summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix10
-rw-r--r--pkgs/applications/audio/abcde/default.nix2
-rw-r--r--pkgs/applications/audio/amarok/default.nix6
-rw-r--r--pkgs/applications/audio/ams-lv2/default.nix27
-rw-r--r--pkgs/applications/audio/ardour/ardour3.nix60
-rw-r--r--pkgs/applications/audio/ardour/default.nix95
-rw-r--r--pkgs/applications/audio/audacious/default.nix10
-rw-r--r--pkgs/applications/audio/audacity/default.nix7
-rw-r--r--pkgs/applications/audio/aumix/default.nix2
-rw-r--r--pkgs/applications/audio/bristol/default.nix8
-rw-r--r--pkgs/applications/audio/calf/default.nix4
-rw-r--r--pkgs/applications/audio/cantata/default.nix104
-rw-r--r--pkgs/applications/audio/caps/default.nix4
-rw-r--r--pkgs/applications/audio/cd-discid/default.nix2
-rw-r--r--pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch14
-rw-r--r--pkgs/applications/audio/clementine/default.nix54
-rw-r--r--pkgs/applications/audio/csound/default.nix6
-rw-r--r--pkgs/applications/audio/distrho/default.nix4
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix8
-rw-r--r--pkgs/applications/audio/ekho/default.nix39
-rw-r--r--pkgs/applications/audio/espeak/default.nix16
-rw-r--r--pkgs/applications/audio/espeak/edit.nix54
-rw-r--r--pkgs/applications/audio/espeak/espeakedit-configurable-path-espeak-data.patch15
-rw-r--r--pkgs/applications/audio/espeak/espeakedit-configurable-sox-path.patch27
-rw-r--r--pkgs/applications/audio/espeak/espeakedit-fix-makefile.patch26
-rw-r--r--pkgs/applications/audio/flac/default.nix9
-rw-r--r--pkgs/applications/audio/fldigi/default.nix24
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix8
-rw-r--r--pkgs/applications/audio/gigedit/default.nix1
-rw-r--r--pkgs/applications/audio/gmpc/default.nix18
-rw-r--r--pkgs/applications/audio/gmu/default.nix2
-rw-r--r--pkgs/applications/audio/gpodder/default.nix45
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix40
-rw-r--r--pkgs/applications/audio/guitarix/default.nix25
-rw-r--r--pkgs/applications/audio/hydrogen/default.nix8
-rw-r--r--pkgs/applications/audio/id3v2/default.nix2
-rw-r--r--pkgs/applications/audio/ingen/default.nix33
-rw-r--r--pkgs/applications/audio/jack-capture/default.nix4
-rw-r--r--pkgs/applications/audio/jack-oscrolloscope/default.nix4
-rw-r--r--pkgs/applications/audio/jack-rack/default.nix4
-rw-r--r--pkgs/applications/audio/jackmeter/default.nix10
-rw-r--r--pkgs/applications/audio/jalv/default.nix9
-rw-r--r--pkgs/applications/audio/ladspa-plugins/ladspah.nix33
-rw-r--r--pkgs/applications/audio/lash/default.nix6
-rw-r--r--pkgs/applications/audio/lastfmsubmitd/default.nix21
-rw-r--r--pkgs/applications/audio/lastwatch/default.nix3
-rw-r--r--pkgs/applications/audio/lingot/default.nix8
-rw-r--r--pkgs/applications/audio/linuxsampler/default.nix4
-rw-r--r--pkgs/applications/audio/lmms/default.nix20
-rw-r--r--pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/mhwaveedit/default.nix8
-rw-r--r--pkgs/applications/audio/mid2key/default.nix1
-rw-r--r--pkgs/applications/audio/mikmod/default.nix2
-rw-r--r--pkgs/applications/audio/milkytracker/decompressor_gzip.patch20
-rw-r--r--pkgs/applications/audio/milkytracker/default.nix44
-rw-r--r--pkgs/applications/audio/minimodem/default.nix29
-rw-r--r--pkgs/applications/audio/mixxx/default.nix2
-rw-r--r--pkgs/applications/audio/moc/default.nix27
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix5
-rw-r--r--pkgs/applications/audio/mopidy-moped/default.nix24
-rw-r--r--pkgs/applications/audio/mopidy-spotify/default.nix24
-rw-r--r--pkgs/applications/audio/mopidy/default.nix29
-rw-r--r--pkgs/applications/audio/mp3info/default.nix2
-rw-r--r--pkgs/applications/audio/mp3splt/default.nix20
-rwxr-xr-xpkgs/applications/audio/mpc/default.nix10
-rw-r--r--pkgs/applications/audio/mpc123/default.nix2
-rw-r--r--pkgs/applications/audio/mpg123/default.nix6
-rw-r--r--pkgs/applications/audio/mpg321/default.nix2
-rwxr-xr-xpkgs/applications/audio/ncmpc/default.nix25
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix8
-rw-r--r--pkgs/applications/audio/opusfile/default.nix17
-rw-r--r--pkgs/applications/audio/pamixer/default.nix38
-rw-r--r--pkgs/applications/audio/pavucontrol/default.nix2
-rw-r--r--pkgs/applications/audio/petrifoo/default.nix4
-rw-r--r--pkgs/applications/audio/pianobooster/default.nix15
-rw-r--r--pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch11
-rw-r--r--pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch44
-rw-r--r--pkgs/applications/audio/praat/default.nix16
-rw-r--r--pkgs/applications/audio/projectm/default.nix51
-rw-r--r--pkgs/applications/audio/puredata/default.nix25
-rw-r--r--pkgs/applications/audio/qjackctl/default.nix9
-rw-r--r--pkgs/applications/audio/qmmp/default.nix7
-rw-r--r--pkgs/applications/audio/qsampler/default.nix1
-rw-r--r--pkgs/applications/audio/qsynth/default.nix9
-rw-r--r--pkgs/applications/audio/qtractor/default.nix8
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix48
-rw-r--r--pkgs/applications/audio/rakarrack/default.nix4
-rw-r--r--pkgs/applications/audio/samplv1/default.nix8
-rw-r--r--pkgs/applications/audio/seq24/default.nix4
-rw-r--r--pkgs/applications/audio/setbfree/default.nix32
-rw-r--r--pkgs/applications/audio/snd/default.nix70
-rw-r--r--pkgs/applications/audio/snd/doc.patch62
-rw-r--r--pkgs/applications/audio/sonic-visualiser/default.nix38
-rw-r--r--pkgs/applications/audio/spotify/default.nix91
-rw-r--r--pkgs/applications/audio/streamripper/default.nix21
-rw-r--r--pkgs/applications/audio/synthv1/default.nix8
-rw-r--r--pkgs/applications/audio/transcode/default.nix25
-rwxr-xr-xpkgs/applications/audio/vimpc/default.nix34
-rw-r--r--pkgs/applications/audio/vmpk/default.nix26
-rw-r--r--pkgs/applications/audio/vorbis-tools/default.nix2
-rw-r--r--pkgs/applications/audio/xmp/default.nix20
-rw-r--r--pkgs/applications/audio/xsynth-dssi/default.nix4
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix16
-rw-r--r--pkgs/applications/audio/zynaddsubfx/default.nix21
-rw-r--r--pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix15
-rw-r--r--pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch18
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix7
-rw-r--r--pkgs/applications/display-managers/lightdm/lightdm.patch143
-rw-r--r--pkgs/applications/display-managers/slim/default.nix12
-rw-r--r--pkgs/applications/display-managers/slim/runtime-paths.patch49
-rw-r--r--pkgs/applications/editors/atom/default.nix68
-rw-r--r--pkgs/applications/editors/bvi/default.nix2
-rw-r--r--pkgs/applications/editors/codeblocks/default.nix39
-rw-r--r--pkgs/applications/editors/codeblocks/writable-projects.patch18
-rw-r--r--pkgs/applications/editors/dhex/default.nix6
-rw-r--r--pkgs/applications/editors/eclipse/default.nix35
-rw-r--r--pkgs/applications/editors/ed/default.nix6
-rw-r--r--pkgs/applications/editors/emacs-23/builder.sh34
-rw-r--r--pkgs/applications/editors/emacs-23/default.nix72
-rw-r--r--pkgs/applications/editors/emacs-24/darwin-new-sections.patch50
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix18
-rw-r--r--pkgs/applications/editors/emacs-24/macport.nix100
-rw-r--r--pkgs/applications/editors/emacs-modes/auto-complete/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/bbdb/3.nix25
-rw-r--r--pkgs/applications/editors/emacs-modes/bbdb/default.nix10
-rw-r--r--pkgs/applications/editors/emacs-modes/calfw/default.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/cedet/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/coffee/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/color-theme/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/cryptol/default.nix26
-rw-r--r--pkgs/applications/editors/emacs-modes/darcsum/darcs_context7
-rw-r--r--pkgs/applications/editors/emacs-modes/darcsum/default.nix34
-rw-r--r--pkgs/applications/editors/emacs-modes/ecb/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix7
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/emms/default.nix5
-rw-r--r--pkgs/applications/editors/emacs-modes/ess/default.nix9
-rw-r--r--pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/gh/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/gist/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/haskell/default.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/hol_light/default.nix19
-rw-r--r--pkgs/applications/editors/emacs-modes/idris/default.nix31
-rw-r--r--pkgs/applications/editors/emacs-modes/jade/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/jdee/default.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/jdee/java-directory.patch6
-rw-r--r--pkgs/applications/editors/emacs-modes/js2/default.nix5
-rw-r--r--pkgs/applications/editors/emacs-modes/logito/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/magit/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/maude/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/metaweblog/default.nix31
-rw-r--r--pkgs/applications/editors/emacs-modes/ocaml/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/offlineimap/default.nix28
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix15
-rw-r--r--pkgs/applications/editors/emacs-modes/org2blog/default.nix17
-rw-r--r--pkgs/applications/editors/emacs-modes/pcache/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix54
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix48
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/default.nix54
-rw-r--r--pkgs/applications/editors/emacs-modes/quack/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/rect-mark/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/remember/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/sbt-mode/default.nix24
-rw-r--r--pkgs/applications/editors/emacs-modes/scala-mode/v1.nix (renamed from pkgs/applications/editors/emacs-modes/scala-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs-modes/scala-mode/v2.nix24
-rw-r--r--pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/tuareg/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/writegood/default.nix30
-rw-r--r--pkgs/applications/editors/emacs-modes/xml-rpc/default.nix2
-rw-r--r--pkgs/applications/editors/flpsed/default.nix8
-rw-r--r--pkgs/applications/editors/geany/default.nix4
-rw-r--r--pkgs/applications/editors/gobby/default.nix2
-rw-r--r--pkgs/applications/editors/hexedit/default.nix4
-rw-r--r--pkgs/applications/editors/idea/default.nix91
-rw-r--r--pkgs/applications/editors/idea/pycharm.nix115
-rw-r--r--pkgs/applications/editors/jedit/default.nix26
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix18
-rw-r--r--pkgs/applications/editors/leksah/default.nix28
-rw-r--r--pkgs/applications/editors/lighttable/default.nix58
-rw-r--r--pkgs/applications/editors/nano/default.nix6
-rw-r--r--pkgs/applications/editors/netbeans/default.nix10
-rw-r--r--pkgs/applications/editors/scite/default.nix35
-rw-r--r--pkgs/applications/editors/sublime/default.nix3
-rw-r--r--pkgs/applications/editors/sublime3/default.nix62
-rw-r--r--pkgs/applications/editors/texmacs/default.nix2
-rw-r--r--pkgs/applications/editors/texmaker/default.nix34
-rw-r--r--pkgs/applications/editors/texstudio/default.nix33
-rw-r--r--pkgs/applications/editors/vim/configurable.nix86
-rw-r--r--pkgs/applications/editors/vim/default.nix28
-rw-r--r--pkgs/applications/editors/vim/ft-nix-support.patch17
-rw-r--r--pkgs/applications/editors/vim/macvim.nix93
-rw-r--r--pkgs/applications/editors/vim/macvim.patch189
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.001489
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.00277
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.003100
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.004232
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.00548
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.00666
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.00795
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.00871
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.00964
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.01079
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.011100
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.012202
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.01399
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.014102
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.015106
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.016221
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.01778
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.01845
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.01961
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.02082
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.02186
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.022148
-rw-r--r--pkgs/applications/editors/vim/patches/7.4.02353
-rw-r--r--pkgs/applications/editors/vim/python_framework.patch23
-rw-r--r--pkgs/applications/editors/vim/qvim.nix126
-rw-r--r--pkgs/applications/editors/yi/yi-contrib.nix19
-rw-r--r--pkgs/applications/editors/yi/yi.nix63
-rw-r--r--pkgs/applications/editors/zed/default.nix103
-rw-r--r--pkgs/applications/editors/zed/node.nix634
-rw-r--r--pkgs/applications/editors/zile/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix19
-rw-r--r--pkgs/applications/graphics/alchemy/default.nix10
-rw-r--r--pkgs/applications/graphics/autopanosiftc/default.nix8
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix4
-rw-r--r--pkgs/applications/graphics/comical/default.nix2
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/dia/default.nix21
-rw-r--r--pkgs/applications/graphics/digikam/default.nix4
-rw-r--r--pkgs/applications/graphics/djview/default.nix2
-rw-r--r--pkgs/applications/graphics/feh/default.nix13
-rw-r--r--pkgs/applications/graphics/freecad/default.nix24
-rw-r--r--pkgs/applications/graphics/gcolor2/default.nix31
-rw-r--r--pkgs/applications/graphics/gcolor2/gcolor2-amd64.patch46
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix17
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix14
-rw-r--r--pkgs/applications/graphics/gimp/default.nix32
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix59
-rw-r--r--pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch200
-rw-r--r--pkgs/applications/graphics/giv/default.nix2
-rw-r--r--pkgs/applications/graphics/gocr/default.nix8
-rw-r--r--pkgs/applications/graphics/grafx2/default.nix28
-rw-r--r--pkgs/applications/graphics/graphicsmagick/1.3.7.nix2
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix8
-rw-r--r--pkgs/applications/graphics/hoodle/default.nix22
-rw-r--r--pkgs/applications/graphics/hugin/default.nix32
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix18
-rw-r--r--pkgs/applications/graphics/inkscape/libpng-1.5.patch47
-rw-r--r--pkgs/applications/graphics/ipe/default.nix2
-rw-r--r--pkgs/applications/graphics/k3d/debian-patches.nix4
-rw-r--r--pkgs/applications/graphics/k3d/default.nix2
-rw-r--r--pkgs/applications/graphics/kipi-plugins/default.nix1
-rw-r--r--pkgs/applications/graphics/luminance-hdr/default.nix26
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix6
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix8
-rw-r--r--pkgs/applications/graphics/meshlab/gcc-4.7.patch38
-rw-r--r--pkgs/applications/graphics/meshlab/qt-4.8.patch54
-rw-r--r--pkgs/applications/graphics/minidjvu/default.nix2
-rw-r--r--pkgs/applications/graphics/mirage/default.nix14
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix16
-rw-r--r--pkgs/applications/graphics/ocrad/default.nix2
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix14
-rw-r--r--pkgs/applications/graphics/openscad/default.nix13
-rw-r--r--pkgs/applications/graphics/panotools/default.nix2
-rw-r--r--pkgs/applications/graphics/pencil/default.nix33
-rw-r--r--pkgs/applications/graphics/photivo/default.nix26
-rw-r--r--pkgs/applications/graphics/pinta/default.nix2
-rw-r--r--pkgs/applications/graphics/potrace/default.nix24
-rw-r--r--pkgs/applications/graphics/qiv/default.nix10
-rw-r--r--pkgs/applications/graphics/qiv/default.upstream3
-rw-r--r--pkgs/applications/graphics/qtpfsgui/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends-git.nix17
-rw-r--r--pkgs/applications/graphics/sane/backends.nix19
-rw-r--r--pkgs/applications/graphics/sane/config.nix27
-rw-r--r--pkgs/applications/graphics/sane/frontends.nix2
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix18
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix62
-rw-r--r--pkgs/applications/graphics/smartdeblur/default.nix32
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix8
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix56
-rw-r--r--pkgs/applications/graphics/synfigstudio/synfig-cstring.patch12
-rw-r--r--pkgs/applications/graphics/tesseract/default.nix5
-rw-r--r--pkgs/applications/graphics/ufraw/default.nix10
-rw-r--r--pkgs/applications/graphics/viewnior/default.nix12
-rw-r--r--pkgs/applications/graphics/xaos/default.nix14
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix8
-rw-r--r--pkgs/applications/ike/default.nix16
-rw-r--r--pkgs/applications/inferno/default.nix64
-rwxr-xr-xpkgs/applications/inferno/inferno31
-rw-r--r--pkgs/applications/misc/abook/default.nix2
-rw-r--r--pkgs/applications/misc/adobe-reader/default.nix6
-rw-r--r--pkgs/applications/misc/arbtt/default.nix24
-rw-r--r--pkgs/applications/misc/audio/sox/default.nix62
-rw-r--r--pkgs/applications/misc/audio/soxr/default.nix2
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix42
-rw-r--r--pkgs/applications/misc/bibletime/default.nix14
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix37
-rw-r--r--pkgs/applications/misc/blender/default.nix65
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/camlistore/default.nix31
-rw-r--r--pkgs/applications/misc/cdrtools/default.nix20
-rw-r--r--pkgs/applications/misc/cgminer/default.nix22
-rw-r--r--pkgs/applications/misc/cura/default.nix71
-rw-r--r--pkgs/applications/misc/curaengine/default.nix22
-rw-r--r--pkgs/applications/misc/d4x/default.nix2
-rw-r--r--pkgs/applications/misc/dmenu/default.nix7
-rw-r--r--pkgs/applications/misc/dunst/default.nix17
-rw-r--r--pkgs/applications/misc/electrum/default.nix32
-rw-r--r--pkgs/applications/misc/epdfview/default.nix2
-rw-r--r--pkgs/applications/misc/evopedia/default.nix2
-rw-r--r--pkgs/applications/misc/evtest/default.nix4
-rw-r--r--pkgs/applications/misc/fbreader/default.nix7
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix6
-rw-r--r--pkgs/applications/misc/finalterm/default.nix60
-rw-r--r--pkgs/applications/misc/freicoin/default.nix6
-rw-r--r--pkgs/applications/misc/galculator/default.nix35
-rw-r--r--pkgs/applications/misc/gammu/bashcomp-dir.patch12
-rw-r--r--pkgs/applications/misc/gammu/default.nix29
-rw-r--r--pkgs/applications/misc/get_iplayer/default.nix8
-rw-r--r--pkgs/applications/misc/girara/default.nix4
-rw-r--r--pkgs/applications/misc/gkrellm/default.nix6
-rw-r--r--pkgs/applications/misc/gksu/default.nix48
-rw-r--r--pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch29
-rw-r--r--pkgs/applications/misc/gnome_terminator/default.nix30
-rw-r--r--pkgs/applications/misc/gnuradio-osmosdr/default.nix35
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix77
-rw-r--r--pkgs/applications/misc/goldendict/default.nix2
-rw-r--r--pkgs/applications/misc/goldendict/gcc47.patch40
-rw-r--r--pkgs/applications/misc/googleearth/default.nix2
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix4
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix2
-rw-r--r--pkgs/applications/misc/gpscorrelate/default.nix2
-rw-r--r--pkgs/applications/misc/gqrx/default.nix39
-rw-r--r--pkgs/applications/misc/grip/default.nix2
-rw-r--r--pkgs/applications/misc/gv/default.nix2
-rw-r--r--pkgs/applications/misc/hello/ex-2/default.nix7
-rw-r--r--pkgs/applications/misc/htmldoc/default.nix2
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix6
-rw-r--r--pkgs/applications/misc/jigdo/default.nix12
-rw-r--r--pkgs/applications/misc/kde-wacomtablet/default.nix10
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix36
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/keepassx/2.0.nix19
-rw-r--r--pkgs/applications/misc/keepassx/default.nix2
-rw-r--r--pkgs/applications/misc/keepassx/random.patch13
-rw-r--r--pkgs/applications/misc/krename/default.nix4
-rw-r--r--pkgs/applications/misc/krusader/default.nix1
-rw-r--r--pkgs/applications/misc/librecad/2.0.nix16
-rw-r--r--pkgs/applications/misc/librecad/default.nix12
-rw-r--r--pkgs/applications/misc/llpp/default.nix75
-rw-r--r--pkgs/applications/misc/lxappearance/default.nix17
-rw-r--r--pkgs/applications/misc/lyx/default.nix33
-rw-r--r--pkgs/applications/misc/makeself/default.nix20
-rw-r--r--pkgs/applications/misc/merkaartor/default.nix12
-rw-r--r--pkgs/applications/misc/mupdf/default.nix45
-rw-r--r--pkgs/applications/misc/mupdf/default.upstream7
-rw-r--r--pkgs/applications/misc/navipowm/default.nix2
-rw-r--r--pkgs/applications/misc/navit/default.nix2
-rw-r--r--pkgs/applications/misc/nc-indicators/default.nix18
-rw-r--r--pkgs/applications/misc/nut/default.nix20
-rw-r--r--pkgs/applications/misc/ocropus/default.nix69
-rw-r--r--pkgs/applications/misc/ocropus/display.patch17
-rw-r--r--pkgs/applications/misc/openjump/default.nix2
-rw-r--r--pkgs/applications/misc/pcmanfm/default.nix19
-rw-r--r--pkgs/applications/misc/pgadmin/default.nix6
-rw-r--r--pkgs/applications/misc/pitz/default.nix5
-rw-r--r--pkgs/applications/misc/posterazor/default.nix34
-rw-r--r--pkgs/applications/misc/printrun/default.nix36
-rw-r--r--pkgs/applications/misc/pstree/default.nix1
-rw-r--r--pkgs/applications/misc/qgis/default.nix2
-rw-r--r--pkgs/applications/misc/qtbitcointrader/default.nix33
-rw-r--r--pkgs/applications/misc/ranger/default.nix22
-rw-r--r--pkgs/applications/misc/redshift/default.nix6
-rw-r--r--pkgs/applications/misc/robomongo/default.nix25
-rw-r--r--pkgs/applications/misc/robomongo/robomongo.patch48
-rw-r--r--pkgs/applications/misc/rtl-sdr/default.nix30
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix24
-rw-r--r--pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch255
-rw-r--r--pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch21
-rw-r--r--pkgs/applications/misc/sakura/default.nix2
-rw-r--r--pkgs/applications/misc/slic3r/default.nix33
-rw-r--r--pkgs/applications/misc/spacefm/default.nix30
-rw-r--r--pkgs/applications/misc/st/default.nix10
-rw-r--r--pkgs/applications/misc/stardict/stardict.nix3
-rw-r--r--pkgs/applications/misc/surf/default.nix9
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix66
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix90
-rw-r--r--pkgs/applications/misc/synergy/cryptopp.patch51
-rw-r--r--pkgs/applications/misc/synergy/default.nix22
-rw-r--r--pkgs/applications/misc/taffybar/default.nix27
-rw-r--r--pkgs/applications/misc/tangogps/default.nix2
-rw-r--r--pkgs/applications/misc/taskjuggler/default.nix2
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix8
-rw-r--r--pkgs/applications/misc/terminator/default.nix40
-rw-r--r--pkgs/applications/misc/tint2/default.nix32
-rw-r--r--pkgs/applications/misc/twmn/default.nix29
-rw-r--r--pkgs/applications/misc/vanitygen/default.nix4
-rw-r--r--pkgs/applications/misc/vifm/default.nix7
-rw-r--r--pkgs/applications/misc/viking/default.nix2
-rw-r--r--pkgs/applications/misc/vue/default.nix9
-rw-r--r--pkgs/applications/misc/wmname/default.nix2
-rw-r--r--pkgs/applications/misc/xca/default.nix9
-rw-r--r--pkgs/applications/misc/xchm/default.nix6
-rw-r--r--pkgs/applications/misc/xcruiser/default.nix30
-rw-r--r--pkgs/applications/misc/xfe/default.nix4
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix8
-rw-r--r--pkgs/applications/misc/xlsfonts/default.nix8
-rw-r--r--pkgs/applications/misc/xmobar/add-freeration-variable.patch58
-rw-r--r--pkgs/applications/misc/xmobar/default.nix25
-rw-r--r--pkgs/applications/misc/xneur/default.nix2
-rw-r--r--pkgs/applications/misc/xterm/default.nix6
-rw-r--r--pkgs/applications/misc/yeganesh/default.nix2
-rw-r--r--pkgs/applications/misc/ykpers/default.nix23
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix24
-rw-r--r--pkgs/applications/misc/zathura/default.nix29
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/config.patch17
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix29
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix12
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix4
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix45
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix42
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix220
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix304
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix78
-rw-r--r--pkgs/applications/networking/browsers/chromium/sandbox.nix9
-rw-r--r--pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch293
-rw-r--r--pkgs/applications/networking/browsers/chromium/sandbox_userns_31.patch297
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/default.nix77
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch274
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sources.nix21
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/update.nix122
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh78
-rw-r--r--pkgs/applications/networking/browsers/conkeror/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/dillo/default.nix31
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix30
-rw-r--r--pkgs/applications/networking/browsers/elinks/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix339
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb217
-rw-r--r--pkgs/applications/networking/browsers/firefox/3.6.nix155
-rw-r--r--pkgs/applications/networking/browsers/firefox/30.nix211
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix223
-rw-r--r--pkgs/applications/networking/browsers/firefox/disable-reporter.patch20
-rw-r--r--pkgs/applications/networking/browsers/firefox/gcc-4.6.patch13
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch26
-rw-r--r--pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch207
-rw-r--r--pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch764
-rw-r--r--pkgs/applications/networking/browsers/icecat-3/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/kwebkitpart/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/links2/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/lynx/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix75
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/netsurf/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/haru.nix1
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libCSS.nix2
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libParserUtils.nix3
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsbmp.nix3
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix3
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix2
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix2
-rw-r--r--pkgs/applications/networking/browsers/rekonq/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/uzbl/default.nix68
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix42
-rw-r--r--pkgs/applications/networking/browsers/vimprobable2/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/mesos/darwin.patch80
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix107
-rw-r--r--pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh1242
-rw-r--r--pkgs/applications/networking/cluster/mesos/mesos-deps.nix18
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix128
-rw-r--r--pkgs/applications/networking/davmail/default.nix25
-rw-r--r--pkgs/applications/networking/dropbox-cli/default.nix39
-rw-r--r--pkgs/applications/networking/dropbox/default.nix24
-rw-r--r--pkgs/applications/networking/esniper/default.nix20
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/default.nix11
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/dev.nix46
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix17
-rw-r--r--pkgs/applications/networking/ids/daq/default.nix2
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/amsn/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/centerim/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch11
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/boost.patch31
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix88
-rw-r--r--pkgs/applications/networking/instant-messengers/fuze/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/gtmess/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix111
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix46
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch27
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/cmake.patch13
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/sflphone/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/silc-client/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix61
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix99
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram-cli/default.nix32
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix22
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/tkabber/default.nix65
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix29
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/boost_regex.patch17
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix35
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/libgsm.patch70
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/localetime_r_conflict.diff13
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/newer-libccrtp.diff22
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/vacuum/default.nix4
-rw-r--r--pkgs/applications/networking/iptraf/default.nix2
-rw-r--r--pkgs/applications/networking/irc/bip/bip-0.8.8-yyparse.patch11
-rw-r--r--pkgs/applications/networking/irc/bip/default.nix13
-rw-r--r--pkgs/applications/networking/irc/chatzilla/default.nix12
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix32
-rw-r--r--pkgs/applications/networking/irc/ii/default.nix6
-rw-r--r--pkgs/applications/networking/irc/irssi/fish/default.nix4
-rw-r--r--pkgs/applications/networking/irc/irssi/otr/default.nix8
-rw-r--r--pkgs/applications/networking/irc/konversation/default.nix5
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix27
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix24
-rw-r--r--pkgs/applications/networking/irc/weechat/devel.nix41
-rw-r--r--pkgs/applications/networking/jmeter/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix22
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix21
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/mailpath.patch12
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/sup/default.nix37
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix267
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb210
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix102
-rw-r--r--pkgs/applications/networking/msmtp/default.nix4
-rw-r--r--pkgs/applications/networking/mumble/default.nix57
-rw-r--r--pkgs/applications/networking/mumble/murmur.nix46
-rw-r--r--pkgs/applications/networking/newsreaders/kwooty/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix51
-rw-r--r--pkgs/applications/networking/newsreaders/slrn/default.nix31
-rw-r--r--pkgs/applications/networking/notbit/default.nix24
-rw-r--r--pkgs/applications/networking/p2p/eiskaltdcpp/default.nix35
-rw-r--r--pkgs/applications/networking/p2p/freenet/default.nix14
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix19
-rw-r--r--pkgs/applications/networking/p2p/gnunet/svn.nix2
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/ldcpp/default.nix1
-rw-r--r--pkgs/applications/networking/p2p/mldonkey/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/ncdc/default.nix23
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix25
-rw-r--r--pkgs/applications/networking/p2p/retroshare/0.6.nix58
-rw-r--r--pkgs/applications/networking/p2p/retroshare/default.nix64
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix14
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix62
-rw-r--r--pkgs/applications/networking/pjsip/default.nix2
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix2
-rw-r--r--pkgs/applications/networking/remote/freerdp/unstable.nix4
-rw-r--r--pkgs/applications/networking/remote/rdesktop/default.nix10
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix28
-rw-r--r--pkgs/applications/networking/remote/remmina/lgthread.patch16
-rw-r--r--pkgs/applications/networking/remote/ssvnc/default.nix11
-rw-r--r--pkgs/applications/networking/remote/teamviewer/8.nix28
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix13
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix39
-rw-r--r--pkgs/applications/networking/sniffers/etherape/default.nix6
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix33
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch62
-rw-r--r--pkgs/applications/networking/spideroak/default.nix62
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix22
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix8
-rw-r--r--pkgs/applications/networking/syncthing/default.nix45
-rw-r--r--pkgs/applications/networking/vnstat/default.nix2
-rw-r--r--pkgs/applications/networking/yafc/default.nix12
-rw-r--r--pkgs/applications/networking/znc/default.nix15
-rw-r--r--pkgs/applications/networking/znc/modules.nix4
-rw-r--r--pkgs/applications/office/abiword/default.nix7
-rw-r--r--pkgs/applications/office/calligra/default.nix4
-rw-r--r--pkgs/applications/office/eventlist/default.nix2
-rw-r--r--pkgs/applications/office/gnucash/default.nix26
-rw-r--r--pkgs/applications/office/gnumeric/default.nix30
-rw-r--r--pkgs/applications/office/hledger-interest/default.nix7
-rw-r--r--pkgs/applications/office/hledger-irr/default.nix8
-rw-r--r--pkgs/applications/office/homebank/default.nix6
-rw-r--r--pkgs/applications/office/impressive/default.nix6
-rw-r--r--pkgs/applications/office/keepnote/default.nix8
-rw-r--r--pkgs/applications/office/kmymoney/default.nix14
-rw-r--r--pkgs/applications/office/kmymoney/qt-4.8.patch32
-rw-r--r--pkgs/applications/office/ledger/2.6.3.nix2
-rw-r--r--pkgs/applications/office/ledger/3.0.nix20
-rw-r--r--pkgs/applications/office/libreoffice/default.nix141
-rwxr-xr-xpkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh38
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix505
-rw-r--r--pkgs/applications/office/mmex/default.nix2
-rw-r--r--pkgs/applications/office/scribus/default.nix6
-rw-r--r--pkgs/applications/office/todo.txt-cli/default.nix28
-rw-r--r--pkgs/applications/office/zotero/default.nix44
-rw-r--r--pkgs/applications/office/zotero/zotero.sh3
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix11
-rw-r--r--pkgs/applications/science/astronomy/xplanet/default.nix6
-rw-r--r--pkgs/applications/science/astronomy/xplanet/giflib.patch130
-rw-r--r--pkgs/applications/science/biology/arb/default.nix1
-rw-r--r--pkgs/applications/science/biology/plink/default.nix3
-rw-r--r--pkgs/applications/science/chemistry/avogadro/default.nix8
-rw-r--r--pkgs/applications/science/electronics/archimedes/default.nix6
-rw-r--r--pkgs/applications/science/electronics/caneda/default.nix2
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix6
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix24
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix6
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix24
-rw-r--r--pkgs/applications/science/electronics/qfsm/default.nix3
-rw-r--r--pkgs/applications/science/electronics/qucs/default.nix2
-rw-r--r--pkgs/applications/science/electronics/tkgate/1.x.nix18
-rw-r--r--pkgs/applications/science/electronics/tkgate/2.x.nix17
-rw-r--r--pkgs/applications/science/electronics/verilog/default.nix7
-rw-r--r--pkgs/applications/science/electronics/xoscope/default.nix2
-rw-r--r--pkgs/applications/science/geometry/tetgen/default.nix8
-rw-r--r--pkgs/applications/science/logic/abc/default.nix27
-rw-r--r--pkgs/applications/science/logic/alt-ergo/default.nix23
-rw-r--r--pkgs/applications/science/logic/boolector/default.nix47
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix57
-rw-r--r--pkgs/applications/science/logic/coq/default.nix8
-rw-r--r--pkgs/applications/science/logic/cvc3/default.nix4
-rw-r--r--pkgs/applications/science/logic/ekrhyper/default.nix8
-rw-r--r--pkgs/applications/science/logic/hol/default.nix4
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix28
-rw-r--r--pkgs/applications/science/logic/iprover/default.nix12
-rw-r--r--pkgs/applications/science/logic/leo2/default.nix22
-rw-r--r--pkgs/applications/science/logic/leo2/default.upstream6
-rw-r--r--pkgs/applications/science/logic/logisim/default.nix2
-rw-r--r--pkgs/applications/science/logic/ltl2ba/default.nix24
-rw-r--r--pkgs/applications/science/logic/matita/130312.nix2
-rw-r--r--pkgs/applications/science/logic/matita/default.nix2
-rw-r--r--pkgs/applications/science/logic/minisat/default.nix11
-rw-r--r--pkgs/applications/science/logic/opensmt/default.nix20
-rw-r--r--pkgs/applications/science/logic/picosat/default.nix2
-rw-r--r--pkgs/applications/science/logic/prooftree/default.nix40
-rw-r--r--pkgs/applications/science/logic/ssreflect/default.nix6
-rw-r--r--pkgs/applications/science/logic/stp/default.nix23
-rw-r--r--pkgs/applications/science/logic/stp/fixbuild.diff45
-rw-r--r--pkgs/applications/science/logic/stp/fixrefs.diff192
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix15
-rw-r--r--pkgs/applications/science/logic/twelf/default.nix46
-rw-r--r--pkgs/applications/science/logic/verifast/default.nix43
-rw-r--r--pkgs/applications/science/logic/why3/default.nix22
-rw-r--r--pkgs/applications/science/logic/yices/default.nix40
-rw-r--r--pkgs/applications/science/logic/z3/default.nix46
-rw-r--r--pkgs/applications/science/math/R/default.nix9
-rw-r--r--pkgs/applications/science/math/content/default.nix1
-rw-r--r--pkgs/applications/science/math/eukleides/default.nix2
-rw-r--r--pkgs/applications/science/math/fricas/default.nix23
-rw-r--r--pkgs/applications/science/math/gap/default.nix22
-rw-r--r--pkgs/applications/science/math/glsurf/default.nix2
-rw-r--r--pkgs/applications/science/math/jags/default.nix4
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix6
-rw-r--r--pkgs/applications/science/math/maxima/default.nix6
-rw-r--r--pkgs/applications/science/math/pari/default.nix4
-rw-r--r--pkgs/applications/science/math/pssp/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/default.nix31
-rw-r--r--pkgs/applications/science/math/singular/default.nix13
-rw-r--r--pkgs/applications/science/math/sloane/default.nix28
-rw-r--r--pkgs/applications/science/math/weka/default.nix2
-rw-r--r--pkgs/applications/science/math/wxmaxima/default.nix2
-rw-r--r--pkgs/applications/science/math/yacas/default.nix2
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix8
-rw-r--r--pkgs/applications/science/misc/fityk/default.nix23
-rw-r--r--pkgs/applications/science/misc/golly/default.nix14
-rw-r--r--pkgs/applications/science/misc/megam/default.nix46
-rw-r--r--pkgs/applications/science/misc/megam/ocaml-3.12.patch12
-rw-r--r--pkgs/applications/science/misc/megam/ocaml-includes.patch21
-rw-r--r--pkgs/applications/science/misc/root/cmake.patch11
-rw-r--r--pkgs/applications/science/misc/root/default.nix27
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix37
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix2
-rw-r--r--pkgs/applications/science/misc/vite/default.nix2
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix6
-rw-r--r--pkgs/applications/science/spyder/default.nix6
-rw-r--r--pkgs/applications/search/doodle/default.nix2
-rw-r--r--pkgs/applications/taxes/aangifte-2005/builder.sh17
-rw-r--r--pkgs/applications/taxes/aangifte-2005/default.nix13
-rw-r--r--pkgs/applications/taxes/aangifte-2006/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2007/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2008/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2009/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2010/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2011/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2012/default.nix3
-rw-r--r--pkgs/applications/taxes/aangifte-2013/default.nix41
-rw-r--r--pkgs/applications/version-management/arch/default.nix2
-rw-r--r--pkgs/applications/version-management/bazaar/add_certificates.patch11
-rw-r--r--pkgs/applications/version-management/bazaar/default.nix20
-rw-r--r--pkgs/applications/version-management/bazaar/tools.nix4
-rw-r--r--pkgs/applications/version-management/codeville/0.8.0.nix2
-rw-r--r--pkgs/applications/version-management/cvsps/default.nix2
-rw-r--r--pkgs/applications/version-management/darcs/default.nix3
-rw-r--r--pkgs/applications/version-management/fossil/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix33
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix68
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-bz/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix35
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/cert-path.patch12
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix30
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitflow/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix13
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/qgit/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/stgit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git/default.nix28
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix24
-rw-r--r--pkgs/applications/version-management/git-and-tools/topgit/default.nix2
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix23
-rw-r--r--pkgs/applications/version-management/gitolite/default.nix35
-rw-r--r--pkgs/applications/version-management/gource/default.nix26
-rw-r--r--pkgs/applications/version-management/kdesvn/default.nix17
-rw-r--r--pkgs/applications/version-management/kdesvn/docbook.patch13
-rw-r--r--pkgs/applications/version-management/kdesvn/virtual_inheritance.patch11
-rw-r--r--pkgs/applications/version-management/meld/default.nix8
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix11
-rw-r--r--pkgs/applications/version-management/monotone/default.nix13
-rw-r--r--pkgs/applications/version-management/monotone/default.upstream8
-rw-r--r--pkgs/applications/version-management/monotone/glibc-file-handle.patch166
-rw-r--r--pkgs/applications/version-management/mr/default.nix8
-rw-r--r--pkgs/applications/version-management/rapidsvn/default.nix2
-rw-r--r--pkgs/applications/version-management/rcs/default.nix12
-rw-r--r--pkgs/applications/version-management/subversion/default.nix26
-rw-r--r--pkgs/applications/version-management/tailor/default.nix5
-rw-r--r--pkgs/applications/version-management/tkcvs/default.nix2
-rw-r--r--pkgs/applications/version-management/vcprompt/default.nix28
-rw-r--r--pkgs/applications/version-management/vcsh/default.nix28
-rw-r--r--pkgs/applications/version-management/veracity/default.nix1
-rw-r--r--pkgs/applications/video/aegisub/default.nix67
-rw-r--r--pkgs/applications/video/avidemux/default.nix15
-rw-r--r--pkgs/applications/video/avxsynth/default.nix2
-rw-r--r--pkgs/applications/video/bangarang/default.nix4
-rw-r--r--pkgs/applications/video/bangarang/gcc-4.7.patch45
-rw-r--r--pkgs/applications/video/cc1394/default.nix1
-rw-r--r--pkgs/applications/video/cinelerra/default.nix4
-rw-r--r--pkgs/applications/video/coriander/default.nix2
-rw-r--r--pkgs/applications/video/dvb-apps/default.nix2
-rw-r--r--pkgs/applications/video/dvswitch/default.nix29
-rw-r--r--pkgs/applications/video/gnash/default.nix20
-rw-r--r--pkgs/applications/video/handbrake/default.nix100
-rw-r--r--pkgs/applications/video/handbrake/disable-unfree.patch101
-rw-r--r--pkgs/applications/video/kazam/bug_1190693.patch14
-rw-r--r--pkgs/applications/video/kazam/datadir.patch11
-rw-r--r--pkgs/applications/video/kazam/default.nix51
-rw-r--r--pkgs/applications/video/kdenlive/default.nix30
-rw-r--r--pkgs/applications/video/key-mon/default.nix4
-rw-r--r--pkgs/applications/video/kino/default.nix2
-rw-r--r--pkgs/applications/video/lxdvdrip/default.nix8
-rw-r--r--pkgs/applications/video/makemkv/builder.sh6
-rw-r--r--pkgs/applications/video/makemkv/default.nix2
-rw-r--r--pkgs/applications/video/miro/default.nix25
-rw-r--r--pkgs/applications/video/miro/youtube-feeds.patch15
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix19
-rw-r--r--pkgs/applications/video/mplayer2/default.nix16
-rw-r--r--pkgs/applications/video/mpv/default.nix132
-rw-r--r--pkgs/applications/video/ogmtools/default.nix2
-rw-r--r--pkgs/applications/video/omxplayer/default.nix4
-rw-r--r--pkgs/applications/video/pitivi/default.nix56
-rw-r--r--pkgs/applications/video/quvi/library.nix10
-rw-r--r--pkgs/applications/video/quvi/scripts.nix6
-rw-r--r--pkgs/applications/video/quvi/tool.nix20
-rw-r--r--pkgs/applications/video/shotcut/default.nix38
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix26
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix45
-rw-r--r--pkgs/applications/video/tvtime/default.nix1
-rw-r--r--pkgs/applications/video/vlc/default.nix19
-rw-r--r--pkgs/applications/video/xawtv/default.nix32
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch22
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch21
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch44
-rw-r--r--pkgs/applications/video/xbmc/default.nix42
-rw-r--r--pkgs/applications/video/xvidcap/default.nix2
-rw-r--r--pkgs/applications/virtualization/8086tiny/builder.sh28
-rw-r--r--pkgs/applications/virtualization/8086tiny/default.nix40
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix2
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix63
-rw-r--r--pkgs/applications/virtualization/docker/default.nix44
-rw-r--r--pkgs/applications/virtualization/nova/client.nix1
-rw-r--r--pkgs/applications/virtualization/nova/default.nix15
-rw-r--r--pkgs/applications/virtualization/qemu/cve-2014-0150.patch14
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix24
-rw-r--r--pkgs/applications/virtualization/qemu/linux-img/default.nix22
-rw-r--r--pkgs/applications/virtualization/virt-manager/custom_runner.py13
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix106
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix56
-rw-r--r--pkgs/applications/virtualization/virtinst/default.nix6
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix20
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix10
-rw-r--r--pkgs/applications/virtualization/xen/default.nix3
-rw-r--r--pkgs/applications/window-managers/awesome/3.4.nix50
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix98
-rw-r--r--pkgs/applications/window-managers/bar/default.nix25
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix29
-rw-r--r--pkgs/applications/window-managers/compiz/default.nix8
-rw-r--r--pkgs/applications/window-managers/compton/default.nix31
-rw-r--r--pkgs/applications/window-managers/dwm/confnotify-6.0.patch36
-rw-r--r--pkgs/applications/window-managers/dwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/dzen2/default.nix36
-rw-r--r--pkgs/applications/window-managers/fvwm/default.nix3
-rw-r--r--pkgs/applications/window-managers/herbstluftwm/default.nix8
-rw-r--r--pkgs/applications/window-managers/i3/default.nix24
-rw-r--r--pkgs/applications/window-managers/i3/lock.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status.nix4
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix8
-rw-r--r--pkgs/applications/window-managers/matchbox/default.nix2
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix17
-rw-r--r--pkgs/applications/window-managers/ratpoison/default.nix12
-rw-r--r--pkgs/applications/window-managers/ratpoison/glibc-fix.patch22
-rw-r--r--pkgs/applications/window-managers/stalonetray/default.nix4
-rw-r--r--pkgs/applications/window-managers/sxhkd/default.nix27
-rw-r--r--pkgs/applications/window-managers/tabbed/default.nix2
-rw-r--r--pkgs/applications/window-managers/trayer/default.nix27
-rw-r--r--pkgs/applications/window-managers/weston/default.nix24
-rw-r--r--pkgs/applications/window-managers/windowmaker/default.nix4
-rw-r--r--pkgs/applications/window-managers/xmonad/default.nix9
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-contrib.nix11
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-extras.nix7
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch44
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/default.nix26
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/init.sh.in4
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/load.sh.in2
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/mount.sh.in2
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/umount.sh.in4
-rw-r--r--pkgs/build-support/build-pecl.nix23
-rw-r--r--pkgs/build-support/buildenv/default.nix4
-rw-r--r--pkgs/build-support/builder-defs/builder-defs.nix10
-rw-r--r--pkgs/build-support/cabal/default.nix88
-rw-r--r--pkgs/build-support/clang-wrapper/add-flags2
-rw-r--r--pkgs/build-support/clang-wrapper/builder.sh6
-rw-r--r--pkgs/build-support/clang-wrapper/clang-wrapper.sh13
-rw-r--r--pkgs/build-support/clang-wrapper/default.nix23
-rw-r--r--pkgs/build-support/clang-wrapper/ld-wrapper.sh161
-rw-r--r--pkgs/build-support/clang-wrapper/setup-hook.sh5
-rw-r--r--pkgs/build-support/clang-wrapper/utils.sh24
-rw-r--r--pkgs/build-support/fetchbower/default.nix9
-rw-r--r--pkgs/build-support/fetchbzr/builder.sh4
-rw-r--r--pkgs/build-support/fetchbzr/default.nix4
-rwxr-xr-xpkgs/build-support/fetchbzr/nix-prefetch-bzr2
-rw-r--r--pkgs/build-support/fetchdarcs/builder.sh6
-rw-r--r--pkgs/build-support/fetchdarcs/default.nix4
-rw-r--r--pkgs/build-support/fetchgit/builder.sh4
-rw-r--r--pkgs/build-support/fetchgit/default.nix8
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git29
-rw-r--r--pkgs/build-support/fetchgit/private.nix19
-rw-r--r--pkgs/build-support/fetchhg/builder.sh8
-rw-r--r--pkgs/build-support/fetchhg/default.nix4
-rwxr-xr-xpkgs/build-support/fetchhg/nix-prefetch-hg1
-rw-r--r--pkgs/build-support/fetchpatch/default.nix22
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh4
-rw-r--r--pkgs/build-support/fetchsvn/default.nix2
-rwxr-xr-xpkgs/build-support/fetchsvn/nix-prefetch-svn1
-rw-r--r--pkgs/build-support/fetchurl/builder.sh8
-rw-r--r--pkgs/build-support/fetchurl/default.nix18
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix28
-rw-r--r--pkgs/build-support/fetchzip/default.nix44
-rwxr-xr-xpkgs/build-support/fetchzip/nix-prefetch-zip153
-rw-r--r--pkgs/build-support/gcc-cross-wrapper/builder.sh6
-rw-r--r--pkgs/build-support/gcc-cross-wrapper/default.nix1
-rw-r--r--pkgs/build-support/gcc-cross-wrapper/setup-hook.sh3
-rw-r--r--pkgs/build-support/gcc-wrapper/builder.sh23
-rw-r--r--pkgs/build-support/gcc-wrapper/default.nix11
-rw-r--r--pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh40
-rw-r--r--pkgs/build-support/gcc-wrapper/ld-wrapper.sh6
-rw-r--r--pkgs/build-support/gcc-wrapper/setup-hook.sh2
-rw-r--r--pkgs/build-support/grsecurity/default.nix152
-rw-r--r--pkgs/build-support/grsecurity/flavors.nix26
-rw-r--r--pkgs/build-support/kdewrapper/default.nix4
-rw-r--r--pkgs/build-support/kernel/cpio-clean.pl17
-rw-r--r--pkgs/build-support/kernel/make-initrd.nix5
-rw-r--r--pkgs/build-support/kernel/make-initrd.sh2
-rw-r--r--pkgs/build-support/kernel/paths-from-graph.pl18
-rw-r--r--pkgs/build-support/libredirect/default.nix14
-rw-r--r--pkgs/build-support/libredirect/libredirect.c104
-rw-r--r--pkgs/build-support/make-startupitem/default.nix2
-rw-r--r--pkgs/build-support/release/ant-build.nix21
-rw-r--r--pkgs/build-support/release/debian-build.nix10
-rw-r--r--pkgs/build-support/release/default.nix16
-rw-r--r--pkgs/build-support/release/functions.sh25
-rw-r--r--pkgs/build-support/release/gcov-report.nix49
-rw-r--r--pkgs/build-support/release/maven-build.nix4
-rw-r--r--pkgs/build-support/release/nix-build.nix86
-rw-r--r--pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh31
-rw-r--r--pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh35
-rw-r--r--pkgs/build-support/setup-hooks/keep-build-tree.sh6
-rw-r--r--pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh18
-rw-r--r--pkgs/build-support/setup-hooks/scatter_output.sh56
-rw-r--r--pkgs/build-support/setup-hooks/set-java-classpath.sh13
-rw-r--r--pkgs/build-support/trivial-builders.nix1
-rw-r--r--pkgs/build-support/upstream-updater/update-walker-service-specific.sh2
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh59
-rwxr-xr-xpkgs/build-support/upstream-updater/urls-from-page.sh2
-rw-r--r--pkgs/build-support/vm/default.nix206
-rw-r--r--pkgs/build-support/vm/windows/bootstrap.nix83
-rw-r--r--pkgs/build-support/vm/windows/controller/default.nix264
-rw-r--r--pkgs/build-support/vm/windows/cygwin-iso/default.nix56
-rw-r--r--pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py78
-rw-r--r--pkgs/build-support/vm/windows/default.nix49
-rw-r--r--pkgs/build-support/vm/windows/install/default.nix74
-rw-r--r--pkgs/build-support/vm/windows/install/unattended-image.nix123
-rw-r--r--pkgs/data/documentation/man-pages-posix/default.nix6
-rw-r--r--pkgs/data/documentation/man-pages/default.nix5
-rw-r--r--pkgs/data/documentation/pthread-man-pages/default.nix1
-rw-r--r--pkgs/data/fonts/andagii/default.nix4
-rw-r--r--pkgs/data/fonts/anonymous-pro/default.nix16
-rw-r--r--pkgs/data/fonts/anonymous-pro/default.upstream6
-rw-r--r--pkgs/data/fonts/aurulent-sans/default.nix23
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/dejavu-fonts/default.nix8
-rw-r--r--pkgs/data/fonts/eb-garamond/default.nix50
-rw-r--r--pkgs/data/fonts/fontWrap/default.nix1
-rw-r--r--pkgs/data/fonts/freefont-ttf/default.nix2
-rw-r--r--pkgs/data/fonts/ipafont/default.nix33
-rw-r--r--pkgs/data/fonts/kochi-substitute-naga10/default.nix34
-rw-r--r--pkgs/data/fonts/kochi-substitute/default.nix43
-rw-r--r--pkgs/data/fonts/lmodern/default.nix6
-rw-r--r--pkgs/data/fonts/lohit-fonts/default.nix22
-rw-r--r--pkgs/data/fonts/nafees/default.nix59
-rw-r--r--pkgs/data/fonts/opensans-ttf/default.nix34
-rw-r--r--pkgs/data/fonts/poly/default.nix47
-rw-r--r--pkgs/data/fonts/source-code-pro/default.nix42
-rw-r--r--pkgs/data/fonts/source-han-sans/base.nix26
-rw-r--r--pkgs/data/fonts/source-han-sans/japanese.nix6
-rw-r--r--pkgs/data/fonts/source-han-sans/korean.nix6
-rw-r--r--pkgs/data/fonts/source-han-sans/simplified-chinese.nix6
-rw-r--r--pkgs/data/fonts/source-han-sans/traditional-chinese.nix6
-rw-r--r--pkgs/data/fonts/source-sans-pro/default.nix26
-rw-r--r--pkgs/data/fonts/source-serif-pro/default.nix27
-rw-r--r--pkgs/data/fonts/symbola/default.nix40
-rw-r--r--pkgs/data/fonts/terminus-font/default.nix27
-rw-r--r--pkgs/data/fonts/wqy-microhei/default.nix21
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix15
-rw-r--r--pkgs/data/icons/hicolor-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/cacert/default.nix4
-rw-r--r--pkgs/data/misc/freepats/default.nix2
-rw-r--r--pkgs/data/misc/miscfiles/default.nix2
-rw-r--r--pkgs/data/misc/shared-mime-info/default.nix4
-rw-r--r--pkgs/data/misc/tzdata/default.nix15
-rw-r--r--pkgs/data/misc/xkeyboard-config/default.nix25
-rw-r--r--pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl95
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix4
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/automount-plugin.patch448
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center.nix41
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop.nix42
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session.nix49
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix53
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-translations.nix28
-rw-r--r--pkgs/desktops/cinnamon/cjs.nix42
-rw-r--r--pkgs/desktops/cinnamon/dpms.patch30
-rw-r--r--pkgs/desktops/cinnamon/gtkdoc.patch41
-rw-r--r--pkgs/desktops/cinnamon/keyboard.patch4729
-rw-r--r--pkgs/desktops/cinnamon/muffin.nix47
-rw-r--r--pkgs/desktops/cinnamon/region.patch5314
-rw-r--r--pkgs/desktops/cinnamon/remove-sessionmigration.patch19
-rw-r--r--pkgs/desktops/cinnamon/systemd-support.patch536
-rw-r--r--pkgs/desktops/cinnamon/timeout.patch26
-rw-r--r--pkgs/desktops/e17/terminology/default.nix6
-rw-r--r--pkgs/desktops/e18/default.nix16
-rw-r--r--pkgs/desktops/e18/econnman.nix23
-rw-r--r--pkgs/desktops/e18/efl.nix23
-rw-r--r--pkgs/desktops/e18/elementary.nix20
-rw-r--r--pkgs/desktops/e18/emotion.nix20
-rw-r--r--pkgs/desktops/e18/enlightenment.nix35
-rw-r--r--pkgs/desktops/e18/evas.nix17
-rw-r--r--pkgs/desktops/e18/terminology.nix23
-rw-r--r--pkgs/desktops/gnome-2/default.nix25
-rw-r--r--pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix7
-rw-r--r--pkgs/desktops/gnome-2/desktop/gvfs/default.nix21
-rw-r--r--pkgs/desktops/gnome-2/desktop/nautilus/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch40
-rw-r--r--pkgs/desktops/gnome-2/platform/ORBit2/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/gconfmm/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-common/default.nix11
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglext/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/libIDL/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonobo/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonoboui/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/default.nix9
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeui/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libunique/default.nix14
-rw-r--r--pkgs/desktops/gnome-2/platform/startup-notification/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/glade/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix44
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/baobab/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/caribou/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/dconf/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/empathy/default.nix56
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/eog/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/evince/default.nix70
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/folks/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gconf/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gcr/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gdm/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gjs/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix51
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch11
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix62
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch17
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh10
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch147
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix52
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/grilo/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgee/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/mutter/default.nix33
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/rest/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/sushi/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/totem/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/tracker/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/vino/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/vte/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/yelp/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/zenity/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/default.nix195
-rw-r--r--pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch22
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch (renamed from pkgs/development/libraries/goffice/pcre_info.patch)0
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix50
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix39
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/glade/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix47
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix57
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix54
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/baobab/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/caribou/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/dconf/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/empathy/default.nix55
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/eog/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix53
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/epiphany/libxml_missing_dep.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evince/default.nix70
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix33
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/folks/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gconf/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gcr/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch17
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch15
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gjs/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-common/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-contacts/configure_dbus_glib.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix51
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix62
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-control-center/search_providers_dir.patch17
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-desktop/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-dictionary/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-font-viewer/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh10
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-keyring/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-menus/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-screenshot/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-session/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell-extensions/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix55
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-system-monitor/default.nix39
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-themes-standard/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix52
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gsettings-desktop-schemas/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch11
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgdata/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgee/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgee/fix_introspection_paths.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgnomekbd/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgweather/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libzapojit/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/mutter/default.nix33
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/nautilus/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch24
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/rest/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/sushi/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem-pl-parser/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/default.nix51
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch72
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/tracker/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vino/default.nix33
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/yelp/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/zenity/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.12/default.nix243
-rw-r--r--pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.12/devtools/anjuta/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.12/devtools/gdl/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/geary/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch24
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gexiv2/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gfbgraph/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix45
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/find_gsettings.patch22
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/goffice/0.8.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix43
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/libgda/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/at-spi2-core/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix62
-rw-r--r--pkgs/desktops/gnome-3/core/gconf/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/core/gcr/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/core/gvfs/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/core/libcroco/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/default.nix56
-rw-r--r--pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/desktop/rarian/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix18
-rw-r--r--pkgs/desktops/kde-4.10/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.10/applications/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.10/default.nix70
-rw-r--r--pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kde-package/4.10.5.nix399
-rw-r--r--pkgs/desktops/kde-4.10/kde-package/default.nix128
-rw-r--r--pkgs/desktops/kde-4.10/kde-runtime.nix23
-rw-r--r--pkgs/desktops/kde-4.10/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.10/kde-workspace.nix38
-rw-r--r--pkgs/desktops/kde-4.10/kdeadmin/kcron.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdeadmin/kuser.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdeartwork/sounds.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/perlqt.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch18
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/pykde4.nix34
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/qtruby.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch14
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch13
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/smokekde.nix16
-rw-r--r--pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix13
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/cantor.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/kalzium.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/kig.nix12
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/kmplot.nix12
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/kstars.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/marble.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/rocs.nix14
-rw-r--r--pkgs/desktops/kde-4.10/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.10/kdegames/palapeli.nix8
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/libkdcraw.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/okular.nix17
-rw-r--r--pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix43
-rw-r--r--pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdemultimedia/juk.nix7
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/FindmsiLBC.cmake19
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix9
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kget.nix14
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch22
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch47
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kopete.nix30
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kppp.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/krdc.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/krfb.nix5
-rw-r--r--pkgs/desktops/kde-4.10/kdepim-runtime.nix14
-rw-r--r--pkgs/desktops/kde-4.10/kdepim.nix22
-rw-r--r--pkgs/desktops/kde-4.10/kdepimlibs.nix19
-rw-r--r--pkgs/desktops/kde-4.10/kdeplasma-addons.nix22
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix15
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix12
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix12
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix10
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/poxml.nix9
-rw-r--r--pkgs/desktops/kde-4.10/kdesdk/thumbnailers-add-subdirectory.patch12
-rw-r--r--pkgs/desktops/kde-4.10/kdeutils/ark.nix9
-rw-r--r--pkgs/desktops/kde-4.10/kdeutils/kgpg.nix9
-rw-r--r--pkgs/desktops/kde-4.10/kdeutils/print-manager.nix28
-rw-r--r--pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix12
-rw-r--r--pkgs/desktops/kde-4.10/l10n/default.nix45
-rw-r--r--pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix282
-rw-r--r--pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix282
-rw-r--r--pkgs/desktops/kde-4.10/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.10/support/akonadi/default.nix24
-rw-r--r--pkgs/desktops/kde-4.11/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.11/applications/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.11/default.nix42
-rw-r--r--pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch17
-rw-r--r--pkgs/desktops/kde-4.11/files/polkit-install.patch12
-rw-r--r--pkgs/desktops/kde-4.11/kactivities.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kde-base-artwork.nix14
-rw-r--r--pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/4.11.0.nix444
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/4.11.2.nix444
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/default.nix128
-rwxr-xr-xpkgs/desktops/kde-4.11/kde-package/kde-manifest.sh146
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt22
-rw-r--r--pkgs/desktops/kde-4.11/kde-runtime.nix23
-rw-r--r--pkgs/desktops/kde-4.11/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.11/kde-workspace.nix39
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake73
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/sounds.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/styles.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch15
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/analitza.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/blinken.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/cantor.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kanagram.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kbruch.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kgeography.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/khangman.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kig.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kiten.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/klettres.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kmplot.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kstars.nix14
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/ktouch.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kturtle.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/pairs.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/parley.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/step.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/bomber.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/bovo.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/granatier.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kajongg.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kapman.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/katomic.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kblackbox.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kblocks.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kbounce.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kbreakout.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kdiamond.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kfourinline.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kigo.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/killbots.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kiriki.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/klickety.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/klines.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kmines.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/knetwalk.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kolf.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kollision.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/konquest.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kpat.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kreversi.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kshisen.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksirk.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksquares.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksudoku.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ktuberling.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kubrick.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/libkdegames.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/lskat.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/picmi.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/okular.nix17
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix46
-rw-r--r--pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix20
-rw-r--r--pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kopete.nix27
-rw-r--r--pkgs/desktops/kde-4.11/kdepim-runtime.nix16
-rw-r--r--pkgs/desktops/kde-4.11/kdepim.nix28
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/cervisia.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/lokalize.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/okteta.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/umbrello.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdetoys/amor.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdetoys/kteatime.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdetoys/ktux.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/ark.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/filelight.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kcalc.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kdf.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kgpg.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/ktimer.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kwallet.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/sweeper.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/kommander.nix9
-rw-r--r--pkgs/desktops/kde-4.11/l10n/default.nix45
-rwxr-xr-xpkgs/desktops/kde-4.11/l10n/l10n-manifest.sh32
-rw-r--r--pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix272
-rw-r--r--pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix272
-rw-r--r--pkgs/desktops/kde-4.11/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.11/support/akonadi/default.nix24
-rw-r--r--pkgs/desktops/kde-4.12/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.12/applications/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.12/default.nix44
-rw-r--r--pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch (renamed from pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch)0
-rw-r--r--pkgs/desktops/kde-4.12/files/polkit-install.patch (renamed from pkgs/desktops/kde-4.10/files/polkit-install.patch)0
-rw-r--r--pkgs/desktops/kde-4.12/kactivities.nix (renamed from pkgs/desktops/kde-4.10/kactivities.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kde-base-artwork.nix (renamed from pkgs/desktops/kde-4.10/kde-base-artwork.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.12/kde-package/4.12.4.nix444
-rw-r--r--pkgs/desktops/kde-4.12/kde-package/default.nix129
-rwxr-xr-xpkgs/desktops/kde-4.12/kde-package/kde-manifest.sh (renamed from pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh)0
-rw-r--r--pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt (renamed from pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt)0
-rw-r--r--pkgs/desktops/kde-4.12/kde-runtime.nix24
-rw-r--r--pkgs/desktops/kde-4.12/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.12/kde-workspace.nix46
-rw-r--r--pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix (renamed from pkgs/desktops/kde-4.10/kdeaccessibility/jovie.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix (renamed from pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix (renamed from pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix (renamed from pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix (renamed from pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeadmin/kcron.nix (renamed from pkgs/desktops/kde-4.11/kdeadmin/kcron.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix (renamed from pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeadmin/kuser.nix (renamed from pkgs/desktops/kde-4.11/kdeadmin/kuser.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake (renamed from pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix (renamed from pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/styles.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/styles.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix (renamed from pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/perlqt.nix (renamed from pkgs/desktops/kde-4.11/kdebindings/perlqt.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/pykde4.nix (renamed from pkgs/desktops/kde-4.11/kdebindings/pykde4.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch (renamed from pkgs/desktops/kde-4.10/kdebindings/qtruby-install-prefix.patch)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/qtruby.nix (renamed from pkgs/desktops/kde-4.11/kdebindings/qtruby.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch (renamed from pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch (renamed from pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/smokekde.nix (renamed from pkgs/desktops/kde-4.11/kdebindings/smokekde.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix15
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/analitza.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/analitza.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/blinken.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/blinken.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/cantor.nix13
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kalzium.nix (renamed from pkgs/desktops/kde-4.11/kdeedu/kalzium.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kanagram.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kanagram.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kbruch.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kbruch.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kgeography.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kgeography.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/khangman.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/khangman.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kig.nix9
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kiten.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kiten.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/klettres.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/klettres.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kmplot.nix9
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kstars.nix14
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/ktouch.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/ktouch.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kturtle.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kturtle.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/marble.nix (renamed from pkgs/desktops/kde-4.11/kdeedu/marble.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/pairs.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/pairs.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/parley.nix (renamed from pkgs/desktops/kde-4.10/kdeedu/parley.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/rocs.nix (renamed from pkgs/desktops/kde-4.11/kdeedu/rocs.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/bomber.nix (renamed from pkgs/desktops/kde-4.10/kdegames/bomber.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/bovo.nix (renamed from pkgs/desktops/kde-4.10/kdegames/bovo.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/granatier.nix (renamed from pkgs/desktops/kde-4.10/kdegames/granatier.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kajongg.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kajongg.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kapman.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kapman.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/katomic.nix (renamed from pkgs/desktops/kde-4.10/kdegames/katomic.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kblackbox.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kblackbox.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kblocks.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kblocks.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kbounce.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kbounce.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kbreakout.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kbreakout.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kdiamond.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kdiamond.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kfourinline.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kfourinline.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kigo.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kigo.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/killbots.nix (renamed from pkgs/desktops/kde-4.10/kdegames/killbots.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kiriki.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kiriki.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/klickety.nix (renamed from pkgs/desktops/kde-4.10/kdegames/klickety.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/klines.nix (renamed from pkgs/desktops/kde-4.10/kdegames/klines.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kmines.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kmines.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix (renamed from pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/knetwalk.nix (renamed from pkgs/desktops/kde-4.10/kdegames/knetwalk.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kolf.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kolf.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kollision.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kollision.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/konquest.nix (renamed from pkgs/desktops/kde-4.10/kdegames/konquest.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kpat.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kpat.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kreversi.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kreversi.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kshisen.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kshisen.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/ksirk.nix (renamed from pkgs/desktops/kde-4.10/kdegames/ksirk.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix (renamed from pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/ksquares.nix (renamed from pkgs/desktops/kde-4.10/kdegames/ksquares.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/ksudoku.nix (renamed from pkgs/desktops/kde-4.10/kdegames/ksudoku.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/ktuberling.nix (renamed from pkgs/desktops/kde-4.10/kdegames/ktuberling.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/kubrick.nix (renamed from pkgs/desktops/kde-4.10/kdegames/kubrick.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/libkdegames.nix (renamed from pkgs/desktops/kde-4.10/kdegames/libkdegames.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix (renamed from pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/lskat.nix (renamed from pkgs/desktops/kde-4.10/kdegames/lskat.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/palapeli.nix (renamed from pkgs/desktops/kde-4.11/kdegames/palapeli.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegames/picmi.nix (renamed from pkgs/desktops/kde-4.10/kdegames/picmi.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix13
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix13
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/okular.nix17
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix54
-rw-r--r--pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix20
-rw-r--r--pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/juk.nix (renamed from pkgs/desktops/kde-4.11/kdemultimedia/juk.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix (renamed from pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kget.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/kget.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kopete.nix26
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kppp.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/kppp.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/krdc.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/krdc.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/krfb.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/krfb.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix (renamed from pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdepim-runtime.nix16
-rw-r--r--pkgs/desktops/kde-4.12/kdepim.nix28
-rw-r--r--pkgs/desktops/kde-4.12/kdepimlibs.nix (renamed from pkgs/desktops/kde-4.11/kdepimlibs.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeplasma-addons.nix (renamed from pkgs/desktops/kde-4.11/kdeplasma-addons.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/cervisia.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/cervisia.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix (renamed from pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix (renamed from pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix (renamed from pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix (renamed from pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix9
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/lokalize.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/lokalize.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/okteta.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/okteta.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/poxml.nix (renamed from pkgs/desktops/kde-4.11/kdesdk/poxml.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/umbrello.nix (renamed from pkgs/desktops/kde-4.10/kdesdk/umbrello.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdetoys/amor.nix (renamed from pkgs/desktops/kde-4.10/kdetoys/amor.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdetoys/kteatime.nix (renamed from pkgs/desktops/kde-4.10/kdetoys/kteatime.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdetoys/ktux.nix (renamed from pkgs/desktops/kde-4.10/kdetoys/ktux.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/ark.nix17
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/filelight.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/filelight.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kcalc.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/kcalc.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kdf.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/kdf.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kgpg.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/ktimer.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/ktimer.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/kwallet.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/print-manager.nix (renamed from pkgs/desktops/kde-4.11/kdeutils/print-manager.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/sweeper.nix (renamed from pkgs/desktops/kde-4.10/kdeutils/sweeper.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix (renamed from pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix (renamed from pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix13
-rw-r--r--pkgs/desktops/kde-4.12/kdewebdev/kommander.nix (renamed from pkgs/desktops/kde-4.10/kdewebdev/kommander.nix)0
-rw-r--r--pkgs/desktops/kde-4.12/l10n/default.nix46
-rwxr-xr-xpkgs/desktops/kde-4.12/l10n/l10n-manifest.sh (renamed from pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh)0
-rw-r--r--pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix262
-rw-r--r--pkgs/desktops/kde-4.12/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.12/support/akonadi/default.nix24
-rw-r--r--pkgs/desktops/xfce/applications/gigolo.nix8
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix2
-rw-r--r--pkgs/desktops/xfce/applications/parole.nix38
-rw-r--r--pkgs/desktops/xfce/applications/ristretto.nix2
-rw-r--r--pkgs/desktops/xfce/applications/terminal.nix6
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd.nix8
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter.nix25
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager.nix4
-rw-r--r--pkgs/desktops/xfce/common.nix74
-rw-r--r--pkgs/desktops/xfce/core/exo.nix2
-rw-r--r--pkgs/desktops/xfce/core/garcon.nix2
-rw-r--r--pkgs/desktops/xfce/core/gtk-xfce-engine.nix6
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix4
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util.nix4
-rw-r--r--pkgs/desktops/xfce/core/libxfcegui4.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar-archive-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar.nix2
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix24
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder.nix8
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix17
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session.nix7
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfconf.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfwm4.nix2
-rw-r--r--pkgs/desktops/xfce/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix23
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix25
-rw-r--r--pkgs/development/arduino/ino/default.nix4
-rw-r--r--pkgs/development/compilers/Agda-executable/default.nix18
-rw-r--r--pkgs/development/compilers/adobe-flex-sdk/default.nix2
-rw-r--r--pkgs/development/compilers/agda/default.nix32
-rw-r--r--pkgs/development/compilers/agda/stdlib.nix31
-rw-r--r--pkgs/development/compilers/aldor/default.nix6
-rw-r--r--pkgs/development/compilers/aliceml/builder.sh71
-rw-r--r--pkgs/development/compilers/aliceml/default.nix75
-rw-r--r--pkgs/development/compilers/ats/default.nix23
-rw-r--r--pkgs/development/compilers/ats/install-atsdoc-hats-files.patch38
-rw-r--r--pkgs/development/compilers/ats2/default.nix16
-rw-r--r--pkgs/development/compilers/bigloo/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/default.nix39
-rw-r--r--pkgs/development/compilers/closure/default.nix6
-rw-r--r--pkgs/development/compilers/compcert/default.nix27
-rw-r--r--pkgs/development/compilers/cryptol/1.8.x.nix117
-rw-r--r--pkgs/development/compilers/cryptol/2.0.x.nix31
-rw-r--r--pkgs/development/compilers/cryptol/fix-gitrev.patch44
-rw-r--r--pkgs/development/compilers/cudatoolkit/5.5.nix59
-rw-r--r--pkgs/development/compilers/cudatoolkit/6.0.nix60
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix54
-rw-r--r--pkgs/development/compilers/dev86/default.nix4
-rw-r--r--pkgs/development/compilers/dmd/default.nix52
-rw-r--r--pkgs/development/compilers/edk2/default.nix12
-rw-r--r--pkgs/development/compilers/elm/elm-server.nix15
-rw-r--r--pkgs/development/compilers/elm/elm.nix26
-rw-r--r--pkgs/development/compilers/epic/default.nix5
-rw-r--r--pkgs/development/compilers/flapjax/default.nix30
-rw-r--r--pkgs/development/compilers/fsharp/default.nix33
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix46
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch54
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff62
-rw-r--r--pkgs/development/compilers/gcc/4.2/builder.sh96
-rw-r--r--pkgs/development/compilers/gcc/4.2/default.nix66
-rw-r--r--pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch139
-rw-r--r--pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch21
-rw-r--r--pkgs/development/compilers/gcc/4.3/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/4.4/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/4.4/sources.nix14
-rwxr-xr-xpkgs/development/compilers/gcc/4.4/update-gcc.sh4
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/4.6/builder.sh5
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix20
-rw-r--r--pkgs/development/compilers/gcc/4.7/arm-eabi.patch230
-rw-r--r--pkgs/development/compilers/gcc/4.7/builder.sh242
-rw-r--r--pkgs/development/compilers/gcc/4.7/default.nix502
-rw-r--r--pkgs/development/compilers/gcc/4.8/builder.sh255
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix541
-rw-r--r--pkgs/development/compilers/gcc/4.8/gfortran-driving.patch (renamed from pkgs/development/compilers/gcc/4.7/gfortran-driving.patch)0
-rw-r--r--pkgs/development/compilers/gcc/4.8/gnat-cflags.patch (renamed from pkgs/development/compilers/gcc/4.7/gnat-cflags.patch)0
-rw-r--r--pkgs/development/compilers/gcc/4.8/java-jvgenmain-link.patch (renamed from pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch)0
-rw-r--r--pkgs/development/compilers/gcc/4.8/libstdc++-target.patch (renamed from pkgs/development/compilers/gcc/4.7/libstdc++-target.patch)0
-rw-r--r--pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch28
-rw-r--r--pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch32
-rw-r--r--pkgs/development/compilers/gcc/4.9/builder.sh245
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix527
-rw-r--r--pkgs/development/compilers/gcc/4.9/gfortran-driving.patch20
-rw-r--r--pkgs/development/compilers/gcc/4.9/gnat-cflags.patch33
-rw-r--r--pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch17
-rw-r--r--pkgs/development/compilers/gcc/4.9/libstdc++-target.patch32
-rw-r--r--pkgs/development/compilers/gcc/4.9/no-sys-dirs.patch (renamed from pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch)0
-rw-r--r--pkgs/development/compilers/gcc/4.9/parallel-bconfig.patch32
-rw-r--r--pkgs/development/compilers/gcl/default.nix11
-rw-r--r--pkgs/development/compilers/ghc/6.10.4.nix2
-rw-r--r--pkgs/development/compilers/ghc/6.12.3.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.0.1.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.0.2.nix1
-rw-r--r--pkgs/development/compilers/ghc/7.0.3.nix1
-rw-r--r--pkgs/development/compilers/ghc/7.0.4.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.2.2.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.4.2.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.6.1.nix11
-rw-r--r--pkgs/development/compilers/ghc/7.6.2.nix1
-rw-r--r--pkgs/development/compilers/ghc/7.6.3.nix34
-rw-r--r--pkgs/development/compilers/ghc/7.8.3.nix46
-rwxr-xr-xpkgs/development/compilers/ghc/ghc-get-packages.sh21
-rw-r--r--pkgs/development/compilers/ghc/head.nix11
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix38
-rw-r--r--pkgs/development/compilers/ghdl/default.nix64
-rw-r--r--pkgs/development/compilers/gnatboot/default.nix2
-rw-r--r--pkgs/development/compilers/go/1.1-darwin.nix5
-rw-r--r--pkgs/development/compilers/go/1.2.nix86
-rw-r--r--pkgs/development/compilers/go/1.3.nix94
-rw-r--r--pkgs/development/compilers/go/1_0-gcc-bug.patch19
-rw-r--r--pkgs/development/compilers/go/1_0-opt-error.patch12
-rw-r--r--pkgs/development/compilers/go/cacert-1.2.patch15
-rw-r--r--pkgs/development/compilers/go/default.nix2
-rw-r--r--pkgs/development/compilers/go/gox.nix54
-rw-r--r--pkgs/development/compilers/gprolog/default.nix4
-rw-r--r--pkgs/development/compilers/gwt/2.4.0.nix2
-rw-r--r--pkgs/development/compilers/haxe/default.nix22
-rw-r--r--pkgs/development/compilers/hhvm/default.nix64
-rw-r--r--pkgs/development/compilers/icedtea-web/default.nix39
-rw-r--r--pkgs/development/compilers/icedtea/cppflags-include-fix.patch16
-rw-r--r--pkgs/development/compilers/icedtea/default.nix179
-rw-r--r--pkgs/development/compilers/icedtea/fix-java-home.patch17
-rw-r--r--pkgs/development/compilers/icedtea/generate-cacerts.pl366
-rw-r--r--pkgs/development/compilers/icedtea/sources.nix56
-rwxr-xr-xpkgs/development/compilers/icedtea/update.py275
-rw-r--r--pkgs/development/compilers/idris/default.nix32
-rw-r--r--pkgs/development/compilers/idris/wrapper.nix4
-rw-r--r--pkgs/development/compilers/ikarus/default.nix2
-rw-r--r--pkgs/development/compilers/jhc/default.nix30
-rw-r--r--pkgs/development/compilers/julia/0.2.1.nix140
-rw-r--r--pkgs/development/compilers/julia/git-20131013.nix (renamed from pkgs/development/compilers/julia/default.nix)0
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang-purity.patch (renamed from pkgs/development/compilers/llvm/clang-purity.patch)0
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch9
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang.nix41
-rw-r--r--pkgs/development/compilers/llvm/3.3/llvm.nix50
-rw-r--r--pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch (renamed from pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch)0
-rw-r--r--pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch8
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang-purity.patch19
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang-separate-build.patch8
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang.nix48
-rw-r--r--pkgs/development/compilers/llvm/3.4/default.nix37
-rw-r--r--pkgs/development/compilers/llvm/3.4/dragonegg.nix34
-rw-r--r--pkgs/development/compilers/llvm/3.4/lld.nix31
-rw-r--r--pkgs/development/compilers/llvm/3.4/lldb.nix44
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch12
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix70
-rw-r--r--pkgs/development/compilers/llvm/3.4/polly-separate-build.patch12
-rw-r--r--pkgs/development/compilers/llvm/3.4/polly.nix27
-rw-r--r--pkgs/development/compilers/llvm/clang.nix40
-rw-r--r--pkgs/development/compilers/llvm/default.nix41
-rw-r--r--pkgs/development/compilers/llvm/dragonegg.nix30
-rwxr-xr-xpkgs/development/compilers/manticore/builder.sh24
-rw-r--r--pkgs/development/compilers/manticore/default.nix28
-rw-r--r--pkgs/development/compilers/mcpp/default.nix19
-rw-r--r--pkgs/development/compilers/mercury/default.nix62
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix4
-rw-r--r--pkgs/development/compilers/mlton/default.nix72
-rw-r--r--pkgs/development/compilers/mono/build-fix-llvm.patch12
-rw-r--r--pkgs/development/compilers/mono/default.nix27
-rw-r--r--pkgs/development/compilers/mono/llvm.nix59
-rw-r--r--pkgs/development/compilers/nasm/default.nix8
-rw-r--r--pkgs/development/compilers/ocaml/3.11.2.nix4
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1.nix2
-rw-r--r--pkgs/development/compilers/ocaml/4.00.1.nix2
-rw-r--r--pkgs/development/compilers/ocaml/4.01.0.nix23
-rw-r--r--pkgs/development/compilers/ocaml/ber-metaocaml-003.nix2
-rw-r--r--pkgs/development/compilers/opa/default.nix30
-rw-r--r--pkgs/development/compilers/opencxx/default.nix14
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix41
-rw-r--r--pkgs/development/compilers/opendylan/default.nix37
-rw-r--r--pkgs/development/compilers/openjdk-darwin/default.nix45
-rw-r--r--pkgs/development/compilers/openjdk/bootstrap.nix10
-rw-r--r--pkgs/development/compilers/openjdk/default.nix195
-rw-r--r--pkgs/development/compilers/openjdk/fix-java-home.patch17
-rw-r--r--pkgs/development/compilers/openjdk/no-crypto-restrictions.patch12
-rw-r--r--pkgs/development/compilers/openjdk/paxctl.patch28
-rw-r--r--pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh (renamed from pkgs/development/compilers/jdk/dlj-bundle-builder.sh)0
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix185
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-construct.sh (renamed from pkgs/development/compilers/jdk/jdk6-construct.sh)0
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-linux.nix (renamed from pkgs/development/compilers/jdk/jdk6-linux.nix)2
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix10
-rw-r--r--pkgs/development/compilers/orc/default.nix9
-rw-r--r--pkgs/development/compilers/pakcs/adjust-buildsystem.patch31
-rw-r--r--pkgs/development/compilers/pakcs/default.nix29
-rw-r--r--pkgs/development/compilers/polyml/default.nix4
-rw-r--r--pkgs/development/compilers/qi/default.nix1
-rw-r--r--pkgs/development/compilers/rdmd/default.nix29
-rw-r--r--pkgs/development/compilers/rustc/0.11.nix72
-rw-r--r--pkgs/development/compilers/rustc/common.nix35
-rw-r--r--pkgs/development/compilers/rustc/hardcode_paths.patch32
-rw-r--r--pkgs/development/compilers/rustc/head.nix73
-rw-r--r--pkgs/development/compilers/rustc/local_stage0.patch13
-rw-r--r--pkgs/development/compilers/sbcl/bootstrap.nix31
-rw-r--r--pkgs/development/compilers/sbcl/default.nix94
-rw-r--r--pkgs/development/compilers/sbcl/default.upstream9
-rw-r--r--pkgs/development/compilers/sbcl/newglibc.patch43
-rw-r--r--pkgs/development/compilers/scala/2.10.nix37
-rw-r--r--pkgs/development/compilers/scala/2.9.nix34
-rw-r--r--pkgs/development/compilers/scala/default.nix19
-rw-r--r--pkgs/development/compilers/sdcc/default.nix6
-rw-r--r--pkgs/development/compilers/smlnj/bootstrap.nix43
-rw-r--r--pkgs/development/compilers/stalin/default.nix4
-rw-r--r--pkgs/development/compilers/strategoxt/0.18.nix2
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix21
-rw-r--r--pkgs/development/compilers/tinycc/default.nix2
-rw-r--r--pkgs/development/compilers/uhc/default.nix5
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
-rw-r--r--pkgs/development/compilers/vala/15.2.nix24
-rw-r--r--pkgs/development/compilers/vala/16.1.nix24
-rw-r--r--pkgs/development/compilers/vala/default.nix46
-rw-r--r--pkgs/development/compilers/yasm/default.nix1
-rw-r--r--pkgs/development/eclipse/ecj/default.nix84
-rw-r--r--pkgs/development/guile-modules/guile-cairo/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-gnome/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-lib/default.nix6
-rw-r--r--pkgs/development/guile-modules/guile-ncurses/default.nix10
-rw-r--r--pkgs/development/guile-modules/guile-xcb/default.nix27
-rw-r--r--pkgs/development/interpreters/angelscript/default.nix16
-rw-r--r--pkgs/development/interpreters/angelscript/default.upstream4
-rw-r--r--pkgs/development/interpreters/clisp/2.44.1.nix4
-rw-r--r--pkgs/development/interpreters/clojure/binary.nix47
-rw-r--r--pkgs/development/interpreters/clojure/clooj-wrapper.nix11
-rw-r--r--pkgs/development/interpreters/clojure/clooj.nix23
-rw-r--r--pkgs/development/interpreters/clojure/default.nix26
-rw-r--r--pkgs/development/interpreters/clojure/wrapper.nix11
-rw-r--r--pkgs/development/interpreters/cython/default.nix21
-rw-r--r--pkgs/development/interpreters/elixir/default.nix30
-rw-r--r--pkgs/development/interpreters/erlang/R14.nix61
-rw-r--r--pkgs/development/interpreters/erlang/R14B04.nix47
-rw-r--r--pkgs/development/interpreters/erlang/R15.nix67
-rw-r--r--pkgs/development/interpreters/erlang/R15B03.nix53
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix70
-rw-r--r--pkgs/development/interpreters/erlang/R16B01.nix54
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix70
-rw-r--r--pkgs/development/interpreters/groovy/default.nix11
-rw-r--r--pkgs/development/interpreters/guile/1.8.nix2
-rw-r--r--pkgs/development/interpreters/hiphopvm/default.nix63
-rw-r--r--pkgs/development/interpreters/hiphopvm/tbb.patch13
-rw-r--r--pkgs/development/interpreters/io/default.nix8
-rw-r--r--pkgs/development/interpreters/jruby/default.nix14
-rwxr-xr-xpkgs/development/interpreters/kaffe/builder.sh5
-rw-r--r--pkgs/development/interpreters/kaffe/default.nix14
-rw-r--r--pkgs/development/interpreters/love/0.9.nix31
-rw-r--r--pkgs/development/interpreters/love/default.nix25
-rw-r--r--pkgs/development/interpreters/lua-4/default.nix5
-rw-r--r--pkgs/development/interpreters/lua-5/5.0.3.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.darwin.patch52
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix16
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.darwin.patch52
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix50
-rw-r--r--pkgs/development/interpreters/lua-5/expat.nix26
-rw-r--r--pkgs/development/interpreters/lua-5/filesystem.nix26
-rw-r--r--pkgs/development/interpreters/lua-5/sec.nix27
-rw-r--r--pkgs/development/interpreters/lua-5/sockets.nix25
-rw-r--r--pkgs/development/interpreters/luajit/default.nix34
-rw-r--r--pkgs/development/interpreters/maude/default.nix21
-rw-r--r--pkgs/development/interpreters/octave/default.nix34
-rw-r--r--pkgs/development/interpreters/octave/hg.nix2
-rw-r--r--pkgs/development/interpreters/perl/5.14/default.nix3
-rw-r--r--pkgs/development/interpreters/perl/5.14/ld-shared.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.16/cpp-precomp.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.16/default.nix19
-rw-r--r--pkgs/development/interpreters/perl/5.16/ld-shared.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch113
-rw-r--r--pkgs/development/interpreters/perl/5.20/cpp-precomp.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.20/default.nix68
-rw-r--r--pkgs/development/interpreters/perl/5.20/ld-shared.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.20/no-libutil.patch12
-rw-r--r--pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch250
-rw-r--r--pkgs/development/interpreters/perl/5.20/setup-hook.sh5
-rw-r--r--pkgs/development/interpreters/php-xdebug/default.nix39
-rw-r--r--pkgs/development/interpreters/php/5.3-freetype-dirs.patch64
-rw-r--r--pkgs/development/interpreters/php/5.3.nix14
-rw-r--r--pkgs/development/interpreters/php/5.4.nix23
-rw-r--r--pkgs/development/interpreters/pypy/2.1/default.nix92
-rw-r--r--pkgs/development/interpreters/pypy/2.1/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/pypy/2.3/default.nix97
-rw-r--r--pkgs/development/interpreters/pypy/2.3/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix37
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix22
-rw-r--r--pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch57
-rw-r--r--pkgs/development/interpreters/python/3.2/default.nix23
-rw-r--r--pkgs/development/interpreters/python/3.3/default.nix32
-rw-r--r--pkgs/development/interpreters/python/3.4/default.nix94
-rw-r--r--pkgs/development/interpreters/python/3.4/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.nix2
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix14
-rw-r--r--pkgs/development/interpreters/racket/default.nix14
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix27
-rw-r--r--pkgs/development/interpreters/rascal/default.nix28
-rw-r--r--pkgs/development/interpreters/renpy/default.nix26
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix694
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix105
-rw-r--r--pkgs/development/interpreters/ruby/ruby-18.nix21
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix21
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.0.nix31
-rw-r--r--pkgs/development/interpreters/ruby/rubygems.nix10
-rw-r--r--pkgs/development/interpreters/scheme48/default.nix15
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.0.nix45
-rw-r--r--pkgs/development/interpreters/spidermonkey/185-1.0.0.nix33
-rw-r--r--pkgs/development/interpreters/spidermonkey/24.2.nix40
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix40
-rw-r--r--pkgs/development/interpreters/tcl/default.nix8
-rw-r--r--pkgs/development/interpreters/xulrunner/default.nix82
-rw-r--r--pkgs/development/libraries/CGAL/default.nix23
-rw-r--r--pkgs/development/libraries/SDL/default.nix52
-rw-r--r--pkgs/development/libraries/SDL2/default.nix19
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_gfx/default.nix6
-rw-r--r--pkgs/development/libraries/SDL_image/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix8
-rw-r--r--pkgs/development/libraries/SDL_net/default.nix4
-rw-r--r--pkgs/development/libraries/SDL_ttf/default.nix6
-rw-r--r--pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch152
-rw-r--r--pkgs/development/libraries/a52dec/A01-thread-safe.patch462
-rw-r--r--pkgs/development/libraries/a52dec/A02-imdct-shutup.patch11
-rw-r--r--pkgs/development/libraries/a52dec/A03-automake.patch12
-rw-r--r--pkgs/development/libraries/a52dec/default.nix10
-rw-r--r--pkgs/development/libraries/aacskeys/default.nix2
-rw-r--r--pkgs/development/libraries/aalib/builder.sh5
-rw-r--r--pkgs/development/libraries/aalib/default.nix13
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix30
-rw-r--r--pkgs/development/libraries/accountsservice/no-create-dirs.patch13
-rw-r--r--pkgs/development/libraries/acl/default.nix4
-rw-r--r--pkgs/development/libraries/adns/default.nix2
-rw-r--r--pkgs/development/libraries/afflib/default.nix58
-rw-r--r--pkgs/development/libraries/agg/default.nix2
-rw-r--r--pkgs/development/libraries/allegro/5-unstable.nix58
-rw-r--r--pkgs/development/libraries/allegro/5-unstable.upstream7
-rw-r--r--pkgs/development/libraries/allegro/5.nix20
-rw-r--r--pkgs/development/libraries/allegro/5.upstream7
-rw-r--r--pkgs/development/libraries/allegro/default.nix9
-rw-r--r--pkgs/development/libraries/amrnb/default.nix14
-rw-r--r--pkgs/development/libraries/amrwb/default.nix2
-rw-r--r--pkgs/development/libraries/apache-activemq/default.nix2
-rw-r--r--pkgs/development/libraries/apr-util/default.nix26
-rw-r--r--pkgs/development/libraries/apr/default.nix12
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix23
-rw-r--r--pkgs/development/libraries/asio/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/default.nix9
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix18
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix21
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix32
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix3
-rw-r--r--pkgs/development/libraries/aterm/2.8.nix11
-rw-r--r--pkgs/development/libraries/atk/default.nix16
-rw-r--r--pkgs/development/libraries/atkmm/default.nix6
-rw-r--r--pkgs/development/libraries/attr/default.nix4
-rw-r--r--pkgs/development/libraries/aubio/default.nix33
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix6
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix6
-rw-r--r--pkgs/development/libraries/audio/lvtk/default.nix29
-rw-r--r--pkgs/development/libraries/audio/raul/default.nix28
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix6
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix6
-rw-r--r--pkgs/development/libraries/audio/vamp/default.nix16
-rw-r--r--pkgs/development/libraries/audiofile/default.nix8
-rw-r--r--pkgs/development/libraries/avahi/default.nix11
-rw-r--r--pkgs/development/libraries/axis/default.nix20
-rw-r--r--pkgs/development/libraries/babl/0_0_22.nix2
-rw-r--r--pkgs/development/libraries/babl/default.nix2
-rw-r--r--pkgs/development/libraries/beecrypt/default.nix6
-rw-r--r--pkgs/development/libraries/boolstuff/default.nix4
-rw-r--r--pkgs/development/libraries/boost/1.44.nix1
-rw-r--r--pkgs/development/libraries/boost/1.49.nix7
-rw-r--r--pkgs/development/libraries/boost/1.53.nix91
-rw-r--r--pkgs/development/libraries/boost/1.54.nix91
-rw-r--r--pkgs/development/libraries/boost/1.55.nix99
-rw-r--r--pkgs/development/libraries/boost/CVE-2013-0252.patch48
-rw-r--r--pkgs/development/libraries/boost/boost-149-cstdint.patch15
-rw-r--r--pkgs/development/libraries/boost/header-only-wrapper.nix7
-rw-r--r--pkgs/development/libraries/boringssl/default.nix30
-rw-r--r--pkgs/development/libraries/botan/default.nix14
-rw-r--r--pkgs/development/libraries/botan/default.upstream9
-rw-r--r--pkgs/development/libraries/botan/unstable.nix58
-rw-r--r--pkgs/development/libraries/botan/unstable.upstream9
-rw-r--r--pkgs/development/libraries/box2d/default.nix26
-rw-r--r--pkgs/development/libraries/buddy/default.nix2
-rw-r--r--pkgs/development/libraries/bwidget/default.nix6
-rw-r--r--pkgs/development/libraries/c-ares/default.nix2
-rw-r--r--pkgs/development/libraries/caelum/default.nix3
-rw-r--r--pkgs/development/libraries/cairo/1.12.2.nix86
-rw-r--r--pkgs/development/libraries/cairo/default.nix2
-rw-r--r--pkgs/development/libraries/cairomm/default.nix2
-rw-r--r--pkgs/development/libraries/capnproto/default.nix23
-rw-r--r--pkgs/development/libraries/capstone/default.nix27
-rw-r--r--pkgs/development/libraries/ccrtp/1.8.nix2
-rw-r--r--pkgs/development/libraries/ccrtp/default.nix8
-rw-r--r--pkgs/development/libraries/celt/default.nix4
-rw-r--r--pkgs/development/libraries/check/default.nix9
-rw-r--r--pkgs/development/libraries/chipmunk/default.nix8
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix4
-rw-r--r--pkgs/development/libraries/classads/default.nix10
-rw-r--r--pkgs/development/libraries/clearsilver/default.nix9
-rw-r--r--pkgs/development/libraries/cln/default.nix6
-rw-r--r--pkgs/development/libraries/cloog-ppl/default.nix19
-rw-r--r--pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch16
-rw-r--r--pkgs/development/libraries/cloog/default.nix8
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix6
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix26
-rw-r--r--pkgs/development/libraries/clutter-gtk/0.10.8.nix2
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix14
-rw-r--r--pkgs/development/libraries/clutter/1.18.nix52
-rw-r--r--pkgs/development/libraries/clutter/default.nix24
-rw-r--r--pkgs/development/libraries/cminpack/default.nix6
-rw-r--r--pkgs/development/libraries/cogl/1.18.nix59
-rw-r--r--pkgs/development/libraries/cogl/default.nix39
-rw-r--r--pkgs/development/libraries/coin3d/default.nix11
-rw-r--r--pkgs/development/libraries/coin3d/gcc-4.8.patch38
-rw-r--r--pkgs/development/libraries/commoncpp2/default.nix4
-rw-r--r--pkgs/development/libraries/concurrencykit/default.nix23
-rw-r--r--pkgs/development/libraries/coprthr/default.nix37
-rw-r--r--pkgs/development/libraries/coredumper/default.nix9
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix28
-rw-r--r--pkgs/development/libraries/cppunit/default.nix8
-rw-r--r--pkgs/development/libraries/cracklib/default.nix4
-rw-r--r--pkgs/development/libraries/ctl/default.nix8
-rw-r--r--pkgs/development/libraries/ctl/gcc47.patch15
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix4
-rw-r--r--pkgs/development/libraries/db/cygwin-4.4.patch (renamed from pkgs/development/libraries/db4/cygwin-4.4.patch)0
-rw-r--r--pkgs/development/libraries/db/cygwin-4.5.patch (renamed from pkgs/development/libraries/db4/cygwin-4.5.patch)0
-rw-r--r--pkgs/development/libraries/db/db-4.4.nix7
-rw-r--r--pkgs/development/libraries/db/db-4.5.nix7
-rw-r--r--pkgs/development/libraries/db/db-4.7.nix6
-rw-r--r--pkgs/development/libraries/db/db-4.8.nix6
-rw-r--r--pkgs/development/libraries/db/db-5.3.nix6
-rw-r--r--pkgs/development/libraries/db/db-6.0.nix7
-rw-r--r--pkgs/development/libraries/db/generic.nix41
-rw-r--r--pkgs/development/libraries/db/register-race-fix.patch (renamed from pkgs/development/libraries/db4/register-race-fix.patch)0
-rw-r--r--pkgs/development/libraries/db4/builder.sh12
-rw-r--r--pkgs/development/libraries/db4/db4-4.4.nix22
-rw-r--r--pkgs/development/libraries/db4/db4-4.5.nix19
-rw-r--r--pkgs/development/libraries/db4/db4-4.7.nix18
-rw-r--r--pkgs/development/libraries/db4/db4-4.8.nix18
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix6
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix8
-rw-r--r--pkgs/development/libraries/dbus/default.nix42
-rw-r--r--pkgs/development/libraries/dclib/default.nix2
-rw-r--r--pkgs/development/libraries/directfb/default.nix18
-rw-r--r--pkgs/development/libraries/directfb/src-for-default.nix8
-rw-r--r--pkgs/development/libraries/dotconf/default.nix2
-rw-r--r--pkgs/development/libraries/dssi/default.nix2
-rw-r--r--pkgs/development/libraries/eigen/2.0.nix4
-rw-r--r--pkgs/development/libraries/eigen/default.nix4
-rw-r--r--pkgs/development/libraries/enet/default.nix4
-rw-r--r--pkgs/development/libraries/epoxy/default.nix30
-rw-r--r--pkgs/development/libraries/exempi/default.nix19
-rw-r--r--pkgs/development/libraries/exiv2/default.nix4
-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.nix4
-rw-r--r--pkgs/development/libraries/faad2/default.nix2
-rw-r--r--pkgs/development/libraries/facile/default.nix8
-rw-r--r--pkgs/development/libraries/facile/ocaml_4.xx.patch12
-rw-r--r--pkgs/development/libraries/farstream/default.nix14
-rw-r--r--pkgs/development/libraries/fdk-aac/default.nix19
-rw-r--r--pkgs/development/libraries/ffmpeg/0.10.nix87
-rw-r--r--pkgs/development/libraries/ffmpeg/0.6.90.nix1
-rw-r--r--pkgs/development/libraries/ffmpeg/0.6.nix77
-rw-r--r--pkgs/development/libraries/ffmpeg/1.x.nix12
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix106
-rw-r--r--pkgs/development/libraries/ffmpeg/default.nix87
-rw-r--r--pkgs/development/libraries/ffms/default.nix13
-rw-r--r--pkgs/development/libraries/fftw/default.nix57
-rw-r--r--pkgs/development/libraries/flite/default.nix1
-rw-r--r--pkgs/development/libraries/fltk/fltk13.nix25
-rw-r--r--pkgs/development/libraries/fmod/default.nix52
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix31
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.nix7
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.xsl11
-rw-r--r--pkgs/development/libraries/fox/default.nix4
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix6
-rw-r--r--pkgs/development/libraries/freealut/default.nix16
-rw-r--r--pkgs/development/libraries/freeglut/default.nix24
-rw-r--r--pkgs/development/libraries/freetds/default.nix8
-rw-r--r--pkgs/development/libraries/freetype/default.nix77
-rw-r--r--pkgs/development/libraries/frei0r/default.nix22
-rw-r--r--pkgs/development/libraries/ganv/default.nix28
-rw-r--r--pkgs/development/libraries/gdal/default.nix4
-rw-r--r--pkgs/development/libraries/gdbm/default.nix6
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix20
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/setup-hook.sh25
-rw-r--r--pkgs/development/libraries/gdome2/default.nix2
-rw-r--r--pkgs/development/libraries/gegl/0_0_22.nix2
-rw-r--r--pkgs/development/libraries/gegl/default.nix11
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix10
-rw-r--r--pkgs/development/libraries/geoip/default.nix32
-rw-r--r--pkgs/development/libraries/geoip/src-for-default.nix8
-rw-r--r--pkgs/development/libraries/geoip/src-info-for-default.nix6
-rw-r--r--pkgs/development/libraries/geos/default.nix4
-rw-r--r--pkgs/development/libraries/gettext/default.nix22
-rw-r--r--pkgs/development/libraries/gettext/no-gets.patch42
-rw-r--r--pkgs/development/libraries/giflib/4.1.nix13
-rw-r--r--pkgs/development/libraries/giflib/default.nix10
-rw-r--r--pkgs/development/libraries/git2/default.nix6
-rw-r--r--pkgs/development/libraries/glew/default.nix39
-rw-r--r--pkgs/development/libraries/glfw/2.x.nix29
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix22
-rw-r--r--pkgs/development/libraries/glfw/default.nix27
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix32
-rw-r--r--pkgs/development/libraries/glib/darwin-compilation.patch24
-rw-r--r--pkgs/development/libraries/glib/default.nix79
-rw-r--r--pkgs/development/libraries/glib/setup-hook.sh17
-rw-r--r--pkgs/development/libraries/glibc/2.13/builder.sh54
-rw-r--r--pkgs/development/libraries/glibc/2.13/catalan-firstdays.patch13
-rw-r--r--pkgs/development/libraries/glibc/2.13/common.nix244
-rw-r--r--pkgs/development/libraries/glibc/2.13/default.nix99
-rw-r--r--pkgs/development/libraries/glibc/2.13/dont_use_system_ld_so_cache.patch43
-rw-r--r--pkgs/development/libraries/glibc/2.13/glibc-elf-localscope.patch82
-rw-r--r--pkgs/development/libraries/glibc/2.13/info.nix26
-rw-r--r--pkgs/development/libraries/glibc/2.13/locales.nix47
-rw-r--r--pkgs/development/libraries/glibc/2.13/nix-locale-archive.patch116
-rw-r--r--pkgs/development/libraries/glibc/2.13/nss-skip-unavail.patch21
-rw-r--r--pkgs/development/libraries/glibc/2.13/rpcgen-path.patch72
-rw-r--r--pkgs/development/libraries/glibc/2.17/builder.sh67
-rw-r--r--pkgs/development/libraries/glibc/2.17/common.nix206
-rw-r--r--pkgs/development/libraries/glibc/2.17/cve-2013-0242.patch87
-rw-r--r--pkgs/development/libraries/glibc/2.17/cve-2013-1914.patch52
-rw-r--r--pkgs/development/libraries/glibc/2.17/glibc-elf-localscope.patch82
-rw-r--r--pkgs/development/libraries/glibc/2.17/glibc-rh739743.patch55
-rw-r--r--pkgs/development/libraries/glibc/2.17/locales-builder.sh17
-rw-r--r--pkgs/development/libraries/glibc/2.17/locales.nix47
-rw-r--r--pkgs/development/libraries/glibc/2.17/rpcgen-path.patch54
-rw-r--r--pkgs/development/libraries/glibc/2.19/builder.sh57
-rw-r--r--pkgs/development/libraries/glibc/2.19/common.nix204
-rw-r--r--pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch170
-rw-r--r--pkgs/development/libraries/glibc/2.19/default.nix (renamed from pkgs/development/libraries/glibc/2.17/default.nix)0
-rw-r--r--pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch (renamed from pkgs/development/libraries/glibc/2.17/dont-use-system-ld-so-cache.patch)0
-rw-r--r--pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch12
-rw-r--r--pkgs/development/libraries/glibc/2.19/fix-math.patch336
-rw-r--r--pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch6
-rw-r--r--pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch (renamed from pkgs/development/libraries/glibc/2.17/glibc-crypt-blowfish.patch)0
-rw-r--r--pkgs/development/libraries/glibc/2.19/info.nix (renamed from pkgs/development/libraries/glibc/2.17/info.nix)0
-rw-r--r--pkgs/development/libraries/glibc/2.19/locales-builder.sh (renamed from pkgs/development/libraries/glibc/2.13/locales-builder.sh)0
-rw-r--r--pkgs/development/libraries/glibc/2.19/locales.nix47
-rw-r--r--pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch (renamed from pkgs/development/libraries/glibc/2.17/nix-locale-archive.patch)0
-rw-r--r--pkgs/development/libraries/glibc/2.19/rpcgen-path.patch54
-rw-r--r--pkgs/development/libraries/glibmm/default.nix18
-rw-r--r--pkgs/development/libraries/glm/default.nix34
-rw-r--r--pkgs/development/libraries/glog/default.nix16
-rw-r--r--pkgs/development/libraries/gloox/default.nix32
-rw-r--r--pkgs/development/libraries/glpk/default.nix6
-rw-r--r--pkgs/development/libraries/gmime/default.nix4
-rw-r--r--pkgs/development/libraries/gmm/default.nix2
-rw-r--r--pkgs/development/libraries/gmp/4.3.2.nix6
-rw-r--r--pkgs/development/libraries/gmp/5.0.5.nix2
-rw-r--r--pkgs/development/libraries/gmp/5.1.1.nix54
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix63
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix39
-rw-r--r--pkgs/development/libraries/gnutls/2.12.nix54
-rw-r--r--pkgs/development/libraries/gnutls/3.1.nix67
-rw-r--r--pkgs/development/libraries/gnutls/3.2.nix33
-rw-r--r--pkgs/development/libraries/gnutls/default.nix73
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch25
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix12
-rw-r--r--pkgs/development/libraries/goffice/0.10.nix37
-rw-r--r--pkgs/development/libraries/goffice/default.nix48
-rw-r--r--pkgs/development/libraries/google-gflags/default.nix26
-rw-r--r--pkgs/development/libraries/gperftools/default.nix12
-rw-r--r--pkgs/development/libraries/gperftools/glibc-2.16.patch13
-rw-r--r--pkgs/development/libraries/gpgme/default.nix4
-rw-r--r--pkgs/development/libraries/grantlee/default.nix4
-rw-r--r--pkgs/development/libraries/gsasl/default.nix7
-rw-r--r--pkgs/development/libraries/gsl/default.nix15
-rw-r--r--pkgs/development/libraries/gsl/disable-fma.patch32
-rw-r--r--pkgs/development/libraries/gss/default.nix2
-rw-r--r--pkgs/development/libraries/gssdp/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix44
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix35
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix28
-rw-r--r--pkgs/development/libraries/gstreamer/core/setup-hook.sh9
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix21
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix24
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix34
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix39
-rw-r--r--pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix29
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-bad/default.nix30
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix51
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix40
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-ugly/default.nix30
-rw-r--r--pkgs/development/libraries/gstreamer/gst-python/default.nix30
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamer/default.nix49
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamer/setup-hook.sh8
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix21
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix29
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix30
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix51
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix40
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch (renamed from pkgs/development/libraries/gstreamer/gst-plugins-good/v4l.patch)0
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix30
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix29
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix53
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh8
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix31
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch (renamed from pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch)0
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix20
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix35
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix35
-rw-r--r--pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch20
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix20
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix36
-rw-r--r--pkgs/development/libraries/gtest/default.nix34
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix15
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix33
-rw-r--r--pkgs/development/libraries/gtk-sharp-1/default.nix5
-rw-r--r--pkgs/development/libraries/gtk-sharp-1/glib-include.patch24
-rw-r--r--pkgs/development/libraries/gtkdatabox/default.nix2
-rw-r--r--pkgs/development/libraries/gtkimageview/default.nix2
-rw-r--r--pkgs/development/libraries/gtkmathview/default.nix2
-rw-r--r--pkgs/development/libraries/gtkmm/2.x.nix14
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix16
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix18
-rw-r--r--pkgs/development/libraries/gts/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp-av/default.nix21
-rw-r--r--pkgs/development/libraries/gupnp/default.nix20
-rw-r--r--pkgs/development/libraries/gurobi/default.nix25
-rw-r--r--pkgs/development/libraries/gvfs/default.nix16
-rw-r--r--pkgs/development/libraries/gwenhywfar/default.nix18
-rw-r--r--pkgs/development/libraries/hamlib/default.nix34
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/AC-Vector/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/AES/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/AspectAG/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/BlogLiterately/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/BoundedChan/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/CC-delcont/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.14.0.nix8
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix8
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix26
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix26
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix25
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/Chart-diagrams/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/ChasingBottoms/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/CouchDB/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/Crypto/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/DAV/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/DRBG/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/DSH/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/Diff/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/EitherT/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Extra/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/FerryCore/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/GLFW-b/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/GLFW/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix19
-rw-r--r--pkgs/development/libraries/haskell/GLUtil/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/Glob/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/GlomeVec/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/Graphalyze/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix5
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix3
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix3
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC.nix7
-rw-r--r--pkgs/development/libraries/haskell/HFuse/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/HList/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/HPDF/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/HSH/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HStringTemplate/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/HTF/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.6.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.9.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.17.nix26
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.8.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit-approx/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/HaTeX/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/HaXml/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/HandsomeSoup/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/HaskellForMaths/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/0.51.nix16
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/0.52.nix15
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/IORefCAS/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/IOSpec/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/IfElse/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/IntervalMap/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/JsContracts/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels-util/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/List/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/ListZipper/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/MFlow/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/MaybeT/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/MemoTrie/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/MissingH/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/MonadPrompt/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/NanoProlog/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/NumInstances/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/ObjectName/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/OneTuple/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/OpenAL/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/PSQueue/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/Pathfinder/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.6.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix19
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix18
-rw-r--r--pkgs/development/libraries/haskell/RSA/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/Ranged-sets/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/ReadArgs/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/RefSerialize/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/RepLib/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/SDL-image/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SDL-mixer/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SDL-ttf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SDL/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/SHA2/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/SMTPClient/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/STMonadTrans/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/SVGFonts/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/SafeSemaphore/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac.nix9
-rw-r--r--pkgs/development/libraries/haskell/StateVar/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/Stream/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/TCache/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/TableAlgebra/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/Tensor/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Thrift/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/TypeCompose/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Unixutils/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Vec/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits/1.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits/2.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits/2.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/Workflow/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/X11-xft/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/X11/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/Yampa/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Zwaluw/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/abstract-deque-tests/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/abstract-deque/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/abstract-par/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/accelerate-cuda/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/accelerate-examples/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/accelerate-fft/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/accelerate-io/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/accelerate/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/acid-state/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ad/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/adjunctions/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/aeson-pretty/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/aeson-qq/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/aeson-utils/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.4.nix28
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.6.nix28
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.8.0.0.nix27
-rw-r--r--pkgs/development/libraries/haskell/aeson/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/algebra/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/alsa-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/alsa-mixer/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/alsa-pcm/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/alternative-io/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/amqp/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ansi-terminal/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/appar/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/applicative-quoters/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ariadne/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/arithmoi/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/arrows/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/asn1-data/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/asn1-encoding/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/asn1-parse/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/asn1-types/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/assert-failure/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.3.nix5
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.4.nix5
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/atomic-primops/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/attempt/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/atto-lisp/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-binary/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-conduit/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix23
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix22
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix22
-rw-r--r--pkgs/development/libraries/haskell/authenticate-oauth/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/auto-update/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/aws/default.nix37
-rw-r--r--pkgs/development/libraries/haskell/base-compat/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/base-prelude/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/base-unicode-symbols/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/base16-bytestring/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/base32-bytestring/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/base64-conduit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/base64-string/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/benchpress/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bencoding/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/bert/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/bimap/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/binary-conduit/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/binary-shared/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/binary/0.6.0.0.nix13
-rw-r--r--pkgs/development/libraries/haskell/binary/0.6.1.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/binary/0.7.1.0.nix20
-rw-r--r--pkgs/development/libraries/haskell/binary/0.7.2.1.nix21
-rw-r--r--pkgs/development/libraries/haskell/bindings-DSL/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/bindings-GLFW/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/bindings-libusb/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/bindings-posix/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/bitarray/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/bitmap/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bits-atomic/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bits-extras/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/bktrees/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/blaze-from-html/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/blaze-markup/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/blaze-svg/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/blaze-textual/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/bloomfilter/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/bmp/1.2.2.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/bmp/1.2.5.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/bmp/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/bool-extras/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/boomerang/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/bound/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.2.nix23
-rw-r--r--pkgs/development/libraries/haskell/boxes/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/brainfuck/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bson/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/bv/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/byteable/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/bytedump/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/byteorder/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bytes/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/bytestring-lexing/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/bytestring-mmap/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bytestring-nums/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bytestring-progress/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bytestring-show/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/bytestring-trie/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/bzlib/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/c2hsc/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/cabal-cargs/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/cabal-file-th/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/cabal-lenses/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/cabal-macosx/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/carray/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix20
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix19
-rw-r--r--pkgs/development/libraries/haskell/cassava/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/categories/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cautious-file/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cereal-conduit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.5.nix3
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/cgrep/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/charset/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/cheapskate/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/checkers/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/chell-quickcheck/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/chell/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/chunked-data/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes128/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cipher-blowfish/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cipher-camellia/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cipher-des/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cipher-rc4/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/circle-packing/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/citeproc-hs/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/clay/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/clientsession/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/clock/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/cmdlib/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cmdtheline/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/code-builder/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/codec-image-devil/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/colorize-haskell/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/colors/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/colour/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/command-qq/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonad/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/comonads-fd/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/compact-string-fix/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/compdata/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/composition/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/compressed/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/concatenative/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/concreteTyperep/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/concurrent-extra/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/cond/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/conduit-combinators/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/configurator/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/connection/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/constraints/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/continued-fractions/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/contravariant/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/control-bool/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/control-monad-free/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/control-monad-loop/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/converge/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/convertible/1.0.11.1.nix19
-rw-r--r--pkgs/development/libraries/haskell/convertible/1.1.0.0.nix18
-rw-r--r--pkgs/development/libraries/haskell/convertible/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/cookie/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/coroutine-object/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cpu/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/crypto-api/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/crypto-cipher-types/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/crypto-conduit/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/crypto-numbers/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/crypto-random-api/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/crypto-random/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cryptocipher/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cryptohash-conduit/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/css-text/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/csv/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/cufft/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/curl/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix16
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix7
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-transformers.nix6
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor.nix8
-rw-r--r--pkgs/development/libraries/haskell/data-binary-ieee754/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/data-checked/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/data-default-class/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-default-instances-base/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-default-instances-containers/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-default-instances-dlist/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-default-instances-old-locale/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-default/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/data-fin/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/data-fix/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/data-hash/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/data-inttrie/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/data-lens-light/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/data-lens-template/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/data-lens/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/data-memocombinators/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/data-ordlist/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/data-pprint/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/data-reify/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/dataenc/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/date-cache/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/datetime/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/dbmigrations/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/deepseq-generics/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/deepseq-th/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix14
-rw-r--r--pkgs/development/libraries/haskell/dependent-map/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/dependent-sum-template/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/dependent-sum/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/derive/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/derp/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/diagrams/cairo.nix17
-rw-r--r--pkgs/development/libraries/haskell/diagrams/contrib.nix21
-rw-r--r--pkgs/development/libraries/haskell/diagrams/core.nix12
-rw-r--r--pkgs/development/libraries/haskell/diagrams/diagrams.nix6
-rw-r--r--pkgs/development/libraries/haskell/diagrams/lib.nix19
-rw-r--r--pkgs/development/libraries/haskell/diagrams/postscript.nix24
-rw-r--r--pkgs/development/libraries/haskell/diagrams/svg.nix17
-rw-r--r--pkgs/development/libraries/haskell/dice/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/diff3/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/digest/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-heist/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-snap/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/digits/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/dimensional-tf/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/dimensional/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/direct-sqlite/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/directory-tree/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/distributed-process/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/distributed-static/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/distributive/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/djinn-ghc/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/djinn-lib/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/djinn/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/dlist-instances/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/dlist/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/dns/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/doctest-prop/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/doctest/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/dom-selector/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/dotgen/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/double-conversion/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/download-curl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/download/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/dsp/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/dstring/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/dynamic-cabal/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/dyre/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/easy-file/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/edit-distance/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/editline/0.2.1.0.nix3
-rw-r--r--pkgs/development/libraries/haskell/editline/0.2.1.1.nix3
-rw-r--r--pkgs/development/libraries/haskell/either/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ekg-carbon/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/ekg-core/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/ekg/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/elerea/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/email-validate/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/enclosed-exceptions/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/encoding/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/engine-io-snap/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/engine-io/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/enumerator/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/enummapset-th/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/enummapset/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/enumset/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/equivalence/0.2.3.nix23
-rw-r--r--pkgs/development/libraries/haskell/equivalence/0.2.5.nix22
-rw-r--r--pkgs/development/libraries/haskell/erf/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/errorcall-eq-instance/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/errors/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/event-list/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/ex-pool/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/exception-mtl/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/exception-transformers/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/exceptions/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/executable-path/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/explicit-exception/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/extensible-effects/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix3
-rw-r--r--pkgs/development/libraries/haskell/failure/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/fast-logger/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/fastcgi/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/fay-base/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/fay-text/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/fay/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/fb/default.nix33
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/fdo-notify/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/feed/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/fgl-visualize/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.5.0.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.5.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/file-location/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/filemanip/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/filepath/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/filesystem-conduit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/final/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/fingertree/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/flexible-defaults/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/fmlist/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/focus/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/foldl/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/folds/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/force-layout/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/formatting/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/free-game/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/freetype2/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/fsnotify/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/ftphs/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/funcmp/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/fuzzcheck/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/gamma/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/gd/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/gdiff/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/generic-aeson/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/generic-deriving/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/generics-sop/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/geniplate/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ghc-core/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/ghc-events/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/ghc-heap-view/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix51
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix59
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix48
-rw-r--r--pkgs/development/libraries/haskell/ghc-mtl/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-paths/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb-utils/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-vis/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-dom/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/gio/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/git-date/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/github/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/gitlib-libgit2/default.nix31
-rw-r--r--pkgs/development/libraries/haskell/gitlib-test/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/gitlib/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/glade/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/gloss-accelerate/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/glpk-hs/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/gnuidn/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/gnuplot/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/gnutls/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/graph-wrapper/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/graphscc/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/groom/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/groupoids/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/groups/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gsasl/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gtk-traymanager/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/gtk3/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/gtkglext/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/gtksourceview2/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/hS3/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hackage-db/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/haddock-library/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix17
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix11
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-lite.nix6
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix20
-rw-r--r--pkgs/development/libraries/haskell/hashable-extras/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.1.2.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.2.1.0.nix22
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.2.2.0.nix23
-rw-r--r--pkgs/development/libraries/haskell/hashed-storage/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hashtables/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/haskeline-class/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/haskell-generate/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/haskell-lexer/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/haskell-mpi/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/haskell-names/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/haskell-packages/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix8
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix13
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix9
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix10
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix10
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix10
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/default.nix314
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix22
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix3
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix16
-rw-r--r--pkgs/development/libraries/haskell/haskelldb/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/haskintex/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/haskoin/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/haskore/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hastache/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/haste-compiler/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/haste-perch/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/haxl/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/haxr-th/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hcltest/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hdaemonize/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hedis/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/heredoc/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/hex/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hexpat/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hflags/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hfsevents/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hgal/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hi/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/hinotify/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hit/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hjsmin/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/build-fix.patch47
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/hlibgit2/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/hmatrix-special/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hoauth/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hoauth2/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/holy-project/default.nix34
-rw-r--r--pkgs/development/libraries/haskell/hoodle-builder/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hoodle-core/default.nix35
-rw-r--r--pkgs/development/libraries/haskell/hoodle-extra/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/hoodle-parser/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hoodle-render/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hoodle-types/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hoogle/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local.diff28
-rw-r--r--pkgs/development/libraries/haskell/hoogle/local.nix123
-rw-r--r--pkgs/development/libraries/haskell/hopenssl/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hostname/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hourglass/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/hp2any-core/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hp2any-graph/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hplayground/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hs-bibutils/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hscolour/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hsdns/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hse-cpp/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hsemail/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hsimport/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hsini/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hslogger-template/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hslua/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/hspec-attoparsec/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hspec-expectations/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hspec-meta/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/hspec-wai/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/hspec/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hspec2/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/hspread/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hsshellscript/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hstatsd/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hsyslog/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/html/1.0.1.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/http-attoparsec/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/http-client-conduit/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/http-client-multipart/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/http-client-tls/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix32
-rw-r--r--pkgs/development/libraries/haskell/http-common/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix38
-rw-r--r--pkgs/development/libraries/haskell/http-date/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/http-kit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/http-streams/default.nix34
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/httpd-shed/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/hweblib/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hxt-charproperties/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hxt-http/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hxt-tagsoup/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hxt-unicode/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hxt-xpath/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hybrid-vectors/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/iCalendar/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/idna/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ieee754/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/imm/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/implicit/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/indents/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/indexed-free/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/indexed/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/instant-generics/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/interlude/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/interpolate/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/intervals/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/io-choice/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/io-memoize/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/io-storage/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/io-streams/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/ipprint/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/iproute/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/irc/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/ivor/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/ix-shapable/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ixdopp/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/ixset/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/jack/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/jmacro/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/jpeg/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/json-assertions/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/json-rpc/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/json-schema/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/json/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/jsonTypes/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/kan-extensions/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/kansas-lava/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/keys/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/knob/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/lambdabot-utils/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/wrapper.nix16
-rw-r--r--pkgs/development/libraries/haskell/lambdacube-engine/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-c-inline/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/language-c/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/language-ecmascript/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/language-glsl/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/language-haskell-extract/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/language-java/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/language-javascript/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/largeword/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lazysmallcheck/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/leksah/leksah-server.nix25
-rw-r--r--pkgs/development/libraries/haskell/leksah/process-leksah.nix14
-rw-r--r--pkgs/development/libraries/haskell/lens-datetime/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/lens-family-core/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix34
-rw-r--r--pkgs/development/libraries/haskell/lenses/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/leveldb-haskell/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/libffi/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/libjenkins/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/libjenkins/new-conduit.patch23
-rw-r--r--pkgs/development/libraries/haskell/liblastfm/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/libmpd/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/libsystemd-journal/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/libxml-sax/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/lifted-async/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/linear/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/list-tries/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/listExtras/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lists/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix23
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix27
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix26
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/loch-th/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lockfree-queue/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/logfloat/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/logging/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/logict/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/loop/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/lrucache/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ltk/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lushtags/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/lzma-enumerator/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/maccatcher/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/machines/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/mainland-pretty/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/markdown-unlit/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/markov-chain/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/math-functions/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/matrix/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/maude/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/midi/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/mime-types/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/mime/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/minimorph/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/minioperational/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/miniutter/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/misfortune/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/missing-foreign/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/mmap/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/mmorph/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/modular-arithmetic/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/monad-coroutine/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/monad-extras/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/monad-journal/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/monad-logger/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/monad-loops/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/monad-par-extras/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.3.4.5.nix28
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix29
-rw-r--r--pkgs/development/libraries/haskell/monad-parallel/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/monad-peel/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/monad-stm/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monad-supply/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monad-unify/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monadcryptorandom/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/monadlib/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/monadloc-pp/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/monadloc/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/monads-tf/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/mongoDB/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/mono-traversable/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/monoid-extras/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/monoid-transformer/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/mpppc/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/msgpack/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.0.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.1.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.0.1.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.2.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.2.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/mtlparse/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/mueval/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/mueval/wrapper.nix33
-rw-r--r--pkgs/development/libraries/haskell/multiarg/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/multimap/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/multipart/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/multiplate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/multirec/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/multiset/0.2.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/multiset/0.2.2.nix13
-rw-r--r--pkgs/development/libraries/haskell/multiset/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/murmur-hash/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/mysql-simple/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/mysql/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/nanospec/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/nat/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/nats/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/naturals/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ncurses/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/netlist-to-vhdl/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/netlist/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/netwire/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/network-carbon/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/network-conduit-tls/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/network-conduit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/network-info/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/network-metrics/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/network-multicast/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/network-simple/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/network-transport-tcp/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/network-transport-tests/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-transport/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/network-uri/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.7.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.13.nix5
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.1.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.1.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.2.0.nix20
-rw-r--r--pkgs/development/libraries/haskell/network/2.5.0.0.nix21
-rw-r--r--pkgs/development/libraries/haskell/newtype/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/non-negative/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/numbers/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/numeric-extras/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/numeric-prelude/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/numtype-tf/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/numtype/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/oeis/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/openssl-streams/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/operational/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/opml/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/options/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/pandoc-citeproc/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/pandoc-types/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix46
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/parallel-io/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/parallel/1.1.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/2.2.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.1.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/parseargs/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/parsec/2.1.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.2.nix5
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.3.nix5
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.5.nix17
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.10.3.nix22
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.10.nix19
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.12.1.nix23
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.9.nix17
-rw-r--r--pkgs/development/libraries/haskell/parsimony/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/path-pieces/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/pathtype/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/patience/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/pattern-arrows/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/pbkdf/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/pcap-enumerator/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pcap/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pcre-light/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/pem/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/permutation/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/persistent-mysql/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/persistent-postgresql/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/pgm/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/pipes-aeson/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/pipes-attoparsec/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/pipes-binary/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/pipes-bytestring/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/pipes-concurrency/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/pipes-csv/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/pipes-group/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/pipes-http/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/pipes-network/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/pipes-parse/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/pipes-safe/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/pipes-text/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/pipes-zlib/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/pipes/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/placeholders/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/plugins/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/pointed/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/pointedlist/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/polyparse/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/pool-conduit/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/pop3-client/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/poppler/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/posix-paths/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/postgresql-libpq/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/ppm/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/pqueue/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/prelude-extras/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/prelude-safeenum/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/presburger/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/1.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/1.6.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/prettyclass/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.1.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.2.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.3.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/probability/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/process-conduit/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/process-extras/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/process/1.2.0.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/profunctor-extras/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/profunctors/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/project-template/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/prolog-graph-lib/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/prolog-graph/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/prolog/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/protobuf/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/publicsuffixlist/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/punycode/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pure-cdb/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/pureMD5/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/pwstore-fast/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/qrencode/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-assertions/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-instances/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-io/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/random-shuffle/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/random-source/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.1.1.nix3
-rw-r--r--pkgs/development/libraries/haskell/ranges/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/rank1dynamic/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana-wx/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/readline/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/recursion-schemes/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/reducers/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/reflection/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/regex-applicative/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.92.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.93.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.95.1.nix3
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.95.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.95.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/regex-tdfa-rc/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-tdfa-text/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-tdfa/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/regexpr/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/regular-xmlpickler/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/regular/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/remote/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/repa-algorithms/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/repa-examples/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/repa-io/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/repa/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/repr/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resource-pool-catchio/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/resource-pool/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/rest-client/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/rest-happstack/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/rest-snap/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/rest-stringmap/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/rest-types/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/rest-wai/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/rethinkdb/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/retry/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/rex/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/rfc5051/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/robots-txt/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/rosezipper/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/rvar/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/safecopy/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/sample-frame/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/sbv/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.2.0.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.3.3.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/scotty-hastache/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/scotty/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/scrypt/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/securemem/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/semigroupoid-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/sendfile/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/setenv/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/setlocale/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-css/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-i18n/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-text/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/shellish/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/shellmate/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/shelly/0.15.4.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/show/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/silently/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/simple-conduit/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/simple-reflect/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/simple-sql-parser/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/singletons/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/singletons/test.patch12
-rw-r--r--pkgs/development/libraries/haskell/sized-types/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/skein/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/smallcheck/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/smtLib/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/smtp-mail/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/smtps-gmail/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/snap-blaze/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/snap-cors/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/snap-web-routes/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix7
-rw-r--r--pkgs/development/libraries/haskell/snap/loader-dynamic.nix8
-rw-r--r--pkgs/development/libraries/haskell/snap/loader-static.nix6
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix16
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix9
-rw-r--r--pkgs/development/libraries/haskell/snaplet-acid-state/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/snaplet-redis/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/snaplet-stripe/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/snowball/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/socket-activation/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/socket-io/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/socks/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/sodium/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/sourcemap/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/sparse/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/spawn/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/speculation/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/split/0.1.4.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.1.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/spoon/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/sqlite-simple/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/srcloc/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/stateref/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/statestack/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/statvfs/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/stb-image/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/stm-chans/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/stm-conduit/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/stm-containers/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/stm-stats/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.1.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.2.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.2.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.3.nix14
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/storable-complex/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/storable-endian/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/storable-record/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/streamproc/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/strict-concurrency/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/strict/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/strictConcurrency/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/string-combinators/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/string-conversions/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/string-qq/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/stringable/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/stringbuilder/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/stringprep/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/stringsearch/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/stripe/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/strptime/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/stylish-haskell/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/svgcairo/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/syb/0.2.2.nix14
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.6.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.6.2.nix14
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.7.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.4.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.4.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/syb/0.4.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix3
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class.nix7
-rw-r--r--pkgs/development/libraries/haskell/symbol/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/syntactic/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/system-fileio/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/system-posix-redirect/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/system-time-monotonic/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/syz/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tables/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/tabular/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/tagged/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/taggy-lens/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/taggy/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/tagshare/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/tagstream-conduit/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/tasty-golden/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/tasty-hspec/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/tasty-hunit/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/tasty-quickcheck/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tasty-rerun/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/tasty-smallcheck/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/tasty-th/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tcache-AWS/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/template-default/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/template/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/temporary-rc/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/temporary/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/terminal-progress-bar/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/terminal-size/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix17
-rw-r--r--pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/terminfo/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/test-framework-hunit/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/test-framework-th-prime/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/test-framework-th/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/testing-feat/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/text-format/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/text-icu/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/text-stream-decode/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.6.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.13.nix22
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.2.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.2.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.3.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/1.1.1.3.nix23
-rw-r--r--pkgs/development/libraries/haskell/tf-random/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/th-desugar/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/th-expand-syns/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/th-extras/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/th-lift-instances/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/th-lift/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/th-orphans/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/these/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/thespian/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/threadmanager/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/threads/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/threepenny-gui/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/thyme/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/time-compat/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/time-recurrence/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/time/1.1.2.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/time/1.4.1.nix20
-rw-r--r--pkgs/development/libraries/haskell/time/1.4.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/timeparsers/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/timerep/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/timezone-olson/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/timezone-series/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tls/1.1.5.nix27
-rw-r--r--pkgs/development/libraries/haskell/tls/1.2.8.nix32
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/tostring/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/transformers-base/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/transformers-free/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.2.2.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.3.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.4.1.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/traverse-with-class/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tree-view/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/trifecta/1.1.nix30
-rw-r--r--pkgs/development/libraries/haskell/trifecta/1.2.nix30
-rw-r--r--pkgs/development/libraries/haskell/trifecta/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/tuple/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/twitter-conduit/default.nix35
-rw-r--r--pkgs/development/libraries/haskell/twitter-types/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/type-eq/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/type-equality/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/type-level-natural-number/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/tz/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/tzdata/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/unbound/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/unbounded-delays/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/union-find/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/uniplate/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/uniqueid/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/units/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/unix-bytestring/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/unix-compat/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/unix-memory/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/unix-process-conduit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/unix-time/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/unlambda/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix3
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix21
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix23
-rw-r--r--pkgs/development/libraries/haskell/uri-encode/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/uri/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/url/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/urlencoded/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/usb/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/utf8-light/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/utf8-string/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/utility-ht/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/uu-interleaved/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/uu-options/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/uuid/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/uulib/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/vacuum-cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vacuum-graphviz/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/vacuum/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/vado/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/vault/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/vcs-revision/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/vcsgui/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/vcswrapper/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/vect/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/vector-algorithms/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/vector-binary-instances/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/vector-instances/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/vector-space-points/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/vector-space/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/vector-th-unbox/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.11.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.9.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.9.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/vinyl/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/void/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/vty-ui/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/vty/4.7.5.nix29
-rw-r--r--pkgs/development/libraries/haskell/vty/5.1.4.nix34
-rw-r--r--pkgs/development/libraries/haskell/vty/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/wai-conduit/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-launch/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/wai-logger/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/wai-middleware-static/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/wai-test/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/wai-websockets/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/warp-tls/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/wcwidth/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/web-routes-boomerang/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/web-routes/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/webdriver/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/webkit/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/websockets-snap/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/websockets/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/wizards/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-extras/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-text/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/word8/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/wreq/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch13
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wx.nix7
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxc.nix8
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxcore.nix8
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix15
-rw-r--r--pkgs/development/libraries/haskell/x509-store/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/x509-system/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/x509-validation/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/x509/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/xdg-basedir/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/xdot/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix4
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix4
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.1.nix3
-rw-r--r--pkgs/development/libraries/haskell/xlsx/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit-writer/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/xml-hamlet/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/xml-lens/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/xml-types/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/xml/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/xmlgen/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/xmlhtml/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/xorshift/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/xournal-parser/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/xournal-types/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/xss-sanitize/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/xtest/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/yaml-light/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yap/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix33
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix38
-rw-r--r--pkgs/development/libraries/haskell/yesod-default/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yesod-json/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/yesod-persistent/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/yesod-platform/default.nix69
-rw-r--r--pkgs/development/libraries/haskell/yesod-routes/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix37
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yst/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/zeromq-haskell/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/zeromq3-haskell/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/zeromq4-haskell/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix21
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix20
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/zipper/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/zippers/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/zlib-bindings/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/zlib-conduit/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/zlib-enum/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.0.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.2.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.1.nix3
-rw-r--r--pkgs/development/libraries/hawknl/default.nix2
-rw-r--r--pkgs/development/libraries/http-parser/build-shared.patch (renamed from pkgs/development/libraries/http_parser/build-shared.patch)0
-rw-r--r--pkgs/development/libraries/http-parser/default.nix48
-rw-r--r--pkgs/development/libraries/http_parser/default.nix50
-rw-r--r--pkgs/development/libraries/ibus/default.nix42
-rw-r--r--pkgs/development/libraries/icu/default.nix24
-rw-r--r--pkgs/development/libraries/ilixi/default.nix27
-rw-r--r--pkgs/development/libraries/imlib2/default.nix15
-rw-r--r--pkgs/development/libraries/incrtcl/default.nix6
-rw-r--r--pkgs/development/libraries/iniparser/default.nix2
-rw-r--r--pkgs/development/libraries/intel-tbb/default.nix29
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix2
-rw-r--r--pkgs/development/libraries/isl/0.12.2.nix20
-rw-r--r--pkgs/development/libraries/isl/default.nix12
-rw-r--r--pkgs/development/libraries/isl/fix-gcc-build.diff12
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix4
-rw-r--r--pkgs/development/libraries/itk/default.nix7
-rw-r--r--pkgs/development/libraries/jansson/default.nix6
-rw-r--r--pkgs/development/libraries/java/geoipjava/default.nix2
-rw-r--r--pkgs/development/libraries/java/httpunit/default.nix6
-rw-r--r--pkgs/development/libraries/java/hydra-ant-logger/default.nix23
-rw-r--r--pkgs/development/libraries/java/icedtea/default.nix112
-rw-r--r--pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch20
-rw-r--r--pkgs/development/libraries/java/jflex/default.nix6
-rwxr-xr-xpkgs/development/libraries/java/junit/builder.sh6
-rw-r--r--pkgs/development/libraries/java/junit/default.nix26
-rw-r--r--pkgs/development/libraries/java/junixsocket/darwin.patch20
-rw-r--r--pkgs/development/libraries/java/junixsocket/default.nix42
-rw-r--r--pkgs/development/libraries/java/libmatthew-java/default.nix2
-rw-r--r--pkgs/development/libraries/java/rhino/default.nix67
-rw-r--r--pkgs/development/libraries/java/swt/default.nix2
-rw-r--r--pkgs/development/libraries/java/xalanj/default.nix57
-rw-r--r--pkgs/development/libraries/java/xerces/default.nix57
-rw-r--r--pkgs/development/libraries/javascript/jquery-ui/default.nix4
-rw-r--r--pkgs/development/libraries/jbig2dec/default.nix2
-rw-r--r--pkgs/development/libraries/json-c/0.11.nix22
-rw-r--r--pkgs/development/libraries/json-c/default.nix32
-rw-r--r--pkgs/development/libraries/json-c/unused-variable.patch18
-rw-r--r--pkgs/development/libraries/json-glib/default.nix19
-rw-r--r--pkgs/development/libraries/judy/default.nix2
-rw-r--r--pkgs/development/libraries/kdevplatform/default.nix10
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix12
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix8
-rw-r--r--pkgs/development/libraries/keybinder/default.nix43
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix32
-rw-r--r--pkgs/development/libraries/lcms/default.nix2
-rw-r--r--pkgs/development/libraries/lcms2/default.nix2
-rw-r--r--pkgs/development/libraries/lensfun/default.nix9
-rw-r--r--pkgs/development/libraries/leptonica/default.nix6
-rw-r--r--pkgs/development/libraries/lesstif/default.nix4
-rw-r--r--pkgs/development/libraries/leveldb/default.nix4
-rw-r--r--pkgs/development/libraries/levmar/default.nix3
-rw-r--r--pkgs/development/libraries/lgi/default.nix24
-rw-r--r--pkgs/development/libraries/libao/default.nix9
-rw-r--r--pkgs/development/libraries/libarchive/CVE-2013-0211.patch30
-rw-r--r--pkgs/development/libraries/libarchive/default.nix15
-rw-r--r--pkgs/development/libraries/libass/default.nix29
-rw-r--r--pkgs/development/libraries/libassuan/default.nix6
-rw-r--r--pkgs/development/libraries/libassuan/git.nix2
-rw-r--r--pkgs/development/libraries/libassuan1/default.nix2
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.nix28
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.upstream1
-rw-r--r--pkgs/development/libraries/libav/default.nix12
-rw-r--r--pkgs/development/libraries/libbluray/A01-filter-dup.patch80
-rw-r--r--pkgs/development/libraries/libbluray/default.nix5
-rw-r--r--pkgs/development/libraries/libbsd/default.nix3
-rw-r--r--pkgs/development/libraries/libc++/default.nix27
-rw-r--r--pkgs/development/libraries/libc++abi/default.nix39
-rw-r--r--pkgs/development/libraries/libcaca/default.nix4
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix2
-rw-r--r--pkgs/development/libraries/libcangjie/default.nix32
-rw-r--r--pkgs/development/libraries/libcddb/default.nix6
-rw-r--r--pkgs/development/libraries/libcdio/0.82.nix27
-rw-r--r--pkgs/development/libraries/libcdio/default.nix6
-rw-r--r--pkgs/development/libraries/libcdr/default.nix10
-rw-r--r--pkgs/development/libraries/libchamplain/0.6.nix2
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix2
-rw-r--r--pkgs/development/libraries/libchop/default.nix6
-rw-r--r--pkgs/development/libraries/libconfig/default.nix5
-rw-r--r--pkgs/development/libraries/libcredis/default.nix29
-rw-r--r--pkgs/development/libraries/libcue/default.nix6
-rw-r--r--pkgs/development/libraries/libdaemon/default.nix4
-rw-r--r--pkgs/development/libraries/libdc1394/default.nix6
-rw-r--r--pkgs/development/libraries/libdc1394avt/default.nix3
-rw-r--r--pkgs/development/libraries/libdiscid/default.nix2
-rw-r--r--pkgs/development/libraries/libdivsufsort/default.nix2
-rw-r--r--pkgs/development/libraries/libdmtx/default.nix4
-rw-r--r--pkgs/development/libraries/libdrm/default.nix6
-rw-r--r--pkgs/development/libraries/libdvbpsi/default.nix2
-rw-r--r--pkgs/development/libraries/libdvdcss/default.nix6
-rw-r--r--pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch137
-rw-r--r--pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch21
-rw-r--r--pkgs/development/libraries/libdvdnav/default.nix16
-rw-r--r--pkgs/development/libraries/libdvdread/default.nix16
-rw-r--r--pkgs/development/libraries/libdwg/default.nix2
-rw-r--r--pkgs/development/libraries/libe-book/0.0.nix30
-rw-r--r--pkgs/development/libraries/libe-book/0.0.upstream4
-rw-r--r--pkgs/development/libraries/libe-book/default.nix29
-rw-r--r--pkgs/development/libraries/libe-book/default.upstream4
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix6
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libelf/default.nix2
-rw-r--r--pkgs/development/libraries/libestr/default.nix6
-rw-r--r--pkgs/development/libraries/libev/src-for-default.nix8
-rw-r--r--pkgs/development/libraries/libevdev/default.nix20
-rw-r--r--pkgs/development/libraries/libevent/default.nix7
-rw-r--r--pkgs/development/libraries/libexif/default.nix2
-rw-r--r--pkgs/development/libraries/libextractor/default.nix6
-rw-r--r--pkgs/development/libraries/libffi/default.nix6
-rw-r--r--pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch37
-rw-r--r--pkgs/development/libraries/libfm/default.nix19
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix42
-rw-r--r--pkgs/development/libraries/libftdi/default.nix2
-rw-r--r--pkgs/development/libraries/libgadu/default.nix2
-rw-r--r--pkgs/development/libraries/libgcrypt/1.6.nix50
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix9
-rw-r--r--pkgs/development/libraries/libgcrypt/git.nix48
-rw-r--r--pkgs/development/libraries/libgdata/default.nix51
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix3
-rw-r--r--pkgs/development/libraries/libgdiplus/giflib.patch117
-rw-r--r--pkgs/development/libraries/libgeotiff/default.nix2
-rw-r--r--pkgs/development/libraries/libgig/default.nix1
-rw-r--r--pkgs/development/libraries/libgksu/default.nix83
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch60
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch25
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch19
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch26
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch359
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch76
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch40
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix23
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix12
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libgpod/default.nix4
-rw-r--r--pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--pkgs/development/libraries/libgtop/default.nix6
-rw-r--r--pkgs/development/libraries/libiconv/default.nix4
-rw-r--r--pkgs/development/libraries/libid3tag/debian-patches.patch89
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix26
-rw-r--r--pkgs/development/libraries/libid3tag/id3tag.pc11
-rw-r--r--pkgs/development/libraries/libidn/default.nix6
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix7
-rw-r--r--pkgs/development/libraries/libiptcdata/default.nix2
-rw-r--r--pkgs/development/libraries/libivykis/default.nix26
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix6
-rw-r--r--pkgs/development/libraries/libjson-rpc-cpp/default.nix8
-rw-r--r--pkgs/development/libraries/libktorrent/default.nix10
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix20
-rw-r--r--pkgs/development/libraries/liblastfm/ruby-1.9.patch45
-rw-r--r--pkgs/development/libraries/liblo/default.nix2
-rw-r--r--pkgs/development/libraries/liblockfile/default.nix2
-rw-r--r--pkgs/development/libraries/liblogging/default.nix18
-rw-r--r--pkgs/development/libraries/liblscp/default.nix1
-rw-r--r--pkgs/development/libraries/libmatchbox/default.nix2
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix4
-rw-r--r--pkgs/development/libraries/libmbim/default.nix23
-rw-r--r--pkgs/development/libraries/libmemcached/default.nix16
-rw-r--r--pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch19
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix13
-rw-r--r--pkgs/development/libraries/libmilter/default.nix6
-rw-r--r--pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch12
-rw-r--r--pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch28
-rw-r--r--pkgs/development/libraries/libmkv/P00-mingw-large-file.patch24
-rw-r--r--pkgs/development/libraries/libmkv/default.nix29
-rw-r--r--pkgs/development/libraries/libmm-qt/default.nix32
-rw-r--r--pkgs/development/libraries/libmms/default.nix4
-rw-r--r--pkgs/development/libraries/libmng/default.nix16
-rw-r--r--pkgs/development/libraries/libmnl/default.nix2
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix18
-rw-r--r--pkgs/development/libraries/libmodplug/default.nix59
-rw-r--r--pkgs/development/libraries/libmp3splt/default.nix21
-rw-r--r--pkgs/development/libraries/libmpeg2/A00-tags.patch27
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix7
-rw-r--r--pkgs/development/libraries/libmrss/default.nix2
-rw-r--r--pkgs/development/libraries/libmsgpack/default.nix31
-rw-r--r--pkgs/development/libraries/libmsn/default.nix1
-rw-r--r--pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff16
-rw-r--r--pkgs/development/libraries/libmspack/default.nix11
-rw-r--r--pkgs/development/libraries/libmtp/default.nix4
-rw-r--r--pkgs/development/libraries/libmusclecard/default.nix1
-rw-r--r--pkgs/development/libraries/libmusicbrainz/5.x.nix25
-rw-r--r--pkgs/development/libraries/libmwaw/0.2.nix29
-rw-r--r--pkgs/development/libraries/libmwaw/0.2.upstream4
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix28
-rw-r--r--pkgs/development/libraries/libmwaw/default.upstream4
-rw-r--r--pkgs/development/libraries/libmx/default.nix60
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix6
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix2
-rw-r--r--pkgs/development/libraries/libnih/default.nix2
-rw-r--r--pkgs/development/libraries/libnm-qt/default.nix34
-rw-r--r--pkgs/development/libraries/libnotify/default.nix21
-rw-r--r--pkgs/development/libraries/libnova/default.nix4
-rw-r--r--pkgs/development/libraries/libnxml/default.nix2
-rw-r--r--pkgs/development/libraries/liboauth/default.nix21
-rw-r--r--pkgs/development/libraries/libodfgen/default.nix29
-rw-r--r--pkgs/development/libraries/libodfgen/default.upstream4
-rw-r--r--pkgs/development/libraries/libofa/curl-types.patch13
-rw-r--r--pkgs/development/libraries/libofa/default.nix17
-rw-r--r--pkgs/development/libraries/libofa/gcc-4.x.patch12
-rw-r--r--pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch36
-rw-r--r--pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch39
-rw-r--r--pkgs/development/libraries/libofx/default.nix4
-rw-r--r--pkgs/development/libraries/libogg/default.nix18
-rw-r--r--pkgs/development/libraries/libopensc-dnie/default.nix17
-rw-r--r--pkgs/development/libraries/liboping/default.nix29
-rw-r--r--pkgs/development/libraries/libopus/default.nix18
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix24
-rw-r--r--pkgs/development/libraries/libossp-uuid/default.nix40
-rw-r--r--pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch29
-rw-r--r--pkgs/development/libraries/libotr/default.nix26
-rw-r--r--pkgs/development/libraries/libpaper/default.nix2
-rw-r--r--pkgs/development/libraries/libpar2/default.nix12
-rw-r--r--pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch16
-rw-r--r--pkgs/development/libraries/libpcap/default.nix4
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix17
-rw-r--r--pkgs/development/libraries/libpng/12.nix13
-rw-r--r--pkgs/development/libraries/libpng/15.nix4
-rw-r--r--pkgs/development/libraries/libpng/default.nix10
-rw-r--r--pkgs/development/libraries/libproxy/default.nix12
-rw-r--r--pkgs/development/libraries/libpwquality/default.nix12
-rw-r--r--pkgs/development/libraries/libqglviewer/default.nix2
-rw-r--r--pkgs/development/libraries/libqmi/default.nix21
-rw-r--r--pkgs/development/libraries/libraw/default.nix21
-rw-r--r--pkgs/development/libraries/librdf/default.nix2
-rw-r--r--pkgs/development/libraries/librdf/raptor2.nix4
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix4
-rw-r--r--pkgs/development/libraries/librdf/redland.nix6
-rw-r--r--pkgs/development/libraries/libre/default.nix8
-rw-r--r--pkgs/development/libraries/librem/default.nix8
-rw-r--r--pkgs/development/libraries/libresample/default.nix27
-rw-r--r--pkgs/development/libraries/libressl/default.nix20
-rw-r--r--pkgs/development/libraries/librevenge/default.nix29
-rw-r--r--pkgs/development/libraries/librevenge/default.upstream4
-rw-r--r--pkgs/development/libraries/librevisa/default.nix29
-rw-r--r--pkgs/development/libraries/librsvg/default.nix2
-rw-r--r--pkgs/development/libraries/librsync/default.nix2
-rw-r--r--pkgs/development/libraries/libsamplerate/default.nix16
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix32
-rw-r--r--pkgs/development/libraries/libsearpc/libsearpc.pc.patch10
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix31
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libserialport/default.nix21
-rw-r--r--pkgs/development/libraries/libshout/default.nix17
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix8
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix2
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix13
-rw-r--r--pkgs/development/libraries/libsodium/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/2.40.nix32
-rw-r--r--pkgs/development/libraries/libsoup/default.nix23
-rw-r--r--pkgs/development/libraries/libspatialindex/default.nix2
-rw-r--r--pkgs/development/libraries/libspectre/default.nix2
-rw-r--r--pkgs/development/libraries/libspotify/default.nix2
-rw-r--r--pkgs/development/libraries/libssh/default.nix10
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix10
-rw-r--r--pkgs/development/libraries/libtiff/default.nix36
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix12
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix39
-rw-r--r--pkgs/development/libraries/libtsm/default.nix21
-rw-r--r--pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix23
-rw-r--r--pkgs/development/libraries/libunibreak/default.nix11
-rw-r--r--pkgs/development/libraries/libunique/default.nix3
-rw-r--r--pkgs/development/libraries/libunistring/default.nix2
-rw-r--r--pkgs/development/libraries/libunwind/default.nix10
-rw-r--r--pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--pkgs/development/libraries/libusb1/1_0_9.nix20
-rw-r--r--pkgs/development/libraries/libusb1/default.nix11
-rw-r--r--pkgs/development/libraries/libuv/default.nix103
-rw-r--r--pkgs/development/libraries/libva/default.nix13
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix16
-rw-r--r--pkgs/development/libraries/libviper/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix48
-rw-r--r--pkgs/development/libraries/libvirt/default.nix79
-rw-r--r--pkgs/development/libraries/libvirt/securtyfs_userns.patch30
-rw-r--r--pkgs/development/libraries/libvisio/default.nix12
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix21
-rw-r--r--pkgs/development/libraries/libvpx/default.nix13
-rw-r--r--pkgs/development/libraries/libwacom/default.nix19
-rw-r--r--pkgs/development/libraries/libwebp/default.nix16
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix8
-rw-r--r--pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch12
-rw-r--r--pkgs/development/libraries/libwpd/default.nix8
-rw-r--r--pkgs/development/libraries/libwpg/default.nix8
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix10
-rw-r--r--pkgs/development/libraries/libxklavier/default.nix31
-rw-r--r--pkgs/development/libraries/libxmi/default.nix2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix36
-rw-r--r--pkgs/development/libraries/libxml2/pthread-once-init.patch35
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix8
-rw-r--r--pkgs/development/libraries/libxmp/default.nix23
-rw-r--r--pkgs/development/libraries/libxslt/default.nix32
-rw-r--r--pkgs/development/libraries/libxslt/patch-ah.patch69
-rw-r--r--pkgs/development/libraries/libyaml-cpp/0.3.x.nix2
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/libyaml/default.nix16
-rw-r--r--pkgs/development/libraries/libyubikey/default.nix21
-rw-r--r--pkgs/development/libraries/libzdb/default.nix24
-rw-r--r--pkgs/development/libraries/libzip/default.nix4
-rw-r--r--pkgs/development/libraries/libzrtpcpp/1.6.nix3
-rw-r--r--pkgs/development/libraries/libzrtpcpp/default.nix2
-rw-r--r--pkgs/development/libraries/lightning/default.nix15
-rw-r--r--pkgs/development/libraries/log4cplus/default.nix4
-rw-r--r--pkgs/development/libraries/log4cpp/default.nix6
-rw-r--r--pkgs/development/libraries/log4cxx/default.nix27
-rw-r--r--pkgs/development/libraries/lzo/default.nix2
-rw-r--r--pkgs/development/libraries/mdds/0.7.1.nix17
-rw-r--r--pkgs/development/libraries/mdds/default.nix12
-rw-r--r--pkgs/development/libraries/mdds/default.upstream10
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix4
-rw-r--r--pkgs/development/libraries/menu-cache/default.nix19
-rw-r--r--pkgs/development/libraries/mesa-darwin/default.nix62
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch147
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch33
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch28
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch29
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch28
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch40
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch30
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch55
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch69
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff11
-rw-r--r--pkgs/development/libraries/mesa/default.nix108
-rw-r--r--pkgs/development/libraries/mesa/dlopen-absolute-paths.diff13
-rw-r--r--pkgs/development/libraries/mesa/dricore-gallium.patch216
-rw-r--r--pkgs/development/libraries/mesa/fix-rounding.patch357
-rw-r--r--pkgs/development/libraries/mesa/glx_ro_text_segm.patch25
-rw-r--r--pkgs/development/libraries/mesa/rtti.patch72
-rw-r--r--pkgs/development/libraries/mesa/static-gallium.patch9
-rw-r--r--pkgs/development/libraries/ming/default.nix2
-rw-r--r--pkgs/development/libraries/minixml/default.nix6
-rw-r--r--pkgs/development/libraries/minizip/default.nix14
-rw-r--r--pkgs/development/libraries/mlt/default.nix36
-rw-r--r--pkgs/development/libraries/movit/default.nix25
-rw-r--r--pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch142
-rw-r--r--pkgs/development/libraries/mp4v2/A01-divide-zero.patch22
-rw-r--r--pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch14
-rw-r--r--pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch11
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix8
-rw-r--r--pkgs/development/libraries/mpc/default.nix6
-rw-r--r--pkgs/development/libraries/mpfr/3.1.2.nix51
-rw-r--r--pkgs/development/libraries/mpfr/default.nix31
-rw-r--r--pkgs/development/libraries/mps/default.nix24
-rw-r--r--pkgs/development/libraries/mtdev/default.nix5
-rw-r--r--pkgs/development/libraries/muparser/default.nix2
-rw-r--r--pkgs/development/libraries/mygui/default.nix2
-rw-r--r--pkgs/development/libraries/mygui/svn.nix2
-rw-r--r--pkgs/development/libraries/mysocketw/default.nix2
-rw-r--r--pkgs/development/libraries/nanomsg/default.nix23
-rw-r--r--pkgs/development/libraries/ncurses/5_4.nix75
-rw-r--r--pkgs/development/libraries/ncurses/default.nix41
-rw-r--r--pkgs/development/libraries/ncurses/patch-ac40
-rw-r--r--pkgs/development/libraries/nettle/default.nix2
-rw-r--r--pkgs/development/libraries/newt/default.nix6
-rw-r--r--pkgs/development/libraries/nix-plugins/default.nix25
-rw-r--r--pkgs/development/libraries/npapi-sdk/default.nix22
-rw-r--r--pkgs/development/libraries/npth/default.nix2
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/85_security_load.patch82
-rw-r--r--pkgs/development/libraries/nss/default.nix20
-rw-r--r--pkgs/development/libraries/nss/nix_secload_fixup.patch48
-rw-r--r--pkgs/development/libraries/ntrack/default.nix7
-rw-r--r--pkgs/development/libraries/ntrack/libnl-fix.patch11
-rw-r--r--pkgs/development/libraries/nvidia-texture-tools/default.nix41
-rw-r--r--pkgs/development/libraries/ode/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/default.nix2
-rw-r--r--pkgs/development/libraries/ogrepaged/default.nix2
-rw-r--r--pkgs/development/libraries/ois/default.nix13
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix6
-rw-r--r--pkgs/development/libraries/opal/default.nix70
-rw-r--r--pkgs/development/libraries/opal/disable-samples-ftbfs.diff14
-rw-r--r--pkgs/development/libraries/opal/libav10.patch208
-rw-r--r--pkgs/development/libraries/opal/libav9.patch543
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix24
-rw-r--r--pkgs/development/libraries/openal/default.nix2
-rw-r--r--pkgs/development/libraries/openbabel/default.nix4
-rw-r--r--pkgs/development/libraries/opencascade/oce.nix7
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix6
-rw-r--r--pkgs/development/libraries/opencv/2.1.nix1
-rw-r--r--pkgs/development/libraries/opencv/default.nix14
-rw-r--r--pkgs/development/libraries/opendkim/default.nix4
-rw-r--r--pkgs/development/libraries/openjpeg/default.nix16
-rw-r--r--pkgs/development/libraries/openldap/default.nix11
-rw-r--r--pkgs/development/libraries/openmpi/default.nix7
-rw-r--r--pkgs/development/libraries/openssl/cert-file.patch14
-rw-r--r--pkgs/development/libraries/openssl/default.nix25
-rw-r--r--pkgs/development/libraries/osip/3.nix2
-rw-r--r--pkgs/development/libraries/osip/default.nix2
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix10
-rw-r--r--pkgs/development/libraries/pango/default.nix18
-rw-r--r--pkgs/development/libraries/pangomm/2.28.x.nix29
-rw-r--r--pkgs/development/libraries/pangomm/default.nix33
-rw-r--r--pkgs/development/libraries/pangox-compat/default.nix2
-rw-r--r--pkgs/development/libraries/pcl/default.nix1
-rw-r--r--pkgs/development/libraries/pcre/default.nix27
-rw-r--r--pkgs/development/libraries/phonon-backend-gstreamer/default.nix6
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/default.nix8
-rw-r--r--pkgs/development/libraries/phonon/default.nix8
-rw-r--r--pkgs/development/libraries/php-apc/default.nix26
-rw-r--r--pkgs/development/libraries/php-xcache/default.nix33
-rw-r--r--pkgs/development/libraries/pixman/default.nix10
-rw-r--r--pkgs/development/libraries/plib/default.nix2
-rw-r--r--pkgs/development/libraries/pocketsphinx/default.nix1
-rw-r--r--pkgs/development/libraries/podofo/default.nix15
-rw-r--r--pkgs/development/libraries/polkit/default.nix67
-rw-r--r--pkgs/development/libraries/poppler/0.18.nix53
-rw-r--r--pkgs/development/libraries/poppler/default.nix20
-rw-r--r--pkgs/development/libraries/poppler/poppler-glib.patch19
-rw-r--r--pkgs/development/libraries/portaudio/default.nix9
-rw-r--r--pkgs/development/libraries/postgis/default.nix3
-rw-r--r--pkgs/development/libraries/ppl/default.nix16
-rw-r--r--pkgs/development/libraries/ppl/upstream-based.patch42
-rw-r--r--pkgs/development/libraries/proj/default.nix2
-rw-r--r--pkgs/development/libraries/protobuf/default.nix4
-rw-r--r--pkgs/development/libraries/ptlib/bison.patch2887
-rw-r--r--pkgs/development/libraries/ptlib/default.nix55
-rw-r--r--pkgs/development/libraries/pupnp/default.nix4
-rw-r--r--pkgs/development/libraries/qca2/default.nix2
-rw-r--r--pkgs/development/libraries/qca2/gcc47.patch12
-rw-r--r--pkgs/development/libraries/qca2/ossl.nix12
-rw-r--r--pkgs/development/libraries/qimageblitz/default.nix6
-rw-r--r--pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch11
-rw-r--r--pkgs/development/libraries/qt-3/default.nix2
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix14
-rw-r--r--pkgs/development/libraries/qt-5/default.nix166
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch36
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch36
-rw-r--r--pkgs/development/libraries/qt-5/glib-2.32.patch12
-rw-r--r--pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch36
-rw-r--r--pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch24
-rw-r--r--pkgs/development/libraries/qt-5/qt-5.3.nix165
-rw-r--r--pkgs/development/libraries/qwt/6.nix27
-rw-r--r--pkgs/development/libraries/rabbitmq-c/default.nix21
-rw-r--r--pkgs/development/libraries/rabbitmq-java-client/default.nix30
-rw-r--r--pkgs/development/libraries/re2/default.nix4
-rw-r--r--pkgs/development/libraries/readline/no-arch_only-6.3.patch13
-rw-r--r--pkgs/development/libraries/readline/no-arch_only.patch14
-rw-r--r--pkgs/development/libraries/readline/readline-6.2-patches.nix1
-rw-r--r--pkgs/development/libraries/readline/readline4.nix10
-rw-r--r--pkgs/development/libraries/readline/readline5.nix14
-rw-r--r--pkgs/development/libraries/readline/readline6.3.nix55
-rw-r--r--pkgs/development/libraries/readline/readline6.nix6
-rw-r--r--pkgs/development/libraries/readline/shobj-darwin.patch11
-rw-r--r--pkgs/development/libraries/rubberband/default.nix15
-rw-r--r--pkgs/development/libraries/ruby_ncursesw_sup/default.nix11
-rw-r--r--pkgs/development/libraries/sbc/default.nix4
-rw-r--r--pkgs/development/libraries/science/biology/biolib/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix32
-rw-r--r--pkgs/development/libraries/science/math/liblbfgs/default.nix16
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix3
-rw-r--r--pkgs/development/libraries/serd/default.nix2
-rw-r--r--pkgs/development/libraries/serf/default.nix34
-rw-r--r--pkgs/development/libraries/silgraphite/default.nix4
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix14
-rw-r--r--pkgs/development/libraries/silgraphite/macosx.patch13
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix2
-rw-r--r--pkgs/development/libraries/snack/default.nix2
-rw-r--r--pkgs/development/libraries/snappy/default.nix4
-rw-r--r--pkgs/development/libraries/sodium/default.nix8
-rw-r--r--pkgs/development/libraries/soprano/default.nix4
-rw-r--r--pkgs/development/libraries/soqt/default.nix2
-rw-r--r--pkgs/development/libraries/sord/default.nix2
-rw-r--r--pkgs/development/libraries/sparsehash/default.nix17
-rw-r--r--pkgs/development/libraries/speech-tools/default.nix1
-rw-r--r--pkgs/development/libraries/speechd/default.nix2
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix1
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix56
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix25
-rw-r--r--pkgs/development/libraries/sqlite/default.nix8
-rw-r--r--pkgs/development/libraries/strigi/default.nix2
-rw-r--r--pkgs/development/libraries/strigi/export_bufferedstream.patch12
-rw-r--r--pkgs/development/libraries/suitesparse/default.nix4
-rw-r--r--pkgs/development/libraries/sword/default.nix18
-rw-r--r--pkgs/development/libraries/sword/dont_include_curl_types_h.patch24
-rw-r--r--pkgs/development/libraries/szip/default.nix20
-rw-r--r--pkgs/development/libraries/t1lib/default.nix4
-rw-r--r--pkgs/development/libraries/taglib/default.nix12
-rw-r--r--pkgs/development/libraries/talloc/default.nix2
-rw-r--r--pkgs/development/libraries/tbb/default.nix14
-rw-r--r--pkgs/development/libraries/tcllib/default.nix4
-rw-r--r--pkgs/development/libraries/tdb/default.nix2
-rw-r--r--pkgs/development/libraries/tecla/default.nix6
-rw-r--r--pkgs/development/libraries/telepathy/farstream/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix13
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix14
-rw-r--r--pkgs/development/libraries/telepathy/qt/farstream-0.2.diff28
-rw-r--r--pkgs/development/libraries/thrift/default.nix41
-rw-r--r--pkgs/development/libraries/thrift/yylex.patch23
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix11
-rw-r--r--pkgs/development/libraries/tk/default.nix26
-rw-r--r--pkgs/development/libraries/tk/different-prefix-with-tcl.patch22
-rw-r--r--pkgs/development/libraries/tokyo-cabinet/default.nix2
-rw-r--r--pkgs/development/libraries/tokyo-tyrant/default.nix2
-rw-r--r--pkgs/development/libraries/tsocks/default.nix2
-rw-r--r--pkgs/development/libraries/ucl/default.nix2
-rw-r--r--pkgs/development/libraries/ucommon/default.nix8
-rw-r--r--pkgs/development/libraries/unicap/default.nix1
-rw-r--r--pkgs/development/libraries/unixODBC/default.nix4
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix16
-rw-r--r--pkgs/development/libraries/usbredir/default.nix23
-rw-r--r--pkgs/development/libraries/v8/default.nix114
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix18
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix9
-rw-r--r--pkgs/development/libraries/vigra/default.nix13
-rw-r--r--pkgs/development/libraries/vmime/default.nix2
-rw-r--r--pkgs/development/libraries/vtk/default.nix10
-rw-r--r--pkgs/development/libraries/vxl/default.nix9
-rw-r--r--pkgs/development/libraries/wayland/default.nix6
-rw-r--r--pkgs/development/libraries/webkit/bison26.patch515
-rw-r--r--pkgs/development/libraries/webkit/default.nix106
-rw-r--r--pkgs/development/libraries/webkit/gtk2.nix109
-rw-r--r--pkgs/development/libraries/webkit/src-for-default.nix10
-rw-r--r--pkgs/development/libraries/webkit/src-for-gtk2.nix10
-rw-r--r--pkgs/development/libraries/webkit/src-for-svn.nix9
-rw-r--r--pkgs/development/libraries/webkit/src-info-for-default.nix6
-rw-r--r--pkgs/development/libraries/webkit/src-info-for-svn.nix6
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix61
-rw-r--r--pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch8
-rw-r--r--pkgs/development/libraries/wildmidi/default.nix22
-rw-r--r--pkgs/development/libraries/wtk/default.nix2
-rw-r--r--pkgs/development/libraries/wvstreams/default.nix2
-rw-r--r--pkgs/development/libraries/wxGTK-3.0/default.nix58
-rw-r--r--pkgs/development/libraries/xapian/1.0.x.nix2
-rw-r--r--pkgs/development/libraries/xapian/bindings/1.0.x.nix2
-rw-r--r--pkgs/development/libraries/xbase/default.nix8
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/default.nix38
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4174
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m444
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m424
-rw-r--r--pkgs/development/libraries/xercesc/default.nix3
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix4
-rw-r--r--pkgs/development/libraries/xlibs-wrapper/default.nix2
-rw-r--r--pkgs/development/libraries/xmlrpc-c/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix2
-rw-r--r--pkgs/development/libraries/xylib/default.nix23
-rw-r--r--pkgs/development/libraries/yajl/default.nix10
-rw-r--r--pkgs/development/libraries/zeitgeist/dbus_glib.patch10
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix38
-rw-r--r--pkgs/development/libraries/zeroc-ice/default.nix28
-rw-r--r--pkgs/development/libraries/zeromq/2.x.nix5
-rw-r--r--pkgs/development/libraries/zeromq/3.x.nix5
-rw-r--r--pkgs/development/libraries/zeromq/4.x.nix18
-rw-r--r--pkgs/development/libraries/zlib/default.nix17
-rw-r--r--pkgs/development/libraries/zziplib/default.nix4
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix8
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix2
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix8
-rw-r--r--pkgs/development/lisp-modules/stumpwm/default.nix15
-rw-r--r--pkgs/development/misc/amdadl-sdk/default.nix20
-rw-r--r--pkgs/development/misc/avr-gcc-with-avr-libc/default.nix3
-rw-r--r--pkgs/development/misc/avr8-burn-omat/default.nix2
-rw-r--r--pkgs/development/misc/intelgen4asm/default.nix21
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml361
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix16
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix31
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix19
-rw-r--r--pkgs/development/mobile/androidenv/build-app.nix20
-rw-r--r--pkgs/development/mobile/androidenv/default.nix20
-rw-r--r--pkgs/development/mobile/androidenv/emulate-app.nix59
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix10
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix12
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix12
-rw-r--r--pkgs/development/mobile/androidenv/repository-8.xml180
-rw-r--r--pkgs/development/mobile/androidenv/sysimages.nix8
-rw-r--r--pkgs/development/mobile/flashtool/default.nix64
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix162
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix48
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix104
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix51
-rwxr-xr-xpkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh10
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/keystorebin0 -> 1315 bytes
-rw-r--r--pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed1
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-2.1.nix60
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix78
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix77
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix77
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk.nix61
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix14
-rw-r--r--pkgs/development/mobile/xcodeenv/default.nix4
-rw-r--r--pkgs/development/mobile/xcodeenv/install.html.template25
-rw-r--r--pkgs/development/mobile/xcodeenv/simulate-app.nix4
-rw-r--r--pkgs/development/mobile/xcodeenv/xcodewrapper.nix6
-rw-r--r--pkgs/development/mobile/xpwn/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/biniou/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/camlimages/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/cryptgps/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/gmetadom/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/http/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgl/Makefile.config.patch52
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/META.patch64
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lablgtkmathview/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/menhir/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/mysql/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocamlmake/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/ocamlsdl/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/odn/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/react/default.nix39
-rw-r--r--pkgs/development/ocaml-modules/sqlite3/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/typeconv/3.0.5.nix23
-rw-r--r--pkgs/development/ocaml-modules/typeconv/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/ulex/0.8/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ulex/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix32
-rw-r--r--pkgs/development/perl-modules/BerkeleyDB/default.nix10
-rw-r--r--pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix8
-rw-r--r--pkgs/development/perl-modules/DBD-Pg/default.nix6
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix8
-rw-r--r--pkgs/development/perl-modules/DBD-mysql/default.nix6
-rw-r--r--pkgs/development/perl-modules/DB_File/default.nix10
-rw-r--r--pkgs/development/perl-modules/dbix-class-fix-tests.patch52
-rw-r--r--pkgs/development/perl-modules/maatkit/default.nix6
-rw-r--r--pkgs/development/pharo/vm/default.nix100
-rw-r--r--pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch84
-rw-r--r--pkgs/development/pharo/vm/patches/fix-executable-name.patch14
-rw-r--r--pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch23
-rw-r--r--pkgs/development/pharo/vm/resources/share/applications/pharo-vm.desktop11
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.pngbin0 -> 902 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.pngbin0 -> 52181 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.pngbin0 -> 2368 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.pngbin0 -> 4602 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml9
-rw-r--r--pkgs/development/python-modules/4suite/default.nix5
-rw-r--r--pkgs/development/python-modules/bsddb3/default.nix12
-rw-r--r--pkgs/development/python-modules/buildout-nix/default.nix6
-rw-r--r--pkgs/development/python-modules/dbus/default.nix6
-rw-r--r--pkgs/development/python-modules/distutils-cfg/default.nix32
-rw-r--r--pkgs/development/python-modules/ecdsa/default.nix18
-rw-r--r--pkgs/development/python-modules/fedpkg-buildfix.diff14
-rw-r--r--pkgs/development/python-modules/generic/default.nix164
-rw-r--r--pkgs/development/python-modules/generic/wrap.sh14
-rw-r--r--pkgs/development/python-modules/mygpoclient/default.nix26
-rw-r--r--pkgs/development/python-modules/offline-distutils/default.nix21
-rw-r--r--pkgs/development/python-modules/pil/default.nix10
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix40
-rw-r--r--pkgs/development/python-modules/pycangjie/default.nix35
-rw-r--r--pkgs/development/python-modules/pycrypto/2.5.nix29
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix17
-rw-r--r--pkgs/development/python-modules/pygame/default.nix2
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix12
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix13
-rw-r--r--pkgs/development/python-modules/pylint/default.nix8
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyqt/4.x.nix50
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix51
-rw-r--r--pkgs/development/python-modules/pyqt/default.nix51
-rw-r--r--pkgs/development/python-modules/pyside/apiextractor.nix11
-rw-r--r--pkgs/development/python-modules/pyside/default.nix11
-rw-r--r--pkgs/development/python-modules/pyside/generatorrunner.nix11
-rw-r--r--pkgs/development/python-modules/pyside/shiboken.nix11
-rw-r--r--pkgs/development/python-modules/pyside/tools.nix11
-rw-r--r--pkgs/development/python-modules/python-sip/default.nix30
-rw-r--r--pkgs/development/python-modules/pyx/default.nix2
-rw-r--r--pkgs/development/python-modules/rpkg-buildfix.diff11
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix22
-rw-r--r--pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch28
-rw-r--r--pkgs/development/python-modules/setuptools/site.nix16
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix26
-rw-r--r--pkgs/development/python-modules/sip/default.nix29
-rw-r--r--pkgs/development/python-modules/slowaes/default.nix16
-rw-r--r--pkgs/development/python-modules/tables/default.nix57
-rw-r--r--pkgs/development/python-modules/tarsnapper-path.patch20
-rw-r--r--pkgs/development/python-modules/virtualenv-change-prefix.patch37
-rw-r--r--pkgs/development/python-modules/wxPython/3.0.nix25
-rw-r--r--pkgs/development/python-modules/wxPython/builder3.0.sh22
-rw-r--r--pkgs/development/qtcreator/default.nix53
-rw-r--r--pkgs/development/r-modules/cran-packages.nix5884
-rw-r--r--pkgs/development/r-modules/generic-builder.nix33
-rw-r--r--pkgs/development/r-modules/generic/builder.sh23
-rw-r--r--pkgs/development/r-modules/generic/default.nix17
-rw-r--r--pkgs/development/r-modules/wrapper.nix18
-rw-r--r--pkgs/development/tools/analysis/cccc/cccc.patch24
-rw-r--r--pkgs/development/tools/analysis/cccc/default.nix32
-rw-r--r--pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch33
-rw-r--r--pkgs/development/tools/analysis/clang-analyzer/default.nix35
-rw-r--r--pkgs/development/tools/analysis/cov-build/default.nix48
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix10
-rw-r--r--pkgs/development/tools/analysis/findbugs/default.nix30
-rw-r--r--pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch254
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix96
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix16
-rw-r--r--pkgs/development/tools/analysis/lcov/find-source.patch84
-rw-r--r--pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch13
-rw-r--r--pkgs/development/tools/analysis/lcov/no-warn-missing.patch54
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix2
-rw-r--r--pkgs/development/tools/analysis/radare/ired.nix2
-rw-r--r--pkgs/development/tools/analysis/sparse/default.nix33
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix29
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix47
-rw-r--r--pkgs/development/tools/analysis/valgrind/glibc-2.17.patch78
-rw-r--r--pkgs/development/tools/analysis/valgrind/glibc-2.19.patch39
-rw-r--r--pkgs/development/tools/analysis/valkyrie/default.nix5
-rw-r--r--pkgs/development/tools/apktool/default.nix36
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix17
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/builder.sh53
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix110
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/from-source.nix90
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/use-gcj.patch18
-rw-r--r--pkgs/development/tools/build-managers/buildbot-slave/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/cmake/762-13887.patch17
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/cmake/search-path.patch72
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh19
-rw-r--r--pkgs/development/tools/build-managers/colormake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.80/default.nix (renamed from pkgs/development/tools/build-managers/gnumake-3.80/default.nix)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.80/log.patch (renamed from pkgs/development/tools/build-managers/gnumake-3.80/log.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.81.nix47
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.81/default.nix47
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.81/impure-dirs.patch (renamed from pkgs/development/tools/build-managers/gnumake/impure-dirs.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.81/log-3.81.patch (renamed from pkgs/development/tools/build-managers/gnumake/log-3.81.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/MAKEFLAGS-reexec.patch (renamed from pkgs/development/tools/build-managers/gnumake/MAKEFLAGS-reexec.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/archives-many-objs.patch (renamed from pkgs/development/tools/build-managers/gnumake/archives-many-objs.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/construct-command-line.patch (renamed from pkgs/development/tools/build-managers/gnumake/construct-command-line.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/copy-on-expand.patch (renamed from pkgs/development/tools/build-managers/gnumake/copy-on-expand.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/darwin-library_search-dylib.patch (renamed from pkgs/development/tools/build-managers/gnumake/darwin-library_search-dylib.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/default.nix63
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/glob-speedup.patch (renamed from pkgs/development/tools/build-managers/gnumake/glob-speedup.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/impure-dirs.patch34
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/intermediate-parallel.patch (renamed from pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/log.patch (renamed from pkgs/development/tools/build-managers/gnumake/log.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/long-command-line.patch (renamed from pkgs/development/tools/build-managers/gnumake/long-command-line.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/memory-corruption.patch (renamed from pkgs/development/tools/build-managers/gnumake/memory-corruption.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/oneshell.patch (renamed from pkgs/development/tools/build-managers/gnumake/oneshell.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/parallel-remake.patch (renamed from pkgs/development/tools/build-managers/gnumake/parallel-remake.patch)0
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.0/darwin-library_search-dylib.patch17
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.0/default.nix49
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.0/impure-dirs.patch34
-rw-r--r--pkgs/development/tools/build-managers/gnumake/default.nix63
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/leiningen/builder.sh13
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix17
-rw-r--r--pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch4
-rw-r--r--pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch4
-rw-r--r--pkgs/development/tools/build-managers/ninja/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/scons/default.upstream10
-rw-r--r--pkgs/development/tools/build-managers/simple-build-tool/default.nix103
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch29
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch12
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-lex.patch13
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5.patch64
-rw-r--r--pkgs/development/tools/cdecl/default.nix21
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix20
-rw-r--r--pkgs/development/tools/documentation/docutils/default.nix6
-rw-r--r--pkgs/development/tools/documentation/doxygen/1.7.nix52
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix15
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix6
-rw-r--r--pkgs/development/tools/documentation/haddock/2.10.0.nix10
-rw-r--r--pkgs/development/tools/documentation/haddock/2.11.0.nix10
-rw-r--r--pkgs/development/tools/documentation/haddock/2.12.0.nix4
-rw-r--r--pkgs/development/tools/documentation/haddock/2.13.2.1.nix10
-rw-r--r--pkgs/development/tools/documentation/haddock/2.13.2.nix10
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.2.nix27
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.3.nix23
-rw-r--r--pkgs/development/tools/documentation/haddock/2.4.2.nix4
-rw-r--r--pkgs/development/tools/documentation/haddock/2.7.2.nix3
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.2.nix3
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.4.nix4
-rw-r--r--pkgs/development/tools/etcdctl/default.nix30
-rw-r--r--pkgs/development/tools/etcdctl/deps.nix27
-rw-r--r--pkgs/development/tools/exercism/default.nix47
-rw-r--r--pkgs/development/tools/gnulib/default.nix6
-rw-r--r--pkgs/development/tools/gocode/default.nix29
-rw-r--r--pkgs/development/tools/gocode/deps.nix27
-rw-r--r--pkgs/development/tools/guile/g-wrap/default.nix2
-rw-r--r--pkgs/development/tools/haskell/BNFC-meta/default.nix14
-rw-r--r--pkgs/development/tools/haskell/BNFC/default.nix6
-rw-r--r--pkgs/development/tools/haskell/DrIFT/default.nix18
-rw-r--r--pkgs/development/tools/haskell/HaRe/default.nix30
-rw-r--r--pkgs/development/tools/haskell/PastePipe/default.nix19
-rw-r--r--pkgs/development/tools/haskell/SourceGraph/default.nix22
-rw-r--r--pkgs/development/tools/haskell/alex-meta/default.nix14
-rw-r--r--pkgs/development/tools/haskell/cabal-bounds/default.nix27
-rw-r--r--pkgs/development/tools/haskell/cabal-db/default.nix22
-rw-r--r--pkgs/development/tools/haskell/cabal-delete/default.nix36
-rw-r--r--pkgs/development/tools/haskell/cabal-dev/default.nix21
-rw-r--r--pkgs/development/tools/haskell/cabal-ghci/default.nix3
-rw-r--r--pkgs/development/tools/haskell/cabal-meta/default.nix20
-rw-r--r--pkgs/development/tools/haskell/cabal2ghci/default.nix2
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix12
-rw-r--r--pkgs/development/tools/haskell/cake3/default.nix25
-rw-r--r--pkgs/development/tools/haskell/codex/default.nix24
-rw-r--r--pkgs/development/tools/haskell/ghc-events-analyze/default.nix24
-rw-r--r--pkgs/development/tools/haskell/ghc-gc-tune/default.nix18
-rw-r--r--pkgs/development/tools/haskell/happy-meta/default.nix10
-rw-r--r--pkgs/development/tools/haskell/haskdogs/default.nix3
-rw-r--r--pkgs/development/tools/haskell/haskell-docs/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hasktags/default.nix14
-rw-r--r--pkgs/development/tools/haskell/hdevtools/default.nix17
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix15
-rw-r--r--pkgs/development/tools/haskell/hobbes/default.nix18
-rw-r--r--pkgs/development/tools/haskell/hp2any-manager/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hscolour/default.nix17
-rw-r--r--pkgs/development/tools/haskell/hscope/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hslogger/default.nix7
-rw-r--r--pkgs/development/tools/haskell/jailbreak-cabal/default.nix2
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix29
-rw-r--r--pkgs/development/tools/haskell/packunused/default.nix14
-rw-r--r--pkgs/development/tools/haskell/pointfree/default.nix19
-rw-r--r--pkgs/development/tools/haskell/pointful/default.nix18
-rw-r--r--pkgs/development/tools/haskell/profiteur/default.nix24
-rw-r--r--pkgs/development/tools/haskell/rehoo/default.nix21
-rw-r--r--pkgs/development/tools/haskell/splot/default.nix6
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix9
-rw-r--r--pkgs/development/tools/haskell/timeplot/default.nix6
-rw-r--r--pkgs/development/tools/haskell/una/default.nix18
-rw-r--r--pkgs/development/tools/haskell/uuagc/bootstrap.nix3
-rw-r--r--pkgs/development/tools/haskell/uuagc/cabal.nix3
-rw-r--r--pkgs/development/tools/haskell/uuagc/default.nix7
-rw-r--r--pkgs/development/tools/java/fastjar/default.nix2
-rw-r--r--pkgs/development/tools/jq/default.nix13
-rw-r--r--pkgs/development/tools/libsigrok/default.nix24
-rw-r--r--pkgs/development/tools/libsigrokdecode/default.nix20
-rw-r--r--pkgs/development/tools/literate-programming/noweb/default.nix6
-rw-r--r--pkgs/development/tools/misc/ShellCheck/default.nix19
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix49
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix4
-rw-r--r--pkgs/development/tools/misc/autobuild/default.nix2
-rw-r--r--pkgs/development/tools/misc/autoconf/2.13.nix3
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix5
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix6
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.10.x.nix41
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.11.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.12.x.nix6
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.13.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.14.x.nix40
-rw-r--r--pkgs/development/tools/misc/avrdude/default.nix46
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix4
-rw-r--r--pkgs/development/tools/misc/binutils-cross/builder.sh26
-rw-r--r--pkgs/development/tools/misc/binutils-cross/default.nix13
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix41
-rw-r--r--pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch1786
-rw-r--r--pkgs/development/tools/misc/cbrowser/default.nix2
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix6
-rw-r--r--pkgs/development/tools/misc/cflow/default.nix2
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/chrpath/default.nix23
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.nix8
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.upstream2
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix2
-rw-r--r--pkgs/development/tools/misc/complexity/default.nix9
-rw-r--r--pkgs/development/tools/misc/cpphs/default.nix12
-rw-r--r--pkgs/development/tools/misc/cppi/default.nix2
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix46
-rw-r--r--pkgs/development/tools/misc/ddd/default.nix2
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix6
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix23
-rw-r--r--pkgs/development/tools/misc/distcc/masq.nix2
-rw-r--r--pkgs/development/tools/misc/drush/default.nix38
-rw-r--r--pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch32
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix13
-rw-r--r--pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch64
-rw-r--r--pkgs/development/tools/misc/frama-c/default.nix67
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix10
-rw-r--r--pkgs/development/tools/misc/gdb/edit-signals.patch25
-rw-r--r--pkgs/development/tools/misc/gengetopt/default.nix6
-rw-r--r--pkgs/development/tools/misc/global/default.nix8
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix12
-rw-r--r--pkgs/development/tools/misc/gnum4/no-gets.patch26
-rw-r--r--pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch18
-rw-r--r--pkgs/development/tools/misc/gob2/default.nix6
-rw-r--r--pkgs/development/tools/misc/gperf/default.nix2
-rw-r--r--pkgs/development/tools/misc/grafana/default.nix29
-rw-r--r--pkgs/development/tools/misc/gtkdialog/default.nix2
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix8
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix2
-rw-r--r--pkgs/development/tools/misc/icon-naming-utils/default.nix7
-rw-r--r--pkgs/development/tools/misc/indent/default.nix2
-rw-r--r--pkgs/development/tools/misc/inotify-tools/default.nix17
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix21
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix2
-rw-r--r--pkgs/development/tools/misc/jscoverage/default.nix2
-rw-r--r--pkgs/development/tools/misc/libtool/default.nix2
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix2
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix5
-rw-r--r--pkgs/development/tools/misc/ltrace/default.nix9
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix13
-rw-r--r--pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch53
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--pkgs/development/tools/misc/lttv/default.nix6
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix35
-rw-r--r--pkgs/development/tools/misc/ninka/default.nix2
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix29
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix64
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix6
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix16
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix6
-rw-r--r--pkgs/development/tools/misc/pkgconfig/requires-private.patch238
-rw-r--r--pkgs/development/tools/misc/pmccabe/default.nix2
-rw-r--r--pkgs/development/tools/misc/prelink/default.nix22
-rw-r--r--pkgs/development/tools/misc/premake/default.nix6
-rw-r--r--pkgs/development/tools/misc/saleae-logic/default.nix6
-rw-r--r--pkgs/development/tools/misc/sloccount/default.nix2
-rw-r--r--pkgs/development/tools/misc/srecord/default.nix4
-rw-r--r--pkgs/development/tools/misc/stlink/default.nix5
-rw-r--r--pkgs/development/tools/misc/stm32flash/default.nix2
-rw-r--r--pkgs/development/tools/misc/strace/default.nix1
-rw-r--r--pkgs/development/tools/misc/swig/2.x.nix6
-rw-r--r--pkgs/development/tools/misc/swig/3.x.nix35
-rw-r--r--pkgs/development/tools/misc/swig/default.nix19
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix2
-rw-r--r--pkgs/development/tools/misc/tcptrack/default.nix2
-rw-r--r--pkgs/development/tools/misc/teensy/default.nix26
-rw-r--r--pkgs/development/tools/misc/texi2html/default.nix2
-rw-r--r--pkgs/development/tools/misc/texinfo/4.13a.nix2
-rw-r--r--pkgs/development/tools/misc/texinfo/4.9.nix10
-rw-r--r--pkgs/development/tools/misc/texinfo/5.1.nix41
-rw-r--r--pkgs/development/tools/misc/texinfo/5.2.nix43
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix56
-rw-r--r--pkgs/development/tools/misc/uisp/default.nix2
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix14
-rw-r--r--pkgs/development/tools/misc/xxdiff/default.nix2
-rw-r--r--pkgs/development/tools/neoload/default.nix25
-rw-r--r--pkgs/development/tools/node-webkit/default.nix55
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix37
-rw-r--r--pkgs/development/tools/ocaml/deriving/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix21
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix32
-rw-r--r--pkgs/development/tools/ocaml/ocamlify/default.nix26
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix25
-rw-r--r--pkgs/development/tools/ocaml/opam/1.0.0.nix60
-rw-r--r--pkgs/development/tools/ocaml/opam/1.1.nix64
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix60
-rw-r--r--pkgs/development/tools/packer/default.nix35
-rw-r--r--pkgs/development/tools/packer/deps.nix307
-rw-r--r--pkgs/development/tools/parsing/Ebnf2ps/default.nix3
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.1.nix2
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.2.nix2
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.3.nix2
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.5.nix2
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.1.nix4
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.2.nix4
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.5.nix5
-rw-r--r--pkgs/development/tools/parsing/alex/3.1.0.nix18
-rw-r--r--pkgs/development/tools/parsing/alex/3.1.3.nix19
-rw-r--r--pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch12
-rw-r--r--pkgs/development/tools/parsing/antlr/2.7.7.nix13
-rw-r--r--pkgs/development/tools/parsing/antlr/default.nix13
-rw-r--r--pkgs/development/tools/parsing/bison/2.x.nix8
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix14
-rw-r--r--pkgs/development/tools/parsing/flex/2.5.35.nix26
-rw-r--r--pkgs/development/tools/parsing/flex/2.5.39.nix30
-rw-r--r--pkgs/development/tools/parsing/flex/flex-2.5.33.nix20
-rw-r--r--pkgs/development/tools/parsing/flex/flex-2.5.34.nix19
-rw-r--r--pkgs/development/tools/parsing/flex/flex-2.5.35.nix26
-rw-r--r--pkgs/development/tools/parsing/flex/flex-2.5.4a.nix12
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.10.nix4
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.11.nix18
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.4.nix3
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.5.nix3
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.6.nix3
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.8.nix18
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.9.nix4
-rw-r--r--pkgs/development/tools/parsing/happy/1.19.0.nix18
-rw-r--r--pkgs/development/tools/parsing/happy/1.19.4.nix19
-rw-r--r--pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch12
-rw-r--r--pkgs/development/tools/parsing/jikespg/builder.sh15
-rw-r--r--pkgs/development/tools/parsing/jikespg/default.nix15
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix4
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix14
-rw-r--r--pkgs/development/tools/phantomjs/default.nix32
-rw-r--r--pkgs/development/tools/profiling/oprofile/default.nix6
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix2
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix7
-rw-r--r--pkgs/development/tools/pydb/default.nix2
-rw-r--r--pkgs/development/tools/quilt/default.nix33
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix11
-rw-r--r--pkgs/development/tools/selenium/server/default.nix27
-rw-r--r--pkgs/development/tools/sigrok-cli/default.nix20
-rw-r--r--pkgs/development/tools/slimerjs/default.nix21
-rw-r--r--pkgs/development/tools/sqsh/default.nix33
-rw-r--r--pkgs/development/tools/vagrant/default.nix93
-rw-r--r--pkgs/development/tools/watchman/default.nix36
-rw-r--r--pkgs/development/tools/yuicompressor/default.nix23
-rw-r--r--pkgs/development/web/csslint/default.nix4
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix31
-rw-r--r--pkgs/development/web/nodejs/default.nix15
-rw-r--r--pkgs/development/web/nodejs/no-xcode.patch99
-rw-r--r--pkgs/development/web/remarkjs/default.nix66
-rw-r--r--pkgs/development/web/xmlindent/default.nix25
-rw-r--r--pkgs/games/0ad/data.nix19
-rw-r--r--pkgs/games/0ad/default.nix121
-rw-r--r--pkgs/games/Allure/default.nix19
-rw-r--r--pkgs/games/LambdaHack/default.nix30
-rw-r--r--pkgs/games/MazesOfMonad/default.nix16
-rw-r--r--pkgs/games/adom/default.nix69
-rw-r--r--pkgs/games/alienarena/default.nix3
-rw-r--r--pkgs/games/andyetitmoves/default.nix4
-rw-r--r--pkgs/games/anki/default.nix11
-rw-r--r--pkgs/games/asc/default.nix6
-rw-r--r--pkgs/games/astromenace/default.nix36
-rw-r--r--pkgs/games/atanks/default.nix14
-rw-r--r--pkgs/games/atanks/default.upstream5
-rw-r--r--pkgs/games/ball-and-paddle/default.nix2
-rw-r--r--pkgs/games/banner/default.nix2
-rw-r--r--pkgs/games/bitsnbots/default.nix2
-rw-r--r--pkgs/games/blackshadeselite/default.nix2
-rw-r--r--pkgs/games/blobby/default.nix18
-rw-r--r--pkgs/games/blobby/default.upstream8
-rw-r--r--pkgs/games/btanks/default.nix2
-rw-r--r--pkgs/games/bzflag/default.nix8
-rw-r--r--pkgs/games/chessdb/default.nix29
-rw-r--r--pkgs/games/construo/default.nix1
-rw-r--r--pkgs/games/crack-attack/default.nix2
-rw-r--r--pkgs/games/crafty/default.nix667
-rw-r--r--pkgs/games/crafty/malloc.patch11
-rw-r--r--pkgs/games/crafty/strcpy.patch21
-rw-r--r--pkgs/games/crawl/default.nix24
-rw-r--r--pkgs/games/crawl/makefile_fonts.patch20
-rw-r--r--pkgs/games/crawl/makefile_misc.patch39
-rw-r--r--pkgs/games/crawl/makefile_prefix.patch11
-rw-r--r--pkgs/games/crawl/makefile_rltiles.patch21
-rw-r--r--pkgs/games/crawl/makefile_rltiles2.patch10
-rw-r--r--pkgs/games/crawl/makefile_sdlimg.patch19
-rw-r--r--pkgs/games/crawl/makefile_sqlite.patch11
-rw-r--r--pkgs/games/crrcsim/default.nix57
-rw-r--r--pkgs/games/d1x-rebirth/default.nix6
-rw-r--r--pkgs/games/d2x-rebirth/default.nix6
-rw-r--r--pkgs/games/dhewm3/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/df2014.nix82
-rw-r--r--pkgs/games/dwarf-therapist/default.nix7
-rw-r--r--pkgs/games/eboard/default.nix19
-rw-r--r--pkgs/games/eboard/eboard.patch16
-rw-r--r--pkgs/games/egoboo/default.nix2
-rw-r--r--pkgs/games/exult/64bits.patch21
-rw-r--r--pkgs/games/exult/arch.patch123
-rw-r--r--pkgs/games/exult/default.nix57
-rw-r--r--pkgs/games/flightgear/default.nix19
-rw-r--r--pkgs/games/freedink/default.nix2
-rw-r--r--pkgs/games/fsg/default.nix1
-rw-r--r--pkgs/games/gav/default.nix2
-rw-r--r--pkgs/games/gemrb/default.nix4
-rw-r--r--pkgs/games/glestae/default.nix9
-rw-r--r--pkgs/games/gltron/default.nix2
-rw-r--r--pkgs/games/gnuchess/default.nix8
-rw-r--r--pkgs/games/gnugo/default.nix2
-rw-r--r--pkgs/games/gsb/default.nix4
-rw-r--r--pkgs/games/gtypist/default.nix6
-rw-r--r--pkgs/games/icbm3d/default.nix2
-rw-r--r--pkgs/games/instead/default.nix2
-rw-r--r--pkgs/games/klavaro/default.nix6
-rw-r--r--pkgs/games/kobodeluxe/default.nix2
-rw-r--r--pkgs/games/lincity/ng.nix4
-rw-r--r--pkgs/games/liquidwar/default.nix11
-rw-r--r--pkgs/games/minecraft-server/default.nix35
-rw-r--r--pkgs/games/minecraft/default.nix12
-rw-r--r--pkgs/games/minetest/default.nix2
-rw-r--r--pkgs/games/mnemosyne/default.nix57
-rw-r--r--pkgs/games/naev/default.nix5
-rw-r--r--pkgs/games/neverball/default.nix2
-rw-r--r--pkgs/games/nexuiz/default.nix76
-rw-r--r--pkgs/games/njam/default.nix2
-rw-r--r--pkgs/games/oilrush/default.nix5
-rw-r--r--pkgs/games/openlierox/default.nix4
-rw-r--r--pkgs/games/openra/default.nix51
-rw-r--r--pkgs/games/openspades/default.nix36
-rw-r--r--pkgs/games/openttd/default.nix6
-rw-r--r--pkgs/games/opentyrian/default.nix6
-rw-r--r--pkgs/games/openxcom/default.nix25
-rw-r--r--pkgs/games/orbit/default.nix1
-rw-r--r--pkgs/games/pioneers/default.nix2
-rwxr-xr-xpkgs/games/planetaryannihilation/default.nix54
-rw-r--r--pkgs/games/pong3d/default.nix2
-rw-r--r--pkgs/games/racer/default.nix2
-rw-r--r--pkgs/games/rigsofrods/default.nix5
-rw-r--r--pkgs/games/rili/default.nix2
-rw-r--r--pkgs/games/sauerbraten/default.nix6
-rw-r--r--pkgs/games/scorched3d/default.nix2
-rw-r--r--pkgs/games/scummvm/default.nix8
-rw-r--r--pkgs/games/sdlmame/default.nix6
-rw-r--r--pkgs/games/simutrans/default.nix19
-rw-r--r--pkgs/games/soi/default.nix1
-rw-r--r--pkgs/games/speed-dreams/default.nix5
-rw-r--r--pkgs/games/spring/default.nix30
-rw-r--r--pkgs/games/spring/springlobby.nix20
-rw-r--r--pkgs/games/steam/default.nix23
-rw-r--r--pkgs/games/stepmania/default.nix31
-rw-r--r--pkgs/games/stuntrally/default.nix2
-rw-r--r--pkgs/games/super-tux-kart/default.nix3
-rw-r--r--pkgs/games/super-tux/default.nix4
-rw-r--r--pkgs/games/teetertorture/default.nix2
-rw-r--r--pkgs/games/tennix/default.nix2
-rw-r--r--pkgs/games/the-butterfly-effect/default.nix9
-rw-r--r--pkgs/games/tibia/default.nix57
-rw-r--r--pkgs/games/tintin/default.nix24
-rw-r--r--pkgs/games/torcs/default.nix9
-rw-r--r--pkgs/games/tremulous/default.nix1
-rw-r--r--pkgs/games/trigger/default.nix2
-rw-r--r--pkgs/games/typespeed/default.nix21
-rw-r--r--pkgs/games/typespeed/typespeed-config-in-home.patch148
-rw-r--r--pkgs/games/ufoai/default.nix5
-rw-r--r--pkgs/games/ultimatestunts/default.nix6
-rw-r--r--pkgs/games/ultrastardx/default.nix6
-rw-r--r--pkgs/games/unvanquished/default.nix3
-rw-r--r--pkgs/games/uqm/default.nix2
-rw-r--r--pkgs/games/urbanterror/default.nix15
-rw-r--r--pkgs/games/vdrift/default.nix5
-rw-r--r--pkgs/games/vectoroids/default.nix2
-rw-r--r--pkgs/games/vessel/default.nix4
-rw-r--r--pkgs/games/warmux/default.nix4
-rw-r--r--pkgs/games/warmux/gcc-fix.patch36
-rw-r--r--pkgs/games/warzone2100/default.nix28
-rw-r--r--pkgs/games/widelands/boost_and_cmake_die_die_die.patch11
-rw-r--r--pkgs/games/widelands/default.nix104
-rw-r--r--pkgs/games/worldofgoo/default.nix4
-rw-r--r--pkgs/games/xboard/default.nix8
-rw-r--r--pkgs/games/xmoto/default.nix6
-rw-r--r--pkgs/games/xonotic/default.nix33
-rw-r--r--pkgs/games/zod/default.nix2
-rw-r--r--pkgs/games/zoom/default.nix19
-rw-r--r--pkgs/misc/beep/default.nix24
-rw-r--r--pkgs/misc/cups/drivers/cups-bjnp/default.nix4
-rw-r--r--pkgs/misc/cups/pdf-filter.nix2
-rw-r--r--pkgs/misc/drivers/foomatic-filters/default.nix4
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix12
-rw-r--r--pkgs/misc/drivers/hplip/default.nix84
-rw-r--r--pkgs/misc/drivers/hplip/hplip.state4
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix28
-rw-r--r--pkgs/misc/emulators/VisualBoyAdvance/default.nix5
-rw-r--r--pkgs/misc/emulators/atari800/default.nix6
-rw-r--r--pkgs/misc/emulators/bsod/default.nix4
-rw-r--r--pkgs/misc/emulators/dlx/default.nix2
-rw-r--r--pkgs/misc/emulators/fakenes/default.nix2
-rw-r--r--pkgs/misc/emulators/fceux/default.nix34
-rw-r--r--pkgs/misc/emulators/hatari/default.nix4
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix35
-rw-r--r--pkgs/misc/emulators/mednafen/server.nix25
-rw-r--r--pkgs/misc/emulators/mupen64plus/1.5.nix2
-rw-r--r--pkgs/misc/emulators/mupen64plus/default.nix2
-rw-r--r--pkgs/misc/emulators/ppsspp/default.nix31
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix22
-rw-r--r--pkgs/misc/emulators/snes9x-gtk/default.nix30
-rw-r--r--pkgs/misc/emulators/uae/default.nix2
-rw-r--r--pkgs/misc/emulators/vice/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/stable.nix22
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix27
-rw-r--r--pkgs/misc/emulators/wine/winetricks.nix13
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix2
-rw-r--r--pkgs/misc/emulators/zsnes/default.nix35
-rw-r--r--pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch12
-rw-r--r--pkgs/misc/emulators/zsnes/zsnes.patch80
-rw-r--r--pkgs/misc/foldingathome/default.nix2
-rw-r--r--pkgs/misc/freestyle/default.nix2
-rw-r--r--pkgs/misc/ghostscript/default.nix2
-rw-r--r--pkgs/misc/jackaudio/default.nix2
-rw-r--r--pkgs/misc/jackaudio/jack1.nix10
-rw-r--r--pkgs/misc/lilypond/default.nix11
-rw-r--r--pkgs/misc/maven/default.nix29
-rw-r--r--pkgs/misc/my-env/loadenv.sh7
-rw-r--r--pkgs/misc/screensavers/slock/default.nix4
-rw-r--r--pkgs/misc/screensavers/vlock/default.nix5
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix10
-rw-r--r--pkgs/misc/seafile-shared/default.nix41
-rw-r--r--pkgs/misc/solfege/default.nix15
-rw-r--r--pkgs/misc/source-and-tags/default.nix9
-rw-r--r--pkgs/misc/themes/gnome-themes-standard/default.nix15
-rw-r--r--pkgs/misc/themes/gtk2/oxygen-gtk/default.nix5
-rw-r--r--pkgs/misc/themes/mate-icon-theme/default.nix6
-rw-r--r--pkgs/misc/themes/mate-themes/default.nix6
-rw-r--r--pkgs/misc/themes/qtcurve/default.nix43
-rw-r--r--pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch24
-rw-r--r--pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch34
-rw-r--r--pkgs/misc/uboot/guruplug.nix2
-rw-r--r--pkgs/misc/vim-plugins/default.nix377
-rw-r--r--pkgs/os-specific/darwin/cctools-port/default.nix64
-rw-r--r--pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch16
-rw-r--r--pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch31
-rw-r--r--pkgs/os-specific/darwin/htop/default.nix21
-rw-r--r--pkgs/os-specific/darwin/maloader/default.nix36
-rw-r--r--pkgs/os-specific/darwin/native-x11-and-opengl/default.nix6
-rw-r--r--pkgs/os-specific/darwin/opencflite/default.nix21
-rw-r--r--pkgs/os-specific/darwin/otool/default.nix2
-rw-r--r--pkgs/os-specific/darwin/xcode/default.nix52
-rw-r--r--pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch13
-rw-r--r--pkgs/os-specific/gnu/default.nix2
-rw-r--r--pkgs/os-specific/gnu/hurd/default.nix2
-rw-r--r--pkgs/os-specific/gnu/libpthread/default.nix2
-rw-r--r--pkgs/os-specific/gnu/mach/default.nix2
-rw-r--r--pkgs/os-specific/gnu/mig/default.nix2
-rw-r--r--pkgs/os-specific/gnu/smbfs/default.nix2
-rw-r--r--pkgs/os-specific/gnu/unionfs/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix14
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix10
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix6
-rw-r--r--pkgs/os-specific/linux/acpitool/default.nix2
-rw-r--r--pkgs/os-specific/linux/afuse/default.nix3
-rw-r--r--pkgs/os-specific/linux/alienfx/default.nix39
-rw-r--r--pkgs/os-specific/linux/alienfx/unistd.patch12
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix33
-rw-r--r--pkgs/os-specific/linux/alsa-lib/mips-atomic.patch39
-rw-r--r--pkgs/os-specific/linux/alsa-oss/default.nix13
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix21
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix19
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix8
-rw-r--r--pkgs/os-specific/linux/atheros/0.9.4.nix28
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh5
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix38
-rw-r--r--pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch330
-rw-r--r--pkgs/os-specific/linux/ati-drivers/patch-samples.patch26
-rw-r--r--pkgs/os-specific/linux/atop/default.nix3
-rw-r--r--pkgs/os-specific/linux/audit/default.nix28
-rw-r--r--pkgs/os-specific/linux/aufs-util/2.nix41
-rw-r--r--pkgs/os-specific/linux/aufs-util/3.nix40
-rw-r--r--pkgs/os-specific/linux/aufs/2.nix43
-rw-r--r--pkgs/os-specific/linux/aufs/3.nix44
-rw-r--r--pkgs/os-specific/linux/autofs/autofs-v5.nix10
-rw-r--r--pkgs/os-specific/linux/autofs/create-patches-v5.sh4
-rw-r--r--pkgs/os-specific/linux/autofs/patches-v5.nix31
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix6
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix12
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix18
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix14
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix11
-rw-r--r--pkgs/os-specific/linux/broadcom-sta-v6/default.nix49
-rw-r--r--pkgs/os-specific/linux/broadcom-sta-v6/license.patch13
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch17
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix56
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/license.patch9
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch11
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch13
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch12
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-recent.patch (renamed from pkgs/os-specific/linux/broadcom-sta-v6/linux-recent.patch)0
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/makefile.patch16
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix15
-rw-r--r--pkgs/os-specific/linux/can-utils/default.nix24
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix9
-rw-r--r--pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch27
-rw-r--r--pkgs/os-specific/linux/checksec/default.nix42
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix6
-rw-r--r--pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch22
-rw-r--r--pkgs/os-specific/linux/conky/default.nix64
-rw-r--r--pkgs/os-specific/linux/conky/stdbool.patch12
-rw-r--r--pkgs/os-specific/linux/consoletools/default.nix11
-rw-r--r--pkgs/os-specific/linux/conspy/default.nix8
-rw-r--r--pkgs/os-specific/linux/cpufrequtils/default.nix11
-rw-r--r--pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch24
-rw-r--r--pkgs/os-specific/linux/cpupower/default.nix42
-rw-r--r--pkgs/os-specific/linux/criu/default.nix38
-rw-r--r--pkgs/os-specific/linux/cryptodev/default.nix14
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix6
-rw-r--r--pkgs/os-specific/linux/disk-indicator/default.nix36
-rw-r--r--pkgs/os-specific/linux/dmidecode/default.nix7
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix4
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix2
-rw-r--r--pkgs/os-specific/linux/e1000e/default.nix14
-rw-r--r--pkgs/os-specific/linux/exmap/default.nix56
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix1
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix37
-rw-r--r--pkgs/os-specific/linux/firejail/default.upstream3
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix1
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix37
-rw-r--r--pkgs/os-specific/linux/frandom/default.nix17
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix8
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix2
-rw-r--r--pkgs/os-specific/linux/google-authenticator/default.nix10
-rw-r--r--pkgs/os-specific/linux/gradm/default.nix52
-rw-r--r--pkgs/os-specific/linux/guvcview/default.nix39
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hibernate/default.nix8
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix5
-rw-r--r--pkgs/os-specific/linux/htop/default.nix8
-rw-r--r--pkgs/os-specific/linux/hwdata/builder.sh5
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix19
-rw-r--r--pkgs/os-specific/linux/i7z/default.nix5
-rw-r--r--pkgs/os-specific/linux/i810switch/default.nix2
-rw-r--r--pkgs/os-specific/linux/ifenslave/default.nix26
-rw-r--r--pkgs/os-specific/linux/iomelt/default.nix25
-rw-r--r--pkgs/os-specific/linux/iotop/default.nix6
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix12
-rw-r--r--pkgs/os-specific/linux/iproute/no-werror.patch12
-rw-r--r--pkgs/os-specific/linux/ipsec-tools/default.nix7
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix19
-rw-r--r--pkgs/os-specific/linux/iscsitarget/default.nix27
-rw-r--r--pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwlwifi/default.nix40
-rw-r--r--pkgs/os-specific/linux/jujuutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel-headers/2.6.28.nix61
-rw-r--r--pkgs/os-specific/linux/kernel-headers/3.14.nix71
-rw-r--r--pkgs/os-specific/linux/kernel-headers/3.7.nix6
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix25
-rw-r--r--pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch553
-rw-r--r--pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch391
-rw-r--r--pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch69
-rw-r--r--pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch264
-rw-r--r--pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch603
-rw-r--r--pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch957
-rw-r--r--pkgs/os-specific/linux/kernel/builder.sh149
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix119
-rw-r--r--pkgs/os-specific/linux/kernel/generate-config.pl5
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix157
-rw-r--r--pkgs/os-specific/linux/kernel/grsec-path.patch17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.11.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.15.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.16.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix23
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.9.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix23
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix332
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix124
-rw-r--r--pkgs/os-specific/linux/kernel/perf.diff18
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch16
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix29
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix78
-rw-r--r--pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch11
-rw-r--r--pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix32
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/kmod/module-dir.patch46
-rw-r--r--pkgs/os-specific/linux/kmscon/default.nix50
-rw-r--r--pkgs/os-specific/linux/ktap/default.nix32
-rw-r--r--pkgs/os-specific/linux/latencytop/default.nix2
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix42
-rw-r--r--pkgs/os-specific/linux/libaio/default.nix9
-rw-r--r--pkgs/os-specific/linux/libatasmart/default.nix6
-rw-r--r--pkgs/os-specific/linux/libcap-ng/default.nix2
-rw-r--r--pkgs/os-specific/linux/libnl/3.2.19.nix20
-rw-r--r--pkgs/os-specific/linux/libnl/default.nix4
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix26
-rw-r--r--pkgs/os-specific/linux/libsemanage/default.nix8
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix16
-rw-r--r--pkgs/os-specific/linux/libvolume_id/default.nix6
-rw-r--r--pkgs/os-specific/linux/lm-sensors/default.nix4
-rw-r--r--pkgs/os-specific/linux/lockdep/default.nix29
-rw-r--r--pkgs/os-specific/linux/lsiutil/default.nix2
-rw-r--r--pkgs/os-specific/linux/lsscsi/default.nix6
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix14
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix6
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix10
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix9
-rw-r--r--pkgs/os-specific/linux/mdadm/udev.patch20
-rw-r--r--pkgs/os-specific/linux/microcode/converter.nix2
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix6
-rw-r--r--pkgs/os-specific/linux/musl/default.nix24
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/default.nix18
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/no-sbin.patch12
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/prefix.patch66
-rw-r--r--pkgs/os-specific/linux/net-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/netatop/default.nix14
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix2
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy.sh7
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh7
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh77
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix37
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy173.nix14
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy304.nix14
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy96.nix44
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch25
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/version-test.patch19
-rw-r--r--pkgs/os-specific/linux/nvidiabl/default.nix25
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix16
-rw-r--r--pkgs/os-specific/linux/otpw/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam/CVE-2014-2583.patch49
-rw-r--r--pkgs/os-specific/linux/pam/default.nix8
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix1
-rw-r--r--pkgs/os-specific/linux/pam_usb/default.nix2
-rw-r--r--pkgs/os-specific/linux/pax-utils/default.nix24
-rw-r--r--pkgs/os-specific/linux/paxctl/default.nix28
-rw-r--r--pkgs/os-specific/linux/pcmciautils/default.nix2
-rw-r--r--pkgs/os-specific/linux/plymouth/default.nix51
-rw-r--r--pkgs/os-specific/linux/pm-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/pmount/default.nix8
-rw-r--r--pkgs/os-specific/linux/pmtools/default.nix2
-rw-r--r--pkgs/os-specific/linux/policycoreutils/default.nix14
-rw-r--r--pkgs/os-specific/linux/pommed/default.nix3
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix8
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix6
-rw-r--r--pkgs/os-specific/linux/procps/watch.nix29
-rw-r--r--pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch44
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix7
-rw-r--r--pkgs/os-specific/linux/psmouse-alps/default.nix12
-rw-r--r--pkgs/os-specific/linux/radeontools/default.nix4
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix12
-rw-r--r--pkgs/os-specific/linux/rfkill/default.nix8
-rwxr-xr-xpkgs/os-specific/linux/rfkill/rfkill-hook.sh6
-rw-r--r--pkgs/os-specific/linux/rfkill/udev.nix4
-rw-r--r--pkgs/os-specific/linux/rtkit/default.nix12
-rw-r--r--pkgs/os-specific/linux/sdparm/default.nix6
-rw-r--r--pkgs/os-specific/linux/sepolgen/default.nix4
-rw-r--r--pkgs/os-specific/linux/setools/default.nix33
-rw-r--r--pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch15
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix13
-rw-r--r--pkgs/os-specific/linux/spl/const.patch13
-rw-r--r--pkgs/os-specific/linux/spl/default.nix22
-rw-r--r--pkgs/os-specific/linux/spl/git.nix46
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix43
-rw-r--r--pkgs/os-specific/linux/sysdig/default.upstream8
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix32
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix57
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch3217
-rw-r--r--pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch81
-rw-r--r--pkgs/os-specific/linux/tp_smapi/default.nix12
-rw-r--r--pkgs/os-specific/linux/tunctl/default.nix2
-rw-r--r--pkgs/os-specific/linux/uclibc/default.nix2
-rw-r--r--pkgs/os-specific/linux/udisks/1-default.nix2
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix6
-rw-r--r--pkgs/os-specific/linux/udisks/cve-2014-0004.patch82
-rw-r--r--pkgs/os-specific/linux/upower/0.99.nix51
-rw-r--r--pkgs/os-specific/linux/upower/default.nix43
-rw-r--r--pkgs/os-specific/linux/usermount/default.nix28
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix12
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix32
-rw-r--r--pkgs/os-specific/linux/v86d/default.nix6
-rw-r--r--pkgs/os-specific/linux/wis-go7007/default.nix17
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix16
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/gui.nix2
-rw-r--r--pkgs/os-specific/linux/wvdial/default.nix2
-rw-r--r--pkgs/os-specific/linux/x86info/default.nix2
-rw-r--r--pkgs/os-specific/linux/xf86-input-mtrack/default.nix5
-rw-r--r--pkgs/os-specific/linux/xf86-input-multitouch/default.nix5
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/xf86-video-nouveau/default.nix37
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix25
-rw-r--r--pkgs/os-specific/linux/zfs/git.nix54
-rw-r--r--pkgs/os-specific/windows/cygwin-setup/default.nix46
-rw-r--r--pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix28
-rw-r--r--pkgs/os-specific/windows/pthread-w32/default.nix2
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix13
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix8
-rw-r--r--pkgs/servers/apcupsd/default.nix6
-rw-r--r--pkgs/servers/beanstalkd/default.nix21
-rw-r--r--pkgs/servers/bird/default.nix6
-rw-r--r--pkgs/servers/consul/default.nix33
-rw-r--r--pkgs/servers/consul/deps.nix239
-rw-r--r--pkgs/servers/consul/ui.nix17
-rw-r--r--pkgs/servers/dico/default.nix22
-rw-r--r--pkgs/servers/dict/buildfix.diff11
-rw-r--r--pkgs/servers/dict/default.nix20
-rw-r--r--pkgs/servers/dict/dictd-db.nix1
-rw-r--r--pkgs/servers/dict/dictd-wiktionary.nix6
-rw-r--r--pkgs/servers/dict/dictd-wordnet.nix2
-rw-r--r--pkgs/servers/dict/libmaa.nix20
-rw-r--r--pkgs/servers/diod/default.nix6
-rw-r--r--pkgs/servers/dns/bind/default.nix6
-rw-r--r--pkgs/servers/dns/nsd/default.nix34
-rw-r--r--pkgs/servers/elasticmq/default.nix2
-rw-r--r--pkgs/servers/etcd/default.nix30
-rw-r--r--pkgs/servers/etcd/deps.nix54
-rw-r--r--pkgs/servers/evolution-data-server/default.nix56
-rw-r--r--pkgs/servers/fcgiwrap/default.nix21
-rw-r--r--pkgs/servers/fleet/default.nix30
-rw-r--r--pkgs/servers/fleet/deps.nix81
-rw-r--r--pkgs/servers/ftp/vsftpd/default.nix27
-rw-r--r--pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch25
-rw-r--r--pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch28
-rw-r--r--pkgs/servers/gpsd/default.nix97
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix9
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix6
-rw-r--r--pkgs/servers/http/apache-modules/mod_dnssd/default.nix28
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix8
-rw-r--r--pkgs/servers/http/couchdb/default.nix35
-rw-r--r--pkgs/servers/http/couchdb/src-for-default.nix9
-rw-r--r--pkgs/servers/http/couchdb/src-info-for-default.nix7
-rw-r--r--pkgs/servers/http/jetty/6.1/default.nix6
-rw-r--r--pkgs/servers/http/joseki/default.nix3
-rw-r--r--pkgs/servers/http/lighttpd/default.nix18
-rw-r--r--pkgs/servers/http/myserver/default.nix69
-rw-r--r--pkgs/servers/http/nginx/default.nix91
-rw-r--r--pkgs/servers/http/nginx/default.upstream2
-rw-r--r--pkgs/servers/http/nix-binary-cache/default.nix61
-rw-r--r--pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in105
-rw-r--r--pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in97
-rw-r--r--pkgs/servers/http/openresty/default.nix58
-rw-r--r--pkgs/servers/http/spawn-fcgi/default.nix24
-rw-r--r--pkgs/servers/http/thttpd/default.nix2
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix4
-rw-r--r--pkgs/servers/http/tomcat/axis2/default.nix10
-rw-r--r--pkgs/servers/http/winstone/default.nix26
-rw-r--r--pkgs/servers/http/yaws/default.nix6
-rw-r--r--pkgs/servers/irc/ngircd/default.nix29
-rw-r--r--pkgs/servers/kippo/default.nix65
-rw-r--r--pkgs/servers/mail/dovecot-pigeonhole/default.nix6
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x-module_dir.patch69
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x.nix28
-rw-r--r--pkgs/servers/mail/dovecot/default.nix6
-rw-r--r--pkgs/servers/mail/freepops/default.nix1
-rw-r--r--pkgs/servers/mail/mailman/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix9
-rw-r--r--pkgs/servers/mail/popa3d/default.nix8
-rw-r--r--pkgs/servers/mail/postfix/2.11.nix62
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/postfix-2.11.0.patch76
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix6
-rw-r--r--pkgs/servers/mediatomb/default.nix4
-rw-r--r--pkgs/servers/memcached/default.nix9
-rw-r--r--pkgs/servers/misc/taskserver/default.nix22
-rw-r--r--pkgs/servers/monitoring/munin/default.nix21
-rw-r--r--pkgs/servers/monitoring/nagios/default.nix30
-rw-r--r--pkgs/servers/monitoring/nagios/nagios.patch18
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/official-2.x.nix36
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/official/default.nix32
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix10
-rw-r--r--pkgs/servers/monitoring/seyren/default.nix28
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix9
-rw-r--r--pkgs/servers/monitoring/zabbix/2.2.nix91
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix6
-rw-r--r--pkgs/servers/mpd/clientlib.nix10
-rw-r--r--pkgs/servers/mpd/default.nix24
-rw-r--r--pkgs/servers/news/leafnode/default.nix28
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix35
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix33
-rw-r--r--pkgs/servers/nosql/redis/default.nix11
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix35
-rw-r--r--pkgs/servers/nosql/riak/1.3.1.nix4
-rw-r--r--pkgs/servers/nsq/default.nix37
-rw-r--r--pkgs/servers/nsq/deps.nix134
-rw-r--r--pkgs/servers/openafs-client/default.nix14
-rw-r--r--pkgs/servers/pies/default.nix2
-rw-r--r--pkgs/servers/polipo/default.nix10
-rw-r--r--pkgs/servers/prayer/default.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix21
-rw-r--r--pkgs/servers/radius/default.nix4
-rw-r--r--pkgs/servers/restund/default.nix4
-rw-r--r--pkgs/servers/rippled/default.nix32
-rw-r--r--pkgs/servers/rippled/scons-env.patch46
-rw-r--r--pkgs/servers/sabnzbd/builder.sh4
-rw-r--r--pkgs/servers/sabnzbd/default.nix13
-rw-r--r--pkgs/servers/samba/default.nix9
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix22
-rw-r--r--pkgs/servers/search/elasticsearch/es-home.patch97
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix53
-rw-r--r--pkgs/servers/search/solr/default.nix30
-rw-r--r--pkgs/servers/serfdom/default.nix30
-rw-r--r--pkgs/servers/serfdom/deps.nix185
-rw-r--r--pkgs/servers/shellinabox/default.nix29
-rw-r--r--pkgs/servers/shellinabox/shellinabox-minus.patch28
-rw-r--r--pkgs/servers/shishi/default.nix6
-rw-r--r--pkgs/servers/shishi/no-gets.patch20
-rw-r--r--pkgs/servers/silc-server/default.nix2
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix2
-rw-r--r--pkgs/servers/sql/mariadb/default.nix27
-rw-r--r--pkgs/servers/sql/mysql/5.1.x.nix2
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix11
-rw-r--r--pkgs/servers/sql/mysql/jdbc/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/8.3.x.nix24
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix8
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix8
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix8
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix8
-rw-r--r--pkgs/servers/sql/postgresql/9.3.x.nix44
-rw-r--r--pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch14
-rwxr-xr-xpkgs/servers/sql/postgresql/jdbc/builder.sh10
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix21
-rw-r--r--pkgs/servers/sql/postgresql/less-is-more.patch12
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix5
-rw-r--r--pkgs/servers/squid/squids.nix27
-rw-r--r--pkgs/servers/unfs3/default.nix2
-rw-r--r--pkgs/servers/unifi/default.nix32
-rw-r--r--pkgs/servers/varnish/2.1.nix21
-rw-r--r--pkgs/servers/varnish/default.nix8
-rw-r--r--pkgs/servers/x11/quartz-wm/default.nix27
-rw-r--r--pkgs/servers/x11/quartz-wm/extern-patch.patch13
-rw-r--r--pkgs/servers/x11/quartz-wm/no_title_crash.patch25
-rw-r--r--pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch33
-rw-r--r--pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch40
-rw-r--r--pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch165
-rw-r--r--pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch316
-rw-r--r--pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch230
-rw-r--r--pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch297
-rw-r--r--pkgs/servers/x11/xorg/darwin/bundle_main.patch118
-rw-r--r--pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h1409
-rw-r--r--pkgs/servers/x11/xorg/darwin/function-pointer-test.patch46
-rw-r--r--pkgs/servers/x11/xorg/darwin/private-extern.patch12
-rw-r--r--pkgs/servers/x11/xorg/darwin/stub.patch80
-rw-r--r--pkgs/servers/x11/xorg/default.nix1395
-rw-r--r--pkgs/servers/x11/xorg/extra.list9
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl9
-rw-r--r--pkgs/servers/x11/xorg/old.list12
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix176
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list147
-rw-r--r--pkgs/servers/x11/xorg/unichrome/default.nix3
-rw-r--r--pkgs/servers/x11/xorg/xf86-video-intel-testing.nix14
-rw-r--r--pkgs/servers/x11/xorg/xkeyboard-config-eo.patch (renamed from pkgs/data/misc/xkeyboard-config/eo.patch)0
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch75
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-dri-path.patch19
-rw-r--r--pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch34
-rwxr-xr-xpkgs/servers/x11/xquartz/X1120
-rw-r--r--pkgs/servers/x11/xquartz/default.nix188
-rwxr-xr-xpkgs/servers/x11/xquartz/font_cache240
-rw-r--r--pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist23
-rw-r--r--pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist27
-rw-r--r--pkgs/servers/x11/xquartz/patch_plist.rb47
-rwxr-xr-xpkgs/servers/x11/xquartz/privileged43
-rwxr-xr-xpkgs/servers/x11/xquartz/startx232
-rw-r--r--pkgs/servers/x11/xquartz/system-fonts.nix36
-rwxr-xr-xpkgs/servers/x11/xquartz/xinitrc40
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix14
-rw-r--r--pkgs/servers/xmpp/openfire/default.nix48
-rw-r--r--pkgs/shells/bash/bash-4.2-patches.nix5
-rw-r--r--pkgs/shells/bash/default.nix2
-rw-r--r--pkgs/shells/dash/default.nix9
-rw-r--r--pkgs/shells/fish/default.nix32
-rw-r--r--pkgs/shells/ipython/default.nix4
-rw-r--r--pkgs/shells/rush/default.nix4
-rw-r--r--pkgs/shells/rush/gets.patch13
-rw-r--r--pkgs/shells/zsh/default.nix23
-rw-r--r--pkgs/stdenv/adapters.nix111
-rw-r--r--pkgs/stdenv/default.nix33
-rw-r--r--pkgs/stdenv/generic/builder.sh1
-rw-r--r--pkgs/stdenv/generic/default.nix338
-rw-r--r--pkgs/stdenv/generic/setup-repeatable.sh876
-rw-r--r--pkgs/stdenv/generic/setup.sh107
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv5tel.nix44
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/armv5tel/bzip2bin124936 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/armv5tel/cpiobin20280 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2bin151568 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv5tel/default.nix13
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/armv5tel/lnbin13728 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/armv5tel/mkdirbin15484 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/armv5tel/shbin82672 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv6l.nix11
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv6l/default.nix15
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv7l/default.nix3
-rw-r--r--pkgs/stdenv/linux/bootstrap/i686.nix39
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/i686/bzip2bin73856 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/i686/cpiobin13524 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/i686/curl.bz2bin122036 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/i686/default.nix13
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/i686/lnbin8176 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/i686/mkdirbin9600 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/i686/shbin63280 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/loongson2f.nix44
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/loongson2f/bzip2bin146364 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/loongson2f/cpiobin88564 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2bin172614 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/loongson2f/default.nix13
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/loongson2f/lnbin59552 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/loongson2f/mkdirbin59548 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/loongson2f/shbin155016 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/powerpc/bashbin624584 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/powerpc/bzip2bin85816 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/powerpc/cpbin64700 -> 0 bytes
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/powerpc/curl.bz2bin148830 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/powerpc/default.nix27
-rwxr-xr-xpkgs/stdenv/linux/bootstrap/powerpc/tar.bz2bin102939 -> 0 bytes
-rw-r--r--pkgs/stdenv/linux/bootstrap/x86_64.nix10
-rw-r--r--pkgs/stdenv/linux/bootstrap/x86_64/default.nix10
-rw-r--r--pkgs/stdenv/linux/default.nix83
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix6
-rw-r--r--pkgs/stdenv/linux/scripts/download.sh8
-rwxr-xr-xpkgs/stdenv/mingw/builder.sh18
-rwxr-xr-xpkgs/stdenv/mingw/cygpath/builder.sh5
-rw-r--r--pkgs/stdenv/mingw/cygpath/default.nix9
-rwxr-xr-xpkgs/stdenv/mingw/default-builder.sh2
-rw-r--r--pkgs/stdenv/mingw/default.nix233
-rwxr-xr-xpkgs/stdenv/mingw/fetchurl/builder.sh34
-rw-r--r--pkgs/stdenv/mingw/fetchurl/default.nix28
-rwxr-xr-xpkgs/stdenv/mingw/fix-builder.sh23
-rw-r--r--pkgs/stdenv/mingw/msys-builder.sh15
-rw-r--r--pkgs/stdenv/mingw/pkgs/bin-builder.sh5
-rwxr-xr-xpkgs/stdenv/mingw/pkgs/curl.exebin240128 -> 0 bytes
-rw-r--r--pkgs/stdenv/mingw/pkgs/default.nix157
-rw-r--r--pkgs/stdenv/mingw/pkgs/pkgconfig-builder.sh8
-rw-r--r--pkgs/stdenv/mingw/pkgs/single-exe-builder.sh12
-rw-r--r--pkgs/stdenv/mingw/pkgs/src-builder.sh7
-rwxr-xr-xpkgs/stdenv/mingw/setup.sh759
-rw-r--r--pkgs/stdenv/mingw/simple-stdenv/builder.sh80
-rw-r--r--pkgs/stdenv/mingw/simple-stdenv/default.nix31
-rw-r--r--pkgs/stdenv/native/default.nix3
-rw-r--r--pkgs/stdenv/nix/default.nix22
-rw-r--r--pkgs/tools/X11/autocutsel/default.nix16
-rw-r--r--pkgs/tools/X11/bgs/default.nix13
-rw-r--r--pkgs/tools/X11/bumblebee/config.patch30
-rw-r--r--pkgs/tools/X11/bumblebee/default.nix59
-rw-r--r--pkgs/tools/X11/bumblebee/xopts.patch2
-rw-r--r--pkgs/tools/X11/bumblebee/xorg.conf.nvidia49
-rw-r--r--pkgs/tools/X11/hsetroot/default.nix2
-rw-r--r--pkgs/tools/X11/nitrogen/default.nix32
-rw-r--r--pkgs/tools/X11/vdpauinfo/default.nix6
-rw-r--r--pkgs/tools/X11/winswitch/default.nix12
-rw-r--r--pkgs/tools/X11/wmctrl/64-bit-data.patch32
-rw-r--r--pkgs/tools/X11/wmctrl/default.nix2
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix5
-rw-r--r--pkgs/tools/X11/xbindkeys/default.nix6
-rw-r--r--pkgs/tools/X11/xchainkeys/default.nix2
-rw-r--r--pkgs/tools/X11/xdg-user-dirs/default.nix25
-rw-r--r--pkgs/tools/X11/xnee/default.nix2
-rw-r--r--pkgs/tools/X11/xpra/default.nix33
-rw-r--r--pkgs/tools/X11/xtrace/default.nix19
-rw-r--r--pkgs/tools/admin/analog/default.nix2
-rw-r--r--pkgs/tools/admin/awscli/default.nix10
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix72
-rw-r--r--pkgs/tools/admin/sec/default.nix30
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix21
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix2
-rw-r--r--pkgs/tools/archivers/atool/default.nix3
-rw-r--r--pkgs/tools/archivers/cpio/default.nix18
-rw-r--r--pkgs/tools/archivers/cpio/no-gets.patch24
-rw-r--r--pkgs/tools/archivers/dar/default.nix9
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix13
-rw-r--r--pkgs/tools/archivers/gnutar/gets-undeclared.patch26
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix2
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix2
-rw-r--r--pkgs/tools/archivers/unrar/default.nix34
-rw-r--r--pkgs/tools/archivers/xarchiver/default.nix21
-rw-r--r--pkgs/tools/archivers/zip/default.nix3
-rw-r--r--pkgs/tools/archivers/zpaq/default.nix8
-rw-r--r--pkgs/tools/audio/gvolicon/default.nix27
-rw-r--r--pkgs/tools/audio/mpdcron/default.nix31
-rw-r--r--pkgs/tools/audio/pa-applet/default.nix4
-rw-r--r--pkgs/tools/backup/btar/default.nix2
-rw-r--r--pkgs/tools/backup/bup/default.nix9
-rw-r--r--pkgs/tools/backup/chunksync/default.nix32
-rw-r--r--pkgs/tools/backup/duplicity/default.nix17
-rw-r--r--pkgs/tools/backup/duply/default.nix9
-rw-r--r--pkgs/tools/backup/httrack/default.nix6
-rw-r--r--pkgs/tools/backup/obnam/default.nix4
-rw-r--r--pkgs/tools/backup/ori/default.nix28
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix11
-rw-r--r--pkgs/tools/backup/rsnapshot/default.nix2
-rw-r--r--pkgs/tools/backup/store-backup/default.nix2
-rw-r--r--pkgs/tools/backup/wal-e/default.nix32
-rw-r--r--pkgs/tools/bluetooth/bluedevil/default.nix2
-rw-r--r--pkgs/tools/bluetooth/obex-data-server/default.nix11
-rw-r--r--pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch56
-rw-r--r--pkgs/tools/cd-dvd/cdrkit/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix8
-rw-r--r--pkgs/tools/cd-dvd/vobcopy/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/vobsub2srt/default.nix25
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix10
-rw-r--r--pkgs/tools/compression/bsdiff/builder.sh8
-rw-r--r--pkgs/tools/compression/bsdiff/default.nix37
-rw-r--r--pkgs/tools/compression/bsdiff/include-systypes.patch12
-rw-r--r--pkgs/tools/compression/bzip2/default.nix1
-rw-r--r--pkgs/tools/compression/gzip/default.nix15
-rw-r--r--pkgs/tools/compression/kzipmix/default.nix25
-rw-r--r--pkgs/tools/compression/lrzip/default.nix2
-rw-r--r--pkgs/tools/compression/lzip/default.nix4
-rw-r--r--pkgs/tools/compression/pigz/default.nix6
-rw-r--r--pkgs/tools/compression/rzip/default.nix2
-rw-r--r--pkgs/tools/compression/upx/default.nix8
-rw-r--r--pkgs/tools/compression/xz/default.nix9
-rw-r--r--pkgs/tools/filesystems/archivemount/default.nix6
-rw-r--r--pkgs/tools/filesystems/bcache-tools/default.nix51
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix23
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c109
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix33
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix37
-rw-r--r--pkgs/tools/filesystems/chunkfs/default.nix30
-rw-r--r--pkgs/tools/filesystems/ciopfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix5
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix8
-rw-r--r--pkgs/tools/filesystems/f2fs-tools/default.nix27
-rw-r--r--pkgs/tools/filesystems/fsfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix24
-rw-r--r--pkgs/tools/filesystems/grive/default.nix2
-rw-r--r--pkgs/tools/filesystems/httpfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/jfsrec/default.nix6
-rw-r--r--pkgs/tools/filesystems/jmtpfs/default.nix23
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix2
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtpfs/default.nix26
-rw-r--r--pkgs/tools/filesystems/netatalk/default.nix10
-rw-r--r--pkgs/tools/filesystems/ntfs-3g/default.nix12
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/default.nix2
-rw-r--r--pkgs/tools/filesystems/relfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/s3backer/default.nix2
-rw-r--r--pkgs/tools/filesystems/sshfs-fuse/default.nix4
-rw-r--r--pkgs/tools/filesystems/svnfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/unionfs-fuse/default.nix10
-rw-r--r--pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch14
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix21
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix63
-rw-r--r--pkgs/tools/filesystems/zfstools/default.nix39
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix16
-rw-r--r--pkgs/tools/graphics/barcode/default.nix7
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix12
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix29
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix16
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix36
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix42
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix8
-rw-r--r--pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch15
-rw-r--r--pkgs/tools/graphics/icoutils/default.nix6
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix (renamed from pkgs/tools/graphics/logstalgica/default.nix)0
-rw-r--r--pkgs/tools/graphics/mscgen/default.nix2
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix9
-rw-r--r--pkgs/tools/graphics/nifskope/default.nix51
-rw-r--r--pkgs/tools/graphics/optipng/default.nix22
-rw-r--r--pkgs/tools/graphics/panomatic/default.nix2
-rw-r--r--pkgs/tools/graphics/pfstools/default.nix4
-rw-r--r--pkgs/tools/graphics/ploticus/default.nix2
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix2
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix5
-rw-r--r--pkgs/tools/graphics/pngout/default.nix33
-rw-r--r--pkgs/tools/graphics/pngquant/default.nix1
-rw-r--r--pkgs/tools/graphics/pngtoico/default.nix2
-rw-r--r--pkgs/tools/graphics/povray/default.nix38
-rw-r--r--pkgs/tools/graphics/pstoedit/default.nix8
-rw-r--r--pkgs/tools/graphics/qrencode/default.nix4
-rw-r--r--pkgs/tools/graphics/welkin/default.nix3
-rw-r--r--pkgs/tools/graphics/zbar/default.nix9
-rw-r--r--pkgs/tools/inputmethods/fcitx/default.nix19
-rw-r--r--pkgs/tools/misc/aescrypt/default.nix12
-rw-r--r--pkgs/tools/misc/apparix/default.nix20
-rw-r--r--pkgs/tools/misc/appdata-tools/default.nix25
-rw-r--r--pkgs/tools/misc/apt-offline/default.nix28
-rw-r--r--pkgs/tools/misc/arp-scan/default.nix24
-rw-r--r--pkgs/tools/misc/autorandr/default.nix3
-rw-r--r--pkgs/tools/misc/aws-mturk-clt/default.nix2
-rw-r--r--pkgs/tools/misc/bfr/default.nix2
-rw-r--r--pkgs/tools/misc/bogofilter/default.nix10
-rw-r--r--pkgs/tools/misc/byobu/default.nix6
-rw-r--r--pkgs/tools/misc/colord-gtk/default.nix18
-rw-r--r--pkgs/tools/misc/colord-kde/default.nix19
-rw-r--r--pkgs/tools/misc/colord/default.nix54
-rw-r--r--pkgs/tools/misc/convmv/default.nix5
-rw-r--r--pkgs/tools/misc/coreutils/default.nix13
-rw-r--r--pkgs/tools/misc/coreutils/help2man.patch40
-rw-r--r--pkgs/tools/misc/cpuminer/default.nix22
-rw-r--r--pkgs/tools/misc/cunit/default.nix5
-rw-r--r--pkgs/tools/misc/cv/default.nix24
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix2
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix14
-rw-r--r--pkgs/tools/misc/desktop-file-utils/default.nix6
-rw-r--r--pkgs/tools/misc/detox/default.nix2
-rw-r--r--pkgs/tools/misc/direnv/default.nix37
-rw-r--r--pkgs/tools/misc/disper/default.nix6
-rw-r--r--pkgs/tools/misc/dmg2img/default.nix4
-rw-r--r--pkgs/tools/misc/dvtm/default.nix29
-rw-r--r--pkgs/tools/misc/emv/default.nix25
-rw-r--r--pkgs/tools/misc/ethtool/default.nix6
-rw-r--r--pkgs/tools/misc/fasd/default.nix35
-rw-r--r--pkgs/tools/misc/fdupes/default.nix2
-rw-r--r--pkgs/tools/misc/figlet/default.nix6
-rw-r--r--pkgs/tools/misc/file/default.nix5
-rw-r--r--pkgs/tools/misc/fileschanged/default.nix2
-rw-r--r--pkgs/tools/misc/findutils/default.nix2
-rw-r--r--pkgs/tools/misc/g500-control/default.nix13
-rw-r--r--pkgs/tools/misc/gbdfed/Makefile.patch15
-rw-r--r--pkgs/tools/misc/gbdfed/default.nix29
-rw-r--r--pkgs/tools/misc/gnuvd/default.nix6
-rw-r--r--pkgs/tools/misc/goaccess/default.nix34
-rw-r--r--pkgs/tools/misc/gparted/default.nix8
-rw-r--r--pkgs/tools/misc/grc/default.nix4
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix8
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix4
-rw-r--r--pkgs/tools/misc/gummiboot/default.nix6
-rw-r--r--pkgs/tools/misc/hddtemp/default.nix2
-rw-r--r--pkgs/tools/misc/hdf5/default.nix18
-rw-r--r--pkgs/tools/misc/heimdall/default.nix2
-rw-r--r--pkgs/tools/misc/i3minator/default.nix40
-rw-r--r--pkgs/tools/misc/idutils/default.nix2
-rw-r--r--pkgs/tools/misc/ised/default.nix4
-rw-r--r--pkgs/tools/misc/jdiskreport/builder.sh6
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix8
-rw-r--r--pkgs/tools/misc/kalibrate-rtl/default.nix30
-rw-r--r--pkgs/tools/misc/kde-gtk-config/default.nix50
-rw-r--r--pkgs/tools/misc/kde-gtk-config/kde-gtk-config-2.2.1-install-paths.patch28
-rw-r--r--pkgs/tools/misc/kermit/default.nix2
-rw-r--r--pkgs/tools/misc/keychain/default.nix27
-rw-r--r--pkgs/tools/misc/lbdb/default.nix2
-rw-r--r--pkgs/tools/misc/ldapvi/default.nix30
-rw-r--r--pkgs/tools/misc/less/default.nix29
-rw-r--r--pkgs/tools/misc/lockfile-progs/default.nix6
-rw-r--r--pkgs/tools/misc/logstash-forwarder/default.nix19
-rw-r--r--pkgs/tools/misc/logstash/default.nix39
-rw-r--r--pkgs/tools/misc/lrzsz/default.nix19
-rw-r--r--pkgs/tools/misc/man-db/default.nix29
-rw-r--r--pkgs/tools/misc/man-db/share.patch110
-rw-r--r--pkgs/tools/misc/mc/default.nix9
-rw-r--r--pkgs/tools/misc/mcrypt/default.nix2
-rw-r--r--pkgs/tools/misc/mdbtools/git.nix15
-rw-r--r--pkgs/tools/misc/megacli/default.nix4
-rw-r--r--pkgs/tools/misc/memtest86/default.nix6
-rw-r--r--pkgs/tools/misc/minicom/default.nix6
-rw-r--r--pkgs/tools/misc/mktorrent/default.nix2
-rw-r--r--pkgs/tools/misc/most/default.nix2
-rw-r--r--pkgs/tools/misc/mssys/default.nix2
-rw-r--r--pkgs/tools/misc/multitail/default.nix12
-rw-r--r--pkgs/tools/misc/myhasktags/default.nix37
-rw-r--r--pkgs/tools/misc/mysql2pgsql/default.nix2
-rw-r--r--pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--pkgs/tools/misc/ngrok/default.nix15
-rw-r--r--pkgs/tools/misc/openopc/default.nix46
-rw-r--r--pkgs/tools/misc/pal/default.nix2
-rw-r--r--pkgs/tools/misc/parallel/default.nix6
-rw-r--r--pkgs/tools/misc/parcellite/default.nix6
-rw-r--r--pkgs/tools/misc/parted/default.nix2
-rw-r--r--pkgs/tools/misc/partition-manager/default.nix2
-rw-r--r--pkgs/tools/misc/pastebinit/default.nix33
-rw-r--r--pkgs/tools/misc/pg_top/default.nix4
-rw-r--r--pkgs/tools/misc/picocom/default.nix11
-rw-r--r--pkgs/tools/misc/pk2cmd/default.nix2
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/plowshare/default.nix13
-rw-r--r--pkgs/tools/misc/ponysay/default.nix8
-rw-r--r--pkgs/tools/misc/proxytunnel/default.nix2
-rw-r--r--pkgs/tools/misc/pv/default.nix6
-rw-r--r--pkgs/tools/misc/recutils/default.nix2
-rw-r--r--pkgs/tools/misc/refind/default.nix34
-rw-r--r--pkgs/tools/misc/remind/default.nix2
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix24
-rw-r--r--pkgs/tools/misc/rkflashtool/default.nix33
-rw-r--r--pkgs/tools/misc/rockbox-utility/default.nix4
-rw-r--r--pkgs/tools/misc/rrdtool/default.nix4
-rw-r--r--pkgs/tools/misc/screen/default.nix11
-rw-r--r--pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch25
-rw-r--r--pkgs/tools/misc/screen/screen-4.0.3-long-term.patch29
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix38
-rw-r--r--pkgs/tools/misc/sl/default.nix8
-rw-r--r--pkgs/tools/misc/slsnif/default.nix2
-rw-r--r--pkgs/tools/misc/smc/default.nix49
-rw-r--r--pkgs/tools/misc/stow/default.nix2
-rw-r--r--pkgs/tools/misc/sutils/default.nix20
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix2
-rw-r--r--pkgs/tools/misc/t1utils/default.nix28
-rw-r--r--pkgs/tools/misc/testdisk/default.nix14
-rw-r--r--pkgs/tools/misc/time/default.nix2
-rw-r--r--pkgs/tools/misc/timidity/default.nix6
-rw-r--r--pkgs/tools/misc/tmpwatch/default.nix18
-rw-r--r--pkgs/tools/misc/tmux/default.nix10
-rw-r--r--pkgs/tools/misc/ttmkfdir/default.nix4
-rw-r--r--pkgs/tools/misc/units/default.nix7
-rw-r--r--pkgs/tools/misc/uucp/default.nix2
-rw-r--r--pkgs/tools/misc/w3c-css-validator/default.nix1
-rw-r--r--pkgs/tools/misc/wv2/default.nix2
-rw-r--r--pkgs/tools/misc/xburst-tools/default.nix2
-rw-r--r--pkgs/tools/misc/xclip/default.nix4
-rw-r--r--pkgs/tools/misc/xdaliclock/default.nix7
-rw-r--r--pkgs/tools/misc/xdo/default.nix22
-rw-r--r--pkgs/tools/misc/xdummy/default.nix83
-rw-r--r--pkgs/tools/misc/xmltv/default.nix1
-rw-r--r--pkgs/tools/misc/xsel/default.nix6
-rw-r--r--pkgs/tools/misc/xtitle/default.nix23
-rw-r--r--pkgs/tools/misc/yad/default.nix35
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix7
-rw-r--r--pkgs/tools/networking/ahcpd/default.nix2
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix10
-rw-r--r--pkgs/tools/networking/altermime/default.nix8
-rw-r--r--pkgs/tools/networking/aria/default.nix21
-rw-r--r--pkgs/tools/networking/aria2/default.nix4
-rw-r--r--pkgs/tools/networking/atftp/default.nix12
-rw-r--r--pkgs/tools/networking/autossh/default.nix6
-rw-r--r--pkgs/tools/networking/axel/default.nix7
-rw-r--r--pkgs/tools/networking/babeld/default.nix6
-rw-r--r--pkgs/tools/networking/badvpn/default.nix35
-rw-r--r--pkgs/tools/networking/badvpn/default.upstream3
-rw-r--r--pkgs/tools/networking/biosdevname/default.nix36
-rw-r--r--pkgs/tools/networking/biosdevname/makefile.patch13
-rw-r--r--pkgs/tools/networking/bud/default.nix34
-rw-r--r--pkgs/tools/networking/bully/default.nix28
-rw-r--r--pkgs/tools/networking/cadaver/default.nix18
-rw-r--r--pkgs/tools/networking/ccnet/default.nix35
-rw-r--r--pkgs/tools/networking/chrony/default.nix21
-rw-r--r--pkgs/tools/networking/cjdns/builder.sh9
-rw-r--r--pkgs/tools/networking/cjdns/default.nix26
-rw-r--r--pkgs/tools/networking/connect/default.nix2
-rw-r--r--pkgs/tools/networking/connman/default.nix59
-rw-r--r--pkgs/tools/networking/connmanui/default.nix28
-rw-r--r--pkgs/tools/networking/curl/default.nix17
-rw-r--r--pkgs/tools/networking/cutter/default.nix22
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix73
-rw-r--r--pkgs/tools/networking/ddclient/default.nix8
-rw-r--r--pkgs/tools/networking/dhcp/default.nix22
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix13
-rw-r--r--pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch12
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix8
-rw-r--r--pkgs/tools/networking/dnstop/default.nix6
-rw-r--r--pkgs/tools/networking/dropbear/default.nix6
-rw-r--r--pkgs/tools/networking/easyrsa/default.nix3
-rw-r--r--pkgs/tools/networking/filegive/default.nix13
-rw-r--r--pkgs/tools/networking/flvstreamer/default.nix2
-rw-r--r--pkgs/tools/networking/fping/default.nix4
-rw-r--r--pkgs/tools/networking/getmail/default.nix6
-rw-r--r--pkgs/tools/networking/gftp/default.nix2
-rw-r--r--pkgs/tools/networking/gupnp-tools/default.nix17
-rw-r--r--pkgs/tools/networking/haproxy/default.nix8
-rw-r--r--pkgs/tools/networking/httpie/default.nix10
-rw-r--r--pkgs/tools/networking/hyenae/default.nix2
-rw-r--r--pkgs/tools/networking/iftop/default.nix1
-rw-r--r--pkgs/tools/networking/imapproxy/default.nix2
-rw-r--r--pkgs/tools/networking/imapsync/default.nix2
-rw-r--r--pkgs/tools/networking/inadyn/default.nix2
-rw-r--r--pkgs/tools/networking/inetutils/default.nix6
-rw-r--r--pkgs/tools/networking/iperf/default.nix15
-rw-r--r--pkgs/tools/networking/isync/default.nix13
-rw-r--r--pkgs/tools/networking/jnettop/default.nix2
-rw-r--r--pkgs/tools/networking/lftp/default.nix16
-rw-r--r--pkgs/tools/networking/lsh/default.nix3
-rw-r--r--pkgs/tools/networking/maildrop/default.nix2
-rwxr-xr-x[-rw-r--r--]pkgs/tools/networking/mailutils/default.nix9
-rw-r--r--pkgs/tools/networking/megatools/default.nix2
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix19
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix27
-rw-r--r--pkgs/tools/networking/mosh/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix12
-rw-r--r--pkgs/tools/networking/mtr/edd425.patch218
-rw-r--r--pkgs/tools/networking/mu/default.nix25
-rw-r--r--pkgs/tools/networking/nbd/default.nix15
-rw-r--r--pkgs/tools/networking/ncftp/default.nix2
-rw-r--r--pkgs/tools/networking/ndisc6/default.nix4
-rw-r--r--pkgs/tools/networking/ndjbdns/default.nix21
-rw-r--r--pkgs/tools/networking/nethogs/default.nix36
-rw-r--r--pkgs/tools/networking/netkit/tftp/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix30
-rw-r--r--pkgs/tools/networking/network-manager/default.nix25
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix10
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix8
-rw-r--r--pkgs/tools/networking/network-manager/pptp-purity.patch6
-rw-r--r--pkgs/tools/networking/network-manager/pptp.nix10
-rw-r--r--pkgs/tools/networking/network-manager/vpnc.nix6
-rw-r--r--pkgs/tools/networking/ngrep/default.nix39
-rw-r--r--pkgs/tools/networking/nss-mdns/default.nix2
-rw-r--r--pkgs/tools/networking/ntop/default.nix6
-rw-r--r--pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch24
-rw-r--r--pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch29
-rw-r--r--pkgs/tools/networking/ntopng/default.nix52
-rw-r--r--pkgs/tools/networking/ntp/default.nix16
-rw-r--r--pkgs/tools/networking/nzbget/default.nix6
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix7
-rw-r--r--pkgs/tools/networking/openconnect.nix4
-rw-r--r--pkgs/tools/networking/openresolv/default.nix18
-rw-r--r--pkgs/tools/networking/openssh/default.nix43
-rw-r--r--pkgs/tools/networking/openvpn/default.nix16
-rw-r--r--pkgs/tools/networking/openvpn/openvpn_learnaddress.nix27
-rw-r--r--pkgs/tools/networking/openvpn/systemd-notify.patch22
-rw-r--r--pkgs/tools/networking/oslrd/default.nix4
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix14
-rw-r--r--pkgs/tools/networking/p2p/amule/gcc47.patch21
-rw-r--r--pkgs/tools/networking/p2p/gtk-gnutella/default.nix7
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix8
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/default.nix27
-rw-r--r--pkgs/tools/networking/p2p/seeks/default.nix3
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix35
-rw-r--r--pkgs/tools/networking/pdnsd/default.nix10
-rw-r--r--pkgs/tools/networking/pdsh/default.nix8
-rw-r--r--pkgs/tools/networking/plasma-nm/default.nix32
-rw-r--r--pkgs/tools/networking/privoxy/default.nix23
-rw-r--r--pkgs/tools/networking/privoxy/disable-user-error.patch66
-rw-r--r--pkgs/tools/networking/proxychains/default.nix2
-rw-r--r--pkgs/tools/networking/pwnat/default.nix2
-rw-r--r--pkgs/tools/networking/reaver-wps/default.nix4
-rw-r--r--pkgs/tools/networking/rp-pppoe/default.nix4
-rw-r--r--pkgs/tools/networking/s3cmd/git.nix19
-rw-r--r--pkgs/tools/networking/s3sync/default.nix2
-rw-r--r--pkgs/tools/networking/siege/default.nix58
-rw-r--r--pkgs/tools/networking/smbldaptools/default.nix6
-rw-r--r--pkgs/tools/networking/snx/default.nix3
-rw-r--r--pkgs/tools/networking/socat/2.0.0-b3.nix29
-rw-r--r--pkgs/tools/networking/socat/2.x.nix23
-rw-r--r--pkgs/tools/networking/socat/default.nix7
-rw-r--r--pkgs/tools/networking/speedtest-cli/default.nix21
-rw-r--r--pkgs/tools/networking/spiped/default.nix31
-rw-r--r--pkgs/tools/networking/spiped/no-dev-stderr.patch26
-rw-r--r--pkgs/tools/networking/sproxy-web/default.nix26
-rw-r--r--pkgs/tools/networking/sproxy/default.nix39
-rw-r--r--pkgs/tools/networking/sproxy/new-http-kit.patch224
-rw-r--r--pkgs/tools/networking/stunnel/default.nix26
-rw-r--r--pkgs/tools/networking/surfraw/default.nix7
-rw-r--r--pkgs/tools/networking/swec/default.nix2
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix5
-rw-r--r--pkgs/tools/networking/tcpflow/default.nix29
-rw-r--r--pkgs/tools/networking/tcpflow/default.upstream1
-rw-r--r--pkgs/tools/networking/telnet/default.nix3
-rw-r--r--pkgs/tools/networking/tinc/default.nix4
-rw-r--r--pkgs/tools/networking/ucspi-tcp/default.nix85
-rw-r--r--pkgs/tools/networking/udptunnel/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix13
-rw-r--r--pkgs/tools/networking/uwimap/default.nix2
-rw-r--r--pkgs/tools/networking/vpnc/default.nix2
-rw-r--r--pkgs/tools/networking/vtun/default.nix2
-rw-r--r--pkgs/tools/networking/wakelan/default.nix2
-rw-r--r--pkgs/tools/networking/wavemon/default.nix4
-rw-r--r--pkgs/tools/networking/webalizer/default.nix4
-rw-r--r--pkgs/tools/networking/wget/default.nix8
-rw-r--r--pkgs/tools/networking/wget/iri-test.patch12
-rw-r--r--pkgs/tools/networking/wicd/default.nix6
-rw-r--r--pkgs/tools/package-management/cabal-install/0.10.2.nix8
-rw-r--r--pkgs/tools/package-management/cabal-install/0.14.0.nix3
-rw-r--r--pkgs/tools/package-management/cabal-install/0.6.2.nix8
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.0.nix8
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.2.nix8
-rw-r--r--pkgs/tools/package-management/cabal-install/1.16.0.2.nix3
-rw-r--r--pkgs/tools/package-management/cabal-install/1.18.0.2.nix30
-rw-r--r--pkgs/tools/package-management/cabal-install/1.18.0.3.nix33
-rw-r--r--pkgs/tools/package-management/cabal-install/1.20.0.3.nix32
-rw-r--r--pkgs/tools/package-management/checkinstall/default.nix3
-rw-r--r--pkgs/tools/package-management/checkinstall/readlink-types.patch19
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix4
-rw-r--r--pkgs/tools/package-management/disnix/default.nix12
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix12
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix19
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix5
-rw-r--r--pkgs/tools/package-management/guix/default.nix2
-rw-r--r--pkgs/tools/package-management/nix-prefetch-scripts/default.nix38
-rw-r--r--pkgs/tools/package-management/nix-repl/default.nix9
-rw-r--r--pkgs/tools/package-management/nix/default.nix6
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix12
-rw-r--r--pkgs/tools/package-management/nixops/default.nix4
-rw-r--r--pkgs/tools/package-management/nox/default.nix29
-rw-r--r--pkgs/tools/package-management/opkg/default.nix20
-rw-r--r--pkgs/tools/package-management/rpm/default.nix17
-rw-r--r--pkgs/tools/security/aespipe/default.nix6
-rw-r--r--pkgs/tools/security/ccid/default.nix9
-rw-r--r--pkgs/tools/security/ccrypt/default.nix8
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/duo-unix/default.nix28
-rw-r--r--pkgs/tools/security/ecryptfs/default.nix35
-rw-r--r--pkgs/tools/security/fail2ban/default.nix14
-rw-r--r--pkgs/tools/security/fprot/default.nix12
-rw-r--r--pkgs/tools/security/gnupg/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/git.nix2
-rw-r--r--pkgs/tools/security/gnupg1/default.nix6
-rw-r--r--pkgs/tools/security/hashcat/default.nix48
-rw-r--r--pkgs/tools/security/haveged/default.nix4
-rw-r--r--pkgs/tools/security/jd-gui/default.nix33
-rw-r--r--pkgs/tools/security/meo/default.nix6
-rw-r--r--pkgs/tools/security/mkpasswd/default.nix26
-rw-r--r--pkgs/tools/security/munge/default.nix6
-rw-r--r--pkgs/tools/security/muscleframework/default.nix3
-rw-r--r--pkgs/tools/security/muscletool/default.nix5
-rw-r--r--pkgs/tools/security/nmap/default.nix40
-rw-r--r--pkgs/tools/security/opensc/0.11.7.nix27
-rw-r--r--pkgs/tools/security/opensc/default.nix36
-rw-r--r--pkgs/tools/security/ossec/default.nix1
-rw-r--r--pkgs/tools/security/p0f/default.nix39
-rw-r--r--pkgs/tools/security/paperkey/default.nix28
-rw-r--r--pkgs/tools/security/pass/darwin-getopt.patch11
-rw-r--r--pkgs/tools/security/pass/default.nix32
-rw-r--r--pkgs/tools/security/pcsclite/default.nix22
-rw-r--r--pkgs/tools/security/pinentry/default.nix8
-rw-r--r--pkgs/tools/security/pius/default.nix2
-rw-r--r--pkgs/tools/security/prey/default.nix1
-rw-r--r--pkgs/tools/security/pwgen/default.nix6
-rw-r--r--pkgs/tools/security/rhash/default.nix18
-rw-r--r--pkgs/tools/security/scrypt/default.nix7
-rw-r--r--pkgs/tools/security/ssdeep/default.nix23
-rw-r--r--pkgs/tools/security/steghide/default.nix30
-rw-r--r--pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch42
-rw-r--r--pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch46
-rw-r--r--pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch349
-rw-r--r--pkgs/tools/security/sudo/default.nix47
-rw-r--r--pkgs/tools/security/tboot/default.nix33
-rw-r--r--pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch50
-rw-r--r--pkgs/tools/security/tor/default.nix12
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix73
-rw-r--r--pkgs/tools/security/tor/torsocks.nix2
-rw-r--r--pkgs/tools/security/tpm-quote-tools/default.nix22
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix26
-rw-r--r--pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch19
-rw-r--r--pkgs/tools/security/trousers/default.nix33
-rw-r--r--pkgs/tools/security/trousers/disable-install-rule.patch27
-rw-r--r--pkgs/tools/security/trousers/double-installed-man-page.patch32
-rw-r--r--pkgs/tools/security/vidalia/default.nix11
-rw-r--r--pkgs/tools/security/vidalia/gcc-4.7.patch12
-rw-r--r--pkgs/tools/security/volatility/default.nix22
-rw-r--r--pkgs/tools/system/acct/default.nix10
-rw-r--r--pkgs/tools/system/acct/no-gets.patch22
-rw-r--r--pkgs/tools/system/ansible/default.nix37
-rw-r--r--pkgs/tools/system/at/default.nix8
-rw-r--r--pkgs/tools/system/at/install.patch17
-rw-r--r--pkgs/tools/system/collectd/default.nix52
-rw-r--r--pkgs/tools/system/dd_rescue/default.nix74
-rw-r--r--pkgs/tools/system/ddrescue/default.nix18
-rw-r--r--pkgs/tools/system/efibootmgr/arbitrary-filenames.patch24
-rw-r--r--pkgs/tools/system/efibootmgr/default.nix31
-rw-r--r--pkgs/tools/system/efivar/default.nix28
-rw-r--r--pkgs/tools/system/evemu/default.nix37
-rw-r--r--pkgs/tools/system/fakechroot/default.nix20
-rw-r--r--pkgs/tools/system/fakeroot/default.nix2
-rw-r--r--pkgs/tools/system/fcron/default.nix2
-rw-r--r--pkgs/tools/system/fdisk/default.nix5
-rw-r--r--pkgs/tools/system/fio/default.nix2
-rw-r--r--pkgs/tools/system/freeipmi/default.nix6
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix9
-rw-r--r--pkgs/tools/system/gt5/default.nix2
-rw-r--r--pkgs/tools/system/idle3tools/default.nix2
-rw-r--r--pkgs/tools/system/ioping/default.nix4
-rw-r--r--pkgs/tools/system/ipmitool/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix69
-rw-r--r--pkgs/tools/system/logcheck/default.nix8
-rw-r--r--pkgs/tools/system/logrotate/default.nix6
-rw-r--r--pkgs/tools/system/lshw/default.nix6
-rw-r--r--pkgs/tools/system/mcron/default.nix2
-rw-r--r--pkgs/tools/system/monit/default.nix41
-rw-r--r--pkgs/tools/system/monit/src-for-default.nix9
-rw-r--r--pkgs/tools/system/monit/src-info-for-default.nix4
-rw-r--r--pkgs/tools/system/pciutils/default.nix6
-rw-r--r--pkgs/tools/system/plan9port/builder.sh47
-rw-r--r--pkgs/tools/system/plan9port/default.nix28
-rw-r--r--pkgs/tools/system/plan9port/fontsrv.patch14
-rw-r--r--pkgs/tools/system/rsyslog/default.nix16
-rw-r--r--pkgs/tools/system/safecopy/default.nix2
-rw-r--r--pkgs/tools/system/sizes/default.nix23
-rw-r--r--pkgs/tools/system/storebrowse/default.nix6
-rw-r--r--pkgs/tools/system/symlinks/default.nix27
-rw-r--r--pkgs/tools/system/syslog-ng-incubator/default.nix34
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix28
-rw-r--r--pkgs/tools/system/tree/default.nix8
-rw-r--r--pkgs/tools/system/ts/default.nix15
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix2
-rw-r--r--pkgs/tools/text/ascii/default.nix12
-rw-r--r--pkgs/tools/text/catdoc/default.nix3
-rw-r--r--pkgs/tools/text/colordiff/default.nix18
-rw-r--r--pkgs/tools/text/convertlit/default.nix2
-rw-r--r--pkgs/tools/text/diffstat/default.nix22
-rw-r--r--pkgs/tools/text/diffutils/default.nix10
-rw-r--r--pkgs/tools/text/diffutils/gets-undeclared.patch71
-rw-r--r--pkgs/tools/text/dos2unix/default.nix8
-rw-r--r--pkgs/tools/text/ebook-tools/default.nix4
-rw-r--r--pkgs/tools/text/enca/default.nix10
-rw-r--r--pkgs/tools/text/enscript/default.nix15
-rw-r--r--pkgs/tools/text/gawk/default.nix20
-rw-r--r--pkgs/tools/text/gnugrep/default.nix4
-rw-r--r--pkgs/tools/text/gnugrep/test-localeconv.patch18
-rw-r--r--pkgs/tools/text/gnupatch/bashishms.patch67
-rw-r--r--pkgs/tools/text/gnupatch/default.nix7
-rw-r--r--pkgs/tools/text/gnused/default.nix8
-rw-r--r--pkgs/tools/text/groff/default.nix2
-rw-r--r--pkgs/tools/text/highlight/default.nix4
-rw-r--r--pkgs/tools/text/html-tidy/default.nix2
-rw-r--r--pkgs/tools/text/kakasi/default.nix23
-rw-r--r--pkgs/tools/text/kdiff3/default.nix6
-rw-r--r--pkgs/tools/text/mairix/default.nix6
-rw-r--r--pkgs/tools/text/multitran/data/default.nix2
-rw-r--r--pkgs/tools/text/multitran/libbtree/default.nix2
-rw-r--r--pkgs/tools/text/multitran/libfacet/default.nix2
-rw-r--r--pkgs/tools/text/multitran/libmtquery/default.nix2
-rw-r--r--pkgs/tools/text/multitran/libmtsupport/default.nix2
-rw-r--r--pkgs/tools/text/multitran/mtutils/default.nix2
-rw-r--r--pkgs/tools/text/namazu/default.nix6
-rw-r--r--pkgs/tools/text/numdiff/default.nix4
-rw-r--r--pkgs/tools/text/patchutils/default.nix15
-rw-r--r--pkgs/tools/text/patchutils/drop-comments.patch84
-rw-r--r--pkgs/tools/text/peco/default.nix63
-rw-r--r--pkgs/tools/text/podiff/default.nix1
-rw-r--r--pkgs/tools/text/qshowdiff/default.nix2
-rw-r--r--pkgs/tools/text/recode/default.nix14
-rw-r--r--pkgs/tools/text/sgml/openjade/default.nix2
-rw-r--r--pkgs/tools/text/sgml/opensp/compat.nix4
-rw-r--r--pkgs/tools/text/sgml/opensp/default.nix2
-rw-r--r--pkgs/tools/text/silver-searcher/default.nix24
-rw-r--r--pkgs/tools/text/source-highlight/default.nix20
-rw-r--r--pkgs/tools/text/uni2ascii/default.nix7
-rw-r--r--pkgs/tools/text/wdiff/default.nix15
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix4
-rw-r--r--pkgs/tools/text/xml/basex/default.nix6
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix3
-rw-r--r--pkgs/tools/text/xml/rxp/default.nix2
-rw-r--r--pkgs/tools/text/xml/xmlstarlet/default.nix6
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix49
-rw-r--r--pkgs/tools/typesetting/biber/default.nix40
-rw-r--r--pkgs/tools/typesetting/djvu2pdf/default.nix28
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix47
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix2
-rw-r--r--pkgs/tools/typesetting/fop/default.nix20
-rw-r--r--pkgs/tools/typesetting/halibut/default.nix2
-rw-r--r--pkgs/tools/typesetting/lhs2tex/default.nix5
-rw-r--r--pkgs/tools/typesetting/lout/default.nix6
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix32
-rw-r--r--pkgs/tools/typesetting/pdfjam/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdftk/default.nix2
-rw-r--r--pkgs/tools/typesetting/rubber/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/dblatex/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/pgf/1.x.nix6
-rw-r--r--pkgs/tools/typesetting/tex/pgfplots/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/tex4ht/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/aggregate.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix7
-rw-r--r--pkgs/tools/typesetting/tex/texlive/cm-super.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix59
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix12
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix2
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix9
-rw-r--r--pkgs/tools/video/dvgrab/default.nix2
-rw-r--r--pkgs/tools/video/mjpegtools/default.nix4
-rw-r--r--pkgs/tools/video/rtmpdump/default.nix10
-rw-r--r--pkgs/tools/video/swfmill/default.nix7
-rw-r--r--pkgs/tools/video/swftools/default.nix2
-rw-r--r--pkgs/tools/virtualization/aws/default.nix6
-rw-r--r--pkgs/tools/virtualization/ec2-ami-tools/default.nix10
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix3928
-rw-r--r--pkgs/top-level/haskell-defaults.nix402
-rw-r--r--pkgs/top-level/haskell-packages.nix1868
-rw-r--r--pkgs/top-level/make-tarball.nix22
-rw-r--r--pkgs/top-level/mingw.nix27
-rw-r--r--pkgs/top-level/node-packages-generated.nix17681
-rw-r--r--pkgs/top-level/node-packages.json24
-rw-r--r--pkgs/top-level/node-packages.nix27
-rw-r--r--pkgs/top-level/perl-packages.nix2477
-rw-r--r--pkgs/top-level/php-packages.nix75
-rw-r--r--pkgs/top-level/platforms.nix15
-rw-r--r--pkgs/top-level/python-packages-generated.nix2991
-rw-r--r--pkgs/top-level/python-packages.json13
-rw-r--r--pkgs/top-level/python-packages.nix3357
-rw-r--r--pkgs/top-level/r-packages.nix246
-rw-r--r--pkgs/top-level/release-cross.nix13
-rw-r--r--pkgs/top-level/release-lib.nix8
-rw-r--r--pkgs/top-level/release-python.nix1930
-rw-r--r--pkgs/top-level/release-small.nix40
-rw-r--r--pkgs/top-level/release.nix107
6088 files changed, 145630 insertions, 58259 deletions
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index f6c17e6d8ed..38192311ccf 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, alsaLib, dbus, jackaudio, pkgconfig, python }:
+{ stdenv, fetchurl, alsaLib, dbus, jack2, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name = "a2jmidid-${version}";
-  version = "7";
+  version = "8";
 
   src = fetchurl {
     url = "http://download.gna.org/a2jmidid/${name}.tar.bz2";
-    sha256 = "1pl91y7npirhmikzlizpbyx2vkfvdkvc6qvc2lv4capj3cp6ypx7";
+    sha256 = "0pzm0qk5ilqhwz74pydg1jwrds27vm47185dakdrxidb5bv3b5ia";
   };
 
-  buildInputs = [ alsaLib dbus jackaudio pkgconfig python ];
+  buildInputs = [ alsaLib dbus jack2 pkgconfig python ];
 
   configurePhase = "python waf configure --prefix=$out";
 
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "Daemon for exposing legacy ALSA sequencer applications in JACK MIDI system";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/abcde/default.nix b/pkgs/applications/audio/abcde/default.nix
index 031b0fe93b5..1978fcf1874 100644
--- a/pkgs/applications/audio/abcde/default.nix
+++ b/pkgs/applications/audio/abcde/default.nix
@@ -61,7 +61,7 @@ in
 
     meta = {
       homepage = "http://lly.org/~rcw/abcde/page/";
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
       description = "Command-line audio CD ripper";
 
       longDescription = ''
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index 1dac3f6b853..b1bcfe869f7 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -22,12 +22,10 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";
 
-  postInstall = ''
-    mkdir -p $out/nix-support
-    echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages
-  '';
+  propagatedUserEnvPkgs = [ qtscriptgenerator ];
 
   meta = {
+    repositories.git = git://anongit.kde.org/amarok.git;
     description = "Popular music player for KDE";
     license = "GPL";
     homepage = http://amarok.kde.org;
diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix
new file mode 100644
index 00000000000..dd23504d3fa
--- /dev/null
+++ b/pkgs/applications/audio/ams-lv2/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, cairo, gtk, gtkmm, lv2, lvtk, pkgconfig, python }:
+
+stdenv.mkDerivation  rec {
+  name = "ams-lv2-${version}";
+  version = "1.0.2";
+
+  src = fetchurl {
+    url = "https://github.com/blablack/ams-lv2/archive/v${version}.tar.gz";
+    sha256 = "0fa1ghf6qahbhj9j1ciyw0hr6nngwksa37hbs651mlz0fn7lz4xm";
+  };
+
+  buildInputs = [ cairo gtk gtkmm lv2 lvtk pkgconfig python ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    description = "An LV2 port of the internal modules found in Alsa Modular Synth";
+    homepage = http://objectivewave.wordpress.com/ams-lv2;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix
deleted file mode 100644
index bf2ee04cbce..00000000000
--- a/pkgs/applications/audio/ardour/ardour3.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw
-, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio
-, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
-, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
-, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
-, perl, pkgconfig, python, serd, sord, sratom, suil }:
-
-let
-  # Ardour 3.0 tag
-  rev = "79db9422";
-in
-
-stdenv.mkDerivation {
-  name = "ardour-3.0";
-
-  src = fetchgit {
-    url = git://git.ardour.org/ardour/ardour.git;
-    inherit rev;
-    sha256 = "cdbe4ca6d4b639fcd66a3d1cf9c2816b4755655c9d81bdd2417263f413aa7096";
-  };
-
-  buildInputs = 
-    [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc
-      glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo
-      libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
-      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
-      makeWrapper pango perl pkgconfig python serd sord sratom suil
-    ];
-
-  patchPhase = ''
-    printf '#include "ardour/svn_revision.h"\nnamespace ARDOUR { const char* svn_revision = \"${rev}\"; }\n' > libs/ardour/svn_revision.cc
-    sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
-    sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
-    sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
-  '';
-
-  configurePhase = "python waf configure --prefix=$out";
-
-  buildPhase = "python waf";
-
-  # For the custom ardour clearlooks gtk-engine to work, it must be
-  # moved to a directory called "engines" and added to GTK_PATH
-  installPhase = ''
-    python waf install
-    mkdir -pv $out/gtk2/engines
-    mv $out/lib/ardour3/libclearlooks.so $out/gtk2/engines/
-    wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Multi-track hard disk recording software";
-    longDescription = ''
-      Also read "The importance of Paying Something" on their homepage, please!
-    '';
-    homepage = http://ardour.org/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index 3ed650d4ae7..62b88cbe077 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -1,50 +1,77 @@
-{ stdenv, fetchurl, scons, boost, pkgconfig, fftw, librdf_raptor2
-, librdf_rasqal, jackaudio, flac, libsamplerate, alsaLib, libxml2
-, lilv, lv2, serd, sord, sratom, suil # these are probably optional
-, libxslt, libsndfile, libsigcxx, libusb, cairomm, glib, pango
-, gtk, glibmm, gtkmm, libgnomecanvas, libgnomecanvasmm, liblo, aubio
-, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf, curl }:
+{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw
+, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jack2
+, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
+, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
+, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
+, perl, pkgconfig, python, serd, sord, sratom, suil }:
+
+let
+  tag = "3.5.380";
+in
 
 stdenv.mkDerivation rec {
-  name = "ardour-${version}";
-  version = "2.8.16";
+  name = "ardour-${tag}";
 
-  src = fetchurl {
-    url = "mirror://gentoo/distfiles/${name}.tar.bz2";
-    sha256 = "0h2y0x4yznalllja53anjil2gmgcb26f39zshc4gl1d1kc8k5vip";
+  src = fetchgit {
+    url = git://git.ardour.org/ardour/ardour.git;
+    rev = "refs/tags/${tag}";
+    sha256 = "dbcbb2d9143e196d079c27b15266e47d24b81cb7591fe64b717f3485965ded7b";
   };
 
-  postPatch = ''
-    #sed -e "s#/usr/bin/which#type -P#" -i libs/glibmm2/autogen.sh
-    echo '#include "ardour/svn_revision.h"' > libs/ardour/svn_revision.cc
-    echo -e 'namespace ARDOUR {\n extern const char* svn_revision = "2.8.12";\n }\n' >> libs/ardour/svn_revision.cc
-  '';
+  buildInputs = 
+    [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc
+      glibmm gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo
+      libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
+      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
+      makeWrapper pango perl pkgconfig python serd sord sratom suil
+    ];
 
-  buildInputs = [
-    scons boost pkgconfig fftw librdf_raptor2 librdf_rasqal jackaudio
-    flac libsamplerate alsaLib libxml2 libxslt libsndfile libsigcxx
-    #lilv lv2 serd sord sratom suil
-    libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas libgnomecanvasmm liblrdf
-    liblo aubio fftwSinglePrec libmad autoconf automake libtool curl
-  ];
-
-  buildPhase = ''
-    mkdir -p $out
-    export CXX=g++
-    scons PREFIX=$out SYSLIBS=1 install
+  patchPhase = ''
+    # The funny revision number is from `git describe rev`
+    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-g2f6065b\"; }\n' > libs/ardour/revision.cc
+    # Note the different version number
+    sed -i '33i rev = \"3.5-380-g2f6065b\"' wscript
+    sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
+    sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
+    sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
   '';
 
-  installPhase = ":";
+  configurePhase = "python waf configure --optimize --prefix=$out";
+
+  buildPhase = "python waf";
+
+  # For the custom ardour clearlooks gtk-engine to work, it must be
+  # moved to a directory called "engines" and added to GTK_PATH
+  installPhase = ''
+    python waf install
+    mkdir -pv $out/gtk2/engines
+    cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/
+    wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2
+
+    # Install desktop file
+    mkdir -p "$out/share/applications"
+    cat > "$out/share/applications/ardour.desktop" << EOF
+    [Desktop Entry]
+    Name=Ardour 3
+    GenericName=Digital Audio Workstation
+    Comment=Multitrack harddisk recorder
+    Exec=$out/bin/ardour3
+    Icon=$out/share/ardour3/icons/ardour_icon_256px.png
+    Terminal=false
+    Type=Application
+    X-MultipleArgs=false
+    Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video;
+    EOF
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Multi-track hard disk recording software";
     longDescription = ''
-      Broken: use ardour3-svn instead
       Also read "The importance of Paying Something" on their homepage, please!
     '';
     homepage = http://ardour.org/;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index f9a8d075241..409a831727b 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -4,19 +4,19 @@
 }:
 
 let
-  version = "3.4.1";
+  version = "3.4.3";
 in
 stdenv.mkDerivation {
   name = "audacious-${version}";
 
   src = fetchurl {
     url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
-    sha256 = "0wf99b0nrk90fyak4gpwi076qnsrmv1j8958cvi57rxig21lvvap";
+    sha256 = "04lzwdr1lx6ghbfxzygvnbmdl420w6rm453ds5lyb0hlvzs58d0q";
   };
 
   pluginsSrc = fetchurl {
     url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
-    sha256 = "02ivrxs6109nmmz9pkbf9dkm36s2lyp9vfv59sm0acxxd4db71md";
+    sha256 = "00r88q9fs9a0gicdmk2svcans7igcqgacrw303a5bn44is7pmrmy";
   };
 
   buildInputs =
@@ -48,8 +48,8 @@ stdenv.mkDerivation {
       (
         source $stdenv/setup
         # gsettings schemas for file dialogues
-        for file in "$out"/bin/*; do
-          wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD"
+        for file in "$out/bin/"*; do
+          wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD:$GSETTINGS_SCHEMAS_PATH"
         done
       )
     '';
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 4a6797f9010..7308d84e098 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -4,12 +4,12 @@
   }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.4";
+  version = "2.0.5";
   name = "audacity-${version}";
 
   src = fetchurl {
     url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.xz";
-    sha256 = "0pl92filykzs4g2pn7i02kdqgja326wjgafzw2vcgwn3dwrs4avp";
+    sha256 = "0y9bvc3a3zxsk31yg7bha029mzkjiw5i9m86kbyj7x8ps0fm91z2";
   };
 
   preConfigure = /* we prefer system-wide libs */ ''
@@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Sound editor with graphical UI";
     homepage = http://audacity.sourceforge.net;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/audio/aumix/default.nix b/pkgs/applications/audio/aumix/default.nix
index 1e19a3ac5c3..41edd51e5f2 100644
--- a/pkgs/applications/audio/aumix/default.nix
+++ b/pkgs/applications/audio/aumix/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       the command line or a script.
     '';
     homepage = http://www.jpj.net/~trevor/aumix.html;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 0978b15bfaf..b27ac058602 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, alsaLib, jackaudio, pkgconfig, pulseaudio, xlibs }:
+{ stdenv, fetchurl, alsaLib, jack2, pkgconfig, pulseaudio, xlibs }:
 
 stdenv.mkDerivation  rec {
   name = "bristol-${version}";
-  version = "0.60.10";
+  version = "0.60.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/bristol/${name}.tar.gz";
-    sha256 = "070rn5zdx6vrqmq7w1rrpxig3bxlylbsw82nlmkjnhjrgm6yx753";
+    sha256 = "1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx";
   };
 
   buildInputs = [
-    alsaLib jackaudio pkgconfig pulseaudio xlibs.libX11 xlibs.libXext
+    alsaLib jack2 pkgconfig pulseaudio xlibs.libX11 xlibs.libXext
     xlibs.xproto
   ];
 
diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix
index 6ed4b7cce98..efab9202025 100644
--- a/pkgs/applications/audio/calf/default.nix
+++ b/pkgs/applications/audio/calf/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib
-, gtk, jackaudio, ladspaH , libglade, lv2, pkgconfig }:
+, gtk, jack2, ladspaH , libglade, lv2, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "calf-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ 
-    cairo expat fftwSinglePrec fluidsynth glib gtk jackaudio ladspaH
+    cairo expat fftwSinglePrec fluidsynth glib gtk jack2 ladspaH
     libglade lv2 pkgconfig
   ];
 
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
new file mode 100644
index 00000000000..31d5240529f
--- /dev/null
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -0,0 +1,104 @@
+{ stdenv, fetchurl, cmake
+, withQt4 ? true, qt4
+, withQt5 ? false, qt5
+
+# I'm unable to make KDE work here, crashes at runtime so I simply
+# make Qt4 the default until someone who wants KDE can figure it out.
+, withKDE4 ? false, kde4
+
+# Cantata doesn't build with cdparanoia enabled so we disable that
+# default for now until I (or someone else) figure it out.
+, withCdda ? false, cdparanoia
+, withCddb ? false, libcddb
+, withLame ? false, lame
+, withMusicbrainz ? false, libmusicbrainz5
+
+, withTaglib ? true, taglib, taglib_extras
+, withReplaygain ? true, ffmpeg, speex, mpg123
+, withMtp ? true, libmtp
+, withOnlineServices ? true
+, withDevices ? true, udisks2
+, withDynamic ? true
+, withHttpServer ? true
+, withStreams ? true
+}:
+
+# One and only one front-end.
+assert withQt5 -> withQt4 == false && withKDE4 == false;
+assert withQt4 -> withQt5 == false && withKDE4 == false;
+assert withKDE4 -> withQt4 == false && withQt5 == false;
+assert withQt4 || withQt5 || withKDE4;
+
+# Inter-dependencies.
+assert withCddb -> withCdda && withTaglib;
+assert withCdda -> withCddb && withMusicbrainz;
+assert withLame -> withCdda && withTaglib;
+assert withMtp -> withTaglib;
+assert withMusicbrainz -> withCdda && withTaglib;
+assert withOnlineServices -> withTaglib;
+assert withReplaygain -> withTaglib;
+
+let
+  version = "1.3.4";
+  pname = "cantata";
+  fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
+  fstats = x: map (fstat x);
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    inherit name;
+    url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60WTYtaXk3c1IzNVU";
+    sha256 = "0ris41v44nwd68f3zis9n9lyyc089dyhlxp37rrzflanrc6glpwq";
+  };
+
+  buildInputs =
+    [ cmake ]
+    ++ stdenv.lib.optional withQt4 qt4
+    ++ stdenv.lib.optional withQt5 qt5
+    ++ stdenv.lib.optional withKDE4 kde4.kdelibs
+    ++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
+    ++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
+    ++ stdenv.lib.optional withCdda cdparanoia
+    ++ stdenv.lib.optional withCddb libcddb
+    ++ stdenv.lib.optional withLame lame
+    ++ stdenv.lib.optional withMtp libmtp
+    ++ stdenv.lib.optional withMusicbrainz libmusicbrainz5
+    ++ stdenv.lib.optional (withTaglib && !withKDE4 && withDevices) udisks2;
+
+  unpackPhase = "tar -xvf $src";
+  sourceRoot = "cantata-1.3.4";
+
+  # Qt4 is implicit when KDE is switched off.
+  cmakeFlags = stdenv.lib.flatten [
+    (fstats withKDE4 [ "KDE" "KWALLET" ])
+    (fstat withQt5 "QT5")
+    (fstats withTaglib [ "TAGLIB" "TAGLIB_EXTRAS" ])
+    (fstats withReplaygain [ "FFMPEG" "MPG123" "SPEEXDSP" ])
+    (fstat withCdda "CDPARANOIA")
+    (fstat withCddb "CDDB")
+    (fstat withLame "LAME")
+    (fstat withMtp "MTP")
+    (fstat withMusicbrainz "MUSICBRAINZ")
+    (fstat withOnlineServices "ONLINE_SERVICES")
+    (fstat withDynamic "DYNAMIC")
+    (fstat withDevices "DEVICES_SUPPORT")
+    (fstat withHttpServer "HTTP_SERVER")
+    (fstat withStreams "STREAMS")
+    "-DENABLE_HTTPS_SUPPORT=ON"
+    "-DENABLE_UDISKS2=ON"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://code.google.com/p/cantata/";
+    description = "A graphical client for MPD.";
+    license = licenses.gpl3;
+
+    # Technically Cantata can run on Windows so if someone wants to
+    # bother figuring that one out, be my guest.
+    platforms = platforms.linux;
+    maintainers = [ maintainers.fuuzetsu ];
+  };
+}
diff --git a/pkgs/applications/audio/caps/default.nix b/pkgs/applications/audio/caps/default.nix
index 81fb77c1c9a..49880f6c0f3 100644
--- a/pkgs/applications/audio/caps/default.nix
+++ b/pkgs/applications/audio/caps/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
   name = "caps-${version}";
-  version = "0.9.7";
+  version = "0.9.16";
   src = fetchurl {
     url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2";
-    sha256 = "0ks98r3j404s9h88x50lj5lj4l64ijj29fz5i08iyq8jrb7r0zm0";
+    sha256 = "117l04w2zwqak856lihmaxg6f22vlz71knpxy0axiyri0x82lbwv";
   };
   configurePhase = ''
     echo "PREFIX = $out" > defines.make
diff --git a/pkgs/applications/audio/cd-discid/default.nix b/pkgs/applications/audio/cd-discid/default.nix
index c67830a94e7..1646f944a83 100644
--- a/pkgs/applications/audio/cd-discid/default.nix
+++ b/pkgs/applications/audio/cd-discid/default.nix
@@ -19,7 +19,7 @@ in
 
     meta = {
       homepage = http://lly.org/~rcw/cd-discid/;
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
       description = "cd-discid, a command-line utility to retrieve a disc's CDDB ID";
 
       longDescription = ''
diff --git a/pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch b/pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch
new file mode 100644
index 00000000000..4c17846b99d
--- /dev/null
+++ b/pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch
@@ -0,0 +1,14 @@
+diff -ur clementine-1.2.1-a/CMakeLists.txt clementine-1.2.1-b/CMakeLists.txt
+--- clementine-1.2.1-a/CMakeLists.txt	2013-11-25 15:16:24.000000000 -0600
++++ clementine-1.2.1-b/CMakeLists.txt	2013-12-30 17:01:48.470011058 -0600
+@@ -158,6 +158,10 @@
+ include_directories(${TAGLIB_INCLUDE_DIRS})
+ include_directories(${QJSON_INCLUDE_DIRS})
+ include_directories(${GSTREAMER_INCLUDE_DIRS})
++include_directories(${GSTREAMER_APP_INCLUDE_DIRS})
++include_directories(${GSTREAMER_BASE_INCLUDE_DIRS})
++include_directories(${GSTREAMER_CDDA_INCLUDE_DIRS})
++include_directories(${GSTREAMER_TAG_INCLUDE_DIRS})
+ include_directories(${GLIB_INCLUDE_DIRS})
+ include_directories(${GLIBCONFIG_INCLUDE_DIRS})
+ include_directories(${LIBXML_INCLUDE_DIRS})
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
new file mode 100644
index 00000000000..604c35f46ce
--- /dev/null
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
+, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
+, usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig
+, sparsehash, config }:
+
+let withSpotify = config.clementine.spotify or false;
+in
+stdenv.mkDerivation {
+  name = "clementine-1.2.3";
+
+  src = fetchurl {
+    url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz;
+    sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
+  };
+
+  patches = [ ./clementine-1.2.1-include-paths.patch ];
+
+  buildInputs = [
+    boost
+    cmake
+    fftw
+    gettext
+    glew
+    gst_plugins_base
+    gstreamer
+    gvfs
+    libcdio
+    libgpod
+    liblastfm
+    libmtp
+    libplist
+    pkgconfig
+    protobuf
+    qca2
+    qjson
+    qt4
+    sparsehash
+    sqlite
+    taglib
+    usbmuxd
+  ] ++ stdenv.lib.optional withSpotify libspotify;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.clementine-player.org";
+    description = "A multiplatform music player";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.ttuegel ];
+    # libspotify is unfree
+    hydraPlatforms = optionals (!withSpotify) platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 34e98ae620d..19c590330f6 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -12,13 +12,13 @@
 }:
 
 stdenv.mkDerivation {
-  name = "csound-5.18.02";
+  name = "csound-5.19.01";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = mirror://sourceforge/csound/Csound5.18.02.tar.gz;
-    sha256 = "4c461cf3bf60b83671224949dd33805379b7121bf2c0ad6af5e191e7f6f8adc8";
+    url = mirror://sourceforge/csound/Csound5.19.01.tar.gz;
+    sha256 = "078i69jwgadmxwa5ffn8h1py7cmd9asa8swnh38fyp56lzgzn669";
   };
 
   buildInputs = [ cmake libsndfile flex bison alsaLib pulseaudio tcltk ];
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index 809a02e1c7a..aa3a76c3af1 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jackaudio
+{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jack2
 , libxslt, lv2, pkgconfig, premake3, xlibs }:
 
 let
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    alsaLib fftwSinglePrec freetype jackaudio pkgconfig premake3
+    alsaLib fftwSinglePrec freetype jack2 pkgconfig premake3
     xlibs.libX11 xlibs.libXcomposite xlibs.libXcursor xlibs.libXext
     xlibs.libXinerama xlibs.libXrender
   ];
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 7fdd04ce96b..775cf5ca606 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
+{ stdenv, fetchurl, jack2, libsndfile, lv2, qt4 }:
 
 stdenv.mkDerivation rec {
   name = "drumkv1-${version}";
-  version = "0.3.2";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
-    sha256 = "0bafg06iavri9dmg7hpz554kpqf1iv9crcdq46y4n4wyyxd7kajl";
+    sha256 = "16bjkp22hfpmzj5di98dddzslavgvhw5z7pgjzmjqz9dxvbqwq1k";
   };
 
-  buildInputs = [ jackaudio libsndfile lv2 qt4 ];
+  buildInputs = [ jack2 libsndfile lv2 qt4 ];
 
   meta = with stdenv.lib; {
     description = "An old-school drum-kit sampler synthesizer with stereo fx";
diff --git a/pkgs/applications/audio/ekho/default.nix b/pkgs/applications/audio/ekho/default.nix
new file mode 100644
index 00000000000..dd9b830be84
--- /dev/null
+++ b/pkgs/applications/audio/ekho/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, pkgconfig
+, libsndfile, pulseaudio
+}:
+
+let
+  version = "5.8.2";
+in stdenv.mkDerivation rec {
+  name = "ekho-${version}";
+
+  meta = with stdenv.lib; {
+    description = "Chinese text-to-speech software";
+    homepage    = "http://www.eguidedog.net/ekho.php";
+    longDescription = ''
+      Ekho (余音) is a free, open source and multilingual text-to-speech (TTS)
+      software. It supports Cantonese (Chinese dialect spoken in Hong Kong and
+      part of Guangdong province), Mandarin (standard Chinese), Zhaoan Hakka
+      (a dialect in Taiwan), Tibetan, Ngangien (an ancient Chinese before
+      Yuan Dynasty) and Korean (in trial).
+    '';
+    license        = licenses.gpl2Plus;
+    platforms      = platforms.linux;
+    hydraPlatforms = [];
+    maintainers    = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/e-guidedog/Ekho/${version}/${name}.tar.xz";
+    sha256 = "0ym6lpcpsvwvsiwlzkl1509a2hljwcw7synngrmqjq1n49ww00nj";
+  };
+
+  preConfigure = with stdenv.lib; ''
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${optionalString stdenv.is64bit "-D_x86_64"}"
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DEKHO_DATA_PATH=\"$out/share/ekho-data\""
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libsndfile pulseaudio ];
+}
diff --git a/pkgs/applications/audio/espeak/default.nix b/pkgs/applications/audio/espeak/default.nix
index e1cf5fee1cc..0faf4841c71 100644
--- a/pkgs/applications/audio/espeak/default.nix
+++ b/pkgs/applications/audio/espeak/default.nix
@@ -1,10 +1,11 @@
-{stdenv, fetchurl, unzip, portaudio }:
+{ stdenv, fetchurl, unzip, portaudio }:
+
+stdenv.mkDerivation rec {
+  name = "espeak-1.48.04";
 
-stdenv.mkDerivation {
-  name = "espeak-1.46.02";
   src = fetchurl {
-    url = mirror://sourceforge/espeak/espeak-1.46.02-source.zip;
-    sha256 = "1fjlv5fm0gzvr5wzy1dp4nspw04k0bqv3jymha2p2qfjbfifp2zg";
+    url = "mirror://sourceforge/espeak/${name}-source.zip";
+    sha256 = "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz";
   };
 
   buildInputs = [ unzip portaudio ];
@@ -21,9 +22,10 @@ stdenv.mkDerivation {
     makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Compact open source software speech synthesizer";
     homepage = http://espeak.sourceforge.net/;
-    license = "GPLv3+";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/espeak/edit.nix b/pkgs/applications/audio/espeak/edit.nix
index eb34335721f..524a95bcca0 100644
--- a/pkgs/applications/audio/espeak/edit.nix
+++ b/pkgs/applications/audio/espeak/edit.nix
@@ -1,31 +1,57 @@
-{stdenv, fetchurl, unzip, portaudio, wxGTK}:
+{ stdenv, fetchurl, pkgconfig, unzip, portaudio, wxGTK, sox }:
+
+stdenv.mkDerivation rec {
+  name = "espeakedit-1.48.03";
 
-stdenv.mkDerivation {
-  name = "espeakedit-1.46.02";
   src = fetchurl {
-    url = mirror://sourceforge/espeak/espeakedit-1.46.02.zip;
-    sha256 = "1cc5r89sn8zz7b8wj4grx9xb7aqyi0ybj0li9hpy7hd67r56kqkl";
+    url = "mirror://sourceforge/espeak/${name}.zip";
+    sha256 = "0x8s7vpb7rw5x37yjzy1f98m4f2csdg89libb74fm36gn8ly0hli";
   };
 
-  buildInputs = [ unzip portaudio wxGTK ];
+  buildInputs = [ pkgconfig unzip portaudio wxGTK ];
+
+  # TODO:
+  # Uhm, seems like espeakedit still wants espeak-data/ in $HOME, even thought
+  # it should use $espeak/share/espeak-data. Have to contact upstream to get
+  # this fixed.
+  #
+  # Workaround:
+  #  cp -r $(nix-build -A espeak)/share/espeak-data ~
+  #  chmod +w ~/espeak-data
+
+  patches = [
+    ./espeakedit-fix-makefile.patch
+    ./espeakedit-configurable-sox-path.patch
+    ./espeakedit-configurable-path-espeak-data.patch
+  ];
 
-  patchPhase = if portaudio.api_version == 19 then ''
+  postPatch = ''
+    # Disable -Wall flag because it's noisy
+    sed -i "s/-Wall//g" src/Makefile
+
+    # Fixup paths (file names from above espeak-configurable* patches)
+    for file in src/compiledata.cpp src/readclause.cpp src/speech.h; do
+        sed -e "s|@sox@|${sox}/bin/sox|" \
+            -e "s|@prefix@|$out|" \
+            -i "$file"
+    done
+  '' + stdenv.lib.optionalString (portaudio.api_version == 19) ''
     cp src/portaudio19.h src/portaudio.h
-  '' else "";
+  '';
 
   buildPhase = ''
-    cd src
-    gcc -o espeakedit *.cpp `wx-config --cxxflags --libs`
+    make -C src
   '';
 
   installPhase = ''
-    ensureDir $out/bin
-    cp espeakedit $out/bin
+    mkdir -p "$out/bin"
+    cp src/espeakedit "$out/bin"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Phoneme editor for espeak";
     homepage = http://espeak.sourceforge.net/;
-    license = "GPLv3+";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/espeak/espeakedit-configurable-path-espeak-data.patch b/pkgs/applications/audio/espeak/espeakedit-configurable-path-espeak-data.patch
new file mode 100644
index 00000000000..e5c761a11b3
--- /dev/null
+++ b/pkgs/applications/audio/espeak/espeakedit-configurable-path-espeak-data.patch
@@ -0,0 +1,15 @@
+Don't hardcode /usr, use @prefix@.
+
+Author: Bjørn Forsman
+diff -uNr espeakedit-1.48.03.orig/src/speech.h espeakedit-1.48.03/src/speech.h
+--- espeakedit-1.48.03.orig/src/speech.h	2014-03-04 17:48:12.000000000 +0100
++++ espeakedit-1.48.03/src/speech.h	2014-07-22 18:21:40.860790719 +0200
+@@ -58,7 +58,7 @@
+ 
+ // will look for espeak_data directory here, and also in user's home directory
+ #ifndef PATH_ESPEAK_DATA
+-   #define PATH_ESPEAK_DATA  "/usr/share/espeak-data"
++   #define PATH_ESPEAK_DATA  "@prefix@/share/espeak-data"
+ #endif
+ 
+ typedef unsigned short USHORT;
diff --git a/pkgs/applications/audio/espeak/espeakedit-configurable-sox-path.patch b/pkgs/applications/audio/espeak/espeakedit-configurable-sox-path.patch
new file mode 100644
index 00000000000..1c5dfc21941
--- /dev/null
+++ b/pkgs/applications/audio/espeak/espeakedit-configurable-sox-path.patch
@@ -0,0 +1,27 @@
+Make the path to 'sox' configurable by marking it '@sox@' (easy to match with sed).
+
+Author: Bjørn Forsman
+diff -uNr espeakedit-1.48.03.orig/src/compiledata.cpp espeakedit-1.48.03/src/compiledata.cpp
+--- espeakedit-1.48.03.orig/src/compiledata.cpp	2014-03-04 17:48:11.000000000 +0100
++++ espeakedit-1.48.03/src/compiledata.cpp	2014-07-22 16:38:50.261388452 +0200
+@@ -1884,7 +1884,7 @@
+             fname2 = msg;
+         }
+ 
+-        sprintf(command,"sox \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp);
++        sprintf(command,"@sox@ \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp);
+         if(system(command) != 0)
+         {
+             failed = 1;
+diff -uNr espeakedit-1.48.03.orig/src/readclause.cpp espeakedit-1.48.03/src/readclause.cpp
+--- espeakedit-1.48.03.orig/src/readclause.cpp	2014-03-04 17:48:11.000000000 +0100
++++ espeakedit-1.48.03/src/readclause.cpp	2014-07-22 16:38:37.190440504 +0200
+@@ -892,7 +892,7 @@
+ 			if((fd_temp = mkstemp(fname_temp)) >= 0)
+ 			{
+ 				close(fd_temp);
+-				sprintf(command,"sox \"%s\" -r %d -c1 -t wav %s\n", fname, samplerate, fname_temp);
++				sprintf(command,"@sox@ \"%s\" -r %d -c1 -t wav %s\n", fname, samplerate, fname_temp);
+ 				if(system(command) == 0)
+ 				{
+ 					fname = fname_temp;
diff --git a/pkgs/applications/audio/espeak/espeakedit-fix-makefile.patch b/pkgs/applications/audio/espeak/espeakedit-fix-makefile.patch
new file mode 100644
index 00000000000..9f8a65d2b0c
--- /dev/null
+++ b/pkgs/applications/audio/espeak/espeakedit-fix-makefile.patch
@@ -0,0 +1,26 @@
+Fix broken Makefile:
+
+* fix syntax error (missing '\' to continue line):
+    Makefile:19: *** recipe commences before first target.  Stop.
+* Get portaudio library flags from pkg-config (to get -Lpath/to/portaudio/lib etc.)
+
+Author: Bjørn Forsman
+diff -uNr espeakedit-1.48.03.orig/src/Makefile espeakedit-1.48.03/src/Makefile
+--- espeakedit-1.48.03.orig/src/Makefile	2013-03-13 15:52:02.000000000 +0100
++++ espeakedit-1.48.03/src/Makefile	2014-07-22 15:34:17.524114822 +0200
+@@ -12,12 +12,11 @@
+ 
+ WX_LIBS = -pthread   `wx-config --libs`
+ 
+-LIBS=-lstdc++ -lportaudio
++LIBS=-lstdc++ `pkg-config --libs portaudio-2.0`
+ #LIBS=-lstdc++ /usr/lib/x86_64-linux-gnu/libportaudio.so.2
+ 
+-CPPFLAGS =  -Wall -g -fexceptions `wx-config --cflags`
+-	-I/usr/include/wx-2.8 \
+-	-DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
++CPPFLAGS =  -Wall -g -fexceptions `wx-config --cflags` \
++	-DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES \
+ 	-D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
+ 
+ CXXFLAGS = -O2  -Wall -fexceptions `wx-config --cflags` \
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index 95ab8244478..0256eacc436 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -10,15 +10,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libogg ];
 
-  doCheck = true; # takes lots of time but will be run rarely (small build-time closure)
-
-  enableParallelBuilding = true;
+  #doCheck = true; # takes lots of time
 
   outputs = [ "dev" "out" "bin" "doc" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://xiph.org/flac/;
     description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix
new file mode 100644
index 00000000000..e78095a9c5d
--- /dev/null
+++ b/pkgs/applications/audio/fldigi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, hamlib, fltk13, libjpeg, libpng, portaudio, libsndfile,
+  libsamplerate, pulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
+
+stdenv.mkDerivation rec {
+  version = "3.21.82";
+  pname = "fldigi";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://www.w1hkj.com/downloads/${pname}/${name}.tar.gz";
+    sha256 = "1q2fc1zm9kfsjir4g6fh95vmjdq984iyxfcs6q4gjqy1znhqcyqs";
+  };
+
+  buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
+                  libsndfile libsamplerate pulseaudio pkgconfig alsaLib ];
+
+  meta = {
+    description = "Digital modem program";
+    homepage = http://www.w1hkj.com/Fldigi.html;
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ relrod ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index b0c5a88cb1a..8cba482194e 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, alsaLib, glib, jackaudio, libsndfile, pkgconfig
+{ stdenv, fetchurl, alsaLib, glib, jack2, libsndfile, pkgconfig
 , pulseaudio }:
 
 stdenv.mkDerivation  rec {
   name = "fluidsynth-${version}";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/fluidsynth/${name}.tar.bz2";
-    sha256 = "1x73a5rsyvfmh1j0484kzgnk251q61g1g2jdja673l8fizi0xd24";
+    sha256 = "00gn93bx4cz9bfwf3a8xyj2by7w23nca4zxf09ll53kzpzglg2yj";
   };
 
   preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation  rec {
     "-framework CoreAudio";
 
   buildInputs = [ glib libsndfile pkgconfig ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jackaudio ];
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jack2 ];
 
   meta = with stdenv.lib; {
     description = "Real-time software synthesizer based on the SoundFont 2 specifications";
diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix
index be6970f01e1..269b48aebb8 100644
--- a/pkgs/applications/audio/gigedit/default.nix
+++ b/pkgs/applications/audio/gigedit/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     description = "Gigasampler file access library";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index 10a2f0dcee9..728155c02bd 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libtool, intltool, pkgconfig, glib
-, gtk, curl, mpd_clientlib, libsoup, gob2, vala
+, gtk, curl, mpd_clientlib, libsoup, gob2, vala, libunique
 }:
 
 stdenv.mkDerivation rec {
@@ -15,22 +15,6 @@ stdenv.mkDerivation rec {
     buildInputs = [ pkgconfig glib ];
   };
 
-  libunique = stdenv.mkDerivation {
-    name = "libunique-1.1.6";
-    src = fetchurl {
-      url = http://ftp.gnome.org/pub/GNOME/sources/libunique/1.1/libunique-1.1.6.tar.gz;
-      sha256 = "2cb918dde3554228a211925ba6165a661fd782394bd74dfe15e3853dc9c573ea";
-    };
-    buildInputs = [ pkgconfig glib gtk ];
-
-    patches = [
-      (fetchurl {
-        url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/remove_G_CONST_RETURN.patch?h=packages/libunique";
-        sha256 = "0da2qi7cyyax4rr1p25drlhk360h8d3lapgypi5w95wj9k6bykhr";
-      })
-    ];
-  };
-
   src = fetchurl {
     url = "http://download.sarine.nl/Programs/gmpc/11.8/gmpc-11.8.16.tar.gz";
     sha256 = "0b3bnxf98i5lhjyljvgxgx9xmb6p46cn3a9cccrng14nagri9556";
diff --git a/pkgs/applications/audio/gmu/default.nix b/pkgs/applications/audio/gmu/default.nix
index e75be3e2c2b..f23ba66a3b5 100644
--- a/pkgs/applications/audio/gmu/default.nix
+++ b/pkgs/applications/audio/gmu/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://wejp.k.vu/projects/gmu;
     description = "Open source music player for portable gaming consoles and handhelds";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
new file mode 100644
index 00000000000..19b61ebc76d
--- /dev/null
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -0,0 +1,45 @@
+{ pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
+  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "" }:
+
+with pkgs.lib;
+
+let
+  inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
+
+in buildPythonPackage rec {
+  name = "gpodder-3.7.0";
+
+  src = fetchurl {
+    url = "http://gpodder.org/src/${name}.tar.gz";
+    sha256 = "fa90ef4bdd3fd9eef95404f7f43f70912ae3ab4f8d24078484a2f3e11b14dc47";
+  };
+
+  buildInputs = [ coverage feedparser minimock sqlite3 mygpoclient intltool ];
+
+  propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
+    ++ stdenv.lib.optional ipodSupport libgpod;
+
+  postPatch = "sed -ie 's/PYTHONPATH=src/PYTHONPATH=\$(PYTHONPATH):src/' makefile";
+
+  checkPhase = "make unittest";
+
+  preFixup = ''
+    wrapProgram $out/bin/gpodder \
+      ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \
+      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"}
+  '';
+
+  installPhase = "DESTDIR=/ PREFIX=$out make install";
+
+  meta = {
+    description = "A podcatcher written in python";
+    longDescription = ''
+      gPodder downloads and manages free audio and video content (podcasts)
+      for you. Listen directly on your computer or on your mobile devices.
+    '';
+    homepage = "http://gpodder.org/";
+    license = "GPLv3";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.skeidel ];
+  };
+}
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 90e27c12ce3..80a7cf52cd8 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,25 +1,43 @@
-{ stdenv, fetchurl, pkgconfig, libgpod, gtk, glib, gettext, perl, perlXMLParser
-, libglade, flex, libid3tag, libvorbis, intltool }:
+{ stdenv, fetchurl, pkgconfig, makeWrapper, intltool, libgpod, curl, flac,
+  gnome3_12, gtk3, glib, gettext, perl, perlXMLParser , libglade, flex, libid3tag,
+  libvorbis, hicolor_icon_theme, gdk_pixbuf }:
 
-stdenv.mkDerivation {
-  name = "gtkpod-1.0.0";
+let
+  gnome = gnome3_12;
+
+in stdenv.mkDerivation rec {
+  version = "2.1.4";
+  name = "gtkpod-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/gtkpod/gtkpod-1.0.0.tar.gz;
-    sha256 = "04jzybs55c27kyp7r9c58prcq0q4ssvj5iggva857f49s1ar826q";
+    url = "mirror://sourceforge/gtkpod/${name}.tar.gz";
+    sha256 = "ba12b35f3f24a155b68f0ffdaf4d3c5c7d1b8df04843a53306e1c83fc811dfaa";
   };
 
-  buildInputs = [ pkgconfig libgpod gettext perl perlXMLParser gtk libglade flex
-    libid3tag libvorbis intltool ];
+  propagatedUserEnvPkgs = [ gnome.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig makeWrapper intltool curl gettext perl perlXMLParser
+    flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf libglade gnome.anjuta
+    gnome.gdl gnome.gnome_icon_theme_symbolic gnome.gnome_icon_theme
+    hicolor_icon_theme ];
 
   patchPhase = ''
     sed -i 's/which/type -P/' scripts/*.sh
   '';
 
-  meta = {
+  preFixup = ''
+    wrapProgram "$out/bin/gtkpod" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     description = "GTK Manager for an Apple ipod";
     homepage = http://gtkpod.sourceforge.net;
-    license = "GPLv2+";
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.skeidel ];
   };
 }
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index 17d53a621ca..777c0ddb2e3 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, jackaudio, libsndfile
-, glib, gtk, glibmm, gtkmm, fftw, librdf, ladspaH, boost }:
+{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk
+, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lv2
+, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name = "guitarix-${version}";
-  version = "0.25.2";
+  version = "0.28.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
-    sha256 = "1wcg3yc2iy72hj6z9l88393f00by0iwhhn8xrc3q55p4rj0mnrga";
+    sha256 = "0ks5avylyicqfj9l1wf4gj62i8m6is2jmp0h11h5l2wbg3xiwxjd";
   };
 
-  buildInputs =
-    [ python gettext intltool pkgconfig jackaudio libsndfile glib gtk glibmm
-      gtkmm fftw librdf ladspaH boost
-    ];
+  buildInputs = [
+    avahi boost fftw gettext glib glibmm gtk gtkmm intltool jack2
+    ladspaH librdf libsndfile lv2 pkgconfig python
+  ];
 
   configurePhase = "python waf configure --prefix=$out";
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   installPhase = "python waf install";
 
-  meta = { 
+  meta = with stdenv.lib; { 
     description = "A virtual guitar amplifier for Linux running with JACK";
     longDescription = ''
         guitarix is a virtual guitar amplifier for Linux running with
@@ -46,8 +47,8 @@ stdenv.mkDerivation rec {
       crazy sounds never heard before.
     '';
     homepage = http://guitarix.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.astsmtl ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ astsmtl goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix
index bb10f24b90a..10f15f5882c 100644
--- a/pkgs/applications/audio/hydrogen/default.nix
+++ b/pkgs/applications/audio/hydrogen/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, alsaLib, boost, glib, jackaudio, ladspaPlugins
+{ stdenv, fetchurl, alsaLib, boost, glib, jack2, ladspaPlugins
 , libarchive, liblrdf , libsndfile, pkgconfig, qt4, scons, subversion }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.5";
+  version = "0.9.5.1";
   name = "hydrogen-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/hydrogen/hydrogen-${version}.tar.gz";
-    sha256 = "1hyri49va2ss26skd6p9swkx0kbr7ggifbahkrcfgj8yj7pp6g4n";
+    sha256 = "1fvyp6gfzcqcc90dmaqbm11p272zczz5pfz1z4lj33nfr7z0bqgb";
   };
 
   buildInputs = [ 
-    alsaLib boost glib jackaudio ladspaPlugins libarchive liblrdf
+    alsaLib boost glib jack2 ladspaPlugins libarchive liblrdf
     libsndfile pkgconfig qt4 scons subversion
   ];
 
diff --git a/pkgs/applications/audio/id3v2/default.nix b/pkgs/applications/audio/id3v2/default.nix
index a7835f020d1..b96872c7ef0 100644
--- a/pkgs/applications/audio/id3v2/default.nix
+++ b/pkgs/applications/audio/id3v2/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A command line editor for id3v2 tags";
     homepage = http://id3v2.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
new file mode 100644
index 00000000000..ac46ff6140c
--- /dev/null
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, jack2, lilv
+, lv2, pkgconfig, python, raul, serd, sord, sratom, suil
+}:
+
+stdenv.mkDerivation  rec {
+  name = "ingen-svn-${rev}";
+  rev = "5317";
+
+  src = fetchsvn {
+    url = "http://svn.drobilla.net/lad/trunk/ingen";
+    rev = rev;
+    sha256 = "0zm3wbv9qsingjyr95nwin3khmnf3wq3fz2xa6p420dpcy6qnl4x";
+  };
+
+  buildInputs = [
+    boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
+    raul serd sord sratom suil
+  ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    description = "A modular audio processing system using JACK and LV2 or LADSPA plugins";
+    homepage = http://drobilla.net/software/ingen;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/jack-capture/default.nix b/pkgs/applications/audio/jack-capture/default.nix
index 3b8f0f652a8..2e6f6b0dd82 100644
--- a/pkgs/applications/audio/jack-capture/default.nix
+++ b/pkgs/applications/audio/jack-capture/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, jackaudio, libsndfile, pkgconfig }:
+{ stdenv, fetchurl, jack2, libsndfile, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "jack_capture-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0sk7b92my1v1g7rhkpl1c608rb0rdb28m9zqfll95kflxajd16zv";
   };
 
-  buildInputs = [ jackaudio libsndfile pkgconfig ];
+  buildInputs = [ jack2 libsndfile pkgconfig ];
 
   buildPhase = "PREFIX=$out make jack_capture";
 
diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix
index dbceb0a336c..7b4d12a5b87 100644
--- a/pkgs/applications/audio/jack-oscrolloscope/default.nix
+++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, jackaudio, mesa, pkgconfig }:
+{ stdenv, fetchurl, SDL, jack2, mesa, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "jack_oscrolloscope-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1pl55in0sj7h5r06n1v91im7d18pplvhbjhjm1fdl39zwnyxiash";
   };
 
-  buildInputs = [ SDL jackaudio mesa pkgconfig ];
+  buildInputs = [ SDL jack2 mesa pkgconfig ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/jack-rack/default.nix b/pkgs/applications/audio/jack-rack/default.nix
index 1d1128e663d..8ac47c570df 100644
--- a/pkgs/applications/audio/jack-rack/default.nix
+++ b/pkgs/applications/audio/jack-rack/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, jackaudio, ladspaH, gtk, alsaLib, libxml2, librdf }:
+{ stdenv, fetchurl, pkgconfig, jack2, ladspaH, gtk, alsaLib, libxml2, librdf }:
 stdenv.mkDerivation rec {
   name = "jack-rack-1.4.7";
   src = fetchurl {
     url = "mirror://sourceforge/jack-rack/${name}.tar.bz2";
     sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045";
   };
-  buildInputs = [ pkgconfig jackaudio ladspaH gtk alsaLib libxml2 librdf ];
+  buildInputs = [ pkgconfig jack2 ladspaH gtk alsaLib libxml2 librdf ];
 
   meta = {
     description = ''An effects "rack" for the JACK low latency audio API'';
diff --git a/pkgs/applications/audio/jackmeter/default.nix b/pkgs/applications/audio/jackmeter/default.nix
index 97c39982a65..74d98184d9d 100644
--- a/pkgs/applications/audio/jackmeter/default.nix
+++ b/pkgs/applications/audio/jackmeter/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, jackaudio, pkgconfig }:
+{ stdenv, fetchurl, jack2, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "jackmeter-0.3";
+  name = "jackmeter-0.4";
 
   src = fetchurl {
     url = "http://www.aelius.com/njh/jackmeter/${name}.tar.gz";
-    sha256 = "03siznnq3f0nnqyighgw9qdq1y4bfrrxs0mk6394pza3sz4b6sgp";
+    sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r";
   };
 
-  buildInputs = [ jackaudio pkgconfig ];
+  buildInputs = [ jack2 pkgconfig ];
 
   meta = { 
     description = "Console jack loudness meter";
     homepage = http://www.aelius.com/njh/jackmeter/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index 5655c7d832b..70ef5bdec5c 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, gtk, jackaudio, lilv, lv2, pkgconfig, python
+{ stdenv, fetchurl, gtk, jack2, lilv, lv2, pkgconfig, python
 , serd, sord , sratom, suil }:
 
 stdenv.mkDerivation  rec {
   name = "jalv-${version}";
-  version = "1.4.0";
+  version = "1.4.4";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1hq968fhiz86428krqhjl3vlw71bigc9bsfcv97zgvsjh0fh6qa0";
+    sha256 = "1iql1r52rmf87q6jkxhcxa3lpq7idzzg55ma91wphywyvh29q7lf";
   };
 
   buildInputs = [
-    gtk jackaudio lilv lv2 pkgconfig python serd sord sratom suil
+    gtk jack2 lilv lv2 pkgconfig python serd sord sratom suil
   ];
 
   configurePhase = "python waf configure --prefix=$out";
@@ -25,5 +25,6 @@ stdenv.mkDerivation  rec {
     homepage = http://drobilla.net/software/jalv;
     license = licenses.isc;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/ladspa-plugins/ladspah.nix b/pkgs/applications/audio/ladspa-plugins/ladspah.nix
index 30ba34af16c..8c4d8a8c1ed 100644
--- a/pkgs/applications/audio/ladspa-plugins/ladspah.nix
+++ b/pkgs/applications/audio/ladspa-plugins/ladspah.nix
@@ -1,28 +1,17 @@
-{ stdenv, fetchurl, builderDefs }:
+{ runCommand, fetchurl }:
+
+let
 
-let 
   src = fetchurl {
     url = http://www.ladspa.org/ladspa_sdk/ladspa.h.txt;
     sha256 = "1b908csn85ng9sz5s5d1mqk711cmawain2z8px2ajngihdrynb67";
   };
+
 in
-  let localDefs = builderDefs.passthru.function {
-    buildInputs = [];
-    inherit src;
-  };
-  in with localDefs;
-let
-  copyFile = fullDepEntry ("
-    mkdir -p \$out/include
-    cp ${src} \$out/include/ladspa.h
-  ") [minInit defEnsureDir];
-in
-stdenv.mkDerivation {
-  name = "ladspa.h";
-  builder = writeScript "ladspa.h-builder"
-    (textClosure localDefs [copyFile]);
-  meta = {
-    description = "LADSPA format audio plugins";
-    inherit src;
-  };
-}
+
+runCommand "ladspa.h"
+  { meta.description = "LADSPA format audio plugins"; }
+  ''
+    mkdir -p $out/include
+    cp ${src} $out/include/ladspa.h
+  ''
diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix
index 72087c76b05..e42babf13ef 100644
--- a/pkgs/applications/audio/lash/default.nix
+++ b/pkgs/applications/audio/lash/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, gtk, jackaudio, libuuid, libxml2
+{ stdenv, fetchurl, alsaLib, gtk, jack2, libuuid, libxml2
 , makeWrapper, pkgconfig, readline }:
 
 assert libuuid != null;
@@ -15,7 +15,7 @@ stdenv.mkDerivation  rec {
   # http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346
   patches = [ ./socket.patch ./gcc-47.patch ];
 
-  buildInputs = [ alsaLib gtk jackaudio libuuid libxml2 makeWrapper
+  buildInputs = [ alsaLib gtk jack2 libuuid libxml2 makeWrapper
     pkgconfig readline ];
 
   postInstall = ''
@@ -25,7 +25,7 @@ stdenv.mkDerivation  rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "LASH Audio Session Handler";
+    description = "A Linux Audio Session Handler";
     longDescription = ''
       Session management system for GNU/Linux audio applications.
     '';
diff --git a/pkgs/applications/audio/lastfmsubmitd/default.nix b/pkgs/applications/audio/lastfmsubmitd/default.nix
new file mode 100644
index 00000000000..314361329c7
--- /dev/null
+++ b/pkgs/applications/audio/lastfmsubmitd/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "lastfmsubmitd-${version}";
+  namePrefix = ""; 
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "http://www.red-bean.com/decklin/lastfmsubmitd/lastfmsubmitd-${version}.tar.gz";
+    sha256 = "c2636d5095a95167366bacd458624d67b046e060244fa54ba2c2e3efb79f9b0e";
+  };
+
+  doCheck = false;
+
+  installCommand = "python setup.py install --prefix=$out";
+
+  meta = {
+    homepage = "http://www.red-bean.com/decklin/lastfmsubmitd/";
+    description = "An last.fm audio scrobbler and daemon";
+  };
+}
diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix
index 324a0b0bebc..2cffb0ebacf 100644
--- a/pkgs/applications/audio/lastwatch/default.nix
+++ b/pkgs/applications/audio/lastwatch/default.nix
@@ -19,11 +19,10 @@ pythonPackages.buildPythonPackage rec {
 
   propagatedBuildInputs = pythonPath;
 
-  installCommand = "python setup.py install --prefix=$out";
-
   meta = {
     homepage = "https://github.com/aszlig/LastWatch";
     description = "An inotify-based last.fm audio scrobbler";
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/lingot/default.nix b/pkgs/applications/audio/lingot/default.nix
index 44d946af2db..4b07c84b0be 100644
--- a/pkgs/applications/audio/lingot/default.nix
+++ b/pkgs/applications/audio/lingot/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, alsaLib, libglade }:
 
 stdenv.mkDerivation {
-  name = "lingot-0.9.0";
+  name = "lingot-0.9.1";
 
   src = fetchurl {
-    url = mirror://savannah/lingot/lingot-0.9.0.tar.gz;
-    sha256 = "07z129lp8m4sz608q409wb11c639w7cbn497r7bscgg08p6c07xb";
+    url = mirror://savannah/lingot/lingot-0.9.1.tar.gz;
+    sha256 = "0ygras6ndw2fylwxx86ac11pcr2y2bcfvvgiwrh92z6zncx254gc";
   };
 
   buildInputs = [ pkgconfig intltool gtk alsaLib libglade ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Not a Guitar-Only tuner";
     homepage = http://www.nongnu.org/lingot/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix
index 1408a1775ee..2c4b26543eb 100644
--- a/pkgs/applications/audio/linuxsampler/default.nix
+++ b/pkgs/applications/audio/linuxsampler/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison
-, jackaudio, libgig, libsndfile, libtool, lv2, pkgconfig }:
+, jack2, libgig, libsndfile, libtool, lv2, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "linuxsampler-svn-${version}";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [ 
-   alsaLib asio autoconf automake bison jackaudio libgig libsndfile
+   alsaLib asio autoconf automake bison jack2 libgig libsndfile
    libtool lv2 pkgconfig
   ];
 
diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix
index 8cdb99412f4..dd0649811bb 100644
--- a/pkgs/applications/audio/lmms/default.nix
+++ b/pkgs/applications/audio/lmms/default.nix
@@ -1,17 +1,25 @@
-{ stdenv, fetchurl, SDL, alsaLib, cmake, fftw, jackaudio, libogg,
-libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4 }:
+{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, jack2, libogg
+, libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4, freetype
+}:
 
 stdenv.mkDerivation  rec {
   name = "lmms-${version}";
-  version = "0.4.10";
+  version = "0.4.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/lmms/${name}.tar.bz2";
-    sha256 = "035cqmxcbr9ipnicdv5l7h05q2hqbavxkbaxyq06ppnv2y7fxwrb";
+    sha256 = "02q2gbsqwk3hf9kvzz58a5bxmlb4cfr2mzy41wdvbxxdm2pcl101";
   };
 
-  buildInputs = [ SDL alsaLib cmake fftw jackaudio libogg
-    libsamplerate libsndfile pkgconfig pulseaudio qt4 ];
+  buildInputs = [
+    SDL alsaLib cmake fftwSinglePrec jack2 libogg libsamplerate
+    libsndfile pkgconfig pulseaudio qt4
+  ];
+
+  # work around broken build system of 0.4.*
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
+
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Linux MultiMedia Studio";
diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix
index 8b7d5527372..9d3cdc2eea3 100644
--- a/pkgs/applications/audio/mda-lv2/default.nix
+++ b/pkgs/applications/audio/mda-lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mda-lv2-${version}";
-  version = "1.0.0";
+  version = "1.2.2";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1dbgvpz9qvlwsfkq9c0dx45bm223wwrzgiddlyln1agpns3qbf0f";
+    sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
   };
 
   buildInputs = [ fftwSinglePrec lv2 pkgconfig python ];
diff --git a/pkgs/applications/audio/mhwaveedit/default.nix b/pkgs/applications/audio/mhwaveedit/default.nix
index 8f8fadb02e4..a1e81be3cb3 100644
--- a/pkgs/applications/audio/mhwaveedit/default.nix
+++ b/pkgs/applications/audio/mhwaveedit/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, SDL , alsaLib, gtk, jackaudio, ladspaH
+{ stdenv, fetchurl, SDL , alsaLib, gtk, jack2, ladspaH
 , ladspaPlugins, libsamplerate, libsndfile, pkgconfig, pulseaudio }:
 
 stdenv.mkDerivation  rec {
   name = "mhwaveedit-${version}";
-  version = "1.4.21";
+  version = "1.4.23";
 
   src = fetchurl {
     url = "http://download.gna.org/mhwaveedit/${name}.tar.bz2";
-    sha256 = "0jl7gvhwsz4fcn5d146h4m6i3hlxdsw4mmj280cv9g70p6zqi1w7";
+    sha256 = "010rk4mr631s440q9cfgdxx2avgzysr9aq52diwdlbq9cddifli3";
   };
 
   buildInputs =
-   [ SDL alsaLib gtk jackaudio ladspaH libsamplerate libsndfile
+   [ SDL alsaLib gtk jack2 ladspaH libsamplerate libsndfile
      pkgconfig pulseaudio
    ];
 
diff --git a/pkgs/applications/audio/mid2key/default.nix b/pkgs/applications/audio/mid2key/default.nix
index 1e163391a39..26ea2c7b0b2 100644
--- a/pkgs/applications/audio/mid2key/default.nix
+++ b/pkgs/applications/audio/mid2key/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     description = "A simple tool which maps midi notes to simulated keystrokes";
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/mikmod/default.nix b/pkgs/applications/audio/mikmod/default.nix
index a86e09278c3..f38ff469731 100644
--- a/pkgs/applications/audio/mikmod/default.nix
+++ b/pkgs/applications/audio/mikmod/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tracker music player for the terminal";
     homepage = http://mikmod.shlomifish.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/audio/milkytracker/decompressor_gzip.patch b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch
new file mode 100644
index 00000000000..c64421116de
--- /dev/null
+++ b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch
@@ -0,0 +1,20 @@
+https://bugs.archlinux.org/task/31324
+https://410333.bugs.gentoo.org/attachment.cgi?id=322456
+
+diff -ur src.old/compression/DecompressorGZIP.cpp src/compression/DecompressorGZIP.cpp
+--- src.old/compression/DecompressorGZIP.cpp	2012-08-28 17:54:46.000000000 +0200
++++ src/compression/DecompressorGZIP.cpp	2012-08-28 17:55:21.000000000 +0200
+@@ -57,11 +57,11 @@
+ 	
+ bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint)
+ {
+-    gzFile *gz_input_file = NULL;
++    gzFile gz_input_file = NULL;
+ 	int len = 0;
+ 	pp_uint8 *buf;
+ 	
+-	if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL)
++	if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL)
+ 		return false;
+ 	
+ 	if ((buf = new pp_uint8[0x10000]) == NULL)
diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix
new file mode 100644
index 00000000000..eadbaabcf56
--- /dev/null
+++ b/pkgs/applications/audio/milkytracker/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, SDL, alsaLib, autoconf, automake, jack2, perl
+, zlib, zziplib
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.90.85";
+  name = "milkytracker-${version}";
+
+  src = fetchurl {
+    url = "http://milkytracker.org/files/milkytracker-0.90.85.tar.gz";
+    sha256 = "184pk0k9nv461a61sh6lb62wfadjwwk8ri3z5kpdbqnyssz0zfpv";
+  };
+
+  # Get two official patches.
+  no_zzip_patch = fetchurl {
+    url = "http://www.milkytracker.org/files/patches-0.90.85/no_zziplib_dep.patch";
+    sha256 = "1w550q7pxa7w6v2v19ljk03hayacrs6y887izg11a1983wk7qzb3";
+      };
+
+  fix_64bit_patch = fetchurl {
+    url = "http://www.milkytracker.org/files/patches-0.90.85/64bit_freebsd_fix.patch";
+    sha256 = "0gwd4zslbd8kih80k4v7n2c65kvm2cq3kl6d7y33z1l007vzyvf6";
+  };
+
+  patchPhase = ''
+    patch ./src/tracker/sdl/SDL_Main.cpp < ${fix_64bit_patch}
+    patch < ${no_zzip_patch}
+    patch ./src/compression/DecompressorGZIP.cpp < ${./decompressor_gzip.patch}
+  '';
+
+  preBuild=''
+    export CPATH=${zlib}/lib
+  '';
+
+  buildInputs = [ SDL alsaLib autoconf automake jack2 perl zlib zziplib ];
+
+  meta = {
+    description = "Music tracker application, similar to Fasttracker II.";
+    homepage = http://milkytracker.org;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
diff --git a/pkgs/applications/audio/minimodem/default.nix b/pkgs/applications/audio/minimodem/default.nix
new file mode 100644
index 00000000000..6f2bf8cdb1c
--- /dev/null
+++ b/pkgs/applications/audio/minimodem/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, fftw, fftwSinglePrec, alsaLib, libsndfile, pulseaudio }:
+
+stdenv.mkDerivation rec {
+  version = "0.19";
+  pname = "minimodem";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://www.whence.com/${pname}/${name}.tar.gz";
+    sha256 = "003xyqjq59wcjafrdv1b8w34xsn4nvzz51wwd7mqddajh0g4dz4g";
+  };
+
+  buildInputs = [ pkgconfig fftw fftwSinglePrec alsaLib libsndfile pulseaudio ];
+
+  meta = {
+    description = "General-purpose software audio FSK modem";
+    longDescription = ''
+    Minimodem is a command-line program which decodes (or generates) audio
+    modem tones at any specified baud rate, using various framing protocols. It
+    acts a general-purpose software FSK modem, and includes support for various
+    standard FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME, and
+    Caller-ID.
+    '';
+    homepage = http://www.whence.com/minimodem/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ relrod ];
+  };
+}
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index b76eecc9e4a..e3422d4ba06 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     runHook preBuild
-    ensureDir "$out"
+    mkdir -p "$out"
     scons \
       -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \
       $sconsFlags "prefix=$out"
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
new file mode 100644
index 00000000000..e5264f5c3d2
--- /dev/null
+++ b/pkgs/applications/audio/moc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg
+, libvorbis, mpc, libsndfile, jack2, db, libmodplug, timidity, libid3tag
+, libtool
+}:
+
+stdenv.mkDerivation rec {
+  name = "moc-${version}";
+  version = "2.5.0-beta2";
+
+  src = fetchurl {
+    url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2";
+    sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c";
+  };
+
+  configurePhase = "./configure prefix=$out";
+
+  buildInputs = [
+    ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis
+    mpc libsndfile jack2 db libmodplug timidity libid3tag libtool
+  ];
+
+  meta = {
+    description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.";
+    homepage = http://moc.daper.net/;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index 48b0b52c5ea..08aa7e017b2 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -11,4 +11,9 @@ stdenv.mkDerivation rec {
     url = "http://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz";
     sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz";
   };
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
+  };
 }
diff --git a/pkgs/applications/audio/mopidy-moped/default.nix b/pkgs/applications/audio/mopidy-moped/default.nix
new file mode 100644
index 00000000000..c50a1798b47
--- /dev/null
+++ b/pkgs/applications/audio/mopidy-moped/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "mopidy-moped-${version}";
+
+  version = "0.3.3";
+
+  src = fetchurl {
+    url = "https://github.com/martijnboland/moped/archive/v${version}.tar.gz";
+    sha256 = "19f3asqx7wmla53nhrxzdwj6qlkjv2rcwh34jxp27bz7nkhn0ihv";
+  };
+
+  propagatedBuildInputs = [ mopidy ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/martijnboland/moped;
+    description = "A web client for Mopidy";
+    license = licenses.mit;
+    maintainers = [ maintainers.rickynils ];
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy-spotify/default.nix b/pkgs/applications/audio/mopidy-spotify/default.nix
new file mode 100644
index 00000000000..6223ffb0d81
--- /dev/null
+++ b/pkgs/applications/audio/mopidy-spotify/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "mopidy-spotify-${version}";
+
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/mopidy/mopidy-spotify/archive/v${version}.tar.gz";
+    sha256 = "1fgxakylsx0nggis11v6bxfy8h3dl1n1v86liyfcj0xazb1mx69m";
+  };
+
+  propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.mopidy.com/;
+    description = "Mopidy extension for playing music from Spotify.";
+    license = licenses.asl20;
+    maintainers = [ maintainers.rickynils ];
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 611d9f4226d..bbdd1f05fde 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -5,40 +5,33 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-${version}";
 
-  version = "0.15.0";
+  version = "0.19.3";
 
   src = fetchurl {
     url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
-    sha256 = "1fpnddcx6343wgxzh10s035w21g8jmfh2kzgx32w0xsshpra3gn1";
+    sha256 = "0rjq69vqak1d6fhvih259wmwp50xgr6x0x5nd0hl6hlkbbysc8dp";
   };
 
   propagatedBuildInputs = with pythonPackages; [
-   gst_python pygobject pykka pyspotify pylast cherrypy ws4py
+    gst_python pygobject pykka tornado gst_plugins_base gst_plugins_good
   ];
 
-  # python zip complains about old timestamps
-  preConfigure = ''
-    find -print0 | xargs -0 touch
-  '';
-
   # There are no tests
   doCheck = false;
 
   postInstall = ''
-    for p in $out/bin/mopidy $out/bin/mopidy-scan; do
-      wrapProgram $p \
-        --prefix GST_PLUGIN_PATH : ${gst_plugins_good}/lib/gstreamer-0.10 \
-        --prefix GST_PLUGIN_PATH : ${gst_plugins_base}/lib/gstreamer-0.10
-    done
+    wrapProgram $out/bin/mopidy \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.mopidy.com/;
     description = ''
-      A music server which can play music from Spotify and from your
-      local hard drive.
+      An extensible music server that plays music from local disk, Spotify,
+      SoundCloud, Google Play Music, and more.
     '';
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
-    platforms = [];
+    license = licenses.asl20;
+    maintainers = [ maintainers.rickynils ];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/audio/mp3info/default.nix b/pkgs/applications/audio/mp3info/default.nix
index d5a8138a500..0f33726eaee 100644
--- a/pkgs/applications/audio/mp3info/default.nix
+++ b/pkgs/applications/audio/mp3info/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.ibiblio.org/mp3info/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/audio/mp3splt/default.nix b/pkgs/applications/audio/mp3splt/default.nix
new file mode 100644
index 00000000000..b1970a998d5
--- /dev/null
+++ b/pkgs/applications/audio/mp3splt/default.nix
@@ -0,0 +1,20 @@
+{ fetchurl, stdenv, libmp3splt, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "mp3splt-2.6.1";
+
+  src = fetchurl {
+    url = "http://prdownloads.sourceforge.net/mp3splt/${name}.tar.gz";
+    sha256 = "783a903fafbcf47f06673136a78b78d32a8e616a6ae06b79b459a32090dd14f7";
+  };
+
+  buildInputs = [ libmp3splt pkgconfig ];
+
+  meta = {
+    description = "utility to split mp3, ogg vorbis and FLAC files without decoding";
+    homepage = http://sourceforge.net/projects/mp3splt/;
+    license = "GPLv2";
+    maintainers = [ stdenv.lib.maintainers.bosu ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index bd21550a64c..54ae5476efd 100755
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, mpd_clientlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.23";
+  version = "0.25";
   name = "mpc-${version}";
 
   src = fetchurl {
-    url = "http://www.musicpd.org/download/mpc/0/${name}.tar.bz2";
-    sha256 = "1ir96wfgq5qfdd2s06zfycv38g3bhn3bpndwx9hwf1w507rvifi9";
+    url = "http://www.musicpd.org/download/mpc/0/${name}.tar.xz";
+    sha256 = "095gmik5vrnab5a1g92qiznn48w7499fr0gldp3s6xd26kvs9kvh";
   };
 	
   buildInputs = [ mpd_clientlib ]; 
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A minimalist command line interface to MPD";
     homepage = http://www.musicpd.org/clients/mpc/;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.algorith ];
     platforms = stdenv.lib.platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/audio/mpc123/default.nix b/pkgs/applications/audio/mpc123/default.nix
index 2f00638961c..cd4343b1beb 100644
--- a/pkgs/applications/audio/mpc123/default.nix
+++ b/pkgs/applications/audio/mpc123/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
     description = "mpc123, a Musepack (.mpc) audio player";
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu; # arbitrary choice
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 029c2ba4bcd..3edb7ae6793 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, alsaLib }:
 
 stdenv.mkDerivation {
-  name = "mpg123-1.15.4";
+  name = "mpg123-1.19.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/mpg123/mpg123-1.15.4.tar.bz2;
-    sha256 = "05aizspky9mp1bq2lfrkjzrsnjykl7gkbrhn93xcarj5b2izv1b8";
+    url = mirror://sourceforge/mpg123/mpg123-1.19.0.tar.bz2;
+    sha256 = "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446";
   };
 
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix
index ffec1a5736c..e58397350cb 100644
--- a/pkgs/applications/audio/mpg321/default.nix
+++ b/pkgs/applications/audio/mpg321/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "mpg321, a command-line MP3 player";
     homepage = http://mpg321.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;
   };
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
new file mode 100755
index 00000000000..94fa50a8883
--- /dev/null
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }:
+
+stdenv.mkDerivation rec {
+  version = "0.23";
+  name = "ncmpc-${version}";
+
+  src = fetchurl {
+    url = "http://www.musicpd.org/download/ncmpc/0/ncmpc-${version}.tar.xz";
+    sha256 = "d7b30cefaf5c74a5d8ab18ab8275e0102ae12e8ee6d6f8144f8e4cc9a97b5de4";
+  };
+
+  buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]
+    ++ libintlOrEmpty;
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  meta = with stdenv.lib; {
+    description = "Curses-based interface for MPD (music player daemon)";
+    homepage    = http://www.musicpd.org/clients/ncmpc/;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ _1126 ];
+    platforms   = platforms.all;
+  };
+}
+
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
index a543aa32eea..791763ced36 100644
--- a/pkgs/applications/audio/opus-tools/default.nix
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, libogg, libao, pkgconfig, libopus}:
+{stdenv, fetchurl, libogg, libao, pkgconfig, libopus, flac}:
 
 stdenv.mkDerivation rec {
-  name = "opus-tools-0.1.6";
+  name = "opus-tools-0.1.8";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "1hd2ych34y3qy4rj4hd5cp29ixy891afizlsxphsfvfplk1dp1nc";
+    sha256 = "1xm2lhdz92n9zmk496lyagisyzja46kx8q340vay9i51krbqiqg4";
   };
 
-  buildInputs = [ libogg libao pkgconfig libopus ];
+  buildInputs = [ libogg libao pkgconfig libopus flac ];
 
   meta = {
     description = "Tools to work with opus encoded audio streams";
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
new file mode 100644
index 00000000000..50df35b974f
--- /dev/null
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, pkgconfig, openssl, libogg, libopus}:
+
+stdenv.mkDerivation rec {
+  name = "opusfile-0.4";
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
+    sha256 = "0h4iwyqgid0cibqwzckz3r94qfp09099nk1cx5nz6i3cf08yldlq";
+  };
+
+  buildInputs = [ pkgconfig openssl libogg libopus ];
+
+  meta = {
+    description = "High-level API for decoding and seeking in .opus files";
+    homepage = http://www.opus-codec.org/;
+    license = "BSD";
+  };
+}
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
new file mode 100644
index 00000000000..acdda1799d0
--- /dev/null
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, pulseaudio, boost }:
+
+let
+  tag = "1.1";
+in
+
+stdenv.mkDerivation rec {
+
+  name = "pamixer-${tag}";
+
+  src = fetchgit {
+    url = git://github.com/cdemoulins/pamixer;
+    rev = "refs/tags/${tag}";
+    sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034";
+  };
+
+  buildInputs = [ pulseaudio boost ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pamixer $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "pamixer is like amixer but for pulseaudio.";
+    longDescription = "Features:
+      - Get the current volume of the default sink, the default source or a selected one by his id
+      - Set the volume for the default sink, the default source or any other device
+      - List the sinks
+      - List the sources
+      - Increase / Decrease the volume for a device
+      - Mute or unmute a device";
+    homepage = https://github.com/cdemoulins/pamixer;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers._1126 ];
+  };
+}
diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix
index 02a27bedb67..ca08624e98f 100644
--- a/pkgs/applications/audio/pavucontrol/default.nix
+++ b/pkgs/applications/audio/pavucontrol/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://freedesktop.org/software/pulseaudio/pavucontrol/ ;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix
index 2e53a22bff3..152ee442761 100644
--- a/pkgs/applications/audio/petrifoo/default.nix
+++ b/pkgs/applications/audio/petrifoo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, alsaLib, cmake, gtk, jackaudio, libgnomecanvas
+{ stdenv, fetchgit, alsaLib, cmake, gtk, jack2, libgnomecanvas
 , libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2
 , pkgconfig }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation  rec {
   };
 
   buildInputs =
-   [ alsaLib cmake  gtk jackaudio libgnomecanvas libpthreadstubs
+   [ alsaLib cmake  gtk jack2 libgnomecanvas libpthreadstubs
      libsamplerate libsndfile libtool libxml2 pkgconfig
    ];
 
diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix
index d5cdffbed95..67848cdc804 100644
--- a/pkgs/applications/audio/pianobooster/default.nix
+++ b/pkgs/applications/audio/pianobooster/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, cmake, qt4 }:
+{ stdenv, fetchurl, alsaLib, cmake, mesa, makeWrapper, qt4 }:
 
 stdenv.mkDerivation  rec {
   name = "pianobooster-${version}";
@@ -9,14 +9,25 @@ stdenv.mkDerivation  rec {
     sha256 = "1xwyap0288xcl0ihjv52vv4ijsjl0yq67scc509aia4plmlm6l35";
   };
 
+  patches = [
+    ./pianobooster-0.6.4b-cmake.patch
+    ./pianobooster-0.6.4b-cmake-gcc4.7.patch
+  ];
+
   preConfigure = "cd src";
 
-  buildInputs = [ alsaLib cmake qt4 ];
+  buildInputs = [ alsaLib cmake makeWrapper mesa qt4 ];
+
+  postInstall = ''
+    wrapProgram $out/bin/pianobooster \
+      --prefix LD_LIBRARY_PATH : ${mesa}/lib
+  '';
 
   meta = with stdenv.lib; {
     description = "A MIDI file player that teaches you how to play the piano";
     homepage = http://pianobooster.sourceforge.net;
     license = licenses.gpl3;
+    platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch
new file mode 100644
index 00000000000..2b1b28c5a84
--- /dev/null
+++ b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch
@@ -0,0 +1,11 @@
+--- pianobooster-src-0.6.4b/src/CMakeLists.txt.orig	2013-04-06 10:48:02.469532914 -0700
++++ pianobooster-src-0.6.4b/src/CMakeLists.txt	2013-04-06 10:48:12.989532445 -0700
+@@ -203,8 +203,6 @@
+         ${PIANOBOOSTER_UI_HDRS} )

+ ENDIF(WIN32)

+ 

+-SET_TARGET_PROPERTIES(pianobooster PROPERTIES LINK_FLAGS "-mwindows")

+-

+ IF (USE_PCH)

+ ADD_PRECOMPILED_HEADER( pianobooster ${CMAKE_CURRENT_SOURCE_DIR}/precompile/precompile.h )

+ ENDIF (USE_PCH)

diff --git a/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch
new file mode 100644
index 00000000000..8cdd8738e2b
--- /dev/null
+++ b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch
@@ -0,0 +1,44 @@
+--- pianobooster-src-0.6.4b/src/CMakeLists.txt.orig
++++ pianobooster-src-0.6.4b/src/CMakeLists.txt
+@@ -2,12 +2,6 @@
+ # for the debug build type cmake -DCMAKE_BUILD_TYPE=Debug

+ SET(CMAKE_BUILD_TYPE Release)

+ SET(CMAKE_VERBOSE_MAKEFILE OFF)

+-SET(USE_FLUIDSYNTH OFF)

+-

+-# The inplace directory is mainly for windows builds

+-# SET(FLUIDSYNTH_INPLACE_DIR C:/download/misc/ljb/fluidsynth-1.0.9)

+-SET(FLUIDSYNTH_INPLACE_DIR /home/louis/build/fluidsynth-1.0.9)

+-

+ 

+ # Testing precompiled headers  it does not work -- leave as OFF.

+ SET(USE_PCH OFF)

+@@ -78,18 +72,7 @@
+     ADD_DEFINITIONS(-DPB_USE_FLUIDSYNTH)

+     MESSAGE("Building using fluidsynth")

+     SET( PB_BASE_SRCS MidiDeviceFluidSynth.cpp )

+-

+-    IF(FLUIDSYNTH_INPLACE_DIR)

+-        INCLUDE_DIRECTORIES(${FLUIDSYNTH_INPLACE_DIR}/include/)

+-        IF(WIN32)

+-            LINK_LIBRARIES( ${FLUIDSYNTH_INPLACE_DIR}/src/.libs/libfluidsynth.dll.a)

+-        ENDIF(WIN32)

+-        IF(UNIX)

+-            LINK_LIBRARIES(${FLUIDSYNTH_INPLACE_DIR}/src/.libs/libfluidsynth.so)

+-        ENDIF(UNIX)

+-    ELSEIF(FLUIDSYNTH_INPLACE_DIR)

+-        LINK_LIBRARIES( fluidsynth)

+-    ENDIF(FLUIDSYNTH_INPLACE_DIR)

++	LINK_LIBRARIES(fluidsynth)

+ ENDIF(USE_FLUIDSYNTH)

+ 

+ 

+@@ -214,8 +197,6 @@
+ INSTALL(TARGETS pianobooster RUNTIME DESTINATION bin)

+ #INSTALL( index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en  SUBDIR kmidimon )

+ 

+-INSTALL( FILES ../README.txt  DESTINATION share/doc/pianobooster )

+-

+ INSTALL ( FILES images/pianobooster.png DESTINATION share/pixmaps )

+ 

+ 

diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index f2f196acdd8..86c68d087b7 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -1,18 +1,19 @@
-{stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
+{ stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
 
 stdenv.mkDerivation {
-  name = "praat-5323";
+  name = "praat-5365";
+
   src = fetchurl {
-    url = http://www.fon.hum.uva.nl/praat/praat5323_sources.tar.gz;
-    sha256 = "1m0m5165h74mw5xhmnnyzh5ans3cn78w5rs9572sa1512cams203";
+    url = http://www.fon.hum.uva.nl/praat/praat5365_sources.tar.gz;
+    sha256 = "1w3mcq0mipx88i7ckhvzhmdj0p67nhppnn7kbkp21d01yyyz5rgq";
   };
 
   configurePhase = ''
-    cp makefiles/makefile.defs.linux makefile.defs
+    cp makefiles/makefile.defs.linux.alsa makefile.defs
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp praat $out/bin
   '';
 
@@ -21,6 +22,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Doing phonetics by computer";
     homepage = http://www.fon.hum.uva.nl/praat/;
-    license = "GPLv2+"; # Has some 3rd-party code in it though
+    license = stdenv.lib.licenses.gpl2Plus; # Has some 3rd-party code in it though
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix
new file mode 100644
index 00000000000..508b6743cc3
--- /dev/null
+++ b/pkgs/applications/audio/projectm/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, pkgconfig, cmake
+, glew, ftgl, ttf_bitstream_vera
+, withQt ? true, qt4
+, withLibvisual ? false, libvisual, SDL
+, withJack ? false, jack2
+, withPulseAudio ? true, pulseaudio
+}:
+
+assert withJack       -> withQt;
+assert withPulseAudio -> withQt;
+
+stdenv.mkDerivation {
+  name = "projectm-2.1.0";
+
+  meta = {
+    description = "Music Visualizer";
+    homepage = "http://projectm.sourceforge.net/";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/projectm/2.1.0/projectM-complete-2.1.0-Source.tar.gz";
+    sha256 = "1vh6jk68a0jdb6qwppb6f8cbgmhnv2ba3bcavzfd6sq06gq08cji";
+  };
+
+  patchPhase = ''
+    sed -i 's:''${LIBVISUAL_PLUGINSDIR}:''${CMAKE_INSTALL_PREFIX}/lib/libvisual-0.4:' \
+      src/projectM-libvisual/CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+
+  cmakeFlags = ''
+    -DprojectM_FONT_MENU=${ttf_bitstream_vera}/share/fonts/truetype/VeraMono.ttf
+    -DprojectM_FONT_TITLE=${ttf_bitstream_vera}/share/fonts/truetype/Vera.ttf
+    -DINCLUDE-PROJECTM-TEST=OFF
+    -DINCLUDE-PROJECTM-QT=${if withQt then "ON" else "OFF"}
+    -DINCLUDE-PROJECTM-LIBVISUAL=${if withLibvisual then "ON" else "OFF"}
+    -DINCLUDE-PROJECTM-JACK=${if withJack then "ON" else "OFF"}
+    -DINCLUDE-PROJECTM-PULSEAUDIO=${if withPulseAudio then "ON" else "OFF"}
+  '';
+
+  buildInputs = with stdenv.lib;
+    [ glew ftgl ]
+    ++ optional withQt qt4
+    ++ optionals withLibvisual [ libvisual SDL ]
+    ++ optional withJack jack2
+    ++ optional withPulseAudio pulseaudio
+    ;
+}
diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix
index b1df008398d..9abca0cb014 100644
--- a/pkgs/applications/audio/puredata/default.nix
+++ b/pkgs/applications/audio/puredata/default.nix
@@ -1,23 +1,28 @@
-{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib
-, jackaudio, libX11, libtool, makeWrapper, pkgconfig, tcl, tk
+{ stdenv, fetchurl, autoreconfHook, gettext, makeWrapper
+, alsaLib, jack2, tk
 }:
 
 stdenv.mkDerivation  rec {
   name = "puredata-${version}";
-  version = "0.44-0";
+  version = "0.45-4";
 
   src = fetchurl {
     url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz";
-    sha256 = "031bvqfnlpfx0y5n0l5rmslziqc6jgmk99x1prgh1rmhjhjdnijw";
+    sha256 = "1ls2ap5yi2zxvmr247621g4jx0hhfds4j5704a050bn2n3l0va2p";
   };
 
-  buildInputs = [
-    alsaLib autoconf automake fftw gettext glib jackaudio libX11
-    libtool makeWrapper pkgconfig tcl tk
-  ];
+  patchPhase = ''
+    rm portaudio/configure.in
+  '';
+
+  nativeBuildInputs = [ autoreconfHook gettext makeWrapper ];
+
+  buildInputs = [ alsaLib jack2 ];
 
-  preConfigure = ''
-    ./autogen.sh
+  configureFlags = ''
+    --enable-alsa
+    --enable-jack
+    --disable-portaudio
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix
index e70d51ce857..ba875255d4a 100644
--- a/pkgs/applications/audio/qjackctl/default.nix
+++ b/pkgs/applications/audio/qjackctl/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, qt4, alsaLib, jackaudio, dbus }:
+{ stdenv, fetchurl, qt4, alsaLib, jack2, dbus }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.9";
+  version = "0.3.11";
   name = "qjackctl-${version}";
 
   # some dependencies such as killall have to be installed additionally
 
   src = fetchurl {
     url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
-    sha256 = "0a4s7lwd5b67qbwv1yck8bw6zz8ffx1gza5fwflfqrfcfl3dds2y";
+    sha256 = "1wjzrgx3n2asyxk6cnfcm34msaw84qvsqy08bd4qnghrgpl96hwl";
   };
 
-  buildInputs = [ qt4 alsaLib jackaudio dbus ];
+  buildInputs = [ qt4 alsaLib jack2 dbus ];
 
   configureFlags = "--enable-jack-version";
 
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "A Qt application to control the JACK sound server daemon";
     homepage = http://qjackctl.sourceforge.net/;
     license = "GPL";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 8b99988f07b..a18ef97dd60 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -28,11 +28,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-0.7.0";
+  name = "qmmp-0.7.6";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "0g8qcs82y3dy06lsgam2w6gh2ccx0frlw9fp4xg947vi3a16g6ig";
+    sha256 = "1hq08ii06lyfg516jrvxdfcjj509gvglvdlsr96aqi1fh8v4k5p9";
   };
 
   buildInputs =
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
     homepage = http://qmmp.ylsoftware.com/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
+    repositories.svn = http://qmmp.googlecode.com/svn/;
   };
 }
diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix
index 7cfe73c9c75..b851517b872 100644
--- a/pkgs/applications/audio/qsampler/default.nix
+++ b/pkgs/applications/audio/qsampler/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     description = "graphical frontend to LinuxSampler";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix
index 96221348f88..a5d0e7e621e 100644
--- a/pkgs/applications/audio/qsynth/default.nix
+++ b/pkgs/applications/audio/qsynth/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchurl, alsaLib, fluidsynth, jackaudio, qt4 }:
+{ stdenv, fetchurl, alsaLib, fluidsynth, jack2, qt4 }:
 
 stdenv.mkDerivation  rec {
   name = "qsynth-${version}";
-  version = "0.3.6";
+  version = "0.3.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsynth/${name}.tar.gz";
-    sha256 = "0g7vaffpgs7v2p71ml5p7fzxz50mhlaklgf9zk4wbfk1hslqv5mm";
+    sha256 = "0wmq61cq93x2l00xwr871373mj3dwamz1dg6v62x7s8m1612ndrw";
   };
 
-  buildInputs = [ alsaLib fluidsynth jackaudio qt4 ];
+  buildInputs = [ alsaLib fluidsynth jack2 qt4 ];
 
   meta = with stdenv.lib; {
     description = "Fluidsynth GUI";
     homepage = http://sourceforge.net/projects/qsynth;
     license = licenses.gpl2Plus;
+    platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index 3c31aff4232..4177dbeeb0c 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -1,18 +1,18 @@
-{ alsaLib, autoconf, automake, dssi, fetchurl, gtk, jackaudio
+{ alsaLib, autoconf, automake, dssi, fetchurl, gtk, jack2
 , ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile
 , libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.4";
+  version = "0.6.2";
   name = "qtractor-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qtractor/${name}.tar.gz";
-    sha256 = "08vnvjl4w6z49s5shnip0qlwib0gwixw9wrqbazkh62i328fa05l";
+    sha256 = "08cr4lgm8bkkmsvfljszcqij3i52n989s7ncrbrn17n61rmgf8yw";
   };
 
   buildInputs =
-    [ alsaLib autoconf automake dssi gtk jackaudio ladspaH
+    [ alsaLib autoconf automake dssi gtk jack2 ladspaH
       ladspaPlugins liblo libmad libsamplerate libsndfile libtool
       libvorbis pkgconfig qt4 rubberband
     ];
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 9f4859d6e07..38c679d7a3e 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,48 +1,61 @@
-{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
-, pythonDBus, gst_python, gst_plugins_base, gst_plugins_good, gst_plugins_ugly }:
+{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject, intltool
+, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
+, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
 
-let version = "2.5"; in
+assert withGstPlugins -> gst_plugins_base != null
+                         || gst_plugins_good != null
+                         || gst_plugins_ugly != null
+                         || gst_plugins_bad != null;
+
+let version = "2.6.3"; in
 
 buildPythonPackage {
   # call the package quodlibet and just quodlibet
-  name = "quodlibet-${version}";
+  name = "quodlibet-${version}"
+         + stdenv.lib.optionalString withGstPlugins "-with-gst-plugins";
   namePrefix = "";
 
   # XXX, tests fail
   doCheck = false;
 
-  src = [
+  srcs = [
     (fetchurl {
-      url = "https://quodlibet.googlecode.com/files/quodlibet-${version}.tar.gz";
-      sha256 = "0qrmlz7m1jpmriy8bgycjiwzbf3annznkn4x5k32yy9bylxa7lwb";
+      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
+      sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
      })
     (fetchurl {
-      url = "https://quodlibet.googlecode.com/files/quodlibet-plugins-${version}.tar.gz";
-      sha256 = "0kf2mkq2zk38626bn48gscvy6ir04f5b2z57ahlxlqy8imv2cjff";
+      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
+      sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
      })
-  ];       
+  ];
+
+  preConfigure = ''
+    # TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc
+    sed -i /distclass/d setup.py
+  '';
 
   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
+  buildInputs = stdenv.lib.optionals withGstPlugins [
+    gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
   ];
 
   propagatedBuildInputs = [
-    mutagen pygtk pygobject pythonDBus gst_python
+    mutagen pygtk pygobject pythonDBus gst_python intltool
   ];
 
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString withGstPlugins ''
     # 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"
+    wrapProgram "$out/bin/quodlibet" --prefix \
+      GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"                                                     \
   '';
 
   meta = {
@@ -62,6 +75,7 @@ buildPythonPackage {
       & internet radio, and all major audio formats.
     '';
 
+    maintainers = [ stdenv.lib.maintainers.coroa ];
     homepage = http://code.google.com/p/quodlibet/;
   };
 }
diff --git a/pkgs/applications/audio/rakarrack/default.nix b/pkgs/applications/audio/rakarrack/default.nix
index ba84fe5eaec..257a9967a5b 100644
--- a/pkgs/applications/audio/rakarrack/default.nix
+++ b/pkgs/applications/audio/rakarrack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, alsaUtils, fltk, jackaudio, libXft,
+{ stdenv, fetchurl, alsaLib, alsaUtils, fltk, jack2, libXft,
 libXpm, libjpeg, libpng, libsamplerate, libsndfile, zlib }:
 
 stdenv.mkDerivation  rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation  rec {
 
   patches = [ ./fltk-path.patch ];
 
-  buildInputs = [ alsaLib alsaUtils fltk jackaudio libXft libXpm libjpeg
+  buildInputs = [ alsaLib alsaUtils fltk jack2 libXft libXpm libjpeg
     libpng libsamplerate libsndfile zlib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix
index 584b23b6a01..0cbdfa6973d 100644
--- a/pkgs/applications/audio/samplv1/default.nix
+++ b/pkgs/applications/audio/samplv1/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
+{ stdenv, fetchurl, jack2, libsndfile, lv2, qt4 }:
 
 stdenv.mkDerivation rec {
   name = "samplv1-${version}";
-  version = "0.3.2";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/samplv1/${name}.tar.gz";
-    sha256 = "1j6q3ywbdsyhskc60p7k8ph058ylrrmjmri3q1wr2d2akcaqvb7m";
+    sha256 = "02mm5y1yzklvs5bpxl86y3dqcg7migfybmin8llk91pws6rl9b41";
   };
 
-  buildInputs = [ jackaudio libsndfile lv2 qt4 ];
+  buildInputs = [ jack2 libsndfile lv2 qt4 ];
 
   meta = with stdenv.lib; {
     description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix
index 9f168f54eaf..10376e02f43 100644
--- a/pkgs/applications/audio/seq24/default.nix
+++ b/pkgs/applications/audio/seq24/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, gtkmm, jackaudio, pkgconfig }:
+{ stdenv, fetchurl, alsaLib, gtkmm, jack2, pkgconfig }:
 
 stdenv.mkDerivation  rec {
   name = "seq24-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation  rec {
     sha256 = "07n80zj95i80vjmsflnlbqx5vv90qmp5f6a0zap8d30849l4y258";
   };
 
-  buildInputs = [ alsaLib gtkmm jackaudio pkgconfig ];
+  buildInputs = [ alsaLib gtkmm jack2 pkgconfig ];
 
   meta = with stdenv.lib; {
     description = "minimal loop based midi sequencer";
diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix
new file mode 100644
index 00000000000..5119c384cf6
--- /dev/null
+++ b/pkgs/applications/audio/setbfree/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, alsaLib, freetype, ftgl, jack2, libX11, lv2
+, mesa, pkgconfig, ttf_bitstream_vera
+}:
+
+stdenv.mkDerivation  rec {
+  name = "setbfree-${version}";
+  version = "0.7.5";
+
+  src = fetchurl {
+    url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz";
+    sha256 = "1chlmgwricc6l4kyg35vc9v8f1n8psr28iihn4a9q2prj1ihqcbc";
+  };
+
+  patchPhase = ''
+    sed 's#/usr/local#$(out)#g' -i common.mak
+    sed 's#/usr/share/fonts/truetype/ttf-bitstream-vera#${ttf_bitstream_vera}/share/fonts/truetype#g' \
+      -i b_synth/Makefile
+  '';
+
+  buildInputs = [
+    alsaLib freetype ftgl jack2 libX11 lv2 mesa pkgconfig
+    ttf_bitstream_vera
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A DSP tonewheel organ emulator";
+    homepage = http://setbfree.org;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index a49bfd9cccf..52cd2ad35ce 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -1,58 +1,26 @@
-args : 
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-  fullDepEntry = args.fullDepEntry;
+{ stdenv, fetchurl, pkgconfig
+, gtk2, alsaLib
+, fftw, gsl
+}:
 
-  version = lib.attrByPath ["version"] "9.4" args; 
-  buildInputs = with args; [gtk glib pkgconfig 
-     libXpm gmp gettext libX11 fftw]
-      ++ (lib.optional (args ? ruby) args.ruby)
-      ++ (lib.optional (args ? mesa) args.mesa)
-      ++ (lib.optional (args ? guile) args.guile)
-      ++ (lib.optional (args ? libtool) args.libtool)
-      ++ (lib.optional (args ? sndlib) args.sndlib)
-      ++ (lib.optional (args ? alsaLib) args.alsaLib)
-      ++ (lib.optional (args ? jackaudio) args.jackaudio)
-      ;
-  configureFlags = ["--with-gtk" "--with-xpm"]
-    ++ (lib.optional (args ? ruby)   "--with-ruby" )
-    ++ (lib.optional (args ? mesa)   "--with-gl"   )
-    ++ (lib.optional (args ? guile)  "--with-guile")
-    ++ (lib.optional (args ? sndlib) "--with-midi" )
-    ++ (lib.optional (args ? alsaLib)  "--with-alsa")
-    ++ (lib.optional (args ? jackaudio) "--with-jack" )
-    ++ [ "--with-fftw" "--htmldir=$out/share/snd/html" "--with-doc-dir=$out/share/snd/html" ]
-    ;
-in
-rec {
-  src = fetchurl {
-    url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
-    sha256 = "0zqgfnkvkqxby1k74mwba1r4pb520glcsz5jjmpzm9m41nqnghmm";
-  };
-
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "preBuild" "makeDocsWork" 
-    "doMakeInstall" "doForceShare"];
-
-  makeDocsWork = fullDepEntry ''
-                # hackish way to make html docs work
-                h="$out/share/snd/html"; mkdir -p "$h"; cp *.html "$h"
-                patch -p1 < ${./doc.patch}
-                sed "s@HTML-DIR@$h@" -i index.scm snd-help.c
-            '' ["defEnsureDir"];
-
-  preBuild = fullDepEntry (''
-		export NIX_LDFLAGS="$NIX_LDFLAGS -L${args.libX11}/lib -lX11"
-            '') ["minInit" "doUnpack" "makeDocsWork"];
+stdenv.mkDerivation rec {
+  name = "snd-14.3";
 
-  name = "snd-" + version;
   meta = {
     description = "Sound editor";
     homepage = http://ccrma.stanford.edu/software/snd;
-    inherit src;
+    platforms = stdenv.lib.platforms.linux;
   };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/snd/${name}.tar.gz";
+    sha256 = "04shk34pza507kvm40dc6sdz5jz533z4q2h7m9hgqvw1r3f57ms6";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    gtk2 alsaLib
+    fftw gsl
+  ];
 }
diff --git a/pkgs/applications/audio/snd/doc.patch b/pkgs/applications/audio/snd/doc.patch
deleted file mode 100644
index 4c40151e988..00000000000
--- a/pkgs/applications/audio/snd/doc.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/index.scm b/index.scm
-index 2148a58..713939c 100644
---- a/index.scm
-+++ b/index.scm
-@@ -18,24 +18,7 @@ and if one is found, and the Snd documentation can be found, calls (html-program
- 	    (lambda (n)
- 	      ;; look for doc on current dir, then html dir, then global dir
- 	      ;; snd.html is what we'll search for
--	      (let ((dir (if (file-exists? "snd.html") 
--			     (getcwd)
--			     (if (and (string? (html-dir))
--				      (file-exists? (string-append (html-dir) "/snd.html")))
--				 (html-dir)
--				 (if (file-exists? "/usr/share/doc/snd-9/snd.html")
--				     "/usr/share/doc/snd-9"
--				     (if (file-exists? "/usr/local/share/doc/snd-9/snd.html")
--					 "/usr/local/share/doc/snd-9"
--					 (if (file-exists? "/usr/doc/snd-9/snd.html")
--					     "/usr/doc/snd-9"
--					     (if (file-exists? "/usr/share/doc/snd-8/snd.html")
--						 "/usr/share/doc/snd-8"
--						 (if (file-exists? "/usr/local/share/doc/snd-8/snd.html")
--						     "/usr/local/share/doc/snd-8"
--						     (if (file-exists? "/usr/doc/snd-8/snd.html")
--							 "/usr/doc/snd-8"
--							 #f))))))))))
-+	      (let (dir "HTML-DIR")
- 		(if dir
- 		    (if (or (string=? (html-program) "netscape")
- 			    (string=? (html-program) "mozilla")
-diff --git a/snd-help.c b/snd-help.c
-index a6557e0..a40a02e 100644
---- a/snd-help.c
-+++ b/snd-help.c
-@@ -3554,26 +3554,7 @@ static char *doc_files[DOC_DIRECTORIES] = {
-   
- static char *html_directory(void)
- {
--  int i;
--  if (mus_file_probe("snd.html"))
--    return(mus_getcwd());
--  if (html_dir(ss))
--    {
--      bool happy;
--      char *hd = NULL;
--      hd = (char *)CALLOC(snd_strlen(html_dir(ss)) + 16, sizeof(char));
--      sprintf(hd, html_dir(ss), "/snd.html");
--      happy = mus_file_probe(hd);
--      FREE(hd);
--      if (happy) return(copy_string(html_dir(ss)));
--    }
--#ifdef MUS_DEFAULT_DOC_DIR
--  if (mus_file_probe(MUS_DEFAULT_DOC_DIR "/snd.html"))
--    return(copy_string(MUS_DEFAULT_DOC_DIR "/snd.html"));
--#endif
--  for (i = 0; i < DOC_DIRECTORIES; i++)
--    if (mus_file_probe(doc_files[i])) return(copy_string(doc_directories[i]));
--  return(NULL);
-+  return (copy_string ("HTML-DIR"));
- }
- 
- 
diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix
index aeb90c09455..42c39062042 100644
--- a/pkgs/applications/audio/sonic-visualiser/default.nix
+++ b/pkgs/applications/audio/sonic-visualiser/default.nix
@@ -1,26 +1,29 @@
 # TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html
 
-{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo
+{ stdenv, fetchurl, alsaLib, bzip2, fftw, jack2, libX11, liblo
 , libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
-, libsndfile, makeWrapper, pkgconfig, pulseaudio, qt4, redland
-, rubberband, vampSDK 
+, libsndfile, pkgconfig, pulseaudio, qt5, redland
+, rubberband, serd, sord, vampSDK
 }:
 
 stdenv.mkDerivation rec {
   name = "sonic-visualiser-${version}";
-  version = "1.9";
+  version = "2.3";
 
   src = fetchurl {
-    url = "http://code.soundsoftware.ac.uk/attachments/download/194/${name}.tar.gz";
-    sha256 = "00igf7j6s8xfyxnlkbqma0yby9pknxqzy8cmh0aw95ix80cw56fq";
+
+    url = "http://code.soundsoftware.ac.uk/attachments/download/918/${name}.tar.gz";
+    sha256 = "1f06w2rin4r2mbi00bg3nmqdi2xdy9vq4jcmfanxzj3ld66ik40c";
   };
 
   buildInputs =
-    [ libsndfile qt4 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
+    [ libsndfile qt5 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
       libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
+      serd
+      sord
       pkgconfig
       # optional
-      jackaudio
+      jack2
       # portaudio
       pulseaudio
       libmad
@@ -28,11 +31,10 @@ stdenv.mkDerivation rec {
       # fishsound
       liblo
       libX11
-      makeWrapper
     ];
 
   buildPhase = ''
-    for i in sonic-visualiser svapp svcore svgui; 
+    for i in sonic-visualiser svapp svcore svgui;
       do cd $i && qmake -makefile PREFIX=$out && cd ..;
     done
     make
@@ -40,19 +42,15 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/{bin,share/sonic-visualiser}
-    cp sonic-visualiser/sonic-visualiser $out/bin
-    cp -r sonic-visualiser/samples $out/share/sonic-visualiser/samples
-    wrapProgram $out/bin/sonic-visualiser --prefix LD_LIBRARY_PATH : ${libX11}/lib
+    cp sonic-visualiser $out/bin/
+    cp -r samples $out/share/sonic-visualiser/
   '';
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "View and analyse contents of music audio files";
     homepage = http://www.sonicvisualiser.org/;
-    license = "GPLv2";
-    maintainers = 
-      [ stdenv.lib.maintainers.marcweber 
-        stdenv.lib.maintainers.goibhniu 
-      ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.goibhniu maintainers.marcweber ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 615ee6a93cc..59b82d155da 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,24 +1,64 @@
 { fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype
 , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
-, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev }:
+, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev, fontconfig
+, dbus, expat }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 let
-  version = "0.9.4.183";
+  version = if stdenv.system == "i686-linux"
+    then "0.9.4.183.g644e24e.428"
+    else "0.9.11.27.g2b1a638.81";
+
   qt4webkit =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        name = "libqtwebkit4_2.2_i386.deb";
-        url = http://mirrors.us.kernel.org/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_i386.deb;
-        sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924";
+        name = "libqtwebkit4_2.3.2_i386.deb";
+        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_i386.deb;
+        sha256 = "0q4abhczx91ma57fjss0gn8j6nkfbfsbsh6kxhykzj88dih2s8rn";
       }
     else
       fetchurl {
-        name = "libqtwebkit4_2.2_amd64.deb";
-        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_amd64.deb;
-        sha256 = "0bvy6qz9y19ck391z8c049v07y4vdyvgykpxi7x1nvn078p1imiw";
+        name = "libqtwebkit4_2.3.2_amd64.deb";
+        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_amd64.deb;
+        sha256 = "0sac88avfivwkfhmd6fik7ili8fdznqas6741dbspf9mfnawbwch";
       };
+
+  deps = [
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    GConf
+    gdk_pixbuf
+    glib
+    gst_plugins_base
+    gstreamer
+    gtk
+    libgcrypt
+    libpng
+    nss
+    pango
+    qt4
+    sqlite
+    stdenv.gcc.gcc
+    xlibs.libX11
+    xlibs.libXcomposite
+    xlibs.libXdamage
+    xlibs.libXext
+    xlibs.libXfixes
+    xlibs.libXi
+    xlibs.libXrandr
+    xlibs.libXrender
+    xlibs.libXrender
+    xlibs.libXScrnSaver
+    #xlibs.libXss
+  ];
+
 in
 
 stdenv.mkDerivation {
@@ -27,13 +67,13 @@ stdenv.mkDerivation {
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_i386.deb";
+        url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_i386.deb";
         sha256 = "1wl6v5x8vm74h5lxp8fhvmih8l122aadsf1qxvpk0k3y6mbx0ifa";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_amd64.deb";
-        sha256 = "1yniln6iswrrrny01qr2w5zcvam0vnrvy9mwbnk9i14i2ch0f3fx";
+        url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_amd64.deb";
+        sha256 = "0yfljiw01kssj3qaz8m0ppgrpjs6xrhzlr2wccp64bsnmin7g4sg";
       }
     else throw "Spotify not supported on this platform.";
 
@@ -51,34 +91,51 @@ stdenv.mkDerivation {
       # Work around Spotify referring to a specific minor version of
       # OpenSSL.
       mkdir $out/lib
-      ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8
-      ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8
+
       ln -s ${nss}/lib/libnss3.so $out/lib/libnss3.so.1d
       ln -s ${nss}/lib/libnssutil3.so $out/lib/libnssutil3.so.1d
       ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d
+
+      ${if stdenv.system == "x86_64-linux" then ''
+      ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.1.0.0
+      ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
+      ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so
+      ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so
+      '' else ''
+      ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8
+      ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8
       ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d
       ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d
+      ''}
 
       # Work around Spotify trying to open libudev.so.0 (which we don't have)
       ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
 
       mkdir -p $out/bin
 
+      rpath="$out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.gcc.gcc}/lib64"
+
       ln -s $out/spotify-client/spotify $out/bin/spotify
+
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath $rpath $out/spotify-client/spotify
+
       patchelf \
         --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath $out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite]}:${stdenv.gcc.gcc}/lib64 \
-        $out/spotify-client/spotify
+        --set-rpath $rpath $out/spotify-client/Data/SpotifyHelper
 
       dpkg-deb -x ${qt4webkit} ./
       mkdir -p $out/lib/
       cp -v usr/lib/*/* $out/lib/
 
       preload=$out/libexec/spotify/libpreload.so
+      librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib"
       mkdir -p $out/libexec/spotify
       gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
 
-      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng cups libgcrypt sqlite gst_plugins_base gstreamer]}:$out/lib"
+      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath"
+      wrapProgram $out/spotify-client/Data/SpotifyHelper --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath"
 
       # Desktop file
       mkdir -p "$out/share/applications/"
@@ -92,7 +149,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = https://www.spotify.com/;
     description = "Spotify for Linux allows you to play music from the Spotify music service";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/applications/audio/streamripper/default.nix b/pkgs/applications/audio/streamripper/default.nix
new file mode 100644
index 00000000000..2df1e1e3b3b
--- /dev/null
+++ b/pkgs/applications/audio/streamripper/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl , glib, pkgconfig, libogg, libvorbis }:
+
+stdenv.mkDerivation rec {
+  name = "streamripper-${version}";
+  version = "1.64.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/streamripper/${name}.tar.gz";
+    sha256 = "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1";
+  };
+
+  buildInputs = [ pkgconfig glib libogg libvorbis ];
+
+  meta = with stdenv.lib; {
+    homepage = http://streamripper.sourceforge.net/;
+    description = "Application that lets you record streaming mp3 to your hard drive";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ the-kenny ];
+  };
+}
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index aadce32dda4..c6c464b9ad7 100644
--- a/pkgs/applications/audio/synthv1/default.nix
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, qt4, jackaudio, lv2 }:
+{ stdenv, fetchurl, qt4, jack2, lv2 }:
 
 stdenv.mkDerivation rec {
   name = "synthv1-${version}";
-  version = "0.3.2";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${name}.tar.gz";
-    sha256 = "1230yf49qfw540yvp5n7sh6mf3k8590pzwc5mragd3nd6k6apgw9";
+    sha256 = "011kjccrdwb62rpck5gb8h4kvvm8rk6n77lj78ykxz4pxip5hf14";
   };
 
-  buildInputs = [ qt4 jackaudio lv2 ];
+  buildInputs = [ qt4 jack2 lv2 ];
 
   meta = with stdenv.lib; {
     description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
diff --git a/pkgs/applications/audio/transcode/default.nix b/pkgs/applications/audio/transcode/default.nix
new file mode 100644
index 00000000000..c414992a12d
--- /dev/null
+++ b/pkgs/applications/audio/transcode/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, flac, lame, zlib, libjpeg, libvorbis, libtheora, libxml2
+, lzo, libdvdread, pkgconfig, x264, libmpeg2, xvidcore }:
+
+stdenv.mkDerivation rec {
+  name = "transcode-1.1.7";
+  src = fetchurl {
+    url = "https://bitbucket.org/france/transcode-tcforge/downloads/${name}.tar.bz2";
+    sha256 = "1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92";
+  };
+
+  buildInputs = [ flac lame zlib libjpeg libvorbis libtheora libxml2 lzo
+                  libdvdread pkgconfig x264 libmpeg2 xvidcore ];
+  configureFlags = "--disable-ffmpeg --disable-libavcodec --disable-libavformat
+    --enable-lzo --enable-ogg --enable-vorbis --enable-theora --enable-libxml2
+    --enable-x264 --enable-libmpeg2 --enable-xvid";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Suite of command line utilities for transcoding video and audio codecs, and for converting beween different container formats";
+    homepage = http://www.transcoding.org/;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix
new file mode 100755
index 00000000000..3e365cae8e9
--- /dev/null
+++ b/pkgs/applications/audio/vimpc/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, autoconf, automake, mpd_clientlib, ncurses, pcre, pkgconfig, taglib }:
+
+stdenv.mkDerivation rec {
+  version = "0.09.0";
+  name = "vimpc-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/boysetsfrog/vimpc/archive/v${version}.tar.gz";
+    sha256 = "13eb229a5e9eee491765ee89f7fe6a38140a41a01434b117da3869d725c15706";
+  };
+
+  buildInputs = [ autoconf
+                  automake
+                  mpd_clientlib
+                  ncurses
+                  pcre
+                  pkgconfig
+                  taglib
+                ];
+
+  preConfigure = "./autogen.sh";
+
+  postInstall = ''
+    mkdir -p $out/etc
+    cp doc/vimpcrc.example $out/etc
+  '';
+
+  meta = {
+    description = "A vi/vim inspired client for the Music Player Daemon (mpd).";
+    homepage = https://github.com/boysetsfrog/vimpc;
+    license = "GPL3";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix
new file mode 100644
index 00000000000..9a75fa5f383
--- /dev/null
+++ b/pkgs/applications/audio/vmpk/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, cmake, pkgconfig
+, qt4, jack2
+}:
+
+let
+  version = "0.5.1";
+in stdenv.mkDerivation rec {
+  name = "vmpk-${version}";
+
+  meta = with stdenv.lib; {
+    description = "Virtual MIDI Piano Keyboard";
+    homepage    = "http://vmpk.sourceforge.net/";
+    license     = licenses.gpl3Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/vmpk/${version}/${name}.tar.bz2";
+    sha256 = "11fqnxgs9hr9255d93n7lazxzjwn8jpmn23nywdksh0pb1ffvfrc";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ qt4 jack2 ];
+}
diff --git a/pkgs/applications/audio/vorbis-tools/default.nix b/pkgs/applications/audio/vorbis-tools/default.nix
index 5db7cc30cf8..e4e5b7ff81a 100644
--- a/pkgs/applications/audio/vorbis-tools/default.nix
+++ b/pkgs/applications/audio/vorbis-tools/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation {
       files, notably the `ogg123' player and the `oggenc' encoder.
     '';
     homepage = http://xiph.org/vorbis/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix
new file mode 100644
index 00000000000..7f21d389cf5
--- /dev/null
+++ b/pkgs/applications/audio/xmp/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, alsaLib, libxmp }:
+
+stdenv.mkDerivation rec {
+  name = "xmp-4.0.7";
+
+  meta = with stdenv.lib; {
+    description = "Extended module player";
+    homepage    = "http://xmp.sourceforge.net/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xmp/xmp/${name}.tar.gz";
+    sha256 = "0qgzzaxhshz5l7s21x89xb43pbbi0zap6a4lk4s7gjp1qca2agcw";
+  };
+
+  buildInputs = [ pkgconfig alsaLib libxmp ];
+}
diff --git a/pkgs/applications/audio/xsynth-dssi/default.nix b/pkgs/applications/audio/xsynth-dssi/default.nix
index 0cfbfb4c9bd..85e7235400b 100644
--- a/pkgs/applications/audio/xsynth-dssi/default.nix
+++ b/pkgs/applications/audio/xsynth-dssi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk, jackaudio,
+{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk, jack2,
 ladspaH, ladspaPlugins, liblo, pkgconfig }:
 
 stdenv.mkDerivation  rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation  rec {
     sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk";
   };
 
-  buildInputs = [ alsaLib autoconf automake dssi gtk jackaudio ladspaH
+  buildInputs = [ alsaLib autoconf automake dssi gtk jack2 ladspaH
     ladspaPlugins liblo pkgconfig ];
 
   installPhase = ''
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index bce7e0ef5ee..91142691055 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,19 +1,23 @@
-{ stdenv, fetchurl, alsaLib, boost, cmake, fftwSinglePrec, fltk
-, jackaudio, libsndfile, mesa, minixml, pkgconfig, zlib }:
+{ stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk
+, jack2, libsndfile, mesa, minixml, pkgconfig, zlib
+}:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   name = "yoshimi-${version}";
-  version = "0.060.12";
+  version = "1.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
-    sha256 = "14javywkw6af9z9c7jr06rzdgzncyaz2ab6f0v0k6bgdndlcgslc";
+    sha256 = "1w23ral1qrbg9gqx833giqmchx7952f18yaa52aya9shsdlla83c";
   };
 
-  buildInputs = [ alsaLib boost fftwSinglePrec fltk jackaudio libsndfile mesa
-    minixml zlib ];
+  buildInputs = [
+    alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
+    minixml zlib
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
 
   preConfigure = "cd src";
diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix
index fcec85b7fe5..a5aa7d5c8d9 100644
--- a/pkgs/applications/audio/zynaddsubfx/default.nix
+++ b/pkgs/applications/audio/zynaddsubfx/default.nix
@@ -1,28 +1,21 @@
-{ stdenv, fetchurl, alsaLib, cmake, fftw, fltk13, minixml, pkgconfig, zlib }:
+{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, minixml
+, pkgconfig, zlib
+}:
 
 stdenv.mkDerivation  rec {
   name = "zynaddsubfx-${version}";
-  version = "2.4.1";
+  version = "2.4.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/zynaddsubfx/ZynAddSubFX-${version}.tar.bz2";
-    sha256 = "1zn5lgh76rrbfj8d4jys2gc1j2pqrbdd18ywfdrk0s7jq4inwyfg";
+    sha256 = "0kgmwyh4rhyqdfrdzhbzjjk2hzggkp9c4aac6sy3xv6cc1b5jjxq";
   };
 
-  buildInputs = [ alsaLib fftw fltk13 minixml zlib ];
+  buildInputs = [ alsaLib jack2 fftw fltk13 minixml zlib ];
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  patches = [
-    (fetchurl {
-      url = http://patch-tracker.debian.org/patch/series/dl/zynaddsubfx/2.4.0-1.2/09_fluid_1.3.patch;
-      sha256 = "06wl7fs44b24ls1fzh21596n6zzc3ywm2bcdfrkfiiwpzin3yjq6";
-    })
-  ];
-
-#installPhase = "mkdir -pv $out/bin; cp -v zynaddsubfx $out/bin";
-
   meta = with stdenv.lib; {
-    description = "high quality software synthesizer";
+    description = "High quality software synthesizer";
     homepage = http://zynaddsubfx.sourceforge.net;
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
index 0b8863752d2..69f1eef9cec 100644
--- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
@@ -10,18 +10,24 @@
 
 let
   ver_branch = "1.6";
-  version = "1.5.1"; # 1.5.2 and 1.6.0 result into infinite cycling of X in restarts
+  version = "1.6.1";
 in
 stdenv.mkDerivation rec {
   name = "lightdm-gtk-greeter-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz";
-    sha256 = "08fnsbnay5jhd7ps8n91i6c227zq6xizpyn34qhqzykrga8pxkpc";
+    sha256 = "1nb8ljrbrp1zga083g3b633xi3izxxm4jipw1qgial1x16mqc0hz";
   };
 
-  patches = [ ./lightdm-gtk-greeter.patch ];
-  patchFlags = "-p0";
+  patches = [
+    ./lightdm-gtk-greeter.patch
+    (fetchurl { # CVE-2014-0979, https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1266449
+      url = "https://launchpadlibrarian.net/161796033/07_fix-NULL-username.patch";
+      sha256 = "1sqkhsz1z10k6vlmlrqrfx452lznv30885fmnzc73p2zxdlw9q1a";
+    })
+  ];
+  patchFlags = "-p1";
 
   buildInputs = [ pkgconfig lightdm intltool ]
     ++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]);
@@ -39,5 +45,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://launchpad.net/lightdm-gtk-greeter;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
   };
 }
diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch
index 5ae5603b4dd..ea9e0eaec93 100644
--- a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch
+++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch
@@ -1,13 +1,13 @@
-=== modified file 'src/lightdm-gtk-greeter.c'
---- src/lightdm-gtk-greeter.c	2013-02-09 23:20:39 +0000
-+++ src/lightdm-gtk-greeter.c	2013-03-29 12:21:34 +0000
-@@ -1273,7 +1273,7 @@
-     gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (session_combo), renderer, TRUE);
-     gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (session_combo), renderer, "text", 0);
-     model = gtk_combo_box_get_model (session_combo);
+diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c
+index cc5f9e1..d615dc1 100644
+--- a/src/lightdm-gtk-greeter.c
++++ b/src/lightdm-gtk-greeter.c
+@@ -1716,7 +1716,7 @@ main (int argc, char **argv)
+     gtk_container_add (GTK_CONTAINER (menuitem), image);
+     gtk_widget_show (GTK_WIDGET (menuitem));
+     
 -    items = lightdm_get_sessions ();
 +    items = lightdm_get_sessions (greeter);
+     GSList *sessions = NULL;
      for (item = items; item; item = item->next)
      {
-         LightDMSession *session = item->data;
-
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 598c42199be..d4c6f24d69a 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -3,18 +3,18 @@
 
 let
   ver_branch = "1.8";
-  version = "1.7.0";
+  version = "1.8.6";
 in
 stdenv.mkDerivation rec {
   name = "lightdm-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
-    sha256 = "0nwwjgc9xvwili6714ag88wsrf0lr5hv1i6z9f0xvin4ym18cbs5";
+    sha256 = "17ivc0c4dbnc0fzd581j53cn6hdav34zz2hswjzy8aczbpk605qi";
   };
 
   patches = [ ./lightdm.patch ];
-  patchFlags = "-p0";
+  patchFlags = "-p1";
 
   buildInputs = [
     pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://launchpad.net/lightdm;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
   };
 }
diff --git a/pkgs/applications/display-managers/lightdm/lightdm.patch b/pkgs/applications/display-managers/lightdm/lightdm.patch
index a6e53bafcc7..d81e0aae56d 100644
--- a/pkgs/applications/display-managers/lightdm/lightdm.patch
+++ b/pkgs/applications/display-managers/lightdm/lightdm.patch
@@ -1,7 +1,8 @@
-=== modified file 'liblightdm-gobject/greeter.c'
---- liblightdm-gobject/greeter.c	2013-01-31 20:56:09 +0000
-+++ liblightdm-gobject/greeter.c	2013-03-29 14:15:58 +0000
-@@ -567,6 +567,21 @@
+diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c
+index 9387118..635cea0 100644
+--- a/liblightdm-gobject/greeter.c
++++ b/liblightdm-gobject/greeter.c
+@@ -567,6 +567,21 @@ lightdm_greeter_get_default_session_hint (LightDMGreeter *greeter)
  }
  
  /**
@@ -23,11 +24,11 @@
   * lightdm_greeter_get_hide_users_hint:
   * @greeter: A #LightDMGreeter
   *
-
-=== modified file 'liblightdm-gobject/lightdm/greeter.h'
---- liblightdm-gobject/lightdm/greeter.h	2013-01-31 20:56:09 +0000
-+++ liblightdm-gobject/lightdm/greeter.h	2013-03-29 11:56:11 +0000
-@@ -93,6 +93,8 @@
+diff --git a/liblightdm-gobject/lightdm/greeter.h b/liblightdm-gobject/lightdm/greeter.h
+index 7d8988f..2b54909 100644
+--- a/liblightdm-gobject/lightdm/greeter.h
++++ b/liblightdm-gobject/lightdm/greeter.h
+@@ -93,6 +93,8 @@ gboolean lightdm_greeter_get_select_guest_hint (LightDMGreeter *greeter);
  
  const gchar *lightdm_greeter_get_autologin_user_hint (LightDMGreeter *greeter);
  
@@ -36,19 +37,19 @@
  gboolean lightdm_greeter_get_autologin_guest_hint (LightDMGreeter *greeter);
  
  gint lightdm_greeter_get_autologin_timeout_hint (LightDMGreeter *greeter);
-
-=== modified file 'liblightdm-gobject/lightdm/session.h'
---- liblightdm-gobject/lightdm/session.h	2013-01-31 20:56:09 +0000
-+++ liblightdm-gobject/lightdm/session.h	2013-03-29 11:59:16 +0000
+diff --git a/liblightdm-gobject/lightdm/session.h b/liblightdm-gobject/lightdm/session.h
+index 13ddcd9..cdb2fd6 100644
+--- a/liblightdm-gobject/lightdm/session.h
++++ b/liblightdm-gobject/lightdm/session.h
 @@ -12,6 +12,7 @@
- #define _LIGHTDM_SESSION_H_
+ #define LIGHTDM_SESSION_H_
  
  #include <glib-object.h>
 +#include "greeter.h"
  
  G_BEGIN_DECLS
  
-@@ -42,9 +43,9 @@
+@@ -42,9 +43,9 @@ typedef struct
  
  GType lightdm_session_get_type (void);
  
@@ -60,10 +61,10 @@
  
  const gchar *lightdm_session_get_key (LightDMSession *session);
  
-
-=== modified file 'liblightdm-gobject/session.c'
---- liblightdm-gobject/session.c	2013-01-31 20:56:09 +0000
-+++ liblightdm-gobject/session.c	2013-03-29 14:16:48 +0000
+diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c
+index 949778f..db5e18a 100644
+--- a/liblightdm-gobject/session.c
++++ b/liblightdm-gobject/session.c
 @@ -11,6 +11,7 @@
  #include <string.h>
  #include <gio/gdesktopappinfo.h>
@@ -72,7 +73,7 @@
  #include "lightdm/session.h"
  
  enum {
-@@ -167,7 +168,7 @@
+@@ -189,7 +190,7 @@ load_sessions (const gchar *sessions_dir)
  }
  
  static void
@@ -81,18 +82,17 @@
  {
      GKeyFile *config_key_file = NULL;
      gchar *config_path = NULL;
-@@ -183,8 +184,8 @@
+@@ -205,8 +206,7 @@ update_sessions (void)
      remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR);
  
      /* Use session directory from configuration */
 -    /* FIXME: This should be sent in the greeter connection */
 -    config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL);
 +    config_path = g_strdup (lightdm_greeter_get_config_path (greeter));
-+
      config_key_file = g_key_file_new ();
      result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error);
-     if (error)
-@@ -228,9 +229,9 @@
+     if (error && !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+@@ -250,9 +250,9 @@ update_sessions (void)
   * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession
   **/
  GList *
@@ -104,7 +104,7 @@
      return local_sessions;
  }
  
-@@ -242,9 +243,9 @@
+@@ -264,9 +264,9 @@ lightdm_get_sessions (void)
   * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession
   **/
  GList *
@@ -116,78 +116,29 @@
      return remote_sessions;
  }
  
-
-=== modified file 'src/display.c'
---- src/display.c	2013-03-26 22:22:49 +0000
-+++ src/display.c	2013-03-29 12:12:43 +0000
-@@ -62,6 +62,9 @@
-     /* Program to run sessions through */
-     gchar *session_wrapper;
- 
-+    /* Path to the configuration file that lightdm is running under */
-+    gchar *config_path;
+diff --git a/src/lightdm.c b/src/lightdm.c
+index 7d35034..910164c 100644
+--- a/src/lightdm.c
++++ b/src/lightdm.c
+@@ -1142,6 +1142,9 @@ main (int argc, char **argv)
+         }
+     }
+     g_clear_error (&error);
 +
-     /* TRUE if in a user session */
-     gboolean in_user_session;
- 
-@@ -213,6 +216,14 @@
- }
- 
- void
-+display_set_config_path (Display *display, const gchar *config_path)
-+{
-+    g_return_if_fail (display != NULL);
-+    g_free (display->priv->config_path);
-+    display->priv->config_path = g_strdup (config_path);
-+}
-+
-+void
- display_set_show_remote_login_hint (Display *display, gboolean show_remote_login)
- {
-     g_return_if_fail (display != NULL);
-@@ -436,6 +447,7 @@
-     greeter_set_hint (display->priv->greeter, "show-remote-login", display->priv->greeter_show_remote_login ? "true" : "false");
-     if (display->priv->greeter_is_lock)
-         greeter_set_hint (display->priv->greeter, "lock-screen", "true");
-+    greeter_set_hint (display->priv->greeter, "config-path", display->priv->config_path);
- 
-     /* Run greeter as unprivileged user */
-     if (getuid () != 0)
-
-=== modified file 'src/display.h'
---- src/display.h	2013-03-26 22:22:49 +0000
-+++ src/display.h	2013-03-29 12:12:37 +0000
-@@ -80,6 +80,8 @@
- 
- void display_set_user_session (Display *display, SessionType type, const gchar *session_name);
- 
-+void display_set_config_path (Display *display, const gchar *config_path);
++    config_set_string (config_get_instance (), "SeatDefaults", "config-path", config_path);
 +
- gboolean display_start (Display *display);
- 
- gboolean display_get_is_ready (Display *display);
-
-=== modified file 'src/lightdm.c'
---- src/lightdm.c	2013-03-07 21:40:31 +0000
-+++ src/lightdm.c	2013-03-29 11:48:45 +0000
-@@ -1050,6 +1050,7 @@
-     g_debug ("Starting Light Display Manager %s, UID=%i PID=%i", VERSION, getuid (), getpid ());
- 
-     g_debug ("Loaded configuration from %s", config_path);
-+    config_set_string (config_get_instance (), "LightDM", "config-path", config_path);
      g_free (config_path);
  
-     g_debug ("Using D-Bus name %s", LIGHTDM_BUS_NAME);
-
-=== modified file 'src/seat.c'
---- src/seat.c	2013-03-26 22:22:49 +0000
-+++ src/seat.c	2013-03-29 12:13:00 +0000
-@@ -536,6 +536,7 @@
-     if (!session_name)
-         session_name = seat_get_string_property (seat, "user-session");
-     display_set_user_session (display, SESSION_TYPE_LOCAL, session_name);
-+    display_set_config_path (display, config_get_string (config_get_instance (), "LightDM", "config-path"));
- 
-     seat->priv->displays = g_list_append (seat->priv->displays, display);
-     g_signal_emit (seat, signals[DISPLAY_ADDED], 0, display);
-
+     /* Set default values */
+diff --git a/src/seat.c b/src/seat.c
+index e2b9c2c..a950ea2 100644
+--- a/src/seat.c
++++ b/src/seat.c
+@@ -1137,6 +1137,7 @@ create_greeter_session (Seat *seat)
+     greeter_set_hint (greeter_session, "show-manual-login", seat_get_boolean_property (seat, "greeter-show-manual-login") ? "true" : "false");
+     greeter_set_hint (greeter_session, "show-remote-login", seat_get_boolean_property (seat, "greeter-show-remote-login") ? "true" : "false");
+     greeter_set_hint (greeter_session, "has-guest-account", seat_get_allow_guest (seat) && seat_get_boolean_property (seat, "greeter-allow-guest") ? "true" : "false");
++    greeter_set_hint (greeter_session, "config-path", seat_get_string_property (seat, "config-path"));
+ 
+     g_object_unref (session_config);
+ 
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index 0b5bcccfb21..42d2c777aea 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig, xorg, libjpeg, libpng
-, fontconfig, freetype, pam, dbus_libs }:
+, fontconfig, freetype, pam, dbus_libs, makeWrapper, pkgs }:
 
 stdenv.mkDerivation rec {
   name = "slim-1.3.6";
 
   src = fetchurl {
-    url = "http://download.berlios.de/slim/${name}.tar.gz";
+    url = "mirror://sourceforge/slim.berlios/${name}.tar.gz";
     sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1";
   };
 
@@ -20,22 +20,24 @@ stdenv.mkDerivation rec {
       ./run-once.patch
     ];
 
-  preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc --replace /lib $out/lib";
+  preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
 
   cmakeFlags = [ "-DUSE_PAM=1" ];
 
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype";
+
   enableParallelBuilding = true;
 
   buildInputs =
     [ cmake pkgconfig libjpeg libpng fontconfig freetype
       pam dbus_libs
-      xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft
+      xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper
     ];
 
   NIX_CFLAGS_LINK = "-lXmu";
 
   meta = {
-    homepage = http://slim.berlios.de;
+    homepage = http://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch
index f6811dbe668..5a8e07bfbf0 100644
--- a/pkgs/applications/display-managers/slim/runtime-paths.patch
+++ b/pkgs/applications/display-managers/slim/runtime-paths.patch
@@ -1,6 +1,6 @@
-diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
+diff -ru slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
 --- slim-1.3.6-orig/app.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/app.cpp	2013-10-15 11:02:55.629263422 +0200
++++ slim-1.3.6/app.cpp	2014-03-30 19:01:04.115414201 +0200
 @@ -200,7 +200,9 @@
  
  	/* Read configuration and theme */
@@ -23,3 +23,48 @@ diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
  		themeName = cfg->getOption("current_theme");
  		string::size_type pos;
  		if ((pos = themeName.find(",")) != string::npos) {
+diff -ru slim-1.3.6-orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt
+--- slim-1.3.6-orig/CMakeLists.txt	2013-10-02 00:38:05.000000000 +0200
++++ slim-1.3.6/CMakeLists.txt	2014-03-30 19:16:48.445069729 +0200
+@@ -23,7 +23,7 @@
+ 
+ set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
+ set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim")
+-set(SYSCONFDIR "/etc")
++set(SYSCONFDIR "$ENV{out}/etc")
+ set(LIBDIR "/lib")
+ set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man")
+ 
+@@ -40,7 +40,7 @@
+ set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPACKAGE=\"slim\"")
+ set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DVERSION=\"${SLIM_VERSION}\"")
+ set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"")
+-set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"")
++set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"/etc\"")
+ 
+ # Flags
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2")
+Only in slim-1.3.6: CMakeLists.txt~
+diff -ru slim-1.3.6-orig/slimlock.cpp slim-1.3.6/slimlock.cpp
+--- slim-1.3.6-orig/slimlock.cpp	2013-10-02 00:38:05.000000000 +0200
++++ slim-1.3.6/slimlock.cpp	2014-03-30 19:01:04.115414201 +0200
+@@ -106,13 +106,17 @@
+ 	unsigned int cfg_passwd_timeout;
+ 	// Read user's current theme
+ 	cfg = new Cfg;
+-	cfg->readConf(CFGFILE);
++	char *cfgfile = getenv("SLIM_CFGFILE");
++	if (!cfgfile) cfgfile = CFGFILE;
++	cfg->readConf(cfgfile);
+ 	cfg->readConf(SLIMLOCKCFG);
+ 	string themebase = "";
+ 	string themefile = "";
+ 	string themedir = "";
+ 	themeName = "";
+-	themebase = string(THEMESDIR) + "/";
++	char *themesdir = getenv("SLIM_THEMESDIR");
++	if (!themesdir) themesdir = THEMESDIR;
++	themebase = string(themesdir) + "/";
+ 	themeName = cfg->getOption("current_theme");
+ 	string::size_type pos;
+ 	if ((pos = themeName.find(",")) != string::npos) {
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
new file mode 100644
index 00000000000..51844f64179
--- /dev/null
+++ b/pkgs/applications/editors/atom/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
+, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
+, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xlibs
+}:
+
+let
+  atomEnv = buildEnv {
+    name = "env-atom";
+    paths = [
+      stdenv.gcc.gcc zlib glib dbus gtk atk pango freetype libgnome_keyring3
+      fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
+      xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
+      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes
+    ];
+  };
+in stdenv.mkDerivation rec {
+  name = "atom-${version}";
+  version = "0.99.0";
+
+  src = fetchurl {
+      url = https://github.com/hotice/webupd8/raw/master/atom-linux64-0.99.0~git20140525.tar.xz;
+      sha256 = "55c2415c96e1182ae1517751cbea1db64e9962683b384cfe5e182aec10aebecd";
+      name = "${name}.tar.xz";
+  };
+
+  iconsrc = fetchurl {
+    url = https://raw.githubusercontent.com/atom/atom/master/resources/atom.png;
+    sha256 = "66dc0b432eed7bcd738b7c1b194e539178a83d427c78f103041981f2b840e030";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "atom";
+    exec = "atom";
+    icon = iconsrc;
+    comment = "A hackable text editor for the 21st Century";
+    desktopName = "Atom";
+    genericName = "Text editor";
+    categories = "Development;TextEditor";
+  };
+
+  buildInputs = [ atomEnv makeWrapper ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/share/atom
+    mkdir -p $out/bin
+    tar -C $out/share/atom -xvf $src
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      $out/share/atom/atom
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      $out/share/atom/resources/app/apm/node_modules/atom-package-manager/bin/node
+    makeWrapper $out/share/atom/atom $out/bin/atom \
+      --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
+
+    # Create a desktop item.
+    mkdir -p "$out/share/applications"
+    cp "${desktopItem}"/share/applications/* "$out/share/applications/"  
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A hackable text editor for the 21st Century";
+    homepage = https://atom.io/;
+    license = [ licenses.mit ];
+    maintainers = [ maintainers.offline ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix
index 84b810bf460..e598fa19c5e 100644
--- a/pkgs/applications/editors/bvi/default.nix
+++ b/pkgs/applications/editors/bvi/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Hex editor with vim style keybindings";
     homepage = http://bvi.sourceforge.net/download.html;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix
new file mode 100644
index 00000000000..1bf4bb1f8e6
--- /dev/null
+++ b/pkgs/applications/editors/codeblocks/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk
+, contribPlugins ? false, hunspell, gamin, boost
+}:
+
+with { inherit (stdenv.lib) optionalString optional optionals; };
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}";
+  version = "13.12";
+  pname = "codeblocks";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}-1.tar.gz";
+    sha256 = "044njhps4cm1ijfdyr5f9wjyd0vblhrz9b4603ma52wcdq25093p";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk ]
+    ++ optionals contribPlugins [ hunspell gamin boost ];
+  enableParallelBuilding = true;
+  patches = [ ./writable-projects.patch ];
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
+  postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig";
+  configureFlags = [ "--enable-pch=no" ]
+    ++ optional contribPlugins "--with-contrib-plugins";
+
+  meta = with stdenv.lib; {
+    maintainers = [ maintainers.linquize ];
+    platforms = platforms.all;
+    description = "The open source, cross platform, free C, C++ and Fortran IDE";
+    longDescription =
+      ''
+        Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users.
+        It is designed to be very extensible and fully configurable.
+        Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.
+      '';
+    homepage = http://www.codeblocks.org;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/editors/codeblocks/writable-projects.patch b/pkgs/applications/editors/codeblocks/writable-projects.patch
new file mode 100644
index 00000000000..3b6364a52a1
--- /dev/null
+++ b/pkgs/applications/editors/codeblocks/writable-projects.patch
@@ -0,0 +1,18 @@
+diff --git a/src/plugins/scriptedwizard/wiz.cpp b/src/plugins/scriptedwizard/wiz.cpp
+index 0eb4b27..7d469fe 100644
+--- a/src/plugins/scriptedwizard/wiz.cpp
++++ b/src/plugins/scriptedwizard/wiz.cpp
+@@ -785,6 +785,13 @@ void Wiz::CopyFiles(cbProject* theproject, const wxString&  prjdir, const wxStri
+             }
+         }
+         if (do_copy) wxCopyFile(srcfile, dstfile, true);
++        // Noticed! Files in Nix Store are readonly, so make the copied file writable
++        if (do_copy)
++        {
++            struct stat statbuf;
++            if (!::stat(dstfile.mb_str(), &statbuf))
++                ::chmod(dstfile.mb_str(), statbuf.st_mode | 0200);
++        }
+ 
+         // and add it to the project
+         fname.MakeRelativeTo(prjdir);
diff --git a/pkgs/applications/editors/dhex/default.nix b/pkgs/applications/editors/dhex/default.nix
index 45b7de900e2..7a0e9e59d7e 100644
--- a/pkgs/applications/editors/dhex/default.nix
+++ b/pkgs/applications/editors/dhex/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
  
   installPhase = ''
-    ensureDir $out/bin
-    ensureDir $out/share/man/man1
-    ensureDir $out/share/man/man5
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+    mkdir -p $out/share/man/man5
 
     cp dhex $out/bin
     cp dhex.1 $out/share/man/man1
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index fe3c7424907..b32981ccb94 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, makeDesktopItem, makeWrapper
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper
 , freetype, fontconfig, libX11, libXext, libXrender, zlib
 , glib, gtk, libXtst, jre
 }:
@@ -23,7 +23,7 @@ let
         categories = "Application;Development;";
       };
 
-      buildInputs = [ makeWrapper patchelf ];
+      buildInputs = [ makeWrapper ];
 
       buildCommand = ''
         # Unpack tarball.
@@ -176,6 +176,22 @@ in {
         };
   };
 
+  eclipse_cpp_43 = buildEclipse {
+    name = "eclipse-cpp-4.3.2";
+    description = "Eclipse IDE for C/C++ Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/kepler/SR2/eclipse-cpp-kepler-SR2-linux-gtk-x86_64.tar.gz;
+          sha256 = "16zhjm6bx78263b1clg75kfiliahkhwg0k116vp9fj039nlpc30l";
+        }
+      else
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/kepler/SR2/eclipse-cpp-kepler-SR2-linux-gtk.tar.gz;
+          sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6";
+        };
+  };
+
   eclipse_sdk_421 = buildEclipse {
     name = "eclipse-sdk-4.2.1";
     description = "Eclipse Classic";
@@ -222,4 +238,19 @@ in {
     };
   };
 
+  eclipse_sdk_44 = buildEclipse {
+    name = "eclipse-sdk-4.4";
+    description = "Eclipse Classic";
+    sources = {
+      "x86_64-linux" = fetchurl {
+          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz;
+          sha256 = "14hdkijsjq0hhzi9ijpwjjkhz7wm0pry86l3dniy5snlh3l5bsb2";
+        };
+      "i686-linux" = fetchurl {
+          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk.tar.gz;
+          sha256 = "0hjc4zrsmik6vff851p0a4ydnx99840j2xrx8348kk6h0af8vx6z";
+        };
+    };
+  };
+
 }
diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index 3e22cfd0412..d3e9a4c4679 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "ed-1.7";
+  name = "ed-1.9";
 
   src = fetchurl {
     url = "mirror://gnu/ed/${name}.tar.gz";
-    sha256 = "0c908wb5pm48rjrrfbm5dhrqzys8f1dbvi90dn0vgwjzk80l2hl9";
+    sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym";
   };
 
   /* FIXME: Tests currently fail on Darwin:
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
       full-screen editors such as GNU Emacs or GNU Moe.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/ed/;
 
diff --git a/pkgs/applications/editors/emacs-23/builder.sh b/pkgs/applications/editors/emacs-23/builder.sh
deleted file mode 100644
index d04e7a4fdd3..00000000000
--- a/pkgs/applications/editors/emacs-23/builder.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-source $stdenv/setup
-
-# This hook is supposed to be run on Linux. It patches the proper locations of
-# the crt{1,i,n}.o files into the build to ensure that Emacs is linked with
-# *our* versions, not the ones found in the system, as it would do by default.
-# On other platforms, this appears to be unnecessary.
-preConfigure() {
-    case "${system}" in
-	x86_64-linux)	glibclibdir=lib64 ;;
-	i686-linux)	glibclibdir=lib ;;
-        *)              return;
-    esac
-
-    libc=$(cat ${NIX_GCC}/nix-support/orig-libc)
-    echo "libc: $libc"
-
-    for i in src/s/*.h src/m/*.h; do
-        substituteInPlace $i \
-            --replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
-            --replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
-            --replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \
-            --replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \
-            --replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
-            --replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
-    done
-
-    for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
-        substituteInPlace $i --replace /bin/pwd pwd
-    done
-}
-
-preBuild="make bootstrap"
-
-genericBuild
diff --git a/pkgs/applications/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix
deleted file mode 100644
index ab5c8e49e7f..00000000000
--- a/pkgs/applications/editors/emacs-23/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ stdenv, fetchurl, ncurses, x11, libXaw, libXpm, Xaw3d
-, pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
-, libtiff, librsvg, texinfo, gconf
-}:
-
-assert (gtk != null) -> (pkgconfig != null);
-assert (libXft != null) -> libpng != null;	# probably a bug
-assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
-
-stdenv.mkDerivation rec {
-  name = "emacs-23.4";
-
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = "mirror://gnu/emacs/${name}.tar.bz2";
-    sha256 = "1fc8x5p38qihg7l6z2b1hjc534lnjb8gqpwgywlwg5s3csg6ymr6";
-  };
-
-  buildInputs =
-    [ ncurses x11 texinfo libXaw Xaw3d libXpm libpng libjpeg libungif
-      libtiff librsvg libXft gconf
-    ]
-    ++ stdenv.lib.optionals (gtk != null) [ gtk pkgconfig ]
-    ++ stdenv.lib.optional stdenv.isLinux dbus;
-
-  configureFlags =
-    stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft"]
-
-    # On NixOS, help Emacs find `crt*.o'.
-    ++ stdenv.lib.optional (stdenv ? glibc)
-         [ "--with-crt-dir=${stdenv.glibc}/lib" ];
-
-  postInstall = ''
-    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
-;; nixos specific load-path
-(when (getenv "NIX_PROFILES") (setq load-path
-                      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                                               (split-string (getenv "NIX_PROFILES"))))
-                       load-path)))
-EOF
-  '';
-
-  doCheck = true;
-
-  meta = {
-    description = "GNU Emacs 23.x, the extensible, customizable text editor";
-
-    longDescription = ''
-      GNU Emacs is an extensible, customizable text editor—and more.  At its
-      core is an interpreter for Emacs Lisp, a dialect of the Lisp
-      programming language with extensions to support text editing.
-
-      The features of GNU Emacs include: content-sensitive editing modes,
-      including syntax coloring, for a wide variety of file types including
-      plain text, source code, and HTML; complete built-in documentation,
-      including a tutorial for new users; full Unicode support for nearly all
-      human languages and their scripts; highly customizable, using Emacs
-      Lisp code or a graphical interface; a large number of extensions that
-      add other functionality, including a project planner, mail and news
-      reader, debugger interface, calendar, and more.  Many of these
-      extensions are distributed with GNU Emacs; others are available
-      separately.
-    '';
-
-    homepage = http://www.gnu.org/software/emacs/;
-    license = "GPLv3+";
-
-    maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/applications/editors/emacs-24/darwin-new-sections.patch b/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
new file mode 100644
index 00000000000..dfd72fe3f51
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
@@ -0,0 +1,50 @@
+http://bazaar.launchpad.net/~naesten/emacs/nextstep-stuff/revision/108961
+
+diff -ru emacs-24.3-orig/src/unexmacosx.c emacs-24.3/src/unexmacosx.c
+--- emacs-24.3-orig/src/unexmacosx.c	2013-01-01 21:37:17.000000000 +0100
++++ emacs-24.3/src/unexmacosx.c	2014-08-09 18:39:52.000000000 +0200
+@@ -838,7 +838,7 @@
+ 	  if (!(sectp->addr <= (unsigned long)my_edata
+ 		&& my_size <= sectp->size))
+ 	    unexec_error ("my_edata is not in section %s", SECT_DATA);
+-	  if (!unexec_write (sectp->offset, (void *) sectp->addr, my_size))
++          if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
+ 	    unexec_error ("cannot write section %s", SECT_DATA);
+ 	  if (!unexec_copy (sectp->offset + my_size, old_file_offset + my_size,
+ 			    sectp->size - my_size))
+@@ -880,6 +880,27 @@
+ 	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
+ 	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
+ 	}
++      else if (strncmp (sectp->sectname, "__bss", 5) == 0
++	       || strncmp (sectp->sectname, "__pu_bss", 8) == 0)
++	{
++	  sectp->flags = S_REGULAR;
++	  
++	  /* These sections are produced by GCC 4.6+.
++
++	     FIXME: We possibly ought to clear uninitialized local
++	     variables in statically linked libraries like for
++	     SECT_BSS (__bss) above, but setting up the markers we
++	     need in lastfile.c would be rather messy.  See
++	     darwin_output_aligned_bss () in gcc/config/darwin.c for
++	     the root of the problem, keeping in mind that the
++	     sections are numbered by their alignment in GCC 4.6, but
++	     by log2(alignment) in GCC 4.7.  */
++
++	  if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
++	    unexec_error ("cannot copy section %.16s", sectp->sectname);
++	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
++	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
++	}
+       else if (strncmp (sectp->sectname, "__la_symbol_ptr", 16) == 0
+ 	       || strncmp (sectp->sectname, "__nl_symbol_ptr", 16) == 0
+ 	       || strncmp (sectp->sectname, "__got", 16) == 0
+@@ -891,6 +912,7 @@
+ 	       || strncmp (sectp->sectname, "__program_vars", 16) == 0
+ 	       || strncmp (sectp->sectname, "__mod_init_func", 16) == 0
+ 	       || strncmp (sectp->sectname, "__mod_term_func", 16) == 0
++	       || strncmp (sectp->sectname, "__static_data", 16) == 0
+ 	       || strncmp (sectp->sectname, "__objc_", 7) == 0)
+ 	{
+ 	  if (!unexec_copy (sectp->offset, old_file_offset, sectp->size))
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 18e263dae67..329fa3a5626 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, ncurses, x11, libXaw, libXpm, Xaw3d
 , pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
-, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
+, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, openssl
 , alsaLib, cairo
-, withX ? true
+, withX ? !stdenv.isDarwin, withGTK ? true
 }:
 
 assert (libXft != null) -> libpng != null;	# probably a bug
@@ -18,20 +18,24 @@ stdenv.mkDerivation rec {
     sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
   };
 
+  patches = [ ./darwin-new-sections.patch ];
+
   buildInputs =
-    [ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo ]
+    [ ncurses gconf libxml2 openssl alsaLib pkgconfig texinfo ]
     ++ stdenv.lib.optional stdenv.isLinux dbus
     ++ stdenv.lib.optionals withX
       [ x11 libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
-        imagemagick gtk ]
-    ++ stdenv.lib.optional stdenv.isDarwin cairo;
+        imagemagick gtk gconf ]
+    ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
 
   configureFlags =
-    ( if withX then 
+    ( if withX && withGTK then
         [ "--with-x-toolkit=gtk" "--with-xft"]
+      else (if withX then
+        [ "--with-x-toolkit=lucid" "--with-xft" ]
       else
         [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
-          "--with-gif=no" "--with-tiff=no" ] )
+          "--with-gif=no" "--with-tiff=no" ] ) )
     # On NixOS, help Emacs find `crt*.o'.
     ++ stdenv.lib.optional (stdenv ? glibc)
          [ "--with-crt-dir=${stdenv.glibc}/lib" ];
diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport.nix
new file mode 100644
index 00000000000..d9b32351040
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/macport.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  emacsName = "emacs-24.3";
+  name = "${emacsName}-mac-4.8";
+
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/emacs/${emacsName}.tar.xz";
+    sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
+  };
+
+  macportSrc = fetchurl {
+    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
+    sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
+  };
+
+  patches = [ ./darwin-new-sections.patch ];
+
+  buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
+
+  postUnpack = ''
+    mv $emacsName $name
+    tar xzf $macportSrc
+    mv $name $emacsName
+  '';
+
+  preConfigure = ''
+    patch -p0 < patch-mac
+
+    # The search for 'tputs' will fail because it's in ncursesw within the
+    # ncurses package, yet Emacs' configure script only looks in ncurses.
+    # Further, we need to make sure that the -L option occurs before mention
+    # of the library, so that it finds it within the Nix store.
+    sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
+    ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
+    sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
+    sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
+
+    configureFlagsArray=(
+      LDFLAGS=-L${ncurses}/lib
+      --with-xml2=yes
+      --with-gnutls=yes
+      --with-mac
+      --enable-mac-app=$out/Applications
+    )
+    makeFlagsArray=(
+      CFLAGS=-O3
+      LDFLAGS="-O3 -L${ncurses}/lib"
+    );
+  '';
+
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+    ;; nixos specific load-path
+    (when (getenv "NIX_PROFILES") (setq load-path
+                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                             (split-string (getenv "NIX_PROFILES"))))
+                    load-path)))
+
+    ;; make tramp work for NixOS machines
+    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+    EOF
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "GNU Emacs 24, the extensible, customizable text editor";
+    homepage    = http://www.gnu.org/software/emacs/;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      GNU Emacs is an extensible, customizable text editor—and more.  At its
+      core is an interpreter for Emacs Lisp, a dialect of the Lisp
+      programming language with extensions to support text editing.
+
+      The features of GNU Emacs include: content-sensitive editing modes,
+      including syntax coloring, for a wide variety of file types including
+      plain text, source code, and HTML; complete built-in documentation,
+      including a tutorial for new users; full Unicode support for nearly all
+      human languages and their scripts; highly customizable, using Emacs
+      Lisp code or a graphical interface; a large number of extensions that
+      add other functionality, including a project planner, mail and news
+      reader, debugger interface, calendar, and more.  Many of these
+      extensions are distributed with GNU Emacs; others are available
+      separately.
+
+      This is "Mac port" addition to GNU Emacs 24. This provides a native
+      GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
+      already contain the official GUI support via the NS (Cocoa) port for
+      Mac OS X 10.4 and later. So if it is good enough for you, then you
+      don't need to try this.
+    '';
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/auto-complete/default.nix b/pkgs/applications/editors/emacs-modes/auto-complete/default.nix
index 75f484d295b..40f172316ef 100644
--- a/pkgs/applications/editors/emacs-modes/auto-complete/default.nix
+++ b/pkgs/applications/editors/emacs-modes/auto-complete/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Auto-complete extension for Emacs";
     homepage = http://cx4a.org/software/auto-complete/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/bbdb/3.nix b/pkgs/applications/editors/emacs-modes/bbdb/3.nix
new file mode 100644
index 00000000000..556bf83fab7
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/bbdb/3.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, emacs }:
+
+stdenv.mkDerivation rec {
+  name = "bbdb-3.1.2";
+
+  src = fetchurl {
+    url = "http://download.savannah.gnu.org/releases/bbdb/${name}.tar.gz";
+    sha256 = "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05";
+  };
+
+  buildInputs = [ emacs ];
+
+  # Hack to disable documentation as there is no way to tell bbdb to
+  # NOT build pdfs. I really don't want to pull in TexLive here...
+  preConfigure = ''
+   substituteInPlace ./Makefile.in \
+     --replace "SUBDIRS = lisp doc tex" "SUBDIRS = lisp"
+  '';
+
+  meta = {
+    homepage = "http://savannah.nongnu.org/projects/bbdb/";
+    description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs, version 3";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/bbdb/default.nix b/pkgs/applications/editors/emacs-modes/bbdb/default.nix
index da92c38d078..ed96e689283 100644
--- a/pkgs/applications/editors/emacs-modes/bbdb/default.nix
+++ b/pkgs/applications/editors/emacs-modes/bbdb/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, emacs, texinfo, ctags}:
 
-stdenv.mkDerivation {
-  name = "bbdb-2.35";
+stdenv.mkDerivation rec {
+  name = "bbdb-2.36";
 
   src = fetchurl {
     # not using mirror:// because it produces a different file
-    url = http://bbdb.sourceforge.net/bbdb-2.35.tar.gz;
-    sha256 = "3fb1316e2ed74d47ca61187fada550e58797467bd9e8ad67343ed16da769f916";
+    url = "http://bbdb.sourceforge.net/${name}.tar.gz";
+    sha256 = "1rmw94l71ahfbynyy0bijfy488q9bl5ksl4zpvg7j9dbmgbh296r";
   };
 
   patches = [ ./install-infodir.patch ];
@@ -28,8 +28,8 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    homepage = "http://bbdb.sourceforge.net/";
     description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs";
-    homepage = http://bbdb.sourceforge.net/;
     license = "GPL";
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/calfw/default.nix b/pkgs/applications/editors/emacs-modes/calfw/default.nix
index 8934238ffa3..c173684fab4 100644
--- a/pkgs/applications/editors/emacs-modes/calfw/default.nix
+++ b/pkgs/applications/editors/emacs-modes/calfw/default.nix
@@ -16,17 +16,17 @@ stdenv.mkDerivation rec {
 
   installPhase =
     ''
-       ensureDir "$out/share/doc/${name}"
+       mkdir -p "$out/share/doc/${name}"
        cp -v readme.md "$out/share/doc/${name}"
 
-       ensureDir "$out/share/emacs/site-lisp/"
+       mkdir -p "$out/share/emacs/site-lisp/"
        cp *.el "$out/share/emacs/site-lisp/"
     '';
 
   meta = {
     description = "A calendar framework for Emacs";
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ chaoflow ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/applications/editors/emacs-modes/cedet/default.nix b/pkgs/applications/editors/emacs-modes/cedet/default.nix
index 779fc8a146e..e350dc08e71 100644
--- a/pkgs/applications/editors/emacs-modes/cedet/default.nix
+++ b/pkgs/applications/editors/emacs-modes/cedet/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       Development Environment), and COGRE (COnnected GRaph Editor).
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://cedet.sourceforge.net/;
   };
diff --git a/pkgs/applications/editors/emacs-modes/coffee/default.nix b/pkgs/applications/editors/emacs-modes/coffee/default.nix
index a0ba6143165..495b1aca4b5 100644
--- a/pkgs/applications/editors/emacs-modes/coffee/default.nix
+++ b/pkgs/applications/editors/emacs-modes/coffee/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Emacs major mode for CoffeeScript, unfancy JavaScript";
     homepage = https://github.com/defunkt/coffee-mode;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/color-theme/default.nix b/pkgs/applications/editors/emacs-modes/color-theme/default.nix
index bad277d61ce..a3d76a307c7 100644
--- a/pkgs/applications/editors/emacs-modes/color-theme/default.nix
+++ b/pkgs/applications/editors/emacs-modes/color-theme/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Emacs-lisp mode for skinning your Emacs";
     homepage = http://www.nongnu.org/color-theme;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/cryptol/default.nix b/pkgs/applications/editors/emacs-modes/cryptol/default.nix
new file mode 100644
index 00000000000..5b408ad7999
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/cryptol/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, emacs }:
+
+stdenv.mkDerivation rec {
+  name    = "cryptol-mode-${version}";
+  version = "0.1.0";
+
+  src = fetchurl {
+    url    = "https://github.com/thoughtpolice/cryptol-mode/archive/v${version}.tar.gz";
+    sha256 = "1qyrqvfgpg1nyk1clv7v94r3amm02613hrak5732xzn6iak81cc0";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Emacs major mode for Cryptol";
+    homepage    = "https://thoughtpolice/cryptol-mode";
+    license     = stdenv.lib.licenses.gpl3Plus;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/darcsum/darcs_context b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context
new file mode 100644
index 00000000000..7e9de1ed80b
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context
@@ -0,0 +1,7 @@
+
+Context:
+
+[TAG 1.3
+Simon Michael <simon@joyful.com>**20131103203640
+ Ignore-this: d12bac373e4aa0e5ffe6c390e1dfe269
+] 
diff --git a/pkgs/applications/editors/emacs-modes/darcsum/default.nix b/pkgs/applications/editors/emacs-modes/darcsum/default.nix
new file mode 100644
index 00000000000..349146dbdd8
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/darcsum/default.nix
@@ -0,0 +1,34 @@
+# To automatically load darcsum when needed, add the following to your emacs init file:
+#
+#   (autoload 'darcsum-changes "darcsum" nil t)
+#   (autoload 'darcsum-whatsnew "darcsum" nil t)
+#   (autoload 'darcsum-view "darcsum" nil t)
+#
+# (These lines were copied from 50darcsum.el in the darcsum repository.)
+
+
+{ fetchdarcs, stdenv }:
+
+stdenv.mkDerivation {
+  name = "darcsum-1.3";
+
+  src = fetchdarcs {
+    url = http://hub.darcs.net/simon/darcsum;
+    context = ./darcs_context;
+    sha256 = "18dyk2apmnjapd604a5njfqwjri1mc7lgjaajy9phicpibgdrwzh";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    install -d "$out/share/emacs/site-lisp"
+    install darcsum.el "$out/share/emacs/site-lisp"
+  '';
+
+  meta = {
+    description = "A pcl-cvs like interface for managing darcs patches.";
+    homepage = "http://hub.darcs.net/simon/darcsum";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.falsifian ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/ecb/default.nix b/pkgs/applications/editors/emacs-modes/ecb/default.nix
index 33f0299f5f0..807bb91f850 100644
--- a/pkgs/applications/editors/emacs-modes/ecb/default.nix
+++ b/pkgs/applications/editors/emacs-modes/ecb/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       navigation and overview.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://ecb.sourceforge.net/;
 
diff --git a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix
index 9db6e4cb736..af031a6e1a1 100644
--- a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix
@@ -1,4 +1,4 @@
-{ clangStdenv, fetchgit, llvm, clangUnwrapped }:
+{ clangStdenv, fetchgit, llvm, clang }:
 
 clangStdenv.mkDerivation {
   name = "emacs-clang-complete-async-20130218";
@@ -8,7 +8,7 @@ clangStdenv.mkDerivation {
     sha256 = "1c8zqi6axbsb951azz9iqx3j52j30nd9ypv396hvids3g02cirrf";
   };
 
-  buildInputs = [ llvm clangUnwrapped ];
+  buildInputs = [ llvm clang.clang ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -20,7 +20,6 @@ clangStdenv.mkDerivation {
   meta = {
     homepage = "https://github.com/Golevka/emacs-clang-complete-async";
     description = "An emacs plugin to complete C and C++ code using libclang";
-    license = "GPLv3+";
+    license = clangStdenv.lib.licenses.gpl3Plus;
   };
 }
-
diff --git a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
index e0373fca5df..26f313f038d 100644
--- a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
@@ -52,10 +52,10 @@ stdenv.mkDerivation rec {
       developed a simple Emacs interface to w3m.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://emacs-w3m.namazu.org/;
 
-    maintainers = [ ];
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/emms/default.nix b/pkgs/applications/editors/emacs-modes/emms/default.nix
index 5439ba9e4d6..a44be28399d 100644
--- a/pkgs/applications/editors/emacs-modes/emms/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emms/default.nix
@@ -64,9 +64,10 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/emms/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.unix;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/ess/default.nix b/pkgs/applications/editors/emacs-modes/ess/default.nix
index 4bd5148b950..46e20a58ee6 100644
--- a/pkgs/applications/editors/emacs-modes/ess/default.nix
+++ b/pkgs/applications/editors/emacs-modes/ess/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, emacs, texinfo }:
 
-stdenv.mkDerivation {
-  name = "ess-13.05";
+stdenv.mkDerivation rec {
+  name = "ess-13.09";
 
   src = fetchurl {
-    url = "http://ess.r-project.org/downloads/ess/ess-13.05.tgz";
-    sha256 = "007rd8hg1aclr2i8178ym5c4bi7vgmwkp802v1mkgr85h50zlfdk";
+    url = "http://ess.r-project.org/downloads/ess/${name}.tgz";
+    sha256 = "1lki3vb6p7cw98zqq0gaia68flpqrjkd6dcl85fs0cc8qf55yqnh";
   };
 
   buildInputs = [ emacs texinfo ];
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
     description = "Emacs Speaks Statistics";
     homepage = "http://ess.r-project.org/";
     license = stdenv.lib.licenses.gpl2Plus;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix
index 4b2692a5e22..eae338d241d 100644
--- a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix
+++ b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el";
-    sha256 = "1qqppd1786w8pl1avjb01n23lwihb7m0hr23abjklsxz03gmp4qz";
+    sha256 = "10cpzrd588ya52blghxss5zkn6x8hc7bx1h0qbcdlybbmkjgpkxr";
   };
 
   phases = [ "buildPhase" "installPhase"];
@@ -26,7 +26,5 @@ stdenv.mkDerivation rec {
     description = "Displays flymake error msg in minibuffer after delay";
     homepage = http://www.emacswiki.org/emacs/flymake-cursor.el;
     license = stdenv.lib.licenses.publicDomain;
-
-    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/gh/default.nix b/pkgs/applications/editors/emacs-modes/gh/default.nix
index 28773e97c40..dca84a7936d 100644
--- a/pkgs/applications/editors/emacs-modes/gh/default.nix
+++ b/pkgs/applications/editors/emacs-modes/gh/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A (very early) GitHub client library for Emacs";
     homepage = https://github.com/sigma/gh.el;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/gist/default.nix b/pkgs/applications/editors/emacs-modes/gist/default.nix
index 21a2137dd39..08471247f08 100644
--- a/pkgs/applications/editors/emacs-modes/gist/default.nix
+++ b/pkgs/applications/editors/emacs-modes/gist/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Emacs integration for gist.github.com";
     homepage = https://github.com/sigma/gist.el;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix
index a1e52e1c301..3f4b93dc638 100644
--- a/pkgs/applications/editors/emacs-modes/haskell/default.nix
+++ b/pkgs/applications/editors/emacs-modes/haskell/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, emacs, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "haskell-mode-13.07";
+  name = "haskell-mode-13.10";
 
   src = fetchurl {
-    url = "https://github.com/haskell/haskell-mode/archive/v13.07.tar.gz";
-    sha256 = "15c8ncj9mykkrizy1a8l94gq37s8hj13v3p5rgyaj9z0cwgl85kx";
+    url = "https://github.com/haskell/haskell-mode/archive/v13.10.tar.gz";
+    sha256 = "0hcg7wpalcdw8j36m8vd854zrrgym074r7m903rpwfrhx9mlg02b";
   };
 
   buildInputs = [ emacs texinfo ];
diff --git a/pkgs/applications/editors/emacs-modes/hol_light/default.nix b/pkgs/applications/editors/emacs-modes/hol_light/default.nix
index 24eba20be6c..c32669239f8 100644
--- a/pkgs/applications/editors/emacs-modes/hol_light/default.nix
+++ b/pkgs/applications/editors/emacs-modes/hol_light/default.nix
@@ -1,15 +1,12 @@
-{stdenv, fetchsvn}:
+{ stdenv, fetchsvn }:
 
-let
-  revision = "73";
-in
-
-stdenv.mkDerivation {
-  name = "hol_light_mode-${revision}";
+stdenv.mkDerivation rec {
+  name    = "hol_light-mode-${version}";
+  version = "73";
 
   src = fetchsvn {
     url = http://seanmcl-ocaml-lib.googlecode.com/svn/trunk/workshop/software/emacs;
-    rev = revision;
+    rev = version;
     sha256 = "3ca83098960439da149a47e1caff32536601559a77f04822be742a390c67feb7";
   };
 
@@ -20,6 +17,10 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A HOL Light mode for emacs";
+    description = "A HOL Light mode for Emacs";
+    homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
+    license     = stdenv.lib.licenses.gpl2Plus;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix
new file mode 100644
index 00000000000..28375dcb68d
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/idris/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, emacs }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "idris-mode";
+  version = "0.9.13.1";
+
+  src = fetchurl {
+    url = "https://github.com/idris-hackers/${pname}/archive/${version}.tar.gz";
+    sha256 = "0ymjbkwsq7qra691wyldw91xcdgrbx3468vvrha5jj92v7nwb8wx";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Emacs major mode for Idris";
+    homepage = https://github.com/idris-hackers/idris-mode;
+    license = stdenv.lib.licenses.gpl3;
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/jade/default.nix b/pkgs/applications/editors/emacs-modes/jade/default.nix
index ab0e3512ef2..925fa54c735 100644
--- a/pkgs/applications/editors/emacs-modes/jade/default.nix
+++ b/pkgs/applications/editors/emacs-modes/jade/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Emacs major mode for jade and stylus";
     homepage = https://github.com/brianc/jade-mode;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/jdee/default.nix b/pkgs/applications/editors/emacs-modes/jdee/default.nix
index b25d178d164..e47da7a4193 100644
--- a/pkgs/applications/editors/emacs-modes/jdee/default.nix
+++ b/pkgs/applications/editors/emacs-modes/jdee/default.nix
@@ -26,8 +26,8 @@ in
       mkdir -p "dist"
       cat > build.properties <<EOF
         dist.lisp.dir = dist/share/emacs/site-lisp
-        dist.java.lib.dir = dist/lib/java
-        dist.jar.jde.file = dist/lib/java/jde.jar
+        dist.java.lib.dir = dist/share/java
+        dist.jar.jde.file = dist/share/java/jde.jar
         dist.java.src.dir = dist/src/${name}/java
         dist.doc.dir  dist/doc/${name}
         prefix.dir = $out
@@ -40,7 +40,7 @@ in
       for i in "lisp/"*.el
       do
         sed -i "$i" -e "s|@out@|$out|g ;
-                        s|@javadir@|$out/lib/java|g ;
+                        s|@javadir@|$out/share/java|g ;
                         s|@datadir@|$out/share/${name}|g"
       done
     '';
@@ -55,7 +55,7 @@ in
 
       # Move everything that's not a JAR to $datadir.  This includes
       # `sun_checks.xml', license files, etc.
-      cd "$out/lib/java"
+      cd "$out/share/java"
       for i in *
       do
         if echo $i | grep -qv '\.jar''$'
@@ -89,9 +89,11 @@ in
         * Java source interpreter (Pat Neimeyer's BeanShell)
       '';
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
 
       maintainers = [ ];
       platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+      broken = true;
     };
   }
diff --git a/pkgs/applications/editors/emacs-modes/jdee/java-directory.patch b/pkgs/applications/editors/emacs-modes/jdee/java-directory.patch
index 53aa8edc6ea..ec03749daa6 100644
--- a/pkgs/applications/editors/emacs-modes/jdee/java-directory.patch
+++ b/pkgs/applications/editors/emacs-modes/jdee/java-directory.patch
@@ -14,7 +14,7 @@ Tell the elisp code about the right Java directory.
 -    (oset this bsh-cmd-dir (expand-file-name "bsh-commands" jde-java-directory))
 -    (oset this checkstyle-jar  (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))
 -    (oset this regexp-jar (expand-file-name "lib/jakarta-regexp.jar" jde-java-directory))
-+  (let ((jde-java-directory "@out@/lib/java"))
++  (let ((jde-java-directory "@out@/share/java"))
 +
 +    (oset this bsh-cmd-dir "@datadir@/bsh-commands")
 +    (oset this checkstyle-jar  (expand-file-name "checkstyle-all.jar" jde-java-directory))
@@ -38,7 +38,7 @@ Tell the elisp code about the right Java directory.
 -	  (concat
 -	   (jde-find-jde-data-directory)
 -	   "java/"))
-+	 (jde-java-directory "@out@/lib/java")
++	 (jde-java-directory "@out@/share/java")
  	 (args (append
  		(unless jde-checkstyle-expanded-properties-file
  		  (jde-checkstyle-get-property-args this))
@@ -67,7 +67,7 @@ Tell the elisp code about the right Java directory.
 -	     (jde-java-directory
 -	      (expand-file-name "java"
 -	       (jde-find-jde-data-directory)))
-+	     (jde-java-directory "@out@/lib/java")
++	     (jde-java-directory "@out@/share/java")
  	     (vm-args 
  		(let (args)
  		  (setq args 
diff --git a/pkgs/applications/editors/emacs-modes/js2/default.nix b/pkgs/applications/editors/emacs-modes/js2/default.nix
index cbd88330434..47e62a281fb 100644
--- a/pkgs/applications/editors/emacs-modes/js2/default.nix
+++ b/pkgs/applications/editors/emacs-modes/js2/default.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchgit, emacs }:
 
 stdenv.mkDerivation {
-  name = "js2-mode-0-20120712";
+  name = "js2-mode-0-20140114";
 
   src = fetchgit {
     url = "git://github.com/mooz/js2-mode.git";
-    rev = "f8cb9c52614e0a8e477f1ac557585ed950246c9b";
-    sha256 = "37055b7e8c1d9eee6b86f6b9b9d74ad196cc43701bc2263ffd539a3e44025047";
+    sha256 = "dbdc07b864a9506a21af445c7fb1c75fbffadaac980ee7bbf752470d8054bd65";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/logito/default.nix b/pkgs/applications/editors/emacs-modes/logito/default.nix
index 09161ec8067..a47f04472ec 100644
--- a/pkgs/applications/editors/emacs-modes/logito/default.nix
+++ b/pkgs/applications/editors/emacs-modes/logito/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "tiny logging framework for Emacs";
     homepage = https://github.com/sigma/logito;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix b/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix
index 72086e54fec..b75c51d3bd7 100644
--- a/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix
+++ b/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Insert dummy pseudo Latin text for Emacs";
     homepage = http://www.emacswiki.org/emacs/LoremIpsum;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix
index 4e2601cc106..076caf5235b 100644
--- a/pkgs/applications/editors/emacs-modes/magit/default.nix
+++ b/pkgs/applications/editors/emacs-modes/magit/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://github.com/magit/magit";
     description = "Magit, an Emacs interface to Git";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
       With Magit, you can inspect and modify your Git repositories with
diff --git a/pkgs/applications/editors/emacs-modes/maude/default.nix b/pkgs/applications/editors/emacs-modes/maude/default.nix
index b6b043fb7b8..57c2b2890be 100644
--- a/pkgs/applications/editors/emacs-modes/maude/default.nix
+++ b/pkgs/applications/editors/emacs-modes/maude/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Emacs mode for the programming language Maude";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
diff --git a/pkgs/applications/editors/emacs-modes/metaweblog/default.nix b/pkgs/applications/editors/emacs-modes/metaweblog/default.nix
new file mode 100644
index 00000000000..77bfedf6274
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/metaweblog/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, emacs, xmlRpc }:
+
+stdenv.mkDerivation rec {
+  name = "metaweblog-0.1";
+
+  src = fetchgit {
+    url = https://github.com/punchagan/metaweblog.git;
+    rev = "ceda65048afaa4c7596c7f50ced998c59ef41167";
+    sha256 = "a4c10bb1b4be574e560f87d5f07da4e24e5fffe9ecc83e6d4f9325f3a7eb1e2f";
+  };
+
+  buildInputs = [ emacs ];
+  propagatedUserEnvPkgs = [ xmlRpc ];
+
+  buildPhase = ''
+    emacs -L . -L ${xmlRpc}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el* $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "an emacs library to access metaweblog based weblogs";
+    homepage = https://github.com/punchagan/metaweblog;
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/ocaml/default.nix b/pkgs/applications/editors/emacs-modes/ocaml/default.nix
index 1d81a0b7ff1..9e4496ff1a4 100644
--- a/pkgs/applications/editors/emacs-modes/ocaml/default.nix
+++ b/pkgs/applications/editors/emacs-modes/ocaml/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     cd emacs;
-    ensureDir "$out/share/emacs/site-lisp" "$out/bin"
+    mkdir -p "$out/share/emacs/site-lisp" "$out/bin"
     EMACSDIR=$out/share/emacs/site-lisp make simple-install install-ocamltags
   '';
 
diff --git a/pkgs/applications/editors/emacs-modes/offlineimap/default.nix b/pkgs/applications/editors/emacs-modes/offlineimap/default.nix
new file mode 100644
index 00000000000..d94da4f88d9
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/offlineimap/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, emacs }:
+
+stdenv.mkDerivation rec {
+  rev = "646482203aacdf847d57d0a96263fddcfc33fb61";
+  name = "emacs-offlineimap-${rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "git://git.naquadah.org/offlineimap-el.git";
+    sha256 = "0az4llfgva4wvpljyc5s2m7ggfnj06ssp32x8bncr5fzksha3r7b";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    substituteInPlace offlineimap.el --replace "Machine.MachineUI" "machineui"
+    emacs --batch -f batch-byte-compile offlineimap.el
+    install -d $out/share/emacs/site-lisp
+    install offlineimap.el offlineimap.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "OfflineIMAP support for Emacs";
+    homepage = "http://julien.danjou.info/projects/emacs-packages#offlineimap";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index ad2bd2f0ba6..d5a7b0ded8a 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -1,15 +1,16 @@
-{ fetchurl, stdenv, emacs, texinfo, which, texLive }:
+{ fetchurl, stdenv, emacs, texinfo, which, texLive, texLiveCMSuper
+, texLiveAggregationFun }:
 
 stdenv.mkDerivation rec {
-  name = "org-8.2.1";
+  name = "org-8.2.7c";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "625e2b6786158bcf6c43194075f7638ab8048c68a60025289a051c407e467823";
+    sha256 = "0qqf58xqw1kkgjxm9z40s6h7xd209rx3933klla22lryv3yclc1k";
   };
 
   buildInputs = [ emacs ];
-  nativeBuildInputs = [ texinfo texLive ];
+  nativeBuildInputs = [ (texLiveAggregationFun { paths=[ texinfo texLive texLiveCMSuper ]; }) ];
 
   configurePhase =
     '' sed -i mk/default.mk \
@@ -41,9 +42,9 @@ stdenv.mkDerivation rec {
          than that found in GNU Emacs.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ chaoflow ];
-    platforms = stdenv.lib.platforms.gnu;
+    maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/org2blog/default.nix b/pkgs/applications/editors/emacs-modes/org2blog/default.nix
index e72560be8f4..5c1aec7e02b 100644
--- a/pkgs/applications/editors/emacs-modes/org2blog/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org2blog/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchgit, emacs, xmlRpc }:
+{ stdenv, fetchgit, emacs, org, xmlRpc, metaweblog }:
 
 stdenv.mkDerivation rec {
-  name = "org2blog-0.5";
+  name = "org2blog-0.8.1";
 
   src = fetchgit {
     url = https://github.com/punchagan/org2blog.git;
-    rev = "338abe30e9bc89684f8384f8deaf826b63844da6";
-    sha256 = "46ab31e90d0d54071c126b7d5599a3e82062baa79ddf26b988bcb88d306d6827";
+    rev = "5f573ff3e4007c16517a5fe28c4f5d8dde3f8a77";
+    sha256 = "e83c08ceece92bb507be70046db4a7fa87a4af34ad3f84a727e0bd6a1dd99a33";
   };
 
   buildInputs = [ emacs ];
-  propagatedUserEnvPkgs = [ xmlRpc ];
+  propagatedUserEnvPkgs = [ org xmlRpc metaweblog ];
 
   buildPhase = ''
-    emacs -L . -L ${xmlRpc}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+    emacs -L . -L ${org}/share/emacs/site-lisp/org \
+               -L ${xmlRpc}/share/emacs/site-lisp \
+               -L ${metaweblog}/share/emacs/site-lisp \
+               --batch -f batch-byte-compile *.el
   '';
 
   installPhase = ''
@@ -24,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Publish directly from Emacs’ org-mode to WordPress blogs";
     homepage = https://github.com/punchagan/org2blog;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/pcache/default.nix b/pkgs/applications/editors/emacs-modes/pcache/default.nix
index c0aa0772678..f4dcf03dee8 100644
--- a/pkgs/applications/editors/emacs-modes/pcache/default.nix
+++ b/pkgs/applications/editors/emacs-modes/pcache/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Persistent caching for Emacs";
     homepage = https://github.com/sigma/pcache.el;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix
new file mode 100644
index 00000000000..c026d058b4e
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
+
+stdenv.mkDerivation (rec {
+  name = "ProofGeneral-4.2";
+
+  src = fetchurl {
+    url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.2.tgz;
+    sha256 = "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm";
+  };
+
+  sourceRoot = name;
+
+  buildInputs = [ emacs texinfo texLive perl which ];
+
+  prePatch =
+    '' sed -i "Makefile" \
+           -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
+               s|/sbin/install-info|install-info|g"
+
+
+       # Workaround for bug #458
+       # ProofGeneral 4.2 byte-compilation fails with Emacs 24.2.90
+       # http://proofgeneral.inf.ed.ac.uk/trac/ticket/458
+       sed -i "Makefile" \
+       	   -e "s|(setq byte-compile-error-on-warn t)||g"
+
+       sed -i "bin/proofgeneral" -e's/which/type -p/g'
+
+       # @image{ProofGeneral} fails, so remove it.
+       sed -i '94d' doc/PG-adapting.texi
+       sed -i '101d' doc/ProofGeneral.texi
+    '';
+
+  preBuild = ''
+    make clean;
+  '';
+
+  installPhase =
+    # Copy `texinfo.tex' in the right place so that `texi2pdf' works.
+    '' cp -v "${automake}/share/"automake-*/texinfo.tex doc
+       make install install-doc
+    '';
+
+  meta = {
+    description = "Proof General, an Emacs front-end for proof assistants";
+    longDescription = ''
+      Proof General is a generic front-end for proof assistants (also known as
+      interactive theorem provers), based on the customizable text editor Emacs.
+    '';
+    homepage = http://proofgeneral.inf.ed.ac.uk;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;  # arbitrary choice
+  };
+})
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
new file mode 100644
index 00000000000..3a492dc0c7f
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
+
+stdenv.mkDerivation (rec {
+  name = "ProofGeneral-4.3pre131011";
+
+  src = fetchurl {
+    url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.3pre131011.tgz;
+    sha256 = "0104iy2xik5npkdg9p2ir6zqyrmdc93azrgm3ayvg0z76vmnb816";
+  };
+
+  sourceRoot = name;
+
+  buildInputs = [ emacs texinfo texLive perl which ];
+
+  prePatch =
+    '' sed -i "Makefile" \
+           -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
+               s|/sbin/install-info|install-info|g"
+
+
+       sed -i "bin/proofgeneral" -e's/which/type -p/g'
+
+       # @image{ProofGeneral} fails, so remove it.
+       sed -i '94d' doc/PG-adapting.texi
+       sed -i '96d' doc/ProofGeneral.texi
+    '';
+
+  preBuild = ''
+    make clean;
+  '';
+
+  installPhase =
+    # Copy `texinfo.tex' in the right place so that `texi2pdf' works.
+    '' cp -v "${automake}/share/"automake-*/texinfo.tex doc
+       make install install-doc
+    '';
+
+  meta = {
+    description = "Proof General, an Emacs front-end for proof assistants";
+    longDescription = ''
+      Proof General is a generic front-end for proof assistants (also known as
+      interactive theorem provers), based on the customizable text editor Emacs.
+    '';
+    homepage = http://proofgeneral.inf.ed.ac.uk;
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.unix;  # arbitrary choice
+  };
+})
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
deleted file mode 100644
index 3f974423fd7..00000000000
--- a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
-
-stdenv.mkDerivation (rec {
-  name = "ProofGeneral-4.2";
-
-  src = fetchurl {
-    url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.2.tgz;
-    sha256 = "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm";
-  };
-
-  sourceRoot = name;
-
-  buildInputs = [ emacs texinfo texLive perl which ];
-
-  prePatch =
-    '' sed -i "Makefile" \
-           -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
-               s|/sbin/install-info|install-info|g"
-
-
-       # Workaround for bug #458 
-       # ProofGeneral 4.2 byte-compilation fails with Emacs 24.2.90
-       # http://proofgeneral.inf.ed.ac.uk/trac/ticket/458
-       sed -i "Makefile" \
-       	   -e "s|(setq byte-compile-error-on-warn t)||g"
-
-       sed -i "bin/proofgeneral" -e's/which/type -p/g'
-
-       # @image{ProofGeneral} fails, so remove it.
-       sed -i '94d' doc/PG-adapting.texi
-       sed -i '101d' doc/ProofGeneral.texi
-    '';
-
-  preBuild = ''
-    make clean;
-  '';
-
-  installPhase =
-    # Copy `texinfo.tex' in the right place so that `texi2pdf' works.
-    '' cp -v "${automake}/share/"automake-*/texinfo.tex doc
-       make install install-doc
-    '';
-
-  meta = {
-    description = "Proof General, an Emacs front-end for proof assistants";
-    longDescription = ''
-      Proof General is a generic front-end for proof assistants (also known as
-      interactive theorem provers), based on the customizable text editor Emacs.
-    '';
-    homepage = http://proofgeneral.inf.ed.ac.uk;
-    license = "GPLv2+";
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-})
diff --git a/pkgs/applications/editors/emacs-modes/quack/default.nix b/pkgs/applications/editors/emacs-modes/quack/default.nix
index bef1ebe5859..95634a24ded 100644
--- a/pkgs/applications/editors/emacs-modes/quack/default.nix
+++ b/pkgs/applications/editors/emacs-modes/quack/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Enhanced Emacs support for editing and running Scheme code";
     homepage = http://www.neilvandyke.org/quack/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/rect-mark/default.nix b/pkgs/applications/editors/emacs-modes/rect-mark/default.nix
index 896dbdac71b..1f218439a5f 100644
--- a/pkgs/applications/editors/emacs-modes/rect-mark/default.nix
+++ b/pkgs/applications/editors/emacs-modes/rect-mark/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Mark a rectangle of text with highlighting";
     homepage = http://emacswiki.org/emacs/RectangleMark;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/remember/default.nix b/pkgs/applications/editors/emacs-modes/remember/default.nix
index ea17a9b792a..7c0bc517755 100644
--- a/pkgs/applications/editors/emacs-modes/remember/default.nix
+++ b/pkgs/applications/editors/emacs-modes/remember/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://gna.org/projects/remember-el/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/sbt-mode/default.nix b/pkgs/applications/editors/emacs-modes/sbt-mode/default.nix
new file mode 100644
index 00000000000..092026aca88
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/sbt-mode/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, emacs, unzip }:
+
+stdenv.mkDerivation {
+
+  name = "sbt-mode-2014-06-05";
+
+  src = fetchurl {
+    url = "https://github.com/hvesalai/sbt-mode/archive/676f22d9658989de401d299ed0250db9b911574d.zip";
+    sha256 = "0b8qrr3yp48ggl757d3a6bz633mbf4zxqpcwsh47b1ckiwa3nb2h";
+  };
+
+  buildInputs = [ unzip emacs ];
+
+  installPhase = ''
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp -v *.el *.elc "$out/share/emacs/site-lisp/"
+  '';
+
+  meta = {
+    homepage = "https://github.com/hvesalai/scala-mode2";
+    description = "An Emacs mode for editing Scala code";
+    license = "permissive";
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/default.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v1.nix
index f82d467066a..f82d467066a 100644
--- a/pkgs/applications/editors/emacs-modes/scala-mode/default.nix
+++ b/pkgs/applications/editors/emacs-modes/scala-mode/v1.nix
diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
new file mode 100644
index 00000000000..13d3f4b00d1
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, emacs, unzip }:
+
+stdenv.mkDerivation {
+
+  name = "scala-mode2-2014-06-05";
+
+  src = fetchurl {
+    url = "https://github.com/hvesalai/scala-mode2/archive/af2dc30226c890ff7d49d727450f8006b90781df.zip";
+    sha256 = "1jj08li9lfg5291jzj170wa3cmyf3g2a0j80cy5307l0mdawp9vx";
+  };
+
+  buildInputs = [ unzip emacs ];
+
+  installPhase = ''
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp -v *.el *.elc "$out/share/emacs/site-lisp/"
+  '';
+
+  meta = {
+    homepage = "https://github.com/hvesalai/scala-mode2";
+    description = "An Emacs mode for editing Scala code";
+    license = "permissive";
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
new file mode 100644
index 00000000000..a9c2478d451
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
@@ -0,0 +1,23 @@
+{ cabal, emacs, haskellMode, haskellSrcExts }:
+
+cabal.mkDerivation (self: {
+  pname = "structured-haskell-mode";
+  version = "1.0.3";
+  sha256 = "0axmw8bj51q8v0wd4jp6giw9dnv0mp7kp8yd16s4nm4hcqgrh5h2";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrcExts haskellMode ];
+  buildTools = [ emacs ];
+  postInstall = ''
+    emacs -L elisp -L ${haskellMode}/share/emacs/site-lisp \
+      --batch -f batch-byte-compile "elisp/"*.el
+    install -d $out/share/emacs/site-lisp
+    install "elisp/"*.el "elisp/"*.elc  $out/share/emacs/site-lisp
+  '';
+  meta = {
+    homepage = "https://github.com/chrisdone/structured-haskell-mode";
+    description = "Structured editing Emacs mode for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
index e942189714e..aa27e302e5d 100644
--- a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
+++ b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Two-pane file manager for Emacs based on Dired and inspired by MC";
     homepage = http://www.emacswiki.org/emacs/Sunrise_Commander;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/emacs-modes/tuareg/default.nix b/pkgs/applications/editors/emacs-modes/tuareg/default.nix
index 17957ffc276..3fd592f3dba 100644
--- a/pkgs/applications/editors/emacs-modes/tuareg/default.nix
+++ b/pkgs/applications/editors/emacs-modes/tuareg/default.nix
@@ -15,7 +15,7 @@ in stdenv.mkDerivation {
   buildInputs = [ emacs ];
 
   installPhase = ''
-    ensureDir "$out/share/emacs/site-lisp"
+    mkdir -p "$out/share/emacs/site-lisp"
     cp *.el *.elc  "$out/share/emacs/site-lisp"
   '';
 
diff --git a/pkgs/applications/editors/emacs-modes/writegood/default.nix b/pkgs/applications/editors/emacs-modes/writegood/default.nix
new file mode 100644
index 00000000000..d196c3fee80
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/writegood/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "2.0";
+
+in stdenv.mkDerivation {
+  name = "writegood-mode-${version}";
+  src = fetchurl {
+    url = "https://github.com/bnbeckwith/writegood-mode/archive/v${version}.tar.gz";
+    sha256 = "0wf7bj9d00ggy3xigym885a3njfr98i3aqrrawf8x6lgbfc56dgp";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Emacs minor mode that aids in finding common writing problems";
+    homepage = https://github.com/bnbeckwith/writegood-mode;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.pSub ];
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix b/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix
index cee0f0ca553..661430516b7 100644
--- a/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix
+++ b/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Elisp implementation of clientside XML-RPC";
     homepage = https://launchpad.net/xml-rpc-el;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index 15605218b74..d9f62216fac 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, fltk13, ghostscript}:
 
 stdenv.mkDerivation {
-  name = "flpsed-0.7.0";
+  name = "flpsed-0.7.1";
 
   src = fetchurl {
-    url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.0.tar.gz";
-    sha1 = "7966fd3b6fb3aa2a376386533ed4421ebb66ad62";
+    url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.1.tar.gz";
+    sha256 = "16i3mjc1cdx2wiwfhnv3z2ywmjma9785vwl3l31izx9l51w7ngj3";
   };
 
   buildInputs = [ fltk13 ghostscript ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     description = "WYSIWYG PostScript annotator";
     homepage = "http://http://flpsed.org/flpsed.html";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index e7c8e276d27..d7ed048cdaa 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
 
 let
-  version = "1.23";
+  version = "1.23.1";
 in
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "1c78rggjaz9fa8gj25wka1sa3argvixnzrarmqvwh0s8d5ragm6d";
+    sha256 = "1bcgjxywggsljs9kq22kr9xpzrq5xr7pb9d1b71rwryqb5pb25c8";
   };
 
   buildInputs = [ gtk2 which pkgconfig intltool ];
diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix
index 4d48ba69086..5ef19874531 100644
--- a/pkgs/applications/editors/gobby/default.nix
+++ b/pkgs/applications/editors/gobby/default.nix
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://gobby.0x539.de/;
     description = "A GTK-based collaborative editor supporting multiple documents in one session and a multi-user chat";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/editors/hexedit/default.nix b/pkgs/applications/editors/hexedit/default.nix
index 07985dc214a..ee9f44d06da 100644
--- a/pkgs/applications/editors/hexedit/default.nix
+++ b/pkgs/applications/editors/hexedit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "hexedit-${version}";
-  version = "1.2.12";
+  version = "1.2.13";
 
   src = fetchurl {
     url = "http://rigaux.org/${name}.src.tgz";
-    sha256 = "bcffbf3d128516cc4e1da64485866fbb5f62754f2af8327e7a527855186ba10f";
+    sha256 = "1mwdp1ikk64cqmagnrrps5jkn3li3n47maiqh2qc1xbp1ains4ka";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
new file mode 100644
index 00000000000..e5cfbcdfe17
--- /dev/null
+++ b/pkgs/applications/editors/idea/default.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, jdk
+, coreutils, gnugrep, which, git
+}:
+
+let
+
+  buildIdea =
+  { name, version, build, src, description, license }:
+
+  stdenv.mkDerivation rec {
+    inherit name build src;
+    ideaItem = makeDesktopItem {
+      name = "IDEA";
+      exec = "idea";
+      comment = "Integrated Development Environment";
+      desktopName = "IntelliJ IDEA";
+      genericName = "Integrated Development Environment";
+      categories = "Application;Development;";
+    };
+
+    buildInputs = [ makeWrapper patchelf p7zip ];
+
+    buildCommand = ''
+      tar xvzf $src
+      mkdir -p $out
+      cp -a idea-$build $out
+
+      interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+
+      7z x $out/idea-$build/lib/snappy-java-1.0.5.jar
+      rm $out/idea-$build/lib/snappy-java-1.0.5.jar
+      if [ "${stdenv.system}" == "x86_64-linux" ];then
+        patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier64
+        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ org/xerial/snappy/native/Linux/amd64/libsnappyjava.so
+      else
+        patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier
+        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ org/xerial/snappy/native/Linux/i386/libsnappyjava.so
+      fi
+      7z a -tzip $out/idea-$build/lib/snappy-java-1.0.5.jar .
+
+      mkdir -p $out/bin
+
+      jdk=${jdk}/lib/openjdk
+
+      makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \
+        --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \
+        --prefix LD_RUN_PATH : ${stdenv.gcc.gcc}/lib/ \
+        --prefix JDK_HOME : $jdk \
+        --prefix IDEA_JDK : $jdk
+
+        mkdir -p $out/share/applications
+        cp "${ideaItem}/share/applications/"* $out/share/applications
+        patchShebangs $out
+    '';
+
+    meta = {
+      homepage = http://www.jetbrains.com/idea/;
+      inherit description;
+      inherit license;
+      maintainers = [ stdenv.lib.maintainers.edwtjo ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+in {
+
+  idea_community = buildIdea rec {
+    name = "idea-community-${version}";
+    version = "13.1.3";
+    build = "IC-135.909";
+    description = "IntelliJ IDEA 13 Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
+      sha256 = "62ed937ef68df16eef4d32772b6510835527f95020db1c76643f17ed2c067b51";
+    };
+  };
+
+  idea_ultimate = buildIdea rec {
+    name = "idea-ultimate-${version}";
+    version = "13.1.3";
+    build = "IU-135.909";
+    description = "IntelliJ IDEA 13 Ultimate Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
+      sha256 = "6d99e49a63a197e19381a85535ab424a7832653db8cceb3bca7d53615ec7a53d";
+    };
+  };
+
+}
diff --git a/pkgs/applications/editors/idea/pycharm.nix b/pkgs/applications/editors/idea/pycharm.nix
new file mode 100644
index 00000000000..6a2064549bb
--- /dev/null
+++ b/pkgs/applications/editors/idea/pycharm.nix
@@ -0,0 +1,115 @@
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, jdk
+, coreutils, gnugrep, which, git, python
+}:
+
+let
+
+  buildPycharm =
+  { name, version, build, src, description, license }:
+
+  stdenv.mkDerivation rec {
+    inherit name build src;
+    desktopItem = makeDesktopItem {
+      name = "pycharm";
+      exec = "pycharm";
+      comment = "Powerful Python and Django IDE";
+      desktopName = "PyCharm";
+      genericName = "Powerful Python and Django IDE";
+      categories = "Application;Development;";
+      icon = "pycharm";
+    };
+
+    buildInputs = [ makeWrapper patchelf p7zip ];
+
+    propagatedUserEnvPkgs = [ python ];
+
+    patchPhase = ''
+      interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)"
+      snappyPath="lib/snappy-java-1.0.5"
+
+      7z x -o"$snappyPath" "$snappyPath.jar"
+      if [ "${stdenv.system}" == "x86_64-linux" ]; then
+        patchelf --set-interpreter "$interpreter" bin/fsnotifier64
+        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ "$snappyPath/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so"
+      else
+        patchelf --set-interpreter "$interpreter" bin/fsnotifier
+        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ "$snappyPath/org/xerial/snappy/native/Linux/i386/libsnappyjava.so"
+      fi
+      7z a -tzip "$snappyPath.jar" ./"$snappyPath"/*
+      rm -vr "$snappyPath"
+    '';
+
+    installPhase = ''
+      mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
+      cp -va . "$out/$name"
+      ln -s "$out/$name/bin/pycharm.png" "$out/share/pixmaps/"
+
+      jdk="${jdk}/lib/openjdk"
+      makeWrapper "$out/$name/bin/pycharm.sh" "$out/bin/pycharm" \
+        --prefix PATH : "${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
+        --prefix LD_RUN_PATH : "${stdenv.gcc.gcc}/lib/" \
+        --prefix JDK_HOME : "$jdk" \
+        --prefix PYCHARM_JDK : "$jdk"
+
+      cp -a "${desktopItem}"/* "$out"
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = "https://www.jetbrains.com/pycharm/";
+      inherit description;
+      inherit license;
+      maintainers = [ maintainers.jgeerds ];
+      platforms = platforms.linux;
+    };
+  };
+
+in {
+
+  pycharm-community-313 = buildPycharm rec {
+    name = "pycharm-community-${version}";
+    version = "3.1.3";
+    build = "133.1347";
+    description = "PyCharm 3.1 Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "f671ee4c99207c179f168b5b98fa23afe90a94c3a3914367b95a46b0c2881b23";
+    };
+  };
+
+  pycharm-community-341 = buildPycharm rec {
+    name = "pycharm-community-${version}";
+    version = "3.4.1";
+    build = "135.1057";
+    description = "PyCharm 3.4 Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "96427b1e842e7c09141ec4d3ede627c5ca7d821c0d6c98169b56a34f9035ef64";
+    };
+  };
+
+  pycharm-professional-313 = buildPycharm rec {
+    name = "pycharm-professional-${version}";
+    version = "3.1.3";
+    build = "133.1347";
+    description = "PyCharm 3.1 Professional Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "e0c2db8f18cb825a95de6ddc4b0b9f93c5643bf34cca9f1b3c2fa37fd7c14f11";
+    };
+  };
+
+  pycharm-professional-341 = buildPycharm rec {
+    name = "pycharm-professional-${version}";
+    version = "3.4.1";
+    build = "135.1057";
+    description = "PyCharm 3.4 Professional Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "e4f85f3248e8985ac9f8c326543f979b47ba1d7ac6b128a2cf2b3eb8ec545d2b";
+    };
+  };
+}
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index efaf719c7c4..8a57f650fb4 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, ant, jre }:
+{ stdenv, fetchurl, ant, jdk }:
+
+let version = "4.4.2"; in
 
 stdenv.mkDerivation {
-  name = "jedit-4.4.2";
+  name = "jedit-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/jedit/jedit4.4.2source.tar.bz2;
+    url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
     sha256 = "5e9ad9c32871b77ef0b9fe46dcfcea57ec52558d36113b7280194a33430b8ceb";
   };
 
-  setSourceRoot = ''
-    sourceRoot=jEdit
-  '';
+  buildInputs = [ ant jdk ];
 
-  buildPhase = ''
-     ant build
-  '';
+  sourceRoot = "jEdit";
+
+  buildPhase = "ant build";
 
   installPhase = ''
     mkdir -p $out/share/jEdit
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     cp -r macros/* $out/share/jEdit/macros
     mkdir -p $out/share/jEdit/doc
     cp -r doc/* $out/share/jEdit/doc
-    
+
     sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
     mkdir -p $out/share/applications
     mv package-files/linux/deb/jedit.desktop $out/share/applications/jedit.desktop
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
     patch package-files/linux/jedit << EOF
     5a6,8
     > # specify the correct JAVA_HOME
-    > JAVA_HOME=${jre}
+    > JAVA_HOME=${jdk.jre}/lib/openjdk/jre
     > 
     EOF
     sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
@@ -44,9 +44,7 @@ stdenv.mkDerivation {
     chmod +x $out/bin/jedit
   '';
 
-  buildInputs = [ ant ];
-
-  meta = { 
+  meta = {
     description = "Mature programmer's text editor (Java based)";
     homepage = http://www.jedit.org;
     license = "GPL";
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index 14f9c1eb0d4..b815b052347 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -1,28 +1,20 @@
 { stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info,
-  kdebase_workspace, gettext, perl, okteta }:
+  kdebase_workspace, gettext, perl, okteta, qjson }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "4.3.1";
+  version = "4.6.0";
   pname = "kdevelop";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0015hv39rqhyq1w6jw65lx7ls4l5pc3a2asvd5zsd65831vrfxxs";
+    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
+    sha256 = "1ee9e7b8c46f575dd29d920cfd6284130f2e738a2e1f52dfd97b075fab2e4c73";
   };
 
-  buildInputs = [ kdevplatform kdebase_workspace okteta ];
+  buildInputs = [ kdevplatform kdebase_workspace okteta qjson ];
 
   nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
 
-  patches =
-    [ ( fetchurl {
-        url = https://git.reviewboard.kde.org/r/105211/diff/raw/;
-        name = "okteta-0.9.patch"; # fixes build with KDE-4.9.x
-        sha256 = "1mvqhw7jr1vi66l3jgam3slyfafcvwy4g3iapfi69dpfnzhmcxl0";
-      } )
-    ];
-
   NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/leksah/default.nix b/pkgs/applications/editors/leksah/default.nix
deleted file mode 100644
index 86f0106ed05..00000000000
--- a/pkgs/applications/editors/leksah/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ cabal, binary, binaryShared, Cabal, deepseq, enumerator, filepath
-, gio, glib, gtk, gtksourceview2, hslogger, leksahServer, ltk, mtl
-, network, parsec, QuickCheck, regexBase, regexTdfa, strict, text
-, time, transformers, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "leksah";
-  version = "0.12.1.3";
-  sha256 = "1w61wnd0nq9iqh0pwn9dz3m4qn3m0zasv0m3ki4k7plcdrmkqb3y";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    binary binaryShared Cabal deepseq enumerator filepath gio glib gtk
-    gtksourceview2 hslogger leksahServer ltk mtl network parsec
-    QuickCheck regexBase regexTdfa strict text time transformers
-    utf8String
-  ];
-  testDepends = [ Cabal QuickCheck ];
-  noHaddock = true;
-  meta = {
-    homepage = "http://www.leksah.org";
-    description = "Haskell IDE written in Haskell";
-    license = "GPL";
-    platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix
new file mode 100644
index 00000000000..b5ab1950e2b
--- /dev/null
+++ b/pkgs/applications/editors/lighttable/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
+, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
+, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xlibs, udev
+}:
+
+let
+  libPath = stdenv.lib.makeLibraryPath [
+      stdenv.gcc.gcc zlib glib dbus gtk atk pango freetype libgnome_keyring3 nss
+      fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gnome3.gconf
+      xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
+      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes
+];
+in
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "LightTable-${version}";
+  version = "0.6.7";
+
+  src = 
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        name = "LightTableLinux.tar.gz";
+        url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux.tar.gz;
+        sha256 = "3b09f9665ed1b4abb7c1ca16286ac7222caf6dc124059be6db4cb9f5fd041e73";
+      }
+    else
+      fetchurl {
+        name = "LightTableLinux64.tar.gz";
+        url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux64.tar.gz;
+        sha256 = "710d670ccc30aadba521ccb723388679ee6404aac662297a005432c811d59e82";
+      };
+
+  buildInputs = [ makeWrapper ];
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    tar xvf ${src}
+    mkdir -p $out/bin
+    mv LightTable $out/
+
+    patchelf \
+      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+      $out/LightTable/ltbin
+
+    ln -s ${udev}/lib/libudev.so.1 $out/LightTable/libudev.so.0
+
+    makeWrapper $out/LightTable/ltbin $out/bin/lighttable \
+      --prefix "LD_LIBRARY_PATH" : $out/LightTable
+  '';
+
+  meta = with stdenv.lib; {
+    description = "the next generation code editor";
+    homepage = http://www.lighttable.com/;
+    license = [ licenses.gpl3 ];
+  };
+}
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 15cdadb04f5..caea8758d95 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation (rec {
   pname = "nano";
-  version = "2.2.6";
+  version = "2.3.6";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.gz";
-    sha256 = "0yp6pid67k8h7394spzw0067fl2r7rxm2b6kfccg87g8nlry2s5y";
+    sha256 = "a74bf3f18b12c1c777ae737c0e463152439e381aba8720b4bc67449f36a09534";
   };
 
   buildInputs = [ ncurses gettext ];
 
+  configureFlags = "sysconfdir=/etc";
+
   meta = {
     homepage = http://www.nano-editor.org/;
     description = "A small, user-friendly console text editor";
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index f1fd9adbe86..5a2afebdd5c 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -11,10 +11,10 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "netbeans-7.2";
+  name = "netbeans-7.4";
   src = fetchurl {
-    url = http://download.netbeans.org/netbeans/7.2/final/zip/netbeans-7.2-201207171143-ml.zip;
-    sha256 = "18ya1w291hdnc35vb12yqnai82wmqm7351wn82fax12kzha5fmci";
+    url = http://download.netbeans.org/netbeans/7.4/final/zip/netbeans-7.4-201310111528.zip;
+    sha256 = "0nrnghnsdix5cmp86xi1gmvarhjk2k8mlbld3dfa9impm8gpv6mx";
   };
   buildCommand = ''
     # Unpack and copy the stuff
@@ -25,7 +25,9 @@ stdenv.mkDerivation {
     # Create a wrapper capable of starting it
     mkdir -p $out/bin
     makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \
-      --prefix PATH : ${jdk}/bin:${which}/bin
+      --prefix PATH : ${jdk}/bin:${which}/bin \
+      --prefix JAVA_HOME : ${jdk}/lib/openjdk \
+      --add-flags "--jdkhome ${jdk}/lib/openjdk"
       
     # Create desktop item, so we can pick it from the KDE/GNOME menu
     mkdir -p $out/share/applications
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
new file mode 100644
index 00000000000..234ee1f065e
--- /dev/null
+++ b/pkgs/applications/editors/scite/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, gtk }:
+
+let
+  version = "3.3.7";
+
+  version_short = stdenv.lib.replaceChars [ "." ] [ "" ] "${version}";
+in stdenv.mkDerivation {
+  name = "scite-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/scintilla/SciTE/${version}/scite${version_short}.tgz";
+    sha256 = "0x7i6yxq50frsjkrp3lc5zy0d1ssq2n91igjn0dmqajpg7kls2dd";
+  };
+
+  buildInputs = [ pkgconfig gtk ];
+  sourceRoot = "scintilla/gtk";
+
+  buildPhase = ''
+    make
+    cd ../../scite/gtk
+    make prefix=$out/
+  '';
+
+  installPhase = ''
+    make install prefix=$out/
+  '';
+
+  meta = {
+    homepage = "http://www.scintilla.org/SciTE.html";
+    description = "SCIntilla based Text Editor";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = stdenv.lib.maintainers.rszibele;
+  };
+}
diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/default.nix
index cfa44d9285c..0c967e05ba1 100644
--- a/pkgs/applications/editors/sublime/default.nix
+++ b/pkgs/applications/editors/sublime/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     mv Sublime* $out/sublime
     ln -s $out/sublime/sublime_text $out/bin/sublime
+    ln -s $out/sublime/sublime_text $out/bin/sublime2
 
     echo ${libPath}
     patchelf \
@@ -34,6 +35,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Sophisticated text editor for code, markup and prose";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
new file mode 100644
index 00000000000..3ef557cef4b
--- /dev/null
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -0,0 +1,62 @@
+{ fetchurl, stdenv, glib, xlibs, cairo, gtk, pango, makeWrapper}:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+let
+  build = "3059";
+  libPath = stdenv.lib.makeLibraryPath [glib xlibs.libX11 gtk cairo pango];
+in let
+  # package with just the binaries
+  sublime = stdenv.mkDerivation {
+    name = "sublimetext3-${build}-bin";
+
+    src =
+      if stdenv.system == "i686-linux" then
+        fetchurl {
+          name = "sublimetext-3.0.59.tar.bz2";
+          url = "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_${build}_x32.tar.bz2";
+          sha256 = "5ee7b42b5db057108e97b86fd408124fc3f7b56662b2851f59d91f8f0c288088";
+        }
+      else
+        fetchurl {
+          name = "sublimetext-3.0.59.tar.bz2";
+          url = "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_${build}_x64.tar.bz2";
+          sha256 = "da3039687664d33a734cea0151b2291ece9c7f35e5b73df5b2b5eac28a20b972";
+        };
+
+    dontStrip = true;
+    dontPatchELF = true;
+    buildInputs = [ makeWrapper ];
+
+    buildPhase = ''
+      for i in sublime_text plugin_host crash_reporter; do
+        patchelf \
+          --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+          $i
+      done
+    '';
+
+    installPhase = ''
+      mkdir -p $out
+      cp -prvd * $out/
+      # Without this, plugin_host crashes, even though it has the rpath
+      wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1
+    '';
+  };
+in stdenv.mkDerivation {
+  name = "sublimetext3-${build}";
+
+  phases = [ "installPhase" ];
+  installPhase = ''
+    mkdir -p $out/bin
+    ln -s ${sublime}/sublime_text $out/bin/sublime
+    ln -s ${sublime}/sublime_text $out/bin/sublime3
+  '';
+
+  meta = {
+    description = "Sophisticated text editor for code, markup and prose";
+    maintainers = stdenv.lib.maintainers.wmertens;
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index 1c6d86a2f3d..ce863312251 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
          collaborative authoring are planned for later.
       '';
     homepage = http://texmacs.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix
new file mode 100644
index 00000000000..16335a55065
--- /dev/null
+++ b/pkgs/applications/editors/texmaker/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, qt4, popplerQt4, zlib, pkgconfig, poppler}:
+
+stdenv.mkDerivation rec {
+  pname = "texmaker";
+  version = "4.1.1";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://www.xm1math.net/texmaker/${name}.tar.bz2";
+    sha256 = "1h5rxdq6f05wk3lnlw96fxwrb14k77cx1mwy648127h2c8nsgw4z";
+  };
+
+  buildInputs = [ qt4 popplerQt4 zlib ];
+
+  nativeBuildInputs = [ pkgconfig poppler ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${poppler}/include/poppler/) " # for poppler-config.h
+    qmake PREFIX=$out DESKTOPDIR=$out/share/applications ICONDIR=$out/share/pixmaps texmaker.pro
+  '';
+
+  meta = with stdenv.lib; {
+    description = "TeX and LaTeX editor";
+    longDescription=''
+	This editor is a full fledged IDE for TeX and
+	LaTeX editing with completion, structure viewer, preview,
+	spell checking and support of any compilation chain.
+	'';
+    homepage = "http://www.xm1math.net/texmaker/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cfouche ];
+  };
+}
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
new file mode 100644
index 00000000000..cd7f0b78c23
--- /dev/null
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, qt4, popplerQt4, zlib}:
+
+stdenv.mkDerivation rec {
+  pname = "texstudio";
+  version = "2.7.0";
+  name = "${pname}-${version}";
+  altname="Texstudio";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/texstudio/${name}.tar.gz";
+    sha256 = "167d78nfk265jjvl129nr70v8ladb2rav2qyhw7ngr6m54gak831";
+  };
+
+  buildInputs = [ qt4 popplerQt4 zlib ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${popplerQt4}/include/poppler/qt4) "
+    qmake PREFIX=$out texstudio.pro
+  '';
+
+  meta = with stdenv.lib; {
+    description = "TeX and LaTeX editor";
+    longDescription=''
+	Fork of TeXMaker, this editor is a full fledged IDE for 
+	LaTeX editing with completion, structure viewer, preview,
+	spell checking and support of any compilation chain.
+	'';
+    homepage = "http://texstudio.sourceforge.net/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cfouche ];
+  };
+}
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 789ddcc1039..710ceb7d31f 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -1,9 +1,35 @@
 # TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
 # but I have gvim with python support now :) - Marc
-args@{source ? "default", ...}: with args;
-
-
-let inherit (args.composableDerivation) composableDerivation edf; in
+args@{pkgs, source ? "default", ...}: with args;
+
+
+let inherit (args.composableDerivation) composableDerivation edf;
+  nixosRuntimepath = pkgs.writeText "nixos-vimrc" ''
+    set nocompatible
+    syntax on
+
+    function! NixosPluginPath()
+      let seen = {}
+      for p in reverse(split($NIX_PROFILES))
+        for d in split(glob(p . '/share/vim-plugins/*'))
+          let pluginname = substitute(d, ".*/", "", "")
+          if !has_key(seen, pluginname)
+            exec 'set runtimepath^='.d
+            let seen[pluginname] = 1
+          endif
+        endfor
+      endfor
+    endfunction
+
+    execute NixosPluginPath()
+
+    if filereadable("/etc/vimrc")
+      source /etc/vimrc
+    elseif filereadable("/etc/vim/vimrc")
+      source /etc/vim/vimrc
+    endif
+  '';
+in
 composableDerivation {
   # use gccApple to compile on darwin
   mkDerivation = ( if stdenv.isDarwin
@@ -11,18 +37,20 @@ composableDerivation {
                    else stdenv ).mkDerivation;
 } (fix: {
 
-    name = "vim_configurable-7.4.23";
+    name = "vim_configurable-7.4.335";
 
     enableParallelBuilding = true; # test this
 
-    src = 
+    src =
       builtins.getAttr source {
       "default" =
         # latest release
-        args.fetchurl {
-            url = ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2;
-            sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh";
-          };
+      args.fetchhg {
+            url = "https://vim.googlecode.com/hg/";
+            rev = "v7-4-335";
+            sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
+      };
+
       "vim-nox" =
           {
             # vim nox branch: client-server without X by uing sockets
@@ -33,16 +61,13 @@ composableDerivation {
           }.src;
       };
 
+    prePatch = "cd src";
+
     # if darwin support is enabled, we want to make sure we're not building with
     # OS-installed python framework
-    preConfigure
-      = stdenv.lib.optionalString
-        (stdenv.isDarwin && (config.vim.darwin or true)) ''
-          # TODO: we should find a better way of doing this as, if the configure
-          # file changes, we need to change these line numbers
-          sed -i "5641,5644d" src/auto/configure
-          sed -i "5648d" src/auto/configure
-        '';
+    patches = stdenv.lib.optionals
+      (stdenv.isDarwin && (config.vim.darwin or true))
+      [ ./python_framework.patch ];
 
     configureFlags
       = [ "--enable-gui=${args.gui}" "--with-features=${args.features}" ];
@@ -51,16 +76,6 @@ composableDerivation {
       = [ ncurses pkgconfig gtk libX11 libXext libSM libXpm libXt libXaw libXau
           libXmu glib libICE ];
 
-    prePatch = "cd src";
-    
-    patches =
-      [ ./patches/7.4.001 ./patches/7.4.002 ./patches/7.4.003 ./patches/7.4.004
-        ./patches/7.4.005 ./patches/7.4.006 ./patches/7.4.007 ./patches/7.4.008
-        ./patches/7.4.009 ./patches/7.4.010 ./patches/7.4.011 ./patches/7.4.012
-        ./patches/7.4.013 ./patches/7.4.014 ./patches/7.4.015 ./patches/7.4.016
-        ./patches/7.4.017 ./patches/7.4.018 ./patches/7.4.019 ./patches/7.4.020
-        ./patches/7.4.021 ./patches/7.4.022 ./patches/7.4.023 ];
-
     # most interpreters aren't tested yet.. (see python for example how to do it)
     flags = {
         ftNix = {
@@ -93,7 +108,17 @@ composableDerivation {
 
       // edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
       // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
-      // edf { name = "lua" ; feat = "luainterp"; enable = { nativeBuildInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};}
+      // edf {
+        name = "lua";
+        feat = "luainterp";
+        enable = {
+          nativeBuildInputs = [lua];
+          configureFlags = [
+            "--with-lua-prefix=${args.lua}"
+            "--enable-luainterp"
+          ];
+        };
+      }
       // edf { name = "cscope"; } #Include cscope interface.
       // edf { name = "workshop"; } #Include Sun Visual Workshop support.
       // edf { name = "netbeans"; } #Disable NetBeans integration support.
@@ -108,6 +133,7 @@ composableDerivation {
       ;
 
   cfg = {
+    luaSupport       = config.vim.lua or true;
     pythonSupport    = config.vim.python or true;
     rubySupport      = config.vim.ruby or true;
     nlsSupport       = config.vim.nls or false;
@@ -145,6 +171,8 @@ composableDerivation {
     echo $nativeBuildInputs
     echo $rpath
     patchelf --set-rpath $rpath $out/bin/{vim,gvim}
+
+    ln -sfn ${nixosRuntimepath} $out/share/vim/vimrc
   '';
 
   dontStrip = 1;
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index a2672b5c0d6..95f654eb8ca 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, ncurses, gettext, pkgconfig }:
+{ stdenv, fetchhg, ncurses, gettext, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  patchLevel = "23";
-  name       = "vim-7.4.${patchLevel}";
- 
-  src = fetchurl {
-    url    = "ftp://ftp.vim.org/pub/vim/unix/${name}.tar.bz2";
-    sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh";
+  name = "vim-${version}";
+
+  version = "7.4.335";
+
+  src = fetchhg {
+    url = "https://vim.googlecode.com/hg/";
+    rev = "v7-4-335";
+    sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
   };
 
   enableParallelBuilding = true;
- 
+
   buildInputs = [ ncurses pkgconfig ];
   nativeBuildInputs = [ gettext ];
 
@@ -44,16 +46,6 @@ stdenv.mkDerivation rec {
   #   sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure
   # '';
 
-  prePatch = "cd src";
-  
-  patches =
-    [ ./patches/7.4.001 ./patches/7.4.002 ./patches/7.4.003 ./patches/7.4.004
-      ./patches/7.4.005 ./patches/7.4.006 ./patches/7.4.007 ./patches/7.4.008
-      ./patches/7.4.009 ./patches/7.4.010 ./patches/7.4.011 ./patches/7.4.012
-      ./patches/7.4.013 ./patches/7.4.014 ./patches/7.4.015 ./patches/7.4.016
-      ./patches/7.4.017 ./patches/7.4.018 ./patches/7.4.019 ./patches/7.4.020
-      ./patches/7.4.021 ./patches/7.4.022 ./patches/7.4.023 ];
-
   meta = with stdenv.lib; {
     description = "The most popular clone of the VI editor";
     homepage    = http://www.vim.org;
diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch
index 4b5a742dac1..ed508784813 100644
--- a/pkgs/applications/editors/vim/ft-nix-support.patch
+++ b/pkgs/applications/editors/vim/ft-nix-support.patch
@@ -23,7 +23,7 @@ new file mode 100644
 index 0000000..a2f9918
 --- /dev/null
 +++ b/runtime/syntax/nix.vim
-@@ -0,0 +1,40 @@
+@@ -0,0 +1,47 @@
 +" Vim syntax file
 +" Language:	nix
 +" Maintainer:	Marc Weber <marco-oweber@gmx.de>
@@ -38,15 +38,16 @@ index 0000000..a2f9918
 +  finish
 +endif
 +
-+syn keyword	nixKeyword	let throw inherit import true false null with
++syn keyword	nixKeyword	let in rec assert inherit import true false null with ...
++syn keyword	nixBuiltin	import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation
 +syn keyword	nixConditional	if else then
 +syn keyword     nixBrace        ( ) { } =
 +syn keyword     nixBuiltin         __currentSystem __currentTime __isFunction __getEnv __trace __toPath __pathExists 
 +  \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList 
 +  \ __head __tail __add __sub __lessThan __substring __stringLength
 +
-+syn match nixAttr "\w\+\ze\s*="
-+syn match nixFuncArg "\zs\w\+\ze\s*:"
++syn match nixAttr "[a-zA-Z0-9-_]\+\ze\s*="
++syn match nixFuncArg "\zs[a-zA-Z0-9-_]\+\ze\s*:"
 +syn region nixStringParam start=+\${+ end=+}+
 +syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
 +syn match  nixEndOfLineComment "#.*$"
@@ -54,6 +55,7 @@ index 0000000..a2f9918
 +syn region nixString         start=+"+ skip=+\\"+ end=+"+ contains=nixStringParam
 +
 +hi def link nixKeyword       Keyword
++hi def link nixBuiltin       Function
 +hi def link nixConditional   Conditional
 +hi def link nixBrace         Special
 +hi def link nixString        String
@@ -64,3 +66,10 @@ index 0000000..a2f9918
 +hi def link nixEndOfLineComment Comment
 +hi def link nixAttr        Identifier
 +hi def link nixFuncArg     Identifier
++
++let b:current_syntax = "nix"
++
++" scan backwards to find begining of multiline statements
++syn sync ccomment nixMultiLineComment minlines=10 maxlines=500
++syn sync ccomment nixStringIndented minlines=10 maxlines=500
++syn sync ccomment nixString maxlines=10
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
new file mode 100644
index 00000000000..feafa7b9977
--- /dev/null
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -0,0 +1,93 @@
+{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
+  pkgconfig, cscope, python, ruby, tcl, perl, luajit
+}:
+
+let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
+in mkDerivation rec {
+  name = "macvim-${version}";
+
+  version = "7.4.355";
+
+  src = fetchFromGitHub {
+    owner = "genoma";
+    repo = "macvim";
+    rev = "c18a61f9723565664ffc2eda9179e96c95860e25";
+    sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    gettext ncurses pkgconfig luajit ruby tcl perl python
+  ];
+
+  patches = [ ./macvim.patch ];
+
+  postPatch = ''
+    substituteInPlace src/MacVim/mvim --replace "# VIM_APP_DIR=/Applications" "VIM_APP_DIR=$out/Applications"
+
+    # Don't create custom icons.
+    substituteInPlace src/MacVim/icons/Makefile --replace '$(MAKE) -C makeicns' ""
+    substituteInPlace src/MacVim/icons/make_icons.py --replace "dont_create = False" "dont_create = True"
+
+    # Full path to xcodebuild
+    substituteInPlace src/Makefile --replace "xcodebuild" "/usr/bin/xcodebuild"
+  '';
+
+  configureFlags = [
+      #"--enable-cscope" # TODO: cscope doesn't build on Darwin yet
+      "--enable-fail-if-missing"
+      "--with-features=huge"
+      "--enable-gui=macvim"
+      "--enable-multibyte"
+      "--enable-nls"
+      "--enable-luainterp=dynamic"
+      "--enable-pythoninterp=dynamic"
+      "--enable-perlinterp=dynamic"
+      "--enable-rubyinterp=dynamic"
+      "--enable-tclinterp=yes"
+      "--with-luajit"
+      "--with-lua-prefix=${luajit}"
+      "--with-ruby-command=${ruby}/bin/ruby"
+      "--with-tclsh=${tcl}/bin/tclsh"
+      "--with-tlib=ncurses"
+      "--with-compiledby=Nix"
+  ];
+
+  preConfigure = ''
+    DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
+    configureFlagsArray+=(
+      "--with-developer-dir=$DEV_DIR"
+    )
+  '';
+
+  postInstall = ''
+    mkdir -p $out/Applications
+    cp -r src/MacVim/build/Release/MacVim.app $out/Applications
+
+    rm $out/bin/{Vimdiff,Vimtutor,Vim,ex,rVim,rview,view}
+
+    cp src/MacVim/mvim $out/bin
+    cp src/vimtutor $out/bin
+
+    for prog in "vimdiff" "vi" "vim" "ex" "rvim" "rview" "view"; do
+      ln -s $out/bin/mvim $out/bin/$prog
+    done
+
+    # Fix rpaths
+    exe="$out/Applications/MacVim.app/Contents/MacOS/Vim"
+    libperl=$(dirname $(find ${perl} -name "libperl.dylib"))
+    install_name_tool -add_rpath ${luajit}/lib $exe
+    install_name_tool -add_rpath ${tcl}/lib $exe
+    install_name_tool -add_rpath ${python}/lib $exe
+    install_name_tool -add_rpath $libperl $exe
+    install_name_tool -add_rpath ${ruby}/lib $exe
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Vim - the text editor - for Mac OS X";
+    homepage    = https://github.com/b4winckler/macvim;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch
new file mode 100644
index 00000000000..a789b9952d2
--- /dev/null
+++ b/pkgs/applications/editors/vim/macvim.patch
@@ -0,0 +1,189 @@
+diff --git a/src/MacVim/MacVim.xcodeproj/project.pbxproj b/src/MacVim/MacVim.xcodeproj/project.pbxproj
+index 1c5ff47..677a2cc 100644
+--- a/src/MacVim/MacVim.xcodeproj/project.pbxproj
++++ b/src/MacVim/MacVim.xcodeproj/project.pbxproj
+@@ -437,6 +437,8 @@
+ /* Begin PBXProject section */
+ 		29B97313FDCFA39411CA2CEA /* Project object */ = {
+ 			isa = PBXProject;
++			attributes = {
++			};
+ 			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MacVim" */;
+ 			compatibilityVersion = "Xcode 2.4";
+ 			developmentRegion = English;
+@@ -632,6 +634,7 @@
+ 				INSTALL_PATH = "$(HOME)/Applications";
+ 				MACOSX_DEPLOYMENT_TARGET = "";
+ 				ONLY_ACTIVE_ARCH = YES;
++				OTHER_LDFLAGS = "-headerpad_max_install_names";
+ 				PRODUCT_NAME = MacVim;
+ 				VERSIONING_SYSTEM = "apple-generic";
+ 				WARNING_CFLAGS = "-Wall";
+@@ -662,6 +665,7 @@
+ 				INSTALL_PATH = "$(HOME)/Applications";
+ 				MACOSX_DEPLOYMENT_TARGET = "";
+ 				ONLY_ACTIVE_ARCH = YES;
++				OTHER_LDFLAGS = "-headerpad_max_install_names";
+ 				PRODUCT_NAME = MacVim;
+ 				VERSIONING_SYSTEM = "apple-generic";
+ 				WRAPPER_EXTENSION = app;
+
+diff --git a/src/vimtutor b/src/vimtutor
+index 70d9ec7..b565a1a 100755
+--- a/src/vimtutor
++++ b/src/vimtutor
+@@ -16,7 +16,7 @@ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
+ if test "$1" = "-g"; then 
+   # Try to use the GUI version of Vim if possible, it will fall back
+   # on Vim if Gvim is not installed.
+-  seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
++  seq="mvim gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
+   shift
+ fi
+ 
+
+diff --git a/src/auto/configure b/src/auto/configure
+index bc9f074..9b9125e 100755
+--- a/src/auto/configure
++++ b/src/auto/configure
+@@ -2252,7 +2252,7 @@ rm -f conftest.val
+   as_fn_set_status $ac_retval
+ 
+ } # ac_fn_c_compute_int
+-cat >auto/config.log <<_ACEOF
++cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+ 
+@@ -2262,7 +2262,7 @@ generated by GNU Autoconf 2.69.  Invocation command line was
+   $ $0 $@
+ 
+ _ACEOF
+-exec 5>>auto/config.log
++exec 5>>config.log
+ {
+ cat <<_ASUNAME
+ ## --------- ##
+@@ -5377,10 +5377,7 @@ $as_echo "no" >&6; }
+   fi
+ 
+   if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
+-    if test "x$MACOSX" = "xyes"; then
+-      MZSCHEME_LIBS="-framework Racket"
+-      MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
+-    elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
++    if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
+       MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
+       MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
+     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
+@@ -5716,23 +5713,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
+   fi
+ 
+   if test "x$MACOSX" = "xyes"; then
+-        dir=/System/Library/Perl
+-    darwindir=$dir/darwin
+-    if test -d $darwindir; then
+-      PERL=/usr/bin/perl
+-    else
+-            dir=/System/Library/Perl/5.8.1
+-      darwindir=$dir/darwin-thread-multi-2level
+-      if test -d $darwindir; then
+-	PERL=/usr/bin/perl
+-      fi
+-    fi
+-    if test -n "$PERL"; then
+-      PERL_DIR="$dir"
+-      PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE"
+-      PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a"
+-      PERL_LIBS="-L$darwindir/CORE -lperl"
+-    fi
+                 PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
+     PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
+   fi
+@@ -5926,10 +5906,6 @@ __:
+ eof
+ 	    	    eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
+ 	    rm -f -- "${tmp_mkf}"
+-	    if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
+-		"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
+-	      vi_cv_path_python_plibs="-framework Python"
+-	    else
+ 	      if test "${vi_cv_var_python_version}" = "1.4"; then
+ 		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
+ 	      else
+@@ -5937,7 +5913,6 @@ eof
+ 	      fi
+ 	      vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
+ 	      	      vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
+-	    fi
+ 
+ fi
+ 
+@@ -6004,13 +5979,6 @@ rm -f core conftest.err conftest.$ac_objext \
+ $as_echo "no" >&6; }
+ 	fi
+ 
+-                                if test -n "$MACSDK"; then
+-          PYTHON_CFLAGS=
+-          PYTHON_LIBS=-framework Python
+-          PYTHON_CONFDIR=
+-          PYTHON_GETPATH_CFLAGS=
+-        fi
+-
+ 			{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5
+ $as_echo_n "checking if compile and link flags for Python are sane... " >&6; }
+ 	cflags_save=$CFLAGS
+@@ -6853,11 +6821,7 @@ $as_echo "$tclver - OK" >&6; };
+ 
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5
+ $as_echo_n "checking for location of Tcl include... " >&6; }
+-      if test "x$MACOSX" != "xyes"; then
+ 	tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
+-      else
+-		tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
+-      fi
+       TCL_INC=
+       for try in $tclinc; do
+ 	if test -f "$try/tcl.h"; then
+@@ -6875,12 +6839,8 @@ $as_echo "<not found>" >&6; }
+       if test -z "$SKIP_TCL"; then
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5
+ $as_echo_n "checking for location of tclConfig.sh script... " >&6; }
+-	if test "x$MACOSX" != "xyes"; then
+ 	  tclcnf=`echo $tclinc | sed s/include/lib/g`
+ 	  tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
+-	else
+-	  	  tclcnf="/System/Library/Frameworks/Tcl.framework"
+-	fi
+ 	for try in $tclcnf; do
+ 	  if test -f $try/tclConfig.sh; then
+ 	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
+@@ -7050,10 +7010,6 @@ $as_echo "$rubyhdrdir" >&6; }
+ 	if test -f "$rubylibdir/$librubya"; then
+ 	  librubyarg="$librubyarg"
+ 	  RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
+-        elif test -d "/System/Library/Frameworks/Ruby.framework"; then
+-                        RUBY_LIBS="-framework Ruby"
+-                        RUBY_CFLAGS="-DRUBY_VERSION=$rubyversion"
+-            librubyarg=
+ 	fi
+ 
+ 	if test "X$librubyarg" != "X"; then
+@@ -14061,7 +14017,7 @@ fi
+ 
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+-exec 5>>auto/config.log
++exec 5>>config.log
+ {
+   echo
+   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+@@ -14653,7 +14609,7 @@ if test "$no_create" != yes; then
+     ac_config_status_args="$ac_config_status_args --quiet"
+   exec 5>/dev/null
+   $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+-  exec 5>>auto/config.log
++  exec 5>>config.log
+   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+   # would make configure fail if this is the last instruction.
+   $ac_cs_success || as_fn_exit 1
diff --git a/pkgs/applications/editors/vim/patches/7.4.001 b/pkgs/applications/editors/vim/patches/7.4.001
deleted file mode 100644
index 5788972a569..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.001
+++ /dev/null
@@ -1,489 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.001
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.001
-Problem:    Character classes such as [a-z] to not react to 'ignorecase'.
-	    Breaks man page highlighting. (Mario Grgic)
-Solution:   Add separate items for classes that react to 'ignorecase'.  Clean
-	    up logic handling character classes.  Add more tests.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.000/src/regexp_nfa.c	2013-08-01 18:27:51.000000000 +0200
---- src/regexp_nfa.c	2013-08-14 11:49:50.000000000 +0200
-***************
-*** 29,34 ****
---- 29,37 ----
-  # define NFA_REGEXP_DEBUG_LOG	"nfa_regexp_debug.log"
-  #endif
-  
-+ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */
-+ #define NFA_ADD_NL		31
-+ 
-  enum
-  {
-      NFA_SPLIT = -1024,
-***************
-*** 183,188 ****
---- 186,198 ----
-      NFA_NLOWER,		/*	Match non-lowercase char */
-      NFA_UPPER,		/*	Match uppercase char */
-      NFA_NUPPER,		/*	Match non-uppercase char */
-+     NFA_LOWER_IC,	/*	Match [a-z] */
-+     NFA_NLOWER_IC,	/*	Match [^a-z] */
-+     NFA_UPPER_IC,	/*	Match [A-Z] */
-+     NFA_NUPPER_IC,	/*	Match [^A-Z] */
-+ 
-+     NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL,
-+     NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL,
-  
-      NFA_CURSOR,		/*	Match cursor pos */
-      NFA_LNUM,		/*	Match line number */
-***************
-*** 199,207 ****
-      NFA_MARK_LT,	/*	Match < mark */
-      NFA_VISUAL,		/*	Match Visual area */
-  
--     NFA_FIRST_NL = NFA_ANY + ADD_NL,
--     NFA_LAST_NL = NFA_NUPPER + ADD_NL,
-- 
-      /* Character classes [:alnum:] etc */
-      NFA_CLASS_ALNUM,
-      NFA_CLASS_ALPHA,
---- 209,214 ----
-***************
-*** 578,583 ****
---- 585,592 ----
-   * On failure, return 0 (=FAIL)
-   * Start points to the first char of the range, while end should point
-   * to the closing brace.
-+  * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may
-+  * need to be interpreted as [a-zA-Z].
-   */
-      static int
-  nfa_recognize_char_class(start, end, extra_newl)
-***************
-*** 681,687 ****
-  	return FAIL;
-  
-      if (newl == TRUE)
-! 	extra_newl = ADD_NL;
-  
-      switch (config)
-      {
---- 690,696 ----
-  	return FAIL;
-  
-      if (newl == TRUE)
-! 	extra_newl = NFA_ADD_NL;
-  
-      switch (config)
-      {
-***************
-*** 710,722 ****
-  	case CLASS_not | CLASS_az | CLASS_AZ:
-  	    return extra_newl + NFA_NALPHA;
-  	case CLASS_az:
-! 	   return extra_newl + NFA_LOWER;
-  	case CLASS_not | CLASS_az:
-! 	    return extra_newl + NFA_NLOWER;
-  	case CLASS_AZ:
-! 	    return extra_newl + NFA_UPPER;
-  	case CLASS_not | CLASS_AZ:
-! 	    return extra_newl + NFA_NUPPER;
-      }
-      return FAIL;
-  }
---- 719,731 ----
-  	case CLASS_not | CLASS_az | CLASS_AZ:
-  	    return extra_newl + NFA_NALPHA;
-  	case CLASS_az:
-! 	   return extra_newl + NFA_LOWER_IC;
-  	case CLASS_not | CLASS_az:
-! 	    return extra_newl + NFA_NLOWER_IC;
-  	case CLASS_AZ:
-! 	    return extra_newl + NFA_UPPER_IC;
-  	case CLASS_not | CLASS_AZ:
-! 	    return extra_newl + NFA_NUPPER_IC;
-      }
-      return FAIL;
-  }
-***************
-*** 914,920 ****
-  		break;
-  	    }
-  
-! 	    extra = ADD_NL;
-  
-  	    /* "\_[" is collection plus newline */
-  	    if (c == '[')
---- 923,929 ----
-  		break;
-  	    }
-  
-! 	    extra = NFA_ADD_NL;
-  
-  	    /* "\_[" is collection plus newline */
-  	    if (c == '[')
-***************
-*** 970,976 ****
-  	    }
-  #endif
-  	    EMIT(nfa_classcodes[p - classchars]);
-! 	    if (extra == ADD_NL)
-  	    {
-  		EMIT(NFA_NEWL);
-  		EMIT(NFA_OR);
---- 979,985 ----
-  	    }
-  #endif
-  	    EMIT(nfa_classcodes[p - classchars]);
-! 	    if (extra == NFA_ADD_NL)
-  	    {
-  		EMIT(NFA_NEWL);
-  		EMIT(NFA_OR);
-***************
-*** 1240,1260 ****
-  	    {
-  		/*
-  		 * Try to reverse engineer character classes. For example,
-! 		 * recognize that [0-9] stands for  \d and [A-Za-z_] with \h,
-  		 * and perform the necessary substitutions in the NFA.
-  		 */
-  		result = nfa_recognize_char_class(regparse, endp,
-! 							    extra == ADD_NL);
-  		if (result != FAIL)
-  		{
-! 		    if (result >= NFA_DIGIT && result <= NFA_NUPPER)
-! 			EMIT(result);
-! 		    else	/* must be char class + newline */
-  		    {
-! 			EMIT(result - ADD_NL);
-  			EMIT(NFA_NEWL);
-  			EMIT(NFA_OR);
-  		    }
-  		    regparse = endp;
-  		    mb_ptr_adv(regparse);
-  		    return OK;
---- 1249,1269 ----
-  	    {
-  		/*
-  		 * Try to reverse engineer character classes. For example,
-! 		 * recognize that [0-9] stands for \d and [A-Za-z_] for \h,
-  		 * and perform the necessary substitutions in the NFA.
-  		 */
-  		result = nfa_recognize_char_class(regparse, endp,
-! 							 extra == NFA_ADD_NL);
-  		if (result != FAIL)
-  		{
-! 		    if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL)
-  		    {
-! 			EMIT(result - NFA_ADD_NL);
-  			EMIT(NFA_NEWL);
-  			EMIT(NFA_OR);
-  		    }
-+ 		    else
-+ 			EMIT(result);
-  		    regparse = endp;
-  		    mb_ptr_adv(regparse);
-  		    return OK;
-***************
-*** 1504,1510 ****
-  			     * collection, add an OR below. But not for negated
-  			     * range. */
-  			    if (!negated)
-! 				extra = ADD_NL;
-  			}
-  			else
-  			{
---- 1513,1519 ----
-  			     * collection, add an OR below. But not for negated
-  			     * range. */
-  			    if (!negated)
-! 				extra = NFA_ADD_NL;
-  			}
-  			else
-  			{
-***************
-*** 1537,1543 ****
-  		    EMIT(NFA_END_COLL);
-  
-  		/* \_[] also matches \n but it's not negated */
-! 		if (extra == ADD_NL)
-  		{
-  		    EMIT(reg_string ? NL : NFA_NEWL);
-  		    EMIT(NFA_OR);
---- 1546,1552 ----
-  		    EMIT(NFA_END_COLL);
-  
-  		/* \_[] also matches \n but it's not negated */
-! 		if (extra == NFA_ADD_NL)
-  		{
-  		    EMIT(reg_string ? NL : NFA_NEWL);
-  		    EMIT(NFA_OR);
-***************
-*** 2011,2017 ****
-      if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
-      {
-  	addnl = TRUE;
-! 	c -= ADD_NL;
-      }
-  
-      STRCPY(code, "");
---- 2020,2026 ----
-      if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
-      {
-  	addnl = TRUE;
-! 	c -= NFA_ADD_NL;
-      }
-  
-      STRCPY(code, "");
-***************
-*** 2217,2222 ****
---- 2226,2235 ----
-  	case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break;
-  	case NFA_UPPER:	STRCPY(code, "NFA_UPPER"); break;
-  	case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break;
-+ 	case NFA_LOWER_IC:  STRCPY(code, "NFA_LOWER_IC"); break;
-+ 	case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break;
-+ 	case NFA_UPPER_IC:  STRCPY(code, "NFA_UPPER_IC"); break;
-+ 	case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break;
-  
-  	default:
-  	    STRCPY(code, "CHAR(x)");
-***************
-*** 2687,2692 ****
---- 2700,2709 ----
-  	    case NFA_NLOWER:
-  	    case NFA_UPPER:
-  	    case NFA_NUPPER:
-+ 	    case NFA_LOWER_IC:
-+ 	    case NFA_NLOWER_IC:
-+ 	    case NFA_UPPER_IC:
-+ 	    case NFA_NUPPER_IC:
-  		/* possibly non-ascii */
-  #ifdef FEAT_MBYTE
-  		if (has_mbyte)
-***************
-*** 3841,3846 ****
---- 3858,3867 ----
-  	    case NFA_NLOWER:
-  	    case NFA_UPPER:
-  	    case NFA_NUPPER:
-+ 	    case NFA_LOWER_IC:
-+ 	    case NFA_NLOWER_IC:
-+ 	    case NFA_UPPER_IC:
-+ 	    case NFA_NUPPER_IC:
-  	    case NFA_START_COLL:
-  	    case NFA_START_NEG_COLL:
-  	    case NFA_NEWL:
-***************
-*** 5872,5877 ****
---- 5893,5920 ----
-  		ADD_STATE_IF_MATCH(t->state);
-  		break;
-  
-+ 	    case NFA_LOWER_IC:	/* [a-z] */
-+ 		result = ri_lower(curc) || (ireg_ic && ri_upper(curc));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-+ 	    case NFA_NLOWER_IC:	/* [^a-z] */
-+ 		result = curc != NUL
-+ 			  && !(ri_lower(curc) || (ireg_ic && ri_upper(curc)));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-+ 	    case NFA_UPPER_IC:	/* [A-Z] */
-+ 		result = ri_upper(curc) || (ireg_ic && ri_lower(curc));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-+ 	    case NFA_NUPPER_IC:	/* ^[A-Z] */
-+ 		result = curc != NUL
-+ 			  && !(ri_upper(curc) || (ireg_ic && ri_lower(curc)));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-  	    case NFA_BACKREF1:
-  	    case NFA_BACKREF2:
-  	    case NFA_BACKREF3:
-*** ../vim-7.4.000/src/testdir/test64.in	2013-08-01 17:45:33.000000000 +0200
---- src/testdir/test64.in	2013-08-14 11:50:11.000000000 +0200
-***************
-*** 289,303 ****
-  :call add(tl, [2, '.a\%$', " a\n "])
-  :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
-  :"
-! :"""" Test recognition of some character classes
-! :call add(tl, [2, '[0-9]', '8', '8'])
-! :call add(tl, [2, '[^0-9]', '8'])
-! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7'])
-! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7'])
-! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij'])
-! :call add(tl, [2, '[a-z]', 'a', 'a'])
-! :call add(tl, [2, '[a-zA-Z]', 'a', 'a'])
-! :call add(tl, [2, '[A-Z]', 'a'])
-  :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
-  :"
-  :"""" Tests for \z features
---- 289,317 ----
-  :call add(tl, [2, '.a\%$', " a\n "])
-  :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
-  :"
-! :"""" Test recognition of character classes
-! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
-! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
-! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
-! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
-! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
-! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
-! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
-! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
-! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
-! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
-! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
-! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
-! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
-! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
-! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
-! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
-! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
-! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
-! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
-! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
-! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
-! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
-  :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
-  :"
-  :"""" Tests for \z features
-*** ../vim-7.4.000/src/testdir/test64.ok	2013-08-01 18:28:56.000000000 +0200
---- src/testdir/test64.ok	2013-08-14 11:50:37.000000000 +0200
-***************
-*** 650,679 ****
-  OK 0 - .a\%$
-  OK 1 - .a\%$
-  OK 2 - .a\%$
-! OK 0 - [0-9]
-! OK 1 - [0-9]
-! OK 2 - [0-9]
-! OK 0 - [^0-9]
-! OK 1 - [^0-9]
-! OK 2 - [^0-9]
-! OK 0 - [0-9a-fA-F]*
-! OK 1 - [0-9a-fA-F]*
-! OK 2 - [0-9a-fA-F]*
-  OK 0 - [^0-9A-Fa-f]\+
-  OK 1 - [^0-9A-Fa-f]\+
-  OK 2 - [^0-9A-Fa-f]\+
-  OK 0 - [a-z_A-Z0-9]\+
-  OK 1 - [a-z_A-Z0-9]\+
-  OK 2 - [a-z_A-Z0-9]\+
-! OK 0 - [a-z]
-! OK 1 - [a-z]
-! OK 2 - [a-z]
-! OK 0 - [a-zA-Z]
-! OK 1 - [a-zA-Z]
-! OK 2 - [a-zA-Z]
-! OK 0 - [A-Z]
-! OK 1 - [A-Z]
-! OK 2 - [A-Z]
-  OK 0 - \C[^A-Z]\+
-  OK 1 - \C[^A-Z]\+
-  OK 2 - \C[^A-Z]\+
---- 650,721 ----
-  OK 0 - .a\%$
-  OK 1 - .a\%$
-  OK 2 - .a\%$
-! OK 0 - [0-7]\+
-! OK 1 - [0-7]\+
-! OK 2 - [0-7]\+
-! OK 0 - [^0-7]\+
-! OK 1 - [^0-7]\+
-! OK 2 - [^0-7]\+
-! OK 0 - [0-9]\+
-! OK 1 - [0-9]\+
-! OK 2 - [0-9]\+
-! OK 0 - [^0-9]\+
-! OK 1 - [^0-9]\+
-! OK 2 - [^0-9]\+
-! OK 0 - [0-9a-fA-F]\+
-! OK 1 - [0-9a-fA-F]\+
-! OK 2 - [0-9a-fA-F]\+
-  OK 0 - [^0-9A-Fa-f]\+
-  OK 1 - [^0-9A-Fa-f]\+
-  OK 2 - [^0-9A-Fa-f]\+
-  OK 0 - [a-z_A-Z0-9]\+
-  OK 1 - [a-z_A-Z0-9]\+
-  OK 2 - [a-z_A-Z0-9]\+
-! OK 0 - [^a-z_A-Z0-9]\+
-! OK 1 - [^a-z_A-Z0-9]\+
-! OK 2 - [^a-z_A-Z0-9]\+
-! OK 0 - [a-z_A-Z]\+
-! OK 1 - [a-z_A-Z]\+
-! OK 2 - [a-z_A-Z]\+
-! OK 0 - [^a-z_A-Z]\+
-! OK 1 - [^a-z_A-Z]\+
-! OK 2 - [^a-z_A-Z]\+
-! OK 0 - [a-z]\+
-! OK 1 - [a-z]\+
-! OK 2 - [a-z]\+
-! OK 0 - [a-z]\+
-! OK 1 - [a-z]\+
-! OK 2 - [a-z]\+
-! OK 0 - [^a-z]\+
-! OK 1 - [^a-z]\+
-! OK 2 - [^a-z]\+
-! OK 0 - [^a-z]\+
-! OK 1 - [^a-z]\+
-! OK 2 - [^a-z]\+
-! OK 0 - [a-zA-Z]\+
-! OK 1 - [a-zA-Z]\+
-! OK 2 - [a-zA-Z]\+
-! OK 0 - [^a-zA-Z]\+
-! OK 1 - [^a-zA-Z]\+
-! OK 2 - [^a-zA-Z]\+
-! OK 0 - [A-Z]\+
-! OK 1 - [A-Z]\+
-! OK 2 - [A-Z]\+
-! OK 0 - [^A-Z]\+
-! OK 1 - [^A-Z]\+
-! OK 2 - [^A-Z]\+
-! OK 0 - [a-z]\+\c
-! OK 1 - [a-z]\+\c
-! OK 2 - [a-z]\+\c
-! OK 0 - [A-Z]\+\c
-! OK 1 - [A-Z]\+\c
-! OK 2 - [A-Z]\+\c
-! OK 0 - \c[^a-z]\+
-! OK 1 - \c[^a-z]\+
-! OK 2 - \c[^a-z]\+
-! OK 0 - \c[^A-Z]\+
-! OK 1 - \c[^A-Z]\+
-! OK 2 - \c[^A-Z]\+
-  OK 0 - \C[^A-Z]\+
-  OK 1 - \C[^A-Z]\+
-  OK 2 - \C[^A-Z]\+
-*** ../vim-7.4.000/src/version.c	2013-08-10 13:29:20.000000000 +0200
---- src/version.c	2013-08-14 11:54:57.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     1,
-  /**/
-
--- 
-How many light bulbs does it take to change a person?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.002 b/pkgs/applications/editors/vim/patches/7.4.002
deleted file mode 100644
index d92f4de6c2d..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.002
+++ /dev/null
@@ -1,77 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.002
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4b.002
-Problem:    Pattern with two alternative look-behind matches does not match.
-	    (Amadeus Demarzi)
-Solution:   When comparing PIMs also compare their state ID to see if they are
-	    different.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.001/src/regexp_nfa.c	2013-08-14 12:05:54.000000000 +0200
---- src/regexp_nfa.c	2013-08-14 13:12:09.000000000 +0200
-***************
-*** 3782,3787 ****
---- 3782,3790 ----
-      if (two_unused)
-  	/* one is used and two is not: not equal */
-  	return FALSE;
-+     /* compare the state id */
-+     if (one->state->id != two->state->id)
-+ 	return FALSE;
-      /* compare the position */
-      if (REG_MULTI)
-  	return one->end.pos.lnum == two->end.pos.lnum
-*** ../vim-7.4.001/src/testdir/test64.in	2013-08-14 12:05:54.000000000 +0200
---- src/testdir/test64.in	2013-08-14 12:58:38.000000000 +0200
-***************
-*** 421,426 ****
---- 421,429 ----
-  :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
-  :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
-  :"
-+ :" complicated look-behind match
-+ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
-+ :"
-  :""""" \@>
-  :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
-  :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
-*** ../vim-7.4.001/src/testdir/test64.ok	2013-08-14 12:05:54.000000000 +0200
---- src/testdir/test64.ok	2013-08-14 13:14:09.000000000 +0200
-***************
-*** 974,979 ****
---- 974,982 ----
-  OK 0 - \(foo\)\@<=.*
-  OK 1 - \(foo\)\@<=.*
-  OK 2 - \(foo\)\@<=.*
-+ OK 0 - \(r\@<=\|\w\@<!\)\/
-+ OK 1 - \(r\@<=\|\w\@<!\)\/
-+ OK 2 - \(r\@<=\|\w\@<!\)\/
-  OK 0 - \(a*\)\@>a
-  OK 1 - \(a*\)\@>a
-  OK 2 - \(a*\)\@>a
-*** ../vim-7.4.001/src/version.c	2013-08-14 12:05:54.000000000 +0200
---- src/version.c	2013-08-14 13:13:45.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     2,
-  /**/
-
--- 
-From "know your smileys":
- :-)-O	Smiling doctor with stethoscope
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.003 b/pkgs/applications/editors/vim/patches/7.4.003
deleted file mode 100644
index 9aad3c8c8f1..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.003
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.003
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.003
-Problem:    Memory access error in Ruby syntax highlighting. (Christopher Chow)
-Solution:   Refresh stale pointer. (James McCoy)
-Files:	    src/regexp_nfa.c
-
-
-*** ../vim-7.4.002/src/regexp_nfa.c	2013-08-14 13:31:03.000000000 +0200
---- src/regexp_nfa.c	2013-08-14 14:02:06.000000000 +0200
-***************
-*** 4120,4126 ****
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZOPEN)
-  	    {
-  		subidx = state->c - NFA_ZOPEN;
-  		sub = &subs->synt;
---- 4120,4126 ----
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
-  	    {
-  		subidx = state->c - NFA_ZOPEN;
-  		sub = &subs->synt;
-***************
-*** 4189,4194 ****
---- 4189,4201 ----
-  	    }
-  
-  	    subs = addstate(l, state->out, subs, pim, off);
-+ 	    /* "subs" may have changed, need to set "sub" again */
-+ #ifdef FEAT_SYN_HL
-+ 	    if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
-+ 		sub = &subs->synt;
-+ 	    else
-+ #endif
-+ 		sub = &subs->norm;
-  
-  	    if (save_in_use == -1)
-  	    {
-***************
-*** 4237,4243 ****
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZCLOSE)
-  	    {
-  		subidx = state->c - NFA_ZCLOSE;
-  		sub = &subs->synt;
---- 4244,4250 ----
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
-  	    {
-  		subidx = state->c - NFA_ZCLOSE;
-  		sub = &subs->synt;
-***************
-*** 4281,4286 ****
---- 4288,4300 ----
-  	    }
-  
-  	    subs = addstate(l, state->out, subs, pim, off);
-+ 	    /* "subs" may have changed, need to set "sub" again */
-+ #ifdef FEAT_SYN_HL
-+ 	    if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
-+ 		sub = &subs->synt;
-+ 	    else
-+ #endif
-+ 		sub = &subs->norm;
-  
-  	    if (REG_MULTI)
-  		sub->list.multi[subidx].end = save_lpos;
-*** ../vim-7.4.002/src/version.c	2013-08-14 13:31:03.000000000 +0200
---- src/version.c	2013-08-14 14:03:51.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     3,
-  /**/
-
--- 
-Where do you want to crash today?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.004 b/pkgs/applications/editors/vim/patches/7.4.004
deleted file mode 100644
index f629d673fb8..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.004
+++ /dev/null
@@ -1,232 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.004
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.004
-Problem:    When closing a window fails ":bwipe" may hang.
-Solution:   Let win_close() return FAIL and break out of the loop.
-Files:	    src/window.c, src/proto/window.pro, src/buffer.c
-
-
-*** ../vim-7.4.003/src/window.c	2013-07-24 17:38:29.000000000 +0200
---- src/window.c	2013-08-14 16:52:44.000000000 +0200
-***************
-*** 2172,2179 ****
-   * If "free_buf" is TRUE related buffer may be unloaded.
-   *
-   * Called by :quit, :close, :xit, :wq and findtag().
-   */
-!     void
-  win_close(win, free_buf)
-      win_T	*win;
-      int		free_buf;
---- 2172,2180 ----
-   * If "free_buf" is TRUE related buffer may be unloaded.
-   *
-   * Called by :quit, :close, :xit, :wq and findtag().
-+  * Returns FAIL when the window was not closed.
-   */
-!     int
-  win_close(win, free_buf)
-      win_T	*win;
-      int		free_buf;
-***************
-*** 2190,2210 ****
-      if (last_window())
-      {
-  	EMSG(_("E444: Cannot close last window"));
-! 	return;
-      }
-  
-  #ifdef FEAT_AUTOCMD
-      if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
-! 	return; /* window is already being closed */
-      if (win == aucmd_win)
-      {
-  	EMSG(_("E813: Cannot close autocmd window"));
-! 	return;
-      }
-      if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
-      {
-  	EMSG(_("E814: Cannot close window, only autocmd window would remain"));
-! 	return;
-      }
-  #endif
-  
---- 2191,2211 ----
-      if (last_window())
-      {
-  	EMSG(_("E444: Cannot close last window"));
-! 	return FAIL;
-      }
-  
-  #ifdef FEAT_AUTOCMD
-      if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
-! 	return FAIL; /* window is already being closed */
-      if (win == aucmd_win)
-      {
-  	EMSG(_("E813: Cannot close autocmd window"));
-! 	return FAIL;
-      }
-      if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
-      {
-  	EMSG(_("E814: Cannot close window, only autocmd window would remain"));
-! 	return FAIL;
-      }
-  #endif
-  
-***************
-*** 2212,2218 ****
-       * and then close the window and the tab page to avoid that curwin and
-       * curtab are invalid while we are freeing memory. */
-      if (close_last_window_tabpage(win, free_buf, prev_curtab))
-!       return;
-  
-      /* When closing the help window, try restoring a snapshot after closing
-       * the window.  Otherwise clear the snapshot, it's now invalid. */
---- 2213,2219 ----
-       * and then close the window and the tab page to avoid that curwin and
-       * curtab are invalid while we are freeing memory. */
-      if (close_last_window_tabpage(win, free_buf, prev_curtab))
-!       return FAIL;
-  
-      /* When closing the help window, try restoring a snapshot after closing
-       * the window.  Otherwise clear the snapshot, it's now invalid. */
-***************
-*** 2240,2261 ****
-  	    win->w_closing = TRUE;
-  	    apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-  	    if (!win_valid(win))
-! 		return;
-  	    win->w_closing = FALSE;
-  	    if (last_window())
-! 		return;
-  	}
-  	win->w_closing = TRUE;
-  	apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-  	if (!win_valid(win))
-! 	    return;
-  	win->w_closing = FALSE;
-  	if (last_window())
-! 	    return;
-  # ifdef FEAT_EVAL
-  	/* autocmds may abort script processing */
-  	if (aborting())
-! 	    return;
-  # endif
-      }
-  #endif
---- 2241,2262 ----
-  	    win->w_closing = TRUE;
-  	    apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-  	    if (!win_valid(win))
-! 		return FAIL;
-  	    win->w_closing = FALSE;
-  	    if (last_window())
-! 		return FAIL;
-  	}
-  	win->w_closing = TRUE;
-  	apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-  	if (!win_valid(win))
-! 	    return FAIL;
-  	win->w_closing = FALSE;
-  	if (last_window())
-! 	    return FAIL;
-  # ifdef FEAT_EVAL
-  	/* autocmds may abort script processing */
-  	if (aborting())
-! 	    return FAIL;
-  # endif
-      }
-  #endif
-***************
-*** 2303,2309 ****
-       * other window or moved to another tab page. */
-      else if (!win_valid(win) || last_window() || curtab != prev_curtab
-  	    || close_last_window_tabpage(win, free_buf, prev_curtab))
-! 	return;
-  
-      /* Free the memory used for the window and get the window that received
-       * the screen space. */
---- 2304,2310 ----
-       * other window or moved to another tab page. */
-      else if (!win_valid(win) || last_window() || curtab != prev_curtab
-  	    || close_last_window_tabpage(win, free_buf, prev_curtab))
-! 	return FAIL;
-  
-      /* Free the memory used for the window and get the window that received
-       * the screen space. */
-***************
-*** 2383,2388 ****
---- 2384,2390 ----
-  #endif
-  
-      redraw_all_later(NOT_VALID);
-+     return OK;
-  }
-  
-  /*
-*** ../vim-7.4.003/src/proto/window.pro	2013-08-10 13:37:30.000000000 +0200
---- src/proto/window.pro	2013-08-14 16:52:50.000000000 +0200
-***************
-*** 9,15 ****
-  void win_equal __ARGS((win_T *next_curwin, int current, int dir));
-  void close_windows __ARGS((buf_T *buf, int keep_curwin));
-  int one_window __ARGS((void));
-! void win_close __ARGS((win_T *win, int free_buf));
-  void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
-  void win_free_all __ARGS((void));
-  win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
---- 9,15 ----
-  void win_equal __ARGS((win_T *next_curwin, int current, int dir));
-  void close_windows __ARGS((buf_T *buf, int keep_curwin));
-  int one_window __ARGS((void));
-! int win_close __ARGS((win_T *win, int free_buf));
-  void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
-  void win_free_all __ARGS((void));
-  win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
-*** ../vim-7.4.003/src/buffer.c	2013-07-17 16:39:00.000000000 +0200
---- src/buffer.c	2013-08-14 16:54:34.000000000 +0200
-***************
-*** 1186,1192 ****
-  		   && !(curwin->w_closing || curwin->w_buffer->b_closing)
-  # endif
-  		   && (firstwin != lastwin || first_tabpage->tp_next != NULL))
-! 	    win_close(curwin, FALSE);
-  #endif
-  
-  	/*
---- 1186,1195 ----
-  		   && !(curwin->w_closing || curwin->w_buffer->b_closing)
-  # endif
-  		   && (firstwin != lastwin || first_tabpage->tp_next != NULL))
-! 	{
-! 	    if (win_close(curwin, FALSE) == FAIL)
-! 		break;
-! 	}
-  #endif
-  
-  	/*
-*** ../vim-7.4.003/src/version.c	2013-08-14 14:18:37.000000000 +0200
---- src/version.c	2013-08-14 17:10:23.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     4,
-  /**/
-
--- 
-From "know your smileys":
- *<|:-)	Santa Claus (Ho Ho Ho)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.005 b/pkgs/applications/editors/vim/patches/7.4.005
deleted file mode 100644
index f85d1f0e3c8..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.005
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.005
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.005
-Problem:    Using "vaB" while 'virtualedit' is set selects the wrong area.
-	    (Dimitar Dimitrov)
-Solution:   Reset coladd when finding a match.
-Files:	    src/search.c
-
-
-*** ../vim-7.4.004/src/search.c	2013-07-17 19:20:47.000000000 +0200
---- src/search.c	2013-08-14 17:32:38.000000000 +0200
-***************
-*** 1760,1765 ****
---- 1760,1768 ----
-  #endif
-  
-      pos = curwin->w_cursor;
-+ #ifdef FEAT_VIRTUALEDIT
-+     pos.coladd = 0;
-+ #endif
-      linep = ml_get(pos.lnum);
-  
-      cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL);
-*** ../vim-7.4.004/src/version.c	2013-08-14 17:11:14.000000000 +0200
---- src/version.c	2013-08-14 17:38:05.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     5,
-  /**/
-
--- 
-You can't have everything.  Where would you put it?
-		-- Steven Wright
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.006 b/pkgs/applications/editors/vim/patches/7.4.006
deleted file mode 100644
index 55d3802c4d1..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.006
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.006
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.006
-Problem:    mkdir("foo/bar/", "p") gives an error message. (David Barnett)
-Solution:   Remove the trailing slash. (lcd)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.005/src/eval.c	2013-07-05 18:23:42.000000000 +0200
---- src/eval.c	2013-08-22 12:00:28.000000000 +0200
-***************
-*** 14292,14297 ****
---- 14292,14301 ----
-  	return;
-  
-      dir = get_tv_string_buf(&argvars[0], buf);
-+     if (*gettail(dir) == NUL)
-+ 	/* remove trailing slashes */
-+ 	*gettail_sep(dir) = NUL;
-+ 
-      if (argvars[1].v_type != VAR_UNKNOWN)
-      {
-  	if (argvars[2].v_type != VAR_UNKNOWN)
-***************
-*** 14299,14305 ****
-  	if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-  	    mkdir_recurse(dir, prot);
-      }
-!     rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0;
-  }
-  #endif
-  
---- 14303,14309 ----
-  	if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-  	    mkdir_recurse(dir, prot);
-      }
-!     rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
-  }
-  #endif
-  
-*** ../vim-7.4.005/src/version.c	2013-08-14 17:45:25.000000000 +0200
---- src/version.c	2013-08-22 12:02:46.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     6,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-97. Your mother tells you to remember something, and you look for
-    a File/Save command.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.007 b/pkgs/applications/editors/vim/patches/7.4.007
deleted file mode 100644
index 5495ffbf979..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.007
+++ /dev/null
@@ -1,95 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.007
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.007
-Problem:    Creating a preview window on startup leaves the screen layout in a
-	    messed up state. (Marius Gedminas)
-Solution:   Don't change firstwin. (Christian Brabandt)
-Files:	    src/main.c
-
-
-*** ../vim-7.4.006/src/main.c	2013-07-03 12:36:49.000000000 +0200
---- src/main.c	2013-08-22 14:02:39.000000000 +0200
-***************
-*** 2727,2732 ****
---- 2727,2733 ----
-      int		arg_idx;		/* index in argument list */
-      int		i;
-      int		advance = TRUE;
-+     win_T	*win;
-  
-  # ifdef FEAT_AUTOCMD
-      /*
-***************
-*** 2816,2839 ****
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_enter;
-  # endif
-  #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-!     /*
-!      * Avoid making a preview window the current window.
-!      */
-!     if (firstwin->w_p_pvw)
-      {
-!        win_T   *win;
-! 
-!        for (win = firstwin; win != NULL; win = win->w_next)
-!            if (!win->w_p_pvw)
-!            {
-!                firstwin = win;
-!                break;
-!            }
-      }
-  #endif
-!     /* make the first window the current window */
-!     win_enter(firstwin, FALSE);
-  
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_leave;
---- 2817,2838 ----
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_enter;
-  # endif
-+ 
-+     /* make the first window the current window */
-+     win = firstwin;
-  #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-!     /* Avoid making a preview window the current window. */
-!     while (win->w_p_pvw)
-      {
-! 	win = win->w_next;
-! 	if (win == NULL)
-! 	{
-! 	    win = firstwin;
-! 	    break;
-! 	}
-      }
-  #endif
-!     win_enter(win, FALSE);
-  
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_leave;
-*** ../vim-7.4.006/src/version.c	2013-08-22 12:06:50.000000000 +0200
---- src/version.c	2013-08-22 14:04:11.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     7,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-105. When someone asks you for your address, you tell them your URL.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.008 b/pkgs/applications/editors/vim/patches/7.4.008
deleted file mode 100644
index 6abd493f914..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.008
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.008
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.008
-Problem:    New regexp engine can't be interrupted.
-Solution:   Check for CTRL-C pressed. (Yasuhiro Matsumoto)
-Files:	    src/regexp_nfa.c, src/regexp.c
-
-
-*** ../vim-7.4.007/src/regexp_nfa.c	2013-08-14 14:18:37.000000000 +0200
---- src/regexp_nfa.c	2013-08-25 16:55:56.000000000 +0200
-***************
-*** 5089,5094 ****
---- 5089,5100 ----
-  	return FALSE;
-      }
-  #endif
-+     /* Some patterns may take a long time to match, especially when using
-+      * recursive_regmatch(). Allow interrupting them with CTRL-C. */
-+     fast_breakcheck();
-+     if (got_int)
-+ 	return FALSE;
-+ 
-      nfa_match = FALSE;
-  
-      /* Allocate memory for the lists of nodes. */
-*** ../vim-7.4.007/src/regexp.c	2013-08-01 18:31:30.000000000 +0200
---- src/regexp.c	2013-08-25 16:57:35.000000000 +0200
-***************
-*** 4311,4318 ****
-     */
-    for (;;)
-    {
-!     /* Some patterns may cause a long time to match, even though they are not
-!      * illegal.  E.g., "\([a-z]\+\)\+Q".  Allow breaking them with CTRL-C. */
-      fast_breakcheck();
-  
-  #ifdef DEBUG
---- 4311,4318 ----
-     */
-    for (;;)
-    {
-!     /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
-!      * Allow interrupting them with CTRL-C. */
-      fast_breakcheck();
-  
-  #ifdef DEBUG
-*** ../vim-7.4.007/src/version.c	2013-08-22 14:14:23.000000000 +0200
---- src/version.c	2013-08-25 16:57:51.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     8,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-124. You begin conversations with, "Who is your internet service provider?"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.009 b/pkgs/applications/editors/vim/patches/7.4.009
deleted file mode 100644
index f5e5fa60912..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.009
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.009
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.009
-Problem:    When a file was not decrypted (yet), writing it may destroy the
-	    contents.
-Solution:   Mark the file as readonly until decryption was done. (Christian
-	    Brabandt)
-Files:	    src/fileio.c
-
-
-*** ../vim-7.4.008/src/fileio.c	2013-08-05 21:58:03.000000000 +0200
---- src/fileio.c	2013-08-25 17:45:27.000000000 +0200
-***************
-*** 2926,2934 ****
---- 2926,2939 ----
-      int		*did_ask;	/* flag: whether already asked for key */
-  {
-      int method = crypt_method_from_magic((char *)ptr, *sizep);
-+     int b_p_ro = curbuf->b_p_ro;
-  
-      if (method >= 0)
-      {
-+ 	/* Mark the buffer as read-only until the decryption has taken place.
-+ 	 * Avoids accidentally overwriting the file with garbage. */
-+ 	curbuf->b_p_ro = TRUE;
-+ 
-  	set_crypt_method(curbuf, method);
-  	if (method > 0)
-  	    (void)blowfish_self_test();
-***************
-*** 2977,2982 ****
---- 2982,2989 ----
-  	    *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
-  	    mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
-  							      (size_t)*sizep);
-+ 	    /* Restore the read-only flag. */
-+ 	    curbuf->b_p_ro = b_p_ro;
-  	}
-      }
-      /* When starting to edit a new file which does not have encryption, clear
-*** ../vim-7.4.008/src/version.c	2013-08-25 17:01:36.000000000 +0200
---- src/version.c	2013-08-25 17:44:30.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     9,
-  /**/
-
--- 
-I have a watch cat! Just break in and she'll watch.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.010 b/pkgs/applications/editors/vim/patches/7.4.010
deleted file mode 100644
index fee6ba5b4a8..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.010
+++ /dev/null
@@ -1,79 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.010
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.010 (after 7.4.006)
-Problem:    Crash with invalid argument to mkdir().
-Solution:   Check for empty string. (lcd47)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.009/src/eval.c	2013-08-22 12:06:50.000000000 +0200
---- src/eval.c	2013-08-30 15:47:47.000000000 +0200
-***************
-*** 14292,14309 ****
-  	return;
-  
-      dir = get_tv_string_buf(&argvars[0], buf);
-!     if (*gettail(dir) == NUL)
-! 	/* remove trailing slashes */
-! 	*gettail_sep(dir) = NUL;
-! 
-!     if (argvars[1].v_type != VAR_UNKNOWN)
-      {
-! 	if (argvars[2].v_type != VAR_UNKNOWN)
-! 	    prot = get_tv_number_chk(&argvars[2], NULL);
-! 	if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-! 	    mkdir_recurse(dir, prot);
-      }
--     rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
-  }
-  #endif
-  
---- 14292,14314 ----
-  	return;
-  
-      dir = get_tv_string_buf(&argvars[0], buf);
-!     if (*dir == NUL)
-! 	rettv->vval.v_number = FAIL;
-!     else
-      {
-! 	if (*gettail(dir) == NUL)
-! 	    /* remove trailing slashes */
-! 	    *gettail_sep(dir) = NUL;
-! 
-! 	if (argvars[1].v_type != VAR_UNKNOWN)
-! 	{
-! 	    if (argvars[2].v_type != VAR_UNKNOWN)
-! 		prot = get_tv_number_chk(&argvars[2], NULL);
-! 	    if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-! 		mkdir_recurse(dir, prot);
-! 	}
-! 	rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
-      }
-  }
-  #endif
-  
-*** ../vim-7.4.009/src/version.c	2013-08-25 17:46:05.000000000 +0200
---- src/version.c	2013-08-30 15:48:37.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     10,
-  /**/
-
--- 
-I wish there was a knob on the TV to turn up the intelligence.
-There's a knob called "brightness", but it doesn't seem to work. 
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.011 b/pkgs/applications/editors/vim/patches/7.4.011
deleted file mode 100644
index efff82c5eba..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.011
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.011
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.011
-Problem:    Cannot find out if "acl" and "xpm" features are supported.
-Solution:   Add "acl" and "xpm" to the list of features. (Ken Takata)
-Files:	    src/eval.c, src/version.c
-
-
-*** ../vim-7.4.010/src/eval.c	2013-08-30 16:00:04.000000000 +0200
---- src/eval.c	2013-08-30 16:34:12.000000000 +0200
-***************
-*** 12135,12140 ****
---- 12135,12143 ----
-  #ifndef CASE_INSENSITIVE_FILENAME
-  	"fname_case",
-  #endif
-+ #ifdef HAVE_ACL
-+ 	"acl",
-+ #endif
-  #ifdef FEAT_ARABIC
-  	"arabic",
-  #endif
-***************
-*** 12538,12544 ****
-  	"xfontset",
-  #endif
-  #ifdef FEAT_XPM_W32
-! 	"xpm_w32",
-  #endif
-  #ifdef USE_XSMP
-  	"xsmp",
---- 12541,12552 ----
-  	"xfontset",
-  #endif
-  #ifdef FEAT_XPM_W32
-! 	"xpm",
-! 	"xpm_w32",	/* for backward compatibility */
-! #else
-! # if defined(HAVE_XPM)
-! 	"xpm",
-! # endif
-  #endif
-  #ifdef USE_XSMP
-  	"xsmp",
-*** ../vim-7.4.010/src/version.c	2013-08-30 16:00:04.000000000 +0200
---- src/version.c	2013-08-30 16:34:37.000000000 +0200
-***************
-*** 60,65 ****
---- 60,70 ----
-  
-  static char *(features[]) =
-  {
-+ #ifdef HAVE_ACL
-+ 	"+acl",
-+ #else
-+ 	"-acl",
-+ #endif
-  #ifdef AMIGA		/* only for Amiga systems */
-  # ifdef FEAT_ARP
-  	"+ARP",
-***************
-*** 721,726 ****
---- 726,737 ----
-  # else
-  	"-xpm_w32",
-  # endif
-+ #else
-+ # ifdef HAVE_XPM
-+ 	"+xpm",
-+ # else
-+ 	"-xpm",
-+ # endif
-  #endif
-  	NULL
-  };
-*** ../vim-7.4.010/src/version.c	2013-08-30 16:00:04.000000000 +0200
---- src/version.c	2013-08-30 16:34:37.000000000 +0200
-***************
-*** 729,730 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     11,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-141. You'd rather go to http://www.weather.com/ than look out your window.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.012 b/pkgs/applications/editors/vim/patches/7.4.012
deleted file mode 100644
index f831442ea56..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.012
+++ /dev/null
@@ -1,202 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.012
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.012
-Problem:    MS-Windows: resolving shortcut does not work properly with
-	    multi-byte characters.
-Solution:   Use wide system functions. (Ken Takata)
-Files:	    src/os_mswin.c
-
-
-*** ../vim-7.4.011/src/os_mswin.c	2013-06-16 16:41:11.000000000 +0200
---- src/os_mswin.c	2013-08-30 16:43:23.000000000 +0200
-***************
-*** 1761,1769 ****
-      IPersistFile	*ppf = NULL;
-      OLECHAR		wsz[MAX_PATH];
-      WIN32_FIND_DATA	ffd; // we get those free of charge
-!     TCHAR		buf[MAX_PATH]; // could have simply reused 'wsz'...
-      char_u		*rfname = NULL;
-      int			len;
-  
-      /* Check if the file name ends in ".lnk". Avoid calling
-       * CoCreateInstance(), it's quite slow. */
---- 1761,1773 ----
-      IPersistFile	*ppf = NULL;
-      OLECHAR		wsz[MAX_PATH];
-      WIN32_FIND_DATA	ffd; // we get those free of charge
-!     CHAR		buf[MAX_PATH]; // could have simply reused 'wsz'...
-      char_u		*rfname = NULL;
-      int			len;
-+ # ifdef FEAT_MBYTE
-+     IShellLinkW		*pslw = NULL;
-+     WIN32_FIND_DATAW	ffdw; // we get those free of charge
-+ # endif
-  
-      /* Check if the file name ends in ".lnk". Avoid calling
-       * CoCreateInstance(), it's quite slow. */
-***************
-*** 1775,1792 ****
-  
-      CoInitialize(NULL);
-  
-      // create a link manager object and request its interface
-      hr = CoCreateInstance(
-  	    &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-  	    &IID_IShellLink, (void**)&psl);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-  
-      // Get a pointer to the IPersistFile interface.
-      hr = psl->lpVtbl->QueryInterface(
-  	    psl, &IID_IPersistFile, (void**)&ppf);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-  
-      // full path string must be in Unicode.
-      MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
---- 1779,1840 ----
-  
-      CoInitialize(NULL);
-  
-+ # ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	// create a link manager object and request its interface
-+ 	hr = CoCreateInstance(
-+ 		&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-+ 		&IID_IShellLinkW, (void**)&pslw);
-+ 	if (hr == S_OK)
-+ 	{
-+ 	    WCHAR	*p = enc_to_utf16(fname, NULL);
-+ 
-+ 	    if (p != NULL)
-+ 	    {
-+ 		// Get a pointer to the IPersistFile interface.
-+ 		hr = pslw->lpVtbl->QueryInterface(
-+ 			pslw, &IID_IPersistFile, (void**)&ppf);
-+ 		if (hr != S_OK)
-+ 		    goto shortcut_errorw;
-+ 
-+ 		// "load" the name and resolve the link
-+ 		hr = ppf->lpVtbl->Load(ppf, p, STGM_READ);
-+ 		if (hr != S_OK)
-+ 		    goto shortcut_errorw;
-+ #  if 0  // This makes Vim wait a long time if the target does not exist.
-+ 		hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI);
-+ 		if (hr != S_OK)
-+ 		    goto shortcut_errorw;
-+ #  endif
-+ 
-+ 		// Get the path to the link target.
-+ 		ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR));
-+ 		hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0);
-+ 		if (hr == S_OK && wsz[0] != NUL)
-+ 		    rfname = utf16_to_enc(wsz, NULL);
-+ 
-+ shortcut_errorw:
-+ 		vim_free(p);
-+ 		if (hr == S_OK)
-+ 		    goto shortcut_end;
-+ 	    }
-+ 	}
-+ 	/* Retry with non-wide function (for Windows 98). */
-+     }
-+ # endif
-      // create a link manager object and request its interface
-      hr = CoCreateInstance(
-  	    &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-  	    &IID_IShellLink, (void**)&psl);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-  
-      // Get a pointer to the IPersistFile interface.
-      hr = psl->lpVtbl->QueryInterface(
-  	    psl, &IID_IPersistFile, (void**)&ppf);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-  
-      // full path string must be in Unicode.
-      MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
-***************
-*** 1794,1805 ****
-      // "load" the name and resolve the link
-      hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-! #if 0  // This makes Vim wait a long time if the target doesn't exist.
-      hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-! #endif
-  
-      // Get the path to the link target.
-      ZeroMemory(buf, MAX_PATH);
---- 1842,1853 ----
-      // "load" the name and resolve the link
-      hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-! # if 0  // This makes Vim wait a long time if the target doesn't exist.
-      hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-! # endif
-  
-      // Get the path to the link target.
-      ZeroMemory(buf, MAX_PATH);
-***************
-*** 1807,1818 ****
-      if (hr == S_OK && buf[0] != NUL)
-  	rfname = vim_strsave(buf);
-  
-! shortcut_error:
-      // Release all interface pointers (both belong to the same object)
-      if (ppf != NULL)
-  	ppf->lpVtbl->Release(ppf);
-      if (psl != NULL)
-  	psl->lpVtbl->Release(psl);
-  
-      CoUninitialize();
-      return rfname;
---- 1855,1870 ----
-      if (hr == S_OK && buf[0] != NUL)
-  	rfname = vim_strsave(buf);
-  
-! shortcut_end:
-      // Release all interface pointers (both belong to the same object)
-      if (ppf != NULL)
-  	ppf->lpVtbl->Release(ppf);
-      if (psl != NULL)
-  	psl->lpVtbl->Release(psl);
-+ # ifdef FEAT_MBYTE
-+     if (pslw != NULL)
-+ 	pslw->lpVtbl->Release(pslw);
-+ # endif
-  
-      CoUninitialize();
-      return rfname;
-*** ../vim-7.4.011/src/version.c	2013-08-30 16:35:41.000000000 +0200
---- src/version.c	2013-08-30 16:39:40.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     12,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-142. You dream about creating the world's greatest web site.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.013 b/pkgs/applications/editors/vim/patches/7.4.013
deleted file mode 100644
index dcbe0fb3e43..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.013
+++ /dev/null
@@ -1,99 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.013
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.013
-Problem:    File name buffer too small for utf-8.
-Solution:   Use character count instead of byte count. (Ken Takata)
-Files:	    src/os_mswin.c
-
-
-*** ../vim-7.4.012/src/os_mswin.c	2013-08-30 16:44:15.000000000 +0200
---- src/os_mswin.c	2013-08-30 16:47:54.000000000 +0200
-***************
-*** 456,462 ****
---- 456,469 ----
-      int
-  mch_isFullName(char_u *fname)
-  {
-+ #ifdef FEAT_MBYTE
-+     /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
-+      * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
-+      * UTF-8. */
-+     char szName[_MAX_PATH * 3 + 1];
-+ #else
-      char szName[_MAX_PATH + 1];
-+ #endif
-  
-      /* A name like "d:/foo" and "//server/share" is absolute */
-      if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\'))
-***************
-*** 464,470 ****
-  	return TRUE;
-  
-      /* A name that can't be made absolute probably isn't absolute. */
-!     if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL)
-  	return FALSE;
-  
-      return pathcmp(fname, szName, -1) == 0;
---- 471,477 ----
-  	return TRUE;
-  
-      /* A name that can't be made absolute probably isn't absolute. */
-!     if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL)
-  	return FALSE;
-  
-      return pathcmp(fname, szName, -1) == 0;
-***************
-*** 498,507 ****
-      int
-  vim_stat(const char *name, struct stat *stp)
-  {
-      char	buf[_MAX_PATH + 1];
-      char	*p;
-  
-!     vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH);
-      p = buf + strlen(buf);
-      if (p > buf)
-  	mb_ptr_back(buf, p);
---- 505,521 ----
-      int
-  vim_stat(const char *name, struct stat *stp)
-  {
-+ #ifdef FEAT_MBYTE
-+     /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
-+      * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
-+      * UTF-8. */
-+     char	buf[_MAX_PATH * 3 + 1];
-+ #else
-      char	buf[_MAX_PATH + 1];
-+ #endif
-      char	*p;
-  
-!     vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1);
-      p = buf + strlen(buf);
-      if (p > buf)
-  	mb_ptr_back(buf, p);
-*** ../vim-7.4.012/src/version.c	2013-08-30 16:44:15.000000000 +0200
---- src/version.c	2013-08-30 16:47:36.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     13,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-143. You dream in pallettes of 216 websafe colors.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.014 b/pkgs/applications/editors/vim/patches/7.4.014
deleted file mode 100644
index f6554337f27..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.014
+++ /dev/null
@@ -1,102 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.014
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.014
-Problem:    MS-Windows: check for writing to device does not work.
-Solution:   Fix #ifdefs. (Ken Takata)
-Files:	    src/fileio.c
-
-
-*** ../vim-7.4.013/src/fileio.c	2013-08-25 17:46:05.000000000 +0200
---- src/fileio.c	2013-08-30 16:56:46.000000000 +0200
-***************
-*** 428,440 ****
-  	}
-      }
-  
-- #ifdef UNIX
--     /*
--      * On Unix it is possible to read a directory, so we have to
--      * check for it before the mch_open().
--      */
-      if (!read_stdin && !read_buffer)
-      {
-  	perm = mch_getperm(fname);
-  	if (perm >= 0 && !S_ISREG(perm)		    /* not a regular file ... */
-  # ifdef S_ISFIFO
---- 428,440 ----
-  	}
-      }
-  
-      if (!read_stdin && !read_buffer)
-      {
-+ #ifdef UNIX
-+ 	/*
-+ 	 * On Unix it is possible to read a directory, so we have to
-+ 	 * check for it before the mch_open().
-+ 	 */
-  	perm = mch_getperm(fname);
-  	if (perm >= 0 && !S_ISREG(perm)		    /* not a regular file ... */
-  # ifdef S_ISFIFO
-***************
-*** 457,464 ****
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-! 
-! # if defined(MSDOS) || defined(MSWIN) || defined(OS2)
-  	/*
-  	 * MS-Windows allows opening a device, but we will probably get stuck
-  	 * trying to read it.
---- 457,464 ----
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-! #endif
-! #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
-  	/*
-  	 * MS-Windows allows opening a device, but we will probably get stuck
-  	 * trying to read it.
-***************
-*** 470,478 ****
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-- # endif
--     }
-  #endif
-  
-      /* Set default or forced 'fileformat' and 'binary'. */
-      set_file_options(set_options, eap);
---- 470,477 ----
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-  #endif
-+     }
-  
-      /* Set default or forced 'fileformat' and 'binary'. */
-      set_file_options(set_options, eap);
-*** ../vim-7.4.013/src/version.c	2013-08-30 16:51:15.000000000 +0200
---- src/version.c	2013-08-30 16:54:33.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     14,
-  /**/
-
--- 
-Drink wet cement and get really stoned.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.015 b/pkgs/applications/editors/vim/patches/7.4.015
deleted file mode 100644
index e8b284d12b3..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.015
+++ /dev/null
@@ -1,106 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.015
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.015
-Problem:    MS-Windows: Detecting node type does not work for multi-byte
-	    characters.
-Solution:   Use wide character function when needed. (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.014/src/os_win32.c	2013-08-10 12:39:12.000000000 +0200
---- src/os_win32.c	2013-08-30 17:09:47.000000000 +0200
-***************
-*** 3107,3112 ****
---- 3107,3115 ----
-  {
-      HANDLE	hFile;
-      int		type;
-+ #ifdef FEAT_MBYTE
-+     WCHAR	*wn = NULL;
-+ #endif
-  
-      /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
-       * read from it later will cause Vim to hang.  Thus return NODE_WRITABLE
-***************
-*** 3114,3127 ****
-      if (STRNCMP(name, "\\\\.\\", 4) == 0)
-  	return NODE_WRITABLE;
-  
-!     hFile = CreateFile(name,		/* file name */
-! 		GENERIC_WRITE,		/* access mode */
-! 		0,			/* share mode */
-! 		NULL,			/* security descriptor */
-! 		OPEN_EXISTING,		/* creation disposition */
-! 		0,			/* file attributes */
-! 		NULL);			/* handle to template file */
-  
-      if (hFile == INVALID_HANDLE_VALUE)
-  	return NODE_NORMAL;
-  
---- 3117,3157 ----
-      if (STRNCMP(name, "\\\\.\\", 4) == 0)
-  	return NODE_WRITABLE;
-  
-! #ifdef FEAT_MBYTE
-!     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-!     {
-! 	wn = enc_to_utf16(name, NULL);
-! 	if (wn != NULL)
-! 	{
-! 	    hFile = CreateFileW(wn,	/* file name */
-! 			GENERIC_WRITE,	/* access mode */
-! 			0,		/* share mode */
-! 			NULL,		/* security descriptor */
-! 			OPEN_EXISTING,	/* creation disposition */
-! 			0,		/* file attributes */
-! 			NULL);		/* handle to template file */
-! 	    if (hFile == INVALID_HANDLE_VALUE
-! 			      && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
-! 	    {
-! 		/* Retry with non-wide function (for Windows 98). */
-! 		vim_free(wn);
-! 		wn = NULL;
-! 	    }
-! 	}
-!     }
-!     if (wn == NULL)
-! #endif
-! 	hFile = CreateFile(name,	/* file name */
-! 		    GENERIC_WRITE,	/* access mode */
-! 		    0,			/* share mode */
-! 		    NULL,		/* security descriptor */
-! 		    OPEN_EXISTING,	/* creation disposition */
-! 		    0,			/* file attributes */
-! 		    NULL);		/* handle to template file */
-  
-+ #ifdef FEAT_MBYTE
-+     vim_free(wn);
-+ #endif
-      if (hFile == INVALID_HANDLE_VALUE)
-  	return NODE_NORMAL;
-  
-*** ../vim-7.4.014/src/version.c	2013-08-30 17:06:56.000000000 +0200
---- src/version.c	2013-08-30 17:09:35.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     15,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-144. You eagerly await the update of the "Cool Site of the Day."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.016 b/pkgs/applications/editors/vim/patches/7.4.016
deleted file mode 100644
index c58c605f5c1..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.016
+++ /dev/null
@@ -1,221 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.016
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.016
-Problem:    MS-Windows: File name completion doesn't work properly with
-	    Chinese characters. (Yue Wu)
-Solution:   Add fname_casew(). (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.015/src/os_win32.c	2013-08-30 17:11:29.000000000 +0200
---- src/os_win32.c	2013-08-30 17:28:30.000000000 +0200
-***************
-*** 2500,2508 ****
---- 2500,2624 ----
-  }
-  
-  
-+ #ifdef FEAT_MBYTE
-+ /*
-+  * fname_casew(): Wide version of fname_case().  Set the case of the file name,
-+  * if it already exists.  When "len" is > 0, also expand short to long
-+  * filenames.
-+  * Return FAIL if wide functions are not available, OK otherwise.
-+  * NOTE: much of this is identical to fname_case(), keep in sync!
-+  */
-+     static int
-+ fname_casew(
-+     WCHAR	*name,
-+     int		len)
-+ {
-+     WCHAR		szTrueName[_MAX_PATH + 2];
-+     WCHAR		szTrueNameTemp[_MAX_PATH + 2];
-+     WCHAR		*ptrue, *ptruePrev;
-+     WCHAR		*porig, *porigPrev;
-+     int			flen;
-+     WIN32_FIND_DATAW	fb;
-+     HANDLE		hFind;
-+     int			c;
-+     int			slen;
-+ 
-+     flen = (int)wcslen(name);
-+     if (flen > _MAX_PATH)
-+ 	return OK;
-+ 
-+     /* slash_adjust(name) not needed, already adjusted by fname_case(). */
-+ 
-+     /* Build the new name in szTrueName[] one component at a time. */
-+     porig = name;
-+     ptrue = szTrueName;
-+ 
-+     if (iswalpha(porig[0]) && porig[1] == L':')
-+     {
-+ 	/* copy leading drive letter */
-+ 	*ptrue++ = *porig++;
-+ 	*ptrue++ = *porig++;
-+ 	*ptrue = NUL;	    /* in case nothing follows */
-+     }
-+ 
-+     while (*porig != NUL)
-+     {
-+ 	/* copy \ characters */
-+ 	while (*porig == psepc)
-+ 	    *ptrue++ = *porig++;
-+ 
-+ 	ptruePrev = ptrue;
-+ 	porigPrev = porig;
-+ 	while (*porig != NUL && *porig != psepc)
-+ 	{
-+ 	    *ptrue++ = *porig++;
-+ 	}
-+ 	*ptrue = NUL;
-+ 
-+ 	/* To avoid a slow failure append "\*" when searching a directory,
-+ 	 * server or network share. */
-+ 	wcscpy(szTrueNameTemp, szTrueName);
-+ 	slen = (int)wcslen(szTrueNameTemp);
-+ 	if (*porig == psepc && slen + 2 < _MAX_PATH)
-+ 	    wcscpy(szTrueNameTemp + slen, L"\\*");
-+ 
-+ 	/* Skip "", "." and "..". */
-+ 	if (ptrue > ptruePrev
-+ 		&& (ptruePrev[0] != L'.'
-+ 		    || (ptruePrev[1] != NUL
-+ 			&& (ptruePrev[1] != L'.' || ptruePrev[2] != NUL)))
-+ 		&& (hFind = FindFirstFileW(szTrueNameTemp, &fb))
-+ 						      != INVALID_HANDLE_VALUE)
-+ 	{
-+ 	    c = *porig;
-+ 	    *porig = NUL;
-+ 
-+ 	    /* Only use the match when it's the same name (ignoring case) or
-+ 	     * expansion is allowed and there is a match with the short name
-+ 	     * and there is enough room. */
-+ 	    if (_wcsicoll(porigPrev, fb.cFileName) == 0
-+ 		    || (len > 0
-+ 			&& (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0
-+ 			    && (int)(ptruePrev - szTrueName)
-+ 					   + (int)wcslen(fb.cFileName) < len)))
-+ 	    {
-+ 		wcscpy(ptruePrev, fb.cFileName);
-+ 
-+ 		/* Look for exact match and prefer it if found.  Must be a
-+ 		 * long name, otherwise there would be only one match. */
-+ 		while (FindNextFileW(hFind, &fb))
-+ 		{
-+ 		    if (*fb.cAlternateFileName != NUL
-+ 			    && (wcscoll(porigPrev, fb.cFileName) == 0
-+ 				|| (len > 0
-+ 				    && (_wcsicoll(porigPrev,
-+ 						   fb.cAlternateFileName) == 0
-+ 				    && (int)(ptruePrev - szTrueName)
-+ 					 + (int)wcslen(fb.cFileName) < len))))
-+ 		    {
-+ 			wcscpy(ptruePrev, fb.cFileName);
-+ 			break;
-+ 		    }
-+ 		}
-+ 	    }
-+ 	    FindClose(hFind);
-+ 	    *porig = c;
-+ 	    ptrue = ptruePrev + wcslen(ptruePrev);
-+ 	}
-+ 	else if (hFind == INVALID_HANDLE_VALUE
-+ 		&& GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
-+ 	    return FAIL;
-+     }
-+ 
-+     wcscpy(name, szTrueName);
-+     return OK;
-+ }
-+ #endif
-+ 
-  /*
-   * fname_case(): Set the case of the file name, if it already exists.
-   * When "len" is > 0, also expand short to long filenames.
-+  * NOTE: much of this is identical to fname_casew(), keep in sync!
-   */
-      void
-  fname_case(
-***************
-*** 2520,2530 ****
-      int			slen;
-  
-      flen = (int)STRLEN(name);
-!     if (flen == 0 || flen > _MAX_PATH)
-  	return;
-  
-      slash_adjust(name);
-  
-      /* Build the new name in szTrueName[] one component at a time. */
-      porig = name;
-      ptrue = szTrueName;
---- 2636,2679 ----
-      int			slen;
-  
-      flen = (int)STRLEN(name);
-!     if (flen == 0)
-  	return;
-  
-      slash_adjust(name);
-  
-+ #ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	WCHAR	*p = enc_to_utf16(name, NULL);
-+ 
-+ 	if (p != NULL)
-+ 	{
-+ 	    char_u	*q;
-+ 	    WCHAR	buf[_MAX_PATH + 2];
-+ 
-+ 	    wcscpy(buf, p);
-+ 	    vim_free(p);
-+ 
-+ 	    if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)
-+ 	    {
-+ 		q = utf16_to_enc(buf, NULL);
-+ 		if (q != NULL)
-+ 		{
-+ 		    vim_strncpy(name, q, (len > 0) ? len - 1 : flen);
-+ 		    vim_free(q);
-+ 		    return;
-+ 		}
-+ 	    }
-+ 	}
-+ 	/* Retry with non-wide function (for Windows 98). */
-+     }
-+ #endif
-+ 
-+     /* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
-+      * So we should check this after calling wide function. */
-+     if (flen > _MAX_PATH)
-+ 	return;
-+ 
-      /* Build the new name in szTrueName[] one component at a time. */
-      porig = name;
-      ptrue = szTrueName;
-*** ../vim-7.4.015/src/version.c	2013-08-30 17:11:29.000000000 +0200
---- src/version.c	2013-08-30 17:15:06.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     16,
-  /**/
-
--- 
-Fingers not found - Pound head on keyboard to continue.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.017 b/pkgs/applications/editors/vim/patches/7.4.017
deleted file mode 100644
index 7d7fad83fe7..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.017
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.017
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.017
-Problem:    ":help !!" does not find the "!!" tag in the help file. (Ben
-	    Fritz)
-Solution:   When reading the start of the tags file do parse lines that are
-	    not header lines.
-Files:	    src/tag.c
-
-
-*** ../vim-7.4.016/src/tag.c	2013-06-15 22:26:26.000000000 +0200
---- src/tag.c	2013-09-05 12:03:38.000000000 +0200
-***************
-*** 1797,1809 ****
-  	     */
-  	    if (state == TS_START)
-  	    {
-! 		/* The header ends when the line sorts below "!_TAG_".
-! 		 * There may be non-header items before the header though,
-! 		 * e.g. "!" itself. When case is folded lower case letters
-! 		 * sort before "_". */
-  		if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
-  				|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
-  		{
-  		    /*
-  		     * Read header line.
-  		     */
---- 1797,1812 ----
-  	     */
-  	    if (state == TS_START)
-  	    {
-! 		/* The header ends when the line sorts below "!_TAG_".  When
-! 		 * case is folded lower case letters sort before "_". */
-  		if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
-  				|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
-  		{
-+ 		    if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
-+ 			/* Non-header item before the header, e.g. "!" itself.
-+ 			 */
-+ 			goto parse_line;
-+ 
-  		    /*
-  		     * Read header line.
-  		     */
-***************
-*** 1898,1903 ****
---- 1901,1907 ----
-  #endif
-  	    }
-  
-+ parse_line:
-  	    /*
-  	     * Figure out where the different strings are in this line.
-  	     * For "normal" tags: Do a quick check if the tag matches.
-*** ../vim-7.4.016/src/version.c	2013-08-30 17:29:10.000000000 +0200
---- src/version.c	2013-09-05 12:02:01.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     17,
-  /**/
-
--- 
-An error has occurred.  Hit any user to continue.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.018 b/pkgs/applications/editors/vim/patches/7.4.018
deleted file mode 100644
index 2214c30b2b8..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.018
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.018
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.018
-Problem:    When completing item becomes unselected. (Shougo Matsu)
-Solution:   Revert patch 7.3.1269.
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.017/src/edit.c	2013-07-04 20:22:25.000000000 +0200
---- src/edit.c	2013-09-05 12:39:53.000000000 +0200
-***************
-*** 3467,3473 ****
-      }
-  
-      compl_enter_selects = !compl_used_match;
--     compl_shown_match = compl_curr_match = compl_first_match;
-  
-      /* Show the popup menu with a different set of matches. */
-      ins_compl_show_pum();
---- 3467,3472 ----
-*** ../vim-7.4.017/src/version.c	2013-09-05 12:06:26.000000000 +0200
---- src/version.c	2013-09-05 12:40:34.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     18,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-169. You hire a housekeeper for your home page.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.019 b/pkgs/applications/editors/vim/patches/7.4.019
deleted file mode 100644
index b1532c19c81..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.019
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.019
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.019
-Problem:    MS-Windows: File name completion doesn't work properly with
-	    Chinese characters. (Yue Wu)
-Solution:   Take care of multi-byte characters when looking for the start of
-	    the file name. (Ken Takata)
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.018/src/edit.c	2013-09-05 12:49:48.000000000 +0200
---- src/edit.c	2013-09-05 13:45:27.000000000 +0200
-***************
-*** 5183,5190 ****
-  	}
-  	else if (ctrl_x_mode == CTRL_X_FILES)
-  	{
-! 	    while (--startcol >= 0 && vim_isfilec(line[startcol]))
-! 		;
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-  	    compl_pattern = addstar(line + compl_col, compl_length,
---- 5183,5196 ----
-  	}
-  	else if (ctrl_x_mode == CTRL_X_FILES)
-  	{
-! 	    char_u	*p = line + startcol;
-! 
-! 	    /* Go back to just before the first filename character. */
-! 	    mb_ptr_back(line, p);
-! 	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-! 		mb_ptr_back(line, p);
-! 	    startcol = p - line;
-! 
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-  	    compl_pattern = addstar(line + compl_col, compl_length,
-*** ../vim-7.4.018/src/version.c	2013-09-05 12:49:48.000000000 +0200
---- src/version.c	2013-09-05 13:41:47.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     19,
-  /**/
-
--- 
-        Very funny, Scotty.  Now beam down my clothes.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.020 b/pkgs/applications/editors/vim/patches/7.4.020
deleted file mode 100644
index 942d82fe255..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.020
+++ /dev/null
@@ -1,82 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.020
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.020
-Problem:    NFA engine matches too much with \@>. (John McGowan)
-Solution:   When a whole pattern match is found stop searching.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.019/src/regexp_nfa.c	2013-08-25 17:01:36.000000000 +0200
---- src/regexp_nfa.c	2013-09-05 15:59:44.000000000 +0200
-***************
-*** 5322,5328 ****
-  		log_subsexpr(m);
-  #endif
-  		nfa_match = TRUE;
-! 		break;
-  
-  	    case NFA_START_INVISIBLE:
-  	    case NFA_START_INVISIBLE_FIRST:
---- 5322,5331 ----
-  		log_subsexpr(m);
-  #endif
-  		nfa_match = TRUE;
-! 		/* See comment above at "goto nextchar". */
-! 		if (nextlist->n == 0)
-! 		    clen = 0;
-! 		goto nextchar;
-  
-  	    case NFA_START_INVISIBLE:
-  	    case NFA_START_INVISIBLE_FIRST:
-*** ../vim-7.4.019/src/testdir/test64.in	2013-08-14 13:31:03.000000000 +0200
---- src/testdir/test64.in	2013-09-05 15:35:44.000000000 +0200
-***************
-*** 427,432 ****
---- 427,433 ----
-  :""""" \@>
-  :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
-  :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
-+ :call add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
-  :" TODO: BT engine does not restore submatch after failure
-  :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
-  :"
-*** ../vim-7.4.019/src/testdir/test64.ok	2013-08-14 13:31:03.000000000 +0200
---- src/testdir/test64.ok	2013-09-05 16:03:34.000000000 +0200
-***************
-*** 983,988 ****
---- 983,991 ----
-  OK 0 - \(a*\)\@>b
-  OK 1 - \(a*\)\@>b
-  OK 2 - \(a*\)\@>b
-+ OK 0 - ^\(.\{-}b\)\@>.
-+ OK 1 - ^\(.\{-}b\)\@>.
-+ OK 2 - ^\(.\{-}b\)\@>.
-  OK 0 - \(a*\)\@>a\|a\+
-  OK 2 - \(a*\)\@>a\|a\+
-  OK 0 - \_[^8-9]\+
-*** ../vim-7.4.019/src/version.c	2013-09-05 13:50:49.000000000 +0200
---- src/version.c	2013-09-05 16:04:32.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     20,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-173. You keep tracking down the email addresses of all your friends
-     (even childhood friends).
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.021 b/pkgs/applications/editors/vim/patches/7.4.021
deleted file mode 100644
index 0936d9a194b..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.021
+++ /dev/null
@@ -1,86 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.021
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.021
-Problem:    NFA regexp: Using \ze in one branch which doesn't match may cause
-	    end of another branch to be wrong. (William Fugh)
-Solution:   Set end position if it wasn't set yet.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.020/src/regexp_nfa.c	2013-09-05 16:05:32.000000000 +0200
---- src/regexp_nfa.c	2013-09-05 20:56:25.000000000 +0200
-***************
-*** 4209,4218 ****
-  	    break;
-  
-  	case NFA_MCLOSE:
-! 	    if (nfa_has_zend)
-  	    {
-! 		/* Do not overwrite the position set by \ze. If no \ze
-! 		 * encountered end will be set in nfa_regtry(). */
-  		subs = addstate(l, state->out, subs, pim, off);
-  		break;
-  	    }
---- 4209,4219 ----
-  	    break;
-  
-  	case NFA_MCLOSE:
-! 	    if (nfa_has_zend && (REG_MULTI
-! 			? subs->norm.list.multi[0].end.lnum >= 0
-! 			: subs->norm.list.line[0].end != NULL))
-  	    {
-! 		/* Do not overwrite the position set by \ze. */
-  		subs = addstate(l, state->out, subs, pim, off);
-  		break;
-  	    }
-*** ../vim-7.4.020/src/testdir/test64.in	2013-09-05 16:05:32.000000000 +0200
---- src/testdir/test64.in	2013-09-05 20:55:18.000000000 +0200
-***************
-*** 328,333 ****
---- 328,334 ----
-  :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
-  :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
-  :call add(tl, [2, '\>\zs.', 'aword. ', '.'])
-+ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
-  :"
-  :"""" Tests for \@= and \& features
-  :call add(tl, [2, 'abc\@=', 'abc', 'ab'])
-*** ../vim-7.4.020/src/testdir/test64.ok	2013-09-05 16:05:32.000000000 +0200
---- src/testdir/test64.ok	2013-09-05 21:09:56.000000000 +0200
-***************
-*** 752,757 ****
---- 752,760 ----
-  OK 0 - \>\zs.
-  OK 1 - \>\zs.
-  OK 2 - \>\zs.
-+ OK 0 - \s\+\ze\[/\|\s\zs\s\+
-+ OK 1 - \s\+\ze\[/\|\s\zs\s\+
-+ OK 2 - \s\+\ze\[/\|\s\zs\s\+
-  OK 0 - abc\@=
-  OK 1 - abc\@=
-  OK 2 - abc\@=
-*** ../vim-7.4.020/src/version.c	2013-09-05 16:05:32.000000000 +0200
---- src/version.c	2013-09-05 21:11:38.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     21,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-174. You know what a listserv is.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.022 b/pkgs/applications/editors/vim/patches/7.4.022
deleted file mode 100644
index 81a0901f5b5..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.022
+++ /dev/null
@@ -1,148 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.022
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.022
-Problem:    Deadlock while exiting, because of allocating memory.
-Solution:   Do not use gettext() in deathtrap(). (James McCoy)
-Files:	    src/os_unix.c, src/misc1.c
-
-
-*** ../vim-7.4.021/src/os_unix.c	2013-07-03 16:32:32.000000000 +0200
---- src/os_unix.c	2013-09-05 21:40:06.000000000 +0200
-***************
-*** 957,964 ****
-  
-  /*
-   * This function handles deadly signals.
-!  * It tries to preserve any swap file and exit properly.
-   * (partly from Elvis).
-   */
-      static RETSIGTYPE
-  deathtrap SIGDEFARG(sigarg)
---- 957,966 ----
-  
-  /*
-   * This function handles deadly signals.
-!  * It tries to preserve any swap files and exit properly.
-   * (partly from Elvis).
-+  * NOTE: Avoid unsafe functions, such as allocating memory, they can result in
-+  * a deadlock.
-   */
-      static RETSIGTYPE
-  deathtrap SIGDEFARG(sigarg)
-***************
-*** 1090,1107 ****
-      }
-      if (entered == 2)
-      {
-! 	OUT_STR(_("Vim: Double signal, exiting\n"));
-  	out_flush();
-  	getout(1);
-      }
-  
-  #ifdef SIGHASARG
-!     sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"),
-  							 signal_info[i].name);
-  #else
-!     sprintf((char *)IObuff, _("Vim: Caught deadly signal\n"));
-  #endif
-!     preserve_exit();		    /* preserve files and exit */
-  
-  #ifdef NBDEBUG
-      reset_signals();
---- 1092,1114 ----
-      }
-      if (entered == 2)
-      {
-! 	/* No translation, it may call malloc(). */
-! 	OUT_STR("Vim: Double signal, exiting\n");
-  	out_flush();
-  	getout(1);
-      }
-  
-+     /* No translation, it may call malloc(). */
-  #ifdef SIGHASARG
-!     sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n",
-  							 signal_info[i].name);
-  #else
-!     sprintf((char *)IObuff, "Vim: Caught deadly signal\n");
-  #endif
-! 
-!     /* Preserve files and exit.  This sets the really_exiting flag to prevent
-!      * calling free(). */
-!     preserve_exit();
-  
-  #ifdef NBDEBUG
-      reset_signals();
-*** ../vim-7.4.021/src/misc1.c	2013-08-03 17:29:33.000000000 +0200
---- src/misc1.c	2013-09-05 21:34:04.000000000 +0200
-***************
-*** 9174,9179 ****
---- 9174,9181 ----
-  /*
-   * Preserve files and exit.
-   * When called IObuff must contain a message.
-+  * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe
-+  * functions, such as allocating memory.
-   */
-      void
-  preserve_exit()
-***************
-*** 9196,9202 ****
-      {
-  	if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
-  	{
-! 	    OUT_STR(_("Vim: preserving files...\n"));
-  	    screen_start();	    /* don't know where cursor is now */
-  	    out_flush();
-  	    ml_sync_all(FALSE, FALSE);	/* preserve all swap files */
---- 9198,9204 ----
-      {
-  	if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
-  	{
-! 	    OUT_STR("Vim: preserving files...\n");
-  	    screen_start();	    /* don't know where cursor is now */
-  	    out_flush();
-  	    ml_sync_all(FALSE, FALSE);	/* preserve all swap files */
-***************
-*** 9206,9212 ****
-  
-      ml_close_all(FALSE);	    /* close all memfiles, without deleting */
-  
-!     OUT_STR(_("Vim: Finished.\n"));
-  
-      getout(1);
-  }
---- 9208,9214 ----
-  
-      ml_close_all(FALSE);	    /* close all memfiles, without deleting */
-  
-!     OUT_STR("Vim: Finished.\n");
-  
-      getout(1);
-  }
-*** ../vim-7.4.021/src/version.c	2013-09-05 21:15:38.000000000 +0200
---- src/version.c	2013-09-05 21:30:18.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     22,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-175. You send yourself e-mail before you go to bed to remind you
-     what to do when you wake up.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/patches/7.4.023 b/pkgs/applications/editors/vim/patches/7.4.023
deleted file mode 100644
index 03005213ea4..00000000000
--- a/pkgs/applications/editors/vim/patches/7.4.023
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.023
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.4.023
-Problem:    Compiler warning on 64 bit windows.
-Solution:   Add type cast. (Mike Williams)
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.022/src/edit.c	2013-09-05 13:50:49.000000000 +0200
---- src/edit.c	2013-09-06 17:32:55.000000000 +0200
-***************
-*** 5189,5195 ****
-  	    mb_ptr_back(line, p);
-  	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-  		mb_ptr_back(line, p);
-! 	    startcol = p - line;
-  
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
---- 5189,5195 ----
-  	    mb_ptr_back(line, p);
-  	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-  		mb_ptr_back(line, p);
-! 	    startcol = (int)(p - line);
-  
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-*** ../vim-7.4.022/src/version.c	2013-09-05 21:41:35.000000000 +0200
---- src/version.c	2013-09-06 17:33:41.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     23,
-  /**/
-
--- 
-Wizards had always known that the act of observation changed the thing that
-was observed, and sometimes forgot that it also changed the observer too.
-			Terry Pratchett  -  Interesting times
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\  an exciting new programming language -- http://www.Zimbu.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/pkgs/applications/editors/vim/python_framework.patch b/pkgs/applications/editors/vim/python_framework.patch
new file mode 100644
index 00000000000..b7c7cee6cd9
--- /dev/null
+++ b/pkgs/applications/editors/vim/python_framework.patch
@@ -0,0 +1,23 @@
+diff --git a/src/auto/configure b/src/auto/configure
+index a9755a0..4a0e2a4 100755
+--- a/auto/configure
++++ b/auto/configure
+@@ -5638,10 +5638,6 @@ __:
+ eof
+ 	    	    eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
+ 	    rm -f -- "${tmp_mkf}"
+-	    if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
+-		"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
+-	      vi_cv_path_python_plibs="-framework Python"
+-	    else
+ 	      if test "${vi_cv_var_python_version}" = "1.4"; then
+ 		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
+ 	      else
+@@ -5649,7 +5645,6 @@ eof
+ 	      fi
+ 	      vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
+ 	      	      vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
+-	    fi
+ 
+ fi
+ 
diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix
new file mode 100644
index 00000000000..2357e23bf01
--- /dev/null
+++ b/pkgs/applications/editors/vim/qvim.nix
@@ -0,0 +1,126 @@
+args@{...}: with args;
+
+
+let inherit (args.composableDerivation) composableDerivation edf; in
+composableDerivation {
+  # use gccApple to compile on darwin
+  mkDerivation = ( if stdenv.isDarwin
+                   then stdenvAdapters.overrideGCC stdenv gccApple
+                   else stdenv ).mkDerivation;
+} (fix: {
+
+    name = "qvim-7.4";
+
+    enableParallelBuilding = true; # test this
+
+    src = fetchgit {
+      url = https://bitbucket.org/equalsraf/vim-qt.git ;
+      rev = "4160bfd5c1380e899d2f426b494fc4f1cf6ae85e";
+      sha256 = "1qa3xl1b9gqw66p71h53l7ibs4y3zfyj553jss70ybxaxchbhi5b";
+    };
+
+    # FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
+    # to meta.platforms.unix
+    preConfigure = assert (! stdenv.isDarwin); "";
+
+    configureFlags = [ "--with-vim-name=qvim" "--enable-gui=qt" "--with-features=${args.features}" ];
+
+    nativeBuildInputs
+      = [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw libXau
+          libXmu libICE qt4];
+
+    # most interpreters aren't tested yet.. (see python for example how to do it)
+    flags = {
+        ftNix = {
+          # because we cd to src in the main patch phase, we can't just add this
+          # patch to the list, we have to apply it manually
+          postPatch = ''
+            cd runtime
+            patch -p2 < ${./ft-nix-support.patch}
+            cd ..
+          '';
+        };
+      }
+      // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
+      // edf { name = "xsmp"; } #Disable XSMP session management
+      // edf { name = "xsmp_interact"; } #Disable XSMP interaction
+      // edf { name = "mzscheme"; } #Include MzScheme interpreter.
+      // edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
+
+      // edf {
+        name = "python";
+        feat = "pythoninterp";
+        enable = {
+          nativeBuildInputs = [ python ];
+        } // lib.optionalAttrs stdenv.isDarwin {
+          configureFlags
+            = [ "--enable-pythoninterp=yes"
+                "--with-python-config-dir=${python}/lib" ];
+        };
+      }
+
+      // edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
+      // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
+      // edf {
+        name = "lua";
+        feat = "luainterp";
+        enable = {
+          nativeBuildInputs = [lua];
+          configureFlags = [
+            "--with-lua-prefix=${args.lua}"
+            "--enable-luainterp"
+          ];
+        };
+      }
+      // edf { name = "cscope"; } #Include cscope interface.
+      // edf { name = "workshop"; } #Include Sun Visual Workshop support.
+      // edf { name = "netbeans"; } #Disable NetBeans integration support.
+      // edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
+      // edf { name = "multibyte"; } #Include multibyte editing support.
+      // edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
+      // edf { name = "xim"; } #Include XIM input support.
+      // edf { name = "fontset"; } #Include X fontset output support.
+      // edf { name = "acl"; } #Don't check for ACL support.
+      // edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
+      // edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
+      ;
+
+  cfg = {
+    luaSupport       = config.vim.lua or true;
+    pythonSupport    = config.vim.python or true;
+    rubySupport      = config.vim.ruby or true;
+    nlsSupport       = config.vim.nls or false;
+    tclSupport       = config.vim.tcl or false;
+    multibyteSupport = config.vim.multibyte or false;
+    cscopeSupport    = config.vim.cscope or false;
+    netbeansSupport  = config.netbeans or true; # eg envim is using it
+
+    # by default, compile with darwin support if we're compiling on darwin, but
+    # allow this to be disabled by setting config.vim.darwin to false
+    darwinSupport    = stdenv.isDarwin && (config.vim.darwin or true);
+
+    # add .nix filetype detection and minimal syntax highlighting support
+    ftNixSupport     = config.vim.ftNix or true;
+  };
+
+  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
+    rpath=`patchelf --print-rpath $out/bin/qvim`;
+    for i in $nativeBuildInputs; do
+      echo adding $i/lib
+      rpath=$rpath:$i/lib
+    done
+    echo $nativeBuildInputs
+    echo $rpath
+    patchelf --set-rpath $rpath $out/bin/qvim
+  '';
+
+  dontStrip = 1;
+
+  meta = with stdenv.lib; {
+    description = "The most popular clone of the VI editor (Qt GUI fork)";
+    homepage    = https://bitbucket.org/equalsraf/vim-qt/wiki/Home;
+    maintainers = with maintainers; [ smironov ];
+    platforms   = platforms.linux;
+  };
+})
+
diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix
new file mode 100644
index 00000000000..59b6992a369
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-contrib.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }:
+
+cabal.mkDerivation (self: {
+  pname = "yi-contrib";
+  version = "0.8.2";
+  sha256 = "17rbgrra1ghlywiraadf16n7igxp1k8jqqmb0iw8sc15y7825qqm";
+  buildDepends = [
+    filepath lens mtl split time transformersBase yi
+  ];
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Yi";
+    description = "Add-ons to Yi, the Haskell-Scriptable Editor";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
new file mode 100644
index 00000000000..ae5e9a83452
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -0,0 +1,63 @@
+{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
+, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree
+, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec
+, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe
+, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase
+, uniplate, unixCompat, unorderedContainers, utf8String, vty
+, xdgBasedir
+, withPango ? true
+
+# User may need extra dependencies for their configuration file so we
+# want to specify it here to have them available when wrapping the
+# produced binary.
+, extraDepends ? [ ]
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yi";
+  version = "0.8.2";
+  sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary Cabal cautiousFile concreteTyperep dataDefault derive Diff
+    dlist dyre filepath fingertree hashable hint lens mtl
+    parsec pointedlist QuickCheck random regexBase regexTdfa safe
+    split time transformersBase uniplate unixCompat unorderedContainers
+    utf8String vty xdgBasedir
+  ] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends;
+  testDepends = [
+    filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck
+  ];
+  buildTools = [ alex ];
+  configureFlags = if withPango then "-fpango" else "-f-pango";
+  doCheck = false;
+
+  # https://ghc.haskell.org/trac/ghc/ticket/9170
+  noHaddock = self.ghc.version == "7.6.3";
+
+  # Allows Yi to find the libraries it needs at runtime.
+  postInstall = ''
+    mv $out/bin/yi $out/bin/.yi-wrapped
+    cat - > $out/bin/yi <<EOF
+    #! ${self.stdenv.shell}
+    # Trailing : is necessary for it to pick up Prelude &c.
+    export GHC_PACKAGE_PATH=$(${self.ghc.GHCGetPackages} ${self.ghc.version} \
+                              | sed 's/-package-db\ //g' \
+                              | sed 's/^\ //g' \
+                              | sed 's/\ /:/g')\
+    :$out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf:
+
+    eval exec $out/bin/.yi-wrapped "\$@"
+    EOF
+    chmod +x $out/bin/yi
+  '';
+
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Yi";
+    description = "The Haskell-Scriptable Editor";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.fuuzetsu ];
+  };
+})
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
new file mode 100644
index 00000000000..585a3a58d5f
--- /dev/null
+++ b/pkgs/applications/editors/zed/default.nix
@@ -0,0 +1,103 @@
+{ stdenv, buildEnv, fetchgit, xlibs, glib, gtk2, atk, pango, gdk_pixbuf,
+  cairo, freetype, fontconfig, nss, nspr, gnome, alsaLib, expat, dbus, udev,
+  makeWrapper, writeScript, fetchurl, zip, pkgs, node_webkit }:
+
+let
+  name = "zed-${version}";
+  version = "0.12";
+
+  rpath_env = buildEnv {
+    name = "rpath_env";
+    paths = [ xlibs.libX11 xlibs.libXrender glib xlibs.libXtst gtk2 atk pango
+      gdk_pixbuf cairo freetype fontconfig xlibs.libXi xlibs.libXcomposite
+      nss nspr gnome.GConf xlibs.libXext xlibs.libXfixes alsaLib
+      xlibs.libXdamage expat dbus stdenv.gcc ];
+    pathsToLink = [ "/lib" "/lib64" ];
+  };
+
+  # When upgrading node.nix / node packages:
+  #   fetch package.json from Zed's repository
+  #   run `npm2nix package.json node.nix`
+  #   and replace node.nix with new one
+  nodePackages = import ../../../../pkgs/top-level/node-packages.nix {
+    inherit pkgs;
+    inherit (pkgs) stdenv nodejs fetchurl fetchgit;
+    neededNatives = [ pkgs.python ] ++ pkgs.lib.optional pkgs.stdenv.isLinux pkgs.utillinux;
+    self = nodePackages;
+    generated = ./node.nix;
+  };
+
+  node_env = buildEnv {
+    name = "node_env";
+    paths = [ nodePackages.tar nodePackages.request ];
+    pathsToLink = [ "/lib" ];
+  };
+
+  zed = stdenv.mkDerivation rec {
+    inherit name version;
+
+    src = fetchgit {
+        url = "git://github.com/zedapp/zed";
+        rev = "refs/tags/v${version}";
+        sha256 = "1l1adj4p916km626vxg1lv0bapzay4z5nq005pxsbjbcycrhds59";
+      };
+
+    buildInputs = [ makeWrapper zip ];
+
+    dontBuild = true;
+
+    installPhase = ''
+      export NWPATH="${node_webkit}/share/node-webkit";
+
+      mkdir -p $out/zed
+
+      cd ${src}/app; zip -r $out/zed/app.nw *; cd ..
+
+      cat $NWPATH/nw $out/zed/app.nw > $out/zed/zed-bin
+      cp $NWPATH/nw.pak $out/zed/
+      cp nw/zed-linux $out/zed/zed
+      chmod +x $out/zed/zed*
+      cp Zed.desktop.tmpl Zed.svg Zed.png $out/zed
+      rm $out/zed/app.nw
+    '';
+
+    postFixup = ''
+      patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/zed/zed-bin
+      patchelf --set-rpath "${rpath_env}/lib:${rpath_env}/lib64" $out/zed/zed-bin
+
+      mkdir -p $out/lib
+      ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
+
+      wrapProgram $out/zed/zed-bin \
+        --prefix LD_LIBRARY_PATH : $out/lib \
+        --prefix NODE_PATH : ${node_env}/lib/node_modules
+    '';
+  };
+
+  zed_script = writeScript "zed.sh" ''
+    if [[ $1 == http://* ]] || [[ $1 == https://* ]]; then
+        PROJECT=$1
+    elif [ "" != "$1" ]; then
+       PROJECT=$(readlink -f $1)
+    fi
+    ${zed}/zed/zed-bin $PROJECT
+  '';
+
+in stdenv.mkDerivation rec {
+  inherit name version;
+
+  src = zed;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    ln -s ${zed_script} $out/bin/zed
+  '';
+
+  meta = {
+    description = "Zed is a fully offline-capable, open source, keyboard-focused, text and code editor for power users";
+    license = stdenv.lib.licenses.mit;
+    homepage = http://zedapp.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
new file mode 100644
index 00000000000..b4a7cec4269
--- /dev/null
+++ b/pkgs/applications/editors/zed/node.nix
@@ -0,0 +1,634 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-asn1-0.1.11";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        name = "asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."asn1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "asn1" ];
+  };
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-assert-plus-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+        name = "assert-plus-0.1.2.tgz";
+        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."assert-plus" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "assert-plus" ];
+  };
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
+  by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.9.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+        name = "async-0.9.0.tgz";
+        sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-aws-sign2-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        name = "aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."aws-sign2" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "aws-sign2" ];
+  };
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-block-stream-0.0.7";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+        name = "block-stream-0.0.7.tgz";
+        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."block-stream" or []);
+    deps = [
+      self.by-version."inherits"."2.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "block-stream" ];
+  };
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-boom-0.4.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        name = "boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."boom" or []);
+    deps = [
+      self.by-version."hoek"."0.9.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "boom" ];
+  };
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.5";
+  by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-combined-stream-0.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
+        name = "combined-stream-0.0.5.tgz";
+        sha1 = "29ed76e5c9aad07c4acf9ca3d32601cce28697a2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."combined-stream" or []);
+    deps = [
+      self.by-version."delayed-stream"."0.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "combined-stream" ];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cryptiles-0.2.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        name = "cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cryptiles" or []);
+    deps = [
+      self.by-version."boom"."0.4.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cryptiles" ];
+  };
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ctype-0.5.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+        name = "ctype-0.5.2.tgz";
+        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ctype" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ctype" ];
+  };
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-delayed-stream-0.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        name = "delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."delayed-stream" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "delayed-stream" ];
+  };
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forever-agent-0.5.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        name = "forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."forever-agent" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "forever-agent" ];
+  };
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-form-data-0.1.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        name = "form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."form-data" or []);
+    deps = [
+      self.by-version."combined-stream"."0.0.5"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.9.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "form-data" ];
+  };
+  by-spec."fstream"."~0.1.28" =
+    self.by-version."fstream"."0.1.29";
+  by-version."fstream"."0.1.29" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-0.1.29";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.29.tgz";
+        name = "fstream-0.1.29.tgz";
+        sha1 = "34d04023ebc91a9df47bd31ab97e4704b4db413f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fstream" or []);
+    deps = [
+      self.by-version."graceful-fs"."3.0.2"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.8"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "fstream" ];
+  };
+  by-spec."graceful-fs"."~3.0.2" =
+    self.by-version."graceful-fs"."3.0.2";
+  by-version."graceful-fs"."3.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-graceful-fs-3.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz";
+        name = "graceful-fs-3.0.2.tgz";
+        sha1 = "2cb5bf7f742bea8ad47c754caeee032b7e71a577";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."graceful-fs" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "graceful-fs" ];
+  };
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hawk-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        name = "hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hawk" or []);
+    deps = [
+      self.by-version."hoek"."0.9.1"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "hawk" ];
+  };
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hoek-0.9.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        name = "hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hoek" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "hoek" ];
+  };
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-http-signature-0.10.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+        name = "http-signature-0.10.0.tgz";
+        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."http-signature" or []);
+    deps = [
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "http-signature" ];
+  };
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inherits-2.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        name = "inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inherits" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "inherits" ];
+  };
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-json-stringify-safe-5.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+        name = "json-stringify-safe-5.0.0.tgz";
+        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."json-stringify-safe" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "json-stringify-safe" ];
+  };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-1.2.11";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        name = "mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mkdirp"."0.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mkdirp-0.3.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        name = "mkdirp-0.3.5.tgz";
+        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-uuid-1.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+        name = "node-uuid-1.4.1.tgz";
+        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."node-uuid" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "node-uuid" ];
+  };
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-oauth-sign-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        name = "oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."oauth-sign" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "oauth-sign" ];
+  };
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.3.0";
+  by-version."punycode"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-punycode-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.0.tgz";
+        name = "punycode-1.3.0.tgz";
+        sha1 = "7f5009ef539b9444be5c7a19abd2c3ca49e1731c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."punycode" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "punycode" ];
+  };
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.6";
+  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.6.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        name = "qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."request"."~2.34.0" =
+    self.by-version."request"."2.34.0";
+  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.34.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
+        name = "request-2.34.0.tgz";
+        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request" or []);
+    deps = [
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."tough-cookie"."0.12.1"
+      self.by-version."form-data"."0.1.4"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign2"."0.5.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "request" ];
+  };
+  "request" = self.by-version."request"."2.34.0";
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.2.8";
+  by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.2.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+        name = "rimraf-2.2.8.tgz";
+        sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."rimraf" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "rimraf" ];
+  };
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sntp-0.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        name = "sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sntp" or []);
+    deps = [
+      self.by-version."hoek"."0.9.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "sntp" ];
+  };
+  by-spec."tar"."~0.1.19" =
+    self.by-version."tar"."0.1.20";
+  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tar-0.1.20";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+        name = "tar-0.1.20.tgz";
+        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tar" or []);
+    deps = [
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.29"
+      self.by-version."inherits"."2.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tar" ];
+  };
+  "tar" = self.by-version."tar"."0.1.20";
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."0.12.1";
+  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tough-cookie-0.12.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+        name = "tough-cookie-0.12.1.tgz";
+        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tough-cookie" or []);
+    deps = [
+      self.by-version."punycode"."1.3.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tough-cookie" ];
+  };
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tunnel-agent-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+        name = "tunnel-agent-0.3.0.tgz";
+        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tunnel-agent" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tunnel-agent" ];
+  };
+}
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 87ea7ee6854..32d30cd4745 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
 
   meta = {
-    description = "GNU Zile, a lightweight Emacs clone";
+    description = "Lightweight Emacs clone";
 
     longDescription = ''
       GNU Zile, which is a lightweight Emacs clone.  Zile is short
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/zile/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index c2a661c82fd..64b1f5b3b2c 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,6 +1,8 @@
 { stdenv
 , fetchurl
+, pkgconfig
 , bzip2
+, fontconfig
 , freetype
 , ghostscript ? null
 , libjpeg
@@ -16,14 +18,14 @@
 }:
 
 let
-  version = "6.8.6-9";
+  version = "6.8.9-0";
 in
 stdenv.mkDerivation rec {
   name = "ImageMagick-${version}";
 
   src = fetchurl {
     url = "mirror://imagemagick/${name}.tar.xz";
-    sha256 = "1bpj8676mph5cvyjsdgf27i6yg2iw9iskk5c69mvpxkyawgjw1vg";
+    sha256 = "1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b";
   };
 
   enableParallelBuilding = true;
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
       export DVIDecodeDelegate=${tetex}/bin/dvips
     '' else "";
 
-  configureFlags = "" + stdenv.lib.optionalString (ghostscript != null && stdenv.system != "x86_64-darwin") ''
+  configureFlags = "" + stdenv.lib.optionalString (stdenv.system != "x86_64-darwin") ''
     --with-gs-font-dir=${ghostscript}/share/ghostscript/fonts
     --with-gslib
   '' + ''
@@ -42,17 +44,18 @@ stdenv.mkDerivation rec {
   '';
 
   propagatedBuildInputs =
-    [ bzip2 freetype libjpeg libpng libtiff libxml2 zlib librsvg
+    [ bzip2 fontconfig freetype libjpeg libpng libtiff libxml2 zlib librsvg
       libtool jasper libX11
-    ] ++ stdenv.lib.optional (ghostscript != null && stdenv.system != "x86_64-darwin") ghostscript;
+    ] ++ stdenv.lib.optional (stdenv.system != "x86_64-darwin") ghostscript;
 
-  buildInputs = [ tetex ];
+  buildInputs = [ tetex pkgconfig ];
 
   postInstall = ''(cd "$out/include" && ln -s ImageMagick* ImageMagick)'';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.imagemagick.org/;
     description = "A software suite to create, edit, compose, or convert bitmap images";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
+    maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index 6a212a7a931..263c411a8db 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    ensureDir $out/bin $out/share
+    mkdir -p $out/bin $out/share
     cp -a . $out/share/alchemy
     cat >> $out/bin/alchemy << EOF
     #!/bin/sh
@@ -22,6 +22,14 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Drawing application";
+    longDescription = ''
+      Alchemy is an open drawing project aimed at exploring how we can sketch,
+      draw, and create on computers in new ways. Alchemy isn’t software for
+      creating finished artwork, but rather a sketching environment that
+      focuses on the absolute initial stage of the creation process.
+      Experimental in nature, Alchemy lets you brainstorm visually to explore
+      an expanded range of ideas and possibilities in a serendipitous way.
+    '';
     homepage = http://al.chemy.org/;
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [stdenv.lib.maintainers.marcweber];
diff --git a/pkgs/applications/graphics/autopanosiftc/default.nix b/pkgs/applications/graphics/autopanosiftc/default.nix
index a27d982ce8b..6d26dafae62 100644
--- a/pkgs/applications/graphics/autopanosiftc/default.nix
+++ b/pkgs/applications/graphics/autopanosiftc/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cmake, libpng, libtiff, libjpeg, panotools, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "autopano-sift-C-2.5.0";
+  name = "autopano-sift-C-2.5.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/hugin/autopano-sift-C-2.5.0.tar.gz;
-    sha256 = "0pvkapjg7qdkjg151wjc7islly9ag8fg6bj0g5nbllv981ixjql3";
+    url = mirror://sourceforge/hugin/autopano-sift-C-2.5.1.tar.gz;
+    sha256 = "0dqk8ff82gmy4v5ns5nr9gpzkc1p7c2y8c8fkid102r47wsjk44s";
   };
 
   buildInputs = [ cmake libpng libtiff libjpeg panotools libxml2 ];
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://hugin.sourceforge.net/;
     description = "Implementation in C of the autopano-sift algorithm for automatically stitching panoramas";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index 8d88e570f27..41a4b102a6f 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -5,11 +5,11 @@
   mesa, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
 
 stdenv.mkDerivation rec {
-  name = "cinepaint-1.0";
+  name = "cinepaint-1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/cinepaint/${name}.tgz";
-    sha256 = "02mbpsykd7sfr9h6c6gxld6i3bdwnsgvm70b5yff01gwi69w2wi7";
+    sha256 = "0b5g4bkq62yiz1cnb2vfij0a8fw5w5z202v5dm4dh89k7cj0yq4w";
   };
 
   buildInputs = [ libpng gtk freetype fontconfig lcms flex libtiff libjpeg
diff --git a/pkgs/applications/graphics/comical/default.nix b/pkgs/applications/graphics/comical/default.nix
index 68910e67e25..2796a5535a0 100644
--- a/pkgs/applications/graphics/comical/default.nix
+++ b/pkgs/applications/graphics/comical/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Viewer of CBR and CBZ files, often used to store scanned comics";
     homepage = http://comical.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 76669626581..c4e2a7534af 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -9,12 +9,12 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "1.2.3";
+  version = "1.4.2";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
-    sha256 = "05kkkz13a5rhb246rq1nxv7h91pcvm15filvik8n8gn143h64sv8";
+    sha256 = "02875rnabw5m9aqfls59901889iyxkmm4xk445fvh1v06dp1lcf1";
   };
 
   buildInputs =
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index ab421cee158..da683888063 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -1,16 +1,21 @@
-{stdenv, fetchurl_gnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
+{stdenv, fetchurl, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
 , python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl
 , withGNOME ? false, libgnomeui }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "dia";
     major = "0"; minor = "97"; patchlevel = "2"; extension = "xz";
     sha256 = "1qgawm7rrf4wd1yc0fp39ywv8gbz4ry1s16k00dzg5w6p67lfqd7";
   };
 
+  correctPersistence = fetchurl {
+    url = https://launchpadlibrarian.net/132677658/persistence;
+    sha256 = "1rv6zv9i03bna4bdp1wzn72lg7kdwi900y1izdq0imibi54nxjsk";
+  };
+
   buildInputs =
     [ gtk perlXMLParser libxml2 gettext python libxml2Python docbook5
       libxslt docbook_xsl libart_lgpl
@@ -24,7 +29,17 @@ stdenv.mkDerivation rec {
 
   # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
   # It have no reasons to exist in a redistribuable package
-  postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
+  postInstall = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+
+    cd "$out"/bin/
+    mv dia .dia-wrapped
+    echo '#! ${stdenv.shell}' >> dia
+    echo 'test -f "$HOME/.dia/persistence" || cp ${correctPersistence} "$HOME/.dia/persistence" ' >> dia
+    echo 'chmod u+rw "$HOME/.dia/persistence" ' >> dia
+    echo "\"$out/bin/"'.dia-wrapped" "$@"' >> dia
+    chmod a+x dia
+  '';
 
   meta = {
     description = "Gnome Diagram drawing software";
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 713adaffd06..5bc409d10e5 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -4,11 +4,11 @@ liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost
 shared_desktop_ontologies, marble, mysql }:
 
 stdenv.mkDerivation rec {
-  name = "digikam-3.2.0";
+  name = "digikam-3.5.0";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/digikam/${name}.tar.bz2";
-    sha256 = "06j858d2nvbqh0bw6m60rh1bsws06fm5vfjpwwi3zxsf5ka08wmx";
+    sha256 = "0an4awlg0b8pwl6v8p5zfl3aghgnxck2pc322cyk6i6yznj2mgap";
   };
 
   nativeBuildInputs = [ cmake automoc4 pkgconfig ];
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix
index f832513a824..4ded807cb29 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/applications/graphics/djview/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 	meta = {
 		homepage = http://djvu.sourceforge.net/djview4.html;
 		description = "A new portable DjVu viewer and browser plugin";
-		license = "GPL2";
+		license = stdenv.lib.licenses.gpl2;
     inherit (qt4.meta) platforms;
     maintainers = [ stdenv.lib.maintainers.urkud ];
 	};
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 0cd34027966..d23f42fdbf9 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -1,20 +1,25 @@
-{ stdenv, fetchurl, x11, imlib2, libjpeg, libpng, giblib
+{ stdenv, makeWrapper, fetchurl, x11, imlib2, libjpeg, libpng
 , libXinerama, curl }:
 
 stdenv.mkDerivation rec {
-  name = "feh-2.8";
+  name = "feh-2.12";
 
   src = fetchurl {
     url = "http://feh.finalrewind.org/${name}.tar.bz2";
-    sha256 = "0zmslchnzvi9ydxj2mgci4x8zpv5mdfkf7kyny3nibbpajibqmrx";
+    sha256 = "0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30";
   };
 
-  buildInputs = [x11 imlib2 giblib libjpeg libpng libXinerama curl ];
+  buildInputs = [makeWrapper x11 imlib2 libjpeg libpng libXinerama curl];
 
   preBuild = ''
     makeFlags="PREFIX=$out"
   '';
 
+  postInstall = ''
+    wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg}/bin" \
+                               --add-flags '--theme=feh'
+  '';
+
   meta = {
     description = "A light-weight image viewer";
     homepage = https://derf.homelinux.org/projects/feh/;
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 340c9d0a69e..a7665177046 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,18 +1,20 @@
-{ fetchurl, stdenv, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts,
-boost, zlib,
-python, swig, gfortran, soqt, libf2c, pyqt4, makeWrapper }:
+{ stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
+, boost, zlib, python, swig, gfortran, soqt, libf2c, makeWrapper
+, matplotlib, pycollada, pyside, pysideShiboken }:
 
 stdenv.mkDerivation rec {
   name = "freecad-${version}";
-  version = "0.13.1830";
+  version = "0.14.3702";
 
   src = fetchurl {
     url = "mirror://sourceforge/free-cad/${name}.tar.gz";
-    sha256 = "04rgww5y32asn4sx5j4wh79ggvb479pq56xfcfj6gkg44mid23jm";
+    sha256 = "1jcx7d3mp2wxkd20qdvr4vlf7h5wb0jgab9dl63sicdz88swy97f";
   };
 
   buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
-    zlib python swig gfortran soqt libf2c pyqt4 makeWrapper ];
+    zlib python swig gfortran soqt libf2c makeWrapper matplotlib
+    pycollada pyside pysideShiboken
+  ];
 
   enableParallelBuilding = true;
 
@@ -28,11 +30,11 @@ stdenv.mkDerivation rec {
 
   patches = [ ./pythonpath.patch ];
 
-  meta = {
-    homepage = http://free-cad.sourceforge.net/;
-    license = [ "GPLv2+" "LGPLv2+" ];
+  meta = with stdenv.lib; {
     description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    homepage = http://www.freecadweb.org/;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix
new file mode 100644
index 00000000000..0af750ec989
--- /dev/null
+++ b/pkgs/applications/graphics/gcolor2/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, gtk, perl, perlXMLParser, pkgconfig } :
+
+let version = "0.4"; in
+stdenv.mkDerivation {
+  name = "gcolor2-${version}";
+  arch = if stdenv.system == "x86_64-linux" then "amd64" else "386";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/gcolor2/gcolor2/${version}/gcolor2-${version}.tar.bz2";
+    sha1 = "e410a52dcff3d5c6c3d448b68a026d04ccd744be";
+
+  };
+
+  preConfigure = ''
+    sed -i 's/\[:space:\]/[&]/g' configure
+  '';
+
+  # from https://github.com/PhantomX/slackbuilds/tree/master/gcolor2/patches
+  patches = if stdenv.system == "x86_64-linux" then
+        [ ./gcolor2-amd64.patch ] else
+        [ ];
+
+buildInputs = [ gtk perl perlXMLParser pkgconfig ];
+
+  meta = {
+    description = "Simple GTK+2 color selector";
+    homepage = http://gcolor2.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ notthemessiah ];
+  };
+}
diff --git a/pkgs/applications/graphics/gcolor2/gcolor2-amd64.patch b/pkgs/applications/graphics/gcolor2/gcolor2-amd64.patch
new file mode 100644
index 00000000000..cd06a8315f9
--- /dev/null
+++ b/pkgs/applications/graphics/gcolor2/gcolor2-amd64.patch
@@ -0,0 +1,46 @@
+diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/callbacks.c gcolor2-0.4/src/callbacks.c
+--- gcolor2-0.4.orig/src/callbacks.c	2005-07-12 14:06:12.000000000 -0400
++++ gcolor2-0.4/src/callbacks.c	2007-02-17 19:19:38.000000000 -0500
+@@ -4,6 +4,9 @@
+ 
+ #include <gtk/gtk.h>
+ #include <stdio.h>
++#include <string.h>
++#include <glib.h>
++#include <glib/gprintf.h>
+ 
+ #include "callbacks.h"
+ #include "interface.h"
+@@ -172,6 +175,9 @@ void on_copy_color_to_clipboard_activate
+ 	gtk_clipboard_set_text (cb, hex, strlen (hex));
+ }
+ 
++void add_rgb_file (gchar *filename, gchar *type);
++gchar* get_system_file (void);
++
+ void on_show_system_colors_activate (GtkMenuItem *menuitem, gpointer user_data)
+ {
+ 	if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)))
+@@ -266,6 +272,8 @@ void on_save_button_clicked (GtkButton *
+ 	gtk_widget_destroy (savedialog);
+ }
+ 
++void add_list_color (gchar *spec, gchar *name, gchar *type, gboolean is_new_color);
++
+ void add_color_to_treeview ()
+ {
+ 	GtkTreeView      *treeview;
+diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/main.c gcolor2-0.4/src/main.c
+--- gcolor2-0.4.orig/src/main.c	2005-07-11 10:55:49.000000000 -0400
++++ gcolor2-0.4/src/main.c	2007-02-17 19:18:23.000000000 -0500
+@@ -4,6 +4,10 @@
+ 
+ #include <gtk/gtk.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <glib.h>
++#include <glib/gprintf.h>
+ 
+ #include "interface.h"
+ #include "support.h"
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index ff1e5052054..b170b784aaa 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -35,16 +35,17 @@ stdenv.mkDerivation rec {
     description = "Geeqie, a lightweight GTK+ based image viewer";
 
     longDescription =
-      '' Geeqie is a lightweight GTK+ based image viewer for Unix like
-         operating systems.  It features: EXIF, IPTC and XMP metadata
-         browsing and editing interoperability; easy integration with other
-         software; geeqie works on files and directories, there is no need to
-         import images; fast preview for many raw image formats; tools for
-         image comparison, sorting and managing photo collection.  Geeqie was
-         initially based on GQview.
+      ''
+        Geeqie is a lightweight GTK+ based image viewer for Unix like
+        operating systems.  It features: EXIF, IPTC and XMP metadata
+        browsing and editing interoperability; easy integration with other
+        software; geeqie works on files and directories, there is no need to
+        import images; fast preview for many raw image formats; tools for
+        image comparison, sorting and managing photo collection.  Geeqie was
+        initially based on GQview.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://geeqie.sourceforge.net;
 
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index 4e12e232081..aca4d822c82 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, 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, xlibs }:
+, python, pygtk, libart_lgpl, libexif, gettext, xlibs, wrapPython }:
 
 stdenv.mkDerivation rec {
-  name = "gimp-2.8.6";
+  name = "gimp-2.8.10";
 
   src = fetchurl {
-    url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    md5 = "12b3fdf33d1f07ae79b412a9e38b9693";
+    url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
+    sha256 = "1rha8yx0pplfjziqczjrxxp16vsvpmb5ziq3c218s4w9z4cqpzg7";
   };
 
   buildInputs =
@@ -16,8 +16,13 @@ stdenv.mkDerivation rec {
       freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
       libmng librsvg libwmf zlib libzip ghostscript aalib jasper
       python pygtk libart_lgpl libexif gettext xlibs.libXpm
+      wrapPython
     ];
 
+  pythonPath = [ pygtk ];
+
+  postInstall = ''wrapPythonPrograms'';
+
   passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?
 
   #configureFlags = [ "--disable-print" ];
@@ -29,5 +34,6 @@ stdenv.mkDerivation rec {
     description = "The GNU Image Manipulation Program";
     homepage = http://www.gimp.org/;
     license = "GPL";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
deleted file mode 100644
index 33d52c6645b..00000000000
--- a/pkgs/applications/graphics/gimp/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, freetype
-, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
-, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl_0_0_22, gegl_0_0_22
-}:
-
-stdenv.mkDerivation rec {
-  name = "gimp-2.6.12";
-
-  src = fetchurl {
-    url = "ftp://ftp.gtk.org/pub/gimp/v2.6/${name}.tar.bz2";
-    sha256 = "0qpcgaa4pdqqhyyy8vjvzfflxgsrrs25zk79gixzlnbzq3qwjlym";
-  };
-
-  buildInputs = [
-    pkgconfig gtk freetype fontconfig
-    libart_lgpl libtiff libjpeg libpng libexif zlib perl
-    perlXMLParser python pygtk gettext intltool babl_0_0_22 gegl_0_0_22
-  ];
-
-  passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?
-
-  configureFlags = [ "--disable-print" ];
-
-  # "screenshot" needs this.
-  NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib";
-
-  meta = {
-    description = "The GNU Image Manipulation Program";
-    homepage = http://www.gimp.org/;
-    license = "GPL";
-  };
-}
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index d314d93ea4c..7139bc71f3c 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -68,18 +68,33 @@ rec {
     };
   };
 
-  fourier = pluginDerivation {
+  fourier = pluginDerivation rec {
     /* menu:
        Filters/Generic/FFT Forward
        Filters/Generic/FFT Inverse
     */
-    name = "fourier-0.3.3";
-    buildInputs = [ gimp pkgs.fftwSinglePrec  pkgconfig glib] ++ gimp.nativeBuildInputs;
+    name = "fourier-0.4.1";
+    buildInputs = [ gimp pkgs.fftw  pkgconfig glib] ++ gimp.nativeBuildInputs;
     postInstall = "fail";
     installPhase = "installPlugins fourier";
     src = fetchurl {
-      url = http://people.via.ecp.fr/~remi/soft/gimp/fourier-0.3.3.tar.gz;
-      sha256 = "0xxgp0lrjxsj54sgygi31c7q41jkqzn0v18qyznrviv8r099v29p";
+      url = "http://registry.gimp.org/files/${name}.tar.gz";
+      sha256 = "1pr3y3zl9w8xs1circdrxpr98myz9m8wfzy022al79z4pdanwvs1";
+    };
+  };
+
+  focusblur = pluginDerivation rec {
+    /* menu:
+       Blur/Focus Blur
+    */
+    name = "focusblur-3.2.6";
+    buildInputs = [ gimp pkgconfig pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
+    patches = [ ./patches/focusblur-glib.patch ];
+    postInstall = "fail";
+    installPhase = "installPlugins src/focusblur";
+    src = fetchurl {
+      url = "http://registry.gimp.org/files/${name}.tar.bz2";
+      sha256 = "1gqf3hchz7n7v5kpqkhqh8kwnxbsvlb5cr2w2n7ngrvl56f5xs1h";
     };
   };
 
@@ -110,6 +125,9 @@ rec {
       url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
       sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
     };
+    patchPhase = ''
+      sed -i '/.*gimpimage_pdb.h.*/ d' src/*.c*
+    '';
     installPhase = "installPlugins src/texturize";
   };
 
@@ -140,21 +158,22 @@ rec {
     installPhase = "installPlugins src/gimp-lqr-plugin";
   };
 
-  # this is more than a gimp plugin !
-  # it can be made to compile the gimp plugin only though..
   gmic =
-  let imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
-  in pluginDerivation {
-      name = "gmic-1.3.2.0";
-      buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
+  let
+    imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
+  in pluginDerivation rec {
+      name = "gmic-1.5.7.2";
+      buildInputs = [imagemagick pkgconfig pkgs.fftw gimp] ++ gimp.nativeBuildInputs;
       src = fetchurl {
-        url = mirror://sourceforge/gmic/gmic_1.3.2.0.tar.gz;
-        sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
+        url = mirror://sourceforge/gmic/gmic_1.5.7.2.tar.gz;
+        sha256 = "1cpbxb3p2c8bcv2cbr150whapzjc7w09i3jza0z9x3xj8c0vdyv1";
       };
       preConfigure = ''
         export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${imagemagick}/include/ImageMagick"
       '';
-      installPhase = "installPlugins src/gmic4gimp";
+      sourceRoot = "${name}/src";
+      buildPhase = "make gimp";
+      installPhase = "installPlugins gmic_gimp";
       meta = { 
         description = "script language for image processing which comes with its open-source interpreter";
         homepage = http://gmic.sourceforge.net/repository.shtml;
@@ -170,9 +189,9 @@ rec {
   # this is more than a gimp plugin !
   # either load the raw image with gimp (and the import dialog will popup)
   # or use the binary
-  ufraw = pluginDerivation {
-    name = "ufraw-0.15";
-    buildInputs = [pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
+  ufraw = pluginDerivation rec {
+    name = "ufraw-0.19.2";
+    buildInputs = [pkgs.gtkimageview pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
       # --enable-mime - install mime files, see README for more information
       # --enable-extras - build extra (dcraw, nikon-curve) executables
       # --enable-dst-correction - enable DST correction for file timestamps.
@@ -184,8 +203,8 @@ rec {
     configureFlags = "--enable-extras --enable-dst-correction --enable-contrast";
 
     src = fetchurl {
-      url = mirror://sourceforge/ufraw/ufraw-0.15.tar.gz;
-      sha256 = "0cf3csksjkyl91zxhjnn74vc31l14nm6n1i02s76xdvvkk9ics8k";
+      url = "mirror://sourceforge/ufraw/${name}.tar.gz";
+      sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
     };
     installPhase = "
       installPlugins ufraw-gimp
@@ -217,7 +236,7 @@ rec {
 
       homepage = http://lensfun.sebastiankraft.net/;
 
-      license = "GPLv3+";
+      license = stdenv.lib.licenses.gpl3Plus;
       maintainers = [ stdenv.lib.maintainers.ludo ];
       platforms = stdenv.lib.platforms.gnu;
     };
diff --git a/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch b/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
new file mode 100644
index 00000000000..b1079ab3660
--- /dev/null
+++ b/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
@@ -0,0 +1,200 @@
+ls diff --git focusblur-3.2.6/src/aaa.h focusblur-3.2.6/src/aaa.h
+index 4a6d90b..c74cab2 100644
+--- focusblur-3.2.6/src/aaa.h
++++ focusblur-3.2.6/src/aaa.h
+@@ -19,8 +19,7 @@
+ #ifndef __AAA_H__
+ #define __AAA_H__
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ 
+ G_BEGIN_DECLS
+diff --git focusblur-3.2.6/src/brush.h focusblur-3.2.6/src/brush.h
+index 685b253..8778fec 100644
+--- focusblur-3.2.6/src/brush.h
++++ focusblur-3.2.6/src/brush.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_BRUSH_H__
+ #define __FOCUSBLUR_BRUSH_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include "focusblurtypes.h"
+ 
+ G_BEGIN_DECLS
+diff --git focusblur-3.2.6/src/depthmap.h focusblur-3.2.6/src/depthmap.h
+index 78f5e99..baee540 100644
+--- focusblur-3.2.6/src/depthmap.h
++++ focusblur-3.2.6/src/depthmap.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_DEPTHMAP_H__
+ #define __FOCUSBLUR_DEPTHMAP_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblurtypes.h"
+ #include "focusblurenums.h"
+diff --git focusblur-3.2.6/src/diffusion.h focusblur-3.2.6/src/diffusion.h
+index 07ffe4b..3c1e4b9 100644
+--- focusblur-3.2.6/src/diffusion.h
++++ focusblur-3.2.6/src/diffusion.h
+@@ -23,7 +23,7 @@
+ #define __FOCUSBLUR_DIFFUSION_H__
+ 
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblur.h"
+ #include "focusblurtypes.h"
+diff --git focusblur-3.2.6/src/fftblur.h focusblur-3.2.6/src/fftblur.h
+index 124bcba..cd809fa 100644
+--- focusblur-3.2.6/src/fftblur.h
++++ focusblur-3.2.6/src/fftblur.h
+@@ -23,8 +23,7 @@
+ #define __FOCUSBLUR_FFTBLUR_H__
+ 
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <libgimpwidgets/gimpwidgetstypes.h>
+ 
+ #include "focusblurparam.h"
+diff --git focusblur-3.2.6/src/fftblurbuffer.h focusblur-3.2.6/src/fftblurbuffer.h
+index b34d682..42e6380 100644
+--- focusblur-3.2.6/src/fftblurbuffer.h
++++ focusblur-3.2.6/src/fftblurbuffer.h
+@@ -28,8 +28,7 @@
+ #endif
+ #include <fftw3.h>
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <gtk/gtkstyle.h>
+ #include <libgimp/gimptypes.h>
+ #include <libgimpwidgets/gimpwidgetstypes.h>
+diff --git focusblur-3.2.6/src/fftblurproc.h focusblur-3.2.6/src/fftblurproc.h
+index 495572d..10a34f4 100644
+--- focusblur-3.2.6/src/fftblurproc.h
++++ focusblur-3.2.6/src/fftblurproc.h
+@@ -23,8 +23,7 @@
+ #define __FOCUSBLUR_FFTBLUR_PROC_H__
+ 
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblurtypes.h"
+ 
+diff --git focusblur-3.2.6/src/focusblur.h focusblur-3.2.6/src/focusblur.h
+index 54ca40a..d7e13a6 100644
+--- focusblur-3.2.6/src/focusblur.h
++++ focusblur-3.2.6/src/focusblur.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_H__
+ #define __FOCUSBLUR_H__
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff --git focusblur-3.2.6/src/focusblurparam.h focusblur-3.2.6/src/focusblurparam.h
+index 64c887b..32865b4 100644
+--- focusblur-3.2.6/src/focusblurparam.h
++++ focusblur-3.2.6/src/focusblurparam.h
+@@ -22,8 +22,7 @@
+ #ifndef __FOCUSBLUR_PARAM_H__
+ #define __FOCUSBLUR_PARAM_H__
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <gtk/gtkstyle.h>
+ #include <libgimp/gimptypes.h>
+ 
+diff --git focusblur-3.2.6/src/focusblurstock.h focusblur-3.2.6/src/focusblurstock.h
+index 15f3603..cfc0567 100644
+--- focusblur-3.2.6/src/focusblurstock.h
++++ focusblur-3.2.6/src/focusblurstock.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_STOCK_H__
+ #define __FOCUSBLUR_STOCK_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff --git focusblur-3.2.6/src/focusblurtypes.h focusblur-3.2.6/src/focusblurtypes.h
+index 0954c60..1531c84 100644
+--- focusblur-3.2.6/src/focusblurtypes.h
++++ focusblur-3.2.6/src/focusblurtypes.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_TYPES_H__
+ #define __FOCUSBLUR_TYPES_H__
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ 
+ G_BEGIN_DECLS
+diff --git focusblur-3.2.6/src/interface.h focusblur-3.2.6/src/interface.h
+index 6defd27..e819c60 100644
+--- focusblur-3.2.6/src/interface.h
++++ focusblur-3.2.6/src/interface.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_INTERFACE_H__
+ #define __FOCUSBLUR_INTERFACE_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblurtypes.h"
+ 
+diff --git focusblur-3.2.6/src/render.h focusblur-3.2.6/src/render.h
+index febbd24..a501f1e 100644
+--- focusblur-3.2.6/src/render.h
++++ focusblur-3.2.6/src/render.h
+@@ -24,7 +24,7 @@
+ 
+ #include "config.h"
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ //#include <libgimp/gimp.h>
+ #include <libgimp/gimpui.h>
+ 
+diff --git focusblur-3.2.6/src/shine.h focusblur-3.2.6/src/shine.h
+index c5a3621..86b4c09 100644
+--- focusblur-3.2.6/src/shine.h
++++ focusblur-3.2.6/src/shine.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_SHINE_H__
+ #define __FOCUSBLUR_SHINE_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <libgimp/gimptypes.h>
+ 
+ #include "focusblurtypes.h"
+diff --git focusblur-3.2.6/src/source.h focusblur-3.2.6/src/source.h
+index 50d34ca..8eec35c 100644
+--- focusblur-3.2.6/src/source.h
++++ focusblur-3.2.6/src/source.h
+@@ -24,7 +24,7 @@
+ 
+ #include "config.h"
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <libgimp/gimptypes.h>
+ 
+ #include "focusblurtypes.h"
diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix
index 8b2c45398d9..2e9d55a3f3f 100644
--- a/pkgs/applications/graphics/giv/default.nix
+++ b/pkgs/applications/graphics/giv/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Cross platform image and hierarchical vector viewer based";
     homepage = http://giv.sourceforge.net/giv/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/gocr/default.nix b/pkgs/applications/graphics/gocr/default.nix
index 0f42ac7743e..919b9fcc4c3 100644
--- a/pkgs/applications/graphics/gocr/default.nix
+++ b/pkgs/applications/graphics/gocr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, tk }:
 
 stdenv.mkDerivation rec {
-  name = "gocr-0.49";
+  name = "gocr-0.50";
 
   src = fetchurl {
-    url = http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz;
-    sha256 = "06hpzp7rkkwfr1fvmc8kcfz9v490i9yir7f7imh13gmka0fr6afc";
+    url = "http://www-e.uni-magdeburg.de/jschulen/ocr/${name}.tar.gz";
+    sha256 = "1dgmcpapy7h68d53q2c5d0bpgzgfb2nw2blndnx9qhc7z12149mw";
   };
 
   postInstall = ''
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://jocr.sourceforge.net/";
     description = "GPL Optical Character Recognition";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix
new file mode 100644
index 00000000000..6b7c9a27694
--- /dev/null
+++ b/pkgs/applications/graphics/grafx2/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, zlib, libpng, pkgconfig, lua5 }:
+
+stdenv.mkDerivation rec {
+
+  version = "2.4.2035";
+  name = "grafx2-${version}";
+
+  src = fetchurl {
+    url = "https://grafx2.googlecode.com/files/${name}-src.tgz";
+    sha256 = "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q";
+  };
+
+  buildInputs = [ SDL SDL_image SDL_ttf libpng zlib lua5 pkgconfig ];
+
+  preBuild = "cd src";
+
+  preInstall = '' mkdir -p "$out" '';
+
+  installPhase = ''make install prefix="$out"'';
+
+  meta = {
+    description = "GrafX2 is a bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance.";
+    homepage = http://code.google.co/p/grafx2/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
diff --git a/pkgs/applications/graphics/graphicsmagick/1.3.7.nix b/pkgs/applications/graphics/graphicsmagick/1.3.7.nix
index 291d61d5f6f..8b780647dfa 100644
--- a/pkgs/applications/graphics/graphicsmagick/1.3.7.nix
+++ b/pkgs/applications/graphics/graphicsmagick/1.3.7.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   configureFlags = "--enable-shared";
 
   buildInputs =
-    [ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
+    [ libpng bzip2 freetype ghostscript graphviz libjpeg libtiff libX11 libxml2
       zlib libtool
     ];
 
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index c02bc6024df..536249e70a6 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -1,18 +1,18 @@
 {stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript
 , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz
-, libX11}:
+, libX11, quantumdepth ? 8}:
 
-let version = "1.3.13"; in
+let version = "1.3.18"; in
 
 stdenv.mkDerivation {
   name = "graphicsmagick-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
-    sha256 = "08lgjvhvhw3by5h4kfpl7072dbvkcpsajy5f6izq69cv61vadqs5";
+    sha256 = "1axh4j2jr3l92dan15b2nmx9da4l7i0rcz9b5bvfd4q742zfwj7x";
   };
 
-  configureFlags = "--enable-shared";
+  configureFlags = "--enable-shared --with-quantum-depth=" + toString quantumdepth;
 
   buildInputs =
     [ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
diff --git a/pkgs/applications/graphics/hoodle/default.nix b/pkgs/applications/graphics/hoodle/default.nix
new file mode 100644
index 00000000000..afa3a8ca0c7
--- /dev/null
+++ b/pkgs/applications/graphics/hoodle/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, configurator, dyre, filepath, hoodleCore, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle";
+  version = "0.3";
+  sha256 = "01wz7bwdr3i43ikaiaq8vpn6b0clxjnjyaw6nl6zaq489dhj6fv5";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    cmdargs configurator dyre filepath hoodleCore mtl
+  ];
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Executable for hoodle";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index a9ff7ef25c3..88912cbda55 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,25 +1,37 @@
-{stdenv, fetchurl, panotools, cmake, wxGTK, libtiff, libpng, openexr, boost
-, pkgconfig, exiv2, gettext, ilmbase, enblendenfuse, autopanosiftc, mesa
-, freeglut, glew, libXmu, libXi, tclap }:
+{ stdenv, cmake, fetchurl, gnumake, pkgconfig
+, boost, gettext, tclap, wxGTK
+, freeglut, glew, libXi, libXmu, mesa
+, autopanosiftc, enblendenfuse, exiv2, ilmbase, lensfun, libpng, libtiff
+, openexr, panotools, perlPackages
+}:
 
 stdenv.mkDerivation rec {
-  name = "hugin-2011.4.0";
+  name = "hugin-2013.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/hugin/${name}.tar.bz2";
-    sha256 = "1bnxljgqxzfdz14l7y29wzi52x1a38mghsjavnr28fr4vfmqwjrf";
+    sha256 = "1mgbvg09xvf0zcm9jfv5lb65nd292l86ffa23yp4pzm6izaiwkj8";
   };
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
-#NIX_LDFLAGS = "-lrt";
+  buildInputs = [ boost gettext tclap wxGTK
+                  freeglut glew libXi libXmu mesa
+                  exiv2 ilmbase lensfun libtiff libpng openexr panotools
+                ];
 
-  buildInputs = [ panotools wxGTK libtiff libpng openexr boost tclap
-    exiv2 gettext ilmbase mesa freeglut glew libXmu libXi ];
+  # disable installation of the python scripting interface
+  cmakeFlags = [ "-DBUILD_HSI:BOOl=OFF" ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  propagatedUserEnvPackages = [ enblendenfuse autopanosiftc ];
+  enableParallelBuilding = true;
+
+  # commandline tools needed by the hugin batch processor
+  # you may have to tell hugin (in the preferences) where these binaries reside
+  propagatedUserEnvPackages = [ autopanosiftc enblendenfuse gnumake
+                                perlPackages.ImageExifTool
+                              ];
 
   postInstall = ''
     mkdir -p "$out/nix-support"
@@ -29,7 +41,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://hugin.sourceforge.net/;
     description = "Toolkit for stitching photographs and assembling panoramas, together with an easy to use graphical front end";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 37905f8a73f..38ceefa4523 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -4,15 +4,18 @@
 , gsl, python, pyxml, lxml, poppler, imagemagick, libwpg }:
 
 stdenv.mkDerivation rec {
-  name = "inkscape-0.48.4";
+  name = "inkscape-0.48.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/inkscape/${name}.tar.bz2";
-    sha256 = "17aiibgdwjqpjc38f0yr2sdlgwngg5ac9srlybjcx9aspf6ashc7";
+    sha256 = "0sfr7a1vr1066rrkkqbqvcqs3gawalj68ralnhd6k87jz62fcv1b";
   };
 
   patches = [ ./configure-python-libs.patch ];
 
+  postPatch = stdenv.lib.optionalString doCheck
+    ''sed -i 's:#include "../../src:#include "src:' src/cxxtests.cpp'';
+
   propagatedBuildInputs = [
     # Python is used at run-time to execute scripts, e.g., those from
     # the "Effects" menu.
@@ -27,12 +30,17 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--with-python";
 
+  enableParallelBuilding = true;
+  doCheck = true;
+  checkFlags = "-j1";
+
   postInstall = ''
     # Make sure PyXML modules can be found at run-time.
     for i in "$out/bin/"*
     do
       wrapProgram "$i" --prefix PYTHONPATH :      \
-       "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml})" ||  \
+       "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml})"  \
+       --prefix PATH : ${python}/bin ||  \
         exit 2
     done
     rm $out/share/icons/hicolor/icon-theme.cache
@@ -40,9 +48,11 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lX11";
 
-  meta = {
+  meta = with stdenv.lib; {
     license = "GPL";
     homepage = http://www.inkscape.org;
+    description = "Vector graphics editor";
+    platforms = platforms.all;
     longDescription = ''
       Inkscape is a feature-rich vector graphics editor that edits
       files in the W3C SVG (Scalable Vector Graphics) file format.
diff --git a/pkgs/applications/graphics/inkscape/libpng-1.5.patch b/pkgs/applications/graphics/inkscape/libpng-1.5.patch
deleted file mode 100644
index 4c8a7ee5f9b..00000000000
--- a/pkgs/applications/graphics/inkscape/libpng-1.5.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Source: upstream revisions 10061 and 10707
-
---- a/src/sp-image.cpp	2011-02-21 07:59:34 +0000
-+++ b/src/sp-image.cpp	2011-02-21 08:57:28 +0000
-@@ -387,9 +387,13 @@
- 
- #if defined(PNG_iCCP_SUPPORTED)
-                 {
--                    char* name = 0;
-+                    png_charp name = 0;
-                     int compression_type = 0;
--                    char* profile = 0;
-+#if (PNG_LIBPNG_VER < 10500)
-+                    png_charp profile = 0;
-+#else
-+                    png_bytep profile = 0;
-+#endif
-                     png_uint_32 proflen = 0;
-                     if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) {
- //                                         g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type);
-
---- a/src/extension/internal/pdfinput/svg-builder.cpp	2011-10-27 04:55:51 +0000
-+++ b/src/extension/internal/pdfinput/svg-builder.cpp	2011-10-29 20:34:00 +0000
-@@ -1481,7 +1481,7 @@
-         return NULL;
-     }
-     // Set error handler
--    if (setjmp(png_ptr->jmpbuf)) {
-+    if (setjmp(png_jmpbuf(png_ptr))) {
-         png_destroy_write_struct(&png_ptr, &info_ptr);
-         return NULL;
-     }
-
---- a/src/helper/png-write.cpp	2011-08-07 10:53:12 +0000
-+++ b/src/helper/png-write.cpp	2011-10-29 20:34:00 +0000
-@@ -166,8 +166,8 @@
-     /* Set error handling.  REQUIRED if you aren't supplying your own
-      * error hadnling functions in the png_create_write_struct() call.
-      */
--    if (setjmp(png_ptr->jmpbuf)) {
--        /* If we get here, we had a problem reading the file */
-+    if (setjmp(png_jmpbuf(png_ptr))) {
-+        // If we get here, we had a problem reading the file
-         fclose(fp);
-         png_destroy_write_struct(&png_ptr, &info_ptr);
-         return false;
-
diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix
index df50dd5bd79..53df14f8704 100644
--- a/pkgs/applications/graphics/ipe/default.nix
+++ b/pkgs/applications/graphics/ipe/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An editor for drawing figures";
     homepage = http://ipe7.sourceforge.net;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     longDescription = ''
       Ipe is an extensible drawing editor for creating figures in PDF and Postscript format.
       It supports making small figures for inclusion into LaTeX-documents
diff --git a/pkgs/applications/graphics/k3d/debian-patches.nix b/pkgs/applications/graphics/k3d/debian-patches.nix
index fe1289f1441..cf6b47ee959 100644
--- a/pkgs/applications/graphics/k3d/debian-patches.nix
+++ b/pkgs/applications/graphics/k3d/debian-patches.nix
@@ -1,6 +1,6 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/k3d/0.8.0.2-15";
+  prefix = "http://patch-tracker.debian.org/patch/series/dl/k3d/0.8.0.2-18";
 in
 [
   {
@@ -9,6 +9,6 @@ in
   }
   {
     url = "${prefix}/k3d_gtkmm224.patch";
-    sha256 = "0a81fg96zby6kidqwj6n8mhbrh0j5fpnmfh7lr6havz5r2is9ks5";
+    sha256 = "1c7z2zkqs9qw185q7bhz6vvzl6vlf1zpg9vlhc1f0cz9rgak3gji";
   }
 ]
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 8920d243dbf..9f31d94ac7f 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
   '';
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix
index 61a8380b1c5..6a38698370d 100644
--- a/pkgs/applications/graphics/kipi-plugins/default.nix
+++ b/pkgs/applications/graphics/kipi-plugins/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.kipi-plugins.org;
     inherit (kdelibs.meta) platforms;
     maintainers = with stdenv.lib.maintainers; [ viric urkud ];
+    broken = true; # it should be build from digikam sources, perhaps together
   };
 }
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
new file mode 100644
index 00000000000..7558b0aef4b
--- /dev/null
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, cmake, fetchurl, pkgconfig, qt5, boost, exiv2, fftwFloat, gsl
+, ilmbase, lcms2, libraw, libtiff, openexr
+}:
+
+stdenv.mkDerivation rec {
+  name = "luminance-hdr-2.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qtpfsgui/${name}.tar.bz2";
+    sha256 = "00fldbcizrx8jcnjgq74n3zmbm27dxzl96fxa7q49689mfnlw08l";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://qtpfsgui.sourceforge.net/;
+    description = "A complete open source solution for HDR photography";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.hrdinka ];
+  };
+}
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
index 7629c57a2b8..cc1fe8c3a22 100644
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ b/pkgs/applications/graphics/mcomix/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, buildPythonPackage, pygtk, pil }:
+{ stdenv, fetchurl, buildPythonPackage, pygtk, pil, python27Packages }:
 
 buildPythonPackage rec {
     namePrefix = "";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
     doCheck = false;
 
-    pythonPath = [ pygtk pil ];
+    pythonPath = [ pygtk pil python27Packages.sqlite3 ];
 
     meta = {
       description = "Image viewer designed to handle comic books";
@@ -29,6 +29,6 @@ buildPythonPackage rec {
 
       homepage = http://mcomix.sourceforge.net/;
 
-      license = "GPLv2";
+      license = stdenv.lib.licenses.gpl2;
     };
 }
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index 7151fc7af5c..9352ae092be 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -12,6 +12,12 @@ stdenv.mkDerivation rec {
   # buildPhase gets removed from the 'meshlab' binary
   dontPatchELF = true;
 
+  # Patches are from the Arch Linux package
+  patchPhase = ''
+    patch -Np0 -i "${./qt-4.8.patch}"
+    patch -Np1 -i "${./gcc-4.7.patch}"
+  '';
+
   buildPhase = ''
     mkdir -p "$out/include"
     cp -r vcglib "$out/include"
@@ -41,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "System for the processing and editing of unstructured 3D triangular meshes";
     homepage = http://meshlab.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/meshlab/gcc-4.7.patch b/pkgs/applications/graphics/meshlab/gcc-4.7.patch
new file mode 100644
index 00000000000..07dc1a08aff
--- /dev/null
+++ b/pkgs/applications/graphics/meshlab/gcc-4.7.patch
@@ -0,0 +1,38 @@
+diff --git a/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h b/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
+index 2351b2a..90c6d76 100644
+--- a/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
++++ b/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
+@@ -40,7 +40,7 @@ public:
+ 
+   //! Reset histogram data.
+   void Clear() {
+-    this->::Clear();
++    Histogram<ScalarType>::Clear();
+     CV.clear();
+   }
+   /*
+diff --git a/vcglib/wrap/gl/trimesh.h b/vcglib/wrap/gl/trimesh.h
+index 5d40404..ab9d0aa 100644
+--- a/vcglib/wrap/gl/trimesh.h
++++ b/vcglib/wrap/gl/trimesh.h
+@@ -1003,7 +1003,7 @@ void Crease(MESH_TYPE &m, typename MESH_TYPE::scalar_type angleRad)
+ 			}
+ 		}
+ 
+-	m.vert.math::Swap(newvert);
++	m.vert.math.Swap(newvert);
+ 	m.vn=m.vert.size();
+ }
+ 
+diff --git a/vcglib/wrap/ply/plystuff.h b/vcglib/wrap/ply/plystuff.h
+index 3e41e63..4af9508 100644
+--- a/vcglib/wrap/ply/plystuff.h
++++ b/vcglib/wrap/ply/plystuff.h
+@@ -75,6 +75,7 @@ using namespace vcg;
+ #define pb_close  _close
+ #define DIR_SEP "\\"
+ #else
++#include <unistd.h>
+ #define pb_mkdir(n)  mkdir(n,0755)
+ #define pb_access access
+ #define pb_stat   stat
diff --git a/pkgs/applications/graphics/meshlab/qt-4.8.patch b/pkgs/applications/graphics/meshlab/qt-4.8.patch
new file mode 100644
index 00000000000..abfd77d6f25
--- /dev/null
+++ b/pkgs/applications/graphics/meshlab/qt-4.8.patch
@@ -0,0 +1,54 @@
+diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp
+--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp	2011-01-25 18:51:28.000000000 +1100
++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp	2012-01-07 11:47:12.836800072 +1100
+@@ -7,6 +7,12 @@
+ #include "SyntopiaCore/Logging/Logging.h"

+ #include "SyntopiaCore/Misc/MiniParser.h"

+ 

++#ifdef Q_WS_MAC

++#include <OpenGL/glu.h>

++#else

++#include <GL/glu.h>

++#endif

++

+ using namespace SyntopiaCore::Math;

+ using namespace SyntopiaCore::Misc;

+ 

+diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h
+--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h	2011-01-25 18:51:28.000000000 +1100
++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h	2012-01-07 11:45:26.795586149 +1100
+@@ -3,6 +3,12 @@
+ #include "SyntopiaCore/Math/Vector3.h"

+ #include "Object3D.h"

+ 

++#ifdef Q_WS_MAC

++#include <OpenGL/glu.h>

++#else

++#include <GL/glu.h>

++#endif

++

+ namespace SyntopiaCore {

+ 	namespace GLEngine {	

+ 

+diff -Nur meshlab.orig/src/external/structuresynth/structuresynth.pro meshlab/src/external/structuresynth/structuresynth.pro
+--- meshlab.orig/src/external/structuresynth/structuresynth.pro	2011-01-25 18:49:34.000000000 +1100
++++ meshlab/src/external/structuresynth/structuresynth.pro	2012-01-07 11:51:46.695981995 +1100
+@@ -113,6 +113,7 @@
+            ssynth/StructureSynth/Model/Rendering/TemplateRenderer.cpp

+ CONFIG+=opengl

+ QT+=xml opengl script

++unix:LIBS += -lGLU

+ macx:DESTDIR       = ../lib/macx

+ win32-g++:DESTDIR       = ../lib/win32-gcc

+ win32-msvc2005:DESTDIR       = ../lib/win32-msvc2005

+diff -Nur meshlab.orig/src/meshlab/meshlab.pro meshlab/src/meshlab/meshlab.pro
+--- meshlab.orig/src/meshlab/meshlab.pro	2011-02-15 20:39:47.000000000 +1100
++++ meshlab/src/meshlab/meshlab.pro	2012-01-07 11:57:18.055586086 +1100
+@@ -85,6 +85,7 @@
+ QT += xmlpatterns
+ QT += network
+ QT += script
++unix:LIBS += -lGLU
+ 
+ 
+ # the following line is needed to avoid mismatch between
diff --git a/pkgs/applications/graphics/minidjvu/default.nix b/pkgs/applications/graphics/minidjvu/default.nix
index e3c6deddb29..e354837f4b8 100644
--- a/pkgs/applications/graphics/minidjvu/default.nix
+++ b/pkgs/applications/graphics/minidjvu/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://djvu.sourceforge.net/djview4.html;
     description = "Black-and-white djvu page encoder and decoder that use interpage information";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
   };
 }
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
index dd1fbcc7e07..20f7460f7a1 100644
--- a/pkgs/applications/graphics/mirage/default.nix
+++ b/pkgs/applications/graphics/mirage/default.nix
@@ -5,25 +5,25 @@ buildPythonPackage rec {
     name = "mirage-0.9.5.2";
 
     src = fetchurl {
-      url = "http://download.berlios.de/mirageiv/${name}.tar.bz2";
+      url = "mirror://sourceforge/mirageiv/${name}.tar.bz2";
       sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
     };
 
-    postInstall = ''
-      mv $out/lib/${python.libPrefix}/site-packages/*.egg/share $out
-    '';
-
     doCheck = false;
 
     buildInputs = [ stdenv libX11 gettext ];
 
+    patchPhase = ''
+      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
+    '';
+
     pythonPath = [ pygtk pil ];
 
     meta = {
       description = "Simple image viewer written in PyGTK";
 
-      homepage = http://mirageiv.berlios.de/;
+      homepage = http://mirageiv.sourceforge.net/;
 
-      license = "GPLv2";
+      license = stdenv.lib.licenses.gpl2;
     };
 }
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index a59498b8f14..be8df8ef16d 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, gettext, glib, gtk, json_c, lcms2, libpng
-, makeWrapper, pkgconfig, pygtk, python, pythonPackages, scons, swig
+{ stdenv, fetchurl, gettext, glib, gtk, hicolor_icon_theme, json_c
+, lcms2, libpng , makeWrapper, pkgconfig, pygtk, python, pythonPackages
+, scons, swig
 }:
 
 stdenv.mkDerivation rec {
@@ -11,18 +12,21 @@ stdenv.mkDerivation rec {
     sha256 = "0f7848hr65h909c0jkcx616flc0r4qh53g3kd1cgs2nr1pjmf3bq";
   };
 
-  buildInputs = [ 
+  buildInputs = [
     gettext glib gtk json_c lcms2 libpng makeWrapper pkgconfig pygtk
     python scons swig
   ];
- 
-  propagatedBuildInputs = [ pythonPackages.numpy ];
+
+  propagatedBuildInputs = [ hicolor_icon_theme pythonPackages.numpy ];
 
   buildPhase = "scons prefix=$out";
 
   installPhase = ''
     scons prefix=$out install
-    wrapProgram $out/bin/mypaint --prefix PYTHONPATH : $PYTHONPATH
+    sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
+    wrapProgram $out/bin/mypaint \
+      --prefix PYTHONPATH : $PYTHONPATH \
+      --prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index 482b57d03d2..4c20a41061a 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
          backend to other programs.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index f8160e4d688..d0a1fb38e0c 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,26 +4,26 @@
 
 stdenv.mkDerivation rec {
   name = "oiio-${version}";
-  version = "1.1.12";
+  version = "1.4";
 
   src = fetchurl {
-    url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
-    sha256 = "196iq15waa2yyryiwhf6ynlpqnpknm4cc4azakg01xs70yiphsfl";
+    url = "https://github.com/OpenImageIO/oiio/archive/RB-${version}.zip";
+    sha256 = "0ldj3hwpz363l1zyzf6c62wc5d2cpbiszlpjvv5w6rrsx2ddbbn1";
   };
 
-  buildInputs = [ 
+  buildInputs = [
     boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr unzip
   ];
 
-  configurePhase = "";
+  cmakeFlags = [
+    "-DUSE_PYTHON=OFF"
+  ];
 
   buildPhase = ''
     make ILMBASE_HOME=${ilmbase} OPENEXR_HOME=${openexr} USE_PYTHON=0 \
       INSTALLDIR=$out dist_dir=
   '';
 
-  installPhase = ":";
-
   meta = with stdenv.lib; {
     homepage = http://www.openimageio.org;
     description = "A library and tools for reading and writing images";
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index d34eeba207c..d831df5d7b6 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -1,16 +1,19 @@
 { stdenv, fetchurl, qt4, bison, flex, eigen, boost, mesa, glew, opencsg, cgal
-, mpfr, gmp }:
+, mpfr, gmp, glib, pkgconfig
+}:
 
 stdenv.mkDerivation rec {
-  version = "2013.06";
+  version = "2014.03";
   name = "openscad-${version}";
 
   src = fetchurl {
-    url = "https://openscad.googlecode.com/files/${name}.src.tar.gz";
-    sha256 = "01r013l8zyfkgmqn05axh3rlfsjwd6j403w5ffl7nby4i2spiw1f";
+    url = "http://files.openscad.org/${name}.src.tar.gz";
+    sha256 = "1hv1lmq1ayhlvrz5sqipg650xryq25a9k22ysdw0dsrwg9ixqpw6";
   };
 
-  buildInputs = [ qt4 bison flex eigen boost mesa glew opencsg cgal gmp mpfr ];
+  buildInputs = [
+    qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib pkgconfig
+  ];
 
   configurePhase = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${eigen}/include/eigen*) "
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 17e1b2e8b14..8e5204ac638 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://panotools.sourceforge.net/;
     description = "Free software suite for authoring and displaying virtual reality panoramas";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
new file mode 100644
index 00000000000..737baf375d1
--- /dev/null
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, xulrunner }:
+
+stdenv.mkDerivation rec {
+  name = "pencil-2.0.5";
+
+  src = fetchurl {
+    url = "http://evoluspencil.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0rn5nb08p8wph5s5gajkil6y06zgrm86p4gnjdgv76czx1fqazm0";
+  };
+
+  # Pre-built package
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r usr/* "$out"
+    cp COPYING "$out/share/pencil"
+    sed -e "s|/usr/bin/xulrunner|${xulrunner}/bin/xulrunner|" \
+        -e "s|/usr/share/pencil|$out/share/pencil|" \
+        -i "$out/bin/pencil"
+    sed -e "s|/usr/bin/pencil|$out/bin/pencil|" \
+        -e "s|Icon=.*|Icon=$out/share/pencil/skin/classic/icon.svg|" \
+        -i "$out/share/applications/pencil.desktop"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI prototyping/mockup tool";
+    homepage = http://pencil.evolus.vn/;
+    license = licenses.gpl2; # Commercial license is also available
+    maintainers = [ maintainers.bjornfor ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
new file mode 100644
index 00000000000..156966ac46c
--- /dev/null
+++ b/pkgs/applications/graphics/photivo/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchhg, cmake, qt4, fftw, graphicsmagick_q16,
+  lcms2, lensfun, pkgconfig, libjpeg, exiv2, liblqr1 }:
+
+stdenv.mkDerivation rec {
+  name = "photivo-2014-01-25";
+
+  src = fetchhg {
+    url = "http://code.google.com/p/photivo/";
+    rev = "d687864489da";
+    sha256 = "0f6y18k7db2ci6xn664zcwm1g1k04sdv7gg1yd5jk41bndjb7z8h";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ qt4 fftw graphicsmagick_q16 lcms2 lensfun libjpeg exiv2 liblqr1 ];
+  patchPhase = '' # kinda icky
+    sed -e '/("@INSTALL@")/d' \
+        -e s,@INSTALL@,$out/share/photivo, \
+        -i Sources/ptSettings.cpp
+  '';
+
+  meta = with stdenv.lib; {
+      platforms = platforms.linux;
+      maintainers = maintainers.mornfall;
+  };
+}
diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix
index b54d73b4964..6958c94f7e1 100644
--- a/pkgs/applications/graphics/pinta/default.nix
+++ b/pkgs/applications/graphics/pinta/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.pinta-project.com/;
     description = "Drawing/editing program modeled after Paint.NET";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/potrace/default.nix b/pkgs/applications/graphics/potrace/default.nix
new file mode 100644
index 00000000000..f58fe0e28c1
--- /dev/null
+++ b/pkgs/applications/graphics/potrace/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, zlib }:
+
+let version = "1.11"; in
+
+stdenv.mkDerivation {
+  name = "potrace-${version}";
+
+  src = fetchurl {
+    url = "http://potrace.sourceforge.net/download/potrace-${version}.tar.gz";
+    sha256 = "1bbyl7jgigawmwc8r14znv8lb6lrcxh8zpvynrl6s800dr4yp9as";
+  };
+
+  configureFlags = ["--with-libpotrace"];
+
+  buildInputs = [ zlib ];
+
+  meta = {
+    homepage = http://potrace.sourceforge.net/;
+    description = "A tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.pSub ];
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix
index df18c6d1520..86891f2cb93 100644
--- a/pkgs/applications/graphics/qiv/default.nix
+++ b/pkgs/applications/graphics/qiv/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file } :
+{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file, lcms2, libexif } :
 
 stdenv.mkDerivation (rec {
-  name = "qiv-2.2.4";
+  version = "2.3.1";
+  name = "qiv-${version}";
 
   src = fetchurl {
     url = "http://spiegl.de/qiv/download/${name}.tgz";
-    sha256 = "ed6078dc550c1dc2fe35c1e0f46463c13589a24b83d4f7101b71a7485e51abb7";
+    sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7";
   };
 
-  buildInputs = [ pkgconfig gtk imlib2 file ];
+  buildInputs = [ pkgconfig gtk imlib2 file lcms2 libexif ];
 
   preBuild=''
     substituteInPlace Makefile --replace /usr/local "$out"
@@ -18,5 +19,6 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "qiv (quick image viewer)";
     homepage = http://spiegl.de/qiv/;
+    inherit version;
   };
 })
diff --git a/pkgs/applications/graphics/qiv/default.upstream b/pkgs/applications/graphics/qiv/default.upstream
new file mode 100644
index 00000000000..e6c7ef2408e
--- /dev/null
+++ b/pkgs/applications/graphics/qiv/default.upstream
@@ -0,0 +1,3 @@
+url http://spiegl.de/qiv/download/
+version_link '[.]tgz$'
+do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/applications/graphics/qtpfsgui/default.nix b/pkgs/applications/graphics/qtpfsgui/default.nix
index 95d7acca36c..cd8c76dc42c 100644
--- a/pkgs/applications/graphics/qtpfsgui/default.nix
+++ b/pkgs/applications/graphics/qtpfsgui/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
          aims to provide a workflow for high dynamic range (HDR) imaging.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/applications/graphics/sane/backends-git.nix b/pkgs/applications/graphics/sane/backends-git.nix
index c9cea4109dc..67b733dda7a 100644
--- a/pkgs/applications/graphics/sane/backends-git.nix
+++ b/pkgs/applications/graphics/sane/backends-git.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, fetchgit, hotplugSupport ? true, libusb ? null, gt68xxFirmware ? null }:
+{ stdenv, fetchurl, fetchgit, hotplugSupport ? true, libusb ? null
+, gt68xxFirmware ? null, snapscanFirmware ? null
+}:
 let
   firmware = gt68xxFirmware { inherit fetchurl; };
 in
 assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
 stdenv.mkDerivation {
-  name = "sane-backends-1.0.23.296-gf139120";
+  name = "sane-backends-1.0.24.73-g6c4f6bc";
 
   src = fetchgit {
-    url = "http://git.debian.org/git/sane/sane-backends.git";
-    rev = "f139120c72db6de98be95b52c206c2a4d8071e92";
-    sha256 = "1b2fv19c8ijh9l0jjilli3j70n17wvcgpqq1nxmiby3ai6nrzk8d";
+    url = "git://alioth.debian.org/git/sane/sane-backends.git";
+    rev = "6c4f6bc58615755dc734281703b594cea3ebf848";
+    sha256 = "0f7lbv1rnr53n4rpihcd8dkfm01xvwfnx9i1nqaadrzbpvgkjrfa";
   };
 
   udevSupport = hotplugSupport;
@@ -29,6 +31,11 @@ stdenv.mkDerivation {
     if gt68xxFirmware != null then
       "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
       " \${out}/share/sane/gt68xx/" + firmware.name
+    else if snapscanFirmware != null then
+      "mkdir -p \${out}/share/sane/snapscan ; ln -s " + snapscanFirmware +
+      " \${out}/share/sane/snapscan/your-firmwarefile.bin ;" +
+      "mkdir -p \${out}/etc/sane.d ; " +
+      "echo epson2 > \${out}/etc/sane.d/dll.conf"
     else "";
 
   meta = {
diff --git a/pkgs/applications/graphics/sane/backends.nix b/pkgs/applications/graphics/sane/backends.nix
index a53466ae818..28d2f1e200b 100644
--- a/pkgs/applications/graphics/sane/backends.nix
+++ b/pkgs/applications/graphics/sane/backends.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null, pkgconfig ? null , gt68xxFirmware ? null }:
+{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null
+, pkgconfig ? null, gt68xxFirmware ? null, snapscanFirmware ? null
+}:
 
 assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
@@ -6,12 +8,16 @@ let
   firmware = gt68xxFirmware { inherit fetchurl; };
 in
 stdenv.mkDerivation rec {
-  version = "1.0.23";
+  version = "1.0.24";
   name = "sane-backends-${version}";
 
   src = fetchurl {
-    url = "https://launchpad.net/ubuntu/+archive/primary/+files/sane-backends_${version}.orig.tar.gz";
-    sha256 = "4d4f5b2881615af7fc0ed75fdde7dc623a749e80e40f3f792fe4010163cbb029";
+    urls = [
+      "http://pkgs.fedoraproject.org/repo/pkgs/sane-backends/sane-backends-1.0.24.tar.gz/1ca68e536cd7c1852322822f5f6ac3a4/${name}.tar.gz"
+      "https://alioth.debian.org/frs/download.php/file/3958/${name}.tar.gz"
+    ];
+    curlOpts = "--insecure";
+    sha256 = "0ba68m6bzni54axjk15i51rya7hfsdliwvqyan5msl7iaid0iir7";
   };
 
   udevSupport = hotplugSupport;
@@ -36,12 +42,15 @@ stdenv.mkDerivation rec {
     if gt68xxFirmware != null then
       "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
       " \${out}/share/sane/gt68xx/" + firmware.name
+    else if snapscanFirmware != null then
+      "mkdir -p \${out}/share/sane/snapscan ; ln -s " + snapscanFirmware +
+      " \${out}/share/sane/snapscan/your-firmwarefile.bin"
     else "";
 
   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/sane/config.nix b/pkgs/applications/graphics/sane/config.nix
new file mode 100644
index 00000000000..fc1cd81ebc6
--- /dev/null
+++ b/pkgs/applications/graphics/sane/config.nix
@@ -0,0 +1,27 @@
+{ stdenv }:
+
+{ paths }:
+
+with stdenv.lib;
+let installSanePath = path: ''
+      find "${path}/lib/sane" -not -type d -maxdepth 1 | while read backend; do
+        ln -s $backend $out/lib/sane/$(basename $backend)
+      done
+
+      find "${path}/etc/sane.d" -not -type d -maxdepth 1 | while read conf; do
+        ln -s $conf $out/etc/sane.d/$(basename $conf)
+      done
+
+      find "${path}/etc/sane.d/dll.d" -not -type d -maxdepth 1 | while read conf; do
+        ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf)
+      done
+    '';
+in
+stdenv.mkDerivation {
+  name = "sane-config";
+  phases = "installPhase";
+
+  installPhase = ''
+    mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane
+  '' + concatMapStrings installSanePath paths;
+}
diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix
index 9e73a08e096..a0f6e5bac50 100644
--- a/pkgs/applications/graphics/sane/frontends.nix
+++ b/pkgs/applications/graphics/sane/frontends.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   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/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index de8d4c33652..221a4340dce 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -1,24 +1,30 @@
-{ stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libpng, libusb ? null }:
+{ stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libpng
+, libusb ? null
+, gimpSupport ? false, gimp_2_8 ? null
+}:
+
+assert gimpSupport -> gimp_2_8 != null;
 
 stdenv.mkDerivation rec {
-  name = "xsane-0.998";
+  name = "xsane-0.999";
 
   src = fetchurl {
     url = "http://www.xsane.org/download/${name}.tar.gz";
-    sha256 = "0vn2cj85ijgp2v2j2h9xpqmg2jwlbxmwyb88kxhjjakqay02ybm3";
+    sha256 = "0jrb918sfb9jw3vmrz0z7np4q55hgsqqffpixs0ir5nwcwzd50jp";
   };
 
   preConfigure = ''
     sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/xsane-back-gtk.c
   '';
 
-  buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ] ++
-	(if libusb != null then [libusb] else []);
+  buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ]
+    ++ (if libusb != null then [libusb] else [])
+    ++ stdenv.lib.optional gimpSupport gimp_2_8;
 
   meta = {
     homepage = http://www.sane-project.org/;
     description = "Graphical scanning frontend for sane";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric simons];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
new file mode 100644
index 00000000000..1953f951d16
--- /dev/null
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -0,0 +1,62 @@
+{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkit
+, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib, gettext, desktop_file_utils
+, lcms2, gdk_pixbuf, librsvg, makeWrapper, gnome_doc_utils }:
+
+# for dependencies see http://www.yorba.org/projects/shotwell/install/
+
+let
+  rest = stdenv.mkDerivation rec {
+    name = "rest-0.7.12";
+
+    src = fetchurl {
+      url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz";
+      sha256 = "0fmg7fq5fx0jg3ryk71kwdkspsvj42acxy9imk7vznkqj29a9zqn";
+    };
+    
+    configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
+    
+    buildInputs = [ pkgconfig glib libsoup ];
+  };
+in stdenv.mkDerivation rec {
+  version = "0.18.0";
+  name = "shotwell-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/shotwell/0.18/${name}.tar.xz";
+    sha256 = "0cq0zs13f3f4xyz46yvj4qfpm5nh4ypds7r53pkqm4a3n8ybf5v7";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include";
+  
+  configureFlags = [ "--disable-gsettings-convert-install" ];
+  
+  preConfigure = ''
+    patchShebangs .
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/gsettings-schemas/$name
+    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
+  '';
+
+  preFixup = ''
+    wrapProgram "$out/bin/shotwell" \
+     --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+     --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+
+  buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkit pkgconfig
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2
+                  libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
+                  makeWrapper gnome_doc_utils ];
+
+  meta = with stdenv.lib; {
+    description = "Popular photo organizer for the GNOME desktop";
+    homepage = http://www.yorba.org/projects/shotwell/;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [iElectric];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix
new file mode 100644
index 00000000000..083fde35902
--- /dev/null
+++ b/pkgs/applications/graphics/smartdeblur/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl, stdenv, cmake, qt4, fftw }:
+
+let
+  rev = "9895036d26";
+in
+stdenv.mkDerivation rec {
+  name = "smartdeblur-git-${rev}";
+
+  src = fetchurl {
+    url = "https://github.com/Y-Vladimir/SmartDeblur/tarball/${rev}";
+    name = "${name}.tar.gz";
+    sha256 = "126x9x1zhqdarjz9in0p1qhmqg3jwz7frizadjvx723g2ppi33s4";
+  };
+
+  preConfigure = ''
+    cd src
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake qt4 fftw ];
+
+  cmakeFlags = "-DUSE_SYSTEM_FFTW=ON";
+
+  meta = {
+    homepage = "https://github.com/Y-Vladimir/SmartDeblur";
+    description = "Tool for restoring blurry and defocused images";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index 26d910943ef..30513577d04 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libX11, imlib2, giflib }:
 
 stdenv.mkDerivation {
-  name = "sxiv-1.1";
+  name = "sxiv-1.1.1";
 
   src = fetchurl {
-    url = "https://github.com/muennich/sxiv/archive/v1.1.tar.gz";
+    url = "https://github.com/muennich/sxiv/archive/v1.1.1.tar.gz";
     name = "sxiv-1.1.tar.gz";
-    sha256 = "0gsqwa1yacsig7ycjrw0sjyrsa9mynfzzbwm1vp2bgk4s9hb08kx";
+    sha256 = "07r8125xa8d5q71ql71s4i1dx4swy8hypxh2s5h7z2jnn5y9nmih";
   };
 
   buildInputs = [ libX11 imlib2 giflib ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Simple X Image Viewer";
     homepage = "https://github.com/muennich/sxiv";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
new file mode 100644
index 00000000000..034a147b787
--- /dev/null
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, boost, cairo, gettext, glibmm, gtk, gtkmm
+, libsigcxx, libtool, libxmlxx, pango, pkgconfig, imagemagick
+, intltool
+}:
+
+let
+  version = "0.64.1";
+
+  ETL = stdenv.mkDerivation rec {
+    name = "ETL-0.04.17";
+
+    src = fetchurl {
+       url = "mirror://sourceforge/synfig/${name}.tar.gz";
+       sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy";
+    };
+  };
+
+  synfig = stdenv.mkDerivation rec {
+    name = "synfig-${version}";
+
+    src = fetchurl {
+       url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz";
+       sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda";
+    };
+
+    patches = [ ./synfig-cstring.patch ];
+
+    buildInputs = [
+      ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango
+      pkgconfig
+    ];
+
+    configureFlags = [ "--with-boost-libdir=${boost}/lib" ];
+  };
+in
+stdenv.mkDerivation rec {
+  name = "synfigstudio-${version}";
+
+  src = fetchurl {
+       url = "mirror://sourceforge/synfig/${name}.tar.gz";
+       sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2";
+    };
+
+  buildInputs = [
+    ETL boost cairo gettext glibmm gtk gtkmm imagemagick intltool
+    intltool libsigcxx libtool libxmlxx pkgconfig synfig
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A 2D animation program";
+    homepage = http://www.synfig.org;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch b/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch
new file mode 100644
index 00000000000..51eb7704216
--- /dev/null
+++ b/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch
@@ -0,0 +1,12 @@
+http://www.synfig.org/issues/thebuggenie/synfig/issues/438
+--- a/src/modules/mod_png/trgt_png.cpp
++++ b/src/modules/mod_png/trgt_png.cpp
+@@ -39,6 +39,7 @@
+ #include <algorithm>
+ #include <functional>
+ #include <ETL/misc>
++#include <cstring>
+ 
+ #endif
+ 
+
diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix
index e67d202dcae..83aff09e2aa 100644
--- a/pkgs/applications/graphics/tesseract/default.nix
+++ b/pkgs/applications/graphics/tesseract/default.nix
@@ -9,7 +9,7 @@ let
         url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${majVersion}.${lang}.tar.gz";
         inherit sha256;
       };
-    in 
+    in
       "tar xfvz ${src} -C $out/share/ --strip=1";
 
   extraLanguages = ''
@@ -19,6 +19,7 @@ let
     ${f "nld" "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy"}
     ${f "eng" "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461"}
     ${f "slv" "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr"}
+    ${f "jpn" "07v8pymd0iwyzh946lxylybda20gsw7p4fsb09jw147955x49gq9"}
   '';
 in
 
@@ -44,7 +45,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "OCR engine";
     homepage = http://code.google.com/p/tesseract-ocr/;
-    license = "Apache2.0";
+    license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index 6ec1c5fafdc..783832abd00 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -1,18 +1,18 @@
 { fetchurl, stdenv, pkgconfig, gtk, gettext, bzip2, zlib
-, libjpeg, libtiff, cfitsio, exiv2, lcms, gtkimageview }:
+, libjpeg, libtiff, cfitsio, exiv2, lcms, gtkimageview, lensfun }:
 
 stdenv.mkDerivation rec {
-  name = "ufraw-0.18";
+  name = "ufraw-0.19.2";
 
   src = fetchurl {
     # XXX: These guys appear to mutate uploaded tarballs!
     url = "mirror://sourceforge/ufraw/${name}.tar.gz";
-    sha256 = "01cjdc748vamjpaw2sbm8a9kwmb2hry4f200j3hlvqg9c6f77zi4";
+    sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
   };
 
   buildInputs =
     [ pkgconfig gtk gtkimageview gettext bzip2 zlib
-      libjpeg libtiff cfitsio exiv2 lcms
+      libjpeg libtiff cfitsio exiv2 lcms lensfun
     ];
 
   meta = {
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
          the camera's tone curves.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # needs GTK+
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index 99e1ec1c169..dd8e01298ff 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -2,11 +2,11 @@
 , intltool, gettext, shared_mime_info, glib, gdk_pixbuf, perl}:
 
 stdenv.mkDerivation rec {
-  name = "viewnior-1.3";
+  name = "viewnior-1.4";
 
   src = fetchurl {
-    url = "http://cloud.github.com/downloads/xsisqox/Viewnior/${name}.tar.gz";
-    sha256 = "46c97c1a85361519b42fe008cfb8911e66f709f3a3a988c11047ab3726889f10";
+    url = "https://www.dropbox.com/s/zytq0suabesv933/${name}.tar.gz";
+    sha256 = "0vv1133phgfzm92md6bbccmcvfiqb4kz28z1572c0qj971yz457a";
   };
 
   buildInputs =
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
       shared_mime_info glib gdk_pixbuf perl
     ];
 
+  preFixup = ''
+    rm $out/share/icons/*/icon-theme.cache
+  '';
+
   meta = {
     description = "Viewnior is a fast and simple image viewer for GNU/Linux";
     longDescription =
@@ -24,7 +28,7 @@ stdenv.mkDerivation rec {
          in mind (follows Gnome HIG2).
       '';
 
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
 
     homepage = http://xsisqox.github.com/Viewnior;
 
diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix
index 307c9477929..8387b3486d4 100644
--- a/pkgs/applications/graphics/xaos/default.nix
+++ b/pkgs/applications/graphics/xaos/default.nix
@@ -1,17 +1,17 @@
-a :  
-let 
+a :
+let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "3.5" a; 
+  version = a.lib.attrByPath ["version"] "3.6" a;
   buildInputs = with a; [
-    aalib gsl libpng libX11 xproto libXext xextproto 
+    aalib gsl libpng libX11 xproto libXext xextproto
     libXt zlib gettext intltool perl
   ];
 in
 rec {
   src = fetchurl {
     url = "mirror://sourceforge/xaos/xaos-${version}.tar.gz";
-    sha256 = "0hj8sxya4s9rc1m4xvxj00jgiczi3ljf2zvrhx34r3ja2m9af7s7";
+    sha256 = "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq";
   };
 
   inherit buildInputs;
@@ -24,11 +24,11 @@ rec {
     sed -e s@/usr/@"$out/"@g -i configure $(find . -name 'Makefile*')
     mkdir -p $out/share/locale
   '') ["doUnpack" "minInit" "defEnsureDir"];
-      
+
   name = "xaos-" + version;
   meta = {
     homepage = http://xaos.sourceforge.net/;
     description = "XaoS - fractal viewer";
-    license = "GPLv2+";
+    license = a.stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 5fe30bd7a03..4eefd5749b6 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -10,19 +10,19 @@ stdenv.mkDerivation rec {
   buildInputs = [jre unzip];
   buildPhase = "";
   installPhase = ''
-    mkdir -p "$out"/{bin,lib/java/zvtm/plugins,share/doc/zvtm}
+    mkdir -p "$out"/{bin,share/java/zvtm/plugins,share/doc/zvtm}
 
     cp overview.html *.license.* "$out/share/doc/zvtm"
 
-    cp -r target/* "$out/lib/java/zvtm/"
+    cp -r target/* "$out/share/java/zvtm/"
 
     echo '#!/bin/sh' > "$out/bin/zgrviewer"
-    echo "java -jar '$out/lib/java/zvtm/zgrviewer-${version}.jar'" >> "$out/bin/zgrviewer"
+    echo "java -jar '$out/share/java/zvtm/zgrviewer-${version}.jar'" >> "$out/bin/zgrviewer"
     chmod a+x "$out/bin/zgrviewer"
   '';
   meta = {
     # Quicker to unpack locally than load Hydra
-    platforms = [];
+    hydraPlatforms = [];
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; lgpl21Plus;
     description = "GraphViz graph viewer/navigator";
diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/ike/default.nix
index 52330b57b8f..1414310ebf3 100644
--- a/pkgs/applications/ike/default.nix
+++ b/pkgs/applications/ike/default.nix
@@ -1,8 +1,12 @@
-{ stdenv, fetchurl, cmake, openssl, libedit, flex, bison, qt4, makeWrapper, gcc }:
+{ stdenv, fetchurl, cmake, openssl, libedit, flex, bison, qt4, makeWrapper
+, gcc, nettools, iproute, linuxHeaders }:
 
 # NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp";
 # launch with "iked -f /etc/iked.conf"
 
+# NOTE: my testings reveal that kernels 3.11.10 and 3.12.6 won't let the traffic through the tunnel,
+# so I'm sticking with 3.4
+
 stdenv.mkDerivation rec {
   name = "ike-2.2.1";
 
@@ -11,11 +15,13 @@ stdenv.mkDerivation rec {
     sha256 = "0fhyr2psd93b0zf7yfb72q3nqnh65mymgq5jpjcsj9jv5kfr6l8y";
   };
 
-  buildInputs = [ cmake openssl libedit flex bison qt4 makeWrapper ];
+  buildInputs = [ cmake openssl libedit flex bison qt4 makeWrapper nettools iproute ];
 
   configurePhase = ''
     mkdir -p $out/{bin,sbin,lib}
-    cmake -DQTGUI=YES -DETCDIR=$out/etc -DLIBDIR=$out/lib -DSBINDIR=$out/sbin -DBINDIR=$out/bin -DMANDIR=$out/man -DNATT=YES -DCMAKE_INSTALL_PREFIX:BOOL=$out
+    cmake -DQTGUI=YES -DETCDIR=$out/etc -DLIBDIR=$out/lib -DSBINDIR=$out/sbin -DBINDIR=$out/bin \
+          -DKRNINC="${linuxHeaders}/include/" -DTESTS=YES \
+          -DMANDIR=$out/man -DNATT=YES -DCMAKE_INSTALL_PREFIX:BOOL=$out
   '';
 
   buildPhase = ''
@@ -25,7 +31,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     make install
     for file in "$out"/bin/* "$out"/sbin/*; do
-        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.gcc}/lib:${libedit}/lib:${qt4}/lib"
+        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.gcc}/lib:${stdenv.glibc}/lib::${gcc.gcc}/lib64:${stdenv.glibc}/lib64:${libedit}/lib:${qt4}/lib"
     done
   '';
 
@@ -34,6 +40,6 @@ stdenv.mkDerivation rec {
     description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems";
     platforms = platforms.unix;
     maintainers = [ maintainers.iElectric ];
-    license = "sleepycat";
+    license = licenses.sleepycat;
   };
 }
diff --git a/pkgs/applications/inferno/default.nix b/pkgs/applications/inferno/default.nix
new file mode 100644
index 00000000000..c5a40fcbf5b
--- /dev/null
+++ b/pkgs/applications/inferno/default.nix
@@ -0,0 +1,64 @@
+{ fetchurl, fetchhg, stdenv, xlibs, gcc46, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  # Inferno is a rolling release from a mercurial repository. For the verison number
+  # of the package I'm using the mercurial commit number.
+  version = "645";
+  name = "inferno-${version}";
+
+  # The mercurial repository does not contain all the components needed for the
+  # runtime system. The 'base' package contains these. For this package I download
+  # the base, extract the elements required from that, and add them to the source
+  # pulled from the mercurial repository.
+  srcBase = fetchurl {
+    url = "http://www.vitanuova.com/dist/4e/inferno-20100120.tgz";
+    sha256 = "0msvy3iwl4n5k0ry0xiyysjkq0qsawmwn3hvg67hbi5y8g7f7l88";
+  };
+
+  src = fetchhg {
+    url    = "https://inferno-os.googlecode.com/hg";
+    rev    = "7ab390b860ca";
+    sha256 = "09y0iclb3yy10gw1p0182sddg64xh60q2fx4ai7lxyfb65i76qbh";
+  };
+
+  # Fails with gcc48 due to inferno triggering an optimisation issue with floating point.
+  buildInputs = [ gcc46 xlibs.libX11 xlibs.libXpm xlibs.libXext xlibs.xextproto makeWrapper ];
+
+  infernoWrapper = ./inferno;
+
+  configurePhase = ''
+    tar --strip-components=1 -xvf $srcBase inferno/fonts inferno/Mkdirs inferno/empties
+    sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' -e 's@^OBJTYPE=.*$@OBJTYPE=386@g' -e 's@^SYSHOST=.*$@SYSHOST=Linux@g' -i mkconfig
+    mkdir prof
+    sh Mkdirs
+  '';
+
+  buildPhase = ''
+    export PATH=$PATH:$out/share/inferno/Linux/386/bin
+    mkdir -p $out/share/inferno
+    cp -r . $out/share/inferno
+    ./makemk.sh
+    mk nuke
+    mk
+  '';
+
+  installPhase = ''
+    mk install
+    mkdir -p $out/bin
+    makeWrapper $out/share/inferno/Linux/386/bin/emu $out/bin/emu \
+      --suffix LD_LIBRARY_PATH ':' "${gcc46.gcc}/lib" \
+      --suffix PATH ':' "$out/share/inferno/Linux/386/bin"
+    makeWrapper $infernoWrapper $out/bin/inferno \
+      --suffix LD_LIBRARY_PATH ':' "${gcc46.gcc}/lib" \
+      --suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
+      --set INFERNO_ROOT "$out/share/inferno"
+  '';
+
+  meta = {
+    description = "A compact distributed operating system for building cross-platform distributed systems";
+    homepage = "http://inferno-os.org/";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ "Chris Double <chris.double@double.co.nz>" ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/inferno/inferno b/pkgs/applications/inferno/inferno
new file mode 100755
index 00000000000..6eb6da8861a
--- /dev/null
+++ b/pkgs/applications/inferno/inferno
@@ -0,0 +1,31 @@
+#! /usr/bin/env bash
+
+
+export INFERNO_HOME="$HOME/.local/share/inferno"
+if [ -n "$XDG_DATA_HOME" ]
+  then export INFERNO_HOME="$XDG_DATA_HOME/inferno"
+fi
+
+if [ ! -d $INFERNO_HOME ]; then
+  mkdir -p $INFERNO_HOME
+fi
+
+if [ ! -d $INFERNO_HOME/tmp ]; then
+  mkdir -p $INFERNO_HOME/tmp
+fi
+
+for d in $INFERNO_HOME/{acme,appl,dis,lib,man,module,usr/inferno}; do
+  if [ ! -d $d ]; then
+    mkdir -p $d
+    cp --no-preserve=all -r $INFERNO_ROOT/${d#$INFERNO_HOME/}/* $d/
+    chmod -R +w $d
+  fi
+done
+
+if [ ! -d $INFERNO_HOME/usr/$USER ]; then
+  mkdir -p $INFERNO_HOME/usr/$USER
+  cp -r $INFERNO_ROOT/usr/inferno/* $INFERNO_HOME/usr/$USER/
+  chmod -R +w $INFERNO_HOME/usr/$USER
+fi
+
+exec emu "$@" /dis/sh.dis -c "bind -b -c '#U*$INFERNO_HOME/' /; /dis/sh.dis"
diff --git a/pkgs/applications/misc/abook/default.nix b/pkgs/applications/misc/abook/default.nix
index 3d187d92f5c..77e48e49dd8 100644
--- a/pkgs/applications/misc/abook/default.nix
+++ b/pkgs/applications/misc/abook/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://abook.sourceforge.net/";
     description = "Text-based addressbook program designed to use with mutt mail client";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix
index 46ccdb39946..85bc89f7755 100644
--- a/pkgs/applications/misc/adobe-reader/default.nix
+++ b/pkgs/applications/misc/adobe-reader/default.nix
@@ -3,7 +3,7 @@
 
 assert stdenv.system == "i686-linux";
 
-let version = "9.5.1"; in
+let version = "9.5.5"; in
 
 stdenv.mkDerivation {
   name = "adobe-reader-${version}-1";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/${version}/enu/AdbeRdr${version}-1_i486linux_enu.tar.bz2";
-    sha256 = "19mwhbfsivb21zmrz2hllf0kh4i225ac697y026bakyysn0vig56";
+    sha256 = "0h35misxrqkl5zlmmvray1bqf4ywczkm89n9qw7d9arqbg3aj3pf";
   };
 
   # !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
@@ -25,6 +25,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Adobe Reader, a viewer for PDF documents";
     homepage = http://www.adobe.com/products/reader;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/misc/arbtt/default.nix b/pkgs/applications/misc/arbtt/default.nix
index 92b8cb4f295..0c3939b5c25 100644
--- a/pkgs/applications/misc/arbtt/default.nix
+++ b/pkgs/applications/misc/arbtt/default.nix
@@ -1,21 +1,29 @@
-{ cabal, binary, bytestringProgress, deepseq, filepath
-, libXScrnSaver, parsec, pcreLight, strict, terminalProgressBar
-, time, transformers, utf8String, X11
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, binary, bytestringProgress, deepseq, filepath
+, HUnit, libXScrnSaver, parsec, pcreLight, processExtras, strict
+, tasty, tastyGolden, tastyHunit, terminalProgressBar, time
+, transformers, utf8String, X11
 }:
 
 cabal.mkDerivation (self: {
   pname = "arbtt";
-  version = "0.7";
-  sha256 = "05q31fsyrbkcx0mlf2r91zgmpma5sl2a7100h7qsa882sijc2ybn";
+  version = "0.8.1";
+  sha256 = "1qzmqjm8pfj59h0hrm28pp6qhzz2am5xq81mirnnchsgg52wrfn0";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    binary bytestringProgress deepseq filepath parsec pcreLight strict
-    terminalProgressBar time transformers utf8String X11
+    aeson binary bytestringProgress deepseq filepath parsec pcreLight
+    strict terminalProgressBar time transformers utf8String X11
+  ];
+  testDepends = [
+    binary deepseq HUnit parsec pcreLight processExtras tasty
+    tastyGolden tastyHunit time transformers utf8String
   ];
   extraLibraries = [ libXScrnSaver ];
+  jailbreak = true;
   meta = {
-    homepage = "http://www.joachim-breitner.de/projects#arbtt";
+    homepage = "http://arbtt.nomeata.de/";
     description = "Automatic Rule-Based Time Tracker";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix
index 50aa92f8d29..0663937c479 100644
--- a/pkgs/applications/misc/audio/sox/default.nix
+++ b/pkgs/applications/misc/audio/sox/default.nix
@@ -1,53 +1,33 @@
-{ composableDerivation, lib, fetchurl, alsaLib, libao, lame, libmad }:
+{ lib, stdenv, fetchurl
+, enableAlsa ? true, alsaLib ? null
+, enableLibao ? true, libao ? null
+, enableLame ? false, lame ? null
+, enableLibmad ? true, libmad ? null
+, enableLibogg ? true, libogg ? null, libvorbis ? null
+}:
 
-let inherit (composableDerivation) edf; in
+with stdenv.lib;
 
-composableDerivation.composableDerivation {} {
-  name = "sox-14.3.0";
+stdenv.mkDerivation rec {
+  name = "sox-14.4.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/sox/sox-14.3.0.tar.gz;
-    sha256 = "15r39dq9nlwrypm0vpxmbxyqqv0bd6284djbi1fdfrlkjhf43gws";
+    url = "mirror://sourceforge/sox/${name}.tar.gz";
+    sha256 = "16x8gykfjdhxg0kdxwzcwgwpm5caa08y2mx18siqsq0ywmpjr34s";
   };
 
-  flags =
-    # are these options of interest? We'll see
-    #--disable-fftw          disable usage of FFTW
-    #--enable-debug          enable debugging
-    #--disable-cpu-clip      disable tricky cpu specific clipper
-    edf { name = "alsa"; enable = { buildInputs = [alsaLib]; }; }
-    // edf { name = "libao"; enable = { buildInputs = [libao]; }; }
-    // edf { name = "oss"; }
-    // edf { name = "sun_audio"; }
-    // edf { name = "dl-lame"; enable.buildInputs = [ lame ]; } # use shared library
-    // edf { name = "lame";    enable.buildInputs = [ lame ]; }
-    // edf { name = "dl-mad"; enable.buildInputs = [ libmad ]; } # use shared library
-    // edf { name = "mad";    enable.buildInputs =[ libmad ]; }
-    ;
-
-  cfg = {
-    ossSupport = false;
-    sun_audioSupport = false;
-  } // lib.listToAttrs
-    [ { name = "dl-lameSupport"; value = true; }
-      { name = "dl-madSupport"; value = true; }
-    ];
-
-  configureFlags = ["-enable-dl-lame"];
-
-  optionals = [ "libsndfile" "libogg" "flac" "ffmpeg" "libmad" "lame"
-                 /* "amr-wb" "amr-nb" */
-                "libsamplerate" /* "ladspa" */ ];
+  buildInputs =
+    optional (enableAlsa && stdenv.isLinux) alsaLib ++
+    optional enableLibao libao ++
+    optional enableLame lame ++
+    optional enableLibmad libmad ++
+    optionals enableLibogg [ libogg libvorbis ];
 
   meta = {
     description = "Sample Rate Converter for audio";
     homepage = http://www.mega-nerd.com/SRC/index.html;
-    maintainers = [lib.maintainers.marcweber];
-    # you can choose one of the following licenses:
-    license = [
-      "GPL"
-      # http://www.mega-nerd.com/SRC/libsamplerate-cul.pdf
-      "libsamplerate Commercial Use License"
-    ];
+    maintainers = [ lib.maintainers.marcweber lib.maintainers.shlevy ];
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/misc/audio/soxr/default.nix b/pkgs/applications/misc/audio/soxr/default.nix
index a8dd26ab609..73cdbb37616 100644
--- a/pkgs/applications/misc/audio/soxr/default.nix
+++ b/pkgs/applications/misc/audio/soxr/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An audio resampling library";
     homepage = http://soxr.sourceforge.net;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
new file mode 100644
index 00000000000..64bca952ff5
--- /dev/null
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, unzip, mono, avrgcclibc, avrdude, gtk, xdg_utils }:
+
+stdenv.mkDerivation rec {
+  name = "avrdudess-2.2.20140102";
+
+  src = fetchurl {
+    url = "http://blog.zakkemble.co.uk/download/avrdudess_20140102.zip";
+    sha256 = "18llpvjsfhypzijrvfbzmcg3g141f307mzsrg11wcdxh9syxqak6";
+  };
+
+  buildInputs = [ unzip ];
+
+  phases = [ "buildPhase" ];
+
+  buildPhase = ''
+    mkdir -p "$out/avrdudess"
+    mkdir -p "$out/bin"
+
+    unzip "$src" -d "$out/avrdudess"
+
+    cat >> "$out/bin/avrdudess" << __EOF__
+    #!${stdenv.shell}
+    export LD_LIBRARY_PATH="${gtk}/lib:${mono}/lib"
+    # We need PATH from user env for xdg-open to find its tools, which
+    # typically depend on the currently running desktop environment.
+    export PATH="${avrgcclibc}/bin:${avrdude}/bin:${xdg_utils}/bin:\$PATH"
+
+    # avrdudess must have its resource files in its current working directory
+    cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@"
+    __EOF__
+
+    chmod a+x "$out/bin/"*
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI for AVRDUDE (AVR microcontroller programmer)";
+    homepage = https://github.com/zkemble/AVRDUDESS;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/bibletime/default.nix b/pkgs/applications/misc/bibletime/default.nix
index 36366d6ee72..41184d6e949 100644
--- a/pkgs/applications/misc/bibletime/default.nix
+++ b/pkgs/applications/misc/bibletime/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, cmake, sword, qt4, boost, cluceneCore}:
+{stdenv, fetchurl, cmake, sword, qt4, boost, clucene_core}:
 
 stdenv.mkDerivation rec {
 
-  version = "2.9.1";
+  version = "2.10.1";
 
   name = "bibletime-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/bibletime/${name}.tar.bz2";
-    sha256 = "1d8kh213rpx4d63sxl5mk1s94xv363l5prrq2kh06cpnl7a8d2ih";
+    url = "mirror://sourceforge/bibletime/${name}.tar.xz";
+    sha256 = "14fayy5h1ffjxin669q56fflxn4ij1irgn60cygwx2y02cwxbll6";
   };
 
   prePatch = ''
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
   '';
 
   preConfigure =  ''
-    export CLUCENE_HOME=${cluceneCore};
+    export CLUCENE_HOME=${clucene_core};
     export SWORD_HOME=${sword};
   '';
 
-  buildInputs = [ cmake sword qt4 boost cluceneCore ];
+  buildInputs = [ cmake sword qt4 boost clucene_core ];
 
   cmakeFlags = "-DUSE_QT_WEBKIT=ON -DCMAKE_BUILD_TYPE=Debug";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     description = "A Qt4 Bible study tool";
     homepage = http://www.bibletime.info/;
     platforms = stdenv.lib.platforms.linux;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.piotr ];
   };
 }
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index a6a289168c4..e38d427be8d 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -1,26 +1,39 @@
-{ fetchurl, stdenv, openssl, db4, boost, zlib, miniupnpc, qt4 }:
+{ fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux
+, pkgconfig, protobuf, qrencode }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.5";
+  version = "0.9.2.1";
   name = "bitcoin-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/bitcoin/${name}-linux.tar.gz";
-    sha256 = "0qqzwx1lihlrj7r08alsyznjfqvwncfm0nnxi1pcx0jyvq83ym44";
+    url = "https://bitcoin.org/bin/${version}/${name}-linux.tar.gz";
+    sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54";
   };
 
-  buildInputs = [ openssl db4 boost zlib miniupnpc qt4 ];
+  # hexdump from utillinux is required for tests
+  buildInputs = [
+    openssl db48 boost zlib miniupnpc qt4 utillinux pkgconfig protobuf qrencode
+  ];
 
-  configurePhase = ''
-    cd src
-    qmake
+  unpackPhase = ''
+    mkdir tmp-extract && (cd tmp-extract && tar xf $src)
+    tar xf tmp-extract/bitcoin*/src/bitcoin*.tar*
+    cd bitcoin*
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp bitcoin-qt $out/bin
+  configureFlags = [
+    "--with-boost=${boost}"
+  ];
+
+  preCheck = ''
+    # At least one test requires writing in $HOME
+    HOME=$TMPDIR
   '';
 
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
   meta = {
       description = "Bitcoin is a peer-to-peer currency";
       longDescription= ''
@@ -31,6 +44,6 @@ stdenv.mkDerivation rec {
       '';
       homepage = "http://www.bitcoin.org/";
       maintainers = [ stdenv.lib.maintainers.roconnor ];
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 0951340ee94..24a3fcd4cea 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,45 +1,60 @@
-{ stdenv, fetchurl, SDL, boost, cmake, ffmpeg, gettext, glew
-, ilmbase, jackaudio, libXi, libjpeg, libpng, libsamplerate, libsndfile
+{ stdenv, lib, fetchurl, fetchpatch, SDL, boost, cmake, ffmpeg, gettext, glew
+, ilmbase, libXi, libjpeg, libpng, libsamplerate, libsndfile
 , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python
-, zlib
+, zlib, fftw
+, jackaudioSupport ? false, jack2
+, cudaSupport ? false, cudatoolkit6
 }:
 
+with lib;
+
 stdenv.mkDerivation rec {
-  name = "blender-2.67";
+  name = "blender-2.71";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "066lwrm85455gs187bxr3jhqidc2f6f0791b4216jkagbszd9a8l";
+    sha256 = "12aqdrpl86xjk2xdwj2nbfcmdzyv61n443gw6j2japffm1kmlz8x";
   };
 
-  buildInputs = [
-    SDL boost cmake ffmpeg gettext glew ilmbase jackaudio libXi
-    libjpeg libpng libsamplerate libsndfile libtiff mesa openal
-    opencolorio openexr openimageio openjpeg python zlib
-  ];
-
-
-  cmakeFlags = [
-    "-DOPENEXR_INC=${openexr}/include/OpenEXR"
-    "-DWITH_OPENCOLLADA=OFF"
-    "-DWITH_CODEC_FFMPEG=ON"
-    "-DWITH_CODEC_SNDFILE=ON"
-    "-DWITH_JACK=ON"
-    "-DWITH_INSTALL_PORTABLE=OFF"
-    "-DPYTHON_LIBRARY=python${python.majorVersion}m"    
-    "-DPYTHON_LIBPATH=${python}/lib"
-    "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"
-  ];
+  buildInputs =
+    [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
+      libjpeg libpng libsamplerate libsndfile libtiff mesa openal
+      opencolorio openexr openimageio /* openjpeg */ python zlib fftw
+    ]
+    ++ optional jackaudioSupport jack2
+    ++ optional cudaSupport cudatoolkit6;
+
+  postUnpack =
+    ''
+      substituteInPlace */doc/manpage/blender.1.py --replace /usr/bin/python ${python}/bin/python3
+    '';
+
+  cmakeFlags =
+    [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
+      "-DWITH_OPENCOLLADA=OFF"
+      "-DWITH_MOD_OCEANSIM=ON"
+      "-DWITH_CODEC_FFMPEG=ON"
+      "-DWITH_CODEC_SNDFILE=ON"
+      "-DWITH_INSTALL_PORTABLE=OFF"
+      "-DPYTHON_LIBRARY=python${python.majorVersion}m"
+      "-DPYTHON_LIBPATH=${python}/lib"
+      "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"
+      "-DPYTHON_VERSION=${python.majorVersion}"
+    ]
+    ++ optional jackaudioSupport "-DWITH_JACK=ON"
+    ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON";
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "3D Creation/Animation/Publishing System";
     homepage = http://www.blender.org;
     # They comment two licenses: GPLv2 and Blender License, but they
     # say: "We've decided to cancel the BL offering for an indefinite period."
-    license = "GPLv2+";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 10d92e4d517..3d814bf6a30 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-1.8.0";
+  name = "calibre-1.48.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "0awh24n5bvypmiylngmz0w0126yz1jxlrjfy9b4w5aflg7vgr0qq";
+    sha256 = "0wplmf3p4s5zwn9ri8ry18bx7k3pw1c1ngrc4msf7i8icq7hj177";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/camlistore/default.nix b/pkgs/applications/misc/camlistore/default.nix
new file mode 100644
index 00000000000..56131425ab4
--- /dev/null
+++ b/pkgs/applications/misc/camlistore/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, go, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.7";
+  name = "camlistore-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/bradfitz/camlistore/archive/0.7.tar.gz";
+    sha256 = "0lc35x2b9llrnma0m5czivly0c3l4lh3ldw9hwn83lkh8n0bzn11";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    go run make.go
+    rm bin/README
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/* $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Camlistore is a way of storing, syncing, sharing, modelling and backing up content";
+    homepage = https://camlistore.org;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix
index 94af2ee58f5..d1b3b284052 100644
--- a/pkgs/applications/misc/cdrtools/default.nix
+++ b/pkgs/applications/misc/cdrtools/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "cdrtools-2.01";
-  
-  configurePhase = "prefix=$out";  
-  
+
+  configurePhase = "prefix=$out";
+
   #hack, I'm getting "chown: invalid user: `bin" error, so replace chown by a nop dummy script
   preInstall = ''
     mkdir "$TMP/bin"
@@ -14,16 +14,18 @@ stdenv.mkDerivation {
       PATH="$TMP/bin:$PATH"
     done
   '';
-  
+
   src = fetchurl {
-    url = ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.01.tar.bz2;
+    url = "mirror://sourceforge/cdrtools/${name}.tar.bz2";
     md5 = "d44a81460e97ae02931c31188fe8d3fd";
   };
-  
+
   patches = [./cdrtools-2.01-install.patch];
 
   meta = {
-    description = "Highly portable CD/DVD/BluRay command line recording software (deprecated; use cdrkit instead)";
-    homepage = http://cdrecord.berlios.de/old/private/cdrecord.html;
+    homepage = http://sourceforge.net/projects/cdrtools/;
+    description = "Highly portable CD/DVD/BluRay command line recording software";
+    broken = true;              # Build errors, probably because the source
+                                # can't deal with recent versions of gcc.
   };
 }
diff --git a/pkgs/applications/misc/cgminer/default.nix b/pkgs/applications/misc/cgminer/default.nix
index 4ae404a002f..3247cb609fa 100644
--- a/pkgs/applications/misc/cgminer/default.nix
+++ b/pkgs/applications/misc/cgminer/default.nix
@@ -1,19 +1,22 @@
-{ fetchgit, stdenv, pkgconfig, libtool, autoconf, automake,
-  curl, ncurses, amdappsdk, amdadlsdk, xorg }:
+{ fetchgit, stdenv, pkgconfig, libtool, autoconf, automake
+, curl, ncurses, amdappsdk, amdadlsdk, xorg, jansson }:
 
 stdenv.mkDerivation rec {
-  version = "2.11.4";
+  version = "3.7.2";
   name = "cgminer-${version}";
 
   src = fetchgit {
     url = "https://github.com/ckolivas/cgminer.git";
-    rev = "96c8ff5f10f2d8f0cf4d1bd889e8eeac2e4aa715";
-    sha256  = "1vf9agy4vw50cap03qig2y65hdrsdy7cknkzyagv89w5xb230r9a";
+    rev = "refs/tags/v3.7.2";
+    sha256  = "0hl71328l19rlclajb6k9xsqybm2ln8g44p788gijpw4laj9yli6";
   };
 
-  buildInputs = [ autoconf automake pkgconfig libtool curl ncurses amdappsdk amdadlsdk xorg.libX11 xorg.libXext xorg.libXinerama ];
+  buildInputs = [
+    autoconf automake pkgconfig libtool curl ncurses amdappsdk amdadlsdk
+    xorg.libX11 xorg.libXext xorg.libXinerama jansson
+  ];
   configureScript = "./autogen.sh";
-  configureFlags = "--enable-scrypt";
+  configureFlags = "--enable-scrypt --enable-opencl";
   NIX_LDFLAGS = "-lgcc_s -lX11 -lXext -lXinerama";
 
   preConfigure = ''
@@ -21,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   postBuild = ''
-    gcc api-example.c -I compat/jansson -o cgminer-api
+    gcc api-example.c -o cgminer-api
   '';
 
   postInstall = ''
@@ -39,6 +42,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ckolivas/cgminer";
     license = licenses.gpl3;
     maintainers = [ maintainers.offline ];
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
new file mode 100644
index 00000000000..937025c0840
--- /dev/null
+++ b/pkgs/applications/misc/cura/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchgit }:
+let
+    py = python27Packages;
+in
+stdenv.mkDerivation rec {
+  name = "cura";
+
+  src = fetchgit {
+    url = "https://github.com/daid/Cura";
+    rev = "58414695269d60ca9b165e8cbc3424933ed79403";
+    sha256 = "1nxrrz8sjjx9i9cyvz15vay6yarnywp3vlk7qzr65sw88lzxgq23";
+    fetchSubmodules = false;
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "Cura";
+    exec = "cura";
+    icon = "cura";
+    comment = "Cura";
+    desktopName = "Cura";
+    genericName = "3D printing host software";
+    categories = "GNOME;GTK;Utility;";
+  };
+
+  python_deps = [ py.pyopengl py.pyserial py.numpy py.wxPython30 py.power py.setuptools ];
+
+  pythonPath = python_deps;
+
+  propagatedBuildInputs = python_deps;
+
+  buildInputs = [ curaengine py.wrapPython ];
+
+  configurePhase = "";
+  buildPhase = "";
+
+  installPhase = ''
+    # Install Python code.
+    site_packages=$out/lib/python2.7/site-packages
+    mkdir -p $site_packages
+    cp -r Cura $site_packages/
+
+    # Install resources.
+    resources=$out/share/cura
+    mkdir -p $resources
+    cp -r resources/* $resources/
+    sed -i 's|os.path.join(os.path.dirname(__file__), "../../resources")|"'$resources'"|g' $site_packages/Cura/util/resources.py
+
+    # Install executable.
+    mkdir -p $out/bin
+    cp Cura/cura.py $out/bin/cura
+    chmod +x $out/bin/cura
+    sed -i 's|#!/usr/bin/python|#!/usr/bin/env python|' $out/bin/cura
+    wrapPythonPrograms
+
+    # Make it find CuraEngine.
+    echo "def getEngineFilename(): return '${curaengine}/bin/CuraEngine'" >> $site_packages/Cura/util/sliceEngine.py
+
+    # Install desktop item.
+    mkdir -p "$out"/share/applications
+    cp "$desktopItem"/share/applications/* "$out"/share/applications/
+    mkdir -p "$out"/share/icons
+    ln -s "$resources/images/c.png" "$out"/share/icons/cura.png
+  '';
+
+  meta = with stdenv.lib; {
+    description = "3D printing host software";
+    homepage = https://github.com/daid/Cura;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
new file mode 100644
index 00000000000..256d337f679
--- /dev/null
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit }:
+stdenv.mkDerivation {
+    name = "curaengine";
+
+    src = fetchgit {
+        url = "https://github.com/Ultimaker/CuraEngine";
+        rev = "62667ff2e7479b55d75e3d1dc9136242adf4a6a0";
+        sha256 = "0c68xmnq4c49vzg2cyqb375kc72rcnghj21wp3919w8sfwil00vr";
+    };
+
+    installPhase = ''
+        mkdir -p $out/bin
+        cp CuraEngine $out/bin/
+    '';
+
+    meta = with stdenv.lib; {
+        description = "Engine for processing 3D models into 3D printing instructions";
+        homepage = https://github.com/Ultimaker/CuraEngine;
+        license = licenses.agpl3;
+        platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/applications/misc/d4x/default.nix b/pkgs/applications/misc/d4x/default.nix
index 4eb4c441c99..d6ca3939d13 100644
--- a/pkgs/applications/misc/d4x/default.nix
+++ b/pkgs/applications/misc/d4x/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Graphical download manager";
     homepage = http://www.krasu.ru/soft/chuchelo/;
-    license = "Artistic";
+    license = "perl";
   };
 }
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 048514ad4aa..1ba3ee5268f 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -19,14 +19,17 @@ stdenv.mkDerivation rec {
 
   patches = optional enableXft xftPatch;
 
+  postPatch = ''
+    sed -ri -e 's!\<(dmenu|stest)\>!'"$out/bin"'/&!g' dmenu_run
+  '';
+
   preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
 
   meta = { 
       description = "a generic, highly customizable, and efficient menu for the X Window System";
       homepage = http://tools.suckless.org/dmenu;
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
       maintainers = with stdenv.lib.maintainers; [viric];
       platforms = with stdenv.lib.platforms; all;
   };
 }
-
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index cb594e494db..039b4ac688b 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchgit, coreutils , unzip, which, pkgconfig , dbus
+{ stdenv, fetchurl, coreutils , unzip, which, pkgconfig , dbus
 , freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify
 , libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf
 }:
 
 stdenv.mkDerivation rec {
-  rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
-  name = "dunst-${rev}";
+  name = "dunst-1.1.0";
+  version = "1.1.0";
 
-  # 1.0.0 release doesn't include 100% CPU fix
-  # https://github.com/knopwob/dunst/issues/98
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/knopwob/dunst.git";
-    sha256 = "0m7yki16d72xm9n2m2fjszd8phqpn5b95q894cz75pmd0sv1j6bj";
+  src = fetchurl {
+    url = "https://github.com/knopwob/dunst/archive/v${version}.tar.gz";
+    sha256 = "0x95f57s0a96c4lifxdpf73v706iggwmdw8742mabbjnxq55l1qs";
   };
 
   patchPhase = ''
@@ -26,7 +23,7 @@ stdenv.mkDerivation rec {
     libXScrnSaver xproto libXinerama perl];
 
   buildPhase = ''
-    export VERSION=${rev};
+    export VERSION=${version};
     export PREFIX=$out;
     make dunst;
   '';
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
new file mode 100644
index 00000000000..c35a2c7ff82
--- /dev/null
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pythonPackages, slowaes, ecdsa, pyqt4 }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "electrum-${version}";
+  version = "1.9.8";
+
+  src = fetchurl {
+    url = "https://download.electrum.org/Electrum-${version}.tar.gz";
+    sha256 = "8fc144a32013e4a747fea27fff981762a6b9e14cde9ffb405c4c721975d846ff";
+  };
+
+  buildInputs = [ slowaes ecdsa ];
+
+  propagatedBuildInputs = [ 
+    slowaes
+    ecdsa
+    pyqt4
+  ];
+
+  postPatch = ''
+    mkdir -p $out/share
+    sed -i 's@usr_share = .*@usr_share = os.getenv("out")+"/share"@' setup.py
+  '';
+
+  meta = {
+    description = "Bitcoin thin-wallet";
+    long-description = "Electrum is an easy to use Bitcoin client. It protects you from losing coins in a backup mistake or computer failure, because your wallet can be recovered from a secret phrase that you can write on paper or learn by heart. There is no waiting time when you start the client, because it does not download the Bitcoin blockchain.";
+    homepage = "https://electrum.org";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ "emery@vfemail.net" ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/epdfview/default.nix b/pkgs/applications/misc/epdfview/default.nix
index 6941e8df626..d79162289c3 100644
--- a/pkgs/applications/misc/epdfview/default.nix
+++ b/pkgs/applications/misc/epdfview/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
         GTK+ libraries. The aim of ePDFView is to make a simple PDF document
         viewer, in the lines of Evince but without using the Gnome libraries. 
     '';
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/evopedia/default.nix b/pkgs/applications/misc/evopedia/default.nix
index b070b629282..5ad82c9239c 100644
--- a/pkgs/applications/misc/evopedia/default.nix
+++ b/pkgs/applications/misc/evopedia/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Offline Wikipedia Viewer";
     homepage = http://www.evopedia.info;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/evtest/default.nix b/pkgs/applications/misc/evtest/default.nix
index 635775e75ac..638f254364e 100644
--- a/pkgs/applications/misc/evtest/default.nix
+++ b/pkgs/applications/misc/evtest/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple tool for input event debugging";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/applications/misc/fbreader/default.nix b/pkgs/applications/misc/fbreader/default.nix
index fa361308ff1..2b193ef42cd 100644
--- a/pkgs/applications/misc/fbreader/default.nix
+++ b/pkgs/applications/misc/fbreader/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation {
       --replace "/usr/share" "$out/share"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An e-book reader for Linux";
     homepage = http://www.fbreader.org/;
-    license = "GPL";
-    maintainer = [ stdenv.lib.maintainers.coroa ];
+    license = licenses.gpl3;
+    platforms = platforms.linux; # possibly also on unix general
+    maintainers = [ maintainers.coroa ];
   }; 
 }
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index 79d27eea848..57d677395b4 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, openssl }:
 
 let
-  version = "6.3.20";
+  version = "6.3.26";
 in
 stdenv.mkDerivation {
   name="fetchmail-${version}";
 
   src = fetchurl {
-    url = "http://download.berlios.de/fetchmail/fetchmail-${version}.tar.bz2";
-    sha256 = "22e94f11d885cb9330a197fd80217d44f65e6b087e4d4b4d83e573adfc24aa7b";
+    url = "mirror://sourceforge/fetchmail.berlios/fetchmail-${version}.tar.bz2";
+    sha256 = "08rafrs1dlr11myr0p99kg4k80qyy0fa63gg3ac88zn49174lwhw";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/applications/misc/finalterm/default.nix b/pkgs/applications/misc/finalterm/default.nix
new file mode 100644
index 00000000000..0c084f9d018
--- /dev/null
+++ b/pkgs/applications/misc/finalterm/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper
+, pkgconfig, cmake, libxml2, vala, intltool, libmx, gnome3, gtk3, gtk_doc
+, keybinder3, clutter_gtk, libnotify
+, libxkbcommon, xlibs, udev
+, bashInteractive
+}:
+
+let rev = "5ccde4e8f2c02a398f9172e07c25262ecf954626";
+in stdenv.mkDerivation {
+  name = "finalterm-git-${builtins.substring 0 8 rev}";
+
+  src = fetchFromGitHub {
+    owner = "p-e-w";
+    repo = "finalterm";
+    inherit rev;
+    sha256 = "1gw6nc19whfjd4xj0lc0fmjypn8d7nasif79671859ymnfizyq4f";
+  };
+
+  buildInputs = [
+    pkgconfig cmake vala intltool gtk3 gnome3.gnome_common gnome3.libgee
+    gtk_doc clutter_gtk libmx keybinder3 libxml2 libnotify makeWrapper
+    xlibs.libpthreadstubs xlibs.libXdmcp xlibs.libxshmfence
+    libxkbcommon
+  ] ++ lib.optionals stdenv.isLinux [
+    udev
+  ];
+
+  preConfigure = ''
+    substituteInPlace data/org.gnome.finalterm.gschema.xml \
+      --replace "/bin/bash" "${bashInteractive}/bin/bash"
+
+    cmakeFlagsArray=(
+      -DMINIMAL_FLAGS=ON
+    )
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/finalterm" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with lib; {
+    homepage = "http://finalterm.org";
+    description = "A new breed of terminal emulator";
+    longDescription = ''
+      Final Term is a new breed of terminal emulator.
+
+      It goes beyond mere emulation and understands what is happening inside the shell it is hosting. This allows it to offer features no other terminal can, including:
+
+      - Semantic text menus
+      - Smart command completion
+      - GUI terminal controls
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix
index d5ed057f56b..65265fc07a5 100644
--- a/pkgs/applications/misc/freicoin/default.nix
+++ b/pkgs/applications/misc/freicoin/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, db4, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
+{ fetchurl, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
 
 stdenv.mkDerivation rec {
   version = "0.8.3-1";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   # I think that openssl and zlib are required, but come through other
   # packages
-  buildInputs = [ db4 boost gmp mpfr miniupnpc qt4 unzip ];
+  buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ];
 
   configurePhase = "qmake";
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Peer-to-peer currency with demurrage fee";
     homepage = "http://freicoi.in/";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/galculator/default.nix b/pkgs/applications/misc/galculator/default.nix
new file mode 100644
index 00000000000..010f75a575e
--- /dev/null
+++ b/pkgs/applications/misc/galculator/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl
+, intltool, pkgconfig, gtk
+ }:
+
+stdenv.mkDerivation rec {
+  
+  name = "galculator-${version}";
+  version = "2.1.3";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/galculator/${name}.tar.gz";
+    sha256 = "12m7dldjk10lpkdxk7zpk98n32ci65zmxidghihb7n1m3rhp3q17";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk ];
+
+  meta = {
+    description = "A GTK 2/3 algebraic and RPN calculator";
+    longDescription = ''
+      galculator is a GTK 2 / GTK 3 based calculator. Its main features include:
+
+      - Algebraic, RPN (Reverse Polish Notation), Formula Entry and Paper modes;
+      - Basic and Scientific Modes
+      - Decimal, hexadecimal, octal and binary number base
+      - Radiant, degree and grad support
+      - User defined constants and functions
+      - A bunch of common functions
+      - Binary arithmetic of configurable bit length and signedness
+      - Quad-precision floating point arithmetic, and 112-bit binary arithmetic
+    '';
+    homepage = http://galculator.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/applications/misc/gammu/bashcomp-dir.patch b/pkgs/applications/misc/gammu/bashcomp-dir.patch
new file mode 100644
index 00000000000..94cc2929c1e
--- /dev/null
+++ b/pkgs/applications/misc/gammu/bashcomp-dir.patch
@@ -0,0 +1,12 @@
+diff -Naur gammu-1.33.0.orig/contrib/CMakeLists.txt gammu-1.33.0/contrib/CMakeLists.txt
+--- gammu-1.33.0.orig/contrib/CMakeLists.txt	2013-12-26 20:56:22.887772110 +0100
++++ gammu-1.33.0/contrib/CMakeLists.txt	2013-12-26 20:57:04.386276037 +0100
+@@ -85,7 +85,7 @@
+ if (INSTALL_BASH_COMPLETION)
+     install (
+         FILES bash-completion/gammu
+-        DESTINATION "/etc/bash_completion.d"
++        DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/bash_completion.d"
+         COMPONENT "bash"
+         )
+ endif (INSTALL_BASH_COMPLETION)
diff --git a/pkgs/applications/misc/gammu/default.nix b/pkgs/applications/misc/gammu/default.nix
new file mode 100644
index 00000000000..56e45b11c70
--- /dev/null
+++ b/pkgs/applications/misc/gammu/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, python, pkgconfig, cmake, bluez, libusb1, curl
+, libiconv, gettext, sqlite }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "gammu-${version}";
+  version = "1.33.0";
+
+  src = fetchurl {
+    url = "http://sourceforge.net/projects/gammu/files/gammu/${version}/gammu-${version}.tar.xz";
+    sha256 = "18gplx1v9d70k1q86d5i4n4dfpx367g34pj3zscppx126vwhv112";
+  };
+
+  patches = [ ./bashcomp-dir.patch ];
+
+  buildInputs = [ python pkgconfig cmake bluez libusb1 curl libiconv
+    gettext sqlite ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://wammu.eu/gammu/";
+    description = "Command line utility and library to control mobil phones";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.coroa ];
+  };
+}
diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix
index 308b181fe88..08fad5a021d 100644
--- a/pkgs/applications/misc/get_iplayer/default.nix
+++ b/pkgs/applications/misc/get_iplayer/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}:
 buildPerlPackage {
-  name = "get_iplayer-2.83";
+  name = "get_iplayer-2.86";
 
   buildInputs = [makeWrapper perl];
   propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP];
@@ -12,12 +12,12 @@ buildPerlPackage {
     mkdir -p $out/bin
     cp get_iplayer $out/bin
     sed -i 's|^update_script|#update_script|' $out/bin/get_iplayer
-    wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin
+    wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB
   '';  
   
   src = fetchurl {
-    url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.83.tar.gz;
-    sha256 = "169zji0rr3z5ng6r4cyzvs89779m4iklln9gsqpryvm81ipalfga";
+    url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.86.tar.gz;
+    sha256 = "0zhcw0ikxrrz1jayx7jjgxmdf7gzk4pmzfvpraxmv64xwzgc1sc1";
   };
   
 }
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index e112427126a..b25d347ec87 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "girara-0.1.5";
+  name = "girara-0.2.2";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
-    sha256 = "1hfi3jmx8ydvrqm3h6p6py2csavh7xx0223vxyca51kjl9mfnbld";
+    sha256 = "0lv6wqhx2avdxj6yx111jfs4j32r0xzmmkhy7pgzxpf73kgxz0k3";
   };
 
   buildInputs = [ pkgconfig gtk gettext ];
diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix
index af10ca9800d..81f74847c2f 100644
--- a/pkgs/applications/misc/gkrellm/default.nix
+++ b/pkgs/applications/misc/gkrellm/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, gettext, pkgconfig, glib, gtk, libX11, libSM, libICE }:
 
 stdenv.mkDerivation rec {
-  name = "gkrellm-2.3.4";
+  name = "gkrellm-2.3.5";
   src = fetchurl {
     url = "http://members.dslextreme.com/users/billw/gkrellm/${name}.tar.bz2";
-    sha256 = "0mjg2pxpiqms7d6dvxzxvpa420cakhpjxvrclhq0y8jd2dlv2irl";
+    sha256 = "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh";
   };
 
   buildInputs = [gettext pkgconfig glib gtk libX11 libSM libICE];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/misc/gksu/default.nix b/pkgs/applications/misc/gksu/default.nix
new file mode 100644
index 00000000000..61fd44925b7
--- /dev/null
+++ b/pkgs/applications/misc/gksu/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, pkgconfig, makeWrapper, gtk, gnome3, libgksu,
+  intltool, libstartup_notification, gtk_doc
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.0.2";
+  pname = "gksu";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://people.debian.org/~kov/gksu/${name}.tar.gz";
+    sha256 = "0npfanlh28daapkg25q4fncxd89rjhvid5fwzjaw324x0g53vpm1";
+  };
+
+  patches = [
+    # https://savannah.nongnu.org/bugs/index.php?36127
+    ./gksu-2.0.2-glib-2.31.patch
+  ];
+
+  postPatch = ''
+    sed -i -e 's|/usr/bin/x-terminal-emulator|-l gnome-terminal|g' gksu.desktop
+  '';
+
+  configureFlags = "--disable-nautilus-extension";
+
+  buildInputs = [
+    pkgconfig makeWrapper gtk gnome3.gconf intltool
+    libstartup_notification gnome3.libgnome_keyring gtk_doc
+  ];
+
+  propagatedBuildInputs = [
+    libgksu
+  ];
+
+  meta = {
+    description = "A graphical frontend for libgksu";
+    longDescription = ''
+      GKSu is a library that provides a Gtk+ frontend to su and sudo.
+      It supports login shells and preserving environment when acting as
+      a su frontend. It is useful to menu items or other graphical
+      programs that need to ask a user's password to run another program
+      as another user.
+    '';
+    homepage = "http://www.nongnu.org/gksu/";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+  };
+}
diff --git a/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch b/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch
new file mode 100644
index 00000000000..fd711a321ac
--- /dev/null
+++ b/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch
@@ -0,0 +1,29 @@
+From 10c7e67e11a56e2fe1acf9b085772bc995d35bc0 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sat, 7 Apr 2012 17:57:36 -0400
+Subject: [PATCH] Fix glib includes for building with >=glib-2.31
+
+glib-2.31 and newer no longer allow most glib subheaders to be included
+directly.
+
+https://savannah.nongnu.org/bugs/index.php?36127
+---
+ nautilus-gksu/libnautilus-gksu.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/nautilus-gksu/libnautilus-gksu.c b/nautilus-gksu/libnautilus-gksu.c
+index 8e44d29..4acf3f8 100644
+--- a/nautilus-gksu/libnautilus-gksu.c
++++ b/nautilus-gksu/libnautilus-gksu.c
+@@ -5,7 +5,7 @@
+ #include <string.h>
+ #include <pthread.h>
+ 
+-#include <glib/gkeyfile.h>
++#include <glib.h>
+ #include <gtk/gtk.h>
+ #include <gio/gio.h>
+ #include <libnautilus-extension/nautilus-extension-types.h>
+-- 
+1.7.8.5
+
diff --git a/pkgs/applications/misc/gnome_terminator/default.nix b/pkgs/applications/misc/gnome_terminator/default.nix
deleted file mode 100644
index b394719611d..00000000000
--- a/pkgs/applications/misc/gnome_terminator/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, python, pygtk, vte, gettext, intltool, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-terminator-0.96";
-  
-  src = fetchurl {
-    url = "https://launchpad.net/terminator/trunk/0.96/+download/terminator_0.96.tar.gz";
-    sha256 = "d708c783c36233fcafbd0139a91462478ae40f5cf696ef4acfcaf5891a843201";
-  };
-  
-  buildInputs =
-    [ python pygtk vte gettext intltool makeWrapper
-    ];
-
-  phases = "unpackPhase installPhase";
-
-  installPhase = ''
-    python setup.py --without-icon-cache install --prefix=$out
-    for i in $(cd $out/bin && ls); do
-        wrapProgram $out/bin/$i \
-            --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
-    done
-  '';
-
-  meta = {
-    description = "Gnome terminal emulator with support for tiling and tabs";
-    homepage = http://www.tenshu.net/p/terminator.html;
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
new file mode 100644
index 00000000000..2e9d74c2441
--- /dev/null
+++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, cmake, pkgconfig, boost, gnuradio, rtl-sdr, uhd
+, makeWrapper
+, pythonSupport ? true, python, swig
+}:
+
+assert pythonSupport -> python != null && swig != null;
+
+stdenv.mkDerivation rec {
+  name = "gnuradio-osmosdr-${version}";
+  version = "0.1.0";
+
+  src = fetchgit {
+    url = "git://git.osmocom.org/gr-osmosdr";
+    rev = "refs/tags/v${version}";
+    sha256 = "112zfvnr6fjvhdc06ihi2sb0dp441qy7jq8rvr81nbyv3r8jspj4";
+  };
+
+  buildInputs = [
+    cmake pkgconfig boost gnuradio rtl-sdr uhd makeWrapper
+  ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
+
+  postInstall = ''
+    for prog in "$out"/bin/*; do
+        wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Gnuradio block for OsmoSDR and rtl-sdr";
+    homepage = http://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
new file mode 100644
index 00000000000..1a0dea586d0
--- /dev/null
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchurl
+# core dependencies
+, cmake, pkgconfig, git, boost, cppunit, fftw
+# python wrappers
+, python, swig2, numpy, scipy, matplotlib
+# grc - the gnu radio companion
+, cheetahTemplate, pygtk
+# gr-wavelet: collection of wavelet blocks
+, gsl
+# gr-qtgui: the Qt-based GUI
+, qt4, qwt, pyqt4 #, pyqwt
+# gr-wxgui: the Wx-based GUI
+, wxPython, lxml
+# gr-audio: audio subsystems (system/OS dependent)
+, alsaLib
+# uhd: the Ettus USRP Hardware Driver Interface
+, uhd
+# gr-video-sdl: PAL and NTSC display
+, SDL
+, libusb1, orc, pyopengl
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnuradio-${version}";
+  version = "3.7.3";
+
+  src = fetchurl {
+    url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
+    sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w";
+  };
+
+  buildInputs = [
+    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4 qwt
+    alsaLib SDL libusb1 uhd gsl makeWrapper
+  ];
+
+  propagatedBuildInputs = [
+    cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
+  ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable"
+  '';
+
+  # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
+  #   programs will not display anything. Yes, $MATPLOTLIBRC must point to the
+  #   *dirname* where matplotlibrc is located, not the file itself.
+  # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
+  #   we must wrap the stuff in bin/.
+  postInstall = ''
+    printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
+
+    for file in "$out"/bin/* "$out"/share/gnuradio/examples/*/*.py; do
+        wrapProgram "$file" \
+            --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
+            --set MATPLOTLIBRC "$out/share/gnuradio"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Software Defined Radio (SDR) software";
+    longDescription = ''
+      GNU Radio is a free & open-source software development toolkit that
+      provides signal processing blocks to implement software radios. It can be
+      used with readily-available low-cost external RF hardware to create
+      software-defined radios, or without hardware in a simulation-like
+      environment. It is widely used in hobbyist, academic and commercial
+      environments to support both wireless communications research and
+      real-world radio systems.
+    '';
+    homepage = http://www.gnuradio.org;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix
index f7b8a511bc6..717d0a012a2 100644
--- a/pkgs/applications/misc/goldendict/default.nix
+++ b/pkgs/applications/misc/goldendict/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     cd ${name}-src
     tar xf ${src}
   '';
-  patches = [ ./goldendict-paths.diff ];
+  patches = [ ./goldendict-paths.diff ./gcc47.patch ];
   patchFlags = "-p 0";
   configurePhase = ''
     qmake
diff --git a/pkgs/applications/misc/goldendict/gcc47.patch b/pkgs/applications/misc/goldendict/gcc47.patch
new file mode 100644
index 00000000000..311dad4f648
--- /dev/null
+++ b/pkgs/applications/misc/goldendict/gcc47.patch
@@ -0,0 +1,40 @@
+From b00d081da20b9a6b257573c6b23a6bc640c4dab1 Mon Sep 17 00:00:00 2001
+From: Michael Palimaka <kensington@gentoo.org>
+Date: Fri, 20 Jul 2012 03:27:38 +1000
+Subject: [PATCH] Fix build with GCC 4.7 by adding missing includes.
+
+---
+ processwrapper.cc                       | 4 ++++
+ qtsingleapplication/src/qtlocalpeer.cpp | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git processwrapper.cc processwrapper.cc
+index f7f3f19..86b985d 100644
+--- processwrapper.cc
++++ processwrapper.cc
+@@ -2,6 +2,10 @@
+ 

+ #include <QtCore>

+ 

++#if defined(Q_OS_UNIX)

++#include <unistd.h>

++#endif

++

+ #ifdef Q_OS_WIN32

+ 

+ #include <windows.h>

+diff --git qtsingleapplication/src/qtlocalpeer.cpp qtsingleapplication/src/qtlocalpeer.cpp
+index 382d182..506c142 100644
+--- qtsingleapplication/src/qtlocalpeer.cpp
++++ qtsingleapplication/src/qtlocalpeer.cpp
+@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
+ #endif
+ #if defined(Q_OS_UNIX)
+ #include <time.h>
++#include <unistd.h>
+ #endif
+ 
+ namespace QtLP_Private {
+-- 
+1.7.11.1
+
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 08b868bca92..ea577beb592 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
   meta = {
     description = "A world sphere viewer";
     homepage = http://earth.google.com;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.viric ];
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index cba54bf8013..7ff253fd4e8 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gphoto2-2.5.2";
+  name = "gphoto2-2.5.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "16c8k1cxfypg7v5h8xi87grclw7a5ayaamn548ys3zkj727r5fcf";
+    sha256 = "0i6qjyvgn3aaspiblmiwv51mfy92gm73xpbd3z41ki8mw7plg53i";
   };
 
   nativeBuildInputs = [ pkgconfig gettext ];
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 29d5b1ee7cc..bf44f91056d 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
 
     homepage = http://www.gpsbabel.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix
index 141476a6b40..9a59329871e 100644
--- a/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/pkgs/applications/misc/gpscorrelate/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       one takes the GPS data in a different format.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://freefoote.dview.net/linux_gpscorr.html;
   };
diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix
new file mode 100644
index 00000000000..a5208107750
--- /dev/null
+++ b/pkgs/applications/misc/gqrx/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, qt4, gnuradio, boost, gnuradio-osmosdr
+# drivers (optional):
+, rtl-sdr
+, pulseaudioSupport ? true, pulseaudio
+}:
+
+assert pulseaudioSupport -> pulseaudio != null;
+
+stdenv.mkDerivation rec {
+  name = "gqrx-${version}";
+  version = "2.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/gqrx/${version}/${name}-src.tar.gz";
+    sha256 = "15ncx2shh43skph7sj3jvmkls9cbbbysld49c8xd23fhdsxanj9x";
+  };
+
+  buildInputs = [
+    qt4 gnuradio boost gnuradio-osmosdr rtl-sdr
+  ] ++ stdenv.lib.optionals pulseaudioSupport [ pulseaudio ];
+
+  configurePhase = ''qmake PREFIX="$out"'';
+
+  meta = with stdenv.lib; {
+    description = "Software defined radio (SDR) receiver";
+    longDescription = ''
+      Gqrx is a software defined radio receiver powered by GNU Radio and the Qt
+      GUI toolkit. It can process I/Q data from many types of input devices,
+      including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal
+      Software Radio Peripheral (USRP) devices.
+    '';
+    homepage = http://gqrx.dk/;
+    # Some of the code comes from the Cutesdr project, with a BSD license, but
+    # it's currently unknown which version of the BSD license that is.
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;  # should work on Darwin / OS X too
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/grip/default.nix b/pkgs/applications/misc/grip/default.nix
index 0c2b957bc7c..39621536e68 100644
--- a/pkgs/applications/misc/grip/default.nix
+++ b/pkgs/applications/misc/grip/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "GTK+-based audio CD player/ripper";
     homepage = "http://nostatic.org/grip";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     maintainers = [ stdenv.lib.maintainers.marcweber stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix
index efd9cf263e7..4867bef1f71 100644
--- a/pkgs/applications/misc/gv/default.nix
+++ b/pkgs/applications/misc/gv/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
       interface for the Ghostscript interpreter.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix
index 80a3fb702c0..71c9777ff9b 100644
--- a/pkgs/applications/misc/hello/ex-2/default.nix
+++ b/pkgs/applications/misc/hello/ex-2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hello-2.8";
+  name = "hello-2.9";
 
   src = fetchurl {
     url = "mirror://gnu/hello/${name}.tar.gz";
-    sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6";
+    sha256 = "19qy37gkasc4csb1d3bdiz9snn8mir2p3aj0jgzmfv0r2hi7mfzc";
   };
 
   doCheck = true;
@@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
       It is fully customizable.
     '';
     homepage = http://www.gnu.org/software/hello/manual/;
-    license = "GPLv3+";
-
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/misc/htmldoc/default.nix b/pkgs/applications/misc/htmldoc/default.nix
index befa8d25210..e8274418ae1 100644
--- a/pkgs/applications/misc/htmldoc/default.nix
+++ b/pkgs/applications/misc/htmldoc/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.htmldoc.org/;
     description = "Converts HTML files to indexed HTML, PS or PDF";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index baf97e7a824..fab492d5c09 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.20130518";
+  version = "3.20140227";
 
   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 = "00mmxxlbzv6bz3cz3746r5lqwby6liwsg7m3jfba8258y52w13qp";
+    sha256 = "1bbpqs4c1la1yqcxcxj3xip3wadjnjq0wawv19j6d6baymm66cr3";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
@@ -83,7 +83,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Wiki compiler, storing pages and history in a RCS";
     homepage = "http://ikiwiki.info/";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/applications/misc/jigdo/default.nix b/pkgs/applications/misc/jigdo/default.nix
index 6ceca2ea871..d722367d1b4 100644
--- a/pkgs/applications/misc/jigdo/default.nix
+++ b/pkgs/applications/misc/jigdo/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, db45, gtk, bzip2 }:
+{ stdenv, fetchurl, db, gtk, bzip2 }:
 
 stdenv.mkDerivation {
   name = "jigdo-0.7.3";
 
-  # Debian sources 
+  # Debian sources
   src = fetchurl {
     url = http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3.orig.tar.gz;
     sha256 = "1qvqzgzb0dzq82fa1ffs6hyij655rajnfwkljk1y0mnkygnha1xv";
@@ -13,14 +13,14 @@ stdenv.mkDerivation {
     url = http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3-2.diff.gz;
     sha256 = "0jnlzm9m2hjlnw0zs2fv456ml5r2jj2q1lncqbrgg52lq18f6fa3";
   };
-  
-  buildInputs = [ db45 gtk bzip2 ];
+
+  buildInputs = [ db gtk bzip2 ];
 
   configureFlags = "--without-libdb";
 
-  meta = { 
+  meta = {
     description = "Download utility that can fetch files from several sources simultaneously";
     homepage = http://atterer.net/jigdo/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/misc/kde-wacomtablet/default.nix b/pkgs/applications/misc/kde-wacomtablet/default.nix
index 22587a1bae0..ee93f57eafc 100644
--- a/pkgs/applications/misc/kde-wacomtablet/default.nix
+++ b/pkgs/applications/misc/kde-wacomtablet/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, kdelibs, gettext }:
+{ stdenv, fetchurl, kdelibs, gettext, xf86_input_wacom }:
 
 stdenv.mkDerivation rec {
-  name = "wacomtablet-1.3.5";
+  name = "wacomtablet-2.0.2";
 
   src = fetchurl {
-    url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-v1.3.5.tar.bz2";
-    sha256 = "0dgsp3izx2v44f6j8mhxc6zybjn5sj9038w6b4v2fgix47fri0ja";
+    url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-2.0.2.tar.xz";
+    sha256 = "13k5f5xpka5cbgl24a3j9khqcmp96x1vhynn9v558ag6dg9ch2hw";
   };
 
-  buildInputs = [ kdelibs ];
+  buildInputs = [ kdelibs xf86_input_wacom ];
 
   nativeBuildInputs = [ gettext ];
 
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
new file mode 100644
index 00000000000..663ce872e22
--- /dev/null
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, gettext, kdelibs, libXtst, makeWrapper, qca2, qca2_ossl, qjson }:
+
+stdenv.mkDerivation rec {
+  name = "kdeconnect-${version}";
+  version = "0.7.2";
+
+  src = fetchurl {
+    url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
+    sha256 = "1v7sicgy39n8pn7nzq9f7lkmwbcvavhy3b66agyhxwmyzz6mcd4g";
+  };
+
+  buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ];
+
+  postInstall = ''
+    wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool to connect and sync your devices with KDE";
+    longDescription = ''
+        The corresponding Android app, "KDE Connect", is available in
+        F-Droid and Google play and has the following features:
+
+        - Share files and URLs to KDE from any app
+        - Clipboard share: copy from or to your desktop
+        - Notifications sync (4.3+): Read your Android notifications from KDE
+        - Multimedia remote control: Use your phone as a remote control
+        - WiFi connection: no usb wire or bluetooth needed
+        - RSA Encryption: your information is safe 
+    '';
+    license = licenses.gpl2;
+    homepage = https://projects.kde.org/projects/playground/base/kdeconnect-kde;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 0098e626b42..89f794850d2 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -24,12 +24,12 @@ stdenv.mkDerivation rec {
 
 
   installPhase = ''
-    ensureDir "$out/bin"
+    mkdir -p "$out/bin"
     echo "${mono}/bin/mono $out/KeePass.exe" > $out/bin/keepass
     chmod +x $out/bin/keepass
     echo $out
     cp -r ./* $out/
-    ensureDir "$out/share/applications"
+    mkdir -p "$out/share/applications"
     cp ${desktopItem}/share/applications/* $out/share/applications
   '';
 
diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix
new file mode 100644
index 00000000000..1a79af7cb57
--- /dev/null
+++ b/pkgs/applications/misc/keepassx/2.0.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }:
+
+stdenv.mkDerivation {
+  name = "keepassx2-2.0alpha5";
+  src = fetchurl {
+    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz";
+    sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm";
+  };
+
+  buildInputs = [ cmake libgcrypt qt4 xlibs.libXtst ];
+
+  meta = {
+    description = "Qt password manager compatible with its Win32 and Pocket PC versions";
+    homepage = http://www.keepassx.org/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/keepassx/default.nix b/pkgs/applications/misc/keepassx/default.nix
index 375a1ae2419..fc089f4fa5b 100644
--- a/pkgs/applications/misc/keepassx/default.nix
+++ b/pkgs/applications/misc/keepassx/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     qmake PREFIX=$out 
   '';
 
+  patches = [ ./random.patch ];
+
   buildInputs = [ bzip2 qt4 libX11 xextproto libXtst ];
 
   meta = {
diff --git a/pkgs/applications/misc/keepassx/random.patch b/pkgs/applications/misc/keepassx/random.patch
new file mode 100644
index 00000000000..0a0b26f6e8c
--- /dev/null
+++ b/pkgs/applications/misc/keepassx/random.patch
@@ -0,0 +1,13 @@
+--- a/src/lib/random.cpp	2014-01-21 21:15:55.829312723 +0000
++++ b/src/lib/random.cpp	2014-01-21 21:16:36.752535839 +0000
+@@ -28,6 +28,10 @@
+ 	#include <wincrypt.h>
+ 	#include <QSysInfo>
+ #endif
++#ifndef Q_WS_WIN
++	#include <sys/types.h>
++	#include <unistd.h>
++#endif
+ 
+ #include <QCryptographicHash>
+ #include <QCursor>
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix
index e5af706d41c..75d8e5ecb89 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, automoc4, kdelibs, taglib, exiv2, podofo, gettext, qt4, phonon }:
 
 stdenv.mkDerivation rec {
-  name = "krename-4.0.4";
+  name = "krename-4.0.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/krename/${name}.tar.bz2";
-    sha256 = "12qhclw1vbg5bv6619qd4408y8d1w26499gcr8gwhgfzk0v83hic";
+    sha256 = "11bdg5vdcs393n0aibhm3jh3wxlk5kz78jhkwf7cj9086qkg9wds";
   };
 
   buildInputs = [ cmake automoc4 kdelibs taglib exiv2 podofo gettext qt4 phonon ];
diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix
index bd86501c30e..83c21da0e54 100644
--- a/pkgs/applications/misc/krusader/default.nix
+++ b/pkgs/applications/misc/krusader/default.nix
@@ -7,6 +7,7 @@ stdenv.mkDerivation rec {
     sha256 = "1q1m4cjzz2m41pdpxnwrsiczc7990785b700lv64midjjgjnr7j6";
   };
   buildInputs = [ gettext kdelibs kde_baseapps ];
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
   meta = {
     description = "Norton/Total Commander clone for KDE";
     license = "GPL";
diff --git a/pkgs/applications/misc/librecad/2.0.nix b/pkgs/applications/misc/librecad/2.0.nix
index 2394d116314..8b7a9a40c87 100644
--- a/pkgs/applications/misc/librecad/2.0.nix
+++ b/pkgs/applications/misc/librecad/2.0.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, qt4, muparser, which, boost}:
+{ stdenv, fetchurl, qt4, muparser, which, boost, pkgconfig }:
 
 stdenv.mkDerivation {
-  name = "librecad-2.0.0beta1";
+  name = "librecad-2.0.2";
 
   src = fetchurl {
-    url = https://github.com/LibreCAD/LibreCAD/tarball/2.0.0beta1;
-    name = "librecad-2.0.0beta1.tar.gz";
-    sha256 = "8bf969b79be115f3b3ff72cc030a4c21fe93164dd0cb19ddfb78a7d66b8bc770";
+    url = https://github.com/LibreCAD/LibreCAD/tarball/2.0.2;
+    name = "librecad-2.0.2.tar.gz";
+    sha256 = "0a5rs1h4n74d4bnrj91ij6y6wzc8d6nbrg9lfwjx8icjjl6hqikm";
   };
 
   patchPhase = ''
@@ -19,19 +19,21 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir $out/bin $out/share
+    mkdir -p $out/bin $out/share
     cp -R unix/librecad $out/bin
     cp -R unix/resources $out/share/librecad
   '';
 
   buildInputs = [ qt4 muparser which boost ];
+  nativeBuildInputs = [ pkgconfig ];
 
   enableParallelBuilding = true;
 
   meta = {
     description = "A 2D CAD package based upon Qt";
     homepage = http://librecad.org;
-    license = "GPLv2";
+    repositories.git = git://github.com/LibreCAD/LibreCAD.git;
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix
index 59bd4888e4a..b2960e9f47d 100644
--- a/pkgs/applications/misc/librecad/default.nix
+++ b/pkgs/applications/misc/librecad/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, qt4, muparser, which}:
 
 stdenv.mkDerivation {
-  name = "librecad-1.0.2";
+  name = "librecad-1.0.4";
 
   src = fetchurl {
-    url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.2;
-    name = "librecad-1.0.2.tar.gz";
-    sha256 = "13ee7e401e4f5fbc68c2e017b7189bec788038f4f6e77f559861ceb8cfb1907d";
+    url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.4;
+    name = "librecad-1.0.4.tar.gz";
+    sha256 = "00nzbijw7pn1zkj4256da501xcm6rkcvycpa79y6dr2p6c43yc6m";
   };
 
   patchPhase = ''
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configurePhase = "qmake PREFIX=$out";
 
   installPhase = ''
-    ensureDir $out/bin $out/share
+    mkdir -p $out/bin $out/share
     cp -R unix/librecad $out/bin
     cp -R unix/resources $out/share/librecad
   '';
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   meta = {
     description = "A 2D CAD package based upon Qt";
     homepage = http://librecad.org;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
new file mode 100644
index 00000000000..e04898fba29
--- /dev/null
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchgit, ocaml, mupdf, lablgl, mesa
+, libX11, libXext, gtk3, freetype, zlib, openjpeg
+, jbig2dec, libjpeg, ncurses }:
+
+stdenv.mkDerivation {
+  name = "llpp-2014-05-26";
+
+  src = fetchgit {
+    url = "git://repo.or.cz/llpp.git";
+    rev  = "902143de64d86b5714b3a59d2cc7085083b87249";
+    sha256 = "038xl4gbvm57na2lz1fw36sf43zaxq407zi2d53985vc33677j9s";
+  };
+
+  buildInputs = [ ocaml mupdf lablgl mesa libX11 libXext gtk3
+                  freetype jbig2dec libjpeg openjpeg zlib ncurses ];
+
+  # The build phase was extracted from buildall.sh, because that script
+  # fetched the dependencies on its own.
+  buildPhase = ''
+    ccopt="-O"
+    ccopt="$ccopt -I ${jbig2dec}/include"
+    ccopt="$ccopt -I ${libjpeg}/include"
+    ccopt="$ccopt -I ${freetype}/include/freetype2"
+    ccopt="$ccopt -I ${openjpeg}/include"
+    ccopt="$ccopt -I ${zlib}/include"
+    ccopt="$ccopt -I ${mupdf}/include"
+    ccopt="$ccopt -include ft2build.h"
+    ccopt="$ccopt -D_GNU_SOURCE"
+
+    cclib="$cclib -lmupdf"
+    cclib="$cclib -lz -ljpeg -lopenjp2 -ljbig2dec -lfreetype -lpthread"
+    cclib="$cclib -lX11"
+    cclib="$cclib -lfreetype"
+
+    comp=ocamlc.opt
+    cmsuf=cmo
+
+    sh mkhelp.sh keystoml.ml KEYS > help.ml
+
+    $comp -c -o link.o -ccopt "$ccopt" link.c
+    $comp -c -o help.$cmsuf help.ml
+    $comp -c -o utils.$cmsuf utils.ml
+    $comp -c -o wsi.cmi wsi.mli
+    $comp -c -o wsi.$cmsuf wsi.ml
+    $comp -c -o parser.$cmsuf parser.ml
+    $comp -c -o main.$cmsuf -I ${lablgl}/lib/ocaml/4.01.0/site-lib/lablgl main.ml
+
+    $comp -custom -o llpp           \
+          -I ${lablgl}/lib/ocaml/4.01.0/site-lib/lablgl \
+          str.cma unix.cma lablgl.cma \
+          link.o                      \
+          -cclib "$cclib"             \
+          help.cmo                    \
+          utils.cmo                   \
+          parser.cmo                  \
+          wsi.cmo                     \
+          main.cmo
+  '';
+
+  # Binary fails with 'No bytecode file specified.' if stripped.
+  dontStrip = true;
+
+  installPhase = ''
+    install -d $out/bin
+    install llpp llppac $out/bin
+  '';
+
+  meta = {
+    homepage = http://repo.or.cz/w/llpp.git;
+    description = "A MuPDF based PDF pager written in OCaml";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.pSub ];
+    license = "GPL";
+  };
+}
diff --git a/pkgs/applications/misc/lxappearance/default.nix b/pkgs/applications/misc/lxappearance/default.nix
new file mode 100644
index 00000000000..9295eaabf32
--- /dev/null
+++ b/pkgs/applications/misc/lxappearance/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "lxappearance-0.5.5";
+  src = fetchurl{
+    url = "http://downloads.sourceforge.net/project/lxde/LXAppearance/${name}.tar.xz";
+    sha256 = "8cae82e6425ba8a0267774e4d10096df2d91b0597520058331684a5ece068b4c";
+  };
+  buildInputs = [ intltool libX11 pkgconfig gtk ];
+  meta = {
+    description = "A lightweight program for configuring the theme and fonts of gtk applications";
+    maintainers = [ stdenv.lib.maintainers.hinton ];
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.gpl2;
+    homepage = "http://lxappearance.sourceforce.net/";
+  };
+}
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index fd2e7c3ac42..da7be68be54 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
-, libX11, qt4, enchant #, mythes, boost
+{ fetchurl, stdenv, pkgconfig, python, file, bc
+, qt4, hunspell, makeWrapper #, mythes, boost
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.6";
+  version = "2.1.1";
   name = "lyx-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
-    sha256 = "1llah9d9ymvdk8asmqslcwnicycxrwb27k8si184n5bfxvnjpjx5";
+    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/${name}.tar.xz";
+    sha256 = "1fir1dzzy7c92jf3a3psnd10c6widslk0852xk4svpl6phcg4nya";
   };
 
   configureFlags = [
@@ -18,18 +18,29 @@ stdenv.mkDerivation rec {
     #"--without-included-mythes" # such a small library isn't worth a separate package
   ];
 
+  # LaTeX is used from $PATH, as people often want to have it with extra pkgs
   buildInputs = [
-    texLive qt4 python makeWrapper pkgconfig
-    enchant # mythes boost
+    pkgconfig qt4 python file/*for libmagic*/ bc
+    hunspell makeWrapper # enchant
   ];
 
+  enableParallelBuilding = true;
   doCheck = true;
 
-  meta = {
+  # python is run during runtime to do various tasks
+  postFixup = ''
+    sed '1s:/usr/bin/python:${python}/bin/python:'
+
+    wrapProgram "$out/bin/lyx" \
+      --prefix PATH : '${python}/bin'
+  '';
+
+  meta = with stdenv.lib; {
     description = "WYSIWYM frontend for LaTeX, DocBook";
     homepage = "http://www.lyx.org";
-    license = "GPL2";
-    maintainers = [ stdenv.lib.maintainers.vcunat ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.vcunat ];
+    platforms = platforms.linux;
   };
 }
+
diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix
index 9ea5f18ee62..3ba0faef968 100644
--- a/pkgs/applications/misc/makeself/default.nix
+++ b/pkgs/applications/misc/makeself/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  name = "makeself-2.1.5";
-  src = fetchurl {
-    url = "http://megastep.org/makeself/makeself.run";
-    sha256 = "0khs19xpid4ng0igrjyz3vsi6a5xyixrrrhgdxpdhd2wnf5nc9w2";
+  name = "makeself-2.2.0";
+  src = fetchgit {
+    url = "https://github.com/megastep/makeself.git";
+    rev = "b836b9281ae99abe1865608b065551da56c80719";
+    sha256 = "f7c97f0f8ad8128f2f1b54383319f2cc44cbb05b60ced222784debdf326f23ad";
   };
-  unpackPhase = "sh ${src}";
   installPhase = ''
-    cd ${name}
     mkdir -p $out/{bin,share/{${name},man/man1}}
-    mv makeself.lsm README $out/share/${name}
+    mv makeself.lsm README.md $out/share/${name}
     mv makeself.sh $out/bin/makeself
     mv makeself.1  $out/share/man/man1/
     mv makeself-header.sh $out/share/${name}
     sed -e 's|HEADER=`dirname $0`/makeself-header.sh|HEADER=`dirname $0`/../share/${name}/makeself-header.sh|' -i $out/bin/makeself
   '';
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://megastep.org/makeself;
     description = "Utility to create self-extracting packages";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.wmertens ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix
index 6d10cbb8c21..932e5bb4830 100644
--- a/pkgs/applications/misc/merkaartor/default.nix
+++ b/pkgs/applications/misc/merkaartor/default.nix
@@ -1,22 +1,22 @@
-{stdenv, fetchurl, qt4, boost}:
+{stdenv, fetchurl, qt4, boost, proj, gdal}:
 
 stdenv.mkDerivation rec {
-  name = "merkaartor-0.17.2";
+  name = "merkaartor-0.18.1";
   src = fetchurl {
-    url = "http://merkaartor.be/attachments/download/253/merkaartor-0.17.2.tar.bz2";
-    sha256 = "0akhp9czzn39132mgj9h38nlh4l9ibzn3vh93bfs685zxyn4yps2";
+    url = "http://merkaartor.be/attachments/download/301/merkaartor-0.18.1.tar.bz2";
+    sha256 = "17qk45pmlxqigla1915dvn9pp91y85d2bkcaap4g3m8mk1crcsix";
   };
 
   configurePhase = ''
     qmake -makefile PREFIX=$out
   '';
 
-  buildInputs = [ qt4 boost ];
+  buildInputs = [ qt4 boost proj gdal ];
 
   meta = {
     description = "An openstreetmap editor";
     homepage = http://merkaartor.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric urkud];
     inherit (qt4.meta) platforms;
   };
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 220309a8e22..aa7c14634d1 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,21 +1,54 @@
-{ stdenv, fetchurl, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
+{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
 , libX11, libXext }:
 stdenv.mkDerivation rec {
-  name = "mupdf-1.3";
+  version = "1.5";
+  name = "mupdf-${version}";
 
   src = fetchurl {
     url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
-    sha256 = "0y247nka5gkr1ajn47jrlp5rcnf6h4ff7dfsprma3h4wxqdv7a5b";
+    sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
   };
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
 
+  enableParallelBuilding = true;
+
+  my_soname = "libmupdf.so.1.3";
+  my_soname_js_none = "libmupdf-js-none.so.1.3";
   preBuild = ''
-    export makeFlags="prefix=$out"
+    export makeFlags="prefix=$out build=release XCFLAGS=-fpic"
     export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
+
+    # Copied from Gentoo ebuild
+    rm -rf thirdparty
+    sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \
+     -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \
+     -e "/^MUPDF_LIB :=/s:=.*:= \$(OUT)/${my_soname}:" \
+     -e "\$a\$(MUPDF_JS_NONE_LIB):" \
+     -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \
+     -e "/^MUPDF_JS_NONE_LIB :=/s:=.*:= \$(OUT)/${my_soname_js_none}:" \
+     -i Makefile
+
+    sed -e "s/libopenjpeg1/libopenjp2/" -i Makerules
   '';
 
   postInstall = ''
+    ln -s ${my_soname} $out/lib/libmupdf.so
+
+    mkdir -p "$out/lib/pkgconfig"
+    cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: mupdf
+    Description: Library for rendering PDF documents
+    Requires: freetype2 libopenjp2 libcrypto
+    Version: 1.3
+    Libs: -L$out/lib -lmupdf
+    Cflags: -I$out/include
+    EOF
+
     mkdir -p $out/share/applications
     cat > $out/share/applications/mupdf.desktop <<EOF
     [Desktop Entry]
@@ -30,9 +63,11 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://mupdf.com/;
+    repositories.git = git://git.ghostscript.com/mupdf.git;
     description = "Lightweight PDF viewer and toolkit written in portable C";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
+    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/mupdf/default.upstream b/pkgs/applications/misc/mupdf/default.upstream
new file mode 100644
index 00000000000..07cafdb0c2a
--- /dev/null
+++ b/pkgs/applications/misc/mupdf/default.upstream
@@ -0,0 +1,7 @@
+url http://mupdf.com/downloads/archive/
+do_overwrite(){
+  ensure_hash
+  ensure_version
+  set_var_value version $CURRENT_VERSION
+  set_var_value sha256 $CURRENT_HASH
+}
diff --git a/pkgs/applications/misc/navipowm/default.nix b/pkgs/applications/misc/navipowm/default.nix
index a526774d48e..6d990831a36 100644
--- a/pkgs/applications/misc/navipowm/default.nix
+++ b/pkgs/applications/misc/navipowm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://navipowm.sourceforge.net/;
     description = "Car navigation system";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix
index ef1e777f55f..1be39c66642 100644
--- a/pkgs/applications/misc/navit/default.nix
+++ b/pkgs/applications/misc/navit/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.navit-project.org/;
     description = "Car navigation system with routing engine using OSM maps";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/nc-indicators/default.nix b/pkgs/applications/misc/nc-indicators/default.nix
new file mode 100644
index 00000000000..3198333cce2
--- /dev/null
+++ b/pkgs/applications/misc/nc-indicators/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, gtk, hflags, lens, pipes, stm }:
+
+cabal.mkDerivation (self: {
+  pname = "nc-indicators";
+  version = "0.3";
+  sha256 = "0w5nddirsib9vz96dpan9bgdg1mag9gaz7w7ix51l44ls9r8yn3m";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ attoparsec gtk hflags lens pipes stm ];
+  meta = {
+    homepage = "https://github.com/nilcons/nc-indicators";
+    description = "CPU load and memory usage indicators for i3bar";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 078ea7fcbd8..3e972f672cc 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi
-, libtool }:
+, libtool, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "nut-2.6.5";
+  name = "nut-2.7.1";
 
   src = fetchurl {
-    url = "http://www.networkupstools.org/source/2.6/${name}.tar.gz";
-    sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
+    url = "http://www.networkupstools.org/source/2.7/${name}.tar.gz";
+    sha256 = "1667n9h8jcz7k6h24fn615khqahlq5z22zxs4s0q046rsqxdg9ki";
   };
 
   buildInputs = [ neon libusb openssl udev avahi freeipmi libtool ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   configureFlags =
     [ "--with-all"
@@ -20,11 +20,18 @@ stdenv.mkDerivation rec {
       "--without-powerman" # Until we have it ...
       "--without-cgi"
       "--without-hal"
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+      "--with-udev-dir=$(out)/etc/udev"
     ];
 
   enableParallelBuilding = true;
 
+  
+  postInstall = ''
+    wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \
+      "$out/lib:${neon}/lib:${libusb}/lib:${avahi}/lib:${freeipmi}/lib"
+  '';
+
   meta = {
     description = "Network UPS Tools";
     longDescription = ''
@@ -33,6 +40,7 @@ stdenv.mkDerivation rec {
       It uses a layered approach to connect all of the parts.
     '';
     homepage = http://www.networkupstools.org/;
+    repositories.git = https://github.com/networkupstools/nut.git;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [ pierron ];
     priority = 10;
diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix
new file mode 100644
index 00000000000..240a975e611
--- /dev/null
+++ b/pkgs/applications/misc/ocropus/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchhg, fetchurl, pythonPackages, curl }:
+
+let
+  getmodel = name: sha256: {
+    src = fetchurl {
+      url = "http://iupr1.cs.uni-kl.de/~tmb/ocropus-models/${name}";
+      inherit sha256;
+    };
+    inherit name;
+  };
+
+  models = [
+    (getmodel "en-default.pyrnn.gz"
+      "1xyi3k3p81mfw0491gb1haisazfyi2i18f1wjs1m34ak39qfqjdp")
+    (getmodel "en-uw3-linerel-2.cmodel.gz"
+      "0zdw0db2znxxd4h7aa09506nkbxd1cfqacxzyzlx42bjn951wcpw")
+    (getmodel "en-mixed-3.ngraphs.gz"
+      "1fqw7pxmjwapirp9xv3b0gn9pk53q4740qn5dw4wxfxk9dpp9lr4")
+    (getmodel "en-space.model.gz"
+      "0w5hnjm6rz5iiw1p2yixj147ifq11s9jfzrxk4v4xxmcyn365096")
+    (getmodel "en-mixed.lineest.gz"
+      "0skrziksn3zb3g8588y7jd10pnl2pzrby0119ac0awapzzg9vkvw")
+    (getmodel "uw3unlv.pyrnn.gz"
+      "0g08q9cjxxx3mg1jn4654nalxr56y2jq1h33pwxrj5lrckr7grb9")
+    (getmodel "en-uw3unlv-perchar.cmodel.gz"
+      "1izvm0wkb2vh58hjp59fw97drv17zdzrw6mz3aanrg5ax6fnfadk")
+    (getmodel "gradient.lineest.gz"
+      "1bw9hj9byjxi31rjh2xiysnx8c72jz0npxa54xgjwsqg7ihl8jzw")
+    (getmodel "en-mixed-round1.lineest.gz"
+      "1fjkygyrg4ng7kx4iqa4yhgvmw1zq72p3q5p0hcb2xxhqc04vx7c")
+    (getmodel "frakant.pyrnn.gz"
+      "0i1k95f2a8qlc6m7qq11pmjfcimyrjsfjvv20nrs2ygp9pwskmxp")
+    (getmodel "fraktur.pyrnn.gz"
+      "1wlwvxn91ilgmlri1hj81arl3mbzxc24ycdnkf5icq4hdi4c6y8b")
+  ];
+in
+pythonPackages.buildPythonPackage rec {
+  name = "ocropus-${version}";
+  version = "20130905";
+
+  src = fetchhg {
+    url = "https://code.google.com/p/ocropus.ocropy";
+    rev = "a6e0fbd820ce";
+    sha256 = "1s0v0gd6psfjp6lghwl2dj49h18mgf2n2z8hqzw8430nzhglnlvr";
+  };
+
+  patches = [ ./display.patch ];
+
+  propagatedBuildInputs = with pythonPackages; [ curl numpy scipy pillow
+    matplotlib beautifulsoup4 pygtk lxml ];
+
+  enableParallelBuilding = true;
+  
+  preConfigure = with stdenv.lib; ''
+    ${concatStrings (map (x: "ln -s ${x.src} models/${x.name};") models)}
+
+    sed -i 's|/usr/local|'$out'|' ocrolib/common.py
+    sed -i 's|/usr/local|'$out'|' ocrolib/default.py
+    ${pythonPackages.python}/bin/${pythonPackages.python.executable} setup.py download_models
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open source document analysis and OCR system";
+    license = licenses.asl20;
+    homepage = https://code.google.com/p/ocropus/;
+    maintainers = with maintainers; [ iElectric viric ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/ocropus/display.patch b/pkgs/applications/misc/ocropus/display.patch
new file mode 100644
index 00000000000..2b4e63652b7
--- /dev/null
+++ b/pkgs/applications/misc/ocropus/display.patch
@@ -0,0 +1,17 @@
+http://code.google.com/p/ocropus/issues/detail?id=365
+
+diff --git a/setup.py b/setup.py
+index c6ade25..a2ad6bf 100644
+--- a/setup.py
++++ b/setup.py
+@@ -8,7 +8,10 @@ assert sys.version_info[0]==2 and sys.version_info[1]>=7,\
+ from distutils.core import setup, Extension, Command
+ from distutils.command.install_data import install_data
+ 
++import matplotlib
++matplotlib.use('Agg')
+ from ocrolib import default
++
+ modeldir = "models/"
+ modelfiles = default.installable
+ modelprefix = "http://iupr1.cs.uni-kl.de/~tmb/ocropus-models/"
diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix
index 74f657ee02a..8a68bd7ccfb 100644
--- a/pkgs/applications/misc/openjump/default.nix
+++ b/pkgs/applications/misc/openjump/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
   meta = {
     description = "open source Geographic Information System (GIS) written in the Java programming language";
     homepage = http://www.openjump.org/index.html;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix
new file mode 100644
index 00000000000..f7180097961
--- /dev/null
+++ b/pkgs/applications/misc/pcmanfm/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "pcmanfm-1.2.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.0.tar.xz";
+    sha256 = "1cmskj7dpjgrrn89z7cc1h1nsmd6qq3bakf207ldrhrxxv3fxl2j";
+  };
+
+  buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://blog.lxde.org/?cat=28/";
+    license = licenses.gpl2Plus;
+    description = "File manager with GTK+ interface";
+    maintainers = [ maintainers.ttuegel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/pgadmin/default.nix b/pkgs/applications/misc/pgadmin/default.nix
index aac15789a2d..f26326f4d4e 100644
--- a/pkgs/applications/misc/pgadmin/default.nix
+++ b/pkgs/applications/misc/pgadmin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pgadmin3-${version}";
-  version = "1.16.1";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "http://ftp.postgresql.org/pub/pgadmin3/release/v${version}/src/pgadmin3-${version}.tar.gz";
-    sha256 = "13n2nyjnbmjbz9n0xp6627n3pavkqfp4n45l1mnqxhjdq8yj9fnl";
+    sha256 = "1h6bqslw53q44vy7z1q7wmxkgqdzxacfs8pfm2fxm8vcd8lkxb17";
   };
 
   buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "PostgreSQL administration GUI tool";
     homepage = http://www.pgadmin.org;
     license = licenses.gpl2;
-    maintainers = [ maintainers.iElectric ];
+    maintainers = with maintainers; [ iElectric wmertens ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/pitz/default.nix b/pkgs/applications/misc/pitz/default.nix
index 355ea9b2033..e4f097469a4 100644
--- a/pkgs/applications/misc/pitz/default.nix
+++ b/pkgs/applications/misc/pitz/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, buildPythonPackage, tempita, jinja2, pyyaml, clepy, mock
-, nose, decorator, docutils }:
+, nose, decorator, docutils
+}:
 
 # TODO: pitz has a pitz-shell utility that depends on ipython, but it just
 # errors out and dies (it probably depends on an old ipython version):
@@ -28,6 +29,6 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     homepage = http://pitz.tplus1.com/;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/applications/misc/posterazor/default.nix b/pkgs/applications/misc/posterazor/default.nix
new file mode 100644
index 00000000000..0cad2fbd2cd
--- /dev/null
+++ b/pkgs/applications/misc/posterazor/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, cmake, unzip, pkgconfig, libXpm, fltk13, freeimage }:
+
+stdenv.mkDerivation rec {
+  name = "posterazor-1.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/posterazor/1.5/PosteRazor-1.5-Source.zip";
+    sha256 = "0xy313d2j57s4wy2y3hjapbjr5zfaki0lhkfz6nw2p9gylcmwmjy";
+  };
+
+  buildInputs = [ cmake unzip pkgconfig libXpm fltk13 freeimage ];
+
+  unpackPhase = ''
+    unzip $src -d posterazor
+    cd posterazor/src
+  '';
+
+  # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667328
+  patchPhase = ''
+    sed "s/\(#define CASESENSITIVESTRCMP strcasecmp\)/#include <unistd.h>\n\1/" -i FlPosteRazorDialog.cpp
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp PosteRazor $out/bin
+  '';
+
+  meta = {
+    homepage = "http://posterazor.sourceforge.net/";
+    description = "The PosteRazor cuts a raster image into pieces which can afterwards be printed out and assembled to a poster";
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
new file mode 100644
index 00000000000..dc258d65328
--- /dev/null
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, python27Packages, fetchgit }:
+let
+  py = python27Packages;
+in
+py.buildPythonPackage rec {
+  name = "printrun";
+
+  src = fetchgit {
+    url = "https://github.com/kliment/Printrun";
+    rev = "0a7f2335d0c02c3cc283200867b41f8b337b1387";
+    sha256 = "1zvh5ih89isv51sraljm29z9k00srrdnklwkyp27ymxzlbcwq6gv";
+  };
+
+  propagatedBuildInputs = [ py.wxPython py.pyserial py.dbus py.psutil ];
+
+  doCheck = false;
+
+  postPatch = ''
+    sed -i -r "s|/usr(/local)?/share/|$out/share/|g" printrun/utils.py
+    sed -i "s|distutils.core|setuptools|" setup.py
+    sed -i "s|distutils.command.install |setuptools.command.install |" setup.py
+  '';
+
+  postInstall = ''
+    for f in $out/share/applications/*.desktop; do
+      sed -i -e "s|/usr/|$out/|g" "$f"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software";
+    homepage = https://github.com/kliment/Printrun;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix
index 0d61d3d74cf..d4ffe2a4afd 100644
--- a/pkgs/applications/misc/pstree/default.nix
+++ b/pkgs/applications/misc/pstree/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Show the set of running processes as a tree";
     license = "GPL";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/applications/misc/qgis/default.nix b/pkgs/applications/misc/qgis/default.nix
index d6711c82968..cc26a74802b 100644
--- a/pkgs/applications/misc/qgis/default.nix
+++ b/pkgs/applications/misc/qgis/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "User friendly Open Source Geographic Information System";
     homepage = http://www.qgis.org;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix
new file mode 100644
index 00000000000..38606d79873
--- /dev/null
+++ b/pkgs/applications/misc/qtbitcointrader/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, qt4 }:
+
+let
+  version = "1.07.98";
+in
+stdenv.mkDerivation {
+  name = "qtbitcointrader-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/bitcointrader/SRC/QtBitcoinTrader-${version}.tar.gz";
+    sha256 = "1irz17q71fx64dfkmgajlyva7d1wifv4bxgb2iwz7d69rvhzaqzx";
+  };
+
+  buildInputs = [ qt4 ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/src";
+
+  configurePhase = ''
+    qmake \
+      PREFIX=$out \
+      DESKTOPDIR=$out/share/applications \
+      ICONDIR=$out/share/pixmaps \
+        QtBitcoinTrader_Desktop.pro
+  '';
+
+  meta = {
+    description = "Secure bitcoin trading client";
+    homepage = http://qtopentrader.com;
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;  # arbitrary choice
+    maintainers = [ stdenv.lib.maintainers.emery ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
new file mode 100644
index 00000000000..5f75c05a68f
--- /dev/null
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, python, fetchurl }:
+
+buildPythonPackage {
+  name = "ranger-1.6.1";
+
+  meta = {
+    description = "File manager with minimalistic curses interface";
+    homepage = "http://ranger.nongnu.org/";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://ranger.nongnu.org/ranger-1.6.1.tar.gz";
+    sha256 = "0pnvfwk2a1p35246fihm3fsr1m7r2njirbxm28ba276psajk1cnc";
+  };
+
+  doCheck = false;
+
+  propagatedBuildInputs = with python.modules; [ curses ];
+}
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 3bed6e1a2d7..abf55aa22b9 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0:${pyxdg}/lib/${python.libPrefix}/site-packages/pyxdg:$out/lib/${python.libPrefix}/site-packages
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "changes the color temperature of your screen gradually";
     longDescription = ''
       The color temperature is set according to the position of the
@@ -37,7 +37,9 @@ stdenv.mkDerivation rec {
       temperature transitions smoothly from night to daytime
       temperature to allow your eyes to slowly adapt.
       '';
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     homepage = "http://jonls.dk/redshift";
+    platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
   }; 
 }
diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix
new file mode 100644
index 00000000000..ab8a803b7cb
--- /dev/null
+++ b/pkgs/applications/misc/robomongo/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, qt5, openssl, boost, cmake, scons, python, pcre, bzip2 }:
+
+stdenv.mkDerivation {
+  name = "robomongo-0.8.3";
+
+  src = fetchurl {
+    url = https://github.com/paralect/robomongo/archive/v0.8.3.tar.gz;
+    sha256 = "1x8vpmqvjscjcw30hf0i5vsrg3rldlwx6z52i1hymlck2jfzkank";
+  };
+
+  patches = [ ./robomongo.patch ];
+  
+  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  buildInputs = [ cmake boost scons qt5 openssl python pcre bzip2 ];
+
+  meta = {
+    homepage = "http://robomongo.org/";
+    description = "Query GUI for mongodb";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.amorsillo ];
+    broken = true;
+  };
+}
diff --git a/pkgs/applications/misc/robomongo/robomongo.patch b/pkgs/applications/misc/robomongo/robomongo.patch
new file mode 100644
index 00000000000..2305ca732ea
--- /dev/null
+++ b/pkgs/applications/misc/robomongo/robomongo.patch
@@ -0,0 +1,48 @@
+Remove check for QT_NO_STYLE_GTK to avoid building with QCleanlooksStyle which results in error due to missing QCleanlooksStyle
+Ensure environment is preserved for scons build -- scons clears the env but we want to keep the nix build environment
+Fix typo in cmakelists
+diff -rupN robomongo-0.8.3/CMakeLists.txt robomongo-0.8.3-patched/CMakeLists.txt
+--- robomongo-0.8.3/CMakeLists.txt	2013-10-01 10:55:00.000000000 -0400
++++ robomongo-0.8.3-patched/CMakeLists.txt	2013-12-06 12:22:06.070659856 -0500
+@@ -133,7 +133,7 @@ ELSE()
+ ENDIF()
+ 
+ ##################################DEFAULT VALUES##########################################
+-IF(NOT CMAKE_INSTALL_PREFIX})
++IF(NOT CMAKE_INSTALL_PREFIX)
+     SET(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install")
+ ENDIF()
+ 
+diff -rupN robomongo-0.8.3/src/robomongo/gui/AppStyle.h robomongo-0.8.3-patched/src/robomongo/gui/AppStyle.h
+--- robomongo-0.8.3/src/robomongo/gui/AppStyle.h	2013-10-01 10:55:00.000000000 -0400
++++ robomongo-0.8.3-patched/src/robomongo/gui/AppStyle.h	2013-12-06 12:20:57.417297186 -0500
+@@ -8,13 +8,8 @@
+     #include <QProxyStyle>
+     typedef QProxyStyle OsStyle;
+ #elif defined OS_LINUX
+-    #if !defined(QT_NO_STYLE_GTK)
+-        #include <QProxyStyle>
+-        typedef QProxyStyle OsStyle;
+-    #else
+-        #include <QCleanlooksStyle>
+-        typedef QCleanlooksStyle OsStyle;
+-    #endif
++    #include <QProxyStyle>
++    typedef QProxyStyle OsStyle;
+ #endif
+ 
+ namespace Robomongo
+
+diff -rupN robomongo-0.8.3/src/third-party/mongodb/SConstruct robomongo-0.8.3-patched/src/third-party/mongodb/SConstruct
+--- robomongo-0.8.3/src/third-party/mongodb/SConstruct	2013-10-01 10:55:00.000000000 -0400
++++ robomongo-0.8.3-patched/src/third-party/mongodb/SConstruct	2013-12-06 12:21:45.705255731 -0500
+@@ -283,7 +283,8 @@ usePCH = has_option( "usePCH" )
+ 
+ justClientLib = (COMMAND_LINE_TARGETS == ['mongoclient'])
+ 
+-env = Environment( BUILD_DIR=variantDir,
++env = Environment( ENV=os.environ,
++                   BUILD_DIR=variantDir,
+                    CLIENT_ARCHIVE='${CLIENT_DIST_BASENAME}${DIST_ARCHIVE_SUFFIX}',
+                    CLIENT_DIST_BASENAME=get_option('client-dist-basename'),
+                    CLIENT_LICENSE='#distsrc/client/LICENSE.txt',
diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix
new file mode 100644
index 00000000000..e6e76249388
--- /dev/null
+++ b/pkgs/applications/misc/rtl-sdr/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, cmake, pkgconfig, libusb1 }:
+
+stdenv.mkDerivation rec {
+  name = "rtl-sdr-${version}";
+  version = "0.5.3";
+
+  src = fetchgit {
+    url = "git://git.osmocom.org/rtl-sdr.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "00r5d08r12zzkd0xggd7l7p4r2278rzdhqdaihwjlajmr9qd3hs1";
+  };
+
+  buildInputs = [ cmake pkgconfig libusb1 ];
+
+  # Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to
+  # /etc/udev/rules.d/, and there is no option to install elsewhere. So install
+  # rules manually.
+  postInstall = ''
+    mkdir -p "$out/etc/udev/rules.d/"
+    cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
+    homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index c05dd028eb3..7392123673a 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
-  fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf }:
+  fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf,
+  unicode3Support }:
 
 let
   name = "rxvt-unicode";
-  version = "9.16";
+  version = "9.20";
   n = "${name}-${version}";
 in
 
 stdenv.mkDerivation (rec {
 
-  name = "${n}${if perlSupport then "-with-perl" else ""}";
+  name = "${n}${if perlSupport then "-with-perl" else ""}${if unicode3Support then "-with-unicode3" else ""}";
 
   src = fetchurl {
     url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
-    sha256 = "0x28wyslqnhn2q11y4hncqdl07wgh5ypywl92fq0jxycr36ibfvn";
+    sha256 = "e73e13fe64b59fd3c8e6e20c00f149d388741f141b8155e4700d3ed40aa94b4e";
   };
 
   buildInputs =
@@ -24,10 +25,15 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "terminfo" ];
 
+  patches = [
+    ./rxvt-unicode-9.06-font-width.patch
+    ./rxvt-unicode-256-color-resources.patch
+  ];
+
   preConfigure =
     ''
       mkdir -p $terminfo/share/terminfo
-      configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"}";
+      configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"} ${if unicode3Support then "--enable-unicode3" else "--disable-unicode3"}";
       export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
       NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
       NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "
@@ -38,15 +44,9 @@ stdenv.mkDerivation (rec {
       ln -s $out/{lib/urxvt,lib/perl5/site_perl}
     '';
 
-  # we link the separate terminfo output to the main output
-  # as I don't think there's a usecase for wanting urxvt without its terminfo files
-  # and we don't want users to install them separately
-  postInstall = ''
-    ln -s $terminfo/share/terminfo $out/share
-  '';
-
   meta = {
     description = "A clone of the well-known terminal emulator rxvt";
     homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 })
diff --git a/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch
new file mode 100644
index 00000000000..c8d2acfbdc5
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch
@@ -0,0 +1,255 @@
+diff --git a/src/xdefaults.C b/src/xdefaults.C
+index 23b6822..382f3b1 100644
+--- a/src/xdefaults.C
++++ b/src/xdefaults.C
+@@ -155,6 +155,250 @@ optList[] = {
+               RSTRG (Rs_color + minCOLOR + 5, "color5", "color"),
+               RSTRG (Rs_color + minCOLOR + 6, "color6", "color"),
+               RSTRG (Rs_color + minCOLOR + 7, "color7", "color"),
++              // 88 xterm colors
++              RSTRG (Rs_color + minCOLOR + 16, "color16", "color"),
++              RSTRG (Rs_color + minCOLOR + 17, "color17", "color"),
++              RSTRG (Rs_color + minCOLOR + 18, "color18", "color"),
++              RSTRG (Rs_color + minCOLOR + 19, "color19", "color"),
++              RSTRG (Rs_color + minCOLOR + 20, "color20", "color"),
++              RSTRG (Rs_color + minCOLOR + 21, "color21", "color"),
++              RSTRG (Rs_color + minCOLOR + 22, "color22", "color"),
++              RSTRG (Rs_color + minCOLOR + 23, "color23", "color"),
++              RSTRG (Rs_color + minCOLOR + 24, "color24", "color"),
++              RSTRG (Rs_color + minCOLOR + 25, "color25", "color"),
++              RSTRG (Rs_color + minCOLOR + 26, "color26", "color"),
++              RSTRG (Rs_color + minCOLOR + 27, "color27", "color"),
++              RSTRG (Rs_color + minCOLOR + 28, "color28", "color"),
++              RSTRG (Rs_color + minCOLOR + 29, "color29", "color"),
++              RSTRG (Rs_color + minCOLOR + 30, "color30", "color"),
++              RSTRG (Rs_color + minCOLOR + 31, "color31", "color"),
++              RSTRG (Rs_color + minCOLOR + 32, "color32", "color"),
++              RSTRG (Rs_color + minCOLOR + 33, "color33", "color"),
++              RSTRG (Rs_color + minCOLOR + 34, "color34", "color"),
++              RSTRG (Rs_color + minCOLOR + 35, "color35", "color"),
++              RSTRG (Rs_color + minCOLOR + 36, "color36", "color"),
++              RSTRG (Rs_color + minCOLOR + 37, "color37", "color"),
++              RSTRG (Rs_color + minCOLOR + 38, "color38", "color"),
++              RSTRG (Rs_color + minCOLOR + 39, "color39", "color"),
++              RSTRG (Rs_color + minCOLOR + 40, "color40", "color"),
++              RSTRG (Rs_color + minCOLOR + 41, "color41", "color"),
++              RSTRG (Rs_color + minCOLOR + 42, "color42", "color"),
++              RSTRG (Rs_color + minCOLOR + 43, "color43", "color"),
++              RSTRG (Rs_color + minCOLOR + 44, "color44", "color"),
++              RSTRG (Rs_color + minCOLOR + 45, "color45", "color"),
++              RSTRG (Rs_color + minCOLOR + 46, "color46", "color"),
++              RSTRG (Rs_color + minCOLOR + 47, "color47", "color"),
++              RSTRG (Rs_color + minCOLOR + 48, "color48", "color"),
++              RSTRG (Rs_color + minCOLOR + 49, "color49", "color"),
++              RSTRG (Rs_color + minCOLOR + 50, "color50", "color"),
++              RSTRG (Rs_color + minCOLOR + 51, "color51", "color"),
++              RSTRG (Rs_color + minCOLOR + 52, "color52", "color"),
++              RSTRG (Rs_color + minCOLOR + 53, "color53", "color"),
++              RSTRG (Rs_color + minCOLOR + 54, "color54", "color"),
++              RSTRG (Rs_color + minCOLOR + 55, "color55", "color"),
++              RSTRG (Rs_color + minCOLOR + 56, "color56", "color"),
++              RSTRG (Rs_color + minCOLOR + 57, "color57", "color"),
++              RSTRG (Rs_color + minCOLOR + 58, "color58", "color"),
++              RSTRG (Rs_color + minCOLOR + 59, "color59", "color"),
++              RSTRG (Rs_color + minCOLOR + 60, "color60", "color"),
++              RSTRG (Rs_color + minCOLOR + 61, "color61", "color"),
++              RSTRG (Rs_color + minCOLOR + 62, "color62", "color"),
++              RSTRG (Rs_color + minCOLOR + 63, "color63", "color"),
++              RSTRG (Rs_color + minCOLOR + 64, "color64", "color"),
++              RSTRG (Rs_color + minCOLOR + 65, "color65", "color"),
++              RSTRG (Rs_color + minCOLOR + 66, "color66", "color"),
++              RSTRG (Rs_color + minCOLOR + 67, "color67", "color"),
++              RSTRG (Rs_color + minCOLOR + 68, "color68", "color"),
++              RSTRG (Rs_color + minCOLOR + 69, "color69", "color"),
++              RSTRG (Rs_color + minCOLOR + 70, "color70", "color"),
++              RSTRG (Rs_color + minCOLOR + 71, "color71", "color"),
++              RSTRG (Rs_color + minCOLOR + 72, "color72", "color"),
++              RSTRG (Rs_color + minCOLOR + 73, "color73", "color"),
++              RSTRG (Rs_color + minCOLOR + 74, "color74", "color"),
++              RSTRG (Rs_color + minCOLOR + 75, "color75", "color"),
++              RSTRG (Rs_color + minCOLOR + 76, "color76", "color"),
++              RSTRG (Rs_color + minCOLOR + 77, "color77", "color"),
++              RSTRG (Rs_color + minCOLOR + 78, "color78", "color"),
++              RSTRG (Rs_color + minCOLOR + 79, "color79", "color"),
++              RSTRG (Rs_color + minCOLOR + 80, "color80", "color"),
++              RSTRG (Rs_color + minCOLOR + 81, "color81", "color"),
++              RSTRG (Rs_color + minCOLOR + 82, "color82", "color"),
++              RSTRG (Rs_color + minCOLOR + 83, "color83", "color"),
++              RSTRG (Rs_color + minCOLOR + 84, "color84", "color"),
++              RSTRG (Rs_color + minCOLOR + 85, "color85", "color"),
++              RSTRG (Rs_color + minCOLOR + 86, "color86", "color"),
++              RSTRG (Rs_color + minCOLOR + 87, "color87", "color"),
++#if USE_256_COLORS
++              // 256 xterm colors
++              RSTRG (Rs_color + minCOLOR + 88, "color88", "color"),
++              RSTRG (Rs_color + minCOLOR + 89, "color89", "color"),
++              RSTRG (Rs_color + minCOLOR + 90, "color90", "color"),
++              RSTRG (Rs_color + minCOLOR + 91, "color91", "color"),
++              RSTRG (Rs_color + minCOLOR + 92, "color92", "color"),
++              RSTRG (Rs_color + minCOLOR + 93, "color93", "color"),
++              RSTRG (Rs_color + minCOLOR + 94, "color94", "color"),
++              RSTRG (Rs_color + minCOLOR + 95, "color95", "color"),
++              RSTRG (Rs_color + minCOLOR + 96, "color96", "color"),
++              RSTRG (Rs_color + minCOLOR + 97, "color97", "color"),
++              RSTRG (Rs_color + minCOLOR + 98, "color98", "color"),
++              RSTRG (Rs_color + minCOLOR + 99, "color99", "color"),
++              RSTRG (Rs_color + minCOLOR + 100, "color100", "color"),
++              RSTRG (Rs_color + minCOLOR + 101, "color101", "color"),
++              RSTRG (Rs_color + minCOLOR + 102, "color102", "color"),
++              RSTRG (Rs_color + minCOLOR + 103, "color103", "color"),
++              RSTRG (Rs_color + minCOLOR + 104, "color104", "color"),
++              RSTRG (Rs_color + minCOLOR + 105, "color105", "color"),
++              RSTRG (Rs_color + minCOLOR + 106, "color106", "color"),
++              RSTRG (Rs_color + minCOLOR + 107, "color107", "color"),
++              RSTRG (Rs_color + minCOLOR + 108, "color108", "color"),
++              RSTRG (Rs_color + minCOLOR + 109, "color109", "color"),
++              RSTRG (Rs_color + minCOLOR + 110, "color110", "color"),
++              RSTRG (Rs_color + minCOLOR + 111, "color111", "color"),
++              RSTRG (Rs_color + minCOLOR + 112, "color112", "color"),
++              RSTRG (Rs_color + minCOLOR + 113, "color113", "color"),
++              RSTRG (Rs_color + minCOLOR + 114, "color114", "color"),
++              RSTRG (Rs_color + minCOLOR + 115, "color115", "color"),
++              RSTRG (Rs_color + minCOLOR + 116, "color116", "color"),
++              RSTRG (Rs_color + minCOLOR + 117, "color117", "color"),
++              RSTRG (Rs_color + minCOLOR + 118, "color118", "color"),
++              RSTRG (Rs_color + minCOLOR + 119, "color119", "color"),
++              RSTRG (Rs_color + minCOLOR + 120, "color120", "color"),
++              RSTRG (Rs_color + minCOLOR + 121, "color121", "color"),
++              RSTRG (Rs_color + minCOLOR + 122, "color122", "color"),
++              RSTRG (Rs_color + minCOLOR + 123, "color123", "color"),
++              RSTRG (Rs_color + minCOLOR + 124, "color124", "color"),
++              RSTRG (Rs_color + minCOLOR + 125, "color125", "color"),
++              RSTRG (Rs_color + minCOLOR + 126, "color126", "color"),
++              RSTRG (Rs_color + minCOLOR + 127, "color127", "color"),
++              RSTRG (Rs_color + minCOLOR + 128, "color128", "color"),
++              RSTRG (Rs_color + minCOLOR + 129, "color129", "color"),
++              RSTRG (Rs_color + minCOLOR + 130, "color130", "color"),
++              RSTRG (Rs_color + minCOLOR + 131, "color131", "color"),
++              RSTRG (Rs_color + minCOLOR + 132, "color132", "color"),
++              RSTRG (Rs_color + minCOLOR + 133, "color133", "color"),
++              RSTRG (Rs_color + minCOLOR + 134, "color134", "color"),
++              RSTRG (Rs_color + minCOLOR + 135, "color135", "color"),
++              RSTRG (Rs_color + minCOLOR + 136, "color136", "color"),
++              RSTRG (Rs_color + minCOLOR + 137, "color137", "color"),
++              RSTRG (Rs_color + minCOLOR + 138, "color138", "color"),
++              RSTRG (Rs_color + minCOLOR + 139, "color139", "color"),
++              RSTRG (Rs_color + minCOLOR + 140, "color140", "color"),
++              RSTRG (Rs_color + minCOLOR + 141, "color141", "color"),
++              RSTRG (Rs_color + minCOLOR + 142, "color142", "color"),
++              RSTRG (Rs_color + minCOLOR + 143, "color143", "color"),
++              RSTRG (Rs_color + minCOLOR + 144, "color144", "color"),
++              RSTRG (Rs_color + minCOLOR + 145, "color145", "color"),
++              RSTRG (Rs_color + minCOLOR + 146, "color146", "color"),
++              RSTRG (Rs_color + minCOLOR + 147, "color147", "color"),
++              RSTRG (Rs_color + minCOLOR + 148, "color148", "color"),
++              RSTRG (Rs_color + minCOLOR + 149, "color149", "color"),
++              RSTRG (Rs_color + minCOLOR + 150, "color150", "color"),
++              RSTRG (Rs_color + minCOLOR + 151, "color151", "color"),
++              RSTRG (Rs_color + minCOLOR + 152, "color152", "color"),
++              RSTRG (Rs_color + minCOLOR + 153, "color153", "color"),
++              RSTRG (Rs_color + minCOLOR + 154, "color154", "color"),
++              RSTRG (Rs_color + minCOLOR + 155, "color155", "color"),
++              RSTRG (Rs_color + minCOLOR + 156, "color156", "color"),
++              RSTRG (Rs_color + minCOLOR + 157, "color157", "color"),
++              RSTRG (Rs_color + minCOLOR + 158, "color158", "color"),
++              RSTRG (Rs_color + minCOLOR + 159, "color159", "color"),
++              RSTRG (Rs_color + minCOLOR + 160, "color160", "color"),
++              RSTRG (Rs_color + minCOLOR + 161, "color161", "color"),
++              RSTRG (Rs_color + minCOLOR + 162, "color162", "color"),
++              RSTRG (Rs_color + minCOLOR + 163, "color163", "color"),
++              RSTRG (Rs_color + minCOLOR + 164, "color164", "color"),
++              RSTRG (Rs_color + minCOLOR + 165, "color165", "color"),
++              RSTRG (Rs_color + minCOLOR + 166, "color166", "color"),
++              RSTRG (Rs_color + minCOLOR + 167, "color167", "color"),
++              RSTRG (Rs_color + minCOLOR + 168, "color168", "color"),
++              RSTRG (Rs_color + minCOLOR + 169, "color169", "color"),
++              RSTRG (Rs_color + minCOLOR + 170, "color170", "color"),
++              RSTRG (Rs_color + minCOLOR + 171, "color171", "color"),
++              RSTRG (Rs_color + minCOLOR + 172, "color172", "color"),
++              RSTRG (Rs_color + minCOLOR + 173, "color173", "color"),
++              RSTRG (Rs_color + minCOLOR + 174, "color174", "color"),
++              RSTRG (Rs_color + minCOLOR + 175, "color175", "color"),
++              RSTRG (Rs_color + minCOLOR + 176, "color176", "color"),
++              RSTRG (Rs_color + minCOLOR + 177, "color177", "color"),
++              RSTRG (Rs_color + minCOLOR + 178, "color178", "color"),
++              RSTRG (Rs_color + minCOLOR + 179, "color179", "color"),
++              RSTRG (Rs_color + minCOLOR + 180, "color180", "color"),
++              RSTRG (Rs_color + minCOLOR + 181, "color181", "color"),
++              RSTRG (Rs_color + minCOLOR + 182, "color182", "color"),
++              RSTRG (Rs_color + minCOLOR + 183, "color183", "color"),
++              RSTRG (Rs_color + minCOLOR + 184, "color184", "color"),
++              RSTRG (Rs_color + minCOLOR + 185, "color185", "color"),
++              RSTRG (Rs_color + minCOLOR + 186, "color186", "color"),
++              RSTRG (Rs_color + minCOLOR + 187, "color187", "color"),
++              RSTRG (Rs_color + minCOLOR + 188, "color188", "color"),
++              RSTRG (Rs_color + minCOLOR + 189, "color189", "color"),
++              RSTRG (Rs_color + minCOLOR + 190, "color190", "color"),
++              RSTRG (Rs_color + minCOLOR + 191, "color191", "color"),
++              RSTRG (Rs_color + minCOLOR + 192, "color192", "color"),
++              RSTRG (Rs_color + minCOLOR + 193, "color193", "color"),
++              RSTRG (Rs_color + minCOLOR + 194, "color194", "color"),
++              RSTRG (Rs_color + minCOLOR + 195, "color195", "color"),
++              RSTRG (Rs_color + minCOLOR + 196, "color196", "color"),
++              RSTRG (Rs_color + minCOLOR + 197, "color197", "color"),
++              RSTRG (Rs_color + minCOLOR + 198, "color198", "color"),
++              RSTRG (Rs_color + minCOLOR + 199, "color199", "color"),
++              RSTRG (Rs_color + minCOLOR + 200, "color200", "color"),
++              RSTRG (Rs_color + minCOLOR + 201, "color201", "color"),
++              RSTRG (Rs_color + minCOLOR + 202, "color202", "color"),
++              RSTRG (Rs_color + minCOLOR + 203, "color203", "color"),
++              RSTRG (Rs_color + minCOLOR + 204, "color204", "color"),
++              RSTRG (Rs_color + minCOLOR + 205, "color205", "color"),
++              RSTRG (Rs_color + minCOLOR + 206, "color206", "color"),
++              RSTRG (Rs_color + minCOLOR + 207, "color207", "color"),
++              RSTRG (Rs_color + minCOLOR + 208, "color208", "color"),
++              RSTRG (Rs_color + minCOLOR + 209, "color209", "color"),
++              RSTRG (Rs_color + minCOLOR + 210, "color210", "color"),
++              RSTRG (Rs_color + minCOLOR + 211, "color211", "color"),
++              RSTRG (Rs_color + minCOLOR + 212, "color212", "color"),
++              RSTRG (Rs_color + minCOLOR + 213, "color213", "color"),
++              RSTRG (Rs_color + minCOLOR + 214, "color214", "color"),
++              RSTRG (Rs_color + minCOLOR + 215, "color215", "color"),
++              RSTRG (Rs_color + minCOLOR + 216, "color216", "color"),
++              RSTRG (Rs_color + minCOLOR + 217, "color217", "color"),
++              RSTRG (Rs_color + minCOLOR + 218, "color218", "color"),
++              RSTRG (Rs_color + minCOLOR + 219, "color219", "color"),
++              RSTRG (Rs_color + minCOLOR + 220, "color220", "color"),
++              RSTRG (Rs_color + minCOLOR + 221, "color221", "color"),
++              RSTRG (Rs_color + minCOLOR + 222, "color222", "color"),
++              RSTRG (Rs_color + minCOLOR + 223, "color223", "color"),
++              RSTRG (Rs_color + minCOLOR + 224, "color224", "color"),
++              RSTRG (Rs_color + minCOLOR + 225, "color225", "color"),
++              RSTRG (Rs_color + minCOLOR + 226, "color226", "color"),
++              RSTRG (Rs_color + minCOLOR + 227, "color227", "color"),
++              RSTRG (Rs_color + minCOLOR + 228, "color228", "color"),
++              RSTRG (Rs_color + minCOLOR + 229, "color229", "color"),
++              RSTRG (Rs_color + minCOLOR + 230, "color230", "color"),
++              RSTRG (Rs_color + minCOLOR + 231, "color231", "color"),
++              RSTRG (Rs_color + minCOLOR + 232, "color232", "color"),
++              RSTRG (Rs_color + minCOLOR + 233, "color233", "color"),
++              RSTRG (Rs_color + minCOLOR + 234, "color234", "color"),
++              RSTRG (Rs_color + minCOLOR + 235, "color235", "color"),
++              RSTRG (Rs_color + minCOLOR + 236, "color236", "color"),
++              RSTRG (Rs_color + minCOLOR + 237, "color237", "color"),
++              RSTRG (Rs_color + minCOLOR + 238, "color238", "color"),
++              RSTRG (Rs_color + minCOLOR + 239, "color239", "color"),
++              RSTRG (Rs_color + minCOLOR + 240, "color240", "color"),
++              RSTRG (Rs_color + minCOLOR + 241, "color241", "color"),
++              RSTRG (Rs_color + minCOLOR + 242, "color242", "color"),
++              RSTRG (Rs_color + minCOLOR + 243, "color243", "color"),
++              RSTRG (Rs_color + minCOLOR + 244, "color244", "color"),
++              RSTRG (Rs_color + minCOLOR + 245, "color245", "color"),
++              RSTRG (Rs_color + minCOLOR + 246, "color246", "color"),
++              RSTRG (Rs_color + minCOLOR + 247, "color247", "color"),
++              RSTRG (Rs_color + minCOLOR + 248, "color248", "color"),
++              RSTRG (Rs_color + minCOLOR + 249, "color249", "color"),
++              RSTRG (Rs_color + minCOLOR + 250, "color250", "color"),
++              RSTRG (Rs_color + minCOLOR + 251, "color251", "color"),
++              RSTRG (Rs_color + minCOLOR + 252, "color252", "color"),
++              RSTRG (Rs_color + minCOLOR + 253, "color253", "color"),
++              RSTRG (Rs_color + minCOLOR + 254, "color254", "color"),
++              RSTRG (Rs_color + minCOLOR + 255, "color255", "color"),
++#endif
+               RSTRG (Rs_color + minBrightCOLOR + 0, "color8", "color"),
+               RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"),
+               RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"),
diff --git a/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch
new file mode 100644
index 00000000000..636083218fa
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch
@@ -0,0 +1,21 @@
+--- a/src/rxvtfont.C	2008-07-09 12:21:45.000000000 +0400
++++ b/src/rxvtfont.C	2009-10-30 14:32:53.000000000 +0300
+@@ -1195,12 +1195,14 @@
+           XGlyphInfo g;
+           XftTextExtents16 (disp, f, &ch, 1, &g);
+ 
+-          g.width -= g.x;
+-
++/*
++ * bukind: don't use g.width as a width of a character!
++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial
++ */
+           int wcw = WCWIDTH (ch);
+-          if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
++          if (wcw > 1) g.xOff = g.xOff / wcw;
++          if (width < g.xOff) width = g.xOff;
+ 
+-          if (width    < g.width       ) width    = g.width;
+           if (height   < g.height      ) height   = g.height;
+           if (glheight < g.height - g.y) glheight = g.height - g.y;
+         }
\ No newline at end of file
diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix
index e1492a47691..151b8a077d5 100644
--- a/pkgs/applications/misc/sakura/default.nix
+++ b/pkgs/applications/misc/sakura/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       terminals in one window and adds a contextual menu with some basic
       options. No more no less.
     '';
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index aa2ceb08e80..06a5cca94a8 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchgit, perl, makeWrapper, makeDesktopItem
-# Perl modules:
-, EncodeLocale, MathClipper, ExtUtilsXSpp, BoostGeometryUtils
-, MathConvexHullMonotoneChain, MathGeometryVoronoi, MathPlanePath, Moo
-, IOStringy, ClassXSAccessor, Wx, GrowlGNTP, NetDBus }:
+, which, perlPackages
+}:
 
 stdenv.mkDerivation rec {
-  version = "0.9.10b";
+  version = "1.1.7";
   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";
+    sha256 = "0hss90iw4xwca08d03wrz0fds5nqwb9zjqii2n6rgpcl4km69fka";
   };
 
-  buildInputs = [ perl makeWrapper
+  buildInputs = with perlPackages; [ perl makeWrapper which
     EncodeLocale MathClipper ExtUtilsXSpp BoostGeometryUtils
     MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
-    IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus
+    IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX
+    ExtUtilsMakeMaker
   ];
 
   desktopItem = makeDesktopItem {
@@ -31,13 +30,23 @@ stdenv.mkDerivation rec {
     categories = "Application;Development;";
   };
 
-  # Nothing to do here
-  buildPhase = "true";
+  buildPhase = ''
+    export SLIC3R_NO_AUTO=true
+    export PERL5LIB="./xs/blib/arch/:./xs/blib/lib:$PERL5LIB"
+
+    pushd xs
+      perl Build.PL
+      perl Build
+    popd
+
+    perl Build.PL
+  '';
 
   installPhase = ''
     mkdir -p "$out/share/slic3r/"
     cp -r * "$out/share/slic3r/"
-    wrapProgram "$out/share/slic3r/slic3r.pl" --prefix PERL5LIB : $PERL5LIB
+    wrapProgram "$out/share/slic3r/slic3r.pl" \
+      --prefix PERL5LIB : "$out/share/slic3r/xs/blib/arch:$out/share/slic3r/xs/blib/lib:$PERL5LIB"
     mkdir -p "$out/bin"
     ln -s "$out/share/slic3r/slic3r.pl" "$out/bin/slic3r"
     mkdir -p "$out/share/pixmaps/"
@@ -56,6 +65,6 @@ stdenv.mkDerivation rec {
     homepage = http://slic3r.org/;
     license = licenses.agpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
new file mode 100644
index 00000000000..7dbe723d9eb
--- /dev/null
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -0,0 +1,30 @@
+{ pkgs, fetchurl, stdenv, gtk3, udev, desktop_file_utils, shared_mime_info
+, intltool, pkgconfig, makeWrapper
+}:
+
+let
+  version = "0.9.4";
+
+in stdenv.mkDerivation rec {
+  name = "spacefm-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true";
+    sha256 = "0marwa031jk24q8hy90dr7yw6rv5hn1shar404zpb1k57v4nr23m";
+  };
+
+  buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/spacefm" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = {
+    description = "Multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customizable menu system, and bash integration.";
+    platforms = pkgs.lib.platforms.linux;
+    license = pkgs.lib.licenses.gpl3;
+  };
+
+}
+
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix
index 41575ce35a6..1dcdf78456d 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/misc/st/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, writeText, libX11, ncurses, libXext, libXft, fontconfig
+{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig
 , conf? null}:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "st-0.4.1";
+  name = "st-0.5";
   
   src = fetchurl {
     url = "http://dl.suckless.org/st/${name}.tar.gz";
-    sha256 = "0cdzwbm5fxrwz8ryxkh90d3vwx54wjyywgj28ymsb5fdv3396bzf";
+    sha256 = "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f";
   };
 
   configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
   preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
   
-  buildInputs = [ libX11 ncurses libXext libXft fontconfig ];
+  buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ];
 
   NIX_LDFLAGS = "-lfontconfig";
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     
   meta = {
     homepage = http://st.suckless.org/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = with maintainers; [viric];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/misc/stardict/stardict.nix b/pkgs/applications/misc/stardict/stardict.nix
index 9eb3e112342..1ca8ec045d6 100644
--- a/pkgs/applications/misc/stardict/stardict.nix
+++ b/pkgs/applications/misc/stardict/stardict.nix
@@ -39,8 +39,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "stardict";
     homepage = "A international dictionary supporting fuzzy and glob style matching";
-    license = "LGPL3";
+    license = stdenv.lib.licenses.lgpl3;
     maintainers = with stdenv.lib.maintainers; [qknight];
   };
 }
-
diff --git a/pkgs/applications/misc/surf/default.nix b/pkgs/applications/misc/surf/default.nix
index 42792ba8f91..983fbde0c45 100644
--- a/pkgs/applications/misc/surf/default.nix
+++ b/pkgs/applications/misc/surf/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "01b8hq8z2wd7ssym5bypx2b15mrs1lhgkrcgxf700kswxvxcrhgx";
   };
 
-  buildInputs = [ gtk makeWrapper webkit pkgconfig glib libsoup ];
+  buildInputs = [ gtk makeWrapper webkit gsettings_desktop_schemas pkgconfig glib libsoup ];
 
   # Allow users set their own list of patches
   inherit patches;
@@ -21,9 +21,12 @@ stdenv.mkDerivation rec {
   preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
   installPhase = ''
     make PREFIX=/ DESTDIR=$out install
+  '';
+
+  preFixup = ''
     wrapProgram "$out/bin/surf" \
       --prefix GIO_EXTRA_MODULES : ${glib_networking}/lib/gio/modules \
-      --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share"
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = {
@@ -35,7 +38,7 @@ stdenv.mkDerivation rec {
       surf to another URI by setting its XProperties.
       '';
     homepage = http://surf.suckless.org;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
new file mode 100644
index 00000000000..ab7a8240ebf
--- /dev/null
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
+, p7zip }:
+
+let
+
+  mkSweetHome3D =
+  { name, module, version, src, license, description }:
+
+  stdenv.mkDerivation rec {
+    inherit name version src description;
+    exec = stdenv.lib.toLower module;
+    sweethome3dItem = makeDesktopItem {
+      inherit name exec;
+      comment =  description;
+      desktopName = name;
+      genericName = "Computer Aided (Interior) Design";
+      categories = "Application;CAD;";
+    };
+
+    buildInputs = [ ant jdk jre makeWrapper p7zip ];
+
+    buildPhase = ''
+      ant furniture textures help
+      mkdir -p $out/share/{java,applications}
+      mv build/*.jar $out/share/java/.
+      ant
+    '';
+
+    installPhase = ''
+      mkdir -p $out/bin
+      cp install/${module}-${version}.jar $out/share/java/.
+      cp ${sweethome3dItem}/share/applications/* $out/share/applications
+      makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
+    '';
+
+    dontStrip = true;
+
+    meta = {
+      homepage = "http://www.sweethome3d.com/index.jsp";
+      inherit description;
+      inherit license;
+      maintainers = [ stdenv.lib.maintainers.edwtjo ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+  d2u = stdenv.lib.replaceChars ["."] ["_"];
+
+in rec {
+
+  application = mkSweetHome3D rec {
+    version = "4.3.1";
+    module = "SweetHome3D";
+    name = stdenv.lib.toLower module + "-application-" + version;
+    description = "Design and visualize your future home";
+    license = stdenv.lib.licenses.gpl2Plus;
+    src = fetchcvs {
+      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
+      sha256 = "0jn3xamghz8rsmzvpd57cvz32yk8mni8dyx15xizjcki0450bp3f";
+      module = module;
+      tag = "V_" + d2u version;
+    };
+  };
+
+}
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
new file mode 100644
index 00000000000..9eca1df59f5
--- /dev/null
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -0,0 +1,90 @@
+{ stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
+, p7zip, sweethome3dApp }:
+
+let
+
+  sweetExec = with stdenv.lib;
+    m: "sweethome3d-"
+    + removeSuffix "libraryeditor" (toLower m)
+    + "-editor";
+  sweetName = m: v: sweetExec m + "-" + v;
+
+  mkEditorProject =
+  { name, module, version, src, license, description }:
+
+  stdenv.mkDerivation rec {
+    application = sweethome3dApp;
+    inherit name module version src description;
+    exec = sweetExec module;
+    editorItem = makeDesktopItem {
+      inherit name exec;
+      comment =  description;
+      desktopName = name;
+      genericName = "Computer Aided (Interior) Design";
+      categories = "Application;CAD;";
+    };
+
+    buildInputs = [ ant jre jdk makeWrapper ];
+
+    patchPhase = ''
+      sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
+    '';
+
+    buildPhase = ''
+      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
+    '';
+
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/{java,applications}
+      cp ${module}-${version}.jar $out/share/java/.
+      cp ${editorItem}/share/applications/* $out/share/applications
+      makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --add-flags "-jar $out/share/java/${module}-${version}.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
+    '';
+
+    dontStrip = true;
+
+    meta = {
+      homepage = "http://www.sweethome3d.com/index.jsp";
+      inherit description;
+      inherit license;
+      maintainers = [ stdenv.lib.maintainers.edwtjo ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+
+  };
+
+  d2u = stdenv.lib.replaceChars ["."] ["_"];
+
+in rec {
+
+  textures-editor = mkEditorProject rec {
+    version = "1.3";
+    module = "TexturesLibraryEditor";
+    name = sweetName module version;
+    description = "Easily create SH3T files and edit the properties of the texture images it contain";
+    license = stdenv.lib.licenses.gpl2Plus;
+    src = fetchcvs {
+      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
+      sha256 = "1caf1hmf87bj5dr7w2swnlbvkb3q1jdjr1zgjn1k07d0fxh0ikbx";
+      module = module;
+      tag = "V_" + d2u version;
+    };
+  };
+
+  furniture-editor = mkEditorProject rec {
+    version = "1.13";
+    module = "FurnitureLibraryEditor";
+    name = sweetName module version;
+    description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
+    license = stdenv.lib.licenses.gpl2;
+    src = fetchcvs {
+      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
+      sha256 = "1nll5589rc0g71zd86cwmzl4p2icynykj106schmxric9v17jbv5";
+      module = module;
+      tag = "V_" + d2u version;
+    };
+  };
+
+}
diff --git a/pkgs/applications/misc/synergy/cryptopp.patch b/pkgs/applications/misc/synergy/cryptopp.patch
index d0aebb87261..1c296423acd 100644
--- a/pkgs/applications/misc/synergy/cryptopp.patch
+++ b/pkgs/applications/misc/synergy/cryptopp.patch
@@ -1,32 +1,30 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3b61fc0..2206646 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -133,6 +133,9 @@ if (UNIX)
+diff -urN synergy-1.4.17-Source/CMakeLists.txt synergy-1.4.17-Source-fix/CMakeLists.txt
+--- synergy-1.4.17-Source/CMakeLists.txt	2014-03-14 21:34:19.000000000 +0100
++++ synergy-1.4.17-Source-fix/CMakeLists.txt	2014-04-11 13:37:18.839338710 +0200
+@@ -145,6 +145,9 @@
  	check_type_size(long SIZEOF_LONG)
  	check_type_size(short SIZEOF_SHORT)
  
-+    # let's just assume cryptopp exists (provided by the Nix expression)
-+    list(APPEND libs cryptopp)
++	# let's just assume cryptopp exists (provided by the Nix expression)
++	list(APPEND libs cryptopp)
 +
  	# pthread is used on both Linux and Mac
  	check_library_exists("pthread" pthread_create "" HAVE_PTHREAD)
  	if (HAVE_PTHREAD)
-@@ -303,7 +306,6 @@ if (VNC_SUPPORT)
+@@ -317,7 +320,6 @@
  endif()
  
  add_subdirectory(src)
--add_subdirectory(tools)
+-add_subdirectory(ext)
  
  if (WIN32)
- 	# add /analyze in order to unconver potential bugs in the source code
-diff --git a/src/lib/io/CCryptoMode.h b/src/lib/io/CCryptoMode.h
-index 9b7e8ad..0d659ac 100644
---- a/src/lib/io/CCryptoMode.h
-+++ b/src/lib/io/CCryptoMode.h
-@@ -17,9 +17,9 @@
- 
- #pragma once
+ 	# TODO:	consider using /analyze to uncover potential bugs in the source code.
+diff -urN synergy-1.4.17-Source/src/lib/io/CryptoMode_cryptopp.h synergy-1.4.17-Source-fix/src/lib/io/CryptoMode_cryptopp.h
+--- synergy-1.4.17-Source/src/lib/io/CryptoMode_cryptopp.h	2014-02-28 13:36:45.000000000 +0100
++++ synergy-1.4.17-Source-fix/src/lib/io/CryptoMode_cryptopp.h	2014-04-11 13:36:01.111985556 +0200
+@@ -25,6 +25,6 @@
+ #	pragma GCC system_header
+ #endif 
  
 -#include <cryptopp562/gcm.h>
 -#include <cryptopp562/modes.h>
@@ -34,21 +32,14 @@ index 9b7e8ad..0d659ac 100644
 +#include <cryptopp/gcm.h>
 +#include <cryptopp/modes.h>
 +#include <cryptopp/aes.h>
- #include "ECryptoMode.h"
- #include "CString.h"
+diff -urN synergy-1.4.17-Source/src/lib/io/CryptoStream_cryptopp.h synergy-1.4.17-Source-fix/src/lib/io/CryptoStream_cryptopp.h
+--- synergy-1.4.17-Source/src/lib/io/CryptoStream_cryptopp.h	2014-02-28 13:36:45.000000000 +0100
++++ synergy-1.4.17-Source-fix/src/lib/io/CryptoStream_cryptopp.h	2014-04-11 13:36:07.173013005 +0200
+@@ -25,5 +25,5 @@
+ #	pragma GCC system_header
+ #endif
  
-diff --git a/src/lib/io/CCryptoStream.h b/src/lib/io/CCryptoStream.h
-index 104b1f6..09c4dc4 100644
---- a/src/lib/io/CCryptoStream.h
-+++ b/src/lib/io/CCryptoStream.h
-@@ -20,8 +20,8 @@
- #include "BasicTypes.h"
- #include "CStreamFilter.h"
- #include "CCryptoMode.h"
 -#include <cryptopp562/osrng.h>
 -#include <cryptopp562/sha.h>
 +#include <cryptopp/osrng.h>
 +#include <cryptopp/sha.h>
- 
- class CCryptoOptions;
- 
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index c01d67943e5..8d914c26221 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -1,36 +1,38 @@
-{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput
-, cryptopp ? null, unzip ? null }:
+{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput, curl
+, cryptopp ? null, unzip }:
 
 assert stdenv.isLinux -> cryptopp != null;
-assert !stdenv.isLinux -> unzip != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "synergy-1.4.15";
+  name = "synergy-1.5.0";
 
   src = fetchurl {
-    url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz";
-    sha256 = "0l1mxxky9hacyva0npzkgkwg4wkmihzq3abdrds0w5f6is44adv4";
+    url = "http://synergy-project.org/files/packages/synergy-1.5.0-r2278-Source.tar.gz";
+    sha256 = "097hk9v01lwzs7ly6ynadxmjh7ad68l5si7w4qmjn6z7l8b61gv6";
   };
 
   patches = optional stdenv.isLinux ./cryptopp.patch;
 
-  postPatch = if stdenv.isLinux then ''
+  postPatch = (if stdenv.isLinux then ''
     sed -i -e '/HAVE_X11_EXTENSIONS_XRANDR_H/c \
       set(HAVE_X11_EXTENSIONS_XRANDR_H true)' CMakeLists.txt
   '' else ''
-    ${unzip}/bin/unzip -d tools/cryptopp562 tools/cryptopp562.zip
+    ${unzip}/bin/unzip -d ext/cryptopp562 ext/cryptopp562.zip
+  '') + ''
+    ${unzip}/bin/unzip -d ext/gmock-1.6.0 ext/gmock-1.6.0.zip
+    ${unzip}/bin/unzip -d ext/gtest-1.6.0 ext/gtest-1.6.0.zip
   '';
 
-  buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput ]
+  buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput curl ]
              ++ optional stdenv.isLinux cryptopp;
 
   # At this moment make install doesn't work for synergy
   # http://synergy-foss.org/spit/issues/details/3317/
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp ../bin/synergyc $out/bin
     cp ../bin/synergys $out/bin
     cp ../bin/synergyd $out/bin
diff --git a/pkgs/applications/misc/taffybar/default.nix b/pkgs/applications/misc/taffybar/default.nix
new file mode 100644
index 00000000000..6b282116343
--- /dev/null
+++ b/pkgs/applications/misc/taffybar/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, dbus, dyre, enclosedExceptions, filepath, gtk
+, gtkTraymanager, HStringTemplate, HTTP, mtl, network, parsec, safe
+, split, stm, text, time, transformers, utf8String, X11, xdgBasedir
+, xmonad, xmonadContrib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "taffybar";
+  version = "0.4.0";
+  sha256 = "1l6zl5mlpkdsvs3id6ivh4b74p65n6jr17k23y2cdwj2fr9prvr8";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    cairo dbus dyre enclosedExceptions filepath gtk gtkTraymanager
+    HStringTemplate HTTP mtl network parsec safe split stm text time
+    transformers utf8String X11 xdgBasedir xmonad xmonadContrib
+  ];
+  pkgconfigDepends = [ gtk ];
+  meta = {
+    homepage = "http://github.com/travitch/taffybar";
+    description = "A desktop bar similar to xmobar, but with more GUI";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/applications/misc/tangogps/default.nix b/pkgs/applications/misc/tangogps/default.nix
index 609849166d1..aa1df2c9d1a 100644
--- a/pkgs/applications/misc/tangogps/default.nix
+++ b/pkgs/applications/misc/tangogps/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
 
     #homepage = http://www.tangogps.org/; # no longer valid, I couldn't find any other
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix
index 77acc511fe4..e1e04771460 100644
--- a/pkgs/applications/misc/taskjuggler/default.nix
+++ b/pkgs/applications/misc/taskjuggler/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.taskjuggler.org";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     description = "Project management tool";
     longDescription = ''
       TaskJuggler is a modern and powerful, Open Source project management
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index dc1fce1d64c..998c34e5610 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -1,17 +1,17 @@
-{stdenv, fetchurl, cmake}:
+{ stdenv, fetchurl, cmake, libuuid }:
 
 stdenv.mkDerivation rec {
   name = "taskwarrior-${version}";
-  version = "2.2.0";
+  version = "2.3.0";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
     url = "http://www.taskwarrior.org/download/task-${version}.tar.gz";
-    sha256 = "057fh50qp9bd5s08rw51iybpamn55v5nhn3s6ds89g76hp95vqir";
+    sha256 = "0wxcfq0n96vmcbwrlk2x377k8cc5k4i64ca6p02y74g6168ji6ib";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake libuuid ];
 
   meta = {
     description = "GTD (getting things done) implementation";
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
new file mode 100644
index 00000000000..c337cd329c9
--- /dev/null
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, python, pygtk, notify, keybinder, vte, gettext, intltool
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  name = "terminator-${version}";
+  version = "0.97";
+  
+  src = fetchurl {
+    url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1xykpx10g2zssx0ss6351ca6vmmma7zwxxhjz0fg28ps4dq88cci";
+  };
+  
+  buildInputs = [
+    python pygtk notify keybinder vte gettext intltool makeWrapper
+  ];
+
+  installPhase = ''
+    python setup.py --without-icon-cache install --prefix="$out"
+
+    for file in "$out"/bin/*; do
+        wrapProgram "$file" \
+            --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Terminal emulator with support for tiling and tabs";
+    longDescription = ''
+      The goal of this project is to produce a useful tool for arranging
+      terminals. It is inspired by programs such as gnome-multi-term,
+      quadkonsole, etc. in that the main focus is arranging terminals in grids
+      (tabs is the most common default method, which Terminator also supports).
+    '';
+    homepage = http://gnometerminator.blogspot.no/p/introduction.html;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.bjornfor ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix
new file mode 100644
index 00000000000..9eb3ed13af5
--- /dev/null
+++ b/pkgs/applications/misc/tint2/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, cmake, pango, cairo, glib, imlib2, libXinerama
+, libXrender, libXcomposite, libXdamage, libX11, libXrandr, gtk, libpthreadstubs
+, libXdmcp
+}:
+
+stdenv.mkDerivation rec {
+  name = "tint2-${version}";
+  version = "0.11";
+
+  src = fetchurl {
+    url = "http://tint2.googlecode.com/files/${name}.tar.bz2";
+    sha256 = "07a74ag7lhc6706z34zvqj2ikyyl7wnzisfxpld67ljpc1m6w47y";
+  };
+        
+  buildInputs = [ pkgconfig cmake pango cairo glib imlib2 libXinerama
+    libXrender libXcomposite libXdamage libX11 libXrandr gtk libpthreadstubs
+    libXdmcp
+  ];
+
+  preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
+
+  cmakeFlags = [
+    "-DENABLE_TINT2CONF=0"
+  ];
+
+  meta = {
+    homepage = http://code.google.com/p/tint2;
+    license = stdenv.lib.licenses.gpl2;
+    description = "A simple panel/taskbar unintrusive and light (memory / cpu / aestetic)";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
new file mode 100644
index 00000000000..65c2ccb5ff0
--- /dev/null
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, fetchgit, qt4, pkgconfig, boost, dbus }:
+
+stdenv.mkDerivation rec {
+  rev = "9f52882688ba03d7aaab2e3fd83cb05cfbf1a374";
+  name = "twmn-${rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/sboli/twmn.git";
+    sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
+  };
+
+  buildInputs = [ qt4 pkgconfig boost ];
+  propagatedBuildInputs = [ dbus ];
+
+  configurePhase = "qmake";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp bin/* "$out/bin"
+  '';
+
+  meta = {
+    description = "A notification system for tiling window managers";
+    homepage = "https://github.com/sboli/twmn";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+  };
+}
diff --git a/pkgs/applications/misc/vanitygen/default.nix b/pkgs/applications/misc/vanitygen/default.nix
index e16767d4c26..6be2dc394cc 100644
--- a/pkgs/applications/misc/vanitygen/default.nix
+++ b/pkgs/applications/misc/vanitygen/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl pcre ];
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp vanitygen $out/bin
     cp keyconv $out/bin/vanitygen-keyconv
   '';
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
         and will run about 30% faster.
       '';
       homepage = "https://github.com/samr7/vanitygen";
-      license = "AGPLv3";
+      license = stdenv.lib.licenses.agpl3;
       platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 7230e84601e..5abf57ae1fc 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -2,17 +2,16 @@
 
 let
   name = "vifm-${version}";
-  version = "0.7.5";
+  version = "0.7.7";
 
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
-    sha256 ="1r1d92zrff94rfx011dw2qsgdwd2ksqlz15la74d6h7sfcsnyd01";
+    url = "mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
+    sha256 = "1lflmkd5q7qqi9d44py0y41pcx5bsadkihn3gc0x5cka04f2gh0d";
   };
 
-  #phaseNames = ["doConfigure" "doMakeInstall"];
   buildInputs = [ utillinux ncurses file libX11 ];
 
   meta = {
diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix
index 70ac055db09..6508b12e1de 100644
--- a/pkgs/applications/misc/viking/default.nix
+++ b/pkgs/applications/misc/viking/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation {
 
     homepage = http://viking.sourceforge.net/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix
index c90e4d24f37..542f11f6e67 100644
--- a/pkgs/applications/misc/vue/default.nix
+++ b/pkgs/applications/misc/vue/default.nix
@@ -11,10 +11,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="vue";
-    version="3.1.2";
+    version="3.2.2";
     name="${baseName}-${version}";
-    url="http://releases.atech.tufts.edu/vue/v${version}/VUE_3_1_2.zip";
-    hash="0ga98gnp4qhcrb31cb8j0mwbrh6ym6hr4k5y4blxvyfff9c0vq47";
+    url="releases.atech.tufts.edu/jenkins/job/VUE/64/deployedArtifacts/download/artifact.2";
+    hash="0sb1kgan8fvph2cqfxk3906cwx5wy83zni2vlz4zzi6yg4zvfxld";
   };
 in
 rec {
@@ -30,9 +30,8 @@ rec {
   phaseNames = ["doDeploy"];
 
   doDeploy = a.fullDepEntry ''
-    unzip ${src}
     mkdir -p "$out"/{share/vue,bin}
-    cp VUE.jar "$out/share/vue/vue.jar"
+    cp ${src} "$out/share/vue/vue.jar"
     echo '#!${a.stdenv.shell}' >> "$out/bin/vue" 
     echo '${a.jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue" 
     chmod a+x "$out/bin/vue"
diff --git a/pkgs/applications/misc/wmname/default.nix b/pkgs/applications/misc/wmname/default.nix
index 417d4a5ae68..0f71a53075f 100644
--- a/pkgs/applications/misc/wmname/default.nix
+++ b/pkgs/applications/misc/wmname/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
       description = "Prints or set the window manager name property of the root window";
       homepage = "http://tools.suckless.org/wmname";
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index fb6b011f30a..0bc2170340c 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool }:
+{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool, gcc, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "xca-${version}";
@@ -15,7 +15,12 @@ stdenv.mkDerivation rec {
     prefix=$out ./configure ${openssl} ${libtool}
   '';
 
-  buildInputs = [ openssl qt4 libtool ];
+  postInstall = ''
+    wrapProgram "$out/bin/xca" \
+      --prefix LD_LIBRARY_PATH : "${qt4}/lib:${gcc.gcc}/lib:${gcc.gcc}/lib64:${openssl}/lib:${libtool}/lib"
+  '';
+
+  buildInputs = [ openssl qt4 libtool gcc makeWrapper ];
   nativeBuildInputs = [ pkgconfig ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index aed55c67c10..c6bfa07cb88 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, wxGTK, chmlib}:
 
 stdenv.mkDerivation {
-  name = "xchm-1.18";
+  name = "xchm-1.23";
   src = fetchurl {
-    url = mirror://sourceforge/xchm/xchm-1.18.tar.gz;
-    sha256 = "1wvvyzqbmj3c6i46x4vpxkawjwmmp276r84ifvlzaj5q4b52g5gw";
+    url = mirror://sourceforge/xchm/xchm-1.23.tar.gz;
+    sha256 = "0qn0fyxcrn30ndq2asx31k0qkx3grbm16fb1y580wd2gjmh5r3wg";
   };
   buildInputs = [wxGTK chmlib];
 
diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix
new file mode 100644
index 00000000000..15202a1e90c
--- /dev/null
+++ b/pkgs/applications/misc/xcruiser/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, gccmakedep, xlibs }:
+
+stdenv.mkDerivation {
+  name = "xcruiser-0.30";
+
+  src = fetchurl {
+      url = mirror://sourceforge/xcruiser/xcruiser/xcruiser-0.30/xcruiser-0.30.tar.gz;
+      sha256 = "1r8whva38xizqdh7jmn6wcmfmsndc67pkw22wzfzr6rq0vf6hywi";
+    };
+
+  buildInputs = with xlibs; [ gccmakedep imake libXt libXaw libXpm libXext ];
+
+  configurePhase = "xmkmf -a";
+
+  preBuild = ''
+    makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults)
+  '';
+
+  meta = with stdenv.lib;
+    { description = "Filesystem visualization utility";
+      longDescription = ''
+        XCruiser, formerly known as XCruise, is a filesystem visualization utility.
+        It constructs a virtually 3-D formed universe from a directory
+        tree and allows you to "cruise" within a visualized filesystem.
+      '';
+      homepage = http://xcruiser.sourceforge.net/;
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ emery ];
+    };
+}
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
index 9b1385d9d6a..d09a899b897 100644
--- a/pkgs/applications/misc/xfe/default.nix
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
       Xfe aims to be the filemanager of choice for all the Unix addicts!
     '';
     homepage = "http://sourceforge.net/projects/xfe/";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.bbenoist ];
-    platforms = stdenv.lib.platforms.mesaPlatforms;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index b159dd282e2..2bb05fe44e0 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -4,11 +4,11 @@
 
 {stdenv, fetchurl, makeWrapper, libX11, pkgconfig, libXaw}:
 stdenv.mkDerivation rec {
-  name = "xfontsel-1.0.2";
+  name = "xfontsel-1.0.5";
 
   src = fetchurl {
     url = "mirror://xorg/individual/app/${name}.tar.bz2";
-    sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
+    sha256 = "1grir464hy52a71r3mpm9mzvkf7nwr3vk0b1vc27pd3gp588a38p";
   };
 
   buildInputs = [libX11 makeWrapper pkgconfig libXaw];
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Allows testing the fonts available in an X server";
-    licesnse = "free";
+    license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/xlsfonts/default.nix b/pkgs/applications/misc/xlsfonts/default.nix
index 879f5ae568c..06b09154ba5 100644
--- a/pkgs/applications/misc/xlsfonts/default.nix
+++ b/pkgs/applications/misc/xlsfonts/default.nix
@@ -4,11 +4,11 @@
 
 {stdenv, fetchurl, libX11, pkgconfig}:
 stdenv.mkDerivation rec {
-  name = "xlsfonts-1.0.2";
+  name = "xlsfonts-1.0.4";
 
   src = fetchurl {
     url = "mirror://xorg/individual/app/${name}.tar.bz2";
-    sha256 = "070iym754g3mf9x6xczl4gdnpvlk6rdyl1ndwhpjl21vg2dm2vnc";
+    sha256 = "1lhcx600z9v65nk93xaxfzi79bm4naynabb52gz1vy1bxj2r25r8";
   };
 
   buildInputs = [libX11 pkgconfig];
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Lists the fonts available in the X server";
-    licesnse = "free";
+    license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/xmobar/add-freeration-variable.patch b/pkgs/applications/misc/xmobar/add-freeration-variable.patch
deleted file mode 100644
index a8c10e1a30d..00000000000
--- a/pkgs/applications/misc/xmobar/add-freeration-variable.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/readme.md b/readme.md
-index f4f07e8..de679c7 100644
---- a/readme.md
-+++ b/readme.md
-@@ -645,7 +645,7 @@ something like:
- - Args: default monitor arguments
- - Variables that can be used with the `-t`/`--template` argument:
-              `total`, `free`, `buffer`, `cache`, `rest`, `used`,
--             `usedratio`, `usedbar`, `freebar`
-+             `usedratio`, `usedbar`, `freeratio`, `freebar`
- - Default template: `Mem: <usedratio>% (<cache>M)`
- 
- ### `Swap Args RefreshRate`
-diff --git a/src/Plugins/Monitors/Mem.hs b/src/Plugins/Monitors/Mem.hs
-index 5c55ee2..3cf46c7 100644
---- a/src/Plugins/Monitors/Mem.hs
-+++ b/src/Plugins/Monitors/Mem.hs
-@@ -19,8 +19,8 @@ import Plugins.Monitors.Common
- memConfig :: IO MConfig
- memConfig = mkMConfig
-        "Mem: <usedratio>% (<cache>M)" -- template
--       ["usedbar", "freebar", "usedratio", "total",
--        "free", "buffer", "cache", "rest", "used"]  -- available replacements
-+       ["usedbar", "freebar", "usedratio", "freeratio", "total",
-+        "free", "buffer", "cache", "rest", "used"] -- available replacements
- 
- fileMEM :: IO String
- fileMEM = readFile "/proc/meminfo"
-@@ -33,7 +33,8 @@ parseMEM =
-            rest = free + buffer + cache
-            used = total - rest
-            usedratio = used / total
--       return [usedratio, total, free, buffer, cache, rest, used]
-+           freeratio = free / total
-+       return [usedratio, freeratio, total, free, buffer, cache, rest, used, freeratio]
- 
- totalMem :: IO Float
- totalMem = fmap ((*1024) . (!!1)) parseMEM
-@@ -42,15 +43,16 @@ usedMem :: IO Float
- usedMem = fmap ((*1024) . (!!6)) parseMEM
- 
- formatMem :: [Float] -> Monitor [String]
--formatMem (r:xs) =
-+formatMem (r:fr:xs) =
-     do let f = showDigits 0
-            rr = 100 * r
-        ub <- showPercentBar rr r
-        fb <- showPercentBar (100 - rr) (1 - r)
-        rs <- showPercentWithColors r
-+       fs <- showPercentWithColors fr
-        s <- mapM (showWithColors f) xs
--       return (ub:fb:rs:s)
--formatMem _ = return $ replicate 9 "N/A"
-+       return (ub:fb:rs:fs:s)
-+formatMem _ = return $ replicate 10 "N/A"
- 
- runMem :: [String] -> Monitor String
- runMem _ =
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 273998dde5d..8d73dfebb18 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,23 +1,28 @@
-{ cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
-, utf8String, X11, X11Xft
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alsaCore, alsaMixer, dbus, filepath, hinotify, HTTP
+, libmpd, libXrandr, mtl, parsec, regexCompat, stm, time
+, timezoneOlson, timezoneSeries, utf8String, wirelesstools, X11
+, X11Xft
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmobar";
-  version = "0.19";
-  sha256 = "1lwbww9vpqscip16lqiax2qvfyksxms5xx4n0s61mzw7v61hyxq2";
+  version = "0.21";
+  sha256 = "1h0gsb808zm4j4kmw7fl4339wllc16ldy1ki96l8w3fvj30bcxpm";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
+    alsaCore alsaMixer dbus filepath hinotify HTTP libmpd mtl parsec
+    regexCompat stm time timezoneOlson timezoneSeries utf8String X11
+    X11Xft
   ];
-  extraLibraries = [ libXrandr ];
-  configureFlags = "-fwith_xft";
+  extraLibraries = [ libXrandr wirelesstools ];
+  configureFlags = "-fall_extensions";
   meta = {
-    homepage = "http://projects.haskell.org/xmobar/";
+    homepage = "http://xmobar.org";
     description = "A Minimalistic Text Based Status Bar";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/applications/misc/xneur/default.nix b/pkgs/applications/misc/xneur/default.nix
index 4f6e3342f58..cc08436fa03 100644
--- a/pkgs/applications/misc/xneur/default.nix
+++ b/pkgs/applications/misc/xneur/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Utility for switching between keyboard layouts";
     homepage = http://xneur.ru;
-    license = "GPL2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index ef2d846dd2e..00e9ab0c810 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-281";
+  name = "xterm-303";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/xterm/${name}.tgz";
-    sha256 = "1yrjjya7z5s3fi0iiaxgna35jh0ib2zx1yafyng35jma6qbwhxx7";
+    sha256 = "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla";
   };
 
   buildInputs =
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = http://invisible-island.net/xterm;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/yeganesh/default.nix b/pkgs/applications/misc/yeganesh/default.nix
index 36a5817772d..f26d315fce2 100644
--- a/pkgs/applications/misc/yeganesh/default.nix
+++ b/pkgs/applications/misc/yeganesh/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, strict, time, xdgBasedir }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/applications/misc/ykpers/default.nix b/pkgs/applications/misc/ykpers/default.nix
new file mode 100644
index 00000000000..e7bfa8ded50
--- /dev/null
+++ b/pkgs/applications/misc/ykpers/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, pkgconfig, libusb1, libyubikey}:
+
+stdenv.mkDerivation rec
+{
+  version = "1.15.0";
+  name = "ykpers-${version}";
+
+  src = fetchurl
+  {
+    url = "http://opensource.yubico.com/yubikey-personalization/releases/${name}.tar.gz";
+    sha256 = "1n4s8kk31q5zh2rm7sj9qmv86yl8ibimdnpvk9ny391a88qlypyd";
+  };
+
+  buildInputs = [pkgconfig libusb1 libyubikey];
+
+  meta =
+  {
+    homepage = "http://opensource.yubico.com/yubikey-personalization/";
+    description = "YubiKey Personalization cross-platform library and tool";
+    license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index e5eae771d8b..5f44f79ebcd 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,29 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper }:
+{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper, zathura_icon }:
 
 stdenv.mkDerivation rec {
-
-  version = "0.2.2";
-
+  version = "0.2.9";
   name = "zathura-core-${version}";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
-    sha256 = "1ja2j9ygymr259fxf02j1vkvalypac48gpadq8fn3qbclxxj61k5";
+    sha256 = "17z05skjk95115ajp6459k1djadza1w8kck7jn1qnd697r01s1rc";
   };
 
-  buildInputs = [ pkgconfig gtk girara gettext makeWrapper ];
-
-  # Bug in zathura build system: we should remove empty manfiles in order them
-  # to be compiled properly
-  preBuild = ''
-    rm zathura.1
-    rm zathurarc.5
-  '';
+  buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ];
 
   makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ];
 
   postInstall = ''
-    wrapProgram "$out/bin/zathura" --prefix PATH ":" "${file}/bin"
+    wrapProgram "$out/bin/zathura" \
+      --prefix PATH ":" "${file}/bin" \
+      --prefix XDG_CONFIG_DIRS ":" "$out/etc"
+
+    mkdir -pv $out/etc
+    echo "set window-icon ${zathura_icon}" > $out/etc/zathurarc
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 8bdc7865832..1a4ab3d772c 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,32 +1,45 @@
-{ callPackage, pkgs, fetchurl }:
+{ callPackage, pkgs, fetchurl, useMupdf }:
 
 rec {
   inherit (pkgs) stdenv;
 
-  zathura_core = callPackage ./core { };
+  icon = ./icon.xpm;
+
+  zathura_core = callPackage ./core {
+    gtk = pkgs.gtk3;
+    zathura_icon = icon;
+  };
 
   zathura_pdf_poppler = callPackage ./pdf-poppler { };
 
-  zathura_djvu = callPackage ./djvu { };
+  zathura_pdf_mupdf = callPackage ./pdf-mupdf {
+    gtk = pkgs.gtk3;
+  };
+
+  zathura_djvu = callPackage ./djvu {
+    gtk = pkgs.gtk3;
+  };
 
-  zathura_ps = callPackage ./ps { };
+  zathura_ps = callPackage ./ps {
+    gtk = pkgs.gtk3;
+  };
 
   zathuraWrapper = stdenv.mkDerivation {
 
-    inherit zathura_core;
+    inherit zathura_core icon;
 
     name = "zathura-${zathura_core.version}";
 
     plugins_path = stdenv.lib.makeSearchPath "lib" [
-      zathura_pdf_poppler
       zathura_djvu
       zathura_ps
+      (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
     ];
 
-    icon = ./icon.xpm;
-
     builder = ./builder.sh;
 
+    preferLocalBuild = true;
+
     meta = {
       homepage = http://pwmt.org/projects/zathura/;
       description = "A highly customizable and functional PDF viewer";
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index 9486acfef65..1a2347f2727 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-djvu-0.2.1";
+  name = "zathura-djvu-0.2.3";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "d8bb3c9e30244a0733e49740ee2dd099ce39fa16f2c320af27a0c09d9a25bcc3";
+    sha256 = "12gd8kb0al5mknh4rlvxzgzwz3vhjggqjh8ws27phaq14paq4vn1";
   };
 
   buildInputs = [ pkgconfig djvulibre gettext zathura_core gtk girara ];
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/config.patch b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
new file mode 100644
index 00000000000..c7d172c9263
--- /dev/null
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
@@ -0,0 +1,17 @@
+--- zathura-pdf-mupdf-0.2.6/config.mk
++++ zathura-pdf-mupdf-0.2.6/config.mk
+@@ -32,10 +32,11 @@
+ OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
+ OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
+ 
+-MUPDF_LIB ?= -lmupdf -lmupdf-js-none
++MUPDF_INC ?= $(shell pkg-config --cflags mupdf)
++MUPDF_LIB ?= $(shell pkg-config --libs mupdf)
+ 
+-INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
+-LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
++INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC} ${MUPDF_INC}
++LIBS = ${GTK_LIB} ${GIRARA_LIB} ${OPENSSL_LIB} ${MUPDF_LIB} -ljbig2dec -ljpeg
+ 
+ # flags
+ CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
new file mode 100644
index 00000000000..4e585d852a2
--- /dev/null
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, openjpeg, libjpeg, jbig2dec }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.6";
+  name = "zathura-pdf-mupdf-${version}";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "5df94b6f906008b5f3bca770a552da6d2917d6b8d3e4b3049cb7001302041b20";
+  };
+
+  buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf openjpeg libjpeg jbig2dec ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  preConfigure = "patch -p1 < ${./config.patch}";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura PDF plugin (mupdf)";
+    longDescription = ''
+      The zathura-pdf-mupdf plugin adds PDF support to zathura by
+      using the mupdf rendering library.
+    '';
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.linux;
+#    maintainers = [ ];
+  };
+}
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
index faf4e49b968..6625bf47194 100644
--- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -1,24 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
+{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.2";
+  version = "0.2.5";
   name = "zathura-pdf-poppler-${version}";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "0px59f0bnmb9992n3c9iyzcwd6w7vg8ga069vc8qj4726ljml4c7";
+    sha256 = "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0";
   };
 
-  buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
+  buildInputs = [ pkgconfig poppler zathura_core girara ];
 
   makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
 
   meta = {
     homepage = http://pwmt.org/projects/zathura/;
-    description = "A zathura PDF plugin";
+    description = "A zathura PDF plugin (poppler)";
     longDescription = ''
       The zathura-pdf-poppler plugin adds PDF support to zathura by 
-      using the poppler rendering engine.
+      using the poppler rendering library.
     '';
     license = stdenv.lib.licenses.zlib;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
index 7c0dd552a66..eef02001601 100644
--- a/pkgs/applications/misc/zathura/ps/default.nix
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, libspectre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-ps-0.2.0";
+  name = "zathura-ps-0.2.2";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "717eda01213b162421b6b52f29d6b981edc302fddf351ccb2c093b6842751414";
+    sha256 = "1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76";
   };
 
   buildInputs = [ pkgconfig libspectre gettext zathura_core gtk girara ];
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
index c2d2f28751a..989ceb235b0 100644
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ b/pkgs/applications/networking/bittorrentsync/default.nix
@@ -1,47 +1,42 @@
 { stdenv, fetchurl, patchelf }:
 
-# this package contains the daemon version of bittorrent sync
-# it's unfortunately closed source.
-
 let
-  # TODO: arm, ppc, osx
-
   arch = if stdenv.system == "x86_64-linux" then "x64"
     else if stdenv.system == "i686-linux" then "i386"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
-    
-  interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
-    else if stdenv.system == "i686-linux" then "ld-linux.so.2"
-    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
-  version = "1.1.70";
-  sha256 = if stdenv.system == "x86_64-linux" then "1hnyncq5439fxn1q8dkzcg2alxjkanr4q4pgqqf3nngz4cdar5vi"
-    else if stdenv.system == "i686-linux" then "1ijdmzl8bnb4k99vrjn5gd31hy64p9wiyxw5wc5gbpgap191h5i5"
+  sha256 = if stdenv.system == "x86_64-linux" then "1xba0wv45w4kg84i5sywkfk44vj9wxkr7f1vga2mpz86j8vq25iy"
+    else if stdenv.system == "i686-linux" then "10ml1wclix9236zcb4mh60hdm9vvfaarlb62z7fdrwk6ikqbm7fk"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
-in stdenv.mkDerivation {
-  name = "btsync-bin-${version}";
-  src = fetchurl {
-    url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
+in
+stdenv.mkDerivation rec {
+  name = "btsync-${version}";
+  version = "1.3.94";
+
+  src  = fetchurl {
+    url  = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
     inherit sha256;
   };
 
-  sourceRoot = ".";
+  dontStrip   = true; # Don't strip, otherwise patching the rpaths breaks
+  sourceRoot  = ".";
+  buildInputs = [ patchelf ];
 
   installPhase = ''
-    ensureDir "$out/bin/"
+    mkdir -p "$out/bin/"
     cp -r "btsync" "$out/bin/"
 
-    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
-      "$out/bin/btsync"
+    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath} "$out/bin/btsync"
   '';
 
-  buildInputs = [ patchelf ];
-
   meta = {
-    homepage = "http://labs.bittorrent.com/experiments/sync.html";
     description = "Automatically sync files via secure, distributed technology";
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.iElectric ];
+    homepage    = "http://www.bittorrent.com/sync";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
new file mode 100644
index 00000000000..daab75c74ff
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -0,0 +1,42 @@
+{ stdenv, mkChromiumDerivation }:
+
+with stdenv.lib;
+
+mkChromiumDerivation (base: rec {
+  name = "chromium-browser";
+  packageName = "chromium";
+  buildTargets = [ "mksnapshot" "chrome" ];
+
+  installPhase = ''
+    mkdir -p "$libExecPath"
+    cp -v "$buildPath/"*.pak "$libExecPath/"
+    cp -v "$buildPath/icudtl.dat" "$libExecPath/"
+    cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
+    cp -v $buildPath/libffmpegsumo.so "$libExecPath/"
+
+    cp -v "$buildPath/chrome" "$libExecPath/$packageName"
+
+    mkdir -vp "$out/share/man/man1"
+    cp -v "$buildPath/chrome.1" "$out/share/man/man1/$packageName.1"
+
+    for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do
+      num_and_suffix="''${icon_file##*logo_}"
+      icon_size="''${num_and_suffix%.*}"
+      expr "$icon_size" : "^[0-9][0-9]*$" || continue
+      logo_output_prefix="$out/share/icons/hicolor"
+      logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
+      mkdir -vp "$logo_output_path"
+      cp -v "$icon_file" "$logo_output_path/$packageName.png"
+    done
+  '';
+
+  preHook = "unset NIX_ENFORCE_PURITY";
+
+  meta = {
+    description = "An open source web browser from Google";
+    homepage = http://www.chromium.org/;
+    maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ];
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
new file mode 100644
index 00000000000..b9011c0236f
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -0,0 +1,220 @@
+{ stdenv, fetchurl, ninja, which
+
+# default dependencies
+, bzip2, flac, speex, icu, libopus
+, libevent, expat, libjpeg, snappy
+, libpng, libxml2, libxslt
+, xdg_utils, yasm, minizip, libwebp
+, libusb1, libexif, pciutils
+
+, python, pythonPackages, perl, pkgconfig
+, nspr, udev, krb5
+, utillinux, alsaLib
+, gcc, bison, gperf
+, glib, gtk, dbus_glib
+, libXScrnSaver, libXcursor, libXtst, mesa
+, protobuf, speechd, libXdamage
+
+# optional dependencies
+, libgcrypt ? null # gnomeSupport || cupsSupport
+
+# package customization
+, enableSELinux ? false, libselinux ? null
+, enableNaCl ? false
+, useOpenSSL ? false, nss ? null, openssl ? null
+, gnomeSupport ? false, gnome ? null
+, gnomeKeyringSupport ? false, libgnome_keyring3 ? null
+, proprietaryCodecs ? true
+, cupsSupport ? false
+, pulseSupport ? false, pulseaudio ? null
+
+, source
+, plugins
+}:
+
+buildFun:
+
+with stdenv.lib;
+
+let
+  # The additional attributes for creating derivations based on the chromium
+  # source tree.
+  extraAttrs = buildFun base;
+
+  mkGypFlags =
+    let
+      sanitize = value:
+        if value == true then "1"
+        else if value == false then "0"
+        else "${value}";
+      toFlag = key: value: "-D${key}=${sanitize value}";
+    in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
+
+  gypFlagsUseSystemLibs = {
+    use_system_bzip2 = true;
+    use_system_flac = true;
+    use_system_libevent = true;
+    use_system_libexpat = true;
+    use_system_libexif = true;
+    use_system_libjpeg = true;
+    use_system_libpng = true;
+    use_system_libwebp = true;
+    use_system_libxml = true;
+    use_system_opus = true;
+    use_system_snappy = true;
+    use_system_speex = true;
+    use_system_ssl = useOpenSSL;
+    use_system_stlport = true;
+    use_system_xdg_utils = true;
+    use_system_yasm = true;
+    use_system_zlib = false;
+    use_system_protobuf = true;
+
+    use_system_harfbuzz = false;
+    use_system_icu = false; # Doesn't support ICU 52 yet.
+    use_system_libusb = false; # http://crbug.com/266149
+    use_system_skia = false;
+    use_system_sqlite = false; # http://crbug.com/22208
+    use_system_v8 = false;
+  };
+
+  opusWithCustomModes = libopus.override {
+    withCustomModes = true;
+  };
+
+  defaultDependencies = [
+    bzip2 flac speex icu opusWithCustomModes
+    libevent expat libjpeg snappy
+    libpng libxml2 libxslt
+    xdg_utils yasm minizip libwebp
+    libusb1 libexif
+  ];
+
+  # build paths and release info
+  packageName = extraAttrs.packageName or extraAttrs.name;
+  buildType = "Release";
+  buildPath = "out/${buildType}";
+  libExecPath = "$out/libexec/${packageName}";
+
+  base = rec {
+    name = "${packageName}-${version}";
+    inherit (source) version;
+    inherit packageName buildType buildPath;
+    src = source;
+
+    buildInputs = defaultDependencies ++ [
+      which
+      python perl pkgconfig
+      nspr udev
+      (if useOpenSSL then openssl else nss)
+      utillinux alsaLib
+      bison gperf krb5
+      glib gtk dbus_glib
+      libXScrnSaver libXcursor libXtst mesa
+      pciutils protobuf speechd libXdamage
+      pythonPackages.gyp pythonPackages.ply pythonPackages.jinja2
+    ] ++ optional gnomeKeyringSupport libgnome_keyring3
+      ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
+      ++ optional enableSELinux libselinux
+      ++ optional cupsSupport libgcrypt
+      ++ optional pulseSupport pulseaudio;
+
+    # XXX: Wait for https://crbug.com/239107 and https://crbug.com/239181 to
+    #      be fixed, then try again to unbundle everything into separate
+    #      derivations.
+    prePatch = ''
+      cp -dsr --no-preserve=mode "${source.main}"/* .
+      cp -dsr --no-preserve=mode "${source.sandbox}" sandbox
+      cp -dr "${source.bundled}" third_party
+      chmod -R u+w third_party
+
+      # Hardcode source tree root in all gyp files
+      find -iname '*.gyp*' \( -type f -o -type l \) \
+        -exec sed -i -e 's|<(DEPTH)|'"$(pwd)"'|g' {} + \
+        -exec chmod u+w {} +
+    '';
+
+    postPatch = ''
+      sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \
+        sandbox_binary = base::FilePath(getenv("CHROMIUM_SANDBOX_BINARY_PATH"));
+      ' sandbox/linux/suid/client/setuid_sandbox_client.cc
+
+      sed -i -e '/module_path *=.*libexif.so/ {
+        s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
+      }' chrome/utility/media_galleries/image_metadata_extractor.cc
+    '';
+
+    gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
+      linux_use_gold_binary = false;
+      linux_use_gold_flags = false;
+      proprietary_codecs = false;
+      use_gnome_keyring = gnomeKeyringSupport;
+      use_gconf = gnomeSupport;
+      use_gio = gnomeSupport;
+      use_pulseaudio = pulseSupport;
+      linux_link_pulseaudio = pulseSupport;
+      disable_nacl = !enableNaCl;
+      use_openssl = useOpenSSL;
+      selinux = enableSELinux;
+      use_cups = cupsSupport;
+      linux_sandbox_chrome_path="${libExecPath}/${packageName}";
+      werror = "";
+      clang = false;
+
+      # FIXME: In version 37, omnibox.mojom.js doesn't seem to be generated.
+      use_mojo = versionOlder source.version "37.0.0.0";
+
+      # 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;
+      ffmpeg_branding = "Chrome";
+    } // optionalAttrs (stdenv.system == "x86_64-linux") {
+      target_arch = "x64";
+      python_arch = "x86-64";
+    } // optionalAttrs (stdenv.system == "i686-linux") {
+      target_arch = "ia32";
+      python_arch = "ia32";
+    } // (extraAttrs.gypFlags or {}));
+
+    configurePhase = ''
+      # This is to ensure expansion of $out.
+      libExecPath="${libExecPath}"
+      python build/linux/unbundle/replace_gyp_files.py ${gypFlags}
+      python build/gyp_chromium -f ninja --depth "$(pwd)" ${gypFlags}
+    '';
+
+    buildPhase = let
+      CC = "${gcc}/bin/gcc";
+      CXX = "${gcc}/bin/g++";
+      buildCommand = target: let
+        # XXX: Only needed for version 36 and older!
+        targetSuffix = optionalString
+          (versionOlder source.version "37.0.0.0" && target == "mksnapshot")
+          (if stdenv.is64bit then ".x64" else ".ia32");
+      in ''
+        CC="${CC}" CC_host="${CC}"     \
+        CXX="${CXX}" CXX_host="${CXX}" \
+        LINK_host="${CXX}"             \
+          "${ninja}/bin/ninja" -C "${buildPath}"  \
+            -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \
+            "${target}${targetSuffix}"
+      '' + optionalString (target == "mksnapshot" || target == "chrome") ''
+        paxmark m "${buildPath}/${target}${targetSuffix}"
+      '';
+      targets = extraAttrs.buildTargets or [];
+      commands = map buildCommand targets;
+    in concatStringsSep "\n" commands;
+  };
+
+# Remove some extraAttrs we supplied to the base attributes already.
+in stdenv.mkDerivation (base // removeAttrs extraAttrs [
+  "name" "gypFlags" "buildTargets"
+])
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index fa91a877fdc..4dfdca882bc 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,276 +1,86 @@
-{ stdenv, fetchurl, makeWrapper, ninja, which
-
-# default dependencies
-, bzip2, flac, speex
-, libevent, expat, libjpeg
-, libpng, libxml2, libxslt
-, xdg_utils, yasm, zlib
-, libusb1, libexif, pciutils
-
-, python, pythonPackages, perl, pkgconfig
-, nspr, udev, krb5, file
-, utillinux, alsaLib
-, gcc, bison, gperf
-, glib, gtk, dbus_glib
-, libXScrnSaver, libXcursor, libXtst, mesa
-, protobuf, speechd, libXdamage
-
-# optional dependencies
-, libgcrypt ? null # gnomeSupport || cupsSupport
+{ newScope, stdenv, makeWrapper, makeDesktopItem
 
 # package customization
 , channel ? "stable"
-, enableSELinux ? false, libselinux ? null
+, enableSELinux ? false
 , enableNaCl ? false
-, useOpenSSL ? false, nss ? null, openssl ? null
-, gnomeSupport ? false, gconf ? null
-, gnomeKeyringSupport ? false, libgnome_keyring ? null
+, useOpenSSL ? false
+, gnomeSupport ? false
+, gnomeKeyringSupport ? false
 , proprietaryCodecs ? true
+, enablePepperFlash ? false
+, enablePepperPDF ? false
 , cupsSupport ? false
-, pulseSupport ? false, pulseaudio ? null
+, pulseSupport ? false
 }:
 
-with stdenv.lib;
-
 let
-  src = with getAttr channel (import ./sources.nix); stdenv.mkDerivation {
-    name = "chromium-source-${version}";
+  callPackage = newScope chromium;
 
-    src = fetchurl {
-      inherit url sha256;
+  chromium = {
+    source = callPackage ./source {
+      inherit channel;
+      # XXX: common config
+      inherit useOpenSSL;
     };
 
-    phases = [ "unpackPhase" "patchPhase" "installPhase" ];
-
-    opensslPatches = optional useOpenSSL openssl.patches;
-
-    prePatch = "patchShebangs .";
-
-    patches = singleton (
-      if versionOlder version "31.0.0.0"
-      then ./sandbox_userns_30.patch
-      else ./sandbox_userns_31.patch
-    );
-
-    postPatch = ''
-      sed -i -r -e 's/-f(stack-protector)(-all)?/-fno-\1/' build/common.gypi
-      sed -i -e 's|/usr/bin/gcc|gcc|' third_party/WebKit/Source/core/core.gypi
-    '' + optionalString useOpenSSL ''
-      cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
-    '';
-
-    outputs = [ "out" "sandbox" "bundled" "main" ];
-    installPhase = ''
-      ensureDir "$out" "$sandbox" "$bundled" "$main"
-
-      header "copying browser main sources to $main"
-      find . -mindepth 1 -maxdepth 1 \
-        \! -path ./sandbox \
-        \! -path ./third_party \
-        \! -path ./build \
-        \! -path ./tools \
-        \! -name '.*' \
-        -print | xargs cp -rt "$main"
-      stopNest
-
-      header "copying sandbox components to $sandbox"
-      cp -rt "$sandbox" sandbox/*
-      stopNest
-
-      header "copying third party sources to $bundled"
-      cp -rt "$bundled" third_party/*
-      stopNest
-
-      header "copying build requisites to $out"
-      cp -rt "$out" build tools
-      stopNest
-
-      rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place.
-    '';
-
-    passthru = {
-      inherit version;
+    mkChromiumDerivation = callPackage ./common.nix {
+      inherit enableSELinux enableNaCl useOpenSSL gnomeSupport
+              gnomeKeyringSupport proprietaryCodecs cupsSupport
+              pulseSupport;
     };
-  };
 
-  mkGypFlags =
-    let
-      sanitize = value:
-        if value == true then "1"
-        else if value == false then "0"
-        else "${value}";
-      toFlag = key: value: "-D${key}=${sanitize value}";
-    in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
+    browser = callPackage ./browser.nix { };
+    sandbox = callPackage ./sandbox.nix { };
 
-  gypFlagsUseSystemLibs = {
-    use_system_bzip2 = true;
-    use_system_flac = true;
-    use_system_libevent = true;
-    use_system_libexpat = true;
-    use_system_libexif = true;
-    use_system_libjpeg = true;
-    use_system_libpng = false; # PNG dlopen() version conflict
-    use_system_libusb = true;
-    use_system_libxml = true;
-    use_system_speex = true;
-    use_system_ssl = useOpenSSL;
-    use_system_stlport = true;
-    use_system_xdg_utils = true;
-    use_system_yasm = true;
-    use_system_zlib = false; # http://crbug.com/143623
-    use_system_protobuf = true;
-
-    use_system_harfbuzz = false;
-    use_system_icu = false;
-    use_system_libwebp = false; # http://crbug.com/133161
-    use_system_skia = false;
-    use_system_sqlite = false; # http://crbug.com/22208
-    use_system_v8 = false;
+    plugins = callPackage ./plugins.nix {
+      inherit enablePepperFlash enablePepperPDF;
+    };
   };
 
-  defaultDependencies = [
-    bzip2 flac speex
-    libevent expat libjpeg
-    libpng libxml2 libxslt
-    xdg_utils yasm zlib
-    libusb1 libexif
-  ];
-
-  sandbox = import ./sandbox.nix {
-    inherit stdenv;
-    src = src.sandbox;
-    binary = "${packageName}_sandbox";
+  desktopItem = makeDesktopItem {
+    name = "chromium";
+    exec = "chromium";
+    icon = "${chromium.browser}/share/icons/hicolor/48x48/apps/chromium.png";
+    comment = "An open source web browser from Google";
+    desktopName = "Chromium";
+    genericName = "Web browser";
+    mimeType = stdenv.lib.concatStringsSep ";" [
+      "text/html"
+      "text/xml"
+      "application/xhtml+xml"
+      "x-scheme-handler/http"
+      "x-scheme-handler/https"
+      "x-scheme-handler/ftp"
+      "x-scheme-handler/mailto"
+      "x-scheme-handler/webcal"
+    ];
+    categories = "Network;WebBrowser";
   };
 
-  # build paths and release info
-  packageName = "chromium";
-  buildType = "Release";
-  buildPath = "out/${buildType}";
-  libExecPath = "$out/libexec/${packageName}";
-  sandboxPath = "${sandbox}/bin/${packageName}_sandbox";
-
-in stdenv.mkDerivation rec {
-  name = "${packageName}-${src.version}";
-  inherit packageName src;
-
-  buildInputs = defaultDependencies ++ [
-    which makeWrapper
-    python perl pkgconfig
-    nspr udev
-    (if useOpenSSL then openssl else nss)
-    utillinux alsaLib
-    gcc bison gperf
-    krb5 file
-    glib gtk dbus_glib
-    libXScrnSaver libXcursor libXtst mesa
-    pciutils protobuf speechd libXdamage
-    pythonPackages.gyp
-  ] ++ optional gnomeKeyringSupport libgnome_keyring
-    ++ optionals gnomeSupport [ gconf libgcrypt ]
-    ++ optional enableSELinux libselinux
-    ++ optional cupsSupport libgcrypt
-    ++ optional pulseSupport pulseaudio;
-
-  prePatch = ''
-    # XXX: Figure out a way how to split these properly.
-    #cpflags="-dsr --no-preserve=mode"
-    cpflags="-dr"
-    cp $cpflags "${src.main}"/* .
-    cp $cpflags "${src.bundled}" third_party
-    cp $cpflags "${src.sandbox}" sandbox
-    chmod -R u+w . # XXX!
-  '';
-
-  postPatch = ''
-    sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \
-      sandbox_binary = \
-        base::FilePath("'"${sandboxPath}"'");
-    ' content/browser/browser_main_loop.cc
-  '';
-
-  gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
-    linux_use_gold_binary = false;
-    linux_use_gold_flags = false;
-    proprietary_codecs = false;
-    use_gnome_keyring = gnomeKeyringSupport;
-    use_gconf = gnomeSupport;
-    use_gio = gnomeSupport;
-    use_pulseaudio = pulseSupport;
-    disable_nacl = !enableNaCl;
-    use_openssl = useOpenSSL;
-    selinux = enableSELinux;
-    use_cups = cupsSupport;
-    linux_sandbox_path="${sandboxPath}";
-    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";
+in stdenv.mkDerivation {
+  name = "chromium-${channel}-${chromium.browser.version}";
 
-  } // optionalAttrs proprietaryCodecs {
-    # enable support for the H.264 codec
-    proprietary_codecs = true;
-    ffmpeg_branding = "Chrome";
-  } // optionalAttrs (stdenv.system == "x86_64-linux") {
-    target_arch = "x64";
-  } // optionalAttrs (stdenv.system == "i686-linux") {
-    target_arch = "ia32";
-  });
+  buildInputs = [ makeWrapper ];
 
-  configurePhase = ''
-    python build/gyp_chromium -f ninja --depth "$(pwd)" ${gypFlags}
-  '';
-
-  buildPhase = let
-    CC = "${gcc}/bin/gcc";
-    CXX = "${gcc}/bin/g++";
+  buildCommand = let
+    browserBinary = "${chromium.browser}/libexec/chromium/chromium";
+    sandboxBinary = "${chromium.sandbox}/bin/chromium-sandbox";
   in ''
-    CC="${CC}" CC_host="${CC}"     \
-    CXX="${CXX}" CXX_host="${CXX}" \
-    LINK_host="${CXX}"             \
-      "${ninja}/bin/ninja" -C "${buildPath}"  \
-        -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \
-        chrome ${optionalString (!enableSELinux) "chrome_sandbox"}
-  '';
-
-  installPhase = ''
-    ensureDir "${libExecPath}"
-    cp -v "${buildPath}/"*.pak "${libExecPath}/"
-    cp -vR "${buildPath}/locales" "${buildPath}/resources" "${libExecPath}/"
-    cp -v ${buildPath}/libffmpegsumo.so "${libExecPath}/"
-
-    cp -v "${buildPath}/chrome" "${libExecPath}/${packageName}"
+    mkdir -p "$out/bin" "$out/share/applications"
 
-    mkdir -vp "$out/bin"
-    makeWrapper "${libExecPath}/${packageName}" "$out/bin/${packageName}"
+    ln -s "${chromium.browser}/share" "$out/share"
+    makeWrapper "${browserBinary}" "$out/bin/chromium" \
+      --set CHROMIUM_SANDBOX_BINARY_PATH "${sandboxBinary}" \
+      --add-flags "${chromium.plugins.flagsEnabled}"
 
-    mkdir -vp "$out/share/man/man1"
-    cp -v "${buildPath}/chrome.1" "$out/share/man/man1/${packageName}.1"
-
-    for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do
-      num_and_suffix="''${icon_file##*logo_}"
-      icon_size="''${num_and_suffix%.*}"
-      expr "$icon_size" : "^[0-9][0-9]*$" || continue
-      logo_output_prefix="$out/share/icons/hicolor"
-      logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
-      mkdir -vp "$logo_output_path"
-      cp -v "$icon_file" "$logo_output_path/${packageName}.png"
-    done
+    ln -s "${chromium.browser}/share/icons" "$out/share/icons"
+    cp -v "${desktopItem}/share/applications/"* "$out/share/applications"
   '';
 
-  passthru = {
-    inherit sandbox;
-  };
+  inherit (chromium.browser) meta packageName;
 
-  meta = {
-    description = "An open source web browser from Google";
-    homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
-    license = licenses.bsd3;
-    platforms = platforms.linux;
+  passthru = {
+    mkDerivation = chromium.mkChromiumDerivation;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
new file mode 100644
index 00000000000..e0c45f91075
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, enablePepperFlash ? false
+, enablePepperPDF ? false
+
+, source
+}:
+
+with stdenv.lib;
+
+let
+  plugins = stdenv.mkDerivation {
+    name = "chromium-binary-plugins";
+
+    # XXX: Only temporary and has to be version-specific
+    src = source.plugins;
+
+    phases = [ "unpackPhase" "patchPhase" "checkPhase" "installPhase" ];
+    outputs = [ "pdf" "flash" ];
+
+    unpackCmd = let
+      chan = if source.channel == "dev"    then "chrome-unstable"
+        else if source.channel == "stable" then "chrome"
+        else "chrome-${source.channel}";
+    in ''
+      mkdir -p plugins
+      ar p "$src" data.tar.lzma | tar xJ -C plugins --strip-components=4 \
+        ./opt/google/${chan}/PepperFlash \
+        ./opt/google/${chan}/libpdf.so
+    '';
+
+    doCheck = true;
+    checkPhase = ''
+      ! find -iname '*.so' -exec ldd {} + | grep 'not found'
+    '';
+
+    patchPhase = let
+      rpaths = [ stdenv.gcc.gcc ];
+      mkrpath = p: "${makeSearchPath "lib64" p}:${makeSearchPath "lib" p}";
+    in ''
+      for sofile in PepperFlash/libpepflashplayer.so libpdf.so; do
+        chmod +x "$sofile"
+        patchelf --set-rpath "${mkrpath rpaths}" "$sofile"
+      done
+    '';
+
+    installPhase = let
+      pdfName = "Chrome PDF Viewer";
+      pdfDescription = "Portable Document Format";
+      pdfMimeTypes = concatStringsSep ";" [
+        "application/pdf"
+        "application/x-google-chrome-print-preview-pdf"
+      ];
+      pdfInfo = "#${pdfName}#${pdfDescription};${pdfMimeTypes}";
+    in ''
+      install -vD libpdf.so "$pdf/lib/libpdf.so"
+      mkdir -p "$pdf/nix-support"
+      echo "--register-pepper-plugins='$pdf/lib/libpdf.so${pdfInfo}'" \
+        > "$pdf/nix-support/chromium-flags"
+
+      flashVersion="$(
+        sed -n -r 's/.*"version": "([^"]+)",.*/\1/p' PepperFlash/manifest.json
+      )"
+
+      install -vD PepperFlash/libpepflashplayer.so \
+        "$flash/lib/libpepflashplayer.so"
+      mkdir -p "$flash/nix-support"
+      echo "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'" \
+           "--ppapi-flash-version=$flashVersion" \
+           > "$flash/nix-support/chromium-flags"
+    '';
+
+    passthru.flagsEnabled = let
+      enabledPlugins = optional enablePepperFlash plugins.flash
+                    ++ optional enablePepperPDF   plugins.pdf;
+      getFlags = plugin: "$(< ${plugin}/nix-support/chromium-flags)";
+    in concatStringsSep " " (map getFlags enabledPlugins);
+  };
+in plugins
diff --git a/pkgs/applications/networking/browsers/chromium/sandbox.nix b/pkgs/applications/networking/browsers/chromium/sandbox.nix
index b43385e8633..b470ed63325 100644
--- a/pkgs/applications/networking/browsers/chromium/sandbox.nix
+++ b/pkgs/applications/networking/browsers/chromium/sandbox.nix
@@ -1,12 +1,13 @@
-{ stdenv, src, binary }:
+{ stdenv, source }:
 
 stdenv.mkDerivation {
-  name = "chromium-sandbox-${src.version}";
-  inherit src;
+  name = "chromium-sandbox-${source.version}";
+  src = source.sandbox;
 
   patchPhase = ''
     sed -i -e '/#include.*base_export/c \
       #define BASE_EXPORT __attribute__((visibility("default")))
+    /#include/s|sandbox/linux|'"$(pwd)"'/linux|
     ' linux/suid/*.[hc]
   '';
 
@@ -15,6 +16,6 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    install -svD sandbox "$out/bin/${binary}"
+    install -svD sandbox "$out/bin/chromium-sandbox"
   '';
 }
diff --git a/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch b/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
deleted file mode 100644
index 9a412352c52..00000000000
--- a/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-commit 41510de6ae32e6161073992bd1243f7f33148a06
-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 52e149c..312f835 100644
---- a/base/process/launch_posix.cc
-+++ b/base/process/launch_posix.cc
-@@ -37,6 +37,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
-@@ -416,13 +423,23 @@ bool LaunchProcess(const std::vector<std::string>& argv,
- 
-   pid_t pid;
- #if defined(OS_LINUX)
--  if (options.clone_flags) {
-+  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) {
-     // Signal handling in this function assumes the creation of a new
-     // process, so we check that a thread is not being created by mistake
-     // and that signal handling follows the process-creation rules.
--    RAW_CHECK(
--        !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
--    pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
-+    RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
-+    pid = syscall(__NR_clone, flags, 0, 0, 0);
-   } else
- #endif
-   {
-@@ -440,6 +457,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
-@@ -555,6 +587,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 1f0e9f5..ade5aab 100644
---- a/content/zygote/zygote_main_linux.cc
-+++ b/content/zygote/zygote_main_linux.cc
-@@ -420,6 +420,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/sandbox_userns_31.patch b/pkgs/applications/networking/browsers/chromium/sandbox_userns_31.patch
deleted file mode 100644
index 490c1a9cebe..00000000000
--- a/pkgs/applications/networking/browsers/chromium/sandbox_userns_31.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-commit ff4e8b4af04c58fc4c58ee7ed108aefcdc26a960
-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.cc b/base/process/launch.cc
-index 1329a5a..ec28fdf 100644
---- a/base/process/launch.cc
-+++ b/base/process/launch.cc
-@@ -24,6 +24,7 @@ LaunchOptions::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)
-diff --git a/base/process/launch.h b/base/process/launch.h
-index ac2df5e..34a3851 100644
---- a/base/process/launch.h
-+++ b/base/process/launch.h
-@@ -100,6 +100,9 @@ struct BASE_EXPORT 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 de6286d..9333494 100644
---- a/base/process/launch_posix.cc
-+++ b/base/process/launch_posix.cc
-@@ -37,6 +37,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
-@@ -294,13 +301,23 @@ bool LaunchProcess(const std::vector<std::string>& argv,
- 
-   pid_t pid;
- #if defined(OS_LINUX)
--  if (options.clone_flags) {
-+  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) {
-     // Signal handling in this function assumes the creation of a new
-     // process, so we check that a thread is not being created by mistake
-     // and that signal handling follows the process-creation rules.
--    RAW_CHECK(
--        !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
--    pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
-+    RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
-+    pid = syscall(__NR_clone, flags, 0, 0, 0);
-   } else
- #endif
-   {
-@@ -318,6 +335,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
-@@ -433,6 +465,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 fea43b5..95cbe07 100644
---- a/content/browser/zygote_host/zygote_host_impl_linux.cc
-+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
-@@ -121,25 +121,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 "
-@@ -163,7 +169,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 567b305..1089233 100644
---- a/content/zygote/zygote_main_linux.cc
-+++ b/content/zygote/zygote_main_linux.cc
-@@ -426,6 +426,13 @@ static bool EnterSuidSandbox(LinuxSandbox* linux_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/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix
new file mode 100644
index 00000000000..d7ccc412fa4
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchurl, python
+, channel ? "stable"
+, useOpenSSL # XXX
+}:
+
+with stdenv.lib;
+
+with (import ./update.nix {
+  inherit (stdenv) system;
+}).getChannel channel;
+
+stdenv.mkDerivation {
+  name = "chromium-source-${version}";
+
+  src = fetchurl main;
+
+  buildInputs = [ python ]; # cannot patch shebangs otherwise
+
+  phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+
+  opensslPatches = optional useOpenSSL openssl.patches;
+
+  prePatch = "patchShebangs .";
+
+  patches = singleton ./sandbox_userns_36.patch;
+
+  postPatch = ''
+    sed -i -r \
+      -e 's/-f(stack-protector)(-all)?/-fno-\1/' \
+      -e 's|/bin/echo|echo|' \
+      -e "/python_arch/s/: *'[^']*'/: '""'/" \
+      build/common.gypi chrome/chrome_tests.gypi
+  '' + optionalString (versionOlder version "38.0.0.0") ''
+    sed -i -e '/not RunGN/,+1d' -e '/import.*depot/d' build/gyp_chromium
+    sed -i -e 's|/usr/bin/gcc|gcc|' \
+      third_party/WebKit/Source/build/scripts/scripts.gypi \
+      third_party/WebKit/Source/build/scripts/preprocessor.pm
+  '' + optionalString useOpenSSL ''
+    cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
+  '';
+
+  outputs = [ "out" "sandbox" "bundled" "main" ];
+  installPhase = ''
+    mkdir -p "$out" "$sandbox" "$bundled" "$main"
+
+    header "copying browser main sources to $main"
+    find . -mindepth 1 -maxdepth 1 \
+      \! -path ./sandbox \
+      \! -path ./third_party \
+      \! -path ./build \
+      \! -path ./tools \
+      \! -name '.*' \
+      -print | xargs cp -rt "$main"
+    stopNest
+
+    header "copying sandbox components to $sandbox"
+    cp -rt "$sandbox" sandbox/*
+    stopNest
+
+    header "copying third party sources to $bundled"
+    cp -rt "$bundled" third_party/*
+    stopNest
+
+    header "copying build requisites to $out"
+    cp -rt "$out" build tools
+    stopNest
+
+    rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place.
+  '';
+
+  preferLocalBuild = true;
+
+  passthru = {
+    inherit version channel;
+    plugins = fetchurl binary;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch
new file mode 100644
index 00000000000..57f5992a3fa
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch
@@ -0,0 +1,274 @@
+commit 0fec7e4a742f001c9816a8b58a1120fb44230867
+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.cc b/base/process/launch.cc
+index 81748f5..930f20f 100644
+--- a/base/process/launch.cc
++++ b/base/process/launch.cc
+@@ -26,6 +26,7 @@ LaunchOptions::LaunchOptions()
+ #if defined(OS_LINUX)
+       , clone_flags(0)
+       , allow_new_privs(false)
++      , new_user_namespace(false)
+ #endif  // OS_LINUX
+ #if defined(OS_CHROMEOS)
+       , ctrl_terminal_fd(-1)
+diff --git a/base/process/launch.h b/base/process/launch.h
+index 9e39fba..00e4c79 100644
+--- a/base/process/launch.h
++++ b/base/process/launch.h
+@@ -115,6 +115,9 @@ struct BASE_EXPORT LaunchOptions {
+   // By default, child processes will have the PR_SET_NO_NEW_PRIVS bit set. If
+   // true, then this bit will not be set in the new child process.
+   bool allow_new_privs;
++
++  // 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 457234f..a99ce9b 100644
+--- a/base/process/launch_posix.cc
++++ b/base/process/launch_posix.cc
+@@ -40,6 +40,10 @@
+ 
+ #if defined(OS_LINUX)
+ #include <sys/prctl.h>
++#include <sched.h>
++#if !defined(CLONE_NEWUSER)
++#define CLONE_NEWUSER 0x10000000
++#endif
+ #endif
+ 
+ #if defined(OS_CHROMEOS)
+@@ -301,13 +305,23 @@ bool LaunchProcess(const std::vector<std::string>& argv,
+ 
+   pid_t pid;
+ #if defined(OS_LINUX)
+-  if (options.clone_flags) {
++  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) {
+     // Signal handling in this function assumes the creation of a new
+     // process, so we check that a thread is not being created by mistake
+     // and that signal handling follows the process-creation rules.
+-    RAW_CHECK(
+-        !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
+-    pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
++    RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
++    pid = syscall(__NR_clone, flags, 0, 0, 0);
+   } else
+ #endif
+   {
+@@ -328,6 +342,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
+     // DANGER: no calls to malloc or locks are allowed from now on:
+     // http://crbug.com/36678
+ 
++#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
+@@ -452,6 +481,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 9d63ad9..0885705 100644
+--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
++++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
+@@ -144,6 +144,9 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
+   // 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());
++
+   // Start up the sandbox host process and get the file descriptor for the
+   // renderers to talk to it.
+   const int sfd = RenderSandboxHostLinux::GetInstance()->GetRendererSocket();
+@@ -156,11 +159,24 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
+     sandbox_client->PrependWrapper(&cmd_line);
+     sandbox_client->SetupLaunchOptions(&options, &fds_to_map, &dummy_fd);
+     sandbox_client->SetupLaunchEnvironment();
++    userns_sandbox = sandbox_client->IsNoSuid();
+   }
+ 
+   base::ProcessHandle process = -1;
+   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";
+   dummy_fd.reset();
+ 
+diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc
+index 11f0602..b7b8214 100644
+--- a/content/zygote/zygote_main_linux.cc
++++ b/content/zygote/zygote_main_linux.cc
+@@ -389,6 +389,13 @@ static bool EnterSuidSandbox(sandbox::SetuidSandboxClient* setuid_sandbox) {
+     CHECK(CreateInitProcessReaper());
+   }
+ 
++  // 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 fc03cdd..a972faa 100644
+--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
++++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
+@@ -229,6 +229,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const {
+   return env_->HasVar(kSandboxNETNSEnvironmentVarName);
+ }
+ 
++bool SetuidSandboxClient::IsNoSuid() const {
++  return env_->HasVar(kSandboxNoSuidVarName);
++}
++
+ bool SetuidSandboxClient::IsSandboxed() const {
+   return sandboxed_;
+ }
+@@ -277,8 +281,7 @@ void SetuidSandboxClient::PrependWrapper(base::CommandLine* cmd_line) {
+                                     "LinuxSUIDSandboxDevelopment.";
+   }
+ 
+-  if (access(sandbox_binary.c_str(), X_OK) != 0 || (st.st_uid != 0) ||
+-      ((st.st_mode & S_ISUID) == 0) || ((st.st_mode & S_IXOTH)) == 0) {
++  if (access(sandbox_binary.c_str(), X_OK) != 0) {
+     LOG(FATAL) << "The SUID sandbox helper binary was found, but is not "
+                   "configured correctly. Rather than run without sandboxing "
+                   "I'm aborting now. You need to make sure that "
+@@ -286,6 +289,12 @@ void SetuidSandboxClient::PrependWrapper(base::CommandLine* cmd_line) {
+   }
+ 
+   cmd_line->PrependWrapper(sandbox_binary);
++
++  if (!((st.st_uid == 0) &&
++        (st.st_mode & S_ISUID) &&
++        (st.st_mode & S_IXOTH))) {
++    env_->SetVar(kSandboxNoSuidVarName, "1");
++  }
+ }
+ 
+ void SetuidSandboxClient::SetupLaunchOptions(
+diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h
+index 2bbad7a..8605475 100644
+--- a/sandbox/linux/suid/client/setuid_sandbox_client.h
++++ b/sandbox/linux/suid/client/setuid_sandbox_client.h
+@@ -66,6 +66,8 @@ class SANDBOX_EXPORT 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;
+ 
+diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h
+index 9345287..2db659e 100644
+--- a/sandbox/linux/suid/common/sandbox.h
++++ b/sandbox/linux/suid/common/sandbox.h
+@@ -15,6 +15,7 @@ static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score";
+ 
+ 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/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
new file mode 100644
index 00000000000..4a610827913
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix
@@ -0,0 +1,21 @@
+# This file is autogenerated from update.sh in the parent directory.
+{
+  dev = {
+    version = "38.0.2107.3";
+    sha256 = "0zb1mj3xgvvs5ijix4b52vj9dlymqkipn8srfzvhwl7g4hx5ss3v";
+    sha256bin32 = "12lvvmg3bqacb0qw72bwlxm2m57s39mz2810agngdgzv0hd835cv";
+    sha256bin64 = "1vw36s8nlvdsl8pjbh4gny00kvcizn1i2lznzqzysicz2rz7ncrh";
+  };
+  beta = {
+    version = "37.0.2062.58";
+    sha256 = "0jck4s6nrizj9wmifsjviin9ifnviihs21fi05wzljyfnbgc4byl";
+    sha256bin32 = "1cm1r8bqy66gvdhbrgn9pdc11i72dca96ab5j3m3349p6728jbgk";
+    sha256bin64 = "0cpb189pn5jiplldkgy8lfbcwvfik66kjjf6y2i708xa5ggfpwfi";
+  };
+  stable = {
+    version = "36.0.1985.125";
+    sha256 = "08shkm89qzzdlrjg0rg5qiszbk6ziginsicyxqyk353y76jx10hp";
+    sha256bin32 = "1ahazz56k127xncgl1lzwsmydbh0vcxq0hzrb9cm9zzdkzqjzg03";
+    sha256bin64 = "0qx5316cd8l9g8w389aqi5m3csmr5s8hs7sivlk02mbs0jzi8ppc";
+  };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/source/update.nix b/pkgs/applications/networking/browsers/chromium/source/update.nix
new file mode 100644
index 00000000000..cfa5f1e009b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/update.nix
@@ -0,0 +1,122 @@
+{ system ? builtins.currentSystem }:
+
+let
+  inherit (import <nixpkgs> {
+    inherit system;
+  }) lib writeText stdenv;
+
+  sources = if builtins.pathExists ./sources.nix
+            then import ./sources.nix
+            else null;
+
+  bucketURL = "http://commondatastorage.googleapis.com/"
+            + "chromium-browser-official";
+
+  debURL = "https://dl.google.com/linux/chrome/deb/pool/main/g";
+
+  # Untrusted mirrors, don't try to update from them!
+  debMirrors = [
+    "http://95.31.35.30/chrome/pool/main/g"
+    "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g"
+  ];
+
+  tryChannel = channel: let
+    chan = builtins.getAttr channel sources;
+  in if sources != null then ''
+    oldver="${chan.version}";
+    echo -n "Checking if $oldver ($channel) is up to date..." >&2;
+    if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ];
+    then
+      echo " no, getting sha256 for new version $version:" >&2;
+      sha256="$(prefetch_sha "$channel" "$version")" || return 1;
+    else
+      echo " yes, keeping old sha256." >&2;
+      sha256="${chan.sha256}";
+      ${if (chan ? sha256bin32 && chan ? sha256bin64) then ''
+        sha256="$sha256.${chan.sha256bin32}.${chan.sha256bin64}";
+      '' else ''
+        sha256="$sha256.$(prefetch_deb_sha "$channel" "$version")";
+      ''}
+    fi;
+  '' else ''
+    sha256="$(prefetch_sha "$channel" "$version")" || return 1;
+  '';
+
+  caseChannel = channel: ''
+    ${channel}) ${tryChannel channel};;
+  '';
+
+in rec {
+  getChannel = channel: let
+    chanAttrs = builtins.getAttr channel sources;
+  in {
+    inherit (chanAttrs) version;
+
+    main = {
+      url = "${bucketURL}/chromium-${chanAttrs.version}.tar.xz";
+      inherit (chanAttrs) sha256;
+    };
+
+    binary = let
+      pname = if channel == "dev"
+              then "google-chrome-unstable"
+              else "google-chrome-${channel}";
+      arch = if stdenv.is64bit then "amd64" else "i386";
+      relpath = "${pname}/${pname}_${chanAttrs.version}-1_${arch}.deb";
+    in lib.optionalAttrs (chanAttrs ? sha256bin64) {
+      urls = map (url: "${url}/${relpath}") ([ debURL ] ++ debMirrors);
+      sha256 = if stdenv.is64bit
+               then chanAttrs.sha256bin64
+               else chanAttrs.sha256bin32;
+    };
+  };
+
+  updateHelpers = writeText "update-helpers.sh" ''
+
+    prefetch_main_sha()
+    {
+      nix-prefetch-url "${bucketURL}/chromium-$2.tar.xz";
+    }
+
+    prefetch_deb_sha()
+    {
+      channel="$1";
+      version="$2";
+
+      case "$1" in
+        dev) pname="google-chrome-unstable";;
+        *)   pname="google-chrome-$channel";;
+      esac;
+
+      deb_pre="${debURL}/$pname/$pname";
+
+      deb32=$(nix-prefetch-url "''${deb_pre}_$version-1_i386.deb");
+      deb64=$(nix-prefetch-url "''${deb_pre}_$version-1_amd64.deb");
+
+      echo "$deb32.$deb64";
+      return 0;
+    }
+
+    prefetch_sha()
+    {
+      main_sha="$(prefetch_main_sha "$@")" || return 1;
+      deb_sha="$(prefetch_deb_sha "$@")" || return 1;
+      echo "$main_sha.$deb_sha";
+      return 0;
+    }
+
+    get_sha256()
+    {
+      channel="$1";
+      version="$2";
+
+      case "$channel" in
+        ${lib.concatMapStrings caseChannel [ "stable" "dev" "beta" ]}
+      esac;
+
+      sha_insert "$version" "$sha256";
+      echo "$sha256";
+      return 0;
+    }
+  '';
+}
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
deleted file mode 100644
index aae71e8dfb6..00000000000
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file is autogenerated from update.sh in the same directory.
-{
-  dev = {
-    version = "32.0.1671.3";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1671.3.tar.xz";
-    sha256 = "0bv86ig3mrd95zh78880bcyh9b8w46s7slxq3mwwmrmqp0s8qaq0";
-  };
-  beta = {
-    version = "31.0.1650.34";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.34.tar.xz";
-    sha256 = "0c73kvp09cmq4x42rcf45v0mnbyb8rcyi5i4pj0pvfn451vbngdq";
-  };
-  stable = {
-    version = "30.0.1599.114";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.114.tar.xz";
-    sha256 = "0q5pq8bj4y0c7hd121db1fa9g3apkpkhb6cf14ag7abgrda2pzw2";
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index 0c4881bb396..e82d22f34fd 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -3,16 +3,9 @@
 channels_url="http://omahaproxy.appspot.com/all?csv=1";
 history_url="http://omahaproxy.appspot.com/history";
 bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
-output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix";
+base_path="$(cd "$(dirname "$0")" && pwd)/source";
 
-nix_getattr()
-{
-    input_file="$1";
-    attr="$2";
-
-    var="$(nix-instantiate --eval-only -A "$attr" "$output_file")";
-    echo "$var" | tr -d '\\"';
-}
+source "$(nix-build --no-out-link "$base_path/update.nix" -A updateHelpers)";
 
 ### poor mans key/value-store :-) ###
 
@@ -53,39 +46,6 @@ get_newest_ver()
     fi;
 }
 
-if [ -e "$output_file" ];
-then
-    get_sha256()
-    {
-        channel="$1";
-        version="$2";
-        url="$3";
-
-        oldver="$(nix_getattr "$output_file" "$channel.version")";
-
-        echo -n "Checking if $oldver ($channel) is up to date..." >&2;
-
-        if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ];
-        then
-            echo " no, getting sha256 for new version $version:" >&2;
-            sha256="$(nix-prefetch-url "$url")" || return 1;
-        else
-            echo " yes, keeping old sha256." >&2;
-            sha256="$(nix_getattr "$output_file" "$channel.sha256")" \
-                || return 1;
-        fi;
-
-        sha_insert "$version" "$sha256";
-        echo "$sha256";
-        return 0;
-    }
-else
-    get_sha256()
-    {
-        nix-prefetch-url "$3";
-    }
-fi;
-
 fetch_filtered_history()
 {
     curl -s "$history_url" | sed -nr 's/^'"linux,$1"',([^,]+).*$/\1/p';
@@ -99,9 +59,8 @@ get_prev_sha256()
     for version in $(fetch_filtered_history "$channel");
     do
         [ "x$version" = "x$current_version" ] && continue;
-        url="${bucket_url%/}/chromium-$version.tar.xz";
-        sha256="$(get_sha256 "$channel" "$version" "$url")" || continue;
-        echo "$sha256:$version:$url";
+        sha256="$(get_sha256 "$channel" "$version")" || continue;
+        echo "$sha256:$version";
         return 0;
     done;
 }
@@ -113,34 +72,39 @@ get_channel_exprs()
         channel="${chline%%,*}";
         version="${chline##*,}";
 
-        url="${bucket_url%/}/chromium-$version.tar.xz";
-
         echo -n "Checking if sha256 of version $version is cached..." >&2;
         if sha256="$(sha_lookup "$version")";
         then
             echo " yes: $sha256" >&2;
         else
             echo " no." >&2;
-            sha256="$(get_sha256 "$channel" "$version" "$url")";
+            sha256="$(get_sha256 "$channel" "$version")";
             if [ $? -ne 0 ];
             then
                 echo "Whoops, failed to fetch $version, trying previous" \
                      "versions:" >&2;
 
-                sha_ver_url="$(get_prev_sha256 "$channel" "$version")";
-                sha256="${sha_ver_url%%:*}";
-                ver_url="${sha_ver_url#*:}";
-                version="${ver_url%%:*}";
-                url="${ver_url#*:}";
+                sha_ver="$(get_prev_sha256 "$channel" "$version")";
+                sha256="${sha_ver%:*}";
+                version="${sha_ver#*:}";
             fi;
         fi;
 
         sha_insert "$version" "$sha256";
 
+        main="${sha256%%.*}";
+        deb="${sha256#*.}";
+        deb32="${deb%.*}";
+        deb64="${deb#*.}";
+
         echo "  $channel = {";
         echo "    version = \"$version\";";
-        echo "    url = \"$url\";";
-        echo "    sha256 = \"$sha256\";";
+        echo "    sha256 = \"$main\";";
+        if [ "x${deb#*[a-z0-9].[a-z0-9]}" != "x$deb" ];
+        then
+            echo "    sha256bin32 = \"$deb32\";";
+            echo "    sha256bin64 = \"$deb64\";";
+        fi;
         echo "  };";
     done;
 }
@@ -151,8 +115,8 @@ omaha="$(curl -s "$channels_url")";
 versions="$(echo "$omaha" | sed -nr -e 's/^linux,([^,]+,[^,]+).*$/\1/p')";
 channel_exprs="$(get_channel_exprs "$versions")";
 
-cat > "$output_file" <<-EOF
-# This file is autogenerated from update.sh in the same directory.
+cat > "$base_path/sources.nix" <<-EOF
+# This file is autogenerated from update.sh in the parent directory.
 {
 $channel_exprs
 }
diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix
index b44a39d87aa..47381f06d68 100644
--- a/pkgs/applications/networking/browsers/conkeror/default.nix
+++ b/pkgs/applications/networking/browsers/conkeror/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, unzip, xulrunner, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "conkeror-1.0pre-20130817-1";
+  name = "conkeror-1.0pre-20140616";
 
   src = fetchgit {
     url = git://repo.or.cz/conkeror.git;
-    rev = "refs/tags/debian-1.0--pre+git130817-1";
-    sha256 = "aef3c782ac98c031e7b99852f42538e225e151cd226cde3094823a5cae015fcf";
+    rev = "8a26fff5896a3360549e2adfbf06b1d57e909266";
+    sha256 = "56f1c71ca1753a63d7599d3e8bf52277711b2693e7709ed7c146f34940441cb4";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix
new file mode 100644
index 00000000000..0cf23f38b0f
--- /dev/null
+++ b/pkgs/applications/networking/browsers/dillo/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl
+, fltk
+, openssl
+, libjpeg, libpng
+, perl
+, libXcursor, libXi, libXinerama
+}:
+
+stdenv.mkDerivation rec {
+  version = "3.0.4";
+  name = "dillo-${version}";
+
+  src = fetchurl {
+    url = "http://www.dillo.org/download/${name}.tar.bz2";
+    sha256 = "0ffz481vgl7f12f575pmbagm8swgxgv9s9c0p8c7plhd04jsnazf";
+  };
+
+  buildInputs = with stdenv.lib;
+    [ fltk openssl libjpeg libpng libXcursor libXi libXinerama ];
+
+  nativeBuildInputs = [ perl ];
+
+  configureFlags =  "--enable-ssl";
+
+  meta = {
+    homepage = http://www.dillo.org/;
+    description = "A fast graphical web browser with a small footprint";
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
index 0421a8a6c6a..ecb57d6fe6c 100644
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -1,35 +1,33 @@
-{ stdenv, fetchgit, pkgconfig, makeWrapper, libsoup, webkit, gtk3, gnutls, json_c,
-  m4, glib_networking, gsettings_desktop_schemas }:
+{ stdenv, fetchgit, pkgconfig, makeWrapper, libsoup, webkitgtk2, gtk2, gnutls, json_c,
+  m4, glib_networking, gsettings_desktop_schemas, dconf }:
 
 stdenv.mkDerivation {
-  name = "dwb-0.1";
+  name = "dwb-2014-07-03";
 
   src = fetchgit {
     url = "https://bitbucket.org/portix/dwb.git";
-    rev = "84a8621787baded72e84afdd5cdda278cb81e007";
-    sha256 = "5a32f3c21ad59b43935a16108244f84d260fafaea9b93d41e8de9ba9089ee7b0";
+    rev = "6224470489eb5ba92987e01396269f8b7cd78ada";
+    sha256 = "04p9frsnh1qz067cw36anvr41an789fba839svdjrdva0f2751g8";
   };
 
-  buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4  ];
+  buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkitgtk2 gtk2 gnutls json_c m4 ];
 
   # There are Xlib and gtk warnings therefore I have set Wno-error
-  preBuild=''
-    makeFlagsArray=(CPPFLAGS="-Wno-error" GTK=3 PREFIX=$out);
-  '';
+  makeFlags = ''PREFIX=$(out) GTK=2 CPPFLAGS="-Wno-error"'';
 
-  postInstall=''
+  preFixup=''
     wrapProgram "$out/bin/dwb" \
-     --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
-     --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share"
+     --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \
+     --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
     wrapProgram "$out/bin/dwbem" \
      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://portix.bitbucket.org/dwb/;
     description = "A lightweight web browser based on the webkit web browser engine and the gtk toolkit";
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-    maintainers = [ stdenv.lib.maintainers.pSub ];
-    license = "GPL";
+    platforms = platforms.mesaPlatforms;
+    maintainers = with maintainers;[ pSub ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix
index 1618042364e..0e4fd4db1ba 100644
--- a/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/pkgs/applications/networking/browsers/elinks/default.nix
@@ -1,28 +1,34 @@
-{ stdenv, fetchurl, python, perl, ncurses, x11, bzip2, zlib, openssl
+{ stdenv, fetchurl, perl, ncurses, x11, bzip2, zlib, openssl
 , spidermonkey, gpm
-, enableGuile ? true, guile ? null }:
+, enableGuile ? false, guile ? null   # Incompatible licenses, LGPLv3 - GPLv2
+, enablePython ? false, python ? null
+}:
 
 assert enableGuile -> guile != null;
+assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "elinks-0.12pre5";
+  name = "elinks-0.12pre6";
 
   src = fetchurl {
-    url = http://elinks.or.cz/download/elinks-0.12pre5.tar.bz2;
-    sha256 = "1li4vlbq8wvnigxlkzb15490y90jg6y9yzzrqpqcz2h965w5869d";
+    url = http://elinks.or.cz/download/elinks-0.12pre6.tar.bz2;
+    sha256 = "1nnakbi01g7yd3zqwprchh5yp45br8086b0kbbpmnclabcvlcdiq";
   };
 
   patches = [ ./gc-init.patch ];
 
-  buildInputs = [ python perl ncurses x11 bzip2 zlib openssl spidermonkey gpm ]
-    ++ stdenv.lib.optional enableGuile guile;
+  buildInputs = [ perl ncurses x11 bzip2 zlib openssl spidermonkey gpm ]
+    ++ stdenv.lib.optional enableGuile guile
+    ++ stdenv.lib.optional enablePython python;
 
   configureFlags =
     ''
       --enable-finger --enable-html-highlight
-      --with-perl --with-python --enable-gopher --enable-cgi --enable-bittorrent
+      --with-perl --enable-gopher --enable-cgi --enable-bittorrent
+      --with-spidermonkey=${spidermonkey}
       --enable-nntp --with-openssl=${openssl}
-    '' + stdenv.lib.optionalString enableGuile " --with-guile";
+    '' + stdenv.lib.optionalString enableGuile " --with-guile"
+    + stdenv.lib.optionalString enablePython " --with-python";
 
   crossAttrs = {
     propagatedBuildInputs = [ ncurses.crossDrv zlib.crossDrv openssl.crossDrv ];
@@ -37,5 +43,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Full-featured text-mode web browser";
     homepage = http://elinks.or.cz;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
new file mode 100644
index 00000000000..969ced923b3
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -0,0 +1,339 @@
+# This file is generated from generate_nix.rb
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_nix.rb > default.nix
+
+{ stdenv, fetchurl, config
+, alsaLib
+, atk
+, cairo
+, cups
+, dbus_glib
+, dbus_libs
+, fontconfig
+, freetype
+, gconf
+, gdk_pixbuf
+, glib
+, glibc
+, gst_plugins_base
+, gstreamer
+, gtk
+, libX11
+, libXScrnSaver
+, libXext
+, libXinerama
+, libXrender
+, libXt
+, libcanberra
+, libgnome
+, libgnomeui
+, mesa
+, nspr
+, nss
+, pango
+, heimdal
+, pulseaudio
+, systemd
+}:
+
+let
+  version = "31.0";
+  sources = [
+    { locale = "ach"; arch = "linux-i686"; sha256 = "8372c1227b75486e297fd914bac530a45b22b789e627638e010d4c25337f350f"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha256 = "e01412aa570a462a3bb1ba851cd7133014b3299c0ad349c15534edc35c6d6397"; }
+    { locale = "af"; arch = "linux-i686"; sha256 = "e75bd2d41de60483ed1eadcf03d9cd57146210ff9fdfe04e984404ce4bca29f7"; }
+    { locale = "af"; arch = "linux-x86_64"; sha256 = "32697271215a0e63b7d0b25398d27772da5d53e88d020df24f170ebc341e5394"; }
+    { locale = "an"; arch = "linux-i686"; sha256 = "3a590702183a86283e4de415eefdeed6f95f1e5d48c64456c4d6db8f84dcfb68"; }
+    { locale = "an"; arch = "linux-x86_64"; sha256 = "98d35a6a2f0875a9723ed9511f3bea65f58da3196db3f75aaf7420d45bde33ad"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "e632f104442b725cf8e0e25c9a924b166289e1fab601a70aee0a81394632423c"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "603a054ceb36645881f52042e556572252e898bfa78cec04811e65f27b9db026"; }
+    { locale = "as"; arch = "linux-i686"; sha256 = "05e64b9113f450bfbfa1b99c9580dbb2442af35d6cc20dec0c7af379dd5d37db"; }
+    { locale = "as"; arch = "linux-x86_64"; sha256 = "85b57a101afd0c4aae040bb1f3523ddda3079d46ac8abe9cad826939fd274353"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "5df5eb0db623b42d9a2c9be58807ec66f43a26dd1365d44202d4b0db50d6a6f0"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "6faac3f3637bd68d6c20c73dd84c554afdaa136c4e142c26eb8142b7ab00895f"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "4a87051df26ddb3fd2cf7c2beabc2d403cbc4d2f2e7e0802fb11566722171b57"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "8194b851ed7f9559b78f63711df598ed094783eb2cc288fbd1e880d53118dde5"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "f6f903529d3276d1aa55968d4978fe5977d45076db0ee99d87199d59a9441ad5"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "bce34ee8ec314db0f7abfeddf491d15642dcedea125dc9bb7d7dda3915054940"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "9bd0e37ddf9a222263ca90308245e2078f45d754d8a2b0bc1e4dea13a5e7b581"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "debb3a9983e4219b6632cdfd09d04ab95314ba4e0bd7ff36fd89f0a748d25cdd"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "ea2c9d29f4a3dfe8e0f146979c47ccba835b81cb1f1ed6e95124a837918590fa"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "b2bf8e36ac1ca1afeae463bf95a289db7cf2d2fa303083ab405497cca2993b57"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "b4b9d2828e5387a65d0f63b2149400626cd47fc81b97b912eda11b3fe31d4604"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "c3af78f1215ffc1e9b6c193ba87d17e2f08e1a24856ee68aabf95b3ee7804ea9"; }
+    { locale = "bs"; arch = "linux-i686"; sha256 = "7930f10d5d43e4504b9f347bcb2a2ef451be4418cee86c199b3e98c38587a20d"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha256 = "ee31279d2acf7286c9a59c99e68fdd1692b96247585230df20ea2bea5ee30ba2"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "f22f7964180ad27a122e56f070c6a2a0e3b044fe15ec5046b04db03877a3b7c7"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "84e8675f9613d1a8a49a760ee46d4625b88092cfc542e6b750384d0d5a0a465f"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "bed550a83c763a8147ef862cca7ca36106bfc5b34ea81f008c94886b86a3dde2"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "8bf76f388c6286a1b91cf460325b98c2dd08842031288617d9141b1368b5f62c"; }
+    { locale = "csb"; arch = "linux-i686"; sha256 = "2420bf49ff3429b3f186b17555b8b3250d44579b5ff7ce616914af646b5996be"; }
+    { locale = "csb"; arch = "linux-x86_64"; sha256 = "a0ee304a61b12ec1dd3caf5d876acbd9d2ad4443f9b96e73ecc1de8a1e16206f"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "603a66c237e95534d2dbd004e7fd77b69d5b99b73cba797c7825aaca6d849c61"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "69f68c024d6e9999b5a846d12c5a61ca63d962f6bd21737769d1fe5519916dad"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "da8ed391e8ae9729cf2af35700aff3f6900af208fee9eab6a6bd0fcb303abd09"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "7e3cc63eb61289e1006f683581345caaffe3ae39f7a636ff4f451b1e77a8ffb6"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "f191e74047cdddd43fa72242b1dce15a28160f62b4b8eae08ad117f4b27d6e0f"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "a81165d446cab525645ca2b18ef28cf253c6ee6267086d692a3904c79f7e5be0"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "eb0757aafd2a1c4bb9abeab01a3960d3ac21b92879f8dc7d24f485a43d305957"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "900f64bad286393f6d96f0ff00c6e78ae6cce998046cf506e2b3ec7a7b8e76c0"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "99284b229b7bfcc44cce3ebeee523e49bd5d9c7d860345ad3e242af4f9848683"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "9a4e003441556422375d4bede21da27a03d31b5ec452ff467abcfffdfe363f4a"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "13b4297db52ef851b38f292eba2b2136e4c2f1453e004012fe8b1fbcf000abce"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "ce87f081c4867b9968a2695341001854aa6c1f4f19073d13f54f333cfed236fc"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "849584baf4c6dd330bf9c798e3e8923004a3a381642d4f684b5de3fb5b4fd895"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "635d0cb43a2b5f7f0401f961fd88fc0d6735223ad421ec0ef92a4ee16b29727f"; }
+    { locale = "eo"; arch = "linux-i686"; sha256 = "91da9571212dc82f5d7140e4de073189018f7f895a3b263a4f8840401b4b10bb"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha256 = "77f39ab0168efe9070ecd881dbd2884fe5f35eeea17a63ad8d957398f6eef40d"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "f4ec6f07e67195981c12b5cbc3a6289a6e9d29539014c034039bd498a40f9301"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3f24135fd1a6fd2207bf1d80fc79cb34536b109e195e43a3a13eba0b68548c0e"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha256 = "de3672a512473cc6edc48bb775bc9a405d0c9effccdb0cd46af5ce2593d67613"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "770134c2bd8bc9f2e629e355b8e3b0949f67dd2ecd1b3a1d513bff364e53b734"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "4eeb5854427cde599468b90af70ae3e04eb9aff5132659f6e1ddb2f859f0be74"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "eb91e2e9b80cab85e6ab75e78a9b206a18bb647ffb247c0d5ed324ee219dccd9"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha256 = "0aa0c85a51a50adb9eca5e5a1eda0ca11ddc15ad12b2d930ebe769f10d535433"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "3f340072c80c95283b17e797bf4fdbde9d1de55b5f10f1c9e8193f8426c6157d"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "4719961e58e755ea2d9b94ff7439e1f9e858b0dacbd8631f98fadebca36c72a1"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "70aa1a76414c50b00fc85be87a07b936c7f60d83037f13716862e8491ec8d609"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "ea450d11b0cd3b4381797bf6ca48d74fb18d661864eccb365bc2d51b872b101a"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "d543e7fdd4c27875d30a1d527219e257296c6010e80dc0d5529722aa82cc666f"; }
+    { locale = "fa"; arch = "linux-i686"; sha256 = "4b8aaf0d27f10474c6ec4eeec1418ffb08338475c5433199ac2db79aab5273b2"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha256 = "df10d71c7a762696ee682ca705052b15031dc7e84aa396f67fa26463e3dcd353"; }
+    { locale = "ff"; arch = "linux-i686"; sha256 = "acdfec7656b48e5502692c408cd8c7543add80181130bdd2e0ec66ac44219a06"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha256 = "a9a0041cba2f80b09a2f22da6f1e9bfdfc1cbf0f5c324a427a1758174901fc27"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "304e90020134af5564d5c90c5d9fee6264aa871e82419408f5b0e9d97f8f8ff1"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "bfb86547ea4e0a5650a152070a7651a7f63b0df366fa4aed7f890033332e64a5"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "1ccef0f95df1571b9e378d97122303982f93251bd3ed70d0af93babc3459bad2"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "93ffcc3bbba8b7e0941fe674f6a67ed378e75b37c3e52debbef2434ea75f2b09"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "20ae7baa888fdcb467388313fa51104f8ba77ca31b2bcd731e2d65a46ff75c3f"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "33a028be0c63dc892efc93bd03375c8c4f9be38acb96a2bc516300c204086b3d"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "ddf134c692d321744bd787b7833ccc9b06ef130865c8f8ee816d35ff55c344a7"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e76e18b18a7468ee6a550e837abf04b79833ae084210f723d0781f2b81e3077e"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "3c361e322be79ffaec9a382aacf3b9cc90f03fa664e35e283cd8572e66d3b8b0"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "5e95305321ff373d9cc6eee522dbd5ee948e6c298f2fb38d655965ec1de448e0"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "99b9dbf38f50f5385072d72d14684e980aead6125c4c91cfa8e69bd5c7f1aa0e"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "372bf1395f96be3b41d05630267354f7a6c0706e90f5e21320ab5ebd5d411d41"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "0b8429553052c8e23d3aaf1210d53b51fac2250d1d526311a22757ebd85ca54f"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "da6a7d7292965a0c1eaf58564d9bf85192719831208e8762d06c7082ee9824d7"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "78ac97da0515eb5a94455dcbf4cbd9a8d1ddbf03d4b8d29bad7b9e8fdbf5ef12"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "c0d853c639cfa7b14ce10ee50776f3aebf0c84807bb59d9ec6e0e20554ae8ed2"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "82376fe3005c56d2e895e1ffa0e9233f3885700117a73d1c49d67d742e324752"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "0ed6234fa9c5d449437d133c83f572ceca3dd82df6cbee8573c9f137c50bcf9c"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "10ff3539c27dc49763fe322e9540878d421bdf590d9a307fecc6c158472889c3"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "f97d7e3b290b0fc6a9116198da7fc7eb32895da74a3ad572d29577e14ab12f20"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "bba1a949823e70d1b5f4a0bec27437b6fc11638fa67b2ca286a833a0d44f5ef8"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "5efaf3ec7f7b5d94df17d2fe0d5877a35442d33ccbf141fcf30e11351f9b4000"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "88a86463f2a47e38886cd2e8b470702623c772086b71d55e61de80e1c1be4fb3"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "967ff3bb62c8dbc93a25f75bec73803428b3fe5024841d3e2d97e444c1d27304"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "4bac63a8b8fea36c3dab794dff933972f9adff7f91a7d3957d4edc3c60534016"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9c26a2438462429f96b2d8bb8c4566b1b1f7d03200ed68aaca4eb6602342c33c"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "e36cd7195d5cd21afd97f31a5108af5999ade8a97f92db3e00067f3cfc31cd72"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "191e47625a6764670bfbab673989e5b2e6ad45ad1c3a0544a129afe8cb963171"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "c839d21d4e16b05bd9aa995ff2124b6b8418ca1405a8f3bfc70fb65b5710488b"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "16d8df9867e6a13a2be7408f459e2c67d449a47105cf9709e4a743abed8229a9"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "7f9c3909cda97d9a40f2630af4f11e6dd8e29f45ab949348123c4334f6aee8fe"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "52f95491dbf4ee9a1f2ee552feb8a30b8196b6747064e45d5a98d0fecfa11f67"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "6586fd1d792feea4e98442736f06eab15d7de526667db6a3ce7de1afac9fdaec"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "0ef883bdf3d415a5795bd613af05b16a406b3af3415ac1c1ebc646dd76f76467"; }
+    { locale = "kk"; arch = "linux-i686"; sha256 = "39167c7ee9f0e9b62308fcaba0f061bda0eaac9d3bb707c6556f71085c7ddd54"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha256 = "ec2c9ae1f5daba1e3b0c8a4f24737b0968bc818748b682418f02983e25302703"; }
+    { locale = "km"; arch = "linux-i686"; sha256 = "797747aa402ad42b6addd04d69995b0ea5c628da71f2cce15c8e612d15461189"; }
+    { locale = "km"; arch = "linux-x86_64"; sha256 = "fd75e5fbba75dd8a6cdafdb1c4983bfd4336f300df559518d3fff0e6e7e482d6"; }
+    { locale = "kn"; arch = "linux-i686"; sha256 = "fada07e5679bcf174078e0c596cd121301f72c307401922e5772c6fa79eeedbe"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha256 = "d9cbb3dc02e3db54ea691dc09c882fcd65fd99bb1d0250e29e3d0a37df72179b"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "22bd8b1dec10117579a267d5bb9b10f460c27c9419305aa1cc4456b09fcd7df5"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "0e9da5e79ebb149a62606e002202b70908d329a26c213df35480962fb05a9f7c"; }
+    { locale = "ku"; arch = "linux-i686"; sha256 = "e5f55ab5112ca3a137c4df37460304ff7e33471e3e95e2709ace1cb32ef88084"; }
+    { locale = "ku"; arch = "linux-x86_64"; sha256 = "224385ae3a9da1fbbbc0d309eba0de6f64e29da4de29299cb1c778cb5a57c968"; }
+    { locale = "lij"; arch = "linux-i686"; sha256 = "e39f5edc61e25f490dcae7ea4fdc91033f5e868cbcaf848180c40bd920455f17"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha256 = "f6e9725f368ce4df3be078a1ad268a29cfeba01e5606de85fbe2e375b3a5e263"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "46b2c694c60540ded3d3f6cb504bc5b7a709cc0940ff6b3223f05d7b8e1f7309"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "51d10f5c63e377b0f9e46d7ee12ea8552b8df57d6e8d9334555b7fbab617c8a4"; }
+    { locale = "lv"; arch = "linux-i686"; sha256 = "8e224c3efcca9864255332b7f7c089c0c04b0eb2dfe60cd04d7dd6a61d807852"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha256 = "e53090be92e7557be5d38aed25ac0a2fb1006d15bb38d61141473f4b38c6e26c"; }
+    { locale = "mai"; arch = "linux-i686"; sha256 = "479795f542d17476bb721d3e7c7fef565617528016085976a63b9e5864b4dd31"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha256 = "8daa2882e27a19894ded43885e868dd7203f506cb1bd25ede1d36328fffbbe0d"; }
+    { locale = "mk"; arch = "linux-i686"; sha256 = "78f6fa53d5fda46fbe54b9978acaa75faaf094d2d3b8e464539609253da07c52"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha256 = "47a147a93dc7d1e683a57f0d7ddd7fbe3d944145932e0773be8dab6a7a0b4b01"; }
+    { locale = "ml"; arch = "linux-i686"; sha256 = "6ac6a36596db8bf675df76abc629fc99ff019455f8c08842668a08cb40b67e9a"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha256 = "c4d4bed760c429c5db1d5c42682127794f81e20182aed0fc37f4c9aaf7bc582c"; }
+    { locale = "mr"; arch = "linux-i686"; sha256 = "a2fc483f2aca2cbb7bdff42e4b27b711fdf27f46bee707d1c6d664c391c95def"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha256 = "5209926b3130b8b75d933287872af62ac752fc9e3fc170b540a2f0bc49d97bdf"; }
+    { locale = "ms"; arch = "linux-i686"; sha256 = "926944ef9a3807b3379bba4b2fff05d8c2776cc4e3239b0b2bd2e5424151e6ee"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha256 = "20cf8557fa41119febc99bbc6de10ea7e97d3c1abc2245241db862ca8a735db1"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5a2778d9e93ae4371ad29737904aaecacf494855b45e5e79cfe773410f6600f6"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "8cfe4c778ee258dcd511990fd71eefcda46ab73c4448705e3815c5c371ee6ea1"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "350efbbaeb3ef9eee16a398ce482c2a3790f5b85dda6177857d7448de03af9e1"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "6d1310f7e2ebe5fc846f966bfa930a2bf3cd0877260de40b01496cb860630c37"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6447690e509ec0d1306bbfa484df82e62dd5909603b43440443c28bf2f489f24"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "6e71ad4fe85b02f8745e6b3b39a6f69f13fff45fd555704747d1f59fcf64447a"; }
+    { locale = "or"; arch = "linux-i686"; sha256 = "71866d15af41df9d98716544d25d8fc2069a9a8f92cdd8180731e3b3fb3c3492"; }
+    { locale = "or"; arch = "linux-x86_64"; sha256 = "22ace7c20948526f1011e16581c870a919c4d8002bd0c3210ae8f702d1f8a03f"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "12eabc66d39bd767c129c1a1777a6a13812efa0bc3df430dd7940908f53094ec"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "54501bca85e231e9fab0aa894a6e566966fdbd172fc45888d97eb828e248d105"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "e16acf44c5ab2ee708ba0f74301106a5fc0c36cd65ebd302043af09803f30138"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "a1532684d5d0e9e2091a5d42202dc6b49ee8c21df14600f0772e1f0f53f6d638"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9827bfda689b01e795d4ddf7ab1169e25cc1728175af74e8a08fa3e8ef40e40c"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "bfe02180011d564fe8deff4d3f3f8e3a6bfde05469738b5b2f8849a2ee485ba8"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "83fcda599d09946da8a968d903fa12b93502a23337f019d3217cc80f81607fe7"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "533050be56e6dbf06a5631a5b7a7db2da4f5514f224cb787600671c79c020379"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "62906af16b8e179be3015f6be9cf4b9481fcc506044c053373f9bc2e315729fa"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "f968ed9ba8ed43d0d52b02db23b2badf6e6a2544d105f23d6b09b80a07a28ee3"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "503fc4cf0de24ff5b1658d09264f8bb3b131c678f61c554ddf1006633ff2d336"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "514625ffbf4af4519a7671896f2f2797a1b17057dea356f7c17fa52a17736358"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "01521832ab38fd46751578691b82c0283d9c7a68459ab7225328afa285699b01"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "16b780ed767ff0537ec4619453d8cd3ebdcf124704d03d1741b5501007078dee"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "35ee6cded95ea13c8c480a46ffc9398f50d172aff2030611d6713b04ddc1c54d"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "c4ad9cec257bacffbcf3b4c84c63ec52e1ce830754b5be0b622a44ab223919ad"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "53a6bc5aebe5edf4bad34e163a54a3bed30a7c74ff883463caf057793ac3f58e"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "5110806bb3f02317b542bb79ce34c6bffeef68982807a5e53614958fb9adc779"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "3a58652b394fc2ffe1abcc1e89596f3e9357a2455cda8a0c76a44ff20331ada2"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "fb733f327080e5b4e2ae079a5cdbdb645fde1c9388368c13fcc6af4d3d91da7a"; }
+    { locale = "son"; arch = "linux-i686"; sha256 = "56a262e4411404e94747312858ae1e7ca99ea48171361f03cdc660f8b0da0da2"; }
+    { locale = "son"; arch = "linux-x86_64"; sha256 = "db77a5cab885f96efcbaae8e9f284ad30ab78aae1a405a5f1c2ac7d4d2e43498"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "fde7c85f09997ab3f7918072a9577f8d70947c5fafcc70782d684759146941bd"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "9865054be5d0a3913e4fa16aafdacd345607955b1d733d978033a2825d926c32"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "87f9f7d46a211b9205df5258f551b7c42264fdb81c70f836a37b3d5a821c4c03"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "ed03914c382efdec2f218e87e8efdd2b761e16ad0cc2a646b02050f27503161b"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1e28e39ac45177607a2ff3c71d3317b8b777679bc9e8dad2236991f05c6823ca"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "81c2fdc5ec9f338b1dc3cd5d2e8dd62cf106c4cf759826be8eb7f3f3f550c49e"; }
+    { locale = "ta"; arch = "linux-i686"; sha256 = "8e27ba1c8079745a93bebf6f7e4dbfa9ffc32b91d6dfa12975497466f3ec1550"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha256 = "c244aeff11608d6f1a8513045ab53d4909af02915761b15ff34ddbbc9995dcbe"; }
+    { locale = "te"; arch = "linux-i686"; sha256 = "32e404eeeebeb521d909cc64fe1ba3c0b40130f7a4b4ae742a48ba61e8b668d4"; }
+    { locale = "te"; arch = "linux-x86_64"; sha256 = "83b5cefddc6308050c24d9fb30818fa1fb3c1d4ba9a2de9d8fc99878b01855b4"; }
+    { locale = "th"; arch = "linux-i686"; sha256 = "009cb39521635c1c89717b3d526a59c05e7ab82082ec31f0fd482800f01d3e8b"; }
+    { locale = "th"; arch = "linux-x86_64"; sha256 = "1fe31902ef44e7049e9efa4774098c00d3ecad0a4c4f585716cb4bec158e3b88"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "e54ee04479b9891420af6fc1d639da121b677660a5bf1dfd8565792c9e1cdbdf"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "bdfae1142a7714a0be9bd24b02582a9ab9913c17d130cf0b2928deb657f8bebc"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "b2d6b518e86c3bae1068f7a6d7cdc975f3b0f99e514c5d3d18dbe5e62d15dbce"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "71bd0518b69c911dbb21297cd676ed66231a3b7bc59090a9f6a85d6882263277"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "390fb219da7169d69a7aca1df883750d56bf34f0f7b6b49781d6f3c6b8962962"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1c5af9f646ced5533223bca6dd36f364c0ca9d3f02ba93797aa8b091144cf7e2"; }
+    { locale = "xh"; arch = "linux-i686"; sha256 = "5d0d04c7c84ffc51b11f99205ae767954b78d98c3a2d18bfcceca1cb292fcd9a"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha256 = "5fafe2b375ee0935da52ec9037c4f515d1be5cf783548215d289a300e06bb9de"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1361b7cfc08d4d000107a244ec2a163ab27616b1d1db13917f34acc4d4167d34"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "66aa04a7b5240df285afd37608c816b7c09cb365c6d0cd5aa4dbe8a7be61d824"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "c0e3d9b584ba10e2a67a904253b2d93ab3546465e69619f932b566ad6b04a003"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "6a24f9f3631bc0bcc15de6a124c0f7dbcee6d0099e2f0b0622a18e54c04620a9"; }
+    { locale = "zu"; arch = "linux-i686"; sha256 = "7fa59f6ee26d48f992015b0bb667a0c230cea854eafa67d7c4e51d38e1a267d3"; }
+    { locale = "zu"; arch = "linux-x86_64"; sha256 = "4af969f1e0d0703e83d903fc2a30739ae2ab42cc3a24219be8bfd152490970c5"; }
+  ];
+
+  arch = if stdenv.system == "i686-linux"
+    then "linux-i686"
+    else "linux-x86_64";
+
+  isPrefixOf = prefix: string:
+    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
+
+  sourceMatches = locale: source:
+      (isPrefixOf source.locale locale) && source.arch == arch;
+
+  systemLocale = config.i18n.defaultLocale or "en-US";
+
+  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
+
+  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
+
+in
+
+stdenv.mkDerivation {
+  name = "firefox-bin-${version}";
+
+  src = fetchurl {
+    url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
+    inherit (source) sha256;
+  };
+
+  phases = "unpackPhase installPhase";
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.gcc
+      alsaLib
+      atk
+      cairo
+      cups
+      dbus_glib
+      dbus_libs
+      fontconfig
+      freetype
+      gconf
+      gdk_pixbuf
+      glib
+      glibc
+      gst_plugins_base
+      gstreamer
+      gtk
+      libX11
+      libXScrnSaver
+      libXext
+      libXinerama
+      libXrender
+      libXt
+      libcanberra
+      libgnome
+      libgnomeui
+      mesa
+      nspr
+      nss
+      pango
+      heimdal
+      pulseaudio
+      systemd
+    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
+      stdenv.gcc.gcc
+    ];
+
+  # "strip" after "patchelf" may break binaries.
+  # See: https://github.com/NixOS/patchelf/issues/10
+  dontStrip = 1;
+
+  installPhase =
+    ''
+      mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
+      cp -r * "$prefix/usr/lib/firefox-bin-${version}"
+
+      mkdir -p "$out/bin"
+      ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
+
+      for executable in \
+        firefox mozilla-xremote-client firefox-bin plugin-container \
+        updater crashreporter webapprt-stub
+      do
+        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/firefox-bin-${version}/$executable"
+      done
+
+      for executable in \
+        firefox mozilla-xremote-client firefox-bin plugin-container \
+        updater crashreporter webapprt-stub libxul.so
+      do
+        patchelf --set-rpath "$libPath" \
+          "$out/usr/lib/firefox-bin-${version}/$executable"
+      done
+
+      # Create a desktop item.
+      mkdir -p $out/share/applications
+      cat > $out/share/applications/firefox.desktop <<EOF
+      [Desktop Entry]
+      Type=Application
+      Exec=$out/bin/firefox
+      Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
+      Name=Firefox
+      GenericName=Web Browser
+      Categories=Application;Network;
+      EOF
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla Firefox, free web browser";
+    homepage = http://www.mozilla.org/firefox/;
+    license = {
+      shortName = "unfree"; # not sure
+      fullName = "unfree";
+      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
+    };
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
new file mode 100644
index 00000000000..a768b1f8dff
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
@@ -0,0 +1,217 @@
+# TODO share code with thunderbird-bin/generate_nix.rb
+
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
+
+arches = ["linux-i686", "linux-x86_64"]
+
+arches.each do |arch|
+  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
+end
+
+locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
+  File.basename(path)
+end.sort
+
+locales.delete("index.html")
+locales.delete("xpi")
+
+# real version number, e.g. "30.0" instead of "latest".
+real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
+
+locale_arch_path_tuples = locales.flat_map do |locale|
+  arches.map do |arch|
+    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
+
+    [locale, arch, path]
+  end
+end
+
+paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
+
+hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
+  input.each_line.map do |line|
+    $stderr.puts(line)
+
+    line.match(/^[0-9a-f]*/)[0]
+  end
+end
+
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_nix.rb > default.nix
+
+{ stdenv, fetchurl, config
+, alsaLib
+, atk
+, cairo
+, cups
+, dbus_glib
+, dbus_libs
+, fontconfig
+, freetype
+, gconf
+, gdk_pixbuf
+, glib
+, glibc
+, gst_plugins_base
+, gstreamer
+, gtk
+, libX11
+, libXScrnSaver
+, libXext
+, libXinerama
+, libXrender
+, libXt
+, libcanberra
+, libgnome
+, libgnomeui
+, mesa
+, nspr
+, nss
+, pango
+, heimdal
+, pulseaudio
+, systemd
+}:
+
+let
+  version = "#{real_version}";
+  sources = [
+EOH
+
+locale_arch_path_tuples.zip(hashes) do |tuple, hash|
+  locale, arch, path = tuple
+
+  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+
+  arch = if stdenv.system == "i686-linux"
+    then "linux-i686"
+    else "linux-x86_64";
+
+  isPrefixOf = prefix: string:
+    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
+
+  sourceMatches = locale: source:
+      (isPrefixOf source.locale locale) && source.arch == arch;
+
+  systemLocale = config.i18n.defaultLocale or "en-US";
+
+  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
+
+  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
+
+in
+
+stdenv.mkDerivation {
+  name = "firefox-bin-${version}";
+
+  src = fetchurl {
+    url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
+    inherit (source) sha256;
+  };
+
+  phases = "unpackPhase installPhase";
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.gcc
+      alsaLib
+      atk
+      cairo
+      cups
+      dbus_glib
+      dbus_libs
+      fontconfig
+      freetype
+      gconf
+      gdk_pixbuf
+      glib
+      glibc
+      gst_plugins_base
+      gstreamer
+      gtk
+      libX11
+      libXScrnSaver
+      libXext
+      libXinerama
+      libXrender
+      libXt
+      libcanberra
+      libgnome
+      libgnomeui
+      mesa
+      nspr
+      nss
+      pango
+      heimdal
+      pulseaudio
+      systemd
+    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
+      stdenv.gcc.gcc
+    ];
+
+  # "strip" after "patchelf" may break binaries.
+  # See: https://github.com/NixOS/patchelf/issues/10
+  dontStrip = 1;
+
+  installPhase =
+    ''
+      mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
+      cp -r * "$prefix/usr/lib/firefox-bin-${version}"
+
+      mkdir -p "$out/bin"
+      ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
+
+      for executable in \
+        firefox mozilla-xremote-client firefox-bin plugin-container \
+        updater crashreporter webapprt-stub
+      do
+        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/firefox-bin-${version}/$executable"
+      done
+
+      for executable in \
+        firefox mozilla-xremote-client firefox-bin plugin-container \
+        updater crashreporter webapprt-stub libxul.so
+      do
+        patchelf --set-rpath "$libPath" \
+          "$out/usr/lib/firefox-bin-${version}/$executable"
+      done
+
+      # Create a desktop item.
+      mkdir -p $out/share/applications
+      cat > $out/share/applications/firefox.desktop <<EOF
+      [Desktop Entry]
+      Type=Application
+      Exec=$out/bin/firefox
+      Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
+      Name=Firefox
+      GenericName=Web Browser
+      Categories=Application;Network;
+      EOF
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla Firefox, free web browser";
+    homepage = http://www.mozilla.org/firefox/;
+    license = {
+      shortName = "unfree"; # not sure
+      fullName = "unfree";
+      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
+    };
+    platforms = platforms.linux;
+  };
+}
+EOF
diff --git a/pkgs/applications/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix
deleted file mode 100644
index c430bb7089a..00000000000
--- a/pkgs/applications/networking/browsers/firefox/3.6.nix
+++ /dev/null
@@ -1,155 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-
-, # If you want the resulting program to call itself "Firefox" instead
-  # of "Shiretoko" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-}:
-
-rec {
-
-  firefoxVersion = "3.6.27";
-  
-  xulVersion = "1.9.2.27"; # this attribute is used by other packages
-
-  
-  src = fetchurl {
-    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "dd472a10e4ef5b017f00074d0325be13e832d610";
-  };
-
-
-  commonConfigureFlags =
-    [ "--enable-optimize"
-      "--disable-debug"
-      "--enable-strip"
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
-      "--enable-system-cairo"
-      #"--enable-system-sqlite" # <-- this seems to be discouraged
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-    ];
-
-  xulrunner = stdenv.mkDerivation {
-    name = "xulrunner-${xulVersion}";
-    
-    inherit src;
-
-    patches = [
-      # Loongson2f related patches:
-      ./xulrunner-chromium-mips.patch
-      ./xulrunner-mips-n32.patch
-      ./xulrunner-1.9.2_beta4-mips-bus-error.patch
-
-      # Fix building on GCC 4.6.
-      ./gcc-4.6.patch
-    ];
-
-    buildInputs =
-      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr nss libnotify xlibs.pixman
-      ];
-
-    preConfigure = if stdenv.isMips then ''
-      export ac_cv_thread_keyword=no
-    '' else "";
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    # !!! Temporary hack.
-    preBuild = ''
-     export NIX_ENFORCE_PURITY=
-    '';
-
-    installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    postInstall = ''
-      # Fix some references to /bin paths in the Xulrunner shell script.
-      substituteInPlace $out/bin/xulrunner \
-          --replace /bin/pwd "$(type -tP pwd)" \
-          --replace /bin/ls "$(type -tP ls)"
-
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      mv xulrunner ../lib/$libDir/
-
-      for i in $out/lib/$libDir/*; do 
-          file $i;
-          if file $i | grep executable &>/dev/null; then 
-              ln -s $i $out/bin
-          fi;
-      done;
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    enableParallelBuilding = true;
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.org/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
-  };
-
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman
-      ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    postInstall = ''
-      libDir=$(cd $out/lib && ls -d firefox-[0-9]*)
-      test -n "$libDir"
-
-      ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner
-
-      # Register extensions etc. !!! is this needed anymore?
-      echo "running firefox -register..."
-      $out/bin/firefox -register
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.org/firefox/;
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
-  };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/30.nix b/pkgs/applications/networking/browsers/firefox/30.nix
new file mode 100644
index 00000000000..1e2c3e2cfb1
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/30.nix
@@ -0,0 +1,211 @@
+{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, hunspell, libevent, libstartup_notification, libvpx
+, cairo, gstreamer, gst_plugins_base, icu
+, debugBuild ? false
+, # If you want the resulting program to call itself "Firefox" instead
+  # of "Shiretoko" or whatever, enable this option.  However, those
+  # binaries may not be distributed without permission from the
+  # Mozilla Foundation, see
+  # http://www.mozilla.org/foundation/trademarks/.
+  enableOfficialBranding ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+rec {
+
+  firefoxVersion = "30.0";
+
+  xulVersion = "30.0"; # this attribute is used by other packages
+
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
+  };
+
+  commonConfigureFlags =
+    [ "--with-system-jpeg"
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      "--with-system-nss"
+      "--with-system-libevent"
+      "--with-system-libvpx"
+      "--with-system-png"
+      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
+      "--enable-system-ffi"
+      "--enable-system-hunspell"
+      "--enable-system-pixman"
+      "--enable-system-sqlite"
+      "--enable-system-cairo"
+      "--enable-gstreamer"
+      "--enable-startup-notification"
+      # "--enable-content-sandbox"            # available since 26.0, but not much info available
+      # "--enable-content-sandbox-reporter"   # keeping disabled for now
+      "--disable-crashreporter"
+      "--disable-tests"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer"
+      "--disable-updater"
+      "--disable-pulseaudio"
+    ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+                        else [ "--disable-debug" "--enable-release"
+                               "--enable-optimize" "--enable-strip" ]);
+
+
+  xulrunner = stdenv.mkDerivation rec {
+    name = "xulrunner-${xulVersion}";
+
+    inherit src;
+
+    buildInputs =
+      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
+        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+        hunspell libevent libstartup_notification libvpx cairo
+        gstreamer gst_plugins_base icu
+      ];
+
+    configureFlags =
+      [ "--enable-application=xulrunner"
+        "--disable-javaxpcom"
+      ] ++ commonConfigureFlags;
+
+    #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
+
+    preConfigure =
+      ''
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
+
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
+
+    #installFlags = "SKIP_GRE_REGISTRATION=1";
+
+    preInstall = ''
+      # The following is needed for startup cache creation on grsecurity kernels
+      paxmark m ../objdir/dist/bin/xpcshell
+    '';
+
+    postInstall = ''
+      # Fix run-mozilla.sh search
+      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
+      echo libDir: $libDir
+      test -n "$libDir"
+      cd $out/bin
+      rm xulrunner
+
+      for i in $out/lib/$libDir/*; do
+          file $i;
+          if file $i | grep executable &>/dev/null; then
+              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
+              chmod a+x "$out/bin/$(basename "$i")";
+          fi;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+
+      # For grsecurity kernels
+      paxmark m $out/lib/$libDir/{plugin-container,xulrunner}
+
+      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
+
+      rm -f $out/bin/run-mozilla.sh
+    ''; # */
+
+    meta = {
+      description = "Mozilla Firefox XUL runner";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+    };
+
+    passthru = { inherit gtk; version = xulVersion; };
+  };
+
+
+  firefox = stdenv.mkDerivation rec {
+    name = "firefox-${firefoxVersion}";
+
+    inherit src;
+
+    enableParallelBuilding = true;
+
+    buildInputs =
+      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
+        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
+        xlibs.pixman yasm mesa sqlite file unzip pysqlite
+        hunspell libevent libstartup_notification libvpx cairo
+        gstreamer gst_plugins_base icu
+      ];
+
+    patches = [
+      ./disable-reporter.patch # fixes "search box not working when built on xulrunner"
+      ./xpidl.patch
+    ];
+
+    propagatedBuildInputs = [xulrunner];
+
+    configureFlags =
+      [ "--enable-application=browser"
+        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
+        "--enable-chrome-format=jar"
+      ]
+      ++ commonConfigureFlags
+      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
+
+    makeFlags = [
+      "SYSTEM_LIBXUL=1"
+    ];
+
+    # Because preConfigure runs configure from a subdirectory.
+    configureScript = "../configure";
+
+    preConfigure =
+      ''
+        # Hack to work around make's idea of -lbz2 dependency
+        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
+          stdenv.lib.concatStringsSep ":"
+            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
+        }' ';'
+
+        # Building directly in the main source directory is not allowed.
+        mkdir obj_dir
+        cd obj_dir
+      '';
+
+    postInstall =
+      ''
+        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
+        cd "$out/lib/"firefox-*
+        rm firefox
+        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+        chmod a+x firefox
+
+        # Put chrome.manifest etc. in the right place.
+        mv browser/* .
+        rmdir browser
+      ''; # */
+
+    meta = {
+      description = "Mozilla Firefox - the browser, reloaded";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+      maintainers = with stdenv.lib.maintainers; [ eelco wizeman ];
+    };
+
+    passthru = {
+      inherit gtk xulrunner nspr;
+      isFirefox3Like = true;
+    };
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 45606c9af82..ad2ea75bd70 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
+{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
 , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
 , hunspell, libevent, libstartup_notification, libvpx
-, cairo, gstreamer, gst_plugins_base
+, cairo, gstreamer, gst_plugins_base, icu
 , debugBuild ? false
 , # If you want the resulting program to call itself "Firefox" instead
   # of "Shiretoko" or whatever, enable this option.  However, those
@@ -15,29 +15,30 @@
 
 assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
-let optional = stdenv.lib.optional;
-in rec {
-
-  firefoxVersion = "25.0";
-
-  xulVersion = "25.0"; # this attribute is used by other packages
+let version = "31.0"; in
 
+stdenv.mkDerivation rec {
+  name = "firefox-${version}";
 
   src = fetchurl {
-    urls = [
-        # It is better to use this url for official releases, to take load off Mozilla's ftp server.
-        "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
-        # Fall back to this url for versions not available at releases.mozilla.org.
-        "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
-    ];
-    sha1 = "854722e283659d2b6b2eacd38f757b3c5b63a448";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
+    sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
   };
 
-  commonConfigureFlags =
-    [ "--enable-optimize"
-      #"--enable-profiling"
-      (if debugBuild then "--enable-debug" else "--disable-debug")
-      "--enable-strip"
+  buildInputs =
+    [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
+      python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+      xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+      alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+      xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+      xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+      hunspell libevent libstartup_notification libvpx cairo
+      gstreamer gst_plugins_base icu
+    ];
+
+  configureFlags =
+    [ "--enable-application=browser"
+      "--disable-javaxpcom"
       "--with-system-jpeg"
       "--with-system-zlib"
       "--with-system-bz2"
@@ -45,152 +46,62 @@ in rec {
       "--with-system-nss"
       "--with-system-libevent"
       "--with-system-libvpx"
-      "--with-system-png"
-      "--enable-startup-notification"
+      # "--with-system-png" # needs APNG support
+      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
       "--enable-system-ffi"
       "--enable-system-hunspell"
       "--enable-system-pixman"
       "--enable-system-sqlite"
       "--enable-system-cairo"
+      "--enable-gstreamer"
+      "--enable-startup-notification"
+      # "--enable-content-sandbox"            # available since 26.0, but not much info available
+      # "--enable-content-sandbox-reporter"   # keeping disabled for now
       "--disable-crashreporter"
       "--disable-tests"
       "--disable-necko-wifi" # maybe we want to enable this at some point
       "--disable-installer"
       "--disable-updater"
-    ];
-
-
-  xulrunner = stdenv.mkDerivation rec {
-    name = "xulrunner-${xulVersion}";
-
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
-        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base
-      ];
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    enableParallelBuilding = true;
-
-    preConfigure =
-      ''
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-
-        mkdir ../objdir
-        cd ../objdir
-        configureScript=../mozilla-release/configure
-      ''; # */
-
-    #installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    postInstall = ''
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      rm xulrunner
-
-      for i in $out/lib/$libDir/*; do
-          file $i;
-          if file $i | grep executable &>/dev/null; then
-              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
-              chmod a+x "$out/bin/$(basename "$i")";
-          fi;
-      done
-      for i in $out/lib/$libDir/*.so; do
-          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done
-      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
-          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
-      done
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
+      "--disable-pulseaudio"
+    ]
+    ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+                      else [ "--disable-debug" "--enable-release"
+                             "--enable-optimize" "--enable-strip" ])
+    ++ lib.optional enableOfficialBranding "--enable-official-branding";
+
+  enableParallelBuilding = true;
+
+  preConfigure =
+    ''
+      mkdir ../objdir
+      cd ../objdir
+      configureScript=../mozilla-release/configure
+    '';
+
+  preInstall =
+    ''
+      # The following is needed for startup cache creation on grsecurity kernels.
+      paxmark m ../objdir/dist/bin/xpcshell
+    '';
+
+  postInstall =
+    ''
+      # For grsecurity kernels
+      paxmark m $out/lib/*/{plugin-container,xulrunner}
+
+      # Remove SDK cruft. FIXME: move to a separate output?
+      rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
+    '';
+
+  meta = {
+    description = "Mozilla Firefox - the browser, reloaded";
+    homepage = http://www.mozilla.com/en-US/firefox/;
+    maintainers = with lib.maintainers; [ eelco wizeman ];
+    platforms = lib.platforms.linux;
   };
 
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    enableParallelBuilding = true;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman yasm mesa sqlite file unzip pysqlite
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base
-      ];
-
-    patches = [
-      ./disable-reporter.patch # fixes "search box not working when built on xulrunner"
-    ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-        "--enable-chrome-format=jar"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    makeFlags = [
-      "SYSTEM_LIBXUL=1"
-    ];
-
-    # Hack to work around make's idea of -lbz2 dependency
-    preConfigure =
-      ''
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":"
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-      '';
-
-    postInstall =
-      ''
-        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        cd "$out/lib/"firefox-*
-        rm firefox
-        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
-        chmod a+x firefox
-
-        # Put chrome.manifest etc. in the right place.
-        mv browser/* .
-        rmdir browser
-      ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
+  passthru = {
+    inherit gtk nspr version;
+    isFirefox3Like = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/disable-reporter.patch b/pkgs/applications/networking/browsers/firefox/disable-reporter.patch
deleted file mode 100644
index 0a71a7210f2..00000000000
--- a/pkgs/applications/networking/browsers/firefox/disable-reporter.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# from:
-# - https://www.linuxquestions.org/questions/linux-from-scratch-13/blfs-xulrunner-firefox-21-0-and-search-4175462532/
-# - http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg17359.html
-
---- mozilla-release/browser/base/content/browser.js.orig	2013-05-11 16:19:21.000000000 -0300
-+++ mozilla-release/browser/base/content/browser.js	2013-06-07 00:39:16.114862388 -0300
-@@ -3559,10 +3559,12 @@
-    */
-   recordSearchInHealthReport: function (engine, source) {
- #ifdef MOZ_SERVICES_HEALTHREPORT
--    let reporter = Cc["@mozilla.org/datareporting/service;1"]
-+    /*let reporter = Cc["@mozilla.org/datareporting/service;1"]
-                      .getService()
-                      .wrappedJSObject
-                      .healthReporter;
-+    */
-+       return;
- 
-     // This can happen if the FHR component of the data reporting service is
-     // disabled. This is controlled by a pref that most will never use.
diff --git a/pkgs/applications/networking/browsers/firefox/gcc-4.6.patch b/pkgs/applications/networking/browsers/firefox/gcc-4.6.patch
deleted file mode 100644
index f5f685951ef..00000000000
--- a/pkgs/applications/networking/browsers/firefox/gcc-4.6.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://346825.bugs.gentoo.org/attachment.cgi?id=270163
-
---- a/gfx/ots/src/os2.cc
-+++ b/gfx/ots/src/os2.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#include <cstddef>
-+
- #include "os2.h"
- 
- #include "head.h"
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index bf4c7f3e7d2..6a00dfcd8c1 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -2,8 +2,10 @@
 , browserName, desktopName, nameSuffix, icon
 }:
 
+let p = builtins.parseDrvName browser.name; in
+
 stdenv.mkDerivation {
-  name = browser.name + "-with-plugins";
+  name = "${p.name}-with-plugins-${p.version}";
 
   desktopItem = makeDesktopItem {
     name = browserName;
@@ -40,6 +42,8 @@ stdenv.mkDerivation {
     echo ${browser} > $out/nix-support/propagated-user-env-packages
   '';
 
+  preferLocalBuild = true;
+
   # Let each plugin tell us (through its `mozillaPlugin') attribute
   # where to find the plugin in its tree.
   plugins = map (x: x + x.mozillaPlugin) plugins;
diff --git a/pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch b/pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch
deleted file mode 100644
index 54799397f6f..00000000000
--- a/pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob;f=net-libs/xulrunner/files/xulrunner-1.9.2_beta4-mips-bus-error.patch;h=2bf51d77054796ffaf4f4d903dd8560bf96b7844;hb=HEAD
-
---- ./xpcom/glue/nsTArray.h.orig	2009-04-26 01:21:58.000000000 +0800
-+++ ./xpcom/glue/nsTArray.h	2009-04-26 01:21:33.000000000 +0800
-@@ -168,6 +168,7 @@
- 
-     // The array's elements (prefixed with a Header).  This pointer is never
-     // null.  If the array is empty, then this will point to sEmptyHdr.
-+    void   *padding;
-     Header *mHdr;
- };
-
-diff --git a/layout/svg/base/src/nsSVGGlyphFrame.cpp b/layout/svg/base/src/nsSVGGlyphFrame.cpp
-index 6d452d0..3ce4193 100644
---- a/layout/svg/base/src/nsSVGGlyphFrame.cpp
-+++ b/layout/svg/base/src/nsSVGGlyphFrame.cpp
-@@ -169,8 +169,8 @@ private:
-   PRBool SetupForDirectTextRun(gfxContext *aContext, float aScale);
-   void SetupFor(gfxContext *aContext, float aScale);
- 
--  nsSVGGlyphFrame *mSource;
-   nsAutoTArray<CharacterPosition,80> mPositions;
-+  nsSVGGlyphFrame *mSource;
-   gfxMatrix mInitialMatrix;
-   // Textrun advance width from start to mCurrentChar, in appunits
-   gfxFloat mCurrentAdvance;
diff --git a/pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch b/pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch
deleted file mode 100644
index d309f5fb6e8..00000000000
--- a/pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-http://gentoo-overlays.zugaina.org/loongson/portage/net-libs/xulrunner/files/xulrunner-chromium-mips.patch
-
-diff --git a/ipc/chromium/src/base/atomicops.h b/ipc/chromium/src/base/atomicops.h
-index 87df918..363bf63 100644
---- a/ipc/chromium/src/base/atomicops.h
-+++ b/ipc/chromium/src/base/atomicops.h
-@@ -132,6 +132,8 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
- #include "base/atomicops_internals_x86_gcc.h"
- #elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM_FAMILY)
- #include "base/atomicops_internals_arm_gcc.h"
-+#elif defined(COMPILER_GCC) && defined(ARCH_CPU_MIPS_FAMILY)
-+#include "base/atomicops_internals_mips_gcc.h"
- #else
- #error "Atomic operations are not supported on your platform"
- #endif
-diff --git a/ipc/chromium/src/base/atomicops_internals_mips_gcc.h b/ipc/chromium/src/base/atomicops_internals_mips_gcc.h
-new file mode 100644
-index 0000000..d1b87ee
---- /dev/null
-+++ b/ipc/chromium/src/base/atomicops_internals_mips_gcc.h
-@@ -0,0 +1,160 @@
-+// Copyright (c) 2010 Zhang, Le <r0bertz@gentoo.org>
-+// Use of this source code is governed by GPLv2.
-+
-+// This file is an internal atomic implementation, use base/atomicops.h instead.
-+
-+#ifndef BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_
-+#define BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_
-+
-+#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory")
-+
-+namespace base {
-+namespace subtle {
-+
-+// 32-bit low-level operations on any platform.
-+
-+inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
-+                                         Atomic32 old_value,
-+                                         Atomic32 new_value) {
-+  Atomic32 prev;
-+   __asm__ __volatile__(
-+                       " .set  push        \n"
-+                       " .set  noat        \n"
-+                       " .set  mips3       \n"
-+                       "1: ll  %0, %2      \n"
-+                       " bne %0, %z3, 2f   \n"
-+                       " .set  mips0       \n"
-+                       " move  $1, %z4     \n"
-+                       " .set  mips3       \n"
-+                       " sc  $1, %1        \n"
-+                       " beqz  $1, 3f      \n"
-+                       "2:                 \n"
-+                       " .subsection 2     \n"
-+                       "3: b 1b            \n"
-+                       " .previous         \n"
-+                       " .set  pop         \n"
-+                       : "=&r" (prev), "=R" (*ptr)       
-+                       : "R" (*ptr), "Jr" (old_value), "Jr" (new_value)     
-+                       : "memory");
-+  return prev;
-+}
-+
-+inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
-+                                         Atomic32 new_value) {
-+  unsigned int ret_value;
-+  unsigned long dummy;
-+
-+  __asm__ __volatile__("       .set    mips3                                   \n"
-+                       "1:     ll      %0, %3                  # xchg_u32      \n"
-+                       "       .set    mips0                                   \n"
-+                       "       move    %2, %z4                                 \n"
-+                       "       .set    mips3                                   \n"
-+                       "       sc      %2, %1                                  \n"
-+                       "       beqz    %2, 2f                                  \n"
-+                       "       .subsection 2                                   \n"
-+                       "2:     b       1b                                      \n"
-+                       "       .previous                                       \n"
-+                       "       .set    mips0                                   \n"
-+                       : "=&r" (ret_value), "=m" (*ptr), "=&r" (dummy)
-+                       : "R" (*ptr), "Jr" (new_value)
-+                       : "memory");
-+
-+  return ret_value;  // Now it's the previous value.
-+}
-+
-+inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
-+                                          Atomic32 increment) {
-+  Atomic32 temp, result;
-+    __asm__ __volatile__(
-+    " .set  mips3         \n"
-+    "1: ll  %1, %2    # atomic_add_return \n"
-+    " addu  %0, %1, %3        \n"
-+    " sc  %0, %2          \n"
-+    " beqz  %0, 2f          \n"
-+    " addu  %0, %1, %3        \n"
-+    " .subsection 2         \n"
-+    "2: b 1b          \n"
-+    " .previous         \n"
-+    " .set  mips0         \n"
-+    : "=&r" (result), "=&r" (temp), "=m" (*ptr)
-+    : "Ir" (increment), "m" (*ptr)
-+    : "memory");
-+  return result;
-+}
-+
-+inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
-+                                        Atomic32 increment) {
-+  Atomic32 temp, result;
-+    __asm__ __volatile__(
-+    " .set  mips3         \n"
-+    "1: ll  %1, %2    # atomic_add_return \n"
-+    " addu  %0, %1, %3        \n"
-+    " sc  %0, %2          \n"
-+    " beqz  %0, 2f          \n"
-+    " addu  %0, %1, %3        \n"
-+    " .subsection 2         \n"
-+    "2: b 1b          \n"
-+    " .previous         \n"
-+    " .set  mips0         \n"
-+    : "=&r" (result), "=&r" (temp), "=m" (*ptr)
-+    : "Ir" (increment), "m" (*ptr)
-+    : "memory");
-+  __asm__ __volatile__("sync" : : : "memory");
-+  return result;
-+}
-+
-+inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
-+                                       Atomic32 old_value,
-+                                       Atomic32 new_value) {
-+  Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
-+  __asm__ __volatile__("sync" : : : "memory");
-+  return x;
-+}
-+
-+inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
-+                                       Atomic32 old_value,
-+                                       Atomic32 new_value) {
-+  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
-+}
-+
-+inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
-+  *ptr = value;
-+}
-+
-+inline void MemoryBarrier() {
-+  __asm__ __volatile__("sync" : : : "memory");
-+}
-+
-+inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
-+  *ptr = value;
-+  __asm__ __volatile__("sync" : : : "memory");
-+}
-+
-+inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
-+  ATOMICOPS_COMPILER_BARRIER();
-+  *ptr = value; // An x86 store acts as a release barrier.
-+  // See comments in Atomic64 version of Release_Store(), below.
-+}
-+
-+inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
-+  return *ptr;
-+}
-+
-+inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
-+  Atomic32 value = *ptr; // An x86 load acts as a acquire barrier.
-+  // See comments in Atomic64 version of Release_Store(), below.
-+  ATOMICOPS_COMPILER_BARRIER();
-+  return value;
-+}
-+
-+inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
-+  MemoryBarrier();
-+  return *ptr;
-+}
-+
-+} // namespace base::subtle
-+} // namespace base
-+
-+#undef ATOMICOPS_COMPILER_BARRIER
-+
-+#endif  // BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_
-diff --git a/ipc/chromium/src/base/debug_util_posix.cc b/ipc/chromium/src/base/debug_util_posix.cc
-index f7c58b4..50fb41d 100644
---- a/ipc/chromium/src/base/debug_util_posix.cc
-+++ b/ipc/chromium/src/base/debug_util_posix.cc
-@@ -108,7 +108,7 @@ bool DebugUtil::BeingDebugged() {
- 
- // static
- void DebugUtil::BreakDebugger() {
--#if !defined(ARCH_CPU_ARM_FAMILY)
-+#if !defined(ARCH_CPU_ARM_FAMILY) && !defined(ARCH_CPU_MIPS_FAMILY)
-   asm ("int3");
- #endif
- }
-diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h
-index 36f83e7..128bbc7 100644
---- a/ipc/chromium/src/build/build_config.h
-+++ b/ipc/chromium/src/build/build_config.h
-@@ -57,6 +57,8 @@
- #define ARCH_CPU_ARMEL 1
- #define ARCH_CPU_32_BITS 1
- #define WCHAR_T_IS_UNSIGNED 1
-+#elif defined(__MIPSEL__)
-+#define ARCH_CPU_MIPS_FAMILY 1
- #else
- #error Please add support for your architecture in build/build_config.h
- #endif
diff --git a/pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch b/pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch
deleted file mode 100644
index 8be51035260..00000000000
--- a/pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch
+++ /dev/null
@@ -1,764 +0,0 @@
-http://gentoo-overlays.zugaina.org/loongson/portage/net-libs/xulrunner/files/xulrunner-mips-n32.patch
-
-From 1aa3577cf7e79b574bd2cff058ea00221194869b Mon Sep 17 00:00:00 2001
-From: Zhang Le <r0bertz@gentoo.org>
-Date: Thu, 12 Mar 2009 02:24:34 +0800
-Subject: [PATCH 2/2] xulrunner mips n32 ABI patch
-
-Signed-off-by: Zhang Le <r0bertz@gentoo.org>
----
- xpcom/reflect/xptcall/src/md/unix/Makefile.in      |    5 +
- .../xptcall/src/md/unix/xptcinvoke_asm_mips64.s    |  159 ++++++++++++++
- .../xptcall/src/md/unix/xptcinvoke_mips64.cpp      |  173 ++++++++++++++++
- .../xptcall/src/md/unix/xptcstubs_asm_mips64.s     |  149 +++++++++++++
- .../xptcall/src/md/unix/xptcstubs_mips64.cpp       |  218 ++++++++++++++++++++
- 5 files changed, 704 insertions(+), 0 deletions(-)
- create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s
- create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp
- create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s
- create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp
-
-diff --git a/xpcom/reflect/xptcall/src/md/unix/Makefile.in b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-index 524174e..63586cf 100644
---- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-+++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-@@ -274,8 +274,13 @@ endif
- 
- ifeq ($(OS_ARCH),Linux)
- ifneq (,$(findstring mips, $(OS_TEST)))
-+ifneq (,$(findstring mips64, $(OS_TEST)))
-+CPPSRCS		:= xptcinvoke_mips64.cpp xptcstubs_mips64.cpp
-+ASFILES		:= xptcinvoke_asm_mips64.s xptcstubs_asm_mips64.s
-+else
- CPPSRCS		:= xptcinvoke_mips.cpp xptcstubs_mips.cpp
- ASFILES		:= xptcinvoke_asm_mips.s xptcstubs_asm_mips.s
-+endif
- ASFLAGS		+= -I$(DIST)/include -x assembler-with-cpp
- endif
- endif
-diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s
-new file mode 100644
-index 0000000..f146ad8
---- /dev/null
-+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s
-@@ -0,0 +1,159 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Mozilla Public License Version
-+ * 1.1 (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/MPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is mozilla.org code.
-+ *
-+ * The Initial Developer of the Original Code is
-+ * Netscape Communications Corporation.
-+ * Portions created by the Initial Developer are Copyright (C) 1998
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *   ZHANG Le    <r0bertz@gentoo.org>
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either of the GNU General Public License Version 2 or later (the "GPL"),
-+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the MPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the MPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+#include <sys/regdef.h>
-+#include <sys/asm.h>
-+
-+.text
-+.globl  invoke_count_words
-+.globl  invoke_copy_to_stack
-+
-+LOCALSZ=7		# a0, a1, a2, a3, s0, ra, gp
-+FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
-+
-+RAOFF=FRAMESZ-(1*SZREG)
-+A0OFF=FRAMESZ-(2*SZREG)
-+A1OFF=FRAMESZ-(3*SZREG)
-+A2OFF=FRAMESZ-(4*SZREG)
-+A3OFF=FRAMESZ-(5*SZREG)
-+S0OFF=FRAMESZ-(6*SZREG)
-+GPOFF=FRAMESZ-(7*SZREG)
-+
-+#
-+# _NS_InvokeByIndex_P(that, methodIndex, paramCount, params)
-+#                      a0       a1          a2         a3
-+
-+NESTED(_NS_InvokeByIndex_P, FRAMESZ, ra)
-+	PTR_SUBU sp, FRAMESZ
-+	SETUP_GP64(GPOFF, _NS_InvokeByIndex_P)
-+
-+	REG_S	ra, RAOFF(sp)
-+	REG_S	a0, A0OFF(sp)
-+	REG_S	a1, A1OFF(sp)
-+	REG_S	a2, A2OFF(sp)
-+	REG_S	a3, A3OFF(sp)
-+	REG_S	s0, S0OFF(sp)
-+
-+	# invoke_count_words(paramCount, params)
-+	move    a0, a2
-+	move    a1, a3
-+	jal     invoke_count_words
-+
-+	# invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount,
-+	#                      nsXPTCVariant* s, PRUint32 *reg)
-+
-+	REG_L   a1, A2OFF(sp)   # a1 - paramCount
-+	REG_L	a2, A3OFF(sp)	# a2 - params
-+
-+	# save sp before we copy the params to the stack
-+	move	t0, sp
-+
-+	# assume full size of 16 bytes per param to be safe
-+	sll	v0, 4		# 16 bytes * num params
-+	subu	sp, sp, v0	# make room
-+	move	a0, sp		# a0 - param stack address
-+
-+	# create temporary stack space to write int and fp regs
-+	subu    sp, 64          # 64 = 8 regs of 8 bytes
-+	move    a3, sp
-+
-+	# save the old sp and save the arg stack
-+	subu	sp, sp, 16
-+	REG_S	t0, 0(sp)
-+	REG_S	a0, 8(sp)
-+
-+	# copy the param into the stack areas
-+	jal	invoke_copy_to_stack
-+
-+	REG_L	t3, 8(sp)	# get previous a0
-+	REG_L	sp, 0(sp)	# get orig sp back
-+
-+	REG_L	a0, A0OFF(sp)	# a0 - that
-+	REG_L	a1, A1OFF(sp)	# a1 - methodIndex
-+
-+	# t1 = methodIndex * pow(2, PTRLOG)
-+	# (use shift instead of mult)
-+	sll	t1, a1, PTRLOG
-+
-+	# calculate the function we need to jump to,
-+	# which must then be saved in t9
-+	lw	t9, 0(a0)
-+	addu	t9, t9, t1
-+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
-+	lw	t9, (t9)
-+#else /* not G++ V3 ABI */
-+	lw	t9, 2*PTRSIZE(t9)
-+#endif /* G++ V3 ABI */
-+
-+	# get register save area from invoke_copy_to_stack
-+	subu	t1, t3, 64
-+
-+	# a1..a7 and f13..f19 should now be set to what
-+	# invoke_copy_to_stack told us. skip a0 and f12
-+	# because that's the "this" pointer
-+
-+	REG_L	a1,  0(t1)
-+	REG_L	a2,  8(t1)
-+	REG_L	a3, 16(t1)
-+	REG_L	a4, 24(t1)
-+	REG_L	a5, 32(t1)
-+	REG_L	a6, 40(t1)
-+	REG_L	a7, 48(t1)
-+
-+	l.d	$f13,  0(t1)
-+	l.d	$f14,  8(t1)
-+	l.d	$f15, 16(t1)
-+	l.d	$f16, 24(t1)
-+	l.d	$f17, 32(t1)
-+	l.d	$f18, 40(t1)
-+	l.d	$f19, 48(t1)
-+
-+	# save away our stack pointer and create
-+	# the stack pointer for the function
-+	move	s0, sp
-+	move	sp, t3
-+
-+	jalr	t9
-+
-+	move	sp, s0
-+
-+	RESTORE_GP64
-+	REG_L	ra, RAOFF(sp)
-+	REG_L	s0, S0OFF(sp)
-+	PTR_ADDU	sp, FRAMESZ
-+	j	ra
-+.end _NS_InvokeByIndex_P
-diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp
-new file mode 100644
-index 0000000..d1d1a7d
---- /dev/null
-+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp
-@@ -0,0 +1,173 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Mozilla Public License Version
-+ * 1.1 (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/MPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is mozilla.org code.
-+ *
-+ * The Initial Developer of the Original Code is
-+ * Netscape Communications Corporation.
-+ * Portions created by the Initial Developer are Copyright (C) 1998
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *   ZHANG Le    <r0bertz@gentoo.org>
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either of the GNU General Public License Version 2 or later (the "GPL"),
-+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the MPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the MPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+#include "xptcprivate.h"
-+
-+#if (_MIPS_SIM != _ABIN32)
-+#error "This code is for MIPS N32 only"
-+#endif
-+
-+extern "C" uint32
-+invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+    return paramCount;
-+}
-+
-+extern "C" void
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount,
-+                     nsXPTCVariant* s, PRUint64 *regs)
-+{
-+#define N_ARG_REGS       7       /* 8 regs minus 1 for "this" ptr */
-+
-+    for (PRUint32 i = 0; i < paramCount; i++, s++)
-+    {
-+        if (s->IsPtrData()) {
-+            if (i < N_ARG_REGS)
-+               regs[i] = (PRUint64)s->ptr;
-+            else
-+               *d++ = (PRUint64)s->ptr;
-+            continue;
-+        }
-+        switch (s->type) {
-+        //
-+        // signed types first
-+        //
-+        case nsXPTType::T_I8:
-+           if (i < N_ARG_REGS)
-+              ((PRInt64*)regs)[i] = s->val.i8;
-+           else
-+              *d++ = s->val.i8;
-+           break;
-+        case nsXPTType::T_I16:
-+           if (i < N_ARG_REGS)
-+              ((PRInt64*)regs)[i] = s->val.i16;
-+           else
-+              *d++ = s->val.i16;
-+           break;
-+        case nsXPTType::T_I32:
-+           if (i < N_ARG_REGS)
-+              ((PRInt64*)regs)[i] = s->val.i32;
-+           else
-+              *d++ = s->val.i32;
-+           break;
-+        case nsXPTType::T_I64:
-+           if (i < N_ARG_REGS)
-+              ((PRInt64*)regs)[i] = s->val.i64;
-+           else
-+              *d++ = s->val.i64;
-+           break;
-+        //
-+        // unsigned types next
-+        //
-+        case nsXPTType::T_U8:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.u8;
-+           else
-+              *d++ = s->val.u8;
-+           break;
-+        case nsXPTType::T_U16:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.u16;
-+           else
-+              *d++ = s->val.u16;
-+           break;
-+        case nsXPTType::T_U32:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.u32;
-+           else
-+              *d++ = s->val.u32;
-+           break;
-+        case nsXPTType::T_U64:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.u64;
-+           else
-+              *d++ = s->val.u64;
-+           break;
-+        case nsXPTType::T_FLOAT:
-+           if (i < N_ARG_REGS)
-+              *(float*)&regs[i] = s->val.f;
-+           else
-+              *(float*)d++ = s->val.f;
-+           break;
-+        case nsXPTType::T_DOUBLE:
-+           if (i < N_ARG_REGS)
-+              *(double*)&regs[i] = s->val.d;
-+           else
-+              *(double*)d++ = s->val.d;
-+           break;
-+        case nsXPTType::T_BOOL:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.b;
-+           else
-+              *d++ = s->val.b;
-+           break;
-+        case nsXPTType::T_CHAR:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.c;
-+           else
-+              *d++ = s->val.c;
-+           break;
-+        case nsXPTType::T_WCHAR:
-+           if (i < N_ARG_REGS)
-+              regs[i] = s->val.wc;
-+           else
-+              *d++ = s->val.wc;
-+           break;
-+        default:
-+           // all the others are plain pointer types
-+           if (i < N_ARG_REGS)
-+              regs[i] = (PRUint64)s->val.p;
-+           else
-+              *d++ = (PRUint64)s->val.p;
-+           break;
-+        }
-+    }
-+}
-+
-+extern "C" nsresult _NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
-+                                        PRUint32 paramCount,
-+                                        nsXPTCVariant* params);
-+
-+EXPORT_XPCOM_API(nsresult)
-+NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
-+                   PRUint32 paramCount, nsXPTCVariant* params)
-+{
-+    return _NS_InvokeByIndex_P(that, methodIndex, paramCount, params);
-+}
-diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s
-new file mode 100644
-index 0000000..dfee24b
---- /dev/null
-+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s
-@@ -0,0 +1,149 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Mozilla Public License Version
-+ * 1.1 (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/MPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is mozilla.org code.
-+ *
-+ * The Initial Developer of the Original Code is
-+ * Netscape Communications Corporation.
-+ * Portions created by the Initial Developer are Copyright (C) 1998
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *   ZHANG Le    <r0bertz@gentoo.org>
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either of the GNU General Public License Version 2 or later (the "GPL"),
-+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the MPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the MPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+#include <sys/regdef.h>
-+#include <sys/asm.h>
-+
-+LOCALSZ=16
-+FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
-+
-+A1OFF=FRAMESZ-(9*SZREG)
-+A2OFF=FRAMESZ-(8*SZREG)
-+A3OFF=FRAMESZ-(7*SZREG)
-+A4OFF=FRAMESZ-(6*SZREG)
-+A5OFF=FRAMESZ-(5*SZREG)
-+A6OFF=FRAMESZ-(4*SZREG)
-+A7OFF=FRAMESZ-(3*SZREG)
-+GPOFF=FRAMESZ-(2*SZREG)
-+RAOFF=FRAMESZ-(1*SZREG)
-+
-+F13OFF=FRAMESZ-(16*SZREG)
-+F14OFF=FRAMESZ-(15*SZREG)
-+F15OFF=FRAMESZ-(14*SZREG)
-+F16OFF=FRAMESZ-(13*SZREG)
-+F17OFF=FRAMESZ-(12*SZREG)
-+F18OFF=FRAMESZ-(11*SZREG)
-+F19OFF=FRAMESZ-(10*SZREG)
-+
-+#define SENTINEL_ENTRY(n)         /* defined in cpp file, not here */
-+
-+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
-+#define STUB_ENTRY(x)						\
-+	.if x < 10;						\
-+	MAKE_STUB(x, _ZN14nsXPTCStubBase5Stub ##x ##Ev);	\
-+	.elseif x < 100;					\
-+	MAKE_STUB(x, _ZN14nsXPTCStubBase6Stub ##x ##Ev);	\
-+	.elseif x < 1000;					\
-+	MAKE_STUB(x, _ZN14nsXPTCStubBase7Stub ##x ##Ev);	\
-+	.else;							\
-+	.err;							\
-+	.endif
-+#else /* not G++ V3 ABI */
-+#define STUB_ENTRY(x)						\
-+	MAKE_STUB(x, Stub ##x ##__14nsXPTCStubBase)
-+#endif /* G++ V3 ABI */
-+
-+#define MAKE_STUB(x, name)					\
-+	.globl	name;		\
-+	.type	name,@function;	\
-+	.aent	name,0;		\
-+name:;				\
-+	PTR_SUBU sp,FRAMESZ;					\
-+	SETUP_GP64(GPOFF, name);				\
-+	li	t0,x;						\
-+	b	sharedstub;					\
-+
-+#
-+# open a dummy frame for the function entries
-+#
-+	.text
-+	.align	2
-+	.type	dummy,@function
-+	.ent	dummy, 0
-+dummy:
-+	.frame	sp, FRAMESZ, ra
-+	.mask	0x90000FF0, RAOFF-FRAMESZ
-+	.fmask	0x000FF000, F19OFF-FRAMESZ
-+
-+#include "xptcstubsdef.inc"
-+
-+sharedstub:
-+
-+	REG_S	a1, A1OFF(sp)
-+	REG_S	a2, A2OFF(sp)
-+	REG_S	a3, A3OFF(sp)
-+	REG_S	a4, A4OFF(sp)
-+	REG_S	a5, A5OFF(sp)
-+	REG_S	a6, A6OFF(sp)
-+	REG_S	a7, A7OFF(sp)
-+	REG_S	ra, RAOFF(sp)
-+
-+	s.d	$f13, F13OFF(sp)
-+	s.d	$f14, F14OFF(sp)
-+	s.d	$f15, F15OFF(sp)
-+	s.d	$f16, F16OFF(sp)
-+	s.d	$f17, F17OFF(sp)
-+	s.d	$f18, F18OFF(sp)
-+	s.d	$f19, F19OFF(sp)
-+
-+	# t0 is methodIndex
-+	move	a1, t0
-+
-+	# a2 is stack address where extra function params
-+	# are stored that do not fit in registers
-+	move	a2, sp
-+	addi	a2, FRAMESZ
-+
-+	# a3 is stack address of a1..a7
-+	move	a3, sp
-+	addi	a3, A1OFF
-+
-+	# a4 is stack address of f13..f19
-+	move	a4, sp
-+	addi	a4, F13OFF
-+
-+	# PrepareAndDispatch(that, methodIndex, args, gprArgs, fpArgs)
-+	#                     a0       a1        a2     a3       a4
-+	#
-+	jal	PrepareAndDispatch
-+
-+	REG_L	ra, RAOFF(sp)
-+	RESTORE_GP64
-+
-+	PTR_ADDU sp, FRAMESZ
-+	j	ra
-+	END(dummy)
-diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp
-new file mode 100644
-index 0000000..c404065
---- /dev/null
-+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp
-@@ -0,0 +1,218 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Mozilla Public License Version
-+ * 1.1 (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/MPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is mozilla.org code.
-+ *
-+ * The Initial Developer of the Original Code is
-+ * Netscape Communications Corporation.
-+ * Portions created by the Initial Developer are Copyright (C) 1999
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *   ZHANG Le    <r0bertz@gentoo.org>
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either of the GNU General Public License Version 2 or later (the "GPL"),
-+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the MPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the MPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+#include "xptcprivate.h"
-+#include "xptiprivate.h"
-+
-+#if (_MIPS_SIM != _ABIN32)
-+#error "This code is for MIPS N32 only"
-+#endif
-+
-+/*
-+ * This is for MIPS N32 ABI
-+ *
-+ * When we're called, the "gp" registers are stored in gprData and
-+ * the "fp" registers are stored in fprData.  There are 8 regs
-+ * available which coorespond to the first 7 parameters of the
-+ * function and the "this" pointer.  If there are additional parms,
-+ * they are stored on the stack at address "args".
-+ *
-+ */
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint64* args,
-+                   PRUint64 *gprData, double *fprData)
-+{
-+#define PARAM_BUFFER_COUNT		16
-+#define PARAM_GPR_COUNT			7
-+#define PARAM_FPR_COUNT			7
-+
-+    nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
-+    nsXPTCMiniVariant* dispatchParams = NULL;
-+    const nsXPTMethodInfo* info;
-+    PRUint8 paramCount;
-+    PRUint8 i;
-+    nsresult result = NS_ERROR_FAILURE;
-+
-+    NS_ASSERTION(self,"no self");
-+
-+    self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
-+    NS_ASSERTION(info,"no method info");
-+
-+    paramCount = info->GetParamCount();
-+
-+    // setup variant array pointer
-+    if(paramCount > PARAM_BUFFER_COUNT)
-+        dispatchParams = new nsXPTCMiniVariant[paramCount];
-+    else
-+        dispatchParams = paramBuffer;
-+    NS_ASSERTION(dispatchParams,"no place for params");
-+
-+    PRUint64* ap = args;
-+    PRUint32 iCount = 0;
-+    for(i = 0; i < paramCount; i++)
-+    {
-+        const nsXPTParamInfo& param = info->GetParam(i);
-+        const nsXPTType& type = param.GetType();
-+        nsXPTCMiniVariant* dp = &dispatchParams[i];
-+
-+        if(param.IsOut() || !type.IsArithmetic())
-+        {
-+            if (iCount < PARAM_GPR_COUNT)
-+            	dp->val.p = (void*)gprData[iCount++];
-+            else
-+            	dp->val.p = (void*)*ap++;
-+            continue;
-+        }
-+        // else
-+        switch(type)
-+        {
-+        case nsXPTType::T_I8:
-+           if (iCount < PARAM_GPR_COUNT)
-+              dp->val.i8  = (PRInt8)gprData[iCount++];
-+           else
-+              dp->val.i8  = (PRInt8)*ap++;
-+           break;
-+
-+        case nsXPTType::T_I16:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.i16  = (PRInt16)gprData[iCount++];
-+            else
-+               dp->val.i16  = (PRInt16)*ap++;
-+            break;
-+
-+        case nsXPTType::T_I32:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.i32  = (PRInt32)gprData[iCount++];
-+            else
-+               dp->val.i32  = (PRInt32)*ap++;
-+            break;
-+
-+        case nsXPTType::T_I64:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.i64  = (PRInt64)gprData[iCount++];
-+            else
-+               dp->val.i64  = (PRInt64)*ap++;
-+            break;
-+
-+        case nsXPTType::T_U8:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.u8  = (PRUint8)gprData[iCount++];
-+            else
-+               dp->val.u8  = (PRUint8)*ap++;
-+            break;
-+
-+        case nsXPTType::T_U16:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.u16  = (PRUint16)gprData[iCount++];
-+            else
-+                dp->val.u16  = (PRUint16)*ap++;
-+            break;
-+
-+        case nsXPTType::T_U32:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.u32  = (PRUint32)gprData[iCount++];
-+            else
-+               dp->val.u32  = (PRUint32)*ap++;
-+            break;
-+
-+        case nsXPTType::T_U64:
-+            if (iCount < PARAM_GPR_COUNT)
-+               dp->val.u64  = (PRUint64)gprData[iCount++];
-+            else
-+               dp->val.u64  = (PRUint64)*ap++;
-+            break;
-+
-+        case nsXPTType::T_FLOAT:
-+             if (iCount < PARAM_FPR_COUNT)
-+                dp->val.f  = (double)fprData[iCount++];
-+             else
-+                dp->val.f  = *((double*)ap++);
-+             break;
-+
-+        case nsXPTType::T_DOUBLE:
-+              if (iCount < PARAM_FPR_COUNT)
-+                 dp->val.d  = (double)fprData[iCount++];
-+              else
-+                 dp->val.d  = *((double*)ap++);
-+              break;
-+
-+        case nsXPTType::T_BOOL:
-+           if (iCount < PARAM_GPR_COUNT)
-+              dp->val.b  = (PRBool)gprData[iCount++];
-+           else
-+              dp->val.b  = (PRBool)*ap++;
-+           break;
-+
-+        case nsXPTType::T_CHAR:
-+           if (iCount < PARAM_GPR_COUNT)
-+              dp->val.c  = (char)gprData[iCount++];
-+           else
-+              dp->val.c  = (char)*ap++;
-+           break;
-+
-+        case nsXPTType::T_WCHAR:
-+           if (iCount < PARAM_GPR_COUNT)
-+              dp->val.wc  = (wchar_t)gprData[iCount++];
-+           else
-+              dp->val.wc  = (wchar_t)*ap++;
-+           break;
-+
-+        default:
-+            NS_ASSERTION(0, "bad type");
-+            break;
-+        }
-+    }
-+
-+    result = self->mOuter->CallMethod((PRUint16)methodIndex, info, dispatchParams);
-+
-+    if(dispatchParams != paramBuffer)
-+        delete [] dispatchParams;
-+
-+    return result;
-+}
-+
-+#define STUB_ENTRY(n)		/* defined in the assembly file */
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+    NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+    return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
--- 
-1.6.2
-
diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix
index 7e181669cd1..ef2c69422b6 100644
--- a/pkgs/applications/networking/browsers/icecat-3/default.nix
+++ b/pkgs/applications/networking/browsers/icecat-3/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation {
     '';
 
     homepage = http://www.gnu.org/software/gnuzilla/;
-    licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
+    license = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;
@@ -114,5 +114,6 @@ stdenv.mkDerivation {
   passthru = {
     inherit gtk version;
     isFirefox3Like = true;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/kwebkitpart/default.nix b/pkgs/applications/networking/browsers/kwebkitpart/default.nix
index e9babf787bd..5ced048fe64 100644
--- a/pkgs/applications/networking/browsers/kwebkitpart/default.nix
+++ b/pkgs/applications/networking/browsers/kwebkitpart/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchgit, kdelibs }:
 
 stdenv.mkDerivation rec {
-  name = "kwebkitpart-1.3.2";
+  name = "kwebkitpart-${version}";
+  version = "1.3.3";
 
   src = fetchgit {
     url = git://anongit.kde.org/kwebkitpart;
-    rev = "292f32fda933b2ead5a61ff1ec457f839fad5c85";
-    sha256 = "1b2jar9b1yb3gy9fnq8dn2n4z8lffb6pfrj9jc4rjzv5b3rwh1ak";
+    rev = "refs/tags/v${version}";
+    sha256 = "0kszffgg3zpf319lmzlmdba5gq8kdr5xwb69xwy4s2abc9nvwvbi";
   };
 
   buildInputs = [ kdelibs ];
diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix
index 7efdf7ed015..9b9d9ab6db1 100644
--- a/pkgs/applications/networking/browsers/links2/default.nix
+++ b/pkgs/applications/networking/browsers/links2/default.nix
@@ -8,12 +8,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.5";
+  version = "2.8";
   name = "links2-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/download/links-${version}.tar.bz2";
-    sha256 = "1wlmj8s6bxgznh0pnawihyvhffzryciz3lkagcxhf7fp64zz5izm";
+    sha256 = "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix
index 63760c94426..74c9574c7d6 100644
--- a/pkgs/applications/networking/browsers/lynx/default.nix
+++ b/pkgs/applications/networking/browsers/lynx/default.nix
@@ -5,16 +5,16 @@
 assert sslSupport -> openssl != null;
 
 stdenv.mkDerivation {
-  name = "lynx-2.8.7";
+  name = "lynx-2.8.8";
   
   src = fetchurl {
-    url = http://lynx.isc.org/lynx2.8.7/lynx2.8.7.tar.bz2;
-    sha256 = "1baxwpdvak6nalr943g22z67r1d3fbibbkqvkvvar9xlvrs9gv20";
+    url = http://lynx.isc.org/lynx2.8.8/lynx2.8.8.tar.bz2;
+    sha256 = "1rxysl08acqll5b87368f04kckl8sggy1qhnq59gsxyny1ffg039";
   };
   
-  configureFlags = if sslSupport then "--with-ssl" else "";
+  configureFlags = if sslSupport then "--with-ssl=${openssl}" else "";
   
-  buildInputs = [ ncurses gzip ] ++ stdenv.lib.optional sslSupport openssl;
+  buildInputs = [ ncurses gzip ];
   nativeBuildInputs = [ ncurses ];
 
   crossAttrs = {
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index e39e377147a..11a17709ade 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -1,51 +1,42 @@
-args :  
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-  doPatchShebangs = args.doPatchShebangs;
-  makeManyWrappers = args.makeManyWrappers;
+{ stdenv, fetchurl, cmake, pkgconfig, intltool, vala, makeWrapper
+, gtk3, webkitgtk, librsvg, libnotify
+, glib_networking, gsettings_desktop_schemas
+}:
 
-  version = "0.4"; 
-  release = "4";
-  buildInputs = with args; [
-    intltool python imagemagick gtk3 glib webkit libxml2 
-    gtksourceview pkgconfig which gettext makeWrapper 
-    file libidn sqlite docutils libnotify libsoup vala
-    kbproto xproto scrnsaverproto libXScrnSaver dbus_glib
-    glib_networking
-  ];
+let
+  version = "0.5.8";
 in
-rec {
+stdenv.mkDerivation rec {
+  name = "midori-${version}";
+
+  meta = {
+    description = "Lightweight WebKitGTK+ web browser";
+    homepage = "http://www.midori-browser.org";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ raskin iyzsong ];
+  };
+
   src = fetchurl {
-    url = "http://archive.xfce.org/src/apps/midori/${version}/midori-${version}.${release}.tar.bz2";
-    sha256 = "fadd43f76c1c9f6a16483e60a804e58fb6817c6a595b1acdd59bcbdd7b35bca2";
+    url = "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2";
+    sha256 = "10ckm98rfqfbwr84b8mc1ssgj84wjgkr4dadvx2l7c64sigi66dg";
   };
 
-  inherit buildInputs;
-  configureFlags = ["--enable-gtk3"];
+  sourceRoot = ".";
 
-  /* doConfigure should be specified separately */
-  phaseNames = ["doUnpack" "setVars" "shebangsHere" "doConfigure" 
-    "doMakeInstall" "shebangsInstalled" "wrapWK"
-    ];
+  buildInputs = [
+    cmake pkgconfig intltool vala makeWrapper
+    webkitgtk librsvg libnotify
+  ];
 
-  setVars = args.fullDepEntry ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lnotify"
-  '' [];
-      
-  shebangsHere = (doPatchShebangs ".");
-  shebangsInstalled = (doPatchShebangs "$out/bin");
-  wrapWK = (makeManyWrappers "$out/bin/*" 
-  ''
-    --set WEBKIT_IGNORE_SSL_ERRORS 1 \
-    --prefix GIO_EXTRA_MODULES : "${args.glib_networking}/lib/gio/modules" 
-  '');
+  cmakeFlags = ''
+    -DHALF_BRO_INCOM_WEBKIT2=ON
+    -DUSE_ZEITGEIST=OFF
+  '';
 
-  name = "midori-${version}.${release}";
-  meta = {
-    description = "Light WebKit-based web browser with GTK GUI";
-    maintainers = [args.lib.maintainers.raskin];
-    platforms = with args.lib.platforms;
-      linux;
-  };
+  preFixup = ''
+    wrapProgram $out/bin/midori \
+      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 0363176257f..d39dfe3582e 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -35,6 +35,8 @@
 }:
 
 let
+  # -> http://get.adobe.com/flashplayer/
+  version = "11.2.202.394";
 
   src =
     if stdenv.system == "x86_64-linux" then
@@ -43,10 +45,9 @@ let
         # http://labs.adobe.com/technologies/flashplayer10/faq.html
         throw "no x86_64 debugging version available"
       else rec {
-        # -> http://labs.adobe.com/downloads/flashplayer10.html
-        version = "11.2.202.297";
+        inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "0jfigq56p6zp61pmc4jl12p8gv2jhfmim18j1b30iikw3iv26lh8";
+        sha256 = "1w82kmda91xdsrqpkrbcbrzswnbfszy0x9hvf9wf2h14isimdknx";
       }
     else if stdenv.system == "i686-linux" then
       if debug then {
@@ -55,9 +56,9 @@ let
         url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
         sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
       } else rec {
-        version = "11.2.202.297";
+        inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "0mpj25b2ar7gccqmw5lffdzlr3yyfalphpgwnl18s05wy1fx484y";
+        sha256 = "0c8wp4qn6k224krihxb08g7727wlklk9bl4h7nqp3cpp85x9hg97";
       }
     else throw "Flash Player is not supported on this platform";
 
@@ -87,5 +88,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Adobe Flash Player browser plugin";
     homepage = http://www.adobe.com/products/flashplayer/;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
index 7422654ec98..8cda5ad5762 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk3, gettext, intltool }:
+{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk2, gettext, intltool }:
 
 let version = "1.0.2"; in
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "d7cd9adf04fedf50b266a5c14ddb427cbb263d3bc160ee0ade03aca9d5356e5c";
   };
 
-  buildInputs = [ pkgconfig openssl libX11 gtk3 glib gettext intltool ];
+  buildInputs = [ pkgconfig openssl libX11 gtk2 glib gettext intltool ];
   patches = [
     ./translation-xgettext-to-intltool.patch
     ./plugin-linkfix.patch
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A browser plugin to manage Swedish BankID:s";
     homepage = http://fribid.se;
-    licenses = [ "GPLv2" "MPLv1" ];
+    license = [ "GPLv2" "MPLv1" ];
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix
index 44f191e54f1..05e3a8bf613 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "913fd39e70c564cb210c2544a88869f9d1a448184421f000b14b2bc5ba718b49";
   };
 
-  buildInputs = [ pkgconfig glib dbus dbus_glib browser x11 GConf browser.xulrunner gmtk ];
+  buildInputs = [ pkgconfig glib dbus dbus_glib browser x11 GConf browser gmtk ];
 
   # !!! fix this
   preBuild =
     ''
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser.xulrunner}/include/xulrunner-*) -I${browser.nspr}/include/nspr"
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser}/include/xulrunner-*) -I${browser.nspr}/include/nspr"
       echo $NIX_CFLAGS_COMPILE
     '';
 
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A browser plugin that uses GNOME MPlayer to play media in a browser";
     homepage = http://kdekorte.googlepages.com/gecko-mediaplayer;
+    broken = true;
   };
 }
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix
index 6ccab87ebe7..66309dc7f19 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk, GConf, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "gmtk-1.0.5";
+  name = "gmtk-1.0.8";
 
   src = fetchurl {
     url = "http://gmtk.googlecode.com/files/${name}.tar.gz";
-    sha256 = "a07130d62719e8c1244f8405dd97445798df5204fc0f3f2f2b669b125114b468";
+    sha256 = "034b02nplb2bp01yn4p19345jh3yibhn4lcxznrzcsmsyj2vlzq0";
   };
 
   buildInputs = [ intltool pkgconfig gtk GConf alsaLib ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index 4f7d3feb8ad..afe0600d6f7 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
@@ -45,20 +45,22 @@ in
 
 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 = "4.2.1.0";
+
+  # You can get the upstream version and SHA-1 hash from the following URLs:
+  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages
+  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages
+  version = "5.1.5.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha256 = "1g7kpz2lzzz1gri5rd3isp7cfyls6gzwcw2kc8jgrgrixq9iixfd";
+        sha1 = "fc830f4c7f5816f4578ec73e6d4aef059ad4a0b1";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha256 = "1z0zbblzlky9nyifxmnl49v4zafpqp3l08b9v1486sinm35rf58r";
+        sha1 = "9b7043c3585b3479ba11aabb7b8af755a61df963";
       }
     else throw "Google Talk does not support your platform.";
 
@@ -107,7 +109,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.google.com/chat/video/;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix
index 6ee1735f76c..5b6b2176d47 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A browser plugin that uses mplayer to play digital media from websites";
     homepage = http://mplayerplug-in.sourceforge.net/;
-    licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
+    license = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix
index 7cb1abf3153..51511621dce 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [which pkgconfig file glib gtk2 gtk3 curl];
 
+  preferLocalBuild = true;
+
   meta = {
     description = ''A wrapper to run browser plugins out-of-process'';
     homepage = "http://nspluginwrapper.org/";
diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix
index cf01a3c6d5f..07184bfd9f2 100644
--- a/pkgs/applications/networking/browsers/netsurf/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/default.nix
@@ -42,7 +42,7 @@ rec {
     meta = { 
       description = "HTML5 compliant parsing library, written in C";
       homepage = http://www.netsurf-browser.org/projects/hubbub/;
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
       maintainers = [lib.maintainers.marcweber];
       platforms = lib.platforms.linux;
     };
@@ -63,7 +63,7 @@ rec {
     meta = { 
       description = "implementation of the W3C DOM, written in C";
       homepage = http://www.netsurf-browser.org/projects/hubbub/;
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
       maintainers = [lib.maintainers.marcweber];
       platforms = lib.platforms.linux;
     };
diff --git a/pkgs/applications/networking/browsers/netsurf/haru.nix b/pkgs/applications/networking/browsers/netsurf/haru.nix
index 883cf94b06f..47f0c2f6455 100644
--- a/pkgs/applications/networking/browsers/netsurf/haru.nix
+++ b/pkgs/applications/networking/browsers/netsurf/haru.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
     license = "ZLIB/LIBPNG"; # see README.
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libCSS.nix b/pkgs/applications/networking/browsers/netsurf/libCSS.nix
index 7ad39ee4ec9..ede053aeca3 100644
--- a/pkgs/applications/networking/browsers/netsurf/libCSS.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libCSS.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "libCSS is a CSS parser and selection engine, written in C"; # used by netsurf
     homepage = http://www.netsurf-browser.org/projects/libcss/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
   };
diff --git a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
index 8ee8518c531..32bede76e43 100644
--- a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation {
   meta = { 
     description = "LibParserUtils is a library for building efficient parsers, written in C";
     homepage = http://www.netsurf-browser.org/projects/libparserutils/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
index 462d532cb9c..d370002543c 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation {
   meta = { 
     description = "Libnsbmp is a decoding library for BMP and ICO image file formats"; # used by netsurf
     homepage = http://www.netsurf-browser.org/projects/libnsbmp/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 63ae2ef86d4..a4502d2354d 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation {
   meta = {
     description = "Libnsbmp is a decoding library for gif image file formats"; # used by netsurf
     homepage = http://www.netsurf-browser.org/projects/libnsgif/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
index a90e6fa193c..300e9965092 100644
--- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "implementation of SVG Tiny, written in C";
     homepage = http://www.netsurf-browser.org/projects/libsvgtiny/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
   };
diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
index c4e4a60fbd6..8d19d1c1ef2 100644
--- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "LibWapcaplet is a string internment library, written in C";
     homepage = http://www.netsurf-browser.org/projects/libwapcaplet/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
   };
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index c8542ad7a52..3deabd42e01 100644
--- a/pkgs/applications/networking/browsers/rekonq/default.nix
+++ b/pkgs/applications/networking/browsers/rekonq/default.nix
@@ -3,11 +3,11 @@
 assert builtins.compareVersions "4.8.3" kde4.release != 1; # https://bugs.kde.org/show_bug.cgi?id=306077
 
 stdenv.mkDerivation rec {
-  name = "rekonq-1.70"; # >=1.80 need kde >=4.9.0
+  name = "rekonq-1.80"; # >=1.80 need kde >=4.9.0
 
   src = fetchurl {
     url = "mirror://sourceforge/rekonq/${name}.tar.bz2";
-    sha256 = "05zqm329vajsn32l5b5nlbw92gl3irdcx8kifr4y921i9bkzigad";
+    sha256 = "1lzmg8psy1j1v8vrmsyw609jv9scgnigdivx97fb4spb7x6sxn4g";
   };
 
   buildInputs = [ kde4.kdelibs qca2 qoauth ];
diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix
index 4c6458d909f..318b9576392 100644
--- a/pkgs/applications/networking/browsers/uzbl/default.nix
+++ b/pkgs/applications/networking/browsers/uzbl/default.nix
@@ -1,45 +1,39 @@
-a :  
-let 
-  fetchgit = a.fetchgit;
+{ stdenv, fetchurl, pkgconfig, python, makeWrapper, pygtk
+, webkit, glib_networking, gsettings_desktop_schemas
+}:
 
-  buildInputs = with a; [
-    libsoup pkgconfig webkit gtk makeWrapper
-    kbproto glib pango cairo gdk_pixbuf atk
-    python3
-  ];
-in
-rec {
-  src = fetchgit {
-    url = "https://github.com/Dieterbe/uzbl.git";
-    rev = "refs/tags/2012.05.14";
-    sha256 = "1crvikb0qqsx5qb003i4w7ywh72psl37gjslrj5hx2fd2f215l0l";
-  };
+stdenv.mkDerivation rec {
+  name = "uzbl-20120514";
 
-  name = "uzbl-git";
+  meta = with stdenv.lib; {
+    description = "Tiny externally controllable webkit browser";
+    homepage    = "http://uzbl.org/";
+    license     = licenses.gpl3;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ raskin ];
+  };
 
-  inherit buildInputs;
-  configureFlags = [];
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz";
+    sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["addInputs" "setVars" "doMakeInstall" "doWrap"];
+  preConfigure = ''
+    makeFlags="$makeFlags PREFIX=$out"
+    makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out"
+  '';
 
-  setVars = a.noDepEntry (''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11"
-  '');
+  preFixup = ''
+    for f in $out/bin/*; do
+      wrapProgram $f \
+        --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+        --prefix PYTHONPATH : "$PYTHONPATH" \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
+    done
+  '';
 
-  doWrap = a.makeManyWrappers "$out/bin/uzbl-core" 
-    ''
-      --prefix GST_PLUGIN_PATH : ${a.webkit.gstreamer}/lib/gstreamer-* \
-      --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_base}/lib/gstreamer-* \
-      --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_good}/lib/gstreamer-* \
-      --prefix GST_PLUGIN_PATH : ${a.webkit.gst_ffmpeg}/lib/gstreamer-* \
-      --prefix GIO_EXTRA_MODULES : ${a.glib_networking}/lib/gio/modules
-    '';
+  nativeBuildInputs = [ pkgconfig python makeWrapper ];
 
-  installFlags = "PREFIX=$out PYINSTALL_EXTRA=\"--prefix=$out\"";
-      
-  meta = {
-    description = "Tiny externally controllable webkit browser";
-    maintainers = [a.lib.maintainers.raskin];
-  };
+  buildInputs = [ gsettings_desktop_schemas webkit pygtk ];
 }
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
new file mode 100644
index 00000000000..7c5b983f1b4
--- /dev/null
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk, glib_networking
+, gsettings_desktop_schemas, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  name = "vimb-${version}";
+  version = "2.6";
+
+  src = fetchurl {
+    url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
+    sha256 = "1g6zm5fk3k52jk3vbbzj7rm0kanykd4zgxrqhlvj3qzj2nsn4a21";
+  };
+
+  # Nixos default ca bundle
+  patchPhase = ''
+    sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, src/setting.c
+  '';
+
+  buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/vimb" \
+      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = {
+    description = "A Vim-like browser";
+    longDescription = ''
+      A fast and lightweight vim like web browser based on the webkit web
+      browser engine and the GTK toolkit. Vimb is modal like the great vim
+      editor and also easily configurable during runtime. Vimb is mostly
+      keyboard driven and does not detract you from your daily work.
+    '';
+    homepage = "http://fanglingsu.github.io/vimb/";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix
index ee8e4b8434a..8e1e00795d2 100644
--- a/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix
@@ -2,25 +2,28 @@
   pkgconfig, webkit, gsettings_desktop_schemas }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.4.2";
   name = "vimprobable2-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/vimprobable/vimprobable2_${version}.tar.bz2";
-    sha256 = "19zx1k3s2gnhzzd2wpyqsk151w9p52ifl64xaz9a6qkgvrxlli8p";
+    sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr";
   };
 
   # Nixos default ca bundle
   patchPhase = ''
-    sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ca-bundle.crt, config.h
+    sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, config.h
   '';
 
-  buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit ];
+  buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit gsettings_desktop_schemas ];
 
   installPhase = ''
     make PREFIX=/ DESTDIR=$out install
+  '';
+
+  preFixup = ''
     wrapProgram "$out/bin/vimprobable2" \
       --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share"
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index 5953111fad5..5f046f7b732 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -39,8 +39,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://w3m.sourceforge.net/;
     description = "A text-mode web browser";
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index ef2f16e3193..f6e86c6289c 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "hadoop-2.0.2-alpha";
+  name = "hadoop-2.2.0";
 
   src = fetchurl {
     url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz";
-    sha256 = "1r7ailmqhny3pl5nb8bcblnhckszy6hb9n58kwa3s4b8qfk87gkb";
+    sha256 = "0r0kx8arsrvmcfy0693hpv4cz3i0razvk1xa3yhlf3ybb80a8106";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/mesos/darwin.patch b/pkgs/applications/networking/cluster/mesos/darwin.patch
new file mode 100644
index 00000000000..118129f1723
--- /dev/null
+++ b/pkgs/applications/networking/cluster/mesos/darwin.patch
@@ -0,0 +1,80 @@
+diff --git a/configure.ac b/configure.ac
+index 1ebd196..a49d7d4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -463,11 +463,6 @@ __EOF__
+   fi
+ 
+   # Determine linker flags for Java if not set.
+-  if test "$OS_NAME" = "darwin"; then
+-    dir="$JAVA_HOME/jre/lib/server"
+-    JAVA_TEST_LDFLAGS="-framework JavaVM"
+-    JAVA_JVM_LIBRARY=$dir/libjvm.dylib
+-  elif test "$OS_NAME" = "linux"; then
+     for arch in amd64 i386; do
+       dir="$JAVA_HOME/jre/lib/$arch/server"
+       if test -e "$dir"; then
+@@ -477,7 +472,6 @@ __EOF__
+ 	break;
+       fi
+     done
+-  fi
+ 
+   if test -z "$JAVA_TEST_LDFLAGS"; then
+     AC_MSG_ERROR([failed to determine linker flags for using Java \
+@@ -488,26 +482,6 @@ __EOF__
+   # flags as necessary (provided JAVA_CPPFLAGS was not set).
+   AC_MSG_CHECKING([whether or not we can build with JNI])
+   if test -z "$JAVA_CPPFLAGS"; then
+-    if test "$OS_NAME" = "darwin"; then
+-      while true; do # Loop until sucessful (via break) or exhausted options.
+-        m4_foreach([java_cppflags],
+-                   [["-I$JAVA_HOME/include -I$JAVA_HOME/include/$OS_NAME"],
+-                    ["-I/System/Library/Frameworks/JavaVM.framework/Headers"]],
+-                   [JAVA_CPPFLAGS=java_cppflags
+-                    TRY_LINK_JNI([break])])
+-        # Exhausted options.
+-        AC_MSG_ERROR([failed to build with JNI
+-  -------------------------------------------------------------------
+-  It appears we were unable to compile against the JNI. This is most
+-  likely due to one of the following issues:
+-    1. You do not have a JDK installed on your system.
+-    2. All JDKs installed on your system have deprecated JNI headers.
+-  It is advised to install OpenJDK on your system, as the JDK that
+-  ships with OS X has deprecated JNI headers.
+-  -------------------------------------------------------------------
+-        ])
+-      done
+-    else
+       while true; do # Loop until sucessful (via break) or exhausted options.
+         m4_foreach([java_cppflags],
+                    [["-I$JAVA_HOME/include -I$JAVA_HOME/include/$OS_NAME"]],
+@@ -516,7 +490,6 @@ __EOF__
+         # Exhausted options.
+         AC_MSG_ERROR([failed to build with JNI])
+       done
+-    fi
+   else
+     TRY_LINK_JNI([], [AC_MSG_ERROR([failed to build with JNI])])
+   fi
+@@ -760,20 +733,6 @@ libcurl is required for mesos to build.
+ if test "x$with_cxx11" = "xyes"; then
+   AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
+ 
+-  case "$host_os" in
+-  darwin* )
+-    # If we're using clang, we need to pass -stdlib=libc++ too.
+-    if test "x$CLANG" = "xyes"; then
+-      CXXFLAGS="$CXXFLAGS -stdlib=libc++"
+-    fi
+-
+-    # GTEST on OSX needs its own tr1 tuple.
+-    # TODO(dhamon): Update to gmock 1.7 and pass GTEST_LANG_CXX11 when in
+-    # c++11 mode.
+-    CXXFLAGS="$CXXFLAGS -DGTEST_USE_OWN_TR1_TUPLE=1"
+-    ;;
+-  esac
+-
+   # Also pass the flags to 3rdparty libraries.
+   CONFIGURE_ARGS="$CONFIGURE_ARGS CXXFLAGS='$CXXFLAGS'"
+ fi
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
new file mode 100644
index 00000000000..4329308ba04
--- /dev/null
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -0,0 +1,107 @@
+{ stdenv, lib, makeWrapper, fetchurl, fetchzip, curl, sasl, openssh, autoconf
+, automake, libtool, unzip, gnutar, jdk, maven, python, wrapPython
+, setuptools, distutils-cfg, boto, pythonProtobuf
+}:
+
+let version = "0.19.1";
+in stdenv.mkDerivation {
+  dontDisableStatic = true;
+
+  name = "mesos-${version}";
+
+  src = fetchurl {
+    url = "http://www.apache.org/dist/mesos/${version}/mesos-${version}.tar.gz";
+    sha256 = "12li5xqfcw3124qg3h2cji3yhrc7gbx91lj45zfliicwgjkbmyf1";
+  };
+
+  patches = [ ./darwin.patch ];
+
+  buildInputs = [
+    makeWrapper autoconf automake libtool curl sasl jdk maven
+    python wrapPython boto distutils-cfg
+  ];
+
+  propagatedBuildInputs = [
+    pythonProtobuf
+  ];
+
+  mavenRepo = import ./mesos-deps.nix { inherit stdenv curl; };
+
+  preConfigure = ''
+    export MAVEN_OPTS="-Dmaven.repo.local=$(pwd)/.m2"
+    ln -s $mavenRepo .m2
+
+    substituteInPlace src/launcher/fetcher.cpp \
+      --replace '"tar' '"${gnutar}/bin/tar'    \
+      --replace '"unzip' '"${unzip}/bin/unzip'
+
+    substituteInPlace src/cli/mesos-scp        \
+      --replace "'scp " "'${openssh}/bin/scp "
+  '';
+
+  configureFlags = [
+    "--sbindir=\${out}/bin"
+    "--with-python-headers=${python}/include"
+    "--with-webui"
+    "--with-java-home=${jdk}"
+    "--with-java-headers=${jdk}/include"
+    "--with-included-zookeeper"
+  ];
+
+  postInstall = ''
+    rm -rf $out/var
+    rm $out/bin/*.sh
+
+    ensureDir $out/share/java
+    cp src/java/target/mesos-*.jar $out/share/java
+
+    shopt -s extglob
+    MESOS_NATIVE_JAVA_LIBRARY=$(echo $out/lib/libmesos.*(so|dylib))
+    shopt -u extglob
+
+    ensureDir $out/nix-support
+    touch $out/nix-support/setup-hook
+    echo "export MESOS_NATIVE_JAVA_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
+    echo "export MESOS_NATIVE_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
+
+    # Inspired by: pkgs/development/python-modules/generic/default.nix
+    ensureDir "$out/lib/${python.libPrefix}"/site-packages
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    ${python}/bin/${python.executable} src/python/setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --old-and-unmanageable \
+      --prefix="$out"
+    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+  '';
+
+  postFixup = ''
+    if test -e $out/nix-support/propagated-build-inputs; then
+      ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+        createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+
+    # wrap the python programs
+    declare -A pythonPathsSeen=()
+    program_PYTHONPATH="$out/libexec/mesos/python"
+    program_PATH=""
+    _addToPythonPath "$out"
+    for prog in mesos-cat mesos-ps mesos-scp mesos-tail; do
+      wrapProgram "$out/bin/$prog" \
+        --prefix PYTHONPATH ":" $program_PYTHONPATH
+      true
+    done
+  '';
+
+  meta = with lib; {
+    homepage    = "http://mesos.apache.org";
+    license     = licenses.asl20;
+    description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
new file mode 100644
index 00000000000..c58c9f2e3d6
--- /dev/null
+++ b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
@@ -0,0 +1,1242 @@
+source $stdenv/setup
+header "fetching Apache Mesos maven repo"
+
+function fetchArtifact {
+  repoPath="$1"
+  url="http://repo.maven.apache.org/maven2/$repoPath"
+  mkdir -p $(dirname $out/$repoPath)
+  curl --fail --location --insecure --retry 3 --max-redirs 20 "$url" --output "$out/$repoPath"
+}
+
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1
+fetchArtifact asm/asm/3.2/asm-3.2.pom
+fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1
+fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom
+fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom
+fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
+fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom
+fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1
+fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
+fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
+fetchArtifact com/google/google/1/google-1.pom
+fetchArtifact com/google/google/1/google-1.pom.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
+fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
+fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar.sha1
+fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom
+fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar
+fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom
+fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom
+fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1
+fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
+fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1
+fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
+fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
+fetchArtifact junit/junit/4.10/junit-4.10.pom
+fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom.sha1
+fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom
+fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1
+fetchArtifact org/apache/apache/10/apache-10.pom
+fetchArtifact org/apache/apache/10/apache-10.pom.sha1
+fetchArtifact org/apache/apache/11/apache-11.pom
+fetchArtifact org/apache/apache/11/apache-11.pom.sha1
+fetchArtifact org/apache/apache/13/apache-13.pom
+fetchArtifact org/apache/apache/13/apache-13.pom.sha1
+fetchArtifact org/apache/apache/2/apache-2.pom
+fetchArtifact org/apache/apache/2/apache-2.pom.sha1
+fetchArtifact org/apache/apache/3/apache-3.pom
+fetchArtifact org/apache/apache/3/apache-3.pom.sha1
+fetchArtifact org/apache/apache/4/apache-4.pom
+fetchArtifact org/apache/apache/4/apache-4.pom.sha1
+fetchArtifact org/apache/apache/5/apache-5.pom
+fetchArtifact org/apache/apache/5/apache-5.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom
+fetchArtifact org/apache/apache/6/apache-6.pom.sha1
+fetchArtifact org/apache/apache/7/apache-7.pom
+fetchArtifact org/apache/apache/7/apache-7.pom.sha1
+fetchArtifact org/apache/apache/9/apache-9.pom
+fetchArtifact org/apache/apache/9/apache-9.pom.sha1
+fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar
+fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1
+fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom
+fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom
+fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1
+fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom
+fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom
+fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom
+fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom
+fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
+fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom
+fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom
+fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar
+fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom
+fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar
+fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom.sha1
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom
+fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1
+fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
+fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
+fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom.sha1
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
+fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom
+fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom.sha1
+fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom
+fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom
+fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom
+fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom
+fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom
+fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom.sha1
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1
+fetchArtifact velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+
+stopNest
diff --git a/pkgs/applications/networking/cluster/mesos/mesos-deps.nix b/pkgs/applications/networking/cluster/mesos/mesos-deps.nix
new file mode 100644
index 00000000000..7f60dab2def
--- /dev/null
+++ b/pkgs/applications/networking/cluster/mesos/mesos-deps.nix
@@ -0,0 +1,18 @@
+{stdenv, curl}:
+
+stdenv.mkDerivation {
+  name = "mesos-maven-deps";
+  builder = ./fetch-mesos-deps.sh;
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "03qjq481ly5ajynlr9iqvrjra5fvv2jz4wp2f3in5vnxa61inrrk";
+
+  buildInputs = [ curl ];
+
+  # We borrow these environment variables from the caller to allow
+  # easy proxy configuration.  This is impure, but a fixed-output
+  # derivation like fetchurl is allowed to do so since its result is
+  # by definition pure.
+  impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
+}
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
new file mode 100644
index 00000000000..1e9fe918a2e
--- /dev/null
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -0,0 +1,128 @@
+{ stdenv, fetchurl, jre, bash, simpleBuildTool, python27Packages }:
+
+stdenv.mkDerivation rec {
+  name    = "spark-${version}";
+  version = "0.9.1";
+
+  src = fetchurl {
+    url    = "http://d3kbcqa49mib13.cloudfront.net/${name}-bin-cdh4.tgz";
+    sha256 = "1k3954srx3km3ckmfi6wn8rldrljxc039g0pf5m3azgkmaz0gld5";
+  };
+
+  unpackPhase = ''tar zxf $src'';
+
+  untarDir = "${name}-bin-cdh4";
+  installPhase = ''
+    set -x
+    mkdir -p $out/lib $out/bin
+    mv ${untarDir} $out/lib
+
+    cat > $out/bin/spark-class <<EOF
+    #!${bash}/bin/bash
+    export JAVA_HOME=${jre}
+    export SPARK_HOME=$out/lib/${untarDir}
+
+    if [ -z "\$1" ]; then
+      echo "Usage: spark-class <class> [<args>]" >&2
+      exit 1
+    fi
+
+    export SPARK_MEM=\''${SPARK_MEM:-1024m}
+
+    JAVA_OPTS=""
+    JAVA_OPTS="\$JAVA_OPTS -Djava.library.path=\"\$SPARK_LIBRARY_PATH\""
+    JAVA_OPTS="\$JAVA_OPTS -Xms\$SPARK_MEM -Xmx\$SPARK_MEM"
+    export JAVA_OPTS
+
+    CLASSPATH=\`$out/lib/${untarDir}/bin/compute-classpath.sh\`
+    export CLASSPATH
+
+    exec ${jre}/bin/java -cp "\$CLASSPATH" \$JAVA_OPTS "\$@"
+    EOF
+    chmod +x $out/bin/spark-class
+
+    cat > $out/bin/spark-shell <<EOF
+    #!${bash}/bin/bash
+    set -o posix
+    export JAVA_HOME=${jre}
+    export SPARK_HOME=$out/lib/${untarDir}
+    for o in "\$@"; do
+      if [ "\$1" = "-c" -o "\$1" = "--cores" ]; then
+        shift
+        if [ -n "\$1" ]; then
+          OPTIONS="-Dspark.cores.max=\$1"
+          shift
+        fi
+      fi
+    done
+
+    exit_status=127
+    saved_stty=""
+
+    function restoreSttySettings() {
+      stty \$saved_stty
+      saved_stty=""
+    }
+
+    function onExit() {
+      if [[ "\$saved_stty" != "" ]]; then
+        restoreSttySettings
+      fi
+      exit \$exit_status
+    }
+
+    trap onExit INT
+
+    saved_stty=\$(stty -g 2>/dev/null)
+    if [[ ! \$? ]]; then
+      saved_stty=""
+    fi
+
+    $out/bin/spark-class \$OPTIONS org.apache.spark.repl.Main "\$@"
+
+    exit_status=\$?
+    onExit
+    EOF
+    chmod +x $out/bin/spark-shell
+
+    cat > $out/bin/pyspark <<EOF
+    #!${bash}/bin/bash
+    export JAVA_HOME=${jre}
+    export SPARK_HOME=$out/lib/${untarDir}
+    export PYTHONPATH=$out/lib/${untarDir}/python:\$PYTHONPATH
+    export OLD_PYTHONSTARTUP=\$PYTHONSTARTUP
+    export PYTHONSTARTUP=$out/lib/${untarDir}/python/pyspark/shell.py
+    export SPARK_MEM=\''${SPARK_MEM:-1024m}
+    exec ${python27Packages.ipythonLight}/bin/ipython \$@
+    EOF
+    chmod +x $out/bin/pyspark
+
+    cat > $out/bin/spark-upload-scala <<EOF
+    #!${bash}/bin/bash
+    export JAVA_HOME=${jre}
+    export SPARK_HOME=$out/lib/${untarDir}
+    export SPARK_MEM=\''${SPARK_MEM:-1024m}
+
+    CLASS=\$1; shift
+    exec ${simpleBuildTool}/bin/sbt package "run-main \$CLASS \$@"
+    EOF
+    chmod +x $out/bin/spark-upload-scala
+
+    cat > $out/bin/spark-upload-python <<EOF
+    #!${bash}/bin/bash
+    exec $out/bin/pyspark \$@
+    EOF
+    chmod +x $out/bin/spark-upload-python
+  '';
+
+  phases = "unpackPhase installPhase";
+
+  meta = {
+    description      = "Lightning-fast cluster computing";
+    homepage         = "http://spark.apache.org";
+    license          = stdenv.lib.licenses.asl20;
+    platforms        = stdenv.lib.platforms.all;
+    maintainers      = [ stdenv.lib.maintainers.thoughtpolice ];
+    repositories.git = git://git.apache.org/spark.git;
+  };
+}
diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix
new file mode 100644
index 00000000000..3639f50c439
--- /dev/null
+++ b/pkgs/applications/networking/davmail/default.nix
@@ -0,0 +1,25 @@
+{ fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "davmail-4.5.0";
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/davmail/davmail/4.5.0/davmail-linux-x86_64-4.5.0-2292.tgz";
+    sha256 = "0ixg26s8535b4xf4i8jr0v3acwvaslmi2dvcxg2nmzkicvh6rfd4";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  meta = {
+    description = "A Java application which presents a Microsoft Exchange server as local CALDAV, IMAP and SMTP servers";
+    maintainers = [ stdenv.lib.maintainers.hinton ];
+    platforms = stdenv.lib.platforms.all;
+    homepage = "http://davmail.sourceforce.net/";
+    license = stdenv.lib.licenses.gpl2;
+  };
+
+  installPhase = ''
+  mkdir -p $out/bin
+  cp ./* $out/bin/ -R
+  wrapProgram $out/bin/davmail.sh --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
+   '';
+}
diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox-cli/default.nix
index 194b7d92c40..51f3ae2ac8d 100644
--- a/pkgs/applications/networking/dropbox-cli/default.nix
+++ b/pkgs/applications/networking/dropbox-cli/default.nix
@@ -1,31 +1,30 @@
-{ stdenv, coreutils, fetchurl, python, dropbox }:
-
+{ stdenv, pkgconfig, fetchurl, python, dropbox }:
+let
+  version = "1.6.2";
+in
 stdenv.mkDerivation {
-  # 1.6.0 because it's the only version mentioned in the script
-  name = "dropbox-cli-1.6.0";
+  name = "dropbox-cli-${version}";
 
   src = fetchurl {
-    # Note: dropbox doesn't version this file. Annoying.
-    url = "https://linux.dropbox.com/packages/dropbox.py";
-    sha256 = "0p1pg8bw6mlhqi5k8y3pgs7byg0kfvq57s53sh188lb5sxvlg7yz";
+    url = "https://linux.dropbox.com/packages/nautilus-dropbox-${version}.tar.bz2";
+    sha256 = "1r1kqvnf5a0skby6rr8bmxg128z97fz4gb1n7zlc1vyhqw4k3mb3";
   };
 
-  buildInputs = [ coreutils python ];
+  buildInputs = [ pkgconfig python ];
 
-  phases = "installPhase fixupPhase";
+  phases = "unpackPhase installPhase";
 
   installPhase = ''
-    mkdir -pv $out/bin/
-    cp $src $out/bin/dropbox-cli
-  '';
-
-  fixupPhase = ''
-    substituteInPlace $out/bin/dropbox-cli \
-      --replace "/usr/bin/python" ${python}/bin/python \
-      --replace "use dropbox help" "use dropbox-cli help" \
-      --replace "~/.dropbox-dist/dropboxd" ${dropbox}/bin/dropbox
-
-    chmod +x $out/bin/dropbox-cli
+    mkdir -p "$out/bin/" "$out/share/applications"
+    cp data/dropbox.desktop "$out/share/applications"
+    substitute "dropbox.in" "$out/bin/dropbox" \
+      --replace '@PACKAGE_VERSION@' ${version} \
+      --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \
+      --replace '@IMAGEDATA16@' '"too-lazy-to-fix"' \
+      --replace '@IMAGEDATA64@' '"too-lazy-to-fix"'
+
+    chmod +x "$out/bin/"*
+    patchShebangs "$out/bin"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 99589a3d71b..9ddcc5629b1 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -25,9 +25,9 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
-  version = "2.4.3";
-  sha256 = if stdenv.system == "x86_64-linux" then "0g8iqgc18qbw8fvdjf0fhbal34rvwr5izrf5acfzqjg99dgih81r"
-    else if stdenv.system == "i686-linux" then "1nhmk319whj6cil6wg9hrfln9bxin3fnf6sxb0zg2ycfpnnqi0la"
+  version = "2.10.28";
+  sha256 = if stdenv.system == "x86_64-linux" then "0jrg9xy03yc7npjhng9wiyzidbq7s5n8g4fwynnm1yqfd69r3yac"
+    else if stdenv.system == "i686-linux" then "17vbikhdp5l2s8cnqmk8dln4dfzvrvgqls7av3ngf71bx3bj0fij"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
   # relative location where the dropbox libraries are stored
@@ -56,10 +56,8 @@ in stdenv.mkDerivation {
   name = "dropbox-${version}-bin";
   src = fetchurl {
     name = "dropbox-${version}.tar.gz";
-    # using version-specific URL so if the version is no longer available,
-    # build will fail without having to finish downloading first
-    # url = "http://www.dropbox.com/download?plat=lnx.${arch}";
-    url = "http://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
+    
+    url = "https://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
     inherit sha256;
   };
 
@@ -70,25 +68,23 @@ in stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir "$out/${appdir}"
-    cp -r ".dropbox-dist/"* "$out/${appdir}/"
-    ensureDir "$out/bin"
+    mkdir -p "$out/${appdir}"
+    cp -r ".dropbox-dist/dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
+    mkdir -p "$out/bin"
     ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
 
     patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
       "$out/${appdir}/dropbox"
-
+    
     RPATH=${ldpath}:${gcc.gcc}/lib:$out/${appdir}
     echo "updating rpaths to: $RPATH"
     find "$out/${appdir}" -type f -a -perm +0100 \
       -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 
-    ensureDir "$out/share/applications"
+    mkdir -p "$out/share/applications"
     cp "${desktopItem}/share/applications/"* $out/share/applications
   '';
 
-  buildInputs = [ patchelf ];
-
   meta = {
     homepage = "http://www.dropbox.com";
     description = "Online stored folders (daemon version)";
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
index 8208da621af..9fd8e7412c2 100644
--- a/pkgs/applications/networking/esniper/default.nix
+++ b/pkgs/applications/networking/esniper/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
 
 stdenv.mkDerivation {
-  name = "esniper-2.28.0";
+  name = "esniper-2.31.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/esniper/esniper-2-28-0.tgz";
-    sha256 = "c2b0ccb757616b32f2d6cf54a4a5e367405fa7bcd6e6ed11835fe4f8a06a016b";
+    url    = "mirror://sourceforge/esniper/esniper-2-31-0.tgz";
+    sha256 = "0xn6gdyr0c18khwcsi2brp49wkancrsrxxca7hvbawhbf263glih";
   };
 
-  buildInputs = [openssl curl];
+  buildInputs = [ openssl curl ];
 
   # Add support for CURL_CA_BUNDLE variable.
+  # Fix <http://sourceforge.net/p/esniper/bugs/648/>.
   patches = [ ./find-ca-bundle.patch ];
 
   postInstall = ''
@@ -19,12 +20,11 @@ stdenv.mkDerivation {
     chmod 555 "$out/bin/snipe"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Simple, lightweight tool for sniping eBay auctions";
-    homepage = "http://esnipe.rsourceforge.net";
-    license = "GPLv2";
-
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    homepage    = http://esnipe.rsourceforge.net;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 simons ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
index 3bca5cc91da..e5f18f72ced 100644
--- a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
@@ -1,23 +1,24 @@
-{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json_c, ncurses
+{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
 , gettext, libiconvOrEmpty, makeWrapper, perl }:
 
 stdenv.mkDerivation rec {
-  name = "newsbeuter-2.6";
+  name = "newsbeuter-2.8";
 
   src = fetchurl {
     url = "http://www.newsbeuter.org/downloads/${name}.tar.gz";
-    sha256 = "1hywz5206k0ykjklkjvnfy9fm4jfv9phz8dkzzwhfcjvqv9zv29i";
+    sha256 = "013qi8yghpms2qq1b3xbrlmfgpj0ybgk0qhj245ni4kpxila0wn8";
+
   };
 
   buildInputs
     # use gettext instead of libintlOrEmpty so we have access to the msgfmt
     # command
-    = [ pkgconfig sqlite curl libxml2 stfl json_c ncurses gettext perl ]
+    = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl ]
       ++ libiconvOrEmpty
       ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
 
   preBuild = ''
-    sed -i -e 104,108d config.sh
+    sed -i -e 110,114d config.sh
     sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl
     export LDFLAGS=-lncursesw
   '';
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
new file mode 100644
index 00000000000..4390360ff9e
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchgit, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
+, gettext, libiconvOrEmpty, makeWrapper, perl }:
+
+stdenv.mkDerivation rec {
+  name = "newsbeuter-dev-20140309";
+
+  src = fetchgit {
+    url = "https://github.com/akrennmair/newsbeuter.git";
+    rev = "1427bdb0705806368db39576a9b803df82fa0415";
+    sha256 = "b29a304a46bf56b439d0d35ea586f7fd0fbf1a5565dca95de76e774885d8b64b";
+  };
+
+  buildInputs
+    # use gettext instead of libintlOrEmpty so we have access to the msgfmt
+    # command
+    = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl ]
+      ++ libiconvOrEmpty
+      ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
+
+  preBuild = ''
+    sed -i -e 110,114d config.sh
+    sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl
+    export LDFLAGS=-lncursesw
+  '';
+
+  NIX_CFLAGS_COMPILE =
+    "-I${libxml2}/include/libxml2 -I${json-c-0-11}/include/json-c";
+
+  NIX_LDFLAGS = "-lsqlite3 -lcurl -lxml2 -lstfl -ljson";
+
+  installPhase = ''
+    DESTDIR=$out prefix=\"\" make install
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    for prog in $out/bin/*; do
+      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${stfl}/lib"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = http://www.newsbeuter.org;
+    description = "An open-source RSS/Atom feed reader for text terminals";
+    maintainers = with maintainers; [ lovek323 ];
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 24fdd105341..5f695f80b19 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext, pkgconfig, xdg_utils, gtk2, sqlite }:
+{ stdenv, fetchurl, dbus, gnutls, wxGTK28, libidn, tinyxml, gettext
+, pkgconfig, xdg_utils, gtk2, sqlite }:
 
-let version = "3.6.0.2"; in
+let version = "3.8.1"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "01n6k1q21i21451rdx3rgc4hhxghdn5b0ldzpjsp44ipgww5wsjk";
+    sha256 = "0kqyz8yb15kbzx02l3riswg95prbp402k4672nwxrzs35049rg36";
   };
 
   configureFlags = [
     "--disable-manualupdatecheck"
   ];
 
-  buildInputs = [ dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite ];
+  buildInputs = [
+    dbus gnutls wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://filezilla-project.org/";
     description = "Graphical FTP, FTPS and SFTP client";
-    license = "GPLv2";
-
+    license = licenses.gpl2;
     longDescription = ''
       FileZilla Client is a free, open source FTP client. It supports
       FTP, SFTP, and FTPS (FTP over SSL/TLS). The client is available
       under many platforms, binaries for Windows, Linux and Mac OS X are
       provided.
     '';
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix
index 92175bb23e9..36571809a37 100644
--- a/pkgs/applications/networking/ids/daq/default.nix
+++ b/pkgs/applications/networking/ids/daq/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Data AcQuisition library (DAQ), for packet I/O";
     homepage = http://www.snort.org;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index b674f3a83fb..858e99c245b 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Snort is an open source network intrusion prevention and detection system (IDS/IPS)";
     homepage = http://www.snort.org;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/amsn/default.nix b/pkgs/applications/networking/instant-messengers/amsn/default.nix
index fc7906b3e40..37c0b4a694d 100644
--- a/pkgs/applications/networking/instant-messengers/amsn/default.nix
+++ b/pkgs/applications/networking/instant-messengers/amsn/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, which, tcl, tk, x11, libpng, libjpeg, makeWrapper}:
 
 stdenv.mkDerivation {
-  name = "amsn-0.98.4";
+  name = "amsn-0.98.9";
   src = fetchurl {
-    url = mirror://sourceforge/amsn/amsn-0.98.4-src.tar.gz;
-    sha256 = "1kcn1hc6bvgy4svf5l3j5psdrvsmy0p3r33fn7gzcinqdf3xfgqx";
+    url = mirror://sourceforge/amsn/amsn-0.98.9-src.tar.gz;
+    sha256 = "0b8ir7spxnsz8f7kvr9f1k91nsy8cb65q6jv2l55b04fl20x4z7r";
   };
 
   configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib --enable-static";
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index 61cd62fefd4..b878427e876 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -4,11 +4,11 @@
 , gsm, speex, portaudio, spandsp, libuuid
 }:
 stdenv.mkDerivation rec {
-  version = "0.4.3";
+  version = "0.4.11";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "03vpzn0c3mybnwn84ha3yci780qsjm669dwja1srj0hbrq81rbil";
+    sha256 = "1ql5h9ily9jncp9w302v3b2ldx613kc60zlqv0v0ln8hsm8q6bc5";
   };
   buildInputs = [zlib openssl libre librem pkgconfig
     cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
@@ -41,5 +41,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; bsd3;
+    inherit version;
+    downloadPage = "http://www.creytiv.com/pub/";
+    updateWalker = true;
+    downloadURLRegexp = "/baresip-.*[.]tar[.].*";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index 457d3441b3a..ec614bf4b8c 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.bitlbee.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/applications/networking/instant-messengers/centerim/default.nix b/pkgs/applications/networking/instant-messengers/centerim/default.nix
index d746d54974a..54e2d813be8 100644
--- a/pkgs/applications/networking/instant-messengers/centerim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/centerim/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.centerim.org/;
     description = "Fork of CenterICQ, a curses instant messaging program";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch b/pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch
new file mode 100644
index 00000000000..d15e8b6ccfd
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,7 +4,7 @@
+ AC_PREREQ([2.53])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_SRCDIR(src/ekiga.cpp)
+-AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar])
++AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar subdir-objects])
+ 
+ AM_MAINTAINER_MODE([enable])
+ AC_CONFIG_HEADERS([config.h])
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/boost.patch b/pkgs/applications/networking/instant-messengers/ekiga/boost.patch
new file mode 100644
index 00000000000..9dad3d94f04
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/ekiga/boost.patch
@@ -0,0 +1,31 @@
+--- a/m4/ax_boost_base.m4
++++ b/m4/ax_boost_base.m4
+@@ -33,7 +33,7 @@
+ #   and this notice are preserved. This file is offered as-is, without any
+ #   warranty.
+ 
+-#serial 20
++#serial 22
+ 
+ AC_DEFUN([AX_BOOST_BASE],
+ [
+@@ -91,9 +91,17 @@ if test "x$want_boost" = "xyes"; then
+     dnl are found, e.g. when only header-only libraries are installed!
+     libsubdirs="lib"
+     ax_arch=`uname -m`
+-    if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
++    case $ax_arch in
++      x86_64|ppc64|s390x|sparc64|aarch64)
+         libsubdirs="lib64 lib lib64"
+-    fi
++        ;;
++    esac
++
++    dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give
++    dnl them priority over the other paths since, if libs are found there, they
++    dnl are almost assuredly the ones desired.
++    AC_REQUIRE([AC_CANONICAL_HOST])
++    libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs"
+ 
+     dnl first we check the system location for boost libraries
+     dnl this location ist chosen if boost libraries are installed with the --layout=system option
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index 276df1ae7a1..07730a8c0ee 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -1,71 +1,55 @@
-x@{builderDefsPackage
-  , cyrus_sasl, gettext, openldap, ptlib, opal, GConf, libXv, rarian, intltool
-  , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi
-  , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, automake
-  , autoconf, pkgconfig, libxml2, videoproto, unixODBC, db4, nspr, nss, zlib
-  , libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
+, perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
+, libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
+, pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
+, libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="ekiga";
-    baseVersion="3.2";
-    patchlevel="7";
-    version="${baseVersion}.${patchlevel}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${baseVersion}/${name}.tar.bz2";
-    hash="13zxwfqhp7pisadx0hq50qwnj6d8r4dldvbs1ngydbwfnq4i6npj";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "ekiga-4.0.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/ekiga/4.0/${name}.tar.xz";
+    sha256 = "5f4f491c9496cf65ba057a9345d6bb0278f4eca07bcda5baeecf50bfcd9a4a3b";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
+                  perl perlXMLParser evolution_data_server gnome_doc_utils avahi
+                  libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
+                  gnome3.libsoup
+                  hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
+                  pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
+                  libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
+
+  preAutoreconf = ''
+    substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
+  '';
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doConfigure" "doMakeInstall"];
   configureFlags = [
     "--with-ldap-dir=${openldap}"
     "--with-libsasl2-dir=${cyrus_sasl}"
+    "--with-boost-libdir=${boost}/lib"
+    "--disable-gconf"
   ];
 
-  setVars = a.noDepEntry (''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${opal}/include/opal"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${evolution_data_server}/include/evolution-*)"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${GConf}/include/gconf/2"
+  enableParallelBuilding = true;
 
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lopal"
-    for i in ${evolution_data_server}/lib/lib*.so; do
-      file="$(basename "$i" .so)"
-      bn="''${file#lib}"
-      export NIX_LDFLAGS="$NIX_LDFLAGS -l$bn"
-    done
-  '');
+  patches = [ ./autofoo.patch ./boost.patch ];
 
-  meta = {
+  postInstall = ''
+    wrapProgram "$out"/bin/ekiga \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
     description = "Ekiga SIP client";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "mirror://gnome/sources/ekiga";
     };
   };
-}) x
+}
 
diff --git a/pkgs/applications/networking/instant-messengers/fuze/default.nix b/pkgs/applications/networking/instant-messengers/fuze/default.nix
new file mode 100644
index 00000000000..9ccada87fe2
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/fuze/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, dpkg, openssl, alsaLib, libXext, libXfixes, libXrandr
+, libjpeg, curl, libX11, libXmu, libXv, libXtst, qt4, mesa, zlib
+, gnome, libidn, rtmpdump, c-ares, openldap, makeWrapper, cacert
+}:
+assert stdenv.system == "x86_64-linux";
+let
+  curl_custom =
+    stdenv.lib.overrideDerivation curl (args: { 
+      configureFlags = args.configureFlags ++ ["--with-ca-bundle=${cacert}/etc/ca-bundle.crt"] ; 
+    } );
+in
+stdenv.mkDerivation {
+  name = "fuze-1.0.5";
+  src = fetchurl {
+    url = http://apt.fuzebox.com/apt/pool/lucid/main/f/fuzelinuxclient/fuzelinuxclient_1.0.5.lucid_amd64.deb;
+    sha256 = "0gvxc8qj526cigr1lif8vdn1aawj621camkc8kvps23r7zijhnqv";
+  };
+  buildInputs = [ dpkg makeWrapper ];
+  libPath =
+    stdenv.lib.makeLibraryPath [
+      openssl alsaLib libXext libXfixes libXrandr libjpeg curl_custom
+      libX11 libXmu libXv qt4 libXtst mesa stdenv.gcc.gcc zlib
+      gnome.GConf libidn rtmpdump c-ares openldap
+    ];
+  buildCommand = ''
+    dpkg-deb -x $src .
+    mkdir -p $out/lib $out/bin
+    cp -R usr/lib/fuzebox $out/lib
+
+    patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath $out/lib/fuzebox:$libPath \
+      $out/lib/fuzebox/FuzeLinuxApp
+
+    wrapProgram $out/lib/fuzebox/FuzeLinuxApp --prefix LD_LIBRARY_PATH : $libPath
+    for f in $out/lib/fuzebox/*.so.*; do
+      patchelf \
+        --set-rpath $out/lib/fuzebox:$libPath \
+        $f
+    done
+
+    ln -s ${openssl}/lib/libssl.so.1.0.0 $out/lib/fuzebox/libssl.so.0.9.8
+    ln -s ${openssl}/lib/libcrypto.so.1.0.0 $out/lib/fuzebox/libcrypto.so.0.9.8
+
+    ln -s $out/lib/fuzebox/FuzeLinuxApp $out/bin/fuze
+  '';
+
+  meta = {
+    description = "Fuze for Linux";
+    homepage = http://www.fuzebox.com;
+    license = "unknown";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/gtmess/default.nix b/pkgs/applications/networking/instant-messengers/gtmess/default.nix
index 68973b4e47f..64021c93bc8 100644
--- a/pkgs/applications/networking/instant-messengers/gtmess/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gtmess/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Console MSN Messenger client for Linux and other unix systems";
     homepage = http://gtmess.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index c0f76602b2b..6da12905f56 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -1,59 +1,96 @@
-{ stdenv
-, fetchurl
-, libtool
-, libXext
-, libSM
-, libICE
-, libX11
-, libXft
-, libXau
-, libXdmcp
-, libXrender
-, freetype
-, fontconfig
-, openssl
-}:
+{ stdenv, fetchurl, libtool, xlibs, freetype, fontconfig, openssl, glib
+, mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid
+, libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra
+, makeWrapper, libredirect, xkeyboard_config }:
 
 let
-  version = "1.94.407";
+
+  version = "2.2.1107";
 
   rpath = stdenv.lib.makeSearchPath "lib" [
     stdenv.glibc
-    stdenv.gcc.gcc
     libtool
-    libXext
-    libSM
-    libICE
-    libX11
-    libXft
-    libXau
-    libXdmcp
-    libXrender
+    xlibs.libXext
+    xlibs.libSM
+    xlibs.libICE
+    xlibs.libX11
+    xlibs.libXft
+    xlibs.libXau
+    xlibs.libXdmcp
+    xlibs.libXrender
+    xlibs.libXfixes
+    xlibs.libXcomposite
+    xlibs.libxcb
+    xlibs.libXi
     freetype
     fontconfig
     openssl
-  ];
+    glib
+    mesa
+    gstreamer
+    gst_plugins_base
+    dbus
+    alsaLib
+    zlib
+    libuuid
+    libxml2
+    libxslt
+    sqlite
+    libogg
+    libvorbis
+    xz
+    libcanberra
+  ] + ":${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
 
-  src = fetchurl {
-    url = "http://downloads.hipchat.com/linux/arch/hipchat-${version}-i686.pkg.tar.xz";
-    sha256 = "0kyjpa2ir066zqkvs1zmnx6kvl8v4jfl8h7bw110cgigwmiplk7k";
-  };
-in stdenv.mkDerivation {
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
+        sha256 = "0lf780pxbh40m2i48cki072lrm75924cz3zgkmaxddmar3y13bwa";
+      }
+    else if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
+        sha256 = "1k33670rpigdpy9jcacryc1i05ykp5yffcplmbm5q29ng54cn0zv";
+      }
+    else
+      throw "HipChat is not supported on ${stdenv.system}";
+
+in
+
+stdenv.mkDerivation {
   name = "hipchat-${version}";
 
+  inherit src;
+
+  buildInputs = [ makeWrapper ];
+
   buildCommand = ''
     tar xf ${src}
-    mkdir -p $out
-    mv opt/HipChat/lib $out
-    mv opt/HipChat/bin $out
+
+    mkdir -p $out/libexec/hipchat/bin
+    d=$out/libexec/hipchat/lib
+    rm -rfv opt/HipChat/lib/{libstdc++*,libz*,libuuid*,libxml2*,libxslt*,libsqlite*,libogg*,libvorbis*,liblzma*,libcanberra.*,libcanberra-*}
+    mv opt/HipChat/lib/ $d
     mv usr/share $out
+
     patchShebangs $out/bin
-    for file in $(find $out/lib -type f); do
-        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $file || true
-        patchelf --set-rpath ${rpath}:$out/lib $file || true
+
+    for file in $(find $d -type f); do
+        patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $file || true
+        patchelf --set-rpath ${rpath}:\$ORIGIN $file || true
     done
+
     substituteInPlace $out/share/applications/hipchat.desktop \
       --replace /opt/HipChat/bin $out/bin
+
+    makeWrapper $d/hipchat.bin $out/bin/hipchat \
+      --set HIPCHAT_LD_LIBRARY_PATH '"$LD_LIBRARY_PATH"' \
+      --set HIPCHAT_QT_PLUGIN_PATH '"$QT_PLUGIN_PATH"' \
+      --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+      --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
+
+    mv opt/HipChat/bin/linuxbrowserlaunch $out/libexec/hipchat/bin/
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
new file mode 100644
index 00000000000..e6dd6569a55
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, makeDesktopItem, unzip, ant, jdk }:
+
+stdenv.mkDerivation rec {
+
+  name = "jitsi-${version}";
+  version = "2.4.4997";
+
+  src = fetchurl {
+    url = "https://download.jitsi.org/jitsi/src/jitsi-src-${version}.zip";
+    sha256 = "f1c2688d7d6bf1916fed3b8b105a785662980c5b297dcab3c9e7d272647ef825";
+  };
+
+  patches = [ ./jitsi.patch ];
+
+  jitsiItem = makeDesktopItem {
+    name = "Jitsi";
+    exec = "jitsi";
+    comment = "VoIP and Instant Messaging client";
+    desktopName = "Jitsi";
+    genericName = "Instant Messaging";
+    categories = "Application;Internet;";
+  };
+
+  buildInputs = [unzip ant jdk];
+
+  buildPhase = ''ant make'';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -a lib $out/
+    cp -a sc-bundles $out/
+    mkdir $out/bin
+    cp resources/install/generic/run.sh $out/bin/jitsi
+    chmod +x $out/bin/jitsi
+    sed -i 's| java | ${jdk}/bin/java |' $out/bin/jitsi
+    patchShebangs $out
+  '';
+
+  meta = {
+    homepage = https://jitsi.org/;
+    description = "Open Source Video Calls and Chat";
+    license = stdenv.lib.licenses.lgpl21Plus.shortName;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch
new file mode 100644
index 00000000000..9163cecd175
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch
@@ -0,0 +1,27 @@
+--- /home/dario/Downloads/jitsi/resources/install/generic/run.sh	2013-11-01 15:37:21.000000000 +0000
++++ jitsi/resources/install/generic/run.sh	2014-03-04 11:52:30.796397567 +0000
+@@ -1,4 +1,9 @@
+-mkdir -p $HOME/.sip-communicator/log
++#! /bin/bash
++# A modified version of the generic run.sh
++
++#mkdir -p $HOME/.sip-communicator/log
++
++cd "$( dirname "$( dirname "${BASH_SOURCE[0]}" )" )"
+ 
+ # Get architecture
+ ARCH=`uname -m | sed -e s/x86_64/64/ -e s/i.86/32/`
+@@ -6,10 +11,12 @@
+ # Additionnal JVM arguments
+ CLIENTARGS=""
+ 
++NATIVELIBS="lib/native/linux-64"
+ if [ $ARCH -eq 32 ]
+ then
+     CLIENTARGS="-client -Xmx256m"
++    NATIVELIBS="lib/native/linux"
+ fi
+ 
+ export PATH=$PATH:native
+-java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
++exec java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
diff --git a/pkgs/applications/networking/instant-messengers/kadu/cmake.patch b/pkgs/applications/networking/instant-messengers/kadu/cmake.patch
new file mode 100644
index 00000000000..bb2d2d39d25
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/kadu/cmake.patch
@@ -0,0 +1,13 @@
+diff -ru kadu-0.12.2.orig/plugins/jabber_protocol/3rdparty/CMakeLists.txt kadu-0.12.2/plugins/jabber_protocol/3rdparty/CMakeLists.txt
+--- kadu-0.12.2.orig/plugins/jabber_protocol/3rdparty/CMakeLists.txt	2012-08-30 16:13:17.000000000 +0200
++++ kadu-0.12.2/plugins/jabber_protocol/3rdparty/CMakeLists.txt	2014-02-15 10:20:33.368716013 +0100
+@@ -26,7 +26,7 @@
+ 					get_filename_component (_basename ${_current_MOC} NAME_WE)
+ 					set (_header ${_abs_FILE})
+ 					set (_moc ${_abs_PATH}/${_current_MOC})
+-					QT4_CREATE_MOC_COMMAND (${_header} ${_moc} "${_moc_INCS}" "")
++					QT4_CREATE_MOC_COMMAND (${_header} ${_moc} "${_moc_INCS}" "" "")
+ 					MACRO_ADD_FILE_DEPENDENCIES (${_abs_FILE} ${_moc})
+ 				endforeach (_current_MOC_INC)
+ 			endif (_match)
+Only in kadu-0.12.2/plugins/jabber_protocol/3rdparty: CMakeLists.txt~
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index 03cbb1ce073..a74460c3e39 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
 
   configureFlags = "CPPFLAGS=-DQT_NO_DEBUG";
 
+  preConfigure = ''
+    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${phonon}/lib64/pkgconfig:${phonon}/lib32/pkgconfig"
+  '';
+
   cmakeFlags = "-DENABLE_AUTODOWNLOAD=OFF -DBUILD_DESCRIPTION='NixOS' -DCMAKE_BUILD_TYPE=Release";
 
   prePatch = ''
@@ -26,6 +30,7 @@ stdenv.mkDerivation {
     sed -i -e '/mpd_mediaplayer/d' \
            -e '/encryption_ng/d'   \
            -e '/encryption_ng_simlite/d' Plugins.cmake
+    patch -p1 < ${./cmake.patch}
   '';
 
   NIX_LDFLAGS="-lX11";
@@ -33,7 +38,7 @@ stdenv.mkDerivation {
   meta = {
     description = "An instant-messenger client for the gadu-gadu network (most popular polish IM network)";
     homepage = http://www.kadu.net/w/English:Main_Page;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.piotr ];
   };
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index c3af0ad0e34..be12c7e8e2a 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.linphone.org/;
     description = "Open Source video SIP softphone";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
index 2e1b745790a..a63468a9ee7 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pidgin} :
 
 stdenv.mkDerivation {
-  name = "pidgin-msn-pecan-0.1.0";
+  name = "pidgin-msn-pecan-0.1.4";
   src = fetchurl {
-    url = http://msn-pecan.googlecode.com/files/msn-pecan-0.1.0.tar.bz2;
-    sha256 = "06cgkdlv2brv2g5hpx8g8p6j296cnvd29l8fap30i1k0mznbjxf4";
+    url = http://msn-pecan.googlecode.com/files/msn-pecan-0.1.4.tar.bz2;
+    sha256 = "0d43z2ay9is1r2kkc9my8pz0fwdyzv7k19vdmbird18lg7rlbjd2";
   };
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
index cf42dd5700b..7cbc38ea0dc 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.cypherpunks.ca/otr;
     description = "Plugin for Pidgin 2.x which implements OTR Messaging";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
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 7f7d5abccfd..840416b7d17 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,8 +1,10 @@
-args : with args; 
+args : with args;
+let version = "1.5.0";
+in
 rec {
   src = fetchurl {
-    url = mirror://sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
-    sha256 = "19h76fwsx5y30l5wda2930k10r385aipngfljz5bdi7b9y52lii7";
+    url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
+    sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
   };
 
   buildInputs = [texLive pkgconfig gtk imagemagick glib pidgin which];
@@ -33,8 +35,8 @@ rec {
 
   /* doConfigure should be specified separately */
   phaseNames = [ "preBuild" "doMakeInstall" "postInstall"];
-      
-  name = "pidgin-latex-1.2.1";
+
+  name = "pidgin-latex-${version}";
   meta = {
     description = "LaTeX rendering plugin for Pidgin IM";
     priority = "10";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 9c787867e5a..b387ed350af 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchurl, pidgin, intltool, libxml2 }:
 
-let version = "1.12.0"; in
+let version = "1.18.1"; in
 
 stdenv.mkDerivation {
   name = "pidgin-sipe-${version}";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
-    sha256 = "12ki6n360v2ja961fzw4mwpgb8jdp9k21y5mbiab151867c862r6";
+    sha256 = "18ch7jpi7ki7xlpahi88xrnmnhc6dcq4hafm0z6d5nfjfp8ldal5";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "SIPE plugin for Pidgin IM";
     homepage = http://sipe.sourceforge.net/;
-    license = "GPLv2";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 
   postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix
index 544aa06877a..a83589bf75e 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildPhase  = "make libskype.so libskype_dbus.so";
 
   installPhase = ''
-    ensureDir $out/pixmaps/pidgin/protocols/{16,22,48} $out/bin $out/lib/pidgin
+    mkdir -p $out/pixmaps/pidgin/protocols/{16,22,48} $out/bin $out/lib/pidgin
     cp icons/16/skypeout.png $out/pixmaps/pidgin/protocols/16
     cp icons/22/skypeout.png $out/pixmaps/pidgin/protocols/22
     cp icons/48/skypeout.png $out/pixmaps/pidgin/protocols/48
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = https://github.com/novas0x2a/skype4pidgin;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     description = "Plugin to use a running skype account through pidgin";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
index b87db662f45..348802fe16e 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://tox.dhs.org/;
     description = "Tox plugin for Pidgin / libpurple";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index d0652adcb0d..6e6fd6d0eb6 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -21,10 +21,10 @@
 } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-2.10.7";
+  name = "pidgin-2.10.9";
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
-    sha256 = "14piyx4xpc3l8286x4nh5pna2wfyn9cv0qa29br1q3d2xja2k8zb";
+    sha256 = "06gka47myl9f5x0flkq74ml75akkf28rx9sl8pm3wqkzazc2wdnw";
   };
 
   inherit nss ncurses;
@@ -51,8 +51,11 @@ stdenv.mkDerivation rec {
   configureFlags="--with-nspr-includes=${nspr}/include/nspr --with-nspr-libs=${nspr}/lib --with-nss-includes=${nss}/include/nss --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include --disable-meanwhile --disable-nm --disable-tcl"
   + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no")
   ;
-  meta = {
+  meta = with stdenv.lib; {
     description = "Pidgin IM - XMPP(Jabber), AIM/ICQ, IRC, SIP etc client";
     homepage = http://pidgin.im;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
index c35101bb874..326774dc1fe 100644
--- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
@@ -9,11 +9,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = with pythonPackages; 
     [
-      python twisted urwid beautifulsoup wxPython distribute pygobject
-      wokkel pythonDBus pyfeed wrapPython
+      python twisted urwid beautifulsoup wxPython pygobject
+      wokkel pythonDBus pyfeed wrapPython setuptools
     ];
 
   configurePhase = ''
+    sed -i "/use_setuptools/d" setup.py
     sed -e "s@sys.prefix@'$out'@g" -i setup.py
     sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${pythonPackages.twisted}/bin\"" -i src/sat.sh
     sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/lib/${python.libPrefix}/site-packages"" -i src/sat.sh
diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix
index 2401d796bfd..fb14782ef9f 100644
--- a/pkgs/applications/networking/instant-messengers/sflphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix
@@ -14,7 +14,7 @@ let
 
   meta = {
     homepage = http://sflphone.org/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     description = "Free software enterprise-class softphone for GNU/Linux";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
@@ -75,8 +75,10 @@ rec {
     '';
 
     # gtk3 programs have the runtime dependency on XDG_DATA_DIRS
-    postInstall = ''
-      wrapProgram $out/bin/sflphone* --prefix XDG_DATA_DIRS ":" ${gtk}/share
+    preFixup = ''
+      for f in "$out/bin/sflphone" "$out/bin/sflphone-client-gnome"; do
+        wrapProgram $f --prefix XDG_DATA_DIRS ":" "${gtk}/share:$GSETTINGS_SCHEMAS_PATH"
+      done
     '';
 
     buildInputs = [ daemon pkgconfig gtk glib dbus_glib libnotify intltool makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/silc-client/default.nix b/pkgs/applications/networking/instant-messengers/silc-client/default.nix
index a4035604168..4ce098e6ca4 100644
--- a/pkgs/applications/networking/instant-messengers/silc-client/default.nix
+++ b/pkgs/applications/networking/instant-messengers/silc-client/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://silcnet.org/;
     description = "Secure Internet Live Conferencing server";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix b/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
index 2fa82e1251b..713aa8f0374 100644
--- a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://atdot.ch/scr/;
     description = "Open source tool to record your Skype calls on Linux";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index ebd84ff47b8..32755306cc7 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchurl, alsaLib, libXv, libXi, libXrender, libXrandr, zlib, glib
+{ stdenv, fetchurl, libXv, libXi, libXrender, libXrandr, zlib, glib
 , libXext, libX11, libXScrnSaver, libSM, qt4, libICE, freetype, fontconfig
-, pulseaudio, usePulseAudio, lib }:
+, pulseaudio, lib, ... }:
 
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "skype-4.2.0.11";
+  name = "skype-4.3.0.37";
 
   src = fetchurl {
     url = "http://download.skype.com/linux/${name}.tar.bz2";
-    sha256 = "0kh66p50m3x4ql6j8ciz73c30npcizd00ya9qrhid711rar0mlw7";
+    sha256 = "0bc9kck99rcsqzxzw3j6vnw5byvr8c9wixrx609zp255g0wxr6cc";
   };
 
-  buildInputs =
-    lib.optional usePulseAudio pulseaudio ++ [
-    alsaLib
+  buildInputs = [
     stdenv.glibc
     stdenv.gcc.gcc
     libXv
@@ -27,6 +25,7 @@ stdenv.mkDerivation rec {
     libXi
     libXrender
     libXrandr
+    pulseaudio
     freetype
     fontconfig
     zlib
@@ -44,13 +43,13 @@ stdenv.mkDerivation rec {
       fullPath=$fullPath''${fullPath:+:}$i/lib
     done
 
-    dynlinker="$(cat $NIX_GCC/nix-support/dynamic-linker)"
+    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath "$fullPath" $out/libexec/skype/skype
 
     cat > $out/bin/skype << EOF
     #!${stdenv.shell}
     export PULSE_LATENCY_MSEC=60  # workaround for pulseaudio glitches
-    export LD_LIBRARY_PATH=$fullPath:$LD_LIBRARY_PATH
-    $dynlinker $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
+    $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
     EOF
 
     chmod +x $out/bin/skype
@@ -67,6 +66,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A proprietary voice-over-IP (VoIP) client";
     homepage = http://www.skype.com/;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 108e549d01f..eb052af1369 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,49 +1,73 @@
-{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib }:
+{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib, makeWrapper, xlibs
+,  qt5, pulseaudio ? null, qt4, xkeyboard_config, libredirect }:
 
 let
 
+  arch = if stdenv.is64bit then "amd64" else "x86";
+ 
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
   deps =
     [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender
-      xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
-      fontconfig xorg.libXext xorg.libX11 alsaLib
+      xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama xlibs.libxcb
+      fontconfig xorg.libXext xorg.libX11 alsaLib qt5 pulseaudio
     ];
 
 in
 
-stdenv.mkDerivation {
-  name = "teamspeak-client-3.0.0-beta35";
+stdenv.mkDerivation rec {
+  name = "teamspeak-client-${version}";
+
+  version = "3.0.16";
 
   src = fetchurl {
-    url = http://ftp.4players.de/pub/hosted/ts3/releases/beta-35/TeamSpeak3-Client-linux_amd64-3.0.0-beta35.run;
-    sha256 = "0vygsvjs11lr5lv4x7awv7hvkycvmm9qs2vklfjs91w3f434cmrx";
+    urls = [
+      "http://dl.4players.de/ts/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
+      "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
+      "http://files.teamspeak-services.com/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
+    ];
+    sha256 = if stdenv.is64bit 
+                then "0gvphrmrkyy1g2nprvdk7cvawznzlv4smw0mlvzd4b9mvynln0v2"
+                else "1b3nbvfpd8lx3dig8z5yk6zjkbmsy6y938dhj1f562wc8adixciz";
   };
 
+  buildInputs = [ makeWrapper ];
+
   unpackPhase =
     ''
-      yes yes | sh $src
+      yes | sh $src
       cd TeamSpeak*
     '';
 
   buildPhase =
     ''
-      ls -l
-      for i in ts3client_linux_*; do
-        echo "patching $i..."
-        patchelf \
-          --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
-          --force-rpath \
-          $i
-      done
+      mv ts3client_linux_${arch} ts3client
+      echo "patching ts3client..."
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
+        --force-rpath \
+        ts3client
     '';
-    
 
   installPhase =
     ''
+      # Delete unecessary libraries - these are provided by nixos.
+      rm libQt*.so.*
+      rm qt.conf
+
+      # Install files.
       mkdir -p $out/lib/teamspeak
       mv * $out/lib/teamspeak/
+
+      # Make a symlink to the binary from bin.
+      mkdir -p $out/bin/
+      ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
+
+      wrapProgram $out/bin/ts3client \
+        --set LD_PRELOAD "${libredirect}/lib/libredirect.so:$out/lib/teamspeak/libquazip.so.1" \
+        --set QT_PLUGIN_PATH "$out/lib/teamspeak/platforms" \
+        --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
     '';
 
   dontStrip = true;
@@ -53,6 +77,7 @@ stdenv.mkDerivation {
     description = "The TeamSpeak voice communication tool";
     homepage = http://teamspeak.com/;
     license = "http://www.teamspeak.com/?page=downloads&type=ts3_linux_client_latest";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
new file mode 100644
index 00000000000..7a57cb8ad62
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -0,0 +1,99 @@
+{ stdenv, fetchurl, makeWrapper }:
+
+let
+
+  version = "3.0.10.3";
+
+  arch = if stdenv.is64bit then "amd64" else "x86";
+ 
+  libDir = if stdenv.is64bit then "lib64" else "lib";
+in
+
+stdenv.mkDerivation {
+  name = "teamspeak-server-${version}";
+
+  src = fetchurl {
+    urls = [
+       "http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz"
+      "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz"
+    ];
+    sha256 = if stdenv.is64bit 
+      then "9606dd5c0c3677881b1aab833cb99f4f12ba08cc77ef4a97e9e282d9e10b0702"
+      else "8b8921e0df04bf74068a51ae06d744f25d759a8c267864ceaf7633eb3f81dbe5";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  buildPhase =
+    ''
+      mv ts3server_linux_${arch} ts3server
+      echo "patching ts3server"
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath $(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
+        --force-rpath \
+        ts3server
+    '';
+
+  installPhase =
+    ''
+      # Delete unecessary libraries - these are provided by nixos.
+      #rm *.so*
+
+      # Install files.
+      mkdir -p $out/lib/teamspeak
+      mv * $out/lib/teamspeak/
+
+      # Make a symlink to the binary from bin.
+      mkdir -p $out/bin/
+      ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server
+
+      wrapProgram $out/lib/teamspeak/ts3server --prefix LD_LIBRARY_PATH : $out/lib/teamspeak
+    '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+  
+  meta = { 
+    description = "TeamSpeak voice communication server";
+    homepage = http://teamspeak.com/;
+    license = stdenv.lib.licenses.unfreeRedistributable;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.arobyn ];
+  };
+}
+
+/*
+License issues:
+Date: Mon, 10 Dec 2007 19:55:16 -0500
+From: TeamSpeak Sales <sales@tritoncia.com>
+To: 'Marc Weber' <marco-oweber@gmx.de>
+Subject: RE: teamspeak on nix?
+
+Yes, that would be fine.  As long as you are not renting servers or selling
+TeamSpeak then you are more than welcome to distribute it.
+
+Thank you,
+
+TeamSpeak Sales Team
+________________________________
+e-Mail: sales@tritoncia.com
+TeamSpeak: http://www.TeamSpeak.com
+Account Login: https://sales.TritonCIA.com/users
+
+
+
+-----Original Message-----
+From: Marc Weber [mailto:marco-oweber@gmx.de]
+Sent: Monday, December 10, 2007 5:03 PM
+To: sales@tritoncia.com
+Subject: teamspeak on nix?
+
+Hello,
+
+nix is very young software distribution system (http://nix.cs.uu.nl/)
+I'd like to ask wether you permit us to add teamspeak (server/ client?)
+
+Sincerly
+Marc Weber (small nix contributor)
+*/
diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
new file mode 100644
index 00000000000..b0302ba8e0b
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, libconfig, lua5_2, openssl, readline, zlib
+}:
+
+stdenv.mkDerivation rec {
+  name = "telegram-cli";
+
+  src = fetchgit {
+    url = "https://github.com/vysheng/tg.git";
+    rev = "ac6079a00ac66bb37a3179a82af130b41ec39bc9";
+    sha256 = "1rpwnyzmqk7p97n5pd00m5c6rypc39mb3hs94qxxrdcpwpgcb73q";
+  };
+
+  buildInputs = [ libconfig lua5_2 openssl readline zlib ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./telegram $out/bin/telegram-wo-key
+    cp ./tg.pub $out/
+    cat > $out/bin/telegram <<EOF
+    #!/usr/bin/env bash
+    $out/bin/telegram-wo-key -k $out/tg.pub
+    EOF
+    chmod +x $out/bin/telegram
+  '';
+
+  meta = {
+    description = "Command-line interface for Telegram messenger";
+    homepage = https://telegram.org/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index 8863af25984..e8e76c10ea5 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -1,20 +1,26 @@
-{ stdenv, fetchurl, pkgconfig, libxslt, telepathy_glib, libxml2, dbus_glib
+{ stdenv, fetchurl, pkgconfig, libxslt, telepathy_glib, libxml2, dbus_glib, dbus_daemon
 , sqlite, libsoup, libnice, gnutls }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-gabble-0.17.2";
+  name = "telepathy-gabble-0.18.2";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/telepathy-gabble/${name}.tar.gz";
-    sha256 = "137sslbgh0326lmwihcr2ybljgq9mzsx5wnciilpx884si22wpk8";
+    sha256 = "00ag32ccbj0hmy41rb0fg9gp40m7zbq45r4yijnyslk2mpkvg7c9";
   };
 
-  nativeBuildInputs = [pkgconfig libxslt];
-  buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ];
+  nativeBuildInputs = [ pkgconfig libxslt ];
+  buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ]
+    ++ stdenv.lib.optional doCheck dbus_daemon;
 
-  configureFlags = "--with-ca-certificates=/etc/ca-bundle.crt";
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
 
-  meta = {
+  enableParallelBuilding = true;
+  doCheck = true;
+
+  meta = with stdenv.lib; {
     homepage = http://telepathy.freedesktop.org;
+    description = "Jabber/XMPP connection manager for the Telepathy framework";
+    platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
index b2fd13837d7..ffc29a52aa1 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "telepathy-haze";
-  name = "${pname}-0.7.0";
+  name = "${pname}-0.8.0";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "1gaj8518ilm3gnzqf3lmiqgnwkay8wfbsqngcz15whzji8sl608b";
+    sha256 = "1jgrp32p6rllj089ynbsk3n9xrvsvzmwzhf0ql05kkgj0nf08xiy";
   };
 
   buildInputs = [ glib telepathy_glib dbus_glib pidgin ];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 527642348d2..173dfe9c929 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus_glib, libxml2, sqlite, telepathy_glib, pkgconfig
-, intltool, libxslt }:
+, intltool, libxslt, gobjectIntrospection, dbus_libs }:
 
 stdenv.mkDerivation rec {
   project = "telepathy-logger";
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "18i00l8lnp5dghqmgmpxnn0is2a20pkisxy0sb78hnd2dz0z6xnl";
   };
 
-  buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool ];
+  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
+
+  buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool
+                  gobjectIntrospection dbus_libs ];
 
   nativeBuildInputs = [ libxslt ];
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index 56abf34e1b3..b463ff2f230 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,15 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, telepathy_glib, libxslt }:
+{ stdenv, fetchurl, pkgconfig, telepathy_glib, libxslt, makeWrapper, upower }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-5.14.0";
+  name = "${pname}-5.16.2";
   pname = "telepathy-mission-control";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "0c4asjgk7pk39i8njf0q1df0mhisif83lq716ln6r0wja9zh9q2q";
+    sha256 = "1sk8f9jfaxgbsniz0n5hmrcwvxla3x8axjcnjbppg7nidk9gijrx";
   };
 
-  buildInputs = [ telepathy_glib ];
+  buildInputs = [ telepathy_glib makeWrapper upower ]; # ToDo: optional stuff missing
 
   nativeBuildInputs = [ pkgconfig libxslt ];
+
+  doCheck = true;
+
+  preFixup = ''
+    wrapProgram "$out/libexec/mission-control-5" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An account manager and channel dispatcher for the Telepathy framework";
+    homepage = http://telepathy.freedesktop.org/wiki/;
+    license = licenses.lgpl21;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
index a60e207b752..538a8d7f6d2 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "telepathy-rakia";
-  name = "${pname}-0.7.4";
+  name = "${pname}-0.8.0";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/${pname}/${name}.tar.gz";
-    sha256 = "11cmmdq31kivm6nsv61hxy3hxnnmbd8sj55xqwx9hyqzybh70dyf";
+    sha256 = "18dxffa8hhjyvqkhhac05rrkx81vnncjrakg5ygikfp0j79vrbhv";
   };
 
   nativeBuildInputs = [pkgconfigUpstream libxslt python];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index 4300ac15c99..b1341af7a9d 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "telepathy-salut";
-  name = "${pname}-0.8.0";
+  name = "${pname}-0.8.1";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "1kmmpwjbfph37bjvpkfphff8dzhr896i55knf311f778fbsgl17m";
+    sha256 = "13k112vrr3zghzr03pnbqc1id65qvpj0sn0virlbf4dmr2511fbh";
   };
 
   buildInputs = [ glib libxml2 telepathy_glib avahi libsoup libuuid gnutls
diff --git a/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix b/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix
deleted file mode 100644
index b46133e433e..00000000000
--- a/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "tkabber-plugins-${version}";
-  version = "0.11.1";
-
-  src = fetchurl {
-    url = "http://files.jabber.ru/tkabber/tkabber-plugins-${version}.tar.gz";
-    sha256 = "0jxriqvsckbih5a4lpisxy6wjw022wsz5j5n171gz0q3xw19dbgz";
-  };
-
-  configurePhase = ''
-    sed -e "s@/usr/local@$out@" -i Makefile
-  '';
-
-  meta = {
-    homepage = "http://tkabber.jabber.ru/tkabber-plugins";
-    description = "Plugins for the Tkabber instant messenger";
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/tkabber/default.nix b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
index fd989739c94..8b6b3893311 100644
--- a/pkgs/applications/networking/instant-messengers/tkabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
@@ -1,7 +1,24 @@
 { stdenv, fetchurl, tcl, tk, tcllib, tcltls, tclgpg
-, bwidget, makeWrapper, x11 }:
+, bwidget, makeWrapper, x11
+, withSitePlugins ? true
+, theme ? null
+}:
+
+with stdenv.lib;
 
 let
+  version = "1.0";
+
+  main = {
+    name = "tkabber";
+    sha256 = "49ee6e897dfe52ebac256531b54955e6b39223f606a9b8ad63a52475389db206";
+  };
+
+  plugins = {
+    name = "tkabber-plugins";
+    sha256 = "d61251dc664f0bfa8534e578096dede9a7bb7d4f2620489f8d2c43d36cd61ba9";
+  };
+
   tclLibraries = [ bwidget tcllib tcltls tclgpg ];
 
   getTclLibPath = p: "${p}/lib/${p.libPrefix}";
@@ -9,43 +26,47 @@ let
   tclLibPaths = stdenv.lib.concatStringsSep " "
     (map getTclLibPath tclLibraries);
 
-in stdenv.mkDerivation rec {
-  name = "tkabber-0.11.1";
+  mkTkabber = attrs: stdenv.mkDerivation (rec {
+    name = "${attrs.name}-${version}";
 
-  src = fetchurl {
-    url = "http://files.jabber.ru/tkabber/tkabber-0.11.1.tar.gz";
-    sha256 = "19xv555cm7a2gczdalf9srxm39hmsh0fbidhwxa74a89nqkbf4lv";
-  };
+    src = fetchurl {
+      url = "http://files.jabber.ru/tkabber/${name}.tar.xz";
+      inherit (attrs) sha256;
+    };
 
-  defaultTheme = "ocean-deep";
+    prePatch = ''
+      sed -e "s@/usr/local@$out@" -i Makefile
+    '';
+  } // removeAttrs attrs [ "name" "sha256" ]);
 
-  patchPhase = ''
+in mkTkabber (main // {
+  postPatch = ''
     substituteInPlace login.tcl --replace \
       "custom::defvar loginconf(sslcacertstore) \"\"" \
       "custom::defvar loginconf(sslcacertstore) \$env(OPENSSL_X509_CERT_FILE)"
-
+  '' + optionalString (theme != null) ''
+    themePath="$out/share/doc/tkabber/examples/xrdb/${theme}.xrdb"
     sed -i '/^if.*load_default_xrdb/,/^}$/ {
-        s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$out/share/doc/tkabber/examples/xrdb/${defaultTheme}.xrdb"'"@
+      s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$themePath"'"@
     }' tkabber.tcl
   '';
 
-  configurePhase = ''
-    mkdir -p $out/bin
-    sed -e "s@/usr/local@$out@" -i Makefile
-  '';
-
   postInstall = ''
-    wrapProgram $out/bin/tkabber \
-      --prefix PATH : "${tk}/bin" \
-      --set TCLLIBPATH '"${tclLibPaths}"' \
-      --set TKABBER_SITE_PLUGINS '$HOME/.nix-profile/share/tkabber-plugins'
+    for prog in $out/bin/*; do
+      wrapProgram "$prog" \
+        --prefix PATH : "${tk}/bin" \
+        --set TCLLIBPATH '"${tclLibPaths}"' \
+        ${optionalString withSitePlugins ''
+        --set TKABBER_SITE_PLUGINS '${mkTkabber plugins}/share/tkabber-plugins'
+        ''}
+    done
   '';
 
   buildInputs = [ tcl tk x11 makeWrapper ] ++ tclLibraries;
 
   meta = {
     homepage = "http://tkabber.jabber.ru/";
-    description = "A GUI client for the XMPP (Jabber) instant messaging protocol";
+    description = "A GUI XMPP (Jabber) client written in Tcl/Tk";
     license = stdenv.lib.licenses.gpl2;
   };
-}
+})
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index c2af1274a24..b3e1ff74cfa 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses
-, libtoxcore, pkgconfig }:
+, libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }:
 
 let
-  version = "75d356e52a";
-  date = "20131011";
+  version = "7566aa9d26";
+  date = "20140728";
 in
 stdenv.mkDerivation rec {
   name = "toxic-${date}-${version}";
@@ -11,29 +11,20 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/Tox/toxic/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "14wyvms8l07sl88g8y6g2jv95sq7cnhbaqf4n32xxilch8rymq47";
+    sha256 = "13vns0qc0hxhab6rpz0irnzgv42mp3v1nrbwm90iymhf4xkc9nwa";
   };
 
-  preConfigure = ''
-    autoreconf -i
-  '';
+  makeFlags = [ "-Cbuild" "VERSION=${version}" ];
+  installFlags = [ "PREFIX=$(out)" ];
 
-  NIX_LDFLAGS = "-lsodium";
-
-  configureFlags = [
-    "--with-libtoxcore-headers=${libtoxcore}/include"
-    "--with-libtoxcore-libs=${libtoxcore}/lib" 
-    "--with-libsodium-headers=${libtoxcore}/include"
-    "--with-libsodium-libs=${libtoxcore}/lib" 
+  buildInputs = [
+    autoconf libtool automake libtoxcore libsodium ncurses openal libvpx
+    freealut libconfig pkgconfig
   ];
 
-  buildInputs = [ autoconf libtool automake libtoxcore libsodium ncurses pkgconfig ];
-
-  doCheck = true;
-
   meta = {
     description = "Reference CLI for Tox";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/boost_regex.patch b/pkgs/applications/networking/instant-messengers/twinkle/boost_regex.patch
new file mode 100644
index 00000000000..3d4c46b2431
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twinkle/boost_regex.patch
@@ -0,0 +1,17 @@
+Index: twinkle-1.4.2/configure.in
+===================================================================
+--- twinkle-1.4.2.orig/configure.in	2013-07-25 11:07:54.160534950 -0400
++++ twinkle-1.4.2/configure.in	2013-07-25 11:07:59.000000000 -0400
+@@ -294,7 +294,11 @@
+ 	AC_CHECK_LIB(boost_regex-gcc, main, [
+ 		LIBS="-lboost_regex-gcc $LIBS"
+ 		echo "LIBS += -lboost_regex-gcc" >> $QT_INCL_PRO],
+-		[AC_MSG_ERROR([libboost_regex library is missing (boost package).])])])
++		[
++		AC_CHECK_LIB(boost_regex, main, [
++			LIBS="-lboost_regex $LIBS"
++			echo "LIBS += -lboost_regex" >> $QT_INCL_PRO],
++			[AC_MSG_ERROR([libboost_regex library is missing (boost package).])])])])
+ 
+ ms_CHECK_LRELEASE()
+ 	
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 0824210c4b5..2e6b904c134 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -1,29 +1,40 @@
-{ stdenv, fetchurl, pkgconfig, commoncpp2, ccrtp, openssl, boost
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, commoncpp2, ccrtp, openssl, boost
 , libsndfile, libxml2, libjpeg, readline, qt3, perl, file
 , alsaLib, speex, libzrtpcpp, xorg }:
-        
-stdenv.mkDerivation {
+
+stdenv.mkDerivation rec {
   name = "twinkle-1.4.2";
 
   src = fetchurl {
-    url = http://www.xs4all.nl/~mfnboer/twinkle/download/twinkle-1.4.2.tar.gz;
+    url = "http://www.xs4all.nl/~mfnboer/twinkle/download/${name}.tar.gz";
     sha256 = "19c9gqam78srsgv0463g7lfnv4mn5lvbxx3zl87bnm0vmk3qcxl0";
   };
 
+  patches = [ # all from Debian
+    ./newer-libccrtp.diff
+    ./libgsm.patch
+    ./localetime_r_conflict.diff
+    ./boost_regex.patch # modified not to use "-mt" suffix
+  ];
+
   configureFlags = "--with-extra-includes=${libjpeg}/include";
 
   buildInputs =
-    [ pkgconfig commoncpp2 ccrtp openssl boost libsndfile
+    [ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
       libxml2 libjpeg readline qt3 perl file
       # optional ? :
-      alsaLib
-      speex libzrtpcpp xorg.libX11 xorg.libXaw xorg.libICE xorg.libXext
+      alsaLib speex
+      libzrtpcpp xorg.libX11 xorg.libXaw xorg.libICE xorg.libXext
     ];
 
-  meta = { 
-    homepage = http://www.xs4all.nl/~mfnboer/twinkle/index.html;
-    license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+  NIX_CFLAGS_LINK = "-Wl,--as-needed -lboost_regex -lasound -lzrtpcpp -lspeex -lspeexdsp";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.twinklephone.com/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.marcweber ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/libgsm.patch b/pkgs/applications/networking/instant-messengers/twinkle/libgsm.patch
new file mode 100644
index 00000000000..1574273feb5
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twinkle/libgsm.patch
@@ -0,0 +1,70 @@
+Index: twinkle-1.4.2/configure.in
+===================================================================
+--- twinkle-1.4.2.orig/configure.in	2013-07-25 11:07:54.264533206 -0400
++++ twinkle-1.4.2/configure.in	2013-07-25 11:07:54.256533340 -0400
+@@ -195,22 +195,33 @@
+ 
+ # This check does not work on all platforms
+ # Check if libgsm is available
+-# AC_CHECK_LIB(gsm, sf_open, [
+-#	AC_CHECK_HEADER(gsm.h, [],
+-#		[AC_MSG_ERROR([gsm header files missing (gsm.h)])])
+-#	AC_DEFINE(HAVE_GSM, 1, [Define to 1 if you have the <libgsm> library.])
+-#	GSM_LIBS="-lgsm"
+-#	echo "LIBS += -lgsm" >> $QT_INCL_PRO
+-#	have_gsm="yes" ], [
+-#	have_gsm="no"
+-#	GSM_LIBS="\$(top_builddir)/src/audio/gsm/libgsm.a"
+-#	echo "LIBS += ../audio/gsm/libgsm.a" >> $QT_INCL_PRO ])
+-have_gsm="no"
+-GSM_LIBS="\$(top_builddir)/src/audio/gsm/libgsm.a"
+-echo "LIBS += ../audio/gsm/libgsm.a" >> $QT_INCL_PRO
++AC_CHECK_LIB(gsm, sf_open, [
++	AC_CHECK_HEADER(gsm.h, [],
++		[AC_MSG_ERROR([gsm header files missing (gsm.h)])])
++	AC_DEFINE(HAVE_GSM, 1, [Define to 1 if you have the <libgsm> library.])
++	GSM_LIBS="-lgsm"
++	echo "LIBS += -lgsm" >> $QT_INCL_PRO
++	have_gsm="yes" ], [
++	have_gsm="no"
++	GSM_LIBS="\$(top_builddir)/src/audio/gsm/libgsm.a"
++	echo "LIBS += ../audio/gsm/libgsm.a" >> $QT_INCL_PRO ])
++#have_gsm="no"
++#GSM_LIBS="\$(top_builddir)/src/audio/gsm/libgsm.a"
++#echo "LIBS += ../audio/gsm/libgsm.a" >> $QT_INCL_PRO
+ 
+ AC_SUBST(GSM_LIBS)
+ 
++# Check if libgsm is available
++AC_CHECK_LIB(gsm, sf_open, [
++	AC_CHECK_HEADER(gsm.h, [],
++		[AC_MSG_ERROR([gsm header files missing (gsm.h)])])
++	AC_DEFINE(HAVE_GSM, 1, [Define to 1 if you have the <libgsm> library.])
++	LIBS="-lgsm $LIBS"
++	echo "LIBS += -lgsm" >> $QT_INCL_PRO
++	have_gsm="yes" ], [
++	have_gsm="no"
++	echo "$(top_builddir)/src/audio/gsm/libgsm.a" >> $QT_INCL_PRO ])
++
+ # Check if ALSA is available
+ AC_CHECK_LIB(asound, main, [
+ 	AC_CHECK_HEADER(alsa/asoundlib.h, [],
+@@ -348,3 +359,4 @@
+ AC_MSG_RESULT([Speex:       $have_speex])
+ AC_MSG_RESULT([iLBC:        $have_ilbc])
+ AC_MSG_RESULT([ZRTP:        $have_zrtp])
++AC_MSG_RESULT([Libgsm dynamic link:	$have_gsm])
+Index: twinkle-1.4.2/src/twinkle_config.h.in
+===================================================================
+--- twinkle-1.4.2.orig/src/twinkle_config.h.in	2013-07-25 11:07:54.264533206 -0400
++++ twinkle-1.4.2/src/twinkle_config.h.in	2013-07-25 11:07:54.256533340 -0400
+@@ -19,6 +19,9 @@
+ /* Define to 1 if you have the <history.h> header file. */
+ #undef HAVE_HISTORY_H
+ 
++/* Define to 1 if you have the <libgsm> library. */
++#undef HAVE_GSM
++
+ /* Define to 1 if you have the <ilbc> library. */
+ #undef HAVE_ILBC
+ 
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/localetime_r_conflict.diff b/pkgs/applications/networking/instant-messengers/twinkle/localetime_r_conflict.diff
new file mode 100644
index 00000000000..3fbc2eb0cb1
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twinkle/localetime_r_conflict.diff
@@ -0,0 +1,13 @@
+Index: twinkle-1.4.2/src/log.cpp
+===================================================================
+--- twinkle-1.4.2.orig/src/log.cpp	2009-01-18 09:35:28.000000000 -0500
++++ twinkle-1.4.2/src/log.cpp	2013-07-25 11:43:08.901209713 -0400
+@@ -161,7 +161,7 @@
+ 
+ 	gettimeofday(&t, NULL);
+ 	date = t.tv_sec;
+-	localtime_r(&date, &tm);
++	ost::localtime_r(&date, &tm);
+ 
+ 	*log_stream << "+++ ";
+ 	*log_stream << tm.tm_mday;
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/newer-libccrtp.diff b/pkgs/applications/networking/instant-messengers/twinkle/newer-libccrtp.diff
new file mode 100644
index 00000000000..9d07b3dbd6a
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twinkle/newer-libccrtp.diff
@@ -0,0 +1,22 @@
+Index: twinkle-1.4.2/configure.in
+===================================================================
+--- twinkle-1.4.2.orig/configure.in	2013-07-25 11:09:16.000000000 -0400
++++ twinkle-1.4.2/configure.in	2013-07-25 11:11:59.512418187 -0400
+@@ -66,7 +66,7 @@
+ 
+ export PKG_CONFIG_PATH
+ 
+-PKG_CHECK_MODULES(CCRTP, libccrtp1 >= 1.6.0)
++PKG_CHECK_MODULES(CCRTP, libccrtp >= 1.6.0)
+ 
+ PKG_CHECK_MODULES(XML2, libxml-2.0)
+ # AC_CHECK_HEADER(libxml/tree.h, [],
+@@ -136,7 +136,7 @@
+ #echo "INCLUDEPATH += `$CCGNU2_CONFIG --includes`" | sed -e s/-I//g > $QT_INCL_PRO
+ # libccrtp1(ccrtp) depend from libccgnu2(commoncpp2) and
+ # should include above flags !
+-echo "INCLUDEPATH += `$PKG_CONFIG --cflags-only-I libccrtp1`" | sed -e s/-I//g >> $QT_INCL_PRO
++echo "INCLUDEPATH += `$PKG_CONFIG --cflags-only-I libccrtp`" | sed -e s/-I//g >> $QT_INCL_PRO
+ echo "INCLUDEPATH += `$PKG_CONFIG --cflags-only-I libxml-2.0`" | sed -e s/-I//g >> $QT_INCL_PRO
+ 
+ # get libraries specified on command line
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
new file mode 100644
index 00000000000..823df5c27a2
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, dbus, libvpx, libX11, openal, freetype, libv4l
+, libXrender, fontconfig, libXext, libXft }:
+
+
+stdenv.mkDerivation rec {
+  name = "utox-dev";
+
+  src = fetchFromGitHub {
+    owner = "notsecure";
+    repo = "uTox";
+    rev = "d70f9bfb4ff8a156ec35803da6226b0ac8c47961";
+    sha256 = "10cvsg0phv0jsrdl3zkk339c4bzn3xc82q1x90h6gcnrbg4vzmp0";
+  };
+
+  buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype
+                  libv4l libXrender fontconfig libXext libXft ];
+
+  doCheck = false;
+  
+  makeFlags = "DESTDIR=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Lightweight Tox client";
+    license = licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index 63f18ee7dc4..ad8b677a2ec 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -12,11 +12,11 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="1.2.0";
+    version="1.2.3";
     baseName="vacuum-im";
     name="${baseName}-${version}";
     url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
-    hash="55a2c27aaaf79c7a4de127c22d3845ede35970283d35ee57fd5ceca581b085fc";
+    hash="037k2b2kkp2ywkrshqa0fj18mkd2jq60x4x62kzbrsvb85qcbbxh";
   };
 in
 rec {
diff --git a/pkgs/applications/networking/iptraf/default.nix b/pkgs/applications/networking/iptraf/default.nix
index f0a6dbbe7e7..db1f2011f11 100644
--- a/pkgs/applications/networking/iptraf/default.nix
+++ b/pkgs/applications/networking/iptraf/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://iptraf.seul.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Console-based network statistics utility for Linux";
   };
 }
diff --git a/pkgs/applications/networking/irc/bip/bip-0.8.8-yyparse.patch b/pkgs/applications/networking/irc/bip/bip-0.8.8-yyparse.patch
deleted file mode 100644
index 5d48fc99a0d..00000000000
--- a/pkgs/applications/networking/irc/bip/bip-0.8.8-yyparse.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- bip-0.8.8/src/lex.l.orig
-+++ bip-0.8.8/src/lex.l
-@@ -16,7 +16,7 @@
- int linec;
- #include "util.h"
- extern list_t *root_list;
--void yyparse(void);
-+int yyparse(void);
- void free_conf(list_t*);
- int conf_error;
- typedef struct bip bip_t;
diff --git a/pkgs/applications/networking/irc/bip/default.nix b/pkgs/applications/networking/irc/bip/default.nix
index 89fdf0d8df8..6f816e1db17 100644
--- a/pkgs/applications/networking/irc/bip/default.nix
+++ b/pkgs/applications/networking/irc/bip/default.nix
@@ -2,8 +2,8 @@
 
 let
 
-  version = "0.8.8";
-  sha256 = "7ca3fb96f5ee6b76eb398d7ea45344ea24855344ced11632241a33353bba05d7";
+  version = "0.8.9";
+  sha256 = "0q942g9lyd8pjvqimv547n6vik5759r9npw3ws3bdj4ixxqhz59w";
 
   # fetches patches from a gentoo mirror
   fetchPatch =
@@ -25,19 +25,12 @@ in stdenv.mkDerivation {
 
   # includes an important security patch
   patches = map fetchPatch [
-    { file = "bip-0.8.8-configure.patch";
-      sha256 = "286e169745e6cd768f0cb95bbc9589ca2bda497eb06461174549b80a459d901c";
-    }
-    { file = "bip-CVE-2012-0806.patch";
-      sha256 = "e47523095ee1d717c762ca0195520026c6ea2c30d8adcf434d276d42f052d506";
-    }
     { file = "bip-freenode.patch";
       sha256 = "a67e582f89cc6a32d5bb48c7e8ceb647b889808c2c8798ae3eb27d88869b892f";
     }
   ];
 
   postPatch = ''
-    patch -p1 < ${./bip-0.8.8-yyparse.patch}
   '';
 
   configureFlags = [ "--disable-pie" ];
@@ -48,5 +41,7 @@ in stdenv.mkDerivation {
     description = "An IRC proxy (bouncer)";
     homepage = http://bip.milkypond.org/;
     license = stdenv.lib.licenses.gpl2;
+    downloadPage= "https://projects.duckcorp.org/projects/bip/files";
+    inherit version;
   };
 }
diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix
index 5d16c979f6a..2010d064f0d 100644
--- a/pkgs/applications/networking/irc/chatzilla/default.nix
+++ b/pkgs/applications/networking/irc/chatzilla/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, unzip, xulrunner, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "chatzilla-0.9.88";
-  
+  name = "chatzilla-0.9.90.1";
+
   src = fetchurl {
     # Obtained from http://chatzilla.rdmsoft.com/xulrunner/.
-    url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}-xr.zip";
-    sha256 = "041jpjl7wnbhqm2f8bf2pwp6igjapmy74swac94h54n644wl5nz0";
+    url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp";
+    sha256 = "0z38jig91h10cb14rvs30rpg2pgn3v890nyxyy8lxzbv5ncxmngw";
   };
 
   buildInputs = [ unzip makeWrapper ];
@@ -17,10 +17,14 @@ stdenv.mkDerivation rec {
 
     makeWrapper ${xulrunner}/bin/xulrunner $out/bin/chatzilla \
       --add-flags $out/libexec/chatzilla/application.ini
+
+    sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/'
   '';
 
   meta = {
     homepage = http://chatzilla.hacksrus.com/;
     description = "Stand-alone version of Chatzilla, an IRC client";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
new file mode 100644
index 00000000000..f1cc7df1904
--- /dev/null
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, gtk, perl, python, gettext
+, libtool, pciutils, dbus_glib, libcanberra, libproxy
+, libsexy, enchant, libnotify, openssl
+, desktop_file_utils, hicolor_icon_theme
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.9.6.1";
+  name = "hexchat-${version}";
+
+  src = fetchurl {
+    url = "http://dl.hexchat.net/hexchat/${name}.tar.xz";
+    sha256 = "0w34jr1pqril6r011fwxv40m17bnb88q9cv5hf08mv0a9lygyrv2";
+  };
+
+  buildInputs = [
+    pkgconfig gtk perl python gettext
+    libtool pciutils dbus_glib libcanberra libproxy
+    libsexy libnotify openssl
+    desktop_file_utils hicolor_icon_theme
+  ];
+
+  configureFlags = [ "--enable-shm" "--enable-textfe" ];
+
+  meta = {
+    description = "A popular and easy to use graphical IRC (chat) client";
+    homepage = http://hexchat.github.io/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/ii/default.nix b/pkgs/applications/networking/irc/ii/default.nix
index a283258d589..224f639cc15 100644
--- a/pkgs/applications/networking/irc/ii/default.nix
+++ b/pkgs/applications/networking/irc/ii/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "ii-1.6";
+  name = "ii-1.7";
   
   src = fetchurl {
     url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "0afccbcm7i9lfch5mwzs3l1ax79dg3g6rrw0z8rb7d2kn8wsckvr";
+    sha256 = "176cqwnn6h7w4kbfd66hzqa243l26pqp2b06bii0nmnm0rkaqwis";
   };
 
   installPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://tools.suckless.org/ii/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     description = "Irc it, simple FIFO based irc client";
   };
 }
diff --git a/pkgs/applications/networking/irc/irssi/fish/default.nix b/pkgs/applications/networking/irc/irssi/fish/default.nix
index 98d5afa0ba9..64e3d216ac0 100644
--- a/pkgs/applications/networking/irc/irssi/fish/default.nix
+++ b/pkgs/applications/networking/irc/irssi/fish/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/lib/irssi/modules
+    mkdir -p $out/lib/irssi/modules
     cp src/.libs/libfish.so $out/lib/irssi/modules
   '';
   
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   
   meta = {
     homepage = https://github.com/falsovsky/FiSH-irssi;
-    license = "unfree"; # I can't find any mention of license
+    license = stdenv.lib.licenses.unfree; # I can't find any mention of license
     maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/applications/networking/irc/irssi/otr/default.nix b/pkgs/applications/networking/irc/irssi/otr/default.nix
index 00a9aa1fc68..4841aa8070e 100644
--- a/pkgs/applications/networking/irc/irssi/otr/default.nix
+++ b/pkgs/applications/networking/irc/irssi/otr/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }:
 
 let
-  rev = "cab3fc915c";
+  rev = "640e98c74b";
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "irssi-otr-20130601-${rev}";
+  name = "irssi-otr-20131007-${rev}";
   
   src = fetchurl {
     url = "https://github.com/cryptodotis/irssi-otr/tarball/${rev}";
     name = "${name}.tar.gz";
-    sha256 = "0kn9c562zfh36gpcrbpslwjjr78baagdwphczz2d608ndczm1vrk";
+    sha256 = "0d08ianzhy20w0ld8xx7hgrp9psg54l37619pcdpqyrnlzkkdalz";
   };
 
   patchPhase = ''
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
   
   meta = {
     homepage = https://github.com/cryptodotis/irssi-otr;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix
index c4d2f4b3782..7554ad7d1a8 100644
--- a/pkgs/applications/networking/irc/konversation/default.nix
+++ b/pkgs/applications/networking/irc/konversation/default.nix
@@ -3,7 +3,7 @@
 
 let
   pn = "konversation";
-  v = "1.4";
+  v = "1.5";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz";
-    sha256 = "030vsbb18dlzsnjl3fzyd1m9wvvksiyc1lm45abi4q6x4xd60knv";
+    sha256 = "0vsl34kiar7kbsgncycwd7f66f493fip6d635qlprqn1gqhycb9q";
   };
 
   buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Integrated IRC client for KDE";
+    repositories.git = git://anongit.kde.org/konversation;
     license = "GPL";
     inherit (kdelibs.meta) maintainers platforms;
   };
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index 67ff1ca02c4..ba3d7b8c368 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -4,21 +4,25 @@
 , withKDE ? stdenv.isLinux # enable KDE integration
 , ssl ? true # enable SSL support
 , previews ? false # enable webpage previews on hovering over URLs
-, stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon }:
+, tag ? "" # tag added to the package name
+, stdenv, fetchurl, cmake, makeWrapper, qt4, kdelibs, automoc4, phonon, dconf }:
 
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
 
 in with stdenv; mkDerivation rec {
 
-  name = "quassel-0.9.0";
+  version = "0.10.0";
+  name = "quassel${tag}-${version}";
 
   src = fetchurl {
-    url = "http://quassel-irc.org/pub/${name}.tar.bz2";
-    sha256 = "09v0igjkzan3hllk47w39hkav6v1419vpxn2lfd8473kwdmf0grf";
+    url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
+    sha256 = "08vwxkwnzlgnxn0wi6ga9fk8qgc6nklb236hsfnr5ad37bi8q8k8";
   };
 
-  buildInputs = [ cmake qt4 ]
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake makeWrapper qt4 ]
     ++ lib.optional withKDE kdelibs
     ++ lib.optional withKDE automoc4
     ++ lib.optional withKDE phonon;
@@ -36,6 +40,16 @@ in with stdenv; mkDerivation rec {
     ++ edf ssl "WITH_OPENSSL"
     ++ edf previews "WITH_WEBKIT"  ;
 
+  preFixup =
+    lib.optionalString client ''
+        wrapProgram "$out/bin/quasselclient" \
+          --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
+    '' +
+    lib.optionalString monolithic ''
+        wrapProgram "$out/bin/quassel" \
+          --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
+    '';
+
   meta = with stdenv.lib; {
     homepage = http://quassel-irc.org/;
     description = "Qt4/KDE4 distributed IRC client suppporting a remote daemon";
@@ -46,10 +60,9 @@ in with stdenv; mkDerivation rec {
       combination of screen and a text-based IRC client such
       as WeeChat, but graphical (based on Qt4/KDE4).
     '';
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = [ maintainers.phreedom ];
     repositories.git = https://github.com/quassel/quassel.git;
     inherit (qt4.meta) platforms;
   };
 }
-
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 01ba8c97d98..245619fddf0 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -3,31 +3,37 @@
 , pythonPackages, cacert, cmake, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.2";
+  version = "1.0";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/${name}.tar.gz";
-    sha256 = "03ypji34kb5yrxqyn8dbrjm3j00pc8v7wfsip7d3l63nyx79df9v";
+    sha256 = "1z17wyrl5fp697qp44srpmzk79w37f5hm1r0krffbmga6sbzdj3x";
   };
 
   buildInputs = 
     [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
       libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
-      cacert cmake
-    ];
+      cacert cmake ]
+    ++ stdenv.lib.optional stdenv.isDarwin pythonPackages.pync;
+
+  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}";
 
   postInstall = ''
-       wrapProgram "$out/bin/weechat" \
-         --prefix PYTHONPATH : "$PYTHONPATH" \
-         --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages"
+    NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    NIX_PYTHONPATH+="${pythonPackages.pync}/lib/${python.libPrefix}/site-packages"
+  '' + ''
+     wrapProgram "$out/bin/weechat" \
+       --prefix PYTHONPATH : "$PYTHONPATH" \
+       --prefix PYTHONPATH : "$NIX_PYTHONPATH"
   '';
 
   meta = {
     homepage = http://www.weechat.org/;
     description = "A fast, light and extensible chat client";
     license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ garbas the-kenny ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/irc/weechat/devel.nix b/pkgs/applications/networking/irc/weechat/devel.nix
new file mode 100644
index 00000000000..34ca4b4d7c6
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/devel.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchgit, ncurses, openssl, perl, python, aspell, gnutls
+, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
+, pythonPackages, cacert, cmake, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  rev = "124b2668fe4e97e3926caea85ed2c9f7082c4df9";
+  version = "1.0-rev${rev}";
+  name = "weechat-${version}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "git://github.com/weechat/weechat.git";
+    sha256 = "1xl5scyrxmyqaycpalhl3j50s65w2gjdm43vahd618yyykdffr8b";
+  };
+
+  buildInputs = 
+    [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
+      libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
+      cacert cmake ]
+    ++ stdenv.lib.optional stdenv.isDarwin pythonPackages.pync;
+
+  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}";
+
+  postInstall = ''
+    NIX_PYTHON_PATH="$out/lib/${python.libPrefix}/site-packages"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    NIX_PYTHON_PATH+="${pythonPackages.pync}/lib/${python.libPrefix}/site-packages"
+  '' + ''
+     wrapProgram "$out/bin/weechat" \
+       --prefix PYTHONPATH : "$PYTHONPATH" \
+       --prefix PYTHONPATH : "$NIX_PYTHONPATH"
+  '';
+
+  meta = {
+    homepage    = http://www.weechat.org/;
+    description = "A fast, light and extensible chat client";
+    license     = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix
index c3212f6aa56..2d5e6b66bf0 100644
--- a/pkgs/applications/networking/jmeter/default.nix
+++ b/pkgs/applications/networking/jmeter/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, ant }:
 
 stdenv.mkDerivation rec {
-  name = "jmeter-2.9";
+  name = "jmeter-2.11";
   src = fetchurl {
-    url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-jmeter-2.9.tgz";
-    sha256 = "14r3zn910m97jqrf6k5c4lwy214snaap2242qg76h65zk9qr20ni";
+    url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-${name}.tgz";
+    sha256 = "1fr3sw06qncb6yygcf2lbnkxma4v1dbigpf39ajrm0isxbpyv944";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
new file mode 100644
index 00000000000..1e68d2e90b8
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit, buildPythonPackage, pythonPackages }:
+
+buildPythonPackage rec {
+  name = "mailpile-dev";
+
+  src = fetchgit {
+    url = "https://github.com/pagekite/Mailpile.git";
+    rev = "6e19c1942541dbdefb5155db5f2583bf3ed22aeb";
+    sha256 = "04idlbjkasigq3vslcv33kg21rjyklm2yl8pyrf5h94lzabbl1fs";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [
+    pillow jinja2 spambayes pythonPackages."lxml-2.3.6" python.modules.readline or null];
+
+  meta = with stdenv.lib; {
+    description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
+    homepage = https://www.mailpile.is/;
+    license = map (getAttr "shortName") [ licenses.asl20 licenses.agpl3 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index fa006dc5f0d..9c397f27c46 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -15,22 +15,16 @@ assert sslSupport -> openssl != null;
 assert saslSupport -> cyrus_sasl != null;
 
 let
-  gpgmePatch = fetchurl {
-    # Solution for gpgme >= 1.2: http://dev.mutt.org/trac/ticket/3300
-    url = "http://dev.mutt.org/trac/raw-attachment/ticket/3300/mutt-1.5.21-gpgme-init.patch";
-    sha256 = "1qa1c8gns4q3as1h2lk3x4di2k3hr804ar7xlc6xh9r0zjhzmlk4";
-  };
+  version = "1.5.23";
 in
 stdenv.mkDerivation rec {
-  name = "mutt-1.5.21";
+  name = "mutt-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.mutt.org/mutt/devel/${name}.tar.gz";
-    sha256 = "1864cwz240gh0zy56fb47qqzwyf6ghg01037rb4p2kqgimpg6h91";
+    url = "mirror://sourceforge/mutt/${name}.tar.gz";
+    sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s";
   };
 
-  patches = [ (if gpgmeSupport then gpgmePatch else null) ];
-
   buildInputs = [
     ncurses which perl
     (if headerCache then gdbm else null)
@@ -58,8 +52,11 @@ stdenv.mkDerivation rec {
     (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "A small but very powerful text-based mail client";
     homepage = http://www.mutt.org;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ the-kenny ];
   };
 }
-
diff --git a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch
new file mode 100644
index 00000000000..3fb9c7a5f7f
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch
@@ -0,0 +1,12 @@
+diff -r 8f62001989cc configure.ac
+--- a/configure.ac	Sat Feb 08 10:24:22 2014 -0800
++++ b/configure.ac	Wed Jul 02 12:34:40 2014 +0200
+@@ -473,6 +473,8 @@
+                                 mutt_cv_mailpath=/usr/spool/mail
+                         elif test -d /usr/mail; then
+                                 mutt_cv_mailpath=/usr/mail
++                        elif test -d /tmp; then
++                               mutt_cv_mailpath=/tmp
+                         fi])
+                 ])
+         if test "$mutt_cv_mailpath" = no; then
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index ebab3a42af6..7a1eddfa869 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.15.2";
+  name = "notmuch-0.18.1";
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "03cwylm0y9xld0hn753v0hn62f96nagdmzxv8jlz8vdbh9iszs56";
+    sha256 = "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj";
   };
 
   buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ];
diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix
index dd2837da40a..8efda554d73 100644
--- a/pkgs/applications/networking/mailreaders/sup/default.nix
+++ b/pkgs/applications/networking/mailreaders/sup/default.nix
@@ -1,31 +1,40 @@
 { stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
 , xapian_ruby, gpgme, libiconvOrEmpty, mime_types, chronic, trollop, lockfile
-, gettext, iconv, locale, text, highline, rmail_sup, unicode, gnupg, which }:
+, gettext, iconv, locale, text, highline, rmail_sup, unicode, gnupg, which
+, bundler, git }:
 
 stdenv.mkDerivation rec {
-  version = "f27661b1656ae1f0d28fd89595b5a16f268d8d3d";
+  version = "0.18.0";
   name    = "sup-${version}";
-  
+
   meta = {
-    homepage = http://supmua.org;
     description = "A curses threads-with-tags style email client";
+    homepage    = http://supmua.org;
+    license     = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.unix;
   };
 
   dontStrip = true;
 
   src = fetchurl {
-    url    = "https://github.com/sup-heliotrope/sup/archive/${version}.tar.gz";
-    sha256 = "08fxf1knji3260d0mrp86x6yayp43iq7kc5rfay3hga8i2sckdia";
+    url    = "https://github.com/sup-heliotrope/sup/archive/release-${version}.tar.gz";
+    sha256 = "1dhg0i2v0ddhwi32ih5lc56x00kbaikd2wdplgzlshq0nljr9xy0";
   };
 
   buildInputs =
-    [ ruby rake rubygems makeWrapper gpgme ncursesw_sup xapian_ruby
-      libiconvOrEmpty ];
+    [ rake ruby rubygems makeWrapper gpgme ncursesw_sup xapian_ruby
+      libiconvOrEmpty git ];
+
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
 
-  buildPhase = "rake gem";
+  buildPhase = ''
+    # the builder uses git to get a listing of the files
+    git init >/dev/null
+    git add .
+    git commit -m "message" >/dev/null
+    gem build sup.gemspec
+  '';
 
   installPhase = ''
     export HOME=$TMP/home; mkdir -pv "$HOME"
@@ -49,13 +58,13 @@ stdenv.mkDerivation rec {
     # Don't install some dependencies -- we have already installed
     # the dependencies but gem doesn't acknowledge this
     gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
-        --bindir "$out/bin" --no-rdoc --no-ri pkg/sup-999.gem \
-        --ignore-dependencies
+        --bindir "$out/bin" --no-rdoc --no-ri sup-${version}.gem \
+        --ignore-dependencies >/dev/null
 
     # specify ruby interpreter explicitly
     sed -i '1 s|^.*$|#!${ruby}/bin/ruby|' bin/sup-sync-back-maildir
 
-    cp bin/sup-sync-back-maildir "$out"/bin
+    cp bin/sup-sync-back-maildir "$out/bin"
 
     for prog in $out/bin/*; do
       wrapProgram "$prog" --prefix GEM_PATH : "$GEM_PATH" --prefix PATH : "${gnupg}/bin:${which}/bin"
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index 31e65a857df..70d01f5df3e 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -10,12 +10,14 @@ with stdenv.lib;
 assert sslSupport -> openssl != null;
 assert gpgSupport -> gpgme != null;
 
+let version = "3.4.1"; in
+
 stdenv.mkDerivation {
-  name = "sylpheed-3.2.0";
+  name = "sylpheed-${version}";
 
   src = fetchurl {
-    url = http://sylpheed.sraoss.jp/sylpheed/v3.2/sylpheed-3.2.0.tar.bz2;
-    sha256 = "1cdjwn1f8rgcxzfxj7j7qvacmaw4zfhnip81q4n5lj5d6rj7rssa";
+    url = "http://sylpheed.sraoss.jp/sylpheed/v3.4/sylpheed-${version}.tar.bz2";
+    sha256 = "11wpifvn8a0p4dqmvi7r61imqkgm6rjjp3h057c344vny37livbx";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
new file mode 100644
index 00000000000..15acd5af8df
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -0,0 +1,267 @@
+# This file is generated from generate_nix.rb
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_nix.rb > default.nix
+
+{ stdenv, fetchurl, config
+, gconf
+, alsaLib
+, at_spi2_atk
+, atk
+, cairo
+, cups
+, curl
+, dbus_glib
+, dbus_libs
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, glibc
+, gst_plugins_base
+, gstreamer
+, gtk
+, kerberos
+, libX11
+, libXScrnSaver
+, libXext
+, libXinerama
+, libXrender
+, libXt
+, libcanberra
+, libgnome
+, libgnomeui
+, mesa
+, nspr
+, nss
+, pango
+}:
+
+let
+  version = "31.0";
+  sources = [
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "a1e9954236de1d0581342fbb894b721528bc51a208d3bbedd4d8defbcc1cb50f"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "0fe9c22ad8cf575813ae8e476d985a3b951174df5beda67fd98e261f831252aa"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "35fb5c44bc3ed25beec4f6172c44f75426579f27bd2302361870615bb1f62194"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "3b04ffd5e1640c0138e5dab63a1059bd0342fff9f44547c6b34fbe6da810f911"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "2e8a1b96820216fda11c234d80a74d7326b49d7ac3f595f646aa10dccde61940"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "006f25951b4ac90b8d8d32491d260900dfcfb24c10cd4a10dbadf3840b4bcd4e"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "839e95de15a4e0287cfe36d70e07d1d40a1708016f615244a84553794ac76b4c"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "592a353df70c368c3c9855ead6d3b68433e7ebaaf42169108b9e74a83517230b"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "890bc1ee046ebf67079bd39ecb761a78fbf8cee8f72b32958ad18a0c3184b23b"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "7b52dfc2cea5bedae2ccfe11b0ec2d66edb81b76c2272c60f4bb247970384c9f"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "6ab1e46650ff296719e498a1b9e5dad5c2f32e6be9d6fec12d1ab917a5f76872"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "fdb170e3f546de759ef8a8aa85f6c3bf5152e121739cc27797c3065f4f85c183"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "208be79ce95d45f4f69d8bf53d4e2f457410653a81117b4bd4d42bf14a1485dc"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "2e562f9f59457d484ccfb1beb0129e2ca3ba4e5cbf5c955a65480836dc2e6567"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "07c7836bac31fa835c244dbe5eff19bad5dc5a9339cb8a94bd07d88f8590c867"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "7124de1e3cff7a5c17506f8e175aab1aaf96d4c9fd57824d6c0af110f47b1fbc"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "5d4e7f1f82b53161e84abf45f4a7210f0304399efed2df621c2e24cd5f1e1db0"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "814798f7dd066228ae73ce6bfdf430db4f0c4e905ce8a6670c73f894865dbf4e"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "35727d874cdeca69e18cedc109b6c3540c8dbb7450b2158cb1209cf00272cc38"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "0aa2232adc0e06c0a841a11155c2cd8f317b2f12b0e02c239ebe6150ad3bc278"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "b45871e531b18a35f60240dc0417e5a9f08f8c9e3ea762a36e938425505df8b0"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "a32dd96a41ed33a81c240c60c3538db45c1c4357ceaf37c8482a378a526c5454"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "3162753876da622895175afb60cd89be1ee343a10a45f9ac3feb3b306e161838"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "7c8d26a07d239f18f94f14696036974317ac1186072ba4482c315d02dcb97e5f"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "8cfaf98f3702b418bfd7692373b9f6e99a4b06e47a75a2df602e98d8f6acf761"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "6bd9ab36402f3391abc2e96f8786e16407736cf04d524e562736ac47279e2a26"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "0a3e7c130197d4abcbf4d37eef51a946c11cf72707686f8c7a0caa9cc21e75c8"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "8d4003960a8a7a496662b59834118c8712443761b867e5f54f3bf4a683715d22"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "5db77f9d117071feeddb5eadf74ea6332ccf9abaa441ba4d7b0a5f0f3781452d"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "46995a9f269f0385fc9ac9d31ee65d84e79ac81bd61892adaeb1afff991bcc82"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "73071beb9caa24aaac8eec9cfb01f7e333dc6ac438ab36e7f5afa7d850dbeb8e"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "a17cc26a51bbcff44837d74bdb35ba0ae10def6f4b536c4a67e9169221bd0afb"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "4782b1f56c1f5fb1f802385d693a96b5013503e97e4d73e43fb90c3331aec839"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "dbba59d0c697e6dc05bc2b554eed2c6040642cb1246a4119cd7c37b0451c6d4e"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "b37a5eaf187d1c026990f55a3e993594a49bb689f1643d2f944c7f3c7cfd6819"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "629132c5cc5f937fb504542662bb8aa7570eee1ae648087dbfb0c6dedadfa53c"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "89e818736957569f91f7f329118b09a27b072c6d7c89f601eb02cd1d870c4088"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "6a3a358227972a0eb60b1b531f322ebb2e604805bfb50b55d88cb8447b443105"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "794b1e0be4bd6f8facebe3aa44f66a139a660d4fe75891f463adb5d7da7b32cb"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "81b51a607844b229d026d9acec4ea1739c365a890857871260b6eca92a176e04"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "924c5c47c76fc09f5a46176ef1a6e3466d783b8a4c08a5e660a03e0e84459116"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "c46c2285a6f1c825e52ea6cd7dda31d6f67be15668ecf71883c55c9fa21a3fd5"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "58a53bf3ad217b36beb9795f34349cfa3f10b7a39044f024c547be31b033ee28"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "21d1f89810a284818c0a73e8abd5b51a9ea58b7db2b9bf6dd5e0119f4bfc13a3"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "67cb3d38230d24c2a7615468ae2465e6f768904e3735ce31833dcba7b98023c5"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "9e6b5351e96b9b2c57ce04fddaf9656adf84bc2a961a8ca614cec2f830d4e2a7"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "80d0a09d93362f7eff9c7a20025080207a14c43e56b132c3962dd1d795d2a85c"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "07d92405612e1000bc0b401481e94548877511ce224f19b23aa4fa192f21d489"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "0d70e52c8dc5bf6f13c8ea2a5762cb94534ec54548c792ae181febc3d23c01cb"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "2962de1886753b81684360ffbf97afa4d4371662a6f467ebc369e225d335745d"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "6eacb202078be4de4a86c3fc957dbf482e32ab28805d719aa5d0d7f4fd832f48"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "83ed10b7d9d74a28f9982a9d11840522f214ccb53ed599f9fce6ae26bd9d2298"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "227140594d1e12f2edf4e942327a8c64ab922796f7bda324eead8a299a6082ab"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "bc219c6795389fbdf20c4a84a61c350f376374285eff9aaedbc4893fdcbbdc24"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "4ac7de0edc1d2b084f38058f8c55e8c2fad0782a1f7f7ac69af5c6f28e2a71f9"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "cf026ebca03f6eb59b81073f754b9989f2023bb61d8dfaacbb28da3372abf43b"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "001f67664b02736aa757fa99ec00c8df023ead8f94113d1040092057031c4557"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "39fdd81738e0cea77c0f860f0e5253416daa6bd13f1e9feab4c6a52c6dd981f9"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "0a5a830078e0774e81154f07055613d4b6dd6875be4ac976ac70883cfa0ed9cc"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "a33890be6ac154862b7b80f864990b3bbad2db8adbf1d26bf2cd61b175db673e"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "6f837f1c640c46dd99c4ab691ec6964e40b6d931830d4da604d4329c6d1ecde2"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "a37294fbf0b358e5b9619aa36a20f92fc637a6b0697b8d607b958d256ce81225"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "2bbb5800b9a6d03545ca3dfc8f99f9f30c11e474ea360481f1f7e9610b0a87b0"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "e2a68f359f48a19437605b581bf9a8cf911feabfb2b15ec3724c60d1cbfe15ec"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "976fbb88b1c75dc402b9eea76aef4d8a0886ee76bcf65d798a6ae8234b2b297a"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "190679f7638b3697b236d971014f0da938aa2d664afb93e7f4d1c0fb51bfb46e"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "530b19e48b0e49047746b2f5dd486cfb19930b1064478c465ce2acb21eac66ba"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "0fe30abe10b4c97aef9ee40550205e0f269c5cfe76c08a36c8cf886a5af78558"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "3f2d2784e3aa75cbd3ca0579d660b50b31e488253e52fedbfefc7c5448803967"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "83e64293ed8d1ecf509e2617a71fed9583e4d4c3de3ae5b50175ad8c0f8322ae"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "aa282b17eeeb185734f33d2ed9f287958d8a48ed82653d197426e3e3091ecba3"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "c17db84f0cfd5525e4b8a08e300cabbbcd2bc45f59eb886e180eef0f8c4e45ef"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "909ae64789280db1a07b3b57dfa1a5d337fecd3bd59bacd3bab2eb72dbecb04f"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "9021a15bda3d4947e1ed6ee6666a252e3541b020d8d7eb58e854e426719f8d6d"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "a3536d7e8bb429d562e7731fea8675dc9d442ca8e59cc72eb1b404da12d1d53a"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "99cb049415e4837e615e1946409d1fd62966ae8eb843d89dfb61a6675b5b363f"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "06a17ca2ee8f44098252f24dae17589f32c80bd35e127a093c18161751a581fc"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "b8537b39f3e1242e3ed705ff919b01eb89ac72cf7c15ef0c44d258069c8ea317"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "f2f1e9babb37f79121034f9b8cbc90fbf9f0fa1c152a7f0d7162aff6f6e33f1a"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "60bc6bd468c820066e00f8108e0912df57a941b4150c06797a7958ec684c4969"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "a88591a1850b56c68dd75b4ecff79a32d46dcb42f788d66bb46d45cd0f0d5672"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "2bb7656dde363f3c3d3c8c8b4dbdb306f7e618491c917bc7c1b6e6f41d30fbf0"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "b396c752f7652e5ee31d6bec4bfb70b2d86438d966051f91e4d7a77ce5a924dc"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "1f0595e6953b0b6aa09577f180897760f8f85ba15e00e6ae3b12105c705cdac4"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "4d3a4d283705889759dcb321e4b700896b132634005590e546bf6744e6187260"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "456252e7bb5f29ef3c76afb2df0f406fcf93ef1c6df56d0f209bb85e91c8acce"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "ee93df33057576bd55bc80b71aeec7c6f487028f0fe52f679614811be5c71bae"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "7f7189250d76f970bfc1879b2ac6fe2d42bdcf3a652614fa4e080dcc636bbd4c"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "cb389bd9712def87c06ffab3fc50b8fa58c773c6725fd0e0befec3e2ac957ef5"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "8f9bf916357e7385dec5de9e4d58f6dfbe3c7fc6d2b66298304c3630189833e6"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "f89251f74b85c22a9f7b97b844a118e498698e205f733f1fb0d7a98787f973ee"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "019a15e1e83b6810de6a4d64deb3eba1a9c2a0c6f1c382582e356445e40d5bda"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "ae1d03ddf4b424edc59e08c65a9fb20107311289e4faf8f06f14bc471b00d35f"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "a19dce910ba5be35c0fd51be50bd96be3b3db84587f749ed9a108a14a3b732b7"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "8cb4cb6a99955209026224a4cbbcab7b37b0b9fc38147eeaa439631be7750c08"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "4520a3ae24cc7056eb87d48280999c2c3da6aa76b9182c291512dc80363efb27"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "8803a9477f6ac963bdacfd82f6e6b8aabb217fa6c39b311645e461f38cda3757"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c8eae521293986be6d626302d91abbb88a12855565fd41c3614f7a5d7534f0cd"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9ea7f173533757c99a9c2dfdceab5cc58e583f929a2e7db95184823a00319a0a"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "6b9775f8142273d118870887da2728da4732609395897513739df7b352a4989c"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "bcaeea579405f015fcdb78e16cfd92e4c0895614c5966a1a7049a4fe310b1c46"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "7de3a89ece968819fcd7f438aaa2f5762f9d936b20fb3c364467ac123b24182e"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "af7f04ef648264f56dcb62e7e473586f3c5b13d3ecd2918278962f335dda7966"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "8477854792552b471e4eb11f71c79b14544cf438e795feae3082c0f3a31e0c8a"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "21db7e27557670796db9282174e7da04afe3a0c89b31e042f7bbd3992e4e08be"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "8f05b160d346b45308ba0c7dbe531bce043f22abffd2a4d1200628669a3b4aa0"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "5e77c23bdb52dba7b663b574520972e2b78588e5143922c1e1837c0e0bd71a86"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "35e663dad586cce929baa1ec501b149ff586df15a687eb41a8cc619c542a625c"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "211322939ab3b4bfc3e6f0548356c9479db5deb687e1e2232f527462017dcd2d"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "0d50802a6fd7d9256591076c267759d39af91f680025b03ec6925e21c20494e4"; }
+  ];
+
+  arch = if stdenv.system == "i686-linux"
+    then "linux-i686"
+    else "linux-x86_64";
+
+  isPrefixOf = prefix: string:
+    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
+
+  sourceMatches = locale: source:
+      (isPrefixOf source.locale locale) && source.arch == arch;
+
+  systemLocale = config.i18n.defaultLocale or "en-US";
+
+  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
+
+  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
+
+in
+
+stdenv.mkDerivation {
+  name = "thunderbird-bin-${version}";
+
+  src = fetchurl {
+    url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
+    inherit (source) sha256;
+  };
+
+  phases = "unpackPhase installPhase";
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.gcc
+      gconf
+      alsaLib
+      at_spi2_atk
+      atk
+      cairo
+      cups
+      curl
+      dbus_glib
+      dbus_libs
+      fontconfig
+      freetype
+      gdk_pixbuf
+      glib
+      glibc
+      gst_plugins_base
+      gstreamer
+      gtk
+      kerberos
+      libX11
+      libXScrnSaver
+      libXext
+      libXinerama
+      libXrender
+      libXt
+      libcanberra
+      libgnome
+      libgnomeui
+      mesa
+      nspr
+      nss
+      pango
+    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
+      stdenv.gcc.gcc
+    ];
+
+  installPhase =
+    ''
+      mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
+      cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
+
+      mkdir -p "$out/bin"
+      ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
+
+      for executable in \
+        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
+        updater
+      do
+        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/thunderbird-bin-${version}/$executable"
+      done
+
+      for executable in \
+        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
+        updater libxul.so
+      do
+        patchelf --set-rpath "$libPath" \
+          "$out/usr/lib/thunderbird-bin-${version}/$executable"
+      done
+
+      # Create a desktop item.
+      mkdir -p $out/share/applications
+      cat > $out/share/applications/thunderbird.desktop <<EOF
+      [Desktop Entry]
+      Type=Application
+      Exec=$out/bin/thunderbird
+      Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
+      Name=Thunderbird
+      GenericName=Mail Reader
+      Categories=Application;Network;
+      EOF
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla Thunderbird, a full-featured email client";
+    homepage = http://www.mozilla.org/thunderbird/;
+    license = {
+      shortName = "unfree"; # not sure
+      fullName = "unfree";
+      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
+    };
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
new file mode 100644
index 00000000000..e19425c8e17
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
@@ -0,0 +1,210 @@
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "download-installer.cdn.mozilla.net/pub/thunderbird/releases"
+
+arches = ["linux-i686", "linux-x86_64"]
+
+arches.each do |arch|
+  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
+end
+
+locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
+  File.basename(path)
+end
+
+locales.delete("index.html")
+locales.delete("xpi")
+
+real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/thunderbird-*")[0].match(/thunderbird-([0-9.]*)/)[1][0..-2]
+
+locale_arch_path_tuples = locales.flat_map do |locale|
+  arches.map do |arch|
+    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/thunderbird-*")[0]
+
+    [locale, arch, path]
+  end
+end
+
+paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
+
+hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
+  input.each_line.map do |line|
+    $stderr.puts(line)
+
+    line.match(/^[0-9a-f]*/)[0]
+  end
+end
+
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_nix.rb > default.nix
+
+{ stdenv, fetchurl, config
+, gconf
+, alsaLib
+, at_spi2_atk
+, atk
+, cairo
+, cups
+, curl
+, dbus_glib
+, dbus_libs
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, glibc
+, gst_plugins_base
+, gstreamer
+, gtk
+, kerberos
+, libX11
+, libXScrnSaver
+, libXext
+, libXinerama
+, libXrender
+, libXt
+, libcanberra
+, libgnome
+, libgnomeui
+, mesa
+, nspr
+, nss
+, pango
+}:
+
+let
+  version = "#{real_version}";
+  sources = [
+EOH
+
+locale_arch_path_tuples.zip(hashes) do |tuple, hash|
+  locale, arch, path = tuple
+
+  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+
+  arch = if stdenv.system == "i686-linux"
+    then "linux-i686"
+    else "linux-x86_64";
+
+  isPrefixOf = prefix: string:
+    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
+
+  sourceMatches = locale: source:
+      (isPrefixOf source.locale locale) && source.arch == arch;
+
+  systemLocale = config.i18n.defaultLocale or "en-US";
+
+  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
+
+  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
+
+in
+
+stdenv.mkDerivation {
+  name = "thunderbird-bin-${version}";
+
+  src = fetchurl {
+    url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
+    inherit (source) sha256;
+  };
+
+  phases = "unpackPhase installPhase";
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.gcc
+      gconf
+      alsaLib
+      at_spi2_atk
+      atk
+      cairo
+      cups
+      curl
+      dbus_glib
+      dbus_libs
+      fontconfig
+      freetype
+      gdk_pixbuf
+      glib
+      glibc
+      gst_plugins_base
+      gstreamer
+      gtk
+      kerberos
+      libX11
+      libXScrnSaver
+      libXext
+      libXinerama
+      libXrender
+      libXt
+      libcanberra
+      libgnome
+      libgnomeui
+      mesa
+      nspr
+      nss
+      pango
+    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
+      stdenv.gcc.gcc
+    ];
+
+  installPhase =
+    ''
+      mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
+      cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
+
+      mkdir -p "$out/bin"
+      ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
+
+      for executable in \
+        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
+        updater
+      do
+        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/thunderbird-bin-${version}/$executable"
+      done
+
+      for executable in \
+        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
+        updater libxul.so
+      do
+        patchelf --set-rpath "$libPath" \
+          "$out/usr/lib/thunderbird-bin-${version}/$executable"
+      done
+
+      # Create a desktop item.
+      mkdir -p $out/share/applications
+      cat > $out/share/applications/thunderbird.desktop <<EOF
+      [Desktop Entry]
+      Type=Application
+      Exec=$out/bin/thunderbird
+      Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
+      Name=Thunderbird
+      GenericName=Mail Reader
+      Categories=Application;Network;
+      EOF
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla Thunderbird, a full-featured email client";
+    homepage = http://www.mozilla.org/thunderbird/;
+    license = {
+      shortName = "unfree"; # not sure
+      fullName = "unfree";
+      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
+    };
+    platforms = platforms.linux;
+  };
+}
+EOF
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 08758c55a4e..c0c11ff1f1c 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, gtk, perl, python, zip, unzip
-, libIDL, dbus_glib, bzip2, alsaLib, nspr, yasm, mesa, nss
-, libnotify, cairo, pixman, fontconfig
-, libjpeg
-, pythonPackages
-
+{ stdenv, fetchurl, pkgconfig, m4, gtk, pango, perl, python, zip, libIDL
+, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, hunspell, libevent, libstartup_notification, libvpx
+, cairo, gstreamer, gst_plugins_base, icu
+, debugBuild ? false
 , # If you want the resulting program to call itself "Thunderbird"
   # instead of "Shredder", enable this option.  However, those
   # binaries may not be distributed without permission from the
@@ -12,58 +13,75 @@
   enableOfficialBranding ? false
 }:
 
-let version = "17.0.8"; in
+let version = "31.0"; in
+let verName = "${version}"; in
 
-stdenv.mkDerivation {
-  name = "thunderbird-${version}";
+stdenv.mkDerivation rec {
+  name = "thunderbird-${verName}";
 
   src = fetchurl {
-    url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
-    sha1 = "4bcbb33f0b3ea050e805723680b5669d80438812";
+    url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
+    sha1 = "0fe6666fddd4db82ec2e389f30c5ea11d4f72be5";
   };
 
-  #enableParallelBuilding = true;
-
-  buildInputs =
-    [ pkgconfig perl python zip unzip bzip2 gtk dbus_glib alsaLib libIDL nspr
-      libnotify cairo pixman fontconfig yasm mesa nss
-      libjpeg pythonPackages.sqlite3
-    ];
+  buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
+    [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
+      python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+      xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+      alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+      xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+      xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+      hunspell libevent libstartup_notification cairo icu
+    ] ++ [ m4 ];
 
-  configureFlags =
-    [ "--enable-application=mail"
-      "--enable-optimize"
-      "--with-pthreads"
-      "--disable-debug"
-      "--enable-strip"
-      "--with-pthreads"
+  configureFlags = [ "--enable-application=mail" ]
+    # from firefox30Pkgs.commonConfigureFlags, but without gstreamer and libvpx
+    ++ [
       "--with-system-jpeg"
-      #"--with-system-png"
       "--with-system-zlib"
       "--with-system-bz2"
       "--with-system-nspr"
       "--with-system-nss"
-      # Broken: https://bugzilla.mozilla.org/show_bug.cgi?id=722975
-      #"--enable-system-cairo"
+      "--with-system-libevent"
+      #"--with-system-libvpx"
+      "--with-system-png"
+      "--with-system-icu"
+      "--enable-system-ffi"
+      "--enable-system-hunspell"
+      "--enable-system-pixman"
+      "--enable-system-sqlite"
+      "--enable-system-cairo"
+      "--disable-gstreamer"
+      "--enable-startup-notification"
+      # "--enable-content-sandbox"            # available since 26.0, but not much info available
+      # "--enable-content-sandbox-reporter"   # keeping disabled for now
       "--disable-crashreporter"
-      "--disable-necko-wifi"
-      "--disable-webm"
       "--disable-tests"
-      "--enable-calendar"
-      "--disable-ogg"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer"
+      "--disable-updater"
+      "--disable-pulseaudio"
+    ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+                        else [ "--disable-debug" "--enable-release"
+                               "--enable-optimize" "--enable-strip" ])
+    ++ [
+      "--disable-javaxpcom"
+      "--enable-stdcxx-compat" # Avoid dependency on libstdc++ 4.7
     ]
     ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
 
-  # The Thunderbird Makefiles refer to the variables LIBXUL_DIST,
-  # prefix, and PREFIX in some places where they are not set.  In
-  # particular, there are some linker flags like
-  # `-rpath-link=$(LIBXUL_DIST)/bin'.  Since this expands to
-  # `-rpath-link=/bin', the build fails due to the purity checks in
-  # the ld wrapper.  So disable the purity check for now.
-  preBuild = "NIX_ENFORCE_PURITY=0";
+  configurePhase = ''
+    patchShebangs .
+
+    echo '${stdenv.lib.concatMapStrings (s : "ac_add_options ${s}\n") configureFlags}' > .mozconfig
+    echo "ac_add_options --prefix='$out'" >> .mozconfig
+    echo "mk_add_options MOZ_MAKE_FLAGS='-j$NIX_BUILD_CORES'" >> .mozconfig
+
+    make ${makeFlags} configure
+  '';
 
-  # This doesn't work:
-  #makeFlags = "LIBXUL_DIST=$(out) prefix=$(out) PREFIX=$(out)";
+  makeFlags = "-f client.mk";
+  buildFlags = "build";
 
   postInstall =
     ''
@@ -83,7 +101,7 @@ stdenv.mkDerivation {
     '';
 
   meta = with stdenv.lib; {
-    description = "Mozilla Thunderbird, a full-featured email client";
+    description = "A full-featured e-mail client";
     homepage = http://www.mozilla.org/thunderbird/;
     license =
       # Official branding implies thunderbird name and logo cannot be reuse,
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index 584fdcd170a..2b42a275d8c 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, pkgconfig, gnutls, gsasl, libidn }:
 
 stdenv.mkDerivation rec {
-  name = "msmtp-1.4.31";
+  name = "msmtp-1.4.32";
 
   src = fetchurl {
     url = "mirror://sourceforge/msmtp/${name}.tar.bz2";
-    sha256 = "0pr29kb7qsz4q6yfw5wvmw1wm4axi8kc97qhhmp50bx2bylzjyi4";
+    sha256 = "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b";
   };
 
   buildInputs = [ openssl pkgconfig gnutls gsasl libidn ];
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 0981ab39449..7b9396ff5ff 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,45 +1,54 @@
-{ stdenv, fetchurl, qt4, libvorbis, boost, speechd, protobuf, libsndfile,
- avahi, dbus, libcap, pkgconfig,
-jackSupport ? false, 
-jackaudio ? null }:
-
-
+{ stdenv, fetchurl, qt4, boost, protobuf, libsndfile
+, speex, libopus, avahi, pkgconfig
+, jackSupport ? false
+, jack2 ? null
+, speechdSupport ? false
+, speechd ? null
+}:
+
+assert jackSupport -> jack2 != null;
+assert speechdSupport -> speechd != null;
+
+let
+  optional = stdenv.lib.optional;
+  optionalString = stdenv.lib.optionalString;
+in
 stdenv.mkDerivation rec {
   name = "mumble-" + version;
-  version = "1.2.4";
+  version = "1.2.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/mumble/${name}.tar.gz";
-    sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1";
+    sha256 = "0zjqkkdkcvgmqic6np87hj6b6f851lkzyd6y3cqj6zzacjvps31d";
   };
 
-  patchPhase = ''
-    patch -p1 < ${ ./mumble-jack-support.patch }
-  '';
+  patches = optional jackSupport ./mumble-jack-support.patch;
 
   configurePhase = ''
-    qmake CONFIG+=no-g15 CONFIG+=no-update \
-      CONFIG+=no-embed-qt-translations CONFIG+=no-ice \
-  '' 
-  + stdenv.lib.optionalString jackSupport ''
-    CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio
+    qmake CONFIG+=no-g15 CONFIG+=no-update CONFIG+=no-server \
+      CONFIG+=no-embed-qt-translations CONFIG+=packaged \
+      CONFIG+=bundled-celt CONFIG+=no-bundled-opus \
+      ${optionalString (!speechdSupport) "CONFIG+=no-speechd"} \
+      ${optionalString jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"} \
+      CONFIG+=no-bundled-speex
   '';
 
 
-  buildInputs = [ qt4 libvorbis boost speechd protobuf libsndfile avahi dbus
-    libcap pkgconfig ]
-    ++ (stdenv.lib.optional jackSupport jackaudio);
+  buildInputs = [ qt4 boost protobuf libsndfile speex
+    libopus avahi pkgconfig ]
+    ++ (optional jackSupport jack2)
+    ++ (optional speechdSupport speechd);
 
   installPhase = ''
     mkdir -p $out
     cp -r ./release $out/bin
   '';
 
-  meta = { 
-    homepage = http://mumble.sourceforge.net/;
+  meta = with stdenv.lib; { 
+    homepage = "http://mumble.sourceforge.net/";
     description = "Low-latency, high quality voice chat software";
-    license = "BSD";
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ viric ];
   };
 }
diff --git a/pkgs/applications/networking/mumble/murmur.nix b/pkgs/applications/networking/mumble/murmur.nix
new file mode 100644
index 00000000000..17254aa2fdd
--- /dev/null
+++ b/pkgs/applications/networking/mumble/murmur.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, qt4, boost, protobuf
+, avahi, libcap, pkgconfig
+, iceSupport ? false
+, zeroc_ice ? null
+}:
+
+assert iceSupport -> zeroc_ice != null;
+
+let
+  optional = stdenv.lib.optional;
+  optionalString = stdenv.lib.optionalString;
+in
+stdenv.mkDerivation rec {
+  name = "murmur-" + version;
+  version = "1.2.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mumble/mumble-${version}.tar.gz";
+    sha256 = "1zxnbwbd81p7lvscghlpkad8kynh9gbf1nhc092sp64pp37xwv47";
+  };
+
+  patchPhase = optional iceSupport ''
+    sed -i 's,/usr/share/Ice/,${zeroc_ice}/,g' src/murmur/murmur.pro
+  '';
+
+  configurePhase = ''
+    qmake CONFIG+=no-client CONFIG+=no-embed-qt \
+    ${optionalString (!iceSupport) "CONFIG+=no-ice"}
+  '';
+
+  buildInputs = [ qt4 boost protobuf avahi libcap pkgconfig ]
+    ++ optional iceSupport [ zeroc_ice ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r ./release $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://mumble.sourceforge.net/";
+    description = "Low-latency, high quality voice chat software";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ viric ];
+  };
+}
diff --git a/pkgs/applications/networking/newsreaders/kwooty/default.nix b/pkgs/applications/networking/newsreaders/kwooty/default.nix
index 15b1c6c6b4e..e49e2c6fe26 100644
--- a/pkgs/applications/networking/newsreaders/kwooty/default.nix
+++ b/pkgs/applications/networking/newsreaders/kwooty/default.nix
@@ -5,14 +5,14 @@
 , unrar, p7zip, par2cmdline, coreutils
 }:
 
-let version = "0.8.1";
+let version = "0.8.4";
     name = "kwooty-${version}";
 in stdenv.mkDerivation {
   inherit name;
   
   src = fetchurl {
     url = "mirror://sourceforge/kwooty/${name}.tar.gz";
-    sha256 = "746ed50ec3c067711932c89dc3ee5527c126f37c6922b3eda49535eb83c245e4";
+    sha256 = "0i3zmh7y52n5k0yn3xc6zjpjz75f48nly40n394i6sxy89psgfc2";
   };
 
   patches = [ ./searchPath.patch ];
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 55e0ed88814..a5216b2902a 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -1,27 +1,56 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk2, gnome2 /*just GConf*/
-, libsoup, libunique, libxslt, webkit_gtk2, json_glib
-, libnotify /*optional*/ }:
+{ stdenv, fetchurl, pkgconfig, intltool, python, pygobject3
+, glib, gnome3, pango, libxml2, libxslt, sqlite, libsoup, glib_networking
+, webkitgtk, json_glib, gobjectIntrospection, gst_all_1
+, libnotify
+, makeWrapper
+}:
 
-let version = "1.8.15";
+let pname = "liferea";
+    version = "1.10.10";
 in
 stdenv.mkDerivation rec {
-  name = "liferea-${version}";
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/liferea/Liferea%20Stable/${version}/${name}.tar.bz2";
-    sha256 = "12hhdl5biwcvr9ds7pdhhvlp4vggjix6xm4z5pnfaz53ai2dnc99";
+    url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
+    sha256 = "0y01lhw0fn5m0j9ykz8x7i0wchjqbxp33cvvprsfxfwzz4x31jm4";
   };
 
-  buildInputs = [
-    pkgconfig intltool gtk2 gnome2.GConf
-    libsoup libunique libxslt webkit_gtk2 json_glib
+  buildInputs = with gst_all_1; [
+    pkgconfig intltool python
+    glib gnome3.gtk pango libxml2 libxslt sqlite libsoup
+    webkitgtk json_glib gobjectIntrospection gnome3.gsettings_desktop_schemas
+    gnome3.libpeas gnome3.dconf
+    gst-plugins-base gst-plugins-good gst-plugins-bad
+    gnome3.libgnome_keyring
     libnotify
+    makeWrapper
   ];
 
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+
+    for f in "$out"/bin/*; do
+      wrapProgram "$f" \
+        --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
+        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+        --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
   meta = {
     description = "A GTK-based news feed agregator";
     homepage = http://lzone.de/liferea/;
-    maintainers = [ stdenv.lib.maintainers.vcunat ];
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ vcunat romildo ];
     platforms = stdenv.lib.platforms.linux;
+
+    longDescription = ''
+      Liferea (Linux Feed Reader) is an RSS/RDF feed reader.
+      It's intended to be a clone of the Windows-only FeedReader.
+      It can be used to maintain a list of subscribed feeds,
+      browse through their items, and show their contents.
+    '';
   };
 }
diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix
new file mode 100644
index 00000000000..c933460af43
--- /dev/null
+++ b/pkgs/applications/networking/newsreaders/slrn/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl,
+slang, ncurses
+}:
+
+let version = "1.0.1"; in
+
+stdenv.mkDerivation {
+  name = "slrn-${version}";
+
+  src = fetchurl {
+    url = "http://www.jedsoft.org/slrn/download/slrn-1.0.1.tar.gz";
+    sha256 = "1rmaprfwvshzkv0c5vi43839cz3laqjpl306b9z0ghwyjdha1d06";
+  };
+
+  preConfigure = ''
+    sed -i -e "s|-ltermcap|-lncurses|" configure
+    sed -i autoconf/Makefile.in src/Makefile.in \
+      -e "s|/bin/cp|cp|"  \
+      -e "s|/bin/rm|rm|"
+  '';
+
+  configureFlags = "--with-slang=${slang}";
+
+  buildInputs = [ slang ncurses ];
+
+  meta = {
+    description = "The slrn (S-Lang read news) newsreader";
+    homepage = http://slrn.sourceforge.net/index.html;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/networking/notbit/default.nix b/pkgs/applications/networking/notbit/default.nix
new file mode 100644
index 00000000000..8a7d7d3aedc
--- /dev/null
+++ b/pkgs/applications/networking/notbit/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, autoconf, automake, pkgconfig, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "notbit-git-faf0930";
+
+  src = fetchgit {
+    url = "git://github.com/bpeel/notbit";
+    rev = "faf09304bf723e75f3d98cca93cf45236ee9d6b6";
+    sha256 = "b229f87c4c5e901bfd8b13dffe31157126d98ed02118fff6553e8b58eb9ed030";
+  };
+
+  buildInputs = [ autoconf automake pkgconfig openssl ];
+
+  preConfigure = "autoreconf -vfi";
+
+  meta = with stdenv.lib; { 
+    homepage = http://busydoingnothing.co.uk/notbit/;
+    description = "A minimal bitmessage client";
+    license = licenses.mit;
+
+    # This is planned to change when the project officially supports other platforms
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
new file mode 100644
index 00000000000..e4ca6d423cd
--- /dev/null
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, cmake, pkgconfig, qt4, boost, bzip2, libX11, pcre, libidn, lua5, miniupnpc, aspell, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "eiskaltdcpp-2.2.9";
+
+  src = fetchurl {
+    url = "https://eiskaltdc.googlecode.com/files/${name}.tar.xz";
+    sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
+  };
+
+  buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
+
+  cmakeFlags = ''
+    -DUSE_ASPELL=ON
+    -DUSE_QT_QML=ON
+    -DFREE_SPACE_BAR_C=ON
+    -DUSE_MINIUPNP=ON
+    -DDBUS_NOTIFY=ON
+    -DUSE_JS=ON
+    -DPERL_REGEX=ON
+    -DUSE_CLI_XMLRPC=ON
+    -DWITH_SOUNDS=ON
+    -DLUA_SCRIPT=ON
+    -DWITH_LUASCRIPTS=ON
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform program that uses the Direct Connect and ADC protocols";
+    homepage = https://code.google.com/p/eiskaltdc/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix
index 67037a07132..4e705711677 100644
--- a/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/pkgs/applications/networking/p2p/freenet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, apacheAntOpenJDK, jre }:
+{ stdenv, fetchurl, ant, jdk }:
 
 let
   # The .gitmodules in freenet-official-20130413-eccc9b3198
@@ -14,7 +14,7 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "freenet-official-20130413-eccc9b3198";
+  name = "freenet-20130413-eccc9b3198";
 
   src = fetchurl {
     url = https://github.com/freenet/fred-official/tarball/eccc9b3198;
@@ -29,28 +29,28 @@ stdenv.mkDerivation {
     sed '/antcall.*-ext/d' -i build.xml
   '';
 
-  buildInputs = [ apacheAntOpenJDK jre ];
+  buildInputs = [ ant jdk ];
 
   buildPhase = "ant package-only";
 
   installPhase = ''
-    ensureDir $out/share/freenet $out/bin
+    mkdir -p $out/share/freenet $out/bin
     cp lib/bcprov.jar $out/share/freenet
     cp lib/freenet/freenet-ext.jar $out/share/freenet
     cp dist/freenet.jar $out/share/freenet
 
     cat <<EOF > $out/bin/freenet
     #!${stdenv.shell}
-    ${jre}/bin/java -cp $out/share/freenet/bcprov.jar:$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar \\
+    ${jdk.jre}/bin/java -cp $out/share/freenet/bcprov.jar:$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar \\
       -Xmx1024M freenet.node.NodeStarter
     EOF
     chmod +x $out/bin/freenet
   '';
 
-  meta = { 
+  meta = {
     description = "Decentralised and censorship-resistant network";
     homepage = https://freenetproject.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 704dd5719c7..6c28840f7e5 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
-, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
-, libxml2, ncurses, gettext, libunistring, libidn
-, makeWrapper }:
+{ stdenv, fetchurl, adns, curl, gettext, gmp, gnutls, libextractor
+, libgcrypt, libgnurl, libidn, libmicrohttpd, libtool, libunistring
+, makeWrapper, ncurses, pkgconfig, libxml2, sqlite, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "gnunet-0.9.5a";
+  name = "gnunet-0.10.1";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${name}.tar.gz";
-    sha256 = "1mxy1ikv44fia3cybpmiw298x5371a2qh8hr7pi55yg1xqbhfq0x";
+    sha256 = "04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n";
   };
 
   buildInputs = [
-    libextractor libmicrohttpd libgcrypt gmp curl libtool
-    zlib adns sqlite libxml2 ncurses libidn
-    pkgconfig gettext libunistring makeWrapper
+    adns curl gettext gmp gnutls libextractor libgcrypt libgnurl libidn
+    libmicrohttpd libtool libunistring libxml2 makeWrapper ncurses
+    pkgconfig sqlite zlib
   ];
 
   preConfigure = ''
@@ -74,7 +73,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://gnunet.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix
index ed6c348706b..25a51b3c936 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/svn.nix
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://gnunet.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index b408f20b711..e53fda08911 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -5,11 +5,11 @@ stdenv.mkDerivation rec {
   name = pname + "-" + version;
 
   pname = "ktorrent";
-  version = "4.2.1";
+  version = "4.3.1";
 
   src = fetchurl {
     url = "${meta.homepage}/downloads/${version}/${name}.tar.bz2";
-    sha256 = "1b6w7i1vvq8mlw9yrlxvb51hvaj6rpl8lv9b9zagyl3wcanz73zd";
+    sha256 = "66094f6833347afb0c49e332f0ec15ec48db652cbe66476840846ffd5ca0e4a1";
   };
 
   patches = [ ./find-workspace.diff ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "KDE integrated BtTorrent client";
-    homepage = http://ktorrent.org;
+    homepage = http://ktorrent.pwsp.net;
     maintainers = with stdenv.lib.maintainers; [ sander urkud ];
     inherit (libktorrent.meta) platforms;
   };
diff --git a/pkgs/applications/networking/p2p/ldcpp/default.nix b/pkgs/applications/networking/p2p/ldcpp/default.nix
index 1b601992aa6..6f282b30fa1 100644
--- a/pkgs/applications/networking/p2p/ldcpp/default.nix
+++ b/pkgs/applications/networking/p2p/ldcpp/default.nix
@@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
       [doScons doForceShare doPropagate]);
   meta = {
     description = "Linux DC++ - Direct Connect client";
-    inherit src;
   };
 }
diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix
index 2f739b056d4..57ea6248531 100644
--- a/pkgs/applications/networking/p2p/mldonkey/default.nix
+++ b/pkgs/applications/networking/p2p/mldonkey/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ocaml, zlib, bzip2, ncurses, file, gd, libpng }:
 
 stdenv.mkDerivation (rec {
-  name = "mldonkey-3.1.3";
+  name = "mldonkey-3.1.5";
   
   src = fetchurl {
     url = "mirror://sourceforge/mldonkey/${name}.tar.bz2";
-    sha256 = "1qnr0qzliw4aynf2zhmm5hmrc9bd5vhdq3bi8n88j4nc86gry9bw";
+    sha256 = "1jqik6b09p27ckssppfiqpph7alxbgpnf9w1s0lalmi3qyyd9ybl";
   };
   
   meta = {
diff --git a/pkgs/applications/networking/p2p/ncdc/default.nix b/pkgs/applications/networking/p2p/ncdc/default.nix
new file mode 100644
index 00000000000..5f7ad92f7cc
--- /dev/null
+++ b/pkgs/applications/networking/p2p/ncdc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, ncurses, zlib, bzip2, sqlite, pkgconfig, glib, gnutls }:
+
+let
+  version = "1.19.1";
+in
+stdenv.mkDerivation {
+  name = "ncdc-${version}";
+
+  src = fetchurl {
+    url = "http://dev.yorhel.nl/download/ncdc-${version}.tar.gz";
+    sha256 = "0iwx4b3x207sw11qqjfynpwnhryhixjzbgcy9l9zfisa8f0k7cm6";
+  };
+
+  buildInputs = [ ncurses zlib bzip2 sqlite pkgconfig glib gnutls ];
+
+  meta = {
+    description = "Modern and lightweight direct connect client with a friendly ncurses interface";
+    homepage = http://dev.yorhel.nl/ncdc;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux; # arbitrary
+    maintainers = [ stdenv.lib.maintainers.emery ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
new file mode 100644
index 00000000000..0ba160c8a91
--- /dev/null
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, qt4, which, dbus_libs, boost, libtorrentRasterbar
+, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "qbittorrent-3.1.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
+    sha256 = "16m3l8qjcj63brzrdn82cbijvz8fcxfgpibi4g5g6sbissjkwsww";
+  };
+
+  buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar
+    pkgconfig ];
+
+  configureFlags = "--with-libboost-inc=${boost}/include "
+    + "--with-libboost-lib=${boost}/lib";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Free Software alternative to µtorrent";
+    homepage = http://www.qbittorrent.org/;
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/retroshare/0.6.nix b/pkgs/applications/networking/p2p/retroshare/0.6.nix
new file mode 100644
index 00000000000..6ea7089b3fb
--- /dev/null
+++ b/pkgs/applications/networking/p2p/retroshare/0.6.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchsvn, cmake, qt, libupnp, gpgme, gnome3, glib, libssh, pkgconfig, protobuf, bzip2
+, libXScrnSaver, speex, curl, libxml2, libxslt, sqlcipher }:
+
+stdenv.mkDerivation {
+  name = "retroshare-0.6-svn-7445";
+
+  src = fetchsvn {
+    url = svn://svn.code.sf.net/p/retroshare/code/trunk;
+    rev = 7445;
+    sha256 = "1dqh65bn21g7ix752ddrr10kijjdwjgjipgysyxnm90zjmdlx3cc";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2 -I${sqlcipher}/include/sqlcipher";
+
+  patchPhase = ''
+    # Fix build error
+    sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' \
+      libretroshare/src/upnp/UPnPBase.cpp
+    # Extensions get installed 
+    sed -i "s,/usr/lib/retroshare/extensions6/,$out/share/retroshare," \
+      libretroshare/src/rsserver/rsinit.cc
+    # Where to find the bootstrap DHT bdboot.txt
+    sed -i "s,/usr/share/RetroShare,$out/share/retroshare," \
+      libretroshare/src/rsserver/rsaccounts.cc
+  '';
+
+  #  sed -i "s,LIBS +=.*sqlcipher.*,LIBS += -lsqlcipher," \
+  #    retroshare-gui/src/retroshare-gui.pro \
+  #    retroshare-nogui/src/retroshare-nogui.pro
+
+  buildInputs = [ speex qt libupnp gpgme gnome3.libgnome_keyring glib libssh pkgconfig
+                  protobuf bzip2 libXScrnSaver curl libxml2 libxslt sqlcipher ];
+
+  configurePhase = ''
+    qmake PREFIX=$out DESTDIR=$out RetroShare.pro
+  '';
+
+  postInstall = ''
+    mkdir -p $out/bin
+    mv $out/retroshare-nogui $out/bin
+    mv $out/RetroShare $out/bin
+
+    # plugins
+    mkdir -p $out/share/retroshare
+    mv $out/lib* $out/share/retroshare
+
+    # BT DHT bootstrap
+    cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare
+  '';
+
+  meta = with stdenv.lib; {
+    description = "";
+    homepage = http://retroshare.sourceforge.net/;
+    #license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix
index d4e3aa91cc0..a139531b19a 100644
--- a/pkgs/applications/networking/p2p/retroshare/default.nix
+++ b/pkgs/applications/networking/p2p/retroshare/default.nix
@@ -1,28 +1,54 @@
-{stdenv, fetchurl, qt, libupnp, gpgme, libgnome_keyring, glib}:
-
-throw "still fails to build"
+{ stdenv, fetchurl, cmake, qt, libupnp, gpgme, gnome3, glib, libssh, pkgconfig, protobuf, bzip2
+, libXScrnSaver, speex, curl, libxml2, libxslt }:
 
 stdenv.mkDerivation {
-  name = "retroshare-0.5.1d";
+  name = "retroshare-0.5.5c";
 
   src = fetchurl {
-    url = mirror://sourceforge/retroshare/RetroShare-v0.5.1d.tar.gz;
-    sha256 = "15971wxx8djwcxn170jyn0mlh7cfzqsf031aa849wr9z234gwrcn";
+    url = mirror://sourceforge/project/retroshare/RetroShare/0.5.5c/retroshare_0.5.5-0.7068.tar.gz;
+    sha256 = "0l2n4pr1hq66q6qa073hrdx3s3d7iw54z8ay1zy82zhk2rwhsavp";
   };
 
-  buildInputs = [ qt libupnp gpgme libgnome_keyring glib ];
-
-  buildPhase = ''
-    cd libbitdht/src
-    qmake libbitdht.pro PREFIX=$out
-    make
-    cd ../..
-    cd libretroshare/src
-    qmake libretroshare.pro PREFIX=$out
-    make
-    cd ../../src
-    qmake libretroshare.pro PREFIX=$out
-    make
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2";
+
+  patchPhase = ''
+    sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' \
+      libretroshare/src/upnp/UPnPBase.cpp
+    # Extensions get installed 
+    sed -i "s,/usr/lib/retroshare/extensions/,$out/share/retroshare," \
+      libretroshare/src/rsserver/rsinit.cc
+    # For bdboot.txt
+    sed -i "s,/usr/share/RetroShare,$out/share/retroshare," \
+      libretroshare/src/rsserver/rsinit.cc
+  '';
+
+  buildInputs = [ speex qt libupnp gpgme gnome3.libgnome_keyring glib libssh pkgconfig
+                  protobuf bzip2 libXScrnSaver curl libxml2 libxslt ];
+
+  sourceRoot = "retroshare-0.5.5/src";
+
+  configurePhase = ''
+    qmake PREFIX=$out DESTDIR=$out RetroShare.pro
   '';
 
+  postInstall = ''
+    mkdir -p $out/bin
+    mv $out/retroshare-nogui $out/bin
+    mv $out/RetroShare $out/bin
+
+    # plugins
+    mkdir -p $out/share/retroshare
+    mv $out/lib* $out/share/retroshare
+
+    # BT DHT bootstrap
+    cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare
+  '';
+
+  meta = with stdenv.lib; {
+    description = "";
+    homepage = http://retroshare.sourceforge.net/;
+    #license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
 }
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index 894b1363cd0..8fa5cb6c2ee 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -1,15 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, json_glib, curl }:
+{ stdenv, makeWrapper, fetchurl, pkgconfig, intltool, gtk3, json_glib, curl }:
 
 
 stdenv.mkDerivation rec {
-  name = "transmission-remote-gtk-1.0.1";
+  name = "transmission-remote-gtk-1.1.1";
 
   src = fetchurl {
     url = "http://transmission-remote-gtk.googlecode.com/files/${name}.tar.gz";
-    sha256 = "b1ae032dd52b2d7975656913e4fe39e7f74d29ef8138292d8b82318ff9afed6f";
+    sha256 = "1jbh2pm4i740cmzqd2r7zxnqqipvv2v2ndmnmk53nqrxcbgc4nlz";
   };
 
-  buildInputs = [ pkgconfig intltool gtk json_glib curl ];
+  buildInputs = [ makeWrapper pkgconfig intltool gtk3 json_glib curl ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/transmission-remote-gtk" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
 
   meta = {
    description = "GTK remote control for the Transmission BitTorrent client";
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index cb439ddb462..874de7d5192 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
-, openssl, curl, libevent, inotifyTools
+, openssl, curl, libevent, inotifyTools, systemd
 , enableGTK3 ? false, gtk3
 }:
 
 let
-  version = "2.82";
+  version = "2.84";
 in
 
 with { inherit (stdenv.lib) optional optionals optionalString; };
@@ -14,11 +14,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.transmissionbt.com/files/transmission-${version}.tar.xz";
-    sha256 = "08imy28hpjxwdzgvhm66hkfyzp8qnnqr4jhv3rgshryzhw86b5ir";
+    sha256 = "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59";
   };
 
   buildInputs = [ pkgconfig intltool file openssl curl libevent inotifyTools ]
-    ++ optionals enableGTK3 [ gtk3 makeWrapper ];
+    ++ optionals enableGTK3 [ gtk3 makeWrapper ]
+    ++ optional stdenv.isLinux systemd;
 
   preConfigure = ''
     sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure
@@ -27,10 +28,10 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-systemd-daemon" ]
     ++ optional enableGTK3 "--with-gtk";
 
-  postInstall = optionalString enableGTK3 /* gsettings schemas for file dialogues */ ''
+  preFixup = optionalString enableGTK3 /* gsettings schemas for file dialogues */ ''
     rm "$out/share/icons/hicolor/icon-theme.cache"
     wrapProgram "$out/bin/transmission-gtk" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share"
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.transmissionbt.com/;
     license = licenses.gpl2; # parts are under MIT
-    maintainers = with maintainers; [ astsmtl vcunat ];
+    maintainers = with maintainers; [ astsmtl vcunat wizeman ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 5fa19c71d9a..5bc228f9a6b 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.tribler.org/;
     description = "A completely decentralised P2P filesharing client based on the Bittorrent protocol";
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 }
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
new file mode 100644
index 00000000000..36f83a0611b
--- /dev/null
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python
+, boost, db, openssl, geoip, libiconv, miniupnpc
+, srcOnly, fetchgit
+}:
+
+let
+  twisterHTML = srcOnly {
+    name = "twister-html";
+    src = fetchgit {
+      url = "git://github.com/miguelfreitas/twister-html.git";
+      rev = "891f7bf24e1c3df7ec5e1db23c765df2d7c2d5a9";
+      sha256 = "0d96rfkpwxyiz32k2pd6a64r2kr3600qgp9v73ddcpq593wf11qb";
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  name = "twister-${version}";
+  version = "0.9.22";
+
+  src = fetchurl {
+    url = "https://github.com/miguelfreitas/twister-core/"
+        + "archive/v${version}.tar.gz";
+    sha256 = "1haq0d7ypnazs599g4kcq1x914fslc04wazqj54rlvjdp7yx4j3f";
+  };
+
+  configureFlags = [
+    "--with-libgeoip"
+    "--with-libiconv"
+    "--with-boost=${boost}"
+    "--disable-deprecated-functions"
+    "--enable-tests"
+    "--enable-python-binding"
+  ];
+
+  buildInputs = [
+    autoconf automake libtool pkgconfig python
+    boost db openssl geoip libiconv miniupnpc
+  ];
+
+  postPatch = ''
+    sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \
+      src/init.cpp
+    sed -i -e '/GetDataDir.*html/s|path *= *[^;]*|path = "${twisterHTML}"|' \
+      src/util.cpp
+  '';
+
+  preConfigure = ''
+    sh autotool.sh
+  '';
+
+  installPhase = ''
+    install -vD twisterd "$out/bin/twisterd"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://www.twister.net.co/";
+    description = "Peer-to-peer microblogging";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index 558394199f4..4d08e1cc60a 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "SIP stack and media stack for presence, im, and multimedia communication";
     homepage = http://pjsip.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 8f89d70405a..8785837fbb9 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -61,7 +61,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.freerdp.com/;
 
     license = "free-non-copyleft";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix
index ef8ddf8b0e3..a8388b4829a 100644
--- a/pkgs/applications/networking/remote/freerdp/unstable.nix
+++ b/pkgs/applications/networking/remote/freerdp/unstable.nix
@@ -25,7 +25,7 @@ assert printerSupport -> cups != null;
 let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
 
 stdenv.mkDerivation rec {
-  name = "freerdp-1.1pre${rev}";
+  name = "freerdp-1.1pre-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = git://github.com/FreeRDP/FreeRDP.git;
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
 
     license = "free-non-copyleft";
 
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    broken = true;  # fails to build
   };
 }
 
diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix
index c8c72160b34..9ba9e3aa3fc 100644
--- a/pkgs/applications/networking/remote/rdesktop/default.nix
+++ b/pkgs/applications/networking/remote/rdesktop/default.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation (rec {
   pname = "rdesktop";
-  version = "1.7.1";
+  version = "1.8.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0yc4xz95w40m8ailpjgqp9h7bkc758vp0dlq4nj1pvr3xfnl7sni";
+    sha256 = "0il248cdsxvwjsl4bswf27ld9r1a7d48jf6bycr86kf3i55q7k3n";
   };
 
   buildInputs = [openssl libX11];
 
-  configureFlags = [ "--with-openssl=${openssl}" ];
+  configureFlags = [
+    "--with-openssl=${openssl}"
+    "--disable-credssp"
+    "--disable-smartcard"
+  ];
 
   meta = {
     description = "rdesktop is an open source client for Windows Terminal Services";
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index b2b24a2565c..8fb929d53e1 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,8 +1,21 @@
 { stdenv, fetchurl, cmake, pkgconfig, makeWrapper
 , glib, gtk, gettext, libxkbfile, libgnome_keyring, libX11
-, freerdp, libssh, libgcrypt, gnutls }:
+, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem }:
 
-let version = "1.0.0"; in
+let
+  version = "1.0.0";
+  
+  desktopItem = makeDesktopItem {
+    name = "remmina";
+    desktopName = "Remmina";
+    genericName = "Remmina Remote Desktop Client";
+    exec = "remmina";
+    icon = "remmina";
+    comment = "Connect to remote desktops";
+    categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
+  };
+
+in
 
 stdenv.mkDerivation {
   name = "remmina-${version}";
@@ -18,14 +31,21 @@ stdenv.mkDerivation {
 
   cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF";
 
+  patches = [ ./lgthread.patch ];
+
   postInstall = ''
+    mkdir -pv $out/share/applications
+    mkdir -pv $out/share/icons
+    cp ${desktopItem}/share/applications/* $out/share/applications
+    cp -r $out/share/remmina/icons/* $out/share/icons
     wrapProgram $out/bin/remmina --prefix LD_LIBRARY_PATH : "${libX11}/lib"
   '';
 
-  meta = {
-    license = "GPLv2";
+  meta = with stdenv.lib; {
+    license = stdenv.lib.licenses.gpl2;
     homepage = "http://remmina.sourceforge.net/";
     description = "Remmina is a remote desktop client written in GTK+";
     maintainers = [];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/remote/remmina/lgthread.patch b/pkgs/applications/networking/remote/remmina/lgthread.patch
new file mode 100644
index 00000000000..2d8e60f7572
--- /dev/null
+++ b/pkgs/applications/networking/remote/remmina/lgthread.patch
@@ -0,0 +1,16 @@
+Fix [undefined reference to `g_thread_init'] as suggested by
+http://ragnermagalhaes.blogspot.ru/2007/09/undefined-reference-to-gthreadinit.html
+
+diff -ru FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt FreeRDP-Remmina-356c033/remmina/CMakeLists.txt
+--- FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt	2013-11-05 12:43:27.660276912 +0400
++++ FreeRDP-Remmina-356c033/remmina/CMakeLists.txt	2013-11-05 12:53:39.607018349 +0400
+@@ -132,6 +132,8 @@
+ 	endif()
+ endif()
+ 
++set( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -lgthread-2.0" )
++
+ add_subdirectory(po)
+ add_subdirectory(icons)
+ add_subdirectory(desktop)
+
diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix
index b2c9b7c3e73..f142395aa57 100644
--- a/pkgs/applications/networking/remote/ssvnc/default.nix
+++ b/pkgs/applications/networking/remote/ssvnc/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, imake, zlib, openjdk, libX11, libXt, libXmu, libXaw, libXext, libXpm, openjpeg, openssl }:
+{ stdenv, fetchurl, imake, zlib, openjdk, libX11, libXt, libXmu
+, libXaw, libXext, libXpm, openjpeg, openssl, tcl, tk }:
 
-let version = "1.0.29"; in
 stdenv.mkDerivation rec {
   name = "ssvnc-${version}";
+  version = "1.0.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/ssvnc/${name}.src.tar.gz";
@@ -13,10 +14,14 @@ stdenv.mkDerivation rec {
 
   configurePhase = "makeFlags=PREFIX=$out";
 
+  postInstall = ''
+    sed -i -e 's|exec wish|exec ${tk}/bin/wish|' $out/lib/ssvnc/util/ssvnc.tcl
+  '';
+
   meta = {
     description = "VNC viewer that adds encryption security to VNC connections";
     homepage = "http://www.karlrunge.com/x11vnc/ssvnc.html";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/networking/remote/teamviewer/8.nix b/pkgs/applications/networking/remote/teamviewer/8.nix
index 8113e33e0a7..459ae9fab82 100644
--- a/pkgs/applications/networking/remote/teamviewer/8.nix
+++ b/pkgs/applications/networking/remote/teamviewer/8.nix
@@ -1,26 +1,20 @@
-{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper
-, bash }:
+{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
+, bash, patchelf }:
 
-# Work in progress.
-
-# It doesn't want to start unless teamviewerd is running as root.
-# I haven't tried to make the daemon run.
-
-assert stdenv.system == "i686-linux";
 let
-  topath = "${wine}/bin";
+  topath = "${wineUnstable}/bin";
 
   toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib") 
-    [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wine ]);
+    [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
 in
 stdenv.mkDerivation {
   name = "teamviewer-8.0.17147";
   src = fetchurl {
-    url = "http://download.teamviewer.com/download/teamviewer_linux_x64.deb";
-    sha256 = "01iynk954pphl5mq4avs843xyzvdfzng1lpsy7skgwvw0k9cx5ab";
+    url = "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
+    sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ makeWrapper patchelf ];
 
   unpackPhase = ''
     ar x $src
@@ -36,14 +30,18 @@ stdenv.mkDerivation {
     #!${bash}/bin/sh
     export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
     export PATH=${topath}\''${PATH:+:\$PATH}
-    $out/share/teamviewer8/tv_bin/script/teamviewer
+    $out/share/teamviewer8/tv_bin/script/teamviewer "\$@"
     EOF
     chmod +x $out/bin/teamviewer
+
+    patchelf --set-rpath "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer8/tv_bin/teamviewerd
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/teamviewer8/tv_bin/teamviewerd
+    ln -s $out/share/teamviewer8/tv_bin/teamviewerd $out/bin/
   '';
 
   meta = {
     homepage = "http://www.teamviewer.com";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     description = "Desktop sharing application, providing remote support and online meetings";
   };
 }
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 8c629519764..65ddd7305c8 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper
-, bash }:
+, bash, findutils, coreutils }:
 
 assert stdenv.system == "i686-linux";
 let
@@ -11,7 +11,7 @@ in
 stdenv.mkDerivation {
   name = "teamviewer-7.0.9377";
   src = fetchurl {
-    url = "http://www.teamviewer.com/download/version_7x/teamviewer_linux.tar.gz";
+    url = "http://download.teamviewer.com/download/version_7x/teamviewer_linux.tar.gz";
     sha256 = "1f8934jqj093m1z56yl6k2ah6njkk6pz1rjvpqnryi29pp5piaiy";
   };
 
@@ -31,6 +31,13 @@ stdenv.mkDerivation {
 
     cat > $out/bin/teamviewer << EOF
     #!${bash}/bin/sh
+    # Teamviewer puts symlinks to nix store paths in ~/.teamviewer. When those
+    # paths become garbage collected, teamviewer crashes upon start because of
+    # those broken symlinks. An easy workaround to this behaviour is simply to
+    # delete all symlinks before we start teamviewer. Teamviewer will fixup the
+    # symlinks, just like it did the first time the user ran it.
+    ${findutils}/bin/find "\$HOME"/.teamviewer/*/*/"Program Files/TeamViewer/" -type l -print0 | ${findutils}/bin/xargs -0 ${coreutils}/bin/rm
+
     export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
     export PATH=${topath}\''${PATH:+:\$PATH}
     $out/share/teamviewer/wrapper wine "c:\Program Files\TeamViewer\Version7\TeamViewer.exe" "\$@"
@@ -40,7 +47,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.teamviewer.com";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     description = "Desktop sharing application, providing remote support and online meetings";
   };
 }
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
new file mode 100644
index 00000000000..e9036ba9261
--- /dev/null
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, writeScript, pkgconfig, cmake, qt4, seafile-shared, ccnet, makeWrapper}:
+
+stdenv.mkDerivation rec
+{
+  version = "3.0.4";
+  name = "seafile-client-${version}";
+
+  src = fetchurl
+  {
+    url = "https://github.com/haiwen/seafile-client/archive/v${version}.tar.gz";
+    sha256 = "10iz45y8j5f9smi0srxw62frb97vhr0w938v8w3rsjcw9qq366a2";
+  };
+
+  buildInputs = [ pkgconfig cmake qt4 seafile-shared makeWrapper ];
+
+  builder = writeScript "${name}-builder.sh" ''
+    source $stdenv/setup
+
+    tar xvfz $src
+    cd seafile-client-*
+
+    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_INSTALL_PREFIX="$out" .
+    make -j1
+
+    make install
+
+    wrapProgram $out/bin/seafile-applet \
+      --suffix PATH : ${ccnet}/bin:${seafile-shared}/bin
+    '';
+
+  meta =
+  {
+    homepage = "https://github.com/haiwen/seafile-clients";
+    description = "Desktop client for Seafile, the Next-generation Open Source Cloud Storage";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
diff --git a/pkgs/applications/networking/sniffers/etherape/default.nix b/pkgs/applications/networking/sniffers/etherape/default.nix
index 3b9b8cce9e7..f5104665562 100644
--- a/pkgs/applications/networking/sniffers/etherape/default.nix
+++ b/pkgs/applications/networking/sniffers/etherape/default.nix
@@ -2,10 +2,10 @@
 , gnomedocutils, scrollkeeper, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "etherape-0.9.12";
+  name = "etherape-0.9.13";
   src = fetchurl {
     url = "mirror://sourceforge/etherape/${name}.tar.gz";
-    sha256 = "0ici0aqw2r221lc3rhrdcnvavbhcj0ybwawgrhh399i74w7wf14k";
+    sha256 = "1xq93k1slyak8mgwrw5kymq0xn0kl8chvfcvaablgki4p0l2lg9a";
   };
 
   configureFlags = [ "--disable-scrollkeeper" ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://etherape.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 599229753b5..272bae14a12 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchurl, perl, pkgconfig, gtk, libpcap, flex, bison
-, gnutls, libgcrypt, glib, zlib, libxml2, libxslt, adns, geoip
-, heimdal, python, lynx, lua5
-, makeDesktopItem
+{ stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares
+, gnutls, libgcrypt, geoip, heimdal, lua5, gtk, makeDesktopItem, python
+, libcap
 }:
 
-let version = "1.8.7"; in
+let version = "1.11.2"; in
 
 stdenv.mkDerivation {
   name = "wireshark-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
-    sha256 = "0hm8zisy5dg7sfhh7rvgnpffq2qcw0syd8k5kns8j0j13sf44zjw";
+    sha256 = "077hjnmqn44s8dx3pc38bxps5liicjnhzrnf6ky2x60m2cp7ngr3";
   };
 
-  buildInputs =
-    [ perl pkgconfig gtk libpcap flex bison gnutls libgcrypt
-      glib zlib libxml2 libxslt adns geoip heimdal python lynx lua5
-    ];
+  buildInputs = [
+    bison flex perl pkgconfig libpcap lua5 heimdal libgcrypt gnutls
+    geoip libnl c-ares gtk python libcap
+  ];
 
-  configureFlags = "--disable-usr-local --with-ssl --enable-threads --enable-packet-editor";
+  patches = [ ./wireshark-lookup-dumpcap-in-path.patch ];
+
+  preConfigure = ''
+    sed -re 's/g_memmove/memmove/' -i $(grep -rl g_memmove .)
+  '';
+
+  configureFlags = "--disable-usr-local --disable-silent-rules --with-gtk2 --without-gtk3 --without-qt --with-ssl";
 
   desktopItem = makeDesktopItem {
     name = "Wireshark";
@@ -34,10 +39,12 @@ stdenv.mkDerivation {
   postInstall = ''
     mkdir -p "$out"/share/applications/
     mkdir -p "$out"/share/icons/
-    cp "$desktopItem"/share/applications/* "$out"/share/applications/
+    cp "$desktopItem/share/applications/"* "$out/share/applications/"
     cp image/wsicon.svg "$out"/share/icons/wireshark.svg
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.wireshark.org/;
     description = "a powerful network protocol analyzer";
@@ -50,6 +57,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers; [ simons bjornfor ];
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch b/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch
new file mode 100644
index 00000000000..9c517cc0e42
--- /dev/null
+++ b/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch
@@ -0,0 +1,62 @@
+From 188e8858243b2278239261aaaaea7ad07476d561 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Sun, 13 Apr 2014 15:17:24 +0200
+Subject: [PATCH] Lookup dumpcap in PATH
+
+NixOS patch: Look for dumpcap in PATH first, because there may be a
+dumpcap setuid-wrapper that we want to use instead of the default
+non-setuid dumpcap binary.
+
+Also change execv() to execvp() because we've set argv[0] to "dumpcap"
+and have to enable PATH lookup. Wireshark is not a setuid program, so
+looking in PATH is not a security issue.
+---
+ capture_sync.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/capture_sync.c b/capture_sync.c
+index eb05fae..efb5675 100644
+--- a/capture_sync.c
++++ b/capture_sync.c
+@@ -326,8 +326,18 @@ init_pipe_args(int *argc) {
+     argv = (char **)g_malloc(sizeof (char *));
+     *argv = NULL;
+ 
+-    /* take Wireshark's absolute program path and replace "Wireshark" with "dumpcap" */
+-    exename = g_strdup_printf("%s" G_DIR_SEPARATOR_S "dumpcap", progfile_dir);
++    /*
++     * NixOS patch: Look for dumpcap in PATH first, because there may be a
++     * dumpcap setuid-wrapper that we want to use instead of the default
++     * non-setuid dumpcap binary.
++     */
++    if (system("command -v dumpcap >/dev/null") == 0) {
++        /* Found working dumpcap */
++        exename = g_strdup_printf("dumpcap");
++    } else {
++        /* take Wireshark's absolute program path and replace "Wireshark" with "dumpcap" */
++        exename = g_strdup_printf("%s" G_DIR_SEPARATOR_S "dumpcap", progfile_dir);
++    }
+ 
+     /* Make that the first argument in the argument list (argv[0]). */
+     argv = sync_pipe_add_arg(argv, argc, exename);
+@@ -649,7 +659,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, voi
+          */
+         dup2(sync_pipe[PIPE_WRITE], 2);
+         ws_close(sync_pipe[PIPE_READ]);
+-        execv(argv[0], argv);
++        execvp(argv[0], argv);
+         g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
+                    argv[0], g_strerror(errno));
+         sync_pipe_errmsg_to_parent(2, errmsg, "");
+@@ -879,7 +889,7 @@ sync_pipe_open_command(char** argv, int *data_read_fd,
+         dup2(sync_pipe[PIPE_WRITE], 2);
+         ws_close(sync_pipe[PIPE_READ]);
+         ws_close(sync_pipe[PIPE_WRITE]);
+-        execv(argv[0], argv);
++        execvp(argv[0], argv);
+         g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
+                    argv[0], g_strerror(errno));
+         sync_pipe_errmsg_to_parent(2, errmsg, "");
+-- 
+1.9.0
+
diff --git a/pkgs/applications/networking/spideroak/default.nix b/pkgs/applications/networking/spideroak/default.nix
new file mode 100644
index 00000000000..403630e25e5
--- /dev/null
+++ b/pkgs/applications/networking/spideroak/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, makeWrapper, glib
+, fontconfig, patchelf, libXext, libX11
+, freetype, libXrender
+}:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x86_64"
+    else if stdenv.system == "i686-linux" then "i386"
+    else throw "Spideroak client for: ${stdenv.system} not supported!";
+
+  interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
+    else if stdenv.system == "i686-linux" then "ld-linux.so.2"
+    else throw "Spideroak client for: ${stdenv.system} not supported!";
+
+  sha256 = if stdenv.system == "x86_64-linux" then "0ax5ij3fwq3q9agf7qkw2zg53fcd82llg734pq3swzpn3z1ajs38"
+    else if stdenv.system == "i686-linux" then "18hvgx8bvd2khnqfn434gd4mflv0w5y8kvim72rvya2kwxsyf3i1"
+    else throw "Spideroak client for: ${stdenv.system} not supported!";
+
+  ldpath = stdenv.lib.makeSearchPath "lib" [
+    glib fontconfig libXext libX11 freetype libXrender 
+  ];
+
+  version = "5.1.6";
+
+in stdenv.mkDerivation {
+  name = "spideroak-${version}";
+  
+  src = fetchurl {
+    name = "spideroak-${version}-${arch}";
+    url = "https://spideroak.com/getbuild?platform=slackware&arch=${arch}&version=${version}";
+    inherit sha256;
+  };
+
+  sourceRoot = ".";
+
+  unpackCmd = "tar -xzf $curSrc";
+
+  installPhase = ''
+    ensureDir "$out"
+    cp -r "./"* "$out"
+    ensureDir "$out/bin"
+    rm "$out/usr/bin/SpiderOak"
+
+    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
+      "$out/opt/SpiderOak/lib/SpiderOak"
+
+    RPATH=$out/opt/SpiderOak/lib:${ldpath}
+    makeWrapper $out/opt/SpiderOak/lib/SpiderOak $out/bin/spideroak --set LD_LIBRARY_PATH $RPATH \
+      --set QT_PLUGIN_PATH $out/opt/SpiderOak/lib/plugins/ \
+      --set SpiderOak_EXEC_SCRIPT $out/bin/spideroak
+  '';
+
+  buildInputs = [ patchelf makeWrapper ];
+
+  meta = {
+    homepage = "https://spideroak.com";
+    description = "Secure online backup and sychronization";
+    license = stdenv.lib.licenses.unfree;
+    maintainers = with stdenv.lib.maintainers; [ amorsillo ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 5447b21009f..00a00530df4 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -6,30 +6,38 @@
 assert enableACLs -> acl != null;
 
 stdenv.mkDerivation rec {
-  name = "rsync-3.0.9";
+  name = "rsync-${version}";
+  version = "3.1.0";
 
   mainSrc = fetchurl {
-    url = http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz;
-    sha256 = "01bw4klqsrlhh3i9lazd485sd9qx5djvnwa21lj2h3a9sn6hzw9h";
+    url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz";
+    sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1";
   };
 
   patchesSrc = fetchurl {
-    url = http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.9.tar.gz;
-    sha256 = "0c1e9b56e99667dfc47641124460bac61a04c5d2ee89f575c6bc78c7a69005a9";
+    url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz";
+    sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p";
   };
 
   srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
-  patches = [] ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
+  patches = [(fetchurl {
+      url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a";
+      sha256 = "0j1pqmwsqc5mh815x28izi4baki2y2r5q8k7ma1sgs4xsgjc4rk8";
+      name = "CVE-2014-2855.patch";
+    })]
+    ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
 
   buildInputs = stdenv.lib.optional enableACLs acl;
   nativeBuildInputs = [perl];
 
+  configureFlags = "--with-nobody-group=nogroup";
+
   meta = {
     homepage = http://samba.anu.edu.au/rsync/;
     description = "A fast incremental file transfer utility";
     license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ];
   };
 }
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 35dd2d2a7d0..4ac5e8300ca 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "unison-2.40.63";
+  name = "unison-2.40.102";
   src = fetchurl {
-    url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/${name}/${name}.tar.gz";
-    sha256 = "17fd2bg5jxwbib87j6j2bjpwdm66whqm1fq46v70hfby79j00vkf";
+    url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/${name}.tar.gz";
+    sha256 = "0m78q5vnsric1virvkmxxx32ipaq0cnj0kbirdbg36395gq94jix";
   };
 
   buildInputs = [ ocaml makeWrapper ncurses ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
     description = "Bidirectional file synchronizer";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
new file mode 100644
index 00000000000..226b7f6d097
--- /dev/null
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, fetchgit, go }:
+
+stdenv.mkDerivation rec {
+  name = "syncthing-${version}";
+  version = "0.8.15";
+
+  src = fetchgit {
+    url = "git://github.com/calmh/syncthing.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0xv8kaji60zqxws72srh5hdi9fyvaipdcsawp6gcyahhr3cz0ddq";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    mkdir -p "./dependencies/src/github.com/calmh/syncthing"
+
+    for a in auto buffers cid discover files lamport protocol scanner \
+            logger beacon config xdr upnp model osutil versioner; do
+        cp -r "./$a" "./dependencies/src/github.com/calmh/syncthing"
+    done
+
+    export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies"
+
+    go test -cpu=1,2,4 ./...
+
+    mkdir ./bin
+
+    go build -o ./bin/syncthing -ldflags "-w -X main.Version v${version}" ./cmd/syncthing
+    go build -o ./bin/stcli -ldflags "-w -X main.Version v${version}" ./cmd/stcli
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r ./bin $out
+  '';
+
+  meta = {
+    homepage = http://syncthing.net/;
+    description = "Syncthing replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized";
+    license = with stdenv.lib.licenses; mit;
+    maintainers = with stdenv.lib.maintainers; [ matejc ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index 57afefd7dcd..6d4306044a4 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://humdi.net/vnstat/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Console-based network statistics utility for Linux";
   };
 }
diff --git a/pkgs/applications/networking/yafc/default.nix b/pkgs/applications/networking/yafc/default.nix
index bdbb53d1675..2e60b9aa322 100644
--- a/pkgs/applications/networking/yafc/default.nix
+++ b/pkgs/applications/networking/yafc/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, readline, libssh, intltool}:
+{stdenv, fetchurl, readline, libssh, intltool, libbsd}:
 
 stdenv.mkDerivation rec {
-  name = "yafc-1.2.3";
+  name = "yafc-1.3.2";
   src = fetchurl {
-    url = "https://github.com/downloads/sebastinas/yafc/${name}.tar.xz";
-    sha256 = "11h5r9ragfpil338kq981wxnifacflqfwgydhmy00b3fbdlnxzsi";
+    url = "http://www.yafc-ftp.com/upload/${name}.tar.xz";
+    sha256 = "0rrhik00xynxg5s3ffqlyynvy8ssv8zfaixkpb77baxa274gnbd7";
   };
 
-  buildInputs = [ readline libssh intltool ];
+  buildInputs = [ readline libssh intltool libbsd ];
 
   meta = {
     description = "ftp/sftp client with readline, autocompletion and bookmarks";
     homepage = http://www.yafc-ftp.com;
     maintainers = [ stdenv.lib.maintainers.page ];
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index a43d8fa9d11..fdd02aac0b5 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, openssl, pkgconfig
+{ stdenv, fetchurl, openssl, pkgconfig
 , withPerl ? false, perl
 , withPython ? false, python3
 , withTcl ? false, tcl
@@ -7,10 +7,11 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "znc-1.0";
+  name = "znc-1.4";
+
   src = fetchurl {
     url = "http://znc.in/releases/${name}.tar.gz";
-    sha256 = "0ah6890ngvj97kah3x7fd8yzi6dpdgrxw1b2skj2cyv98bd3jmd8";
+    sha256 = "0lkv58pq4d5lzcyx8v8anzinx0sx0zw0js4jij13jb8qxp88zsc6";
   };
 
   buildInputs = [ openssl pkgconfig ]
@@ -24,11 +25,11 @@ stdenv.mkDerivation rec {
     + optionalString withTcl "--enable-tcl --with-tcl=${tcl}/lib "
     + optionalString withCyrus "--enable-cyrus ";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Advanced IRC bouncer";
     homepage = http://wiki.znc.in/ZNC;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    license = "ASL2.0";
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ viric ];
+    license = licenses.asl20;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix
index ba6d36a3c76..478900bae4c 100644
--- a/pkgs/applications/networking/znc/modules.nix
+++ b/pkgs/applications/networking/znc/modules.nix
@@ -10,7 +10,7 @@ let
     inherit buildPhase;
     inherit installPhase;
 
-    meta.platforms = stdenv.lib.platforms.unix;
+    meta = a.meta // { platforms = stdenv.lib.platforms.unix; };
     passthru.module_name = module_name;
   });
 
@@ -30,7 +30,7 @@ in rec {
       description = "Push notification service module for ZNC";
       homepage = https://github.com/jreese/znc-push;
       repositories.git = https://github.com/jreese/znc-push.git;
-      license = stdenv.lib.license.mit;
+      license = stdenv.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.offline ];
     };
   };
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index 0e5a6afcdc5..d9b3627507e 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -27,7 +27,10 @@ stdenv.mkDerivation {
       libgsf enchant wv libjpeg
     ];
 
-  meta = {
-    description = "Word processing program, similar to Microsof Word";
+  meta = with stdenv.lib; {
+    description = "Word processing program, similar to Microsoft Word";
+    homepage = http://www.abisource.com/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 137e7be019f..e87053d5326 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -6,11 +6,11 @@
  }:
 
 stdenv.mkDerivation rec {
-  name = "calligra-2.7.2";
+  name = "calligra-2.7.5";
 
   src = fetchurl {
     url = "mirror://kde/stable/${name}/${name}.tar.xz";
-    sha256 = "1awnvv62fp5bjhi6fys37s6lpzxaig4v15m1zjlgxq82ig61w6sq";
+    sha256 = "0png8ac10xywxsml1z18as18kc9k9162l6an67hi6lgx0rv27ldi";
   };
 
   nativeBuildInputs = [ cmake perl pkgconfig ];
diff --git a/pkgs/applications/office/eventlist/default.nix b/pkgs/applications/office/eventlist/default.nix
index f126d6bfba6..c260220aad4 100644
--- a/pkgs/applications/office/eventlist/default.nix
+++ b/pkgs/applications/office/eventlist/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       Incidences can be filtered, added, edited, deleted via context menu.
     '';
     homepage = "http://kde-look.org/content/show.php/Eventlist?content=107779";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
 	  };
 }
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index eddaf8f33e7..9c255f493d3 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
 , libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
 , intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
-, libgsf, libart_lgpl
+, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar
 }:
 
 /* If you experience GConf errors when running GnuCash on NixOS, see
@@ -10,34 +10,42 @@
  */
 
 stdenv.mkDerivation rec {
-  name = "gnucash-2.4.13";
+  name = "gnucash-2.4.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "0j4m00a3r1hcrhkfjkx3sgi2r4id4wrc639i4s00j35rx80540pn";
+    sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx";
   };
 
   buildInputs = [
     pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
     libgnomeprint goffice enchant gettext intltool perl guile slibGuile
     swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
+    perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
   ];
 
-  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
+  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking";
 
   postInstall = ''
-    sed -i $out/bin/update-gnucash-gconf                                \
+    # Auto-updaters don't make sense in Nix.
+    rm $out/bin/gnc-fq-update
+
+    sed -i $out/bin/update-gnucash-gconf \
        -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
-    for prog in "$out/bin/"*
+
+    for prog in $(echo "$out/bin/"*)
     do
+      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
+      # "perl <script>', i.e. they must be Perl scripts.
+      if [[ $prog =~ gnc-fq ]]; then continue; fi
       wrapProgram "$prog"                                               \
         --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
         --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
         --prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0"   \
         --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
+        --prefix PERL5LIB ":" "$PERL5LIB"                               \
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "${gconf}/bin"                                \
-        --suffix PATH ":" "$out/bin"
+        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
     done
   '';
 
@@ -62,7 +70,7 @@ stdenv.mkDerivation rec {
       accounting principles to ensure balanced books and accurate reports.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://www.gnucash.org/;
 
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 1bdc41d1fb5..2b2fd87cf43 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,26 +1,38 @@
-{ stdenv, fetchurl
-, bzip2, glib, goffice, gtk3, intltool, libglade, libgsf, libxml2
-, pango, pkgconfig, scrollkeeper, zlib
+{ stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
+, goffice, makeWrapper, gtk3, gnome_icon_theme
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnumeric-1.12.0";
+  name = "gnumeric-1.12.12";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
-    sha256 = "037b53d909e5d1454b2afda8c4fb1e7838e260343e36d4e36245f4a5d0e04111";
+    sha256 = "096i9x6b4i6x24vc4lsxx8fg2n2pjs2jb6x3bkg3ppa2c60w1jq0";
   };
 
+  preConfigure = ''sed -i 's/\(SUBDIRS.*\) doc/\1/' Makefile.in''; # fails when installing docs
+
   configureFlags = "--disable-component";
 
+  # ToDo: optional libgda, python, introspection?
   buildInputs = [
-    bzip2 glib goffice gtk3 intltool libglade libgsf libxml2
-    pango pkgconfig scrollkeeper zlib
+    pkgconfig intltool perl perlXMLParser
+    goffice gtk3 makeWrapper
   ];
 
-  meta = {
+  preFixup = ''
+    for f in "$out"/bin/gnumeric-*; do
+      wrapProgram $f \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
     description = "The GNOME Office Spreadsheet";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://projects.gnome.org/gnumeric/;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/applications/office/hledger-interest/default.nix b/pkgs/applications/office/hledger-interest/default.nix
index d53a8fe63e2..2cff99dcc27 100644
--- a/pkgs/applications/office/hledger-interest/default.nix
+++ b/pkgs/applications/office/hledger-interest/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, hledgerLib, mtl, time }:
 
 cabal.mkDerivation (self: {
@@ -12,9 +14,6 @@ cabal.mkDerivation (self: {
     description = "computes interest for a given account";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/office/hledger-irr/default.nix b/pkgs/applications/office/hledger-irr/default.nix
index 1f4dd165c50..e6a7b2a72c2 100644
--- a/pkgs/applications/office/hledger-irr/default.nix
+++ b/pkgs/applications/office/hledger-irr/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, hledgerLib, statistics, time }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-irr";
-  version = "0.1.1.2";
-  sha256 = "1mh1lzhnxc8ps8n5j37wrmbqafwdyap60j8rqr6xdfa2syfyq8i2";
+  version = "0.1.1.4";
+  sha256 = "0nqd8br86d71dpwq7p8956q74pgqdimid42xikp9zvf632x2s8ax";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal hledgerLib statistics time ];
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "computes the internal rate of return of an investment";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 2994ba729e6..007e093378d 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,7 +2,7 @@
 
 let
    download_root = "http://homebank.free.fr/public/";
-   name = "homebank-4.4";
+   name = "homebank-4.5.5";
    lastrelease = download_root + name + ".tar.gz";
    oldrelease = download_root + "old/" + name + ".tar.gz";
 in
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     urls = [ lastrelease oldrelease ];
-    sha256 = "1lp7vhimn7aa2b4ik857w7d7rbbqcwlsffk8s8lw4fjyaxrr7f0k";
+    sha256 = "05k4497qsb6fzr662h9yxz1amsavd287wh0sabrpr9jdbh3jcfkg";
   };
 
   buildInputs = [ pkgconfig gtk libofx intltool ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Free, easy, personal accounting for everyone";
     homepage = http://homebank.free.fr/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix
index f1de422fa24..fad2167fb7a 100644
--- a/pkgs/applications/office/impressive/default.nix
+++ b/pkgs/applications/office/impressive/default.nix
@@ -2,7 +2,7 @@
 , xpdf, pil, pyopengl, pygame
 , setuptools, mesa, freeglut }:
 
-let version = "0.10.2";
+let version = "0.10.3";
 in
  stdenv.mkDerivation {
     # This project was formerly known as KeyJNote.
@@ -12,7 +12,7 @@ in
 
     src = fetchurl {
       url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
-      sha256 = "1py36h9085ycxj3qnmqdps0dfghlr5qb2i62l0ynzngn55dgz950";
+      sha256 = "0ppr9bckswpi3gav56dhrk91ibxvqbfhpxmm0zikzpxhdlvnaj5v";
     };
 
     # Note: We need to have `setuptools' in the path to be able to use
@@ -71,7 +71,7 @@ in
 
       homepage = http://impressive.sourceforge.net/;
 
-      license = "GPLv2";
+      license = stdenv.lib.licenses.gpl2;
 
       maintainers = [ stdenv.lib.maintainers.ludo ];
       platforms = stdenv.lib.platforms.mesaPlatforms;
diff --git a/pkgs/applications/office/keepnote/default.nix b/pkgs/applications/office/keepnote/default.nix
index 514b8fd3151..409da36b264 100644
--- a/pkgs/applications/office/keepnote/default.nix
+++ b/pkgs/applications/office/keepnote/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, buildPythonPackage, pythonPackages, pygtk }:
 
 buildPythonPackage {
-  name = "keepnote-0.6.5";
+  name = "keepnote-0.7.8";
   namePrefix = "";
 
   src = fetchurl {
-    url = http://rasm.ods.org/keepnote/download/keepnote-0.6.5.tar.gz;
-    sha256 = "0kipcy90r50z4m9p8pyy9wi4dknsiwdrgy974xgakris2rh4lafw";
+    url = "http://keepnote.org/download/keepnote-0.7.8.tar.gz";
+    sha256 = "0nhkkv1n0lqf3zn17pxg5cgryv1wwlj4hfmhixwd76rcy8gs45dh";
   };
 
   propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk ];
@@ -17,6 +17,6 @@ buildPythonPackage {
   meta = {
     description = "Note taking application";
     homepage = http://rasm.ods.org/keepnote;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index d55c66a2624..87e3bfd5312 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, cmake, kdelibs, automoc4, kdepimlibs, gettext, pkgconfig
-, shared_mime_info, perl, boost, gpgme, gmpxx, libalkimia, libofx, libical }:
+, shared_mime_info, perl, boost, gpgme, gmpxx, libalkimia, libofx, libical
+, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "kmymoney-4.6.2";
+  name = "kmymoney-4.6.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/kmymoney2/${name}.tar.bz2";
-    sha256 = "0x9bl4h2mk8dv49nnn7drv528fnl5ynvvyy7q4m22k0d5yxarn5d";
+    url = "mirror://sourceforge/kmymoney2/${name}.tar.xz";
+    sha256 = "04n0lgi2yrx67bgjzbdbcm10pxs7l53srmp240znzw59njnjyll9";
   };
 
-  buildInputs = [ kdepimlibs perl boost gpgme gmpxx libalkimia libofx libical ];
+  buildInputs = [ kdepimlibs perl boost gpgme gmpxx libalkimia libofx libical
+                  doxygen ];
   nativeBuildInputs = [ cmake automoc4 gettext shared_mime_info pkgconfig ];
 
   KDEDIRS = libalkimia;
 
-  patches = [ ./qgpgme.patch ./qt-4.8.patch ];
+  patches = [ ./qgpgme.patch ];
 
   meta = {
     homepage = http://kmymoney2.sourceforge.net/;
diff --git a/pkgs/applications/office/kmymoney/qt-4.8.patch b/pkgs/applications/office/kmymoney/qt-4.8.patch
deleted file mode 100644
index 7e9a44337cd..00000000000
--- a/pkgs/applications/office/kmymoney/qt-4.8.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Christoph Feck <christoph@maxiom.de>
-Date: Thu, 10 Nov 2011 11:34:20 +0000
-Subject: Fix compile with Qt 4.8
-X-Git-Url: http://quickgit.kde.org/?p=kmymoney.git&amp;a=commitdiff&amp;h=8324cfb9657d8c03f83691402386e8c5bfb29981
----
-Fix compile with Qt 4.8
-
-Sideported commits f42a0a3d878afebb298609c9886851858c56cc15 and
-fe74b25bf3b78c42e95569fe467a397876bc9c04 from massif-visualizer
----
-
-
---- a/libkdchart/src/KDChartBackgroundAttributes.cpp
-+++ b/libkdchart/src/KDChartBackgroundAttributes.cpp
-@@ -22,6 +22,7 @@
- 
- #include "KDChartBackgroundAttributes.h"
- #include <QPixmap>
-+#include <QVariant>
- 
- #include <KDABLibFakes>
- 
-@@ -150,7 +151,7 @@ QDebug operator<<(QDebug dbg, const KDCh
- 	<< "visible="<<ba.isVisible()
- 	<< "brush="<<ba.brush()
- 	<< "pixmapmode="<<ba.pixmapMode()
--	<< "pixmap="<<ba.pixmap()
-+	<< "pixmap="<<QVariant(ba.pixmap())
- 	<< ")";
-     return dbg;
- }
-
diff --git a/pkgs/applications/office/ledger/2.6.3.nix b/pkgs/applications/office/ledger/2.6.3.nix
index ca71ceeca66..69015dfb2d7 100644
--- a/pkgs/applications/office/ledger/2.6.3.nix
+++ b/pkgs/applications/office/ledger/2.6.3.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, emacs, gmp, pcre, expat }:
 
 stdenv.mkDerivation rec {
-  name = "ledger-2.6.3";
+  name = "ledger2-2.6.3";
 
   src = fetchurl {
     url = "https://github.com/downloads/ledger/ledger/${name}.tar.gz";
diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix
index 8b74dbad6f8..21f77ea1ea4 100644
--- a/pkgs/applications/office/ledger/3.0.nix
+++ b/pkgs/applications/office/ledger/3.0.nix
@@ -1,28 +1,28 @@
-{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python, texinfo }:
+{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python
+, texinfo, gnused }:
 
 let
-  rev = "0ec4291";
+  rev = "a0c5addbbd";
 in
+
 stdenv.mkDerivation {
-  name = "ledger3-2013.08.${rev}";
+  name = "ledger-3.0.2.${rev}";
 
   src = fetchgit {
-    url = "https://github.com/ledger/ledger.git";
+    url = "git://github.com/ledger/ledger.git";
     inherit rev;
-    sha256 = "1y4rcbx8y2fxkdc7i06n1i5jf3cq05bvzpb8498mis2gwfmkw470";
+    sha256 = "1yr4i8gpby67j4vl7xk109dwb14z8a424nwgva8rbms8115w4ps5";
   };
 
-  buildInputs = [ cmake boost gmp mpfr libedit python texinfo ];
+  buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
 
-  # Tests on Darwin are failing
-  doCheck = !stdenv.isDarwin;
   enableParallelBuilding = true;
 
   # Skip byte-compiling of emacs-lisp files because this is currently
   # broken in ledger...
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp/
-    cp -v $src/lisp/*.el $out/share/emacs/site-lisp/
+    cp -v "$src/lisp/"*.el $out/share/emacs/site-lisp/
   '';
 
   meta = {
@@ -38,6 +38,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ simons the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ simons the-kenny jwiegley ];
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 8aaf1839f92..41cf1ebc33d 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -6,88 +6,63 @@
 
 { stdenv, fetchurl, pam, python3, tcsh, libxslt, perl, ArchiveZip
 , CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
-, libxml2, db4, sablotron, curl, libXaw, fontconfig, libsndfile, neon
+, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
-, icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups
-, libXinerama, openssl, gperf, cppunit, GConf, ORBit2, poppler
+, icu, boost, jdk, ant, cups, xorg
+, openssl, gperf, cppunit, GConf, ORBit2, poppler
 , librsvg, gnome_vfs, gstreamer, gst_plugins_base, mesa
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus_glib, glibc, qt4, kde4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, saneBackends, mythes, libexttextcat, libvisio
 , fontsConf, pkgconfig, libzip, bluez5, libtool, maven
+, libatomic_ops, graphite2, harfbuzz
+, librevenge, libe-book, libmwaw, glm, glew
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" ]
 }:
 
 let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
   major = "4";
-  minor = "0";
-  patch = "5";
-  tweak = "2";
+  minor = "3";
+  patch = "0";
+  tweak = "4";
   subdir = "${major}.${minor}.${patch}";
   version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
 
-  # configure phase dependency
-  liborcus = stdenv.mkDerivation rec {
-     version = "0.3.0";
-     name = "liborcus-${version}";
-
-     src = fetchurl {
-       url = "http://dev-www.libreoffice.org/src/8755aac23317494a9028569374dc87b2-liborcus_0.3.0.tar.bz2";
-       sha256 = "0xrw13s390mcpm50apclydl38sw2sdq27csrr1k0d39jna2990ih";
-     };
-
-     configureFlags = "--disable-werror";
-
-     buildInputs = [ zlib boost mdds pkgconfig libixion libzip ];
-  };
-
-  # configure phase dependency
-  liblangtag = stdenv.mkDerivation rec {
-     version = "0.4.0";
-     name = "liblangtag-${version}";
-
-     src = fetchurl {
-       url = "http://dev-www.libreoffice.org/src/54e578c91b1b68e69c72be22adcb2195-${name}.tar.bz2";
-       sha256 = "1bjb0fxjmvzxlhr5by9wgisf6w5yvy6wgfzfkjyw6igk39fivdyb";
-     };
-
-     buildInputs = [ libtool pkgconfig libxml2 ];
-  };
-  
-  # doesn't work with srcs versioning
-  libmspub = stdenv.mkDerivation rec {
-     version = "0.0.6";
-     name = "libmspub-${version}";
-
-     src = fetchurl {
-       url = "http://dev-www.libreoffice.org/src/${name}.tar.gz";
-       sha256 = "1zdcvnm0dpac5yqdv34hq9j38cnhyqzyjgb19iyp54ajnwfjhmcq";
-     };
-
-     configureFlags = "--disable-werror";
- 
-     buildInputs = [ zlib libwpd libwpg pkgconfig boost icu ];  
-  };
-
   # doesn't exist in srcs
+  # 0.8 version is in 0.7.0 tarball
   libixion = stdenv.mkDerivation rec {
-     version = "0.5.0";
+     version = "0.7.0";
      name = "libixion-${version}";
 
      src = fetchurl {
        url = "http://kohei.us/files/ixion/src/${name}.tar.bz2";
-       sha256 = "010k33bfkckx28r4rdk5mkd0mmayy5ng9ja0j0zg0z237gcfgrzb";
+       sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9";
      };
 
      configureFlags = "--with-boost=${boost}";
 
-     buildInputs = [ boost mdds pkgconfig ];  
+     buildInputs = [ boost mdds pkgconfig ];
   };
 
-  fetchThirdParty = {name, md5}: fetchurl {
+  fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
     inherit name md5;
-    url = "http://dev-www.libreoffice.org/src/${md5}-${name}";
+    url = if brief then
+            "http://dev-www.libreoffice.org/src/${subDir}${name}"
+          else
+            "http://dev-www.libreoffice.org/src/${subDir}${md5}-${name}";
+  };
+
+  # Can't find Boost inside LO build
+  liborcus = stdenv.mkDerivation rec {
+    name = "liborcus-0.7.0";
+    src = fetchThirdParty (stdenv.lib.findFirst 
+      (x: x.name == "${name}.tar.bz2")
+      ("Error: update liborcus version inside LO expression")
+      (import ./libreoffice-srcs.nix));
+    configureFlags = "--with-boost=${boost}";
+
+    buildInputs = [ boost mdds pkgconfig zlib libixion ];
   };
 
   fetchSrc = {name, sha256}: fetchurl {
@@ -104,14 +79,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0x96wlwr5m7w4k3ygydzak3ycq35hjq60vfi6nfxczlr8pfjyjxv";
+      sha256 = "1l445284mih0c7d6v3ps1piy5pbjvisyrjjvlrqizvwxqm7bxpr1";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0nab5jcgrrgn0v1yrm18nl9avp4vifbas48l1absz3jmzf9wka7b";
+      sha256 = "0avsc11d4nmycsxvadr0xcd8z9506sjcc89hgmliqlmhmw48ax7y";
     };
 
   };
@@ -121,7 +96,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "195g1iab7j2x7sl326xbq7vya412ns57xrwpv9hqdrb7iiz2n8la";
+    sha256 = "1r605nwjdq20qd96chqic1bjkw7y36wmpg2lzzvv5sz6gw12rzi8";
   };
 
   # Openoffice will open libcups dynamically, so we link it directly
@@ -135,7 +110,7 @@ stdenv.mkDerivation rec {
 
   postUnpack = ''
     mkdir -v $sourceRoot/src
-  '' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\n") srcs.third_party)
+  '' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
   + ''
     ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
     tar xf $sourceRoot/src/${srcs.help.name} -C $sourceRoot/../
@@ -149,6 +124,7 @@ stdenv.mkDerivation rec {
       -e 's,! */usr/bin/perl,!${perl}/bin/perl,' -e 's,! */usr/bin/env perl,!${perl}/bin/perl,' \
       -e 's,! */usr/bin/python,!${python3}/bin/${python3.executable},' -e 's,! */usr/bin/env python,!${python3}/bin/${python3.executable},'
     #sed -i 's,ANT_OPTS+="\(.*\)",ANT_OPTS+=\1,' apache-commons/java/*/makefile.mk
+
   '';
 
   QT4DIR = qt4;
@@ -162,6 +138,17 @@ stdenv.mkDerivation rec {
       "--with-parallelism=$NIX_BUILD_CORES"
       "--with-lang=${langsSpaces}"
     );
+
+    chmod a+x ./bin/unpack-sources
+    # It is used only as an indicator of the proper current directory
+    touch solenv/inc/target.mk
+  '';
+
+  # fetch_Download_item tries to interpret the name as a variable name
+  # Let it do so…
+  postConfigure = ''
+    sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
+    sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
   '';
 
   makeFlags = "SHELL=${bash}/bin/bash";
@@ -172,9 +159,6 @@ stdenv.mkDerivation rec {
     # This is required as some cppunittests require fontconfig configured
     export FONTCONFIG_FILE=${fontsConf}
 
-    # Fix sysui: wants to create a tar for root
-    sed -i -e 's,--own.*root,,' sysui/desktop/slackware/makefile.mk
-
     # This to aovid using /lib:/usr/lib at linking
     sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
 
@@ -199,7 +183,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--with-vender=NixOS"
+    "--with-vendor=NixOS"
 
     # Without these, configure does not finish
     "--without-junit"
@@ -219,14 +203,13 @@ stdenv.mkDerivation rec {
     "--without-doxygen"
 
     # I imagine this helps. Copied from go-oo.
-    "--disable-epm"
-    "--disable-mathmldtd"
+    # Modified on every upgrade, though
     "--disable-kde"
     "--disable-postgresql-sdbc"
     "--with-package-format=native"
-    "--with-jdk-home=${jdk}"
-    "--with-ant-home=${ant}"
-    "--without-afms"
+    "--enable-epm"
+    "--with-jdk-home=${jdk}/lib/openjdk"
+    "--with-ant-home=${ant}/lib/ant"
     "--without-fonts"
     "--without-myspell-dicts"
     "--without-ppds"
@@ -235,10 +218,16 @@ stdenv.mkDerivation rec {
     "--without-system-jars"
     "--without-system-altlinuxhyph"
     "--without-system-lpsolve"
-    "--without-system-graphite"
     "--without-system-npapi-headers"
     "--without-system-libcmis"
-    "--without-system-mozilla"
+
+    "--without-system-libetonyek"
+    "--without-system-libfreehand"
+    "--without-system-libodfgen"
+    "--without-system-libabw"
+    "--without-system-firebird"
+    "--without-system-liblangtag"
+    "--without-system-libmspub"
   ];
 
   checkPhase = ''
@@ -246,23 +235,27 @@ stdenv.mkDerivation rec {
     make slowcheck
   '';
 
-  buildInputs =
+  buildInputs = with xorg;
     [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
-      CompressZlib cppunit cups curl db4 dbus_glib expat file flex fontconfig
+      CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
       freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
       hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
-      libXaw libXext libXi libXinerama libxml2 libxslt libXtst mdds mesa mythes
+      libXaw libXext libXi libXinerama libxml2 libxslt libXtst
+      libXdmcp libpthreadstubs mesa mythes
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
       python3 sablotron saneBackends tcsh unzip vigra which zip zlib
-      mdds bluez5 glibc libmspub libixion liborcus liblangtag
+      mdds bluez5 glibc libixion
+      libxshmfence libatomic_ops graphite2 harfbuzz
+      librevenge libe-book libmwaw glm glew
+      liborcus
     ];
 
   meta = with stdenv.lib; {
     description = "LibreOffice is a comprehensive, professional-quality productivity suite, a variant of openoffice.org";
     homepage = http://libreoffice.org/;
     license = licenses.lgpl3;
-    maintainers = [ maintainers.viric ];
+    maintainers = [ maintainers.viric maintainers.raskin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh
index ab6c4e3fb07..e5a867463bf 100755
--- a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh
+++ b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh
@@ -6,15 +6,39 @@ cat <<EOF
 [
 EOF
 
-read file
-while read file; do
-  if [[ "$file" == @* ]]; then
-    break
-  fi
+write_entry(){
   echo '{'
-  echo "  name = \"${file:33}\";"
-  echo "  md5 = \"${file:0:32}\";"
+  echo "  name = \"${name}\";"
+  echo "  md5 = \"${md5}\";"
+  echo "  brief = ${brief};"
   echo '}'
+}
+
+while read line; do
+  case "$line" in
+    \#*)
+      echo Skipping comment: "$line" >&2;
+      ;;
+    *_MD5SUM\ :=*)
+      read tbline;
+      line=${line##* };
+      tbline=${tbline##* };
+      md5=$line
+      name=$tbline;
+      brief=true;
+      write_entry;
+      ;;
+    *_TARBALL\ :=*)
+      line=${line##* };
+      md5=${line:0:32};
+      name=${line:33};
+      brief=false;
+      write_entry;
+      ;;
+    *)
+      echo Skipping: "$line" >&2;
+      ;;
+  esac
 done
 
 echo ']'
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 6ed1a5e2c63..4e7dacfe0a9 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -1,114 +1,523 @@
 [
 {
-  name = "glibc-2.1.3-stub.tar.gz";
-  md5 = "4a660ce8466c9df01f19036435425c3a";
+  name = "libabw-0.1.0.tar.bz2";
+  md5 = "9317e967c8fa8ff50e049744c4b33c87";
+  brief = true;
 }
 {
-  name = "ucpp-1.3.2.tar.gz";
-  md5 = "0168229624cfac409e766913506961a8";
+  name = "commons-codec-1.6-src.tar.gz";
+  md5 = "2e482c7567908d334785ce7d69ddfff7";
+  brief = false;
 }
 {
-  name = "commons-logging-1.1.1-src.tar.gz";
-  md5 = "3c219630e4302863a9a83d0efde889db";
+  name = "commons-codec-1.9-src.zip";
+  md5 = "048751f3271906db5126ab76870444c4";
+  brief = false;
 }
 {
-  name = "liblayout-0.2.10.zip";
-  md5 = "db60e4fde8dd6d6807523deb71ee34dc";
+  name = "commons-httpclient-3.1-src.tar.gz";
+  md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
+  brief = false;
 }
 {
-  name = "hsqldb_1_8_0.zip";
-  md5 = "17410483b5b5f267aa18b7e00b65e6e0";
+  name = "commons-lang-2.4-src.tar.gz";
+  md5 = "625ff5f2f968dd908bca43c9469d6e6b";
+  brief = false;
 }
 {
-  name = "rhino1_5R5.zip";
-  md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
+  name = "commons-lang3-3.3.1-src.tar.gz";
+  md5 = "8ab049135b2d15313da5d9f0656894a1";
+  brief = false;
+}
+{
+  name = "commons-logging-1.1.3-src.tar.gz";
+  md5 = "e8e197d628436490886d17cffa108fe3";
+  brief = false;
+}
+{
+  name = "apr-1.4.8.tar.gz";
+  md5 = "eff9d741b0999a9bbab96862dd2a2a3d";
+  brief = true;
+}
+{
+  name = "apr-util-1.5.3.tar.gz";
+  md5 = "71a11d037240b292f824ba1eb537b4e3";
+  brief = true;
+}
+{
+  name = "boost_1_55_0.tar.bz2";
+  md5 = "d6eef4b4cacb2183f2bf265a5a03a354";
+  brief = false;
 }
 {
   name = "bsh-2.0b1-src.tar.gz";
   md5 = "ea570af93c284aa9e5621cd563f54f4d";
+  brief = false;
 }
 {
-  name = "xmlsec1-1.2.14.tar.gz";
-  md5 = "1f24ab1d39f4a51faf22244c94a6203f";
+  name = "cairo-1.10.2.tar.gz";
+  md5 = "f101a9e88b783337b20b2e26dfd26d5f";
+  brief = false;
 }
 {
-  name = "librepository-1.1.6.zip";
-  md5 = "8ce2fcd72becf06c41f7201d15373ed9";
+  name = "libcdr-0.1.0.tar.bz2";
+  md5 = "0e2f56934c8872ec4a254cd4bb1d7cf6";
+  brief = true;
 }
 {
-  name = "libbase-1.1.6.zip";
-  md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
+  name = "clucene-core-2.3.3.4.tar.gz";
+  md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
+  brief = false;
 }
 {
-  name = "lp_solve_5.5.tar.gz";
-  md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
+  name = "libcmis-0.4.1.tar.gz";
+  md5 = "22f8a85daf4a012180322e1f52a7563b";
+  brief = false;
 }
 {
-  name = "libloader-1.1.6.zip";
-  md5 = "97b2d4dba862397f446b217e2b623e71";
+  name = "CoinMP-1.7.6.tgz";
+  md5 = "1cce53bf4b40ae29790d2c5c9f8b1129";
+  brief = true;
+}
+{
+  name = "collada2gltf-master-cb1d97788a.tar.bz2";
+  md5 = "4b87018f7fff1d054939d19920b751a0";
+  brief = false;
+}
+{
+  name = "cppunit-1.13.1.tar.gz";
+  md5 = "ac4781e01619be13461bb2d562b94a7b";
+  brief = false;
+}
+{
+  name = "ConvertTextToNumber-1.3.2.oxt";
+  md5 = "451ccf439a36a568653b024534669971";
+  brief = false;
+}
+{
+  name = "curl-7.36.0.tar.bz2";
+  md5 = "e6d1f9d1b59da5062109ffe14e0569a4";
+  brief = true;
+}
+{
+  name = "libe-book-0.1.1.tar.bz2";
+  md5 = "c25a881d21abc5b4da19205db513cc22";
+  brief = true;
+}
+{
+  name = "epm-3.7.tar.gz";
+  md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
+  brief = false;
+}
+{
+  name = "libetonyek-0.1.1.tar.bz2";
+  md5 = "805f941b06448212a988cb65f0691a7a";
+  brief = true;
+}
+{
+  name = "expat-2.1.0.tar.gz";
+  md5 = "dd7dab7a5fea97d2a6a43f511449b7cd";
+  brief = false;
+}
+{
+  name = "Firebird-2.5.2.26540-0.tar.bz2";
+  md5 = "21154d2004e025c8a3666625b0357bb5";
+  brief = true;
+}
+{
+  name = "fontconfig-2.8.0.tar.gz";
+  md5 = "77e15a92006ddc2adbb06f840d591c0e";
+  brief = false;
+}
+{
+  name = "crosextrafonts-20130214.tar.gz";
+  md5 = "368f114c078f94214a308a74c7e991bc";
+  brief = false;
+}
+{
+  name = "crosextrafonts-carlito-20130920.tar.gz";
+  md5 = "c74b7223abe75949b4af367942d96c7a";
+  brief = false;
+}
+{
+  name = "dejavu-fonts-ttf-2.34.zip";
+  md5 = "a4e565e220b5de082c23995e256e3c12";
+  brief = false;
 }
 {
-  name = "graphite2-1.2.0.tgz";
-  md5 = "f5ef3f7f10fa8c3542c6a085a233080b";
+  name = "gentiumbasic-fonts-1.10.zip";
+  md5 = "35efabc239af896dfb79be7ebdd6e6b9";
+  brief = false;
 }
 {
-  name = "jakarta-tomcat-5.0.30-src.tar.gz";
-  md5 = "2a177023f9ea8ec8bd00837605c5df1b";
+  name = "liberation-fonts-ttf-1.07.4.tar.gz";
+  md5 = "134d8262145fc793c6af494dcace3e71";
+  brief = false;
+}
+{
+  name = "liberation-fonts-ttf-2.00.1.tar.gz";
+  md5 = "5c781723a0d9ed6188960defba8e91cf";
+  brief = false;
+}
+{
+  name = "LinLibertineG-20120116.zip";
+  md5 = "e7a384790b13c29113e22e596ade9687";
+  brief = false;
+}
+{
+  name = "open-sans-font-ttf-1.10.tar.gz";
+  md5 = "7a15edea7d415ac5150ea403e27401fd";
+  brief = false;
+}
+{
+  name = "pt-serif-font-1.0000W.tar.gz";
+  md5 = "c3c1a8ba7452950636e871d25020ce0d";
+  brief = false;
+}
+{
+  name = "source-code-font-1.009.tar.gz";
+  md5 = "0279a21fab6f245e85a6f85fea54f511";
+  brief = false;
+}
+{
+  name = "source-sans-font-1.036.tar.gz";
+  md5 = "1e9ddfe25ac9577da709d7b2ea36f939";
+  brief = false;
+}
+{
+  name = "libfreehand-0.1.0.tar.bz2";
+  md5 = "5f029fef73e42a2c2ae4524a7513f97d";
+  brief = true;
+}
+{
+  name = "freetype-2.4.8.tar.bz2";
+  md5 = "dbf2caca1d3afd410a29217a9809d397";
+  brief = false;
+}
+{
+  name = "glew-1.10.0.zip";
+  md5 = "594eb47b4b1210e25438d51825404d5a";
+  brief = false;
+}
+{
+  name = "glm-0.9.4.6-libreoffice.zip";
+  md5 = "bae83fa5dc7f081768daace6e199adc3";
+  brief = false;
+}
+{
+  name = "graphite2-1.2.4.tgz";
+  md5 = "2ef839348fe28e3b923bf8cced440227";
+  brief = true;
+}
+{
+  name = "harfbuzz-0.9.23.tar.bz2";
+  md5 = "a4a9b548577e2ee22f0887937da5fd6c";
+  brief = true;
+}
+{
+  name = "hsqldb_1_8_0.zip";
+  md5 = "17410483b5b5f267aa18b7e00b65e6e0";
+  brief = false;
+}
+{
+  name = "hunspell-1.3.2.tar.gz";
+  md5 = "3121aaf3e13e5d88dfff13fb4a5f1ab8";
+  brief = false;
 }
 {
   name = "hyphen-2.8.4.tar.gz";
   md5 = "a2f6010987e1c601274ab5d63b72c944";
+  brief = false;
 }
 {
-  name = "libserializer-1.1.6.zip";
-  md5 = "f94d9870737518e3b597f9265f4e9803";
+  name = "icu4c-53_1-src.tgz";
+  md5 = "b73baa6fbdfef197608d1f69300919b9";
+  brief = false;
 }
 {
-  name = "commons-lang-2.3-src.tar.gz";
-  md5 = "2ae988b339daec234019a7066f96733e";
+  name = "flow-engine-0.9.4.zip";
+  md5 = "ba2930200c9f019c2d93a8c88c651a0f";
+  brief = false;
 }
 {
-  name = "libxml-1.1.7.zip";
-  md5 = "ace6ab49184e329db254e454a010f56d";
+  name = "flute-1.1.6.zip";
+  md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
+  brief = false;
 }
 {
-  name = "commons-httpclient-3.1-src.tar.gz";
-  md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
+  name = "libbase-1.1.6.zip";
+  md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
+  brief = false;
 }
 {
-  name = "commons-codec-1.3-src.tar.gz";
-  md5 = "af3c3acf618de6108d65fcdc92b492e1";
+  name = "libfonts-1.1.6.zip";
+  md5 = "3bdf40c0d199af31923e900d082ca2dd";
+  brief = false;
 }
 {
   name = "libformula-1.1.7.zip";
   md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
+  brief = false;
 }
 {
-  name = "libcmis-0.3.0.tar.gz";
-  md5 = "b2371dc7cf4811c9d32146eec913d296";
+  name = "liblayout-0.2.10.zip";
+  md5 = "db60e4fde8dd6d6807523deb71ee34dc";
+  brief = false;
 }
 {
-  name = "swingExSrc.zip";
-  md5 = "35c94d2df8893241173de1d16b6034c0";
+  name = "libloader-1.1.6.zip";
+  md5 = "97b2d4dba862397f446b217e2b623e71";
+  brief = false;
 }
 {
-  name = "flow-engine-0.9.4.zip";
-  md5 = "ba2930200c9f019c2d93a8c88c651a0f";
+  name = "librepository-1.1.6.zip";
+  md5 = "8ce2fcd72becf06c41f7201d15373ed9";
+  brief = false;
+}
+{
+  name = "libserializer-1.1.6.zip";
+  md5 = "f94d9870737518e3b597f9265f4e9803";
+  brief = false;
+}
+{
+  name = "libxml-1.1.7.zip";
+  md5 = "ace6ab49184e329db254e454a010f56d";
+  brief = false;
 }
 {
   name = "sacjava-1.3.zip";
   md5 = "39bb3fcea1514f1369fcfc87542390fd";
+  brief = false;
 }
 {
-  name = "libwps-0.2.7.tar.bz2";
-  md5 = "d197bd6211669a2fa4ca648faf04bcb1";
+  name = "jpegsrc.v9a.tar.gz";
+  md5 = "3353992aecaee1805ef4109aadd433e7";
+  brief = true;
 }
 {
-  name = "libfonts-1.1.6.zip";
-  md5 = "3bdf40c0d199af31923e900d082ca2dd";
+  name = "language-subtag-registry-2014-04-10.tar.bz2";
+  md5 = "49c94710f7858b1969d74ff72e6aac84";
+  brief = true;
 }
 {
-  name = "flute-1.1.6.zip";
-  md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
+  name = "JLanguageTool-1.7.0.tar.bz2";
+  md5 = "b63e6340a02ff1cacfeadb2c42286161";
+  brief = false;
+}
+{
+  name = "lcms2-2.6.tar.gz";
+  md5 = "f4c08d38ceade4a664ebff7228910a33";
+  brief = true;
+}
+{
+  name = "libatomic_ops-7_2d.zip";
+  md5 = "c0b86562d5aa40761a87134f83e6adcf";
+  brief = true;
+}
+{
+  name = "libeot-0.01.tar.bz2";
+  md5 = "aa24f5dd2a2992f4a116aa72af817548";
+  brief = true;
+}
+{
+  name = "libexttextcat-3.4.3.tar.bz2";
+  md5 = "ae330b9493bd4503ac390106ff6060d7";
+  brief = false;
+}
+{
+  name = "libgltf-0.0.0.tar.bz2";
+  md5 = "3d9ea1f2828c46f8ba94b88a87b3326d";
+  brief = false;
+  subDir = "libgltf/";
+}
+{
+  name = "liblangtag-0.5.1.tar.bz2";
+  md5 = "36271d3fa0d9dec1632029b6d7aac925";
+  brief = false;
+}
+{
+  name = "xmlsec1-1.2.14.tar.gz";
+  md5 = "1f24ab1d39f4a51faf22244c94a6203f";
+  brief = false;
+}
+{
+  name = "libxml2-2.9.1.tar.gz";
+  md5 = "9c0cfef285d5c4a5c80d00904ddab380";
+  brief = false;
+}
+{
+  name = "libxslt-1.1.28.tar.gz";
+  md5 = "9667bf6f9310b957254fdcf6596600b7";
+  brief = false;
+}
+{
+  name = "lp_solve_5.5.tar.gz";
+  md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
+  brief = false;
+}
+{
+  name = "mariadb-native-client-1.0.0.tar.bz2";
+  md5 = "05f84c95b610c21c5fd510d10debcabf";
+  brief = false;
+}
+{
+  name = "mdds_0.10.3.tar.bz2";
+  md5 = "aa5ca9d1ed1082890835afab26400a39";
+  brief = false;
+}
+{
+  name = "libmspub-0.1.1.tar.bz2";
+  md5 = "1d489c4932109e72495b1df8b69e5f11";
+  brief = true;
+}
+{
+  name = "libmwaw-0.3.1.tar.bz2";
+  md5 = "6f1ac4a0e24131c422e1e91f07718fb6";
+  brief = true;
+}
+{
+  name = "mysql-connector-c++-1.1.0.tar.gz";
+  md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
+  brief = false;
+}
+{
+  name = "mythes-1.2.3.tar.gz";
+  md5 = "46e92b68e31e858512b680b3b61dc4c1";
+  brief = false;
+}
+{
+  name = "neon-0.29.5.tar.gz";
+  md5 = "ff369e69ef0f0143beb5626164e87ae2";
+  brief = false;
+}
+{
+  name = "nss-3.15.3-with-nspr-4.10.2.tar.gz";
+  md5 = "06beb053e257d9e22641339c905c6eba";
+  brief = false;
+}
+{
+  name = "libodfgen-0.1.1.tar.bz2";
+  md5 = "c22c83c17cda0754382ada4e116594b7";
+  brief = true;
+}
+{
+  name = "OpenCOLLADA-master-6509aa13af.tar.bz2";
+  md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6";
+  brief = true;
+}
+{
+  name = "openldap-2.4.31.tgz";
+  md5 = "804c6cb5698db30b75ad0ff1c25baefd";
+  brief = false;
+}
+{
+  name = "openssl-1.0.1h.tar.gz";
+  md5 = "8d6d684a9430d5cc98a62a5d8fbda8cf";
+  brief = false;
+}
+{
+  name = "liborcus-0.7.0.tar.bz2";
+  md5 = "7681383be6ce489d84c1c74f4e7f9643";
+  brief = false;
+}
+{
+  name = "pixman-0.24.4.tar.bz2";
+  md5 = "c63f411b3ad147db2bcce1bf262a0e02";
+  brief = false;
+}
+{
+  name = "libpng-1.5.18.tar.gz";
+  md5 = "5266905cef49d1224437465ad4d67fd9";
+  brief = true;
+}
+{
+  name = "poppler-0.22.5.tar.gz";
+  md5 = "1cd27460f7e3379d1eb109cfd7bcdb39";
+  brief = false;
+}
+{
+  name = "postgresql-9.2.1.tar.bz2";
+  md5 = "c0b4799ea9850eae3ead14f0a60e9418";
+  brief = false;
+}
+{
+  name = "Python-3.3.5.tgz";
+  md5 = "803a75927f8f241ca78633890c798021";
+  brief = true;
+}
+{
+  name = "raptor2-2.0.9.tar.gz";
+  md5 = "4ceb9316488b0ea01acf011023cf7fff";
+  brief = false;
+}
+{
+  name = "rasqal-0.9.30.tar.gz";
+  md5 = "b12c5f9cfdb6b04efce5a4a186b8416b";
+  brief = false;
+}
+{
+  name = "redland-1.0.16.tar.gz";
+  md5 = "32f8e1417a64d3c6f2c727f9053f55ea";
+  brief = false;
+}
+{
+  name = "librevenge-0.0.1.tar.bz2";
+  md5 = "69c367c6b0a360411965a1c409a0b6c1";
+  brief = true;
+}
+{
+  name = "rhino1_5R5.zip";
+  md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
+  brief = false;
+}
+{
+  name = "serf-1.2.1.tar.bz2";
+  md5 = "4f8e76c9c6567aee1d66aba49f76a58b";
+  brief = true;
+}
+{
+  name = "swingExSrc.zip";
+  md5 = "35c94d2df8893241173de1d16b6034c0";
+  brief = false;
+}
+{
+  name = "ucpp-1.3.2.tar.gz";
+  md5 = "0168229624cfac409e766913506961a8";
+  brief = false;
+}
+{
+  name = "vigra1.6.0.tar.gz";
+  md5 = "d62650a6f908e85643e557a236ea989c";
+  brief = false;
+}
+{
+  name = "libvisio-0.1.0.tar.bz2";
+  md5 = "931588332ba44682c9cd5eefbd358ab4";
+  brief = true;
+}
+{
+  name = "libwpd-0.10.0.tar.bz2";
+  md5 = "0773d79a1f240ef9f4f20242b13c5bb7";
+  brief = true;
+}
+{
+  name = "libwpg-0.3.0.tar.bz2";
+  md5 = "17da9770cb8b317b7633f9807b32b71a";
+  brief = true;
+}
+{
+  name = "libwps-0.3.0.tar.bz2";
+  md5 = "d4d77d08b9048bae3b8ec8df11f80efd";
+  brief = true;
+}
+{
+  name = "xsltml_2.1.2.zip";
+  md5 = "a7983f859eafb2677d7ff386a023bc40";
+  brief = false;
+}
+{
+  name = "zlib-1.2.8.tar.gz";
+  md5 = "44d667c142d7cda120332623eab69f40";
+  brief = true;
 }
 ]
diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix
index d56f4bed0ce..2940569ef65 100644
--- a/pkgs/applications/office/mmex/default.nix
+++ b/pkgs/applications/office/mmex/default.nix
@@ -28,7 +28,7 @@ in
     meta = {
       description = "Easy-to-use personal finance software";
       homepage = http://www.codelathe.com/mmex;
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
       maintainers = with stdenv.lib.maintainers; [viric];
       platforms = with stdenv.lib.platforms; linux;
     };
diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix
index a4f5821c54c..4026031de08 100644
--- a/pkgs/applications/office/scribus/default.nix
+++ b/pkgs/applications/office/scribus/default.nix
@@ -3,11 +3,11 @@
 , zlib, libpng, xorg, cairo, podofo, aspell, boostHeaders, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "scribus-1.4.1";
+  name = "scribus-1.4.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz";
-    sha256 = "1n67z2bk5ca2sxvv43jvj7yygfr4d2x5yc69zk70v38prm0gqlv8";
+    sha256 = "1zxgl2g299rllfy5ihs5skicpv7zcmz149ahraami69gqcag6bn7";
   };
 
   enableParallelBuilding = true;
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.linux;
     description = "Desktop Publishing (DTP) and Layout program for Linux";
     homepage = http://www.scribus.net;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix
new file mode 100644
index 00000000000..eb4c31ed9d2
--- /dev/null
+++ b/pkgs/applications/office/todo.txt-cli/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+let
+  version = "2.10";
+in stdenv.mkDerivation {
+  name = "todo.txt-cli-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/ginatrapani/todo.txt-cli/releases/download/v${version}/todo.txt_cli-${version}.tar.gz";
+    sha256 = "1agn4zzbizrrylvbfi053b5mpb39bvl1gzziw08xibzfdyi1g55m";
+  };
+
+  installPhase = ''
+    install -vd $out/bin
+    install -vm 755 todo.sh $out/bin
+    install -vd $out/etc/bash_completion.d
+    install -vm 644 todo_completion $out/etc/bash_completion.d/todo
+    install -vd $out/etc/todo
+    install -vm 644 todo.cfg $out/etc/todo/config
+  '';
+
+  meta = {
+    description = "Simple plaintext todo list manager";
+    homepage = "http://todotxt.com";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
new file mode 100644
index 00000000000..0a5ef909904
--- /dev/null
+++ b/pkgs/applications/office/zotero/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, bash, xulrunner }:
+
+assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
+
+let
+  version = "4.0.21.2";
+  arch = if stdenv.system == "x86_64-linux"
+           then "linux-x86_64"
+           else "linux-i686";
+in
+stdenv.mkDerivation {
+  name = "zotero-${version}";
+
+  src = fetchurl {
+    url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
+    sha256 = if stdenv.system == "x86_64-linux"
+               then "1df101j2qwdp001m8x3ihbzz2j23x43804k8ww749y09d1ydb4dx"
+               else "1bcrpl6gdxlygd5ppyrhw42q24kjcakma3qv6mpzgp91phkf6g30";
+  };
+
+  # Strip the bundled xulrunner
+  prePatch = ''rm -fr run-zotero.sh zotero xulrunner/'';
+
+  inherit bash xulrunner;
+  installPhase = ''
+    mkdir -p "$out/libexec/zotero"
+    cp -vR * "$out/libexec/zotero/"
+
+    mkdir -p "$out/bin"
+    substituteAll "${./zotero.sh}" "$out/bin/zotero"
+    chmod +x "$out/bin/zotero"
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = "$out/bin/zotero --version";
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.zotero.org";
+    description = "Collect, organize, cite, and share your research sources";
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/applications/office/zotero/zotero.sh b/pkgs/applications/office/zotero/zotero.sh
new file mode 100644
index 00000000000..c80d5e8189e
--- /dev/null
+++ b/pkgs/applications/office/zotero/zotero.sh
@@ -0,0 +1,3 @@
+#!@bash@/bin/bash
+
+exec "@xulrunner@/bin/xulrunner" "@out@/libexec/zotero/application.ini" "${@}"
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index d7814aa5b78..d4da5c113c9 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -65,6 +65,8 @@ stdenv.mkDerivation {
     )
   '';
 
+  installPhase = ''make MKDIR_P="mkdir -p" install'';
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index a2cc07b0a61..696890f95f1 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://gravit.slowchop.com";
     description = "A beautiful OpenGL-based gravity simulator";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Gravit is a gravity simulator which runs under Linux, Windows and
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 04c82b21e85..6b84143d013 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,14 +1,11 @@
-{stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv}:
+{ stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv }:
 
-let
-  name = "stellarium-0.12.1";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "stellarium-0.12.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "02qfp56mkg3bqggv3ndx8v6zfswg51gkczwiqy5c9y4rw28hazla";
+    sha256 = "11367hv9niyz9v47lf31vjsqkgc8da0vy2nhiyxgmk1i49p1pbhg";
   };
 
   buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
diff --git a/pkgs/applications/science/astronomy/xplanet/default.nix b/pkgs/applications/science/astronomy/xplanet/default.nix
index 816119a3b92..bdb93c99226 100644
--- a/pkgs/applications/science/astronomy/xplanet/default.nix
+++ b/pkgs/applications/science/astronomy/xplanet/default.nix
@@ -2,15 +2,17 @@
 , libjpeg, netpbm}:
 
 stdenv.mkDerivation rec {
-  name = "xplanet-1.2.2";
+  name = "xplanet-1.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/xplanet/${name}.tar.gz";
-    sha256 = "1jnkrly9njkibxqbg5im4pq9cqjzwmki6jzd318dvlfmnicqr3vg";
+    sha256 = "0hml2v228wi2r61m1pgka7h96rl92b6apk0iigm62miyp4mp9ys4";
   };
 
   buildInputs = [ pkgconfig freetype pango libpng libtiff giflib libjpeg netpbm ];
 
+  patches = [ ./giflib.patch ];
+
   meta = {
     description = "Renders an image of the earth or other planets into the X root window";
     homepage = http://xplanet.sourceforge.net;
diff --git a/pkgs/applications/science/astronomy/xplanet/giflib.patch b/pkgs/applications/science/astronomy/xplanet/giflib.patch
new file mode 100644
index 00000000000..aaf024198fb
--- /dev/null
+++ b/pkgs/applications/science/astronomy/xplanet/giflib.patch
@@ -0,0 +1,130 @@
+diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c
+--- xplanet-1.3.0/src/libimage/gif.c	2006-03-26 01:50:51.000000000 +0300
++++ /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c	2013-07-30 18:21:17.412474692 +0400
+@@ -20,7 +20,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+-
++#define FALSE 0
+ #include <gif_lib.h>
+ 
+ /*
+@@ -42,11 +42,11 @@
+     int color_index;
+     unsigned char *ptr = NULL;
+ 
+-    infile = DGifOpenFileName(filename);
++    infile = DGifOpenFileName(filename, NULL);
+ 
+     if (infile == NULL)
+     {
+-        PrintGifError();
++        printf("%s\n", GifErrorString(GIF_ERROR));
+         return(0);
+     }
+ 
+@@ -54,7 +54,7 @@
+     {
+         if (DGifGetRecordType(infile, &record_type) == GIF_ERROR) 
+         {
+-            PrintGifError();
++            printf("%s\n", GifErrorString(GIF_ERROR));
+             return(0);
+         }
+ 
+@@ -63,7 +63,7 @@
+         case IMAGE_DESC_RECORD_TYPE:
+             if (DGifGetImageDesc(infile) == GIF_ERROR)
+             {
+-                PrintGifError();
++                printf("%s\n", GifErrorString(GIF_ERROR));
+                 return(0);
+             }
+ 
+@@ -107,14 +107,14 @@
+             GifByteType *ext;
+             if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR) 
+             {
+-                PrintGifError();
++                printf("%s\n", GifErrorString(GIF_ERROR));
+                 return(0);
+             }
+             while (ext != NULL) 
+             {
+                 if (DGifGetExtensionNext(infile, &ext) == GIF_ERROR) 
+                 {
+-                    PrintGifError();
++                    printf("%s\n", GifErrorString(GIF_ERROR));
+                     return(0);
+                 }
+             }
+@@ -178,7 +178,7 @@
+         return(0);
+     }
+ 
+-    colormap = MakeMapObject(colormap_size, NULL);
++    colormap = GifMakeMapObject(colormap_size, NULL);
+ 
+     for (i = 0; i < width * height; i++)
+     {
+@@ -187,10 +187,10 @@
+         blue[i]  = (GifByteType) rgb[3*i+2];
+     }
+   
+-    if (QuantizeBuffer(width, height, &colormap_size, red, green, blue,   
++    if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue,   
+                        buffer, colormap->Colors) == GIF_ERROR)
+     {
+-        PrintGifError();
++        printf("%s\n", GifErrorString(GIF_ERROR));
+         return(0);
+     }
+ 
+@@ -198,24 +198,24 @@
+     free(green);
+     free(blue);
+ 
+-    outfile = EGifOpenFileName((char *) filename, FALSE);
++    outfile = EGifOpenFileName((char *) filename, FALSE, NULL);
+     if (outfile == NULL)
+     {
+-        PrintGifError();
++        printf("%s\n", GifErrorString(GIF_ERROR));
+         return(0);
+     }
+ 
+     if (EGifPutScreenDesc(outfile, width, height, colormap_size, 0, colormap)
+         == GIF_ERROR)
+     {
+-        PrintGifError();
++        printf("%s\n", GifErrorString(GIF_ERROR));
+         return(0);
+     }
+ 
+     if (EGifPutImageDesc(outfile, 0, 0, width, height, FALSE, NULL)
+         == GIF_ERROR)
+     {
+-        PrintGifError();
++        printf("%s\n", GifErrorString(GIF_ERROR));
+         return(0);
+     }
+ 
+@@ -224,7 +224,7 @@
+     {
+         if (EGifPutLine(outfile, ptr, width) == GIF_ERROR)
+         {
+-            PrintGifError();
++            printf("%s\n", GifErrorString(GIF_ERROR));
+             return(0);
+         }
+         ptr += width;
+@@ -233,7 +233,7 @@
+     EGifSpew(outfile);
+ 
+     if (EGifCloseFile(outfile) == GIF_ERROR) 
+-        PrintGifError();
++        printf("%s\n", GifErrorString(GIF_ERROR));
+ 
+     free(buffer);
+ 
diff --git a/pkgs/applications/science/biology/arb/default.nix b/pkgs/applications/science/biology/arb/default.nix
index 279091f21bd..2f622e94057 100644
--- a/pkgs/applications/science/biology/arb/default.nix
+++ b/pkgs/applications/science/biology/arb/default.nix
@@ -81,5 +81,6 @@ stdenv.mkDerivation {
     pkgMaintainer = "http://BioLib.open-bio.org/";
     homepage    = http://www.arb-home.de/;
     priority    = "10";   # because it includes binaries of clustal etc.
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/biology/plink/default.nix b/pkgs/applications/science/biology/plink/default.nix
index fa6dcaa82ed..009e12aa02f 100644
--- a/pkgs/applications/science/biology/plink/default.nix
+++ b/pkgs/applications/science/biology/plink/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Whole genome association toolkit";
     homepage = "http://pngu.mgh.harvard.edu/~purcell/plink/";
-    license = "GNUv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix
index e45f5b645fd..1e9f3ee521b 100644
--- a/pkgs/applications/science/chemistry/avogadro/default.nix
+++ b/pkgs/applications/science/chemistry/avogadro/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, mesa, libX11 }:
+{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, mesa, libX11, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "avogadro-1.0.3";
+  name = "avogadro-1.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/avogadro/${name}.tar.bz2";
-    sha256 = "0s44r78vm7hf4cs13d2qki3gf178gjj1ihph6rs04g6s4figvdpg";
+    sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy";
   };
 
   buildInputs = [ qt4 eigen zlib openbabel mesa libX11 ];
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig doxygen ];
 
   NIX_CFLAGS_COMPILE = "-include ${mesa}/include/GL/glu.h";
 
diff --git a/pkgs/applications/science/electronics/archimedes/default.nix b/pkgs/applications/science/electronics/archimedes/default.nix
index f22ef09a983..a6a5f68755a 100644
--- a/pkgs/applications/science/electronics/archimedes/default.nix
+++ b/pkgs/applications/science/electronics/archimedes/default.nix
@@ -1,17 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "archimedes-2.0.0";
+  name = "archimedes-2.0.1";
 
   src = fetchurl {
     url = "mirror://gnu/archimedes/${name}.tar.gz";
-    sha256 = "1ajg4xvk5slv05fsbikrina9g4bmhx8gykk249yz21pir67sdk4x";
+    sha256 = "0jfpnd3pns5wxcxbiw49v5sgpmm5b4v8s4q1a5292hxxk2hzmb3z";
   };
 
   meta = {
     description = "GNU package for semiconductor device simulations";
     homepage = http://www.gnu.org/software/archimedes;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/science/electronics/caneda/default.nix b/pkgs/applications/science/electronics/caneda/default.nix
index d135fb09434..404ffc5010b 100644
--- a/pkgs/applications/science/electronics/caneda/default.nix
+++ b/pkgs/applications/science/electronics/caneda/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Open source EDA software focused on easy of use and portability";
     homepage = http://caneda.tuxfamily.org;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index bb4b969f062..c761f619642 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
 stdenv.mkDerivation rec {
-  name = "gtkwave-3.3.39";
+  name = "gtkwave-3.3.53";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1va506anlbpbha7l6h94s44xjdy6ch22iv629swn4bh5m3qi33bg";
+    sha256 = "1jmrk2p2azjca250h2bi4c8v0cp1gqd3c027dx18sxy3cgw1fsp1";
   };
 
   buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Wave viewer for Unix and Win32";
     homepage = http://gtkwave.sourceforge.net;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index cc53611493d..1fc97abef92 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, fetchbzr, unzip, cmake, mesa, gtk, wxGTK, zlib, libX11, 
-gettext, cups } : 
+{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kicad-20130325";
+  name = "kicad-20131025";
 
-  src = fetchurl {
-    url = "http://iut-tice.ujf-grenoble.fr/cao/kicad-sources-stable_2013-03-25_BZR4005.zip";
-    sha256 = "0hg2aiis14am7mmpimcxnxvhy7c7fr5rgzlk6rjv44d9m0f9957m";
+  src = fetchbzr {
+    url = "https://code.launchpad.net/~kicad-stable-committers/kicad/stable";
+    rev = 4024;
+    sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5";
   };
 
   srcLibrary = fetchbzr {
     url = "http://bazaar.launchpad.net/~kicad-lib-committers/kicad/library";
-    revision = 220;
-    sha256 = "0l2lblgnm51n2w1p4ifpwdvq04rxgq73zrfxlhqa9zdlyh4rcddb";
+    rev = 293;
+    sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i";
   };
 
-  cmakeFlags = "-DKICAD_TESTING_VERSION=ON";
+  cmakeFlags = "-DKICAD_STABLE_VERSION=ON";
 
   # They say they only support installs to /usr or /usr/local,
   # so we have to handle this.
@@ -23,9 +23,9 @@ stdenv.mkDerivation rec {
     sed -i -e 's,/usr/local/kicad,'$out,g common/gestfich.cpp
   '';
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory
 
-  buildInputs = [ unzip cmake mesa wxGTK zlib libX11 gettext ];
+  buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ];
 
   postInstall = ''
     mkdir library
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Free Software EDA Suite";
     homepage = "http://www.kicad-pcb.org/";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index 579492248ea..493af97d156 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, readline, bison, libX11, libICE, libXaw, libXext}:
 
 stdenv.mkDerivation {
-  name = "ng-spice-rework-24";
+  name = "ng-spice-rework-25";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ngspice/ngspice-24.tar.gz";
-    sha256 = "0rgh75hbqrsljz767whbj65wi6369yc286v0qk8jxnv2da7p9ll6";
+    url = "mirror://sourceforge/ngspice/ngspice-25.tar.gz";
+    sha256 = "03hlxwvl2j1wlb5yg4swvmph9gja37c2gqvwvzv6z16vg2wvn06h";
   };
 
   buildInputs = [ readline libX11 bison libICE libXaw libXext ];
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
new file mode 100644
index 00000000000..07724d93254
--- /dev/null
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, cmake, glib, qt4, boost, libsigrok
+, libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi
+}:
+
+stdenv.mkDerivation rec {
+  name = "pulseview-0.2.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/pulseview/${name}.tar.gz";
+    sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy";
+  };
+
+  buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
+    libsigrokdecode libserialport libzip udev libusb1 libftdi
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/science/electronics/qfsm/default.nix b/pkgs/applications/science/electronics/qfsm/default.nix
index 0f24784e9e5..160c530e722 100644
--- a/pkgs/applications/science/electronics/qfsm/default.nix
+++ b/pkgs/applications/science/electronics/qfsm/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
     description = "Graphical editor for finite state machines";
     homepage = "http://qfsm.sourceforge.net/";
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix
index e434c97db2b..dd3eaecc744 100644
--- a/pkgs/applications/science/electronics/qucs/default.nix
+++ b/pkgs/applications/science/electronics/qucs/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Integrated circuit simulator";
     homepage = http://qucs.sourceforge.net;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix
index 7c04c85fdb7..30e882a7f38 100644
--- a/pkgs/applications/science/electronics/tkgate/1.x.nix
+++ b/pkgs/applications/science/electronics/tkgate/1.x.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl, tcl, tk, libX11, libiconvOrLibc, which, yacc, flex, imake, xproto, gccmakedep }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+{ stdenv, fetchurl, tcl, tk, libX11, glibc, which, yacc, flex, imake, xproto, gccmakedep }:
 
+let
+  libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc}/include";
+  libiconvLib = stdenv.lib.optionalString stdenv.isLinux "${glibc}/lib";
+in
 stdenv.mkDerivation rec {
   name = "tkgate-1.8.7";
 
@@ -10,13 +12,13 @@ stdenv.mkDerivation rec {
     sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs";
   };
 
-  buildInputs = [ tcl tk libX11 libiconvOrLibc which yacc flex imake xproto gccmakedep ];
+  buildInputs = [ tcl tk libX11 which yacc flex imake xproto gccmakedep ];
 
   patchPhase = ''
     sed -i config.h \
       -e 's|.*#define.*TKGATE_TCLTK_VERSIONS.*|#define TKGATE_TCLTK_VERSIONS "8.5"|' \
-      -e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvOrLibc}/include ${libX11}/include"|' \
-      -e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvOrLibc}/lib ${libX11}/lib"|' \
+      -e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvInc} ${libX11}/include"|' \
+      -e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvLib} ${libX11}/lib"|' \
       \
       -e '20 i #define TCL_LIBRARY "${tcl}/lib"' \
       -e '20 i #define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"' \
@@ -31,8 +33,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor";
     homepage = "http://www.tkgate.org/";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/electronics/tkgate/2.x.nix b/pkgs/applications/science/electronics/tkgate/2.x.nix
index 756fe7052d8..108986ddefe 100644
--- a/pkgs/applications/science/electronics/tkgate/2.x.nix
+++ b/pkgs/applications/science/electronics/tkgate/2.x.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl, tcl, tk, libX11, libiconvOrLibc }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+{ stdenv, fetchurl, tcl, tk, libX11, glibc }:
 
+let
+  libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc}/include";
+  libiconvLib = stdenv.lib.optionalString stdenv.isLinux "${glibc}/lib";
+in
 stdenv.mkDerivation rec {
   name = "tkgate-2.0-b10";
 
@@ -16,8 +18,8 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     sed -i configure \
-      -e 's|TKGATE_INCDIRS=.*|TKGATE_INCDIRS="${tcl}/include ${tk}/include ${libiconvOrLibc}/include"|' \
-      -e 's|TKGATE_LIBDIRS=.*|TKGATE_LIBDIRS="${tcl}/lib ${tk}/lib ${libiconvOrLibc}/lib"|'
+      -e 's|TKGATE_INCDIRS=.*|TKGATE_INCDIRS="${tcl}/include ${tk}/include ${libiconvInc}"|' \
+      -e 's|TKGATE_LIBDIRS=.*|TKGATE_LIBDIRS="${tcl}/lib ${tk}/lib ${libiconvLib}"|'
     sed -i options.h \
       -e 's|.* #define TCL_LIBRARY .*|#define TCL_LIBRARY "${tcl}/${tcl.libdir}"|' \
       -e 's|.* #define TK_LIBRARY .*|#define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"|'
@@ -26,8 +28,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor";
     homepage = "http://www.tkgate.org/";
-    license = "GPLv2+";
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2Plus;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix
index a4c803e2952..e68d2a4ab91 100644
--- a/pkgs/applications/science/electronics/verilog/default.nix
+++ b/pkgs/applications/science/electronics/verilog/default.nix
@@ -1,19 +1,20 @@
 {stdenv, fetchurl, gperf, flex, bison}:
 
 stdenv.mkDerivation rec {
-  name = "verilog-0.9.3";
+  name = "verilog-0.9.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/iverilog/${name}.tar.gz";
-    sha256 = "dd68c8ab874a93805d1e93fa76ee1e91fc0c7b20822ded3e57b6536cd8c0d1ba";
+    sha256 = "0m3liqw7kq24vn7k8wvi630ljz0awz23r3sd4rcklk7vgghp4pks";
   };
 
   buildInputs = [ gperf flex bison ];
 
   meta = {
     description = "Icarus Verilog compiler";
+    repositories.git = https://github.com/steveicarus/iverilog.git;
     homepage = http://www.icarus.com;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [winden];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/science/electronics/xoscope/default.nix b/pkgs/applications/science/electronics/xoscope/default.nix
index 54aae9e7d3b..df7d053d93b 100644
--- a/pkgs/applications/science/electronics/xoscope/default.nix
+++ b/pkgs/applications/science/electronics/xoscope/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Oscilloscope through the sound card";
     homepage = http://xoscope.sourceforge.net;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix
index a43ec3b0eb9..ddfb92def95 100644
--- a/pkgs/applications/science/geometry/tetgen/default.nix
+++ b/pkgs/applications/science/geometry/tetgen/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
   name = "tetgen-1.4.3";
 
   src = fetchurl {
-    url = http://tetgen.berlios.de/files/tetgen1.4.3.tar.gz;
-    sha256 = "159i0vdjz7abb8bycz47ax4fqlzc82kv19sygqnrkr86qm4g43wy";
+    url = "${meta.homepage}/files/tetgen1.4.3.tar.gz";
+    sha256 = "0d70vjqdapmy1ghlsxjlvl5z9yp310zw697bapc4zxmp0sxi29wm";
   };
 
   installPhase = ''
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Quality Tetrahedral Mesh Generator and 3D Delaunay Triangulator";
-    homepage = "http://tetgen.berlios.de/";
-    license = "MIT";
+    homepage = "http://tetgen.org/";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
new file mode 100644
index 00000000000..30c36ae29dc
--- /dev/null
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -0,0 +1,27 @@
+{ fetchhg, stdenv, readline }:
+
+stdenv.mkDerivation rec {
+  name = "abc-verifier-${version}";
+  version = "140509"; # YYMMDD
+
+  src = fetchhg {
+    url    = "https://bitbucket.org/alanmi/abc";
+    rev    = "03e221443d71e49e56cbc37f1907ee3b0ff3e7c9";
+    sha256 = "0ahrqg718y7xpv939f6x8w1kqh7wsja4pw8hca7j67j0qjdgb4lm";
+  };
+
+  buildInputs = [ readline ];
+  enableParallelBuilding = true;
+  installPhase = ''
+    mkdir -p $out/bin
+    mv abc $out/bin
+  '';
+
+  meta = {
+    description = "Sequential Logic Synthesis and Formal Verification";
+    homepage    = "www.eecs.berkeley.edu/~alanmi/abc/abc.htm";
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix
new file mode 100644
index 00000000000..2a95d0cd65b
--- /dev/null
+++ b/pkgs/applications/science/logic/alt-ergo/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, ocaml, ocamlPackages, gmp }:
+
+stdenv.mkDerivation rec {
+  name = "alt-ergo-${version}";
+  version = "0.95.2";
+
+  src = fetchurl {
+    url    = "http://alt-ergo.ocamlpro.com/download_manager.php?target=${name}.tar.gz";
+    name   = "${name}.tar.gz";
+    sha256 = "1b7f0rh3jgm67g0x2m3wv7gnnqmz9cjlrfm136z56ihlkhsd8v2s";
+  };
+
+  buildInputs = with ocamlPackages;
+    [ ocaml findlib ocamlgraph zarith lablgtk gmp ];
+
+  meta = {
+    description = "Alt-Ergo is a high-performance theorem prover and SMT solver";
+    homepage    = "http://alt-ergo.ocamlpro.com/";
+    license     = stdenv.lib.licenses.cecill-c; # LGPL-2 compatible
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix
new file mode 100644
index 00000000000..3879ee8ef47
--- /dev/null
+++ b/pkgs/applications/science/logic/boolector/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, zlib, useV16 ? false }:
+
+let
+  v15 = rec {
+    name    = "boolector-${version}";
+    version = "1.5.118";
+    src = fetchurl {
+      url    = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz";
+      sha256 = "17j7q02rryvfwgvglxnhx0kv8hxwy8wbhzawn48lw05i98vxlmk9";
+    };
+  };
+
+  v16 = rec {
+    name    = "boolector-${version}";
+    version = "1.6.0";
+    src = fetchurl {
+      url    = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz";
+      sha256 = "0jka4r6bc3i24axgdp6qbq6gjadwz9kvi11s2c5sbwmdnjd7cp85";
+    };
+  };
+
+  boolectorPkg = if useV16 then v16 else v15;
+  license = with stdenv.lib.licenses; if useV16 then unfreeRedistributable else gpl3;
+in
+stdenv.mkDerivation (boolectorPkg // {
+  buildInputs = [ zlib ];
+  enableParallelBuilding = false;
+
+  buildPhase = "./build.sh";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib $out/include
+    cp boolector/boolector      $out/bin
+    cp boolector/deltabtor      $out/bin
+    cp boolector/synthebtor     $out/bin
+    cp boolector/libboolector.a $out/lib
+    cp boolector/boolector.h    $out/include
+  '';
+
+  meta = {
+    inherit license;
+    description = "An extremely fast SMT solver for bit-vectors and arrays";
+    homepage    = "http://fmv.jku.at/boolector";
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+})
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
new file mode 100644
index 00000000000..8e6fde6bc24
--- /dev/null
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -0,0 +1,57 @@
+# - coqide compilation can be disabled by setting lablgtk to null;
+
+{stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+
+let 
+  version = "8.5pre-8bc01590";
+  buildIde = lablgtk != null;
+  ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
+  idePath = if buildIde then ''
+    CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
+  '' else "";
+in
+
+stdenv.mkDerivation {
+  name = "coq-${version}";
+
+  src = fetchgit {
+    url = git://scm.gforge.inria.fr/coq/coq.git;
+    rev = "8bc0159095cb0230a50c55a1611c8b77134a6060";
+    sha256 = "1cp4hbk9jw78y03vwz099yvixax161h60hsbyvwiwz2z5czjxzcv";
+  };
+
+  buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
+
+  postPatch = ''
+    UNAME=$(type -tp uname)
+    RM=$(type -tp rm)
+    substituteInPlace configure --replace "/bin/uname" "$UNAME"
+    substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
+  '';
+
+  preConfigure = ''
+    buildFlagsArray=(${idePath})
+    configureFlagsArray=(
+      -opt
+      ${ideFlags}
+    )
+  '';
+
+  prefixKey = "-prefix ";
+
+  buildFlags = "revision coq coqide";
+
+  meta = {
+    description = "Coq proof assistant";
+    longDescription = ''
+      Coq is a formal proof management system.  It provides a formal language
+      to write mathematical definitions, executable algorithms and theorems
+      together with an environment for semi-interactive development of
+      machine-checked proofs.
+    '';
+    homepage = "http://coq.inria.fr";
+    license = "LGPL";
+    maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index b4a7a203a3c..678ec6a4b04 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -3,7 +3,7 @@
 {stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
 let 
-  version = "8.4pl2";
+  version = "8.4pl4";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
   idePath = if buildIde then ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
-    sha256 = "1n52pky7bb45irk2jw6f4rd3kvy8lm2yfldjwdhiic0kyqw9lwgv";
+    sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
     '';
     homepage = "http://coq.inria.fr";
     license = "LGPL";
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/cvc3/default.nix b/pkgs/applications/science/logic/cvc3/default.nix
index 9bb8f8cde4c..07b87e3cf07 100644
--- a/pkgs/applications/science/logic/cvc3/default.nix
+++ b/pkgs/applications/science/logic/cvc3/default.nix
@@ -12,10 +12,10 @@ let
     ++ [(a.lib.overrideDerivation x.gmp (y: {dontDisableStatic=true;}))];
   sourceInfo = rec {
     baseName="cvc3";
-    version="2.2";
+    version="2.4.1";
     name="${baseName}-${version}";
     url="http://www.cs.nyu.edu/acsys/cvc3/releases/${version}/${name}.tar.gz";
-    hash="1dw12d5vrixfr6l9j6j7026vrr22zb433xyl6n5yxx4hgfywi0ji";
+    hash="1xxcwhz3y6djrycw8sm6xz83wb4hb12rd1n0skvc7fng0rh1snym";
   };
 in
 rec {
diff --git a/pkgs/applications/science/logic/ekrhyper/default.nix b/pkgs/applications/science/logic/ekrhyper/default.nix
index c90099f495a..e1eb9a2dcc3 100644
--- a/pkgs/applications/science/logic/ekrhyper/default.nix
+++ b/pkgs/applications/science/logic/ekrhyper/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="ekrhyper";
-    version="1_4_30072013";
+    version="1_4_21022014";
     name="${baseName}-${version}";
-    hash="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663";
-    url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_30072013.tar.gz";
-    sha256="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663";
+    hash="14xaaxyvfli1nd4vd9fp4j1s8k76z2bhazxzzc7br3q6hc6b8ivw";
+    url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_21022014.tar.gz";
+    sha256="14xaaxyvfli1nd4vd9fp4j1s8k76z2bhazxzzc7br3q6hc6b8ivw";
   };
   buildInputs = [
     ocaml perl
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 2e1647b6c71..dc8e975ce1d 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -46,11 +46,11 @@ stdenv.mkDerivation {
     #sed -ie "/compute/,999 d" tools/build-sequence # for testing
 
     poly < tools/smart-configure.sml
-
+    
     bin/build ${kernelFlag} -symlink
 
     mkdir -p "$out/bin"
-    ln -st $out/bin  "$out/src/${holsubdir}/bin/"*
+    ln -st $out/bin  $out/src/${holsubdir}/bin/*
     # ln -s $out/src/hol4.${version}/bin $out/bin
   '';
 
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index d6c1c0c1878..3e6440ea977 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -1,19 +1,20 @@
-{stdenv, fetchsvn, writeScript, ocaml, findlib, camlp5}:
+{ stdenv, fetchsvn, writeScript, ocaml, findlib, camlp5 }:
 
 let
   start_script = ''
     #!/bin/sh
     cd "$out/lib/hol_light"
-    exec ${ocaml}/bin/ocaml -I "camlp5 -where" -init make.ml
+    exec ${ocaml}/bin/ocaml -I \`${camlp5}/bin/camlp5 -where\` -init make.ml
   '';
 in
+stdenv.mkDerivation rec {
+  name     = "hol_light-${version}";
+  version  = "189";
 
-stdenv.mkDerivation {
-  name = "hol_light-20130324";
   src = fetchsvn {
     url = http://hol-light.googlecode.com/svn/trunk;
-    rev = "157";
-    sha256 = "0d0pbnkw2gb11dn30ggfl91lhdxv86kd1fyiqn170w08n0gi805f";
+    rev = version;
+    sha256 = "1v10l64rs7da2kag3wlb651i09pn83icy9n5z84j8h1iwlxzajdh";
   };
 
   buildInputs = [ ocaml findlib camlp5 ];
@@ -27,16 +28,9 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Interactive theorem prover based on Higher-Order Logic";
-    longDescription = ''
-      HOL Light is a computer program to help users prove interesting
-      mathematical theorems completely formally in Higher-Order Logic.  It sets
-      a very exacting standard of correctness, but provides a number of
-      automated tools and pre-proved mathematical theorems (e.g., about
-      arithmetic, basic set theory and real analysis) to save the user work.
-      It is also fully programmable, so users can extend it with new theorems
-      and inference rules without compromising its soundness.
-    '';
-    homepage = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
-    license = stdenv.lib.licenses.bsd2;
+    homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/science/logic/iprover/default.nix b/pkgs/applications/science/logic/iprover/default.nix
index 2fb9678b832..e03b33fa43c 100644
--- a/pkgs/applications/science/logic/iprover/default.nix
+++ b/pkgs/applications/science/logic/iprover/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , ocaml, eprover
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -38,7 +38,7 @@ rec {
     echo -e "#! /bin/sh\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover
     chmod a+x  "$out"/bin/iprover
   '') ["defEnsureDir" "minInit" "doMake"];
-      
+
   meta = {
     description = "An automated first-order logic theorem prover";
     maintainers = with a.lib.maintainers;
@@ -47,7 +47,8 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "GPLv3";
+    license = with a.lib.licenses;
+      gpl3;
   };
   passthru = {
     updateInfo = {
@@ -55,4 +56,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix
index 913171827af..8f673eb0f15 100644
--- a/pkgs/applications/science/logic/leo2/default.nix
+++ b/pkgs/applications/science/logic/leo2/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , ocaml, eprover
+  , ocaml, eprover, zlib
   , ...}:
 builderDefsPackage
 (a :  
@@ -11,16 +11,16 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="leo2";
-    version="1.2.8";
+    version = "1.6.2";
     name="${baseName}_v${version}";
-    url="http://www.ags.uni-sb.de/~leo/${name}.tgz";
-    hash="d46a94f5991623386eb9061cfb0d748e258359a8c690fded173d45303e0e9e3a";
+    url="page.mi.fu-berlin.de/cbenzmueller/leo/leo2_v${version}.tgz";
+    hash="d46a94f5991623386eb9061cfb0d748e258359a8c690fded173d35303e0e9e3a";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "1wjpmizb181iygnd18lx7p77fwaci2clgzs5ix5j51cc8f3pazmv";
   };
 
   name = "${sourceInfo.baseName}-${sourceInfo.version}";
@@ -43,6 +43,10 @@ rec {
     echo -e "e = ${eprover}/bin/eprover\\nepclextract = ${eprover}/bin/epclextract" > "$out/etc/leoatprc"
   '') ["minInit" "doMake" "defEnsureDir"];
 
+  makeFlags = [
+    "SHELL=${a.stdenv.shell}"
+  ];
+
   meta = {
     description = "A high-performance typed higher order prover";
     maintainers = with a.lib.maintainers;
@@ -52,11 +56,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "BSD";
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.ags.uni-sb.de/~leo/download.html";
-    };
+    inherit (sourceInfo) version;
+    homepage = "http://page.mi.fu-berlin.de/cbenzmueller/leo/";
+    downloadPage = "http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html";
   };
 }) x
 
diff --git a/pkgs/applications/science/logic/leo2/default.upstream b/pkgs/applications/science/logic/leo2/default.upstream
new file mode 100644
index 00000000000..52b8ed1cdaa
--- /dev/null
+++ b/pkgs/applications/science/logic/leo2/default.upstream
@@ -0,0 +1,6 @@
+url http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html
+version_link '[.]tgz'
+version '.*_v([0-9.]+)[.][a-z0-9]+$' '\1'
+do_overwrite () {
+  do_overwrite_just_version
+}
diff --git a/pkgs/applications/science/logic/logisim/default.nix b/pkgs/applications/science/logic/logisim/default.nix
index ab46efa9a96..c71ed73a992 100644
--- a/pkgs/applications/science/logic/logisim/default.nix
+++ b/pkgs/applications/science/logic/logisim/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://ozark.hendrix.edu/~burch/logisim";
     description = "Educational tool for designing and simulating digital logic circuits";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/science/logic/ltl2ba/default.nix b/pkgs/applications/science/logic/ltl2ba/default.nix
new file mode 100644
index 00000000000..cdadd18ac9f
--- /dev/null
+++ b/pkgs/applications/science/logic/ltl2ba/default.nix
@@ -0,0 +1,24 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "ltl2ba-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url    = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/${name}.tar.gz";
+    sha256 = "16z0gc7a9dkarwn0l6rvg5jdhw1q4qyn4501zlchy0zxqddz0sx6";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv ltl2ba $out/bin
+  '';
+
+  meta = {
+    description = "fast translation from LTL formulae to Buchi automata";
+    homepage    = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba";
+    license     = stdenv.lib.licenses.gpl2Plus;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/matita/130312.nix b/pkgs/applications/science/logic/matita/130312.nix
index f77e9d34a2a..9e98c8db394 100644
--- a/pkgs/applications/science/logic/matita/130312.nix
+++ b/pkgs/applications/science/logic/matita/130312.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://matita.cs.unibo.it/;
     description = "Matita is an experimental, interactive theorem prover";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/applications/science/logic/matita/default.nix b/pkgs/applications/science/logic/matita/default.nix
index 0713ff09e92..f601f97de62 100644
--- a/pkgs/applications/science/logic/matita/default.nix
+++ b/pkgs/applications/science/logic/matita/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://matita.cs.unibo.it/;
     description = "Matita is an experimental, interactive theorem prover";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/applications/science/logic/minisat/default.nix b/pkgs/applications/science/logic/minisat/default.nix
index 1f29b3aa1a1..e91ff67fc9c 100644
--- a/pkgs/applications/science/logic/minisat/default.nix
+++ b/pkgs/applications/science/logic/minisat/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , zlib
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -36,7 +36,7 @@ rec {
   setVars = a.fullDepEntry (''
     export MROOT=$PWD/../
   '') ["doUnpack"];
-      
+
   meta = {
     description = "A compact and readable SAT-solver";
     maintainers = with a.lib.maintainers;
@@ -45,7 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "MIT";
+    license = a.stdenv.lib.licenses.mit;
     homepage = "http://minisat.se/";
   };
   passthru = {
@@ -54,4 +54,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/applications/science/logic/opensmt/default.nix b/pkgs/applications/science/logic/opensmt/default.nix
index 430537fd57f..62e11651175 100644
--- a/pkgs/applications/science/logic/opensmt/default.nix
+++ b/pkgs/applications/science/logic/opensmt/default.nix
@@ -3,9 +3,9 @@ x@{builderDefsPackage
   , gmpxx, flex, bison
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -30,17 +30,14 @@ rec {
 
   /* doConfigure should be removed if not needed */
   phaseNames = ["doAutotools" "doConfigure" "doMakeInstall"];
-      
+
   meta = {
     description = "A satisfiability modulo theory (SMT) solver";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "GPLv3";
+    maintainers = [ a.lib.maintainers.raskin ];
+    platforms = a.lib.platforms.linux;
+    license = a.stdenv.lib.licenses.gpl3;
     homepage = "http://code.google.com/p/opensmt/";
+    broken = true;
   };
   passthru = {
     updateInfo = {
@@ -48,4 +45,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/applications/science/logic/picosat/default.nix b/pkgs/applications/science/logic/picosat/default.nix
index 970daf739fc..6c2cce0ea4b 100644
--- a/pkgs/applications/science/logic/picosat/default.nix
+++ b/pkgs/applications/science/logic/picosat/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://fmv.jku.at/picosat/;
     description = "SAT solver with proof and core support";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/applications/science/logic/prooftree/default.nix b/pkgs/applications/science/logic/prooftree/default.nix
new file mode 100644
index 00000000000..caaf4a94a1e
--- /dev/null
+++ b/pkgs/applications/science/logic/prooftree/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+
+stdenv.mkDerivation (rec {
+  name = "prooftree-${version}";
+  version = "0.12";
+
+  src = fetchurl {
+    url = "http://askra.de/software/prooftree/releases/prooftree-${version}.tar.gz";
+    sha256 = "08yp66j05pdkdpv9xkfqymqy82mir5xbwfh9mkzhh219xkps4b4m";
+  };
+
+  buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
+
+  dontAddPrefix = true;
+  configureFlags = [ "--prefix" "$(out)" ];
+
+  meta = {
+    description = "Prooftree is a program for proof-tree visualization";
+    longDescription = ''
+      Prooftree is a program for proof-tree visualization during interactive
+      proof development in a theorem prover. It is currently being developed
+      for Coq and Proof General. Prooftree helps against getting lost between
+      different subgoals in interactive proof development. It clearly shows
+      where the current subgoal comes from and thus helps in developing the
+      right plan for solving it.
+
+      Prooftree uses different colors for the already proven subgoals, the
+      current branch in the proof and the still open subgoals. Sequent texts
+      are not displayed in the proof tree itself, but they are shown as a
+      tool-tip when the mouse rests over a sequent symbol. Long proof commands
+      are abbreviated in the tree display, but show up in full length as
+      tool-tip. Both, sequents and proof commands, can be shown in the display
+      below the tree (on single click) or in a separate window (on double or
+      shift-click).
+    '';
+    homepage = http://askra.de/software/prooftree;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
+  };
+})
diff --git a/pkgs/applications/science/logic/ssreflect/default.nix b/pkgs/applications/science/logic/ssreflect/default.nix
index 6377db9c895..a784e5fe1b6 100644
--- a/pkgs/applications/science/logic/ssreflect/default.nix
+++ b/pkgs/applications/science/logic/ssreflect/default.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "ssreflect";
-  version = "1.4";
+  version = "1.5";
   name = "${pname}-${version}";
   webpage = http://www.msr-inria.inria.fr/Projects/math-components;
 in
@@ -15,8 +15,8 @@ stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "http://ssr.msr-inria.inria.fr/FTP/${name}-coq8.4.tar.gz";
-    sha256 = "1ysx29xw09i86lq0d92z9cnyx133jfgq4qddy3501000fn7xwi7h";
+    url = "http://ssr.msr-inria.inria.fr/FTP/${name}.tar.gz";
+    sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
   };
 
   buildInputs = [ ocaml camlp5 coq makeWrapper ];
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
new file mode 100644
index 00000000000..cfe96bc6983
--- /dev/null
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -0,0 +1,23 @@
+{stdenv, cmake, boost, bison, flex, fetchgit, perl, zlib}: 
+stdenv.mkDerivation rec {
+  version = "2014.01.07";
+  name = "stp-${version}";
+  src = fetchgit {
+    url    = "git://github.com/stp/stp";
+    rev    = "3aa11620a823d617fc033d26aedae91853d18635";
+    sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
+  };
+  buildInputs = [ cmake boost bison flex perl zlib ];
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
+  patchPhase = ''
+      sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
+      patch -p1 < ${./fixbuild.diff}
+      patch -p1 < ${./fixrefs.diff}
+  '';
+  meta = {
+    description = ''Simple Theorem Prover'';
+    maintainers = with stdenv.lib.maintainers; [mornfall];
+    platforms = with stdenv.lib.platforms; linux;
+    license = with stdenv.lib.licenses; mit;
+  };
+}
diff --git a/pkgs/applications/science/logic/stp/fixbuild.diff b/pkgs/applications/science/logic/stp/fixbuild.diff
new file mode 100644
index 00000000000..01782cb4f40
--- /dev/null
+++ b/pkgs/applications/science/logic/stp/fixbuild.diff
@@ -0,0 +1,45 @@
+diff --git a/src/libstp/CMakeLists.txt b/src/libstp/CMakeLists.txt
+index 83bd03a..9c0304b 100644
+--- a/src/libstp/CMakeLists.txt
++++ b/src/libstp/CMakeLists.txt
+@@ -23,6 +23,15 @@ set(stp_lib_targets
+     printer
+ )
+ 
++include_directories(${CMAKE_SOURCE_DIR}/src/AST/)
++include_directories(${CMAKE_BINARY_DIR}/src/AST/)
++
++add_library(globalstp OBJECT
++    ../main/Globals.cpp
++    ${CMAKE_CURRENT_BINARY_DIR}/../main/GitSHA1.cpp
++)
++add_dependencies(globalstp ASTKind_header)
++
+ # Create list of objects and gather list of
+ # associated public headers.
+ set(stp_lib_objects "")
+@@ -31,6 +40,7 @@ foreach(target ${stp_lib_targets})
+     list(APPEND stp_lib_objects $<TARGET_OBJECTS:${target}>)
+ 
+     get_target_property(TARGETS_PUBLIC_HEADERS ${target} PUBLIC_HEADER)
++    set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
+     if (EXISTS "${TARGETS_PUBLIC_HEADERS}")
+         list(APPEND stp_public_headers "${TARGETS_PUBLIC_HEADERS}")
+         message("Adding public header(s) ${TARGETS_PUBLIC_HEADERS} to target libstp")
+diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
+index 0735137..73039f5 100644
+--- a/src/main/CMakeLists.txt
++++ b/src/main/CMakeLists.txt
+@@ -3,12 +3,6 @@ include_directories(${CMAKE_BINARY_DIR}/src/AST/)
+ 
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/GitSHA1.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp" @ONLY)
+ 
+-add_library(globalstp OBJECT
+-    Globals.cpp
+-    ${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp
+-)
+-add_dependencies(globalstp ASTKind_header)
+-
+ # -----------------------------------------------------------------------------
+ # Create binary
+ # -----------------------------------------------------------------------------
diff --git a/pkgs/applications/science/logic/stp/fixrefs.diff b/pkgs/applications/science/logic/stp/fixrefs.diff
new file mode 100644
index 00000000000..60ad4949f07
--- /dev/null
+++ b/pkgs/applications/science/logic/stp/fixrefs.diff
@@ -0,0 +1,192 @@
+commit 53b6043e25b2eba264faab845077fbf6736cf22f
+Author: Petr Rockai <me@mornfall.net>
+Date:   Tue Jan 7 13:30:07 2014 +0100
+
+    aig: Comment out unused functions with undefined references in them.
+
+diff --git a/src/extlib-abc/aig/aig/aigPart.c b/src/extlib-abc/aig/aig/aigPart.c
+index a4cc116..5bd5f08 100644
+--- a/src/extlib-abc/aig/aig/aigPart.c
++++ b/src/extlib-abc/aig/aig/aigPart.c
+@@ -869,6 +869,7 @@ Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSi
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )

+ {

+     extern int Cmd_CommandExecute( void * pAbc, char * sCommand );

+@@ -981,6 +982,7 @@ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )
+     Aig_ManMarkValidChoices( pAig );

+     return pAig;

+ }

++#endif

+ 

+ 

+ ////////////////////////////////////////////////////////////////////////

+diff --git a/src/extlib-abc/aig/aig/aigShow.c b/src/extlib-abc/aig/aig/aigShow.c
+index ae8fa8b..f04eedc 100644
+--- a/src/extlib-abc/aig/aig/aigShow.c
++++ b/src/extlib-abc/aig/aig/aigShow.c
+@@ -326,6 +326,7 @@ void Aig_WriteDotAig( Aig_Man_t * pMan, char * pFileName, int fHaig, Vec_Ptr_t *
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )

+ {

+     extern void Abc_ShowFile( char * FileNameDot );

+@@ -347,7 +348,7 @@ void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )
+     // visualize the file 

+     Abc_ShowFile( FileNameDot );

+ }

+-

++#endif

+ 

+ ////////////////////////////////////////////////////////////////////////

+ ///                       END OF FILE                                ///

+diff --git a/src/extlib-abc/aig/dar/darRefact.c b/src/extlib-abc/aig/dar/darRefact.c
+index d744b4f..23fc3d5 100644
+--- a/src/extlib-abc/aig/dar/darRefact.c
++++ b/src/extlib-abc/aig/dar/darRefact.c
+@@ -340,6 +340,7 @@ printf( "\n" );
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, int Required )

+ {

+     Vec_Ptr_t * vCut;

+@@ -428,6 +429,7 @@ int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, in
+     }

+     return p->GainBest;

+ }

++#endif

+ 

+ /**Function*************************************************************

+ 

+@@ -461,6 +463,7 @@ int Dar_ObjCutLevelAchieved( Vec_Ptr_t * vCut, int nLevelMin )
+   SeeAlso     []

+  

+ ***********************************************************************/

++#if 0

+ int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars )

+ {

+ //    Bar_Progress_t * pProgress;

+@@ -583,6 +586,7 @@ p->timeOther = p->timeTotal - p->timeCuts - p->timeEval;
+     return 1;

+ 

+ }

++#endif

+ 

+ ////////////////////////////////////////////////////////////////////////

+ ///                       END OF FILE                                ///

+diff --git a/src/extlib-abc/aig/dar/darScript.c b/src/extlib-abc/aig/dar/darScript.c
+index e60df00..1b9c24f 100644
+--- a/src/extlib-abc/aig/dar/darScript.c
++++ b/src/extlib-abc/aig/dar/darScript.c
+@@ -64,6 +64,7 @@ Aig_Man_t * Dar_ManRewriteDefault( Aig_Man_t * pAig )
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )

+ //alias rwsat       "st; rw -l; b -l; rw -l; rf -l"

+ {

+@@ -108,7 +109,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
+ 

+     return pAig;

+ }

+-

++#endif

+ 

+ /**Function*************************************************************

+ 

+@@ -121,6 +122,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )

+ //alias compress2   "b -l; rw -l; rwz -l; b -l; rwz -l; b -l"

+ {

+@@ -180,6 +182,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
+ 

+     return pAig;

+ }

++#endif

+ 

+ /**Function*************************************************************

+ 

+@@ -192,6 +195,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )

+ //alias compress2   "b -l; rw -l; rf -l; b -l; rw -l; rwz -l; b -l; rfz -l; rwz -l; b -l"

+ {

+@@ -285,6 +289,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
+     }

+     return pAig;

+ }

++#endif

+ 

+ /**Function*************************************************************

+ 

+@@ -297,6 +302,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )

+ //alias resyn    "b; rw; rwz; b; rwz; b"

+ //alias resyn2   "b; rw; rf; b; rw; rwz; b; rfz; rwz; b"

+@@ -311,6 +317,7 @@ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateL
+     Vec_PtrPush( vAigs, pAig );

+     return vAigs;

+ }

++#endif

+ 

+ /**Function*************************************************************

+ 

+diff --git a/src/extlib-abc/aig/kit/kitAig.c b/src/extlib-abc/aig/kit/kitAig.c
+index de301f2..7e5df0f 100644
+--- a/src/extlib-abc/aig/kit/kitAig.c
++++ b/src/extlib-abc/aig/kit/kitAig.c
+@@ -95,6 +95,7 @@ Aig_Obj_t * Kit_GraphToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, Kit_Graph_t
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * pTruth, int nVars, Vec_Int_t * vMemory )

+ {

+     Aig_Obj_t * pObj;

+@@ -113,6 +114,7 @@ Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * p
+     Kit_GraphFree( pGraph );

+     return pObj;

+ }

++#endif

+ 

+ ////////////////////////////////////////////////////////////////////////

+ ///                       END OF FILE                                ///

+diff --git a/src/extlib-abc/aig/kit/kitGraph.c b/src/extlib-abc/aig/kit/kitGraph.c
+index 39ef587..0485c66 100644
+--- a/src/extlib-abc/aig/kit/kitGraph.c
++++ b/src/extlib-abc/aig/kit/kitGraph.c
+@@ -349,6 +349,7 @@ unsigned Kit_GraphToTruth( Kit_Graph_t * pGraph )
+   SeeAlso     []

+ 

+ ***********************************************************************/

++#if 0

+ Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemory )

+ {

+     Kit_Graph_t * pGraph;

+@@ -365,6 +366,7 @@ Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemor
+     pGraph = Kit_SopFactor( vMemory, RetValue, nVars, vMemory );

+     return pGraph;

+ }

++#endif

+ 

+ /**Function*************************************************************

+ 

diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index 5c8cb720324..ef00b135c27 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -11,15 +11,19 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="TPTP";
-    version="5.4.0";
+    version="6.0.0";
     name="${baseName}-${version}";
-    url="http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz";
-    hash="0rvrmh3vw4bk7mj29bx1pi76g2bsqyc13gsnpa1cbjs5pzyhm780";
+    urls=
+    [
+    "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz"
+    "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz"
+    ];
+    hash="0jnjkqdz937c7mkxvh9wc3byw5h1k19jss058fbzdxxc2hkwq1af";
   };
 in
 rec {
   src = a.fetchurl {
-    url = sourceInfo.url;
+    urls = sourceInfo.urls;
     sha256 = sourceInfo.hash;
   };
 
@@ -74,8 +78,7 @@ rec {
     # A GiB of data. Installation is unpacking and editing a few files.
     # No sense in letting Hydra build it.
     # Also, it is unclear what is covered by "verbatim" - we will edit configs
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     license = "verbatim-redistribution";
   };
   passthru = {
diff --git a/pkgs/applications/science/logic/twelf/default.nix b/pkgs/applications/science/logic/twelf/default.nix
new file mode 100644
index 00000000000..c6c7e4d9c1a
--- /dev/null
+++ b/pkgs/applications/science/logic/twelf/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, smlnj, rsync }:
+
+stdenv.mkDerivation rec {
+  name = "twelf-${version}";
+  version = "1.7.1";
+
+  src = fetchurl {
+    url = "http://twelf.plparty.org/releases/twelf-src-${version}.tar.gz";
+    sha256 = "0fi1kbs9hrdrm1x4k13angpjasxlyd1gc3ys8ah54i75qbcd9c4i";
+  };
+
+  buildInputs = [ pkgconfig smlnj rsync ];
+
+  buildPhase = ''
+    export SMLNJ_HOME=${smlnj}
+    make smlnj
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    rsync -av bin/* $out/bin/
+
+    mkdir -p $out/share/emacs/site-lisp/twelf/
+    rsync -av emacs/ $out/share/emacs/site-lisp/twelf/
+
+    mkdir -p $out/share/twelf/examples
+    rsync -av examples/ $out/share/twelf/examples/
+    mkdir -p $out/share/twelf/vim
+    rsync -av vim/ $out/share/twelf/vim/
+  '';
+
+  meta = {
+    description = "Twelf logic proof assistant";
+    longDescription = ''
+      Twelf is a language used to specify, implement, and prove properties of
+      deductive systems such as programming languages and logics. Large
+      research projects using Twelf include the TALT typed assembly language,
+      a foundational proof-carrying-code system, and a type safety proof for
+      Standard ML.
+    '';
+    homepage = http://twelf.org/wiki/Main_Page;
+    license = "MIT";
+    maintainers = with stdenv.lib.maintainers; [ jwiegley ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix
new file mode 100644
index 00000000000..7ab08cf8799
--- /dev/null
+++ b/pkgs/applications/science/logic/verifast/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, gtk, gdk_pixbuf, atk, pango, glib, cairo, freetype
+, fontconfig, libxml2, gnome2 }:
+
+let
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.libc stdenv.gcc.gcc gtk gdk_pixbuf atk pango glib cairo
+      freetype fontconfig libxml2 gnome2.gtksourceview
+    ] + ":${stdenv.gcc.gcc}/lib64";
+
+  patchExe = x: ''
+    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath} ${x}
+  '';
+in
+stdenv.mkDerivation rec {
+  name    = "verifast-${version}";
+  version = "14.5";
+
+  src = fetchurl {
+    url    = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/${name}-x64.tar.gz";
+    sha256 = "03y1s6s2j9vqgiad0vbxriipsypxaylxxd3q36n9rvrc3lf9xra9";
+  };
+
+  dontStrip = true;
+  phases = "unpackPhase installPhase";
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R bin $out/libexec
+
+    ${patchExe "$out/libexec/verifast-core"}
+    ${patchExe "$out/libexec/vfide-core"}
+    ln -s $out/libexec/verifast-core $out/bin/verifast
+    ln -s $out/libexec/vfide-core    $out/bin/vfide
+  '';
+
+  meta = {
+    description = "Verification for C and Java programs via separation logic";
+    homepage    = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/";
+    license     = stdenv.lib.licenses.msrla;
+    platforms   = [ "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
new file mode 100644
index 00000000000..71ff1cc7fb4
--- /dev/null
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, ocaml, ocamlPackages, coq }:
+
+stdenv.mkDerivation rec {
+  name    = "why3-${version}";
+  version = "0.83";
+
+  src = fetchurl {
+    url    = "https://gforge.inria.fr/frs/download.php/33490/${name}.tar.gz";
+    sha256 = "1jcs5vj91ppbgh4q4hch89b63wgakjhg35pm3r4jwhp377lnggya";
+  };
+
+  buildInputs = with ocamlPackages;
+    [ coq ocaml findlib lablgtk ocamlgraph zarith ];
+
+  meta = {
+    description = "why is a software verification platform";
+    homepage    = "http://why3.lri.fr/";
+    license     = stdenv.lib.licenses.lgpl21;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
new file mode 100644
index 00000000000..5a1a4ef1992
--- /dev/null
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl }:
+
+let
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
+in
+stdenv.mkDerivation rec {
+  name    = "yices-${version}";
+  version = "2.2.1";
+
+  src =
+    if stdenv.system == "i686-linux"
+    then fetchurl {
+      url = "http://yices.csl.sri.com/cgi-bin/yices2-newdownload.cgi?file=yices-2.2.1-i686-pc-linux-gnu-static-gmp.tar.gz&accept=I+accept";
+      name = "yices-${version}-i686.tar.gz";
+      sha256 = "12jzk3kqlbqa5x6rl92cpzj7dch7gm7fnbj72wifvwgdj4zyhrra";
+    }
+    else fetchurl {
+      url = "http://yices.csl.sri.com/cgi-bin/yices2-newdownload.cgi?file=yices-2.2.1-x86_64-unknown-linux-gnu-static-gmp.tar.gz&accept=I+accept";
+      name = "yices-${version}-x86_64.tar.gz";
+      sha256 = "0fpmihf6ykcg4qbsimkamgcwp4sl1xyxmz7q28ily91rd905ijaj";
+    };
+
+  buildPhase = false;
+  installPhase = ''
+    mkdir -p $out/bin $out/lib $out/include
+    cd bin     && mv * $out/bin     && cd ..
+    cd lib     && mv * $out/lib     && cd ..
+    cd include && mv * $out/include && cd ..
+
+    patchelf --set-rpath ${libPath} $out/lib/libyices.so.${version}
+  '';
+
+  meta = {
+    description = "Yices is a high-performance theorem prover and SMT solver";
+    homepage    = "http://yices.csl.sri.com";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
new file mode 100644
index 00000000000..7a87cb5e8be
--- /dev/null
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, python, unzip, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "z3-${version}";
+  version = "4.3.1";
+  src = fetchurl {
+    url    = "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx\?ProjectName\=z3\&changeSetId\=89c1785b73225a1b363c0e485f854613121b70a7";
+    name   = "${name}.zip";
+    sha256 = "3b94465c52ec174350d8707dd6a1fb0cef42f0fa23f148cc1808c14f3c2c7f76";
+  };
+
+  buildInputs = [ python unzip autoreconfHook ];
+  enableParallelBuilding = true;
+
+  # The zip file doesn't unpack a directory, just the code itself.
+  unpackPhase = "mkdir ${name} && cd ${name} && unzip $src";
+  postConfigure = ''
+    python scripts/mk_make.py
+    cd build
+  '';
+
+  # z3's install phase is stupid because it tries to calculate the
+  # python package store location itself, meaning it'll attempt to
+  # write files into the nix store, and fail.
+  soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
+  installPhase = ''
+    mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include
+    cp ../src/api/z3.h        $out/include
+    cp ../src/api/z3_api.h    $out/include
+    cp ../src/api/z3_v1.h     $out/include
+    cp ../src/api/z3_macros.h $out/include
+    cp ../src/api/c++/z3++.h  $out/include
+    cp z3                     $out/bin
+    cp libz3${soext}          $out/lib
+    cp libz3${soext}          $out/lib/${python.libPrefix}/site-packages
+    cp z3*.pyc                $out/lib/${python.libPrefix}/site-packages
+  '';
+
+  meta = {
+    description = "Z3 is a high-performance theorem prover and SMT solver";
+    homepage    = "http://z3.codeplex.com";
+    license     = stdenv.lib.licenses.msrla;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 6c8ec9e68c5..edba65146a6 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -2,14 +2,15 @@
 , libjpeg, libpng, libtiff, ncurses, pango, pcre, perl, readline, tcl
 , texLive, tk, xz, zlib, less, texinfo, graphviz, icu, pkgconfig, bison
 , imake, which, jdk, atlas
+, withRecommendedPackages ? true
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.0.2";
+  name = "R-3.1.0";
 
   src = fetchurl {
     url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "0jq2vk6bgksbvgmdjvv7vfj6llp091d0nhl5j825aya4c2nhavlm";
+    sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a";
   };
 
   buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
@@ -23,6 +24,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     configureFlagsArray=(
       --disable-lto
+      --with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
       --with-blas="-L${atlas}/lib -lf77blas -latlas"
       --with-lapack="-L${liblapack}/lib -llapack"
       --with-readline
@@ -36,6 +38,7 @@ stdenv.mkDerivation rec {
       --with-system-pcre
       --with-system-xz
       --with-ICU
+      --enable-R-shlib
       AR=$(type -p ar)
       AWK=$(type -p gawk)
       CC=$(type -p gcc)
@@ -81,7 +84,7 @@ stdenv.mkDerivation rec {
       user-defined recursive functions and input and output facilities.
     '';
 
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/applications/science/math/content/default.nix b/pkgs/applications/science/math/content/default.nix
index 87c047c2995..177efd667a3 100644
--- a/pkgs/applications/science/math/content/default.nix
+++ b/pkgs/applications/science/math/content/default.nix
@@ -93,5 +93,6 @@ rec {
       a.lib.maintainers.raskin
     ];
     platforms = a.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/math/eukleides/default.nix b/pkgs/applications/science/math/eukleides/default.nix
index 55ea4c6216c..fdf5c1bd831 100644
--- a/pkgs/applications/science/math/eukleides/default.nix
+++ b/pkgs/applications/science/math/eukleides/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Geometry Drawing Language";
     homepage = "http://www.eukleides.org/";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Eukleides is a computer language devoted to elementary plane
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
new file mode 100644
index 00000000000..1817c43ed7b
--- /dev/null
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }:
+
+stdenv.mkDerivation rec {
+  name = "fricas-1.2.2";
+
+  src = fetchurl {
+    url    = "http://sourceforge.net/projects/fricas/files/fricas/1.2.2/${name}-full.tar.bz2";
+    sha256 = "87db64a1fd4211f3b776793acea931b4271d2e7a28396414c7d7397d833defe1";
+  };
+
+  buildInputs = [ sbcl libX11 libXpm libICE libSM libXt libXau libXdmcp ];
+
+  dontStrip = true;
+
+  meta = {
+    homepage = http://fricas.sourceforge.net/;
+    description = "Fricas CAS";
+    license = stdenv.lib.licenses.bsd3;
+
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = stdenv.lib.maintainers.sprock;
+  };
+}
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index f76640567f6..0700251c3a8 100644
--- a/pkgs/applications/science/math/gap/default.nix
+++ b/pkgs/applications/science/math/gap/default.nix
@@ -1,10 +1,10 @@
 x@{builderDefsPackage
-  , pari ? null 
+  , pari ? null
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -38,20 +38,20 @@ rec {
   phaseNames = ["doConfigure" "doMake" "doDeploy"];
 
   doDeploy = a.fullDepEntry ''
-    ensureDir "$out/bin" "$out/share/gap/"
+    mkdir -p "$out/bin" "$out/share/gap/"
 
     cp -r . "$out/share/gap/build-dir"
 
     tar xf "${pkgSrc}" -C "$out/share/gap/build-dir/pkg"
 
-    ${if a.pari != null then 
-      ''sed -e '2iexport PATH=$PATH:${pari}/bin' -i "$out/share/gap/build-dir/bin/gap.sh" '' 
+    ${if a.pari != null then
+      ''sed -e '2iexport PATH=$PATH:${pari}/bin' -i "$out/share/gap/build-dir/bin/gap.sh" ''
     else ""}
-    sed -e "/GAP_DIR=/aGAP_DIR='$out/share/gap/build-dir/'" -i "$out/share/gap/build-dir/bin/gap.sh" 
+    sed -e "/GAP_DIR=/aGAP_DIR='$out/share/gap/build-dir/'" -i "$out/share/gap/build-dir/bin/gap.sh"
 
     ln -s "$out/share/gap/build-dir/bin/gap.sh" "$out/bin"
   '' ["doMake" "minInit" "defEnsureDir"];
-      
+
   meta = {
     description = "Computational discrete algebra system";
     maintainers = with a.lib.maintainers;
@@ -60,8 +60,8 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "GPLv2";
+    license = with a.lib.licenses;
+      gpl2;
     homepage = "http://gap-system.org/";
   };
 }) x
-
diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix
index a056a32c64c..c4352c46f92 100644
--- a/pkgs/applications/science/math/glsurf/default.nix
+++ b/pkgs/applications/science/math/glsurf/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchdarcs {
     url = "http://lama.univ-savoie.fr/~raffalli/GlSurf";
-    tag = "3.3";
+    rev = "3.3";
     sha256 = ""; md5="";
   };
 
diff --git a/pkgs/applications/science/math/jags/default.nix b/pkgs/applications/science/math/jags/default.nix
index 3043df15da7..a93386149bd 100644
--- a/pkgs/applications/science/math/jags/default.nix
+++ b/pkgs/applications/science/math/jags/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gfortran, liblapack, blas}:
 
 stdenv.mkDerivation rec {
-  name = "JAGS-2.2.0";
+  name = "JAGS-3.4.0";
   src = fetchurl {
     url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
-    sha256 = "016xml4k99lmdwwjiabxin95k9p3q2zh4pcci8wwcqwlq5y205b6";
+    sha256 = "0ayqsz9kkmbss7mxlwr34ch2z1vsb65lryjzqpprab1ccyiaksib";
   };
   buildInputs = [gfortran liblapack blas];
 
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index cedb491cc8b..d4d352c95bb 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -18,10 +18,8 @@
 
 let
   platform =
-    if stdenv.system == "i686-linux" then
+    if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then
       "Linux"
-    else if stdenv.system == "x86_64-linux" then
-      "Linux-x86-64"
     else
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
@@ -121,6 +119,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Wolfram Mathematica computational software system";
     homepage = "http://www.wolfram.com/mathematica/";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index b8f7f2e65b6..096796a859d 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -2,7 +2,7 @@
 
 let
   name    = "maxima";
-  version = "5.31.2";
+  version = "5.33.0";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "12j5irwfckl5583h7lwh0wrp0c65q7mqzcsri2v086j50xvvv398";
+    sha256 = "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Maxima computer algebra system";
     homepage = "http://maxima.sourceforge.net";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Maxima is a fairly complete computer algebra system written in
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 5fda04fed4f..576a28b054f 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "pari-2.5.4";
+  name = "pari-2.5.5";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "0gpsj5n8d1gyl7nq2y915sscs3d334ryrv8qgjdwqf3cr95f2dwz";
+    sha256 = "058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn";
   };
 
   buildInputs = [gmp readline];
diff --git a/pkgs/applications/science/math/pssp/default.nix b/pkgs/applications/science/math/pssp/default.nix
index 587f41fe998..0a9e0e4735d 100644
--- a/pkgs/applications/science/math/pssp/default.nix
+++ b/pkgs/applications/science/math/pssp/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pspp-0.8.1";
+  name = "pspp-0.8.2";
 
   src = fetchurl {
     url = "mirror://gnu/pspp/${name}.tar.gz";
-    sha256 = "0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x";
+    sha256 = "1w7h3dglgx0jlq1wb605b8pgfsk2vr1q2q2rj7bsajh9ihbcsixr";
   };
 
   buildInputs = [ libxml2 readline zlib perl cairo gtk gsl pkgconfig
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
new file mode 100644
index 00000000000..ced8b6f95bb
--- /dev/null
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, m4, perl, gfortran, texLive, ffmpeg, tk
+, imagemagick, liblapack
+}:
+
+stdenv.mkDerivation rec {
+  name = "sage-6.1.1";
+
+  src = fetchurl {
+    url = "http://mirrors.xmission.com/sage/src/sage-6.1.1.tar.gz";
+    sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y";
+  };
+
+  buildInputs = [ m4 perl gfortran texLive ffmpeg tk imagemagick liblapack ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    export SAGE_NUM_THREADS=$NIX_BUILD_CORES
+    sed -i 's/if ! [ -d "$HOME" ]/if [ -d "$HOME" ]/' src/bin/sage-env
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i "s/ld_version = try_run('ld  -v')/ld_version = 'Apple'/" \
+      build/pkgs/atlas/configuration.py
+  '';
+
+  meta = {
+    homepage = http://www.scilab.org/;
+    description = "Scientific software package for numerical computations (Matlab lookalike)";
+    # see http://www.scilab.org/legal
+    license = "SciLab";
+  };
+}
diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix
index 5c5dfae8200..1afb510e994 100644
--- a/pkgs/applications/science/math/singular/default.nix
+++ b/pkgs/applications/science/math/singular/default.nix
@@ -3,9 +3,9 @@ x@{builderDefsPackage
   , coreutils
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -38,9 +38,9 @@ rec {
     rm -rf "$out/LIB"
     cp -r Singular/LIB "$out"
     mkdir -p "$out/bin"
-    ln -s "$out"/*/Singular "$out/bin"
+    ln -s "$out/"*/Singular "$out/bin"
   '') ["minInit" "defEnsureDir"];
-      
+
   meta = {
     description = "A CAS for polynomial computations";
     maintainers = with a.lib.maintainers;
@@ -49,7 +49,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "GPLv3"; # Or GPLv2 at your option - but not GPLv4
+    license = a.stdenv.lib.licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
     homepage = "http://www.singular.uni-kl.de/index.php";
   };
   passthru = {
@@ -58,4 +58,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/applications/science/math/sloane/default.nix b/pkgs/applications/science/math/sloane/default.nix
new file mode 100644
index 00000000000..b3bde7874ca
--- /dev/null
+++ b/pkgs/applications/science/math/sloane/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, cereal, downloadCurl, filepath, HTTP
+, network, optparseApplicative, terminalSize, text, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sloane";
+  version = "1.9.1";
+  sha256 = "0scnvir7il8ldy3g846xmrdkk2rxnlsiyqak0jvcarf2qi251x5i";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal cereal downloadCurl filepath HTTP network
+    optparseApplicative terminalSize text zlib
+  ];
+  postInstall = ''
+    mkdir -p $out/share/man/man1
+    cp sloane.1 $out/share/man/man1/
+  '';
+  meta = {
+    homepage = "http://github.com/akc/sloane";
+    description = "A command line interface to Sloane's On-Line Encyclopedia of Integer Sequences";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.akc ];
+  };
+})
diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix
index 8471c46c8d7..66609fa5834 100644
--- a/pkgs/applications/science/math/weka/default.nix
+++ b/pkgs/applications/science/math/weka/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.cs.waikato.ac.nz/ml/weka/";
     description = "Collection of machine learning algorithms for data mining tasks";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 01be4ba7e6c..75448b6965c 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Cross platform GUI for the computer algebra system Maxima";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://wxmaxima.sourceforge.net;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/applications/science/math/yacas/default.nix b/pkgs/applications/science/math/yacas/default.nix
index acc4740eb6b..2c9d63be1b4 100644
--- a/pkgs/applications/science/math/yacas/default.nix
+++ b/pkgs/applications/science/math/yacas/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = { 
       description = "Easy to use, general purpose Computer Algebra System";
       homepage = http://yacas.sourceforge.net/;
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
       maintainers = with stdenv.lib.maintainers; [viric];
       platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 0bc5c3cb7c7..7020de0bca8 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil,
 sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 stdenv.mkDerivation rec {
-  name = "boinc-7.0.44";
+  name = "boinc-7.2.42";
 
   src = fetchgit {
     url = "git://boinc.berkeley.edu/boinc-v2.git";
-    rev = "7c449b1fb8a681ceb27d6895751b62a2b3adf0f2";
-    sha256 = "0hdramyl9nip3gadp7xiaz8ngyld15i93d8ai1nsd04bmrvdfqia";
+    rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9";
+    sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j";
   };
 
   buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://boinc.berkeley.edu/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;  # arbitrary choice
   };
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
new file mode 100644
index 00000000000..db79839ba66
--- /dev/null
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, wxGTK30, boost, lua, zlib, bzip2, xylib, readline, gnuplot }:
+
+let
+  name    = "fityk";
+  version = "1.2.9";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/wojdyr/fityk/releases/download/v${version}/${name}-${version}.tar.bz2";
+    sha256 = "1gl938nd2jyya8b3gzbagm1jab2mkc9zvr6zsg5d0vkfdqlk0pv1";
+  };
+
+  buildInputs = [wxGTK30 boost lua zlib bzip2 xylib readline gnuplot ];
+
+  meta = {
+    description = "Fityk -- curve fitting and peak fitting software";
+    license = "GPL2";
+    homepage = http://fityk.nieto.pl/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index a380f05b091..9d198cd5c7f 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,11 +1,11 @@
-x@{builderDefsPackage, 
+x@{builderDefsPackage,
   wxGTK, perl, python, zlib
   , ...}:
 builderDefsPackage
-(a :  
-let 
+(a :
+let
   s = import ./src-for-default.nix;
-  helperArgNames = ["builderDefsPackage"] ++ 
+  helperArgNames = ["builderDefsPackage"] ++
     [];
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
@@ -26,7 +26,7 @@ rec {
     export NIX_LDFLAGS="$NIX_LDFLAGS -l$pythonLib"
     echo "Flags: $NIX_LDFLAGS"
   '';
-      
+
   meta = {
     description = "Cellular automata simulation program";
     maintainers = with a.lib.maintainers;
@@ -35,7 +35,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "GPLv2";
+    license = with a.lib.licenses;
+      gpl2;
   };
 }) x
-
diff --git a/pkgs/applications/science/misc/megam/default.nix b/pkgs/applications/science/misc/megam/default.nix
new file mode 100644
index 00000000000..a0ee505dc97
--- /dev/null
+++ b/pkgs/applications/science/misc/megam/default.nix
@@ -0,0 +1,46 @@
+{ fetchurl, stdenv, ocaml, makeWrapper, ncurses }:
+
+let version = "0.92"; in
+stdenv.mkDerivation rec {
+  name = "megam-${version}";
+
+  src = fetchurl {
+    url = "http://hal3.name/megam/megam_src.tgz";
+    sha256 = "dc0e9f59ff8513449fe3bd40b260141f89c88a4edf6ddc8b8a394c758e49724e";
+  };
+
+  patches = [ ./ocaml-includes.patch ./ocaml-3.12.patch ];
+  
+  buildInputs = [ ocaml ncurses ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  makeFlags = "CAML_INCLUDES=${ocaml}/lib/ocaml/caml";
+
+  # see https://bugzilla.redhat.com/show_bug.cgi?id=435559
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    cp -Rv megam $out/bin
+  '';
+
+
+  meta = {
+    description = "MEGA Model Optimization Package";
+
+    longDescription =
+      ''  The software here is an implementation of maximum likelihood
+          and maximum a posterior optimization of the parameters of
+          these models.  The algorithms used are much more efficient
+          than the iterative scaling techniques used in almost every
+          other maxent package out there.  '';
+
+    homepage = http://www.umiacs.umd.edu/~hal/megam;
+
+    license = "non-commercial";
+
+    maintainers = [ ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/applications/science/misc/megam/ocaml-3.12.patch b/pkgs/applications/science/misc/megam/ocaml-3.12.patch
new file mode 100644
index 00000000000..8265acf6e4a
--- /dev/null
+++ b/pkgs/applications/science/misc/megam/ocaml-3.12.patch
@@ -0,0 +1,12 @@
+diff -ru megam_0.92/Makefile megam_0.92-b/Makefile
+--- megam_0.92/Makefile	2007-10-08 18:06:04.000000000 +0100
++++ megam_0.92-b/Makefile	2013-11-25 10:14:20.000000000 +0000
+@@ -59,7 +59,7 @@
+ 
+ WITHUNIX =unix.cma -cclib -lunix
+ 
+-WITHSTR =str.cma -cclib -lstr
++WITHSTR =str.cma -cclib -lcamlstr
+ 
+ WITHBIGARRAY =bigarray.cma -cclib -lbigarray
+ 
diff --git a/pkgs/applications/science/misc/megam/ocaml-includes.patch b/pkgs/applications/science/misc/megam/ocaml-includes.patch
new file mode 100644
index 00000000000..b3a56643448
--- /dev/null
+++ b/pkgs/applications/science/misc/megam/ocaml-includes.patch
@@ -0,0 +1,21 @@
+diff -ru megam_0.92/Makefile megam_0.92-b/Makefile
+--- megam_0.92/Makefile	2007-10-08 18:06:04.000000000 +0100
++++ megam_0.92-b/Makefile	2013-11-25 10:14:20.000000000 +0000
+@@ -41,7 +41,7 @@
+ #
+ # The Caml compilers. #
+ # You may fix here the path to access the Caml compiler on your machine
+-CAMLC = ocamlc -g
++CAMLC = ocamlc -g $(WITHCLIBS)
+ CAMLOPT = ocamlopt -unsafe -ccopt -O4 -ccopt -ffast-math -inline 99999 
+ CAMLDEP = ocamldep
+ CAMLLEX = ocamllex
+@@ -70,7 +70,7 @@
+ WITHDBM =dbm.cma -cclib -lmldbm -cclib -lndbm
+ 
+ #WITHCLIBS =-I /usr/lib/ocaml/3.09.2/caml
+-WITHCLIBS =-I /usr/lib/ocaml/caml
++WITHCLIBS =-I $(CAML_INCLUDES) 
+ 
+ ################ End of user's variables #####################
+ 
diff --git a/pkgs/applications/science/misc/root/cmake.patch b/pkgs/applications/science/misc/root/cmake.patch
new file mode 100644
index 00000000000..b6efd7444fe
--- /dev/null
+++ b/pkgs/applications/science/misc/root/cmake.patch
@@ -0,0 +1,11 @@
+--- cmake/modules/RootBuildOptions.cmake	1969-12-31 20:30:01.000000000 -0330
++++ cmake/modules/RootBuildOptions.cmake	2014-01-10 14:09:29.424937408 -0330
+@@ -149,7 +149,7 @@
+ 
+ #---General Build options----------------------------------------------------------------------
+ # use, i.e. don't skip the full RPATH for the build tree
+-set(CMAKE_SKIP_BUILD_RPATH  FALSE)
++set(CMAKE_SKIP_BUILD_RPATH  TRUE)
+ # when building, don't use the install RPATH already (but later on when installing)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
+ # add the automatically determined parts of the RPATH
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
new file mode 100644
index 00000000000..1227e76ac0c
--- /dev/null
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, cmake, mesa, libX11, gfortran, libXpm, libXft, libXext, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "root-${version}";
+  version = "5.34.15";
+
+  src = fetchurl {
+    url = "ftp://root.cern.ch/root/root_v${version}.source.tar.gz";
+    sha256 = "1bkiggcyya39a794d3d2rzzmmkbdymf86hbqhh0l1pl4f38xvp6i";
+  };
+
+  buildInputs = [ cmake gfortran mesa libX11 libXpm libXft libXext zlib ];
+
+  # CMAKE_INSTALL_RPATH_USE_LINK_PATH is set to FALSE in
+  # <rootsrc>/cmake/modules/RootBuildOptions.cmake.
+  # This patch sets it to TRUE.
+  patches = [ ./cmake.patch ];
+  patchFlags = "-p0";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://root.cern.ch/drupal/";
+    description = "A data analysis framework";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix
index 5fdede1abcd..29a7caf769b 100644
--- a/pkgs/applications/science/misc/simgrid/default.nix
+++ b/pkgs/applications/science/misc/simgrid/default.nix
@@ -1,20 +1,19 @@
-{ fetchurl, stdenv, cmake, perl, ruby }:
+{ fetchurl, stdenv, cmake, perl, ruby, boost, lua5_1, graphviz, libsigcxx
+, libunwind, elfutils
+}:
 
 stdenv.mkDerivation rec {
-  name = "simgrid-3.5";
+  version = "3.11.1";
+  name = "simgrid-${version}";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/28017/${name}.tar.gz";
-    sha256 = "1vd4pvrcyii1nfwyca3kpbwshbc965lfpn083zd8rigg6ydchq8y";
+    url = "https://gforge.inria.fr/frs/download.php/33686/${name}.tar.gz";
+    sha256 = "0mkrzxpf42lmn96khfl1791vram67r2nqsgmppd2yil889nyz5kp";
   };
 
-  /* FIXME: Ruby currently disabled because of this:
-
-     Linking C shared library ../src/.libs/libsimgrid.so
-     ld: cannot find -lruby-1.8.7-p72
-
-   */
-  buildInputs = [ cmake perl /* ruby */ ];
+  buildInputs = [ cmake perl ruby boost lua5_1 graphviz libsigcxx libunwind
+    elfutils
+    ];
 
   preConfigure =
     # Make it so that libsimgrid.so will be found when running programs from
@@ -22,8 +21,17 @@ stdenv.mkDerivation rec {
     '' export LD_LIBRARY_PATH="$PWD/src/.libs"
        export cmakeFlags="-Dprefix=$out"
 
-       # Enable tracing.
-       export cmakeFlags="$cmakeFlags -Denable_tracing=on"
+       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
+         -isystem $(echo "${libsigcxx}/lib/"sigc++*/include)
+	 -isystem $(echo "${libsigcxx}/include"/sigc++* )
+	 "
+       export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${libsigcxx}/lib/"sigc++*)"
+
+       # Enable more functionality.
+       export cmakeFlags="$cmakeFlags -Denable_tracing=on -Denable_jedule=on
+         -Denable_latency_bound_tracking=on -Denable_lua=on
+	 -Denable_ns3=on -Denable_gtnets=on
+	 "
     '';
 
   makeFlags = "VERBOSE=1";
@@ -45,6 +53,7 @@ stdenv.mkDerivation rec {
   patchPhase =
     '' for i in "src/smpi/"*
        do
+         test -f "$i" &&
          sed -i "$i" -e's|/bin/bash|/bin/sh|g'
        done
 
@@ -71,7 +80,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://simgrid.gforge.inria.fr/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index e58183a4f40..da6e0cb2805 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://tulip.labri.fr/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 4c1cf318b5a..2e25ff582ee 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -44,5 +44,7 @@ stdenv.mkDerivation {
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index de4bb171497..b9abf7b55b4 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -6,11 +6,11 @@
 
 
 stdenv.mkDerivation {
-  name = "gromacs-4.5.5";
+  name = "gromacs-4.6.5";
 
   src = fetchurl {
-    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.5.5.tar.gz";
-    md5 = "6a87e7cdfb25d81afa9fea073eb28468";
+    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.5.tar.gz";
+    sha256 = "02ggrplh8fppqib86y3rfk4qm08yddlrb1yjgzl138b3b4qjy957";
   };
 
   buildInputs = [cmake fftw];
diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix
index cd2bd4fecf3..1079a153ca1 100644
--- a/pkgs/applications/science/spyder/default.nix
+++ b/pkgs/applications/science/spyder/default.nix
@@ -8,12 +8,12 @@
 }:
 
 buildPythonPackage rec {
-  name = "spyder-2.1.13.1";
+  name = "spyder-2.2.5";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://spyderlib.googlecode.com/files/${name}.zip";
-    sha256 = "1sg88shvw6k2v5428k13mah4pyqng43856rzr6ypz5qgwn0677ya";
+    sha256 = "1bxc5qs2bqc21s6kxljsfxnmwgrgnyjfr9mkwzg9njpqsran3bp2";
   };
 
   buildInputs = [ unzip ];
@@ -52,6 +52,6 @@ buildPythonPackage rec {
     homepage = https://code.google.com/p/spyderlib/;
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/applications/search/doodle/default.nix b/pkgs/applications/search/doodle/default.nix
index a6b3ac7ccfd..3a9df150574 100644
--- a/pkgs/applications/search/doodle/default.nix
+++ b/pkgs/applications/search/doodle/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://grothoff.org/christian/doodle/;
     description = "Tool to quickly index and search documents on a computer";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/taxes/aangifte-2005/builder.sh b/pkgs/applications/taxes/aangifte-2005/builder.sh
deleted file mode 100644
index 8d284176d44..00000000000
--- a/pkgs/applications/taxes/aangifte-2005/builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-source $stdenv/setup
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2005/default.nix b/pkgs/applications/taxes/aangifte-2005/default.nix
deleted file mode 100644
index 03ba20b11da..00000000000
--- a/pkgs/applications/taxes/aangifte-2005/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, libX11, libXext}:
-
-stdenv.mkDerivation {
-  name = "aangifte2005-1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2005_linux.tar.gz;
-    md5 = "9cc709b8ad041f4b20154ff1491d0436";
-  };
-
-  inherit libX11 libXext;
-}
diff --git a/pkgs/applications/taxes/aangifte-2006/default.nix b/pkgs/applications/taxes/aangifte-2006/default.nix
index 8bf5ddeee40..72d6999fa1d 100644
--- a/pkgs/applications/taxes/aangifte-2006/default.nix
+++ b/pkgs/applications/taxes/aangifte-2006/default.nix
@@ -14,5 +14,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2006";
     url = "http://www.belastingdienst.nl/download/1341.html";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2007/default.nix b/pkgs/applications/taxes/aangifte-2007/default.nix
index 3cd472b51c2..15c826feb6e 100644
--- a/pkgs/applications/taxes/aangifte-2007/default.nix
+++ b/pkgs/applications/taxes/aangifte-2007/default.nix
@@ -17,5 +17,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2007";
     url = "http://www.belastingdienst.nl/download/1341.html";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2008/default.nix b/pkgs/applications/taxes/aangifte-2008/default.nix
index 85d5b3045be..905471cb76b 100644
--- a/pkgs/applications/taxes/aangifte-2008/default.nix
+++ b/pkgs/applications/taxes/aangifte-2008/default.nix
@@ -18,5 +18,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2008 (Dutch Tax Return Program)";
     url = http://www.belastingdienst.nl/particulier/aangifte2008/aangifte_2008/aangifte_2008.html;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2009/default.nix b/pkgs/applications/taxes/aangifte-2009/default.nix
index eeeb4a1d1e5..9aa7a817271 100644
--- a/pkgs/applications/taxes/aangifte-2009/default.nix
+++ b/pkgs/applications/taxes/aangifte-2009/default.nix
@@ -33,5 +33,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2009 (Dutch Tax Return Program)";
     url = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2010/default.nix b/pkgs/applications/taxes/aangifte-2010/default.nix
index 65ff561ee9e..23338c01ec3 100644
--- a/pkgs/applications/taxes/aangifte-2010/default.nix
+++ b/pkgs/applications/taxes/aangifte-2010/default.nix
@@ -33,5 +33,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2010 (Dutch Tax Return Program)";
     url = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2011/default.nix b/pkgs/applications/taxes/aangifte-2011/default.nix
index 0bffad95d50..e5bc233affa 100644
--- a/pkgs/applications/taxes/aangifte-2011/default.nix
+++ b/pkgs/applications/taxes/aangifte-2011/default.nix
@@ -33,5 +33,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2011 (Dutch Tax Return Program)";
     url = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2012/default.nix b/pkgs/applications/taxes/aangifte-2012/default.nix
index 8f36fd485dd..544fe4ec55f 100644
--- a/pkgs/applications/taxes/aangifte-2012/default.nix
+++ b/pkgs/applications/taxes/aangifte-2012/default.nix
@@ -34,5 +34,8 @@ stdenv.mkDerivation {
   meta = {
     description = "Elektronische aangifte IB 2012 (Dutch Tax Return Program)";
     url = http://www.belastingdienst.nl/particulier/aangifte2012/download/;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2013/default.nix b/pkgs/applications/taxes/aangifte-2013/default.nix
new file mode 100644
index 00000000000..5cf90320adc
--- /dev/null
+++ b/pkgs/applications/taxes/aangifte-2013/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
+
+stdenv.mkDerivation {
+  name = "aangifte2013-1";
+
+  src = fetchurl {
+    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2013_linux.tar.gz;
+    sha256 = "05biqxz39gwln960xj31yg8s2chdn9vs0lzm4rlcwcavxy8lam1c";
+  };
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  buildInputs = [ makeWrapper ];
+
+  buildPhase =
+    ''
+      for i in bin/*; do
+          patchelf \
+              --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+              $i
+      done
+    '';
+
+  installPhase =
+    ''
+      mkdir -p $out
+      cp -prvd * $out/
+      wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \
+                                    --prefix LD_PRELOAD : $(cat $NIX_GCC/nix-support/orig-gcc)/lib/libgcc_s.so.1
+    '';
+
+  meta = {
+    description = "Elektronische aangifte IB 2013 (Dutch Tax Return Program)";
+    url = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/applications/version-management/arch/default.nix b/pkgs/applications/version-management/arch/default.nix
index 350b842a095..3dd8b9f860d 100644
--- a/pkgs/applications/version-management/arch/default.nix
+++ b/pkgs/applications/version-management/arch/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "tla-1.3.5";
   
   src = fetchurl {
-    url = "mirror://gnu/gnu-arch/" + name + ".tar.gz";
+    url = "ftp://ftp.gnu.org/old-gnu/gnu-arch/" + name + ".tar.gz";
     sha256 = "01mfzj1i6p4s8191cgd5850hds1zls88hkf9rb6qx1vqjv585aj0";
   };
 
diff --git a/pkgs/applications/version-management/bazaar/add_certificates.patch b/pkgs/applications/version-management/bazaar/add_certificates.patch
new file mode 100644
index 00000000000..332f42aa89c
--- /dev/null
+++ b/pkgs/applications/version-management/bazaar/add_certificates.patch
@@ -0,0 +1,11 @@
+diff -ru orig/bzrlib/transport/http/_urllib2_wrappers.py bzr-2.6.0/bzrlib/transport/http/_urllib2_wrappers.py
+--- orig/bzrlib/transport/http/_urllib2_wrappers.py	2013-07-27 13:50:53.000000000 +0200
++++ bzr-2.6.0/bzrlib/transport/http/_urllib2_wrappers.py	2014-02-04 18:34:15.838622492 +0100
+@@ -86,6 +86,7 @@
+     u"/usr/local/share/certs/ca-root-nss.crt", # FreeBSD
+     # XXX: Needs checking, can't trust the interweb ;) -- vila 2012-01-25
+     u'/etc/openssl/certs/ca-certificates.crt', # Solaris
++    u'@certPath@',
+     ]
+ def default_ca_certs():
+     if sys.platform == 'win32':
diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix
index 1eb114ecd8c..648d59ac01c 100644
--- a/pkgs/applications/version-management/bazaar/default.nix
+++ b/pkgs/applications/version-management/bazaar/default.nix
@@ -1,20 +1,28 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, pythonPackages, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2.5";
-  release = ".1";
+  version = "2.6";
+  release = ".0";
   name = "bazaar-${version}${release}";
 
   src = fetchurl {
     url = "http://launchpad.net/bzr/${version}/${version}${release}/+download/bzr-${version}${release}.tar.gz";
-    sha256 = "10krjbzia2avn09p0cdlbx2wya0r5v11w5ymvyl72af5dkx4cwwn";
+    sha256 = "1c6sj77h5f97qimjc14kr532kgc0jk3wq778xrkqi0pbh9qpk509";
   };
 
-  buildInputs = [ pythonPackages.python pythonPackages.wrapPython ];
+  buildInputs = [ pythonPackages.python pythonPackages.wrapPython cacert ];
 
   # Readline support is needed by bzrtools.
   pythonPath = [ pythonPackages.readline ];
 
+  # Bazaar can't find the certificates alone
+  patches = [ ./add_certificates.patch ];
+  postPatch = ''
+    substituteInPlace bzrlib/transport/http/_urllib2_wrappers.py \
+      --subst-var-by "certPath" "${cacert}/etc/ca-bundle.crt"
+  '';
+
+
   installPhase = ''
     python setup.py install --prefix=$out
     wrapPythonPrograms
@@ -23,6 +31,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://bazaar-vcs.org/;
     description = "A distributed version control system that Just Works";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/bazaar/tools.nix b/pkgs/applications/version-management/bazaar/tools.nix
index 19a00d2b841..f10fb5e65ce 100644
--- a/pkgs/applications/version-management/bazaar/tools.nix
+++ b/pkgs/applications/version-management/bazaar/tools.nix
@@ -1,10 +1,10 @@
 args : with args; 
 
 rec {
-  version = "2.2.0";
+  version = "2.5";
   src = fetchurl {
     url = "http://launchpad.net/bzrtools/stable/${version}/+download/bzrtools-${version}.tar.gz";
-    sha256 = "835e0dc2b3b798d3c88b960bf719fe3b4cec7ae241908aafeb6aafe4c83f591b";
+    sha256 = "0gzh63vl9006cpklszwmsymrq5ddxxrnxwbv5bwi740jlvxzdkxw";
   };
 
   buildInputs = [];
diff --git a/pkgs/applications/version-management/codeville/0.8.0.nix b/pkgs/applications/version-management/codeville/0.8.0.nix
index 5c1910d6c6f..0c0f3c4c19c 100644
--- a/pkgs/applications/version-management/codeville/0.8.0.nix
+++ b/pkgs/applications/version-management/codeville/0.8.0.nix
@@ -1,6 +1,6 @@
 args : with args; 
 
-if (! python ? db4Support) || (! python.db4Support) then 
+if (! python ? dbSupport) || (! python.dbSupport) then 
   throw ''Python DB4 support is required for codeville.'' 
 else
 
diff --git a/pkgs/applications/version-management/cvsps/default.nix b/pkgs/applications/version-management/cvsps/default.nix
index 1be797fea96..9bc4401e068 100644
--- a/pkgs/applications/version-management/cvsps/default.nix
+++ b/pkgs/applications/version-management/cvsps/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
       same time (using a single "cvs commit" command).
     '';
     homepage = http://www.cobite.com/cvsps/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix
index f33e479b3ad..d53b38c28c3 100644
--- a/pkgs/applications/version-management/darcs/default.nix
+++ b/pkgs/applications/version-management/darcs/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, curl, extensibleExceptions, filepath, hashedStorage
 , haskeline, html, HTTP, mmap, mtl, network, parsec, random
 , regexCompat, tar, terminfo, text, utf8String, vector, zlib
@@ -15,6 +17,7 @@ cabal.mkDerivation (self: {
     utf8String vector zlib
   ];
   extraLibraries = [ curl ];
+  jailbreak = true;
   doCheck = false;
   postInstall = ''
     mkdir -p $out/etc/bash_completion.d
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 2a669729a9c..c2793190e89 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}:
 
 stdenv.mkDerivation {
-  name = "fossil-1.27";
+  name = "fossil-1.28";
 
   src = fetchurl {
-    url = http://www.fossil-scm.org/download/fossil-src-20130911114349.tar.gz;
-    sha256 = "0n40z8bx2311i11zjx2x15lw3q8vzjwvfqzikrjlqnpal4vzd72f";
+    url = http://www.fossil-scm.org/download/fossil-src-20140127173344.tar.gz;
+    sha256 = "105a3f3wiqshmkw8q7f7ask3nm0jkjf0h3h2283qiqlsqfkwb9xc";
   };
 
   buildInputs = [ zlib openssl readline sqlite ];
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index 63dd56d7e33..fb7232794c5 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -1,23 +1,37 @@
-{ stdenv, fetchurl, openssl, zlib, asciidoc, libxml2, libxslt, docbook_xml_xslt }:
+{ stdenv, fetchurl, openssl, zlib, asciidoc, libxml2, libxslt
+, docbook_xml_xslt, pkgconfig, luajit
+, gzip, bzip2, xz
+}:
 
 stdenv.mkDerivation rec {
-  name = "cgit-0.9.2";
+  name = "cgit-${version}";
+  version = "0.10.1";
 
   src = fetchurl {
     url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz";
-    sha256 = "0q177q1r7ssna32c760l4dx6p4aaz6kdv27zn2jb34bx98045h08";
+    sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3";
   };
 
-  # cgit is is tightly coupled with git and needs a git source tree to build.
-  # The cgit-0.9.2 Makefile has GIT_VER = 1.8.3, so use that version.
+  # cgit is tightly coupled with git and needs a git source tree to build.
   # IMPORTANT: Remember to check which git version cgit needs on every version
-  # bump.
+  # bump (look in the Makefile).
+  # NOTE: as of 0.10.1, the git version is compatible from 1.9.0 to
+  # 1.9.2 (see the repository history)
   gitSrc = fetchurl {
-    url = https://git-core.googlecode.com/files/git-1.8.3.tar.gz;
-    sha256 = "0fn5xdx30dl8dl1cdpqif5hgc3qnxlqfpwyhm0sm1wgqhgbcdlzi";
+    url    = "https://www.kernel.org/pub/software/scm/git/git-1.9.2.tar.xz";
+    sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13";
   };
 
-  buildInputs = [ openssl zlib asciidoc libxml2 libxslt docbook_xml_xslt ];
+  buildInputs = [
+    openssl zlib asciidoc libxml2 libxslt docbook_xml_xslt pkgconfig luajit
+  ];
+
+  postPatch = ''
+    sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \
+        -e 's|"bzip2"|"${bzip2}/bin/bzip2"|' \
+        -e 's|"xz"|"${xz}/bin/xz"|' \
+        -i ui-snapshot.c
+  '';
 
   # Give cgit a git source tree and pass configuration parameters (as make
   # variables).
@@ -41,6 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://git.zx2c4.com/cgit/about/;
+    repositories.git = git://git.zx2c4.com/cgit;
     description = "Web frontend for git repositories";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index af1ab52c04d..fd548296220 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -4,10 +4,8 @@
 args: with args; with pkgs;
 let
   inherit (pkgs) stdenv fetchgit fetchurl subversion;
-in
-rec {
 
-  git = lib.makeOverridable (import ./git) {
+  gitBase = lib.makeOverridable (import ./git) {
     inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep
       asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl
       tk makeWrapper subversionClient gzip;
@@ -24,6 +22,9 @@ rec {
     ];
   };
 
+in
+rec {
+
   # support for bugzilla
   gitBz = import ./git-bz {
     inherit fetchgit stdenv makeWrapper python asciidoc xmlto # docbook2x docbook_xsl docbook_xml_dtd_45 libxslt
@@ -31,17 +32,19 @@ rec {
     inherit (pythonPackages) pysqlite;
   };
 
+  git = appendToName "minimal" gitBase;
+
   # Git with SVN support, but without GUI.
-  gitSVN = lowPrio (appendToName "with-svn" (git.override {
+  gitSVN = lowPrio (appendToName "with-svn" (gitBase.override {
     svnSupport = true;
   }));
 
   # The full-featured Git.
-  gitFull = appendToName "full" (git.override {
+  gitFull = gitBase.override {
     svnSupport = true;
     guiSupport = true;
     sendEmailSupport = !stdenv.isDarwin;
-  });
+  };
 
   gitAnnex = pkgs.haskellPackages.gitAnnex;
 
@@ -66,7 +69,7 @@ rec {
   };
 
   tig = import ./tig {
-    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl;
+    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45 readline;
   };
 
   hub = import ./hub {
@@ -83,7 +86,7 @@ rec {
   };
 
   svn2git = import ./svn2git {
-    inherit stdenv fetchgit ruby makeWrapper;
+    inherit stdenv fetchurl ruby makeWrapper;
     git = gitSVN;
   };
 
@@ -92,4 +95,7 @@ rec {
   darcsToGit = callPackage ./darcs-to-git { };
 
   gitflow = callPackage ./gitflow { };
+
+  git-remote-hg = callPackage ./git-remote-hg { };
+
 }
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 e32a7dc52b9..62132271ec9 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -1,59 +1,55 @@
-{ cabal, aeson, async, blazeBuilder, bloomfilter, bup
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, async, blazeBuilder, bloomfilter, bup, byteable
 , caseInsensitive, clientsession, cryptoApi, cryptohash, curl
 , dataDefault, dataenc, DAV, dbus, dlist, dns, editDistance
-, extensibleExceptions, feed, filepath, git, gnupg1, gnutls, hamlet
-, hinotify, hS3, hslogger, HTTP, httpConduit, httpTypes, HUnit
-, IfElse, json, lsof, MissingH, MonadCatchIOTransformers
-, monadControl, mtl, network, networkInfo, networkMulticast
-, networkProtocolXmpp, openssh, perl, QuickCheck, random, regexTdfa
-, rsync, SafeSemaphore, SHA, stm, text, time, transformers
-, unixCompat, utf8String, uuid, wai, waiLogger, warp, which
-, xmlConduit, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm
-, yesodStatic
+, exceptions, fdoNotify, feed, filepath, git, gnupg1, gnutls
+, hamlet, hinotify, hS3, hslogger, httpClient, httpConduit
+, httpTypes, IfElse, json, lsof, MissingH, monadControl, mtl
+, network, networkInfo, networkMulticast, networkProtocolXmpp
+, openssh, optparseApplicative, pathPieces, perl, QuickCheck
+, random, regexTdfa, rsync, SafeSemaphore, securemem, SHA
+, shakespeare, stm, tasty, tastyHunit, tastyQuickcheck, tastyRerun
+, text, time, transformers, unixCompat, utf8String, uuid, wai
+, waiExtra, warp, warpTls, which, xmlTypes, yesod, yesodCore
+, yesodDefault, yesodForm, yesodStatic
 }:
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "4.20131024";
-  sha256 = "1a4mrx8zr5znhcy2cszv5ri9avqj7lcn467nmaj172f00vn4fd5x";
+  version = "5.20140817";
+  sha256 = "0cly19rd250qiikzszgad2r5xz570kr00vcb8ij6icbm53pw3hxc";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    aeson async blazeBuilder bloomfilter caseInsensitive clientsession
-    cryptoApi cryptohash dataDefault dataenc DAV dbus dlist dns
-    editDistance extensibleExceptions feed filepath gnutls hamlet
-    hinotify hS3 hslogger HTTP httpConduit httpTypes HUnit IfElse json
-    MissingH MonadCatchIOTransformers monadControl mtl network
-    networkInfo networkMulticast networkProtocolXmpp QuickCheck random
-    regexTdfa SafeSemaphore SHA stm text time transformers unixCompat
-    utf8String uuid wai waiLogger warp xmlConduit xmlTypes yesod
-    yesodCore yesodDefault yesodForm yesodStatic
+    aeson async blazeBuilder bloomfilter byteable caseInsensitive
+    clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus
+    dlist dns editDistance exceptions fdoNotify feed filepath gnutls
+    hamlet hinotify hS3 hslogger httpClient httpConduit httpTypes
+    IfElse json MissingH monadControl mtl network networkInfo
+    networkMulticast networkProtocolXmpp optparseApplicative pathPieces
+    QuickCheck random regexTdfa SafeSemaphore securemem SHA shakespeare
+    stm tasty tastyHunit tastyQuickcheck tastyRerun text time
+    transformers unixCompat utf8String uuid wai waiExtra warp warpTls
+    xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic
   ];
   buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
-  configureFlags = "-fS3
-                    -fWebDAV
-                    -fInotify
-                    -fDbus
-                    -fAssistant
-                    -fWebapp
-                    -fPairing
-                    -fXMPP
-                    -fDNS
-                    -fProduction
-                    -fTDFA";
-  preConfigure = "patchShebangs .";
-  installPhase = "./Setup install";
-  checkPhase = ''
+  configureFlags = "-fAssistant -fProduction";
+  preConfigure = ''
     export HOME="$NIX_BUILD_TOP/tmp"
     mkdir "$HOME"
+  '';
+  installPhase = "./Setup install";
+  checkPhase = ''
     cp dist/build/git-annex/git-annex git-annex
     ./git-annex test
   '';
+  propagatedUserEnvPkgs = [git lsof];
   meta = {
     homepage = "http://git-annex.branchable.com/";
     description = "manage files with git, without checking their contents into git";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
index 5e6b9fdc243..4c4ff62901e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir $out
-    ensureDir $out/bin
+    mkdir -p $out
+    mkdir -p $out/bin
     cp git-bz $out/bin
     wrapProgram $out/bin/git-bz \
       --prefix PYTHONPATH : "$(toPythonPath $python):$(toPythonPath $pysqlite)"
@@ -49,5 +49,6 @@ stdenv.mkDerivation {
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.pierron ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
new file mode 100644
index 00000000000..ffeb299f49b
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, mercurial, makeWrapper,
+  asciidoc, xmlto, dbus, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  rev = "185852eac44c25ae2e8d3b3fb6c9630e754e6363";
+  version = "v0.2-185852eac44c25ae2e8d3b3fb6c9630e754e6363";
+  name = "git-remote-hg-${version}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "git://github.com/felipec/git-remote-hg.git";
+    sha256 = "1hc65nvxq7if1imwffyxia0i6vnkbax09gfcl9vq9yffzi8xzzfy";
+  };
+
+  buildInputs = [ mercurial.python mercurial makeWrapper
+    asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt libxml2
+  ];
+
+  doCheck = false;
+
+  installFlags = "HOME=\${out}";
+
+  postInstall = ''
+    wrapProgram $out/bin/git-remote-hg \
+      --prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/felipec/git-remote-hg";
+    description = "semi-official Mercurial bridge from Git project, once installed, it allows you to clone, fetch and push to and from Mercurial repositories as if they were Git ones";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.garbas ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/cert-path.patch b/pkgs/applications/version-management/git-and-tools/git/cert-path.patch
new file mode 100644
index 00000000000..846752f5bfe
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/cert-path.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' git-1.9.2-orig/git-send-email.perl git-1.9.2/git-send-email.perl
+--- git-1.9.2-orig/git-send-email.perl	2014-04-09 21:09:34.000000000 +0200
++++ git-1.9.2/git-send-email.perl	2014-04-16 18:35:05.861132282 +0200
+@@ -1094,6 +1094,8 @@
+ 		return;
+ 	}
+ 
++	$smtp_ssl_cert_path //= $ENV{'OPENSSL_X509_CERT_FILE'};
++
+ 	if (!defined $smtp_ssl_cert_path) {
+ 		# use the OpenSSL defaults
+ 		return (SSL_verify_mode => SSL_VERIFY_PEER());
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 fb2e34c7aac..a4d16e46060 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.4";
+  version = "2.1.0";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -20,11 +20,11 @@ stdenv.mkDerivation {
   name = "git-${version}";
 
   src = fetchurl {
-    url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "156bwqqgaw65rsvbb4wih5jfg94bxyf6p16mdwf0ky3f4ln55s2i";
+    url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
+    sha256 = "19q1as2bjh4yifmgw6cciwfw0dswxppaf5iq8h8934i33bf15mwd";
   };
 
-  patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
+  patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];
 
   buildInputs = [curl openssl zlib expat gettext cpio makeWrapper]
     ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
@@ -35,7 +35,10 @@ stdenv.mkDerivation {
   NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
 
   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 pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1")
+      + (if stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else "")
+      + (if stdenv.isDarwin then " NO_APPLE_COMMON_CRYPTO=1" else "");
+
 
   # FIXME: "make check" requires Sparse; the Makefile must be tweaked
   # so that `SPARSE_FLAGS' corresponds to the current architecture...
@@ -46,8 +49,7 @@ stdenv.mkDerivation {
   postInstall =
     ''
       notSupported() {
-        echo -e "#\!/bin/sh\necho '`basename $1` not supported, $2'\nexit 1" > "$1"
-        chmod +x $1
+        unlink $1 || true
       }
 
       # Install git-subtree.
@@ -64,8 +66,9 @@ stdenv.mkDerivation {
       ln -s "$out/share/git/contrib/emacs/"*.el $out/share/emacs/site-lisp/
       mkdir -p $out/etc/bash_completion.d
       ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/
+      ln -s $out/share/git/contrib/completion/git-prompt.sh $out/etc/bash_completion.d/
 
-      # grep is a runtime dependence, need to patch so that it's found
+      # grep is a runtime dependency, need to patch so that it's found
       substituteInPlace $out/libexec/git-core/git-sh-setup \
           --replace ' grep' ' ${gnugrep}/bin/grep' \
           --replace ' egrep' ' ${gnugrep}/bin/egrep'
@@ -76,7 +79,7 @@ stdenv.mkDerivation {
              -e 's|	perl -e|	${perl}/bin/perl -e|g' \
              $out/libexec/git-core/{git-am,git-submodule}
 
-      # gzip (and optionally bzip2, xz, zip) are a runtime dependencies for
+      # gzip (and optionally bzip2, xz, zip) are runtime dependencies for
       # gitweb.cgi, need to patch so that it's found
       sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
           $out/share/gitweb/gitweb.cgi
@@ -93,7 +96,7 @@ stdenv.mkDerivation {
                      --set GITPERLLIB "$gitperllib"   \
                      --prefix PATH : "${svn}/bin" ''
        else '' # replace git-svn by notification script
-        notSupported $out/libexec/git-core/git-svn "reinstall with config git = { svnSupport = true } set"
+        notSupported $out/libexec/git-core/git-svn
        '')
 
    + (if sendEmailSupport then
@@ -105,7 +108,7 @@ stdenv.mkDerivation {
         wrapProgram $out/libexec/git-core/git-send-email \
                      --set GITPERLLIB "$gitperllib" ''
        else '' # replace git-send-email by notification script
-        notSupported $out/libexec/git-core/git-send-email "reinstall with config git = { sendEmailSupport = true } set"
+        notSupported $out/libexec/git-core/git-send-email
        '')
 
    + stdenv.lib.optionalString withManual ''# Install man pages and Info manual
@@ -122,8 +125,7 @@ stdenv.mkDerivation {
      '' else ''
        # Don't wrap Tcl/Tk, replace them by notification scripts
        for prog in bin/gitk libexec/git-core/git-gui; do
-         notSupported "$out/$prog" \
-                      "reinstall with config git = { guiSupport = true; } set"
+         notSupported "$out/$prog"
        done
      '');
 
@@ -140,6 +142,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers; [ simons the-kenny ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
index 26a7826d4f0..0898345c30b 100644
--- a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gitflow-${version}";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "https://github.com/petervanderdoes/gitflow/archive/${version}.tar.gz";
-    sha256 = "1f4879ahi8diddn7qvhr0dkj96gh527xnfihbf1ha83fn9cvvcls";
+    sha256 = "0rppgyqgk0drip6852bdm2479zks16cb3mj1jdw6jq80givrqnjx";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index 557886a4deb..ca329eddc66 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -1,16 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, filepath, git, github, hslogger
-, IfElse, MissingH, mtl, network, prettyShow, text, unixCompat
+, IfElse, MissingH, mtl, network, optparseApplicative, prettyShow
+, text, unixCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "github-backup";
-  version = "1.20131006";
-  sha256 = "0yc2hszi509mc0d6245dc8cq20mjjmr8mgrd8571dy9sgda532pf";
+  version = "1.20140721";
+  sha256 = "0bnkfmgpk1iaaqck4ppn461fzk3s2761w2nxfrvw10gc934lhrxc";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     extensibleExceptions filepath github hslogger IfElse MissingH mtl
-    network prettyShow text unixCompat
+    network optparseApplicative prettyShow text unixCompat
   ];
   buildTools = [ git ];
   meta = {
@@ -18,5 +21,7 @@ cabal.mkDerivation (self: {
     description = "backs up everything github knows about a repository, to the repository";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index b9a053211fa..28484322d35 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "hub-${version}";
-  version = "1.10.6";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://github.com/github/hub/archive/v${version}.tar.gz";
-    sha256 = "0vfl1iq1927in81vd7zvp7yqqzay7pciyj87s83qfxrqyjpxn609";
+    sha256 = "1lbl4dl7483q320qw4jm6mqq4dbbk3xncypxgg86zcdigxvw6igv";
   };
 
   buildInputs = [ rake makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index d92b49b9ef6..a7e6a62ce5f 100644
--- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "qgit-2.5";
   meta =
   {
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = "http://libre.tibirna.org/projects/qgit/wiki/QGit";
     description = "Graphical front-end to Git";
     inherit (qt.meta) platforms;
diff --git a/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix b/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix
index c3b3469ca1a..590e090de48 100644
--- a/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix
+++ b/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "qgit-git";
   meta =
   {
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = "http://digilander.libero.it/mcostalba/";
     description = "Graphical front-end to Git";
   };
diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
index a933ae84e60..d4b74390c4c 100644
--- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, git }:
 
 let
-  name = "stgit-0.15";
+  name = "stgit-0.17.1";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://download.gna.org/stgit/${name}.tar.gz";
-    sha256 = "0kgq9x0i7riwcl1lmmm40z0jiz5agr1kqxm2byv1qsf0q1ny47v9";
+    sha256 = "1pka0ns9x0kabn036zsf0mwmwiynckhnva51kgxsch9fqah6acyl";
   };
 
   buildInputs = [ python git ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     description = "StGit is a patch manager implemented on top of Git";
     license = "GPL";
 
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers; [ simons the-kenny ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
index c44f2dbcbb6..94c819e711b 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp svn-all-fast-export $out/bin
   '';
 
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index 6f5d36f6aa7..b0cfcaeb110 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchgit, ruby, makeWrapper, git }:
+{ stdenv, fetchurl, ruby, makeWrapper, git }:
 
-stdenv.mkDerivation rec {
-  name = "svn2git-2.1.0-20111206";
+let
+  version = "2.2.5";
+in
+stdenv.mkDerivation {
+  name = "svn2git-${version}";
 
-  src = fetchgit {
-    url = https://github.com/nirvdrum/svn2git;
-    rev = "5cd8d4b509affb66eb2dad50d7298c52b3b0d848";
-    sha256 = "26aa17f68f605e958b623d803b4bd405e12d6c5d51056635873a2c59e4c7b9ca";
+  src = fetchurl {
+    url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz";
+    sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh";
   };
 
   buildInputs = [ ruby makeWrapper ];
@@ -17,14 +19,22 @@ stdenv.mkDerivation rec {
     ''
       mkdir -p $out
       cp -r lib $out/
-      
+
       mkdir -p $out/bin
       substituteInPlace bin/svn2git --replace '/usr/bin/env ruby' ${ruby}/bin/ruby
       cp bin/svn2git $out/bin/
       chmod +x $out/bin/svn2git
-      
+
       wrapProgram $out/bin/svn2git \
         --set RUBYLIB $out/lib \
         --prefix PATH : ${git}/bin
     '';
+
+  meta = {
+    homepage = https://github.com/nirvdrum/svn2git;
+    description = "Ruby tool for importing existing svn projects into git";
+    license = stdenv.lib.licenses.mit;
+
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index bdd6e806fe3..239fa87d32c 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,23 +1,33 @@
-{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl }:
+{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
+, readline
+}:
 
 stdenv.mkDerivation rec {
-  name = "tig-1.1";
+  name = "tig-2.0.2";
+
   src = fetchurl {
     url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
-    md5 = "adeb797a8320962eeb345a615257cbac";
+    sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
   };
-  buildInputs = [ncurses asciidoc xmlto docbook_xsl];
+
+  buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline ];
+
+  preConfigure = ''
+    export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml'
+  '';
+
   installPhase = ''
     make install
     make install-doc
     mkdir -p $out/etc/bash_completion.d/
     cp contrib/tig-completion.bash $out/etc/bash_completion.d/
   '';
+
   meta = with stdenv.lib; {
     homepage = "http://jonas.nitro.dk/tig/";
-    description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
-    maintainers = [ maintainers.garbas maintainers.bjornfor maintainers.iElectric ];
+    description = "Text-mode interface for git";
+    maintainers = with maintainers; [ garbas bjornfor iElectric ];
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/topgit/default.nix b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
index 5290a12a54a..195f6f3a463 100644
--- a/pkgs/applications/version-management/git-and-tools/topgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://github.com/greenrd/topgit";
     description = "TopGit manages large amount of interdependent topic branches";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ marcweber ludo simons ];
   };
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
new file mode 100644
index 00000000000..7f8091067cb
--- /dev/null
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation {
+  name = "git-repo-1.20";
+  src = fetchurl {
+    # I could not find a versioned url for the 1.20 version. In case
+    # the sha mismatches, check the homepage for new version and sha.
+    url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo";
+    sha1 = "e197cb48ff4ddda4d11f23940d316e323b29671c";
+  };
+
+  unpackPhase = "true";
+  installPhase = ''
+    mkdir -p $out/bin
+    sed -e 's,!/usr/bin/env python,!${python}/bin/python,' < $src > $out/bin/repo
+    chmod +x $out/bin/repo
+  '';
+
+  meta = {
+    homepage = "http://source.android.com/source/downloading.html";
+    description = "Android's repo management tool";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix
new file mode 100644
index 00000000000..67e3cba70ca
--- /dev/null
+++ b/pkgs/applications/version-management/gitolite/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, perl, git }:
+
+stdenv.mkDerivation rec {
+  name = "gitolite-${version}";
+  version = "3.6.1";
+
+  src = fetchurl {
+    url = "https://github.com/sitaramc/gitolite/archive/v${version}.tar.gz";
+    sha256 = "0sizzv705aypasi9vf9kmdbzcl3gmyfxg9dwdl5prn64biqkvq3y";
+  };
+
+  buildInputs = [ perl git ];
+  buildPhase = "true";
+
+  patchPhase = ''
+    substituteInPlace ./install --replace " 2>/dev/null" ""
+    substituteInPlace src/lib/Gitolite/Hooks/PostUpdate.pm \
+      --replace /usr/bin/perl "${perl}/bin/perl"
+    substituteInPlace src/lib/Gitolite/Hooks/Update.pm \
+      --replace /usr/bin/perl "${perl}/bin/perl"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    perl ./install -to $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Finely-grained git repository hosting";
+    homepage    = http://gitolite.com/gitolite/index.html;
+    license     = licenses.gpl2;
+    platforms   = platforms.unix;
+    maintainers = [ maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 886ed9a7199..13c55476774 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -1,23 +1,27 @@
-{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa }:
+{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre
+, SDL_image, glew, mesa, boost, glm
+}:
 
-let
-  name = "gource-0.37";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "gource-0.40";
 
   src = fetchurl {
     url = "http://gource.googlecode.com/files/${name}.tar.gz";
-    sha256 = "03kd9nn65cl1p2jgn6pvpxmvnfscz3c8jqds90fsc0z37ij2iiyn";
+    sha256 = "04nirh07xjslqsph557as4s50nlf91bi6v2l7vmbifmkdf90m2cw";
   };
 
-  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
+  buildInputs = [
+    glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa boost glm
+  ];
+
+  configureFlags = "--with-boost-libdir=${boost}/lib";
+
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
 
   meta = {
     homepage = "http://code.google.com/p/gource/";
     description = "software version control visualization tool";
     license = stdenv.lib.licenses.gpl3Plus;
-
     longDescription = ''
       Software projects are displayed by Gource as an animated tree with
       the root directory of the project at its centre. Directories
@@ -28,8 +32,6 @@ stdenv.mkDerivation {
       Mercurial and Bazaar and SVN. Gource can also parse logs produced
       by several third party tools for CVS repositories.
     '';
-
-    platforms = stdenv.lib.platforms.gnu;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/version-management/kdesvn/default.nix b/pkgs/applications/version-management/kdesvn/default.nix
index 59fb1f5a867..60f5d8bb9e0 100644
--- a/pkgs/applications/version-management/kdesvn/default.nix
+++ b/pkgs/applications/version-management/kdesvn/default.nix
@@ -1,21 +1,20 @@
-{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs, expat }:
+{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db, kdelibs, expat }:
 
+# the homepage mentions this is the final release.
+# from now on, kdesvn will be part of the official kde software distribution
 stdenv.mkDerivation rec {
-  name = "kdesvn-1.5.5";
+  name = "kdesvn-1.6.0";
 
-  src = fetchurl {
-    url = "${meta.homepage}/downloads/${name}.tar.bz2";
-    sha256 = "02sb34p04dyd88ksxvpiffhxqwmhs3yv1wif9m8w0fly9hvy1zk7";
+  src = fetchurl rec {
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/kdesvn/${name}.tar.bz2/${md5}/${name}.tar.bz2";
+    md5 = "7e6adc98ff4777a06d5752d3f2b58fa3";
   };
 
   prePatch = ''
     sed -i -e "s|/usr|${subversion}|g" src/svnqt/cmakemodules/FindSubversion.cmake
   '';
 
-  patches = [ ./docbook.patch ./virtual_inheritance.patch ];
-  
-
-  buildInputs = [ apr aprutil subversion db4 kdelibs expat ];
+  buildInputs = [ apr aprutil subversion db kdelibs expat ];
 
   nativeBuildInputs = [ gettext ];
 
diff --git a/pkgs/applications/version-management/kdesvn/docbook.patch b/pkgs/applications/version-management/kdesvn/docbook.patch
deleted file mode 100644
index 54f43c77958..00000000000
--- a/pkgs/applications/version-management/kdesvn/docbook.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-The name of the dtd changed in kdelibs 4.5, so we need to increase it.
-
-diff --git a/doc/nl/index.docbook b/doc/nl/index.docbook
-index 8747869..a9676aa 100644
---- a/doc/nl/index.docbook
-+++ b/doc/nl/index.docbook
-@@ -1,5 +1,5 @@
- <?xml version="1.0" ?>
--<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
-+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
-   <!ENTITY kdesvn "<application>kdesvn</application>">
-   <!ENTITY kappname "&kdesvn;"><!-- Do *not* replace kappname-->
-   <!ENTITY package "kde-module"><!-- kdebase, kdeadmin, etc -->
diff --git a/pkgs/applications/version-management/kdesvn/virtual_inheritance.patch b/pkgs/applications/version-management/kdesvn/virtual_inheritance.patch
deleted file mode 100644
index faaf6afcd6b..00000000000
--- a/pkgs/applications/version-management/kdesvn/virtual_inheritance.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kdesvn-1.5.5.orig/src/svnfrontend/graphtree/revgraphview.h
-+++ kdesvn-1.5.5/src/svnfrontend/graphtree/revgraphview.h
-@@ -49,7 +49,7 @@ typedef svn::SharedPointer<KTemporaryFil
- /**
- 	@author Rajko Albrecht <ral@alwins-world.de>
- */
--class RevGraphView : virtual public QGraphicsView
-+class RevGraphView : public QGraphicsView
- {
-     Q_OBJECT
- public:
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 73b21728e16..951ea29a7fc 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,8 +1,8 @@
 {stdenv, fetchurl, pygtk, python, intltool, scrollkeeper, makeWrapper }:
 
 let
-  minor = "1.6";
-  version = "${minor}.1";
+  minor = "1.8";
+  version = "${minor}.6";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
-    sha256 = "00rsff0yl5qwzh0igkdns6ry2xsbxad70avpqpkbd2bldi94v76y";
+    sha256 = "19g86rksrs77hd58zhs3zwbjmmhqc98v2ly8451avwsbiwmni5mg";
   };
 
   buildInputs = [ pygtk python intltool scrollkeeper makeWrapper ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Visual diff and merge tool";
     homepage = http://meld.sourceforge.net;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 669aa5713a0..8237a5517c7 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -2,7 +2,8 @@
 , guiSupport ? false, tk ? null, curses }:
 
 let
-  name = "mercurial-2.6.1";
+  version = "3.1";
+  name = "mercurial-${version}";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +11,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://mercurial.selenic.com/release/${name}.tar.gz";
-    sha256 = "0r4fg269xnqgacc82ppm3wxl9wwvvgwz8z6zi1iai4gx76iklhdn";
+    sha256 = "1r6hdxka867lpsq2jq3vz662m3ywflg4yylayc9g0s9gmiww5pgi";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
@@ -53,9 +54,11 @@ stdenv.mkDerivation {
     '';
 
   meta = {
+    inherit version;
     description = "A fast, lightweight SCM system for very large distributed projects";
-    homepage = "http://www.selenic.com/mercurial/";
-    license = "GPLv2";
+    homepage = "http://mercurial.selenic.com/";
+    downloadPage = "http://mercurial.selenic.com/release/";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix
index 0df1c652761..6be36533ce6 100644
--- a/pkgs/applications/version-management/monotone/default.nix
+++ b/pkgs/applications/version-management/monotone/default.nix
@@ -1,8 +1,10 @@
 { stdenv, fetchurl, boost, zlib, botan, libidn
-, lua, pcre, sqlite, perl, pkgconfig, expect }:
+, lua, pcre, sqlite, perl, pkgconfig, expect
+, bzip2, gmp, openssl
+}:
 
 let
-  version = "1.0";
+  version = "1.1";
   perlVersion = (builtins.parseDrvName perl.name).version;
 in
 
@@ -13,12 +15,13 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.bz2";
-    sha256 = "5c530bc4652b2c08b5291659f0c130618a14780f075f981e947952dcaefc31dc";
+    sha256 = "124cwgi2q86hagslbk5idxbs9j896rfjzryhr6z63r6l485gcp7r";
   };
 
-  patches = [ ./glibc-file-handle.patch ];
+  patches = [ ];
 
-  buildInputs = [ boost zlib botan libidn lua pcre sqlite pkgconfig expect ];
+  buildInputs = [ boost zlib botan libidn lua pcre sqlite pkgconfig expect 
+    openssl gmp bzip2 ];
 
   postInstall = ''
     mkdir -p $out/share/${name}
diff --git a/pkgs/applications/version-management/monotone/default.upstream b/pkgs/applications/version-management/monotone/default.upstream
new file mode 100644
index 00000000000..e0d01fb190c
--- /dev/null
+++ b/pkgs/applications/version-management/monotone/default.upstream
@@ -0,0 +1,8 @@
+url http://www.monotone.ca/downloads.php
+
+do_overwrite(){
+  ensure_version
+  ensure_hash
+  set_var_value version $CURRENT_VERSION
+  set_var_value sha256 $CURRENT_HASH
+}
diff --git a/pkgs/applications/version-management/monotone/glibc-file-handle.patch b/pkgs/applications/version-management/monotone/glibc-file-handle.patch
deleted file mode 100644
index 601b6ede0fb..00000000000
--- a/pkgs/applications/version-management/monotone/glibc-file-handle.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-Revision: da62cad10eda55aa233ac124273f3db4f541137a
-Parent:   65bcb8cf8b32f68a5b48629b328f6d65979e58df
-Author:   Thomas Moschny <thomas.moschny@gmx.de>
-Date:     07.05.2011 13:32:06
-Branch:   net.venge.monotone
-
-Changelog: 
-
-* src/rcs_file.cc: Rename struct "file_handle" to "rcs_file_handle"
-  to avoid a name clash with a struct of same name defined by newer
-  glibc's "fcntl.h". For aesthetic reasons, also rename struct
-  "file_source".
-
-References:
-https://code.monotone.ca/p/monotone/source/commit/da62cad10eda55aa233ac124273f3db4f541137a/
-https://bugs.gentoo.org/396651
-
-============================================================
---- a/src/rcs_file.cc	885b3fbe7b6cfed78816f0e57cd71d44616213c6
-+++ b/src/rcs_file.cc	03cf68912a4a708545ebce3d415c0e970ddead0b
-@@ -42,12 +42,12 @@ struct
- 
- #ifdef HAVE_MMAP
- struct
--file_handle
-+rcs_file_handle
- {
-   string const & filename;
-   off_t length;
-   int fd;
--  file_handle(string const & fn) :
-+  rcs_file_handle(string const & fn) :
-     filename(fn),
-     length(0),
-     fd(-1)
-@@ -60,13 +60,13 @@ file_handle
-       if (fd == -1)
-         throw oops("open of " + filename + " failed");
-     }
--  ~file_handle()
-+  ~rcs_file_handle()
-     {
-       if (close(fd) == -1)
-         throw oops("close of " + filename + " failed");
-     }
- };
--struct file_source
-+struct rcs_file_source
- {
-   string const & filename;
-   int fd;
-@@ -91,7 +91,7 @@ struct file_source
-       ++pos;
-     return good();
-   }
--  file_source(string const & fn,
-+  rcs_file_source(string const & fn,
-               int f,
-               off_t len) :
-     filename(fn),
-@@ -104,7 +104,7 @@ struct file_source
-     if (mapping == MAP_FAILED)
-       throw oops("mmap of " + filename + " failed");
-   }
--  ~file_source()
-+  ~rcs_file_source()
-   {
-     if (munmap(mapping, length) == -1)
-       throw oops("munmapping " + filename + " failed, after reading RCS file");
-@@ -112,12 +112,12 @@ struct
- };
- #elif defined(WIN32)
- struct
--file_handle
-+rcs_file_handle
- {
-   string const & filename;
-   off_t length;
-   HANDLE fd;
--  file_handle(string const & fn) :
-+  rcs_file_handle(string const & fn) :
-     filename(fn),
-     length(0),
-     fd(NULL)
-@@ -134,7 +134,7 @@ file_handle
-       if (fd == NULL)
-         throw oops("open of " + filename + " failed");
-     }
--  ~file_handle()
-+  ~rcs_file_handle()
-     {
-       if (CloseHandle(fd)==0)
-         throw oops("close of " + filename + " failed");
-@@ -142,7 +142,7 @@ struct
- };
- 
- struct
--file_source
-+rcs_file_source
- {
-   string const & filename;
-   HANDLE fd,map;
-@@ -167,7 +167,7 @@ file_source
-       ++pos;
-     return good();
-   }
--  file_source(string const & fn,
-+  rcs_file_source(string const & fn,
-               HANDLE f,
-               off_t len) :
-     filename(fn),
-@@ -183,7 +183,7 @@ file_source
-     if (mapping==NULL)
-       throw oops("MapViewOfFile of " + filename + " failed");
-   }
--  ~file_source()
-+  ~rcs_file_source()
-   {
-     if (UnmapViewOfFile(mapping)==0)
-       throw oops("UnmapViewOfFile of " + filename + " failed");
-@@ -193,7 +193,7 @@ file_source
- };
- #else
- // no mmap at all
--typedef istream file_source;
-+typedef istream rcs_file_source;
- #endif
- 
- typedef enum
-@@ -220,7 +220,7 @@ static token_type
- }
- 
- static token_type
--get_token(file_source & ist,
-+get_token(rcs_file_source & ist,
-           string & str,
-           size_t & line,
-           size_t & col)
-@@ -303,14 +303,14 @@ struct parser
- 
- struct parser
- {
--  file_source & ist;
-+  rcs_file_source & ist;
-   rcs_file & r;
-   string token;
-   token_type ttype;
- 
-   size_t line, col;
- 
--  parser(file_source & s,
-+  parser(rcs_file_source & s,
-          rcs_file & r)
-     : ist(s), r(r), line(1), col(1)
-   {}
-@@ -489,8 +489,8 @@ parse_rcs_file(string const & filename, 
- parse_rcs_file(string const & filename, rcs_file & r)
- {
- #if defined(HAVE_MMAP) || defined(WIN32)
--      file_handle handle(filename);
--      file_source ifs(filename, handle.fd, handle.length);
-+      rcs_file_handle handle(filename);
-+      rcs_file_source ifs(filename, handle.fd, handle.length);
- #else
-       ifstream ifs(filename.c_str());
-       ifs.unsetf(ios_base::skipws);
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
index 9e8024d7b19..29fafc4db74 100644
--- a/pkgs/applications/version-management/mr/default.nix
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -17,13 +17,14 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -pv $out/bin $out/share/man/man1
+    mkdir -pv $out/bin $out/share/man/man1 $out/share/mr
     cp -v mr $out/bin
     cp -v webcheckout $out/bin
     cp -v mr.1 $out/share/man/man1
     cp -v webcheckout.1 $out/share/man/man1
+    cp -v lib/* $out/share/mr
   '';
-      
+
   meta = {
     description = "Multiple Repository management tool";
     longDescription = ''The mr(1) command can checkout, update, or perform other actions on a
@@ -48,9 +49,8 @@ stdenv.mkDerivation rec {
           offline, so they can be retried when it comes back online.
     '';
     homepage = http://joeyh.name/code/mr/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.antono ];
   };
 }
- 
diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix
index 264340b4826..843fe9ad323 100644
--- a/pkgs/applications/version-management/rapidsvn/default.nix
+++ b/pkgs/applications/version-management/rapidsvn/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Multi-platform GUI front-end for the Subversion revision system";
     homepage = http://rapidsvn.tigris.org/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
   };
 }
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index 5f88bbc74cc..e71d23132ac 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, ed }:
 
 stdenv.mkDerivation rec {
-  name = "rcs-5.8.2";
+  name = "rcs-5.9.2";
 
   src = fetchurl {
-    url = "mirror://gnu/rcs/${name}.tar.gz";
-    sha256 = "1p4kqqrvc7plc3n6ls4xwp6d3mw1jcx9p36pilwd65q31mgbs07a";
+    url = "mirror://gnu/rcs/${name}.tar.xz";
+    sha256 = "0wdmmplga9k05d9k7wjqv4zb6xvvzsli8hmn206pvangki1g66k5";
   };
 
+  buildInputs = [ ed ];
+
   doCheck = true;
 
   meta = {
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
          documentation, graphics, papers, and form letters.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [ eelco simons ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index b1469038d42..6e3d2f3d4d5 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -1,37 +1,33 @@
 { bdbSupport ? false # build support for Berkeley DB repositories
 , httpServer ? false # build Apache DAV module
 , httpSupport ? false # client must support http
-, sslSupport ? false # client must support https
-, compressionSupport ? false # client must support http compression
 , pythonBindings ? false
 , perlBindings ? false
 , javahlBindings ? false
 , saslSupport ? false
-, stdenv, fetchurl, apr, aprutil, neon, zlib, sqlite
+, stdenv, fetchurl, apr, aprutil, zlib, sqlite
 , httpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
-, sasl ? null
+, sasl ? null, serf ? null
 }:
 
 assert bdbSupport -> aprutil.bdbSupport;
 assert httpServer -> httpd != null;
 assert pythonBindings -> swig != null && python != null;
 assert javahlBindings -> jdk != null && perl != null;
-assert sslSupport -> neon.sslSupport;
-assert compressionSupport -> neon.compressionSupport;
 
 stdenv.mkDerivation rec {
 
-  version = "1.7.13";
+  version = "1.8.10";
 
   name = "subversion-${version}";
 
   src = fetchurl {
-    url = "mirror://apache/subversion//${name}.tar.bz2";
-    sha1 = "844bb756ec505edaa12b9610832bcd21567139f1";
+    url = "mirror://apache/subversion/${name}.tar.bz2";
+    sha1 = "d6896d94bb53c1b4c6e9c5bb1a5c466477b19b2b";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
-    ++ stdenv.lib.optional httpSupport neon
+    ++ stdenv.lib.optional httpSupport serf
     ++ stdenv.lib.optional pythonBindings python
     ++ stdenv.lib.optional perlBindings perl
     ++ stdenv.lib.optional saslSupport sasl;
@@ -43,6 +39,7 @@ stdenv.mkDerivation rec {
     ${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
     ${if stdenv.isDarwin then "--enable-keychain" else "--disable-keychain"}
     ${if saslSupport then "--enable-sasl --with-sasl=${sasl}" else "--disable-sasl"}
+    ${if httpSupport then "--enable-serf --with-serf=${serf}" else "--disable-serf"}
     --with-zlib=${zlib}
     --with-sqlite=${sqlite}
   '';
@@ -67,16 +64,23 @@ stdenv.mkDerivation rec {
         make install
         cd -
     fi
+
+    mkdir -p $out/share/bash-completion/completions
+    cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion
   '';
 
   inherit perlBindings pythonBindings;
 
   enableParallelBuilding = true;
 
+  # Hack to build on Mac OS X. The system header files use C99-style
+  # comments, but Subversion passes -std=c90.
+  NIX_CFLAGS_COMPILE = "-std=c99";
+
   meta = {
     description = "A version control system intended to be a compelling replacement for CVS in the open source community";
     homepage = http://subversion.apache.org/;
     maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
-    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/tailor/default.nix b/pkgs/applications/version-management/tailor/default.nix
index 54529503d82..f8937f39e76 100644
--- a/pkgs/applications/version-management/tailor/default.nix
+++ b/pkgs/applications/version-management/tailor/default.nix
@@ -2,7 +2,10 @@ args : with args;
 let version = if args ? version then args.version else "0.9.35"; in
 rec {
   src = fetchurl {
-    url = "http://darcs.arstecnica.it/tailor/tailor-${version}.tar.gz";
+    urls = [
+      "http://darcs.arstecnica.it/tailor/tailor-${version}.tar.gz"
+      "http://pkgs.fedoraproject.org/repo/pkgs/tailor/tailor-${version}.tar.gz/58a6bc1c1d922b0b1e4579c6440448d1/tailor-${version}.tar.gz"
+    ];
     sha256 = "061acapxxn5ab3ipb5nd3nm8pk2xj67bi83jrfd6lqq3273fmdjh";
   };
 
diff --git a/pkgs/applications/version-management/tkcvs/default.nix b/pkgs/applications/version-management/tkcvs/default.nix
index 569c442f983..b3bfe8a22e6 100644
--- a/pkgs/applications/version-management/tkcvs/default.nix
+++ b/pkgs/applications/version-management/tkcvs/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation
   meta = {
     homepage = http://www.twobarleycorns.net/tkcvs.html;
     description = "TCL/TK GUI for cvs and subversion";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/version-management/vcprompt/default.nix b/pkgs/applications/version-management/vcprompt/default.nix
new file mode 100644
index 00000000000..476abd4e19b
--- /dev/null
+++ b/pkgs/applications/version-management/vcprompt/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchhg, autoconf, sqlite }:
+
+stdenv.mkDerivation {
+  name = "vcprompt";
+
+  src = fetchhg {
+    url = "http://hg.gerg.ca/vcprompt/";
+    rev = "1.2.1";
+    sha256 = "03xqvp6bfl98bpacrw4n82qv9cw6a4fxci802s3vrygas989v1kj";
+  };
+
+  buildInputs = [ sqlite autoconf ];
+
+  preConfigure = ''
+    autoconf
+    makeFlags="$makeFlags PREFIX=$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      A little C program that prints a short string with barebones information
+      about the current working directory for various version control systems
+    '';
+    homepage    = http://hg.gerg.ca/vcprompt;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix
new file mode 100644
index 00000000000..d438cb1bc6c
--- /dev/null
+++ b/pkgs/applications/version-management/vcsh/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit}:
+
+stdenv.mkDerivation rec {
+  rev = "75c4c554eefbefb714fabd356933858edbce3b1e";
+  version = "1.20131229";
+  name = "vcsh-${version}_${rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/RichiH/vcsh";
+    sha256 = "0rc82a8vnnk9q6q88z9s10873gqgdpppbpwy2yw8a7hydqrpn0hs";
+  };
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp vcsh $out/bin
+  '';
+
+  meta = {
+    description = "Version Control System for $HOME";
+    homepage = https://github.com/RichiH/vcsh;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/version-management/veracity/default.nix b/pkgs/applications/version-management/veracity/default.nix
index 6bf452c1821..4c69f41106b 100644
--- a/pkgs/applications/version-management/veracity/default.nix
+++ b/pkgs/applications/version-management/veracity/default.nix
@@ -102,6 +102,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux ;
+    broken = true;
   };
 }) x
 
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
new file mode 100644
index 00000000000..c06aa0a036c
--- /dev/null
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, fetchurl
+, libX11, gettext, wxGTK
+, libiconv, fontconfig, freetype
+, mesa
+, libass, fftw, ffms
+, ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
+, icu, boost, intltool # New dependencies
+, spellChecking ? true, hunspell ? null
+, automationSupport ? true, lua ? null
+, openalSupport ? false, openal ? null
+, alsaSupport ? true, alsaLib ? null
+, pulseaudioSupport ? true, pulseaudio ? null
+, portaudioSupport ? false, portaudio ? null
+}:
+
+assert spellChecking -> (hunspell != null);
+assert automationSupport -> (lua != null);
+assert openalSupport -> (openal != null);
+assert alsaSupport -> (alsaLib != null);
+assert pulseaudioSupport -> (pulseaudio != null);
+assert portaudioSupport -> (portaudio != null);
+
+stdenv.mkDerivation rec {
+  name = "aegisub-${version}";
+  version = "3.2.0";
+
+  src = fetchurl {
+    url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz";
+    sha256 = "0nciw5p1aq94qwz5j4vbc06fywdjhazgh4qs6qr9iqj3n94gvrfr";
+  };
+
+  nativeBuildInputs = [ intltool ];
+
+  buildInputs = with stdenv.lib;
+  [ libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib icu boost ]
+  ++ optional spellChecking hunspell
+  ++ optional automationSupport lua
+  ++ optional openalSupport openal
+  ++ optional alsaSupport alsaLib
+  ++ optional pulseaudioSupport pulseaudio
+  ++ optional portaudioSupport portaudio
+  ;
+
+  NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm -lGL";
+
+  configureFlags = "--with-boost-libdir=${boost}/lib/";
+
+  postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub";
+
+  meta = with stdenv.lib; {
+    description = "An advanced subtitle editor";
+    longDescription = ''
+      Aegisub is a free, cross-platform open source tool for creating and
+      modifying subtitles. Aegisub makes it quick and easy to time subtitles to
+      audio, and features many powerful tools for styling them, including a
+      built-in real-time video preview.
+    '';
+    homepage = http://www.aegisub.org/;
+    license = licenses.bsd3;
+              # The Aegisub sources are itself BSD/ISC,
+              # but they are linked against GPL'd softwares
+              # - so the resulting program will be GPL
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+
+  };
+}
diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix
index d706d16241c..485d8c54eb3 100644
--- a/pkgs/applications/video/avidemux/default.nix
+++ b/pkgs/applications/video/avidemux/default.nix
@@ -1,20 +1,23 @@
 {stdenv, fetchurl, cmake, pkgconfig, libxml2, qt4, gtk, gettext, SDL,
 libXv, pixman, libpthreadstubs, libXau, libXdmcp, libxslt, x264,
-alsaLib, lame, faac, faad2, libvorbis, yasm, libvpx, xvidcore, libva }:
+alsaLib, lame, faad2, libvorbis, yasm, libvpx, xvidcore, libva,
+faac ? null, faacSupport ? false }:
 
 assert stdenv ? glibc;
+assert faacSupport -> faac != null;
 
 stdenv.mkDerivation {
   name = "avidemux-2.5.6";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/avidemux/avidemux_2.5.6.tar.gz;
     sha256 = "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn";
   };
-  
+
   buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv
-    pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib 
-    lame faac faad2 libvorbis yasm libvpx xvidcore libva ];
+    pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib
+    lame faad2 libvorbis yasm libvpx xvidcore libva
+  ] ++ stdenv.lib.optional faacSupport faac;
 
   cmakeFlags = "-DPTHREAD_INCLUDE_DIR=${stdenv.glibc}/include" +
     " -DGETTEXT_INCLUDE_DIR=${gettext}/include" +
@@ -34,7 +37,7 @@ stdenv.mkDerivation {
     make install
   '';
 
-  meta = { 
+  meta = {
     homepage = http://fixounet.free.fr/avidemux/;
     description = "Free video editor designed for simple video editing tasks";
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/applications/video/avxsynth/default.nix b/pkgs/applications/video/avxsynth/default.nix
index 70dcad49c97..a9a2ec46397 100644
--- a/pkgs/applications/video/avxsynth/default.nix
+++ b/pkgs/applications/video/avxsynth/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = https://github.com/avxsynth/avxsynth/wiki;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/video/bangarang/default.nix b/pkgs/applications/video/bangarang/default.nix
index 5dde88076a1..f962b52dd62 100644
--- a/pkgs/applications/video/bangarang/default.nix
+++ b/pkgs/applications/video/bangarang/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ];
   nativeBuildInputs = [ cmake ];
 
+  patches = [ ./gcc-4.7.patch ];
+
   meta = with stdenv.lib; {
     description = "A media player for KDE based on Nepomuk and Phonon";
     longDescription = ''
@@ -17,7 +19,7 @@ stdenv.mkDerivation rec {
       media collection management, playlists and statistics.
     '';
     homepage = http://bangarangkde.wordpress.com/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = [ maintainers.phreedom maintainers.urkud ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/video/bangarang/gcc-4.7.patch b/pkgs/applications/video/bangarang/gcc-4.7.patch
new file mode 100644
index 00000000000..d4f650b9caf
--- /dev/null
+++ b/pkgs/applications/video/bangarang/gcc-4.7.patch
@@ -0,0 +1,45 @@
+commit b893fcdb7ddfc8c59fd29a29b7265a713c3dbab1
+Author: Alex Fiestas <afiestas@kde.org>
+Date:   Thu Mar 29 10:09:22 2012 +0200
+
+    Build fix: Add unistd.h include since sleep is defined there
+
+diff --git a/src/platform/infofetchers/lastfminfofetcher.cpp b/src/platform/infofetchers/lastfminfofetcher.cpp
+index 0c49d69..fcc4cd3 100644
+--- a/src/platform/infofetchers/lastfminfofetcher.cpp
++++ b/src/platform/infofetchers/lastfminfofetcher.cpp
+@@ -32,6 +32,8 @@
+ #include <QFile>
+ #include <QTextEdit>
+ 
++#include <unistd.h>
++
+ LastfmInfoFetcher::LastfmInfoFetcher(QObject *parent) :
+         InfoFetcher(parent)
+ {
+diff --git a/src/platform/infofetchers/tmdbinfofetcher.cpp b/src/platform/infofetchers/tmdbinfofetcher.cpp
+index 7801644..3c01960 100644
+--- a/src/platform/infofetchers/tmdbinfofetcher.cpp
++++ b/src/platform/infofetchers/tmdbinfofetcher.cpp
+@@ -30,6 +30,8 @@
+ #include <QDomDocument>
+ #include <QFile>
+ 
++#include <unistd.h>
++
+ TMDBInfoFetcher::TMDBInfoFetcher(QObject *parent) :
+         InfoFetcher(parent)
+ {
+diff --git a/src/platform/infofetchers/tvdbinfofetcher.cpp b/src/platform/infofetchers/tvdbinfofetcher.cpp
+index ff351b0..670ed18 100644
+--- a/src/platform/infofetchers/tvdbinfofetcher.cpp
++++ b/src/platform/infofetchers/tvdbinfofetcher.cpp
+@@ -30,6 +30,8 @@
+ #include <QDomDocument>
+ #include <QFile>
+ 
++#include <unistd.h>
++
+ TVDBInfoFetcher::TVDBInfoFetcher(QObject *parent) :
+         InfoFetcher(parent)
+ {
diff --git a/pkgs/applications/video/cc1394/default.nix b/pkgs/applications/video/cc1394/default.nix
index df131f0e485..d555e1b7885 100644
--- a/pkgs/applications/video/cc1394/default.nix
+++ b/pkgs/applications/video/cc1394/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = "BSD";
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = []; # because libdc1394avt is broken
   };
 }
diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix
index 98ba7a8e137..8287cb9121e 100644
--- a/pkgs/applications/video/cinelerra/default.nix
+++ b/pkgs/applications/video/cinelerra/default.nix
@@ -41,9 +41,9 @@ stdenv.mkDerivation {
     ];
 
   meta = { 
-    description = "Cinelerra - Video Editor";
+    description = "Video Editor";
     homepage = http://www.cinelerra.org;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/coriander/default.nix b/pkgs/applications/video/coriander/default.nix
index f4be54ae23e..e3c28853403 100644
--- a/pkgs/applications/video/coriander/default.nix
+++ b/pkgs/applications/video/coriander/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://damien.douxchamps.net/ieee1394/coriander/;
     description = "GUI for controlling a Digital Camera through the IEEE1394 bus";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/video/dvb-apps/default.nix b/pkgs/applications/video/dvb-apps/default.nix
index 74e3d58553a..5e8e63564f4 100644
--- a/pkgs/applications/video/dvb-apps/default.nix
+++ b/pkgs/applications/video/dvb-apps/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
     description = "Linux DVB API applications and utilities";
     homepage = http://linuxtv.org/;
     platforms = stdenv.lib.platforms.linux;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/dvswitch/default.nix b/pkgs/applications/video/dvswitch/default.nix
deleted file mode 100644
index 8803fe0a786..00000000000
--- a/pkgs/applications/video/dvswitch/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, alsaLib, boost, cmake, gtkmm, libXau, libXdmcp
-, libXv, libav, pixman, libpthreadstubs, pkgconfig 
-}:
-
-stdenv.mkDerivation rec {
-  name = "dvswitch-${version}";
-  version = "0.8.3.6";
-
-  src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/3615/${name}.tar.gz";
-    sha256 = "7bd196389f9913ae08e12a29e168d79324c508bb545eab114df77b0375cd87f0";
-  };
-
-  buildInputs = [
-    alsaLib boost cmake gtkmm libXau libXdmcp libXv libav
-    libpthreadstubs pixman pkgconfig
-  ];
-
-  patchPhase = ''
-    sed -e "s@prefix /usr/local@prefix $out@" -i CMakeLists.txt
-  '';
-
-  meta =  with stdenv.lib; {
-    description = "interactive live video mixer for DV streams";
-    homepage = "http://dvswitch.alioth.debian.org";
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix
index 4f2addcc99b..06122619066 100644
--- a/pkgs/applications/video/gnash/default.nix
+++ b/pkgs/applications/video/gnash/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch
 , SDL, SDL_mixer, gstreamer, gst_plugins_base, gst_plugins_good
 , gst_ffmpeg, speex
 , libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
@@ -10,7 +10,13 @@
 
 assert stdenv ? glibc;
 
-let version = "0.8.10"; in
+let version = "0.8.10";
+    patch_CVE = fetchpatch {
+      url = "http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527";
+      sha256 = "0ghnki5w7xf3qwfl1x6vhijpd6q608niyxrvh0g8dw5xavkvallk";
+      name = "CVE-2012-1175.patch";
+    };
+in
 
 stdenv.mkDerivation rec {
   name = "gnash-${version}";
@@ -21,6 +27,8 @@ stdenv.mkDerivation rec {
   };
 
   patchPhase = ''
+    patch -p1 < ${patch_CVE}
+
     # Add all libs to `macros/libslist', a list of library search paths.
     for lib in ${lib.concatStringsSep " "
                                       (map (lib: "\"${lib}\"/lib")
@@ -73,6 +81,8 @@ stdenv.mkDerivation rec {
        echo "\$GST_PLUGIN_PATH set to \`$GST_PLUGIN_PATH'"
     '';
 
+  postConfigure = "echo '#define nullptr NULL' >> gnashconfig.h";
+
   # Make sure `gtk-gnash' gets `libXext' in its `RPATH'.
   NIX_LDFLAGS="-lX11 -lXext";
 
@@ -87,9 +97,7 @@ stdenv.mkDerivation rec {
     # (e.g., gst-ffmpeg is needed to watch movies such as YouTube's).
     for prog in "$out/bin/"*
     do
-      wrapProgram "$prog" --prefix                                            \
-        GST_PLUGIN_PATH ":"                                                     \
-        "${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_ffmpeg}/lib/gstreamer-0.10"
+      wrapProgram "$prog" --prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
     done
   '';
 
@@ -106,7 +114,7 @@ stdenv.mkDerivation rec {
       supports most SWF v7 features and some SWF v8 and v9.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
new file mode 100644
index 00000000000..297da6738ee
--- /dev/null
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -0,0 +1,100 @@
+# Handbrake normally uses its own copies of the libraries it uses, for better
+# control over library patches.
+#
+# This derivation patches HB so it doesn't do that. The relevant patches
+# are added to the Nix packages and proposed upstream instead. In several cases
+# upstream already incorporated these patches.
+# This has the benefits of providing improvements to other packages,
+# making licenses more clear and reducing compile time/install size.
+#
+# For compliance, the unfree codec faac is optionally spliced out.
+#
+# Only tested on Linux
+#
+# TODO: package and use libappindicator
+
+{ stdenv, config, fetchurl,
+  python, pkgconfig, yasm,
+  autoconf, automake, libtool, m4,
+  libass, libsamplerate, fribidi, libxml2, bzip2,
+  libogg, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
+  lame, faac, ffmpeg, libdvdread, libdvdnav, libbluray,
+  mp4v2, mpeg2dec, x264, libmkv,
+  fontconfig, freetype,
+  glib, gtk, webkitgtk, intltool, libnotify,
+  gst_all_1, dbus_glib, udev,
+  useGtk ? true,
+  useWebKitGtk ? false # This prevents ghb from starting in my tests
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.9";
+  name = "handbrake-${version}";
+
+  # ToDo: doesn't work (yet)
+  allowUnfree = false; # config.allowUnfree or false;
+
+  buildInputsX = stdenv.lib.optionals useGtk [
+    glib gtk intltool libnotify
+    gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev
+  ] ++ stdenv.lib.optionals useWebKitGtk [ webkitgtk ];
+
+  # Did not test compiling with it
+  unfreeInputs = stdenv.lib.optional allowUnfree faac;
+
+  nativeBuildInputs = [ python pkgconfig yasm autoconf automake libtool m4 ];
+  buildInputs = [
+    fribidi fontconfig freetype
+    libass libsamplerate libxml2 bzip2
+    libogg libtheora libvorbis libdvdcss a52dec libmkv fdk_aac
+    lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264
+  ] ++ buildInputsX ++ unfreeInputs;
+
+
+  src = fetchurl {
+    name = "HandBrake-${version}.tar.bz2";
+    url = "http://handbrake.fr/rotation.php?file=HandBrake-${version}.tar.bz2";
+    sha256 = "1crmm1c32vx60jfl2bqzg59q4qqx6m83b08snp7h1njc21sdf7d7";
+  };
+
+  patches = stdenv.lib.optional (! allowUnfree) ./disable-unfree.patch;
+
+  preConfigure = ''
+    # Fake wget to prevent downloads
+    mkdir wget
+    echo "#!/bin/sh" > wget/wget
+    echo "echo ===== Not fetching \$*" >> wget/wget
+    echo "exit 1" >> wget/wget
+    chmod +x wget/wget
+    export PATH=$PATH:$PWD/wget
+
+    # Force using nixpkgs dependencies
+    sed -i '/MODULES += contrib/d' make/include/main.defs
+    sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules
+
+    # disable faac if non-free
+    if [ -z "$allowUnfree" ]; then
+      rm libhb/encfaac.c
+    fi
+  '';
+
+  configureFlags = "--enable-fdk-aac ${if useGtk then "--disable-gtk-update-checks" else "--disable-gtk"}";
+
+  preBuild = ''
+    cd build
+  '';
+
+  meta = {
+    homepage = http://handbrake.fr/;
+    description = "A tool for ripping DVDs into video files";
+    longDescription = ''
+      Handbrake is a versatile transcoding DVD ripper. This package
+      provides the cli HandbrakeCLI and the GTK+ version ghb.
+      The faac library is disabled if you're compiling free-only.
+    '';
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
+    # Not tested on anything else
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/handbrake/disable-unfree.patch b/pkgs/applications/video/handbrake/disable-unfree.patch
new file mode 100644
index 00000000000..30edcb81c09
--- /dev/null
+++ b/pkgs/applications/video/handbrake/disable-unfree.patch
@@ -0,0 +1,101 @@
+diff -ru HandBrake-0.9.9-orig/gtk/configure.ac HandBrake-0.9.9/gtk/configure.ac
+--- HandBrake-0.9.9-orig/gtk/configure.ac	2014-05-02 22:50:00.047305795 +0200
++++ HandBrake-0.9.9/gtk/configure.ac	2014-05-02 22:48:57.119304020 +0200
+@@ -203,7 +203,7 @@
+     ;;
+ esac
+ 
+-HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
++HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
+ 
+ if test "x$use_fdk_aac" = "xyes" ; then
+     HB_LIBS+=" -lfdk-aac"
+diff -ru HandBrake-0.9.9-orig/gtk/src/preset_xlat.c HandBrake-0.9.9/gtk/src/preset_xlat.c
+--- HandBrake-0.9.9-orig/gtk/src/preset_xlat.c	2014-05-02 22:50:00.043305794 +0200
++++ HandBrake-0.9.9/gtk/src/preset_xlat.c	2014-05-02 22:42:20.987292846 +0200
+@@ -260,7 +260,6 @@
+ 
+ static value_map_t acodec_xlat[] =
+ {
+-    {"AAC (faac)", "faac"},
+     {"AC3 Passthru", "ac3"},
+     {"MP3 (lame)", "lame"},
+     {"Vorbis (vorbis)", "vorbis"},
+diff -ru HandBrake-0.9.9-orig/gtk/src/presets.c HandBrake-0.9.9/gtk/src/presets.c
+--- HandBrake-0.9.9-orig/gtk/src/presets.c	2014-05-02 22:50:00.043305794 +0200
++++ HandBrake-0.9.9/gtk/src/presets.c	2014-05-02 22:42:41.283293419 +0200
+@@ -2029,8 +2029,6 @@
+ 
+ static value_map_t acodec_xlat_compat[] =
+ {
+-    {"AAC (CoreAudio)", "faac"},
+-    {"HE-AAC (CoreAudio)", "faac"},
+     {"AC3 (ffmpeg)", "ac3"},
+     {"AC3", "ac3"},
+     {"MP3 Passthru", "mp3pass"},
+diff -ru HandBrake-0.9.9-orig/libhb/common.c HandBrake-0.9.9/libhb/common.c
+--- HandBrake-0.9.9-orig/libhb/common.c	2014-05-02 22:50:00.047305795 +0200
++++ HandBrake-0.9.9/libhb/common.c	2014-05-02 22:37:24.679284489 +0200
+@@ -126,7 +126,6 @@
+     { "AAC (CoreAudio)",    "ca_aac",     HB_ACODEC_CA_AAC,       HB_MUX_MP4|HB_MUX_MKV },
+     { "HE-AAC (CoreAudio)", "ca_haac",    HB_ACODEC_CA_HAAC,      HB_MUX_MP4|HB_MUX_MKV },
+ #endif
+-    { "AAC (faac)",         "faac",       HB_ACODEC_FAAC,         HB_MUX_MP4|HB_MUX_MKV },
+ #ifdef USE_FDK_AAC
+     { "AAC (FDK)",          "fdk_aac",    HB_ACODEC_FDK_AAC,      HB_MUX_MP4|HB_MUX_MKV },
+     { "HE-AAC (FDK)",       "fdk_haac",   HB_ACODEC_FDK_HAAC,     HB_MUX_MP4|HB_MUX_MKV },
+diff -ru HandBrake-0.9.9-orig/libhb/common.h HandBrake-0.9.9/libhb/common.h
+--- HandBrake-0.9.9-orig/libhb/common.h	2014-05-02 22:50:00.047305795 +0200
++++ HandBrake-0.9.9/libhb/common.h	2014-05-02 22:39:37.839288245 +0200
+@@ -945,7 +945,6 @@
+ extern hb_work_object_t hb_decavcodeca;
+ extern hb_work_object_t hb_decavcodecv;
+ extern hb_work_object_t hb_declpcm;
+-extern hb_work_object_t hb_encfaac;
+ extern hb_work_object_t hb_enclame;
+ extern hb_work_object_t hb_encvorbis;
+ extern hb_work_object_t hb_muxer;
+diff -ru HandBrake-0.9.9-orig/libhb/hb.c HandBrake-0.9.9/libhb/hb.c
+--- HandBrake-0.9.9-orig/libhb/hb.c	2014-05-02 22:50:00.047305795 +0200
++++ HandBrake-0.9.9/libhb/hb.c	2014-05-02 22:39:02.287287242 +0200
+@@ -487,7 +487,6 @@
+ 	hb_register( &hb_decavcodeca );
+ 	hb_register( &hb_decavcodecv );
+ 	hb_register( &hb_declpcm );
+-	hb_register( &hb_encfaac );
+ 	hb_register( &hb_enclame );
+ 	hb_register( &hb_encvorbis );
+ 	hb_register( &hb_muxer );
+@@ -588,7 +587,6 @@
+ 	hb_register( &hb_decavcodeca );
+ 	hb_register( &hb_decavcodecv );
+ 	hb_register( &hb_declpcm );
+-	hb_register( &hb_encfaac );
+ 	hb_register( &hb_enclame );
+ 	hb_register( &hb_encvorbis );
+ 	hb_register( &hb_muxer );
+diff -ru HandBrake-0.9.9-orig/libhb/module.defs HandBrake-0.9.9/libhb/module.defs
+--- HandBrake-0.9.9-orig/libhb/module.defs	2014-05-02 22:50:00.047305795 +0200
++++ HandBrake-0.9.9/libhb/module.defs	2014-05-02 22:39:25.727287903 +0200
+@@ -95,7 +95,7 @@
+ LIBHB.lib = $(LIBHB.build/)hb.lib
+ 
+ LIBHB.dll.libs = $(foreach n, \
+-        a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
++        a52 ass avcodec avformat avutil avresample dvdnav dvdread \
+         fontconfig freetype mkv mpeg2 mp3lame mp4v2 \
+         ogg samplerate swscale theora vorbis vorbisenc x264 xml2 bluray, \
+         $(CONTRIB.build/)lib/lib$(n).a )
+Only in HandBrake-0.9.9: libhb-orig
+diff -ru HandBrake-0.9.9orig/test/module.defs HandBrake-0.9.9/test/module.defs
+--- HandBrake-0.9.9-orig/test/module.defs	2014-05-02 23:15:10.575348401 +0200
++++ HandBrake-0.9.9/test/module.defs	2014-05-02 23:17:00.523351502 +0200
+@@ -14,7 +14,7 @@
+ TEST.libs = $(LIBHB.a)
+ 
+ TEST.GCC.l = \
+-        a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
++        a52 ass avcodec avformat avutil avresample dvdnav dvdread \
+         fontconfig freetype fribidi mkv mpeg2 mp3lame mp4v2 ogg \
+         samplerate swscale theoraenc theoradec vorbis vorbisenc x264 \
+         bluray xml2 bz2 z
diff --git a/pkgs/applications/video/kazam/bug_1190693.patch b/pkgs/applications/video/kazam/bug_1190693.patch
new file mode 100644
index 00000000000..9f00c6b6079
--- /dev/null
+++ b/pkgs/applications/video/kazam/bug_1190693.patch
@@ -0,0 +1,14 @@
+=== modified file 'kazam/frontend/indicator.py'
+--- a/kazam/frontend/indicator.py	2013-01-26 01:53:53 +0000
++++ b/kazam/frontend/indicator.py	2013-06-13 18:18:37 +0000
+@@ -291,3 +291,9 @@
+         def start_recording(self):
+             logger.debug("Recording started.")
+             self.indicator.set_from_icon_name("kazam-recording")
++
++        def hide_it(self):
++            self.indicator.set_visible(False)
++
++        def show_it(self):
++            self.indicator.set_visible(True)
+
diff --git a/pkgs/applications/video/kazam/datadir.patch b/pkgs/applications/video/kazam/datadir.patch
new file mode 100644
index 00000000000..114d4228be2
--- /dev/null
+++ b/pkgs/applications/video/kazam/datadir.patch
@@ -0,0 +1,11 @@
+--- a/bin/kazam       2014-02-03 23:11:38.465614061 +0100
++++ b/bin/kazam-1     2014-02-03 23:12:28.447058700 +0100
+@@ -68,7 +68,7 @@
+         # when base install path is not /usr
+         curpath = os.path.abspath(__file__)
+         curpath = os.path.realpath(curpath)
+-        datadir = curpath.split('bin/')[0] + "share/kazam/"
++        datadir = os.path.realpath(os.path.join(curpath, "./../../", "share/kazam/"))
+ 
+     try:
+         import platform
diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix
new file mode 100644
index 00000000000..17bf282a459
--- /dev/null
+++ b/pkgs/applications/video/kazam/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, python3Packages, gst_all_1, makeWrapper, gobjectIntrospection
+, gtk3, libwnck3, keybinder, intltool, libcanberra }:
+
+
+python3Packages.buildPythonPackage rec {
+  name = "kazam-${version}";
+  version = "1.4.3";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://launchpad.net/kazam/stable/${version}/+download/kazam-${version}.tar.gz";
+    sha256 = "00bcn0yj9xrv87sf6xd3wpilsjgjpsj15zzpjh351ffpjnr0ica8";
+  };
+
+  # TODO: keybinder, appindicator3
+  buildInputs = with python3Packages;
+    [ pygobject3 pyxdg pycairo gst_all_1.gstreamer gst_all_1.gst-plugins-base
+      gst_all_1.gst-plugins-good gobjectIntrospection gtk3 libwnck3 distutils_extra
+      intltool dbus ];
+
+  # TODO: figure out why PYTHONPATH is not passed automatically for those programs
+  pythonPath = with python3Packages;
+    [ pygobject3 pyxdg pycairo dbus ];
+
+  patches = [ ./datadir.patch ./bug_1190693.patch ];
+  prePatch = ''
+    rm setup.cfg
+    substituteInPlace kazam/backend/grabber.py --replace "/usr/bin/canberra-gtk-play" "${libcanberra}/bin/canberra-gtk-play"
+  '';
+
+  # no tests
+  doCheck = false;
+
+  preFixup = ''
+    wrapProgram $out/bin/kazam \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix LD_LIBRARY_PATH ":" "${gtk3}/lib:${gst_all_1.gstreamer}/lib:${keybinder}/lib" \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share" \
+      --set GST_REGISTRY "/tmp/kazam.gstreamer.registry";
+  '';
+
+
+  meta = with stdenv.lib; {
+    description = "Cross-platform, Friend-2-Friend and secure decentralised communication platform";
+    homepage = https://code.launchpad.net/kazam;
+    #license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index d7fab74e6ca..8c51c4f35a3 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -1,28 +1,36 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon
-, mlt, gettext , qimageblitz, qjson, shared_mime_info, soprano
-, pkgconfig, shared_desktop_ontologies, libv4l }:
+{ stdenv, fetchurl, frei0r, lib, cmake, qt4, perl, kdelibs, automoc4
+, phonon , makeWrapper, mlt, gettext , qimageblitz, qjson
+, shared_mime_info, soprano, pkgconfig, shared_desktop_ontologies
+, libv4l
+}:
 
 stdenv.mkDerivation rec {
   name = "kdenlive-${version}";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "mirror://kde/stable/kdenlive/${version}/src/${name}.tar.bz2";
-    sha256 = "1rw2cbzy5mabwijvryyzbhpgldn2zy5jy4j87hl4m1i8ah9lgi7x";
+    sha256 = "17x5srgywcwlbpbs598jwwc62l8313n4dbqx3sdk7p6lyvwk3jln";
   };
 
-  buildInputs =
-    [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext qimageblitz
-      qjson shared_mime_info soprano pkgconfig shared_desktop_ontologies libv4l
-    ];
+  buildInputs = [
+    automoc4 cmake frei0r gettext kdelibs libv4l makeWrapper mlt perl
+    phonon pkgconfig qimageblitz qjson qt4 shared_desktop_ontologies
+    shared_mime_info soprano
+  ];
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    wrapProgram $out/bin/kdenlive --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+    wrapProgram $out/bin/kdenlive_render  --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
   meta = {
     description = "Free and open source video editor";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.kdenlive.org/;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ goibhniu viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
index 7d0256ae455..cb00ac81384 100644
--- a/pkgs/applications/video/key-mon/default.nix
+++ b/pkgs/applications/video/key-mon/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   name = "key-mon-${version}";
-  version = "1.13";
+  version = "1.16";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://key-mon.googlecode.com/files/${name}.tar.gz";
-    sha256 = "02h7lcnyqwyqsycd1vlvl11ms81v0zmr9p0pfyl5gmzry9dj7imj";
+    sha256 = "1pfki1fyh3q29sj6kq1chhi1h2v9ki6sp09qyww59rjraypvzsis";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/applications/video/kino/default.nix b/pkgs/applications/video/kino/default.nix
index 30e0bdfb197..16bd57bef34 100644
--- a/pkgs/applications/video/kino/default.nix
+++ b/pkgs/applications/video/kino/default.nix
@@ -87,6 +87,6 @@ stdenv.mkDerivation {
   meta = { 
       description = "Kino is a non-linear DV editor for GNU/Linux";
       homepage = http://www.kinodv.org/;
-      license = "GPL2";
+      license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/lxdvdrip/default.nix b/pkgs/applications/video/lxdvdrip/default.nix
index 9323a1cbd32..6e7b874841f 100644
--- a/pkgs/applications/video/lxdvdrip/default.nix
+++ b/pkgs/applications/video/lxdvdrip/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libdvdread }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "lxdvdrip-1.76";
 
   src = fetchurl {
-    url = http://download.berlios.de/lxdvdrip/lxdvdrip-1.76.tgz;
+    url = "mirror://sourceforge/lxdvdrip/${name}.tgz";
     sha256 = "0vgslc7dapfrbgslnaicc8bggdccyrvcgjv1dwi19qswhh7jkzj6";
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = { 
     description = "Command line tool to make a copy from a video DVD for private use";
-    homepage = http://lxdvdrip.berlios.de/;
-    license = "GPLv2";
+    homepage = http://sourceforge.net/projects/lxdvdrip;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/makemkv/builder.sh b/pkgs/applications/video/makemkv/builder.sh
index 0e1898a4556..e4cfcf3d906 100644
--- a/pkgs/applications/video/makemkv/builder.sh
+++ b/pkgs/applications/video/makemkv/builder.sh
@@ -30,9 +30,9 @@ for i in ${bin} ; do
     ${i}
 done 
 
-ensureDir $out/bin
-ensureDir $out/lib
-ensureDir $out/share/MakeMKV
+mkdir -p $out/bin
+mkdir -p $out/lib
+mkdir -p $out/share/MakeMKV
 cp ${lib} ${out}/lib
 cp ${bin} ${out}/bin
 cp makemkv-bin-${ver}/src/share/* $out/share/MakeMKV
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index 43482bd9762..bec9d85aefd 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       can always download the latest version from makemkv.com that will reset the
       expiration date.
     '';
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     homepage = http://makemkv.com;
   };
 }
diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix
index 5ca6c80dc7c..7572bedc1e0 100644
--- a/pkgs/applications/video/miro/default.nix
+++ b/pkgs/applications/video/miro/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, python, buildPythonPackage, pythonPackages, pkgconfig
-, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkit_gtk2, libsoup, pygtk
+, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk
 , taglib, pysqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
-, libtorrentRasterbar
+, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
 , gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
 }:
 
@@ -22,8 +22,7 @@ buildPythonPackage rec {
   patches = [ ./gconf.patch ];
 
   postPatch = ''
-    sed -i -e '2i import os; os.environ["GST_PLUGIN_PATH"] = \\\
-      '"'$GST_PLUGIN_PATH'" miro.real
+    patch -p1 -d .. < "${./youtube-feeds.patch}"
 
     sed -i -e 's/\$(shell which python)/python/' Makefile
     sed -i -e 's|/usr/bin/||' -e 's|/usr||' \
@@ -40,10 +39,6 @@ buildPythonPackage rec {
            plat/resources.py
   '';
 
-  installCommand = ''
-    python setup.py install --prefix= --root="$out"
-  '';
-
   # Disabled for now, because it requires networking and even if we skip those
   # tests, the whole test run takes around 10-20 minutes.
   doCheck = false;
@@ -51,13 +46,23 @@ buildPythonPackage rec {
     HOME="$TEMPDIR" LANG=en_US.UTF-8 python miro.real --unittest
   '';
 
+  preInstall = ''
+    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+    ${python}/bin/${python.executable} setup.py install_data --root=$out
+    sed -i '/data_files=data_files/d' setup.py
+  '';
+
   postInstall = ''
     mv "$out/bin/miro.real" "$out/bin/miro"
+    wrapProgram "$out/bin/miro" \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
+      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
   '';
 
   buildInputs = [
-    pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkit_gtk2 libsoup
-    pygtk taglib
+    pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup
+    pygtk taglib gsettings_desktop_schemas
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/miro/youtube-feeds.patch b/pkgs/applications/video/miro/youtube-feeds.patch
new file mode 100644
index 00000000000..1527fa6a5b6
--- /dev/null
+++ b/pkgs/applications/video/miro/youtube-feeds.patch
@@ -0,0 +1,15 @@
+diff --git a/lib/flashscraper.py b/lib/flashscraper.py
+index 323dbe4..d203b78 100644
+--- a/lib/flashscraper.py
++++ b/lib/flashscraper.py
+@@ -134,9 +134,7 @@ def _youtube_callback_step2(info, video_id, callback):
+         # strip url= from url=xxxxxx, strip trailer.  Strip duplicate params.
+         for fmt, stream_map_data in zip(fmt_list, stream_map):
+             stream_map = cgi.parse_qs(stream_map_data)
+-            url_base = stream_map['url'][0]
+-            sig_part = '&signature=' + stream_map['sig'][0]
+-            fmt_url_map[fmt] = url_base + sig_part
++            fmt_url_map[fmt] = stream_map['url'][0]
+ 
+         title = params.get("title", ["No title"])[0]
+         try:
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 7d2eb514c94..ed64448c13a 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mkvtoolnix-6.2.0";
+  name = "mkvtoolnix-6.5.0";
 
   src = fetchurl {
     url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
-    sha256 = "0864vmdcnfwk5cb2fv1y60yvp9kqcyaqxwbvy4nsj7bzwv1iqysn";
+    sha256 = "0a3h878bsjbpb2r7b528xzyqzl8r82yhrniry9bnhmw7rcl53bd8";
   };
 
   buildInputs = [ libmatroska flac libvorbis file boost xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 6d8780d6cf4..07bcb26569e 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, freetype, yasm
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
+, fribidiSupport ? true, fribidi ? null
 , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null
 , xineramaSupport ? true, libXinerama ? null
 , xvSupport ? true, libXv ? null
@@ -15,7 +16,7 @@
 , speexSupport ? true, speex ? null
 , theoraSupport ? true, libtheora ? null
 , x264Support ? false, x264 ? null
-, jackaudioSupport ? false, jackaudio ? null
+, jackaudioSupport ? false, jack2 ? null
 , pulseSupport ? false, pulseaudio ? null
 , bs2bSupport ? false, libbs2b ? null
 # For screenshots
@@ -25,6 +26,7 @@
 
 assert fontconfigSupport -> (fontconfig != null);
 assert (!fontconfigSupport) -> (freefont_ttf != null);
+assert fribidiSupport -> (fribidi != null);
 assert x11Support -> (libX11 != null && libXext != null && mesa != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
 assert xvSupport -> (libXv != null && x11Support);
@@ -40,7 +42,7 @@ assert lameSupport -> lame != null;
 assert speexSupport -> speex != null;
 assert theoraSupport -> libtheora != null;
 assert x264Support -> x264 != null;
-assert jackaudioSupport -> jackaudio != null;
+assert jackaudioSupport -> jack2 != null;
 assert pulseSupport -> pulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
@@ -72,13 +74,13 @@ let
       cp -prv * $out
     '';
 
-    meta.license = "unfree";
+    meta.license = stdenv.lib.licenses.unfree;
   } else null;
 
 in
 
 stdenv.mkDerivation rec {
-  name = "mplayer-1.1";
+  name = "mplayer-1.1.1";
 
   src = fetchurl {
     # Old kind of URL:
@@ -89,8 +91,8 @@ stdenv.mkDerivation rec {
     #url = http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2;
     #sha256 = "cc1b3fda75b172f02c3f46581cfb2c17f4090997fe9314ad046e464a76b858bb";
 
-    url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.tar.xz";
-    sha256 = "173cmsfz7ckzy1hay9mpnc5as51127cfnxl20b521d2jvgm4gjvn";
+    url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.1.tar.xz";
+    sha256 = "ce8fc7c3179e6a57eb3a58cb7d1604388756b8a61764cc93e095e7aff3798c76";
   };
 
   prePatch = ''
@@ -100,6 +102,7 @@ stdenv.mkDerivation rec {
   buildInputs = with stdenv.lib;
     [ pkgconfig freetype ]
     ++ optional fontconfigSupport fontconfig
+    ++ optional fribidiSupport fribidi
     ++ optionals x11Support [ libX11 libXext mesa ]
     ++ optional alsaSupport alsaLib
     ++ optional xvSupport libXv
@@ -109,7 +112,7 @@ stdenv.mkDerivation rec {
     ++ optional dvdnavSupport libdvdnav
     ++ optional bluraySupport libbluray
     ++ optional cddaSupport cdparanoia
-    ++ optional jackaudioSupport jackaudio
+    ++ optional jackaudioSupport jack2
     ++ optionals amrSupport [ amrnb amrwb ]
     ++ optional x264Support x264
     ++ optional pulseSupport pulseaudio
@@ -150,6 +153,7 @@ stdenv.mkDerivation rec {
       ${if pulseSupport then "--enable-pulse" else "--disable-pulse"}
       ${optionalString (useUnfreeCodecs && codecs != null) "--codecsdir=${codecs}"}
       ${optionalString (stdenv.isi686 || stdenv.isx86_64) "--enable-runtime-cpudetection"}
+      ${optionalString fribidiSupport "--enable-fribidi"}
       --disable-xanim
       --disable-ivtv
       --disable-xvid --disable-xvid-lavc
@@ -160,6 +164,7 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = with stdenv.lib;
        optional  fontconfigSupport "-lfontconfig"
+    ++ optional  fribidiSupport "-lfribidi"
     ++ optionals x11Support [ "-lX11" "-lXext" ]
     ;
 
diff --git a/pkgs/applications/video/mplayer2/default.nix b/pkgs/applications/video/mplayer2/default.nix
index 24f53884e39..d8ada6372b1 100644
--- a/pkgs/applications/video/mplayer2/default.nix
+++ b/pkgs/applications/video/mplayer2/default.nix
@@ -10,7 +10,7 @@
 , bluraySupport ? true, libbluray ? null
 , speexSupport ? true, speex ? null
 , theoraSupport ? true, libtheora ? null
-, jackaudioSupport ? false, jackaudio ? null
+, jackaudioSupport ? false, jack2 ? null
 , pulseSupport ? true, pulseaudio ? null
 , bs2bSupport ? false, libbs2b ? null
 # For screenshots
@@ -28,7 +28,7 @@ assert dvdnavSupport -> libdvdnav != null;
 assert bluraySupport -> libbluray != null;
 assert speexSupport -> speex != null;
 assert theoraSupport -> libtheora != null;
-assert jackaudioSupport -> jackaudio != null;
+assert jackaudioSupport -> jack2 != null;
 assert pulseSupport -> pulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
@@ -60,18 +60,18 @@ let
       cp -prv * $out
     '';
 
-    meta.license = "unfree";
+    meta.license = stdenv.lib.licenses.unfree;
   } else null;
 
 in
 
 stdenv.mkDerivation rec {
-  name = "mplayer2-20130130";
+  name = "mplayer2-20130428";
 
   src = fetchgit {
     url = "git://git.mplayer2.org/mplayer2.git";
-    rev = "d3c580156c0b8777ff082426ebd61bb7ffe0c225";
-    sha256 = "1akf2mb2zklz609ks555vjvcs1gw8nwg5kbb9jwra8c4v1dfyhys";
+    rev = "6c87a981baa4972fd71c25dfddea017b5a972e89";
+    sha256 = "b09c1331141dd0939dfa424ae14dc0bdf82c8a72bb32c78e3ad15e3ee1d2c851";
   };
 
   prePatch = ''
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
     ++ optional xineramaSupport libXinerama
     ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
     ++ optional bluraySupport libbluray
-    ++ optional jackaudioSupport jackaudio
+    ++ optional jackaudioSupport jack2
     ++ optional pulseSupport pulseaudio
     ++ optional screenSaverSupport libXScrnSaver
     ++ optional vdpauSupport libvdpau
@@ -130,7 +130,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A movie player that supports many video formats (MPlayer fork)";
     homepage = "http://mplayer2.org";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
new file mode 100644
index 00000000000..4eec9afdbf3
--- /dev/null
+++ b/pkgs/applications/video/mpv/default.nix
@@ -0,0 +1,132 @@
+{ stdenv, fetchurl, fetchgit, freetype, pkgconfig, freefont_ttf, ffmpeg, libass
+, lua, perl, libpthreadstubs
+, lua5_sockets
+, python3, docutils, which
+, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null
+, xineramaSupport ? true, libXinerama ? null
+, xvSupport ? true, libXv ? null
+, sdl2Support? true, SDL2 ? null
+, alsaSupport ? true, alsaLib ? null
+, screenSaverSupport ? true, libXScrnSaver ? null
+, vdpauSupport ? true, libvdpau ? null
+, dvdreadSupport? true, libdvdread ? null
+, dvdnavSupport ? true, libdvdnav ? null
+, bluraySupport ? true, libbluray ? null
+, speexSupport ? true, speex ? null
+, theoraSupport ? true, libtheora ? null
+, jackaudioSupport ? true, jack2 ? null
+, pulseSupport ? true, pulseaudio ? null
+, bs2bSupport ? false, libbs2b ? null
+# For screenshots
+, libpngSupport ? true, libpng ? null
+# for Youtube support
+, quviSupport? false, libquvi ? null
+, cacaSupport? false, libcaca ? null
+}:
+
+assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
+assert xineramaSupport -> (libXinerama != null && x11Support);
+assert xvSupport -> (libXv != null && x11Support);
+assert sdl2Support -> SDL2 != null;
+assert alsaSupport -> alsaLib != null;
+assert screenSaverSupport -> libXScrnSaver != null;
+assert vdpauSupport -> libvdpau != null;
+assert dvdreadSupport -> libdvdread != null;
+assert dvdnavSupport -> libdvdnav != null;
+assert bluraySupport -> libbluray != null;
+assert speexSupport -> speex != null;
+assert theoraSupport -> libtheora != null;
+assert jackaudioSupport -> jack2 != null;
+assert pulseSupport -> pulseaudio != null;
+assert bs2bSupport -> libbs2b != null;
+assert libpngSupport -> libpng != null;
+assert quviSupport -> libquvi != null;
+assert cacaSupport -> libcaca != null;
+
+# Purity problem: Waf needed to be is downloaded by bootstrap.py
+# but by purity reasons it should be avoided; thanks the-kenny to point it out!
+# Now, it will just download and package Waf, mimetizing bootstrap.py behaviour
+
+let
+  waf = fetchurl {
+    url = https://waf.googlecode.com/files/waf-1.7.15;
+    sha256 = "e5ae7028f9b2d8ce1acb9fe1092e8010a90ba764d3ac065ea4e846743290b1d6";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "mpv-${version}";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
+    sha256 = "0wqjyzw3kk854zj263k7jyykzfaz1g27z50aqrd26hylg8k135cn";
+  };
+
+  buildInputs = with stdenv.lib;
+    [ waf freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
+    ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
+    ++ optional alsaSupport alsaLib
+    ++ optional xvSupport libXv
+    ++ optional theoraSupport libtheora
+    ++ optional xineramaSupport libXinerama
+    ++ optional dvdreadSupport libdvdread
+    ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
+    ++ optional bluraySupport libbluray
+    ++ optional jackaudioSupport jack2
+    ++ optional pulseSupport pulseaudio
+    ++ optional screenSaverSupport libXScrnSaver
+    ++ optional vdpauSupport libvdpau
+    ++ optional speexSupport speex
+    ++ optional bs2bSupport libbs2b
+    ++ optional libpngSupport libpng
+    ++ optional quviSupport libquvi
+    ++ optional sdl2Support SDL2
+    ++ optional cacaSupport libcaca
+    ;
+
+  nativeBuildInputs = [ python3 lua perl ];
+
+
+# There are almost no need of "configure flags", but some libraries
+# weren't detected; see the TODO comments below
+
+  NIX_LDFLAGS = stdenv.lib.optionalString x11Support "-lX11 -lXext";
+
+  enableParallelBuilding = true;
+
+  configurePhase = ''
+    python3 ${waf} configure --prefix=$out
+    patchShebangs TOOLS
+  '';
+
+  buildPhase = ''
+    python3 ${waf} build
+  '';
+
+  installPhase = ''
+    python3 ${waf} install
+    # Maybe not needed, but it doesn't hurt anyway: a standard font
+    mkdir -p $out/share/mpv
+    ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
+    '';
+
+  meta = {
+    description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)";
+    longDescription = ''
+    mpv is a free and open-source general-purpose video player, based on the MPlayer and mplayer2 projects, with great improvements above both.
+    '';
+    homepage = "http://mpv.io";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
+# Heavily based on mplayer2 expression
+
+# TODO: Wayland support
+# TODO: investigate libquvi support
+# TODO: investigate caca support
+# TODO: investigate lua5_sockets bug
diff --git a/pkgs/applications/video/ogmtools/default.nix b/pkgs/applications/video/ogmtools/default.nix
index 11a16e3a79d..82077e4d3dd 100644
--- a/pkgs/applications/video/ogmtools/default.nix
+++ b/pkgs/applications/video/ogmtools/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       tool for extracting chapter information from DVD.
     '';
     homepage = http://www.bunkus.org/videotools/ogmtools/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix
index b3880067cac..3add2646ad9 100644
--- a/pkgs/applications/video/omxplayer/default.nix
+++ b/pkgs/applications/video/omxplayer/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
     export INCLUDES="-I${raspberrypifw}/include/interface/vcos/pthreads -I${raspberrypifw}/include/interface/vmcs_host/linux/"
   '';
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp omxplayer.bin $out/bin
   '';
   buildInputs = [ raspberrypifw ffmpeg pcre boostHeaders freetype zlib ];
@@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://github.com/huceke/omxplayer;
     description = "Commandline OMX player for the Raspberry Pi";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
new file mode 100644
index 00000000000..7f53aa07db6
--- /dev/null
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper
+, pythonPackages, gst, clutter-gst, clutter-gtk
+, gobjectIntrospection, clutter, gtk3, librsvg
+, gnome_icon_theme, gnome_icon_theme_symbolic, gnome3
+}:
+
+let
+  version = "0.93";
+in stdenv.mkDerivation rec {
+  name = "pitivi-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
+    sha256 = "0z89dwrd7akhkap270i372yszqib8yqcymv78lhdmn3a8bsa7jhp";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Non-Linear video editor utilizing the power of GStreamer";
+    homepage    = "http://pitivi.org/";
+    longDescription = ''
+      Pitivi is a video editor built upon the GStreamer Editing Services.
+      It aims to be an intuitive and flexible application
+      that can appeal to newbies and professionals alike.
+    '';
+    license     = licenses.lgpl21Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
+
+  buildInputs = [
+    gobjectIntrospection clutter-gst clutter-gtk librsvg
+  ] ++ (with gst; [
+    gst-python gst-editing-services
+    gst-plugins-base gst-plugins-good
+    gst-plugins-bad gst-plugins-ugly gst-libav
+  ]) ++ (with pythonPackages; [
+    python pygobject3 pyxdg numpy pycairo sqlite3
+  ]);
+
+  preFixup = with stdenv.lib; with gst; let
+    libraryPath = makeLibraryPath [
+      gstreamer gst-editing-services
+      clutter-gst clutter-gtk clutter gtk3
+      gnome3.gnome_desktop
+    ];
+  in ''
+    wrapProgram "$out/bin/pitivi" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix LD_LIBRARY_PATH : "${libraryPath}" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix XDG_DATA_DIRS : "\$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+}
diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix
index 49207ad0661..0fdd78fe106 100644
--- a/pkgs/applications/video/quvi/library.nix
+++ b/pkgs/applications/video/quvi/library.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts}:
+{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libproxy, libgcrypt}:
 
 stdenv.mkDerivation rec {
   name = "libquvi-${version}";
-  version="0.4.0";
+  version="0.9.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/quvi/libquvi-${version}.tar.gz";
-    sha256 = "15cm9j8dssn2zhplqvlw49piwfw511lia6b635byiwfniqf6dnwp";
+    url = "mirror://sourceforge/quvi/libquvi-${version}.tar.xz";
+    sha256 = "1cl1kbgxl1jnx2nwx4z90l0lap09lnnj1fg7hxsxk3m6aj4y4grd";
   };
 
-  buildInputs = [ pkgconfig lua5 curl quvi_scripts ];
+  buildInputs = [ pkgconfig lua5 curl quvi_scripts libproxy libgcrypt ];
 
   meta = { 
     description = "Web video downloader";
diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix
index cc82158ae82..68b61fc453d 100644
--- a/pkgs/applications/video/quvi/scripts.nix
+++ b/pkgs/applications/video/quvi/scripts.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "quvi-scripts-${version}";
-  version="0.4.0";
+  version="0.9.20131130";
 
   src = fetchurl {
-    url = "mirror://sourceforge/quvi/libquvi-scripts-${version}.tar.gz";
-    sha256 = "14p1sn7id4n35isaw3i3h8vsgfqlym09fih9k5xfqwsg6n7xdvq5";
+    url = "mirror://sourceforge/quvi/libquvi-scripts-${version}.tar.xz";
+    sha256 = "1qvp6z5k1qgcys7vf7jd6fm0g07xixmciwj14ypn1kqhmjgizwhp";
   };
 
   buildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix
index f8b6aad4310..29bb439dcf6 100644
--- a/pkgs/applications/video/quvi/tool.nix
+++ b/pkgs/applications/video/quvi/tool.nix
@@ -1,22 +1,24 @@
-{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libquvi}:
+{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libquvi, lua5_sockets, glib, makeWrapper}:
 
 stdenv.mkDerivation rec {
   name = "quvi-${version}";
-  version="0.4.0";
+  version="0.9.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/quvi/quvi-${version}.tar.gz";
-    sha256 = "0qzyj55py4z7pg97794jjycq8nvrlr02072rgjzg8jgknw49hgfv";
+    url = "mirror://sourceforge/quvi/quvi-${version}.tar.xz";
+    sha256 = "1h52s265rp3af16dvq1xlscp2926jqap2l4ah94vrfchv6m1hffb";
   };
 
-  buildInputs = [ pkgconfig lua5 curl quvi_scripts libquvi ];
+  buildInputs = [ pkgconfig lua5 curl quvi_scripts libquvi glib makeWrapper ];
+  postInstall = ''
+      wrapProgram $out/bin/quvi --set LUA_PATH "${lua5_sockets}/share/lua/${lua5.luaversion}/?.lua"
+  '';
 
-  meta = { 
+  meta = {
     description = "Web video downloader";
     homepage = http://quvi.sf.net;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ]; 
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
-
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
new file mode 100644
index 00000000000..51baa32f61e
--- /dev/null
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, SDL, frei0r, gettext, makeWrapper, mlt, pkgconfig, qt5 }:
+
+stdenv.mkDerivation rec {
+  name = "shotcut-${version}";
+  version = "14.08";
+
+  src = fetchurl {
+    url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
+    sha256 = "0klcvpgp2l6xcdjy1gg7a5s8mx0mm347zdf26q6kk685pldlvkyj";
+  };
+
+  buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qt5 ];
+
+  configurePhase = "qmake PREFIX=$out";
+
+  postInstall = ''
+    mkdir -p $out/share/shotcut
+    cp -r src/qml $out/share/shotcut/
+    wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free, open source, cross-platform video editor";
+    longDescription = ''
+      An offical binary for Shotcut, which includes all the
+      dependencies pinned to specific versions, is provided on
+      http://shotcut.org.
+
+      If you encounter problems with this version, please contact the
+      nixpkgs maintainer(s). If you wish to report any bugs upstream,
+      please use the official build from shotcut.org instead.
+    '';
+    homepage = http://shotcut.org;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
new file mode 100644
index 00000000000..4c58262a5f1
--- /dev/null
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, alsaLib, ffmpeg, jack2, libX11, libXext
+, libXfixes, mesa, pkgconfig, pulseaudio, qt4
+}:
+
+stdenv.mkDerivation rec {
+  name = "simplescreenrecorder-${version}";
+  version = "0.3.0";
+
+  src = fetchurl {
+    url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
+    sha256 = "0caal8jq47d56ld57cdf2lr1ji350v09j5chgvgxv2pbqmqga4p5";
+  };
+
+  buildInputs = [
+    alsaLib ffmpeg jack2 libX11 libXext libXfixes mesa pkgconfig
+    pulseaudio qt4
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A screen recorder for Linux";
+    homepage = http://www.maartenbaert.be/simplescreenrecorder;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index ab48d74c00d..8bd5b7c6160 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-0.8.5";
+  name = "smplayer-0.8.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "0vbfvaqg5c25vabq1mf9xg6kzgvxnpd0i172y1gjznnlpcw2fxrw";
+    sha256 = "1p70929j8prc4mgqxvsbcjxy8zwp4r9jk0mp0iddxl7vfyck74g0";
   };
 
   buildInputs = [ qt4 ];
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
new file mode 100644
index 00000000000..c1c11357ca0
--- /dev/null
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, desktop_file_utils, enchant, gnome, gstreamer, gstreamermm,
+  gst_plugins_base, gst_plugins_good, intltool, hicolor_icon_theme,
+  libsigcxx, libxmlxx, makeWrapper, xdg_utils, pkgconfig } :
+
+let
+  ver_maj = "0.41";
+  ver_min = "0";
+in
+
+stdenv.mkDerivation rec {
+  name = "subtitle-editor-${ver_maj}.${ver_min}";
+
+  buildInputs =  [
+    desktop_file_utils enchant gnome.gtk gnome.gtkmm gstreamer gstreamermm
+    gst_plugins_base gst_plugins_good intltool hicolor_icon_theme libsigcxx libxmlxx
+    makeWrapper xdg_utils pkgconfig
+  ];
+
+  src = fetchurl {
+    url = "http://download.gna.org/subtitleeditor/${ver_maj}/subtitleeditor-${ver_maj}.${ver_min}.tar.gz";
+    md5 = "3c21ccd8296001dcb1a02c62396db1b6";
+  };
+
+  doCheck = true;
+
+  postInstall = ''
+    wrapProgram "$out/bin/subtitleeditor" --prefix \
+      GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"                                                     \
+  '';
+
+
+  meta = {
+    description = "GTK+2 application to edit video subtitles";
+    longDescription = ''
+      Subtitle Editor is a GTK+2 tool to edit subtitles for GNU/Linux/*BSD. It can be
+      used for new subtitles or as a tool to transform, edit, correct and refine
+      existing subtitle. This program also shows sound waves, which makes it easier
+      to synchronise subtitles to voices.
+      '';
+    homepage = http://home.gna.org/subtitleeditor;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = stdenv.lib.maintainers.plcplc;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/tvtime/default.nix b/pkgs/applications/video/tvtime/default.nix
index eef6e9caf16..2ec5e813c41 100644
--- a/pkgs/applications/video/tvtime/default.nix
+++ b/pkgs/applications/video/tvtime/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 3d48b296ad9..71db3d40a46 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -1,30 +1,31 @@
 { stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray
 , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
-, pkgconfig, dbus, fribidi, qt4, freefont_ttf
+, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska
 , libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
 , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
-, mpeg2dec, udev, gnutls, avahi, libcddb, jackaudio, SDL, SDL_image
+, mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image
 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
 , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
+, libvdpau
 }:
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.1.0";
+  version = "2.1.5";
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
-    sha256 = "1xs1zsjip6ljqyy5jlqf14ncda4pjx166bqvjqgcyskq66m7s5yj";
+    sha256 = "0whzbn7ahn5maarcwl1yhk9lq10b0q0y9w5pjl9kh3frdjmncrbg";
   };
 
   buildInputs =
     [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
       libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt
       libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
-      udev gnutls avahi libcddb jackaudio SDL SDL_image libmtp unzip taglib
+      udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib
       libkate libtiger libv4l samba liboggz libass libdvbpsi libva
       xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
-      libdc1394 libraw1394 libopus
+      libdc1394 libraw1394 libopus libebml libmatroska libvdpau
     ];
 
   nativeBuildInputs = [ pkgconfig ];
@@ -33,6 +34,8 @@ stdenv.mkDerivation rec {
     [ "--enable-alsa"
       "--with-kde-solid=$out/share/apps/solid/actions"
       "--enable-dc1394"
+      "--enable-ncurses"
+      "--enable-vdpau"
     ];
 
   preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure'';
@@ -45,8 +48,10 @@ stdenv.mkDerivation rec {
       ${freefont_ttf}/share/fonts/truetype/FreeSerifBold.ttf
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Cross-platform media player and streaming server";
     homepage = http://www.videolan.org/vlc/;
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix
index 5f2e905efa0..63c1adb15e4 100644
--- a/pkgs/applications/video/xawtv/default.nix
+++ b/pkgs/applications/video/xawtv/default.nix
@@ -1,15 +1,31 @@
-{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, libXft, xproto, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
+{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xproto, libv4l
+, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
 
-stdenv.mkDerivation {
-  name = "xawtv-3.95";
+stdenv.mkDerivation rec {
+  name = "xawtv-3.103";
   src = fetchurl {
-    url = http://dl.bytesex.org/releases/xawtv/xawtv-3.95.tar.gz;
-    md5 = "ad25e03f7e128b318e392cb09f52207d";
+    url = "http://linuxtv.org/downloads/xawtv/${name}.tar.bz2";
+    sha256 = "0lnxr3xip80g0rz7h6n14n9d1qy0cm56h0g1hsyr982rbldskwrc";
   };
+
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${linux}/lib/modules/*/build/include)"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${linux}/lib/modules/${linux.modDirVersion}/build"
   '';
-  buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE perl xextproto];
-  patches = [./xawtv-3.95-libfs.patch ./xawtv-3.95-makefile.patch ./xawtv-3.95-page-mask.patch ];
+
+  configureFlags="--prefix=";
+  NIX_LDFLAGS="-lgcc_s";
+
+  makeFlags = "SUID_ROOT= DESTDIR=\$(out) PREFIX=";
+
+  buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS perl alsaLib aalib
+                 fontsproto libXaw libXpm libXext libSM libICE xextproto libv4l];
+
+  meta = {
+    description = "TV application for Linux with apps and tools such as a teletext browser";
+    license = stdenv.lib.licenses.gpl2;
+    homePage = https://www.kraxel.org/blog/linux/xawtv/;
+    maintainers = with stdenv.lib.maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
   
 }
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch b/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch
deleted file mode 100644
index 4555f105867..00000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ruN xawtv-3.95/console/fs.h xawtv-3.95.new/console/fs.h
---- xawtv-3.95/console/fs.h	2003-02-14 15:14:04.000000000 +0100
-+++ xawtv-3.95.new/console/fs.h	2006-01-03 22:16:06.000000000 +0100
-@@ -1,5 +1,5 @@
- #ifndef X_DISPLAY_MISSING
--# include <FSlib.h>
-+# include <X11/fonts/FSlib.h>
- 
- struct fs_font {
-     Font               font;
-diff -ruN xawtv-3.95/console/Subdir.mk xawtv-3.95.new/console/Subdir.mk
---- xawtv-3.95/console/Subdir.mk	2003-02-14 15:14:04.000000000 +0100
-+++ xawtv-3.95.new/console/Subdir.mk	2006-01-03 22:32:38.000000000 +0100
-@@ -74,7 +74,7 @@
- # libraries to link
- console/fbtv     : LDLIBS  += \
- 	$(THREAD_LIBS) $(CURSES_LIBS) $(LIRC_LIBS) $(ALSA_LIBS) \
--	$(FS_LIBS) -ljpeg -lm
-+	$(FS_LIBS) -ljpeg -lm -lFS
- console/ttv      : LDLIBS  += $(THREAD_LIBS) $(AA_LIBS) -ljpeg -lm
- console/scantv   : LDLIBS  += $(THREAD_LIBS) $(VBI_LIBS) -ljpeg
- console/streamer : LDLIBS  += $(THREAD_LIBS) -ljpeg -lm
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch b/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch
deleted file mode 100644
index 271bb4c7e5c..00000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ruN xawtv-3.95/Makefile.in xawtv-3.95.new/Makefile.in
---- xawtv-3.95/Makefile.in	2004-04-22 16:52:29.000000000 +0200
-+++ xawtv-3.95.new/Makefile.in	2006-01-20 13:07:00.000000000 +0100
-@@ -3,7 +3,7 @@
- 
- # for package builds (buildroot install + no root privs needed)
- DESTDIR=
--SUID_ROOT=-m4755 -o root
-+SUID_ROOT=
- 
- # install paths
- prefix		:= @prefix@
-@@ -12,7 +12,7 @@
- mandir		:= $(DESTDIR)@mandir@
- libdir		:= $(DESTDIR)@libdir@/xawtv
- datadir		:= $(DESTDIR)@datadir@/xawtv
--resdir		:= $(DESTDIR)@resdir@
-+resdir		:= $(out)@resdir@
- config		:= @x11conf@/xawtvrc
- 
- # programs
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch b/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
deleted file mode 100644
index 5714e8238e6..00000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix problems with fbtv and kernel headers
-
-diff -urN ../tmp-orig/xawtv-3.95/console/fbtools.c ./console/fbtools.c
---- xawtv-3.95/console/fbtools.c	2003-02-14 14:14:04.000000000 +0000
-+++ xawtv-3.95/console/fbtools.c	2006-08-23 10:57:40.000000000 +0000
-@@ -21,8 +21,6 @@
- #include <linux/vt.h>
- #include <linux/fb.h>
- 
--#include <asm/page.h>
--
- #include "fbtools.h"
- 
- /* -------------------------------------------------------------------- */
-@@ -424,7 +422,7 @@
- 	goto err;
-     }
- #endif
--    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & (~PAGE_MASK);
-+    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & ~(sysconf(_SC_PAGE_SIZE)-1);
-     fb_mem = mmap(NULL,fb_fix.smem_len+fb_mem_offset,
- 		  PROT_READ|PROT_WRITE,MAP_SHARED,fb,0);
-     if (-1L == (long)fb_mem) {
-diff -urN ../tmp-orig/xawtv-3.95/console/matrox.c ./console/matrox.c
---- xawtv-3.95/console/matrox.c	2005-02-03 10:40:41.000000000 +0000
-+++ xawtv-3.95/console/matrox.c	2006-08-23 11:09:51.000000000 +0000
-@@ -9,7 +9,6 @@
- #include <sys/ioctl.h>
- #include <sys/mman.h>
- 
--#include <asm/page.h> /* PAGE_SIZE */
- #include <linux/fb.h>
- 
- #include "byteswap.h"
-@@ -226,7 +225,7 @@
- 	return -1;
-     }
-     off = (unsigned long)fb_fix.mmio_start -
--	((unsigned long)fb_fix.mmio_start & ~(PAGE_SIZE-1));
-+	((unsigned long)fb_fix.mmio_start & ~(sysconf(_SC_PAGE_SIZE)-1));
-     bmmio += off;
-     mmio = (uint32_t*)bmmio;
-     return 0;
-
diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
index 59537c7dce0..3232267fa94 100644
--- a/pkgs/applications/video/xbmc/default.nix
+++ b/pkgs/applications/video/xbmc/default.nix
@@ -1,19 +1,19 @@
 { stdenv, lib, fetchurl, makeWrapper
-, pkgconfig, cmake, gnumake, yasm, python
-, boost, avahi, libdvdcss, lame
-, gettext, pcre, yajl, fribidi
+, pkgconfig, cmake, gnumake, yasm, pythonFull
+, boost, avahi, libdvdcss, lame, autoreconfHook
+, gettext, pcre, yajl, fribidi, which
 , openssl, gperf, tinyxml2, taglib, libssh, swig, jre
-, libX11, xproto, inputproto
+, libX11, xproto, inputproto, libxml2
 , libXt, libXmu, libXext, xextproto
 , libXinerama, libXrandr, randrproto
-, libXtst, libXfixes, fixesproto
+, libXtst, libXfixes, fixesproto, systemd
 , SDL, SDL_image, SDL_mixer, alsaLib
 , mesa, glew, fontconfig, freetype, ftgl
 , libjpeg, jasper, libpng, libtiff
 , ffmpeg, libmpeg2, libsamplerate, libmad
-, libogg, libvorbis, flac
-, lzo, libcdio, libmodplug, libass
-, sqlite, mysql, nasm
+, libogg, libvorbis, flac, libxslt
+, lzo, libcdio, libmodplug, libass, libbluray
+, sqlite, mysql, nasm, gnutls, libva
 , curl, bzip2, zip, unzip, glxinfo, xdpyinfo
 , dbus_libs ? null, dbusSupport ? true
 , udev, udevSupport ? true
@@ -23,7 +23,7 @@
 # TODO: would be nice to have nfsSupport (needs libnfs library)
 # TODO: librtmp
 , libvdpau ? null, vdpauSupport ? true
-, pulseaudio ? null, pulseSupport ? false
+, pulseaudio ? null, pulseSupport ? true
 }:
 
 assert dbusSupport  -> dbus_libs != null;
@@ -34,20 +34,20 @@ assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport;
 assert pulseSupport -> pulseaudio != null;
 
 stdenv.mkDerivation rec {
-    name = "xbmc-12.2";
+    name = "xbmc-13.1";
 
     src = fetchurl {
-      url = "http://mirrors.xbmc.org/releases/source/${name}.tar.gz";
-      sha256 = "077apkq9sx6wlwkwmiz63w5dcqbbrbjbn6qk9fj2fgaizhs0ccxj";
+      url = "https://github.com/xbmc/xbmc/archive/13.1-Gotham.tar.gz";
+      sha256 = "0y56c5csfp8xhk088g47m3bzrri73z868yfx6b04gnrdmr760jrl";
     };
 
     buildInputs = [
-      makeWrapper
-      pkgconfig cmake gnumake yasm python
-      boost libmicrohttpd
-      gettext pcre yajl fribidi
+      makeWrapper libxml2 gnutls
+      pkgconfig cmake gnumake yasm pythonFull
+      boost libmicrohttpd autoreconfHook
+      gettext pcre yajl fribidi libva
       openssl gperf tinyxml2 taglib libssh swig jre
-      libX11 xproto inputproto
+      libX11 xproto inputproto which
       libXt libXmu libXext xextproto
       libXinerama libXrandr randrproto
       libXtst libXfixes fixesproto
@@ -55,8 +55,8 @@ stdenv.mkDerivation rec {
       mesa glew fontconfig freetype ftgl
       libjpeg jasper libpng libtiff
       ffmpeg libmpeg2 libsamplerate libmad
-      libogg libvorbis flac
-      lzo libcdio libmodplug libass
+      libogg libvorbis flac libxslt systemd
+      lzo libcdio libmodplug libass libbluray
       sqlite mysql nasm avahi libdvdcss lame
       curl bzip2 zip unzip glxinfo xdpyinfo
     ]
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
     preConfigure = ''
       substituteInPlace xbmc/linux/LinuxTimezone.cpp \
         --replace 'usr/share/zoneinfo' 'etc/zoneinfo'
+      ./bootstrap
     '';
 
     configureFlags = [
@@ -84,10 +85,11 @@ stdenv.mkDerivation rec {
     postInstall = ''
       for p in $(ls $out/bin/) ; do
         wrapProgram $out/bin/$p \
-          --prefix PATH ":" "${python}/bin" \
+          --prefix PATH ":" "${pythonFull}/bin" \
           --prefix PATH ":" "${glxinfo}/bin" \
           --prefix PATH ":" "${xdpyinfo}/bin" \
           --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
           --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib"
       done
     '';
diff --git a/pkgs/applications/video/xvidcap/default.nix b/pkgs/applications/video/xvidcap/default.nix
index 9d7f8a6ac99..83b5c778f86 100644
--- a/pkgs/applications/video/xvidcap/default.nix
+++ b/pkgs/applications/video/xvidcap/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "screencast video catpuring tool";
     homepage = http://xvidcap.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/virtualization/8086tiny/builder.sh b/pkgs/applications/virtualization/8086tiny/builder.sh
new file mode 100644
index 00000000000..7cff2589abe
--- /dev/null
+++ b/pkgs/applications/virtualization/8086tiny/builder.sh
@@ -0,0 +1,28 @@
+
+source $stdenv/setup
+
+mkdir -p ./$name $out/bin $out/share/$name $out/share/doc/$name/images
+
+cd $name
+tar xf $src
+make 8086tiny
+if [ $bios ]; then
+    cd bios_source
+    nasm -f bin bios.asm -o bios
+    cd ..
+fi
+
+install -m 755 8086tiny $out/bin
+install -m 644 fd.img $out/share/$name/8086tiny-floppy.img
+install -m 644 bios_source/bios.asm  $out/share/$name/8086tiny-bios-src.asm
+install -m 644 docs/8086tiny.css  $out/share/doc/$name
+install -m 644 docs/doc.html  $out/share/doc/$name
+for i in docs/images/*.gif
+do
+    install -m 644 $i $out/share/doc/$name/images
+done
+if [ $bios ]; then
+    install -m 644 bios_source/bios $out/share/$name/8086tiny-bios
+else
+    install -m 644 bios $out/share/$name/8086tiny-bios
+fi
diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix
new file mode 100644
index 00000000000..a16f052f622
--- /dev/null
+++ b/pkgs/applications/virtualization/8086tiny/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl
+, localBios ? true, nasm ? null
+, sdlSupport ? true, SDL ? null
+}:
+
+assert sdlSupport -> (SDL != null);
+
+stdenv.mkDerivation rec {
+
+  name = "8086tiny-${version}";
+  version = "1.25";
+
+  src = fetchurl {
+    url ="http://www.megalith.co.uk/8086tiny/downloads/8086tiny_125.tar.bz2";
+    sha256 = "0kmq4iiwhi2grjwq43ljjk1b1f1v1x9gzrgrgq2fzfsj7m7s6ris";
+  };
+
+  buildInputs = with stdenv.lib;
+  optionals localBios [ nasm ]
+  ++  optionals sdlSupport [ SDL ];
+  
+  bios = localBios;
+  
+  builder = ./builder.sh;
+
+  meta = {
+    description = "An open-source 8086 emulator";
+    longDescription = ''
+    8086tiny is a tiny, open-source (MIT), portable (little-endian hosts) Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny emulates a "late 80's era" PC XT-type machine.
+
+    8086tiny is based on an IOCCC 2013 winning entry. In fact that is the "unobfuscated" version :)
+    '';
+    homepage = http://www.megalith.co.uk/8086tiny/index.html;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
+# TODO: add support for a locally made BIOS
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index e6d0b7cb40d..54d697d4275 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -12,7 +12,7 @@ let
 in
 
 stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
-  name = "OVMF-2012-10-09";
+  name = "OVMF-2014-02-01";
 
   unpackPhase = ''
     for file in \
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
new file mode 100644
index 00000000000..75afcb41f80
--- /dev/null
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl
+, libX11 , mesa
+, sdlSupport ? true, SDL ? null
+, termSupport ? true , ncurses ? null, readline ? null
+, wxSupport ? true , gtk ? null , wxGTK ? null , pkgconfig ? null
+, wgetSupport ? false, wget ? null
+, curlSupport ? false, curl ? null
+}:
+
+
+assert sdlSupport -> (SDL != null);
+assert termSupport -> (ncurses != null&& readline != null);
+assert wxSupport -> (gtk != null && wxGTK != null && pkgconfig != null);
+assert wgetSupport -> (wget != null);
+assert curlSupport -> (curl != null);
+
+stdenv.mkDerivation rec {
+
+  name = "bochs-${version}";
+  version = "2.6.2";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/bochs/bochs/${version}/${name}.tar.gz";
+    sha256 = "042blm1xb9ig4fh2bv8nrrfpgkcxy4hq8yrkx7mrdpm5g4mvfwyr";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ libX11 mesa ]
+  ++ optionals sdlSupport [ SDL ]
+  ++ optionals termSupport [ readline ncurses ]
+  ++ optionals wxSupport [ gtk wxGTK pkgconfig ]
+  ++ optionals wgetSupport [ wget ]
+  ++ optionals curlSupport [ curl ];
+
+  configureFlags = ''
+    --with-x11
+    --with-term=${if termSupport then "yes" else "no"}
+    --with-sdl=${if sdlSupport then "yes" else "no"}
+    --with-svga=no
+    --with-wx=${if wxSupport then "yes" else "no"}
+    --enable-readline
+    --enable-plugins=no
+    --enable-disasm
+    --enable-debugger
+    --enable-ne2000
+    --enable-e1000
+    --enable-sb16
+    --enable-voodoo
+    --enable-usb
+    --enable-pnic
+'';
+
+  meta = {
+    description = "An open-source IA-32 (x86) PC emulator";
+    longDescription = ''
+    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.
+    '';
+    homepage = http://bochs.sourceforge.net/;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
new file mode 100644
index 00000000000..4a488a381ab
--- /dev/null
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper,
+btrfsProgs, iptables, bash}:
+
+stdenv.mkDerivation rec {
+  name = "docker-${version}";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz";
+    sha256 = "1pa6k3gx940ap3r96xdry6apzkm0ymqra92b2mrp25b25264cqcy";
+  };
+
+  buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables ];
+
+  dontStrip = true;
+
+  buildPhase = ''
+    patchShebangs ./hack
+    export AUTO_GOPATH=1
+    export DOCKER_GITCOMMIT="d84a070"
+    ./hack/make.sh dynbinary
+  '';
+
+  installPhase = ''
+    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker
+    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit
+    wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin"
+
+    # systemd
+    install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
+
+    # completion
+    install -Dm644 ./contrib/completion/bash/docker $out/share/bash-completion/completions/docker
+    install -Dm644 ./contrib/completion/zsh/_docker $out/share/zsh/site-functions/_docker
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.docker.io/;
+    description = "An open source project to pack, ship and run any application as a lightweight container";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline tailhook ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/nova/client.nix b/pkgs/applications/virtualization/nova/client.nix
index bb65f80d206..bcc72d19bb3 100644
--- a/pkgs/applications/virtualization/nova/client.nix
+++ b/pkgs/applications/virtualization/nova/client.nix
@@ -16,5 +16,6 @@ pythonPackages.buildPythonPackage rec {
   meta = {
     homepage = https://github.com/rackspace/python-novaclient;
     description = "Client library and command line tool for the OpenStack Nova API";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix
index a9a36ffca4f..c1ef20b7aa0 100644
--- a/pkgs/applications/virtualization/nova/default.nix
+++ b/pkgs/applications/virtualization/nova/default.nix
@@ -20,13 +20,13 @@ stdenv.mkDerivation rec {
       paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
       distutils_extra simplejson readline glance cheetah lockfile httplib2
       # !!! should libvirt be a build-time dependency?  Note that
-      # libxml2Python is a dependency of libvirt.py. 
+      # libxml2Python is a dependency of libvirt.py.
       libvirt libxml2Python
       novaclient
     ];
 
   buildInputs =
-    [ pythonPackages.python 
+    [ pythonPackages.python
       pythonPackages.wrapPython
       pythonPackages.mox
       intltool
@@ -45,11 +45,11 @@ stdenv.mkDerivation rec {
       substituteInPlace nova/api/ec2/cloud.py \
         --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
     '';
-  
+
   buildPhase = "python setup.py build";
 
   installPhase =
-    ''    
+    ''
       p=$(toPythonPath $out)
       export PYTHONPATH=$p:$PYTHONPATH
       mkdir -p $p
@@ -59,14 +59,14 @@ stdenv.mkDerivation rec {
       # computes some stuff from its own argv[0].  So put the wrapped
       # programs in $out/libexec under their original names.
       mkdir -p $out/libexec/nova
-      
+
       wrapProgram() {
           local prog="$1"
           local hidden=$out/libexec/nova/$(basename "$prog")
           mv $prog $hidden
           makeWrapper $hidden $prog "$@"
       }
-      
+
       wrapPythonPrograms
 
       cp -prvd etc $out/etc
@@ -86,9 +86,10 @@ stdenv.mkDerivation rec {
   doCheck = false; # !!! fix
 
   checkPhase = "python setup.py test";
-    
+
   meta = {
     homepage = http://nova.openstack.org/;
     description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/virtualization/qemu/cve-2014-0150.patch b/pkgs/applications/virtualization/qemu/cve-2014-0150.patch
new file mode 100644
index 00000000000..a086b369321
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/cve-2014-0150.patch
@@ -0,0 +1,14 @@
+
+diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
+index 439477b..33bd233 100644
+--- a/hw/net/virtio-net.c
++++ b/hw/net/virtio-net.c
+ <at>  <at>  -677,7 +677,7  <at>  <at>  static int virtio_net_handle_mac(VirtIONet *n, uint8_t cmd,
+         goto error;
+     }
+
+-    if (in_use + mac_data.entries <= MAC_TABLE_ENTRIES) {
++    if (mac_data.entries <= MAC_TABLE_ENTRIES - in_use) {
+         s = iov_to_buf(iov, iov_cnt, 0, &macs[in_use * ETH_ALEN],
+                        mac_data.entries * ETH_ALEN);
+         if (s != mac_data.entries * ETH_ALEN) {
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index dcf5b4e5009..1d668c4a28c 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,29 +1,31 @@
 { stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman
-, attr, libcap, vde2, alsaLib, texinfo, libuuid
+, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison
 , makeWrapper
 , sdlSupport ? true, SDL
 , vncSupport ? true, libjpeg, libpng
-, spiceSupport ? true, spice, spice_protocol
+, spiceSupport ? true, spice, spice_protocol, usbredir
 , x86Only ? false
 }:
 
-let n = "qemu-1.5.2"; in
+let n = "qemu-2.0.0"; in
 
 stdenv.mkDerivation rec {
   name = n + (if x86Only then "-x86-only" else "");
 
   src = fetchurl {
     url = "http://wiki.qemu.org/download/${n}.tar.bz2";
-    sha256 = "0l52jwlxmwp9g3jpq0g7ix9dq4qgh46nd2h58lh47f0a35yi8qgn";
+    sha256 = "0frsahiw56jr4cqr9m6s383lyj4ar9hfs2wp3y4yr76krah1mk30";
   };
 
+  patches = [ ./cve-2014-0150.patch ];
+
   buildInputs =
     [ python zlib pkgconfig glib ncurses perl pixman attr libcap
-      vde2 alsaLib texinfo libuuid makeWrapper
+      vde2 alsaLib texinfo libuuid flex bison makeWrapper
     ]
     ++ stdenv.lib.optionals sdlSupport [ SDL ]
     ++ stdenv.lib.optionals vncSupport [ libjpeg libpng ]
-    ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ];
+    ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice usbredir ];
 
   enableParallelBuilding = true;
 
@@ -39,15 +41,15 @@ stdenv.mkDerivation rec {
       # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
       p="$out/bin/qemu-system-${if stdenv.system == "x86_64-linux" then "x86_64" else "i386"}"
       if [ -e "$p" ]; then
-        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "-enable-kvm"
+        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"
       fi
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.qemu.org/;
     description = "A generic and open source machine emulator and virtualizer";
-    license = "GPLv2+";
-    maintainers = with stdenv.lib.maintainers; [ viric shlevy eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric shlevy eelco ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/virtualization/qemu/linux-img/default.nix b/pkgs/applications/virtualization/qemu/linux-img/default.nix
deleted file mode 100644
index 58a2b29c259..00000000000
--- a/pkgs/applications/virtualization/qemu/linux-img/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "qemu-linux-image-0.2";
-
-  src = fetchurl {
-    url = http://wiki.qemu.org/download/linux-0.2.img.bz2;
-    sha256 = "08xlwy1908chpc4fsqy2v13zi25dapk0ybrd43fj95v67kdj5hj1";
-  };
-
-  unpackPhase = "true";
-
-  installPhase =
-    ''
-      mkdir -p $out/share/qemu-images
-      bunzip2 < $src > $out/share/qemu-images/linux-0.2.img
-    '';
-
-  meta = {
-    description = "QEMU sample Linux disk image";
-  };
-}
diff --git a/pkgs/applications/virtualization/virt-manager/custom_runner.py b/pkgs/applications/virtualization/virt-manager/custom_runner.py
deleted file mode 100644
index 5322c20dd32..00000000000
--- a/pkgs/applications/virtualization/virt-manager/custom_runner.py
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/python -t
-# this script was written to use /etc/nixos/nixpkgs/pkgs/development/python-modules/generic/wrap.sh
-# which already automates python executable wrapping by extending the PATH/pythonPath
-
-# from http://docs.python.org/library/subprocess.html
-# Warning Invoking the system shell with shell=True can be a security hazard if combined with untrusted input. See the warning under Frequently Used Arguments for details.
-
-from subprocess import Popen, PIPE, STDOUT
-
-cmd = 'PYTHON_EXECUTABLE_PATH -t THE_CUSTOM_PATH/share/virt-manager/THE_CUSTOM_PROGRAM.py'
-p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
-output = p.stdout.read()
-print output
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index de3e5c98d36..08d53d83eed 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,84 +1,66 @@
-{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl,
-  python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}:
+{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python
+, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte
+, gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib
+, avahi, dconf, spiceSupport ? true, spice_gtk
+}:
 
 with stdenv.lib;
+with pythonPackages;
 
-let version = "0.9.1"; in
-
-stdenv.mkDerivation rec {
+buildPythonPackage rec {
   name = "virt-manager-${version}";
+  version = "1.0.1";
+  namePrefix = "";
 
   src = fetchurl {
-    url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz";
-    sha256 = "15e064167ba5ff84ce6fc8790081d61890430f2967f89886a84095a23e40094a";
+    url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
+    sha256 = "1n248kack1fni8y17ysgq5xhvffcgy4l62hnd0zvr4kjw0579qq8";
   };
 
-  pythonPath = with pythonPackages;
-    [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes
+  propagatedBuildInputs =
+    [ eventlet greenlet gflags netaddr sqlalchemy carrot routes
       paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
       distutils_extra simplejson readline glance cheetah lockfile httplib2
-      # !!! should libvirt be a build-time dependency?  Note that
-      # libxml2Python is a dependency of libvirt.py. 
-      libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python
-      gtkvnc vte
-    ];
+      urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
+      libvirt libxml2Python ipaddr vte
+    ] ++ optional spiceSupport spice_gtk;
 
   buildInputs =
-    [ pythonPackages.python 
-      pythonPackages.wrapPython
-      pythonPackages.mox
-      pythonPackages.urlgrabber
+    [ mox
       intltool
-      pyGtkGlade
-      pythonDBus
-      gnome_python
       gtkvnc
-    ] ++ pythonPath;
-
-  buildPhase = "make";
-  
-  nativeBuildInputs = [ makeWrapper pythonPackages.wrapPython ];
-
-  # patch the runner script in order to make wrapPythonPrograms work and run the program using a syscall
-  # example code: /etc/nixos/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix
-  customRunner = ./custom_runner.py;
+      gtk3
+      libvirt-glib
+      avahi
+      glib
+      gobjectIntrospection
+    ];
 
-  # TODO
-  # virt-manager     -> import gtk.glade -> No module named glade --> fixed by removing 'pygtk' and by only using pyGtkGlade
-  #                  -> import gconf     -> ImportError: No module named gconf
-  #                        -> pfad um gtk-2.0 erweitern in virt-manger runner -> /nix/store/hnyxc9i4yz2mc42n44ms13mn8n486s5h-gnome-python-2.28.1/lib/python2.7/site-packages/gtk-2.0
-  #                  -> Error starting Virtual Machine Manager: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details -  1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files)
+  configurePhase = ''
+    sed -i 's/from distutils.core/from setuptools/g' setup.py
+    sed -i 's/from distutils.command.install/from setuptools.command.install/g' setup.py
+    python setup.py configure --prefix=$out
+  '';
 
-#Traceback (most recent call last):
-#  File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 383, in <module>
-#    main()
-#  File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 315, in main
-#    config = virtManager.config.vmmConfig(appname, appversion, glade_dir)
-#  File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virtManager/config.py", line 98, in __init__
-#    self.conf.add_dir(self.conf_dir, gconf.CLIENT_PRELOAD_NONE)
-#GError: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details -  1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files)
-# -> fixed by http://nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications & a restart
-  # virt-manager-tui -> ImportError: No module named newt_syrup.dialogscreen
+  buildPhase = "true";
 
-  patchPhase = ''
-    cat ${customRunner} > src/virt-manager.in
-    substituteInPlace "src/virt-manager.in" --replace "THE_CUSTOM_PATH" "$out"
-    substituteInPlace "src/virt-manager.in" --replace "THE_CUSTOM_PROGRAM" "virt-manager"
-    substituteInPlace "src/virt-manager.in" --replace "PYTHON_EXECUTABLE_PATH" "${python}/bin/python"
+  postInstall = ''
+    # GI_TYPELIB_PATH is needed at runtime for GObject stuff to work
+    for file in "$out"/bin/*; do
+        wrapProgram "$file" \
+            --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
+            --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \
+            --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \
+            --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
+    done
 
-    cat ${customRunner} > src/virt-manager-tui.in
-    substituteInPlace "src/virt-manager-tui.in" --replace "THE_CUSTOM_PATH" "$out"
-    substituteInPlace "src/virt-manager-tui.in" --replace "THE_CUSTOM_PROGRAM" "virt-manager-tui"
-    substituteInPlace "src/virt-manager-tui.in" --replace "PYTHON_EXECUTABLE_PATH" "${python}/bin/python"
+    ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas
   '';
 
-  # /etc/nixos/nixpkgs/pkgs/development/python-modules/generic/wrap.sh
-  installPhase = ''
-    make install
-    wrapPythonPrograms
-  '';
+  # Failed tests
+  doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://virt-manager.org;
     description = "Desktop user interface for managing virtual machines";
     longDescription = ''
@@ -86,7 +68,7 @@ stdenv.mkDerivation rec {
       virtual machines through libvirt. It primarily targets KVM VMs, but also
       manages Xen and LXC (linux containers).
     '';
-    license = "GPLv2";
-    maintainers = with stdenv.lib.maintainers; [qknight];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [qknight offline];
   };
 }
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index d2e608ba3fa..a5d7c775412 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -1,50 +1,40 @@
-x@{builderDefsPackage
-  , gnome, gtk, glib, libxml2, pkgconfig, libvirt, gtkvnc, cyrus_sasl, libtasn1
-  , gnupg, libgcrypt, perl, nettle, yajl, libcap_ng
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    ["gnome"];
+{ stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtkvnc, gmp
+, libgcrypt, gnupg, cyrus_sasl, spiceSupport ? true, spice_gtk, shared_mime_info
+, libvirt, libcap_ng, yajl
+}:
 
-  buildInputs = (map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
-    ++ [gnome.libglade];
-  sourceInfo = rec {
+with stdenv.lib;
+
+let sourceInfo = rec {
     baseName="virt-viewer";
-    version="0.2.0";
+    version="0.6.0";
     name="${baseName}-${version}";
     url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
-    hash="0lhkmp4kn0s2z8241lqf2fdi55jg9iclr5hjw3m4wzaznpiajwlp";
-  };
-in
-rec {
-  src = a.fetchurl {
+    hash="0svalnr6k8rjadysnxixygk3bdx04asmwx75bhrbljyicba216v6";
+}; in
+
+stdenv.mkDerivation  {
+  inherit (sourceInfo) name version;
+
+  src = fetchurl {
     url = sourceInfo.url;
     sha256 = sourceInfo.hash;
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ 
+    pkgconfig intltool glib libxml2 gtk3 gtkvnc gmp libgcrypt gnupg cyrus_sasl
+    shared_mime_info libvirt libcap_ng yajl
+  ] ++ optional spiceSupport spice_gtk;
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
     description = "A viewer for remote virtual machines";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl2;
+    maintainers = maintainers.raskin;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
   passthru = {
     updateInfo = {
       downloadPage = "http://virt-manager.org/download.html";
     };
   };
-}) x
-
+}
diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix
index bb8b7a1d0d9..8e2da5c3b76 100644
--- a/pkgs/applications/virtualization/virtinst/default.nix
+++ b/pkgs/applications/virtualization/virtinst/default.nix
@@ -2,14 +2,14 @@
 
 with stdenv.lib;
 
-let version = "0.600.1"; in
+let version = "0.600.4"; in
 
 stdenv.mkDerivation rec {
   name = "virtinst-${version}";
 
   src = fetchurl {
     url = "http://virt-manager.org/download/sources/virtinst/virtinst-${version}.tar.gz";
-    sha256 = "db342cf93aae1f23df02001bdb0b0cc2c5bf675dca37b4417f5a79bf5a374716";
+    sha256 = "175laiy49dni8hzi0cn14bbsdsigvgr9h6d9z2bcvbpa29spldvf";
   };
 
   pythonPath = with pythonPackages;
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://virt-manager.org;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [qknight];
     description = "Command line tool which provides an easy way to provision operating systems into virtual machines";
   };
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 652b2ed92c1..682e7159ac8 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
-, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernelDev, lvm2
-, which, alsaLib, curl, gawk
+, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
+, which, alsaLib, curl, libvpx, gawk
 , xorriso, makeself, perl, pkgconfig
 , javaBindings ? false, jdk ? null
 , pythonBindings ? false, python ? null
@@ -11,7 +11,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.2.18"; # changes ./guest-additions as well
+  version = "4.3.12"; # changes ./guest-additions as well
 
   forEachModule = action: ''
     for mod in \
@@ -31,13 +31,13 @@ let
   '';
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
-  extpackRevision = "88780";
+  extpackRevision = "93733";
   extensionPack = requireFile rec {
     name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
     # IMPORTANT: Hash must be base16 encoded because it's used as an input to
     # VBoxExtPackHelperApp!
-    # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.2.18/SHA256SUMS
-    sha256 = "1d1737b59d0f30f5d42beeabaff168bdc0a75b8b28df685979be6173e5adbbba";
+    # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
+    sha256 = "f931ce41b2cc9500dc43aba004630cf7bb7050ba737eae38827e91062f072d1f";
     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:
@@ -52,23 +52,23 @@ let
   };
 
 in stdenv.mkDerivation {
-  name = "virtualbox-${version}-${kernelDev.version}";
+  name = "virtualbox-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "9dbddf393b029c549249f627d12040c1d257972bc09292969b8819a31ab78d74";
+    sha256 = "db84ddf47d1ecd316ec46417595f0252e3ec2f67e35e1e17320aba87b7c2934f";
   };
 
   buildInputs =
     [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
-      libcap glib kernelDev lvm2 python alsaLib curl pam xorriso makeself perl
+      libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl
       pkgconfig which libXmu ]
     ++ optional javaBindings jdk
     ++ optional pythonBindings python;
 
   prePatch = ''
     set -x
-    MODULES_BUILD_DIR=`echo ${kernelDev}/lib/modules/*/build`
+    MODULES_BUILD_DIR=`echo ${kernel.dev}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
         -e 's@MKISOFS --version@MKISOFS -version@' \
         -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index de38843c7f1..f168c0d5725 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, patchelf, cdrkit, kernelDev, which, makeWrapper
+{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
 , xorg, dbus, virtualbox }:
 
 let
@@ -8,14 +8,14 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
+  name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "f11a7f13dfe7bf9f246fb877144bb467fe6deadcd876568ec79b6ccd3b59d767";
+    sha256 = "c76dd5ec86f61ad72263ab6d2405723b06badfc2fae57f83ffa5de96f553400d";
   };
 
-  KERN_DIR = "${kernelDev}/lib/modules/*/build";
+  KERN_DIR = "${kernel.dev}/lib/modules/*/build";
 
   buildInputs = [ patchelf cdrkit makeWrapper dbus ];
 
@@ -115,7 +115,7 @@ stdenv.mkDerivation {
     for i in *
     do
         cd $i
-        kernelVersion=$(cd ${kernelDev}/lib/modules; ls)
+        kernelVersion=$(cd ${kernel.dev}/lib/modules; ls)
         export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
         find . -type f | xargs sed -i -e "s|-o root||g" \
                                       -e "s|-g root||g"
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index 3cb16a6b442..55ef8390148 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -30,7 +30,7 @@ let
       }
     ];
 
-in 
+in
 
 stdenv.mkDerivation {
   name = "xen-${version}";
@@ -136,5 +136,6 @@ stdenv.mkDerivation {
     description = "Xen hypervisor and management tools for Dom0";
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = [ stdenv.lib.maintainers.eelco ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/window-managers/awesome/3.4.nix b/pkgs/applications/window-managers/awesome/3.4.nix
new file mode 100644
index 00000000000..3db2bde6540
--- /dev/null
+++ b/pkgs/applications/window-managers/awesome/3.4.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, cmake, gperf, imagemagick, pkgconfig, lua
+, glib, cairo, pango, imlib2, libxcb, libxdg_basedir, xcbutil
+, xcbutilimage, xcbutilkeysyms, xcbutilwm, libpthreadstubs, libXau
+, libXdmcp, pixman, doxygen
+, libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl
+, docbook_xml_dtd_45, libxslt, coreutils, which }:
+
+let
+  version = "3.4.13";
+in
+
+stdenv.mkDerivation rec {
+  name = "awesome-${version}";
+ 
+  src = fetchurl {
+    url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
+    sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr";
+  };
+ 
+  buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
+    imlib2 libxcb libxdg_basedir xcbutil xcbutilimage xcbutilkeysyms xcbutilwm
+    libstartup_notification libev libpthreadstubs libXau libXdmcp pixman doxygen
+    asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt which ];
+
+  # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in
+  # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as
+  # dependencies.
+  prePatch = ''
+    # Fix the tab completion (supporting bash or zsh)
+    sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in
+    # Remove the 'root' PATH override (I don't know why they have that)
+    sed /WHOAMI/d -i utils/awsetbg
+    # Russian manpages fail to be generated:
+    #  [ 56%] Generating manpages/ru/man1/awesome.1.xml
+    #  asciidoc: ERROR: <stdin>: line 3: name section expected
+    #  asciidoc: FAILED: <stdin>: line 3: section title expected
+    #  make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
+    substituteInPlace CMakeLists.txt \
+      --replace "set(AWE_MAN_LANGS it es fr de ru)" \
+                "set(AWE_MAN_LANGS it es fr de)"
+  '';
+ 
+  meta = {
+    homepage = http://awesome.naquadah.org/;
+    description = "Highly configurable, dynamic window manager for X";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 61f2145ff33..26987565636 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -1,51 +1,73 @@
-{stdenv, fetchurl, cmake, gperf, imagemagick, pkgconfig, lua
-, glib, cairo, pango, imlib2, libxcb, libxdg_basedir, xcbutil
-, xcbutilimage, xcbutilkeysyms, xcbutilwm, libpthreadstubs, libXau
-, libXdmcp, pixman, doxygen
-, libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl
-, docbook_xml_dtd_45, libxslt, coreutils}:
+{ stdenv, fetchurl, lua, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
+, xlibs, libstartup_notification, libxdg_basedir, libpthreadstubs
+, xcb-util-cursor, lgi, makeWrapper, pango, gobjectIntrospection, unclutter
+, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, rxvt_unicode
+, which, dbus, nettools, git, asciidoc, doxygen }:
 
 let
-  version = "3.4.13";
+  version = "3.5.5";
 in
 
 stdenv.mkDerivation rec {
   name = "awesome-${version}";
  
   src = fetchurl {
-    url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
-    sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr";
+    url    = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
+    sha256 = "0iwd4pjvq0akm9dbipbl4m4fm24m017l06arasr445v2qkbxnc5z";
   };
- 
-  buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
-    imlib2 libxcb libxdg_basedir xcbutil xcbutilimage xcbutilkeysyms xcbutilwm
-    libstartup_notification libev libpthreadstubs libXau libXdmcp pixman doxygen
-    asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt ];
 
-  # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in
-  # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as
-  # dependencies.
-  prePatch = ''
-    # Fix the tab completion (supporting bash or zsh)
-    sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in
-    # Remove the 'root' PATH override (I don't know why they have that)
-    sed /WHOAMI/d -i utils/awsetbg
-    # Russian manpages fail to be generated:
-    #  [ 56%] Generating manpages/ru/man1/awesome.1.xml
-    #  asciidoc: ERROR: <stdin>: line 3: name section expected
-    #  asciidoc: FAILED: <stdin>: line 3: section title expected
-    #  make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
-    substituteInPlace CMakeLists.txt \
-      --replace "set(AWE_MAN_LANGS it es fr de ru)" \
-                "set(AWE_MAN_LANGS it es fr de)"
-  '';
- 
-  meta = {
-    homepage = http://awesome.naquadah.org/;
+  meta = with stdenv.lib; {
     description = "Highly configurable, dynamic window manager for X";
-    license = "GPLv2+";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    homepage    = http://awesome.naquadah.org/;
+    license     = "GPLv2+";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.linux;
   };
-}
+ 
+  buildInputs = [
+    asciidoc
+    cairo
+    cmake
+    dbus
+    doxygen
+    gdk_pixbuf
+    git
+    imagemagick
+    lgi
+    libpthreadstubs
+    libstartup_notification
+    libxdg_basedir
+    lua
+    makeWrapper
+    nettools
+    pango
+    pkgconfig
+    xcb-util-cursor
+    xlibs.libXau
+    xlibs.libXdmcp
+    xlibs.libxcb
+    xlibs.libxshmfence
+    xlibs.xcbutil
+    xlibs.xcbutilimage
+    xlibs.xcbutilkeysyms
+    xlibs.xcbutilrenderutil
+    xlibs.xcbutilwm
+  ];
 
+  LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib";
+  GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0";
+  LUA_CPATH = "${lgi}/lib/lua/5.1/?.so";
+  LUA_PATH  = "${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua";
+
+  postInstall = ''
+    wrapProgram $out/bin/awesome \
+      --set LUA_CPATH '"${lgi}/lib/lua/5.1/?.so"' \
+      --set LUA_PATH '"${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua"' \
+      --set GI_TYPELIB_PATH "${pango}/lib/girepository-1.0" \
+      --prefix LD_LIBRARY_PATH : "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \
+      --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${rxvt_unicode}/bin"
+
+    wrapProgram $out/bin/awesome-client \
+      --prefix PATH : "${which}/bin"
+  '';
+}
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
new file mode 100644
index 00000000000..bee774d10da
--- /dev/null
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, perl, libxcb }:
+
+let
+  version = "1.0";
+in
+  stdenv.mkDerivation rec {
+    name = "bar-${version}";
+  
+    src = fetchurl {
+      url = "https://github.com/LemonBoy/bar/archive/v${version}.tar.gz";
+      sha256 = "1n2vak2acs37sslxl250cnz9c3irif5z4s54wi9qjyxbfzr2h2nc";
+    };
+  
+    buildInputs = [ libxcb perl ];
+  
+    prePatch = ''sed -i "s@/usr@$out@" Makefile'';
+  
+    meta = {
+      description = "A lightweight xcb based bar";
+      homepage = "https://github.com/LemonBoy/bar";
+      maintainers = stdenv.lib.maintainers.meisternu;
+      license = "Custom";   
+      platforms = stdenv.lib.platforms.linux;
+    };
+}
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
new file mode 100644
index 00000000000..24789f37ba7
--- /dev/null
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, libxcb, libXinerama, sxhkd, xcbutil, xcbutilkeysyms, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+  name = "bspwm-0.8.9";
+  
+
+  src = fetchurl {
+    url = "https://github.com/baskerville/bspwm/archive/0.8.9.tar.gz";
+    sha256 = "750c76132914661d8d5edf7809e9b601977215d31e747dd780c60fd562913d55";
+  };
+
+  buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
+
+  buildPhase = ''
+    make PREFIX=$out
+  '';
+ 
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+
+  meta = {
+    description = "A tiling window manager based on binary space partitioning";
+    homepage = "http://github.com/baskerville/bspwm";
+    maintainers = stdenv.lib.maintainers.meisternu;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix
index 02b7b9987bd..b73d636aaa5 100644
--- a/pkgs/applications/window-managers/compiz/default.nix
+++ b/pkgs/applications/window-managers/compiz/default.nix
@@ -15,11 +15,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="compiz";
-    version="0.9.10.0";
+    version="0.9.11.2";
     name="${baseName}-${version}";
-    hash="0kvjib0ns02cikpsjq5hlf746yjx2gkfh373pvrb25lzv3rs1qax";
-    url="https://launchpad.net/compiz/0.9.10/0.9.10.0/+download/compiz-0.9.10.0.tar.bz2";
-    sha256="0kvjib0ns02cikpsjq5hlf746yjx2gkfh373pvrb25lzv3rs1qax";
+    hash="1czk4snv9j9l7b587nwf2y305lkn112zspm7f9l7yfk7jmkx1hqy";
+    url="https://launchpad.net/compiz/0.9.11/0.9.11.2/+download/compiz-0.9.11.2.tar.bz2";
+    sha256="1czk4snv9j9l7b587nwf2y305lkn112zspm7f9l7yfk7jmkx1hqy";
   };
   buildInputs = [cmake pkgconfig
     libXrender renderproto gtk libwnck pango cairo
diff --git a/pkgs/applications/window-managers/compton/default.nix b/pkgs/applications/window-managers/compton/default.nix
index dc1622972ad..efa820b0b6a 100644
--- a/pkgs/applications/window-managers/compton/default.nix
+++ b/pkgs/applications/window-managers/compton/default.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchgit, pkgconfig, libXcomposite, libXfixes, libXdamage
-, libXrender, libXext }:
+{ stdenv, fetchurl, pkgconfig
+, dbus, libconfig, libdrm, libxml2, mesa, pcre
+, libXcomposite, libXfixes, libXdamage, libXinerama
+, libXrandr, libXrender, libXext }:
+
 stdenv.mkDerivation rec {
-  name = "compton-20120507";
-  src = fetchgit {
-    url = git://github.com/chjj/compton.git;
-    rev = "d52f7a06dbc55d92e061f976730952177edac739";
-    sha256 = "0f7600a841c4c77d181b54bc14cf7d90d0bad25aa5edbade320ca8b9946f14eb";
+
+  name = "compton-0.1_beta2";
+
+  src = fetchurl {
+    url = https://github.com/chjj/compton/releases/download/v0.1_beta2/compton-git-v0.1_beta2-2013-10-21.tar.xz;
+    sha256 = "1mpgn1d98dv66xs2j8gaxjiw26nzwl9a641lrday7h40g3k45g9v";
   };
-  buildInputs = [ pkgconfig libXcomposite libXfixes libXdamage libXrender libXext ];
+
+  buildInputs = [ pkgconfig dbus libconfig libdrm libxml2 mesa pcre
+    libXcomposite libXfixes libXdamage libXinerama libXrandr libXrender libXext ];
   buildFlagsArray = ["CFLAGS=-O3 -fomit-frame-pointer"];
   installFlags = "PREFIX=$(out)";
-  meta = {
-    homepage = http://www.x.org/;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/chjj/compton/;
     description = "A fork of XCompMgr, a sample compositing manager for X servers";
     longDescription = ''
       A fork of XCompMgr, which is a  sample compositing manager for X servers
@@ -19,7 +26,7 @@ stdenv.mkDerivation rec {
       basic eye-candy effects. This fork adds additional features, such as additional
       effects, and a fork at a well-defined and proper place.
     '';
-    license = "bsd";
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/dwm/confnotify-6.0.patch b/pkgs/applications/window-managers/dwm/confnotify-6.0.patch
deleted file mode 100644
index 5b5e2ebb68a..00000000000
--- a/pkgs/applications/window-managers/dwm/confnotify-6.0.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Fix SDL fullscreen problems when the resolution changes:
-https://groups.google.com/d/msg/wmii/nJBrSjrnnq8/ZEYWOWE5pj4J
-
-diff -r ec4baab78314 dwm.c
---- a/dwm.c	Mon Dec 19 15:38:30 2011 +0100
-+++ b/dwm.c	Sat Jan 14 12:35:50 2012 +0100
-@@ -397,9 +397,10 @@
- 		showhide(m->stack);
- 	else for(m = mons; m; m = m->next)
- 		showhide(m->stack);
--	if(m)
-+	if(m) {
- 		arrangemon(m);
--	else for(m = mons; m; m = m->next)
-+		restack(m);
-+	} else for(m = mons; m; m = m->next)
- 		arrangemon(m);
- }
- 
-@@ -408,7 +409,6 @@
- 	strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
- 	if(m->lt[m->sellt]->arrange)
- 		m->lt[m->sellt]->arrange(m);
--	restack(m);
- }
- 
- void
-@@ -1827,6 +1827,8 @@
- 		.event_mask = ButtonPressMask|ExposureMask
- 	};
- 	for(m = mons; m; m = m->next) {
-+		if (m->barwin)
-+			continue;
- 		m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
- 		                          CopyFromParent, DefaultVisual(dpy, screen),
- 		                          CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix
index 82eb9e56935..626a0926a67 100644
--- a/pkgs/applications/window-managers/dwm/default.nix
+++ b/pkgs/applications/window-managers/dwm/default.nix
@@ -16,14 +16,14 @@ stdenv.mkDerivation {
   prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
 
   # Allow users set their own list of patches
-  patches = [ ./confnotify-6.0.patch ] ++ patches;
+  inherit patches;
 
   buildPhase = " make ";
  
   meta = {
     homepage = "www.suckless.org";
     description = "Dynamic window manager for X";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/applications/window-managers/dzen2/default.nix b/pkgs/applications/window-managers/dzen2/default.nix
new file mode 100644
index 00000000000..b3e970e90be
--- /dev/null
+++ b/pkgs/applications/window-managers/dzen2/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libX11, libXft, libXinerama, libXpm }:
+
+stdenv.mkDerivation rec {
+  name = "dzen2-0.9.5";
+
+  buildInputs = [ pkgconfig libX11 libXft libXinerama libXpm ];
+
+  src = fetchurl {
+    url = "https://github.com/robm/dzen/tarball/master/dzen2-0.9.5git.tar.gz";
+    sha256 = "d4f7943cd39dc23fd825eb684b49dc3484860fa8443d30b06ee38af72a53b556";
+  };
+
+  patchPhase = ''
+    CFLAGS=" -Wall -Os ''${INCS} -DVERSION=\"''${VERSION}\" -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT `pkg-config --cflags xft`"
+    LIBS=" -L/usr/lib -lc -lXft -lXpm -lXinerama -lX11"
+    echo "CFLAGS=$CFLAGS" >>config.mk
+    echo "LIBS=$LIBS" >>config.mk
+    echo "LDFLAGS=$LIBS" >>config.mk
+    substituteInPlace config.mk --replace /usr/local "$out"
+    substituteInPlace gadgets/config.mk --replace /usr/local "$out"
+  '';
+
+  buildPhase = ''
+    mkdir -p $out/bin $out/man/man1
+    make clean install
+    cd gadgets
+    make clean install
+  '';
+
+  meta = {
+    homepage = https://github.com/robm/dzen;
+    license = stdenv.lib.licenses.mit;
+    description = "X notification utility";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/pkgs/applications/window-managers/fvwm/default.nix
index 33acd000270..6830e3a1c01 100644
--- a/pkgs/applications/window-managers/fvwm/default.nix
+++ b/pkgs/applications/window-managers/fvwm/default.nix
@@ -20,7 +20,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://fvwm.org";
     description = "A multiple large virtual desktop window manager";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
-
diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix
index 3ce50a82915..7c4cb4934c9 100644
--- a/pkgs/applications/window-managers/herbstluftwm/default.nix
+++ b/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, libX11, libXinerama }:
+{ stdenv, fetchurl, pkgconfig, glib, libX11, libXext, libXinerama }:
 
 stdenv.mkDerivation rec {
-  name = "herbstluftwm-0.5.2";
+  name = "herbstluftwm-0.6.2";
 
   src = fetchurl {
     url = "http://herbstluftwm.org/tarballs/${name}.tar.gz";
-    sha256 = "15crb77gw8p1h721r3dcgn0m1n03qk0g81rrnaqw8p7hz44k6gf5";
+    sha256 = "1b7h2zi0i9j17k1z62qw5zq7j9i8gv33pmcxnfiilzzfg8wmr7x8";
   };
 
   patchPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
           config.mk
   '';
 
-  buildInputs = [ pkgconfig glib libX11 libXinerama ];
+  buildInputs = [ pkgconfig glib libX11 libXext libXinerama ];
 
   meta = {
     description = "A manual tiling window manager for X";
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index f6d2dc4cfe5..b5869ccaf8d 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -1,23 +1,35 @@
 { fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil,
   xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl,
-  libXcursor, coreutils, perl, pango }:
+  xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy }:
 
 stdenv.mkDerivation rec {
   name = "i3-${version}";
-  version = "4.6";
+  version = "4.8";
 
   src = fetchurl {
     url = "http://i3wm.org/downloads/${name}.tar.bz2";
-    sha256 = "1qand44hjqz84f2xzd0mmyk9vpsm7iwz6446s4ivdj6f86213lpm";
+    sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h";
   };
 
-  buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm
-    libstartup_notification libX11 pcre libev yajl libXcursor perl pango ];
+  buildInputs = [
+    which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm
+    libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango
+    perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun
+    perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC
+  ];
 
-  patchPhase = ''
+  postPatch = ''
     patchShebangs .
   '';
 
+  doCheck = stdenv.system == "x86_64-linux";
+
+  checkPhase = ''
+    ln -sf "${xdummy}/bin/xdummy" testcases/Xdummy
+    (cd testcases && perl complete-run.pl -p 1)
+    ! grep -q '^not ok' testcases/latest/complete-run.log
+  '';
+
   configurePhase = "makeFlags=PREFIX=$out";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix
index c37ed0d85f2..5af4519af03 100644
--- a/pkgs/applications/window-managers/i3/lock.nix
+++ b/pkgs/applications/window-managers/i3/lock.nix
@@ -2,11 +2,11 @@
   pam, libX11, libev, cairo, libxkbcommon, libxkbfile }:
 
 stdenv.mkDerivation rec {
-  name = "i3lock-2.5";
+  name = "i3lock-2.6";
 
   src = fetchurl {
     url = "http://i3wm.org/i3lock/${name}.tar.bz2";
-    sha256 = "0xqdklvfcn2accwdbzsly7add0f3rh9sxjnahawas4zwwk4p49xc";
+    sha256 = "0aj0an8fwv66jhda499r3xa00546cc9ja1dk8xpc6sy6xygqjbf0";
   };
 
   buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutilimage pam libX11
diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix
index 7317f17bb8b..bf3367d7843 100644
--- a/pkgs/applications/window-managers/i3/status.nix
+++ b/pkgs/applications/window-managers/i3/status.nix
@@ -2,11 +2,11 @@
   }:
 
 stdenv.mkDerivation rec {
-  name = "i3status-2.7";
+  name = "i3status-2.8";
 
   src = fetchurl {
     url = "http://i3wm.org/i3status/${name}.tar.bz2";
-    sha256 = "0cm6fhsc7hzsqni8pwhjl2l0rfd458paabn54cgzqnmwwdflwgq7";
+    sha256 = "1zh7z2qbw0jsrqdkc1irviq2n20mc5hq4h1mckyfcm238pfwa1mb";
   };
 
   buildInputs = [ confuse yajl alsaLib wirelesstools ];
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 57e6ecf1749..73c5e5df81a 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libX11, libXext, libXinerama, libXpm, libXft, freetype,
   fontconfig }:
 
-stdenv.mkDerivation {
-  name = "jwm-2.0.1";
+stdenv.mkDerivation rec {
+  name = "jwm-2.2.2";
   
   src = fetchurl {
-     url = http://www.joewing.net/programs/jwm/releases/jwm-2.0.1.tar.bz2;
-     sha256 = "1ix5y00cmg3cyazl0adzgv49140zxaf2dpngyg1dyy4ma6ysdmnw";
+     url = "http://www.joewing.net/programs/jwm/releases/${name}.tar.xz";
+     sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln";
   };
 
   buildInputs = [ libX11 libXext libXinerama libXpm libXft freetype 
diff --git a/pkgs/applications/window-managers/matchbox/default.nix b/pkgs/applications/window-managers/matchbox/default.nix
index ed2637eff6e..08c1be9f963 100644
--- a/pkgs/applications/window-managers/matchbox/default.nix
+++ b/pkgs/applications/window-managers/matchbox/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "X window manager for non-desktop embedded systems";
     homepage = http://matchbox-project.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index e8314ef1b43..fad5b8010ea 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -1,24 +1,33 @@
 { stdenv, fetchurl, pkgconfig
 , libxml2, libXinerama, libXcursor, libXau, libXrandr
-, imlib2, pango, libstartup_notification }:
+, imlib2, pango, libstartup_notification, makeWrapper}:
 
 stdenv.mkDerivation rec {
-  name = "openbox-3.5.0";
+  name = "openbox-3.5.2";
 
   buildInputs = [
     pkgconfig libxml2
     libXinerama libXcursor libXau libXrandr
     imlib2 pango libstartup_notification
+    makeWrapper
   ];
 
   src = fetchurl {
     url = "http://openbox.org/dist/openbox/${name}.tar.gz";
-    sha256 = "02pa1wa2rzvnq1z3xchzafc96hvp3537jh155q8acfhbacb01abg";
+    sha256 = "0cxgb334zj6aszwiki9g10i56sm18i7w1kw52vdnwgzq27pv93qj";
   };
 
+  # Openbox needs XDG_DATA_DIRS set or it can't find its default theme
+  postInstall = ''
+    wrapProgram "$out/bin/openbox" --prefix XDG_DATA_DIRS : "$out/share"
+    wrapProgram "$out/bin/openbox-session" --prefix XDG_DATA_DIRS : "$out/share"
+    wrapProgram "$out/bin/openbox-gnome-session" --prefix XDG_DATA_DIRS : "$out/share"
+    wrapProgram "$out/bin/openbox-kde-session" --prefix XDG_DATA_DIRS : "$out/share"
+    '';
+
   meta = {
     description = "X window manager for non-desktop embedded systems";
     homepage = http://openbox.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index 27266653302..65264c20db3 100644
--- a/pkgs/applications/window-managers/ratpoison/default.nix
+++ b/pkgs/applications/window-managers/ratpoison/default.nix
@@ -2,11 +2,11 @@
 , libXtst, xextproto, readline, libXi, pkgconfig, perl, autoconf, automake }:
 
 stdenv.mkDerivation rec {
-  name = "ratpoison-1.4.5";
+  name = "ratpoison-1.4.6";
 
   src = fetchurl {
     url = "mirror://savannah/ratpoison/${name}.tar.gz";
-    sha256 = "7391079db20b8613eecfd81d64d243edc9d3c586750c8f2da2bb9db14d260f03";
+    sha256 = "1y1b38bng0naxfy50asshzg5xr1b2rn88mcgbds42y72d7y9d0za";
   };
 
   buildInputs =
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
 
   preConfigure = "autoreconf -vf";      # needed because of the patch above
 
-  patches = [ ./glibc-fix.patch ];
-
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp
     mv "$out/share/ratpoison/"*.el $out/share/emacs/site-lisp/
@@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.nongnu.org/ratpoison/";
     description = "Ratpoison, a simple mouse-free tiling window manager";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
        Ratpoison is a simple window manager with no fat library
@@ -45,7 +43,7 @@ stdenv.mkDerivation rec {
        cripples Emacs and other quality pieces of software.
     '';
 
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/window-managers/ratpoison/glibc-fix.patch b/pkgs/applications/window-managers/ratpoison/glibc-fix.patch
deleted file mode 100644
index c779d5af795..00000000000
--- a/pkgs/applications/window-managers/ratpoison/glibc-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 4ad0b38fb53506d613c4b4f7268dadfcedae9b8e Mon Sep 17 00:00:00 2001
-From: Shawn Betts <sabetts@gmail.com>
-Date: Mon, 13 Jul 2009 01:23:25 +0000
-Subject: check for getline in configure.in
-
-This fixes a build error encountered on glibc 2.10 systems
----
-diff --git a/configure.in b/configure.in
-index 0c1b42c..08f4ee8 100644
---- a/configure.in
-+++ b/configure.in
-@@ -146,7 +146,7 @@ AC_CHECK_HEADERS(unistd.h stdarg.h)
- dnl Checks for typedefs, structures, and compiler characteristics.
- 
- dnl Checks for library functions.
--AC_CHECK_FUNCS(getopt getopt_long setsid setpgid setpgrp putenv vsnprintf usleep)
-+AC_CHECK_FUNCS(getopt getopt_long setsid setpgid setpgrp putenv vsnprintf usleep getline)
- 
- AC_TYPE_SIGNAL
- 
---
-cgit v0.9.0.2
diff --git a/pkgs/applications/window-managers/stalonetray/default.nix b/pkgs/applications/window-managers/stalonetray/default.nix
index 143e45b5484..fdb81a88b15 100644
--- a/pkgs/applications/window-managers/stalonetray/default.nix
+++ b/pkgs/applications/window-managers/stalonetray/default.nix
@@ -11,10 +11,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="stalonetray";
-    version="0.8.0";
+    version="0.8.1";
     name="${baseName}-${version}";
     url="mirror://sourceforge/${baseName}/${name}.tar.bz2";
-    hash="0ccllmpsmilns6xxl174vgcjf8kfakcrhg3psc4cg0yynqbi2mka";
+    hash="1wp8pnlv34w7xizj1vivnc3fkwqq4qgb9dbrsg15598iw85gi8ll";
   };
 in
 rec {
diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix
new file mode 100644
index 00000000000..03563a4f812
--- /dev/null
+++ b/pkgs/applications/window-managers/sxhkd/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, asciidoc, libxcb, xcbutil, xcbutilkeysyms, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+  name = "sxhkd-0.5.4";
+ 
+  src = fetchurl {
+    url = "https://github.com/baskerville/sxhkd/archive/0.5.4.tar.gz";
+    sha256 = "de95f97155319ded41ece9403ac9e9f18bfdd914a09f553ab09b331bbfe5d332";
+  };
+  
+  buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ];
+
+  buildPhase = ''
+     make PREFIX=$out
+  '';
+
+  installPhase = ''
+     make PREFIX=$out install
+  '';
+
+  meta = {
+    description = "Simple X hotkey daemon";
+    homepage = "http://github.com/baskerville/sxhkd";
+    license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/tabbed/default.nix b/pkgs/applications/window-managers/tabbed/default.nix
index 3ab950bf4d0..2dec3b2241f 100644
--- a/pkgs/applications/window-managers/tabbed/default.nix
+++ b/pkgs/applications/window-managers/tabbed/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
  
   src = fetchhg {
     url = http://hg.suckless.org/tabbed;
-    tag = "d7542a6f6dc5";
+    rev = "d7542a6f6dc5";
     sha256 = "1963jsazfmh5k7923c1mfwppz1xbh48z16j0sa64fiscq22as2gj";
   };
 
diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix
index b8ecf81f7fc..43a1d2b8e79 100644
--- a/pkgs/applications/window-managers/trayer/default.nix
+++ b/pkgs/applications/window-managers/trayer/default.nix
@@ -1,28 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, gdk_pixbuf, gtk, libXmu }:
+{ stdenv, fetchFromGitHub, pkgconfig, gdk_pixbuf, gtk, libXmu }:
 
 stdenv.mkDerivation rec {
-  name = "trayer-1.1.5";
+  name = "trayer-1.1.6";
 
   buildInputs = [ pkgconfig gdk_pixbuf gtk libXmu ];
 
-  src = fetchurl {
-          url = "https://github.com/sargon/trayer-srg/tarball/${name}";
-          name = "${name}.tar.gz";
-          sha256 = "98804500188c0bb99c7389ebea4b2e4dfffa2f3d06dc97e633b4934cf7c29757";
-        };
+  src = fetchFromGitHub {
+    owner = "sargon";
+    repo = "trayer-srg";
+    rev = name;
+    sha256 = "0mmya7a1qh3zyqgvcx5fz2lvr9n0ilr490l1j3z4myahi4snk2mg";
+  };
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://github.com/sargon/trayer-srg;
-
-    license = "bsd";
-
+    license = licenses.mit;
     description = "A lightweight GTK2-based systray for UNIX desktop";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainer = with maintainers; [ pSub ];
   };
 }
 
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 2c1044d6937..73a6412afab 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,31 +1,33 @@
 { stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
 , cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
-, libjpeg, pam, autoconf, automake, libtool }:
+, libjpeg, pam, autoconf, automake, libtool, dbus }:
 
-let version = "1.0.5"; in
+let version = "1.5.0"; in
 
 stdenv.mkDerivation rec {
   name = "weston-${version}";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0";
+    sha256 = "113nig2dmbgrjhi79k0zw77vicnx8vkaihawd0nsg6n79ah8nf06";
   };
 
-  buildInputs = [ pkgconfig wayland mesa libxkbcommon
-    cairo libxcb libXcursor x11 udev libdrm mtdev
-    libjpeg pam autoconf automake libtool ];
+  #ToDo: libinput can be split away
+  buildInputs = [
+    pkgconfig wayland mesa libxkbcommon
+    cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam dbus.libs
+  ];
 
-  preConfigure = "autoreconf -vfi";
+  NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm";
 
-  # prevent install target to chown root weston-launch, which fails
-  configureFlags = ''
-    --disable-setuid-install
-  '';
+  configureFlags = [
+    "--disable-setuid-install" # prevent install target to chown root weston-launch, which fails
+  ];
 
   meta = {
     description = "Reference implementation of a Wayland compositor";
     homepage = http://wayland.freedesktop.org/;
     license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/windowmaker/default.nix b/pkgs/applications/window-managers/windowmaker/default.nix
index 2b146a78cb3..bbb6c038825 100644
--- a/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "windowmaker-${version}";
-  version = "0.95.4";
+  version = "0.95.5";
 
   src = fetchurl {
     url = "http://windowmaker.org/pub/source/release/"
         + "WindowMaker-${version}.tar.gz";
-    sha256 = "0icffqnmkkjjf412m27wljbf9vxb2ry4aiyi2pqmzw3h0pq9gsib";
+    sha256 = "1l3hmx4jzf6vp0zclqx9gsqrlwh4rvqm1g1zr5ha0cp0zmsg89ab";
   };
 
   buildInputs = [ pkgconfig libX11 libXft libXmu ];
diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix
index 0b8b71db7e9..08b85a5530f 100644
--- a/pkgs/applications/window-managers/xmonad/default.nix
+++ b/pkgs/applications/window-managers/xmonad/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, filepath, mtl, utf8String, X11 }:
 
 cabal.mkDerivation (self: {
@@ -10,9 +12,14 @@ cabal.mkDerivation (self: {
     extensibleExceptions filepath mtl utf8String X11
   ];
   postInstall = ''
+    shopt -s globstar
     mkdir -p $out/share/man/man1
-    mv $out/share/xmonad-*/man/*.1 $out/share/man/man1/
+    mv "$out/"**"/man/"*.1 $out/share/man/man1/
   '';
+  patches = [
+    # Patch to make xmonad use XMONAD_{GHC,XMESSAGE} (if available).
+    ./xmonad_ghc_var_0.11.patch
+  ];
   meta = {
     homepage = "http://xmonad.org";
     description = "A tiling window manager";
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
index 5c00ddf0fd1..086d80963d8 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, mtl, random, utf8String, X11, X11Xft
 , xmonad
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmonad-contrib";
-  version = "0.11.2";
-  sha256 = "0qlc732m6mhvx7g10r69hk5x460kjv2r04s91cnn5yfiia1qfpai";
+  version = "0.11.3";
+  sha256 = "14h9vr33yljymswj50wbimav263y9abdcgi07mvfis0zd08rxqxa";
   buildDepends = [
     extensibleExceptions mtl random utf8String X11 X11Xft xmonad
   ];
@@ -14,9 +16,6 @@ cabal.mkDerivation (self: {
     description = "Third party extensions for xmonad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
index 1976e393baa..87ee4994e45 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hint, libmpd, mtl, network, parsec, random, regexPosix
 , split, X11, xmonad, xmonadContrib
 }:
@@ -17,9 +19,6 @@ cabal.mkDerivation (self: {
     description = "Third party extensions for xmonad with wacky dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch b/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch
new file mode 100644
index 00000000000..f0785773cc1
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch
@@ -0,0 +1,44 @@
+--- xmonad-0.11/XMonad/Core.hs	2013-01-01 01:31:47.000000000 +0000
++++ new-xmonad/XMonad/Core.hs	2013-12-23 17:36:40.862146910 +0000
+@@ -47,6 +47,7 @@
+ import System.Process
+ import System.Directory
+ import System.Exit
++import System.Environment (lookupEnv)
+ import Graphics.X11.Xlib
+ import Graphics.X11.Xlib.Extras (Event)
+ import Data.Typeable
+@@ -452,6 +453,7 @@
+         err  = base ++ ".errors"
+         src  = base ++ ".hs"
+         lib  = dir </> "lib"
++    ghc <- fromMaybe "ghc" <$> liftIO (lookupEnv "XMONAD_GHC")
+     libTs <- mapM getModTime . Prelude.filter isSource =<< allFiles lib
+     srcT <- getModTime src
+     binT <- getModTime bin
+@@ -460,7 +462,7 @@
+         -- temporarily disable SIGCHLD ignoring:
+         uninstallSignalHandlers
+         status <- bracket (openFile err WriteMode) hClose $ \h ->
+-            waitForProcess =<< runProcess "ghc" ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
++            waitForProcess =<< runProcess ghc ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
+                                     Nothing Nothing Nothing (Just h)
+ 
+         -- re-enable SIGCHLD:
+@@ -469,6 +471,7 @@
+         -- now, if it fails, run xmessage to let the user know:
+         when (status /= ExitSuccess) $ do
+             ghcErr <- readFile err
++            xmessage <- fromMaybe "xmessage" <$> liftIO (lookupEnv "XMONAD_XMESSAGE")
+             let msg = unlines $
+                     ["Error detected while loading xmonad configuration file: " ++ src]
+                     ++ lines (if null ghcErr then show status else ghcErr)
+@@ -476,7 +479,7 @@
+             -- nb, the ordering of printing, then forking, is crucial due to
+             -- lazy evaluation
+             hPutStrLn stderr msg
+-            forkProcess $ executeFile "xmessage" True ["-default", "okay", msg] Nothing
++            forkProcess $ executeFile xmessage True ["-default", "okay", msg] Nothing
+             return ()
+         return (status == ExitSuccess)
+       else return True
diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix
index 8756c4835b2..e807a04628a 100644
--- a/pkgs/build-support/build-fhs-chrootenv/default.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/default.nix
@@ -3,8 +3,10 @@ bashInteractive, xz, shadow, gawk, less, buildEnv}:
 {name, pkgs ? [], profile ? ""}:
 
 let
-  basePkgs = [ glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar gzip bzip2 
-bashInteractive xz shadow gawk less ];
+  basePkgs = [
+    glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar
+    gzip bzip2 bashInteractive xz shadow gawk less
+  ];
 
   # Compose a global profile for the chroot environment
   profilePkg = stdenv.mkDerivation {
@@ -31,16 +33,16 @@ bashInteractive xz shadow gawk less ];
   mountSh = ./mount.sh.in;
   loadSh = ./load.sh.in;
   umountSh = ./umount.sh.in;
-  destroySh = ./destroy.sh.in;                                                                                       
-in                                                                                                                   
-stdenv.mkDerivation {                                                                                                
-  name = "${name}-chrootenv";                                                                                        
-  buildCommand = ''                                                                                                  
-    mkdir -p $out/sw                                                                                                 
-    cd $out/sw                                                                                                       
-                                                                                                                     
-    for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var}                                                      
-    do                                                                                                               
+  destroySh = ./destroy.sh.in;
+in
+stdenv.mkDerivation {
+  name = "${name}-chrootenv";
+  buildCommand = ''
+    mkdir -p $out/sw
+    cd $out/sw
+    
+    for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var}
+    do
         if [ -x "$i" ]
         then
             ln -s "$i"
diff --git a/pkgs/build-support/build-fhs-chrootenv/init.sh.in b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
index 2dfa95219c8..5b0ab94bc4e 100644
--- a/pkgs/build-support/build-fhs-chrootenv/init.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
@@ -36,9 +36,9 @@ rm $chrootenvDest/etc/pam.d
 ln -s ../host-etc/static/pam.d $chrootenvDest/etc/pam.d
 
 # Symlink Font stuff
-mkdir $chrootenvDest/etc/fonts
+mkdir -p $chrootenvDest/etc/fonts
 ln -s ../../host-etc/static/fonts/fonts.conf $chrootenvDest/etc/fonts
-mkdir $chrootenvDest/etc/fonts/conf.d
+mkdir -p $chrootenvDest/etc/fonts/conf.d
 ln -s ../../../host-etc/static/fonts/conf.d/00-nixos.conf $chrootenvDest/etc/fonts/conf.d
 
 # Create root folder
diff --git a/pkgs/build-support/build-fhs-chrootenv/load.sh.in b/pkgs/build-support/build-fhs-chrootenv/load.sh.in
index 8d3f464186b..6089fa27585 100644
--- a/pkgs/build-support/build-fhs-chrootenv/load.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/load.sh.in
@@ -3,4 +3,4 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Enter the LFS chroot environment
-chroot $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="/root" PATH="/bin:/sbin" /bin/bash --login
+sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="$HOME" PATH="/bin:/sbin" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" /bin/bash --login
diff --git a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
index 68459cca256..225d9dbc4f7 100644
--- a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
@@ -17,7 +17,7 @@ mount --bind /home $chrootenvDest/home
 
 # Bind mount state directories
 mount --bind /var $chrootenvDest/var
-mount --bind /run $chrootenvDest/run
+mount --rbind /run $chrootenvDest/run
 
 # Bind mount the host system's /etc
 mount --bind /etc $chrootenvDest/host-etc
diff --git a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
index 29d631fbd90..5089141c0aa 100644
--- a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
@@ -2,5 +2,5 @@
 
 chrootenvDest=/run/chrootenv/@name@
 
-# Unmount all bind mounts
-umount $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}
+# Unmount all (r)bind mounts
+umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}
diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix
new file mode 100644
index 00000000000..135b68186f3
--- /dev/null
+++ b/pkgs/build-support/build-pecl.nix
@@ -0,0 +1,23 @@
+{ stdenv, php, autoreconfHook, fetchurl }:
+
+{ name
+, buildInputs ? []
+, makeFlags ? []
+, src ? fetchurl {
+    url = "http://pecl.php.net/get/${name}.tgz";
+    inherit (args) sha256;
+  }
+, ...
+}@args:
+
+stdenv.mkDerivation (args // {
+  name = "php-${name}";
+
+  inherit src;
+
+  buildInputs = [ php autoreconfHook ] ++ buildInputs;
+
+  makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
+
+  autoreconfPhase = "phpize";
+})
diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix
index 63e4481e4e3..293291dc1da 100644
--- a/pkgs/build-support/buildenv/default.nix
+++ b/pkgs/build-support/buildenv/default.nix
@@ -23,10 +23,12 @@
 
 , # Shell command to run after building the symlink tree.
   postBuild ? ""
+
+, passthru ? {}
 }:
 
 runCommand name
-  { inherit manifest paths ignoreCollisions pathsToLink postBuild;
+  { inherit manifest paths ignoreCollisions passthru pathsToLink postBuild;
     preferLocalBuild = true;
   }
   ''
diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix
index e22aa6bc66e..5c9ec402d4b 100644
--- a/pkgs/build-support/builder-defs/builder-defs.nix
+++ b/pkgs/build-support/builder-defs/builder-defs.nix
@@ -545,11 +545,11 @@ let inherit (builtins) head tail trace; in
            mkdir -p $out/share/texmf/fonts/enc/${retrievedName}
            mkdir -p $out/share/texmf/fonts/map/${retrievedName}
 
-        cp *.ttf $out/share/fonts/truetype/public/${retrievedName} || echo No TrueType fonts
-        cp *.otf $out/share/fonts/opentype/public/${retrievedName} || echo No OpenType fonts
-           cp *.{pfm,afm,pfb} $out/share/fonts/type1/public/${retrievedName} || echo No Type1 Fonts
-           cp *.enc $out/share/texmf/fonts/enc/${retrievedName} || echo No fontenc data
-           cp *.map $out/share/texmf/fonts/map/${retrievedName} || echo No fontmap data
+           find -name '*.ttf' -exec cp {} $out/share/fonts/truetype/public/${retrievedName} \;
+           find -name '*.otf' -exec cp {} $out/share/fonts/opentype/public/${retrievedName} \;
+           find -name '*.pfm' -o -name '*.afm' -o -name '*.pfb' -exec cp {} $out/share/fonts/type1/public/${retrievedName} \;
+           find -name '*.enc' -exec cp {} $out/share/texmf/fonts/enc/${retrievedName} \;
+           find -name '*.map' -exec cp {} $out/share/texmf/fonts/map/${retrievedName} \;
    '') ["minInit" "defEnsureDir"];
 
    simplyShare = shareName: fullDepEntry (''
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix
index 9b6d8c4e80e..d73b4a1f364 100644
--- a/pkgs/build-support/cabal/default.nix
+++ b/pkgs/build-support/cabal/default.nix
@@ -1,10 +1,14 @@
 # generic builder for Cabal packages
 
 { stdenv, fetchurl, lib, pkgconfig, ghc, Cabal, jailbreakCabal, glibcLocales
+, gnugrep, coreutils, hscolour
 , enableLibraryProfiling ? false
 , enableSharedLibraries ? false
 , enableSharedExecutables ? false
+, enableStaticLibraries ? true
 , enableCheckPhase ? stdenv.lib.versionOlder "7.4" ghc.version
+, enableHyperlinkSource ? true
+, extension ? (self : super : {})
 }:
 
 let
@@ -14,6 +18,11 @@ let
   optionals             = stdenv.lib.optionals;
   optionalString        = stdenv.lib.optionalString;
   filter                = stdenv.lib.filter;
+
+  defaultSetupHs        = builtins.toFile "Setup.hs" ''
+                            import Distribution.Simple
+                            main = defaultMain
+                          '';
 in
 
 # Cabal shipped with GHC 6.12.4 or earlier doesn't know the "--enable-tests configure" flag.
@@ -25,6 +34,9 @@ assert enableSharedExecutables -> versionOlder "7.4" ghc.version;
 # Our GHC 6.10.x builds do not provide sharable versions of their core libraries.
 assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
 
+# Pure shared library builds don't work before GHC 7.8.x.
+assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
+
 {
   mkDerivation =
     args : # arguments for the individual package, can modify the defaults
@@ -42,7 +54,9 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
           x : (removeAttrs x internalAttrs) // {
                 buildInputs           = filter (y : ! (y == null)) x.buildInputs;
                 propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
+                propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
                 doCheck               = enableCheckPhase && x.doCheck;
+                hyperlinkSource       = enableHyperlinkSource && x.hyperlinkSource;
               };
 
         defaults =
@@ -73,9 +87,7 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
             # the default download location for Cabal packages is Hackage,
             # you still have to specify the checksum
             src = fetchurl {
-              # cannot use mirrors system because of subtly different directory structures
-              urls = ["http://hackage.haskell.org/packages/archive/${self.pname}/${self.version}/${self.fname}.tar.gz"
-                      "http://hdiff.luite.com/packages/archive/${self.pname}/${self.fname}.tar.gz"];
+              url = "mirror://hackage/${self.pname}/${self.fname}.tar.gz";
               inherit (self) sha256;
             };
 
@@ -85,6 +97,7 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
             buildInputs = [ghc Cabal] ++ self.extraBuildInputs;
             extraBuildInputs = self.buildTools ++
                                (optionals self.doCheck self.testDepends) ++
+                               (optional self.hyperlinkSource hscolour) ++
                                (if self.pkgconfigDepends == [] then [] else [pkgconfig]) ++
                                (if self.isLibrary then [] else self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends);
 
@@ -92,12 +105,19 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
             # have to check for its existence
             propagatedBuildInputs = if self.isLibrary then self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends else [];
 
+            # By default, also propagate all dependencies to the user environment. This is required, otherwise packages would be broken, because
+            # GHC also needs all dependencies to be available.
+            propagatedUserEnvPkgs = if self.isLibrary then self.buildDepends else [];
+
             # library directories that have to be added to the Cabal files
             extraLibDirs = [];
 
             # build-depends Cabal field
             buildDepends = [];
 
+            # target(s) passed to the cabal build phase as an argument
+            buildTarget = "";
+
             # build-depends Cabal fields stated in test-suite stanzas
             testDepends = [];
 
@@ -120,14 +140,23 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
             jailbreak = false;
 
             # pass the '--enable-split-objs' flag to cabal in the configure stage
-            enableSplitObjs = !(  stdenv.isDarwin                       # http://hackage.haskell.org/trac/ghc/ticket/4013
-                               || versionOlder "7.6.99" ghc.version     # -fsplit-ojbs is broken in 7.7 snapshot
-                               );
+            enableSplitObjs = !stdenv.isDarwin;         # http://hackage.haskell.org/trac/ghc/ticket/4013
 
             # pass the '--enable-tests' flag to cabal in the configure stage
             # and run any regression test suites the package might have
             doCheck = enableCheckPhase;
 
+            # pass the '--hyperlink-source' flag to ./Setup haddock
+            hyperlinkSource = enableHyperlinkSource;
+
+            # abort the build if the configure phase detects that the package
+            # depends on multiple versions of the same build input
+            strictConfigurePhase = true;
+
+            # pass the '--enable-library-vanilla' flag to cabal in the
+            # configure stage to enable building shared libraries
+            inherit enableStaticLibraries;
+
             # pass the '--enable-shared' flag to cabal in the configure
             # stage to enable building shared libraries
             inherit enableSharedLibraries;
@@ -140,6 +169,7 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
               (enableFeature self.enableSplitObjs "split-objs")
               (enableFeature enableLibraryProfiling "library-profiling")
               (enableFeature self.enableSharedLibraries "shared")
+              (optional (versionOlder "7" ghc.version) (enableFeature self.enableStaticLibraries "library-vanilla"))
               (optional (versionOlder "7.4" ghc.version) (enableFeature self.enableSharedExecutables "executable-dynamic"))
               (optional (versionOlder "7" ghc.version) (enableFeature self.doCheck "tests"))
             ];
@@ -154,9 +184,10 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
 
               ${optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
 
-              for i in Setup.hs Setup.lhs; do
-                test -f $i && ghc --make $i
+              for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
+                test -f $i && break
               done
+              ghc --make -o Setup -odir $TMPDIR $i
 
               for p in $extraBuildInputs $propagatedNativeBuildInputs; do
                 if [ -d "$p/lib/ghc-${ghc.ghc.version}/package.conf.d" ]; then
@@ -173,8 +204,26 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
                 done
               done
 
+              ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) ''
+                configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"
+              ''}
+              ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
+                configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"
+              ''}
+              ${optionalString (versionOlder "7.8" ghc.version) ''
+                configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
+              ''}
+
               echo "configure flags: $extraConfigureFlags $configureFlags"
-              ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' --libsubdir='$pkgid' $extraConfigureFlags $configureFlags
+              ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
+                --libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \
+              ${optionalString self.strictConfigurePhase ''
+                | ${coreutils}/bin/tee "$NIX_BUILD_TOP/cabal-configure.log"
+                if ${gnugrep}/bin/egrep -q '^Warning:.*depends on multiple versions' "$NIX_BUILD_TOP/cabal-configure.log"; then
+                  echo >&2 "*** abort because of serious configure-time warning from Cabal"
+                  exit 1
+                fi
+              ''}
 
               eval "$postConfigure"
             '';
@@ -183,10 +232,11 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
             buildPhase = ''
               eval "$preBuild"
 
-              ./Setup build
+              ./Setup build ${self.buildTarget}
 
               export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
-              test -n "$noHaddock" || ./Setup haddock
+              test -n "$noHaddock" || ./Setup haddock --html --hoogle \
+                  ${optionalString self.hyperlinkSource "--hyperlink-source"}
 
               eval "$postBuild"
             '';
@@ -207,12 +257,12 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
 
               ./Setup copy
 
-              ensureDir $out/bin # necessary to get it added to PATH
+              mkdir -p $out/bin # necessary to get it added to PATH
 
               local confDir=$out/lib/ghc-${ghc.ghc.version}/package.conf.d
               local installedPkgConf=$confDir/${self.fname}.installedconf
               local pkgConf=$confDir/${self.fname}.conf
-              ensureDir $confDir
+              mkdir -p $confDir
               ./Setup register --gen-pkg-config=$pkgConf
               if test -f $pkgConf; then
                 echo '[]' > $installedPkgConf
@@ -223,6 +273,13 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
                 ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
               fi
 
+              ${optionalString (self.enableSharedExecutables && self.isExecutable && self.stdenv.isDarwin) ''
+                for exe in "$out/bin/"* ; do
+                  install_name_tool -add_rpath \
+                    $out/lib/${ghc.ghc.name}/${self.pname}-${self.version} $exe
+                done
+              ''}
+
               eval "$postInstall"
             '';
 
@@ -230,5 +287,8 @@ assert enableSharedLibraries -> versionOlder "6.12" ghc.version;
             # in Cabal derivations.
             inherit stdenv ghc;
           };
-    in  stdenv.mkDerivation (postprocess ((rec { f = defaults f // args f; }).f)) ;
+    in
+    stdenv.mkDerivation (postprocess (let super = defaults self // args self;
+                                          self  = super // extension self super;
+                                      in self));
 }
diff --git a/pkgs/build-support/clang-wrapper/add-flags b/pkgs/build-support/clang-wrapper/add-flags
index 3b064547153..7a9711290aa 100644
--- a/pkgs/build-support/clang-wrapper/add-flags
+++ b/pkgs/build-support/clang-wrapper/add-flags
@@ -21,4 +21,4 @@ if test -e @out@/nix-support/libc-ldflags-before; then
     export NIX_LDFLAGS_BEFORE="$(cat @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE"
 fi
 
-export NIX_CLANG_WRAPPER_FLAGS_SET=1
+export NIX_GCC_WRAPPER_FLAGS_SET=1
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
index 9f1542e0411..0cdb2b96135 100644
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ b/pkgs/build-support/clang-wrapper/builder.sh
@@ -58,11 +58,17 @@ fi
 doSubstitute() {
     local src=$1
     local dst=$2
+    local uselibcxx=
+    local uselibcxxabi=
+    if test -n "$libcxx" && echo $dst | fgrep ++; then uselibcxx=$libcxx; fi
+    if test -n "$libcxxabi" && echo $dst | fgrep ++; then uselibcxxabi=$libcxxabi; fi
     # Can't use substitute() here, because replace may not have been
     # built yet (in the bootstrap).
     sed \
         -e "s^@out@^$out^g" \
         -e "s^@shell@^$shell^g" \
+        -e "s^@libcxx@^$uselibcxx^g" \
+        -e "s^@libcxxabi@^$uselibcxxabi^g" \
         -e "s^@clang@^$clang^g" \
         -e "s^@clangProg@^$clangProg^g" \
         -e "s^@binutils@^$binutils^g" \
diff --git a/pkgs/build-support/clang-wrapper/clang-wrapper.sh b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
index 2052d2c2eb4..57715274f1e 100644
--- a/pkgs/build-support/clang-wrapper/clang-wrapper.sh
+++ b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
@@ -1,10 +1,10 @@
 #! @shell@ -e
 
-if test -n "$NIX_CLANG_WRAPPER_START_HOOK"; then
-    source "$NIX_CLANG_WRAPPER_START_HOOK"
+if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
+    source "$NIX_GCC_WRAPPER_START_HOOK"
 fi
 
-if test -z "$NIX_CLANG_WRAPPER_FLAGS_SET"; then
+if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
     source @out@/nix-support/add-flags.sh
 fi
 
@@ -52,7 +52,6 @@ if test "$nonFlagArgs" = "0"; then
     dontLink=1
 fi
 
-
 # Optionally filter out paths not refering to the store.
 params=("$@")
 if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
@@ -77,8 +76,13 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
         n=$((n + 1))
     done
     params=("${rest[@]}")
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE --sysroot=/var/empty"
 fi
 
+if test -n "@libcxx@"; then
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem@libcxx@/include/c++/v1 -stdlib=libc++"
+    NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -L@libcxx@/lib -stdlib=libc++ -L@libcxxabi@/lib -lc++abi"
+fi
 
 # Add the flags for the C compiler proper.
 extraAfter=($NIX_CFLAGS_COMPILE)
@@ -134,7 +138,6 @@ if test -n "$NIX_CLANG_WRAPPER_EXEC_HOOK"; then
     source "$NIX_CLANG_WRAPPER_EXEC_HOOK"
 fi
 
-
 # Call the real `clang'.  Filter out warnings from stderr about unused
 # `-B' flags, since they confuse some programs.  Deep bash magic to
 # apply grep to stderr (by swapping stdin/stderr twice).
diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix
index 9f560d0d2fb..7a5d87127d9 100644
--- a/pkgs/build-support/clang-wrapper/default.nix
+++ b/pkgs/build-support/clang-wrapper/default.nix
@@ -7,7 +7,7 @@
 
 { name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
 , clang ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null
+, zlib ? null, libcxx ? null
 }:
 
 assert nativeTools -> nativePrefix != "";
@@ -18,28 +18,31 @@ let
 
   clangVersion = (builtins.parseDrvName clang.name).version;
   clangName = (builtins.parseDrvName clang.name).name;
-  
+
 in
 
 stdenv.mkDerivation {
   name =
     (if name != "" then name else clangName + "-wrapper") +
     (if clang != null && clangVersion != "" then "-" + clangVersion else "");
-  
+
   builder = ./builder.sh;
   setupHook = ./setup-hook.sh;
   clangWrapper = ./clang-wrapper.sh;
-  ldWrapper = ./ld-wrapper.sh;
-  utils = ./utils.sh;
+  ldWrapper = ../gcc-wrapper/ld-wrapper.sh;
+  utils = ../gcc-wrapper/utils.sh;
   addFlags = ./add-flags;
-  
-  inherit nativeTools nativeLibc nativePrefix clang clangVersion;
+
+  inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx;
+
+  libcxxabi = libcxx.abi or null;
+
   gcc = clang.gcc;
   libc = if nativeLibc then null else libc;
   binutils = if nativeTools then null else binutils;
   # The wrapper scripts use 'cat', so we may need coreutils
   coreutils = if nativeTools then null else coreutils;
-  
+
   langC = true;
   langCC = true;
   shell = if shell == "" then stdenv.shell else
@@ -62,7 +65,7 @@ stdenv.mkDerivation {
        if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
        abort "don't know the name of the dynamic linker for this platform");
   };
-  
+
   meta =
     let clang_ = if clang != null then clang else {}; in
     (if clang_ ? meta then removeAttrs clang.meta ["priority"] else {}) //
@@ -81,4 +84,6 @@ stdenv.mkDerivation {
        if stdenv.system == "mips64el-linux" then "ld.so.1" else
        abort "don't know the name of the dynamic linker for this platform")
     else "";
+
+  preferLocalBuild = true;
 }
diff --git a/pkgs/build-support/clang-wrapper/ld-wrapper.sh b/pkgs/build-support/clang-wrapper/ld-wrapper.sh
deleted file mode 100644
index 48378778ba9..00000000000
--- a/pkgs/build-support/clang-wrapper/ld-wrapper.sh
+++ /dev/null
@@ -1,161 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_LD_WRAPPER_START_HOOK"; then
-    source "$NIX_LD_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_CLANG_WRAPPER_FLAGS_SET"; then
-    source @out@/nix-support/add-flags.sh
-fi
-
-source @out@/nix-support/utils.sh
-
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \
-        -a \( -z "$NIX_IGNORE_LD_THROUGH_CLANG" -o -z "$NIX_LDFLAGS_SET" \); then
-    rest=()
-    n=0
-    while test $n -lt ${#params[*]}; do
-        p=${params[n]}
-        p2=${params[$((n+1))]}
-        if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
-            skip $p
-        elif test "$p" = "-L" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "$p" = "-rpath" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "$p" = "-dynamic-linker" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "${p:0:1}" = "/" && badPath "$p"; then
-            # We cannot skip this; barf.
-            echo "impure path \`$p' used in link" >&2
-            exit 1
-        else
-            rest=("${rest[@]}" "$p")
-        fi
-        n=$((n + 1))
-    done
-    params=("${rest[@]}")
-fi
-
-
-extra=()
-extraBefore=()
-
-if test -z "$NIX_LDFLAGS_SET"; then
-    extra=(${extra[@]} $NIX_LDFLAGS)
-    extraBefore=(${extraBefore[@]} $NIX_LDFLAGS_BEFORE)
-fi
-
-
-# Add all used dynamic libraries to the rpath.
-if test "$NIX_DONT_SET_RPATH" != "1"; then
-
-    libPath=""
-    addToLibPath() {
-        local path="$1"
-        if test "${path:0:1}" != "/"; then return 0; fi
-        case "$path" in
-            *..*|*./*|*/.*|*//*)
-                local path2
-                if path2=$(readlink -f "$path"); then
-                    path="$path2"
-                fi
-                ;;
-        esac
-        case $libPath in
-            *\ $path\ *) return 0 ;;
-        esac
-        libPath="$libPath $path "
-    }
-    
-    addToRPath() {
-        # If the path is not in the store, don't add it to the rpath.
-        # This typically happens for libraries in /tmp that are later
-        # copied to $out/lib.  If not, we're screwed.
-        if test "${1:0:${#NIX_STORE}}" != "$NIX_STORE"; then return 0; fi
-        case $rpath in
-            *\ $1\ *) return 0 ;;
-        esac
-        rpath="$rpath $1 "
-    }
-
-    libs=""
-    addToLibs() {
-        libs="$libs $1"
-    }
-
-    rpath=""
-
-    # First, find all -L... switches.
-    allParams=("${params[@]}" ${extra[@]})
-    n=0
-    while test $n -lt ${#allParams[*]}; do
-        p=${allParams[n]}
-        p2=${allParams[$((n+1))]}
-        if test "${p:0:3}" = "-L/"; then
-            addToLibPath ${p:2}
-        elif test "$p" = "-L"; then
-            addToLibPath ${p2}
-            n=$((n + 1))
-        elif test "$p" = "-l"; then
-            addToLibs ${p2}
-            n=$((n + 1))
-        elif test "${p:0:2}" = "-l"; then
-            addToLibs ${p:2}
-        elif test "$p" = "-dynamic-linker"; then
-            # Ignore the dynamic linker argument, or it 
-            # will get into the next 'elif'. We don't want
-            # the dynamic linker path rpath to go always first.
-            n=$((n + 1))
-        elif [[ "$p" =~ ^[^-].*\.so($|\.) ]]; then
-            # This is a direct reference to a shared library, so add
-            # its directory to the rpath.
-            path="$(dirname "$p")";
-            addToRPath "${path}"
-        fi
-        n=$((n + 1))
-    done
-
-    # Second, for each directory in the library search path (-L...),
-    # see if it contains a dynamic library used by a -l... flag.  If
-    # so, add the directory to the rpath.
-    # It's important to add the rpath in the order of -L..., so
-    # the link time chosen objects will be those of runtime linking.
-    
-    for i in $libPath; do
-        for j in $libs; do
-            if test -f "$i/lib$j.so"; then
-                addToRPath $i
-                break
-            fi
-        done
-    done
-    
-
-    # Finally, add `-rpath' switches.
-    for i in $rpath; do
-        extra=(${extra[@]} -rpath $i)
-    done
-fi
-
-
-# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
-  echo "original flags to @ld@:" >&2
-  for i in "${params[@]}"; do
-      echo "  $i" >&2
-  done
-  echo "extra flags to @ld@:" >&2
-  for i in ${extra[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if test -n "$NIX_LD_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_LD_WRAPPER_EXEC_HOOK"
-fi
-
-exec @ld@ ${extraBefore[@]} "${params[@]}" ${extra[@]}
diff --git a/pkgs/build-support/clang-wrapper/setup-hook.sh b/pkgs/build-support/clang-wrapper/setup-hook.sh
index 74365a52704..f7687651eaf 100644
--- a/pkgs/build-support/clang-wrapper/setup-hook.sh
+++ b/pkgs/build-support/clang-wrapper/setup-hook.sh
@@ -1,6 +1,6 @@
 addCVars () {
     if test -d $1/include; then
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$1/include"
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include"
     fi
 
     if test -d $1/lib64; then
@@ -31,3 +31,6 @@ fi
 if test -n "@coreutils@"; then
     addToSearchPath PATH @coreutils@/bin
 fi
+
+: ${CXX:=clang++}
+export CXX
diff --git a/pkgs/build-support/clang-wrapper/utils.sh b/pkgs/build-support/clang-wrapper/utils.sh
deleted file mode 100644
index 753b3772e95..00000000000
--- a/pkgs/build-support/clang-wrapper/utils.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-skip () {
-    if test "$NIX_DEBUG" = "1"; then
-        echo "skipping impure path $1" >&2
-    fi
-}
-
-
-# Checks whether a path is impure.  E.g., `/lib/foo.so' is impure, but
-# `/nix/store/.../lib/foo.so' isn't.
-badPath() {
-    local p=$1
-    
-    # Relative paths are okay (since they're presumably relative to
-    # the temporary build directory).
-    if test "${p:0:1}" != "/"; then return 1; fi
-    
-    # Otherwise, the path should refer to the store or some temporary
-    # directory (including the build directory).
-    test \
-        "$p" != "/dev/null" -a \
-        "${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
-        "${p:0:4}" != "/tmp" -a \
-        "${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
-}
diff --git a/pkgs/build-support/fetchbower/default.nix b/pkgs/build-support/fetchbower/default.nix
new file mode 100644
index 00000000000..11af6dbedf1
--- /dev/null
+++ b/pkgs/build-support/fetchbower/default.nix
@@ -0,0 +1,9 @@
+{ stdenv, fetch-bower, git }: name: version: target: outputHash: stdenv.mkDerivation {
+  name = "${name}-${version}";
+  realBuilder = "${fetch-bower}/bin/fetch-bower";
+  args = [ name version target ];
+  outputHashMode = "recursive";
+  outputHashAlgo = "sha256";
+  inherit outputHash;
+  PATH = "${git}/bin";
+}
diff --git a/pkgs/build-support/fetchbzr/builder.sh b/pkgs/build-support/fetchbzr/builder.sh
index 17567fdadd2..af1257d3688 100644
--- a/pkgs/build-support/fetchbzr/builder.sh
+++ b/pkgs/build-support/fetchbzr/builder.sh
@@ -1,9 +1,9 @@
 source "$stdenv/setup"
 
-header "exporting \`$url' (revision $revision) into \`$out'"
+header "exporting \`$url' (revision $rev) into \`$out'"
 
 # Perform a lightweight checkout so that we don't end up importing
 # all the repository's history.
-bzr -Ossl.cert_reqs=none export -r "$revision" --format=dir "$out" "$url"
+bzr -Ossl.cert_reqs=none export -r "$rev" --format=dir "$out" "$url"
 
 stopNest
diff --git a/pkgs/build-support/fetchbzr/default.nix b/pkgs/build-support/fetchbzr/default.nix
index 721250beeb3..dd2c0363187 100644
--- a/pkgs/build-support/fetchbzr/default.nix
+++ b/pkgs/build-support/fetchbzr/default.nix
@@ -1,5 +1,5 @@
 { stdenv, bazaar }: 
-{ url, revision, sha256 }:
+{ url, rev, sha256 }:
 
 stdenv.mkDerivation {
   name = "bzr-export";
@@ -11,5 +11,5 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = sha256;
   
-  inherit url revision;
+  inherit url rev;
 }
diff --git a/pkgs/build-support/fetchbzr/nix-prefetch-bzr b/pkgs/build-support/fetchbzr/nix-prefetch-bzr
index 9ff86c20ae3..2f46819323f 100755
--- a/pkgs/build-support/fetchbzr/nix-prefetch-bzr
+++ b/pkgs/build-support/fetchbzr/nix-prefetch-bzr
@@ -52,6 +52,8 @@ if test -z "$finalPath"; then
     # Perform the checkout.
     bzr -Ossl.cert_reqs=none export $revarg --format=dir "$tmpFile" "$url"
 
+    echo "bzr revision is $(bzr revno $revarg "$url")"
+
     # Compute the hash.
     hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
     if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
diff --git a/pkgs/build-support/fetchdarcs/builder.sh b/pkgs/build-support/fetchdarcs/builder.sh
index efff5ff5ebf..301deb98307 100644
--- a/pkgs/build-support/fetchdarcs/builder.sh
+++ b/pkgs/build-support/fetchdarcs/builder.sh
@@ -2,9 +2,9 @@ source $stdenv/setup
 
 tagtext=""
 tagflags=""
-if test -n "$tag"; then
-    tagtext="(tag $tag) "
-    tagflags="--tag=$tag"
+if test -n "$rev"; then
+    tagtext="(tag $rev) "
+    tagflags="--tag=$rev"
 elif test -n "$context"; then
     tagtext="(context) "
     tagflags="--context=$context"
diff --git a/pkgs/build-support/fetchdarcs/default.nix b/pkgs/build-support/fetchdarcs/default.nix
index 63e4ecde88a..3c2e0524eea 100644
--- a/pkgs/build-support/fetchdarcs/default.nix
+++ b/pkgs/build-support/fetchdarcs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, darcs, nix}: {url, tag ? null, context ? null, md5 ? "", sha256 ? ""}:
+{stdenv, darcs, nix}: {url, rev ? null, context ? null, md5 ? "", sha256 ? ""}:
 
 stdenv.mkDerivation {
   name = "fetchdarcs";
@@ -9,5 +9,5 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = if sha256 == "" then md5 else sha256;
   
-  inherit url tag context;
+  inherit url rev context;
 }
diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh
index 5c7d92698cc..9050cce6ee8 100644
--- a/pkgs/build-support/fetchgit/builder.sh
+++ b/pkgs/build-support/fetchgit/builder.sh
@@ -6,6 +6,8 @@ source $stdenv/setup
 
 header "exporting $url (rev $rev) into $out"
 
-$fetcher --builder --url "$url" --out "$out" --rev "$rev" ${leaveDotGit:+--leave-dotGit}
+$fetcher --builder --url "$url" --out "$out" --rev "$rev" \
+  ${leaveDotGit:+--leave-dotGit} \
+  ${fetchSubmodules:+--fetch-submodules}
 
 stopNest
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index e94e4185936..a17daf9a2c5 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -1,5 +1,5 @@
 {stdenv, git, cacert}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false }:
+{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true}:
 
 /* NOTE:
    fetchgit has one problem: git fetch only works for refs.
@@ -23,6 +23,8 @@
    server admins start using the new version?
 */
 
+assert md5 != "" || sha256 != "";
+
 stdenv.mkDerivation {
   name = "git-export";
   builder = ./builder.sh;
@@ -33,7 +35,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = if sha256 == "" then md5 else sha256;
 
-  inherit url rev leaveDotGit;
+  inherit url rev leaveDotGit fetchSubmodules;
 
   GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt";
 
@@ -44,5 +46,7 @@ stdenv.mkDerivation {
     # by definition pure.
     "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
     ];
+
+  preferLocalBuild = true;
 }
 
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 00cd7d3129b..fcb01262783 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -6,6 +6,7 @@ expHash=
 hashType=$NIX_HASH_ALGO
 deepClone=$NIX_PREFETCH_GIT_DEEP_CLONE
 leaveDotGit=$NIX_PREFETCH_GIT_LEAVE_DOT_GIT
+fetchSubmodules=
 builder=
 
 if test -n "$deepClone"; then
@@ -33,6 +34,7 @@ for arg; do
       --deepClone) deepClone=true;;
       --no-deepClone) deepClone=false;;
       --leave-dotGit) leaveDotGit=true;;
+      --fetch-submodules) fetchSubmodules=true;;
       --builder) builder=true;;
       *)
           argi=$(($argi + 1))
@@ -66,6 +68,7 @@ Options:
       --deepClone     Clone submodules recursively.
       --no-deepClone  Do not clone submodules.
       --leave-dotGit  Keep the .git directories.
+      --fetch-submodules Fetch submodules.
       --builder       Clone as fetchgit does, but url, rev, and out option are mandatory.
 "
     exit 1
@@ -142,9 +145,17 @@ init_submodules(){
     git submodule status |
     while read l; do
         # checkout each submodule
-        local hash=$(echo $l | sed 's,^-\([0-9a-f]*\) \(.*\)$,\1,');
-        local dir=$(echo $l | sed 's,^-\([0-9a-f]*\) \(.*\)$,\2,');
-        local url=$(sed -n "\,$dir, { :loop; n; s,^.*url = ,,; T loop; p; q }" .git/config);
+        local hash=$(echo $l | awk '{print substr($1,2)}');
+        local dir=$(echo $l | awk '{print $2}');
+        local name=$(
+            git config -f .gitmodules --get-regexp submodule\.[^.]*\.path |
+            sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
+        local url=$(git config -f .gitmodules --get ${name}.url);
+
+        # Get Absolute URL if we have a relative URL
+        if ! echo "$url" | grep '^[a-zA-Z]\+://' >/dev/null 2>&1; then
+          url="$(git config --get remote.origin.url)/$url"
+        fi
 
         clone "$dir" "$url" "$hash" "";
     done;
@@ -170,7 +181,9 @@ clone(){
     )
 
     # Checkout linked sources.
-    init_submodules;
+    if test -n "$fetchSubmodules"; then
+        init_submodules;
+    fi
 
     if [ -z "$builder" -a -f .topdeps ]; then
 	if tg help 2>&1 > /dev/null
@@ -204,11 +217,19 @@ clone_user_rev() {
             fi;;
     esac
 
+    local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)
+    echo "git revision is $full_revision"
+    echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))"
+
     # Allow doing additional processing before .git removal
     eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
     if test -z "$leaveDotGit"; then
 	echo "removing \`.git'..." >&2
         find $dir -name .git\* | xargs rm -rf
+    else
+        # The logs and index contain timestamps, and the hooks contain
+        # the nix path of git's bash
+        find $dir -name .git | xargs -I {} rm -rf {}/logs {}/index {}/hooks
     fi
 }
 
diff --git a/pkgs/build-support/fetchgit/private.nix b/pkgs/build-support/fetchgit/private.nix
new file mode 100644
index 00000000000..dd3a8c1cb41
--- /dev/null
+++ b/pkgs/build-support/fetchgit/private.nix
@@ -0,0 +1,19 @@
+{ fetchgit, writeScript, openssh, stdenv }: args: derivation ((fetchgit args).drvAttrs // {
+  SSH_AUTH_SOCK = if (builtins.tryEval <ssh-auth-sock>).success
+    then builtins.toString <ssh-auth-sock>
+    else null;
+  GIT_SSH = writeScript "fetchgit-ssh" ''
+    #! ${stdenv.shell}
+    exec -a ssh ${openssh}/bin/ssh -F ${let
+      sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
+        then <ssh-config-file>
+        else builtins.trace ''
+          Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
+
+          Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
+
+          You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
+        '' "/var/lib/empty/config";
+    in builtins.toString sshConfigFile} "$@"
+  '';
+})
diff --git a/pkgs/build-support/fetchhg/builder.sh b/pkgs/build-support/fetchhg/builder.sh
index 73ec7ec0b36..0b51ef79b23 100644
--- a/pkgs/build-support/fetchhg/builder.sh
+++ b/pkgs/build-support/fetchhg/builder.sh
@@ -1,9 +1,9 @@
 source $stdenv/setup
+header "getting $url${rev:+ ($rev)} into $out"
 
-header "getting $url${tag:+ ($tag)} into $out"
+hg clone --insecure "$url" hg-clone
 
-hg clone --insecure ${tag:+-r "$tag"} "$url" "$out"
-
-rm -rf "$out/.hg"
+hg archive -q -y ${rev:+-r "$rev"} --cwd hg-clone $out
+rm -f $out/.hg_archival.txt
 
 stopNest
diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix
index 1aebb7ecc87..4675cbe6ec8 100644
--- a/pkgs/build-support/fetchhg/default.nix
+++ b/pkgs/build-support/fetchhg/default.nix
@@ -1,4 +1,4 @@
-{stdenv, mercurial, nix}: {name ? null, url, tag ? null, md5 ? null, sha256 ? null}:
+{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null}:
 
 # TODO: statically check if mercurial as the https support if the url starts woth https.
 stdenv.mkDerivation {
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = if md5 != null then md5 else sha256;
   
-  inherit url tag;
+  inherit url rev;
   preferLocalBuild = true;
 }
diff --git a/pkgs/build-support/fetchhg/nix-prefetch-hg b/pkgs/build-support/fetchhg/nix-prefetch-hg
index f1f648f4aeb..075dbc9c367 100755
--- a/pkgs/build-support/fetchhg/nix-prefetch-hg
+++ b/pkgs/build-support/fetchhg/nix-prefetch-hg
@@ -51,6 +51,7 @@ if test -z "$finalPath"; then
     hg archive -q -y -r "$rev" --cwd $tmpClone $tmpArchive
     rm -f $tmpArchive/.hg_archival.txt
 
+    echo "hg revision is $(cd $tmpClone; hg id -r "$rev" -i)"
 
     # Compute the hash.
     hash=$(nix-hash --type $hashType $hashFormat $tmpArchive)
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
new file mode 100644
index 00000000000..768d173934d
--- /dev/null
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -0,0 +1,22 @@
+# This function downloads and normalizes a patch/diff file.
+# This is primarily useful for dynamically generated patches,
+# such as GitHub's or cgit's, where the non-significant content parts
+# often change with updating of git or cgit.
+# stripLen acts as the -p parameter when applying a patch.
+
+{ fetchurl, patchutils }:
+{ stripLen ? 0, ... }@args:
+
+fetchurl ({
+  postFetch = ''
+    tmpfile="$TMPDIR/${args.sha256}"
+    "${patchutils}/bin/lsdiff" "$out" \
+      | sort -u | sed -e 's/[*?]/\\&/g' \
+      | xargs -I{} \
+        "${patchutils}/bin/filterdiff" \
+        --include={} \
+        --strip=${toString stripLen} \
+        --clean "$out" > "$tmpfile"
+    mv "$tmpfile" "$out"
+  '';
+} // args)
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index ea52ca19fa6..3ab6e730a51 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -21,8 +21,8 @@ fi;
 # Pipe the "p" character into Subversion to force it to accept the
 # server's certificate.  This is perfectly safe: we don't care
 # whether the server is being spoofed --- only the cryptographic
-# hash of the output matters.
-echo 'p' | svn export ${ignoreExternals:+--ignore-externals} \
+# hash of the output matters. Pass in extra p's to handle redirects.
+printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive ${ignoreExternals:+--ignore-externals} \
     -r "$rev" "$url" "$out"
 
 stopNest
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 30625a758f8..228a5eaa580 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -40,4 +40,6 @@ stdenv.mkDerivation {
     # by definition pure.
     "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
     ];
+
+  preferLocalBuild = true;
 }
diff --git a/pkgs/build-support/fetchsvn/nix-prefetch-svn b/pkgs/build-support/fetchsvn/nix-prefetch-svn
index 2858a0b01ab..a2ee3ac6052 100755
--- a/pkgs/build-support/fetchsvn/nix-prefetch-svn
+++ b/pkgs/build-support/fetchsvn/nix-prefetch-svn
@@ -56,6 +56,7 @@ if test -z "$finalPath"; then
     fi
 
     echo p | svn "$command" --quiet -r "$rev" "$url" "$tmpFile" >&2
+    echo "svn revision is $(svn info -r "$rev" "$url" | grep "Revision: " | cut -d' ' -f2)"
 
     # Compute the hash.
     hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index 402fe0cba5b..0c6e16551b4 100644
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -17,12 +17,16 @@ curl="curl \
  $NIX_CURL_FLAGS"
 
 
+downloadedFile="$out"
+if [ -n "$downloadToTemp" ]; then downloadedFile="$TMPDIR/file"; fi
+
+
 tryDownload() {
     local url="$1"
     echo
     header "trying $url"
     success=
-    if $curl --fail "$url" --output "$out"; then
+    if $curl --fail "$url" --output "$downloadedFile"; then
         success=1
     fi
     stopNest
@@ -30,6 +34,8 @@ tryDownload() {
 
 
 finish() {
+    set +o noglob
+    runHook postFetch
     stopNest
     exit 0
 }
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index 294d9a43ef7..c74131a9e60 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -61,11 +61,23 @@ in
 , sha1 ? ""
 , sha256 ? ""
 
+, recursiveHash ? false
+
+, # Shell code executed after the file has been fetched
+  # successfully. This can do things like check or transform the file.
+  postFetch ? ""
+
+, # Whether to download to a temporary path rather than $out. Useful
+  # in conjunction with postFetch. The location of the temporary file
+  # is communicated to postFetch via $downloadedFile.
+  downloadToTemp ? false
+
 , # If set, don't download the file, but write a list of all possible
   # URLs (resulting from resolving mirror:// URLs) to $out.
   showURLs ? false
 }:
 
+assert builtins.isList urls;
 assert urls != [] -> url == "";
 assert url != "" -> urls == [];
 
@@ -86,7 +98,7 @@ stdenv.mkDerivation {
 
   builder = ./builder.sh;
 
-  buildInputs = [curl];
+  buildInputs = [ curl ];
 
   urls = urls_;
 
@@ -100,7 +112,9 @@ stdenv.mkDerivation {
   outputHash = if outputHash != "" then outputHash else
       if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
 
-  inherit curlOpts showURLs mirrorsFile impureEnvVars;
+  outputHashMode = if recursiveHash then "recursive" else "flat";
+
+  inherit curlOpts showURLs mirrorsFile impureEnvVars postFetch downloadToTemp;
 
   # Doing the download on a remote machine just duplicates network
   # traffic, so don't do that.
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index c6c294d5504..080dfea2505 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -20,6 +20,12 @@ rec {
     http://kent.dl.sourceforge.net/sourceforge/
   ];
 
+  # SourceForge.jp.
+  sourceforgejp = [
+    http://osdn.dl.sourceforge.jp/
+    http://jaist.dl.sourceforge.jp/
+  ];
+
   # GNU (http://www.gnu.org/prep/ftp.html).
   gnu = [
     # This one redirects to a (supposedly) nearby and (supposedly) up-to-date
@@ -121,7 +127,7 @@ rec {
     ftp://mirror.csclub.uwaterloo.ca/nongnu/
     ftp://mirror.publicns.net/pub/nongnu/
     ftp://savannah.c3sl.ufpr.br/
-    http://download.savannah.gnu.org/
+    http://download.savannah.gnu.org/releases/
     http://ftp.cc.uoc.gr/mirrors/nongnu.org/
     http://ftp.twaren.net/Unix/NonGNU/
     http://mirror.csclub.uwaterloo.ca/nongnu/
@@ -159,7 +165,7 @@ rec {
 
   # Debian.
   debian = [
-    #ftp://ftp.au.debian.org/debian/
+    ftp://ftp.au.debian.org/debian/
     ftp://ftp.de.debian.org/debian/
     ftp://ftp.es.debian.org/debian/
     ftp://ftp.fr.debian.org/debian/
@@ -180,11 +186,17 @@ rec {
   ];
 
   # Fedora (please only add full mirrors that carry old Fedora distributions as well).
+  # See: https://mirrors.fedoraproject.org/publiclist (but not all carry old content).
   fedora = [
+    http://archives.fedoraproject.org/pub/archive/fedora/
+    http://fedora.osuosl.org/
     http://ftp.nluug.nl/pub/os/Linux/distr/fedora/
     http://ftp.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/
-    http://download.fedora.redhat.com/pub/fedora/
-    http://archives.fedoraproject.org/pub/archive/fedora/
+    http://fedora.bhs.mirrors.ovh.net/
+    http://mirror.csclub.uwaterloo.ca/fedora/
+    http://ftp.linux.cz/pub/linux/fedora/
+    http://ftp.heanet.ie/pub/fedora/
+    http://mirror.1000mbps.com/fedora/
   ];
 
   # Old SUSE distributions.  Unfortunately there is no master site,
@@ -263,6 +275,7 @@ rec {
   postgresql = [
     ftp://ftp.postgresql.org/pub/
     ftp://ftp-archives.postgresql.org/pub/
+    http://ftp.postgresql.org/pub/
   ];
 
   metalab = [
@@ -293,7 +306,6 @@ rec {
     http://dirichlet.mat.puc.cl/
     http://ftp.ctex.org/mirrors/CRAN/
     http://mirror.bjtu.edu.cn/cran
-    http://cran.dataguru.cn/
     http://mirrors.ustc.edu.cn/CRAN/
     http://mirrors.xmu.edu.cn/CRAN/
     http://www.laqee.unal.edu.co/CRAN/
@@ -367,4 +379,10 @@ rec {
     http://lib.stat.cmu.edu/
   ];
 
+  # Hackage mirrors
+  hackage = [
+    http://hackage.haskell.org/package/
+    http://hdiff.luite.com/packages/archive/package/
+  ];
+
 }
diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix
new file mode 100644
index 00000000000..7c6e16a0589
--- /dev/null
+++ b/pkgs/build-support/fetchzip/default.nix
@@ -0,0 +1,44 @@
+# This function downloads and unpacks an archive file, such as a zip
+# or tar file. This is primarily useful for dynamically generated
+# archives, such as GitHub's /archive URLs, where the unpacked content
+# of the zip file doesn't change, but the zip file itself may
+# (e.g. due to minor changes in the compression algorithm, or changes
+# in timestamps).
+
+{ lib, fetchurl, unzip }:
+
+{ # Optionally move the contents of the unpacked tree up one level.
+  stripRoot ? true
+, url
+, ... } @ args:
+
+fetchurl ({
+  # Remove the extension, because otherwise unpackPhase will get
+  # confused. FIXME: fix unpackPhase.
+  name = args.name or lib.removeSuffix ".zip" (lib.removeSuffix ".tar.gz" (baseNameOf url));
+
+  recursiveHash = true;
+
+  downloadToTemp = true;
+
+  postFetch =
+    ''
+      export PATH=${unzip}/bin:$PATH
+      mkdir $out
+      cd $out
+      renamed="$TMPDIR/${baseNameOf url}"
+      mv "$downloadedFile" "$renamed"
+      unpackFile "$renamed"
+    ''
+    # FIXME: handle zip files that contain a single regular file.
+    + lib.optionalString stripRoot ''
+      shopt -s dotglob
+      if [ "$(ls -d $out/* | wc -l)" != 1 ]; then
+        echo "error: zip file must contain a single directory."
+        exit 1
+      fi
+      fn=$(cd "$out" && echo *)
+      mv $out/$fn/* "$out/"
+      rmdir "$out/$fn"
+    '';
+} // args)
diff --git a/pkgs/build-support/fetchzip/nix-prefetch-zip b/pkgs/build-support/fetchzip/nix-prefetch-zip
new file mode 100755
index 00000000000..76255ab3674
--- /dev/null
+++ b/pkgs/build-support/fetchzip/nix-prefetch-zip
@@ -0,0 +1,153 @@
+#! /bin/sh -e
+
+usage(){
+    echo  >&2 "syntax: nix-prefetch-zip [OPTIONS] [URL [EXPECTED-HASH]]
+
+Options:
+      --url         url    The url of the archive to fetch.
+      --name        name   The name to use for the store path (defaults to \`basename \$url\`).
+      --hash        hash   The hash of unpacked archive.
+      --hash-type   type   Use the specified cryptographic hash algorithm, which can be one of md5, sha1, and sha256.
+      --leave-root         Keep the root directory of the archive.
+      --help               Show this help text.
+"
+    exit 1
+}
+
+
+argi=0
+argfun=""
+for arg; do
+  if test -z "$argfun"; then
+    case $arg in
+      --url) argfun=set_url;;
+      --name) argfun=set_name;;
+      --hash) argfun=set_expHash;;
+      --hash-type) argfun=set_hashType;;
+      --leave-root) leaveRoot=true;;
+      --help) usage;;
+      *) argi=$(($argi + 1))
+         case $argi in
+           1) url=$arg;;
+           2) rev=$arg;;
+           3) expHash=$arg;;
+           *) echo "Unexpected argument: $arg" >&2
+              usage
+              ;;
+         esac
+         ;;
+    esac
+  else
+    case $argfun in
+      set_*)
+        var=$(echo $argfun | sed 's,^set_,,')
+        eval "$var=\$arg"
+        ;;
+    esac
+    argfun=""
+  fi
+done
+
+if [ -z "$url" ]; then
+  echo "Error: No --url flag given" >&2
+  usage
+fi
+
+if [ -z "$name" ]; then
+  name=$(basename "$url")
+fi
+
+if test -z "$hashType"; then
+  hashType=sha256
+fi
+
+hashFormat="--base32"
+
+tmp=$(mktemp -d 2>/dev/null || mktemp -d -t "$$")
+trap "rm -rf '$tmp'" EXIT
+
+unpackDir=$tmp/unpacked/$name
+mkdir -p $unpackDir
+downloadedFile=$tmp/$name
+
+unpackFile() {
+  local curSrc="$1"
+
+  case "$curSrc" in
+    *.tar.xz | *.tar.lzma)
+      # Don't rely on tar knowing about .xz.
+      xz -d < $curSrc | tar xf -
+      ;;
+    *.tar | *.tar.* | *.tgz | *.tbz2)
+      # GNU tar can automatically select the decompression method
+      # (info "(tar) gzip").
+      tar xf $curSrc
+      ;;
+    *.zip)
+      unzip -qq $curSrc
+      ;;
+    *)
+      echo "source archive $curSrc has unknown type" >&2
+      exit 1
+      ;;
+  esac
+}
+
+# If the hash was given, a file with that hash may already be in the
+# store.
+if test -n "$expHash"; then
+  finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" "$name")
+  if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
+    finalPath=
+  fi
+  hash=$expHash
+fi
+
+# If we don't know the hash or a path with that hash doesn't exist,
+# download the file and add it to the store.
+if test -z "$finalPath"; then
+  curl="curl \
+   --location --max-redirs 20 \
+   --disable-epsv \
+   --insecure"
+
+  if ! $curl --fail "$url" --output "$downloadedFile"; then
+    echo "error: could not download $url" >&2
+    exit 1
+  fi
+
+  cd $unpackDir
+  unpackFile "$downloadedFile"
+
+  # FIXME: handle zip files that contain a single regular file.
+  if [ -z "$leaveRoot" ]; then
+    shopt -s dotglob
+    if [ $(ls -d $unpackDir/* | wc -l) != 1 ]; then
+      echo "error: zip file must contain a single directory."
+      exit 1
+    fi
+    fn=$(cd "$unpackDir" && echo *)
+    mv $unpackDir/$fn/* "$unpackDir/"
+    rmdir "$unpackDir/$fn"
+  fi
+
+  # Compute the hash.
+  hash=$(nix-hash --type $hashType $hashFormat $unpackDir)
+  if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
+
+  # Add the downloaded file to the Nix store.
+  finalPath=$(nix-store --add-fixed --recursive "$hashType" $unpackDir)
+
+  if test -n "$expHash" -a "$expHash" != "$hash"; then
+    echo "hash mismatch for URL \`$url'"
+    exit 1
+  fi
+fi
+
+if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
+
+echo $hash
+
+if test -n "$PRINT_PATH"; then
+  echo $finalPath
+fi
diff --git a/pkgs/build-support/gcc-cross-wrapper/builder.sh b/pkgs/build-support/gcc-cross-wrapper/builder.sh
index 5a5bd45a8f8..1d7d1046d36 100644
--- a/pkgs/build-support/gcc-cross-wrapper/builder.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/builder.sh
@@ -26,6 +26,10 @@ if test -z "$nativeLibc"; then
       fi
     fi
 
+    if [ -n "$osxMinVersion" ]; then
+        cflagsCompile="$cflagsCompile -mmacosx-version-min=$osxMinVersion"
+    fi
+
     echo "$cflagsCompile -B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
 
     echo "-L$libc/lib -rpath $libc/lib -rpath-link $libc/lib" > $out/nix-support/libc-ldflags
@@ -87,6 +91,8 @@ mkGccWrapper $out/bin/$crossConfig-gcc $gccPath/$crossConfig-gcc
 mkGccWrapper $out/bin/$crossConfig-g++ $gccPath/$crossConfig-g++
 ln -s $crossConfig-g++ $out/bin/$crossConfig-c++
 
+mkGccWrapper $out/bin/$crossConfig-cpp $gccPath/$crossConfig-cpp
+
 mkGccWrapper $out/bin/$crossConfig-g77 $gccPath/$crossConfig-g77
 ln -s $crossConfig-g77 $out/bin/$crossConfig-f77
 
diff --git a/pkgs/build-support/gcc-cross-wrapper/default.nix b/pkgs/build-support/gcc-cross-wrapper/default.nix
index b2e30be10ef..d3494b83a87 100644
--- a/pkgs/build-support/gcc-cross-wrapper/default.nix
+++ b/pkgs/build-support/gcc-cross-wrapper/default.nix
@@ -46,6 +46,7 @@ stdenv.mkDerivation {
   addFlags = ./add-flags;
   inherit nativeTools nativeLibc nativePrefix gcc libc binutils;
   crossConfig = if cross != null then cross.config else null;
+  osxMinVersion = cross.osxMinVersion or null;
   gccLibs = if gcc != null then gccLibs else null;
   name = chosenName;
   langC = if nativeTools then true else gcc.langC;
diff --git a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
index a7be09283ee..433d36ced43 100644
--- a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
@@ -75,6 +75,9 @@ fi
 # native compilations.
 doCheck=""
 
+# Don't strip foreign binaries with native "strip" tool.
+dontStrip=1
+
 # Add the output as an rpath.
 if test "$NIX_NO_SELF_RPATH" != "1"; then
     export NIX_CROSS_LDFLAGS="-rpath $out/lib -rpath-link $out/lib $NIX_CROSS_LDFLAGS"
diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh
index b499aa612f8..dbd95505437 100644
--- a/pkgs/build-support/gcc-wrapper/builder.sh
+++ b/pkgs/build-support/gcc-wrapper/builder.sh
@@ -66,13 +66,23 @@ else
     echo "$gccCFlags" > $out/nix-support/gcc-cflags
     
     gccPath="$gcc/bin"
-    ldPath="$binutils/bin"
+    # On Illumos/Solaris we might prefer native ld
+    if test -n "$nativePrefix"; then
+      ldPath="$nativePrefix/bin"
+    else
+      ldPath="$binutils/bin"
+    fi;
 fi
 
 
 doSubstitute() {
     local src=$1
     local dst=$2
+    local ld="$ldPath/ld"
+    if $ld -V 2>&1 |grep Solaris; then
+      # Use Solaris specific linker wrapper
+      ld="$out/bin/ld-solaris"
+    fi
     # Can't use substitute() here, because replace may not have been
     # built yet (in the bootstrap).
     sed \
@@ -86,7 +96,7 @@ doSubstitute() {
         -e "s^@coreutils@^$coreutils^g" \
         -e "s^@libc@^$libc^g" \
         -e "s^@libc_bin@^$libc_bin^g" \
-        -e "s^@ld@^$ldPath/ld^g" \
+        -e "s^@ld@^$ld^g" \
         < "$src" > "$dst" 
 }
 
@@ -145,6 +155,8 @@ then
     ln -sv g++ $out/bin/c++
 fi
 
+mkGccWrapper $out/bin/cpp $gccPath/cpp || true
+
 if mkGccWrapper $out/bin/gfortran $gccPath/gfortran
 then
     ln -sv gfortran $out/bin/g77
@@ -175,6 +187,13 @@ ln -s $ldPath/as $out/bin/as
 doSubstitute "$ldWrapper" "$out/bin/ld"
 chmod +x "$out/bin/ld"
 
+# Copy solaris ld wrapper if needed
+if $ldPath/ld -V 2>&1 |grep Solaris; then
+  # Use Solaris specific linker wrapper
+  sed -e "s^@ld@^$ldPath/ld^g" < "$ldSolarisWrapper" > "$out/bin/ld-solaris"
+  chmod +x "$out/bin/ld-solaris"
+fi
+
 
 # Emit a setup hook.  Also store the path to the original GCC and
 # Glibc.
diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix
index d4ba45b26f4..64dab123ec4 100644
--- a/pkgs/build-support/gcc-wrapper/default.nix
+++ b/pkgs/build-support/gcc-wrapper/default.nix
@@ -29,16 +29,17 @@ stdenv.mkDerivation {
   name =
     (if name != "" then name else gccName + "-wrapper") +
     (if gcc != null && gccVersion != "" then "-" + gccVersion else "");
-  
+
   builder = ./builder.sh;
   setupHook = ./setup-hook.sh;
   gccWrapper = ./gcc-wrapper.sh;
   gnatWrapper = ./gnat-wrapper.sh;
   gnatlinkWrapper = ./gnatlink-wrapper.sh;
   ldWrapper = ./ld-wrapper.sh;
+  ldSolarisWrapper = ./ld-solaris-wrapper.sh;
   utils = ./utils.sh;
   addFlags = ./add-flags;
-  
+
   inherit nativeTools nativeLibc nativePrefix gcc;
   gcc_lib = gcc.lib or gcc;
   libc = if nativeLibc then null else libc;
@@ -47,7 +48,7 @@ stdenv.mkDerivation {
   binutils = if nativeTools then null else binutils;
   # The wrapper scripts use 'cat', so we may need coreutils
   coreutils = if nativeTools then null else coreutils;
-  
+
   langC = if nativeTools then true else gcc.langC;
   langCC = if nativeTools then true else gcc.langCC;
   langFortran = if nativeTools then false else gcc ? langFortran;
@@ -74,7 +75,9 @@ stdenv.mkDerivation {
        if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
        abort "don't know the name of the dynamic linker for this platform");
   };
-  
+
+  preferLocalBuild = true;
+
   meta =
     let gcc_ = if gcc != null then gcc else {}; in
     (if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) //
diff --git a/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh
new file mode 100644
index 00000000000..5a7b92b5ad7
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+set -e
+set -u
+
+# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'(
+# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3
+#   but still no success.
+cmd="@ld@ -z ignore"
+
+args=("$@");
+
+# This loop makes sure all -L arguments are before -l arguments, or ld may complain it cannot find a library.
+# GNU binutils does not have this problem:
+#   http://stackoverflow.com/questions/5817269/does-the-order-of-l-and-l-options-in-the-gnu-linker-matter
+i=0;
+while [[ $i -lt $# ]]; do
+    case "${args[$i]}" in
+        -L)  cmd="$cmd ${args[$i]} ${args[($i+1)]}"; i=($i+1); ;;
+        -L*) cmd="$cmd ${args[$i]}" ;;
+        *)   ;;
+    esac
+    i=($i+1);
+done
+
+i=0;
+while [[ $i -lt $# ]]; do
+    case "${args[$i]}" in
+        -L)  i=($i+1); ;;
+        -L*) ;;
+        *)   cmd="$cmd ${args[$i]}" ;;
+    esac
+    i=($i+1);
+done
+
+# Trace:
+set -x
+exec $cmd
+
+exit 0
diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
index 74b6273848e..51803e12a4e 100644
--- a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
@@ -45,10 +45,12 @@ extra=()
 extraBefore=()
 
 if test -z "$NIX_LDFLAGS_SET"; then
-    extra=(${extra[@]} $NIX_LDFLAGS)
-    extraBefore=(${extraBefore[@]} $NIX_LDFLAGS_BEFORE)
+    extra+=($NIX_LDFLAGS)
+    extraBefore+=($NIX_LDFLAGS_BEFORE)
 fi
 
+extra+=($NIX_LDFLAGS_AFTER)
+
 
 # Add all used dynamic libraries to the rpath.
 if test "$NIX_DONT_SET_RPATH" != "1"; then
diff --git a/pkgs/build-support/gcc-wrapper/setup-hook.sh b/pkgs/build-support/gcc-wrapper/setup-hook.sh
index 26a722bac9b..d8bdf858ae5 100644
--- a/pkgs/build-support/gcc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/gcc-wrapper/setup-hook.sh
@@ -1,6 +1,6 @@
 addCVars () {
     if test -d $1/include; then
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$1/include"
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include"
     fi
 
     if test -d $1/lib64; then
diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
new file mode 100644
index 00000000000..e66b348d082
--- /dev/null
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -0,0 +1,152 @@
+{ grsecOptions, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = {
+    stable  = grsecOptions.stable  or false;
+    testing = grsecOptions.testing or false;
+    config = {
+      mode = "auto";
+      sysctl = false;
+      denyChrootChmod = false;
+      restrictProc = false;
+      restrictProcWithGroup = true;
+      unrestrictProcGid = 121; # Ugh, an awful hack. See grsecurity NixOS gid
+      disableRBAC = false;
+      verboseVersion = false;
+      kernelExtraConfig = "";
+    } // grsecOptions.config;
+  };
+
+  vals = rec {
+
+    mkKernel = kernel: patch:
+      assert patch.kversion == kernel.version;
+        { inherit kernel patch;
+          inherit (patch) grversion revision;
+        };
+
+    test-patch = with pkgs.kernelPatches; grsecurity_unstable;
+    stable-patch = with pkgs.kernelPatches; grsecurity_stable;
+
+    grKernel = if cfg.stable
+               then mkKernel pkgs.linux_3_14 stable-patch
+               else mkKernel pkgs.linux_3_15 test-patch;
+
+    ## -- grsecurity configuration ---------------------------------------------
+
+    grsecPrioCfg =
+      if cfg.config.priority == "security" then
+        "GRKERNSEC_CONFIG_PRIORITY_SECURITY y"
+      else
+        "GRKERNSEC_CONFIG_PRIORITY_PERF y";
+
+    grsecSystemCfg =
+      if cfg.config.system == "desktop" then
+        "GRKERNSEC_CONFIG_DESKTOP y"
+      else
+        "GRKERNSEC_CONFIG_SERVER y";
+
+    grsecVirtCfg =
+      if cfg.config.virtualisationConfig == "none" then
+        "GRKERNSEC_CONFIG_VIRT_NONE y"
+      else if cfg.config.virtualisationConfig == "host" then
+        "GRKERNSEC_CONFIG_VIRT_HOST y"
+      else
+        "GRKERNSEC_CONFIG_VIRT_GUEST y";
+
+    grsecHwvirtCfg = if cfg.config.virtualisationConfig == "none" then "" else
+      if cfg.config.hardwareVirtualisation == true then
+        "GRKERNSEC_CONFIG_VIRT_EPT y"
+      else
+        "GRKERNSEC_CONFIG_VIRT_SOFT y";
+
+    grsecVirtswCfg =
+      let virtCfg = opt: "GRKERNSEC_CONFIG_VIRT_"+opt+" y";
+      in
+        if cfg.config.virtualisationConfig == "none" then ""
+        else if cfg.config.virtualisationSoftware == "xen"    then virtCfg "XEN"
+        else if cfg.config.virtualisationSoftware == "kvm"    then virtCfg "KVM"
+        else if cfg.config.virtualisationSoftware == "vmware" then virtCfg "VMWARE"
+        else                                                       virtCfg "VIRTUALBOX";
+
+    grsecMainConfig = if cfg.config.mode == "custom" then "" else ''
+      GRKERNSEC_CONFIG_AUTO y
+      ${grsecPrioCfg}
+      ${grsecSystemCfg}
+      ${grsecVirtCfg}
+      ${grsecHwvirtCfg}
+      ${grsecVirtswCfg}
+    '';
+
+    grsecConfig =
+      let boolToKernOpt = b: if b then "y" else "n";
+          # Disable RANDSTRUCT under virtualbox, as it has some kind of
+          # breakage with the vbox guest drivers
+          #randstruct = optionalString config.services.virtualbox.enable
+          #  "GRKERNSEC_RANDSTRUCT n";
+
+          # Disable restricting links under the testing kernel, as something
+          # has changed causing it to fail miserably during boot.
+          restrictLinks = optionalString cfg.testing
+            "GRKERNSEC_LINK n";
+      in ''
+        GRKERNSEC y
+        ${grsecMainConfig}
+
+        ${if cfg.config.restrictProc then
+            "GRKERNSEC_PROC_USER y"
+          else
+            optionalString cfg.config.restrictProcWithGroup ''
+              GRKERNSEC_PROC_USERGROUP y
+              GRKERNSEC_PROC_GID ${toString cfg.config.unrestrictProcGid}
+            ''
+        }
+
+        GRKERNSEC_SYSCTL ${boolToKernOpt cfg.config.sysctl}
+        GRKERNSEC_CHROOT_CHMOD ${boolToKernOpt cfg.config.denyChrootChmod}
+        GRKERNSEC_NO_RBAC ${boolToKernOpt cfg.config.disableRBAC}
+        ${restrictLinks}
+
+        ${cfg.config.kernelExtraConfig}
+      '';
+
+    ## -- grsecurity kernel packages -------------------------------------------
+
+    localver = grkern:
+      "-grsec" + optionalString cfg.config.verboseVersion
+         "-${grkern.grversion}-${grkern.revision}";
+
+    grsecurityOverrider = args: grkern: {
+      # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins)
+      # include libgmp headers, so we need these extra tweaks
+      buildInputs = args.buildInputs ++ [ pkgs.gmp ];
+      preConfigure = ''
+        ${args.preConfigure or ""}
+        sed -i 's|-I|-I${pkgs.gmp}/include -I|' scripts/gcc-plugin.sh
+        sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile
+        sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile
+        rm localversion-grsec
+        echo ${localver grkern} > localversion-grsec
+      '';
+    };
+
+    mkGrsecKern = grkern:
+      lowPrio (overrideDerivation (grkern.kernel.override (args: {
+        kernelPatches = args.kernelPatches ++ [ grkern.patch pkgs.kernelPatches.grsec_fix_path ];
+        argsOverride = {
+          modDirVersion = "${grkern.kernel.modDirVersion}${localver grkern}";
+        };
+        extraConfig = grsecConfig;
+        features.grsecurity = true;
+      })) (args: grsecurityOverrider args grkern));
+
+    mkGrsecPkg = grkern: pkgs.linuxPackagesFor grkern (mkGrsecPkg grkern);
+
+    ## -- Kernel packages ------------------------------------------------------
+
+    grsecKernel  = mkGrsecKern grKernel;
+    grsecPackage = mkGrsecPkg grsecKernel;
+  };
+in vals
diff --git a/pkgs/build-support/grsecurity/flavors.nix b/pkgs/build-support/grsecurity/flavors.nix
new file mode 100644
index 00000000000..969ca579f5a
--- /dev/null
+++ b/pkgs/build-support/grsecurity/flavors.nix
@@ -0,0 +1,26 @@
+let
+  mkOpts = ver: prio: sys: virt: swvirt: hwvirt:
+    { config.priority               = prio;
+      config.system                 = sys;
+      config.virtualisationConfig   = virt;
+      config.hardwareVirtualisation = hwvirt;
+      config.virtualisationSoftware = swvirt;
+    } // builtins.listToAttrs [ { name = ver; value = true; } ];
+in
+{
+  # Stable kernels
+  linux_grsec_stable_desktop =
+    mkOpts "stable" "performance" "desktop" "host" "kvm" true;
+  linux_grsec_stable_server  =
+    mkOpts "stable" "security" "server" "host" "kvm" true;
+  linux_grsec_stable_server_xen =
+    mkOpts "stable" "security" "server" "guest" "xen" true;
+
+  # Testing kernels
+  linux_grsec_testing_desktop =
+    mkOpts "testing" "performance" "desktop" "host" "kvm" true;
+  linux_grsec_testing_server  =
+    mkOpts "testing" "security" "server" "host" "kvm" true;
+  linux_grsec_testing_server_xen =
+    mkOpts "testing" "security" "server" "guest" "xen" true;
+}
diff --git a/pkgs/build-support/kdewrapper/default.nix b/pkgs/build-support/kdewrapper/default.nix
index be90011f493..64dfd7d0ca6 100644
--- a/pkgs/build-support/kdewrapper/default.nix
+++ b/pkgs/build-support/kdewrapper/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   inherit libs;
 
   buildCommand = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
 
     KDEDIRS=${program}
     QT_PLUGIN_PATH=${program}/lib/qt4/plugins:${program}/lib/kde4/plugins
@@ -39,4 +39,6 @@ stdenv.mkDerivation {
     chmod +x $PROG
     done
   '';
+
+  preferLocalBuild = true;
 }
diff --git a/pkgs/build-support/kernel/cpio-clean.pl b/pkgs/build-support/kernel/cpio-clean.pl
new file mode 100644
index 00000000000..ddc6435a5a8
--- /dev/null
+++ b/pkgs/build-support/kernel/cpio-clean.pl
@@ -0,0 +1,17 @@
+use strict;
+
+# Make inode number, link info and mtime consistent in order to get a consistent hash.
+#
+# Author: Alexander Kjeldaas <ak@formalprivacy.com>
+
+use Archive::Cpio;
+
+my $cpio = Archive::Cpio->new;
+my $IN = \*STDIN;
+my $ino = 1;
+$cpio->read_with_handler($IN, sub {
+        my ($e) = @_;
+        $e->{mtime} = 1;
+	$cpio->write_one(\*STDOUT, $e);
+    });
+$cpio->write_trailer(\*STDOUT);
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix
index 4ddf0706e03..0582ca55301 100644
--- a/pkgs/build-support/kernel/make-initrd.nix
+++ b/pkgs/build-support/kernel/make-initrd.nix
@@ -12,10 +12,10 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{stdenv, perl, cpio, contents, ubootChooser, compressor}:
+{stdenv, perl, perlArchiveCpio, cpio, contents, ubootChooser, compressor}:
 
 let
-  inputsFun = ubootName : [perl cpio]
+  inputsFun = ubootName : [perl cpio perlArchiveCpio ]
     ++ stdenv.lib.optional (ubootName != null) [ (ubootChooser ubootName) ];
   makeUInitrdFun = ubootName : (ubootName != null);
 in
@@ -35,6 +35,7 @@ stdenv.mkDerivation {
   exportReferencesGraph =
     map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents;
   pathsFromGraph = ./paths-from-graph.pl;
+  cpioClean = ./cpio-clean.pl;
 
   crossAttrs = {
     nativeBuildInputs = inputsFun stdenv.cross.platform.uboot;
diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh
index f6cadaf0281..17b261f9840 100644
--- a/pkgs/build-support/kernel/make-initrd.sh
+++ b/pkgs/build-support/kernel/make-initrd.sh
@@ -36,7 +36,7 @@ storePaths=$(perl $pathsFromGraph closure-*)
 
 # Put the closure in a gzipped cpio archive.
 mkdir -p $out
-(cd root && find * -print0 | cpio -o -H newc --null | $compressor > $out/initrd)
+(cd root && find * -print0 | cpio -o -H newc --null | perl $cpioClean | $compressor > $out/initrd)
 
 if [ -n "$makeUInitrd" ]; then
     mv $out/initrd $out/initrd.gz
diff --git a/pkgs/build-support/kernel/paths-from-graph.pl b/pkgs/build-support/kernel/paths-from-graph.pl
index f1866237210..9a199a2b304 100644
--- a/pkgs/build-support/kernel/paths-from-graph.pl
+++ b/pkgs/build-support/kernel/paths-from-graph.pl
@@ -1,9 +1,27 @@
+# Parses a /nix/store/*-closure file and prints
+# various information.
+# By default, the nodes in the graph are printed to stdout.
+# If the environment variable printManifest is set,
+# then the graph is written as a manifest.
+# If printRegistration is set, then the graph is written
+# as a registration file for a manifest is written
+# in the `nix-store --load-db' format.
+
 use strict;
 use File::Basename;
 
 my %storePaths;
 my %refs;
 
+# Each argument on the command line is a graph file.
+# The graph file contains line-triples and a variable
+# number of references:
+# <store-path>
+# <deriver>
+# <count>
+# <ref-#1>
+# ...
+# <ref-#count>
 foreach my $graph (@ARGV) {
     open GRAPH, "<$graph" or die;
 
diff --git a/pkgs/build-support/libredirect/default.nix b/pkgs/build-support/libredirect/default.nix
new file mode 100644
index 00000000000..a8a497d46d7
--- /dev/null
+++ b/pkgs/build-support/libredirect/default.nix
@@ -0,0 +1,14 @@
+{ stdenv }:
+
+stdenv.mkDerivation {
+  name = "libredirect-0";
+
+  unpackPhase = "cp ${./libredirect.c} libredirect.c";
+
+  buildPhase =
+    ''
+      gcc -Wall -std=c99 -O3 -shared libredirect.c -o libredirect.so -fPIC -ldl
+    '';
+
+  installPhase = "mkdir -p $out/lib; cp libredirect.so $out/lib";
+}
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
new file mode 100644
index 00000000000..4afed3add75
--- /dev/null
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -0,0 +1,104 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <dlfcn.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <string.h>
+
+#define MAX_REDIRECTS 128
+
+static int nrRedirects = 0;
+static char * from[MAX_REDIRECTS];
+static char * to[MAX_REDIRECTS];
+
+// FIXME: might run too late.
+static void init() __attribute__((constructor));
+
+static void init()
+{
+    char * spec = getenv("NIX_REDIRECTS");
+    if (!spec) return;
+
+    unsetenv("NIX_REDIRECTS");
+
+    char * spec2 = malloc(strlen(spec) + 1);
+    strcpy(spec2, spec);
+
+    char * pos = spec2, * eq;
+    while ((eq = strchr(pos, '='))) {
+        *eq = 0;
+        from[nrRedirects] = pos;
+        pos = eq + 1;
+        to[nrRedirects] = pos;
+        nrRedirects++;
+        if (nrRedirects == MAX_REDIRECTS) break;
+        char * end = strchr(pos, ':');
+        if (!end) break;
+        *end = 0;
+        pos = end + 1;
+    }
+
+}
+
+static const char * rewrite(const char * path, char * buf)
+{
+    for (int n = 0; n < nrRedirects; ++n) {
+        int len = strlen(from[n]);
+        if (strncmp(path, from[n], len) != 0) continue;
+        if (snprintf(buf, PATH_MAX, "%s%s", to[n], path + len) >= PATH_MAX)
+            abort();
+        return buf;
+    }
+
+    return path;
+}
+
+/* The following set of Glibc library functions is very incomplete -
+   it contains only what we needed for programs in Nixpkgs. Just add
+   more functions as needed. */
+
+int open(const char * path, int flags, ...)
+{
+    int (*open_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
+    mode_t mode = 0;
+    if (flags & O_CREAT) {
+        va_list ap;
+        va_start(ap, flags);
+        mode = va_arg(ap, mode_t);
+        va_end(ap);
+    }
+    char buf[PATH_MAX];
+    return open_real(rewrite(path, buf), flags, mode);
+}
+
+int open64(const char * path, int flags, ...)
+{
+    int (*open64_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
+    mode_t mode = 0;
+    if (flags & O_CREAT) {
+        va_list ap;
+        va_start(ap, flags);
+        mode = va_arg(ap, mode_t);
+        va_end(ap);
+    }
+    char buf[PATH_MAX];
+    return open64_real(rewrite(path, buf), flags, mode);
+}
+
+FILE * fopen(const char * path, const char * mode)
+{
+    FILE * (*fopen_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen");
+    char buf[PATH_MAX];
+    return fopen_real(rewrite(path, buf), mode);
+}
+
+int __xstat(int ver, const char * path, struct stat * st)
+{
+    int (*__xstat_real) (int ver, const char *, struct stat *) = dlsym(RTLD_NEXT, "__xstat");
+    char buf[PATH_MAX];
+    return __xstat_real(ver, rewrite(path, buf), st);
+}
diff --git a/pkgs/build-support/make-startupitem/default.nix b/pkgs/build-support/make-startupitem/default.nix
index dc78b8a704e..fad6f00d821 100644
--- a/pkgs/build-support/make-startupitem/default.nix
+++ b/pkgs/build-support/make-startupitem/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   priority = 5;
 
   buildCommand = ''
-    ensureDir $out/share/autostart
+    mkdir -p $out/share/autostart
     target=${name}.desktop
     cp ${package}/share/applications/${srcPrefix}${name}.desktop $target
     chmod +rw $target
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index 0cabdf2f7e7..409c98d8d3a 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -8,9 +8,11 @@
 , antProperties ? []
 , antBuildInputs ? []
 , buildfile ? "build.xml"
-, ant ? pkgs.apacheAntOpenJDK
+, ant ? pkgs.ant
 , jre ? pkgs.openjdk
 , hydraAntLogger ? pkgs.hydraAntLogger
+, zip ? pkgs.zip
+, unzip ? pkgs.unzip
 , ... } @ args:
 
 let
@@ -31,7 +33,7 @@ stdenv.mkDerivation (
 
     antSetupPhase = with stdenv.lib; ''
       if test "$hydraAntLogger" != "" ; then
-        export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/lib/java/*.jar | head -1`"
+        export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/share/java/*.jar | head -1`"
       fi
       for abi in ${concatStringsSep " " (map (f: "`find ${f} -name '*.jar'`") antBuildInputs)}; do
         export ANT_ARGS="$ANT_ARGS -lib $abi"
@@ -39,20 +41,23 @@ stdenv.mkDerivation (
     '';
 
     installPhase = ''
-      mkdir -p $out/lib/java
+      mkdir -p $out/share/java
       ${ if jars == [] then '' 
-           find . -name "*.jar" | xargs -I{} cp -v {} $out/lib/java
+           find . -name "*.jar" | xargs -I{} cp -v {} $out/share/java
          '' else stdenv.lib.concatMapStrings (j: ''
-           cp -v ${j} $out/lib/java
+           cp -v ${j} $out/share/java
          '') jars }
-      for j in $out/lib/java/*.jar ; do
+
+      . ${./functions.sh}
+      for j in $out/share/java/*.jar ; do
+        canonicalizeJar $j
         echo file jar $j >> $out/nix-support/hydra-build-products
       done
     '';
 
     generateWrappersPhase = 
       let 
-        cp = w: "-cp '${lib.optionalString (w ? classPath) w.classPath}${lib.optionalString (w ? mainClass) ":$out/lib/java/*"}'";
+        cp = w: "-cp '${lib.optionalString (w ? classPath) w.classPath}${lib.optionalString (w ? mainClass) ":$out/share/java/*"}'";
       in
       '' 
       header "Generating jar wrappers"
@@ -95,7 +100,7 @@ stdenv.mkDerivation (
   {
     name = name + (if src ? version then "-" + src.version else "");
   
-    buildInputs = [ant jre] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
+    buildInputs = [ant jre zip unzip] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
 
     postHook = ''
       mkdir -p $out/nix-support
diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index ba7be86a6c1..3adfe41031d 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -51,7 +51,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
     '';
 
     installPhase = ''
-      eval "$preInstall" 
+      eval "$preInstall"
       export LOGNAME=root
 
       ${checkinstall}/sbin/checkinstall --nodoc -y -D \
@@ -59,7 +59,11 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
         --requires="${concatStringsSep "," debRequires}" \
         --provides="${concatStringsSep "," debProvides}" \
         ${optionalString (src ? version) "--pkgversion=$(echo ${src.version} | tr _ -)"} \
-        make install
+        ''${debMaintainer:+--maintainer="'$debMaintainer'"} \
+        ''${debName:+--pkgname="'$debName'"} \
+        $checkInstallFlags \
+        -- \
+        $SHELL -c "''${installCommand:-make install}"
 
       mkdir -p $out/debs
       find . -name "*.deb" -exec cp {} $out/debs \;
@@ -79,7 +83,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
         echo "file deb-extra $(ls $i/debs/*.deb | sort | head -1)" >> $out/nix-support/hydra-build-products
       done
 
-      eval "$postInstall" 
+      eval "$postInstall"
     ''; # */
 
     meta = (if args ? meta then args.meta else {}) // {
diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix
index 3d593f0b6bb..d36707dc60f 100644
--- a/pkgs/build-support/release/default.nix
+++ b/pkgs/build-support/release/default.nix
@@ -27,10 +27,24 @@ rec {
     } // args);
 
   coverageAnalysis = args: nixBuild (
-    { inherit lcov;
+    { inherit lcov enableGCOVInstrumentation makeGCOVReport;
       doCoverageAnalysis = true;
     } // args);
 
+  clangAnalysis = args: nixBuild (
+    { inherit clangAnalyzer;
+      doClangAnalysis = true;
+    } // args);
+
+  coverityAnalysis = args: nixBuild (
+    { inherit cov-build xz;
+      doCoverityAnalysis = true;
+    } // args);
+
+  gcovReport = args: import ./gcov-report.nix (
+    { inherit runCommand lcov rsync;
+    } // args);
+
   rpmBuild = args: import ./rpm-build.nix (
     { inherit vmTools;
     } // args);
diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh
index 9f2d03519c8..efc4e7970cc 100644
--- a/pkgs/build-support/release/functions.sh
+++ b/pkgs/build-support/release/functions.sh
@@ -8,7 +8,30 @@ findTarballs() {
     echo "$1"
 }
 
+canonicalizeJarManifest() {
+	local input=$1
+	# http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
+	(head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
+	mv $input-tmp $input
+}
+
+# Post-process a jar file to contain canonical timestamps and metadata ordering
+canonicalizeJar() {
+	local input=$1
+	local outer=$(pwd)
+	unzip -qq $input -d $input-tmp
+	canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
+	# Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
+	find $input-tmp -exec touch -t 198001010000.00 {} +
+	rm $input
+	pushd $input-tmp
+	zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
+	popd
+	rm -rf $input-tmp
+	mv $outer/tmp-out.jar $input
+}
+
 propagateImageName() {
-    ensureDir $out/nix-support
+    mkdir -p $out/nix-support
     cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
 }
diff --git a/pkgs/build-support/release/gcov-report.nix b/pkgs/build-support/release/gcov-report.nix
new file mode 100644
index 00000000000..8ce5c0488a7
--- /dev/null
+++ b/pkgs/build-support/release/gcov-report.nix
@@ -0,0 +1,49 @@
+{ runCommand, lcov, rsync, coverageRuns, lcovFilter ? [ "/nix/store/*" ], baseDirHack ? false }:
+
+runCommand "coverage"
+  { buildInputs = [ lcov rsync ];
+    inherit lcovFilter baseDirHack;
+  }
+  ''
+    mkdir -p $TMPDIR/gcov $out/nix-support $out/coverage
+    info=$out/coverage/full.info
+
+    for p in ${toString coverageRuns}; do
+        if [ -f $p/nix-support/hydra-build-products ]; then
+            cat $p/nix-support/hydra-build-products >> $out/nix-support/hydra-build-products
+        fi
+
+        [ ! -e $p/nix-support/failed ] || touch $out/nix-support/failed
+
+        opts=
+        for d in $p/coverage-data/*; do
+            for i in $(cd $d/nix/store && ls); do
+                if ! [ -e /nix/store/$i/.build ]; then continue; fi
+                if [ -e $TMPDIR/gcov/nix/store/$i ]; then continue; fi
+                echo "copying $i..."
+                rsync -a /nix/store/$i/.build/* $TMPDIR/gcov/
+                if [ -n "$baseDirHack" ]; then
+                    opts="-b $TMPDIR/gcov/$(cd /nix/store/$i/.build && ls)"
+                fi
+            done
+
+            for i in $(cd $d/nix/store && ls); do
+                rsync -a $d/nix/store/$i/.build/* $TMPDIR/gcov/ --include '*/' --include '*.gcda' --exclude '*'
+            done
+        done
+
+        chmod -R u+w $TMPDIR/gcov
+
+        echo "producing info..."
+        geninfo --ignore-errors source,gcov $TMPDIR/gcov --output-file $TMPDIR/app.info $opts
+        cat $TMPDIR/app.info >> $info
+    done
+
+    echo "making report..."
+    set -o noglob
+    lcov --remove $info ''$lcovFilter > $info.tmp
+    set +o noglob
+    mv $info.tmp $info
+    genhtml --show-details $info -o $out/coverage
+    echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products
+  ''
diff --git a/pkgs/build-support/release/maven-build.nix b/pkgs/build-support/release/maven-build.nix
index 39f069cd57f..f7ea07baccb 100644
--- a/pkgs/build-support/release/maven-build.nix
+++ b/pkgs/build-support/release/maven-build.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation ( rec {
   '';  
 
   mvnAssembly = ''
-    mvn assembly:assembly -Dmaven.test.skip.exec=true ${mvnFlags}
+    mvn assembly:assembly -Dmaven.test.skip=true ${mvnFlags}
   '';
 
   mvnRelease = ''
@@ -78,7 +78,7 @@ stdenv.mkDerivation ( rec {
 
     zip=$(ls target/*.zip| head -1)
     releaseName=$(basename $zip .zip)
-    releaseName="$releaseName-r${toString src.rev}"
+    releaseName="$releaseName-r${toString src.rev or "0"}"
     cp $zip $out/release/$releaseName.zip
     
     echo "$releaseName" > $out/nix-support/hydra-release-name
diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix
index 88bafd84faa..b80c9242ed2 100644
--- a/pkgs/build-support/release/nix-build.nix
+++ b/pkgs/build-support/release/nix-build.nix
@@ -8,6 +8,8 @@
 { buildOutOfSourceTree ? false
 , preConfigure ? null
 , doCoverageAnalysis ? false
+, doClangAnalysis ? false
+, doCoverityAnalysis ? false
 , lcovFilter ? []
 , lcovExtraTraceFiles ? []
 , src, stdenv
@@ -15,8 +17,12 @@
 , failureHook ? null
 , prePhases ? []
 , postPhases ? []
+, buildInputs ? []
 , ... } @ args:
 
+let
+  doingAnalysis = doCoverageAnalysis || doClangAnalysis || doCoverityAnalysis;
+in
 stdenv.mkDerivation (
 
   {
@@ -24,8 +30,8 @@ stdenv.mkDerivation (
     doCheck = true;
 
     # When doing coverage analysis, we don't care about the result.
-    dontInstall = doCoverageAnalysis;
-    useTempPrefix = doCoverageAnalysis;
+    dontInstall = doingAnalysis;
+    useTempPrefix = doingAnalysis;
 
     showBuildStats = true;
 
@@ -36,6 +42,29 @@ stdenv.mkDerivation (
         if test -e $origSrc/nix-support/hydra-release-name; then
           cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name
         fi
+
+        # Package up Coverity analysis results
+        if [ ! -z "${toString doCoverityAnalysis}" ]; then
+          if [ -d "_coverity_$name/cov-int" ]; then
+            mkdir -p $out/tarballs
+            NAME=`cat $out/nix-support/hydra-release-name`
+            cd _coverity_$name
+            tar caf $out/tarballs/$NAME-coverity-int.xz cov-int
+            echo "file cov-build $out/tarballs/$NAME-coverity-int.xz" >> $out/nix-support/hydra-build-products
+          fi
+        fi
+
+        # Package up Clang analysis results
+        if [ ! -z "${toString doClangAnalysis}" ]; then
+          if [ ! -z "`ls _clang_analyze_$name`" ]; then
+            cd  _clang_analyze_$name && mv * $out/analysis
+          else
+            mkdir -p $out/analysis
+            echo "No bugs found." >> $out/analysis/index.html
+          fi
+
+          echo "report analysis $out/analysis" >> $out/nix-support/hydra-build-products
+        fi
       '';
 
     failureHook = (stdenv.lib.optionalString (failureHook != null) failureHook) +
@@ -61,12 +90,27 @@ stdenv.mkDerivation (
       . ${./functions.sh}
       origSrc=$src
       src=$(findTarballs $src | head -1)
+    '';
 
-      # Set GCC flags for coverage analysis, if desired.
-      if test -n "${toString doCoverageAnalysis}"; then
-          export NIX_CFLAGS_COMPILE="-O0 --coverage $NIX_CFLAGS_COMPILE"
-          export CFLAGS="-O0"
-          export CXXFLAGS="-O0"
+    preHook = ''
+      # Perform Coverity Analysis
+      if [ ! -z "${toString doCoverityAnalysis}" ]; then
+        shopt -s expand_aliases
+        mkdir _coverity_$name
+        alias make="cov-build --dir _coverity_$name/cov-int make"
+      fi
+
+      # Perform Clang Analysis
+      if [ ! -z "${toString doClangAnalysis}" ]; then
+        shopt -s expand_aliases
+        alias make="scan-build -o _clang_analyze_$name --html-title='Scan results for $name' make"
+      fi
+    '';
+
+    # Clean up after analysis
+    postBuild = ''
+      if [ ! -z "${toString (doCoverityAnalysis || doClangAnalysis)}" ]; then
+        unalias make
       fi
     '';
 
@@ -74,7 +118,7 @@ stdenv.mkDerivation (
       mkdir -p $out/nix-support
       echo "$system" > $out/nix-support/system
 
-      if [ -z "${toString doCoverageAnalysis}" ]; then
+      if [ -z "${toString doingAnalysis}" ]; then
           for i in $outputs; do
               if [ "$i" = out ]; then j=none; else j="$i"; fi
               mkdir -p ''${!i}/nix-support
@@ -85,30 +129,18 @@ stdenv.mkDerivation (
 
     prePhases = ["initPhase"] ++ prePhases;
 
-    # In the report phase, create a coverage analysis report.
-    coverageReportPhase = if doCoverageAnalysis then ''
-      ${args.lcov}/bin/lcov --directory . --capture --output-file app.info
-      set -o noglob
-      ${args.lcov}/bin/lcov --remove app.info $lcovFilter > app2.info
-      set +o noglob
-      mv app2.info app.info
-
-      mkdir $out/coverage
-      ${args.lcov}/bin/genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log
-
-      # Grab the overall coverage percentage for use in release overviews.
-      grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate
-
-      echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products
-    '' else "";
-
+    buildInputs =
+      buildInputs ++
+      (stdenv.lib.optional doCoverageAnalysis args.makeGCOVReport) ++
+      (stdenv.lib.optional doClangAnalysis args.clangAnalyzer) ++
+      (stdenv.lib.optional doCoverityAnalysis args.cov-build) ++
+      (stdenv.lib.optional doCoverityAnalysis args.xz);
 
     lcovFilter = ["/nix/store/*"] ++ lcovFilter;
 
     inherit lcovExtraTraceFiles;
 
-    postPhases = postPhases ++
-      (stdenv.lib.optional doCoverageAnalysis "coverageReportPhase") ++ ["finalPhase"];
+    postPhases = postPhases ++ ["finalPhase"];
 
     meta = (if args ? meta then args.meta else {}) // {
       description = if doCoverageAnalysis then "Coverage analysis" else "Nix package for ${stdenv.system}";
diff --git a/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh
new file mode 100644
index 00000000000..7175b408b02
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh
@@ -0,0 +1,31 @@
+postPhases+=" cleanupBuildDir"
+
+# Force GCC to build with coverage instrumentation.  Also disable
+# optimisation, since it may confuse things.
+export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage"
+
+# FIXME: Handle the case where postUnpack is already set.
+postUnpack() {
+    # This is an uberhack to prevent libtool from remoaving gcno
+    # files.  This has been fixed in libtool, but there are packages
+    # out there with old ltmain.sh scripts.  See
+    # http://www.mail-archive.com/libtool@gnu.org/msg10725.html
+    for i in $(find -name ltmain.sh); do
+        substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)'
+    done
+}
+
+# Get rid of everything that isn't a gcno file or a C source file.
+# Also strip the `.tmp_' prefix from gcno files.  (The Linux kernel
+# creates these.)
+cleanupBuildDir() {
+    if ! [ -e $out/.build ]; then return; fi
+
+    find $out/.build/ -type f -a ! \
+        \( -name "*.c" -o -name "*.cc" -o -name "*.cpp" -o -name "*.h" -o -name "*.hh" -o -name "*.y" -o -name "*.l" -o -name "*.gcno" \) \
+        | xargs rm -f --
+
+    for i in $(find $out/.build/ -name ".tmp_*.gcno"); do
+        mv "$i" "$(echo $i | sed s/.tmp_//)"
+    done
+}
diff --git a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
new file mode 100644
index 00000000000..5962bf03906
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
@@ -0,0 +1,35 @@
+# On Mac OS X, binaries refer to dynamic library dependencies using
+# either relative paths (e.g. "libicudata.dylib", searched relative to
+# $DYLD_LIBRARY_PATH) or absolute paths
+# (e.g. "/nix/store/.../lib/libicudata.dylib").  In Nix, the latter is
+# preferred since it allows programs to just work.  When linking
+# against a library (e.g. "-licudata"), the linker uses the install
+# name embedded in the dylib (which can be shown using "otool -D").
+# Most packages create dylibs with absolute install names, but some do
+# not.  This setup hook fixes dylibs by setting their install names to
+# their absolute path (using "install_name_tool -id").  It also
+# rewrites references in other dylibs to absolute paths.
+
+fixDarwinDylibNames() {
+    local flags=()
+    local old_id
+
+    for fn in "$@"; do
+        flags+=(-change "$(basename "$fn")" "$fn")
+    done
+
+    for fn in "$@"; do
+        if [ -L "$fn" ]; then continue; fi
+        echo "$fn: fixing dylib"
+        install_name_tool -id "$fn" "${flags[@]}" "$fn"
+    done
+}
+
+fixDarwinDylibNamesIn() {
+    local dir="$1"
+    fixDarwinDylibNames $(find "$dir" -name "*.dylib")
+}
+
+postFixup() {
+    fixDarwinDylibNamesIn "$prefix"
+}
diff --git a/pkgs/build-support/setup-hooks/keep-build-tree.sh b/pkgs/build-support/setup-hooks/keep-build-tree.sh
new file mode 100644
index 00000000000..754900bfc33
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/keep-build-tree.sh
@@ -0,0 +1,6 @@
+prePhases+=" moveBuildDir"
+
+moveBuildDir() {
+    mkdir -p $out/.build
+    cd $out/.build
+}
diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh
new file mode 100644
index 00000000000..4b8abb61ace
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh
@@ -0,0 +1,18 @@
+postPhases+=" coverageReportPhase"
+
+coverageReportPhase() {
+    lcov --directory . --capture --output-file app.info
+    set -o noglob
+    lcov --remove app.info ${lcovFilter:-"/nix/store/*"} > app2.info
+    set +o noglob
+    mv app2.info app.info
+
+    mkdir -p $out/coverage
+    genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log
+
+    # Grab the overall coverage percentage for use in release overviews.
+    mkdir -p $out/nix-support
+    grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate
+
+    echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products
+}
diff --git a/pkgs/build-support/setup-hooks/scatter_output.sh b/pkgs/build-support/setup-hooks/scatter_output.sh
new file mode 100644
index 00000000000..f2a501c55e4
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/scatter_output.sh
@@ -0,0 +1,56 @@
+preFixupPhases+=" scatter_files"
+preDistPhases+=" propagate_bin_input"
+
+SCATTER_BIN_DEFAULT=${SCATTER_BIN_DEFAULT:-"/lib/*.so* /bin/*"}
+SCATTER_DOC_DEFAULT=${SCATTER_DOC_DEFAULT:-"/share/man/* /share/doc/*"}
+
+
+scatter_files() {
+    save_nullglob=$(shopt -p nullglob)
+    for o in $outputs; do
+	[[ "$o" == "out" ]] && continue
+	v=files_${o}
+	
+	#if files_'output' isn't set in derivative, use defualts for some
+	[[ ${!v} ]] || {
+            case $o in
+		bin)
+		    v=SCATTER_BIN_DEFAULT
+		    ;;
+		doc)
+		    v=SCATTER_DOC_DEFAULT
+		    ;;
+		*)
+		    continue
+		    ;;
+	    esac
+        }
+
+	# prepend each path with $out
+	paths=$out${!v// \// $out/}
+        shopt -s nullglob
+	for f in $paths; do
+	    shopt -u nullglob
+	    dist=${!o}${f#$out}
+	    mkdir -p $(dirname $dist)
+	    cp -pr $f $dist
+	    # remove source, not forgetting to clean empty dirs
+	    rm -r $f
+	    rmdir --ignore-fail-on-non-empty $(dirname $f)
+	done
+	find ${!o} -type f -exec $SHELL -c 'patchelf --set-rpath $(patchelf --print-rpath {} 2>/dev/null):'${!o}'/lib {} 2>/dev/null && patchelf --shrink-rpath {}' \;
+    done
+    eval $save_nullglob
+}
+
+propagate_bin_input() {
+    if [[ -n ${bin:-} ]]; then
+	mkdir -p $out/nix-support
+	echo $bin >> $out/nix-support/propagated-native-build-inputs 
+    fi
+
+    if [[ -n ${bin:-} && -n ${doc:-} ]]; then
+	mkdir -p $bin/nix-support
+	echo $doc >> $bin/nix-support/propagated-user-env-packages
+    fi
+}
diff --git a/pkgs/build-support/setup-hooks/set-java-classpath.sh b/pkgs/build-support/setup-hooks/set-java-classpath.sh
new file mode 100644
index 00000000000..76e8e42ca26
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/set-java-classpath.sh
@@ -0,0 +1,13 @@
+# This setup hook adds every JAR in the share/java subdirectories of
+# the build inputs to $CLASSPATH.
+
+export CLASSPATH
+
+addPkgToClassPath () {
+    local jar
+    for jar in $1/share/java/*.jar; do
+        export CLASSPATH=''${CLASSPATH}''${CLASSPATH:+:}''${jar}
+    done
+}
+
+envHooks=(''${envHooks[@]} addPkgToClassPath)
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 5ae2e7b4fc9..c08a6c3a265 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -33,6 +33,7 @@ rec {
     
   # Shorthands for `writeTextFile'.
   writeText = name: text: writeTextFile {inherit name text;};
+  writeTextDir = name: text: writeTextFile {inherit name text; destination = "/${name}";};
   writeScript = name: text: writeTextFile {inherit name text; executable = true;};
   writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";};
 
diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
index a979e24edf2..28c28f69587 100644
--- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
+++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
@@ -5,7 +5,7 @@ SF_redirect () {
 }
 
 SF_version_dir () {
-  version_link 'http://sourceforge.net/.+/[0-9.]+/$'
+  version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$'
 }
 
 GH_latest () {
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
index 5743a289a4c..e11eb722e0e 100755
--- a/pkgs/build-support/upstream-updater/update-walker.sh
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -2,15 +2,22 @@
 
 own_dir="$(cd "$(dirname "$0")"; pwd)"
 
+URL_WAS_SET=
+DL_URL_RE=
 CURRENT_URL=
 CURRENT_REV=
 PREFETCH_COMMAND=
 NEED_TO_CHOOSE_URL=1
 
 url () {
+  URL_WAS_SET=1
   CURRENT_URL="$1"
 }
 
+dl_url_re () {
+  DL_URL_RE="$1"
+}
+
 version_unpack () {
   sed -re '
     s/[.]/ /g; 
@@ -101,16 +108,27 @@ ensure_name () {
 
 ensure_attribute_name () {
   echo "Ensuring attribute name. CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
+  ensure_name
   [ -z "$CURRENT_ATTRIBUTE_NAME" ] && attribute_name "$CURRENT_NAME"
   echo "Resulting attribute name: $CURRENT_ATTRIBUTE_NAME"
 }
 
+ensure_url () {
+  echo "Ensuring starting URL. CURRENT_URL: $CURRENT_URL" >&2
+  ensure_attribute_name
+  [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadPage)"
+  [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadpage)"
+  [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta homepage)"
+  echo "Resulting URL: $CURRENT_URL"
+}
+
 ensure_choice () {
   echo "Ensuring that choice is made." >&2
   echo "NEED_TO_CHOOSE_URL: [$NEED_TO_CHOOSE_URL]." >&2
   echo "CURRENT_URL: $CURRENT_URL" >&2
+  [ -z "$URL_WAS_SET" ] && [ -z "$CURRENT_URL" ] && ensure_url
   [ -n "$NEED_TO_CHOOSE_URL" ] && {
-    version_link '[.]tar[.]([^./])+$'
+    version_link "${DL_URL_RE:-[.]tar[.]([^./])+\$}"
     unset NEED_TO_CHOOSE_URL
   }
   [ -z "$CURRENT_URL" ] && {
@@ -153,8 +171,18 @@ attribute_name () {
   echo "CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
 }
 
+retrieve_meta () {
+  nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_ATTRIBUTE_NAME".meta."$1" | xargs
+}
+
 retrieve_version () {
-  PACKAGED_VERSION="$(nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_ATTRIBUTE_NAME".meta.version | xargs)"
+  PACKAGED_VERSION="$(retrieve_meta version)"
+}
+
+ensure_dl_url_re () {
+  echo "Ensuring DL_URL_RE. DL_URL_RE: $DL_URL_RE" >&2
+  [ -z "$DL_URL_RE" ] && dl_url_re "$(retrieve_meta downloadURLRegexp)"
+  echo "DL_URL_RE: $DL_URL_RE" >&2
 }
 
 directory_of () {
@@ -246,14 +274,37 @@ do_overwrite () {
   mv "$1.new.tmp" "$1"
 }
 
+do_overwrite_just_version () {
+  ensure_hash
+  set_var_value version $CURRENT_VERSION
+  set_var_value sha256 $CURRENT_HASH
+}
+
 process_config () {
   CONFIG_DIR="$(directory_of "$1")"
   CONFIG_NAME="$(basename "$1")"
   BEGIN_EXPRESSION='# Generated upstream information';
-  source "$CONFIG_DIR/$CONFIG_NAME"
-  ensure_name
+  if [ -f  "$CONFIG_DIR/$CONFIG_NAME" ] &&
+      [ "${CONFIG_NAME}" = "${CONFIG_NAME%.nix}" ]; then
+    source "$CONFIG_DIR/$CONFIG_NAME"
+  else
+    CONFIG_NAME="${CONFIG_NAME%.nix}"
+    ensure_attribute_name
+    [ -n "$(retrieve_meta updateWalker)" ] ||
+        [ -n "$FORCE_UPDATE_WALKER" ] || {
+      echo "Error: package not marked as safe for update-walker" >&2
+      echo "Set FORCE_UPDATE_WALKER=1 to override" >&2
+      exit 1;
+    }
+    [ -z "$(retrieve_meta fullRegenerate)" ] && eval "
+      do_overwrite(){
+        do_overwrite_just_version
+      }
+    "
+  fi
   ensure_attribute_name
   retrieve_version
+  ensure_dl_url_re
   ensure_choice
   ensure_version
   ensure_target
diff --git a/pkgs/build-support/upstream-updater/urls-from-page.sh b/pkgs/build-support/upstream-updater/urls-from-page.sh
index aecf645eb81..db39286ccb0 100755
--- a/pkgs/build-support/upstream-updater/urls-from-page.sh
+++ b/pkgs/build-support/upstream-updater/urls-from-page.sh
@@ -9,6 +9,6 @@ relpath="${path#$server}"
  
 echo "URL: $url" >&2
 
-curl -A 'text/html; text/xhtml; text/xml; */*' -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \
+curl -A 'text/html; text/xhtml; text/xml; */*' -L -k "$url" | sed -re 's/^/-/;s/[^a-zA-Z][hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \
   sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \
   sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`"
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 0296c434d6f..7a35577c69a 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -2,7 +2,7 @@
 , kernel ? pkgs.linux_3_10
 , img ? "bzImage"
 , rootModules ?
-    [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" ]
+    [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
 }:
 
 with pkgs;
@@ -57,6 +57,7 @@ rec {
       mknod ${dev}/random  c 1 8
       mknod ${dev}/urandom c 1 9
       mknod ${dev}/tty     c 5 0
+      mknod ${dev}/rtc     c 254 0
       . /sys/class/block/${hd}/uevent
       mknod ${dev}/${hd} b $MAJOR $MINOR
     '';
@@ -159,6 +160,10 @@ rec {
     #! ${bash}/bin/sh
     source /tmp/xchg/saved-env
 
+    # Set the system time from the hardware clock.  Works around an
+    # apparent KVM > 1.5.2 bug.
+    ${pkgs.utillinux}/sbin/hwclock -s
+
     export NIX_STORE=/nix/store
     export NIX_BUILD_TOP=/tmp
     export TMPDIR=/tmp
@@ -290,7 +295,7 @@ rec {
     args = ["-e" (vmRunCommand qemuCommandLinux)];
     origArgs = attrs.args;
     origBuilder = attrs.builder;
-    QEMU_OPTS = "-m ${toString (attrs.memSize or 512)}";
+    QEMU_OPTS = "${attrs.QEMU_OPTS or ""} -m ${toString (attrs.memSize or 512)}";
   });
 
 
@@ -766,10 +771,22 @@ rec {
         url = mirror://fedora/linux/releases/8/Everything/i386/os/repodata/primary.xml.gz;
         sha256 = "0kwf0jcp63pygpvgvwl4w58pph24xbcy6db6fnq2f3ly5myhz53n";
       };
-      urlPrefix = mirror://fedora/linux/releases/8/Everything/i386/os;
+      urlPrefix = http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/8/Everything/i386/os;
       packages = commonFedoraPackages;
     };
 
+    fedora8x86_64 = {
+      name = "fedora-8-x86_64";
+      fullName = "Fedora 8 (x86_64)";
+      packagesList = fetchurl {
+        url = mirror://fedora/linux/releases/8/Everything/x86_64/os/repodata/primary.xml.gz;
+        sha256 = "11bfmpy3nz82zzmj5lfravvzlw514v4718adi4b06ps9zv3zpy8r";
+      };
+      urlPrefix = http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/8/Everything/x86_64/os;
+      packages = commonFedoraPackages;
+      archs = ["noarch" "x86_64"];
+    };
+
     fedora9i386 = {
       name = "fedora-9-i386";
       fullName = "Fedora 9 (i386)";
@@ -912,6 +929,32 @@ rec {
       packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
     };
 
+    fedora17i386 = {
+      name = "fedora-17-i386";
+      fullName = "Fedora 17 (i386)";
+      packagesList = fetchurl {
+        url = mirror://fedora/linux/releases/17/Everything/i386/os/repodata/82dc1ea6d26e53a367dc6e7472113c4454c9a8ac7c98d4bfb11fd0b6f311450f-primary.xml.gz;
+        sha256 = "03s527rvdl0zn6zx963wmjlcjm247h8p4x3fviks6lvfsak1xp42";
+      };
+      urlPrefix = mirror://fedora/linux/releases/17/Everything/i386/os;
+      archs = ["noarch" "i386" "i586" "i686"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
+    fedora17x86_64 = {
+      name = "fedora-17-x86_64";
+      fullName = "Fedora 17 (x86_64)";
+      packagesList = fetchurl {
+        url = mirror://fedora/linux/releases/17/Everything/x86_64/os/repodata/7009de56f1a1c399930fa72094a310a40d38153c96d0b5af443914d3d6a7d811-primary.xml.gz;
+        sha256 = "04fqlzbd651r8jpvbl4n7hakh3d422ir88571y9rkhx1y5bdw2bh";
+      };
+      urlPrefix = mirror://fedora/linux/releases/17/Everything/x86_64/os;
+      archs = ["noarch" "x86_64"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
     fedora18i386 = {
       name = "fedora-18-i386";
       fullName = "Fedora 18 (i386)";
@@ -964,6 +1007,32 @@ rec {
       unifiedSystemDir = true;
     };
 
+    fedora20i386 = {
+      name = "fedora-20-i386";
+      fullName = "Fedora 20 (i386)";
+      packagesList = fetchurl {
+        url = mirror://fedora/linux/releases/20/Everything/i386/os/repodata/ae9c6ae73a12a64227e6b8e7b2d7e1c2a9515bd9c82f2af006c838e7a445dcb9-primary.xml.gz;
+        sha256 = "1ffw8njfff680vq2lby8v5dm3af2w7bv5rxqwqkl59hj7bknm75f";
+      };
+      urlPrefix = mirror://fedora/linux/releases/20/Everything/i386/os;
+      archs = ["noarch" "i386" "i586" "i686"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
+    fedora20x86_64 = {
+      name = "fedora-20-x86_64";
+      fullName = "Fedora 20 (x86_64)";
+      packagesList = fetchurl {
+        url = mirror://fedora/linux/releases/20/Everything/x86_64/os/repodata/d7777ea6ec66e1c86c3fe1900adf5bf8d877fb77dd06e439bd76bbbec4e82094-primary.xml.gz;
+        sha256 = "1510x32bxfvnplwy81nxfzxpgn7qbgghm4717xnciqb6xjk7wxyp";
+      };
+      urlPrefix = mirror://fedora/linux/releases/20/Everything/x86_64/os;
+      archs = ["noarch" "x86_64"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
     opensuse103i386 = {
       name = "opensuse-10.3-i586";
       fullName = "openSUSE 10.3 (i586)";
@@ -1024,30 +1093,42 @@ rec {
       packages = commonOpenSUSEPackages;
     };
 
-    centos64i386 = {
-      name = "centos-6.4-i386";
-      fullName = "CentOS 6.4 (i386)";
+    centos65i386 = {
+      name = "centos-6.5-i386";
+      fullName = "CentOS 6.5 (i386)";
       packagesList = fetchurl {
-        url = http://mirror.centos.org/centos/6.4/os/i386/repodata/87aa4c4e19f9a3ec93e3d820f1ea6b6ece8810cb45f117a16354465e57a1b50d-primary.xml.gz;
-        sha256 = "03dml5bmwijlcfhigwa5rc88ikkfdgmg286qwf9yr8zr3574ral7";
+        url = http://mirror.centos.org/centos/6.5/os/i386/repodata/a89f27cc7d3cea431f3bd605a1e9309c32d5d409abc1b51a7b5c71c05f18a0c2-primary.xml.gz;
+        sha256 = "1hm031gw0wawgcdbbhdb17adaclw63ls21fn7cgl7siwgp62g7x8";
       };
-      urlPrefix = http://mirror.centos.org/centos/6.4/os/i386/ ;
+      urlPrefix = http://mirror.centos.org/centos/6.5/os/i386/ ;
       archs = ["noarch" "i386"];
       packages = commonCentOSPackages;
     };
 
-    centos64x86_64 = {
-      name = "centos-6.4-x86_64";
-      fullName = "CentOS 6.4 (x86_64)";
+    centos65x86_64 = {
+      name = "centos-6.5-x86_64";
+      fullName = "CentOS 6.5 (x86_64)";
       packagesList = fetchurl {
-        url = http://mirror.centos.org/centos/6.4/os/x86_64/repodata/4d4030b92f010f466eb4f004312b9f532b9e85e60c5e6421e8b429c180ac1efe-primary.xml.gz;
-        sha256 = "1zhymj0c2adlx0hn8phcws2rwaskkwmk217hnip4c3q15ywk0h2d";
+        url = http://mirror.centos.org/centos/6.5/os/x86_64/repodata/3353e378f5cb4bb6c3b3dd2ca266c6d68a1e29c36cf99f76aea3d8e158626024-primary.xml.gz;
+        sha256 = "0930c9cf3n53mrv9zybcqclix2nnqrka4b6xng1vcjybymwf6lrk";
       };
-      urlPrefix = http://mirror.centos.org/centos/6.4/os/x86_64/ ;
+      urlPrefix = http://mirror.centos.org/centos/6.5/os/x86_64/ ;
       archs = ["noarch" "x86_64"];
       packages = commonCentOSPackages;
     };
 
+    rhel7x86_64 = {
+      name = "rhel-7rc-x86_64";
+      fullName = "RHEL 7 rc (x86_64)";
+      packagesList = fetchurl {
+        url = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os/repodata/81f41fc6206a8477235dc7b5099ffe0867f71802415d66d6c0a213a41cae27c3-primary.xml.gz;
+        sha256 = "1hr7mqfa84x2q3b6cpa108cgfrq8zsghkdf7blipg13a4331zx41";
+      };
+      urlPrefix = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os ;
+      archs = ["noarch" "x86_64"];
+      packages = commonRHELPackages;
+    };
+
   };
 
 
@@ -1304,7 +1385,7 @@ rec {
           })
           (fetchurl {
             url = mirror://ubuntu/dists/quantal/universe/binary-i386/Packages.bz2;
-            sha256 = "323036e81c8bf409f71d3bc5cf37cfba72fe1d0fc82e9b5418d4d0cb516646e1";
+            sha256 = "9933ce12e7830b9c68a4aead08b86fcbb8d6ef0ea1fd133f0cf9d7126ad8c9bd";
           })
         ];
       urlPrefix = mirror://ubuntu;
@@ -1321,7 +1402,7 @@ rec {
           })
           (fetchurl {
             url = mirror://ubuntu/dists/quantal/universe/binary-amd64/Packages.bz2;
-            sha256 = "c762bd4ed063326577a62ff783cf9720e772b03d4a2aa38048918ee6287b96ce";
+            sha256 = "329a98312248c98092f8b91f232fc68fd3e6e2337ea4f348b3785465ae8dae17";
           })
         ];
       urlPrefix = mirror://ubuntu;
@@ -1338,7 +1419,7 @@ rec {
           })
           (fetchurl {
             url = mirror://ubuntu/dists/raring/universe/binary-i386/Packages.bz2;
-            sha256 = "1db19982fc3689b00a918e2cdbb936dfccebbac2ed82f81bb0164a3d51039012";
+            sha256 = "c1a59dd9132654194f4470932fd0f1582496465d8f96909b22accaf9f404024a";
           })
         ];
       urlPrefix = mirror://ubuntu;
@@ -1355,7 +1436,7 @@ rec {
           })
           (fetchurl {
             url = mirror://ubuntu/dists/raring/universe/binary-amd64/Packages.bz2;
-            sha256 = "0caf561bad359e8a82a987a076c0f1cb7a43412a5de053c105b160477c192978";
+            sha256 = "8aba137ae18540a12de03a564c11496431a150ab2d4d1e93e2b4b691fa2a4850";
           })
         ];
       urlPrefix = mirror://ubuntu;
@@ -1372,7 +1453,7 @@ rec {
           })
           (fetchurl {
             url = mirror://ubuntu/dists/saucy/universe/binary-i386/Packages.bz2;
-            sha256 = "84ff81ef23bcece68bfc3dd4b0b1fd38e5b81ac90ad48b4e4210396b425da500";
+            sha256 = "897f64c19a742ac8524c17c1b5ec31b33ec8ab20c85463010d8bf04f5d14aa0f";
           })
         ];
       urlPrefix = mirror://ubuntu;
@@ -1389,7 +1470,41 @@ rec {
           })
           (fetchurl {
             url = mirror://ubuntu/dists/saucy/universe/binary-amd64/Packages.bz2;
-            sha256 = "06ec77f2f5d6ee70ffb805affe3a6b3e8d5b6463fbfe42ba6588295c7e1f65bc";
+            sha256 = "a899ce5513ce8540ce9b8da4c1cd85b16b231900881b3aa559f7ac3182cdbfc8";
+          })
+        ];
+      urlPrefix = mirror://ubuntu;
+      packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
+    };
+
+    ubuntu1404i386 = {
+      name = "ubuntu-14.04-trusty-i386";
+      fullName = "Ubuntu 14.04 Trusty (i386)";
+      packagesLists =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/trusty/main/binary-i386/Packages.bz2;
+            sha256 = "fdfc38663915c5cef3029872deb8c3bf52b98092073058086e2f1db0c71ebeb4";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/trusty/universe/binary-i386/Packages.bz2;
+            sha256 = "2afcf259332d88c5e02f5446c4926edd567ef1a00ce24ca7cb400cbf44e2a90f";
+          })
+        ];
+      urlPrefix = mirror://ubuntu;
+      packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
+    };
+
+    ubuntu1404x86_64 = {
+      name = "ubuntu-14.04-trusty-amd64";
+      fullName = "Ubuntu 14.04 Trusty (amd64)";
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/trusty/main/binary-amd64/Packages.bz2;
+            sha256 = "7095917eb8e4ac9161bc3b2ceeaf86e9265aae7b855a0e15d72096ecb05f1fc2";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/trusty/universe/binary-amd64/Packages.bz2;
+            sha256 = "558637eeb8e340b871653e2060effe36e064677eca4eae62d9e4138dd402a610";
           })
         ];
       urlPrefix = mirror://ubuntu;
@@ -1441,22 +1556,22 @@ rec {
     };
 
     debian60i386 = {
-      name = "debian-6.0.8-squeeze-i386";
-      fullName = "Debian 6.0.8 Squeeze (i386)";
+      name = "debian-6.0.10-squeeze-i386";
+      fullName = "Debian 6.0.10 Squeeze (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2;
-        sha256 = "c850339aaf46a4ed4abc7c1789c29ea58c3a152aa173ee004578fda86b28391f";
+        sha256 = "c08899011a7a2b0df4da08f91eef3a80d112a247df988b1c966c9fb64c812392";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian60x86_64 = {
-      name = "debian-6.0.8-squeeze-amd64";
-      fullName = "Debian 6.0.8 Squeeze (amd64)";
+      name = "debian-6.0.10-squeeze-amd64";
+      fullName = "Debian 6.0.10 Squeeze (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2;
-        sha256 = "1506ab7de3ad5a2c706183536d2ee88589d7cb922d9e0de36ac062d464082dda";
+        sha256 = "3f2ebd5221b9a4bdf7224acf728a51a987c63d32df1bbc20a97f177d2f184045";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
@@ -1467,22 +1582,22 @@ rec {
     debian70x86_64 = debian7x86_64;
 
     debian7i386 = {
-      name = "debian-7.2-wheezy-i386";
-      fullName = "Debian 7.2 Wheezy (i386)";
+      name = "debian-7.6-wheezy-i386";
+      fullName = "Debian 7.6 Wheezy (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
-        sha256 = "2e80242e323f233c40b3020b0f1a57d12df8a120ee82af88ff7032ba4688f97d";
+        sha256 = "773ba601513cd7ef1d5192ad8baa795fa050573d82568c577cdf79adade698a3";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian7x86_64 = {
-      name = "debian-7.2-wheezy-amd64";
-      fullName = "Debian 7.2 Wheezy (amd64)";
+      name = "debian-7.6-wheezy-amd64";
+      fullName = "Debian 7.6 Wheezy (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
-        sha256 = "adfc4cd3d3b855c73c9e2e12163a33c193f98c9bad25765080fa6136378a6e3b";
+        sha256 = "11a8bd3648d51f51e56c9f5382168cc47267d67ef6a050826e1cd358ed46cc17";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
@@ -1537,6 +1652,28 @@ rec {
     "unzip"
   ];
 
+  commonRHELPackages = [
+    "autoconf"
+    "automake"
+    "basesystem"
+    "bzip2"
+    "curl"
+    "diffutils"
+    "findutils"
+    "gawk"
+    "gcc-c++"
+    "gzip"
+    "make"
+    "patch"
+    "perl"
+    "pkgconfig"
+    "procps-ng"
+    "rpm"
+    "rpm-build"
+    "tar"
+    "unzip"
+  ];
+
   /* Common packages for openSUSE images. */
   commonOpenSUSEPackages = [
     "aaa_base"
@@ -1650,5 +1787,4 @@ rec {
       };
 
     };
-
-}
+} // import ./windows pkgs
diff --git a/pkgs/build-support/vm/windows/bootstrap.nix b/pkgs/build-support/vm/windows/bootstrap.nix
new file mode 100644
index 00000000000..ebea819b191
--- /dev/null
+++ b/pkgs/build-support/vm/windows/bootstrap.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchurl, vmTools, writeScript, writeText, runCommand, makeInitrd
+, python, perl, coreutils, dosfstools, gzip, mtools, netcat, openssh, qemu
+, samba, socat, vde2, cdrkit, pathsFromGraph, gnugrep
+}:
+
+{ isoFile, productKey, arch ? null }:
+
+with stdenv.lib;
+
+let
+  controller = import ./controller {
+    inherit stdenv writeScript vmTools makeInitrd;
+    inherit samba vde2 openssh socat netcat coreutils gzip gnugrep;
+  };
+
+  mkCygwinImage = import ./cygwin-iso {
+    inherit stdenv fetchurl runCommand python perl cdrkit pathsFromGraph;
+    arch = let
+      defaultArch = if stdenv.is64bit then "x86_64" else "i686";
+    in if arch == null then defaultArch else arch;
+  };
+
+  installer = import ./install {
+    inherit controller mkCygwinImage;
+    inherit stdenv runCommand openssh qemu writeText dosfstools mtools;
+  };
+in rec {
+  installedVM = installer {
+    inherit isoFile productKey;
+  };
+
+  runInVM = img: attrs: controller (attrs // {
+    inherit (installedVM) sshKey;
+    qemuArgs = attrs.qemuArgs or [] ++ [
+      "-boot order=c"
+      "-drive file=${img},index=0,media=disk"
+    ];
+  });
+
+  runAndSuspend = let
+    drives = {
+      s = {
+        source = "nixstore";
+        target = "/nix/store";
+      };
+      x = {
+        source = "xchg";
+        target = "/tmp/xchg";
+      };
+    };
+
+    genDriveCmds = letter: { source, target }: [
+      "net use ${letter}: '\\\\192.168.0.2\\${source}' /persistent:yes"
+      "mkdir -p '${target}'"
+      "mount -o bind '/cygdrive/${letter}' '${target}'"
+      "echo '/cygdrive/${letter} ${target} none bind 0 0' >> /etc/fstab"
+    ];
+  in runInVM "winvm.img" {
+    command = concatStringsSep " && " ([
+      "net config server /autodisconnect:-1"
+    ] ++ concatLists (mapAttrsToList genDriveCmds drives));
+    suspendTo = "state.gz";
+  };
+
+  suspendedVM = stdenv.mkDerivation {
+    name = "cygwin-suspended-vm";
+    buildCommand = ''
+      ${qemu}/bin/qemu-img create \
+        -b "${installedVM}/disk.img" \
+        -f qcow2 winvm.img
+      ${runAndSuspend}
+      mkdir -p "$out"
+      cp winvm.img "$out/disk.img"
+      cp state.gz "$out/state.gz"
+    '';
+  };
+
+  resumeAndRun = command: runInVM "${suspendedVM}/disk.img" {
+    resumeFrom = "${suspendedVM}/state.gz";
+    qemuArgs = singleton "-snapshot";
+    inherit command;
+  };
+}
diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix
new file mode 100644
index 00000000000..0beaf401758
--- /dev/null
+++ b/pkgs/build-support/vm/windows/controller/default.nix
@@ -0,0 +1,264 @@
+{ stdenv, writeScript, vmTools, makeInitrd
+, samba, vde2, openssh, socat, netcat, coreutils, gnugrep, gzip
+}:
+
+{ sshKey
+, qemuArgs ? []
+, command ? "sync"
+, suspendTo ? null
+, resumeFrom ? null
+, installMode ? false
+}:
+
+with stdenv.lib;
+
+let
+  preInitScript = writeScript "preinit.sh" ''
+    #!${vmTools.initrdUtils}/bin/ash -e
+    export PATH=${vmTools.initrdUtils}/bin
+    mount -t proc none /proc
+    mount -t sysfs none /sys
+    for arg in $(cat /proc/cmdline); do
+      if [ "x''${arg#command=}" != "x$arg" ]; then
+        command="''${arg#command=}"
+      fi
+    done
+
+    for i in $(cat ${modulesClosure}/insmod-list); do
+      insmod $i
+    done
+
+    mkdir -p /dev /fs
+
+    mount -t tmpfs none /dev
+    mknod /dev/null    c 1 3
+    mknod /dev/zero    c 1 5
+    mknod /dev/random  c 1 8
+    mknod /dev/urandom c 1 9
+    mknod /dev/tty     c 5 0
+
+    ifconfig lo up
+    ifconfig eth0 up 192.168.0.2
+
+    mount -t tmpfs none /fs
+    mkdir -p /fs/nix/store /fs/xchg /fs/dev /fs/sys /fs/proc /fs/etc /fs/tmp
+
+    mount -o bind /dev /fs/dev
+    mount -t sysfs none /fs/sys
+    mount -t proc none /fs/proc
+
+    mount -t 9p \
+      -o trans=virtio,version=9p2000.L,msize=262144,cache=loose \
+      store /fs/nix/store
+
+    mount -t 9p \
+      -o trans=virtio,version=9p2000.L,msize=262144,cache=loose \
+      xchg /fs/xchg
+
+    echo root:x:0:0::/root:/bin/false > /fs/etc/passwd
+
+    set +e
+    chroot /fs $command $out
+    echo $? > /fs/xchg/in-vm-exit
+
+    poweroff -f
+  '';
+
+  initrd = makeInitrd {
+    contents = singleton {
+      object = preInitScript;
+      symlink = "/init";
+    };
+  };
+
+  shellEscape = x: "'${replaceChars ["'"] [("'\\'" + "'")] x}'";
+
+  loopForever = "while :; do ${coreutils}/bin/sleep 1; done";
+
+  initScript = writeScript "init.sh" (''
+    #!${stdenv.shell}
+    ${coreutils}/bin/cp -L "${sshKey}" /ssh.key
+    ${coreutils}/bin/chmod 600 /ssh.key
+  '' + (if installMode then ''
+    echo -n "Waiting for Windows installation to finish..."
+    while ! ${netcat}/bin/netcat -z 192.168.0.1 22; do
+      echo -n .
+      # Print a dot every 10 seconds only to shorten line length.
+      ${coreutils}/bin/sleep 10
+    done
+    ${coreutils}/bin/touch /xchg/waiting_done
+    echo " success."
+    # Loop forever, because this VM is going to be killed.
+    ${loopForever}
+  '' else ''
+    ${coreutils}/bin/mkdir -p /etc/samba /etc/samba/private \
+                              /var/lib/samba /var/log /var/run
+    ${coreutils}/bin/cat > /etc/samba/smb.conf <<CONFIG
+    [global]
+    security = user
+    map to guest = Bad User
+    guest account = root
+    workgroup = cygwin
+    netbios name = controller
+    server string = %h
+    log level = 1
+    max log size = 1000
+    log file = /var/log/samba.log
+
+    [nixstore]
+    path = /nix/store
+    writable = yes
+    guest ok = yes
+
+    [xchg]
+    path = /xchg
+    writable = yes
+    guest ok = yes
+    CONFIG
+
+    ${samba}/sbin/nmbd -D
+    ${samba}/sbin/smbd -D
+
+    echo -n "Waiting for Windows VM to become available..."
+    while ! ${netcat}/bin/netcat -z 192.168.0.1 22; do
+      echo -n .
+      ${coreutils}/bin/sleep 1
+    done
+    ${coreutils}/bin/touch /xchg/waiting_done
+    echo " success."
+
+    ${openssh}/bin/ssh \
+      -o UserKnownHostsFile=/dev/null \
+      -o StrictHostKeyChecking=no \
+      -i /ssh.key \
+      -l Administrator \
+      192.168.0.1 -- ${shellEscape command}
+  '') + optionalString (suspendTo != null) ''
+    ${coreutils}/bin/touch /xchg/suspend_now
+    ${loopForever}
+  '');
+
+  kernelAppend = concatStringsSep " " [
+    "panic=1"
+    "loglevel=4"
+    "console=tty1"
+    "console=ttyS0"
+    "command=${initScript}"
+  ];
+
+  controllerQemuArgs = concatStringsSep " " (maybeKvm64 ++ [
+    "-pidfile $CTRLVM_PIDFILE"
+    "-nographic"
+    "-no-reboot"
+    "-virtfs local,path=/nix/store,security_model=none,mount_tag=store"
+    "-virtfs local,path=$XCHG_DIR,security_model=none,mount_tag=xchg"
+    "-kernel ${modulesClosure.kernel}/bzImage"
+    "-initrd ${initrd}/initrd"
+    "-append \"${kernelAppend}\""
+    "-net nic,vlan=0,macaddr=52:54:00:12:01:02,model=virtio"
+    "-net vde,vlan=0,sock=$QEMU_VDE_SOCKET"
+  ]);
+
+  maybeKvm64 = optional (stdenv.system == "x86_64-linux") "-cpu kvm64";
+
+  cygwinQemuArgs = concatStringsSep " " (maybeKvm64 ++ [
+    "-monitor unix:$MONITOR_SOCKET,server,nowait"
+    "-pidfile $WINVM_PIDFILE"
+    "-nographic"
+    "-net nic,vlan=0,macaddr=52:54:00:12:01:01"
+    "-net vde,vlan=0,sock=$QEMU_VDE_SOCKET"
+    "-rtc base=2010-01-01,clock=vm"
+  ] ++ qemuArgs ++ optionals (resumeFrom != null) [
+    "-incoming 'exec: ${gzip}/bin/gzip -c -d \"${resumeFrom}\"'"
+  ]);
+
+  modulesClosure = overrideDerivation vmTools.modulesClosure (o: {
+    rootModules = o.rootModules ++ singleton "virtio_net";
+  });
+
+  preVM = ''
+    (set; declare -p) > saved-env
+    XCHG_DIR="$(${coreutils}/bin/mktemp -d nix-vm.XXXXXXXXXX --tmpdir)"
+    ${coreutils}/bin/mv saved-env "$XCHG_DIR/"
+
+    eval "$preVM"
+
+    QEMU_VDE_SOCKET="$(pwd)/vde.ctl"
+    MONITOR_SOCKET="$(pwd)/monitor"
+    WINVM_PIDFILE="$(pwd)/winvm.pid"
+    CTRLVM_PIDFILE="$(pwd)/ctrlvm.pid"
+    ${vde2}/bin/vde_switch -s "$QEMU_VDE_SOCKET" &
+    echo 'alive?' | ${socat}/bin/socat - \
+      UNIX-CONNECT:$QEMU_VDE_SOCKET/ctl,retry=20
+  '';
+
+  vmExec = ''
+    ${vmTools.qemuProg} ${controllerQemuArgs} &
+    ${vmTools.qemuProg} ${cygwinQemuArgs} &
+    echo -n "Waiting for VMs to start up..."
+    timeout=60
+    while ! test -e "$WINVM_PIDFILE" -a -e "$CTRLVM_PIDFILE"; do
+      timeout=$(($timeout - 1))
+      echo -n .
+      if test $timeout -le 0; then
+        echo " timed out."
+        exit 1
+      fi
+      ${coreutils}/bin/sleep 1
+    done
+    echo " done."
+  '';
+
+  checkDropOut = ''
+    if ! test -e "$XCHG_DIR/waiting_done" &&
+       ! kill -0 $(< "$WINVM_PIDFILE"); then
+      echo "Windows VM has dropped out early, bailing out!" >&2
+      exit 1
+    fi
+  '';
+
+  toMonitor = "${socat}/bin/socat - UNIX-CONNECT:$MONITOR_SOCKET";
+
+  postVM = if suspendTo != null then ''
+    while ! test -e "$XCHG_DIR/suspend_now"; do
+      ${checkDropOut}
+      ${coreutils}/bin/sleep 1
+    done
+    ${toMonitor} <<CMD
+    stop
+    migrate_set_speed 4095m
+    migrate "exec:${gzip}/bin/gzip -c > '${suspendTo}'"
+    CMD
+    echo -n "Waiting for memory dump to finish..."
+    while ! echo info migrate | ${toMonitor} | \
+          ${gnugrep}/bin/grep -qi '^migration *status: *complete'; do
+      ${coreutils}/bin/sleep 1
+      echo -n .
+    done
+    echo " done."
+    echo quit | ${toMonitor}
+    wait $(< "$WINVM_PIDFILE")
+    eval "$postVM"
+    exit 0
+  '' else if installMode then ''
+    wait $(< "$WINVM_PIDFILE")
+    eval "$postVM"
+    exit 0
+  '' else ''
+    while kill -0 $(< "$CTRLVM_PIDFILE"); do
+      ${checkDropOut}
+    done
+    if ! test -e "$XCHG_DIR/in-vm-exit"; then
+      echo "Virtual machine didn't produce an exit code."
+      exit 1
+    fi
+    eval "$postVM"
+    exit $(< "$XCHG_DIR/in-vm-exit")
+  '';
+
+in writeScript "run-cygwin-vm.sh" ''
+  #!${stdenv.shell} -e
+  ${preVM}
+  ${vmExec}
+  ${postVM}
+''
diff --git a/pkgs/build-support/vm/windows/cygwin-iso/default.nix b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
new file mode 100644
index 00000000000..d9801428a88
--- /dev/null
+++ b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, runCommand, python, perl, cdrkit, pathsFromGraph
+, arch ? "x86_64"
+}:
+
+{ packages ? []
+, mirror ? "http://ftp.gwdg.de/pub/linux/sources.redhat.com/cygwin"
+, extraContents ? []
+}:
+
+let
+  cygPkgList = if arch == "x86_64" then fetchurl {
+    url = "${mirror}/x86_64/setup.ini";
+    sha256 = "0ljsxdkx9s916wp28kcvql3bjx80zzzidan6jicby7i9s3sm96n9";
+  } else fetchurl {
+    url = "${mirror}/x86/setup.ini";
+    sha256 = "1slyj4qha7x649ggwdski9spmyrbs04z2d46vgk8krllg0kppnjv";
+  };
+
+  cygwinCross = (import ../../../../top-level/all-packages.nix {
+    inherit (stdenv) system;
+    crossSystem = {
+      libc = "msvcrt";
+      platform = {};
+      openssl.system = "mingw64";
+      inherit arch;
+      config = "${arch}-w64-mingw32";
+    };
+  }).windows.cygwinSetup.crossDrv;
+
+  makeCygwinClosure = { packages, packageList }: let
+    expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } ''
+      python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out"
+    '');
+    gen = { url, md5 }: {
+      source = fetchurl {
+        url = "${mirror}/${url}";
+        inherit md5;
+      };
+      target = url;
+    };
+  in map gen expr;
+
+in import <nixpkgs/nixos/lib/make-iso9660-image.nix> {
+  inherit stdenv perl cdrkit pathsFromGraph;
+  contents = [
+    { source = "${cygwinCross}/bin/setup.exe";
+      target = "setup.exe";
+    }
+    { source = cygPkgList;
+      target = "setup.ini";
+    }
+  ] ++ makeCygwinClosure {
+    packages = cygPkgList;
+    packageList = packages;
+  } ++ extraContents;
+}
diff --git a/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py b/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py
new file mode 100644
index 00000000000..48d569a6bd3
--- /dev/null
+++ b/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py
@@ -0,0 +1,78 @@
+# Ugliest Python code I've ever written. -- aszlig
+import sys
+
+def get_plist(path):
+    in_pack = False
+    in_str = False
+    current_key = None
+    buf = ""
+    packages = {}
+    package_name = None
+    package_attrs = {}
+    with open(path, 'r') as setup:
+        for line in setup:
+            if in_str and line.rstrip().endswith('"'):
+                package_attrs[current_key] = buf + line.rstrip()[:-1]
+                in_str = False
+                continue
+            elif in_str:
+                buf += line
+                continue
+
+            if line.startswith('@'):
+                in_pack = True
+                package_name = line[1:].strip()
+                package_attrs = {}
+            elif in_pack and ':' in line:
+                key, value = line.split(':', 1)
+                if value.lstrip().startswith('"'):
+                    if value.lstrip()[1:].rstrip().endswith('"'):
+                        value = value.strip().strip('"')
+                    else:
+                        in_str = True
+                        current_key = key.strip().lower()
+                        buf = value.lstrip()[1:]
+                        continue
+                package_attrs[key.strip().lower()] = value.strip()
+            elif in_pack:
+                in_pack = False
+                packages[package_name] = package_attrs
+    return packages
+
+def main():
+    packages = get_plist(sys.argv[1])
+    to_include = set()
+
+    def traverse(package):
+        to_include.add(package)
+        attrs = packages.get(package, {})
+        deps = attrs.get('requires', '').split()
+        for new_dep in set(deps) - to_include:
+            traverse(new_dep)
+
+    map(traverse, sys.argv[2:])
+
+    sys.stdout.write('[\n')
+    for package, attrs in packages.iteritems():
+        if package not in to_include:
+            cats = [c.lower() for c in attrs.get('category', '').split()]
+            if 'base' not in cats:
+                continue
+
+        install_line = attrs.get('install')
+        if install_line is None:
+            continue
+
+        url, size, md5 = install_line.split(' ', 2)
+
+        pack = [
+            '  {',
+            '    url = "{0}";'.format(url),
+            '    md5 = "{0}";'.format(md5),
+            '  }',
+        ];
+        sys.stdout.write('\n'.join(pack) + '\n')
+    sys.stdout.write(']\n')
+
+if __name__ == '__main__':
+    main()
diff --git a/pkgs/build-support/vm/windows/default.nix b/pkgs/build-support/vm/windows/default.nix
new file mode 100644
index 00000000000..f9f1d75c70d
--- /dev/null
+++ b/pkgs/build-support/vm/windows/default.nix
@@ -0,0 +1,49 @@
+pkgs:
+
+let
+  bootstrapper = import ./bootstrap.nix {
+    inherit (pkgs) stdenv vmTools writeScript writeText runCommand makeInitrd;
+    inherit (pkgs) coreutils dosfstools gzip mtools netcat openssh qemu samba;
+    inherit (pkgs) socat vde2 fetchurl python perl cdrkit pathsFromGraph;
+    inherit (pkgs) gnugrep;
+  };
+
+  builder = ''
+    source /tmp/xchg/saved-env 2> /dev/null || true
+    export NIX_STORE=/nix/store
+    export NIX_BUILD_TOP=/tmp
+    export TMPDIR=/tmp
+    export PATH=/empty
+    cd "$NIX_BUILD_TOP"
+    exec $origBuilder $origArgs
+  '';
+
+in {
+  runInWindowsVM = drv: let
+    newDrv = drv.override {
+      stdenv = drv.stdenv.override {
+        shell = "/bin/sh";
+      };
+    };
+  in pkgs.lib.overrideDerivation drv (attrs: let
+    bootstrap = bootstrapper attrs.windowsImage;
+  in {
+    requiredSystemFeatures = [ "kvm" ];
+    builder = "${pkgs.stdenv.shell}";
+    args = ["-e" (bootstrap.resumeAndRun builder)];
+    windowsImage = bootstrap.suspendedVM;
+    origArgs = attrs.args;
+    origBuilder = if attrs.builder == attrs.stdenv.shell
+                  then "/bin/sh"
+                  else attrs.builder;
+
+    postHook = ''
+      PATH=/usr/bin:/bin:/usr/sbin:/sbin
+      SHELL=/bin/sh
+      eval "$origPostHook"
+    '';
+
+    origPostHook = attrs.postHook or "";
+    fixupPhase = ":";
+  });
+}
diff --git a/pkgs/build-support/vm/windows/install/default.nix b/pkgs/build-support/vm/windows/install/default.nix
new file mode 100644
index 00000000000..fe8e8f61de0
--- /dev/null
+++ b/pkgs/build-support/vm/windows/install/default.nix
@@ -0,0 +1,74 @@
+{ stdenv, runCommand, openssh, qemu, controller, mkCygwinImage
+, writeText, dosfstools, mtools
+}:
+
+{ isoFile
+, productKey
+}:
+
+let
+  bootstrapAfterLogin = runCommand "bootstrap.sh" {} ''
+    cat > "$out" <<EOF
+    mkdir -p ~/.ssh
+    cat > ~/.ssh/authorized_keys <<PUBKEY
+    $(cat "${cygwinSshKey}/key.pub")
+    PUBKEY
+    ssh-host-config -y -c 'binmode ntsec' -w dummy
+    cygrunsrv -S sshd
+    shutdown -s 5
+    EOF
+  '';
+
+  cygwinSshKey = stdenv.mkDerivation {
+    name = "snakeoil-ssh-cygwin";
+    buildCommand = ''
+      mkdir -p "$out"
+      ${openssh}/bin/ssh-keygen -t ecdsa -f "$out/key" -N ""
+    '';
+  };
+
+  sshKey = "${cygwinSshKey}/key";
+
+  packages = [ "openssh" "shutdown" ];
+
+  floppyCreator = import ./unattended-image.nix {
+    inherit stdenv writeText dosfstools mtools;
+  };
+
+  instfloppy = floppyCreator {
+    cygwinPackages = packages;
+    inherit productKey;
+  };
+
+  cygiso = mkCygwinImage {
+    inherit packages;
+    extraContents = stdenv.lib.singleton {
+      source = bootstrapAfterLogin;
+      target = "bootstrap.sh";
+    };
+  };
+
+  installController = controller {
+    inherit sshKey;
+    installMode = true;
+    qemuArgs = [
+      "-boot order=c,once=d"
+      "-drive file=${instfloppy},readonly,index=0,if=floppy"
+      "-drive file=winvm.img,index=0,media=disk"
+      "-drive file=${isoFile},index=1,media=cdrom"
+      "-drive file=${cygiso}/iso/cd.iso,index=2,media=cdrom"
+    ];
+  };
+
+in stdenv.mkDerivation {
+  name = "cygwin-base-vm";
+  buildCommand = ''
+    ${qemu}/bin/qemu-img create -f qcow2 winvm.img 2G
+    ${installController}
+    mkdir -p "$out"
+    cp winvm.img "$out/disk.img"
+  '';
+  passthru = {
+    inherit sshKey;
+  };
+}
diff --git a/pkgs/build-support/vm/windows/install/unattended-image.nix b/pkgs/build-support/vm/windows/install/unattended-image.nix
new file mode 100644
index 00000000000..5b1ff84cf44
--- /dev/null
+++ b/pkgs/build-support/vm/windows/install/unattended-image.nix
@@ -0,0 +1,123 @@
+{ stdenv, writeText, dosfstools, mtools }:
+
+{ productKey
+, shExecAfterwards ? "E:\\bootstrap.sh"
+, cygwinRoot ? "C:\\cygwin"
+, cygwinSetup ? "E:\\setup.exe"
+, cygwinRepository ? "E:\\"
+, cygwinPackages ? [ "openssh" ]
+}:
+
+let
+  afterSetup = [
+    cygwinSetup
+    "-L -n -q"
+    "-l ${cygwinRepository}"
+    "-R ${cygwinRoot}"
+    "-C base"
+  ] ++ map (p: "-P ${p}") cygwinPackages;
+
+  winXpUnattended = writeText "winnt.sif" ''
+    [Data]
+    AutoPartition = 1
+    AutomaticUpdates = 0
+    MsDosInitiated = 0
+    UnattendedInstall = Yes
+
+    [Unattended]
+    DUDisable = Yes
+    DriverSigningPolicy = Ignore
+    Hibernation = No
+    OemPreinstall = No
+    OemSkipEula = Yes
+    Repartition = Yes
+    TargetPath = \WINDOWS
+    UnattendMode = FullUnattended
+    UnattendSwitch = Yes
+    WaitForReboot = No
+
+    [GuiUnattended]
+    AdminPassword = "nopasswd"
+    AutoLogon = Yes
+    AutoLogonCount = 1
+    OEMSkipRegional = 1
+    OemSkipWelcome = 1
+    ServerWelcome = No
+    TimeZone = 85
+
+    [UserData]
+    ComputerName = "cygwin"
+    FullName = "cygwin"
+    OrgName = ""
+    ProductKey = "${productKey}"
+
+    [Networking]
+    InstallDefaultComponents = Yes
+
+    [Identification]
+    JoinWorkgroup = cygwin
+
+    [NetAdapters]
+    PrimaryAdapter = params.PrimaryAdapter
+
+    [params.PrimaryAdapter]
+    InfID = *
+
+    [params.MS_MSClient]
+
+    [NetProtocols]
+    MS_TCPIP = params.MS_TCPIP
+
+    [params.MS_TCPIP]
+    AdapterSections=params.MS_TCPIP.PrimaryAdapter
+
+    [params.MS_TCPIP.PrimaryAdapter]
+    DHCP = No
+    IPAddress = 192.168.0.1
+    SpecificTo = PrimaryAdapter
+    SubnetMask = 255.255.255.0
+    WINS = No
+
+    ; Turn off all components
+    [Components]
+    ${stdenv.lib.concatMapStrings (comp: "${comp} = Off\n") [
+      "AccessOpt" "Appsrv_console" "Aspnet" "BitsServerExtensionsISAPI"
+      "BitsServerExtensionsManager" "Calc" "Certsrv" "Certsrv_client"
+      "Certsrv_server" "Charmap" "Chat" "Clipbook" "Cluster" "Complusnetwork"
+      "Deskpaper" "Dialer" "Dtcnetwork" "Fax" "Fp_extensions" "Fp_vdir_deploy"
+      "Freecell" "Hearts" "Hypertrm" "IEAccess" "IEHardenAdmin" "IEHardenUser"
+      "Iis_asp" "Iis_common" "Iis_ftp" "Iis_inetmgr" "Iis_internetdataconnector"
+      "Iis_nntp" "Iis_serversideincludes" "Iis_smtp" "Iis_webdav" "Iis_www"
+      "Indexsrv_system" "Inetprint" "Licenseserver" "Media_clips" "Media_utopia"
+      "Minesweeper" "Mousepoint" "Msmq_ADIntegrated" "Msmq_Core"
+      "Msmq_HTTPSupport" "Msmq_LocalStorage" "Msmq_MQDSService"
+      "Msmq_RoutingSupport" "Msmq_TriggersService" "Msnexplr" "Mswordpad"
+      "Netcis" "Netoc" "OEAccess" "Objectpkg" "Paint" "Pinball" "Pop3Admin"
+      "Pop3Service" "Pop3Srv" "Rec" "Reminst" "Rootautoupdate" "Rstorage" "SCW"
+      "Sakit_web" "Solitaire" "Spider" "TSWebClient" "Templates"
+      "TerminalServer" "UDDIAdmin" "UDDIDatabase" "UDDIWeb" "Vol" "WMAccess"
+      "WMPOCM" "WbemMSI" "Wms" "Wms_admin_asp" "Wms_admin_mmc" "Wms_isapi"
+      "Wms_server" "Zonegames"
+    ]}
+
+    [WindowsFirewall]
+    Profiles = WindowsFirewall.TurnOffFirewall
+
+    [WindowsFirewall.TurnOffFirewall]
+    Mode = 0
+
+    [SetupParams]
+    UserExecute = "${stdenv.lib.concatStringsSep " " afterSetup}"
+
+    [GuiRunOnce]
+    Command0 = "${cygwinRoot}\bin\bash -l ${shExecAfterwards}"
+  '';
+
+in stdenv.mkDerivation {
+  name = "unattended-floppy.img";
+  buildCommand = ''
+    dd if=/dev/zero of="$out" count=1440 bs=1024
+    ${dosfstools}/sbin/mkfs.msdos "$out"
+    ${mtools}/bin/mcopy -i "$out" "${winXpUnattended}" ::winnt.sif
+  '';
+}
diff --git a/pkgs/data/documentation/man-pages-posix/default.nix b/pkgs/data/documentation/man-pages-posix/default.nix
index 8c126db0792..78b3aa1c8b3 100644
--- a/pkgs/data/documentation/man-pages-posix/default.nix
+++ b/pkgs/data/documentation/man-pages-posix/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "man-pages-posix-2003a";
+  name = "man-pages-posix-2013-a";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/man-pages-posix-2003-a.tar.bz2";
-    sha256 = "1sj97lbj27w935f9ia91ih1mwlz4j3qcr3d3nkvcxm6cpfvv2mg3";
+    url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/${name}.tar.xz";
+    sha256 = "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr";
   };
 
   preBuild =
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 1b3454c8ce5..d4c0b4a6461 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "man-pages-3.54";
+  name = "man-pages-3.70";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "0rb75dl9hh4v2s95bcssy12j8qrbd2dmlzry68gphyxk5c7yipbl";
+    sha256 = "1qnhlicshlcz2da9k9czp75cfj7a6y90m0bhik7gzxa3s3b4f43j";
   };
 
   preBuild =
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Linux development manual pages";
     homepage = http://www.kernel.org/doc/man-pages/;
+    repositories.git = http://git.kernel.org/pub/scm/docs/man-pages/man-pages;
   };
 }
diff --git a/pkgs/data/documentation/pthread-man-pages/default.nix b/pkgs/data/documentation/pthread-man-pages/default.nix
index 296ba982b8a..4cd5a5b8297 100644
--- a/pkgs/data/documentation/pthread-man-pages/default.nix
+++ b/pkgs/data/documentation/pthread-man-pages/default.nix
@@ -43,5 +43,6 @@ in
     meta = {
       description = "POSIX threads (pthreads) manual pages from LinuxThreads";
       homepage = http://www.gnu.org/software/libc/;
+      maintainers = stdenv.lib.maintainers.mornfall;
     };
   }
diff --git a/pkgs/data/fonts/andagii/default.nix b/pkgs/data/fonts/andagii/default.nix
index 6e59e97171e..8143d284120 100644
--- a/pkgs/data/fonts/andagii/default.nix
+++ b/pkgs/data/fonts/andagii/default.nix
@@ -19,6 +19,7 @@ in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
+    curlOpts = "--user-agent 'Mozilla/5.0'";
     sha256 = sourceInfo.hash;
   };
 
@@ -43,8 +44,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     # There are multiple claims that the font is GPL, 
     # so I include the package; but I cannot find the
     # original source, so use it on your own risk
diff --git a/pkgs/data/fonts/anonymous-pro/default.nix b/pkgs/data/fonts/anonymous-pro/default.nix
index 21a1c9bf5c8..5b51ee36c5c 100644
--- a/pkgs/data/fonts/anonymous-pro/default.nix
+++ b/pkgs/data/fonts/anonymous-pro/default.nix
@@ -10,16 +10,16 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="1.002";
+    version = "1.002";
     name="anonymousPro";
     url="http://www.ms-studio.com/FontSales/AnonymousPro-${version}.zip";
-    hash="86665847a51cdfb58a1e1dfd8b1ba33f183485affe50b53e3304f63d3d3552ab";
+    sha256 = "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   name = "${sourceInfo.name}-${sourceInfo.version}";
@@ -40,11 +40,11 @@ rec {
     ];
     platforms = with a.lib.platforms;
       all;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.ms-studio.com/FontSales/anonymouspro.html";
-    };
+    license = with a.lib.licenses; ofl;
+    hydraPlatforms = [];
+    homepage = "http://www.marksimonson.com/fonts/view/anonymous-pro";
+    downloadPage = "http://www.ms-studio.com/FontSales/anonymouspro.html";
+    inherit (sourceInfo) version;
   };
 }) x
 
diff --git a/pkgs/data/fonts/anonymous-pro/default.upstream b/pkgs/data/fonts/anonymous-pro/default.upstream
new file mode 100644
index 00000000000..dde536cbcae
--- /dev/null
+++ b/pkgs/data/fonts/anonymous-pro/default.upstream
@@ -0,0 +1,6 @@
+attribute_name anonymousPro
+url http://www.ms-studio.com/FontSales/anonymouspro.html
+version_link '/AnonymousPro-.*[.]zip$'
+do_overwrite (){
+  do_overwrite_just_version
+}
diff --git a/pkgs/data/fonts/aurulent-sans/default.nix b/pkgs/data/fonts/aurulent-sans/default.nix
new file mode 100644
index 00000000000..a56efa35c7c
--- /dev/null
+++ b/pkgs/data/fonts/aurulent-sans/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchgit}:
+
+stdenv.mkDerivation rec {
+  name = "aurulent-sans-0.1";
+  src = fetchgit {
+    url = "https://github.com/deepfire/hartke-aurulent-sans.git";
+    rev = "refs/tags/${name}";
+    sha256 = "01hvpvbrks40g9k1xr2f1gxnd5wd0sxidgfbwrm94pdi1a36xxrk";
+  };
+  buildPhase = "true";
+  installPhase = "
+    fontDir=$out/share/fonts/opentype
+    mkdir -p $fontDir
+    cp *.otf $fontDir
+  ";
+  meta = {
+    description = "Aurulent Sans";
+    longDescription = "Aurulent Sans is a humanist sans serif intended to be used as an interface font.";
+    homepage = http://delubrum.org/;
+    license = "SIL";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 70a8b2bc9f4..5c9903c9971 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "cantarell-fonts-0.0.7";
+  name = "cantarell-fonts-0.0.15";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.7.tar.xz;
-    sha256 = "1410ywvi951ngmx58g339phzsaf1rgjja6i0xvg49r4ds90zh8ba";
+    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.15.tar.xz;
+    sha256 = "0zmwzzfjrlpkdjb475ann11m53a2idm76ydd2rw1hjmdr74dq72j";
   };
 
   meta = {
diff --git a/pkgs/data/fonts/dejavu-fonts/default.nix b/pkgs/data/fonts/dejavu-fonts/default.nix
index eb0451195d4..88596bb4fd9 100644
--- a/pkgs/data/fonts/dejavu-fonts/default.nix
+++ b/pkgs/data/fonts/dejavu-fonts/default.nix
@@ -1,6 +1,6 @@
 {fetchurl, stdenv, fontforge, perl, fontconfig, FontTTF}:
 
-let version = "2.33" ; in
+let version = "2.34" ; in
 
 stdenv.mkDerivation rec {
   name = "dejavu-fonts-${version}";
@@ -8,17 +8,17 @@ stdenv.mkDerivation rec {
   buildInputs = [fontforge perl FontTTF];
 
   unicodeData = fetchurl {
-    url = http://www.unicode.org/Public/6.1.0/ucd/UnicodeData.txt ; 
+    url = http://www.unicode.org/Public/6.1.0/ucd/UnicodeData.txt ;
     sha256 = "1bd6zkzvxfnifrn5nh171ywk7q56sgk8gdvdn43z9i53hljjcrih";
   };
   blocks = fetchurl {
-    url = http://www.unicode.org/Public/6.1.0/ucd/Blocks.txt; 
+    url = http://www.unicode.org/Public/6.1.0/ucd/Blocks.txt;
     sha256 = "0w0vkb09nrlc6mrhqyl9npszdi828afgvhvlb1vs5smjv3h8y3dz";
   };
 
   src = fetchurl {
     url = "mirror://sourceforge/dejavu/dejavu-fonts-${version}.tar.bz2";
-    sha256 = "10m0rds36yyaznfqaa9msayv6f0v1h50zbikja6qdy5dwwxi8q5w";
+    sha256 = "09wh9c9kk82i4kwy73fcqa0779bvf0ncikciqw2gxa9m2rkrxjmm";
   };
   buildFlags = "full-ttf";
   preBuild = ''
diff --git a/pkgs/data/fonts/eb-garamond/default.nix b/pkgs/data/fonts/eb-garamond/default.nix
new file mode 100644
index 00000000000..99c9b53217e
--- /dev/null
+++ b/pkgs/data/fonts/eb-garamond/default.nix
@@ -0,0 +1,50 @@
+x@{builderDefsPackage
+  , unzip
+  , ...}:
+builderDefsPackage
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    version="0.016";
+    name="EBGaramond";
+    url="https://bitbucket.org/georgd/eb-garamond/downloads/${name}-${version}.zip";
+    hash="0y630khn5zh70al3mm84fs767ac94ffyz1w70zzhrhambx07pdx0";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  name = "eb-garamond-${sourceInfo.version}";
+  inherit buildInputs;
+
+  phaseNames = ["doUnpack" "installFonts"];
+
+  # This will clean up if/when 8263996 lands.
+  doUnpack = a.fullDepEntry (''
+    unzip ${src}
+    cd ${sourceInfo.name}*
+    mv {ttf,otf}/* .
+  '') ["addInputs"];
+
+  meta = with a.lib; {
+    description = "Digitization of the Garamond shown on the Egenolff-Berner specimen";
+    maintainers = with maintainers; [ relrod ];
+    platforms = platforms.all;
+    license = licenses.ofl;
+    homepage = http://www.georgduffner.at/ebgaramond/;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "https://github.com/georgd/EB-Garamond/releases";
+    };
+  };
+}) x
+
diff --git a/pkgs/data/fonts/fontWrap/default.nix b/pkgs/data/fonts/fontWrap/default.nix
index 0d6750614d4..a7bf1ce0ce9 100644
--- a/pkgs/data/fonts/fontWrap/default.nix
+++ b/pkgs/data/fonts/fontWrap/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
 	name = "wrapped-font-dir";
 	builder = writeScript (name + "-builder")
 		(textClosure localDefs [ doInstall doForceShare doPropagate]);
+  preferLocalBuild = true;
 	meta = {
 		description = "
 		Just a wrapper to create fonts.dir and fonts.scale .
diff --git a/pkgs/data/fonts/freefont-ttf/default.nix b/pkgs/data/fonts/freefont-ttf/default.nix
index 92f61788892..e1d9e1614f3 100644
--- a/pkgs/data/fonts/freefont-ttf/default.nix
+++ b/pkgs/data/fonts/freefont-ttf/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/freefont/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/data/fonts/ipafont/default.nix b/pkgs/data/fonts/ipafont/default.nix
new file mode 100644
index 00000000000..91bf95d1ea2
--- /dev/null
+++ b/pkgs/data/fonts/ipafont/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "ipafont-003.03";
+
+  src = fetchurl {
+    url = "http://ipafont.ipa.go.jp/ipafont/IPAfont00303.php";
+    sha256 = "f755ed79a4b8e715bed2f05a189172138aedf93db0f465b4e20c344a02766fe5";
+  };
+
+  buildInputs = [ unzip ];
+
+  unpackPhase = ''
+    unzip $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp ./IPAfont00303/*.ttf $out/share/fonts/opentype/
+  '';
+
+  meta = {
+    description = "Japanese font package with Mincho and Gothic fonts";
+    longDescription = ''
+      IPAFont is a Japanese font developed by the Information-technology
+      Promotion Agency of Japan. It provides both Mincho and Gothic fonts,
+      suitable for both display and printing.
+    '';
+    homepage = http://ipafont.ipa.go.jp/ipafont/;
+    license = stdenv.lib.licenses.ipa;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/data/fonts/kochi-substitute-naga10/default.nix b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
new file mode 100644
index 00000000000..98ab8a3bcac
--- /dev/null
+++ b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+let version = "20030809";
+in
+stdenv.mkDerivation {
+  name = "kochi-substitute-naga10-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforgejp/efont/5411/kochi-substitute-${version}.tar.bz2";
+    sha256 = "f4d69b24538833bf7e2c4de5e01713b3f1440960a6cc2a5993cb3c68cd23148c";
+  };
+
+  sourceRoot = "kochi-substitute-${version}";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp ./kochi-gothic-subst.ttf $out/share/fonts/truetype/kochi-gothic-subst-naga10.ttf
+    cp ./kochi-mincho-subst.ttf $out/share/fonts/truetype/kochi-mincho-subst-naga10.ttf
+  '';
+
+  meta = {
+    description = "Japanese font, non-free replacement for MS Gothic and MS Mincho.";
+    longDescription = ''
+      Kochi Gothic and Kochi Mincho were developed as free replacements for the
+      MS Gothic and MS Mincho fonts from Microsoft. This version of the fonts
+      includes some non-free glyphs from the naga10 font, which stipulate that
+      this font may not be sold commercially. See kochi-substitute for the free
+      Debian version.
+    '';
+    homepage = http://sourceforge.jp/projects/efont/;
+    license = stdenv.lib.licenses.unfreeRedistributable;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/data/fonts/kochi-substitute/default.nix b/pkgs/data/fonts/kochi-substitute/default.nix
new file mode 100644
index 00000000000..dec20fd5100
--- /dev/null
+++ b/pkgs/data/fonts/kochi-substitute/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, dpkg }:
+
+let version = "20030809";
+in
+stdenv.mkDerivation {
+  name = "kochi-substitute-${version}";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/t/ttf-kochi/ttf-kochi-gothic_${version}-15_all.deb";
+    sha256 = "6e2311cd8e880a9328e4d3eef34a1c1f024fc87fba0dce177a0e1584a7360fea";
+  };
+
+  src2 = fetchurl {
+    url = "mirror://debian/pool/main/t/ttf-kochi/ttf-kochi-mincho_${version}-15_all.deb";
+    sha256 = "91ce6c993a3a0f77ed85db76f62ce18632b4c0cbd8f864676359a17ae5e6fa3c";
+  };
+
+  buildInputs = [ dpkg ];
+
+  unpackCmd = ''
+    dpkg-deb --fsys-tarfile $src | tar xf - ./usr/share/fonts/truetype/kochi/kochi-gothic-subst.ttf
+    dpkg-deb --fsys-tarfile $src2 | tar xf - ./usr/share/fonts/truetype/kochi/kochi-mincho-subst.ttf
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp ./share/fonts/truetype/kochi/kochi-gothic-subst.ttf $out/share/fonts/truetype/
+    cp ./share/fonts/truetype/kochi/kochi-mincho-subst.ttf $out/share/fonts/truetype/
+  '';
+
+  meta = {
+    description = "Japanese font, a free replacement for MS Gothic and MS Mincho.";
+    longDescription = ''
+      Kochi Gothic and Kochi Mincho were developed as free replacements for the
+      MS Gothic and MS Mincho fonts from Microsoft. These are the Debian
+      versions of the fonts, which remove some non-free glyphs that were added
+      from the naga10 font.
+    '';
+    homepage = http://sourceforge.jp/projects/efont/;
+    license = stdenv.lib.licenses.wadalab;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix
index 1368537c2a1..543a4894f30 100644
--- a/pkgs/data/fonts/lmodern/default.nix
+++ b/pkgs/data/fonts/lmodern/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "lmodern-2.004.1";
+  name = "lmodern-2.004.4";
   
   src = fetchurl {
-    url = mirror://debian/pool/main/l/lmodern/lmodern_2.004.1.orig.tar.gz;
-    sha256 = "1bvlf8p39667q58pvyfzy3yl0mylf0ak96flwp8vj01vqbi3rfaz";
+    url = mirror://debian/pool/main/l/lmodern/lmodern_2.004.4.orig.tar.gz;
+    sha256 = "1g1fmi9asw6x9arm5sy3r4jwz7zrrbcw6q4waj3iqs0iq525i1rw";
   };
 
   installPhase = ''
diff --git a/pkgs/data/fonts/lohit-fonts/default.nix b/pkgs/data/fonts/lohit-fonts/default.nix
new file mode 100644
index 00000000000..707d52c8baa
--- /dev/null
+++ b/pkgs/data/fonts/lohit-fonts/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "lohit-fonts-20140220";
+  src = fetchurl {
+    url = https://fedorahosted.org/releases/l/o/lohit/lohit-ttf-20140220.tar.gz;
+    sha256 = "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://fedorahosted.org/lohit/;
+    description = "Fonts for 21 Indian languages";
+    license = licenses.ofl;
+    maintainers = [ maintainers.ttuegel ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/nafees/default.nix b/pkgs/data/fonts/nafees/default.nix
new file mode 100644
index 00000000000..aa0c1dbd77b
--- /dev/null
+++ b/pkgs/data/fonts/nafees/default.nix
@@ -0,0 +1,59 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "nafees";
+
+  srcs = [(fetchurl {
+    url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNastaleeq/Nafees_Nastaleeq_v1.02.zip";
+    sha256 = "1h1k5d74pg2gs782910v7i9rz2633wdacy34ds7ybxbpjiz6pqix";
+  })
+
+  (fetchurl {
+    url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesRiqa/Nafees_Riqa_v1.0.zip";
+    sha256 = "1liismsyaj69y40vs9a9db4l95n25n8vnjnx7sbk70nxppwngd8i";
+  })
+
+  (fetchurl {
+    url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNaskh/Nafees_Naskh_v2.01.zip";
+    sha256 = "1qbbj6w6bvrlymv7z6ld609yhp0l2f27z14180w5n8kzzl720vly";
+  })
+
+  (fetchurl {
+    url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesTahreerNaskh/Nafees_Tahreer_Naskh_v1.0.zip";
+    sha256 = "006l87drbi4zh52kpvn8wl9wbwm9srfn406rzsnf4gv0spzhqrxl";
+  })
+  (fetchurl {
+    url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesPakistaniNaskh/Nafees_Pakistani_Naskh_v2.01.zip";
+    sha256 = "1i5ip60gq1cgc9fc96kvlahdpia8dxdgcisglvbm2d212bz0s5nb";
+  })
+];
+
+  buildInputs = [unzip];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+    # cp $riqa/*.ttf $out/share/fonts/truetype
+  '';
+
+  meta = {
+    description = "OpenType Urdu font from the Center for Research in Urdu Language Processing";
+
+    longDescription = '' The Nafees font family is developed according
+    to calligraphic rules, following the style of Syed Nafees
+    Al-Hussaini (Nafees Raqam) one of the finest calligraphers of
+    Pakistan '';
+
+    homepage = "http://www.cle.org.pk/software/localization.htm";
+
+    # Used to be GPLv2.  The license distributed with the fonts looks
+    # more like a modified BSD, but still contains the GPLv2 embedded
+    # font exception, and some not-for-resale language.
+    license = "unknown";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ "Daniel Bergey <bergey@teallabs.org>" ];
+  };
+}
diff --git a/pkgs/data/fonts/opensans-ttf/default.nix b/pkgs/data/fonts/opensans-ttf/default.nix
new file mode 100644
index 00000000000..2e0f3d5df2a
--- /dev/null
+++ b/pkgs/data/fonts/opensans-ttf/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl}:
+
+# adapted from https://aur.archlinux.org/packages/tt/ttf-opensans/PKGBUILD
+
+stdenv.mkDerivation rec {
+  name = "opensans-ttf-20140617";
+
+  src = fetchurl {
+    url = "https://hexchain.org/pub/archlinux/ttf-opensans/opensans.tar.gz";
+    sha256 = "1ycn39dijhd3lffmafminrnfmymdig2jvc6i47bb42fx777q97q4";
+  };
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+  '';
+
+  meta = {
+    description = "Open Sans fonts";
+
+    longDescription = ''
+      Open Sans is a humanist sans serif typeface designed by Steve Matteson,
+      Type Director of Ascender Corp.
+    '';
+
+    homepage = "http://en.wikipedia.org/wiki/Open_Sans";
+    license = "Apache";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/data/fonts/poly/default.nix b/pkgs/data/fonts/poly/default.nix
new file mode 100644
index 00000000000..63006fdd4f8
--- /dev/null
+++ b/pkgs/data/fonts/poly/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "poly";
+
+  regular = fetchurl {
+    # Finally a mirror that has a sha256 that doesn't change.
+    url = "https://googlefontdirectory.googlecode.com/hg-history/d7441308e589c9fa577f920fc4152fa32477a267/poly/src/Poly-Regular.otf";
+    sha256 = "1mxp2lvki6b1h7r9xcj1ld0g4z5y3dmsal85xam4yr764zpjzaiw";
+  };
+
+  italic = fetchurl {
+    # Finally a mirror that has a sha256 that doesn't change.
+    url = "https://googlefontdirectory.googlecode.com/hg-history/d7441308e589c9fa577f920fc4152fa32477a267/poly/src/Poly-Italic.otf";
+    sha256 = "1chzcy3kyi7wpr4iq4aj1v24fq1wwph1v5z96dimlqcrnvm66h2l";
+  };
+
+  buildInputs = [unzip];
+
+  sourceRoot = ".";
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp ${regular} $out/share/fonts/opentype/Poly-Regular.otf
+    cp ${italic} $out/share/fonts/opentype/Poly-Italic.otf
+  '';
+
+  meta = {
+    description = "Medium contrast serif font.";
+    longDescription = ''
+    With short ascenders and a very high x-height, Poly is efficient in small
+    sizes. Thanks to its careful balance between the x-height and glyph widths,
+    it allows more economy and legibility than standard web serifs, even in
+    small sizes. The aglutinative language for which it was designed contains
+    very long words. The goal was to develop a typeface that would tolerate
+    cramped tracking and that would increase the number of letters on a single
+    line. Poly is a Unicode typeface family that supports Open Type features
+    and languages that use the Latin script and its variants.
+    '';
+    homepage = http://www.fontsquirrel.com/fonts/poly;
+    license = stdenv.lib.licenses.ofl;
+    maintainers = with stdenv.lib.maintainers; [ relrod ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix
new file mode 100644
index 00000000000..8fde0c6ef03
--- /dev/null
+++ b/pkgs/data/fonts/source-code-pro/default.nix
@@ -0,0 +1,42 @@
+x@{builderDefsPackage
+  , unzip
+  , ...}:
+builderDefsPackage
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    version="1.017";
+    name="SourceCodePro";
+    url="mirror://sourceforge/sourcecodepro.adobe/${name}_FontsOnly-${version}.zip";
+    hash="07xjfxin883a3g3admdddxxqyzigihbsnmik0zpjii09cdlb8dl1";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  name = "source-code-pro-${sourceInfo.version}";
+  inherit buildInputs;
+
+  phaseNames = ["doUnpack" "installFonts"];
+
+  doUnpack = a.fullDepEntry (''
+    unzip ${src}
+    cd ${sourceInfo.name}*/OTF/
+  '') ["addInputs"];
+
+  meta = {
+    description = "A set of monospaced OpenType fonts designed for coding environments";
+    maintainers = with a.lib.maintainers; [ relrod ];
+    platforms = with a.lib.platforms; all;
+    homepage = "http://blog.typekit.com/2012/09/24/source-code-pro/";
+    license = "OFL";
+  };
+}) x
diff --git a/pkgs/data/fonts/source-han-sans/base.nix b/pkgs/data/fonts/source-han-sans/base.nix
new file mode 100644
index 00000000000..d319f41f2e5
--- /dev/null
+++ b/pkgs/data/fonts/source-han-sans/base.nix
@@ -0,0 +1,26 @@
+{version ? "1.000", prefix, url, sha256, description}:
+
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  inherit version;
+  name = "${prefix}-${version}";
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  buildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp $( find . -name '*.otf' ) $out/share/fonts/truetype
+  '';
+
+  meta = {
+    inherit description;
+
+    homepage = http://sourceforge.net/adobe/source-han-sans/;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/data/fonts/source-han-sans/japanese.nix b/pkgs/data/fonts/source-han-sans/japanese.nix
new file mode 100644
index 00000000000..4aacdbf62e2
--- /dev/null
+++ b/pkgs/data/fonts/source-han-sans/japanese.nix
@@ -0,0 +1,6 @@
+import ./base.nix {
+  prefix = "source-han-sans-japanese";
+  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansJP-1.000.zip";
+  sha256 = "c5930036660bea22ffceaa9e2df765776494800d330a59be7936ab3c763c4c82";
+  description = "Japanese subset of an open source Pan-CJK typeface";
+}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-han-sans/korean.nix b/pkgs/data/fonts/source-han-sans/korean.nix
new file mode 100644
index 00000000000..cf3ecd9e12e
--- /dev/null
+++ b/pkgs/data/fonts/source-han-sans/korean.nix
@@ -0,0 +1,6 @@
+import ./base.nix {
+  prefix = "source-han-sans-korean";
+  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansKR-1.000.zip";
+  sha256 = "8eed4ad092fcf640e44f73ba510e0ed1c1cabf79776f68d02820734bbba21cf8";
+  description = "Korean subset of an open source Pan-CJK typeface";
+}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-han-sans/simplified-chinese.nix b/pkgs/data/fonts/source-han-sans/simplified-chinese.nix
new file mode 100644
index 00000000000..8e920455e45
--- /dev/null
+++ b/pkgs/data/fonts/source-han-sans/simplified-chinese.nix
@@ -0,0 +1,6 @@
+import ./base.nix {
+  prefix = "source-han-sans-simplified-chinese";
+  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansCN-1.000.zip";
+  sha256 = "88117aa8f8b4ab65d6f7a919a5e1b06d6c00f75b1abecccf120246536123754d";
+  description = "Simplified Chinese subset of an open source Pan-CJK typeface";
+}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-han-sans/traditional-chinese.nix b/pkgs/data/fonts/source-han-sans/traditional-chinese.nix
new file mode 100644
index 00000000000..b25db8a2515
--- /dev/null
+++ b/pkgs/data/fonts/source-han-sans/traditional-chinese.nix
@@ -0,0 +1,6 @@
+import ./base.nix {
+  prefix = "source-han-sans-traditional-chinese";
+  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansTWHK-1.000.zip";
+  sha256 = "2371a726757a51322243b1ed7a9fde562621b0813b5e6d6443e06847ad7bbd20";
+  description = "Traditional Chinese subset of an open source Pan-CJK typeface";
+}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-sans-pro/default.nix b/pkgs/data/fonts/source-sans-pro/default.nix
new file mode 100644
index 00000000000..eccddc8f14c
--- /dev/null
+++ b/pkgs/data/fonts/source-sans-pro/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "source-sans-pro-1.050";
+  src = fetchurl {
+    url = "mirror://sourceforge/sourcesans.adobe/SourceSansPro_FontsOnly-1.050.zip";
+    sha256 = "002z7kx8jxp5pfrilqaxbwbr5yp9fl3zsp0imawmf5wqagpzayf3";
+  };
+
+  buildInputs = [ unzip ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    find . -name "*.otf" -exec cp {} $out/share/fonts/opentype \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://sourceforge.net/adobe/sourcesans;
+    description = "A set of OpenType fonts designed by Adobe for UIs";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/data/fonts/source-serif-pro/default.nix b/pkgs/data/fonts/source-serif-pro/default.nix
new file mode 100644
index 00000000000..00ebf22d469
--- /dev/null
+++ b/pkgs/data/fonts/source-serif-pro/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "source-serif-pro-1.014";
+  src = fetchurl {
+    url = "mirror://sourceforge/sourceserifpro.adobe/SourceSerifPro_FontsOnly-1.014.zip";
+    sha256 = "1agack195jqq4g2hmga6f9nwg44garii1g3jpbrdlrwr97rwvqsh";
+  };
+
+  buildInputs = [ unzip ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    find . -name "*.otf" -exec cp {} $out/share/fonts/opentype \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://sourceforge.net/adobe/sourceserifpro;
+    description = "A set of OpenType fonts to complement Source Sans Pro";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
+
diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix
new file mode 100644
index 00000000000..993a4c4f46d
--- /dev/null
+++ b/pkgs/data/fonts/symbola/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "symbola-7.12";
+
+  ttf = fetchurl {
+    url = "http://users.teilar.gr/~g1951d/Symbola.ttf";
+    sha256 = "7acc058bd4e56cc986b2a46420520f59be402c3565c202b5dcebca7f3bfd8b5a";
+  };
+  docs_pdf = fetchurl {
+    url = "http://users.teilar.gr/~g1951d/Symbola.pdf";
+    sha256 = "11bb082ba5c2780a6f94a9bcddf4f314a54e2650bb63ce3081d1dc867c5e6843";
+  };
+  docs_docx = fetchurl {
+    url = "http://users.teilar.gr/~g1951d/Symbola.docx";
+    sha256 = "4f0ab494e1e5a7aac147aa7bb8b8bdba7278aee2da942a35f995feb9051515b9";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp -v "$ttf" $out/share/fonts/truetype/"${ttf.name}"
+
+    mkdir -p "$out/doc/${name}"
+    cp -v "$docs_pdf" "$out/doc/${name}/${docs_pdf.name}"
+    cp -v "$docs_docx" "$out/doc/${name}/${docs_docx.name}"
+  '';
+
+  meta = {
+    description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode...";
+
+    # In lieu of a licence:
+    # Fonts in this site are offered free for any use;
+    # they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed.
+    license = "Unicode Fonts for Ancient Scripts";
+
+    homepage = http://users.teilar.gr/~g1951d/;
+  };
+}
diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix
index 039e046ed55..3487a8012dc 100644
--- a/pkgs/data/fonts/terminus-font/default.nix
+++ b/pkgs/data/fonts/terminus-font/default.nix
@@ -1,26 +1,27 @@
-{ fetchurl, stdenv, perl, bdftopcf, mkfontdir, mkfontscale }:
+{ stdenv, fetchurl, perl, bdftopcf, mkfontdir, mkfontscale }:
+
 stdenv.mkDerivation rec {
-  name = "terminus-font-4.30";
+  name = "terminus-font-4.38";
+
   src = fetchurl {
-#    urls = "http://www.is-vn.bg/hamster/${name}.tar.gz"
-#    sha256 = "ca15718f715f1ca7af827a8ab5543b0c0339b2515f39f8c15f241b2bc1a15a9a";
-     url = "http://ftp.de.debian.org/debian/pool/main/x/xfonts-terminus/xfonts-terminus_4.30.orig.tar.gz";
-     sha256 = "d7f1253d75f0aa278b0bbf457d15927ed3bbf2565b9f6b829c2b2560fedc1712";
+    url = "mirror://sourceforge/project/terminus-font/${name}/${name}.tar.gz";
+    sha256 = "1dwpxmg0wiyhp7hh18mvw18gnf0y2jgbn80c4xya7rmb9mm8gx7n";
   };
+
   buildInputs = [ perl bdftopcf mkfontdir mkfontscale ];
+
   patchPhase = ''
     substituteInPlace Makefile --replace 'fc-cache' '#fc-cache'
   '';
+
   configurePhase = ''
-    ./configure --prefix=$out
-  '';
-  buildPhase = ''
-    make pcf
+    sh ./configure --prefix=$out
   '';
-  installPhase = '' 
-    make install-pcf
-    make fontdir
+
+  installPhase = ''
+    make install fontdir
   '';
+
   meta = {
     description = "A clean fixed width font";
     longDescription = ''
diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix
new file mode 100644
index 00000000000..065bb4bc828
--- /dev/null
+++ b/pkgs/data/fonts/wqy-microhei/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "wqy-microhei-0.2.0-beta";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/wqy/${name}.tar.gz";
+    sha256 = "0gi1yxqph8xx869ichpzzxvx6y50wda5hi77lrpacdma4f0aq0i8";
+  };
+
+  installPhase = ''install -Dm644 wqy-microhei.ttc $out/share/fonts/wqy-microhei.ttc'';
+
+  meta = {
+    description = "A (mainly) Chinese Unicode font";
+    homepage = "http://wenq.org";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = stdenv.lib.maintainers.pkmx;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index 960c74f6841..d42665c69cc 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -1,21 +1,28 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "wqy-zenhei-0.4.23-1";
+  name = "wqy-zenhei-${version}";
+  version = "0.9.45";
 
   src = fetchurl {
-    url = mirror://sourceforge/wqy/wqy-zenhei-0.4.23-1.tar.gz;
-    sha256 = "138nn81ai240av0xvcq4ab3rl73n0qlj3gwr3a36i63ry8vdj5qm";
+    url = "mirror://sourceforge/wqy/${name}.tar.gz";
+    sha256 = "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4";
   };
 
+  dontBuild = true;
+
   installPhase =
     ''
       mkdir -p $out/share/fonts
-      cp *.ttf $out/share/fonts
+      install -m644 *.ttc $out/share/fonts/
     '';
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
+    homepage = "http://wenq.org";
+    license = stdenv.lib.licenses.gpl2; # with font embedding exceptions
+    maintainers = stdenv.lib.maintainers.pkmx;
+    platforms = stdenv.lib.platforms.all;
   };
 }
 
diff --git a/pkgs/data/icons/hicolor-icon-theme/default.nix b/pkgs/data/icons/hicolor-icon-theme/default.nix
index 553665396ec..1cf29db9dbc 100644
--- a/pkgs/data/icons/hicolor-icon-theme/default.nix
+++ b/pkgs/data/icons/hicolor-icon-theme/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hicolor-icon-theme-0.12";
+  name = "hicolor-icon-theme-0.13";
 
   src = fetchurl {
     url = "http://icon-theme.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y";
+    sha256 = "01ilkizzal3wq2naaj84rqmd850aari1ahiw9vfis3a82n4h72x3";
   };
 
   meta = {
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index aafb9104e22..0a2c43fc581 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cacert-20121229";
+  name = "cacert-20140715";
 
   src = fetchurl {
     url = "http://tarballs.nixos.org/${name}.pem.bz2";
-    sha256 = "031s86pqvn620zkj6w97hqgjvkp6vsvlymzz7rwvkv25zvrjsgif";
+    sha256 = "1l4j7z6ysnllx99isjzlc8zc34rbbgj4kzlg1y5sy9bgphc8cssl";
   };
 
   unpackPhase = "true";
diff --git a/pkgs/data/misc/freepats/default.nix b/pkgs/data/misc/freepats/default.nix
index 21f34a607d4..ac015c02b19 100644
--- a/pkgs/data/misc/freepats/default.nix
+++ b/pkgs/data/misc/freepats/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://freepats.zenvoid.org/;
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix
index e216f4b0278..db4d13b890f 100644
--- a/pkgs/data/misc/miscfiles/default.nix
+++ b/pkgs/data/misc/miscfiles/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/miscfiles/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Collection of files not of crucial importance for sysadmins";
   };
 }
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index 1e424aca46b..134a6f5307e 100644
--- a/pkgs/data/misc/shared-mime-info/default.nix
+++ b/pkgs/data/misc/shared-mime-info/default.nix
@@ -2,11 +2,11 @@
 , libxml2, glib}:
 
 stdenv.mkDerivation rec {
-  name = "shared-mime-info-1.1";
+  name = "shared-mime-info-1.2";
 
   src = fetchurl {
     url = "http://freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "0v70z5b6340jsjvdhf7brczpzq766wc1lsnjg9hc57ks2m5hjk8q";
+    sha256 = "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5";
   };
 
   buildInputs = [
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index da043da0967..90111cb52e1 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl }:
 
-let version = "2013g"; in
+let version = "2014e"; in
 
 stdenv.mkDerivation rec {
   name = "tzdata-${version}";
@@ -8,22 +8,27 @@ stdenv.mkDerivation rec {
   srcs =
     [ (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
-        sha256 = "0krsgncjnk64g3xshj5xd3znskcx9wwy20g1wmm2lwycincx7kdn";
+        sha256 = "1ic63ykplnrvh9704j6l089rais0nxw1lcf1dbc3iy2ij2kl7qh8";
       })
       (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
-        sha256 = "0ysqm72xm9vcykqg9zgry69w6gr3i6b6mpbvgfmwyrdvb6s5ihy7";
+        sha256 = "074c98vmdgysgkksaqwkn1gbrlnzk8l28zs8lhif44a9mckc9ss3";
       })
     ];
 
   sourceRoot = ".";
+  outputs = [ "out" "lib" ];
 
-  makeFlags = "TOPDIR=$(out) TZDIR=$(out)/share/zoneinfo ETCDIR=$(TMPDIR)/etc LIBDIR=$(TMPDIR)/lib MANDIR=$(TMPDIR)/man AWK=awk";
+  makeFlags = "TOPDIR=$(out) TZDIR=$(out)/share/zoneinfo ETCDIR=$(TMPDIR)/etc LIBDIR=$(lib)/lib MANDIR=$(TMPDIR)/man AWK=awk CFLAGS=-DHAVE_LINK=0";
 
   postInstall =
     ''
-      mv $out/share/zoneinfo-posix $out/share/zoneinfo/posix
+      rm $out/share/zoneinfo-posix
+      ln -s . $out/share/zoneinfo/posix
       mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
+
+      mkdir -p "$lib/include"
+      cp tzfile.h "$lib/include/tzfile.h"
     '';
 
   meta = {
diff --git a/pkgs/data/misc/xkeyboard-config/default.nix b/pkgs/data/misc/xkeyboard-config/default.nix
deleted file mode 100644
index 15574a1dc36..00000000000
--- a/pkgs/data/misc/xkeyboard-config/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, perl, perlXMLParser, xkbcomp, gettext, intltool  }:
-
-stdenv.mkDerivation rec {
-  name = "xkeyboard-config-2.7";
-
-  src = fetchurl {
-    url = "mirror://xorg/individual/data/xkeyboard-config/${name}.tar.bz2";
-    sha256 = "08c3mjdgp7c2v6lj5bymaczcazklsd7s1lxslxbngzmh5yhphd74";
-  };
-
-  buildInputs = [ gettext ];
-
-  nativeBuildInputs = [ perl perlXMLParser intltool xkbcomp ];
-
-  patches = [ ./eo.patch ];
-
-  preConfigure = ''
-    configureFlags="--with-xkb-base=$out/etc/X11/xkb -with-xkb-rules-symlink=xorg,xfree86 --disable-runtime-deps"
-    sed -e 's@#!\s*/bin/bash@#! /bin/sh@' -i rules/merge.sh
-  '';
-
-  postInstall = ''
-    cat ${./level3-deadkeys-us-intl} >> $out/etc/X11/xkb/symbols/us
-  '';
-}
diff --git a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
deleted file mode 100644
index 76905b7b77b..00000000000
--- a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
+++ /dev/null
@@ -1,95 +0,0 @@
-
-// Grabbed from http://lists.freedesktop.org/archives/xorg/2007-July/026686.html
-// Submitted there by Adriaan van Nijendaal, he says he submitted it to X.org
-// for inclusion, so it should be OK to use it as if it were part of X.org
-
-// The keyboard section in the X-server config file
-// (/etc/X11/xorg.conf on my system) looks like this:
-//
-// Section "InputDevice"
-//   Driver	"kbd"
-//   Identifier	"Keyboard[0]"
-//   Option	"XkbModel"	"pc101"
-//   Option	"XkbLayout"	"us"
-//   Option	"XkbVariant"	"altgr-intl"
-// EndSection
-//
-// To be effective, you need to install this file, change the X config
-// file and restart the X-server. Or, alternatively, you can do this
-// run-time:
-//
-// setxkbmap -v -rules xorg -model pc101 -layout us -variant altgr-intl
-//
-// Once the X-server has loaded the new config, a keyboard can be
-// displayed with: (if you change "-ll 1" into "-ll 2", you'll see
-// the special keys ONLY.)
-//
-//   xkbcomp -o /tmp/keyboard.xkm -opt cgkst -xkb $DISPLAY
-//   xkbprint -o /tmp/keyboard.xkm.ps -kc -nkg 2 -ntg 4 -lg 1 -ll 1 \
-//	-lc en_US.iso885915 -level2 -mono -label symbols -w 3 $DISPLAY;
-//   gv -seascape /tmp/keyboard.xkm.ps
-//   rm -f /tmp/keyboard.xkm.ps /tmp/keyboard.xkm
-//
-
-partial hidden alphanumeric_keys
-xkb_symbols "altgr-intl-rich" {
-
-    name[Group1]= "U.S. English - International (AltGr dead keys)";
-
-    include "us(basic)"
-
-    key <TLDE> { [    grave,	asciitilde,	dead_grave,	dead_tilde	] };
-    key <AE01> { [	  1,	exclam,		onesuperior,	exclamdown	] };
-    key <AE02> { [	  2,	at,		twosuperior,	dead_doubleacute] };
-    key <AE03> { [	  3,	numbersign,	threesuperior,	dead_macron	] };
-    key <AE04> { [	  4,	dollar,		currency,	sterling	] };
-    key <AE05> { [	  5,	percent,	EuroSign,	approxeq	] };
-    key <AE06> { [	  6,	asciicircum,	dead_circumflex, dead_stroke	] };
-    key <AE07> { [	  7,	ampersand,		dead_horn		] };
-    key <AE08> { [	  8,	asterisk,	dead_ogonek,	infinity	] };
-    key <AE09> { [	  9,	parenleft,  leftsinglequotemark,dead_breve	] };
-    key <AE10> { [	  0,	parenright,rightsinglequotemark,dead_abovering	] };
-    key <AE11> { [    minus,	underscore,	yen,		dead_belowdot	] };
-    key <AE12> { [    equal,	plus,		multiply,	division	] };
-
-    key <AD01> { [	  q,	Q,		adiaeresis,	Adiaeresis	] };
-    key <AD02> { [	  w,	W,		aring,		Aring		] };
-    key <AD03> { [	  e,	E,		eacute,		Eacute		] };
-    key <AD04> { [	  r,	R,		ediaeresis,	Ediaeresis	] };
-    key <AD05> { [	  t,	T,		thorn,		THORN		] };
-    key <AD06> { [	  y,	Y,		udiaeresis,	Udiaeresis	] };
-    key <AD07> { [	  u,	U,		uacute,		Uacute		] };
-    key <AD08> { [	  i,	I,		iacute,		Iacute		] };
-    key <AD09> { [	  o,	O,		oacute,		Oacute		] };
-    key <AD10> { [	  p,	P,		odiaeresis,	Odiaeresis	] };
-    key <AD11> { [ bracketleft,	braceleft,	guillemotleft,	lessthanequal	] };
-    key <AD12> { [ bracketright,braceright,	guillemotright,	greaterthanequal] };
-
-    key <AC01> { [	  a,	A,		aacute,		Aacute		] };
-    key <AC02> { [	  s,	S,		ssharp,		section		] };
-    key <AC03> { [	  d,	D,		eth,		ETH		] };
-    key <AC04> { [	  f,	F,		union,		intersection	] };
-    key <AC05> { [	  g,	G,		eng,		ENG		] };
-    key <AC06> { [	  h,	H,		hyphen,		nobreakspace	] };
-    key <AC07> { [	  j,	J,		idiaeresis,	Idiaeresis	] };
-    key <AC08> { [	  k,	K						] };
-    key <AC09> { [	  l,	L,		oslash,		Ooblique	] };
-    key <AC10> { [semicolon,	colon,		paragraph,	degree		] };
-    key <AC11> { [apostrophe,	quotedbl,	dead_acute,	dead_diaeresis	] };
-
-    key <AB01> { [	  z,	Z,		ae,		AE		] };
-    key <AB02> { [	  x,	X,		oe,		OE		] };
-    key <AB03> { [	  c,	C,		copyright,	cent		] };
-    key <AB04> { [	  v,	V,		registered,	trademark	] };
-    key <AB05> { [	  b,	B,		emdash,		endash		] };
-    key <AB06> { [	  n,	N,		nu,		numerosign	] };
-    key <AB07> { [	  m,	M,		mu,		plusminus	] };
-    key <AB08> { [    comma,	less,		ccedilla,	Ccedilla	] };
-    key <AB09> { [   period,	greater,	dead_abovedot,	dead_caron	] };
-    key <AB10> { [    slash,	question,	questiondown,	dead_hook	] };
-    key <BKSL> { [backslash,	bar,		notsign,	brokenbar	] };
-
-    // Let's have free choice
-    //include "level3(ralt_switch)"
-};
-
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix
index c143ce16698..bfe454a49fe 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "docbook-xsl-ns-1.75.2";
+  name = "docbook-xsl-ns-1.78.1";
   
   src = fetchurl {
     url = "mirror://sourceforge/docbook/${name}.tar.bz2";
-    sha256 = "1pr7m0hmqilk25hjx33kq2vqn2xf6cx6zhxqm35fdvnjccazlxg2";
+    sha256 = "1x3sc0axk9z3i6n0jhlsmzlmb723a4sjgslm9g12by6phirdx3ng";
   };
 
   buildPhase = "true";
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
index c54d8f304b6..981aa59369d 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "docbook-xsl-1.72.0";
+  name = "docbook-xsl-1.78.1";
   builder = ./builder.sh;
   src = fetchurl {
-    url = mirror://sourceforge/docbook/docbook-xsl-1.72.0.tar.bz2;
-    sha256 = "1cnrfgqz8pc9wnlgqjch2338ad7jki6d4h6b2fhaxn1a2201df5k";
+    url = mirror://sourceforge/docbook/docbook-xsl-1.78.1.tar.bz2;
+    sha256 = "0rxl013ncmz1n6ymk2idvx3hix9pdabk8xn01cpcv32wmfb753y9";
   };
 }
diff --git a/pkgs/desktops/cinnamon/automount-plugin.patch b/pkgs/desktops/cinnamon/automount-plugin.patch
new file mode 100644
index 00000000000..3d90da99f08
--- /dev/null
+++ b/pkgs/desktops/cinnamon/automount-plugin.patch
@@ -0,0 +1,448 @@
+ 
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in cinnamon-settings-daemon-2.0.1/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in
+--- cinnamon-settings-daemon-2.0.6.orig/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in 2013-11-03 10:50:04.000000000 -0500
++++ cinnamon-settings-daemon-2.0.6/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in  2013-11-05 15:33:21.112912392 -0500
+@@ -2,6 +2,7 @@
+   <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.cinnamon.settings-daemon.plugins" path="/org/cinnamon/settings-daemon/plugins/">
+     <child name="a11y-keyboard" schema="org.cinnamon.settings-daemon.plugins.a11y-keyboard"/>
+     <child name="a11y-settings" schema="org.cinnamon.settings-daemon.plugins.a11y-settings"/>
++    <child name="automount" schema="org.cinnamon.settings-daemon.plugins.automount"/>
+     <child name="clipboard" schema="org.cinnamon.settings-daemon.plugins.clipboard"/>
+     <child name="color" schema="org.cinnamon.settings-daemon.plugins.color"/>
+     <child name="cursor" schema="org.cinnamon.settings-daemon.plugins.cursor"/>
+@@ -42,6 +43,18 @@
+       <_summary>Priority to use for this plugin</_summary>
+       <_description>Priority to use for this plugin in cinnamon-settings-daemon startup queue</_description>
+     </key>
++  </schema>
++  <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.cinnamon.settings-daemon.plugins.automount" path="/org/cinnamon/settings-daemon/plugins/automount/">
++    <key name="active" type="b">
++      <default>true</default>
++      <_summary>Activation of this plugin</_summary>
++      <_description>Whether this plugin would be activated by cinnamon-settings-daemon or not</_description>
++    </key>
++    <key name="priority" type="i">
++      <default>97</default>
++      <_summary>Priority to use for this plugin</_summary>
++      <_description>Priority to use for this plugin in cinnamon-settings-daemon startup queue</_description>
++    </key>
+   </schema>
+   <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.cinnamon.settings-daemon.plugins.clipboard" path="/org/cinnamon/settings-daemon/plugins/clipboard/">
+     <key name="active" type="b">
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/automount.cinnamon-settings-plugin.in cinnamon-settings-daemon-2.0.1/plugins/automount/automount.cinnamon-settings-plugin.in
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/automount.cinnamon-settings-plugin.in	1970-01-01 01:00:00.000000000 +0100
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/automount.cinnamon-settings-plugin.in	2013-10-08 22:35:10.771472456 +0200
+@@ -0,0 +1,8 @@
++[Cinnamon Settings Plugin]
++Module=automount
++IAge=0
++_Name=Automount
++_Description=Automounter plugin
++Authors=Tomas Bzatek
++Copyright=Copyright © 2010 Red Hat, Inc.
++Website=
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.c cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.c
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.c	2013-10-02 16:13:56.000000000 +0200
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,65 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2010 Red Hat, Inc.
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA  02110-1335  USA
+- *
+- * Author: Tomas Bzatek <tbzatek@redhat.com>
+- */
+-
+-#include "config.h"
+-
+-#include <glib.h>
+-#include <glib/gi18n.h>
+-#include <unistd.h>
+-#include <gtk/gtk.h>
+-
+-#include "csd-automount-manager.h"
+-
+-int
+-main (int argc,
+-      char **argv)
+-{
+-        GMainLoop *loop;
+-        CsdAutomountManager *manager;
+-        GError *error = NULL;
+-
+-        g_type_init ();
+-        gtk_init (&argc, &argv);
+-
+-        bindtextdomain (GETTEXT_PACKAGE, CINNAMON_SETTINGS_LOCALEDIR);
+-        bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+-        textdomain (GETTEXT_PACKAGE);
+-
+-        loop = g_main_loop_new (NULL, FALSE);
+-        manager = csd_automount_manager_new ();
+-
+-        csd_automount_manager_start (manager, &error);
+-
+-        if (error != NULL) {
+-                g_printerr ("Unable to start the mount manager: %s",
+-                            error->message);
+-
+-                g_error_free (error);
+-                _exit (1);
+-        }
+-
+-        g_main_loop_run (loop);
+-
+-        csd_automount_manager_stop (manager);
+-        g_main_loop_unref (loop);
+-
+-        return 0;
+-}
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in	2013-10-02 16:13:56.000000000 +0200
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in	1970-01-01 01:00:00.000000000 +0100
+@@ -1,12 +0,0 @@
+-[Desktop Entry]
+-_Name=Mount Helper
+-_Comment=Automount and autorun plugged devices
+-Exec=@LIBEXECDIR@/cinnamon-fallback-mount-helper
+-Icon=drive-optical
+-Terminal=false
+-Type=Application
+-Categories=
+-NoDisplay=true
+-OnlyShowIn=GNOME;
+-X-GNOME-Autostart-Notify=true
+-
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.c cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.c
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.c	1970-01-01 01:00:00.000000000 +0100
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.c	2013-10-08 22:35:10.771472456 +0200
+@@ -0,0 +1,106 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++ *
++ * Author: Tomas Bzatek <tbzatek@redhat.com>
++ */
++
++#include "config.h"
++
++#include <glib/gi18n-lib.h>
++#include <gmodule.h>
++
++#include "cinnamon-settings-plugin.h"
++#include "csd-automount-plugin.h"
++#include "csd-automount-manager.h"
++
++struct CsdAutomountPluginPrivate {
++        CsdAutomountManager *manager;
++};
++
++#define CSD_AUTOMOUNT_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginPrivate))
++
++CINNAMON_SETTINGS_PLUGIN_REGISTER (CsdAutomountPlugin, csd_automount_plugin)
++
++static void
++csd_automount_plugin_init (CsdAutomountPlugin *plugin)
++{
++        plugin->priv = CSD_AUTOMOUNT_PLUGIN_GET_PRIVATE (plugin);
++
++        g_debug ("Automount plugin initializing");
++
++        plugin->priv->manager = csd_automount_manager_new ();
++}
++
++static void
++csd_automount_plugin_finalize (GObject *object)
++{
++        CsdAutomountPlugin *plugin;
++
++        g_return_if_fail (object != NULL);
++        g_return_if_fail (CSD_IS_AUTOMOUNT_PLUGIN (object));
++
++        g_debug ("Automount plugin finalizing");
++
++        plugin = CSD_AUTOMOUNT_PLUGIN (object);
++
++        g_return_if_fail (plugin->priv != NULL);
++
++        if (plugin->priv->manager != NULL) {
++                g_object_unref (plugin->priv->manager);
++        }
++
++        G_OBJECT_CLASS (csd_automount_plugin_parent_class)->finalize (object);
++}
++
++static void
++impl_activate (CinnamonSettingsPlugin *plugin)
++{
++        gboolean res;
++        GError  *error;
++
++        g_debug ("Activating automount plugin");
++
++        error = NULL;
++        res = csd_automount_manager_start (CSD_AUTOMOUNT_PLUGIN (plugin)->priv->manager, &error);
++        if (! res) {
++                g_warning ("Unable to start automount manager: %s", error->message);
++                g_error_free (error);
++        }
++}
++
++static void
++impl_deactivate (CinnamonSettingsPlugin *plugin)
++{
++        g_debug ("Deactivating automount plugin");
++        csd_automount_manager_stop (CSD_AUTOMOUNT_PLUGIN (plugin)->priv->manager);
++}
++
++static void
++csd_automount_plugin_class_init (CsdAutomountPluginClass *klass)
++{
++        GObjectClass             *object_class = G_OBJECT_CLASS (klass);
++        CinnamonSettingsPluginClass *plugin_class = CINNAMON_SETTINGS_PLUGIN_CLASS (klass);
++
++        object_class->finalize = csd_automount_plugin_finalize;
++
++        plugin_class->activate = impl_activate;
++        plugin_class->deactivate = impl_deactivate;
++
++        g_type_class_add_private (klass, sizeof (CsdAutomountPluginPrivate));
++}
++
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.h cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.h
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.h	1970-01-01 01:00:00.000000000 +0100
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.h	2013-10-08 22:35:10.771472456 +0200
+@@ -0,0 +1,60 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++ *
++ * Author: Tomas Bzatek <tbzatek@redhat.com>
++ */
++
++#ifndef __CSD_AUTOMOUNT_PLUGIN_H__
++#define __CSD_AUTOMOUNT_PLUGIN_H__
++
++#include <glib.h>
++#include <glib-object.h>
++#include <gmodule.h>
++
++#include "cinnamon-settings-plugin.h"
++
++G_BEGIN_DECLS
++
++#define CSD_TYPE_AUTOMOUNT_PLUGIN                (csd_automount_plugin_get_type ())
++#define CSD_AUTOMOUNT_PLUGIN(o)                  (G_TYPE_CHECK_INSTANCE_CAST ((o), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPlugin))
++#define CSD_AUTOMOUNT_PLUGIN_CLASS(k)            (G_TYPE_CHECK_CLASS_CAST((k), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginClass))
++#define CSD_IS_AUTOMOUNT_PLUGIN(o)               (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSD_TYPE_AUTOMOUNT_PLUGIN))
++#define CSD_IS_AUTOMOUNT_PLUGIN_CLASS(k)         (G_TYPE_CHECK_CLASS_TYPE ((k), CSD_TYPE_AUTOMOUNT_PLUGIN))
++#define CSD_AUTOMOUNT_PLUGIN_GET_CLASS(o)        (G_TYPE_INSTANCE_GET_CLASS ((o), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginClass))
++
++typedef struct CsdAutomountPluginPrivate CsdAutomountPluginPrivate;
++
++typedef struct
++{
++        CinnamonSettingsPlugin           parent;
++        CsdAutomountPluginPrivate    *priv;
++} CsdAutomountPlugin;
++
++typedef struct
++{
++        CinnamonSettingsPluginClass parent_class;
++} CsdAutomountPluginClass;
++
++GType   csd_automount_plugin_get_type             (void) G_GNUC_CONST;
++
++/* All the plugins must implement this function */
++G_MODULE_EXPORT GType register_cinnamon_settings_plugin (GTypeModule *module);
++
++G_END_DECLS
++
++#endif /* __CSD_AUTOMOUNT_PLUGIN_H__ */
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/Makefile.am cinnamon-settings-daemon-2.0.1/plugins/automount/Makefile.am
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/Makefile.am	2013-10-02 16:13:56.000000000 +0200
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/Makefile.am	2013-10-08 22:48:19.240865461 +0200
+@@ -1,38 +1,87 @@
+-libexec_PROGRAMS = cinnamon-fallback-mount-helper
++NULL =
+ 
+-cinnamon_fallback_mount_helper_SOURCES = \
+-	cinnamon-fallback-mount-helper.c \
+-	csd-automount-manager.c \
+-	csd-automount-manager.h \
+-	csd-autorun.c \
+-	csd-autorun.h
++plugin_name = automount
+ 
+-cinnamon_fallback_mount_helper_CPPFLAGS = \
++libexec_PROGRAMS = csd-test-automount
++
++csd_test_automount_SOURCES = 		\
++	test-automount.c		\
++	csd-automount-manager.h		\
++	csd-automount-manager.c		\
++	csd-autorun.c		\
++	csd-autorun.h		\
++	$(NULL)
++
++csd_test_automount_CPPFLAGS = \
+ 	-I$(top_srcdir)/cinnamon-settings-daemon		\
++	-I$(top_srcdir)/plugins/common			\
+ 	-DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ 	$(AM_CPPFLAGS)
+ 
+-cinnamon_fallback_mount_helper_CFLAGS =	\
++csd_test_automount_CFLAGS = \
++	$(PLUGIN_CFLAGS)		\
+ 	$(SETTINGS_PLUGIN_CFLAGS)	\
+ 	$(SYSTEMD_CFLAGS)		\
+ 	$(AUTOMOUNT_CFLAGS)
++	$(AM_CFLAGS)
++
++csd_test_automount_LDADD =			\
++	$(top_builddir)/cinnamon-settings-daemon/libcsd.la	\
++	$(SETTINGS_PLUGIN_LIBS)		\
++	$(SYSTEMD_LIBS)			\
++	$(AUTOMOUNT_LIBS)		\
++	$(NULL)
++
++plugin_LTLIBRARIES = \
++	libautomount.la		\
++	$(NULL)
++
++libautomount_la_SOURCES =		\
++	csd-automount-plugin.h		\
++	csd-automount-plugin.c		\
++	csd-automount-manager.h		\
++	csd-automount-manager.c		\
++	csd-autorun.c		\
++	csd-autorun.h		\
++	$(NULL)
++
++libautomount_la_CPPFLAGS = \
++	-I$(top_srcdir)/cinnamon-settings-daemon		\
++	-DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
++	$(AM_CPPFLAGS)
++
++libautomount_la_CFLAGS = \
++	$(SETTINGS_PLUGIN_CFLAGS)	\
++	$(SYSTEMD_CFLAGS)		\
++	$(AUTOMOUNT_CFLAGS)		\
++	$(AM_CFLAGS)
++
++libautomount_la_LDFLAGS =		\
++	$(CSD_PLUGIN_LDFLAGS)		\
++	$(NULL)
+ 
+-cinnamon_fallback_mount_helper_LDADD =	\
++libautomount_la_LIBADD  =		\
+ 	$(SETTINGS_PLUGIN_LIBS)		\
+ 	$(SYSTEMD_LIBS)			\
+ 	$(AUTOMOUNT_LIBS)		\
+-	$(top_builddir)/cinnamon-settings-daemon/libcsd.la
++	$(NULL)
+ 
+-autostartdir = $(datadir)/applications
+-autostart_in_files = cinnamon-fallback-mount-helper.desktop.in
+-autostart_in_in_files = cinnamon-fallback-mount-helper.desktop.in.in
+-autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
++plugin_in_files =		\
++	automount.cinnamon-settings-plugin.in	\
++	$(NULL)
+ 
+-$(autostart_in_files): $(autostart_in_in_files)
+-	@sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@
++plugin_DATA = $(plugin_in_files:.cinnamon-settings-plugin.in=.cinnamon-settings-plugin)
+ 
+-@INTLTOOL_DESKTOP_RULE@
++EXTRA_DIST = 			\
++	$(plugin_in_files)	\
++	$(NULL)
+ 
+-EXTRA_DIST = $(autostart_in_in_files)
++CLEANFILES = 			\
++	$(plugin_DATA)		\
++	$(NULL)
+ 
+-CLEANFILES = $(autostart_DATA) $(autostart_in_files)
++DISTCLEANFILES =		\
++	$(plugin_DATA)		\
++	$(NULL)
++
++@CSD_INTLTOOL_PLUGIN_RULE@
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/test-automount.c cinnamon-settings-daemon-2.0.1/plugins/automount/test-automount.c
+--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/test-automount.c	1970-01-01 01:00:00.000000000 +0100
++++ cinnamon-settings-daemon-2.0.1/plugins/automount/test-automount.c	2013-10-08 22:42:53.759486525 +0200
+@@ -0,0 +1,7 @@
++#define NEW csd_automount_manager_new
++#define START csd_automount_manager_start
++#define STOP csd_automount_manager_stop
++#define MANAGER CsdAutomountManager
++#include "csd-automount-manager.h"
++
++#include "test-plugin.h"
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.in cinnamon-settings-daemon-2.0.1/po/POTFILES.in
+--- cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.in	2013-10-02 16:13:56.000000000 +0200
++++ cinnamon-settings-daemon-2.0.1/po/POTFILES.in	2013-10-08 22:35:10.771472456 +0200
+@@ -18,8 +18,9 @@
+ plugins/a11y-keyboard/csd-a11y-preferences-dialog.c
+ [type: gettext/glade]plugins/a11y-keyboard/csd-a11y-preferences-dialog.ui
+ [type: gettext/ini]plugins/a11y-settings/a11y-settings.cinnamon-settings-plugin.in
+-plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in
++[type: gettext/ini]plugins/automount/automount.cinnamon-settings-plugin.in
+ plugins/automount/csd-automount-manager.c
++plugins/automount/csd-automount-plugin.c
+ plugins/automount/csd-autorun.c
+ [type: gettext/ini]plugins/background/background.cinnamon-settings-plugin.in
+ [type: gettext/ini]plugins/clipboard/clipboard.cinnamon-settings-plugin.in
+diff -Naur cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.skip cinnamon-settings-daemon-2.0.1/po/POTFILES.skip
+--- cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.skip	2013-10-02 16:13:56.000000000 +0200
++++ cinnamon-settings-daemon-2.0.1/po/POTFILES.skip	2013-10-08 22:37:20.224645009 +0200
+@@ -20,6 +20,5 @@
+ data/org.cinnamon.settings-daemon.plugins.updates.gschema.xml.in
+ data/org.cinnamon.settings-daemon.plugins.xrandr.gschema.xml.in
+ data/org.cinnamon.settings-daemon.plugins.xsettings.gschema.xml.in
+-plugins/automount/gnome-fallback-mount-helper.desktop.in
+ plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
+ plugins/wacom/org.cinnamon.settings-daemon.plugins.wacom.policy.in
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center.nix b/pkgs/desktops/cinnamon/cinnamon-control-center.nix
new file mode 100644
index 00000000000..6eced78ed11
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center.nix
@@ -0,0 +1,41 @@
+
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, libxslt, gtk3, libnotify,
+gnome-menus, libxml2, systemd, upower, cinnamon-settings-daemon, colord, polkit, ibus, libcanberra_gtk3, pulseaudio, isocodes, krb5,
+libxkbfile}:
+
+let
+  version = "2.0.9";
+in
+stdenv.mkDerivation {
+  name = "cinnamon-control-center-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cinnamon-control-center/archive/${version}.tar.gz";
+    sha256 = "0kivqdgsf8w257j2ja6fap0dpvljcnb9gphr3knp7y6ma2d1gfv3";
+  };
+
+ configureFlags = "--enable-systemd --disable-update-mimedb" ;
+
+  patches = [ ./region.patch];
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    glib gettext gnome_common
+    intltool libxslt gtk3 cinnamon-desktop
+    libnotify gnome-menus libxml2 systemd
+    upower cinnamon-settings-daemon colord
+    polkit ibus libcanberra_gtk3 pulseaudio
+    isocodes krb5 libxkbfile ];
+
+  preBuild = "patchShebangs ./scripts";
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "The cinnamon session files" ;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop.nix b/pkgs/desktops/cinnamon/cinnamon-desktop.nix
new file mode 100644
index 00000000000..8ead149fc2b
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, intltool
+, glib, gobjectIntrospection, gdk_pixbuf, gtk3, gnome_common
+, xorg, xkeyboard_config
+}:
+
+let
+  version = "2.0.4";
+in
+stdenv.mkDerivation {
+  name = "cinnamon-desktop-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cinnamon-desktop/archive/${version}.tar.gz";
+    sha256 = "1cywin712558pv58c0cr73m25hfcv5x8pv5frvqjr9gwr2gpi6h3";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  buildInputs = with xorg; [
+    pkgconfig autoreconfHook intltool
+    glib gobjectIntrospection gdk_pixbuf gtk3 gnome_common
+    xkeyboard_config libxkbfile libX11 libXrandr libXext
+  ];
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "Library and data for various Cinnamon modules";
+
+    longDescription = ''
+       The libcinnamon-desktop library provides API shared by several applications
+       on the desktop, but that cannot live in the platform for various
+       reasons. There is no API or ABI guarantee, although we are doing our
+       best to provide stability. Documentation for the API is available with
+       gtk-doc.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix
new file mode 100644
index 00000000000..d84438b7bd1
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-session.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, gtk3, dbus_glib
+, upower, json_glib,intltool, systemd, hicolor_icon_theme, xorg, makeWrapper, cinnamon-desktop }:
+
+let
+  version = "2.0.6";
+in
+stdenv.mkDerivation {
+  name = "cinnamon-session-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cinnamon-session/archive/${version}.tar.gz";
+    sha256 = "0rs5w7npj3wf3gkk3sfb83awks2h7vjd6cz8mvfgbh6m3grn66l3";
+  };
+
+
+  configureFlags = "--enable-systemd --disable-gconf" ;
+
+  patches = [ ./remove-sessionmigration.patch ./timeout.patch];
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    glib gettext gnome_common
+    gtk3 dbus_glib upower json_glib
+    intltool systemd xorg.xtrans
+    makeWrapper
+    cinnamon-desktop /*gschemas*/
+   ];
+
+  preBuild = "patchShebangs ./scripts";
+
+
+  postFixup  = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+
+    for f in "$out/bin/"*; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "The cinnamon session files" ;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix
new file mode 100644
index 00000000000..ca220fd9d85
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix
@@ -0,0 +1,53 @@
+
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, gtk3,
+libnotify, lcms2, libxklavier, libgnomekbd, libcanberra, pulseaudio, upower, libcanberra_gtk3, colord,
+systemd, libxslt, docbook_xsl, makeWrapper, gsettings_desktop_schemas}:
+
+let
+  version = "2.0.10";
+in
+stdenv.mkDerivation {
+  name = "cinnamon-settings-daemon-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cinnamon-settings-daemon/archive/${version}.tar.gz";
+    sha256 = "10r75xsngb7ipv9fy07dyfb256bqybzcxbwny60sgjhrksk3v9mg";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  configureFlags = "--enable-systemd" ;
+
+  patches = [ ./systemd-support.patch ./automount-plugin.patch ./dpms.patch];
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    glib gettext gnome_common
+    intltool gtk3 libnotify lcms2
+    libgnomekbd libxklavier colord
+    libcanberra pulseaudio upower
+    libcanberra_gtk3 cinnamon-desktop
+    systemd libxslt docbook_xsl makeWrapper
+    gsettings_desktop_schemas
+   ];
+
+  preBuild = "patchShebangs ./scripts";
+
+  #ToDo: missing org.cinnamon.gschema.xml, probably not packaged yet
+  postFixup  = ''
+    for f in "$out/libexec/"*; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "The cinnamon session files" ;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations.nix b/pkgs/desktops/cinnamon/cinnamon-translations.nix
new file mode 100644
index 00000000000..91a7acdef82
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-translations.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+let
+  version = "2.0.3";
+in
+stdenv.mkDerivation {
+  name = "cinnamon-translations-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cinnamon-translations/archive/${version}.tar.gz";
+    sha256 = "07w3v118xrfp8r4dkbdiyd1vr9ah7f3bm2zw9wag9s8l8x0zfxgc";
+  };
+
+  installPhase =
+    ''
+      mkdir -pv $out/share/cinnamon/locale
+      cp -av "mo-export/"* $out/share/cinnamon/locale/
+    '';
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "Translations files for the Cinnamon desktop" ;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cjs.nix b/pkgs/desktops/cinnamon/cjs.nix
new file mode 100644
index 00000000000..5d584761565
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cjs.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, python
+, dbus_glib, cairo, spidermonkey_185, gobjectIntrospection
+}:
+
+let
+  version="2.0.0";
+in
+stdenv.mkDerivation rec {
+  name = "cjs-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cjs/archive/${version}.tar.gz";
+    sha256 = "16iazd5h2z27v9jxs4a8imwls5c1c690wk7i05r5ds3c3r4nrsig";
+  };
+
+  buildInputs = [
+    pkgconfig autoreconfHook python
+    dbus_glib cairo spidermonkey_185
+    gobjectIntrospection
+  ];
+
+  preBuild = "patchShebangs ./scripts";
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "JavaScript bindings for Cinnamon" ;
+
+    longDescription = ''
+       This module contains JavaScript bindings based on gobject-introspection.
+
+       Because JavaScript is pretty free-form, consistent coding style and unit tests
+       are critical to give it some structure and keep it readable.
+       We propose that all GNOME usage of JavaScript conform to the style guide
+       in doc/Style_Guide.txt to help keep things sane.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/dpms.patch b/pkgs/desktops/cinnamon/dpms.patch
new file mode 100644
index 00000000000..a73f33dc618
--- /dev/null
+++ b/pkgs/desktops/cinnamon/dpms.patch
@@ -0,0 +1,30 @@
+ 
+-- a/plugins/power/csd-power-manager.c
++++ b/plugins/power/csd-power-manager.c
+@@ -33,6 +33,8 @@
+ #include <libnotify/notify.h>
+ #include <canberra-gtk.h>
+ 
++#include <X11/extensions/dpms.h>
++
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+ #include <libcinnamon-desktop/gnome-rr.h>
+ 
+@@ -3967,6 +3790,17 @@ csd_power_manager_start (CsdPowerManager
+         /* set the initial dim time that can adapt for the user */
+         refresh_idle_dim_settings (manager);
+ 
++        /* Make sure that Xorg's DPMS extension never gets in our way. The defaults seem to have changed in Xorg 1.14
++         * being "0" by default to being "600" by default 
++         * https://bugzilla.gnome.org/show_bug.cgi?id=709114
++         */
++        gdk_error_trap_push ();
++        int dummy;
++        if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy)) {
++            DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0);
++        }
++        gdk_error_trap_pop_ignored ();
++
+         manager->priv->xscreensaver_watchdog_timer_id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT,
+                                                                                disable_builtin_screensaver,
+                                                                                NULL);
diff --git a/pkgs/desktops/cinnamon/gtkdoc.patch b/pkgs/desktops/cinnamon/gtkdoc.patch
new file mode 100644
index 00000000000..6398306a76a
--- /dev/null
+++ b/pkgs/desktops/cinnamon/gtkdoc.patch
@@ -0,0 +1,41 @@
+--- a/src/meta/prefs.h
++++ b/src/meta/prefs.h
+@@ -310,13 +310,13 @@ typedef struct
+    */
+   GSList *bindings;
+ 
+-  /** for keybindings that can have shift or not like Alt+Tab */
++  /* for keybindings that can have shift or not like Alt+Tab */
+   gboolean      add_shift:1;
+ 
+-  /** for keybindings that apply only to a window */
++  /* for keybindings that apply only to a window */
+   gboolean      per_window:1;
+ 
+-  /** for keybindings not added with meta_display_add_keybinding() */
++  /* for keybindings not added with meta_display_add_keybinding() */
+   gboolean      builtin:1;
+ } MetaKeyPref;
+ 
+@@ -339,5 +339,3 @@ CDesktopVisualBellType meta_prefs_get_vi
+ MetaPlacementMode meta_prefs_get_placement_mode (void);
+ 
+ #endif
+-
+-
+--- a/src/core/workspace.c
++++ b/src/core/workspace.c
+@@ -194,7 +194,7 @@ meta_workspace_new (MetaScreen *screen)
+   return workspace;
+ }
+ 
+-/** Foreach function for workspace_free_struts() */
++/* Foreach function for workspace_free_struts() */
+ static void
+ free_this (gpointer candidate, gpointer dummy)
+ {
+@@ -1390,4 +1390,3 @@ meta_workspace_get_screen (MetaWorkspace
+ {
+   return workspace->screen;
+ }
+-
diff --git a/pkgs/desktops/cinnamon/keyboard.patch b/pkgs/desktops/cinnamon/keyboard.patch
new file mode 100644
index 00000000000..f67d961ff58
--- /dev/null
+++ b/pkgs/desktops/cinnamon/keyboard.patch
@@ -0,0 +1,4729 @@
+ 
+diff -uNrp a/cinnamon-settings-daemon/main.c b/cinnamon-settings-daemon/main.c
+--- a/cinnamon-settings-daemon/main.c	2013-08-24 18:04:31.000000000 +0100
++++ b/cinnamon-settings-daemon/main.c	2013-08-25 16:36:02.000000000 +0100
+@@ -319,6 +319,29 @@ set_legacy_ibus_env_vars (GDBusProxy *pr
+ }
+ #endif
+ 
++static void
++got_session_proxy (GObject      *source_object,
++                   GAsyncResult *res,
++                   gpointer      user_data)
++{
++        GDBusProxy *proxy;
++        GError *error = NULL;
++
++        proxy = g_dbus_proxy_new_finish (res, &error);
++        if (proxy == NULL) {
++                g_debug ("Could not connect to the Session manager: %s", error->message);
++                g_error_free (error);
++        } else {
++                set_locale (proxy);
++#ifdef HAVE_IBUS
++                /* This will register with cinnamon-session after calling Setenv. */
++                set_legacy_ibus_env_vars (proxy);
++#else
++                register_with_gnome_session (proxy);
++#endif
++        }
++}
++
+ static gboolean
+ on_term_signal_pipe_closed (GIOChannel *source,
+                             GIOCondition condition,
+@@ -368,6 +391,16 @@ set_session_over_handler (GDBusConnectio
+ {
+         g_assert (bus != NULL);
+ 
++        g_dbus_proxy_new (bus,
++                          G_DBUS_PROXY_FLAGS_NONE,
++                          NULL,
++                          GNOME_SESSION_DBUS_NAME,
++                          GNOME_SESSION_DBUS_OBJECT,
++                          GNOME_SESSION_DBUS_INTERFACE,
++                          NULL,
++                          (GAsyncReadyCallback) got_session_proxy,
++                          NULL);
++
+         watch_for_term_signal (manager);
+ }
+ 
+@@ -390,56 +423,6 @@ name_lost_handler (GDBusConnection *conn
+         gtk_main_quit ();
+ }
+ 
+-static gboolean
+-do_register_client (gpointer user_data)
+-{
+-        GDBusProxy *proxy = (GDBusProxy *) user_data;
+-        g_assert (proxy != NULL);
+-
+-        const char *startup_id = g_getenv ("DESKTOP_AUTOSTART_ID");
+-        g_dbus_proxy_call (proxy,
+-                           "RegisterClient",
+-                           g_variant_new ("(ss)", "cinnamon-settings-daemon", startup_id ? startup_id : ""),
+-                           G_DBUS_CALL_FLAGS_NONE,
+-                           -1,
+-                           NULL,
+-                           (GAsyncReadyCallback) on_client_registered,
+-                           manager);
+-
+-        return FALSE;
+-}
+-
+-static void
+-queue_register_client (void)
+-{
+-        GDBusConnection *bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
+-        if (!bus)
+-                return;
+-
+-        GError *error = NULL;
+-        GDBusProxy *proxy = g_dbus_proxy_new_sync (bus,
+-                                                   G_DBUS_PROXY_FLAGS_NONE,
+-                                                   NULL,
+-                                                   GNOME_SESSION_DBUS_NAME,
+-                                                   GNOME_SESSION_DBUS_OBJECT,
+-                                                   GNOME_SESSION_DBUS_INTERFACE,
+-                                                   NULL,
+-                                                   &error);
+-        g_object_unref (bus);
+-
+-        if (proxy == NULL) {
+-                g_debug ("Could not connect to the Session manager: %s", error->message);
+-                g_error_free (error);
+-                return;
+-        }
+-
+-        /* Register the daemon with cinnamon-session */
+-        g_signal_connect (G_OBJECT (proxy), "g-signal",
+-                          G_CALLBACK (on_session_over), NULL);
+-
+-        g_idle_add_full (G_PRIORITY_DEFAULT, do_register_client, proxy, NULL);
+-}
+-
+ static void
+ bus_register (void)
+ {
+@@ -541,8 +524,6 @@ main (int argc, char *argv[])
+ 
+         notify_init ("cinnamon-settings-daemon");
+ 
+-        queue_register_client ();
+-
+         bus_register ();
+ 
+         cinnamon_settings_profile_start ("cinnamon_settings_manager_new");
+diff -uNrp a/configure.ac b/configure.ac
+--- a/configure.ac	2013-08-24 18:04:31.000000000 +0100
++++ b/configure.ac	2013-08-25 16:36:02.000000000 +0100
+@@ -53,6 +53,7 @@ UPOWER_GLIB_REQUIRED_VERSION=0.9.1
+ PA_REQUIRED_VERSION=0.9.16
+ UPOWER_REQUIRED_VERSION=0.9.11
+ GTK_XINPUT_2_3_VERSION=3.7.8
++IBUS_REQUIRED_VERSION=1.4.2
+ 
+ #EXTRA_COMPILE_WARNINGS(yes)
+ 
+@@ -199,8 +200,21 @@ dnl ------------------------------------
+ dnl - Keyboard plugin stuff
+ dnl ---------------------------------------------------------------------------
+ 
+-LIBGNOMEKBD_REQUIRED=2.91.1
+-PKG_CHECK_MODULES(KEYBOARD, [libgnomekbdui >= $LIBGNOMEKBD_REQUIRED libgnomekbd >= $LIBGNOMEKBD_REQUIRED libxklavier >= 5.0 kbproto])
++AC_ARG_ENABLE(ibus,
++        AS_HELP_STRING([--disable-ibus],
++                       [Disable IBus support]),
++        enable_ibus=$enableval,
++        enable_ibus=yes)
++
++if test "x$enable_ibus" = "xyes" ; then
++        IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION"
++        AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled])
++else
++        IBUS_MODULE=
++fi
++AM_CONDITIONAL(HAVE_IBUS, test "x$enable_ibus" == "xyes")
++
++PKG_CHECK_MODULES(KEYBOARD, xkbfile $IBUS_MODULE cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED_VERSION)
+ 
+ dnl ---------------------------------------------------------------------------
+ dnl - Housekeeping plugin stuff
+diff -uNrp a/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in b/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in
+--- a/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in	2013-08-24 18:04:31.000000000 +0100
++++ b/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in	2013-08-25 16:36:02.000000000 +0100
+@@ -175,6 +175,15 @@
+       <_summary>Magnifier zoom out</_summary>
+       <_description>Binding for the magnifier to zoom out</_description>
+     </key>
++    <key name="switch-input-source" type="s">
++      <default>''</default>
++      <_summary>Switch input source</_summary>
++      <_description>Binding to select the next input source</_description>
++    </key>
++    <key name="switch-input-source-backward" type="s">
++      <default>''</default>
++      <_summary>Switch input source backward</_summary>
++      <_description>Binding to select the previous input source</_description>
++    </key>
+   </schema>
+-
+-</schemalist>
++</schemalist>
+\ No newline at end of file
+diff -uNrp a/plugins/keyboard/csd-keyboard-manager.c b/plugins/keyboard/csd-keyboard-manager.c
+--- a/plugins/keyboard/csd-keyboard-manager.c	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/csd-keyboard-manager.c	2013-08-25 16:36:02.000000000 +0100
+@@ -40,19 +40,22 @@
+ 
+ #include <X11/XKBlib.h>
+ #include <X11/keysym.h>
++#include <X11/extensions/XKBrules.h>
++
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include <libcinnamon-desktop/gnome-xkb-info.h>
++
++#ifdef HAVE_IBUS
++#include <ibus.h>
++#endif
+ 
+ #include "cinnamon-settings-profile.h"
+ #include "csd-keyboard-manager.h"
++#include "csd-input-helper.h"
+ #include "csd-enums.h"
+ 
+-#include "csd-keyboard-xkb.h"
+-
+ #define CSD_KEYBOARD_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_KEYBOARD_MANAGER, CsdKeyboardManagerPrivate))
+ 
+-#ifndef HOST_NAME_MAX
+-#  define HOST_NAME_MAX 255
+-#endif
+-
+ #define CSD_KEYBOARD_DIR "org.cinnamon.settings-daemon.peripherals.keyboard"
+ 
+ #define KEY_REPEAT         "repeat"
+@@ -60,6 +63,7 @@
+ #define KEY_INTERVAL       "repeat-interval"
+ #define KEY_DELAY          "delay"
+ #define KEY_CLICK_VOLUME   "click-volume"
++#define KEY_REMEMBER_NUMLOCK_STATE "remember-numlock-state"
+ #define KEY_NUMLOCK_STATE  "numlock-state"
+ 
+ #define KEY_BELL_VOLUME    "bell-volume"
+@@ -67,27 +71,560 @@
+ #define KEY_BELL_DURATION  "bell-duration"
+ #define KEY_BELL_MODE      "bell-mode"
+ 
+-#define LIBGNOMEKBD_KEYBOARD_DIR "org.gnome.libgnomekbd.keyboard"
+-#define LIBGNOMEKBD_KEY_LAYOUTS  "layouts"
++#define KEY_SWITCHER "input-sources-switcher"
++
++#define GNOME_DESKTOP_INTERFACE_DIR "org.cinnamon.desktop.interface"
++
++#define KEY_GTK_IM_MODULE    "gtk-im-module"
++#define GTK_IM_MODULE_SIMPLE "gtk-im-context-simple"
++#define GTK_IM_MODULE_IBUS   "ibus"
++
++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources"
++
++#define KEY_CURRENT_INPUT_SOURCE "current"
++#define KEY_INPUT_SOURCES        "sources"
++#define KEY_KEYBOARD_OPTIONS     "xkb-options"
++
++#define INPUT_SOURCE_TYPE_XKB  "xkb"
++#define INPUT_SOURCE_TYPE_IBUS "ibus"
++
++#define DEFAULT_LANGUAGE "en_US"
+ 
+ struct CsdKeyboardManagerPrivate
+ {
+ 	guint      start_idle_id;
+         GSettings *settings;
+-        GSettings *libgnomekbd_settings;
+-        gboolean   have_xkb;
++        GSettings *input_sources_settings;
++        GSettings *interface_settings;
++        GnomeXkbInfo *xkb_info;
++#ifdef HAVE_IBUS
++        IBusBus   *ibus;
++        GHashTable *ibus_engines;
++        GHashTable *ibus_xkb_engines;
++        GCancellable *ibus_cancellable;
++        gboolean session_is_fallback;
++#endif
+         gint       xkb_event_base;
+         CsdNumLockState old_state;
++        GdkDeviceManager *device_manager;
++        guint device_added_id;
++        guint device_removed_id;
++
++        gboolean input_sources_switcher_spawned;
++        GPid input_sources_switcher_pid;
+ };
+ 
+ static void     csd_keyboard_manager_class_init  (CsdKeyboardManagerClass *klass);
+ static void     csd_keyboard_manager_init        (CsdKeyboardManager      *keyboard_manager);
+ static void     csd_keyboard_manager_finalize    (GObject                 *object);
++static gboolean apply_input_sources_settings     (GSettings               *settings,
++                                                  gpointer                 keys,
++                                                  gint                     n_keys,
++                                                  CsdKeyboardManager      *manager);
++static void     set_gtk_im_module                (CsdKeyboardManager      *manager,
++                                                  const gchar             *new_module);
+ 
+ G_DEFINE_TYPE (CsdKeyboardManager, csd_keyboard_manager, G_TYPE_OBJECT)
+ 
+ static gpointer manager_object = NULL;
+ 
++static void
++init_builder_with_sources (GVariantBuilder *builder,
++                           GSettings       *settings)
++{
++        const gchar *type;
++        const gchar *id;
++        GVariantIter iter;
++        GVariant *sources;
++
++        sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
++
++        g_variant_builder_init (builder, G_VARIANT_TYPE ("a(ss)"));
++
++        g_variant_iter_init (&iter, sources);
++        while (g_variant_iter_next (&iter, "(&s&s)", &type, &id))
++                g_variant_builder_add (builder, "(ss)", type, id);
++
++        g_variant_unref (sources);
++}
++
++static gboolean
++schema_is_installed (const gchar *name)
++{
++        const gchar * const *schemas;
++        const gchar * const *s;
++
++        schemas = g_settings_list_schemas ();
++        for (s = schemas; *s; ++s)
++                if (g_str_equal (*s, name))
++                        return TRUE;
++
++        return FALSE;
++}
++
++#ifdef HAVE_IBUS
++static void
++clear_ibus (CsdKeyboardManager *manager)
++{
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++
++        g_cancellable_cancel (priv->ibus_cancellable);
++        g_clear_object (&priv->ibus_cancellable);
++        g_clear_pointer (&priv->ibus_engines, g_hash_table_destroy);
++        g_clear_pointer (&priv->ibus_xkb_engines, g_hash_table_destroy);
++        g_clear_object (&priv->ibus);
++}
++
++static gchar *
++make_xkb_source_id (const gchar *engine_id)
++{
++        gchar *id;
++        gchar *p;
++        gint n_colons = 0;
++
++        /* engine_id is like "xkb:layout:variant:lang" where
++         * 'variant' and 'lang' might be empty */
++
++        engine_id += 4;
++
++        for (p = (gchar *)engine_id; *p; ++p)
++                if (*p == ':')
++                        if (++n_colons == 2)
++                                break;
++        if (!*p)
++                return NULL;
++
++        id = g_strndup (engine_id, p - engine_id + 1);
++
++        id[p - engine_id] = '\0';
++
++        /* id is "layout:variant" where 'variant' might be empty */
++
++        for (p = id; *p; ++p)
++                if (*p == ':') {
++                        if (*(p + 1) == '\0')
++                                *p = '\0';
++                        else
++                                *p = '+';
++                        break;
++                }
++
++        /* id is "layout+variant" or "layout" */
++
++        return id;
++}
++
++static void
++fetch_ibus_engines_result (GObject            *object,
++                           GAsyncResult       *result,
++                           CsdKeyboardManager *manager)
++{
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++        GList *list, *l;
++        GError *error = NULL;
++
++        /* engines shouldn't be there yet */
++        g_return_if_fail (priv->ibus_engines == NULL);
++
++        g_clear_object (&priv->ibus_cancellable);
++
++        list = ibus_bus_list_engines_async_finish (priv->ibus,
++                                                   result,
++                                                   &error);
++        if (!list && error) {
++                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
++                        g_warning ("Couldn't finish IBus request: %s", error->message);
++                g_error_free (error);
++
++                clear_ibus (manager);
++                return;
++        }
++
++        /* Maps IBus engine ids to engine description objects */
++        priv->ibus_engines = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref);
++        /* Maps XKB source id strings to engine description objects */
++        priv->ibus_xkb_engines = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
++
++        for (l = list; l; l = l->next) {
++                IBusEngineDesc *engine = l->data;
++                const gchar *engine_id = ibus_engine_desc_get_name (engine);
++
++                g_hash_table_replace (priv->ibus_engines, (gpointer)engine_id, engine);
++
++                if (strncmp ("xkb:", engine_id, 4) == 0) {
++                        gchar *xkb_source_id = make_xkb_source_id (engine_id);
++                        if (xkb_source_id)
++                                g_hash_table_replace (priv->ibus_xkb_engines,
++                                                      xkb_source_id,
++                                                      engine);
++                }
++        }
++        g_list_free (list);
++
++        apply_input_sources_settings (priv->input_sources_settings, NULL, 0, manager);
++}
++
++static void
++fetch_ibus_engines (CsdKeyboardManager *manager)
++{
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++
++        /* engines shouldn't be there yet */
++        g_return_if_fail (priv->ibus_engines == NULL);
++        g_return_if_fail (priv->ibus_cancellable == NULL);
++
++        priv->ibus_cancellable = g_cancellable_new ();
++
++        ibus_bus_list_engines_async (priv->ibus,
++                                     -1,
++                                     priv->ibus_cancellable,
++                                     (GAsyncReadyCallback)fetch_ibus_engines_result,
++                                     manager);
++}
++
++static void
++maybe_start_ibus (CsdKeyboardManager *manager,
++                  GVariant           *sources)
++{
++        gboolean need_ibus = FALSE;
++        GVariantIter iter;
++        const gchar *type;
++
++        if (manager->priv->session_is_fallback)
++                return;
++
++        g_variant_iter_init (&iter, sources);
++        while (g_variant_iter_next (&iter, "(&s&s)", &type, NULL))
++                if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) {
++                        need_ibus = TRUE;
++                        break;
++                }
++
++        if (!need_ibus)
++                return;
++
++        if (!manager->priv->ibus) {
++                ibus_init ();
++                manager->priv->ibus = ibus_bus_new ();
++                g_signal_connect_swapped (manager->priv->ibus, "connected",
++                                          G_CALLBACK (fetch_ibus_engines), manager);
++                g_signal_connect_swapped (manager->priv->ibus, "disconnected",
++                                          G_CALLBACK (clear_ibus), manager);
++        }
++        /* IBus doesn't export API in the session bus. The only thing
++         * we have there is a well known name which we can use as a
++         * sure-fire way to activate it. */
++        g_bus_unwatch_name (g_bus_watch_name (G_BUS_TYPE_SESSION,
++                                              IBUS_SERVICE_IBUS,
++                                              G_BUS_NAME_WATCHER_FLAGS_AUTO_START,
++                                              NULL,
++                                              NULL,
++                                              NULL,
++                                              NULL));
++}
++
++static void
++got_session_name (GObject            *object,
++                  GAsyncResult       *res,
++                  CsdKeyboardManager *manager)
++{
++        GVariant *result, *variant;
++        GDBusConnection *connection = G_DBUS_CONNECTION (object);
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++        const gchar *session_name = NULL;
++        GError *error = NULL;
++
++        /* IBus shouldn't have been touched yet */
++        g_return_if_fail (priv->ibus == NULL);
++
++        g_clear_object (&priv->ibus_cancellable);
++
++        result = g_dbus_connection_call_finish (connection, res, &error);
++        if (!result) {
++                g_warning ("Couldn't get session name: %s", error->message);
++                g_error_free (error);
++                goto out;
++        }
++
++        g_variant_get (result, "(v)", &variant);
++        g_variant_unref (result);
++
++        g_variant_get (variant, "&s", &session_name);
++
++        if (g_strcmp0 (session_name, "gnome") == 0)
++                manager->priv->session_is_fallback = FALSE;
++
++        g_variant_unref (variant);
++ out:
++        apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager);
++        g_object_unref (connection);
++}
++
++static void
++got_bus (GObject            *object,
++         GAsyncResult       *res,
++         CsdKeyboardManager *manager)
++{
++        GDBusConnection *connection;
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++        GError *error = NULL;
++
++        /* IBus shouldn't have been touched yet */
++        g_return_if_fail (priv->ibus == NULL);
++
++        g_clear_object (&priv->ibus_cancellable);
++
++        connection = g_bus_get_finish (res, &error);
++        if (!connection) {
++                g_warning ("Couldn't get session bus: %s", error->message);
++                g_error_free (error);
++                apply_input_sources_settings (priv->input_sources_settings, NULL, 0, manager);
++                return;
++        }
++
++        priv->ibus_cancellable = g_cancellable_new ();
++
++        g_dbus_connection_call (connection,
++                                "org.gnome.SessionManager",
++                                "/org/gnome/SessionManager",
++                                "org.freedesktop.DBus.Properties",
++                                "Get",
++                                g_variant_new ("(ss)",
++                                               "org.gnome.SessionManager",
++                                               "SessionName"),
++                                NULL,
++                                G_DBUS_CALL_FLAGS_NONE,
++                                -1,
++                                priv->ibus_cancellable,
++                                (GAsyncReadyCallback)got_session_name,
++                                manager);
++}
++
++static void
++set_ibus_engine_finish (GObject            *object,
++                        GAsyncResult       *res,
++                        CsdKeyboardManager *manager)
++{
++        gboolean result;
++        IBusBus *ibus = IBUS_BUS (object);
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++        GError *error = NULL;
++
++        g_clear_object (&priv->ibus_cancellable);
++
++        result = ibus_bus_set_global_engine_async_finish (ibus, res, &error);
++        if (!result) {
++                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
++                        g_warning ("Couldn't set IBus engine: %s", error->message);
++                g_error_free (error);
++        }
++}
++
++static void
++set_ibus_engine (CsdKeyboardManager *manager,
++                 const gchar        *engine_id)
++{
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++
++        g_return_if_fail (priv->ibus != NULL);
++        g_return_if_fail (priv->ibus_engines != NULL);
++
++        g_cancellable_cancel (priv->ibus_cancellable);
++        g_clear_object (&priv->ibus_cancellable);
++        priv->ibus_cancellable = g_cancellable_new ();
++
++        ibus_bus_set_global_engine_async (priv->ibus,
++                                          engine_id,
++                                          -1,
++                                          priv->ibus_cancellable,
++                                          (GAsyncReadyCallback)set_ibus_engine_finish,
++                                          manager);
++}
++
++static void
++set_ibus_xkb_engine (CsdKeyboardManager *manager,
++                     const gchar        *xkb_id)
++{
++        IBusEngineDesc *engine;
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++
++        if (!priv->ibus_xkb_engines)
++                return;
++
++        engine = g_hash_table_lookup (priv->ibus_xkb_engines, xkb_id);
++        if (!engine)
++                return;
++
++        set_ibus_engine (manager, ibus_engine_desc_get_name (engine));
++}
++
++/* XXX: See upstream bug:
++ * https://codereview.appspot.com/6586075/ */
++static gchar *
++layout_from_ibus_layout (const gchar *ibus_layout)
++{
++        const gchar *p;
++
++        /* we get something like "layout(variant)[option1,option2]" */
++
++        p = ibus_layout;
++        while (*p) {
++                if (*p == '(' || *p == '[')
++                        break;
++                p += 1;
++        }
++
++        return g_strndup (ibus_layout, p - ibus_layout);
++}
++
++static gchar *
++variant_from_ibus_layout (const gchar *ibus_layout)
++{
++        const gchar *a, *b;
++
++        /* we get something like "layout(variant)[option1,option2]" */
++
++        a = ibus_layout;
++        while (*a) {
++                if (*a == '(')
++                        break;
++                a += 1;
++        }
++        if (!*a)
++                return NULL;
++
++        a += 1;
++        b = a;
++        while (*b) {
++                if (*b == ')')
++                        break;
++                b += 1;
++        }
++        if (!*b)
++                return NULL;
++
++        return g_strndup (a, b - a);
++}
++
++static gchar **
++options_from_ibus_layout (const gchar *ibus_layout)
++{
++        const gchar *a, *b;
++        GPtrArray *opt_array;
++
++        /* we get something like "layout(variant)[option1,option2]" */
++
++        a = ibus_layout;
++        while (*a) {
++                if (*a == '[')
++                        break;
++                a += 1;
++        }
++        if (!*a)
++                return NULL;
++
++        opt_array = g_ptr_array_new ();
++
++        do {
++                a += 1;
++                b = a;
++                while (*b) {
++                        if (*b == ',' || *b == ']')
++                                break;
++                        b += 1;
++                }
++                if (!*b)
++                        goto out;
++
++                g_ptr_array_add (opt_array, g_strndup (a, b - a));
++
++                a = b;
++        } while (*a && *a == ',');
++
++out:
++        g_ptr_array_add (opt_array, NULL);
++        return (gchar **) g_ptr_array_free (opt_array, FALSE);
++}
++
++static const gchar *
++engine_from_locale (void)
++{
++        const gchar *locale;
++        const gchar *locale_engine[][2] = {
++                { "as_IN", "m17n:as:phonetic" },
++                { "bn_IN", "m17n:bn:inscript" },
++                { "gu_IN", "m17n:gu:inscript" },
++                { "hi_IN", "m17n:hi:inscript" },
++                { "ja_JP", "anthy" },
++                { "kn_IN", "m17n:kn:kgp" },
++                { "ko_KR", "hangul" },
++                { "mai_IN", "m17n:mai:inscript" },
++                { "ml_IN", "m17n:ml:inscript" },
++                { "mr_IN", "m17n:mr:inscript" },
++                { "or_IN", "m17n:or:inscript" },
++                { "pa_IN", "m17n:pa:inscript" },
++                { "sd_IN", "m17n:sd:inscript" },
++                { "ta_IN", "m17n:ta:tamil99" },
++                { "te_IN", "m17n:te:inscript" },
++                { "zh_CN", "pinyin" },
++                { "zh_HK", "cangjie3" },
++                { "zh_TW", "chewing" },
++        };
++        gint i;
++
++        locale = setlocale (LC_CTYPE, NULL);
++        if (!locale)
++                return NULL;
++
++        for (i = 0; i < G_N_ELEMENTS (locale_engine); ++i)
++                if (g_str_has_prefix (locale, locale_engine[i][0]))
++                        return locale_engine[i][1];
++
++        return NULL;
++}
++
++static void
++add_ibus_sources_from_locale (GSettings *settings)
++{
++        const gchar *locale_engine;
++        GVariantBuilder builder;
++
++        locale_engine = engine_from_locale ();
++        if (!locale_engine)
++                return;
++
++        init_builder_with_sources (&builder, settings);
++        g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_IBUS, locale_engine);
++        g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
++}
++
++static void
++convert_ibus (GSettings *settings)
++{
++        GVariantBuilder builder;
++        GSettings *ibus_settings;
++        gchar **engines, **e;
++
++        if (!schema_is_installed ("org.freedesktop.ibus.general"))
++                return;
++
++        init_builder_with_sources (&builder, settings);
++
++        ibus_settings = g_settings_new ("org.freedesktop.ibus.general");
++        engines = g_settings_get_strv (ibus_settings, "preload-engines");
++        for (e = engines; *e; ++e) {
++                if (g_str_has_prefix (*e, "xkb:"))
++                        continue;
++                g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_IBUS, *e);
++        }
++
++        g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
++
++        g_strfreev (engines);
++        g_object_unref (ibus_settings);
++}
++#endif  /* HAVE_IBUS */
++
+ static gboolean
+ xkb_set_keyboard_autorepeat_rate (guint delay, guint interval)
+ {
+@@ -97,32 +634,33 @@ xkb_set_keyboard_autorepeat_rate (guint
+                                      interval);
+ }
+ 
+-static void
+-numlock_xkb_init (CsdKeyboardManager *manager)
++static gboolean
++check_xkb_extension (CsdKeyboardManager *manager)
+ {
+         Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+-        gboolean have_xkb;
+         int opcode, error_base, major, minor;
++        gboolean have_xkb;
+ 
+         have_xkb = XkbQueryExtension (dpy,
+                                       &opcode,
+                                       &manager->priv->xkb_event_base,
+                                       &error_base,
+                                       &major,
+-                                      &minor)
+-                && XkbUseExtension (dpy, &major, &minor);
++                                      &minor);
++        return have_xkb;
++}
+ 
+-        if (have_xkb) {
+-                XkbSelectEventDetails (dpy,
+-                                       XkbUseCoreKbd,
+-                                       XkbStateNotifyMask,
+-                                       XkbModifierLockMask,
+-                                       XkbModifierLockMask);
+-        } else {
+-                g_warning ("XKB extension not available");
+-        }
++static void
++xkb_init (CsdKeyboardManager *manager)
++{
++        Display *dpy;
+ 
+-        manager->priv->have_xkb = have_xkb;
++        dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
++        XkbSelectEventDetails (dpy,
++                               XkbUseCoreKbd,
++                               XkbStateNotify,
++                               XkbModifierLockMask,
++                               XkbModifierLockMask);
+ }
+ 
+ static unsigned
+@@ -143,19 +681,32 @@ numlock_set_xkb_state (CsdNumLockState n
+         XkbLockModifiers (dpy, XkbUseCoreKbd, num_mask, new_state == CSD_NUM_LOCK_STATE_ON ? num_mask : 0);
+ }
+ 
++static const char *
++num_lock_state_to_string (CsdNumLockState numlock_state)
++{
++	switch (numlock_state) {
++	case CSD_NUM_LOCK_STATE_UNKNOWN:
++		return "CSD_NUM_LOCK_STATE_UNKNOWN";
++	case CSD_NUM_LOCK_STATE_ON:
++		return "CSD_NUM_LOCK_STATE_ON";
++	case CSD_NUM_LOCK_STATE_OFF:
++		return "CSD_NUM_LOCK_STATE_OFF";
++	default:
++		return "UNKNOWN";
++	}
++}
++
+ static GdkFilterReturn
+-numlock_xkb_callback (GdkXEvent *xev_,
+-                      GdkEvent  *gdkev_,
+-                      gpointer   user_data)
++xkb_events_filter (GdkXEvent *xev_,
++		   GdkEvent  *gdkev_,
++		   gpointer   user_data)
+ {
+         XEvent *xev = (XEvent *) xev_;
+ 	XkbEvent *xkbev = (XkbEvent *) xev;
+         CsdKeyboardManager *manager = (CsdKeyboardManager *) user_data;
+ 
+-        if (xev->type != manager->priv->xkb_event_base)
+-		return GDK_FILTER_CONTINUE;
+-
+-	if (xkbev->any.xkb_type != XkbStateNotify)
++        if (xev->type != manager->priv->xkb_event_base ||
++            xkbev->any.xkb_type != XkbStateNotify)
+ 		return GDK_FILTER_CONTINUE;
+ 
+ 	if (xkbev->state.changed & XkbModifierLockMask) {
+@@ -166,6 +717,9 @@ numlock_xkb_callback (GdkXEvent *xev_,
+ 		numlock_state = (num_mask & locked_mods) ? CSD_NUM_LOCK_STATE_ON : CSD_NUM_LOCK_STATE_OFF;
+ 
+ 		if (numlock_state != manager->priv->old_state) {
++			g_debug ("New num-lock state '%s' != Old num-lock state '%s'",
++				 num_lock_state_to_string (numlock_state),
++				 num_lock_state_to_string (manager->priv->old_state));
+ 			g_settings_set_enum (manager->priv->settings,
+ 					     KEY_NUMLOCK_STATE,
+ 					     numlock_state);
+@@ -177,57 +731,509 @@ numlock_xkb_callback (GdkXEvent *xev_,
+ }
+ 
+ static void
+-numlock_install_xkb_callback (CsdKeyboardManager *manager)
++install_xkb_filter (CsdKeyboardManager *manager)
+ {
+-        if (!manager->priv->have_xkb)
+-                return;
+-
+         gdk_window_add_filter (NULL,
+-                               numlock_xkb_callback,
++                               xkb_events_filter,
+                                manager);
+ }
+ 
+-static guint
+-_csd_settings_get_uint (GSettings  *settings,
+-			const char *key)
++static void
++remove_xkb_filter (CsdKeyboardManager *manager)
+ {
+-	guint value;
++        gdk_window_remove_filter (NULL,
++                                  xkb_events_filter,
++                                  manager);
++}
+ 
+-	g_settings_get (settings, key, "u", &value);
+-	return value;
++static void
++free_xkb_component_names (XkbComponentNamesRec *p)
++{
++        g_return_if_fail (p != NULL);
++
++        free (p->keymap);
++        free (p->keycodes);
++        free (p->types);
++        free (p->compat);
++        free (p->symbols);
++        free (p->geometry);
++
++        g_free (p);
++}
++
++static void
++upload_xkb_description (const gchar          *rules_file_path,
++                        XkbRF_VarDefsRec     *var_defs,
++                        XkbComponentNamesRec *comp_names)
++{
++        Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
++        XkbDescRec *xkb_desc;
++        gchar *rules_file;
++
++        /* Upload it to the X server using the same method as setxkbmap */
++        xkb_desc = XkbGetKeyboardByName (display,
++                                         XkbUseCoreKbd,
++                                         comp_names,
++                                         XkbGBN_AllComponentsMask,
++                                         XkbGBN_AllComponentsMask &
++                                         (~XkbGBN_GeometryMask), True);
++        if (!xkb_desc) {
++                g_warning ("Couldn't upload new XKB keyboard description");
++                return;
++        }
++
++        XkbFreeKeyboard (xkb_desc, 0, True);
++
++        rules_file = g_path_get_basename (rules_file_path);
++
++        if (!XkbRF_SetNamesProp (display, rules_file, var_defs))
++                g_warning ("Couldn't update the XKB root window property");
++
++        g_free (rules_file);
++}
++
++static gchar *
++language_code_from_locale (const gchar *locale)
++{
++        if (!locale || !locale[0] || !locale[1])
++                return NULL;
++
++        if (!locale[2] || locale[2] == '_' || locale[2] == '.')
++                return g_strndup (locale, 2);
++
++        if (!locale[3] || locale[3] == '_' || locale[3] == '.')
++                return g_strndup (locale, 3);
++
++        return NULL;
++}
++
++static gchar *
++build_xkb_group_string (const gchar *user,
++                        const gchar *locale,
++                        const gchar *latin)
++{
++        gchar *string;
++        gsize length = 0;
++        guint commas = 2;
++
++        if (latin)
++                length += strlen (latin);
++        else
++                commas -= 1;
++
++        if (locale)
++                length += strlen (locale);
++        else
++                commas -= 1;
++
++        length += strlen (user) + commas + 1;
++
++        string = malloc (length);
++
++        if (locale && latin)
++                sprintf (string, "%s,%s,%s", user, locale, latin);
++        else if (locale)
++                sprintf (string, "%s,%s", user, locale);
++        else if (latin)
++                sprintf (string, "%s,%s", user, latin);
++        else
++                sprintf (string, "%s", user);
++
++        return string;
++}
++
++static gboolean
++layout_equal (const gchar *layout_a,
++              const gchar *variant_a,
++              const gchar *layout_b,
++              const gchar *variant_b)
++{
++        return !g_strcmp0 (layout_a, layout_b) && !g_strcmp0 (variant_a, variant_b);
+ }
+ 
+ static void
+-apply_settings (GSettings          *settings,
+-                const char         *key,
+-                CsdKeyboardManager *manager)
++replace_layout_and_variant (CsdKeyboardManager *manager,
++                            XkbRF_VarDefsRec   *xkb_var_defs,
++                            const gchar        *layout,
++                            const gchar        *variant)
+ {
++        /* Toolkits need to know about both a latin layout to handle
++         * accelerators which are usually defined like Ctrl+C and a
++         * layout with the symbols for the language used in UI strings
++         * to handle mnemonics like Alt+Ф, so we try to find and add
++         * them in XKB group slots after the layout which the user
++         * actually intends to type with. */
++        const gchar *latin_layout = "us";
++        const gchar *latin_variant = "";
++        const gchar *locale_layout = NULL;
++        const gchar *locale_variant = NULL;
++        const gchar *locale;
++        gchar *language;
++
++        if (!layout)
++                return;
++
++        if (!variant)
++                variant = "";
++
++        locale = setlocale (LC_MESSAGES, NULL);
++        /* If LANG is empty, default to en_US */
++        if (!locale)
++                language = g_strdup (DEFAULT_LANGUAGE);
++        else
++                language = language_code_from_locale (locale);
++
++        if (!language)
++                language = language_code_from_locale (DEFAULT_LANGUAGE);
++
++        gnome_xkb_info_get_layout_info_for_language (manager->priv->xkb_info,
++                                                     language,
++                                                     NULL,
++                                                     NULL,
++                                                     NULL,
++                                                     &locale_layout,
++                                                     &locale_variant);
++        g_free (language);
++
++        /* We want to minimize the number of XKB groups if we have
++         * duplicated layout+variant pairs.
++         *
++         * Also, if a layout doesn't have a variant we still have to
++         * include it in the variants string because the number of
++         * variants must agree with the number of layouts. For
++         * instance:
++         *
++         * layouts:  "us,ru,us"
++         * variants: "dvorak,,"
++         */
++        if (layout_equal (latin_layout, latin_variant, locale_layout, locale_variant) ||
++            layout_equal (latin_layout, latin_variant, layout, variant)) {
++                latin_layout = NULL;
++                latin_variant = NULL;
++        }
++
++        if (layout_equal (locale_layout, locale_variant, layout, variant)) {
++                locale_layout = NULL;
++                locale_variant = NULL;
++        }
++
++        free (xkb_var_defs->layout);
++        xkb_var_defs->layout = build_xkb_group_string (layout, locale_layout, latin_layout);
++
++        free (xkb_var_defs->variant);
++        xkb_var_defs->variant = build_xkb_group_string (variant, locale_variant, latin_variant);
++}
++
++static gchar *
++build_xkb_options_string (gchar **options)
++{
++        gchar *string;
++
++        if (*options) {
++                gint i;
++                gsize len;
++                gchar *ptr;
++
++                /* First part, getting length */
++                len = 1 + strlen (options[0]);
++                for (i = 1; options[i] != NULL; i++)
++                        len += strlen (options[i]);
++                len += (i - 1); /* commas */
++
++                /* Second part, building string */
++                string = malloc (len);
++                ptr = g_stpcpy (string, *options);
++                for (i = 1; options[i] != NULL; i++) {
++                        ptr = g_stpcpy (ptr, ",");
++                        ptr = g_stpcpy (ptr, options[i]);
++                }
++        } else {
++                string = malloc (1);
++                *string = '\0';
++        }
++
++        return string;
++}
++
++static gchar **
++append_options (gchar **a,
++                gchar **b)
++{
++        gchar **c, **p;
++
++        if (!a && !b)
++                return NULL;
++        else if (!a)
++                return g_strdupv (b);
++        else if (!b)
++                return g_strdupv (a);
++
++        c = g_new0 (gchar *, g_strv_length (a) + g_strv_length (b) + 1);
++        p = c;
++
++        while (*a) {
++                *p = g_strdup (*a);
++                p += 1;
++                a += 1;
++        }
++        while (*b) {
++                *p = g_strdup (*b);
++                p += 1;
++                b += 1;
++        }
++
++        return c;
++}
++
++static void
++add_xkb_options (CsdKeyboardManager *manager,
++                 XkbRF_VarDefsRec   *xkb_var_defs,
++                 gchar             **extra_options)
++{
++        gchar **options;
++        gchar **settings_options;
++
++        settings_options = g_settings_get_strv (manager->priv->input_sources_settings,
++                                                KEY_KEYBOARD_OPTIONS);
++        options = append_options (settings_options, extra_options);
++        g_strfreev (settings_options);
++
++        free (xkb_var_defs->options);
++        xkb_var_defs->options = build_xkb_options_string (options);
++
++        g_strfreev (options);
++}
++
++static void
++apply_xkb_settings (CsdKeyboardManager *manager,
++                    const gchar        *layout,
++                    const gchar        *variant,
++                    gchar             **options)
++{
++        XkbRF_RulesRec *xkb_rules;
++        XkbRF_VarDefsRec *xkb_var_defs;
++        gchar *rules_file_path;
++
++        gnome_xkb_info_get_var_defs (&rules_file_path, &xkb_var_defs);
++
++        add_xkb_options (manager, xkb_var_defs, options);
++        replace_layout_and_variant (manager, xkb_var_defs, layout, variant);
++
++        gdk_error_trap_push ();
++
++        xkb_rules = XkbRF_Load (rules_file_path, NULL, True, True);
++        if (xkb_rules) {
++                XkbComponentNamesRec *xkb_comp_names;
++                xkb_comp_names = g_new0 (XkbComponentNamesRec, 1);
++
++                XkbRF_GetComponents (xkb_rules, xkb_var_defs, xkb_comp_names);
++                upload_xkb_description (rules_file_path, xkb_var_defs, xkb_comp_names);
++
++                free_xkb_component_names (xkb_comp_names);
++                XkbRF_Free (xkb_rules, True);
++        } else {
++                g_warning ("Couldn't load XKB rules");
++        }
++
++        if (gdk_error_trap_pop ())
++                g_warning ("Error loading XKB rules");
++
++        gnome_xkb_info_free_var_defs (xkb_var_defs);
++        g_free (rules_file_path);
++}
++
++static void
++set_gtk_im_module (CsdKeyboardManager *manager,
++                   const gchar        *new_module)
++{
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++        gchar *current_module;
++
++        current_module = g_settings_get_string (priv->interface_settings,
++                                                KEY_GTK_IM_MODULE);
++        if (!g_str_equal (current_module, new_module))
++                g_settings_set_string (priv->interface_settings,
++                                       KEY_GTK_IM_MODULE,
++                                       new_module);
++        g_free (current_module);
++}
++
++static gboolean
++apply_input_sources_settings (GSettings          *settings,
++                              gpointer            keys,
++                              gint                n_keys,
++                              CsdKeyboardManager *manager)
++{
++        CsdKeyboardManagerPrivate *priv = manager->priv;
++        GVariant *sources;
++        guint current;
++        guint n_sources;
++        const gchar *type = NULL;
++        const gchar *id = NULL;
++        gchar *layout = NULL;
++        gchar *variant = NULL;
++        gchar **options = NULL;
++
++        sources = g_settings_get_value (priv->input_sources_settings, KEY_INPUT_SOURCES);
++        current = g_settings_get_uint (priv->input_sources_settings, KEY_CURRENT_INPUT_SOURCE);
++        n_sources = g_variant_n_children (sources);
++
++        if (n_sources < 1)
++                goto exit;
++
++        if (current >= n_sources) {
++                g_settings_set_uint (priv->input_sources_settings,
++                                     KEY_CURRENT_INPUT_SOURCE,
++                                     n_sources - 1);
++                goto exit;
++        }
++
++#ifdef HAVE_IBUS
++        maybe_start_ibus (manager, sources);
++#endif
++
++        g_variant_get_child (sources, current, "(&s&s)", &type, &id);
++
++        if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) {
++                const gchar *l, *v;
++                gnome_xkb_info_get_layout_info (priv->xkb_info, id, NULL, NULL, &l, &v);
++
++                layout = g_strdup (l);
++                variant = g_strdup (v);
++
++                if (!layout || !layout[0]) {
++                        g_warning ("Couldn't find XKB input source '%s'", id);
++                        goto exit;
++                }
++                set_gtk_im_module (manager, GTK_IM_MODULE_SIMPLE);
++#ifdef HAVE_IBUS
++                set_ibus_xkb_engine (manager, id);
++#endif
++        } else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) {
++#ifdef HAVE_IBUS
++                IBusEngineDesc *engine_desc = NULL;
++
++                if (priv->session_is_fallback)
++                        goto exit;
++
++                if (priv->ibus_engines)
++                        engine_desc = g_hash_table_lookup (priv->ibus_engines, id);
++                else
++                        goto exit; /* we'll be called again when ibus is up and running */
++
++                if (engine_desc) {
++                        const gchar *ibus_layout;
++                        ibus_layout = ibus_engine_desc_get_layout (engine_desc);
++
++                        if (ibus_layout) {
++                                layout = layout_from_ibus_layout (ibus_layout);
++                                variant = variant_from_ibus_layout (ibus_layout);
++                                options = options_from_ibus_layout (ibus_layout);
++                        }
++                } else {
++                        g_warning ("Couldn't find IBus input source '%s'", id);
++                        goto exit;
++                }
++
++                set_gtk_im_module (manager, GTK_IM_MODULE_IBUS);
++                set_ibus_engine (manager, id);
++#else
++                g_warning ("IBus input source type specified but IBus support was not compiled");
++#endif
++        } else {
++                g_warning ("Unknown input source type '%s'", type);
++        }
++
++ exit:
++        apply_xkb_settings (manager, layout, variant, options);
++        g_variant_unref (sources);
++        g_free (layout);
++        g_free (variant);
++        g_strfreev (options);
++        /* Prevent individual "changed" signal invocations since we
++           don't need them. */
++        return TRUE;
++}
++
++static void
++apply_bell (CsdKeyboardManager *manager)
++{
++	GSettings       *settings;
+         XKeyboardControl kbdcontrol;
+-        gboolean         repeat;
+         gboolean         click;
+-        guint            interval;
+-        guint            delay;
+-        int              click_volume;
+         int              bell_volume;
+         int              bell_pitch;
+         int              bell_duration;
+         CsdBellMode      bell_mode;
+-        gboolean         rnumlock;
+-
+-        if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0)
+-                return;
++        int              click_volume;
+ 
+-        repeat        = g_settings_get_boolean  (settings, KEY_REPEAT);
++        g_debug ("Applying the bell settings");
++        settings      = manager->priv->settings;
+         click         = g_settings_get_boolean  (settings, KEY_CLICK);
+-        interval      = _csd_settings_get_uint  (settings, KEY_INTERVAL);
+-        delay         = _csd_settings_get_uint  (settings, KEY_DELAY);
+         click_volume  = g_settings_get_int   (settings, KEY_CLICK_VOLUME);
++
+         bell_pitch    = g_settings_get_int   (settings, KEY_BELL_PITCH);
+         bell_duration = g_settings_get_int   (settings, KEY_BELL_DURATION);
+ 
+         bell_mode = g_settings_get_enum (settings, KEY_BELL_MODE);
+         bell_volume   = (bell_mode == CSD_BELL_MODE_ON) ? 50 : 0;
+ 
++        /* as percentage from 0..100 inclusive */
++        if (click_volume < 0) {
++                click_volume = 0;
++        } else if (click_volume > 100) {
++                click_volume = 100;
++        }
++        kbdcontrol.key_click_percent = click ? click_volume : 0;
++        kbdcontrol.bell_percent = bell_volume;
++        kbdcontrol.bell_pitch = bell_pitch;
++        kbdcontrol.bell_duration = bell_duration;
++
++        gdk_error_trap_push ();
++        XChangeKeyboardControl (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
++                                KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration,
++                                &kbdcontrol);
++
++        XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
++        gdk_error_trap_pop_ignored ();
++}
++
++static void
++apply_numlock (CsdKeyboardManager *manager)
++{
++	GSettings *settings;
++        gboolean rnumlock;
++
++        g_debug ("Applying the num-lock settings");
++        settings = manager->priv->settings;
++        rnumlock = g_settings_get_boolean  (settings, KEY_REMEMBER_NUMLOCK_STATE);
++        manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE);
++
++        gdk_error_trap_push ();
++        if (rnumlock) {
++                g_debug ("Remember num-lock is set, so applying setting '%s'",
++                         num_lock_state_to_string (manager->priv->old_state));
++                numlock_set_xkb_state (manager->priv->old_state);
++        }
++
++        XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
++        gdk_error_trap_pop_ignored ();
++}
++
++static void
++apply_repeat (CsdKeyboardManager *manager)
++{
++	GSettings       *settings;
++        gboolean         repeat;
++        guint            interval;
++        guint            delay;
++
++        g_debug ("Applying the repeat settings");
++        settings      = manager->priv->settings;
++        repeat        = g_settings_get_boolean  (settings, KEY_REPEAT);
++        interval      = g_settings_get_uint  (settings, KEY_INTERVAL);
++        delay         = g_settings_get_uint  (settings, KEY_DELAY);
++
+         gdk_error_trap_push ();
+         if (repeat) {
+                 gboolean rate_set = FALSE;
+@@ -243,124 +1249,319 @@ apply_settings (GSettings          *sett
+                 XAutoRepeatOff (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
+         }
+ 
+-        /* as percentage from 0..100 inclusive */
+-        if (click_volume < 0) {
+-                click_volume = 0;
+-        } else if (click_volume > 100) {
+-                click_volume = 100;
++        XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
++        gdk_error_trap_pop_ignored ();
++}
++
++static void
++apply_all_settings (CsdKeyboardManager *manager)
++{
++	apply_repeat (manager);
++	apply_bell (manager);
++	apply_numlock (manager);
++}
++
++static void
++set_input_sources_switcher (CsdKeyboardManager *manager,
++                            gboolean            state)
++{
++        if (state) {
++                GError *error = NULL;
++                char *args[2];
++
++                if (manager->priv->input_sources_switcher_spawned)
++                        set_input_sources_switcher (manager, FALSE);
++
++                args[0] = LIBEXECDIR "/csd-input-sources-switcher";
++                args[1] = NULL;
++
++                g_spawn_async (NULL, args, NULL,
++                               0, NULL, NULL,
++                               &manager->priv->input_sources_switcher_pid, &error);
++
++                manager->priv->input_sources_switcher_spawned = (error == NULL);
++
++                if (error) {
++                        g_warning ("Couldn't spawn %s: %s", args[0], error->message);
++                        g_error_free (error);
++                }
++        } else if (manager->priv->input_sources_switcher_spawned) {
++                kill (manager->priv->input_sources_switcher_pid, SIGHUP);
++                g_spawn_close_pid (manager->priv->input_sources_switcher_pid);
++                manager->priv->input_sources_switcher_spawned = FALSE;
+         }
+-        kbdcontrol.key_click_percent = click ? click_volume : 0;
+-        kbdcontrol.bell_percent = bell_volume;
+-        kbdcontrol.bell_pitch = bell_pitch;
+-        kbdcontrol.bell_duration = bell_duration;
+-        XChangeKeyboardControl (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+-                                KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration,
+-                                &kbdcontrol);
++}
+ 
+-	if (g_strcmp0 (key, "remember-numlock-state") == 0 || key == NULL) {
+-		rnumlock      = g_settings_get_boolean  (settings, "remember-numlock-state");
++static gboolean
++enable_switcher (CsdKeyboardManager *manager)
++{
++        CsdInputSourcesSwitcher switcher;
+ 
+-		manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE);
++        switcher = g_settings_get_enum (manager->priv->settings, KEY_SWITCHER);
+ 
+-		if (manager->priv->have_xkb && rnumlock)
+-			numlock_set_xkb_state (manager->priv->old_state);
++        return switcher != CSD_INPUT_SOURCES_SWITCHER_OFF;
++}
++
++static void
++settings_changed (GSettings          *settings,
++                  const char         *key,
++                  CsdKeyboardManager *manager)
++{
++	if (g_strcmp0 (key, KEY_CLICK) == 0||
++	    g_strcmp0 (key, KEY_CLICK_VOLUME) == 0 ||
++	    g_strcmp0 (key, KEY_BELL_PITCH) == 0 ||
++	    g_strcmp0 (key, KEY_BELL_DURATION) == 0 ||
++	    g_strcmp0 (key, KEY_BELL_MODE) == 0) {
++		g_debug ("Bell setting '%s' changed, applying bell settings", key);
++		apply_bell (manager);
++	} else if (g_strcmp0 (key, KEY_REMEMBER_NUMLOCK_STATE) == 0) {
++		g_debug ("Remember Num-Lock state '%s' changed, applying num-lock settings", key);
++		apply_numlock (manager);
++	} else if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0) {
++		g_debug ("Num-Lock state '%s' changed, will apply at next startup", key);
++	} else if (g_strcmp0 (key, KEY_REPEAT) == 0 ||
++		 g_strcmp0 (key, KEY_INTERVAL) == 0 ||
++		 g_strcmp0 (key, KEY_DELAY) == 0) {
++		g_debug ("Key repeat setting '%s' changed, applying key repeat settings", key);
++		apply_repeat (manager);
++        } else if (g_strcmp0 (key, KEY_SWITCHER) == 0) {
++                set_input_sources_switcher (manager, enable_switcher (manager));
++	} else {
++		g_warning ("Unhandled settings change, key '%s'", key);
+ 	}
+ 
+-        XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
+-        gdk_error_trap_pop_ignored ();
+ }
+ 
+-void
+-csd_keyboard_manager_apply_settings (CsdKeyboardManager *manager)
++static void
++device_added_cb (GdkDeviceManager   *device_manager,
++                 GdkDevice          *device,
++                 CsdKeyboardManager *manager)
+ {
+-        apply_settings (manager->priv->settings, NULL, manager);
++        GdkInputSource source;
++
++        source = gdk_device_get_source (device);
++        if (source == GDK_SOURCE_KEYBOARD) {
++                g_debug ("New keyboard plugged in, applying all settings");
++                apply_all_settings (manager);
++                apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager);
++                run_custom_command (device, COMMAND_DEVICE_ADDED);
++        }
+ }
+ 
+ static void
+-apply_libgnomekbd_settings (GSettings          *settings,
+-                            const char         *key,
+-                            CsdKeyboardManager *manager)
++device_removed_cb (GdkDeviceManager   *device_manager,
++                   GdkDevice          *device,
++                   CsdKeyboardManager *manager)
+ {
+-        gchar **layouts;
++        GdkInputSource source;
+ 
+-        layouts = g_settings_get_strv  (settings, LIBGNOMEKBD_KEY_LAYOUTS);
++        source = gdk_device_get_source (device);
++        if (source == GDK_SOURCE_KEYBOARD) {
++                run_custom_command (device, COMMAND_DEVICE_REMOVED);
++        }
++}
+ 
+-        /* Get accounts daemon */
+-        GDBusProxy *proxy = NULL;
+-        GDBusProxy *user = NULL;
+-        GVariant *variant = NULL;
+-        GError *error = NULL;
+-        gchar *object_path = NULL;
++static void
++set_devicepresence_handler (CsdKeyboardManager *manager)
++{
++        GdkDeviceManager *device_manager;
+ 
+-        proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
+-                                               G_DBUS_PROXY_FLAGS_NONE,
+-                                               NULL,
+-                                               "org.freedesktop.Accounts",
+-                                               "/org/freedesktop/Accounts",
+-                                               "org.freedesktop.Accounts",
+-                                               NULL,
+-                                               &error);
++        device_manager = gdk_display_get_device_manager (gdk_display_get_default ());
+ 
+-        if (proxy == NULL) {
+-                g_warning ("Failed to contact accounts service: %s", error->message);
+-                g_error_free (error);
+-                goto bail;
++        manager->priv->device_added_id = g_signal_connect (G_OBJECT (device_manager), "device-added",
++                                                           G_CALLBACK (device_added_cb), manager);
++        manager->priv->device_removed_id = g_signal_connect (G_OBJECT (device_manager), "device-removed",
++                                                             G_CALLBACK (device_removed_cb), manager);
++        manager->priv->device_manager = device_manager;
++}
++
++static void
++create_sources_from_current_xkb_config (GSettings *settings)
++{
++        GVariantBuilder builder;
++        XkbRF_VarDefsRec *xkb_var_defs;
++        gchar *tmp;
++        gchar **layouts = NULL;
++        gchar **variants = NULL;
++        guint i, n;
++
++        gnome_xkb_info_get_var_defs (&tmp, &xkb_var_defs);
++        g_free (tmp);
++
++        if (xkb_var_defs->layout)
++                layouts = g_strsplit (xkb_var_defs->layout, ",", 0);
++        if (xkb_var_defs->variant)
++                variants = g_strsplit (xkb_var_defs->variant, ",", 0);
++
++        gnome_xkb_info_free_var_defs (xkb_var_defs);
++
++        if (!layouts)
++                goto out;
++
++        if (variants && variants[0])
++                n = MIN (g_strv_length (layouts), g_strv_length (variants));
++        else
++                n = g_strv_length (layouts);
++
++        g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
++        for (i = 0; i < n && layouts[i][0]; ++i) {
++                if (variants && variants[i] && variants[i][0])
++                        tmp = g_strdup_printf ("%s+%s", layouts[i], variants[i]);
++                else
++                        tmp = g_strdup (layouts[i]);
++
++                g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, tmp);
++                g_free (tmp);
+         }
++        g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
++out:
++        g_strfreev (layouts);
++        g_strfreev (variants);
++}
+ 
+-        variant = g_dbus_proxy_call_sync (proxy,
+-                                          "FindUserByName",
+-                                          g_variant_new ("(s)", g_get_user_name ()),
+-                                          G_DBUS_CALL_FLAGS_NONE,
+-                                          -1,
+-                                          NULL,
+-                                          &error);
++static void
++convert_libgnomekbd_options (GSettings *settings)
++{
++        GPtrArray *opt_array;
++        GSettings *libgnomekbd_settings;
++        gchar **options, **o;
+ 
+-        if (variant == NULL) {
+-                g_warning ("Could not contact accounts service to look up '%s': %s",
+-                           g_get_user_name (), error->message);
+-                g_error_free (error);
+-                goto bail;
++        if (!schema_is_installed ("org.gnome.libgnomekbd.keyboard"))
++                return;
++
++        opt_array = g_ptr_array_new_with_free_func (g_free);
++
++        libgnomekbd_settings = g_settings_new ("org.gnome.libgnomekbd.keyboard");
++        options = g_settings_get_strv (libgnomekbd_settings, "options");
++
++        for (o = options; *o; ++o) {
++                gchar **strv;
++
++                strv = g_strsplit (*o, "\t", 2);
++                if (strv[0] && strv[1]) {
++                        /* We don't want the group switcher because
++                         * it's incompatible with the way we use XKB
++                         * groups. */
++                        if (!g_str_has_prefix (strv[1], "grp:"))
++                                g_ptr_array_add (opt_array, g_strdup (strv[1]));
++                }
++                g_strfreev (strv);
+         }
++        g_ptr_array_add (opt_array, NULL);
+ 
+-        g_variant_get (variant, "(o)", &object_path);
+-        user = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
+-                                              G_DBUS_PROXY_FLAGS_NONE,
+-                                              NULL,
+-                                              "org.freedesktop.Accounts",
+-                                              object_path,
+-                                              "org.freedesktop.Accounts.User",
+-                                              NULL,
+-                                              &error);
+-        g_free (object_path);
++        g_settings_set_strv (settings, KEY_KEYBOARD_OPTIONS, (const gchar * const*) opt_array->pdata);
+ 
+-        if (user == NULL) {
+-                g_warning ("Could not create proxy for user '%s': %s",
+-                           g_variant_get_string (variant, NULL), error->message);
+-                g_error_free (error);
+-                goto bail;
++        g_strfreev (options);
++        g_object_unref (libgnomekbd_settings);
++        g_ptr_array_free (opt_array, TRUE);
++}
++
++static void
++convert_libgnomekbd_layouts (GSettings *settings)
++{
++        GVariantBuilder builder;
++        GSettings *libgnomekbd_settings;
++        gchar **layouts, **l;
++
++        if (!schema_is_installed ("org.gnome.libgnomekbd.keyboard"))
++                return;
++
++        init_builder_with_sources (&builder, settings);
++
++        libgnomekbd_settings = g_settings_new ("org.gnome.libgnomekbd.keyboard");
++        layouts = g_settings_get_strv (libgnomekbd_settings, "layouts");
++
++        for (l = layouts; *l; ++l) {
++                gchar *id;
++                gchar **strv;
++
++                strv = g_strsplit (*l, "\t", 2);
++                if (strv[0] && !strv[1])
++                        id = g_strdup (strv[0]);
++                else if (strv[0] && strv[1])
++                        id = g_strdup_printf ("%s+%s", strv[0], strv[1]);
++                else
++                        id = NULL;
++
++                if (id)
++                        g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, id);
++
++                g_free (id);
++                g_strfreev (strv);
+         }
+-        g_variant_unref (variant);
+ 
+-        variant = g_dbus_proxy_call_sync (user,
+-                                          "SetXKeyboardLayouts",
+-                                          g_variant_new ("(^as)", layouts),
+-                                          G_DBUS_CALL_FLAGS_NONE,
+-                                          -1,
+-                                          NULL,
+-                                          &error);
++        g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
++
++        g_strfreev (layouts);
++        g_object_unref (libgnomekbd_settings);
++}
+ 
+-        if (variant == NULL) {
+-                g_warning ("Failed to set the keyboard layouts: %s", error->message);
++static void
++maybe_convert_old_settings (GSettings *settings)
++{
++        GVariant *sources;
++        gchar **options;
++        gchar *stamp_dir_path = NULL;
++        gchar *stamp_file_path = NULL;
++        GError *error = NULL;
++
++        stamp_dir_path = g_build_filename (g_get_user_data_dir (), PACKAGE_NAME, NULL);
++        if (g_mkdir_with_parents (stamp_dir_path, 0755)) {
++                g_warning ("Failed to create directory %s: %s", stamp_dir_path, g_strerror (errno));
++                goto out;
++        }
++
++        stamp_file_path = g_build_filename (stamp_dir_path, "input-sources-converted", NULL);
++        if (g_file_test (stamp_file_path, G_FILE_TEST_EXISTS))
++                goto out;
++
++        sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
++        if (g_variant_n_children (sources) < 1) {
++                convert_libgnomekbd_layouts (settings);
++#ifdef HAVE_IBUS
++                convert_ibus (settings);
++#endif
++        }
++        g_variant_unref (sources);
++
++        options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS);
++        if (g_strv_length (options) < 1)
++                convert_libgnomekbd_options (settings);
++        g_strfreev (options);
++
++        if (!g_file_set_contents (stamp_file_path, "", 0, &error)) {
++                g_warning ("%s", error->message);
+                 g_error_free (error);
+-                goto bail;
+         }
++out:
++        g_free (stamp_file_path);
++        g_free (stamp_dir_path);
++}
+ 
+-bail:
+-        if (proxy != NULL)
+-                g_object_unref (proxy);
+-        if (variant != NULL)
+-                g_variant_unref (variant);
+-        g_strfreev (layouts);
++static void
++maybe_create_input_sources (CsdKeyboardManager *manager)
++{
++        GSettings *settings;
++        GVariant *sources;
++
++        settings = manager->priv->input_sources_settings;
++
++        if (g_getenv ("RUNNING_UNDER_GDM")) {
++                create_sources_from_current_xkb_config (settings);
++                return;
++        }
++
++        maybe_convert_old_settings (settings);
++
++        /* if we still don't have anything do some educated guesses */
++        sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
++        if (g_variant_n_children (sources) < 1) {
++                create_sources_from_current_xkb_config (settings);
++#ifdef HAVE_IBUS
++                add_ibus_sources_from_locale (settings);
++#endif
++        }
++        g_variant_unref (sources);
+ }
+ 
+ static gboolean
+@@ -370,26 +1571,41 @@ start_keyboard_idle_cb (CsdKeyboardManag
+ 
+         g_debug ("Starting keyboard manager");
+ 
+-        manager->priv->have_xkb = 0;
+         manager->priv->settings = g_settings_new (CSD_KEYBOARD_DIR);
+-        manager->priv->libgnomekbd_settings = g_settings_new (LIBGNOMEKBD_KEYBOARD_DIR);
+ 
+-        /* Essential - xkb initialization should happen before */
+-        csd_keyboard_xkb_init (manager);
++	xkb_init (manager);
+ 
+-        numlock_xkb_init (manager);
++	set_devicepresence_handler (manager);
+ 
++        manager->priv->input_sources_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
++        manager->priv->interface_settings = g_settings_new (GNOME_DESKTOP_INTERFACE_DIR);
++        manager->priv->xkb_info = gnome_xkb_info_new ();
++
++        maybe_create_input_sources (manager);
++
++#ifdef HAVE_IBUS
++        /* We don't want to touch IBus until we are sure this isn't a
++           fallback session. */
++        manager->priv->session_is_fallback = TRUE;
++        manager->priv->ibus_cancellable = g_cancellable_new ();
++        g_bus_get (G_BUS_TYPE_SESSION,
++                   manager->priv->ibus_cancellable,
++                   (GAsyncReadyCallback)got_bus,
++                   manager);
++#else
++        apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager);
++#endif
+         /* apply current settings before we install the callback */
+-        csd_keyboard_manager_apply_settings (manager);
++        g_debug ("Started the keyboard plugin, applying all settings");
++        apply_all_settings (manager);
+ 
+         g_signal_connect (G_OBJECT (manager->priv->settings), "changed",
+-                          G_CALLBACK (apply_settings), manager);
+-
+-        apply_libgnomekbd_settings (manager->priv->libgnomekbd_settings, NULL, manager);
+-        g_signal_connect (G_OBJECT (manager->priv->libgnomekbd_settings), "changed",
+-                          G_CALLBACK (apply_libgnomekbd_settings), manager);
++                          G_CALLBACK (settings_changed), manager);
++        g_signal_connect (G_OBJECT (manager->priv->input_sources_settings), "change-event",
++                          G_CALLBACK (apply_input_sources_settings), manager);
+ 
+-        numlock_install_xkb_callback (manager);
++	install_xkb_filter (manager);
++        set_input_sources_switcher (manager, enable_switcher (manager));
+ 
+         cinnamon_settings_profile_end (NULL);
+ 
+@@ -404,6 +1620,11 @@ csd_keyboard_manager_start (CsdKeyboardM
+ {
+         cinnamon_settings_profile_start (NULL);
+ 
++	if (check_xkb_extension (manager) == FALSE) {
++		g_debug ("XKB is not supported, not applying any settings");
++		return TRUE;
++	}
++
+         manager->priv->start_idle_id = g_idle_add ((GSourceFunc) start_keyboard_idle_cb, manager);
+ 
+         cinnamon_settings_profile_end (NULL);
+@@ -418,37 +1639,24 @@ csd_keyboard_manager_stop (CsdKeyboardMa
+ 
+         g_debug ("Stopping keyboard manager");
+ 
+-        if (p->settings != NULL) {
+-                g_object_unref (p->settings);
+-                p->settings = NULL;
+-        }
++        g_clear_object (&p->settings);
++        g_clear_object (&p->input_sources_settings);
++        g_clear_object (&p->interface_settings);
++        g_clear_object (&p->xkb_info);
+ 
+-        if (p->libgnomekbd_settings != NULL) {
+-                g_object_unref (p->libgnomekbd_settings);
+-                p->libgnomekbd_settings = NULL;
+-        }
++#ifdef HAVE_IBUS
++        clear_ibus (manager);
++#endif
+ 
+-        if (p->have_xkb) {
+-                gdk_window_remove_filter (NULL,
+-                                          numlock_xkb_callback,
+-                                          manager);
++        if (p->device_manager != NULL) {
++                g_signal_handler_disconnect (p->device_manager, p->device_added_id);
++                g_signal_handler_disconnect (p->device_manager, p->device_removed_id);
++                p->device_manager = NULL;
+         }
+ 
+-        csd_keyboard_xkb_shutdown ();
+-}
+-
+-static GObject *
+-csd_keyboard_manager_constructor (GType                  type,
+-                                  guint                  n_construct_properties,
+-                                  GObjectConstructParam *construct_properties)
+-{
+-        CsdKeyboardManager      *keyboard_manager;
+-
+-        keyboard_manager = CSD_KEYBOARD_MANAGER (G_OBJECT_CLASS (csd_keyboard_manager_parent_class)->constructor (type,
+-                                                                                                      n_construct_properties,
+-                                                                                                      construct_properties));
++	remove_xkb_filter (manager);
+ 
+-        return G_OBJECT (keyboard_manager);
++        set_input_sources_switcher (manager, FALSE);
+ }
+ 
+ static void
+@@ -456,7 +1664,6 @@ csd_keyboard_manager_class_init (CsdKeyb
+ {
+         GObjectClass   *object_class = G_OBJECT_CLASS (klass);
+ 
+-        object_class->constructor = csd_keyboard_manager_constructor;
+         object_class->finalize = csd_keyboard_manager_finalize;
+ 
+         g_type_class_add_private (klass, sizeof (CsdKeyboardManagerPrivate));
+diff -uNrp a/plugins/keyboard/csd-keyboard-manager.h b/plugins/keyboard/csd-keyboard-manager.h
+--- a/plugins/keyboard/csd-keyboard-manager.h	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/csd-keyboard-manager.h	2013-08-25 16:36:02.000000000 +0100
+@@ -51,7 +51,6 @@ CsdKeyboardManager *       csd_keyboard_
+ gboolean                csd_keyboard_manager_start               (CsdKeyboardManager *manager,
+                                                                GError         **error);
+ void                    csd_keyboard_manager_stop                (CsdKeyboardManager *manager);
+-void                    csd_keyboard_manager_apply_settings      (CsdKeyboardManager *manager);
+ 
+ G_END_DECLS
+ 
+diff -uNrp a/plugins/keyboard/csd-keyboard-plugin.h b/plugins/keyboard/csd-keyboard-plugin.h
+--- a/plugins/keyboard/csd-keyboard-plugin.h	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/csd-keyboard-plugin.h	2013-08-25 16:36:02.000000000 +0100
+@@ -52,7 +52,7 @@ typedef struct
+ GType   csd_keyboard_plugin_get_type            (void) G_GNUC_CONST;
+ 
+ /* All the plugins must implement this function */
+-G_MODULE_EXPORT GType register_cinnamon_settings_plugin (GTypeModule *module);
++G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module);
+ 
+ G_END_DECLS
+ 
+diff -uNrp a/plugins/keyboard/csd-keyboard-xkb.c b/plugins/keyboard/csd-keyboard-xkb.c
+--- a/plugins/keyboard/csd-keyboard-xkb.c	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/csd-keyboard-xkb.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,579 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2001 Udaltsoft
+- *
+- * Written by Sergey V. Oudaltsov <svu@users.sourceforge.net>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#include "config.h"
+-
+-#include <string.h>
+-#include <time.h>
+-
+-#include <glib/gi18n.h>
+-#include <gdk/gdk.h>
+-#include <gdk/gdkx.h>
+-#include <gtk/gtk.h>
+-
+-#include <libgnomekbd/gkbd-status.h>
+-
+-#include <libgnomekbd/gkbd-keyboard-drawing.h>
+-#include <libgnomekbd/gkbd-desktop-config.h>
+-#include <libgnomekbd/gkbd-indicator-config.h>
+-#include <libgnomekbd/gkbd-keyboard-config.h>
+-#include <libgnomekbd/gkbd-util.h>
+-
+-#include "csd-keyboard-xkb.h"
+-#include "delayed-dialog.h"
+-#include "cinnamon-settings-profile.h"
+-
+-#define SETTINGS_KEYBOARD_DIR "org.cinnamon.settings-daemon.plugins.keyboard"
+-
+-static CsdKeyboardManager *manager = NULL;
+-
+-static XklEngine *xkl_engine;
+-static XklConfigRegistry *xkl_registry = NULL;
+-
+-static GkbdDesktopConfig current_config;
+-static GkbdKeyboardConfig current_kbd_config;
+-
+-/* never terminated */
+-static GkbdKeyboardConfig initial_sys_kbd_config;
+-
+-static gboolean inited_ok = FALSE;
+-
+-static GSettings *settings_desktop = NULL;
+-static GSettings *settings_keyboard = NULL;
+-
+-static PostActivationCallback pa_callback = NULL;
+-static void *pa_callback_user_data = NULL;
+-
+-static GtkStatusIcon *icon = NULL;
+-
+-static GHashTable *preview_dialogs = NULL;
+-
+-static void
+-activation_error (void)
+-{
+-	char const *vendor;
+-	GtkWidget *dialog;
+-
+-	vendor =
+-	    ServerVendor (GDK_DISPLAY_XDISPLAY
+-			  (gdk_display_get_default ()));
+-
+-	/* VNC viewers will not work, do not barrage them with warnings */
+-	if (NULL != vendor && NULL != strstr (vendor, "VNC"))
+-		return;
+-
+-	dialog = gtk_message_dialog_new_with_markup (NULL,
+-						     0,
+-						     GTK_MESSAGE_ERROR,
+-						     GTK_BUTTONS_CLOSE,
+-						     _
+-						     ("Error activating XKB configuration.\n"
+-						      "There can be various reasons for that.\n\n"
+-						      "If you report this situation as a bug, include the results of\n"
+-						      " • <b>%s</b>\n"
+-						      " • <b>%s</b>\n"
+-						      " • <b>%s</b>\n"
+-						      " • <b>%s</b>"),
+-						     "xprop -root | grep XKB",
+-						     "gsettings get org.gnome.libgnomekbd.keyboard model",
+-						     "gsettings get org.gnome.libgnomekbd.keyboard layouts",
+-						     "gsettings get org.gnome.libgnomekbd.keyboard options");
+-	g_signal_connect (dialog, "response",
+-			  G_CALLBACK (gtk_widget_destroy), NULL);
+-	csd_delayed_show_dialog (dialog);
+-}
+-
+-static gboolean
+-ensure_xkl_registry (void)
+-{
+-	if (!xkl_registry) {
+-		xkl_registry =
+-		    xkl_config_registry_get_instance (xkl_engine);
+-		/* load all materials, unconditionally! */
+-		if (!xkl_config_registry_load (xkl_registry, TRUE)) {
+-			g_object_unref (xkl_registry);
+-			xkl_registry = NULL;
+-			return FALSE;
+-		}
+-	}
+-
+-	return TRUE;
+-}
+-
+-static void
+-apply_desktop_settings (void)
+-{
+-	if (!inited_ok)
+-		return;
+-
+-	csd_keyboard_manager_apply_settings (manager);
+-	gkbd_desktop_config_load (&current_config);
+-	/* again, probably it would be nice to compare things
+-	   before activating them */
+-	gkbd_desktop_config_activate (&current_config);
+-}
+-
+-static void
+-popup_menu_launch_capplet ()
+-{
+-	GAppInfo *info;
+-	GdkAppLaunchContext *ctx;
+-	GError *error = NULL;
+-
+-	info =
+-	    g_app_info_create_from_commandline
+-	    ("cinnamon-settings region", NULL, 0, &error);
+-
+-	if (info != NULL) {
+-		ctx =
+-		    gdk_display_get_app_launch_context
+-		    (gdk_display_get_default ());
+-
+-		if (g_app_info_launch (info, NULL,
+-				   G_APP_LAUNCH_CONTEXT (ctx), &error) == FALSE) {
+-			g_warning
+-				("Could not execute keyboard properties capplet: [%s]\n",
+-				 error->message);
+-			g_error_free (error);
+-		}
+-
+-		g_object_unref (info);
+-		g_object_unref (ctx);
+-	}
+-
+-}
+-
+-static void
+-show_layout_destroy (GtkWidget * dialog, gint group)
+-{
+-	g_hash_table_remove (preview_dialogs, GINT_TO_POINTER (group));
+-}
+-
+-static void
+-popup_menu_show_layout ()
+-{
+-	GtkWidget *dialog;
+-	XklEngine *engine =
+-	    xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY
+-				     (gdk_display_get_default ()));
+-	XklState *xkl_state = xkl_engine_get_current_state (engine);
+-
+-	gchar **group_names = gkbd_status_get_group_names ();
+-
+-	gpointer p = g_hash_table_lookup (preview_dialogs,
+-					  GINT_TO_POINTER
+-					  (xkl_state->group));
+-
+-	if (xkl_state->group < 0
+-	    || xkl_state->group >= g_strv_length (group_names)) {
+-		return;
+-	}
+-
+-	if (p != NULL) {
+-		/* existing window */
+-		gtk_window_present (GTK_WINDOW (p));
+-		return;
+-	}
+-
+-	if (!ensure_xkl_registry ())
+-		return;
+-
+-	dialog = gkbd_keyboard_drawing_dialog_new ();
+-	gkbd_keyboard_drawing_dialog_set_group (dialog, xkl_registry, xkl_state->group);
+-
+-	g_signal_connect (dialog, "destroy",
+-			  G_CALLBACK (show_layout_destroy),
+-			  GINT_TO_POINTER (xkl_state->group));
+-	g_hash_table_insert (preview_dialogs,
+-			     GINT_TO_POINTER (xkl_state->group), dialog);
+-	gtk_widget_show_all (dialog);
+-}
+-
+-static void
+-popup_menu_set_group (gint group_number, gboolean only_menu)
+-{
+-
+-	XklEngine *engine = gkbd_status_get_xkl_engine ();
+-
+-	XklState *st = xkl_engine_get_current_state(engine);
+-	Window cur;
+-	st->group = group_number;
+-	xkl_engine_allow_one_switch_to_secondary_group (engine);
+-	cur = xkl_engine_get_current_window (engine);
+-	if (cur != (Window) NULL) {
+-		xkl_debug (150, "Enforcing the state %d for window %lx\n",
+-			   st->group, cur);
+-
+-		xkl_engine_save_state (engine,
+-				       xkl_engine_get_current_window
+-				       (engine), st);
+-/*    XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/
+-	} else {
+-		xkl_debug (150,
+-			   "??? Enforcing the state %d for unknown window\n",
+-			   st->group);
+-		/* strange situation - bad things can happen */
+-	}
+-        if (!only_menu)
+-        	xkl_engine_lock_group (engine, st->group);
+-}
+-
+-static void
+-popup_menu_set_group_cb (GtkMenuItem * item, gpointer param)
+-{
+-	gint group_number = GPOINTER_TO_INT (param);
+-
+-	popup_menu_set_group(group_number, FALSE);
+-}
+-
+-
+-static GtkMenu *
+-create_status_menu (void)
+-{
+-	GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ());
+-	int i = 0;
+-
+-	GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ());
+-	gchar **current_name = gkbd_status_get_group_names ();
+-
+-	GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts"));
+-	gtk_widget_show (item);
+-	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
+-	gtk_menu_item_set_submenu (GTK_MENU_ITEM (item),
+-				   GTK_WIDGET (groups_menu));
+-
+-	item = gtk_menu_item_new_with_mnemonic (_("Show _Keyboard Layout..."));
+-	gtk_widget_show (item);
+-	g_signal_connect (item, "activate", popup_menu_show_layout, NULL);
+-	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
+-
+-	/* translators note:
+-	 * This is the name of the cinnamon-settings "region" panel */
+-	item = gtk_menu_item_new_with_mnemonic (_("Region and Language Settings"));
+-	gtk_widget_show (item);
+-	g_signal_connect (item, "activate", popup_menu_launch_capplet, NULL);
+-	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
+-
+-	for (i = 0; current_name && *current_name; i++, current_name++) {
+-
+-		gchar *image_file = gkbd_status_get_image_filename (i);
+-
+-		if (image_file == NULL) {
+-			item =
+-			    gtk_menu_item_new_with_label (*current_name);
+-		} else {
+-			GdkPixbuf *pixbuf =
+-			    gdk_pixbuf_new_from_file_at_size (image_file,
+-							      24, 24,
+-							      NULL);
+-			GtkWidget *img =
+-			    gtk_image_new_from_pixbuf (pixbuf);
+-			item =
+-			    gtk_image_menu_item_new_with_label
+-			    (*current_name);
+-			gtk_widget_show (img);
+-			gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM
+-						       (item), img);
+-			gtk_image_menu_item_set_always_show_image
+-			    (GTK_IMAGE_MENU_ITEM (item), TRUE);
+-			g_free (image_file);
+-		}
+-		gtk_widget_show (item);
+-		gtk_menu_shell_append (GTK_MENU_SHELL (groups_menu), item);
+-		g_signal_connect (item, "activate",
+-				  G_CALLBACK (popup_menu_set_group_cb),
+-				  GINT_TO_POINTER (i));
+-	}
+-
+-	return popup_menu;
+-}
+-
+-static void
+-status_icon_popup_menu_cb (GtkStatusIcon * icon, guint button, guint time)
+-{
+-	GtkMenu *popup_menu = create_status_menu ();
+-
+-	gtk_menu_popup (popup_menu, NULL, NULL,
+-			gtk_status_icon_position_menu,
+-			(gpointer) icon, button, time);
+-}
+-
+-static void
+-show_hide_icon ()
+-{
+-	if (g_strv_length (current_kbd_config.layouts_variants) > 1) {
+-		if (icon == NULL) {
+-			xkl_debug (150, "Creating keyboard status icon\n");
+-			icon = gkbd_status_new ();
+-			g_signal_connect (icon, "popup-menu",
+-					  G_CALLBACK
+-					  (status_icon_popup_menu_cb),
+-					  NULL);
+-
+-		}
+-	} else {
+-		if (icon != NULL) {
+-			xkl_debug (150, "Destroying icon\n");
+-			g_object_unref (icon);
+-			icon = NULL;
+-		}
+-	}
+-}
+-
+-static gboolean
+-try_activating_xkb_config_if_new (GkbdKeyboardConfig *
+-				  current_sys_kbd_config)
+-{
+-	/* Activate - only if different! */
+-	if (!gkbd_keyboard_config_equals
+-	    (&current_kbd_config, current_sys_kbd_config)) {
+-		if (gkbd_keyboard_config_activate (&current_kbd_config)) {
+-			if (pa_callback != NULL) {
+-				(*pa_callback) (pa_callback_user_data);
+-				return TRUE;
+-			}
+-		} else {
+-			return FALSE;
+-		}
+-	}
+-	return TRUE;
+-}
+-
+-static gboolean
+-filter_xkb_config (void)
+-{
+-	XklConfigItem *item;
+-	gchar *lname;
+-	gchar *vname;
+-	gchar **lv;
+-	gboolean any_change = FALSE;
+-
+-	xkl_debug (100, "Filtering configuration against the registry\n");
+-	if (!ensure_xkl_registry ())
+-		return FALSE;
+-
+-	lv = current_kbd_config.layouts_variants;
+-	item = xkl_config_item_new ();
+-	while (*lv) {
+-		xkl_debug (100, "Checking [%s]\n", *lv);
+-		if (gkbd_keyboard_config_split_items (*lv, &lname, &vname)) {
+-			gboolean should_be_dropped = FALSE;
+-			g_snprintf (item->name, sizeof (item->name), "%s",
+-				    lname);
+-			if (!xkl_config_registry_find_layout
+-			    (xkl_registry, item)) {
+-				xkl_debug (100, "Bad layout [%s]\n",
+-					   lname);
+-				should_be_dropped = TRUE;
+-			} else if (vname) {
+-				g_snprintf (item->name,
+-					    sizeof (item->name), "%s",
+-					    vname);
+-				if (!xkl_config_registry_find_variant
+-				    (xkl_registry, lname, item)) {
+-					xkl_debug (100,
+-						   "Bad variant [%s(%s)]\n",
+-						   lname, vname);
+-					should_be_dropped = TRUE;
+-				}
+-			}
+-			if (should_be_dropped) {
+-				gkbd_strv_behead (lv);
+-				any_change = TRUE;
+-				continue;
+-			}
+-		}
+-		lv++;
+-	}
+-	g_object_unref (item);
+-	return any_change;
+-}
+-
+-static void
+-apply_xkb_settings (void)
+-{
+-	GkbdKeyboardConfig current_sys_kbd_config;
+-
+-	if (!inited_ok)
+-		return;
+-
+-	gkbd_keyboard_config_init (&current_sys_kbd_config, xkl_engine);
+-
+-	gkbd_keyboard_config_load (&current_kbd_config,
+-				   &initial_sys_kbd_config);
+-
+-	gkbd_keyboard_config_load_from_x_current (&current_sys_kbd_config,
+-						  NULL);
+-
+-	if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
+-		if (filter_xkb_config ()) {
+-			if (!try_activating_xkb_config_if_new
+-			    (&current_sys_kbd_config)) {
+-				g_warning
+-				    ("Could not activate the filtered XKB configuration");
+-				activation_error ();
+-			}
+-		} else {
+-			g_warning
+-			    ("Could not activate the XKB configuration");
+-			activation_error ();
+-		}
+-	} else
+-		xkl_debug (100,
+-			   "Actual KBD configuration was not changed: redundant notification\n");
+-
+-	gkbd_keyboard_config_term (&current_sys_kbd_config);
+-	show_hide_icon ();
+-}
+-
+-static void
+-csd_keyboard_xkb_analyze_sysconfig (void)
+-{
+-	if (!inited_ok)
+-		return;
+-
+-	gkbd_keyboard_config_init (&initial_sys_kbd_config, xkl_engine);
+-	gkbd_keyboard_config_load_from_x_initial (&initial_sys_kbd_config,
+-						  NULL);
+-}
+-
+-void
+-csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun,
+-					       void *user_data)
+-{
+-	pa_callback = fun;
+-	pa_callback_user_data = user_data;
+-}
+-
+-static GdkFilterReturn
+-csd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event)
+-{
+-	XEvent *xevent = (XEvent *) xev;
+-	xkl_engine_filter_events (xkl_engine, xevent);
+-	return GDK_FILTER_CONTINUE;
+-}
+-
+-/* When new Keyboard is plugged in - reload the settings */
+-static void
+-csd_keyboard_new_device (XklEngine * engine)
+-{
+-	apply_desktop_settings ();
+-	apply_xkb_settings ();
+-}
+-
+-void
+-csd_keyboard_xkb_init (CsdKeyboardManager * kbd_manager)
+-{
+-	Display *display =
+-	    GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+-	cinnamon_settings_profile_start (NULL);
+-
+-	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+-					   DATADIR G_DIR_SEPARATOR_S
+-					   "icons");
+-
+-	manager = kbd_manager;
+-	cinnamon_settings_profile_start ("xkl_engine_get_instance");
+-	xkl_engine = xkl_engine_get_instance (display);
+-	cinnamon_settings_profile_end ("xkl_engine_get_instance");
+-	if (xkl_engine) {
+-		inited_ok = TRUE;
+-
+-		gkbd_desktop_config_init (&current_config, xkl_engine);
+-		gkbd_keyboard_config_init (&current_kbd_config,
+-					   xkl_engine);
+-		xkl_engine_backup_names_prop (xkl_engine);
+-		csd_keyboard_xkb_analyze_sysconfig ();
+-
+-		settings_desktop = g_settings_new (GKBD_DESKTOP_SCHEMA);
+-		settings_keyboard = g_settings_new (GKBD_KEYBOARD_SCHEMA);
+-		g_signal_connect (settings_desktop, "changed",
+-				  (GCallback) apply_desktop_settings,
+-				  NULL);
+-		g_signal_connect (settings_keyboard, "changed",
+-				  (GCallback) apply_xkb_settings, NULL);
+-
+-		gdk_window_add_filter (NULL, (GdkFilterFunc)
+-				       csd_keyboard_xkb_evt_filter, NULL);
+-
+-		if (xkl_engine_get_features (xkl_engine) &
+-		    XKLF_DEVICE_DISCOVERY)
+-			g_signal_connect (xkl_engine, "X-new-device",
+-					  G_CALLBACK
+-					  (csd_keyboard_new_device), NULL);
+-
+-		cinnamon_settings_profile_start ("xkl_engine_start_listen");
+-		xkl_engine_start_listen (xkl_engine,
+-					 XKLL_MANAGE_LAYOUTS |
+-					 XKLL_MANAGE_WINDOW_STATES);
+-		cinnamon_settings_profile_end ("xkl_engine_start_listen");
+-
+-		cinnamon_settings_profile_start ("apply_desktop_settings");
+-		apply_desktop_settings ();
+-		cinnamon_settings_profile_end ("apply_desktop_settings");
+-		cinnamon_settings_profile_start ("apply_xkb_settings");
+-		apply_xkb_settings ();
+-		cinnamon_settings_profile_end ("apply_xkb_settings");
+-	}
+-	preview_dialogs = g_hash_table_new (g_direct_hash, g_direct_equal);
+-
+-	cinnamon_settings_profile_end (NULL);
+-}
+-
+-void
+-csd_keyboard_xkb_shutdown (void)
+-{
+-	if (!inited_ok)
+-		return;
+-
+-	pa_callback = NULL;
+-	pa_callback_user_data = NULL;
+-	manager = NULL;
+-
+-	if (preview_dialogs != NULL)
+-		g_hash_table_destroy (preview_dialogs);
+-
+-	if (!inited_ok)
+-		return;
+-
+-	xkl_engine_stop_listen (xkl_engine,
+-				XKLL_MANAGE_LAYOUTS |
+-				XKLL_MANAGE_WINDOW_STATES);
+-
+-	gdk_window_remove_filter (NULL, (GdkFilterFunc)
+-				  csd_keyboard_xkb_evt_filter, NULL);
+-
+-	g_object_unref (settings_desktop);
+-	settings_desktop = NULL;
+-	g_object_unref (settings_keyboard);
+-	settings_keyboard = NULL;
+-
+-	if (xkl_registry) {
+-		g_object_unref (xkl_registry);
+-	}
+-
+-	g_object_unref (xkl_engine);
+-
+-	xkl_engine = NULL;
+-
+-	inited_ok = FALSE;
+-}
+diff -uNrp a/plugins/keyboard/csd-keyboard-xkb.h b/plugins/keyboard/csd-keyboard-xkb.h
+--- a/plugins/keyboard/csd-keyboard-xkb.h	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/csd-keyboard-xkb.h	1970-01-01 01:00:00.000000000 +0100
+@@ -1,39 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- * cinnamon-settings-keyboard-xkb.h
+- *
+- * Copyright (C) 2001 Udaltsoft
+- *
+- * Written by Sergey V. Oudaltsov <svu@users.sourceforge.net>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifndef __CSD_KEYBOARD_XKB_H
+-#define __CSD_KEYBOARD_XKB_H
+-
+-#include <libxklavier/xklavier.h>
+-#include "csd-keyboard-manager.h"
+-
+-void csd_keyboard_xkb_init (CsdKeyboardManager *manager);
+-void csd_keyboard_xkb_shutdown (void);
+-
+-typedef void (*PostActivationCallback) (void *userData);
+-
+-void
+-csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun,
+-                                               void                  *userData);
+-
+-#endif
+diff -uNrp a/plugins/keyboard/delayed-dialog.c b/plugins/keyboard/delayed-dialog.c
+--- a/plugins/keyboard/delayed-dialog.c	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/delayed-dialog.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,128 +0,0 @@
+-/*
+- * Copyright © 2006 Novell, Inc.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2, or (at
+- * your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful, but
+- * WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#include <stdlib.h>
+-#include <string.h>
+-
+-#include <gtk/gtk.h>
+-#include <gdk/gdkx.h>
+-
+-#include "delayed-dialog.h"
+-
+-static gboolean        delayed_show_timeout (gpointer   data);
+-static GdkFilterReturn message_filter       (GdkXEvent *xevent,
+-                                             GdkEvent  *event,
+-                                             gpointer   data);
+-
+-static GSList *dialogs = NULL;
+-
+-/**
+- * csd_delayed_show_dialog:
+- * @dialog: the dialog
+- *
+- * Shows the dialog as with gtk_widget_show(), unless a window manager
+- * hasn't been started yet, in which case it will wait up to 5 seconds
+- * for that to happen before showing the dialog.
+- **/
+-void
+-csd_delayed_show_dialog (GtkWidget *dialog)
+-{
+-        GdkDisplay *display = gtk_widget_get_display (dialog);
+-        Display *xdisplay = GDK_DISPLAY_XDISPLAY (display);
+-        GdkScreen *screen = gtk_widget_get_screen (dialog);
+-        char selection_name[10];
+-        Atom selection_atom;
+-
+-        /* We can't use gdk_selection_owner_get() for this, because
+-         * it's an unknown out-of-process window.
+-         */
+-        snprintf (selection_name, sizeof (selection_name), "WM_S%d",
+-                  gdk_screen_get_number (screen));
+-        selection_atom = XInternAtom (xdisplay, selection_name, True);
+-        if (selection_atom &&
+-            XGetSelectionOwner (xdisplay, selection_atom) != None) {
+-                gtk_widget_show (dialog);
+-                return;
+-        }
+-
+-        dialogs = g_slist_prepend (dialogs, dialog);
+-
+-        gdk_window_add_filter (NULL, message_filter, NULL);
+-
+-        g_timeout_add (5000, delayed_show_timeout, NULL);
+-}
+-
+-static gboolean
+-delayed_show_timeout (gpointer data)
+-{
+-        GSList *l;
+-
+-        for (l = dialogs; l; l = l->next)
+-                gtk_widget_show (l->data);
+-        g_slist_free (dialogs);
+-        dialogs = NULL;
+-
+-        /* FIXME: There's no gdk_display_remove_client_message_filter */
+-
+-        return FALSE;
+-}
+-
+-static GdkFilterReturn
+-message_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data)
+-{
+-        XClientMessageEvent *evt;
+-        char *selection_name;
+-        int screen;
+-        GSList *l, *next;
+-
+-        if (((XEvent *)xevent)->type != ClientMessage)
+-          return GDK_FILTER_CONTINUE;
+-
+-        evt = (XClientMessageEvent *)xevent;
+-
+-        if (evt->message_type != XInternAtom (evt->display, "MANAGER", FALSE))
+-          return GDK_FILTER_CONTINUE;
+-
+-        selection_name = XGetAtomName (evt->display, evt->data.l[1]);
+-
+-        if (strncmp (selection_name, "WM_S", 4) != 0) {
+-                XFree (selection_name);
+-                return GDK_FILTER_CONTINUE;
+-        }
+-
+-        screen = atoi (selection_name + 4);
+-
+-        for (l = dialogs; l; l = next) {
+-                GtkWidget *dialog = l->data;
+-                next = l->next;
+-
+-                if (gdk_screen_get_number (gtk_widget_get_screen (dialog)) == screen) {
+-                        gtk_widget_show (dialog);
+-                        dialogs = g_slist_remove (dialogs, dialog);
+-                }
+-        }
+-
+-        if (!dialogs) {
+-                gdk_window_remove_filter (NULL, message_filter, NULL);
+-        }
+-
+-        XFree (selection_name);
+-
+-        return GDK_FILTER_CONTINUE;
+-}
+diff -uNrp a/plugins/keyboard/delayed-dialog.h b/plugins/keyboard/delayed-dialog.h
+--- a/plugins/keyboard/delayed-dialog.h	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/delayed-dialog.h	1970-01-01 01:00:00.000000000 +0100
+@@ -1,32 +0,0 @@
+-/*
+- * Copyright © 2006 Novell, Inc.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2, or (at
+- * your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful, but
+- * WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-
+-#ifndef __DELAYED_DIALOG_H
+-#define __DELAYED_DIALOG_H
+-
+-#include <gtk/gtk.h>
+-
+-G_BEGIN_DECLS
+-
+-void            csd_delayed_show_dialog (GtkWidget *dialog);
+-
+-G_END_DECLS
+-
+-#endif
+diff -uNrp a/plugins/keyboard/gkbd-configuration.c b/plugins/keyboard/gkbd-configuration.c
+--- a/plugins/keyboard/gkbd-configuration.c	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/gkbd-configuration.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,350 +0,0 @@
+-/*
+- * Copyright (C) 2010 Canonical Ltd.
+- * 
+- * Authors: Jan Arne Petersen <jpetersen@openismus.com>
+- * 
+- * Based on gkbd-status.c by Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This library is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2 of the License, or (at your option) any later version.
+- *
+- * This library is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with this library; if not, write to the
+- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
+- * Boston, MA 02110-1335, USA.
+- */
+-
+-#include <memory.h>
+-
+-#include <gdk/gdkkeysyms.h>
+-#include <gdk/gdkx.h>
+-#include <glib/gi18n.h>
+-
+-#include <libgnomekbd/gkbd-desktop-config.h>
+-#include <libgnomekbd/gkbd-indicator-config.h>
+-
+-#include "gkbd-configuration.h"
+-
+-struct _GkbdConfigurationPrivate {
+-	XklEngine *engine;
+-	XklConfigRegistry *registry;
+-
+-	GkbdDesktopConfig cfg;
+-	GkbdIndicatorConfig ind_cfg;
+-	GkbdKeyboardConfig kbd_cfg;
+-
+-	gchar **full_group_names;
+-	gchar **short_group_names;
+-
+-	gulong state_changed_handler;
+-	gulong config_changed_handler;
+-};
+-
+-enum {
+-	SIGNAL_CHANGED,
+-	SIGNAL_GROUP_CHANGED,
+-	LAST_SIGNAL
+-};
+-
+-static guint signals[LAST_SIGNAL] = { 0, };
+-
+-#define GKBD_CONFIGURATION_GET_PRIVATE(o) \
+-	(G_TYPE_INSTANCE_GET_PRIVATE ((o), GKBD_TYPE_CONFIGURATION, GkbdConfigurationPrivate))
+-
+-G_DEFINE_TYPE (GkbdConfiguration, gkbd_configuration, G_TYPE_OBJECT)
+-
+-/* Should be called once for all widgets */
+-static void
+-gkbd_configuration_cfg_changed (GSettings *settings,
+-				 const char *key,
+-				 GkbdConfiguration * configuration)
+-{
+-	GkbdConfigurationPrivate *priv = configuration->priv;
+-
+-	xkl_debug (100,
+-		   "General configuration changed in GSettings - reiniting...\n");
+-	gkbd_desktop_config_load (&priv->cfg);
+-	gkbd_desktop_config_activate (&priv->cfg);
+-
+-	g_signal_emit (configuration,
+-		       signals[SIGNAL_CHANGED], 0);
+-}
+-
+-/* Should be called once for all widgets */
+-static void
+-gkbd_configuration_ind_cfg_changed (GSettings *settings,
+-				     const char *key,
+-				     GkbdConfiguration * configuration)
+-{
+-	GkbdConfigurationPrivate *priv = configuration->priv;
+-	xkl_debug (100,
+-		   "Applet configuration changed in GSettings - reiniting...\n");
+-	gkbd_indicator_config_load (&priv->ind_cfg);
+-
+-	gkbd_indicator_config_free_image_filenames (&priv->ind_cfg);
+-	gkbd_indicator_config_load_image_filenames (&priv->ind_cfg,
+-						    &priv->kbd_cfg);
+-
+-	gkbd_indicator_config_activate (&priv->ind_cfg);
+-
+-	g_signal_emit (configuration,
+-		       signals[SIGNAL_CHANGED], 0);
+-}
+-
+-static void
+-gkbd_configuration_load_group_names (GkbdConfiguration * configuration,
+-				     XklConfigRec * xklrec)
+-{
+-	GkbdConfigurationPrivate *priv = configuration->priv;
+-
+-	if (!gkbd_desktop_config_load_group_descriptions (&priv->cfg,
+-							  priv->registry,
+-							  (const char **) xklrec->layouts,
+-							  (const char **) xklrec->variants,
+-	     						  &priv->short_group_names,
+-							  &priv->full_group_names)) {
+-		/* We just populate no short names (remain NULL) - 
+-		 * full names are going to be used anyway */
+-		gint i, total_groups =
+-		    xkl_engine_get_num_groups (priv->engine);
+-		xkl_debug (150, "group descriptions loaded: %d!\n",
+-			   total_groups);
+-		priv->full_group_names =
+-		    g_new0 (char *, total_groups + 1);
+-
+-		if (xkl_engine_get_features (priv->engine) &
+-		    XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
+-			for (i = 0; priv->kbd_cfg.layouts_variants[i]; i++) {
+-				priv->full_group_names[i] =
+-				    g_strdup ((char *) priv->kbd_cfg.layouts_variants[i]);
+-			}
+-		} else {
+-			for (i = total_groups; --i >= 0;) {
+-				priv->full_group_names[i] =
+-				    g_strdup_printf ("Group %d", i);
+-			}
+-		}
+-	}
+-}
+-
+-/* Should be called once for all widgets */
+-static void
+-gkbd_configuration_kbd_cfg_callback (XklEngine *engine,
+-				     GkbdConfiguration *configuration)
+-{
+-	GkbdConfigurationPrivate *priv = configuration->priv;
+-	XklConfigRec *xklrec = xkl_config_rec_new ();
+-	xkl_debug (100,
+-		   "XKB configuration changed on X Server - reiniting...\n");
+-
+-	gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg,
+-						  xklrec);
+-
+-	gkbd_indicator_config_free_image_filenames (&priv->ind_cfg);
+-	gkbd_indicator_config_load_image_filenames (&priv->ind_cfg,
+-						    &priv->kbd_cfg);
+-
+-	g_strfreev (priv->full_group_names);
+-	priv->full_group_names = NULL;
+-
+-	g_strfreev (priv->short_group_names);
+-	priv->short_group_names = NULL;
+-
+-	gkbd_configuration_load_group_names (configuration,
+-				 	     xklrec);
+-
+-	g_signal_emit (configuration,
+-		       signals[SIGNAL_CHANGED],
+-		       0);
+-
+-	g_object_unref (G_OBJECT (xklrec));
+-}
+-
+-/* Should be called once for all applets */
+-static void
+-gkbd_configuration_state_callback (XklEngine * engine,
+-				   XklEngineStateChange changeType,
+-			    	   gint group, gboolean restore,
+-				   GkbdConfiguration * configuration)
+-{
+-	xkl_debug (150, "group is now %d, restore: %d\n", group, restore);
+-
+-	if (changeType == GROUP_CHANGED) {
+-		g_signal_emit (configuration,
+-			       signals[SIGNAL_GROUP_CHANGED], 0,
+-			       group);
+-	}
+-}
+-
+-static void
+-gkbd_configuration_init (GkbdConfiguration *configuration)
+-{
+-	GkbdConfigurationPrivate *priv;
+-	XklConfigRec *xklrec = xkl_config_rec_new ();
+-
+-	priv = GKBD_CONFIGURATION_GET_PRIVATE (configuration);
+-	configuration->priv = priv;
+-
+-	priv->engine = xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
+-	if (priv->engine == NULL) {
+-		xkl_debug (0, "Libxklavier initialization error");
+-		return;
+-	}
+-
+-	priv->state_changed_handler =
+-	    g_signal_connect (priv->engine, "X-state-changed",
+-			      G_CALLBACK (gkbd_configuration_state_callback),
+-			      configuration);
+-	priv->config_changed_handler =
+-	    g_signal_connect (priv->engine, "X-config-changed",
+-			      G_CALLBACK (gkbd_configuration_kbd_cfg_callback),
+-			      configuration);
+-
+-	gkbd_desktop_config_init (&priv->cfg, priv->engine);
+-	gkbd_keyboard_config_init (&priv->kbd_cfg, priv->engine);
+-	gkbd_indicator_config_init (&priv->ind_cfg, priv->engine);
+-
+-	gkbd_desktop_config_load (&priv->cfg);
+-	gkbd_desktop_config_activate (&priv->cfg);
+-
+-	priv->registry = xkl_config_registry_get_instance (priv->engine);
+-	xkl_config_registry_load (priv->registry,
+-				  priv->cfg.load_extra_items);
+-
+-	gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg,
+-						  xklrec);
+-
+-	gkbd_indicator_config_load (&priv->ind_cfg);
+-
+-	gkbd_indicator_config_load_image_filenames (&priv->ind_cfg,
+-						    &priv->kbd_cfg);
+-
+-	gkbd_indicator_config_activate (&priv->ind_cfg);
+-
+-	gkbd_configuration_load_group_names (configuration,
+-					     xklrec);
+-	g_object_unref (G_OBJECT (xklrec));
+-
+-	gkbd_desktop_config_start_listen (&priv->cfg,
+-					  G_CALLBACK (gkbd_configuration_cfg_changed),
+-					  configuration);
+-	gkbd_indicator_config_start_listen (&priv->ind_cfg,
+-					    G_CALLBACK (gkbd_configuration_ind_cfg_changed),
+-					    configuration);
+-	xkl_engine_start_listen (priv->engine,
+-				 XKLL_TRACK_KEYBOARD_STATE);
+-
+-	xkl_debug (100, "Initiating the widget startup process for %p\n",
+-		   configuration);
+-}
+-
+-static void
+-gkbd_configuration_finalize (GObject * obj)
+-{
+-	GkbdConfiguration *configuration = GKBD_CONFIGURATION (obj);
+-	GkbdConfigurationPrivate *priv = configuration->priv;
+-
+-	xkl_debug (100,
+-		   "Starting the gnome-kbd-configuration widget shutdown process for %p\n",
+-		   configuration);
+-
+-	xkl_engine_stop_listen (priv->engine,
+-				XKLL_TRACK_KEYBOARD_STATE);
+-
+-	gkbd_desktop_config_stop_listen (&priv->cfg);
+-	gkbd_indicator_config_stop_listen (&priv->ind_cfg);
+-
+-	gkbd_indicator_config_term (&priv->ind_cfg);
+-	gkbd_keyboard_config_term (&priv->kbd_cfg);
+-	gkbd_desktop_config_term (&priv->cfg);
+-
+-	if (g_signal_handler_is_connected (priv->engine,
+-					   priv->state_changed_handler)) {
+-		g_signal_handler_disconnect (priv->engine,
+-					     priv->state_changed_handler);
+-		priv->state_changed_handler = 0;
+-	}
+-	if (g_signal_handler_is_connected (priv->engine,
+-					   priv->config_changed_handler)) {
+-		g_signal_handler_disconnect (priv->engine,
+-					     priv->config_changed_handler);
+-		priv->config_changed_handler = 0;
+-	}
+-
+-	g_object_unref (priv->registry);
+-	priv->registry = NULL;
+-	g_object_unref (priv->engine);
+-	priv->engine = NULL;
+-
+-	G_OBJECT_CLASS (gkbd_configuration_parent_class)->finalize (obj);
+-}
+-
+-static void
+-gkbd_configuration_class_init (GkbdConfigurationClass * klass)
+-{
+-	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+-
+-	/* Initing vtable */
+-	object_class->finalize = gkbd_configuration_finalize;
+-
+-	/* Signals */
+-	signals[SIGNAL_CHANGED] = g_signal_new ("changed",
+-						GKBD_TYPE_CONFIGURATION,
+-						G_SIGNAL_RUN_LAST,
+-						0,
+-						NULL, NULL,
+-						g_cclosure_marshal_VOID__VOID,
+-						G_TYPE_NONE,
+-						0);
+-	signals[SIGNAL_GROUP_CHANGED] = g_signal_new ("group-changed",
+-						      GKBD_TYPE_CONFIGURATION,
+-						      G_SIGNAL_RUN_LAST,
+-						      0,
+-						      NULL, NULL,
+-						      g_cclosure_marshal_VOID__INT,
+-						      G_TYPE_NONE,
+-						      1,
+-						      G_TYPE_INT);
+-
+-	g_type_class_add_private (klass, sizeof (GkbdConfigurationPrivate));
+-}
+-
+-GkbdConfiguration *
+-gkbd_configuration_get (void)
+-{
+-	static gpointer instance = NULL;
+-
+-	if (!instance) {
+-		instance = g_object_new (GKBD_TYPE_CONFIGURATION, NULL);
+-		g_object_add_weak_pointer (instance, &instance);
+-	} else {
+-		g_object_ref (instance);
+-	}
+-
+-	return instance;
+-}
+-
+-XklEngine *
+-gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration)
+-{
+-	return configuration->priv->engine;
+-}
+-
+-const char * const *
+-gkbd_configuration_get_group_names (GkbdConfiguration *configuration)
+-{
+-	return configuration->priv->full_group_names;
+-}
+-
+-const char * const *
+-gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration)
+-{
+-	return configuration->priv->short_group_names;
+-}
+diff -uNrp a/plugins/keyboard/gkbd-configuration.h b/plugins/keyboard/gkbd-configuration.h
+--- a/plugins/keyboard/gkbd-configuration.h	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/gkbd-configuration.h	1970-01-01 01:00:00.000000000 +0100
+@@ -1,65 +0,0 @@
+-/*
+- * Copyright (C) 2010 Canonical Ltd.
+- * 
+- * Authors: Jan Arne Petersen <jpetersen@openismus.com>
+- * 
+- * Based on gkbd-status.h by Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This library is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2 of the License, or (at your option) any later version.
+- *
+- * This library is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with this library; if not, write to the
+- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
+- * Boston, MA 02110-1335, USA.
+- */
+-
+-#ifndef __GKBD_CONFIGURATION_H__
+-#define __GKBD_CONFIGURATION_H__
+-
+-#include <glib-object.h>
+-
+-#include <libxklavier/xklavier.h>
+-
+-G_BEGIN_DECLS
+-
+-typedef struct _GkbdConfiguration GkbdConfiguration;
+-typedef struct _GkbdConfigurationPrivate GkbdConfigurationPrivate;
+-typedef struct _GkbdConfigurationClass GkbdConfigurationClass;
+-
+-#define GKBD_TYPE_CONFIGURATION           (gkbd_configuration_get_type ())
+-#define GKBD_CONFIGURATION(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfiguration))
+-#define GKBD_INDCATOR_CLASS(obj)          (G_TYPE_CHECK_CLASS_CAST ((obj), GKBD_TYPE_CONFIGURATION,  GkbdConfigurationClass))
+-#define GKBD_IS_CONFIGURATION(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKBD_TYPE_CONFIGURATION))
+-#define GKBD_IS_CONFIGURATION_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE ((obj), GKBD_TYPE_CONFIGURATION))
+-#define GKBD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass))
+-
+-struct _GkbdConfiguration {
+-	GObject parent;
+-
+-	GkbdConfigurationPrivate *priv;
+-};
+-
+-struct _GkbdConfigurationClass {
+-	GObjectClass parent_class;
+-};
+-
+-extern GType gkbd_configuration_get_type (void);
+-
+-extern GkbdConfiguration *gkbd_configuration_get (void);
+-
+-extern XklEngine *gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration);
+-
+-extern const char * const *gkbd_configuration_get_group_names (GkbdConfiguration *configuration);
+-extern const char * const *gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration);
+-
+-G_END_DECLS
+-
+-#endif
+diff -uNrp a/plugins/keyboard/.indent.pro b/plugins/keyboard/.indent.pro
+--- a/plugins/keyboard/.indent.pro	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/.indent.pro	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,2 @@
++-kr -i8 -pcs -lps -psl
++
+diff -uNrp a/plugins/keyboard/Makefile.am b/plugins/keyboard/Makefile.am
+--- a/plugins/keyboard/Makefile.am	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/keyboard/Makefile.am	2013-08-25 16:36:02.000000000 +0100
+@@ -20,25 +20,20 @@ libkeyboard_la_SOURCES = 	\
+ 	csd-keyboard-plugin.c	\
+ 	csd-keyboard-manager.h	\
+ 	csd-keyboard-manager.c	\
+-	csd-keyboard-xkb.h	\
+-	csd-keyboard-xkb.c	\
+-	delayed-dialog.h	\
+-	delayed-dialog.c	\
+-	gkbd-configuration.c	\
+-	gkbd-configuration.h	\
+ 	$(NULL)
+ 
+ libkeyboard_la_CPPFLAGS = \
+ 	-I$(top_srcdir)/cinnamon-settings-daemon		\
+ 	-I$(top_srcdir)/data				\
++	-I$(top_srcdir)/plugins/common			\
+ 	-DDATADIR=\""$(pkgdatadir)"\"			\
++	-DLIBEXECDIR=\""$(libexecdir)"\"		\
+ 	-DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ 	$(AM_CPPFLAGS)
+ 
+ libkeyboard_la_CFLAGS = \
+ 	$(PLUGIN_CFLAGS)		\
+ 	$(SETTINGS_PLUGIN_CFLAGS)	\
+-	$(APPINDICATOR_CFLAGS)		\
+ 	$(KEYBOARD_CFLAGS)		\
+ 	$(AM_CFLAGS)
+ 
+@@ -46,19 +41,63 @@ libkeyboard_la_LDFLAGS = 	\
+ 	$(CSD_PLUGIN_LDFLAGS)	\
+ 	$(NULL)
+ 
+-libkeyboard_la_LIBADD  = 	\
+-	$(SETTINGS_PLUGIN_LIBS)	\
+-	$(XF86MISC_LIBS)	\
+-	$(KEYBOARD_LIBS)	\
+-	$(APPINDICATOR_LIBS)	\
++libkeyboard_la_LIBADD  =				\
++	$(top_builddir)/plugins/common/libcommon.la	\
++	$(SETTINGS_PLUGIN_LIBS)				\
++	$(XF86MISC_LIBS)				\
++	$(KEYBOARD_LIBS)				\
+ 	$(NULL)
+ 
++libexec_PROGRAMS = csd-test-keyboard
++csd_test_keyboard_SOURCES =	\
++	test-keyboard.c		\
++	csd-keyboard-manager.h	\
++	csd-keyboard-manager.c	\
++	$(NULL)
++
++csd_test_keyboard_CFLAGS = $(libkeyboard_la_CFLAGS)
++csd_test_keyboard_CPPFLAGS = $(libkeyboard_la_CPPFLAGS)
++csd_test_keyboard_LDADD = $(libkeyboard_la_LIBADD) $(top_builddir)/cinnamon-settings-daemon/libcsd.la
++
+ plugin_in_files = 		\
+ 	keyboard.cinnamon-settings-plugin.in	\
+ 	$(NULL)
+ 
+ plugin_DATA = $(plugin_in_files:.cinnamon-settings-plugin.in=.cinnamon-settings-plugin)
+ 
++if HAVE_IBUS
++noinst_PROGRAMS = test-keyboard-ibus-utils
++test_keyboard_ibus_utils_SOURCES = test-keyboard-ibus-utils.c
++test_keyboard_ibus_utils_CFLAGS = $(libkeyboard_la_CFLAGS)
++test_keyboard_ibus_utils_CPPFLAGS = $(libkeyboard_la_CPPFLAGS)
++test_keyboard_ibus_utils_LDADD = $(libkeyboard_la_LIBADD) $(top_builddir)/cinnamon-settings-daemon/libcsd.la
++
++check-local: test-keyboard-ibus-utils
++	$(builddir)/test-keyboard-ibus-utils > /dev/null
++endif
++
++libexec_PROGRAMS += csd-input-sources-switcher
++
++csd_input_sources_switcher_SOURCES = 	\
++	csd-input-sources-switcher.c	\
++	$(NULL)
++
++csd_input_sources_switcher_CPPFLAGS =	\
++	-I$(top_srcdir)/data		\
++	-I$(top_srcdir)/plugins/common	\
++	$(AM_CPPFLAGS)			\
++	$(NULL)
++
++csd_input_sources_switcher_CFLAGS =	\
++	$(SETTINGS_PLUGIN_CFLAGS)	\
++	$(AM_CFLAGS)			\
++	$(NULL)
++
++csd_input_sources_switcher_LDADD  = 	\
++	$(top_builddir)/plugins/common/libcommon.la	\
++	$(SETTINGS_PLUGIN_LIBS)		\
++	$(NULL)
++
+ EXTRA_DIST = 			\
+ 	$(icons_DATA)		\
+ 	$(plugin_in_files)	\
+diff -uNrp a/plugins/keyboard/test-keyboard.c b/plugins/keyboard/test-keyboard.c
+--- a/plugins/keyboard/test-keyboard.c	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/test-keyboard.c	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,7 @@
++#define NEW csd_keyboard_manager_new
++#define START csd_keyboard_manager_start
++#define STOP csd_keyboard_manager_stop
++#define MANAGER CsdKeyboardManager
++#include "csd-keyboard-manager.h"
++
++#include "test-plugin.h"
+diff -uNrp a/plugins/keyboard/test-keyboard-ibus-utils.c b/plugins/keyboard/test-keyboard-ibus-utils.c
+--- a/plugins/keyboard/test-keyboard-ibus-utils.c	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/test-keyboard-ibus-utils.c	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,116 @@
++#include "csd-keyboard-manager.c"
++
++static void
++test_make_xkb_source_id (void)
++{
++        gint i;
++        const gchar *test_strings[][2] = {
++                /* input                output */
++                { "xkb:aa:bb:cc",       "aa+bb" },
++                { "xkb:aa:bb:",         "aa+bb" },
++                { "xkb:aa::cc",         "aa" },
++                { "xkb:aa::",           "aa" },
++                { "xkb::bb:cc",         "+bb" },
++                { "xkb::bb:",           "+bb" },
++                { "xkb:::cc",           "" },
++                { "xkb:::",             "" },
++        };
++
++        for (i = 0; i < G_N_ELEMENTS (test_strings); ++i)
++                g_assert_cmpstr (make_xkb_source_id (test_strings[i][0]), ==, test_strings[i][1]);
++}
++
++static void
++test_layout_from_ibus_layout (void)
++{
++        gint i;
++        const gchar *test_strings[][2] = {
++                /* input                output */
++                { "",                   "" },
++                { "a",                  "a" },
++                { "a(",                 "a" },
++                { "a[",                 "a" },
++        };
++
++        for (i = 0; i < G_N_ELEMENTS (test_strings); ++i)
++                g_assert_cmpstr (layout_from_ibus_layout (test_strings[i][0]), ==, test_strings[i][1]);
++}
++
++static void
++test_variant_from_ibus_layout (void)
++{
++        gint i;
++        const gchar *test_strings[][2] = {
++                /* input                output */
++                { "",                   NULL },
++                { "a",                  NULL },
++                { "(",                  NULL },
++                { "()",                 "" },
++                { "(b)",                "b" },
++                { "a(",                 NULL },
++                { "a()",                "" },
++                { "a(b)",               "b" },
++        };
++
++        for (i = 0; i < G_N_ELEMENTS (test_strings); ++i)
++                g_assert_cmpstr (variant_from_ibus_layout (test_strings[i][0]), ==, test_strings[i][1]);
++}
++
++static void
++test_options_from_ibus_layout (void)
++{
++        gint i, j;
++        gchar *output_0[] = {
++                NULL
++        };
++        gchar *output_1[] = {
++                "",
++                NULL
++        };
++        gchar *output_2[] = {
++                "b",
++                NULL
++        };
++        gchar *output_3[] = {
++                "b", "",
++                NULL
++        };
++        gchar *output_4[] = {
++                "b", "c",
++                NULL
++        };
++        const gpointer tests[][2] = {
++                /* input                output */
++                { "",                   NULL },
++                { "a",                  NULL },
++                { "a[",                 output_0 },
++                { "a[]",                output_1 },
++                { "a[b]",               output_2 },
++                { "a[b,]",              output_3 },
++                { "a[b,c]",             output_4 },
++        };
++
++        for (i = 0; i < G_N_ELEMENTS (tests); ++i) {
++                if (tests[i][1] == NULL) {
++                        g_assert (options_from_ibus_layout (tests[i][0]) == NULL);
++                } else {
++                        gchar **strv_a = options_from_ibus_layout (tests[i][0]);
++                        gchar **strv_b = tests[i][1];
++
++                        g_assert (g_strv_length (strv_a) == g_strv_length (strv_b));
++                        for (j = 0; j < g_strv_length (strv_a); ++j)
++                                g_assert_cmpstr (strv_a[j], ==, strv_b[j]);
++                }
++        }
++}
++
++int
++main (void)
++{
++        test_make_xkb_source_id ();
++        test_layout_from_ibus_layout ();
++        test_variant_from_ibus_layout ();
++        test_options_from_ibus_layout ();
++
++        return 0;
++}
+diff -uNrp a/plugins/keyboard/xxx/csd-keyboard-xkb.c b/plugins/keyboard/xxx/csd-keyboard-xkb.c
+--- a/plugins/keyboard/xxx/csd-keyboard-xkb.c	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/xxx/csd-keyboard-xkb.c	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,579 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2001 Udaltsoft
++ *
++ * Written by Sergey V. Oudaltsov <svu@users.sourceforge.net>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
++ * 02110-1335, USA.
++ */
++
++#include "config.h"
++
++#include <string.h>
++#include <time.h>
++
++#include <glib/gi18n.h>
++#include <gdk/gdk.h>
++#include <gdk/gdkx.h>
++#include <gtk/gtk.h>
++
++#include <libgnomekbd/gkbd-status.h>
++
++#include <libgnomekbd/gkbd-keyboard-drawing.h>
++#include <libgnomekbd/gkbd-desktop-config.h>
++#include <libgnomekbd/gkbd-indicator-config.h>
++#include <libgnomekbd/gkbd-keyboard-config.h>
++#include <libgnomekbd/gkbd-util.h>
++
++#include "csd-keyboard-xkb.h"
++#include "delayed-dialog.h"
++#include "cinnamon-settings-profile.h"
++
++#define SETTINGS_KEYBOARD_DIR "org.cinnamon.settings-daemon.plugins.keyboard"
++
++static CsdKeyboardManager *manager = NULL;
++
++static XklEngine *xkl_engine;
++static XklConfigRegistry *xkl_registry = NULL;
++
++static GkbdDesktopConfig current_config;
++static GkbdKeyboardConfig current_kbd_config;
++
++/* never terminated */
++static GkbdKeyboardConfig initial_sys_kbd_config;
++
++static gboolean inited_ok = FALSE;
++
++static GSettings *settings_desktop = NULL;
++static GSettings *settings_keyboard = NULL;
++
++static PostActivationCallback pa_callback = NULL;
++static void *pa_callback_user_data = NULL;
++
++static GtkStatusIcon *icon = NULL;
++
++static GHashTable *preview_dialogs = NULL;
++
++static void
++activation_error (void)
++{
++	char const *vendor;
++	GtkWidget *dialog;
++
++	vendor =
++	    ServerVendor (GDK_DISPLAY_XDISPLAY
++			  (gdk_display_get_default ()));
++
++	/* VNC viewers will not work, do not barrage them with warnings */
++	if (NULL != vendor && NULL != strstr (vendor, "VNC"))
++		return;
++
++	dialog = gtk_message_dialog_new_with_markup (NULL,
++						     0,
++						     GTK_MESSAGE_ERROR,
++						     GTK_BUTTONS_CLOSE,
++						     _
++						     ("Error activating XKB configuration.\n"
++						      "There can be various reasons for that.\n\n"
++						      "If you report this situation as a bug, include the results of\n"
++						      " • <b>%s</b>\n"
++						      " • <b>%s</b>\n"
++						      " • <b>%s</b>\n"
++						      " • <b>%s</b>"),
++						     "xprop -root | grep XKB",
++						     "gsettings get org.gnome.libgnomekbd.keyboard model",
++						     "gsettings get org.gnome.libgnomekbd.keyboard layouts",
++						     "gsettings get org.gnome.libgnomekbd.keyboard options");
++	g_signal_connect (dialog, "response",
++			  G_CALLBACK (gtk_widget_destroy), NULL);
++	csd_delayed_show_dialog (dialog);
++}
++
++static gboolean
++ensure_xkl_registry (void)
++{
++	if (!xkl_registry) {
++		xkl_registry =
++		    xkl_config_registry_get_instance (xkl_engine);
++		/* load all materials, unconditionally! */
++		if (!xkl_config_registry_load (xkl_registry, TRUE)) {
++			g_object_unref (xkl_registry);
++			xkl_registry = NULL;
++			return FALSE;
++		}
++	}
++
++	return TRUE;
++}
++
++static void
++apply_desktop_settings (void)
++{
++	if (!inited_ok)
++		return;
++
++	csd_keyboard_manager_apply_settings (manager);
++	gkbd_desktop_config_load (&current_config);
++	/* again, probably it would be nice to compare things
++	   before activating them */
++	gkbd_desktop_config_activate (&current_config);
++}
++
++static void
++popup_menu_launch_capplet ()
++{
++	GAppInfo *info;
++	GdkAppLaunchContext *ctx;
++	GError *error = NULL;
++
++	info =
++	    g_app_info_create_from_commandline
++	    ("cinnamon-settings region", NULL, 0, &error);
++
++	if (info != NULL) {
++		ctx =
++		    gdk_display_get_app_launch_context
++		    (gdk_display_get_default ());
++
++		if (g_app_info_launch (info, NULL,
++				   G_APP_LAUNCH_CONTEXT (ctx), &error) == FALSE) {
++			g_warning
++				("Could not execute keyboard properties capplet: [%s]\n",
++				 error->message);
++			g_error_free (error);
++		}
++
++		g_object_unref (info);
++		g_object_unref (ctx);
++	}
++
++}
++
++static void
++show_layout_destroy (GtkWidget * dialog, gint group)
++{
++	g_hash_table_remove (preview_dialogs, GINT_TO_POINTER (group));
++}
++
++static void
++popup_menu_show_layout ()
++{
++	GtkWidget *dialog;
++	XklEngine *engine =
++	    xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY
++				     (gdk_display_get_default ()));
++	XklState *xkl_state = xkl_engine_get_current_state (engine);
++
++	gchar **group_names = gkbd_status_get_group_names ();
++
++	gpointer p = g_hash_table_lookup (preview_dialogs,
++					  GINT_TO_POINTER
++					  (xkl_state->group));
++
++	if (xkl_state->group < 0
++	    || xkl_state->group >= g_strv_length (group_names)) {
++		return;
++	}
++
++	if (p != NULL) {
++		/* existing window */
++		gtk_window_present (GTK_WINDOW (p));
++		return;
++	}
++
++	if (!ensure_xkl_registry ())
++		return;
++
++	dialog = gkbd_keyboard_drawing_dialog_new ();
++	gkbd_keyboard_drawing_dialog_set_group (dialog, xkl_registry, xkl_state->group);
++
++	g_signal_connect (dialog, "destroy",
++			  G_CALLBACK (show_layout_destroy),
++			  GINT_TO_POINTER (xkl_state->group));
++	g_hash_table_insert (preview_dialogs,
++			     GINT_TO_POINTER (xkl_state->group), dialog);
++	gtk_widget_show_all (dialog);
++}
++
++static void
++popup_menu_set_group (gint group_number, gboolean only_menu)
++{
++
++	XklEngine *engine = gkbd_status_get_xkl_engine ();
++
++	XklState *st = xkl_engine_get_current_state(engine);
++	Window cur;
++	st->group = group_number;
++	xkl_engine_allow_one_switch_to_secondary_group (engine);
++	cur = xkl_engine_get_current_window (engine);
++	if (cur != (Window) NULL) {
++		xkl_debug (150, "Enforcing the state %d for window %lx\n",
++			   st->group, cur);
++
++		xkl_engine_save_state (engine,
++				       xkl_engine_get_current_window
++				       (engine), st);
++/*    XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/
++	} else {
++		xkl_debug (150,
++			   "??? Enforcing the state %d for unknown window\n",
++			   st->group);
++		/* strange situation - bad things can happen */
++	}
++        if (!only_menu)
++        	xkl_engine_lock_group (engine, st->group);
++}
++
++static void
++popup_menu_set_group_cb (GtkMenuItem * item, gpointer param)
++{
++	gint group_number = GPOINTER_TO_INT (param);
++
++	popup_menu_set_group(group_number, FALSE);
++}
++
++
++static GtkMenu *
++create_status_menu (void)
++{
++	GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ());
++	int i = 0;
++
++	GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ());
++	gchar **current_name = gkbd_status_get_group_names ();
++
++	GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts"));
++	gtk_widget_show (item);
++	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
++	gtk_menu_item_set_submenu (GTK_MENU_ITEM (item),
++				   GTK_WIDGET (groups_menu));
++
++	item = gtk_menu_item_new_with_mnemonic (_("Show _Keyboard Layout..."));
++	gtk_widget_show (item);
++	g_signal_connect (item, "activate", popup_menu_show_layout, NULL);
++	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
++
++	/* translators note:
++	 * This is the name of the cinnamon-settings "region" panel */
++	item = gtk_menu_item_new_with_mnemonic (_("Region and Language Settings"));
++	gtk_widget_show (item);
++	g_signal_connect (item, "activate", popup_menu_launch_capplet, NULL);
++	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
++
++	for (i = 0; current_name && *current_name; i++, current_name++) {
++
++		gchar *image_file = gkbd_status_get_image_filename (i);
++
++		if (image_file == NULL) {
++			item =
++			    gtk_menu_item_new_with_label (*current_name);
++		} else {
++			GdkPixbuf *pixbuf =
++			    gdk_pixbuf_new_from_file_at_size (image_file,
++							      24, 24,
++							      NULL);
++			GtkWidget *img =
++			    gtk_image_new_from_pixbuf (pixbuf);
++			item =
++			    gtk_image_menu_item_new_with_label
++			    (*current_name);
++			gtk_widget_show (img);
++			gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM
++						       (item), img);
++			gtk_image_menu_item_set_always_show_image
++			    (GTK_IMAGE_MENU_ITEM (item), TRUE);
++			g_free (image_file);
++		}
++		gtk_widget_show (item);
++		gtk_menu_shell_append (GTK_MENU_SHELL (groups_menu), item);
++		g_signal_connect (item, "activate",
++				  G_CALLBACK (popup_menu_set_group_cb),
++				  GINT_TO_POINTER (i));
++	}
++
++	return popup_menu;
++}
++
++static void
++status_icon_popup_menu_cb (GtkStatusIcon * icon, guint button, guint time)
++{
++	GtkMenu *popup_menu = create_status_menu ();
++
++	gtk_menu_popup (popup_menu, NULL, NULL,
++			gtk_status_icon_position_menu,
++			(gpointer) icon, button, time);
++}
++
++static void
++show_hide_icon ()
++{
++	if (g_strv_length (current_kbd_config.layouts_variants) > 1) {
++		if (icon == NULL) {
++			xkl_debug (150, "Creating keyboard status icon\n");
++			icon = gkbd_status_new ();
++			g_signal_connect (icon, "popup-menu",
++					  G_CALLBACK
++					  (status_icon_popup_menu_cb),
++					  NULL);
++
++		}
++	} else {
++		if (icon != NULL) {
++			xkl_debug (150, "Destroying icon\n");
++			g_object_unref (icon);
++			icon = NULL;
++		}
++	}
++}
++
++static gboolean
++try_activating_xkb_config_if_new (GkbdKeyboardConfig *
++				  current_sys_kbd_config)
++{
++	/* Activate - only if different! */
++	if (!gkbd_keyboard_config_equals
++	    (&current_kbd_config, current_sys_kbd_config)) {
++		if (gkbd_keyboard_config_activate (&current_kbd_config)) {
++			if (pa_callback != NULL) {
++				(*pa_callback) (pa_callback_user_data);
++				return TRUE;
++			}
++		} else {
++			return FALSE;
++		}
++	}
++	return TRUE;
++}
++
++static gboolean
++filter_xkb_config (void)
++{
++	XklConfigItem *item;
++	gchar *lname;
++	gchar *vname;
++	gchar **lv;
++	gboolean any_change = FALSE;
++
++	xkl_debug (100, "Filtering configuration against the registry\n");
++	if (!ensure_xkl_registry ())
++		return FALSE;
++
++	lv = current_kbd_config.layouts_variants;
++	item = xkl_config_item_new ();
++	while (*lv) {
++		xkl_debug (100, "Checking [%s]\n", *lv);
++		if (gkbd_keyboard_config_split_items (*lv, &lname, &vname)) {
++			gboolean should_be_dropped = FALSE;
++			g_snprintf (item->name, sizeof (item->name), "%s",
++				    lname);
++			if (!xkl_config_registry_find_layout
++			    (xkl_registry, item)) {
++				xkl_debug (100, "Bad layout [%s]\n",
++					   lname);
++				should_be_dropped = TRUE;
++			} else if (vname) {
++				g_snprintf (item->name,
++					    sizeof (item->name), "%s",
++					    vname);
++				if (!xkl_config_registry_find_variant
++				    (xkl_registry, lname, item)) {
++					xkl_debug (100,
++						   "Bad variant [%s(%s)]\n",
++						   lname, vname);
++					should_be_dropped = TRUE;
++				}
++			}
++			if (should_be_dropped) {
++				gkbd_strv_behead (lv);
++				any_change = TRUE;
++				continue;
++			}
++		}
++		lv++;
++	}
++	g_object_unref (item);
++	return any_change;
++}
++
++static void
++apply_xkb_settings (void)
++{
++	GkbdKeyboardConfig current_sys_kbd_config;
++
++	if (!inited_ok)
++		return;
++
++	gkbd_keyboard_config_init (&current_sys_kbd_config, xkl_engine);
++
++	gkbd_keyboard_config_load (&current_kbd_config,
++				   &initial_sys_kbd_config);
++
++	gkbd_keyboard_config_load_from_x_current (&current_sys_kbd_config,
++						  NULL);
++
++	if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
++		if (filter_xkb_config ()) {
++			if (!try_activating_xkb_config_if_new
++			    (&current_sys_kbd_config)) {
++				g_warning
++				    ("Could not activate the filtered XKB configuration");
++				activation_error ();
++			}
++		} else {
++			g_warning
++			    ("Could not activate the XKB configuration");
++			activation_error ();
++		}
++	} else
++		xkl_debug (100,
++			   "Actual KBD configuration was not changed: redundant notification\n");
++
++	gkbd_keyboard_config_term (&current_sys_kbd_config);
++	show_hide_icon ();
++}
++
++static void
++csd_keyboard_xkb_analyze_sysconfig (void)
++{
++	if (!inited_ok)
++		return;
++
++	gkbd_keyboard_config_init (&initial_sys_kbd_config, xkl_engine);
++	gkbd_keyboard_config_load_from_x_initial (&initial_sys_kbd_config,
++						  NULL);
++}
++
++void
++csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun,
++					       void *user_data)
++{
++	pa_callback = fun;
++	pa_callback_user_data = user_data;
++}
++
++static GdkFilterReturn
++csd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event)
++{
++	XEvent *xevent = (XEvent *) xev;
++	xkl_engine_filter_events (xkl_engine, xevent);
++	return GDK_FILTER_CONTINUE;
++}
++
++/* When new Keyboard is plugged in - reload the settings */
++static void
++csd_keyboard_new_device (XklEngine * engine)
++{
++	apply_desktop_settings ();
++	apply_xkb_settings ();
++}
++
++void
++csd_keyboard_xkb_init (CsdKeyboardManager * kbd_manager)
++{
++	Display *display =
++	    GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
++	cinnamon_settings_profile_start (NULL);
++
++	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
++					   DATADIR G_DIR_SEPARATOR_S
++					   "icons");
++
++	manager = kbd_manager;
++	cinnamon_settings_profile_start ("xkl_engine_get_instance");
++	xkl_engine = xkl_engine_get_instance (display);
++	cinnamon_settings_profile_end ("xkl_engine_get_instance");
++	if (xkl_engine) {
++		inited_ok = TRUE;
++
++		gkbd_desktop_config_init (&current_config, xkl_engine);
++		gkbd_keyboard_config_init (&current_kbd_config,
++					   xkl_engine);
++		xkl_engine_backup_names_prop (xkl_engine);
++		csd_keyboard_xkb_analyze_sysconfig ();
++
++		settings_desktop = g_settings_new (GKBD_DESKTOP_SCHEMA);
++		settings_keyboard = g_settings_new (GKBD_KEYBOARD_SCHEMA);
++		g_signal_connect (settings_desktop, "changed",
++				  (GCallback) apply_desktop_settings,
++				  NULL);
++		g_signal_connect (settings_keyboard, "changed",
++				  (GCallback) apply_xkb_settings, NULL);
++
++		gdk_window_add_filter (NULL, (GdkFilterFunc)
++				       csd_keyboard_xkb_evt_filter, NULL);
++
++		if (xkl_engine_get_features (xkl_engine) &
++		    XKLF_DEVICE_DISCOVERY)
++			g_signal_connect (xkl_engine, "X-new-device",
++					  G_CALLBACK
++					  (csd_keyboard_new_device), NULL);
++
++		cinnamon_settings_profile_start ("xkl_engine_start_listen");
++		xkl_engine_start_listen (xkl_engine,
++					 XKLL_MANAGE_LAYOUTS |
++					 XKLL_MANAGE_WINDOW_STATES);
++		cinnamon_settings_profile_end ("xkl_engine_start_listen");
++
++		cinnamon_settings_profile_start ("apply_desktop_settings");
++		apply_desktop_settings ();
++		cinnamon_settings_profile_end ("apply_desktop_settings");
++		cinnamon_settings_profile_start ("apply_xkb_settings");
++		apply_xkb_settings ();
++		cinnamon_settings_profile_end ("apply_xkb_settings");
++	}
++	preview_dialogs = g_hash_table_new (g_direct_hash, g_direct_equal);
++
++	cinnamon_settings_profile_end (NULL);
++}
++
++void
++csd_keyboard_xkb_shutdown (void)
++{
++	if (!inited_ok)
++		return;
++
++	pa_callback = NULL;
++	pa_callback_user_data = NULL;
++	manager = NULL;
++
++	if (preview_dialogs != NULL)
++		g_hash_table_destroy (preview_dialogs);
++
++	if (!inited_ok)
++		return;
++
++	xkl_engine_stop_listen (xkl_engine,
++				XKLL_MANAGE_LAYOUTS |
++				XKLL_MANAGE_WINDOW_STATES);
++
++	gdk_window_remove_filter (NULL, (GdkFilterFunc)
++				  csd_keyboard_xkb_evt_filter, NULL);
++
++	g_object_unref (settings_desktop);
++	settings_desktop = NULL;
++	g_object_unref (settings_keyboard);
++	settings_keyboard = NULL;
++
++	if (xkl_registry) {
++		g_object_unref (xkl_registry);
++	}
++
++	g_object_unref (xkl_engine);
++
++	xkl_engine = NULL;
++
++	inited_ok = FALSE;
++}
+diff -uNrp a/plugins/keyboard/xxx/csd-keyboard-xkb.h b/plugins/keyboard/xxx/csd-keyboard-xkb.h
+--- a/plugins/keyboard/xxx/csd-keyboard-xkb.h	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/xxx/csd-keyboard-xkb.h	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,39 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ * cinnamon-settings-keyboard-xkb.h
++ *
++ * Copyright (C) 2001 Udaltsoft
++ *
++ * Written by Sergey V. Oudaltsov <svu@users.sourceforge.net>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
++ * 02110-1335, USA.
++ */
++
++#ifndef __CSD_KEYBOARD_XKB_H
++#define __CSD_KEYBOARD_XKB_H
++
++#include <libxklavier/xklavier.h>
++#include "csd-keyboard-manager.h"
++
++void csd_keyboard_xkb_init (CsdKeyboardManager *manager);
++void csd_keyboard_xkb_shutdown (void);
++
++typedef void (*PostActivationCallback) (void *userData);
++
++void
++csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun,
++                                               void                  *userData);
++
++#endif
+diff -uNrp a/plugins/keyboard/xxx/delayed-dialog.c b/plugins/keyboard/xxx/delayed-dialog.c
+--- a/plugins/keyboard/xxx/delayed-dialog.c	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/xxx/delayed-dialog.c	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,128 @@
++/*
++ * Copyright © 2006 Novell, Inc.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2, or (at
++ * your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
++ * 02110-1335, USA.
++ */
++
++#include <stdlib.h>
++#include <string.h>
++
++#include <gtk/gtk.h>
++#include <gdk/gdkx.h>
++
++#include "delayed-dialog.h"
++
++static gboolean        delayed_show_timeout (gpointer   data);
++static GdkFilterReturn message_filter       (GdkXEvent *xevent,
++                                             GdkEvent  *event,
++                                             gpointer   data);
++
++static GSList *dialogs = NULL;
++
++/**
++ * csd_delayed_show_dialog:
++ * @dialog: the dialog
++ *
++ * Shows the dialog as with gtk_widget_show(), unless a window manager
++ * hasn't been started yet, in which case it will wait up to 5 seconds
++ * for that to happen before showing the dialog.
++ **/
++void
++csd_delayed_show_dialog (GtkWidget *dialog)
++{
++        GdkDisplay *display = gtk_widget_get_display (dialog);
++        Display *xdisplay = GDK_DISPLAY_XDISPLAY (display);
++        GdkScreen *screen = gtk_widget_get_screen (dialog);
++        char selection_name[10];
++        Atom selection_atom;
++
++        /* We can't use gdk_selection_owner_get() for this, because
++         * it's an unknown out-of-process window.
++         */
++        snprintf (selection_name, sizeof (selection_name), "WM_S%d",
++                  gdk_screen_get_number (screen));
++        selection_atom = XInternAtom (xdisplay, selection_name, True);
++        if (selection_atom &&
++            XGetSelectionOwner (xdisplay, selection_atom) != None) {
++                gtk_widget_show (dialog);
++                return;
++        }
++
++        dialogs = g_slist_prepend (dialogs, dialog);
++
++        gdk_window_add_filter (NULL, message_filter, NULL);
++
++        g_timeout_add (5000, delayed_show_timeout, NULL);
++}
++
++static gboolean
++delayed_show_timeout (gpointer data)
++{
++        GSList *l;
++
++        for (l = dialogs; l; l = l->next)
++                gtk_widget_show (l->data);
++        g_slist_free (dialogs);
++        dialogs = NULL;
++
++        /* FIXME: There's no gdk_display_remove_client_message_filter */
++
++        return FALSE;
++}
++
++static GdkFilterReturn
++message_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data)
++{
++        XClientMessageEvent *evt;
++        char *selection_name;
++        int screen;
++        GSList *l, *next;
++
++        if (((XEvent *)xevent)->type != ClientMessage)
++          return GDK_FILTER_CONTINUE;
++
++        evt = (XClientMessageEvent *)xevent;
++
++        if (evt->message_type != XInternAtom (evt->display, "MANAGER", FALSE))
++          return GDK_FILTER_CONTINUE;
++
++        selection_name = XGetAtomName (evt->display, evt->data.l[1]);
++
++        if (strncmp (selection_name, "WM_S", 4) != 0) {
++                XFree (selection_name);
++                return GDK_FILTER_CONTINUE;
++        }
++
++        screen = atoi (selection_name + 4);
++
++        for (l = dialogs; l; l = next) {
++                GtkWidget *dialog = l->data;
++                next = l->next;
++
++                if (gdk_screen_get_number (gtk_widget_get_screen (dialog)) == screen) {
++                        gtk_widget_show (dialog);
++                        dialogs = g_slist_remove (dialogs, dialog);
++                }
++        }
++
++        if (!dialogs) {
++                gdk_window_remove_filter (NULL, message_filter, NULL);
++        }
++
++        XFree (selection_name);
++
++        return GDK_FILTER_CONTINUE;
++}
+diff -uNrp a/plugins/keyboard/xxx/delayed-dialog.h b/plugins/keyboard/xxx/delayed-dialog.h
+--- a/plugins/keyboard/xxx/delayed-dialog.h	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/xxx/delayed-dialog.h	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,32 @@
++/*
++ * Copyright © 2006 Novell, Inc.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2, or (at
++ * your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
++ * 02110-1335, USA.
++ */
++
++
++#ifndef __DELAYED_DIALOG_H
++#define __DELAYED_DIALOG_H
++
++#include <gtk/gtk.h>
++
++G_BEGIN_DECLS
++
++void            csd_delayed_show_dialog (GtkWidget *dialog);
++
++G_END_DECLS
++
++#endif
+diff -uNrp a/plugins/keyboard/xxx/gkbd-configuration.c b/plugins/keyboard/xxx/gkbd-configuration.c
+--- a/plugins/keyboard/xxx/gkbd-configuration.c	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/xxx/gkbd-configuration.c	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,350 @@
++/*
++ * Copyright (C) 2010 Canonical Ltd.
++ * 
++ * Authors: Jan Arne Petersen <jpetersen@openismus.com>
++ * 
++ * Based on gkbd-status.c by Sergey V. Udaltsov <svu@gnome.org>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
++ * Boston, MA 02110-1335, USA.
++ */
++
++#include <memory.h>
++
++#include <gdk/gdkkeysyms.h>
++#include <gdk/gdkx.h>
++#include <glib/gi18n.h>
++
++#include <libgnomekbd/gkbd-desktop-config.h>
++#include <libgnomekbd/gkbd-indicator-config.h>
++
++#include "gkbd-configuration.h"
++
++struct _GkbdConfigurationPrivate {
++	XklEngine *engine;
++	XklConfigRegistry *registry;
++
++	GkbdDesktopConfig cfg;
++	GkbdIndicatorConfig ind_cfg;
++	GkbdKeyboardConfig kbd_cfg;
++
++	gchar **full_group_names;
++	gchar **short_group_names;
++
++	gulong state_changed_handler;
++	gulong config_changed_handler;
++};
++
++enum {
++	SIGNAL_CHANGED,
++	SIGNAL_GROUP_CHANGED,
++	LAST_SIGNAL
++};
++
++static guint signals[LAST_SIGNAL] = { 0, };
++
++#define GKBD_CONFIGURATION_GET_PRIVATE(o) \
++	(G_TYPE_INSTANCE_GET_PRIVATE ((o), GKBD_TYPE_CONFIGURATION, GkbdConfigurationPrivate))
++
++G_DEFINE_TYPE (GkbdConfiguration, gkbd_configuration, G_TYPE_OBJECT)
++
++/* Should be called once for all widgets */
++static void
++gkbd_configuration_cfg_changed (GSettings *settings,
++				 const char *key,
++				 GkbdConfiguration * configuration)
++{
++	GkbdConfigurationPrivate *priv = configuration->priv;
++
++	xkl_debug (100,
++		   "General configuration changed in GSettings - reiniting...\n");
++	gkbd_desktop_config_load (&priv->cfg);
++	gkbd_desktop_config_activate (&priv->cfg);
++
++	g_signal_emit (configuration,
++		       signals[SIGNAL_CHANGED], 0);
++}
++
++/* Should be called once for all widgets */
++static void
++gkbd_configuration_ind_cfg_changed (GSettings *settings,
++				     const char *key,
++				     GkbdConfiguration * configuration)
++{
++	GkbdConfigurationPrivate *priv = configuration->priv;
++	xkl_debug (100,
++		   "Applet configuration changed in GSettings - reiniting...\n");
++	gkbd_indicator_config_load (&priv->ind_cfg);
++
++	gkbd_indicator_config_free_image_filenames (&priv->ind_cfg);
++	gkbd_indicator_config_load_image_filenames (&priv->ind_cfg,
++						    &priv->kbd_cfg);
++
++	gkbd_indicator_config_activate (&priv->ind_cfg);
++
++	g_signal_emit (configuration,
++		       signals[SIGNAL_CHANGED], 0);
++}
++
++static void
++gkbd_configuration_load_group_names (GkbdConfiguration * configuration,
++				     XklConfigRec * xklrec)
++{
++	GkbdConfigurationPrivate *priv = configuration->priv;
++
++	if (!gkbd_desktop_config_load_group_descriptions (&priv->cfg,
++							  priv->registry,
++							  (const char **) xklrec->layouts,
++							  (const char **) xklrec->variants,
++	     						  &priv->short_group_names,
++							  &priv->full_group_names)) {
++		/* We just populate no short names (remain NULL) - 
++		 * full names are going to be used anyway */
++		gint i, total_groups =
++		    xkl_engine_get_num_groups (priv->engine);
++		xkl_debug (150, "group descriptions loaded: %d!\n",
++			   total_groups);
++		priv->full_group_names =
++		    g_new0 (char *, total_groups + 1);
++
++		if (xkl_engine_get_features (priv->engine) &
++		    XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
++			for (i = 0; priv->kbd_cfg.layouts_variants[i]; i++) {
++				priv->full_group_names[i] =
++				    g_strdup ((char *) priv->kbd_cfg.layouts_variants[i]);
++			}
++		} else {
++			for (i = total_groups; --i >= 0;) {
++				priv->full_group_names[i] =
++				    g_strdup_printf ("Group %d", i);
++			}
++		}
++	}
++}
++
++/* Should be called once for all widgets */
++static void
++gkbd_configuration_kbd_cfg_callback (XklEngine *engine,
++				     GkbdConfiguration *configuration)
++{
++	GkbdConfigurationPrivate *priv = configuration->priv;
++	XklConfigRec *xklrec = xkl_config_rec_new ();
++	xkl_debug (100,
++		   "XKB configuration changed on X Server - reiniting...\n");
++
++	gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg,
++						  xklrec);
++
++	gkbd_indicator_config_free_image_filenames (&priv->ind_cfg);
++	gkbd_indicator_config_load_image_filenames (&priv->ind_cfg,
++						    &priv->kbd_cfg);
++
++	g_strfreev (priv->full_group_names);
++	priv->full_group_names = NULL;
++
++	g_strfreev (priv->short_group_names);
++	priv->short_group_names = NULL;
++
++	gkbd_configuration_load_group_names (configuration,
++				 	     xklrec);
++
++	g_signal_emit (configuration,
++		       signals[SIGNAL_CHANGED],
++		       0);
++
++	g_object_unref (G_OBJECT (xklrec));
++}
++
++/* Should be called once for all applets */
++static void
++gkbd_configuration_state_callback (XklEngine * engine,
++				   XklEngineStateChange changeType,
++			    	   gint group, gboolean restore,
++				   GkbdConfiguration * configuration)
++{
++	xkl_debug (150, "group is now %d, restore: %d\n", group, restore);
++
++	if (changeType == GROUP_CHANGED) {
++		g_signal_emit (configuration,
++			       signals[SIGNAL_GROUP_CHANGED], 0,
++			       group);
++	}
++}
++
++static void
++gkbd_configuration_init (GkbdConfiguration *configuration)
++{
++	GkbdConfigurationPrivate *priv;
++	XklConfigRec *xklrec = xkl_config_rec_new ();
++
++	priv = GKBD_CONFIGURATION_GET_PRIVATE (configuration);
++	configuration->priv = priv;
++
++	priv->engine = xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
++	if (priv->engine == NULL) {
++		xkl_debug (0, "Libxklavier initialization error");
++		return;
++	}
++
++	priv->state_changed_handler =
++	    g_signal_connect (priv->engine, "X-state-changed",
++			      G_CALLBACK (gkbd_configuration_state_callback),
++			      configuration);
++	priv->config_changed_handler =
++	    g_signal_connect (priv->engine, "X-config-changed",
++			      G_CALLBACK (gkbd_configuration_kbd_cfg_callback),
++			      configuration);
++
++	gkbd_desktop_config_init (&priv->cfg, priv->engine);
++	gkbd_keyboard_config_init (&priv->kbd_cfg, priv->engine);
++	gkbd_indicator_config_init (&priv->ind_cfg, priv->engine);
++
++	gkbd_desktop_config_load (&priv->cfg);
++	gkbd_desktop_config_activate (&priv->cfg);
++
++	priv->registry = xkl_config_registry_get_instance (priv->engine);
++	xkl_config_registry_load (priv->registry,
++				  priv->cfg.load_extra_items);
++
++	gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg,
++						  xklrec);
++
++	gkbd_indicator_config_load (&priv->ind_cfg);
++
++	gkbd_indicator_config_load_image_filenames (&priv->ind_cfg,
++						    &priv->kbd_cfg);
++
++	gkbd_indicator_config_activate (&priv->ind_cfg);
++
++	gkbd_configuration_load_group_names (configuration,
++					     xklrec);
++	g_object_unref (G_OBJECT (xklrec));
++
++	gkbd_desktop_config_start_listen (&priv->cfg,
++					  G_CALLBACK (gkbd_configuration_cfg_changed),
++					  configuration);
++	gkbd_indicator_config_start_listen (&priv->ind_cfg,
++					    G_CALLBACK (gkbd_configuration_ind_cfg_changed),
++					    configuration);
++	xkl_engine_start_listen (priv->engine,
++				 XKLL_TRACK_KEYBOARD_STATE);
++
++	xkl_debug (100, "Initiating the widget startup process for %p\n",
++		   configuration);
++}
++
++static void
++gkbd_configuration_finalize (GObject * obj)
++{
++	GkbdConfiguration *configuration = GKBD_CONFIGURATION (obj);
++	GkbdConfigurationPrivate *priv = configuration->priv;
++
++	xkl_debug (100,
++		   "Starting the gnome-kbd-configuration widget shutdown process for %p\n",
++		   configuration);
++
++	xkl_engine_stop_listen (priv->engine,
++				XKLL_TRACK_KEYBOARD_STATE);
++
++	gkbd_desktop_config_stop_listen (&priv->cfg);
++	gkbd_indicator_config_stop_listen (&priv->ind_cfg);
++
++	gkbd_indicator_config_term (&priv->ind_cfg);
++	gkbd_keyboard_config_term (&priv->kbd_cfg);
++	gkbd_desktop_config_term (&priv->cfg);
++
++	if (g_signal_handler_is_connected (priv->engine,
++					   priv->state_changed_handler)) {
++		g_signal_handler_disconnect (priv->engine,
++					     priv->state_changed_handler);
++		priv->state_changed_handler = 0;
++	}
++	if (g_signal_handler_is_connected (priv->engine,
++					   priv->config_changed_handler)) {
++		g_signal_handler_disconnect (priv->engine,
++					     priv->config_changed_handler);
++		priv->config_changed_handler = 0;
++	}
++
++	g_object_unref (priv->registry);
++	priv->registry = NULL;
++	g_object_unref (priv->engine);
++	priv->engine = NULL;
++
++	G_OBJECT_CLASS (gkbd_configuration_parent_class)->finalize (obj);
++}
++
++static void
++gkbd_configuration_class_init (GkbdConfigurationClass * klass)
++{
++	GObjectClass *object_class = G_OBJECT_CLASS (klass);
++
++	/* Initing vtable */
++	object_class->finalize = gkbd_configuration_finalize;
++
++	/* Signals */
++	signals[SIGNAL_CHANGED] = g_signal_new ("changed",
++						GKBD_TYPE_CONFIGURATION,
++						G_SIGNAL_RUN_LAST,
++						0,
++						NULL, NULL,
++						g_cclosure_marshal_VOID__VOID,
++						G_TYPE_NONE,
++						0);
++	signals[SIGNAL_GROUP_CHANGED] = g_signal_new ("group-changed",
++						      GKBD_TYPE_CONFIGURATION,
++						      G_SIGNAL_RUN_LAST,
++						      0,
++						      NULL, NULL,
++						      g_cclosure_marshal_VOID__INT,
++						      G_TYPE_NONE,
++						      1,
++						      G_TYPE_INT);
++
++	g_type_class_add_private (klass, sizeof (GkbdConfigurationPrivate));
++}
++
++GkbdConfiguration *
++gkbd_configuration_get (void)
++{
++	static gpointer instance = NULL;
++
++	if (!instance) {
++		instance = g_object_new (GKBD_TYPE_CONFIGURATION, NULL);
++		g_object_add_weak_pointer (instance, &instance);
++	} else {
++		g_object_ref (instance);
++	}
++
++	return instance;
++}
++
++XklEngine *
++gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration)
++{
++	return configuration->priv->engine;
++}
++
++const char * const *
++gkbd_configuration_get_group_names (GkbdConfiguration *configuration)
++{
++	return configuration->priv->full_group_names;
++}
++
++const char * const *
++gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration)
++{
++	return configuration->priv->short_group_names;
++}
+diff -uNrp a/plugins/keyboard/xxx/gkbd-configuration.h b/plugins/keyboard/xxx/gkbd-configuration.h
+--- a/plugins/keyboard/xxx/gkbd-configuration.h	1970-01-01 01:00:00.000000000 +0100
++++ b/plugins/keyboard/xxx/gkbd-configuration.h	2013-08-25 16:36:02.000000000 +0100
+@@ -0,0 +1,65 @@
++/*
++ * Copyright (C) 2010 Canonical Ltd.
++ * 
++ * Authors: Jan Arne Petersen <jpetersen@openismus.com>
++ * 
++ * Based on gkbd-status.h by Sergey V. Udaltsov <svu@gnome.org>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
++ * Boston, MA 02110-1335, USA.
++ */
++
++#ifndef __GKBD_CONFIGURATION_H__
++#define __GKBD_CONFIGURATION_H__
++
++#include <glib-object.h>
++
++#include <libxklavier/xklavier.h>
++
++G_BEGIN_DECLS
++
++typedef struct _GkbdConfiguration GkbdConfiguration;
++typedef struct _GkbdConfigurationPrivate GkbdConfigurationPrivate;
++typedef struct _GkbdConfigurationClass GkbdConfigurationClass;
++
++#define GKBD_TYPE_CONFIGURATION           (gkbd_configuration_get_type ())
++#define GKBD_CONFIGURATION(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfiguration))
++#define GKBD_INDCATOR_CLASS(obj)          (G_TYPE_CHECK_CLASS_CAST ((obj), GKBD_TYPE_CONFIGURATION,  GkbdConfigurationClass))
++#define GKBD_IS_CONFIGURATION(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKBD_TYPE_CONFIGURATION))
++#define GKBD_IS_CONFIGURATION_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE ((obj), GKBD_TYPE_CONFIGURATION))
++#define GKBD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass))
++
++struct _GkbdConfiguration {
++	GObject parent;
++
++	GkbdConfigurationPrivate *priv;
++};
++
++struct _GkbdConfigurationClass {
++	GObjectClass parent_class;
++};
++
++extern GType gkbd_configuration_get_type (void);
++
++extern GkbdConfiguration *gkbd_configuration_get (void);
++
++extern XklEngine *gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration);
++
++extern const char * const *gkbd_configuration_get_group_names (GkbdConfiguration *configuration);
++extern const char * const *gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration);
++
++G_END_DECLS
++
++#endif
+diff -uNrp a/plugins/media-keys/csd-media-keys-manager.c b/plugins/media-keys/csd-media-keys-manager.c
+--- a/plugins/media-keys/csd-media-keys-manager.c	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/media-keys/csd-media-keys-manager.c	2013-08-25 16:36:02.000000000 +0100
+@@ -120,6 +120,10 @@ static const gchar kb_introspection_xml[
+ #define VOLUME_STEP 6           /* percents for one volume button press */
+ #define MAX_VOLUME 65536.0
+ 
++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources"
++#define KEY_CURRENT_INPUT_SOURCE "current"
++#define KEY_INPUT_SOURCES        "sources"
++
+ #define CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_MEDIA_KEYS_MANAGER, CsdMediaKeysManagerPrivate))
+ 
+ typedef struct {
+@@ -1750,6 +1754,40 @@ do_keyboard_brightness_action (CsdMediaK
+                            manager);
+ }
+ 
++static void
++do_switch_input_source_action (CsdMediaKeysManager *manager,
++                               MediaKeyType         type)
++{
++        GSettings *settings;
++        GVariant *sources;
++        gint i, n;
++
++        settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
++        sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
++
++        n = g_variant_n_children (sources);
++        if (n < 2)
++                goto out;
++
++        i = g_settings_get_uint (settings, KEY_CURRENT_INPUT_SOURCE);
++
++        if (type == SWITCH_INPUT_SOURCE_KEY)
++                i += 1;
++        else
++                i -= 1;
++
++        if (i < 0)
++                i = n - 1;
++        else if (i >= n)
++                i = 0;
++
++        g_settings_set_uint (settings, KEY_CURRENT_INPUT_SOURCE, i);
++
++ out:
++        g_variant_unref (sources);
++        g_object_unref (settings);
++}
++
+ static gboolean
+ do_action (CsdMediaKeysManager *manager,
+            guint                deviceid,
+@@ -1908,6 +1946,10 @@ do_action (CsdMediaKeysManager *manager,
+         case BATTERY_KEY:
+                 do_execute_desktop (manager, "gnome-power-statistics.desktop", timestamp);
+                 break;
++        case SWITCH_INPUT_SOURCE_KEY:
++        case SWITCH_INPUT_SOURCE_BACKWARD_KEY:
++                do_switch_input_source_action (manager, type);
++                break;
+         /* Note, no default so compiler catches missing keys */
+         case CUSTOM_KEY:
+                 g_assert_not_reached ();
+diff -uNrp a/plugins/media-keys/shortcuts-list.h b/plugins/media-keys/shortcuts-list.h
+--- a/plugins/media-keys/shortcuts-list.h	2013-08-24 18:04:31.000000000 +0100
++++ b/plugins/media-keys/shortcuts-list.h	2013-08-25 16:36:02.000000000 +0100
+@@ -81,6 +81,8 @@ typedef enum {
+         KEYBOARD_BRIGHTNESS_DOWN_KEY,
+         KEYBOARD_BRIGHTNESS_TOGGLE_KEY,
+         BATTERY_KEY,
++        SWITCH_INPUT_SOURCE_KEY,
++        SWITCH_INPUT_SOURCE_BACKWARD_KEY,
+         CUSTOM_KEY
+ } MediaKeyType;
+ 
+@@ -148,6 +150,9 @@ static struct {
+         { KEYBOARD_BRIGHTNESS_UP_KEY, NULL, "XF86KbdBrightnessUp" },
+         { KEYBOARD_BRIGHTNESS_DOWN_KEY, NULL, "XF86KbdBrightnessDown" },
+         { KEYBOARD_BRIGHTNESS_TOGGLE_KEY, NULL, "XF86KbdLightOnOff" },
++        { SWITCH_INPUT_SOURCE_KEY, "switch-input-source", NULL },
++        { SWITCH_INPUT_SOURCE_BACKWARD_KEY, "switch-input-source-backward", NULL },
++
+         { BATTERY_KEY, NULL, "XF86Battery" },
+ };
+ 
diff --git a/pkgs/desktops/cinnamon/muffin.nix b/pkgs/desktops/cinnamon/muffin.nix
new file mode 100644
index 00000000000..a1fd6b97ac1
--- /dev/null
+++ b/pkgs/desktops/cinnamon/muffin.nix
@@ -0,0 +1,47 @@
+
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, gtk3,intltool,
+cinnamon-desktop, clutter, cogl, zenity, python, gnome_doc_utils, makeWrapper}:
+
+let
+  version = "2.0.5";
+in
+stdenv.mkDerivation {
+  name = "muffin-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/linuxmint/muffin/archive/${version}.tar.gz";
+    sha256 = "1vn7shxwyxsa6dd3zldrnc0095i1y0rq0944n8kak3m85r2pv9c1";
+  };
+
+
+  configureFlags = "--enable-compile-warnings=minium" ;
+
+  patches = [./gtkdoc.patch];
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    glib gettext gnome_common
+    gtk3 intltool cinnamon-desktop
+    clutter cogl zenity python
+    gnome_doc_utils makeWrapper];
+
+  preBuild = "patchShebangs ./scripts";
+
+
+  postFixup  = ''
+
+    for f in "$out/bin/"*; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "The cinnamon session files" ;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/cinnamon/region.patch b/pkgs/desktops/cinnamon/region.patch
new file mode 100644
index 00000000000..7b8133e820e
--- /dev/null
+++ b/pkgs/desktops/cinnamon/region.patch
@@ -0,0 +1,5314 @@
+ 
+diff -uNrp a/configure.ac b/configure.ac
+--- a/configure.ac	2013-08-25 14:40:14.000000000 +0100
++++ b/configure.ac	2013-08-25 16:50:30.000000000 +0100
+@@ -82,6 +82,22 @@ else
+   SYSTEMD=
+ fi
+ 
++# IBus support
++IBUS_REQUIRED_VERSION=1.4.2
++
++#AC_ARG_ENABLE(ibus,
++#        AS_HELP_STRING([--disable-ibus],
++#                       [Disable IBus support]),
++#        enable_ibus=$enableval,
++#        enable_ibus=yes)
++enable_ibus=yes
++#if test "x$enable_ibus" = "xyes" ; then
++IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION"
++AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled])
++#else
++#        IBUS_MODULE=
++#fi
++
+ dnl ==============================================
+ dnl Check that we meet the  dependencies
+ dnl ==============================================
+@@ -119,9 +135,10 @@ PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON
+ PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1
+                   cinnamon-settings-daemon >= $CSD_REQUIRED_VERSION)
+ PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES colord >= 0.1.8)
+-PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES libgnomekbd >= 2.91.91
++PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES
+                   polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
+-                  libxklavier >= 5.1 libgnomekbdui >= 2.91.91)
++                  cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED_VERSION
++                  $IBUS_MODULE)
+ PKG_CHECK_MODULES(SCREEN_PANEL, $COMMON_MODULES)
+ PKG_CHECK_MODULES(SOUND_PANEL, $COMMON_MODULES libxml-2.0
+                   libcanberra-gtk3 >= $CANBERRA_REQUIRED_VERSION
+diff -uNrp a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c
+--- a/panels/region/cc-region-panel.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cc-region-panel.c	2013-09-21 13:24:15.329949897 +0100
+@@ -18,17 +18,18 @@
+  * Author: Sergey Udaltsov <svu@gnome.org>
+  *
+  */
+-#include "config.h"
++
+ #include "cc-region-panel.h"
++#include <config.h>
+ #include <gtk/gtk.h>
+ #include <glib/gi18n-lib.h>
+ 
+-#include "cinnamon-region-panel-xkb.h"
++#include "cinnamon-region-panel-input.h"
+ #include "cinnamon-region-panel-lang.h"
+ #include "cinnamon-region-panel-formats.h"
+ #include "cinnamon-region-panel-system.h"
+ 
+-G_DEFINE_DYNAMIC_TYPE (CcRegionPanel, cc_region_panel, CC_TYPE_PANEL)
++CC_PANEL_REGISTER (CcRegionPanel, cc_region_panel)
+ 
+ #define REGION_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_REGION_PANEL, CcRegionPanelPrivate))
+ 
+@@ -48,14 +49,6 @@ enum {
+ 	SYSTEM_PAGE
+ };
+ 
+-
+-static gboolean
+-languages_link_cb (GtkButton *button, gpointer user_data)
+-{
+-    g_spawn_command_line_async ("gnome-language-selector", NULL);
+-    return TRUE;
+-}
+-
+ static void
+ cc_region_panel_set_page (CcRegionPanel *panel,
+ 			  const char    *page)
+@@ -116,13 +109,22 @@ cc_region_panel_finalize (GObject * obje
+ 	G_OBJECT_CLASS (cc_region_panel_parent_class)->finalize (object);
+ }
+ 
++static const char *
++cc_region_panel_get_help_uri (CcPanel *panel)
++{
++  return "help:gnome-help/prefs-language";
++}
++
+ static void
+ cc_region_panel_class_init (CcRegionPanelClass * klass)
+ {
+ 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
++	CcPanelClass * panel_class = CC_PANEL_CLASS (klass);
+ 
+ 	g_type_class_add_private (klass, sizeof (CcRegionPanelPrivate));
+ 
++	panel_class->get_help_uri = cc_region_panel_get_help_uri;
++
+ 	object_class->set_property = cc_region_panel_set_property;
+ 	object_class->finalize = cc_region_panel_finalize;
+ 
+@@ -130,22 +132,14 @@ cc_region_panel_class_init (CcRegionPane
+ }
+ 
+ static void
+-cc_region_panel_class_finalize (CcRegionPanelClass * klass)
+-{
+-}
+-
+-static void
+ cc_region_panel_init (CcRegionPanel * self)
+ {
+ 	CcRegionPanelPrivate *priv;
+ 	GtkWidget *prefs_widget;
+-	const char *desktop;
+ 	GError *error = NULL;
+ 
+ 	priv = self->priv = REGION_PANEL_PRIVATE (self);
+ 
+-	desktop = g_getenv ("XDG_CURRENT_DESKTOP");
+-
+ 	priv->builder = gtk_builder_new ();
+     gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE);
+ 	gtk_builder_add_from_file (priv->builder,
+@@ -157,29 +151,16 @@ cc_region_panel_init (CcRegionPanel * se
+ 		return;
+ 	}
+ 
+-    prefs_widget = (GtkWidget *) gtk_builder_get_object (priv->builder,
+-                                                         "region_notebook");
+-
++	prefs_widget = (GtkWidget *) gtk_builder_get_object (priv->builder,
++							     "region_notebook");
+ 	gtk_widget_set_size_request (GTK_WIDGET (prefs_widget), -1, 400);
+ 
+ 	gtk_widget_reparent (prefs_widget, GTK_WIDGET (self));
+ 
+-    setup_xkb_tabs (priv->builder);
+-
+-    setup_language (priv->builder);
+-    setup_formats (priv->builder);
+-    setup_system (priv->builder);
+-
+-        /* set screen link */
+-
+-    GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (self->priv->builder,
+-                                                            "get_languages_button"));
+-
+-    gtk_button_set_label (GTK_BUTTON (widget), _("Get more languages..."));
+-
+-    g_signal_connect (widget, "clicked",
+-                      G_CALLBACK (languages_link_cb),
+-                      self);
++        setup_input_tabs (priv->builder, self);
++	setup_language (priv->builder);
++	setup_formats (priv->builder);
++	setup_system (priv->builder);
+ }
+ 
+ void
+@@ -187,6 +168,7 @@ cc_region_panel_register (GIOModule * mo
+ {
+     bindtextdomain (GETTEXT_PACKAGE, "/usr/share/cinnamon/locale");
+     bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++
+ 	cc_region_panel_register_type (G_TYPE_MODULE (module));
+ 	g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT,
+ 					CC_TYPE_REGION_PANEL,
+diff -uNrp a/panels/region/cinnamon-region-panel-formats.h b/panels/region/cinnamon-region-panel-formats.h
+--- a/panels/region/cinnamon-region-panel-formats.h	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-formats.h	2013-09-21 13:24:15.332949789 +0100
+@@ -19,8 +19,8 @@
+  * 02110-1335, USA.
+  */
+ 
+-#ifndef __GNOME_REGION_PANEL_FORMATS_H
+-#define __GNOME_REGION_PANEL_FORMATS_H
++#ifndef __CINNAMON_REGION_PANEL_FORMATS_H
++#define __CINNAMON_REGION_PANEL_FORMATS_H
+ 
+ #include <gtk/gtk.h>
+ 
+diff -uNrp a/panels/region/cinnamon-region-panel-input.c b/panels/region/cinnamon-region-panel-input.c
+--- a/panels/region/cinnamon-region-panel-input.c	1970-01-01 01:00:00.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-input.c	2013-09-21 13:24:15.338949572 +0100
+@@ -0,0 +1,1563 @@
++/*
++ * Copyright (C) 2011 Red Hat, Inc.
++ *
++ * Written by: Matthias Clasen <mclasen@redhat.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
++ * 02110-1335, USA.
++ */
++
++#include <config.h>
++
++#include <string.h>
++
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <gio/gdesktopappinfo.h>
++
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include <libcinnamon-desktop/gnome-xkb-info.h>
++
++#ifdef HAVE_IBUS
++#include <ibus.h>
++#endif
++
++#include "gdm-languages.h"
++#include "cinnamon-region-panel-input.h"
++
++#define WID(s) GTK_WIDGET(gtk_builder_get_object (builder, s))
++
++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources"
++
++#define KEY_CURRENT_INPUT_SOURCE "current"
++#define KEY_INPUT_SOURCES        "sources"
++
++#define INPUT_SOURCE_TYPE_XKB  "xkb"
++#define INPUT_SOURCE_TYPE_IBUS "ibus"
++
++enum {
++  NAME_COLUMN,
++  TYPE_COLUMN,
++  ID_COLUMN,
++  SETUP_COLUMN,
++  N_COLUMNS
++};
++
++static GSettings *input_sources_settings = NULL;
++static GnomeXkbInfo *xkb_info = NULL;
++static GtkWidget *input_chooser = NULL; /* weak pointer */
++
++#ifdef HAVE_IBUS
++static IBusBus *ibus = NULL;
++static GHashTable *ibus_engines = NULL;
++static GCancellable *ibus_cancellable = NULL;
++static guint shell_name_watch_id = 0;
++
++static const gchar *supported_ibus_engines[] = {
++  /* Simplified Chinese */
++  "pinyin",
++  "bopomofo",
++  "wubi",
++  "erbi",
++  /* Default in Fedora, where ibus-libpinyin replaces ibus-pinyin */
++  "libpinyin",
++  "libbopomofo",
++
++  /* Traditional Chinese */
++  /* https://bugzilla.gnome.org/show_bug.cgi?id=680840 */
++  "chewing",
++  "cangjie5",
++  "cangjie3",
++  "quick5",
++  "quick3",
++  "stroke5",
++
++  /* Japanese */
++  "anthy",
++  "mozc-jp",
++  "skk",
++
++  /* Korean */
++  "hangul",
++
++  /* Thai */
++  "m17n:th:kesmanee",
++  "m17n:th:pattachote",
++  "m17n:th:tis820",
++
++  /* Vietnamese */
++  "m17n:vi:tcvn",
++  "m17n:vi:telex",
++  "m17n:vi:viqr",
++  "m17n:vi:vni",
++  "Unikey",
++
++  /* Sinhala */
++  "m17n:si:wijesekera",
++  "m17n:si:phonetic-dynamic",
++  "m17n:si:trans",
++  "sayura",
++
++  /* Indic */
++  /* https://fedoraproject.org/wiki/I18N/Indic#Keyboard_Layouts */
++
++  /* Assamese */
++  "m17n:as:phonetic",
++  "m17n:as:inscript",
++  "m17n:as:itrans",
++
++  /* Bengali */
++  "m17n:bn:inscript",
++  "m17n:bn:itrans",
++  "m17n:bn:probhat",
++
++  /* Gujarati */
++  "m17n:gu:inscript",
++  "m17n:gu:itrans",
++  "m17n:gu:phonetic",
++
++  /* Hindi */
++  "m17n:hi:inscript",
++  "m17n:hi:itrans",
++  "m17n:hi:phonetic",
++  "m17n:hi:remington",
++  "m17n:hi:typewriter",
++  "m17n:hi:vedmata",
++
++  /* Kannada */
++  "m17n:kn:kgp",
++  "m17n:kn:inscript",
++  "m17n:kn:itrans",
++
++  /* Kashmiri */
++  "m17n:ks:inscript",
++
++  /* Maithili */
++  "m17n:mai:inscript",
++
++  /* Malayalam */
++  "m17n:ml:inscript",
++  "m17n:ml:itrans",
++  "m17n:ml:mozhi",
++  "m17n:ml:swanalekha",
++
++  /* Marathi */
++  "m17n:mr:inscript",
++  "m17n:mr:itrans",
++  "m17n:mr:phonetic",
++
++  /* Nepali */
++  "m17n:ne:rom",
++  "m17n:ne:trad",
++
++  /* Oriya */
++  "m17n:or:inscript",
++  "m17n:or:itrans",
++  "m17n:or:phonetic",
++
++  /* Punjabi */
++  "m17n:pa:inscript",
++  "m17n:pa:itrans",
++  "m17n:pa:phonetic",
++  "m17n:pa:jhelum",
++
++  /* Sanskrit */
++  "m17n:sa:harvard-kyoto",
++
++  /* Sindhi */
++  "m17n:sd:inscript",
++
++  /* Tamil */
++  "m17n:ta:tamil99",
++  "m17n:ta:inscript",
++  "m17n:ta:itrans",
++  "m17n:ta:phonetic",
++  "m17n:ta:lk-renganathan",
++  "m17n:ta:vutam",
++  "m17n:ta:typewriter",
++
++  /* Telugu */
++  "m17n:te:inscript",
++  "m17n:te:apple",
++  "m17n:te:pothana",
++  "m17n:te:rts",
++
++  /* Urdu */
++  "m17n:ur:phonetic",
++
++  /* Inscript2 - https://bugzilla.gnome.org/show_bug.cgi?id=684854 */
++  "m17n:as:inscript2",
++  "m17n:bn:inscript2",
++  "m17n:brx:inscript2-deva",
++  "m17n:doi:inscript2-deva",
++  "m17n:gu:inscript2",
++  "m17n:hi:inscript2",
++  "m17n:kn:inscript2",
++  "m17n:kok:inscript2-deva",
++  "m17n:mai:inscript2",
++  "m17n:ml:inscript2",
++  "m17n:mni:inscript2-beng",
++  "m17n:mni:inscript2-mtei",
++  "m17n:mr:inscript2",
++  "m17n:ne:inscript2-deva",
++  "m17n:or:inscript2",
++  "m17n:pa:inscript2-guru",
++  "m17n:sa:inscript2",
++  "m17n:sat:inscript2-deva",
++  "m17n:sat:inscript2-olck",
++  "m17n:sd:inscript2-deva",
++  "m17n:ta:inscript2",
++  "m17n:te:inscript2",
++
++  /* No corresponding XKB map available for the languages */
++
++  /* Chinese Yi */
++  "m17n:ii:phonetic",
++
++  /* Tai-Viet */
++  "m17n:tai:sonla",
++
++  /* Kazakh in Arabic script */
++  "m17n:kk:arabic",
++
++  /* Yiddish */
++  "m17n:yi:yivo",
++
++  /* Canadian Aboriginal languages */
++  "m17n:ath:phonetic",
++  "m17n:bla:phonetic",
++  "m17n:cr:western",
++  "m17n:iu:phonetic",
++  "m17n:nsk:phonetic",
++  "m17n:oj:phonetic",
++
++  /* Non-trivial engines, like transliteration-based instead of
++     keymap-based.  Confirmation needed that the engines below are
++     actually used by local language users. */
++
++  /* Tibetan */
++  "m17n:bo:ewts",
++  "m17n:bo:tcrc",
++  "m17n:bo:wylie",
++
++  /* Esperanto */
++  "m17n:eo:h-f",
++  "m17n:eo:h",
++  "m17n:eo:plena",
++  "m17n:eo:q",
++  "m17n:eo:vi",
++  "m17n:eo:x",
++
++  /* Amharic */
++  "m17n:am:sera",
++
++  /* Russian */
++  "m17n:ru:translit",
++
++  /* Classical Greek */
++  "m17n:grc:mizuochi",
++
++  /* Lao */
++  "m17n:lo:lrt",
++
++  /* Postfix modifier input methods */
++  "m17n:da:post",
++  "m17n:sv:post",
++  NULL
++};
++#endif  /* HAVE_IBUS */
++
++static void       populate_model             (GtkListStore  *store,
++                                              GtkListStore  *active_sources_store);
++static GtkWidget *input_chooser_new          (GtkWindow     *main_window,
++                                              GtkListStore  *active_sources);
++static gboolean   input_chooser_get_selected (GtkWidget     *chooser,
++                                              GtkTreeModel **model,
++                                              GtkTreeIter   *iter);
++static GtkTreeModel *tree_view_get_actual_model (GtkTreeView *tv);
++
++static gboolean
++strv_contains (const gchar * const *strv,
++               const gchar         *str)
++{
++  const gchar * const *p = strv;
++  for (p = strv; *p; p++)
++    if (g_strcmp0 (*p, str) == 0)
++      return TRUE;
++
++  return FALSE;
++}
++
++#ifdef HAVE_IBUS
++static void
++clear_ibus (void)
++{
++  if (shell_name_watch_id > 0)
++    {
++      g_bus_unwatch_name (shell_name_watch_id);
++      shell_name_watch_id = 0;
++    }
++  g_cancellable_cancel (ibus_cancellable);
++  g_clear_object (&ibus_cancellable);
++  g_clear_pointer (&ibus_engines, g_hash_table_destroy);
++  g_clear_object (&ibus);
++}
++
++static gchar *
++engine_get_display_name (IBusEngineDesc *engine_desc)
++{
++  const gchar *name;
++  const gchar *language_code;
++  const gchar *language;
++  gchar *display_name;
++
++  name = ibus_engine_desc_get_longname (engine_desc);
++  language_code = ibus_engine_desc_get_language (engine_desc);
++  language = ibus_get_language_name (language_code);
++
++  display_name = g_strdup_printf ("%s (%s)", language, name);
++
++  return display_name;
++}
++
++static GDesktopAppInfo *
++setup_app_info_for_id (const gchar *id)
++{
++  GDesktopAppInfo *app_info;
++  gchar *desktop_file_name;
++  gchar **strv;
++
++  strv = g_strsplit (id, ":", 2);
++  desktop_file_name = g_strdup_printf ("ibus-setup-%s.desktop", strv[0]);
++  g_strfreev (strv);
++
++  app_info = g_desktop_app_info_new (desktop_file_name);
++  g_free (desktop_file_name);
++
++  return app_info;
++}
++
++static void
++input_chooser_repopulate (GtkListStore *active_sources_store)
++{
++  GtkBuilder *builder;
++  GtkListStore *model;
++
++  if (!input_chooser)
++    return;
++
++  builder = g_object_get_data (G_OBJECT (input_chooser), "builder");
++  model = GTK_LIST_STORE (gtk_builder_get_object (builder, "input_source_model"));
++
++  gtk_list_store_clear (model);
++  populate_model (model, active_sources_store);
++}
++
++static void
++update_ibus_active_sources (GtkBuilder *builder)
++{
++  GtkTreeView *tv;
++  GtkTreeModel *model;
++  GtkTreeIter iter;
++  gchar *type, *id;
++  gboolean ret;
++
++  tv = GTK_TREE_VIEW (WID ("active_input_sources"));
++  model = tree_view_get_actual_model (tv);
++
++  ret = gtk_tree_model_get_iter_first (model, &iter);
++  while (ret)
++    {
++      gtk_tree_model_get (model, &iter,
++                          TYPE_COLUMN, &type,
++                          ID_COLUMN, &id,
++                          -1);
++
++      if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS))
++        {
++          IBusEngineDesc *engine_desc = NULL;
++          GDesktopAppInfo *app_info = NULL;
++          gchar *display_name = NULL;
++
++          engine_desc = g_hash_table_lookup (ibus_engines, id);
++          if (engine_desc)
++            {
++              display_name = engine_get_display_name (engine_desc);
++              app_info = setup_app_info_for_id (id);
++
++              gtk_list_store_set (GTK_LIST_STORE (model), &iter,
++                                  NAME_COLUMN, display_name,
++                                  SETUP_COLUMN, app_info,
++                                  -1);
++              g_free (display_name);
++              if (app_info)
++                g_object_unref (app_info);
++            }
++        }
++
++      g_free (type);
++      g_free (id);
++
++      ret = gtk_tree_model_iter_next (model, &iter);
++    }
++
++  input_chooser_repopulate (GTK_LIST_STORE (model));
++}
++
++static void
++fetch_ibus_engines_result (GObject      *object,
++                           GAsyncResult *result,
++                           GtkBuilder   *builder)
++{
++  gboolean show_all_sources;
++  GList *list, *l;
++  GError *error;
++
++  error = NULL;
++  list = ibus_bus_list_engines_async_finish (ibus, result, &error);
++
++  g_clear_object (&ibus_cancellable);
++
++  if (!list && error)
++    {
++      g_warning ("Couldn't finish IBus request: %s", error->message);
++      g_error_free (error);
++      return;
++    }
++
++  show_all_sources = g_settings_get_boolean (input_sources_settings, "show-all-sources");
++
++  /* Maps engine ids to engine description objects */
++  ibus_engines = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref);
++
++  for (l = list; l; l = l->next)
++    {
++      IBusEngineDesc *engine = l->data;
++      const gchar *engine_id = ibus_engine_desc_get_name (engine);
++
++      if (show_all_sources || strv_contains (supported_ibus_engines, engine_id))
++        g_hash_table_replace (ibus_engines, (gpointer)engine_id, engine);
++      else
++        g_object_unref (engine);
++    }
++  g_list_free (list);
++
++  update_ibus_active_sources (builder);
++}
++
++static void
++fetch_ibus_engines (GtkBuilder *builder)
++{
++  ibus_cancellable = g_cancellable_new ();
++
++  ibus_bus_list_engines_async (ibus,
++                               -1,
++                               ibus_cancellable,
++                               (GAsyncReadyCallback)fetch_ibus_engines_result,
++                               builder);
++
++  /* We've got everything we needed, don't want to be called again. */
++  g_signal_handlers_disconnect_by_func (ibus, fetch_ibus_engines, builder);
++}
++
++static void
++maybe_start_ibus (void)
++{
++  /* IBus doesn't export API in the session bus. The only thing
++   * we have there is a well known name which we can use as a
++   * sure-fire way to activate it. */
++  g_bus_unwatch_name (g_bus_watch_name (G_BUS_TYPE_SESSION,
++                                        IBUS_SERVICE_IBUS,
++                                        G_BUS_NAME_WATCHER_FLAGS_AUTO_START,
++                                        NULL,
++                                        NULL,
++                                        NULL,
++                                        NULL));
++}
++
++static void
++on_shell_appeared (GDBusConnection *connection,
++                   const gchar     *name,
++                   const gchar     *name_owner,
++                   gpointer         data)
++{
++  GtkBuilder *builder = data;
++
++  if (!ibus)
++    {
++      ibus = ibus_bus_new ();
++      if (ibus_bus_is_connected (ibus))
++        fetch_ibus_engines (builder);
++      else
++        g_signal_connect_swapped (ibus, "connected",
++                                  G_CALLBACK (fetch_ibus_engines), builder);
++    }
++  maybe_start_ibus ();
++}
++#endif  /* HAVE_IBUS */
++
++static gboolean
++add_source_to_table (GtkTreeModel *model,
++                     GtkTreePath  *path,
++                     GtkTreeIter  *iter,
++                     gpointer      data)
++{
++  GHashTable *hash = data;
++  gchar *type;
++  gchar *id;
++
++  gtk_tree_model_get (model, iter,
++                      TYPE_COLUMN, &type,
++                      ID_COLUMN, &id,
++                      -1);
++
++  g_hash_table_add (hash, g_strconcat (type, id, NULL));
++
++  g_free (type);
++  g_free (id);
++
++  return FALSE;
++}
++
++static void
++populate_model (GtkListStore *store,
++                GtkListStore *active_sources_store)
++{
++  GHashTable *active_sources_table;
++  GtkTreeIter iter;
++  const gchar *name;
++  GList *sources, *tmp;
++  gchar *source_id = NULL;
++
++  active_sources_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
++
++  gtk_tree_model_foreach (GTK_TREE_MODEL (active_sources_store),
++                          add_source_to_table,
++                          active_sources_table);
++
++  sources = gnome_xkb_info_get_all_layouts (xkb_info);
++
++  for (tmp = sources; tmp; tmp = tmp->next)
++    {
++      g_free (source_id);
++      source_id = g_strconcat (INPUT_SOURCE_TYPE_XKB, tmp->data, NULL);
++
++      if (g_hash_table_contains (active_sources_table, source_id))
++        continue;
++
++      gnome_xkb_info_get_layout_info (xkb_info, (const gchar *)tmp->data,
++                                      &name, NULL, NULL, NULL);
++
++      gtk_list_store_append (store, &iter);
++      gtk_list_store_set (store, &iter,
++                          NAME_COLUMN, name,
++                          TYPE_COLUMN, INPUT_SOURCE_TYPE_XKB,
++                          ID_COLUMN, tmp->data,
++                          -1);
++    }
++  g_free (source_id);
++
++  g_list_free (sources);
++
++#ifdef HAVE_IBUS
++  if (ibus_engines)
++    {
++      gchar *display_name;
++
++      sources = g_hash_table_get_keys (ibus_engines);
++
++      source_id = NULL;
++      for (tmp = sources; tmp; tmp = tmp->next)
++        {
++          g_free (source_id);
++          source_id = g_strconcat (INPUT_SOURCE_TYPE_IBUS, tmp->data, NULL);
++
++          if (g_hash_table_contains (active_sources_table, source_id))
++            continue;
++
++          display_name = engine_get_display_name (g_hash_table_lookup (ibus_engines, tmp->data));
++
++          gtk_list_store_append (store, &iter);
++          gtk_list_store_set (store, &iter,
++                              NAME_COLUMN, display_name,
++                              TYPE_COLUMN, INPUT_SOURCE_TYPE_IBUS,
++                              ID_COLUMN, tmp->data,
++                              -1);
++          g_free (display_name);
++        }
++      g_free (source_id);
++
++      g_list_free (sources);
++    }
++#endif
++
++  g_hash_table_destroy (active_sources_table);
++}
++
++static void
++populate_with_active_sources (GtkListStore *store)
++{
++  GVariant *sources;
++  GVariantIter iter;
++  const gchar *name;
++  const gchar *type;
++  const gchar *id;
++  gchar *display_name;
++  GDesktopAppInfo *app_info;
++  GtkTreeIter tree_iter;
++
++  sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES);
++
++  g_variant_iter_init (&iter, sources);
++  while (g_variant_iter_next (&iter, "(&s&s)", &type, &id))
++    {
++      display_name = NULL;
++      app_info = NULL;
++
++      if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB))
++        {
++          gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL);
++          if (!name)
++            {
++              g_warning ("Couldn't find XKB input source '%s'", id);
++              continue;
++            }
++          display_name = g_strdup (name);
++        }
++      else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS))
++        {
++#ifdef HAVE_IBUS
++          IBusEngineDesc *engine_desc = NULL;
++
++          if (ibus_engines)
++            engine_desc = g_hash_table_lookup (ibus_engines, id);
++
++          if (engine_desc)
++            {
++              display_name = engine_get_display_name (engine_desc);
++              app_info = setup_app_info_for_id (id);
++            }
++#else
++          g_warning ("IBus input source type specified but IBus support was not compiled");
++          continue;
++#endif
++        }
++      else
++        {
++          g_warning ("Unknown input source type '%s'", type);
++          continue;
++        }
++
++      gtk_list_store_append (store, &tree_iter);
++      gtk_list_store_set (store, &tree_iter,
++                          NAME_COLUMN, display_name,
++                          TYPE_COLUMN, type,
++                          ID_COLUMN, id,
++                          SETUP_COLUMN, app_info,
++                          -1);
++      g_free (display_name);
++      if (app_info)
++        g_object_unref (app_info);
++    }
++
++  g_variant_unref (sources);
++}
++
++static void
++update_configuration (GtkTreeModel *model)
++{
++  GtkTreeIter iter;
++  gchar *type;
++  gchar *id;
++  GVariantBuilder builder;
++  GVariant *old_sources;
++  const gchar *old_current_type;
++  const gchar *old_current_id;
++  guint old_current_index;
++  guint old_n_sources;
++  guint index;
++
++  old_sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES);
++  old_current_index = g_settings_get_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE);
++  old_n_sources = g_variant_n_children (old_sources);
++
++  if (old_n_sources > 0 && old_current_index < old_n_sources)
++    {
++      g_variant_get_child (old_sources,
++                           old_current_index,
++                           "(&s&s)",
++                           &old_current_type,
++                           &old_current_id);
++    }
++  else
++    {
++      old_current_type = "";
++      old_current_id = "";
++    }
++
++  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
++  index = 0;
++  gtk_tree_model_get_iter_first (model, &iter);
++  do
++    {
++      gtk_tree_model_get (model, &iter,
++                          TYPE_COLUMN, &type,
++                          ID_COLUMN, &id,
++                          -1);
++      if (index != old_current_index &&
++          g_str_equal (type, old_current_type) &&
++          g_str_equal (id, old_current_id))
++        {
++          g_settings_set_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE, index);
++        }
++      g_variant_builder_add (&builder, "(ss)", type, id);
++      g_free (type);
++      g_free (id);
++      index += 1;
++    }
++  while (gtk_tree_model_iter_next (model, &iter));
++
++  g_settings_set_value (input_sources_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
++  g_settings_apply (input_sources_settings);
++
++  g_variant_unref (old_sources);
++}
++
++static gboolean
++get_selected_iter (GtkBuilder    *builder,
++                   GtkTreeModel **model,
++                   GtkTreeIter   *iter)
++{
++  GtkTreeSelection *selection;
++
++  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("active_input_sources")));
++
++  return gtk_tree_selection_get_selected (selection, model, iter);
++}
++
++static gint
++idx_from_model_iter (GtkTreeModel *model,
++                     GtkTreeIter  *iter)
++{
++  GtkTreePath *path;
++  gint idx;
++
++  path = gtk_tree_model_get_path (model, iter);
++  if (path == NULL)
++    return -1;
++
++  idx = gtk_tree_path_get_indices (path)[0];
++  gtk_tree_path_free (path);
++
++  return idx;
++}
++
++static void
++update_button_sensitivity (GtkBuilder *builder)
++{
++  GtkWidget *remove_button;
++  GtkWidget *up_button;
++  GtkWidget *down_button;
++  GtkWidget *show_button;
++  GtkWidget *settings_button;
++  GtkTreeView *tv;
++  GtkTreeModel *model;
++  GtkTreeIter iter;
++  gint n_active;
++  gint index;
++  gboolean settings_sensitive;
++  GDesktopAppInfo *app_info;
++
++  remove_button = WID("input_source_remove");
++  show_button = WID("input_source_show");
++  up_button = WID("input_source_move_up");
++  down_button = WID("input_source_move_down");
++  settings_button = WID("input_source_settings");
++
++  tv = GTK_TREE_VIEW (WID ("active_input_sources"));
++  n_active = gtk_tree_model_iter_n_children (gtk_tree_view_get_model (tv), NULL);
++
++  if (get_selected_iter (builder, &model, &iter))
++    {
++      index = idx_from_model_iter (model, &iter);
++      gtk_tree_model_get (model, &iter, SETUP_COLUMN, &app_info, -1);
++    }
++  else
++    {
++      index = -1;
++      app_info = NULL;
++    }
++
++  settings_sensitive = (index >= 0 && app_info != NULL);
++
++  if (app_info)
++    g_object_unref (app_info);
++
++  gtk_widget_set_sensitive (remove_button, index >= 0 && n_active > 1);
++  gtk_widget_set_sensitive (show_button, index >= 0);
++  gtk_widget_set_sensitive (up_button, index > 0);
++  gtk_widget_set_sensitive (down_button, index >= 0 && index < n_active - 1);
++  gtk_widget_set_sensitive (settings_button, settings_sensitive);
++}
++
++static void
++set_selected_path (GtkBuilder  *builder,
++                   GtkTreePath *path)
++{
++  GtkTreeSelection *selection;
++
++  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("active_input_sources")));
++
++  gtk_tree_selection_select_path (selection, path);
++}
++
++static GtkTreeModel *
++tree_view_get_actual_model (GtkTreeView *tv)
++{
++  GtkTreeModel *filtered_store;
++
++  filtered_store = gtk_tree_view_get_model (tv);
++
++  return gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (filtered_store));
++}
++
++static void
++chooser_response (GtkWidget *chooser, gint response_id, gpointer data)
++{
++  GtkBuilder *builder = data;
++
++  if (response_id == GTK_RESPONSE_OK)
++    {
++      GtkTreeModel *model;
++      GtkTreeIter iter;
++
++      if (input_chooser_get_selected (chooser, &model, &iter))
++        {
++          GtkTreeView *tv;
++          GtkListStore *child_model;
++          GtkTreeIter child_iter, filter_iter;
++          gchar *name;
++          gchar *type;
++          gchar *id;
++          GDesktopAppInfo *app_info = NULL;
++
++          gtk_tree_model_get (model, &iter,
++                              NAME_COLUMN, &name,
++                              TYPE_COLUMN, &type,
++                              ID_COLUMN, &id,
++                              -1);
++
++#ifdef HAVE_IBUS
++          if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS))
++            app_info = setup_app_info_for_id (id);
++#endif
++
++          tv = GTK_TREE_VIEW (WID ("active_input_sources"));
++          child_model = GTK_LIST_STORE (tree_view_get_actual_model (tv));
++
++          gtk_list_store_append (child_model, &child_iter);
++
++          gtk_list_store_set (child_model, &child_iter,
++                              NAME_COLUMN, name,
++                              TYPE_COLUMN, type,
++                              ID_COLUMN, id,
++                              SETUP_COLUMN, app_info,
++                              -1);
++          g_free (name);
++          g_free (type);
++          g_free (id);
++          if (app_info)
++            g_object_unref (app_info);
++
++          gtk_tree_model_filter_convert_child_iter_to_iter (GTK_TREE_MODEL_FILTER (gtk_tree_view_get_model (tv)),
++                                                            &filter_iter,
++                                                            &child_iter);
++          gtk_tree_selection_select_iter (gtk_tree_view_get_selection (tv), &filter_iter);
++
++          update_button_sensitivity (builder);
++          update_configuration (GTK_TREE_MODEL (child_model));
++        }
++      else
++        {
++          g_debug ("nothing selected, nothing added");
++        }
++    }
++
++  gtk_widget_destroy (GTK_WIDGET (chooser));
++}
++
++static void
++add_input (GtkButton *button, gpointer data)
++{
++  GtkBuilder *builder = data;
++  GtkWidget *chooser;
++  GtkWidget *toplevel;
++  GtkWidget *treeview;
++  GtkListStore *active_sources;
++
++  g_debug ("add an input source");
++
++  toplevel = gtk_widget_get_toplevel (WID ("region_notebook"));
++  treeview = WID ("active_input_sources");
++  active_sources = GTK_LIST_STORE (tree_view_get_actual_model (GTK_TREE_VIEW (treeview)));
++
++  chooser = input_chooser_new (GTK_WINDOW (toplevel), active_sources);
++  g_signal_connect (chooser, "response",
++                    G_CALLBACK (chooser_response), builder);
++}
++
++static void
++remove_selected_input (GtkButton *button, gpointer data)
++{
++  GtkBuilder *builder = data;
++  GtkTreeModel *model;
++  GtkTreeModel *child_model;
++  GtkTreeIter iter;
++  GtkTreeIter child_iter;
++  GtkTreePath *path;
++
++  g_debug ("remove selected input source");
++
++  if (get_selected_iter (builder, &model, &iter) == FALSE)
++    return;
++
++  path = gtk_tree_model_get_path (model, &iter);
++
++  child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model));
++  gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model),
++                                                    &child_iter,
++                                                    &iter);
++  gtk_list_store_remove (GTK_LIST_STORE (child_model), &child_iter);
++
++  if (!gtk_tree_model_get_iter (model, &iter, path))
++    gtk_tree_path_prev (path);
++
++  set_selected_path (builder, path);
++
++  gtk_tree_path_free (path);
++
++  update_button_sensitivity (builder);
++  update_configuration (child_model);
++}
++
++static void
++move_selected_input_up (GtkButton *button, gpointer data)
++{
++  GtkBuilder *builder = data;
++  GtkTreeModel *model;
++  GtkTreeModel *child_model;
++  GtkTreeIter iter, prev;
++  GtkTreeIter child_iter, child_prev;
++  GtkTreePath *path;
++
++  g_debug ("move selected input source up");
++
++  if (!get_selected_iter (builder, &model, &iter))
++    return;
++
++  prev = iter;
++  if (!gtk_tree_model_iter_previous (model, &prev))
++    return;
++
++  path = gtk_tree_model_get_path (model, &prev);
++
++  child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model));
++  gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model),
++                                                    &child_iter,
++                                                    &iter);
++  gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model),
++                                                    &child_prev,
++                                                    &prev);
++  gtk_list_store_swap (GTK_LIST_STORE (child_model), &child_iter, &child_prev);
++
++  set_selected_path (builder, path);
++  gtk_tree_path_free (path);
++
++  update_button_sensitivity (builder);
++  update_configuration (child_model);
++}
++
++static void
++move_selected_input_down (GtkButton *button, gpointer data)
++{
++  GtkBuilder *builder = data;
++  GtkTreeModel *model;
++  GtkTreeModel *child_model;
++  GtkTreeIter iter, next;
++  GtkTreeIter child_iter, child_next;
++  GtkTreePath *path;
++
++  g_debug ("move selected input source down");
++
++  if (!get_selected_iter (builder, &model, &iter))
++    return;
++
++  next = iter;
++  if (!gtk_tree_model_iter_next (model, &next))
++    return;
++
++  path = gtk_tree_model_get_path (model, &next);
++
++  child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model));
++  gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model),
++                                                    &child_iter,
++                                                    &iter);
++  gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model),
++                                                    &child_next,
++                                                    &next);
++  gtk_list_store_swap (GTK_LIST_STORE (child_model), &child_iter, &child_next);
++
++  set_selected_path (builder, path);
++  gtk_tree_path_free (path);
++
++  update_button_sensitivity (builder);
++  update_configuration (child_model);
++}
++
++static void
++show_selected_layout (GtkButton *button, gpointer data)
++{
++  GtkBuilder *builder = data;
++  GtkTreeModel *model;
++  GtkTreeIter iter;
++  gchar *type;
++  gchar *id;
++  gchar *kbd_viewer_args;
++  const gchar *xkb_layout;
++  const gchar *xkb_variant;
++
++  g_debug ("show selected layout");
++
++  if (!get_selected_iter (builder, &model, &iter))
++    return;
++
++  gtk_tree_model_get (model, &iter,
++                      TYPE_COLUMN, &type,
++                      ID_COLUMN, &id,
++                      -1);
++
++  if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB))
++    {
++      gnome_xkb_info_get_layout_info (xkb_info, id, NULL, NULL, &xkb_layout, &xkb_variant);
++
++      if (!xkb_layout || !xkb_layout[0])
++        {
++          g_warning ("Couldn't find XKB input source '%s'", id);
++          goto exit;
++        }
++    }
++  else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS))
++    {
++#ifdef HAVE_IBUS
++      IBusEngineDesc *engine_desc = NULL;
++
++      if (ibus_engines)
++        engine_desc = g_hash_table_lookup (ibus_engines, id);
++
++      if (engine_desc)
++        {
++          xkb_layout = ibus_engine_desc_get_layout (engine_desc);
++          xkb_variant = "";
++        }
++      else
++        {
++          g_warning ("Couldn't find IBus input source '%s'", id);
++          goto exit;
++        }
++#else
++      g_warning ("IBus input source type specified but IBus support was not compiled");
++      goto exit;
++#endif
++    }
++  else
++    {
++      g_warning ("Unknown input source type '%s'", type);
++      goto exit;
++    }
++
++  if (xkb_variant[0])
++    kbd_viewer_args = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"",
++                                       xkb_layout, xkb_variant);
++  else
++    kbd_viewer_args = g_strdup_printf ("gkbd-keyboard-display -l %s",
++                                       xkb_layout);
++
++  g_spawn_command_line_async (kbd_viewer_args, NULL);
++
++  g_free (kbd_viewer_args);
++ exit:
++  g_free (type);
++  g_free (id);
++}
++
++static void
++show_selected_settings (GtkButton *button, gpointer data)
++{
++  GtkBuilder *builder = data;
++  GtkTreeModel *model;
++  GtkTreeIter iter;
++  GdkAppLaunchContext *ctx;
++  GDesktopAppInfo *app_info;
++  gchar *id;
++  GError *error = NULL;
++
++  g_debug ("show selected layout");
++
++  if (!get_selected_iter (builder, &model, &iter))
++    return;
++
++  gtk_tree_model_get (model, &iter, SETUP_COLUMN, &app_info, -1);
++
++  if (!app_info)
++    return;
++
++  ctx = gdk_display_get_app_launch_context (gdk_display_get_default ());
++  gdk_app_launch_context_set_timestamp (ctx, gtk_get_current_event_time ());
++
++  gtk_tree_model_get (model, &iter, ID_COLUMN, &id, -1);
++  g_app_launch_context_setenv (G_APP_LAUNCH_CONTEXT (ctx),
++                               "IBUS_ENGINE_NAME",
++                               id);
++  g_free (id);
++
++  if (!g_app_info_launch (G_APP_INFO (app_info), NULL, G_APP_LAUNCH_CONTEXT (ctx), &error))
++    {
++      g_warning ("Failed to launch input source setup: %s", error->message);
++      g_error_free (error);
++    }
++
++  g_object_unref (ctx);
++  g_object_unref (app_info);
++}
++
++static gboolean
++go_to_shortcuts (GtkLinkButton *button,
++                 CcRegionPanel *panel)
++{
++    gchar *argv[3];
++    argv[0] = "cinnamon-settings";
++    argv[1] = "keyboard";
++    argv[3] = NULL;
++    g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
++    return TRUE;
++}
++
++static void
++input_sources_changed (GSettings  *settings,
++                       gchar      *key,
++                       GtkBuilder *builder)
++{
++  GtkWidget *treeview;
++  GtkTreeModel *store;
++  GtkTreePath *path;
++  GtkTreeIter iter;
++  GtkTreeModel *model;
++
++  treeview = WID("active_input_sources");
++  store = tree_view_get_actual_model (GTK_TREE_VIEW (treeview));
++
++  if (get_selected_iter (builder, &model, &iter))
++    path = gtk_tree_model_get_path (model, &iter);
++  else
++    path = NULL;
++
++  gtk_list_store_clear (GTK_LIST_STORE (store));
++  populate_with_active_sources (GTK_LIST_STORE (store));
++
++  if (path)
++    {
++      set_selected_path (builder, path);
++      gtk_tree_path_free (path);
++    }
++}
++
++static void
++update_shortcut_label (GtkWidget  *widget,
++		       const char *value)
++{
++  char *text;
++  guint accel_key, *keycode;
++  GdkModifierType mods;
++
++  if (value == NULL || *value == '\0')
++    {
++      gtk_label_set_text (GTK_LABEL (widget), "\342\200\224");
++      return;
++    }
++  gtk_accelerator_parse_with_keycode (value, &accel_key, &keycode, &mods);
++  if (accel_key == 0 && keycode == NULL && mods == 0)
++    {
++      gtk_label_set_text (GTK_LABEL (widget), "\342\200\224");
++      g_warning ("Failed to parse keyboard shortcut: '%s'", value);
++      return;
++    }
++
++  text = gtk_accelerator_get_label_with_keycode (gtk_widget_get_display (widget), accel_key, *keycode, mods);
++  g_free (keycode);
++  gtk_label_set_text (GTK_LABEL (widget), text);
++  g_free (text);
++}
++
++static void
++update_shortcuts (GtkBuilder *builder)
++{
++  char *previous, *next;
++  GSettings *settings;
++
++  settings = g_settings_new ("org.cinnamon.settings-daemon.plugins.media-keys");
++
++  previous = g_settings_get_string (settings, "switch-input-source-backward");
++  next = g_settings_get_string (settings, "switch-input-source");
++
++  update_shortcut_label (WID ("prev-source-shortcut-label"), previous);
++  update_shortcut_label (WID ("next-source-shortcut-label"), next);
++
++  g_free (previous);
++  g_free (next);
++}
++
++static gboolean
++active_sources_visible_func (GtkTreeModel *model,
++                             GtkTreeIter  *iter,
++                             gpointer      data)
++{
++  gchar *display_name;
++
++  gtk_tree_model_get (model, iter, NAME_COLUMN, &display_name, -1);
++
++  if (!display_name)
++    return FALSE;
++
++  g_free (display_name);
++
++  return TRUE;
++}
++
++void
++setup_input_tabs (GtkBuilder    *builder,
++                  CcRegionPanel *panel)
++{
++  GtkWidget *treeview;
++  GtkTreeViewColumn *column;
++  GtkCellRenderer *cell;
++  GtkListStore *store;
++  GtkTreeModel *filtered_store;
++  GtkTreeSelection *selection;
++
++  /* set up the list of active inputs */
++  treeview = WID("active_input_sources");
++  column = gtk_tree_view_column_new ();
++  cell = gtk_cell_renderer_text_new ();
++  gtk_tree_view_column_pack_start (column, cell, TRUE);
++  gtk_tree_view_column_add_attribute (column, cell, "text", NAME_COLUMN);
++  gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
++
++  store = gtk_list_store_new (N_COLUMNS,
++                              G_TYPE_STRING,
++                              G_TYPE_STRING,
++                              G_TYPE_STRING,
++                              G_TYPE_DESKTOP_APP_INFO);
++
++  gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
++
++  input_sources_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
++  g_settings_delay (input_sources_settings);
++  g_object_weak_ref (G_OBJECT (builder), (GWeakNotify) g_object_unref, input_sources_settings);
++
++  if (!xkb_info)
++    xkb_info = gnome_xkb_info_new ();
++
++#ifdef HAVE_IBUS
++  ibus_init ();
++  shell_name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
++                                          "org.Cinnamon",
++                                          G_BUS_NAME_WATCHER_FLAGS_NONE,
++                                          on_shell_appeared,
++                                          NULL,
++                                          builder,
++                                          NULL);
++  g_object_weak_ref (G_OBJECT (builder), (GWeakNotify) clear_ibus, NULL);
++#endif
++
++  populate_with_active_sources (store);
++
++  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
++  g_signal_connect_swapped (selection, "changed",
++                            G_CALLBACK (update_button_sensitivity), builder);
++
++  /* Some input source types might have their info loaded
++   * asynchronously. In that case we don't want to show them
++   * immediately so we use a filter model on top of the real model
++   * which mirrors the GSettings key. */
++  filtered_store = gtk_tree_model_filter_new (GTK_TREE_MODEL (store), NULL);
++  gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filtered_store),
++                                          active_sources_visible_func,
++                                          NULL,
++                                          NULL);
++  gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), filtered_store);
++
++  /* set up the buttons */
++  g_signal_connect (WID("input_source_add"), "clicked",
++                    G_CALLBACK (add_input), builder);
++  g_signal_connect (WID("input_source_remove"), "clicked",
++                    G_CALLBACK (remove_selected_input), builder);
++  g_signal_connect (WID("input_source_move_up"), "clicked",
++                    G_CALLBACK (move_selected_input_up), builder);
++  g_signal_connect (WID("input_source_move_down"), "clicked",
++                    G_CALLBACK (move_selected_input_down), builder);
++  g_signal_connect (WID("input_source_show"), "clicked",
++                    G_CALLBACK (show_selected_layout), builder);
++  g_signal_connect (WID("input_source_settings"), "clicked",
++                    G_CALLBACK (show_selected_settings), builder);
++
++  /* use an em dash is no shortcut */
++  update_shortcuts (builder);
++
++  g_signal_connect (WID("jump-to-shortcuts"), "activate-link",
++                    G_CALLBACK (go_to_shortcuts), panel);
++
++  g_signal_connect (G_OBJECT (input_sources_settings),
++                    "changed::" KEY_INPUT_SOURCES,
++                    G_CALLBACK (input_sources_changed),
++                    builder);
++}
++
++static void
++filter_clear (GtkEntry             *entry,
++              GtkEntryIconPosition  icon_pos,
++              GdkEvent             *event,
++              gpointer              user_data)
++{
++  gtk_entry_set_text (entry, "");
++}
++
++static gchar **search_pattern_list;
++
++static void
++filter_changed (GtkBuilder *builder)
++{
++  GtkTreeModelFilter *filtered_model;
++  GtkTreeView *tree_view;
++  GtkTreeSelection *selection;
++  GtkTreeIter selected_iter;
++  GtkWidget *filter_entry;
++  const gchar *pattern;
++  gchar *upattern;
++
++  filter_entry = WID ("input_source_filter");
++  pattern = gtk_entry_get_text (GTK_ENTRY (filter_entry));
++  upattern = g_utf8_strup (pattern, -1);
++  if (!g_strcmp0 (pattern, ""))
++    g_object_set (G_OBJECT (filter_entry),
++                  "secondary-icon-name", "edit-find-symbolic",
++                  "secondary-icon-activatable", FALSE,
++                  "secondary-icon-sensitive", FALSE,
++                  NULL);
++  else
++    g_object_set (G_OBJECT (filter_entry),
++                  "secondary-icon-name", "edit-clear-symbolic",
++                  "secondary-icon-activatable", TRUE,
++                  "secondary-icon-sensitive", TRUE,
++                  NULL);
++
++  if (search_pattern_list != NULL)
++    g_strfreev (search_pattern_list);
++
++  search_pattern_list = g_strsplit (upattern, " ", -1);
++  g_free (upattern);
++
++  filtered_model = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (builder, "filtered_input_source_model"));
++  gtk_tree_model_filter_refilter (filtered_model);
++
++  tree_view = GTK_TREE_VIEW (WID ("filtered_input_source_list"));
++  selection = gtk_tree_view_get_selection (tree_view);
++  if (gtk_tree_selection_get_selected (selection, NULL, &selected_iter))
++    {
++      GtkTreePath *path = gtk_tree_model_get_path (GTK_TREE_MODEL (filtered_model),
++                                                   &selected_iter);
++      gtk_tree_view_scroll_to_cell (tree_view, path, NULL, TRUE, 0.5, 0.5);
++      gtk_tree_path_free (path);
++    }
++  else
++    {
++      GtkTreeIter iter;
++      if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (filtered_model), &iter))
++        gtk_tree_selection_select_iter (selection, &iter);
++    }
++}
++
++static void
++selection_changed (GtkTreeSelection *selection,
++                   GtkBuilder       *builder)
++{
++  gtk_widget_set_sensitive (WID ("ok-button"),
++                            gtk_tree_selection_get_selected (selection, NULL, NULL));
++}
++
++static void
++row_activated (GtkTreeView       *tree_view,
++               GtkTreePath       *path,
++               GtkTreeViewColumn *column,
++               GtkBuilder        *builder)
++{
++  GtkWidget *add_button;
++  GtkWidget *dialog;
++
++  add_button = WID ("ok-button");
++  dialog = WID ("input_source_chooser");
++  if (gtk_widget_is_sensitive (add_button))
++    gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
++}
++
++static void
++entry_activated (GtkBuilder *builder,
++                 gpointer    data)
++{
++  row_activated (NULL, NULL, NULL, builder);
++}
++
++static gboolean
++filter_func (GtkTreeModel *model,
++             GtkTreeIter  *iter,
++             gpointer      data)
++{
++  gchar *name = NULL;
++  gchar **pattern;
++  gboolean rv = TRUE;
++
++  if (search_pattern_list == NULL || search_pattern_list[0] == NULL)
++    return TRUE;
++
++  gtk_tree_model_get (model, iter,
++                      NAME_COLUMN, &name,
++                      -1);
++
++  pattern = search_pattern_list;
++  do {
++    gboolean is_pattern_found = FALSE;
++    gchar *udesc = g_utf8_strup (name, -1);
++    if (udesc != NULL && g_strstr_len (udesc, -1, *pattern))
++      {
++        is_pattern_found = TRUE;
++      }
++    g_free (udesc);
++
++    if (!is_pattern_found)
++      {
++        rv = FALSE;
++        break;
++      }
++
++  } while (*++pattern != NULL);
++
++  g_free (name);
++
++  return rv;
++}
++
++static GtkWidget *
++input_chooser_new (GtkWindow    *main_window,
++                   GtkListStore *active_sources)
++{
++  GtkBuilder *builder;
++  GtkWidget *chooser;
++  GtkWidget *filtered_list;
++  GtkWidget *filter_entry;
++  GtkTreeViewColumn *visible_column;
++  GtkTreeSelection *selection;
++  GtkListStore *model;
++  GtkTreeModelFilter *filtered_model;
++  GtkTreeIter iter;
++
++  builder = gtk_builder_new ();
++  gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
++  gtk_builder_add_from_file (builder,
++                             CINNAMONCC_UI_DIR "/cinnamon-region-panel-input-chooser.ui",
++                             NULL);
++  chooser = WID ("input_source_chooser");
++  input_chooser = chooser;
++  g_object_add_weak_pointer (G_OBJECT (chooser), (gpointer *) &input_chooser);
++  g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref);
++
++  filtered_list = WID ("filtered_input_source_list");
++  filter_entry = WID ("input_source_filter");
++
++  g_object_set_data (G_OBJECT (chooser),
++                     "filtered_input_source_list", filtered_list);
++  visible_column =
++    gtk_tree_view_column_new_with_attributes ("Input Sources",
++                                              gtk_cell_renderer_text_new (),
++                                              "text", NAME_COLUMN,
++                                              NULL);
++
++  gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window);
++
++  gtk_tree_view_append_column (GTK_TREE_VIEW (filtered_list),
++                               visible_column);
++  /* We handle searching ourselves, thank you. */
++  gtk_tree_view_set_enable_search (GTK_TREE_VIEW (filtered_list), FALSE);
++  gtk_tree_view_set_search_column (GTK_TREE_VIEW (filtered_list), -1);
++
++  g_signal_connect_swapped (G_OBJECT (filter_entry), "activate",
++                            G_CALLBACK (entry_activated), builder);
++  g_signal_connect_swapped (G_OBJECT (filter_entry), "notify::text",
++                            G_CALLBACK (filter_changed), builder);
++
++  g_signal_connect (G_OBJECT (filter_entry), "icon-release",
++                    G_CALLBACK (filter_clear), NULL);
++
++  filtered_model = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (builder, "filtered_input_source_model"));
++  model = GTK_LIST_STORE (gtk_builder_get_object (builder, "input_source_model"));
++
++  populate_model (model, active_sources);
++
++  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model),
++                                        NAME_COLUMN, GTK_SORT_ASCENDING);
++
++  gtk_tree_model_filter_set_visible_func (filtered_model,
++                                          filter_func,
++                                          NULL, NULL);
++
++  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (filtered_list));
++
++  g_signal_connect (G_OBJECT (selection), "changed",
++                    G_CALLBACK (selection_changed), builder);
++
++  if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (filtered_model), &iter))
++    gtk_tree_selection_select_iter (selection, &iter);
++
++  g_signal_connect (G_OBJECT (filtered_list), "row-activated",
++                    G_CALLBACK (row_activated), builder);
++
++  gtk_widget_grab_focus (filter_entry);
++
++  gtk_widget_show (chooser);
++
++  return chooser;
++}
++
++static gboolean
++input_chooser_get_selected (GtkWidget     *dialog,
++                            GtkTreeModel **model,
++                            GtkTreeIter   *iter)
++{
++  GtkWidget *tv;
++  GtkTreeSelection *selection;
++
++  tv = g_object_get_data (G_OBJECT (dialog), "filtered_input_source_list");
++  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tv));
++
++  return gtk_tree_selection_get_selected (selection, model, iter);
++}
+diff -uNrp a/panels/region/cinnamon-region-panel-input-chooser.ui b/panels/region/cinnamon-region-panel-input-chooser.ui
+--- a/panels/region/cinnamon-region-panel-input-chooser.ui	1970-01-01 01:00:00.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-input-chooser.ui	2013-09-21 13:24:15.339949536 +0100
+@@ -0,0 +1,157 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<interface>
++  <requires lib="gtk+" version="2.16"/>
++  <object class="GtkListStore" id="input_source_model">
++    <columns>
++      <!-- display name -->
++      <column type="gchararray"/>
++      <!-- input source type -->
++      <column type="gchararray"/>
++      <!-- type specific identifier -->
++      <column type="gchararray"/>
++    </columns>
++  </object>
++  <object class="GtkTreeModelFilter" id="filtered_input_source_model">
++    <property name="child_model">input_source_model</property>
++  </object>
++  <object class="GtkDialog" id="input_source_chooser">
++    <property name="visible">False</property>
++    <property name="can_focus">False</property>
++    <property name="border_width">5</property>
++    <property name="title" translatable="yes">Choose an input source</property>
++    <property name="modal">True</property>
++    <property name="window_position">center-on-parent</property>
++    <property name="type_hint">dialog</property>
++    <child internal-child="vbox">
++      <object class="GtkBox" id="dialog-vbox3">
++        <property name="visible">True</property>
++        <property name="can_focus">False</property>
++        <property name="orientation">vertical</property>
++        <property name="spacing">2</property>
++        <child internal-child="action_area">
++          <object class="GtkButtonBox" id="hbtnBox">
++            <property name="visible">True</property>
++            <property name="can_focus">False</property>
++            <property name="layout_style">end</property>
++            <child>
++              <object class="GtkButton" id="cancel-button">
++                <property name="label">gtk-cancel</property>
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="can_default">True</property>
++                <property name="receives_default">False</property>
++                <property name="use_action_appearance">False</property>
++                <property name="use_stock">True</property>
++              </object>
++              <packing>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++                <property name="pack_type">end</property>
++                <property name="position">1</property>
++              </packing>
++            </child>
++            <child>
++              <object class="GtkButton" id="ok-button">
++                <property name="label">gtk-add</property>
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="can_default">True</property>
++                <property name="receives_default">False</property>
++                <property name="use_action_appearance">False</property>
++                <property name="use_stock">True</property>
++              </object>
++              <packing>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++                <property name="pack_type">end</property>
++                <property name="position">2</property>
++              </packing>
++            </child>
++          </object>
++        </child>
++        <child>
++          <object class="GtkVBox" id="vbox40">
++            <property name="visible">True</property>
++            <property name="can_focus">False</property>
++            <property name="border_width">5</property>
++            <property name="spacing">6</property>
++            <child>
++              <object class="GtkVBox" id="vbox1">
++                <property name="visible">True</property>
++                <property name="can_focus">False</property>
++                <property name="spacing">6</property>
++                <child>
++                  <object class="GtkLabel" id="label1">
++                    <property name="visible">True</property>
++                    <property name="can_focus">False</property>
++                    <property name="xalign">0</property>
++                    <property name="label" translatable="yes">Select an input source to add</property>
++                  </object>
++                  <packing>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                    <property name="position">0</property>
++                  </packing>
++                </child>
++                <child>
++                  <object class="GtkScrolledWindow" id="scrolledwindow1">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">never</property>
++                    <property name="shadow_type">etched-in</property>
++                    <property name="min_content_width">450</property>
++                    <property name="min_content_height">250</property>
++                    <child>
++                      <object class="GtkTreeView" id="filtered_input_source_list">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="model">filtered_input_source_model</property>
++                        <property name="headers_visible">False</property>
++                        <property name="search_column">0</property>
++                      </object>
++                    </child>
++                  </object>
++                  <packing>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                    <property name="position">1</property>
++                  </packing>
++                </child>
++              </object>
++              <packing>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++                <property name="position">0</property>
++              </packing>
++            </child>
++            <child>
++              <object class="GtkEntry" id="input_source_filter">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="invisible_char">•</property>
++                <property name="secondary-icon-name">edit-find-symbolic</property>
++                <property name="secondary-icon-activatable">False</property>
++                <property name="secondary-icon-sensitive">False</property>
++              </object>
++              <packing>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++                <property name="pack_type">end</property>
++                <property name="position">1</property>
++              </packing>
++            </child>
++          </object>
++          <packing>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++            <property name="position">1</property>
++          </packing>
++        </child>
++      </object>
++    </child>
++    <action-widgets>
++      <action-widget response="-5">ok-button</action-widget>
++      <action-widget response="-6">cancel-button</action-widget>
++    </action-widgets>
++  </object>
++</interface>
+diff -uNrp a/panels/region/cinnamon-region-panel-input.h b/panels/region/cinnamon-region-panel-input.h
+--- a/panels/region/cinnamon-region-panel-input.h	1970-01-01 01:00:00.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-input.h	2013-09-21 13:24:15.339949536 +0100
+@@ -0,0 +1,36 @@
++/* cinnamon-region-panel-input.h
++ * Copyright (C) 2011 Red Hat, Inc.
++ *
++ * Written by Matthias Clasen
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
++ * 02110-1335, USA.
++ */
++
++#ifndef __CINNAMON_KEYBOARD_PROPERTY_INPUT_H
++#define __CINNAMON_KEYBOARD_PROPERTY_INPUT_H
++
++#include <gtk/gtk.h>
++
++#include "cc-region-panel.h"
++
++G_BEGIN_DECLS
++
++void setup_input_tabs (GtkBuilder    *builder,
++                       CcRegionPanel *self);
++
++G_END_DECLS
++
++#endif  /* __CINNAMON_KEYBOARD_PROPERTY_INPUT_H */
+diff -uNrp a/panels/region/cinnamon-region-panel-lang.c b/panels/region/cinnamon-region-panel-lang.c
+--- a/panels/region/cinnamon-region-panel-lang.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-lang.c	2013-09-21 13:24:15.340949500 +0100
+@@ -24,7 +24,7 @@
+ #endif
+ 
+ #include <string.h>
+-#include <glib/gi18n-lib.h>
++#include <glib/gi18n.h>
+ 
+ #include "cinnamon-region-panel-lang.h"
+ #include "cinnamon-region-panel-formats.h"
+diff -uNrp a/panels/region/cinnamon-region-panel-lang.h b/panels/region/cinnamon-region-panel-lang.h
+--- a/panels/region/cinnamon-region-panel-lang.h	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-lang.h	2013-09-21 13:24:15.340949500 +0100
+@@ -19,8 +19,8 @@
+  * 02110-1335, USA.
+  */
+ 
+-#ifndef __GNOME_KEYBOARD_PROPERTY_LANG_H
+-#define __GNOME_KEYBOARD_PROPERTY_LANG_H
++#ifndef __CINNAMON_KEYBOARD_PROPERTY_LANG_H
++#define __CINNAMON_KEYBOARD_PROPERTY_LANG_H
+ 
+ #include <gtk/gtk.h>
+ 
+@@ -29,4 +29,4 @@ G_BEGIN_DECLS
+ void setup_language (GtkBuilder *builder);
+ 
+ G_END_DECLS
+-#endif /* __GNOME_KEYBOARD_PROPERTY_LANG_H */
++#endif /* __CINNAMON_KEYBOARD_PROPERTY_LANG_H */
+diff -uNrp a/panels/region/cinnamon-region-panel-layout-chooser.ui b/panels/region/cinnamon-region-panel-layout-chooser.ui
+--- a/panels/region/cinnamon-region-panel-layout-chooser.ui	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-layout-chooser.ui	1970-01-01 01:00:00.000000000 +0100
+@@ -1,180 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<interface>
+-  <requires lib="gtk+" version="2.16"/>
+-  <object class="GtkListStore" id="layout_list_model">
+-    <columns>
+-      <!-- column-name sort_order -->
+-      <column type="gchararray"/>
+-      <!-- column-name visible -->
+-      <column type="gchararray"/>
+-      <!-- column-name xkb_id -->
+-      <column type="gchararray"/>
+-      <!-- column-name country_desc -->
+-      <column type="gchararray"/>
+-      <!-- column-name language_desc -->
+-      <column type="gchararray"/>
+-    </columns>
+-  </object>
+-  <object class="GtkTreeModelFilter" id="filtered_layout_list_model">
+-    <property name="child_model">layout_list_model</property>
+-  </object>
+-  <object class="GtkDialog" id="xkb_layout_chooser">
+-    <property name="visible">False</property>
+-    <property name="can_focus">False</property>
+-    <property name="border_width">5</property>
+-    <property name="title" translatable="yes">Choose a Layout</property>
+-    <property name="modal">True</property>
+-    <property name="window_position">center-on-parent</property>
+-    <property name="type_hint">dialog</property>
+-    <child internal-child="vbox">
+-      <object class="GtkBox" id="dialog-vbox3">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="orientation">vertical</property>
+-        <property name="spacing">2</property>
+-        <child internal-child="action_area">
+-          <object class="GtkButtonBox" id="hbtnBox">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="layout_style">end</property>
+-            <child>
+-              <object class="GtkButton" id="btnPreview">
+-                <property name="label" translatable="yes">Preview</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="receives_default">True</property>
+-                <property name="use_action_appearance">False</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">False</property>
+-                <property name="position">0</property>
+-                <property name="secondary">True</property>
+-              </packing>
+-            </child>
+-            <child>
+-              <object class="GtkButton" id="btnCancel">
+-                <property name="label">gtk-cancel</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="can_default">True</property>
+-                <property name="receives_default">False</property>
+-                <property name="use_action_appearance">False</property>
+-                <property name="use_stock">True</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">False</property>
+-                <property name="pack_type">end</property>
+-                <property name="position">1</property>
+-              </packing>
+-            </child>
+-            <child>
+-              <object class="GtkButton" id="btnOk">
+-                <property name="label">gtk-add</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="can_default">True</property>
+-                <property name="receives_default">False</property>
+-                <property name="use_action_appearance">False</property>
+-                <property name="use_stock">True</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">False</property>
+-                <property name="pack_type">end</property>
+-                <property name="position">2</property>
+-              </packing>
+-            </child>
+-          </object>
+-        </child>
+-        <child>
+-          <object class="GtkVBox" id="vbox40">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="border_width">5</property>
+-            <property name="spacing">6</property>
+-            <child>
+-              <object class="GtkVBox" id="vbox1">
+-                <property name="visible">True</property>
+-                <property name="can_focus">False</property>
+-                <property name="spacing">6</property>
+-                <child>
+-                  <object class="GtkLabel" id="label1">
+-                    <property name="visible">True</property>
+-                    <property name="can_focus">False</property>
+-                    <property name="xalign">0</property>
+-                    <property name="label" translatable="yes">Select an input source to add</property>
+-                  </object>
+-                  <packing>
+-                    <property name="expand">False</property>
+-                    <property name="fill">False</property>
+-                    <property name="position">0</property>
+-                  </packing>
+-                </child>
+-                <child>
+-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+-                    <property name="visible">True</property>
+-                    <property name="can_focus">True</property>
+-                    <property name="hscrollbar_policy">never</property>
+-                    <property name="shadow_type">etched-in</property>
+-                    <property name="min_content_width">450</property>
+-                    <property name="min_content_height">250</property>
+-                    <child>
+-                      <object class="GtkTreeView" id="xkb_filtered_layouts_list">
+-                        <property name="visible">True</property>
+-                        <property name="can_focus">True</property>
+-                        <property name="model">filtered_layout_list_model</property>
+-                        <property name="headers_visible">False</property>
+-                        <property name="search_column">0</property>
+-                        <child internal-child="selection">
+-                          <object class="GtkTreeSelection" id="treeview-selection1"/>
+-                        </child>
+-                      </object>
+-                    </child>
+-                  </object>
+-                  <packing>
+-                    <property name="expand">True</property>
+-                    <property name="fill">True</property>
+-                    <property name="position">1</property>
+-                  </packing>
+-                </child>
+-              </object>
+-              <packing>
+-                <property name="expand">True</property>
+-                <property name="fill">True</property>
+-                <property name="position">0</property>
+-              </packing>
+-            </child>
+-            <child>
+-              <object class="GtkEntry" id="xkb_layout_filter">
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="invisible_char">•</property>
+-                <property name="secondary-icon-name">edit-find-symbolic</property>
+-                <property name="secondary-icon-activatable">False</property>
+-                <property name="secondary-icon-sensitive">False</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">False</property>
+-                <property name="pack_type">end</property>
+-                <property name="position">1</property>
+-              </packing>
+-            </child>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-      </object>
+-    </child>
+-    <action-widgets>
+-      <action-widget response="1">btnPreview</action-widget>
+-      <action-widget response="-5">btnOk</action-widget>
+-      <action-widget response="-6">btnCancel</action-widget>
+-    </action-widgets>
+-  </object>
+-</interface>
+diff -uNrp a/panels/region/cinnamon-region-panel-options-dialog.ui b/panels/region/cinnamon-region-panel-options-dialog.ui
+--- a/panels/region/cinnamon-region-panel-options-dialog.ui	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-options-dialog.ui	1970-01-01 01:00:00.000000000 +0100
+@@ -1,79 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<interface>
+-  <requires lib="gtk+" version="2.16"/>
+-  <object class="GtkDialog" id="xkb_options_dialog">
+-    <property name="can_focus">False</property>
+-    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+-    <property name="border_width">5</property>
+-    <property name="title" translatable="yes">Keyboard Layout Options</property>
+-    <property name="window_position">center-on-parent</property>
+-    <property name="default_width">550</property>
+-    <property name="default_height">400</property>
+-    <property name="type_hint">dialog</property>
+-    <child internal-child="vbox">
+-      <object class="GtkBox" id="dialog_vbox">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+-        <property name="orientation">vertical</property>
+-        <property name="spacing">2</property>
+-        <child>
+-          <object class="GtkScrolledWindow" id="options_scroll">
+-            <property name="visible">True</property>
+-            <property name="can_focus">True</property>
+-            <property name="border_width">5</property>
+-            <property name="shadow_type">out</property>
+-            <child>
+-              <object class="GtkViewport" id="viewport1">
+-                <property name="visible">True</property>
+-                <property name="can_focus">False</property>
+-                <property name="shadow_type">none</property>
+-                <child>
+-                  <object class="GtkVBox" id="options_vbox">
+-                    <property name="visible">True</property>
+-                    <property name="can_focus">False</property>
+-                  </object>
+-                </child>
+-              </object>
+-            </child>
+-          </object>
+-          <packing>
+-            <property name="expand">False</property>
+-            <property name="fill">True</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-        <child internal-child="action_area">
+-          <object class="GtkButtonBox" id="dialog-action_area4">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+-            <property name="layout_style">end</property>
+-            <child>
+-              <placeholder/>
+-            </child>
+-            <child>
+-              <object class="GtkButton" id="button2">
+-                <property name="label">gtk-close</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="receives_default">True</property>
+-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+-                <property name="use_action_appearance">False</property>
+-                <property name="use_stock">True</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">False</property>
+-                <property name="position">1</property>
+-              </packing>
+-            </child>
+-          </object>
+-        </child>
+-      </object>
+-    </child>
+-    <action-widgets>
+-      <action-widget response="-7">button2</action-widget>
+-    </action-widgets>
+-  </object>
+-</interface>
+diff -uNrp a/panels/region/cinnamon-region-panel-system.c b/panels/region/cinnamon-region-panel-system.c
+--- a/panels/region/cinnamon-region-panel-system.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-system.c	2013-09-21 13:24:15.342949428 +0100
+@@ -27,15 +27,18 @@
+ 
+ #include <polkit/polkit.h>
+ 
+-#include <glib/gi18n-lib.h>
++#include <glib/gi18n.h>
++
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include <libcinnamon-desktop/gnome-xkb-info.h>
+ 
+-#include <libgnomekbd/gkbd-keyboard-config.h>
+ #include "cc-common-language.h"
+ #include "gdm-languages.h"
+ #include "cinnamon-region-panel-system.h"
+-#include "cinnamon-region-panel-xkb.h"
+ 
+-static GSettings *locale_settings, *xkb_settings;
++#define WID(s) GTK_WIDGET(gtk_builder_get_object (dialog, s))
++
++static GSettings *locale_settings, *input_sources_settings;
+ static GDBusProxy *localed_proxy;
+ static GPermission *localed_permission;
+ 
+@@ -72,13 +75,14 @@ update_copy_button (GtkBuilder *dialog)
+ 
+         button = WID ("copy_settings_button");
+ 
+-        /* If the version of localed doesn't include layouts... */
+-        if (system_input_source) {
++        if (user_input_source && user_input_source[0]) {
+                 layouts_differ = (g_strcmp0 (user_input_source, system_input_source) != 0);
+                 if (layouts_differ == FALSE)
+                         layouts_differ = (g_strcmp0 (user_input_variants, system_input_variants) != 0);
+-        } else
++        } else {
++                /* Nothing to copy */
+                 layouts_differ = FALSE;
++        }
+ 
+         if (g_strcmp0 (user_lang, system_lang) == 0 &&
+             g_strcmp0 (user_region, system_region) == 0 &&
+@@ -131,61 +135,67 @@ system_update_language (GtkBuilder *dial
+ }
+ 
+ static void
+-xkb_settings_changed (GSettings *settings,
+-                      const gchar *key,
+-                      GtkBuilder *dialog)
++input_sources_changed (GSettings *settings,
++                       const gchar *key,
++                       GtkBuilder *dialog)
+ {
+-	guint i;
+-	GString *disp, *list, *variants;
+-	GtkWidget *label;
+-	gchar **layouts;
+-
+-	layouts = g_settings_get_strv (settings, "layouts");
+-	if (layouts == NULL)
+-		return;
+-
+-	label = WID ("user_input_source");
+-	disp = g_string_new ("");
+-	list = g_string_new ("");
+-	variants = g_string_new ("");
+-
+-	for (i = 0; layouts[i]; i++) {
+-		gchar *utf_visible;
+-		char **split;
+-		gchar *layout, *variant;
+-
+-		utf_visible = xkb_layout_description_utf8 (layouts[i]);
+-		if (disp->str[0] != '\0')
+-			g_string_append (disp, ", ");
+-		g_string_append (disp, utf_visible ? utf_visible : layouts[i]);
+-		g_free (utf_visible);
+-
+-		split = g_strsplit_set (layouts[i], " \t", 2);
+-
+-		if (split == NULL || split[0] == NULL)
+-			continue;
+-
+-		layout = split[0];
+-		variant = split[1];
+-
+-		if (list->str[0] != '\0')
+-			g_string_append (list, ",");
+-		g_string_append (list, layout);
+-
+-		if (variants->str[0] != '\0')
+-			g_string_append (variants, ",");
+-		g_string_append (variants, variant ? variant : "");
+-
+-		g_strfreev (split);
+-	}
+-	g_strfreev (layouts);
++        GString *disp, *list, *variants;
++        GtkWidget *label;
++        GnomeXkbInfo *xkb_info;
++        GVariantIter iter;
++        GVariant *sources;
++        const gchar *type;
++        const gchar *id;
++
++        sources = g_settings_get_value (input_sources_settings, "sources");
++        xkb_info = gnome_xkb_info_new ();
++
++        label = WID ("user_input_source");
++        disp = g_string_new ("");
++        list = g_string_new ("");
++        variants = g_string_new ("");
++
++        g_variant_iter_init (&iter, sources);
++        while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) {
++                /* We can't copy non-XKB layouts to the system yet */
++                if (g_str_equal (type, "xkb")) {
++                        char **split;
++                        gchar *layout, *variant;
++                        const char *name;
++
++                        gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL);
++                        if (disp->str[0] != '\0')
++                                g_string_append (disp, ", ");
++                        g_string_append (disp, name);
++
++                        split = g_strsplit (id, "+", 2);
++
++                        if (split == NULL || split[0] == NULL)
++                                continue;
++
++                        layout = split[0];
++                        variant = split[1];
++
++                        if (list->str[0] != '\0') {
++                                g_string_append (list, ",");
++                                g_string_append (variants, ",");
++                        }
++                        g_string_append (list, layout);
++                        g_string_append (variants, variant ? variant : "");
++
++                        g_strfreev (split);
++                }
++        }
++        g_variant_unref (sources);
++        g_object_unref (xkb_info);
+ 
+         g_object_set_data_full (G_OBJECT (label), "input_source", g_string_free (list, FALSE), g_free);
+         g_object_set_data_full (G_OBJECT (label), "input_variants", g_string_free (variants, FALSE), g_free);
++
+         gtk_label_set_text (GTK_LABEL (label), disp->str);
+         g_string_free (disp, TRUE);
+ 
+-	update_copy_button (dialog);
++        update_copy_button (dialog);
+ }
+ 
+ static void
+@@ -222,12 +232,13 @@ on_localed_properties_changed (GDBusProx
+                                const gchar **invalidated_properties,
+                                GtkBuilder   *dialog)
+ {
+-        GVariant *v;
++        GVariant *v, *w;
+         GtkWidget *label;
+-        const char *layout;
++        GnomeXkbInfo *xkb_info;
+         char **layouts;
++        char **variants;
+         GString *disp;
+-        guint i;
++        guint i, n;
+ 
+         if (invalidated_properties != NULL) {
+                 guint i;
+@@ -236,6 +247,8 @@ on_localed_properties_changed (GDBusProx
+                                 update_property (proxy, "Locale");
+                         else if (g_str_equal (invalidated_properties[i], "X11Layout"))
+                                 update_property (proxy, "X11Layout");
++                        else if (g_str_equal (invalidated_properties[i], "X11Variant"))
++                                update_property (proxy, "X11Variant");
+                 }
+         }
+ 
+@@ -290,29 +303,56 @@ on_localed_properties_changed (GDBusProx
+         label = WID ("system_input_source");
+         v = g_dbus_proxy_get_cached_property (proxy, "X11Layout");
+         if (v) {
+-                layout = g_variant_get_string (v, NULL);
+-                g_object_set_data_full (G_OBJECT (label), "input_source", g_strdup (layout), g_free);
+-	} else {
++                layouts = g_strsplit (g_variant_get_string (v, NULL), ",", -1);
++                g_object_set_data_full (G_OBJECT (label), "input_source",
++                                        g_variant_dup_string (v, NULL), g_free);
++                g_variant_unref (v);
++        } else {
+                 g_object_set_data_full (G_OBJECT (label), "input_source", NULL, g_free);
+                 update_copy_button (dialog);
+                 return;
+         }
+ 
+-	disp = g_string_new ("");
+-	layouts = g_strsplit (layout, ",", -1);
+-	for (i = 0; layouts[i]; i++) {
+-		gchar *utf_visible;
+-
+-		utf_visible = xkb_layout_description_utf8 (layouts[i]);
+-		if (disp->str[0] != '\0')
+-			disp = g_string_append (disp, ", ");
+-		disp = g_string_append (disp, utf_visible ? utf_visible : layouts[i]);
+-		g_free (utf_visible);
+-	}
++        w = g_dbus_proxy_get_cached_property (proxy, "X11Variant");
++        if (w) {
++                variants = g_strsplit (g_variant_get_string (w, NULL), ",", -1);
++                g_object_set_data_full (G_OBJECT (label), "input_variants",
++                                        g_variant_dup_string (w, NULL), g_free);
++                g_variant_unref (w);
++        } else {
++                variants = NULL;
++                g_object_set_data_full (G_OBJECT (label), "input_variants", NULL, g_free);
++        }
++
++        if (variants && variants[0])
++                n = MIN (g_strv_length (layouts), g_strv_length (variants));
++        else
++                n = g_strv_length (layouts);
++
++        xkb_info = gnome_xkb_info_new ();
++        disp = g_string_new ("");
++        for (i = 0; i < n && layouts[i][0]; i++) {
++                const char *name;
++                char *id;
++
++                if (variants && variants[i] && variants[i][0])
++                        id = g_strdup_printf ("%s+%s", layouts[i], variants[i]);
++                else
++                        id = g_strdup (layouts[i]);
++
++                gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL);
++                if (disp->str[0] != '\0')
++                        disp = g_string_append (disp, ", ");
++                disp = g_string_append (disp, name ? name : id);
++
++                g_free (id);
++        }
+         gtk_label_set_text (GTK_LABEL (label), disp->str);
+         g_string_free (disp, TRUE);
+ 
+-        g_variant_unref (v);
++        g_strfreev (variants);
++        g_strfreev (layouts);
++        g_object_unref (xkb_info);
+ 
+         update_copy_button (dialog);
+ }
+@@ -386,6 +426,11 @@ copy_settings (GtkButton *button, GtkBui
+         layout = g_object_get_data (G_OBJECT (label), "input_source");
+         variants = g_object_get_data (G_OBJECT (label), "input_variants");
+ 
++        if (layout == NULL || layout[0] == '\0') {
++                g_debug ("Not calling SetX11Keyboard, as there are no XKB input sources in the user's settings");
++                return;
++        }
++
+         g_dbus_proxy_call (localed_proxy,
+                            "SetX11Keyboard",
+                            g_variant_new ("(ssssbb)", layout, "", variants ? variants : "", "", TRUE, TRUE),
+@@ -468,10 +513,10 @@ setup_system (GtkBuilder *dialog)
+                           G_CALLBACK (locale_settings_changed), dialog);
+         g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, locale_settings);
+ 
+-	xkb_settings = g_settings_new (GKBD_KEYBOARD_SCHEMA);
+-	g_signal_connect (xkb_settings, "changed::layouts",
+-			  G_CALLBACK (xkb_settings_changed), dialog);
+-	g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, xkb_settings);
++        input_sources_settings = g_settings_new ("org.cinnamon.desktop.input-sources");
++        g_signal_connect (input_sources_settings, "changed::sources",
++                          G_CALLBACK (input_sources_changed), dialog);
++        g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, input_sources_settings);
+ 
+         /* Display user settings */
+         language = cc_common_language_get_current_language ();
+@@ -480,7 +525,7 @@ setup_system (GtkBuilder *dialog)
+ 
+         locale_settings_changed (locale_settings, "region", dialog);
+ 
+-        xkb_settings_changed (xkb_settings, "layouts", dialog);
++        input_sources_changed (input_sources_settings, "sources", dialog);
+ 
+         bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
+         g_dbus_proxy_new (bus,
+diff -uNrp a/panels/region/cinnamon-region-panel-system.h b/panels/region/cinnamon-region-panel-system.h
+--- a/panels/region/cinnamon-region-panel-system.h	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-system.h	2013-09-21 13:24:15.342949428 +0100
+@@ -19,8 +19,8 @@
+  * 02110-1335, USA.
+  */
+ 
+-#ifndef __GNOME_REGION_PANEL_SYSTEM_H
+-#define __GNOME_REGION_PANEL_SYSTEM_H
++#ifndef __CINNAMON_REGION_PANEL_SYSTEM_H
++#define __CINNAMON_REGION_PANEL_SYSTEM_H
+ 
+ #include <gtk/gtk.h>
+ 
+diff -uNrp a/panels/region/cinnamon-region-panel.ui b/panels/region/cinnamon-region-panel.ui
+--- a/panels/region/cinnamon-region-panel.ui	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel.ui	2013-09-21 13:24:15.347949247 +0100
+@@ -162,27 +162,17 @@
+                             <style>
+                               <class name="inline-toolbar"/>
+                             </style>
++                            <style>
++                              <class name="inline-toolbar"/>
++                            </style>
+                             <child>
+                               <object class="GtkToolButton" id="language_add">
++                                <property name="use_action_appearance">False</property>
+                                 <property name="visible">True</property>
+-                                <property name="can_focus">False</property>
+                                 <property name="label" translatable="yes">Add Language</property>
+-                                <property name="use_underline">True</property>
+-                                <property name="icon_name">list-add-symbolic</property>
+-                              </object>
+-                              <packing>
+-                                <property name="expand">False</property>
+-                                <property name="homogeneous">True</property>
+-                              </packing>
+-                            </child>
+-                            <child>
+-                              <object class="GtkToolButton" id="language_remove">
+-                                <property name="visible">True</property>
+-                                <property name="sensitive">False</property>
+                                 <property name="can_focus">False</property>
+-                                <property name="label" translatable="yes">Remove Language</property>
+                                 <property name="use_underline">True</property>
+-                                <property name="icon_name">list-remove-symbolic</property>
++                                <property name="icon_name">list-add-symbolic</property>
+                               </object>
+                               <packing>
+                                 <property name="expand">False</property>
+@@ -198,12 +188,13 @@
+                         </child>
+                         <child>
+                           <object class="GtkVBox" id="vbox3">
+-                            <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+                             <child>
+                               <object class="GtkLabel" id="label23">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">False</property>
++                                <property name="use_underline">True</property>
++                                <property name="label" translatable="yes">Add Language</property>
+                               </object>
+                               <packing>
+                                 <property name="expand">True</property>
+@@ -212,23 +203,24 @@
+                               </packing>
+                             </child>
+                             <child>
+-                              <object class="GtkButton" id="get_languages_button">
+-                                <property name="label" translatable="yes">button</property>
++                              <object class="GtkLinkButton" id="linkbutton1">
++                                <property name="label" translatable="yes">Install languages...</property>
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="receives_default">True</property>
++                                <property name="has_tooltip">True</property>
+                               </object>
+                               <packing>
+-                                <property name="expand">True</property>
++                                <property name="expand">False</property>
+                                 <property name="fill">True</property>
+-                                <property name="position">13</property>
++                                <property name="position">1</property>
+                               </packing>
+                             </child>
+                           </object>
+                           <packing>
+                             <property name="expand">False</property>
+                             <property name="fill">True</property>
+-                            <property name="position">2</property>
++                            <property name="position">1</property>
+                           </packing>
+                         </child>
+                       </object>
+@@ -305,19 +297,19 @@
+                         </child>
+                         <child>
+                           <object class="GtkToolbar" id="region-toolbar">
+-                            <property name="visible">True</property>
+-                            <property name="can_focus">False</property>
+                             <property name="toolbar_style">icons</property>
+                             <property name="show_arrow">False</property>
+                             <property name="icon_size">1</property>
++                            <property name="visible">True</property>
+                             <style>
+                               <class name="inline-toolbar"/>
+                             </style>
+                             <child>
+                               <object class="GtkToolButton" id="region_add">
++                                <property name="use_action_appearance">False</property>
++                                <property name="label" translatable="yes">Add Region</property>
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">False</property>
+-                                <property name="label" translatable="yes">Add Region</property>
+                                 <property name="use_underline">True</property>
+                                 <property name="icon_name">list-add-symbolic</property>
+                               </object>
+@@ -328,10 +320,11 @@
+                             </child>
+                             <child>
+                               <object class="GtkToolButton" id="region_remove">
++                                <property name="use_action_appearance">False</property>
+                                 <property name="visible">True</property>
++                                <property name="label" translatable="yes">Remove Region</property>
+                                 <property name="sensitive">False</property>
+                                 <property name="can_focus">False</property>
+-                                <property name="label" translatable="yes">Remove Region</property>
+                                 <property name="use_underline">True</property>
+                                 <property name="icon_name">list-remove-symbolic</property>
+                               </object>
+@@ -373,18 +366,6 @@
+                                 <property name="n_rows">9</property>
+                                 <property name="n_columns">2</property>
+                                 <child>
+-                                  <placeholder/>
+-                                </child>
+-                                <child>
+-                                  <placeholder/>
+-                                </child>
+-                                <child>
+-                                  <placeholder/>
+-                                </child>
+-                                <child>
+-                                  <placeholder/>
+-                                </child>
+-                                <child>
+                                   <object class="GtkLabel" id="label7">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">False</property>
+@@ -626,6 +607,12 @@
+                         <property name="height">1</property>
+                       </packing>
+                     </child>
++                    <child>
++                      <placeholder/>
++                    </child>
++                    <child>
++                      <placeholder/>
++                    </child>
+                   </object>
+                   <packing>
+                     <property name="position">1</property>
+@@ -643,36 +630,43 @@
+                   </packing>
+                 </child>
+                 <child>
+-                  <object class="GtkVBox" id="vbox1">
++                  <object class="GtkVBox" id="vbox5">
+                     <property name="visible">True</property>
+                     <property name="can_focus">False</property>
+-                    <property name="border_width">10</property>
++                    <property name="border_width">12</property>
+                     <property name="spacing">12</property>
+                     <child>
+-                      <placeholder/>
++                      <object class="GtkLabel" id="label24">
++                        <property name="visible">True</property>
++                        <property name="can_focus">False</property>
++                        <property name="xalign">0</property>
++                        <property name="label" translatable="yes">Select keyboards or other input sources</property>
++                      </object>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                        <property name="position">0</property>
++                      </packing>
+                     </child>
+                     <child>
+-                      <object class="GtkHBox" id="hbox2">
++                      <object class="GtkHBox" id="hbox3">
+                         <property name="visible">True</property>
+                         <property name="can_focus">False</property>
+                         <property name="spacing">12</property>
+                         <child>
+-                          <object class="GtkVBox" id="vbox7">
++                          <object class="GtkVBox" id="vbox6">
+                             <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+                             <child>
+-                              <object class="GtkScrolledWindow" id="xkb_layouts_swindow">
++                              <object class="GtkScrolledWindow" id="input_sources_swindow">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="shadow_type">in</property>
+                                 <child>
+-                                  <object class="GtkTreeView" id="xkb_layouts_selected">
++                                  <object class="GtkTreeView" id="active_input_sources">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">True</property>
+                                     <property name="headers_visible">False</property>
+-                                    <child internal-child="selection">
+-                                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+-                                    </child>
+                                   </object>
+                                 </child>
+                               </object>
+@@ -683,7 +677,7 @@
+                               </packing>
+                             </child>
+                             <child>
+-                              <object class="GtkToolbar" id="layouts-toolbar">
++                              <object class="GtkToolbar" id="input-toolbar">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">False</property>
+                                 <property name="toolbar_style">icons</property>
+@@ -693,70 +687,166 @@
+                                   <class name="inline-toolbar"/>
+                                 </style>
+                                 <child>
+-                                  <object class="GtkToolButton" id="xkb_layouts_add">
++                                  <object class="GtkToolItem" id="i_s_ar_item">
+                                     <property name="visible">True</property>
+-                                    <property name="can_focus">False</property>
+-                                    <property name="label" translatable="yes">Add Layout</property>
+-                                    <property name="use_underline">True</property>
+-                                    <property name="icon_name">list-add-symbolic</property>
++                                    <child>
++                                      <object class="GtkBox" id="i_s_ar_box">
++                                        <property name="visible">True</property>
++                                        <child>
++                                           <object class="GtkButton" id="input_source_add">
++                                             <property name="visible">True</property>
++                                             <child internal-child="accessible">
++                                               <object class="AtkObject" id="i_s_a_a11y">
++                                                 <property name="accessible-name" translatable="yes">Add Input Source</property>
++                                               </object>
++                                             </child>
++                                             <child>
++                                                <object class="GtkImage" id="i_s_a_image">
++
++                                                  <property name="visible">True</property>
++                                                  <property name="icon-name">list-add-symbolic</property>
++                                                  <property name="icon-size">1</property>
++                                                </object>
++                                             </child>
++                                           </object>
++                                        </child>
++                                        <child>
++                                           <object class="GtkButton" id="input_source_remove">
++                                             <property name="visible">True</property>
++                                             <child internal-child="accessible">
++                                               <object class="AtkObject" id="i_s_r_a11y">
++                                                 <property name="accessible-name" translatable="yes">Remove Input Source</property>
++                                               </object>
++                                             </child>
++                                             <child>
++                                                <object class="GtkImage" id="i_s_r_image">
++                                                  <property name="visible">True</property>
++                                                  <property name="icon-name">list-remove-symbolic</property>
++                                                  <property name="icon-size">1</property>
++                                                </object>
++                                             </child>
++                                           </object>
++                                        </child>
++                                      </object>
++                                    </child>
+                                   </object>
+-                                  <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="homogeneous">True</property>
+-                                  </packing>
+                                 </child>
++
+                                 <child>
+-                                  <object class="GtkToolButton" id="xkb_layouts_remove">
++                                  <object class="GtkSeparatorToolItem" id="sep1">
+                                     <property name="visible">True</property>
+-                                    <property name="can_focus">False</property>
+-                                    <property name="label" translatable="yes">Remove Layout</property>
+-                                    <property name="use_underline">True</property>
+-                                    <property name="icon_name">list-remove-symbolic</property>
++                                    <property name="draw">False</property>
+                                   </object>
+                                   <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="homogeneous">True</property>
++                                    <property name="expand">True</property>
+                                   </packing>
+                                 </child>
++
+                                 <child>
+-                                  <object class="GtkToolButton" id="xkb_layouts_move_up">
++                                  <object class="GtkToolItem" id="i_s_ud_item">
+                                     <property name="visible">True</property>
+-                                    <property name="can_focus">False</property>
+-                                    <property name="label" translatable="yes">Move Up</property>
+-                                    <property name="use_underline">True</property>
+-                                    <property name="icon_name">go-up-symbolic</property>
++                                    <child>
++                                      <object class="GtkBox" id="i_s_ud_box">
++                                        <property name="visible">True</property>
++                                        <child>
++                                           <object class="GtkButton" id="input_source_move_up">
++                                             <property name="visible">True</property>
++                                             <child internal-child="accessible">
++                                               <object class="AtkObject" id="i_s_u_a11y">
++                                                 <property name="accessible-name" translatable="yes">Move Input Source Up</property>
++                                               </object>
++                                             </child>
++                                             <child>
++                                                <object class="GtkImage" id="i_s_u_image">
++
++                                                  <property name="visible">True</property>
++                                                  <property name="icon-name">go-up-symbolic</property>
++                                                  <property name="icon-size">1</property>
++                                                </object>
++                                             </child>
++                                           </object>
++                                        </child>
++                                        <child>
++                                           <object class="GtkButton" id="input_source_move_down">
++                                             <property name="visible">True</property>
++                                             <child internal-child="accessible">
++                                               <object class="AtkObject" id="i_s_d_a11y">
++                                                 <property name="accessible-name" translatable="yes">Move Input Source Down</property>
++                                               </object>
++                                             </child>
++                                             <child>
++                                                <object class="GtkImage" id="i_s_d_image">
++                                                  <property name="visible">True</property>
++                                                  <property name="icon-name">go-down-symbolic</property>
++                                                  <property name="icon-size">1</property>
++                                                </object>
++                                             </child>
++                                           </object>
++                                        </child>
++                                      </object>
++                                    </child>
+                                   </object>
+-                                  <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="homogeneous">True</property>
+-                                  </packing>
+                                 </child>
++
+                                 <child>
+-                                  <object class="GtkToolButton" id="xkb_layouts_move_down">
++                                  <object class="GtkSeparatorToolItem" id="sep2">
+                                     <property name="visible">True</property>
+-                                    <property name="can_focus">False</property>
+-                                    <property name="label" translatable="yes">Move Down</property>
+-                                    <property name="use_underline">True</property>
+-                                    <property name="icon_name">go-down-symbolic</property>
++                                    <property name="draw">False</property>
++                                    <property name="hexpand">True</property>
+                                   </object>
+                                   <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="homogeneous">True</property>
++                                    <property name="expand">True</property>
+                                   </packing>
+                                 </child>
++
+                                 <child>
+-                                  <object class="GtkToolButton" id="xkb_layouts_show">
++                                  <object class="GtkToolItem" id="i_s_sp_item">
+                                     <property name="visible">True</property>
+-                                    <property name="can_focus">False</property>
+-                                    <property name="label" translatable="yes">Preview Layout</property>
+-                                    <property name="use_underline">True</property>
+-                                    <property name="icon_name">input-keyboard-symbolic</property>
++                                    <child>
++                                      <object class="GtkBox" id="i_s_sp_box">
++                                        <property name="visible">True</property>
++                                        <child>
++                                           <object class="GtkButton" id="input_source_settings">
++                                             <property name="visible">True</property>
++                                             <child internal-child="accessible">
++                                               <object class="AtkObject" id="i_s_s_a11y">
++                                                 <property name="accessible-name" translatable="yes">Input Source Settings</property>
++                                               </object>
++                                             </child>
++                                             <child>
++                                                <object class="GtkImage" id="i_s_s_image">
++
++                                                  <property name="visible">True</property>
++                                                  <property name="icon_name">preferences-system-symbolic</property>
++                                                  <property name="icon_size">1</property>
++                                                  <property name="pixel_size">16</property>
++                                                </object>
++                                             </child>
++                                           </object>
++                                        </child>
++                                        <child>
++                                           <object class="GtkButton" id="input_source_show">
++                                             <property name="visible">True</property>
++                                             <child internal-child="accessible">
++                                               <object class="AtkObject" id="i_s_p_a11y">
++                                                 <property name="accessible-name" translatable="yes">Show Keyboard Layout</property>
++                                               </object>
++                                             </child>
++                                             <child>
++                                                <object class="GtkImage" id="i_s_p_image">
++
++                                                  <property name="visible">True</property>
++                                                  <property name="icon_name">input-keyboard-symbolic</property>
++                                                  <property name="icon-size">1</property>
++                                                </object>
++                                             </child>
++                                           </object>
++                                        </child>
++                                      </object>
++                                    </child>
+                                   </object>
+-                                  <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="homogeneous">True</property>
+-                                  </packing>
+                                 </child>
++
+                               </object>
+                               <packing>
+                                 <property name="expand">False</property>
+@@ -772,168 +862,111 @@
+                           </packing>
+                         </child>
+                         <child>
+-                          <object class="GtkVBox" id="vbox33">
++                          <object class="GtkFrame" id="frame4">
+                             <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+-                            <property name="spacing">12</property>
++                            <property name="label_xalign">0</property>
++                            <property name="shadow_type">none</property>
+                             <child>
+-                              <object class="GtkVBox" id="vbox34">
++                              <object class="GtkAlignment" id="alignment3">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">False</property>
+-                                <property name="spacing">6</property>
++                                <property name="left_padding">12</property>
+                                 <child>
+-                                  <object class="GtkRadioButton" id="chk_same_group">
+-                                    <property name="label" translatable="yes">Use the same layout for all windows</property>
+-                                    <property name="visible">True</property>
+-                                    <property name="can_focus">True</property>
+-                                    <property name="receives_default">False</property>
+-                                    <property name="xalign">0</property>
+-                                    <property name="active">True</property>
+-                                    <property name="draw_indicator">True</property>
+-                                  </object>
+-                                  <packing>
+-                                    <property name="expand">True</property>
+-                                    <property name="fill">True</property>
+-                                    <property name="position">0</property>
+-                                  </packing>
+-                                </child>
+-                                <child>
+-                                  <object class="GtkRadioButton" id="chk_separate_group_per_window">
+-                                    <property name="label" translatable="yes">Allow different layouts for individual windows</property>
+-                                    <property name="visible">True</property>
+-                                    <property name="can_focus">True</property>
+-                                    <property name="receives_default">False</property>
+-                                    <property name="xalign">0</property>
+-                                    <property name="active">True</property>
+-                                    <property name="draw_indicator">True</property>
+-                                    <property name="group">chk_same_group</property>
+-                                  </object>
+-                                  <packing>
+-                                    <property name="expand">True</property>
+-                                    <property name="fill">True</property>
+-                                    <property name="position">1</property>
+-                                  </packing>
+-                                </child>
+-                                <child>
+-                                  <object class="GtkAlignment" id="alignment1">
++                                  <object class="GtkGrid" id="shortcuts-grid">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">False</property>
+-                                    <property name="left_padding">12</property>
++                                    <property name="margin_top">6</property>
++                                    <property name="row_spacing">6</property>
++                                    <property name="column_spacing">6</property>
+                                     <child>
+-                                      <object class="GtkVBox" id="vbox4">
++                                      <object class="GtkLabel" id="prev-source-label">
+                                         <property name="visible">True</property>
+                                         <property name="can_focus">False</property>
+-                                        <child>
+-                                          <object class="GtkRadioButton" id="chk_new_windows_default_layout">
+-                                            <property name="label" translatable="yes">New windows use the default layout</property>
+-                                            <property name="visible">True</property>
+-                                            <property name="can_focus">True</property>
+-                                            <property name="receives_default">False</property>
+-                                            <property name="xalign">0</property>
+-                                            <property name="active">True</property>
+-                                            <property name="draw_indicator">True</property>
+-                                          </object>
+-                                          <packing>
+-                                            <property name="expand">True</property>
+-                                            <property name="fill">True</property>
+-                                            <property name="position">0</property>
+-                                          </packing>
+-                                        </child>
+-                                        <child>
+-                                          <object class="GtkRadioButton" id="chk_new_windows_inherit_layout">
+-                                            <property name="label" translatable="yes">New windows use the previous window's layout</property>
+-                                            <property name="visible">True</property>
+-                                            <property name="can_focus">True</property>
+-                                            <property name="receives_default">False</property>
+-                                            <property name="xalign">0</property>
+-                                            <property name="active">True</property>
+-                                            <property name="draw_indicator">True</property>
+-                                            <property name="group">chk_new_windows_default_layout</property>
+-                                          </object>
+-                                          <packing>
+-                                            <property name="expand">True</property>
+-                                            <property name="fill">True</property>
+-                                            <property name="position">1</property>
+-                                          </packing>
+-                                        </child>
++                                        <property name="xalign">0</property>
++                                        <property name="label" translatable="yes">Switch to previous source</property>
+                                       </object>
++                                      <packing>
++                                        <property name="left_attach">0</property>
++                                        <property name="top_attach">0</property>
++                                        <property name="width">1</property>
++                                        <property name="height">1</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="prev-source-shortcut-label">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">False</property>
++                                        <property name="halign">end</property>
++                                        <property name="hexpand">True</property>
++                                        <property name="label" translatable="yes">Ctrl+Alt+Space</property>
++                                        <style><class name="dim-label"/></style>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">1</property>
++                                        <property name="top_attach">0</property>
++                                        <property name="width">1</property>
++                                        <property name="height">1</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="next-source-label">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">False</property>
++                                        <property name="xalign">0</property>
++                                        <property name="label" translatable="yes">Switch to next source</property>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">0</property>
++                                        <property name="top_attach">1</property>
++                                        <property name="width">1</property>
++                                        <property name="height">1</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="next-source-shortcut-label">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">False</property>
++                                        <property name="halign">end</property>
++                                        <property name="hexpand">True</property>
++                                        <property name="label" translatable="yes">Ctrl+Alt+Shift+Space</property>
++                                        <style><class name="dim-label"/></style>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">1</property>
++                                        <property name="top_attach">1</property>
++                                        <property name="width">1</property>
++                                        <property name="height">1</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLinkButton" id="jump-to-shortcuts">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Shortcut Settings</property>
++                                        <property name="halign">end</property>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">1</property>
++                                        <property name="top_attach">2</property>
++                                        <property name="width">1</property>
++                                        <property name="height">1</property>
++                                      </packing>
+                                     </child>
+                                   </object>
+-                                  <packing>
+-                                    <property name="expand">True</property>
+-                                    <property name="fill">True</property>
+-                                    <property name="position">2</property>
+-                                  </packing>
+                                 </child>
+                               </object>
+-                              <packing>
+-                                <property name="expand">False</property>
+-                                <property name="fill">False</property>
+-                                <property name="position">0</property>
+-                              </packing>
+-                            </child>
+-                            <child>
+-                              <object class="GtkLabel" id="label2">
+-                                <property name="visible">True</property>
+-                                <property name="can_focus">False</property>
+-                              </object>
+-                              <packing>
+-                                <property name="expand">True</property>
+-                                <property name="fill">False</property>
+-                                <property name="position">1</property>
+-                              </packing>
+                             </child>
+-                            <child>
+-                              <object class="GtkHButtonBox" id="hbuttonbox2">
++                            <child type="label">
++                              <object class="GtkLabel" id="shortcuts-frame-label">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">False</property>
+-                                <property name="spacing">6</property>
+-                                <property name="layout_style">end</property>
+-                                <child>
+-                                  <object class="GtkButton" id="xkb_layout_options">
+-                                    <property name="label" translatable="yes">_Options...</property>
+-                                    <property name="visible">True</property>
+-                                    <property name="can_focus">True</property>
+-                                    <property name="receives_default">True</property>
+-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+-                                    <property name="has_tooltip">True</property>
+-                                    <property name="tooltip_markup" translatable="yes">View and edit keyboard layout options</property>
+-                                    <property name="tooltip_text" translatable="yes">View and edit keyboard layout options</property>
+-                                    <property name="use_underline">True</property>
+-                                  </object>
+-                                  <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="fill">False</property>
+-                                    <property name="position">0</property>
+-                                  </packing>
+-                                </child>
+-                                <child>
+-                                  <object class="GtkButton" id="xkb_reset_to_defaults">
+-                                    <property name="label" translatable="yes">Reset to De_faults</property>
+-                                    <property name="visible">True</property>
+-                                    <property name="can_focus">True</property>
+-                                    <property name="receives_default">True</property>
+-                                    <property name="has_tooltip">True</property>
+-                                    <property name="tooltip_markup" translatable="yes">Replace the current keyboard layout settings with the
+-default settings</property>
+-                                    <property name="tooltip_text" translatable="yes">Replace the current keyboard layout settings with the
+-default settings</property>
+-                                    <property name="use_underline">True</property>
+-                                  </object>
+-                                  <packing>
+-                                    <property name="expand">False</property>
+-                                    <property name="fill">False</property>
+-                                    <property name="pack_type">end</property>
+-                                    <property name="position">1</property>
+-                                    <property name="secondary">True</property>
+-                                  </packing>
+-                                </child>
++                                <property name="label" translatable="yes">Shortcuts</property>
++                                <property name="use_markup">True</property>
++                                <attributes>
++                                  <attribute name="weight" value="bold"/>
++                                </attributes>
+                               </object>
+-                              <packing>
+-                                <property name="expand">False</property>
+-                                <property name="fill">False</property>
+-                                <property name="position">2</property>
+-                              </packing>
+                             </child>
+                           </object>
+                           <packing>
+@@ -951,17 +984,17 @@ default settings</property>
+                     </child>
+                   </object>
+                   <packing>
+-                    <property name="position">2</property>
++                    <property name="position">3</property>
+                   </packing>
+                 </child>
+                 <child type="tab">
+-                  <object class="GtkLabel" id="label46">
++                  <object class="GtkLabel" id="label13">
+                     <property name="visible">True</property>
+                     <property name="can_focus">False</property>
+-                    <property name="label" translatable="yes">Keyboard Layouts</property>
++                    <property name="label" translatable="yes">Input Sources</property>
+                   </object>
+                   <packing>
+-                    <property name="position">2</property>
++                    <property name="position">3</property>
+                     <property name="tab_fill">False</property>
+                   </packing>
+                 </child>
+@@ -974,9 +1007,6 @@ default settings</property>
+                     <property name="column_spacing">12</property>
+                     <property name="row_spacing">12</property>
+                     <child>
+-                      <placeholder/>
+-                    </child>
+-                    <child>
+                       <object class="GtkLabel" id="system-title">
+                         <property name="visible">True</property>
+                         <property name="can_focus">False</property>
+@@ -1051,6 +1081,7 @@ default settings</property>
+                                 <property name="bottom_attach">2</property>
+                                 <property name="x_padding">3</property>
+                                 <property name="y_padding">3</property>
++                                <property name="y_options">GTK_FILL</property>
+                               </packing>
+                             </child>
+                             <child>
+@@ -1060,6 +1091,7 @@ default settings</property>
+                                 <property name="xalign">0</property>
+                                 <property name="yalign">0</property>
+                                 <property name="wrap">True</property>
++                                <property name="width-chars">18</property>
+                               </object>
+                               <packing>
+                                 <property name="left_attach">1</property>
+@@ -1068,6 +1100,7 @@ default settings</property>
+                                 <property name="bottom_attach">2</property>
+                                 <property name="x_padding">3</property>
+                                 <property name="y_padding">3</property>
++                                <property name="y_options">GTK_FILL</property>
+                               </packing>
+                             </child>
+                             <child>
+@@ -1178,6 +1211,7 @@ default settings</property>
+                                 <property name="bottom_attach">2</property>
+                                 <property name="x_padding">3</property>
+                                 <property name="y_padding">3</property>
++                                <property name="y_options">GTK_FILL</property>
+                               </packing>
+                             </child>
+                             <child>
+@@ -1187,6 +1221,7 @@ default settings</property>
+                                 <property name="xalign">0</property>
+                                 <property name="yalign">0</property>
+                                 <property name="wrap">True</property>
++                                <property name="width-chars">18</property>
+                               </object>
+                               <packing>
+                                 <property name="left_attach">1</property>
+@@ -1195,6 +1230,7 @@ default settings</property>
+                                 <property name="bottom_attach">2</property>
+                                 <property name="x_padding">3</property>
+                                 <property name="y_padding">3</property>
++                                <property name="y_options">GTK_FILL</property>
+                               </packing>
+                             </child>
+                             <child>
+@@ -1254,6 +1290,7 @@ default settings</property>
+                     <child>
+                       <object class="GtkButton" id="copy_settings_button">
+                         <property name="label" translatable="yes">Copy Settings...</property>
++                        <property name="use_action_appearance">False</property>
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="receives_default">True</property>
+@@ -1269,9 +1306,12 @@ default settings</property>
+                         <property name="y_padding">3</property>
+                       </packing>
+                     </child>
++                    <child>
++                      <placeholder/>
++                    </child>
+                   </object>
+                   <packing>
+-                    <property name="position">3</property>
++                    <property name="position">4</property>
+                   </packing>
+                 </child>
+                 <child type="tab">
+@@ -1281,7 +1321,7 @@ default settings</property>
+                     <property name="label" translatable="yes">System</property>
+                   </object>
+                   <packing>
+-                    <property name="position">3</property>
++                    <property name="position">4</property>
+                     <property name="tab_fill">False</property>
+                   </packing>
+                 </child>
+@@ -1302,4 +1342,11 @@ default settings</property>
+       </object>
+     </child>
+   </object>
++  <object class="GtkSizeGroup" id="system-input-source-sizegroup">
++    <property name="mode">vertical</property>
++    <widgets>
++      <widget name="user_input_source"/>
++      <widget name="system_input_source"/>
++    </widgets>
++  </object>
+ </interface>
+diff -uNrp a/panels/region/cinnamon-region-panel-xkb.c b/panels/region/cinnamon-region-panel-xkb.c
+--- a/panels/region/cinnamon-region-panel-xkb.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-xkb.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,190 +0,0 @@
+-/* cinnamon-region-panel-xkb.c
+- * Copyright (C) 2003-2007 Sergey V. Udaltsov
+- *
+- * Written by: Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifdef HAVE_CONFIG_H
+-#  include <config.h>
+-#endif
+-
+-#include <string.h>
+-#include <gdk/gdkx.h>
+-#include <glib/gi18n-lib.h>
+-
+-#include "cinnamon-region-panel-xkb.h"
+-
+-#include <libgnomekbd/gkbd-desktop-config.h>
+-
+-XklEngine *engine;
+-XklConfigRegistry *config_registry;
+-
+-GkbdKeyboardConfig initial_config;
+-GkbdDesktopConfig desktop_config;
+-
+-GSettings *xkb_keyboard_settings;
+-GSettings *xkb_desktop_settings;
+-
+-char *
+-xci_desc_to_utf8 (const XklConfigItem * ci)
+-{
+-	gchar *dd = g_strdup (ci->description);
+-	gchar *sd = g_strstrip (dd);
+-	gchar *rv = g_strdup (sd[0] == 0 ? ci->name : sd);
+-	g_free (dd);
+-	return rv;
+-}
+-
+-static void
+-cleanup_xkb_tabs (GtkBuilder * dialog,
+-		  GObject *where_the_object_wa)
+-{
+-	gkbd_desktop_config_term (&desktop_config);
+-	gkbd_keyboard_config_term (&initial_config);
+-	g_object_unref (G_OBJECT (config_registry));
+-	config_registry = NULL;
+-	/* Don't unref it here, or we'll crash if open the panel again */
+-	engine = NULL;
+-	g_object_unref (G_OBJECT (xkb_keyboard_settings));
+-	g_object_unref (G_OBJECT (xkb_desktop_settings));
+-	xkb_keyboard_settings = NULL;
+-	xkb_desktop_settings = NULL;
+-}
+-
+-static void
+-reset_to_defaults (GtkWidget * button, GtkBuilder * dialog)
+-{
+-	GkbdKeyboardConfig empty_kbd_config;
+-
+-	gkbd_keyboard_config_init (&empty_kbd_config, engine);
+-	gkbd_keyboard_config_save (&empty_kbd_config);
+-	gkbd_keyboard_config_term (&empty_kbd_config);
+-
+-	g_settings_reset (xkb_desktop_settings,
+-			  GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP);
+-
+-	/* all the rest is g-s-d's business */
+-}
+-
+-static void
+-chk_new_windows_inherit_layout_toggled (GtkWidget *
+-					chk_new_windows_inherit_layout,
+-					GtkBuilder * dialog)
+-{
+-	xkb_save_default_group (gtk_toggle_button_get_active
+-				(GTK_TOGGLE_BUTTON
+-				 (chk_new_windows_inherit_layout)) ? -1 :
+-				0);
+-}
+-
+-void
+-setup_xkb_tabs (GtkBuilder * dialog)
+-{
+-	GtkWidget *widget;
+-	GtkStyleContext *context;
+-	GtkWidget *chk_new_windows_inherit_layout;
+-
+-	chk_new_windows_inherit_layout = WID ("chk_new_windows_inherit_layout");
+-
+-	xkb_desktop_settings = g_settings_new (GKBD_DESKTOP_SCHEMA);
+-	xkb_keyboard_settings = g_settings_new (GKBD_KEYBOARD_SCHEMA);
+-
+-	engine =
+-	    xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY
+-				     (gdk_display_get_default ()));
+-	config_registry = xkl_config_registry_get_instance (engine);
+-
+-	gkbd_desktop_config_init (&desktop_config, engine);
+-	gkbd_desktop_config_load (&desktop_config);
+-
+-	xkl_config_registry_load (config_registry,
+-				  desktop_config.load_extra_items);
+-
+-	gkbd_keyboard_config_init (&initial_config, engine);
+-	gkbd_keyboard_config_load_from_x_initial (&initial_config, NULL);
+-
+-	/* Set initial state */
+-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (WID ("chk_separate_group_per_window")),
+-				      g_settings_get_boolean (xkb_desktop_settings,
+-							      GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW));
+-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chk_new_windows_inherit_layout),
+-				      xkb_get_default_group () < 0);
+-
+-	g_settings_bind (xkb_desktop_settings,
+-			 GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW,
+-			 WID ("chk_separate_group_per_window"), "active",
+-			 G_SETTINGS_BIND_DEFAULT);
+-	g_settings_bind (xkb_desktop_settings,
+-			 GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW,
+-			 WID ("chk_new_windows_inherit_layout"), "sensitive",
+-			 G_SETTINGS_BIND_DEFAULT);
+-	g_settings_bind (xkb_desktop_settings,
+-			 GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW,
+-			 WID ("chk_new_windows_default_layout"), "sensitive",
+-			 G_SETTINGS_BIND_DEFAULT);
+-
+-	xkb_layouts_prepare_selected_tree (dialog);
+-	xkb_layouts_fill_selected_tree (dialog);
+-
+-	xkb_layouts_register_buttons_handlers (dialog);
+-	g_signal_connect (G_OBJECT (WID ("xkb_reset_to_defaults")),
+-			  "clicked", G_CALLBACK (reset_to_defaults),
+-			  dialog);
+-
+-	g_signal_connect (G_OBJECT (chk_new_windows_inherit_layout),
+-			  "toggled",
+-			  G_CALLBACK
+-			  (chk_new_windows_inherit_layout_toggled),
+-			  dialog);
+-
+-	g_signal_connect_swapped (G_OBJECT (WID ("xkb_layout_options")),
+-				  "clicked",
+-				  G_CALLBACK (xkb_options_popup_dialog),
+-				  dialog);
+-
+-	xkb_layouts_register_conf_listener (dialog);
+-	xkb_options_register_conf_listener (dialog);
+-
+-	g_object_weak_ref (G_OBJECT (WID ("region_notebook")),
+-			   (GWeakNotify) cleanup_xkb_tabs, dialog);
+-
+-	enable_disable_restoring (dialog);
+-
+-	/* Setup junction between toolbar and treeview */
+-	widget = WID ("xkb_layouts_swindow");
+-	context = gtk_widget_get_style_context (widget);
+-	gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
+-	widget = WID ("layouts-toolbar");
+-	context = gtk_widget_get_style_context (widget);
+-	gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
+-}
+-
+-void
+-enable_disable_restoring (GtkBuilder * dialog)
+-{
+-	GkbdKeyboardConfig gswic;
+-	gboolean enable;
+-
+-	gkbd_keyboard_config_init (&gswic, engine);
+-	gkbd_keyboard_config_load (&gswic, NULL);
+-
+-	enable = !gkbd_keyboard_config_equals (&gswic, &initial_config);
+-
+-	gkbd_keyboard_config_term (&gswic);
+-	gtk_widget_set_sensitive (WID ("xkb_reset_to_defaults"), enable);
+-}
+diff -uNrp a/panels/region/cinnamon-region-panel-xkb.h b/panels/region/cinnamon-region-panel-xkb.h
+--- a/panels/region/cinnamon-region-panel-xkb.h	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-xkb.h	1970-01-01 01:00:00.000000000 +0100
+@@ -1,96 +0,0 @@
+-/* cinnamon-region-panel-xkb.h
+- * Copyright (C) 2003-2007 Sergey V Udaltsov
+- *
+- * Written by Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifndef __GNOME_KEYBOARD_PROPERTY_XKB_H
+-#define __GNOME_KEYBOARD_PROPERTY_XKB_H
+-
+-#include <gtk/gtk.h>
+-
+-#include "libgnomekbd/gkbd-keyboard-config.h"
+-#include "libgnomekbd/gkbd-util.h"
+-
+-G_BEGIN_DECLS
+-#define CWID(s) GTK_WIDGET (gtk_builder_get_object (chooser_dialog, s))
+-#define WID(s) GTK_WIDGET (gtk_builder_get_object (dialog, s))
+-extern XklEngine *engine;
+-extern XklConfigRegistry *config_registry;
+-extern GSettings *xkb_keyboard_settings;
+-extern GSettings *xkb_desktop_settings;
+-extern GkbdKeyboardConfig initial_config;
+-
+-extern void setup_xkb_tabs (GtkBuilder * dialog);
+-
+-extern void xkb_layouts_fill_selected_tree (GtkBuilder * dialog);
+-
+-extern void xkb_layouts_register_buttons_handlers (GtkBuilder * dialog);
+-
+-extern void xkb_layouts_register_conf_listener (GtkBuilder * dialog);
+-
+-extern void xkb_options_register_conf_listener (GtkBuilder * dialog);
+-
+-extern void xkb_layouts_prepare_selected_tree (GtkBuilder * dialog);
+-
+-extern void xkb_options_load_options (GtkBuilder * dialog);
+-
+-extern void xkb_options_popup_dialog (GtkBuilder * dialog);
+-
+-extern char *xci_desc_to_utf8 (const XklConfigItem * ci);
+-
+-extern gchar *xkb_layout_description_utf8 (const gchar * visible);
+-
+-extern void enable_disable_restoring (GtkBuilder * dialog);
+-
+-extern void preview_toggled (GtkBuilder * dialog, GtkWidget * button);
+-
+-extern GtkWidget *xkb_layout_choose (GtkBuilder * dialog);
+-
+-extern void xkb_layout_chooser_response (GtkDialog *dialog, gint response_id);
+-
+-extern gchar **xkb_layouts_get_selected_list (void);
+-
+-extern gchar **xkb_options_get_selected_list (void);
+-
+-#define xkb_layouts_set_selected_list(list) \
+-        g_settings_set_strv (xkb_keyboard_settings, \
+-                               GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS, \
+-                               (const gchar *const*)(list))
+-
+-#define xkb_options_set_selected_list(list) \
+-        g_settings_set_strv (xkb_keyboard_settings, \
+-                               GKBD_KEYBOARD_CONFIG_KEY_OPTIONS, \
+-                               (const gchar *const*)(list))
+-
+-extern GtkWidget *xkb_layout_preview_create_widget (GtkBuilder *
+-						    chooser_dialog);
+-
+-extern void xkb_layout_preview_update (GtkBuilder * chooser_dialog);
+-
+-extern void xkb_layout_preview_set_drawing_layout (GtkWidget * kbdraw,
+-						   const gchar * id);
+-
+-extern gchar *xkb_layout_chooser_get_selected_id (GtkDialog *dialog);
+-
+-extern void xkb_save_default_group (gint group_no);
+-
+-extern gint xkb_get_default_group (void);
+-
+-G_END_DECLS
+-#endif				/* __GNOME_KEYBOARD_PROPERTY_XKB_H */
+diff -uNrp a/panels/region/cinnamon-region-panel-xkbltadd.c b/panels/region/cinnamon-region-panel-xkbltadd.c
+--- a/panels/region/cinnamon-region-panel-xkbltadd.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-xkbltadd.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,495 +0,0 @@
+-/* cinnamon-region-panel-xkbltadd.c
+- * Copyright (C) 2007 Sergey V. Udaltsov
+- *
+- * Written by: Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifdef HAVE_CONFIG_H
+-#  include <config.h>
+-#endif
+-
+-#include <string.h>
+-
+-#include <libgnomekbd/gkbd-keyboard-drawing.h>
+-#include <libgnomekbd/gkbd-util.h>
+-
+-#include "cinnamon-region-panel-xkb.h"
+-
+-enum {
+-	COMBO_BOX_MODEL_COL_SORT,
+-	COMBO_BOX_MODEL_COL_VISIBLE,
+-	COMBO_BOX_MODEL_COL_XKB_ID,
+-	COMBO_BOX_MODEL_COL_COUNTRY_DESC,
+-	COMBO_BOX_MODEL_COL_LANGUAGE_DESC
+-};
+-
+-static gchar **search_pattern_list = NULL;
+-
+-static GtkWidget *preview_dialog = NULL;
+-
+-static GRegex *left_bracket_regex = NULL;
+-
+-#define RESPONSE_PREVIEW 1
+-
+-static void
+-xkb_preview_destroy_callback (GtkWidget * widget)
+-{
+-	preview_dialog = NULL;
+-}
+-
+-static gboolean
+-xkb_layout_chooser_selection_dupe (GtkDialog * dialog)
+-{
+-	gchar *selected_id =
+-	    (gchar *) xkb_layout_chooser_get_selected_id (dialog);
+-	gchar **layouts_list, **pl;
+-	gboolean rv = FALSE;
+-	if (selected_id == NULL)
+-		return rv;
+-	layouts_list = pl = xkb_layouts_get_selected_list ();
+-	while (pl && *pl) {
+-		if (!g_ascii_strcasecmp (*pl++, selected_id)) {
+-			rv = TRUE;
+-			break;
+-		}
+-	}
+-	g_strfreev (layouts_list);
+-	return rv;
+-}
+-
+-void
+-xkb_layout_chooser_response (GtkDialog * dialog, gint response)
+-{
+-	switch (response)
+-	case GTK_RESPONSE_OK:{
+-			/* Handled by the main code */
+-			break;
+-	case RESPONSE_PREVIEW:{
+-				gchar *selected_id = (gchar *)
+-				    xkb_layout_chooser_get_selected_id
+-				    (dialog);
+-
+-				if (selected_id != NULL) {
+-					if (preview_dialog == NULL) {
+-						preview_dialog =
+-						    gkbd_keyboard_drawing_dialog_new
+-						    ();
+-						g_signal_connect (G_OBJECT
+-								  (preview_dialog),
+-								  "destroy",
+-								  G_CALLBACK
+-								  (xkb_preview_destroy_callback),
+-								  NULL);
+-						/* Put into the separate group to avoid conflict
+-						   with modal parent */
+-						gtk_window_group_add_window
+-						    (gtk_window_group_new
+-						     (),
+-						     GTK_WINDOW
+-						     (preview_dialog));
+-					};
+-					gkbd_keyboard_drawing_dialog_set_layout
+-					    (preview_dialog,
+-					     config_registry, selected_id);
+-
+-					gtk_widget_show_all
+-					    (preview_dialog);
+-				}
+-			}
+-
+-			return;
+-		}
+-	if (preview_dialog != NULL) {
+-		gtk_widget_destroy (preview_dialog);
+-	}
+-	if (search_pattern_list != NULL) {
+-		g_strfreev (search_pattern_list);
+-		search_pattern_list = NULL;
+-	}
+-	gtk_widget_destroy (GTK_WIDGET (dialog));
+-}
+-
+-static gchar *
+-xkl_create_description_from_list (const XklConfigItem * item,
+-				  const XklConfigItem * subitem,
+-				  const gchar * prop_name,
+-				  const gchar *
+-				  (*desc_getter) (const gchar * code))
+-{
+-	gchar *rv = NULL, *code = NULL;
+-	gchar **list = NULL;
+-	const gchar *desc;
+-
+-	if (subitem != NULL)
+-		list =
+-		    (gchar
+-		     **) (g_object_get_data (G_OBJECT (subitem),
+-					     prop_name));
+-	if (list == NULL || *list == 0)
+-		list =
+-		    (gchar
+-		     **) (g_object_get_data (G_OBJECT (item), prop_name));
+-
+-	/* First try the parent id as such */
+-	desc = desc_getter (item->name);
+-	if (desc != NULL) {
+-		rv = g_utf8_strup (desc, -1);
+-	} else {
+-		code = g_utf8_strup (item->name, -1);
+-		desc = desc_getter (code);
+-		if (desc != NULL) {
+-			rv = g_utf8_strup (desc, -1);
+-		}
+-		g_free (code);
+-	}
+-
+-	if (list == NULL || *list == 0)
+-		return rv;
+-
+-	while (*list != 0) {
+-		code = *list++;
+-		desc = desc_getter (code);
+-		if (desc != NULL) {
+-			gchar *udesc = g_utf8_strup (desc, -1);
+-			if (rv == NULL) {
+-				rv = udesc;
+-			} else {
+-				gchar *orv = rv;
+-				rv = g_strdup_printf ("%s %s", rv, udesc);
+-				g_free (orv);
+-				g_free (udesc);
+-			}
+-		}
+-	}
+-	return rv;
+-}
+-
+-static void
+-xkl_layout_add_to_list (XklConfigRegistry * config,
+-			const XklConfigItem * item,
+-			const XklConfigItem * subitem,
+-			GtkBuilder * chooser_dialog)
+-{
+-	GtkListStore *list_store =
+-	    GTK_LIST_STORE (gtk_builder_get_object (chooser_dialog,
+-						    "layout_list_model"));
+-	GtkTreeIter iter;
+-
+-	gchar *utf_variant_name =
+-	    subitem ?
+-	    xkb_layout_description_utf8 (gkbd_keyboard_config_merge_items
+-					 (item->name,
+-					  subitem->name)) :
+-	    xci_desc_to_utf8 (item);
+-
+-	const gchar *xkb_id =
+-	    subitem ? gkbd_keyboard_config_merge_items (item->name,
+-							subitem->name) :
+-	    item->name;
+-
+-	gchar *country_desc =
+-	    xkl_create_description_from_list (item, subitem,
+-					      XCI_PROP_COUNTRY_LIST,
+-					      xkl_get_country_name);
+-	gchar *language_desc =
+-	    xkl_create_description_from_list (item, subitem,
+-					      XCI_PROP_LANGUAGE_LIST,
+-					      xkl_get_language_name);
+-
+-	gchar *tmp = utf_variant_name;
+-	utf_variant_name =
+-	    g_regex_replace_literal (left_bracket_regex, tmp, -1, 0,
+-				     "&lt;", 0, NULL);
+-	g_free (tmp);
+-
+-	if (subitem
+-	    && g_object_get_data (G_OBJECT (subitem),
+-				  XCI_PROP_EXTRA_ITEM)) {
+-		gchar *buf =
+-		    g_strdup_printf ("<i>%s</i>", utf_variant_name);
+-		gtk_list_store_insert_with_values (list_store, &iter, -1,
+-						   COMBO_BOX_MODEL_COL_SORT,
+-						   utf_variant_name,
+-						   COMBO_BOX_MODEL_COL_VISIBLE,
+-						   buf,
+-						   COMBO_BOX_MODEL_COL_XKB_ID,
+-						   xkb_id,
+-						   COMBO_BOX_MODEL_COL_COUNTRY_DESC,
+-						   country_desc,
+-						   COMBO_BOX_MODEL_COL_LANGUAGE_DESC,
+-						   language_desc, -1);
+-		g_free (buf);
+-	} else
+-		gtk_list_store_insert_with_values (list_store, &iter,
+-						   -1,
+-						   COMBO_BOX_MODEL_COL_SORT,
+-						   utf_variant_name,
+-						   COMBO_BOX_MODEL_COL_VISIBLE,
+-						   utf_variant_name,
+-						   COMBO_BOX_MODEL_COL_XKB_ID,
+-						   xkb_id,
+-						   COMBO_BOX_MODEL_COL_COUNTRY_DESC,
+-						   country_desc,
+-						   COMBO_BOX_MODEL_COL_LANGUAGE_DESC,
+-						   language_desc, -1);
+-	g_free (utf_variant_name);
+-	g_free (country_desc);
+-	g_free (language_desc);
+-}
+-
+-static void
+-xkb_layout_filter_clear (GtkEntry * entry,
+-			 GtkEntryIconPosition icon_pos,
+-			 GdkEvent * event, gpointer user_data)
+-{
+-	gtk_entry_set_text (entry, "");
+-}
+-
+-static void
+-xkb_layout_filter_changed (GtkBuilder * chooser_dialog)
+-{
+-	GtkTreeModelFilter *filtered_model =
+-	    GTK_TREE_MODEL_FILTER (gtk_builder_get_object (chooser_dialog,
+-							   "filtered_layout_list_model"));
+-	GtkWidget *xkb_layout_filter = CWID ("xkb_layout_filter");
+-	const gchar *pattern =
+-	    gtk_entry_get_text (GTK_ENTRY (xkb_layout_filter));
+-	gchar *upattern = g_utf8_strup (pattern, -1);
+-
+-	if (!g_strcmp0 (pattern, "")) {
+-		g_object_set (G_OBJECT (xkb_layout_filter),
+-			      "secondary-icon-name", "edit-find-symbolic",
+-			      "secondary-icon-activatable", FALSE,
+-			      "secondary-icon-sensitive", FALSE, NULL);
+-	} else {
+-		g_object_set (G_OBJECT (xkb_layout_filter),
+-			      "secondary-icon-name", "edit-clear-symbolic",
+-			      "secondary-icon-activatable", TRUE,
+-			      "secondary-icon-sensitive", TRUE, NULL);
+-	}
+-
+-	if (search_pattern_list != NULL)
+-		g_strfreev (search_pattern_list);
+-
+-	search_pattern_list = g_strsplit (upattern, " ", -1);
+-	g_free (upattern);
+-
+-	gtk_tree_model_filter_refilter (filtered_model);
+-}
+-
+-static void
+-xkb_layout_chooser_selection_changed (GtkTreeSelection * selection,
+-				      GtkBuilder * chooser_dialog)
+-{
+-	GList *selected_layouts =
+-	    gtk_tree_selection_get_selected_rows (selection, NULL);
+-	GtkWidget *add_button = CWID ("btnOk");
+-	GtkWidget *preview_button = CWID ("btnPreview");
+-	gboolean anything_selected = g_list_length (selected_layouts) == 1;
+-	gboolean dupe =
+-	    xkb_layout_chooser_selection_dupe (GTK_DIALOG
+-					       (CWID
+-						("xkb_layout_chooser")));
+-
+-	gtk_widget_set_sensitive (add_button, anything_selected && !dupe);
+-	gtk_widget_set_sensitive (preview_button, anything_selected);
+-}
+-
+-static void
+-xkb_layout_chooser_row_activated (GtkTreeView * tree_view,
+-				  GtkTreePath * path,
+-				  GtkTreeViewColumn * column,
+-				  GtkBuilder * chooser_dialog)
+-{
+-	GtkWidget *add_button = CWID ("btnOk");
+-	GtkWidget *dialog = CWID ("xkb_layout_chooser");
+-
+-	if (gtk_widget_is_sensitive (add_button))
+-		gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+-}
+-
+-static gboolean
+-xkb_filter_layouts (GtkTreeModel * model,
+-		    GtkTreeIter * iter, gpointer data)
+-{
+-	gchar *desc = NULL, *country_desc = NULL, *language_desc =
+-	    NULL, **pattern;
+-	gboolean rv = TRUE;
+-
+-	if (search_pattern_list == NULL || search_pattern_list[0] == NULL)
+-		return TRUE;
+-
+-	gtk_tree_model_get (model, iter,
+-			    COMBO_BOX_MODEL_COL_SORT, &desc,
+-			    COMBO_BOX_MODEL_COL_COUNTRY_DESC,
+-			    &country_desc,
+-			    COMBO_BOX_MODEL_COL_LANGUAGE_DESC,
+-			    &language_desc, -1);
+-
+-	pattern = search_pattern_list;
+-	do {
+-		gboolean is_pattern_found = FALSE;
+-		gchar *udesc = g_utf8_strup (desc, -1);
+-		if (udesc != NULL && g_strstr_len (udesc, -1, *pattern)) {
+-			is_pattern_found = TRUE;
+-		} else if (country_desc != NULL
+-			   && g_strstr_len (country_desc, -1, *pattern)) {
+-			is_pattern_found = TRUE;
+-		} else if (language_desc != NULL
+-			   && g_strstr_len (language_desc, -1, *pattern)) {
+-			is_pattern_found = TRUE;
+-		}
+-		g_free (udesc);
+-
+-		if (!is_pattern_found) {
+-			rv = FALSE;
+-			break;
+-		}
+-
+-	} while (*++pattern != NULL);
+-
+-	g_free (desc);
+-	g_free (country_desc);
+-	g_free (language_desc);
+-	return rv;
+-}
+-
+-GtkWidget *
+-xkb_layout_choose (GtkBuilder * dialog)
+-{
+-	GtkBuilder *chooser_dialog = gtk_builder_new ();
+-	GtkWidget *chooser, *xkb_filtered_layouts_list, *xkb_layout_filter;
+-	GtkTreeViewColumn *visible_column;
+-	GtkTreeSelection *selection;
+-	GtkListStore *model;
+-	GtkTreeModelFilter *filtered_model;
+-    gtk_builder_set_translation_domain (chooser_dialog, GETTEXT_PACKAGE);
+-	gtk_builder_add_from_file (chooser_dialog, CINNAMONCC_UI_DIR
+-				   "/cinnamon-region-panel-layout-chooser.ui",
+-				   NULL);
+-	chooser = CWID ("xkb_layout_chooser");
+-	xkb_filtered_layouts_list = CWID ("xkb_filtered_layouts_list");
+-	xkb_layout_filter = CWID ("xkb_layout_filter");
+-
+-	g_object_set_data (G_OBJECT (chooser), "xkb_filtered_layouts_list",
+-			   xkb_filtered_layouts_list);
+-	visible_column =
+-	    gtk_tree_view_column_new_with_attributes ("Layout",
+-						      gtk_cell_renderer_text_new
+-						      (), "markup",
+-						      COMBO_BOX_MODEL_COL_VISIBLE,
+-						      NULL);
+-
+-	gtk_window_set_transient_for (GTK_WINDOW (chooser),
+-				      GTK_WINDOW
+-				      (gtk_widget_get_toplevel
+-				       (WID ("region_notebook"))));
+-
+-	gtk_tree_view_append_column (GTK_TREE_VIEW
+-				     (xkb_filtered_layouts_list),
+-				     visible_column);
+-	g_signal_connect_swapped (G_OBJECT (xkb_layout_filter),
+-				  "notify::text",
+-				  G_CALLBACK
+-				  (xkb_layout_filter_changed),
+-				  chooser_dialog);
+-
+-	g_signal_connect (G_OBJECT (xkb_layout_filter), "icon-release",
+-			  G_CALLBACK (xkb_layout_filter_clear), NULL);
+-
+-	selection =
+-	    gtk_tree_view_get_selection (GTK_TREE_VIEW
+-					 (xkb_filtered_layouts_list));
+-
+-	g_signal_connect (G_OBJECT (selection),
+-			  "changed",
+-			  G_CALLBACK
+-			  (xkb_layout_chooser_selection_changed),
+-			  chooser_dialog);
+-
+-	xkb_layout_chooser_selection_changed (selection, chooser_dialog);
+-
+-	g_signal_connect (G_OBJECT (xkb_filtered_layouts_list),
+-			  "row-activated",
+-			  G_CALLBACK (xkb_layout_chooser_row_activated),
+-			  chooser_dialog);
+-
+-	filtered_model =
+-	    GTK_TREE_MODEL_FILTER (gtk_builder_get_object
+-				   (chooser_dialog,
+-				    "filtered_layout_list_model"));
+-	model =
+-	    GTK_LIST_STORE (gtk_builder_get_object
+-			    (chooser_dialog, "layout_list_model"));
+-
+-	left_bracket_regex = g_regex_new ("<", 0, 0, NULL);
+-
+-	xkl_config_registry_search_by_pattern (config_registry,
+-					       NULL,
+-					       (TwoConfigItemsProcessFunc)
+-					       (xkl_layout_add_to_list),
+-					       chooser_dialog);
+-
+-	g_regex_unref (left_bracket_regex);
+-
+-	gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model),
+-					      COMBO_BOX_MODEL_COL_SORT,
+-					      GTK_SORT_ASCENDING);
+-
+-	gtk_tree_model_filter_set_visible_func (filtered_model,
+-						xkb_filter_layouts,
+-						NULL, NULL);
+-
+-	gtk_widget_grab_focus (xkb_layout_filter);
+-
+-	gtk_widget_show (chooser);
+-
+-	return chooser;
+-}
+-
+-gchar *
+-xkb_layout_chooser_get_selected_id (GtkDialog * dialog)
+-{
+-	GtkTreeModel *filtered_list_model;
+-	GtkWidget *xkb_filtered_layouts_list =
+-	    g_object_get_data (G_OBJECT (dialog),
+-			       "xkb_filtered_layouts_list");
+-	GtkTreeIter viter;
+-	gchar *v_id;
+-	GtkTreeSelection *selection =
+-	    gtk_tree_view_get_selection (GTK_TREE_VIEW
+-					 (xkb_filtered_layouts_list));
+-	GList *selected_layouts =
+-	    gtk_tree_selection_get_selected_rows (selection,
+-						  &filtered_list_model);
+-
+-	if (g_list_length (selected_layouts) != 1)
+-		return NULL;
+-
+-	gtk_tree_model_get_iter (filtered_list_model,
+-				 &viter,
+-				 (GtkTreePath *) (selected_layouts->data));
+-	g_list_foreach (selected_layouts,
+-			(GFunc) gtk_tree_path_free, NULL);
+-	g_list_free (selected_layouts);
+-
+-	gtk_tree_model_get (filtered_list_model, &viter,
+-			    COMBO_BOX_MODEL_COL_XKB_ID, &v_id, -1);
+-
+-	return v_id;
+-}
+diff -uNrp a/panels/region/cinnamon-region-panel-xkblt.c b/panels/region/cinnamon-region-panel-xkblt.c
+--- a/panels/region/cinnamon-region-panel-xkblt.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-xkblt.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,470 +0,0 @@
+-/* cinnamon-region-panel-xkblt.c
+- * Copyright (C) 2003-2007 Sergey V. Udaltsov
+- *
+- * Written by: Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifdef HAVE_CONFIG_H
+-#  include <config.h>
+-#endif
+-
+-#include <gdk/gdkx.h>
+-#include <glib/gi18n-lib.h>
+-
+-#include <libgnomekbd/gkbd-desktop-config.h>
+-#include <libgnomekbd/gkbd-keyboard-drawing.h>
+-
+-#include "cinnamon-region-panel-xkb.h"
+-
+-enum {
+-	SEL_LAYOUT_TREE_COL_DESCRIPTION,
+-	SEL_LAYOUT_TREE_COL_ID,
+-	SEL_LAYOUT_TREE_COL_ENABLED,
+-	SEL_LAYOUT_N_COLS
+-};
+-
+-static int idx2select = -1;
+-static int max_selected_layouts = -1;
+-
+-static GtkCellRenderer *text_renderer;
+-
+-static gboolean disable_buttons_sensibility_update = FALSE;
+-
+-static gboolean
+-get_selected_iter (GtkBuilder    *dialog,
+-		   GtkTreeModel **model,
+-		   GtkTreeIter   *iter)
+-{
+-	GtkTreeSelection *selection;
+-
+-	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("xkb_layouts_selected")));
+-
+-	return gtk_tree_selection_get_selected (selection, model, iter);
+-}
+-
+-static void
+-set_selected_path (GtkBuilder    *dialog,
+-		   GtkTreePath   *path)
+-{
+-	GtkTreeSelection *selection;
+-
+-	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("xkb_layouts_selected")));
+-
+-	gtk_tree_selection_select_path (selection, path);
+-}
+-
+-static gint
+-find_selected_layout_idx (GtkBuilder *dialog)
+-{
+-	GtkTreeIter selected_iter;
+-	GtkTreeModel *model;
+-	GtkTreePath *path;
+-	gint *indices;
+-	gint rv;
+-
+-	if (!get_selected_iter (dialog, &model, &selected_iter))
+-		return -1;
+-
+-	path = gtk_tree_model_get_path (model, &selected_iter);
+-	if (path == NULL)
+-		return -1;
+-
+-	indices = gtk_tree_path_get_indices (path);
+-	rv = indices[0];
+-	gtk_tree_path_free (path);
+-	return rv;
+-}
+-
+-gchar **
+-xkb_layouts_get_selected_list (void)
+-{
+-	gchar **retval;
+-
+-	retval = g_settings_get_strv (xkb_keyboard_settings,
+-				      GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS);
+-	if (retval == NULL || retval[0] == NULL) {
+-		g_strfreev (retval);
+-		retval = g_strdupv (initial_config.layouts_variants);
+-	}
+-
+-	return retval;
+-}
+-
+-gint
+-xkb_get_default_group ()
+-{
+-	return g_settings_get_int (xkb_desktop_settings,
+-				   GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP);
+-}
+-
+-void
+-xkb_save_default_group (gint default_group)
+-{
+-	g_settings_set_int (xkb_desktop_settings,
+-			    GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP,
+-			    default_group);
+-}
+-
+-static void
+-xkb_layouts_enable_disable_buttons (GtkBuilder * dialog)
+-{
+-	GtkWidget *add_layout_btn = WID ("xkb_layouts_add");
+-	GtkWidget *show_layout_btn = WID ("xkb_layouts_show");
+-	GtkWidget *del_layout_btn = WID ("xkb_layouts_remove");
+-	GtkWidget *selected_layouts_tree = WID ("xkb_layouts_selected");
+-	GtkWidget *move_up_layout_btn = WID ("xkb_layouts_move_up");
+-	GtkWidget *move_down_layout_btn = WID ("xkb_layouts_move_down");
+-
+-	GtkTreeSelection *s_selection =
+-	    gtk_tree_view_get_selection (GTK_TREE_VIEW
+-					 (selected_layouts_tree));
+-	const int n_selected_selected_layouts =
+-	    gtk_tree_selection_count_selected_rows (s_selection);
+-	GtkTreeModel *selected_layouts_model = gtk_tree_view_get_model
+-	    (GTK_TREE_VIEW (selected_layouts_tree));
+-	const int n_selected_layouts =
+-	    gtk_tree_model_iter_n_children (selected_layouts_model,
+-					    NULL);
+-	gint sidx = find_selected_layout_idx (dialog);
+-
+-	if (disable_buttons_sensibility_update)
+-		return;
+-
+-	gtk_widget_set_sensitive (add_layout_btn,
+-				  (n_selected_layouts <
+-				   max_selected_layouts
+-				   || max_selected_layouts == 0));
+-	gtk_widget_set_sensitive (del_layout_btn, (n_selected_layouts > 1)
+-				  && (n_selected_selected_layouts > 0));
+-	gtk_widget_set_sensitive (show_layout_btn,
+-				  (n_selected_selected_layouts > 0));
+-	gtk_widget_set_sensitive (move_up_layout_btn, sidx > 0);
+-	gtk_widget_set_sensitive (move_down_layout_btn, sidx >= 0
+-				  && sidx < (n_selected_layouts - 1));
+-}
+-
+-static void
+-update_layouts_list (GtkTreeModel *model,
+-		     GtkBuilder   *dialog)
+-{
+-	gboolean cont;
+-	GtkTreeIter iter;
+-	GPtrArray *array;
+-
+-	array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_free);
+-	cont = gtk_tree_model_get_iter_first (model, &iter);
+-	while (cont) {
+-		char *id;
+-
+-		gtk_tree_model_get (model, &iter,
+-				    SEL_LAYOUT_TREE_COL_ID, &id,
+-				    -1);
+-		g_ptr_array_add (array, id);
+-		cont = gtk_tree_model_iter_next (model, &iter);
+-	}
+-	g_ptr_array_add (array, NULL);
+-	xkb_layouts_set_selected_list (array->pdata);
+-	g_ptr_array_free (array, TRUE);
+-
+-	xkb_layouts_enable_disable_buttons (dialog);
+-}
+-
+-static void
+-xkb_layouts_drag_end (GtkWidget	     *widget,
+-		      GdkDragContext *drag_context,
+-		      gpointer	      user_data)
+-{
+-	update_layouts_list (gtk_tree_view_get_model (GTK_TREE_VIEW (widget)),
+-			     GTK_BUILDER (user_data));
+-}
+-
+-void
+-xkb_layouts_prepare_selected_tree (GtkBuilder * dialog)
+-{
+-	GtkListStore *list_store;
+-	GtkWidget *tree_view = WID ("xkb_layouts_selected");
+-	GtkTreeSelection *selection;
+-	GtkTreeViewColumn *desc_column;
+-
+-	list_store = gtk_list_store_new (SEL_LAYOUT_N_COLS,
+-					 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN);
+-
+-	text_renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
+-
+-	desc_column =
+-	    gtk_tree_view_column_new_with_attributes (_("Layout"),
+-						      text_renderer,
+-						      "text",
+-						      SEL_LAYOUT_TREE_COL_DESCRIPTION,
+-						      "sensitive",
+-						      SEL_LAYOUT_TREE_COL_ENABLED,
+-						      NULL);
+-	selection =
+-	    gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
+-
+-	gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view),
+-				 GTK_TREE_MODEL (list_store));
+-
+-	gtk_tree_view_column_set_sizing (desc_column,
+-					 GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+-	gtk_tree_view_column_set_resizable (desc_column, TRUE);
+-	gtk_tree_view_column_set_expand (desc_column, TRUE);
+-
+-	gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
+-				     desc_column);
+-
+-	g_signal_connect_swapped (G_OBJECT (selection), "changed",
+-				  G_CALLBACK
+-				  (xkb_layouts_enable_disable_buttons),
+-				  dialog);
+-	max_selected_layouts = xkl_engine_get_max_num_groups (engine);
+-
+-	/* Setting up DnD */
+-	gtk_tree_view_set_reorderable (GTK_TREE_VIEW (tree_view), TRUE);
+-	g_signal_connect (G_OBJECT (tree_view), "drag-end",
+-			  G_CALLBACK (xkb_layouts_drag_end), dialog);
+-}
+-
+-gchar *
+-xkb_layout_description_utf8 (const gchar * visible)
+-{
+-	char *l, *sl, *v, *sv;
+-	if (gkbd_keyboard_config_get_descriptions
+-	    (config_registry, visible, &sl, &l, &sv, &v))
+-		visible =
+-		    gkbd_keyboard_config_format_full_description (l, v);
+-	return g_strstrip (g_strdup (visible));
+-}
+-
+-void
+-xkb_layouts_fill_selected_tree (GtkBuilder * dialog)
+-{
+-	gchar **layouts = xkb_layouts_get_selected_list ();
+-	guint i;
+-	GtkListStore *list_store =
+-	    GTK_LIST_STORE (gtk_tree_view_get_model
+-			    (GTK_TREE_VIEW
+-			     (WID ("xkb_layouts_selected"))));
+-
+-	/* temporarily disable the buttons' status update */
+-	disable_buttons_sensibility_update = TRUE;
+-
+-	gtk_list_store_clear (list_store);
+-
+-	for (i = 0; layouts != NULL && layouts[i] != NULL; i++) {
+-		char *cur_layout = layouts[i];
+-		gchar *utf_visible =
+-		    xkb_layout_description_utf8 (cur_layout);
+-
+-		gtk_list_store_insert_with_values (list_store, NULL, G_MAXINT,
+-						   SEL_LAYOUT_TREE_COL_DESCRIPTION,
+-						   utf_visible,
+-						   SEL_LAYOUT_TREE_COL_ID,
+-						   cur_layout,
+-						   SEL_LAYOUT_TREE_COL_ENABLED,
+-						   i < max_selected_layouts, -1);
+-		g_free (utf_visible);
+-	}
+-
+-	g_strfreev (layouts);
+-
+-	/* enable the buttons' status update */
+-	disable_buttons_sensibility_update = FALSE;
+-
+-	if (idx2select != -1) {
+-		GtkTreeSelection *selection =
+-		    gtk_tree_view_get_selection ((GTK_TREE_VIEW
+-						  (WID
+-						   ("xkb_layouts_selected"))));
+-		GtkTreePath *path =
+-		    gtk_tree_path_new_from_indices (idx2select, -1);
+-		gtk_tree_selection_select_path (selection, path);
+-		gtk_tree_path_free (path);
+-		idx2select = -1;
+-	} else {
+-		/* if there is nothing to select - just enable/disable the buttons,
+-		   otherwise it would be done by the selection change */
+-		xkb_layouts_enable_disable_buttons (dialog);
+-	}
+-}
+-
+-static void
+-add_default_switcher_if_necessary ()
+-{
+-	gchar **layouts_list = xkb_layouts_get_selected_list();
+-	gchar **options_list = xkb_options_get_selected_list ();
+-	gboolean was_appended;
+-
+-	options_list =
+-	    gkbd_keyboard_config_add_default_switch_option_if_necessary
+-	    (layouts_list, options_list, &was_appended);
+-	if (was_appended)
+-		xkb_options_set_selected_list (options_list);
+-	g_strfreev (options_list);
+-}
+-
+-static void
+-chooser_response (GtkDialog  *chooser,
+-		  int         response_id,
+-		  GtkBuilder *dialog)
+-{
+-	if (response_id == GTK_RESPONSE_OK) {
+-		char *id, *name;
+-		GtkListStore *list_store;
+-
+-		list_store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("xkb_layouts_selected"))));
+-		id = xkb_layout_chooser_get_selected_id (chooser);
+-		name = xkb_layout_description_utf8 (id);
+-		gtk_list_store_insert_with_values (list_store, NULL, G_MAXINT,
+-						   SEL_LAYOUT_TREE_COL_DESCRIPTION, name,
+-						   SEL_LAYOUT_TREE_COL_ID, id,
+-						   SEL_LAYOUT_TREE_COL_ENABLED, TRUE,
+-						   -1);
+-		g_free (name);
+-		add_default_switcher_if_necessary ();
+-		update_layouts_list (GTK_TREE_MODEL (list_store), dialog);
+-	}
+-
+-	xkb_layout_chooser_response (chooser, response_id);
+-}
+-
+-static void
+-add_selected_layout (GtkWidget * button, GtkBuilder * dialog)
+-{
+-	GtkWidget *chooser;
+-
+-	chooser = xkb_layout_choose (dialog);
+-	g_signal_connect (G_OBJECT (chooser), "response",
+-			  G_CALLBACK (chooser_response), dialog);
+-}
+-
+-static void
+-show_selected_layout (GtkWidget * button, GtkBuilder * dialog)
+-{
+-	gint idx = find_selected_layout_idx (dialog);
+-
+-	if (idx != -1) {
+-		GtkWidget *parent = WID ("region_notebook");
+-		GtkWidget *popup = gkbd_keyboard_drawing_dialog_new ();
+-		gkbd_keyboard_drawing_dialog_set_group (popup,
+-							config_registry,
+-							idx);
+-		gtk_window_set_transient_for (GTK_WINDOW (popup),
+-					      GTK_WINDOW
+-					      (gtk_widget_get_toplevel
+-					       (parent)));
+-		gtk_widget_show_all (popup);
+-	}
+-}
+-
+-static void
+-remove_selected_layout (GtkWidget * button, GtkBuilder * dialog)
+-{
+-	GtkTreeModel *model;
+-	GtkTreeIter iter;
+-
+-	if (get_selected_iter (dialog, &model, &iter) == FALSE)
+-		return;
+-
+-	gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
+-	update_layouts_list (model, dialog);
+-}
+-
+-static void
+-move_up_selected_layout (GtkWidget * button, GtkBuilder * dialog)
+-{
+-	GtkTreeModel *model;
+-	GtkTreeIter iter, prev;
+-	GtkTreePath *path;
+-
+-	if (get_selected_iter (dialog, &model, &iter) == FALSE)
+-		return;
+-
+-	prev = iter;
+-	if (!gtk_tree_model_iter_previous (model, &prev))
+-		return;
+-
+-	path = gtk_tree_model_get_path (model, &prev);
+-	
+-	gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &prev);
+-
+-	update_layouts_list (model, dialog);
+-	
+-	set_selected_path (dialog, path);
+-
+-	gtk_tree_path_free (path);	
+-}
+-
+-static void
+-move_down_selected_layout (GtkWidget * button, GtkBuilder * dialog)
+-{
+-	GtkTreeModel *model;
+-	GtkTreeIter iter, next;
+-	GtkTreePath *path;
+-
+-	if (get_selected_iter (dialog, &model, &iter) == FALSE)
+-		return;
+-
+-	next = iter;
+-	if (!gtk_tree_model_iter_next (model, &next))
+-		return;
+-
+-	path = gtk_tree_model_get_path (model, &next);
+-
+-	gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &next);
+-
+-	update_layouts_list (model, dialog);
+-
+-	set_selected_path (dialog, path);
+-
+-	gtk_tree_path_free (path);	
+-}
+-
+-void
+-xkb_layouts_register_buttons_handlers (GtkBuilder * dialog)
+-{
+-	g_signal_connect (G_OBJECT (WID ("xkb_layouts_add")), "clicked",
+-			  G_CALLBACK (add_selected_layout), dialog);
+-	g_signal_connect (G_OBJECT (WID ("xkb_layouts_show")), "clicked",
+-			  G_CALLBACK (show_selected_layout), dialog);
+-	g_signal_connect (G_OBJECT (WID ("xkb_layouts_remove")), "clicked",
+-			  G_CALLBACK (remove_selected_layout), dialog);
+-	g_signal_connect (G_OBJECT (WID ("xkb_layouts_move_up")),
+-			  "clicked", G_CALLBACK (move_up_selected_layout),
+-			  dialog);
+-	g_signal_connect (G_OBJECT (WID ("xkb_layouts_move_down")),
+-			  "clicked",
+-			  G_CALLBACK (move_down_selected_layout), dialog);
+-}
+-
+-static void
+-xkb_layouts_update_list (GSettings * settings,
+-			 gchar * key, GtkBuilder * dialog)
+-{
+-	if (strcmp (key, GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS) == 0) {
+-		xkb_layouts_fill_selected_tree (dialog);
+-		enable_disable_restoring (dialog);
+-	}
+-}
+-
+-void
+-xkb_layouts_register_conf_listener (GtkBuilder * dialog)
+-{
+-	g_signal_connect (xkb_keyboard_settings, "changed",
+-			  G_CALLBACK (xkb_layouts_update_list), dialog);
+-}
+diff -uNrp a/panels/region/cinnamon-region-panel-xkbot.c b/panels/region/cinnamon-region-panel-xkbot.c
+--- a/panels/region/cinnamon-region-panel-xkbot.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-xkbot.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,516 +0,0 @@
+-/* cinnamon-region-panel-xkbot.c
+- * Copyright (C) 2003-2007 Sergey V. Udaltsov
+- *
+- * Written by: Sergey V. Udaltsov <svu@gnome.org>
+- *             John Spray <spray_john@users.sourceforge.net>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifdef HAVE_CONFIG_H
+-#  include <config.h>
+-#endif
+-
+-#include <glib/gi18n-lib.h>
+-#include <string.h>
+-
+-#include "cinnamon-region-panel-xkb.h"
+-
+-static GtkBuilder *chooser_dialog = NULL;
+-static const char *current1st_level_id = NULL;
+-static GSList *option_checks_list = NULL;
+-static GtkWidget *current_none_radio = NULL;
+-static GtkWidget *current_expander = NULL;
+-static gboolean current_multi_select = FALSE;
+-static GSList *current_radio_group = NULL;
+-
+-#define OPTION_ID_PROP "optionID"
+-#define SELCOUNTER_PROP "selectionCounter"
+-#define GCONFSTATE_PROP "gconfState"
+-#define EXPANDERS_PROP "expandersList"
+-
+-gchar **
+-xkb_options_get_selected_list (void)
+-{
+-	gchar **retval;
+-
+-	retval =
+-	    g_settings_get_strv (xkb_keyboard_settings,
+-				 GKBD_KEYBOARD_CONFIG_KEY_OPTIONS);
+-	if (retval == NULL) {
+-		retval = g_strdupv (initial_config.options);
+-	}
+-
+-	return retval;
+-}
+-
+-/* Returns the selection counter of the expander (static current_expander) */
+-static int
+-xkb_options_expander_selcounter_get (void)
+-{
+-	return
+-	    GPOINTER_TO_INT (g_object_get_data
+-			     (G_OBJECT (current_expander),
+-			      SELCOUNTER_PROP));
+-}
+-
+-/* Increments the selection counter in the expander (static current_expander) 
+-   using the value (can be 0)*/
+-static void
+-xkb_options_expander_selcounter_add (int value)
+-{
+-	g_object_set_data (G_OBJECT (current_expander), SELCOUNTER_PROP,
+-			   GINT_TO_POINTER
+-			   (xkb_options_expander_selcounter_get ()
+-			    + value));
+-}
+-
+-/* Resets the seletion counter in the expander (static current_expander) */
+-static void
+-xkb_options_expander_selcounter_reset (void)
+-{
+-	g_object_set_data (G_OBJECT (current_expander), SELCOUNTER_PROP,
+-			   GINT_TO_POINTER (0));
+-}
+-
+-/* Formats the expander (static current_expander), based on the selection counter */
+-static void
+-xkb_options_expander_highlight (void)
+-{
+-	char *utf_group_name =
+-	    g_object_get_data (G_OBJECT (current_expander),
+-			       "utfGroupName");
+-	int counter = xkb_options_expander_selcounter_get ();
+-	if (utf_group_name != NULL) {
+-		gchar *titlemarkup =
+-		    g_strconcat (counter >
+-				 0 ? "<span weight=\"bold\">" : "<span>",
+-				 utf_group_name, "</span>", NULL);
+-		gtk_expander_set_label (GTK_EXPANDER (current_expander),
+-					titlemarkup);
+-		g_free (titlemarkup);
+-	}
+-}
+-
+-/* Add optionname from the backend's selection list if it's not
+-   already in there. */
+-static void
+-xkb_options_select (gchar * optionname)
+-{
+-	gboolean already_selected = FALSE;
+-	gchar **options_list;
+-	guint i;
+-
+-	options_list = xkb_options_get_selected_list ();
+-	for (i = 0; options_list != NULL && options_list[i] != NULL; i++) {
+-		gchar *option = options_list[i];
+-		if (!strcmp (option, optionname)) {
+-			already_selected = TRUE;
+-			break;
+-		}
+-	}
+-
+-	if (!already_selected) {
+-		options_list =
+-		    gkbd_strv_append (options_list, g_strdup (optionname));
+-		xkb_options_set_selected_list (options_list);
+-	}
+-
+-	g_strfreev (options_list);
+-}
+-
+-/* Remove all occurences of optionname from the backend's selection list */
+-static void
+-xkb_options_deselect (gchar * optionname)
+-{
+-	gchar **options_list = xkb_options_get_selected_list ();
+-	if (options_list != NULL) {
+-		gchar **option = options_list;
+-		while (*option != NULL) {
+-			gchar *id = *option;
+-			if (!strcmp (id, optionname)) {
+-				gkbd_strv_behead (option);
+-			} else
+-				option++;
+-		}
+-		xkb_options_set_selected_list (options_list);
+-	}
+-	g_strfreev (options_list);
+-}
+-
+-/* Return true if optionname describes a string already in the backend's
+-   list of selected options */
+-static gboolean
+-xkb_options_is_selected (gchar * optionname)
+-{
+-	gboolean retval = FALSE;
+-	gchar **options_list = xkb_options_get_selected_list ();
+-	if (options_list != NULL) {
+-		gchar **option = options_list;
+-		while (*option != NULL) {
+-			if (!strcmp (*option, optionname)) {
+-				retval = TRUE;
+-				break;
+-			}
+-			option++;
+-		}
+-	}
+-	g_strfreev (options_list);
+-	return retval;
+-}
+-
+-/* Make sure selected options stay visible when navigating with the keyboard */
+-static gboolean
+-option_focused_cb (GtkWidget * widget, GdkEventFocus * event,
+-		   gpointer data)
+-{
+-	GtkScrolledWindow *win = GTK_SCROLLED_WINDOW (data);
+-	GtkAllocation alloc;
+-	GtkAdjustment *adj;
+-
+-	gtk_widget_get_allocation (widget, &alloc);
+-	adj = gtk_scrolled_window_get_vadjustment (win);
+-	gtk_adjustment_clamp_page (adj, alloc.y, alloc.y + alloc.height);
+-
+-	return FALSE;
+-}
+-
+-/* Update xkb backend to reflect the new UI state */
+-static void
+-option_toggled_cb (GtkWidget * checkbutton, gpointer data)
+-{
+-	gpointer optionID =
+-	    g_object_get_data (G_OBJECT (checkbutton), OPTION_ID_PROP);
+-	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton)))
+-		xkb_options_select (optionID);
+-	else
+-		xkb_options_deselect (optionID);
+-}
+-
+-/* Add a check_button or radio_button to control a particular option
+-   This function makes particular use of the current... variables at
+-   the top of this file. */
+-static void
+-xkb_options_add_option (XklConfigRegistry * config_registry,
+-			XklConfigItem * config_item, GtkBuilder * dialog)
+-{
+-	GtkWidget *option_check;
+-	gchar *utf_option_name = xci_desc_to_utf8 (config_item);
+-	/* Copy this out because we'll load it into the widget with set_data */
+-	gchar *full_option_name =
+-	    g_strdup (gkbd_keyboard_config_merge_items
+-		      (current1st_level_id, config_item->name));
+-	gboolean initial_state;
+-
+-	if (current_multi_select)
+-		option_check =
+-		    gtk_check_button_new_with_label (utf_option_name);
+-	else {
+-		if (current_radio_group == NULL) {
+-			/* The first radio in a group is to be "Default", meaning none of
+-			   the below options are to be included in the selected list.
+-			   This is a HIG-compliant alternative to allowing no
+-			   selection in the group. */
+-			option_check =
+-			    gtk_radio_button_new_with_label
+-			    (current_radio_group, _("Default"));
+-			gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
+-						      (option_check),
+-						      TRUE);
+-			/* Make option name underscore - 
+-			   to enforce its first position in the list */
+-			g_object_set_data_full (G_OBJECT (option_check),
+-						"utfOptionName",
+-						g_strdup (" "), g_free);
+-			option_checks_list =
+-			    g_slist_append (option_checks_list,
+-					    option_check);
+-			current_radio_group =
+-			    gtk_radio_button_get_group (GTK_RADIO_BUTTON
+-							(option_check));
+-			current_none_radio = option_check;
+-
+-			g_signal_connect (option_check, "focus-in-event",
+-					  G_CALLBACK (option_focused_cb),
+-					  WID ("options_scroll"));
+-		}
+-		option_check =
+-		    gtk_radio_button_new_with_label (current_radio_group,
+-						     utf_option_name);
+-		current_radio_group =
+-		    gtk_radio_button_get_group (GTK_RADIO_BUTTON
+-						(option_check));
+-		g_object_set_data (G_OBJECT (option_check), "NoneRadio",
+-				   current_none_radio);
+-	}
+-
+-	initial_state = xkb_options_is_selected (full_option_name);
+-
+-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (option_check),
+-				      initial_state);
+-
+-	g_object_set_data_full (G_OBJECT (option_check), OPTION_ID_PROP,
+-				full_option_name, g_free);
+-	g_object_set_data_full (G_OBJECT (option_check), "utfOptionName",
+-				utf_option_name, g_free);
+-
+-	g_signal_connect (option_check, "toggled",
+-			  G_CALLBACK (option_toggled_cb), NULL);
+-
+-	option_checks_list =
+-	    g_slist_append (option_checks_list, option_check);
+-
+-	g_signal_connect (option_check, "focus-in-event",
+-			  G_CALLBACK (option_focused_cb),
+-			  WID ("options_scroll"));
+-
+-	xkb_options_expander_selcounter_add (initial_state);
+-	g_object_set_data (G_OBJECT (option_check), GCONFSTATE_PROP,
+-			   GINT_TO_POINTER (initial_state));
+-}
+-
+-static gint
+-xkb_option_checks_compare (GtkWidget * chk1, GtkWidget * chk2)
+-{
+-	const gchar *t1 =
+-	    g_object_get_data (G_OBJECT (chk1), "utfOptionName");
+-	const gchar *t2 =
+-	    g_object_get_data (G_OBJECT (chk2), "utfOptionName");
+-	return g_utf8_collate (t1, t2);
+-}
+-
+-/* Add a group of options: create title and layout widgets and then
+-   add widgets for all the options in the group. */
+-static void
+-xkb_options_add_group (XklConfigRegistry * config_registry,
+-		       XklConfigItem * config_item, GtkBuilder * dialog)
+-{
+-	GtkWidget *align, *vbox, *option_check;
+-	gboolean allow_multiple_selection =
+-	    GPOINTER_TO_INT (g_object_get_data (G_OBJECT (config_item),
+-						XCI_PROP_ALLOW_MULTIPLE_SELECTION));
+-
+-	GSList *expanders_list =
+-	    g_object_get_data (G_OBJECT (dialog), EXPANDERS_PROP);
+-
+-	gchar *utf_group_name = xci_desc_to_utf8 (config_item);
+-	gchar *titlemarkup =
+-	    g_strconcat ("<span>", utf_group_name, "</span>", NULL);
+-
+-	current_expander = gtk_expander_new (titlemarkup);
+-	gtk_expander_set_use_markup (GTK_EXPANDER (current_expander),
+-				     TRUE);
+-	g_object_set_data_full (G_OBJECT (current_expander),
+-				"utfGroupName", utf_group_name, g_free);
+-	g_object_set_data_full (G_OBJECT (current_expander), "groupId",
+-				g_strdup (config_item->name), g_free);
+-
+-	g_free (titlemarkup);
+-	align = gtk_alignment_new (0, 0, 1, 1);
+-	gtk_alignment_set_padding (GTK_ALIGNMENT (align), 6, 12, 12, 0);
+-	vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+-	gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
+-	gtk_container_add (GTK_CONTAINER (align), vbox);
+-	gtk_container_add (GTK_CONTAINER (current_expander), align);
+-
+-	current_multi_select = (gboolean) allow_multiple_selection;
+-	current_radio_group = NULL;
+-	current1st_level_id = config_item->name;
+-
+-	option_checks_list = NULL;
+-
+-	xkl_config_registry_foreach_option (config_registry,
+-					    config_item->name,
+-					    (ConfigItemProcessFunc)
+-					    xkb_options_add_option,
+-					    dialog);
+-	/* sort it */
+-	option_checks_list =
+-	    g_slist_sort (option_checks_list,
+-			  (GCompareFunc) xkb_option_checks_compare);
+-	while (option_checks_list) {
+-		option_check = GTK_WIDGET (option_checks_list->data);
+-		gtk_box_pack_start (GTK_BOX (vbox), option_check, TRUE,
+-				    TRUE, 0);
+-		option_checks_list = option_checks_list->next;
+-	}
+-	/* free it */
+-	g_slist_free (option_checks_list);
+-	option_checks_list = NULL;
+-
+-	xkb_options_expander_highlight ();
+-
+-	expanders_list = g_slist_append (expanders_list, current_expander);
+-	g_object_set_data (G_OBJECT (dialog), EXPANDERS_PROP,
+-			   expanders_list);
+-
+-	g_signal_connect (current_expander, "focus-in-event",
+-			  G_CALLBACK (option_focused_cb),
+-			  WID ("options_scroll"));
+-}
+-
+-static gint
+-xkb_options_expanders_compare (GtkWidget * expander1,
+-			       GtkWidget * expander2)
+-{
+-	const gchar *t1 =
+-	    g_object_get_data (G_OBJECT (expander1), "utfGroupName");
+-	const gchar *t2 =
+-	    g_object_get_data (G_OBJECT (expander2), "utfGroupName");
+-	return g_utf8_collate (t1, t2);
+-}
+-
+-/* Create widgets to represent the options made available by the backend */
+-void
+-xkb_options_load_options (GtkBuilder * dialog)
+-{
+-	GtkWidget *opts_vbox = WID ("options_vbox");
+-	GtkWidget *dialog_vbox = WID ("dialog_vbox");
+-	GtkWidget *options_scroll = WID ("options_scroll");
+-	GtkWidget *expander;
+-	GSList *expanders_list;
+-
+-	current1st_level_id = NULL;
+-	current_none_radio = NULL;
+-	current_multi_select = FALSE;
+-	current_radio_group = NULL;
+-
+-	/* fill the list */
+-	xkl_config_registry_foreach_option_group (config_registry,
+-						  (ConfigItemProcessFunc)
+-						  xkb_options_add_group,
+-						  dialog);
+-	/* sort it */
+-	expanders_list =
+-	    g_object_get_data (G_OBJECT (dialog), EXPANDERS_PROP);
+-	expanders_list =
+-	    g_slist_sort (expanders_list,
+-			  (GCompareFunc) xkb_options_expanders_compare);
+-	g_object_set_data (G_OBJECT (dialog), EXPANDERS_PROP,
+-			   expanders_list);
+-	while (expanders_list) {
+-		expander = GTK_WIDGET (expanders_list->data);
+-		gtk_box_pack_start (GTK_BOX (opts_vbox), expander, FALSE,
+-				    FALSE, 0);
+-		expanders_list = expanders_list->next;
+-	}
+-
+-	/* Somewhere in gtk3 the top vbox in dialog is made non-expandable */
+-	gtk_box_set_child_packing (GTK_BOX (dialog_vbox), options_scroll,
+-				   TRUE, TRUE, 0, GTK_PACK_START);
+-	gtk_widget_show_all (dialog_vbox);
+-}
+-
+-static void
+-chooser_response_cb (GtkDialog * dialog, gint response, gpointer data)
+-{
+-	switch (response) {
+-	case GTK_RESPONSE_DELETE_EVENT:
+-	case GTK_RESPONSE_CLOSE: {
+-			/* just cleanup */
+-			GSList *expanders_list =
+-			    g_object_get_data (G_OBJECT (dialog),
+-					       EXPANDERS_PROP);
+-			g_object_set_data (G_OBJECT (dialog),
+-					   EXPANDERS_PROP, NULL);
+-			g_slist_free (expanders_list);
+-
+-			gtk_widget_destroy (GTK_WIDGET (dialog));
+-			chooser_dialog = NULL;
+-		}
+-		break;
+-	}
+-}
+-
+-/* Create popup dialog */
+-void
+-xkb_options_popup_dialog (GtkBuilder * dialog)
+-{
+-	GtkWidget *chooser;
+-
+-	chooser_dialog = gtk_builder_new ();
+-    gtk_builder_set_translation_domain (chooser_dialog, GETTEXT_PACKAGE);
+-	gtk_builder_add_from_file (chooser_dialog, CINNAMONCC_UI_DIR
+-				   "/cinnamon-region-panel-options-dialog.ui",
+-				   NULL);
+-
+-	chooser = CWID ("xkb_options_dialog");
+-	gtk_window_set_transient_for (GTK_WINDOW (chooser),
+-				      GTK_WINDOW (gtk_widget_get_toplevel (WID ("region_notebook"))));
+-	gtk_window_set_modal (GTK_WINDOW (chooser), TRUE);
+-	xkb_options_load_options (chooser_dialog);
+-
+-	g_signal_connect (chooser, "response",
+-			  G_CALLBACK (chooser_response_cb), dialog);
+-	gtk_widget_show (chooser);
+-}
+-
+-/* Update selected option counters for a group-bound expander */
+-static void
+-xkb_options_update_option_counters (XklConfigRegistry * config_registry,
+-				    XklConfigItem * config_item)
+-{
+-	gchar *full_option_name =
+-	    g_strdup (gkbd_keyboard_config_merge_items
+-		      (current1st_level_id, config_item->name));
+-	gboolean current_state =
+-	    xkb_options_is_selected (full_option_name);
+-        g_free (full_option_name);
+-
+-	xkb_options_expander_selcounter_add (current_state);
+-}
+-
+-/* Respond to a change in the xkb gconf settings */
+-static void
+-xkb_options_update (GSettings * settings, gchar * key, GtkBuilder * dialog)
+-{
+-	if (!strcmp (key, GKBD_KEYBOARD_CONFIG_KEY_OPTIONS)) {
+-		/* Updating options is handled by gconf notifies for each widget
+-		   This is here to avoid calling it N_OPTIONS times for each gconf
+-		   change. */
+-		enable_disable_restoring (dialog);
+-
+-		if (chooser_dialog != NULL) {
+-			GSList *expanders_list =
+-			    g_object_get_data (G_OBJECT (chooser_dialog),
+-					       EXPANDERS_PROP);
+-			while (expanders_list) {
+-				current_expander =
+-				    GTK_WIDGET (expanders_list->data);
+-				gchar *group_id =
+-				    g_object_get_data (G_OBJECT
+-						       (current_expander),
+-						       "groupId");
+-				current1st_level_id = group_id;
+-				xkb_options_expander_selcounter_reset ();
+-				xkl_config_registry_foreach_option
+-				    (config_registry, group_id,
+-				     (ConfigItemProcessFunc)
+-				     xkb_options_update_option_counters,
+-				     current_expander);
+-				xkb_options_expander_highlight ();
+-				expanders_list = expanders_list->next;
+-			}
+-		}
+-	}
+-}
+-
+-void
+-xkb_options_register_conf_listener (GtkBuilder * dialog)
+-{
+-	g_signal_connect (xkb_keyboard_settings, "changed",
+-			  G_CALLBACK (xkb_options_update), dialog);
+-}
+diff -uNrp a/panels/region/cinnamon-region-panel-xkbpv.c b/panels/region/cinnamon-region-panel-xkbpv.c
+--- a/panels/region/cinnamon-region-panel-xkbpv.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/cinnamon-region-panel-xkbpv.c	1970-01-01 01:00:00.000000000 +0100
+@@ -1,120 +0,0 @@
+-/* cinnamon-region-panel-xkbpv.c
+- * Copyright (C) 2003-2007 Sergey V. Udaltsov
+- *
+- * Written by: Sergey V. Udaltsov <svu@gnome.org>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
+- * 02110-1335, USA.
+- */
+-
+-#ifdef HAVE_CONFIG_H
+-#  include <config.h>
+-#endif
+-
+-#include <libgnomekbd/gkbd-keyboard-drawing.h>
+-
+-#include "cinnamon-region-panel-xkb.h"
+-
+-#ifdef HAVE_X11_EXTENSIONS_XKB_H
+-#include "X11/XKBlib.h"
+-/**
+- * BAD STYLE: Taken from xklavier_private_xkb.h
+- * Any ideas on architectural improvements are WELCOME
+- */
+-extern gboolean xkl_xkb_config_native_prepare (XklEngine * engine,
+-					       const XklConfigRec * data,
+-					       XkbComponentNamesPtr
+-					       component_names);
+-
+-extern void xkl_xkb_config_native_cleanup (XklEngine * engine,
+-					   XkbComponentNamesPtr
+-					   component_names);
+-
+-/* */
+-#endif
+-
+-static GkbdKeyboardDrawingGroupLevel groupsLevels[] =
+-    { {0, 1}, {0, 3}, {0, 0}, {0, 2} };
+-static GkbdKeyboardDrawingGroupLevel *pGroupsLevels[] = {
+-	groupsLevels, groupsLevels + 1, groupsLevels + 2, groupsLevels + 3
+-};
+-
+-GtkWidget *
+-xkb_layout_preview_create_widget (GtkBuilder * chooserDialog)
+-{
+-	GtkWidget *kbdraw = gkbd_keyboard_drawing_new ();
+-
+-	gkbd_keyboard_drawing_set_groups_levels (GKBD_KEYBOARD_DRAWING
+-						 (kbdraw), pGroupsLevels);
+-	return kbdraw;
+-}
+-
+-void
+-xkb_layout_preview_set_drawing_layout (GtkWidget * kbdraw,
+-				       const gchar * id)
+-{
+-#ifdef HAVE_X11_EXTENSIONS_XKB_H
+-	if (kbdraw != NULL) {
+-		if (id != NULL) {
+-			XklConfigRec *data;
+-			char **p, *layout, *variant;
+-			XkbComponentNamesRec component_names;
+-
+-			data = xkl_config_rec_new ();
+-			if (xkl_config_rec_get_from_server (data, engine)) {
+-				if ((p = data->layouts) != NULL)
+-					g_strfreev (data->layouts);
+-
+-				if ((p = data->variants) != NULL)
+-					g_strfreev (data->variants);
+-
+-				data->layouts = g_new0 (char *, 2);
+-				data->variants = g_new0 (char *, 2);
+-				if (gkbd_keyboard_config_split_items
+-				    (id, &layout, &variant)
+-				    && variant != NULL) {
+-					data->layouts[0] =
+-					    (layout ==
+-					     NULL) ? NULL :
+-					    g_strdup (layout);
+-					data->variants[0] =
+-					    (variant ==
+-					     NULL) ? NULL :
+-					    g_strdup (variant);
+-				} else {
+-					data->layouts[0] =
+-					    (id ==
+-					     NULL) ? NULL : g_strdup (id);
+-					data->variants[0] = NULL;
+-				}
+-
+-				if (xkl_xkb_config_native_prepare
+-				    (engine, data, &component_names)) {
+-					gkbd_keyboard_drawing_set_keyboard
+-					    (GKBD_KEYBOARD_DRAWING
+-					     (kbdraw), &component_names);
+-
+-					xkl_xkb_config_native_cleanup
+-					    (engine, &component_names);
+-				}
+-			}
+-			g_object_unref (G_OBJECT (data));
+-		} else
+-			gkbd_keyboard_drawing_set_keyboard
+-			    (GKBD_KEYBOARD_DRAWING (kbdraw), NULL);
+-
+-	}
+-#endif
+-}
+diff -uNrp a/panels/region/.indent.pro b/panels/region/.indent.pro
+--- a/panels/region/.indent.pro	1970-01-01 01:00:00.000000000 +0100
++++ b/panels/region/.indent.pro	2013-08-25 16:50:30.000000000 +0100
+@@ -0,0 +1,2 @@
++-kr -i8 -pcs -lps -psl
++
+diff -uNrp a/panels/region/Makefile.am b/panels/region/Makefile.am
+--- a/panels/region/Makefile.am	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/Makefile.am	2013-09-21 13:24:15.347949247 +0100
+@@ -23,12 +23,9 @@ libregion_la_SOURCES =	\
+ 	cinnamon-region-panel-lang.h \
+ 	cinnamon-region-panel-system.c \
+ 	cinnamon-region-panel-system.h \
+-	cinnamon-region-panel-xkb.c \
+-	cinnamon-region-panel-xkblt.c \
+-	cinnamon-region-panel-xkbltadd.c \
+-	cinnamon-region-panel-xkbot.c \
+-	cinnamon-region-panel-xkbpv.c \
+-	cinnamon-region-panel-xkb.h
++	cinnamon-region-panel-input.c \
++	cinnamon-region-panel-input.h \
++	$(NULL)
+ 
+ libregion_la_LIBADD = $(PANEL_LIBS) $(REGION_PANEL_LIBS) $(builddir)/../common/liblanguage.la
+ 
+@@ -39,8 +36,8 @@ libregion_la_LDFLAGS = $(PANEL_LDFLAGS)
+ uidir   = $(pkgdatadir)/ui
+ ui_DATA = \
+ 	cinnamon-region-panel.ui \
+-	cinnamon-region-panel-layout-chooser.ui \
+-	cinnamon-region-panel-options-dialog.ui
++	cinnamon-region-panel-input-chooser.ui \
++	$(NULL)
+ 
+ desktopdir = $(datadir)/applications
+ Desktop_in_files = cinnamon-region-panel.desktop.in
+diff -uNrp a/panels/region/region-module.c b/panels/region/region-module.c
+--- a/panels/region/region-module.c	2013-08-25 14:40:14.000000000 +0100
++++ b/panels/region/region-module.c	2013-09-21 13:24:15.347949247 +0100
+@@ -28,6 +28,7 @@
+ void
+ g_io_module_load (GIOModule * module)
+ {
++
+ 	/* register the panel */
+ 	cc_region_panel_register (module);
+ }
diff --git a/pkgs/desktops/cinnamon/remove-sessionmigration.patch b/pkgs/desktops/cinnamon/remove-sessionmigration.patch
new file mode 100644
index 00000000000..92e63549d96
--- /dev/null
+++ b/pkgs/desktops/cinnamon/remove-sessionmigration.patch
@@ -0,0 +1,19 @@
+--- a/cinnamon-session/csm-session-fill.c
++++ b/cinnamon-session/csm-session-fill.c
+@@ -228,15 +228,6 @@
+ load_standard_apps (CsmManager *manager,
+                     GKeyFile   *keyfile)
+ {
+-        GError *error;
+-
+-        g_debug ("fill: *** Executing user migration");
+-        error = NULL;
+-        if(!g_spawn_command_line_sync ("session-migration", NULL, NULL, NULL, &error)) {
+-                 g_warning ("Error while executing session-migration: %s", error->message);
+-                 g_error_free (error);
+-        }
+-
+         g_debug ("fill: *** Adding required components");
+         handle_required_components (keyfile, !csm_manager_get_failsafe (manager),
+                                     append_required_components_helper, manager);
+
diff --git a/pkgs/desktops/cinnamon/systemd-support.patch b/pkgs/desktops/cinnamon/systemd-support.patch
new file mode 100644
index 00000000000..feceaf05f7b
--- /dev/null
+++ b/pkgs/desktops/cinnamon/systemd-support.patch
@@ -0,0 +1,536 @@
+ 
+diff --git a/plugins/media-keys/csd-media-keys-manager.c b/plugins/media-keys/csd-media-keys-manager.c
+index 02930a3..7c1c519 100644
+--- a/plugins/media-keys/csd-media-keys-manager.c
++++ b/plugins/media-keys/csd-media-keys-manager.c
+@@ -39,6 +39,7 @@
+ #include <gdk/gdkx.h>
+ #include <gtk/gtk.h>
+ #include <gio/gdesktopappinfo.h>
++#include <gio/gunixfdlist.h>
+ 
+ #ifdef HAVE_GUDEV
+ #include <gudev/gudev.h>
+@@ -121,6 +122,10 @@ static const gchar kb_introspection_xml[] =
+ #define VOLUME_STEP 5           /* percents for one volume button press */
+ #define MAX_VOLUME 65536.0
+ 
++#define SYSTEMD_DBUS_NAME                       "org.freedesktop.login1"
++#define SYSTEMD_DBUS_PATH                       "/org/freedesktop/login1"
++#define SYSTEMD_DBUS_INTERFACE                  "org.freedesktop.login1.Manager"
++
+ #define CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_MEDIA_KEYS_MANAGER, CsdMediaKeysManagerPrivate))
+ 
+ typedef struct {
+@@ -167,6 +172,10 @@ struct CsdMediaKeysManagerPrivate
+         GDBusProxy      *power_screen_proxy;
+         GDBusProxy      *power_keyboard_proxy;
+ 
++        /* systemd stuff */
++        GDBusProxy      *logind_proxy;
++        gint             inhibit_keys_fd;
++
+         /* Multihead stuff */
+         GdkScreen       *current_screen;
+         GSList          *screens;
+@@ -2213,6 +2222,11 @@ csd_media_keys_manager_stop (CsdMediaKeysManager *manager)
+         }
+ #endif /* HAVE_GUDEV */
+ 
++        if (priv->logind_proxy) {
++                g_object_unref (priv->logind_proxy);
++                priv->logind_proxy = NULL;
++        }
++
+         if (priv->settings) {
+                 g_object_unref (priv->settings);
+                 priv->settings = NULL;
+@@ -2356,9 +2370,85 @@ csd_media_keys_manager_class_init (CsdMediaKeysManagerClass *klass)
+ }
+ 
+ static void
++inhibit_done (GObject      *source,
++              GAsyncResult *result,
++              gpointer      user_data)
++{
++        GDBusProxy *proxy = G_DBUS_PROXY (source);
++        CsdMediaKeysManager *manager = CSD_MEDIA_KEYS_MANAGER (user_data);
++        GError *error = NULL;
++        GVariant *res;
++        GUnixFDList *fd_list = NULL;
++        gint idx;
++
++        res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
++        if (res == NULL) {
++                g_warning ("Unable to inhibit keypresses: %s", error->message);
++                g_error_free (error);
++        } else {
++                g_variant_get (res, "(h)", &idx);
++                manager->priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error);
++                if (manager->priv->inhibit_keys_fd == -1) {
++                        g_warning ("Failed to receive system inhibitor fd: %s", error->message);
++                        g_error_free (error);
++                }
++                g_debug ("System inhibitor fd is %d", manager->priv->inhibit_keys_fd);
++                g_object_unref (fd_list);
++                g_variant_unref (res);
++        }
++}
++
++static void
+ csd_media_keys_manager_init (CsdMediaKeysManager *manager)
+ {
++        GError *error;
++        GDBusConnection *bus;
++
++        error = NULL;
+         manager->priv = CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
++
++        bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
++        if (bus == NULL) {
++                g_warning ("Failed to connect to system bus: %s",
++                           error->message);
++                g_error_free (error);
++                return;
++        }
++
++        manager->priv->logind_proxy =
++                g_dbus_proxy_new_sync (bus,
++                                       0,
++                                       NULL,
++                                       SYSTEMD_DBUS_NAME,
++                                       SYSTEMD_DBUS_PATH,
++                                       SYSTEMD_DBUS_INTERFACE,
++                                       NULL,
++                                       &error);
++
++        if (manager->priv->logind_proxy == NULL) {
++                g_warning ("Failed to connect to systemd: %s",
++                           error->message);
++                g_error_free (error);
++        }
++
++        g_object_unref (bus);
++
++        g_debug ("Adding system inhibitors for power keys");
++        manager->priv->inhibit_keys_fd = -1;
++        g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
++                                             "Inhibit",
++                                             g_variant_new ("(ssss)",
++                                                            "handle-power-key:handle-suspend-key:handle-hibernate-key",
++                                                            g_get_user_name (),
++                                                            "Cinnamon handling keypresses",
++                                                            "block"),
++                                             0,
++                                             G_MAXINT,
++                                             NULL,
++                                             NULL,
++                                             inhibit_done,
++                                             manager);
++
+ }
+ 
+ static void
+@@ -2375,6 +2465,8 @@ csd_media_keys_manager_finalize (GObject *object)
+ 
+         if (media_keys_manager->priv->start_idle_id != 0)
+                 g_source_remove (media_keys_manager->priv->start_idle_id);
++        if (media_keys_manager->priv->inhibit_keys_fd != -1)
++                close (media_keys_manager->priv->inhibit_keys_fd);
+ 
+         G_OBJECT_CLASS (csd_media_keys_manager_parent_class)->finalize (object);
+ }
+diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c
+index b54cb5b..b9c5429 100644
+--- a/plugins/power/csd-power-manager.c
++++ b/plugins/power/csd-power-manager.c
+@@ -32,6 +32,7 @@
+ #include <libupower-glib/upower.h>
+ #include <libnotify/notify.h>
+ #include <canberra-gtk.h>
++#include <gio/gunixfdlist.h>
+ 
+ #include <X11/extensions/dpms.h>
+ 
+@@ -79,6 +80,10 @@
+ #define CSD_POWER_MANAGER_CRITICAL_ALERT_TIMEOUT        5 /* seconds */
+ #define CSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT      30 /* seconds */
+ 
++#define SYSTEMD_DBUS_NAME                       "org.freedesktop.login1"
++#define SYSTEMD_DBUS_PATH                       "/org/freedesktop/login1"
++#define SYSTEMD_DBUS_INTERFACE                  "org.freedesktop.login1.Manager"
++
+ /* Keep this in sync with gnome-shell */
+ #define SCREENSAVER_FADE_TIME                           10 /* seconds */
+ 
+@@ -203,6 +208,13 @@ struct CsdPowerManagerPrivate
+         GtkStatusIcon           *status_icon;
+         guint                    xscreensaver_watchdog_timer_id;
+         gboolean                 is_virtual_machine;
++
++        /* systemd stuff */
++        GDBusProxy              *logind_proxy;
++        gint                     inhibit_lid_switch_fd;
++        gboolean                 inhibit_lid_switch_taken;
++        gint                     inhibit_suspend_fd;
++        gboolean                 inhibit_suspend_taken;
+ };
+ 
+ enum {
+@@ -3350,30 +3362,6 @@ lock_screensaver (CsdPowerManager *manager)
+         if (!do_lock)
+                 return;
+ 
+-            /* connect to the screensaver first */
+-            g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION,
+-                                      G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
+-                                      NULL,
+-                                      GS_DBUS_NAME,
+-                                      GS_DBUS_PATH,
+-                                      GS_DBUS_INTERFACE,
+-                                      NULL,
+-                                      sleep_cb_screensaver_proxy_ready_cb,
+-                                      manager);
+-}
+-
+-static void
+-upower_notify_sleep_cb (UpClient *client,
+-                        UpSleepKind sleep_kind,
+-                        CsdPowerManager *manager)
+-{
+-        gboolean do_lock;
+-
+-        do_lock = g_settings_get_boolean (manager->priv->settings,
+-                                          "lock-on-suspend");
+-        if (!do_lock)
+-                return;
+-
+         /* connect to the screensaver first */
+         g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION,
+                                   G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
+@@ -3384,46 +3372,6 @@ upower_notify_sleep_cb (UpClient *client,
+                                   NULL,
+                                   sleep_cb_screensaver_proxy_ready_cb,
+                                   manager);
+-
+-}
+-
+-static void
+-upower_notify_resume_cb (UpClient *client,
+-                         UpSleepKind sleep_kind,
+-                         CsdPowerManager *manager)
+-{
+-        gboolean ret;
+-        GError *error = NULL;
+-
+-        /* this displays the unlock dialogue so the user doesn't have
+-         * to move the mouse or press any key before the window comes up */
+-        if (manager->priv->screensaver_proxy != NULL) {
+-                g_dbus_proxy_call (manager->priv->screensaver_proxy,
+-                                   "SimulateUserActivity",
+-                                   NULL,
+-                                   G_DBUS_CALL_FLAGS_NONE,
+-                                   -1, NULL, NULL, NULL);
+-        }
+-
+-        if (manager->priv->screensaver_proxy != NULL) {
+-            g_object_unref (manager->priv->screensaver_proxy);
+-            manager->priv->screensaver_proxy = NULL;
+-        }
+-
+-        /* close existing notifications on resume, the system power
+-         * state is probably different now */
+-        notify_close_if_showing (manager->priv->notification_low);
+-        notify_close_if_showing (manager->priv->notification_discharging);
+-
+-        /* ensure we turn the panel back on after resume */
+-        ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
+-                                             GNOME_RR_DPMS_ON,
+-                                             &error);
+-        if (!ret) {
+-                g_warning ("failed to turn the panel on after resume: %s",
+-                           error->message);
+-                g_error_free (error);
+-        }
+ }
+ 
+ static void
+@@ -3582,6 +3530,219 @@ disable_builtin_screensaver (gpointer unused)
+         return TRUE;
+ }
+ 
++static void
++inhibit_lid_switch_done (GObject      *source,
++                         GAsyncResult *result,
++                         gpointer      user_data)
++{
++        GDBusProxy *proxy = G_DBUS_PROXY (source);
++        CsdPowerManager *manager = CSD_POWER_MANAGER (user_data);
++        GError *error = NULL;
++        GVariant *res;
++        GUnixFDList *fd_list = NULL;
++        gint idx;
++
++        res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
++        if (res == NULL) {
++                g_warning ("Unable to inhibit lid switch: %s", error->message);
++                g_error_free (error);
++        } else {
++                g_variant_get (res, "(h)", &idx);
++                manager->priv->inhibit_lid_switch_fd = g_unix_fd_list_get (fd_list, idx, &error);
++                if (manager->priv->inhibit_lid_switch_fd == -1) {
++                        g_warning ("Failed to receive system inhibitor fd: %s", error->message);
++                        g_error_free (error);
++                }
++                g_debug ("System inhibitor fd is %d", manager->priv->inhibit_lid_switch_fd);
++                g_object_unref (fd_list);
++                g_variant_unref (res);
++        }
++}
++
++static void
++inhibit_lid_switch (CsdPowerManager *manager)
++{
++        GVariant *params;
++
++        if (manager->priv->inhibit_lid_switch_taken) {
++                g_debug ("already inhibited lid-switch");
++                return;
++        }
++        g_debug ("Adding lid switch system inhibitor");
++        manager->priv->inhibit_lid_switch_taken = TRUE;
++
++        params = g_variant_new ("(ssss)",
++                                "handle-lid-switch",
++                                g_get_user_name (),
++                                "Multiple displays attached",
++                                "block");
++        g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
++                                             "Inhibit",
++                                             params,
++                                             0,
++                                             G_MAXINT,
++                                             NULL,
++                                             NULL,
++                                             inhibit_lid_switch_done,
++                                             manager);
++}
++
++static void
++inhibit_suspend_done (GObject      *source,
++                      GAsyncResult *result,
++                      gpointer      user_data)
++{
++        GDBusProxy *proxy = G_DBUS_PROXY (source);
++        CsdPowerManager *manager = CSD_POWER_MANAGER (user_data);
++        GError *error = NULL;
++        GVariant *res;
++        GUnixFDList *fd_list = NULL;
++        gint idx;
++
++        res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
++        if (res == NULL) {
++                g_warning ("Unable to inhibit suspend: %s", error->message);
++                g_error_free (error);
++        } else {
++                g_variant_get (res, "(h)", &idx);
++                manager->priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error);
++                if (manager->priv->inhibit_suspend_fd == -1) {
++                        g_warning ("Failed to receive system inhibitor fd: %s", error->message);
++                        g_error_free (error);
++                }
++                g_debug ("System inhibitor fd is %d", manager->priv->inhibit_suspend_fd);
++                g_object_unref (fd_list);
++                g_variant_unref (res);
++        }
++}
++
++/* We take a delay inhibitor here, which causes logind to send a
++ * PrepareToSleep signal, which gives us a chance to lock the screen
++ * and do some other preparations.
++ */
++static void
++inhibit_suspend (CsdPowerManager *manager)
++{
++        if (manager->priv->inhibit_suspend_taken) {
++                g_debug ("already inhibited lid-switch");
++                return;
++        }
++        g_debug ("Adding suspend delay inhibitor");
++        manager->priv->inhibit_suspend_taken = TRUE;
++        g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
++                                             "Inhibit",
++                                             g_variant_new ("(ssss)",
++                                                            "sleep",
++                                                            g_get_user_name (),
++                                                            "Cinnamon needs to lock the screen",
++                                                            "delay"),
++                                             0,
++                                             G_MAXINT,
++                                             NULL,
++                                             NULL,
++                                             inhibit_suspend_done,
++                                             manager);
++}
++
++static void
++uninhibit_suspend (CsdPowerManager *manager)
++{
++        if (manager->priv->inhibit_suspend_fd == -1) {
++                g_debug ("no suspend delay inhibitor");
++                return;
++        }
++        g_debug ("Removing suspend delay inhibitor");
++        close (manager->priv->inhibit_suspend_fd);
++        manager->priv->inhibit_suspend_fd = -1;
++        manager->priv->inhibit_suspend_taken = FALSE;
++}
++
++static void
++handle_suspend_actions (CsdPowerManager *manager)
++{
++        gboolean do_lock;
++
++        do_lock = g_settings_get_boolean (manager->priv->settings,
++                                          "lock-on-suspend");
++        if (do_lock)
++                lock_screensaver (manager);
++
++        /* lift the delay inhibit, so logind can proceed */
++        uninhibit_suspend (manager);
++}
++
++static void
++handle_resume_actions (CsdPowerManager *manager)
++{
++        gboolean ret;
++        GError *error = NULL;
++
++        /* this displays the unlock dialogue so the user doesn't have
++         * to move the mouse or press any key before the window comes up */
++        g_dbus_connection_call (manager->priv->connection,
++                                GS_DBUS_NAME,
++                                GS_DBUS_PATH,
++                                GS_DBUS_INTERFACE,
++                                "SimulateUserActivity",
++                                NULL, NULL,
++                                G_DBUS_CALL_FLAGS_NONE, -1,
++                                NULL, NULL, NULL);
++
++        /* close existing notifications on resume, the system power
++         * state is probably different now */
++        notify_close_if_showing (manager->priv->notification_low);
++        notify_close_if_showing (manager->priv->notification_discharging);
++
++        /* ensure we turn the panel back on after resume */
++        ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
++                                             GNOME_RR_DPMS_ON,
++                                             &error);
++        if (!ret) {
++                g_warning ("failed to turn the panel on after resume: %s",
++                           error->message);
++                g_error_free (error);
++        }
++
++        /* set up the delay again */
++        inhibit_suspend (manager);
++}
++
++static void
++upower_notify_sleep_cb (UpClient *client,
++                        UpSleepKind sleep_kind,
++                        CsdPowerManager *manager)
++{
++        handle_suspend_actions (manager);
++}
++
++static void
++upower_notify_resume_cb (UpClient *client,
++                         UpSleepKind sleep_kind,
++                         CsdPowerManager *manager)
++{
++        handle_resume_actions (manager);
++}
++
++static void
++logind_proxy_signal_cb (GDBusProxy  *proxy,
++                        const gchar *sender_name,
++                        const gchar *signal_name,
++                        GVariant    *parameters,
++                        gpointer     user_data)
++{
++        CsdPowerManager *manager = CSD_POWER_MANAGER (user_data);
++        gboolean is_about_to_suspend;
++
++        if (g_strcmp0 (signal_name, "PrepareForSleep") != 0)
++                return;
++        g_variant_get (parameters, "(b)", &is_about_to_suspend);
++        if (is_about_to_suspend) {
++                handle_suspend_actions (manager);
++        } else {
++                handle_resume_actions (manager);
++        }
++}
++
+ static gboolean
+ is_hardware_a_virtual_machine (void)
+ {
+@@ -3647,6 +3808,26 @@ csd_power_manager_start (CsdPowerManager *manager,
+         if (manager->priv->x11_screen == NULL)
+                 return FALSE;
+ 
++        /* Set up the logind proxy */
++        manager->priv->logind_proxy =
++                g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
++                                               0,
++                                               NULL,
++                                               SYSTEMD_DBUS_NAME,
++                                               SYSTEMD_DBUS_PATH,
++                                               SYSTEMD_DBUS_INTERFACE,
++                                               NULL,
++                                               error);
++        g_signal_connect (manager->priv->logind_proxy, "g-signal",
++                          G_CALLBACK (logind_proxy_signal_cb),
++                          manager);
++
++        /* Set up a delay inhibitor to be informed about suspend attempts */
++        inhibit_suspend (manager);
++
++        /* Disable logind's lid handling while g-s-d is active */
++        inhibit_lid_switch (manager);
++
+         /* track the active session */
+         manager->priv->session = cinnamon_settings_session_new ();
+         g_signal_connect (manager->priv->session, "notify::state",
+@@ -3856,6 +4037,22 @@ csd_power_manager_stop (CsdPowerManager *manager)
+                 manager->priv->up_client = NULL;
+         }
+ 
++        if (manager->priv->inhibit_lid_switch_fd != -1) {
++                close (manager->priv->inhibit_lid_switch_fd);
++                manager->priv->inhibit_lid_switch_fd = -1;
++                manager->priv->inhibit_lid_switch_taken = FALSE;
++        }
++        if (manager->priv->inhibit_suspend_fd != -1) {
++                close (manager->priv->inhibit_suspend_fd);
++                manager->priv->inhibit_suspend_fd = -1;
++                manager->priv->inhibit_suspend_taken = FALSE;
++        }
++
++        if (manager->priv->logind_proxy != NULL) {
++                g_object_unref (manager->priv->logind_proxy);
++                manager->priv->logind_proxy = NULL;
++        }
++
+         if (manager->priv->x11_screen != NULL) {
+                 g_object_unref (manager->priv->x11_screen);
+                 manager->priv->x11_screen = NULL;
+@@ -3928,6 +4125,8 @@ static void
+ csd_power_manager_init (CsdPowerManager *manager)
+ {
+         manager->priv = CSD_POWER_MANAGER_GET_PRIVATE (manager);
++        manager->priv->inhibit_lid_switch_fd = -1;
++        manager->priv->inhibit_suspend_fd = -1;
+ }
+ 
+ static void
diff --git a/pkgs/desktops/cinnamon/timeout.patch b/pkgs/desktops/cinnamon/timeout.patch
new file mode 100644
index 00000000000..59d1f9ab5f3
--- /dev/null
+++ b/pkgs/desktops/cinnamon/timeout.patch
@@ -0,0 +1,26 @@
+diff -u -r cinnamon-session-3.4.2/cinnamon-session/csm-session-fill.c cinnamon-session-3.4.2-timeout/cinnamon-session/csm-session-fill.c
+--- cinnamon-session-3.4.2/cinnamon-session/csm-session-fill.c	2012-02-02 15:33:01.000000000 +0100
++++ cinnamon-session-3.4.2-timeout/cinnamon-session/csm-session-fill.c	2012-06-10 02:39:46.184348462 +0200
+@@ -36,7 +36,7 @@
+ #define CSM_KEYFILE_DEFAULT_PROVIDER_PREFIX "DefaultProvider"
+ 
+ /* See https://bugzilla.gnome.org/show_bug.cgi?id=641992 for discussion */
+-#define CSM_RUNNABLE_HELPER_TIMEOUT 3000 /* ms */
++#define CSM_RUNNABLE_HELPER_TIMEOUT 10000 /* ms */
+ 
+ typedef void (*GsmFillHandleProvider) (const char *provides,
+                                        const char *default_provider,
+diff -u -r cinnamon-session-3.4.2/tools/cinnamon-session-check-accelerated.c 
+cinnamon-session-3.4.2-timeout/tools/cinnamon-session-check-accelerated.c
+--- cinnamon-session-3.4.2/tools/cinnamon-session-check-accelerated.c	2011-03-22 21:31:43.000000000 +0100
++++ cinnamon-session-3.4.2-timeout/tools/cinnamon-session-check-accelerated.c	2012-06-10 02:42:08.013218006 +0200
+@@ -30,7 +30,7 @@
+ #include <X11/Xatom.h>
+ 
+ /* Wait up to this long for a running check to finish */
+-#define PROPERTY_CHANGE_TIMEOUT 5000
++#define PROPERTY_CHANGE_TIMEOUT 12000
+ 
+ /* Values used for the _GNOME_SESSION_ACCELERATED root window property */
+ #define NO_ACCEL            0
+
diff --git a/pkgs/desktops/e17/terminology/default.nix b/pkgs/desktops/e17/terminology/default.nix
index f060d81bd00..692f4e73ac2 100644
--- a/pkgs/desktops/e17/terminology/default.nix
+++ b/pkgs/desktops/e17/terminology/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
-  version = "0.3.0";
+  version = "0.5.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "1dn5bjswqgnqza7bngc6afqza47yh27xfwf5qg2kzfgs008hp1bp";
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "1b8m6fhzx2fdr3m6ak2163v33zc4svmg2k875m0xppzifdd9xvyf";
   };
   buildInputs = [ pkgconfig elementary eina eet evas ecore edje emotion ecore ethumb efreet ];
 
diff --git a/pkgs/desktops/e18/default.nix b/pkgs/desktops/e18/default.nix
new file mode 100644
index 00000000000..56361eb85ce
--- /dev/null
+++ b/pkgs/desktops/e18/default.nix
@@ -0,0 +1,16 @@
+{ callPackage, pkgs }:
+rec {
+  #### CORE EFL
+  efl = callPackage ./efl.nix { };
+  evas = callPackage ./evas.nix { };
+  emotion = callPackage ./emotion.nix { };
+  elementary = callPackage ./elementary.nix { };
+
+  #### WINDOW MANAGER
+  enlightenment = callPackage ./enlightenment.nix { };
+
+  #### APPLICATIONS
+  econnman = callPackage ./econnman.nix { };
+  terminology = callPackage ./terminology.nix { };
+
+}
diff --git a/pkgs/desktops/e18/econnman.nix b/pkgs/desktops/e18/econnman.nix
new file mode 100644
index 00000000000..f2c67edf4f8
--- /dev/null
+++ b/pkgs/desktops/e18/econnman.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e18, python27, python27Packages, dbus, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "econnman-${version}";
+  version = "1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
+    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
+  };
+
+  buildInputs = [ makeWrapper pkgconfig e18.efl python27 dbus ];
+  propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus e18.elementary ];
+  postInstall = ''
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/lib/python2.7/site-packages
+  '';
+
+  meta = {
+    description = "Econnman is a user interface for the connman network connection manager";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e18/efl.nix b/pkgs/desktops/e18/efl.nix
new file mode 100644
index 00000000000..ca09ac32ee5
--- /dev/null
+++ b/pkgs/desktops/e18/efl.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages }:
+stdenv.mkDerivation rec {
+  name = "efl-${version}";
+  version = "1.10.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
+    sha256 = "0py8x0kv2hgl5v983xb6653fvmvn20im6picpc0hqfyxy09g1b24";
+  };
+  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
+  propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ];
+  configureFlags = [ "--with-opengl=full" "--with-tests=none" "--enable-wayland" "--enable-sdl" "--enable-drm" ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${xlibs.libXtst} $NIX_CFLAGS_COMPILE"
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+  '';
+  meta = {
+    description = "Enlightenment Core libraries";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e18/elementary.nix b/pkgs/desktops/e18/elementary.nix
new file mode 100644
index 00000000000..f808d5c905b
--- /dev/null
+++ b/pkgs/desktops/e18/elementary.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18 }:
+stdenv.mkDerivation rec {
+  name = "elementary-${version}";
+  version = "1.10.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
+    sha256 = "0y3knvmabl9adc8pd54p7qxpf7gvciixc1rk40hqppwhdgbgpz28";
+  };
+  buildInputs = [ pkgconfig e18.efl ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Widget set/toolkit";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
+  };
+}
diff --git a/pkgs/desktops/e18/emotion.nix b/pkgs/desktops/e18/emotion.nix
new file mode 100644
index 00000000000..7e1c3be6400
--- /dev/null
+++ b/pkgs/desktops/e18/emotion.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18, vlc }:
+stdenv.mkDerivation rec {
+  name = "emotion_generic_players-${version}";
+  version = "1.10.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
+    sha256 = "1nwlrk9inrhiv6jpzji10ikcdlhzhz7f2b5qhi2ai8bb6j61ryyc";
+  };
+  buildInputs = [ pkgconfig e18.efl vlc ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Extra video decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e18/enlightenment.nix b/pkgs/desktops/e18/enlightenment.nix
new file mode 100644
index 00000000000..c3cd585e525
--- /dev/null
+++ b/pkgs/desktops/e18/enlightenment.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit, bzip2, set_freqset_setuid ? false }:
+
+stdenv.mkDerivation rec {
+  name = "enlightenment-${version}";
+  version = "0.18.8";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.gz";
+    sha256 = "1fsigbrknkwy909p1gqwxag1bar3p413s4f6fq3qnbsd6gjbvj8l";
+  };
+  buildInputs = [ pkgconfig e18.efl e18.elementary xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+
+  # this is a hack and without this cpufreq module is not working:
+  #   when set_freqset_setuid is true and "e18_freqset" is set in setuidPrograms (this is taken care of in e18 NixOS module),
+  #   then this postInstall does the folowing:
+  #   1. moves the "freqset" binary to "e18_freqset",
+  #   2. linkes "e18_freqset" to enlightenment/bin so that,
+  #   3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e18_freqset,
+  #   4. and finaly, linkes /var/setuid-wrappers/e18_freqset to original destination where enlightenment wants it
+  postInstall = if set_freqset_setuid then ''
+    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
+    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e18_freqset
+    ln -sv $CPUFREQ_DIRPATH/e18_freqset $out/bin/e18_freqset
+    ln -sv /var/setuid-wrappers/e18_freqset $CPUFREQ_DIRPATH/freqset
+  '' else "";
+  meta = {
+    description = "The Compositing Window Manager and Desktop Shell";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e18/evas.nix b/pkgs/desktops/e18/evas.nix
new file mode 100644
index 00000000000..9ddd94dbaea
--- /dev/null
+++ b/pkgs/desktops/e18/evas.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, e18, zlib }:
+stdenv.mkDerivation rec {
+  name = "evas_generic_loaders-${version}";
+  version = "1.10.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
+    sha256 = "0qx44g7a8pzcgspx8q10zjiwzafis301fhpchd4pskfxhqd4qagm";
+  };
+  buildInputs = [ pkgconfig e18.efl zlib ];
+  meta = {
+    description = "Extra image decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/e18/terminology.nix b/pkgs/desktops/e18/terminology.nix
new file mode 100644
index 00000000000..892abc6ea5f
--- /dev/null
+++ b/pkgs/desktops/e18/terminology.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e18 }:
+stdenv.mkDerivation rec {
+  name = "terminology-${version}";
+  version = "0.6.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
+  };
+  buildInputs = [ pkgconfig e18.efl e18.elementary ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The best terminal emulator written with the EFL";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 3d76ba72dae..54e397fd474 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -1,10 +1,11 @@
-{ callPackage, self, stdenv, gettext, overrides ? {} }:
-{
-  __overrides = overrides;
+{ callPackage, self, stdenv, gettext, gvfs, libunique, bison2
+, libstartup_notification, overrides ? {} }:
 
+let overridden = set // overrides; set = with overridden; {
   # Backward compatibility.
   gtkdoc = self.gtk_doc;
-  startupnotification = self.startup_notification;
+  startup_notification = libstartup_notification;
+  startupnotification = libstartup_notification;
   gnomedocutils = self.gnome_doc_utils;
   gnomeicontheme = self.gnome_icon_theme;
   gnomepanel = self.gnome_panel;
@@ -21,7 +22,9 @@
 
   libglade = callPackage ./platform/libglade { };
 
-  libgnomeprint = callPackage ./platform/libgnomeprint { };
+  libgnomeprint = callPackage ./platform/libgnomeprint {
+    bison = bison2;
+  };
 
   libgnomeprintui = callPackage ./platform/libgnomeprintui { };
 
@@ -62,12 +65,8 @@
 
   gtkhtml = callPackage ./platform/gtkhtml { };
 
-
-  # Freedesktop library
-  startup_notification = callPackage ./platform/startup-notification { };
-
   # Required for nautilus
-  libunique = callPackage ./platform/libunique { };
+  inherit (libunique);
 
   gtkglext = callPackage ./platform/gtkglext { };
 
@@ -79,7 +78,7 @@
 
   libgweather = callPackage ./desktop/libgweather { };
 
-  gvfs = callPackage ./desktop/gvfs { };
+  gvfs = gvfs.override { gnome = self; };
 
   libgnomekbd = callPackage ./desktop/libgnomekbd { };
 
@@ -107,8 +106,6 @@
 
   gtksourceview = callPackage ./desktop/gtksourceview { };
 
-  nautilus = callPackage ./desktop/nautilus { };
-
   gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { };
 
   vte = callPackage ./desktop/vte { };
@@ -117,4 +114,4 @@
 
   libglademm = callPackage ./bindings/libglademm { };
 
-}
+}; in overridden
diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix
index fffffcb0c2d..315f6ff9c5a 100644
--- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
 
 stdenv.mkDerivation rec {
-  #name = "gnome-icon-theme-3.4.0";
   name = "gnome-icon-theme-2.91.93";
 
   src = fetchurl {
@@ -9,6 +8,10 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/gnome-icon-theme/2.91/${name}.tar.bz2";
     sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6";
   };
-  
+
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-2/desktop/gvfs/default.nix b/pkgs/desktops/gnome-2/desktop/gvfs/default.nix
deleted file mode 100644
index 9e7949047c7..00000000000
--- a/pkgs/desktops/gnome-2/desktop/gvfs/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2
-, libcdio, libxml2, libtool, glib, intltool, GConf, libgnome_keyring, libsoup
-, udev, avahi, libxslt, docbook_xsl }:
-
-stdenv.mkDerivation rec {
-  name = "gvfs-1.14.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
-    sha256 = "0af86cd7ee7b6daca144776bdf12f2f30d3e18fdd70b4da58e1a68cea4f6716a";
-  };
-
-  buildInputs =
-    [ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 GConf
-      libgnome_keyring libsoup avahi libtool libxslt docbook_xsl
-    ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  enableParallelBuilding = true;
-}
diff --git a/pkgs/desktops/gnome-2/desktop/nautilus/default.nix b/pkgs/desktops/gnome-2/desktop/nautilus/default.nix
deleted file mode 100644
index 3765e6112d6..00000000000
--- a/pkgs/desktops/gnome-2/desktop/nautilus/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif, gtk, gnome_desktop, libunique, intltool, GConf}:
-
-stdenv.mkDerivation {
-  name = "nautilus-2.28.0";
-  src = fetchurl {
-    url = mirror://gnome/sources/nautilus/2.28/nautilus-2.28.0.tar.bz2;
-    sha256 = "0wmskjxf231r2vra22zy02561gh5q10pj3lhzya13dvlliyv4q9p";
-  };
-  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk gnome_desktop libunique intltool GConf ];
-}
diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix
index e9928aa73cf..5932caf9e97 100644
--- a/pkgs/desktops/gnome-2/desktop/vte/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix
@@ -9,7 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "00zrip28issgmz2cqk5k824cbqpbixi5x7k88zxksdqpnq1f414d";
   };
 
-  patches = [ ./alt.patch ];
+  patches = [
+    ./alt.patch
+    # CVE-2012-2738
+    ./vte-0.28.2-limit-arguments.patch
+  ];
 
   buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++
                 stdenv.lib.optionals pythonSupport [python pygtk];
@@ -36,7 +40,7 @@ stdenv.mkDerivation rec {
       character set conversion, as well as emulating any terminal known to
       the system's terminfo database.
     '';
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch b/pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch
new file mode 100644
index 00000000000..fd454079390
--- /dev/null
+++ b/pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch
@@ -0,0 +1,40 @@
+From feeee4b5832b17641e505b7083e0d299fdae318e Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe@gnome.org>
+Date: Sat, 19 May 2012 17:36:09 +0000
+Subject: emulation: Limit integer arguments to 65535
+
+To guard against malicious sequences containing excessively big numbers,
+limit all parsed numbers to 16 bit range. Doing this here in the parsing
+routine is a catch-all guard; this doesn't preclude enforcing
+more stringent limits in the handlers themselves.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676090
+---
+diff --git a/src/table.c b/src/table.c
+index 140e8c8..85cf631 100644
+--- a/src/table.c
++++ b/src/table.c
+@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
+ 		if (G_UNLIKELY (*array == NULL)) {
+ 			*array = g_value_array_new(1);
+ 		}
+-		g_value_set_long(&value, total);
++		g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
+ 		g_value_array_append(*array, &value);
+ 	} while (i++ < arginfo->length);
+ 	g_value_unset(&value);
+diff --git a/src/vteseq.c b/src/vteseq.c
+index 457c06a..46def5b 100644
+--- a/src/vteseq.c
++++ b/src/vteseq.c
+@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
+                               GValueArray *params,
+                               VteTerminalSequenceHandler handler)
+ {
+-        vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
++        vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
+ }
+ 
+ static void
+--
+cgit v0.9.0.2
diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
index 94aaf30a49d..45f29496f62 100644
--- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
+++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl_gnome, pkgconfig, glib, libIDL, libintlOrEmpty }:
+{ stdenv, fetchurlGnome, pkgconfig, glib, libIDL, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
   
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "ORBit2";
     major = "2"; minor = "14"; patchlevel = "19";
     sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
diff --git a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
index 8f6075375d6..045f60e8b60 100644
--- a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl_gnome, pkgconfig, GConf, gtkmm, glibmm }:
+{ stdenv, fetchurlGnome, pkgconfig, GConf, gtkmm, glibmm }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "gconfmm";
     major = "2"; minor = "28"; patchlevel = "3"; extension = "bz2";
     sha256 = "a5e0092bb73371a3ca76b2ecae794778f3a9409056fee9b28ec1db072d8e6108";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "C++ wrappers for GConf";
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
index 548783abf79..dba47b6e541 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
@@ -1,11 +1,18 @@
-{ stdenv, fetchurl_gnome }:
+{ stdenv, fetchurl, fetchurlGnome, which }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "gnome-common";
     major = "2"; minor = "34"; patchlevel = "0";
     sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s";
   };
+
+  propagatedBuildInputs = [ which ]; # autogen.sh which is using gnome_common tends to require which
+
+  patches = [(fetchurl {
+    url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935";
+    sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl";
+  })];
 }
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index 55daa496afc..dd8b7822858 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl_gnome, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib
+{ stdenv, fetchurlGnome, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib
 , glib, fam, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "gnome-vfs";
     major = "2"; minor = "24"; patchlevel = "4";
     sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 55f0e0ae1a3..ee08975b9da 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
          OpenGL drawing for standard and custom GTK+ widgets.
       '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
index 93bb44c54e1..4ce51844a51 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl_gnome, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }:
+{ stdenv, fetchurlGnome, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "gtkglextmm";
     major = "1"; minor = "2"; patchlevel = "0"; extension = "bz2";
     sha256 = "6cd4bd2a240e5eb1e3a24c5a3ebbf7ed905b522b888439778043fdeb58771fea";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "C++ wrappers for GtkGLExt";
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-2/platform/libIDL/default.nix b/pkgs/desktops/gnome-2/platform/libIDL/default.nix
index 64f2b19c3e9..73b4fb9cc49 100644
--- a/pkgs/desktops/gnome-2/platform/libIDL/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libIDL/default.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl_gnome, flex, bison, pkgconfig, glib, gettext}:
+{stdenv, fetchurlGnome, flex, bison, pkgconfig, glib, gettext}:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "libIDL";
     major = "0"; minor = "8"; patchlevel = "14";
     sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5";
diff --git a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
index 2303fb15a6f..d9867f25a4c 100644
--- a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl_gnome, flex, bison, pkgconfig, glib, dbus_glib, libxml2, popt
+{ stdenv, fetchurlGnome, flex, bison, pkgconfig, glib, dbus_glib, libxml2, popt
 , intltool, ORBit2, procps }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
   
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "libbonobo";
     major = "2"; minor = "32"; patchlevel = "1";
     sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
diff --git a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
index 55a4ecec695..00a0c4763a1 100644
--- a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl_gnome, bison, pkgconfig, popt, libxml2, gtk, libtool
+{ stdenv, fetchurlGnome, bison, pkgconfig, popt, libxml2, gtk, libtool
 , intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
   
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "libbonoboui";
     major = "2"; minor = "24"; patchlevel = "5";
     sha256 = "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs";
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
index c190b9578e9..edcd868b2f3 100644
--- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl_gnome, pkgconfig, glib, popt, zlib, libcanberra
-, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool}:
+{ stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra
+, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool, libogg
+}:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "libgnome";
     major = "2"; minor = "32"; patchlevel = "1";
     sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
@@ -14,5 +15,5 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
-  propagatedBuildInputs = [ glib libbonobo ];
+  propagatedBuildInputs = [ glib libbonobo libogg ];
 }
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
index dd6ebbb9174..8a1b7706409 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl_gnome, pkgconfig, gtk, intltool, libart_lgpl, libglade }:
+{ stdenv, fetchurlGnome, pkgconfig, gtk, intltool, libart_lgpl, libglade }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
   
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "libgnomecanvas";
     major = "2"; minor = "30"; patchlevel = "3";
     sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
index da7673de419..a19b20e86b5 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, gtk, gettext, intltool, libgnomecanvas, libgnomeprint, gnomeicontheme}:
 
 stdenv.mkDerivation {
-  name = "libgnomeprintui-2.18.4";
+  name = "libgnomeprintui-2.18.6";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgnomeprintui/2.18/libgnomeprintui-2.18.4.tar.bz2;
-    sha256 = "19d2aa95c9cb85f1ddd13464500217a76e2abce59281ec5d210e139c14dd7490";
+    url = mirror://gnome/sources/libgnomeprintui/2.18/libgnomeprintui-2.18.6.tar.bz2;
+    sha256 = "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm";
   };
 
   buildInputs = [ pkgconfig gtk gettext intltool libgnomecanvas libgnomeprint gnomeicontheme];
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
index cc8db43ad13..125a4507275 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl_gnome, pkgconfig, libxml2, xlibs, glib, pango
+{ stdenv, fetchurlGnome, pkgconfig, libxml2, xlibs, glib, pango
 , intltool, libgnome, libgnomecanvas, libbonoboui, GConf, libtool
 , gnome_vfs, libgnome_keyring, libglade }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
   
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "libgnomeui";
     major = "2"; minor = "24"; patchlevel = "5";
     sha256 = "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf";
diff --git a/pkgs/desktops/gnome-2/platform/libunique/default.nix b/pkgs/desktops/gnome-2/platform/libunique/default.nix
deleted file mode 100644
index 6b9cee80042..00000000000
--- a/pkgs/desktops/gnome-2/platform/libunique/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl_gnome, pkgconfig, gtk}:
-
-stdenv.mkDerivation rec {
-  name = src.pkgname;
-
-  src = fetchurl_gnome {
-    project = "libunique";
-    major = "1"; minor = "1"; patchlevel = "6";
-    sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk ];
-}
diff --git a/pkgs/desktops/gnome-2/platform/startup-notification/default.nix b/pkgs/desktops/gnome-2/platform/startup-notification/default.nix
deleted file mode 100644
index b82b8a50992..00000000000
--- a/pkgs/desktops/gnome-2/platform/startup-notification/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, xlibs }:
-
-stdenv.mkDerivation {
-  name = "startup-notification-0.9";
-  src = fetchurl {
-    url = mirror://gnome/sources/startup-notification/0.9/startup-notification-0.9.tar.bz2;
-    sha256 = "03aqkgv8d29yx2vmv6bfdlxq3ahagrb7dbsvhd5d9acy6znimpk1";
-  };
-  buildInputs = [ pkgconfig xlibs.xlibs xlibs.xcbutil ];
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix
new file mode 100644
index 00000000000..ef460112d21
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, intltool, fetchurl, pkgconfig, glib
+, hicolor_icon_theme, makeWrapper, itstool
+, clutter_gtk, libuuid, webkitgtk, zeitgeist
+, gnome3, librsvg, gdk_pixbuf, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "bijiben-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/bijiben/3.10/${name}.tar.xz";
+    sha256 = "81257f85218968b0ad386da6e1143586de478870ca74bb5387646a479999a7d4";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig glib intltool itstool libxml2
+                  clutter_gtk libuuid webkitgtk gnome3.tracker
+                  gnome3.gnome_online_accounts zeitgeist
+                  gnome3.gsettings_desktop_schemas makeWrapper
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/bijiben" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Bijiben;
+    description = "Note editor designed to remain simple to use";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix
new file mode 100644
index 00000000000..ee62c951b4c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify
+, makeWrapper, itstool, shared_mime_info, libical, db
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, libcanberra_gtk3, bogofilter, gst_all_1, procps }:
+
+stdenv.mkDerivation rec {
+  name = "evolution-3.10.4";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evolution/3.10/${name}.tar.xz";
+    sha256 = "ac60557f264f211e6a7bc0ced919041c154e4c7b9c79600516aee7acc1d03e40";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
+                  gnome3.evolution_data_server libsecret libical
+                  webkitgtk shared_mime_info gnome3.gnome_desktop
+                  libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  nss nspr libnotify procps highlight gnome3.libgweather
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ];
+
+  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/evolution" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Evolution;
+    description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix
new file mode 100644
index 00000000000..e13e169ccc5
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
+, attr, bzip2, acl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "file-roller-${version}";
+
+  majVersion = "3.10";
+  version = "${majVersion}.2.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz";
+    sha256 = "14374z1yfbjlgpl4k1ih8b35x8kzvh99y22rwwkc2wfz0d0i1qgx";
+  };
+
+  # TODO: support nautilus
+  # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
+
+  buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
+                  attr bzip2 acl makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/file-roller" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
new file mode 100644
index 00000000000..6b9a69c738d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl, enchant, isocodes
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libsoup, libxml2
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "gedit-3.10.4";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gedit/3.10/${name}.tar.xz";
+    sha256 = "40dc10b6e26fd8523087e7321a20a063f4c1e586dffd7ce8ee78eead11359f9e";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup
+                  gnome3.libpeas gnome3.gtksourceview libxml2
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper file ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gedit" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Gedit;
+    description = "Official text editor of the GNOME desktop environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix
new file mode 100644
index 00000000000..5979d10fa70
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, intltool, fetchurl, python
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, libxml2, docbook_xsl
+, gnome3, librsvg, gdk_pixbuf, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "glade-3.16.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz";
+    sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python
+                  gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/glade" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Glade;
+    description = "User interface designer for GTK+ applications";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix
new file mode 100644
index 00000000000..c39f731e028
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, intltool, fetchurl, libgweather, libnotify
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, libcanberra_gtk3, libtool
+, gnome3, librsvg, gdk_pixbuf, geoclue2 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-clocks-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-clocks/3.10/${name}.tar.xz";
+    sha256 = "5f6f3b7bb9929353d974aa444b10bb4d0f414176449cce2c626fabd2d4b55b43";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas makeWrapper
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  gnome3.gnome_desktop gnome3.geocode_glib geoclue2
+                  libgweather libnotify libtool
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-clocks" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Clocks;
+    description = "Clock application designed for GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
new file mode 100644
index 00000000000..a8c84d6a769
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, intltool, fetchurl, evince, gjs
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, libxslt, webkitgtk
+, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
+, gobjectIntrospection, json_glib
+, gmp, desktop_file_utils }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-documents-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-documents/3.10/${name}.tar.xz";
+    sha256 = "2b7267c9c4e5767039632cb31877ed2e57f994b657e8863dd79af5287db45745";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt
+                  docbook_xsl desktop_file_utils
+                  gnome3.gsettings_desktop_schemas makeWrapper gmp
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg evince
+                  libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
+                  gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
+                  gnome3.gnome_desktop gnome3.libzapojit json_glib
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
+    wrapProgram "$out/bin/gnome-documents" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+      --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Documents;
+    description = "Document manager application designed to work with GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
new file mode 100644
index 00000000000..31d521e8c30
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
+, python3, libxml2, python3Packages, libnotify
+, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo
+, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-music-3.10.4";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-music/3.10/${name}.tar.xz";
+    sha256 = "64220d4c0f9115a6ed27ec99c7ec7afc065d12e5a32371936f303ef981f5325f";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
+                  gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
+                  python3Packages.pycairo python3Packages.dbus
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper tracker ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-music" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
+      --prefix PYTHONPATH : "$PYTHONPATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Music;
+    description = "Music player and management application for the GNOME desktop environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix
new file mode 100644
index 00000000000..68d4e3690f9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, intltool, fetchurl, exempi, libxml2
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, gegl, babl, lcms2
+, desktop_file_utils, gmp
+, gnome3, librsvg, gdk_pixbuf, libexif }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-photos-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-photos/3.10/${name}.tar.xz";
+    sha256 = "820503c26a0f829682dd46653e8f0850ac687aba42728ac74350ba8406e80975";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl
+                  gnome3.gsettings_desktop_schemas makeWrapper gmp
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi
+                  gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
+                  gnome3.gnome_online_accounts gnome3.gnome_desktop
+                  lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-photos" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Photos;
+    description = "Photos is an application to access, organize and share your photos with GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
new file mode 100644
index 00000000000..5a85e00e4e4
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
+, gobjectIntrospection, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "nautilus-sendto-${version}";
+
+  version = "3.8.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
+    sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
+  };
+
+  buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "Integrates Evolution and Pidgin into the Nautilus file manager";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix
new file mode 100644
index 00000000000..cecc4a8913d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, intltool, fetchurl
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, gnupg, libsoup
+, gnome3, librsvg, gdk_pixbuf, gpgme
+, libsecret, avahi, p11_kit }:
+
+stdenv.mkDerivation rec {
+  name = "seahorse-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/seahorse/3.10/${name}.tar.xz";
+    sha256 = "89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
+                  gnome3.gsettings_desktop_schemas makeWrapper gnupg
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme
+                  libsecret avahi libsoup p11_kit
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/seahorse" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Seahorse;
+    description = "Application for managing encryption keys and passwords in the GnomeKeyring";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix
new file mode 100644
index 00000000000..9381f45105d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, intltool, fetchurl, vala, libgtop
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libxml2
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "baobab-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/baobab/3.10/${name}.tar.xz";
+    sha256 = "23ce8e4847ce5f1c8230e757532d94c84e6e273d6ec8fca20eecaed5f96563f9";
+  };
+
+  configureFlags = [ "--disable-static" ];
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
+                  gnome3.gsettings_desktop_schemas makeWrapper file ];
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/icons/HighContrast/icon-theme.cache
+    wrapProgram "$out/bin/baobab" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Baobab;
+    description = "Graphical application to analyse disk usage in any Gnome environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix
new file mode 100644
index 00000000000..ba5dc7e7b90
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2
+, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core }:
+
+
+stdenv.mkDerivation rec {
+  name = "caribou-0.4.12";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/caribou/0.4/${name}.tar.xz";
+    sha256 = "0235sws58rg0kadxbp2nq5ha76zmhd4mr10n9qlbryf8p78qsvii";
+  };
+
+  buildInputs = with gnome3;
+    [ glib pkgconfig gtk clutter at_spi2_core dbus pythonPackages.python pythonPackages.pygobject3
+      libxml2 libXtst gtk2 intltool libxslt ];
+
+  propagatedBuildInputs = [ gnome3.libgee libxklavier ];
+
+  preBuild = ''
+    patchShebangs .
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
new file mode 100644
index 00000000000..b284186fa82
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
+, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "dconf-${version}";
+  version = "0.20.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz";
+    sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9";
+  };
+
+  buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
+                  intltool docbook_xsl docbook_xsl_ns makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/dconf-editor" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/lib/gio/modules/giomodule.cache
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/icons/HighContrast/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/dconf;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix
new file mode 100644
index 00000000000..051bc9b7fb2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
+, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
+, dbus_glib, dbus_libs, telepathy_glib, telepathy_farstream
+, clutter_gtk, clutter-gst, gst_all_1, cogl, gnome_online_accounts
+, gcr, libsecret, folks, pulseaudio, telepathy_mission_control
+, telepathy_logger, libnotify, clutter, libsoup, gnutls
+, evolution_data_server
+, libcanberra_gtk3, p11_kit, farstream, libtool, shared_mime_info
+, bash, makeWrapper, itstool, libxml2, libxslt, icu, libgee  }:
+
+# TODO: enable more features
+
+stdenv.mkDerivation rec {
+  name = "empathy-3.10.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/empathy/3.10/${name}.tar.xz";
+    sha256 = "49366acdd3c3ef9a74f63eb09920803c4c9df83056acbf8a7899e7890a9fb196";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
+                            gnome3.gnome_icon_theme hicolor_icon_theme
+                            gnome_online_accounts shared_mime_info
+                            gnome3.gnome_icon_theme_symbolic ];
+  propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
+                            telepathy_mission_control ];
+  buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
+                  libxml2 libxslt icu file makeWrapper
+                  telepathy_glib clutter_gtk clutter-gst cogl
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf
+                  libnotify clutter libsoup gnutls libgee p11_kit
+                  libcanberra_gtk3 telepathy_farstream farstream
+                  gnome3.gsettings_desktop_schemas file libtool librsvg ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
+                         "-I${dbus_libs}/include/dbus-1.0"
+                         "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  preFixup = ''
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram $f \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    done
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Empathy;
+    description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols";
+    maintainers = with maintainers; [ lethalman ];
+    # TODO: license = [ licenses.gpl2 licenses.lgpl2 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/eog/default.nix b/pkgs/desktops/gnome-3/3.10/core/eog/default.nix
new file mode 100644
index 00000000000..57f19dcaa32
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/eog/default.nix
@@ -0,0 +1,31 @@
+{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
+, shared_mime_info, makeWrapper, librsvg, libexif }:
+
+
+stdenv.mkDerivation rec {
+  name = "eog-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/eog/3.10/${name}.tar.xz";
+    sha256 = "0qs7wmn987vd0cw8w16gmb0bnda3nkcwfg1q343l4rm6kih9ik2w";
+  };
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
+      gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/eog" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/EyeOfGnome; 
+    platforms = platforms.linux;
+    description = "GNOME image viewer";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix
new file mode 100644
index 00000000000..9df3a7ed01e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
+, bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool
+, webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit
+, sqlite, gcr, avahi, nss, isocodes, itstool, file
+, hicolor_icon_theme, gdk_pixbuf, librsvg }:
+
+stdenv.mkDerivation rec {
+  name = "epiphany-3.10.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/epiphany/3.10/${name}.tar.xz";
+    sha256 = "c18235ecceaa9c76e7d90d370861cb2bba45019e1e14391a00dac3d2e94a0db7";
+  };
+
+  # Tests need an X display
+  configureFlags = [ "--disable-static --disable-tests" ];
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  nativeBuildInputs = [ pkgconfig file ];
+
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
+
+  buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt pkgconfig file 
+                  webkitgtk libsoup libsecret gnome_desktop libnotify libtool
+                  sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
+                  gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/epiphany" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Epiphany;
+    description = "WebKit based web browser for GNOME";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/evince/default.nix b/pkgs/desktops/gnome-3/3.10/core/evince/default.nix
new file mode 100644
index 00000000000..76cfacb0d77
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/evince/default.nix
@@ -0,0 +1,70 @@
+{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
+, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
+, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
+, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
+, gobjectIntrospection
+}:
+
+stdenv.mkDerivation rec {
+  name = "evince-3.10.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evince/3.10/${name}.tar.xz";
+    sha256 = "1bz9ypsvlfw1vgs7i5glba1h1n6c90f0d1g64linhg6xjcxcq3dk";
+  };
+
+  buildInputs = [
+    pkgconfig intltool perl perlXMLParser libxml2
+    glib gtk3 pango atk gdk_pixbuf gobjectIntrospection
+    itstool gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
+    poppler ghostscriptX djvulibre libspectre
+    makeWrapper libsecret librsvg
+  ];
+
+  configureFlags = [
+    "--disable-nautilus" # Do not use nautilus
+    "--enable-introspection"
+  ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  preConfigure = with stdenv.lib;
+    optionalString doCheck ''
+      for file in test/*.py; do
+        echo "patching $file"
+        sed '1s,/usr,${python},' -i "$file"
+      done
+    '' + optionalString (recentListSize != null) ''
+      sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
+      sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
+    '';
+
+  preFixup = ''
+    # Tell Glib/GIO about the MIME info directory, which is used
+    # by `g_file_info_get_content_type ()'.
+    wrapProgram "$out/bin/evince" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  doCheck = false; # would need pythonPackages.dogTail, which is missing
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gnome.org/projects/evince/;
+    description = "GNOME's document viewer";
+
+    longDescription = ''
+      Evince is a document viewer for multiple document formats.  It
+      currently supports PDF, PostScript, DjVu, TIFF and DVI.  The goal
+      of Evince is to replace the multiple document viewers that exist
+      on the GNOME Desktop with a single simple application.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix
new file mode 100644
index 00000000000..685f8c24e7c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, python, intltool, libsoup, libxml2, libsecret
+, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
+
+
+stdenv.mkDerivation rec {
+  name = "evolution-data-server-3.10.4";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evolution-data-server/3.10/${name}.tar.xz";
+    sha256 = "5c2d5e19af19ecfa81f31306411ab6155c3c62cf407d5a5aaa675a8ce940fa2d";
+  };
+
+  buildInputs = with gnome3;
+    [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret
+      gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper ]
+    ++ stdenv.lib.optional valaSupport vala;
+
+  # uoa irrelevant for now
+  configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"]
+                   ++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
+
+  preFixup = ''
+    for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do
+      wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/folks/default.nix b/pkgs/desktops/gnome-3/3.10/core/folks/default.nix
new file mode 100644
index 00000000000..47b958002a3
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/folks/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
+, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
+, telepathy_glib, evolution_data_server, libsecret, db }:
+
+# TODO: enable more folks backends
+
+stdenv.mkDerivation rec {
+  name = "folks-0.9.6";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
+    sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
+  };
+
+  propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
+  # dbus_daemon needed for tests
+  buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
+                  vala libsecret libxml2 libsoup nspr nss intltool db ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags = "--disable-fatal-warnings";
+
+  NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss"
+                        "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"];
+
+  enableParallelBuilding = true;
+
+  postBuild = "rm -rf $out/share/gtk-doc";
+
+  meta = {
+    description = "Folks";
+
+    homepage = https://wiki.gnome.org/Projects/Folks;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    maintainers = with stdenv.lib.maintainers; [ lethalman ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix
new file mode 100644
index 00000000000..47dae0486e9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3, glib, libxml2
+, intltool, polkit, orbit }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.2";
+  versionMinor = "6";
+  moduleName   = "GConf";
+
+  origName = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  name = "gconf-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
+    sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
+  };
+
+  buildInputs = [ libxml2 polkit gnome3.gtk orbit ];
+  propagatedBuildInputs = [ glib dbus_glib  ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  # ToDo: ldap reported as not found but afterwards reported as supported
+
+  meta = with stdenv.lib; {
+    homepage = http://projects.gnome.org/gconf/;
+    description = "A system for storing application preferences";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix
new file mode 100644
index 00000000000..a1fdd471282
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
+, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
+, gobjectIntrospection, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gcr-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gcr/3.10/${name}.tar.xz";
+    sha256 = "0nv470a8cvw4rw49hf5aqvll1rpkacmsr3pj8s1l205yaid4yvq0";
+  };
+
+  buildInputs = [
+    pkgconfig intltool gnupg p11_kit glib gobjectIntrospection
+    libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper
+  ];
+
+  #doCheck = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gcr-viewer" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
new file mode 100644
index 00000000000..5e53a7e86cb
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
+, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "gdm-3.10.0.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gdm/3.10/${name}.tar.xz";
+    sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
+  };
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice
+                  gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix
new file mode 100644
index 00000000000..d3b21bef167
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix
@@ -0,0 +1,20 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, libsoup, json_glib }:
+
+
+stdenv.mkDerivation rec {
+  name = "geocode-glib-3.10.0";
+
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/geocode-glib/3.10/${name}.tar.xz";
+    sha256 = "0dx6v9n4dsskcy6630s77cyb32xlykdall0d555976warycc3v8a";
+  };
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig glib libsoup json_glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix
new file mode 100644
index 00000000000..429d147e728
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_17, pango }:
+
+
+stdenv.mkDerivation rec {
+  name = "gjs-1.38.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gjs/1.38/${name}.tar.xz";
+    sha256 = "0xl1zc5ncaxqs5ww5j82rzqrg429l8pdapqclxiba7dxwyh6a83b";
+  };
+
+  buildInputs = with gnome3;
+    [ gobjectIntrospection pkgconfig glib pango ];
+
+  propagatedBuildInputs = [ spidermonkey_17 ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix
new file mode 100644
index 00000000000..3879b81859a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-backgrounds-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-backgrounds/3.10/${name}.tar.xz";
+    sha256 = "11rv03m4hznpx0brf47hil04199z3jjvl1aq7q0lnill3yrffiyc";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix
new file mode 100644
index 00000000000..205961a9171
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, intltool, fetchurl, pkgconfig, libxml2
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-calculator-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-calculator/3.10/${name}.tar.xz";
+    sha256 = "0gkddnk9x76895xrz0ps4yny36w62fhi459gwmxqqb9kx5934n1f";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
+                  libxml2 gnome3.gtksourceview
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-calculator" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/Calculator;
+    description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix
new file mode 100644
index 00000000000..12b2510dc43
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, which, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-common-3.10.0";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gnome-common/3.10/${name}.tar.xz";
+    sha256 = "aed69474a671e046523827f73ba5e936d57235b661db97900db7356e1e03b0a3";
+  };
+
+  patches = [(fetchurl {
+    url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935";
+    sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl";
+  })];
+
+  propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome_common tends to require which
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch
new file mode 100644
index 00000000000..926762defbd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch
@@ -0,0 +1,10 @@
+--- configure.ac.orig	2014-04-08 10:25:49.497620879 +0200
++++ configure.ac	2014-04-08 10:26:36.639440950 +0200
+@@ -43,6 +43,7 @@
+ 	     folks-telepathy
+ 	     folks-eds
+ 	     libnotify
++	     dbus-glib-1
+ 	     telepathy-glib >= 0.17.5
+ 	     libebook-1.2 >= 3.5.3
+ 	     libedataserver-1.2 >= 3.5.3
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix
new file mode 100644
index 00000000000..f8059f952e6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, intltool, fetchurl, evolution_data_server, db
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret
+, bash, makeWrapper, itstool, folks, libnotify, libxml2
+, gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
+, libsoup, vala, dbus_glib, automake114x, autoconf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-contacts-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-contacts/3.10/${name}.tar.xz";
+    sha256 = "e119c32bb10136e7190f11f79334fa82ed56468cff5bb7836da0ebf7b572779b";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  # force build from vala
+  preBuild = ''
+   touch src/*.vala
+  '';
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool evolution_data_server
+                  gnome3.gsettings_desktop_schemas makeWrapper file libnotify
+                  folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib
+                  libxml2 libsoup gnome3.gnome_online_accounts nspr nss
+                  vala automake114x autoconf db ];
+
+  preFixup = ''
+    for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do
+      wrapProgram $f \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  patches = [ ./configure_dbus_glib.patch ./fix_row_selected.patch ];
+
+  patchFlags = "-p0";
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Contacts;
+    description = "Contacts is GNOME's integrated address book";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch
new file mode 100644
index 00000000000..b379b4b8ee9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch
@@ -0,0 +1,11 @@
+--- src/contacts-view.vala.orig	2014-04-08 11:35:36.302252460 +0200
++++ src/contacts-view.vala	2014-04-08 11:37:37.045343221 +0200
+@@ -265,7 +265,7 @@
+     data.destroy ();
+   }
+ 
+-  public override void row_selected (ListBoxRow row) {
++  public override void row_selected (ListBoxRow? row) {
+     var data = row as ContactDataRow;
+     var contact = data != null ? data.contact : null;
+     selection_changed (contact);
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
new file mode 100644
index 00000000000..4e472514348
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
@@ -0,0 +1,62 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
+, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
+, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
+, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
+, cracklib, python, krb5, networkmanagerapplet, networkmanager
+, libwacom, samba, shared_mime_info, tzdata, icu, libtool
+, docbook_xsl, docbook_xsl_ns, modemmanager }:
+
+# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
+# TODO: bluetooth, wacom, smbclient, printers
+
+stdenv.mkDerivation rec {
+  name = "gnome-control-center-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-control-center/3.10/${name}.tar.xz";
+    sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = with gnome3;
+    [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
+      libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
+      gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
+      accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
+      shared_mime_info icu libtool docbook_xsl docbook_xsl_ns 
+      networkmanager modemmanager makeWrapper  ];
+
+  preBuild = ''
+    substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
+    substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
+
+    # hack to make test-endianess happy
+    mkdir -p $out/share/locale
+    substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/"
+  '';
+
+  preFixup = with gnome3; ''
+    wrapProgram $out/bin/gnome-control-center \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    for i in $out/share/applications/*; do
+      substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
+    done
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  patches = [ ./search_providers_dir.patch ];
+
+  meta = with stdenv.lib; {
+    description = "Single sign-on framework for GNOME";
+    maintainers = with maintainers; [ lethalman ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch
new file mode 100644
index 00000000000..7f5ad970f34
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch
@@ -0,0 +1,17 @@
+diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c
+index d08e230..3bff4ad 100644
+--- a/panels/search/cc-search-panel.c
++++ b/panels/search/cc-search-panel.c
+@@ -574,7 +574,11 @@ populate_search_providers (CcSearchPanel *self)
+ {
+   GFile *providers_location;
+ 
+-  providers_location = g_file_new_for_path (DATADIR "/gnome-shell/search-providers");
++  const gchar* search_providers_dir = g_getenv ("GNOME_SEARCH_PROVIDERS_DIR");
++  if (search_providers_dir == NULL) {
++    search_providers_dir = DATADIR "/gnome-shell/search-providers";
++  }
++  providers_location = g_file_new_for_path (search_providers_dir);
+   g_file_enumerate_children_async (providers_location,
+                                    "standard::type,standard::name,standard::content-type",
+                                    G_FILE_QUERY_INFO_NONE,
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix
new file mode 100644
index 00000000000..584705d658e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
+, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
+, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+
+  majorVersion = "3.10";
+  minorVersion = "1";
+  name = "gnome-desktop-${majorVersion}.${minorVersion}";
+
+  # this should probably be setuphook for glib
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
+    sha256 = "0hdvm909lbpnixqv11qdx9iaycx4dpxys46fa128bqp8alisgb0h";
+  };
+
+  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
+                  gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix
new file mode 100644
index 00000000000..6f68916b781
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libxml2
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-dictionary-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz";
+    sha256 = "258b60fe50f7d0580a7dc3bb83f7fe2f6f0597d4013d97ac083c3f062c350ed7";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 file
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-dictionary" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Dictionary;
+    description = "Dictionary is the GNOME application to look up definitions";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix
new file mode 100644
index 00000000000..334471c2943
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper, cracklib, libnotify
+, itstool, gnome3, librsvg, gdk_pixbuf, libxml2, python
+, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-disk-utility-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-disk-utility/3.10/${name}.tar.xz";
+    sha256 = "1amqi2bribxn8r8k8mvxh3710rmdll9963smf0v59v0iwxi3mqil";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme
+                            librsvg udisks2 gnome3.gnome_settings_daemon
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
+                  libxslt libtool libsecret libpwquality cracklib
+                  libnotify libdvdread libcanberra_gtk3 docbook_xsl
+                  gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-disks" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://en.wikipedia.org/wiki/GNOME_Disks;
+    description = "A udisks graphical front-end";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix
new file mode 100644
index 00000000000..cba651ca36a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, intltool, fetchurl
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool
+, gnome3, librsvg, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-font-viewer-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-font-viewer/3.10/${name}.tar.xz";
+    sha256 = "3928350f58ac6c95f44b64cba1a5f03437b19d9b2645a7b01176067504fdd652";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-font-viewer" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Program that can preview fonts and create thumbnails for fonts";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix
new file mode 100644
index 00000000000..feb3d84b994
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, iconnamingutils, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-icon-theme-symbolic-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-icon-theme-symbolic/3.10/${name}.tar.xz";
+    sha256 = "344e88e5f9dac3184bf012d9bac972110df2133b93d76f2ad128d4c9cbf41412";
+  };
+
+  configureFlags = "--enable-icon-mapping";
+
+  # Avoid postinstall make hooks
+  installPhase = ''
+    make install-exec-am install-data-local install-pkgconfigDATA
+    make -C src install
+  '';
+
+  buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix
new file mode 100644
index 00000000000..5b16f827ae0
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-icon-theme-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-icon-theme/3.10/${name}.tar.xz";
+    sha256 = "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66";
+  };
+
+  setupHook = ./setup-hook.sh;
+
+  nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh
new file mode 100644
index 00000000000..d7156f3d463
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh
@@ -0,0 +1,10 @@
+make_gtk_applications_find_icon_themes() {
+
+    # where to find icon themes
+    if [ -d "$1/share/icons" ]; then
+      addToSearchPath XDG_ICON_DIRS $1/share
+    fi
+	
+}
+
+envHooks+=(make_gtk_applications_find_icon_themes)
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix
new file mode 100644
index 00000000000..dbb8da93c6c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
+, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper
+, docbook_xsl_ns, docbook_xsl, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-keyring-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-keyring/3.10/${name}.tar.xz";
+    sha256 = "1y6v2p14jx5h6yh14c53pd8r0r5zbmcgw8v4nxvf94kd9jliy00q";
+  };
+
+  buildInputs = with gnome3; [
+    dbus libgcrypt pam python gtk3 gconf libgnome_keyring
+    pango gcr gdk_pixbuf atk p11_kit makeWrapper
+  ];
+
+  propagatedBuildInputs = [ glib libtasn1 libxslt ];
+
+  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
+
+  configureFlags = [
+    "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
+    "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
+    "--with-pkcs11-modules=$$out/lib/pkcs11/"
+  ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-keyring" \
+      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    wrapProgram "$out/bin/gnome-keyring-daemon" \
+      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix
new file mode 100644
index 00000000000..37d2ea1c086
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-menus-${version}";
+  version = "3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-menus/3.10/${name}.tar.xz";
+    sha256 = "0wcacs1vk3pld8wvrwq7fdrm11i56nrajkrp6j1da6jc4yx0m5a6";
+  };
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  preBuild = "patchShebangs ./scripts";
+
+  buildInputs = [ intltool pkgconfig glib gobjectIntrospection ];
+
+  meta = {
+    homepage = "http://www.gnome.org";
+    description = "Gnome menu specification";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix
new file mode 100644
index 00000000000..8c459435733
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib
+, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnome-online-accounts-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-online-accounts/3.10/${name}.tar.xz";
+    sha256 = "15qvw40dmi886491s3abpidsm2lx65fhglhj99bvcdskhk0ih90b";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix
new file mode 100644
index 00000000000..4c904bf40f6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
+, libsoup, json_glib, gmp, openssl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-online-miners-3.10.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-online-miners/3.10/${name}.tar.xz";
+    sha256 = "129807d398e7744870110e6875629b6858d289021271550569ce5afa10fe9ea8";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl
+                  gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins
+                  gnome3.gnome_online_accounts makeWrapper
+                  gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    for f in $out/libexec/*; do
+      wrapProgram "$f" \
+        --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners;
+    description = "A set of crawlers that go through your online content and index them locally in Tracker";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix
new file mode 100644
index 00000000000..7b94d0f9027
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-screenshot-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-screenshot/3.10/${name}.tar.xz";
+    sha256 = "1nb56kzcj5z4hmrmxap5r53smi52ki3pc8qmhi4rymkgqswyk7bh";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-screenshot" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://en.wikipedia.org/wiki/GNOME_Screenshot;
+    description = "Utility used in the GNOME desktop environment for taking screenshots";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix
new file mode 100644
index 00000000000..f999702af54
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower
+, libxslt, intltool, makeWrapper, systemd }:
+
+
+stdenv.mkDerivation rec {
+  name = "gnome-session-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-session/3.10/${name}.tar.xz";
+    sha256 = "1k59yss7r748nvr0cdjrqmx0zy26b93rfn66lsdg9fz60x77087n";
+  };
+
+  configureFlags = "--enable-systemd";
+
+  buildInputs = with gnome3;
+    [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt 
+      gnome3.gnome_settings_daemon
+      gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-session" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix
new file mode 100644
index 00000000000..7a50b8db56f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
+, libxkbfile, pulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
+, geoclue2, librsvg, xf86_input_wacom, udev, libwacom, libxslt, libtool
+, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-settings-daemon-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-settings-daemon/3.10/${name}.tar.xz";
+    sha256 = "0r42lzlgk0w40ws4d3s7yayn6n8zqlnh5b6k88gvgv1lwk39k240";
+  };
+
+  # fatal error: gio/gunixfdlist.h: No such file or directory
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas libnotify gnome_desktop
+      lcms2 libXtst libxkbfile pulseaudio libcanberra_gtk3 upower colord libgweather
+      polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt
+      libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
+
+  preFixup = ''
+    wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix PATH : "${glib}/bin" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix
new file mode 100644
index 00000000000..00974edb1db
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, intltool, fetchurl, libgtop
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool
+, gnome3, file }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extensions-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-shell-extensions/3.10/${name}.tar.xz";
+    sha256 = "9baa9ddaf4e14cab6d4d7944d8dc009378b25f995acfd0fd72843f599cb5ae43";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
+                  makeWrapper file ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
+    description = "Modify and extend GNOME Shell functionality and behavior";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
new file mode 100644
index 00000000000..2b5ff4cc5a2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
@@ -0,0 +1,48 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
+, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
+, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
+, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
+
+# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-3.10.2.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-shell/3.10/${name}.tar.xz";
+    sha256 = "0k642y6h878v6mczx4z1zj4pjl7z4bvq02raxxwxkjyvyz2fv36j";
+  };
+
+  buildInputs = with gnome3;
+    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
+      libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
+      clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
+      libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
+      libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
+      at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
+
+  preBuild = ''
+    patchShebangs src/data-to-c.pl
+    substituteInPlace data/Makefile --replace " install-keysDATA" ""
+  '';
+
+  preFixup = with gnome3; ''
+    wrapProgram "$out/bin/gnome-shell" \
+      --prefix PATH : "${unzip}/bin" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    wrapProgram "$out/libexec/gnome-shell-calendar-server" \
+      --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  patches = [ ./fix_background_corruption.patch ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
new file mode 100644
index 00000000000..9cb041bcce2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
@@ -0,0 +1,147 @@
+commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d
+Author: Jasper St. Pierre <jstpierre@mecheye.net>
+Date:   Thu Nov 7 17:14:47 2013 -0500
+
+    layout: Fix several issues with the background management code
+    
+    If monitor-changed fires at startup, it will destroy all of the
+    backgrounds, but since this._isStartup is true, won't recreate any
+    of them. Additionally, since _bgManagers is indexed by monitor index,
+    if the primary index is not 0, it could become a sparse array (e.g.
+    [undefined, undefined, primaryBackground]), and our for loop will
+    crash trying to access properties of undefined.
+    
+    Fix both of these issues by always creating background managers for
+    every monitor, hiding them on startup but only showing them after
+    the startup animation is complete.
+    
+    One thing we need to watch out for is that while LayoutManager is
+    constructing, Main.uiGroup / Main.layoutManager will be undefined,
+    so addBackgroundMenu will fail. Fix this by passing down the uiGroup
+    to the background menu code.
+    
+    https://bugzilla.gnome.org/show_bug.cgi?id=709313
+
+diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
+index 06e698c..dcbbb39 100644
+--- a/js/ui/backgroundMenu.js
++++ b/js/ui/backgroundMenu.js
+@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({
+     Name: 'BackgroundMenu',
+     Extends: PopupMenu.PopupMenu,
+ 
+-    _init: function(source) {
++    _init: function(source, layoutManager) {
+         this.parent(source, 0, St.Side.TOP);
+ 
+         this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop');
+@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({
+ 
+         this.actor.add_style_class_name('background-menu');
+ 
+-        Main.uiGroup.add_actor(this.actor);
++        layoutManager.uiGroup.add_actor(this.actor);
+         this.actor.hide();
+     }
+ });
+ 
+-function addBackgroundMenu(actor) {
++function addBackgroundMenu(actor, layoutManager) {
+     let cursor = new St.Bin({ opacity: 0 });
+-    Main.uiGroup.add_actor(cursor);
++    layoutManager.uiGroup.add_actor(cursor);
+ 
+     actor.reactive = true;
+-    actor._backgroundMenu = new BackgroundMenu(cursor);
++    actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager);
+     actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor });
+     actor._backgroundManager.addMenu(actor._backgroundMenu);
+ 
+diff --git a/js/ui/layout.js b/js/ui/layout.js
+index 17073a6..80bae9d 100644
+--- a/js/ui/layout.js
++++ b/js/ui/layout.js
+@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({
+         this.emit('hot-corners-changed');
+     },
+ 
+-    _createBackground: function(monitorIndex) {
++    _addBackgroundMenu: function(bgManager) {
++        BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this);
++    },
++
++    _createBackgroundManager: function(monitorIndex) {
+         let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup,
+                                                            layoutManager: this,
+                                                            monitorIndex: monitorIndex });
+-        BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
+-
+-        bgManager.connect('changed', Lang.bind(this, function() {
+-                              BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
+-                          }));
+ 
+-        this._bgManagers[monitorIndex] = bgManager;
++        bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu));
++        this._addBackgroundMenu(bgManager);
+ 
+-        return bgManager.background;
++        return bgManager;
+     },
+ 
+-    _createSecondaryBackgrounds: function() {
++    _showSecondaryBackgrounds: function() {
+         for (let i = 0; i < this.monitors.length; i++) {
+             if (i != this.primaryIndex) {
+-                let background = this._createBackground(i);
+-
++                let background = this._bgManagers[i].background;
++                background.actor.show();
+                 background.actor.opacity = 0;
+                 Tweener.addTween(background.actor,
+                                  { opacity: 255,
+@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({
+         }
+     },
+ 
+-    _createPrimaryBackground: function() {
+-        this._createBackground(this.primaryIndex);
+-    },
+-
+     _updateBackgrounds: function() {
+         let i;
+         for (i = 0; i < this._bgManagers.length; i++)
+@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({
+         if (Main.sessionMode.isGreeter)
+             return;
+ 
+-        if (this._startingUp)
+-            return;
+-
+         for (let i = 0; i < this.monitors.length; i++) {
+-            this._createBackground(i);
++            let bgManager = this._createBackgroundManager(i);
++            this._bgManagers.push(bgManager);
++
++            if (i != this.primaryIndex && this._startingUp)
++                bgManager.background.actor.hide();
+         }
+     },
+ 
+@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({
+         if (Main.sessionMode.isGreeter) {
+             this.panelBox.translation_y = -this.panelBox.height;
+         } else {
+-            this._createPrimaryBackground();
++            this._updateBackgrounds();
+ 
+             // We need to force an update of the regions now before we scale
+             // the UI group to get the coorect allocation for the struts.
+@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({
+         this.keyboardBox.show();
+ 
+         if (!Main.sessionMode.isGreeter) {
+-            this._createSecondaryBackgrounds();
++            this._showSecondaryBackgrounds();
+             global.window_group.remove_clip();
+         }
+ 
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix
new file mode 100644
index 00000000000..cdc4b732b97
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl, pkgconfig
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-system-log-3.9.90";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz";
+    sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
+                  gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-system-log" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-system-log/3.9/;
+    description = "Graphical, menu-driven viewer that you can use to view and monitor your system logs";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix
new file mode 100644
index 00000000000..91fbe67957f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf, libgtop }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-system-monitor-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-system-monitor/3.10/${name}.tar.xz";
+    sha256 = "bd009e15672afe4ad3ebd7ed286cce79b9f76420fd39bc77a5826b29134b9db0";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2
+                  gtkmm3 libgtop makeWrapper
+                  gnome3.gsettings_desktop_schemas ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-system-monitor" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-system-monitor/3.10/;
+    description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
new file mode 100644
index 00000000000..1b17cbc3d78
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
+, gnome_doc_utils, intltool, libX11, which, gconf, libuuid
+, desktop_file_utils, itstool, makeWrapper }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.10";
+  versionMinor = "2";
+
+  name = "gnome-terminal-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
+    sha256 = "04yrk9531f373nl64jx3pczsnq7a56mj3n436jbhjp74kp12fa70";
+  };
+
+  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte
+                  gnome3.dconf gnome3.gconf itstool makeWrapper ];
+
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
+
+  preFixup = ''
+    for f in "$out/libexec/gnome-terminal-migration" "$out/libexec/gnome-terminal-server"; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix
new file mode 100644
index 00000000000..08d82b7ae91
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-themes-standard-3.10.0";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-themes-standard/3.10/${name}.tar.xz";
+    sha256 = "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41";
+  };
+  
+  buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix
new file mode 100644
index 00000000000..d66863a2218
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-user-docs-3.10.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-user-docs/3.10/${name}.tar.xz";
+    sha256 = "960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905";
+  };
+
+  buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-help/3.10;
+    description = "User and system administration help for the Gnome desktop";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.cc-by-30;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix
new file mode 100644
index 00000000000..976b0eaca45
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused
+, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd
+, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-user-share-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz";
+    sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  preConfigure = ''
+    sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf 
+  '';
+
+  configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd"
+                     "--with-modules-path=${apacheHttpd_2_2}/modules"
+                     "--disable-bluetooth"
+                     "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
+                  makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  nautilus libnotify libcanberra_gtk3 ];
+
+  postInstall = ''
+    mkdir -p $out/share/gsettings-schemas/$name
+    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name
+    ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
+  '';
+
+  preFixup = ''
+    wrapProgram "$out/libexec/gnome-user-share" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-user-share/3.8;
+    description = "Service that exports the contents of the Public folder in your home directory on the local network";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix
new file mode 100644
index 00000000000..a8a1c244767
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite
+, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av
+, gmime, json_glib, avahi, tracker, itstool }:
+
+stdenv.mkDerivation rec {
+  name = "grilo-plugins-0.2.12";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
+    sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
+  };
+
+  installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
+
+  buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata
+                  lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts
+                  gnome3.totem-pl-parser gnome3.rest gmime json_glib
+                  avahi gnome3.libmediaart tracker intltool itstool ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
+    description = "A collection of plugins for the Grilo framework";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix
new file mode 100644
index 00000000000..6f1bfbbcfe9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib
+, libxml2, gnome3, gobjectIntrospection, libsoup }:
+
+stdenv.mkDerivation rec {
+  name = "grilo-0.2.10";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
+    sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
+  };
+
+  configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
+
+  preConfigure = ''
+    for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do
+       substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/"
+       substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0"
+    done
+  '';
+
+  buildInputs = [ pkgconfig file intltool glib libxml2 libsoup
+                  gnome3.totem-pl-parser gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
+    description = "Framework that provides access to various sources of multimedia content, using a pluggable system";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix
new file mode 100644
index 00000000000..13f357db29a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
+  # just for passthru
+, gtk3, gsettings_desktop_schemas }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.10";
+  versionMinor = "1";
+  moduleName   = "gsettings-desktop-schemas";
+
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "04b8wy10l6pzs5928gnzaia73dz5fjlcdy39xi3mf50ajv27h8s5";
+  };
+
+  buildInputs = [ glib gobjectIntrospection ];
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  passthru = {
+    doCompileSchemas = ''
+      for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
+        cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
+      done
+      ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
+    '';
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix
new file mode 100644
index 00000000000..900bb2c922b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
+, libxml2Python, perl, intltool, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "gtksourceview-${version}";
+  version = "3.10.1";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gtksourceview/3.10/gtksourceview-${version}.tar.xz";
+    sha256 = "008bzfr1s6ywpj8c8qx7495lz9g0ziccwbxg88s0l4dl6bw49piq";
+  };
+
+  buildInputs = [ pkgconfig atk cairo glib gtk3 pango
+                  libxml2Python perl intltool gettext ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix
new file mode 100644
index 00000000000..a6bf72b2fc7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, intltool, fetchurl, pkgconfig, gtk3
+, glib, desktop_file_utils, bash
+, makeWrapper, gnome3, file, itstool, libxml2 }:
+
+# TODO: icons and theme still does not work
+# use packaged gnome3.gnome_icon_theme_symbolic 
+
+stdenv.mkDerivation rec {
+  name = "gucharmap-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gucharmap/3.10/${name}.tar.xz";
+    sha256 = "04e8606c65adb14d267b50b1cf9eb4fee92bd9c5ab512a346bd4c9c686403f78";
+  };
+
+  configureFlags = [ "--disable-static" ];
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
+
+  buildInputs = [ pkgconfig gtk3 intltool itstool glib
+                  gnome3.yelp_tools libxml2 file desktop_file_utils
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gucharmap" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Gucharmap;
+    description = "GNOME Character Map, based on the Unicode Character Database";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
new file mode 100644
index 00000000000..1875c1491f9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libcroco-0.6.8";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
+    sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
+  };
+
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+
+  buildInputs = [ pkgconfig libxml2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix
new file mode 100644
index 00000000000..9a1a45e0d1a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib
+, gobjectIntrospection, liboauth, gnome3, p11_kit, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "libgdata-0.14.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgdata/0.14/${name}.tar.xz";
+    sha256 = "1scjs944kjazbsh86kdj6w2vprib6yd3wzxzabcs59acmr0m4hax";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
+
+  buildInputs = with gnome3;
+    [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection
+      liboauth gcr gnome_online_accounts p11_kit openssl ];
+      
+  meta = with stdenv.lib; {
+    description = "GData API library";
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix
new file mode 100644
index 00000000000..c7ed541082d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }:
+let
+  ver_maj = "0.12";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "libgee-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz";
+    sha256 = "19bf94ia1h5z8h0hdhwcd2b2p6ngffirg0dai7pdb98dzriys1ni";
+  };
+
+  doCheck = true;
+
+  patches = [ ./fix_introspection_paths.patch ];
+
+  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch
new file mode 100644
index 00000000000..67003f45164
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch
@@ -0,0 +1,13 @@
+--- fix_introspection_paths.patch/configure	2014-01-07 17:43:53.521339338 +0000
++++ fix_introspection_paths.patch/configure-fix	2014-01-07 17:45:11.068635069 +0000
+@@ -12085,8 +12085,8 @@
+        INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
++       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix
new file mode 100644
index 00000000000..28c7b80c0d4
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "libgnome-keyring-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnome-keyring/3.10/${name}.tar.xz";
+    sha256 = "0wip88r91kwx4zp6sc9b38mnlv11grgl4k2kzsd3a8x83c9g2b05";
+  };
+
+  propagatedBuildInputs = [ glib gobjectIntrospection dbus_libs libgcrypt ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = {
+    description = "Framework for managing passwords and other secrets";
+    homepage = http://live.gnome.org/GnomeKeyring;
+    # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
+    inherit (glib.meta) platforms maintainers;
+
+    longDescription = ''
+      gnome-keyring is a program that keeps password and other secrets for
+      users. The library libgnome-keyring is used by applications to integrate
+      with the gnome-keyring system.
+    '';
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix
new file mode 100644
index 00000000000..1156474e5a7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "libgnomekbd-3.6.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnomekbd/3.6/${name}.tar.xz";
+    sha256 = "c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09";
+  };
+
+  buildInputs = [ pkgconfig file intltool glib gtk3 libxklavier makeWrapper ];
+
+  preFixup = ''
+    wrapProgram $out/bin/gkbd-keyboard-display \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Keyboard management library";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix
new file mode 100644
index 00000000000..c480a59e453
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
+, pango, gdk_pixbuf, atk, tzdata }:
+
+stdenv.mkDerivation rec {
+  name = "libgweather-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgweather/3.10/${name}.tar.xz";
+    sha256 = "1iyg0l90m14iw0ksjbmrrhb5fqn0y7x5f726y56gxd4qcxgpi3mf";
+  };
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ];
+  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix
new file mode 100644
index 00000000000..72d307f4f1a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
+, openssl, bzip2, acl, attr
+}:
+
+stdenv.mkDerivation rec {
+  name = "libgxps-0.2.2";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
+  };
+
+  buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
+
+  configureFlags = "--without-liblcms2";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix
new file mode 100644
index 00000000000..9cf8426104b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, intltool
+, glib, gtk3, gobjectIntrospection, python, pygobject3
+}:
+
+stdenv.mkDerivation rec {
+  name = "libpeas-${version}";
+  version = "1.9.0";
+
+  buildInputs =  [
+   intltool pkgconfig
+   glib gtk3 gobjectIntrospection python pygobject3
+  ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz";
+    sha256 = "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0";
+  };
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = {
+    description = "A GObject-based plugins engine";
+    homepage = "http://ftp.acc.umu.se/pub/GNOME/sources/libpeas/";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix
new file mode 100644
index 00000000000..e0e4c02c084
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }:
+
+stdenv.mkDerivation rec {
+  name = "libzapojit-0.0.3";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
+  };
+
+  buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix
new file mode 100644
index 00000000000..0acfa9f36ae
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
+, pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3
+, libtool, makeWrapper }:
+
+
+stdenv.mkDerivation rec {
+  name = "mutter-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/mutter/3.10/${name}.tar.xz";
+    sha256 = "000iclb96mgc4rp2q0cy72nfwyfzl6avijl9nmk87f5sgyy670a3";
+  };
+
+  # fatal error: gio/gunixfdlist.h: No such file or directory
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra"; 
+
+  buildInputs = with gnome3;
+    [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower
+      gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra
+      libcanberra_gtk3 zenity libtool makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/mutter" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix
new file mode 100644
index 00000000000..2041a71a82c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
+, gtk, gnome3, libunique, intltool, gobjectIntrospection
+, libnotify, makeWrapper, exempi, librsvg }:
+
+stdenv.mkDerivation rec {
+  name = "nautilus-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/nautilus/3.10/${name}.tar.xz";
+    sha256 = "09y7dxaw4bjgan3q10azky0h6kndqv2lfn75iip12zchf2hk59gn";
+  };
+
+  configureFlags = [ "--enable-tracker=no" ];
+
+  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg
+                  gnome3.gnome_desktop gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.gsettings_desktop_schemas libnotify makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/nautilus" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/rest/default.nix b/pkgs/desktops/gnome-3/3.10/core/rest/default.nix
new file mode 100644
index 00000000000..f543f8e13b8
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/rest/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "rest-0.7.90";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "08n0cvz44l4b1gkmjryap3ysd0wcbbbdjbcar73nr52dmk52ls0x";
+  };
+
+  buildInputs = [ pkgconfig glib libsoup gobjectIntrospection];
+
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix b/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix
new file mode 100644
index 00000000000..089b5cd03c1
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib
+, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz
+, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1
+, gdk_pixbuf, librsvg, hicolor_icon_theme }:
+
+stdenv.mkDerivation rec {
+  name = "sushi-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/sushi/3.10/${name}.tar.xz";
+    sha256 = "cffcf28b170f5825e84983a979972d4d901a453b61cbe3e560d362e8dd4b4bc8";
+  };
+
+  propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
+
+  buildInputs = [ pkgconfig file intltool gobjectIntrospection glib
+                  clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg
+                  gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram $out/libexec/sushi-start \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://en.wikipedia.org/wiki/Sushi_(software)";
+    description = "A quick previewer for Nautilus";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix
new file mode 100644
index 00000000000..f1b3bfe53c1
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup }:
+
+stdenv.mkDerivation rec {
+  name = "totem-pl-parser-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz";
+    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
+  };
+
+  buildInputs = [ pkgconfig file intltool gmime libxml2 libsoup ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Videos;
+    description = "Simple GObject-based library to parse and save a host of playlist formats";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/totem/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem/default.nix
new file mode 100644
index 00000000000..c6b78c827db
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/totem/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, intltool, fetchurl, gst_all_1
+, clutter_gtk, clutter-gst, pygobject3, shared_mime_info
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libxml2, dbus_glib
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "totem-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/totem/3.10/${name}.tar.xz";
+    sha256 = "b6b6038c9104965671a6d25e98496a487c3a9c590c9c104f668bd9f4fa7be9e2";
+  };
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo
+                  clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
+                  gnome3.libpeas pygobject3 shared_mime_info dbus_glib
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper file ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/totem" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Videos;
+    description = "Movie player for the GNOME desktop based on GStreamer";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix
new file mode 100644
index 00000000000..dbae108d2e9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, intltool, fetchurl, libxml2, upower
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, vala, sqlite
+, gnome3, librsvg, gdk_pixbuf, file, libnotify
+, evolution_data_server, gst_all_1, poppler
+, icu, taglib, libjpeg, libtiff, giflib, libcue
+, libvorbis, flac, exempi, networkmanager
+, libpng, libexif, libgsf, libuuid, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "tracker-0.16.4";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/tracker/0.16/${name}.tar.xz";
+    sha256 = "9c2f50839c2b8b352ab9a022597ef985c1900e6286c0c3bcb7a64da39dbb3580";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2
+                  bzip2 gnome3.totem-pl-parser
+                  gnome3.gsettings_desktop_schemas makeWrapper file
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite
+                  upower libnotify evolution_data_server gnome3.libgee
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base flac
+                  poppler icu taglib libjpeg libtiff giflib libvorbis
+                  exempi networkmanager libpng libexif libgsf libuuid
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram $f \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Tracker;
+    description = "Desktop-neutral user information store, search tool and indexer";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/vino/default.nix b/pkgs/desktops/gnome-3/3.10/core/vino/default.nix
new file mode 100644
index 00000000000..65668dce6a2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/vino/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper
+, libnotify, file }:
+
+stdenv.mkDerivation rec {
+  name = "vino-${versionMajor}.${versionMinor}";
+  versionMajor = "3.10";
+  versionMinor = "1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/vino/${versionMajor}/${name}.tar.xz";
+    sha256 = "0imyvz96b7kikikwxn1r5sfxwmi40523nd66gp9hrl23gik0vwgs";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify file makeWrapper ];
+
+  preFixup = ''
+    for f in "$out/bin/vino-passwd" "$out/libexec/vino-server"; do
+      wrapProgram $f --prefix XDG_DATA_DIRS : "${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/Vino;
+    description = "GNOME desktop sharing server";
+    maintainers = with maintainers; [ lethalman iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix b/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
new file mode 100644
index 00000000000..b9ffcffafbd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "0.35";
+  versionMinor = "90";
+  moduleName   = "vte";
+
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "c47182d1724db479095b918898ce62297ec71988f24cd575506151c59f7b98cf";
+  };
+
+  buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
+
+  configureFlags = [ "--enable-introspection" ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gnome.org/;
+    description = "A library implementing a terminal emulator widget for GTK+";
+    longDescription = ''
+      VTE is a library (libvte) implementing a terminal emulator widget for
+      GTK+, and a minimal sample application (vte) using that.  Vte is
+      mainly used in gnome-terminal, but can also be used to embed a
+      console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
+      character set conversion, as well as emulating any terminal known to
+      the system's terminfo database.
+    '';
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ astsmtl antono lethalman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix
new file mode 100644
index 00000000000..39ff3838f4a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "yelp-tools-3.10.0";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/yelp-tools/3.10/${name}.tar.xz";
+    sha256 = "0496xyx1657db22ks3k92al64fp6236y5bgh7s7b0j8hcc112ppz";
+  };
+
+  buildInputs = [ libxml2 libxslt itstool gnome3.yelp_xsl pkgconfig ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
+    description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix
new file mode 100644
index 00000000000..c5060bdba75
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, intltool, fetchurl, pkgconfig, bash
+, itstool, libxml2, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "yelp-xsl-3.10.1";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/yelp-xsl/3.10/${name}.tar.xz";
+    sha256 = "59c6dee3999121f6ffd33a9c5228316b75bc22e3bd68fff310beb4eeff245887";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ pkgconfig intltool itstool libxml2 libxslt ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Yelp;
+    description = "Yelp's universal stylesheets for Mallard and DocBook";
+    maintainers = with maintainers; [ lethalman ];
+    # TODO license = [licenses.gpl2 licenses.lgpl2];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
new file mode 100644
index 00000000000..b58aa99721e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
+, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
+, bash, makeWrapper, itstool, libxml2, libxslt, icu }:
+
+stdenv.mkDerivation rec {
+  name = "yelp-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/yelp/3.10/${name}.tar.xz";
+    sha256 = "17736479b7d0b1128c7d6cb3073f2b09e4bbc82670731b2a0d3a3219a520f816";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard  ];
+  propagatedBuildInputs = [ librsvg gdk_pixbuf gnome3.gnome_icon_theme
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
+
+  buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
+                  libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl
+                  gnome3.gsettings_desktop_schemas ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/yelp" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Yelp;
+    description = "Yelp is the help viewer in Gnome.";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix
new file mode 100644
index 00000000000..366088c6729
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
+, gnome_doc_utils, intltool, libX11, which, itstool }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.8";
+  versionMinor = "0";
+
+  name = "zenity-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
+    sha256 = "0gsnwvhsqqba5i6d4jh86j29q4q18hmvhj9c1v76vwlj2nvz1ywl";
+  };
+
+  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
+
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/default.nix b/pkgs/desktops/gnome-3/3.10/default.nix
new file mode 100644
index 00000000000..89e16490df9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/default.nix
@@ -0,0 +1,195 @@
+{ callPackage, self, pkgs }:
+
+rec {
+  inherit (pkgs) glib gtk2 gtk3 gnome2 upower glib_networking;
+  gtk = gtk3; # just to be sure
+  libcanberra = pkgs.libcanberra_gtk3; # just to be sure
+  inherit (pkgs.gnome2) ORBit2;
+  orbit = ORBit2;
+  inherit (pkgs) libsoup;
+
+#### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
+
+  baobab = callPackage ./core/baobab { };
+
+  caribou = callPackage ./core/caribou { };
+
+  dconf = callPackage ./core/dconf { };
+
+  empathy = callPackage ./core/empathy { };
+
+  epiphany = callPackage ./core/epiphany { };
+
+  evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
+
+  evolution_data_server = callPackage ./core/evolution-data-server { };
+
+  gconf = callPackage ./core/gconf { };
+
+  geocode_glib = callPackage ./core/geocode-glib { };
+
+  gcr = callPackage ./core/gcr { }; # ToDo: tests fail
+
+  gdm = callPackage ./core/gdm { };
+
+  gjs = callPackage ./core/gjs { };
+
+  gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
+
+  gnome-contacts = callPackage ./core/gnome-contacts { };
+
+  gnome_control_center = callPackage ./core/gnome-control-center { };
+
+  gnome-calculator = callPackage ./core/gnome-calculator { };
+
+  gnome_common = callPackage ./core/gnome-common { };
+
+  gnome_desktop = callPackage ./core/gnome-desktop { };
+
+  gnome-dictionary = callPackage ./core/gnome-dictionary { };
+
+  gnome-disk-utility = callPackage ./core/gnome-disk-utility { };
+
+  gnome-font-viewer = callPackage ./core/gnome-font-viewer { };
+
+  gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
+
+  gnome_icon_theme_symbolic = callPackage ./core/gnome-icon-theme-symbolic { };
+
+  gnome-menus = callPackage ./core/gnome-menus { };
+
+  gnome_keyring = callPackage ./core/gnome-keyring { };
+
+  libgnome_keyring = callPackage ./core/libgnome-keyring { };
+
+  libgnomekbd = callPackage ./core/libgnomekbd { };
+
+  folks = callPackage ./core/folks { };
+
+  gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
+
+  gnome-online-miners = callPackage ./core/gnome-online-miners { };
+
+  gnome_session = callPackage ./core/gnome-session { };
+
+  gnome_shell = callPackage ./core/gnome-shell { };
+
+  gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };
+
+  gnome-screenshot = callPackage ./core/gnome-screenshot { };
+
+  gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { };
+
+  gnome-system-log = callPackage ./core/gnome-system-log { };
+
+  gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
+
+  gnome_terminal = callPackage ./core/gnome-terminal { };
+
+  gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
+
+  gnome-user-docs = callPackage ./core/gnome-user-docs { };
+
+  gnome-user-share = callPackage ./core/gnome-user-share { };
+
+  grilo = callPackage ./core/grilo { };
+
+  grilo-plugins = callPackage ./core/grilo-plugins { };
+
+  gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
+
+  gtksourceview = callPackage ./core/gtksourceview { };
+
+  gucharmap = callPackage ./core/gucharmap { };
+
+  gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; lightWeight = false; };
+
+  eog = callPackage ./core/eog { };
+
+  libcroco = callPackage ./core/libcroco {};
+
+  libgee = callPackage ./core/libgee { };
+
+  libgdata = callPackage ./core/libgdata { };
+
+  libgxps = callPackage ./core/libgxps { };
+
+  libpeas = callPackage ./core/libpeas {};
+
+  libgweather = callPackage ./core/libgweather { };
+
+  libzapojit = callPackage ./core/libzapojit { };
+
+  mutter = callPackage ./core/mutter { };
+
+  nautilus = callPackage ./core/nautilus { };
+
+  rest = callPackage ./core/rest { };
+
+  sushi = callPackage ./core/sushi { };
+
+  totem = callPackage ./core/totem { };
+
+  totem-pl-parser = callPackage ./core/totem-pl-parser { };
+
+  tracker = callPackage ./core/tracker { };
+
+  vte = callPackage ./core/vte { };
+
+  vino = callPackage ./core/vino { };
+
+  yelp = callPackage ./core/yelp { };
+
+  yelp_xsl = callPackage ./core/yelp-xsl { };
+
+  yelp_tools = callPackage ./core/yelp-tools { };
+
+  zenity = callPackage ./core/zenity { };
+
+
+#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
+
+  bijiben = callPackage ./apps/bijiben { };
+
+  evolution = callPackage ./apps/evolution { };
+
+  file-roller = callPackage ./apps/file-roller { };
+
+  gedit = callPackage ./apps/gedit { };
+
+  glade = callPackage ./apps/glade { };
+
+  gnome-clocks = callPackage ./apps/gnome-clocks { };
+
+  gnome-documents = callPackage ./apps/gnome-documents { };
+
+  gnome-music = callPackage ./apps/gnome-music { };
+
+  gnome-photos = callPackage ./apps/gnome-photos { };
+
+  nautilus-sendto = callPackage ./apps/nautilus-sendto { };
+
+  # scrollkeeper replacement
+  rarian = callPackage ./desktop/rarian { };
+
+  seahorse = callPackage ./apps/seahorse { };
+
+
+#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
+
+  gfbgraph = callPackage ./misc/gfbgraph { };
+
+  goffice = callPackage ./misc/goffice { };
+
+  gitg = callPackage ./misc/gitg { };
+
+  libgit2-glib = callPackage ./misc/libgit2-glib { };
+
+  libmediaart = callPackage ./misc/libmediaart { };
+  
+  gexiv2 = callPackage ./misc/gexiv2 { };
+
+  gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
+
+  gtkhtml = callPackage ./misc/gtkhtml { };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix
new file mode 100644
index 00000000000..a1b38b21869
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}:
+
+stdenv.mkDerivation rec {
+  name = "rarian-0.8.1";
+  src = fetchurl {
+    url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
+    sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
+  };
+
+  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
+  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix
new file mode 100644
index 00000000000..86942c13f34
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }:
+
+
+stdenv.mkDerivation rec {
+  name = "gexiv2-${version}";
+  version = "0.7.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz";
+    sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn";
+  };
+  
+  preConfigure = ''
+    patchShebangs .
+  '';
+  
+  buildInputs = [ pkgconfig glib libtool m4 ];
+  propagatedBuildInputs = [ exiv2 ];
+  
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/gexiv2;
+    description = "GObject wrapper around the Exiv2 photo metadata library";
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix
new file mode 100644
index 00000000000..ee8259af8d6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, intltool, fetchurl, pkgconfig, glib
+, gnome3, libsoup, json_glib }:
+
+stdenv.mkDerivation rec {
+  name = "gfbgraph-0.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz";
+    sha256 = "534ca84920445b9d89e2480348eedde3ce950db3628ae0a79703e8f2d52fa724";
+  };
+
+  buildInputs = [ pkgconfig glib libsoup gnome3.gnome_online_accounts
+                  json_glib gnome3.rest ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "GLib/GObject wrapper for the Facebook Graph API";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
new file mode 100644
index 00000000000..7ca35a8255f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
+, json_glib, webkitgtk,  makeWrapper, libpeas, bash, gobjectIntrospection
+, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg }:
+
+# TODO: icons and theme still does not work
+# use packaged gnome3.gnome_icon_theme_symbolic 
+
+stdenv.mkDerivation rec {
+  name = "gitg-0.3.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz";
+    sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp";
+  };
+
+  preCheck = ''
+    substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
+  '';
+  doCheck = true;
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  propagatedUserEnvPkgs = [ shared_mime_info
+                            gnome3.gnome_themes_standard ];
+
+  buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
+                  libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg
+                  gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gitg" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/gitg/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
+    description = "GNOME GUI client to view git repositories";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix
new file mode 100644
index 00000000000..2eccb9a32cf
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, intltool, fetchurl, python, pygobject3, atk
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup
+, bash, makeWrapper, itstool, libxml2, python3Packages
+, gnome3, librsvg, gdk_pixbuf, file, libnotify }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-tweak-tool-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
+    sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  makeFlags = [ "DESTDIR=/" ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+                  gnome3.gsettings_desktop_schemas makeWrapper file
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  python pygobject3 libnotify gnome3.gnome_shell
+                  libsoup gnome3.gnome_settings_daemon gnome3.nautilus
+                  gnome3.gnome_desktop ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-tweak-tool" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
+      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
+  '';
+
+  patches = [ ./find_gsettings.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
+    description = "A tool to customize advanced GNOME 3 options";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch
new file mode 100644
index 00000000000..3e68c04cb3a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch
@@ -0,0 +1,22 @@
+diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py
+index a00fe19..dce74b2 100644
+--- a/gtweak/gsettings.py
++++ b/gtweak/gsettings.py
+@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception):
+ 
+ class _GSettingsSchema:
+     def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options):
+-        if not schema_dir:
+-            schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
+         if not schema_filename:
+             schema_filename = schema_name + ".gschema.xml"
++        if not schema_dir:
++            schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
++            for xdg_dir in GLib.get_system_data_dirs():
++                dir = os.path.join(xdg_dir, "glib-2.0", "schemas")
++                if os.path.exists(os.path.join(dir, schema_filename)):
++                    schema_dir = dir
++                    break
+ 
+         schema_path = os.path.join(schema_dir, schema_filename)
+         if not os.path.exists(schema_path):
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix
new file mode 100644
index 00000000000..02520a9f121
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix
@@ -0,0 +1,37 @@
+{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
+, pango, libgsf, libxml2, libart, intltool, gettext
+, cairo, gconf, libgnomeui, pcre, gnome3/*just meta*/ }:
+
+stdenv.mkDerivation rec {
+  name = "goffice-0.8.17";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
+    sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
+  };
+
+  # fix linking error: undefined reference to pcre_info
+  patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986
+
+  buildInputs = [
+    pkgconfig libglade bzip2 libart intltool gettext
+    gconf libgnomeui pcre
+  ];
+
+  propagatedBuildInputs = [
+    # All these are in the "Requires:" field of `libgoffice-0.6.pc'.
+    glib libgsf libxml2 gtk libglade libart cairo pango
+  ];
+
+  postInstall =
+    ''
+      # Get GnuCash to build.  Might be unnecessary if we upgrade pkgconfig.
+      substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
+    '';
+
+  doCheck = true;
+
+  meta = gnome3.goffice.meta // {
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix
new file mode 100644
index 00000000000..fd16d2d4985
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3
+, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
+
+stdenv.mkDerivation rec {
+  name = "goffice-0.10.12";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
+    sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection?
+    glib gtk3 libxml2 cairo pango libgsf
+  ];
+
+  buildInputs = [ libxslt librsvg ];
+
+  enableParallelBuilding = true;
+  doCheck = true;
+
+  meta = {
+    description = "A Glib/GTK+ set of document centric objects and utilities";
+
+    longDescription = ''
+      There are common operations for document centric applications that are
+      conceptually simple, but complex to implement fully: plugins, load/save
+      documents, undo/redo.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/development/libraries/goffice/pcre_info.patch b/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch
index cd4ef3c9fed..cd4ef3c9fed 100644
--- a/pkgs/development/libraries/goffice/pcre_info.patch
+++ b/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix
new file mode 100644
index 00000000000..5e27b474cbd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, gtk3, intltool
+, gnome3, enchant, isocodes }:
+
+stdenv.mkDerivation rec {
+  name = "gtkhtml-4.6.6";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz";
+    sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd";
+  };
+
+  buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme
+                  gnome3.gsettings_desktop_schemas ];
+
+  propagatedBuildInputs = [ enchant isocodes ];
+
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
new file mode 100644
index 00000000000..17c3b4fa0a8
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, gnome3, libtool, pkgconfig
+, gtk_doc, gobjectIntrospection, libgit2, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libgit2-glib-${version}";
+  version = "0.0.10";
+
+  src = fetchurl {
+    url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
+    sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs";
+  };
+
+  configureScript = "sh ./autogen.sh";
+
+  buildInputs = [ gnome3.gnome_common libtool pkgconfig
+                  gtk_doc gobjectIntrospection libgit2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix
new file mode 100644
index 00000000000..4985bfa902c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "libmediaart-0.4.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz";
+    sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c";
+  };
+
+  buildInputs = [ pkgconfig glib gdk_pixbuf ];
+
+  meta = with stdenv.lib; {
+    description = "Library tasked with managing, extracting and handling media art caches";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix
new file mode 100644
index 00000000000..c4d609790fa
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, intltool, fetchurl, pkgconfig, glib
+, hicolor_icon_theme, makeWrapper, itstool, desktop_file_utils
+, clutter_gtk, libuuid, webkitgtk, zeitgeist
+, gnome3, librsvg, gdk_pixbuf, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "bijiben-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/bijiben/3.12/${name}.tar.xz";
+    sha256 = "f319ef2a5b69ff9368e7488a28453da0f10eaa39a0f8e5d74623d0c07c824708";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig glib intltool itstool libxml2
+                  clutter_gtk libuuid webkitgtk gnome3.tracker
+                  gnome3.gnome_online_accounts zeitgeist desktop_file_utils
+                  gnome3.gsettings_desktop_schemas makeWrapper
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/bijiben" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Bijiben;
+    description = "Note editor designed to remain simple to use";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
new file mode 100644
index 00000000000..f9fbbbe56c6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify, gtkspell3
+, makeWrapper, itstool, shared_mime_info, libical, db, gcr
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }:
+
+stdenv.mkDerivation rec {
+  name = "evolution-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz";
+    sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
+                  gnome3.evolution_data_server libsecret libical gcr
+                  webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
+                  libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  nss nspr libnotify procps highlight gnome3.libgweather
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ];
+
+  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram "$f" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Evolution;
+    description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
new file mode 100644
index 00000000000..a761c13e959
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
+, attr, bzip2, acl, makeWrapper, librsvg, gdk_pixbuf, hicolor_icon_theme }:
+
+stdenv.mkDerivation rec {
+  name = "file-roller-${version}";
+
+  majVersion = "3.12";
+  version = "${majVersion}.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz";
+    sha256 = "0677be6618dba609eae2d76420e8a5a8d9a414bcec654e7b71e65b941764eacf";
+  };
+
+  # TODO: support nautilus
+  # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
+
+  buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
+                  hicolor_icon_theme gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+                  attr bzip2 acl gdk_pixbuf librsvg makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/file-roller" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/FileRoller;
+    description = "Archive manager for the GNOME desktop environment";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
new file mode 100644
index 00000000000..0909a4239db
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, intltool, fetchurl, enchant, isocodes
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libsoup, libxml2
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "gedit-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz";
+    sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup
+                  gnome3.libpeas gnome3.gtksourceview libxml2
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper file ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gedit" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Gedit;
+    description = "Official text editor of the GNOME desktop environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix
new file mode 100644
index 00000000000..5979d10fa70
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, intltool, fetchurl, python
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, libxml2, docbook_xsl
+, gnome3, librsvg, gdk_pixbuf, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "glade-3.16.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz";
+    sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python
+                  gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/glade" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Glade;
+    description = "User interface designer for GTK+ applications";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
new file mode 100644
index 00000000000..cbb53eedd4c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
+, glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
+, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala
+, libcap_ng, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg
+, hicolor_icon_theme, desktop_file_utils, mtools, cdrkit, libcdio
+}:
+
+# TODO: ovirt (optional)
+
+stdenv.mkDerivation rec {
+  name = "gnome-boxes-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-boxes/3.12/${name}.tar.xz";
+    sha256 = "0kzdh8kk9isaskbfyj7r7nybgdyhj7i4idkgahdsl9xs9sj2pmc8";
+  };
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  buildInputs = [
+    makeWrapper pkgconfig intltool itstool libvirt-glib glib
+    gobjectIntrospection libxml2 gtk3 gtkvnc libvirt spice_gtk spice_protocol
+    libuuid libsoup libosinfo systemd tracker vala libcap_ng libcap yajl gmp
+    gdbm cyrus_sasl gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    librsvg hicolor_icon_theme desktop_file_utils
+  ];
+
+  preFixup = ''
+    for prog in "$out/bin/"*; do
+        wrapProgram "$prog" \
+            --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+            --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+            --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin"
+    done
+    rm "$out/share/icons/hicolor/icon-theme.cache"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple GNOME 3 application to access remote or virtual systems";
+    homepage = https://wiki.gnome.org/action/show/Apps/Boxes;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bjornfor ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix
new file mode 100644
index 00000000000..2226f314eed
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, intltool, fetchurl, libgweather, libnotify
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, libcanberra_gtk3, libtool
+, gnome3, librsvg, gdk_pixbuf, geoclue2 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-clocks-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-clocks/3.12/${name}.tar.xz";
+    sha256 = "3fc0ce2b7b2540d6c2d791ff63ab1670f189a339c804fcf24c9010a478314604";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas makeWrapper
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  gnome3.gnome_desktop gnome3.geocode_glib geoclue2
+                  libgweather libnotify libtool
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-clocks" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Clocks;
+    description = "Clock application designed for GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix
new file mode 100644
index 00000000000..5c2206641e5
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, intltool, fetchurl, evince, gjs
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, libxslt, webkitgtk
+, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
+, gobjectIntrospection, json_glib
+, gmp, desktop_file_utils }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-documents-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-documents/3.12/${name}.tar.xz";
+    sha256 = "6d0df1d90781d56992ed5d5c2591833e89e3aa756ccab63f82dd935185ce5a53";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt
+                  docbook_xsl desktop_file_utils
+                  gnome3.gsettings_desktop_schemas makeWrapper gmp
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg evince
+                  libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
+                  gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
+                  gnome3.gnome_desktop gnome3.libzapojit json_glib
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  enableParallelBuilding = true;
+
+  preFixup =
+    let
+      libPath = stdenv.lib.makeLibraryPath
+        [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ];
+    in
+    ''
+    substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
+
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram "$f" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+        --prefix LD_LIBRARY_PATH ":" "${libPath}" \
+        --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+        --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
+    done
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Documents;
+    description = "Document manager application designed to work with GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
new file mode 100644
index 00000000000..d784544a183
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
+, python3, libxml2, python3Packages, libnotify
+, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo
+, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-music-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz";
+    sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
+                  gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
+                  python3Packages.pycairo python3Packages.dbus gnome3.totem-pl-parser
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper tracker ];
+
+  enableParallelBuilding = true;
+
+  preFixup =
+    let
+      libPath = stdenv.lib.makeLibraryPath
+        [ glib gtk3 libnotify tracker gnome3.grilo cairo
+          gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.totem-pl-parser
+          gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
+    in
+    ''
+    wrapProgram "$out/bin/gnome-music" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix LD_LIBRARY_PATH : "${libPath}" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
+      --prefix PYTHONPATH : "$PYTHONPATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Music;
+    description = "Music player and management application for the GNOME desktop environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix
new file mode 100644
index 00000000000..cc92cdd3014
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, intltool, fetchurl, exempi, libxml2
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, gegl, babl, lcms2
+, desktop_file_utils, gmp
+, gnome3, librsvg, gdk_pixbuf, libexif }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-photos-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-photos/3.12/${name}.tar.xz";
+    sha256 = "077cc6c2ae28680457fba435a22184e25f3a60a6fbe1901a75e42f6f6136538f";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl
+                  gnome3.gsettings_desktop_schemas makeWrapper gmp
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi
+                  gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
+                  gnome3.gnome_online_accounts gnome3.gnome_desktop
+                  lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    substituteInPlace $out/bin/gnome-photos --replace gapplication "${glib}/bin/gapplication"
+
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram "$f" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
+        --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Photos;
+    description = "Photos is an application to access, organize and share your photos with GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix
new file mode 100644
index 00000000000..5a85e00e4e4
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
+, gobjectIntrospection, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "nautilus-sendto-${version}";
+
+  version = "3.8.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
+    sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
+  };
+
+  buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "Integrates Evolution and Pidgin into the Nautilus file manager";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix
new file mode 100644
index 00000000000..fb7339dd05f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, intltool, fetchurl, vala
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, makeWrapper, itstool, gnupg, libsoup
+, gnome3, librsvg, gdk_pixbuf, gpgme
+, libsecret, avahi, p11_kit }:
+
+stdenv.mkDerivation rec {
+  name = "seahorse-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/seahorse/3.12/${name}.tar.xz";
+    sha256 = "5e6fb25373fd4490e181e2fa0f5cacf99b78b2f6caa5d91c9c605900fb5f3839";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
+                  gnome3.gsettings_desktop_schemas makeWrapper gnupg
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme
+                  libsecret avahi libsoup p11_kit vala gnome3.gcr
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/seahorse" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Seahorse;
+    description = "Application for managing encryption keys and passwords in the GnomeKeyring";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix
new file mode 100644
index 00000000000..e4da596ae21
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, intltool, fetchurl, vala, libgtop
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libxml2
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "baobab-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/baobab/3.12/${name}.tar.xz";
+    sha256 = "494808d8a5b1776377749a1dcd5b251eb399208a4c90380dc8b8c789811e514c";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
+                  gnome3.gsettings_desktop_schemas makeWrapper file
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/icons/HighContrast/icon-theme.cache
+    wrapProgram "$out/bin/baobab" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Baobab;
+    description = "Graphical application to analyse disk usage in any Gnome environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix
new file mode 100644
index 00000000000..3a6c3f0dd35
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2
+, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core }:
+
+
+stdenv.mkDerivation rec {
+  name = "caribou-0.4.13";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/caribou/0.4/${name}.tar.xz";
+    sha256 = "953ba618621fda8a828d0d797fc916dbe35990dc01d7aa99d15e5e2241ee2782";
+  };
+
+  buildInputs = with gnome3;
+    [ glib pkgconfig gtk clutter at_spi2_core dbus pythonPackages.python pythonPackages.pygobject3
+      libxml2 libXtst gtk2 intltool libxslt ];
+
+  propagatedBuildInputs = [ gnome3.libgee libxklavier ];
+
+  preBuild = ''
+    patchShebangs .
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.12/core/dconf/default.nix
new file mode 100644
index 00000000000..a1d98449bee
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/dconf/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
+, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "dconf-${version}";
+  version = "0.20.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz";
+    sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9";
+  };
+
+  buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
+                  intltool docbook_xsl docbook_xsl_ns makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/dconf-editor" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/lib/gio/modules/giomodule.cache
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/icons/HighContrast/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
new file mode 100644
index 00000000000..7fb341948be
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
+, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
+, dbus_glib, dbus_libs, telepathy_glib, telepathy_farstream
+, clutter_gtk, clutter-gst, gst_all_1, cogl, gnome_online_accounts
+, gcr, libsecret, folks, pulseaudio, telepathy_mission_control
+, telepathy_logger, libnotify, clutter, libsoup, gnutls
+, evolution_data_server
+, libcanberra_gtk3, p11_kit, farstream, libtool, shared_mime_info
+, bash, makeWrapper, itstool, libxml2, libxslt, icu, libgee  }:
+
+# TODO: enable more features
+
+stdenv.mkDerivation rec {
+  name = "empathy-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz";
+    sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
+                            gnome_online_accounts shared_mime_info ];
+  propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
+                            telepathy_mission_control ];
+  buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
+                  libxml2 libxslt icu file makeWrapper
+                  telepathy_glib clutter_gtk clutter-gst cogl
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf
+                  libnotify clutter libsoup gnutls libgee p11_kit
+                  libcanberra_gtk3 telepathy_farstream farstream
+                  gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas file libtool librsvg ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
+                         "-I${dbus_libs}/include/dbus-1.0"
+                         "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  preFixup = ''
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram $f \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    done
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Empathy;
+    description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols";
+    maintainers = with maintainers; [ lethalman ];
+    # TODO: license = [ licenses.gpl2 licenses.lgpl2 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/eog/default.nix b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix
new file mode 100644
index 00000000000..8c8a49cb7ed
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix
@@ -0,0 +1,31 @@
+{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
+, shared_mime_info, makeWrapper, librsvg, libexif }:
+
+
+stdenv.mkDerivation rec {
+  name = "eog-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/eog/3.12/${name}.tar.xz";
+    sha256 = "0ca8be7f20c98e9b104b2c1fa53df293e5403e6d517de845ae0f3b72777453fd";
+  };
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
+      gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/eog" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/EyeOfGnome; 
+    platforms = platforms.linux;
+    description = "GNOME image viewer";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix
new file mode 100644
index 00000000000..d159965c544
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
+, bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool
+, webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit
+, sqlite, gcr, avahi, nss, isocodes, itstool, file, which
+, hicolor_icon_theme, gdk_pixbuf, librsvg, gnome_common }:
+
+stdenv.mkDerivation rec {
+  name = "epiphany-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/epiphany/3.12/${name}.tar.xz";
+    sha256 = "16d9f8f10443328b2f226c2da545e75c8433f50f103af8aeb692b098d5fbbf93";
+  };
+
+  # Tests need an X display
+  configureFlags = [ "--disable-static --disable-tests" ];
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  nativeBuildInputs = [ pkgconfig file ];
+
+  configureScript = "./autogen.sh";
+
+  buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt pkgconfig file 
+                  webkitgtk libsoup libsecret gnome_desktop libnotify libtool
+                  sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg which gnome_common
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram "$f" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  patches = [ ./libxml_missing_dep.patch ];
+  patchFlags = "-p0";
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Epiphany;
+    description = "WebKit based web browser for GNOME";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/epiphany/libxml_missing_dep.patch b/pkgs/desktops/gnome-3/3.12/core/epiphany/libxml_missing_dep.patch
new file mode 100644
index 00000000000..c4dc85cd97e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/epiphany/libxml_missing_dep.patch
@@ -0,0 +1,10 @@
+--- configure.ac.orig	2014-05-19 13:28:28.493988695 +0200
++++ configure.ac	2014-05-19 13:28:54.837159748 +0200
+@@ -115,6 +115,7 @@
+ 
+ PKG_CHECK_MODULES(WEB_EXTENSION, [
+                   $WEBKIT_GTK_PC_NAME >= $WEBKIT_GTK_REQUIRED
++		  libxml-2.0 >= $LIBXML_REQUIRED
+                   libsecret-1 >= $LIBSECRET_REQUIRED
+                   ])
+ AC_SUBST(WEB_EXTENSION_CFLAGS)
diff --git a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
new file mode 100644
index 00000000000..2a585d78f4e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
@@ -0,0 +1,70 @@
+{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
+, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
+, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
+, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
+, gobjectIntrospection
+}:
+
+stdenv.mkDerivation rec {
+  name = "evince-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evince/3.12/${name}.tar.xz";
+    sha256 = "ef22cc29a7cbe70d2e7ce8c0b5b7ee774187ea69f3ae49a64c6d4a91559ef137";
+  };
+
+  buildInputs = [
+    pkgconfig intltool perl perlXMLParser libxml2
+    glib gtk3 pango atk gdk_pixbuf gobjectIntrospection
+    itstool gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
+    poppler ghostscriptX djvulibre libspectre
+    makeWrapper libsecret librsvg
+  ];
+
+  configureFlags = [
+    "--disable-nautilus" # Do not use nautilus
+    "--enable-introspection"
+  ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  preConfigure = with stdenv.lib;
+    optionalString doCheck ''
+      for file in test/*.py; do
+        echo "patching $file"
+        sed '1s,/usr,${python},' -i "$file"
+      done
+    '' + optionalString (recentListSize != null) ''
+      sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
+      sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
+    '';
+
+  preFixup = ''
+    # Tell Glib/GIO about the MIME info directory, which is used
+    # by `g_file_info_get_content_type ()'.
+    wrapProgram "$out/bin/evince" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  doCheck = false; # would need pythonPackages.dogTail, which is missing
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gnome.org/projects/evince/;
+    description = "GNOME's document viewer";
+
+    longDescription = ''
+      Evince is a document viewer for multiple document formats.  It
+      currently supports PDF, PostScript, DjVu, TIFF and DVI.  The goal
+      of Evince is to replace the multiple document viewers that exist
+      on the GNOME Desktop with a single simple application.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
new file mode 100644
index 00000000000..b8711f7e563
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, python
+, intltool, libsoup, libxml2, libsecret, icu
+, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
+
+
+stdenv.mkDerivation rec {
+  name = "evolution-data-server-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evolution-data-server/3.12/${name}.tar.xz";
+    sha256 = "91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6";
+  };
+
+  buildInputs = with gnome3;
+    [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret
+      gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper icu ]
+    ++ stdenv.lib.optional valaSupport vala;
+
+  # uoa irrelevant for now
+  configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"]
+                   ++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
+
+  preFixup = ''
+    for f in "$out/libexec/"*; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
new file mode 100644
index 00000000000..47b958002a3
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
+, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
+, telepathy_glib, evolution_data_server, libsecret, db }:
+
+# TODO: enable more folks backends
+
+stdenv.mkDerivation rec {
+  name = "folks-0.9.6";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
+    sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
+  };
+
+  propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
+  # dbus_daemon needed for tests
+  buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
+                  vala libsecret libxml2 libsoup nspr nss intltool db ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags = "--disable-fatal-warnings";
+
+  NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss"
+                        "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"];
+
+  enableParallelBuilding = true;
+
+  postBuild = "rm -rf $out/share/gtk-doc";
+
+  meta = {
+    description = "Folks";
+
+    homepage = https://wiki.gnome.org/Projects/Folks;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    maintainers = with stdenv.lib.maintainers; [ lethalman ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.12/core/gconf/default.nix
new file mode 100644
index 00000000000..47dae0486e9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gconf/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3, glib, libxml2
+, intltool, polkit, orbit }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.2";
+  versionMinor = "6";
+  moduleName   = "GConf";
+
+  origName = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  name = "gconf-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
+    sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
+  };
+
+  buildInputs = [ libxml2 polkit gnome3.gtk orbit ];
+  propagatedBuildInputs = [ glib dbus_glib  ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  # ToDo: ldap reported as not found but afterwards reported as supported
+
+  meta = with stdenv.lib; {
+    homepage = http://projects.gnome.org/gconf/;
+    description = "A system for storing application preferences";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.12/core/gcr/default.nix
new file mode 100644
index 00000000000..6dd69a64fd7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gcr/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
+, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
+, gobjectIntrospection, makeWrapper, libxslt, vala }:
+
+stdenv.mkDerivation rec {
+  name = "gcr-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gcr/3.12/${name}.tar.xz";
+    sha256 = "456e20615ab178aa92eeabdea64dcce535c10d5af189171d9375291a2447d21c";
+  };
+
+  buildInputs = [
+    pkgconfig intltool gnupg p11_kit glib gobjectIntrospection libxslt
+    libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper vala
+  ];
+
+  #doCheck = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/gcr-viewer" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
new file mode 100644
index 00000000000..965a8a05f16
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
+, intltool, accountsservice, libX11, gnome3, systemd, gnome_session
+, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "gdm-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gdm/3.12/${name}.tar.xz";
+    sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4";
+  };
+
+  # Only needed to make it build
+  preConfigure = ''
+    substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X"
+  '';
+
+  configureFlags = [ "--localstatedir=/var" "--with-systemd=yes"
+                     "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool
+                  accountsservice gnome3.dconf systemd
+                  gobjectIntrospection libX11 gtk
+                  libcanberra_gtk3 pam libtool ];
+
+  #enableParallelBuilding = true; # problems compiling
+
+  preBuild = ''
+    substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session'
+    substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.tools}/bin/dbus-launch'
+  '';
+
+  # Disable Access Control because our X does not support FamilyServerInterpreted yet
+  patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_xdgconfigdirs.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GDM;
+    description = "A program that manages graphical display servers and handles graphical user logins";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch
new file mode 100644
index 00000000000..74d054f8c88
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch
@@ -0,0 +1,18 @@
+diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
+index 1afe48e..e3d1ec2 100644
+--- a/daemon/gdm-slave.c
++++ b/daemon/gdm-slave.c
+@@ -291,9 +291,10 @@ gdm_slave_connect_to_x11_display (GdmSlave *slave)
+
+                 gdm_error_trap_push ();
+
+-                for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
++                /*for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
+                         XAddHost (slave->priv->server_display, &host_entries[i]);
+-                }
++                }*/
++               XDisableAccessControl(slave->priv->server_display);
+
+                 XSync (slave->priv->server_display, False);
+                 if (gdm_error_trap_pop ()) {
+
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
new file mode 100644
index 00000000000..20d7659c1e5
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
@@ -0,0 +1,26 @@
+--- a/daemon/gdm-launch-environment.c	2014-08-03 12:05:39.380178964 +0200
++++ b/daemon/gdm-launch-environment.c	2014-08-03 12:08:26.570182517 +0200
+@@ -224,6 +224,7 @@
+                 NULL
+         };
+         char *system_data_dirs;
++        char *system_config_dirs;
+         int i;
+ 
+         load_lang_config_file (LANG_CONFIG_FILE,
+@@ -251,6 +252,15 @@
+                                               system_data_dirs));
+         g_free (system_data_dirs);
+ 
++        system_config_dirs = g_strjoinv (":", (char **) g_get_system_config_dirs ());
++
++        g_hash_table_insert (hash,
++                             g_strdup ("XDG_CONFIG_DIRS"),
++                             g_strdup_printf ("%s",
++                                              system_config_dirs));
++        g_free (system_config_dirs);
++
++
+         g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (launch_environment->priv->x11_authority_file));
+ 
+         g_hash_table_insert (hash, g_strdup ("LOGNAME"), g_strdup (launch_environment->priv->user_name));
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch
new file mode 100644
index 00000000000..b8fbad4d731
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch
@@ -0,0 +1,17 @@
+diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
+index f759d2d..d154716 100644
+--- a/daemon/gdm-session.c
++++ b/daemon/gdm-session.c
+@@ -373,9 +373,12 @@ get_system_session_dirs (void)
+ #ifdef ENABLE_WAYLAND_SUPPORT
+                 DATADIR "/wayland-sessions/",
+ #endif
++                NULL,
+                 NULL
+         };
+ 
++        search_dirs[4] = getenv("GDM_SESSIONS_DIR") != NULL ? getenv("GDM_SESSIONS_DIR") : NULL;
++
+         return search_dirs;
+ }
+ 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch
new file mode 100644
index 00000000000..412daee9f27
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch
@@ -0,0 +1,15 @@
+--- a/daemon/gdm-server.c	2014-07-30 23:00:17.786841724 +0200
++++ b/daemon/gdm-server.c	2014-07-30 23:02:10.491239180 +0200
+@@ -322,7 +322,11 @@
+ fallback:
+ #endif
+ 
+-        server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
++        if (g_getenv("GDM_X_SERVER") != NULL) {
++            server->priv->command = g_strdup (g_getenv("GDM_X_SERVER"));
++        } else {
++            server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
++        }
+ }
+ 
+ static gboolean
diff --git a/pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix
new file mode 100644
index 00000000000..6a461e3bde6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix
@@ -0,0 +1,20 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, libsoup, json_glib }:
+
+
+stdenv.mkDerivation rec {
+  name = "geocode-glib-3.12.2";
+
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/geocode-glib/3.12/${name}.tar.xz";
+    sha256 = "5ca581a927cac3025adc2afadfdaf9a493ca887537a548aa47296bc77bcfa49e";
+  };
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig glib libsoup json_glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gjs/default.nix
new file mode 100644
index 00000000000..c1e5486d3a7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gjs/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_24, pango }:
+
+
+stdenv.mkDerivation rec {
+  name = "gjs-1.40.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gjs/1.40/${name}.tar.xz";
+    sha256 = "2f0d80ec96c6284785143abe51377d8a284977ea6c3cf0cef1020d92eae41793";
+  };
+
+  buildInputs = with gnome3;
+    [ gobjectIntrospection pkgconfig glib pango ];
+
+  propagatedBuildInputs = [ spidermonkey_24 ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix
new file mode 100644
index 00000000000..46db008787f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-backgrounds-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-backgrounds/3.12/${name}.tar.xz";
+    sha256 = "ac4d3e0fffc5991865ca748e728a1ab87f167400105250ce2195b03502427180";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
new file mode 100644
index 00000000000..666032f56a7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, intltool, fetchurl, pkgconfig, libxml2
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-calculator-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz";
+    sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
+                  libxml2 gnome3.gtksourceview
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-calculator" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/Calculator;
+    description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-common/default.nix
new file mode 100644
index 00000000000..b534d6922b7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-common/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, which, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-common-3.12.0";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gnome-common/3.12/${name}.tar.xz";
+    sha256 = "18712bc2df6b2dd88a11b9f7f874096d1c0c6e7ebc9cfc0686ef963bd590e1d8";
+  };
+
+  patches = [(fetchurl {
+    url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935";
+    sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl";
+  })];
+
+  propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome_common tends to require which
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/configure_dbus_glib.patch
new file mode 100644
index 00000000000..926762defbd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/configure_dbus_glib.patch
@@ -0,0 +1,10 @@
+--- configure.ac.orig	2014-04-08 10:25:49.497620879 +0200
++++ configure.ac	2014-04-08 10:26:36.639440950 +0200
+@@ -43,6 +43,7 @@
+ 	     folks-telepathy
+ 	     folks-eds
+ 	     libnotify
++	     dbus-glib-1
+ 	     telepathy-glib >= 0.17.5
+ 	     libebook-1.2 >= 3.5.3
+ 	     libedataserver-1.2 >= 3.5.3
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix
new file mode 100644
index 00000000000..5b4ca5c3418
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, intltool, fetchurl, evolution_data_server, db
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret
+, bash, makeWrapper, itstool, folks, libnotify, libxml2
+, gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
+, libsoup, vala, dbus_glib, automake114x, autoconf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-contacts-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-contacts/3.12/${name}.tar.xz";
+    sha256 = "fb3f25d409032b24fb67241e67d4da10cf6f77a48c088709455cea5f6f33e87d";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ];
+
+  # force build from vala
+  preBuild = ''
+   touch src/*.vala
+  '';
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool evolution_data_server
+                  gnome3.gsettings_desktop_schemas makeWrapper file libnotify
+                  folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib
+                  libxml2 libsoup gnome3.gnome_online_accounts nspr nss
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  vala automake114x autoconf db ];
+
+  preFixup = ''
+    for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do
+      wrapProgram $f \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  patches = [ ./configure_dbus_glib.patch ];
+
+  patchFlags = "-p0";
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Contacts;
+    description = "Contacts is GNOME's integrated address book";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
new file mode 100644
index 00000000000..0aed2e7a410
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
@@ -0,0 +1,62 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
+, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
+, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
+, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
+, cracklib, python, krb5, networkmanagerapplet, networkmanager
+, libwacom, samba, shared_mime_info, tzdata, icu, libtool
+, docbook_xsl, docbook_xsl_ns, modemmanager, clutter, clutter_gtk }:
+
+# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
+# TODO: bluetooth, wacom, smbclient, printers
+
+stdenv.mkDerivation rec {
+  name = "gnome-control-center-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-control-center/3.12/${name}.tar.xz";
+    sha256 = "5297d448eff0ec58f6c0ad9fbd1b94bed0a850496df0ee65571c0622b49c1582";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = with gnome3;
+    [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
+      libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
+      gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
+      accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
+      shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo
+      gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk
+      hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.vino
+      networkmanager modemmanager makeWrapper  ];
+
+  preBuild = ''
+    substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
+    substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
+
+    # hack to make test-endianess happy
+    mkdir -p $out/share/locale
+    substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/"
+  '';
+
+  preFixup = with gnome3; ''
+    wrapProgram $out/bin/gnome-control-center \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    for i in $out/share/applications/*; do
+      substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
+    done
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  patches = [ ./search_providers_dir.patch ];
+
+  meta = with stdenv.lib; {
+    description = "Single sign-on framework for GNOME";
+    maintainers = with maintainers; [ lethalman ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/search_providers_dir.patch
new file mode 100644
index 00000000000..7f5ad970f34
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/search_providers_dir.patch
@@ -0,0 +1,17 @@
+diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c
+index d08e230..3bff4ad 100644
+--- a/panels/search/cc-search-panel.c
++++ b/panels/search/cc-search-panel.c
+@@ -574,7 +574,11 @@ populate_search_providers (CcSearchPanel *self)
+ {
+   GFile *providers_location;
+ 
+-  providers_location = g_file_new_for_path (DATADIR "/gnome-shell/search-providers");
++  const gchar* search_providers_dir = g_getenv ("GNOME_SEARCH_PROVIDERS_DIR");
++  if (search_providers_dir == NULL) {
++    search_providers_dir = DATADIR "/gnome-shell/search-providers";
++  }
++  providers_location = g_file_new_for_path (search_providers_dir);
+   g_file_enumerate_children_async (providers_location,
+                                    "standard::type,standard::name,standard::content-type",
+                                    G_FILE_QUERY_INFO_NONE,
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-desktop/default.nix
new file mode 100644
index 00000000000..e8d4efc1c80
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-desktop/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
+, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
+, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+
+  majorVersion = "3.12";
+  minorVersion = "2";
+  name = "gnome-desktop-${majorVersion}.${minorVersion}";
+
+  # this should probably be setuphook for glib
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
+    sha256 = "b7d691363ccc90182caff1980efa7d99e4569bea968d39654102a0c4e824a44d";
+  };
+
+  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
+                  gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-dictionary/default.nix
new file mode 100644
index 00000000000..6f68916b781
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-dictionary/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libxml2
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-dictionary-3.10.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz";
+    sha256 = "258b60fe50f7d0580a7dc3bb83f7fe2f6f0597d4013d97ac083c3f062c350ed7";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 file
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-dictionary" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Dictionary;
+    description = "Dictionary is the GNOME application to look up definitions";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix
new file mode 100644
index 00000000000..56bde211105
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper, cracklib, libnotify
+, itstool, gnome3, librsvg, gdk_pixbuf, libxml2, python
+, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-disk-utility-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-disk-utility/3.12/${name}.tar.xz";
+    sha256 = "5994bfae57063d74be45736050cf166cda5b1600a599703240b641b39375718e";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
+                  libxslt libtool libsecret libpwquality cracklib
+                  libnotify libdvdread libcanberra_gtk3 docbook_xsl
+                  gdk_pixbuf gnome3.gnome_icon_theme
+                  librsvg udisks2 gnome3.gnome_settings_daemon
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-disks" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://en.wikipedia.org/wiki/GNOME_Disks;
+    description = "A udisks graphical front-end";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-font-viewer/default.nix
new file mode 100644
index 00000000000..a74c5722ba2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-font-viewer/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, intltool, fetchurl
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool
+, gnome3, librsvg, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-font-viewer-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-font-viewer/3.12/${name}.tar.xz";
+    sha256 = "fca50711b7bd4edd1213dd4f05a309911cd1e832974142944c06d52ae07cbe45";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-font-viewer" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Program that can preview fonts and create thumbnails for fonts";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix
new file mode 100644
index 00000000000..6a30362f593
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, iconnamingutils, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-icon-theme-symbolic-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-icon-theme-symbolic/3.12/${name}.tar.xz";
+    sha256 = "851a4c9d8e8cb0000c9e5e78259ab8b8e67c5334e4250ebcc8dfdaa33520068b";
+  };
+
+  configureFlags = "--enable-icon-mapping";
+
+  # Avoid postinstall make hooks
+  installPhase = ''
+    make install-exec-am install-data-local install-pkgconfigDATA
+    make -C src install
+  '';
+
+  buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix
new file mode 100644
index 00000000000..aa0c9d24dfe
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-icon-theme-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-icon-theme/3.12/${name}.tar.xz";
+    sha256 = "359e720b9202d3aba8d477752c4cd11eced368182281d51ffd64c8572b4e503a";
+  };
+
+  setupHook = ./setup-hook.sh;
+
+  nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh
new file mode 100644
index 00000000000..d7156f3d463
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh
@@ -0,0 +1,10 @@
+make_gtk_applications_find_icon_themes() {
+
+    # where to find icon themes
+    if [ -d "$1/share/icons" ]; then
+      addToSearchPath XDG_ICON_DIRS $1/share
+    fi
+	
+}
+
+envHooks+=(make_gtk_applications_find_icon_themes)
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-keyring/default.nix
new file mode 100644
index 00000000000..59667fe3323
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-keyring/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
+, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper
+, docbook_xsl_ns, docbook_xsl, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-keyring-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-keyring/3.12/${name}.tar.xz";
+    sha256 = "3bc39a42d445b82d24247a8c39eeb0eef7ecb1c8ebb8e6ec62671868be93fd4c";
+  };
+
+  buildInputs = with gnome3; [
+    dbus libgcrypt pam python gtk3 gconf libgnome_keyring
+    pango gcr gdk_pixbuf atk p11_kit makeWrapper
+  ];
+
+  propagatedBuildInputs = [ glib libtasn1 libxslt ];
+
+  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
+
+  configureFlags = [
+    "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
+    "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
+    "--with-pkcs11-modules=$$out/lib/pkcs11/"
+  ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-keyring" \
+      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    wrapProgram "$out/bin/gnome-keyring-daemon" \
+      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-menus/default.nix
new file mode 100644
index 00000000000..37d2ea1c086
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-menus/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-menus-${version}";
+  version = "3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-menus/3.10/${name}.tar.xz";
+    sha256 = "0wcacs1vk3pld8wvrwq7fdrm11i56nrajkrp6j1da6jc4yx0m5a6";
+  };
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  preBuild = "patchShebangs ./scripts";
+
+  buildInputs = [ intltool pkgconfig glib gobjectIntrospection ];
+
+  meta = {
+    homepage = "http://www.gnome.org";
+    description = "Gnome menu specification";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix
new file mode 100644
index 00000000000..e113a854a8b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib
+, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnome-online-accounts-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-online-accounts/3.12/${name}.tar.xz";
+    sha256 = "cac7758e09d32eb54af50ab6b23d65da0c8d48c555c8db011a0cf5b977d542ec";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix
new file mode 100644
index 00000000000..394a3ee447c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
+, libsoup, json_glib, gmp, openssl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-online-miners-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-online-miners/3.12/${name}.tar.xz";
+    sha256 = "734db67bb158a046bc8bbbe418f0fdaf6d8652ac86406907a8d17d069fa48f23";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl
+                  gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins
+                  gnome3.gnome_online_accounts makeWrapper gnome3.libmediaart
+                  gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    for f in $out/libexec/*; do
+      wrapProgram "$f" \
+        --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners;
+    description = "A set of crawlers that go through your online content and index them locally in Tracker";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-screenshot/default.nix
new file mode 100644
index 00000000000..349df0b103c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-screenshot/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-screenshot-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-screenshot/3.12/${name}.tar.xz";
+    sha256 = "ae4bf706652ae9b28c7930d22c2c37469a78d7f6656d312960b3c75ee5c36eb1";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-screenshot" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://en.wikipedia.org/wiki/GNOME_Screenshot;
+    description = "Utility used in the GNOME desktop environment for taking screenshots";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-session/default.nix
new file mode 100644
index 00000000000..bebd0b4b77c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-session/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower
+, libxslt, intltool, makeWrapper, systemd, xorg }:
+
+
+stdenv.mkDerivation rec {
+  name = "gnome-session-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-session/3.12/${name}.tar.xz";
+    sha256 = "fa308771ac18bc5f77e5a5be3b2d93df1625168cb40167c1dfa898e9006e25d3";
+  };
+
+  configureFlags = "--enable-systemd";
+
+  buildInputs = with gnome3;
+    [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt 
+      gnome3.gnome_settings_daemon xorg.xtrans
+      gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-session" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix
new file mode 100644
index 00000000000..81b49e6bc64
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix
@@ -0,0 +1,35 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
+, libxkbfile, pulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
+, geoclue2, librsvg, xf86_input_wacom, udev, libwacom, libxslt, libtool
+, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus, xkeyboard_config }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-settings-daemon-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-settings-daemon/3.12/${name}.tar.xz";
+    sha256 = "e887bd63c733febccb7f2c1453c075016342e223214fa9cfc60d90f1e16e080f";
+  };
+
+  # fatal error: gio/gunixfdlist.h: No such file or directory
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas
+      libnotify gnome_desktop lcms2 libXtst libxkbfile pulseaudio
+      libcanberra_gtk3 upower colord libgweather xkeyboard_config
+      polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt
+      libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
+
+  preFixup = ''
+    wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix PATH : "${glib}/bin" \
+      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell-extensions/default.nix
new file mode 100644
index 00000000000..8503af44613
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell-extensions/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, intltool, fetchurl, libgtop
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool
+, gnome3, file }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extensions-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-shell-extensions/3.12/${name}.tar.xz";
+    sha256 = "30ba6e4792062e5a5cdd18e4a12230e68bfed1ded7de433ad241dd75e7ae2fc6";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
+                  makeWrapper file ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
+    description = "Modify and extend GNOME Shell functionality and behavior";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
new file mode 100644
index 00000000000..6f6816efa5b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -0,0 +1,55 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
+, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
+, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
+, hicolor_icon_theme
+, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
+
+# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-shell/3.12/${name}.tar.xz";
+    sha256 = "3ae230e8cb7a31e7b782c16ca178af5957858810788e26a6d630b69b3f85ce71";
+  };
+
+  buildInputs = with gnome3;
+    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
+      libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
+      clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
+      libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
+      libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
+      hicolor_icon_theme gnome_icon_theme gnome_icon_theme_symbolic
+      at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
+
+  installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
+
+  preBuild = ''
+    patchShebangs src/data-to-c.pl
+    substituteInPlace data/Makefile --replace " install-keysDATA" ""
+  '';
+
+  preFixup = with gnome3; ''
+    wrapProgram "$out/bin/gnome-shell" \
+      --prefix PATH : "${unzip}/bin" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    wrapProgram "$out/libexec/gnome-shell-calendar-server" \
+      --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    echo "${unzip}/bin" > $out/${passthru.mozillaPlugin}/extra-bin-path
+  '';
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix
new file mode 100644
index 00000000000..cdc4b732b97
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl, pkgconfig
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-system-log-3.9.90";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz";
+    sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
+                  gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-system-log" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-system-log/3.9/;
+    description = "Graphical, menu-driven viewer that you can use to view and monitor your system logs";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-system-monitor/default.nix
new file mode 100644
index 00000000000..622df1c5db2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-system-monitor/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2
+, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
+, itstool, gnome3, librsvg, gdk_pixbuf, libgtop }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-system-monitor-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-system-monitor/3.12/${name}.tar.xz";
+    sha256 = "ba074e2157302d91d73b68e13207bf85452b84234e429b1ec9b9a7b1c70736d8";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  propagatedBuildInputs = [  ];
+
+  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2
+                  gtkmm3 libgtop makeWrapper
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-system-monitor" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-system-monitor/3.12/;
+    description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix
new file mode 100644
index 00000000000..057ef191a6f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
+, gnome_doc_utils, intltool, libX11, which, libuuid
+, desktop_file_utils, itstool, makeWrapper, appdata-tools }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.12";
+  versionMinor = "2";
+
+  name = "gnome-terminal-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
+    sha256 = "ea19ce610af2873d26e1e75491415e17af6a5080366db966f9220fdeea5ebecd";
+  };
+
+  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools
+                  gnome3.dconf itstool makeWrapper gnome3.nautilus ];
+
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
+
+  # FIXME: enable for gnome3
+  configureFlags = [ "--disable-search-provider" "--disable-migration" ];
+
+  preFixup = ''
+    for f in "$out/libexec/gnome-terminal-server"; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-themes-standard/default.nix
new file mode 100644
index 00000000000..5128a195141
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-themes-standard/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-themes-standard-3.12.0";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-themes-standard/3.12/${name}.tar.xz";
+    sha256 = "a05d1b7ca872b944a69d0c0cc2369408ece32ff4355e37f8594a1b70d13c3217";
+  };
+  
+  buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
new file mode 100644
index 00000000000..7377c839d1c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-user-docs-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz";
+    sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418";
+  };
+
+  buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-help/3.12;
+    description = "User and system administration help for the Gnome desktop";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.cc-by-30;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix
new file mode 100644
index 00000000000..976b0eaca45
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused
+, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd
+, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-user-share-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz";
+    sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f";
+  };
+
+  doCheck = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  preConfigure = ''
+    sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf 
+  '';
+
+  configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd"
+                     "--with-modules-path=${apacheHttpd_2_2}/modules"
+                     "--disable-bluetooth"
+                     "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
+                  makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  nautilus libnotify libcanberra_gtk3 ];
+
+  postInstall = ''
+    mkdir -p $out/share/gsettings-schemas/$name
+    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name
+    ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
+  '';
+
+  preFixup = ''
+    wrapProgram "$out/libexec/gnome-user-share" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://help.gnome.org/users/gnome-user-share/3.8;
+    description = "Service that exports the contents of the Public folder in your home directory on the local network";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
new file mode 100644
index 00000000000..a8a1c244767
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite
+, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av
+, gmime, json_glib, avahi, tracker, itstool }:
+
+stdenv.mkDerivation rec {
+  name = "grilo-plugins-0.2.12";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
+    sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
+  };
+
+  installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
+
+  buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata
+                  lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts
+                  gnome3.totem-pl-parser gnome3.rest gmime json_glib
+                  avahi gnome3.libmediaart tracker intltool itstool ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
+    description = "A collection of plugins for the Grilo framework";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
new file mode 100644
index 00000000000..6f1bfbbcfe9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib
+, libxml2, gnome3, gobjectIntrospection, libsoup }:
+
+stdenv.mkDerivation rec {
+  name = "grilo-0.2.10";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
+    sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
+  };
+
+  configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
+
+  preConfigure = ''
+    for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do
+       substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/"
+       substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0"
+    done
+  '';
+
+  buildInputs = [ pkgconfig file intltool glib libxml2 libsoup
+                  gnome3.totem-pl-parser gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
+    description = "Framework that provides access to various sources of multimedia content, using a pluggable system";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/3.12/core/gsettings-desktop-schemas/default.nix
new file mode 100644
index 00000000000..917bcd99c95
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gsettings-desktop-schemas/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
+  # just for passthru
+, gtk3, gsettings_desktop_schemas }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.12";
+  versionMinor = "2";
+  moduleName   = "gsettings-desktop-schemas";
+
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "da75021e9c45a60d0a97ea3486f93444275d0ace86dbd1b97e5d09000d8c4ad1";
+  };
+
+  buildInputs = [ glib gobjectIntrospection ];
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
new file mode 100644
index 00000000000..4564b0d21e1
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
+, libxml2Python, perl, intltool, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "gtksourceview-${version}";
+  version = "3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz";
+    sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad";
+  };
+
+  buildInputs = [ pkgconfig atk cairo glib gtk3 pango
+                  libxml2Python perl intltool gettext ];
+
+  preBuild = ''
+    substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
+  ''; 
+
+  patches = [ ./nix_share_path.patch ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch
new file mode 100644
index 00000000000..c87350167c2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch
@@ -0,0 +1,11 @@
+--- a/gtksourceview/gtksourceview-utils.c	2014-07-13 16:13:57.418687726 +0200
++++ b/gtksourceview/gtksourceview-utils.c	2014-07-13 16:14:20.550847767 +0200
+@@ -68,6 +68,8 @@
+ 							 basename,
+ 							 NULL));
+ 
++        g_ptr_array_add (dirs, g_build_filename ("@NIX_SHARE_PATH@", SOURCEVIEW_DIR, basename, NULL));
++
+ 	g_ptr_array_add (dirs, NULL);
+ 
+ 	return (gchar**) g_ptr_array_free (dirs, FALSE);
diff --git a/pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix
new file mode 100644
index 00000000000..590f8706fff
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, intltool, fetchurl, pkgconfig, gtk3
+, glib, desktop_file_utils, bash
+, makeWrapper, gnome3, file, itstool, libxml2 }:
+
+# TODO: icons and theme still does not work
+# use packaged gnome3.gnome_icon_theme_symbolic 
+
+stdenv.mkDerivation rec {
+  name = "gucharmap-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gucharmap/3.12/${name}.tar.xz";
+    sha256 = "5e260767da43f6dc31a8be33ca363da56781349b367464fa9c478bca66aa18d9";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
+
+  buildInputs = [ pkgconfig gtk3 intltool itstool glib
+                  gnome3.yelp_tools libxml2 file desktop_file_utils
+                  gnome3.gsettings_desktop_schemas makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gucharmap" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Gucharmap;
+    description = "GNOME Character Map, based on the Unicode Character Database";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix
new file mode 100644
index 00000000000..e5f6a0aa9b8
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libcroco-0.6.8";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
+    sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
+  };
+
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+
+  buildInputs = [ pkgconfig libxml2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgdata/default.nix
new file mode 100644
index 00000000000..9a1a45e0d1a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgdata/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib
+, gobjectIntrospection, liboauth, gnome3, p11_kit, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "libgdata-0.14.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgdata/0.14/${name}.tar.xz";
+    sha256 = "1scjs944kjazbsh86kdj6w2vprib6yd3wzxzabcs59acmr0m4hax";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
+
+  buildInputs = with gnome3;
+    [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection
+      liboauth gcr gnome_online_accounts p11_kit openssl ];
+      
+  meta = with stdenv.lib; {
+    description = "GData API library";
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgee/default.nix
new file mode 100644
index 00000000000..b21c274ce51
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgee/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }:
+let
+  ver_maj = "0.14";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "libgee-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgee/${ver_maj}/${name}.tar.xz";
+    sha256 = "08e466d3f214c9466860b5a82629de0de9eb89b1de7bd918fe154e569b5834cd";
+  };
+
+  doCheck = true;
+
+  patches = [ ./fix_introspection_paths.patch ];
+
+  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/3.12/core/libgee/fix_introspection_paths.patch
new file mode 100644
index 00000000000..67003f45164
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgee/fix_introspection_paths.patch
@@ -0,0 +1,13 @@
+--- fix_introspection_paths.patch/configure	2014-01-07 17:43:53.521339338 +0000
++++ fix_introspection_paths.patch/configure-fix	2014-01-07 17:45:11.068635069 +0000
+@@ -12085,8 +12085,8 @@
+        INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
++       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
new file mode 100644
index 00000000000..65d1c9d1493
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "libgnome-keyring-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnome-keyring/3.12/${name}.tar.xz";
+    sha256 = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783";
+  };
+
+  propagatedBuildInputs = [ glib gobjectIntrospection dbus_libs libgcrypt ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = {
+    description = "Framework for managing passwords and other secrets";
+    homepage = http://live.gnome.org/GnomeKeyring;
+    # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
+    inherit (glib.meta) platforms maintainers;
+
+    longDescription = ''
+      gnome-keyring is a program that keeps password and other secrets for
+      users. The library libgnome-keyring is used by applications to integrate
+      with the gnome-keyring system.
+    '';
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgnomekbd/default.nix
new file mode 100644
index 00000000000..1156474e5a7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgnomekbd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "libgnomekbd-3.6.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnomekbd/3.6/${name}.tar.xz";
+    sha256 = "c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09";
+  };
+
+  buildInputs = [ pkgconfig file intltool glib gtk3 libxklavier makeWrapper ];
+
+  preFixup = ''
+    wrapProgram $out/bin/gkbd-keyboard-display \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Keyboard management library";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgweather/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgweather/default.nix
new file mode 100644
index 00000000000..8246a2183b7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgweather/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
+, pango, gdk_pixbuf, atk, tzdata }:
+
+stdenv.mkDerivation rec {
+  name = "libgweather-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgweather/3.12/${name}.tar.xz";
+    sha256 = "54ef096350d7774ab1b3f23ed768246301cdcedfaa762a2c46920bf87fcc1c37";
+  };
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ];
+  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix
new file mode 100644
index 00000000000..72d307f4f1a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
+, openssl, bzip2, acl, attr
+}:
+
+stdenv.mkDerivation rec {
+  name = "libgxps-0.2.2";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
+  };
+
+  buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
+
+  configureFlags = "--without-liblcms2";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix
new file mode 100644
index 00000000000..547a52ccf9a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, intltool
+, glib, gtk3, gobjectIntrospection, python, pygobject3
+}:
+
+stdenv.mkDerivation rec {
+  name = "libpeas-${version}";
+  version = "1.10.0";
+
+  buildInputs =  [
+   intltool pkgconfig
+   glib gtk3 gobjectIntrospection python pygobject3
+  ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libpeas/1.10/${name}.tar.xz";
+    sha256 = "4695bc40e4885a903dbc5ce6a3704392feae63af51fd4da7a3888bb88ca78c47";
+  };
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = {
+    description = "A GObject-based plugins engine";
+    homepage = "http://ftp.acc.umu.se/pub/GNOME/sources/libpeas/";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/3.12/core/libzapojit/default.nix
new file mode 100644
index 00000000000..5a8117528b6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/libzapojit/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }:
+
+stdenv.mkDerivation rec {
+  name = "libzapojit-0.0.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libzapojit/0.0/${name}.tar.xz";
+    sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
+  };
+
+  buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.12/core/mutter/default.nix
new file mode 100644
index 00000000000..aa1af1ebd55
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/mutter/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
+, pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3
+, libtool, makeWrapper }:
+
+
+stdenv.mkDerivation rec {
+  name = "mutter-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/mutter/3.12/${name}.tar.xz";
+    sha256 = "e653cf3e8c29af8d8c086bebcaa06781c48695be949417b72278fee37fe9e173";
+  };
+
+  # fatal error: gio/gunixfdlist.h: No such file or directory
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra"; 
+
+  buildInputs = with gnome3;
+    [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower
+      gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra
+      libcanberra_gtk3 zenity libtool makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/mutter" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.12/core/nautilus/default.nix
new file mode 100644
index 00000000000..dceb7c817bd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/nautilus/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
+, gtk, gnome3, libunique, intltool, gobjectIntrospection
+, libnotify, makeWrapper, exempi, librsvg, tracker }:
+
+stdenv.mkDerivation rec {
+  name = "nautilus-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/nautilus/3.12/${name}.tar.xz";
+    sha256 = "969c2bedc324eab7b9399bdb3a7db61f819a2995c733349ded081b059a1cafb1";
+  };
+
+  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg
+                  gnome3.gnome_desktop gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas libnotify makeWrapper tracker ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/nautilus" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  patches = [ ./extension_dir.patch ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch b/pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch
new file mode 100644
index 00000000000..317b8257992
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch
@@ -0,0 +1,24 @@
+diff --git a/libnautilus-private/nautilus-module.c b/libnautilus-private/nautilus-module.c
+index 6273a76..4adcc8a 100644
+--- a/libnautilus-private/nautilus-module.c
++++ b/libnautilus-private/nautilus-module.c
+@@ -242,11 +242,17 @@ void
+ nautilus_module_setup (void)
+ {
+ 	static gboolean initialized = FALSE;
++	const gchar* extensiondir = NULL;
+ 
+ 	if (!initialized) {
+ 		initialized = TRUE;
+-		
+-		load_module_dir (NAUTILUS_EXTENSIONDIR);
++	
++		extensiondir = g_getenv ("NAUTILUS_EXTENSION_DIR");
++		if (extensiondir == NULL) {
++			extensiondir = NAUTILUS_EXTENSIONDIR;
++		}
++	
++		load_module_dir (extensiondir);
+ 
+ 		eel_debug_call_at_shutdown (free_module_objects);
+ 	}
diff --git a/pkgs/desktops/gnome-3/3.12/core/rest/default.nix b/pkgs/desktops/gnome-3/3.12/core/rest/default.nix
new file mode 100644
index 00000000000..9e19d4f9005
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/rest/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "rest-0.7.91";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz";
+    sha256 = "838814d935143f2dc99eb79f1ac69c615e7b547339f6cd226dd0ed4d7c16b67a";
+  };
+
+  buildInputs = [ pkgconfig glib libsoup gobjectIntrospection];
+
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/sushi/default.nix b/pkgs/desktops/gnome-3/3.12/core/sushi/default.nix
new file mode 100644
index 00000000000..2830d5bac27
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/sushi/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib
+, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz
+, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1
+, gdk_pixbuf, librsvg, hicolor_icon_theme }:
+
+stdenv.mkDerivation rec {
+  name = "sushi-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/sushi/3.12/${name}.tar.xz";
+    sha256 = "78594a858371b671671205e7b2518e7eb82ed8c2540b62f45a657aaabdf1a9ff";
+  };
+
+  propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
+
+  buildInputs = [ pkgconfig file intltool gobjectIntrospection glib
+                  clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg
+                  gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    wrapProgram $out/libexec/sushi-start \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://en.wikipedia.org/wiki/Sushi_(software)";
+    description = "A quick previewer for Nautilus";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem-pl-parser/default.nix
new file mode 100644
index 00000000000..f1b3bfe53c1
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/totem-pl-parser/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup }:
+
+stdenv.mkDerivation rec {
+  name = "totem-pl-parser-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz";
+    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
+  };
+
+  buildInputs = [ pkgconfig file intltool gmime libxml2 libsoup ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Videos;
+    description = "Simple GObject-based library to parse and save a host of playlist formats";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
new file mode 100644
index 00000000000..3589299df3e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, intltool, fetchurl, gst_all_1
+, clutter_gtk, clutter-gst, pygobject3, shared_mime_info
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, libxml2, dbus_glib
+, gnome3, librsvg, gdk_pixbuf, file }:
+
+stdenv.mkDerivation rec {
+  name = "totem-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz";
+    sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3";
+  };
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo
+                  clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
+                  gnome3.libpeas pygobject3 shared_mime_info dbus_glib
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas makeWrapper file ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/totem" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  patches = [ ./fix_files_loss.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Videos;
+    description = "Movie player for the GNOME desktop based on GStreamer";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
new file mode 100644
index 00000000000..b85ad1efd00
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
@@ -0,0 +1,72 @@
+From 524c9e39a0ca6f2d1699e6e6d9ba3db1ea80d9f9 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 15 May 2014 19:28:35 +0200
+Subject: main: Fix potential data loss when removing multiple files
+
+We were using a list of GtkTreePaths and deleting the items one-by-one
+when the user clicked the "Delete" button. But after the first deletion,
+the tree model would have changed, and instead of pointing to the 2nd
+item we wanted to delete, the GtkTreePath would have pointed to another
+item, usually not one that we wanted to delete.
+
+We now use GtkTreeRowReferences, which will always point to the same
+row, as long as it exists.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=729778
+
+diff --git a/src/totem-grilo.c b/src/totem-grilo.c
+index 2133d77..0cff0d6 100644
+--- a/src/totem-grilo.c
++++ b/src/totem-grilo.c
+@@ -2074,7 +2074,8 @@ static void
+ delete_foreach (gpointer data,
+ 		gpointer user_data)
+ {
+-	GtkTreePath *path = data;
++	GtkTreeRowReference *ref = data;
++	GtkTreePath *path;
+ 	GtkTreeModel *view_model = user_data;
+ 	GtkTreeIter iter;
+ 	GrlSource *source;
+@@ -2085,8 +2086,11 @@ delete_foreach (gpointer data,
+ 	GtkTreeModel *model;
+ 	GtkTreeIter real_model_iter;
+ 
+-	if (!gtk_tree_model_get_iter (view_model, &iter, path))
++	path = gtk_tree_row_reference_get_path (ref);
++	if (!path || !gtk_tree_model_get_iter (view_model, &iter, path)) {
++		g_warning ("An item that was scheduled for removal isn't available any more");
+ 		return;
++	}
+ 
+ 	gtk_tree_model_get (view_model, &iter,
+ 			    MODEL_RESULTS_CONTENT, &media,
+@@ -2151,14 +2155,23 @@ delete_cb (TotemSelectionToolbar *bar,
+ 	   TotemGrilo            *self)
+ {
+ 	GtkTreeModel *model;
+-	GList *list;
++	GList *list, *l;
+ 
+ 	g_signal_handlers_block_by_func (self->priv->browser, "view-selection-changed", self);
+ 
+ 	model = gd_main_view_get_model (GD_MAIN_VIEW (self->priv->browser));
+ 	list = gd_main_view_get_selection (GD_MAIN_VIEW (self->priv->browser));
++
++	/* GList of GtkTreePaths to a GList of GtkTreeRowReferences */
++	for (l = list; l != NULL; l = l->next) {
++		GtkTreeRowReference *ref;
++
++		ref = gtk_tree_row_reference_new (model, l->data);
++		gtk_tree_path_free (l->data);
++		l->data = ref;
++	}
+ 	g_list_foreach (list, delete_foreach, model);
+-	g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
++	g_list_free_full (list, (GDestroyNotify) gtk_tree_row_reference_free);
+ 
+ 	g_signal_handlers_unblock_by_func (self->priv->browser, "view-selection-changed", self);
+ 
+-- 
+cgit v0.10.1
+
diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
new file mode 100644
index 00000000000..79155fe9b56
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, intltool, fetchurl, libxml2, upower
+, pkgconfig, gtk3, glib, hicolor_icon_theme
+, bash, makeWrapper, itstool, vala, sqlite
+, gnome3, librsvg, gdk_pixbuf, file, libnotify
+, evolution_data_server, gst_all_1, poppler
+, icu, taglib, libjpeg, libtiff, giflib, libcue
+, libvorbis, flac, exempi, networkmanager
+, libpng, libexif, libgsf, libuuid, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "tracker-1.0.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz";
+    sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2
+                  bzip2 gnome3.totem-pl-parser
+                  gnome3.gsettings_desktop_schemas makeWrapper file
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite
+                  upower libnotify evolution_data_server gnome3.libgee
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base flac
+                  poppler icu taglib libjpeg libtiff giflib libvorbis
+                  exempi networkmanager libpng libexif libgsf libuuid
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  preFixup = ''
+    for f in $out/bin/* $out/libexec/*; do
+      wrapProgram $f \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Tracker;
+    description = "Desktop-neutral user information store, search tool and indexer";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/vino/default.nix b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
new file mode 100644
index 00000000000..1692b2c9c96
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper
+, hicolor_icon_theme, gnome3
+, libnotify, file, telepathy_glib, dbus_glib }:
+
+stdenv.mkDerivation rec {
+  name = "vino-${versionMajor}.${versionMinor}";
+  versionMajor = "3.12";
+  versionMinor = "0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/vino/${versionMajor}/${name}.tar.xz";
+    sha256 = "86c9d8b60d79982e4488815db0d441c398e011ad8262659789afecc97a01ca5b";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify
+                  hicolor_icon_theme gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+                  dbus_glib telepathy_glib file makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/libexec/vino-server" \
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/Vino;
+    description = "GNOME desktop sharing server";
+    maintainers = with maintainers; [ lethalman iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
new file mode 100644
index 00000000000..41597e47fa5
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "0.36";
+  versionMinor = "2";
+  moduleName   = "vte";
+
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345";
+  };
+
+  buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
+
+  configureFlags = [ "--enable-introspection" ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gnome.org/;
+    description = "A library implementing a terminal emulator widget for GTK+";
+    longDescription = ''
+      VTE is a library (libvte) implementing a terminal emulator widget for
+      GTK+, and a minimal sample application (vte) using that.  Vte is
+      mainly used in gnome-terminal, but can also be used to embed a
+      console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
+      character set conversion, as well as emulating any terminal known to
+      the system's terminfo database.
+    '';
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ astsmtl antono lethalman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix
new file mode 100644
index 00000000000..ba83380f86d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "yelp-tools-3.12.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/yelp-tools/3.12/${name}.tar.xz";
+    sha256 = "7a5370d7adbec3b6e6b7b5e7e5ed966cb99c797907a186b94b93c184e97f0172";
+  };
+
+  buildInputs = [ libxml2 libxslt itstool gnome3.yelp_xsl pkgconfig ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
+    description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
new file mode 100644
index 00000000000..0a5bc78af47
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, intltool, fetchurl, pkgconfig, bash
+, itstool, libxml2, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "yelp-xsl-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/yelp-xsl/3.12/${name}.tar.xz";
+    sha256 = "dd0b8af338b1cdae50444273d7c761e3f511224421487311103edc95a4493656";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ pkgconfig intltool itstool libxml2 libxslt ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Yelp;
+    description = "Yelp's universal stylesheets for Mallard and DocBook";
+    maintainers = with maintainers; [ lethalman ];
+    # TODO license = [licenses.gpl2 licenses.lgpl2];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
new file mode 100644
index 00000000000..d8897e262d5
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
+, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
+, bash, makeWrapper, itstool, libxml2, libxslt, icu }:
+
+stdenv.mkDerivation rec {
+  name = "yelp-3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/yelp/3.12/${name}.tar.xz";
+    sha256 = "0k2a1fggidmh98x2fv8zki2lbx7wx7p4b25iq11p6q8j9fwr2ff8";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard  ];
+
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
+
+  buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
+                  libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl
+                  librsvg gdk_pixbuf gnome3.gnome_icon_theme
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  gnome3.gsettings_desktop_schemas ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/yelp" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Yelp;
+    description = "Yelp is the help viewer in Gnome.";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.12/core/zenity/default.nix
new file mode 100644
index 00000000000..ca20bbc785d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/zenity/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
+, gnome_doc_utils, intltool, libX11, which, itstool }:
+
+stdenv.mkDerivation rec {
+
+  versionMajor = "3.12";
+  versionMinor = "1";
+
+  name = "zenity-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/zenity/${versionMajor}/${name}.tar.xz";
+    sha256 = "a59705cdd1ea5318fdae3075c1cedcbead479230e9bead204391566d973dae11";
+  };
+
+  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
+
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
new file mode 100644
index 00000000000..586c66e8494
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -0,0 +1,243 @@
+{ callPackage, pkgs }:
+
+rec {
+  inherit (pkgs) glib gtk2 gtk3 gnome2;
+  gnome3 = pkgs.gnome3_12 // { recurseForDerivations = false; };
+  clutter = pkgs.clutter_1_18;
+  clutter_gtk = pkgs.clutter_gtk.override { inherit clutter; };
+  clutter-gst = pkgs.clutter-gst.override { inherit clutter; };
+  upower = pkgs.upower_99;
+  cogl = pkgs.cogl_1_18;
+  gtk = gtk3; # just to be sure
+  libcanberra = pkgs.libcanberra_gtk3; # just to be sure
+  inherit (pkgs.gnome2) ORBit2;
+  orbit = ORBit2;
+  inherit (pkgs) libsoup;
+
+#### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
+
+  baobab = callPackage ./core/baobab { };
+
+  caribou = callPackage ./core/caribou { };
+
+  dconf = callPackage ./core/dconf { };
+
+  empathy = callPackage ./core/empathy { };
+
+  epiphany = callPackage ./core/epiphany { };
+
+  evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
+
+  evolution_data_server = callPackage ./core/evolution-data-server { };
+
+  gconf = callPackage ./core/gconf { };
+
+  geocode_glib = callPackage ./core/geocode-glib { };
+
+  gcr = callPackage ./core/gcr { }; # ToDo: tests fail
+
+  gdm = callPackage ./core/gdm { };
+
+  gjs = callPackage ./core/gjs { };
+
+  glib_networking = pkgs.glib_networking.override {
+    inherit gsettings_desktop_schemas;
+  };
+
+  gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
+
+  gnome-contacts = callPackage ./core/gnome-contacts { };
+
+  gnome_control_center = callPackage ./core/gnome-control-center { };
+
+  gnome-calculator = callPackage ./core/gnome-calculator { };
+
+  gnome_common = callPackage ./core/gnome-common { };
+
+  gnome_desktop = callPackage ./core/gnome-desktop { };
+
+  gnome-dictionary = callPackage ./core/gnome-dictionary { };
+
+  gnome-disk-utility = callPackage ./core/gnome-disk-utility { };
+
+  gnome-font-viewer = callPackage ./core/gnome-font-viewer { };
+
+  gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
+
+  gnome_icon_theme_symbolic = callPackage ./core/gnome-icon-theme-symbolic { };
+
+  gnome-menus = callPackage ./core/gnome-menus { };
+
+  gnome_keyring = callPackage ./core/gnome-keyring { };
+
+  libgnome_keyring = callPackage ./core/libgnome-keyring { };
+
+  libgnomekbd = callPackage ./core/libgnomekbd { };
+
+  folks = callPackage ./core/folks { };
+
+  gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
+
+  gnome-online-miners = callPackage ./core/gnome-online-miners { };
+
+  gnome_session = callPackage ./core/gnome-session { };
+
+  gnome_shell = callPackage ./core/gnome-shell { };
+
+  gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };
+
+  gnome-screenshot = callPackage ./core/gnome-screenshot { };
+
+  gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { };
+
+  gnome-system-log = callPackage ./core/gnome-system-log { };
+
+  gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
+
+  gnome_terminal = callPackage ./core/gnome-terminal { };
+
+  gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
+
+  gnome-user-docs = callPackage ./core/gnome-user-docs { };
+
+  gnome-user-share = callPackage ./core/gnome-user-share { };
+
+  grilo = callPackage ./core/grilo { };
+
+  grilo-plugins = callPackage ./core/grilo-plugins { };
+
+  gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
+
+  gtksourceview = callPackage ./core/gtksourceview { };
+
+  gucharmap = callPackage ./core/gucharmap { };
+
+  gvfs = pkgs.gvfs.override { gnome = gnome3; lightWeight = false; };
+
+  eog = callPackage ./core/eog { };
+
+  libcroco = callPackage ./core/libcroco {};
+
+  libgee = callPackage ./core/libgee { };
+
+  libgdata = callPackage ./core/libgdata { };
+
+  libgxps = callPackage ./core/libgxps { };
+
+  libpeas = callPackage ./core/libpeas {};
+
+  libgweather = callPackage ./core/libgweather { };
+
+  libzapojit = callPackage ./core/libzapojit { };
+
+  mutter = callPackage ./core/mutter { };
+
+  nautilus = callPackage ./core/nautilus { };
+
+  networkmanager_openvpn = pkgs.networkmanager_openvpn.override {
+    inherit gnome3;
+  };
+
+  networkmanager_pptp = pkgs.networkmanager_pptp.override {
+    inherit gnome3;
+  };
+
+  networkmanager_vpnc = pkgs.networkmanager_vpnc.override {
+    inherit gnome3;
+  };
+
+  networkmanager_openconnect = pkgs.networkmanager_openconnect.override {
+    inherit gnome3;
+  };
+
+  networkmanagerapplet = pkgs.networkmanagerapplet.override {
+    inherit gnome3 gsettings_desktop_schemas glib_networking
+      networkmanager_openvpn networkmanager_pptp networkmanager_vpnc
+      networkmanager_openconnect;
+  };
+
+  rest = callPackage ./core/rest { };
+
+  sushi = callPackage ./core/sushi { };
+
+  totem = callPackage ./core/totem { };
+
+  totem-pl-parser = callPackage ./core/totem-pl-parser { };
+
+  tracker = callPackage ./core/tracker { };
+
+  vte = callPackage ./core/vte { };
+
+  vino = callPackage ./core/vino { };
+
+  yelp = callPackage ./core/yelp { };
+
+  yelp_xsl = callPackage ./core/yelp-xsl { };
+
+  yelp_tools = callPackage ./core/yelp-tools { };
+
+  zenity = callPackage ./core/zenity { };
+
+
+#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
+
+  bijiben = callPackage ./apps/bijiben { };
+
+  evolution = callPackage ./apps/evolution { };
+
+  file-roller = callPackage ./apps/file-roller { };
+
+  gedit = callPackage ./apps/gedit { };
+
+  glade = callPackage ./apps/glade { };
+
+  gnome-boxes = callPackage ./apps/gnome-boxes {
+    gtkvnc = pkgs.gtkvnc.override { enableGTK3 = true; };
+    spice_gtk = pkgs.spice_gtk.override { enableGTK3 = true; };
+  };
+
+  gnome-clocks = callPackage ./apps/gnome-clocks { };
+
+  gnome-documents = callPackage ./apps/gnome-documents { };
+
+  gnome-music = callPackage ./apps/gnome-music { };
+
+  gnome-photos = callPackage ./apps/gnome-photos { };
+
+  nautilus-sendto = callPackage ./apps/nautilus-sendto { };
+
+  # scrollkeeper replacement
+  rarian = callPackage ./desktop/rarian { };
+
+  seahorse = callPackage ./apps/seahorse { };
+
+#### Dev http://ftp.gnome.org/pub/GNOME/devtools/
+
+  anjuta = callPackage ./devtools/anjuta { };
+
+  gdl = callPackage ./devtools/gdl { };
+
+#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
+
+  geary = callPackage ./misc/geary { };
+
+  gfbgraph = callPackage ./misc/gfbgraph { };
+
+  goffice = callPackage ./misc/goffice { };
+
+  gitg = callPackage ./misc/gitg { };
+
+  libgda = callPackage ./misc/libgda { };
+
+  libgit2-glib = callPackage ./misc/libgit2-glib { };
+
+  libmediaart = callPackage ./misc/libmediaart { };
+  
+  gexiv2 = callPackage ./misc/gexiv2 { };
+
+  gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
+
+  gpaste = callPackage ./misc/gpaste { };
+
+  gtkhtml = callPackage ./misc/gtkhtml { };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix
new file mode 100644
index 00000000000..a1b38b21869
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}:
+
+stdenv.mkDerivation rec {
+  name = "rarian-0.8.1";
+  src = fetchurl {
+    url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
+    sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
+  };
+
+  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
+  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/3.12/devtools/anjuta/default.nix
new file mode 100644
index 00000000000..79bfd895257
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/devtools/anjuta/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool,
+  itstool, python }:
+
+let
+  major = "3.13";
+  minor = "1";
+
+in stdenv.mkDerivation rec {
+  version = "${major}.${minor}";
+  name = "anjuta-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/anjuta/${major}/${name}.tar.xz";
+    sha256 = "71bdad9a0e427d9481858eec40b9c1facef4b551d732023cc18a50019df4b78b";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig flex bison gtk3 libxml2 gnome3.gjs gnome3.gdl
+    gnome3.libgda gnome3.gtksourceview intltool itstool python ];
+
+  meta = with stdenv.lib; {
+    description = "Software development studio";
+    homepage = http://anjuta.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/devtools/gdl/default.nix b/pkgs/desktops/gnome-3/3.12/devtools/gdl/default.nix
new file mode 100644
index 00000000000..1dae33cd4e9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/devtools/gdl/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, gtk3, intltool }:
+
+let
+  major = "3.12";
+  minor = "0";
+
+in stdenv.mkDerivation rec {
+  version = "${major}.${minor}";
+  name = "gdl-${version}";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gdl/${major}/${name}.tar.xz";
+    sha256 = "4770f959f31ed5e616fe623c284e8dd6136e49902d19b6e37938d34be4f6b88d";
+  };
+
+  buildInputs = [ pkgconfig libxml2 gtk3 intltool ];
+
+  meta = with stdenv.lib; {
+    description = "Gnome docking library";
+    homepage = https://developer.gnome.org/gdl/;
+    license = [ licenses.gpl2 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
new file mode 100644
index 00000000000..1eb6c0e3ed2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala
+, makeWrapper, gdk_pixbuf, cmake, desktop_file_utils
+, libnotify, libcanberra, libsecret, gmime
+, libpthreadstubs, hicolor_icon_theme
+, gnome3, librsvg, gnome_doc_utils, webkitgtk }:
+
+stdenv.mkDerivation rec {
+  name = "geary-0.6.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz";
+    sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  buildInputs = [ intltool pkgconfig gtk3 makeWrapper cmake desktop_file_utils gnome_doc_utils
+                  vala webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime
+                  libpthreadstubs gnome3.gsettings_desktop_schemas hicolor_icon_theme
+                  gdk_pixbuf librsvg gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
+
+  preConfigure = ''
+    substituteInPlace src/CMakeLists.txt --replace '`pkg-config --variable=girdir gobject-introspection-1.0`' '${webkitgtk}/share/gir-1.0'
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/gsettings-schemas/${name}/
+    mv $out/share/glib-2.0 $out/share/gsettings-schemas/${name}
+  '';
+
+  preFixup = ''
+    wrapProgram "$out/bin/geary" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  enableParallelBuilding = true;
+
+  patches = [ ./disable_valadoc.patch ];
+  patchFlags = "-p0";
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/Geary;
+    description = "Mail client for GNOME 3";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch b/pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch
new file mode 100644
index 00000000000..e65c0dea747
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch
@@ -0,0 +1,24 @@
+--- src/CMakeLists.txt.orig	2014-05-23 14:41:20.809160364 +0200
++++ src/CMakeLists.txt	2014-05-23 14:41:29.240261581 +0200
+@@ -696,21 +696,6 @@
+         ${CMAKE_COMMAND} -E copy geary-mailer ${CMAKE_BINARY_DIR}/
+ )
+ 
+-# Valadoc
+-#################################################
+-foreach(pkg ${ENGINE_PACKAGES})
+-    list(APPEND valadoc_pkg_opts "--pkg=${pkg}")
+-endforeach(pkg ${ENGINE_PACKAGES})
+-
+-include(FindValadoc)
+-add_custom_target(
+-    valadoc
+-    WORKING_DIRECTORY
+-        ${CMAKE_SOURCE_DIR}/src
+-    COMMAND
+-        ${VALADOC_EXECUTABLE} --force --no-protected -b ${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_SOURCE_DIR}/valadoc --package-name=geary --package-version=${VERSION} ${ENGINE_SRC} ${valadoc_pkg_opts} --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi
+-)
+-
+ ## Make clean: remove copied files
+ ##################################################
+ set_property(
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gexiv2/default.nix
new file mode 100644
index 00000000000..86942c13f34
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gexiv2/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }:
+
+
+stdenv.mkDerivation rec {
+  name = "gexiv2-${version}";
+  version = "0.7.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz";
+    sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn";
+  };
+  
+  preConfigure = ''
+    patchShebangs .
+  '';
+  
+  buildInputs = [ pkgconfig glib libtool m4 ];
+  propagatedBuildInputs = [ exiv2 ];
+  
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/gexiv2;
+    description = "GObject wrapper around the Exiv2 photo metadata library";
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gfbgraph/default.nix
new file mode 100644
index 00000000000..d36534f0d32
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gfbgraph/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, intltool, fetchurl, pkgconfig, glib
+, gnome3, libsoup, json_glib }:
+
+stdenv.mkDerivation rec {
+  name = "gfbgraph-0.2.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz";
+    sha256 = "66c7b1c951863565c179d0b4b5207f27b3b36f80afed9f6a9acfc5fc3ae775d4";
+  };
+
+  buildInputs = [ pkgconfig glib gnome3.gnome_online_accounts ];
+  propagatedBuildInputs = [ libsoup json_glib gnome3.rest ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "GLib/GObject wrapper for the Facebook Graph API";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
new file mode 100644
index 00000000000..7ca35a8255f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
+, json_glib, webkitgtk,  makeWrapper, libpeas, bash, gobjectIntrospection
+, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg }:
+
+# TODO: icons and theme still does not work
+# use packaged gnome3.gnome_icon_theme_symbolic 
+
+stdenv.mkDerivation rec {
+  name = "gitg-0.3.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz";
+    sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp";
+  };
+
+  preCheck = ''
+    substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
+  '';
+  doCheck = true;
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  propagatedUserEnvPkgs = [ shared_mime_info
+                            gnome3.gnome_themes_standard ];
+
+  buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
+                  libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg
+                  gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gitg" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/gitg/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
+    description = "GNOME GUI client to view git repositories";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
new file mode 100644
index 00000000000..1a48d6529a2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, intltool, fetchurl, python, pygobject3, atk
+, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup
+, bash, makeWrapper, itstool, libxml2, python3Packages
+, gnome3, librsvg, gdk_pixbuf, file, libnotify }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-tweak-tool-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
+    sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
+  };
+
+  doCheck = true;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  makeFlags = [ "DESTDIR=/" ];
+
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+                  gnome3.gsettings_desktop_schemas makeWrapper file
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
+                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
+                  python pygobject3 libnotify gnome3.gnome_shell
+                  libsoup gnome3.gnome_settings_daemon gnome3.nautilus
+                  gnome3.gnome_desktop ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gnome-tweak-tool" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
+  '';
+
+  patches = [ ./find_gsettings.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
+    description = "A tool to customize advanced GNOME 3 options";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/find_gsettings.patch
new file mode 100644
index 00000000000..3e68c04cb3a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/find_gsettings.patch
@@ -0,0 +1,22 @@
+diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py
+index a00fe19..dce74b2 100644
+--- a/gtweak/gsettings.py
++++ b/gtweak/gsettings.py
+@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception):
+ 
+ class _GSettingsSchema:
+     def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options):
+-        if not schema_dir:
+-            schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
+         if not schema_filename:
+             schema_filename = schema_name + ".gschema.xml"
++        if not schema_dir:
++            schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
++            for xdg_dir in GLib.get_system_data_dirs():
++                dir = os.path.join(xdg_dir, "glib-2.0", "schemas")
++                if os.path.exists(os.path.join(dir, schema_filename)):
++                    schema_dir = dir
++                    break
+ 
+         schema_path = os.path.join(schema_dir, schema_filename)
+         if not os.path.exists(schema_path):
diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/0.8.nix b/pkgs/desktops/gnome-3/3.12/misc/goffice/0.8.nix
new file mode 100644
index 00000000000..02520a9f121
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/0.8.nix
@@ -0,0 +1,37 @@
+{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
+, pango, libgsf, libxml2, libart, intltool, gettext
+, cairo, gconf, libgnomeui, pcre, gnome3/*just meta*/ }:
+
+stdenv.mkDerivation rec {
+  name = "goffice-0.8.17";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
+    sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
+  };
+
+  # fix linking error: undefined reference to pcre_info
+  patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986
+
+  buildInputs = [
+    pkgconfig libglade bzip2 libart intltool gettext
+    gconf libgnomeui pcre
+  ];
+
+  propagatedBuildInputs = [
+    # All these are in the "Requires:" field of `libgoffice-0.6.pc'.
+    glib libgsf libxml2 gtk libglade libart cairo pango
+  ];
+
+  postInstall =
+    ''
+      # Get GnuCash to build.  Might be unnecessary if we upgrade pkgconfig.
+      substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
+    '';
+
+  doCheck = true;
+
+  meta = gnome3.goffice.meta // {
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
new file mode 100644
index 00000000000..fd16d2d4985
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3
+, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
+
+stdenv.mkDerivation rec {
+  name = "goffice-0.10.12";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
+    sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection?
+    glib gtk3 libxml2 cairo pango libgsf
+  ];
+
+  buildInputs = [ libxslt librsvg ];
+
+  enableParallelBuilding = true;
+  doCheck = true;
+
+  meta = {
+    description = "A Glib/GTK+ set of document centric objects and utilities";
+
+    longDescription = ''
+      There are common operations for document centric applications that are
+      conceptually simple, but complex to implement fully: plugins, load/save
+      documents, undo/redo.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch b/pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch
new file mode 100644
index 00000000000..cd4ef3c9fed
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch
@@ -0,0 +1,13 @@
+diff --git a/goffice/utils/regutf8.c b/goffice/utils/regutf8.c
+index bc4aae4..3adb696 100644
+--- a/goffice/utils/regutf8.c
++++ b/goffice/utils/regutf8.c
+@@ -155,7 +155,7 @@ go_regcomp (GORegexp *gor, const char *pat, int cflags)
+ 		default: return GO_REG_BADPAT;
+ 		}
+ 	} else {
+-		gor->re_nsub = pcre_info (r, NULL, NULL);
++		gor->re_nsub = pcre_fullinfo (r, NULL, NULL, NULL);
+ 		gor->nosub = (cflags & GO_REG_NOSUB) != 0;
+ 		return 0;
+ 	}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
new file mode 100644
index 00000000000..c303ccdf51e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, intltool, autoreconfHook, pkgconfig, vala, glib
+, pango, gtk3, gnome3, dbus, clutter, appdata-tools, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "3.12.2";
+  name = "gpaste-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
+    sha256 = "665c1d228c02148a8a1a5675d352cd4397a02c0c9992af2e9f0258dcc6b812ec";
+  };
+
+  buildInputs = [ intltool autoreconfHook pkgconfig vala glib
+                  gtk3 gnome3.gnome_control_center dbus.libs
+                  clutter pango appdata-tools makeWrapper ];
+
+  preConfigure = "intltoolize -f";
+
+  configureFlags = [ "--with-controlcenterdir=$(out)/gnome-control-center/keybindings"
+                     "--with-dbusservicesdir=$(out)/share/dbus-1/services" ];
+
+  enableParallelBuilding = true;
+
+  preFixup = 
+    let
+      libPath = stdenv.lib.makeLibraryPath
+        [ glib gtk3 clutter pango ];
+    in
+    ''
+      for i in $out/libexec/gpaste/*; do
+        wrapProgram $i \
+          --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Keruspe/GPaste;
+    description = "Clipboard management system with GNOME3 integration";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix
new file mode 100644
index 00000000000..5e27b474cbd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, gtk3, intltool
+, gnome3, enchant, isocodes }:
+
+stdenv.mkDerivation rec {
+  name = "gtkhtml-4.6.6";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz";
+    sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd";
+  };
+
+  buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme
+                  gnome3.gsettings_desktop_schemas ];
+
+  propagatedBuildInputs = [ enchant isocodes ];
+
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/libgda/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libgda/default.nix
new file mode 100644
index 00000000000..3944644a453
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/libgda/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3 }:
+
+let
+  major = "5.2";
+  minor = "2";
+
+in stdenv.mkDerivation rec {
+  version = "${major}.${minor}";
+  name = "libgda-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgda/${major}/${name}.tar.xz";
+    sha256 = "c9b8b1c32f1011e47b73c5dcf36649aaef2f1edaa5f5d75be20d9caadc2bc3e4";
+  };
+
+  configureFlags = [
+    "--enable-gi-system-install=no"
+  ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig intltool itstool libxml2 gtk3 ];
+
+  meta = with stdenv.lib; {
+    description = "Database access library";
+    homepage = http://www.gnome-db.org/;
+    license = [ licenses.lgpl2 licenses.gpl2 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix
new file mode 100644
index 00000000000..17c3b4fa0a8
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, gnome3, libtool, pkgconfig
+, gtk_doc, gobjectIntrospection, libgit2, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libgit2-glib-${version}";
+  version = "0.0.10";
+
+  src = fetchurl {
+    url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
+    sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs";
+  };
+
+  configureScript = "sh ./autogen.sh";
+
+  buildInputs = [ gnome3.gnome_common libtool pkgconfig
+                  gtk_doc gobjectIntrospection libgit2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix
new file mode 100644
index 00000000000..4985bfa902c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "libmediaart-0.4.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz";
+    sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c";
+  };
+
+  buildInputs = [ pkgconfig glib gdk_pixbuf ];
+
+  meta = with stdenv.lib; {
+    description = "Library tasked with managing, extracting and handling media art caches";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
deleted file mode 100644
index ab25845c413..00000000000
--- a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xlibs, libXi
-, intltool, dbus_glib, at_spi2_core, libSM }:
-
-stdenv.mkDerivation rec {
-  versionMajor = "2.8";
-  versionMinor = "1";
-  moduleName   = "at-spi2-atk";
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "01pxfnksixrjj27ivllpla54r6nkwsjj34acb0phmp76zna9nrgb";
-  };
-
-  buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
-                  intltool dbus_glib at_spi2_core libSM ];
-}
diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
deleted file mode 100644
index 2d433486677..00000000000
--- a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib
-, libX11, xextproto, libSM, libICE, libXtst, libXi }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "2.8";
-  versionMinor = "0";
-  moduleName   = "at-spi2-core";
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "0n64h6j10sn90ds9y70d9wlvvsbwnrym9fm0cyjxb0zmqw7s6q8q";
-  };
-
-  buildInputs = [
-    python pkgconfig popt  intltool dbus_glib
-    libX11 xextproto libSM libICE libXtst libXi
-  ];
-
-  # ToDo: on non-NixOS we create a symlink from there?
-  configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
-}
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
deleted file mode 100644
index a9fce636937..00000000000
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
-, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
-, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
-, poppler, ghostscriptX, djvulibre, libspectre
-, makeWrapper #, python /*just for tests*/
-, recentListSize ? null # 5 is not enough, allow passing a different number
-}:
-
-stdenv.mkDerivation rec {
-  name = "evince-3.6.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/evince/3.6/${name}.tar.xz";
-    sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
-  };
-
-  buildInputs = [
-    pkgconfig intltool perl perlXMLParser libxml2
-    glib gtk3 pango atk gdk_pixbuf
-    itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
-    poppler ghostscriptX djvulibre libspectre
-    makeWrapper
-  ];
-
-  configureFlags = [
-    "--disable-nautilus" # Do not use nautilus
-    "--disable-dbus" # strange compilation error
-  ];
-
-  preConfigure = with stdenv.lib;
-    optionalString doCheck ''
-      for file in test/*.py; do
-        echo "patching $file"
-        sed '1s,/usr,${python},' -i "$file"
-      done
-    '' + optionalString (recentListSize != null) ''
-      sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
-      sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
-    '';
-
-  postInstall = ''
-    # Tell Glib/GIO about the MIME info directory, which is used
-    # by `g_file_info_get_content_type ()'.
-    wrapProgram "$out/bin/evince" \
-      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
-  '' + gsettings_desktop_schemas.doCompileSchemas;
-  doCheck = false; # would need pythonPackages.dogTail, which is missing
-
-  meta = {
-    homepage = http://www.gnome.org/projects/evince/;
-    description = "GNOME's document viewer";
-
-    longDescription = ''
-      Evince is a document viewer for multiple document formats.  It
-      currently supports PDF, PostScript, DjVu, TIFF and DVI.  The goal
-      of Evince is to replace the multiple document viewers that exist
-      on the GNOME Desktop with a single simple application.
-    '';
-
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/core/gconf/default.nix
deleted file mode 100644
index 9ca9c227d58..00000000000
--- a/pkgs/desktops/gnome-3/core/gconf/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, gtk, glib, libxml2
-, intltool, polkit, orbit }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.2";
-  versionMinor = "5";
-  moduleName   = "GConf";
-
-  origName = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  name = "gconf-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
-    sha256 = "1ijqks0jxc4dyfxg4vnbqds4aj6miyahlsmlqlkf2bi1798akpjd";
-  };
-
-  buildInputs = [ libxml2 polkit gtk orbit ];
-  propagatedBuildInputs = [ glib dbus_glib  ];
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  # ToDo: ldap reported as not found but afterwards reported as supported
-
-  meta = {
-    homepage = http://projects.gnome.org/gconf/;
-    description = "A system for storing application preferences";
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
deleted file mode 100644
index 44053b88fbc..00000000000
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
-, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }:
-
-stdenv.mkDerivation rec {
-  name = "gcr-3.6.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gcr/3.6/${name}.tar.xz";
-    sha256 = "16xyqxv2hxl3a4m8ahilqcf1ps58w1ijh8dav1l5nqz36ljdn2gp";
-  };
-
-  buildInputs = [
-    pkgconfig intltool gnupg p11_kit glib
-    libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk
-  ];
-
-  configureFlags = "--disable-introspection";
-
-  #doCheck = true;
-}
diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
deleted file mode 100644
index 303bcd2208c..00000000000
--- a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-icon-theme-3.6.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-icon-theme/3.6/${name}.tar.xz";
-    sha256 = "0i8hkx2c1g5ckrvbkvs9n47i8fby8p9xs6p5l0mxdx9aq4smak9i";
-  };
-
-  nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
-}
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
deleted file mode 100644
index 5983b74c0f4..00000000000
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib
-, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-keyring-3.6.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-keyring/3.6/${name}.tar.xz";
-    sha256 = "1mhc2c0qswfjqi2spdvh19b7npfkjf1k40q6v7fja4qpc26maq5f";
-  };
-
-  buildInputs = [
-    dbus libgcrypt pam python gtk3 gconf libgnome_keyring
-    pango gcr gdk_pixbuf atk p11_kit
-  ];
-
-  propagatedBuildInputs = [ glib libtasn1 ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  configureFlags = [
-    "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
-    "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
-    "--with-pkcs11-modules=$$out/lib/pkcs11/"
-  ];
-}
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
deleted file mode 100644
index 41fdcc8086b..00000000000
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, gconf }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.4";
-  versionMinor = "1.1";
-
-  name = "gnome-terminal-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
-    sha256 = "1p9zqjmkxryf2kyghhhwwpsh4kd8y1jzzwc9zxghmpxszi9a5m0l";
-  };
-
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte gconf ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
-}
diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
deleted file mode 100644
index 9c13539a1cc..00000000000
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib
-  # just for passthru
-, gtk3, gsettings_desktop_schemas }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.6";
-  versionMinor = "1";
-  moduleName   = "gsettings-desktop-schemas";
-
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "1rk71q2rky9nzy0zb5jsvxa62vhg7dk65kdgdifq8s761797ga6r";
-  };
-
-  buildInputs = [ glib ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  passthru = {
-    doCompileSchemas = ''
-      for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
-        cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
-      done
-      ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
-    '';
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/gvfs/default.nix b/pkgs/desktops/gnome-3/core/gvfs/default.nix
deleted file mode 100644
index 1eea518c4b7..00000000000
--- a/pkgs/desktops/gnome-3/core/gvfs/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2
-, libcdio, libxml2, libtool, glib, intltool, gconf, libgnome_keyring, libsoup
-, udev, avahi, libxslt, docbook_xsl }:
-
-stdenv.mkDerivation rec {
-  name = "gvfs-1.14.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
-    sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3";
-  };
-
-  buildInputs =
-    [ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 gconf
-      libgnome_keyring libsoup avahi libtool libxslt docbook_xsl
-    ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  enableParallelBuilding = true;
-}
diff --git a/pkgs/desktops/gnome-3/core/libcroco/default.nix b/pkgs/desktops/gnome-3/core/libcroco/default.nix
deleted file mode 100644
index 079a6f169b2..00000000000
--- a/pkgs/desktops/gnome-3/core/libcroco/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, glib }:
-
-stdenv.mkDerivation rec {
-  name = "libcroco-0.6.6"; # 3.6.2 release
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
-    sha256 = "1nbb12420v1zacn6jwa1x4ixikkcqw66sg4j5dgs45nhygiarv3j";
-  };
-
-  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
-
-  buildInputs = [ pkgconfig libxml2 glib ];
-}
diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix
deleted file mode 100644
index a5d196ae1e3..00000000000
--- a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool }:
-
-stdenv.mkDerivation rec {
-  name = "libgnome-keyring-3.6.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgnome-keyring/3.6/${name}.tar.xz";
-    sha256 = "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd";
-  };
-
-  propagatedBuildInputs = [ glib dbus_libs libgcrypt ];
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  meta = {
-    inherit (glib.meta) platforms maintainers;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
deleted file mode 100644
index 78ae94c1a33..00000000000
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
-, pango, gdk_pixbuf, atk }:
-
-stdenv.mkDerivation rec {
-  name = "libgweather-3.6.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgweather/3.6/${name}.tar.xz";
-    sha256 = "1c50m0zrnfh4g58rzf33dfw8ggslj38c61p8a75905bmj3rfyahg";
-  };
-  configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else "";
-  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
-  nativeBuildInputs = [ pkgconfig intltool ];
-}
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
deleted file mode 100644
index ffc3aab8706..00000000000
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses
-, pythonSupport ? false, python, pygtk}:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "0.32";
-  versionMinor = "2";
-  moduleName   = "vte";
-  
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "0sj837b9ib36gx00hzdinv23f7w91fd5mcw1p6wdi053yxqw17nn";
-  };
-
-  buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++
-                stdenv.lib.optionals pythonSupport [python pygtk];
-
-  configureFlags = ''
-    ${if pythonSupport then "--enable-python" else "--disable-python"}
-  '';
-
-  postInstall = stdenv.lib.optionalString pythonSupport ''
-    cd $(toPythonPath $out)/gtk-2.0
-    for n in *; do
-      ln -s "gtk-2.0/$n" "../$n"
-    done
-  '';
-
-  meta = {
-    homepage = http://www.gnome.org/;
-    description = "A library implementing a terminal emulator widget for GTK+";
-    longDescription = ''
-      VTE is a library (libvte) implementing a terminal emulator widget for
-      GTK+, and a minimal sample application (vte) using that.  Vte is
-      mainly used in gnome-terminal, but can also be used to embed a
-      console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
-      character set conversion, as well as emulating any terminal known to
-      the system's terminfo database.
-    '';
-    license = "LGPLv2";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl antono ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix
deleted file mode 100644
index 18b91d4f61e..00000000000
--- a/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.4";
-  versionMinor = "0";
-
-  name = "zenity-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
-    sha256 = "1bqbfcvd3kj2xk15fvbcdaqvyg9qvymlhn8cwvg5m6v4gicniw2w";
-  };
-
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
-}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
deleted file mode 100644
index 8af6d65420a..00000000000
--- a/pkgs/desktops/gnome-3/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ callPackage, lib, self, stdenv, gettext, overrides ? {}, pkgs }:
-
-rec {
-  inherit (pkgs) fetchurl_gnome glib gtk3 atk pango;
-  gtk = gtk3;
-  inherit (pkgs.gnome2) gnome_common ORBit2;
-  orbit = ORBit2;
-
-  inherit (lib) lowPrio hiPrio appendToName makeOverridable;
-
-  __overrides = overrides;
-
-#### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
-
-  at_spi2_atk = callPackage ./core/at-spi2-atk { };
-
-  at_spi2_core = callPackage ./core/at-spi2-core { };
-
-  evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
-
-  gconf = callPackage ./core/gconf { };
-
-  gcr = callPackage ./core/gcr { }; # ToDo: tests fail
-
-  gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
-
-  gnome_keyring = callPackage ./core/gnome-keyring { };
-  libgnome_keyring = callPackage ./core/libgnome-keyring { };
-
-  gnome_terminal = callPackage ./core/gnome-terminal { };
-
-  gsettings_desktop_schemas = lib.lowPrio (callPackage ./core/gsettings-desktop-schemas { });
-
-  gvfs = callPackage ./core/gvfs { };
-
-  libcroco = callPackage ./core/libcroco {};
-
-  libgweather = callPackage ./core/libgweather { };
-
-  vte = callPackage ./core/vte { };
-
-  zenity = callPackage ./core/zenity { };
-
-#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
-
-  gnome_dictionary = callPackage ./desktop/gnome-dictionary { };
-
-  gnome_desktop = callPackage ./desktop/gnome-desktop { };
-
-  # Removed from recent GNOME releases, but still required
-  scrollkeeper = callPackage ./desktop/scrollkeeper { };
-
-  # scrollkeeper replacement
-  rarian = callPackage ./desktop/rarian { };
-
-}
diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
deleted file mode 100644
index 1f0b6c2a971..00000000000
--- a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3
-, intltool, gnome_doc_utils }:
-
-stdenv.mkDerivation rec {
-
-  majorVersion = "3.5";
-  minorVersion = "3";
-  name = "gnome-desktop-${majorVersion}.${minorVersion}";
-
-  enableParallelBuilding = true;
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
-    sha256 = "1nrqcp1p5cxhfjjy5hjpvkqmzsgl2353a08fg0b11c932v95bsba";
-  };
-
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11
-                  gnome3.gtk gnome3.glib intltool gnome_doc_utils ];
-}
diff --git a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
deleted file mode 100644
index 7a1ab5b1505..00000000000
--- a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which
-, libxml2, libxslt }:
-
-stdenv.mkDerivation rec {
-  version = "3.5.2";
-  name = "gnome-dictionary-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-dictionary/3.5/${name}.tar.xz";
-    sha256 = "1cq32csxn27vir5nlixx337ym2nal9ykq3s1j7yynh2adh4m0jil";
-  };
-
-  buildInputs = [ gnome3.gtk ];
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt gnome3.scrollkeeper ];
-}
diff --git a/pkgs/desktops/gnome-3/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/desktop/rarian/default.nix
deleted file mode 100644
index 77a2b710f44..00000000000
--- a/pkgs/desktops/gnome-3/desktop/rarian/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}:
-
-stdenv.mkDerivation rec {
-  name = "rarian-0.8.1";
-  src = fetchurl {
-    url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
-    sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
-  };
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-}
diff --git a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix
deleted file mode 100644
index 97dcbf4e004..00000000000
--- a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
-
-stdenv.mkDerivation {
-  name = "scrollkeeper-0.3.14";
-  src = fetchurl {
-    url = mirror://gnome/sources/scrollkeeper/0.3/scrollkeeper-0.3.14.tar.bz2;
-    sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc";
-  };
-
-  # The fuloong2f is not supported by scrollkeeper-0.3.14 config.guess
-  preConfigure = "
-    substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog
-    cp ${automake}/share/automake*/config.{sub,guess} .
-  ";
-
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-}
diff --git a/pkgs/desktops/kde-4.10/applications/kate.nix b/pkgs/desktops/kde-4.10/applications/kate.nix
deleted file mode 100644
index e8efc87775a..00000000000
--- a/pkgs/desktops/kde-4.10/applications/kate.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }:
-
-kde {
-
-  buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4];
-
-  meta = {
-    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/applications/konsole.nix b/pkgs/desktops/kde-4.10/applications/konsole.nix
deleted file mode 100644
index 0db47fb2d7c..00000000000
--- a/pkgs/desktops/kde-4.10/applications/konsole.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Konsole, the KDE terminal emulator";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/default.nix b/pkgs/desktops/kde-4.10/default.nix
deleted file mode 100644
index f56e64e2d15..00000000000
--- a/pkgs/desktops/kde-4.10/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.10.5" }:
-
-let
-  # Need callPackageOrig to avoid infinite cycle
-  kde = callPackageOrig ./kde-package {
-    inherit release ignoreList extraSubpkgs callPackage;
-  };
-
-  # The list of igored individual modules
-  ignoreList = {
-    # Doesn't work yet
-    kdeutils = [ "ksecrets" ];
-    # kdeadmin/strigi-analyzer has no real code
-    kdeadmin = [ "strigi-analyzer" ];
-    # fake package to make things just work
-    kdesdk = [ "fake" ];
-    # Most of kdebindings do not compile due to a bug in the buildsystem
-    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
-  };
-
-  # Extra subpackages in the manifest format
-  extraSubpkgs = {
-    kdesdk = [
-      { name="cervisia"; }
-      { name="lokalize"; }
-      { name = "kioslave-svn"; sane = "kioslave_svn"; subdir = "kdesdk-kioslaves"; }
-      { name = "kioslave-perldoc"; sane = "kioslave_perldoc"; subdir = "kdesdk-kioslaves"; }
-      { name="dolphin-plugins-svn"; sane="dolphin_plugins_svn";subdir="dolphin-plugins"; }
-      { name="dolphin-plugins-git"; sane="dolphin_plugins_git";subdir="dolphin-plugins"; }
-      { name="dolphin-plugins-hg"; sane="dolphin_plugins_hg";subdir="dolphin-plugins"; }
-      { name="dolphin-plugins-bazaar"; sane="dolphin_plugins_bazaar";subdir="dolphin-plugins"; }
-      { name="kcachegrind"; }
-      { name="kapptemplate"; }
-      { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers";}
-      { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers";}
-      { name="okteta"; }
-      { name="kompare"; }
-      { name="poxml"; }
-      { name="kde-dev-scripts"; sane = "kde_dev_scripts"; }
-      { name="kde-dev-utils"; sane="kde_dev_utils";}
-      #{ name="kprofilemethod"; subdir = "kde-dev-utils/kprofilemethod";}
-      #{ name="kstartperf"; }
-      #{ name="kmtrace"; subdir = "kde-dev-utils/kmtrace"; }
-      #{ name="kpartloader"; }
-      #{ name="kuiviewer"; }
-      { name="umbrello"; }
-    ];
-  };
-
-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.10/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix
deleted file mode 100644
index b564e339eb1..00000000000
--- a/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, shared_desktop_ontologies, glib, htmlTidy, kactivities
-, nepomuk_core, nepomuk_widgets, libXt }:
-
-kde {
-  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
-
-  meta = {
-    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
-    license = "GPLv2";
-  };
-}
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
deleted file mode 100644
index b1abdb8afec..00000000000
--- a/pkgs/desktops/kde-4.10/kde-package/4.10.5.nix
+++ /dev/null
@@ -1,399 +0,0 @@
-{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/kde-package/default.nix b/pkgs/desktops/kde-4.10/kde-package/default.nix
deleted file mode 100644
index 8a6e8e16751..00000000000
--- a/pkgs/desktops/kde-4.10/kde-package/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
-, release, ignoreList, extraSubpkgs
-}:
-
-let
-  inherit (stdenv.lib) filter fold;
-  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
-in
-rec {
-  manifest = import (./. + "/${release}.nix");
-
-  # src attribute for $name tarball
-  kdesrc = name: fetchurl {
-    url = "mirror://kde/" + (if manifest.stable then "" else "un")
-      + "stable/${release}/src/${name}-${release}.tar.xz";
-    sha256 = getAttr name manifest.hashes;
-  };
-
-  # Default meta attribute
-  defMeta = {
-    homepage = http://www.kde.org;
-    platforms = stdenv.lib.platforms.linux;
-    inherit (qt4.meta) maintainers;
-  };
-
-  # KDE package built from the whole tarball
-  # This function is used both for monolithic modules and modules which are
-  # released as individual tarballs
-  kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${release}";
-      src = kdesrc name;
-      meta = defMeta // meta;
-      enableParallelBuilding = true;
-    } // (removeAttrs a [ "meta" "name" ]));
-
-  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
-  # API.
-  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
-
-  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
-  kdeSubdirPkg = module:
-    {name, subdir ? name, sane ? name}:
-    let name_ = name; in
-    a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${release}";
-      src = kdesrc module;
-      cmakeFlags =
-        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
-          "-DBUILD_doc=TRUE"
-          "-DBUILD_${subdir}=TRUE"
-        ] ++ cmakeFlags;
-      meta = defMeta // meta;
-      enableParallelBuilding = module.enableParallelBuilding or true;
-    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
-
-  # A KDE monolithic module
-  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
-
-  # Combine packages in one module.
-  # Arguments:
-  #  * pkgFun --- a function of the following signature:
-  #               module: manifest_attrs: manual_attrs: derivation;
-  #  * module --- name of the module
-  #  * pkgs --- list of packages in manifest format
-  combinePkgs = pkgFun: module: pkgs:
-    let
-      f = p@{name, ...}:
-        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
-      list = map f pkgs;
-      attrs = listToAttrs (map
-        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
-        pkgs);
-    in
-      runCommand "${module}-${release}"
-      ({passthru = attrs // {
-         propagatedUserEnvPackages = list;
-         projects = attrs;
-       };})
-        ''
-          mkdir -pv $out/nix-support
-          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
-        '';
-
-  # Given manifest module data, return the module
-  kdeModule = { module, sane ? module, split, pkgs ? [] }:
-    let
-      pkgs_ = filterPkgs module pkgs;
-    in
-    # Module is splitted by upstream
-    if split then combinePkgs kdeSplittedPkg module pkgs_
-    # Monolithic module
-    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
-    # Module is splitted by us
-    else combinePkgs kdeSubdirPkg module pkgs_;
-
-  # The same, as nameValuePair with sane name
-  kdeModuleNV = a@{ module, sane ? module, ... }:
-    { name = sane; value = kdeModule a; };
-
-  filterPkgs = module: (p:
-      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
-      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
-
-  # Remove attrsets with x.name in subst. Optimized for empty subst.
-  removeNames = subst: big:
-    fold (s: out: filter (x: x.name != s) out) big subst;
-
-  modules = listToAttrs (map kdeModuleNV manifest.modules);
-
-  splittedModuleList =
-    let
-      splitted = filter (a: a ? pkgs) manifest.modules;
-      names = map ({module, sane ? module, ...}: sane) splitted;
-    in
-    map (m: m.projects) (stdenv.lib.attrVals names modules);
-
-  individual =
-    stdenv.lib.zipAttrsWith
-    (
-      name: list:
-      if tail list == []
-      then head list
-      else abort "Multiple modules define ${name}"
-    )
-    splittedModuleList;
-}
diff --git a/pkgs/desktops/kde-4.10/kde-runtime.nix b/pkgs/desktops/kde-4.10/kde-runtime.nix
deleted file mode 100644
index a2fef65d75c..00000000000
--- a/pkgs/desktops/kde-4.10/kde-runtime.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ kde, kdelibs, shared_desktop_ontologies, bzip2, libssh, exiv2, attica
-, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, qca2, xz, pulseaudio
-, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, config
-}:
-
-kde {
-  buildInputs = [
-    kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
-    qca2 samba libcanberra pulseaudio
-    networkmanager kactivities kdepimlibs openexr
-#todo: add openslp
-  ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
-  passthru.propagatedUserEnvPackages = [ virtuoso ];
-
-  meta = {
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kde-wallpapers.nix b/pkgs/desktops/kde-4.10/kde-wallpapers.nix
deleted file mode 100644
index 6e559ad8a6c..00000000000
--- a/pkgs/desktops/kde-4.10/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 = "01k4rr7xkay5j0g8qwmfmvf4d0rjc9sdk121wravsagbidz3s9ci";
-
-  meta = {
-    description = "Wallpapers for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kde-workspace.nix b/pkgs/desktops/kde-4.10/kde-workspace.nix
deleted file mode 100644
index a478dc975fe..00000000000
--- a/pkgs/desktops/kde-4.10/kde-workspace.nix
+++ /dev/null
@@ -1,38 +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,
-  libjpeg, pkgconfig, libXft, libXxf86misc, kactivities, qjson, networkmanager
-}:
-
-kde {
-
-#todo: googlegadgets, consolekit, xmms
-  buildInputs =
-    [ kdelibs qimageblitz libdbusmenu_qt libjpeg xorg.libxcb xorg.xcbutilimage
-      xorg.xcbutilrenderutil libXft #libXxf86misc
-      xorg.libxkbfile xorg.libXcomposite  xorg.libXtst #xorg.libXScrnSaver
-      xorg.libXdamage xorg.libXau xorg.libXdmcp xorg.libpthreadstubs
-      boost gpsd lm_sensors pciutils libraw1394
-      libusb python libqalculate kdepimlibs pam prison akonadi qjson networkmanager
-      kactivities
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  preConfigure =
-   ''
-     # Fix incorrect path to kde4-config.
-     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
-
-     # Fix the path to the keyboard configuration files.
-     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
-       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
-   '';
-
-  enableParallelBuilding = false; # frequent problems on Hydra
-
-  meta = {
-    description = "KDE workspace components such as Plasma, Kwin and System Settings";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.10/kdeadmin/kcron.nix
deleted file mode 100644
index bada0c1cb10..00000000000
--- a/pkgs/desktops/kde-4.10/kdeadmin/kcron.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix
deleted file mode 100644
index bada0c1cb10..00000000000
--- a/pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.10/kdeadmin/kuser.nix
deleted file mode 100644
index 571674a461a..00000000000
--- a/pkgs/desktops/kde-4.10/kdeadmin/kuser.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs, kdepimlibs }:
-
-kde {
-  buildInputs = [ kdelibs kdepimlibs ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix
deleted file mode 100644
index 7028b9db228..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.10/kdeartwork/sounds.nix
deleted file mode 100644
index e98705da889..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix
deleted file mode 100644
index 689223e3148..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, cmake, smokeqt, perl }:
-
-kde {
-#todo: qscintilla2, qwt5
-  buildInputs = [ smokeqt perl ];
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "Perl bindings for Qt library";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch b/pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch
deleted file mode 100644
index e7a7cb4c661..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/kpythonpluginfactory/CMakeLists.txt b/kpythonpluginfactory/CMakeLists.txt
-index 41fa0fe..642d867 100644
---- a/kpythonpluginfactory/CMakeLists.txt
-+++ b/kpythonpluginfactory/CMakeLists.txt
-@@ -3,7 +3,12 @@
- set(kpythonpluginfactory_SRCS
-     kpythonpluginfactory.cpp)
- 
--GET_FILENAME_COMPONENT(LIB_PYTHON ${PYTHON_LIBRARY} NAME)
-+option(HARDCODE_LIB_PYTHON_PATH "Whether the path to libpython.so should be hardcoded" OFF)
-+if(HARDCODE_LIB_PYTHON_PATH)
-+	get_filename_component(LIB_PYTHON ${PYTHON_LIBRARY} REALPATH)
-+else(HARDCODE_LIB_PYTHON_PATH)
-+    get_filename_component(LIB_PYTHON ${PYTHON_LIBRARY} NAME)
-+endif(HARDCODE_LIB_PYTHON_PATH)
- ADD_DEFINITIONS(-DLIB_PYTHON=\\"${LIB_PYTHON}\\")
- ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=15000)
- 
diff --git a/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix
deleted file mode 100644
index 7f6973c054b..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
-  polkit_qt_1, boost, lndir, pkgconfig }:
-
-let pydir = "lib/python${python.majorVersion}"; in
-
-kde {
-
-  # todo: polkit isn't found by the build system
-
-  buildInputs = [
-    python kdepimlibs shared_desktop_ontologies
-    boost polkit_qt_1 pkgconfig
-  ];
-
-  propagatedBuildInputs = [ pyqt4 sip ];
-
-#  patches = [ ./pykde4-hardcode-lib-python.patch ];
-#  cmakeFlags = "-DHARDCODE_LIB_PYTHON_PATH=ON ";
-
-  preConfigure =
-    ''
-      # Symlink PyQt into PyKDE.  This is necessary because PyQt looks
-      # in its PyQt4/uic/widget-plugins directory for plugins, and KDE
-      # needs to install a plugin.
-      mkdir -pv $out/${pydir}
-      ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir}
-      cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" )
-    '';
-
-  meta = {
-    description = "Python bindings for KDE";
-    kde.name = "pykde4";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix
deleted file mode 100644
index 18a3703426c..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, cmake, smokeqt, ruby }:
-
-kde {
-#todo: scintilla2, qwt5
-  buildInputs = [ smokeqt ruby ];
-  nativeBuildInputs = [ cmake ];
-
-  patches = [ ./qtruby-install-prefix.patch ];
-
-  cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";
-
-  meta = {
-    description = "Ruby bindings for Qt library";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch
deleted file mode 100644
index 33ec3df6452..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
-+++ smokegen-4.10.5/CMakeLists.txt      2013-07-31 19:15:17.000000000 +0000
-@@ -36,6 +36,10 @@
- set (CMAKE_SKIP_BUILD_RPATH FALSE)
- set (CMAKE_SKIP_RPATH FALSE)
-
-+# add the automatically determined parts of the RPATH
-+# which point to directories outside the build tree to the install RPATH
-+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+
- configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
-
- add_executable(smokegen ${generator_SRC})
-
diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch b/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch
deleted file mode 100644
index 53257e836e0..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in
---- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in	2013-06-28 17:14:50.000000000 +0000
-+++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in	2013-07-30 21:26:33.000000000 +0000
-@@ -80,8 +80,7 @@
- set(SMOKE_API_BIN "@SMOKE_API_BIN@")
- 
- find_library(SMOKE_BASE_LIBRARY smokebase 
--              PATHS "@SMOKE_LIBRARY_PREFIX@"
--              NO_DEFAULT_PATH)
-+              PATHS "@SMOKE_LIBRARY_PREFIX@")
- 
- if (NOT SMOKE_BASE_LIBRARY)
-     if (Smoke_FIND_REQUIRED)
diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix
deleted file mode 100644
index 0a3f2a85efa..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, qt4, cmake }:
-
-kde {
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ cmake ];
-
-  patches = [ ./smokegen-SmokeConfig.cmake.in-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
-
-  meta = {
-    description = "C++ parser used to generate language bindings for Qt/KDE";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix
deleted file mode 100644
index d129686b2de..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular
-, shared_desktop_ontologies, attica }:
-
-kde {
-  # attica, akonadi and kdepimlibs are disabled due to smokegen crash
-  # okular is disabled because the code generated is broken
-  buildInputs = [
-    smokeqt kdelibs shared_desktop_ontologies
-  ];
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = "-DQTDEFINES_FILE=${smokeqt}/share/smokegen/qtdefines";
-  meta = {
-    description = "SMOKE bindings for kdelibs";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix
deleted file mode 100644
index e95b686aee2..00000000000
--- a/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, qt4, cmake, phonon, qimageblitz, smokegen }:
-
-kde {
-#todo: Qwt5, QScintilla2
-  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.10/kdeedu/cantor.nix b/pkgs/desktops/kde-4.10/kdeedu/cantor.nix
deleted file mode 100644
index 4563012ac67..00000000000
--- a/pkgs/desktops/kde-4.10/kdeedu/cantor.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, libspectre, analitza, R, pkgconfig, gfortran, libqalculate }:
-kde {
-
-  buildInputs = [ kdelibs libspectre analitza R gfortran libqalculate];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "KDE Frontend to Mathematical Software";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix
deleted file mode 100644
index 78fa8119583..00000000000
--- a/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }:
-kde {
-#todo:chemical mime data
-  buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Periodic Table of Elements";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kig.nix b/pkgs/desktops/kde-4.10/kdeedu/kig.nix
deleted file mode 100644
index bd5ef67529c..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.10/kdeedu/kmplot.nix
deleted file mode 100644
index 18458cf6f0b..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdeedu/kstars.nix b/pkgs/desktops/kde-4.10/kdeedu/kstars.nix
deleted file mode 100644
index ce0a13b969d..00000000000
--- a/pkgs/desktops/kde-4.10/kdeedu/kstars.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, eigen, xplanet, indilib }:
-
-kde {
-#todo:wcslib
-  buildInputs = [ kdelibs eigen xplanet indilib ];
-
-  meta = {
-    description = "A KDE graphical desktop planetarium";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/marble.nix b/pkgs/desktops/kde-4.10/kdeedu/marble.nix
deleted file mode 100644
index 4f73472f631..00000000000
--- a/pkgs/desktops/kde-4.10/kdeedu/marble.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, gpsd }:
-
-kde {
-#todo: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate
-  buildInputs = [ kdelibs gpsd ];
-
-  meta = {
-    description = "Marble Virtual Globe";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/rocs.nix b/pkgs/desktops/kde-4.10/kdeedu/rocs.nix
deleted file mode 100644
index 91976b84001..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdeedu/step.nix b/pkgs/desktops/kde-4.10/kdeedu/step.nix
deleted file mode 100644
index fac9974baf1..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegames/palapeli.nix b/pkgs/desktops/kde-4.10/kdegames/palapeli.nix
deleted file mode 100644
index 555ffe43c45..00000000000
--- a/pkgs/desktops/kde-4.10/kdegames/palapeli.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-#todo:package qvoronoi
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a single-player jigsaw puzzle game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix
deleted file mode 100644
index 00910ab9d46..00000000000
--- a/pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, exiv2, shared_desktop_ontologies, kde_baseapps, libkipi
-, libjpeg, libtiff, pkgconfig, kactivities, lcms2 }:
-
-kde {
-
-  buildInputs =
-    [ kdelibs exiv2 shared_desktop_ontologies kactivities kde_baseapps libkipi libjpeg lcms2 ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Gwenview, the KDE image viewer";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.10/kdegraphics/kamera.nix
deleted file mode 100644
index 70904b17c23..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix
deleted file mode 100644
index 58528cb186b..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix
deleted file mode 100644
index 2c2ba3796a2..00000000000
--- a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, okular }:
-
-kde {
-  buildInputs = [ kdelibs okular ];
-
-  meta = {
-    description = "A collection of plugins to handle mobipocket files";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix
deleted file mode 100644
index 35af39aa611..00000000000
--- a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libtiff }:
-
-kde {
-  buildInputs = [ kdelibs libtiff ];
-
-  meta = {
-    description = "Strigi analyzers for various graphics file formats";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix
deleted file mode 100644
index 55bf8309b2a..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.10/kdegraphics/kgamma.nix
deleted file mode 100644
index 28d9252187e..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix
deleted file mode 100644
index 5276ec09f46..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.10/kdegraphics/kruler.nix
deleted file mode 100644
index c5c2c6e05d7..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix
deleted file mode 100644
index 1381ed7dd26..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix
deleted file mode 100644
index f01a609e20d..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.10/kdegraphics/libkdcraw.nix
deleted file mode 100644
index e8790205cae..00000000000
--- a/pkgs/desktops/kde-4.10/kdegraphics/libkdcraw.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libjpeg, lcms1, jasper }:
-
-kde {
-  buildInputs = [ kdelibs libjpeg lcms1 jasper ];
-
-  meta = {
-    description = "Library for decoding RAW images";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix
deleted file mode 100644
index 096b0a6e957..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix
deleted file mode 100644
index 6b16265e7a3..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.10/kdegraphics/libksane.nix
deleted file mode 100644
index b539eab3899..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdegraphics/okular.nix b/pkgs/desktops/kde-4.10/kdegraphics/okular.nix
deleted file mode 100644
index efc1e8f0742..00000000000
--- a/pkgs/desktops/kde-4.10/kdegraphics/okular.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
-, qimageblitz, libtiff, kactivities, pkgconfig }:
-
-kde {
-
-  #todo: package activeapp
-
-  buildInputs =
-    [ chmlib djvulibre ebook_tools kdelibs libspectre popplerQt4 qca2 qimageblitz libtiff kactivities ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Okular, the KDE document viewer";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix
deleted file mode 100644
index a344cc4b4b4..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix
deleted file mode 100644
index 4386317309f..00000000000
--- a/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ kde, gcc, cmake, perl
-, qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper
-, openexr, avahi, kerberos, attr, shared_desktop_ontologies, libXScrnSaver
-, automoc4, strigi, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1
-, getopt, udev, herqq, phonon, libjpeg, xz, ilmbase
-, pkgconfig
-}:
-
-kde {
-  buildInputs =
-    [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq jasper
-      libdbusmenu_qt libXScrnSaver libxslt polkit_qt_1 qca2
-      shared_desktop_ontologies xz udev libjpeg kerberos openexr
-    ];
-
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
-  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.
-  # Split plugins from libs?
-
-  patches = [ ../files/polkit-install.patch ];
-
-  # cmake fails to find acl.h because of C++-style comment
-
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-    "-DHUPNP_ENABLED=ON"
-  ];
-
-  passthru.wantsUdisks2 = false;
-
-  meta = {
-    description = "KDE libraries";
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix
deleted file mode 100644
index cd6f3a179c2..00000000000
--- a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4 }:
-
-kde {
-
-  buildInputs = [ kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg popplerQt4 ];
-
-  meta = {
-    description = "NEPOMUK core";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix
deleted file mode 100644
index 0d29a4f97de..00000000000
--- a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, nepomuk_core }:
-
-kde {
-
-  buildInputs = [ kdelibs nepomuk_core ];
-
-  meta = {
-    description = "NEPOMUK Widgets";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.10/kdemultimedia/juk.nix
deleted file mode 100644
index 7a1aab85ed7..00000000000
--- a/pkgs/desktops/kde-4.10/kdemultimedia/juk.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, taglib }:
-kde {
-  buildInputs = [ kdelibs taglib ];
-  meta = {
-    description = "an audio jukebox application";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/FindmsiLBC.cmake b/pkgs/desktops/kde-4.10/kdenetwork/FindmsiLBC.cmake
deleted file mode 100644
index c40b0bed310..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix
deleted file mode 100644
index bada0c1cb10..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix
deleted file mode 100644
index ac28edb8dd9..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, boost }:
-
-kde {
-  name = "strigi-analyzer-torrent";
-
-  buildInputs = [ kdelibs boost ];
-
-  #preConfigure = "mv -v kdenetwork-strigi-analyzers kfile-plugins";
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix
deleted file mode 100644
index bada0c1cb10..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kget.nix b/pkgs/desktops/kde-4.10/kdenetwork/kget.nix
deleted file mode 100644
index d5f38096a42..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kget.nix
+++ /dev/null
@@ -1,14 +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
-      # kde_baseapps
-      gpgme boost libmms qca2 sqlite
-    ];
-
-  KDEDIRS = libktorrent;
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch b/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch
deleted file mode 100644
index ec003732344..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc b/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc
-index 88fdbd1..57c6c05 100644
---- a/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc
-+++ b/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc
-@@ -200,7 +200,7 @@ bool LinphoneVoiceChannel::SetSendCodecs(const std::vector<AudioCodec>& codecs)
-       LOG(LS_INFO) << "Using " << i->name << "/" << i->clockrate;
-       pt_ = i->id;
-       audio_stream_ = audio_stream_start(&av_profile, -1, "localhost", port1, i->id, 250, 0); /* -1 means that function will choose some free port */
--      port2 = rtp_session_get_local_port(audio_stream_->session);
-+      port2 = rtp_session_get_local_port(audio_stream_->ms.session);
-       first = false;
-     }
-   }
-@@ -211,7 +211,7 @@ bool LinphoneVoiceChannel::SetSendCodecs(const std::vector<AudioCodec>& codecs)
-     // working with a buggy client; let's try PCMU.
-     LOG(LS_WARNING) << "Received empty list of codces; using PCMU/8000";
-     audio_stream_ = audio_stream_start(&av_profile, -1, "localhost", port1, 0, 250, 0); /* -1 means that function will choose some free port */
--    port2 = rtp_session_get_local_port(audio_stream_->session);
-+    port2 = rtp_session_get_local_port(audio_stream_->ms.session);
-   }
- 
-   return true;
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch b/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch
deleted file mode 100644
index d6aa9515b76..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h b/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h
---- a/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h
-+++ b/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h
-@@ -25,16 +25,8 @@
-  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */
- 
--#ifndef __STUN_H__
--#define __STUN_H__
--
--// This file contains classes for dealing with the STUN and TURN protocols.
--// Both protocols use the same wire format.
--
--#include "talk/base/basictypes.h"
--#include "talk/base/bytebuffer.h"
--#include <string>
--#include <vector>
-+#ifndef STUN__HH__IN__STUNREQUEST_CYCLIC_PROBLEM_FIX
-+#define STUN__HH__IN__STUNREQUEST_CYCLIC_PROBLEM_FIX
- 
- namespace cricket {
- 
-@@ -55,6 +47,23 @@
-   STUN_DATA_INDICATION              = 0x0115
- };
- 
-+}
-+
-+#endif // STUN__HH__IN__STUNREQUEST_CYCLIC_PROBLEM_FIX
-+
-+#ifndef __STUN_H__
-+#define __STUN_H__
-+
-+// This file contains classes for dealing with the STUN and TURN protocols.
-+// Both protocols use the same wire format.
-+
-+#include "talk/base/basictypes.h"
-+#include "talk/base/bytebuffer.h"
-+#include <string>
-+#include <vector>
-+
-+namespace cricket {
-+
- // These are the types of attributes defined in STUN & TURN.  Next to each is
- // the name of the class (T is StunTAttribute) that implements that type.
- enum StunAttributeType {
-
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.10/kdenetwork/kopete.nix
deleted file mode 100644
index 7139c62981c..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kopete.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ kde, kdelibs, speex, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
-  jasper, libidn, mediastreamer, msilbc, pkgconfig, libxslt, giflib,
-  libgadu, boost, qca2, gpgme, sqlite, telepathy_qt, shared_desktop_ontologies,
-  libjpeg, libmms }:
-
-kde {
-#todo: libmeanwhile, xmms
-  buildInputs = [
-    kdelibs telepathy_qt shared_desktop_ontologies qca2 gpgme libgadu mediastreamer
-    kdepimlibs qimageblitz libktorrent libjpeg sqlite jasper giflib libmsn libotr
-    libxslt libidn speex boost libmms msilbc
-];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  KDEDIRS = libktorrent;
-
-  patchPhase =
-    ''
-      cp -v ${./FindmsiLBC.cmake} kopete/cmake/modules/FindmsiLBC.cmake
-      patch -p1 < ${./kopete-4.10.4-kopete-linphonemediaengine.patch}
-      patch -p1 < ${./kopete-4.10.4-kopete-stun.patch}
-    '';
-
-  cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
-
-  meta = {
-    description = "A KDE multi-protocol IM client";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix
deleted file mode 100644
index bada0c1cb10..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix
deleted file mode 100644
index 1b7405f1006..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs, libvncserver, libjpeg }:
-
-kde {
-  buildInputs = [ kdelibs libvncserver libjpeg ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix
deleted file mode 100644
index b6c36ea9c15..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg }:
-
-kde {
-  buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg ];
-}
diff --git a/pkgs/desktops/kde-4.10/kdepim-runtime.nix b/pkgs/desktops/kde-4.10/kdepim-runtime.nix
deleted file mode 100644
index 8fdd9fc8fa1..00000000000
--- a/pkgs/desktops/kde-4.10/kdepim-runtime.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, fetchurl, cmake, kdelibs, libxslt, boost, kdepimlibs, akonadi
-, shared_desktop_ontologies }:
-
-kde {
-  buildInputs = [
-    kdepimlibs akonadi boost shared_desktop_ontologies
-    libxslt
-  ];
-#todo: libkgapi, libkolab, libkolabxml
-  meta = {
-    description = "KDE PIM runtime";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdepim.nix b/pkgs/desktops/kde-4.10/kdepim.nix
deleted file mode 100644
index dca60d3d4b6..00000000000
--- a/pkgs/desktops/kde-4.10/kdepim.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
-, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
-, nepomuk_widgets, dblatex }:
-
-kde {
-
-  buildInputs =
-    [ kdepimlibs boost akonadi shared_desktop_ontologies nepomuk_widgets
-      libxslt cyrus_sasl gpgme libassuan grantlee prison dblatex
-    ];
-
-  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.10/kdepimlibs.nix b/pkgs/desktops/kde-4.10/kdepimlibs.nix
deleted file mode 100644
index 7ec1612b1e5..00000000000
--- a/pkgs/desktops/kde-4.10/kdepimlibs.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
-, kdelibs, akonadi, libxslt, prison, nepomuk_core
-, shared_desktop_ontologies, qjson }:
-
-kde {
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs =
-    [ boost gpgme libical libxslt qjson
-      openldap cyrus_sasl akonadi shared_desktop_ontologies
-    ];
-
-  propagatedBuildInputs = [ kdelibs nepomuk_core ];
-
-  meta = {
-    description = "KDE PIM libraries";
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeplasma-addons.nix b/pkgs/desktops/kde-4.10/kdeplasma-addons.nix
deleted file mode 100644
index 2bd6f5037db..00000000000
--- a/pkgs/desktops/kde-4.10/kdeplasma-addons.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
-, boost, eigen, kde_workspace, attica, python, qca2, qimageblitz
-, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt
-, qjson, qoauth }:
-# TODO: qwt, scim, ibus
-
-kde {
-
-  KDEDIRS=marble;
-
-  buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth
-    eigen qca2 libXtst qimageblitz
-    libqalculate shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
-];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "KDE Plasma Addons";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix
deleted file mode 100644
index 500dffc809e..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  patchPhase = ''
-    sed -i 's@macro_optional_add_subdirectory(bazaar)@add_subdirectory(bazaar)@' dolphin-plugins/CMakeLists.txt
-  '';
-
-  meta = {
-    description = "Bazaar plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix
deleted file mode 100644
index 2da3603c3be..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  patchPhase = ''
-    sed -i 's@macro_optional_add_subdirectory(git)@add_subdirectory(git)@' dolphin-plugins/CMakeLists.txt
-  '';
-
-  meta = {
-    description = "Git plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix
deleted file mode 100644
index 20925842a32..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  patchPhase = ''
-    sed -i 's@macro_optional_add_subdirectory(hg)@add_subdirectory(hg)@' dolphin-plugins/CMakeLists.txt
-  '';
-
-  meta = {
-    description = "Mercurial plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix
deleted file mode 100644
index fafdcc55a1f..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  patchPhase = ''
-    sed -i 's@macro_optional_add_subdirectory(svn)@add_subdirectory(svn)@' dolphin-plugins/CMakeLists.txt
-  '';
-
-  meta = {
-    description = "Svn plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix
deleted file mode 100644
index 85b6ea6ac00..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.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 = "various KDE development utilities";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix
deleted file mode 100644
index f96b0df2b95..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, gettext }:
-
-kde {
-
-  buildInputs = [ kdelibs gettext ];
-
-  patches = [ ./thumbnailers-add-subdirectory.patch ];
-
-  meta = {
-    description = "PO file format thumbnailer";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix
deleted file mode 100644
index 4c45be6b4fe..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, perl }:
-
-kde {
-
-  buildInputs = [ kdelibs perl ];
-
-  cmakeFlags = [ "-DBUILD_perldoc=ON" ];
-
-  meta = {
-    description = "perldoc: kioslave";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix b/pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix
deleted file mode 100644
index 0574241353d..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, subversionClient, apr, aprutil }:
-
-kde {
-
-  buildInputs = [ kdelibs subversionClient apr aprutil ];
-
-  meta = {
-    description = "Subversion kioslave";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kompare.nix b/pkgs/desktops/kde-4.10/kdesdk/kompare.nix
deleted file mode 100644
index 1ddb4b8ea5b..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdesdk/poxml.nix b/pkgs/desktops/kde-4.10/kdesdk/poxml.nix
deleted file mode 100644
index 1ab9ed49df5..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdesdk/thumbnailers-add-subdirectory.patch b/pkgs/desktops/kde-4.10/kdesdk/thumbnailers-add-subdirectory.patch
deleted file mode 100644
index 5b4f7643bf4..00000000000
--- a/pkgs/desktops/kde-4.10/kdesdk/thumbnailers-add-subdirectory.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur kdesdk-4.10.2-upstream/kdesdk-thumbnailers/CMakeLists.txt kdesdk-4.10.2/kdesdk-thumbnailers/CMakeLists.txt
---- kdesdk-4.10.2-upstream/kdesdk-thumbnailers/CMakeLists.txt	2013-05-02 21:05:56.446226846 -0430
-+++ kdesdk-4.10.2/kdesdk-thumbnailers/CMakeLists.txt	2013-05-02 21:09:58.504053136 -0430
-@@ -9,7 +9,7 @@
- macro_log_feature(GETTEXTPO_FOUND "gettext-po" "A library for processing PO files" "www.gnu.org/software/gettext" FALSE "" "Required to build the PO thumbnailer")
- 
- if(GETTEXTPO_FOUND)
--macro_optional_add_subdirectory(po_thumbnailer)
-+add_subdirectory(po_thumbnailer)
- endif(GETTEXTPO_FOUND)
- 
- macro_display_feature_log()
diff --git a/pkgs/desktops/kde-4.10/kdeutils/ark.nix b/pkgs/desktops/kde-4.10/kdeutils/ark.nix
deleted file mode 100644
index eb3e12281d6..00000000000
--- a/pkgs/desktops/kde-4.10/kdeutils/ark.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }:
-
-kde {
-  buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ];
-
-  meta = {
-    description = "KDE Archiving Tool";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix
deleted file mode 100644
index f3b00a5b968..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix
deleted file mode 100644
index 99feaf3e4f9..00000000000
--- a/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ kde, kdelibs
-, pythonPackages, cups, 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 = [ cups pyqt4 pykde4 pycups s_c_p ];
-
-  passthru.propagatedUserEnvPackages = [ s_c_p ];
-
-  postInstall =
-    ''
-      wrapPythonPrograms
-
-      # ‘system-config-printer’ supplies some D-Bus policy that we need.
-      mkdir -p $out/nix-support
-      echo ${s_c_p} > $out/nix-support/propagated-user-env-packages
-    '';
-
-  meta = {
-    description = "KDE printer manager";
-    longDescription = "Applet to view current print jobs and configure new printers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix
deleted file mode 100644
index 21971beb80a..00000000000
--- a/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }:
-
-kde {
-#todo: ruby is not found. needed for some example scripts
-  buildInputs =
-    [ kdelibs kdepimlibs htmlTidy boost ];
-
-  meta = {
-    description = "A KDE link checker";
-    homepage = http://klinkstatus.kdewebdev.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/l10n/default.nix b/pkgs/desktops/kde-4.10/l10n/default.nix
deleted file mode 100644
index c9fab80bffb..00000000000
--- a/pkgs/desktops/kde-4.10/l10n/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, kdelibs, gettext, release, stable }:
-
-let
-
-  inherit (stdenv.lib) attrByPath singleton;
-
-  kdeL10nDerivation =
-    { lang, saneName, sha256 }:
-
-    stdenv.mkDerivation rec {
-      name = "kde-l10n-${saneName}-${release}";
-
-      src = fetchurl {
-        url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
-        name = "${name}.tar.xz";
-        inherit sha256;
-      };
-
-      buildInputs = [ gettext kdelibs ];
-
-      cmakeFlags = "-Wno-dev";
-
-      meta = {
-        description = "KDE translation for ${lang}";
-        license = "GPL";
-        platforms = stdenv.lib.platforms.linux;
-        inherit (kdelibs.meta) maintainers homepage;
-      };
-    };
-
-  kdeL10nRelease =
-    builtins.listToAttrs (
-      map ({lang, saneName, sha256}:
-        {
-          name = saneName;
-          value = kdeL10nDerivation { inherit lang saneName sha256; };
-        }
-      ) (import (./manifest + "-${release}.nix"))
-    );
-
-in
-{
-  inherit kdeL10nDerivation;
-  recurseForDerivations = true;
-} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix b/pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix
deleted file mode 100644
index 67abb386a48..00000000000
--- a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix
+++ /dev/null
@@ -1,282 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "1pkca1z620pwd8nk53wpbg6490nzd21i71691dmp233mgb8pzwfz";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "1zsml7q434m5242my2y14b5b708ccrmyrvkbl231mjxdqmy137g8";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "0qbhix7xxabcgwyjrqhvhqfm2gs72swj2wdbh99csb8y3ms4bhwm";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "1hfj9ram95fsv4qbjv6mwc01sl15vw8cj0q7vy3jjvamcjlczn4q";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "19vjxcpvbrip18j26sbs4h16wisvpryfdf4v7z6kg716k6pgj0gb";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "1nvyazb2dv03k68shqj7crx01yiwzh1zs5al84ym3j18drq8b66r";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "1pclmjkb7c2c6k62pilgi6r7bxw2clpb5vj46n0rdhhr97vfschn";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "15qkm1004mq8g3y7jdhsziabf5c1c57p5h57086ngk9x61r2gfmx";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "1il49v54qfc1gy9scqal9fjpkjxk3wpzylcz6n5372n01mgs8ydz";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "1c25p3byhlv41b82hlpq6agpnfd5vzfm7a9fb8h7jh8va5ifqwac";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "1wa15glj0a11phcm69yaz532j4412vqx1h4cwhddyr2l3d7g135i";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "1hsq8213mzxzasydgrmcgid85r9d1p1fgkabb5wd66xz5kgjc5v7";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "1xw7hnlqq05bfsgb74qhis8dcnr7nllm3vm2mc4n8g5n7h8c0hq4";
-}
-{
-  lang = "fa";
-  saneName = "fa";
-  sha256 = "0z0v9m7z557jmqdngw4km4icaxhzlc5np7rzsnzgsqm2xnapc1cm";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "0jvy10459fc58d21azbk3jjnq1pb3n4a8v5ynw0f2pcizgivrlm3";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "15wnqcqz1xrdw33xiff0xfnyd56x3hj9nk4i1sxkkymfay2jkdgk";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "1n7vzhyph2rr22isnzr7r4yrchkzrgwa1xw00ncpmj4k81gl7yl3";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "0hqlhl19y9bc262kk0s5grgvg3xy0gvcvkrcwy2casmrsx3p5f1y";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "0yh6l1ypy3h1bgs1kbnjj7fbhap4a416zlsbsd7d4g71dq7hsm1p";
-}
-{
-  lang = "hi";
-  saneName = "hi";
-  sha256 = "03j1dvylczy360dndpny9qfijfnacv185qwlji7zj4x83y69zfdc";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "1257lwczcyh6nbp3s8078l2h6yj04wqxa4iak7k3q79l8x2jhch6";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "1mvqfmmajgf5iyscalmrsipa9vy5b6ap7bdarl0d1i4nwh1g8mxq";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "0cq6c2ky8gydzk5rz5yjgb3lp7n2d9h760q7m8skq9f8hks7vlic";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "1149l8i96iq195cjzbrrdzxck1zd34w6y8hxs8p6jz49bzf5g5c5";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "0n4b7x0xxvmlr55b602pi7bxmrcpsqcc4qk4x58x2kpb9awh896i";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "1dfy3kzqx0xm52jp7gzph0xm6zrwb9y3mssyw4shmnvhlf13xkki";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "1gd6vnh2vwn4lj8c0qmq7avaz79zv2ldqyb07d2wmvpljpifz5fk";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "0q619ddjj928v376j1ljn2k6br7zlazfkk9q4hndi6kql1712139";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "1jmfxpz3pf2zglysjnry0ahygvkapk6v844q1nhsmfci6mmpmlqh";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "01f6krx8ll9jhih5205fxsb0dz3ynwpz43byq7qyi68f1lkaxsd0";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "0xnl28havz92ar5gid3p2r8wap3yrsg143fghqcdiymbzwy3sb0k";
-}
-{
-  lang = "mr";
-  saneName = "mr";
-  sha256 = "1arc5ksxgwvk2i669nhm2y78qf4zd1z3z8fjpixf6ax9g3bqdghd";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "1fk0g008pdw4gpbzbycl6xck0m7mf56f27rfa10riy9drmi7bcbj";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "1g2gwslqk0zfayhd91mbgl3gwznj8npq9637c3wkk3kdnz6hcsw0";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "1j6dw63jph3dbi0v4rlq3mp98fijynd4n0a6z4dwmzdjzb5ccqrg";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "0m5i7i6rscqwwx4l0fw0bmg1247hbs3bxbnxmqbz6fv5pp29yh4v";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "0bn3bf6pkjvr0la5n4s3lb1ij0q2rh4qx8ig6sbkq0j822c84n11";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "09gw92a41ws5lxapw0160pqrqfhfnk42yshlzmdk3aav88rq1f0q";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "1lyh8szfwbd3jm3gsndgigz1xhzldh246c2d6f4lsry9w9557gpl";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "12vgf8qx8244brvfy7mi8ak1nxh9fclj9n2yic5ldf2wfkb7hzjd";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "0q995rw2bbv8vjnf9h0ywdvq8v24rkmxck1w7bf0wblcp7w4pcpq";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "014zcdk5kxif17mqb6ivsc44021f4hxr0d2pn2d0jlrhx4dbyvsp";
-}
-{
-  lang = "si";
-  saneName = "si";
-  sha256 = "0y80d8d18di9n0jj8ifxmdc5vgmq6bkc86id5azqrlif4rhs55jj";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "1q87ixrqqkhzbyb7mlk0xfnxcih057x9w596spr5br8arxr34912";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "1ykbh8j2x14vq7iszll4lgmg8gbnv6jql686x01896ba504144y4";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "03f0jjsn4bwysjs8x8iy61z0rnzm8gn3w9k85wfa0br8cjr36cji";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "1bf3795ddlxk9cz686jlifb18wjxfgjqfv3s45gs9q09i6sq0iv4";
-}
-{
-  lang = "tg";
-  saneName = "tg";
-  sha256 = "11w9ibw8bbkllrf4628rc5zpwwwp5plcapndwp9sb19rsdx0bnvf";
-}
-{
-  lang = "th";
-  saneName = "th";
-  sha256 = "0rv5l7zplhfr7l8a4wh4ngvh0assq97dlvh5d6x9a464k5fgwg7w";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "15f1rsbzljk120dq2v2wkgn4ym50yzrd9xyzgw9g22hlmy5inmm8";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "1f924vl3vm20p5hfyzzv6hx6cvb7ym4bf9lbch808k99jwvh6j99";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "1fv78nvvrd6z62fy3iqqbf77vixadl8s2hg6lkg094f1dc8l3w4n";
-}
-{
-  lang = "vi";
-  saneName = "vi";
-  sha256 = "1k2i818821bls1vqb614jq8pi6cj43rf2x2bcbcibwdmhs1xljx8";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "0bk9mjir5az1rnxclyijc42mfnpgbw1fzzfvw765wdcs1mkjqrdh";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "0m3z05zsg2afzfm2ws090rx9214l9zjshfxy7sww3a2nb39f798b";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "09921r007i23q1dyg9gx8zjaf3da0i2r6r673yhaq584srxivznq";
-}
-]
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
deleted file mode 100644
index 9862efe0b58..00000000000
--- a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix
+++ /dev/null
@@ -1,282 +0,0 @@
-[
-{
-  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
deleted file mode 100644
index adee87c8316..00000000000
--- a/pkgs/desktops/kde-4.10/oxygen-icons.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, cmake }:
-
-kde {
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "1aad2qb9zrjcild5s584q4zz6zc3wgkclv79gnfwkhmy0viqx9l6";
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "KDE Oxygen theme icons";
-    longDescription = "Icons for KDE's default theme";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.10/support/akonadi/default.nix b/pkgs/desktops/kde-4.10/support/akonadi/default.nix
deleted file mode 100644
index e1d8a5ef9ae..00000000000
--- a/pkgs/desktops/kde-4.10/support/akonadi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
-
-stdenv.mkDerivation rec {
-  name = "akonadi-1.9.2";
-  
-  src = fetchurl {
-    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "1ndzc7a1q1hqy4pn9xnihq6ni02zsqfdyy6z6lwn27bkb7pg64p7";
-  };
-
-  buildInputs = [ qt4 soprano libxslt boost sqlite ];
-
-  nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
-
-  enableParallelBuilding = true;
-  
-  meta = with stdenv.lib; {
-    description = "KDE PIM Storage Service";
-    license = "LGPL";
-    homepage = http://pim.kde.org/akonadi;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/applications/kate.nix b/pkgs/desktops/kde-4.11/applications/kate.nix
deleted file mode 100644
index e8efc87775a..00000000000
--- a/pkgs/desktops/kde-4.11/applications/kate.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }:
-
-kde {
-
-  buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4];
-
-  meta = {
-    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/applications/konsole.nix b/pkgs/desktops/kde-4.11/applications/konsole.nix
deleted file mode 100644
index 0db47fb2d7c..00000000000
--- a/pkgs/desktops/kde-4.11/applications/konsole.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Konsole, the KDE terminal emulator";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/default.nix b/pkgs/desktops/kde-4.11/default.nix
deleted file mode 100644
index d3840120a65..00000000000
--- a/pkgs/desktops/kde-4.11/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.2" }:
-
-let
-  # Need callPackageOrig to avoid infinite cycle
-  kde = callPackageOrig ./kde-package {
-    inherit release ignoreList extraSubpkgs callPackage;
-  };
-
-  # The list of igored individual modules
-  ignoreList = {
-    # Doesn't work yet
-    kdeutils = [ "ksecrets" ];
-    # kdeadmin/strigi-analyzer has no real code
-    kdeadmin = [ "strigi-analyzer" ];
-    # Most of kdebindings do not compile due to a bug in the buildsystem
-    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
-  };
-
-  # Extra subpackages in the manifest format
-  extraSubpkgs = {};
-
-in
-
-kde.modules // kde.individual //
-{
-  inherit (kde) manifest modules individual splittedModuleList;
-
-  akonadi = callPackage ./support/akonadi { };
-
-  qt4 = qt48;
-
-  kdebase_workspace = kde.modules.kde_workspace;
-
-  inherit release;
-
-  full = stdenv.lib.attrValues kde.modules;
-
-  l10n = callPackage ./l10n {
-    inherit release;
-    inherit (kde.manifest) stable;
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch
deleted file mode 100644
index 378cdb64694..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/files/polkit-install.patch b/pkgs/desktops/kde-4.11/files/polkit-install.patch
deleted file mode 100644
index d2ecac663ec..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kactivities.nix b/pkgs/desktops/kde-4.11/kactivities.nix
deleted file mode 100644
index 06381bb13d7..00000000000
--- a/pkgs/desktops/kde-4.11/kactivities.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, nepomuk_core }:
-
-kde {
-  propagatedBuildInputs = [ kdelibs nepomuk_core ];
-
-  meta = {
-    description = "KDE activities library and daemon";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kde-base-artwork.nix b/pkgs/desktops/kde-4.11/kde-base-artwork.nix
deleted file mode 100644
index 3f416cebddc..00000000000
--- a/pkgs/desktops/kde-4.11/kde-base-artwork.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE Base artwork";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix
deleted file mode 100644
index c2a25664678..00000000000
--- a/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, htmlTidy, kactivities
-, nepomuk_core, nepomuk_widgets, libXt }:
-
-kde {
-  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
-
-  meta = {
-    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix
deleted file mode 100644
index 08de0fe4b0e..00000000000
--- a/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix
+++ /dev/null
@@ -1,444 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="amor";value="0xz73rnznng6nd8ax2s8yh5wmvlwlhy7qm2y0m15fxw8x9dyym2s";}
-  {name="analitza";value="1pvi6nsdh64pjmrq0xm6vjl2rdpllm8vizf5pxm64m3s225x11r8";}
-  {name="ark";value="152cilip6g0jvqvczv29kdnlghyra0qs9166g4py82w94f96h4a0";}
-  {name="audiocd-kio";value="1xly06zy2m7xg8b675y2l3xj2mixy739f65b6mciyz0240qlian5";}
-  {name="blinken";value="0kyrblhn4b46fcf2rkidkkvpvnirz1z866yp7mi3m9dnl9iqzk32";}
-  {name="bomber";value="1s9wkdz7mgmsr438ikjxc3qj810aw39kblwc2a0v21skhv9glx40";}
-  {name="bovo";value="1p4v5nvx6nfprpv5wm9ab25d0wklx0znf6257ssy97p9knj7lzf4";}
-  {name="cantor";value="00j2fwl2y93k3mwqmnl9ndcqdfmxl2r5nff920sjmylhplsrvzri";}
-  {name="cervisia";value="1gg53a5lcp2mlii285ys6d570wzjx7v5h3g0r1l3h146ipnddkpm";}
-  {name="dolphin-plugins";value="1cj0vajrpmi1imz3gg6has8bqm2hj2px0k2fda35lc0wb2h6vwip";}
-  {name="dragon";value="1gclq1v9a84aq9jbakc0fs0c4y7ykzf05vl0gkpjkijnnb5sr028";}
-  {name="ffmpegthumbs";value="04zarg373420mzdc4psziw173flpv1jc80xavq5qff4j8njjynw4";}
-  {name="filelight";value="1q7lsiq2xxvfs30i0l0ywvpzch0kd8blbg10r56p15wyyjc84h1d";}
-  {name="granatier";value="14zlk4y30kgbx69hb516dcva78xqk7yhi90f7yg327r5a72njwvv";}
-  {name="gwenview";value="0686bybi10vyz6yb2h5zi906d295rcd7wlgh87zjiw0p2rz5qd6b";}
-  {name="jovie";value="02b2jl3ip7y0sd4xscw8qmkmm646ksmlm0c3xwwcijwvdj1h3xsw";}
-  {name="juk";value="1wm0ngpsc62766l127nk38cg5vdhlqsh3gsl7alk2rcrgfainkhh";}
-  {name="kaccessible";value="0mixfx8f8097p2y7zqacawb64r8jzj6iqrkhh7xp9ldwrrnf8jr0";}
-  {name="kactivities";value="0s5l0h2axq43ip8a4wn9lqb7i6hvxzzpscr1wv9qm02g98h1kzc5";}
-  {name="kajongg";value="0g7cx3qjrhga37wp9wypwwhzsk4q4fy63qqbpzh7znc4kfiw3j56";}
-  {name="kalgebra";value="01vgg54sr7g3h7lk9cd3m739y317x680brnp858chqvi7jq9nw5i";}
-  {name="kalzium";value="1zbrq2jm7j9sjzxfl93kambv1n665ah57ljr16r5dqk0x3xchirn";}
-  {name="kamera";value="1bhmxij7fnzc26hv4fbglqm3fhi5jdd8bqxnyx91sjja34wr55l4";}
-  {name="kanagram";value="1hdv0ydklz8y8wh49drpmgc9hqkwp59zvwn39h67fsiig44k6jag";}
-  {name="kapman";value="024q8w4x1hy518qcl76nxgr6q8h3blkw9qfg9z6d899qa6zb6ihq";}
-  {name="kapptemplate";value="09xgy5wrqhxlgvk6yhdfvickqx4v4rqd0s9zda7mlj13yfphbq8k";}
-  {name="kate";value="1r8i3hiqfxs2idjkszkzzn5lpkpm5bzjprs9dv33gzfnnq7w6q54";}
-  {name="katomic";value="0g197ynk6pzwxhr3yw20jw16qd9664j35vsr7511jxyydadbnrx6";}
-  {name="kblackbox";value="1pv9f3vh7l25xlvxpvznjiw3va2ljcz2znc1qxy6ib907qfgnryv";}
-  {name="kblocks";value="0rahh2hra6k0f0z9sh906avznv6x451da6w62bn561hl1fsd3qmy";}
-  {name="kbounce";value="1h25lyga30fxrhrlagw51la3vl38h5qil6zrwr5j3n8agard6nxf";}
-  {name="kbreakout";value="09mq49ia5synl9k166k2zw7n4awv2jkv0c0cckfc1byfvyfp6hnq";}
-  {name="kbruch";value="1fmc1mi94c8dz20qlj8gva64qk8kwdy22frlx8mv049lpaslhnh9";}
-  {name="kcachegrind";value="0iqa5vd03b3ysms692yqk4wy0igmrzjg1jfyw5sapdch1fv4v5bq";}
-  {name="kcalc";value="0yy41pjy0ai47yl2q8ii74b1qqcrg79xan8m1pxlx1pn0pdqib5h";}
-  {name="kcharselect";value="0sbz5c3jkmh6vpb2zh1jmy1l5f37nwxvhn3a1gbzv20wf2a3mh4x";}
-  {name="kcolorchooser";value="11kjklvvxfg2drwc0gh3z14gh94d6yimswh4g0nrpb7ppny8h0hh";}
-  {name="kcron";value="0ydm9b9x38j4n2v6j144v1jkh91nblbfln0yyfshiig44lxfcg4y";}
-  {name="kdeartwork";value="17s40canzk0z6v4hr683l1xzmpld53lma6m2z7kb537ms4sjrim9";}
-  {name="kde-baseapps";value="06mavmk0v54lwma083w7wyr2374vdwblcbisqb6kr4fsqdng67yk";}
-  {name="kde-base-artwork";value="020j4hi6qmwkjipgf9840m1828bjlcy9vg3nmhrjxvj6wxbaijib";}
-  {name="kde-dev-scripts";value="1hscdf1qdg8kc8x2hp0mibp0k3lq255h8a1kj03b8bk0agrzycjr";}
-  {name="kde-dev-utils";value="05nlisn69r6p58340gaaa8ma1ndpafv69yrynln4nzsw5va6awiv";}
-  {name="kdegraphics-mobipocket";value="1f1x07yy0awz7bas0c189xqn1zrv4sz9fb2vlix1g9qbz4j7440v";}
-  {name="kdegraphics-strigi-analyzer";value="0sq5lmnlgz52znz5jlsd2dixfmiqb6cmwrf6x9pw1px5i76gc63m";}
-  {name="kdegraphics-thumbnailers";value="09bmhxxr53p4szqln8s5pz4yfacyn8drq4p7ffsmp7crhjfjxad3";}
-  {name="kdelibs";value="0q7gzfzkdy8vi56v7xkq79ib3d3x22mi9prc5lkqzq3w9f08xnim";}
-  {name="kdenetwork-filesharing";value="11sc6jxnjl3i5wncc6jpif9d8c6dha3r96qjm5l2afg3g945kjq0";}
-  {name="kdenetwork-strigi-analyzers";value="125vk7y2yjni5bwgld47fg9ms0fksd2mwgpzlmbalcz5a05pwxqr";}
-  {name="kdepim";value="017005mndsg69pfvwn24mdbw0cjny7i3hhvc9102hwv7vn3b38c9";}
-  {name="kdepimlibs";value="0q5g626n6117ri11inyr29lnzirpm8ls68h72m8gy7jbbhpsy2h9";}
-  {name="kdepim-runtime";value="17yjsyyn7hp24r1nx4aggcfjkpw8nyb7lzpp21nf61fb26gdk0m9";}
-  {name="kdeplasma-addons";value="174770q0jgx7h61z48322aqvzprnfyfb1yipv2v725r79wpl8knc";}
-  {name="kde-runtime";value="0yafj2mxqp26zsg3kh1s0vw77wx0l9468jh1g0wkl1hbwxjlszp7";}
-  {name="kdesdk-kioslaves";value="00prg3pblgil86way9air9sl01gfrag8ika96nv8i5qhv0fs5x3n";}
-  {name="kdesdk-strigi-analyzers";value="08rpclbv0csrciqh688akfzh36wy2nc60gsbqfrwrmz82cn0rgyp";}
-  {name="kdesdk-thumbnailers";value="1zx6g94vixk7id1zb7a4f6x4ymkfm4n6g6j2akklzwnba1nqadjx";}
-  {name="kde-wallpapers";value="0km2zpgy4qpqlvnbnbfnklal900idf85xls9h3dn57qckrvscs7n";}
-  {name="kdewebdev";value="1pzph18gw47gy7yfmzcmz7hx35wgsdgc7z7h50p15irrfqd9vxvz";}
-  {name="kde-workspace";value="0wdnnwvzd8djysims0sflban0vvf4rjl5xy9cfxl5c61kgf31zvy";}
-  {name="kdf";value="0znmsv5cpxciqx1pksicpchfqk25damz4zrhsh8fl1y41wr5i0g7";}
-  {name="kdiamond";value="13pz413fvwz74jhvyfvn3l18p5asin2l8r39mqvrp5izz876lrxs";}
-  {name="kdnssd";value="1my59awfn0h67aza1wym7cdlbffm22hf1dma80k4kqwrcws433q7";}
-  {name="kfloppy";value="0aglds7n33pk19qmq26xdr2bmfn3hv80zd479a3czlh0yn0wl0lb";}
-  {name="kfourinline";value="0mbggqssizcsrddi2nb93hwyf9wa6lnqmyswia5bp6803diw0iyr";}
-  {name="kgamma";value="0fwgk3jq5x5fp36jp1yvid69pzqdaac7p8xyd7qwa0m2zz2mbddy";}
-  {name="kgeography";value="0hya5wqigyahl24cmm1ssi5xc6pv8d6hvrd5z4s185pd5i2syfyf";}
-  {name="kget";value="0pnnfizq6xmv3bmpdvqf12pnr1rlbzpdn05c71cl0200frd0samd";}
-  {name="kgoldrunner";value="1s2847rhl1r35a3sjh10yadg7qjs4qycv2j2yc4k6yvh226wixzn";}
-  {name="kgpg";value="1hsa5z4igqn5fd9rnjmm80k6mylf3zyg6ss0m66j96f1r1hc7y9g";}
-  {name="khangman";value="0myjlfm1bws6g8a6r27n4cfdiz6vsii7wk03dhc25a63mbw30lq2";}
-  {name="kig";value="1w0i2q6vvy310ffsc87dahbxx2pv0alsv36wcz5j41a0c0q1lnnq";}
-  {name="kigo";value="026dwwakci2xsxzr05k9wdfn8k22sd0f2qd2hjpjf3nd3306q2m7";}
-  {name="killbots";value="1acn16i1k9il6qflw5kbmwgrdhgf59ziqv0dsdj541wp06v9syzf";}
-  {name="kimono";value="0vws62kw7n6xy4sgyn2w1a1ysfb7g3l730rfvcgdcch1v5k5w6sx";}
-  {name="kiriki";value="0jz9rsmvyb3yqnxpb0fr8nxqcbb55ah4gg75mphxvagfak6180x8";}
-  {name="kiten";value="1vvpd63783lzwb1ixchxzcnv4dwhdfdqvgf6ambxiabdhwzzhrfp";}
-  {name="kjumpingcube";value="0czsirg9r8kngy8y21ds491mdqcysn7c5yravrbvv399j71fgcl7";}
-  {name="klettres";value="0b7zd1f9a3b2d3r4wx03b3gclbnxyxl8sdq4mkrmvxlbv6is4w41";}
-  {name="klickety";value="00yzd79lm7rlfc96cg0asvj3zy1bwb4d0qx2sarf0ny1sbs05d52";}
-  {name="klines";value="1qvjhb88vzymy8c75azhchqxp21iwvbhxiq0mzzb4wg513qz9b1w";}
-  {name="kmag";value="0p7k9w93zyl6ffjwydjfm9pps4irrgdcjf9ksbzm5r41ayj1x3nh";}
-  {name="kmahjongg";value="0wz4lvy4gzix5c5viwcfxqvv43n65151wfz9jay09227f5qfqz1w";}
-  {name="kmines";value="0gsyhmzcj3579bscdlzyp3y1lsxgk7fz6s8gzs36pb1d7cll30i1";}
-  {name="kmix";value="1h5z508yy0y39p5dhmz4lvq2fsl1y9hiqgm0m3xk6js1ysz5cp0w";}
-  {name="kmousetool";value="1p57b4s87hw5rhj3d1m9qaw8r0wx4x7brc9ksizxyjfm90q8hj00";}
-  {name="kmouth";value="1bmmv8w6w9z9dnmm8bwai8wvj1cz3nbibd9qilv0wzy8f9x8z2n2";}
-  {name="kmplot";value="037n51fvpj8r4fz98f1f1jm9pzmlpbcn428cq8kn2p6ahy9g0zhn";}
-  {name="knavalbattle";value="1i128qa95zi0fz6bkkkc0qic630c4n6r24bnc73wp38kkklj1mfm";}
-  {name="knetwalk";value="1yfflp2yndjv0fawahiqq33x9ivv0r5dxivhy38p1xx3bw7aa3qg";}
-  {name="kolf";value="0cfi9mfj1ng7p6vqckjpx4hvzs4cqkiy0wk0c32gyzm3w76ggdsk";}
-  {name="kollision";value="17hzzp4pwl46skf7n2aapxc1wbihxvb8p6z5ch7315d967fbw1iy";}
-  {name="kolourpaint";value="1mvqicbjmbyx7wmw8l8gsfci2x0mg7c7csfbib09p6l5ypr0w5an";}
-  {name="kompare";value="1s5yb2jk6dgsaciwklil43vc3zpr70sarakray0jz22w8sbp00l4";}
-  {name="konquest";value="0v9icbn3pam8w6akz8sk4qpmq8447l9d692877yz9a0wbd4kc3yk";}
-  {name="konsole";value="07pikjzjn824xvjjszvczwwg2alj8qqr7ajy0c7wa9w711hqj654";}
-  {name="kopete";value="114g0pl67vdacxfcnpnhzmy9aarmjm1j6iy6jxc1v3ahrmv7iy1q";}
-  {name="korundum";value="07s4y585a2x6wg9m8hfwhxixbp03aa8z4f7cyk7i7fgvhy32s4wh";}
-  {name="kpat";value="1dqbhn3lypjfnhn4i6212g3spdihp0j12vgkxwf0pii79dwk1lih";}
-  {name="kppp";value="1qk2hvpi72w10gyipw3dcsmkqlg5shvr943rxhkjpx7vp327gcii";}
-  {name="krdc";value="0ikb0bmcq8zpmhr2jbyg40ihjzvi1zfkhcf6y76yjsifzx5nkxaj";}
-  {name="kremotecontrol";value="03mwsl79ljd6zni1ijxbrhl4pm7l52dxdjr5456avx6pbp7rq8j7";}
-  {name="kreversi";value="0r66kj0lanj54ajk1fdn6kijsq412gknva3i29wsvy0hlg18lwgf";}
-  {name="krfb";value="096a61zv76nyqkh9cdzjbgy62g3vi9a7xiwkx0mw63jpfag5sqws";}
-  {name="kross-interpreters";value="0x12cl1hnj9rfasivs3j1m15lr5pmh65bm2dghcypzffs1h4m17h";}
-  {name="kruler";value="0cv3qrs20qckx3d4y0a5ciy6n3hnlxhi20ln9m6szk5nrqwwf8hv";}
-  {name="ksaneplugin";value="02kdbnalq6jfkvcj0dmiyp6hijm8jjl1wl4fxd0kky0wdpj25mqw";}
-  {name="kscd";value="1dmmjzphxy00yynvmb238s60c0xjb9arcyjnynm1pyz8gwbjv370";}
-  {name="kshisen";value="1rildx85ajl14j7qhkwfv3ddyai2m3d2mf6d4i6hd4f6hi01y6lc";}
-  {name="ksirk";value="1rzihjagj78lxyprhzrixk129wgn6v9zacbh5ash6mfgmvpp28fq";}
-  {name="ksnakeduel";value="0fi32y79gjnajswwb5ldkyk0aap1cbdb7i6wdaskpwjh7m9xgbqj";}
-  {name="ksnapshot";value="162rbwlg16b0lq436rsmdaljrp4na0c7hsviw8mv989ylm7k78g5";}
-  {name="kspaceduel";value="1k228vhlv1fglp4572w7li3dvz1inn9x08rqfm167qisz7lz9gk0";}
-  {name="ksquares";value="0i0gw2dq657p3nnlp7billnwlz0jynb01bd3alis9b0y7fzr8141";}
-  {name="kstars";value="1hlv4x43asrz0kha7sypw073zpnb0z1mmwxqsjm7rdb3fzr664ca";}
-  {name="ksudoku";value="1ym6q32jlh55q4af622mq2x4q7ir61h54y03i1cwwl0n536jarw3";}
-  {name="ksystemlog";value="1lipz5ijw90zifvcj8j5cbm5myn3j31v0faik352dy552zbc69ld";}
-  {name="kteatime";value="0nkfshr4gh71yvb4fn3zv99mj8ywq98fmzl41pc8g7zb78c56min";}
-  {name="ktimer";value="0bfyhxcnz4cll3al5sqjiilhhy0wckvnsxl1j9v9cl6fj0yclccx";}
-  {name="ktouch";value="0j2qxh2r1pasa86zakil9hbw0vb39qgwcmkjkds4mgd1rdx3z063";}
-  {name="ktuberling";value="0imb0djrsi3b8aasyycalv7b6r42879053h9r89bq0vr7frshza5";}
-  {name="kturtle";value="04739cjbc8hnhjmccamiim3nhm09jpd5398ckwbqa7z1jrnrfglx";}
-  {name="ktux";value="1dkcca00s2cxr9kimqm8vlar0d47184ba0miihipgi7p752sik5a";}
-  {name="kubrick";value="1f1sfr1w66b3i4pi7b8y3wbks5l2dxij4azx8dzracanfraymhs6";}
-  {name="kuser";value="1r1ysz52w7v8nhl4qj9b4aybb7q45qav9yyzdqxjlz3ixvvvyndy";}
-  {name="kwallet";value="0a5009qx820nfbdhcmwvzbda3bvdmjzbi9i5d05rkcbmxz7l3i7v";}
-  {name="kwordquiz";value="11rhwmzn93gilwlgjmh64pbmmkxf4nxjn3sg8plxnvfnjl27dlwr";}
-  {name="libkcddb";value="0jkblif31r3raykhl69c9mjircsdwrbmzdjks7ngwacyfng2ys7l";}
-  {name="libkcompactdisc";value="1c6g1q543siyk8m81bvxca4qv6pnfjxcmv5mgpnqsv5lbi0k0dil";}
-  {name="libkdcraw";value="1bi0ayf6sg93hx30k5yvblv3jfs8ba6sva7fig1xwag2a1dmpbms";}
-  {name="libkdeedu";value="080mmb6spbr9gyz16n92jai8hv13kxjqgnid8qmgzvrkl9dr5zpi";}
-  {name="libkdegames";value="07324rsyqszsjgpybpr7kpvfpkmg61c4yaaajfr0sbj5a0flypn9";}
-  {name="libkexiv2";value="0rpqj634vxffz1498m2vbjhndc3xha06b4w79wv9qlqgcsaglr9c";}
-  {name="libkipi";value="0har58a6ir3cywsl289avblpqlc67ghv6bhli79nhplblycaf56k";}
-  {name="libkmahjongg";value="1xz4x96l0cim2mcjk9ndikzb0p53i6nximmiwji5ysk9k9ijz8l2";}
-  {name="libksane";value="1wydrqjfczb6c37vpzzavqk4n4fxlg7xfxm3qmg90973z9mhndql";}
-  {name="lokalize";value="0ikcq18jsnk9iqf1636c1llbs43dcbv6pnanydsd8m7pp2x8wd77";}
-  {name="lskat";value="0ld93jvy7w6zy3jifwhb2cvm4qrylknbkgknhxcycq7vxxi1nd1r";}
-  {name="marble";value="0l32r5hbqzyvx85xzvphkyv8fz0ar9l6yyql01y54p9q7g2i0wvy";}
-  {name="mplayerthumbs";value="022n2mi1mkc6isc06b1w7q10k4qxgmvjdg9inysqnyw25zgzqbk0";}
-  {name="nepomuk-core";value="1a08gv05lql1jkkng655k8n4y9bxivaq3j6i9np901calr6q7vq6";}
-  {name="nepomuk-widgets";value="12pfyi4y64p0xs62ax18mbkwf9gd4gn0zsih338ryf2zdpw806c9";}
-  {name="okteta";value="0pg9i7ywcp377brrprl93ayxjjizdmyzgw6fx3zmry7amf45dw1z";}
-  {name="okular";value="1kgkvzfwcqc9v18qgm9vm36v9svasdwyqgbn70nxmwr7rmkvzpsy";}
-  {name="oxygen-icons";value="1m0mha40zg03jy2nvw1cnsi9li8kb84hq3mdr2839jd0qwf06rcs";}
-  {name="pairs";value="0scqagvvp0aaa5gknl5rlfv49r289mgrf5ll0sqbb7w2ga1z71kf";}
-  {name="palapeli";value="1qw6cn7qa5p918x5hhl45c17firyrj3llghd808k9jn0azffkn2k";}
-  {name="parley";value="191ql9jc7pib36ndrn3dyz7h0zqa1a5z06vcppcy56adw395khga";}
-  {name="perlkde";value="0x9pf8hjlnii6kh6jrli8p1glqmnly8ck5f0a9jllx5ylc2v7xgy";}
-  {name="perlqt";value="01wwnpkr0rafmp4lqggpnnzan4abgcbdkf49dzvzf202ksyc7i4s";}
-  {name="picmi";value="1x0gx8spda3m4d8gp3dw4wrjq9plya17x945dd3xww5jb537k9jg";}
-  {name="poxml";value="1icgyilfyv3kfgqnx81c0xfdjklx8rr8xhllqlgh5gpr109ib0v3";}
-  {name="print-manager";value="1bxkf7lfg2bvqy655zd22p1zsj68zyw95kl1xgk2fsbv4p4d4s46";}
-  {name="pykde4";value="0x2zx012n3ng7cnbwv6mjjy7d5cpxj0xicnnp5xpd7cqmi2v4k8x";}
-  {name="qtruby";value="0vbhfynyc0bffr76iz2jfxn15l1nv95g8y7lr9iy32ha84bmc5g3";}
-  {name="qyoto";value="0r8q9hwinac1bk0mvym60s9fwx7ahdsc80mk2a7i9bns5fpd30x8";}
-  {name="rocs";value="16kk54yqpx94cvhkmxvclzkz5w3lfrvcy3mvhyqb0czsknv7hmgm";}
-  {name="smokegen";value="0v1adb6qfmdpvw4yimq8dlxw8zsdbjdw0viwvlxbmvaf4an5kd3y";}
-  {name="smokekde";value="00rw321lcm0by0p8ij60kylg56nrpi0y3j0xj2ss10k9cr13cgwd";}
-  {name="smokeqt";value="116avrlmy7k3ihc176rjl81jlzcp9jlpym1j2cziyxpzygki77ip";}
-  {name="step";value="16vzcw16hqifhmscvhdrww0ykcim8bw271xbqb2g75rf2dcl1zvf";}
-  {name="superkaramba";value="1fx5qwmd6md2x8zxn8xqnildrcxpwlrxbqmi2ia4qm7ivngpdsy4";}
-  {name="svgpart";value="0az94772zvzsikm3imdaq7a22c1gfpn0yv2alc5nk85sa7yl3jzc";}
-  {name="sweeper";value="18nwfrjpdczrmm5ckr64vgznz0nfj53lbwafwyzabp1d2wbvp1r8";}
-  {name="umbrello";value="09pg5xng1mgfvna5kdl4wbfc38b4wrswfl48kdmskjk640p854z7";}
-];
-modules=[
-{
-  module="kdemultimedia";
-  split=true;
-  pkgs=[
-    { name="audiocd-kio"; sane="audiocd_kio"; }
-    { name="dragon";  }
-    { name="ffmpegthumbs";  }
-    { name="juk";  }
-    { name="kmix";  }
-    { name="kscd";  }
-    { name="libkcddb";  }
-    { name="libkcompactdisc";  }
-    { name="mplayerthumbs";  }
-  ];
-}
-{
-  module="kdegraphics";
-  split=true;
-  pkgs=[
-    { name="gwenview";  }
-    { name="kamera";  }
-    { name="kcolorchooser";  }
-    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
-    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
-    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
-    { name="kgamma";  }
-    { name="kolourpaint";  }
-    { name="kruler";  }
-    { name="ksaneplugin";  }
-    { name="ksnapshot";  }
-    { name="libkdcraw";  }
-    { name="libkexiv2";  }
-    { name="libkipi";  }
-    { name="libksane";  }
-    { name="okular";  }
-    { name="svgpart";  }
-  ];
-}
-{
-  module="kdelibs";
-  split=true;
-  pkgs=[
-    { name="kdelibs";  }
-    { name="nepomuk-core"; sane="nepomuk_core"; }
-    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
-  ];
-}
-{
-  module="kdenetwork";
-  split=true;
-  pkgs=[
-    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
-    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
-    { name="kdnssd";  }
-    { name="kget";  }
-    { name="kopete";  }
-    { name="kppp";  }
-    { name="krdc";  }
-    { name="krfb";  }
-  ];
-}
-{
-  module="kdeutils";
-  split=true;
-  pkgs=[
-    { name="ark";  }
-    { name="filelight";  }
-    { name="kcalc";  }
-    { name="kcharselect";  }
-    { name="kdf";  }
-    { name="kfloppy";  }
-    { name="kgpg";  }
-    { name="kremotecontrol";  }
-    { name="ktimer";  }
-    { name="kwallet";  }
-    { name="print-manager"; sane="print_manager"; }
-    { name="superkaramba";  }
-    { name="sweeper";  }
-  ];
-}
-{
-  module="applications";
-  split=true;
-  pkgs=[
-    { name="kate";  }
-    { name="konsole";  }
-  ];
-}
-{
-  module="kdetoys";
-  split=true;
-  pkgs=[
-    { name="amor";  }
-    { name="kteatime";  }
-    { name="ktux";  }
-  ];
-}
-{
-  module="kdesdk";
-  split=true;
-  pkgs=[
-    { name="cervisia";  }
-    { name="dolphin-plugins"; sane="dolphin_plugins"; }
-    { name="kapptemplate";  }
-    { name="kcachegrind";  }
-    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
-    { name="kde-dev-utils"; sane="kde_dev_utils"; }
-    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
-    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
-    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
-    { name="kompare";  }
-    { name="lokalize";  }
-    { name="okteta";  }
-    { name="poxml";  }
-    { name="umbrello";  }
-  ];
-}
-{
-  module="kdegames";
-  split=true;
-  pkgs=[
-    { name="bomber";  }
-    { name="bovo";  }
-    { name="granatier";  }
-    { name="kajongg";  }
-    { name="kapman";  }
-    { name="katomic";  }
-    { name="kblackbox";  }
-    { name="kblocks";  }
-    { name="kbounce";  }
-    { name="kbreakout";  }
-    { name="kdiamond";  }
-    { name="kfourinline";  }
-    { name="kgoldrunner";  }
-    { name="kigo";  }
-    { name="killbots";  }
-    { name="kiriki";  }
-    { name="kjumpingcube";  }
-    { name="klickety";  }
-    { name="klines";  }
-    { name="kmahjongg";  }
-    { name="kmines";  }
-    { name="knavalbattle";  }
-    { name="knetwalk";  }
-    { name="kolf";  }
-    { name="kollision";  }
-    { name="konquest";  }
-    { name="kpat";  }
-    { name="kreversi";  }
-    { name="kshisen";  }
-    { name="ksirk";  }
-    { name="ksnakeduel";  }
-    { name="kspaceduel";  }
-    { name="ksquares";  }
-    { name="ksudoku";  }
-    { name="ktuberling";  }
-    { name="kubrick";  }
-    { name="libkdegames";  }
-    { name="libkmahjongg";  }
-    { name="lskat";  }
-    { name="palapeli";  }
-    { name="picmi";  }
-  ];
-}
-{
-  module="kdeedu";
-  split=true;
-  pkgs=[
-    { name="analitza";  }
-    { name="blinken";  }
-    { name="cantor";  }
-    { name="kalgebra";  }
-    { name="kalzium";  }
-    { name="kanagram";  }
-    { name="kbruch";  }
-    { name="kgeography";  }
-    { name="khangman";  }
-    { name="kig";  }
-    { name="kiten";  }
-    { name="klettres";  }
-    { name="kmplot";  }
-    { name="kstars";  }
-    { name="ktouch";  }
-    { name="kturtle";  }
-    { name="kwordquiz";  }
-    { name="libkdeedu";  }
-    { name="marble";  }
-    { name="pairs";  }
-    { name="parley";  }
-    { name="rocs";  }
-    { name="step";  }
-  ];
-}
-{
-  module="kdeadmin";
-  split=true;
-  pkgs=[
-    { name="kcron";  }
-    { name="ksystemlog";  }
-    { name="kuser";  }
-  ];
-}
-{
-  module="kdebindings";
-  split=true;
-  pkgs=[
-    { name="kimono";  }
-    { name="korundum";  }
-    { name="kross-interpreters"; sane="kross_interpreters"; }
-    { name="perlkde";  }
-    { name="perlqt";  }
-    { name="pykde4";  }
-    { name="qtruby";  }
-    { name="qyoto";  }
-    { name="smokegen";  }
-    { name="smokekde";  }
-    { name="smokeqt";  }
-  ];
-}
-{
-  module="kdeaccessibility";
-  split=true;
-  pkgs=[
-    { name="jovie";  }
-    { name="kaccessible";  }
-    { name="kmag";  }
-    { name="kmousetool";  }
-    { name="kmouth";  }
-  ];
-}
-{
-  module="kde-baseapps";
-sane="kde_baseapps";  split=true;
-  pkgs=[
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-  ];
-}
-{ module="kactivities";  split=false;}
-{ module="kdeartwork";  split=false;
-  pkgs=[
-    { name="ColorSchemes"; }
-    { name="IconThemes"; }
-    { name="emoticons"; }
-    { name="kscreensaver"; }
-    { name="kwin-styles"; sane="kwin_styles";}
-    { name="sounds"; }
-    { name="styles"; }
-    { name="wallpapers"; }
-    { name="HighResolutionWallpapers"; }
-    { name="WeatherWallpapers"; }
-    { name="desktopthemes"; }
-  ];
-
-}
-{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
-{ module="kdelibs";  split=false;}
-{ module="kdepim";  split=false;}
-{ module="kdepimlibs";  split=false;}
-{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
-{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
-{ module="kde-runtime"; sane="kde_runtime"; split=false;}
-{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
-{ module="kdewebdev";  split=false;
-  pkgs=[
-    { name="klinkstatus"; }
-    { name="kfilereplace"; }
-    { name="kimagemapeditor"; }
-    { name="kommander"; }
-  ];
-
-}
-{ module="kde-workspace"; sane="kde_workspace"; split=false;}
-{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
-];
-}
diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix
deleted file mode 100644
index 04a65cc08c6..00000000000
--- a/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix
+++ /dev/null
@@ -1,444 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="amor";value="1p31vayk12pfgrx5bi0c7kiwzyk1j84b9cssrir63amfxa0gfqm5";}
-  {name="analitza";value="11bwyfqah01riilrl73b9aymd8jqkprch60fi7ya5jvz385ngxzk";}
-  {name="ark";value="0cygijr642xhrrd1a74nzgidqlb244xnp9na3ry7n49rxni3bm1n";}
-  {name="audiocd-kio";value="0a52wp0hfnw24asyy6akfnyyb1hfkkzfiy2fml7zs9pqr1knxbq1";}
-  {name="blinken";value="0wc72gx141id6h35z2lhc762yp2mi4j3bdrhlsg05f42cz0dyzv6";}
-  {name="bomber";value="1zszxy94gbzdq1jddfglxcpk3d7ly3cn2hmllblhqywx9d2s8app";}
-  {name="bovo";value="1fr1hwpcqazh5y39wgahydr91fnd0rbrnwv2ajaq8zzaqbqqkgqv";}
-  {name="cantor";value="01i2w42x606yrcrr4zacalw8rhwjczij0vfdmkqsr27dvnpl64fa";}
-  {name="cervisia";value="1iln0p690kd40anpq26snyhb1d2ql3kz89y05lbgq14n9v4iriij";}
-  {name="dolphin-plugins";value="0d386hfynxqgmcizqqspzi7lzhlm2nwz0agm7iaw6xl26xm0h5bg";}
-  {name="dragon";value="0jnqnskf4g93fd6mw5b11mp5006yk7p0lshbnglrsnybznh6q2k5";}
-  {name="ffmpegthumbs";value="15hcsglcwqmwhdnp0i8d3slr4k0j94m57baiv7axn4wpbsss5k5n";}
-  {name="filelight";value="1npwgsngqk01akzyny2x7f9c7j092c4vjfmdnm2g7hm36q2gy823";}
-  {name="granatier";value="0bclrsi6999xcsmksbg280mvhszxdsr3f5cyzsn5yahs3k6isf2j";}
-  {name="gwenview";value="1qq827b1dfqx5xybr8bjs9ch7407ix6w47iryrbs8vs3k08qw8jw";}
-  {name="jovie";value="1fq8vihh7v19wmwfgxg3m6qi4730wj12m9sv41c7nwdqz3c0gzs2";}
-  {name="juk";value="18lyw6w7z2f72j9madg9rksafj1dpz8pdc09fby9gvkwacd7qsab";}
-  {name="kaccessible";value="0swzpk3kfrc4a3bf9gf40kh8y6nyd2qhvnxxsv6m00m701cj73ar";}
-  {name="kactivities";value="13iz2d2l7rn2d9q5c3mg4836mxgnds83cy2ll18r82bpp59qj4nx";}
-  {name="kajongg";value="0wvdf9lkkiy07dhwvmamz4gginq6ljy57swp4j4z2mm8m3x9i071";}
-  {name="kalgebra";value="0p2k1c710j5nsvb218h3mkbymsd48y0yw09ijx16cbdwvka7mpag";}
-  {name="kalzium";value="0mflvnb3nrrgh6h172lkhh0mxwrpdwcji74f8g6kb7xpr45ms21k";}
-  {name="kamera";value="1rybwccq3q6q0xk9p7f4clx1gf73fqzl69dx99q19wfc5y23pmg9";}
-  {name="kanagram";value="10vdkva83kb8rk6xaxcv5lgdil5wnz6i2bphz2c029s4vm8d2i2n";}
-  {name="kapman";value="0m5mawy3bjp2zd3jkylxsw4ccwzqg8lqd2v9i07zzf6f9ihjqs6r";}
-  {name="kapptemplate";value="16w8lrq2an4iwrss81fp0jisd52v2lwbvyam93cwxfcp4bsbzs9y";}
-  {name="kate";value="0n6jnfwprd5xjyja1dmja785swxgxnpz769xbg5aylnr1rsldzv2";}
-  {name="katomic";value="14rrnm6qf5lf05lj9d2zalrv5npj4hkng4i68y1svkgjl8p98j52";}
-  {name="kblackbox";value="00n3n011cnspdh606aa3scxj388vs3j1bamhk6bxnhmc26gbi54b";}
-  {name="kblocks";value="0l080dqdkqqqn1927gnjzbp3jqwladw1qmkx171291qxa0x364x0";}
-  {name="kbounce";value="10q1821wcnh4xggrndgvsm4dx6hyx4nll3f7blz77cga8fvz8lbw";}
-  {name="kbreakout";value="1xhnmlp2f8a0pmsabsw0yc53i5hcxf1bgid1ffbbgsr014xgqmmi";}
-  {name="kbruch";value="1rridi7lv1izmq68ymjmmm7mvyl3bdnkxj84dxg97yv91yqjx6ys";}
-  {name="kcachegrind";value="0crsb236nay9c0r49hgmiysa9bqwy89aj1avh3sxh82b7dsqmplp";}
-  {name="kcalc";value="0mw77vw8py0xnvkx43lvfzkghwd974chiszxck78iks2m12vgnpz";}
-  {name="kcharselect";value="1ys31fx7g85xmhia05s0i30k1jf1in83hnwc568lsbzvw37adbim";}
-  {name="kcolorchooser";value="0cn9n82kk08c55sy1hncpg5pjzlinkgvmii2p5gyp28fx4yphh45";}
-  {name="kcron";value="05bgwijfcpk56fkmnfjgcrmvkr50j1p524xg8s7zjxsdgib4p9xs";}
-  {name="kdeartwork";value="166fm27iby4gjk8f8zbdamwzkjh5wbvhfj9wn0pkp2dm8l9h8lq2";}
-  {name="kde-baseapps";value="1kgwgrn73x89zipkhq1irs09ka9wi8hk22daf16c4a6hbpinl24x";}
-  {name="kde-base-artwork";value="076h9sl1gyn6c2lmslig9p7w7m049bna9l8wv5jllwssm8i83ccg";}
-  {name="kde-dev-scripts";value="0dpdpc24kcyihgqqypqrxhmfwsmhl9ffim80n2rsdp3aka4y10vv";}
-  {name="kde-dev-utils";value="1j77v0d706ic9m008apqwc1287ma47qmpbv07xv770i0wjh90pl6";}
-  {name="kdegraphics-mobipocket";value="02dzr5lm75p6rw7k30aj5m296h8whxg1shrv8s1pm7ari2660d50";}
-  {name="kdegraphics-strigi-analyzer";value="09cnwvmkjyxagpb5sqgcj69fr496wb0pn4xns65yzynv0540hkkd";}
-  {name="kdegraphics-thumbnailers";value="1fs69zih92dlm8l60br0c0nwy095hsnszdyspdkmz52ycznmzk28";}
-  {name="kdelibs";value="01nzkrmvv8pa4x7mq5nw0z6dasm668q37mhdgvkg1hk7i57w98z5";}
-  {name="kdenetwork-filesharing";value="0ah9v7vvpg8v8nn59h168zn2gaajf39ha2617dyicknc4gn9rsgk";}
-  {name="kdenetwork-strigi-analyzers";value="1iwhr1ckn06z50j1fq9ah15gni3am91gyhyi0f21jaqdigxpi3my";}
-  {name="kdepim";value="0gs06h182m74fgdp20z3w4h8ib5xm1h0i1asnwy1s61gvpkcm63h";}
-  {name="kdepimlibs";value="0kxnczl97wavm3c75wmy4yjw3vbq4x0jdkbk611jn8hqj32c3fl7";}
-  {name="kdepim-runtime";value="13j39qbb6vgsfhypby994pgwlmmyimmqvfri92m15l0ir7rqgfwm";}
-  {name="kdeplasma-addons";value="1dy3gw8z18acs3dmw375jv9qnxjrdwzzgj2p164icid7l2041n8l";}
-  {name="kde-runtime";value="1w4xav8abgqfj943iz2gjzfdmlnk25r5xj3g79sw1ip1bcvkhpq4";}
-  {name="kdesdk-kioslaves";value="1npqa9wwbgjwlnr24dgprdndygmvsixf19hjbplcnp41dn2q14nz";}
-  {name="kdesdk-strigi-analyzers";value="1b4anyzl3xd8pfhia8s0mbrhlyr086gic1as766ynddjpr6a4a94";}
-  {name="kdesdk-thumbnailers";value="0jmkgmabbip7ymjmvyxdrji7xbplrhcrq4vlq8z0jbnyh9b9yngx";}
-  {name="kde-wallpapers";value="1l4hr5nxvf10yv2n76znrz1s0v7xqppipisc1ffbfdnf2l4wrw11";}
-  {name="kdewebdev";value="0gp1vm905p0a0j4h1lakj2zxfm4c78898rl05yf04g9x25yj3mbg";}
-  {name="kde-workspace";value="05yr52xq6w1j2kc4n5wan5f5c7xbcnaad7sdhfns3alg1grlc3i6";}
-  {name="kdf";value="0nblxiav3rw9zggqxpawvknadxbr601m55535k3gzpg3a4slk7nc";}
-  {name="kdiamond";value="0w0fzlpvj98ykvvgyzp8hhkn20pyhxc1c8krlagaqxncv1b7mhcf";}
-  {name="kdnssd";value="0q74myd7shrp43ny2vm7hadr2aix1v35v0hg6i99z7rif9ai8yjh";}
-  {name="kfloppy";value="1w1qiplcnbq10qv4lyjx521adkcg9w7z372w7fi18hjv93ryliis";}
-  {name="kfourinline";value="0irghbp7hsrl7bhi2ggf6rb0p62vck47rmmy6zb30wv32xk9gz9k";}
-  {name="kgamma";value="1cbdxbh57jcz9anawvwybi1s4skcyq84f2r5mjs1xyg2s2fv1l8b";}
-  {name="kgeography";value="00g544kc7hkabk5xbkl07k3h515ac84l4a49853pj2ryrdrikmvx";}
-  {name="kget";value="1mdfrwdf6lm94vcc5m4l7q14b70x2pkd0ham194acd60np8bk5s4";}
-  {name="kgoldrunner";value="0dbhvqxryilixv7ak0b79g8d8a2mbgkp440sxkl31xjak05c1qmv";}
-  {name="kgpg";value="10py9c1z8i1p0acp2lbi6c95gsfhfv1cw5544xp31v5iccrv2izn";}
-  {name="khangman";value="0j13zzplvrgrq8gsn7xfbf19xclc6kvsrzbnbgp83ji1dg168z6c";}
-  {name="kig";value="0ld9g522n361q0h7yvb3zljllbddyglxiamw2hs2svsm7k98klz9";}
-  {name="kigo";value="1rn8pw4jw7ia3dhwx3jwfzylfd4l067qp1kp01lixddfd0ivh42r";}
-  {name="killbots";value="0c0hx61by8n10j3wcpwi6pzbq7bnmpylamj0c1r5pbxm69ljsaiv";}
-  {name="kimono";value="1p40q61p98vz9s4dkwm51p36yk2qx2s00fpiyi1pi73qg4klbc4j";}
-  {name="kiriki";value="0f01zdlpzwlkriv48p13wlg7j2b0dwzhd7hrq35kyb3jzwx1pc5n";}
-  {name="kiten";value="0kk5s3idg5vz59drc65w53fd1l2x4vh593crc7by2dgzsf6x40sd";}
-  {name="kjumpingcube";value="1gdbjv42dryyap3dln7wy3pysbyy9d10vbpb1asxbpn1kzlzlf96";}
-  {name="klettres";value="08h3b70nj4d4cb71fvm3wkgy27vm1aqx8xzkqdgzs2snzb8ra983";}
-  {name="klickety";value="1vmnbfjd620g2xibxfpb18cfdfcksny7rjah4j90cvadcsbg8x3x";}
-  {name="klines";value="10sk0fn6aavdf0df1xw3p0nbwv22ccpdg00xv7h8m4fk43j04dvp";}
-  {name="kmag";value="062kl6j150f579npfkv7jm2b9zih0ahfpzbpl635fz2av2aimm8j";}
-  {name="kmahjongg";value="1xikbz840dh57rf83af0jnmjb9q4ggd5801kiqkq6lkp413iij23";}
-  {name="kmines";value="0ijibp21f6s5l55m2zrcdz2a8xqjk22na79rc0wsdps7pmvf5sfj";}
-  {name="kmix";value="0md4fqv047g3s9bhr8jz2fcwq1vsld2jfi8j7cg8b8bh73kd2fbq";}
-  {name="kmousetool";value="1x8vb0hjmx6xac2602iaab93ha2nfk8i0y67z48p6i7s2n3zni06";}
-  {name="kmouth";value="10ibhgz7mv4kaiyl779h0qlpwgx4s8flsh0850if06mhdxjxld2y";}
-  {name="kmplot";value="1cy9qi53ivb3zy1lcb35ivh42yvj0gikr8m7j4nlrg4xy93gjrhd";}
-  {name="knavalbattle";value="1nd2z8ylmqcj515l3llbq2crdlds7qidni8ja24nk1wf5h4k9amp";}
-  {name="knetwalk";value="01jjal03srn55mlb11vkimgh1mixdwxqi0vh1s56hd894ssn0hgh";}
-  {name="kolf";value="0nsy2wp3fwing3hkwspjm4d8swhzamaaj5x7k0jyvcqcj93sgp1g";}
-  {name="kollision";value="1vz313lr1bp7crfnkdfvz5c7dynsyaqhv1pm6fyjv6ribv3dh48q";}
-  {name="kolourpaint";value="1k8kggx9ljkms4q70m38xd8a364nkynhkqiz2h1znr779sfqy5vp";}
-  {name="kompare";value="0kp6xzgbbhxxspmlx86f7vhn34iknvspjpniaxqvadrfi6xn4801";}
-  {name="konquest";value="072nvaxa1yjaq16095xkla3lndyfq2p801wc0r0m2imc62f30cbd";}
-  {name="konsole";value="17m68zq97whybvixgjdaz45d91x48aw7ijkzfapml7fldpf32bqw";}
-  {name="kopete";value="1q3825fl5pbim3rfi9s8k5sscvbwdacy00rkww4jdw8z3xxsriqj";}
-  {name="korundum";value="1iam31q7cf7a9yxx1i0gnqhnm0262ns8qpr6h2n7cmzkns8bckal";}
-  {name="kpat";value="00mlmqbm0f3yjm89vs91l0rc4r9lsvh0qq59za43rkg8j2rg5nmz";}
-  {name="kppp";value="0gxnd0p48waz0nz4inalyk52xvbhyd3w5m08p1q2a7ssczvza2wp";}
-  {name="krdc";value="1s8qm8s6gxfpdgvh4zi7svs48fnrngj7hxkyp1fjmksaczffrfx1";}
-  {name="kremotecontrol";value="1zjpagr0kcmqsjg4sswqhannc1rix242zbikwzs7jsbq34qy9fg2";}
-  {name="kreversi";value="1ylimga3wqdam1207c6zp1r0aqmqnndldd6y2pazqgk7wcr5z8lf";}
-  {name="krfb";value="0gq6rnkprk98ylnrispd66101jb040p8m9fcab9n5v2g4lvxzcia";}
-  {name="kross-interpreters";value="1njhlscnsd0v7jzzdknsc8nljc2xz7mbxscymhdafbpmjd655sdg";}
-  {name="kruler";value="0z8krqp9gy1n6kqk5slig9f4f07ddqrsbn6p7xqadrrs5a7g4baa";}
-  {name="ksaneplugin";value="1crry96ca3pk25xwnpm73004srf85yq3xpbwc1rr3a7xmniqglr7";}
-  {name="kscd";value="1ix0zdqk2bfmb05j3cwf55kz4sp4krx75wpfzsz2yf3dz047ylqp";}
-  {name="kshisen";value="1hmv7w2mb6v9rqhifns0js592m2m7ys9fsnrdxiv1nzkcbl3xll7";}
-  {name="ksirk";value="1pjrq3v1c0sk5r5hdk4rlbs47wwmsrds43ascp6p4rxvbagki99w";}
-  {name="ksnakeduel";value="09rl2j6pwdhc8lcb2dxh5l3zb0l0iz29b76svb727sga2y7b85qk";}
-  {name="ksnapshot";value="0n2xbqkm34bq8mgpycfyda82v3c4h07lcqvs747aw95kkydb71yk";}
-  {name="kspaceduel";value="01dshprsrwjgb7pgxz2razyxi8yi1cmnalyxflwxqh2zd4xx300y";}
-  {name="ksquares";value="195c1wywm70zwd4z5cqv4xk315xrpkkbwq2myiyxa0wshhiz31bb";}
-  {name="kstars";value="0xl2vpkxa66gd3ycl092lvnk07fw3phlcp4jmpcby650xvp7h6bn";}
-  {name="ksudoku";value="1gi5xr0x9w13skvs8dj4lflib7w9xqn2xr6h90mbncg5c54wmlqc";}
-  {name="ksystemlog";value="148i90y6gc1bw2128xmb56lprmx80s0024dsd4xknm7fw8mpycdm";}
-  {name="kteatime";value="0cgqz9py80grv7sf8k5mixfl5vzx58g93flv409f7nbpia3fjr26";}
-  {name="ktimer";value="1ph38xw1yhqg65y9dhgpgzls4yx1y025v1wv5wflmcranx68a589";}
-  {name="ktouch";value="0n70611cccp09dy8r0q4n7k3l68938hz0xkvp9ik58bnfkn57fvh";}
-  {name="ktuberling";value="0zfp8ynxxdys819gw7dnq6rl9l62dpfz0hvcm2fd8bvjwxrqzxrm";}
-  {name="kturtle";value="1ciwmgd7x0223d22jzqgr7ginaf8c9hi4zlcsl3s7i87hd46878g";}
-  {name="ktux";value="0njz3icalh644kfcnlr4nmdsavkvsp492ig6w0ryr43namqbi0fw";}
-  {name="kubrick";value="07rkhb4ms8wdcny163z0ffavx3i1z13kxmj8xfbv3jx3nbcr33p5";}
-  {name="kuser";value="0avxd71zw0v8qirflpws1g7dqvs6hkpqxi89zfrvcsb8fgcqqvx2";}
-  {name="kwallet";value="0lnv7yd1ig18dmkxanmkwnz6w28p8ak8sg1rxic07g50qni4yk8g";}
-  {name="kwordquiz";value="03qxjm445jynw41wva8b86kigda2q828p0vkz58ymk8ibds74jfm";}
-  {name="libkcddb";value="0hz4300q0hhmrjd2ackaxbvdg9j51bc2fkcndw2d7wwvqz4a1am6";}
-  {name="libkcompactdisc";value="1jf0ivcy7mv3p7xcbigffmx2sby37ainjw29cp8yv0qgdwws5pm3";}
-  {name="libkdcraw";value="1y75rm55s8407q4qglndf28gix0niq0ypa9g1jwf2c8fpmf7ffph";}
-  {name="libkdeedu";value="1gd0jp85qnml2nlnf554mm9yszjkxgs9jqyi77vrhhp50bxkwdbv";}
-  {name="libkdegames";value="12590b023cjjix7mbd6flhm419w4j4zbs83ar9sihlwj6l3fzs9z";}
-  {name="libkexiv2";value="16jsd5ip4179cs2hvwqvb1cbrl5z06zyr9prr269rg11i8rjfjai";}
-  {name="libkipi";value="1wsmci2rfrg8jw3scl14cjx4q616lbmvlzjs6lv2dza4cya4jqvy";}
-  {name="libkmahjongg";value="1s4gzdygrpzjg4rxkn9ndgaj0gzj4ss0ywpd1rv5nv8iaig42cah";}
-  {name="libksane";value="1hylj10pqr82drw9b9r10rwbjf85fx225az2ha7zcm9j1k170n8d";}
-  {name="lokalize";value="0d3sym5waf1nivwksqpclwj9hxl1fva3h0hzgsmgg39qbnanqg4d";}
-  {name="lskat";value="0m47kb9l830d5798xkx9h6fx3ng59zlbji8pnaj6m53q0yj7n5am";}
-  {name="marble";value="0r27nmbvgxx4w00ii926gkxz2ilaa1sja02q62jhxvm01rp1kvka";}
-  {name="mplayerthumbs";value="1a58f66mpzngd558336h13vzl0paj3pbl4fna1vk34fzjz0ldsrm";}
-  {name="nepomuk-core";value="1l14a7hdbz7ap3lidj8acjvkxiycld4wspcw5xnd85pjhks8fcil";}
-  {name="nepomuk-widgets";value="19g752h1f4gz3208ynprxp7nxnbjgis99016lik8f9179n6mjygb";}
-  {name="okteta";value="1hwpyb9g1fwcsl713g84za62qjissmjfjhw2jvd2x08lrjablvvk";}
-  {name="okular";value="03jw7c3h6708aisk301nvfnp0vih3c5wz928zmh54h1aslfi4c3k";}
-  {name="oxygen-icons";value="01f9xkpk8fgj2ccmbrbjx9z1gxqnj4rrvasxh575lcvknnbsf6vz";}
-  {name="pairs";value="1zp89sp5qmllbm9qqzcwf90cy5vqvywki2yjgz0gn2svp1629mmg";}
-  {name="palapeli";value="0kbi61jxxyg2zzjxhjr0m14p1k04jfv212gkj6ic81hrwzjfffzc";}
-  {name="parley";value="1f266kvb0fzy3gxv9fzq59aikz0g540ydbzvr51hlvlra88sjj47";}
-  {name="perlkde";value="0gm9wim2llyglnzxqbgy0jzj9ji3p683zbrhlglpxpd6wh3ady1w";}
-  {name="perlqt";value="0qxad4m6iqc26yn8nsa3g24xr84ncrmhwhz95i2jzzrbqawwas3m";}
-  {name="picmi";value="0nlw3lqfck3fp77n56qmvlj3p6rr60drsq5qxyrrl3scw2dlipq7";}
-  {name="poxml";value="0vjmd1r90l85xs9sv2wzd1vdml6a6fh0ipzz7zyixy600lqgxy13";}
-  {name="print-manager";value="1bw5w8n4wwggib1yrgai2723fwnjrr3wbnnxn85j7bpy3b84cqfh";}
-  {name="pykde4";value="1ziq3nms0bvpnsl21pw37bkimi817jx0mmqsvf5xkxppx7f622cy";}
-  {name="qtruby";value="1pyz2zimw9qz8b5nfmzvp0kzsq6rvbwv0s9kxgh7i2xxnh2mj4gp";}
-  {name="qyoto";value="0jnchp7kdskm9nc533p7bk8shy0i57dcivrmprnwyiy4sfhd4ldj";}
-  {name="rocs";value="0markia51c5a8ggxaiy6vccpdzlamy7md5jfx4jb79qp8hlv2dlc";}
-  {name="smokegen";value="1fgh5z2gwyjkgk8290nx747bj1iaj7224nx3ad8qra9v8y6d0w3d";}
-  {name="smokekde";value="15ci2bs141nbkk2f209rbdacxfdxx6ncp5cc9gv7if8sm708vjy1";}
-  {name="smokeqt";value="0wmzrr4fslam8mxvl90iyikyyipqlqf7zdynxyqr7zxlc421clyz";}
-  {name="step";value="1a2v99k3v0ry5iwvl4cza5g7sqhib78nx0p5r369fqvcbn9mn0wz";}
-  {name="superkaramba";value="1mwa1ggagl8z2422gyilcvb85sgw5db58k0fkv3jcgfi6mx3sv3a";}
-  {name="svgpart";value="1ma4msnky3civhnx0by6hy4ysi8nhzssrsabnj6hg96d7mpnjvqw";}
-  {name="sweeper";value="1vgg21ndqbba0il96x01kcy8z242g0f0lwfqgzs9cd17qx05056s";}
-  {name="umbrello";value="10q4lar55ad58cl4wnmmvmyywm5xi7gcggrfblll8j76mw4dkyda";}
-];
-modules=[
-{
-  module="kdemultimedia";
-  split=true;
-  pkgs=[
-    { name="audiocd-kio"; sane="audiocd_kio"; }
-    { name="dragon";  }
-    { name="ffmpegthumbs";  }
-    { name="juk";  }
-    { name="kmix";  }
-    { name="kscd";  }
-    { name="libkcddb";  }
-    { name="libkcompactdisc";  }
-    { name="mplayerthumbs";  }
-  ];
-}
-{
-  module="kdegraphics";
-  split=true;
-  pkgs=[
-    { name="gwenview";  }
-    { name="kamera";  }
-    { name="kcolorchooser";  }
-    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
-    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
-    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
-    { name="kgamma";  }
-    { name="kolourpaint";  }
-    { name="kruler";  }
-    { name="ksaneplugin";  }
-    { name="ksnapshot";  }
-    { name="libkdcraw";  }
-    { name="libkexiv2";  }
-    { name="libkipi";  }
-    { name="libksane";  }
-    { name="okular";  }
-    { name="svgpart";  }
-  ];
-}
-{
-  module="kdelibs";
-  split=true;
-  pkgs=[
-    { name="kdelibs";  }
-    { name="nepomuk-core"; sane="nepomuk_core"; }
-    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
-  ];
-}
-{
-  module="kdenetwork";
-  split=true;
-  pkgs=[
-    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
-    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
-    { name="kdnssd";  }
-    { name="kget";  }
-    { name="kopete";  }
-    { name="kppp";  }
-    { name="krdc";  }
-    { name="krfb";  }
-  ];
-}
-{
-  module="kdeutils";
-  split=true;
-  pkgs=[
-    { name="ark";  }
-    { name="filelight";  }
-    { name="kcalc";  }
-    { name="kcharselect";  }
-    { name="kdf";  }
-    { name="kfloppy";  }
-    { name="kgpg";  }
-    { name="kremotecontrol";  }
-    { name="ktimer";  }
-    { name="kwallet";  }
-    { name="print-manager"; sane="print_manager"; }
-    { name="superkaramba";  }
-    { name="sweeper";  }
-  ];
-}
-{
-  module="applications";
-  split=true;
-  pkgs=[
-    { name="kate";  }
-    { name="konsole";  }
-  ];
-}
-{
-  module="kdetoys";
-  split=true;
-  pkgs=[
-    { name="amor";  }
-    { name="kteatime";  }
-    { name="ktux";  }
-  ];
-}
-{
-  module="kdesdk";
-  split=true;
-  pkgs=[
-    { name="cervisia";  }
-    { name="dolphin-plugins"; sane="dolphin_plugins"; }
-    { name="kapptemplate";  }
-    { name="kcachegrind";  }
-    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
-    { name="kde-dev-utils"; sane="kde_dev_utils"; }
-    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
-    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
-    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
-    { name="kompare";  }
-    { name="lokalize";  }
-    { name="okteta";  }
-    { name="poxml";  }
-    { name="umbrello";  }
-  ];
-}
-{
-  module="kdegames";
-  split=true;
-  pkgs=[
-    { name="bomber";  }
-    { name="bovo";  }
-    { name="granatier";  }
-    { name="kajongg";  }
-    { name="kapman";  }
-    { name="katomic";  }
-    { name="kblackbox";  }
-    { name="kblocks";  }
-    { name="kbounce";  }
-    { name="kbreakout";  }
-    { name="kdiamond";  }
-    { name="kfourinline";  }
-    { name="kgoldrunner";  }
-    { name="kigo";  }
-    { name="killbots";  }
-    { name="kiriki";  }
-    { name="kjumpingcube";  }
-    { name="klickety";  }
-    { name="klines";  }
-    { name="kmahjongg";  }
-    { name="kmines";  }
-    { name="knavalbattle";  }
-    { name="knetwalk";  }
-    { name="kolf";  }
-    { name="kollision";  }
-    { name="konquest";  }
-    { name="kpat";  }
-    { name="kreversi";  }
-    { name="kshisen";  }
-    { name="ksirk";  }
-    { name="ksnakeduel";  }
-    { name="kspaceduel";  }
-    { name="ksquares";  }
-    { name="ksudoku";  }
-    { name="ktuberling";  }
-    { name="kubrick";  }
-    { name="libkdegames";  }
-    { name="libkmahjongg";  }
-    { name="lskat";  }
-    { name="palapeli";  }
-    { name="picmi";  }
-  ];
-}
-{
-  module="kdeedu";
-  split=true;
-  pkgs=[
-    { name="analitza";  }
-    { name="blinken";  }
-    { name="cantor";  }
-    { name="kalgebra";  }
-    { name="kalzium";  }
-    { name="kanagram";  }
-    { name="kbruch";  }
-    { name="kgeography";  }
-    { name="khangman";  }
-    { name="kig";  }
-    { name="kiten";  }
-    { name="klettres";  }
-    { name="kmplot";  }
-    { name="kstars";  }
-    { name="ktouch";  }
-    { name="kturtle";  }
-    { name="kwordquiz";  }
-    { name="libkdeedu";  }
-    { name="marble";  }
-    { name="pairs";  }
-    { name="parley";  }
-    { name="rocs";  }
-    { name="step";  }
-  ];
-}
-{
-  module="kdeadmin";
-  split=true;
-  pkgs=[
-    { name="kcron";  }
-    { name="ksystemlog";  }
-    { name="kuser";  }
-  ];
-}
-{
-  module="kdebindings";
-  split=true;
-  pkgs=[
-    { name="kimono";  }
-    { name="korundum";  }
-    { name="kross-interpreters"; sane="kross_interpreters"; }
-    { name="perlkde";  }
-    { name="perlqt";  }
-    { name="pykde4";  }
-    { name="qtruby";  }
-    { name="qyoto";  }
-    { name="smokegen";  }
-    { name="smokekde";  }
-    { name="smokeqt";  }
-  ];
-}
-{
-  module="kdeaccessibility";
-  split=true;
-  pkgs=[
-    { name="jovie";  }
-    { name="kaccessible";  }
-    { name="kmag";  }
-    { name="kmousetool";  }
-    { name="kmouth";  }
-  ];
-}
-{
-  module="kde-baseapps";
-sane="kde_baseapps";  split=true;
-  pkgs=[
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-  ];
-}
-{ module="kactivities";  split=false;}
-{ module="kdeartwork";  split=false;
-  pkgs=[
-    { name="ColorSchemes"; }
-    { name="IconThemes"; }
-    { name="emoticons"; }
-    { name="kscreensaver"; }
-    { name="kwin-styles"; sane="kwin_styles";}
-    { name="sounds"; }
-    { name="styles"; }
-    { name="wallpapers"; }
-    { name="HighResolutionWallpapers"; }
-    { name="WeatherWallpapers"; }
-    { name="desktopthemes"; }
-  ];
-
-}
-{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
-{ module="kdelibs";  split=false;}
-{ module="kdepim";  split=false;}
-{ module="kdepimlibs";  split=false;}
-{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
-{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
-{ module="kde-runtime"; sane="kde_runtime"; split=false;}
-{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
-{ module="kdewebdev";  split=false;
-  pkgs=[
-    { name="klinkstatus"; }
-    { name="kfilereplace"; }
-    { name="kimagemapeditor"; }
-    { name="kommander"; }
-  ];
-
-}
-{ module="kde-workspace"; sane="kde_workspace"; split=false;}
-{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
-];
-}
diff --git a/pkgs/desktops/kde-4.11/kde-package/default.nix b/pkgs/desktops/kde-4.11/kde-package/default.nix
deleted file mode 100644
index 8a6e8e16751..00000000000
--- a/pkgs/desktops/kde-4.11/kde-package/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
-, release, ignoreList, extraSubpkgs
-}:
-
-let
-  inherit (stdenv.lib) filter fold;
-  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
-in
-rec {
-  manifest = import (./. + "/${release}.nix");
-
-  # src attribute for $name tarball
-  kdesrc = name: fetchurl {
-    url = "mirror://kde/" + (if manifest.stable then "" else "un")
-      + "stable/${release}/src/${name}-${release}.tar.xz";
-    sha256 = getAttr name manifest.hashes;
-  };
-
-  # Default meta attribute
-  defMeta = {
-    homepage = http://www.kde.org;
-    platforms = stdenv.lib.platforms.linux;
-    inherit (qt4.meta) maintainers;
-  };
-
-  # KDE package built from the whole tarball
-  # This function is used both for monolithic modules and modules which are
-  # released as individual tarballs
-  kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${release}";
-      src = kdesrc name;
-      meta = defMeta // meta;
-      enableParallelBuilding = true;
-    } // (removeAttrs a [ "meta" "name" ]));
-
-  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
-  # API.
-  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
-
-  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
-  kdeSubdirPkg = module:
-    {name, subdir ? name, sane ? name}:
-    let name_ = name; in
-    a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${release}";
-      src = kdesrc module;
-      cmakeFlags =
-        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
-          "-DBUILD_doc=TRUE"
-          "-DBUILD_${subdir}=TRUE"
-        ] ++ cmakeFlags;
-      meta = defMeta // meta;
-      enableParallelBuilding = module.enableParallelBuilding or true;
-    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
-
-  # A KDE monolithic module
-  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
-
-  # Combine packages in one module.
-  # Arguments:
-  #  * pkgFun --- a function of the following signature:
-  #               module: manifest_attrs: manual_attrs: derivation;
-  #  * module --- name of the module
-  #  * pkgs --- list of packages in manifest format
-  combinePkgs = pkgFun: module: pkgs:
-    let
-      f = p@{name, ...}:
-        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
-      list = map f pkgs;
-      attrs = listToAttrs (map
-        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
-        pkgs);
-    in
-      runCommand "${module}-${release}"
-      ({passthru = attrs // {
-         propagatedUserEnvPackages = list;
-         projects = attrs;
-       };})
-        ''
-          mkdir -pv $out/nix-support
-          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
-        '';
-
-  # Given manifest module data, return the module
-  kdeModule = { module, sane ? module, split, pkgs ? [] }:
-    let
-      pkgs_ = filterPkgs module pkgs;
-    in
-    # Module is splitted by upstream
-    if split then combinePkgs kdeSplittedPkg module pkgs_
-    # Monolithic module
-    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
-    # Module is splitted by us
-    else combinePkgs kdeSubdirPkg module pkgs_;
-
-  # The same, as nameValuePair with sane name
-  kdeModuleNV = a@{ module, sane ? module, ... }:
-    { name = sane; value = kdeModule a; };
-
-  filterPkgs = module: (p:
-      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
-      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
-
-  # Remove attrsets with x.name in subst. Optimized for empty subst.
-  removeNames = subst: big:
-    fold (s: out: filter (x: x.name != s) out) big subst;
-
-  modules = listToAttrs (map kdeModuleNV manifest.modules);
-
-  splittedModuleList =
-    let
-      splitted = filter (a: a ? pkgs) manifest.modules;
-      names = map ({module, sane ? module, ...}: sane) splitted;
-    in
-    map (m: m.projects) (stdenv.lib.attrVals names modules);
-
-  individual =
-    stdenv.lib.zipAttrsWith
-    (
-      name: list:
-      if tail list == []
-      then head list
-      else abort "Multiple modules define ${name}"
-    )
-    splittedModuleList;
-}
diff --git a/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh
deleted file mode 100755
index e964ce3ddc1..00000000000
--- a/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#! /bin/sh
-
-# Usage: download kde release to $dir, then run
-# $0 $dir
-
-dir="$1"
-
-# Detect release number & whether it is a stable release
-if [[ ! -d "${dir}" ]]; then
-  echo "${dir} is not a directory (or doesn't exist)!" >&2
-  exit 1
-fi
-
-release=$(ls "${dir}"/kdelibs-*.tar.xz | \
-  sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
-
-if [[ ${release##*.} -gt 50 ]]; then
-  stable="false"
-else
-  stable="true"
-fi
-
-echo "Detected release ${release}" >&2
-
-declare -A hash
-declare -A modules
-declare -a packages
-declare -a top_level
-
-# xsltproc output declares -A module
-if [[ ! -f kde_projects.xml ]]; then
-  curl -O -J http://projects.kde.org/kde_projects.xml
-fi
-eval `xsltproc kde-submodules.xslt kde_projects.xml`
-
-module[kde-baseapps]=kde-baseapps
-unset module[kactivities]
-
-print_sane() {
-  echo "Called print_sane $1" >&2
-  sane="${1//[^a-z0-9_]/_}"
-  if [[ "$sane" != "$1" ]]; then
-    echo "Sane version is $sane" >&2
-    echo -n "sane=\"$sane\";"
-  fi
-}
-
-for i in `cd "${dir}"; ls *-${release}.tar.xz`; do
-  package=${i%-${release}.tar.xz}
-  packages+=( "$package" )
-  echo -n "${package}.. " >&2
-  hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
-  echo -n ${hash[$package]} >&2
-
-  if [ -n "${module[$package]}" ]; then
-    m="${module[$package]}"
-    echo " (${m})" >&2
-    modules[$m]=1
-  else
-    top_level+=( "$package" )
-    echo " (top-level)" >&2
-  fi
-  #nix-store --add-fixed sha256 "${dir}/${i}" >&2
-done
-
-
-print_pkg_hash() {
-  echo "  {name=\"${1}\";value=\"${hash[$1]}\";}"
-}
-
-print_hashes(){
-  echo "hashes=builtins.listToAttrs["
-  for p in "${packages[@]}"; do print_pkg_hash "$p"; done
-  echo "];"
-}
-
-print_split_module(){
-  echo -n "$1:" >&2
-  echo -e "{\n  module=\"$1\";"
-  print_sane "$1"
-  echo "  split=true;"
-  echo "  pkgs=["
-  for p in "${packages[@]}"; do
-    if [[ "${module[$p]}" == "$1" ]]; then
-      echo -n "    { name=\"$p\"; "
-      print_sane "$p"
-      echo " }"
-      echo -n " $p" >&2
-    fi
-  done
-  echo "  ];"
-  echo "}"
-  echo >&2
-}
-
-print_mono_module(){
-  echo -en "{ module=\"$1\"; "
-  print_sane "$1"
-  echo -n "$1 ... " >&2
-  echo -n " split=false;"
-  cml="$1-$release/CMakeLists.txt"
-  tar -xf "${dir}/$1-${release}.tar.xz" "$cml"
-  if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
-    if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
-      echo " is monolithic (has unconditionally added subdirs)" >&2
-    else
-      subdirs=( `grep '^[^#]*add_subdirectory' $cml |
-        sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
-        grep -v '\(doc\|cmake\)'` )
-      echo " seems splittable, subdirs: ${subdirs[*]}" >&2
-      echo -e "\n  pkgs=["
-      for s in "${subdirs[@]}"; do
-        echo -en "    {"
-		echo -n " name=\"${s//\//-}\"; "
-        print_sane "$s"
-        if [[ $s != "${s//\//-}" ]]; then
-          echo -n "subdir=\"$s\"; "
-        fi
-        echo "}"
-      done
-      echo -e "  ];\n"
-    fi
-  else
-    echo " is monolithic (has no subdirs)" >&2
-  fi
-  rm $cml
-  rmdir $1-$release
-  echo "}"
-}
-
-print_modules(){
-  echo "modules=["
-  echo "Printing modules splitted by upstream" >&2
-  for m in "${!modules[@]}"; do print_split_module "$m"; done
-  echo >&2
-  echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
-  for m in "${top_level[@]}"; do print_mono_module "$m"; done
-  echo "];"
-}
-
-echo "Writing ${release}.nix" >&2
-exec > "${release}.nix"
-echo "{stable=${stable};"
-print_hashes
-print_modules
-echo "}"
diff --git a/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt
deleted file mode 100644
index 952a05a9d27..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kde-runtime.nix b/pkgs/desktops/kde-4.11/kde-runtime.nix
deleted file mode 100644
index 28e9aa52e62..00000000000
--- a/pkgs/desktops/kde-4.11/kde-runtime.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
-, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
-, networkmanager, kactivities, kdepimlibs, openexr, ilmbase
-}:
-
-kde {
-  buildInputs = [
-    kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
-    qca2 samba libcanberra pulseaudio
-    networkmanager kactivities kdepimlibs openexr
-#todo: add openslp
-  ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
-  passthru.propagatedUserEnvPackages = [ virtuoso ];
-
-  meta = {
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kde-wallpapers.nix b/pkgs/desktops/kde-4.11/kde-wallpapers.nix
deleted file mode 100644
index 701a1f3771f..00000000000
--- a/pkgs/desktops/kde-4.11/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 = "07jwbxp4gdxkvxdasbzbv00l3kqrjph4d8dlbyxgryf12waykcmm";
-
-  meta = {
-    description = "Wallpapers for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kde-workspace.nix b/pkgs/desktops/kde-4.11/kde-workspace.nix
deleted file mode 100644
index 0bb6ed606c7..00000000000
--- a/pkgs/desktops/kde-4.11/kde-workspace.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
-, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
-, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
-, libjpeg, pkgconfig, kactivities, qjson, udev
-}:
-
-kde {
-
-#todo: wayland, consolekit, xmms, opengles,  libusb isn't found
-  buildInputs =
-    [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg 
-      xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
-      xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
-      xorg.libXdamage
-
-      python boost qjson lm_sensors gpsd libraw1394 pciutils udev
-      akonadi pam libusb1 libqalculate kdepimlibs  prison
-      kactivities
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  preConfigure =
-   ''
-     # Fix incorrect path to kde4-config.
-     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
-
-     # Fix the path to the keyboard configuration files.
-     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
-       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
-   '';
-
-  enableParallelBuilding = false; # frequent problems on Hydra
-
-  meta = {
-    description = "KDE workspace components such as Plasma, Kwin and System Settings";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix
deleted file mode 100644
index d38c80c4c36..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix
deleted file mode 100644
index 98fae7c983f..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix
deleted file mode 100644
index 606c61cddb6..00000000000
--- a/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-#todo: package qaccessibilityclient
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Screen magnifier for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix
deleted file mode 100644
index 8e0caa76ed9..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix
deleted file mode 100644
index 4159501967c..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix
deleted file mode 100644
index acccf66976f..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake
deleted file mode 100644
index 499ed75268e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix
deleted file mode 100644
index edffca1562e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix
deleted file mode 100644
index 43071e8bd14..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix
deleted file mode 100644
index 947e5e17ab0..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix
deleted file mode 100644
index 93dd361af73..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix
deleted file mode 100644
index 5ef9f78a719..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix
deleted file mode 100644
index b5d769b216d..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.11/kdeartwork/sounds.nix
deleted file mode 100644
index e98705da889..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/styles.nix b/pkgs/desktops/kde-4.11/kdeartwork/styles.nix
deleted file mode 100644
index 6a1306c3710..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix
deleted file mode 100644
index 7c9846fbf9e..00000000000
--- a/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
-  name = "kdeartwork-wallpapers";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Additional KDE wallpapers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch
deleted file mode 100644
index bd95a0d8bd3..00000000000
--- a/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 33078b4..30aec0e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY)
-     return()
- endif (NOT COMPILE_RUBY)
- 
--SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" )
--SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" )
-+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR})
-+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR})
- 
- # compute an overall version number which can be compared at once
- MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}")
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix
deleted file mode 100644
index a80574ff67a..00000000000
--- a/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, qt4, cmake }:
-
-kde {
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ cmake ];
-
-  patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
-
-  meta = {
-    description = "C++ parser used to generate language bindings for Qt/KDE";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix
deleted file mode 100644
index 72b267e43c5..00000000000
--- a/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, qt4, cmake, phonon, qimageblitz, smokegen }:
-
-kde {
-
-# TODO: Qwt5, QScintilla2
-
-  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.11/kdeedu/analitza.nix b/pkgs/desktops/kde-4.11/kdeedu/analitza.nix
deleted file mode 100644
index 74c3a1ebb20..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/analitza.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, readline }:
-kde {
-  buildInputs = [ kdelibs readline ];
-
-  meta = {
-    description = "Library part of KAlgebra";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/blinken.nix b/pkgs/desktops/kde-4.11/kdeedu/blinken.nix
deleted file mode 100644
index cdf9728833c..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/cantor.nix b/pkgs/desktops/kde-4.11/kdeedu/cantor.nix
deleted file mode 100644
index 670a3429032..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/cantor.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate }:
-kde {
-
-# TODO: R is not found
-
-  buildInputs = [ kdelibs libspectre analitza R libqalculate];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "KDE Frontend to Mathematical Software";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix
deleted file mode 100644
index 3675c3a225f..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu, analitza }:
-kde {
-  buildInputs = [ kdelibs libkdeedu analitza ];
-
-  meta = {
-    description = "2D and 3D Graph Calculator";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix
deleted file mode 100644
index 8759c96d78c..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix
deleted file mode 100644
index dc50f1e85a3..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix
deleted file mode 100644
index bd8d27c8d6e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/khangman.nix b/pkgs/desktops/kde-4.11/kdeedu/khangman.nix
deleted file mode 100644
index 997b50e906a..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kig.nix b/pkgs/desktops/kde-4.11/kdeedu/kig.nix
deleted file mode 100644
index bd5ef67529c..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kiten.nix b/pkgs/desktops/kde-4.11/kdeedu/kiten.nix
deleted file mode 100644
index 939b7a9f77a..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/klettres.nix b/pkgs/desktops/kde-4.11/kdeedu/klettres.nix
deleted file mode 100644
index 7a0fa83078e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix
deleted file mode 100644
index 18458cf6f0b..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kstars.nix b/pkgs/desktops/kde-4.11/kdeedu/kstars.nix
deleted file mode 100644
index 4ae36c480f9..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/kstars.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }:
-
-kde {
-
-# TODO: wcslib
-
-  buildInputs = [ kdelibs eigen xplanet indilib ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "A KDE graphical desktop planetarium";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix
deleted file mode 100644
index 9e606adde33..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libxkbfile }:
-
-kde {
-  buildInputs = [ kdelibs libxkbfile ];
-
-  meta = {
-    description = "Touch Typing Tutor";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix
deleted file mode 100644
index 1e1922b1410..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix
deleted file mode 100644
index 1b33ba2e469..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix
deleted file mode 100644
index def6c85fefe..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeedu/pairs.nix b/pkgs/desktops/kde-4.11/kdeedu/pairs.nix
deleted file mode 100644
index 36c4aba9604..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/pairs.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A memory and pairs game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/parley.nix b/pkgs/desktops/kde-4.11/kdeedu/parley.nix
deleted file mode 100644
index f9f86dde150..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/parley.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libkdeedu, attica }:
-
-kde {
-  buildInputs = [ kdelibs libkdeedu attica ];
-
-  meta = {
-    description = "Vocabulary Trainer";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/step.nix b/pkgs/desktops/kde-4.11/kdeedu/step.nix
deleted file mode 100644
index 997cfb42c9e..00000000000
--- a/pkgs/desktops/kde-4.11/kdeedu/step.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, gsl, libqalculate, eigen, pkgconfig }:
-
-kde {
-
-  buildInputs = [ kdelibs gsl libqalculate eigen ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "A KDE interactive physical simulator";
-    kde = {
-      name = "step";
-    };
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/bomber.nix b/pkgs/desktops/kde-4.11/kdegames/bomber.nix
deleted file mode 100644
index 026227910f2..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/bomber.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/bovo.nix b/pkgs/desktops/kde-4.11/kdegames/bovo.nix
deleted file mode 100644
index b0e7d99c589..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/bovo.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a Gomoku (from Japanese 五目並べ - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board";
-  };
-
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/granatier.nix b/pkgs/desktops/kde-4.11/kdegames/granatier.nix
deleted file mode 100644
index 9f1ab005309..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/granatier.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kajongg.nix b/pkgs/desktops/kde-4.11/kdegames/kajongg.nix
deleted file mode 100644
index 9a6f5e83695..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kajongg.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libkdegames, pythonPackages, sqlite,  pykde4 }:
-kde rec {
-
-  buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath;
-
-  pythonPath = [ pythonPackages.twisted pykde4 ];
-
-  postInstall = "wrapPythonPrograms";
-
-  meta = {
-    description = "an ancient Chinese board game for 4 players";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kapman.nix b/pkgs/desktops/kde-4.11/kdegames/kapman.nix
deleted file mode 100644
index f10e099da3c..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kapman.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a clone of the well known game Pac-Man";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/katomic.nix b/pkgs/desktops/kde-4.11/kdegames/katomic.nix
deleted file mode 100644
index a9936c04f0e..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/katomic.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a fun and educational puzzle game built around molecular geometry";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix
deleted file mode 100644
index 27eeff2f65b..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kblocks.nix b/pkgs/desktops/kde-4.11/kdegames/kblocks.nix
deleted file mode 100644
index 98cf068de09..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kblocks.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a classic single player falling blocks puzzle game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kbounce.nix b/pkgs/desktops/kde-4.11/kdegames/kbounce.nix
deleted file mode 100644
index 77fa0db6352..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kbounce.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a single player arcade game with the elements of puzzle";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix
deleted file mode 100644
index 3a484d919bb..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix
deleted file mode 100644
index 06dfcee5ac3..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix
deleted file mode 100644
index 11b8838e708..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a board game for two players based on the Connect-Four game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix
deleted file mode 100644
index 6217c47a806..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kigo.nix b/pkgs/desktops/kde-4.11/kdegames/kigo.nix
deleted file mode 100644
index 32eee67cc1e..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kigo.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "an open-source implementation of the popular Go game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/killbots.nix b/pkgs/desktops/kde-4.11/kdegames/killbots.nix
deleted file mode 100644
index d9c1472495e..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/killbots.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple game of evading killer robots";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kiriki.nix b/pkgs/desktops/kde-4.11/kdegames/kiriki.nix
deleted file mode 100644
index 72f7ab67501..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kiriki.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "an addictive and fun dice game, designed to be played by as many as six players";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix
deleted file mode 100644
index a6d22cff51c..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple dice driven tactical game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/klickety.nix b/pkgs/desktops/kde-4.11/kdegames/klickety.nix
deleted file mode 100644
index b592bc40641..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/klickety.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a puzzle game where the player removes groups of colored marbles to clear the board";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/klines.nix b/pkgs/desktops/kde-4.11/kdegames/klines.nix
deleted file mode 100644
index 90952fe91c0..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/klines.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix
deleted file mode 100644
index 946b531ff12..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames, libkmahjongg }:
-kde {
-  buildInputs = [ kdelibs libkdegames libkmahjongg ];
-  meta = {
-    description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kmines.nix b/pkgs/desktops/kde-4.11/kdegames/kmines.nix
deleted file mode 100644
index 538454e9598..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kmines.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a classic Minesweeper game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix
deleted file mode 100644
index 42ffd2fcb4d..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a Battle Ship game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix
deleted file mode 100644
index a16e578ce84..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kolf.nix b/pkgs/desktops/kde-4.11/kdegames/kolf.nix
deleted file mode 100644
index 78815ee5799..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kolf.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a miniature golf game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kollision.nix b/pkgs/desktops/kde-4.11/kdegames/kollision.nix
deleted file mode 100644
index 3147c7305ea..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kollision.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple ball dodging game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/konquest.nix b/pkgs/desktops/kde-4.11/kdegames/konquest.nix
deleted file mode 100644
index 53ddd64928c..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/konquest.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "the KDE version of Gnu-Lactic Konquest";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kpat.nix b/pkgs/desktops/kde-4.11/kdegames/kpat.nix
deleted file mode 100644
index f8d9bad36dc..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kpat.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a relaxing card sorting game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kreversi.nix b/pkgs/desktops/kde-4.11/kdegames/kreversi.nix
deleted file mode 100644
index 2aed981428e..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kreversi.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kshisen.nix b/pkgs/desktops/kde-4.11/kdegames/kshisen.nix
deleted file mode 100644
index 9c888034038..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kshisen.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames, libkmahjongg }:
-kde {
-  buildInputs = [ kdelibs libkdegames libkmahjongg ];
-  meta = {
-    description = "a solitaire-like game played using the standard set of Mahjong tiles";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksirk.nix b/pkgs/desktops/kde-4.11/kdegames/ksirk.nix
deleted file mode 100644
index 767eb67971a..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/ksirk.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames, qca2 }:
-kde {
-  buildInputs = [ kdelibs libkdegames qca2 ];
-  meta = {
-    description = "a computerized version of the well known strategic board game Risk";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix
deleted file mode 100644
index ccf1fb551e9..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple Tron-Clone";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix
deleted file mode 100644
index 5285f7916ca..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "each of two possible players control a satellite spaceship orbiting the sun. As the game progresses players have to eliminate the opponent's spacecraft with bullets or mines";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksquares.nix b/pkgs/desktops/kde-4.11/kdegames/ksquares.nix
deleted file mode 100644
index a17be2da632..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/ksquares.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a game modeled after the well known pen and paper based game of Dots and Boxes";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix
deleted file mode 100644
index ea4e13a5e4f..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a logic-based symbol placement puzzle";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix
deleted file mode 100644
index 1a6ba9d653c..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a simple constructor game suitable for children and adults alike";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kubrick.nix b/pkgs/desktops/kde-4.11/kdegames/kubrick.nix
deleted file mode 100644
index 9bdc6879db4..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/kubrick.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a game based on the Rubik's Cube™ puzzle";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix
deleted file mode 100644
index 3819dcdc9ae..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, openal, libsndfile }:
-kde {
-  buildInputs = [ kdelibs openal libsndfile ];
-  meta = {
-    description = "KDE games library";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix
deleted file mode 100644
index 383b347dc33..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a library for KMahjongg game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/lskat.nix b/pkgs/desktops/kde-4.11/kdegames/lskat.nix
deleted file mode 100644
index 2a5050cd667..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/lskat.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a fun and engaging card game for two players, where the second player is either live opponent, or a built in artificial intelligence";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegames/picmi.nix b/pkgs/desktops/kde-4.11/kdegames/picmi.nix
deleted file mode 100644
index 165d7422f95..00000000000
--- a/pkgs/desktops/kde-4.11/kdegames/picmi.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-  buildInputs = [ kdelibs libkdegames ];
-  meta = {
-    description = "a single player logic-based puzzle game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix
deleted file mode 100644
index b6fd701ac12..00000000000
--- a/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
-, libjpeg, pkgconfig, kactivities, lcms2 }:
-
-kde {
-
-  buildInputs =
-    [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2 ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Gwenview, the KDE image viewer";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix
deleted file mode 100644
index 70904b17c23..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix
deleted file mode 100644
index 58528cb186b..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix
deleted file mode 100644
index 2c2ba3796a2..00000000000
--- a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, okular }:
-
-kde {
-  buildInputs = [ kdelibs okular ];
-
-  meta = {
-    description = "A collection of plugins to handle mobipocket files";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix
deleted file mode 100644
index 35af39aa611..00000000000
--- a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libtiff }:
-
-kde {
-  buildInputs = [ kdelibs libtiff ];
-
-  meta = {
-    description = "Strigi analyzers for various graphics file formats";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix
deleted file mode 100644
index 18c6534eb5c..00000000000
--- a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libkexiv2, libkdcraw, pkgconfig }:
-
-kde {
-
-  buildInputs = [ kdelibs libkexiv2 libkdcraw ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Thumbnailers for various graphics file formats";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix
deleted file mode 100644
index 28d9252187e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix
deleted file mode 100644
index 5276ec09f46..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix
deleted file mode 100644
index c5c2c6e05d7..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix
deleted file mode 100644
index 1381ed7dd26..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix
deleted file mode 100644
index f01a609e20d..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix
deleted file mode 100644
index b4d5e5922ca..00000000000
--- a/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libjpeg_original, lcms1, jasper, pkgconfig }:
-
-kde {
-
-  buildInputs = [ kdelibs libjpeg_original lcms1 jasper ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Library for decoding RAW images";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix
deleted file mode 100644
index 096b0a6e957..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix
deleted file mode 100644
index 6b16265e7a3..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix
deleted file mode 100644
index b539eab3899..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdegraphics/okular.nix b/pkgs/desktops/kde-4.11/kdegraphics/okular.nix
deleted file mode 100644
index 17b8a33ed43..00000000000
--- a/pkgs/desktops/kde-4.11/kdegraphics/okular.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
-, qimageblitz, libtiff, kactivities, pkgconfig }:
-
-kde {
-
-# TODO: package activeapp
-
-  buildInputs =
-    [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4 qca2 qimageblitz libtiff kactivities ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Okular, the KDE document viewer";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix
deleted file mode 100644
index a344cc4b4b4..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix
deleted file mode 100644
index 0bf18e8efb0..00000000000
--- a/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ kde, gcc, cmake, perl
-, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
-, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
-, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl
-, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
-, pkgconfig
-}:
-
-kde {
-
-# TODO: media-player-info, ACL
-
-  buildInputs =
-    [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
-      libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt 
-      shared_desktop_ontologies xz udev libjpeg kerberos openexr
-    ];
-
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
-  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
-
-  propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
-
-  # TODO: make sonnet plugins (dictionaries) really work.
-  # There are a few hardcoded paths.
-  # Split plugins from libs?
-
-  patches = [ ../files/polkit-install.patch ];
-
-  # cmake fails to find acl.h because of C++-style comment
-
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-    "-DHUPNP_ENABLED=ON"
-  ];
-
-  passthru.wantsUdisks2 = false;
-
-  meta = {
-    description = "KDE libraries";
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix
deleted file mode 100644
index 0bd0bf378dd..00000000000
--- a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
-, pkgconfig, doxygen, ebook_tools
-}:
-
-kde {
-
-# TODO: epub
-
-  buildInputs = [
-    kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg
-    popplerQt4 ebook_tools
-  ];
-
-  nativeBuildInputs = [ pkgconfig doxygen ];
-
-  meta = {
-    description = "NEPOMUK core";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix
deleted file mode 100644
index 0d29a4f97de..00000000000
--- a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, nepomuk_core }:
-
-kde {
-
-  buildInputs = [ kdelibs nepomuk_core ];
-
-  meta = {
-    description = "NEPOMUK Widgets";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix
deleted file mode 100644
index 4c56e7529dd..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkcompactdisc, cdparanoia, libkcddb, libvorbis, flac, lame }:
-kde {
-  buildInputs = [ kdelibs libkcompactdisc cdparanoia libkcddb libvorbis flac lame ];
-  meta = {
-    description = "transparent audio CD access for applications using the KDE Platform";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix
deleted file mode 100644
index 006300742ec..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-  meta = {
-    description = "a multimedia player with the focus on simplicity";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix
deleted file mode 100644
index 45f6c9abcb6..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, ffmpeg }:
-kde {
-  buildInputs = [ kdelibs ffmpeg ];
-  meta = {
-    description = "a video thumbnail generator for KDE file managers like Dolphin and Konqueror";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix
deleted file mode 100644
index 1dd8108166f..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libcanberra, pulseaudio }:
-kde {
-  buildInputs = [ kdelibs libcanberra pulseaudio ];
-  meta = {
-    description = "sound mixer, an application to allow you to change the volume of your sound card";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix
deleted file mode 100644
index e99ae53935b..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libmusicbrainz }:
-kde {
-  buildInputs = [ kdelibs libmusicbrainz ];
-  meta = {
-    description = "KDE CD player";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix
deleted file mode 100644
index 720b01d1861..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
-#todo: libmusicbrainz5
-  buildInputs = [ kdelibs ];
-  meta = {
-    description = "a library used to retrieve audio CD meta data from the internet";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix
deleted file mode 100644
index 6ed08af89f3..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-  meta = {
-    description = "KDE library for playing & ripping CDs";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix
deleted file mode 100644
index c88ebcc2a5a..00000000000
--- a/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-  meta = {
-    description = "a video thumbnail generator for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix
deleted file mode 100644
index 961d646474e..00000000000
--- a/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ kde, kdelibs, speex, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
-  jasper, libidn, mediastreamer, msilbc, pkgconfig, libxslt, giflib,
-  libgadu, boost, qca2, gpgme, sqlite, telepathy_qt, shared_desktop_ontologies,
-  libjpeg, libmms, ortp, srtp, libv4l}:
-
-kde {
-
-# TODO: libmeanwhile, xmms, jsoncpp
-# commented out deps seem to not be needed anymore, but why so many?
-
-  buildInputs = [
-    kdelibs qca2 mediastreamer libgadu # telepathy_qt shared_desktop_ontologies  gpgme 
-    kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib # libktorrent libjpeg 
-    libidn libxslt boost # speex  libmms msilbc
-    ortp srtp libv4l
-  ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  KDEDIRS = libktorrent;
-
-  cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
-
-  meta = {
-    description = "A KDE multi-protocol IM client";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdepim-runtime.nix b/pkgs/desktops/kde-4.11/kdepim-runtime.nix
deleted file mode 100644
index 43006fe5115..00000000000
--- a/pkgs/desktops/kde-4.11/kdepim-runtime.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }:
-
-kde {
-
-# TODO: libkgapi, LibKFbAPI,libkolab, libkolabxml
-
-  buildInputs = [
-    kdepimlibs akonadi boost shared_desktop_ontologies
-    libxslt
-  ];
-
-  meta = {
-    description = "KDE PIM runtime";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdepim.nix b/pkgs/desktops/kde-4.11/kdepim.nix
deleted file mode 100644
index f5e28a044bb..00000000000
--- a/pkgs/desktops/kde-4.11/kdepim.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
-, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
-, nepomuk_widgets, kactivities, libXScrnSaver
-, pkgconfig }:
-
-kde {
-
-# TODO: LinkGrammar
-
-  buildInputs =
-    [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
-      libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
-      libXScrnSaver
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  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.11/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix
deleted file mode 100644
index 1dabe46cd42..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix
deleted file mode 100644
index 391536248dd..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix
deleted file mode 100644
index 65d410cca48..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix
deleted file mode 100644
index df81145e5d6..00000000000
--- a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-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.11/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix
deleted file mode 100644
index 4d579b88ba8..00000000000
--- a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Strigi analyzers for diff, po and ts";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kompare.nix b/pkgs/desktops/kde-4.11/kdesdk/kompare.nix
deleted file mode 100644
index 1ddb4b8ea5b..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix
deleted file mode 100644
index 1565426eb1f..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdesdk/okteta.nix b/pkgs/desktops/kde-4.11/kdesdk/okteta.nix
deleted file mode 100644
index 058636596ad..00000000000
--- a/pkgs/desktops/kde-4.11/kdesdk/okteta.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, qca2 }:
-
-kde {
-  buildInputs = [ kdelibs qca2 ];
-
-# TODO: Look what does -DBUILD_mobile add
-
-  enableParallelBuilding = false;
-
-  meta = {
-    description = "KDE byte editor";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix
deleted file mode 100644
index e83a2d9a901..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdetoys/amor.nix b/pkgs/desktops/kde-4.11/kdetoys/amor.nix
deleted file mode 100644
index 936d63d544a..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix
deleted file mode 100644
index dacf54def4b..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdetoys/ktux.nix b/pkgs/desktops/kde-4.11/kdetoys/ktux.nix
deleted file mode 100644
index 108f9be7c72..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/ark.nix b/pkgs/desktops/kde-4.11/kdeutils/ark.nix
deleted file mode 100644
index eb3e12281d6..00000000000
--- a/pkgs/desktops/kde-4.11/kdeutils/ark.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }:
-
-kde {
-  buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ];
-
-  meta = {
-    description = "KDE Archiving Tool";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/filelight.nix b/pkgs/desktops/kde-4.11/kdeutils/filelight.nix
deleted file mode 100644
index 25ecabed27c..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix
deleted file mode 100644
index 08b202e8f0e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix
deleted file mode 100644
index d4c9c06f483..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/kdf.nix b/pkgs/desktops/kde-4.11/kdeutils/kdf.nix
deleted file mode 100644
index 3f9da58d0a6..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix
deleted file mode 100644
index 2434a4fa671..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix
deleted file mode 100644
index 944b9edc64d..00000000000
--- a/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, kdepimlibs, libuuid }:
-
-kde {
-
-# TODO: uuid/uuid.h - not found
-
-  buildInputs = [ kdelibs kdepimlibs libuuid ];
-
-  meta = {
-    description = "Simple KDE GUI for GPG";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix
deleted file mode 100644
index 70311a789f9..00000000000
--- a/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libXtst }:
-
-kde {
-  buildInputs = [ kdelibs libXtst ];
-
-  meta = {
-    description = "KDE remote control";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix
deleted file mode 100644
index 5700977349e..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix
deleted file mode 100644
index 9ec0e6c0396..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix
deleted file mode 100644
index cbe7a285606..00000000000
--- a/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, qimageblitz, python }:
-
-kde {
-  buildInputs = [ kdelibs qimageblitz python ];
-
-  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
-
-  meta = {
-    description = "A KDE Eye-candy Application";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix
deleted file mode 100644
index 78d56c7df30..00000000000
--- a/pkgs/desktops/kde-4.11/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.11/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix
deleted file mode 100644
index 55e37809e07..00000000000
--- a/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Batch search and replace tool";
-    homepage = http://www.kdewebdev.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix
deleted file mode 100644
index 6d22f72461f..00000000000
--- a/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "An HTML imagemap editor";
-    homepage = http://www.nongnu.org/kimagemap/;
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix
deleted file mode 100644
index 33a4d8c6083..00000000000
--- a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost, ruby18 }:
-
-kde {
-
-  buildInputs = [ kdelibs kdepimlibs ruby18 htmlTidy boost ];
-
-  meta = {
-    description = "A KDE link checker";
-    homepage = http://klinkstatus.kdewebdev.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix
deleted file mode 100644
index d5f4337f714..00000000000
--- a/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A graphical editor of scripted dialogs";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/l10n/default.nix b/pkgs/desktops/kde-4.11/l10n/default.nix
deleted file mode 100644
index c9fab80bffb..00000000000
--- a/pkgs/desktops/kde-4.11/l10n/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, kdelibs, gettext, release, stable }:
-
-let
-
-  inherit (stdenv.lib) attrByPath singleton;
-
-  kdeL10nDerivation =
-    { lang, saneName, sha256 }:
-
-    stdenv.mkDerivation rec {
-      name = "kde-l10n-${saneName}-${release}";
-
-      src = fetchurl {
-        url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
-        name = "${name}.tar.xz";
-        inherit sha256;
-      };
-
-      buildInputs = [ gettext kdelibs ];
-
-      cmakeFlags = "-Wno-dev";
-
-      meta = {
-        description = "KDE translation for ${lang}";
-        license = "GPL";
-        platforms = stdenv.lib.platforms.linux;
-        inherit (kdelibs.meta) maintainers homepage;
-      };
-    };
-
-  kdeL10nRelease =
-    builtins.listToAttrs (
-      map ({lang, saneName, sha256}:
-        {
-          name = saneName;
-          value = kdeL10nDerivation { inherit lang saneName sha256; };
-        }
-      ) (import (./manifest + "-${release}.nix"))
-    );
-
-in
-{
-  inherit kdeL10nDerivation;
-  recurseForDerivations = true;
-} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh
deleted file mode 100755
index ec159a1e204..00000000000
--- a/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-# Usage: download kde-l10n to $dir, then run
-# $0 $dir
-
-dir=$1
-
-if [[ ! -d "${dir}" ]]; then
-  echo "${dir} is not a directory (or doesn't exist)!" >&2
-  exit 1
-fi
-
-release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \
-	sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//')
-
-echo "Detected release ${release}" >&2
-
-exec > "manifest-${release}.nix"
-echo "["
-for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do
-  lang=${i%-${release}.tar.xz}
-  lang=${lang#kde-l10n-}
-  echo -n "${lang}.. " >&2
-  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
-  echo "{"
-  echo "  lang = \"${lang}\";"
-  echo "  saneName = \"$(echo $lang | sed s^@^_^g)\";"
-  echo "  sha256 = \"${hash}\";"
-  echo "}"
-  echo $hash >&2
-done
-echo "]"
diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix
deleted file mode 100644
index c3a46c7637e..00000000000
--- a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix
+++ /dev/null
@@ -1,272 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "10bgdg0npcnxyyqgs1dyfabq8fv08qqifd2vyaffxal3n2qagi1l";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "0jqnav02skkkjphjc3llsqqhb6fid74djng17yhcl1zzdcim2xg1";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "1fh9zddwjz3wirhcr962hcaxri9342q39nqgi1xmwdj2n3mj57xk";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "1y83qi5j5wx6fb0zbch3q95nsrhf4x2rrkcxdfcgfx7gwr04d2fz";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "1pqbl2mwnpkiby0gm1dk55cij2x1501pgn74zkasy2agacvfaslb";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "1cnmsjfzc8cimp0h06dm7rfmj9rw47f61py8z288a0iw7j5rgrr4";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "0a7jhy43j9x7z0bp5yijvkx51zfycizvd6kd9a7d88467vxc54hz";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "1i2gc86b77k5swmphl25ivpigiqrkhipmnc2vmrp444jialksgdy";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "1pgc64gw46gb8hbjmw06q1d6rawpcqw8llgp55drghcjy484j1sw";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "0p1cralvfggqnjvikrgibvlic01fpc5fbdyxjrhrhj195f30sjmw";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "0msz90jyac7y20rdglbmr8jf7yhb7vwncjynfgrvxd9b998rk4h8";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "1yykm0hg4bay7i3i16ssa0rvf3kmqv3vgq3gxmism774c4sgng2i";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "00ma7hhjj08gwzy6f9xmbakkbhcc2gpn5v2j1jdqah52jmnw2d1c";
-}
-{
-  lang = "fa";
-  saneName = "fa";
-  sha256 = "045wmlmv2rwik1c4v94d68c62bqkrmf6igxz65dv4hw2f5jj86gr";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "1sbgdhr60f10g4lxlcqsx4pid3lmzs2rywdjpqil9ymfy2kpbrc6";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "07y67hg9rp4xckg19zk0lkhrd7i857qkqsbxc0wa9a9chldspjvs";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "1jrr7d14i18r1v1d20vrjn942wa5ppp6zxl6xk6vjsvbz66aj36g";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "1af0wldc8f01zdlc184zqa6gvd11jd5pw1ya51j457rz69k1hvyx";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "1h5ngkc79pkh1zplq06x2v6qv81mh0fw6yidlw54knqz1bblg1k9";
-}
-{
-  lang = "hi";
-  saneName = "hi";
-  sha256 = "11wh3s80khm0czyxm5hcb381dn2hvmdg6k2gggq4jicnycm4rffl";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "10p1h4k728p18r2m08d165gx640946zf40a57cf9jwv0z6xa3hbq";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "1ymgdbvcyq278gxx197jl0i0fiwf1gpycnkyc578g39gddzzh18g";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "1azvfzffqgm15cavv5biy5ymn2wawszgrppk3mki1qnmwrlppx2p";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "19g7w461g73z0lnmzwkjavg416d54gclhac8bvc53hs7dr6kwnfh";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "0m6rjgv8x33mhmnis86821djc3xsr2xfx5knajhnyrj5yycyy01p";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "0xcpzlzff4s71miia4gnlxr0qvpipnqmk5lgnxjq27rh1isyasj6";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "1h3bxk7lvd3ivh613805x5xrcfvbxnn0qzbpyy4bysk3lz9kb4bm";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "1mabfvpwxnqhim9gvxb7qxapy6mzmrrhr4q6ai5w2ssyg0sxrb4b";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "14hzpw2phy6yc6ykx7ny22dqwic7lmkv96f6jhdmcwsjbq9jkj69";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "1bk1ghwhzbgw6awxnz7w5wl49632rb708l8v080l6is3hb88l9gi";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "12yhzg22h1x6dmpmx79bryq94kii8brqasn49ahvshckx3i2y1hm";
-}
-{
-  lang = "mr";
-  saneName = "mr";
-  sha256 = "1ag0f1qafm75k1zr5i0jzi3kgal7sw004s2qpq0mkda66p8sxwgv";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "0mc0760yyr23913x6g8f56mfrfwn8s1zav1hz3714jif7sjg6bjs";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "03c0x26plqlvpnsxv5k0x4j92n1dh9mdgg8f5qpwm7cq2k8pnl72";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "0naglfrd0bkahq4pbxb7pi4nkp6cj09w0q8j4jnxf7b104rcj3fv";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "0bmz5l4yasslaqql0zkp5s4k9rsw79rf37vnm6d4hprpckam051h";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "1rykl2z38asa23aa5cqsmril5j0x57j0n0k4qygpy52ifc5gvvf7";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "18yc8hdn4m4h867di098qswdhyx0jsnsh3ax1ax1dfxrdzmy57rq";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "187mgq4s2gmhzd625rni8cmdpvhlnf6zn179wlp140lvdfzblr6c";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "1726qd01iaq730c2dkjb8r8fw34fmqn741c5qz2i57f2f527vf8z";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "0zip2v24ha69si76rjz4qpmwjqnv0w427qa5c1cgc19a04jnbi32";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "1irrhlqmv2cij04kc29rhg0yamw4h6gqijjnhgj6a89gffqn9p1i";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "00pb7z1bqwbymzf91l82ggiqax7qf0pxhjgbbjj5aq25s8rc950v";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "10xixsja2jqhhfwp59yjvzvwmcqvfcs782y7j3wwxmh9a3m6ckzi";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "1pxy8x8jgri25qr4v53kqnilk8hjqcq6mgdk8p795s0zi73bhh0a";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "15npn4nq91hxhqpnyvk2c0c7ka2mm6r6p3cm4amyb22dq8qqfw50";
-}
-{
-  lang = "tg";
-  saneName = "tg";
-  sha256 = "077anp6h7prj6hlxbm5lzxv8ria2zbrlgixxinf3cywxq0haajx2";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "06l5y2bl57sfx9jh9g5idl3y76sg4dysgxdvwp8sgg9yj19dnjmn";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "1jr920hihgr27rfznzdn4rc6sz1wi97pnhvikz2hg7nzqrycmb8a";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "1qr6hyh0pqskc4mc7655b5nzkvbmw3hzpzz5iiwp37n3w72ig9km";
-}
-{
-  lang = "vi";
-  saneName = "vi";
-  sha256 = "12bnagz2wq1i9zhs7rl6akr6a7h2pndrpqipdynj4dx0nvs0vc15";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "093mwn705f1bp3143pzm4h85hrjjr9fiiahbfvvy2ih6xv3x88nb";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "1swcnfpv9n4561hl7rqivny7mcmnk95j495rvr8hs384gq2q1b67";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "0x7b3jz0ilb4ww3yi70w36zkid2sgnf0mld1kxkkc8aacm00bmq9";
-}
-]
diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix
deleted file mode 100644
index 42591369aea..00000000000
--- a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix
+++ /dev/null
@@ -1,272 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "0w0p0ahh6xjk3i545vmkkaxb92s1liv8z0cgnpdh13y0i8gislzs";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "0wghv6q8mgj5cd2n56137zfxjw1jfy4y1d6x3wi0cjjjf61al4yj";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "0g14kvfbzf9p9w5279ny1ziygn2zw0z4rpsm8b6msia9afa3vscp";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "0kcbzwmk9dy0nwfjhrpmp97aqnpdrmy7lya16sikj98fwbd2d7i0";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "0p3g5bwqwvr7mmwz583km498cb9jl4yr6s4v3jdx2w1pv0iqfbfx";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "03310xg8v5hdydi5najijni4nmkycarz2n7764vdl8h3wjlxs101";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "06h19xbbkhmmaicmkjzpa6w1hp5gq3bfblvdjdb4qwm3jbp09kz0";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "08wbgb4brgihpa7sk29lzihaqg8zv024cdd4fr6s5zvrpchx3s8s";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "0a3cakngqampvczhgn52y942d131cqd68yjsr71adcgmm5r5iv7s";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "12pl1sm44bi2d07qliaazniy1a9h9jp7slvwn8l11pgfh7ygiyxn";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "1b7jd6clbwjyivpy94wz148gapdzvlggg38lv0a9zl6fkfpa6xbi";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "133wf25qhnls7a2i3s99kk8va21d2cg7v3khvgscpm1im8gi81nz";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "11szsx11vnwi3l41nsvk013nwx0gs8vdilr1jm8qz3zfbm14v7a7";
-}
-{
-  lang = "fa";
-  saneName = "fa";
-  sha256 = "0fi443pcrjvnivi76llfssw52nzddvxrabqcqxr0czfak2r6nlf5";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "0lqzaprzd7az7aslaswhdriwhcdsx9abxq90jwkpq2vliz7gxjp5";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "0c32hmg7ns4z585bysq8iqjhbfp33a5wi6r0p1hqrh5y1sc3wjj9";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "060lk2l1q9p39z90qajhiqdsiiwk1qf221087mx5xny1z5ngnnim";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "17a9xpqbqgnhlfhr85v4n3ll88dzn3z4jk6nilq149c7dg8ilnma";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "0k97r2j0iv017qrn9yh08cqji2pkrx5vy51jypr305ffmxy1dgn9";
-}
-{
-  lang = "hi";
-  saneName = "hi";
-  sha256 = "15vgih10aa11d048cazh1zjr6s08w34hp4xxp8cgcmpm11px460g";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "05x0bjn6dfn0k2v822sc6f45jk196sf1xj7ikn7ws7rm3nkc3sgp";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "00g7x922zxkscrkk8n9xc123qfzbmf7kkyavdsnz4jkx4msrlav3";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "0zaxa42sgscbnb8zbp878qk9d5lwdm08szr9xda287jpvzw3asss";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "00l1rh7z8fapmb3ngxnp91xz1qz110r995jk42gw77hvmf0gabb6";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "0d0b44vmiaazjsc4d7wlwg36n3ig87xj3m89hlhkhvwrisg5ccv8";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "04qrj66qd65yqv1zrwi1pspmwdj129m9kkmpa3rdfgml37ign7q8";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "1zywlhg1yr2llr8cvn4gm4ap7kqgc2lff6yi75dd782whsphqm67";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "16s126qw8kvsvidrhh02y12y8wln3skg0cn6ri658mz2ld9iicvd";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "1lrh3bly0hvzxa0zxibb45v2711fvv81i3ca9d628m68mzxim13q";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "0hf9156vi0y17hlvrn18fsdfzpaq5ylprvv55i42idxfdjr1plmq";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "1zrwwglpyw8qlqw9xyhz6pwjyrasdgfclaz2hicsgv1300nxjv4h";
-}
-{
-  lang = "mr";
-  saneName = "mr";
-  sha256 = "0nagjxn4pmmcz6762jz9dx42sarkjm7fpkblw9w42znx8zvn5nmw";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "0lb58d2vhpcnnnqnplq2i2fapkygyb47yq0rc7c93rsf10cw9n0v";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "08l4s3gwnz84sg5mlrj52wdclkm4yhj0a03jxwcfpgfypi3v0n84";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "0m6c9dxcdqgcxlx4k160nra0g11im0c2f0hf1fyk1hkb6fdq2li9";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "1kp8m2cc131arkhj7z6dsq69mh6abws7963avszbkf0zq31nnxp4";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "01ay3q7swf1vh72wrjlhpi0id7sa2a8pj8n79xn583mlzwcbmzwv";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "1rf288q1c412y161sk2y3yvy3pq159avih4d90k0laphfhhisjnv";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "0mld9dmvj9c8xay587hm7dvrbx964zdhysyi4fldad54imc61rdc";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "18c3bws8fakii5qjm0vpni6fmzw6118ndmjz4v83nk6nmy6ww0i1";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "16q3jahvpw3lpxlwqxhhd8xc9qfra2chc6g5cik8dw011sqg0zaa";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "0c62msjf34hz5f0il3x7wk4flpjk2w5f4vdpz43vr245qds2vxrl";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "0vl8y4z60nxgkgkxkzqkak7gcyc2295nxm6hghmrhfn5zyfpp99k";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "0wdv1lya8s4b97933dv72cvq7qa19ndp1knb0270pg5y74y2vq2s";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "1lafrmz16j8kzs9nvrn6j84c7wyxzwpvnn0z6ic22bzg646m276y";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "1cxy79ya3i2fm7b6w0ilpri0qrhm4bgkx3qwvgqz13lgw1p716qv";
-}
-{
-  lang = "tg";
-  saneName = "tg";
-  sha256 = "1jww7nfz8ssgqrldc11agnwv4plcr9vr4fv5q7bspa33hgm94r47";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "0kflzm80pg8l5ing3xzp1g0n9hm1sky8201s2z05aahj2rcw4bws";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "15szx7r75d0iw21hwggp96zm9s5i7svsvmqfncvd79mdmnhr2x5i";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "16l7rkxw5am90dqrkjjdvih1dvchgkggf5rinv7bpfk5z65f0ccy";
-}
-{
-  lang = "vi";
-  saneName = "vi";
-  sha256 = "08phva4y5982qvrb050n4pl7gnr2yg4zvazfg9lh38ba63l6d2g8";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "0byfyav76m7igwix5vj69bvl2rpaxmv8ncz1xc2azyrdxjba9ggd";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "176xnyxl7in1b3igy7vh6g2pz8ch32g0n6kddkkj0a13h69s5vyz";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "0i71xxxpb6p95pa69frhxqb27i935bb1vxjb3i51yms95x3gbpjs";
-}
-]
diff --git a/pkgs/desktops/kde-4.11/oxygen-icons.nix b/pkgs/desktops/kde-4.11/oxygen-icons.nix
deleted file mode 100644
index d7679cc3d01..00000000000
--- a/pkgs/desktops/kde-4.11/oxygen-icons.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, cmake }:
-
-kde {
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "1y765lfsy63kc4h1g1f3fc42aqlhn7svmidrkxm12nia4jazj6db";
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "KDE Oxygen theme icons";
-    longDescription = "Icons for KDE's default theme";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.11/support/akonadi/default.nix b/pkgs/desktops/kde-4.11/support/akonadi/default.nix
deleted file mode 100644
index af27b683f25..00000000000
--- a/pkgs/desktops/kde-4.11/support/akonadi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
-
-stdenv.mkDerivation rec {
-  name = "akonadi-1.10.2";
-  
-  src = fetchurl {
-    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "1jij7vmrxg4kzqcq4ci73q3m3927bym5xb34kvmpq3h7p1d0vmgk";
-  };
-
-  buildInputs = [ qt4 soprano libxslt boost sqlite ];
-
-  nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
-
-  enableParallelBuilding = true;
-  
-  meta = with stdenv.lib; {
-    description = "KDE PIM Storage Service";
-    license = "LGPL";
-    homepage = http://pim.kde.org/akonadi;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/applications/kate.nix b/pkgs/desktops/kde-4.12/applications/kate.nix
new file mode 100644
index 00000000000..e7a6476dd6d
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/applications/kate.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4}:
+
+kde {
+
+  buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4 ];
+
+  meta = {
+    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/applications/konsole.nix b/pkgs/desktops/kde-4.12/applications/konsole.nix
new file mode 100644
index 00000000000..bd4e9e58cd0
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/applications/konsole.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, kde_baseapps }:
+
+kde {
+
+  buildInputs = [ kdelibs kde_baseapps ];
+
+  meta = {
+    description = "Konsole, the KDE terminal emulator";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/default.nix b/pkgs/desktops/kde-4.12/default.nix
new file mode 100644
index 00000000000..ffcd3115de7
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/default.nix
@@ -0,0 +1,44 @@
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.12.4" }:
+
+let
+  branch = "4.12";
+
+  # Need callPackageOrig to avoid infinite cycle
+  kde = callPackageOrig ./kde-package {
+    inherit release branch ignoreList extraSubpkgs callPackage;
+  };
+
+  # The list of igored individual modules
+  ignoreList = {
+    # Doesn't work yet
+    kdeutils = [ "ksecrets" ];
+    # kdeadmin/strigi-analyzer has no real code
+    kdeadmin = [ "strigi-analyzer" ];
+    # Most of kdebindings do not compile due to a bug in the buildsystem
+    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
+  };
+
+  # Extra subpackages in the manifest format
+  extraSubpkgs = {};
+
+in
+
+kde.modules // kde.individual //
+{
+  inherit (kde) manifest modules individual splittedModuleList;
+
+  akonadi = callPackage ./support/akonadi { };
+
+  qt4 = qt48;
+
+  kdebase_workspace = kde.modules.kde_workspace;
+
+  inherit release;
+
+  full = stdenv.lib.attrValues kde.modules;
+
+  l10n = callPackage ./l10n {
+    inherit release branch;
+    inherit (kde.manifest) stable;
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch
index 378cdb64694..378cdb64694 100644
--- a/pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch
+++ b/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch
diff --git a/pkgs/desktops/kde-4.10/files/polkit-install.patch b/pkgs/desktops/kde-4.12/files/polkit-install.patch
index d2ecac663ec..d2ecac663ec 100644
--- a/pkgs/desktops/kde-4.10/files/polkit-install.patch
+++ b/pkgs/desktops/kde-4.12/files/polkit-install.patch
diff --git a/pkgs/desktops/kde-4.10/kactivities.nix b/pkgs/desktops/kde-4.12/kactivities.nix
index 06381bb13d7..06381bb13d7 100644
--- a/pkgs/desktops/kde-4.10/kactivities.nix
+++ b/pkgs/desktops/kde-4.12/kactivities.nix
diff --git a/pkgs/desktops/kde-4.10/kde-base-artwork.nix b/pkgs/desktops/kde-4.12/kde-base-artwork.nix
index 3f416cebddc..3f416cebddc 100644
--- a/pkgs/desktops/kde-4.10/kde-base-artwork.nix
+++ b/pkgs/desktops/kde-4.12/kde-base-artwork.nix
diff --git a/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix
new file mode 100644
index 00000000000..a65f33e13de
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, htmlTidy, kactivities
+, nepomuk_core, nepomuk_widgets, libXt }:
+
+kde {
+  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
+
+  meta = {
+    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix b/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix
new file mode 100644
index 00000000000..9b5a53cee48
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix
@@ -0,0 +1,444 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="amor";value="0c8298z7c3a71yj6nik7h8h7rngqzrz6rc95kl990p37jp2ng0d9";}
+  {name="analitza";value="0l122nh81nf7r4bm73gc6dp9k4jh2dxc7majrzjq37hb8pi77njh";}
+  {name="ark";value="155bhqqyw3afm99c47b3pxqf9fiqcz6gqg1pavsx9q4rmk7rp8m6";}
+  {name="audiocd-kio";value="1c5234s1hdh6jc8szyb4nwqr1h8hhwlmin0iyxabsl0c45pss9pa";}
+  {name="blinken";value="0q0y3xfv3pjrw0h8mnbigpywwrqk8wb2lqbjcgk755j6syinhphh";}
+  {name="bomber";value="1f12qmg58n9sj6vjqdj57ch50pq5f0h6anx06x9bhhs502w6aqwy";}
+  {name="bovo";value="10x4qy4vdp76iv3n60iy24lk1wbsjdfr88l1m9xifj4k942wk2ir";}
+  {name="cantor";value="1x5rxshdbgl40cqx6h5r0hx49rrc6gwnabsl8b7kzimh0kbv2ma9";}
+  {name="cervisia";value="0ia78cjkq606232jy14ps7cpm77pq4xdmcfimv4l6p0xjpq8jzsg";}
+  {name="dolphin-plugins";value="08h278jpbll7wc1mhz58cklj1bkrk61dfwjlflag6fnlm6i4xx8k";}
+  {name="dragon";value="16gyr0dl50nl9r3yc2fkwmqlrfgzzyim6bdlb9a76winzbz8mgxr";}
+  {name="ffmpegthumbs";value="01cmwm6w1z2gsllwdmrzsl9882fw5k59lr1k7z114kkrh1l0b2j4";}
+  {name="filelight";value="01rs1r80ixm1dj5d73a22893rdz2srxqp4dv5pysw1fhn02zdkkf";}
+  {name="granatier";value="1ia85yxfbbi8qxdyn0vwgmdjrxwssb6nadbia1yqsjdncfsnhbvs";}
+  {name="gwenview";value="01p5b1z05v3c7f192fxrrfp6x3ss7gx8pxv29czkp641hpmcg3jl";}
+  {name="jovie";value="1hfkj3vlvm63sgb4gx3xl7nksb5cfqnh7shs7wqm3gl6yj2rwhjj";}
+  {name="juk";value="1vxnrxz6gbyk7fd15akhiyczpgq03cym3nldi61m958cx4khd4y7";}
+  {name="kaccessible";value="0a9r2bk8a5h7mpl37li3bqbsz5dfgn8rsxnri93msvc6555pnyzv";}
+  {name="kactivities";value="1fl638cyj3abxfmbqcfqsd3idmdmys1xim4flf1jpbqa29psl75j";}
+  {name="kajongg";value="19awqjqn9hqhprzi7mjb6nkrgvb3mzhignkgalfjd4j5rga7vzz0";}
+  {name="kalgebra";value="1bj88nh7znk86i6a4d3jcjyqp46kzipfc99xvhxvqdsy8drbrwjp";}
+  {name="kalzium";value="00pjpdbd11jgzs443kgh8y6pxf3ff0ypgl5j3zfa6gbj18cnkkq0";}
+  {name="kamera";value="12mcjw8l0nh2jbi04myx1y1irbf92x9bx93gdymw939lawaalqic";}
+  {name="kanagram";value="1yd5agh61nv4ajlrijxg5g3hvw0xjxdvnc6h3lbz5mgvc8smvazk";}
+  {name="kapman";value="1aa78q6y2s9dig2603b9nry5rx5jbbxz2pb3jxr323hmqxp6jy1z";}
+  {name="kapptemplate";value="08j8xh9spk6ymlichl74n1v2zn342d94m6f4jragnx2jvif2163k";}
+  {name="kate";value="1cxc9bgzvfpns7dhmmafzxhnyjqxyq0adr0l1mbwsahxpkblc30r";}
+  {name="katomic";value="01lk7ajlj98rjbs76xd9r3hnd98dy49xv809m2zchm5ria7hdh48";}
+  {name="kblackbox";value="1sgbs0flllmy6d3518wwnzmdr14kqkxsi76h2p4xyk3bq2g9q2xg";}
+  {name="kblocks";value="1zinpxbvri52r26qiiiv4j4r02a22947hcrchf1z3n6lf817vqwv";}
+  {name="kbounce";value="0f9ssdpicvkiv7dxnj75h1cmz24mz2sy2zyp7rw7mvr9ynnl8w21";}
+  {name="kbreakout";value="02ix39kfkagmsqs8icqrqy9cz90lbl2wqajyjzrshw1vi29iahc7";}
+  {name="kbruch";value="0mfqdgwd5d8sy3bdiicpd5927dgg6zhm521f2q853qd2sqjbspgl";}
+  {name="kcachegrind";value="0dydarm1a2i64nazcl59s0a8b8z7znnm20wdmx2gfm5377j98y8x";}
+  {name="kcalc";value="1znrv4fqwaf56djf9qg6fxcp7nfi7fzza2whjlkayvc9kxv3ah9y";}
+  {name="kcharselect";value="0mbl9zvb9hp0xdi58v0vb8z0by71xkz22pr9flnkar5b1klnjpdb";}
+  {name="kcolorchooser";value="1d1cyaqi0rhwfnmjbxpjjavgwjhr3pd2rywlxxb9g4q3rv8k7wg5";}
+  {name="kcron";value="033f0s14crqpsirhgysi309b9pj02vwsd7fr28n6n2sh5imj30a0";}
+  {name="kdeartwork";value="08snjhaqiddiaj5jfd0vx1fjijsyqwngy7p1mkpdfhj7575sbx7c";}
+  {name="kde-baseapps";value="0k0mfbpvmv0n2brrb8hc0rd1wz04m3cyr1byb0z34a7x7kk1h1i4";}
+  {name="kde-base-artwork";value="0vmkbmir7hviqkv7nqrbqd6skj2srp9w4nrs8rkcvq7c8n76rk5w";}
+  {name="kde-dev-scripts";value="0l5frvb1akhy86j3yic3n1jirclj8r1jwjn760fi89vl1xysrarq";}
+  {name="kde-dev-utils";value="0807c8mq8rqqk8vf9r1idqmqrlfv9bsc8rjn8mfv2ch49mzzdrdj";}
+  {name="kdegraphics-mobipocket";value="1m6lnkr460261iq634lz887dbhvmj56p97k4llch3h80ra10mlh8";}
+  {name="kdegraphics-strigi-analyzer";value="1rqb1lzqb39p95xpf8c26pm9rxhcmycd518hxzp8arz6k2chazj8";}
+  {name="kdegraphics-thumbnailers";value="04aaxjznb176ym89f06gp4bycg67zndwc451mkdr33mal58jh0zs";}
+  {name="kdelibs";value="0dn0z1fs4vym7cp2749viw171dhay9ql2dp65a4hphmsdmk9bzv4";}
+  {name="kdenetwork-filesharing";value="1r3a5y9nmcf06nqsdh8k4jny7dmrhya8xi3jwz0d1mfzlfjksyf7";}
+  {name="kdenetwork-strigi-analyzers";value="0gqj5b91q3l5hna6zbgm17wi54g7g058n605adc1mch97yshqyrd";}
+  {name="kdepim";value="00lsyg6762kd2qvhhqq6vrrrl1fbk07yd3ha8w1yyjwiy9cnsy7z";}
+  {name="kdepimlibs";value="1h7k5ravilwz9r5lh7dqjnzh9h8hz43plbdaicjwk2sg4mqwzzhh";}
+  {name="kdepim-runtime";value="1z631kag1gpmk2ljk64vhscr3lad3mj3599phh0i8jqlxvr4007c";}
+  {name="kdeplasma-addons";value="0lfza3454hzbicqpz0ipjys9brjkblmpsngqg5njxd6ph9mzg34a";}
+  {name="kde-runtime";value="05n5cllsjyf03bgisykrbc74i7a3nm5f0k6hnq9sphf8xnxl318x";}
+  {name="kdesdk-kioslaves";value="045kf44s2gg3i2xl6087zn3cz80y7li26fzxdvvv89ywcq0npg59";}
+  {name="kdesdk-strigi-analyzers";value="15xxpgiy5bp6m78crw448mzv3yijjzipsrybadrbwqz6p7dpysbv";}
+  {name="kdesdk-thumbnailers";value="039rgq5p4mkdrilcvkf6k1d9d45swk74hdg3qnsbz3m47vqqf92h";}
+  {name="kde-wallpapers";value="0z7ffz2i410k2xxl1cr8m74mm90c5sizpbhmhyqxwjlsbz1gwfya";}
+  {name="kdewebdev";value="0ljwbzdcshjaz2dv7yp4ckj0c0jxa60ka6vjbhdmc4x7nvwnx737";}
+  {name="kdf";value="0s8ms5h5gdfa3697xg1yzz0h2hijlv68gi2g7n7g3xwpawbqrzv1";}
+  {name="kdiamond";value="10v7zrj4d96ppawjib1jgdz00455h8334w4vb619g448pj5h66sn";}
+  {name="kfloppy";value="1fd7wwbxngaiy0fbxvqp027rp61jg8fwajz70lx7acs20kcs0301";}
+  {name="kfourinline";value="1s2gc7zk932ks89c24pyimcsspnmabbmsdjh520xkzzxrp41gz0b";}
+  {name="kgamma";value="0n19zrarda9fvhimgnm84mdcaqgcqn4qfr0yw6i76la24pjbl46y";}
+  {name="kgeography";value="0w32841fligd3gyjl34q2f31jldw2vl47bi6cljwp7nlkdlp0lkn";}
+  {name="kget";value="1kls245b5s2dlxcrpa4d969zlr2lw797p7p2ilyhb4rbv871c0wd";}
+  {name="kgoldrunner";value="10xq9827gwib6w9h4hhys1v896rxqd50mz66k3frnrqals04zbbk";}
+  {name="kgpg";value="1wa5ymibiqnjxl5ck94y1xh3qk0bx3v7k7n2y3jcvprmhglffx6j";}
+  {name="khangman";value="1jfi30cb17gkn7v3i42wj0pqgaq3mr4fjbwh60ikvhxxd0nf5nny";}
+  {name="kig";value="1z0f50m1hgr5jj79v5v610bdggy4knlqnbxpnwf6ihj60v3cn0x0";}
+  {name="kigo";value="1klcgh3bpl3gqyh5zvij7ah754wjjf409a9l1xqxjigz4samnism";}
+  {name="killbots";value="04vy4zybgqls4whymqnzgkfbmzb17cc1m2xf2hp32bq5fq0r8103";}
+  {name="kimono";value="1bqbgch1z2nm143sp4lwnh3swvmvavhkj4scgx6d17m24jgd69hn";}
+  {name="kiriki";value="04r7p5f9a2iwv7c40pcnbga5ldcfjjig31fx81ww0b6p62dv2vrl";}
+  {name="kiten";value="1fxyy805b1q2sxdkd0hq2fr6plbnawzyascsbwychsqsasw2rmng";}
+  {name="kjumpingcube";value="0q2hn6lvz5grwz10nqq5jkcg3j1lgqsmmmhmx0glr4c732hg1z1d";}
+  {name="klettres";value="1w4340gaaip8imwy5d0058600v6fi7wnifppay2l7kvlp09iwmws";}
+  {name="klickety";value="088xvrb1jn8f3cfh39387pzw9simrjan63c24hn76290fkqjadgq";}
+  {name="klines";value="0n3bsvf5skr4816mjrd7zqjnh8vp5klvgx3h0025hwcbqyfa64bs";}
+  {name="kmag";value="0x91b1fwvwppiwzsnvc0647429ffhn56gndykmmyzr27i45znk3r";}
+  {name="kmahjongg";value="19qz7q5sr5xphzwxjf84h5vg0fll45fvs3pi5q9a5x5g4dy14wsv";}
+  {name="kmines";value="1nm7di7xs727jvfvv2039hpgkxzddgfv6vvrw3jwls975akl1wmb";}
+  {name="kmix";value="19s9z6m1v3wk5prngmm612r34013z7dkira83ap6kn3v32cfciry";}
+  {name="kmousetool";value="1zf7d3k1jf5ydaiw7v7a34hd5w4fmgkd4g9427546x64n27vx0a2";}
+  {name="kmouth";value="12n1x1imy7w3rn8g8zawmfivic0avzgrpmwm71hy7kxw9ya24yjg";}
+  {name="kmplot";value="1zji3lkq332zgvccnlisdavwxh0d1x81131xcy25r36q9c42syj3";}
+  {name="knavalbattle";value="0ibbahwck80z1dhycvm52k4nnj0pifzf9vi7j64kczc54z20b6d2";}
+  {name="knetwalk";value="0j8lyv60rvs5w214vhpmkf0807vi8b2vc8lglmmvz66cpw42c45z";}
+  {name="kolf";value="060dmnpr84g1512l0c0myxf1h1qp4jdsfgnxg5vwpciqk0dc9qhy";}
+  {name="kollision";value="033x8dg57f5amsnignri6ln8adavbaw1l3sydlf0jrw7ww3qvw1h";}
+  {name="kolourpaint";value="0c7i95cplwvxxm6aqgsk70q8ny8yfarcah9113vk6b81llbwn5sc";}
+  {name="kompare";value="0mq2v9nissb5s41lwvjbpba6fznkzwah9a7yisjq1nq47rp4ymqb";}
+  {name="konquest";value="0bsqxr12x9qgk4al21s2hrm48hv15ir98792z8jna3d5w6j0a2zy";}
+  {name="konsole";value="13kv6pmziqfis4qxkfxbmm3yiy2w3fy2l2qi68l0s6yiaqkd9y37";}
+  {name="kopete";value="012zjq0zmqkgahnzzj02xaqhsh800bn1x7sj8vmv1mxqyi66srvy";}
+  {name="korundum";value="1qyk8gvzcjwi5pi7s0a74glyvi1mi7k5z5ilza16y0z5k6ffgvck";}
+  {name="kpat";value="0lmhygv4l1vkmbf7vmrbns6fl1anbcxsnldn0hccdpp73x1py88g";}
+  {name="kppp";value="0nnz137c384xlnrvy625zdjfzzrp6yrcfnn9gw6fs81cq4zwrr64";}
+  {name="krdc";value="0g7p94q0h3i3j9wwcmmiylz0604v4z9f0b2dppfiaq5bnz9m5pdl";}
+  {name="kremotecontrol";value="1hg4fq6ypws4zb07glsrflmr7vq35h7qqmjf5r5b5j53xqmgr6hp";}
+  {name="kreversi";value="059xsi9x6jhsdsgrxrk08haz1v4p4i46l7zkg8id64s9kvywgn5j";}
+  {name="krfb";value="01l8jv5ad3gc5kxjbr7k4ggcipc5903z82pq9616mk0qpd96j6jb";}
+  {name="kross-interpreters";value="0cdb9kaq9fdjaxks83z3gvjwwhz94g4kgjq1rp6wmzwydk28ip6i";}
+  {name="kruler";value="0i9n2znhm6llriipvrrjh8yymj76a17895w7kbcyd41srk0akk5i";}
+  {name="ksaneplugin";value="1fqkbf47ajw7ckzipphdjpnpv4gk426k1rpq3z1qlbag9f9wvxsd";}
+  {name="kscd";value="1f8099bhylrr5m3a5lrmjxz2rz59k3qi1abfjs63hk2z523p99n3";}
+  {name="kshisen";value="1nhq2rxiylzr7klpqqbhl35v7s4prv15wrckgx84mdm5hmyh4nsw";}
+  {name="ksirk";value="0s577h7sswqr44mzmm2a5gi62w8lpzivy9xy5jpib3iw768a9gxy";}
+  {name="ksnakeduel";value="09jp1cd138cqv131h7m3c994zwxbn97yw77fq1yrcfgyspmdx0x9";}
+  {name="ksnapshot";value="1fiqracij106c22b0ws6n047wn4fww5fzli8rqjas5m25931azl4";}
+  {name="kspaceduel";value="1a2n9kyn6y62yps5apclgpmzbchdrfn3lck9fl68alk0bpqdnz1n";}
+  {name="ksquares";value="1bg9na03ph1lignnl6fdxkvcbsq77dskbgn8d7hyq1p800n7jx7q";}
+  {name="kstars";value="1wf13434sxxwikrp29jl5klggmv0ln73a57rs0m4gr4zrjvbrs2s";}
+  {name="ksudoku";value="1nq4nj1q723s7gv1d0l3wafs2d6wz67xhir2sa1wsw12dzh856vf";}
+  {name="ksystemlog";value="0khb92vxr0hfny2yxwnww33ahgm9gmmrf5h7qaj0lqnyrh5fcl6c";}
+  {name="kteatime";value="13jzf4mcq8glkhg5szpawj2k0ss4qfzrjhpmjn3m3grz1zf167sw";}
+  {name="ktimer";value="0y6q9khxlmb7pgds4f9a83aqnbn0gwbi3r15s8vf72qr3qj3f5xc";}
+  {name="ktouch";value="1swdkzvm9q4r8ily7n4cs91y186zlzys7kjs3lf2q46d63l9nfdz";}
+  {name="ktuberling";value="0fzd17hvb2zaqwd0fw6f3rq0mlq8xrmz155dyg916jg2alslicxh";}
+  {name="kturtle";value="1hlfv77g0v48qfqwpqqnw5qf8fcl4v38612v3jy5z038g4sacxkx";}
+  {name="ktux";value="0shib3f2gcdgf88zh2w67kizbmj7gz0vqy8ff5vmr75fp44111b4";}
+  {name="kubrick";value="1dkd7rzkxyk71hd4r9l6nlvcl3zj8vf6i9v1gqi8zjrqwpxvf188";}
+  {name="kuser";value="1qc4wk5q9y7mmkfjqndcby7782z2aaj7x1cc4dcmds01glm2bw6j";}
+  {name="kwalletmanager";value="1f0ncnx3d6z3v373095nhydj844hiva64qh80cc7rmb624vlcsa4";}
+  {name="kwordquiz";value="1m0zi0gldw7shjy4nhiw2azgrfvhcmm5h423gckjczpqd9f17ihd";}
+  {name="libkcddb";value="0k1xr8z3dmfq08qh7fkjhi2v523lhy1inmggnk3gaxzarlvhqxxa";}
+  {name="libkcompactdisc";value="03ch51firb2xcqwy3p6q5j5zr9570nvqa5cgd5yj7pjnzdwcjxv8";}
+  {name="libkdcraw";value="1ypamhdk8y7vb9y250vilmv5dgxf1svvsw329yxc146ii0pb4nwr";}
+  {name="libkdeedu";value="0m20vxa9x2ww7xmq1a7j4pmqsdj5pp05hsg4q64slz69m5npi30r";}
+  {name="libkdegames";value="1hz02x2k7iiw0i78ifa4ji60l87by855v5f6pm3ksw3rdw0ipz9v";}
+  {name="libkexiv2";value="0mz88j3kszqxf518h7n0fjnql2iqwx780hv4jhvrkraclf4czng9";}
+  {name="libkipi";value="0x4d356c20fdjaqadzaqhsf43v9c9bgbwbyy304q2w329m8ab058";}
+  {name="libkmahjongg";value="0911knwvhwa77hr0ncqwjqzfcyvgi806ckyldglrhvm0gw0mgy60";}
+  {name="libkomparediff2";value="0rn5xhbnywjjbk9qx3xw3gss57l105a4a4v05gh9vvl82hc5sfzx";}
+  {name="libksane";value="19zibd1y96sxwnpdxkd752jiky83b8is85qi7six60g5kkzi948m";}
+  {name="lokalize";value="0sl9i146rx0ls3rii6893alkvsjv8ln0d5yabd72f8kagsaw42h7";}
+  {name="lskat";value="1flx7l8svf51fkr3lw0z85d0gkrabjzi73w4qn2wnsaz9wr6kahi";}
+  {name="marble";value="1gvlq0si76bk4yd8dfbixzwxj618ifd2jlr7fq6f9mx498cvifpi";}
+  {name="mplayerthumbs";value="1nw01216mghwxz7zhkf7px5kkb2d4dqdk7par20agvw2raan9axi";}
+  {name="nepomuk-core";value="0gavipa1hn5aw77q3xrdv9464l8qpabq6kawlvjvv90hjvs8clis";}
+  {name="nepomuk-widgets";value="1cr4v4s567vcx1046gj066xfmhrqx4g6lipffr6d3wdq9cgy5y5i";}
+  {name="okteta";value="0maadxyngj8an0hl3kidvmgj538n6vzpz964yilzj6qrry9f46wc";}
+  {name="okular";value="0cmcaqpaxx8910qmsvag6spjbchdbv6j9hgbizw6qq09kz4d9a7k";}
+  {name="oxygen-icons";value="00l7qy95za3c323hkjiihavmq2vjm2yi81yn4cgwpnc5l336pynb";}
+  {name="pairs";value="15kafhp54dsrv2466j9gnn0c8iqbfx4frrql0r6v5qza015vybr9";}
+  {name="palapeli";value="0bx7qqidywxwkj9vdbzpqsy2fvkjgf9vj8nqk5ypx7jm7da87y94";}
+  {name="parley";value="163xnfd9h8r6dp3riqs3s32qaramyf225bhy6y9laknbrr9lxnsm";}
+  {name="perlkde";value="05ybh43ckfq5qh03pklkgiajc2s6b6cmvp5alx0dvq605h5z881f";}
+  {name="perlqt";value="1fn3gxb8b4kx7g24pnrbg42dv17hn2wv70g53yfr6z277ljinxzl";}
+  {name="picmi";value="19gli6mii15qya9hi6qyb52rsk2n2dk6r4kzla99ps3cs8n4h9x8";}
+  {name="poxml";value="11cwhjil8vdwwpmp1l61335b5j9714hbxiyqw0wyxcr6yccasbdf";}
+  {name="print-manager";value="0v940bsksw04ymxq56lgm6sprkdlyzjm5fgsm24yb564nay3x42h";}
+  {name="pykde4";value="00gpjqgsfv83xfk1xmglr8c32ln9cc05m4nf1qbd3gvr5jb6cxmg";}
+  {name="qtruby";value="1312v8vn091q5lh81cm5z5wkgidigdngqkjs3kf7lp9d1k50ai47";}
+  {name="qyoto";value="0sjii1i31x1cxhr5y5ijaain9ql75fbba9ss1cxz9agswp95kpcz";}
+  {name="rocs";value="0h72mrb65gnk36g9d4l55bm7kfldh3v95hbv0wxad0p9v7baxmn2";}
+  {name="smokegen";value="0x4qz1pk8wn4vq0fmy344v9m1gh12dav3n71z6xi4pnpmpmq7kna";}
+  {name="smokekde";value="1wl88jy9yvvrykzknj1vy7rqhfxr52q053y2jmay53hvx1iaqjxm";}
+  {name="smokeqt";value="1lphdjxcvysn1lkq6yj7z5pmhzlwpkj3xx7izfdk1g6a1pkjwr7j";}
+  {name="step";value="0ma7748ixi00zw9hrjjlgbb7d1a4cr124ka3ymn45sa4q4mza3zh";}
+  {name="superkaramba";value="0xbs2k863p2yg2k7wn70gbwvriin4lv2hv78r5m6fwvb4rsjygsb";}
+  {name="svgpart";value="1svwqxcxl2wp4wq9s3q6crys7jmz072wp4qz69fvqcvp1cd92gsp";}
+  {name="sweeper";value="19lsqw192h3863fbd265didviy7m4wk6qwfgnhc7sxaxxccm19y4";}
+  {name="umbrello";value="0lmygjjsqiw0xnv4d3d1yb1b5zlnj18lh01k954ycl8f50cxsv9a";}
+  {name="zeroconf-ioslave";value="1324mx9gsr6ghi7m1qk4kwr91g8wfd3jsw3rzp26nhrlwjsa5j6a";}
+];
+modules=[
+{
+  module="kdemultimedia";
+  split=true;
+  pkgs=[
+    { name="audiocd-kio"; sane="audiocd_kio"; }
+    { name="dragon";  }
+    { name="ffmpegthumbs";  }
+    { name="juk";  }
+    { name="kmix";  }
+    { name="kscd";  }
+    { name="libkcddb";  }
+    { name="libkcompactdisc";  }
+    { name="mplayerthumbs";  }
+  ];
+}
+{
+  module="kdegraphics";
+  split=true;
+  pkgs=[
+    { name="gwenview";  }
+    { name="kamera";  }
+    { name="kcolorchooser";  }
+    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
+    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
+    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
+    { name="kgamma";  }
+    { name="kolourpaint";  }
+    { name="kruler";  }
+    { name="ksaneplugin";  }
+    { name="ksnapshot";  }
+    { name="libkdcraw";  }
+    { name="libkexiv2";  }
+    { name="libkipi";  }
+    { name="libksane";  }
+    { name="okular";  }
+    { name="svgpart";  }
+  ];
+}
+{
+  module="kdelibs";
+  split=true;
+  pkgs=[
+    { name="kdelibs";  }
+    { name="nepomuk-core"; sane="nepomuk_core"; }
+    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
+  ];
+}
+{
+  module="kdenetwork";
+  split=true;
+  pkgs=[
+    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
+    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
+    { name="zeroconf-ioslave";  }
+    { name="kget";  }
+    { name="kopete";  }
+    { name="kppp";  }
+    { name="krdc";  }
+    { name="krfb";  }
+  ];
+}
+{
+  module="kdeutils";
+  split=true;
+  pkgs=[
+    { name="ark";  }
+    { name="filelight";  }
+    { name="kcalc";  }
+    { name="kcharselect";  }
+    { name="kdf";  }
+    { name="kfloppy";  }
+    { name="kgpg";  }
+    { name="kremotecontrol";  }
+    { name="ktimer";  }
+    { name="kwalletmanager";  }
+    { name="print-manager"; sane="print_manager"; }
+    { name="superkaramba";  }
+    { name="sweeper";  }
+  ];
+}
+{
+  module="applications";
+  split=true;
+  pkgs=[
+    { name="kate";  }
+    { name="konsole";  }
+  ];
+}
+{
+  module="kdetoys";
+  split=true;
+  pkgs=[
+    { name="amor";  }
+    { name="kteatime";  }
+    { name="ktux";  }
+  ];
+}
+{
+  module="kdesdk";
+  split=true;
+  pkgs=[
+    { name="cervisia";  }
+    { name="dolphin-plugins"; sane="dolphin_plugins"; }
+    { name="kapptemplate";  }
+    { name="kcachegrind";  }
+    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
+    { name="kde-dev-utils"; sane="kde_dev_utils"; }
+    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
+    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
+    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
+    { name="kompare";  }
+    { name="libkomparediff2";  }
+    { name="lokalize";  }
+    { name="okteta";  }
+    { name="poxml";  }
+    { name="umbrello";  }
+  ];
+}
+{
+  module="kdegames";
+  split=true;
+  pkgs=[
+    { name="bomber";  }
+    { name="bovo";  }
+    { name="granatier";  }
+    { name="kajongg";  }
+    { name="kapman";  }
+    { name="katomic";  }
+    { name="kblackbox";  }
+    { name="kblocks";  }
+    { name="kbounce";  }
+    { name="kbreakout";  }
+    { name="kdiamond";  }
+    { name="kfourinline";  }
+    { name="kgoldrunner";  }
+    { name="kigo";  }
+    { name="killbots";  }
+    { name="kiriki";  }
+    { name="kjumpingcube";  }
+    { name="klickety";  }
+    { name="klines";  }
+    { name="kmahjongg";  }
+    { name="kmines";  }
+    { name="knavalbattle";  }
+    { name="knetwalk";  }
+    { name="kolf";  }
+    { name="kollision";  }
+    { name="konquest";  }
+    { name="kpat";  }
+    { name="kreversi";  }
+    { name="kshisen";  }
+    { name="ksirk";  }
+    { name="ksnakeduel";  }
+    { name="kspaceduel";  }
+    { name="ksquares";  }
+    { name="ksudoku";  }
+    { name="ktuberling";  }
+    { name="kubrick";  }
+    { name="libkdegames";  }
+    { name="libkmahjongg";  }
+    { name="lskat";  }
+    { name="palapeli";  }
+    { name="picmi";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { name="analitza";  }
+    { name="blinken";  }
+    { name="cantor";  }
+    { name="kalgebra";  }
+    { name="kalzium";  }
+    { name="kanagram";  }
+    { name="kbruch";  }
+    { name="kgeography";  }
+    { name="khangman";  }
+    { name="kig";  }
+    { name="kiten";  }
+    { name="klettres";  }
+    { name="kmplot";  }
+    { name="kstars";  }
+    { name="ktouch";  }
+    { name="kturtle";  }
+    { name="kwordquiz";  }
+    { name="libkdeedu";  }
+    { name="marble";  }
+    { name="pairs";  }
+    { name="parley";  }
+    { name="rocs";  }
+    { name="step";  }
+  ];
+}
+{
+  module="kdeadmin";
+  split=true;
+  pkgs=[
+    { name="kcron";  }
+    { name="ksystemlog";  }
+    { name="kuser";  }
+  ];
+}
+{
+  module="kdebindings";
+  split=true;
+  pkgs=[
+    { name="kimono";  }
+    { name="korundum";  }
+    { name="kross-interpreters"; sane="kross_interpreters"; }
+    { name="perlkde";  }
+    { name="perlqt";  }
+    { name="pykde4";  }
+    { name="qtruby";  }
+    { name="qyoto";  }
+    { name="smokegen";  }
+    { name="smokekde";  }
+    { name="smokeqt";  }
+  ];
+}
+{
+  module="kdeaccessibility";
+  split=true;
+  pkgs=[
+    { name="jovie";  }
+    { name="kaccessible";  }
+    { name="kmag";  }
+    { name="kmousetool";  }
+    { name="kmouth";  }
+  ];
+}
+{
+  module="kde-baseapps";
+sane="kde_baseapps";  split=true;
+  pkgs=[
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+  ];
+}
+{ module="kactivities";  split=false;}
+{ module="kdeartwork";  split=false;
+  pkgs=[
+    { name="ColorSchemes"; }
+    { name="IconThemes"; }
+    { name="emoticons"; }
+    { name="kscreensaver"; }
+    { name="kwin-styles"; sane="kwin_styles";}
+    { name="styles"; }
+    { name="wallpapers"; }
+    { name="HighResolutionWallpapers"; }
+    { name="WeatherWallpapers"; }
+    { name="desktopthemes"; }
+  ];
+
+}
+{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
+{ module="kdelibs";  split=false;}
+{ module="kdepim";  split=false;}
+{ module="kdepimlibs";  split=false;}
+{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
+{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
+{ module="kde-runtime"; sane="kde_runtime"; split=false;}
+{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
+{ module="kdewebdev";  split=false;
+  pkgs=[
+    { name="klinkstatus"; }
+    { name="kfilereplace"; }
+    { name="kimagemapeditor"; }
+    { name="kommander"; }
+  ];
+
+}
+{ module="kde-workspace"; sane="kde_workspace"; split=false;}
+{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
+];
+}
diff --git a/pkgs/desktops/kde-4.12/kde-package/default.nix b/pkgs/desktops/kde-4.12/kde-package/default.nix
new file mode 100644
index 00000000000..6b4e1ba0ad8
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kde-package/default.nix
@@ -0,0 +1,129 @@
+{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
+, release, branch, ignoreList, extraSubpkgs
+}:
+
+let
+  inherit (stdenv.lib) filter fold;
+  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
+in
+rec {
+  manifest = import (./. + "/${release}.nix");
+
+  # src attribute for $name tarball
+  kdesrc = name: fetchurl {
+    url = "mirror://kde/" + (if manifest.stable then "" else "un")
+      + "stable/${release}/src/${name}-${release}.tar.xz";
+    sha256 = getAttr name manifest.hashes;
+  };
+
+  # Default meta attribute
+  defMeta = {
+    homepage = http://www.kde.org;
+    inherit branch;
+    platforms = stdenv.lib.platforms.linux;
+    inherit (qt4.meta) maintainers;
+  };
+
+  # KDE package built from the whole tarball
+  # This function is used both for monolithic modules and modules which are
+  # released as individual tarballs
+  kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, version ? release, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${version}";
+      src = kdesrc name;
+      meta = defMeta // meta;
+      enableParallelBuilding = true;
+    } // (removeAttrs a [ "meta" "name" ]));
+
+  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
+  # API.
+  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
+
+  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
+  kdeSubdirPkg = module:
+    {name, subdir ? name, sane ? name}:
+    let name_ = name; in
+    a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${release}";
+      src = kdesrc module;
+      cmakeFlags =
+        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
+          "-DBUILD_doc=TRUE"
+          "-DBUILD_${subdir}=TRUE"
+        ] ++ cmakeFlags;
+      meta = defMeta // meta;
+      enableParallelBuilding = module.enableParallelBuilding or true;
+    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
+
+  # A KDE monolithic module
+  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
+
+  # Combine packages in one module.
+  # Arguments:
+  #  * pkgFun --- a function of the following signature:
+  #               module: manifest_attrs: manual_attrs: derivation;
+  #  * module --- name of the module
+  #  * pkgs --- list of packages in manifest format
+  combinePkgs = pkgFun: module: pkgs:
+    let
+      f = p@{name, ...}:
+        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
+      list = map f pkgs;
+      attrs = listToAttrs (map
+        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
+        pkgs);
+    in
+      runCommand "${module}-${release}"
+      ({passthru = attrs // {
+         propagatedUserEnvPackages = list;
+         projects = attrs;
+       };})
+        ''
+          mkdir -pv $out/nix-support
+          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
+        '';
+
+  # Given manifest module data, return the module
+  kdeModule = { module, sane ? module, split, pkgs ? [] }:
+    let
+      pkgs_ = filterPkgs module pkgs;
+    in
+    # Module is splitted by upstream
+    if split then combinePkgs kdeSplittedPkg module pkgs_
+    # Monolithic module
+    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
+    # Module is splitted by us
+    else combinePkgs kdeSubdirPkg module pkgs_;
+
+  # The same, as nameValuePair with sane name
+  kdeModuleNV = a@{ module, sane ? module, ... }:
+    { name = sane; value = kdeModule a; };
+
+  filterPkgs = module: (p:
+      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
+      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
+
+  # Remove attrsets with x.name in subst. Optimized for empty subst.
+  removeNames = subst: big:
+    fold (s: out: filter (x: x.name != s) out) big subst;
+
+  modules = listToAttrs (map kdeModuleNV manifest.modules);
+
+  splittedModuleList =
+    let
+      splitted = filter (a: a ? pkgs) manifest.modules;
+      names = map ({module, sane ? module, ...}: sane) splitted;
+    in
+    map (m: m.projects) (stdenv.lib.attrVals names modules);
+
+  individual =
+    stdenv.lib.zipAttrsWith
+    (
+      name: list:
+      if tail list == []
+      then head list
+      else abort "Multiple modules define ${name}"
+    )
+    splittedModuleList;
+}
diff --git a/pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh
index e964ce3ddc1..e964ce3ddc1 100755
--- a/pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh
+++ b/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh
diff --git a/pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt
index 952a05a9d27..952a05a9d27 100644
--- a/pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt
+++ b/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt
diff --git a/pkgs/desktops/kde-4.12/kde-runtime.nix b/pkgs/desktops/kde-4.12/kde-runtime.nix
new file mode 100644
index 00000000000..1c9706f4f4b
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kde-runtime.nix
@@ -0,0 +1,24 @@
+{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
+, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
+, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, gpgme
+}:
+
+kde {
+  buildInputs = [
+    kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
+    qca2 samba libcanberra pulseaudio gpgme
+    networkmanager kactivities kdepimlibs openexr
+#todo: add openslp
+#todo: gpgme can't be found because cmake module is provided by kdepimlibs which are found too late
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  passthru.propagatedUserEnvPackages = [ virtuoso ];
+
+  meta = {
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kde-wallpapers.nix b/pkgs/desktops/kde-4.12/kde-wallpapers.nix
new file mode 100644
index 00000000000..393d90824eb
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kde-wallpapers.nix
@@ -0,0 +1,17 @@
+{ kde, cmake }:
+
+kde {
+  nativeBuildInputs = [ cmake ];
+
+  patches = [ ./files/kde-wallpapers-buildsystem.patch ];
+
+  cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "1yg9c780xdxa60bw832cqj60v87cbvjxp27k6gacj2lwk7rm5hwg";
+
+  meta = {
+    description = "Wallpapers for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kde-workspace.nix b/pkgs/desktops/kde-4.12/kde-workspace.nix
new file mode 100644
index 00000000000..537beaac6ae
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kde-workspace.nix
@@ -0,0 +1,46 @@
+{ stdenv, kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
+, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
+, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
+, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl
+}:
+
+kde {
+
+  version = "4.11.6";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/4.12.2/src/kde-workspace-4.11.6.tar.xz";
+    sha256 = "0lk3k9zl4x4il5dqpw7mf25gv8a3y48fd3jq3jvgmwwlviwcpcz1";
+  };
+
+#todo: wayland, xmms,   libusb isn't found
+  buildInputs =
+    [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
+      xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
+      xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
+      xorg.libXdamage
+
+      python boost qjson lm_sensors gpsd libraw1394 pciutils udev
+      akonadi pam libusb1 libqalculate kdepimlibs  prison
+      kactivities
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  preConfigure =
+   ''
+     # Fix incorrect path to kde4-config.
+     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
+
+     # Fix the path to the keyboard configuration files.
+     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
+       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
+   '';
+
+  enableParallelBuilding = false; # frequent problems on Hydra
+
+  meta = {
+    description = "KDE workspace components such as Plasma, Kwin and System Settings";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix
index d38c80c4c36..d38c80c4c36 100644
--- a/pkgs/desktops/kde-4.10/kdeaccessibility/jovie.nix
+++ b/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix
diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix
index 98fae7c983f..98fae7c983f 100644
--- a/pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix
+++ b/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix
diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix
index 606c61cddb6..606c61cddb6 100644
--- a/pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix
+++ b/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix
diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix
index 8e0caa76ed9..8e0caa76ed9 100644
--- a/pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix
+++ b/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix
diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix
index 4159501967c..4159501967c 100644
--- a/pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix
+++ b/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix
diff --git a/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix
index f585461af38..f585461af38 100644
--- a/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix
+++ b/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix
diff --git a/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix
index 88757a6b91c..88757a6b91c 100644
--- a/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix
+++ b/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix
diff --git a/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix
index 6118cf558bb..6118cf558bb 100644
--- a/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix
+++ b/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix
index acccf66976f..acccf66976f 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake
index 499ed75268e..499ed75268e 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake
+++ b/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix
index edffca1562e..edffca1562e 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix
index 43071e8bd14..43071e8bd14 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix
index 947e5e17ab0..947e5e17ab0 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix
index 93dd361af73..93dd361af73 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix
index 5ef9f78a719..5ef9f78a719 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix
index 84cb008056e..84cb008056e 100644
--- a/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix
index b5d769b216d..b5d769b216d 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/styles.nix b/pkgs/desktops/kde-4.12/kdeartwork/styles.nix
index 6a1306c3710..6a1306c3710 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/styles.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/styles.nix
diff --git a/pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix
index 7c9846fbf9e..7c9846fbf9e 100644
--- a/pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix
+++ b/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix
diff --git a/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix
index 48eed141ce6..48eed141ce6 100644
--- a/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix
+++ b/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix
diff --git a/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
index 64e196452e3..64e196452e3 100644
--- a/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix
+++ b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
diff --git a/pkgs/desktops/kde-4.10/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch
index bd95a0d8bd3..bd95a0d8bd3 100644
--- a/pkgs/desktops/kde-4.10/kdebindings/qtruby-install-prefix.patch
+++ b/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch
diff --git a/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix
index 03e9dc9a007..03e9dc9a007 100644
--- a/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix
+++ b/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch
index f0811d335a7..f0811d335a7 100644
--- a/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch
+++ b/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch
index 53257e836e0..53257e836e0 100644
--- a/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch
+++ b/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix
new file mode 100644
index 00000000000..5708d0f96eb
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix
@@ -0,0 +1,13 @@
+{ stdenv, kde, qt4, cmake }:
+
+kde {
+  buildInputs = [ qt4 ];
+  nativeBuildInputs = [ cmake ];
+
+  patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
+
+  meta = {
+    description = "C++ parser used to generate language bindings for Qt/KDE";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix
index 4474c1d9731..4474c1d9731 100644
--- a/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix
+++ b/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix
new file mode 100644
index 00000000000..494bc85e646
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix
@@ -0,0 +1,15 @@
+{ stdenv, kde, qt4, cmake, phonon, qimageblitz, smokegen }:
+
+kde {
+
+# TODO: Qwt5, QScintilla2
+
+  propagatedBuildInputs = [ qt4 phonon qimageblitz ];
+  nativeBuildInputs = [ cmake ];
+  propagatedNativeBuildInputs = [ smokegen ];
+
+  meta = {
+    description = "C++ parser used to generate language bindings for Qt/KDE";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/analitza.nix b/pkgs/desktops/kde-4.12/kdeedu/analitza.nix
index 74c3a1ebb20..74c3a1ebb20 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/analitza.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/analitza.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/blinken.nix b/pkgs/desktops/kde-4.12/kdeedu/blinken.nix
index cdf9728833c..cdf9728833c 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/blinken.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/blinken.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/cantor.nix b/pkgs/desktops/kde-4.12/kdeedu/cantor.nix
new file mode 100644
index 00000000000..a8cd2e44957
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeedu/cantor.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate, python }:
+kde {
+
+# TODO: R is not found
+
+  buildInputs = [ kdelibs libspectre analitza R libqalculate python ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "KDE Frontend to Mathematical Software";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix
index 3675c3a225f..3675c3a225f 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix
index 09de79ce1c0..09de79ce1c0 100644
--- a/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix
index 8759c96d78c..8759c96d78c 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kanagram.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix
index dc50f1e85a3..dc50f1e85a3 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kbruch.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix
index bd8d27c8d6e..bd8d27c8d6e 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kgeography.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/khangman.nix b/pkgs/desktops/kde-4.12/kdeedu/khangman.nix
index 997b50e906a..997b50e906a 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/khangman.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/khangman.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kig.nix b/pkgs/desktops/kde-4.12/kdeedu/kig.nix
new file mode 100644
index 00000000000..37906c32bcb
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeedu/kig.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, boost, python}:
+kde {
+  buildInputs = [ kdelibs boost python ];
+
+  cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1";
+  meta = {
+    description = "KDE Interactive Geometry";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kiten.nix b/pkgs/desktops/kde-4.12/kdeedu/kiten.nix
index 939b7a9f77a..939b7a9f77a 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kiten.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kiten.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/klettres.nix b/pkgs/desktops/kde-4.12/kdeedu/klettres.nix
index 7a0fa83078e..7a0fa83078e 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/klettres.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/klettres.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix
new file mode 100644
index 00000000000..fc7b0578c27
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE mathematical function plotter";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kstars.nix b/pkgs/desktops/kde-4.12/kdeedu/kstars.nix
new file mode 100644
index 00000000000..0832dc2121e
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeedu/kstars.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }:
+
+kde {
+
+# TODO: wcslib, astrometry
+
+  buildInputs = [ kdelibs eigen xplanet indilib ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE graphical desktop planetarium";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix
index 9e606adde33..9e606adde33 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/ktouch.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix
index 1e1922b1410..1e1922b1410 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kturtle.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix
index 1b33ba2e469..1b33ba2e469 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix
index def6c85fefe..def6c85fefe 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix
diff --git a/pkgs/desktops/kde-4.11/kdeedu/marble.nix b/pkgs/desktops/kde-4.12/kdeedu/marble.nix
index 2dc07d14a0d..2dc07d14a0d 100644
--- a/pkgs/desktops/kde-4.11/kdeedu/marble.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/marble.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/pairs.nix b/pkgs/desktops/kde-4.12/kdeedu/pairs.nix
index 36c4aba9604..36c4aba9604 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/pairs.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/pairs.nix
diff --git a/pkgs/desktops/kde-4.10/kdeedu/parley.nix b/pkgs/desktops/kde-4.12/kdeedu/parley.nix
index f9f86dde150..f9f86dde150 100644
--- a/pkgs/desktops/kde-4.10/kdeedu/parley.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/parley.nix
diff --git a/pkgs/desktops/kde-4.11/kdeedu/rocs.nix b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
index ce30d11fda3..ce30d11fda3 100644
--- a/pkgs/desktops/kde-4.11/kdeedu/rocs.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/step.nix b/pkgs/desktops/kde-4.12/kdeedu/step.nix
new file mode 100644
index 00000000000..f36ccef9b7c
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeedu/step.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, gsl, libqalculate, eigen, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs gsl libqalculate eigen ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE interactive physical simulator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdegames/bomber.nix b/pkgs/desktops/kde-4.12/kdegames/bomber.nix
index 026227910f2..026227910f2 100644
--- a/pkgs/desktops/kde-4.10/kdegames/bomber.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/bomber.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/bovo.nix b/pkgs/desktops/kde-4.12/kdegames/bovo.nix
index b0e7d99c589..b0e7d99c589 100644
--- a/pkgs/desktops/kde-4.10/kdegames/bovo.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/bovo.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/granatier.nix b/pkgs/desktops/kde-4.12/kdegames/granatier.nix
index 9f1ab005309..9f1ab005309 100644
--- a/pkgs/desktops/kde-4.10/kdegames/granatier.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/granatier.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kajongg.nix b/pkgs/desktops/kde-4.12/kdegames/kajongg.nix
index 9a6f5e83695..9a6f5e83695 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kajongg.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kajongg.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kapman.nix b/pkgs/desktops/kde-4.12/kdegames/kapman.nix
index f10e099da3c..f10e099da3c 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kapman.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kapman.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/katomic.nix b/pkgs/desktops/kde-4.12/kdegames/katomic.nix
index a9936c04f0e..a9936c04f0e 100644
--- a/pkgs/desktops/kde-4.10/kdegames/katomic.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/katomic.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix
index 27eeff2f65b..27eeff2f65b 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kblackbox.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kblocks.nix b/pkgs/desktops/kde-4.12/kdegames/kblocks.nix
index 98cf068de09..98cf068de09 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kblocks.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kblocks.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kbounce.nix b/pkgs/desktops/kde-4.12/kdegames/kbounce.nix
index 77fa0db6352..77fa0db6352 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kbounce.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kbounce.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix
index 3a484d919bb..3a484d919bb 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kbreakout.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix
index 06dfcee5ac3..06dfcee5ac3 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kdiamond.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix
index 11b8838e708..11b8838e708 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kfourinline.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix
index 6217c47a806..6217c47a806 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kigo.nix b/pkgs/desktops/kde-4.12/kdegames/kigo.nix
index 32eee67cc1e..32eee67cc1e 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kigo.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kigo.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/killbots.nix b/pkgs/desktops/kde-4.12/kdegames/killbots.nix
index d9c1472495e..d9c1472495e 100644
--- a/pkgs/desktops/kde-4.10/kdegames/killbots.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/killbots.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kiriki.nix b/pkgs/desktops/kde-4.12/kdegames/kiriki.nix
index 72f7ab67501..72f7ab67501 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kiriki.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kiriki.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix
index a6d22cff51c..a6d22cff51c 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/klickety.nix b/pkgs/desktops/kde-4.12/kdegames/klickety.nix
index b592bc40641..b592bc40641 100644
--- a/pkgs/desktops/kde-4.10/kdegames/klickety.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/klickety.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/klines.nix b/pkgs/desktops/kde-4.12/kdegames/klines.nix
index 90952fe91c0..90952fe91c0 100644
--- a/pkgs/desktops/kde-4.10/kdegames/klines.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/klines.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix
index 946b531ff12..946b531ff12 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kmines.nix b/pkgs/desktops/kde-4.12/kdegames/kmines.nix
index 538454e9598..538454e9598 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kmines.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kmines.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix
index 42ffd2fcb4d..42ffd2fcb4d 100644
--- a/pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix
index a16e578ce84..a16e578ce84 100644
--- a/pkgs/desktops/kde-4.10/kdegames/knetwalk.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kolf.nix b/pkgs/desktops/kde-4.12/kdegames/kolf.nix
index 78815ee5799..78815ee5799 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kolf.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kolf.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kollision.nix b/pkgs/desktops/kde-4.12/kdegames/kollision.nix
index 3147c7305ea..3147c7305ea 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kollision.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kollision.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/konquest.nix b/pkgs/desktops/kde-4.12/kdegames/konquest.nix
index 53ddd64928c..53ddd64928c 100644
--- a/pkgs/desktops/kde-4.10/kdegames/konquest.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/konquest.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kpat.nix b/pkgs/desktops/kde-4.12/kdegames/kpat.nix
index f8d9bad36dc..f8d9bad36dc 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kpat.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kpat.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kreversi.nix b/pkgs/desktops/kde-4.12/kdegames/kreversi.nix
index 2aed981428e..2aed981428e 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kreversi.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kreversi.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kshisen.nix b/pkgs/desktops/kde-4.12/kdegames/kshisen.nix
index 9c888034038..9c888034038 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kshisen.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kshisen.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/ksirk.nix b/pkgs/desktops/kde-4.12/kdegames/ksirk.nix
index 767eb67971a..767eb67971a 100644
--- a/pkgs/desktops/kde-4.10/kdegames/ksirk.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/ksirk.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix
index ccf1fb551e9..ccf1fb551e9 100644
--- a/pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix
index 5285f7916ca..5285f7916ca 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/ksquares.nix b/pkgs/desktops/kde-4.12/kdegames/ksquares.nix
index a17be2da632..a17be2da632 100644
--- a/pkgs/desktops/kde-4.10/kdegames/ksquares.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/ksquares.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix
index ea4e13a5e4f..ea4e13a5e4f 100644
--- a/pkgs/desktops/kde-4.10/kdegames/ksudoku.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix
index 1a6ba9d653c..1a6ba9d653c 100644
--- a/pkgs/desktops/kde-4.10/kdegames/ktuberling.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/kubrick.nix b/pkgs/desktops/kde-4.12/kdegames/kubrick.nix
index 9bdc6879db4..9bdc6879db4 100644
--- a/pkgs/desktops/kde-4.10/kdegames/kubrick.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/kubrick.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix
index 3819dcdc9ae..3819dcdc9ae 100644
--- a/pkgs/desktops/kde-4.10/kdegames/libkdegames.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix
index 383b347dc33..383b347dc33 100644
--- a/pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/lskat.nix b/pkgs/desktops/kde-4.12/kdegames/lskat.nix
index 2a5050cd667..2a5050cd667 100644
--- a/pkgs/desktops/kde-4.10/kdegames/lskat.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/lskat.nix
diff --git a/pkgs/desktops/kde-4.11/kdegames/palapeli.nix b/pkgs/desktops/kde-4.12/kdegames/palapeli.nix
index 010dbd5d623..010dbd5d623 100644
--- a/pkgs/desktops/kde-4.11/kdegames/palapeli.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/palapeli.nix
diff --git a/pkgs/desktops/kde-4.10/kdegames/picmi.nix b/pkgs/desktops/kde-4.12/kdegames/picmi.nix
index 165d7422f95..165d7422f95 100644
--- a/pkgs/desktops/kde-4.10/kdegames/picmi.nix
+++ b/pkgs/desktops/kde-4.12/kdegames/picmi.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix
new file mode 100644
index 00000000000..3ce9b3dcc78
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix
@@ -0,0 +1,15 @@
+{ stdenv, kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
+, libjpeg, pkgconfig, kactivities, lcms2 }:
+
+kde {
+
+  buildInputs =
+    [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Gwenview, the KDE image viewer";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix
new file mode 100644
index 00000000000..d9aa11c54af
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libgphoto2 }:
+
+kde {
+  buildInputs = [ kdelibs libgphoto2 ];
+
+  meta = {
+    description = "KDE camera interface library";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix
new file mode 100644
index 00000000000..e06c1b5d307
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A small utility to select a color";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix
new file mode 100644
index 00000000000..e834762feb5
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, okular }:
+
+kde {
+  buildInputs = [ kdelibs okular ];
+
+  meta = {
+    description = "A collection of plugins to handle mobipocket files";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix
new file mode 100644
index 00000000000..d9d35808ac5
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libtiff }:
+
+kde {
+  buildInputs = [ kdelibs libtiff ];
+
+  meta = {
+    description = "Strigi analyzers for various graphics file formats";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix
new file mode 100644
index 00000000000..d6207689512
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix
@@ -0,0 +1,13 @@
+{ stdenv, kde, kdelibs, libkexiv2, libkdcraw, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs libkexiv2 libkdcraw ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Thumbnailers for various graphics file formats";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix
new file mode 100644
index 00000000000..016312c199e
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libXxf86vm }:
+
+kde {
+  buildInputs = [ kdelibs libXxf86vm ];
+
+  meta = {
+    description = "KDE monitor calibration tool";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix
new file mode 100644
index 00000000000..ecf34e5ae9e
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, qimageblitz }:
+
+kde {
+  buildInputs = [ kdelibs qimageblitz ];
+
+  meta = {
+    description = "KDE paint program";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix
new file mode 100644
index 00000000000..209331d9e83
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE screen ruler";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix
new file mode 100644
index 00000000000..f541c4bdb4d
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libksane }:
+
+kde {
+  buildInputs = [ kdelibs libksane ];
+
+  meta = {
+    description = "A KScan plugin that implements the scanning through libksane";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix
new file mode 100644
index 00000000000..a9897d270bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libkipi }:
+
+kde {
+  buildInputs = [ kdelibs libkipi ];
+
+  meta = {
+    description = "KDE screenshot utility";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix
new file mode 100644
index 00000000000..1d5c6e2fcb4
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix
@@ -0,0 +1,13 @@
+{ stdenv, kde, kdelibs, pkgconfig, libraw, lcms2 }:
+
+kde {
+
+  buildInputs = [ kdelibs libraw lcms2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Library for decoding RAW images";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix
new file mode 100644
index 00000000000..46ec45fad01
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, exiv2 }:
+
+kde {
+  buildInputs = [ kdelibs exiv2 ];
+
+  meta = {
+    description = "Exiv2 support library";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix
new file mode 100644
index 00000000000..65e6c52bd44
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Interface library to kipi-plugins";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix
new file mode 100644
index 00000000000..6c3543eef37
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix
@@ -0,0 +1,10 @@
+{ stdenv, 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 = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/okular.nix b/pkgs/desktops/kde-4.12/kdegraphics/okular.nix
new file mode 100644
index 00000000000..092833388a7
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/okular.nix
@@ -0,0 +1,17 @@
+{ stdenv, chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
+, qimageblitz, libtiff, kactivities, pkgconfig, libkexiv2 }:
+
+kde {
+
+# TODO: package activeapp, qmobipocket
+
+  buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4
+                  qca2 qimageblitz libtiff kactivities libkexiv2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Okular, the KDE document viewer";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix
new file mode 100644
index 00000000000..2fc0e373dbd
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "SVG KPart";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
new file mode 100644
index 00000000000..1698abfd00f
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
@@ -0,0 +1,54 @@
+{ kde, gcc, cmake, perl
+, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
+, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
+, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
+, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst
+, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
+, pkgconfig, fetchpatch
+}:
+
+kde {
+
+# TODO: media-player-info
+
+  buildInputs =
+    [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
+      libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt
+      shared_desktop_ontologies xz udev libjpeg kerberos openexr
+      libXtst attr
+    ];
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
+
+  propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
+
+  # TODO: make sonnet plugins (dictionaries) really work.
+  # There are a few hardcoded paths.
+  # Split plugins from libs?
+
+  patches = [
+    ../files/polkit-install.patch
+    (fetchpatch {
+      name = "CVE-2014-5033.patch";
+      url = "http://quickgit.kde.org/?p=kdelibs.git"
+        + "&a=commit&h=e4e7b53b71e2659adaf52691d4accc3594203b23";
+      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+    })
+  ];
+
+  cmakeFlags = [
+    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+    "-DHUPNP_ENABLED=ON"
+    "-DWITH_SOLID_UDISKS2=ON"
+  ];
+
+  passthru.wantsUdisks2 = true;
+
+  meta = {
+    description = "KDE libraries";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix
new file mode 100644
index 00000000000..d90e1455ce9
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix
@@ -0,0 +1,20 @@
+{ stdenv, kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
+, pkgconfig, doxygen, ebook_tools
+}:
+
+kde {
+
+# TODO: qmobipocket
+
+  buildInputs = [
+    kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg
+    popplerQt4 ebook_tools
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "NEPOMUK core";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix
new file mode 100644
index 00000000000..b0fc5ad8900
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, nepomuk_core }:
+
+kde {
+
+  buildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "NEPOMUK Widgets";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix
index 4c56e7529dd..4c56e7529dd 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix
index 006300742ec..006300742ec 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix
index 45f6c9abcb6..45f6c9abcb6 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix
index 5d7b1db224e..5d7b1db224e 100644
--- a/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix
index 1dd8108166f..1dd8108166f 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix
index e99ae53935b..e99ae53935b 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix
index 720b01d1861..720b01d1861 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix
index 6ed08af89f3..6ed08af89f3 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix
diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix
index c88ebcc2a5a..c88ebcc2a5a 100644
--- a/pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix
+++ b/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix
index 0330511a258..0330511a258 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
index e838d84fc5e..e838d84fc5e 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kget.nix b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
index f986da2de21..f986da2de21 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/kget.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
new file mode 100644
index 00000000000..7d8aec21ce6
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
@@ -0,0 +1,26 @@
+{ kde, kdelibs, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
+  jasper, libidn, mediastreamer, pkgconfig, libxslt, giflib,
+  libgadu, boost, qca2, sqlite, jsoncpp,
+  ortp, srtp, libv4l }:
+
+kde {
+
+# TODO: libmeanwhile, xmms, jsoncpp(not found), kleopatra(from kdepim but doesn't install headers?),
+
+  buildInputs = [
+    kdelibs qca2 mediastreamer libgadu jsoncpp
+    kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib
+    libidn libxslt boost
+    ortp srtp libv4l
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  KDEDIRS = libktorrent;
+
+  cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
+
+  meta = {
+    description = "A KDE multi-protocol IM client";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix
index 4c6bd65769f..4c6bd65769f 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix
index 80557e827fe..80557e827fe 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix
index cb4857965a3..cb4857965a3 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix
index f65960cc337..f65960cc337 100644
--- a/pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix
diff --git a/pkgs/desktops/kde-4.12/kdepim-runtime.nix b/pkgs/desktops/kde-4.12/kdepim-runtime.nix
new file mode 100644
index 00000000000..d92e2254820
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdepim-runtime.nix
@@ -0,0 +1,16 @@
+{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }:
+
+kde {
+
+# TODO: libkgapi(2), LibKFbAPI,libkolab, libkolabxml
+
+  buildInputs = [
+    kdepimlibs akonadi boost shared_desktop_ontologies
+    libxslt
+  ];
+
+  meta = {
+    description = "KDE PIM runtime";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdepim.nix b/pkgs/desktops/kde-4.12/kdepim.nix
new file mode 100644
index 00000000000..4f364648d23
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdepim.nix
@@ -0,0 +1,28 @@
+{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
+, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
+, nepomuk_widgets, kactivities, libXScrnSaver, qjson
+, pkgconfig }:
+
+kde {
+
+# TODO: LinkGrammar
+
+  buildInputs =
+    [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
+      libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
+      libXScrnSaver qjson
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  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.11/kdepimlibs.nix b/pkgs/desktops/kde-4.12/kdepimlibs.nix
index ca0af9400b1..ca0af9400b1 100644
--- a/pkgs/desktops/kde-4.11/kdepimlibs.nix
+++ b/pkgs/desktops/kde-4.12/kdepimlibs.nix
diff --git a/pkgs/desktops/kde-4.11/kdeplasma-addons.nix b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
index 550099830d9..550099830d9 100644
--- a/pkgs/desktops/kde-4.11/kdeplasma-addons.nix
+++ b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix
index 1dabe46cd42..1dabe46cd42 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/cervisia.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix
diff --git a/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix
index ad8132a850e..ad8132a850e 100644
--- a/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix
index 391536248dd..391536248dd 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix
index 65d410cca48..65d410cca48 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix
index df81145e5d6..df81145e5d6 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix
index 215c0a3c613..215c0a3c613 100644
--- a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix
index 98bbce35a97..98bbce35a97 100644
--- a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix
index 4d579b88ba8..4d579b88ba8 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix
index d707fe9038f..d707fe9038f 100644
--- a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kompare.nix b/pkgs/desktops/kde-4.12/kdesdk/kompare.nix
new file mode 100644
index 00000000000..644c7c48dc9
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdesdk/kompare.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkomparediff2 }:
+
+kde {
+  buildInputs = [ kdelibs libkomparediff2 ];
+
+  meta = {
+    description = "A program to view the differences between files and optionally generate a diff";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix b/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix
new file mode 100644
index 00000000000..5933682c70a
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A library to compare files and strings";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix
index 1565426eb1f..1565426eb1f 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/lokalize.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/okteta.nix b/pkgs/desktops/kde-4.12/kdesdk/okteta.nix
index 058636596ad..058636596ad 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/okteta.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/okteta.nix
diff --git a/pkgs/desktops/kde-4.11/kdesdk/poxml.nix b/pkgs/desktops/kde-4.12/kdesdk/poxml.nix
index 6e46c3e3ab4..6e46c3e3ab4 100644
--- a/pkgs/desktops/kde-4.11/kdesdk/poxml.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/poxml.nix
diff --git a/pkgs/desktops/kde-4.10/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
index e83a2d9a901..e83a2d9a901 100644
--- a/pkgs/desktops/kde-4.10/kdesdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
diff --git a/pkgs/desktops/kde-4.10/kdetoys/amor.nix b/pkgs/desktops/kde-4.12/kdetoys/amor.nix
index 936d63d544a..936d63d544a 100644
--- a/pkgs/desktops/kde-4.10/kdetoys/amor.nix
+++ b/pkgs/desktops/kde-4.12/kdetoys/amor.nix
diff --git a/pkgs/desktops/kde-4.10/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix
index dacf54def4b..dacf54def4b 100644
--- a/pkgs/desktops/kde-4.10/kdetoys/kteatime.nix
+++ b/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix
diff --git a/pkgs/desktops/kde-4.10/kdetoys/ktux.nix b/pkgs/desktops/kde-4.12/kdetoys/ktux.nix
index 108f9be7c72..108f9be7c72 100644
--- a/pkgs/desktops/kde-4.10/kdetoys/ktux.nix
+++ b/pkgs/desktops/kde-4.12/kdetoys/ktux.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/ark.nix b/pkgs/desktops/kde-4.12/kdeutils/ark.nix
new file mode 100644
index 00000000000..99844b909fd
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeutils/ark.nix
@@ -0,0 +1,17 @@
+{ makeWrapper, kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson
+, unzip }:
+
+kde {
+  buildInputs = [
+    makeWrapper kdelibs kde_baseapps libarchive bzip2 lzma qjson
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/ark \
+      --prefix PATH ":" "${unzip}/bin"
+  '';
+
+  meta = {
+    description = "KDE Archiving Tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeutils/filelight.nix b/pkgs/desktops/kde-4.12/kdeutils/filelight.nix
index 25ecabed27c..25ecabed27c 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/filelight.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/filelight.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix
index 08b202e8f0e..08b202e8f0e 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/kcalc.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix
index d4c9c06f483..d4c9c06f483 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix b/pkgs/desktops/kde-4.12/kdeutils/kdf.nix
index 3f9da58d0a6..3f9da58d0a6 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kdf.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix
index 2434a4fa671..2434a4fa671 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
new file mode 100644
index 00000000000..3ff1a286ae5
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, kdepimlibs, boost }:
+
+kde {
+
+  buildInputs = [ kdelibs kdepimlibs boost ];
+
+  meta = {
+    description = "Simple KDE GUI for GPG";
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix
index 70311a789f9..70311a789f9 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix
index 5700977349e..5700977349e 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/ktimer.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix
index 9ec0e6c0396..9ec0e6c0396 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/kwallet.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix
diff --git a/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix
index ae72becd1e4..ae72becd1e4 100644
--- a/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix
index cbe7a285606..cbe7a285606 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix
diff --git a/pkgs/desktops/kde-4.10/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix
index 78d56c7df30..78d56c7df30 100644
--- a/pkgs/desktops/kde-4.10/kdeutils/sweeper.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix
diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix
index 55e37809e07..55e37809e07 100644
--- a/pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix
+++ b/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix
diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix
index 6d22f72461f..6d22f72461f 100644
--- a/pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix
+++ b/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
new file mode 100644
index 00000000000..918512e2b2d
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }:
+
+kde {
+
+# todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old
+
+  buildInputs = [ kdelibs kdepimlibs htmlTidy boost ];
+
+  meta = {
+    description = "A KDE link checker";
+    homepage = http://klinkstatus.kdewebdev.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix
index d5f4337f714..d5f4337f714 100644
--- a/pkgs/desktops/kde-4.10/kdewebdev/kommander.nix
+++ b/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix
diff --git a/pkgs/desktops/kde-4.12/l10n/default.nix b/pkgs/desktops/kde-4.12/l10n/default.nix
new file mode 100644
index 00000000000..fa6406043b1
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/l10n/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }:
+
+let
+
+  inherit (stdenv.lib) attrByPath singleton;
+
+  kdeL10nDerivation =
+    { lang, saneName, sha256 }:
+
+    stdenv.mkDerivation rec {
+      name = "kde-l10n-${saneName}-${release}";
+
+      src = fetchurl {
+        url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
+        name = "${name}.tar.xz";
+        inherit sha256;
+      };
+
+      buildInputs = [ gettext kdelibs ];
+
+      cmakeFlags = "-Wno-dev";
+
+      meta = {
+        description = "KDE translation for ${lang}";
+        inherit branch;
+        license = "GPL";
+        platforms = stdenv.lib.platforms.linux;
+        inherit (kdelibs.meta) maintainers homepage;
+      };
+    };
+
+  kdeL10nRelease =
+    builtins.listToAttrs (
+      map ({lang, saneName, sha256}:
+        {
+          name = saneName;
+          value = kdeL10nDerivation { inherit lang saneName sha256; };
+        }
+      ) (import (./manifest + "-${release}.nix"))
+    );
+
+in
+{
+  inherit kdeL10nDerivation;
+  recurseForDerivations = true;
+} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh
index ec159a1e204..ec159a1e204 100755
--- a/pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh
+++ b/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh
diff --git a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix
new file mode 100644
index 00000000000..e646e352887
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix
@@ -0,0 +1,262 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "1pygy9kckankwhlm4j61fk42zinafw2insc9kkpgmh9mvb8gv0jk";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "1qqbl7l84j3d5928gmdq7f7s0i31gw0rlf4y74p5zx8m80xbdd6l";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "0cg143wlalplw0qr10h60i6srn0avsim94m1hjbm8xrlg71iihjj";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "15s85xmqbnv7bm7ywivkyi62481ip4vy6yyw81m720hza0imbj9z";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "1d0bhndwf8b0pmglf3sx28r6s3li72x7a05kc39n026ha5zyx5f1";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "1dx5c6fkgn4hglx8qacrdnxn0l9p7dqbaz6cd7h9pa8b9zri5j9w";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "1ynh8s17999pa60bzwr2595pcd744h1n8zznyzr5lq302ir8f8qj";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "1da01wd1n64g3l57pagvrb8mn2jj50ni1qhicnlwylk8n2krw0pf";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1qf9g5in9zr39gkip06hr80pzc4frchb2x9q76sqs36h58az5yfd";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "1lhrbfh74sqglqxl7yh68qkx0gmppg7iir194vxhm2s1j0jxq8r4";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "0qz39nxkiivgk720lgdbfgxdp3wn5wrvx2zf0phvb8g6q5rl68kw";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "1i9h68pfsnbi4gw5f4mb6q8jq56hdmi1lqxhwzj6vrbqiip7b9gl";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "020b1p164v82pj6x0jxz6d41w539786ygkfmgrf9dr20zwhchzha";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0vs8bqr6if32bmwvjzdmakyqdl5fz13igg31mzwga4aqlzalxa1w";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "1wcd9gzf754150i62zl3fa24jq8p7vskn6adaa8x5qy208c0d6v1";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "0fpsc36sk7zh3flxgnvfgxig4cm5hm56sgdgbl01dfg1mac6dckq";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "1hrbsd595q2w09mym9h56hymikkpxbq0qmdxvphap5wsh0xsfxms";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "1q2y9js6j32rbm5jg8yn6s9zw0jh6yq1q4z6hxy9nss1gh6diqda";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "0zaknfk8kzcid7839wsj61qgn81gjz0hbpis7q2q1syky4nzjwsb";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "1d14h5kdfz8np5p27darraxq4ps0yhxhczg9yli436kgiflbvp88";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "0p29dybsalnjk00f7l3gni7pxzv1ig95m100svhhkmcwvh065kjf";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "1qqbn3v30z058580qr9qyq0sy6g4jw0far8w7ywgnhks4aapy97a";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "1gfm0k2j2jvff9lab87yjrywc1j0gayw2fxibzifvpygr9bl60i7";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "11zax6c3qfscadqfamls5k78hw36iwadqsgyiphl574ijz9q48ba";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1ab658x0a44kydzs05zgzq7nks6dfl0z8m69ank5ngd12qnhb38s";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "0n26860ah421x8q2jmz8mh3mdzy26s8ckbfpnyph1vc23zqx9vqv";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "05ad1d5klc11s138zb5fj4h2kfida83xqr4z1m6nhv0igwzmza0g";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "14kchh6yixgrkzrrkdz25xaj2q91il6yshz79n4h0yk01lfc3sq5";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "0aa4spy2nc1hfbx1z2b4k3sahha0pdxih1k3pl6n9223cjgwcbqp";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "14341a4qr8p7idvsw6zp23kyva5lb4684wjygm24d9wj69nkc2c4";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "02rq9spp8vzvv8bvzny48qwksimrnqj6y9rpc3xh6bmzfhvr7qsa";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "1s2gbynxdbpi32rwdgddabsp3n10ngwpnh6za3yjp4is93ici6rm";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "18nmh605ya47w0x2nkglg8lrfks7l9pxr6mjnw3z3lsazafigvx1";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "1jxd109m2y7ky0c4im70ipx07rysbr0ndl2fpjb3myxb2nks106h";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "117zl85myjnnb957c4gx0h65ks842sk3gbw9dfp8hpzdwg8zvsn4";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "1q5c61a2swxvyhdw5rambibyms40hj34093ihx32ad73kb4mn72w";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "0wg4nlra1z6pf8mxlz3w0jq68k0qfhxrhsqij35l9zml5y203n4y";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "0rryyjfgplar77fz332jv2w0lv7d6273gv022pb1m83w945pzkf9";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "0aglgvj1ljfdf6gjs478l4wisp2z4dzkkbhz1sgry00p4q1417ab";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "14aqlg64lp287m09zhh9r9l6ywfwzz7f2nz0vr1fg3wqsdrchglw";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "0cq6xacyrb9wrrwbl8xrb2ah3h7s7a9vr7kz3fy5rf2rgq0phfd7";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "07i0plzmg0nykfalyjvwnhg5qrcfdf1h6i18b34xyrp3y4gm540a";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "0gw1iv550nr307ibgb8i48fxcq03liq5r2x7fr9pl0n9xknh3c8a";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "0489n0l9c9wig5567dfh4apyyy6xws7yxq79r4jl00zxl1j43bla";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "1n4ckll9ngj8qn976nikxfljf23qsvphblbjnjm0vk4713bnpf9h";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "0pzjdnanhynalcjlsg94g88i92hwdsqz02x85yxxg87vn74p13ks";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "1z9mjzh0w6i2a75ys0dx5ksm8fpwyw8wrwdh14bvbnxpnkx0jv8x";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "032vjcjpl19dyyc36z1nwyc9h696iys8dfyadpw9rhcllpk4ck67";
+}
+{
+  lang = "vi";
+  saneName = "vi";
+  sha256 = "0sd6vzb1qmbbxk6d1vfq21gkq009lp7qxnpdcr7jbykcf0licq7i";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "1m6fa0adfjzfqakjyrrjwak4p0y5wwdkkq61qx9wvzdb78qm83rw";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "11is37g7fafxhk7ydydgbxdg0x1s5cxr8v1pjzwqb858n1cq5x1h";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "1vbr0pjm8d25lxbmhqz8d4x57sjc411a5fkvyxh4rr34fd7xxhwq";
+}
+]
diff --git a/pkgs/desktops/kde-4.12/oxygen-icons.nix b/pkgs/desktops/kde-4.12/oxygen-icons.nix
new file mode 100644
index 00000000000..01020e095f9
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/oxygen-icons.nix
@@ -0,0 +1,15 @@
+{ kde, cmake }:
+
+kde {
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "06qddsbq0sadj9jh2x1qkbm69b7cnd2474b3h0zrzrqgnrsf8jn2";
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    description = "KDE Oxygen theme icons";
+    longDescription = "Icons for KDE's default theme";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/support/akonadi/default.nix b/pkgs/desktops/kde-4.12/support/akonadi/default.nix
new file mode 100644
index 00000000000..d51996e3bc1
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/support/akonadi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "akonadi-1.11.0";
+  
+  src = fetchurl {
+    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
+    sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc";
+  };
+
+  buildInputs = [ qt4 soprano libxslt boost sqlite ];
+
+  nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
+
+  enableParallelBuilding = true;
+  
+  meta = with stdenv.lib; {
+    description = "KDE PIM Storage Service";
+    license = "LGPL";
+    homepage = http://pim.kde.org/akonadi;
+    maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/applications/gigolo.nix b/pkgs/desktops/xfce/applications/gigolo.nix
index b54ea8cc623..9badeb5370e 100644
--- a/pkgs/desktops/xfce/applications/gigolo.nix
+++ b/pkgs/desktops/xfce/applications/gigolo.nix
@@ -3,20 +3,16 @@
 stdenv.mkDerivation rec {
   p_name  = "gigolo";
   ver_maj = "0.4";
-  ver_min = "1";
+  ver_min = "2";
 
   src = fetchurl {
     url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2";
+    sha256 = "0r4ij0mlnp0bqq44pyrdcpz18r1zwsksw6w5yc0jzgg7wj7wfgsm";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   buildInputs = [ python gettext intltool gtk pkgconfig gvfs];
 
-  preConfigure = ''
-    sed -i "waf" -e "1 s^.*/env[ ]*python^#!${python}/bin/python^";
-  '';
-
   meta = {
     homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
     description = "A frontend to easily manage connections to remote filesystems";
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
index 5248d6567d2..1e1ef0cf846 100644
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ b/pkgs/desktops/xfce/applications/mousepad.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/;
     description = "A simple text editor for Xfce";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix
new file mode 100644
index 00000000000..598c5038092
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/parole.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
+, gtk, dbus_glib, libxfce4ui, libxfce4util, xfconf
+, taglib, libnotify
+, withGstPlugins ? true
+}:
+
+stdenv.mkDerivation rec {
+  p_name  = "parole";
+  ver_maj = "0.5";
+  ver_min = "4";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1hxzqg9dfghrhvmnnccwwa4278fh2awkcqy89sla05m08mxvvx60";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  buildInputs = [
+    makeWrapper 
+    gtk dbus_glib libxfce4ui libxfce4util xfconf
+    taglib libnotify
+  ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav]);
+
+  configureFlags = [ "--with-gstreamer=1.0" ];
+
+  postInstall = stdenv.lib.optionalString withGstPlugins ''
+    wrapProgram "$out/bin/parole" --prefix \
+      GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  '';
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
+    description = "Modern simple media player";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix
index a42e882710a..64e3c34453e 100644
--- a/pkgs/desktops/xfce/applications/ristretto.nix
+++ b/pkgs/desktops/xfce/applications/ristretto.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
     description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/applications/terminal.nix b/pkgs/desktops/xfce/applications/terminal.nix
index 1c795a5a5fa..15d90be3131 100644
--- a/pkgs/desktops/xfce/applications/terminal.nix
+++ b/pkgs/desktops/xfce/applications/terminal.nix
@@ -5,11 +5,11 @@
 stdenv.mkDerivation rec {
   p_name  = "xfce4-terminal";
   ver_maj = "0.6";
-  ver_min = "2";
+  ver_min = "3";
 
   src = fetchurl {
     url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0d9vbkvbxxhv022mwyihrabmj8y9097bp57n1a412qyji0i454ix";
+    sha256 = "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/terminal;
     description = "A modern terminal emulator primarily for the Xfce desktop environment";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
index 972442dc56b..2b0f729c0a3 100644
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
     description = "A volume control application for the Xfce desktop environment";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
index 5873ef9cd68..a447812f9a7 100644
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   p_name  = "xfce4-notifyd";
   ver_maj = "0.2";
-  ver_min = "3";
+  ver_min = "4";
 
   src = fetchurl {
     url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0fx6z89rxs6ypb8bb6l1pg8fdbxn995fgs413sbhnaxjkm6gch6x";
+    sha256 = "1l6fpfk0fkizdx7vwbyjdyzzj5i2ng8pf7r8j49nv0cnjhpxczlc";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
     description = "Notification daemon for Xfce";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
new file mode 100644
index 00000000000..8181b809c83
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, intltool, xfce4panel, libxfce4util, gtk, libsoup
+, exo}:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-screenshooter";
+  ver_maj = "1.8";
+  ver_min = "1";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "40419892bd28989315eed053c159bba0f4264ed8c6c6738806024e481eab9492";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [
+    pkgconfig intltool xfce4panel libxfce4util gtk libsoup exo
+  ];
+
+  meta = {
+    homepage = http://goodies.xfce.org/projects/applications/xfce4-screenshooter;
+    description = "Xfce screenshooter";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
index baef6872848..df743e4cc9c 100644
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   p_name  = "xfce4-taskmanager";
   ver_maj = "1.0";
-  ver_min = "0";
+  ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0";
+    sha256 = "11pfiglfg3mzsmpiwva6l7dj44zsv76vyf0282pghwcrvnb2gapm";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/common.nix b/pkgs/desktops/xfce/common.nix
deleted file mode 100644
index a7e64707f91..00000000000
--- a/pkgs/desktops/xfce/common.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ pkgs, newScope, xfce_self }: rec {
-
-  callPackage = newScope (deps // xfce_self);
-
-  deps = rec { # xfce-global dependency overrides should be here
-    inherit (pkgs.gnome) libglade libwnck vte gtksourceview;
-    inherit (pkgs.perlPackages) URI;
-
-    # The useful bits from ‘gnome-disk-utility’.
-    libgdu = callPackage ./support/libgdu.nix { };
-
-    # Gvfs is required by Thunar for the trash feature and for volume
-    # mounting.  Should use the one from Gnome, but I don't want to mess
-    # with the Gnome packages (or pull in a zillion Gnome dependencies).
-    gvfs = callPackage ./support/gvfs.nix { };
-
-    # intelligent fetcher for Xfce
-    fetchXfce = rec {
-      generic = prepend : name : hash :
-        let lib = pkgs.lib;
-            p = builtins.parseDrvName name;
-            versions = lib.splitString "." p.version;
-            ver_maj = lib.concatStrings (lib.intersperse "." (lib.take 2 versions));
-            name_low = lib.toLower p.name;
-        in pkgs.fetchurl {
-          url = "mirror://xfce/src/${prepend}/${name_low}/${ver_maj}/${name}.tar.bz2";
-          sha256 = hash;
-        };
-      core = generic "xfce";
-      app = generic "apps";
-      art = generic "art";
-    };
-  };
-
-  xfce_common = rec {
-
-    inherit (deps) gvfs; # used by NixOS
-
-    #### CORE
-
-    garcon  = callPackage ./core/garcon.nix { v= "0.2.0";   h= "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"; };
-
-    # not used anymore TODO: really? Update to 2.99.2?
-    gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
-
-    # ToDo: segfaults after some work
-    tumbler = callPackage ./core/tumbler.nix  { v= "0.1.27"; h= "0s9qj99b81asmlqa823nzykq8g6p9azcp2niak67y9bp52wv6q2c"; };
-
-    xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix  { v= "1.0.10"; h= "1w120k1sl4s459ijaxkqkba6g1p2sqrf9paljv05wj0wz12bpr40"; };
-
-
-    #### APPLICATIONS
-    #TODO: correct links; more stuff
-
-    xfce4notifyd           = callPackage ./applications/xfce4-notifyd.nix      { v= "0.2.2"; h= "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn"; };
-    gigolo                 = callPackage ./applications/gigolo.nix             { v= "0.4.1"; h= "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; };
-    xfce4taskmanager       = callPackage ./applications/xfce4-taskmanager.nix  { v= "1.0.0"; h= "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; };
-    mousepad               = callPackage ./applications/mousepad.nix           { v= "0.3.0"; h= "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh"; };
-    thunar_volman          = callPackage ./core/thunar-volman.nix              { };
-    thunar_archive_plugin  = callPackage ./core/thunar-archive-plugin.nix      { };
-
-
-    #### ART
-
-    xfce4icontheme  = callPackage ./art/xfce4-icon-theme.nix  { v= "4.4.3"; h= "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l"; };
-
-    #### PANEL PLUGINS
-
-    xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
-    xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix    { };
-
-  };
-}
-
diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix
index 3131ea679b0..694db49f589 100644
--- a/pkgs/desktops/xfce/core/exo.nix
+++ b/pkgs/desktops/xfce/core/exo.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.xfce.org/projects/${p_name}";
     description = "Application library for the Xfce desktop environment";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix
index 33b64cd878e..44f5a95224e 100644
--- a/pkgs/desktops/xfce/core/garcon.nix
+++ b/pkgs/desktops/xfce/core/garcon.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/;
     description = "Xfce menu support library";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
index a97a11c6f12..360e4a0a250 100644
--- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
+++ b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, enableGtk3Support ? false, gtk3 }:
 
 stdenv.mkDerivation rec {
   p_name  = "gtk-xfce-engine";
@@ -12,12 +12,12 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   #TODO: gtk3
-  buildInputs = [ pkgconfig intltool gtk ];
+  buildInputs = [ pkgconfig intltool gtk ] ++ stdenv.lib.optional enableGtk3Support gtk3;
 
   meta = {
     homepage = http://www.xfce.org/;
     description = "GTK+ theme engine for Xfce";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
index 4f0e7062e45..cb2975d8214 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui.nix
@@ -24,11 +24,13 @@ stdenv.mkDerivation rec {
       libstartup_notification
     ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.xfce.org/;
     description = "Basic GUI library for Xfce";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix
index 88874722b7d..8483aec7a46 100644
--- a/pkgs/desktops/xfce/core/libxfce4util.nix
+++ b/pkgs/desktops/xfce/core/libxfce4util.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   p_name  = "libxfce4util";
   ver_maj = "4.10";
-  ver_min = "0";
+  ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89";
+    sha256 = "1fygyq9dywa989z1vb3d8hj4fg5ai75lcrngnf2s60jwf6nx2b78";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix
index e30fcf22357..32a320c779b 100644
--- a/pkgs/desktops/xfce/core/libxfcegui4.nix
+++ b/pkgs/desktops/xfce/core/libxfcegui4.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/;
     description = "Basic GUI library for Xfce";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
index 62b04caaa34..62a90578bd3 100644
--- a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
+++ b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
@@ -13,10 +13,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig thunar intltool exo gtk udev libxfce4ui libxfce4util xfconf ];
   enableParallelBuilding = true;
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
     description = "The Thunar Archive Plugin allows you to create and extract archive files using the file context menus in the Thunar file manager";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.iElectric ];
   };
diff --git a/pkgs/desktops/xfce/core/thunar-volman.nix b/pkgs/desktops/xfce/core/thunar-volman.nix
index 94fc0e369e5..5ce88921fa8 100644
--- a/pkgs/desktops/xfce/core/thunar-volman.nix
+++ b/pkgs/desktops/xfce/core/thunar-volman.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://goodies.xfce.org/projects/thunar-plugins/thunar-volman;
     description = "Thunar extension for automatic management of removable drives and media";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix
index 919d19a2302..fdf4211f099 100644
--- a/pkgs/desktops/xfce/core/thunar.nix
+++ b/pkgs/desktops/xfce/core/thunar.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://thunar.xfce.org/;
     description = "Xfce file manager";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
index 1e7c3c5127e..fab6152c99a 100644
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ b/pkgs/desktops/xfce/core/tumbler.nix
@@ -1,21 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype,
+libgsf, poppler, bzip2 }:
 
 stdenv.mkDerivation rec {
   p_name  = "tumbler";
   ver_maj = "0.1";
-  ver_min = "29";
+  ver_min = "30";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "14zw69x5979d19brjbyq81wvbikb13vgv901gxnbw8lyc3pc9fn3";
+    sha256 = "013kacqyy1vya7kp6jgc1almp3cbbvq96a3r7f5myiihr1whvhp7";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf ];
+  buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf curl freetype
+    poppler libgsf bzip2];
+
+  configureFlags = [
+    # Needs gst-tag
+    # "--enable-gstreamer-thumbnailer"
+
+    # Needs libffmpegthumbnailer
+    # "--enable-ffmpeg-thumbnailer"
+    
+    "--enable-odf-thumbnailer"
+    "--enable-poppler-thumbnailer"
+  ];
 
   meta = {
     homepage = http://git.xfce.org/xfce/tumbler/;
     description = "A D-Bus thumbnailer service";
-    license = "GPLv2";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix
index b4c9c790ac1..01848d66696 100644
--- a/pkgs/desktops/xfce/core/xfce4-appfinder.nix
+++ b/pkgs/desktops/xfce/core/xfce4-appfinder.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-appfinder";
-  ver_maj = "4.9"; # no 4.10 (stable) release yet
-  ver_min = "4";
+  ver_maj = "4.10";
+  ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "12lgrbd1n50w9n8xkpai98s2aw8vmjasrgypc57sp0x0qafsqaxq";
+    sha256 = "0xzbi1vvy724s7vljf4153h7s7zqqwg51bn9wirx4d33lzzp9vk5";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://docs.xfce.org/xfce/xfce4-appfinder/;
     description = "Xfce application finder, a tool to locate and launch programs on your system";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
index e56eb3f0a71..671f57faeb3 100644
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://foo-projects.org/~benny/projects/xfce4-dev-tools/;
     description = "Tools and M4 macros for Xfce4 developers";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
index a5edb8dd560..e654b2f7dfb 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/xfce4-panel;
     description = "Xfce panel";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
index 5f38308f6d4..81a0aebb75c 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
@@ -1,35 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, xfconf
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, upower, xfconf
 , libxfce4ui, libxfce4util, libnotify, xfce4panel }:
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-power-manager";
-  ver_maj = "1.2";
+  ver_maj = "1.3";
   ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1sc4f4wci5yl3l9lk7vcsbwj6hdjshbxw9qm43s64jr882jriyyp";
-  };
-
-  brightness_patch = fetchurl {
-    url = "http://git.xfce.org/xfce/xfce4-power-manager/patch/?id=05d12e12596512f7a31d3cdb4845a69dc2d4c611";
-    sha256 = "0rbldvjwpj93hx59xrmvbdql1pgkbqzjh4vp6gkavn4z6sv535v8";
+    sha256 = "1q0mnj9hjqw4zpk7wqnfayy6zzbjbhzd1mcplfjik2h753gaxgh5";
   };
 
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   buildInputs =
-    [ pkgconfig intltool gtk dbus_glib xfconf libxfce4ui libxfce4util
+    [ pkgconfig intltool gtk dbus_glib upower xfconf libxfce4ui libxfce4util
       libnotify xfce4panel
     ];
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
-  patches = [ brightness_patch ];
-
   meta = {
     homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager;
     description = "A power manager for the Xfce Desktop Environment";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix
index 2f05f521e01..d965c296490 100644
--- a/pkgs/desktops/xfce/core/xfce4-session.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session.nix
@@ -21,6 +21,11 @@ stdenv.mkDerivation rec {
       polkit
     ];
 
+  preBuild = ''
+    sed '/^PATH=/d'        -i scripts/xflock4
+    sed '/^export PATH$/d' -i scripts/xflock4
+  '';
+
   configureFlags = [ "--with-xsession-prefix=$(out)" ];
 
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
@@ -28,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/xfce4-session;
     description = "Session manager for Xfce";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix
index 2e76b22510f..ee5ae15fca1 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/xfce4-settings;
     description = "Settings manager for Xfce";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix
index e608d459106..9ed2be4a740 100644
--- a/pkgs/desktops/xfce/core/xfconf.nix
+++ b/pkgs/desktops/xfce/core/xfconf.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://docs.xfce.org/xfce/xfconf/start;
     description = "Simple client-server configuration storage and query system for Xfce";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix
index 8067e1841ca..697ff2bfb8a 100644
--- a/pkgs/desktops/xfce/core/xfdesktop.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/xfdesktop;
     description = "Xfce desktop manager";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix
index bb235911ba4..4b190889c85 100644
--- a/pkgs/desktops/xfce/core/xfwm4.nix
+++ b/pkgs/desktops/xfce/core/xfwm4.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.xfce.org/projects/xfwm4;
     description = "Window manager for Xfce";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index f812336ee7f..2d449b3fe30 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -41,12 +41,14 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
 
   gigolo          = callPackage ./applications/gigolo.nix { };
   mousepad        = callPackage ./applications/mousepad.nix { };
+  parole          = callPackage ./applications/parole.nix { };
   ristretto       = callPackage ./applications/ristretto.nix { };
   terminal        = xfce4terminal; # it has changed its name
   xfce4mixer      = callPackage ./applications/xfce4-mixer.nix { };
   xfce4notifyd    = callPackage ./applications/xfce4-notifyd.nix { };
   xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { };
   xfce4terminal   = callPackage ./applications/terminal.nix { };
+  xfce4screenshooter   = callPackage ./applications/xfce4-screenshooter.nix { };
 
   #### ART                  from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"
 
@@ -55,7 +57,9 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   #### PANEL PLUGINS        from "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"
 
   xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
-  xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
+  xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix    { };
+  xfce4_xkb_plugin        = callPackage ./panel-plugins/xfce4-xkb-plugin.nix        { };
+  xfce4_datetime_plugin   = callPackage ./panel-plugins/xfce4-datetime-plugin.nix   { };
 
 }; # xfce_self
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
new file mode 100644
index 00000000000..267a8b77ff1
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4panel
+, gtk }:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-datetime-plugin";
+  ver_maj = "0.6";
+  ver_min = "1";
+
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "06xvh22y5y0bcy7zb9ylvjpcl09wdyb751r7gwyg7m3h44f0qd7v";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfcegui4 xfce4panel gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
new file mode 100644
index 00000000000..37962a20562
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfce4ui, xfce4panel
+, gtk, libxklavier, librsvg, libwnck
+}:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-xkb-plugin";
+  ver_maj = "0.5";
+  ver_min = "6";
+
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "198q6flrajbscwwywqq8yv6hdcwifahhj9i526vyfz4q6cq65r09";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel gtk
+    libxklavier librsvg libwnck ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Allows you to setup and use multiple keyboard layouts";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index 89501f11269..3e74c143c61 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -2,12 +2,12 @@
 , avrdude, arduino_core, avrgcclibc }:
 
 buildPythonPackage rec {
-  name = "ino-0.3.5";
+  name = "ino-0.3.6";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/i/ino/${name}.tar.gz";
-    sha256 = "1j2qzcjp6r2an1v431whq9l47s81d5af6ni8j87gv294f53sl1ab";
+    sha256 = "0k6lzfcn55favbj0w4afrvnmwyskf7bgzg9javv2ycvskp35srwv";
   };
 
   # TODO: add avrgcclibc, it must be rebuild with C++ support
diff --git a/pkgs/development/compilers/Agda-executable/default.nix b/pkgs/development/compilers/Agda-executable/default.nix
deleted file mode 100644
index f9acff43ef7..00000000000
--- a/pkgs/development/compilers/Agda-executable/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, Agda }:
-
-cabal.mkDerivation (self: {
-  pname = "Agda-executable";
-  version = "2.3.0.1";
-  sha256 = "156nzvpmqi7yizjr4yym2ybc0iv4nqfp84qrpdxcha682k298ib1";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ Agda ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://wiki.portal.chalmers.se/agda/";
-    description = "Command-line program for type-checking and compiling Agda programs";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/compilers/adobe-flex-sdk/default.nix b/pkgs/development/compilers/adobe-flex-sdk/default.nix
index fc4511d896e..69557019f15 100644
--- a/pkgs/development/compilers/adobe-flex-sdk/default.nix
+++ b/pkgs/development/compilers/adobe-flex-sdk/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "Flex SDK for Adobe Flash / ActionScript";
     homepage = "http://www.adobe.com/support/documentation/en/flex/3/releasenotes_flex3_sdk.html#installation";
-    license = "MPLv1.1"; #  Mozilla Public License Version 1.1
+    license = stdenv.lib.licenses.mpl11;
   };
 }
diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix
new file mode 100644
index 00000000000..6705419add9
--- /dev/null
+++ b/pkgs/development/compilers/agda/default.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, binary, boxes, dataHash, deepseq, emacs, equivalence
+, filepath, geniplate, happy, hashable, hashtables, haskeline
+, haskellSrcExts, mtl, parallel, QuickCheck, STMonadTrans, strict
+, text, time, transformers, unorderedContainers, xhtml, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Agda";
+  version = "2.4.0.2";
+  sha256 = "13c4ipscnlnbv94k93yajrp32mwzikqa8rhc95h8pmqzhjgwyh8b";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary boxes dataHash deepseq equivalence filepath geniplate
+    hashable hashtables haskeline haskellSrcExts mtl parallel
+    QuickCheck STMonadTrans strict text time transformers
+    unorderedContainers xhtml zlib
+  ];
+  buildTools = [ alex emacs happy ];
+  postInstall = ''
+    $out/bin/agda -c --no-main $(find $out/share -name Primitive.agda)
+    $out/bin/agda-mode compile
+  '';
+  meta = {
+    homepage = "http://wiki.portal.chalmers.se/agda/";
+    description = "A dependently typed functional programming language and proof assistant";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix
new file mode 100644
index 00000000000..913ae5cd90f
--- /dev/null
+++ b/pkgs/development/compilers/agda/stdlib.nix
@@ -0,0 +1,31 @@
+{ cabal, fetchurl, filemanip, Agda }:
+
+cabal.mkDerivation (self: rec {
+  pname = "Agda-stdlib";
+  version = "0.8";
+
+  src = fetchurl {
+    url = "https://github.com/agda/agda-stdlib/archive/v${version}.tar.gz";
+    sha256 = "03gdcy2gar46qlmd6w91y05cm1x304ig6bda90ryww9qn05kif78";
+  };
+
+  buildDepends = [ filemanip Agda ];
+
+  preConfigure = "cd ffi";
+
+  postInstall = ''
+      mkdir -p $out/share
+      cd ..
+      ${self.ghc.ghc}/bin/runhaskell GenerateEverything
+      ${Agda}/bin/agda -i . -i src Everything.agda
+      cp -pR src $out/share/agda
+  '';
+
+  meta = {
+    homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
+    description = "A standard library for use with the Agda compiler.";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
+  };
+})
\ No newline at end of file
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
index 57d1bf74154..ddf16bc2219 100644
--- a/pkgs/development/compilers/aldor/default.nix
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -2,12 +2,12 @@
 , autoconf, automake, libtool, openjdk, perl }:
 
 stdenv.mkDerivation {
-  name = "aldor-1.1.0";
+  name = "aldor-1.2.0";
 
   src = fetchgit {
     url = "https://github.com/pippijn/aldor";
-    sha256 = "14xv3jl15ib2knsdz0bd7jx64zg1qrr33q5zcr8gli860ps8gkg3";
-    rev = "f7b95835cf709654744441ddb1c515bfc2bec998";
+    sha256 = "1l9fc2cgwabifwbijcp293abc8hcv40nzx2w31jkxh8n0plbiczn";
+    rev = "15471e75f3d65b93150f414ebcaf59a03054b68d";
   };
 
   buildInputs = [ gmp which flex bison makeWrapper autoconf automake libtool
diff --git a/pkgs/development/compilers/aliceml/builder.sh b/pkgs/development/compilers/aliceml/builder.sh
new file mode 100644
index 00000000000..e1f5d1b2bed
--- /dev/null
+++ b/pkgs/development/compilers/aliceml/builder.sh
@@ -0,0 +1,71 @@
+source $stdenv/setup
+
+export CXXFLAGS="-m32"
+
+tar zxvf "$gecodeSrc"
+cd gecode-1.3.1
+./configure --prefix="$out" --disable-minimodel --disable-examples
+make
+make install
+cd ..
+
+PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"$out"/lib/pkgconfig
+
+tar zxvf "$seamSrc"
+cd seam-1.4
+./configure --prefix="$out" --with-zlib=$zlib
+make
+make install
+cd ..
+
+PATH=$PATH:"$out"/bin
+
+tar zxvf "$aliceSrc"
+cd alice-1.4
+sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/alicerun.in
+sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/aliceremote
+./configure --prefix="$out" --with-gmp=$gmp
+make
+make install
+cd ..
+
+tar zxvf "$aliceGecodeSrc"
+cd alice-gecode-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceRegexSrc"
+cd alice-regex-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceSqliteSrc"
+cd alice-sqlite-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceXmlSrc"
+cd alice-xml-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceGtkSrc"
+cd alice-gtk-1.4
+sed -i -e 's/PRIVATE_GTK_LEAVE_PENDING/PRIVATE_GTK_HAS_POINTER/g' NativeGtk.cc
+sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' myinstall
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceRuntimeSrc"
+cd alice-runtime-1.4
+./configure --prefix="$out"
+make
+make install
+cd ..
+
+
diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix
new file mode 100644
index 00000000000..29e95863921
--- /dev/null
+++ b/pkgs/development/compilers/aliceml/default.nix
@@ -0,0 +1,75 @@
+{stdenv, fetchurl, pkgsi686Linux, libtool, gnumake381, autoconf, automake111x, file, which, zsh, m4, pkgconfig, perl}:
+
+stdenv.mkDerivation {
+  name = "aliceml-1.4";
+
+  aliceSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-1.4.tar.gz;
+    sha256 = "1ay8r26g7xm9zlrlpigp6y1zmrl93hzkndb5phx7651wx8j2183r";
+  };
+
+  aliceGecodeSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gecode-1.4.tar.gz;
+    sha256 = "0yklpsqnm3wwzfz4vvv69dmm7q7pzpl3z7iw7wg33klng85cidl6";
+  };
+
+  aliceGtkSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gtk-1.4.tar.gz;
+    sha256 = "0zx4ks0pk5wgbcsflcmn0kbpa9j7pjbsc19d1s3jgp4rwb24m1an";
+  };
+
+  aliceRegexSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-regex-1.4.tar.gz;
+    sha256 = "0myjzh3295awamghs4c88ypaa41m8sxh5jys876yq6flslw41s02";
+  };
+
+  aliceRuntimeSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-runtime-1.4.tar.gz;
+    sha256 = "1cbca71vh16l2h0zjvhgzzs0rzq99nc8nx9a97yzw595355nq57f";
+  };
+
+  aliceSqliteSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-sqlite-1.4.tar.gz;
+    sha256 = "0554xbx8zgqmpb7x06d7xvhlbk7bxmc237khgjs6yjcy53yf366b";
+  };
+
+  aliceXmlSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-xml-1.4.tar.gz;
+    sha256 = "058a815a0vajjvjlsmd4ryx2bc71q6zwvyjg2c0v1gba2v3pddm0";
+  };
+
+  seamSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/seam-1.4.tar.gz;
+    sha256 = "1iz98jdv914whaw426d5406shlqgxqwpy3fbyb472x7d3lfra2dz";
+  };
+
+  gecodeSrc = fetchurl {
+    url = http://www.gecode.org/download/gecode-1.3.1.tar.gz;
+    sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
+  };
+
+  zlib = pkgsi686Linux.zlib;
+  gmp = pkgsi686Linux.gmp;
+
+
+  buildInputs = [
+    stdenv pkgsi686Linux.gcc34 pkgsi686Linux.glibc 
+    libtool gnumake381 autoconf automake111x pkgsi686Linux.zlib
+    file which zsh pkgsi686Linux.gmp m4 pkgsi686Linux.gnome.gtk
+    pkgsi686Linux.gnome.libgnomecanvas pkgsi686Linux.pango pkgsi686Linux.sqlite
+    pkgsi686Linux.libxml2 pkgsi686Linux.lightning pkgconfig perl
+  ];
+ 
+  builder = ./builder.sh;
+
+  meta = {
+    description = "Functional programming language based on Standard ML";
+    longDescription = ''
+      Alice ML is a functional programming language based on Standard ML,
+      extended with rich support for concurrent, distributed, and constraint
+      programming.
+    '';
+    homepage = http://www.ps.uni-saarland.de/alice/;
+    license = "BSD";
+  };
+}
diff --git a/pkgs/development/compilers/ats/default.nix b/pkgs/development/compilers/ats/default.nix
new file mode 100644
index 00000000000..6f15c0599ef
--- /dev/null
+++ b/pkgs/development/compilers/ats/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, gmp }:
+
+stdenv.mkDerivation rec {
+  name    = "ats-${version}";
+  version = "0.2.11";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ats-lang/ats-lang-anairiats-${version}.tgz";
+    sha256 = "0rqykyx5whichx85jr4l4c9fdan0qsdd4kwd7a81k3l07zbd9fc6";
+  };
+
+  # this is necessary because atxt files usually include some .hats files
+  patches = [ ./install-atsdoc-hats-files.patch ];
+  buildInputs = [ gmp ];
+
+  meta = {
+    description = "Functional programming language with dependent types";
+    homepage    = "http://www.ats-lang.org";
+    license     = stdenv.lib.licenses.gpl3Plus;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/compilers/ats/install-atsdoc-hats-files.patch b/pkgs/development/compilers/ats/install-atsdoc-hats-files.patch
new file mode 100644
index 00000000000..93c6fa07d8a
--- /dev/null
+++ b/pkgs/development/compilers/ats/install-atsdoc-hats-files.patch
@@ -0,0 +1,38 @@
+--- ats-lang-anairiats-0.2.11/Makefile	2013-12-10 00:43:52.000000000 +0100
++++ ats-lang-anairiats-0.2.11/Makefile	2014-03-02 07:49:06.985837425 +0100
+@@ -97,7 +97,7 @@
+ 	cd $(abs_top_srcdir)
+ 	[ -d $(bindir2) ] || $(MKDIR_P) $(bindir2)
+ 	$(MKDIR_P) $(ATSLIBHOME2)/bin
+-	find ccomp contrib doc libats libc prelude -type d \
++	find ccomp contrib doc libats libatsdoc libc prelude -type d \
+ 	  -exec $(MKDIR_P) $(ATSLIBHOME2)/\{} \; \
+ 	  -print
+ 
+@@ -105,7 +105,7 @@
+ #
+ # recursively install all files in the list except .svn control files.
+ #
+-	for d in ccomp/runtime contrib doc libats libc prelude; do \
++	for d in ccomp/runtime contrib doc libats libatsdoc libc prelude; do \
+ 	  cd $(abs_top_srcdir) && \
+ 	  $(INSTALL) -d $(ATSLIBHOME2)/"$$d" && \
+ 	  find "$$d" -name .svn -prune -o -type f \
+@@ -143,6 +143,17 @@
+ 	  $(INSTALL) -m 755 ats_env.sh $(bindir2)/"$$b" && \
+ 	  echo [ats_env.sh] is installed into $(bindir2)/"$$b"; \
+ 	done
++#
++# install atsdoc headers
++#
++	for f in \
++	    utils/atsdoc/SATS/*.sats utils/atsdoc/DATS/*.dats utils/atsdoc/HATS/*.hats; \
++	do \
++	  [ -f "$$f" ] || continue; \
++	  cd $(abs_top_srcdir) && \
++	  $(INSTALL) -m 644 -D "$$f" $(ATSLIBHOME2)/"$$f" && \
++	  echo "$$f"; \
++	done
+ 
+ install:: install_files
+ 
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 074fc4f334f..8c71138ab78 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, gmp }:
 
-let version = "0.0.3"; in stdenv.mkDerivation {
-  name = "ats2-postiats-${version}";
+stdenv.mkDerivation rec {
+  name    = "ats2-${version}";
+  version = "0.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "0hq63zrmm92j5ffnsmylhhllm8kgjpjkaj4xvzz1zlshz39lijxp";
+    sha256 = "0i7b9v7xki9j2jjjpydz0gl33af94b4jjmk75b9w20bs003v8vd4";
   };
 
   buildInputs = [ gmp ];
 
   meta = {
-    description = "A statically typed programming language that unifies implementation with formal specification";
-    homepage = http://www.ats-lang.org/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    description = "Functional programming language with dependent types";
+    homepage    = "http://www.ats-lang.org";
+    license     = stdenv.lib.licenses.gpl3Plus;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix
index b7dcb806b01..16dfa580a19 100644
--- a/pkgs/development/compilers/bigloo/default.nix
+++ b/pkgs/development/compilers/bigloo/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index deb93257df7..8fd99973cbc 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,18 +1,37 @@
 { stdenv, fetchurl }:
 
+let
+  version = "4.9.0.1";
+  platform = with stdenv;
+    if isDarwin then "macosx"
+    else if isCygwin then "cygwin"
+    else if isBSD then "bsd"
+    else if isSunOS then "solaris"
+    else "linux";               # Should be a sane default
+in
 stdenv.mkDerivation {
-  name = "chicken-4.8.1";
-
-  meta = {
-    homepage = http://www.call-cc.org/;
-    description = "Chicken Scheme";
-  };
+  name = "chicken-${version}";
 
   src = fetchurl {
-    url = http://code.call-cc.org/dev-snapshots/2013/01/04/chicken-4.8.1.tar.gz;
-    md5 = "bd758ec7abeaeb4f4c92c290fb5f3db7";
+    url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz";
+    sha256 = "0598mar1qswfd8hva9nqs88zjn02lzkqd8fzdd21dz1nki1prpq4";
   };
 
-  buildFlags = "PLATFORM=linux PREFIX=$(out) VARDIR=$(out)/var/lib";
-  installFlags = "PLATFORM=linux PREFIX=$(out) VARDIR=$(out)/var/lib";
+  buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+  installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+
+  meta = {
+    homepage = http://www.call-cc.org/;
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    platforms = with stdenv.lib.platforms; allBut darwin;
+    description = "A portable compiler for the Scheme programming language";
+    longDescription = ''
+      CHICKEN is a compiler for the Scheme programming language.
+      CHICKEN produces portable and efficient C, supports almost all
+      of the R5RS Scheme language standard, and includes many
+      enhancements and extensions. CHICKEN runs on Linux, MacOS X,
+      Windows, and many Unix flavours.
+    '';
+  };
 }
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 13c9f1c0350..428346b78b6 100644
--- a/pkgs/development/compilers/closure/default.nix
+++ b/pkgs/development/compilers/closure/default.nix
@@ -14,11 +14,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ gnutar ];
 
   installPhase = ''
-    mkdir -p $out/lib/java $out/bin
+    mkdir -p $out/share/java $out/bin
     tar -xzf $src
-    cp -r compiler.jar $out/lib/java/
+    cp -r compiler.jar $out/share/java/
     echo "#!${bash}/bin/bash" > $out/bin/closure-compiler
-    echo "${jre}/bin/java -jar $out/lib/java/compiler.jar \"\$@\"" >> $out/bin/closure-compiler
+    echo "${jre}/bin/java -jar $out/share/java/compiler.jar \"\$@\"" >> $out/bin/closure-compiler
     chmod +x $out/bin/closure-compiler
   '';
 
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
new file mode 100644
index 00000000000..0d8d8e3d6d7
--- /dev/null
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, coq, ocaml, ocamlPackages, gcc }:
+
+stdenv.mkDerivation rec {
+  name    = "compcert-${version}";
+  version = "2.3pl2";
+
+  src = fetchurl {
+    url    = "http://compcert.inria.fr/release/${name}.tgz";
+    sha256 = "1cq4my646ll1mszs5mbzwk4vp8l8qnsc96fpcv2pl35aw5i6jqm8";
+  };
+
+  buildInputs = [ coq ocaml ocamlPackages.menhir ];
+
+  enableParallelBuilding = true;
+  configurePhase = "./configure -prefix $out -toolprefix ${gcc}/bin/ " +
+    (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux");
+
+  meta = {
+    description = "Formally verified C compiler";
+    homepage    = "http://compcert.inria.fr";
+    license     = stdenv.lib.licenses.inria;
+    platforms   = stdenv.lib.platforms.linux ++
+                  stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice
+                    stdenv.lib.maintainers.jwiegley ];
+  };
+}
diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix
new file mode 100644
index 00000000000..4cf00ad3806
--- /dev/null
+++ b/pkgs/development/compilers/cryptol/1.8.x.nix
@@ -0,0 +1,117 @@
+{ stdenv, requireFile, gmp4, ncurses, zlib, clang_33, makeWrapper }:
+
+let
+  name    = "cryptol-${version}-${rev}";
+  version = "1.8.27";
+  rev     = "1";
+  lss-ver = "lss-0.2d";
+  jss-ver = "jss-0.4";
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.libc
+      stdenv.gcc.gcc
+      gmp4
+      ncurses
+      zlib
+    ] + ":${stdenv.gcc.gcc}/lib64";
+
+  cryptol-bin =
+    if stdenv.system == "i686-linux"
+    then requireFile {
+      url    = "http://cryptol.net";
+      name   = "${name}-i386-centos6-linux.tar.gz";
+      sha256 = "131jkj3nh29rwwq5w5sfdf5jrb3c7ayjp4709v1zh84q4d6b35nf";
+    }
+    else requireFile {
+      url    = "http://cryptol.net";
+      name   = "${name}-x86_64-centos6-linux.tar.gz";
+      sha256 = "1dmkns8s6r2d6pvh176w8k3891frik6hmcr2ibghk4l6qr6gwarx";
+    };
+
+  lss-bin =
+    if stdenv.system == "i686-linux"
+    then requireFile {
+      url    = "http://cryptol.net";
+      name   = "${lss-ver}-centos6-32.tar.gz";
+      sha256 = "015ssw3v523wwzkma0qbpj3jnyzckab5q00ypdz0gr3kjcxn5rxg";
+    }
+    else requireFile {
+      url    = "http://cryptol.net";
+      name   = "${lss-ver}-centos6-64.tar.gz";
+      sha256 = "1zjy4xi8v3m6g8ydm9q6dgzg5xn0xc3a4zsll5plbhngprgwxcxm";
+    };
+
+  jss-bin =
+    if stdenv.system == "i686-linux"
+    then requireFile {
+      url    = "http://cryptol.net";
+      name   = "${jss-ver}-centos5-32.tar.gz";
+      sha256 = "1rlj14fbh9k3yvals8jsarczwl51fh6zjaic0pnhpc9s4p0pnjbr";
+    }
+    else requireFile {
+      url    = "http://cryptol.net";
+      name   = "${jss-ver}-centos5-64.tar.gz";
+      sha256 = "0smarm2pi3jz4c8jas9gwcbghc6vc375vrwxbdj1mqx4awlhnz1n";
+    };
+
+in
+stdenv.mkDerivation rec {
+  inherit name version cryptol-bin jss-bin lss-bin;
+
+  src = [ cryptol-bin lss-bin jss-bin ];
+  buildInputs = [ makeWrapper ];
+
+  unpackPhase = ''
+    tar xf ${cryptol-bin}
+    tar xf ${lss-bin}
+    tar xf ${jss-bin}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share $out/libexec
+
+    # Move Cryptol
+    mv cryptol-${version}/bin $out
+    mv cryptol-${version}/lib $out
+    mv cryptol-${version}/man $out/share
+    rm -f $out/bin/cryptol-2
+
+    # Move JSS
+    # Create a wrapper for jss to keep the .jar out of the way
+    mv ${jss-ver}/bin/jss $out/libexec
+    mv ${jss-ver}/bin/galois.jar $out/libexec
+    makeWrapper $out/libexec/jss $out/bin/jss --run "cd $out/libexec"
+    mv ${jss-ver}/doc/jss.1 $out/share/man/man1
+
+    # Move LSS
+    mv ${lss-ver}/bin/lss $out/bin
+    mv ${lss-ver}/sym-api $out/include
+
+    # Create a convenient 'lss-clang' wrapper pointing to a valid Clang verison
+    ln -s ${clang_33}/bin/clang $out/bin/lss-clang
+
+    # Hack around lack of libtinfo in NixOS
+    ln -s ${ncurses}/lib/libncursesw.so.5.9 $out/lib/libtinfo.so.5
+    ln -s ${stdenv.gcc.libc}/lib/libpthread-2.19.so $out/lib/libpthread.so.0
+  '';
+
+  fixupPhase = ''
+    for x in bin/cryptol bin/edif2verilog bin/copy-iverilog bin/symbolic_netlist bin/jaig bin/vvp-galois bin/lss libexec/jss; do
+      patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath "$out/lib:${libPath}" $out/$x
+      patchelf --shrink-rpath $out/$x
+    done
+  '';
+
+  phases = "unpackPhase installPhase fixupPhase";
+
+  meta = {
+    description = "Cryptol: The Language of Cryptography";
+    homepage    = "https://cryptol.net";
+    license     = stdenv.lib.licenses.unfree;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
+  };
+}
diff --git a/pkgs/development/compilers/cryptol/2.0.x.nix b/pkgs/development/compilers/cryptol/2.0.x.nix
new file mode 100644
index 00000000000..753dfb4f318
--- /dev/null
+++ b/pkgs/development/compilers/cryptol/2.0.x.nix
@@ -0,0 +1,31 @@
+{ cabal, cabalInstall, Cabal, alex, ansiTerminal, deepseq, executablePath
+, filepath, graphSCC, happy, haskeline, monadLib, mtl, presburger, QuickCheck
+, random, smtLib, syb, text, transformers, utf8String, process, fetchgit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cryptol";
+  version = "2.0.0";
+  src = fetchgit {
+    url    = "https://github.com/GaloisInc/cryptol.git";
+    rev    = "refs/tags/v2.0.0";
+    sha256 = "6af3499d7c6f034446f6665660f7a66dd592e81281e34b0cee3e55bc03597e6b";
+  };
+  isLibrary = true;
+  isExecutable = true;
+
+  patches = [ ./fix-gitrev.patch ];
+  buildDepends = [
+    ansiTerminal deepseq executablePath filepath graphSCC haskeline
+    monadLib mtl presburger QuickCheck random smtLib syb text
+    transformers utf8String process Cabal
+  ];
+  buildTools = [ alex happy cabalInstall ];
+  meta = {
+    description = "Cryptol: The Language of Cryptography";
+    homepage    = "https://cryptol.net";
+    license     = self.stdenv.lib.licenses.bsd3;
+    platforms   = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
+  };
+})
diff --git a/pkgs/development/compilers/cryptol/fix-gitrev.patch b/pkgs/development/compilers/cryptol/fix-gitrev.patch
new file mode 100644
index 00000000000..ab9a789baf2
--- /dev/null
+++ b/pkgs/development/compilers/cryptol/fix-gitrev.patch
@@ -0,0 +1,44 @@
+From 3ceec293f8e68314d872909b7de1d4a2c3ecba49 Mon Sep 17 00:00:00 2001
+From: Austin Seipp <aseipp@pobox.com>
+Date: Fri, 25 Apr 2014 00:24:39 -0500
+Subject: [PATCH] Add GitRev.hs to signify v2.0.0 release
+
+Signed-off-by: Austin Seipp <aseipp@pobox.com>
+---
+ cryptol.cabal |  2 +-
+ src/GitRev.hs | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+ create mode 100644 src/GitRev.hs
+
+diff --git a/cryptol.cabal b/cryptol.cabal
+index 2ba6e56..9acd1ef 100644
+--- a/cryptol.cabal
++++ b/cryptol.cabal
+@@ -6,7 +6,7 @@ Author:              Galois, Inc.
+ Maintainer:          cryptol@galois.com
+ Copyright:           2013-2014 Galois Inc.
+ Category:            Language
+-Build-type:          Configure
++Build-type:          Simple
+ Cabal-version:       >= 1.18
+ 
+ data-files:          lib/Cryptol.cry
+diff --git a/src/GitRev.hs b/src/GitRev.hs
+new file mode 100644
+index 0000000..1c767dc
+--- /dev/null
++++ b/src/GitRev.hs
+@@ -0,0 +1,10 @@
++module GitRev (hash, branch, dirty) where
++
++hash :: String
++hash = "bd578915eaba8c56fadc29fe30f5dcd212c63374"
++
++branch :: String
++branch = "Unknown"
++
++dirty :: Bool
++dirty = False
+-- 
+1.8.3.2
+
diff --git a/pkgs/development/compilers/cudatoolkit/5.5.nix b/pkgs/development/compilers/cudatoolkit/5.5.nix
new file mode 100644
index 00000000000..99f0828012f
--- /dev/null
+++ b/pkgs/development/compilers/cudatoolkit/5.5.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
+, xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib
+} :
+
+stdenv.mkDerivation rec {
+  name = "cudatoolkit-5.5.22";
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run;
+        sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4";
+      }
+    else throw "cudatoolkit does not support platform ${stdenv.system}";
+
+  outputs = [ "out" "sdk" ];
+
+  buildInputs = [ perl ];
+
+  runtimeDependencies = [
+    ncurses expat python zlib
+    xlibs.libX11 xlibs.libXext xlibs.libXrender xlibs.libXt xlibs.libXtst xlibs.libXi xlibs.libXext
+    gtk2 glib fontconfig freetype unixODBC alsaLib
+  ];
+
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64";
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+    cd pkg/run_files
+    sh cuda-linux64-rel-5.5.22-16488124.run --keep --noexec
+    sh cuda-samples-linux-5.5.22-16488124.run --keep --noexec
+    cd pkg
+  '';
+
+  buildPhase = ''
+    find . -type f -executable -exec patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      '{}' \; || true
+    find . -type f -exec patchelf \
+      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+      --force-rpath \
+      '{}' \; || true
+  '';
+
+  installPhase = ''
+    mkdir $out $sdk
+    perl ./install-linux.pl --prefix="$out"
+    rm $out/tools/CUDA_Occupancy_Calculator.xls
+    perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out"
+  '';
+
+  meta = {
+    license = [ "nonfree" ];
+  };
+}
diff --git a/pkgs/development/compilers/cudatoolkit/6.0.nix b/pkgs/development/compilers/cudatoolkit/6.0.nix
new file mode 100644
index 00000000000..573cc826221
--- /dev/null
+++ b/pkgs/development/compilers/cudatoolkit/6.0.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
+, xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib
+} :
+
+stdenv.mkDerivation rec {
+  name = "cudatoolkit-6.0.37";
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run;
+        sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
+      }
+    else throw "cudatoolkit does not support platform ${stdenv.system}";
+
+  outputs = [ "out" "sdk" ];
+
+  buildInputs = [ perl ];
+
+  runtimeDependencies = [
+    ncurses expat python zlib
+    xlibs.libX11 xlibs.libXext xlibs.libXrender xlibs.libXt xlibs.libXtst xlibs.libXi xlibs.libXext
+    gtk2 glib fontconfig freetype unixODBC alsaLib
+  ];
+
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64";
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+    cd pkg/run_files
+    sh cuda-linux64-rel-6.0.37-18176142.run --keep --noexec
+    sh cuda-samples-linux-6.0.37-18176142.run --keep --noexec
+    cd pkg
+  '';
+
+  buildPhase = ''
+    find . -type f -executable -exec patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      '{}' \; || true
+    find . -type f -exec patchelf \
+      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+      --force-rpath \
+      '{}' \; || true
+  '';
+
+  installPhase = ''
+    mkdir $out $sdk
+    perl ./install-linux.pl --prefix="$out"
+    rm $out/tools/CUDA_Occupancy_Calculator.xls
+    perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out"
+  '';
+
+  meta = {
+    license = [ "nonfree" ];
+  };
+}
+
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
deleted file mode 100644
index f68f918d585..00000000000
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
-, xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib
-} :
-
-stdenv.mkDerivation rec {
-  name = "cudatoolkit-5.5.22";
-
-  dontPatchELF = true;
-  dontStrip = true;
-
-  src =
-    if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run;
-        sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4";
-      }
-    else throw "cudatoolkit does not support platform ${stdenv.system}";
-
-  buildInputs = [ perl ];
-
-  runtimeDependencies = [
-    ncurses expat python zlib
-    xlibs.libX11 xlibs.libXext xlibs.libXrender xlibs.libXt xlibs.libXtst xlibs.libXi xlibs.libXext
-    gtk2 glib fontconfig freetype unixODBC alsaLib
-  ];
-
-  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64";
-
-  unpackPhase = ''
-    sh $src --keep --noexec
-    cd pkg/run_files
-    sh cuda-linux64-rel-5.5.22-16488124.run --keep --noexec
-    cd pkg
-  '';
-
-  buildPhase = ''
-    find . -type f -executable -exec patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      '{}' \; || true
-    find . -type f -exec patchelf \
-      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
-      --force-rpath \
-      '{}' \; || true
-  '';
-
-  installPhase = ''
-    mkdir $out
-    perl ./install-linux.pl --prefix="$out"
-  '';
-
-  meta = {
-    license = [ "nonfree" ];
-  };
-}
diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix
index 539588ac3ad..f37dae80830 100644
--- a/pkgs/development/compilers/dev86/default.nix
+++ b/pkgs/development/compilers/dev86/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "dev86-0.16.19";
-  
+
   src = fetchurl {
     url = http://www.debath.co.uk/dev86/Dev86src-0.16.19.tar.gz;
     sha256 = "33398b87ca85e2b69e4062cf59f2f7354af46da5edcba036c6f97bae17b8d00e";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     ''
       substituteInPlace makefile.in --replace "-O2" "" --replace "-O" ""
     '';
-      
+
   meta = {
     description = "Linux 8086 development environment";
     homepage = http://www.debath.co.uk/;
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
new file mode 100644
index 00000000000..96a3d2abfc6
--- /dev/null
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, gcc, unzip, curl }:
+
+stdenv.mkDerivation {
+  name = "dmd-2.064.2";
+
+  src = fetchurl {
+    url = http://downloads.dlang.org/releases/2013/dmd.2.064.2.zip;
+    sha256 = "1i0jdybigffwyb7c43j0c4aayxx3b93zzqrjxyw6zgp06yhi06pm";
+  };
+
+  buildInputs = [ gcc unzip curl ];
+
+  configurePhase = "";
+  patchPhase = ''
+      cp src/VERSION src/dmd/
+      cp license.txt src/phobos/LICENSE_1_0.txt
+  '';
+  buildPhase = ''
+      cd src/dmd
+      make -f posix.mak INSTALL_DIR=$out
+      export DMD=$PWD/dmd
+      cd ../druntime 
+      make -f posix.mak INSTALL_DIR=$out DMD=$DMD
+      cd ../phobos
+      make -f posix.mak INSTALL_DIR=$out DMD=$DMD
+      cd ../..
+  '';
+
+  installPhase = ''
+      cd src/dmd
+      tee dmd.conf.default << EOF
+          [Environment]
+          DFLAGS=-I$out/import -L-L$out/lib
+      EOF
+
+      make -f posix.mak INSTALL_DIR=$out install
+      export DMD=$PWD/dmd
+      cd ../druntime 
+      make -f posix.mak INSTALL_DIR=$out install
+      cd ../phobos
+      make -f posix.mak INSTALL_DIR=$out install
+      cd ../..
+  '';
+
+  meta = {
+    description = "D language compiler";
+    homepage = http://dlang.org/;
+    license = "open source, see included files";
+    maintainers = with stdenv.lib.maintainers; [ vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 3c2a4f779fd..9787d0da929 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -10,12 +10,12 @@ else
   throw "Unsupported architecture";
 
 edk2 = stdenv.mkDerivation {
-  name = "edk2-2013-10-09";
+  name = "edk2-2014-02-01";
   
   src = fetchgit {
     url = git://github.com/tianocore/edk2;
-    rev = "5bcb62a4098c9bde9be6af0833a025adc768e08d";
-    sha256 = "3e2958877061bf6bbfb28b150743d7244486929c1c320bdb1ff2586774aa042a";
+    rev = "2818c158de6a164d012e6afb0fc145656aed4e4b";
+    sha256 = "a756b5de3a3e71d82ce1de8c7832bc69d2affb98d704894b26540571f9f5e214";
   };
 
   buildInputs = [ libuuid pythonFull ];
@@ -47,10 +47,10 @@ edk2 = stdenv.mkDerivation {
       configurePhase = ''
         mkdir -v Conf
         sed -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' -e \
-          's|MYTOOLS|GCC46|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\
+          's|MYTOOLS|GCC48|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\
           < ${edk2}/BaseTools/Conf/target.template > Conf/target.txt
-        sed -e 's|DEFINE GCC46_IA32_PREFIX       = /usr/bin/|DEFINE GCC46_IA32_PREFIX       = ""|' \
-          -e 's|DEFINE GCC46_X64_PREFIX        = /usr/bin/|DEFINE GCC46_X64_PREFIX        = ""|' \
+        sed -e 's|DEFINE GCC48_IA32_PREFIX       = /usr/bin/|DEFINE GCC48_IA32_PREFIX       = ""|' \
+          -e 's|DEFINE GCC48_X64_PREFIX        = /usr/bin/|DEFINE GCC48_X64_PREFIX        = ""|' \
           -e 's|DEFINE UNIX_IASL_BIN           = /usr/bin/iasl|DEFINE UNIX_IASL_BIN           = ${iasl}/bin/iasl|' \
           < ${edk2}/BaseTools/Conf/tools_def.template > Conf/tools_def.txt
         export WORKSPACE="$PWD"
diff --git a/pkgs/development/compilers/elm/elm-server.nix b/pkgs/development/compilers/elm/elm-server.nix
index 56924d589f4..264c75ee7af 100644
--- a/pkgs/development/compilers/elm/elm-server.nix
+++ b/pkgs/development/compilers/elm/elm-server.nix
@@ -1,21 +1,22 @@
-{ cabal, blazeHtml, deepseq, Elm, filepath, happstackServer, HTTP
-, mtl, parsec, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, Elm, filepath, mtl, snapCore, snapServer
+, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "elm-server";
-  version = "0.9.0.2";
-  sha256 = "0g362llb7jkwz8xhyhhsc8hz0vj7s7bgfz1az5qfh1cm4h8nynwr";
+  version = "0.11.0.1";
+  sha256 = "0nnkhmmm4cl6a314xxh5qwxkjsc3k3vcwdfar62578ykarxb53g1";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    blazeHtml deepseq Elm filepath happstackServer HTTP mtl parsec
-    transformers
+    cmdargs Elm filepath mtl snapCore snapServer unorderedContainers
   ];
   jailbreak = true;
   meta = {
     homepage = "http://elm-lang.org";
-    description = "The Elm language server";
+    description = "Server for developing Elm projects";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
index c9e9fb9e14b..622f182e8c5 100644
--- a/pkgs/development/compilers/elm/elm.nix
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -1,21 +1,33 @@
 { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup
-, cmdargs, filepath, HTF, indents, languageEcmascript, mtl, pandoc
-, parsec, text, transformers, unionFind, uniplate
+, cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript
+, languageGlsl, mtl, pandoc, parsec, QuickCheck, scientific
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, transformers, unionFind, unorderedContainers, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "Elm";
-  version = "0.10.0.1";
-  sha256 = "1r7z2fw9v6ngr9w4lmj1l6sc78rmxvqkqlxv4a9yc5jm80k3ar0i";
+  version = "0.12.3";
+  sha256 = "1v6h9qbbz27ikh19xwjbyfw0zi5ag9x1gp0khh9v4af1g0j86320";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath
-    indents languageEcmascript mtl pandoc parsec text transformers
-    unionFind uniplate
+    indents languageEcmascript languageGlsl mtl pandoc parsec
+    scientific text transformers unionFind unorderedContainers yaml
+  ];
+  testDepends = [
+    aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip
+    filepath HUnit indents languageEcmascript languageGlsl mtl pandoc
+    parsec QuickCheck scientific testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text transformers unionFind
+    unorderedContainers yaml
   ];
-  testDepends = [ HTF ];
   doCheck = false;
+  preConfigure = ''
+    rm -f Setup.hs
+    echo -e "import Distribution.Simple\nmain=defaultMain\n" > Setup.hs
+  '';
   meta = {
     homepage = "http://elm-lang.org";
     description = "The Elm language module";
diff --git a/pkgs/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index 1767a61a7d1..6ea377387ec 100644
--- a/pkgs/development/compilers/epic/default.nix
+++ b/pkgs/development/compilers/epic/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, boehmgc, Cabal, gmp, happy, mtl }:
 
 cabal.mkDerivation (self: {
@@ -14,6 +16,7 @@ cabal.mkDerivation (self: {
     description = "Compiler for a simple functional language";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/compilers/flapjax/default.nix b/pkgs/development/compilers/flapjax/default.nix
deleted file mode 100644
index 5167bf7d795..00000000000
--- a/pkgs/development/compilers/flapjax/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{cabal, fetchurl, unzip, xhtml, WebBits, WebBitsHtml, JsContracts}:
-
-cabal.mkDerivation ( self: {
-  pname = "flapjax";
-  version = "2.1";
-
-  src = fetchurl {
-    url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
-    name = "flapjax-2.1.zip";
-    sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
-  };
-
-  # The Makefile copies some files to update the flapjax website into
-  # missing directories; the -p is to avoid these errors.
-  preConfigure = ''
-    cd fx
-    sed -i 's/mkdir/mkdir -p/' Makefile
-    make
-    cd ../compiler
-  '';
-
-  extraBuildInputs = [ unzip JsContracts ];
-  propagatedBuildInputs = [ xhtml WebBits WebBitsHtml ];
-
-  meta = { 
-      description = "programming language designed around the demands of modern, client-based Web applications";
-      homepage = http://www.flapjax-lang.org/;
-      license = "BSD";
-  };
-})
diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix
index bb9c6d75d44..99e893c79d1 100644
--- a/pkgs/development/compilers/fsharp/default.nix
+++ b/pkgs/development/compilers/fsharp/default.nix
@@ -1,18 +1,29 @@
-{ stdenv, fetchurl, mono, unzip, pkgconfig
- } :
+{ stdenv, fetchurl, mono, pkgconfig, autoconf, automake, which }:
+
 stdenv.mkDerivation rec {
-  pname = "fsharp";
-  date = "2011-08-10";
-  name = "${pname}-${date}";
+  name = "fsharp-${version}";
+  version = "3.1.1.25";
 
   src = fetchurl {
-    url = "http://download.mono-project.com/sources/fsharp/fsharp-cc126f2.zip";
-    sha256 = "03j2ypnfddl2zpvg8ivhafjy8dlz49b38rdy89l8c3irxdsb7k6i";
+    url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
+    sha256 = "1vrgw7qk4g78mjjapc1a1frribcgya4cdrwahv3i26z9s10g5h3d";
   };
 
-  buildInputs = [mono unzip pkgconfig];
+  buildInputs = [ mono pkgconfig autoconf automake which ];
+  configurePhase = ''
+    substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh"
+    ./autogen.sh --prefix $out
+  '';
 
-  sourceRoot = "fsharp";
+  # Make sure the executables use the right mono binary,
+  # and set up some symlinks for backwards compatibility.
+  postInstall = ''
+    substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono "
+    substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono "
+    substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono "
+    ln -s $out/bin/fsharpc $out/bin/fsc
+    ln -s $out/bin/fsharpi $out/bin/fsi
+  '';
 
   # To fix this error when running:
   # The file "/nix/store/path/whatever.exe" is an not a valid CIL image
@@ -20,9 +31,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A functional CLI language";
-    homepage = "http://tryfsharp.org/";
+    homepage = "http://fsharp.org/";
     license = stdenv.lib.licenses.asl20;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
new file mode 100644
index 00000000000..62e08d1fa7c
--- /dev/null
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256 }:
+with stdenv.lib;
+let
+  versionParts = splitString "-" version; # 4.7 2013q3 20130916
+  majorVersion = elemAt versionParts 0; # 4.7
+  yearQuarter = elemAt versionParts 1; # 2013q3
+  underscoreVersion = replaceChars ["."] ["_"] version; # 4_7-2013q3-20130916
+  yearQuarterParts = splitString "q" yearQuarter; # 2013 3
+  year = elemAt yearQuarterParts 0; # 2013
+  quarter = elemAt yearQuarterParts 1; # 3
+  subdirName = "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
+in
+stdenv.mkDerivation {
+  name = "gcc-arm-embedded-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/gcc-arm-embedded/${majorVersion}/${subdirName}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
+    sha256 = sha256;
+  };
+
+  buildInputs = [ bzip2 patchelf ];
+ 
+  dontPatchELF = true;
+  
+  phases = "unpackPhase patchPhase installPhase";
+  
+  installPhase = ''
+    mkdir -pv $out
+    cp -r ./* $out
+
+    for f in $(find $out); do
+      if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
+        patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
+                 --set-rpath $out/lib:${gcc}/lib \
+                 "$f" || true
+      fi
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7)";
+    homepage = "https://launchpad.net/gcc-arm-embedded";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
index 011086164ad..b2444ebb9bf 100644
--- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix
+++ b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
@@ -12,7 +12,7 @@ let
   revision = "5666.3";  # Apple's fork revision number.
 in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "gcc-apple-${version}.${revision}";
 
   builder = ./builder.sh;
@@ -33,8 +33,10 @@ stdenv.mkDerivation {
 
   sourceRoot = "gcc-${revision}/";
 
+  # The floor_log2_patch is from a Gentoo fix for the same issue:
+  #   https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff
   patches =
-    [ ./pass-cxxcpp.patch ]
+    [ ./pass-cxxcpp.patch ./floor_log2_patch.diff ]
     ++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch
     ++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch;
 
@@ -42,4 +44,6 @@ stdenv.mkDerivation {
   langC = true;
 
   buildInputs = stdenv.lib.optionals langF77 [ gmp mpfr bison flex ];
+
+  #meta.broken = true;
 }
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch
index e7b8a55a29a..5a417f8151b 100644
--- a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch
+++ b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch
@@ -3,6 +3,9 @@ Prevent our libstdc++.dylib from having a runtime dependency on
 passed by g++ when it links libstdc++.dylib.  Adding "-nostdlib" to
 the g++ invocation prevents this.
 
+jww (2014-06-21): I've added several more patches to this, for building on
+Mavericks.
+
 diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in
 --- x/libstdcxx/libstdc++-v3/src/Makefile.in	2006-10-16 21:08:22.000000000 +0200
 +++ y/libstdcxx/libstdc++-v3/src/Makefile.in	2012-02-17 18:44:05.210570590 +0100
@@ -15,3 +18,54 @@ diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstd
  
  
  # Use special rules for the deprecated source files so that they find
+--- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
++++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
+@@ -38,7 +38,7 @@
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+-#include "unwind.h"
++#include "unwind-generic.h"
+ 
+ #pragma GCC visibility push(default)
+ 
+@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid ();
+ // throws, and if bad_exception needs to be thrown.  Called from the
+ // compiler.
+ extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
+-extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn));
++extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header);
+ 
+ #ifdef __ARM_EABI_UNWINDER__
+ // Arm EABI specified routines.
+--- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
++++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
+@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+    */
+   class free_list
+   {
++  public:
+     typedef size_t* 				value_type;
+     typedef __detail::__mini_vector<value_type> vector_type;
+     typedef vector_type::iterator 		iterator;
+--- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
++++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
+@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+     {
+       size_t __old_len = __r->_M_size;
+       _CharT* __new_data = (_CharT*)
+-	_Data_allocate(_S_rounded_up_size(__old_len + __len));
++	_Base::_Data_allocate(_S_rounded_up_size(__old_len + __len));
+       _RopeLeaf* __result;
+ 
+       uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
+@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+ 	    if (__result_len > __lazy_threshold)
+ 	      goto lazy;
+ 	    __section = (_CharT*)
+-	      _Data_allocate(_S_rounded_up_size(__result_len));
++	      _Base::_Data_allocate(_S_rounded_up_size(__result_len));
+ 	    try
+ 	      {	(*(__f->_M_fn))(__start, __result_len, __section); }
+ 	    catch(...)
+
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff
new file mode 100644
index 00000000000..f37e6c4990e
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff
@@ -0,0 +1,62 @@
+--- gcc-5666.3/gcc/toplev.h
++++ gcc-5666.3/gcc/toplev.h
+@@ -151,6 +151,8 @@ 
+ /* Return true iff flags are set as if -ffast-math.  */
+ extern bool fast_math_flags_set_p	(void);
+ 
++#if GCC_VERSION < 3004
++
+ /* Return log2, or -1 if not exact.  */
+ extern int exact_log2                  (unsigned HOST_WIDE_INT);
+ 
+@@ -158,7 +160,7 @@ 
+ extern int floor_log2                  (unsigned HOST_WIDE_INT);
+ 
+ /* Inline versions of the above for speed.  */
+-#if GCC_VERSION >= 3004
++#else /* GCC_VERSION < 3004 */
+ # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
+ #  define CLZ_HWI __builtin_clzl
+ #  define CTZ_HWI __builtin_ctzl
+@@ -172,18 +172,18 @@ 
+ #  define CTZ_HWI __builtin_ctz
+ # endif
+ 
+-extern inline int
++static inline int
+ floor_log2 (unsigned HOST_WIDE_INT x)
+ {
+   return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
+ }
+ 
+-extern inline int
++static inline int
+ exact_log2 (unsigned HOST_WIDE_INT x)
+ {
+   return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
+ }
+-#endif /* GCC_VERSION >= 3004 */
++#endif /* GCC_VERSION < 3004 */
+ 
+ /* Functions used to get and set GCC's notion of in what directory
+    compilation was started.  */
+--- gcc-5666.3/gcc/toplev.c
++++ gcc-5666.3/gcc/toplev.c
+@@ -555,7 +555,7 @@ 
+    for floor_log2 and exact_log2; see toplev.h.  That construct, however,
+    conflicts with the ISO C++ One Definition Rule.   */
+ 
+-#if GCC_VERSION < 3004 || !defined (__cplusplus)
++#if GCC_VERSION < 3004
+ 
+ /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
+    If X is 0, return -1.  */
+@@ -607,7 +607,7 @@ 
+ #endif
+ }
+ 
+-#endif /*  GCC_VERSION < 3004 || !defined (__cplusplus)  */
++#endif /*  GCC_VERSION < 3004 */
+ 
+ /* Handler for fatal signals, such as SIGSEGV.  These are transformed
+    into ICE messages, which is much more user friendly.  In case the
diff --git a/pkgs/development/compilers/gcc/4.2/builder.sh b/pkgs/development/compilers/gcc/4.2/builder.sh
deleted file mode 100644
index d749fc08d2a..00000000000
--- a/pkgs/development/compilers/gcc/4.2/builder.sh
+++ /dev/null
@@ -1,96 +0,0 @@
-source $stdenv/setup
-
-
-export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
-mkdir $NIX_FIXINC_DUMMY
-
-
-# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
-# Thing.
-export CPP="gcc -E"
-
-
-if test "$noSysDirs" = "1"; then
-
-    if test -e $NIX_GCC/nix-support/orig-libc; then
-
-        # Figure out what extra flags to pass to the gcc compilers
-        # being generated to make sure that they use our glibc.
-        extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
-
-        # Use *real* header files, otherwise a limits.h is generated
-        # that does not include Glibc's limits.h (notably missing
-        # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
-        
-    else
-        # Hack: support impure environments.
-        extraCFlags="-isystem /usr/include"
-        extraLDFlags="-L/usr/lib64 -L/usr/lib"
-        export NIX_FIXINC_DUMMY=/usr/include
-    fi
-
-    extraCFlags="-g0 $extraCFlags"
-    extraLDFlags="--strip-debug $extraLDFlags"
-
-    export NIX_EXTRA_CFLAGS=$extraCFlags
-    for i in $extraLDFlags; do
-        export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i"
-    done
-
-    makeFlagsArray=( \
-        "${makeFlagsArray[@]}" \
-        NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
-        SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
-        LIMITS_H_TEST=true \
-        X_CFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
-        LDFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
-        LDFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
-        )
-fi
-
-
-preConfigure() {
-    # Perform the build in a different directory.
-    mkdir ../build
-    cd ../build
-    configureScript=../$sourceRoot/configure
-}
-
-
-postInstall() {
-    # Remove precompiled headers for now.  They are very big and
-    # probably not very useful yet.
-    find $out/include -name "*.gch" -exec rm -rf {} \; -prune
-
-    # Remove `fixincl' to prevent a retained dependency on the
-    # previous gcc.
-    rm -rf $out/libexec/gcc/*/*/install-tools
-    rm -rf $out/lib/gcc/*/*/install-tools
-
-    # Get rid of some "fixed" header files
-    rm -rf $out/lib/gcc/*/*/include/root
-
-    # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
-    for i in $out/bin/*-gcc*; do
-        if cmp -s $out/bin/gcc $i; then
-            ln -sfn gcc $i
-        fi
-    done
-
-    for i in $out/bin/*-c++* $out/bin/*-g++*; do
-        if cmp -s $out/bin/g++ $i; then
-            ln -sfn g++ $i
-        fi
-    done
-}
-
-
-if test -z "$profiledCompiler"; then
-    buildFlags="bootstrap $buildFlags"
-else    
-    buildFlags="profiledbootstrap $buildFlags"
-fi
-
-genericBuild
diff --git a/pkgs/development/compilers/gcc/4.2/default.nix b/pkgs/development/compilers/gcc/4.2/default.nix
deleted file mode 100644
index 68a174cc579..00000000000
--- a/pkgs/development/compilers/gcc/4.2/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ stdenv, fetchurl, noSysDirs
-, langC ? true, langCC ? true, langFortran ? false
-, profiledCompiler ? false
-, staticCompiler ? false
-, gmp ? null
-, mpfr ? null
-, texinfo ? null
-, name ? "gcc"
-}:
-
-with stdenv.lib;
-
-let version = "4.2.4"; in
-
-stdenv.mkDerivation {
-  name = "${name}-${version}";
-  
-  builder = ./builder.sh;
-  
-  src =
-    optional /*langC*/ true (fetchurl {
-      url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.bz2";
-      sha256 = "0cm5yzhqhgdfk03aayakmdj793sya42xkkqhslj7s2b697hygjfg";
-    }) ++
-    optional langCC (fetchurl {
-      url = "mirror://gnu/gcc/gcc-${version}/gcc-g++-${version}.tar.bz2";
-      sha256 = "0gq8ikci0qqgck71qqlhfld6zkwn9179x6z15vdd9blkdig55nxg";
-    }) ++
-    optional langFortran (fetchurl {
-      url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2";
-      sha256 = "013yqiqhdavgxzjryvylgf3lcnknmw89fx41jf2v4899srn0bhkg";
-    });
-    
-  patches =
-    [./pass-cxxcpp.patch]
-    ++ optional noSysDirs [./no-sys-dirs.patch];
-    
-  inherit noSysDirs profiledCompiler staticCompiler;
-
-  buildInputs = [gmp mpfr texinfo];
-
-  configureFlags = "
-    --disable-multilib
-    --disable-libstdcxx-pch
-    --with-system-zlib
-    --enable-languages=${
-      concatStrings (intersperse ","
-        (  optional langC       "c"
-        ++ optional langCC      "c++"
-        ++ optional langFortran "fortran"
-        )
-      )
-    }
-    ${if stdenv.isi686 then "--with-arch=i686" else ""}
-  ";
-
-  NIX_EXTRA_LDFLAGS = if staticCompiler then "-static" else "";
-
-  passthru = { inherit langC langCC langFortran; };
-
-  meta = {
-    homepage = "http://gcc.gnu.org/";
-    license = "GPL/LGPL";
-    description = "GNU Compiler Collection, 4.2.x";
-  };
-}
diff --git a/pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch
deleted file mode 100644
index f1d429e274a..00000000000
--- a/pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-diff -rc gcc-4.2.0-orig/Makefile.in gcc-4.2.0/Makefile.in
-*** gcc-4.2.0-orig/Makefile.in	2006-12-29 18:47:06.000000000 +0100
---- gcc-4.2.0/Makefile.in	2007-05-20 21:06:42.000000000 +0200
-***************
-*** 364,369 ****
---- 364,377 ----
-  @host_makefile_frag@
-  ###
-  
-+ CFLAGS += $(NIX_EXTRA_CFLAGS)
-+ CPPFLAGS_FOR_TARGET += $(NIX_EXTRA_CFLAGS)
-+ CXXFLAGS += $(NIX_EXTRA_CFLAGS)
-+ LDFLAGS += $(NIX_EXTRA_LDFLAGS)
-+ LDFLAGS_FOR_TARGET += $(NIX_EXTRA_LDFLAGS)
-+ BOOT_CFLAGS += $(NIX_EXTRA_CFLAGS)
-+ BOOT_LDFLAGS += $(NIX_EXTRA_LDFLAGS)
-+ 
-  # This is the list of directories that may be needed in RPATH_ENVVAR
-  # so that prorgams built for the target machine work.
-  TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(HOST_LIB_PATH_gcc)
-diff -rc gcc-4.2.0-orig/gcc/Makefile.in gcc-4.2.0/gcc/Makefile.in
-*** gcc-4.2.0-orig/gcc/Makefile.in	2007-03-12 05:40:09.000000000 +0100
---- gcc-4.2.0/gcc/Makefile.in	2007-05-20 19:35:13.000000000 +0200
-***************
-*** 396,402 ****
-  MD5_H	    = $(srcdir)/../include/md5.h
-  
-  # Default native SYSTEM_HEADER_DIR, to be overridden by targets.
-! NATIVE_SYSTEM_HEADER_DIR = /usr/include
-  # Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
-  CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
-  
---- 396,406 ----
-  MD5_H	    = $(srcdir)/../include/md5.h
-  
-  # Default native SYSTEM_HEADER_DIR, to be overridden by targets.
-! # Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent
-! # `fixinc' from fixing header files in /usr/include.  However,
-! # NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set
-! # it to some dummy directory.
-! NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY)
-  # Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
-  CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
-  
-***************
-*** 3066,3072 ****
-    -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-    -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
-    -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
-!   -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
-    -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
-    -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
-    @TARGET_SYSTEM_ROOT_DEFINE@
---- 3070,3076 ----
-    -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-    -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
-    -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
-!   -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \
-    -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
-    -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
-    @TARGET_SYSTEM_ROOT_DEFINE@
-diff -rc gcc-4.2.0-orig/gcc/cppdefault.c gcc-4.2.0/gcc/cppdefault.c
-*** gcc-4.2.0-orig/gcc/cppdefault.c	2006-01-20 22:00:03.000000000 +0100
---- gcc-4.2.0/gcc/cppdefault.c	2007-05-20 17:16:44.000000000 +0200
-***************
-*** 41,46 ****
---- 41,50 ----
-  # undef CROSS_INCLUDE_DIR
-  #endif
-  
-+ #undef LOCAL_INCLUDE_DIR
-+ #undef SYSTEM_INCLUDE_DIR
-+ #undef STANDARD_INCLUDE_DIR
-+ 
-  const struct default_include cpp_include_defaults[]
-  #ifdef INCLUDE_DEFAULTS
-  = INCLUDE_DEFAULTS;
-diff -rc gcc-4.2.0-orig/gcc/gcc.c gcc-4.2.0/gcc/gcc.c
-*** gcc-4.2.0-orig/gcc/gcc.c	2007-03-05 21:37:05.000000000 +0100
---- gcc-4.2.0/gcc/gcc.c	2007-05-20 17:49:48.000000000 +0200
-***************
-*** 1449,1458 ****
-  /* Default prefixes to attach to command names.  */
-  
-  #ifndef STANDARD_STARTFILE_PREFIX_1
-! #define STANDARD_STARTFILE_PREFIX_1 "/lib/"
-  #endif
-  #ifndef STANDARD_STARTFILE_PREFIX_2
-! #define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
-  #endif
-  
-  #ifdef CROSS_COMPILE  /* Don't use these prefixes for a cross compiler.  */
---- 1449,1458 ----
-  /* Default prefixes to attach to command names.  */
-  
-  #ifndef STANDARD_STARTFILE_PREFIX_1
-! #define STANDARD_STARTFILE_PREFIX_1 ""
-  #endif
-  #ifndef STANDARD_STARTFILE_PREFIX_2
-! #define STANDARD_STARTFILE_PREFIX_2 ""
-  #endif
-  
-  #ifdef CROSS_COMPILE  /* Don't use these prefixes for a cross compiler.  */
-***************
-*** 1473,1480 ****
-  #endif
-  
-  static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
-! static const char *const standard_exec_prefix_1 = "/usr/libexec/gcc/";
-! static const char *const standard_exec_prefix_2 = "/usr/lib/gcc/";
-  static const char *md_exec_prefix = MD_EXEC_PREFIX;
-  
-  static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
---- 1473,1480 ----
-  #endif
-  
-  static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
-! static const char *const standard_exec_prefix_1 = "/no-such-path/";
-! static const char *const standard_exec_prefix_2 = "/no-such-path/";
-  static const char *md_exec_prefix = MD_EXEC_PREFIX;
-  
-  static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
-diff -rc gcc-4.2.0-orig/ltconfig gcc-4.2.0/ltconfig
-*** gcc-4.2.0-orig/ltconfig	2007-02-14 18:08:35.000000000 +0100
---- gcc-4.2.0/ltconfig	2007-05-20 22:16:24.000000000 +0200
-***************
-*** 2322,2327 ****
---- 2322,2332 ----
-  # A language-specific compiler.
-  CC=$CC
-  
-+ # Ugly hack to get libmudflap (and possibly other libraries) to build.
-+ # Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
-+ # to Glibc gets lost.  Here we forcibly add it to any invocation.
-+ CC="\$CC $NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS"
-+ 
-  # Is the compiler the GNU C compiler?
-  with_gcc=$with_gcc
-  
diff --git a/pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch b/pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch
deleted file mode 100644
index 9b0676d4fdc..00000000000
--- a/pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in
-*** gcc-orig/Makefile.in	Wed Jun 21 13:40:23 2006
---- gcc-4.1.1/Makefile.in	Wed Jun 21 14:19:44 2006
-***************
-*** 213,219 ****
-  RAW_CXX_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
-  	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
-! 	CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
-  
-  NORMAL_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
---- 213,220 ----
-  RAW_CXX_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
-  	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
-! 	CXX="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD)"; export CXX; \
-! 	CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP;
-  
-  NORMAL_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
diff --git a/pkgs/development/compilers/gcc/4.3/default.nix b/pkgs/development/compilers/gcc/4.3/default.nix
index 7dd5be78185..45040c2f375 100644
--- a/pkgs/development/compilers/gcc/4.3/default.nix
+++ b/pkgs/development/compilers/gcc/4.3/default.nix
@@ -29,7 +29,7 @@ assert langVhdl -> gnat != null;
 with stdenv.lib;
 
 let
-  version = "4.3.4";
+  version = "4.3.6";
 
   crossConfigureFlags =
     "--target=${cross.config}" +
@@ -54,27 +54,27 @@ in
 
 stdenv.mkDerivation ({
   name = "${name}-${version}" + crossNameAddon;
-  
+
   builder = ./builder.sh;
-  
+
   src =
     optional /*langC*/ true (fetchurl {
       url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
-      sha256 = "1yk80nwyw8vkpw8d3x7lkg3zrv3ngjqlvj0i8zslzgj7a27q729i";
+      sha256 = "0ygrfw3hgp48hkqipbl9lw38f27npigc2sm6f01g9iswpq1igbw6";
     }) ++
     optional langCC (fetchurl {
       url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
-      sha256 = "0d8pyk5c9zmph25f4fl63vd8vhljj6ildbxpz2hr594g5i6pplpq";
+      sha256 = "105xz3991b57zx3146xwlpchdb2sjmlknclvi1iac2gawm4mhxhf";
     }) ++
     optional langFortran (fetchurl {
       url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
-      sha256 = "1xf2njykv1qcgxiqwj693dxjf77ss1rcxirylvnsp5hs89mdlj12";
+      sha256 = "12bqvf53hvhrwjnh101vn9frb5g8cr98cra4f11dzhzs4ppydpi1";
     }) ++
     optional langJava (fetchurl {
       url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
-      sha256 = "1v3krhxi3zyaqfj0x8dbxvg67fjp29cr1psyf71r9zf757p3vqsw";
+      sha256 = "03w6jln9gmdv149s774rlw4rzi2zhbqna54r86cd6mql8flmy7fs";
     });
-    
+
   patches =
     [ ./pass-cxxcpp.patch ./libmudflap-cpp.patch ./siginfo_t_fix.patch ]
     ++ optional noSysDirs ./no-sys-dirs.patch
@@ -173,7 +173,7 @@ stdenv.mkDerivation ({
 
   meta = {
     homepage = "http://ghdl.free.fr/";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Complete VHDL simulator, using the GCC technology";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/development/compilers/gcc/4.4/default.nix b/pkgs/development/compilers/gcc/4.4/default.nix
index 60e7baa7781..be2f323fde1 100644
--- a/pkgs/development/compilers/gcc/4.4/default.nix
+++ b/pkgs/development/compilers/gcc/4.4/default.nix
@@ -31,7 +31,7 @@ assert langVhdl     -> gnat != null;
 
 with stdenv.lib;
 
-let version = "4.4.6";
+let version = "4.4.7";
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
       # `configure' time.
@@ -246,11 +246,12 @@ stdenv.mkDerivation ({
       enableMultilib version; };
 
   # ghdl does not build fine with parallel building
-  enableParallelBuilding = !langVhdl;
+  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46173
+  #enableParallelBuilding = !langVhdl && !langAda;
 
   meta = {
     homepage = http://gcc.gnu.org/;
-    license = "GPLv3+";  # runtime support libraries are typically LGPLv3+
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
     description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
@@ -301,7 +302,7 @@ stdenv.mkDerivation ({
 
   meta = {
     homepage = "http://ghdl.free.fr/";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Complete VHDL simulator, using the GCC technology (gcc ${version})";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/development/compilers/gcc/4.4/sources.nix b/pkgs/development/compilers/gcc/4.4/sources.nix
index 357cc2634ed..5517e7c3b92 100644
--- a/pkgs/development/compilers/gcc/4.4/sources.nix
+++ b/pkgs/development/compilers/gcc/4.4/sources.nix
@@ -1,26 +1,26 @@
 /* Automatically generated by `update-gcc.sh', do not edit.
-   For GCC 4.4.6.  */
+   For GCC 4.4.7.  */
 { fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }:
 
-assert version == "4.4.6";
+assert version == "4.4.7";
 optional /* langC */ true (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
-  sha256 = "c2959820de3e42eee6b1d381586992f26430f0083b9a51db31d706080fc9b44a";
+  sha256 = "c4663b7023909a4a075d3c2b2e17f6e082a9625aebfd0ce7f1d7817e44bf5542";
 }) ++
 optional langCC (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
-  sha256 = "6d5d2dacab9569472e4caa291abe94017a9b19574b9b0d866de7b04702634ddf";
+  sha256 = "1882ff29be51eeb3fb349cbcda9df200a5c3cd20c97dd1d593101e0998b3c469";
 }) ++
 optional langFortran (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
-  sha256 = "2b9998716a16b80f4cf843ce81da1cf58ce116e0b85422e3004ce4454e8ff923";
+  sha256 = "545a1e8e97d9364de4408c6a91830f9051ce24b4fbfbfdc56e72c7b4be17ebdd";
 }) ++
 optional langJava (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
-  sha256 = "7c8c12eac21d2a5c605ea4d9b7aa52e482354205b801bc93d62603b6f0956b35";
+  sha256 = "3c31ddd80f945b797d8d4ed7761426c26343781c361ec1b33bcea9874cc4c6c0";
 }) ++
 optional langAda (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2";
-  sha256 = "771ef0e90abf61208ce84689bed15391ad249287e36a28e816d6a044035af0c6";
+  sha256 = "fb9f30b85d48838390554b948d137487f0db09ad5f8ba73ca4d7ca35765c6ed8";
 }) ++
 []
diff --git a/pkgs/development/compilers/gcc/4.4/update-gcc.sh b/pkgs/development/compilers/gcc/4.4/update-gcc.sh
index 6b0bbb99330..03297fbadd6 100755
--- a/pkgs/development/compilers/gcc/4.4/update-gcc.sh
+++ b/pkgs/development/compilers/gcc/4.4/update-gcc.sh
@@ -21,7 +21,7 @@ options["g++"]="langCC"
 options["fortran"]="langFortran"
 options["java"]="langJava"
 options["ada"]="langAda"
-options["go"]="langGo"
+#options["go"]="langGo"
 
 cat > "$out"<<EOF
 /* Automatically generated by \`$(basename $0)', do not edit.
@@ -32,7 +32,7 @@ cat > "$out"<<EOF
 assert version == "${version}";
 EOF
 
-for component in core g++ fortran java ada go
+for component in core g++ fortran java ada #go
 do
     dir="ftp.gnu.org/gnu/gcc/gcc-${version}"
     file="gcc-${component}-${version}.tar.bz2"
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index cb0432b6672..fbeea0768ad 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -212,7 +212,7 @@ stdenv.mkDerivation ({
     ++ (optional (ppl != null) ppl)
     ++ (optional (cloogppl != null) cloogppl)
     ++ (optional (zlib != null) zlib)
-    ++ (optional (boehmgc != null) boehmgc)
+    ++ (optional langJava boehmgc)
     ++ (optionals langJava [zip unzip])
     ++ (optionals javaAwtGtk ([gtk pkgconfig libart_lgpl] ++ xlibs))
     ++ (optionals (cross != null) [binutilsCross])
@@ -360,11 +360,11 @@ stdenv.mkDerivation ({
   passthru = { inherit langC langCC langAda langFortran langVhdl
       enableMultilib version; };
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = !langAda;
 
   meta = {
     homepage = http://gcc.gnu.org/;
-    license = "GPLv3+";  # runtime support libraries are typically LGPLv3+
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
     description = "GNU Compiler Collection, version ${version}"
       + (if stripped then "" else " (with debugging info)");
 
@@ -432,7 +432,7 @@ stdenv.mkDerivation ({
 
   meta = {
     homepage = "http://ghdl.free.fr/";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Complete VHDL simulator, using the GCC technology (gcc ${version})";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh
index 6aa0ae440c8..cc58162deef 100644
--- a/pkgs/development/compilers/gcc/4.6/builder.sh
+++ b/pkgs/development/compilers/gcc/4.6/builder.sh
@@ -249,6 +249,11 @@ postInstall() {
         fi
     done
 
+    # Disable RANDMMAP on grsec, which causes segfaults when using
+    # precompiled headers.
+    # See https://bugs.gentoo.org/show_bug.cgi?id=301299#c31
+    paxmark r $out/libexec/gcc/*/*/{cc1,cc1plus}
+
     eval "$postInstallGhdl"
 }
 
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index 476ddaa8409..23a67d8d533 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -99,7 +99,7 @@ let version = "4.6.3";
         withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
         withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
         withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
-      in 
+      in
         (withArch +
         withCpu +
         withAbi +
@@ -159,10 +159,8 @@ let version = "4.6.3";
             # In any case, mingw32 g++ linking is broken by default with shared libs,
             # unless adding "-lsupc++" to any linking command. I don't know why.
             " --disable-shared" +
-            (if cross.config == "x86_64-w64-mingw32" then
-              # To keep ABI compatibility with upstream mingw-w64
-              " --enable-fully-dynamic-string"
-              else "")
+            # To keep ABI compatibility with upstream mingw-w64
+            " --enable-fully-dynamic-string"
             else (if cross.libc == "uclibc" then
               # In uclibc cases, libgomp needs an additional '-ldl'
               # and as I don't know how to pass it, I disable libgomp.
@@ -440,13 +438,13 @@ stdenv.mkDerivation ({
   passthru = { inherit langC langCC langAda langFortran langVhdl
       langGo version; };
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
 
   inherit (stdenv) is64bit;
 
   meta = {
     homepage = http://gcc.gnu.org/;
-    license = "GPLv3+";  # runtime support libraries are typically LGPLv3+
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
     description = "GNU Compiler Collection, version ${version}"
       + (if stripped then "" else " (with debugging info)");
 
@@ -462,13 +460,15 @@ stdenv.mkDerivation ({
     maintainers = [
       stdenv.lib.maintainers.ludo
       stdenv.lib.maintainers.viric
-      stdenv.lib.maintainers.shlevy
     ];
 
     # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
-    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ];
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
   };
 }
 
@@ -507,7 +507,7 @@ stdenv.mkDerivation ({
 
   meta = {
     homepage = "http://ghdl.free.fr/";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Complete VHDL simulator, using the GCC technology (gcc ${version})";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/development/compilers/gcc/4.7/arm-eabi.patch b/pkgs/development/compilers/gcc/4.7/arm-eabi.patch
deleted file mode 100644
index 63b017062b5..00000000000
--- a/pkgs/development/compilers/gcc/4.7/arm-eabi.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-Index: gcc-4_7-branch/libstdc++-v3/configure.host
-===================================================================
---- gcc-4_7-branch/libstdc++-v3/configure.host	(revision 194579)
-+++ gcc-4_7-branch/libstdc++-v3/configure.host	(revision 194580)
-@@ -340,7 +340,7 @@
-         fi
-     esac
-     case "${host}" in
--      arm*-*-linux-*eabi)
-+      arm*-*-linux-*eabi*)
- 	port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
- 	;;
-     esac
-Index: gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
-===================================================================
---- gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc	(revision 194579)
-+++ gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc	(revision 194580)
-@@ -1,5 +1,5 @@
- // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
--// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- 
- // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
- //
-Index: gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
-===================================================================
---- gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc	(revision 194579)
-+++ gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc	(revision 194580)
-@@ -1,5 +1,5 @@
- // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
--// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- 
- // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
- //
-Index: gcc-4_7-branch/libjava/configure.ac
-===================================================================
---- gcc-4_7-branch/libjava/configure.ac	(revision 194579)
-+++ gcc-4_7-branch/libjava/configure.ac	(revision 194580)
-@@ -931,7 +931,7 @@
-     # on Darwin -single_module speeds up loading of the dynamic libraries.
-     extra_ldflags_libjava=-Wl,-single_module
-     ;;
--arm*linux*eabi)
-+arm*-*-linux*eabi*)
-     # Some of the ARM unwinder code is actually in libstdc++.  We
-     # could in principle replicate it in libgcj, but it's better to
-     # have a dependency on libstdc++.
-Index: gcc-4_7-branch/libjava/configure
-===================================================================
---- gcc-4_7-branch/libjava/configure	(revision 194579)
-+++ gcc-4_7-branch/libjava/configure	(revision 194580)
-@@ -20542,7 +20542,7 @@
-     # on Darwin -single_module speeds up loading of the dynamic libraries.
-     extra_ldflags_libjava=-Wl,-single_module
-     ;;
--arm*linux*eabi)
-+arm*-*-linux*eabi*)
-     # Some of the ARM unwinder code is actually in libstdc++.  We
-     # could in principle replicate it in libgcj, but it's better to
-     # have a dependency on libstdc++.
-Index: gcc-4_7-branch/libgcc/config.host
-===================================================================
---- gcc-4_7-branch/libgcc/config.host	(revision 194579)
-+++ gcc-4_7-branch/libgcc/config.host	(revision 194580)
-@@ -327,7 +327,7 @@
- arm*-*-linux*)			# ARM GNU/Linux with ELF
- 	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
- 	case ${host} in
--	arm*-*-linux-*eabi)
-+	arm*-*-linux-*eabi*)
- 	  tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
- 	  tm_file="$tm_file arm/bpabi-lib.h"
- 	  unwind_header=config/arm/unwind-arm.h
-Index: gcc-4_7-branch/gcc/doc/install.texi
-===================================================================
---- gcc-4_7-branch/gcc/doc/install.texi	(revision 194579)
-+++ gcc-4_7-branch/gcc/doc/install.texi	(revision 194580)
-@@ -3222,7 +3222,7 @@
- @heading @anchor{arm-x-eabi}arm-*-eabi
- ARM-family processors.  Subtargets that use the ELF object format
- require GNU binutils 2.13 or newer.  Such subtargets include:
--@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi}
-+@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi*}
- and @code{arm-*-rtemseabi}.
- 
- @html
-Index: gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c	(revision 194580)
-@@ -1,4 +1,4 @@
--/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi } } } */
-+/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi* } } } */
- 
- void *foo (void)
- {
-Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C	(revision 194580)
-@@ -7,10 +7,10 @@
- // enum-size attributes should only be emitted if there are values of
- // enum type that can escape the compilation unit, gcc cannot currently
- // detect this; if this facility is added then this linker option should
--// not be needed.  arm-*-linux*eabi should be a good approximation to
-+// not be needed.  arm-*-linux*eabi* should be a good approximation to
- // those platforms where the EABI supplement defines enum values to be
- // 32 bits wide.
--// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- 
- #include <limits.h>
- 
-Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C	(revision 194580)
-@@ -9,10 +9,10 @@
- // enum-size attributes should only be emitted if there are values of
- // enum type that can escape the compilation unit, gcc cannot currently
- // detect this; if this facility is added then this linker option should
--// not be needed.  arm-*-linux*eabi should be a good approximation to
-+// not be needed.  arm-*-linux*eabi* should be a good approximation to
- // those platforms where the EABI supplement defines enum values to be
- // 32 bits wide.
--// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- 
- enum E { 
-   a = -312
-Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C	(revision 194580)
-@@ -7,10 +7,10 @@
- // enum-size attributes should only be emitted if there are values of
- // enum type that can escape the compilation unit, gcc cannot currently
- // detect this; if this facility is added then this linker option should
--// not be needed.  arm-*-linux*eabi should be a good approximation to
-+// not be needed.  arm-*-linux*eabi* should be a good approximation to
- // those platforms where the EABI supplement defines enum values to be
- // 32 bits wide.
--// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- 
- // GROUPS passed enums
-   extern "C" int printf (const char *, ...);
-Index: gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp	(revision 194580)
-@@ -3818,7 +3818,7 @@
- 		}
- 	    } ""
- 	}]
--    } elseif { [istarget arm*-*-linux-gnueabi] } {
-+    } elseif { [istarget arm*-*-linux-gnueabi*] } {
- 	return [check_runtime sync_longlong_runtime {
- 	    #include <stdlib.h>
- 	    int main ()
-@@ -3860,7 +3860,7 @@
- 	     || [istarget i?86-*-*]
- 	     || [istarget x86_64-*-*]
- 	     || [istarget alpha*-*-*] 
--	     || [istarget arm*-*-linux-gnueabi] 
-+	     || [istarget arm*-*-linux-gnueabi*] 
- 	     || [istarget bfin*-*linux*]
- 	     || [istarget hppa*-*linux*]
- 	     || [istarget s390*-*-*] 
-@@ -3890,7 +3890,7 @@
- 	     || [istarget i?86-*-*]
- 	     || [istarget x86_64-*-*]
- 	     || [istarget alpha*-*-*] 
--	     || [istarget arm*-*-linux-gnueabi] 
-+	     || [istarget arm*-*-linux-gnueabi*] 
- 	     || [istarget hppa*-*linux*]
- 	     || [istarget s390*-*-*] 
- 	     || [istarget powerpc*-*-*]
-Index: gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90	(revision 194580)
-@@ -1,6 +1,6 @@
- ! { dg-do run }
- ! { dg-options "-fshort-enums" }
--! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- ! Program to test enumerations when option -fshort-enums is given
- 
- program main
-Index: gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90
-===================================================================
---- gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90	(revision 194579)
-+++ gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90	(revision 194580)
-@@ -1,7 +1,7 @@
- ! { dg-do run }
- ! { dg-additional-sources enum_10.c }
- ! { dg-options "-fshort-enums -w" }
--! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
-+! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
- ! Make sure short enums are indeed interoperable with the
- ! corresponding C type.
- 
-Index: gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in
-===================================================================
---- gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in	(revision 194579)
-+++ gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in	(revision 194580)
-@@ -1866,7 +1866,7 @@
-   LIBRARY_VERSION := $(LIB_VERSION)
- endif
- 
--ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
-+ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
-   LIBGNAT_TARGET_PAIRS = \
-   a-intnam.ads<a-intnam-linux.ads \
-   s-inmaop.adb<s-inmaop-posix.adb \
-Index: gcc-4_7-branch/gcc/config.gcc
-===================================================================
---- gcc-4_7-branch/gcc/config.gcc	(revision 194579)
-+++ gcc-4_7-branch/gcc/config.gcc	(revision 194580)
-@@ -855,7 +855,7 @@
- 	esac
- 	tmake_file="${tmake_file} arm/t-arm"
- 	case ${target} in
--	arm*-*-linux-*eabi)
-+	arm*-*-linux-*eabi*)
- 	    tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
- 	    tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
- 	    # Define multilib configuration for arm-linux-androideabi.
diff --git a/pkgs/development/compilers/gcc/4.7/builder.sh b/pkgs/development/compilers/gcc/4.7/builder.sh
deleted file mode 100644
index 37400fba5bf..00000000000
--- a/pkgs/development/compilers/gcc/4.7/builder.sh
+++ /dev/null
@@ -1,242 +0,0 @@
-source $stdenv/setup
-
-
-export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
-mkdir $NIX_FIXINC_DUMMY
-
-
-if test "$staticCompiler" = "1"; then
-    EXTRA_LDFLAGS="-static"
-else
-    EXTRA_LDFLAGS=""
-fi
-
-# GCC interprets empty paths as ".", which we don't want.
-if test -z "$CPATH"; then unset CPATH; fi
-if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi
-echo "\$CPATH is \`$CPATH'"
-echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
-
-if test "$noSysDirs" = "1"; then
-
-    if test -e $NIX_GCC/nix-support/orig-libc; then
-
-        # Figure out what extra flags to pass to the gcc compilers
-        # being generated to make sure that they use our glibc.
-        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
-
-        # Use *real* header files, otherwise a limits.h is generated
-        # that does not include Glibc's limits.h (notably missing
-        # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
-
-        # The path to the Glibc binaries such as `crti.o'.
-        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
-        
-    else
-        # Hack: support impure environments.
-        extraFlags="-isystem /usr/include"
-        extraLDFlags="-L/usr/lib64 -L/usr/lib"
-        glibc_libdir="/usr/lib"
-        export NIX_FIXINC_DUMMY=/usr/include
-    fi
-
-    extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags"
-    extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
-
-    # BOOT_CFLAGS defaults to `-g -O2'; since we override it below,
-    # make sure to explictly add them so that files compiled with the
-    # bootstrap compiler are optimized and (optionally) contain
-    # debugging information (info "(gccinstall) Building").
-    if test -n "$dontStrip"; then
-	extraFlags="-O2 -g $extraFlags"
-    else
-	# Don't pass `-g' at all; this saves space while building.
-	extraFlags="-O2 $extraFlags"
-    fi
-
-    EXTRA_FLAGS="$extraFlags"
-    for i in $extraLDFlags; do
-        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i"
-    done
-
-    if test -n "$targetConfig"; then
-        # Cross-compiling, we need gcc not to read ./specs in order to build
-        # the g++ compiler (after the specs for the cross-gcc are created).
-        # Having LIBRARY_PATH= makes gcc read the specs from ., and the build
-        # breaks. Having this variable comes from the default.nix code to bring
-        # gcj in.
-        unset LIBRARY_PATH
-        unset CPATH
-        if test -z "$crossStageStatic"; then
-            EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include"
-            EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib -Wl,-rpath,${libcCross}/lib -Wl,-rpath-link,${libcCross}/lib"
-        fi
-    else
-        if test -z "$NIX_GCC_CROSS"; then
-            EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
-            EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
-            EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
-        else
-            # This the case of cross-building the gcc.
-            # We need special flags for the target, different than those of the build
-            # Assertion:
-            test -e $NIX_GCC_CROSS/nix-support/orig-libc
-
-            # Figure out what extra flags to pass to the gcc compilers
-            # being generated to make sure that they use our glibc.
-            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
-            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
-
-            # Use *real* header files, otherwise a limits.h is generated
-            # that does not include Glibc's limits.h (notably missing
-            # SSIZE_MAX, which breaks the build).
-            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
-
-            # The path to the Glibc binaries such as `crti.o'.
-            glibc_dir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)"
-            glibc_libdir="$glibc_dir/lib"
-            configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include"
-
-            extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
-            extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
-
-            EXTRA_TARGET_CFLAGS="$extraFlags"
-            for i in $extraLDFlags; do
-                EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i"
-            done
-        fi
-    fi
-
-
-    # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
-    # the startfiles.
-    # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
-    # for the startfiles.
-    makeFlagsArray=( \
-        "${makeFlagsArray[@]}" \
-        NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
-        SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
-        CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
-        CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
-        CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
-        CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
-        FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
-        LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
-        LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \
-        )
-
-    if test -z "$targetConfig"; then
-        makeFlagsArray=( \
-            "${makeFlagsArray[@]}" \
-            BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
-            BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
-            )
-    fi
-
-    if test -n "$targetConfig" -a "$crossStageStatic" == 1; then
-        # We don't want the gcc build to assume there will be a libc providing
-        # limits.h in this stagae
-        makeFlagsArray=( \
-            "${makeFlagsArray[@]}" \
-            LIMITS_H_TEST=false \
-            )
-    else
-        makeFlagsArray=( \
-            "${makeFlagsArray[@]}" \
-            LIMITS_H_TEST=true \
-            )
-    fi
-fi
-
-if test -n "$targetConfig"; then
-    # The host strip will destroy some important details of the objects
-    dontStrip=1
-fi
-
-
-preConfigure() {
-    if test -n "$newlibSrc"; then
-        tar xvf "$newlibSrc" -C ..
-        ln -s ../newlib-*/newlib newlib
-        # Patch to get armvt5el working:
-        sed -i -e 's/ arm)/ arm*)/' newlib/configure.host
-    fi
-    # Bug - they packaged zlib
-    if test -d "zlib"; then
-        # This breaks the build without-headers, which should build only
-        # the target libgcc as target libraries.
-        # See 'configure:5370'
-        rm -Rf zlib
-    fi
-
-    if test -f "$NIX_GCC/nix-support/orig-libc"; then
-        # Patch the configure script so it finds glibc headers.  It's
-        # important for example in order not to get libssp built,
-        # because its functionality is in glibc already.
-        glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
-        sed -i \
-            -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \
-            gcc/configure
-    fi
-
-    if test -n "$crossMingw" -a -n "$crossStageStatic"; then
-        mkdir -p ../mingw
-        # --with-build-sysroot expects that:
-        cp -R $libcCross/include ../mingw
-        configureFlags="$configureFlags --with-build-sysroot=`pwd`/.."
-    fi
-
-    # Perform the build in a different directory.
-    mkdir ../build
-    cd ../build
-    configureScript=../$sourceRoot/configure
-}
-
-
-postConfigure() {
-    # Don't store the configure flags in the resulting executables.
-    sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile
-}
-
-
-postInstall() {
-    # Remove precompiled headers for now.  They are very big and
-    # probably not very useful yet.
-    find $out/include -name "*.gch" -exec rm -rf {} \; -prune
-
-    # Remove `fixincl' to prevent a retained dependency on the
-    # previous gcc.
-    rm -rf $out/libexec/gcc/*/*/install-tools
-    rm -rf $out/lib/gcc/*/*/install-tools
-    
-    # More dependencies with the previous gcc or some libs (gccbug stores the build command line)
-    rm -rf $out/bin/gccbug
-    # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out
-    for i in $out/libexec/gcc/*/*/*; do
-        if PREV_RPATH=`patchelf --print-rpath $i`; then
-            patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i
-        fi
-    done
-
-    # Get rid of some "fixed" header files
-    rm -rf $out/lib/gcc/*/*/include/root
-
-    # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
-    for i in $out/bin/*-gcc*; do
-        if cmp -s $out/bin/gcc $i; then
-            ln -sfn gcc $i
-        fi
-    done
-
-    for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do
-        if cmp -s $out/bin/g++ $i; then
-            ln -sfn g++ $i
-        fi
-    done
-
-    eval "$postInstallGhdl"
-}
-
-genericBuild
diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix
deleted file mode 100644
index 4f260d75afc..00000000000
--- a/pkgs/development/compilers/gcc/4.7/default.nix
+++ /dev/null
@@ -1,502 +0,0 @@
-{ stdenv, fetchurl, noSysDirs
-, langC ? true, langCC ? true, langFortran ? false
-, langJava ? false
-, langAda ? false
-, langVhdl ? false
-, langGo ? false
-, profiledCompiler ? false
-, staticCompiler ? false
-, enableShared ? true
-, texinfo ? null
-, perl ? null # optional, for texi2pod (then pod2man); required for Java
-, gmp, mpfr, mpc, gettext, which
-, libelf                      # optional, for link-time optimizations (LTO)
-, ppl ? null, cloog ? null # optional, for the Graphite optimization framework.
-, zlib ? null, boehmgc ? null
-, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
-, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
-, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
-, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
-, gnatboot ? null
-, enableMultilib ? false
-, enablePlugin ? true             # whether to support user-supplied plug-ins
-, name ? "gcc"
-, cross ? null
-, binutilsCross ? null
-, libcCross ? null
-, crossStageStatic ? true
-, gnat ? null
-, libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
-, gnused ? null
-}:
-
-assert langJava     -> zip != null && unzip != null
-                       && zlib != null && boehmgc != null
-                       && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
-
-# LTO needs libelf and zlib.
-assert libelf != null -> zlib != null;
-
-# Make sure we get GNU sed.
-assert stdenv.isDarwin -> gnused != null;
-
-# The go frontend is written in c++
-assert langGo -> langCC;
-
-with stdenv.lib;
-with builtins;
-
-let version = "4.7.3";
-
-    # Whether building a cross-compiler for GNU/Hurd.
-    crossGNU = cross != null && cross.config == "i586-pc-gnu";
-
-    patches = []
-      ++ optional stdenv.isArm [ ./arm-eabi.patch ]
-      ++ optional (cross != null) ./libstdc++-target.patch
-      # ++ optional noSysDirs ./no-sys-dirs.patch
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ./gnat-cflags.patch
-      ++ optional langFortran ./gfortran-driving.patch;
-
-    javaEcj = fetchurl {
-      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
-      # `configure' time.
-
-      # XXX: Eventually we might want to take it from upstream.
-      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
-      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
-    };
-
-    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
-    # binary distribution here to allow the whole chain to be bootstrapped.
-    javaAntlr = fetchurl {
-      url = http://www.antlr.org/download/antlr-3.1.3.jar;
-      sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
-    };
-
-    xlibs = [
-      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
-      xproto renderproto xextproto inputproto randrproto
-    ];
-
-    javaAwtGtk = langJava && gtk != null;
-
-    /* Platform flags */
-    platformFlags = let
-        gccArch = stdenv.lib.attrByPath [ "platform" "gcc" "arch" ] null stdenv;
-        gccCpu = stdenv.lib.attrByPath [ "platform" "gcc" "cpu" ] null stdenv;
-        gccAbi = stdenv.lib.attrByPath [ "platform" "gcc" "abi" ] null stdenv;
-        gccFpu = stdenv.lib.attrByPath [ "platform" "gcc" "fpu" ] null stdenv;
-        gccFloat = stdenv.lib.attrByPath [ "platform" "gcc" "float" ] null stdenv;
-        gccMode = stdenv.lib.attrByPath [ "platform" "gcc" "mode" ] null stdenv;
-        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
-        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
-        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
-        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
-        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
-        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
-      in 
-        (withArch +
-        withCpu +
-        withAbi +
-        withFpu +
-        withFloat +
-        withMode);
-
-    /* Cross-gcc settings */
-    crossMingw = (cross != null && cross.libc == "msvcrt");
-    crossConfigureFlags = let
-        gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
-        gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
-        gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
-        gccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null cross;
-        gccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null cross;
-        gccMode = stdenv.lib.attrByPath [ "gcc" "mode" ] null cross;
-        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
-        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
-        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
-        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
-        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
-        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
-      in
-        "--target=${cross.config}" +
-        withArch +
-        withCpu +
-        withAbi +
-        withFpu +
-        withFloat +
-        withMode +
-        (if crossMingw && crossStageStatic then
-          " --with-headers=${libcCross}/include" +
-          " --with-gcc" +
-          " --with-gnu-as" +
-          " --with-gnu-ld" +
-          " --with-gnu-ld" +
-          " --disable-shared" +
-          " --disable-nls" +
-          " --disable-debug" +
-          " --enable-sjlj-exceptions" +
-          " --enable-threads=win32" +
-          " --disable-win32-registry"
-          else if crossStageStatic then
-          " --disable-libssp --disable-nls" +
-          " --without-headers" +
-          " --disable-threads " +
-          " --disable-libmudflap " +
-          " --disable-libgomp " +
-          " --disable-libquadmath" +
-          " --disable-shared" +
-          " --disable-decimal-float" # libdecnumber requires libc
-          else
-          " --with-headers=${libcCross}/include" +
-          " --enable-__cxa_atexit" +
-          " --enable-long-long" +
-          (if crossMingw then
-            " --enable-threads=win32" +
-            " --enable-sjlj-exceptions" +
-            " --enable-hash-synchronization" +
-            " --disable-libssp" +
-            " --disable-nls" +
-            " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
-            (if cross.config == "x86_64-w64-mingw32" then
-              # To keep ABI compatibility with upstream mingw-w64
-              " --enable-fully-dynamic-string"
-              else "")
-            else (if cross.libc == "uclibc" then
-              # In uclibc cases, libgomp needs an additional '-ldl'
-              # and as I don't know how to pass it, I disable libgomp.
-              " --disable-libgomp" else "") +
-            " --enable-threads=posix" +
-            " --enable-nls" +
-            " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
-          );
-    stageNameAddon = if crossStageStatic then "-stage-static" else
-      "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
-
-  bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
-
-in
-
-# We need all these X libraries when building AWT with GTK+.
-assert gtk != null -> (filter (x: x == null) xlibs) == [];
-
-stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
-
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g";
-  };
-
-  inherit patches;
-
-  postPatch =
-    if (stdenv.isGNU
-        || (libcCross != null                  # e.g., building `gcc.crossDrv'
-            && libcCross ? crossConfig
-            && libcCross.crossConfig == "i586-pc-gnu")
-        || (crossGNU && libcCross != null))
-    then
-      # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
-      # in glibc, so add the right `-I' flags to the default spec string.
-      assert libcCross != null -> libpthreadCross != null;
-      let
-        libc = if libcCross != null then libcCross else stdenv.glibc;
-        gnu_h = "gcc/config/gnu.h";
-        extraCPPDeps =
-             libc.propagatedBuildInputs
-          ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
-          ++ stdenv.lib.optional (libpthread != null) libpthread;
-        extraCPPSpec =
-          concatStrings (intersperse " "
-                          (map (x: "-I${x}/include") extraCPPDeps));
-        extraLibSpec =
-          if libpthreadCross != null
-          then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
-          else "-L${libpthread}/lib";
-      in
-        '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
-           sed -i "${gnu_h}" \
-               -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
-
-           echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
-           sed -i "${gnu_h}" \
-               -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
-
-           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..."
-           sed -i "${gnu_h}" \
-               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
-        ''
-    else if cross != null || stdenv.gcc.libc != null then
-      # On NixOS, use the right path to the dynamic linker instead of
-      # `/lib/ld*.so'.
-      let
-        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
-      in
-        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
-           for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
-           do
-             grep -q LIBC_DYNAMIC_LINKER "$header" || continue
-             echo "  fixing \`$header'..."
-             sed -i "$header" \
-                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g'
-           done
-        ''
-    else null;
-
-  inherit noSysDirs staticCompiler langJava crossStageStatic
-    libcCross crossMingw;
-
-  nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl)
-    ++ (optional javaAwtGtk pkgconfig);
-
-  buildInputs = [ gmp mpfr mpc libelf ]
-    ++ (optional (ppl != null) ppl)
-    ++ (optional (cloog != null) cloog)
-    ++ (optional (zlib != null) zlib)
-    ++ (optionals langJava [ boehmgc zip unzip ])
-    ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
-
-    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-    ++ (optional stdenv.isDarwin gnused)
-    ;
-
-  configureFlagsArray = stdenv.lib.optionals
-    (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
-        [ "--with-host-libstdcxx=-lstdc++ -lgcc_s" ];
-
-  # 'iant' at #go-nuts@freenode, gccgo maintainer, said that
-  # they have a bug in 4.7.1 if adding "--disable-static"
-  dontDisableStatic = langGo;
-
-  configureFlags = "
-    ${if enableMultilib then "" else "--disable-multilib"}
-    ${if enableShared then "" else "--disable-shared"}
-    ${if enablePlugin then "--enable-plugin" else ""}
-    ${if ppl != null then "--with-ppl=${ppl}" else ""}
-    ${if cloog != null then
-      "--with-cloog=${cloog} --enable-cloog-backend=isl"
-      else ""}
-    ${if langJava then
-      "--with-ecj-jar=${javaEcj} " +
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
-      else ""}
-    ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
-    ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
-    --with-gmp=${gmp}
-    --with-mpfr=${mpfr}
-    --with-mpc=${mpc}
-    ${if libelf != null then "--with-libelf=${libelf}" else ""}
-    --disable-libstdcxx-pch
-    --without-included-gettext
-    --with-system-zlib
-    --enable-languages=${
-      concatStrings (intersperse ","
-        (  optional langC        "c"
-        ++ optional langCC       "c++"
-        ++ optional langFortran  "fortran"
-        ++ optional langJava     "java"
-        ++ optional langAda      "ada"
-        ++ optional langVhdl     "vhdl"
-        ++ optional langGo       "go"
-        )
-      )
-    }
-    ${if (stdenv ? glibc && cross == null)
-      then " --with-native-system-header-dir=${stdenv.glibc}/include"
-      else ""}
-    ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
-    ${if !bootstrap then "--disable-bootstrap" else ""}
-    ${if cross == null then platformFlags else ""}
-  ";
-
-  targetConfig = if cross != null then cross.config else null;
-
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
-
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
-
-  crossAttrs = let
-    xgccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null stdenv.cross;
-    xgccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null stdenv.cross;
-    xgccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null stdenv.cross;
-    xgccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null stdenv.cross;
-    xgccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null stdenv.cross;
-    xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
-    xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
-    xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
-    xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
-    xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
-  in {
-    AR = "${stdenv.cross.config}-ar";
-    LD = "${stdenv.cross.config}-ld";
-    CC = "${stdenv.cross.config}-gcc";
-    CXX = "${stdenv.cross.config}-gcc";
-    AR_FOR_TARGET = "${stdenv.cross.config}-ar";
-    LD_FOR_TARGET = "${stdenv.cross.config}-ld";
-    CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
-    NM_FOR_TARGET = "${stdenv.cross.config}-nm";
-    CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
-    # If we are making a cross compiler, cross != null
-    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
-    dontStrip = true;
-    configureFlags = ''
-      ${if enableMultilib then "" else "--disable-multilib"}
-      ${if enableShared then "" else "--disable-shared"}
-      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
-      ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
-      ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
-      ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
-      ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""}
-      --with-gmp=${gmp.crossDrv}
-      --with-mpfr=${mpfr.crossDrv}
-      --disable-libstdcxx-pch
-      --without-included-gettext
-      --with-system-zlib
-      --enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
-          ++ optional langGo       "go"
-          )
-        )
-      }
-      ${if langAda then " --enable-libada" else ""}
-      --target=${stdenv.cross.config}
-      ${xwithArch}
-      ${xwithCpu}
-      ${xwithAbi}
-      ${xwithFpu}
-      ${xwithFloat}
-    '';
-    buildFlags = "";
-  };
-
-
-  # Needed for the cross compilation to work
-  AR = "ar";
-  LD = "ld";
-  CC = "gcc";
-
-  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
-  # the library headers and binaries, regarless of the language being
-  # compiled.
-
-  # Note: When building the Java AWT GTK+ peer, the build system doesn't
-  # honor `--with-gmp' et al., e.g., when building
-  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
-  # add them to $CPATH and $LIBRARY_PATH in this case.
-  #
-  # Likewise, the LTO code doesn't find zlib.
-
-  CPATH = concatStrings
-            (intersperse ":" (map (x: x + "/include")
-                                  (optionals (zlib != null) [ zlib ]
-                                   ++ optionals langJava [ boehmgc ]
-                                   ++ optionals javaAwtGtk xlibs
-                                   ++ optionals javaAwtGtk [ gmp mpfr ]
-                                   ++ optional (libpthread != null) libpthread
-                                   ++ optional (libpthreadCross != null) libpthreadCross
-
-                                   # On GNU/Hurd glibc refers to Mach & Hurd
-                                   # headers.
-                                   ++ optionals (libcCross != null &&
-                                                 hasAttr "propagatedBuildInputs" libcCross)
-                                        libcCross.propagatedBuildInputs)));
-
-  LIBRARY_PATH = concatStrings
-                   (intersperse ":" (map (x: x + "/lib")
-                                         (optionals (zlib != null) [ zlib ]
-                                          ++ optionals langJava [ boehmgc ]
-                                          ++ optionals javaAwtGtk xlibs
-                                          ++ optionals javaAwtGtk [ gmp mpfr ]
-                                          ++ optional (libpthread != null) libpthread)));
-
-  EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null
-    then "-idirafter ${libcCross}/include"
-    else null;
-
-  EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null
-    then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" +
-         (optionalString (libpthreadCross != null)
-           " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}")
-    else null;
-
-  passthru = { inherit langC langCC langAda langFortran langVhdl
-      langGo enableMultilib version; };
-
-  /* From gccinstall.info:
-     "parallel make is currently not supported since collisions in profile
-     collecting may occur"
-  */
-  enableParallelBuilding = !profiledCompiler;
-
-  meta = {
-    homepage = http://gcc.gnu.org/;
-    license = "GPLv3+";  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
-
-    longDescription = ''
-      The GNU Compiler Collection includes compiler front ends for C, C++,
-      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
-      as libraries for these languages (libstdc++, libgcj, libgomp,...).
-
-      GCC development is a part of the GNU Project, aiming to improve the
-      compiler used in the GNU system including the GNU/Linux variant.
-    '';
-
-    maintainers = [
-      stdenv.lib.maintainers.ludo
-      stdenv.lib.maintainers.viric
-      stdenv.lib.maintainers.shlevy
-    ];
-
-    # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
-    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ];
-  };
-}
-
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
-  makeFlags = [ "all-gcc" "all-target-libgcc" ];
-  installTargets = "install-gcc install-target-libgcc";
-}
-
-# Strip kills static libs of other archs (hence cross != null)
-// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
-)
diff --git a/pkgs/development/compilers/gcc/4.8/builder.sh b/pkgs/development/compilers/gcc/4.8/builder.sh
new file mode 100644
index 00000000000..3d24d34a2f2
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.8/builder.sh
@@ -0,0 +1,255 @@
+source $stdenv/setup
+
+
+export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
+mkdir $NIX_FIXINC_DUMMY
+
+
+if test "$staticCompiler" = "1"; then
+    EXTRA_LDFLAGS="-static"
+else
+    EXTRA_LDFLAGS=""
+fi
+
+# GCC interprets empty paths as ".", which we don't want.
+if test -z "$CPATH"; then unset CPATH; fi
+if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi
+echo "\$CPATH is \`$CPATH'"
+echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
+
+if test "$noSysDirs" = "1"; then
+
+    if test -e $NIX_GCC/nix-support/orig-libc; then
+
+        # Figure out what extra flags to pass to the gcc compilers
+        # being generated to make sure that they use our glibc.
+        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+
+        # Use *real* header files, otherwise a limits.h is generated
+        # that does not include Glibc's limits.h (notably missing
+        # SSIZE_MAX, which breaks the build).
+        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+
+        # The path to the Glibc binaries such as `crti.o'.
+        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+
+    else
+        # Hack: support impure environments.
+        extraFlags="-isystem /usr/include"
+        extraLDFlags="-L/usr/lib64 -L/usr/lib"
+        glibc_libdir="/usr/lib"
+        export NIX_FIXINC_DUMMY=/usr/include
+    fi
+
+    extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags"
+    extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
+
+    # BOOT_CFLAGS defaults to `-g -O2'; since we override it below,
+    # make sure to explictly add them so that files compiled with the
+    # bootstrap compiler are optimized and (optionally) contain
+    # debugging information (info "(gccinstall) Building").
+    if test -n "$dontStrip"; then
+        extraFlags="-O2 -g $extraFlags"
+    else
+        # Don't pass `-g' at all; this saves space while building.
+        extraFlags="-O2 $extraFlags"
+    fi
+
+    EXTRA_FLAGS="$extraFlags"
+    for i in $extraLDFlags; do
+        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i"
+    done
+
+    if test -n "$targetConfig"; then
+        # Cross-compiling, we need gcc not to read ./specs in order to build
+        # the g++ compiler (after the specs for the cross-gcc are created).
+        # Having LIBRARY_PATH= makes gcc read the specs from ., and the build
+        # breaks. Having this variable comes from the default.nix code to bring
+        # gcj in.
+        unset LIBRARY_PATH
+        unset CPATH
+        if test -z "$crossStageStatic"; then
+            EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include"
+            EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib -Wl,-rpath,${libcCross}/lib -Wl,-rpath-link,${libcCross}/lib"
+        fi
+    else
+        if test -z "$NIX_GCC_CROSS"; then
+            EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
+            EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
+            EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
+        else
+            # This the case of cross-building the gcc.
+            # We need special flags for the target, different than those of the build
+            # Assertion:
+            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+
+            # Figure out what extra flags to pass to the gcc compilers
+            # being generated to make sure that they use our glibc.
+            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+
+            # Use *real* header files, otherwise a limits.h is generated
+            # that does not include Glibc's limits.h (notably missing
+            # SSIZE_MAX, which breaks the build).
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+
+            # The path to the Glibc binaries such as `crti.o'.
+            glibc_dir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)"
+            glibc_libdir="$glibc_dir/lib"
+            configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include"
+
+            extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
+            extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
+
+            EXTRA_TARGET_CFLAGS="$extraFlags"
+            for i in $extraLDFlags; do
+                EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i"
+            done
+        fi
+    fi
+
+    # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
+    # the startfiles.
+    # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
+    # for the startfiles.
+    makeFlagsArray+=( \
+        NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
+        SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
+        CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+        CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+        FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+        LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \
+        )
+
+    if test -z "$targetConfig"; then
+        makeFlagsArray+=( \
+            BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+            BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+            )
+    fi
+
+    if test -n "$targetConfig" -a "$crossStageStatic" == 1; then
+        # We don't want the gcc build to assume there will be a libc providing
+        # limits.h in this stagae
+        makeFlagsArray+=( \
+            LIMITS_H_TEST=false \
+            )
+    else
+        makeFlagsArray+=( \
+            LIMITS_H_TEST=true \
+            )
+    fi
+fi
+
+if test -n "$targetConfig"; then
+    # The host strip will destroy some important details of the objects
+    dontStrip=1
+fi
+
+providedPreConfigure="$preConfigure";
+preConfigure() {
+    if test -n "$newlibSrc"; then
+        tar xvf "$newlibSrc" -C ..
+        ln -s ../newlib-*/newlib newlib
+        # Patch to get armvt5el working:
+        sed -i -e 's/ arm)/ arm*)/' newlib/configure.host
+    fi
+
+    # Bug - they packaged zlib
+    if test -d "zlib"; then
+        # This breaks the build without-headers, which should build only
+        # the target libgcc as target libraries.
+        # See 'configure:5370'
+        rm -Rf zlib
+    fi
+
+    if test -f "$NIX_GCC/nix-support/orig-libc"; then
+        # Patch the configure script so it finds glibc headers.  It's
+        # important for example in order not to get libssp built,
+        # because its functionality is in glibc already.
+        glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
+        sed -i \
+            -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \
+            gcc/configure
+    fi
+
+    if test -n "$crossMingw" -a -n "$crossStageStatic"; then
+        mkdir -p ../mingw
+        # --with-build-sysroot expects that:
+        cp -R $libcCross/include ../mingw
+        configureFlags="$configureFlags --with-build-sysroot=`pwd`/.."
+    fi
+
+    # Eval the preConfigure script from nix expression.
+    eval "$providedPreConfigure"
+
+    # Perform the build in a different directory.
+    mkdir ../build
+    cd ../build
+    configureScript=../$sourceRoot/configure
+}
+
+
+postConfigure() {
+    # Don't store the configure flags in the resulting executables.
+    sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile
+}
+
+
+preInstall() {
+    # Make ‘lib64’ a symlink to ‘lib’.
+    if [ -n "$is64bit" -a -z "$enableMultilib" ]; then
+        mkdir -p $out/lib
+        ln -s lib $out/lib64
+    fi
+}
+
+
+postInstall() {
+    # Remove precompiled headers for now.  They are very big and
+    # probably not very useful yet.
+    find $out/include -name "*.gch" -exec rm -rf {} \; -prune
+
+    # Remove `fixincl' to prevent a retained dependency on the
+    # previous gcc.
+    rm -rf $out/libexec/gcc/*/*/install-tools
+    rm -rf $out/lib/gcc/*/*/install-tools
+
+    # More dependencies with the previous gcc or some libs (gccbug stores the build command line)
+    rm -rf $out/bin/gccbug
+    # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out
+    for i in $out/libexec/gcc/*/*/*; do
+        if PREV_RPATH=`patchelf --print-rpath $i`; then
+            patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i
+        fi
+    done
+
+    # Get rid of some "fixed" header files
+    rm -rf $out/lib/gcc/*/*/include/root
+
+    # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
+    for i in $out/bin/*-gcc*; do
+        if cmp -s $out/bin/gcc $i; then
+            ln -sfn gcc $i
+        fi
+    done
+
+    for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do
+        if cmp -s $out/bin/g++ $i; then
+            ln -sfn g++ $i
+        fi
+    done
+
+    # Disable RANDMMAP on grsec, which causes segfaults when using
+    # precompiled headers.
+    # See https://bugs.gentoo.org/show_bug.cgi?id=301299#c31
+    paxmark r $out/libexec/gcc/*/*/{cc1,cc1plus}
+
+    eval "$postInstallGhdl"
+}
+
+genericBuild
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
new file mode 100644
index 00000000000..7985b445ae0
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -0,0 +1,541 @@
+{ stdenv, fetchurl, noSysDirs
+, langC ? true, langCC ? true, langFortran ? false
+, langObjC ? stdenv.isDarwin
+, langObjCpp ? stdenv.isDarwin
+, langJava ? false
+, langAda ? false
+, langVhdl ? false
+, langGo ? false
+, profiledCompiler ? false
+, staticCompiler ? false
+, enableShared ? true
+, texinfo ? null
+, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, gmp, mpfr, mpc, gettext, which
+, libelf                      # optional, for link-time optimizations (LTO)
+, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
+, zlib ? null, boehmgc ? null
+, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
+, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
+, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
+, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
+, gnatboot ? null
+, enableMultilib ? false
+, enablePlugin ? true             # whether to support user-supplied plug-ins
+, name ? "gcc"
+, cross ? null
+, binutilsCross ? null
+, libcCross ? null
+, crossStageStatic ? true
+, gnat ? null
+, libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
+, stripped ? true
+, gnused ? null
+}:
+
+assert langJava     -> zip != null && unzip != null
+                       && zlib != null && boehmgc != null
+                       && perl != null;  # for `--enable-java-home'
+assert langAda      -> gnatboot != null;
+assert langVhdl     -> gnat != null;
+
+# We enable the isl cloog backend.
+assert cloog != null -> isl != null;
+
+# LTO needs libelf and zlib.
+assert libelf != null -> zlib != null;
+
+# Make sure we get GNU sed.
+assert stdenv.isDarwin -> gnused != null;
+
+# The go frontend is written in c++
+assert langGo -> langCC;
+
+with stdenv.lib;
+with builtins;
+
+let version = "4.8.3";
+
+    # Whether building a cross-compiler for GNU/Hurd.
+    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+
+    enableParallelBuilding = true;
+
+    patches = []
+      ++ optional enableParallelBuilding ./parallel-bconfig.patch
+      ++ optional (cross != null) ./libstdc++-target.patch
+      ++ optional noSysDirs ./no-sys-dirs.patch
+      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
+      # target libraries and tools.
+      ++ optional langAda ./gnat-cflags.patch
+      ++ optional langFortran ./gfortran-driving.patch;
+
+    javaEcj = fetchurl {
+      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
+      # `configure' time.
+
+      # XXX: Eventually we might want to take it from upstream.
+      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
+      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
+    };
+
+    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
+    # binary distribution here to allow the whole chain to be bootstrapped.
+    javaAntlr = fetchurl {
+      url = http://www.antlr.org/download/antlr-3.1.3.jar;
+      sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
+    };
+
+    xlibs = [
+      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
+      xproto renderproto xextproto inputproto randrproto
+    ];
+
+    javaAwtGtk = langJava && gtk != null;
+
+    /* Platform flags */
+    platformFlags = let
+        gccArch = stdenv.platform.gcc.arch or null;
+        gccCpu = stdenv.platform.gcc.cpu or null;
+        gccAbi = stdenv.platform.gcc.abi or null;
+        gccFpu = stdenv.platform.gcc.fpu or null;
+        gccFloat = stdenv.platform.gcc.float or null;
+        gccMode = stdenv.platform.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode;
+
+    /* Cross-gcc settings */
+    crossMingw = cross != null && cross.libc == "msvcrt";
+    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossConfigureFlags = let
+        gccArch = stdenv.cross.gcc.arch or null;
+        gccCpu = stdenv.cross.gcc.cpu or null;
+        gccAbi = stdenv.cross.gcc.abi or null;
+        gccFpu = stdenv.cross.gcc.fpu or null;
+        gccFloat = stdenv.cross.gcc.float or null;
+        gccMode = stdenv.cross.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        "--target=${cross.config}" +
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode +
+        (if crossMingw && crossStageStatic then
+          " --with-headers=${libcCross}/include" +
+          " --with-gcc" +
+          " --with-gnu-as" +
+          " --with-gnu-ld" +
+          " --with-gnu-ld" +
+          " --disable-shared" +
+          " --disable-nls" +
+          " --disable-debug" +
+          " --enable-sjlj-exceptions" +
+          " --enable-threads=win32" +
+          " --disable-win32-registry"
+          else if crossStageStatic then
+          " --disable-libssp --disable-nls" +
+          " --without-headers" +
+          " --disable-threads " +
+          " --disable-libmudflap " +
+          " --disable-libgomp " +
+          " --disable-libquadmath" +
+          " --disable-shared" +
+          " --disable-libatomic " +  # libatomic requires libc
+          " --disable-decimal-float" # libdecnumber requires libc
+          else
+          (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot"
+           else                " --with-headers=${libcCross}/include") +
+          # Ensure that -print-prog-name is able to find the correct programs.
+          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
+            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
+            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+          )) +
+          " --enable-__cxa_atexit" +
+          " --enable-long-long" +
+          (if crossMingw then
+            " --enable-threads=win32" +
+            " --enable-sjlj-exceptions" +
+            " --enable-hash-synchronization" +
+            " --disable-libssp" +
+            " --disable-nls" +
+            " --with-dwarf2" +
+            # I think noone uses shared gcc libs in mingw, so we better do the same.
+            # In any case, mingw32 g++ linking is broken by default with shared libs,
+            # unless adding "-lsupc++" to any linking command. I don't know why.
+            " --disable-shared" +
+            # To keep ABI compatibility with upstream mingw-w64
+            " --enable-fully-dynamic-string"
+            else (if cross.libc == "uclibc" then
+              # In uclibc cases, libgomp needs an additional '-ldl'
+              # and as I don't know how to pass it, I disable libgomp.
+              " --disable-libgomp" else "") +
+            " --enable-threads=posix" +
+            " --enable-nls" +
+            " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
+          );
+    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
+    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+
+  bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
+
+in
+
+# We need all these X libraries when building AWT with GTK+.
+assert gtk != null -> (filter (x: x == null) xlibs) == [];
+
+stdenv.mkDerivation ({
+  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
+    sha256 = "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka";
+  };
+
+  inherit patches;
+
+  postPatch =
+    if (stdenv.isGNU
+        || (libcCross != null                  # e.g., building `gcc.crossDrv'
+            && libcCross ? crossConfig
+            && libcCross.crossConfig == "i586-pc-gnu")
+        || (crossGNU && libcCross != null))
+    then
+      # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
+      # in glibc, so add the right `-I' flags to the default spec string.
+      assert libcCross != null -> libpthreadCross != null;
+      let
+        libc = if libcCross != null then libcCross else stdenv.glibc;
+        gnu_h = "gcc/config/gnu.h";
+        extraCPPDeps =
+             libc.propagatedBuildInputs
+          ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
+          ++ stdenv.lib.optional (libpthread != null) libpthread;
+        extraCPPSpec =
+          concatStrings (intersperse " "
+                          (map (x: "-I${x}/include") extraCPPDeps));
+        extraLibSpec =
+          if libpthreadCross != null
+          then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
+          else "-L${libpthread}/lib";
+      in
+        '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
+
+           echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
+
+           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..."
+           sed -i "${gnu_h}" \
+               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
+        ''
+    else if cross != null || stdenv.gcc.libc != null then
+      # On NixOS, use the right path to the dynamic linker instead of
+      # `/lib/ld*.so'.
+      let
+        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
+      in
+        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
+           for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
+           do
+             grep -q LIBC_DYNAMIC_LINKER "$header" || continue
+             echo "  fixing \`$header'..."
+             sed -i "$header" \
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g'
+           done
+        ''
+    else null;
+
+  inherit noSysDirs staticCompiler langJava crossStageStatic
+    libcCross crossMingw;
+
+  nativeBuildInputs = [ texinfo which gettext ]
+    ++ (optional (perl != null) perl)
+    ++ (optional javaAwtGtk pkgconfig);
+
+  buildInputs = [ gmp mpfr mpc libelf ]
+    ++ (optional (ppl != null) ppl)
+    ++ (optional (cloog != null) cloog)
+    ++ (optional (isl != null) isl)
+    ++ (optional (zlib != null) zlib)
+    ++ (optionals langJava [ boehmgc zip unzip ])
+    ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
+    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals langAda [gnatboot])
+    ++ (optionals langVhdl [gnat])
+
+    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+    ++ (optional stdenv.isDarwin gnused)
+    ;
+
+  NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
+
+  preConfigure = ''
+    configureFlagsArray=(
+      ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
+        "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
+      ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
+        "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
+         \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
+    );
+  '' + stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    if SDKROOT=$(/usr/bin/xcrun --show-sdk-path); then
+      configureFlagsArray+=(--with-native-system-header-dir=$SDKROOT/usr/include)
+      makeFlagsArray+=( \
+       CFLAGS_FOR_BUILD=-F$SDKROOT/System/Library/Frameworks \
+       CFLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \
+       FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \
+      )
+    fi
+  '';
+
+  dontDisableStatic = true;
+
+  configureFlags = "
+    ${if stdenv.isSunOS then
+      " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
+      # On Illumos/Solaris GNU as is preferred
+      " --with-gnu-as --without-gnu-ld "
+      else ""}
+    --enable-lto
+    ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"}
+    ${if enableShared then "" else "--disable-shared"}
+    ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
+    ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
+    ${optionalString (isl != null) "--with-isl=${isl}"}
+    ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
+    ${if langJava then
+      "--with-ecj-jar=${javaEcj} " +
+
+      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
+      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
+      "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
+      else ""}
+    ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+    ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
+    --with-gmp=${gmp}
+    --with-mpfr=${mpfr}
+    --with-mpc=${mpc}
+    ${if libelf != null then "--with-libelf=${libelf}" else ""}
+    --disable-libstdcxx-pch
+    --without-included-gettext
+    --with-system-zlib
+    --enable-static
+    --enable-languages=${
+      concatStrings (intersperse ","
+        (  optional langC        "c"
+        ++ optional langCC       "c++"
+        ++ optional langFortran  "fortran"
+        ++ optional langJava     "java"
+        ++ optional langAda      "ada"
+        ++ optional langVhdl     "vhdl"
+        ++ optional langGo       "go"
+        ++ optional langObjC     "objc"
+        ++ optional langObjCpp   "obj-c++"
+        ++ optionals crossDarwin [ "objc" "obj-c++" ]
+        )
+      )
+    }
+    ${if (stdenv ? glibc && cross == null)
+      then " --with-native-system-header-dir=${stdenv.glibc}/include"
+      else ""}
+    ${if langAda then " --enable-libada" else ""}
+    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
+    ${if cross != null then crossConfigureFlags else ""}
+    ${if !bootstrap then "--disable-bootstrap" else ""}
+    ${if cross == null then platformFlags else ""}
+  ";
+
+  targetConfig = if cross != null then cross.config else null;
+
+  buildFlags = if bootstrap then
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
+    else "";
+
+  installTargets =
+    if stripped
+    then "install-strip"
+    else "install";
+
+  crossAttrs = let
+    xgccArch = stdenv.cross.gcc.arch or null;
+    xgccCpu = stdenv.cross.gcc.cpu or null;
+    xgccAbi = stdenv.cross.gcc.abi or null;
+    xgccFpu = stdenv.cross.gcc.fpu or null;
+    xgccFloat = stdenv.cross.gcc.float or null;
+    xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
+    xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
+    xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
+    xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
+    xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
+  in {
+    AR = "${stdenv.cross.config}-ar";
+    LD = "${stdenv.cross.config}-ld";
+    CC = "${stdenv.cross.config}-gcc";
+    CXX = "${stdenv.cross.config}-gcc";
+    AR_FOR_TARGET = "${stdenv.cross.config}-ar";
+    LD_FOR_TARGET = "${stdenv.cross.config}-ld";
+    CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
+    NM_FOR_TARGET = "${stdenv.cross.config}-nm";
+    CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
+    # If we are making a cross compiler, cross != null
+    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    dontStrip = true;
+    configureFlags = ''
+      ${if enableMultilib then "" else "--disable-multilib"}
+      ${if enableShared then "" else "--disable-shared"}
+      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
+      ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
+      ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
+      ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+      ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""}
+      --with-gmp=${gmp.crossDrv}
+      --with-mpfr=${mpfr.crossDrv}
+      --disable-libstdcxx-pch
+      --without-included-gettext
+      --with-system-zlib
+      --enable-languages=${
+        concatStrings (intersperse ","
+          (  optional langC        "c"
+          ++ optional langCC       "c++"
+          ++ optional langFortran  "fortran"
+          ++ optional langJava     "java"
+          ++ optional langAda      "ada"
+          ++ optional langVhdl     "vhdl"
+          ++ optional langGo       "go"
+          )
+        )
+      }
+      ${if langAda then " --enable-libada" else ""}
+      --target=${stdenv.cross.config}
+      ${xwithArch}
+      ${xwithCpu}
+      ${xwithAbi}
+      ${xwithFpu}
+      ${xwithFloat}
+    '';
+    buildFlags = "";
+  };
+
+
+  # Needed for the cross compilation to work
+  AR = "ar";
+  LD = "ld";
+  # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+  CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
+
+  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
+  # the library headers and binaries, regarless of the language being
+  # compiled.
+
+  # Note: When building the Java AWT GTK+ peer, the build system doesn't
+  # honor `--with-gmp' et al., e.g., when building
+  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
+  # add them to $CPATH and $LIBRARY_PATH in this case.
+  #
+  # Likewise, the LTO code doesn't find zlib.
+
+  CPATH = concatStrings
+            (intersperse ":" (map (x: x + "/include")
+                                  (optionals (zlib != null) [ zlib ]
+                                   ++ optionals langJava [ boehmgc ]
+                                   ++ optionals javaAwtGtk xlibs
+                                   ++ optionals javaAwtGtk [ gmp mpfr ]
+                                   ++ optional (libpthread != null) libpthread
+                                   ++ optional (libpthreadCross != null) libpthreadCross
+
+                                   # On GNU/Hurd glibc refers to Mach & Hurd
+                                   # headers.
+                                   ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
+                                        libcCross.propagatedBuildInputs)));
+
+  LIBRARY_PATH = concatStrings
+                   (intersperse ":" (map (x: x + "/lib")
+                                         (optionals (zlib != null) [ zlib ]
+                                          ++ optionals langJava [ boehmgc ]
+                                          ++ optionals javaAwtGtk xlibs
+                                          ++ optionals javaAwtGtk [ gmp mpfr ]
+                                          ++ optional (libpthread != null) libpthread)));
+
+  EXTRA_TARGET_CFLAGS =
+    if cross != null && libcCross != null
+    then "-idirafter ${libcCross}/include"
+    else null;
+
+  EXTRA_TARGET_LDFLAGS =
+    if cross != null && libcCross != null
+    then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" +
+         (optionalString (libpthreadCross != null)
+           " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}")
+    else null;
+
+  passthru =
+    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; };
+
+  inherit enableParallelBuilding enableMultilib;
+
+  inherit (stdenv) is64bit;
+
+  meta = {
+    homepage = http://gcc.gnu.org/;
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
+    description = "GNU Compiler Collection, version ${version}"
+      + (if stripped then "" else " (with debugging info)");
+
+    longDescription = ''
+      The GNU Compiler Collection includes compiler front ends for C, C++,
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
+      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+
+      GCC development is a part of the GNU Project, aiming to improve the
+      compiler used in the GNU system including the GNU/Linux variant.
+    '';
+
+    maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
+
+    # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
+    # gnatboot is not available out of linux platforms, so we disable the darwin build
+    # for the gnat (ada compiler).
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
+  };
+}
+
+// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+  makeFlags = [ "all-gcc" "all-target-libgcc" ];
+  installTargets = "install-gcc install-target-libgcc";
+}
+
+# Strip kills static libs of other archs (hence cross != null)
+// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+)
diff --git a/pkgs/development/compilers/gcc/4.7/gfortran-driving.patch b/pkgs/development/compilers/gcc/4.8/gfortran-driving.patch
index 70708886b40..70708886b40 100644
--- a/pkgs/development/compilers/gcc/4.7/gfortran-driving.patch
+++ b/pkgs/development/compilers/gcc/4.8/gfortran-driving.patch
diff --git a/pkgs/development/compilers/gcc/4.7/gnat-cflags.patch b/pkgs/development/compilers/gcc/4.8/gnat-cflags.patch
index bf2acf065e9..bf2acf065e9 100644
--- a/pkgs/development/compilers/gcc/4.7/gnat-cflags.patch
+++ b/pkgs/development/compilers/gcc/4.8/gnat-cflags.patch
diff --git a/pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc/4.8/java-jvgenmain-link.patch
index 2612e8bfbbb..2612e8bfbbb 100644
--- a/pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch
+++ b/pkgs/development/compilers/gcc/4.8/java-jvgenmain-link.patch
diff --git a/pkgs/development/compilers/gcc/4.7/libstdc++-target.patch b/pkgs/development/compilers/gcc/4.8/libstdc++-target.patch
index fb622b39580..fb622b39580 100644
--- a/pkgs/development/compilers/gcc/4.7/libstdc++-target.patch
+++ b/pkgs/development/compilers/gcc/4.8/libstdc++-target.patch
diff --git a/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch
new file mode 100644
index 00000000000..36df51904ac
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch
@@ -0,0 +1,28 @@
+diff -ru -x '*~' gcc-4.8.3-orig/gcc/cppdefault.c gcc-4.8.3/gcc/cppdefault.c
+--- gcc-4.8.3-orig/gcc/cppdefault.c	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.3/gcc/cppdefault.c	2014-08-18 16:20:32.893944536 +0200
+@@ -35,6 +35,8 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+ 
++#undef LOCAL_INCLUDE_DIR
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+diff -ru -x '*~' gcc-4.8.3-orig/gcc/gcc.c gcc-4.8.3/gcc/gcc.c
+--- gcc-4.8.3-orig/gcc/gcc.c	2014-03-23 12:30:57.000000000 +0100
++++ gcc-4.8.3/gcc/gcc.c	2014-08-18 13:19:32.689201690 +0200
+@@ -1162,10 +1162,10 @@
+ /* Default prefixes to attach to command names.  */
+ 
+ #ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#define STANDARD_STARTFILE_PREFIX_1 ""
+ #endif
+ #ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#define STANDARD_STARTFILE_PREFIX_2 ""
+ #endif
+ 
+ #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
diff --git a/pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch b/pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch
new file mode 100644
index 00000000000..bc56ac698f5
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch
@@ -0,0 +1,32 @@
+Hacky work-around for highly parallel builds.
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57125
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index aad927c..182f666 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -3908,21 +3908,21 @@ build/gengtype-lex.o: $(BCONFIG_H)
+ 
+ gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+   $(SYSTEM_H)
+-gengtype-parse.o: $(CONFIG_H)
++gengtype-parse.o: $(CONFIG_H) $(BCONFIG_H)
+ CFLAGS-gengtype-parse.o += -DGENERATOR_FILE
+ build/gengtype-parse.o: $(BCONFIG_H)
+ 
+ gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+   gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \
+   $(XREGEX_H)
+-gengtype-state.o: $(CONFIG_H)
++gengtype-state.o: $(CONFIG_H) $(BCONFIG_H)
+ CFLAGS-gengtype-state.o += -DGENERATOR_FILE
+ build/gengtype-state.o: $(BCONFIG_H)
+ 
+ gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+   rtl.def insn-notes.def errors.h double-int.h version.h $(HASHTAB_H) \
+   $(OBSTACK_H) $(XREGEX_H)
+-gengtype.o: $(CONFIG_H)
++gengtype.o: $(CONFIG_H) $(BCONFIG_H)
+ CFLAGS-gengtype.o += -DGENERATOR_FILE
+ build/gengtype.o: $(BCONFIG_H)
+ 
diff --git a/pkgs/development/compilers/gcc/4.9/builder.sh b/pkgs/development/compilers/gcc/4.9/builder.sh
new file mode 100644
index 00000000000..b781fa6c7ef
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/builder.sh
@@ -0,0 +1,245 @@
+source $stdenv/setup
+
+
+export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
+mkdir $NIX_FIXINC_DUMMY
+
+
+if test "$staticCompiler" = "1"; then
+    EXTRA_LDFLAGS="-static"
+else
+    EXTRA_LDFLAGS=""
+fi
+
+# GCC interprets empty paths as ".", which we don't want.
+if test -z "$CPATH"; then unset CPATH; fi
+if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi
+echo "\$CPATH is \`$CPATH'"
+echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
+
+if test "$noSysDirs" = "1"; then
+
+    if test -e $NIX_GCC/nix-support/orig-libc; then
+
+        # Figure out what extra flags to pass to the gcc compilers
+        # being generated to make sure that they use our glibc.
+        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+
+        # Use *real* header files, otherwise a limits.h is generated
+        # that does not include Glibc's limits.h (notably missing
+        # SSIZE_MAX, which breaks the build).
+        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+
+        # The path to the Glibc binaries such as `crti.o'.
+        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+
+    else
+        # Hack: support impure environments.
+        extraFlags="-isystem /usr/include"
+        extraLDFlags="-L/usr/lib64 -L/usr/lib"
+        glibc_libdir="/usr/lib"
+        export NIX_FIXINC_DUMMY=/usr/include
+    fi
+
+    extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags"
+    extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
+
+    # BOOT_CFLAGS defaults to `-g -O2'; since we override it below,
+    # make sure to explictly add them so that files compiled with the
+    # bootstrap compiler are optimized and (optionally) contain
+    # debugging information (info "(gccinstall) Building").
+    if test -n "$dontStrip"; then
+        extraFlags="-O2 -g $extraFlags"
+    else
+        # Don't pass `-g' at all; this saves space while building.
+        extraFlags="-O2 $extraFlags"
+    fi
+
+    EXTRA_FLAGS="$extraFlags"
+    for i in $extraLDFlags; do
+        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i"
+    done
+
+    if test -n "$targetConfig"; then
+        # Cross-compiling, we need gcc not to read ./specs in order to build
+        # the g++ compiler (after the specs for the cross-gcc are created).
+        # Having LIBRARY_PATH= makes gcc read the specs from ., and the build
+        # breaks. Having this variable comes from the default.nix code to bring
+        # gcj in.
+        unset LIBRARY_PATH
+        unset CPATH
+        if test -z "$crossStageStatic"; then
+            EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include"
+            EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib -Wl,-rpath,${libcCross}/lib -Wl,-rpath-link,${libcCross}/lib"
+        fi
+    else
+        if test -z "$NIX_GCC_CROSS"; then
+            EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
+            EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
+            EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
+        else
+            # This the case of cross-building the gcc.
+            # We need special flags for the target, different than those of the build
+            # Assertion:
+            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+
+            # Figure out what extra flags to pass to the gcc compilers
+            # being generated to make sure that they use our glibc.
+            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+
+            # Use *real* header files, otherwise a limits.h is generated
+            # that does not include Glibc's limits.h (notably missing
+            # SSIZE_MAX, which breaks the build).
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+
+            # The path to the Glibc binaries such as `crti.o'.
+            glibc_dir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)"
+            glibc_libdir="$glibc_dir/lib"
+            configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include"
+
+            extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
+            extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
+
+            EXTRA_TARGET_CFLAGS="$extraFlags"
+            for i in $extraLDFlags; do
+                EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i"
+            done
+        fi
+    fi
+
+
+    # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
+    # the startfiles.
+    # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
+    # for the startfiles.
+    makeFlagsArray=( \
+        "${makeFlagsArray[@]}" \
+        NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
+        SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
+        CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+        CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+        FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+        LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \
+        )
+
+    if test -z "$targetConfig"; then
+        makeFlagsArray=( \
+            "${makeFlagsArray[@]}" \
+            BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+            BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
+            )
+    fi
+
+    if test -n "$targetConfig" -a "$crossStageStatic" == 1; then
+        # We don't want the gcc build to assume there will be a libc providing
+        # limits.h in this stagae
+        makeFlagsArray=( \
+            "${makeFlagsArray[@]}" \
+            LIMITS_H_TEST=false \
+            )
+    else
+        makeFlagsArray=( \
+            "${makeFlagsArray[@]}" \
+            LIMITS_H_TEST=true \
+            )
+    fi
+fi
+
+if test -n "$targetConfig"; then
+    # The host strip will destroy some important details of the objects
+    dontStrip=1
+fi
+
+providedPreConfigure="$preConfigure";
+preConfigure() {
+    if test -n "$newlibSrc"; then
+        tar xvf "$newlibSrc" -C ..
+        ln -s ../newlib-*/newlib newlib
+        # Patch to get armvt5el working:
+        sed -i -e 's/ arm)/ arm*)/' newlib/configure.host
+    fi
+    # Bug - they packaged zlib
+    if test -d "zlib"; then
+        # This breaks the build without-headers, which should build only
+        # the target libgcc as target libraries.
+        # See 'configure:5370'
+        rm -Rf zlib
+    fi
+
+    if test -f "$NIX_GCC/nix-support/orig-libc"; then
+        # Patch the configure script so it finds glibc headers.  It's
+        # important for example in order not to get libssp built,
+        # because its functionality is in glibc already.
+        glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
+        sed -i \
+            -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \
+            gcc/configure
+    fi
+
+    if test -n "$crossMingw" -a -n "$crossStageStatic"; then
+        mkdir -p ../mingw
+        # --with-build-sysroot expects that:
+        cp -R $libcCross/include ../mingw
+        configureFlags="$configureFlags --with-build-sysroot=`pwd`/.."
+    fi
+
+    # Eval the preConfigure script from nix expression.
+    eval $providedPreConfigure;
+    env;
+    # Perform the build in a different directory.
+    mkdir ../build
+    cd ../build
+    configureScript=../$sourceRoot/configure
+}
+
+
+postConfigure() {
+    # Don't store the configure flags in the resulting executables.
+    sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile
+}
+
+
+postInstall() {
+    # Remove precompiled headers for now.  They are very big and
+    # probably not very useful yet.
+    find $out/include -name "*.gch" -exec rm -rf {} \; -prune
+
+    # Remove `fixincl' to prevent a retained dependency on the
+    # previous gcc.
+    rm -rf $out/libexec/gcc/*/*/install-tools
+    rm -rf $out/lib/gcc/*/*/install-tools
+
+    # More dependencies with the previous gcc or some libs (gccbug stores the build command line)
+    rm -rf $out/bin/gccbug
+    # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out
+    for i in $out/libexec/gcc/*/*/*; do
+        if PREV_RPATH=`patchelf --print-rpath $i`; then
+            patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i
+        fi
+    done
+
+    # Get rid of some "fixed" header files
+    rm -rf $out/lib/gcc/*/*/include/root
+
+    # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
+    for i in $out/bin/*-gcc*; do
+        if cmp -s $out/bin/gcc $i; then
+            ln -sfn gcc $i
+        fi
+    done
+
+    for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do
+        if cmp -s $out/bin/g++ $i; then
+            ln -sfn g++ $i
+        fi
+    done
+
+    eval "$postInstallGhdl"
+}
+
+genericBuild
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
new file mode 100644
index 00000000000..f61e6b4445a
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -0,0 +1,527 @@
+{ stdenv, fetchurl, noSysDirs
+, langC ? true, langCC ? true, langFortran ? false
+, langJava ? false
+, langAda ? false
+, langVhdl ? false
+, langGo ? false
+, profiledCompiler ? false
+, staticCompiler ? false
+, enableShared ? true
+, texinfo ? null
+, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, gmp, mpfr, mpc, gettext, which
+, libelf                      # optional, for link-time optimizations (LTO)
+, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
+, zlib ? null, boehmgc ? null
+, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
+, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
+, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
+, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
+, gnatboot ? null
+, enableMultilib ? false
+, enablePlugin ? true             # whether to support user-supplied plug-ins
+, name ? "gcc"
+, cross ? null
+, binutilsCross ? null
+, libcCross ? null
+, crossStageStatic ? true
+, gnat ? null
+, libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
+, stripped ? true
+, gnused ? null
+}:
+
+assert langJava     -> zip != null && unzip != null
+                       && zlib != null && boehmgc != null
+                       && perl != null;  # for `--enable-java-home'
+assert langAda      -> gnatboot != null;
+assert langVhdl     -> gnat != null;
+
+# We enable the isl cloog backend.
+assert cloog != null -> isl != null;
+
+# LTO needs libelf and zlib.
+assert libelf != null -> zlib != null;
+
+# Make sure we get GNU sed.
+assert stdenv.isDarwin -> gnused != null;
+
+# The go frontend is written in c++
+assert langGo -> langCC;
+
+with stdenv.lib;
+with builtins;
+
+let version = "4.9.1";
+
+    # Whether building a cross-compiler for GNU/Hurd.
+    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+
+    enableParallelBuilding = true;
+
+    patches = [ ]
+      ++ optional enableParallelBuilding ./parallel-bconfig.patch
+      ++ optional (cross != null) ./libstdc++-target.patch
+      # ++ optional noSysDirs ./no-sys-dirs.patch
+      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
+      # target libraries and tools.
+      ++ optional langAda ./gnat-cflags.patch
+      ++ optional langFortran ./gfortran-driving.patch;
+
+    javaEcj = fetchurl {
+      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
+      # `configure' time.
+
+      # XXX: Eventually we might want to take it from upstream.
+      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
+      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
+    };
+
+    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
+    # binary distribution here to allow the whole chain to be bootstrapped.
+    javaAntlr = fetchurl {
+      url = http://www.antlr.org/download/antlr-3.1.3.jar;
+      sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
+    };
+
+    xlibs = [
+      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
+      xproto renderproto xextproto inputproto randrproto
+    ];
+
+    javaAwtGtk = langJava && gtk != null;
+
+    /* Platform flags */
+    platformFlags = let
+        gccArch = stdenv.platform.gcc.arch or null;
+        gccCpu = stdenv.platform.gcc.cpu or null;
+        gccAbi = stdenv.platform.gcc.abi or null;
+        gccFpu = stdenv.platform.gcc.fpu or null;
+        gccFloat = stdenv.platform.gcc.float or null;
+        gccMode = stdenv.platform.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode;
+
+    /* Cross-gcc settings */
+    crossMingw = cross != null && cross.libc == "msvcrt";
+    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossConfigureFlags = let
+        gccArch = stdenv.cross.gcc.arch or null;
+        gccCpu = stdenv.cross.gcc.cpu or null;
+        gccAbi = stdenv.cross.gcc.abi or null;
+        gccFpu = stdenv.cross.gcc.fpu or null;
+        gccFloat = stdenv.cross.gcc.float or null;
+        gccMode = stdenv.cross.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        "--target=${cross.config}" +
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode +
+        (if crossMingw && crossStageStatic then
+          " --with-headers=${libcCross}/include" +
+          " --with-gcc" +
+          " --with-gnu-as" +
+          " --with-gnu-ld" +
+          " --with-gnu-ld" +
+          " --disable-shared" +
+          " --disable-nls" +
+          " --disable-debug" +
+          " --enable-sjlj-exceptions" +
+          " --enable-threads=win32" +
+          " --disable-win32-registry"
+          else if crossStageStatic then
+          " --disable-libssp --disable-nls" +
+          " --without-headers" +
+          " --disable-threads " +
+          " --disable-libmudflap " +
+          " --disable-libgomp " +
+          " --disable-libquadmath" +
+          " --disable-shared" +
+          " --disable-decimal-float" # libdecnumber requires libc
+          else
+          (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot"
+           else                " --with-headers=${libcCross}/include") +
+          # Ensure that -print-prog-name is able to find the correct programs.
+          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
+            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
+            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+          )) +
+          " --enable-__cxa_atexit" +
+          " --enable-long-long" +
+          (if crossMingw then
+            " --enable-threads=win32" +
+            " --enable-sjlj-exceptions" +
+            " --enable-hash-synchronization" +
+            " --disable-libssp" +
+            " --disable-nls" +
+            " --with-dwarf2" +
+            # I think noone uses shared gcc libs in mingw, so we better do the same.
+            # In any case, mingw32 g++ linking is broken by default with shared libs,
+            # unless adding "-lsupc++" to any linking command. I don't know why.
+            " --disable-shared" +
+            # To keep ABI compatibility with upstream mingw-w64
+            " --enable-fully-dynamic-string"
+            else (if cross.libc == "uclibc" then
+              # In uclibc cases, libgomp needs an additional '-ldl'
+              # and as I don't know how to pass it, I disable libgomp.
+              " --disable-libgomp" else "") +
+            " --enable-threads=posix" +
+            " --enable-nls" +
+            " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
+          );
+    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
+    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+
+  bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
+
+in
+
+# We need all these X libraries when building AWT with GTK+.
+assert gtk != null -> (filter (x: x == null) xlibs) == [];
+
+stdenv.mkDerivation ({
+  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
+    sha256 = "0zki3ngi0gsidnmsp88mjl2868cc7cm5wm1vwqw6znja28d7hd6k";
+  };
+
+  inherit patches;
+
+  postPatch =
+    if (stdenv.isGNU
+        || (libcCross != null                  # e.g., building `gcc.crossDrv'
+            && libcCross ? crossConfig
+            && libcCross.crossConfig == "i586-pc-gnu")
+        || (crossGNU && libcCross != null))
+    then
+      # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
+      # in glibc, so add the right `-I' flags to the default spec string.
+      assert libcCross != null -> libpthreadCross != null;
+      let
+        libc = if libcCross != null then libcCross else stdenv.glibc;
+        gnu_h = "gcc/config/gnu.h";
+        extraCPPDeps =
+             libc.propagatedBuildInputs
+          ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
+          ++ stdenv.lib.optional (libpthread != null) libpthread;
+        extraCPPSpec =
+          concatStrings (intersperse " "
+                          (map (x: "-I${x}/include") extraCPPDeps));
+        extraLibSpec =
+          if libpthreadCross != null
+          then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
+          else "-L${libpthread}/lib";
+      in
+        '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
+
+           echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
+
+           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..."
+           sed -i "${gnu_h}" \
+               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
+        ''
+    else if cross != null || stdenv.gcc.libc != null then
+      # On NixOS, use the right path to the dynamic linker instead of
+      # `/lib/ld*.so'.
+      let
+        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
+      in
+        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
+           for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
+           do
+             grep -q LIBC_DYNAMIC_LINKER "$header" || continue
+             echo "  fixing \`$header'..."
+             sed -i "$header" \
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g'
+           done
+        ''
+    else null;
+
+  inherit noSysDirs staticCompiler langJava crossStageStatic
+    libcCross crossMingw;
+
+  nativeBuildInputs = [ texinfo which gettext ]
+    ++ (optional (perl != null) perl)
+    ++ (optional javaAwtGtk pkgconfig);
+
+  buildInputs = [ gmp mpfr mpc libelf ]
+    ++ (optional (ppl != null) ppl)
+    ++ (optional (cloog != null) cloog)
+    ++ (optional (isl != null) isl)
+    ++ (optional (zlib != null) zlib)
+    ++ (optionals langJava [ boehmgc zip unzip ])
+    ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
+    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals langAda [gnatboot])
+    ++ (optionals langVhdl [gnat])
+
+    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+    ++ (optional stdenv.isDarwin gnused)
+    ;
+
+  NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
+
+  preConfigure = ''
+    configureFlagsArray=(
+      ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
+        "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
+      ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
+        "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
+         \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
+    );
+    ${stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit)
+      ''
+        export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+        export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+        export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+        export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+      ''}
+    '';
+
+  dontDisableStatic = true;
+
+  configureFlags = "
+    ${if stdenv.isSunOS then
+      " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
+      # On Illumos/Solaris GNU as is preferred
+      " --with-gnu-as --without-gnu-ld "
+      else ""}
+    --enable-lto
+    ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"}
+    ${if enableShared then "" else "--disable-shared"}
+    ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
+    ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
+    ${optionalString (isl != null) "--with-isl=${isl}"}
+    ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
+    ${if langJava then
+      "--with-ecj-jar=${javaEcj} " +
+
+      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
+      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
+      "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
+      else ""}
+    ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+    ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
+    --with-gmp=${gmp}
+    --with-mpfr=${mpfr}
+    --with-mpc=${mpc}
+    ${if libelf != null then "--with-libelf=${libelf}" else ""}
+    --disable-libstdcxx-pch
+    --without-included-gettext
+    --with-system-zlib
+    --enable-static
+    --enable-languages=${
+      concatStrings (intersperse ","
+        (  optional langC        "c"
+        ++ optional langCC       "c++"
+        ++ optional langFortran  "fortran"
+        ++ optional langJava     "java"
+        ++ optional langAda      "ada"
+        ++ optional langVhdl     "vhdl"
+        ++ optional langGo       "go"
+        ++ optionals crossDarwin [ "objc" "obj-c++" ]
+        )
+      )
+    }
+    ${if (stdenv ? glibc && cross == null)
+      then " --with-native-system-header-dir=${stdenv.glibc}/include"
+      else ""}
+    ${if langAda then " --enable-libada" else ""}
+    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
+    ${if cross != null then crossConfigureFlags else ""}
+    ${if !bootstrap then "--disable-bootstrap" else ""}
+    ${if cross == null then platformFlags else ""}
+  ";
+
+  targetConfig = if cross != null then cross.config else null;
+
+  buildFlags = if bootstrap then
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
+    else "";
+
+  installTargets =
+    if stripped
+    then "install-strip"
+    else "install";
+
+  crossAttrs = let
+    xgccArch = stdenv.cross.gcc.arch or null;
+    xgccCpu = stdenv.cross.gcc.cpu or null;
+    xgccAbi = stdenv.cross.gcc.abi or null;
+    xgccFpu = stdenv.cross.gcc.fpu or null;
+    xgccFloat = stdenv.cross.gcc.float or null;
+    xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
+    xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
+    xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
+    xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
+    xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
+  in {
+    AR = "${stdenv.cross.config}-ar";
+    LD = "${stdenv.cross.config}-ld";
+    CC = "${stdenv.cross.config}-gcc";
+    CXX = "${stdenv.cross.config}-gcc";
+    AR_FOR_TARGET = "${stdenv.cross.config}-ar";
+    LD_FOR_TARGET = "${stdenv.cross.config}-ld";
+    CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
+    NM_FOR_TARGET = "${stdenv.cross.config}-nm";
+    CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
+    # If we are making a cross compiler, cross != null
+    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    dontStrip = true;
+    configureFlags = ''
+      ${if enableMultilib then "" else "--disable-multilib"}
+      ${if enableShared then "" else "--disable-shared"}
+      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
+      ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
+      ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
+      ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+      ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""}
+      --with-gmp=${gmp.crossDrv}
+      --with-mpfr=${mpfr.crossDrv}
+      --disable-libstdcxx-pch
+      --without-included-gettext
+      --with-system-zlib
+      --enable-languages=${
+        concatStrings (intersperse ","
+          (  optional langC        "c"
+          ++ optional langCC       "c++"
+          ++ optional langFortran  "fortran"
+          ++ optional langJava     "java"
+          ++ optional langAda      "ada"
+          ++ optional langVhdl     "vhdl"
+          ++ optional langGo       "go"
+          )
+        )
+      }
+      ${if langAda then " --enable-libada" else ""}
+      --target=${stdenv.cross.config}
+      ${xwithArch}
+      ${xwithCpu}
+      ${xwithAbi}
+      ${xwithFpu}
+      ${xwithFloat}
+    '';
+    buildFlags = "";
+  };
+
+
+  # Needed for the cross compilation to work
+  AR = "ar";
+  LD = "ld";
+  # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+  CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
+
+  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
+  # the library headers and binaries, regarless of the language being
+  # compiled.
+
+  # Note: When building the Java AWT GTK+ peer, the build system doesn't
+  # honor `--with-gmp' et al., e.g., when building
+  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
+  # add them to $CPATH and $LIBRARY_PATH in this case.
+  #
+  # Likewise, the LTO code doesn't find zlib.
+
+  CPATH = concatStrings
+            (intersperse ":" (map (x: x + "/include")
+                                  (optionals (zlib != null) [ zlib ]
+                                   ++ optionals langJava [ boehmgc ]
+                                   ++ optionals javaAwtGtk xlibs
+                                   ++ optionals javaAwtGtk [ gmp mpfr ]
+                                   ++ optional (libpthread != null) libpthread
+                                   ++ optional (libpthreadCross != null) libpthreadCross
+
+                                   # On GNU/Hurd glibc refers to Mach & Hurd
+                                   # headers.
+                                   ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
+                                        libcCross.propagatedBuildInputs)));
+
+  LIBRARY_PATH = concatStrings
+                   (intersperse ":" (map (x: x + "/lib")
+                                         (optionals (zlib != null) [ zlib ]
+                                          ++ optionals langJava [ boehmgc ]
+                                          ++ optionals javaAwtGtk xlibs
+                                          ++ optionals javaAwtGtk [ gmp mpfr ]
+                                          ++ optional (libpthread != null) libpthread)));
+
+  EXTRA_TARGET_CFLAGS =
+    if cross != null && libcCross != null
+    then "-idirafter ${libcCross}/include"
+    else null;
+
+  EXTRA_TARGET_LDFLAGS =
+    if cross != null && libcCross != null
+    then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" +
+         (optionalString (libpthreadCross != null)
+           " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}")
+    else null;
+
+  passthru =
+    { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; };
+
+  inherit enableParallelBuilding;
+
+  meta = {
+    homepage = http://gcc.gnu.org/;
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
+    description = "GNU Compiler Collection, version ${version}"
+      + (if stripped then "" else " (with debugging info)");
+
+    longDescription = ''
+      The GNU Compiler Collection includes compiler front ends for C, C++,
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
+      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+
+      GCC development is a part of the GNU Project, aiming to improve the
+      compiler used in the GNU system including the GNU/Linux variant.
+    '';
+
+    maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
+
+    # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
+    # gnatboot is not available out of linux platforms, so we disable the darwin build
+    # for the gnat (ada compiler).
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
+  };
+}
+
+// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+  makeFlags = [ "all-gcc" "all-target-libgcc" ];
+  installTargets = "install-gcc install-target-libgcc";
+}
+
+# Strip kills static libs of other archs (hence cross != null)
+// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+)
diff --git a/pkgs/development/compilers/gcc/4.9/gfortran-driving.patch b/pkgs/development/compilers/gcc/4.9/gfortran-driving.patch
new file mode 100644
index 00000000000..70708886b40
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/gfortran-driving.patch
@@ -0,0 +1,20 @@
+This patch fixes interaction with Libtool.
+See <http://thread.gmane.org/gmane.comp.gcc.patches/258777>, for details.
+
+--- a/gcc/fortran/gfortranspec.c
++++ b/gcc/fortran/gfortranspec.c
+@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n"));
+     {
+       fprintf (stderr, _("Driving:"));
+       for (i = 0; i < g77_newargc; i++)
++	{
++	  if (g77_new_decoded_options[i].opt_index == OPT_l)
++	    /* Make sure no white space is inserted after `-l'.  */
++	    fprintf (stderr, " -l%s",
++		     g77_new_decoded_options[i].canonical_option[1]);
++	  else
+ 	fprintf (stderr, " %s",
+ 		 g77_new_decoded_options[i].orig_option_with_args_text);
++	}
+       fprintf (stderr, "\n");
+     }
diff --git a/pkgs/development/compilers/gcc/4.9/gnat-cflags.patch b/pkgs/development/compilers/gcc/4.9/gnat-cflags.patch
new file mode 100644
index 00000000000..bf2acf065e9
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/gnat-cflags.patch
@@ -0,0 +1,33 @@
+diff --git a/libada/Makefile.in b/libada/Makefile.in
+index f5057a0..337e0c6 100644
+--- a/libada/Makefile.in
++++ b/libada/Makefile.in
+@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN)
+ WARN_CFLAGS = @warn_cflags@
+ 
+ TARGET_LIBGCC2_CFLAGS=
+-GNATLIBCFLAGS= -g -O2
++GNATLIBCFLAGS= -g -O2 $(CFLAGS)
+ GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \
+ 	-DIN_RTS @have_getipinfo@
+ 
+--- a/gcc/ada/gcc-interface/Makefile.in
++++ b/gcc/ada/gcc-interface/Makefile.in
+@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata
+ SOME_ADAFLAGS =-gnata
+ FORCE_DEBUG_ADAFLAGS = -g
+ GNATLIBFLAGS = -gnatpg -nostdinc
+-GNATLIBCFLAGS = -g -O2
++GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET)
+ # Pretend that _Unwind_GetIPInfo is available for the target by default.  This
+ # should be autodetected during the configuration of libada and passed down to
+ # here, but we need something for --disable-libada and hope for the best.
+@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
+ # Link flags used to build gnat tools.  By default we prefer to statically
+ # link with libgcc to avoid a dependency on shared libgcc (which is tricky
+ # to deal with as it may conflict with the libgcc provided by the system).
+-GCC_LINK_FLAGS=-static-libgcc
++GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET)
+ 
+ # End of variables for you to override.
+ 
diff --git a/pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch
new file mode 100644
index 00000000000..2612e8bfbbb
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch
@@ -0,0 +1,17 @@
+The `jvgenmain' executable must be linked against `vec.o', among others,
+since it uses its vector API.
+
+--- gcc-4.3.3/gcc/java/Make-lang.in	2008-12-05 00:00:19.000000000 +0100
++++ gcc-4.3.3/gcc/java/Make-lang.in	2009-07-03 16:11:41.000000000 +0200
+@@ -109,9 +109,9 @@ jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIB
+ 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \
+ 		$(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS)
+ 
+-jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS)
++jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) $(BUILD_RTL)
+ 	rm -f $@
+-	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS)
++	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(BUILD_RTL) $(LIBS)
+ 
+ #
+ # Build hooks:
diff --git a/pkgs/development/compilers/gcc/4.9/libstdc++-target.patch b/pkgs/development/compilers/gcc/4.9/libstdc++-target.patch
new file mode 100644
index 00000000000..fb622b39580
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/libstdc++-target.patch
@@ -0,0 +1,32 @@
+Patch to make the target libraries 'configure' scripts find the proper CPP.
+I noticed that building the mingw32 cross compiler.
+Looking at the build script for mingw in archlinux, I think that only nixos
+needs this patch. I don't know why.
+diff --git a/Makefile.in b/Makefile.in
+index 93f66b6..d691917 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \
+ 	AR="$(AR_FOR_TARGET)"; export AR; \
+ 	AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+ 	CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
++	CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \
+ 	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ 	CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \
+ RAW_CXX_TARGET_EXPORTS = \
+ 	$(BASE_TARGET_EXPORTS) \
+ 	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
+-	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
++	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \
++	CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX;
+ 
+ NORMAL_TARGET_EXPORTS = \
+ 	$(BASE_TARGET_EXPORTS) \
+-	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
++	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \
++	CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX;
+ 
+ # Where to find GMP
+ HOST_GMPLIBS = @gmplibs@
diff --git a/pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.9/no-sys-dirs.patch
index 79901703cb8..79901703cb8 100644
--- a/pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch
+++ b/pkgs/development/compilers/gcc/4.9/no-sys-dirs.patch
diff --git a/pkgs/development/compilers/gcc/4.9/parallel-bconfig.patch b/pkgs/development/compilers/gcc/4.9/parallel-bconfig.patch
new file mode 100644
index 00000000000..bc56ac698f5
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.9/parallel-bconfig.patch
@@ -0,0 +1,32 @@
+Hacky work-around for highly parallel builds.
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57125
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index aad927c..182f666 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -3908,21 +3908,21 @@ build/gengtype-lex.o: $(BCONFIG_H)
+ 
+ gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+   $(SYSTEM_H)
+-gengtype-parse.o: $(CONFIG_H)
++gengtype-parse.o: $(CONFIG_H) $(BCONFIG_H)
+ CFLAGS-gengtype-parse.o += -DGENERATOR_FILE
+ build/gengtype-parse.o: $(BCONFIG_H)
+ 
+ gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+   gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \
+   $(XREGEX_H)
+-gengtype-state.o: $(CONFIG_H)
++gengtype-state.o: $(CONFIG_H) $(BCONFIG_H)
+ CFLAGS-gengtype-state.o += -DGENERATOR_FILE
+ build/gengtype-state.o: $(BCONFIG_H)
+ 
+ gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+   rtl.def insn-notes.def errors.h double-int.h version.h $(HASHTAB_H) \
+   $(OBSTACK_H) $(XREGEX_H)
+-gengtype.o: $(CONFIG_H)
++gengtype.o: $(CONFIG_H) $(BCONFIG_H)
+ CFLAGS-gengtype.o += -DGENERATOR_FILE
+ build/gengtype.o: $(BCONFIG_H)
+ 
diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix
index 85da8f72bf8..73492fc65b7 100644
--- a/pkgs/development/compilers/gcl/default.nix
+++ b/pkgs/development/compilers/gcl/default.nix
@@ -16,15 +16,12 @@ assert a.stdenv.gcc.gcc != null ;
 assert a.stdenv.gcc.libc != null ;
 
 rec {
-  src = a.fetchcvs {
-    cvsRoot = ":pserver:anonymous@cvs.sv.gnu.org:/sources/gcl";
-    module = "gcl";
-    # tag = "Version_2_6_8pre";
-    date = "2010-07-01";
-    sha256 = "a61d1bf669fd11d13050e8e1ab850a5eecb38126b47c744c3e21646773c4fb4d";
+  src = a.fetchurl {
+    sha256 = "1vsicv81ml7d92c87bckgkpvcshi6hzdnj44k0j6zs5mj8pzp8br";
+    url="http://gnu.spinellicreations.com/gcl/gcl-2.6.10.tar.gz";
   };
 
-  name = "gcl-2.6.8pre";
+  name = "gcl-2.6.10";
   inherit buildInputs;
   configureFlags = [
     "--enable-ansi"
diff --git a/pkgs/development/compilers/ghc/6.10.4.nix b/pkgs/development/compilers/ghc/6.10.4.nix
index 92afc0f4b88..5d02088c44c 100644
--- a/pkgs/development/compilers/ghc/6.10.4.nix
+++ b/pkgs/development/compilers/ghc/6.10.4.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
     "--with-gcc=${stdenv.gcc}/bin/gcc"
   ];
 
+  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
+
   meta = {
     inherit homepage;
     description = "The Glasgow Haskell Compiler";
diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix
index 05ceba030b9..08c9c1739ed 100644
--- a/pkgs/development/compilers/ghc/6.12.3.nix
+++ b/pkgs/development/compilers/ghc/6.12.3.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     "--with-gcc=${stdenv.gcc}/bin/gcc"
   ];
 
+  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags=["-S" "--keep-file-symbols"];
diff --git a/pkgs/development/compilers/ghc/7.0.1.nix b/pkgs/development/compilers/ghc/7.0.1.nix
index da7e81f5730..b0b03d4b8cc 100644
--- a/pkgs/development/compilers/ghc/7.0.1.nix
+++ b/pkgs/development/compilers/ghc/7.0.1.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "http://new-www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
+    url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
     sha256 = "1iciljngxmqy465cw3pkl6jp0ydiils4bfz6ixfaxk7aqv7r7xsi";
   };
 
diff --git a/pkgs/development/compilers/ghc/7.0.2.nix b/pkgs/development/compilers/ghc/7.0.2.nix
index 6706b99e203..5dd2e14b0c6 100644
--- a/pkgs/development/compilers/ghc/7.0.2.nix
+++ b/pkgs/development/compilers/ghc/7.0.2.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
       stdenv.lib.maintainers.andres
     ];
     inherit (ghc.meta) license platforms;
+    broken = true;
   };
 
 }
diff --git a/pkgs/development/compilers/ghc/7.0.3.nix b/pkgs/development/compilers/ghc/7.0.3.nix
index 0b422043ae2..c8d4b264804 100644
--- a/pkgs/development/compilers/ghc/7.0.3.nix
+++ b/pkgs/development/compilers/ghc/7.0.3.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
       stdenv.lib.maintainers.andres
     ];
     inherit (ghc.meta) license platforms;
+    broken = true;
   };
 
 }
diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix
index 1cafdd51bee..ab69df12aa8 100644
--- a/pkgs/development/compilers/ghc/7.0.4.nix
+++ b/pkgs/development/compilers/ghc/7.0.4.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     "--with-gcc=${stdenv.gcc}/bin/gcc"
   ];
 
+  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags=["-S" "--keep-file-symbols"];
diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix
index c6ec0cb75c4..7e714ae3b78 100644
--- a/pkgs/development/compilers/ghc/7.2.2.nix
+++ b/pkgs/development/compilers/ghc/7.2.2.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     "--with-gcc=${stdenv.gcc}/bin/gcc"
   ];
 
+  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags=["-S" "--keep-file-symbols"];
diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix
index 0bc2a855306..497a59e17fa 100644
--- a/pkgs/development/compilers/ghc/7.4.2.nix
+++ b/pkgs/development/compilers/ghc/7.4.2.nix
@@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ghc perl gmp ncurses ];
 
-  enableParallelBuilding = true;
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
@@ -22,6 +21,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     echo "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.6.1.nix b/pkgs/development/compilers/ghc/7.6.1.nix
index 99c93c7a980..5a63d30390d 100644
--- a/pkgs/development/compilers/ghc/7.6.1.nix
+++ b/pkgs/development/compilers/ghc/7.6.1.nix
@@ -12,17 +12,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ghc perl gmp ncurses ];
 
-  # My attempts to compile GHC with parallel build support enabled, failed
-  # 4 consecutive times with the following error:
-  #
-  #    building rts/dist/build/AutoApply.debug_o
-  #    building rts/dist/build/AutoApply.thr_o
-  #      rts_dist_HC rts/dist/build/AutoApply.debug_o
-  #    /nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a/bin/ld: cannot find libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers_o_split/gmp-wrappers__1.o
-  #    collect2: ld returned 1 exit status
-  #    make[1]: *** [libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.p_o] Error 1
-  enableParallelBuilding = false;
-
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
diff --git a/pkgs/development/compilers/ghc/7.6.2.nix b/pkgs/development/compilers/ghc/7.6.2.nix
index ac2810c62b2..45f877ffc7c 100644
--- a/pkgs/development/compilers/ghc/7.6.2.nix
+++ b/pkgs/development/compilers/ghc/7.6.2.nix
@@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ghc perl gmp ncurses ];
 
-  enableParallelBuilding = true;
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix
index 427d21660b8..dc84446a276 100644
--- a/pkgs/development/compilers/ghc/7.6.3.nix
+++ b/pkgs/development/compilers/ghc/7.6.3.nix
@@ -1,6 +1,13 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, binutils }:
 
-stdenv.mkDerivation rec {
+let
+  # The "-Wa,--noexecstack" options might be needed only with GNU ld (as opposed
+  # to the gold linker). It prevents binaries' stacks from being marked as
+  # executable, which fails to run on a grsecurity/PaX kernel.
+  ghcFlags = "-optc-Wa,--noexecstack -opta-Wa,--noexecstack";
+  cFlags = "-Wa,--noexecstack";
+
+in stdenv.mkDerivation rec {
   version = "7.6.3";
 
   name = "ghc-${version}";
@@ -12,21 +19,40 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ghc perl gmp ncurses ];
 
-  enableParallelBuilding = true;
-
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    # Set ghcFlags for building ghc itself
+    SRC_HC_OPTS += ${ghcFlags}
+    SRC_CC_OPTS += ${cFlags}
   '';
 
   preConfigure = ''
     echo "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    # Set ghcFlags for binaries that ghc builds
+    sed -i -e 's|"\$topdir"|"\$topdir" ${ghcFlags}|' ghc/ghc.wrapper
+
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
   '';
 
   configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
 
+  postInstall = ''
+    # ghci uses mmap with rwx protection at it implements dynamic
+    # linking on its own. See:
+    # - https://bugs.gentoo.org/show_bug.cgi?id=299709
+    # - https://ghc.haskell.org/trac/ghc/ticket/4244
+    # Therefore, we have to pax-mark the resulting binary.
+    # Haddock also seems to run with ghci, so mark it as well.
+    paxmark m $out/lib/${name}/{ghc,haddock}
+  '';
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags=["-S" "--keep-file-symbols"];
diff --git a/pkgs/development/compilers/ghc/7.8.3.nix b/pkgs/development/compilers/ghc/7.8.3.nix
new file mode 100644
index 00000000000..dbcba36fa8f
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.8.3.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+
+stdenv.mkDerivation rec {
+  version = "7.8.3";
+  name = "ghc-${version}";
+
+  src = fetchurl {
+    url = "http://www.haskell.org/ghc/dist/7.8.3/${name}-src.tar.xz";
+    sha256 = "0n5rhwl83yv8qm0zrbaxnyrf8x1i3b6si927518mwfxs96jrdkdh";
+  };
+
+  buildInputs = [ ghc perl gmp ncurses ];
+
+  enableParallelBuilding = true;
+
+  buildMK = ''
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    DYNAMIC_BY_DEFAULT = NO
+  '';
+
+  preConfigure = ''
+    echo "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+  '';
+
+  configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" "--keep-file-symbols" ];
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    maintainers = [
+      stdenv.lib.maintainers.marcweber
+      stdenv.lib.maintainers.andres
+      stdenv.lib.maintainers.simons
+    ];
+    inherit (ghc.meta) license platforms;
+  };
+
+}
diff --git a/pkgs/development/compilers/ghc/ghc-get-packages.sh b/pkgs/development/compilers/ghc/ghc-get-packages.sh
deleted file mode 100755
index 9ed1455d232..00000000000
--- a/pkgs/development/compilers/ghc/ghc-get-packages.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-# Usage:
-#  $1: version of GHC
-#  $2: invocation path of GHC
-#  $3: prefix
-version="$1"
-if test -z "$3"; then
-  prefix="-package-conf "
-else
-  prefix="$3"
-fi
-PATH="$2:$PATH"
-IFS=":"
-for p in $PATH; do
-  PkgDir="$p/../lib/ghc-pkgs/ghc-$version"
-  for i in $PkgDir/*.installedconf; do
-    # output takes place here
-    test -f $i && echo -n " $prefix$i"
-  done
-done
-test -f "$2/../lib/ghc-$version/package.conf" && echo -n " $prefix$2/../lib/ghc-$version/package.conf"
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index e7483700ab0..a5b4aeaff39 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }:
 
 stdenv.mkDerivation rec {
-  version = "7.7.20130828";
+  version = "7.9.20140814";
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "http://darcs.haskell.org/ghcBuilder/uploads/tn23/${name}-src.tar.bz2";
-    sha256 = "180nkd77kz3mv4g7yq8ipx34p5q8k714l0z2527y49lghy118jzv";
+    url = "http://deb.haskell.org/dailies/2014-08-14/ghc_${version}.orig.tar.bz2";
+    sha256 = "05vmlbzbfv72z570xmlh8n003z9xc4l5hixjqvczyyyisdvmyaa3";
   };
 
-  buildInputs = [ ghc perl gmp ncurses ];
+  buildInputs = [ ghc perl gmp ncurses happy alex ];
 
   enableParallelBuilding = true;
 
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     echo "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
   '';
 
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
index b32b12d5b95..9909c49e143 100644
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ b/pkgs/development/compilers/ghc/with-packages.nix
@@ -1,16 +1,42 @@
-{ stdenv, ghc, packages, buildEnv, makeWrapper }:
+{ stdenv, ghc, packages, buildEnv, makeWrapper, ignoreCollisions ? false }:
 
-assert packages != [];
+# This wrapper works only with GHC 6.12 or later.
+assert stdenv.lib.versionOlder "6.12" ghc.version;
+
+# It's probably a good idea to include the library "ghc-paths" in the
+# compiler environment, because we have a specially patched version of
+# that package in Nix that honors these environment variables
+#
+#   NIX_GHC
+#   NIX_GHCPKG
+#   NIX_GHC_DOCDIR
+#   NIX_GHC_LIBDIR
+#
+# instead of hard-coding the paths. The wrapper sets these variables
+# appropriately to configure ghc-paths to point back to the wrapper
+# instead of to the pristine GHC package, which doesn't know any of the
+# additional libraries.
+#
+# A good way to import the environment set by the wrapper below into
+# your shell is to add the following snippet to your ~/.bashrc:
+#
+#   if [ -e ~/.nix-profile/bin/ghc ]; then
+#     eval $(grep export ~/.nix-profile/bin/ghc)
+#   fi
 
 let
   ghc761OrLater = stdenv.lib.versionOlder "7.6.1" ghc.version;
-  packageDBFlag = if ghc761OrLater then "--package-db" else "--package-conf";
+  packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
   libDir        = "$out/lib/ghc-${ghc.version}";
+  docDir        = "$out/share/doc/ghc/html";
   packageCfgDir = "${libDir}/package.conf.d";
+  isHaskellPkg  = x: (x ? pname) && (x ? version);
 in
+if packages == [] then ghc else
 buildEnv {
   name = "haskell-env-${ghc.name}";
-  paths = stdenv.lib.filter (x: x ? ghc) (stdenv.lib.closePropagation packages) ++ [ghc];
+  paths = stdenv.lib.filter isHaskellPkg (stdenv.lib.closePropagation packages) ++ [ghc];
+  inherit ignoreCollisions;
   postBuild = ''
     . ${makeWrapper}/nix-support/setup-hook
 
@@ -20,6 +46,7 @@ buildEnv {
         --add-flags '"-B$NIX_GHC_LIBDIR"'               \
         --set "NIX_GHC"        "$out/bin/ghc"           \
         --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
+        --set "NIX_GHC_DOCDIR" "${docDir}"              \
         --set "NIX_GHC_LIBDIR" "${libDir}"
     done
 
@@ -29,12 +56,13 @@ buildEnv {
         --add-flags "-f $out/bin/ghc"                   \
         --set "NIX_GHC"        "$out/bin/ghc"           \
         --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
+        --set "NIX_GHC_DOCDIR" "${docDir}"              \
         --set "NIX_GHC_LIBDIR" "${libDir}"
     done
 
     for prg in ghc-pkg ghc-pkg-${ghc.version}; do
       rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag} ${packageCfgDir}"
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
     done
 
     $out/bin/ghc-pkg recache
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
new file mode 100644
index 00000000000..7b2e03f8d57
--- /dev/null
+++ b/pkgs/development/compilers/ghdl/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, gnat, zlib }:
+
+assert stdenv.system == "i686-linux";
+
+let
+  version = "0.31";
+in
+stdenv.mkDerivation rec {
+  name = "ghdl-mcode-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ghdl/ghdl-${version}.tar.gz";
+    sha256 = "1v0l9h6906b0bvnwfi2qg5nz9vjg80isc5qgjxr1yqxpkfm2xcf0";
+  };
+
+  buildInputs = [ gnat zlib ];
+
+  # Tarbomb
+  preUnpack = ''
+    mkdir ghdl
+    cd ghdl
+  '';
+
+  sourceRoot = "translate/ghdldrv";
+
+  patchPhase = ''
+    sed -i 's,$$curdir/lib,'$out'/share/ghdl_mcode/translate/lib,' Makefile
+  '';
+
+  postBuild = ''
+    # Build the LIB
+    ln -s ghdl_mcode ghdl
+    make install.mcode
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ghdl_mcode $out/bin
+
+    mkdir -p $out/share/ghdl_mcode/translate
+    cp -R ../lib $out/share/ghdl_mcode/translate
+    cp -R ../../libraries $out/share/ghdl_mcode
+
+    mkdir -p $out/share/man/man1
+    cp ../../doc/ghdl.1 $out/share/man/man1/ghdl_mcode.1
+
+    # Ghdl has some timestamps checks, storing file timestamps in '.cf' files.
+    # As we will change the timestamps to 1970-01-01 00:00:01, we also set the
+    # content of that .cf to that value. This way ghdl does not complain on
+    # the installed object files from the basic libraries (ieee, ...)
+    pushd $out
+    find . -name "*.cf" -exec \
+        sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \;
+    popd
+  '';
+
+  meta = {
+    homepage = "http://sourceforge.net/p/ghdl-updates/wiki/Home/";
+    description = "Free VHDL simulator, mcode flavour";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/compilers/gnatboot/default.nix b/pkgs/development/compilers/gnatboot/default.nix
index 1de0c88a6bc..3cab8379720 100644
--- a/pkgs/development/compilers/gnatboot/default.nix
+++ b/pkgs/development/compilers/gnatboot/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://gentoo.org;
-    license = "GPLv3+";  # runtime support libraries are typically LGPLv3+
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
     maintainers = [
       stdenv.lib.maintainers.viric
     ];
diff --git a/pkgs/development/compilers/go/1.1-darwin.nix b/pkgs/development/compilers/go/1.1-darwin.nix
index 2cbb8d49611..5b17f56ac37 100644
--- a/pkgs/development/compilers/go/1.1-darwin.nix
+++ b/pkgs/development/compilers/go/1.1-darwin.nix
@@ -45,6 +45,11 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p "$out/bin"
+
+    # CGO is broken on Maverick. See: http://code.google.com/p/go/issues/detail?id=5926
+    # Reevaluate once go 1.1.3 is out
+    export CGO_ENABLED=0
+
     export GOROOT="$(pwd)/"
     export GOBIN="$out/bin"
     export PATH="$GOBIN:$PATH"
diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix
new file mode 100644
index 00000000000..b519b96415b
--- /dev/null
+++ b/pkgs/development/compilers/go/1.2.nix
@@ -0,0 +1,86 @@
+{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }:
+
+let
+  loader386 = "${glibc}/lib/ld-linux.so.2";
+  loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
+  loaderArm = "${glibc}/lib/ld-linux.so.3";
+in
+
+stdenv.mkDerivation {
+  name = "go-1.2.2";
+
+  src = fetchurl {
+    url = https://storage.googleapis.com/golang/go1.2.2.src.tar.gz;
+    sha1 = "3ce0ac4db434fc1546fec074841ff40dc48c1167";
+  };
+
+  buildInputs = [ bison glibc bash makeWrapper ];
+
+  # I'm not sure what go wants from its 'src', but the go installation manual
+  # describes an installation keeping the src.
+  preUnpack = ''
+    mkdir -p $out/share
+    cd $out/share
+  '';
+
+  prePatch = ''
+    cd ..
+    if [ ! -d go ]; then
+      mv * go
+    fi
+    cd go
+
+    patchShebangs ./ # replace /bin/bash
+    # !!! substituteInPlace does not seems to be effective.
+    sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
+    sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
+    sed -i 's,/lib64/ld-linux-x86-64.so.3,${loaderArm},' src/cmd/5l/asm.c
+    sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
+    sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go
+
+    #sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \
+    #  -e 's,/bin/echo,${coreutils}/bin/echo,' \
+    #  src/pkg/exec/exec_test.go
+
+    # Disabling the 'os/http/net' tests (they want files not available in
+    # chroot builds)
+    rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go}
+    # The os test wants to read files in an existing path. Just it don't be /usr/bin.
+    sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go
+    sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
+    # Disable the hostname test
+    sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
+  '';
+
+  patches = [ ./cacert-1.2.patch ];
+
+  GOOS = "linux";
+  GOARCH = if stdenv.system == "i686-linux" then "386"
+          else if stdenv.system == "x86_64-linux" then "amd64"
+          else if stdenv.system == "armv5tel-linux" then "arm"
+          else throw "Unsupported system";
+  GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
+  GO386 = 387; # from Arch: don't assume sse2 on i686
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    export GOROOT="$(pwd)/"
+    export GOBIN="$out/bin"
+    export PATH="$GOBIN:$PATH"
+    cd ./src
+    ./all.bash
+    cd -
+
+    # Copy the emacs configuration for Go files.
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp ./misc/emacs/* $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    homepage = http://golang.org/;
+    description = "The Go Programming language";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ pierron viric wizeman ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix
new file mode 100644
index 00000000000..fafa045e562
--- /dev/null
+++ b/pkgs/development/compilers/go/1.3.nix
@@ -0,0 +1,94 @@
+{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }:
+
+let
+  loader386 = "${glibc}/lib/ld-linux.so.2";
+  loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
+  loaderArm = "${glibc}/lib/ld-linux.so.3";
+in
+
+stdenv.mkDerivation {
+  name = "go-1.3";
+
+  src = fetchurl {
+    url = https://storage.googleapis.com/golang/go1.3.src.tar.gz;
+    sha256 = "10jkqgzlinzynciw3wr15c7n2vw5q4d2ni65hbs3i61bbdn3x67b";
+  };
+
+  buildInputs = [ bison bash makeWrapper ] ++ lib.optionals stdenv.isLinux [ glibc ] ;
+
+  # I'm not sure what go wants from its 'src', but the go installation manual
+  # describes an installation keeping the src.
+  preUnpack = ''
+    mkdir -p $out/share
+    cd $out/share
+  '';
+
+  prePatch = ''
+    # Ensure that the source directory is named go
+    cd ..
+    if [ ! -d go ]; then
+      mv * go
+    fi
+    cd go
+    patchShebangs ./ # replace /bin/bash
+
+    # Disabling the 'os/http/net' tests (they want files not available in
+    # chroot builds)
+    rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go}
+    # !!! substituteInPlace does not seems to be effective.
+    # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
+    sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go
+    sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
+    # Disable the unix socket test
+    sed -i '/TestShutdownUnix/areturn' src/pkg/net/net_test.go
+    # Disable the hostname test
+    sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
+    sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go
+  '' + lib.optionalString stdenv.isLinux ''
+    sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
+    sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c
+    sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
+    sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
+  '';
+
+  patches = [ ./cacert-1.2.patch ];
+
+  GOOS = if stdenv.isDarwin then "darwin" else "linux";
+  GOARCH = if stdenv.isDarwin then "amd64"
+           else if stdenv.system == "i686-linux" then "386"
+           else if stdenv.system == "x86_64-linux" then "amd64"
+           else if stdenv.system == "armv5tel-linux" then "arm"
+           else throw "Unsupported system";
+  GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
+  GO386 = 387; # from Arch: don't assume sse2 on i686
+  CGO_ENABLED = 1;
+
+  installPhase = ''
+    export CC=cc
+
+    # http://lists.science.uu.nl/pipermail/nix-dev/2013-October/011891.html
+    # Fix for "libgcc_s.so.1 must be installed for pthread_cancel to work"
+    # during tests:
+    export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib/libgcc_s.so))"
+
+    mkdir -p "$out/bin"
+    export GOROOT="$(pwd)/"
+    export GOBIN="$out/bin"
+    export PATH="$GOBIN:$PATH"
+    cd ./src
+    ./all.bash
+    cd -
+
+    # Copy the emacs configuration for Go files.
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp ./misc/emacs/* $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    homepage = http://golang.org/;
+    description = "The Go Programming language";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ cstrahan ];
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/development/compilers/go/1_0-gcc-bug.patch b/pkgs/development/compilers/go/1_0-gcc-bug.patch
new file mode 100644
index 00000000000..34cf7ab7456
--- /dev/null
+++ b/pkgs/development/compilers/go/1_0-gcc-bug.patch
@@ -0,0 +1,19 @@
+http://code.google.com/p/go/source/detail?r=8b13b2ec6b18
+--- a/src/cmd/cgo/gcc.go	2014-07-02 12:00:12.171796197 +0200
++++ b/src/cmd/cgo/gcc.go	2014-07-02 12:01:57.844472754 +0200
+@@ -840,6 +840,15 @@
+ func (p *Package) gccErrors(stdin []byte) string {
+ 	// TODO(rsc): require failure
+ 	args := p.gccCmd()
++
++	// GCC 4.8.0 has a bug: it sometimes does not apply
++	// -Wunused-value to values that are macros defined in system
++	// headers.  See issue 5118.  Adding -Wsystem-headers avoids
++	// that problem.  This will produce additional errors, but it
++	// doesn't matter because we will ignore all errors that are
++	// not marked for the cgo-test file.
++	args = append(args, "-Wsystem-headers")
++
+ 	if *debugGcc {
+ 		fmt.Fprintf(os.Stderr, "$ %s <<EOF\n", strings.Join(args, " "))
+ 		os.Stderr.Write(stdin)
diff --git a/pkgs/development/compilers/go/1_0-opt-error.patch b/pkgs/development/compilers/go/1_0-opt-error.patch
new file mode 100644
index 00000000000..d3fcd40449a
--- /dev/null
+++ b/pkgs/development/compilers/go/1_0-opt-error.patch
@@ -0,0 +1,12 @@
+https://code.google.com/p/go-wiki/wiki/OlderVersions
+--- a/src/cmd/cc/funct.c	2014-07-02 11:54:42.230663598 +0200
++++ b/src/cmd/cc/funct.c	2014-07-02 11:55:01.653790128 +0200
+@@ -269,7 +269,7 @@
+ 		goto bad;
+ 
+ 	f = alloc(sizeof(*f));
+-	for(o=0; o<sizeof(f->sym); o++)
++	for(o=0; o<nelem(f->sym); o++)
+ 		f->sym[o] = S;
+ 
+ 	t->funct = f;
diff --git a/pkgs/development/compilers/go/cacert-1.2.patch b/pkgs/development/compilers/go/cacert-1.2.patch
new file mode 100644
index 00000000000..1ad6910915f
--- /dev/null
+++ b/pkgs/development/compilers/go/cacert-1.2.patch
@@ -0,0 +1,15 @@
+Go comes with hardcoded cacert. We add the usual in NixOS,
+for easier NixOS life.
+
+diff --git a/src/pkg/crypto/x509/root_unix.go b/src/pkg/crypto/x509/root_unix.go
+index 76e79f4..6ef1dd3 100644
+--- a/src/pkg/crypto/x509/root_unix.go
++++ b/src/pkg/crypto/x509/root_unix.go
+@@ -15,6 +15,7 @@ var certFiles = []string{
+	"/etc/ssl/ca-bundle.pem",                 // OpenSUSE
+	"/etc/ssl/cert.pem",                      // OpenBSD
+	"/usr/local/share/certs/ca-root-nss.crt", // FreeBSD/DragonFly
++	"/etc/ssl/certs/ca-bundle.crt",           // NixOS
+ }
+ 
+ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate, err error) {
diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix
index 9e74643e161..b9a76a6f82b 100644
--- a/pkgs/development/compilers/go/default.nix
+++ b/pkgs/development/compilers/go/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
   '';
 
-  patches = [ ./cacert.patch ];
+  patches = [ ./cacert.patch ./1_0-opt-error.patch ./1_0-gcc-bug.patch ];
 
   GOOS = "linux";
   GOARCH = if stdenv.system == "i686-linux" then "386"
diff --git a/pkgs/development/compilers/go/gox.nix b/pkgs/development/compilers/go/gox.nix
new file mode 100644
index 00000000000..da40b7570fe
--- /dev/null
+++ b/pkgs/development/compilers/go/gox.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, go, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/mitchellh/gox";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "gox";
+        rev = "c7329055e2aeb253a947e5cc876586ff4ca19199";
+        sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy";
+      };
+    }
+    {
+      root = "github.com/mitchellh/iochan";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "iochan";
+        rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
+        sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
+      };
+    }
+  ];
+  sources = stdenv.mkDerivation rec {
+    name = "go-deps";
+    buildCommand =
+      lib.concatStrings
+        (map (dep: ''
+                mkdir -p $out/src/`dirname ${dep.root}`
+                ln -s ${dep.src} $out/src/${dep.root}
+              '') goDeps);
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "gox";
+
+  src = sources;
+
+  propagatedBuildInputs = [ go ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    export GOPATH=$src
+    go build -v -o $out/bin/gox github.com/mitchellh/gox
+  '';
+
+  meta = with lib; {
+    description = "A simple, no-frills tool for Go cross compilation that behaves a lot like standard go build";
+    homepage    = https://github.com/mitchellh/gox;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix
index 00c5ef36a38..f2b5a04df98 100644
--- a/pkgs/development/compilers/gprolog/default.nix
+++ b/pkgs/development/compilers/gprolog/default.nix
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "13miyas47bmijmadm68cbvb21n4s156gjafz7kfx9brk9djfkh0q";
   };
 
+  patchPhase = ''
+    sed -i -e "s|/tmp/make.log|$TMPDIR/make.log|g" src/Pl2Wam/check_boot
+  '';
+
   preConfigure = ''
     cd src
     configureFlagsArray=(
diff --git a/pkgs/development/compilers/gwt/2.4.0.nix b/pkgs/development/compilers/gwt/2.4.0.nix
index 65208b062c2..f0dc9378c4f 100644
--- a/pkgs/development/compilers/gwt/2.4.0.nix
+++ b/pkgs/development/compilers/gwt/2.4.0.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   buildInputs = [ unzip ];
 
   installPhase = ''
-    ensureDir $out
+    mkdir -p $out
     unzip $src
     mv gwt-2.4.0 $out/bin
   '';
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index b2d69f2ea7d..3173b892261 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -1,30 +1,28 @@
-{ stdenv, fetchsvn, ocaml, zlib, neko }:
+{ stdenv, fetchgit, ocaml, zlib, neko }:
 
 stdenv.mkDerivation {
-  name = "haxe-3.00";
+  name = "haxe-3.1.3";
 
   buildInputs = [ocaml zlib neko];
 
-  src = fetchsvn {
-    url = "http://haxe.googlecode.com/svn/trunk";
-    sha256 = "0hg8qailhgrcdk7r4k9kmwfl9d9ds0vy0l7wbv5wdrrc34qzifm4";
-    rev = 6706;
+  src = fetchgit {
+    url = "https://github.com/HaxeFoundation/haxe.git";
+    sha256 = "1p4yja6flv2r04q9lcrjxia3f3fsmhi3d88s0lz0nf0r4m61bjz0";
+    fetchSubmodules = true;
+
+    # Tag 3.1.3
+    rev = "7be30670b2f1f9b6082499c8fb9e23c0a6df6c28";
   };
 
   prePatch = ''
     sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
   '';
 
-  postBuild = ''
-    find std/tools -name '*.n' -delete
-    rm -f std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
-  '';
-
   buildFlags = [ "all" "tools" ];
 
   installPhase = ''
     install -vd "$out/bin" "$out/lib/haxe/std"
-    install -vt "$out/bin" haxe haxelib haxedoc
+    install -vt "$out/bin" haxe haxelib
     cp -vr std "$out/lib/haxe"
   '';
 
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
new file mode 100644
index 00000000000..d2f24390318
--- /dev/null
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchgit, cmake, pkgconfig, boost, libunwind, mariadb, libmemcached, pcre
+, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c
+, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog
+, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
+, libxslt, ocaml, freetype
+}:
+
+stdenv.mkDerivation rec {
+  name    = "hhvm-${version}";
+  version = "3.2.0";
+
+  src = fetchgit {
+    url    = "https://github.com/facebook/hhvm.git";
+    rev    = "01228273b8cf709aacbd3df1c51b1e690ecebac8";
+    sha256 = "418d5a55ac4ba5335a42329ebfb7dd96fdb8d5edbc2700251c86e9fa2ae4a967";
+    fetchSubmodules = true;
+  };
+
+  buildInputs =
+    [ cmake pkgconfig boost libunwind mariadb libmemcached pcre libevent gd curl
+      libxml2 icu flex bison openssl zlib php expat libcap oniguruma
+      libdwarf libmcrypt tbb gperftools bzip2 openldap readline
+      libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml
+    ];
+
+  enableParallelBuilding = true;
+  dontUseCmakeBuildDir = true;
+  dontUseCmakeConfigure = true;
+  NIX_LDFLAGS = "-lpam -L${pam}/lib";
+  USE_HHVM=1;
+  MYSQL_INCLUDE_DIR="${mariadb}/include/mysql";
+  MYSQL_DIR=mariadb;
+
+  # work around broken build system
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
+
+  patchPhase = ''
+    substituteInPlace hphp/util/generate-buildinfo.sh \
+      --replace /bin/bash ${stdenv.shell}
+    substituteInPlace ./configure \
+      --replace "/usr/bin/env bash" ${stdenv.shell}
+  '';
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    mv hphp/hhvm/hhvm          $out/bin
+    mv hphp/hack/bin/hh_server $out/bin
+    mv hphp/hack/bin/hh_client $out/bin
+    mv hphp/hack/hhi           $out/lib/hack-hhi
+
+    cat > $out/bin/hhvm-hhi-copy <<EOF
+    #!${stdenv.shell}
+    cp -R $out/lib/hack-hhi \$1
+    EOF
+    chmod +x $out/bin/hhvm-hhi-copy
+  '';
+
+  meta = {
+    description = "High-performance JIT compiler for PHP/Hack";
+    homepage    = "http://hhvm.com";
+    license     = "PHP/Zend";
+    platforms   = [ "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix
new file mode 100644
index 00000000000..c9697bac36c
--- /dev/null
+++ b/pkgs/development/compilers/icedtea-web/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash }:
+
+stdenv.mkDerivation rec {
+  name = "icedtea-web-${version}";
+
+  version = "1.5";
+
+  src = fetchurl {
+    url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
+
+    sha256 = "0bbwa944kaam0r8ldlqrrj9z9zj54v6zdc3q663ck59shw5z828w";
+  };
+
+  buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ];
+
+  preConfigure = ''
+    substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+
+    configureFlags="BIN_BASH=${bash}/bin/bash $configureFlags"
+  '';
+
+  configureFlags = [
+    "--with-jdk-home=${jdk}"
+  ];
+
+  mozillaPlugin = "/lib";
+
+  meta = {
+    description = "Java web browser plugin and an implementation of Java Web Start";
+    longDescription = ''
+      A Free Software web browser plugin running applets written in the Java
+      programming language and an implementation of Java Web Start, originally
+      based on the NetX project.
+    '';
+    homepage = http://icedtea.classpath.org/wiki/IcedTea-Web;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
new file mode 100644
index 00000000000..8931c122538
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
@@ -0,0 +1,16 @@
+diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
+--- openjdk-orig/jdk/make/sun/awt/mawt.gmk	2012-08-28 19:13:16.000000000 -0400
++++ openjdk/jdk/make/sun/awt/mawt.gmk	2013-01-22 11:56:22.315418708 -0500
+@@ -234,12 +234,6 @@
+ endif # !HEADLESS
+ endif # PLATFORM
+ 
+-ifeq ($(PLATFORM), linux)
+-  # Checking for the X11/extensions headers at the additional location
+-  CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
+-                        $(wildcard /usr/include/X11/extensions))
+-endif
+-
+ ifeq ($(PLATFORM), macosx))
+   CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+               -I$(OPENWIN_HOME)/include 
diff --git a/pkgs/development/compilers/icedtea/default.nix b/pkgs/development/compilers/icedtea/default.nix
new file mode 100644
index 00000000000..56c9e69c9a4
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/default.nix
@@ -0,0 +1,179 @@
+{ stdenv, fetchurl, jdk, jdkPath, ant, wget, zip, unzip, cpio, file, libxslt
+, xorg, zlib, pkgconfig, libjpeg, libpng, giflib, lcms2, gtk2, krb5, attr
+, alsaLib, procps, automake, autoconf, cups, which, perl, coreutils, binutils
+, cacert, setJavaClassPath
+}:
+
+let
+
+  /**
+   * The JRE libraries are in directories that depend on the CPU.
+   */
+  architecture =
+    if stdenv.system == "i686-linux" then
+      "i386"
+    else if stdenv.system == "x86_64-linux" then
+      "amd64"
+    else
+      throw "icedtea requires i686-linux or x86_64 linux";
+
+  srcInfo = (import ./sources.nix).icedtea7;
+
+  pkgName = "icedtea7-${srcInfo.version}";
+
+  defSrc = name:
+    with (builtins.getAttr name srcInfo.bundles); fetchurl {
+      inherit url sha256;
+      name = "${pkgName}-${name}-${baseNameOf url}";
+    };
+
+  bundleNames = builtins.attrNames srcInfo.bundles;
+
+  sources = stdenv.lib.genAttrs bundleNames (name: defSrc name);
+
+  bundleFun = name: "--with-${name}-src-zip=" + builtins.getAttr name sources;
+  bundleFlags = map bundleFun bundleNames;
+
+in
+
+with srcInfo; stdenv.mkDerivation {
+  name = pkgName;
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  outputs = [ "out" "jre" ];
+
+  # TODO: Probably some more dependencies should be on this list but are being
+  # propagated instead
+  buildInputs = [
+    jdk ant wget zip unzip cpio file libxslt pkgconfig procps automake
+    autoconf which perl coreutils xorg.lndir
+    zlib libjpeg libpng giflib lcms2 krb5 attr alsaLib cups
+    xorg.libX11 xorg.libXtst gtk2
+  ];
+
+  configureFlags = bundleFlags ++ [
+    "--disable-bootstrap"
+    "--disable-downloading"
+
+    "--without-rhino"
+    "--with-pax=paxctl"
+    "--with-jdk-home=${jdkPath}"
+  ];
+
+  preConfigure = ''
+    unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
+
+    substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+    substituteInPlace javah.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+
+    ./autogen.sh
+  '';
+
+  preBuild = ''
+    make stamps/extract.stamp
+
+    substituteInPlace openjdk/jdk/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
+    substituteInPlace openjdk/corba/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
+
+    patch -p0 < ${./cppflags-include-fix.patch}
+    patch -p0 < ${./fix-java-home.patch}
+  '';
+
+  NIX_NO_SELF_RPATH = true;
+
+  makeFlags = [
+    "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
+    "ALT_UNIXCOMMAND_PATH="
+    "ALT_USRBIN_PATH="
+    "ALT_DEVTOOLS_PATH="
+    "ALT_COMPILER_PATH="
+    "ALT_CUPS_HEADERS_PATH=${cups}/include"
+    "ALT_OBJCOPY=${binutils}/bin/objcopy"
+    "SORT=${coreutils}/bin/sort"
+    "UNLIMITED_CRYPTO=1"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/icedtea $out/share $jre/lib/icedtea
+
+    cp -av openjdk.build/j2sdk-image/* $out/lib/icedtea
+
+    # Move some stuff to top-level.
+    mv $out/lib/icedtea/include $out/include
+    mv $out/lib/icedtea/man $out/share/man
+
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
+    # Remove some broken manpages.
+    rm -rf $out/share/man/ja*
+
+    # Remove crap from the installation.
+    rm -rf $out/lib/icedtea/demo $out/lib/icedtea/sample
+
+    # Move the JRE to a separate output.
+    mv $out/lib/icedtea/jre $jre/lib/icedtea/
+    mkdir $out/lib/icedtea/jre
+    lndir $jre/lib/icedtea/jre $out/lib/icedtea/jre
+
+    # The following files cannot be symlinked, as it seems to violate Java security policies
+    rm $out/lib/icedtea/jre/lib/ext/*
+    cp $jre/lib/icedtea/jre/lib/ext/* $out/lib/icedtea/jre/lib/ext/
+
+    rm -rf $out/lib/icedtea/jre/bin
+    ln -s $out/lib/icedtea/bin $out/lib/icedtea/jre/bin
+
+    # Remove duplicate binaries.
+    for i in $(cd $out/lib/icedtea/bin && echo *); do
+      if [ "$i" = java ]; then continue; fi
+      if cmp -s $out/lib/icedtea/bin/$i $jre/lib/icedtea/jre/bin/$i; then
+        ln -sfn $jre/lib/icedtea/jre/bin/$i $out/lib/icedtea/bin/$i
+      fi
+    done
+
+    # Generate certificates.
+    pushd $jre/lib/icedtea/jre/lib/security
+    rm cacerts
+    perl ${./generate-cacerts.pl} $jre/lib/icedtea/jre/bin/keytool ${cacert}/etc/ca-bundle.crt
+    popd
+
+    ln -s $out/lib/icedtea/bin $out/bin
+    ln -s $jre/lib/icedtea/jre/bin $jre/bin
+  '';
+
+  # FIXME: this is unnecessary once the multiple-outputs branch is merged.
+  preFixup = ''
+    prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
+    patchELF $jre
+    propagatedNativeBuildInputs+=" $jre"
+
+    # Propagate the setJavaClassPath setup hook from the JRE so that
+    # any package that depends on the JRE has $CLASSPATH set up
+    # properly.
+    mkdir -p $jre/nix-support
+    echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs
+
+    # Set JAVA_HOME automatically.
+    mkdir -p $out/nix-support
+    cat <<EOF > $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/icedtea; fi
+    EOF
+  '';
+
+  meta = {
+    description = "Free Java development kit based on OpenJDK 7.0 and the IcedTea project";
+    longDescription = ''
+      Free Java environment based on OpenJDK 7.0 and the IcedTea project.
+      - Full Java runtime environment
+      - Needed for executing Java Webstart programs and the free Java web browser plugin.
+    '';
+    homepage = http://icedtea.classpath.org;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  passthru = { inherit architecture; };
+}
diff --git a/pkgs/development/compilers/icedtea/fix-java-home.patch b/pkgs/development/compilers/icedtea/fix-java-home.patch
new file mode 100644
index 00000000000..5def344f171
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/fix-java-home.patch
@@ -0,0 +1,17 @@
+diff -ru -x '*~' openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+--- openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp	2013-09-06 20:22:03.000000000 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2014-01-24 22:44:08.223857012 +0100
+@@ -2358,12 +2358,10 @@
+                 CAST_FROM_FN_PTR(address, os::jvm_path),
+                 dli_fname, sizeof(dli_fname), NULL);
+   assert(ret, "cannot locate libjvm");
+   char *rp = NULL;
+   if (ret && dli_fname[0] != '\0') {
+-    rp = realpath(dli_fname, buf);
++    snprintf(buf, buflen, "%s", dli_fname);
+   }
+-  if (rp == NULL)
+-    return;
+ 
+   if (Arguments::created_by_gamma_launcher()) {
+     // Support for the gamma launcher.  Typical value for buf is
diff --git a/pkgs/development/compilers/icedtea/generate-cacerts.pl b/pkgs/development/compilers/icedtea/generate-cacerts.pl
new file mode 100644
index 00000000000..3bdd42f7274
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/generate-cacerts.pl
@@ -0,0 +1,366 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# generate-cacerts.pl generates a JKS keystore named 'cacerts' from
+# OpenSSL's certificate bundle using OpenJDK's keytool.
+
+# First extract each of OpenSSL's bundled certificates into its own
+# aliased filename.
+
+# Downloaded from http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-12/generate-cacerts.pl?revision=1.2
+# Check and prevention of duplicate aliases added by Vlastimil Babka <caster@gentoo.org>
+
+$file = $ARGV[1];
+open(CERTS, $file);
+@certs = <CERTS>;
+close(CERTS);
+
+$pem_file_count = 0;
+$in_cert_block = 0;
+$write_current_cert = 1;
+foreach $cert (@certs)
+{
+    if ($cert =~ /Issuer: /)
+    {
+        $_ = $cert;
+        if ($cert =~ /personal-freemail/)
+        {
+            $cert_alias = "thawtepersonalfreemailca";
+        }
+        elsif ($cert =~ /personal-basic/)
+        {
+            $cert_alias = "thawtepersonalbasicca";
+        }
+        elsif ($cert =~ /personal-premium/)
+        {
+            $cert_alias = "thawtepersonalpremiumca";
+        }
+        elsif ($cert =~ /server-certs/)
+        {
+            $cert_alias = "thawteserverca";
+        }
+        elsif ($cert =~ /premium-server/)
+        {
+            $cert_alias = "thawtepremiumserverca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass1ca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass1g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 1 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass1g3ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass2ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass2g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 2 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass2g3ca";
+        }
+        elsif ($cert =~ /Class 3 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass3ca";
+        }
+        # Version 1 of Class 3 Public Primary Certification Authority
+        # - G2 is added.  Version 3 is excluded.  See below.
+        elsif ($cert =~
+               /VeriSign Class 3 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass3g3ca";
+        }
+        elsif ($cert =~
+               /RSA Data Security.*Secure Server Certification Authority/)
+        {
+            $cert_alias = "verisignserverca";
+        }
+        elsif ($cert =~ /GTE CyberTrust Global Root/)
+        {
+            $cert_alias = "gtecybertrustglobalca";
+        }
+        elsif ($cert =~ /Baltimore CyberTrust Root/)
+        {
+            $cert_alias = "baltimorecybertrustca";
+        }
+        elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/)
+        {
+            $cert_alias = "entrustclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/GCCA_CPS/)
+        {
+            $cert_alias = "entrustglobalclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS_2048/)
+        {
+            $cert_alias = "entrust2048ca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS /)
+        {
+            $cert_alias = "entrustsslca";
+        }
+        elsif ($cert =~ /www.entrust.net\/SSL_CPS/)
+        {
+            $cert_alias = "entrustgsslca";
+        }
+        elsif ($cert =~ /The Go Daddy Group/)
+        {
+            $cert_alias = "godaddyclass2ca";
+        }
+        elsif ($cert =~ /Starfield Class 2 Certification Authority/)
+        {
+            $cert_alias = "starfieldclass2ca";
+        }
+        elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/)
+        {
+            $cert_alias = "valicertclass2ca";
+        }
+        elsif ($cert =~ /GeoTrust Global CA$/)
+        {
+            $cert_alias = "geotrustglobalca";
+        }
+        elsif ($cert =~ /Equifax Secure Certificate Authority/)
+        {
+            $cert_alias = "equifaxsecureca";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureebusinessca1";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-2/)
+        {
+            $cert_alias = "equifaxsecureebusinessca2";
+        }
+        elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureglobalebusinessca1";
+        }
+        elsif ($cert =~ /Sonera Class1 CA/)
+        {
+            $cert_alias = "soneraclass1ca";
+        }
+        elsif ($cert =~ /Sonera Class2 CA/)
+        {
+            $cert_alias = "soneraclass2ca";
+        }
+        elsif ($cert =~ /AAA Certificate Services/)
+        {
+            $cert_alias = "comodoaaaca";
+        }
+        elsif ($cert =~ /AddTrust Class 1 CA Root/)
+        {
+            $cert_alias = "addtrustclass1ca";
+        }
+        elsif ($cert =~ /AddTrust External CA Root/)
+        {
+            $cert_alias = "addtrustexternalca";
+        }
+        elsif ($cert =~ /AddTrust Qualified CA Root/)
+        {
+            $cert_alias = "addtrustqualifiedca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Hardware/)
+        {
+            $cert_alias = "utnuserfirsthardwareca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/)
+        {
+            $cert_alias = "utnuserfirstclientauthemailca";
+        }
+        elsif ($cert =~ /UTN - DATACorp SGC/)
+        {
+            $cert_alias = "utndatacorpsgcca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Object/)
+        {
+            $cert_alias = "utnuserfirstobjectca";
+        }
+        elsif ($cert =~ /America Online Root Certification Authority 1/)
+        {
+            $cert_alias = "aolrootca1";
+        }
+        elsif ($cert =~ /DigiCert Assured ID Root CA/)
+        {
+            $cert_alias = "digicertassuredidrootca";
+        }
+        elsif ($cert =~ /DigiCert Global Root CA/)
+        {
+            $cert_alias = "digicertglobalrootca";
+        }
+        elsif ($cert =~ /DigiCert High Assurance EV Root CA/)
+        {
+            $cert_alias = "digicerthighassuranceevrootca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA$/)
+        {
+            $cert_alias = "globalsignca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA - R2/)
+        {
+            $cert_alias = "globalsignr2ca";
+        }
+        elsif ($cert =~ /Elektronik.*Kas.*2005/)
+        {
+            $cert_alias = "extra-elektronikkas2005";
+        }
+        elsif ($cert =~ /Elektronik/)
+        {
+            $cert_alias = "extra-elektronik2005";
+        }
+        # Mozilla does not provide these certificates:
+        #   baltimorecodesigningca
+        #   gtecybertrust5ca
+        #   trustcenterclass2caii
+        #   trustcenterclass4caii
+        #   trustcenteruniversalcai
+        else
+        {
+            # Generate an alias using the OU and CN attributes of the
+            # Issuer field if both are present, otherwise use only the
+            # CN attribute.  The Issuer field must have either the OU
+            # or the CN attribute.
+            $_ = $cert;
+            if ($cert =~ /OU=/)
+            {
+                s/Issuer:.*?OU=//;
+                # Remove other occurrences of OU=.
+                s/OU=.*CN=//;
+                # Remove CN= if there were not other occurrences of OU=.
+                s/CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            elsif ($cert =~ /CN=/)
+            {
+                s/Issuer:.*CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            s/\W//g;
+            tr/A-Z/a-z/;
+            $cert_alias = "extra-$_";
+
+        }
+        while (-e "$cert_alias.pem")
+        {
+            $cert_alias = "$cert_alias" . "_";
+        }
+    }
+    # When it attempts to parse:
+    #
+    # Class 3 Public Primary Certification Authority - G2, Version 3
+    #
+    # keytool says:
+    #
+    # #2: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
+    # Unparseable AuthorityInfoAccess extension due to
+    # java.io.IOException: Invalid encoding of URI
+    #
+    # If we do not exclude this file
+    # openjdk/jdk/test/lib/security/cacerts/VerifyCACerts.java fails
+    # on this cert, printing:
+    #
+    # Couldn't verify: java.security.SignatureException: Signature
+    # does not match.
+    #
+    elsif ($cert =~
+           /A6:0F:34:C8:62:6C:81:F6:8B:F7:7D:A9:F6:67:58:8A:90:3F:7D:36/)
+    {
+        $write_current_cert = 0;
+        $pem_file_count--;
+    }
+    elsif ($cert eq "-----BEGIN CERTIFICATE-----\n")
+    {
+        $_ = $cert;
+        s/\W//g;
+        tr/A-Z/a-z/;
+        $cert_alias = "extra-$_";
+        while (-e "$cert_alias.pem")
+        {
+            $cert_alias = "$cert_alias" . "_";
+        }
+        if ($in_cert_block != 0)
+        {
+            die "$file is malformed.";
+        }
+        $in_cert_block = 1;
+        if ($write_current_cert == 1)
+        {
+            $pem_file_count++;
+            if (-e "$cert_alias.pem")
+            {
+                print "$cert_alias";
+                die "already exists"
+            }
+            open(PEM, ">$cert_alias.pem");
+            print PEM $cert;
+        }
+    }
+    elsif ($cert eq "-----END CERTIFICATE-----\n")
+    {
+        $in_cert_block = 0;
+        if ($write_current_cert == 1)
+        {
+            print PEM $cert;
+            close(PEM);
+        }
+        $write_current_cert = 1
+    }
+    else
+    {
+        if ($in_cert_block == 1 && $write_current_cert == 1)
+        {
+            print PEM $cert;
+        }
+    }
+}
+
+# Check that the correct number of .pem files were produced.
+@pem_files = <*.pem>;
+if (@pem_files != $pem_file_count)
+{
+    print "$pem_file_count";
+    die "Number of .pem files produced does not match".
+        " number of certs read from $file.";
+}
+
+# Now store each cert in the 'cacerts' file using keytool.
+$certs_written_count = 0;
+foreach $pem_file (@pem_files)
+{
+    system "$ARGV[0] -noprompt -import".
+        " -alias `basename $pem_file .pem`".
+        " -keystore cacerts -storepass 'changeit' -file $pem_file";
+    unlink($pem_file);
+    $certs_written_count++;
+}
+
+# Check that the correct number of certs were added to the keystore.
+if ($certs_written_count != $pem_file_count)
+{
+    die "Number of certs added to keystore does not match".
+        " number of certs read from $file.";
+}
diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix
new file mode 100644
index 00000000000..098f774b66c
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/sources.nix
@@ -0,0 +1,56 @@
+# This file is autogenerated from update.py in the same directory.
+{
+  icedtea7 = rec {
+    branch = "2.4";
+    version = "${branch}.7";
+
+    url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz";
+    sha256 = "17a58wcxvg0dd7ka99k819ci6bga2b9l8kp67fq8z3w0yyz76sdn";
+
+    hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}";
+
+    bundles = {
+      openjdk = rec {
+        changeset = "13970e76b784";
+        url = "${hg_url}/archive/${changeset}.tar.gz";
+        sha256 = "bcd45546509defc439f42f230c0ca64e8aa6ec00542c3634aab3a4c10be3fe6b";
+      };
+
+      corba = rec {
+        changeset = "e6ad5b912691";
+        url = "${hg_url}/corba/archive/${changeset}.tar.gz";
+        sha256 = "cc37272df260d08207c84763d4c39d7807728ba2d5908276b9bc63e925e70674";
+      };
+
+      jaxp = rec {
+        changeset = "94b7e8e0d96f";
+        url = "${hg_url}/jaxp/archive/${changeset}.tar.gz";
+        sha256 = "3515cd105c29563bf78432576e658005386f45d7c3b2b7eac7af86cf196aaaea";
+      };
+
+      jaxws = rec {
+        changeset = "bd9a50a78d04";
+        url = "${hg_url}/jaxws/archive/${changeset}.tar.gz";
+        sha256 = "3e107628080d84a80a78ef0ef9dc3664989291dd17c8bacf031d59fba7bd7f4d";
+      };
+
+      jdk = rec {
+        changeset = "9448fff93286";
+        url = "${hg_url}/jdk/archive/${changeset}.tar.gz";
+        sha256 = "9222e5317264f20d4a0b8170b4c4d02459cda98333c18e3a75064e7856ff58be";
+      };
+
+      langtools = rec {
+        changeset = "8c26a3c39128";
+        url = "${hg_url}/langtools/archive/${changeset}.tar.gz";
+        sha256 = "5af29e32344e2f2fc0beb31f91b8312f2a0d6d02c53b4cb700ee2e27bcf1043b";
+      };
+
+      hotspot = rec {
+        changeset = "69b542696e5b";
+        url = "${hg_url}/hotspot/archive/${changeset}.tar.gz";
+        sha256 = "e3bbed298ed7c77169fdfddc47cdb85c62ef2e5e7ea04ca28aa8779861efca65";
+      };
+    };
+  };
+}
diff --git a/pkgs/development/compilers/icedtea/update.py b/pkgs/development/compilers/icedtea/update.py
new file mode 100755
index 00000000000..ba3c5fc51ad
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/update.py
@@ -0,0 +1,275 @@
+#!/usr/bin/env python3
+
+import subprocess, urllib.request, re, os, tarfile
+from html.parser import HTMLParser
+
+HG_URL = 'http://icedtea.classpath.org/hg/release/icedtea{}-forest-{}'
+DOWNLOAD_URL = 'http://icedtea.wildebeest.org/download/source/'
+DOWNLOAD_HTML = DOWNLOAD_URL + '?C=M;O=D'
+
+ICEDTEA_JDKS = [7]
+
+BUNDLES = ['openjdk', 'corba', 'jaxp', 'jaxws', 'jdk', 'langtools', 'hotspot']
+
+SRC_PATH = './sources.nix'
+
+def get_output(cmd, env = None):
+	try:
+		proc = subprocess.Popen(cmd, env = env, stdout = subprocess.PIPE)
+		out = proc.communicate()[0]
+	except subprocess.CalledProcessError as e:
+		return None
+
+	return out.decode('utf-8').strip()
+
+def nix_prefetch_url(url):
+	env = os.environ.copy()
+	env['PRINT_PATH'] = '1'
+	out = get_output(['nix-prefetch-url', url], env = env)
+
+	return out.split('\n')
+
+def get_nix_attr(path, attr):
+	out = get_output(['nix-instantiate', '--eval-only', '-A', attr, path])
+
+	if len(out) < 2 or out[0] != '"' or out[-1] != '"':
+		raise Exception('Cannot find Nix attribute "{}" (parsing failure?)'.format(attr))
+
+	# Strip quotes
+	return out[1:-1]
+
+def get_jdk_attr(jdk, attr):
+	return get_nix_attr(SRC_PATH, 'icedtea{}.{}'.format(jdk, attr))
+
+class Parser(HTMLParser):
+	def __init__(self, link_regex):
+		HTMLParser.__init__(self)
+
+		self.regex = link_regex
+		self.href = None
+		self.version = None
+
+	def handle_starttag(self, tag, attrs):
+		if self.href != None or tag != 'a':
+			return
+
+		href = None
+		for attr in attrs:
+			if attr[0] == 'href':
+				href = attr[1]
+		if href == None:
+			return
+
+		m = re.match(self.regex, href)
+		if m != None:
+			self.href = href
+			self.version = m.group(1)
+
+def get_latest_version_url(major):
+	f = urllib.request.urlopen(DOWNLOAD_HTML)
+	html = f.read().decode('utf-8')
+	f.close()
+
+	parser = Parser(r'^icedtea\d?-({}\.\d[\d.]*)\.tar\.xz$'.format(major))
+	parser.feed(html)
+	parser.close()
+
+	if parser.href == None:
+		raise Exception('Error: could not find download url for major version "{}"'.format(major))
+
+	return parser.version, DOWNLOAD_URL + parser.href
+
+def get_old_bundle_attrs(jdk, bundle):
+	attrs = {}
+	for attr in ('changeset', 'url', 'sha256'):
+		attrs[attr] = get_jdk_attr(jdk, 'bundles.{}.{}'.format(bundle, attr))
+
+	return attrs
+
+def get_old_attrs(jdk):
+	attrs = {}
+
+	for attr in ('branch', 'version', 'url', 'sha256'):
+		attrs[attr] = get_jdk_attr(jdk, attr)
+
+	attrs['bundles'] = {}
+
+	for bundle in BUNDLES:
+		attrs['bundles'][bundle] = get_old_bundle_attrs(jdk, bundle)
+
+	return attrs
+
+def get_member_filename(tarball, name):
+	for fname in tarball.getnames():
+		m = re.match(r'^icedtea\d?-\d[\d.]*/{}$'.format(name), fname)
+		if m != None:
+			return m.group(0)
+
+	return None
+
+def get_member_file(tarball, name):
+	path = get_member_filename(tarball, name)
+	if path == None:
+		raise Exception('Could not find "{}" inside tarball'.format(name))
+
+	f = tarball.extractfile(path)
+	data = f.read().decode('utf-8')
+	f.close()
+
+	return data
+
+def get_new_bundle_attr(makefile, bundle, attr):
+	var = '{}_{}'.format(bundle.upper(), attr.upper())
+	regex = r'^{} = (.*?)$'.format(var)
+
+	m = re.search(regex, makefile, re.MULTILINE)
+	if m == None:
+		raise Exception('Could not find variable "{}" in Makefile.am'.format(var))
+
+	return m.group(1)
+
+def get_new_bundle_attrs(jdk, branch, path):
+	hg_url = HG_URL.format(jdk, branch)
+
+	attrs = {}
+
+	print('Opening file: "{}"'.format(path))
+	tar = tarfile.open(name = path, mode = 'r:xz')
+
+	makefile = get_member_file(tar, 'Makefile.am')
+	hotspot_map = get_member_file(tar, 'hotspot.map')
+
+	for bundle in BUNDLES:
+		battrs = {}
+
+		if bundle == 'hotspot':
+			m = re.search(r'^default (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE)
+			if m == None:
+				raise Exception('Could not find info for hotspot bundle in hotspot.map')
+
+			battrs['url'] = '{}/archive/{}.tar.gz'.format(m.group(1), m.group(2))
+			battrs['changeset'] = m.group(2)
+			battrs['sha256'] = m.group(3)
+
+			attrs[bundle] = battrs
+			continue
+
+		changeset = get_new_bundle_attr(makefile, bundle, 'changeset')
+		battrs['changeset'] = changeset
+		battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum')
+
+		if bundle == 'openjdk':
+			battrs['url'] = '{}/archive/{}.tar.gz'.format(hg_url, changeset)
+		else:
+			battrs['url'] = '{}/{}/archive/{}.tar.gz'.format(hg_url, bundle, changeset)
+
+		attrs[bundle] = battrs
+
+	tar.close()
+
+	return attrs
+
+def get_new_attrs(jdk):
+	print('Getting old attributes for JDK {}...'.format(jdk))
+	old_attrs = get_old_attrs(jdk)
+	attrs = {}
+
+	# The major version corresponds to a specific JDK (1 = OpenJDK6, 2 = OpenJDK7, 3 = OpenJDK8)
+	major = jdk - 5
+
+	print('Getting latest version for JDK {}...'.format(jdk))
+	version, url = get_latest_version_url(major)
+
+	print()
+	print('Old version: {}'.format(old_attrs['version']))
+	print('New version: {}'.format(version))
+	print()
+
+	if version == old_attrs['version']:
+		print('No update available, skipping...')
+		print()
+		return old_attrs
+
+	print('Update available, generating new attributes for JDK {}...'.format(jdk))
+
+	attrs['version'] = version
+	attrs['branch'] = '.'.join(version.split('.')[:2])
+	attrs['url'] = url
+
+	print('Downloading tarball from url "{}"...'.format(url))
+	print()
+	attrs['sha256'], path = nix_prefetch_url(url)
+	print()
+
+	print('Inspecting tarball for bundle information...')
+
+	attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['branch'], path)
+
+	print('Done!')
+
+	return attrs
+
+def generate_jdk(jdk):
+	attrs = get_new_attrs(jdk)
+
+	branch = attrs['branch']
+	src_version = attrs['version'].replace(branch, '${branch}')
+	src_url = attrs['url'].replace(attrs['version'], '${version}')
+
+	hg_url = HG_URL.format(jdk, branch)
+	src_hg_url = HG_URL.format(jdk, '${branch}')
+
+	src =  '  icedtea{} = rec {{\n'.format(jdk)
+	src += '    branch = "{}";\n'.format(branch)
+	src += '    version = "{}";\n'.format(src_version)
+	src += '\n'
+	src += '    url = "{}";\n'.format(src_url)
+	src += '    sha256 = "{}";\n'.format(attrs['sha256'])
+	src += '\n'
+	src += '    hg_url = "{}";\n'.format(src_hg_url)
+	src += '\n'
+	src += '    bundles = {\n'
+
+	for bundle in BUNDLES:
+		battrs = attrs['bundles'][bundle]
+
+		b_url = battrs['url']
+		b_url = b_url.replace(hg_url, '${hg_url}')
+		b_url = b_url.replace(battrs['changeset'], '${changeset}')
+
+		src += '      {} = rec {{\n'.format(bundle)
+		src += '        changeset = "{}";\n'.format(battrs['changeset'])
+		src += '        url = "{}";\n'.format(b_url)
+		src += '        sha256 = "{}";\n'.format(battrs['sha256'])
+		src += '      };\n'
+
+		if bundle != BUNDLES[-1]:
+			src += '\n'
+
+	src += '    };\n'
+	src += '  };\n'
+
+	return src
+
+def generate_sources(jdks):
+	src = '# This file is autogenerated from update.py in the same directory.\n'
+	src += '{\n'
+
+	for jdk in jdks:
+		print()
+		print('Generating sources for JDK {}...'.format(jdk))
+		src += generate_jdk(jdk)
+
+	src += '}\n'
+	return src
+
+if __name__ == '__main__':
+	print('Generating {}...'.format(SRC_PATH))
+	src = generate_sources(ICEDTEA_JDKS)
+
+	f = open(SRC_PATH, 'w', encoding = 'utf-8')
+	f.write(src)
+	f.close()
+
+	print()
+	print('Update complete!')
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 30ef18a1ef9..f0b07f9d0fa 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,24 +1,32 @@
-{ cabal, ansiTerminal, ansiWlPprint, binary, boehmgc, Cabal
-, filepath, gmp, happy, haskeline, languageJava, libffi
-, llvmGeneral, llvmGeneralPure, mtl, parsec, parsers, split, text
-, time, transformers, trifecta, unorderedContainers, utf8String
-, vector, vectorBinaryInstances
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint
+, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc, Cabal
+, cheapskate, deepseq, filepath, fingertree, gmp, happy, haskeline
+, languageJava, lens, libffi, llvmGeneral, llvmGeneralPure, mtl
+, network, optparseApplicative, parsers, split, text, time
+, transformers, trifecta, unorderedContainers, utf8String, vector
+, vectorBinaryInstances, xml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.9.3";
-  sha256 = "1l19xx0xbcwlnnh2w0rmri7wwixffzfrafpbji64nwyx1awz4iab";
-  isLibrary = false;
+  version = "0.9.14.1";
+  sha256 = "11x4f0hvd51m9rlf9r0i5xsjmc73kjsayny4xyv0wgb88v9v737b";
+  isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal ansiWlPprint binary Cabal filepath haskeline
-    languageJava libffi llvmGeneral llvmGeneralPure mtl parsec parsers
-    split text time transformers trifecta unorderedContainers
-    utf8String vector vectorBinaryInstances
+    annotatedWlPprint ansiTerminal ansiWlPprint base64Bytestring binary
+    blazeHtml blazeMarkup Cabal cheapskate deepseq filepath fingertree
+    haskeline languageJava lens libffi llvmGeneral llvmGeneralPure mtl
+    network optparseApplicative parsers split text time transformers
+    trifecta unorderedContainers utf8String vector
+    vectorBinaryInstances xml zlib
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
+  configureFlags = "-fllvm -fgmp -fffi";
+  jailbreak = true;
   meta = {
     homepage = "http://www.idris-lang.org/";
     description = "Functional Programming Language with Dependent Types";
diff --git a/pkgs/development/compilers/idris/wrapper.nix b/pkgs/development/compilers/idris/wrapper.nix
index 427a690234c..fce5c0c89f3 100644
--- a/pkgs/development/compilers/idris/wrapper.nix
+++ b/pkgs/development/compilers/idris/wrapper.nix
@@ -1,10 +1,10 @@
-{ gmp, makeWrapper, gcc, runCommand, idris_plain}:
+{ gmp, makeWrapper, gcc, runCommand, idris_plain, boehmgc}:
 
 runCommand "idris-wrapper" {} ''
   source ${makeWrapper}/nix-support/setup-hook
   mkdir -p $out/bin
   ln -s ${idris_plain}/bin/idris $out/bin
       wrapProgram $out/bin/idris \
-        --suffix NIX_CFLAGS_COMPILE : '"-I${gmp}/include -L${gmp}/lib"' \
+        --suffix NIX_CFLAGS_COMPILE : '"-I${gmp}/include -L${gmp}/lib -L${boehmgc}/lib"' \
         --suffix PATH : ${gcc}/bin
 ''
diff --git a/pkgs/development/compilers/ikarus/default.nix b/pkgs/development/compilers/ikarus/default.nix
index 4c3845f9ee5..070f29e16f6 100644
--- a/pkgs/development/compilers/ikarus/default.nix
+++ b/pkgs/development/compilers/ikarus/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Ikarus - a Scheme compiler, aiming at R6RS";
     homepage = http://ikarus-scheme.org/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix
index d36c8c2755a..08ac509a245 100644
--- a/pkgs/development/compilers/jhc/default.nix
+++ b/pkgs/development/compilers/jhc/default.nix
@@ -1,30 +1,26 @@
-{
-  stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl,
-  regexCompat, HsSyck, random
-}:
+{ stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl,
+  regexCompat, HsSyck, random }:
 
 stdenv.mkDerivation rec {
-
   name = "jhc-${version}";
-
-  version = "0.8.0";
+  version = "0.8.2";
 
   src = fetchurl {
-    url = "http://repetae.net/dist/${name}.tar.gz";
-    sha256 = "0rbv0gpp7glhd9xqy7snbiaiizwnsfg9vzhvyywcvbmb35yivy2a";
+    url    = "http://repetae.net/dist/${name}.tar.gz";
+    sha256 = "0lrgg698mx6xlrqcylba9z4g1f053chrzc92ri881dmb1knf83bz";
   };
 
-  buildInputs = [
-    perl ghc binary zlib utf8String readline fgl regexCompat HsSyck random
-  ];
+  buildInputs =
+    [ perl ghc binary zlib utf8String
+      readline fgl regexCompat HsSyck random
+    ];
 
   meta = {
+    description = "Whole-program, globally optimizing Haskell compiler";
     homepage = "http://repetae.net/computer/jhc/";
-    description = "A Haskell compiler which aims to produce the most efficient programs";
-    license = stdenv.lib.licenses.gpl2;
-
+    license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.aforemny stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers;
+      [ aforemny simons thoughtpolice ];
   };
-
 }
diff --git a/pkgs/development/compilers/julia/0.2.1.nix b/pkgs/development/compilers/julia/0.2.1.nix
new file mode 100644
index 00000000000..f7d20a1e01f
--- /dev/null
+++ b/pkgs/development/compilers/julia/0.2.1.nix
@@ -0,0 +1,140 @@
+{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
+ , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
+ , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
+ , tcl, tk, xproto, libX11, git, mpfr
+ } :
+let
+  realGcc = stdenv.gcc.gcc;
+in
+stdenv.mkDerivation rec {
+  pname = "julia";
+  version = "0.2.1";
+  name = "${pname}-${version}";
+
+  grisu_ver = "1.1.1";
+  dsfmt_ver = "2.2";
+  openblas_ver = "v0.2.2";
+  lapack_ver = "3.4.1";
+  arpack_ver = "3.1.3";
+  clp_ver = "1.14.5";
+  lighttpd_ver = "1.4.29";
+  patchelf_ver = "0.6";
+  pcre_ver = "8.31";
+
+  grisu_src = fetchurl {
+    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
+    sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
+  };
+  dsfmt_src = fetchurl {
+    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
+    name = "dsfmt-${dsfmt_ver}.tar.gz";
+    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
+  };
+  openblas_src = fetchurl {
+    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
+    name = "openblas-${openblas_ver}.tar.gz";
+    sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
+  };
+  arpack_src = fetchurl {
+    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
+    name = "arpack-ng-${arpack_ver}.tar.gz";
+    sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
+  };
+  lapack_src = fetchurl {
+    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
+    name = "lapack-${lapack_ver}.tgz";
+    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
+  };
+  clp_src = fetchurl {
+    url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
+    name = "clp-${clp_ver}.tar.gz";
+    sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817";
+  };
+  lighttpd_src = fetchurl {
+    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
+    sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
+  };
+  patchelf_src = fetchurl {
+    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
+    sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
+  };
+  pcre_src = fetchurl {
+    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
+    sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
+  };
+
+  src = fetchgit {
+    url = "git://github.com/JuliaLang/julia.git";
+    rev = "e44b5939057d87c1e854077108a1a6d66203f4fa";
+    sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a";
+  };
+
+  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
+    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
+    openblas liblapack tcl tk xproto libX11 git mpfr
+    ];
+
+  configurePhase = ''
+    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
+    do
+      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
+    done
+
+    copy_kill_hash(){
+      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
+    }
+
+    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
+      copy_kill_hash "$i" deps
+    done
+    copy_kill_hash "${dsfmt_src}" deps/random
+
+    ${if realGcc ==null then "" else 
+    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
+
+    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
+
+    export GLPK_PREFIX="${glpk}/include"
+
+    mkdir -p "$out/lib"
+    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
+    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
+
+    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
+
+    export dontPatchELF=1
+
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
+  '';
+
+  preBuild = ''
+    mkdir -p usr/lib
+    
+    echo "$out"
+    mkdir -p "$out/lib"
+    (
+    cd "$(mktemp -d)"
+    for i in "${suitesparse}"/lib/lib*.a; do
+      ar -x $i
+    done
+    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
+    )
+    cp "$out/lib/libsuitesparse.so" usr/lib
+    for i in umfpack cholmod amd camd colamd spqr; do
+      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
+      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
+    done
+  '';
+
+  preInstall = ''
+  '';
+
+  meta = {
+    description = "High-level performance-oriented dynamical language for technical computing";
+    homepage = "http://julialang.org/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/git-20131013.nix
index ae550f5692d..ae550f5692d 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/git-20131013.nix
diff --git a/pkgs/development/compilers/llvm/clang-purity.patch b/pkgs/development/compilers/llvm/3.3/clang-purity.patch
index e82305189e8..e82305189e8 100644
--- a/pkgs/development/compilers/llvm/clang-purity.patch
+++ b/pkgs/development/compilers/llvm/3.3/clang-purity.patch
diff --git a/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch
new file mode 100644
index 00000000000..de6a468b239
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch
@@ -0,0 +1,9 @@
+--- a/utils/TableGen/CMakeLists.txt       (revision 190146)
++++ b/utils/TableGen/CMakeLists.txt       (working copy)
+@@ -1,4 +1,5 @@
+ set(LLVM_LINK_COMPONENTS Support)
++set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
+ 
+ add_tablegen(clang-tblgen CLANG
+   ClangASTNodesEmitter.cpp
+
diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix
new file mode 100644
index 00000000000..262e0bff248
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.3/clang.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
+
+let
+  version = "3.3";
+  gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
+in
+
+stdenv.mkDerivation {
+  name = "clang-${version}";
+
+  buildInputs = [ perl llvm groff cmake libxml2 python ];
+
+  patches = [ ./clang-tablegen-dir.patch ] ++
+            stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
+
+  cmakeFlags = [
+    "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_TARGETS_TO_BUILD=all"
+    "-DGCC_INSTALL_PREFIX=${gccReal}"
+  ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [
+    "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
+  ];
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+      url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz";
+      sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi";
+  };
+
+  passthru = { gcc = stdenv.gcc.gcc; };
+
+  meta = {
+    homepage = http://clang.llvm.org/;
+    description = "A C language family frontend for LLVM";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.3/llvm.nix b/pkgs/development/compilers/llvm/3.3/llvm.nix
new file mode 100644
index 00000000000..d0f8fcb3bf8
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.3/llvm.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils }:
+let
+  version = "3.3";
+in stdenv.mkDerivation rec {
+  name = "llvm-${version}";
+
+  src = fetchurl {
+    url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
+    sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8";
+  };
+
+  patches = [
+    ./more-memory-for-bugpoint.patch # The default rlimits in 3.3 are too low for shared libraries.
+    ./no-rule-aarch64.patch          # http://llvm.org/bugs/show_bug.cgi?id=16625
+  ];
+
+  buildInputs = [ perl groff cmake python libffi ];
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD";
+    in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib";
+
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+    "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa
+  ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
+
+  postBuild = ''
+    paxmark m bin/{lli,llvm-rtdyld}
+
+    paxmark m unittests/ExecutionEngine/JIT/JITTests
+    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+    paxmark m unittests/Support/SupportTests
+  '';
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ lovek323 raskin viric ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch b/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch
index fa19ce4f587..fa19ce4f587 100644
--- a/pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch
+++ b/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch
diff --git a/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch b/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch
new file mode 100644
index 00000000000..ea7214febe5
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch
@@ -0,0 +1,8 @@
+--- llvm/lib/Target/AArch64/Utils/CMakeLists.txt	2013/05/18 04:32:15	182189
++++ llvm/lib/Target/AArch64/Utils/CMakeLists.txt	2013/05/18 08:17:47	182190
+@@ -3,3 +3,5 @@
+ add_llvm_library(LLVMAArch64Utils
+   AArch64BaseInfo.cpp
+   )
++
++add_dependencies(LLVMAArch64Utils AArch64CommonTableGen)
diff --git a/pkgs/development/compilers/llvm/3.4/clang-purity.patch b/pkgs/development/compilers/llvm/3.4/clang-purity.patch
new file mode 100644
index 00000000000..c7021a58f9b
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/clang-purity.patch
@@ -0,0 +1,19 @@
+diff -Naur clang-3.4-orig/lib/Driver/Tools.cpp clang-3.4/lib/Driver/Tools.cpp
+--- clang-3.4-orig/lib/Driver/Tools.cpp	2013-12-08 21:59:27.000000000 -0500
++++ clang-3.4/lib/Driver/Tools.cpp	2014-01-27 12:48:29.421872597 -0500
+@@ -6477,15 +6477,6 @@
+     }
+   }
+ 
+-  if (ToolChain.getArch() == llvm::Triple::arm ||
+-      ToolChain.getArch() == llvm::Triple::thumb ||
+-      (!Args.hasArg(options::OPT_static) &&
+-       !Args.hasArg(options::OPT_shared))) {
+-    CmdArgs.push_back("-dynamic-linker");
+-    CmdArgs.push_back(Args.MakeArgString(
+-        D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
+-  }
+-
+   CmdArgs.push_back("-o");
+   CmdArgs.push_back(Output.getFilename());
+ 
diff --git a/pkgs/development/compilers/llvm/3.4/clang-separate-build.patch b/pkgs/development/compilers/llvm/3.4/clang-separate-build.patch
new file mode 100644
index 00000000000..5fb67f169f4
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/clang-separate-build.patch
@@ -0,0 +1,8 @@
+diff -Naur clang-3.4-orig/tools/extra/CMakeLists.txt clang-3.4/tools/extra/CMakeLists.txt
+--- clang-3.4-orig/tools/extra/CMakeLists.txt	2013-11-07 19:08:23.000000000 -0500
++++ clang-3.4/tools/extra/CMakeLists.txt	2014-01-20 11:47:22.678435223 -0500
+@@ -1,3 +1,4 @@
++include(CheckLibraryExists)
+ check_library_exists(edit el_init "" HAVE_LIBEDIT)
+ 
+ add_subdirectory(clang-apply-replacements)
diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix
new file mode 100644
index 00000000000..6ec3f7bf44a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/clang.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+
+stdenv.mkDerivation {
+  name = "clang-${version}";
+
+  unpackPhase = ''
+    unpackFile ${fetch "cfe" "045wjnp5j8xd2zjhvldcllnwlnrwz3dafmlk412z804d5xvzb9jv"}
+    mv cfe-${version}.src clang
+    sourceRoot=$PWD/clang
+    unpackFile ${clang-tools-extra_src}
+    mv clang-tools-extra-* $sourceRoot/tools/extra
+    # !!! Hopefully won't be needed for 3.5
+    unpackFile ${llvm.src}
+    export cmakeFlags="$cmakeFlags -DCLANG_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
+    (cd llvm-* && patch -Np1 -i ${./llvm-separate-build.patch})
+  '';
+
+  patches = [ ./clang-separate-build.patch ./clang-purity.patch ];
+
+  buildInputs = [ cmake libedit libxml2 ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
+  ] ++
+  (stdenv.lib.optional (stdenv.gcc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include") ++
+  (stdenv.lib.optional (stdenv.gcc.gcc != null) "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}");
+
+  # Clang expects to find LLVMgold in its own prefix
+  # Clang expects to find sanitizer libraries in its own prefix
+  postInstall = ''
+    ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
+  '';
+
+  passthru.gcc = stdenv.gcc.gcc;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.4/default.nix b/pkgs/development/compilers/llvm/3.4/default.nix
new file mode 100644
index 00000000000..ef4e8d4bbc5
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/default.nix
@@ -0,0 +1,37 @@
+{ newScope, stdenv, isl, fetchurl }:
+let
+  callPackage = newScope (self // { inherit stdenv isl version fetch; });
+
+  version = "3.4";
+
+  fetch = fetch_v version;
+  fetch_v = ver: name: sha256: fetchurl {
+    url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.gz";
+    inherit sha256;
+  };
+
+  compiler-rt_src = fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k";
+  clang-tools-extra_src = fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds";
+
+  self = {
+    llvm = callPackage ./llvm.nix rec {
+      version = "3.4.2";
+      fetch = fetch_v version;
+      inherit compiler-rt_src;
+    };
+
+    clang = callPackage ./clang.nix rec {
+      version = "3.4.2";
+      fetch = fetch_v version;
+      inherit clang-tools-extra_src;
+    };
+
+    lld = callPackage ./lld.nix {};
+
+    lldb = callPackage ./lldb.nix {};
+
+    polly = callPackage ./polly.nix {};
+
+    dragonegg = callPackage ./dragonegg.nix {};
+  };
+in self
diff --git a/pkgs/development/compilers/llvm/3.4/dragonegg.nix b/pkgs/development/compilers/llvm/3.4/dragonegg.nix
new file mode 100644
index 00000000000..a34fa965f06
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/dragonegg.nix
@@ -0,0 +1,34 @@
+{stdenv, fetch, fetchpatch, llvm, gmp, mpfr, mpc, ncurses, zlib, version}:
+
+stdenv.mkDerivation rec {
+  name = "dragonegg-${version}";
+
+  src = fetch "dragonegg" "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrl";
+
+  patches = [(fetchpatch {
+    url = "https://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/x86/ABIHack.inc"
+      + "?r1=208730&r2=208729&view=patch";
+    sha256 = "1al82gqz90hzjx24p0wls029lw2bgnlgd209kgvxsp82p4z1v1c1";
+    name = "bug-18548.patch";
+  })];
+  patchFlags = "-p2";
+
+  # The gcc the plugin will be built for (the same used building dragonegg)
+  GCC = "gcc";
+
+  buildInputs = [ llvm gmp mpfr mpc ncurses zlib ];
+
+  installPhase = ''
+    mkdir -p $out/lib $out/share/doc/${name}
+    cp -d dragonegg.so $out/lib
+    cp README COPYING $out/share/doc/${name}
+  '';
+
+  meta = {
+    homepage = http://dragonegg.llvm.org/;
+    description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [viric shlevy];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.4/lld.nix b/pkgs/development/compilers/llvm/3.4/lld.nix
new file mode 100644
index 00000000000..c28c03fbdd1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/lld.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }:
+
+stdenv.mkDerivation {
+  name = "lld-${version}";
+
+  src = fetch "lld" "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxz";
+
+  preUnpack = ''
+    # !!! Hopefully won't be needed for 3.5
+    unpackFile ${llvm.src}
+    export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
+  '';
+
+  buildInputs = [ cmake ncurses zlib python ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLD_PATH_TO_LLVM_BUILD=${llvm}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A set of modular code for creating linker tools";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.4/lldb.nix b/pkgs/development/compilers/llvm/3.4/lldb.nix
new file mode 100644
index 00000000000..7b35119a93f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/lldb.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, llvm
+, clang
+, python
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "lldb-${version}";
+
+  src = fetch "lldb" "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x4g";
+
+  patchPhase = ''
+    sed -i 's|/usr/bin/env||' \
+      scripts/Python/finish-swig-Python-LLDB.sh \
+      scripts/Python/build-swig-Python.sh
+  '';
+
+  buildInputs = [ cmake python which swig ncurses zlib libedit ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DLLDB_PATH_TO_CLANG_BUILD=${clang}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A next-generation high-performance debugger";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch b/pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch
new file mode 100644
index 00000000000..abfc11513cd
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch
@@ -0,0 +1,12 @@
+diff -Naur llvm-3.4-orig/cmake/modules/TableGen.cmake llvm-3.4/cmake/modules/TableGen.cmake
+--- llvm-3.4-orig/cmake/modules/TableGen.cmake	2013-10-06 21:00:07.000000000 -0400
++++ llvm-3.4/cmake/modules/TableGen.cmake	2014-01-20 13:06:55.273022149 -0500
+@@ -78,8 +78,6 @@
+ endif()
+ 
+ macro(add_tablegen target project)
+-  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
+-
+   set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
+   set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
+   add_llvm_utility(${target} ${ARGN})
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
new file mode 100644
index 00000000000..fbc881fc8e0
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, fetch
+, perl
+, groff
+, cmake
+, python
+, libffi
+, binutils
+, libxml2
+, valgrind
+, ncurses
+, version
+, zlib
+, compiler-rt_src
+}:
+
+let
+  src = fetch "llvm" "1mzgy7r0dma0npi1qrbr1s5n4nbj1ipxgbiw0q671l4s0r3qs0qp";
+in stdenv.mkDerivation rec {
+  name = "llvm-${version}";
+
+  unpackPhase = ''
+    unpackFile ${src}
+    mv llvm-${version}.src llvm
+    sourceRoot=$PWD/llvm
+    unpackFile ${compiler-rt_src}
+    mv compiler-rt-* $sourceRoot/projects/compiler-rt
+  '';
+
+  buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = ''
+    mkdir -p $out/
+    ln -sv $PWD/lib $out
+  '';
+
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+  ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
+
+  postBuild = ''
+    rm -fR $out
+
+    paxmark m bin/{lli,llvm-rtdyld}
+
+    paxmark m unittests/ExecutionEngine/JIT/JITTests
+    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+    paxmark m unittests/Support/SupportTests
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru.src = src;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
+    platforms   = stdenv.lib.platforms.all;
+    broken      = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.4/polly-separate-build.patch b/pkgs/development/compilers/llvm/3.4/polly-separate-build.patch
new file mode 100644
index 00000000000..618dd4dc3b1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/polly-separate-build.patch
@@ -0,0 +1,12 @@
+diff -Naur polly-3.4-orig/CMakeLists.txt polly-3.4/CMakeLists.txt
+--- polly-3.4-orig/CMakeLists.txt	2013-11-21 06:51:46.000000000 -0500
++++ polly-3.4/CMakeLists.txt	2014-01-20 18:49:34.907919933 -0500
+@@ -53,7 +53,7 @@
+   execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/llvm-config" --cxxflags
+                   OUTPUT_VARIABLE LLVM_CXX_FLAGS
+                   OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS})
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}")
+ endif(NOT DEFINED LLVM_MAIN_SRC_DIR)
+ 
+ set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/pkgs/development/compilers/llvm/3.4/polly.nix b/pkgs/development/compilers/llvm/3.4/polly.nix
new file mode 100644
index 00000000000..61721ffad67
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/polly.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetch, cmake, isl, python, gmp, llvm, version }:
+
+stdenv.mkDerivation {
+  name = "polly-${version}";
+
+  src =  fetch "polly" "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6lz";
+
+  patches = [ ./polly-separate-build.patch ];
+
+  buildInputs = [ cmake isl python gmp ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLVM_INSTALL_ROOT=${llvm}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A polyhedral optimizer for llvm";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
deleted file mode 100644
index df58591973e..00000000000
--- a/pkgs/development/compilers/llvm/clang.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
-
-let
-  version = "3.3";
-  gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
-in
-
-stdenv.mkDerivation {
-  name = "clang-${version}";
-
-  buildInputs = [ perl llvm groff cmake libxml2 python ];
-
-  patches = stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
-
-  cmakeFlags = [
-    "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DLLVM_TARGETS_TO_BUILD=all"
-    "-DGCC_INSTALL_PREFIX=${gccReal}"
-  ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [
-    "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
-  ];
-
-  enableParallelBuilding = true;
-
-  src = fetchurl {
-      url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz";
-      sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi";
-  };
-
-  passthru = { gcc = stdenv.gcc.gcc; };
-
-  meta = {
-    homepage = http://clang.llvm.org/;
-    description = "A C language family frontend for LLVM";
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric shlevy];
-    platforms = with stdenv.lib.platforms; all;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
deleted file mode 100644
index abd3277d919..00000000000
--- a/pkgs/development/compilers/llvm/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils_gold }:
-
-let version = "3.3"; in
-
-stdenv.mkDerivation rec {
-  name = "llvm-${version}";
-
-  src = fetchurl {
-    url    = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
-    sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8";
-  };
-
-  # The default rlimits are too low for shared libraries.
-  patches = [ ./more-memory-for-bugpoint.patch ];
-
-  # libffi was propagated before, but it wasn't even being used, so
-  # unless something needs it just an input is fine.
-  buildInputs = [ perl groff cmake python libffi ]; # ToDo: polly, libc++; enable cxx11?
-
-  # hacky fix: created binaries need to be run before installation
-  preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD";
-    in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib";
-
-  cmakeFlags = with stdenv; [
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include"
-  ] ++ lib.optional (!isDarwin) [ "-DBUILD_SHARED_LIBS=ON" ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Collection of modular and reusable compiler and toolchain technologies";
-    homepage    = http://llvm.org/;
-    license     = licenses.bsd3;
-    maintainers = with maintainers; [ lovek323 raskin shlevy viric ];
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/dragonegg.nix b/pkgs/development/compilers/llvm/dragonegg.nix
deleted file mode 100644
index 42d337b8eac..00000000000
--- a/pkgs/development/compilers/llvm/dragonegg.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{stdenv, fetchurl, llvm, gmp, mpfr, mpc}:
-
-stdenv.mkDerivation rec {
-  version = "3.2";
-  name = "dragonegg-${version}";
-
-  src = fetchurl {
-    url = "http://llvm.org/releases/${version}/${name}.src.tar.gz";
-    sha256 = "0jfxhqy3177drlvzgp6m0kwnbfyzrd4vzidnxjhck8a7a69a26bg";
-  };
-
-  # The gcc the plugin will be built for (the same used building dragonegg)
-  GCC = "gcc";
-
-  buildInputs = [ llvm gmp mpfr mpc ];
-
-  installPhase = ''
-    mkdir -p $out/lib $out/share/doc/${name}
-    cp -d dragonegg.so $out/lib
-    cp README COPYING $out/share/doc/${name}
-  '';
-
-  meta = {
-    homepage = http://dragonegg.llvm.org/;
-    description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
-    license = "GPLv2+";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/development/compilers/manticore/builder.sh b/pkgs/development/compilers/manticore/builder.sh
new file mode 100755
index 00000000000..8fb4ab850eb
--- /dev/null
+++ b/pkgs/development/compilers/manticore/builder.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+source $stdenv/setup
+echo "Building Manticore research compiler."
+set -xe
+
+PATH=$smlnj/bin:$PATH
+
+mkdir -p $out/bin
+
+# Manticore seems to use the MLB files from the build tree,
+# so for now we copy the whole build tree into the store:
+cd $out/
+tar xf $src
+mv manticore* repo_checkout
+cd repo_checkout/
+# TODO: At the very least, this could probably be cut down to a subset
+# of the repo.
+
+${autoconf}/bin/autoheader -Iconfig
+${autoconf}/bin/autoconf -Iconfig
+./configure --prefix=$out
+make build -j
+make install
diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix
new file mode 100644
index 00000000000..983f86531dc
--- /dev/null
+++ b/pkgs/development/compilers/manticore/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, coreutils, autoconf, automake, smlnj }:
+
+stdenv.mkDerivation rec {
+  name = "manticore-${version}";
+  version = "2014.08.18";
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = https://github.com/rrnewton/manticore_temp_mirror/archive/snapshot-20140818.tar.gz; 
+    sha256 = "1x52xpj5gbcpqjqm6aw6ssn901f353zypj3d5scm8i3ad777y29d";
+  };
+  inherit stdenv coreutils autoconf automake smlnj;
+
+  meta = {
+    description = "a parallel, pure variant of Standard ML";
+
+    longDescription = '' 
+      Manticore is a high-level parallel programming language aimed at
+      general-purpose applications running on multi-core
+      processors. Manticore supports parallelism at multiple levels:
+      explicit concurrency and coarse-grain parallelism via CML-style
+      constructs and fine-grain parallelism via various light-weight
+      notations, such as parallel tuple expressions and NESL/Nepal-style
+      parallel array comprehensions.  
+    '';
+
+    homepage = http://manticore.cs.uchicago.edu/;
+  };
+}
diff --git a/pkgs/development/compilers/mcpp/default.nix b/pkgs/development/compilers/mcpp/default.nix
new file mode 100644
index 00000000000..34cb63e783e
--- /dev/null
+++ b/pkgs/development/compilers/mcpp/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, mcpp }:
+
+stdenv.mkDerivation rec {
+  name = "mcpp-2.7.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mcpp/${name}.tar.gz";
+    sha256 = "0r48rfghjm90pkdyr4khxg783g9v98rdx2n69xn8f6c5i0hl96rv";
+  };
+
+  configureFlags = [ "--enable-mcpplib" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://mcpp.sourceforge.net/";
+    description = "A portable c preprocessor";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix
new file mode 100644
index 00000000000..21af582c594
--- /dev/null
+++ b/pkgs/development/compilers/mercury/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, gcc, flex, bison, texinfo, jdk, erlang, makeWrapper
+, readline }:
+
+stdenv.mkDerivation rec {
+  name    = "mercury-${version}";
+  version = "14.01";
+
+  src = fetchurl {
+    url    = "http://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz";
+    sha256 = "1hgwmsaacxhgx2p2hikl5px8xf0wny9wx47gjl258dgxxasbfij4";
+  };
+
+  buildInputs = [ gcc flex bison texinfo jdk erlang makeWrapper
+                  readline ];
+
+  patchPhase = ''
+    # Fix calls to programs in /bin
+    for p in uname pwd ; do
+      for f in $(egrep -lr /bin/$p *) ; do
+        sed -i 's@/bin/'$p'@'$p'@g' $f ;
+      done
+    done
+  '';
+
+  preConfigure = ''
+    mkdir -p $out/lib/mercury/cgi-bin ;
+    configureFlags="--enable-deep-profiler=$out/lib/mercury/cgi-bin";
+  '';
+
+  preBuild = ''
+    # Mercury buildsystem does not take -jN directly.
+    makeFlags="PARALLEL=-j$NIX_BUILD_CORES" ;
+  '';
+
+  postInstall = ''
+    # Wrap with compilers for the different targets.
+    for e in $(ls $out/bin) ; do
+      wrapProgram $out/bin/$e \
+        --prefix PATH ":" "${gcc}/bin" \
+        --prefix PATH ":" "${jdk}/bin" \
+        --prefix PATH ":" "${erlang}/bin"
+    done
+  '';
+
+  meta = {
+    description = "Mercury is a pure logic programming language.";
+    longDescription = ''
+      Mercury is a logic/functional programming language which combines the
+      clarity and expressiveness of declarative programming with advanced
+      static analysis and error detection features.  Its highly optimized
+      execution algorithm delivers efficiency far in excess of existing logic
+      programming systems, and close to conventional programming systems.
+      Mercury addresses the problems of large-scale program development,
+      allowing modularity, separate compilation, and numerous optimization/time
+      trade-offs.
+    '';
+    homepage    = "http://mercurylang.org";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index 29950aa9e3d..c025fc8073b 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -78,12 +78,14 @@ stdenv.mkDerivation {
 
     homepage = http://www.gnu.org/software/mit-scheme/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
 
     # Build fails on Cygwin and Darwin:
     # <http://article.gmane.org/gmane.lisp.scheme.mit-scheme.devel/489>.
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.freebsd;
+
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index a5ff613a9b4..2fa986375ff 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -1,30 +1,44 @@
-{ stdenv, fetchurl, gmp }:
+{ stdenv, fetchurl, patchelf, gmp }:
+
+let
+  version = "20130715";
+
+  usr_prefix = if stdenv.isDarwin then "usr/local" else "usr";
+
+  dynamic_linker =
+    if stdenv.isx86_64 then "${stdenv.glibc}/lib/ld-linux-x86-64.so.2"
+                       else "${stdenv.glibc}/lib/ld-linux.so.2";
+in
 
 stdenv.mkDerivation rec {
-  name = "mlton-20100608";
+  name = "mlton-${version}";
 
   binSrc =
     if stdenv.system == "i686-linux" then (fetchurl {
-      url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}-1.x86-linux.static.tgz";
-      sha256 = "16qg8df9hg2pmnsblkgxp6bgm7334rsqkxqzskv5fl21wivmnwfw";
+      url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.x86-linux.tgz";
+      sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j";
     })
     else if stdenv.system == "x86_64-linux" then (fetchurl {
-        url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}-1.amd64-linux.static.tgz";
-        sha256 = "0i6ic8f6prl0cigrmf6bj9kqz3plzappxn17lz1rg2v832nfbw9r";
+        url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-linux.tgz";
+        sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn";
+    })
+    else if stdenv.system == "x86_64-darwin" then (fetchurl {
+        url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz";
+        sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9";
     })
     else throw "Architecture not supported";
 
   codeSrc =
     fetchurl {
-      url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}.src.tgz";
-      sha256 = "0cqb3k6ld9965hyyfyayi510f205vqzd5qqm3crh13nasvq2rjzj";
+      url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}.src.tgz";
+      sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11";
     };
 
   srcs = [ binSrc codeSrc ];
 
   sourceRoot = name;
 
-  buildInputs = [ gmp ];
+  buildInputs = [ patchelf gmp ];
 
   makeFlags = [ "all-no-docs" ];
 
@@ -35,22 +49,32 @@ stdenv.mkDerivation rec {
     substituteInPlace $(pwd)/Makefile --replace '/bin/cp' $(type -p cp)
 
     # Fix paths in the binary distribution.
-    BIN_DIST_DIR="$(pwd)/../usr"
+    BIN_DIST_DIR="$(pwd)/../${usr_prefix}"
     for f in "bin/mlton" "lib/mlton/platform" "lib/mlton/static-library" ; do
-      substituteInPlace "$BIN_DIST_DIR/$f" --replace '/usr/bin/env bash' $(type -p bash)
+      substituteInPlace "$BIN_DIST_DIR/$f" --replace '/${usr_prefix}/bin/env bash' $(type -p bash)
     done
 
-    substituteInPlace $(pwd)/../usr/bin/mlton --replace '/usr/lib/mlton' $(pwd)/../usr/lib/mlton
+    substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton
   '';
 
   preBuild = ''
     # To build the source we have to put the binary distribution in the $PATH.
-    export PATH="$PATH:$(pwd)/../usr/bin/"
+    export PATH="$PATH:$(pwd)/../${usr_prefix}/bin/"
 
     # Let the builder execute the binary distribution.
-    chmod u+x $(pwd)/../usr/bin/mllex
-    chmod u+x $(pwd)/../usr/bin/mlyacc
-    chmod u+x $(pwd)/../usr/bin/mlton
+    chmod u+x $(pwd)/../${usr_prefix}/bin/mllex
+    chmod u+x $(pwd)/../${usr_prefix}/bin/mlyacc
+    chmod u+x $(pwd)/../${usr_prefix}/bin/mlton
+
+    # So the builder runs the binary compiler with gmp.
+    export LD_LIBRARY_PATH=${gmp}/lib:$LD_LIBRARY_PATH
+
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    # Patch ELF interpreter.
+    patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile
+    for e in mllex mlyacc ; do
+      patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e
+    done
   '';
 
   doCheck = true;
@@ -59,21 +83,21 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     # Fix path to mlton libraries.
-    substituteInPlace $(pwd)/install/usr/bin/mlton --replace '/usr/lib/mlton' $out/lib/mlton
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton
 
     # Path to libgmp.
-    substituteInPlace $(pwd)/install/usr/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp}/lib'"
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp}/lib'"
 
     # Path to gmp.h.
-    substituteInPlace $(pwd)/install/usr/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'"
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'"
 
     # Path to the same gcc used in the build; needed at runtime.
-    substituteInPlace $(pwd)/install/usr/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p gcc)"'"
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p gcc)"'"
 
     # Copy files to final positions.
-    cp -r $(pwd)/install/usr/bin $out
-    cp -r $(pwd)/install/usr/lib $out
-    cp -r $(pwd)/install/usr/man $out
+    cp -r $(pwd)/install/${usr_prefix}/bin $out
+    cp -r $(pwd)/install/${usr_prefix}/lib $out
+    cp -r $(pwd)/install/${usr_prefix}/man $out
   '';
 
   meta = {
@@ -89,6 +113,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://mlton.org/;
     license = "bsd";
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"];
   };
 }
diff --git a/pkgs/development/compilers/mono/build-fix-llvm.patch b/pkgs/development/compilers/mono/build-fix-llvm.patch
new file mode 100644
index 00000000000..526986ad12c
--- /dev/null
+++ b/pkgs/development/compilers/mono/build-fix-llvm.patch
@@ -0,0 +1,12 @@
+diff --git a/lib/CodeGen/AsmPrinter/CMakeLists.txt.old b/lib/CodeGen/AsmPrinter/CMakeLists.txt
+index be484a6..c92ff46 100644
+--- a/lib/CodeGen/AsmPrinter/CMakeLists.txt.old
++++ b/lib/CodeGen/AsmPrinter/CMakeLists.txt
+@@ -10,6 +10,7 @@ add_llvm_library(LLVMAsmPrinter
+   DwarfCompileUnit.cpp
+   DwarfDebug.cpp
+   DwarfException.cpp
++  DwarfMonoException.cpp
+   ErlangGCPrinter.cpp
+   OcamlGCPrinter.cpp
+   Win64Exception.cpp
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 88bef618f74..1b9e9118d56 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -1,13 +1,18 @@
-{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11}:
+{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? true }:
 
+let
+  llvm     = callPackage ./llvm.nix { };
+  llvmOpts = stdenv.lib.optionalString withLLVM "--enable-llvm --enable-llvmloaded --with-llvm=${llvm}";
+in
 stdenv.mkDerivation rec {
-  name = "mono-2.11.4";
+  name = "mono-${version}";
+  version = "3.2.8";
   src = fetchurl {
     url = "http://download.mono-project.com/sources/mono/${name}.tar.bz2";
-    sha256 = "0wv8pnj02mq012sihx2scx0avyw51b5wb976wn7x86zda0vfcsnr";
+    sha256 = "0h0s42pmgrhwqaym0b1401h70dcpr179ngcsp7f8i4hl4snqrd7x";
   };
 
-  buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11];
+  buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib];
   propagatedBuildInputs = [glib];
 
   NIX_LDFLAGS = "-lgcc_s" ;
@@ -17,7 +22,7 @@ stdenv.mkDerivation rec {
 
   # In fact I think this line does not help at all to what I
   # wanted to achieve: have mono to find libgdiplus automatically
-  configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so";
+  configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so ${llvmOpts}";
 
   # Attempt to fix this error when running "mcs --version":
   # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image
@@ -26,10 +31,14 @@ stdenv.mkDerivation rec {
   # Parallel building doesn't work, as shows http://hydra.nixos.org/build/2983601
   enableParallelBuilding = false;
 
-  preBuild = "
+  # Patch all the necessary scripts. Also, if we're using LLVM, we fix the default
+  # LLVM path to point into the Mono LLVM build, since it's private anyway.
+  preBuild = ''
     makeFlagsArray=(INSTALL=`type -tp install`)
     patchShebangs ./
-  ";
+  '' + stdenv.lib.optionalString withLLVM ''
+    substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")"
+  '';
 
   #Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps
   #Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive
@@ -38,7 +47,7 @@ stdenv.mkDerivation rec {
     find . -name 'config' -type f | while read i; do
         sed -i "s@libMonoPosixHelper.so@$out/lib/libMonoPosixHelper.so@g" $i
         sed -i "s@libX11.so.6@${libX11}/lib/libX11.so.6@g" $i
-        sed -i '2 i\<dllmap dll="gdiplus.dll" target="${libgdiplus}/lib/libgdiplus.so" os="!windows"/>' $i
+        sed -i "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" $i
     done
   '';
 
@@ -46,7 +55,7 @@ stdenv.mkDerivation rec {
     homepage = http://mono-project.com/;
     description = "Cross platform, open source .NET development framework";
     platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice ];
     license = "free"; # Combination of LGPL/X11/GPL ?
   };
 }
diff --git a/pkgs/development/compilers/mono/llvm.nix b/pkgs/development/compilers/mono/llvm.nix
new file mode 100644
index 00000000000..74f85b1519c
--- /dev/null
+++ b/pkgs/development/compilers/mono/llvm.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, fetchurl
+, perl
+, groff
+, cmake
+, python
+, libffi
+, binutils
+, libxml2
+, valgrind
+, ncurses
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  name    = "llvm-${version}";
+  version = "3.4svn-mono-f9b1a74368";
+  src = fetchurl {
+    # from the HEAD of the 'mono3' branch
+    url = "https://github.com/mono/llvm/archive/f9b1a74368ec299fc04c4cfef4b5aa0992b7b806.tar.gz";
+    name = "${name}.tar.gz";
+    sha256 = "1bbkx4p5zdnk3nbdd5jxvbwqx8cdq8z1n1nhf639i98mggs0zhdg";
+  };
+
+  patches = [ ./build-fix-llvm.patch ];
+  unpackPhase = ''
+    unpackFile ${src}
+    mv llvm-* llvm
+    sourceRoot=$PWD/llvm
+  '';
+
+  buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = ''
+    mkdir -p $out/
+    ln -sv $PWD/lib $out
+  '';
+  postBuild = "rm -fR $out";
+
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+  ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies - Mono build";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index 61015a66d16..8219882a2a2 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "nasm-2.10";
+  name = "nasm-${version}";
+  version = "2.11.05";
   
   src = fetchurl {
-    url = "http://www.nasm.us/pub/nasm/releasebuilds/2.10/${name}.tar.bz2";
-    sha256 = "1wcxm0il06b17wjarw8pbf9bagjhfcf7yayahmyip03qkfka2yk8";
+    url = "http://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2";
+    sha256 = "1sgspnascc0asmwlv3jm1mq4vzx653sa7vlg48z20pfybk7pnhaa";
   };
 
   meta = {
     homepage = http://www.nasm.us/;
     description = "An 80x86 and x86-64 assembler designed for portability and modularity";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/ocaml/3.11.2.nix b/pkgs/development/compilers/ocaml/3.11.2.nix
index 9c0b3d1d192..64cf8a9f9f7 100644
--- a/pkgs/development/compilers/ocaml/3.11.2.nix
+++ b/pkgs/development/compilers/ocaml/3.11.2.nix
@@ -37,13 +37,13 @@ stdenv.mkDerivation rec {
     patch -p0 < ${./mips64.patch}
   '';
   postBuild = ''
-    ensureDir $out/include
+    mkdir -p $out/include
     ln -sv $out/lib/ocaml/caml $out/include/caml
   '';
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
-    licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "Objective Caml, the most popular variant of the Caml language";
 
     longDescription =
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index c719abc4abc..f916f5a7923 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
-    licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "OCaml, the most popular variant of the Caml language";
 
     longDescription =
diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix
index d7c14e031b3..8662db70c26 100644
--- a/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
-    licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "OCaml, the most popular variant of the Caml language";
 
     longDescription =
diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix
index c11bb7536be..0f68014fad6 100644
--- a/pkgs/development/compilers/ocaml/4.01.0.nix
+++ b/pkgs/development/compilers/ocaml/4.01.0.nix
@@ -1,13 +1,24 @@
-{ stdenv, fetchurl, ncurses, x11 }:
+let
+  safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips);
+in
+
+{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }:
+
+if useX11 && !(safeX11 stdenv)
+  then throw "x11 not available in ocaml with arm or mips arch"
+  else # let the indentation flow
 
 let
-   useX11 = !stdenv.isArm && !stdenv.isMips;
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optionals optionalString;
 in
 
 stdenv.mkDerivation rec {
 
+  x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; };
+  x11lib = x11env + "/lib";
+  x11inc = x11env + "/include";
+
   name = "ocaml-4.01.0";
 
   src = fetchurl {
@@ -16,9 +27,11 @@ stdenv.mkDerivation rec {
   };
 
   prefixKey = "-prefix ";
-  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ];
+  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib
+                                                    "-x11include" x11inc ];
+
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
-  buildInputs = [ncurses] ++ optionals useX11 [ x11 ];
+  buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   preConfigure = ''
     CAT=$(type -tp cat)
@@ -35,7 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
-    licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "OCaml, the most popular variant of the Caml language";
 
     longDescription =
diff --git a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
index df3e9e73af5..9c5fa3764ba 100644
--- a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
+++ b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://okmij.org/ftp/ML/index.html#ber-metaocaml";
-    licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "a conservative extension of OCaml with the primitive type of code values, and three basic multi-stage expression forms: Brackets, Escape, and Run";
   };
 }
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 68413e3e25d..c25080229ff 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, which, ocaml, perl, jdk
 , findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
 , ocamlgraph, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake } :
+, gcc, binutils, gnumake, nodejs, git } :
 
 stdenv.mkDerivation rec {
   pname = "opa";
-  version = "962";
+  version = "4308";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/MLstate/opalang/tarball/v${version}";
     name = "opa-${version}.tar.gz";
-    sha256 = "0g4kq2kxbld0iqlzb076b7g43d8fh4sfxam615z15mbk1jcvpf9l";
+    sha256 = "1farii9474i14ack6bpqm1jihs6i8pvwky3a7q8v8pbnl4i6lb5g";
   };
 
   # Paths so the opa compiler code generation will use the same programs as were
@@ -23,18 +23,27 @@ stdenv.mkDerivation rec {
     find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
   '';
 
-  patches = [ ./locate.patch ./libdir.patch ];
+  patches = [];
 
   preConfigure = ''
     configureFlags="$configureFlags -prefix $out"
+    (
+    cat ./compiler/buildinfos/buildInfos.ml.pre
+    ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt 
+    echo let opa_git_version = ${version}
+    echo 'let opa_git_sha = "xxxx"'
+    cat ./compiler/buildinfos/buildInfos.ml.post
+    )> ./compiler/buildinfos/buildInfos.ml
   '';
 
   dontAddPrefix = true;
 
-  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind -openssl ${openssl}/lib";
+  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind ";
 
   buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
-                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake ];
+                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake
+		  nodejs git
+		  ];
 
   postInstall = ''
     # Have compiler use same tools for code generation as used to build it.
@@ -58,5 +67,14 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = [ "x86_64-linux" ];
+    # File "compiler/libqmlcompil/dbGen/schema_io.ml", line 199, characters 3-53:
+    # Error: Signature mismatch:
+    #        ...
+    #     The field `remove_edge_e' is required but not provided
+    #     The field `remove_edge' is required but not provided
+    #     The field `remove_vertex' is required but not provided
+    # Command exited with code 2.
+    # make: *** [node] Error 10
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/opencxx/default.nix b/pkgs/development/compilers/opencxx/default.nix
deleted file mode 100644
index 54eda51353f..00000000000
--- a/pkgs/development/compilers/opencxx/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ stdenv, fetchurl, libtool, gcc, patches ? []}:
-
-stdenv.mkDerivation {
-  name = "opencxx-2.8";
-  src = fetchurl {
-    url = mirror://sourceforge/opencxx/opencxx-2.8.tar.gz;
-    md5 = "0f71df82751fe8aba5122d6e0541c98a";
-  };
-
-  buildInputs = [libtool];
-  NIX_GCC = gcc;
-
-  inherit patches;
-}
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
new file mode 100644
index 00000000000..19f8eab482c
--- /dev/null
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -0,0 +1,41 @@
+# Binaries provided by Open Dylan to be used to bootstrap from source.
+# The binaries can also be used as is.
+{stdenv, fetchurl, patchelf, boehmgc, gnused, gcc, makeWrapper}:
+
+stdenv.mkDerivation {
+  name = "opendylan-2013.2";
+
+  src = if stdenv.system == "x86_64-linux" then fetchurl {
+      url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2;
+      sha256 = "035brbw3hm7zrs593q4zc42yglj1gmmkw3b1r7zzlw3ks4i2lg7h";
+    }
+    else if stdenv.system == "i686-linux" then fetchurl {
+      url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2;
+      sha256 = "0c61ihvblcsjrw6ncr8x8ylhskcrqs8pajs4mg5di36cvqw12nq5";
+    }
+    else throw "platform ${stdenv.system} not supported.";
+
+  buildInputs = [ patchelf boehmgc gnused makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p "$out"
+    tar --strip-components=1 -xjf "$src" -C "$out"
+
+    interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)"
+    for a in "$out"/bin/*; do 
+      patchelf --set-interpreter "$interpreter" "$a"
+      patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
+    done
+    for a in "$out"/lib/*.so; do 
+      patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
+    done
+    sed -i -e "s|\-lgc|\-L${boehmgc}\/lib -lgc|" $out/lib/config.jam
+    wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin
+  '';
+
+  meta = {
+    homepage = http://opendylan.org;
+    description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/compilers/opendylan/default.nix b/pkgs/development/compilers/opendylan/default.nix
new file mode 100644
index 00000000000..e4bdcf7889b
--- /dev/null
+++ b/pkgs/development/compilers/opendylan/default.nix
@@ -0,0 +1,37 @@
+# Build Open Dylan from source using the binary builds to bootstrap.
+{stdenv, fetchgit, patchelf, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }:
+
+stdenv.mkDerivation {
+  name = "opendylan-2013.2";
+
+  src = fetchgit {
+    url = https://github.com/dylan-lang/opendylan;
+    rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
+    sha256 = "cec80980b838ac2581dfb6282e25d208e720d475256b75e24b23dbd30b09d21f";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = (if stdenv.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [
+    opendylan-bootstrap boehmgc gnused autoconf automake perl makeWrapper
+  ] ;
+
+  preConfigure = if stdenv.system == "i686-linux" then ''
+    mkdir -p $TMPDIR/mps
+    tar --strip-components=1 -xf ${mps.src} -C $TMPDIR/mps
+    ./autogen.sh
+  ''
+  else ''
+    ./autogen.sh
+  '';
+
+  configureFlags = if stdenv.system == "i686-linux" then "--with-mps=$(TMPDIR)/mps" else "--with-gc=${boehmgc}";
+  buildPhase = "make 3-stage-bootstrap";
+
+  postInstall = "wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin";
+
+  meta = {
+    homepage = http://opendylan.org;
+    description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix
index 1e74acfae72..8d3cbef75d4 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk-darwin/default.nix
@@ -1,16 +1,37 @@
-{stdenv, fetchurl, ...}:
+{ stdenv, fetchurl, unzip, setJavaClassPath }:
+let
+  jdk = stdenv.mkDerivation {
+    name = "openjdk-7u60b30";
 
-stdenv.mkDerivation {
-  name = "openjdk6-b16-24_apr_2009-r1";
+    # From https://github.com/alexkasko/openjdk-unofficial-builds
+    src = fetchurl {
+      url = https://bitbucket.org/alexkasko/openjdk-unofficial-builds/downloads/openjdk-1.7.0-u60-unofficial-macosx-x86_64-bundle.zip;
+      sha256 = "af510a4d566712d82c17054bb39f91d98c69a85586e244c6123669a0bd4b7401";
+    };
 
-  src = fetchurl {
-    url = http://hg.bikemonkey.org/archive/openjdk6_darwin/openjdk6-b16-24_apr_2009-r1.tar.bz2;
-    sha256 = "14pbv6jjk95k7hbgiwyvjdjv8pccm7m8a130k0q7mjssf4qmpx1v";
-  };
+    buildInputs = [ unzip ];
+
+    installPhase = ''
+      mv */Contents/Home $out
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/darwin/*_md.h $out/include/
+    '';
 
-  installPhase = ''
-    mkdir -p $out
-    cp -vR * $out/
-  '';
+    preFixup = ''
+      # Propagate the setJavaClassPath setup hook from the JRE so that
+      # any package that depends on the JRE has $CLASSPATH set up
+      # properly.
+      mkdir -p $out/nix-support
+      echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs
 
-}
+      # Set JAVA_HOME automatically.
+      cat <<EOF >> $out/nix-support/setup-hook
+      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      EOF
+    '';
+
+    passthru.jre = jdk;
+
+  };
+in jdk
diff --git a/pkgs/development/compilers/openjdk/bootstrap.nix b/pkgs/development/compilers/openjdk/bootstrap.nix
index 01ed43069b6..222ab010c26 100644
--- a/pkgs/development/compilers/openjdk/bootstrap.nix
+++ b/pkgs/development/compilers/openjdk/bootstrap.nix
@@ -1,4 +1,4 @@
-{ runCommand, glibc, fetchurl }:
+{ stdenv, runCommand, glibc, fetchurl, file }:
 
 let
   # !!! These should be on nixos.org
@@ -18,4 +18,12 @@ in
 runCommand "openjdk-bootstrap" {} ''
   xz -dc ${src} | sed "s/e*-glibc-[^/]*/$(basename ${glibc})/g" | tar xv
   mv openjdk-bootstrap $out
+
+  # Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings:
+  exes=$(${file}/bin/file $out/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
+  for file in $exes; do
+    paxmark m "$file"
+    # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
+    ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''}
+  done
 ''
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index 0be36379f33..6a07c7af69e 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -1,30 +1,6 @@
-{ stdenv
-, fetchurl
-, unzip
-, zip
-, procps
-, coreutils
-, alsaLib
-, ant
-, freetype
-, cups
-, which
-, jdk
-, nettools
-, libX11
-, libXt
-, libXext
-, libXrender
-, libXtst
-, libXi
-, libXinerama
-, libXcursor
-, fontconfig
-, cpio
-, cacert
-, jreOnly ? false
-, perl
-}:
+{ stdenv, fetchurl, unzip, zip, procps, coreutils, alsaLib, ant, freetype
+, which, jdk, nettools, xorg, file
+, fontconfig, cpio, cacert, perl, setJavaClassPath }:
 
 let
 
@@ -39,106 +15,159 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "6";
+  update = "65";
 
-  build = "24";
+  build = "32";
+
+  # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
+  paxflags = if stdenv.isi686 then "msp" else "m";
+
+  cupsSrc = fetchurl {
+    url = http://ftp.easysw.com/pub/cups/1.5.4/cups-1.5.4-source.tar.bz2;
+    md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
+  };
 
 in
 
 stdenv.mkDerivation rec {
-  name = "openj${if jreOnly then "re" else "dk"}-7u${update}b${build}";
+  name = "openjdk-7u${update}b${build}";
 
   src = fetchurl {
-    url = "http://www.java.net/download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip";
-    sha256 = "1x1iq8ga0hqqh0bpcmydzzy19757hknn2yvgzib85p7b7dx0vfx9";
+    url = "http://tarballs.nixos.org/openjdk-7u${update}-b${build}.tar.xz";
+    sha256 = "0lyp75sl5w4b9azphb2nq5cwzli85inpksq4943q4j349rkmdprx";
   };
 
-#  outputs = [ "out" ] ++ stdenv.lib.optionals (! jreOnly) [ "jre" ];
-
-  buildInputs = [
-    unzip
-    procps
-    ant
-    which
-    zip
-    cpio
-    nettools
-    alsaLib
-    libX11
-    libXt
-    libXext
-    libXrender
-    libXtst
-    libXi
-    libXinerama
-    libXcursor
-    fontconfig
-    perl
-  ];
+  outputs = [ "out" "jre" ];
+
+  buildInputs =
+    [ unzip procps ant which zip cpio nettools alsaLib
+      xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
+      xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
+      fontconfig perl file
+    ];
 
   NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama";
 
   postUnpack = ''
     sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
       -e "s@/bin/ls@${coreutils}/bin/ls@" \
-      openjdk/hotspot/make/linux/makefiles/sa.make
+      openjdk*/hotspot/make/linux/makefiles/sa.make
 
     sed -i "s@/bin/echo -e@${coreutils}/bin/echo -e@" \
-      openjdk/{jdk,corba}/make/common/shared/Defs-utils.gmk
+      openjdk*/{jdk,corba}/make/common/shared/Defs-utils.gmk
 
-    sed -i "s@<Xrender.h>@<X11/extensions/Xrender.h>@" \
-      openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
+    tar xf ${cupsSrc}
+    cupsDir=$(echo $(pwd)/cups-*)
+    makeFlagsArray+=(CUPS_HEADERS_PATH=$cupsDir)
   '';
 
-  patches = [
-    ./cppflags-include-fix.patch
-    ./no-crypto-restrictions.patch
-  ];
+  patches = [ ./cppflags-include-fix.patch ./fix-java-home.patch ./paxctl.patch ];
+
+  NIX_NO_SELF_RPATH = true;
 
   makeFlags = [
     "SORT=${coreutils}/bin/sort"
     "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
     "FREETYPE_HEADERS_PATH=${freetype}/include"
     "FREETYPE_LIB_PATH=${freetype}/lib"
-    "MILESTONE=release"
+    "MILESTONE=u${update}"
     "BUILD_NUMBER=b${build}"
-    "CUPS_HEADERS_PATH=${cups}/include"
     "USRBIN_PATH="
     "COMPILER_PATH="
     "DEVTOOLS_PATH="
     "UNIXCOMMAND_PATH="
     "BOOTDIR=${jdk}"
+    "STATIC_CXX=false"
+    "UNLIMITED_CRYPTO=1"
+    "FULL_DEBUG_SYMBOLS=0"
   ];
 
-  configurePhase = ''
-    make $makeFlags sanity
+  configurePhase = "true";
+
+  preBuild = ''
+    # We also need to PaX-mark in the middle of the build
+    substituteInPlace hotspot/make/linux/makefiles/launcher.make \
+       --replace XXX_PAXFLAGS_XXX ${paxflags}
+    substituteInPlace jdk/make/common/Program.gmk  \
+       --replace XXX_PAXFLAGS_XXX ${paxflags}
   '';
 
   installPhase = ''
-    mkdir -p $out
-    cp -av build/*/j2${if jreOnly then "re" else "sdk"}-image/* $out
-    pushd $out/${if ! jreOnly then "jre/" else ""}lib/security
+    mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
+
+    cp -av build/*/j2sdk-image/* $out/lib/openjdk
+
+    # Move some stuff to top-level.
+    mv $out/lib/openjdk/include $out/include
+    mv $out/lib/openjdk/man $out/share/man
+
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
+    # Remove some broken manpages.
+    rm -rf $out/share/man/ja*
+
+    # Remove crap from the installation.
+    rm -rf $out/lib/openjdk/demo $out/lib/openjdk/sample
+
+    # Move the JRE to a separate output.
+    mv $out/lib/openjdk/jre $jre/lib/openjdk/
+    mkdir $out/lib/openjdk/jre
+    lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
+
+    rm -rf $out/lib/openjdk/jre/bin
+    ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin
+
+    # Set PaX markings
+    exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
+    echo "to mark: *$exes*"
+    for file in $exes; do
+      echo "marking *$file*"
+      paxmark ${paxflags} "$file"
+    done
+
+    # Remove duplicate binaries.
+    for i in $(cd $out/lib/openjdk/bin && echo *); do
+      if [ "$i" = java ]; then continue; fi
+      if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
+        ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
+      fi
+    done
+
+    # Generate certificates.
+    pushd $jre/lib/openjdk/jre/lib/security
     rm cacerts
-    perl ${./generate-cacerts.pl} $out/bin/keytool ${cacert}/etc/ca-bundle.crt
+    perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ca-bundle.crt
     popd
+
+    ln -s $out/lib/openjdk/bin $out/bin
+    ln -s $jre/lib/openjdk/jre/bin $jre/bin
+  ''; # */
+
+  # FIXME: this is unnecessary once the multiple-outputs branch is merged.
+  preFixup = ''
+    prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
+    patchELF $jre
+    propagatedNativeBuildInputs+=" $jre"
+
+    # Propagate the setJavaClassPath setup hook from the JRE so that
+    # any package that depends on the JRE has $CLASSPATH set up
+    # properly.
+    mkdir -p $jre/nix-support
+    echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs
+
+    # Set JAVA_HOME automatically.
+    mkdir -p $out/nix-support
+    cat <<EOF > $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
+    EOF
   '';
-#  '' + (if jreOnly then "" else ''
-#    if [ -z $jre ]; then
-#      exit 0
-#    fi
-#    mkdir -p $jre
-#    cp -av build/*/j2re-image/* $jre
-#  '');
 
   meta = {
     homepage = http://openjdk.java.net/;
-
-    license = "GPLv2";
-
+    license = stdenv.lib.licenses.gpl2;
     description = "The open-source Java Development Kit";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-
+    maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.linux;
   };
 
diff --git a/pkgs/development/compilers/openjdk/fix-java-home.patch b/pkgs/development/compilers/openjdk/fix-java-home.patch
new file mode 100644
index 00000000000..5def344f171
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/fix-java-home.patch
@@ -0,0 +1,17 @@
+diff -ru -x '*~' openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+--- openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp	2013-09-06 20:22:03.000000000 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2014-01-24 22:44:08.223857012 +0100
+@@ -2358,12 +2358,10 @@
+                 CAST_FROM_FN_PTR(address, os::jvm_path),
+                 dli_fname, sizeof(dli_fname), NULL);
+   assert(ret, "cannot locate libjvm");
+   char *rp = NULL;
+   if (ret && dli_fname[0] != '\0') {
+-    rp = realpath(dli_fname, buf);
++    snprintf(buf, buflen, "%s", dli_fname);
+   }
+-  if (rp == NULL)
+-    return;
+ 
+   if (Arguments::created_by_gamma_launcher()) {
+     // Support for the gamma launcher.  Typical value for buf is
diff --git a/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch b/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch
deleted file mode 100644
index 427ef353466..00000000000
--- a/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur openjdk-orig/jdk/make/javax/crypto/Makefile openjdk/jdk/make/javax/crypto/Makefile
---- openjdk-orig/jdk/make/javax/crypto/Makefile	2011-06-27 13:18:45.000000000 -0400
-+++ openjdk/jdk/make/javax/crypto/Makefile	2012-11-08 14:12:01.360718616 -0500
-@@ -156,7 +156,7 @@
- #
- 
- ifdef OPENJDK
--all: build-jar install-jar build-policy install-limited
-+all: build-jar install-jar build-policy install-unlimited
- else  # OPENJDK
- ifeq ($(strip $(FILES_java)),)
- all:
diff --git a/pkgs/development/compilers/openjdk/paxctl.patch b/pkgs/development/compilers/openjdk/paxctl.patch
new file mode 100644
index 00000000000..12528a601cc
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/paxctl.patch
@@ -0,0 +1,28 @@
+diff --git a/hotspot/make/linux/makefiles/launcher.make b/hotspot/make/linux/makefiles/launcher.make
+index 34bbcd6..41b9332 100644
+--- a/hotspot/make/linux/makefiles/launcher.make
++++ b/hotspot/make/linux/makefiles/launcher.make
+@@ -83,6 +83,8 @@ $(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
+ 	$(QUIETLY) echo Linking launcher...
+ 	$(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
+ 	$(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
++	paxctl -c $(LAUNCHER)
++	paxctl -zex -XXX_PAXFLAGS_XXX $(LAUNCHER)
+ 	$(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
+ 
+ $(LAUNCHER): $(LAUNCHER_SCRIPT)
+diff --git a/jdk/make/common/Program.gmk b/jdk/make/common/Program.gmk
+index 091800d..1de8cb4 100644
+--- a/jdk/make/common/Program.gmk
++++ b/jdk/make/common/Program.gmk
+@@ -60,6 +60,10 @@ ACTUAL_PROGRAM      = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME)
+ program_default_rule: all
+ 
+ program: $(ACTUAL_PROGRAM)
++	if [[ "$(PROGRAM)" = "java" ]]; then \
++		paxctl -c $(ACTUAL_PROGRAM); \
++		paxctl -zex -XXX_PAXFLAGS_XXX $(ACTUAL_PROGRAM); \
++	fi
+ 
+ # Work-around for missing processor specific mapfiles
+ ifndef CROSS_COMPILE_ARCH
diff --git a/pkgs/development/compilers/jdk/dlj-bundle-builder.sh b/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
index 028164ac395..028164ac395 100644
--- a/pkgs/development/compilers/jdk/dlj-bundle-builder.sh
+++ b/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
new file mode 100644
index 00000000000..657d18070e9
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -0,0 +1,185 @@
+{ productVersion
+, patchVersion
+, downloadUrl
+, sha256_i686
+, sha256_x86_64
+, jceName
+, jceDownloadUrl
+, sha256JCE
+}:
+
+{ swingSupport ? true
+, stdenv
+, requireFile
+, unzip
+, file
+, xlibs ? null
+, installjdk ? true
+, pluginSupport ? true
+, installjce ? false
+, glib
+, libxml2
+, libav_0_8
+, ffmpeg
+, libxslt
+, mesa_noglu
+, freetype
+, fontconfig
+, gnome
+, cairo
+, alsaLib
+, atk
+, gdk_pixbuf
+, setJavaClassPath
+}:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+assert swingSupport -> xlibs != null;
+
+let
+
+  /**
+   * The JRE libraries are in directories that depend on the CPU.
+   */
+  architecture =
+    if stdenv.system == "i686-linux" then
+      "i386"
+    else if stdenv.system == "x86_64-linux" then
+      "amd64"
+    else
+      abort "jdk requires i686-linux or x86_64 linux";
+
+  jce =
+    if installjce then
+      requireFile {
+        name = jceName;
+        url = jceDownloadUrl;
+        sha256 = sha256JCE;
+      }
+    else
+      "";
+in
+
+let result = stdenv.mkDerivation rec {
+  name =
+    if installjdk then "oraclejdk-${productVersion}u${patchVersion}" else "oraclejre-${productVersion}u${patchVersion}";
+
+  src =
+    if stdenv.system == "i686-linux" then
+      requireFile {
+        name = "jdk-${productVersion}u${patchVersion}-linux-i586.tar.gz";
+        url = downloadUrl;
+        sha256 = sha256_i686;
+      }
+    else if stdenv.system == "x86_64-linux" then
+      requireFile {
+        name = "jdk-${productVersion}u${patchVersion}-linux-x64.tar.gz";
+        url = downloadUrl;
+        sha256 = sha256_x86_64;
+      }
+    else
+      abort "jdk requires i686-linux or x86_64 linux";
+
+  nativeBuildInputs = [ file ]
+    ++ stdenv.lib.optional installjce unzip;
+
+  # See: https://github.com/NixOS/patchelf/issues/10
+  dontStrip = 1;
+
+  installPhase = ''
+    cd ..
+
+    # Set PaX markings
+    exes=$(file $sourceRoot/bin/* $sourceRoot/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
+    for file in $exes; do
+      paxmark m "$file"
+      # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
+      ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''}
+    done
+
+    if test -z "$installjdk"; then
+      mv $sourceRoot/jre $out
+    else
+      mv $sourceRoot $out
+    fi
+
+    for file in $out/*
+    do
+      if test -f $file ; then
+        rm $file
+      fi
+    done
+
+    if test -n "$installjdk"; then
+      for file in $out/jre/*
+      do
+        if test -f $file ; then
+          rm $file
+        fi
+      done
+    fi
+
+    # construct the rpath
+    rpath=
+    for i in $libraries; do
+        rpath=$rpath''${rpath:+:}$i/lib:$i/lib64
+    done
+
+    if test -z "$installjdk"; then
+      jrePath=$out
+    else
+      jrePath=$out/jre
+    fi
+
+    if test -n "${jce}"; then
+      unzip ${jce}
+      cp -v UnlimitedJCEPolicy/*.jar $jrePath/lib/security
+    fi
+
+    rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/jli
+    rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server
+    rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt
+    rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}
+
+    # set all the dynamic linkers
+    find $out -type f -perm +100 \
+        -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath "$rpath" {} \;
+
+    find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
+
+    if test -z "$pluginSupport"; then
+      rm -f $out/bin/javaws
+      if test -n "$installjdk"; then
+        rm -f $out/jre/bin/javaws
+      fi
+    fi
+
+    mkdir $jrePath/lib/${architecture}/plugins
+    ln -s $jrePath/lib/${architecture}/libnpjp2.so $jrePath/lib/${architecture}/plugins
+
+    mkdir -p $out/nix-support
+    echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs
+
+    # Set JAVA_HOME automatically.
+    cat <<EOF >> $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    EOF
+  '';
+
+  inherit installjdk pluginSupport;
+
+  /**
+   * libXt is only needed on amd64
+   */
+  libraries =
+    [stdenv.gcc.libc glib libxml2 libav_0_8 ffmpeg libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf atk] ++
+    (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt xlibs.libXrender stdenv.gcc.gcc] else []);
+
+  passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
+
+  passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package
+
+  meta.license = stdenv.lib.licenses.unfree;
+
+}; in result
diff --git a/pkgs/development/compilers/jdk/jdk6-construct.sh b/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
index 16ee0f5a2f0..16ee0f5a2f0 100644
--- a/pkgs/development/compilers/jdk/jdk6-construct.sh
+++ b/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
diff --git a/pkgs/development/compilers/jdk/jdk6-linux.nix b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
index 97ec6b56305..9b384c5ae46 100644
--- a/pkgs/development/compilers/jdk/jdk6-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
@@ -80,5 +80,5 @@ stdenv.mkDerivation {
 
   mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
 
-  meta.license = "unfree";
+  meta.license = stdenv.lib.licenses.unfree;
 }
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
new file mode 100644
index 00000000000..55e8ad45085
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -0,0 +1,10 @@
+import ./jdk-linux-base.nix {
+  productVersion = "7";
+  patchVersion = "65";
+  downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
+  sha256_i686 = "e3032c561deb237c033b485a358cc429ec83b621303bc6b31768855778a9eaa0";
+  sha256_x86_64 = "33fac9630ca8c2d374247abc5c010ac8d2875a3384968aa3e74448361808e4b7";
+  jceName = "UnlimitedJCEPolicyJDK7.zip";
+  jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
+  sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
new file mode 100644
index 00000000000..63af4564374
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -0,0 +1,10 @@
+import ./jdk-linux-base.nix {
+  productVersion = "8";
+  patchVersion = "11";
+  downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
+  sha256_i686 = "3981e6fb7d35b20ac3c05ec56fb3798ac1cd872a9e968bb3d77a718af7b146d1";
+  sha256_x86_64 = "f3593b248b64cc53bf191f45b92a1f10e8c5099c2f84bd5bd5d6465dfd07a8e9";
+  jceName = "jce_policy-8.zip";
+  jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
+  sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
+}
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 10945934d00..2ce3e89e897 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.17";
+  name = "orc-0.4.21";
 
   src = fetchurl {
-    url = "http://code.entropywave.com/download/orc/${name}.tar.gz";
-    sha256 = "1s6psp8phrd1jmxz9j01cksh3q5xrm1bd3z7zqxg5zsrijjcrisg";
+    url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
+    sha256 = "187wrnq0ficwjj4y3yqci5fxcdkiazfs6k5js26k5b26hipzmham";
   };
 
+  doCheck = true;
+
   meta = {
     description = "The Oil Runtime Compiler";
     homepage = "http://code.entropywave.com/orc/";
@@ -15,6 +17,5 @@ stdenv.mkDerivation rec {
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
     license = stdenv.lib.licenses.bsd3;
     platform = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.iyzsong ];
   };
 }
diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
index 4de7683dcdd..830fc3fa7f9 100644
--- a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
+++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
@@ -1,7 +1,7 @@
-diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile
---- pakcs-1.11.2-upstream/Makefile	2013-03-21 04:58:38.000000000 -0430
-+++ pakcs-1.11.2/Makefile	2013-05-09 15:04:48.035646127 -0430
-@@ -55,7 +55,6 @@
+diff -Naur pakcs-1.11.3-upstream/Makefile pakcs-1.11.3/Makefile
+--- pakcs-1.11.3-upstream/Makefile	2014-01-31 09:10:03.000000000 -0430
++++ pakcs-1.11.3/Makefile	2014-02-03 20:27:41.558334480 -0430
+@@ -66,7 +66,6 @@
  #
  .PHONY: install
  install: installscripts
@@ -9,21 +9,20 @@ diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile
  	# pre-compile all libraries:
  	@cd lib && $(MAKE) fcy
  	# install the Curry2Prolog compiler as a saved system:
-@@ -66,11 +65,6 @@
- 	@cd lib && $(MAKE) acy
- 	# prepare for separate compilation by compiling all librariers to Prolog code:
- 	@if [ -r bin/pakcs ] ; then cd lib && $(MAKE) pl ; fi
+@@ -105,10 +104,6 @@
+ # compile the tools:
+ .PHONY: tools
+ tools:
 -	# compile the Curry Port Name Server demon:
--	@if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi
+-	@if [ -r bin/pakcs ] ; then cd cpns       && $(MAKE) ; fi
 -	# compile the event handler demon for dynamic web pages:
--	@if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi
--	$(MAKE) tools
- 	$(MAKE) docs
- 	chmod -R go+rX .
+-	@if [ -r bin/pakcs ] ; then cd www        && $(MAKE) ; fi
+ 	@if [ -r bin/pakcs ] ; then cd currytools && $(MAKE) ; fi
+ 	@if [ -r bin/pakcs ] ; then cd tools      && $(MAKE) ; fi
  
-diff -Naur pakcs-1.11.2-upstream/scripts/pakcs.sh pakcs-1.11.2/scripts/pakcs.sh
---- pakcs-1.11.2-upstream/scripts/pakcs.sh	2013-03-21 04:52:59.000000000 -0430
-+++ pakcs-1.11.2/scripts/pakcs.sh	2013-05-09 03:14:23.500876628 -0430
+diff -Naur pakcs-1.11.3-upstream/scripts/pakcs.sh pakcs-1.11.3/scripts/pakcs.sh
+--- pakcs-1.11.3-upstream/scripts/pakcs.sh	2014-01-31 09:04:19.000000000 -0430
++++ pakcs-1.11.3/scripts/pakcs.sh	2014-02-03 20:20:40.775350116 -0430
 @@ -16,7 +16,7 @@
  # use readline wrapper rlwrap if it is installed and we have tty as stdin:
  USERLWRAP=no
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index bb4657d8aff..f7c76d74aae 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, cabal, swiProlog, mtl, syb, makeWrapper, rlwrap, tk }:
+{ stdenv, fetchurl, cabal, swiProlog, either, mtl, syb
+, glibcLocales, makeWrapper, rlwrap, tk }:
 
 let
-  fname = "pakcs-1.11.2";
+  fname = "pakcs-1.11.3";
 
   fsrc = fetchurl {
     url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
-    sha256 = "1x23kn91v44my4rd8j3247pj8i2myz82rzgbq07asi1x21bpvvmy";
+    sha256 = "0f4rhaqss9vfinpdjchxq75g343hz322cv0admjnl4g5g568wk3x";
   };
 
 in
@@ -29,12 +30,12 @@ stdenv.mkDerivation rec {
     sourceRoot = "${name}/frontend/curry-frontend";
     isLibrary = true;
     isExecutable = true;
-    buildDepends = [ mtl syb curryBase ];
+    buildDepends = [ either mtl syb curryBase ];
   });
 
   src = fsrc;
 
-  buildInputs = [ swiProlog makeWrapper rlwrap tk ];
+  buildInputs = [ swiProlog makeWrapper glibcLocales rlwrap tk ];
 
   patches = [ ./adjust-buildsystem.patch ];
 
@@ -48,14 +49,18 @@ stdenv.mkDerivation rec {
   '';
 
   preBuild = ''
+    # Some comments in files are in UTF-8, so include the locale needed by GHC runtime.
+    export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
+    export LC_ALL=en_US.UTF-8
+
     # Set up link to cymake, which has been built already.
-    ensureDir bin/.local
+    mkdir -p bin/.local
     ln -s ${curryFront}/bin/cymake bin/.local/
   '';
 
   installPhase = ''
     # Prepare PAKCSHOME directory.
-    ensureDir $out/pakcs
+    mkdir -p $out/pakcs
     for d in bin curry2prolog currytools lib tools cpns include www examples docs ; do
       cp -r $d $out/pakcs ;
     done
@@ -65,10 +70,6 @@ stdenv.mkDerivation rec {
     # Fixing PAKCSHOME and related paths.
     sed -i 's@PAKCSHOME=/tmp/.*@PAKCSHOME='$out/pakcs'@' $out/pakcs/bin/{pakcs,makecurrycgi,parsecurry,.makesavedstate}
 
-    # Fix symbolic links into the tmp build dir.
-    ln -s ../currytools/CASS/cass $out/pakcs/bin/cass
-    ln -s ../currytools/currydoc/CurryDoc $out/pakcs/bin/currydoc
-
     # The Prolog sources must be rebuilt in their final directory,
     # to switch the embedded references to the tmp build directory.
     export TEMP=/tmp
@@ -79,7 +80,7 @@ stdenv.mkDerivation rec {
     (cd $out/pakcs/www ; make)
 
     # Install bin.
-    ensureDir $out/bin
+    mkdir -p $out/bin
     for b in makecurrycgi .makesavedstate pakcs parsecurry cleancurry \
              addtypes cass currybrowse currycreatemake currydoc currytest \
              dataToXml erd2curry ; do
@@ -87,7 +88,7 @@ stdenv.mkDerivation rec {
     done
 
     # Place emacs lisp files in expected locations.
-    ensureDir $out/share/emacs/site-lisp/curry-pakcs
+    mkdir -p $out/share/emacs/site-lisp/curry-pakcs
     for e in "tools/emacs/"*.el ; do
       cp $e $out/share/emacs/site-lisp/curry-pakcs/ ;
     done
@@ -117,5 +118,7 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index dfdc50cd827..9c0af4ec9ab 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 let
-  version = "5.4.1";
+  version = "5.5.1";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz";
-    sha256 = "514d1d07be487b783d4dfa29dbd550b3396640579ce135a9eb5a61f08e7f9cac";
+    sha256 = "16i0ir5mydl7381aijihkll19khp3z8dq0g2ja6k0pcbpkd0k06g";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/qi/default.nix b/pkgs/development/compilers/qi/default.nix
index ae017255854..ecb022d942a 100644
--- a/pkgs/development/compilers/qi/default.nix
+++ b/pkgs/development/compilers/qi/default.nix
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
 		(textClosure localDefs [allBuild doForceShare doPropagate]);
 	meta = {
 		description = "Qi - next generation on top of Common Lisp";
-		inherit src;
 	};
 }
diff --git a/pkgs/development/compilers/rdmd/default.nix b/pkgs/development/compilers/rdmd/default.nix
new file mode 100644
index 00000000000..9177ad5e25b
--- /dev/null
+++ b/pkgs/development/compilers/rdmd/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, writeText, lib, dmd }:
+
+stdenv.mkDerivation {
+  name = "rdmd-2.064";
+
+  src = fetchurl {
+    url = https://raw2.github.com/D-Programming-Language/tools/2.064/rdmd.d;
+    sha256 = "0b1g3ng6bkanvg00r6xb4ycpbh9x8b9dw589av665azxbcraqrs1";
+    name = "rdmd-src";
+  };
+
+  buildInputs = [ dmd ];
+
+  builder = writeText "drmd-builder.sh" ''
+      source $stdenv/setup
+      cp $src rdmd.d
+      dmd rdmd.d
+      mkdir -p $out/bin
+      cp rdmd $out/bin/
+  '';
+
+  meta = {
+    description = "rdmd wrapper for D language compiler";
+    homepage = http://dlang.org/rdmd.html;
+    license = lib.licenses.boost;
+    maintainers = with stdenv.lib.maintainers; [ vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/rustc/0.11.nix b/pkgs/development/compilers/rustc/0.11.nix
new file mode 100644
index 00000000000..1c3b09b0985
--- /dev/null
+++ b/pkgs/development/compilers/rustc/0.11.nix
@@ -0,0 +1,72 @@
+{stdenv, fetchurl, which, file, perl, curl, python27, makeWrapper}:
+
+/* Rust's build process has a few quirks :
+
+- It requires some patched in llvm that haven't landed upstream, so it
+  compiles its own llvm. This might change in the future, so at some
+  point we may be able to switch to nix's llvm.
+
+- The Rust compiler is written is Rust, so it requires a bootstrap
+  compiler, which is downloaded during the build. To make the build
+  pure, we download it ourself before and put it where it is
+  expected. Once the language is stable (1.0) , we might want to
+  switch it to use nix's packaged rust compiler.
+
+*/
+
+with ((import ./common.nix) {inherit stdenv; version = "0.11.0"; });
+
+let snapshot = if stdenv.system == "i686-linux"
+      then "84339ea0f796ae468ef86797ef4587274bec19ea"
+      else if stdenv.system == "x86_64-linux"
+      then "bd8a6bc1f28845b7f4b768f6bfa06e7fbdcfcaae"
+      else if stdenv.system == "i686-darwin"
+      then "3f25b2680efbab16ad074477a19d49dcce475977"
+      else if stdenv.system == "x86_64-darwin"
+      then "4a8c2e1b7634d73406bac32a1a97893ec3ed818d"
+      else abort "no-snapshot for platform ${stdenv.system}";
+    snapshotDate = "2014-06-21";
+    snapshotRev = "db9af1d";
+    snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
+
+in stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+  inherit meta;
+
+  src = fetchurl {
+    url = http://static.rust-lang.org/dist/rust-0.11.0.tar.gz;
+    sha256 = "1fhi8iiyyj5j48fpnp93sfv781z1dm0xy94h534vh4mz91jf7cyi";
+  };
+
+  # We need rust to build rust. If we don't provide it, configure will try to download it.
+  snapshot = stdenv.mkDerivation {
+    name = "rust-stage0";
+    src = fetchurl {
+      url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
+      sha1 = snapshot;
+    };
+    dontStrip = true;
+    installPhase = ''
+      mkdir -p "$out"
+      cp -r bin "$out/bin"
+    '' + (if stdenv.isLinux then ''
+      patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker}" \
+               --set-rpath "${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/" \
+               "$out/bin/rustc"
+    '' else "");
+  };
+
+  configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
+
+  # The compiler requires cc, so we patch the source to tell it where to find it
+  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
+  postPatch = ''
+    substituteInPlace src/librustc/back/link.rs \
+      --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
+      --subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
+  '';
+
+  buildInputs = [ which file perl curl python27 makeWrapper ];
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/compilers/rustc/common.nix b/pkgs/development/compilers/rustc/common.nix
new file mode 100644
index 00000000000..d766f22c6ad
--- /dev/null
+++ b/pkgs/development/compilers/rustc/common.nix
@@ -0,0 +1,35 @@
+{stdenv, version}:
+
+{
+  inherit version;
+
+  platform = if stdenv.system == "i686-linux"
+    then "linux-i386"
+    else if stdenv.system == "x86_64-linux"
+    then "linux-x86_64"
+    else if stdenv.system == "i686-darwin"
+    then "macos-i386"
+    else if stdenv.system == "x86_64-darwin"
+    then "macos-x86_64"
+    else abort "no snapshot to boostrap for this platform (missing platform url suffix)";
+
+  target = if stdenv.system == "i686-linux"
+    then "i686-unknown-linux-gnu"
+    else if stdenv.system == "x86_64-linux"
+    then "x86_64-unknown-linux-gnu"
+    else if stdenv.system == "i686-darwin"
+    then "i686-apple-darwin"
+    else if stdenv.system == "x86_64-darwin"
+    then "x86_64-apple-darwin"
+    else abort "no snapshot to boostrap for this platform (missing target triple";
+
+  meta = with stdenv.lib; {
+    homepage = http://www.rust-lang.org/;
+    description = "A safe, concurrent, practical language";
+    maintainers = with maintainers; [ madjar cstrahan ];
+    license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
+    platforms = platforms.linux;
+  };
+
+  name = "rustc-${version}";
+}
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.patch b/pkgs/development/compilers/rustc/hardcode_paths.patch
new file mode 100644
index 00000000000..77e4c3f3788
--- /dev/null
+++ b/pkgs/development/compilers/rustc/hardcode_paths.patch
@@ -0,0 +1,32 @@
+diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
+index 7a3e912..ced75fa 100644
+--- a/src/librustc/back/link.rs
++++ b/src/librustc/back/link.rs
+@@ -766,24 +766,15 @@ pub fn output_lib_filename(id: &CrateId) -> String {
+ 
+ pub fn get_cc_prog(sess: &Session) -> String {
+     match sess.opts.cg.linker {
+-        Some(ref linker) => return linker.to_string(),
+-        None => {}
++        Some(ref linker) => linker.to_string(),
++        None => "@ccPath@".to_string()
+     }
+-
+-    // In the future, FreeBSD will use clang as default compiler.
+-    // It would be flexible to use cc (system's default C compiler)
+-    // instead of hard-coded gcc.
+-    // For win32, there is no cc command, so we add a condition to make it use gcc.
+-    match sess.targ_cfg.os {
+-        abi::OsWin32 => "gcc",
+-        _ => "cc",
+-    }.to_string()
+ }
+ 
+ pub fn get_ar_prog(sess: &Session) -> String {
+     match sess.opts.cg.ar {
+         Some(ref ar) => (*ar).clone(),
+-        None => "ar".to_string()
++        None => "@arPath@".to_string()
+     }
+ }
+ 
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
new file mode 100644
index 00000000000..ad33906ae6e
--- /dev/null
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -0,0 +1,73 @@
+{stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper}:
+
+/* Rust's build process has a few quirks :
+
+- It requires some patched in llvm that haven't landed upstream, so it
+  compiles its own llvm. This might change in the future, so at some
+  point we may be able to switch to nix's llvm.
+
+- The Rust compiler is written is Rust, so it requires a bootstrap
+  compiler, which is downloaded during the build. To make the build
+  pure, we download it ourself before and put it where it is
+  expected. Once the language is stable (1.0) , we might want to
+  switch it to use nix's packaged rust compiler.
+
+*/
+
+with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-7a25cf3f3"; });
+
+let snapshot = if stdenv.system == "i686-linux"
+      then "a5e1bb723020ac35173d49600e76b0935e257a6a"
+      else if stdenv.system == "x86_64-linux"
+      then "1a2407df17442d93d1c34c916269a345658045d7"
+      else if stdenv.system == "i686-darwin"
+      then "6648fa88e41ad7c0991a085366e36d56005873ca"
+      else if stdenv.system == "x86_64-darwin"
+      then "71b2d1dfd0abe1052908dc091e098ed22cf272c6"
+      else abort "no-snapshot for platform ${stdenv.system}";
+    snapshotDate = "2014-07-17";
+    snapshotRev = "9fc8394";
+    snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
+
+in stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+  inherit meta;
+
+  src = fetchgit {
+    url = https://github.com/rust-lang/rust;
+    rev = "7a25cf3f30fa5fae2e868fa910ecc850f5e9ee65";
+    sha256 = "1hx8vd4gn5plbdvr0zvdvqyw9x9r2vbmh112h2f5d2xxsf9p7rf1";
+  };
+
+  # We need rust to build rust. If we don't provide it, configure will try to download it.
+  snapshot = stdenv.mkDerivation {
+    name = "rust-stage0";
+    src = fetchurl {
+      url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
+      sha1 = snapshot;
+    };
+    dontStrip = true;
+    installPhase = ''
+      mkdir -p "$out"
+      cp -r bin "$out/bin"
+    '' + (if stdenv.isLinux then ''
+      patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker}" \
+               --set-rpath "${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/" \
+               "$out/bin/rustc"
+    '' else "");
+  };
+
+  configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
+
+  # The compiler requires cc, so we patch the source to tell it where to find it
+  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
+  postPatch = ''
+    substituteInPlace src/librustc/back/link.rs \
+      --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
+      --subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
+  '';
+
+  buildInputs = [ which file perl curl python27 makeWrapper ];
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/compilers/rustc/local_stage0.patch b/pkgs/development/compilers/rustc/local_stage0.patch
new file mode 100644
index 00000000000..1261b2d458d
--- /dev/null
+++ b/pkgs/development/compilers/rustc/local_stage0.patch
@@ -0,0 +1,13 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index e78f231..6b6773b 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then
+ fi
+
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix
new file mode 100644
index 00000000000..015d7dd95da
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/bootstrap.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "sbcl-bootstrap-${version}";
+  version = "1.1.8";
+
+  src = if stdenv.isDarwin
+    then fetchurl {
+      url = mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-darwin-binary.tar.bz2;
+      sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j";
+    }
+    else fetchurl {
+      url = mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-linux-binary.tar.bz2;
+      sha256 = "0lh1jglxlfwk4cm6sgwk1jnb6ikhbrkx7p5aha2nbmkd6zl96prx";
+    };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -p src/runtime/sbcl $out/bin
+    mkdir -p $out/share/sbcl
+    cp -p output/sbcl.core $out/share/sbcl
+  '';
+
+  meta = {
+    description = "Lisp compiler";
+    homepage = "http://www.sbcl.org";
+    license = "bsd";
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 288fdb33454..d3892d43d15 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,36 +1,21 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
-  s= # Generated upstream information
-  rec {
-    baseName="sbcl";
-    version="1.1.12";
-    name="${baseName}-${version}";
-    hash="0mvl6lpi44yv6jv3xhyyzvf9g7bdlj691iz3ydpn66v0vg5i554c";
-    url="mirror://sourceforge/project/sbcl/sbcl/1.1.12/sbcl-1.1.12-source.tar.bz2";
-    sha256="0mvl6lpi44yv6jv3xhyyzvf9g7bdlj691iz3ydpn66v0vg5i554c";
-  };
-  buildInputs = with a; [
-    clisp makeWrapper
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl, sbclBootstrap, clisp}:
 
-  inherit buildInputs;
-  configureFlags = [];
+stdenv.mkDerivation rec {
+  name    = "sbcl-${version}";
+  version = "1.2.0";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doFixNewer" "doFixTests" "setVersion" "doPatch" "doBuild" "doInstall" "doWrap"];
+  src = fetchurl {
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
+  };
 
-  setVars = a.fullDepEntry (''
-    export INSTALL_ROOT=$out
-    mkdir test-home
-    export HOME=$PWD/test-home
-  '') ["minInit"];
+  buildInputs = [ ]
+    ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
+    ++ (stdenv.lib.optional stdenv.isLinux clisp)
+    ;
 
-  setVersion = a.fullDepEntry (''
-    echo '"${s.version}.nixos"' > version.lisp-expr
+  patchPhase = ''
+    echo '"${version}.nixos"' > version.lisp-expr
     echo "
     (lambda (features)
       (flet ((enable (x)
@@ -38,14 +23,11 @@ rec {
              (disable (x)
                (setf features (remove x features))))
         (enable :sb-thread))) " > customize-target-features.lisp
-  '') ["minInit" "doUnpack"];
 
-  /* SBCL checks whether files are up-to-date in many places.. Unfortunately, same timestamp 
-     is not good enought
-  */
-  doFixNewer = a.fullDepEntry(''
     pwd
 
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
     sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
     sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
     sed -i src/cold/slam.lisp -e \
@@ -56,13 +38,8 @@ rec {
       '/date defaulted-fasl/a)'
     sed -i src/code/target-load.lisp -e \
       '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
-  '') ["minInit" "doUnpack"];
 
-  doWrap = a.fullDepEntry (''
-    wrapProgram "$out/bin/sbcl" --set "SBCL_HOME" "$out/lib/sbcl"
-  '') ["minInit" "addInputs"];
-
-  doFixTests = a.fullDepEntry (''
+    # Fix the tests
     sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
     sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
     sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
@@ -70,24 +47,33 @@ rec {
 
     sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
     sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
-  '') ["minInit" "doUnpack"];
+  '';
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
 
-  doBuild = a.fullDepEntry (''
-    sh make.sh clisp
-  '') ["minInit" "doUnpack" "addInputs"];
+  buildPhase = if stdenv.isLinux
+    then ''
+      sh make.sh clisp --prefix=$out
+    ''
+    else ''
+      sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit'
+    '';
 
-  doInstall = a.fullDepEntry (''
-    sh install.sh
-  '') ["doBuild" "minInit" "addInputs"];
+  installPhase = ''
+    INSTALL_ROOT=$out sh install.sh
+  '';
 
-  inherit(s) name;
-  inherit(s) version;
   meta = {
     description = "Lisp compiler";
-    homepage = "http://www.sbcl.org";
-    license = "bsd";
-    maintainers = [a.lib.maintainers.raskin];
-    platforms = with a.lib.platforms; all;
-    inherit(s) version;
+    homepage = http://www.sbcl.org;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.all;
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/development/compilers/sbcl/default.upstream b/pkgs/development/compilers/sbcl/default.upstream
deleted file mode 100644
index de69a2828c6..00000000000
--- a/pkgs/development/compilers/sbcl/default.upstream
+++ /dev/null
@@ -1,9 +0,0 @@
-name sbcl
-target default.nix
-url http://sf.net/projects/sbcl/files/sbcl/
-version_link '/sbcl/[0-9.]+/$'
-link "source.tar.bz2"
-version '.*/sbcl-([0-9.]+)-source.*' '\1'
-redirect
-process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/'
-process '[?].*' ''
diff --git a/pkgs/development/compilers/sbcl/newglibc.patch b/pkgs/development/compilers/sbcl/newglibc.patch
deleted file mode 100644
index dbc94b06d4c..00000000000
--- a/pkgs/development/compilers/sbcl/newglibc.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Fixes for glibc 2.17.
-
-linux-os.c is just a missing header (for personality()).
-
-In x86-64-linux-os.c, __USE_GNU is a glibc-internal name that features.h
-defines; _GNU_SOURCE is what it should actually be using to get GNU extensions.
-
-diff -x config.log -x config.status -ru tmp/sbcl-1.1.2/src/runtime/linux-os.c work/sbcl-1.1.2/src/runtime/linux-os.c
---- tmp/sbcl-1.1.2/src/runtime/linux-os.c	2012-12-01 11:32:38.000000000 +0000
-+++ work/sbcl-1.1.2/src/runtime/linux-os.c	2012-12-31 01:20:37.619000000 +0000
-@@ -46,6 +46,7 @@
- #include <sys/stat.h>
- #include <unistd.h>
- #include <linux/version.h>
-+#include <sys/personality.h>
- 
- #include "validate.h"
- #include "thread.h"
-diff -x config.log -x config.status -ru tmp/sbcl-1.1.2/src/runtime/x86-64-linux-os.c work/sbcl-1.1.2/src/runtime/x86-64-linux-os.c
---- tmp/sbcl-1.1.2/src/runtime/x86-64-linux-os.c	2012-12-01 11:32:38.000000000 +0000
-+++ work/sbcl-1.1.2/src/runtime/x86-64-linux-os.c	2012-12-31 01:20:25.450000000 +0000
-@@ -14,6 +14,9 @@
-  * files for more information.
-  */
- 
-+/* This is to get REG_RAX etc. from sys/ucontext.h. */
-+#define _GNU_SOURCE
-+
- #include <stdio.h>
- #include <stddef.h>
- #include <sys/param.h>
-@@ -21,11 +24,7 @@
- #include <sys/types.h>
- #include <unistd.h>
- #include <errno.h>
--
--#define __USE_GNU
- #include <sys/ucontext.h>
--#undef __USE_GNU
--
- 
- #include "./signal.h"
- #include "os.h"
diff --git a/pkgs/development/compilers/scala/2.10.nix b/pkgs/development/compilers/scala/2.10.nix
new file mode 100644
index 00000000000..11c3c0d8c31
--- /dev/null
+++ b/pkgs/development/compilers/scala/2.10.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+  name = "scala-2.10.4";
+
+  src = fetchurl {
+    url = "http://www.scala-lang.org/files/archive/${name}.tgz";
+    sha256 = "1hqhm1xvd7g78jspvl30zgdzw79xq5zl837h47p6w1n6qlwbcvdl";
+  };
+
+  buildInputs = [ jre makeWrapper ] ;
+
+  installPhase = ''
+    mkdir -p $out
+    rm bin/*.bat
+    mv * $out
+
+    for p in $(ls $out/bin/) ; do
+      wrapProgram $out/bin/$p --prefix PATH ":" ${jre}/bin ;
+    done
+  '';
+
+  meta = {
+    description = "Scala is a general purpose programming language";
+    longDescription = ''
+      Scala is a general purpose programming language designed to express
+      common programming patterns in a concise, elegant, and type-safe way.
+      It smoothly integrates features of object-oriented and functional
+      languages, enabling Java and other programmers to be more productive.
+      Code sizes are typically reduced by a factor of two to three when
+      compared to an equivalent Java application.
+    '';
+    homepage = http://www.scala-lang.org/;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/scala/2.9.nix b/pkgs/development/compilers/scala/2.9.nix
new file mode 100644
index 00000000000..41f377dbfa3
--- /dev/null
+++ b/pkgs/development/compilers/scala/2.9.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+# at runtime, need jre or jdk
+
+stdenv.mkDerivation rec {
+  name = "scala-2.9.3";
+
+  src = fetchurl {
+    url = "http://www.scala-lang.org/files/archive/${name}.tgz";
+    sha256 = "faaab229f78c945063e8fd31c045bc797c731194296d7a4f49863fd87fc4e7b9";
+  };
+
+  installPhase = ''
+    mkdir -p $out
+    rm bin/*.bat
+    rm lib/scalacheck.jar
+    mv * $out
+  '';
+
+  meta = {
+    description = "Scala is a general purpose programming language";
+    longDescription = ''
+      Scala is a general purpose programming language designed to express
+      common programming patterns in a concise, elegant, and type-safe way.
+      It smoothly integrates features of object-oriented and functional
+      languages, enabling Java and other programmers to be more productive.
+      Code sizes are typically reduced by a factor of two to three when
+      compared to an equivalent Java application.
+    '';
+    homepage = http://www.scala-lang.org/;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index a7c9dbc9073..bd81e4c055d 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl }:
-
-# at runtime, need jre or jdk
+{ stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.9.2";
+  name = "scala-2.11.0";
 
   src = fetchurl {
-    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.tgz";
-    sha256 = "0s1shpzw2hyz7bwxdqq19rcrzbpq4d7b0kvdvjvhy7h05x496b46";
+    url = "http://www.scala-lang.org/files/archive/${name}.tgz";
+    sha256 = "00lap31c6rxvg7vipmj0j7f4mv6c58wpfyd3785bxwlhrzmmwgq7";
   };
 
+  buildInputs = [ jre makeWrapper ] ;
+
   installPhase = ''
     mkdir -p $out
-    rm bin/*.bat
-    rm lib/scalacheck.jar
+    rm "bin/"*.bat
     mv * $out
+
+    for p in $(ls $out/bin/) ; do
+      wrapProgram $out/bin/$p --prefix PATH ":" ${jre}/bin ;
+    done
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix
index a22b0d9ea00..fe293fbc4b8 100644
--- a/pkgs/development/compilers/sdcc/default.nix
+++ b/pkgs/development/compilers/sdcc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, bison, flex, boost, gputils ? null }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.0";
+  version = "3.4.0";
   name = "sdcc-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
-    sha256 = "15gdl04kqpvmwvvplss5nmp3bz8rhz48dhb0wmb2v9v9sn7qj01d";
+    sha256 = "1yavxffqdfhdyabdza936xxh9wq4cfwa385g26gjapsdp5ighsng";
   };
 
   # TODO: remove this comment when gputils != null is tested
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = http://sdcc.sourceforge.net/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/compilers/smlnj/bootstrap.nix b/pkgs/development/compilers/smlnj/bootstrap.nix
new file mode 100644
index 00000000000..39a1bbd0df3
--- /dev/null
+++ b/pkgs/development/compilers/smlnj/bootstrap.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, cpio, rsync, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "smlnj-bootstrap-${version}";
+
+  version = "110.76";
+
+  src = fetchurl {
+    url = "http://smlnj.cs.uchicago.edu/dist/working/${version}/smlnj-x86-${version}.pkg";
+    sha256 = "0n3kdlqffqw97piya7i4lddrhjml2dp1q9hfq2jrd2hbzln8vdjf";
+  };
+
+  buildInputs = [ cpio rsync makeWrapper ];
+
+  unpackPhase = ''
+    /usr/bin/xar -xf $src
+    cd smlnj.pkg
+  '';
+
+  buildPhase = ''
+    cat Payload | gunzip -dc | cpio -i
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    rsync -av bin/ $out/bin/
+
+    mkdir -p $out/lib
+    rsync -av lib/ $out/lib/
+  '';
+
+  postInstall = ''
+    wrapProgram "$out/bin/sml" --set "SMLNJ_HOME" "$out"
+  '';
+
+  meta = {
+    description = "Compiler for the Standard ML '97 programming language";
+    homepage    = http://www.smlnj.org;
+    license     = stdenv.lib.licenses.free;
+    platforms   = stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/compilers/stalin/default.nix b/pkgs/development/compilers/stalin/default.nix
index b488308f5c4..09045ee2c11 100644
--- a/pkgs/development/compilers/stalin/default.nix
+++ b/pkgs/development/compilers/stalin/default.nix
@@ -36,10 +36,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.ece.purdue.edu/~qobi/software.html;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Stalin, an optimizing Scheme compiler";
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = ["i686-linux"];  # doesn't want to work on 64-bit platforms
   };
 }
diff --git a/pkgs/development/compilers/strategoxt/0.18.nix b/pkgs/development/compilers/strategoxt/0.18.nix
index 7e58c561739..611586c5d93 100644
--- a/pkgs/development/compilers/strategoxt/0.18.nix
+++ b/pkgs/development/compilers/strategoxt/0.18.nix
@@ -55,6 +55,7 @@ rec {
     meta = {
       homepage = http://strategoxt.org/;
       meta = "A language and toolset for program transformation";
+      broken = true;
     };
   };
 
@@ -104,6 +105,7 @@ rec {
     meta = {
       homepage = http://strategoxt.org/Stratego/TheDryad;
       meta = "A collection of tools for developing transformation systems for Java source and bytecode";
+      broken = true;
     };
   };
 
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index a2dae290f44..220d3f87fba 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -1,29 +1,32 @@
-{ stdenv, fetchurl, gmp, readline, openssl, libjpeg, unixODBC, zlib,
-   libXinerama, libXft, libXpm, libSM, libXt, freetype, pkgconfig,
-   fontconfig }:
+{ stdenv, fetchurl, gmp, readline, openssl, libjpeg, unixODBC, zlib
+, libXinerama, libXft, libXpm, libSM, libXt, freetype, pkgconfig
+, fontconfig
+}:
 
 let
-  version = "6.4.1";
+  version = "6.6.5";
 in
 stdenv.mkDerivation {
   name = "swi-prolog-${version}";
 
   src = fetchurl {
     url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
-    sha256 = "1szqqwypqfd0qr3sk0qlip1ar22kpqgba6b44klmr1aag0lrahs8";
+    sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr";
   };
 
-  buildInputs = [gmp readline openssl libjpeg unixODBC libXinerama
-    libXft libXpm libSM libXt zlib freetype pkgconfig fontconfig];
+  buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
+    libXft libXpm libSM libXt zlib freetype pkgconfig fontconfig ];
+
   configureFlags = "--with-world --enable-gmp --enable-shared";
-  makeFlags = "world";
+
+  buildFlags = "world";
 
   meta = {
     homepage = http://www.swi-prolog.org/;
     description = "A Prolog compiler and interpreter";
     license = "LGPL";
 
-    platforms = stdenv.lib.platforms.unix;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 7ad7348925b..1e82e03f16c 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.tinycc.org/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
index 31f45086ba0..2f179d17548 100644
--- a/pkgs/development/compilers/uhc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -42,8 +42,7 @@ in stdenv.mkDerivation {
     homepage = "http://www.cs.uu.nl/wiki/UHC";
     description = "Utrecht Haskell Compiler";
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [
-      stdenv.lib.maintainers.andres
-    ];
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index a2423bee9b9..bd457b227e6 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20130421";
+  version = "20140531";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "1dglcial9bzximw778wbfqx99khy34qpf9gw4bbncn9f742ji872";
+    sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4";
   };
 
   buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
diff --git a/pkgs/development/compilers/vala/15.2.nix b/pkgs/development/compilers/vala/15.2.nix
deleted file mode 100644
index 529ccea6bc8..00000000000
--- a/pkgs/development/compilers/vala/15.2.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
-
-stdenv.mkDerivation rec {
-
-  version = "0.15.2";
-  name = "vala-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/vala/0.15/${name}.tar.xz";
-    sha256 = "0g71zq6dpqrw2f40wfzdf18fdw41ymr17laqniy2kr622hkxdi8w";
-  };
-
-  nativeBuildInputs = [ yacc flex pkgconfig xz ];
-
-  buildInputs = [ glib ];
-
-  meta = {
-    description = "Compiler for the GObject type system";
-    homepage = "http://live.gnome.org/Vala";
-    license = "free-copyleft";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
-  };
-}
diff --git a/pkgs/development/compilers/vala/16.1.nix b/pkgs/development/compilers/vala/16.1.nix
deleted file mode 100644
index f054c59d2e4..00000000000
--- a/pkgs/development/compilers/vala/16.1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
-
-stdenv.mkDerivation rec {
-
-  version = "0.16.1";
-  name = "vala-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/vala/0.16/${name}.tar.xz";
-    sha256 = "1n708n9ixyy9qrzyv1wf4ybvcclx43ib9ki028wwpvkz6kv8zqlb";
-  };
-
-  nativeBuildInputs = [ yacc flex pkgconfig xz ];
-
-  buildInputs = [ glib ];
-
-  meta = {
-    description = "Compiler for the GObject type system";
-    homepage = "http://live.gnome.org/Vala";
-    license = "free-copyleft";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
-  };
-}
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 9af30230757..38c3ead7bff 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -1,31 +1,31 @@
-{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, dbus, dbus_tools
-, libiconvOrEmpty, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt
+, glib, libiconvOrEmpty, libintlOrEmpty
+}:
 
+let
+  major = "0.23";
+  minor = "2";
+  sha256 = "0g22ss9qbm3fqhx4fxhsyfmdc5g1hgdw4dz9d37f4489kl0qf8pl";
+in
 stdenv.mkDerivation rec {
-  p_name  = "vala";
-  ver_maj = "0.19";
-  ver_min = "0";
+  name = "vala-${major}.${minor}";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${p_name}/${ver_maj}/${name}.tar.xz";
-    sha256 = "1vn524hcnaggz8zx49mvf7p4z1mscrlj2syg7jjhph8nak5wi0bp";
+  meta = {
+    description = "Compiler for GObject type system";
+    homepage = "http://live.gnome.org/Vala";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ antono ];
   };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  postPatch = "patchShebangs .";
-
-  nativeBuildInputs = [ yacc flex pkgconfig ];
 
-  buildInputs = [ glib ] ++ libiconvOrEmpty ++ libintlOrEmpty
-    ++ stdenv.lib.optional doCheck [ dbus dbus_tools ];
+  src = fetchurl {
+    url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
+    inherit sha256;
+  };
 
-  doCheck = false; # problems when launching dbus tests
+  nativeBuildInputs = [ pkgconfig flex bison libxslt ];
 
-  meta = {
-    description = "Compiler for the GObject type system";
-    homepage = "http://live.gnome.org/Vala";
-    license = "free-copyleft";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
-  };
+  buildInputs = [ glib ]
+    ++ libiconvOrEmpty
+    ++ libintlOrEmpty;
 }
diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix
index 02614106706..ec1fda10d8c 100644
--- a/pkgs/development/compilers/yasm/default.nix
+++ b/pkgs/development/compilers/yasm/default.nix
@@ -12,5 +12,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.tortall.net/projects/yasm/;
     description = "Complete rewrite of the NASM assembler";
     license = "BSD";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/eclipse/ecj/default.nix b/pkgs/development/eclipse/ecj/default.nix
index ba3e643a4fe..0f52e879863 100644
--- a/pkgs/development/eclipse/ecj/default.nix
+++ b/pkgs/development/eclipse/ecj/default.nix
@@ -1,59 +1,59 @@
-{ stdenv, fetchurl, unzip, ant, gcj }:
+{ stdenv, fetchurl, unzip, ant, jdk, makeWrapper }:
 
 let
   version = "3.7.2";
   date    = "201202080800";
-  isGCJ   = stdenv.lib.strings.substring 0 3 gcj.name == "gcj";
-  javaExec  = if isGCJ then "gij" else "java";
-  javaFlags = if isGCJ then "--cp" else "-cp";
 in
-  stdenv.mkDerivation rec {
-    name = "ecj-${version}";
 
-    src = fetchurl {
-      url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
-      sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
-    };
+stdenv.mkDerivation rec {
+  name = "ecj-${version}";
 
-    buildInputs = [ unzip ant gcj ];
+  src = fetchurl {
+    url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
+    sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
+  };
 
-    unpackPhase = ''
-      mkdir "${name}"
-      cd "${name}"
-      unzip "$src"
-    '';
+  buildInputs = [ unzip ant jdk makeWrapper ];
 
-    # Use whatever compiler Ant knows.
-    buildPhase = "ant build";
+  unpackPhase = ''
+    mkdir "${name}"
+    cd "${name}"
+    unzip "$src"
+  '';
 
-    installPhase = ''
-      mkdir -pv "$out/lib/java"
-      cp -v *.jar "$out/lib/java"
+  # Use whatever compiler Ant knows.
+  buildPhase = "ant build";
 
-      mkdir -pv "$out/bin"
-      cat > "$out/bin/ecj" <<EOF
-#! /bin/sh
-exec "$(type -P ${javaExec})" ${javaFlags} "$out/lib/java/ecj.jar" org.eclipse.jdt.internal.compiler.batch.Main \$@
-EOF
+  installPhase = ''
+    mkdir -pv $out/share/java
+    cp -v *.jar $out/share/java
 
-      chmod u+x "$out/bin/ecj"
-    '';
+    mkdir -pv $out/bin
+    makeWrapper ${jdk.jre}/bin/java $out/bin/ecj \
+      --add-flags "-cp $out/share/java/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main"
 
-    meta = {
-      description = "The Eclipse Compiler for Java (ECJ)";
+    # Add a setup hook that causes Ant to use the ECJ.
+    mkdir -p $out/nix-support
+    cat <<EOF > $out/nix-support/setup-hook
+    export NIX_ANT_ARGS="-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter \$NIX_ANT_ARGS"
+    EOF
+  '';
 
-      longDescription = ''
-        ECJ is an incremental Java compiler.  Implemented as an Eclipse
-        builder, it is based on technology evolved from VisualAge for Java
-        compiler.  In particular, it allows users to run and debug code which
-        still contains unresolved errors.
-      '';
+  meta = {
+    description = "The Eclipse Compiler for Java (ECJ)";
+
+    longDescription = ''
+      ECJ is an incremental Java compiler.  Implemented as an Eclipse
+      builder, it is based on technology evolved from VisualAge for Java
+      compiler.  In particular, it allows users to run and debug code which
+      still contains unresolved errors.
+    '';
 
-      homepage = http://www.eclipse.org/jdt/core/index.php;
+    homepage = http://www.eclipse.org/jdt/core/index.php;
 
-      # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
-      license = "EPLv1.0";
+    # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
+    license = "EPLv1.0";
 
-      maintainers = [ ];
-    };
-  }
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/development/guile-modules/guile-cairo/default.nix b/pkgs/development/guile-modules/guile-cairo/default.nix
index 6663e00c36e..7617e5fb1cd 100644
--- a/pkgs/development/guile-modules/guile-cairo/default.nix
+++ b/pkgs/development/guile-modules/guile-cairo/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
          programming environment.
       '';
 
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     homepage = http://home.gna.org/guile-cairo/;
 
diff --git a/pkgs/development/guile-modules/guile-gnome/default.nix b/pkgs/development/guile-modules/guile-gnome/default.nix
index 30480844a41..90012bb3ddd 100644
--- a/pkgs/development/guile-modules/guile-gnome/default.nix
+++ b/pkgs/development/guile-modules/guile-gnome/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/guile-gnome/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/guile-modules/guile-lib/default.nix b/pkgs/development/guile-modules/guile-lib/default.nix
index 593b090922e..2f77c273af7 100644
--- a/pkgs/development/guile-modules/guile-lib/default.nix
+++ b/pkgs/development/guile-modules/guile-lib/default.nix
@@ -3,11 +3,11 @@
 assert stdenv ? gcc && stdenv.gcc ? gcc && stdenv.gcc.gcc != null;
 
 stdenv.mkDerivation rec {
-  name = "guile-lib-0.2.1";
+  name = "guile-lib-0.2.2";
 
   src = fetchurl {
     url = "mirror://savannah/guile-lib/${name}.tar.gz";
-    sha256 = "0ag18l7f9cpv4l577ln3f106xiggl7ndxhrqqiz7cg0w38s3cjvl";
+    sha256 = "1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b";
   };
 
   buildInputs = [guile texinfo];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.nongnu.org/guile-lib/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/guile-modules/guile-ncurses/default.nix b/pkgs/development/guile-modules/guile-ncurses/default.nix
index b138a537809..175c656859e 100644
--- a/pkgs/development/guile-modules/guile-ncurses/default.nix
+++ b/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, guile, ncurses }:
+{ fetchurl, stdenv, guile, ncurses, libffi }:
 
 stdenv.mkDerivation rec {
-  name = "guile-ncurses-1.3";
+  name = "guile-ncurses-1.4";
 
   src = fetchurl {
     url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
-    sha256 = "0chvfjrlmg99db98ra9vzwjmbypqx7d4ssm8q0kvzi0n0p9irszi";
+    sha256 = "070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899";
   };
 
-  buildInputs = [ guile ncurses ];
+  buildInputs = [ guile ncurses libffi ];
 
   preConfigure =
     '' configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site" '';
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
          form, panel, and menu.
       '';
 
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/guile-modules/guile-xcb/default.nix b/pkgs/development/guile-modules/guile-xcb/default.nix
new file mode 100644
index 00000000000..fc02ab305a3
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-xcb/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, guile, texinfo }:
+
+stdenv.mkDerivation {
+  name = "guile-xcb-1.3";
+
+  meta = with stdenv.lib; {
+    description = "XCB bindings for Guile";
+    homepage    = "http://www.markwitmer.com/guile-xcb/guile-xcb.html";
+    license     = licenses.gpl3Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://www.markwitmer.com/dist/guile-xcb-1.3.tar.gz";
+    sha256 = "04dvbqdrrs67490gn4gkq9zk8mqy3mkls2818ha4p0ckhh0pm149";
+  };
+
+  buildInputs = [ pkgconfig guile texinfo ];
+
+  preConfigure = ''
+    configureFlags="
+      --with-guile-site-dir=$out/share/guile/site
+      --with-guile-site-ccache-dir=$out/share/guile/site
+    ";
+  '';
+}
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix
index 22f92f40183..1167f121e62 100644
--- a/pkgs/development/interpreters/angelscript/default.nix
+++ b/pkgs/development/interpreters/angelscript/default.nix
@@ -11,16 +11,16 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="angelscript";
-    version="2.22.1";
+    version = "2.29.1";
     name="${baseName}-${version}";
     url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
-    hash="0fmw0cb7ymgyq31r4cfvsn4k86r20hj650fbzs9i7zl0p3lb6hpm";
+    sha256 = "081a0wnn1hl0hjgrg0nz63ff7k7dgrwsgszka5i7623ny407fkl5";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   inherit (sourceInfo) name version;
@@ -31,7 +31,7 @@ rec {
 
   prepareBuild = a.fullDepEntry ''
     cd angelscript/projects/gnuc
-    sed -i makefile -e "s@LOCAL = .*@LOCAL = $out@"
+    sed -i makefile -e "s@LOCAL [?]= .*@LOCAL = $out@"
     mkdir -p "$out/lib" "$out/bin" "$out/share" "$out/include"
     export SHARED=1 
     export VERSION="${version}"
@@ -55,11 +55,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.zlib;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.angelcode.com/angelscript/downloads.asp";
-    };
+    homepage="http://www.angelcode.com/angelscript/";
+    downloadPage = "http://www.angelcode.com/angelscript/downloads.html";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/development/interpreters/angelscript/default.upstream b/pkgs/development/interpreters/angelscript/default.upstream
new file mode 100644
index 00000000000..7dbe527b276
--- /dev/null
+++ b/pkgs/development/interpreters/angelscript/default.upstream
@@ -0,0 +1,4 @@
+url http://www.angelcode.com/angelscript/downloads.html
+version_link '[.]zip$'
+version '.*_([0-9.]+)[.].*' '\1'
+do_overwrite () { do_overwrite_just_version ; }
diff --git a/pkgs/development/interpreters/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix
index 521933b0ed1..7b811732a62 100644
--- a/pkgs/development/interpreters/clisp/2.44.1.nix
+++ b/pkgs/development/interpreters/clisp/2.44.1.nix
@@ -3,12 +3,12 @@
 , libffi, libffcall, coreutils }:
         
 stdenv.mkDerivation rec {
-  v = "2.44.1";
+  v = "2.49";
   name = "clisp-${v}";
   
   src = fetchurl {
     url = "mirror://gnu/clisp/release/${v}/${name}.tar.gz";
-    sha256 = "0rkp6j6rih4s5d9acifh7pi4b9xfgcspif512l269dqy9qgyy4j1";
+    sha256 = "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx";
   };
 
   buildInputs =
diff --git a/pkgs/development/interpreters/clojure/binary.nix b/pkgs/development/interpreters/clojure/binary.nix
deleted file mode 100644
index 3902d7f335c..00000000000
--- a/pkgs/development/interpreters/clojure/binary.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{stdenv, fetchurl, unzip}:
-
-stdenv.mkDerivation rec {
-  version = "1.4.0";
-  name = "clojure-binary-${version}";
-
-  src = fetchurl {
-    url = "http://repo1.maven.org/maven2/org/clojure/clojure/${version}/clojure-${version}.zip";
-    sha256 = "27a5a151d5cc1bc3e52dff47c66111e637fefeb42d9bedfa1284a1a31d080171";
-  };
-
-
-  buildInputs = [ unzip ];
-
-  phases = "unpackPhase installPhase";
-
-  installPhase = "
-    mkdir -p $out/lib/java
-    cp clojure-${version}.jar clojure.jar
-    install -t $out/lib/java clojure.jar
-  ";
-
-  meta = {
-    description = "a Lisp dialect for the JVM";
-    homepage = http://clojure.org/;
-    license = stdenv.lib.licenses.bsd3;
-    longDescription = ''
-      Clojure is a dynamic programming language that targets the Java
-      Virtual Machine. It is designed to be a general-purpose language,
-      combining the approachability and interactive development of a
-      scripting language with an efficient and robust infrastructure for
-      multithreaded programming. Clojure is a compiled language - it
-      compiles directly to JVM bytecode, yet remains completely
-      dynamic. Every feature supported by Clojure is supported at
-      runtime. Clojure provides easy access to the Java frameworks, with
-      optional type hints and type inference, to ensure that calls to Java
-      can avoid reflection.
-
-      Clojure is a dialect of Lisp, and shares with Lisp the code-as-data
-      philosophy and a powerful macro system. Clojure is predominantly a
-      functional programming language, and features a rich set of immutable,
-      persistent data structures. When mutable state is needed, Clojure
-      offers a software transactional memory system and reactive Agent
-      system that ensure clean, correct, multithreaded designs.
-    '';
-  };
-}
diff --git a/pkgs/development/interpreters/clojure/clooj-wrapper.nix b/pkgs/development/interpreters/clojure/clooj-wrapper.nix
deleted file mode 100644
index fd95b86451f..00000000000
--- a/pkgs/development/interpreters/clojure/clooj-wrapper.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{writeTextFile, jre, clooj}:
-
-writeTextFile {
-  name = "clooj-wrapper";
-  executable = true;
-  destination = "/bin/clooj";
-  text = ''
-    #!/bin/sh
-    exec ${jre}/bin/java -jar ${clooj}/lib/java/clooj.jar
-  '';
-}
diff --git a/pkgs/development/interpreters/clojure/clooj.nix b/pkgs/development/interpreters/clojure/clooj.nix
index 2ad6f751f2b..c1e10445830 100644
--- a/pkgs/development/interpreters/clojure/clooj.nix
+++ b/pkgs/development/interpreters/clojure/clooj.nix
@@ -1,24 +1,27 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl, jre, makeWrapper }:
+
+let version = "0.4.4"; in
+
+stdenv.mkDerivation {
+  name = "clooj-${version}";
 
-let
   jar = fetchurl {
-    url = https://github.com/downloads/arthuredelstein/clooj/clooj-0.1.36-STANDALONE.jar;
-    sha256 = "173c66c0aade3ae5d21622f629e60efa51a03ad83c087b02c25e806c5b7f838c";
+    url = "http://www.mediafire.com/download/prkf64humftrmz3/clooj-${version}-standalone.jar";
+    sha256 = "0hbc29bg2a86rm3sx9kvj7h7db9j0kbnrb706wsfiyk3zi3bavnd";
   };
-in
 
-stdenv.mkDerivation {
-  name = "clooj-0.1.32";
+  buildInputs = [ makeWrapper ];
 
   phases = "installPhase";
 
   installPhase = ''
-    mkdir -p $out/lib/java
-    ln -s ${jar} $out/lib/java/clooj.jar
+    mkdir -p $out/share/java
+    ln -s $jar $out/share/java/clooj.jar
+    makeWrapper ${jre}/bin/java $out/bin/clooj --add-flags "-jar $out/share/java/clooj.jar"
   '';
 
   meta = {
-    description = "clooj, a lightweight IDE for clojure";
+    description = "A lightweight IDE for Clojure";
     homepage = https://github.com/arthuredelstein/clooj;
     license = stdenv.lib.licenses.bsd3;
   };
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index dbbe4a9dcc3..fd1a2d019fe 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -1,30 +1,27 @@
-{stdenv, fetchurl, unzip, ant, version ? "1.4.0" }:
+{ stdenv, fetchurl, unzip, ant, jdk, makeWrapper }:
+
+let version = "1.6.0"; in
 
-let 
-  src_hashes = {
-    "1.4.0" = "27a5a151d5cc1bc3e52dff47c66111e637fefeb42d9bedfa1284a1a31d080171";
-    "1.5.0-RC1" = "111jm0nxkvqr1vrwcpvr70v5paasp8msrj5h8zm1c144c8zc1vln";
-  };
-in 
 stdenv.mkDerivation {
   name = "clojure-${version}";
 
   src = fetchurl {
     url = "http://repo1.maven.org/maven2/org/clojure/clojure/${version}/clojure-${version}.zip";
-    sha256 = (builtins.getAttr version src_hashes); 
+    sha256 = "0yv67gackrzlwn9f8cnpw14y2hwspklxhy1450rl71vdrqjahlwq";
   };
 
-  buildInputs = [ unzip ant ];
+  buildInputs = [ unzip ant jdk makeWrapper ];
 
   buildPhase = "ant jar";
 
-  installPhase = "
-    mkdir -p $out/lib/java
-    install -t $out/lib/java clojure.jar
-  ";
+  installPhase = ''
+    mkdir -p $out/share/java $out/bin
+    install -t $out/share/java clojure.jar
+    makeWrapper ${jdk.jre}/bin/java $out/bin/clojure --add-flags "-cp $out/share/java/clojure.jar clojure.main"
+  '';
 
   meta = {
-    description = "a Lisp dialect for the JVM";
+    description = "A Lisp dialect for the JVM";
     homepage = http://clojure.org/;
     license = stdenv.lib.licenses.bsd3;
     longDescription = ''
@@ -46,5 +43,6 @@ stdenv.mkDerivation {
       offers a software transactional memory system and reactive Agent
       system that ensure clean, correct, multithreaded designs.
     '';
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/development/interpreters/clojure/wrapper.nix b/pkgs/development/interpreters/clojure/wrapper.nix
deleted file mode 100644
index a2a9a404462..00000000000
--- a/pkgs/development/interpreters/clojure/wrapper.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{writeTextFile, jre, clojure}:
-
-writeTextFile {
-  name = "clojure-wrapper";
-  executable = true;
-  destination = "/bin/clojure";
-  text = ''
-    #!/bin/sh
-    exec ${jre}/bin/java -cp ${clojure}/lib/java/clojure.jar clojure.main
-  '';
-}
\ No newline at end of file
diff --git a/pkgs/development/interpreters/cython/default.nix b/pkgs/development/interpreters/cython/default.nix
deleted file mode 100644
index 34bd63c29ab..00000000000
--- a/pkgs/development/interpreters/cython/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, python, pkgconfig }:
-
-stdenv.mkDerivation {
-  name = "cython-0.16";
-
-  src = fetchurl {
-    url = http://www.cython.org/release/Cython-0.16.tar.gz;
-    sha256 = "1yz6jwv25xx5mbr2nm4l7mi65gvpm63dzi3vrw73p51wbpy525lp";
-  };
-
-  buildPhase = "python setup.py build --build-base $out";
-
-  installPhase = "python setup.py install --prefix=$out";
-
-  buildInputs = [ python pkgconfig ];
-
-  meta = {
-    description = "An interpreter to help writing C extensions for Python";
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 9eba4275dd3..59629eb2f59 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,26 +1,30 @@
 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
 
+let
+  version = "0.15.1";
+in
 stdenv.mkDerivation {
-  name = "elixir-0.10.1";
+  name = "elixir-${version}";
 
   src = fetchurl {
-    url = "https://github.com/elixir-lang/elixir/archive/v0.10.1.tar.gz";
-    sha256 = "0gfr2bz3mw7ag9z2wb2g22n2vlyrp8dwy78fj9zi52kzl5w3vc3w";
+    url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
+    sha256 = "8e608abf90a6e9a25ef5fb7e45dfd04e2cb7e1fecb4ac260bf6652885a7f0c50";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
 
   preBuild = ''
-    substituteInPlace rebar \
-      --replace "/usr/bin/env escript" ${erlang}/bin/escript
+    # The build process uses ./rebar. Link it to the nixpkgs rebar
+    rm -v rebar
+    ln -s ${rebar}/bin/rebar rebar
+
     substituteInPlace Makefile \
-      --replace '$(shell echo `pwd`/rebar)' ${rebar}/bin/rebar \
       --replace "/usr/local" $out
   '';
 
   postFixup = ''
-    # Elixirs binaries are shell scripts which run erl. This adds some
-    # stuff to PATH so the scripts run without problems.
+    # Elixir binaries are shell scripts which run erl. Add some stuff
+    # to PATH so the scripts can run without problems.
 
     for f in $out/bin/*
     do
@@ -34,11 +38,11 @@ stdenv.mkDerivation {
     description = "A functional, meta-programming aware language built on top of the Erlang VM";
 
     longDescription = ''
-      Elixir is a functional, meta-programming
-      aware language built on top of the Erlang VM. It is a dynamic
-      language with flexible syntax and macro support that leverages
-      Erlang's abilities to build concurrent, distributed and
-      fault-tolerant applications with hot code upgrades.p
+      Elixir is a functional, meta-programming aware language built on
+      top of the Erlang VM. It is a dynamic language with flexible
+      syntax and macro support that leverages Erlang's abilities to
+      build concurrent, distributed and fault-tolerant applications
+      with hot code upgrades.
     '';
 
     license = licenses.epl10;
diff --git a/pkgs/development/interpreters/erlang/R14.nix b/pkgs/development/interpreters/erlang/R14.nix
new file mode 100644
index 00000000000..1fd101564a3
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/R14.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
+, makeWrapper, gnused, gawk }:
+
+let version = "14B04"; in
+
+stdenv.mkDerivation {
+  name = "erlang-" + version;
+
+  src = fetchurl {
+    url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
+    sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9";
+  };
+
+  buildInputs = [ perl gnum4 ncurses openssl makeWrapper ];
+
+  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
+
+  preConfigure = ''
+    export HOME=$PWD/../
+    sed -e s@/bin/pwd@pwd@g -i otp_build
+  '';
+
+  configureFlags = "--with-ssl=${openssl}";
+
+  postInstall = let
+    manpages = fetchurl {
+      url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
+      sha256 = "1nh7l7wilyyaxvlwkjxgm3cq7wpd90sk6vxhgpvg7hwai8g52545";
+    };
+  in ''
+    tar xf "${manpages}" -C "$out/lib/erlang"
+    for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
+      prefix="''${i%/*}"
+      ensureDir "$out/share/man/''${prefix##*/}"
+      ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
+    done
+  '';
+
+  # Some erlang bin/ scripts run sed and awk
+  postFixup = ''
+    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+  '';
+
+  meta = {
+    homepage = "http://www.erlang.org/";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/interpreters/erlang/R14B04.nix b/pkgs/development/interpreters/erlang/R14B04.nix
deleted file mode 100644
index 4dd32cd806c..00000000000
--- a/pkgs/development/interpreters/erlang/R14B04.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, makeWrapper, gnused, gawk }:
-
-let version = "14B04"; in
-
-stdenv.mkDerivation {
-  name = "erlang-" + version;
-
-  src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
-    sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9";
-  };
-
-  buildInputs = [ perl gnum4 ncurses openssl makeWrapper ];
-
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-
-  preConfigure = ''
-    export HOME=$PWD/../
-    sed -e s@/bin/pwd@pwd@g -i otp_build
-  '';
-
-  configureFlags = "--with-ssl=${openssl}";
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
-  '';
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-}
diff --git a/pkgs/development/interpreters/erlang/R15.nix b/pkgs/development/interpreters/erlang/R15.nix
new file mode 100644
index 00000000000..e9c8380c35a
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/R15.nix
@@ -0,0 +1,67 @@
+{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
+, makeWrapper, gnused, gawk
+, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
+
+assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+
+let version = "15B03"; in
+
+stdenv.mkDerivation {
+  name = "erlang-" + version;
+
+  src = fetchurl {
+    url = "http://www.erlang.org/download/otp_src_R15B03-1.tar.gz";
+    sha256 = "4bccac86dd76aec050252e44276a0283a0df9218e6470cf042a9b9f9dfc9476c";
+  };
+
+  buildInputs =
+    [ perl gnum4 ncurses openssl
+      makeWrapper
+    ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+
+  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
+
+  preConfigure = ''
+    export HOME=$PWD/../
+    sed -e s@/bin/pwd@pwd@g -i otp_build
+  '';
+
+  configureFlags = "--with-ssl=${openssl}";
+
+  postInstall = let
+    manpages = fetchurl {
+      url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
+      sha256 = "0sqamzbd7qyz3klgl9vm1qvl0rhsfd1dx485pb0m2185qvw02nha";
+    };
+  in ''
+    tar xf "${manpages}" -C "$out/lib/erlang"
+    for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
+      prefix="''${i%/*}"
+      ensureDir "$out/share/man/''${prefix##*/}"
+      ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
+    done
+  '';
+
+  # Some erlang bin/ scripts run sed and awk
+  postFixup = ''
+    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+  '';
+
+  meta = {
+    homepage = "http://www.erlang.org/";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/interpreters/erlang/R15B03.nix b/pkgs/development/interpreters/erlang/R15B03.nix
deleted file mode 100644
index e0760db9f58..00000000000
--- a/pkgs/development/interpreters/erlang/R15B03.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, makeWrapper, gnused, gawk
-, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
-
-assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
-
-let version = "15B03"; in
-
-stdenv.mkDerivation {
-  name = "erlang-" + version;
-
-  src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_R15B03-1.tar.gz";
-    sha256 = "4bccac86dd76aec050252e44276a0283a0df9218e6470cf042a9b9f9dfc9476c";
-  };
-
-  buildInputs =
-    [ perl gnum4 ncurses openssl
-      makeWrapper
-    ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
-
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-
-  preConfigure = ''
-    export HOME=$PWD/../
-    sed -e s@/bin/pwd@pwd@g -i otp_build
-  '';
-
-  configureFlags = "--with-ssl=${openssl}";
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
-  '';
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-}
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
new file mode 100644
index 00000000000..5945cdd8299
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
+, gnused, gawk, makeWrapper
+, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
+
+assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "erlang-" + version;
+  version = "16B03-1";
+
+  src = fetchurl {
+    url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
+    sha256 = "1rvyfh22g1fir1i4xn7v2md868wcmhajwhfsq97v7kn5kd2m7khp";
+  };
+
+  buildInputs =
+    [ perl gnum4 ncurses openssl makeWrapper
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+
+  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
+
+  preConfigure = ''
+    export HOME=$PWD/../
+    sed -e s@/bin/pwd@pwd@g -i otp_build
+  '';
+
+  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+
+  postInstall = let
+    manpages = fetchurl {
+      url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
+      sha256 = "17f3k5j17rdsah18gywjngip6cbfgp6nb9di6il4pahmf9yvqc8g";
+    };
+  in ''
+    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
+    tar xf "${manpages}" -C "$out/lib/erlang"
+    for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
+      prefix="''${i%/*}"
+      ensureDir "$out/share/man/''${prefix##*/}"
+      ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
+    done
+  '';
+
+  # Some erlang bin/ scripts run sed and awk
+  postFixup = ''
+    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+  '';
+
+  meta = {
+    homepage = "http://www.erlang.org/";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = platforms.unix;
+    # Note: Maintainer of prev. erlang version was simons. If he wants
+    # to continue maintaining erlang I'm totally ok with that.
+    maintainers = [ maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/interpreters/erlang/R16B01.nix b/pkgs/development/interpreters/erlang/R16B01.nix
deleted file mode 100644
index 168db4484b1..00000000000
--- a/pkgs/development/interpreters/erlang/R16B01.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, gnused, gawk, makeWrapper
-, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
-
-assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
-
-let version = "16B01"; in
-
-stdenv.mkDerivation {
-  name = "erlang-" + version;
-
-  src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_R16B01.tar.gz";
-    sha256 = "1h5b2mil79z307mc7ammi38qnd8f50n3sv5vyl4d1gcfgg08nf6s";
-  };
-
-  buildInputs =
-    [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
-
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-
-  preConfigure = ''
-    export HOME=$PWD/../
-    sed -e s@/bin/pwd@pwd@g -i otp_build
-  '';
-
-  configureFlags = "--with-ssl=${openssl}";
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
-  '';
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = stdenv.lib.platforms.linux;
-    # Note: Maintainer of prev. erlang version was simons. If he wants
-    # to continue maintaining erlang I'm totally ok with that.
-    maintainers = [ stdenv.lib.maintainers.the-kenny ];
-  };
-}
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
new file mode 100644
index 00000000000..2aba55d3679
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
+, gnused, gawk, makeWrapper
+, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
+
+assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "erlang-" + version;
+  version = "17.1";
+
+  src = fetchurl {
+    url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
+    sha256 = "0mn3p5rwvjfsxjnn1vrm0lxdq40wq9bmd9nibl6hqbfcnnrga1mq";
+  };
+
+  buildInputs =
+    [ perl gnum4 ncurses openssl makeWrapper
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+
+  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
+
+  preConfigure = ''
+    export HOME=$PWD/../
+    sed -e s@/bin/pwd@pwd@g -i otp_build
+  '';
+
+  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+
+  postInstall = let
+    manpages = fetchurl {
+      url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
+      sha256 = "1aza6hxhh7ag2frsa0hg6il6ancjrbazvgz7jc2p7qrmy5vh48sa";
+    };
+  in ''
+    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
+    tar xf "${manpages}" -C "$out/lib/erlang"
+    for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
+      prefix="''${i%/*}"
+      ensureDir "$out/share/man/''${prefix##*/}"
+      ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
+    done
+  '';
+
+  # Some erlang bin/ scripts run sed and awk
+  postFixup = ''
+    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+  '';
+
+  meta = {
+    homepage = "http://www.erlang.org/";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = platforms.unix;
+    # Note: Maintainer of prev. erlang version was simons. If he wants
+    # to continue maintaining erlang I'm totally ok with that.
+    maintainers = [ maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index 593cc61dc41..fdfb5d8ca30 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -3,11 +3,12 @@
 # at runtime, need jdk
 
 stdenv.mkDerivation rec {
-  name = "groovy-1.7.1";
+  name = "groovy-${version}";
+  version = "2.3.6";
 
   src = fetchurl {
-    url = "http://dist.groovy.codehaus.org/distributions/groovy-binary-1.7.1.zip";
-    sha256 = "0a204f6835f07e6a079bd4761e70cd5e0c31ebc0c9eb293fda11dfb2d8bf137c";
+    url = "http://dl.bintray.com/groovy/maven/groovy-binary-${version}.zip";
+    sha256 = "0yvk6x1f68avl52zzwx9p3faiqr98rfps70vql05j6kd7syyp0ah";
   };
 
   installPhase = ''
@@ -20,8 +21,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ unzip ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An agile dynamic language for the Java Platform";
     homepage = http://groovy.codehaus.org/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix
index f44f71020b4..55f1b1840fa 100644
--- a/pkgs/development/interpreters/guile/1.8.nix
+++ b/pkgs/development/interpreters/guile/1.8.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/guile/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/interpreters/hiphopvm/default.nix b/pkgs/development/interpreters/hiphopvm/default.nix
deleted file mode 100644
index c18c81caff0..00000000000
--- a/pkgs/development/interpreters/hiphopvm/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, fetchurl, fetchgit, cmake, boost, libunwind, mysql, libmemcached, pcre
-, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c
-, expat, libcap, oniguruma, libdwarf, libmcrypt, inteltbb, gperftools
-, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam
-}:
-assert stdenv.system == "x86_64-linux";
-let
-  src = fetchgit {
-    url = "git://github.com/facebook/hiphop-php.git";
-    rev = "73f1c0ebd9b313f6b3baecd8c8046e0b595b1157";
-    sha256 = "104133c6054bc9ab0288eaa0cea168b6699e537b3ea76ecdc38ee833d93dca09";
-  };
-
-  libxml2_280 = stdenv.lib.overrideDerivation libxml2 (args: rec { 
-    name = "libxml2-2.8.0";
-
-    src = fetchurl {
-      url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-      sha256 = "0ak2mjwvanz91nwxf1kkgbhrkm85vhhkpj7ymz8r6lb84bix1qpj";
-    };
-
-    patches = [];
-  });
- 
-  curlFB = stdenv.lib.overrideDerivation curl (args: { patches = [ "${src}/src/third_party/libcurl-7.22.1.fb-changes.diff" ]; });
-
-  fbPatch = "${src}/src/third_party/libevent-1.4.14.fb-changes.diff";
-  libeventFB = stdenv.lib.overrideDerivation libevent (args: { patches = [fbPatch]; });
-in
-stdenv.mkDerivation {
-  name = "hiphop-php-73f1c0ebd9";
-  inherit src;
-  dontUseCmakeBuildDir = true;
-  dontUseCmakeConfigure = true;
-  USE_HHVM=1;
-  preConfigure = ''
-    export HPHP_HOME=$PWD
-    export HPHP_LIB=$PWD/bin
-    export TBB_INSTALL_DIR=${inteltbb}
-    export TBB_ARCH_PLATFORM="intel64/cc4.1.0_libc2.4_kernel2.6.16.21"
-    sed -i 's| DEPRECATED | DEPRECATED_ |' src/runtime/base/runtime_error.h
-  '';
-  NIX_LDFLAGS = "-lpam -L${pam}/lib";
-  MYSQL_DIR=mysql;
-  buildInputs = [ 
-    cmake boost libunwind mysql libmemcached pcre libeventFB gd curlFB
-    libxml2_280 icu flex bison openssl zlib php expat libcap oniguruma
-    libdwarf libmcrypt inteltbb gperftools bzip2 openldap readline
-    libelf uwimap binutils cyrus_sasl pam
-  ];
-  installPhase = ''
-    mkdir -p $out/bin
-    cp src/hhvm/hhvm $out/bin
-    cp bin/systemlib.php $out/bin
-  '';
-  patches = [./tbb.patch];
-
-  meta = {
-    description = "High performance PHP toolchain";
-    homepage = https://github.com/facebook/hiphop-php;
-    platforms = ["x86_64-linux"];
-  };
-}
diff --git a/pkgs/development/interpreters/hiphopvm/tbb.patch b/pkgs/development/interpreters/hiphopvm/tbb.patch
deleted file mode 100644
index 0dee06d00fd..00000000000
--- a/pkgs/development/interpreters/hiphopvm/tbb.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMake/FindTBB.cmake b/CMake/FindTBB.cmake
-index 6a09c85..977418c 100644
---- a/CMake/FindTBB.cmake
-+++ b/CMake/FindTBB.cmake
-@@ -164,7 +164,7 @@ mark_as_advanced(TBB_INCLUDE_DIR)
- #-- Look for libraries
- # GvdB: $ENV{TBB_ARCH_PLATFORM} is set by the build script tbbvars[.bat|.sh|.csh]
- if (NOT $ENV{TBB_ARCH_PLATFORM} STREQUAL "")
--    set (TBB_LIBRARY_DIR "${_TBB_INSTALL_DIR}/$ENV{TBB_ARCH_PLATFORM}/lib")
-+    set (TBB_LIBRARY_DIR "${_TBB_INSTALL_DIR}/lib/$ENV{TBB_ARCH_PLATFORM}")
- else (NOT $ENV{TBB_ARCH_PLATFORM} STREQUAL "")
-     # HH: deprecated
-     message(STATUS "[Warning] FindTBB.cmake: The use of TBB_ARCHITECTURE and TBB_COMPILER is deprecated and may not be supported in future versions. Please set $ENV{TBB_ARCH_PLATFORM} (using tbbvars.[bat|csh|sh]).")
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index b5ec30563d0..f4854c237bd 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation {
-  name = "io-2011.09.12";
+  name = "io-2013.12.04";
   src = fetchurl {
-    url = http://github.com/stevedekorte/io/tarball/2011.09.12;
-    name = "io-2011.09.12.tar.gz";
-    sha256 = "14nhk5vkk74pbf36jsfaxqh2ihi5d7jby79yf1ibbax319xbjk3v";
+    url = http://github.com/stevedekorte/io/tarball/2013.12.04;
+    name = "io-2013.12.04.tar.gz";
+    sha256 = "0kvwr32xdpcr32rnv301xr5l89185dsisbj4v465m68isas0gjm5";
   };
 
   buildInputs = [
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index b171492d78c..f70fb164623 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
-stdenv.mkDerivation {
-  name = "jruby-1.6.5.1";
+stdenv.mkDerivation rec {
+  name = "jruby-${version}";
+
+  version = "1.7.12";
 
   src = fetchurl {
-    url = http://jruby.org.s3.amazonaws.com/downloads/1.6.5.1/jruby-bin-1.6.5.1.tar.gz;
-    sha256 = "1j0iv1q950lyir9vqfgg2533f1q28jaz7vnxqswsaix1mjhm29qd";
+    url = "http://jruby.org.s3.amazonaws.com/downloads/${version}/jruby-bin-${version}.tar.gz";
+    sha1 = "056cee1138e49da40a77f179b771372692479002";
   };
 
   buildInputs = [ makeWrapper ];
@@ -14,7 +16,7 @@ stdenv.mkDerivation {
      mkdir -pv $out
      mv * $out
      rm $out/bin/*.{bat,dll,exe,sh}
-     mv $out/README $out/docs
+     mv $out/COPYING $out/LICENSE* $out/docs
 
      for i in $out/bin/*; do
        wrapProgram $i \
@@ -22,7 +24,7 @@ stdenv.mkDerivation {
      done
   '';
 
-  meta = { 
+  meta = {
     description = "Ruby interpreter written in Java";
     homepage = http://jruby.org/;
     license = "CPL-1.0 GPL-2 LGPL-2.1"; # one of those
diff --git a/pkgs/development/interpreters/kaffe/builder.sh b/pkgs/development/interpreters/kaffe/builder.sh
deleted file mode 100755
index 823a8ebff0e..00000000000
--- a/pkgs/development/interpreters/kaffe/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup || exit 1
-
-configureFlags="--with-jikes=$jikes/bin/jikes --enable-pure-java-math"
-genericBuild
-
diff --git a/pkgs/development/interpreters/kaffe/default.nix b/pkgs/development/interpreters/kaffe/default.nix
deleted file mode 100644
index 6f7ba6c18e9..00000000000
--- a/pkgs/development/interpreters/kaffe/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, alsaLib, xlibs, jikes}:
-
-stdenv.mkDerivation {
-  name = "kaffe-1.1.4";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = ftp://ftp.kaffe.org/pub/kaffe/v1.1.x-development/kaffe-1.1.4.tar.gz;
-    md5 = "94d6e7035ba68c2221dce68bb5b3f6e9";
-  };
-  inherit jikes alsaLib;
-  inherit (xlibs) libXaw libX11;
-
-  buildInputs = [jikes alsaLib xlibs.libXaw xlibs.libX11];
-}
diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix
new file mode 100644
index 00000000000..f08d1d2ec7e
--- /dev/null
+++ b/pkgs/development/interpreters/love/0.9.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig
+, SDL2, mesa, openal, luajit
+, libdevil, freetype, physfs
+, libmodplug, mpg123, libvorbis, libogg
+}:
+
+stdenv.mkDerivation rec {
+  name = "love-0.9.1";
+  src = fetchurl {
+    url = "https://bitbucket.org/rude/love/downloads/${name}-linux-src.tar.gz";
+    sha256 = "1pikd0bzb44r4bf0jbgn78whz1yswpq1n5jc8nf87v42pm30kp84";
+  };
+
+  buildInputs = [
+    pkgconfig SDL2 mesa openal luajit
+    libdevil freetype physfs libmodplug mpg123 libvorbis libogg
+  ];
+
+  configureFlags = [
+    "--with-lua=luajit"
+  ];
+
+  meta = {
+    homepage = "http://love2d.org";
+    description = "A Lua-based 2D game engine/scripting language";
+    license = stdenv.lib.licenses.zlib;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
+}
diff --git a/pkgs/development/interpreters/love/default.nix b/pkgs/development/interpreters/love/default.nix
index 318a336faa6..fc1f01cb373 100644
--- a/pkgs/development/interpreters/love/default.nix
+++ b/pkgs/development/interpreters/love/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, mesa, openal, lua5
+, SDL, mesa, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -12,10 +12,29 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    pkgconfig SDL mesa openal lua5
+    pkgconfig SDL mesa openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
+  preConfigure = ''
+    luaoptions="${"''"} lua luajit "
+    for i in lua luajit-; do
+      for j in 5 5.0 5.1 5.2 5.3 5.4; do
+        luaoptions="$luaoptions $i$j "
+      done
+    done
+    luaso="$(echo "${lua}/lib/"lib*.so.*)"
+    luaso="''${luaso##*/lib}"
+    luaso="''${luaso%%.so*}"
+    luaoptions="$luaoptions $luaso"
+    sed -e "s/${"''"} lua lua.*;/$luaoptions;/" -i configure
+
+    luaincdir="$(echo "${lua}/include"/*/ )"
+    test -d "$luaincdir" && {
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$luaincdir"
+    } || true
+  '';
+
   NIX_CFLAGS_COMPILE = ''
     -I${SDL}/include/SDL
     -I${freetype}include/freetype2
@@ -24,7 +43,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://love2d.org";
     description = "A Lua-based 2D game engine/scripting language";
-    license = "zlib";
+    license = stdenv.lib.licenses.zlib;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.raskin ];
diff --git a/pkgs/development/interpreters/lua-4/default.nix b/pkgs/development/interpreters/lua-4/default.nix
index 13f7964769c..835b71f38bf 100644
--- a/pkgs/development/interpreters/lua-4/default.nix
+++ b/pkgs/development/interpreters/lua-4/default.nix
@@ -23,8 +23,7 @@ stdenv.mkDerivation {
       management with incremental garbage collection, making it ideal
       for configuration, scripting, and rapid prototyping.
     '';
-    license = "MIT";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/5.0.3.nix b/pkgs/development/interpreters/lua-5/5.0.3.nix
index eae2d82d5d0..8a1d35a6c07 100644
--- a/pkgs/development/interpreters/lua-5/5.0.3.nix
+++ b/pkgs/development/interpreters/lua-5/5.0.3.nix
@@ -24,8 +24,6 @@ stdenv.mkDerivation {
       management with incremental garbage collection, making it ideal
       for configuration, scripting, and rapid prototyping.
     '';
-    license = "MIT";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/5.1.darwin.patch b/pkgs/development/interpreters/lua-5/5.1.darwin.patch
new file mode 100644
index 00000000000..b7754da79ba
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/5.1.darwin.patch
@@ -0,0 +1,52 @@
+diff --git a/Makefile b/Makefile
+index 209a132..9387b09 100644
+--- a/Makefile
++++ b/Makefile
+@@ -43,7 +43,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+ # What to install.
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.5.1.5.dylib
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -64,6 +64,8 @@ install: dummy
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
++	ln -s -f liblua.5.1.5.dylib $(INSTALL_LIB)/liblua.5.1.dylib
++	ln -s -f liblua.5.1.dylib $(INSTALL_LIB)/liblua.dylib
+
+ ranlib:
+ 	cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB)
+diff --git a/src/Makefile b/src/Makefile
+index e0d4c9f..4477d7b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -22,7 +22,7 @@ MYLIBS=
+
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+
+-LUA_A=	liblua.a
++LUA_A=	liblua.5.1.5.dylib
+ CORE_O=	lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
+ 	lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o  \
+ 	lundump.o lvm.o lzio.o
+@@ -48,11 +48,13 @@ o:	$(ALL_O)
+ a:	$(ALL_A)
+
+ $(LUA_A): $(CORE_O) $(LIB_O)
+-	$(AR) $@ $(CORE_O) $(LIB_O)	# DLL needs all object files
+-	$(RANLIB) $@
++	$(CC) -dynamiclib -install_name $(out)/lib/liblua.5.1.dylib \
++		-compatibility_version 5.1 -current_version 5.1.5 \
++		-o liblua.5.1.5.dylib $^
+
+ $(LUA_T): $(LUA_O) $(LUA_A)
+-	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++	$(CC) -fno-common $(MYLDFLAGS) \
++		-o $@ $(LUA_O) $(LUA_A) -L. -llua.5.1.5 $(LIBS)
+
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ 	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 2923a8f960d..1b05cb8f778 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -9,6 +9,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "lua-5.1.5";
+  luaversion = "5.1";
 
   src = fetchurl {
     url = "http://www.lua.org/ftp/${name}.tar.gz";
@@ -17,10 +18,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
-  patches = [ dsoPatch ];
+  patches = if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ];
 
-  configurePhase = ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDLAGS="-fPIC" )
+  configurePhase =
+    if stdenv.isDarwin
+    then ''
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" )
+    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
+  '' else ''
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.5.1 liblua.so.5.1.5" INSTALL_DATA='cp -d' )
   '';
 
@@ -42,8 +48,8 @@ stdenv.mkDerivation rec {
       management with incremental garbage collection, making it ideal
       for configuration, scripting, and rapid prototyping.
     '';
-    license = "MIT";
-    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/5.2.darwin.patch b/pkgs/development/interpreters/lua-5/5.2.darwin.patch
new file mode 100644
index 00000000000..ffc3ff34be7
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/5.2.darwin.patch
@@ -0,0 +1,52 @@
+diff --git a/Makefile b/Makefile
+index 209a132..9387b09 100644
+--- a/Makefile
++++ b/Makefile
+@@ -43,5 +43,5 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+ # What to install.
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.${version}.dylib
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -64,3 +64,5 @@ install: dummy
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
++	ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${majorVersion}.dylib
++	ln -s -f liblua.${majorVersion}.dylib $(INSTALL_LIB)/liblua.dylib
+
+ ranlib:
+ 	cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB)
+diff --git a/src/Makefile b/src/Makefile
+index fea895b..d9146d0 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -28,7 +28,7 @@ MYOBJS=
+ 
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+ 
+-LUA_A=	liblua.a
++LUA_A=	liblua.${version}.dylib
+ CORE_O=	lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
+ 	lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
+ 	ltm.o lundump.o lvm.o lzio.o
+@@ -56,11 +56,13 @@ o:	$(ALL_O)
+ a:	$(ALL_A)
+ 
+ $(LUA_A): $(BASE_O)
+-	$(AR) $@ $(BASE_O)
+-	$(RANLIB) $@
++	$(CC) -dynamiclib -install_name $(out)/lib/liblua.${version}.dylib \
++		-compatibility_version ${version} -current_version ${version} \
++		-o liblua.${version}.dylib $^
+ 
+ $(LUA_T): $(LUA_O) $(LUA_A)
+-	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++	$(CC) -fno-common $(MYLDFLAGS) \
++		-o $@ $(LUA_O) $(LUA_A) -L. -llua.${version} $(LIBS)
+ 
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ 	$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index 5b4c2459872..ea44adb462c 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, readline }:
+{ stdenv, fetchurl, readline, compat ? false }:
 
 let
   dsoPatch = fetchurl {
@@ -17,12 +17,17 @@ stdenv.mkDerivation rec {
     sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz";
   };
 
-  buildInputs = [ readline ];
+  nativeBuildInputs = [ readline ];
 
-  patches = [ dsoPatch ];
+  patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch ];
 
-  configurePhase = ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDLAGS="-fPIC" V=${majorVersion} R=${version} )
+  configurePhase =
+    if stdenv.isDarwin
+    then ''
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${majorVersion} R=${version} )
+    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
+  '' else ''
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${majorVersion} R=${version} )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${majorVersion} liblua.so.${version}" INSTALL_DATA='cp -d' )
   '';
 
@@ -49,6 +54,37 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
+  crossAttrs = let
+    isMingw = stdenv.cross.libc == "msvcrt";
+    isDarwin = stdenv.cross.libc == "libSystem";
+  in {
+    configurePhase = ''
+      makeFlagsArray=(
+        INSTALL_TOP=$out
+        INSTALL_MAN=$out/share/man/man1
+        CC=${stdenv.cross.config}-gcc
+        STRIP=:
+        RANLIB=${stdenv.cross.config}-ranlib
+        V=${majorVersion}
+        R=${version}
+        ${if isMingw then "mingw" else stdenv.lib.optionalString isDarwin ''
+        AR="${stdenv.cross.config}-ar rcu"
+        macosx
+        ''}
+      )
+    '' + stdenv.lib.optionalString isMingw ''
+      installFlagsArray=(
+        TO_BIN="lua.exe luac.exe"
+        TO_LIB="liblua.a lua52.dll"
+        INSTALL_DATA="cp -d"
+      )
+    '';
+  } // stdenv.lib.optionalAttrs isDarwin {
+    postPatch = ''
+      sed -i -e 's/-Wl,-soname[^ ]* *//' src/Makefile
+    '';
+  };
+
   meta = {
     homepage = "http://www.lua.org";
     description = "Powerful, fast, lightweight, embeddable scripting language";
@@ -60,8 +96,8 @@ stdenv.mkDerivation rec {
       management with incremental garbage collection, making it ideal
       for configuration, scripting, and rapid prototyping.
     '';
-    license = "MIT";
-    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/expat.nix b/pkgs/development/interpreters/lua-5/expat.nix
new file mode 100644
index 00000000000..0dbbaf8a161
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/expat.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, lua5, expat }:
+
+stdenv.mkDerivation rec {
+  version = "1.3.0";
+  name = "lua-expat-${version}";
+  isLibrary = true;
+  src = fetchurl {
+    url = "https://matthewwild.co.uk/projects/luaexpat/luaexpat-${version}.tar.gz";
+    sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
+  };
+
+  buildInputs = [ lua5 expat ];
+
+  preBuild = ''
+    makeFlagsArray=(
+      LUA_LDIR="$out/share/lua/${lua5.luaversion}"
+      LUA_INC="-I${lua5}/include" LUA_CDIR="$out/lib/lua/${lua5.luaversion}"
+      EXPAT_INC="-I${expat}/include");
+  '';
+
+  meta = {
+    homepage = "http://matthewwild.co.uk/projects/luaexpat";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.flosse ];
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/filesystem.nix b/pkgs/development/interpreters/lua-5/filesystem.nix
new file mode 100644
index 00000000000..0df5a6d3721
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/filesystem.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, lua5 }:
+
+stdenv.mkDerivation rec {
+  version = "1.6.2";
+  name = "lua-filesystem-${version}";
+  isLibrary = true;
+  src = fetchurl {
+    url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz";
+    sha256 = "1n8qdwa20ypbrny99vhkmx8q04zd2jjycdb5196xdhgvqzk10abz";
+  };
+
+  buildInputs = [ lua5 ];
+
+  preBuild = ''
+    makeFlagsArray=(
+      PREFIX=$out
+      LUA_LIBDIR="$out/lib/lua/${lua5.luaversion}"
+      LUA_INC="-I${lua5}/include");
+  '';
+
+  meta = {
+    homepage = "https://github.com/keplerproject/luafilesystem";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.flosse ];
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/sec.nix b/pkgs/development/interpreters/lua-5/sec.nix
new file mode 100644
index 00000000000..33def9c51fd
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/sec.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, lua5, lua5_sockets, openssl }:
+
+stdenv.mkDerivation rec {
+  version = "0.5";
+  name = "lua-sec-${version}";
+  src = fetchurl {
+    url = "https://github.com/brunoos/luasec/archive/luasec-${version}.tar.gz";
+    sha256 = "08rm12cr1gjdnbv2jpk7xykby9l292qmz2v0dfdlgb4jfj7mk034";
+  };
+
+  buildInputs = [ lua5 openssl ];
+
+  preBuild = ''
+    makeFlagsArray=(
+      linux
+      LUAPATH="$out/lib/lua/${lua5.luaversion}"
+      LUACPATH="$out/lib/lua/${lua5.luaversion}"
+      INC_PATH="-I${lua5}/include"
+      LIB_PATH="-L$out/lib");
+  '';
+
+  meta = {
+    homepage = "https://github.com/brunoos/luasec";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.flosse ];
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix
new file mode 100644
index 00000000000..9c6cea38170
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/sockets.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, lua5}:
+
+stdenv.mkDerivation rec {
+  name    = "lua-sockets-${version}";
+  version = "2.0.2";
+  src = fetchurl {
+      url = "http://files.luaforge.net/releases/luasocket/luasocket/luasocket-${version}/luasocket-${version}.tar.gz";
+      sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
+  };
+
+  luaver = "5.1"; # TODO
+  patchPhase = ''
+      sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \
+          -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \
+          -i config
+  '';
+
+  buildInputs = [ lua5 ];
+
+  meta = {
+    homepage = "http://w3.impa.br/~diego/software/luasocket/";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
+  };
+}
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
new file mode 100644
index 00000000000..00c4ddc447f
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "luajit-${version}";
+  version = "2.0.3";
+
+  src = fetchurl {
+    url    = "http://luajit.org/download/LuaJIT-${version}.tar.gz";
+    sha256 = "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm";
+  };
+
+  enableParallelBuilding = true;
+
+  patchPhase = ''
+    substituteInPlace Makefile \
+      --replace /usr/local $out
+  '' + stdenv.lib.optionalString (stdenv.gcc.libc != null)
+  ''
+    substituteInPlace Makefile \
+      --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig
+  '';
+
+  configurePhase = false;
+  buildFlags     = [ "amalg" ]; # Build highly optimized version
+  installPhase   = "make install PREFIX=$out";
+
+  meta = with stdenv.lib; {
+    description = "high-performance JIT compiler for Lua 5.1";
+    homepage    = http://luajit.org;
+    license     = licenses.mit;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = [ maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index de1a14b522b..e112a5ae43d 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -9,27 +9,32 @@ stdenv.mkDerivation rec {
   };
 
   fullMaude = fetchurl {
-    url = "http://maude.cs.uiuc.edu/download/current/FM2.6/full-maude26.maude";
-    sha256 = "1382hjwwrsdgd5yjn3ph1b5i1bhrhzvqx0v369bmcjkly9k96v6q";
+    url = "https://full-maude.googlecode.com/git/full-maude261h.maude";
+    sha256 = "0xx8bfn6arsa75m5vhp5lmpazgfw230ssq33h9vifswlvzzc81ha";
   };
 
   buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
 
-  configurePhase = ''./configure --disable-dependency-tracking --prefix=$out --datadir=$out/share/maude TECLA_LIBS="-ltecla -lncursesw" CFLAGS="-O3" CXXFLAGS="-O3"'';
+  preConfigure = ''
+    configureFlagsArray=(
+      --datadir=$out/share/maude
+      TECLA_LIBS="-ltecla -lncursesw"
+      CFLAGS="-O3" CXXFLAGS="-O3"
+    )
+  '';
 
   doCheck = true;
 
-  postInstall =
-  ''
+  postInstall = ''
     for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
     mkdir -p $out/share/maude
-    cp ${fullMaude} $out/share/maude/full-maude.maude
+    cp ${fullMaude} -d $out/share/maude/full-maude.maude
   '';
 
   meta = {
     homepage = "http://maude.cs.uiuc.edu/";
     description = "Maude -- a high-level specification language";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Maude is a high-performance reflective language and system
@@ -41,7 +46,7 @@ stdenv.mkDerivation rec {
       rewriting logic computation.
     '';
 
-    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 428d97eaf79..1addccb4bf8 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,22 +1,36 @@
 {stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull,
-libX11, graphicsmagick, pcre, liblapack, texLive, pkgconfig, mesa, fltk,
-fftw, fftwSinglePrec, zlib, curl, qrupdate }:
+libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk,
+fftw, fftwSinglePrec, zlib, curl, qrupdate
+, qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
+, suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null
+}:
 
 let
-  version = "3.6.4";
+  version = "3.8.1";
 in
 stdenv.mkDerivation rec {
   name = "octave-${version}";
   src = fetchurl {
     url = "mirror://gnu/octave/${name}.tar.bz2";
-    sha256 = "0qn9s7jrjmrn6w3rvp8d7vfnymyv0spnxzrp9l7p8p8zb7wms67s";
+    sha256 = "1gcvzbgyz98mxzy3gjkdbdiirafkl73l9ywml11j412amp92wxnn";
   };
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11
     graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
-    fftw fftwSinglePrec qrupdate ];
-
-  doCheck = true;
+    fftw fftwSinglePrec qrupdate ]
+    ++ (stdenv.lib.optional (qt != null) qt)
+    ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
+    ++ (stdenv.lib.optional (llvm != null) llvm)
+    ++ (stdenv.lib.optional (hdf5 != null) hdf5)
+    ++ (stdenv.lib.optional (glpk != null) glpk)
+    ++ (stdenv.lib.optional (suitesparse != null) suitesparse)
+    ++ (stdenv.lib.optional (openjdk != null) openjdk)
+    ++ (stdenv.lib.optional (gnuplot != null) gnuplot)
+    ++ (stdenv.lib.optional (python != null) python)
+    ;
+
+  # there is a mysterious sh: command not found
+  doCheck = false;
 
   /* The build failed with a missing libranlib.la in hydra,
      but worked on my computer. I think they have concurrency problems */
@@ -27,7 +41,7 @@ stdenv.mkDerivation rec {
   # Keep a copy of the octave tests detailed results in the output
   # derivation, because someone may care
   postInstall = ''
-    cp test/fntests.log $out/share/octave/${name}-fntests.log
+    cp test/fntests.log $out/share/octave/${name}-fntests.log || true
   '';
 
   passthru = {
@@ -37,8 +51,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://octave.org/;
-    license = "GPLv3+";
-    maintainers = with stdenv.lib.maintainers; [viric];
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [viric raskin];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/interpreters/octave/hg.nix b/pkgs/development/interpreters/octave/hg.nix
index f44efb94358..797fff584f6 100644
--- a/pkgs/development/interpreters/octave/hg.nix
+++ b/pkgs/development/interpreters/octave/hg.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation ({
   meta = { 
       description = "High-level interactive language for numerical computations";
       homepage = http://www.octave.org;
-      license = "GPL-3";
+      license = stdenv.lib.licenses.gpl3;
     };
 } // (
   if config.octave.devVersion or false then {
diff --git a/pkgs/development/interpreters/perl/5.14/default.nix b/pkgs/development/interpreters/perl/5.14/default.nix
index 08690e9507f..dd4e7acf71f 100644
--- a/pkgs/development/interpreters/perl/5.14/default.nix
+++ b/pkgs/development/interpreters/perl/5.14/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
   patches = 
     [ # Do not look in /usr etc. for dependencies.
       ./no-sys-dirs.patch
-    ] 
+    ]
+    ++ stdenv.lib.optional stdenv.isSunOS  ./ld-shared.patch
     ++ stdenv.lib.optional stdenv.isDarwin ./no-libutil.patch;
 
   # Build a thread-safe Perl with a dynamic libperls.o.  We need the
diff --git a/pkgs/development/interpreters/perl/5.14/ld-shared.patch b/pkgs/development/interpreters/perl/5.14/ld-shared.patch
new file mode 100644
index 00000000000..b1834ff7a1f
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.14/ld-shared.patch
@@ -0,0 +1,11 @@
+--- perl-5.14.2/hints/solaris_2.sh.orig	2013-02-14 19:29:49.453988140 +0000
++++ perl-5.14.2/hints/solaris_2.sh	2013-02-14 19:30:31.681631019 +0000
+@@ -568,7 +568,7 @@
+ #		    ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
+ #		fi
+ 		ldflags="$ldflags -m64"
+-		lddlflags="$lddlflags -G -m64"
++		lddlflags="$lddlflags -shared -m64"
+ 		;;
+ 	    *)
+ 		getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
diff --git a/pkgs/development/interpreters/perl/5.16/cpp-precomp.patch b/pkgs/development/interpreters/perl/5.16/cpp-precomp.patch
new file mode 100644
index 00000000000..231853fe51a
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/cpp-precomp.patch
@@ -0,0 +1,11 @@
+--- a/hints/darwin.sh	2013-05-08 11:13:45.000000000 -0600
++++ b/hints/darwin.sh	2013-05-08 11:15:04.000000000 -0600
+@@ -129,7 +129,7 @@
+ 
+ # Avoid Apple's cpp precompiler, better for extensions
+ if [ "X`echo | ${cc} -no-cpp-precomp -E - 2>&1 >/dev/null`" = "X" ]; then
+-    cppflags="${cppflags} -no-cpp-precomp"
++    #cppflags="${cppflags} -no-cpp-precomp"
+ 
+     # This is necessary because perl's build system doesn't
+     # apply cppflags to cc compile lines as it should.
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index dc8bc34665d..bc9a0f0f4dd 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -6,6 +6,10 @@ let
 
 in
 
+with {
+  inherit (stdenv.lib) optional optionalString;
+};
+
 stdenv.mkDerivation rec {
   name = "perl-5.16.3";
 
@@ -23,7 +27,8 @@ stdenv.mkDerivation rec {
     [ # Do not look in /usr etc. for dependencies.
       ./no-sys-dirs.patch
     ]
-    ++ stdenv.lib.optional stdenv.isDarwin ./no-libutil.patch;
+    ++ optional stdenv.isSunOS  ./ld-shared.patch
+    ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
 
   # Build a thread-safe Perl with a dynamic libperls.o.  We need the
   # "installstyle" option to ensure that modules are put under
@@ -39,7 +44,7 @@ stdenv.mkDerivation rec {
       "-Dlocincpth=${libc}/include"
       "-Dloclibpth=${libc}/lib"
     ]
-    ++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads";
+    ++ optional (stdenv ? glibc) "-Dusethreads";
 
   configureScript = "${stdenv.shell} ./Configure";
 
@@ -51,12 +56,18 @@ stdenv.mkDerivation rec {
     ''
       configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$man/share/man/man1 -Dman3dir=$man/share/man/man3"
 
-      ${stdenv.lib.optionalString stdenv.isArm ''
+      ${optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
+
+      ${optionalString stdenv.isCygwin ''
+        cp cygwin/cygwin.c{,.bak}
+        echo "#define PERLIO_NOT_STDIO 0" > tmp
+        cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c
+      ''}
     '';
 
-  preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
+  preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
     ''
       # Make Cwd work on NixOS (where we don't have a /bin/pwd).
       substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
diff --git a/pkgs/development/interpreters/perl/5.16/ld-shared.patch b/pkgs/development/interpreters/perl/5.16/ld-shared.patch
new file mode 100644
index 00000000000..be45230c8a7
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/ld-shared.patch
@@ -0,0 +1,11 @@
+--- perl-5.16.2/hints/solaris_2.sh.orig	2013-02-14 19:29:49.453988140 +0000
++++ perl-5.16.2/hints/solaris_2.sh	2013-02-14 19:30:31.681631019 +0000
+@@ -568,7 +568,7 @@
+ #		    ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
+ #		fi
+ 		ldflags="$ldflags -m64"
+-		lddlflags="$lddlflags -G -m64"
++		lddlflags="$lddlflags -shared -m64"
+ 		;;
+ 	    *)
+ 		getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
diff --git a/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch
index 54ffb28e206..883b24889c3 100644
--- a/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch
+++ b/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch
@@ -1,7 +1,8 @@
-diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
---- perl-5.14.2-orig/Configure	2011-09-26 11:44:34.000000000 +0200
-+++ perl-5.14.2/Configure	2012-01-20 17:05:23.089223129 +0100
-@@ -106,15 +106,7 @@
+diff --git a/Configure b/Configure
+index fdbbf20..ba1fd07 100755
+--- a/Configure
++++ b/Configure
+@@ -106,15 +106,7 @@ if test -d c:/. || ( uname -a | grep -i 'os\(/\|\)2' ) 2>&1 >/dev/null ; then
  fi
  
  : Proper PATH setting
@@ -18,7 +19,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  
  for p in $paths
  do
-@@ -1311,8 +1303,7 @@
+@@ -1323,8 +1315,7 @@ archobjs=''
  archname=''
  : Possible local include directories to search.
  : Set locincpth to "" in a hint file to defeat local include searches.
@@ -28,8 +29,8 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  :
  : no include file wanted by default
  inclwanted=''
-@@ -1328,17 +1319,12 @@
- archobjs=''
+@@ -1335,17 +1326,12 @@ DEBUGGING=''
+ 
  libnames=''
  : change the next line if compiling for Xenix/286 on Xenix/386
 -xlibpth='/usr/lib/386 /lib/386'
@@ -49,7 +50,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  
  : Private path used by Configure to find libraries.  Its value
  : is prepended to libpth. This variable takes care of special
-@@ -1371,8 +1357,6 @@
+@@ -1380,8 +1366,6 @@ libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
  libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
  : We probably want to search /usr/shlib before most other libraries.
  : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
@@ -58,7 +59,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  : Do not use vfork unless overridden by a hint file.
  usevfork=false
  
-@@ -2380,7 +2364,6 @@
+@@ -2389,7 +2373,6 @@ uname
  zip
  "
  pth=`echo $PATH | sed -e "s/$p_/ /g"`
@@ -66,7 +67,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  for file in $loclist; do
  	eval xxx=\$$file
  	case "$xxx" in
-@@ -4785,7 +4768,7 @@
+@@ -4708,7 +4691,7 @@ $rm -f testcpp.c testcpp.out
  : Set private lib path
  case "$plibpth" in
  '') if ./mips; then
@@ -75,7 +76,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  	fi;;
  esac
  case "$libpth" in
-@@ -8390,13 +8373,8 @@
+@@ -8354,13 +8337,8 @@ esac
  echo " "
  case "$sysman" in
  '') 
@@ -91,7 +92,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  	;;
  esac
  if $test -d "$sysman"; then
-@@ -19721,9 +19699,10 @@
+@@ -19742,9 +19720,10 @@ $rm_try tryp
  case "$full_ar" in
  '') full_ar=$ar ;;
  esac
@@ -103,10 +104,11 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
  
  : see what type gids are declared as in the kernel
  echo " "
-diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Errno_pm.PL
---- perl-5.14.2-orig/ext/Errno/Errno_pm.PL	2011-09-26 11:44:34.000000000 +0200
-+++ perl-5.14.2/ext/Errno/Errno_pm.PL	2012-01-20 17:02:07.938138311 +0100
-@@ -137,11 +137,7 @@
+diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
+index 439f254..2cdfdb0 100644
+--- a/ext/Errno/Errno_pm.PL
++++ b/ext/Errno/Errno_pm.PL
+@@ -137,11 +137,7 @@ sub get_files {
  	if ($dep =~ /(\S+errno\.h)/) {
  	     $file{$1} = 1;
  	}
@@ -119,10 +121,11 @@ diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Er
  	# Some Linuxes have weird errno.hs which generate
  	# no #file or #line directives
  	my $linux_errno_h = -e '/usr/include/errno.h' ?
-diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh
---- perl-5.14.2-orig/hints/freebsd.sh	2011-09-19 15:18:22.000000000 +0200
-+++ perl-5.14.2/hints/freebsd.sh	2012-01-20 17:10:37.267924044 +0100
-@@ -118,21 +118,21 @@
+diff --git a/hints/freebsd.sh b/hints/freebsd.sh
+index a67c0bb..0f07ca5 100644
+--- a/hints/freebsd.sh
++++ b/hints/freebsd.sh
+@@ -119,21 +119,21 @@ case "$osvers" in
          objformat=`/usr/bin/objformat`
          if [ x$objformat = xaout ]; then
              if [ -e /usr/lib/aout ]; then
@@ -150,3 +153,73 @@ diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh
         ldflags="-Wl,-E "
          lddlflags="-shared "
          cccdlflags='-DPIC -fPIC'
+diff --git a/hints/linux.sh b/hints/linux.sh
+index 688c68d..c12f5f5 100644
+--- a/hints/linux.sh
++++ b/hints/linux.sh
+@@ -60,17 +60,6 @@ libswanted="$*"
+ # Debian 4.0 puts ndbm in the -lgdbm_compat library.
+ libswanted="$libswanted gdbm_compat"
+ 
+-# If you have glibc, then report the version for ./myconfig bug reporting.
+-# (Configure doesn't need to know the specific version since it just uses
+-# gcc to load the library for all tests.)
+-# We don't use __GLIBC__ and  __GLIBC_MINOR__ because they
+-# are insufficiently precise to distinguish things like
+-# libc-2.0.6 and libc-2.0.7.
+-if test -L /lib/libc.so.6; then
+-    libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
+-    libc=/lib/$libc
+-fi
+-
+ # Configure may fail to find lstat() since it's a static/inline
+ # function in <sys/stat.h>.
+ d_lstat=define
+@@ -154,24 +143,6 @@ case "$optimize" in
+     ;;
+ esac
+ 
+-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+-# (such as -lm) in /lib or /usr/lib.  So we have to ask gcc to tell us
+-# where to look.  We don't want gcc's own libraries, however, so we
+-# filter those out.
+-# This could be conditional on Unbuntu, but other distributions may
+-# follow suit, and this scheme seems to work even on rather old gcc's.
+-# This unconditionally uses gcc because even if the user is using another
+-# compiler, we still need to find the math library and friends, and I don't
+-# know how other compilers will cope with that situation.
+-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
+-# we don't want its libraries. So we try to prefer the system gcc
+-# Still, as an escape hatch, allow Configure command line overrides to
+-# plibpth to bypass this check.
+-if [ -x /usr/bin/gcc ] ; then
+-    gcc=/usr/bin/gcc
+-else
+-    gcc=gcc
+-fi
+ 
+ case "$plibpth" in
+ '') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
+@@ -345,22 +316,6 @@ sparc*)
+ 	;;
+ esac
+ 
+-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
+-# true libraries. The scripts cause binding against static
+-# version of -lgdbm which is a bad idea. So if we have 'nm'
+-# make sure it can read the file
+-# NI-S 2003/08/07
+-if [ -r /usr/lib/libndbm.so  -a  -x /usr/bin/nm ] ; then
+-   if /usr/bin/nm /usr/lib/libndbm.so >/dev/null 2>&1 ; then
+-    echo 'Your shared -lndbm seems to be a real library.'
+-   else
+-    echo 'Your shared -lndbm is not a real library.'
+-    set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
+-    shift
+-    libswanted="$*"
+-   fi
+-fi
+-
+ 
+ # This script UU/usethreads.cbu will get 'called-back' by Configure
+ # after it has prompted the user for whether to use threads.
diff --git a/pkgs/development/interpreters/perl/5.20/cpp-precomp.patch b/pkgs/development/interpreters/perl/5.20/cpp-precomp.patch
new file mode 100644
index 00000000000..231853fe51a
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.20/cpp-precomp.patch
@@ -0,0 +1,11 @@
+--- a/hints/darwin.sh	2013-05-08 11:13:45.000000000 -0600
++++ b/hints/darwin.sh	2013-05-08 11:15:04.000000000 -0600
+@@ -129,7 +129,7 @@
+ 
+ # Avoid Apple's cpp precompiler, better for extensions
+ if [ "X`echo | ${cc} -no-cpp-precomp -E - 2>&1 >/dev/null`" = "X" ]; then
+-    cppflags="${cppflags} -no-cpp-precomp"
++    #cppflags="${cppflags} -no-cpp-precomp"
+ 
+     # This is necessary because perl's build system doesn't
+     # apply cppflags to cc compile lines as it should.
diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix
new file mode 100644
index 00000000000..d9fb32aa43e
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.20/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchurl }:
+
+let
+
+  libc = if stdenv.gcc.libc or null != null then stdenv.gcc.libc else "/usr";
+
+in
+
+with {
+  inherit (stdenv.lib) optional optionalString;
+};
+
+stdenv.mkDerivation rec {
+  name = "perl-5.20.0";
+
+  src = fetchurl {
+    url = "mirror://cpan/src/${name}.tar.gz";
+    sha256 = "00ndpgw4bjing9gy2y6jvs3q46mv2ll6zrxjkhpr12fcdsnji32f";
+  };
+
+  patches =
+    [ # Do not look in /usr etc. for dependencies.
+      ./no-sys-dirs.patch
+    ]
+    ++ optional stdenv.isSunOS ./ld-shared.patch
+    ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
+
+  # Build a thread-safe Perl with a dynamic libperls.o.  We need the
+  # "installstyle" option to ensure that modules are put under
+  # $out/lib/perl5 - this is the general default, but because $out
+  # contains the string "perl", Configure would select $out/lib.
+  # Miniperl needs -lm. perl needs -lrt.
+  configureFlags =
+    [ "-de"
+      "-Dcc=gcc"
+      "-Uinstallusrbinperl"
+      "-Dinstallstyle=lib/perl5"
+      "-Duseshrplib"
+      "-Dlocincpth=${libc}/include"
+      "-Dloclibpth=${libc}/lib"
+    ]
+    ++ optional (stdenv ? glibc) "-Dusethreads";
+
+  configureScript = "${stdenv.shell} ./Configure";
+
+  dontAddPrefix = true;
+
+  enableParallelBuilding = true;
+
+  preConfigure =
+    ''
+      configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
+
+      ${optionalString stdenv.isArm ''
+        configureFlagsArray=(-Dldflags="-lm -lrt")
+      ''}
+    '';
+
+  preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
+    ''
+      # Make Cwd work on NixOS (where we don't have a /bin/pwd).
+      substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
+    '';
+
+  setupHook = ./setup-hook.sh;
+
+  passthru.libPrefix = "lib/perl5/site_perl";
+}
diff --git a/pkgs/development/interpreters/perl/5.20/ld-shared.patch b/pkgs/development/interpreters/perl/5.20/ld-shared.patch
new file mode 100644
index 00000000000..be45230c8a7
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.20/ld-shared.patch
@@ -0,0 +1,11 @@
+--- perl-5.16.2/hints/solaris_2.sh.orig	2013-02-14 19:29:49.453988140 +0000
++++ perl-5.16.2/hints/solaris_2.sh	2013-02-14 19:30:31.681631019 +0000
+@@ -568,7 +568,7 @@
+ #		    ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
+ #		fi
+ 		ldflags="$ldflags -m64"
+-		lddlflags="$lddlflags -G -m64"
++		lddlflags="$lddlflags -shared -m64"
+ 		;;
+ 	    *)
+ 		getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
diff --git a/pkgs/development/interpreters/perl/5.20/no-libutil.patch b/pkgs/development/interpreters/perl/5.20/no-libutil.patch
new file mode 100644
index 00000000000..68d44612bfe
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.20/no-libutil.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
+--- perl-5.14.2-orig/Configure	2011-09-26 11:44:34.000000000 +0200
++++ perl-5.14.2/Configure	2012-02-16 17:24:50.779839039 +0100
+@@ -1368,7 +1368,7 @@
+ : List of libraries we want.
+ : If anyone needs extra -lxxx, put those in a hint file.
+ libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun"
+-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
++libswanted="$libswanted m crypt sec c cposix posix ucb bsd BSD"
+ : We probably want to search /usr/shlib before most other libraries.
+ : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
+ glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
diff --git a/pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch
new file mode 100644
index 00000000000..1793273a76f
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch
@@ -0,0 +1,250 @@
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
+--- perl-5.20.0-orig/Configure	2014-05-26 15:34:18.000000000 +0200
++++ perl-5.20.0/Configure	2014-06-25 10:43:35.368285986 +0200
+@@ -106,15 +106,7 @@
+ fi
+ 
+ : Proper PATH setting
+-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
+-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
+-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
+-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
+-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
+-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
+-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
+-paths="$paths /sbin /usr/sbin /usr/libexec"
+-paths="$paths /system/gnu_library/bin"
++paths=''
+ 
+ for p in $paths
+ do
+@@ -1337,8 +1329,7 @@
+ archname=''
+ : Possible local include directories to search.
+ : Set locincpth to "" in a hint file to defeat local include searches.
+-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
+-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
++locincpth=""
+ :
+ : no include file wanted by default
+ inclwanted=''
+@@ -1349,17 +1340,12 @@
+ 
+ libnames=''
+ : change the next line if compiling for Xenix/286 on Xenix/386
+-xlibpth='/usr/lib/386 /lib/386'
++xlibpth=''
+ : Possible local library directories to search.
+-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
+-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
++loclibpth=""
+ 
+ : general looking path for locating libraries
+-glibpth="/lib /usr/lib $xlibpth"
+-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
+-test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
+-test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
++glibpth=""
+ 
+ : Private path used by Configure to find libraries.  Its value
+ : is prepended to libpth. This variable takes care of special
+@@ -1391,8 +1377,6 @@
+ libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
+ : We probably want to search /usr/shlib before most other libraries.
+ : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
+-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
+-glibpth="/usr/shlib $glibpth"
+ : Do not use vfork unless overridden by a hint file.
+ usevfork=false
+ 
+@@ -2446,7 +2430,6 @@
+ zip
+ "
+ pth=`echo $PATH | sed -e "s/$p_/ /g"`
+-pth="$pth $sysroot/lib $sysroot/usr/lib"
+ for file in $loclist; do
+ 	eval xxx=\$$file
+ 	case "$xxx" in
+@@ -4936,7 +4919,7 @@
+ : Set private lib path
+ case "$plibpth" in
+ '') if ./mips; then
+-	plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
++	plibpth="$incpath/usr/lib"
+     fi;;
+ esac
+ case "$libpth" in
+@@ -8600,13 +8583,8 @@
+ echo " "
+ case "$sysman" in
+ '')
+-	syspath='/usr/share/man/man1 /usr/man/man1'
+-	syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
+-	syspath="$syspath /usr/man/u_man/man1"
+-	syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
+-	syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
+-	syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
+-	sysman=`./loc . /usr/man/man1 $syspath`
++	syspath=''
++	sysman=''
+ 	;;
+ esac
+ if $test -d "$sysman"; then
+@@ -19900,9 +19878,10 @@
+ case "$full_ar" in
+ '') full_ar=$ar ;;
+ esac
++full_ar=ar
+ 
+ : Store the full pathname to the sed program for use in the C program
+-full_sed=$sed
++full_sed=sed
+ 
+ : see what type gids are declared as in the kernel
+ echo " "
+Only in perl-5.20.0/: Configure.orig
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL
+--- perl-5.20.0-orig/ext/Errno/Errno_pm.PL	2014-05-26 15:34:20.000000000 +0200
++++ perl-5.20.0/ext/Errno/Errno_pm.PL	2014-06-25 10:31:24.317970047 +0200
+@@ -126,11 +126,7 @@
+ 	if ($dep =~ /(\S+errno\.h)/) {
+ 	     $file{$1} = 1;
+ 	}
+-    } elsif ($^O eq 'linux' &&
+-	      $Config{gccversion} ne '' && 
+-	      $Config{gccversion} !~ /intel/i
+-	      # might be using, say, Intel's icc
+-	     ) {
++    } elsif (0) {
+     # When cross-compiling we may store a path for gcc's "sysroot" option:
+     my $sysroot = $Config{sysroot} || '';
+ 	# Some Linuxes have weird errno.hs which generate
+Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh
+--- perl-5.20.0-orig/hints/freebsd.sh	2014-01-31 22:55:51.000000000 +0100
++++ perl-5.20.0/hints/freebsd.sh	2014-06-25 10:25:53.263964680 +0200
+@@ -119,21 +119,21 @@
+         objformat=`/usr/bin/objformat`
+         if [ x$objformat = xaout ]; then
+             if [ -e /usr/lib/aout ]; then
+-                libpth="/usr/lib/aout /usr/local/lib /usr/lib"
+-                glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
++                libpth=""
++                glibpth=""
+             fi
+             lddlflags='-Bshareable'
+         else
+-            libpth="/usr/lib /usr/local/lib"
+-            glibpth="/usr/lib /usr/local/lib"
++            libpth=""
++            glibpth=""
+             ldflags="-Wl,-E "
+             lddlflags="-shared "
+         fi
+         cccdlflags='-DPIC -fPIC'
+         ;;
+ *)
+-       libpth="/usr/lib /usr/local/lib"
+-       glibpth="/usr/lib /usr/local/lib"
++       libpth=""
++       glibpth=""
+        ldflags="-Wl,-E "
+         lddlflags="-shared "
+         cccdlflags='-DPIC -fPIC'
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh
+--- perl-5.20.0-orig/hints/linux.sh	2014-05-26 15:34:20.000000000 +0200
++++ perl-5.20.0/hints/linux.sh	2014-06-25 10:33:47.354883843 +0200
+@@ -150,25 +150,6 @@
+     ;;
+ esac
+ 
+-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+-# (such as -lm) in /lib or /usr/lib.  So we have to ask gcc to tell us
+-# where to look.  We don't want gcc's own libraries, however, so we
+-# filter those out.
+-# This could be conditional on Unbuntu, but other distributions may
+-# follow suit, and this scheme seems to work even on rather old gcc's.
+-# This unconditionally uses gcc because even if the user is using another
+-# compiler, we still need to find the math library and friends, and I don't
+-# know how other compilers will cope with that situation.
+-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
+-# we don't want its libraries. So we try to prefer the system gcc
+-# Still, as an escape hatch, allow Configure command line overrides to
+-# plibpth to bypass this check.
+-if [ -x /usr/bin/gcc ] ; then
+-    gcc=/usr/bin/gcc
+-else
+-    gcc=gcc
+-fi
+-
+ case "$plibpth" in
+ '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
+ 	cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
+@@ -178,32 +159,6 @@
+     ;;
+ esac
+ 
+-case "$libc" in
+-'')
+-# If you have glibc, then report the version for ./myconfig bug reporting.
+-# (Configure doesn't need to know the specific version since it just uses
+-# gcc to load the library for all tests.)
+-# We don't use __GLIBC__ and  __GLIBC_MINOR__ because they
+-# are insufficiently precise to distinguish things like
+-# libc-2.0.6 and libc-2.0.7.
+-    for p in $plibpth
+-    do
+-        for trylib in libc.so.6 libc.so
+-        do
+-            if $test -e $p/$trylib; then
+-                libc=`ls -l $p/$trylib | awk '{print $NF}'`
+-                if $test "X$libc" != X; then
+-                    break
+-                fi
+-            fi
+-        done
+-        if $test "X$libc" != X; then
+-            break
+-        fi
+-    done
+-    ;;
+-esac
+-
+ # Are we using ELF?  Thanks to Kenneth Albanowski <kjahds@kjahds.com>
+ # for this test.
+ cat >try.c <<'EOM'
+@@ -367,33 +322,6 @@
+ 	;;
+ esac
+ 
+-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
+-# true libraries. The scripts cause binding against static
+-# version of -lgdbm which is a bad idea. So if we have 'nm'
+-# make sure it can read the file
+-# NI-S 2003/08/07
+-case "$nm" in
+-    '') ;;
+-    *)
+-    for p in $plibpth
+-    do
+-        if $test -r $p/libndbm.so; then
+-            if $nm $p/libndbm.so >/dev/null 2>&1 ; then
+-                echo 'Your shared -lndbm seems to be a real library.'
+-                _libndbm_real=1
+-                break
+-            fi
+-        fi
+-    done
+-    if $test "X$_libndbm_real" = X; then
+-        echo 'Your shared -lndbm is not a real library.'
+-        set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
+-        shift
+-        libswanted="$*"
+-    fi
+-    ;;
+-esac
+-
+ # Linux on Synology.
+ if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
+     # Tested on Synology DS213 and DS413
diff --git a/pkgs/development/interpreters/perl/5.20/setup-hook.sh b/pkgs/development/interpreters/perl/5.20/setup-hook.sh
new file mode 100644
index 00000000000..6a144a7f780
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.20/setup-hook.sh
@@ -0,0 +1,5 @@
+addPerlLibPath () {
+    addToSearchPath PERL5LIB $1/lib/perl5/site_perl
+}
+
+envHooks=(${envHooks[@]} addPerlLibPath)
diff --git a/pkgs/development/interpreters/php-xdebug/default.nix b/pkgs/development/interpreters/php-xdebug/default.nix
deleted file mode 100644
index 99c5ad663af..00000000000
--- a/pkgs/development/interpreters/php-xdebug/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, php, autoconf, automake }:
-
-stdenv.mkDerivation rec {
-  version = "2.2.3";
-  name = "php-xdebug-${version}";
-
-  src = fetchurl {
-    url = "http://xdebug.org/files/xdebug-2.2.3.tgz";
-    sha256 = "076px4ax3qcqr3mmhi9jjkfhn7pcymrpda4hzy6kgn3flhnqfldk";
-  };
-
-  buildInputs = [ php autoconf automake ];
-
-  configurePhase = ''
-    phpize
-    ./configure --prefix=$out
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # looks for this file for some reason -- isn't needed
-    touch unix.h
-  '';
-
-  buildPhase = ''
-    make && make test
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib/xdebug
-    cp modules/xdebug.so $out/lib
-    cp LICENSE $out/lib/xdebug
-  '';
-
-  meta = {
-    description = "PHP debugger and profiler extension";
-    homepage = http://xdebug.org/;
-    license = "xdebug"; # based on PHP-3
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/interpreters/php/5.3-freetype-dirs.patch b/pkgs/development/interpreters/php/5.3-freetype-dirs.patch
new file mode 100644
index 00000000000..3b78f9b309b
--- /dev/null
+++ b/pkgs/development/interpreters/php/5.3-freetype-dirs.patch
@@ -0,0 +1,64 @@
+From a0955f351c7eb1022da7ae36970ffef3b00c8aff Mon Sep 17 00:00:00 2001
+From: Adam Harvey <aharvey@php.net>
+Date: Sat, 7 Dec 2013 19:39:40 -0800
+Subject: [PATCH] Switch to using freetype-config for freetype detection.
+
+This fixes GD compilation against libfreetype 2.5.1 and later after they made
+the rather interesting decision to change their include directory layout in a
+point release.
+
+The original suggestion in the bug was to use pkg-config, but my inclination is
+to use freetype-config instead: we should be able to get the same configuration
+information without actually needing pkg-config installed, since pkg-config is
+by no means guaranteed to exist on many Unices and distros, whereas
+freetype-config should always be present if a libfreetype build environment is
+installed. Let's try it out and see what happens.
+
+Fixes bug #64405 (Use freetype-config for determining freetype2 dir(s)).
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index 0e35ece..732e14c 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -193,30 +193,25 @@ AC_DEFUN([PHP_GD_FREETYPE2],[
+   if test "$PHP_FREETYPE_DIR" != "no"; then
+ 
+     for i in $PHP_FREETYPE_DIR /usr/local /usr; do
+-      if test -f "$i/include/freetype2/freetype/freetype.h"; then
++      if test -f "$i/bin/freetype-config"; then
+         FREETYPE2_DIR=$i
+-        FREETYPE2_INC_DIR=$i/include/freetype2
++        FREETYPE2_CONFIG="$i/bin/freetype-config"
+         break
+       fi
+     done
+ 
+     if test -z "$FREETYPE2_DIR"; then
+-      AC_MSG_ERROR([freetype.h not found.])
++      AC_MSG_ERROR([freetype-config not found.])
+     fi
+ 
+-    PHP_CHECK_LIBRARY(freetype, FT_New_Face,
+-    [
+-      PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD)
+-      PHP_ADD_INCLUDE($FREETYPE2_DIR/include)
+-      PHP_ADD_INCLUDE($FREETYPE2_INC_DIR)
+-      AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
+-      AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
+-      AC_DEFINE(ENABLE_GD_TTF,1,[ ])
+-    ],[
+-      AC_MSG_ERROR([Problem with freetype.(a|so). Please check config.log for more information.])
+-    ],[
+-      -L$FREETYPE2_DIR/$PHP_LIBDIR
+-    ])
++    FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
++    FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
++
++    PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
++    PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
++    AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
++    AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
++    AC_DEFINE(ENABLE_GD_TTF,1,[ ])
+   else
+     AC_MSG_RESULT([If configure fails try --with-freetype-dir=<DIR>])
+   fi
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index caa673b31a9..ed5feeacf61 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.27";
+  version = "5.3.28";
 
   name = "php-${version}";
 
@@ -104,7 +104,6 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       gd = {
         configureFlags = [
           "--with-gd=${gd}"
-          "--with-freetype-dir=${freetype}"
           "--with-png-dir=${libpng}"
           "--with-jpeg-dir=${libjpeg}"
         ];
@@ -172,6 +171,10 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       ftp = {
         configureFlags = ["--enable-ftp"];
       };
+
+      fpm = {
+        configureFlags = ["--enable-fpm"];
+      };
     };
 
   cfg = {
@@ -181,6 +184,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     curlSupport = config.php.curl or true;
     exifSupport = config.php.exif or true;
     ftpSupport = config.php.ftp or true;
+    fpmSupport = config.php.fpm or false;
     gdSupport = config.php.gd or true;
     gettextSupport = config.php.gettext or true;
     imapSupport = config.php.imap or false;
@@ -223,8 +227,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
   '' );
 
   src = fetchurl {
-    url = "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "11xj6v65m6l2lq2s2j5pq5l0iwjsnxmv1nad9hja50ivc8fb4bg1";
+    url = "http://www.php.net/distributions/php-${version}.tar.bz2";
+    sha256 = "04w53nn6qacpkd1x381mzd41kqh6k8kjnbyg44yvnkqwcl69db0c";
     name = "php-${version}.tar.bz2";
   };
 
@@ -236,6 +240,6 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     platforms   = stdenv.lib.platforms.unix;
   };
 
-  patches = [./fix.patch];
+  patches = [ ./fix.patch ./5.3-freetype-dirs.patch ];
 
 })
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index 3edf25b0cd9..bc5320ff77c 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, openldap, cyrus_sasl, libmhash }:
+, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds }:
 
 let
   libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
@@ -9,7 +9,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.4.20";
+  version = "5.4.31";
 
   name = "php-${version}";
 
@@ -167,6 +167,15 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
         configureFlags = ["--enable-ftp"];
       };
 
+      fpm = {
+        configureFlags = ["--enable-fpm"];
+      };
+
+      mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+        configureFlags = ["--with-mssql=${freetds}"];
+        buildInputs = [freetds];
+      };
+
       /*
          php is build within this derivation in order to add the xdebug lines to the php.ini.
          So both Apache and command line php both use xdebug without having to configure anything.
@@ -208,6 +217,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     bz2Support = config.php.bz2 or false;
     zipSupport = config.php.zip or true;
     ftpSupport = config.php.ftp or true;
+    fpmSupport = config.php.fpm or true;
+    mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
   };
 
   configurePhase = ''
@@ -231,12 +242,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
   '';
 
   src = fetchurl {
-    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 = "1qarcxj46rzkmql3w2dln0hxzs349ph31fxcslizxch1ig7l43nd";
-    name = "php-${version}.tar.bz2";
+    url = "http://www.php.net/distributions/php-${version}.tar.bz2";
+    sha256 = "0kci0yir923fc7dv7j9qrc10pj05v82jnxjxjbgrj7gx64a4k3jy";
   };
 
   meta = {
diff --git a/pkgs/development/interpreters/pypy/2.1/default.nix b/pkgs/development/interpreters/pypy/2.1/default.nix
deleted file mode 100644
index f80a1dc7242..00000000000
--- a/pkgs/development/interpreters/pypy/2.1/default.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
-, sqlite, openssl, ncurses, pythonFull, expat }:
-
-assert zlibSupport -> zlib != null;
-
-let
-
-  majorVersion = "2.1";
-  version = "${majorVersion}";
-  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 = "05vz7ya6jh5pw5yl607cf1rvdhwxj5d4ip0vpgb1gc9rjxn0dcri";
-    };
-
-    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']"
-    '';
-
-    setupHook = ./setup-hook.sh;
-
-    doCheck = true;
-    checkPhase = ''
-       export TERMINFO="${ncurses}/share/terminfo/";
-       export TERM="xterm";
-       export HOME="$TMPDIR";
-       # disable shutils because it assumes gid 0 exists
-       # disable socket because it has two actual network tests that fail
-      ./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/pypy/2.1/setup-hook.sh b/pkgs/development/interpreters/pypy/2.1/setup-hook.sh
deleted file mode 100644
index 87874f0370b..00000000000
--- a/pkgs/development/interpreters/pypy/2.1/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.1/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/pypy2.1/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks=(${envHooks[@]} addPythonPath)
diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix
new file mode 100644
index 00000000000..d67f1c2a821
--- /dev/null
+++ b/pkgs/development/interpreters/pypy/2.3/default.nix
@@ -0,0 +1,97 @@
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
+, sqlite, openssl, ncurses, pythonFull, expat }:
+
+assert zlibSupport -> zlib != null;
+
+let
+
+  majorVersion = "2.3";
+  version = "${majorVersion}.1";
+  pythonVersion = "2.7";
+  libPrefix = "pypy${majorVersion}";
+
+  pypy = stdenv.mkDerivation rec {
+    name = "pypy-${version}";
+
+    inherit majorVersion version;
+
+    src = fetchurl {
+      url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
+      sha256 = "0fg4l48c7n59n5j3b1dgcsr927xzylkfny4a6pnk6z0pq2bhvl9z";
+    };
+
+    buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ]
+      ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc
+      ++ stdenv.lib.optional zlibSupport zlib;
+
+    C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+    LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+    LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") 
+      (stdenv.lib.filter (x : x.outPath != stdenv.gcc.libc.outPath or "") buildInputs));
+
+    preConfigure = ''
+      substituteInPlace Makefile \
+        --replace "-Ojit" "-Ojit --batch" \
+        --replace "pypy/goal/targetpypystandalone.py" "pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing"
+
+      # we are using cpython and not pypy to do translation
+      substituteInPlace rpython/bin/rpython \
+        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
+      substituteInPlace pypy/goal/targetpypystandalone.py \
+        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
+
+      # 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']"
+    '';
+
+    setupHook = ./setup-hook.sh;
+
+    doCheck = true;
+    checkPhase = ''
+       export TERMINFO="${ncurses}/share/terminfo/";
+       export TERM="xterm";
+       export HOME="$TMPDIR";
+       # disable shutils because it assumes gid 0 exists
+       # disable socket because it has two actual network tests that fail
+       # disable test_mhlib because it fails for unknown reason
+       # disable test_multiprocessing due to transient errors
+       # disable sqlite3 due to https://bugs.pypy.org/issue1740
+       # disable test_os because test_urandom_failure fails
+      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python
+    '';
+
+    installPhase = ''
+       mkdir -p $out/{bin,include,lib,pypy-c}
+
+       cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
+       ln -s $out/pypy-c/pypy-c $out/bin/pypy
+       chmod +x $out/bin/pypy
+
+       # other packages expect to find stuff according to libPrefix
+       ln -s $out/pypy-c/include $out/include/${libPrefix}
+       ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
+
+       # 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.linux;
+      maintainers = with maintainers; [ iElectric ];
+    };
+  };
+
+in pypy
diff --git a/pkgs/development/interpreters/pypy/2.3/setup-hook.sh b/pkgs/development/interpreters/pypy/2.3/setup-hook.sh
new file mode 100644
index 00000000000..67c71bf0081
--- /dev/null
+++ b/pkgs/development/interpreters/pypy/2.3/setup-hook.sh
@@ -0,0 +1,15 @@
+addPythonPath() {
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.3/site-packages
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/lib/pypy2.3/site-packages"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks=(${envHooks[@]} addPythonPath)
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 6192c9e11e7..64e21b75569 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, sqlite, tcl, tk, x11, openssl, readline, db4, ncurses, gdbm
+, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm
 }:
 
 assert zlibSupport -> zlib != null;
@@ -9,15 +9,14 @@ with stdenv.lib;
 let
 
   majorVersion = "2.6";
-  version = "${majorVersion}.8";
+  version = "${majorVersion}.9";
 
-  # http://www.python.org/download/releases/2.6.8/
-  # md5 taken from webpage, python 2.6 will receive security fixes until Oct 2013
+  # python 2.6 will receive security fixes until Oct 2013
   src = fetchurl {
-    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    md5 = "c6e0420a21d8b23dee8b0195c9b9a125";
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
+    sha256 = "0hbfs2691b60c7arbysbzr0w9528d5pl8a4x7mq5psh6a2cvprya";
   };
-  
+
   patches =
     [ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
       ./search-path.patch
@@ -31,21 +30,21 @@ let
 
   buildInputs =
     optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [ bzip2 ]
+    [ bzip2 openssl ]
     ++ optional zlibSupport zlib;
 
-    
+
   # Build the basic Python interpreter without modules that have
   # external dependencies.
   python = stdenv.mkDerivation {
     name = "python-${version}";
-    
+
     inherit majorVersion version src patches buildInputs;
 
     C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
     LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
 
-    configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
+    configureFlags = "--enable-shared --with-threads --enable-unicode";
 
     preConfigure =
       ''
@@ -72,10 +71,13 @@ let
         ln -s $out/share/man/man1/{python2.6.1,python.1}
       '';
 
-    passthru = {
+    passthru = rec {
       inherit zlibSupport;
+      isPy2 = true;
+      isPy26 = true;
       libPrefix = "python${majorVersion}";
-      executable = "python2.6";
+      executable = libPrefix;
+      sitePackages = "lib/${libPrefix}/site-packages";
     };
 
     enableParallelBuilding = true;
@@ -146,7 +148,7 @@ let
 
     bsddb = buildInternalPythonModule {
       moduleName = "bsddb";
-      deps = [ db4 ];
+      deps = [ db ];
     };
 
     crypt = buildInternalPythonModule {
@@ -176,10 +178,7 @@ let
       deps = [ sqlite ];
     };
 
-    ssl = buildInternalPythonModule {
-      moduleName = "ssl";
-      deps = [ openssl ];
-    };
+    ssl = null;
 
     tkinter = buildInternalPythonModule {
       moduleName = "tkinter";
@@ -193,5 +192,5 @@ let
     };
 
   };
-  
+
 in python // { inherit modules; }
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index 617be4f29f1..c19430862c2 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, sqlite, tcl, tk, x11, openssl, readline, db4, ncurses, gdbm, libX11 }:
+, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11 }:
 
 assert zlibSupport -> zlib != null;
 
@@ -8,11 +8,11 @@ with stdenv.lib;
 let
 
   majorVersion = "2.7";
-  version = "${majorVersion}.5";
+  version = "${majorVersion}.8";
 
   src = fetchurl {
-    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    sha256 = "0nc091f19sllibvxm6n3qw5pflcphkwwxmz43q26lqafhra7airv";
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
+    sha256 = "0nh7d3dp75f1aj0pamn4hla8s0l7nbaq4a38brry453xrfh11ppd";
   };
 
   patches =
@@ -56,10 +56,11 @@ let
 
     inherit majorVersion version src patches postPatch buildInputs;
 
+    LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
     C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
     LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
 
-    configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
+    configureFlags = "--enable-shared --with-threads --enable-unicode";
 
     preConfigure = "${ensurePurity}" + optionalString stdenv.isCygwin
       ''
@@ -80,12 +81,17 @@ let
         ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb
         ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion}
         ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
+
+        paxmark E $out/bin/python${majorVersion}
       '';
 
-    passthru = {
+    passthru = rec {
       inherit zlibSupport;
+      isPy2 = true;
+      isPy27 = true;
       libPrefix = "python${majorVersion}";
-      executable = "python2.7";
+      executable = libPrefix;
+      sitePackages = "lib/${libPrefix}/site-packages";
     };
 
     enableParallelBuilding = true;
@@ -156,7 +162,7 @@ let
 
     bsddb = buildInternalPythonModule {
       moduleName = "bsddb";
-      deps = [ db4 ];
+      deps = [ db ];
     };
 
     curses = buildInternalPythonModule {
diff --git a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch
new file mode 100644
index 00000000000..c69efd17f96
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch
@@ -0,0 +1,57 @@
+# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly.
+# It added the following line to NEWS:
+# - Issue #20246: Fix buffer overflow in socket.recvfrom_into.
+
+
+# HG changeset patch
+# User Benjamin Peterson <benjamin@python.org>
+# Date 1389671978 18000
+# Node ID 9c56217e5c793685eeaf0ee224848c402bdf1e4c
+# Parent  2b5cd6d4d149dea6c6941b7e07ada248b29fc9f6
+complain when nbytes > buflen to fix possible buffer overflow (closes #20246)
+
+diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
+--- a/Lib/test/test_socket.py
++++ b/Lib/test/test_socket.py
+@@ -1968,6 +1968,14 @@ class BufferIOTest(SocketConnectedTest):
+ 
+     _testRecvFromIntoMemoryview = _testRecvFromIntoArray
+ 
++    def testRecvFromIntoSmallBuffer(self):
++        # See issue #20246.
++        buf = bytearray(8)
++        self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024)
++
++    def _testRecvFromIntoSmallBuffer(self):
++        self.serv_conn.send(MSG*2048)
++
+ 
+ TIPC_STYPE = 2000
+ TIPC_LOWER = 200
+diff --git a/Misc/ACKS b/Misc/ACKS
+--- a/Misc/ACKS
++++ b/Misc/ACKS
+@@ -1020,6 +1020,7 @@ Eric V. Smith
+ Christopher Smith
+ Gregory P. Smith
+ Roy Smith
++Ryan Smith-Roberts
+ Rafal Smotrzyk
+ Dirk Soede
+ Paul Sokolovsky
+diff --git a/Misc/NEWS b/Misc/NEWS
+--- a/Modules/socketmodule.c
++++ b/Modules/socketmodule.c
+@@ -2598,6 +2598,11 @@ sock_recvfrom_into(PySocketSockObject *s
+     if (recvlen == 0) {
+         /* If nbytes was not specified, use the buffer's length */
+         recvlen = buflen;
++    } else if (recvlen > buflen) {
++        PyBuffer_Release(&pbuf);
++        PyErr_SetString(PyExc_ValueError,
++                        "nbytes is greater than the length of the buffer");
++        return NULL;
+     }
+ 
+     readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
+
diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix
index e09602e7381..489d0509c1a 100644
--- a/pkgs/development/interpreters/python/3.2/default.nix
+++ b/pkgs/development/interpreters/python/3.2/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , bzip2
-, db4
+, db
 , gdbm
 , libX11, xproto
 , ncurses
@@ -20,7 +20,7 @@ let
   version = "${majorVersion}.5";
 
   buildInputs = filter (p: p != null) [
-    zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto
+    zlib bzip2 gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
   ];
 in
 stdenv.mkDerivation {
@@ -32,6 +32,12 @@ stdenv.mkDerivation {
     sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v";
   };
 
+  patches =
+    [
+      # See http://bugs.python.org/issue20246
+      ./CVE-2014-1912.patch
+    ];
+
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   preConfigure = ''
@@ -43,7 +49,7 @@ stdenv.mkDerivation {
     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"}"
+                          LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}"
                         )
   '';
 
@@ -54,16 +60,19 @@ stdenv.mkDerivation {
     ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
   '';
 
-  passthru = {
+  passthru = rec {
     zlibSupport = zlib != null;
     sqliteSupport = sqlite != null;
-    db4Support = db4 != null;
+    dbSupport = db != 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;
+    isPy3 = true;
+    isPy32 = true;
+    is_py3k = true;  # deprecated
+    sitePackages = "lib/${libPrefix}/site-packages";
   };
 
   enableParallelBuilding = true;
@@ -82,6 +91,6 @@ stdenv.mkDerivation {
     '';
     license = stdenv.lib.licenses.psfl;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+    maintainers = with stdenv.lib.maintainers; [ simons chaoflow cstrahan ];
   };
 }
diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix
index 509249b7f24..fcc03380349 100644
--- a/pkgs/development/interpreters/python/3.3/default.nix
+++ b/pkgs/development/interpreters/python/3.3/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchurl
 , bzip2
-, db4
+, db
 , gdbm
 , libX11, xproto
+, lzma
 , ncurses
 , openssl
 , readline
@@ -17,10 +18,10 @@ with stdenv.lib;
 
 let
   majorVersion = "3.3";
-  version = "${majorVersion}.2";
+  version = "${majorVersion}.5";
 
   buildInputs = filter (p: p != null) [
-    zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto
+    zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
   ];
 in
 stdenv.mkDerivation {
@@ -28,8 +29,8 @@ stdenv.mkDerivation {
   inherit majorVersion version;
 
   src = fetchurl {
-    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    sha256 = "16myvina7nakyyg7r5gnjyydk8bzar988vmxsw2k485w5gz04wpp";
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
+    sha256 = "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
@@ -43,7 +44,7 @@ stdenv.mkDerivation {
     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"}"
+                          LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}"
                         )
   '';
 
@@ -52,25 +53,30 @@ stdenv.mkDerivation {
   postInstall = ''
     rm -rf "$out/lib/python${majorVersion}/test"
     ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
+
+    paxmark E $out/bin/python${majorVersion}
   '';
 
-  passthru = {
+  passthru = rec {
     zlibSupport = zlib != null;
     sqliteSupport = sqlite != null;
-    db4Support = db4 != null;
+    dbSupport = db != null;
     readlineSupport = readline != null;
     opensslSupport = openssl != null;
     tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
     libPrefix = "python${majorVersion}";
     executable = "python3.3m";
-    is_py3k = true;
+    isPy3 = true;
+    isPy33 = true;
+    is_py3k = true;  # deprecated
+    sitePackages = "lib/${libPrefix}/site-packages";
   };
 
   enableParallelBuilding = true;
 
   meta = {
-    homepage = "http://python.org";
-    description = "a high-level dynamically-typed programming language";
+    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
@@ -81,7 +87,7 @@ stdenv.mkDerivation {
       high level dynamic data types.
     '';
     license = stdenv.lib.licenses.psfl;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    maintainers = with stdenv.lib.maintainers; [ simons chaoflow cstrahan ];
   };
 }
diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix
new file mode 100644
index 00000000000..3477cedf4b7
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.4/default.nix
@@ -0,0 +1,94 @@
+{ stdenv, fetchurl
+, bzip2
+, db
+, gdbm
+, libX11, xproto
+, lzma
+, ncurses
+, openssl
+, readline
+, sqlite
+, tcl, tk
+, zlib
+}:
+
+assert readline != null -> ncurses != null;
+
+with stdenv.lib;
+
+let
+  majorVersion = "3.4";
+  version = "${majorVersion}.1";
+  fullVersion = "${version}";
+
+  buildInputs = filter (p: p != null) [
+    zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
+  ];
+in
+stdenv.mkDerivation {
+  name = "python3-${fullVersion}";
+  inherit majorVersion version;
+
+  src = fetchurl {
+    url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
+    sha256 = "1i7dgbzyvj24i6gfhb5q2zwr9nn1ni6w1ig1rcgh96a321is35f5";
+  };
+
+  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="${optionalString (!stdenv.isDarwin) "-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}"
+
+    paxmark E $out/bin/python${majorVersion}
+  '';
+
+  passthru = rec {
+    zlibSupport = zlib != null;
+    sqliteSupport = sqlite != null;
+    dbSupport = db != null;
+    readlineSupport = readline != null;
+    opensslSupport = openssl != null;
+    tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
+    libPrefix = "python${majorVersion}";
+    executable = "python3.4m";
+    isPy3 = true;
+    isPy34 = true;
+    is_py3k = true;  # deprecated
+    sitePackages = "lib/${libPrefix}/site-packages";
+  };
+
+  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 = with stdenv.lib.platforms; linux ++ darwin;
+    maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric cstrahan ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/3.4/setup-hook.sh b/pkgs/development/interpreters/python/3.4/setup-hook.sh
new file mode 100644
index 00000000000..ae71b4147ab
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.4/setup-hook.sh
@@ -0,0 +1,15 @@
+addPythonPath() {
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.4/site-packages
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/lib/python3.4/site-packages"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks=(${envHooks[@]} addPythonPath)
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
index 8d783a8c11e..040dd7531a2 100644
--- a/pkgs/development/interpreters/python/python-linkme-wrapper.nix
+++ b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
@@ -10,4 +10,6 @@ stdenv.mkDerivation {
     cat ${./python-linkme-wrapper.sh} >  $out/bin/.python-linkme-wrapper
     chmod +x $out/bin/.python-linkme-wrapper
   '';
+
+  preferLocalBuild = true;
 }
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 1699690749f..ccfbcfcdd42 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,25 +1,29 @@
-{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [] }:
+{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
+, stdLibs ? stdenv.lib.attrValues python.modules, ignoreCollisions ? false
+}:
 
 # Create a python executable that knows about additional packages.
 
 (buildEnv {
   name = "python-${python.version}-wrapper";
-  paths = extraLibs ++ [ python makeWrapper recursivePthLoader ];
-  ignoreCollisions = false;
+  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ];
+
+  inherit ignoreCollisions;
 
   postBuild = ''
     . "${makeWrapper}/nix-support/setup-hook"
+
     if [ -L "$out/bin" ]; then
         unlink "$out/bin"
     fi
     mkdir -p "$out/bin"
+
     cd "${python}/bin"
     for prg in *; do
-      echo "$prg --> $out/bin/$prg"
       rm -f "$out/bin/$prg"
       makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
     done
-  '';
+  '' + postBuild;
 }) // {
   inherit python;
   inherit (python) meta;
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index f45c96d2805..469ef118310 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, cairo, file, pango, glib, gtk
 , which, libtool, makeWrapper, libjpeg, libpng
-, fontconfig, liberation_ttf, sqlite } :
+, fontconfig, liberation_ttf, sqlite, openssl } :
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "5.3.6";
+  version = "6.0.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz";
-    sha256 = "12pvgidaym1rwyyi69bd2gfmfwi1y0lf8xgih7a8r20z4g0zzq3z";
+    url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
+    sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d";
   };
 
   # Various racket executables do run-time searches for these.
-  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib";
+  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib:${openssl}/lib";
 
   buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf sqlite ];
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf
     echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf
     echo "</fontconfig>" >> chroot-fontconfig/fonts.conf
-   
+
     export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf
 
     cd src
@@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
 
+  NIX_LDFLAGS = "-lgcc_s";
+
   postInstall = ''
     for p in $(ls $out/bin/) ; do
       wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ;
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
new file mode 100644
index 00000000000..e788e1ad13d
--- /dev/null
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, perl, jdk, icu, zlib, gmp, readline }:
+
+stdenv.mkDerivation rec {
+  name = "rakudo-star-${version}";
+  version = "2014.04";
+
+  src = fetchurl {
+    url    = "http://rakudo.org/downloads/star/${name}.tar.gz";
+    sha256 = "0spdrxc2kiidpgni1vl71brgs4d76h8029w5jxvah3yvjcqixz7l";
+  };
+
+  buildInputs = [ icu zlib gmp readline jdk perl ];
+  configureScript = "perl ./Configure.pl";
+  configureFlags =
+    [ "--gen-moar"
+      "--gen-nqp"
+      "--gen-parrot"
+    ];
+
+  meta = {
+    description = "A Perl 6 implementation";
+    homepage    = "http://www.rakudo.org";
+    license     = stdenv.lib.licenses.artistic2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/interpreters/rascal/default.nix b/pkgs/development/interpreters/rascal/default.nix
new file mode 100644
index 00000000000..6818a996d62
--- /dev/null
+++ b/pkgs/development/interpreters/rascal/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, makeWrapper, jdk }:
+
+stdenv.mkDerivation rec {
+  name = "rascal-0.6.2";
+
+  src = fetchurl {
+    url = "http://update.rascal-mpl.org/console/${name}.jar";
+    sha256 = "1z4mwdbdc3r24haljnxng8znlfg2ihm9bf9zq8apd9a32ipcw4i6";
+  };
+
+  buildInputs = [ makeWrapper jdk ];
+
+  unpackPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      makeWrapper ${jdk}/bin/java $out/bin/rascal \
+        --add-flags "-jar ${src}" \
+    '';
+
+  meta = {
+    homepage = http://www.rascal-mpl.org/;
+    description = "Command-line REPL for the Rascal metaprogramming language";
+    license = stdenv.lib.licenses.epl10;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index f7d8b93f966..4b5f3bd8b3b 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -1,17 +1,25 @@
-{ stdenv, fetchurl, python, pkgconfig, wrapPython
+{ stdenv, fetchurl, python, cython, pkgconfig, wrapPython
 , pygame, SDL, libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib
 }:
 
 stdenv.mkDerivation {
-  name = "renpy-6.15.5";
+  name = "renpy-6.17.6";
+
+  meta = {
+    description = "Ren'Py Visual Novel Engine";
+    homepage = "http://renpy.org/";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
 
   src = fetchurl {
-    url = "http://www.renpy.org/dl/6.15.5/renpy-6.15.5-source.tar.bz2";
-    sha256 = "1k57dak1yk5iyxripqn2syhwwkh70y00pnnb9i1qf19lmiirxa60";
+    url = "http://www.renpy.org/dl/6.17.6/renpy-6.17.6-source.tar.bz2";
+    sha256 = "0rkynw9cnr1zqdinz037d9zig6grhp2ca2pyxk80vhdpjb0xrkic";
   };
 
   buildInputs = [
-    python pkgconfig wrapPython
+    python cython pkgconfig wrapPython
     SDL libpng ffmpeg freetype glew mesa fribidi zlib pygame
   ];
 
@@ -34,16 +42,8 @@ stdenv.mkDerivation {
     makeWrapper ${python}/bin/python $out/bin/renpy \
       --set PYTHONPATH $program_PYTHONPATH \
       --set RENPY_BASE $out/share/renpy \
-      --set RENPY_LESS_UPDATES 1 \
       --add-flags "-O $out/share/renpy/renpy.py"
   '';
 
   NIX_CFLAGS_COMPILE = "-I${pygame}/include/${python.libPrefix}";
-
-  meta = {
-    description = "Ren'Py Visual Novel Engine";
-    homepage = "http://renpy.org/";
-    license = "MIT";
-    platforms = stdenv.lib.platforms.linux;
-  };
 }
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index f0cfa7b0152..84492e09386 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -12,7 +12,7 @@ g: # Get dependencies from patched gems
     activesupport = g.activesupport_4_0_0;
     addressable = g.addressable_2_3_5;
     arel = g.arel_4_0_0;
-    atomic = g.atomic_1_1_13;
+    atomic = g.atomic_1_1_14;
     atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
     autotest_rails = g.autotest_rails_4_1_2;
     aws_sdk = g.aws_sdk_1_16_1;
@@ -21,9 +21,16 @@ g: # Get dependencies from patched gems
     builder = g.builder_3_2_2;
     buildr = g.buildr_1_4_12;
     bundler = g.bundler_1_3_5;
+    celluloid = g.celluloid_0_15_2;
     childprocess = g.childprocess_0_3_9;
     chronic = g.chronic_0_10_1;
+    classifier = g.classifier_1_3_3;
     coderay = g.coderay_1_0_9;
+    coffee_rails = g.coffee_rails_4_0_1;
+    coffee_script = g.coffee_script_2_2_0;
+    coffee_script_source = g.coffee_script_source_1_6_3;
+    colorator = g.colorator_0_1;
+    commander = g.commander_4_1_5;
     cucumber = g.cucumber_1_3_8;
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_1_3;
@@ -35,29 +42,40 @@ g: # Get dependencies from patched gems
     ethon = g.ethon_0_6_1;
     eventmachine = g.eventmachine_1_0_3;
     eventmachine_tail = g.eventmachine_tail_0_6_4;
+    excon = g.excon_0_25_3;
+    execjs = g.execjs_2_0_2;
     fakes3 = g.fakes3_0_1_5;
     faraday = g.faraday_0_8_8;
     faraday_middleware = g.faraday_middleware_0_9_0;
+    fast_stemmer = g.fast_stemmer_1_0_2;
     ffi = g.ffi_1_9_0;
     file_tail = g.file_tail_1_0_12;
     foreman = g.foreman_0_63_0;
+    formatador = g.formatador_0_2_4;
     gettext = g.gettext_3_0_0;
     gh = g.gh_0_12_0;
     gherkin = g.gherkin_2_12_1;
+    guard = g.guard_2_2_4;
     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_5;
     iconv = g.iconv_1_0_3;
+    jekyll = g.jekyll_1_3_0;
+    jquery_rails = g.jquery_rails_3_0_4;
     jruby_pageant = g.jruby_pageant_1_1_1;
     jsduck = g.jsduck_5_1_0;
     json = g.json_1_8_0;
     json_pure = g.json_pure_1_8_0;
     launchy = g.launchy_2_3_0;
+    liquid = g.liquid_2_5_4;
+    listen = g.listen_2_2_0;
     locale = g.locale_2_0_8;
     lockfile = g.lockfile_2_1_0;
+    lumberjack = g.lumberjack_1_0_4;
     macaddr = g.macaddr_1_6_1;
+    maruku = g.maruku_0_6_1;
     mail = g.mail_2_5_4;
     mechanize = g.mechanize_2_7_2;
     method_source = g.method_source_0_8_2;
@@ -65,7 +83,8 @@ g: # Get dependencies from patched gems
     mini_portile = g.mini_portile_0_5_1;
     minitar = g.minitar_0_5_3;
     minitest = g.minitest_4_7_5;
-    multi_json = g.multi_json_1_7_9;
+    mono_logger = g.mono_logger_1_1_0;
+    multi_json = g.multi_json_1_8_2;
     multi_test = g.multi_test_0_0_2;
     multipart_post = g.multipart_post_1_2_0;
     net_http_digest_auth = g.net_http_digest_auth_1_4;
@@ -81,21 +100,30 @@ g: # Get dependencies from patched gems
     papertrail_cli = g.papertrail_cli_0_9_3;
     parallel = g.parallel_0_7_1;
     polyglot = g.polyglot_0_3_3;
+    posix_spawn = g.posix_spawn_0_3_6;
     pry = g.pry_0_9_12_2;
     pusher_client = g.pusher_client_0_3_1;
     rack = g.rack_1_5_2;
-    rack_protection = g.rack_protection_1_5_0;
-    rack_test = g.rack_test_0_6_2;
+    rack_protection = g.rack_protection_1_5_1;
     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_inotify = g.rb_inotify_0_9_2;
+    rb_kqueue = g.rb_kqueue_0_2_0;
     rdiscount = g.rdiscount_2_1_6;
+    redcarpet = g.redcarpet_2_3_0;
+    redis = g.redis_3_0_5;
+    redis_namespace = g.redis_namespace_1_3_1;
     remote_syslog = g.remote_syslog_1_6_14;
+    resque = g.resque_1_25_1;
+    resque_web = g.resque_web_0_0_3;
+    rest_client = g.rest_client_1_6_7;
     right_aws = g.right_aws_3_1_0;
     right_http_connection = g.right_http_connection_1_4_0;
     rjb = g.rjb_1_4_8;
     rkelly_remix = g.rkelly_remix_0_0_4;
+    rmagick = g.rmagick_2_13_2;
     rmail = g.rmail_1_0_0;
     rmail_sup = g.rmail_sup_1_0_1;
     rspec = g.rspec_2_11_0;
@@ -105,13 +133,16 @@ g: # Get dependencies from patched gems
     ruby_hmac = g.ruby_hmac_0_4_0;
     rubyforge = g.rubyforge_2_0_4;
     rubyzip = g.rubyzip_0_9_9;
-    sass = g.sass_3_2_10;
+    safe_yaml = g.safe_yaml_0_9_7;
+    sass = g.sass_3_2_12;
+    sass_rails = g.sass_rails_4_0_1;
     selenium_webdriver = g.selenium_webdriver_2_35_1;
     servolux = g.servolux_0_10_0;
-    sinatra = g.sinatra_1_3_2;
+    sinatra = g.sinatra_1_4_4;
     slop = g.slop_3_4_6;
     sprockets = g.sprockets_2_10_0;
-    sprockets_rails = g.sprockets_rails_2_0_0;
+    sprockets_rails = g.sprockets_rails_2_0_1;
+    syntax = g.syntax_1_0_0;
     syslog_protocol = g.syslog_protocol_0_9_2;
     systemu = g.systemu_2_5_2;
     taskjuggler = g.taskjuggler_3_5_0;
@@ -120,19 +151,22 @@ g: # Get dependencies from patched gems
     text = g.text_1_2_3;
     thin = g.thin_1_5_1;
     thor = g.thor_0_18_1;
-    thread_safe = g.thread_safe_0_1_2;
+    thread_safe = g.thread_safe_0_1_3;
     tilt = g.tilt_1_4_1;
+    timers = g.timers_1_1_0;
     tins = g.tins_0_9_0;
     travis = g.travis_1_5_3;
     treetop = g.treetop_1_4_15;
     trollop = g.trollop_2_0;
+    twitter_bootstrap_rails = g.twitter_bootstrap_rails_2_2_8;
     typhoeus = g.typhoeus_0_6_5;
-    tzinfo = g.tzinfo_0_3_37;
+    tzinfo = g.tzinfo_0_3_38;
     unf = g.unf_0_1_2;
     unf_ext = g.unf_ext_0_0_6;
     unicode = g.unicode_0_4_4;
     uuid = g.uuid_2_3_7;
     uuidtools = g.uuidtools_2_1_4;
+    vegas = g.vegas_0_1_11;
     webrobots = g.webrobots_0_1_1;
     websocket = g.websocket_1_0_7;
     xapian_full = g.xapian_full_1_2_3;
@@ -282,6 +316,17 @@ database compatibility and query generation.'';
       requiredGems = [  ];
       sha256 = ''0sdy8fcncm6p2cba3p8v7dnbsa4z41f4cs1dd0myf4fq7axrrh0s'';
     };
+    atomic_1_1_14 = {
+      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.14'';
+      requiredGems = [  ];
+      sha256 = ''09dzi1gxr5yj273s6s6ss7l2sq4ayavpg95561kib3n4kzvxrhk4'';
+    };
     atoulme_Antwrap_0_7_4 = {
       basename = ''atoulme_Antwrap'';
       meta = {
@@ -424,6 +469,17 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''1r7zx8qfwzr3pbgrjbsml7z5qgscwyyv33x2jzhz6adqyx3r1f08'';
     };
+    celluloid_0_15_2 = {
+      basename = ''celluloid'';
+      meta = {
+        description = ''Actor-based concurrent object framework for Ruby'';
+        homepage = ''https://github.com/celluloid/celluloid'';
+        longDescription = ''Celluloid enables people to build concurrent programs out of concurrent objects just as easily as they build sequential programs out of sequential objects'';
+      };
+      name = ''celluloid-0.15.2'';
+      requiredGems = [ g.timers_1_1_0 ];
+      sha256 = ''0lpa97m7f4p5hgzaaa47y1d5c78n8pp4xd8qb0sn5llqd0klkd9b'';
+    };
     childprocess_0_3_9 = {
       basename = ''childprocess'';
       meta = {
@@ -446,6 +502,18 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk'';
     };
+    classifier_1_3_3 = {
+      basename = ''classifier'';
+      meta = {
+        description = ''A general classifier module to allow Bayesian and other types of classifications.'';
+        homepage = ''http://classifier.rufy.com/'';
+        longDescription = ''   A general classifier module to allow Bayesian and other types of classifications.
+'';
+      };
+      name = ''classifier-1.3.3'';
+      requiredGems = [ g.fast_stemmer_1_0_2 ];
+      sha256 = ''1kq1cd8fq6wvyxbjy3r6ya3d3sk3rcp1b560xlqvflpsirm47r9g'';
+    };
     chronic_0_10_1 = {
       basename = ''chronic'';
       meta = {
@@ -468,6 +536,78 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''1pbjsvd6r2daxd6aicp19fnb1j5z7fxadflsm1h0r33cy3vi7iy8'';
     };
+    coderay_1_1_0 = {
+      basename = ''coderay'';
+      meta = {
+        description = ''Fast syntax highlighting for selected languages.'';
+        homepage = ''http://coderay.rubychan.de'';
+        longDescription = ''Fast and easy syntax highlighting for selected languages, written in Ruby. Comes with RedCloth integration and LOC counter.'';
+      };
+      name = ''coderay-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s'';
+    };
+    coffee_rails_4_0_1 = {
+      basename = ''coffee_rails'';
+      meta = {
+        description = ''CoffeeScript adapter for the Rails asset pipeline.'';
+        homepage = ''https://github.com/rails/coffee-rails'';
+        longDescription = ''CoffeeScript adapter for the Rails asset pipeline.'';
+      };
+      name = ''coffee-rails-4.0.1'';
+      requiredGems = [ g.coffee_script_2_2_0 g.railties_4_0_0 ];
+      sha256 = ''12nqw61xfs43qap4bxp123q4fgj41gvxirdal95ymdd2qzr3cvig'';
+    };
+    coffee_script_2_2_0 = {
+      basename = ''coffee_script'';
+      meta = {
+        description = ''Ruby CoffeeScript Compiler'';
+        homepage = ''http://github.com/josh/ruby-coffee-script'';
+        longDescription = ''    Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.
+'';
+      };
+      name = ''coffee-script-2.2.0'';
+      requiredGems = [ g.coffee_script_source_1_6_3 g.execjs_2_0_2 ];
+      sha256 = ''133cp4znfp44wwnv12myw8s0z6qws74ilqmw88iwzkshg689zpdc'';
+    };
+    coffee_script_source_1_6_3 = {
+      basename = ''coffee_script_source'';
+      meta = {
+        description = ''The CoffeeScript Compiler'';
+        homepage = ''http://jashkenas.github.com/coffee-script/'';
+        longDescription = ''      CoffeeScript is a little language that compiles into JavaScript.
+      Underneath all of those embarrassing braces and semicolons,
+      JavaScript has always had a gorgeous object model at its heart.
+      CoffeeScript is an attempt to expose the good parts of JavaScript
+      in a simple way.
+'';
+      };
+      name = ''coffee-script-source-1.6.3'';
+      requiredGems = [  ];
+      sha256 = ''0p33h0rdj1n8xhm2d5hzqbb8br6wn4rx0gk4hyhc6rxkaxsy79b4'';
+    };
+    colorator_0_1 = {
+      basename = ''colorator'';
+      meta = {
+        description = ''String core extensions for terminal coloring.'';
+        homepage = ''https://github.com/octopress/colorator'';
+        longDescription = ''Colorize your text in the terminal.'';
+      };
+      name = ''colorator-0.1'';
+      requiredGems = [  ];
+      sha256 = ''09zp15hyd9wlbgf1kmrf4rnry8cpvh1h9fj7afarlqcy4hrfdpvs'';
+    };
+    commander_4_1_5 = {
+      basename = ''commander'';
+      meta = {
+        description = ''The complete solution for Ruby command-line executables'';
+        homepage = ''http://visionmedia.github.com/commander'';
+        longDescription = ''The complete solution for Ruby command-line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API.'';
+      };
+      name = ''commander-4.1.5'';
+      requiredGems = [ g.highline_1_6_20 ];
+      sha256 = ''040x2gjpl55g64kh5f9nby0870hnzx8cd7clxg771z0wjs7nzalc'';
+    };
     cucumber_1_3_8 = {
       basename = ''cucumber'';
       meta = {
@@ -649,6 +789,28 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.eventmachine_1_0_3 ];
       sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
     };
+    excon_0_25_3 = {
+      basename = ''excon'';
+      meta = {
+        description = ''speed, persistence, http(s)'';
+        homepage = ''https://github.com/geemus/excon'';
+        longDescription = ''EXtended http(s) CONnections'';
+      };
+      name = ''excon-0.25.3'';
+      requiredGems = [  ];
+      sha256 = ''1d552jhvrpmnzrg3di88397l07ngrz04s2al17klpam6crxqw2b2'';
+    };
+    execjs_2_0_2 = {
+      basename = ''execjs'';
+      meta = {
+        description = ''Run JavaScript code from Ruby'';
+        homepage = ''https://github.com/sstephenson/execjs'';
+        longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
+      };
+      name = ''execjs-2.0.2'';
+      requiredGems = [  ];
+      sha256 = ''167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs'';
+    };
     fakes3_0_1_5 = {
       basename = ''fakes3'';
       meta = {
@@ -691,6 +853,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.faraday_0_8_8 ];
       sha256 = ''1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2'';
     };
+    fast_stemmer_1_0_2 = {
+      basename = ''fast_stemmer'';
+      meta = {
+        description = ''Fast Porter stemmer based on a C version of algorithm'';
+        homepage = ''http://github.com/romanbsd/fast-stemmer'';
+        longDescription = ''Fast Porter stemmer based on a C version of algorithm'';
+      };
+      name = ''fast-stemmer-1.0.2'';
+      requiredGems = [  ];
+      sha256 = ''0688clyk4xxh3kdb18vi089k90mca8ji5fwaknh3da5wrzcrzanh'';
+    };
     ffi_1_9_0 = {
       basename = ''ffi'';
       meta = {
@@ -702,6 +875,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [  ];
       sha256 = ''0rnh9yyfzcpdmi8m7giyd21lgqj00afgxvgbx41hsi2ls1ghfwvy'';
     };
+    ffi_1_9_3 = {
+      basename = ''ffi'';
+      meta = {
+        description = ''Ruby FFI'';
+        homepage = ''http://wiki.github.com/ffi/ffi'';
+        longDescription = ''Ruby FFI library'';
+      };
+      name = ''ffi-1.9.3'';
+      requiredGems = [  ];
+      sha256 = ''0873h6jp3v65mll7av9bxlzp9m9l1cc66j0krg0llchwbh4pv5sp'';
+    };
     file_tail_1_0_12 = {
       basename = ''file_tail'';
       meta = {
@@ -724,6 +908,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.thor_0_18_1 g.dotenv_0_9_0 ];
       sha256 = ''0yqyjix9jm4iwyc4f3wc32vxr28rpjcw1c9ni5brs4s2a24inzlk'';
     };
+    formatador_0_2_4 = {
+      basename = ''formatador'';
+      meta = {
+        description = ''Ruby STDOUT text formatting'';
+        homepage = ''http://github.com/geemus/formatador'';
+        longDescription = ''STDOUT text formatting'';
+      };
+      name = ''formatador-0.2.4'';
+      requiredGems = [  ];
+      sha256 = ''0pgmk1h6i6m3cslnfyjqld06a4c2xbbvmngxg2axddf39xwz6f12'';
+    };
     gettext_3_0_0 = {
       basename = ''gettext'';
       meta = {
@@ -760,6 +955,17 @@ So you can use GNU gettext tools for maintaining.
       requiredGems = [ g.multi_json_1_7_9 ];
       sha256 = ''07nzchdvkkd35m9k7d9k8j72jm3imv56ccn734mxa5klv1xx2d45'';
     };
+    guard_2_2_4 = {
+      basename = ''guard'';
+      meta = {
+        description = ''Guard keeps an eye on your file modifications'';
+        homepage = ''http://guardgem.org'';
+        longDescription = ''Guard is a command line tool to easily handle events on file system modifications.'';
+      };
+      name = ''guard-2.2.4'';
+      requiredGems = [ g.thor_0_18_1 g.listen_2_2_0 g.pry_0_9_12_3 g.lumberjack_1_0_4 g.formatador_0_2_4 ];
+      sha256 = ''0z427rkcpzy82g21cgq7i5sn1vxn8hm8j4d78kj9vlaqgilcybhq'';
+    };
     highline_1_6_19 = {
       basename = ''highline'';
       meta = {
@@ -775,6 +981,21 @@ minutes of work.
       requiredGems = [  ];
       sha256 = ''0gylnz2cdaswgszgl8x2qx0c87md4246r1i0blgm3nqvgd4hlsxd'';
     };
+    highline_1_6_20 = {
+      basename = ''highline'';
+      meta = {
+        description = ''HighLine is a high-level command-line IO library.'';
+        homepage = ''http://highline.rubyforge.org'';
+        longDescription = ''A high-level IO library that provides validation, type conversion, and more for
+command-line interfaces. HighLine also includes a complete menu system that can
+crank out anything from simple list selection to complete shells with just
+minutes of work.
+'';
+      };
+      name = ''highline-1.6.20'';
+      requiredGems = [  ];
+      sha256 = ''0gk7mpw2r5lv60vr4hb0090wbnqh0fsbyrrcvxiqk7hyhxdz08iv'';
+    };
     highline_1_6_2 = {
       basename = ''highline'';
       meta = {
@@ -854,6 +1075,28 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1nhjn07h2fqivdj6xqzi2x2kzh28vigx8z3q5fv2cqn9aqmbdacl'';
     };
+    jekyll_1_3_0 = {
+      basename = ''jekyll'';
+      meta = {
+        description = ''A simple, blog aware, static site generator.'';
+        homepage = ''http://github.com/mojombo/jekyll'';
+        longDescription = ''Jekyll is a simple, blog aware, static site generator.'';
+      };
+      name = ''jekyll-1.3.0'';
+      requiredGems = [ g.liquid_2_5_4 g.classifier_1_3_3 g.listen_1_3_1 g.maruku_0_6_1 g.pygments_rb_0_5_4 g.commander_4_1_5 g.safe_yaml_0_9_7 g.colorator_0_1 g.redcarpet_2_3_0 ];
+      sha256 = ''0hq9sdyivfifba0d4d7g113jbd3jwm8jpdc9i09mv0nfhdcbc3k4'';
+    };
+    jquery_rails_3_0_4 = {
+      basename = ''jquery_rails'';
+      meta = {
+        description = ''Use jQuery with Rails 3'';
+        homepage = ''http://rubygems.org/gems/jquery-rails'';
+        longDescription = ''This gem provides jQuery and the jQuery-ujs driver for your Rails 3 application.'';
+      };
+      name = ''jquery-rails-3.0.4'';
+      requiredGems = [ g.railties_4_0_0 g.thor_0_18_1 ];
+      sha256 = ''0k13mcl9d0zxa2azml0d06y14ggk5yl2xvzsc9l2qv2cwc9xxajm'';
+    };
     jruby_pageant_1_1_1 = {
       basename = ''jruby_pageant'';
       meta = {
@@ -920,6 +1163,49 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.addressable_2_3_5 ];
       sha256 = ''0ckvs40f29ancs0ki12pqb94k380cz41b4gbjplm85ly6kd57sph'';
     };
+    launchy_2_4_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.4.0'';
+      requiredGems = [ g.addressable_2_3_5 ];
+      sha256 = ''0vxc3m4sjxyjjzw2rmsginf9nbxfyv7hhxshmn6kxkvcpjxx5di0'';
+    };
+    liquid_2_5_4 = {
+      basename = ''liquid'';
+      meta = {
+        description = ''A secure, non-evaling end user template engine with aesthetic markup.'';
+        homepage = ''http://www.liquidmarkup.org'';
+      };
+      name = ''liquid-2.5.4'';
+      requiredGems = [  ];
+      sha256 = ''0adb1fz20jwcyx1ia133426i59mrrz9iq9lpcmzq6jx0dlaa4amv'';
+    };
+    listen_1_3_1 = {
+      basename = ''listen'';
+      meta = {
+        description = ''Listen to file modifications'';
+        homepage = ''https://github.com/guard/listen'';
+        longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!'';
+      };
+      name = ''listen-1.3.1'';
+      requiredGems = [ g.rb_fsevent_0_9_3 g.rb_inotify_0_9_2 g.rb_kqueue_0_2_0 ];
+      sha256 = ''1p1rqz26ixx0fzc0hy3psq2bb3pwkv9awixv76zkaaqj1czabzbs'';
+    };
+    listen_2_2_0 = {
+      basename = ''listen'';
+      meta = {
+        description = ''Listen to file modifications'';
+        homepage = ''https://github.com/guard/listen'';
+        longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!'';
+      };
+      name = ''listen-2.2.0'';
+      requiredGems = [ g.celluloid_0_15_2 g.rb_fsevent_0_9_3 g.rb_inotify_0_9_2 ];
+      sha256 = ''1fm6cp5d4xbd5wdd0d804m3p2cc5rjrr5yzqzzh1ndzgbs94sv5c'';
+    };
     locale_2_0_8 = {
       basename = ''locale'';
       meta = {
@@ -943,6 +1229,17 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1yfpz9k0crb7q7y5bcaavf2jzbc170dj84hqz13qp75rj7bl3qhf'';
     };
+    lumberjack_1_0_4 = {
+      basename = ''lumberjack'';
+      meta = {
+        description = ''A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger.'';
+        homepage = ''http://github.com/bdurand/lumberjack'';
+        longDescription = ''A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger. Provides support for automatically rolling log files even with multiple processes writing the same log file.'';
+      };
+      name = ''lumberjack-1.0.4'';
+      requiredGems = [  ];
+      sha256 = ''1mj6m12hnmkvzl4w2yh04ak3z45pwksj6ra7v30za8snw9kg919d'';
+    };
     macaddr_1_6_1 = {
       basename = ''macaddr'';
       meta = {
@@ -965,6 +1262,20 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.mime_types_1_25 g.treetop_1_4_15 ];
       sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
     };
+    maruku_0_6_1 = {
+      basename = ''maruku'';
+      meta = {
+        description = ''Maruku is a Markdown-superset interpreter written in Ruby.'';
+        homepage = ''http://github.com/bhollis/maruku'';
+        longDescription = ''Maruku is a Markdown interpreter in Ruby.
+	It features native export to HTML and PDF (via Latex). The
+	output is really beautiful!
+	'';
+      };
+      name = ''maruku-0.6.1'';
+      requiredGems = [ g.syntax_1_0_0 ];
+      sha256 = ''01xc4l480k79jbicr0j37d9bmd4dsnrjh5hwdrh2djvy06l77ngz'';
+    };
     mechanize_2_7_2 = {
       basename = ''mechanize'';
       meta = {
@@ -1048,6 +1359,43 @@ and added by the users of MIME::Types.'';
       requiredGems = [  ];
       sha256 = ''0hd6hpl05jyx3siznk70z46bmrzwmcyrr24yfaqg6nar35zw8bgf'';
     };
+    mime_types_2_0 = {
+      basename = ''mime_types'';
+      meta = {
+        description = ''The mime-types library provides a library and registry for information about MIME content type definitions'';
+        homepage = ''http://mime-types.rubyforge.org/'';
+        longDescription = ''The mime-types library provides a library and registry for information about
+MIME content type definitions. It can be used to determine defined filename
+extensions for MIME types, or to use filename extensions to look up the likely
+MIME type definitions.
+
+MIME content types are used in MIME-compliant communications, as in e-mail or
+HTTP traffic, to indicate the type of content which is transmitted. The
+mime-types library provides the ability for detailed information about MIME
+entities (provided as an enumerable collection of MIME::Type objects) to be
+determined and used programmatically. There are many types defined by RFCs and
+vendors, so the list is long but by definition incomplete; don't hesitate to to
+add additional type definitions (see Contributing.rdoc). The primary sources
+for MIME type definitions found in mime-types is the IANA collection of
+registrations (see below for the link), RFCs, and W3C recommendations.
+
+The mime-types library uses semantic versioning. This is release 2.0; there are
+incompatible changes in the API provided by mime-types, mostly around registry
+initialization (see History.rdoc for full details), and the removal of support
+for Ruby 1.8 interpreters.
+
+mime-types (previously called MIME::Types for Ruby) was originally based on
+MIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. It is built to
+conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA
+registry}[http://www.iana.org/assignments/media-types/]
+({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
+added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]
+and added by the users of mime-types.'';
+      };
+      name = ''mime-types-2.0'';
+      requiredGems = [  ];
+      sha256 = ''1q1s22l3mm0am2f7n9qjqp8zl0smr9zlqr2ywwyfjkid2sj3prfk'';
+    };
     mini_portile_0_5_1 = {
       basename = ''mini_portile'';
       meta = {
@@ -1133,6 +1481,17 @@ extract-method refactorings still apply.'';
       requiredGems = [  ];
       sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy'';
     };
+    mono_logger_1_1_0 = {
+      basename = ''mono_logger'';
+      meta = {
+        description = ''A lock-free logger compatible with Ruby 2.0.'';
+        homepage = ''http://github.com/steveklabnik/mono_logger'';
+        longDescription = ''A lock-free logger compatible with Ruby 2.0. Ruby does not allow you to request a lock in a trap handler because that could deadlock, so Logger is not sufficient.'';
+      };
+      name = ''mono_logger-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''18yplq3xxv5crwpfwbw2sb6brqd3g51si7x9fbh9bcimg4ipzayp'';
+    };
     multi_json_1_7_9 = {
       basename = ''multi_json'';
       meta = {
@@ -1144,6 +1503,17 @@ extract-method refactorings still apply.'';
       requiredGems = [  ];
       sha256 = ''1q13ldcc8shlfisy90k19zrar87208gs3za6jmr78p11ip21picx'';
     };
+    multi_json_1_8_2 = {
+      basename = ''multi_json'';
+      meta = {
+        description = ''A common interface to multiple JSON libraries.'';
+        homepage = ''http://github.com/intridea/multi_json'';
+        longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.'';
+      };
+      name = ''multi_json-1.8.2'';
+      requiredGems = [  ];
+      sha256 = ''1ffmnwsfwdgspk86x1g98cq2ivqlgqpqngyrvs07zsnvgdimahdb'';
+    };
     multi_test_0_0_2 = {
       basename = ''multi_test'';
       meta = {
@@ -1358,6 +1728,17 @@ augments 'require' to find and load matching files.'';
       requiredGems = [  ];
       sha256 = ''082zmail2h3cxd9z1wnibhk6aj4sb1f3zzwra6kg9bp51kx2c00v'';
     };
+    posix_spawn_0_3_6 = {
+      basename = ''posix_spawn'';
+      meta = {
+        description = ''posix_spawnp(2) for ruby'';
+        homepage = ''http://github.com/rtomayko/posix-spawn'';
+        longDescription = ''posix-spawn uses posix_spawnp(2) for faster process spawning'';
+      };
+      name = ''posix-spawn-0.3.6'';
+      requiredGems = [  ];
+      sha256 = ''0f2mqka8024yz55iw8wbihvmakwqnbrdr4a1ffl3x2zi104yvb43'';
+    };
     pry_0_9_12_2 = {
       basename = ''pry'';
       meta = {
@@ -1369,6 +1750,17 @@ augments 'require' to find and load matching files.'';
       requiredGems = [ g.coderay_1_0_9 g.slop_3_4_6 g.method_source_0_8_2 ];
       sha256 = ''141slzb62zfzdhrygqjmrzh68s3vzrb4mwyipy2lhps5q4b46y9s'';
     };
+    pry_0_9_12_3 = {
+      basename = ''pry'';
+      meta = {
+        description = ''An IRB alternative and runtime developer console'';
+        homepage = ''http://pry.github.com'';
+        longDescription = ''An IRB alternative and runtime developer console'';
+      };
+      name = ''pry-0.9.12.3'';
+      requiredGems = [ g.coderay_1_1_0 g.slop_3_4_7 g.method_source_0_8_2 ];
+      sha256 = ''1dn80vnyq1l6192sg3p29d0yz6rswnsl8rn3lkf75c86a2qqxpy3'';
+    };
     pusher_client_0_3_1 = {
       basename = ''pusher_client'';
       meta = {
@@ -1380,6 +1772,17 @@ augments 'require' to find and load matching files.'';
       requiredGems = [ g.websocket_1_0_7 g.ruby_hmac_0_4_0 ];
       sha256 = ''1mxqy960iln065fypk1ww3xgv7q396fpl6v0rp7ipls6aj86j970'';
     };
+    pygments_rb_0_5_4 = {
+      basename = ''pygments_rb'';
+      meta = {
+        description = ''pygments wrapper for ruby'';
+        homepage = ''http://github.com/tmm1/pygments.rb'';
+        longDescription = ''pygments.rb exposes the pygments syntax highlighter to Ruby'';
+      };
+      name = ''pygments.rb-0.5.4'';
+      requiredGems = [ g.yajl_ruby_1_1_0 g.posix_spawn_0_3_6 ];
+      sha256 = ''0ryl0f0zp0rffaggd978cmrkzsmf83x452fcinw6p705xdk4zbvl'';
+    };
     rack_1_5_2 = {
       basename = ''rack'';
       meta = {
@@ -1409,6 +1812,17 @@ Also see http://rack.github.com/.
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''10wm67f2mp9pryg0s8qapbyxd2lcrpb8ywsbicg29cv2xprhbl4j'';
     };
+    rack_protection_1_5_1 = {
+      basename = ''rack_protection'';
+      meta = {
+        description = ''You should use protection!'';
+        homepage = ''http://github.com/rkh/rack-protection'';
+        longDescription = ''You should use protection!'';
+      };
+      name = ''rack-protection-1.5.1'';
+      requiredGems = [ g.rack_1_5_2 ];
+      sha256 = ''0qxq5ld15nljxzdcx2wmbc3chw8nb6la1ap838vf263lnjcpx3dd'';
+    };
     rack_test_0_6_2 = {
       basename = ''rack_test'';
       meta = {
@@ -1489,6 +1903,28 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1'';
     };
+    rb_inotify_0_9_2 = {
+      basename = ''rb_inotify'';
+      meta = {
+        description = ''A Ruby wrapper for Linux's inotify, using FFI'';
+        homepage = ''http://github.com/nex3/rb-inotify'';
+        longDescription = ''A Ruby wrapper for Linux's inotify, using FFI'';
+      };
+      name = ''rb-inotify-0.9.2'';
+      requiredGems = [ g.ffi_1_9_3 ];
+      sha256 = ''0752fhgfrx370b2jnhxzs8sjv2l8yrnwqj337kx9v100igd1c7iv'';
+    };
+    rb_kqueue_0_2_0 = {
+      basename = ''rb_kqueue'';
+      meta = {
+        description = ''A Ruby wrapper for BSD's kqueue, using FFI'';
+        homepage = ''http://github.com/mat813/rb-kqueue'';
+        longDescription = ''A Ruby wrapper for BSD's kqueue, using FFI'';
+      };
+      name = ''rb-kqueue-0.2.0'';
+      requiredGems = [ g.ffi_1_9_3 ];
+      sha256 = ''1f2wimhq93a1zy2fbyj7iyh7hvzmzwn3pzhkwb3npy4mj1df83n3'';
+    };
     rdiscount_2_1_6 = {
       basename = ''rdiscount'';
       meta = {
@@ -1499,6 +1935,45 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2'';
     };
+    redcarpet_2_3_0 = {
+      basename = ''redcarpet'';
+      meta = {
+        description = ''Markdown that smells nice'';
+        homepage = ''http://github.com/vmg/redcarpet'';
+        longDescription = ''A fast, safe and extensible Markdown to (X)HTML parser'';
+      };
+      name = ''redcarpet-2.3.0'';
+      requiredGems = [  ];
+      sha256 = ''1fghh7n9kz6n6bdhgix5s8lyj5sw6q44zizf4mdgz5xsgwqcr6sw'';
+    };
+    redis_3_0_5 = {
+      basename = ''redis'';
+      meta = {
+        description = ''A Ruby client library for Redis'';
+        homepage = ''https://github.com/redis/redis-rb'';
+        longDescription = ''    A Ruby client that tries to match Redis' API one-to-one, while still
+    providing an idiomatic interface. It features thread-safety,
+    client-side sharding, pipelining, and an obsession for performance.
+'';
+      };
+      name = ''redis-3.0.5'';
+      requiredGems = [  ];
+      sha256 = ''01gg3mgh3yznfhxschcka593a3ivsyw5g5vr0g5apiz4lfh6dlkn'';
+    };
+    redis_namespace_1_3_1 = {
+      basename = ''redis_namespace'';
+      meta = {
+        description = ''Namespaces Redis commands.'';
+        homepage = ''http://github.com/resque/redis-namespace'';
+        longDescription = ''Adds a Redis::Namespace class which can be used to namespace calls
+to Redis. This is useful when using a single instance of Redis with
+multiple, different applications.
+'';
+      };
+      name = ''redis-namespace-1.3.1'';
+      requiredGems = [ g.redis_3_0_5 ];
+      sha256 = ''1l6a64z09ni5pi6mbgvsph0lp14cnp180aj7mxnq2nb38sig4iw5'';
+    };
     remote_syslog_1_6_14 = {
       basename = ''remote_syslog'';
       meta = {
@@ -1510,6 +1985,53 @@ request helpers feature.'';
       requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
       sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr'';
     };
+    resque_1_25_1 = {
+      basename = ''resque'';
+      meta = {
+        description = ''Resque is a Redis-backed queueing system.'';
+        homepage = ''http://github.com/defunkt/resque'';
+        longDescription = ''    Resque is a Redis-backed Ruby library for creating background jobs,
+    placing those jobs on multiple queues, and processing them later.
+
+    Background jobs can be any Ruby class or module that responds to
+    perform. Your existing classes can easily be converted to background
+    jobs or you can create new classes specifically to do work. Or, you
+    can do both.
+
+    Resque is heavily inspired by DelayedJob (which rocks) and is
+    comprised of three parts:
+
+    * A Ruby library for creating, querying, and processing jobs
+    * A Rake task for starting a worker which processes jobs
+    * A Sinatra app for monitoring queues, jobs, and workers.
+'';
+      };
+      name = ''resque-1.25.1'';
+      requiredGems = [ g.redis_namespace_1_3_1 g.vegas_0_1_11 g.sinatra_1_4_4 g.multi_json_1_8_2 g.mono_logger_1_1_0 ];
+      sha256 = ''0p9kpj900cyb888wmpqx6ms9b0hza09glr4cvrwqwp1vqya25lpy'';
+    };
+    resque_web_0_0_3 = {
+      basename = ''resque_web'';
+      meta = {
+        description = ''Rails-based Resque web interface'';
+        homepage = ''https://github.com/resque/resque-web'';
+        longDescription = ''A Rails-based frontend to the Resque job queue system.'';
+      };
+      name = ''resque-web-0.0.3'';
+      requiredGems = [ g.resque_1_25_1 g.twitter_bootstrap_rails_2_2_8 g.jquery_rails_3_0_4 g.sass_rails_4_0_1 g.coffee_rails_4_0_1 ];
+      sha256 = ''1v4g0zrlq9n0pkhdiwxqcmis5p8hpxm475vchldk63mi1vy4fvr2'';
+    };
+    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_2_0 ];
+      sha256 = ''0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853'';
+    };
     right_aws_3_1_0 = {
       basename = ''right_aws'';
       meta = {
@@ -1614,6 +2136,17 @@ in JSDuck.
       requiredGems = [  ];
       sha256 = ''1w6yr5n3b8yd0rsba9q3zyxr0n2hbpkz4v2k1qx6j1ywvl9rc2c1'';
     };
+    rmagick_2_13_2 = {
+      basename = ''rmagick'';
+      meta = {
+        description = ''Ruby binding to ImageMagick'';
+        homepage = ''http://rubyforge.org/projects/rmagick'';
+        longDescription = ''RMagick is an interface between Ruby and ImageMagick.'';
+      };
+      name = ''rmagick-2.13.2'';
+      requiredGems = [  ];
+      sha256 = ''1fw5rs5yqi5ayh44d18gjq68chiz14byx01h33c8jvkdxz3b9wz4'';
+    };
     rmail_1_0_0 = {
       basename = ''rmail'';
       meta = {
@@ -1724,6 +2257,27 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach'
       requiredGems = [  ];
       sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2'';
     };
+    rubyzip_1_1_0 = {
+      basename = ''rubyzip'';
+      meta = {
+        description = ''rubyzip is a ruby module for reading and writing zip files'';
+        homepage = ''http://github.com/rubyzip/rubyzip'';
+      };
+      name = ''rubyzip-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''0kxpcs047fb52lz0imp6vl3hr5khqpk0jfbr2knfbp612ynzyzcl'';
+    };
+    safe_yaml_0_9_7 = {
+      basename = ''safe_yaml'';
+      meta = {
+        description = ''SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.'';
+        homepage = ''http://dtao.github.com/safe_yaml/'';
+        longDescription = ''Parse YAML safely, without that pesky arbitrary object deserialization vulnerability'';
+      };
+      name = ''safe_yaml-0.9.7'';
+      requiredGems = [  ];
+      sha256 = ''0y34vpak8gim18rq02rgd144jsvk5is4xni16wm3shbhivzqb4hk'';
+    };
     sass_3_2_10 = {
       basename = ''sass'';
       meta = {
@@ -1739,6 +2293,32 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach'
       requiredGems = [  ];
       sha256 = ''0anfff4hz8fz1wbimmp9vv4mjfl1swg7ww74j549788x41l4x283'';
     };
+    sass_3_2_12 = {
+      basename = ''sass'';
+      meta = {
+        description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
+        homepage = ''http://sass-lang.com/'';
+        longDescription = ''      Sass makes CSS fun again. Sass is an extension of CSS3, adding
+      nested rules, variables, mixins, selector inheritance, and more.
+      It's translated to well-formatted, standard CSS using the
+      command line tool or a web-framework plugin.
+'';
+      };
+      name = ''sass-3.2.12'';
+      requiredGems = [  ];
+      sha256 = ''074118ia17nx68i97mbkly2f08y57j52b2yfhdc3s02s4s5593f8'';
+    };
+    sass_rails_4_0_1 = {
+      basename = ''sass_rails'';
+      meta = {
+        description = ''Sass adapter for the Rails asset pipeline.'';
+        homepage = ''https://github.com/rails/sass-rails'';
+        longDescription = ''Sass adapter for the Rails asset pipeline.'';
+      };
+      name = ''sass-rails-4.0.1'';
+      requiredGems = [ g.sass_3_2_12 g.railties_4_0_0 g.sprockets_rails_2_0_1 ];
+      sha256 = ''01sacnipgvl7ad39zzbr6iip6jja7blxfbpjg2dnm6w8gi6smxh1'';
+    };
     selenium_webdriver_2_35_1 = {
       basename = ''selenium_webdriver'';
       meta = {
@@ -1775,6 +2355,17 @@ interpreters.'';
       requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_0 g.tilt_1_4_1 ];
       sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc'';
     };
+    sinatra_1_4_4 = {
+      basename = ''sinatra'';
+      meta = {
+        description = ''Classy web-development dressed in a DSL'';
+        homepage = ''http://www.sinatrarb.com/'';
+        longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
+      };
+      name = ''sinatra-1.4.4'';
+      requiredGems = [ g.rack_1_5_2 g.tilt_1_4_1 g.rack_protection_1_5_1 ];
+      sha256 = ''12iy0f92d3zyk4759flgcracrbzc3x6cilpgdkzhzgjrsm9aa5hs'';
+    };
     slop_3_4_6 = {
       basename = ''slop'';
       meta = {
@@ -1786,6 +2377,17 @@ interpreters.'';
       requiredGems = [  ];
       sha256 = ''0fdp3nkljjs2d5yhgjzcqi0f6xq67byfbrayg5aj7r76rsw0hmal'';
     };
+    slop_3_4_7 = {
+      basename = ''slop'';
+      meta = {
+        description = ''Simple Lightweight Option Parsing'';
+        homepage = ''http://github.com/leejarvis/slop'';
+        longDescription = ''A simple DSL for gathering options and parsing the command line'';
+      };
+      name = ''slop-3.4.7'';
+      requiredGems = [  ];
+      sha256 = ''1x3dwljqvkzj314rwn2bxgim9xvgwnfipzg5g0kwwxfn90fpv2sn'';
+    };
     sprockets_2_10_0 = {
       basename = ''sprockets'';
       meta = {
@@ -1807,6 +2409,25 @@ interpreters.'';
       requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
       sha256 = ''068w0ly7x1vciy4j6mwgsnz6a983pld4rzk1fpvfsmkdqcizb20x'';
     };
+    sprockets_rails_2_0_1 = {
+      basename = ''sprockets_rails'';
+      meta = {
+        description = ''Sprockets Rails integration'';
+        homepage = ''https://github.com/rails/sprockets-rails'';
+      };
+      name = ''sprockets-rails-2.0.1'';
+      requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
+      sha256 = ''170llk1qsvzhhslmasqk4hp5lrv9ibwy44q32yg6kn9s7sh0c1wy'';
+    };
+    syntax_1_0_0 = {
+      basename = ''syntax'';
+      meta = {
+        description = ''Syntax is Ruby library for performing simple syntax highlighting.'';
+      };
+      name = ''syntax-1.0.0'';
+      requiredGems = [  ];
+      sha256 = ''1z93kkhdq55vq3fg9wljhm591cj59qis58dk97l09b8bfxi2ypk0'';
+    };
     syslog_protocol_0_9_2 = {
       basename = ''syslog_protocol'';
       meta = {
@@ -1914,6 +2535,17 @@ management.
       requiredGems = [ g.atomic_1_1_13 ];
       sha256 = ''1bxyh5l11inadbk7pjyz5s98g24qj8xavh55bc56nrzj51y9aavy'';
     };
+    thread_safe_0_1_3 = {
+      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.3'';
+      requiredGems = [ g.atomic_1_1_14 ];
+      sha256 = ''0f2w62x5nx95d2c2lrn9v4g60xhykf8zw7jaddkrgal913dzifgq'';
+    };
     tilt_1_4_1 = {
       basename = ''tilt'';
       meta = {
@@ -1925,6 +2557,17 @@ management.
       requiredGems = [  ];
       sha256 = ''00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir'';
     };
+    timers_1_1_0 = {
+      basename = ''timers'';
+      meta = {
+        description = ''Schedule procs to run after a certain time, or at periodic intervals, using any API that accepts a timeout'';
+        homepage = ''https://github.com/tarcieri/timers'';
+        longDescription = ''Pure Ruby one-shot and periodic timers'';
+      };
+      name = ''timers-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''0x3vnkxy3bg9f6v1nhkfqkajr19glrzkmqd5a1wy8hrylx8rdfrv'';
+    };
     tins_0_9_0 = {
       basename = ''tins'';
       meta = {
@@ -1972,6 +2615,17 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0iz5k7ax7a5jm9x6p81k6f4mgp48wxxb0j55ypnwxnznih8fsghz'';
     };
+    twitter_bootstrap_rails_2_2_8 = {
+      basename = ''twitter_bootstrap_rails'';
+      meta = {
+        description = ''Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline'';
+        homepage = ''https://github.com/seyhunak/twitter-bootstrap-rails'';
+        longDescription = ''twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline'';
+      };
+      name = ''twitter-bootstrap-rails-2.2.8'';
+      requiredGems = [ g.railties_4_0_0 g.actionpack_4_0_0 g.execjs_2_0_2 g.rails_4_0_0 ];
+      sha256 = ''06n836l2kj5ld7w6b1pb5q423mhqnahf4phk5ai5vl927p4g3bgy'';
+    };
     typhoeus_0_6_5 = {
       basename = ''typhoeus'';
       meta = {
@@ -1994,6 +2648,17 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0pi2vabsg73h6z4wfwyd27k63issp2qp1nh0vd74rdk740gmb3kc'';
     };
+    tzinfo_0_3_38 = {
+      basename = ''tzinfo'';
+      meta = {
+        description = ''Daylight-savings aware timezone library'';
+        homepage = ''http://tzinfo.github.io'';
+        longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.'';
+      };
+      name = ''tzinfo-0.3.38'';
+      requiredGems = [  ];
+      sha256 = ''1s339ravgk0rqm5dhv1l0yi81sczjvdiryn8ihi2czkb0md55j68'';
+    };
     unf_0_1_2 = {
       basename = ''unf'';
       meta = {
@@ -2054,6 +2719,17 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''1w0bhnkp5515f3yx5fakfrfkawxjpb4fjm1r2c6lk691xlr696s3'';
     };
+    vegas_0_1_11 = {
+      basename = ''vegas'';
+      meta = {
+        description = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.'';
+        homepage = ''http://code.quirkey.com/vegas'';
+        longDescription = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It includes a class Vegas::Runner that wraps Rack/Sinatra applications and provides a simple command line interface and launching mechanism.'';
+      };
+      name = ''vegas-0.1.11'';
+      requiredGems = [ g.rack_1_5_2 ];
+      sha256 = ''0kzv0v1zb8vvm188q4pqwahb6468bmiamn6wpsbiq6r5i69s1bs5'';
+    };
     webrobots_0_1_1 = {
       basename = ''webrobots'';
       meta = {
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 7c80cdfe065..10cbf1ecfe5 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -1,5 +1,6 @@
 { fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
-, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty }:
+, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick
+, pkgconfig }:
 
 let
 
@@ -9,10 +10,29 @@ let
     find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
     find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
   '';
-  
+
 in
 
 {
+  buildr = {
+    # Many Buildfiles rely on RUBYLIB containing the current directory
+    # (as was the default in Ruby < 1.9.2).
+    extraWrapperFlags = "--prefix RUBYLIB : .";
+  };
+
+  fakes3 = {
+    postInstall = ''
+      cd $out/${ruby.gemPath}/gems/*
+      patch -Np1 -i ${../../ruby-modules/fake-s3-list-bucket.patch}
+    '';
+  };
+
+  ffi = {
+    postUnpack = "onetuh";
+    buildFlags = ["--with-ffi-dir=${libffi}"];
+    NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
+  };
+
   iconv = { buildInputs = [ libiconvOrEmpty ]; };
 
   libv8 = {
@@ -25,16 +45,16 @@ in
     #
     # Finally, we must set CC and AR explicitly to allow scons to find the
     # compiler and archiver
-    
+
     preBuild = ''
       cat > $TMPDIR/g++ <<EOF
       #! ${stdenv.shell}
       $(export)
-      
+
       g++ \$(echo \$@ | sed 's/-Werror//g')
       EOF
       chmod +x $TMPDIR/g++
-      
+
       export CXX=$TMPDIR/g++
       export AR=$(type -p ar)
     '';
@@ -47,22 +67,18 @@ in
       done
     '';
   };
-  
-  sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
-  
-  rails = { gemFlags = "--no-ri --no-rdoc"; };
-  
+
   ncurses = { propagatedBuildInputs = [ ncurses ]; };
 
+  ncursesw = { propagatedBuildInputs = [ ncurses ]; };
+
   nix = {
     postInstall = ''
       cd $out/${ruby.gemPath}/gems/nix*
       patch -Np1 -i ${./fix-gem-nix-versions.patch}
     '';
   };
-  
-  ncursesw = { propagatedBuildInputs = [ ncurses ]; };
-  
+
   nokogiri = {
     buildFlags =
       [ "--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2"
@@ -70,27 +86,22 @@ in
       ];
   };
 
-  ffi = {
-    postUnpack = "onetuh";
-    buildFlags = ["--with-ffi-dir=${libffi}"];
-    NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
+  pry = { gemFlags = "--no-ri --no-rdoc"; };
+
+  rails = { gemFlags = "--no-ri --no-rdoc"; };
+
+  rjb = {
+    buildInputs = [ jdk ];
+    JAVA_HOME = jdk;
   };
 
-  xrefresh_server =
-    let
-      patch = fetchurl {
-        url = "http://mawercer.de/~nix/xrefresh.diff.gz";
-        sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
-      };
-    in {
-      propagatedBuildInputs = [ gems.rb_inotify ];
+  rmagick = {
+    buildInputs = [ imagemagick pkgconfig ];
 
-      # monitor implementation for Linux
-      postInstall = ''
-        cd $out/${ruby.gemPath}/gems/*
-        zcat ${patch} | patch -p 1
-      ''; # */
-    };
+    NIX_CFLAGS_COMPILE = "-I${imagemagick}/include/ImageMagick-6";
+  };
+
+  sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
 
   xapian_full = {
     buildInputs = [ gems.rake zlib libuuid ];
@@ -105,23 +116,19 @@ in
     buildInputs = [ zlib libuuid ];
   };
 
-  rjb = {
-    buildInputs = [ jdk ];
-    JAVA_HOME = jdk;
-  };
-
-  buildr = {
-    # Many Buildfiles rely on RUBYLIB containing the current directory
-    # (as was the default in Ruby < 1.9.2).
-    extraWrapperFlags = "--prefix RUBYLIB : .";
-  };
-  
-  pry = { gemFlags = "--no-ri --no-rdoc"; };
+  xrefresh_server =
+    let
+      patch = fetchurl {
+        url = "http://mawercer.de/~nix/xrefresh.diff.gz";
+        sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
+      };
+    in {
+      propagatedBuildInputs = [ gems.rb_inotify ];
 
-  fakes3 = {
-    postInstall = ''
-      cd $out/${ruby.gemPath}/gems/*
-      patch -Np1 -i ${../../ruby-modules/fake-s3-list-bucket.patch}
-    '';
-  };
+      # monitor implementation for Linux
+      postInstall = ''
+        cd $out/${ruby.gemPath}/gems/*
+        zcat ${patch} | patch -p 1
+      ''; # */
+    };
 }
diff --git a/pkgs/development/interpreters/ruby/ruby-18.nix b/pkgs/development/interpreters/ruby/ruby-18.nix
index cfb49839466..356fce4913c 100644
--- a/pkgs/development/interpreters/ruby/ruby-18.nix
+++ b/pkgs/development/interpreters/ruby/ruby-18.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   name = "ruby-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.ruby-lang.org/pub/ruby/1.8/${name}.tar.gz";
-    sha256 = "0g2dsn8lmiqwqsp13ryzi97qxr7742v5l7v506x6wq9aiwpk42p6";
+    url = "http://cache.ruby-lang.org/pub/ruby/1.8/${name}.tar.bz2";
+    sha256 = "b4e34703137f7bfb8761c4ea474f7438d6ccf440b3d35f39cc5e4d4e239c07e3";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -33,8 +33,19 @@ stdenv.mkDerivation rec {
   configureFlags = ["--enable-shared" "--enable-pthread"];
 
   installFlags = stdenv.lib.optionalString docSupport "install-doc";
-  # Bundler tries to create this directory
-  postInstall = "mkdir -pv $out/${passthru.gemPath}";
+
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
 
   meta = {
     license = "Ruby";
@@ -45,7 +56,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "1.8";
     minorVersion = "7";
-    patchLevel = "371";
+    patchLevel = "374";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix
index 038a160b327..d18718184ba 100644
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ b/pkgs/development/interpreters/ruby/ruby-19.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   name = "ruby-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
-    sha256 = "0w1avj8qfskvkgvrjxxc1cxjm14bf1v60ipvcl5q3zpn9k14k2cx";
+    url = "http://cache.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
+    sha256 = "0fdc6e860d0023ba7b94c7a0cf1f7d32908b65b526246de9dfd5bb39d0d7922b";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -48,8 +48,19 @@ stdenv.mkDerivation rec {
     ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
 
   installFlags = stdenv.lib.optionalString docSupport "install-doc";
-  # Bundler tries to create this directory
-  postInstall = "mkdir -pv $out/${passthru.gemPath}";
+
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
 
   meta = {
     license     = "Ruby";
@@ -62,7 +73,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "1.9";
     minorVersion = "3";
-    patchLevel = "429";
+    patchLevel = "484";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/interpreters/ruby/ruby-2.0.nix b/pkgs/development/interpreters/ruby/ruby-2.0.nix
index 7c47bac0bbb..ae242107b96 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.0.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   name = "ruby-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
-    sha256 = "0pr9jf01cfap93xcngyd5zpns67ffjsgaxkm0qr1r464rj9d7066";
+    url = "http://cache.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
+    sha256 = "3de4e4d9aff4682fa4f8ed2b70bd0d746fae17452fc3d3a8e8f505ead9105ad9";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -30,15 +30,34 @@ stdenv.mkDerivation rec {
     ++ (op zlibSupport zlib)
     ++ (op opensslSupport openssl)
     ++ (op gdbmSupport gdbm)
-    ++ (op yamlSupport libyaml);
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # support is not enabled, so add readline to the build inputs if curses
+    # support is disabled (if it's enabled, we already have it) and we're
+    # running on darwin
+    ++ (op (!cursesSupport && stdenv.isDarwin) readline);
 
   enableParallelBuilding = true;
     
-  configureFlags = ["--enable-shared" ];
+  configureFlags = ["--enable-shared" ]
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
 
   installFlags = stdenv.lib.optionalString docSupport "install-doc";
   # Bundler tries to create this directory
-  postInstall = "mkdir -pv $out/${passthru.gemPath}";
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
 
   meta = {
     license = "Ruby";
@@ -50,7 +69,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "2.0";
     minorVersion = "0";
-    patchLevel = "0";
+    patchLevel = "353";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
index 40a43e27453..13829c3f9f6 100644
--- a/pkgs/development/interpreters/ruby/rubygems.nix
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -1,10 +1,10 @@
 args : with args; 
 rec {
 
-  version = "1.8.17";
+  version = "1.8.25";
   src = fetchurl {
     url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
-    sha256 = "068sr55r8wiw55bpf93pp07871cbqhxk9cxma6arhd04j7n8ppph";
+    sha256 = "1j0wiy829nsfrpdzr9xzs39jf1lga3f5b7773vxqfs3lz3fli4v4";
   };
 
   buildInputs = [ruby makeWrapper];
@@ -18,12 +18,6 @@ rec {
     cat > $out/nix-support/setup-hook <<EOF
     export RUBYOPT=rubygems
     addToSearchPath RUBYLIB $out/lib
-
-    addGemPath() {
-      addToSearchPath GEM_PATH \$1/${ruby.gemPath}
-    }
-
-    envHooks+=(addGemPath)
     EOF'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
 
   /* doConfigure should be specified separately */
diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix
new file mode 100644
index 00000000000..39056717597
--- /dev/null
+++ b/pkgs/development/interpreters/scheme48/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "scheme48-1.9";
+
+  meta = {
+    homepage = http://s48.org/;
+    description = "Scheme 48";
+  };
+
+  src = fetchurl {
+    url = http://s48.org/1.9/scheme48-1.9.tgz;
+    md5 = "b4c20057f92191d05a61fac1372878ad";
+  };
+}
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix
new file mode 100644
index 00000000000..fc4546bc09e
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/17.0.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
+
+stdenv.mkDerivation rec {
+  version = "17.0.0";
+  name = "spidermonkey-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/js/mozjs${version}.tar.gz";
+    sha256 = "1fig2wf4f10v43mqx67y68z6h77sy900d1w0pz9qarrqx57rc7ij";
+  };
+
+  propagatedBuildInputs = [ nspr ];
+
+  buildInputs = [ pkgconfig perl python zip ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
+    export LIBXUL_DIST=$out
+  '';
+
+  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ];
+
+  # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
+  preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = ''
+    rm jit-test/tests/sunspider/check-date-format-tofte.js    # https://bugzil.la/600522
+
+    paxmark m shell/js17
+    paxmark mr jsapi-tests/jsapi-tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
+
diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
index 55e0dada71e..6fc4bcb9dea 100644
--- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf213, nspr, perl, python, readline, zip }:
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
 
 stdenv.mkDerivation rec {
   version = "185-1.0.0";
@@ -9,21 +9,38 @@ stdenv.mkDerivation rec {
     sha256 = "5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687";
   };
 
-  buildInputs = [ autoconf213 nspr perl python readline zip ];
+  propagatedBuildInputs = [ nspr ];
+
+  buildInputs = [ pkgconfig perl python zip ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
     export LIBXUL_DIST=$out
-    autoconf
+  '';
+
+  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ];
+
+  # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
+  preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  preCheck = ''
+    rm jit-test/tests/sunspider/check-date-format-tofte.js    # https://bugzil.la/600522
+
+    paxmark mr shell/js
+    paxmark mr jsapi-tests/jsapi-tests
   '';
 
   meta = with stdenv.lib; {
-      description = "Mozilla's JavaScript engine written in C/C++";
-      homepage = https://developer.mozilla.org/en/SpiderMonkey;
-      # TODO: MPL/GPL/LGPL tri-license.
-      maintainers = [ maintainers.goibhniu ];
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.goibhniu ];
   };
-
 }
+
diff --git a/pkgs/development/interpreters/spidermonkey/24.2.nix b/pkgs/development/interpreters/spidermonkey/24.2.nix
new file mode 100644
index 00000000000..44fe4f60d53
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/24.2.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
+
+stdenv.mkDerivation rec {
+  version = "24.2.0";
+  name = "spidermonkey-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-${version}.tar.bz2";
+    sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6";
+  };
+
+  propagatedBuildInputs = [ nspr ];
+
+  buildInputs = [ pkgconfig perl python zip ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
+    export LIBXUL_DIST=$out
+  '';
+
+  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ];
+
+  # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
+  preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
+
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
new file mode 100644
index 00000000000..a8c967b5967
--- /dev/null
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, cmake, pkgconfig
+, jack2, libsndfile, fftw, curl
+, libXt, qt, readline
+, useSCEL ? false, emacs
+}:
+  
+let optional = stdenv.lib.optional; in
+
+stdenv.mkDerivation rec {  
+  name = "supercollider-3.6.6";
+
+  meta = {
+    description = "Programming language for real time audio synthesis";
+    homepage = "http://supercollider.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/supercollider/Source/3.6/SuperCollider-3.6.6-Source.tar.bz2";
+    sha256 = "11khrv6jchs0vv0lv43am8lp0x1rr3h6l2xj9dmwrxcpdayfbalr";
+  };
+
+  # QGtkStyle unavailable
+  patchPhase = ''
+    substituteInPlace editors/sc-ide/widgets/code_editor/autocompleter.cpp \
+      --replace Q_WS_X11 Q_GTK_STYLE
+  '';
+
+  cmakeFlags = ''
+    -DSC_WII=OFF
+    -DSC_EL=${if useSCEL then "ON" else "OFF"} 
+  '';
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ 
+    jack2 libsndfile fftw curl libXt qt readline ]
+    ++ optional useSCEL emacs;
+}
diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix
index 48755065b99..c9a0fd7546f 100644
--- a/pkgs/development/interpreters/tcl/default.nix
+++ b/pkgs/development/interpreters/tcl/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "tcl-8.5.7";
+  name = "tcl-8.5.15";
 
   src = fetchurl {
-    url = mirror://sourceforge/tcl/tcl8.5.7-src.tar.gz;
-    sha256 = "1wk67qq12bdbaqsi6cxwj6ra8nc8ph1na9rh808kfk6hm18qvlk7";
+    url = mirror://sourceforge/tcl/tcl8.5.15-src.tar.gz;
+    sha256 = "0kl8lbfwy4v4q4461wjmva95h0pgiprykislpw4nnpkrc7jalkpj";
   };
 
   preConfigure = "cd unix";
diff --git a/pkgs/development/interpreters/xulrunner/default.nix b/pkgs/development/interpreters/xulrunner/default.nix
new file mode 100644
index 00000000000..47dea40eba2
--- /dev/null
+++ b/pkgs/development/interpreters/xulrunner/default.nix
@@ -0,0 +1,82 @@
+{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, hunspell, libevent, libstartup_notification, libvpx
+, cairo, gstreamer, gst_plugins_base, icu
+, debugBuild ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+let version = "31.0"; in
+
+stdenv.mkDerivation rec {
+  name = "xulrunner-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
+    sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
+  };
+
+  buildInputs =
+    [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
+      python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+      xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+      alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+      xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+      xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+      hunspell libevent libstartup_notification libvpx cairo
+      gstreamer gst_plugins_base icu
+    ];
+
+  configureFlags =
+    [ "--enable-application=xulrunner"
+      "--disable-javaxpcom"
+      "--with-system-jpeg"
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      "--with-system-nss"
+      "--with-system-libevent"
+      "--with-system-libvpx"
+      # "--with-system-png" # needs APNG support
+      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
+      "--enable-system-ffi"
+      "--enable-system-hunspell"
+      "--enable-system-pixman"
+      "--enable-system-sqlite"
+      "--enable-system-cairo"
+      "--enable-gstreamer"
+      "--enable-startup-notification"
+      # "--enable-content-sandbox"            # available since 26.0, but not much info available
+      # "--enable-content-sandbox-reporter"   # keeping disabled for now
+      "--disable-crashreporter"
+      "--disable-tests"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer"
+      "--disable-updater"
+      "--disable-pulseaudio"
+    ]
+    ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+                      else [ "--disable-debug" "--enable-release"
+                             "--enable-optimize" "--enable-strip" ]);
+
+  enableParallelBuilding = true;
+
+  preConfigure =
+    ''
+      mkdir ../objdir
+      cd ../objdir
+      configureScript=../mozilla-release/configure
+    '';
+
+  meta = {
+    description = "Mozilla Firefox XUL runner";
+    homepage = http://www.mozilla.com/en-US/firefox/;
+    maintainers = [ lib.maintainers.eelco ];
+    platforms = lib.platforms.linux;
+  };
+
+  passthru = { inherit gtk version; };
+}
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 49cf0a6b94b..12273f84566 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,25 +1,24 @@
-{stdenv, fetchurl, cmake, boost, gmp, mpfr
-  }:
+{ stdenv, fetchurl, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "3.9";
+  version = "4.3";
+
   name = "cgal-${version}";
+
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/29125/CGAL-${version}.tar.gz";
-    sha256 = "193vjhzlf7f2kw6dbg5yw8v0izdvmnrylqzqhw92vml7jjnr8494";
+    url = "https://gforge.inria.fr/frs/download.php/32995/CGAL-${version}.tar.xz";
+    sha256 = "015vw57dmy43bf63mg3916cgcsbv9dahwv24bnmiajyanj2mhiyc";
   };
 
-  buildInputs = [cmake boost gmp mpfr ];
+  buildInputs = [ cmake boost gmp mpfr ];
 
   doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Computational Geometry Algorithms Library";
     homepage = "http://cgal.org/";
-    platforms = with stdenv.lib.platforms;
-      linux;
-    maintainers = with stdenv.lib.maintainers; 
-      [raskin];
+    license = licenses.gpl3Plus; # some parts are GPLv3+, some are LGPLv3+
+    platforms = platforms.linux;
+    maintainers = [ maintainers.raskin ];
   };
 }
-
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index e58397fa9a5..3f1fbfcd6a9 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -7,21 +7,13 @@
 
 # OSS is no longer supported, for it's much crappier than ALSA and
 # PulseAudio.
-assert alsaSupport || pulseaudioSupport;
+assert !(stdenv ? cross) -> alsaSupport || pulseaudioSupport;
 
 assert openglSupport -> (mesa != null && x11Support);
 assert x11Support -> (x11 != null && libXrandr != null);
 assert alsaSupport -> alsaLib != null;
 assert pulseaudioSupport -> pulseaudio != null;
 
-let
-  configureFlagsFun = attrs: ''
-        --disable-oss --disable-video-x11-xme
-        --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
-        --disable-osmesa-shared
-        ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
-      '';
-in
 stdenv.mkDerivation rec {
   version = "1.2.15";
   name    = "SDL-${version}";
@@ -32,20 +24,46 @@ stdenv.mkDerivation rec {
   };
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-  propagatedBuildInputs = stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
+  propagatedNativeBuildInputs =
+    stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
+    stdenv.lib.optional alsaSupport alsaLib ++
     stdenv.lib.optional pulseaudioSupport pulseaudio;
 
-  buildInputs = [ pkgconfig audiofile ] ++
-    stdenv.lib.optional openglSupport [ mesa ] ++
-    stdenv.lib.optional alsaSupport alsaLib;
+  buildInputs = let
+    notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt";
+  in stdenv.lib.optional notMingw audiofile;
+
+  nativeBuildInputs = [ pkgconfig ] ++
+    stdenv.lib.optional openglSupport [ mesa ];
 
   # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
   # we must arrange to add it to its RPATH; however, `patchelf' seems
   # to fail at doing this, hence `--disable-pulseaudio-shared'.
-  configureFlags = configureFlagsFun { inherit alsaLib; };
+  configureFlags = [
+    "--disable-oss"
+    "--disable-video-x11-xme"
+    "--disable-x11-shared"
+    "--disable-alsa-shared"
+    "--enable-rpath"
+    "--disable-pulseaudio-shared"
+    "--disable-osmesa-shared"
+  ] ++ stdenv.lib.optionals (stdenv ? cross) ([
+    "--without-x"
+  ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib}/lib");
 
-  crossAttrs = {
-      configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
+  crossAttrs =stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") {
+    patches = let
+      f = rev: sha256: fetchurl {
+        url = "http://hg.libsdl.org/SDL/raw-rev/${rev}";
+        inherit sha256;
+      };
+    in [
+      (f "e9466ead70e5" "0ygir3k83d0vxp7s3k48jn3j8n2bnv9wm6613wpx3ybnjrxabrip")
+      (f "bbfb41c13a87" "17v29ybjifvka19m8qf14rjc43nfdwk9v9inaizznarhb17amlnv")
+    ];
+    postPatch = ''
+      sed -i -e 's/ *-fpascal-strings//' configure
+    '';
   };
 
   passthru = {inherit openglSupport;};
@@ -54,6 +72,6 @@ stdenv.mkDerivation rec {
     description = "A cross-platform multimedia library";
     homepage    = http://www.libsdl.org/;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 7bc27362a29..b122248bb23 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -16,18 +16,17 @@ assert pulseaudioSupport -> pulseaudio != null;
 
 let
   configureFlagsFun = attrs: ''
-        --disable-oss --disable-video-x11-xme
-        --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
-        --disable-osmesa-shared --enable-static
+        --disable-oss --disable-x11-shared
+        --disable-pulseaudio-shared --disable-alsa-shared
         ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
       '';
 in
 stdenv.mkDerivation rec {
-  name = "SDL2-2.0.0";
+  name = "SDL2-2.0.3";
 
   src = fetchurl {
     url = "http://www.libsdl.org/release/${name}.tar.gz";
-    sha256 = "0y3in99brki7vc2mb4c0w39v70mf4h341mblhh8nmq4h7lawhskg";
+    sha256 = "0369ngvb46x6c26h8zva4x22ywgy6mvn0wx87xqwxg40pxm9m9m5";
   };
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
@@ -38,6 +37,9 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional openglSupport [ mesa ] ++
     stdenv.lib.optional alsaSupport alsaLib;
 
+  # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
+  dontDisableStatic = true;
+
   # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
   # we must arrange to add it to its RPATH; however, `patchelf' seems
   # to fail at doing this, hence `--disable-pulseaudio-shared'.
@@ -47,10 +49,17 @@ stdenv.mkDerivation rec {
       configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
   };
 
+  postInstall = ''
+    rm $out/lib/*.a
+  '';
+
   passthru = {inherit openglSupport;};
 
   meta = {
     description = "A cross-platform multimedia library";
     homepage = http://www.libsdl.org/;
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.page ];
   };
 }
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index 693b7bf8fe1..bc4b1a778fc 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
        '';
 
     homepage = https://sourceforge.net/projects/sdlgfx/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 6d29ddf6eea..06e174371c7 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nvjdxjchrajrn0jag877hdx9zb788hsd315zzg1lyck2wb0xkm8";
   };
 
-  buildInputs = [SDL2 libogg libvorbis];
+  propagatedBuildInputs = [SDL2 libogg libvorbis];
 
   configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi "--enable-music-native-midi-gpl";
 
diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix
index 1090a99915f..3a7fa707284 100644
--- a/pkgs/development/libraries/SDL_gfx/default.nix
+++ b/pkgs/development/libraries/SDL_gfx/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, SDL} :
 
 stdenv.mkDerivation rec {
-  name = "SDL_gfx-2.0.22";
+  name = "SDL_gfx-2.0.25";
 
   src = fetchurl {
     url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
-    sha256 = "1w1bdpyypvqg1nmbjwkqnjhmngvpjmhc0zanwgq7z4pxffzffx8m";
+    sha256 = "1h2rj34dxi5xlwpvm293v2d91gsirhnpzlmnjns9xwkcdg0fsvjm";
   };
 
   buildInputs = [ SDL ] ;
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
        '';
 
     homepage = https://sourceforge.net/projects/sdlgfx/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index a1d83950477..2aa122a8fb2 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "SDL image library";
     homepage    = http://www.libsdl.org/projects/SDL_image/;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index f5b40daaf68..7aca033c147 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libogg, libvorbis, enableNativeMidi ? false }:
+{ stdenv, fetchurl, SDL, libogg, libvorbis, enableNativeMidi ? false, fluidsynth ? null }:
 
 stdenv.mkDerivation rec {
   pname   = "SDL_mixer";
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n";
   };
 
-  buildInputs = [SDL libogg libvorbis];
+  buildInputs = [SDL libogg libvorbis fluidsynth];
 
-  configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi "--enable-music-native-midi-gpl";
+  configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi " --enable-music-native-midi-gpl";
 
   postInstall = "ln -s $out/include/SDL/SDL_mixer.h $out/include/";
 
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "SDL multi-channel audio mixer library";
     homepage    = http://www.libsdl.org/projects/SDL_mixer/;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/SDL_net/default.nix b/pkgs/development/libraries/SDL_net/default.nix
index 54b38110e00..6def7a92efc 100644
--- a/pkgs/development/libraries/SDL_net/default.nix
+++ b/pkgs/development/libraries/SDL_net/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "SDL_net";
-  version = "1.2.7";
+  version = "1.2.8";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.libsdl.org/projects/SDL_net/release/${name}.tar.gz";
-    sha256 = "2ce7c84e62ff8117b9f205758bcce68ea603e08bc9d6936ded343735b8b77c53";
+    sha256 = "1d5c9xqlf4s1c01gzv6cxmg0r621pq9kfgxcg3197xw4p25pljjz";
   };
 
   propagatedBuildInputs = [SDL];
diff --git a/pkgs/development/libraries/SDL_ttf/default.nix b/pkgs/development/libraries/SDL_ttf/default.nix
index 591a4bfbd6d..696b6bd0ac8 100644
--- a/pkgs/development/libraries/SDL_ttf/default.nix
+++ b/pkgs/development/libraries/SDL_ttf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, SDL, freetype }:
 
 stdenv.mkDerivation {
-  name = "SDL_ttf-2.0.9";
+  name = "SDL_ttf-2.0.11";
 
   src = fetchurl {
-    url = http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.9.tar.gz;
-    sha256 = "0ls6anmlmwrmy21p3y9nfyl6fkwz4jpgh74kw7xd0hwbg5v8h95l";
+    url = http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz;
+    sha256 = "1dydxd4f5kb1288i5n5568kdk2q7f8mqjr7i7sd33nplxjaxhk3j";
   };
 
   buildInputs = [SDL freetype];
diff --git a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
new file mode 100644
index 00000000000..5e0af3577d6
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
@@ -0,0 +1,152 @@
+diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
+--- a52dec.old/include/a52.h	2002-01-28 06:37:54.000000000 +0100
++++ a52dec.new/include/a52.h	2012-07-16 14:13:35.000000000 +0200
+@@ -30,7 +30,71 @@
+ typedef double sample_t;
+ #endif
+ 
+-typedef struct a52_state_s a52_state_t;
++typedef struct {
++    uint8_t bai;              /* fine SNR offset, fast gain */
++    uint8_t deltbae;          /* delta bit allocation exists */
++    int8_t deltba[50];        /* per-band delta bit allocation */
++} ba_t;
++
++typedef struct {
++    uint8_t exp[256];         /* decoded channel exponents */
++    int8_t bap[256];          /* derived channel bit allocation */
++} expbap_t;
++
++typedef struct {
++    uint8_t fscod;            /* sample rate */
++    uint8_t halfrate;         /* halfrate factor */
++    uint8_t acmod;            /* coded channels */
++    uint8_t lfeon;            /* coded lfe channel */
++    sample_t clev;            /* centre channel mix level */
++    sample_t slev;            /* surround channels mix level */
++
++    int output;               /* type of output */
++    sample_t level;           /* output level */
++    sample_t bias;            /* output bias */
++
++    int dynrnge;              /* apply dynamic range */
++    sample_t dynrng;          /* dynamic range */
++    void * dynrngdata;        /* dynamic range callback funtion and data */
++    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
++
++    uint8_t chincpl;          /* channel coupled */
++    uint8_t phsflginu;        /* phase flags in use (stereo only) */
++    uint8_t cplstrtmant;      /* coupling channel start mantissa */
++    uint8_t cplendmant;       /* coupling channel end mantissa */
++    uint32_t cplbndstrc;      /* coupling band structure */
++    sample_t cplco[5][18];    /* coupling coordinates */
++
++    /* derived information */
++    uint8_t cplstrtbnd;       /* coupling start band (for bit allocation) */
++    uint8_t ncplbnd;          /* number of coupling bands */
++
++    uint8_t rematflg;         /* stereo rematrixing */
++
++    uint8_t endmant[5];       /* channel end mantissa */
++
++    uint16_t bai;             /* bit allocation information */
++
++    uint32_t * buffer_start;
++    uint16_t lfsr_state;      /* dither state */
++    uint32_t bits_left;
++    uint32_t current_word;
++
++    uint8_t csnroffst;        /* coarse SNR offset */
++    ba_t cplba;               /* coupling bit allocation parameters */
++    ba_t ba[5];               /* channel bit allocation parameters */
++    ba_t lfeba;               /* lfe bit allocation parameters */
++
++    uint8_t cplfleak;         /* coupling fast leak init */
++    uint8_t cplsleak;         /* coupling slow leak init */
++
++    expbap_t cpl_expbap;
++    expbap_t fbw_expbap[5];
++    expbap_t lfe_expbap;
++
++    sample_t * samples;
++    int downmixed;
++} a52_state_t;
+ 
+ #define A52_CHANNEL 0
+ #define A52_MONO 1
+diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
+--- a52dec.old/liba52/a52_internal.h	2002-07-28 03:52:06.000000000 +0200
++++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:11:47.000000000 +0200
+@@ -21,72 +21,6 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  */
+ 
+-typedef struct {
+-    uint8_t bai;		/* fine SNR offset, fast gain */
+-    uint8_t deltbae;		/* delta bit allocation exists */
+-    int8_t deltba[50];		/* per-band delta bit allocation */
+-} ba_t;
+-
+-typedef struct {
+-    uint8_t exp[256];		/* decoded channel exponents */
+-    int8_t bap[256];		/* derived channel bit allocation */
+-} expbap_t;
+-
+-struct a52_state_s {
+-    uint8_t fscod;		/* sample rate */
+-    uint8_t halfrate;		/* halfrate factor */
+-    uint8_t acmod;		/* coded channels */
+-    uint8_t lfeon;		/* coded lfe channel */
+-    sample_t clev;		/* centre channel mix level */
+-    sample_t slev;		/* surround channels mix level */
+-
+-    int output;			/* type of output */
+-    sample_t level;		/* output level */
+-    sample_t bias;		/* output bias */
+-
+-    int dynrnge;		/* apply dynamic range */
+-    sample_t dynrng;		/* dynamic range */
+-    void * dynrngdata;		/* dynamic range callback funtion and data */
+-    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
+-
+-    uint8_t chincpl;		/* channel coupled */
+-    uint8_t phsflginu;		/* phase flags in use (stereo only) */
+-    uint8_t cplstrtmant;	/* coupling channel start mantissa */
+-    uint8_t cplendmant;		/* coupling channel end mantissa */
+-    uint32_t cplbndstrc;	/* coupling band structure */
+-    sample_t cplco[5][18];	/* coupling coordinates */
+-
+-    /* derived information */
+-    uint8_t cplstrtbnd;		/* coupling start band (for bit allocation) */
+-    uint8_t ncplbnd;		/* number of coupling bands */
+-
+-    uint8_t rematflg;		/* stereo rematrixing */
+-
+-    uint8_t endmant[5];		/* channel end mantissa */
+-
+-    uint16_t bai;		/* bit allocation information */
+-
+-    uint32_t * buffer_start;
+-    uint16_t lfsr_state;	/* dither state */
+-    uint32_t bits_left;
+-    uint32_t current_word;
+-
+-    uint8_t csnroffst;		/* coarse SNR offset */
+-    ba_t cplba;			/* coupling bit allocation parameters */
+-    ba_t ba[5];			/* channel bit allocation parameters */
+-    ba_t lfeba;			/* lfe bit allocation parameters */
+-
+-    uint8_t cplfleak;		/* coupling fast leak init */
+-    uint8_t cplsleak;		/* coupling slow leak init */
+-
+-    expbap_t cpl_expbap;
+-    expbap_t fbw_expbap[5];
+-    expbap_t lfe_expbap;
+-
+-    sample_t * samples;
+-    int downmixed;
+-};
+-
+ #define LEVEL_PLUS6DB 2.0
+ #define LEVEL_PLUS3DB 1.4142135623730951
+ #define LEVEL_3DB 0.7071067811865476
diff --git a/pkgs/development/libraries/a52dec/A01-thread-safe.patch b/pkgs/development/libraries/a52dec/A01-thread-safe.patch
new file mode 100644
index 00000000000..4ca2d1a0873
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A01-thread-safe.patch
@@ -0,0 +1,462 @@
+diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
+--- a52dec.old/include/a52.h	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/include/a52.h	2012-07-16 14:31:37.000000000 +0200
+@@ -42,6 +42,11 @@
+ } expbap_t;
+ 
+ typedef struct {
++    sample_t real;
++    sample_t imag;
++} complex_t;
++
++typedef struct {
+     uint8_t fscod;            /* sample rate */
+     uint8_t halfrate;         /* halfrate factor */
+     uint8_t acmod;            /* coded channels */
+@@ -94,6 +99,20 @@
+ 
+     sample_t * samples;
+     int downmixed;
++
++    /* Root values for IFFT */
++    sample_t * roots16;           // size 3
++    sample_t * roots32;           // size 7
++    sample_t * roots64;           // size 15
++    sample_t * roots128;          // size 31
++
++    /* Twiddle factors for IMDCT */
++    complex_t * pre1;             // size 128
++    complex_t * post1;            // size 64
++    complex_t * pre2;             // size 64
++    complex_t * post2;            // size 32
++
++    sample_t * a52_imdct_window;  // size 256
+ } a52_state_t;
+ 
+ #define A52_CHANNEL 0
+diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
+--- a52dec.old/liba52/a52_internal.h	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:28:33.000000000 +0200
+@@ -49,6 +49,6 @@
+ 		  sample_t clev, sample_t slev);
+ void a52_upmix (sample_t * samples, int acmod, int output);
+ 
+-void a52_imdct_init (uint32_t mm_accel);
+-void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias);
+-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias);
++void a52_imdct_init (a52_state_t * state, uint32_t mm_accel);
++void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
++void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
+diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c
+--- a52dec.old/liba52/imdct.c	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/liba52/imdct.c	2012-07-16 14:33:00.000000000 +0200
+@@ -40,11 +40,6 @@
+ #include "a52_internal.h"
+ #include "mm_accel.h"
+ 
+-typedef struct complex_s {
+-    sample_t real;
+-    sample_t imag;
+-} complex_t;
+-
+ static uint8_t fftorder[] = {
+       0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176,
+       8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88,
+@@ -56,22 +51,8 @@
+       6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86
+ };
+ 
+-/* Root values for IFFT */
+-static sample_t roots16[3];
+-static sample_t roots32[7];
+-static sample_t roots64[15];
+-static sample_t roots128[31];
+-
+-/* Twiddle factors for IMDCT */
+-static complex_t pre1[128];
+-static complex_t post1[64];
+-static complex_t pre2[64];
+-static complex_t post2[32];
+-
+-static sample_t a52_imdct_window[256];
+-
+-static void (* ifft128) (complex_t * buf);
+-static void (* ifft64) (complex_t * buf);
++static void (* ifft128) (a52_state_t * state, complex_t * buf);
++static void (* ifft64) (a52_state_t * state, complex_t * buf);
+ 
+ static inline void ifft2 (complex_t * buf)
+ {
+@@ -167,7 +148,7 @@
+     a1.imag += tmp4;				\
+ } while (0)
+ 
+-static inline void ifft8 (complex_t * buf)
++static inline void ifft8 (a52_state_t * state, complex_t * buf)
+ {
+     double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
+ 
+@@ -175,7 +156,7 @@
+     ifft2 (buf + 4);
+     ifft2 (buf + 6);
+     BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]);
+-    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]);
++    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]);
+ }
+ 
+ static void ifft_pass (complex_t * buf, sample_t * weight, int n)
+@@ -205,66 +186,66 @@
+     } while (--i);
+ }
+ 
+-static void ifft16 (complex_t * buf)
++static void ifft16 (a52_state_t * state, complex_t * buf)
+ {
+-    ifft8 (buf);
++    ifft8 (state, buf);
+     ifft4 (buf + 8);
+     ifft4 (buf + 12);
+-    ifft_pass (buf, roots16 - 4, 4);
++    ifft_pass (buf, state->roots16 - 4, 4);
+ }
+ 
+-static void ifft32 (complex_t * buf)
++static void ifft32 (a52_state_t * state, complex_t * buf)
+ {
+-    ifft16 (buf);
+-    ifft8 (buf + 16);
+-    ifft8 (buf + 24);
+-    ifft_pass (buf, roots32 - 8, 8);
++    ifft16 (state, buf);
++    ifft8 (state, buf + 16);
++    ifft8 (state, buf + 24);
++    ifft_pass (buf, state->roots32 - 8, 8);
+ }
+ 
+-static void ifft64_c (complex_t * buf)
++static void ifft64_c (a52_state_t * state, complex_t * buf)
+ {
+-    ifft32 (buf);
+-    ifft16 (buf + 32);
+-    ifft16 (buf + 48);
+-    ifft_pass (buf, roots64 - 16, 16);
++    ifft32 (state, buf);
++    ifft16 (state, buf + 32);
++    ifft16 (state, buf + 48);
++    ifft_pass (buf, state->roots64 - 16, 16);
+ }
+ 
+-static void ifft128_c (complex_t * buf)
++static void ifft128_c (a52_state_t * state, complex_t * buf)
+ {
+-    ifft32 (buf);
+-    ifft16 (buf + 32);
+-    ifft16 (buf + 48);
+-    ifft_pass (buf, roots64 - 16, 16);
++    ifft32 (state, buf);
++    ifft16 (state, buf + 32);
++    ifft16 (state, buf + 48);
++    ifft_pass (buf, state->roots64 - 16, 16);
+ 
+-    ifft32 (buf + 64);
+-    ifft32 (buf + 96);
+-    ifft_pass (buf, roots128 - 32, 32);
++    ifft32 (state, buf + 64);
++    ifft32 (state, buf + 96);
++    ifft_pass (buf, state->roots128 - 32, 32);
+ }
+ 
+-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias)
++void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
+ {
+     int i, k;
+     sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
+-    const sample_t * window = a52_imdct_window;
++    const sample_t * window = state->a52_imdct_window;
+     complex_t buf[128];
+ 	
+     for (i = 0; i < 128; i++) {
+ 	k = fftorder[i];
+-	t_r = pre1[i].real;
+-	t_i = pre1[i].imag;
++	t_r = state->pre1[i].real;
++	t_i = state->pre1[i].imag;
+ 
+ 	buf[i].real = t_i * data[255-k] + t_r * data[k];
+ 	buf[i].imag = t_r * data[255-k] - t_i * data[k];
+     }
+ 
+-    ifft128 (buf);
++    ifft128 (state, buf);
+ 
+     /* Post IFFT complex multiply plus IFFT complex conjugate*/
+     /* Window and convert to real valued signal */
+     for (i = 0; i < 64; i++) {
+ 	/* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */
+-	t_r = post1[i].real;
+-	t_i = post1[i].imag;
++	t_r = state->post1[i].real;
++	t_i = state->post1[i].imag;
+ 
+ 	a_r = t_r * buf[i].real     + t_i * buf[i].imag;
+ 	a_i = t_i * buf[i].real     - t_r * buf[i].imag;
+@@ -285,18 +266,18 @@
+     }
+ }
+ 
+-void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
++void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
+ {
+     int i, k;
+     sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2;
+-    const sample_t * window = a52_imdct_window;
++    const sample_t * window = state->a52_imdct_window;
+     complex_t buf1[64], buf2[64];
+ 
+     /* Pre IFFT complex multiply plus IFFT cmplx conjugate */
+     for (i = 0; i < 64; i++) {
+ 	k = fftorder[i];
+-	t_r = pre2[i].real;
+-	t_i = pre2[i].imag;
++	t_r = state->pre2[i].real;
++	t_i = state->pre2[i].imag;
+ 
+ 	buf1[i].real = t_i * data[254-k] + t_r * data[k];
+ 	buf1[i].imag = t_r * data[254-k] - t_i * data[k];
+@@ -305,15 +286,15 @@
+ 	buf2[i].imag = t_r * data[255-k] - t_i * data[k+1];
+     }
+ 
+-    ifft64 (buf1);
+-    ifft64 (buf2);
++    ifft64 (state, buf1);
++    ifft64 (state, buf2);
+ 
+     /* Post IFFT complex multiply */
+     /* Window and convert to real valued signal */
+     for (i = 0; i < 32; i++) {
+ 	/* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */ 
+-	t_r = post2[i].real;
+-	t_i = post2[i].imag;
++	t_r = state->post2[i].real;
++	t_i = state->post2[i].imag;
+ 
+ 	a_r = t_r * buf1[i].real    + t_i * buf1[i].imag;
+ 	a_i = t_i * buf1[i].real    - t_r * buf1[i].imag;
+@@ -362,7 +343,7 @@
+     return bessel;
+ }
+ 
+-void a52_imdct_init (uint32_t mm_accel)
++void a52_imdct_init (a52_state_t * state, uint32_t mm_accel)
+ {
+     int i, k;
+     double sum;
+@@ -371,50 +352,50 @@
+     sum = 0;
+     for (i = 0; i < 256; i++) {
+ 	sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256));
+-	a52_imdct_window[i] = sum;
++	state->a52_imdct_window[i] = sum;
+     }
+     sum++;
+     for (i = 0; i < 256; i++)
+-	a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum);
++	state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum);
+ 
+     for (i = 0; i < 3; i++)
+-	roots16[i] = cos ((M_PI / 8) * (i + 1));
++	state->roots16[i] = cos ((M_PI / 8) * (i + 1));
+ 
+     for (i = 0; i < 7; i++)
+-	roots32[i] = cos ((M_PI / 16) * (i + 1));
++	state->roots32[i] = cos ((M_PI / 16) * (i + 1));
+ 
+     for (i = 0; i < 15; i++)
+-	roots64[i] = cos ((M_PI / 32) * (i + 1));
++	state->roots64[i] = cos ((M_PI / 32) * (i + 1));
+ 
+     for (i = 0; i < 31; i++)
+-	roots128[i] = cos ((M_PI / 64) * (i + 1));
++	state->roots128[i] = cos ((M_PI / 64) * (i + 1));
+ 
+     for (i = 0; i < 64; i++) {
+ 	k = fftorder[i] / 2 + 64;
+-	pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
+-	pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
+     }
+ 
+     for (i = 64; i < 128; i++) {
+ 	k = fftorder[i] / 2 + 64;
+-	pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
+-	pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
+     }
+ 
+     for (i = 0; i < 64; i++) {
+-	post1[i].real = cos ((M_PI / 256) * (i + 0.5));
+-	post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
++	state->post1[i].real = cos ((M_PI / 256) * (i + 0.5));
++	state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
+     }
+ 
+     for (i = 0; i < 64; i++) {
+ 	k = fftorder[i] / 4;
+-	pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
+-	pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
++	state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
++	state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
+     }
+ 
+     for (i = 0; i < 32; i++) {
+-	post2[i].real = cos ((M_PI / 128) * (i + 0.5));
+-	post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
++	state->post2[i].real = cos ((M_PI / 128) * (i + 0.5));
++	state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
+     }
+ 
+ #ifdef LIBA52_DJBFFT
+diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c
+--- a52dec.old/liba52/parse.c	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/liba52/parse.c	2012-07-16 14:33:00.000000000 +0200
+@@ -56,16 +56,53 @@
+     a52_state_t * state;
+     int i;
+ 
+-    state = malloc (sizeof (a52_state_t));
++    state = calloc (1, sizeof (a52_state_t));
+     if (state == NULL)
+ 	return NULL;
+ 
+     state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
+     if (state->samples == NULL) {
+-	free (state);
+-	return NULL;
++        goto fail;
+     }
+ 
++    /* Root values for IFFT */
++    state->roots16 = memalign (16, 3 * sizeof (sample_t));
++    if (state->roots16 == NULL)
++        goto fail;
++
++    state->roots32 = memalign (16, 7 * sizeof (sample_t));
++    if (state->roots32 == NULL)
++        goto fail;
++
++    state->roots64 = memalign (16, 15 * sizeof (sample_t));
++    if (state->roots64 == NULL)
++        goto fail;
++
++    state->roots128 = memalign (16, 31 * sizeof (sample_t));
++    if (state->roots128 == NULL)
++        goto fail;
++
++    /* Twiddle factors for IMDCT */
++    state->pre1 = memalign (16, 128 * sizeof (complex_t));
++    if (state->pre1 == NULL)
++        goto fail;
++
++    state->post1 = memalign (16, 64 * sizeof (complex_t));
++    if (state->post1 == NULL)
++        goto fail;
++
++    state->pre2 = memalign (16, 64 * sizeof (complex_t));
++    if (state->pre2 == NULL)
++        goto fail;
++
++    state->post2 = memalign (16, 32 * sizeof (complex_t));
++    if (state->post2 == NULL)
++        goto fail;
++
++    state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t));
++    if (state->a52_imdct_window == NULL)
++        goto fail;
++
+     for (i = 0; i < 256 * 12; i++)
+ 	state->samples[i] = 0;
+ 
+@@ -73,9 +110,27 @@
+ 
+     state->lfsr_state = 1;
+ 
+-    a52_imdct_init (mm_accel);
++    a52_imdct_init (state, mm_accel);
+ 
+     return state;
++
++fail:
++    if ( state )
++    {
++        free (state->a52_imdct_window);
++        free (state->post2);
++        free (state->pre2);
++        free (state->post1);
++        free (state->pre1);
++        free (state->roots128);
++        free (state->roots64);
++        free (state->roots32);
++        free (state->roots16);
++        free (state->samples);
++        free (state);
++    }
++    return NULL;
++
+ }
+ 
+ sample_t * a52_samples (a52_state_t * state)
+@@ -825,7 +880,7 @@
+ 		       state->dynrng, 0, 7);
+ 	    for (i = 7; i < 256; i++)
+ 		(samples-256)[i] = 0;
+-	    a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias);
++	    a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias);
+ 	} else {
+ 	    /* just skip the LFE coefficients */
+ 	    coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer,
+@@ -854,10 +909,10 @@
+ 
+ 	    if (coeff[i]) {
+ 		if (blksw[i])
+-		    a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
++		    a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 				   bias);
+ 		else 
+-		    a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
++		    a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 				   bias);
+ 	    } else {
+ 		int j;
+@@ -883,11 +938,11 @@
+ 
+ 	if (blksw[0])
+ 	    for (i = 0; i < nfchans; i++)
+-		a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
++		a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 			       state->bias);
+ 	else 
+ 	    for (i = 0; i < nfchans; i++)
+-		a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
++		a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 			       state->bias);
+     }
+ 
+@@ -896,6 +951,15 @@
+ 
+ void a52_free (a52_state_t * state)
+ {
++    free (state->a52_imdct_window);
++    free (state->post2);
++    free (state->pre2);
++    free (state->post1);
++    free (state->pre1);
++    free (state->roots128);
++    free (state->roots64);
++    free (state->roots32);
++    free (state->roots16);
+     free (state->samples);
+     free (state);
+ }
diff --git a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
new file mode 100644
index 00000000000..a22e5979e66
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
@@ -0,0 +1,11 @@
+diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c
+--- a52dec.old/liba52/imdct.c	2002-07-28 03:52:07.000000000 +0200
++++ a52dec.new/liba52/imdct.c	2011-07-15 20:29:09.000000000 +0200
+@@ -425,7 +425,6 @@
+     } else
+ #endif
+     {
+-	fprintf (stderr, "No accelerated IMDCT transform found\n");
+ 	ifft128 = ifft128_c;
+ 	ifft64 = ifft64_c;
+     }
diff --git a/pkgs/development/libraries/a52dec/A03-automake.patch b/pkgs/development/libraries/a52dec/A03-automake.patch
new file mode 100644
index 00000000000..142091dc695
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A03-automake.patch
@@ -0,0 +1,12 @@
+diff -Naur a52dec.orig/configure.in a52dec/configure.in
+--- a52dec.orig/configure.in	2002-07-27 23:50:20.000000000 -0400
++++ a52dec/configure.in	2013-01-28 21:06:27.000000000 -0500
+@@ -6,7 +6,7 @@
+ AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
+     doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
+ AM_INIT_AUTOMAKE([a52dec],[0.7.4])
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADER(include/config.h)
+ AM_MAINTAINER_MODE
+ AC_CANONICAL_HOST
+ 
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index 84a87df03e4..7d5c5fab393 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "a52dec-0.7.4";
+  name = "a52dec-0.7.4p4";
   
   src = fetchurl {
     url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz";
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-fpic";
 
+  # From Handbrake
+  patches = [
+    ./A00-a52-state-t-public.patch
+    ./A01-thread-safe.patch
+    ./A02-imdct-shutup.patch
+    ./A03-automake.patch
+  ];
+
   meta = {
     description = "ATSC A/52 stream decoder";
     homepage = http://liba52.sourceforge.net/;
diff --git a/pkgs/development/libraries/aacskeys/default.nix b/pkgs/development/libraries/aacskeys/default.nix
index 088f2cc4b1e..0b20d8a41ea 100644
--- a/pkgs/development/libraries/aacskeys/default.nix
+++ b/pkgs/development/libraries/aacskeys/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   buildInputs = [openssl jdk premake3];
 
   installPhase = ''
-    ensureDir $out/{bin,lib,share/${baseName}}
+    mkdir -p $out/{bin,lib,share/${baseName}}
 
     # Install lib
     install -Dm444 lib/linux/libaacskeys.so $out/lib
diff --git a/pkgs/development/libraries/aalib/builder.sh b/pkgs/development/libraries/aalib/builder.sh
deleted file mode 100644
index 5d4df565a6d..00000000000
--- a/pkgs/development/libraries/aalib/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-configureFlags="--without-x --with-ncurses=$ncurses"
-
-genericBuild
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix
index 897fc9db8de..fa21a9570c7 100644
--- a/pkgs/development/libraries/aalib/default.nix
+++ b/pkgs/development/libraries/aalib/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses, automake}:
 
 stdenv.mkDerivation {
-  name = "aalib-1.4rc4";
-  builder = ./builder.sh;
+  name = "aalib-1.4rc5";
+
   src = fetchurl {
-    url = mirror://sourceforge/aa-project/aalib-1.4rc4.tar.gz;
-    md5 = "d5aa8e9eae07b7441298b5c30490f6a6";
+    url = mirror://sourceforge/aa-project/aalib-1.4rc5.tar.gz;
+    sha256 = "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv";
   };
 
   # The fuloong2f is not supported by aalib still
@@ -13,8 +13,9 @@ stdenv.mkDerivation {
     cp ${automake}/share/automake*/config.{sub,guess} .
   '';
 
-  buildInputs = [ncurses];
-  inherit ncurses;
+  buildInputs = [ ncurses ];
+
+  configureFlags = "--without-x --with-ncurses=${ncurses}";
 
   meta = {
     description = "ASCII art graphics library";
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
new file mode 100644
index 00000000000..7b85d29c81b
--- /dev/null
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper
+, libtool, gobjectIntrospection, polkit, systemd, coreutils }:
+
+stdenv.mkDerivation rec {
+  name = "accountsservice-0.6.37";
+  
+  src = fetchurl {
+    url = http://www.freedesktop.org/software/accountsservice/accountsservice-0.6.37.tar.xz;
+    sha256 = "1hd58lrl698ij7w1xk3fpj8zp7h6m2hpzvfmbw9sfx4xvhv13cmh";
+  };
+
+  buildInputs = [ pkgconfig glib intltool libtool makeWrapper
+                  gobjectIntrospection polkit systemd ];
+
+  configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+                     "--localstatedir=/var" ];
+
+  patches = [ ./no-create-dirs.patch ];
+  patchFlags = "-p0";
+  
+  preFixup = ''
+    wrapProgram "$out/libexec/accounts-daemon" \
+      --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/users" \
+      --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons"
+  '';
+
+  meta = {
+    description = "D-Bus interface for user account query and manipulation";
+  };
+}
diff --git a/pkgs/development/libraries/accountsservice/no-create-dirs.patch b/pkgs/development/libraries/accountsservice/no-create-dirs.patch
new file mode 100644
index 00000000000..a0c7ca23598
--- /dev/null
+++ b/pkgs/development/libraries/accountsservice/no-create-dirs.patch
@@ -0,0 +1,13 @@
+--- src/Makefile.in.orig	2014-04-23 22:30:00.276005326 +0200
++++ src/Makefile.in	2014-04-23 22:30:16.809409113 +0200
+@@ -881,8 +881,8 @@
+ 	gdbus-codegen --generate-c-code accounts-user-generated --c-namespace Accounts --interface-prefix=org.freedesktop.Accounts. $(top_srcdir)/data/org.freedesktop.Accounts.User.xml
+ 
+ install-data-hook:
+-	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users"
+-	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons"
++#	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users"
++#	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons"
+ 
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 065ef0ba7ca..4055708907b 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, attr }:
 
 stdenv.mkDerivation rec {
-  name = "acl-2.2.51";
+  name = "acl-2.2.52";
 
   src = fetchurl {
     url = "mirror://savannah/acl/${name}.src.tar.gz";
-    sha256 = "09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186";
+    sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index cbc4e0b8c89..8c9c6a5b9ef 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.chiark.greenend.org.uk/~ian/adns/";
     description = "Asynchronous DNS Resolver Library";
-    license = "LGPL-v2";
+    license = stdenv.lib.licenses.lgpl2;
 
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/development/libraries/afflib/default.nix b/pkgs/development/libraries/afflib/default.nix
index a5fdafe7914..ed88b89b14e 100644
--- a/pkgs/development/libraries/afflib/default.nix
+++ b/pkgs/development/libraries/afflib/default.nix
@@ -1,48 +1,24 @@
-x@{builderDefsPackage
-  , libewf, zlib, curl, expat, fuse, openssl
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, zlib, curl, expat, fuse, openssl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="afflib";
-    version="3.6.12";
-    name="${baseName}-${version}";
-    url="http://afflib.org/downloads/${name}.tar.gz";
-    hash="1l13nrqjlvad112543qbyvrzai5by43zl96d3miklrhn26q9rs07";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  version = "3.7.4";
+  name = "afflib-${version}";
+
+  src = fetchurl {
+    url = "http://digitalcorpora.org/downloads/afflib/${name}.tar.gz";
+    sha256 = "18j1gjb31qjcmz6lry4m2d933w2a80iagg9g5vrpw5ig80lv10f8";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ zlib curl expat fuse openssl ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
+    homepage = http://afflib.sourceforge.net/;
     description = "Advanced forensic format library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.bsdOriginal;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsdOriginal;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    inherit version;
+    downloadPage = "http://digitalcorpora.org/downloads/afflib/";
+    updateWalker = true;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://afflib.org/";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix
index 59124f011dd..48e96aeea26 100644
--- a/pkgs/development/libraries/agg/default.nix
+++ b/pkgs/development/libraries/agg/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       of course, AGG can do much more than that.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.antigrain.com/;
   };
 }
diff --git a/pkgs/development/libraries/allegro/5-unstable.nix b/pkgs/development/libraries/allegro/5-unstable.nix
new file mode 100644
index 00000000000..d7a8708e540
--- /dev/null
+++ b/pkgs/development/libraries/allegro/5-unstable.nix
@@ -0,0 +1,58 @@
+
+x@{builderDefsPackage
+  , texinfo, libXext, xextproto, libX11, xproto, libXpm, libXt, libXcursor
+  , alsaLib, cmake, zlib, libpng, libvorbis, libXxf86dga, libXxf86misc
+  , xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal, mesa
+  , kbproto, libjpeg, flac
+  , ...}:
+builderDefsPackage
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="allegro";
+    folderSuffix = "-unstable";
+    version = "5.1.8";
+    name="${baseName}-${version}";
+    project="alleg";
+    url="mirror://sourceforge/project/${project}/${baseName}${folderSuffix}/${version}/${name}.tar.gz";
+    hash="18fdppaqaf3g3rcqwhyvsmkzk3y14clz4l8cvmg4hvjgyf011f3i";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = "180mhlhgxqh3ynazf9bssnd3riw77fazjw65yr64w0av53y0h1lz";
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["doCmake" "doMakeInstall"];
+
+  doCmake = a.fullDepEntry (''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lXext -lX11 -lXpm -lXcursor -lXxf86vm"
+    cmake -D CMAKE_INSTALL_PREFIX=$out -D CMAKE_SKIP_RPATH=ON .
+  '') ["minInit" "doUnpack" "addInputs"];
+
+  makeFlags = [
+  ];
+
+  meta = {
+    description = "A game programming library";
+    license = "free-noncopyleft"; # giftware
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    inherit version;
+  };
+}) x
+
diff --git a/pkgs/development/libraries/allegro/5-unstable.upstream b/pkgs/development/libraries/allegro/5-unstable.upstream
new file mode 100644
index 00000000000..e07829c08cc
--- /dev/null
+++ b/pkgs/development/libraries/allegro/5-unstable.upstream
@@ -0,0 +1,7 @@
+attribute_name allegro5
+url http://alleg.sourceforge.net/download.html
+version_link '/allegro-unstable/.*[.]tar[.].*/download$'
+SF_redirect
+do_overwrite () {
+  do_overwrite_just_version
+}
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index 2bfc57011fd..f03dd5b548c 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -3,23 +3,23 @@ x@{builderDefsPackage
   , texinfo, libXext, xextproto, libX11, xproto, libXpm, libXt, libXcursor
   , alsaLib, cmake, zlib, libpng, libvorbis, libXxf86dga, libXxf86misc
   , xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal, mesa
-  , kbproto
+  , kbproto, libjpeg, flac
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="allegro";
-    version="5.0.4";
+    version="5.0.10";
     name="${baseName}-${version}";
     project="alleg";
     url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.gz";
-    hash="0vm93kqvvw4rw2zx4l64c2i86xl5giwbqbyki4b2b83z0acpmc1n";
+    hash="18fdppaqaf3g3rcqwhyvsmkzk3y14clz4l8cvmg4hvjgyf011f3i";
   };
 in
 rec {
@@ -38,7 +38,7 @@ rec {
     export NIX_LDFLAGS="$NIX_LDFLAGS -lXext -lX11 -lXpm -lXcursor -lXxf86vm"
     cmake -D CMAKE_INSTALL_PREFIX=$out -D CMAKE_SKIP_RPATH=ON .
   '') ["minInit" "doUnpack" "addInputs"];
-      
+
   makeFlags = [
   ];
 
@@ -51,11 +51,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/alleg/files/";
-    };
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/development/libraries/allegro/5.upstream b/pkgs/development/libraries/allegro/5.upstream
new file mode 100644
index 00000000000..9d139383fe3
--- /dev/null
+++ b/pkgs/development/libraries/allegro/5.upstream
@@ -0,0 +1,7 @@
+attribute_name allegro5
+url http://alleg.sourceforge.net/download.html
+version_link '[.]tar[.].*/download$'
+SF_redirect
+do_overwrite () {
+  do_overwrite_just_version
+}
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 75842bee9f8..213b086c3cc 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -4,9 +4,9 @@ x@{builderDefsPackage
   , xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal, mesa
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -36,11 +36,12 @@ rec {
     export NIX_LDFLAGS="$NIX_LDFLAGS -lXext -lX11 -lXpm -lXcursor -lXxf86vm"
     cmake -D CMAKE_INSTALL_PREFIX=$out -D CMAKE_SKIP_RPATH=ON .
   '') ["minInit" "doUnpack" "addInputs"];
-      
+
   makeFlags = [
   ];
 
   meta = {
+    branch = "4";
     description = "A game programming library";
     license = "free-noncopyleft"; # giftware
     maintainers = with a.lib.maintainers;
diff --git a/pkgs/development/libraries/amrnb/default.nix b/pkgs/development/libraries/amrnb/default.nix
index a2ed7393493..c5514acd1d4 100644
--- a/pkgs/development/libraries/amrnb/default.nix
+++ b/pkgs/development/libraries/amrnb/default.nix
@@ -1,15 +1,15 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "amrnb-7.0.0.2";
+  name = "amrnb-11.0.0.0";
   srcAmr = fetchurl {
-    url = http://www.3gpp.org/ftp/Specs/latest/Rel-7/26_series/26104-700.zip;
-    sha256 = "0hgm8dddrqiinjdjxnsw0x899czjlvplq69z4kv8y4zqnrjlwzni";
+    url = http://www.3gpp.org/ftp/Specs/latest/Rel-11/26_series/26104-b00.zip;
+    sha256 = "1wf8ih0hk7w20vdlnw7jb7w73v15hbxgbvmq4wq7h2ghn0j8ppr3";
   };
 
   src = fetchurl {
-    url = http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2;
-    sha256 = "0z4wjr0jml973vd0dvxlmy34daiswy5axlmpvc85k8qcr08i8zaa";
+    url = http://ftp.penguin.cz/pub/users/utx/amr/amrnb-11.0.0.0.tar.bz2;
+    sha256 = "1qgiw02n2a6r32pimnd97v2jkvnw449xrqmaxiivjy2jcr5h141q";
   };
 
   buildInputs = [ unzip ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--cache-file=config.cache" "--with-downloader=true" ];
 
   postConfigure = ''
-    cp $srcAmr 26104-700.zip 
+    cp $srcAmr 26104-b00.zip 
   '';
 
   meta = {
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
     # The wrapper code is free, but not the libraries from 3gpp.
     # It's a source code reference implementation with patents and licenses on
     # some countries, not redistributable.
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/development/libraries/amrwb/default.nix b/pkgs/development/libraries/amrwb/default.nix
index fc8d0415c36..2b5da8de423 100644
--- a/pkgs/development/libraries/amrwb/default.nix
+++ b/pkgs/development/libraries/amrwb/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation {
     # The wrapper code is free, but not the libraries from 3gpp.
     # It's a source code reference implementation with patents and licenses on
     # some countries, not redistributable.
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/development/libraries/apache-activemq/default.nix b/pkgs/development/libraries/apache-activemq/default.nix
index d55ff9049ed..2f2792dec14 100644
--- a/pkgs/development/libraries/apache-activemq/default.nix
+++ b/pkgs/development/libraries/apache-activemq/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   phases = [ "unpackPhase" "installPhase" ];
 
   installPhase = ''
-    ensureDir $out
+    mkdir -p $out
     mv * $out/
     for j in `find $out/lib -name "*.jar"`; do
       cp="''${cp:+"$cp:"}$j";
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index dcb30df04c8..da03ab44ecd 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -1,32 +1,44 @@
-{ stdenv, fetchurl, apr, expat
+{ stdenv, fetchurl, makeWrapper, apr, expat, gnused
 , sslSupport ? true, openssl
-, bdbSupport ? false, db4
+, bdbSupport ? false, db
 , ldapSupport ? true, openldap
 }:
 
 assert sslSupport -> openssl != null;
-assert bdbSupport -> db4 != null;
+assert bdbSupport -> db != null;
 assert ldapSupport -> openldap != null;
 
+let
+  optional = stdenv.lib.optional;
+in
+
 stdenv.mkDerivation rec {
-  name = "apr-util-1.5.2";
+  name = "apr-util-1.5.3";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    md5 = "89c1348aa79e898d7c34a6206311c9c2";
+    sha256 = "0s1rpqjy5xr03k9s4xrsm5wvhj5286vlkf6jvqayw99yy5sb3vbq";
   };
 
   configureFlags = ''
     --with-apr=${apr} --with-expat=${expat}
     --with-crypto
     ${stdenv.lib.optionalString sslSupport "--with-openssl"}
-    ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db4}"}
+    ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db}"}
     ${stdenv.lib.optionalString ldapSupport "--with-ldap"}
   '';
 
   buildInputs = stdenv.lib.optional sslSupport openssl;
 
-  propagatedBuildInputs = stdenv.lib.optional ldapSupport openldap;
+  propagatedBuildInputs = [ makeWrapper apr expat ]
+    ++ optional sslSupport openssl
+    ++ optional bdbSupport db
+    ++ optional ldapSupport openldap;
+
+  # Give apr1 access to sed for runtime invocations
+  postInstall = ''
+    wrapProgram $out/bin/apu-1-config --prefix PATH : "${gnused}/bin"
+  '';
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index 050ea96869f..23ad3261fb5 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -1,18 +1,14 @@
 { stdenv, fetchurl }:
 
-let
-   inherit (stdenv.lib) optionals;
-in
-
 stdenv.mkDerivation rec {
-  name = "apr-1.4.8";
+  name = "apr-1.5.1";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    md5 = "ce2ab01a0c3cdb71cf0a6326b8654f41";
+    sha256 = "1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9";
   };
 
-  patches = optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ];
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ];
 
   outputs = [ "dev" "out" ];
 
@@ -38,5 +34,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://apr.apache.org/;
     description = "The Apache Portable Runtime library";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index 0ddb1aaa749..226f792c45a 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -1,23 +1,28 @@
-{ stdenv, fetchurl, gwenhywfar, pkgconfig, gmp, zlib }:
+{ stdenv, fetchurl, gmp, gwenhywfar, libtool, libxml2, libxslt
+, pkgconfig, xmlsec, zlib
+}:
 
 stdenv.mkDerivation rec {
-  name = "aqbanking-5.0.21";
+  name = "aqbanking-5.4.0beta";
 
   src = fetchurl {
-    url = "http://www2.aquamaniac.de/sites/download/download.php?package=03&release=91&file=01&dummy=aqbanking-5.0.21.tar.gz";
+    url = "http://www2.aquamaniac.de/sites/download/download.php?package=03&release=112&file=01&dummy=aqbanking-5.4.0beta.tar.gz";
     name = "${name}.tar.gz";
-    sha256 = "1xvzg640fswkrjrkrqzj0j9lnij7kcpnyvzd7nsg1by40wxwgp52";
+    sha256 = "0yd588sw9grc2c0bfyx8h39mr30pa1zxrcbv31p6pz6szilk2agh";
   };
 
-  buildInputs = [ gwenhywfar gmp zlib ];
+  buildInputs = [ gmp gwenhywfar libtool libxml2 libxslt xmlsec zlib ];
 
   nativeBuildInputs = [ pkgconfig ];
 
   configureFlags = "--with-gwen-dir=${gwenhywfar}";
 
-  meta = {
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-    # Tries to install gwenhywfar plugin, thus `make install` fails
-    platforms = [];
+  meta = with stdenv.lib; {
+    description = "An interface to banking tasks, file formats and country information";
+    homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=03&showall=1";
+    hydraPlatforms = [];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ goibhniu urkud ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/asio/default.nix b/pkgs/development/libraries/asio/default.nix
index acf53c708e0..b5ed6f30e34 100644
--- a/pkgs/development/libraries/asio/default.nix
+++ b/pkgs/development/libraries/asio/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, boost, openssl}:
 
 stdenv.mkDerivation rec {
-  name = "asio-1.5.3";
+  name = "asio-1.10.2";
   
   src = fetchurl {
     url = "mirror://sourceforge/asio/${name}.tar.bz2";
-    sha256 = "08fdsv1zhwbfwlx3r3dzl1371lxy5gw92ms0kqcscxqn0ycf3rlj";
+    sha256 = "1lqxm3gc8rzzjq0m843l59ggbw32bih7smm5spry1j5khfc86p41";
   };
 
   propagatedBuildInputs = [ boost ];
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index a69cee99b2b..734bcc0797c 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -12,6 +12,13 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  preConfigure = ''
+    configureFlagsArray=(
+      --enable-pkglibdir=$out/lib/aspell
+      --enable-pkgdatadir=$out/lib/aspell
+    );
+  '';
+
   # Note: Users should define the `ASPELL_CONF' environment variable to
   # `dict-dir $HOME/.nix-profile/lib/aspell/' so that they can access
   # dictionaries installed in their profile.
@@ -22,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Spell checker for many languages";
     homepage = http://aspell.net/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index 0f27705160f..79a75708c16 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -140,6 +140,24 @@ in {
     };
   };
 
+  pt_BR = buildDict {
+    shortName = "pt_BR-20090702";
+    fullName = "Brazilian Portuguese";
+    src = fetchurl {
+      url = mirror://gnu/aspell/dict/pt_BR/aspell6-pt_BR-20090702-0.tar.bz2;
+      sha256 = "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p";
+    };
+  };
+
+  pt_PT = buildDict {
+    shortName = "pt_PT-20070510";
+    fullName = "Portuguese";
+    src = fetchurl {
+      url = mirror://gnu/aspell/dict/pt_PT/aspell6-pt_PT-20070510-0.tar.bz2;
+      sha256 = "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq";
+    };
+  };
+
   ru = buildDict {
     shortName = "ru-0.99f7-1";
     fullName = "Russian";
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
new file mode 100644
index 00000000000..416a33b09a2
--- /dev/null
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xlibs, libXi
+, intltool, dbus_glib, at_spi2_core, libSM }:
+
+stdenv.mkDerivation rec {
+  versionMajor = "2.12";
+  versionMinor = "1";
+  moduleName   = "at-spi2-atk";
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "5fa9c527bdec028e06797563cd52d49bcf06f638549df983424d88db89bb1336";
+  };
+
+  buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
+                  intltool dbus_glib at_spi2_core libSM ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
new file mode 100644
index 00000000000..d60a0ff7480
--- /dev/null
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib
+, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
+
+stdenv.mkDerivation (rec {
+  versionMajor = "2.12";
+  versionMinor = "0";
+  moduleName   = "at-spi2-core";
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "12gvsgdaxnxskndlhlmdkc50cfqgmzfc4n8la9944fz5k3fhwmfv";
+  };
+
+  buildInputs = [
+    python pkgconfig popt  intltool dbus_glib
+    libX11 xextproto libSM libICE libXtst libXi
+    gobjectIntrospection
+  ];
+
+  # ToDo: on non-NixOS we create a symlink from there?
+  configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
+  // stdenv.lib.optionalAttrs stdenv.isDarwin {
+    NIX_LDFLAGS = "-lintl";
+  }
+)
+
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index f116da12643..df509943ba2 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.8.nix b/pkgs/development/libraries/aterm/2.8.nix
index 498b0244b87..a153443a54e 100644
--- a/pkgs/development/libraries/aterm/2.8.nix
+++ b/pkgs/development/libraries/aterm/2.8.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 let
   isMingw = stdenv ? cross && stdenv.cross.config == "i686-pc-mingw32" ;
 in
-stdenv.mkDerivation ( {
+stdenv.mkDerivation {
   name = "aterm-2.8";
 
   src = fetchurl {
@@ -23,9 +23,14 @@ stdenv.mkDerivation ( {
   # feel too serious to just ignore.
   doCheck = true;
 
+  dontStrip = isMingw;
+
   meta = {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = stdenv.lib.maintainers.eelco;
+    broken = true;
   };
-} // ( if isMingw then { dontStrip = true; } else {}) )
+}
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index d358b9c4231..d6b080050be 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection }:
 
+let
+  ver_maj = "2.12";
+  ver_min = "0";
+in
 stdenv.mkDerivation rec {
-  name = "atk-2.8.0";
+  name = "atk-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/atk/2.8/${name}.tar.xz";
-    sha256 = "1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj";
+    url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz";
+    sha256 = "13zijfcmx7sda83qkryzsmr9hw0r3b73xkagq9cmm733fhcl7a28";
   };
 
   enableParallelBuilding = true;
@@ -18,6 +22,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib gobjectIntrospection /*ToDo: why propagate*/ ];
 
+  #doCheck = true; # no checks in there (2.10.0)
+
   meta = {
     description = "Accessibility toolkit";
 
@@ -31,10 +37,10 @@ stdenv.mkDerivation rec {
 
     homepage = http://library.gnome.org/devel/atk/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 
 }
diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix
index b25432491fb..03f08efca98 100644
--- a/pkgs/development/libraries/atkmm/default.nix
+++ b/pkgs/development/libraries/atkmm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, atk, glibmm, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "atkmm-2.22.6";
+  name = "atkmm-2.22.7";
 
   src = fetchurl {
-    url = mirror://gnome/sources/atkmm/2.22/atkmm-2.22.6.tar.xz;
-    sha256 = "1dmf72i7jv2a2gavjiah2722bf5qk3hb97hn5dasxqxr0r8jjx0a";
+    url = "mirror://gnome/sources/atkmm/2.22/${name}.tar.xz";
+    sha256 = "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz";
   };
 
   propagatedBuildInputs = [ atk glibmm ];
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index 8000dacfc46..e4e9142b632 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "attr-2.4.46";
+  name = "attr-2.4.47";
 
   src = fetchurl {
     url = "mirror://savannah/attr/${name}.src.tar.gz";
-    sha256 = "07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw";
+    sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix
index abfb3985f26..7a5351da10e 100644
--- a/pkgs/development/libraries/aubio/default.nix
+++ b/pkgs/development/libraries/aubio/default.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchurl, pkgconfig, fftw, libsndfile, libsamplerate
-, python, alsaLib, jackaudio }:
+{ stdenv, fetchurl, alsaLib, fftw, jack2, libsamplerate
+, libsndfile, pkgconfig, python
+}:
 
 stdenv.mkDerivation rec {
-  name = "aubio-0.3.2";
+  name = "aubio-0.4.1";
 
   src = fetchurl {
-    url = "http://aubio.org/pub/${name}.tar.gz";
-    sha256 = "1k8j2m8wdpa54hvrqy6nqfcx42x6nwa77hi3ym0n22k192q8f4yw";
+    url = "http://aubio.org/pub/${name}.tar.bz2";
+    sha256 = "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5";
   };
 
-  buildInputs =
-    [ pkgconfig fftw libsndfile libsamplerate python
-      # optional:
-      alsaLib jackaudio
-    ];
+  buildInputs = [
+    alsaLib fftw jack2 libsamplerate libsndfile pkgconfig python
+  ];
 
-  meta = { 
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; { 
     description = "Library for audio labelling";
     homepage = http://aubio.org/;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.goibhniu maintainers.marcweber ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index 1baa96cd6da..d1510e34238 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lilv-${version}";
-  version = "0.16.0";
+  version = "0.18.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1ddrcikypi7gfmj5cqn975axzrgv7mhzif4h0ni9w5b4v64rvcyg";
+    sha256 = "1k9wfc08ylgbkwbnvh1fx1bdzl3y59xrrx8gv0vk68yzcvcmv6am";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord sratom ];
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "A C library to make the use of LV2 plugins";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index ce8ad3f9d52..25d19d089a5 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
-  version = "1.4.0";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "http://lv2plug.in/spec/${name}.tar.bz2";
-    sha256 = "035hlfva2mij698nj3z1mz9g4mj4z5jx9axs6ww47jgyjcq38asz";
+    sha256 = "1mxkp7gajh1alw6s358cqwf3qkpr1ld9wfxwswnqrxcd9a7hxjd4";
   };
 
   buildInputs = [ gtk libsndfile pkgconfig python ];
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "A plugin standard for audio systems";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix
new file mode 100644
index 00000000000..7b296ea6d13
--- /dev/null
+++ b/pkgs/development/libraries/audio/lvtk/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, boost, gtkmm, lv2, pkgconfig, python }:
+
+stdenv.mkDerivation rec {
+  name = "lvtk-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/lvtk/lvtk/archive/${version}.tar.gz";
+    sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd";
+  };
+
+  buildInputs = [ boost gtkmm lv2 pkgconfig python ];
+
+  configurePhase = ''
+    python waf configure --prefix=$out --boost-includes=${boost}/include
+  '';
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    description = "A set C++ wrappers around the LV2 C API";
+    homepage = http://lvtoolkit.org;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix
new file mode 100644
index 00000000000..aad3656cde8
--- /dev/null
+++ b/pkgs/development/libraries/audio/raul/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchsvn, boost, gtk, pkgconfig, python }:
+
+stdenv.mkDerivation rec {
+  name = "raul-svn-${rev}";
+  rev = "5205";
+
+  src = fetchsvn {
+    url = "http://svn.drobilla.net/lad/trunk/raul";
+    rev = rev;
+    sha256 = "1rkl7vxhwf6d0qfl2ymfd1qwmh9cl1xv6kkz893xg0blpvzcdmp3";
+  };
+
+  buildInputs = [ boost gtk pkgconfig python ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    description = "A C++ utility library primarily aimed at audio/musical applications";
+    homepage = http://drobilla.net/software/raul;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
index daaf780e45d..ac0b9d233fa 100644
--- a/pkgs/development/libraries/audio/sratom/default.nix
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sratom-${version}";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "16i5snknl9frz638mgr58lp11ap1xmkbrkb3l6f0ad8ddqpcjm3i";
+    sha256 = "1q4044md8nmqah8ay5mf4lgdl6x0sfa4cjqyqk9da8nqzvs2j37s";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord ];
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "A library for serialising LV2 atoms to/from RDF";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 45253b65edb..87e03472659 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "suil-${version}";
-  version = "0.6.10";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1y7zgfciphr3icamikdfv2gh8xwix5blpq4npl426399i8f4ya5y";
+    sha256 = "0y5sbgaivb03vmr3jcpzj16wqxa5h744ml4w3ylzglbxs2bqgl7n";
   };
 
   buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ];
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/audio/vamp/default.nix b/pkgs/development/libraries/audio/vamp/default.nix
index bfca4a52304..f4c4220a879 100644
--- a/pkgs/development/libraries/audio/vamp/default.nix
+++ b/pkgs/development/libraries/audio/vamp/default.nix
@@ -6,21 +6,21 @@
 rec {
 
   vampSDK = stdenv.mkDerivation {
-    name = "vamp-sdk-2.2.1";
+    name = "vamp-sdk-2.5";
 
     src = fetchurl {
-      url = mirror://sourceforge/vamp/vamp-plugin-sdk-2.2.1.tar.gz;
-      sha256 = "09iw6gv8aqq5v322fhi872mrhjp0a2w63966g0mks4vhh84q252p";
+      url = http://code.soundsoftware.ac.uk/attachments/download/690/vamp-plugin-sdk-2.5.tar.gz;
+      sha256 = "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv";
     };
 
-    buildInputs = [pkgconfig libsndfile];
+    buildInputs = [ pkgconfig libsndfile ];
 
-    meta = { 
+    meta = with stdenv.lib; {
       description = "Audio processing plugin system for plugins that extract descriptive information from audio data";
       homepage = http://sourceforge.net/projects/vamp;
-      license = "BSD";
-      maintainers = [ stdenv.lib.maintainers.marcweber ];
-      platforms = stdenv.lib.platforms.linux;
+      license = licenses.bsd3;
+      maintainers = [ maintainers.goibhniu maintainers.marcweber ];
+      platforms = platforms.linux;
     };
   };
 
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index 73f38f02814..c8fb8c53dc0 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "audiofile-0.3.3";
+  name = "audiofile-0.3.6";
 
-  buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+  nativeBuildInputs = stdenv.lib.optional stdenv.isLinux alsaLib;
 
   src = fetchurl {
     url = "http://audiofile.68k.org/${name}.tar.gz";
-    sha256 = "1qm7z0g1d9rcxi1m87slgdi0rhl94g13dx3d2b05dilghwpgjjgq";
+    sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind";
   };
 
   meta = with stdenv.lib; {
     description = "Library for reading and writing audio files in various formats";
     homepage    = http://www.68k.org/~michael/audiofile/; 
     license     = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ lovek323 shlevy ];
+    maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index f4795286e09..0adc7d56357 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -7,11 +7,11 @@
 assert qt4Support -> qt4 != null;
 
 stdenv.mkDerivation rec {
-  name = "avahi-0.6.30";
+  name = "avahi-0.6.31";
 
   src = fetchurl {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "07zzaxs81rbrfhj0rnq616c3j37f3g84dn7d4q3h5l1r4dn33r7r";
+    sha256 = "0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3";
   };
 
   patches = [ ./no-mkdir-localstatedir.patch ];
@@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
     avahi-core/socket.c
   '';
 
+  postInstall = ''
+    # Maintain compat for mdnsresponder and howl
+    ${if withLibdnssdCompat then "ln -s avahi-compat-libdns_sd/dns_sd.h $out/include/dns_sd.h" else ""}
+    ln -s avahi-compat-howl $out/include/howl
+    ln -s avahi-compat-howl.pc $out/lib/pkgconfig/howl.pc
+  '';
+
   meta = with stdenv.lib; {
     description = "mDNS/DNS-SD implementation";
     homepage    = http://avahi.org;
diff --git a/pkgs/development/libraries/axis/default.nix b/pkgs/development/libraries/axis/default.nix
index f2c466009d4..62ae463b5fc 100644
--- a/pkgs/development/libraries/axis/default.nix
+++ b/pkgs/development/libraries/axis/default.nix
@@ -1,12 +1,16 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-	name = "axis-1.3";
-	directory = "axis-1_3";
-	builder = ./builder.sh;
-	src = fetchurl {
-		url = "http://apache.cs.uu.nl/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
-		md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
-	};
-	inherit stdenv;
+  name = "axis-1.3";
+  directory = "axis-1_3";
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
+    md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
+  };
+  inherit stdenv;
+
+  meta = {
+    description = "Implementation of the SOAP (Simple Object Access Protocol) submission to W3C";
+  };
 }
diff --git a/pkgs/development/libraries/babl/0_0_22.nix b/pkgs/development/libraries/babl/0_0_22.nix
index 2464a09f51a..3983816a8b4 100644
--- a/pkgs/development/libraries/babl/0_0_22.nix
+++ b/pkgs/development/libraries/babl/0_0_22.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Image pixel format conversion library";
     homepage = http://gegl.org/babl/;
-    license = "GPL3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 41280e87253..473df8819c0 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "Image pixel format conversion library";
     homepage = http://gegl.org/babl/;
-    license = "GPL3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/beecrypt/default.nix b/pkgs/development/libraries/beecrypt/default.nix
index 430e45ceec1..d90dae2dee0 100644
--- a/pkgs/development/libraries/beecrypt/default.nix
+++ b/pkgs/development/libraries/beecrypt/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, m4}:
 
 stdenv.mkDerivation {
-  name = "beecrypt-4.1.2";
+  name = "beecrypt-4.2.1";
   src = fetchurl {
-    url = mirror://sourceforge/beecrypt/beecrypt-4.1.2.tar.gz;
-    md5 = "820d26437843ab0a6a8a5151a73a657c";
+    url = mirror://sourceforge/beecrypt/beecrypt-4.2.1.tar.gz;
+    sha256 = "0pf5k1c4nsj77jfq5ip0ra1gzx2q47xaa0s008fnn6hd11b1yvr8";
   };
   buildInputs = [m4];
   configureFlags = "--disable-optimized --enable-static";
diff --git a/pkgs/development/libraries/boolstuff/default.nix b/pkgs/development/libraries/boolstuff/default.nix
index 9b5c25d4ca4..c1bd8a4b3a2 100644
--- a/pkgs/development/libraries/boolstuff/default.nix
+++ b/pkgs/development/libraries/boolstuff/default.nix
@@ -3,11 +3,11 @@
 let baseurl = "http://perso.b2b2c.ca/sarrazip/dev"; in
 
 stdenv.mkDerivation rec {
-  name = "boolstuff-0.1.13";
+  name = "boolstuff-0.1.14";
 
   src = fetchurl {
     url = "${baseurl}/${name}.tar.gz";
-    sha256 = "0akwb57lnzq1ak32k6mdxbma2gj0pqhj8y9m6hq79djb9s3mxvmn";
+    sha256 = "1ccn9v3kxz44pv3mr8q0l2i9769jiigw1gfv47ia50mbspwb87r6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/boost/1.44.nix b/pkgs/development/libraries/boost/1.44.nix
index 7ed3c311de2..b188586e84f 100644
--- a/pkgs/development/libraries/boost/1.44.nix
+++ b/pkgs/development/libraries/boost/1.44.nix
@@ -69,6 +69,7 @@ stdenv.mkDerivation {
        sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
      })
     ./time_utc_144.patch
+    ./boost-149-cstdint.patch
   ];
 
   crossAttrs = rec {
diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix
index 6035232caf6..fca4249e963 100644
--- a/pkgs/development/libraries/boost/1.49.nix
+++ b/pkgs/development/libraries/boost/1.49.nix
@@ -57,7 +57,12 @@ stdenv.mkDerivation {
   };
 
   # See <http://svn.boost.org/trac/boost/ticket/4688>.
-  patches = [ ./boost_filesystem_post_1_49_0.patch ./time_utc.patch ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch );
+  patches = [
+    ./CVE-2013-0252.patch # https://svn.boost.org/trac/boost/ticket/7743
+    ./boost_filesystem_post_1_49_0.patch
+    ./time_utc.patch
+    ./boost-149-cstdint.patch
+  ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch );
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/boost/1.53.nix b/pkgs/development/libraries/boost/1.53.nix
deleted file mode 100644
index ff09dfd5954..00000000000
--- a/pkgs/development/libraries/boost/1.53.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
-, enableRelease ? true
-, enableDebug ? false
-, enableSingleThreaded ? false
-, enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
-, enablePIC ? false
-, enableExceptions ? false
-, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
-}:
-
-let
-
-  variant = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableRelease "release" ++
-     stdenv.lib.optional enableDebug "debug");
-
-  threading = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableSingleThreaded "single" ++
-     stdenv.lib.optional enableMultiThreaded "multi");
-
-  link = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableShared "shared" ++
-     stdenv.lib.optional enableStatic "static");
-
-  # To avoid library name collisions
-  layout = if taggedLayout then "tagged" else "system";
-
-  cflags = if enablePIC && enableExceptions then
-             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
-           else if enablePIC then
-             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
-           else if enableExceptions then
-             "cflags=-fexceptions"
-           else
-             "";
-in
-
-stdenv.mkDerivation {
-  name = "boost-1.53.0";
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Boost C++ Library Collection";
-    license = "boost-license";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_53_0.tar.bz2";
-    sha256 = "15livg6y1l3gdsg6ybvp3y4gp0w3xh1rdcq5bjf0qaw804dh92pq";
-  };
-
-  enableParallelBuilding = true;
-
-  buildInputs = [icu expat zlib bzip2 python];
-
-  configureScript = "./bootstrap.sh";
-  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
-
-  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
-
-  # normal install does not install bjam, this is a separate step
-  installPhase = ''
-    cd tools/build/v2
-    sh bootstrap.sh
-    ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install
-  '';
-
-  crossAttrs = rec {
-    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
-    # We want to substitute the contents of configureFlags, removing thus the
-    # usual --build and --host added on cross building.
-    preConfigure = ''
-      export configureFlags="--prefix=$out --without-icu"
-    '';
-    buildPhase = ''
-      set -x
-      cat << EOF > user-config.jam
-      using gcc : cross : $crossConfig-g++ ;
-      EOF
-      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/boost/1.54.nix b/pkgs/development/libraries/boost/1.54.nix
deleted file mode 100644
index ba4252feaa5..00000000000
--- a/pkgs/development/libraries/boost/1.54.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
-, enableRelease ? true
-, enableDebug ? false
-, enableSingleThreaded ? false
-, enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
-, enablePIC ? false
-, enableExceptions ? false
-, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
-}:
-
-let
-
-  variant = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableRelease "release" ++
-     stdenv.lib.optional enableDebug "debug");
-
-  threading = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableSingleThreaded "single" ++
-     stdenv.lib.optional enableMultiThreaded "multi");
-
-  link = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableShared "shared" ++
-     stdenv.lib.optional enableStatic "static");
-
-  # To avoid library name collisions
-  layout = if taggedLayout then "tagged" else "system";
-
-  cflags = if enablePIC && enableExceptions then
-             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
-           else if enablePIC then
-             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
-           else if enableExceptions then
-             "cflags=-fexceptions"
-           else
-             "";
-in
-
-stdenv.mkDerivation {
-  name = "boost-1.54.0";
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Boost C++ Library Collection";
-    license = "boost-license";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_54_0.tar.bz2";
-    sha256 = "07df925k56pbz3gvhxpx54aij34qd40a7sxw4im11brnwdyr4zh4";
-  };
-
-  enableParallelBuilding = true;
-
-  buildInputs = [icu expat zlib bzip2 python];
-
-  configureScript = "./bootstrap.sh";
-  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
-
-  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
-
-  # normal install does not install bjam, this is a separate step
-  installPhase = ''
-    cd tools/build/v2
-    sh bootstrap.sh
-    ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install
-  '';
-
-  crossAttrs = rec {
-    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
-    # We want to substitute the contents of configureFlags, removing thus the
-    # usual --build and --host added on cross building.
-    preConfigure = ''
-      export configureFlags="--prefix=$out --without-icu"
-    '';
-    buildPhase = ''
-      set -x
-      cat << EOF > user-config.jam
-      using gcc : cross : $crossConfig-g++ ;
-      EOF
-      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix
new file mode 100644
index 00000000000..bf355f7169c
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.55.nix
@@ -0,0 +1,99 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames
+, toolset ? null
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+  # To avoid library name collisions
+  layout = if taggedLayout then "tagged" else "system";
+
+  cflags = if enablePIC && enableExceptions then
+             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
+           else if enablePIC then
+             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+           else if enableExceptions then
+             "cflags=-fexceptions"
+           else
+             "";
+
+  withToolset = stdenv.lib.optionalString (toolset != null) " --with-toolset=${toolset}";
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.55.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
+    sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs =
+    [ icu expat zlib bzip2 python ]
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python" + withToolset;
+
+  buildPhase = "${stdenv.lib.optionalString (toolset == "clang") "unset NIX_ENFORCE_PURITY; "}./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install${withToolset}";
+
+  # normal install does not install bjam, this is a separate step
+  installPhase = ''
+    cd tools/build/v2
+    sh bootstrap.sh${withToolset}
+    ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install${withToolset}
+    rm $out/bin/bjam
+    ln -s $out/bin/b2 $out/bin/bjam
+    rm -rf $out/share/boost-build/example
+  '';
+
+  crossAttrs = rec {
+    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
+    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
+    # override them.
+    propagatedBuildInputs = buildInputs;
+    # We want to substitute the contents of configureFlags, removing thus the
+    # usual --build and --host added on cross building.
+    preConfigure = ''
+      export configureFlags="--prefix=$out --without-icu"
+    '';
+    buildPhase = ''
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/boost/CVE-2013-0252.patch b/pkgs/development/libraries/boost/CVE-2013-0252.patch
new file mode 100644
index 00000000000..fce52d47969
--- /dev/null
+++ b/pkgs/development/libraries/boost/CVE-2013-0252.patch
@@ -0,0 +1,48 @@
+Index: /boost/locale/utf.hpp

+===================================================================

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

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

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

+                     return incomplete;

+                 tmp = *p++;

++                if (!is_trail(tmp))

++                    return illegal;

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

+             case 2:

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

+                     return incomplete;

+                 tmp = *p++;

++                if (!is_trail(tmp))

++                    return illegal;

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

+             case 1:

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

+                     return incomplete;

+                 tmp = *p++;

++                if (!is_trail(tmp))

++                    return illegal;

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

+             }

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

+===================================================================

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

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

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

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

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

++

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 

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

diff --git a/pkgs/development/libraries/boost/boost-149-cstdint.patch b/pkgs/development/libraries/boost/boost-149-cstdint.patch
new file mode 100644
index 00000000000..94c7b471666
--- /dev/null
+++ b/pkgs/development/libraries/boost/boost-149-cstdint.patch
@@ -0,0 +1,15 @@
+diff -ru -x '*~' boost_1_49_0-orig/boost/cstdint.hpp boost_1_49_0/boost/cstdint.hpp
+--- boost_1_49_0-orig/boost/cstdint.hpp	2012-01-29 22:58:13.000000000 +0100
++++ boost_1_49_0/boost/cstdint.hpp	2013-12-10 11:48:19.304042208 +0100
+@@ -41,7 +41,10 @@
+ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
+ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
+ //
+-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
++#if defined(BOOST_HAS_STDINT_H)					\
++  && (!defined(__GLIBC__)					\
++      || defined(__GLIBC_HAVE_LONG_LONG)			\
++      || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
+ 
+ // The following #include is an implementation artifact; not part of interface.
+ # ifdef __hpux
diff --git a/pkgs/development/libraries/boost/header-only-wrapper.nix b/pkgs/development/libraries/boost/header-only-wrapper.nix
index d32462d3720..96c9216a371 100644
--- a/pkgs/development/libraries/boost/header-only-wrapper.nix
+++ b/pkgs/development/libraries/boost/header-only-wrapper.nix
@@ -8,10 +8,7 @@ in
 stdenv.mkDerivation {
   name = "boost-headers-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/${pkgid}.tar.bz2";
-    sha256 = "07df925k56pbz3gvhxpx54aij34qd40a7sxw4im11brnwdyr4zh4";
-  };
+  src = boost.src;
 
   phases = [ "installPhase" ];
 
@@ -20,6 +17,8 @@ stdenv.mkDerivation {
     tar xf $src -C $out/include --strip-components=1 ${pkgid}/boost
   '';
 
+  preferLocalBuild = true;
+
   meta = {
     homepage = "http://boost.org/";
     description = "Boost C++ Library Collection";
diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix
new file mode 100644
index 00000000000..a4ea804b776
--- /dev/null
+++ b/pkgs/development/libraries/boringssl/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, cmake, perl }:
+
+stdenv.mkDerivation rec {
+  name = "boringssl-${version}";
+  version = "20140820-a7d1363f";
+
+  src = fetchgit {
+    url    = "https://boringssl.googlesource.com/boringssl";
+    rev    = "a7d1363fcb1f0d825ec2393c06be3d58b0c57efd";
+    sha256 = "d27dd1416de1a2ea4ec2c219248b2ed2cce5c0405e56adb394077ddc7c319bab";
+  };
+
+  buildInputs = [ cmake perl ];
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    mkdir -p $out/bin $out/include $out/lib
+
+    mv tool/bssl    $out/bin
+    mv ssl/libssl.a $out/lib
+    mv ../include/openssl $out/include
+  '';
+
+  meta = {
+    description = "Free TLS/SSL implementation";
+    homepage    = "https://boringssl.googlesource.com";
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/botan/default.nix b/pkgs/development/libraries/botan/default.nix
index 18de87b0667..64dd821c43f 100644
--- a/pkgs/development/libraries/botan/default.nix
+++ b/pkgs/development/libraries/botan/default.nix
@@ -14,12 +14,12 @@ let
   sourceInfo = rec {
     baseName="botan";
     tarBaseName="Botan";
-    baseVersion="1.8";
-    revision="11";
+    baseVersion = "1.10";
+    revision = "8";
     version="${baseVersion}.${revision}";
     name="${baseName}-${version}";
     url="http://files.randombit.net/${baseName}/v${baseVersion}/${tarBaseName}-${version}.tbz";
-    hash="194vffc9gfb0912lzndn8nzblg2d2gjmk13fc8hppgpw7ln0mdn3";
+    hash = "182f316rbdd6jrqn92vjms3jyb9syn4ic0nzi3b7rfjbj3zdabxw";
   };
 in
 rec {
@@ -32,8 +32,13 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  phaseNames = ["doConfigure" "doMakeInstall" "fixPkgConfig"];
   configureCommand = "python configure.py --with-gnump --with-bzip2 --with-zlib --with-openssl --with-tr1-implementation=boost";
+
+  fixPkgConfig = a.fullDepEntry ''
+    cd "$out"/lib/pkgconfig
+    ln -s botan-*.pc botan.pc || true
+  '' ["minInit" "doMakeInstall"];
       
   meta = {
     description = "Cryptographic algorithms library";
@@ -43,6 +48,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       unix;
+    inherit version;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/development/libraries/botan/default.upstream b/pkgs/development/libraries/botan/default.upstream
new file mode 100644
index 00000000000..8b51ede3bc9
--- /dev/null
+++ b/pkgs/development/libraries/botan/default.upstream
@@ -0,0 +1,9 @@
+url http://botan.randombit.net/download.html
+version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tbz|tbz2|tar[.]bz2)$'
+ensure_version
+do_overwrite(){
+  ensure_hash
+  set_var_value hash $CURRENT_HASH
+  set_var_value baseVersion ${CURRENT_VERSION%.*}
+  set_var_value revision ${CURRENT_VERSION##*.}
+}
diff --git a/pkgs/development/libraries/botan/unstable.nix b/pkgs/development/libraries/botan/unstable.nix
new file mode 100644
index 00000000000..677172dd3ac
--- /dev/null
+++ b/pkgs/development/libraries/botan/unstable.nix
@@ -0,0 +1,58 @@
+x@{builderDefsPackage
+  , python
+  , bzip2, zlib, gmp, openssl
+  , boost
+  , ...}:
+builderDefsPackage
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="botan";
+    tarBaseName="Botan";
+    baseVersion = "1.11";
+    revision = "9";
+    version="${baseVersion}.${revision}";
+    name="${baseName}-${version}";
+    url="http://files.randombit.net/${baseName}/v${baseVersion}/${tarBaseName}-${version}.tbz";
+    hash = "0jgx5va042gmr6nc91p5dd59wnfxlz19mz2nnyv74pvwwmizs09m";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["doConfigure" "doMakeInstall" "fixPkgConfig"];
+  configureCommand = "python configure.py --with-gnump --with-bzip2 --with-zlib --with-openssl";
+
+  fixPkgConfig = a.fullDepEntry ''
+    cd "$out"/lib/pkgconfig
+    ln -s botan-*.pc botan.pc || true
+  '' ["minInit" "doMakeInstall"];
+
+  meta = {
+    description = "Cryptographic algorithms library";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      unix;
+    inherit version;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://files.randombit.net/botan/";
+    };
+  };
+}) x
diff --git a/pkgs/development/libraries/botan/unstable.upstream b/pkgs/development/libraries/botan/unstable.upstream
new file mode 100644
index 00000000000..9d539a2a6ea
--- /dev/null
+++ b/pkgs/development/libraries/botan/unstable.upstream
@@ -0,0 +1,9 @@
+url http://botan.randombit.net/download.html
+version_link 'Botan-[0-9]+[.][0-9]+([.][0-9]+)?[.](tbz|tbz2|tar[.]bz2)$'
+ensure_version
+do_overwrite(){
+  ensure_hash
+  set_var_value hash $CURRENT_HASH
+  set_var_value baseVersion ${CURRENT_VERSION%.*}
+  set_var_value revision ${CURRENT_VERSION##*.}
+}
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 9d261191fbb..74875e41783 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -1,6 +1,6 @@
 x@{builderDefsPackage
   , unzip, cmake, mesa, freeglut, libX11, xproto
-  , inputproto, libXi
+  , inputproto, libXi, fetchsvn, pkgconfig
   , ...}:
 builderDefsPackage
 (a :  
@@ -10,21 +10,17 @@ let
 
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="box2d";
-    version="2.1.2";
-    name="${baseName}-${version}";
-    url="http://box2d.googlecode.com/files/Box2D_v${version}.zip";
-    hash="0m5szd74ig8yqazwk2g3zl4z7wwp08k52awawk1pigy6a4z1qd9v";
-  };
 in
 rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+  version = "2.3.0";
+  name = "box2d-${version}";
+  srcDrv = a.fetchsvn {
+    url = "http://box2d.googlecode.com/svn/trunk";
+    rev = "277";
+    sha256 = "1xp93yw2zcqhmh999v7cwqaqxq1glgyg5r8kfm4yabc1ypba3in4";
   };
+  src = srcDrv + "/";
 
-  inherit (sourceInfo) name version;
   inherit buildInputs;
 
   phaseNames = ["changeSettings" "doCmake" "doMakeInstall"];
@@ -49,11 +45,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "bsd";
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/box2d/downloads/list";
-    };
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix
index 3cfa2a25021..d23b2f27c07 100644
--- a/pkgs/development/libraries/buddy/default.nix
+++ b/pkgs/development/libraries/buddy/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "binary decision diagram package";
     license = "as-is";
 
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
index 17f2b545168..0d1913bc8e7 100644
--- a/pkgs/development/libraries/bwidget/default.nix
+++ b/pkgs/development/libraries/bwidget/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "bwidget-${version}";
-  version = "1.9.5";
+  version = "1.9.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
-    sha256 = "1njssjjvfalsfh37prkxwqi4hf0zj1d54qzggvjwpzkm424jjcii";
+    sha256 = "1z2z77l41g01ra7v716c0q3x8s2kx30l4p1kf21ma8bdqa98arp6";
   };
 
   dontBuild = true;
 
   installPhase = ''
-    ensureDir "$out/lib/${passthru.libPrefix}"
+    mkdir -p "$out/lib/${passthru.libPrefix}"
     cp -R *.tcl lang images "$out/lib/${passthru.libPrefix}"
   '';
 
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index c1b23179a1d..58e7c17f249 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.mit;
 
-    maintainer = [ stdenv.lib.maintainers.shlevy ];
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
diff --git a/pkgs/development/libraries/caelum/default.nix b/pkgs/development/libraries/caelum/default.nix
index e48ed5a7692..823eac14548 100644
--- a/pkgs/development/libraries/caelum/default.nix
+++ b/pkgs/development/libraries/caelum/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Add-on for the OGRE, aimed to render atmospheric effects";
     homepage = http://code.google.com/p/caelum/;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/cairo/1.12.2.nix b/pkgs/development/libraries/cairo/1.12.2.nix
deleted file mode 100644
index e60af3a23a8..00000000000
--- a/pkgs/development/libraries/cairo/1.12.2.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ postscriptSupport ? true
-, pdfSupport ? true
-, pngSupport ? true
-, xcbSupport ? false
-, gobjectSupport ? true, glib
-, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
-, zlib, libpng, pixman, libxcb ? null, xcbutil ? null
-, libiconvOrEmpty, libintlOrEmpty
-}:
-
-assert postscriptSupport -> zlib != null;
-assert pngSupport -> libpng != null;
-assert xcbSupport -> libxcb != null && xcbutil != null;
-
-stdenv.mkDerivation rec {
-  name = "cairo-1.12.2";
-
-  src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha1 = "bc2ee50690575f16dab33af42a2e6cdc6451e3f9";
-  };
-
-  buildInputs =
-    [ pkgconfig x11 fontconfig xlibs.libXrender ]
-    ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
-    ++ libintlOrEmpty
-    ++ libiconvOrEmpty;
-
-  propagatedBuildInputs =
-    [ freetype pixman ] ++
-    stdenv.lib.optional gobjectSupport glib ++
-    stdenv.lib.optional postscriptSupport zlib ++
-    stdenv.lib.optional pngSupport libpng;
-
-  NIX_CFLAGS_COMPILE = ( if stdenv.isDarwin
-                         then "-I${pixman}/include/pixman-1"
-                         else "" );
-
-  configureFlags =
-    [ "--enable-tee" ]
-    ++ stdenv.lib.optional xcbSupport "--enable-xcb"
-    ++ stdenv.lib.optional pdfSupport "--enable-pdf";
-
-  preConfigure = ''
-    # Work around broken `Requires.private' that prevents Freetype
-    # `-I' flags to be propagated.
-    sed -i "src/cairo.pc.in" \
-        -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
-  ''
-
-  # On FreeBSD, `-ldl' doesn't exist.
-  + (stdenv.lib.optionalString stdenv.isFreeBSD
-       '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in
-          do
-            cat "$i" | sed -es/-ldl//g > t
-            mv t "$i"
-          done
-       '');
-
-  enableParallelBuilding = true;
-
-  # The default `--disable-gtk-doc' is ignored.
-  postInstall = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "A 2D graphics library with support for multiple output devices";
-
-    longDescription = ''
-      Cairo is a 2D graphics library with support for multiple output
-      devices.  Currently supported output targets include the X
-      Window System, Quartz, Win32, image buffers, PostScript, PDF,
-      and SVG file output.  Experimental backends include OpenGL
-      (through glitz), XCB, BeOS, OS/2, and DirectFB.
-
-      Cairo is designed to produce consistent output on all output
-      media while taking advantage of display hardware acceleration
-      when available (e.g., through the X Render Extension).
-    '';
-
-    homepage = http://cairographics.org/;
-
-    licenses = [ "LGPLv2+" "MPLv1" ];
-
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index fc14e99fd09..0be0d74b292 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://cairographics.org/;
 
-    licenses = [ "LGPLv2+" "MPLv1" ];
+    license = [ "LGPLv2+" "MPLv1" ];
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index e47645737b1..f21abedc1f5 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://cairographics.org/;
 
-    licenses = [ "LGPLv2+" "MPLv1" ];
+    license = [ "LGPLv2+" "MPLv1" ];
   };
 }
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
new file mode 100644
index 00000000000..8a067f148d9
--- /dev/null
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "capnproto-0.4.1";
+
+  meta = with stdenv.lib; {
+    homepage    = "http://kentonv.github.io/capnproto";
+    description = "Cap'n Proto cerealization protocol";
+    longDescription = ''
+      Cap’n Proto is an insanely fast data interchange format and
+      capability-based RPC system. Think JSON, except binary. Or think Protocol
+      Buffers, except faster.
+    '';
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+
+  src = fetchurl {
+    url = "https://capnproto.org/capnproto-c++-0.4.1.tar.gz";
+    sha256 = "8453e8d508906062f113dbdfff552f41e08083ccf7c9407778a8d107675cd468";
+  };
+}
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
new file mode 100644
index 00000000000..d61c82bb7d3
--- /dev/null
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "capstone-${version}";
+  version = "2.1.2";
+
+  src = fetchurl {
+    url    = "http://www.capstone-engine.org/download/${version}/${name}.tgz";
+    sha256 = "1k6px3vdcsfby3lakss5sazs875kbzkzqk7cj79xrm2y5ik1vr29";
+  };
+
+  buildPhase = false;
+
+  patchPhase = ''
+    substituteInPlace make.sh --replace "/usr/bin/env bash" "${bash}/bin/bash"
+  '';
+
+  installPhase = "PREFIX=$out ./make.sh install";
+
+  meta = {
+    description = "advanced disassembly library";
+    homepage    = "http://www.capstone-engine.org";
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/ccrtp/1.8.nix b/pkgs/development/libraries/ccrtp/1.8.nix
index 78bf7a678ac..5105bd29876 100644
--- a/pkgs/development/libraries/ccrtp/1.8.nix
+++ b/pkgs/development/libraries/ccrtp/1.8.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     description = "GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF";
     homepage = "http://www.gnu.org/software/ccrtp/";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix
index 73ea5254182..2111e1b4a55 100644
--- a/pkgs/development/libraries/ccrtp/default.nix
+++ b/pkgs/development/libraries/ccrtp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, pkgconfig, libgcrypt, ucommon }:
 
 stdenv.mkDerivation {
-  name = "ccrtp-2.0.3";
+  name = "ccrtp-2.0.6";
 
   src = fetchurl {
-    url = mirror://gnu/ccrtp/ccrtp-2.0.3.tar.gz;
-    sha256 = "1p4zzqn02zvnyjy84khiq8v65pl422fb6ni946h9sxh4yw2lgn01";
+    url = mirror://gnu/ccrtp/ccrtp-2.0.6.tar.gz;
+    sha256 = "06rqwk2w5sikfb3l5bcpxszhq4g7ra840gqx1f011xrmhvclrzir";
   };
 
   buildInputs = [ openssl pkgconfig libgcrypt ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   meta = {
     description = "GNU ccRTP, an implementation of the IETF real-time transport protocol (RTP)";
     homepage = http://www.gnu.org/software/ccrtp/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/celt/default.nix b/pkgs/development/libraries/celt/default.nix
index 471a47de404..28e51efbc4b 100644
--- a/pkgs/development/libraries/celt/default.nix
+++ b/pkgs/development/libraries/celt/default.nix
@@ -10,10 +10,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="celt";
-    version="0.11.1";
+    version="0.11.3";
     name="${baseName}-${version}";
     url="http://downloads.xiph.org/releases/${baseName}/${name}.tar.gz";
-    hash="1gsc3pxydyzzra8w0r6hrrsalm76lrq4lw6bd283qa4bpagmghh1";
+    hash="0dh893wqbh0q4a0x1xyqryykmnhpv7mkblpch019s04a99fq2r3y";
   };
 in
 rec {
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index d04f8c8e750..4e75cda0c23 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -1,15 +1,16 @@
 { fetchurl, stdenv }:
 
-let version = "0.9.8"; in
+let version = "0.9.12"; in
 stdenv.mkDerivation {
   name = "check-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz";
-    sha256 = "0zvak7vx0zq344x174yg9vkw6fg9kycda15zlbz4yn07pdbgkb42";
+    sha256 = "18qybf3s25s1gydp2lwbc4icnmdc6f9sj21fllcwm81kw5apxm67";
   };
 
-  doCheck = true;
+  # Test can randomly fail: http://hydra.nixos.org/build/7243912
+  doCheck = false;
 
   meta = {
     description = "Check, a unit testing framework for C";
@@ -25,6 +26,6 @@ stdenv.mkDerivation {
 
     homepage = http://check.sourceforge.net/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix
index d5471b9be75..d148c4d829a 100644
--- a/pkgs/development/libraries/chipmunk/default.nix
+++ b/pkgs/development/libraries/chipmunk/default.nix
@@ -4,17 +4,17 @@ let
   fetchurl = args.fetchurl;
   fullDepEntry = args.fullDepEntry;
 
-  version = lib.attrByPath ["version"] "6.0.3" args; 
-  majorVersion = lib.attrByPath ["majorVersion"] "6" args; 
+  version = lib.attrByPath ["version"] "6.1.5" args;
+  majorVersion = lib.attrByPath ["majorVersion"] "6" args;
   buildInputs = with args; [
-    cmake freeglut mesa 
+    cmake freeglut mesa
     libX11 xproto inputproto libXi libXmu
   ];
 in
 rec {
   src = fetchurl {
     url = "http://files.slembcke.net/chipmunk/release/Chipmunk-${majorVersion}.x/Chipmunk-${version}.tgz";
-    sha256 = "c6f550454bc1c63a2a63e0ff8febecb4781a528ab6d6b657a17933a6f567541a";
+    sha256 = "0rhsgl32k6bja2ipzprf7iv3lscbl8h8s9il625rp966jvq6phy7";
   };
 
   inherit buildInputs;
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index 2c712c5c20e..40d41b633d2 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "chromaprint-${version}";
-  version = "0.7";
+  version = "1.1";
 
   src = fetchurl {
     url = "http://bitbucket.org/acoustid/chromaprint/downloads/${name}.tar.gz";
-    sha256 = "00amjzrr4230v3014141hg8k379zpba56xsm572ab49w8kyw6ljf";
+    sha256 = "04nd8xmy4kgnpfffj6hw893f80bwhp43i01zpmrinn3497mdf53b";
   };
 
   buildInputs = [ cmake fftw boost ];
diff --git a/pkgs/development/libraries/classads/default.nix b/pkgs/development/libraries/classads/default.nix
index 080e854315d..6c673a7dc02 100644
--- a/pkgs/development/libraries/classads/default.nix
+++ b/pkgs/development/libraries/classads/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, pcre }:
 
-let version = "1.0.4"; in
+let version = "1.0.10"; in
 
 stdenv.mkDerivation {
   name = "classads-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.cs.wisc.edu/condor/classad/c++/classads-${version}.tar.gz";
-    sha256 = "80b11c6d383891c90e04e403b2f282e91177940c3fe536082899fbfb9e854d24";
+    sha256 = "1czgj53gnfkq3ncwlsrwnr4y91wgz35sbicgkp4npfrajqizxqnd";
   };
 
+  buildInputs = [ pcre ];
+
   configureFlags = ''                                                  
     --enable-namespace --enable-flexible-member
   '';
@@ -17,6 +19,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.cs.wisc.edu/condor/classad/;
     description = "The Classified Advertisements library provides a generic means for matching resources";
-    license = "Apache-2.0";
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix
index fb3a7d92c8e..4095c1ae2f4 100644
--- a/pkgs/development/libraries/clearsilver/default.nix
+++ b/pkgs/development/libraries/clearsilver/default.nix
@@ -1,12 +1,19 @@
-{stdenv, fetchurl, python}:
+{ stdenv, fetchurl, python }:
 
 stdenv.mkDerivation {
   name = "clearsilver-0.10.3";
+
   src = fetchurl {
     url = http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz;
     md5 = "ff4104b0e58bca1b61d528edbd902769";
   };
+
   builder = ./builder.sh;
 
   inherit stdenv python;
+
+  meta = {
+    description = "Fast, powerful, and language-neutral HTML template system";
+    homepage = http://www.clearsilver.net/;
+  };
 }
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 66629b0561b..982deb29ea8 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gmp }:
 
 stdenv.mkDerivation rec {
-  name = "cln-1.3.1";
+  name = "cln-1.3.3";
 
   src = fetchurl {
     url = "${meta.homepage}${name}.tar.bz2";
-    sha256 = "1sd8jy5vnmww537zq6g6i586ffslm7fjliz04krv6scapgklq6ca";
+    sha256 = "04i6kdjwm4cr5pa70pilifnpvsh430rrlapkgw1x8c5vxkijxz2p";
   };
 
   buildInputs = [ gmp ];
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "C/C++ library for numbers, a part of GiNaC";
     homepage = http://www.ginac.de/CLN/;
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix
index 2c723e2c8b2..6f938680d7e 100644
--- a/pkgs/development/libraries/cloog-ppl/default.nix
+++ b/pkgs/development/libraries/cloog-ppl/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, ppl }:
+{ fetchurl, stdenv, ppl, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   name = "cloog-ppl-0.15.11";
@@ -10,8 +10,21 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ ppl ];
 
+  buildInputs = [ automake autoconf libtool ];
+
+  patches = [ ./fix-ppl-version.patch ];
+
   configureFlags = "--with-ppl=${ppl}";
 
+  preConfigure = ''
+    touch NEWS ChangeLog AUTHORS
+    ${libtool}/bin/libtoolize -c --force
+    ${automake}/bin/aclocal
+    ${automake}/bin/automake --add-missing
+    ${automake}/bin/automake -a -c --foreign
+    ${autoconf}/bin/autoreconf
+  '';
+
   crossAttrs = {
     configureFlags = "--with-ppl=${ppl.crossDrv}";
   };
@@ -38,7 +51,7 @@ stdenv.mkDerivation rec {
     # CLooG-PPL is actually a port of GLooG from PolyLib to PPL.
     homepage = http://www.cloog.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
 
@@ -61,6 +74,6 @@ stdenv.mkDerivation rec {
        make[3]: *** [Box.lo] Error 1
 
     */
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch b/pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch
new file mode 100644
index 00000000000..8440d839411
--- /dev/null
+++ b/pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch
@@ -0,0 +1,16 @@
+diff -rupN src/configure.in cloog-ppl-0.15.11/configure.in
+--- src/configure.in	2014-04-13 13:33:43.349392305 +0200
++++ cloog-ppl-0.15.11/configure.in	2014-04-13 13:34:12.695379888 +0200
+@@ -337,11 +337,7 @@ if test "x$with_ppl" != "x" -a "x$with_p
+ 		        [AC_MSG_ERROR(Can't find PPL headers.)])
+ 
+ 	AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL])
+-	AC_TRY_COMPILE([#include "ppl_c.h"],[
+-	#if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+-	choke me
+-	#endif
+-	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
++	AC_MSG_RESULT([yes])
+ 
+ 	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix
index ab5737b20ed..da4501285e1 100644
--- a/pkgs/development/libraries/cloog/default.nix
+++ b/pkgs/development/libraries/cloog/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gmp, isl }:
 
 stdenv.mkDerivation rec {
-  name = "cloog-0.16.3";
+  name = "cloog-0.18.0";
 
   src = fetchurl {
     url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz";
-    sha256 = "0lzbsszfzsr0jfwkccfbsvx913d2yc45dqwa472plmxkhbwykmc9";
+    sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228";
   };
 
   buildInputs = [ gmp ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.cloog.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.shlevy ];
 
@@ -58,6 +58,6 @@ stdenv.mkDerivation rec {
        make[3]: *** [Box.lo] Error 1
 
     */
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 60e8da9c3fc..4173b75915c 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
       ./Install-contribs-lib.patch
     ];
 
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change libclucene-shared.1.dylib \
+        $out/lib/libclucene-shared.1.dylib \
+        $out/lib/libclucene-core.1.dylib
+  '';
+
   meta = {
     description = "Core library for full-featured text search engine";
     longDescription = ''
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
new file mode 100644
index 00000000000..59c64b0de9f
--- /dev/null
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -0,0 +1,26 @@
+{ fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }:
+
+stdenv.mkDerivation rec {
+  name = "clutter-gst-2.0.10";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz";
+    sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00";
+  };
+
+  propagatedBuildInputs = [ clutter gtk3 glib cogl ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  postBuild = "rm -rf $out/share/gtk-doc";
+
+  meta = {
+    description = "Clutter-GST";
+
+    homepage = http://www.clutter-project.org/;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    maintainers = with stdenv.lib.maintainers; [ lethalman ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/libraries/clutter-gtk/0.10.8.nix b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
index 00a4edd2a98..e5f5a455c89 100644
--- a/pkgs/development/libraries/clutter-gtk/0.10.8.nix
+++ b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.clutter-project.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 58732446111..1d085222341 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -1,17 +1,15 @@
-{ fetchurl, stdenv, pkgconfig, clutter, gtk3 }:
+{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gtk-1.0.4";
+  name = "clutter-gtk-1.4.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/clutter-gtk/1.0/clutter-gtk-1.0.4.tar.xz;
-    sha256 = "0kj6vsvaqxx6vqqk9acc8b0p40klrpwlf2wsjkams1kxxcpzsh87";
+    url = "mirror://gnome/sources/clutter-gtk/1.4/${name}.tar.xz";
+    sha256 = "bc3108594a01a08bb6d9b538afe995e4fd78634a8356064ee8137d87aad51b2e";
   };
 
   propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ pkgconfig ];
-
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
 
   postBuild = "rm -rf $out/share/gtk-doc";
 
@@ -20,7 +18,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.clutter-project.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ urkud ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/libraries/clutter/1.18.nix b/pkgs/development/libraries/clutter/1.18.nix
new file mode 100644
index 00000000000..7a9d114ce8e
--- /dev/null
+++ b/pkgs/development/libraries/clutter/1.18.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
+, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
+gobjectIntrospection 
+}:
+
+let
+  ver_maj = "1.18";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "clutter-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz";
+    sha256 = "f9fe12e6148426063c90e67dfaeb56013bf1aea224ef502223d13eab6c1add63";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs =
+    [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
+      atk json_glib gobjectIntrospection
+    ];
+
+  configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
+
+  #doCheck = true; # no tests possible without a display
+
+  meta = {
+    description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
+
+    longDescription =
+      '' Clutter is free software library for creating fast, compelling,
+         portable, and dynamic graphical user interfaces.  It is a core part
+         of MeeGo, and is supported by the open source community.  Its
+         development is sponsored by Intel.
+
+         Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
+         on mobile and embedded platforms), but wraps an easy to use,
+         efficient, flexible API around GL's complexity.
+
+         Clutter enforces no particular user interface style, but provides a
+         rich, generic foundation for higher-level toolkits tailored to
+         specific needs.
+      '';
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+    homepage = http://www.clutter-project.org/;
+
+    maintainers = with stdenv.lib.maintainers; [ urkud ];
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
+}
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 33bc196143b..027b90d8e11 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -1,21 +1,29 @@
 { stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
-, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib }:
+, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
+gobjectIntrospection 
+}:
 
-stdenv.mkDerivation {
-  name = "clutter-1.8.2";
+let
+  ver_maj = "1.16";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "clutter-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/clutter/1.8/clutter-1.8.2.tar.xz;
-    sha256 = "0bzsvnharawfg525lpavrp55mq4aih5nb01dwwqwnccg8hk9z2fw";
+    url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz";
+    sha256 = "0hnz6fnrkc7ixrm2x83sxyha32p9896d7ilzhvxwfgzlh26fidqc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
     [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
-      atk json_glib
+      atk json_glib gobjectIntrospection
     ];
 
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+  configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
+
+  #doCheck = true; # no tests possible without a display
 
   meta = {
     description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
@@ -35,7 +43,7 @@ stdenv.mkDerivation {
          specific needs.
       '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     homepage = http://www.clutter-project.org/;
 
     maintainers = with stdenv.lib.maintainers; [ urkud ];
diff --git a/pkgs/development/libraries/cminpack/default.nix b/pkgs/development/libraries/cminpack/default.nix
index 121f41a0f3c..c73e9594857 100644
--- a/pkgs/development/libraries/cminpack/default.nix
+++ b/pkgs/development/libraries/cminpack/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "cminpack-1.1.2";
+  name = "cminpack-1.3.2";
   
   src = fetchurl {
-    url = http://devernay.free.fr/hacks/cminpack/cminpack-1.1.2.tar.gz;
-    sha256 = "0sd8gqk7npyiiiz2jym8q89d9gqx8fig0mnx63swkwmp4lqmmxww";
+    url = http://devernay.free.fr/hacks/cminpack/cminpack-1.3.2.tar.gz;
+    sha256 = "09bqr44wqancbdsc39lvhdz7rci3hknmlrrrzv46skvwx6rgk9x0";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/cogl/1.18.nix b/pkgs/development/libraries/cogl/1.18.nix
new file mode 100644
index 00000000000..7aad8ba1b43
--- /dev/null
+++ b/pkgs/development/libraries/cogl/1.18.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
+, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland
+, gstreamerSupport ? true, gst_all_1 }:
+
+let
+  ver_maj = "1.18";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "cogl-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz";
+    sha256 = "0phg76jpkn0j948axavzr15gyrqipzmzzr66nlp3dfksgszixnd4";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags = [
+    "--enable-introspection"
+    "--enable-gles1"
+    "--enable-gles2"
+    "--enable-kms-egl-platform"
+    "--enable-wayland-egl-platform"
+    "--enable-wayland-egl-server"
+  ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
+
+  propagatedBuildInputs = with xorg; [
+      glib gdk_pixbuf gobjectIntrospection
+      mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland
+    ]
+    ++ libintlOrEmpty
+    ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
+                                               gst_all_1.gst-plugins-base ];
+
+  buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ];
+
+  COGL_PANGO_DEP_CFLAGS
+    = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport)
+      "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo";
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  #doCheck = true; # all tests fail (no idea why)
+
+  meta = with stdenv.lib; {
+    description = "A small open source library for using 3D graphics hardware for rendering";
+    maintainers = with maintainers; [ lovek323 ];
+
+    longDescription = ''
+      Cogl is a small open source library for using 3D graphics hardware for
+      rendering. The API departs from the flat state machine style of OpenGL
+      and is designed to make it easy to write orthogonal components that can
+      render without stepping on each other's toes.
+    '';
+
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
+}
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index abb92f7b08b..0f1c1dd82e2 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -1,20 +1,37 @@
-{ stdenv, fetchurl, pkgconfig, mesa, glib, gdk_pixbuf, libXfixes, libXcomposite
-, libXdamage, libintlOrEmpty
-, pangoSupport ? true, pango, cairo }:
-
+{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
+, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland
+, gstreamerSupport ? true, gst_all_1 }:
+
+let
+  ver_maj = "1.16";
+  ver_min = "0";
+in
 stdenv.mkDerivation rec {
-  name = "cogl-1.8.2";
+  name = "cogl-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cogl/1.8/cogl-1.8.2.tar.xz;
-    sha256 = "1ix87hz3qxqysqwx58wbc46lzchlmfs08fjzbf3l6mmsqj8gs9pc";
+    url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz";
+    sha256 = "153014xygwyz9wmvgfwjxncqgc0qqvcy6b3jx1zdl3q5d9iw9hkm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs =
-    [ mesa glib gdk_pixbuf libXfixes libXcomposite libXdamage ]
-    ++ libintlOrEmpty;
+  configureFlags = [
+    "--enable-introspection"
+    "--enable-gles1"
+    "--enable-gles2"
+    "--enable-kms-egl-platform"
+    "--enable-wayland-egl-platform"
+    "--enable-wayland-egl-server"
+  ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
+
+  propagatedBuildInputs = with xorg; [
+      glib gdk_pixbuf gobjectIntrospection
+      mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland
+    ]
+    ++ libintlOrEmpty
+    ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
+                                               gst_all_1.gst-plugins-base ];
 
   buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ];
 
@@ -24,6 +41,8 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
+  #doCheck = true; # all tests fail (no idea why)
+
   meta = with stdenv.lib; {
     description = "A small open source library for using 3D graphics hardware for rendering";
     maintainers = with maintainers; [ lovek323 ];
diff --git a/pkgs/development/libraries/coin3d/default.nix b/pkgs/development/libraries/coin3d/default.nix
index 2ada0244149..034d7d658e1 100644
--- a/pkgs/development/libraries/coin3d/default.nix
+++ b/pkgs/development/libraries/coin3d/default.nix
@@ -9,11 +9,20 @@ stdenv.mkDerivation rec {
     sha256 = "05ylhrcglm81dajbk132l1w892634z2i97x10fm64y1ih72phd2q";
   };
 
+  patches = [
+    (fetchurl {
+      url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/coin/files/coin-3.1.3-gcc-4.7.patch;
+      name = "gcc-4.7.patch";
+      sha256 = "076dyc52swk8qc7ylps53fg6iqmd52x8s7m18i80x49dd109yw20";
+    })
+    ./gcc-4.8.patch # taken from FC-17 source rpm
+  ];
+
   buildInputs = [ mesa ];
 
   meta = {
     homepage = http://www.coin3d.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "High-level, retained-mode toolkit for effective 3D graphics development";
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/coin3d/gcc-4.8.patch b/pkgs/development/libraries/coin3d/gcc-4.8.patch
new file mode 100644
index 00000000000..be5b8b03b63
--- /dev/null
+++ b/pkgs/development/libraries/coin3d/gcc-4.8.patch
@@ -0,0 +1,38 @@
+From 9f5d96a2b9a71ab539237d2dab4c54fc46fc5c5b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@corsepiu.home>
+Date: Thu, 18 Apr 2013 19:17:06 +0200
+Subject: [PATCH 10/10] GCC-4.8.0 fixes
+
+---
+ src/fonts/freetype.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/fonts/freetype.cpp b/src/fonts/freetype.cpp
+index 760b88b..e705d3a 100644
+--- a/src/fonts/freetype.cpp
++++ b/src/fonts/freetype.cpp
+@@ -32,18 +32,18 @@
+ 
+    20050613 mortene. */
+ 
+-#include "fonts/freetype.h"
+-
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif /* HAVE_CONFIG_H */
+ 
+-#include <stdlib.h>
++#include <cstdlib>
+ #include <assert.h>
+ 
+ #include "glue/freetype.h"
+ #include "glue/GLUWrapper.h"
+ 
++#include "fonts/freetype.h"
++
+ /* ************************************************************************* */
+ 
+ #ifdef __cplusplus
+-- 
+1.8.1.4
+
diff --git a/pkgs/development/libraries/commoncpp2/default.nix b/pkgs/development/libraries/commoncpp2/default.nix
index 0b834a5ddb3..9dff8a6c50f 100644
--- a/pkgs/development/libraries/commoncpp2/default.nix
+++ b/pkgs/development/libraries/commoncpp2/default.nix
@@ -31,10 +31,10 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/commoncpp/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.marcweber
                     stdenv.lib.maintainers.ludo
                   ];
-    platforms = stdenv.lib.platforms.allBut "i686-freebsd";
+    platforms = with stdenv.lib.platforms; allBut freebsd;
   };
 }
diff --git a/pkgs/development/libraries/concurrencykit/default.nix b/pkgs/development/libraries/concurrencykit/default.nix
new file mode 100644
index 00000000000..0e584c0d499
--- /dev/null
+++ b/pkgs/development/libraries/concurrencykit/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "concurrencykit-${version}";
+  version = "0.4.3";
+
+  src = fetchurl {
+    url    = "http://concurrencykit.org/releases/ck-${version}.tar.gz";
+    sha256 = "1fjdvbj6wazblg6qy0gdqs3kach2y2p6xrcvssmcvxr0nfyaadg2";
+  };
+
+  enableParallelBuilding = true;
+
+  configurePhase = "./configure --prefix=$out";
+
+  meta = {
+    description = "A library of safe, high-performance concurrent data structures";
+    homepage    = "http://concurrencykit.org";
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/coprthr/default.nix b/pkgs/development/libraries/coprthr/default.nix
new file mode 100644
index 00000000000..0e521aa19e8
--- /dev/null
+++ b/pkgs/development/libraries/coprthr/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, libelf, libconfig, libevent, which, unzip, perl, python
+, bison, flex }:
+
+stdenv.mkDerivation rec {
+  name = "coprthr-${version}";
+  version = "1.6";
+
+  src = fetchurl {
+    url    = "https://github.com/browndeer/coprthr/archive/stable-${version}.zip";
+    sha256 = "042aykmcxhdpck0j6k5rcp6a0b5i377fv2nz96v1bpfhzxd1mjwg";
+  };
+
+  buildInputs =
+    [ libelf libconfig libevent which unzip perl python bison flex ];
+
+  patchPhase = ''
+    for x in src/libocl/gen_oclcall_hook.pl tools/cltrace/gen_interceptor.pl src/libocl/gen_oclcall.pl src/scripts/gen_ocl_call_vector.pl src/libstdcl/gen_clarg_setn.pl; do
+      substituteInPlace $x --replace "/usr/bin/perl" ${perl}/bin/perl
+    done
+  '';
+
+  configureFlags =
+    [ "--with-libelf=${libelf}"
+      "--with-libevent=${libevent}"
+      "--with-libconfig=${libconfig}"
+      "--with-opencl-icd-path=$out/etc/OpenCL/vendors"
+      "--enable-user-install"
+    ];
+
+  meta = {
+    description = "The CO-PRocessing THReads SDK for OpenCL/STDCL";
+    homepage    = "http://www.browndeertechnology.com/coprthr.htm";
+    license     = stdenv.lib.licenses.lgpl3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/coredumper/default.nix b/pkgs/development/libraries/coredumper/default.nix
index f62289ea181..ddd0d87a551 100644
--- a/pkgs/development/libraries/coredumper/default.nix
+++ b/pkgs/development/libraries/coredumper/default.nix
@@ -6,4 +6,13 @@ stdenv.mkDerivation {
     url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz;
     sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx";
   };
+
+  # Doesn't build:
+  #
+  # src/elfcore.c: In function 'CreatePipeline':
+  # src/elfcore.c:1424:26: error: 'CLONE_VM' undeclared (first use in this function)
+  #                           CLONE_VM|CLONE_UNTRACED|SIGCHLD, &args, 0, 0, 0);
+  #                           ^
+  # src/elfcore.c:1424:26: note: each undeclared identifier is reported only once for each function it appears in
+  meta.broken = true;
 }
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
new file mode 100644
index 00000000000..43849bf8ed8
--- /dev/null
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, boost, openssl }:
+
+let
+  version = "0.11.0";
+in
+
+stdenv.mkDerivation rec {
+  name = "cpp-netlib-${version}";
+
+  src = fetchurl {
+    url = "http://commondatastorage.googleapis.com/cpp-netlib-downloads/${version}/${name}.tar.bz2";
+    md5 = "0765cf203f451394df98e6ddf7bf2541";
+  };
+
+  buildInputs = [ cmake boost openssl ];
+
+  cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=RELEASE" ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A collection of open-source libraries for high level network programming";
+    homepage    = http://cpp-netlib.org;
+    license     = stdenv.lib.licenses.boost;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/cppunit/default.nix b/pkgs/development/libraries/cppunit/default.nix
index 2504f87a230..0b9b09a4bd1 100644
--- a/pkgs/development/libraries/cppunit/default.nix
+++ b/pkgs/development/libraries/cppunit/default.nix
@@ -1,17 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "cppunit-1.12.0";
+  name = "cppunit-1.13.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/cppunit/cppunit-1.12.0.tar.gz;
-    sha256 = "07zyyx5dyai94y8r8va28971f5mw84mb93xx9pm6m4ddpj6c79cq";
+    url = http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz;
+    sha256 = "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz";
   };
 
   meta = {
     homepage = "http://sourceforge.net/apps/mediawiki/cppunit/";
     description = "C++ unit testing framework";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/cracklib/default.nix b/pkgs/development/libraries/cracklib/default.nix
index 7fb9089420d..e0c8d443ec8 100644
--- a/pkgs/development/libraries/cracklib/default.nix
+++ b/pkgs/development/libraries/cracklib/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  name = "cracklib-2.8.16";
+  name = "cracklib-2.9.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/cracklib/${name}.tar.gz";
-    sha256 = "1g3mchdvra9nihxlkl3rdz96as3xnfw5m59hmr5k17l7qa9a8fpw";
+    sha256 = "0mni2sz7350d4acs7gdl8nilfmnb8qhcvmxnpf6dr5wsag10b2a0";
   };
 
   buildInputs = libintlOrEmpty;
diff --git a/pkgs/development/libraries/ctl/default.nix b/pkgs/development/libraries/ctl/default.nix
index a802f571674..65489ee8c88 100644
--- a/pkgs/development/libraries/ctl/default.nix
+++ b/pkgs/development/libraries/ctl/default.nix
@@ -8,12 +8,12 @@ stdenv.mkDerivation {
     sha256 = "16lzgbpxdyhykdwndj1i9vx3h4bfkxqqcrvasvgg70gb5raxj0mj";
   };
 
-  patches = [ ./patch.patch ];
-  
+  patches = [ ./patch.patch ./gcc47.patch ];
+
   propagatedBuildInputs = [ ilmbase ];
-  
+
   configureFlags = "--with-ilmbase-prefix=${ilmbase}";
-  
+
   #configurePhase = "
     #export CXXFLAGS=\"-I${ilmbase}/include -L${ilmbase}/lib\"
     #echo $CXXFLAGS
diff --git a/pkgs/development/libraries/ctl/gcc47.patch b/pkgs/development/libraries/ctl/gcc47.patch
new file mode 100644
index 00000000000..1aa4be4fe6d
--- /dev/null
+++ b/pkgs/development/libraries/ctl/gcc47.patch
@@ -0,0 +1,15 @@
+ https://bugs.gentoo.org/426368
+ 
+ IlmCtl/CtlInterpreter.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/IlmCtl/CtlInterpreter.cpp
++++ b/IlmCtl/CtlInterpreter.cpp
+@@ -64,6 +64,7 @@
+ #include <fstream>
+ #include <algorithm>
+ #include <cassert>
++#include <unistd.h>
+ 
+ #ifdef WIN32
+     #include <io.h>
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index e90ec422661..712f05b8d65 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, db4, gettext, pam }:
+{ stdenv, fetchurl, openssl, db, gettext, pam }:
 
 stdenv.mkDerivation rec {
   name = "cyrus-sasl-2.1.26";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g";
   };
 
-  buildInputs = [ openssl db4 gettext ] ++ stdenv.lib.optional stdenv.isLinux pam;
+  buildInputs = [ openssl db gettext ] ++ stdenv.lib.optional stdenv.isLinux pam;
 
   patches = [ ./missing-size_t.patch ]; # https://bugzilla.redhat.com/show_bug.cgi?id=906519
   patchFlags = "-p0";
diff --git a/pkgs/development/libraries/db4/cygwin-4.4.patch b/pkgs/development/libraries/db/cygwin-4.4.patch
index 3f9d658b5da..3f9d658b5da 100644
--- a/pkgs/development/libraries/db4/cygwin-4.4.patch
+++ b/pkgs/development/libraries/db/cygwin-4.4.patch
diff --git a/pkgs/development/libraries/db4/cygwin-4.5.patch b/pkgs/development/libraries/db/cygwin-4.5.patch
index 3f0ee78a708..3f0ee78a708 100644
--- a/pkgs/development/libraries/db4/cygwin-4.5.patch
+++ b/pkgs/development/libraries/db/cygwin-4.5.patch
diff --git a/pkgs/development/libraries/db/db-4.4.nix b/pkgs/development/libraries/db/db-4.4.nix
new file mode 100644
index 00000000000..4a182353f25
--- /dev/null
+++ b/pkgs/development/libraries/db/db-4.4.nix
@@ -0,0 +1,7 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "4.4.20";
+  extraPatches = [ ./cygwin-4.4.patch ];
+  sha256 = "0y9vsq8dkarx1mhhip1vaciz6imbbyv37c1dm8b20l7p064bg2i9";
+})
diff --git a/pkgs/development/libraries/db/db-4.5.nix b/pkgs/development/libraries/db/db-4.5.nix
new file mode 100644
index 00000000000..6a0a921d8de
--- /dev/null
+++ b/pkgs/development/libraries/db/db-4.5.nix
@@ -0,0 +1,7 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "4.5.20";
+  extraPatches = [ ./cygwin-4.5.patch ./register-race-fix.patch ];
+  sha256 = "0bd81k0qv5i8w5gbddrvld45xi9k1gvmcrfm0393v0lrm37dab7m";
+})
diff --git a/pkgs/development/libraries/db/db-4.7.nix b/pkgs/development/libraries/db/db-4.7.nix
new file mode 100644
index 00000000000..62ccfd7d3a5
--- /dev/null
+++ b/pkgs/development/libraries/db/db-4.7.nix
@@ -0,0 +1,6 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "4.7.25";
+  sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi";
+})
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix
new file mode 100644
index 00000000000..e77307d6fa5
--- /dev/null
+++ b/pkgs/development/libraries/db/db-4.8.nix
@@ -0,0 +1,6 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "4.8.30";
+  sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
+})
diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix
new file mode 100644
index 00000000000..af16f1ddf54
--- /dev/null
+++ b/pkgs/development/libraries/db/db-5.3.nix
@@ -0,0 +1,6 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "5.3.28";
+  sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
+})
diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix
new file mode 100644
index 00000000000..22e858a9d18
--- /dev/null
+++ b/pkgs/development/libraries/db/db-6.0.nix
@@ -0,0 +1,7 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "6.0.20";
+  sha256 = "00r2aaglq625y8r9xd5vw2y070plp88f1mb2gbq3kqsl7128lsl0";
+  license = stdenv.lib.licenses.agpl3;
+})
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
new file mode 100644
index 00000000000..6217bc46124
--- /dev/null
+++ b/pkgs/development/libraries/db/generic.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl
+, cxxSupport ? true
+, compat185 ? true
+
+# Options from inherited versions
+, version, sha256
+, extraPatches ? [ ]
+, license ? stdenv.lib.licenses.sleepycat
+}:
+
+stdenv.mkDerivation rec {
+  name = "db-${version}";
+
+  src = fetchurl {
+    url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
+    sha256 = sha256;
+  };
+
+  patches = extraPatches;
+
+  configureFlags = [
+    (if cxxSupport then "--enable-cxx" else "--disable-cxx")
+    (if compat185 then "--enable-compat185" else "--disable-compat185")
+  ];
+
+  preConfigure = ''
+    cd build_unix
+    configureScript=../dist/configure
+  '';
+
+  postInstall = ''
+    rm -rf $out/docs
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/index.html";
+    description = "Berkeley DB";
+    license = license;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/db4/register-race-fix.patch b/pkgs/development/libraries/db/register-race-fix.patch
index bb05c966e5b..bb05c966e5b 100644
--- a/pkgs/development/libraries/db4/register-race-fix.patch
+++ b/pkgs/development/libraries/db/register-race-fix.patch
diff --git a/pkgs/development/libraries/db4/builder.sh b/pkgs/development/libraries/db4/builder.sh
deleted file mode 100644
index b9d48b60803..00000000000
--- a/pkgs/development/libraries/db4/builder.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-source $stdenv/setup
-
-preConfigure() {
-    cd build_unix
-    configureScript=../dist/configure
-}
-
-postInstall() {
-    rm -rf $out/docs
-}
-
-genericBuild
diff --git a/pkgs/development/libraries/db4/db4-4.4.nix b/pkgs/development/libraries/db4/db4-4.4.nix
deleted file mode 100644
index ab3ffa85cf2..00000000000
--- a/pkgs/development/libraries/db4/db4-4.4.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
-
-stdenv.mkDerivation {
-  name = "db4-4.4.20";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    urls = [
-      http://download.oracle.com/berkeley-db/db-4.4.20.NC.tar.gz
-      http://tarballs.nixos.org/db-4.4.20.NC.tar.gz
-    ];
-    md5 = "afd9243ea353bbaa04421488d3b37900";
-  };
-  
-  configureFlags = [
-    (if cxxSupport then "--enable-cxx" else "--disable-cxx")
-    (if compat185 then "--enable-compat185" else "--disable-compat185")
-  ];
-
-  patches = [ ./cygwin-4.4.patch ];
-}
diff --git a/pkgs/development/libraries/db4/db4-4.5.nix b/pkgs/development/libraries/db4/db4-4.5.nix
deleted file mode 100644
index e5cf6f35a01..00000000000
--- a/pkgs/development/libraries/db4/db4-4.5.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
-
-stdenv.mkDerivation {
-  name = "db4-4.5.20";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://download-east.oracle.com/berkeley-db/db-4.5.20.tar.gz;
-    md5 = "b0f1c777708cb8e9d37fb47e7ed3312d";
-  };
-  
-  configureFlags = [
-    (if cxxSupport then "--enable-cxx" else "--disable-cxx")
-    (if compat185 then "--enable-compat185" else "--disable-compat185")
-  ];
-  
-  patches = [./cygwin-4.5.patch ./register-race-fix.patch];
-}
diff --git a/pkgs/development/libraries/db4/db4-4.7.nix b/pkgs/development/libraries/db4/db4-4.7.nix
deleted file mode 100644
index 9fb0d6587c0..00000000000
--- a/pkgs/development/libraries/db4/db4-4.7.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
-
-stdenv.mkDerivation {
-  name = "db4-4.7.25";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://download-east.oracle.com/berkeley-db/db-4.7.25.tar.gz;
-    sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi";
-  };
-  
-  configureFlags = [
-    (if cxxSupport then "--enable-cxx" else "--disable-cxx")
-    (if compat185 then "--enable-compat185" else "--disable-compat185")
-  ];
-  
-}
diff --git a/pkgs/development/libraries/db4/db4-4.8.nix b/pkgs/development/libraries/db4/db4-4.8.nix
deleted file mode 100644
index 86424fac567..00000000000
--- a/pkgs/development/libraries/db4/db4-4.8.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
-
-stdenv.mkDerivation {
-  name = "db4-4.8.26";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://download.oracle.com/berkeley-db/db-4.8.26.tar.gz;
-    sha256 = "0hcxh0kb6m0wk3apjhs57p7b171zzn63rg4l3nkcavygg5gx2mgp";
-  };
-  
-  configureFlags = [
-    (if cxxSupport then "--enable-cxx" else "--disable-cxx")
-    (if compat185 then "--enable-compat185" else "--disable-compat185")
-  ];
-  
-}
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index 0a4b80d3f3e..2bd4f814985 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw";
   };
 
+  patches = [( fetchurl {
+    url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch;
+    name = "gcc-4.7.patch";
+    sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
+  })];
+
   buildInputs = [ dbus glib gtkmm pkgconfig expat ];
 
   configureFlags = "--disable-ecore";
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index be6cf442a49..9c774e802fc 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
+{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconvOrEmpty, dbus, glib }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-glib-0.100.2";
+  name = "dbus-glib-0.102";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
-    sha256 = "1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5";
+    sha256 = "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39";
   };
 
   nativeBuildInputs = [ pkgconfig gettext ];
 
-  buildInputs = [ expat ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
+  buildInputs = [ expat ] ++ libiconvOrEmpty;
 
   propagatedBuildInputs = [ dbus.libs glib ];
 
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 8ec47f86e34..a4505c5ae54 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -3,8 +3,8 @@
 , libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }:
 
 let
-  version = "1.6.14"; # 1.7.* isn't recommended, even for gnome 3.8
-  sha256 = "0v7mcxwfmpjf7vndnvf2kf02al61clrxs36bqii20s0lawfh2xjn";
+  version = "1.8.6";
+  sha256 = "0gyjxd0gfpjs3fq5bx6aljb5f3zxky5zsq0yfqr9ywbv03587vgd";
 
   inherit (stdenv) lib;
 
@@ -56,8 +56,8 @@ let
       "--localstatedir=/var"
       "--sysconfdir=/etc"
       "--with-session-socket-dir=/tmp"
-      "--with-systemdsystemunitdir=$(out)/lib/systemd"
-    ];
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    ] ++ lib.optional (!useX11) "--without-x";
 
     enableParallelBuilding = true;
 
@@ -67,14 +67,12 @@ let
 
   } merge ]);
 
-  libs = dbus_drv "libs" "dbus" ({
+  libs = dbus_drv "libs" "dbus" {
     # Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11
     # (it just execs dbus-launch in dbus.tools), contrary to what the configure script demands.
     NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1";
-  } // stdenv.lib.optionalAttrs (systemdOrEmpty != []) {
-    buildInputs = [ systemd.headers ];
-    patches = [ ./systemd.patch ]; # bypass systemd detection
-  });
+    buildInputs = [ systemdOrEmpty ];
+  };
 
 
   attrs = rec {
@@ -83,34 +81,20 @@ let
   # This package has been split because most applications only need dbus.lib
   # which serves as an interface to a *system-wide* daemon,
   # see e.g. http://en.wikipedia.org/wiki/D-Bus#Architecture .
-  # Also some circular dependencies get split by this (like with systemd).
 
   inherit libs;
 
-  tools = dbus_drv "tools" "tools" {
-    configureFlags = [ "--with-dbus-daemondir=${daemon}/bin" ];
-    buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs daemon dbus_glib ];
-    NIX_CFLAGS_LINK = 
+  tools = dbus_drv "tools" "tools bus" {
+    preBuild = makeInternalLib;
+    buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs ];
+    NIX_CFLAGS_LINK =
       stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed "
       + "-ldbus-1";
 
-    meta.platforms = stdenv.lib.platforms.all;
-  };
-
-  daemon = dbus_drv "daemon" "bus" {
-    preBuild = makeInternalLib;
-    buildInputs = systemdOrEmpty;
+    meta.platforms = with stdenv.lib.platforms; allBut darwin;
   };
 
-  # Some of the tests don't work yet; in fact, @vcunat tried several packages
-  # containing dbus testing, and all of them have some test failure.
-  tests = dbus_drv "tests" "test" {
-    preBuild = makeInternalLib;
-    buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs tools daemon dbus_glib python ];
-    NIX_CFLAGS_LINK = 
-      stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed "
-      + "-ldbus-1";
-  };
+  daemon = tools;
 
   docs = dbus_drv "docs" "doc" {
     postInstall = ''rm -r "$out/lib"'';
diff --git a/pkgs/development/libraries/dclib/default.nix b/pkgs/development/libraries/dclib/default.nix
index f5077b63adb..a00fbff50b9 100644
--- a/pkgs/development/libraries/dclib/default.nix
+++ b/pkgs/development/libraries/dclib/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "dclib-0.3.7";
 
   src = fetchurl {
-    url = http://download.berlios.de/dcgui/dclib-0.3.7.tar.bz2;
+    url = ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-0.3.7.tar.bz2;
     md5 = "d35833414534bcac8ce2c8a62ce903a4";
   };
 
diff --git a/pkgs/development/libraries/directfb/default.nix b/pkgs/development/libraries/directfb/default.nix
index cdc54ef6691..6326efe1adb 100644
--- a/pkgs/development/libraries/directfb/default.nix
+++ b/pkgs/development/libraries/directfb/default.nix
@@ -35,4 +35,22 @@ stdenv.mkDerivation {
     ] ++ stdenv.lib.optionals enableX11 [
       "--enable-x11"
     ];
+
+  meta = with stdenv.lib; {
+    description = "Graphics and input library designed with embedded systems in mind";
+    longDescription = ''
+      DirectFB is a thin library that provides hardware graphics acceleration,
+      input device handling and abstraction, integrated windowing system with
+      support for translucent windows and multiple display layers, not only on
+      top of the Linux Framebuffer Device. It is a complete hardware
+      abstraction layer with software fallbacks for every graphics operation
+      that is not supported by the underlying hardware. DirectFB adds graphical
+      power to embedded systems and sets a new standard for graphics under
+      Linux.
+    '';
+    homepage = http://directfb.org/;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
 }
diff --git a/pkgs/development/libraries/directfb/src-for-default.nix b/pkgs/development/libraries/directfb/src-for-default.nix
index a9c8c16a9d3..be583e08b6b 100644
--- a/pkgs/development/libraries/directfb/src-for-default.nix
+++ b/pkgs/development/libraries/directfb/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.6.2";
-   name="directfb-1.6.2";
-   hash="0k9x8lnjvlyalsd07a8z4iv2rfmpiz6j7aj0y4m4sybxhc8c86xr";
+   version="1.6.3";
+   name="directfb-1.6.3";
+   hash="0w2yyx6l2wn8jj9y14ymknqyc88wwrl314p9204frck91znsr5ks";
    url="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${version}.tar.gz";
-   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.2.tar.gz";
+   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.3.tar.gz";
   
   
 }
diff --git a/pkgs/development/libraries/dotconf/default.nix b/pkgs/development/libraries/dotconf/default.nix
index 9a71393badd..2c22af1684d 100644
--- a/pkgs/development/libraries/dotconf/default.nix
+++ b/pkgs/development/libraries/dotconf/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     description = "A configuration parser library";
 
     homepage = http://www.azzit.de/dotconf/;
-    license = "LGPLv21+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/libraries/dssi/default.nix b/pkgs/development/libraries/dssi/default.nix
index 951278b4433..ae276c6aa0a 100644
--- a/pkgs/development/libraries/dssi/default.nix
+++ b/pkgs/development/libraries/dssi/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , ladspaH, jackaudio, liblo, alsaLib, qt4, libX11, libsndfile, libSM
+  , ladspaH, jack2, liblo, alsaLib, qt4, libX11, libsndfile, libSM
   , libsamplerate, libtool, autoconf, automake, xproto, libICE, pkgconfig
   , ...}:
 builderDefsPackage
diff --git a/pkgs/development/libraries/eigen/2.0.nix b/pkgs/development/libraries/eigen/2.0.nix
index 9cf0a3c350c..6317dfe5887 100644
--- a/pkgs/development/libraries/eigen/2.0.nix
+++ b/pkgs/development/libraries/eigen/2.0.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  v = "2.0.16";
+  v = "2.0.17";
 in
 stdenv.mkDerivation {
   name = "eigen-${v}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
-    sha256 = "1akcb4g5hvc664gfc6sxb6f6jrm55fgks6017wg0smyvmm6k09v0";
+    sha256 = "0q4ry2pmdb9lvm0g92wi6s6qng3m9q73n5flwbkfcz1nxmbfhmbj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 5653eec6d41..72a140ed371 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  v = "3.1.2";
+  v = "3.2.1";
 in
 stdenv.mkDerivation {
   name = "eigen-${v}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
-    sha256 = "1hywvbn4a8f96fjn3cvd6nxzh5jvh05s1r263d9vqlgn25dxrzay";
+    sha256 = "12ljdirih9n3cf8hy00in285c2ccah7mgalmmr8gc3ldwznz5rk6";
   };
   
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix
index 6df90622383..39a332223ea 100644
--- a/pkgs/development/libraries/enet/default.nix
+++ b/pkgs/development/libraries/enet/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "enet-1.3.1";
+  name = "enet-1.3.9";
   
   src = fetchurl {
     url = "http://enet.bespin.org/download/${name}.tar.gz";
-    sha256 = "1faszy5jvxcbjvnqzxaxpcm0rh8xib52pgn2zm1vyc9gg957hw99";
+    sha256 = "0z4blmkyfjrkvgr12adjx7nnjrx4mvcm4zj8jp581m6rral7nf9y";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
new file mode 100644
index 00000000000..a1b0d87cdfd
--- /dev/null
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, autoconf, autogen, automake, gettext, libX11
+, mesa, pkgconfig, python, utilmacros
+}:
+
+stdenv.mkDerivation rec {
+  name = "epoxy-${version}";
+  version = "1.2";
+
+  src = fetchurl {
+    url = "https://github.com/anholt/libepoxy/archive/v${version}.tar.gz";
+    sha256 = "1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2";
+  };
+
+  buildInputs = [
+    autoconf autogen automake gettext libX11 mesa pkgconfig python
+    utilmacros
+  ];
+
+  configureScript = ''
+    ./autogen.sh --prefix="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library for handling OpenGL function pointer management";
+    homepage = https://github.com/anholt/libepoxy;
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
new file mode 100644
index 00000000000..991c3e2fa4c
--- /dev/null
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, expat, zlib, boost }:
+
+stdenv.mkDerivation rec {
+  name = "exempi-2.2.1";
+
+  src = fetchurl {
+    url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
+    sha256 = "00d6gycl0wcyd3c71y0jp033a64z203rq0p0y07aig0s0j0477kc";
+  };
+
+  configureFlags = [ "--with-boost=${boost}" ];
+
+  buildInputs = [ expat zlib boost ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index fec9600b010..22b6cf242c8 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, zlib, expat}:
 
 stdenv.mkDerivation rec {
-  name = "exiv2-0.22";
+  name = "exiv2-0.24";
   
   src = fetchurl {
     url = "http://www.exiv2.org/${name}.tar.gz";
-    sha256 = "0ynf4r4fqijaa9yb0wfddk0a151p8cbcqxab54dyhc1xk83saf6k";
+    sha256 = "13pgvz14kyapxl89pxjaq3274k56d5lzfckpg1g9z7gvqzk4797l";
   };
   
   propagatedBuildInputs = [zlib expat];
diff --git a/pkgs/development/libraries/exosip/3.x.nix b/pkgs/development/libraries/exosip/3.x.nix
index 123b53783a6..63afd22bcf8 100644
--- a/pkgs/development/libraries/exosip/3.x.nix
+++ b/pkgs/development/libraries/exosip/3.x.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libosip openssl pkgconfig ];
       
   meta = {
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Library that hides the complexity of using the SIP protocol";
   };
 }
diff --git a/pkgs/development/libraries/exosip/default.nix b/pkgs/development/libraries/exosip/default.nix
index fb13e0b8c6f..02349bc0267 100644
--- a/pkgs/development/libraries/exosip/default.nix
+++ b/pkgs/development/libraries/exosip/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libosip openssl pkgconfig ];
       
   meta = {
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Library that hides the complexity of using the SIP protocol";
   };
 }
diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix
index 8e79afb5f9e..2c4f8da7783 100644
--- a/pkgs/development/libraries/faac/default.nix
+++ b/pkgs/development/libraries/faac/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Open source MPEG-4 and MPEG-2 AAC encoder";
     homepage = http://www.audiocoding.com/faac.html;
-    license = "LGPL";
+    # Incompatible with GPL. Some changes to the base code, included in faac,
+    # are under LGPL though.
+    license = "unfree-redistributable";
   };
 }
diff --git a/pkgs/development/libraries/faad2/default.nix b/pkgs/development/libraries/faad2/default.nix
index fc489f9eb66..99177578c77 100644
--- a/pkgs/development/libraries/faad2/default.nix
+++ b/pkgs/development/libraries/faad2/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
     homepage = http://www.audiocoding.com/faad2.html;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/facile/default.nix b/pkgs/development/libraries/facile/default.nix
index edbe99cd8b0..5e3776afbc0 100644
--- a/pkgs/development/libraries/facile/default.nix
+++ b/pkgs/development/libraries/facile/default.nix
@@ -9,9 +9,11 @@ stdenv.mkDerivation rec {
   };
   
   dontAddPrefix = 1;
-        
-  patchPhase = "sed -e 's@mkdir@mkdir -p@' -i Makefile";
-  
+
+  patches = [ ./ocaml_4.xx.patch ];
+
+  postPatch = "sed -e 's@mkdir@mkdir -p@' -i Makefile";
+
   postConfigure = "make -C src .depend";
   
   makeFlags = "FACILEDIR=\${out}/lib/ocaml/facile";
diff --git a/pkgs/development/libraries/facile/ocaml_4.xx.patch b/pkgs/development/libraries/facile/ocaml_4.xx.patch
new file mode 100644
index 00000000000..429405fabda
--- /dev/null
+++ b/pkgs/development/libraries/facile/ocaml_4.xx.patch
@@ -0,0 +1,12 @@
+diff -rupN facile-1.1/src/fcl_data.ml facile-1.1-patched//src/fcl_data.ml
+--- facile-1.1/src/fcl_data.ml	2004-09-08 11:51:02.000000000 +0200
++++ facile-1.1-patched//src/fcl_data.ml	2012-12-16 13:49:36.286722670 +0100
+@@ -16,7 +16,7 @@ end
+ 
+ module Hashtbl = struct
+   type ('a, 'b) t = ('a, 'b) Hashtbl.t
+-  let create = Hashtbl.create
++  let create x = Hashtbl.create x
+   let get h = h
+ 
+   let add h k d =
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index 7d84cf88993..eabb9789d79 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst_plugins_base
-, pygobject, gst_python, gupnp_igd
-, gst_plugins_good, gst_plugins_bad, gst_ffmpeg
+{ stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst-plugins-base
+, pygobject, gst-python, gupnp_igd
+, gst-plugins-good, gst-plugins-bad, gst-libav
 }:
 
 stdenv.mkDerivation rec {
-  name = "farstream-0.1.2";
+  name = "farstream-0.2.4";
   src = fetchurl {
     url = "http://www.freedesktop.org/software/farstream/releases/farstream/${name}.tar.gz";
-    sha256 = "1nbkbvq959f70zhr03fwdibhs0sbf1k7zmbz9w99vda7gdcl0nps";
+    sha256 = "0c5vlyiwb799wpby4g9vffiy0nf09gy2cr84ksfy3jwzsxf5n38j";
   };
 
   buildInputs = [ libnice python pygobject gupnp_igd libnice ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ gstreamer gst_plugins_base gst_python
-    gst_plugins_good gst_plugins_bad gst_ffmpeg
+  propagatedBuildInputs = [ gstreamer gst-plugins-base gst-python
+    gst-plugins-good gst-plugins-bad gst-libav
     ];
 
   meta = {
diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix
new file mode 100644
index 00000000000..a9c8b19dc50
--- /dev/null
+++ b/pkgs/development/libraries/fdk-aac/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+let version = "0.1.3";
+in
+stdenv.mkDerivation {
+  name = "fdk-aac-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/opencore-amr/fdk-aac/fdk-aac-${version}.tar.gz";
+    sha256 = "138c1l6c571289czihk0vlcfbla7qlac2jd5yyps5dyg08l8gjx9";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A high-quality implementation of the AAC codec from Android";
+    homepage = "http://sourceforge.net/projects/opencore-amr/";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/0.10.nix b/pkgs/development/libraries/ffmpeg/0.10.nix
new file mode 100644
index 00000000000..8ffe2daebf6
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/0.10.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2
+, mp3Support ? true, lame ? null
+, speexSupport ? true, speex ? null
+, theoraSupport ? true, libtheora ? null
+, vorbisSupport ? true, libvorbis ? null
+, vpxSupport ? false, libvpx ? null
+, x264Support ? true, x264 ? null
+, xvidSupport ? true, xvidcore ? null
+, vdpauSupport ? true, libvdpau ? null
+, faacSupport ? false, faac ? null
+, dc1394Support ? false, libdc1394 ? null
+}:
+
+assert speexSupport -> speex != null;
+assert theoraSupport -> libtheora != null;
+assert vorbisSupport -> libvorbis != null;
+assert vpxSupport -> libvpx != null;
+assert x264Support -> x264 != null;
+assert xvidSupport -> xvidcore != null;
+assert vdpauSupport -> libvdpau != null;
+assert faacSupport -> faac != null;
+
+stdenv.mkDerivation rec {
+  name = "ffmpeg-0.10.14";
+
+  src = fetchurl {
+    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "1frkz3971zc2a60ras5ia26b2h8wbh017x1x80q8cfw0ycrpbxqy";
+  };
+
+  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
+  # the resulting library is GPL'ed, so it can only be used in GPL'ed
+  # applications.
+  configureFlags = [
+    "--enable-gpl"
+    "--enable-postproc"
+    "--enable-swscale"
+    "--disable-ffplay"
+    "--enable-shared"
+    "--enable-runtime-cpudetect"
+  ]
+    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
+    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
+    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
+    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
+    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
+    ++ stdenv.lib.optional x264Support "--enable-libx264"
+    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
+    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394";
+
+  buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
+    ++ stdenv.lib.optional mp3Support lame
+    ++ stdenv.lib.optional speexSupport speex
+    ++ stdenv.lib.optional theoraSupport libtheora
+    ++ stdenv.lib.optional vorbisSupport libvorbis
+    ++ stdenv.lib.optional vpxSupport libvpx
+    ++ stdenv.lib.optional x264Support x264
+    ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional faacSupport faac
+    ++ stdenv.lib.optional dc1394Support libdc1394;
+
+  enableParallelBuilding = true;
+
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  passthru = {
+    inherit vdpauSupport;
+  };
+
+  meta = with stdenv.lib; {
+    homepage    = http://www.ffmpeg.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/0.6.90.nix b/pkgs/development/libraries/ffmpeg/0.6.90.nix
index 79d7816d782..7455410d51a 100644
--- a/pkgs/development/libraries/ffmpeg/0.6.90.nix
+++ b/pkgs/development/libraries/ffmpeg/0.6.90.nix
@@ -73,5 +73,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/0.6.nix b/pkgs/development/libraries/ffmpeg/0.6.nix
new file mode 100644
index 00000000000..053843d5313
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/0.6.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchurl, pkgconfig, yasm
+, mp3Support ? true, lame ? null
+, speexSupport ? true, speex ? null
+, theoraSupport ? true, libtheora ? null
+, vorbisSupport ? true, libvorbis ? null
+, vpxSupport ? false, libvpx ? null
+, x264Support ? true, x264 ? null
+, xvidSupport ? true, xvidcore ? null
+, vdpauSupport ? true, libvdpau ? null
+, faacSupport ? false, faac ? null
+}:
+
+assert speexSupport -> speex != null;
+assert theoraSupport -> libtheora != null;
+assert vorbisSupport -> libvorbis != null;
+assert vpxSupport -> libvpx != null;
+assert x264Support -> x264 != null;
+assert xvidSupport -> xvidcore != null;
+assert vdpauSupport -> libvdpau != null;
+assert faacSupport -> faac != null;
+
+stdenv.mkDerivation rec {
+  name = "ffmpeg-0.6.7";
+
+  src = fetchurl {
+    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "13l78gv2qhyw05bl9s6wkmykzsn4p04bb69a849a5c4hiffwz837";
+  };
+
+  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
+  # the resulting library is GPL'ed, so it can only be used in GPL'ed
+  # applications.
+  configureFlags = [
+    "--enable-gpl"
+    "--enable-postproc"
+    "--enable-swscale"
+    "--disable-ffserver"
+    "--disable-ffplay"
+    "--enable-shared"
+    "--enable-runtime-cpudetect"
+  ]
+    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
+    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
+    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
+    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
+    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
+    ++ stdenv.lib.optional x264Support "--enable-libx264"
+    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree";
+
+  buildInputs = [ pkgconfig lame yasm ]
+    ++ stdenv.lib.optional mp3Support lame
+    ++ stdenv.lib.optional speexSupport speex
+    ++ stdenv.lib.optional theoraSupport libtheora
+    ++ stdenv.lib.optional vorbisSupport libvorbis
+    ++ stdenv.lib.optional vpxSupport libvpx
+    ++ stdenv.lib.optional x264Support x264
+    ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional faacSupport faac;
+
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  meta = {
+    homepage = http://www.ffmpeg.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix
index be9f1c56d97..e2aa336d5d2 100644
--- a/pkgs/development/libraries/ffmpeg/1.x.nix
+++ b/pkgs/development/libraries/ffmpeg/1.x.nix
@@ -13,6 +13,7 @@
 , dc1394Support ? false, libdc1394 ? null
 , x11grabSupport ? false, libXext ? null, libXfixes ? null
 , playSupport ? true, SDL ? null
+, freetypeSupport ? true, freetype ? null, fontconfig ? null
 }:
 
 assert speexSupport -> speex != null;
@@ -27,13 +28,14 @@ assert vaapiSupport -> libva != null;
 assert faacSupport -> faac != null;
 assert x11grabSupport -> libXext != null && libXfixes != null;
 assert playSupport -> SDL != null;
+assert freetypeSupport -> freetype != null;
 
 stdenv.mkDerivation rec {
-  name = "ffmpeg-1.2.3";
+  name = "ffmpeg-1.2.8";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "0nvilgwaivzvikgp9lpvrwi4p1clxl4w8j961599bg0r2v7n4x6r";
+    sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2";
   };
 
   # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
@@ -59,7 +61,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
     ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
     ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
-    ++ stdenv.lib.optional playSupport "--enable-ffplay";
+    ++ stdenv.lib.optional playSupport "--enable-ffplay"
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig";
 
   buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
     ++ stdenv.lib.optional mp3Support lame
@@ -75,7 +78,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional faacSupport faac
     ++ stdenv.lib.optional dc1394Support libdc1394
     ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
-    ++ stdenv.lib.optional playSupport SDL;
+    ++ stdenv.lib.optional playSupport SDL
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
new file mode 100644
index 00000000000..8a25c4812b2
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -0,0 +1,106 @@
+{ stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
+, lame, speex, libass, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
+, libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
+, freetype, fontconfig, fdk_aac, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  name = "ffmpeg-2.3.3";
+
+  src = fetchurl {
+    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v";
+  };
+
+  subtitleSupport = config.ffmpeg.subtitle or true;
+  mp3Support = config.ffmpeg.mp3 or true;
+  speexSupport = config.ffmpeg.speex or true;
+  theoraSupport = config.ffmpeg.theora or true;
+  vorbisSupport = config.ffmpeg.vorbis or true;
+  vpxSupport = config.ffmpeg.vpx or true;
+  x264Support = config.ffmpeg.x264 or true;
+  xvidSupport = config.ffmpeg.xvid or true;
+  opusSupport = config.ffmpeg.opus or true;
+  vdpauSupport = config.ffmpeg.vdpau or true;
+  vaapiSupport = config.ffmpeg.vaapi or true;
+  faacSupport = config.ffmpeg.faac or false;
+  fdkAACSupport = config.ffmpeg.fdk or false;
+  dc1394Support = config.ffmpeg.dc1394 or false;
+  x11grabSupport = config.ffmpeg.x11grab or false;
+  playSupport = config.ffmpeg.play or true;
+  freetypeSupport = config.ffmpeg.freetype or true;
+  gnutlsSupport = config.ffmpeg.gnutls or true;
+
+  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
+  # the resulting library is GPL'ed, so it can only be used in GPL'ed
+  # applications.
+  configureFlags = [
+    "--enable-gpl"
+    "--enable-postproc"
+    "--enable-swscale"
+    "--enable-shared"
+    "--enable-avresample"
+    "--enable-runtime-cpudetect"
+  ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) "--enable-libass"
+    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
+    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
+    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
+    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
+    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
+    ++ stdenv.lib.optional x264Support "--enable-libx264"
+    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional opusSupport "--enable-libopus"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
+    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
+    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
+    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) "--enable-ffplay"
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
+    ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree"
+    ++ stdenv.lib.optional gnutlsSupport "--enable-gnutls";
+
+  buildInputs = [ pkgconfig lame yasm zlib bzip2 texinfo perl ]
+    ++ stdenv.lib.optional mp3Support lame
+    ++ stdenv.lib.optional speexSupport speex
+    ++ stdenv.lib.optional theoraSupport libtheora
+    ++ stdenv.lib.optional vorbisSupport libvorbis
+    ++ stdenv.lib.optional vpxSupport libvpx
+    ++ stdenv.lib.optional x264Support x264
+    ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional opusSupport libopus
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional vaapiSupport libva
+    ++ stdenv.lib.optional faacSupport faac
+    ++ stdenv.lib.optional dc1394Support libdc1394
+    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) SDL
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
+    ++ stdenv.lib.optional fdkAACSupport fdk_aac
+    ++ stdenv.lib.optional gnutlsSupport gnutls
+    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) libass
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+
+  enableParallelBuilding = true;
+
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  passthru = {
+    inherit vdpauSupport;
+  };
+
+  meta = {
+    homepage = http://www.ffmpeg.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix
deleted file mode 100644
index 98a6c35c8b8..00000000000
--- a/pkgs/development/libraries/ffmpeg/default.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, vdpauSupport ? true, libvdpau ? null
-, faacSupport ? false, faac ? null
-, dc1394Support ? false, libdc1394 ? null
-}:
-
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert vdpauSupport -> libvdpau != null;
-assert faacSupport -> faac != null;
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-0.10";
-  
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "1ybzw6d5axr807141izvm2yf4pa0hc1zcywj89nsn3qsdnknlna3";
-  };
-  
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--disable-ffplay"
-    "--enable-shared"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
-    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394";
-
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional faacSupport faac
-    ++ stdenv.lib.optional dc1394Support libdc1394;
-
-  enableParallelBuilding = true;
-    
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  passthru = {
-    inherit vdpauSupport;
-  };
-
-  meta = with stdenv.lib; {
-    homepage    = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index 38371ec276d..c394fd07028 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, zlib, ffmpeg, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "ffms-2.17";
-  
+stdenv.mkDerivation rec {
+  name = "ffms-2.19";
+
   src = fetchurl {
-    url = http://ffmpegsource.googlecode.com/files/ffms-2.17-src.tar.bz2;
-    sha256 = "0gb42hrwnldz3zjlk4llx85dvxysxlfrdf5yy3fay8r8k1vpl7wr";
+    url = https://codeload.github.com/FFMS/ffms2/tar.gz/2.19;
+    name = "${name}.tar.gz";
+    sha256 = "0498si8bzwyxxq0f1yc6invzb1lv1ab436gwzn9418839x8pj4vg";
   };
 
   NIX_CFLAGS_COMPILE = "-fPIC";
@@ -15,6 +16,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://code.google.com/p/ffmpegsource/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index e096c5fa94f..83735376b98 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -1,36 +1,31 @@
-{fetchurl, stdenv, builderDefs, stringsWithDeps, singlePrecision ? false, pthreads ? false, float ? false}:
-let
-  version = "3.3.2";
-  localDefs = builderDefs.passthru.function { 
-  src = 
-    fetchurl {
-      url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
-      sha256 = "b1236a780ca6e66fc5f8eda6ef0665d680e8253d9f01d7bf211b714a50032d01";
-    };
-  buildInputs = [];
-  configureFlags = ["--enable-shared"]
-                        # some distros seem to be shipping both versions within the same package?
-                        # why does --enable-float still result in ..3f.so instead of ..3.so?
-                   ++ (if singlePrecision then [ "--enable-single" ] else [ ])
-                   ++ (if float then [ "--enable-float" ] else [ ])
-		   ++ (stdenv.lib.optional (!pthreads) "--enable-openmp")
-		   ++ (stdenv.lib.optional pthreads "--enable-threads")
-                        # I think all i686 has sse
-                   ++ (if (stdenv.isi686 || stdenv.isx86_64) && singlePrecision then [ "--enable-sse" ] else [ ])
-                        # I think all x86_64 has sse2
-                   ++ (if stdenv.isx86_64 && ! singlePrecision then [ "--enable-sse2" ] else [ ]);
-                
+{ fetchurl, stdenv, lib, precision ? "double" }:
+
+with lib;
+
+assert elem precision [ "single" "double" "long-double" "quad-precision" ];
+
+let version = "3.3.4"; in
+
+stdenv.mkDerivation rec {
+  name = "fftw-${precision}-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
+    sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g";
   };
-in with localDefs;
-stdenv.mkDerivation {
-  name = "fftw-3.3.2" + ( if singlePrecision then "-single" else "-double" );
-  builder = writeScript "fftw-3.3.2-builder"
-    (textClosure localDefs [doConfigure doMakeInstall doForceShare]);
+
+  configureFlags =
+    [ "--enable-shared" "--disable-static"
+      "--enable-threads" "--enable-openmp" # very small wrappers
+    ]
+    ++ optional (precision != "double") "--enable-${precision}"
+    # all x86_64 have sse2
+    ++ optional stdenv.isx86_64 "--enable-sse2";
+
+  enableParallelBuilding = true;
+
   meta = {
     description = "Fastest Fourier Transform in the West library";
-  };
-  passthru = {
-    # Allow instantiating "-A fftw.src"
-    inherit src;
+    homepage = http://www.fftw.org/;
   };
 }
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 6db0dc240ba..85896cdb5e3 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
     description = "A small, fast run-time speech synthesis engine";
     homepage = http://www.speech.cs.cmu.edu/flite/index.html; 
     license = "free-non-copyleft";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
 
diff --git a/pkgs/development/libraries/fltk/fltk13.nix b/pkgs/development/libraries/fltk/fltk13.nix
index 3ab267ad6b4..8fb4d40b1db 100644
--- a/pkgs/development/libraries/fltk/fltk13.nix
+++ b/pkgs/development/libraries/fltk/fltk13.nix
@@ -1,20 +1,28 @@
 { composableDerivation, fetchurl, pkgconfig, x11, inputproto, libXi
-, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng }:
+, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng
+
+, automake, autoconf, libtool
+}:
 
 let inherit (composableDerivation) edf; in
 
-let version = "1.3.0"; in
+let version = "1.3.2"; in
 composableDerivation.composableDerivation {} {
   name = "fltk-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.easysw.com/pub/fltk/${version}/fltk-${version}-source.tar.gz";
-    sha256 = "075j6ljx4dfg9rnkardn24y0f26ylpakm0yylg6a9kllha07c1lr";
+    url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
+    sha256 = "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p";
   };
 
   propagatedBuildInputs = [ x11 inputproto libXi freeglut ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  enableParallelBilding = true;
+
+  nativeBuildInputs = [
+    pkgconfig
+    automake autoconf libtool # only required because of patch
+  ];
 
   flags =
     # this could be tidied up (?).. eg why does it require freeglut without glSupport?
@@ -46,4 +54,11 @@ composableDerivation.composableDerivation {} {
     description = "A C++ cross-platform light-weight GUI library binding";
     homepage = http://www.fltk.org;
   };
+
+  patches = [
+    # https://bugs.archlinux.org/task/36186
+    (fetchurl {
+    url = "https://bugs.archlinux.org/task/36186?getfile=10750";
+    sha256 = "1hpb1i87nc3zw6mgpgf3bfv557ci930bsn6rwlhaif51nlqd2wbj";
+  }) ];
 }
diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix
index d85a24fa63a..78b70eebd7e 100644
--- a/pkgs/development/libraries/fmod/default.nix
+++ b/pkgs/development/libraries/fmod/default.nix
@@ -1,28 +1,40 @@
-{stdenv, fetchurl }:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "fmod-42204";
-  src = if stdenv.system == "i686-linux" then
-    fetchurl {
-      url = http://www.fmod.org/index.php/release/version/fmodapi42204linux.tar.gz;
-      sha256 = "64eedc5b37c597eb925de446106d75cab0b5a79697d5ec048d34702812c08563";
-    } else if stdenv.system == "x86_64-linux" then
-    fetchurl {
-      url = http://www.fmod.org/index.php/release/version/fmodapi42204linux64.tar.gz;
-      sha256 = "3f2eec8265838a1005febe07c4971660e85010e4622911890642dc438746edf3";
-    } else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)";
+assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux");
+let
+  bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
 
-  preInstall = ''
-    sed -e /ldconfig/d -i Makefile
-    sed -e s@/usr/local@$out@ -i Makefile
-    sed -e s@/include/fmodex@/include@ -i Makefile
-    mkdir -p $out/lib
-    mkdir -p $out/include
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.libc stdenv.gcc.gcc ] + ":${stdenv.gcc.gcc}/lib64";
+  patchLib = x: "patchelf --set-rpath ${libPath} ${x}";
+in
+stdenv.mkDerivation rec {
+  name    = "fmod-${version}";
+  version = "4.44.41";
+
+  src = fetchurl {
+    url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44441linux.tar.gz";
+    sha256 = "0qjvbhx9g6ijv542n6w3ryv20f74p1qx6bbllda9hl14683z8r8p";
+  };
+
+  dontStrip = true;
+  buildPhase = "true";
+  installPhase = ''
+    mkdir -p $out/lib $out/include/fmodex
+
+    cd api/inc && cp * $out/include/fmodex && cd ../lib
+    cp libfmodex${bits}-${version}.so  $out/lib/libfmodex.so
+    cp libfmodexL${bits}-${version}.so $out/lib/libfmodexL.so
+
+    ${patchLib "$out/lib/libfmodex.so"}
+    ${patchLib "$out/lib/libfmodexL.so"}
   '';
 
   meta = {
-    homepage = http://www.fmod.org/;
     description = "Programming library and toolkit for the creation and playback of interactive audio";
-    license = "unfree";
+    homepage    = "http://www.fmod.org/";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index b2afc427b4c..f0c4da75567 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -8,17 +8,23 @@ stdenv.mkDerivation rec {
     sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
   };
 
-  infinality_patch = with freetype.infinality; if useInfinality
-    then let subvers = "1";
+  infinality_patch =
+    let subvers = "1";
       in fetchurl {
         url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
         sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
       }
-    else null;
+    ;
 
-  buildInputs = [ pkgconfig freetype expat ];
+  propagatedBuildInputs = [ freetype ];
+  buildInputs = [ pkgconfig expat ];
 
-  configureFlags = "--sysconfdir=/etc --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--with-cache-dir=/var/cache/fontconfig"
+    "--disable-docs"
+    "--with-default-fonts="
+  ];
 
   # We should find a better way to access the arch reliably.
   crossArch = stdenv.cross.arch or null;
@@ -31,17 +37,20 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # Don't try to write to /etc/fonts or /var/cache/fontconfig at install time.
-  installFlags = "sysconfdir=$(out)/etc RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";
+  doCheck = true;
 
-  postInstall = stdenv.lib.optionalString freetype.infinality.useInfinality ''
+  # Don't try to write to /var/cache/fontconfig at install time.
+  installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
+
+  postInstall = ''
     cd "$out/etc/fonts" && tar xvf ${infinality_patch}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library for font customization and configuration";
     homepage = http://fontconfig.org/;
-    license = "bsd";
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd2; # custom but very bsd-like
+    platforms = platforms.all;
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
index bf94bfa34d2..f9cd096f559 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
@@ -1,13 +1,14 @@
-{runCommand, libxslt, fontconfig, fontDirectories}:
+{ runCommand, libxslt, fontconfig, fontDirectories }:
 
 runCommand "fonts.conf"
-  { 
-    buildInputs = [libxslt];
+  {
+    buildInputs = [ libxslt fontconfig ];
     inherit fontDirectories;
   }
   ''
     xsltproc --stringparam fontDirectories "$fontDirectories" \
       --stringparam fontconfig "${fontconfig}" \
+      --path ${fontconfig}/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} ${fontconfig}/etc/fonts/fonts.conf \
       > $out
   ''
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
index 68c91596ac5..59071ce9e22 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
@@ -22,16 +22,19 @@
     <fontconfig>
       <xsl:copy-of select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
 
-      <include ignore_missing="yes" xml:space="preserve">/etc/fonts/conf.d</include>
-      <include xml:space="preserve"><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
+      <include ignore_missing="yes">/etc/fonts/conf.d</include>
+      <include><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
 
-      <cachedir xml:space="preserve">/var/cache/fontconfig</cachedir>
-      <cachedir xml:space="preserve">~/.fontconfig</cachedir>
+      <cachedir>/var/cache/fontconfig</cachedir>
+      <cachedir>~/.fontconfig</cachedir>
 
       <xsl:for-each select="str:tokenize($fontDirectories)">
         <dir><xsl:value-of select="." /></dir>
         <xsl:text>&#0010;</xsl:text>
       </xsl:for-each>
+      <dir prefix="xdg">fonts</dir>
+      <!-- the following element will be removed in the future -->
+      <dir>~/.fonts</dir>
 
     </fontconfig>
 
diff --git a/pkgs/development/libraries/fox/default.nix b/pkgs/development/libraries/fox/default.nix
index 87e47e1b046..63acc14521c 100644
--- a/pkgs/development/libraries/fox/default.nix
+++ b/pkgs/development/libraries/fox/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     md5 = "b5897e9c664967f5042e57070037ff18";
   };
 
-  buildInputs = [ x11 libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr libXft ];
+  buildInputs = [ libpng x11 libjpeg libtiff zlib bzip2 libXcursor libXrandr libXft ];
 
   doCheck = true;
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
         Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms.
       '';
     homepage = "http://fox-toolkit.org";
-    license = "LGPLv3";
+    license = stdenv.lib.licenses.lgpl3;
     maintainers = [ stdenv.lib.maintainers.bbenoist ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index 2a7bb1dc31a..2fe104e849f 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -2,7 +2,7 @@
 , libXrandr, mesa, libXft, libXfixes, xinput }:
 
 let
-  version = "1.6.48";
+  version = "1.6.49";
 in
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.fox-toolkit.org/pub/${name}.tar.gz";
-    sha256 = "1i0q0357lrd41jjr2nkf2a7ls5ls2nwrkxbfc7202vy22942lb9k";
+    sha256 = "03m9wm8hpzh1i0fxx5mpvjr67384pfm9hn7gzdcq55b4639fqy9n";
   };
 
   buildInputs = [ x11 libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
         Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms.
       '';
     homepage = "http://fox-toolkit.org";
-    license = "LGPLv3";
+    license = stdenv.lib.licenses.lgpl3;
     maintainers = [ stdenv.lib.maintainers.bbenoist ];
     platforms = stdenv.lib.platforms.mesaPlatforms;
   };
diff --git a/pkgs/development/libraries/freealut/default.nix b/pkgs/development/libraries/freealut/default.nix
index 72d19875dec..25ba89994e5 100644
--- a/pkgs/development/libraries/freealut/default.nix
+++ b/pkgs/development/libraries/freealut/default.nix
@@ -1,10 +1,18 @@
-{stdenv, fetchurl, openal}:
+{ stdenv, fetchurl, openal }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "freealut-1.1.0";
+
   src = fetchurl {
-    url = http://www.openal.org/openal_webstf/downloads/freealut-1.1.0.tar.gz;
+    url = "http://www.openal.org/openal_webstf/downloads/${name}.tar.gz";
     sha256 = "0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0";
   };
-  buildInputs = [openal];
+
+  buildInputs = [ openal ];
+
+  meta = {
+    homepage = "http://openal.org/";
+    description = "Free implementation of OpenAL's ALUT standard";
+    license = stdenv.lib.licenses.lgpl2;
+  };
 }
diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix
index 6e556a144ce..73e7e2ccce5 100644
--- a/pkgs/development/libraries/freeglut/default.nix
+++ b/pkgs/development/libraries/freeglut/default.nix
@@ -1,15 +1,27 @@
-{ stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11 }:
+{ stdenv, lib, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11, autoreconfHook }:
 
-stdenv.mkDerivation {
-  name = "freeglut-2.8.1";
+let version = "2.8.1";
+in stdenv.mkDerivation {
+  name = "freeglut-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/freeglut/freeglut-2.8.1.tar.gz;
+    url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz";
     sha256 = "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x";
   };
 
-  configureFlags = "--" + (if stdenv.isDarwin then "disable" else "enable") + "-warnings";
+  buildInputs = [
+    libXi libXrandr libXxf86vm mesa x11
+  ] ++ lib.optionals stdenv.isDarwin [
+    autoreconfHook
+  ];
+
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile.am --replace \
+      "SUBDIRS = src include progs doc" \
+      "SUBDIRS = src include doc"
+  '';
+
+  configureFlags = [ "--enable-warnings" ];
 
-  buildInputs = [ libXi libXrandr libXxf86vm mesa x11 ];
   # patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ];
 }
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index b39da46e4a2..547e9e813be 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -8,12 +8,18 @@ stdenv.mkDerivation {
     sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba";
   };
 
+  doDist = true;
+
+  distPhase = ''
+    touch $out/include/tds.h
+    touch $out/lib/libtds.a
+  '';
+
   meta = {
     description =
       "Libraries to natively talk to Microsoft SQL Server and Sybase databases";
     homepage = "http://www.freetds.org";
     license = "lgpl";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 2c8839ba619..1df9e46c0f7 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,61 +1,64 @@
-{ stdenv, fetchurl, gnumake
+{ stdenv, fetchurl, fetchpatch, pkgconfig, which, zlib, bzip2, libpng, gnumake
   # FreeType supports sub-pixel rendering.  This is patented by
   # Microsoft, so it is disabled by default.  This option allows it to
   # be enabled.  See http://www.freetype.org/patents.html.
-, useEncumberedCode ? false
-, useInfinality ? true
+, glib/*passthru only*/
+, useEncumberedCode ? true
 }:
 
-assert !(useEncumberedCode && useInfinality); # probably wouldn't make sense
-
 let
+  version = "2.5.3";
 
-  version = "2.4.12";
-
+  fetch_bohoomil = name: sha256: fetchpatch {
+    url = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/8a155db28f264520596cc3e76eb44824bdb30f8e/01_freetype2-iu/ + name;
+    inherit sha256;
+  };
 in
-
+with { inherit (stdenv.lib) optional optionalString; };
 stdenv.mkDerivation rec {
   name = "freetype-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "10akr2c37iv9y7fkgwp2szgwjyl2g6qmk9z1m596iaw9cr41g2m7";
+    sha256 = "0pppcn73b5pwd7zdi9yfx16f5i93y18q7q4jmlkwmwrfsllqp160";
   };
 
   outputs = [ "dev" "out" ];
 
   configureFlags = "--disable-static --bindir=$(dev)/bin";
 
-  infinality_patch =
-    if useInfinality then fetchurl {
-      url = http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.12-20130514_01-x86_64.tar.bz2;
-      sha256 = "1lg2nzvxmwzwdfhxranw8iyflhr72cw9p11rkpgq1scxbp37668m";
-    } else null;
-
-  NIX_CFLAGS_COMPILE = with stdenv.lib;
-    " -fno-strict-aliasing" # from Gentoo, see https://bugzilla.redhat.com/show_bug.cgi?id=506840
-    + optionalString useEncumberedCode " -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1"
-    + optionalString useInfinality " -DTT_CONFIG_OPTION_SUBPIXEL_HINTING=1";
-
   patches = [ ./enable-validation.patch ] # from Gentoo
-    ++ stdenv.lib.optional useInfinality [ infinality_patch ];
-
+    ++ [
+      (fetch_bohoomil "freetype-2.5.3-pkgconfig.patch" "1dpfdh8kmka3gzv14glz7l79i545zizah6wma937574v5z2iy3nn")
+      (fetch_bohoomil "fix_segfault_with_harfbuzz.diff" "1nx36inqrw717b86cla2miprdb3hii4vndw95k0jbbhfmax9k6fy")
+    ]
+    ++ optional useEncumberedCode
+      (fetch_bohoomil "infinality-2.5.3.patch" "0mxiybcb4wwbicrjiinh1b95rv543bh05sdqk1v0ipr3fxfrb47q")
+    ;
+
+  propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
+  # dependence on harfbuzz is looser than the reverse dependence
+  buildInputs = [ pkgconfig which ]
+    # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
+    ++ optional (!stdenv.isLinux) gnumake;
+
+  # from Gentoo, see https://bugzilla.redhat.com/show_bug.cgi?id=506840
+  NIX_CFLAGS_COMPILE = "-fno-strict-aliasing";
   # The asm for armel is written with the 'asm' keyword.
-  CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99";
-
-  # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
-  buildInputs = stdenv.lib.optional (!stdenv.isLinux) gnumake;
+  CFLAGS = optionalString stdenv.isArm "-std=gnu99";
 
   enableParallelBuilding = true;
 
   doCheck = true;
 
-  postInstall =
-    ''
-      mkdir $dev/lib
-      mv $out/lib/pkgconfig $dev/lib/
-      ln -s freetype2/freetype $dev/include/freetype
-    '';
+  # compat hacks
+  postInstall = glib.flattenInclude + ''
+    ln -s . "$out"/include/freetype
+
+    mkdir $dev/lib
+    mv $out/lib/pkgconfig $dev/lib/
+    ln -s freetype2/freetype $dev/include/freetype
+  '';
 
   crossAttrs = {
     # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
@@ -64,13 +67,11 @@ stdenv.mkDerivation rec {
     configureFlags = "--disable-static CC_BUILD=gcc";
   };
 
-  passthru.infinality.useInfinality = useInfinality; # for fontconfig
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "A font rendering engine";
     homepage = http://www.freetype.org/;
-    license = if useEncumberedCode then "unfree"
-      else "GPLv2+"; # or the FreeType License (BSD + advertising clause)
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
+    #ToDo: encumbered = useEncumberedCode;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/frei0r/default.nix b/pkgs/development/libraries/frei0r/default.nix
new file mode 100644
index 00000000000..2e3db4c2d73
--- /dev/null
+++ b/pkgs/development/libraries/frei0r/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, autoconf, cairo, opencv, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "frei0r-plugins-${version}";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "https://files.dyne.org/.xsend.php?file=frei0r/releases/${name}.tar.gz";
+    sha256 = "0mxyhdp1p1a3ga8170ijygb870zwbww1dgp3kdr1nd4zvsmzqw44";
+  };
+
+  buildInputs = [ autoconf cairo opencv pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://frei0r.dyne.org;
+    description = "Minimalist, cross-platform, shared video plugins";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+
+  };
+}
diff --git a/pkgs/development/libraries/ganv/default.nix b/pkgs/development/libraries/ganv/default.nix
new file mode 100644
index 00000000000..40e0388d749
--- /dev/null
+++ b/pkgs/development/libraries/ganv/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchsvn, graphviz, gtk, gtkmm, pkgconfig, python }:
+
+stdenv.mkDerivation rec {
+  name = "ganv-svn-${rev}";
+  rev = "5318";
+
+  src = fetchsvn {
+    url = "http://svn.drobilla.net/lad/trunk/ganv";
+    rev = rev;
+    sha256 = "0wi87ks2xjma979d9hy82wmlm06g4sr0pm3b1n3zv27y52wrf7fl";
+  };
+
+  buildInputs = [ graphviz gtk gtkmm pkgconfig python ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    description = "An interactive Gtk canvas widget for graph-based interfaces";
+    homepage = http://drobilla.net;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index dde95364337..7c78ca3ed6f 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -9,7 +9,7 @@ composableDerivation.composableDerivation {} (fixed: {
     md5 = "f5592cff69b239166c9b64ff81943b1a";
   };
 
-  buildInputs = [ unzip libjpeg ];
+  buildInputs = [ unzip libjpeg libtiff ];
 
   # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults
   preConfigure = "export CFLAGS=-O0; export CXXFLAGS=-O0";
@@ -27,7 +27,7 @@ composableDerivation.composableDerivation {} (fixed: {
   meta = {
     description = "Translator library for raster geospatial data formats";
     homepage = http://www.gdal.org/;
-    license = "X/MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 3b982582b54..1fd6c429dc0 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gdbm-1.10";
+  name = "gdbm-1.11";
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${name}.tar.gz";
-    sha256 = "0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13";
+    sha256 = "1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd";
   };
 
   doCheck = true;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/gdbm/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 8b87c181722..a72d7ad5e40 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,16 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz
+{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11
 , jasper, libintlOrEmpty, gobjectIntrospection }:
 
+let
+  ver_maj = "2.30";
+  ver_min = "8";
+in
 stdenv.mkDerivation rec {
-  name = "gdk-pixbuf-2.28.2";
+  name = "gdk-pixbuf-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gdk-pixbuf/2.28/${name}.tar.xz";
-    sha256 = "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q";
+    url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
+    sha256 = "1gpqpskp4zzf7h35bp247jcvnk6rxc52r69pb11v8g8i2q386ls8";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
 
+  setupHook = ./setup-hook.sh;
+
   enableParallelBuilding = true;
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
@@ -24,12 +30,12 @@ stdenv.mkDerivation rec {
     + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
     ;
 
+  doCheck = true;
+
   meta = {
     description = "A library for image loading and manipulation";
-
     homepage = http://library.gnome.org/devel/gdk-pixbuf/;
-
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
new file mode 100644
index 00000000000..06e820633b8
--- /dev/null
+++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
@@ -0,0 +1,25 @@
+findGdkPixbufLoaders() {
+
+	if [ -n "$out" ] && [ -z "$IN_NIX_SHELL" ]; then
+
+		# set pixbuf loaders.cache for this package
+
+		local loadersDir="$out/lib/gdk-pixbuf-loaders-2.0/$name"
+		mkdir -p "$loadersDir"
+		
+		if [ -f "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]; then
+			cat "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" >> "$loadersDir/loaders.cache"
+		fi
+	
+		if [ -f "$1/lib/gdk-pixbuf/loaders.cache" ]; then
+			cat "$1/lib/gdk-pixbuf/loaders.cache" >> "$loadersDir/loaders.cache"
+		fi
+		
+		# note, this is not a search path
+		export GDK_PIXBUF_MODULE_FILE=$(readlink -e "$loadersDir/loaders.cache")
+
+	fi
+
+}
+
+envHooks+=(findGdkPixbufLoaders)
diff --git a/pkgs/development/libraries/gdome2/default.nix b/pkgs/development/libraries/gdome2/default.nix
index 415a98029cc..516fb932983 100644
--- a/pkgs/development/libraries/gdome2/default.nix
+++ b/pkgs/development/libraries/gdome2/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://gdome2.cs.unibo.it/;
     description = "DOM C library developped for the Gnome project";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/libraries/gegl/0_0_22.nix b/pkgs/development/libraries/gegl/0_0_22.nix
index b2f2e85a1ea..3f9a619ff6a 100644
--- a/pkgs/development/libraries/gegl/0_0_22.nix
+++ b/pkgs/development/libraries/gegl/0_0_22.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Graph-based image processing framework";
     homepage = http://www.gegl.org;
-    license = "GPL3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index a30d5c78e7f..a589d625273 100644
--- a/pkgs/development/libraries/gegl/default.nix
+++ b/pkgs/development/libraries/gegl/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg
 , librsvg, pango, gtk, bzip2, intltool }:
-        
+
 stdenv.mkDerivation rec {
   name = "gegl-0.2.0";
 
@@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426";
   };
 
+  patches = [( fetchurl {
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/"
+      + "gegl-0.2.0-CVE-2012-4433.patch?h=packages/gegl&id=57a60fbda5d7bbbd1cc4767cb0724baa80c5e3e9";
+    sha256 = "0p8mxj3w09nn1cc6cbxrd9hx742c5y27903i608wx6ja3kdjis59";
+    name = "CVE-2012-4433.patch";
+  })];
+
   # needs fonts otherwise  don't know how to pass them
   configureFlags = "--disable-docs";
 
@@ -19,6 +26,6 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "Graph-based image processing framework";
     homepage = http://www.gegl.org;
-    license = "GPL3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
index d799dfb6027..5ab9cb62443 100644
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ b/pkgs/development/libraries/geoclue/2.0.nix
@@ -1,18 +1,18 @@
 { fetchurl, stdenv, intltool, pkgconfig, glib, json_glib, libsoup, geoip
-, dbus, dbus_glib
+, dbus, dbus_glib, networkmanager, modemmanager
 }:
 
 stdenv.mkDerivation rec {
-  name = "geoclue-2.0.0";
+  name = "geoclue-2.1.9";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/geoclue/releases/2.0/${name}.tar.xz";
-    sha256 = "18b7ikdcw2rm04gzw82216shp5m9pghvnsddw233s5jswn2g30ja";
+    url = "http://www.freedesktop.org/software/geoclue/releases/2.1/${name}.tar.xz";
+    sha256 = "0aq9fqlvvc8jqbshp3mbcc1j5hq4fzjy8hd1yxcl6xrd0jkfw5ml";
   };
 
   buildInputs =
    [ intltool pkgconfig glib json_glib libsoup geoip
-     dbus dbus_glib
+     dbus dbus_glib networkmanager modemmanager
    ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix
index 86982025416..2b4c291f7f5 100644
--- a/pkgs/development/libraries/geoip/default.nix
+++ b/pkgs/development/libraries/geoip/default.nix
@@ -1,25 +1,19 @@
-a :  
-let 
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
-    zlib
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl }:
 
-  inherit (s) name;
-  inherit buildInputs;
-  configureFlags = [];
+let version = "1.6.0"; in
+
+stdenv.mkDerivation {
+  name = "geoip-${version}";
+
+  src = fetchurl {
+    url = "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-${version}.tar.gz";
+    sha256 = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-  goSrcDir = "cd GeoIP-*/";
-      
   meta = {
     description = "Geolocation API";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/geoip/src-for-default.nix b/pkgs/development/libraries/geoip/src-for-default.nix
deleted file mode 100644
index cb9a5e758fc..00000000000
--- a/pkgs/development/libraries/geoip/src-for-default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-rec {
-  advertisedUrl="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz";
-  version = "1.4.6";
-  url="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz";
-  hash = "1i4ixj6ha62qqzsn23qg428cv1zjj2ip7kmas62xgivvgm02kd0n";
-  name = "geoip-1.4.6";
-  
-}
diff --git a/pkgs/development/libraries/geoip/src-info-for-default.nix b/pkgs/development/libraries/geoip/src-info-for-default.nix
deleted file mode 100644
index 99c79227c63..00000000000
--- a/pkgs/development/libraries/geoip/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  downloadPage = "http://geolite.maxmind.com/download/geoip/api/c/";
-  sourceRegexp = "GeoIP-[0-9.]+[.]tar[.]gz";
-  choiceCommand = "tail -1";
-  baseName = "geoip";
-}
diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix
index 56c3c3e7a2b..d1695f295fc 100644
--- a/pkgs/development/libraries/geos/default.nix
+++ b/pkgs/development/libraries/geos/default.nix
@@ -10,11 +10,11 @@ composableDerivation.composableDerivation {} rec {
     # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
     # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
 
-  name = "geos-3.3.8";
+  name = "geos-3.4.2";
 
   src = fetchurl {
     url = "http://download.osgeo.org/geos/${name}.tar.bz2";
-    sha256 = "0fshz8s9g610ycl4grrmcdcxb01aqpc6qac3x3jjik0vlz8x9v7b";
+    sha256 = "0lvcs8x9as5jlxilykgg3i4220x8m4z59b2ngfapl219gvgvzs0m";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 4908662591c..4d400a6ea7d 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchurl, libiconvOrEmpty }:
-
-with { inherit (stdenv.lib) optionals optionalAttrs; };
+{ stdenv, fetchurl, libiconv, xz }:
 
 stdenv.mkDerivation (rec {
-  name = "gettext-0.18.1.1";
+  name = "gettext-0.18.2";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${name}.tar.gz";
-    sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k";
+    sha256 = "516a6370b3b3f46e2fc5a5e222ff5ecd76f3089bc956a7587a6e4f89de17714c";
   };
 
-  patches = [ ./no-gets.patch ];
+  LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
 
-  configureFlags = [ "--disable-csharp" ]
-     ++ (optionals stdenv.isCygwin
+  configureFlags = [ "--disable-csharp" "--with-xz" ]
+     ++ (stdenv.lib.optionals stdenv.isCygwin
           [ # We have a static libiconv, so we can only build the static lib.
             "--disable-shared" "--enable-static"
 
@@ -32,12 +30,12 @@ stdenv.mkDerivation (rec {
     fi
   '';
 
-  buildInputs = libiconvOrEmpty;
+  buildInputs = [ xz ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
 
   enableParallelBuilding = true;
 
   crossAttrs = {
-    buildInputs = optional (stdenv.gccCross.libc ? libiconv)
+    buildInputs = stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
       stdenv.gccCross.libc.libiconv.crossDrv;
     # Gettext fails to guess the cross compiler
     configureFlags = "CXX=${stdenv.cross.config}-g++";
@@ -72,11 +70,11 @@ stdenv.mkDerivation (rec {
   };
 }
 
-// optionalAttrs stdenv.isDarwin {
+// stdenv.lib.optionalAttrs stdenv.isDarwin {
   makeFlags = "CFLAGS=-D_FORTIFY_SOURCE=0";
 }
 
-// optionalAttrs stdenv.isCygwin {
+// stdenv.lib.optionalAttrs stdenv.isCygwin {
   patchPhase =
    # Make sure `error.c' gets compiled and is part of `libgettextlib.la'.
    # This fixes:
diff --git a/pkgs/development/libraries/gettext/no-gets.patch b/pkgs/development/libraries/gettext/no-gets.patch
deleted file mode 100644
index 9daa48eae64..00000000000
--- a/pkgs/development/libraries/gettext/no-gets.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-hack until gzip pulls a newer gnulib version
-
-From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
-From: Eric Blake <eblake@redhat.com>
-Date: Thu, 29 Mar 2012 13:30:41 -0600
-Subject: [PATCH] stdio: don't assume gets any more
-
-Gnulib intentionally does not have a gets module, and now that C11
-and glibc have dropped it, we should be more proactive about warning
-any user on a platform that still has a declaration of this dangerous
-interface.
-
---- a/gettext-tools/libgettextpo/stdio.in.h
-+++ b/gettext-tools/libgettextpo/stdio.in.h
-@@ -125,7 +125,6 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
---- a/gettext-tools/gnulib-lib/stdio.in.h
-+++ b/gettext-tools/gnulib-lib/stdio.in.h
-@@ -125,7 +125,6 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
---- a/gettext-runtime/gnulib-lib/stdio.in.h
-+++ b/gettext-runtime/gnulib-lib/stdio.in.h
-@@ -125,7 +125,6 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/pkgs/development/libraries/giflib/4.1.nix b/pkgs/development/libraries/giflib/4.1.nix
new file mode 100644
index 00000000000..13cd1c79b6a
--- /dev/null
+++ b/pkgs/development/libraries/giflib/4.1.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "giflib-4.1.6";
+  src = fetchurl {
+    url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2;
+    sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1";
+  };
+  meta = {
+    branch = "4.1";
+  };
+}
+
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
index 35d66b3647b..4dc8132805c 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/default.nix
@@ -1,10 +1,12 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "giflib-4.1.6";
+  name = "giflib-5.0.5";
   src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2;
-    sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1";
+    url = mirror://sourceforge/giflib/giflib-5.0.5.tar.bz2;
+    sha256 = "02c6pwll9pzw5fhg5gccx2ws56d70ylfryk21nv5lqhwdcv8lvb0";
   };
+
+  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
 }
 
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 2e7a8d33cb0..abb782641dd 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,15 +1,17 @@
 {stdenv, fetchurl, cmake, zlib, python}:
 
 stdenv.mkDerivation rec {
-  version = "0.18.0";
+  version = "0.20.0";
   name = "libgit2-${version}";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    md5 = "50409ddb0c34713677b33ef617e92c94";
+    sha256 = "1iyncz8fqazw683dxjls3lf5pw3f5ma8kachkvjz7dsq57wxllbj";
   };
 
+  cmakeFlags = "-DTHREADSAFE=ON";
+
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ zlib ];
 
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index 313eec0bc7d..5127311e7c9 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -1,33 +1,52 @@
 { stdenv, fetchurl, mesa_glu, x11, libXmu, libXi }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  name = "glew-1.9.0";
+  name = "glew-1.11.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/glew/${name}.tgz";
-    sha256 = "11xpmsw7m5qn7y8fa2ihhqcislz1bdd83mp99didd5ac84756dlv";
+    sha256 = "1mhkllxz49l1x680dmzrv2i82qjrq017sykah3xc90f2d8qcxfv9";
   };
 
-
-  buildInputs = [ x11 libXmu libXi ];
-  propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h
+  nativeBuildInputs = [ x11 libXmu libXi ];
+  propagatedNativeBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h
 
   patchPhase = ''
     sed -i 's|lib64|lib|' config/Makefile.linux
+    ${optionalString (stdenv ? cross) ''
+    sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile
+    ''}
+  '';
+
+  buildFlags = [ "all" ];
+  installFlags = [ "install.all" ];
+
+  preInstall = ''
+    export GLEW_DEST="$out"
   '';
 
-buildPhase = "make all";
-  installPhase = ''
-    GLEW_DEST=$out make install.all
+  postInstall = ''
     mkdir -pv $out/share/doc/glew
     mkdir -p $out/lib/pkgconfig
     cp glew*.pc $out/lib/pkgconfig
     cp -r README.txt LICENSE.txt doc $out/share/doc/glew
   '';
 
-  meta = {
+  crossAttrs.makeFlags = [
+    "CC=${stdenv.cross.config}-gcc"
+    "LD=${stdenv.cross.config}-gcc"
+    "AR=${stdenv.cross.config}-ar"
+    "STRIP="
+  ] ++ optional (stdenv.cross.libc == "msvcrt") "SYSTEM=mingw"
+    ++ optional (stdenv.cross.libc == "libSystem") "SYSTEM=darwin";
+
+  meta = with stdenv.lib; {
     description = "An OpenGL extension loading library for C(++)";
     homepage = http://glew.sourceforge.net/;
-    license = ["BSD" "GLX" "SGI-B" "GPL2"]; # License description copied from gentoo-1.4.0 
+    license = licenses.free; # different files under different licenses
+      #["BSD" "GLX" "SGI-B" "GPL2"]
+    platforms = platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/libraries/glfw/2.x.nix b/pkgs/development/libraries/glfw/2.x.nix
new file mode 100644
index 00000000000..8750cd955a6
--- /dev/null
+++ b/pkgs/development/libraries/glfw/2.x.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, mesa, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "glfw-2.7.9";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/glfw/${name}.tar.bz2";
+    sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i";
+  };
+
+  buildInputs = [ mesa libX11 ];
+
+  buildPhase = ''
+    make x11
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    make x11-install PREFIX=$out
+  ''; 
+  
+  meta = with stdenv.lib; { 
+    description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
+    homepage = "http://glfw.sourceforge.net/";
+    license = licenses.zlib;
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
new file mode 100644
index 00000000000..ab7e312762f
--- /dev/null
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cmake, mesa, libXrandr, libXi, libXxf86vm, libXfixes, x11 }:
+
+stdenv.mkDerivation rec {
+  name = "glfw-3.0.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/glfw/${name}.tar.bz2";
+    sha256 = "1h7g16ncgkl38w19x4dvnn17k9j0kqfvbb9whw9qc71lkq5xf2ag";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake mesa libXrandr libXi libXxf86vm libXfixes x11 ];
+
+  meta = with stdenv.lib; { 
+    description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
+    homepage = "http://glfw.sourceforge.net/";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ marcweber ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/glfw/default.nix b/pkgs/development/libraries/glfw/default.nix
deleted file mode 100644
index 1f4df39408e..00000000000
--- a/pkgs/development/libraries/glfw/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, mesa, libX11, libXext }:
-
-stdenv.mkDerivation {
-  name = "glfw-2.6";
-
-  src = fetchurl {
-    url = mirror://sourceforge/glfw/glfw-2.6.tar.bz2;
-    sha256 = "1jnz7szax7410qrkiwkvq34sxy11w46ybyqbkaczdyvqas6cm1hv";
-  };
-
-  buildInputs = [ mesa libX11 libXext ];
-
-  buildPhase = ''
-    mkdir -p $out
-    make x11-install PREFIX=$out
-  '';
-  
-  installPhase = ":";
-
-  meta = { 
-    description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
-    homepage = http://glfw.sourceforge.net/;
-    license = "zlib/libpng"; # http://www.opensource.org/licenses/zlib-license.php
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 2c651980eda..6b715028e8a 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -1,21 +1,33 @@
-{stdenv, fetchurl, pkgconfig, glib, libtool, intltool, gnutls2, libproxy
-, gsettings_desktop_schemas, libgcrypt, libtasn1 }:
+{ stdenv, fetchurl, pkgconfig, glib, intltool, gnutls, libproxy
+, gsettings_desktop_schemas }:
 
-stdenv.mkDerivation {
-  name = "glib-networking-2.30.2";
+let
+  ver_maj = "2.40";
+  ver_min = "1";
+in
+stdenv.mkDerivation rec {
+  name = "glib-networking-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/glib-networking/2.30/glib-networking-2.30.2.tar.xz;
-    sha256 = "1g2ran0rn37009fs3xl38m95i5w8sdf9ax0ady4jbjir15844xcz";
+    url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz";
+    sha256 = "9fb3e54d049a480afdb814ff7452e7ab67e5d5f607ade230d7713f19922b5a28";
   };
 
-  configureFlags = "--with-ca-certificates=/etc/ca-bundle.crt";
-  
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
+
   preBuild = ''
     sed -e "s@${glib}/lib/gio/modules@$out/lib/gio/modules@g" -i $(find . -name Makefile)
   '';
 
   nativeBuildInputs = [ pkgconfig intltool ];
-  propagatedBuildInputs =
-    [ glib libtool gnutls2 libproxy libgcrypt libtasn1 gsettings_desktop_schemas ];
+  propagatedBuildInputs = [ glib gnutls libproxy gsettings_desktop_schemas ];
+
+  doCheck = false; # tests need to access the certificates (among other things)
+
+  meta = with stdenv.lib; {
+    description = "Network-related giomodules for glib";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
+
diff --git a/pkgs/development/libraries/glib/darwin-compilation.patch b/pkgs/development/libraries/glib/darwin-compilation.patch
new file mode 100644
index 00000000000..f215eef798a
--- /dev/null
+++ b/pkgs/development/libraries/glib/darwin-compilation.patch
@@ -0,0 +1,24 @@
+Fix compilation on Mac OS X with gcc 4.8.
+
+diff -ru glib-2.40.0-orig/gio/gdummyfile.c glib-2.40.0/gio/gdummyfile.c
+--- glib-2.40.0-orig/gio/gdummyfile.c   2014-02-03 18:40:41.000000000 +0100
++++ glib-2.40.0/gio/gdummyfile.c        2014-07-15 10:58:31.000000000 +0200
+@@ -454,7 +454,8 @@
+   result = g_malloc (escaped_string_end - escaped_string + 1);
+        
+   out = result;
+-  for (in = escaped_string; in < escaped_string_end; in++) 
++  in = escaped_string;
++  for (; in < escaped_string_end; in++) 
+     {
+       character = *in;
+       if (*in == '%') 
+@@ -551,6 +552,7 @@
+   
+   decoded->scheme = g_malloc (p - uri);
+   out = decoded->scheme;
+-  for (in = uri; in < p - 1; in++)
++  in = uri;
++  for (; in < p - 1; in++)
+     *out++ = g_ascii_tolower (*in);
+   *out = 0;
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 50983994a28..ec43d9f8c4b 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, python, autoconf, automake, libtool
-, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf, dbus }:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, python
+, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf
+
+# this is just for tests (not in closure of any regular package)
+, coreutils, dbus_daemon, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false
+}:
+
+with stdenv.lib;
 
 # TODO:
 # * Add gio-module-fam
@@ -10,7 +16,13 @@
 #     Possible solution: disable compilation of this example somehow
 #     Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
 #       $out/bin/gtester-report' to postInstall if this is solved
-
+/*
+  * Use --enable-installed-tests for GNOME-related packages,
+      and use them as a separately installed tests runned by Hydra
+      (they should test an already installed package)
+      https://wiki.gnome.org/GnomeGoals/InstalledTests
+  * Support org.freedesktop.Application, including D-Bus activation from desktop files
+*/
 let
   # Some packages don't get "Cflags" from pkgconfig correctly
   # and then fail to build when directly including like <glib/...>.
@@ -24,36 +36,69 @@ let
     done
     ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true
   '';
+
+  ver_maj = "2.40";
+  ver_min = "0";
 in
-with { inherit (stdenv.lib) optionalString; };
 
 stdenv.mkDerivation rec {
-  name = "glib-2.36.4";
+  name = "glib-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/glib/2.36/${name}.tar.xz";
-    sha256 = "0zmdbkg2yjyxdl72w34lxvrssbzqzdficskkfn22s0994dad4m7n";
+    url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
+    sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd";
   };
 
+  patches = optional stdenv.isDarwin ./darwin-compilation.patch;
+
   outputs = [ "dev" "out" "bin" "doc" ];
 
-  # configure script looks for d-bus but it is (probably) only needed for tests
-  buildInputs = [ libelf ];
 
-  # I don't know why the autotools are needed now, even without modifying configure scripts
-  nativeBuildInputs = [ pkgconfig gettext perl python ] ++ [ autoconf automake libtool ];
+  setupHook = ./setup-hook.sh;
+
+  buildInputs = [ libelf ]
+    ++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ];
 
-  propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty;
+  nativeBuildInputs = [ pkgconfig gettext perl python ];
 
-  preConfigure = "autoreconf -fi";
-  configureFlags = "--with-pcre=system --disable-fam";
+  propagatedBuildInputs = [ pcre zlib libffi ]
+    ++ optional (!stdenv.isDarwin) libiconvOrEmpty
+    ++ libintlOrEmpty;
 
-  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-lintl";
+  configureFlags =
+    optional stdenv.isDarwin "--disable-compile-warnings"
+    ++ optional stdenv.isSunOS "--disable-modular-tests";
+
+  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl"
+    + optionalString stdenv.isSunOS " -DBSD_COMP";
+
+  preBuild = optionalString stdenv.isDarwin
+    ''
+      export MACOSX_DEPLOYMENT_TARGET=
+    '';
 
   enableParallelBuilding = true;
 
-  doCheck = false; # ToDo: fix the remaining problems, so we have checked glib by default
-  LD_LIBRARY_PATH = optionalString doCheck "${stdenv.gcc.gcc}/lib";
+  inherit doCheck;
+  preCheck = optionalString doCheck
+    # libgcc_s.so.1 must be installed for pthread_cancel to work
+    # also point to the glib/.libs path
+    '' export LD_LIBRARY_PATH="${stdenv.gcc.gcc}/lib:$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
+       export TZDIR="${tzdata}/share/zoneinfo"
+       export XDG_CACHE_HOME="$TMP"
+       export XDG_RUNTIME_HOME="$TMP"
+       export HOME="$TMP"
+       export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share"
+       export G_TEST_DBUS_DAEMON="${dbus_daemon}/bin/dbus-daemon"
+
+       substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true"
+       # Needs machine-id, comment the test
+       sed -e '/\/gdbus\/codegen-peer-to-peer/ s/^\/*/\/\//' -i gio/tests/gdbus-peer.c
+       # All gschemas fail to pass the test, upstream bug?
+       sed -e '/g_test_add_data_func/ s/^\/*/\/\//' -i gio/tests/gschema-compile.c
+       # Needed because of libtool wrappers
+       sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c
+    '';
 
   passthru = {
      gioModuleDir = "lib/gio/modules";
diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh
new file mode 100644
index 00000000000..f173744e5ca
--- /dev/null
+++ b/pkgs/development/libraries/glib/setup-hook.sh
@@ -0,0 +1,17 @@
+# Install gschemas, if any, in a package-specific directory
+installFlagsArray+=("gsettingsschemadir=$out/share/gsettings-schemas/$name/glib-2.0/schemas/")
+
+make_glib_find_gsettings_schemas() {
+    # For packages that need gschemas of other packages (e.g. empathy)
+    if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then
+        addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"*
+    fi
+}
+
+envHooks+=(make_glib_find_gsettings_schemas)
+
+glibPreFixupPhase() {
+    addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/share/gsettings-schemas/$name"
+}
+
+preFixupPhases="$preFixupPhases glibPreFixupPhase"
diff --git a/pkgs/development/libraries/glibc/2.13/builder.sh b/pkgs/development/libraries/glibc/2.13/builder.sh
deleted file mode 100644
index e68e13f9bec..00000000000
--- a/pkgs/development/libraries/glibc/2.13/builder.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-# Glibc cannot have itself in its RPATH.
-export NIX_NO_SELF_RPATH=1
-
-source $stdenv/setup
-
-postConfigure() {
-    # Hack: get rid of the `-static' flag set by the bootstrap stdenv.
-    # This has to be done *after* `configure' because it builds some
-    # test binaries.
-    export NIX_CFLAGS_LINK=
-    export NIX_LDFLAGS_BEFORE=
-
-    export NIX_DONT_SET_RPATH=1
-    unset CFLAGS
-}
-
-
-postInstall() {
-    if test -n "$installLocales"; then
-        make -j${NIX_BUILD_CORES:-1} -l${NIX_BUILD_CORES:-1} localedata/install-locales
-    fi
-    
-    test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
-
-    # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been
-    # renamed.
-    if test -z "$hurdHeaders"; then
-        # Include the Linux kernel headers in Glibc, except the `scsi'
-        # subdirectory, which Glibc provides itself.
-	(cd $out/include && \
-	 ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .)
-    fi
-
-    if test -f "$out/lib/libhurduser.so"; then
-	# libc.so, libhurduser.so, and libmachuser.so depend on each
-	# other, so add them to libc.so (a RUNPATH on libc.so.0.3
-	# would be ignored by the cross-linker.)
-	echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..."
-	sed -i "$out/lib/libc.so" \
-	    -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g"
-    fi
-	
-    # Fix for NIXOS-54 (ldd not working on x86_64).  Make a symlink
-    # "lib64" to "lib".
-    if test -n "$is64bit"; then
-        ln -s lib $out/lib64
-    fi
-
-    # This file, that should not remain in the glibc derivation,
-    # may have not been created during the preInstall
-    rm -f $out/lib/libgcc_s.so.1
-}
-
-genericBuild
diff --git a/pkgs/development/libraries/glibc/2.13/catalan-firstdays.patch b/pkgs/development/libraries/glibc/2.13/catalan-firstdays.patch
deleted file mode 100644
index 674e0aee884..00000000000
--- a/pkgs/development/libraries/glibc/2.13/catalan-firstdays.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugzilla.redhat.com/show_bug.cgi?id=454629
-
---- glibc-20090510T1842/localedata/locales/ca_ES.orig	2009-06-26 14:05:18.422043552 +0200
-+++ glibc-20090510T1842/localedata/locales/ca_ES	2009-06-26 14:05:38.292042700 +0200
-@@ -138,6 +138,8 @@
- date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
- <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
- <U0025><U005A><U0020><U0025><U0059>"
-+first_weekday   2
-+first_workday   2
- END LC_TIME
- 
- LC_PAPER
diff --git a/pkgs/development/libraries/glibc/2.13/common.nix b/pkgs/development/libraries/glibc/2.13/common.nix
deleted file mode 100644
index eca215c3131..00000000000
--- a/pkgs/development/libraries/glibc/2.13/common.nix
+++ /dev/null
@@ -1,244 +0,0 @@
-/* Build configuration used to build glibc, Info files, and locale
-   information.  */
-
-cross :
-
-{ name, fetchurl, stdenv, installLocales ? false
-, gccCross ? null, kernelHeaders ? null
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null, fetchgit ? null
-, profilingLibraries ? false, meta
-, preConfigure ? "", ... }@args :
-
-let
-  # For GNU/Hurd, see below.
-  version = if hurdHeaders != null then "20120223" else "2.13";
-
-  needsPortsNative = stdenv.isMips || stdenv.isArm;
-  needsPortsCross = cross.arch == "mips" || cross.arch == "arm";
-  needsPorts =
-    if (stdenv ? cross) && stdenv.cross != null && hurdHeaders == null then true
-    else if cross == null then needsPortsNative
-    else needsPortsCross;
-
-  srcPorts = fetchurl {
-    url = "mirror://gnu/glibc/glibc-ports-2.13.tar.bz2";
-    sha256 = "0npffql62m1xba15l1wkaqf2p0l2bvb33720gx28764jmq0la75i";
-  };
-
-in
-
-assert (cross != null) -> (gccCross != null);
-
-assert (mig != null) -> (machHeaders != null);
-assert (machHeaders != null) -> (hurdHeaders != null);
-assert (hurdHeaders != null) -> (libpthreadHeaders != null);
-assert (hurdHeaders != null) -> (fetchgit != null);
-
-stdenv.mkDerivation ({
-  inherit kernelHeaders installLocales;
-
-  # The host/target system.
-  crossConfig = if cross != null then cross.config else null;
-
-  inherit (stdenv) is64bit;
-
-  enableParallelBuilding = true;
-
-  patches =
-    stdenv.lib.optional (fetchgit == null)
-    /* Fix for NIXPKGS-79: when doing host name lookups, when
-       nsswitch.conf contains a line like
-
-         hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
-
-       don't return an error when mdns4_minimal can't be found.  This
-       is a bug in Glibc: when a service can't be found, NSS should
-       continue to the next service unless "UNAVAIL=return" is set.
-       ("NOTFOUND=return" refers to the service returning a NOTFOUND
-       error, not the service itself not being found.)  The reason is
-       that the "status" variable (while initialised to UNAVAIL) is
-       outside of the loop that iterates over the services, the
-       "files" service sets status to NOTFOUND.  So when the call to
-       find "mdns4_minimal" fails, "status" will still be NOTFOUND,
-       and it will return instead of continuing to "dns".  Thus, the
-       line
-
-         hosts: mdns4_minimal [NOTFOUND=return] dns mdns4
-
-       does work because "status" will contain UNAVAIL after the
-       failure to find mdns4_minimal. */
-    ./nss-skip-unavail.patch
-  ++ [
-    /* Have rpcgen(1) look for cpp(1) in $PATH.  */
-    ./rpcgen-path.patch
-
-    /* Allow nixos and nix handle the locale-archive. */
-    ./nix-locale-archive.patch
-  ]
-
-  ++ (stdenv.lib.optional (hurdHeaders == null)
-
-      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  Currently
-         disabled on GNU/Hurd, which uses a more recent libc snapshot. */
-         ./dont_use_system_ld_so_cache.patch )
-
-  ++ [
-    /* Without this patch many KDE binaries crash. */
-    ./glibc-elf-localscope.patch
-  ] ++ stdenv.lib.optional installLocales ./catalan-firstdays.patch;
-
-  postPatch = ''
-    # Needed for glibc to build with the gnumake 3.82
-    # http://comments.gmane.org/gmane.linux.lfs.support/31227
-    sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
-
-    # nscd needs libgcc, and we don't want it dynamically linked
-    # because we don't want it to depend on bootstrap-tools libs.
-    echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
-  '';
-
-  configureFlags = [
-    "-C"
-    "--enable-add-ons"
-    "--sysconfdir=/etc"
-    "--localedir=/var/run/current-system/sw/lib/locale"
-    "libc_cv_ssp=no"
-    (if kernelHeaders != null
-     then "--with-headers=${kernelHeaders}/include"
-     else "--without-headers")
-    (if profilingLibraries
-     then "--enable-profile"
-     else "--disable-profile")
-  ] ++ stdenv.lib.optionals (cross == null && kernelHeaders != null) [
-    "--enable-kernel=2.6.35"
-  ] ++ stdenv.lib.optionals (cross != null) [
-    (if cross.withTLS then "--with-tls" else "--without-tls")
-    (if cross.float == "soft" then "--without-fp" else "--with-fp")
-  ] ++ stdenv.lib.optionals (cross != null
-        && cross.platform ? kernelMajor
-        && cross.platform.kernelMajor == "2.6") [
-    "--enable-kernel=2.6.0"
-    "--with-__thread"
-  ] ++ stdenv.lib.optionals (cross == null &&
-       (stdenv.system == "armv5tel-linux")) [
-    "--host=arm-linux-gnueabi"
-    "--build=arm-linux-gnueabi"
-    "--without-fp"
-
-    # To avoid linking with -lgcc_s (dynamic link)
-    # so the glibc does not depend on its compiler store path
-    "libc_cv_as_needed=no"
-  ] ++ stdenv.lib.optionals (cross == null && stdenv.platform.name == "raspberrypi") [
-    "--host=arm-linux-gnueabi"
-    "--build=arm-linux-gnueabi"
-    "--with-fp"
-
-    # To avoid linking with -lgcc_s (dynamic link)
-    # so the glibc does not depend on its compiler store path
-    "libc_cv_as_needed=no"
-  ];
-
-  installFlags = [ "sysconfdir=$(out)/etc" ];
-  
-  buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ]
-    ++ stdenv.lib.optional (mig != null) mig;
-
-  # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
-  # prevent a retained dependency on the bootstrap tools in the stdenv-linux
-  # bootstrap.
-  BASH_SHELL = "/bin/sh";
-
-  # Workaround for this bug:
-  #   http://sourceware.org/bugzilla/show_bug.cgi?id=411
-  # I.e. when gcc is compiled with --with-arch=i686, then the
-  # preprocessor symbol `__i686' will be defined to `1'.  This causes
-  # the symbol __i686.get_pc_thunk.dx to be mangled.
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686";
-}
-
-# Remove the `gccCross' attribute so that the *native* glibc store path
-# doesn't depend on whether `gccCross' is null or not.
-// (removeAttrs args [ "gccCross" ]) //
-
-{
-  name = name + "-${version}" +
-    stdenv.lib.optionalString (cross != null) "-${cross.config}";
-
-  src =
-    if hurdHeaders != null
-    then fetchgit {
-      # Shamefully the "official" glibc won't build on GNU, so use the one
-      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
-      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
-      url = "git://git.sv.gnu.org/hurd/glibc.git";
-      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
-      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
-    }
-    else fetchurl {
-      url = "mirror://gnu/glibc/glibc-${version}.tar.bz2";
-      sha256 = "1cnv319ysc8nkwpqw6f6ymb6b8hbl0nyvyx48sddkrj50lmcjwq1";
-    };
-
-  # `fetchurl' is a function and thus should not be passed to the
-  # `derivation' primitive.
-  fetchurl = null;
-
-  # Remove absolute paths from `configure' & co.; build out-of-tree.
-  preConfigure = ''
-    export PWD_P=$(type -tP pwd)
-    for i in configure io/ftwtest-sh; do
-        # Can't use substituteInPlace here because replace hasn't been
-        # built yet in the bootstrap.
-        sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
-    done
-
-    ${if needsPorts then "tar xvf ${srcPorts}" else ""}
-
-    mkdir ../build
-    cd ../build
-
-    configureScript="`pwd`/../$sourceRoot/configure"
-
-    ${preConfigure}
-  '';
-
-  meta = {
-    homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library"
-      + stdenv.lib.optionalString (hurdHeaders != null) ", for GNU/Hurd";
-
-    longDescription =
-      '' Any Unix-like operating system needs a C library: the library which
-         defines the "system calls" and other basic facilities such as
-         open, malloc, printf, exit...
-
-         The GNU C library is used as the C library in the GNU system and
-         most systems with the Linux kernel.
-      '';
-
-    license = "LGPLv2+";
-
-    maintainers = [ ];
-    #platforms = stdenv.lib.platforms.linux;
-  } // meta;
-}
-
-//
-
-(if hurdHeaders != null
- then {
-   # Work around the fact that the configure snippet that looks for
-   # <hurd/version.h> does not honor `--with-headers=$sysheaders' and that
-   # glibc expects Mach, Hurd, and pthread headers to be in the same place.
-   CPATH = "${hurdHeaders}/include:${machHeaders}/include:${libpthreadHeaders}/include";
-
-   # `fetchgit' is a function and thus should not be passed to the
-   # `derivation' primitive.
-   fetchgit = null;
-
-   # Install NSS stuff in the right place.
-   # XXX: This will be needed for all new glibcs and isn't Hurd-specific.
-   makeFlags = ''vardbdir="$out/var/db"'';
- }
- else { }))
diff --git a/pkgs/development/libraries/glibc/2.13/default.nix b/pkgs/development/libraries/glibc/2.13/default.nix
deleted file mode 100644
index f80ed9372e6..00000000000
--- a/pkgs/development/libraries/glibc/2.13/default.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ stdenv, fetchurl, kernelHeaders
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null, fetchgit ? null
-, installLocales ? true
-, profilingLibraries ? false
-, gccCross ? null
-, debugSymbols ? false
-}:
-
-assert stdenv.gcc.gcc != null;
-
-let
-  build = import ./common.nix;
-  cross = if gccCross != null then gccCross.target else null;
-in
-  build cross ({
-    name = "glibc"
-      + stdenv.lib.optionalString (hurdHeaders != null) "-hurd"
-      + stdenv.lib.optionalString debugSymbols "-debug";
-
-    inherit fetchurl stdenv kernelHeaders installLocales profilingLibraries
-      gccCross;
-
-    builder = ./builder.sh;
-
-    # When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
-    # any program we run, because the gcc will have been placed at a new
-    # store path than that determined when built (as a source for the
-    # bootstrap-tools tarball)
-    # Building from a proper gcc staying in the path where it was installed,
-    # libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
-    # any special hack.
-    preInstall = ''
-      if [ -f ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 ]; then
-          mkdir -p $out/lib
-          ln -s ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
-      fi
-    '';
-
-    meta.description = "The GNU C Library";
-  }
-
-  //
-
-  (if debugSymbols
-   then {
-     # Build with debugging symbols, but leave optimizations on and don't
-     # attempt to keep the build tree.
-     dontStrip = true;
-     dontCrossStrip = true;
-     NIX_STRIP_DEBUG = 0;
-   }
-   else {})
-
-  //
-
-  (if hurdHeaders != null
-   then rec {
-     inherit machHeaders hurdHeaders libpthreadHeaders mig fetchgit;
-
-     propagatedBuildInputs = [ machHeaders hurdHeaders libpthreadHeaders ];
-
-     passthru = {
-       # When building GCC itself `propagatedBuildInputs' above is not
-       # honored, so we pass it here so that the GCC builder can do the right
-       # thing.
-       inherit propagatedBuildInputs;
-     };
-   }
-   else { })
-
-  //
-
-  (if cross != null
-   then {
-      preConfigure = ''
-        sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
-
-        cat > config.cache << "EOF"
-        libc_cv_forced_unwind=yes
-        libc_cv_c_cleanup=yes
-        libc_cv_gnu89_inline=yes
-        # Only due to a problem in gcc configure scripts:
-        libc_cv_sparc64_tls=${if cross.withTLS then "yes" else "no"}
-        EOF
-        export BUILD_CC=gcc
-        export CC="$crossConfig-gcc"
-        export AR="$crossConfig-ar"
-        export RANLIB="$crossConfig-ranlib"
-
-        dontStrip=1
-      '';
-
-      # To avoid a dependency on the build system 'bash'.
-      preFixup = ''
-        rm $out/bin/{ldd,tzselect,catchsegv,xtrace}
-      '';
-    }
-   else {}))
diff --git a/pkgs/development/libraries/glibc/2.13/dont_use_system_ld_so_cache.patch b/pkgs/development/libraries/glibc/2.13/dont_use_system_ld_so_cache.patch
deleted file mode 100644
index 444eb8251e4..00000000000
--- a/pkgs/development/libraries/glibc/2.13/dont_use_system_ld_so_cache.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -Naur glibc-2.13-orig/elf/ldconfig.c glibc-2.13/elf/ldconfig.c
---- glibc-2.13-orig/elf/ldconfig.c	2011-01-17 23:34:07.000000000 -0500
-+++ glibc-2.13/elf/ldconfig.c	2012-04-10 23:28:45.957492340 -0400
-@@ -51,7 +51,7 @@
- #endif
- 
- #ifndef LD_SO_CONF
--# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
-+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
- #endif
- 
- /* Get libc version number.  */
-diff -Naur glibc-2.13-orig/elf/Makefile glibc-2.13/elf/Makefile
---- glibc-2.13-orig/elf/Makefile	2011-01-17 23:34:07.000000000 -0500
-+++ glibc-2.13/elf/Makefile	2012-04-10 23:27:05.666477442 -0400
-@@ -459,11 +459,11 @@
- $(objpfx)sprof: $(libdl)
- 
- $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
--SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
--CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
-+PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
-+CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
- 		    -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1
--CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
--CFLAGS-cache.c = $(SYSCONF-FLAGS)
-+CFLAGS-dl-cache.c = $(PREFIX-FLAGS)
-+CFLAGS-cache.c = $(PREFIX-FLAGS)
- 
- CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-DNOT_IN_libc=1 -DIS_IN_rtld=1)
- 
-diff -Naur glibc-2.13-orig/sysdeps/generic/dl-cache.h glibc-2.13/sysdeps/generic/dl-cache.h
---- glibc-2.13-orig/sysdeps/generic/dl-cache.h	2011-01-17 23:34:07.000000000 -0500
-+++ glibc-2.13/sysdeps/generic/dl-cache.h	2012-04-10 23:28:20.077488815 -0400
-@@ -29,7 +29,7 @@
- #endif
- 
- #ifndef LD_SO_CACHE
--# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
-+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache"
- #endif
- 
- #ifndef add_system_dir
diff --git a/pkgs/development/libraries/glibc/2.13/glibc-elf-localscope.patch b/pkgs/development/libraries/glibc/2.13/glibc-elf-localscope.patch
deleted file mode 100644
index 98f7f81087b..00000000000
--- a/pkgs/development/libraries/glibc/2.13/glibc-elf-localscope.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff -ru a/elf/dl-close.c b/elf/dl-close.c
---- a/elf/dl-close.c	2011-02-04 00:35:03.000000000 +0100
-+++ b/elf/dl-close.c	2011-02-22 02:16:12.367883000 +0100
-@@ -180,24 +186,28 @@
-       /* Signal the object is still needed.  */
-       l->l_idx = IDX_STILL_USED;
- 
-+#define mark_used(dmap) \
-+  do {								\
-+    if ((dmap)->l_idx != IDX_STILL_USED)			\
-+      {								\
-+	assert ((dmap)->l_idx >= 0 && (dmap)->l_idx < nloaded);	\
-+								\
-+	if (!used[(dmap)->l_idx])				\
-+	  {							\
-+	    used[(dmap)->l_idx] = 1;				\
-+	    if ((dmap)->l_idx - 1 < done_index)			\
-+	      done_index = (dmap)->l_idx - 1;			\
-+	  }							\
-+      }								\
-+  } while (0)
-+
-       /* Mark all dependencies as used.  */
-       if (l->l_initfini != NULL)
- 	{
- 	  struct link_map **lp = &l->l_initfini[1];
- 	  while (*lp != NULL)
- 	    {
--	      if ((*lp)->l_idx != IDX_STILL_USED)
--		{
--		  assert ((*lp)->l_idx >= 0 && (*lp)->l_idx < nloaded);
--
--		  if (!used[(*lp)->l_idx])
--		    {
--		      used[(*lp)->l_idx] = 1;
--		      if ((*lp)->l_idx - 1 < done_index)
--			done_index = (*lp)->l_idx - 1;
--		    }
--		}
--
-+	      mark_used(*lp);
- 	      ++lp;
- 	    }
- 	}
-@@ -206,19 +216,25 @@
- 	for (unsigned int j = 0; j < l->l_reldeps->act; ++j)
- 	  {
- 	    struct link_map *jmap = l->l_reldeps->list[j];
--
--	    if (jmap->l_idx != IDX_STILL_USED)
--	      {
--		assert (jmap->l_idx >= 0 && jmap->l_idx < nloaded);
--
--		if (!used[jmap->l_idx])
--		  {
--		    used[jmap->l_idx] = 1;
--		    if (jmap->l_idx - 1 < done_index)
--		      done_index = jmap->l_idx - 1;
--		  }
--	      }
-+	    mark_used(jmap);
- 	  }
-+      /* And the same for owners of our scopes; normally, our last
-+	 scope provider would render us unused, but this can be
-+	 prevented by the NODELETE flag. */
-+      if (__builtin_expect(l->l_type == lt_loaded
-+	                   && (l->l_flags_1 & DF_1_NODELETE), 0))
-+	for (size_t cnt = 0; l->l_scope[cnt] != NULL; ++cnt)
-+	  /* This relies on l_scope[] entries being always set either
-+	     to its own l_symbolic_searchlist address, or some map's
-+	     l_searchlist address.  */
-+	  if (l->l_scope[cnt] != &l->l_symbolic_searchlist)
-+	    {
-+	      struct link_map *ls = (struct link_map *)
-+		((char *) l->l_scope[cnt]
-+		 - offsetof (struct link_map, l_searchlist));
-+	      assert (ls->l_ns == nsid);
-+	      mark_used(ls);
-+	    }
-     }
- 
-   /* Sort the entries.  */
diff --git a/pkgs/development/libraries/glibc/2.13/info.nix b/pkgs/development/libraries/glibc/2.13/info.nix
deleted file mode 100644
index 75bd996d9bc..00000000000
--- a/pkgs/development/libraries/glibc/2.13/info.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, texinfo, perl }:
-
-let build = import ./common.nix;
-in
-  /* null cross builder */
-  build null {
-    name = "glibc-info";
-
-    inherit fetchurl stdenv;
-
-    configureFlags = [ "--enable-add-ons" ];
-
-    buildInputs = [ texinfo perl ];
-
-    buildPhase = "make info";
-
-    # I don't know why the info is not generated in 'build'
-    # Somehow building the info still does not work, because the final
-    # libc.info hasn't a Top node.
-    installPhase = ''
-      mkdir -p "$out/share/info"
-      cp -v "../$sourceRoot/manual/"*.info* "$out/share/info"
-    '';
-
-    meta.description = "GNU Info manual of the GNU C Library";
-  }
diff --git a/pkgs/development/libraries/glibc/2.13/locales.nix b/pkgs/development/libraries/glibc/2.13/locales.nix
deleted file mode 100644
index b7eae50ca38..00000000000
--- a/pkgs/development/libraries/glibc/2.13/locales.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-/* This function builds just the `lib/locale/locale-archive' file from
-   Glibc and nothing else.  If `allLocales' is true, all supported
-   locales are included; otherwise, just the locales listed in
-   `locales'.  See localedata/SUPPORTED in the Glibc source tree for
-   the list of all supported locales:
-   http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
-*/
-
-{ stdenv, fetchurl, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
-
-let build = import ./common.nix;
-in
-  build null {
-    name = "glibc-locales";
-
-    inherit fetchurl stdenv;
-    installLocales = true;
-
-    builder = ./locales-builder.sh;
-
-    # Awful hack: `localedef' doesn't allow the path to `locale-archive'
-    # to be overriden, but you *can* specify a prefix, i.e. it will use
-    # <prefix>/<path-to-glibc>/lib/locale/locale-archive.  So we use
-    # $TMPDIR as a prefix, meaning that the locale-archive is placed in
-    # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive.
-    buildPhase =
-      ''
-        mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale"
-
-        # Hack to allow building of the locales (needed since glibc-2.12)
-        sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \
-            /library-path/d ../glibc-2*/localedata/Makefile
-        ${if allLocales then "" else
-            "echo SUPPORTED-LOCALES=\"${toString locales}\" > ../glibc-2*/localedata/SUPPORTED"}
-
-        make localedata/install-locales \
-            localedir=$out/lib/locale \
-      '';
-
-    installPhase =
-      ''
-        mkdir -p "$out/lib/locale"
-        cp -v "$TMPDIR/nix/store/"*"/lib/locale/locale-archive" "$out/lib/locale"
-      '';
-
-    meta.description = "Locale information for the GNU C Library";
-  }
diff --git a/pkgs/development/libraries/glibc/2.13/nix-locale-archive.patch b/pkgs/development/libraries/glibc/2.13/nix-locale-archive.patch
deleted file mode 100644
index aca904f7ff4..00000000000
--- a/pkgs/development/libraries/glibc/2.13/nix-locale-archive.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff --git a/locale/loadarchive.c b/locale/loadarchive.c
-index d545f17..0d8638a 100644
---- a/locale/loadarchive.c
-+++ b/locale/loadarchive.c
-@@ -124,6 +124,25 @@ calculate_head_size (const struct locarhead *h)
- }
- 
- 
-+static int
-+open_locale_archive ()
-+{
-+  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  const char *usualpath = "/usr/lib/locale/locale-archive";
-+  if (path)
-+    fd = open_not_cancel_2 (path, O_RDONLY|O_LARGEFILE);
-+  if (path2 && fd < 0)
-+    fd = open_not_cancel_2 (path2, O_RDONLY|O_LARGEFILE);
-+  if (fd < 0)
-+    fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
-+  if (fd < 0)
-+    fd = open_not_cancel_2 (usualpath, O_RDONLY|O_LARGEFILE);
-+  return fd;
-+}
-+
-+
- /* Find the locale *NAMEP in the locale archive, and return the
-    internalized data structure for its CATEGORY data.  If this locale has
-    already been loaded from the archive, just returns the existing data
-@@ -203,7 +222,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
-       archmapped = &headmap;
- 
-       /* The archive has never been opened.  */
--      fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
-+      fd = open_locale_archive ();
-       if (fd < 0)
- 	/* Cannot open the archive, for whatever reason.  */
- 	return NULL;
-@@ -394,7 +413,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
- 	  if (fd == -1)
- 	    {
- 	      struct stat64 st;
--	      fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
-+	      fd = open_locale_archive ();
- 	      if (fd == -1)
- 		/* Cannot open the archive, for whatever reason.  */
- 		return NULL;
-diff --git a/locale/programs/locale.c b/locale/programs/locale.c
-index 77262b7..fddc00d 100644
---- a/locale/programs/locale.c
-+++ b/locale/programs/locale.c
-@@ -628,6 +628,20 @@ nameentcmp (const void *a, const void *b)
- 		  ((const struct nameent *) b)->name);
- }
- 
-+static int
-+open_nix_locale_archive (const char * fname, int access)
-+{
-+  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  if (path)
-+    fd = open64 (path, access);
-+  if (path2 && fd < 0)
-+    fd = open64 (path2, access);
-+  if (fd < 0)
-+    fd = open64 (fname, access);
-+  return fd;
-+}
- 
- static int
- write_archive_locales (void **all_datap, char *linebuf)
-@@ -641,7 +658,7 @@ write_archive_locales (void **all_datap, char *linebuf)
-   int fd, ret = 0;
-   uint32_t cnt;
- 
--  fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  fd = open_nix_locale_archive (ARCHIVE_NAME, O_RDONLY);
-   if (fd < 0)
-     return 0;
- 
-diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index 85ba77d..3ad2af8 100644
---- a/locale/programs/locarchive.c
-+++ b/locale/programs/locarchive.c
-@@ -512,6 +512,20 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
-   *ah = new_ah;
- }
- 
-+static int
-+open_nix_locale_archive (const char * fname, int access)
-+{
-+  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  if (path)
-+    fd = open64 (path, access);
-+  if (path2 && fd < 0)
-+    fd = open64 (path2, access);
-+  if (fd < 0)
-+    fd = open64 (fname, access);
-+  return fd;
-+}
- 
- void
- open_archive (struct locarhandle *ah, bool readonly)
-@@ -531,7 +548,7 @@ open_archive (struct locarhandle *ah, bool readonly)
-   while (1)
-     {
-       /* Open the archive.  We must have exclusive write access.  */
--      fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR);
-+      fd = open_nix_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
-       if (fd == -1)
- 	{
- 	  /* Maybe the file does not yet exist.  */
diff --git a/pkgs/development/libraries/glibc/2.13/nss-skip-unavail.patch b/pkgs/development/libraries/glibc/2.13/nss-skip-unavail.patch
deleted file mode 100644
index e48dc2bc0a6..00000000000
--- a/pkgs/development/libraries/glibc/2.13/nss-skip-unavail.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru glibc-2.11.2-orig/sysdeps/posix/getaddrinfo.c glibc-2.11.2/sysdeps/posix/getaddrinfo.c
---- glibc-2.11.2-orig/sysdeps/posix/getaddrinfo.c	2010-05-19 22:38:20.000000000 +0200
-+++ glibc-2.11.2/sysdeps/posix/getaddrinfo.c	2010-08-05 18:39:54.259556327 +0200
-@@ -505,8 +505,6 @@
- 	  int no_data = 0;
- 	  int no_inet6_data = 0;
- 	  service_user *nip = NULL;
--	  enum nss_status inet6_status = NSS_STATUS_UNAVAIL;
--	  enum nss_status status = NSS_STATUS_UNAVAIL;
- 	  int no_more;
- 	  int old_res_options;
- 
-@@ -702,6 +700,8 @@
- 
- 	  while (!no_more)
- 	    {
-+ 	      enum nss_status inet6_status = NSS_STATUS_UNAVAIL;
-+ 	      enum nss_status status = NSS_STATUS_UNAVAIL;
- 	      no_data = 0;
- 	      nss_gethostbyname4_r fct4
- 		= __nss_lookup_function (nip, "gethostbyname4_r");
diff --git a/pkgs/development/libraries/glibc/2.13/rpcgen-path.patch b/pkgs/development/libraries/glibc/2.13/rpcgen-path.patch
deleted file mode 100644
index fbb03dd5fad..00000000000
--- a/pkgs/development/libraries/glibc/2.13/rpcgen-path.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-By default, rpcgen(1) looks for cpp(1) from a list of fixed absolute paths
-(`/lib/cpp', etc.), which may only be overrided with the `-Y' option.  This
-patch makes it run any `cpp' command found in $PATH.
-
---- glibc-2.7/sunrpc/rpc_main.c	2006-11-10 21:54:46.000000000 +0100
-+++ glibc-2.7/sunrpc/rpc_main.c	2009-04-22 14:32:10.000000000 +0200
-@@ -79,7 +79,7 @@ static const char *cmdname;
- 
- static const char *svcclosetime = "120";
- static int cppDefined;	/* explicit path for C preprocessor */
--static const char *CPP = SUNOS_CPP;
-+static const char *CPP = "cpp";
- static const char CPPFLAGS[] = "-C";
- static char *pathbuf;
- static int cpp_pid;
-@@ -108,7 +108,6 @@ static char *extendfile (const char *fil
- static void open_output (const char *infile, const char *outfile);
- static void add_warning (void);
- static void clear_args (void);
--static void find_cpp (void);
- static void open_input (const char *infile, const char *define);
- static int check_nettype (const char *name, const char *list_to_check[]);
- static void c_output (const char *infile, const char *define,
-@@ -327,31 +326,6 @@ clear_args (void)
-   argcount = FIXEDARGS;
- }
- 
--/* make sure that a CPP exists */
--static void
--find_cpp (void)
--{
--  struct stat buf;
--
--  if (stat (CPP, &buf) < 0)
--    {				/* /lib/cpp or explicit cpp does not exist */
--      if (cppDefined)
--	{
--	  fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
--	  crash ();
--	}
--      else
--	{			/* try the other one */
--	  CPP = SVR4_CPP;
--	  if (stat (CPP, &buf) < 0)
--	    {			/* can't find any cpp */
--	      fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
--	      crash ();
--	    }
--	}
--    }
--}
--
- /*
-  * Open input file with given define for C-preprocessor
-  */
-@@ -370,7 +344,6 @@ open_input (const char *infile, const ch
-   switch (cpp_pid)
-     {
-     case 0:
--      find_cpp ();
-       putarg (0, CPP);
-       putarg (1, CPPFLAGS);
-       addarg (define);
-@@ -380,7 +353,7 @@ open_input (const char *infile, const ch
-       close (1);
-       dup2 (pd[1], 1);
-       close (pd[0]);
--      execv (arglist[0], (char **) arglist);
-+      execvp (arglist[0], (char **) arglist);
-       perror ("execv");
-       exit (1);
-     case -1:
diff --git a/pkgs/development/libraries/glibc/2.17/builder.sh b/pkgs/development/libraries/glibc/2.17/builder.sh
deleted file mode 100644
index f9e491868ef..00000000000
--- a/pkgs/development/libraries/glibc/2.17/builder.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-# Glibc cannot have itself in its RPATH.
-export NIX_NO_SELF_RPATH=1
-
-source $stdenv/setup
-
-postConfigure() {
-    # Hack: get rid of the `-static' flag set by the bootstrap stdenv.
-    # This has to be done *after* `configure' because it builds some
-    # test binaries.
-    export NIX_CFLAGS_LINK=
-    export NIX_LDFLAGS_BEFORE=
-
-    export NIX_DONT_SET_RPATH=1
-    unset CFLAGS
-
-    # Apparently --bindir is not respected.
-    makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin")
-}
-
-postInstall() {
-    if test -n "$installLocales"; then
-        make -j${NIX_BUILD_CORES:-1} -l${NIX_BUILD_CORES:-1} localedata/install-locales
-    fi
-
-    test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
-
-    # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been
-    # renamed.
-    if test -z "$hurdHeaders"; then
-        # Include the Linux kernel headers in Glibc, except the `scsi'
-        # subdirectory, which Glibc provides itself.
-        (cd $dev/include && \
-         ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .)
-    fi
-
-    if test -f "$out/lib/libhurduser.so"; then
-        # libc.so, libhurduser.so, and libmachuser.so depend on each
-        # other, so add them to libc.so (a RUNPATH on libc.so.0.3
-        # would be ignored by the cross-linker.)
-        echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..."
-        sed -i "$out/lib/libc.so" \
-            -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g"
-    fi
-
-    # Fix for NIXOS-54 (ldd not working on x86_64).  Make a symlink
-    # "lib64" to "lib".
-    if test -n "$is64bit"; then
-        ln -s lib $out/lib64
-    fi
-
-    # This file, that should not remain in the glibc derivation,
-    # may have not been created during the preInstall
-    rm -f $out/lib/libgcc_s.so.1
-
-    # Put libraries for static linking in a separate output.  Note
-    # that libc_nonshared.a and libpthread_nonshared.a are required
-    # for dynamically-linked applications.
-    mkdir -p $static/lib
-    mv $out/lib/*.a $static/lib
-    mv $static/lib/lib*_nonshared.a $out/lib
-
-    # Work around a Nix bug: hard links across outputs cause a build failure.
-    cp $bin/bin/getconf $bin/bin/getconf_
-    mv $bin/bin/getconf_ $bin/bin/getconf
-}
-
-genericBuild
diff --git a/pkgs/development/libraries/glibc/2.17/common.nix b/pkgs/development/libraries/glibc/2.17/common.nix
deleted file mode 100644
index 66251e0fc49..00000000000
--- a/pkgs/development/libraries/glibc/2.17/common.nix
+++ /dev/null
@@ -1,206 +0,0 @@
-/* Build configuration used to build glibc, Info files, and locale
-   information.  */
-
-cross:
-
-{ name, fetchurl, fetchgit ? null, stdenv, installLocales ? false
-, gccCross ? null, kernelHeaders ? null
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null
-, profilingLibraries ? false, meta
-, withGd ? false, gd ? null, libpng ? null
-, preConfigure ? "", ... }@args:
-
-let
-
-  version = "2.17";
-
-in
-
-assert cross != null -> gccCross != null;
-assert mig != null -> machHeaders != null;
-assert machHeaders != null -> hurdHeaders != null;
-assert hurdHeaders != null -> libpthreadHeaders != null;
-
-stdenv.mkDerivation ({
-  inherit kernelHeaders installLocales;
-
-  # The host/target system.
-  crossConfig = if cross != null then cross.config else null;
-
-  inherit (stdenv) is64bit;
-
-  enableParallelBuilding = true;
-
-  /* Don't try to apply these patches to the Hurd's snapshot, which is
-     older.  */
-  patches = stdenv.lib.optionals (hurdHeaders == null)
-    [ /* Have rpcgen(1) look for cpp(1) in $PATH.  */
-      ./rpcgen-path.patch
-
-      /* Allow NixOS and Nix to handle the locale-archive. */
-      ./nix-locale-archive.patch
-
-      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  */
-      ./dont-use-system-ld-so-cache.patch
-
-      /* Without this patch many KDE binaries crash. */
-      ./glibc-elf-localscope.patch
-
-      /* Add blowfish password hashing support.  This is needed for
-         compatibility with old NixOS installations (since NixOS used
-         to default to blowfish). */
-      ./glibc-crypt-blowfish.patch
-
-      /* Fix for random "./sysdeps/posix/getaddrinfo.c:1467:
-         rfc3484_sort: Assertion `src->results[i].native == -1 ||
-         src->results[i].native == a2_native' failed." crashes. */
-      ./glibc-rh739743.patch
-
-      /* Fix buffer overrun in regexp matcher. */
-      ./cve-2013-0242.patch
-
-      /* Fix stack overflow in getaddrinfo with many results. */
-      ./cve-2013-1914.patch
-    ];
-
-  postPatch = ''
-    # Needed for glibc to build with the gnumake 3.82
-    # http://comments.gmane.org/gmane.linux.lfs.support/31227
-    sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
-
-    # nscd needs libgcc, and we don't want it dynamically linked
-    # because we don't want it to depend on bootstrap-tools libs.
-    echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
-  '';
-
-  configureFlags =
-    [ "-C"
-      "--enable-add-ons"
-      "--enable-obsolete-rpc"
-      "--sysconfdir=/etc"
-      "--localedir=/var/run/current-system/sw/lib/locale"
-      "libc_cv_ssp=no"
-      (if kernelHeaders != null
-       then "--with-headers=${kernelHeaders}/include"
-       else "--without-headers")
-      (if profilingLibraries
-       then "--enable-profile"
-       else "--disable-profile")
-    ] ++ stdenv.lib.optionals (cross == null && kernelHeaders != null) [
-      "--enable-kernel=2.6.32"
-    ] ++ stdenv.lib.optionals (cross != null) [
-      (if cross.withTLS then "--with-tls" else "--without-tls")
-      (if cross.float == "soft" then "--without-fp" else "--with-fp")
-    ] ++ stdenv.lib.optionals (cross != null
-          && cross.platform ? kernelMajor
-          && cross.platform.kernelMajor == "2.6") [
-      "--enable-kernel=2.6.0"
-      "--with-__thread"
-    ] ++ stdenv.lib.optionals (cross == null && stdenv.isArm) [
-      "--host=arm-linux-gnueabi"
-      "--build=arm-linux-gnueabi"
-
-      # To avoid linking with -lgcc_s (dynamic link)
-      # so the glibc does not depend on its compiler store path
-      "libc_cv_as_needed=no"
-    ] ++ stdenv.lib.optional withGd "--with-gd";
-
-  installFlags = [ "sysconfdir=$(out)/etc" ];
-
-  buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ]
-    ++ stdenv.lib.optional (mig != null) mig
-    ++ stdenv.lib.optionals withGd [ gd libpng ];
-
-  # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
-  # prevent a retained dependency on the bootstrap tools in the stdenv-linux
-  # bootstrap.
-  BASH_SHELL = "/bin/sh";
-
-  # Workaround for this bug:
-  #   http://sourceware.org/bugzilla/show_bug.cgi?id=411
-  # I.e. when gcc is compiled with --with-arch=i686, then the
-  # preprocessor symbol `__i686' will be defined to `1'.  This causes
-  # the symbol __i686.get_pc_thunk.dx to be mangled.
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686";
-}
-
-# Remove the `gccCross' attribute so that the *native* glibc store path
-# doesn't depend on whether `gccCross' is null or not.
-// (removeAttrs args [ "gccCross" "fetchurl" "fetchgit" "withGd" "gd" "libpng" ]) //
-
-{
-  name = name + "-${version}" +
-    stdenv.lib.optionalString (cross != null) "-${cross.config}";
-
-  src =
-    if hurdHeaders != null
-    then fetchgit {
-      # Shamefully the "official" glibc won't build on GNU, so use the one
-      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
-      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
-      url = "git://git.sv.gnu.org/hurd/glibc.git";
-      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
-      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
-    }
-    else fetchurl {
-      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
-      sha256 = "0ym3zk9ii64279wgw7pw9xkbxczy2ci7ka6mnfs05rhlainhicm3";
-    };
-
-  # Remove absolute paths from `configure' & co.; build out-of-tree.
-  preConfigure = ''
-    export PWD_P=$(type -tP pwd)
-    for i in configure io/ftwtest-sh; do
-        # Can't use substituteInPlace here because replace hasn't been
-        # built yet in the bootstrap.
-        sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
-    done
-
-    mkdir ../build
-    cd ../build
-
-    configureScript="`pwd`/../$sourceRoot/configure"
-
-    ${stdenv.lib.optionalString (stdenv.gcc.libc != null)
-      ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.gcc.libc}/lib"''
-    }
-
-    ${preConfigure}
-  '';
-
-  meta = {
-    homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library"
-      + stdenv.lib.optionalString (hurdHeaders != null) ", for GNU/Hurd";
-
-    longDescription =
-      '' Any Unix-like operating system needs a C library: the library which
-         defines the "system calls" and other basic facilities such as
-         open, malloc, printf, exit...
-
-         The GNU C library is used as the C library in the GNU system and
-         most systems with the Linux kernel.
-      '';
-
-    license = "LGPLv2+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    #platforms = stdenv.lib.platforms.linux;
-  } // meta;
-}
-
-// stdenv.lib.optionalAttrs withGd {
-  preBuild = "unset NIX_DONT_SET_RPATH";
-}
-
-// stdenv.lib.optionalAttrs (hurdHeaders != null) {
-  # Work around the fact that the configure snippet that looks for
-  # <hurd/version.h> does not honor `--with-headers=$sysheaders' and that
-  # glibc expects Mach, Hurd, and pthread headers to be in the same place.
-  CPATH = "${hurdHeaders}/include:${machHeaders}/include:${libpthreadHeaders}/include";
-
-  # Install NSS stuff in the right place.
-  # XXX: This will be needed for all new glibcs and isn't Hurd-specific.
-  makeFlags = ''vardbdir="$out/var/db"'';
-})
diff --git a/pkgs/development/libraries/glibc/2.17/cve-2013-0242.patch b/pkgs/development/libraries/glibc/2.17/cve-2013-0242.patch
deleted file mode 100644
index 1d6557071e1..00000000000
--- a/pkgs/development/libraries/glibc/2.17/cve-2013-0242.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-When extending regex buffers, make sure we allocate enough room for the
-state log.  Merely doubling the space may not be enough if the current
-node has accepted a long run of characters.  This part of the code only
-triggers with multibyte characters.
-
-Andreas.
-
-	[BZ #15078]
-	* posix/regexec.c (extend_buffers): Add parameter min_len.
-	(check_matching): Pass minimum needed length.
-	(clean_state_log_if_needed): Likewise.
-	(get_subexp): Likewise.
-	* posix/Makefile (tests): Add bug-regex34.
-	(bug-regex34-ENV): Define.
-	* posix/bug-regex34.c: New file.
-
-diff --git a/posix/regexec.c b/posix/regexec.c
-index 7f2de85..5ca2bf6 100644
---- a/posix/regexec.c
-+++ b/posix/regexec.c
-@@ -197,7 +197,7 @@ static int group_nodes_into_DFAstates (const re_dfa_t *dfa,
- static int check_node_accept (const re_match_context_t *mctx,
- 			      const re_token_t *node, int idx)
-      internal_function;
--static reg_errcode_t extend_buffers (re_match_context_t *mctx)
-+static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
-      internal_function;
- 
- /* Entry point for POSIX code.  */
-@@ -1160,7 +1160,7 @@ check_matching (re_match_context_t *mctx, int fl_longest_match,
- 	  || (BE (next_char_idx >= mctx->input.valid_len, 0)
- 	      && mctx->input.valid_len < mctx->input.len))
- 	{
--	  err = extend_buffers (mctx);
-+	  err = extend_buffers (mctx, next_char_idx + 1);
- 	  if (BE (err != REG_NOERROR, 0))
- 	    {
- 	      assert (err == REG_ESPACE);
-@@ -1738,7 +1738,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, int next_state_log_idx)
- 	  && mctx->input.valid_len < mctx->input.len))
-     {
-       reg_errcode_t err;
--      err = extend_buffers (mctx);
-+      err = extend_buffers (mctx, next_state_log_idx + 1);
-       if (BE (err != REG_NOERROR, 0))
- 	return err;
-     }
-@@ -2792,7 +2792,7 @@ get_subexp (re_match_context_t *mctx, int bkref_node, int bkref_str_idx)
- 		  if (bkref_str_off >= mctx->input.len)
- 		    break;
- 
--		  err = extend_buffers (mctx);
-+		  err = extend_buffers (mctx, bkref_str_off + 1);
- 		  if (BE (err != REG_NOERROR, 0))
- 		    return err;
- 
-@@ -4102,7 +4102,7 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
- 
- static reg_errcode_t
- internal_function __attribute_warn_unused_result__
--extend_buffers (re_match_context_t *mctx)
-+extend_buffers (re_match_context_t *mctx, int min_len)
- {
-   reg_errcode_t ret;
-   re_string_t *pstr = &mctx->input;
-@@ -4111,8 +4111,10 @@ extend_buffers (re_match_context_t *mctx)
-   if (BE (INT_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
-     return REG_ESPACE;
- 
--  /* Double the lengthes of the buffers.  */
--  ret = re_string_realloc_buffers (pstr, MIN (pstr->len, pstr->bufs_len * 2));
-+  /* Double the lengthes of the buffers, but allocate at least MIN_LEN.  */
-+  ret = re_string_realloc_buffers (pstr,
-+				   MAX (min_len,
-+					MIN (pstr->len, pstr->bufs_len * 2)));
-   if (BE (ret != REG_NOERROR, 0))
-     return ret;
- 
--- 
-1.8.1.2
-
-
--- 
-Andreas Schwab, SUSE Labs, schwab@suse.de
-GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
-"And now for something completely different."
-
diff --git a/pkgs/development/libraries/glibc/2.17/cve-2013-1914.patch b/pkgs/development/libraries/glibc/2.17/cve-2013-1914.patch
deleted file mode 100644
index c2963249f5e..00000000000
--- a/pkgs/development/libraries/glibc/2.17/cve-2013-1914.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: Andreas Schwab <schwab@suse.de>
-Date: Thu, 21 Mar 2013 14:50:27 +0000 (+0100)
-Subject: Fix stack overflow in getaddrinfo with many results
-X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=1cef1b19089528db11f221e938f60b9b048945d7
-
-Fix stack overflow in getaddrinfo with many results
----
-
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index d95c2d1..2309281 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -2489,11 +2489,27 @@ getaddrinfo (const char *name, const char *service,
-       __typeof (once) old_once = once;
-       __libc_once (once, gaiconf_init);
-       /* Sort results according to RFC 3484.  */
--      struct sort_result results[nresults];
--      size_t order[nresults];
-+      struct sort_result *results;
-+      size_t *order;
-       struct addrinfo *q;
-       struct addrinfo *last = NULL;
-       char *canonname = NULL;
-+      bool malloc_results;
-+
-+      malloc_results
-+	= !__libc_use_alloca (nresults * (sizeof (*results) + sizeof (size_t)));
-+      if (malloc_results)
-+	{
-+	  results = malloc (nresults * (sizeof (*results) + sizeof (size_t)));
-+	  if (results == NULL)
-+	    {
-+	      __free_in6ai (in6ai);
-+	      return EAI_MEMORY;
-+	    }
-+	}
-+      else
-+	results = alloca (nresults * (sizeof (*results) + sizeof (size_t)));
-+      order = (size_t *) (results + nresults);
- 
-       /* Now we definitely need the interface information.  */
-       if (! check_pf_called)
-@@ -2664,6 +2680,9 @@ getaddrinfo (const char *name, const char *service,
- 
-       /* Fill in the canonical name into the new first entry.  */
-       p->ai_canonname = canonname;
-+
-+      if (malloc_results)
-+	free (results);
-     }
- 
-   __free_in6ai (in6ai);
diff --git a/pkgs/development/libraries/glibc/2.17/glibc-elf-localscope.patch b/pkgs/development/libraries/glibc/2.17/glibc-elf-localscope.patch
deleted file mode 100644
index 98f7f81087b..00000000000
--- a/pkgs/development/libraries/glibc/2.17/glibc-elf-localscope.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff -ru a/elf/dl-close.c b/elf/dl-close.c
---- a/elf/dl-close.c	2011-02-04 00:35:03.000000000 +0100
-+++ b/elf/dl-close.c	2011-02-22 02:16:12.367883000 +0100
-@@ -180,24 +186,28 @@
-       /* Signal the object is still needed.  */
-       l->l_idx = IDX_STILL_USED;
- 
-+#define mark_used(dmap) \
-+  do {								\
-+    if ((dmap)->l_idx != IDX_STILL_USED)			\
-+      {								\
-+	assert ((dmap)->l_idx >= 0 && (dmap)->l_idx < nloaded);	\
-+								\
-+	if (!used[(dmap)->l_idx])				\
-+	  {							\
-+	    used[(dmap)->l_idx] = 1;				\
-+	    if ((dmap)->l_idx - 1 < done_index)			\
-+	      done_index = (dmap)->l_idx - 1;			\
-+	  }							\
-+      }								\
-+  } while (0)
-+
-       /* Mark all dependencies as used.  */
-       if (l->l_initfini != NULL)
- 	{
- 	  struct link_map **lp = &l->l_initfini[1];
- 	  while (*lp != NULL)
- 	    {
--	      if ((*lp)->l_idx != IDX_STILL_USED)
--		{
--		  assert ((*lp)->l_idx >= 0 && (*lp)->l_idx < nloaded);
--
--		  if (!used[(*lp)->l_idx])
--		    {
--		      used[(*lp)->l_idx] = 1;
--		      if ((*lp)->l_idx - 1 < done_index)
--			done_index = (*lp)->l_idx - 1;
--		    }
--		}
--
-+	      mark_used(*lp);
- 	      ++lp;
- 	    }
- 	}
-@@ -206,19 +216,25 @@
- 	for (unsigned int j = 0; j < l->l_reldeps->act; ++j)
- 	  {
- 	    struct link_map *jmap = l->l_reldeps->list[j];
--
--	    if (jmap->l_idx != IDX_STILL_USED)
--	      {
--		assert (jmap->l_idx >= 0 && jmap->l_idx < nloaded);
--
--		if (!used[jmap->l_idx])
--		  {
--		    used[jmap->l_idx] = 1;
--		    if (jmap->l_idx - 1 < done_index)
--		      done_index = jmap->l_idx - 1;
--		  }
--	      }
-+	    mark_used(jmap);
- 	  }
-+      /* And the same for owners of our scopes; normally, our last
-+	 scope provider would render us unused, but this can be
-+	 prevented by the NODELETE flag. */
-+      if (__builtin_expect(l->l_type == lt_loaded
-+	                   && (l->l_flags_1 & DF_1_NODELETE), 0))
-+	for (size_t cnt = 0; l->l_scope[cnt] != NULL; ++cnt)
-+	  /* This relies on l_scope[] entries being always set either
-+	     to its own l_symbolic_searchlist address, or some map's
-+	     l_searchlist address.  */
-+	  if (l->l_scope[cnt] != &l->l_symbolic_searchlist)
-+	    {
-+	      struct link_map *ls = (struct link_map *)
-+		((char *) l->l_scope[cnt]
-+		 - offsetof (struct link_map, l_searchlist));
-+	      assert (ls->l_ns == nsid);
-+	      mark_used(ls);
-+	    }
-     }
- 
-   /* Sort the entries.  */
diff --git a/pkgs/development/libraries/glibc/2.17/glibc-rh739743.patch b/pkgs/development/libraries/glibc/2.17/glibc-rh739743.patch
deleted file mode 100644
index c390b772b16..00000000000
--- a/pkgs/development/libraries/glibc/2.17/glibc-rh739743.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-2009-04-26  Aurelien Jarno  <aurelien@aurel32.net>
-
-	* sysdeps/posix/getaddrinfo.c (rfc3484_sort): don't assign native
-	result if the result has no associated interface.
-
----
- sysdeps/posix/getaddrinfo.c |    4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -1456,13 +1456,13 @@
- 
- 	      /* Fill in the results in all the records.  */
- 	      for (int i = 0; i < src->nresults; ++i)
--		if (src->results[i].index == a1_index)
-+		if (a1_index != -1 && src->results[i].index == a1_index)
- 		  {
- 		    assert (src->results[i].native == -1
- 			    || src->results[i].native == a1_native);
- 		    src->results[i].native = a1_native;
- 		  }
--		else if (src->results[i].index == a2_index)
-+		else if (a2_index != -1 && src->results[i].index == a2_index)
- 		  {
- 		    assert (src->results[i].native == -1
- 			    || src->results[i].native == a2_native);
-
-2009-03-15  Aurelien Jarno  <aurelien@aurel32.net>
-
-	* sysdeps/posix/getaddrinfo.c (getaddrinfo): correctly detect 
-	interface for all 127.X.Y.Z addresses.
-
----
- sysdeps/posix/getaddrinfo.c |    9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -2265,7 +2265,14 @@
- 			  tmp.addr[0] = 0;
- 			  tmp.addr[1] = 0;
- 			  tmp.addr[2] = htonl (0xffff);
--			  tmp.addr[3] = sinp->sin_addr.s_addr;
-+			  /* Special case for lo interface, the source address
-+			     being possibly different than the interface 
-+			     address. */
-+			  if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000)
-+			      == 0x7f000000)
-+			    tmp.addr[3] = htonl(0x7f000001);
-+			  else
-+			    tmp.addr[3] = sinp->sin_addr.s_addr;
- 			}
- 		      else
- 			{
diff --git a/pkgs/development/libraries/glibc/2.17/locales-builder.sh b/pkgs/development/libraries/glibc/2.17/locales-builder.sh
deleted file mode 100644
index d732e208fa2..00000000000
--- a/pkgs/development/libraries/glibc/2.17/locales-builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-# Glibc cannot have itself in its RPATH.
-export NIX_NO_SELF_RPATH=1
-
-source $stdenv/setup
-
-postConfigure() {
-    # Hack: get rid of the `-static' flag set by the bootstrap stdenv.
-    # This has to be done *after* `configure' because it builds some
-    # test binaries.
-    export NIX_CFLAGS_LINK=
-    export NIX_LDFLAGS_BEFORE=
-
-    export NIX_DONT_SET_RPATH=1
-    unset CFLAGS
-}
-
-genericBuild
diff --git a/pkgs/development/libraries/glibc/2.17/locales.nix b/pkgs/development/libraries/glibc/2.17/locales.nix
deleted file mode 100644
index a0d3d6dbee4..00000000000
--- a/pkgs/development/libraries/glibc/2.17/locales.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-/* This function builds just the `lib/locale/locale-archive' file from
-   Glibc and nothing else.  If `allLocales' is true, all supported
-   locales are included; otherwise, just the locales listed in
-   `locales'.  See localedata/SUPPORTED in the Glibc source tree for
-   the list of all supported locales:
-   http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
-*/
-
-{ stdenv, fetchurl, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
-
-let build = import ./common.nix;
-in
-  build null {
-    name = "glibc-locales";
-
-    inherit fetchurl stdenv;
-    installLocales = true;
-
-    builder = ./locales-builder.sh;
-
-    # Awful hack: `localedef' doesn't allow the path to `locale-archive'
-    # to be overriden, but you *can* specify a prefix, i.e. it will use
-    # <prefix>/<path-to-glibc>/lib/locale/locale-archive.  So we use
-    # $TMPDIR as a prefix, meaning that the locale-archive is placed in
-    # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive.
-    buildPhase =
-      ''
-        mkdir -p $TMPDIR/"${stdenv.gcc.libc}/lib/locale"
-
-        # Hack to allow building of the locales (needed since glibc-2.12)
-        sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \
-            /library-path/d ../glibc-2*/localedata/Makefile
-        ${if allLocales then "" else
-            "echo SUPPORTED-LOCALES=\"${toString locales}\" > ../glibc-2*/localedata/SUPPORTED"}
-
-        make localedata/install-locales \
-            localedir=$out/lib/locale \
-      '';
-
-    installPhase =
-      ''
-        mkdir -p "$out/lib/locale"
-        cp -v "$TMPDIR/nix/store/"*"/lib/locale/locale-archive" "$out/lib/locale"
-      '';
-
-    meta.description = "Locale information for the GNU C Library";
-  }
diff --git a/pkgs/development/libraries/glibc/2.17/rpcgen-path.patch b/pkgs/development/libraries/glibc/2.17/rpcgen-path.patch
deleted file mode 100644
index fd81ab5324e..00000000000
--- a/pkgs/development/libraries/glibc/2.17/rpcgen-path.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ru glibc-2.17-orig/sunrpc/rpc_main.c glibc-2.17/sunrpc/rpc_main.c
---- glibc-2.17-orig/sunrpc/rpc_main.c	2012-12-25 04:02:13.000000000 +0100
-+++ glibc-2.17/sunrpc/rpc_main.c	2012-12-29 00:21:04.124698455 +0100
-@@ -77,7 +77,7 @@
- 
- static const char *svcclosetime = "120";
- static int cppDefined;	/* explicit path for C preprocessor */
--static const char *CPP = "/lib/cpp";
-+static const char *CPP = "cpp";
- static const char CPPFLAGS[] = "-C";
- static char *pathbuf;
- static int cpp_pid;
-@@ -106,7 +106,6 @@
- static void open_output (const char *infile, const char *outfile);
- static void add_warning (void);
- static void clear_args (void);
--static void find_cpp (void);
- static void open_input (const char *infile, const char *define);
- static int check_nettype (const char *name, const char *list_to_check[]);
- static void c_output (const char *infile, const char *define,
-@@ -318,25 +317,6 @@
-   argcount = FIXEDARGS;
- }
- 
--/* make sure that a CPP exists */
--static void
--find_cpp (void)
--{
--  struct stat buf;
--
--  if (stat (CPP, &buf) == 0)
--    return;
--
--  if (cppDefined) /* user specified cpp but it does not exist */
--    {
--      fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
--      crash ();
--    }
--
--  /* fall back to system CPP */
--  CPP = "cpp";
--}
--
- /*
-  * Open input file with given define for C-preprocessor
-  */
-@@ -355,7 +335,6 @@
-   switch (cpp_pid)
-     {
-     case 0:
--      find_cpp ();
-       putarg (0, CPP);
-       putarg (1, CPPFLAGS);
-       addarg (define);
diff --git a/pkgs/development/libraries/glibc/2.19/builder.sh b/pkgs/development/libraries/glibc/2.19/builder.sh
new file mode 100644
index 00000000000..3b077cbb3fd
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/builder.sh
@@ -0,0 +1,57 @@
+# Glibc cannot have itself in its RPATH.
+export NIX_NO_SELF_RPATH=1
+
+source $stdenv/setup
+
+postConfigure() {
+    # Hack: get rid of the `-static' flag set by the bootstrap stdenv.
+    # This has to be done *after* `configure' because it builds some
+    # test binaries.
+    export NIX_CFLAGS_LINK=
+    export NIX_LDFLAGS_BEFORE=
+
+    export NIX_DONT_SET_RPATH=1
+    unset CFLAGS
+}
+
+
+postInstall() {
+    if test -n "$installLocales"; then
+        make -j${NIX_BUILD_CORES:-1} -l${NIX_BUILD_CORES:-1} localedata/install-locales
+    fi
+
+    test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
+
+    # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been
+    # renamed.
+    if test -z "$hurdHeaders"; then
+        # Include the Linux kernel headers in Glibc, except the `scsi'
+        # subdirectory, which Glibc provides itself.
+        (cd $out/include && \
+         ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .)
+    fi
+
+    if test -f "$out/lib/libhurduser.so"; then
+        # libc.so, libhurduser.so, and libmachuser.so depend on each
+        # other, so add them to libc.so (a RUNPATH on libc.so.0.3
+        # would be ignored by the cross-linker.)
+        echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..."
+        sed -i "$out/lib/libc.so" \
+            -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g"
+    fi
+
+    # Fix for NIXOS-54 (ldd not working on x86_64).  Make a symlink
+    # "lib64" to "lib".
+    if test -n "$is64bit"; then
+        ln -s lib $out/lib64
+    fi
+
+    # This file, that should not remain in the glibc derivation,
+    # may have not been created during the preInstall
+    rm -f $out/lib/libgcc_s.so.1
+
+    # Get rid of more unnecessary stuff.
+    rm -rf $out/var $out/sbin/sln
+}
+
+genericBuild
diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix
new file mode 100644
index 00000000000..cd1ba747d7c
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/common.nix
@@ -0,0 +1,204 @@
+/* Build configuration used to build glibc, Info files, and locale
+   information.  */
+
+cross:
+
+{ name, fetchurl, fetchgit ? null, stdenv, installLocales ? false
+, gccCross ? null, kernelHeaders ? null
+, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
+, mig ? null
+, profilingLibraries ? false, meta
+, withGd ? false, gd ? null, libpng ? null
+, preConfigure ? "", ... }@args:
+
+let
+
+  version = "2.19";
+
+in
+
+assert cross != null -> gccCross != null;
+assert mig != null -> machHeaders != null;
+assert machHeaders != null -> hurdHeaders != null;
+assert hurdHeaders != null -> libpthreadHeaders != null;
+
+stdenv.mkDerivation ({
+  inherit kernelHeaders installLocales;
+
+  # The host/target system.
+  crossConfig = if cross != null then cross.config else null;
+
+  inherit (stdenv) is64bit;
+
+  enableParallelBuilding = true;
+
+  /* Don't try to apply these patches to the Hurd's snapshot, which is
+     older.  */
+  patches = stdenv.lib.optionals (hurdHeaders == null)
+    [ /* Have rpcgen(1) look for cpp(1) in $PATH.  */
+      ./rpcgen-path.patch
+
+      /* Allow NixOS and Nix to handle the locale-archive. */
+      ./nix-locale-archive.patch
+
+      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  */
+      ./dont-use-system-ld-so-cache.patch
+
+      /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload.  */
+      ./dont-use-system-ld-so-preload.patch
+
+      /* Add blowfish password hashing support.  This is needed for
+         compatibility with old NixOS installations (since NixOS used
+         to default to blowfish). */
+      ./glibc-crypt-blowfish.patch
+
+      /* The command "getconf CS_PATH" returns the default search path
+         "/bin:/usr/bin", which is inappropriate on NixOS machines. This
+         patch extends the search path by "/run/current-system/sw/bin". */
+      ./fix_path_attribute_in_getconf.patch
+
+      ./fix-math.patch
+
+      ./cve-2014-0475.patch
+    ];
+
+  postPatch = ''
+    # Needed for glibc to build with the gnumake 3.82
+    # http://comments.gmane.org/gmane.linux.lfs.support/31227
+    sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
+
+    # nscd needs libgcc, and we don't want it dynamically linked
+    # because we don't want it to depend on bootstrap-tools libs.
+    echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
+  '';
+
+  configureFlags =
+    [ "-C"
+      "--enable-add-ons"
+      "--enable-obsolete-rpc"
+      "--sysconfdir=/etc"
+      "--localedir=/var/run/current-system/sw/lib/locale"
+      "libc_cv_ssp=no"
+      (if kernelHeaders != null
+       then "--with-headers=${kernelHeaders}/include"
+       else "--without-headers")
+      (if profilingLibraries
+       then "--enable-profile"
+       else "--disable-profile")
+    ] ++ stdenv.lib.optionals (cross == null && kernelHeaders != null) [
+      "--enable-kernel=2.6.32"
+    ] ++ stdenv.lib.optionals (cross != null) [
+      (if cross.withTLS then "--with-tls" else "--without-tls")
+      (if cross.float == "soft" then "--without-fp" else "--with-fp")
+    ] ++ stdenv.lib.optionals (cross != null
+          && cross.platform ? kernelMajor
+          && cross.platform.kernelMajor == "2.6") [
+      "--enable-kernel=2.6.0"
+      "--with-__thread"
+    ] ++ stdenv.lib.optionals (cross == null && stdenv.isArm) [
+      "--host=arm-linux-gnueabi"
+      "--build=arm-linux-gnueabi"
+
+      # To avoid linking with -lgcc_s (dynamic link)
+      # so the glibc does not depend on its compiler store path
+      "libc_cv_as_needed=no"
+    ] ++ stdenv.lib.optional withGd "--with-gd";
+
+  installFlags = [ "sysconfdir=$(out)/etc" ];
+
+  buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ]
+    ++ stdenv.lib.optional (mig != null) mig
+    ++ stdenv.lib.optionals withGd [ gd libpng ];
+
+  # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
+  # prevent a retained dependency on the bootstrap tools in the stdenv-linux
+  # bootstrap.
+  BASH_SHELL = "/bin/sh";
+
+  # Workaround for this bug:
+  #   http://sourceware.org/bugzilla/show_bug.cgi?id=411
+  # I.e. when gcc is compiled with --with-arch=i686, then the
+  # preprocessor symbol `__i686' will be defined to `1'.  This causes
+  # the symbol __i686.get_pc_thunk.dx to be mangled.
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686";
+}
+
+# Remove the `gccCross' attribute so that the *native* glibc store path
+# doesn't depend on whether `gccCross' is null or not.
+// (removeAttrs args [ "gccCross" "fetchurl" "fetchgit" "withGd" "gd" "libpng" ]) //
+
+{
+  name = name + "-${version}" +
+    stdenv.lib.optionalString (cross != null) "-${cross.config}";
+
+  src =
+    if hurdHeaders != null
+    then fetchgit {
+      # Shamefully the "official" glibc won't build on GNU, so use the one
+      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
+      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
+      url = "git://git.sv.gnu.org/hurd/glibc.git";
+      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
+      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
+    }
+    else fetchurl {
+      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
+      sha256 = "15n7x9mmzhd7w6s5hd9srx0h23b32gwb306x98k9ss940yvnvb8q";
+    };
+
+  # Remove absolute paths from `configure' & co.; build out-of-tree.
+  preConfigure = ''
+    export PWD_P=$(type -tP pwd)
+    for i in configure io/ftwtest-sh; do
+        # Can't use substituteInPlace here because replace hasn't been
+        # built yet in the bootstrap.
+        sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
+    done
+
+    mkdir ../build
+    cd ../build
+
+    configureScript="`pwd`/../$sourceRoot/configure"
+
+    ${stdenv.lib.optionalString (stdenv.gcc.libc != null)
+      ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.gcc.libc}/lib"''
+    }
+
+    ${preConfigure}
+  '';
+
+  meta = {
+    homepage = http://www.gnu.org/software/libc/;
+    description = "The GNU C Library"
+      + stdenv.lib.optionalString (hurdHeaders != null) ", for GNU/Hurd";
+
+    longDescription =
+      '' Any Unix-like operating system needs a C library: the library which
+         defines the "system calls" and other basic facilities such as
+         open, malloc, printf, exit...
+
+         The GNU C library is used as the C library in the GNU system and
+         most systems with the Linux kernel.
+      '';
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    #platforms = stdenv.lib.platforms.linux;
+  } // meta;
+}
+
+// stdenv.lib.optionalAttrs withGd {
+  preBuild = "unset NIX_DONT_SET_RPATH";
+}
+
+// stdenv.lib.optionalAttrs (hurdHeaders != null) {
+  # Work around the fact that the configure snippet that looks for
+  # <hurd/version.h> does not honor `--with-headers=$sysheaders' and that
+  # glibc expects Mach, Hurd, and pthread headers to be in the same place.
+  CPATH = "${hurdHeaders}/include:${machHeaders}/include:${libpthreadHeaders}/include";
+
+  # Install NSS stuff in the right place.
+  # XXX: This will be needed for all new glibcs and isn't Hurd-specific.
+  makeFlags = ''vardbdir="$out/var/db"'';
+})
diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch b/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch
new file mode 100644
index 00000000000..a4f983de8f6
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch
@@ -0,0 +1,170 @@
+Picked from upstream commits, but excluding changes to news and tests:
+d183645616b0533 and 4e8f95a0df7c2
+Also see https://sourceware.org/bugzilla/show_bug.cgi?id=17137
+
+diff --git a/locale/setlocale.c b/locale/setlocale.c
+index 9458468..6455b8b 100644
+--- a/locale/setlocale.c
++++ b/locale/setlocale.c
+@@ -272,6 +272,8 @@ setlocale (int category, const char *locale)
+ 	 of entries of the form `CATEGORY=VALUE'.  */
+       const char *newnames[__LC_LAST];
+       struct __locale_data *newdata[__LC_LAST];
++      /* Copy of the locale argument, for in-place splitting.  */
++      char *locale_copy = NULL;
+ 
+       /* Set all name pointers to the argument name.  */
+       for (category = 0; category < __LC_LAST; ++category)
+@@ -281,7 +283,13 @@ setlocale (int category, const char *locale)
+       if (__glibc_unlikely (strchr (locale, ';') != NULL))
+ 	{
+ 	  /* This is a composite name.  Make a copy and split it up.  */
+-	  char *np = strdupa (locale);
++	  locale_copy = strdup (locale);
++	  if (__glibc_unlikely (locale_copy == NULL))
++	    {
++	      __libc_rwlock_unlock (__libc_setlocale_lock);
++	      return NULL;
++	    }
++	  char *np = locale_copy;
+ 	  char *cp;
+ 	  int cnt;
+ 
+@@ -299,6 +307,7 @@ setlocale (int category, const char *locale)
+ 		{
+ 		error_return:
+ 		  __libc_rwlock_unlock (__libc_setlocale_lock);
++		  free (locale_copy);
+ 
+ 		  /* Bogus category name.  */
+ 		  ERROR_RETURN;
+@@ -391,8 +400,9 @@ setlocale (int category, const char *locale)
+       /* Critical section left.  */
+       __libc_rwlock_unlock (__libc_setlocale_lock);
+ 
+-      /* Free the resources (the locale path variable).  */
++      /* Free the resources.  */
+       free (locale_path);
++      free (locale_copy);
+ 
+       return composite;
+     }
+diff --git a/locale/findlocale.c b/locale/findlocale.c
+index bbaf708..22e8b53 100644
+--- a/locale/findlocale.c
++++ b/locale/findlocale.c
+@@ -17,6 +17,7 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <assert.h>
++#include <errno.h>
+ #include <locale.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -57,6 +58,45 @@ struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST];
+ 
+ const char _nl_default_locale_path[] attribute_hidden = LOCALEDIR;
+ 
++/* Checks if the name is actually present, that is, not NULL and not
++   empty.  */
++static inline int
++name_present (const char *name)
++{
++  return name != NULL && name[0] != '\0';
++}
++
++/* Checks that the locale name neither extremely long, nor contains a
++   ".." path component (to prevent directory traversal).  */
++static inline int
++valid_locale_name (const char *name)
++{
++  /* Not set.  */
++  size_t namelen = strlen (name);
++  /* Name too long.  The limit is arbitrary and prevents stack overflow
++     issues later.  */
++  if (__glibc_unlikely (namelen > 255))
++    return 0;
++  /* Directory traversal attempt.  */
++  static const char slashdot[4] = {'/', '.', '.', '/'};
++  if (__glibc_unlikely (memmem (name, namelen,
++				slashdot, sizeof (slashdot)) != NULL))
++    return 0;
++  if (namelen == 2 && __glibc_unlikely (name[0] == '.' && name [1] == '.'))
++    return 0;
++  if (namelen >= 3
++      && __glibc_unlikely (((name[0] == '.'
++			     && name[1] == '.'
++			     && name[2] == '/')
++			    || (name[namelen - 3] == '/'
++				&& name[namelen - 2] == '.'
++				&& name[namelen - 1] == '.'))))
++    return 0;
++  /* If there is a slash in the name, it must start with one.  */
++  if (__glibc_unlikely (memchr (name, '/', namelen) != NULL) && name[0] != '/')
++    return 0;
++  return 1;
++}
+ 
+ struct __locale_data *
+ internal_function
+@@ -65,7 +105,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
+ {
+   int mask;
+   /* Name of the locale for this category.  */
+-  char *loc_name;
++  char *loc_name = (char *) *name;
+   const char *language;
+   const char *modifier;
+   const char *territory;
+@@ -73,31 +113,39 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
+   const char *normalized_codeset;
+   struct loaded_l10nfile *locale_file;
+ 
+-  if ((*name)[0] == '\0')
++  if (loc_name[0] == '\0')
+     {
+       /* The user decides which locale to use by setting environment
+ 	 variables.  */
+-      *name = getenv ("LC_ALL");
+-      if (*name == NULL || (*name)[0] == '\0')
+-	*name = getenv (_nl_category_names.str
++      loc_name = getenv ("LC_ALL");
++      if (!name_present (loc_name))
++	loc_name = getenv (_nl_category_names.str
+ 			+ _nl_category_name_idxs[category]);
+-      if (*name == NULL || (*name)[0] == '\0')
+-	*name = getenv ("LANG");
++      if (!name_present (loc_name))
++	loc_name = getenv ("LANG");
++      if (!name_present (loc_name))
++	loc_name = (char *) _nl_C_name;
+     }
+ 
+-  if (*name == NULL || (*name)[0] == '\0'
+-      || (__builtin_expect (__libc_enable_secure, 0)
+-	  && strchr (*name, '/') != NULL))
+-    *name = (char *) _nl_C_name;
++  /* We used to fall back to the C locale if the name contains a slash
++     character '/', but we now check for directory traversal in
++     valid_locale_name, so this is no longer necessary.  */
+ 
+-  if (__builtin_expect (strcmp (*name, _nl_C_name), 1) == 0
+-      || __builtin_expect (strcmp (*name, _nl_POSIX_name), 1) == 0)
++  if (__builtin_expect (strcmp (loc_name, _nl_C_name), 1) == 0
++      || __builtin_expect (strcmp (loc_name, _nl_POSIX_name), 1) == 0)
+     {
+       /* We need not load anything.  The needed data is contained in
+ 	 the library itself.  */
+       *name = (char *) _nl_C_name;
+       return _nl_C[category];
+     }
++  else if (!valid_locale_name (loc_name))
++    {
++      __set_errno (EINVAL);
++      return NULL;
++    }
++
++  *name = loc_name;
+ 
+   /* We really have to load some data.  First we try the archive,
+      but only if there was no LOCPATH environment variable specified.  */
diff --git a/pkgs/development/libraries/glibc/2.17/default.nix b/pkgs/development/libraries/glibc/2.19/default.nix
index ace043a250c..ace043a250c 100644
--- a/pkgs/development/libraries/glibc/2.17/default.nix
+++ b/pkgs/development/libraries/glibc/2.19/default.nix
diff --git a/pkgs/development/libraries/glibc/2.17/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch
index 95f53773320..95f53773320 100644
--- a/pkgs/development/libraries/glibc/2.17/dont-use-system-ld-so-cache.patch
+++ b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch
diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch
new file mode 100644
index 00000000000..fabb6c3ec5e
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch
@@ -0,0 +1,12 @@
+diff -rupN a/elf/rtld.c b/elf/rtld.c
+--- a/elf/rtld.c	2013-08-11 00:52:55.000000001 +0200
++++ b/elf/rtld.c	2014-02-18 13:56:19.000000001 +0100
+@@ -1639,7 +1639,7 @@ ERROR: ld.so: object '%s' cannot be load
+      open().  So we do this first.  If it succeeds we do almost twice
+      the work but this does not matter, since it is not for production
+      use.  */
+-  static const char preload_file[] = "/etc/ld.so.preload";
++  static const char preload_file[] = "/etc/ld-nix.so.preload";
+   if (__builtin_expect (__access (preload_file, R_OK) == 0, 0))
+     {
+       /* Read the contents of the file.  */
diff --git a/pkgs/development/libraries/glibc/2.19/fix-math.patch b/pkgs/development/libraries/glibc/2.19/fix-math.patch
new file mode 100644
index 00000000000..516f53954dd
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/fix-math.patch
@@ -0,0 +1,336 @@
+From: Siddhesh Poyarekar <siddhesh@redhat.com>
+Date: Thu, 27 Feb 2014 15:42:09 +0000 (+0530)
+Subject: Fix sign of input to bsloww1 (BZ #16623)
+X-Git-Url: http://repo.or.cz/w/glibc.git/commitdiff_plain/1cadc85813d736f7682fa2eeadae639ab6b66c65
+
+Fix sign of input to bsloww1 (BZ #16623)
+
+In 84ba214c, I removed some redundant sign computations and in the
+process, I incorrectly got rid of a temporary variable, thus passing
+the absolute value of the input to bsloww1.  This caused #16623.
+
+This fix undoes the incorrect change.
+
+[nix]: drop docs update (wouldn't apply)
+---
+
+diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
+index ac5348f..fafe96f 100644
+--- a/math/auto-libm-test-in
++++ b/math/auto-libm-test-in
+@@ -594,6 +594,7 @@ cos 0x1.0000010b239a9p0
+ cos 0x1.00000162a932bp0
+ cos 0x1.000002d452a10p0
+ cos 0x1.000005bc7d86dp0
++cos 0x1.200145a975ce6p32
+ cos 1
+ cos 2
+ cos 3
+@@ -1748,6 +1749,7 @@ sin 7
+ sin 8
+ sin 9
+ sin 10
++sin 0x1.2001469775ce6p32
+ 
+ sincos 0
+ sincos -0
+diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
+index 8f79359..59c08a7 100644
+--- a/math/auto-libm-test-out
++++ b/math/auto-libm-test-out
+@@ -74446,6 +74446,75 @@ cos 0x1.000005bc7d86dp0
+ = cos tonearest ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok
+ = cos towardzero ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok
+ = cos upward ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92358p-4L : inexact-ok
++cos 0x1.200145a975ce6p32
++= cos downward flt-32 0x1.200146p+32f : -0xf.74fbep-4f : inexact-ok
++= cos tonearest flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
++= cos towardzero flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
++= cos upward flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
++= cos downward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok
++= cos tonearest dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok
++= cos towardzero dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok
++= cos upward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok
++= cos downward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok
++= cos tonearest ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
++= cos towardzero ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
++= cos upward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
++= cos downward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok
++= cos tonearest ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
++= cos towardzero ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
++= cos upward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
++= cos downward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok
++= cos tonearest ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok
++= cos towardzero ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok
++= cos upward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok
++= cos downward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef5cp-4L : inexact-ok
++= cos tonearest ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
++= cos towardzero ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
++= cos upward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
++= cos downward flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok
++= cos tonearest flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok
++= cos towardzero flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok
++= cos upward flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok
++= cos downward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
++= cos tonearest dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
++= cos towardzero dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
++= cos upward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658bp-4 : inexact-ok
++= cos downward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
++= cos tonearest ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
++= cos towardzero ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
++= cos upward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
++= cos downward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
++= cos tonearest ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
++= cos towardzero ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
++= cos upward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
++= cos downward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
++= cos tonearest ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
++= cos towardzero ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
++= cos upward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fb8p-4L : inexact-ok
++= cos downward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok
++= cos tonearest ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok
++= cos towardzero ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok
++= cos upward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok
++= cos downward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffdp-4 : inexact-ok
++= cos tonearest dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
++= cos towardzero dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
++= cos upward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
++= cos downward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok
++= cos tonearest ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
++= cos towardzero ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
++= cos upward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
++= cos downward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok
++= cos tonearest ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
++= cos towardzero ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
++= cos upward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
++= cos downward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e8p-4L : inexact-ok
++= cos tonearest ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
++= cos towardzero ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
++= cos upward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
++= cos downward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726842p-4L : inexact-ok
++= cos tonearest ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
++= cos towardzero ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
++= cos upward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
+ cos 1
+ = cos downward flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok
+ = cos tonearest flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok
+@@ -157744,6 +157813,75 @@ sin 10
+ = sin tonearest ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be025p-4L : inexact-ok
+ = sin towardzero ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok
+ = sin upward ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok
++sin 0x1.2001469775ce6p32
++= sin downward flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok
++= sin tonearest flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok
++= sin towardzero flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok
++= sin upward flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok
++= sin downward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe38p-4 : inexact-ok
++= sin tonearest dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
++= sin towardzero dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
++= sin upward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
++= sin downward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok
++= sin tonearest ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
++= sin towardzero ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
++= sin upward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
++= sin downward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok
++= sin tonearest ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
++= sin towardzero ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
++= sin upward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
++= sin downward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d944p-4L : inexact-ok
++= sin tonearest ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
++= sin towardzero ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
++= sin upward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
++= sin downward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok
++= sin tonearest ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok
++= sin towardzero ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok
++= sin upward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok
++= sin downward flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
++= sin tonearest flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
++= sin towardzero flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
++= sin upward flt-32 0x1.200146p+32f : 0x4.220ff8p-4f : inexact-ok
++= sin downward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok
++= sin tonearest dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok
++= sin towardzero dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok
++= sin upward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok
++= sin downward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
++= sin tonearest ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
++= sin towardzero ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
++= sin upward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
++= sin downward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
++= sin tonearest ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
++= sin towardzero ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
++= sin upward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
++= sin downward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
++= sin tonearest ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
++= sin towardzero ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
++= sin upward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cc4p-4L : inexact-ok
++= sin downward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
++= sin tonearest ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
++= sin towardzero ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
++= sin upward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ep-4L : inexact-ok
++= sin downward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019fcp-4 : inexact-ok
++= sin tonearest dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
++= sin towardzero dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
++= sin upward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
++= sin downward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok
++= sin tonearest ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
++= sin towardzero ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
++= sin upward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
++= sin downward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok
++= sin tonearest ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
++= sin towardzero ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
++= sin upward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
++= sin downward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca70604p-4L : inexact-ok
++= sin tonearest ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
++= sin towardzero ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
++= sin upward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
++= sin downward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca708p-4L : inexact-ok
++= sin tonearest ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
++= sin towardzero ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
++= sin upward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
+ sincos 0
+ = sincos downward flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok
+ = sincos tonearest flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok
+diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
+index 6105e9f..50109b8 100644
+--- a/sysdeps/ieee754/dbl-64/s_sin.c
++++ b/sysdeps/ieee754/dbl-64/s_sin.c
+@@ -447,19 +447,21 @@ __sin (double x)
+ 	    }
+ 	  else
+ 	    {
++	      double t;
+ 	      if (a > 0)
+ 		{
+ 		  m = 1;
++		  t = a;
+ 		  db = da;
+ 		}
+ 	      else
+ 		{
+ 		  m = 0;
+-		  a = -a;
++		  t = -a;
+ 		  db = -da;
+ 		}
+-	      u.x = big + a;
+-	      y = a - (u.x - big);
++	      u.x = big + t;
++	      y = t - (u.x - big);
+ 	      res = do_sin (u, y, db, &cor);
+ 	      cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
+ 	      retval = ((res == res + cor) ? ((m) ? res : -res)
+@@ -671,19 +673,21 @@ __cos (double x)
+ 	    }
+ 	  else
+ 	    {
++	      double t;
+ 	      if (a > 0)
+ 		{
+ 		  m = 1;
++		  t = a;
+ 		  db = da;
+ 		}
+ 	      else
+ 		{
+ 		  m = 0;
+-		  a = -a;
++		  t = -a;
+ 		  db = -da;
+ 		}
+-	      u.x = big + a;
+-	      y = a - (u.x - big);
++	      u.x = big + t;
++	      y = t - (u.x - big);
+ 	      res = do_sin (u, y, db, &cor);
+ 	      cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
+ 	      retval = ((res == res + cor) ? ((m) ? res : -res)
+diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
+index f3980f8..544f1c7 100644
+--- a/sysdeps/x86_64/fpu/libm-test-ulps
++++ b/sysdeps/x86_64/fpu/libm-test-ulps
+@@ -10900,6 +10900,14 @@ idouble: 1
+ Test "cos_downward (0x1.0c152382d7365p+0)":
+ double: 1
+ idouble: 1
++Test "cos_downward (0x1.200145a975ce6p+32)":
++double: 1
++idouble: 1
++ildouble: 1
++ldouble: 1
++Test "cos_downward (0x1.200146p+32)":
++ildouble: 1
++ldouble: 1
+ Test "cos_downward (0x1.921fb4p+0)":
+ ildouble: 1
+ ldouble: 1
+@@ -11126,6 +11134,9 @@ idouble: 1
+ Test "cos_towardzero (0x1.0c152382d7365p+0)":
+ double: 1
+ idouble: 1
++Test "cos_towardzero (0x1.200146p+32)":
++double: 1
++idouble: 1
+ Test "cos_towardzero (0x1.921fb4p+0)":
+ ildouble: 1
+ ldouble: 1
+@@ -11258,6 +11269,17 @@ idouble: 1
+ Test "cos_upward (0x1.0c1524p+0)":
+ double: 1
+ idouble: 1
++Test "cos_upward (0x1.200144p+32)":
++double: 1
++idouble: 1
++Test "cos_upward (0x1.200145a975ce6p+32)":
++ildouble: 1
++ldouble: 1
++Test "cos_upward (0x1.200146p+32)":
++double: 1
++idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "cos_upward (0x1.921fb4p+0)":
+ double: 1
+ idouble: 1
+@@ -15155,6 +15177,19 @@ double: 1
+ idouble: 1
+ ildouble: 1
+ ldouble: 1
++Test "sin_downward (0x1.2001469775ce6p+32)":
++double: 1
++idouble: 1
++ildouble: 1
++ldouble: 1
++Test "sin_downward (0x1.200146p+32)":
++double: 1
++idouble: 1
++Test "sin_downward (0x1.200148p+32)":
++double: 1
++idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "sin_downward (0x1.921fb54442d18468p+0)":
+ ildouble: 1
+ ldouble: 1
+@@ -15383,6 +15418,9 @@ double: 1
+ idouble: 1
+ ildouble: 1
+ ldouble: 1
++Test "sin_towardzero (0x1.200146p+32)":
++double: 1
++idouble: 1
+ Test "sin_towardzero (0x1.921fb54442d18468p+0)":
+ ildouble: 1
+ ldouble: 1
+@@ -15532,6 +15570,12 @@ ldouble: 1
+ Test "sin_upward (-0x8.60a92p-4)":
+ ildouble: 1
+ ldouble: 1
++Test "sin_upward (0x1.2001469775ce6p+32)":
++ildouble: 1
++ldouble: 1
++Test "sin_upward (0x1.200148p+32)":
++ildouble: 1
++ldouble: 1
+ Test "sin_upward (0x1.921fb4p+0)":
+ double: 1
+ idouble: 1
diff --git a/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch b/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch
new file mode 100644
index 00000000000..714e49db560
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch
@@ -0,0 +1,6 @@
+diff -ubr glibc-2.17-orig/sysdeps/unix/confstr.h glibc-2.17/sysdeps/unix/confstr.h
+--- glibc-2.17-orig/sysdeps/unix/confstr.h	2013-06-03 22:01:44.829726968 +0200
++++ glibc-2.17/sysdeps/unix/confstr.h	2013-06-03 22:04:39.469376740 +0200
+@@ -1 +1 @@
+-#define	CS_PATH	"/bin:/usr/bin"
++#define	CS_PATH	"/run/current-system/sw/bin:/bin:/usr/bin"
diff --git a/pkgs/development/libraries/glibc/2.17/glibc-crypt-blowfish.patch b/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch
index a0a8acdab63..a0a8acdab63 100644
--- a/pkgs/development/libraries/glibc/2.17/glibc-crypt-blowfish.patch
+++ b/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch
diff --git a/pkgs/development/libraries/glibc/2.17/info.nix b/pkgs/development/libraries/glibc/2.19/info.nix
index e4cdb42dd68..e4cdb42dd68 100644
--- a/pkgs/development/libraries/glibc/2.17/info.nix
+++ b/pkgs/development/libraries/glibc/2.19/info.nix
diff --git a/pkgs/development/libraries/glibc/2.13/locales-builder.sh b/pkgs/development/libraries/glibc/2.19/locales-builder.sh
index d732e208fa2..d732e208fa2 100644
--- a/pkgs/development/libraries/glibc/2.13/locales-builder.sh
+++ b/pkgs/development/libraries/glibc/2.19/locales-builder.sh
diff --git a/pkgs/development/libraries/glibc/2.19/locales.nix b/pkgs/development/libraries/glibc/2.19/locales.nix
new file mode 100644
index 00000000000..9f9fb86a396
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/locales.nix
@@ -0,0 +1,47 @@
+/* This function builds just the `lib/locale/locale-archive' file from
+   Glibc and nothing else.  If `allLocales' is true, all supported
+   locales are included; otherwise, just the locales listed in
+   `locales'.  See localedata/SUPPORTED in the Glibc source tree for
+   the list of all supported locales:
+   http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
+*/
+
+{ stdenv, fetchurl, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
+
+let build = import ./common.nix; in
+
+build null {
+  name = "glibc-locales";
+
+  inherit fetchurl stdenv;
+  installLocales = true;
+
+  builder = ./locales-builder.sh;
+
+  # Awful hack: `localedef' doesn't allow the path to `locale-archive'
+  # to be overriden, but you *can* specify a prefix, i.e. it will use
+  # <prefix>/<path-to-glibc>/lib/locale/locale-archive.  So we use
+  # $TMPDIR as a prefix, meaning that the locale-archive is placed in
+  # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive.
+  buildPhase =
+    ''
+      mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale"
+
+      # Hack to allow building of the locales (needed since glibc-2.12)
+      sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \
+          /library-path/d ../glibc-2*/localedata/Makefile
+      ${if allLocales then "" else
+          "echo SUPPORTED-LOCALES=\"${toString locales}\" > ../glibc-2*/localedata/SUPPORTED"}
+
+      make localedata/install-locales \
+          localedir=$out/lib/locale \
+    '';
+
+  installPhase =
+    ''
+      mkdir -p "$out/lib/locale"
+      cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale"
+    '';
+
+  meta.description = "Locale information for the GNU C Library";
+}
diff --git a/pkgs/development/libraries/glibc/2.17/nix-locale-archive.patch b/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch
index 88c8adef922..88c8adef922 100644
--- a/pkgs/development/libraries/glibc/2.17/nix-locale-archive.patch
+++ b/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch
diff --git a/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch b/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch
new file mode 100644
index 00000000000..3349449d916
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch
@@ -0,0 +1,54 @@
+diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
+--- glibc-2.18-orig/sunrpc/rpc_main.c	2013-08-11 00:52:55.000000000 +0200
++++ glibc-2.18/sunrpc/rpc_main.c	2013-11-15 12:04:48.041006977 +0100
+@@ -78,7 +78,7 @@
+ 
+ static const char *svcclosetime = "120";
+ static int cppDefined;	/* explicit path for C preprocessor */
+-static const char *CPP = "/lib/cpp";
++static const char *CPP = "cpp";
+ static const char CPPFLAGS[] = "-C";
+ static char *pathbuf;
+ static int cpp_pid;
+@@ -107,7 +107,6 @@
+ static void open_output (const char *infile, const char *outfile);
+ static void add_warning (void);
+ static void clear_args (void);
+-static void find_cpp (void);
+ static void open_input (const char *infile, const char *define);
+ static int check_nettype (const char *name, const char *list_to_check[]);
+ static void c_output (const char *infile, const char *define,
+@@ -322,25 +321,6 @@
+   argcount = FIXEDARGS;
+ }
+ 
+-/* make sure that a CPP exists */
+-static void
+-find_cpp (void)
+-{
+-  struct stat64 buf;
+-
+-  if (stat64 (CPP, &buf) == 0)
+-    return;
+-
+-  if (cppDefined) /* user specified cpp but it does not exist */
+-    {
+-      fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
+-      crash ();
+-    }
+-
+-  /* fall back to system CPP */
+-  CPP = "cpp";
+-}
+-
+ /*
+  * Open input file with given define for C-preprocessor
+  */
+@@ -359,7 +339,6 @@
+   switch (cpp_pid)
+     {
+     case 0:
+-      find_cpp ();
+       putarg (0, CPP);
+       putarg (1, CPPFLAGS);
+       addarg (define);
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 962b14bc788..66fb0179489 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -1,22 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, libsigcxx }:
+{ stdenv, fetchurl, pkgconfig, glib, libsigcxx }:
 
+let
+  ver_maj = "2.38";
+  ver_min = "1";
+in
 stdenv.mkDerivation rec {
-  name = "glibmm-2.34.1";
+  name = "glibmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/glibmm/2.34/${name}.tar.xz";
-    sha256 = "1i4jsvahva2q0mig7kjnpsw0r3fnpybm8b6hzymfm2hpgqnaa9dl";
+    url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz";
+    sha256 = "18n4czi6lh4ncj54apxms18xn9k8pmrp2ba9sxn0sk9w3pp2bja9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ glib gdk_pixbuf libsigcxx ];
+  propagatedBuildInputs = [ glib libsigcxx ];
+
+  #doCheck = true; # some tests need network
 
   meta = {
     description = "C++ interface to the GLib library";
 
     homepage = http://gtkmm.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [urkud raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
new file mode 100644
index 00000000000..b35fe1e7855
--- /dev/null
+++ b/pkgs/development/libraries/glm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "glm-0.9.5.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/ogl-math/${name}/${name}.zip";
+    sha256 = "1x8bpmqdszzkg21r411w7cy4mqd5dcvb9jghc8h3xrx7ldbicqjg";
+  };
+
+  buildInputs = [ unzip ];
+
+  outputs = [ "out" "doc" ];
+
+  installPhase = ''
+    mkdir -p "$out/include"
+    cp -r glm "$out/include"
+
+    mkdir -p "$doc/share/doc/glm"
+    cp -r doc/* "$doc/share/doc/glm"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL Mathematics library for C++";
+    longDescription = ''
+      OpenGL Mathematics (GLM) is a header only C++ mathematics library for
+      graphics software based on the OpenGL Shading Language (GLSL)
+      specification and released under the MIT license.
+    '';
+    homepage = http://glm.g-truc.net/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
new file mode 100644
index 00000000000..098643ae70f
--- /dev/null
+++ b/pkgs/development/libraries/glog/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "glog-0.3.3";
+  
+  src = fetchurl {
+    url = "http://google-glog.googlecode.com/files/${name}.tar.gz";
+    sha1 = "ed40c26ecffc5ad47c618684415799ebaaa30d65";
+  };
+
+  meta = {
+    homepage = http://code.google.com/p/google-glog/;
+    license = "BSD";
+    description = "The glog library implements application-level logging.";
+  };
+}
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
new file mode 100644
index 00000000000..4e271a8c678
--- /dev/null
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl
+, zlibSupport ? true, zlib ? null
+, sslSupport ? true, openssl ? null
+, idnSupport ? true, libidn ? null
+}:
+
+assert zlibSupport -> zlib != null;
+assert sslSupport -> openssl != null;
+assert idnSupport -> libidn != null;
+
+let
+  version = "1.0.10";
+in
+stdenv.mkDerivation rec {
+  name = "gloox-${version}";
+
+  src = fetchurl {
+    url = "http://camaya.net/download/gloox-${version}.tar.bz2";
+    sha256 = "300e756af97d43f3f70f1e68e4d4c7129d587dface61633f50d2c490876f58a3";
+  };
+
+  buildInputs = [ ]
+    ++ stdenv.lib.optional zlibSupport zlib
+    ++ stdenv.lib.optional sslSupport openssl
+    ++ stdenv.lib.optional idnSupport libidn;
+
+  meta = {
+    description = "A portable high-level Jabber/XMPP library for C++";
+    homepage = "http://camaya.net/gloox";
+    license = [ "GPLv3" ];
+  };
+}
diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix
index edfbc0e86d7..2b1a5b571ef 100644
--- a/pkgs/development/libraries/glpk/default.nix
+++ b/pkgs/development/libraries/glpk/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "glpk-4.47";
+  name = "glpk-4.52.1";
 
   src = fetchurl {
     url = "mirror://gnu/glpk/${name}.tar.gz";
-    sha256 = "13gl75w9dqh1a83v8wvlz9ychwljhy26n3l16r9dia3lpbikhm63";
+    sha256 = "0nz9ngmx23c8gbjr8l8ygnfaanxj2mwbl8awpg630bgrkxdnhc9j";
   };
 
   doCheck = true;
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/glpk/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix
index 8394f5c4e62..144dd0d9bfb 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "gmime-2.6.15";
+  name = "gmime-2.6.19";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/2.6/${name}.tar.xz";
-    sha256 = "16n9gmlwn6rphi59hrwy6dpn785s3r13h2kmrn3k61l2kfws1hml";
+    sha256 = "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg";
   };
 
   outputs = [ "dev" "out" "doc" ];
diff --git a/pkgs/development/libraries/gmm/default.nix b/pkgs/development/libraries/gmm/default.nix
index f87211195d5..d79293eced1 100644
--- a/pkgs/development/libraries/gmm/default.nix
+++ b/pkgs/development/libraries/gmm/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Generic C++ template library for sparse, dense and skyline matrices";
     homepage = http://home.gna.org/getfem/gmm_intro.html;
-    license = "LGLP2.1"; # or later
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix
index df7bd0ea3b9..d0559c46795 100644
--- a/pkgs/development/libraries/gmp/4.3.2.nix
+++ b/pkgs/development/libraries/gmp/4.3.2.nix
@@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = if cxx then "--enable-cxx" else "--disable-cxx";
 
-  doCheck = true;
+  # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8.
+  # Newer versions of GMP don't have that issue anymore.
+  doCheck = false;
 
   meta = {
     description = "GMP, the GNU multiple precision arithmetic library";
@@ -51,7 +53,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://gmplib.org/;
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gmp/5.0.5.nix b/pkgs/development/libraries/gmp/5.0.5.nix
index 461187a509c..c96c830e2f7 100644
--- a/pkgs/development/libraries/gmp/5.0.5.nix
+++ b/pkgs/development/libraries/gmp/5.0.5.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://gmplib.org/;
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gmp/5.1.1.nix b/pkgs/development/libraries/gmp/5.1.1.nix
deleted file mode 100644
index 1f43e07e58d..00000000000
--- a/pkgs/development/libraries/gmp/5.1.1.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, m4, cxx ? true }:
-
-stdenv.mkDerivation rec {
-  name = "gmp-5.1.1";
-
-  src = fetchurl {
-    urls = [ "mirror://gnu/gmp/${name}.tar.bz2" "ftp://ftp.gmplib.org/pub/${name}/${name}.tar.bz2" ];
-    sha256 = "1bdgf04k2i12pfivxgjq68iarz3ngix9hpzbmkgijrdk92gpgm50";
-  };
-
-  nativeBuildInputs = [ m4 ];
-
-  configureFlags =
-    # Build a "fat binary", with routines for several sub-architectures
-    # (x86), except on Solaris where some tests crash with "Memory fault".
-    # See <http://hydra.nixos.org/build/2760931>, for instance.
-    (stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat")
-    ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]);
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "http://gmplib.org/";
-    description = "GMP, the GNU multiple precision arithmetic library";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    longDescription =
-      '' GMP is a free library for arbitrary precision arithmetic, operating
-         on signed integers, rational numbers, and floating point numbers.
-         There is no practical limit to the precision except the ones implied
-         by the available memory in the machine GMP runs on.  GMP has a rich
-         set of functions, and the functions have a regular interface.
-
-         The main target applications for GMP are cryptography applications
-         and research, Internet security applications, algebra systems,
-         computational algebra research, etc.
-
-         GMP is carefully designed to be as fast as possible, both for small
-         operands and for huge operands.  The speed is achieved by using
-         fullwords as the basic arithmetic type, by using fast algorithms,
-         with highly optimised assembly code for the most common inner loops
-         for a lot of CPUs, and by a general emphasis on speed.
-
-         GMP is faster than any other bignum library.  The advantage for GMP
-         increases with the operand sizes for many operations, since GMP uses
-         asymptotically faster algorithms.
-      '';
-
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-}
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
new file mode 100644
index 00000000000..9e28334804b
--- /dev/null
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, m4, cxx ? true, withStatic ? false }:
+
+with { inherit (stdenv.lib) optional; };
+
+stdenv.mkDerivation (rec {
+  name = "gmp-5.1.3";
+
+  src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
+    urls = [ "mirror://gnu/gmp/${name}.tar.bz2" "ftp://ftp.gmplib.org/pub/${name}/${name}.tar.bz2" ];
+    sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m";
+  };
+
+  nativeBuildInputs = [ m4 ];
+
+  configureFlags =
+    # Build a "fat binary", with routines for several sub-architectures
+    # (x86), except on Solaris where some tests crash with "Memory fault".
+    # See <http://hydra.nixos.org/build/2760931>, for instance.
+    optional (!stdenv.isSunOS) "--enable-fat"
+    ++ (if cxx then [ "--enable-cxx"  ]
+               else [ "--disable-cxx" ])
+    ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+    ++ optional stdenv.is64bit "--with-pic"
+    ;
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://gmplib.org/";
+    description = "GMP, the GNU multiple precision arithmetic library";
+    license = licenses.gpl3Plus;
+
+    longDescription =
+      '' GMP is a free library for arbitrary precision arithmetic, operating
+         on signed integers, rational numbers, and floating point numbers.
+         There is no practical limit to the precision except the ones implied
+         by the available memory in the machine GMP runs on.  GMP has a rich
+         set of functions, and the functions have a regular interface.
+
+         The main target applications for GMP are cryptography applications
+         and research, Internet security applications, algebra systems,
+         computational algebra research, etc.
+
+         GMP is carefully designed to be as fast as possible, both for small
+         operands and for huge operands.  The speed is achieved by using
+         fullwords as the basic arithmetic type, by using fast algorithms,
+         with highly optimised assembly code for the most common inner loops
+         for a lot of CPUs, and by a general emphasis on speed.
+
+         GMP is faster than any other bignum library.  The advantage for GMP
+         increases with the operand sizes for many operations, since GMP uses
+         asymptotically faster algorithms.
+      '';
+
+    platforms = platforms.all;
+    maintainers = [ maintainers.simons ];
+  };
+}
+  // stdenv.lib.optionalAttrs withStatic { dontDisableStatic = true; }
+)
+
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index f741a0b4f34..a78d9890729 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -1,26 +1,18 @@
-{ stdenv
-, fetchurl
-}:
+{ stdenv, fetchurl }:
 
-let version = "3.0u"; in stdenv.mkDerivation {
-
-  name = "gnu-efi-${version}";
+stdenv.mkDerivation rec {
+  name = "gnu-efi_${version}";
+  version = "3.0u";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gnu-efi/gnu-efi_${version}.orig.tar.gz";
+    url = "mirror://sourceforge/gnu-efi/${name}.orig.tar.gz";
     sha256 = "0klkdxh1aqwwfm393q67nxww6liffyp2lfybbnh4q819b06la39w";
   };
 
-  meta = {
-    description = "GNU EFI development toolchain";
-    homepage = http://sourceforge.net/projects/gnu-efi/;
-    license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-    platforms = ["x86_64-linux" "i686-linux"];
-  };
+  arch = with stdenv.lib; head (splitString "-" stdenv.system);
 
-  buildFlags = [
-    "CC=cc"
+  makeFlags = [
+    "CC=gcc"
     "AS=as"
     "LD=ld"
     "AR=ar"
@@ -29,13 +21,22 @@ let version = "3.0u"; in stdenv.mkDerivation {
   ];
 
   buildPhase = ''
-    make $buildFlags
-    make $buildFlags -C apps clean all
+    make $makeFlags
+    make $makeFlags -C apps clean all
   '';
 
   installPhase = ''
-    make PREFIX="$out" install
+    mkdir -pv $out/include/efi/{protocol,$arch}
+    make PREFIX="$out" $makeFlags install
     mkdir -pv $out/share/gnu-efi
     install -D -m644 apps/*.efi $out/share/gnu-efi
   '';
+
+  meta = with stdenv.lib; {
+    description = "GNU EFI development toolchain";
+    homepage = http://sourceforge.net/projects/gnu-efi/;
+    license = licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/gnutls/2.12.nix b/pkgs/development/libraries/gnutls/2.12.nix
deleted file mode 100644
index 86829a3a44b..00000000000
--- a/pkgs/development/libraries/gnutls/2.12.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle
-, guileBindings, guile, pkgconfig }:
-
-assert guileBindings -> guile != null;
-
-stdenv.mkDerivation rec {
-
-  name = "gnutls-2.12.23";
-
-  src = fetchurl { # missing on standard mirrors
-    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v2.12/${name}.tar.bz2";
-    sha256 = "1lkys703z4yxfgzarmgas5ccvn6m254w9wvm7s8v0zkj81z7m9nz";
-  };
-
-  configurePhase = ''
-    ./configure --prefix="$out"                                 \
-      --disable-dependency-tracking --enable-fast-install       \
-      --with-lzo --with-libtasn1-prefix="${libtasn1}"		\
-      --without-p11-kit                                         \
-      ${if guileBindings
-        then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
-        else ""}
-  '';
-
-  buildInputs = [ zlib lzo libtasn1 pkgconfig ]
-    ++ stdenv.lib.optional guileBindings guile;
-
-  propagatedBuildInputs = [ nettle ];
-
-  doCheck = true;
-
-  meta = {
-    description = "The GNU Transport Layer Security Library";
-
-    longDescription = ''
-       GnuTLS is a project that aims to develop a library which
-       provides a secure layer, over a reliable transport
-       layer. Currently the GnuTLS library implements the proposed
-       standards by the IETF's TLS working group.
-
-       Quoting from the TLS protocol specification:
-
-       "The TLS protocol provides communications privacy over the
-       Internet. The protocol allows client/server applications to
-       communicate in a way that is designed to prevent eavesdropping,
-       tampering, or message forgery."
-    '';
-
-    homepage = http://www.gnu.org/software/gnutls/;
-    license = "LGPLv2.1+";
-
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix
new file mode 100644
index 00000000000..6aea78a3ac5
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/3.1.nix
@@ -0,0 +1,67 @@
+{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+, guileBindings, guile, perl, gmp }:
+
+assert guileBindings -> guile != null;
+
+stdenv.mkDerivation rec {
+  name = "gnutls-3.1.25";
+
+  src = fetchurl {
+    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz";
+    sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g";
+  };
+
+  # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
+  patches = stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch;
+
+  # Note: GMP is a dependency of Nettle, whose public headers include
+  # GMP headers, hence the hack.
+  configurePhase = ''
+    ./configure --prefix="$out"                                 \
+      --disable-dependency-tracking --enable-fast-install       \
+      --without-p11-kit                                         \
+      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
+      --with-libnettle-prefix="${nettle}"                       \
+      CPPFLAGS="-I${gmp}/include"                               \
+      ${stdenv.lib.optionalString guileBindings
+          "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""}
+  '';
+
+  # Build of the Guile bindings is not parallel-safe.  See
+  # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
+  # for the actual fix.
+  enableParallelBuilding = !guileBindings;
+
+  buildInputs = [ zlib lzo lzip ]
+    ++ stdenv.lib.optional guileBindings guile;
+
+  nativeBuildInputs = [ perl pkgconfig ];
+
+  propagatedBuildInputs = [ nettle libtasn1 ];
+
+  # XXX: Gnulib's `test-select' fails on FreeBSD:
+  # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
+  doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin);
+
+  meta = {
+    description = "The GNU Transport Layer Security Library";
+
+    longDescription = ''
+       GnuTLS is a project that aims to develop a library which
+       provides a secure layer, over a reliable transport
+       layer. Currently the GnuTLS library implements the proposed
+       standards by the IETF's TLS working group.
+
+       Quoting from the TLS protocol specification:
+
+       "The TLS protocol provides communications privacy over the
+       Internet. The protocol allows client/server applications to
+       communicate in a way that is designed to prevent eavesdropping,
+       tampering, or message forgery."
+    '';
+
+    homepage = http://www.gnu.org/software/gnutls/;
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix
index 5a5b6aa94e2..cd48e08a39c 100644
--- a/pkgs/development/libraries/gnutls/3.2.nix
+++ b/pkgs/development/libraries/gnutls/3.2.nix
@@ -3,15 +3,19 @@
 
 assert guileBindings -> guile != null;
 
-stdenv.mkDerivation (rec {
-
-  name = "gnutls-3.2.4";
+stdenv.mkDerivation rec {
+  name = "gnutls-3.2.15";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz";
-    sha256 = "0zl4h37g51xyaalv3qp2hvn1m6z7xzfw4yvpvi6mby4x5sqrrp8i";
+    sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q";
   };
 
+  patches =
+    # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
+    stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch
+    ;
+
   # Note: GMP is a dependency of Nettle, whose public headers include
   # GMP headers, hence the hack.
   configurePhase = ''
@@ -21,15 +25,14 @@ stdenv.mkDerivation (rec {
       --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
       --with-libnettle-prefix="${nettle}"                       \
       CPPFLAGS="-I${gmp}/include"                               \
-      ${if guileBindings
-        then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
-        else ""}
+      ${stdenv.lib.optionalString guileBindings
+          "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""}
   '';
 
   # Build of the Guile bindings is not parallel-safe.  See
   # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
   # for the actual fix.
-  enableParallelBuilding = false;
+  enableParallelBuilding = !guileBindings;
 
   buildInputs = [ zlib lzo lzip ]
     ++ stdenv.lib.optional guileBindings guile;
@@ -42,7 +45,7 @@ stdenv.mkDerivation (rec {
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
   doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "The GNU Transport Layer Security Library";
 
     longDescription = ''
@@ -60,14 +63,8 @@ stdenv.mkDerivation (rec {
     '';
 
     homepage = http://www.gnu.org/software/gnutls/;
-    license = "LGPLv2.1+";
-    maintainers = [ ];
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
-
-//
-
-(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
-  # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
-  patches = [ ./guile-gnulib-includes.patch ];
-}))
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
deleted file mode 100644
index 0a98a2698fd..00000000000
--- a/pkgs/development/libraries/gnutls/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
-, guileBindings, guile, perl, gmp }:
-
-assert guileBindings -> guile != null;
-
-stdenv.mkDerivation (rec {
-
-  name = "gnutls-3.1.12";
-
-  src = fetchurl {
-    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz";
-    sha256 = "1h8j3xi2jad2dclybgqffb5264hdqrxpsx99irs03yy9np6iw5l8";
-  };
-
-  # Note: GMP is a dependency of Nettle, whose public headers include
-  # GMP headers, hence the hack.
-  configurePhase = ''
-    ./configure --prefix="$out"                                 \
-      --disable-dependency-tracking --enable-fast-install       \
-      --without-p11-kit                                         \
-      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
-      --with-libnettle-prefix="${nettle}"                       \
-      CPPFLAGS="-I${gmp}/include"                               \
-      ${if guileBindings
-        then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
-        else ""}
-  '';
-
-  # Build of the Guile bindings is not parallel-safe.  See
-  # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
-  # for the actual fix.
-  enableParallelBuilding = false;
-
-  buildInputs = [ zlib lzo lzip ]
-    ++ stdenv.lib.optional guileBindings guile;
-
-  nativeBuildInputs = [ perl pkgconfig ];
-
-  propagatedBuildInputs = [ nettle libtasn1 ];
-
-  # XXX: Gnulib's `test-select' fails on FreeBSD:
-  # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
-
-  meta = with stdenv.lib; {
-    description = "The GNU Transport Layer Security Library";
-
-    longDescription = ''
-       GnuTLS is a project that aims to develop a library which
-       provides a secure layer, over a reliable transport
-       layer. Currently the GnuTLS library implements the proposed
-       standards by the IETF's TLS working group.
-
-       Quoting from the TLS protocol specification:
-
-       "The TLS protocol provides communications privacy over the
-       Internet. The protocol allows client/server applications to
-       communicate in a way that is designed to prevent eavesdropping,
-       tampering, or message forgery."
-    '';
-
-    homepage = http://www.gnu.org/software/gnutls/;
-    license = "LGPLv2.1+";
-    maintainers = [ ];
-  };
-}
-
-//
-
-(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
-  # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
-  patches = [ ./guile-gnulib-includes.patch ];
-}))
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
new file mode 100644
index 00000000000..04bcc42a032
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -0,0 +1,25 @@
+--- ./giscanner/utils.py.orig	2014-08-14 22:05:05.055334080 +0200
++++ ./giscanner/utils.py	2014-08-14 22:05:24.687497334 +0200
+@@ -110,17 +110,11 @@
+     if dlname is None:
+         return None
+ 
+-    # Darwin uses absolute paths where possible; since the libtool files never
+-    # contain absolute paths, use the libdir field
+-    if platform.system() == 'Darwin':
+-        dlbasename = os.path.basename(dlname)
+-        libdir = _extract_libdir_field(la_file)
+-        if libdir is None:
+-            return dlbasename
+-        return libdir + '/' + dlbasename
+-    # From the comments in extract_libtool(), older libtools had
+-    # a path rather than the raw dlname
+-    return os.path.basename(dlname)
++    dlbasename = os.path.basename(dlname)
++    libdir = _extract_libdir_field(la_file)
++    if libdir is None:
++        return dlbasename
++    return libdir + '/' + dlbasename
+ 
+ 
+ def extract_libtool(la_file):
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 6a2caa28136..4b7ec1f4116 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -4,12 +4,16 @@
 # it may be worth thinking about using multiple derivation outputs
 # In that case its about 6MB which could be separated
 
+let
+  ver_maj = "1.40";
+  ver_min = "0";
+in
 stdenv.mkDerivation rec {
-  name = "gobject-introspection-1.36.0";
+  name = "gobject-introspection-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gobject-introspection/1.36/${name}.tar.xz";
-    sha256 = "10v3idh489vra7pjn1g8f844nnl6719zgkgq3dv38xcf8afnvrz3";
+    url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
+    sha256 = "162flbzwzz0b8axab2gimc4dglpaw88fh1d177zfg0whczlpbsln";
   };
 
   buildInputs = [ flex bison glib pkgconfig python ]
@@ -25,6 +29,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./absolute_shlib_path.patch ];
+
   meta = with stdenv.lib; {
     description = "A middleware layer between C libraries and language bindings";
     homepage    = http://live.gnome.org/GObjectIntrospection;
diff --git a/pkgs/development/libraries/goffice/0.10.nix b/pkgs/development/libraries/goffice/0.10.nix
deleted file mode 100644
index 793704be255..00000000000
--- a/pkgs/development/libraries/goffice/0.10.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
-, pango, libgsf, libxml2, libart, librsvg, intltool, gettext
-, cairo, gconf, libgnomeui }:
-
-stdenv.mkDerivation rec {
-  name = "goffice-0.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "7e7577f69203b03c4966906bcaabc6e87a629efb1684630c2bee7907bed08439";
-  };
-
-  buildInputs = [
-    pkgconfig libglade bzip2 libart intltool gettext
-    gconf libgnomeui
-  ];
-
-  propagatedBuildInputs = [
-    glib libgsf libxml2 gtk libglade libart librsvg cairo pango
-  ];
-
-  doCheck = true;
-
-  meta = {
-    description = "GOffice, a Glib/GTK+ set of document centric objects and utilities";
-
-    longDescription = ''
-      There are common operations for document centric applications that are
-      conceptually simple, but complex to implement fully: plugins, load/save
-      documents, undo/redo.
-    '';
-
-    license = "GPLv2+";
-
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
deleted file mode 100644
index 016b340c51f..00000000000
--- a/pkgs/development/libraries/goffice/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
-, pango, libgsf, libxml2, libart, intltool, gettext
-, cairo, gconf, libgnomeui, pcre }:
-
-stdenv.mkDerivation rec {
-  name = "goffice-0.8.17";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
-    sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
-  };
-
-  # fix linking error: undefined reference to pcre_info
-  patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986
-
-  buildInputs = [
-    pkgconfig libglade bzip2 libart intltool gettext
-    gconf libgnomeui pcre
-  ];
-
-  propagatedBuildInputs = [
-    # All these are in the "Requires:" field of `libgoffice-0.6.pc'.
-    glib libgsf libxml2 gtk libglade libart cairo pango
-  ];
-
-  postInstall =
-    ''
-      # Get GnuCash to build.  Might be unnecessary if we upgrade pkgconfig.
-      substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
-    '';
-
-  doCheck = true;
-
-  meta = {
-    description = "GOffice, a Glib/GTK+ set of document centric objects and utilities";
-
-    longDescription = ''
-      There are common operations for document centric applications that are
-      conceptually simple, but complex to implement fully: plugins, load/save
-      documents, undo/redo.
-    '';
-
-    license = "GPLv2";
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/development/libraries/google-gflags/default.nix b/pkgs/development/libraries/google-gflags/default.nix
new file mode 100644
index 00000000000..3631d4927a3
--- /dev/null
+++ b/pkgs/development/libraries/google-gflags/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "google-gflags-2.0";
+
+  src = fetchurl {
+    url = "https://gflags.googlecode.com/files/gflags-2.0.tar.gz";
+    sha256 = "1mypfahsfy0piavhf7il2jfs1gq7jp6yarl9sq5hhypj34s5sjnf";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "A C++ library that implements commandline flags processing";
+    longDescription = ''
+      The gflags package contains a C++ library that implements commandline flags processing.
+      As such it's a replacement for getopt().
+      It was owned by Google. google-gflags project has been renamed to gflags and maintained by new community.
+    '';
+    homepage = https://code.google.com/p/gflags/;
+    license = stdenv.lib.licenses.bsd3;
+
+    maintainers = [ stdenv.lib.maintainers.linquize ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 76d1d8c41f7..9ffccac1e0f 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.0";
+  name = "gperftools-2.1";
 
   src = fetchurl {
     url = "https://gperftools.googlecode.com/files/${name}.tar.gz";
-    sha1 = "da7181a7ba9b5ee7302daf6c16e886c179fe8d1b";
+    sha256 = "0ks9gsnhxrs2vccc6ha9m8xmj83lmw09xcws4zc0k57q4jcy5bgk";
   };
 
-  patches = [ ./glibc-2.16.patch ];
+  buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
 
-  buildInputs = [ libunwind ];
+  # some packages want to link to the static tcmalloc_minimal
+  # to drop the runtime dependency on gperftools
+  dontDisableStatic = true;
 
   enableParallelBuilding = true;
 
   meta = {
     homepage = https://code.google.com/p/gperftools/;
     description = "Fast, multi-threaded malloc() and nifty performance analysis tools";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/gperftools/glibc-2.16.patch b/pkgs/development/libraries/gperftools/glibc-2.16.patch
deleted file mode 100644
index b17e0d57f5f..00000000000
--- a/pkgs/development/libraries/gperftools/glibc-2.16.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: gperftools-2.0/src/base/linuxthreads.cc
-===================================================================
---- gperftools-2.0.orig/src/base/linuxthreads.cc
-+++ gperftools-2.0/src/base/linuxthreads.cc
-@@ -193,7 +193,7 @@ static volatile int *sig_pids, sig_num_t
- /* Signal handler to help us recover from dying while we are attached to
-  * other threads.
-  */
--static void SignalHandler(int signum, siginfo_t *si, void *data) {
-+static void SignalHandler(int signum, struct siginfo *si, void *data) {
-   if (sig_pids != NULL) {
-     if (signum == SIGABRT) {
-       while (sig_num_threads-- > 0) {
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 9b56344743d..ae3b53b4f44 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -11,11 +11,11 @@ let
     "${gnupg}/bin/gpg2";
 in
 stdenv.mkDerivation rec {
-  name = "gpgme-1.4.1";
+  name = "gpgme-1.4.3";
   
   src = fetchurl {
     url = "ftp://ftp.gnupg.org/gcrypt/gpgme/${name}.tar.bz2";
-    sha1 = "d6110763e7459214fd72705e87ebc682e3b5815e";
+    sha256 = "15h429h6pd67iiv580bjmwbkadpxsdppw0xrqpcm4dvm24jc271d";
   };
   
   propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index 4fc7b681baa..bb2461a98a1 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, qt4, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-0.3.0";
+  name = "grantlee-0.4.0";
 
 # Upstream download server has country code firewall, so I made a mirror.
   src = fetchurl {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
       "http://downloads.grantlee.org/${name}.tar.gz"
       "http://www.loegria.net/grantlee/${name}.tar.gz"
     ];
-    sha256 = "0c2zwaickp7han0zbxg78qrxv06jjfc4xyz2lmvl1xxmpv4vqzpv";
+    sha256 = "0gqdckxx45qmyixyz5d7ipcqq2dw26r71m2fpsrlnh4j2c9di8hk";
   };
 
   buildInputs = [ cmake qt4 ];
diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix
index a4a3a01299c..383c1a7e223 100644
--- a/pkgs/development/libraries/gsasl/default.nix
+++ b/pkgs/development/libraries/gsasl/default.nix
@@ -8,7 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii";
   };
 
-  buildInputs = [ gss libidn ];
+  buildInputs = [ libidn ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) gss;
+
+  configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--with-gssapi-impl=mit";
 
   doCheck = true;
 
@@ -23,7 +26,7 @@ stdenv.mkDerivation rec {
        '';
 
     homepage = http://www.gnu.org/software/gsasl/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index 49364f88242..da4796fba89 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -1,17 +1,23 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gsl-1.15";
+  name = "gsl-1.16";
 
   src = fetchurl {
     url = "mirror://gnu/gsl/${name}.tar.gz";
-    sha256 = "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5";
+    sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
   };
 
+  # ToDo: there might be more impurities than FMA support check
+  patches = [ ./disable-fma.patch ]; # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
+  patchFlags = "-p0";
+
   doCheck = true;
 
   meta = {
     description = "The GNU Scientific Library, a large numerical library";
+    homepage = http://www.gnu.org/software/gsl/;
+    license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
       The GNU Scientific Library (GSL) is a numerical library for C
@@ -23,10 +29,5 @@ stdenv.mkDerivation rec {
       fitting.  There are over 1000 functions in total with an
       extensive test suite.
     '';
-
-    homepage = http://www.gnu.org/software/gsl/;
-    license = "GPLv3+";
-
-    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/gsl/disable-fma.patch b/pkgs/development/libraries/gsl/disable-fma.patch
new file mode 100644
index 00000000000..d5c0d620863
--- /dev/null
+++ b/pkgs/development/libraries/gsl/disable-fma.patch
@@ -0,0 +1,32 @@
+--- configure.ac        2011-09-22 16:13:22 +0000
++++ configure.ac        2011-11-26 23:55:24 +0000
+@@ -381,6 +381,28 @@
+ AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
+ AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
+ 
++dnl check for compiler flags to disable use of FMA
++save_cflags="$CFLAGS"
++AC_CACHE_CHECK([for compiler flags to disable use of FMA], ac_cv_c_fma_flags,
++[
++if test X"$GCC" = Xyes; then
++    fma_flags='-ffp-contract=off'
++else
++    fma_flags=
++fi
++if test X"$fma_flags" != X; then
++  CFLAGS="$fma_flags $CFLAGS"
++  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_fma_flags="$fma_flags"],[ac_cv_c_fma_flags="none"])
++else
++  ac_cv_c_fma_flags="none"
++fi])
++
++if test "$ac_cv_c_fma_flags" != "none" ; then
++   CFLAGS="$ac_cv_c_fma_flags $save_cflags"
++else
++   CFLAGS="$save_cflags"
++fi
++
+ dnl Check for IEEE control flags
+ 
+ save_cflags="$CFLAGS"
+
diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix
index 4959a70ca63..207b8248698 100644
--- a/pkgs/development/libraries/gss/default.nix
+++ b/pkgs/development/libraries/gss/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
        '';
 
     homepage = http://www.gnu.org/software/gss/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index c33457544f5..792b6d2e4db 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libsoup, glib, libxml2}:
 
 stdenv.mkDerivation {
-  name = "gssdp-0.12.1";
+  name = "gssdp-0.12.2.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gssdp/0.12/gssdp-0.12.1.tar.xz;
-    sha256 = "0irkbzaj9raais6zdnbj3ysjkmdqhmdvfn0p1sz6x0s9ab6b9b0n";
+    url = mirror://gnome/sources/gssdp/0.14/gssdp-0.14.6.tar.xz;
+    sha256 = "1kgakr0rpdpm7nkp4ycka12nndga16wmzim79v1nbcc0j2wxxkws";
   };
 
   buildInputs = [pkgconfig libsoup glib libxml2];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     description = "GObject-based API for handling resource discovery and announcement over SSDP";
     homepage = http://www.gupnp.org/;
-    license = "LGPL v2";
+    license = stdenv.lib.licenses.lgpl2;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
new file mode 100644
index 00000000000..d86e450477d
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc
+, faacSupport ? false, faac ? null
+, faad2, libass, libkate, libmms
+, libmodplug, mpeg2dec, mpg123 
+, openjpeg, libopus, librsvg
+, wildmidi, fluidsynth, libvdpau, wayland
+, libwebp, xvidcore, gnutls
+}:
+
+assert faacSupport -> faac != null;
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-bad-1.4.0";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer Bad Plugins";
+    homepage    = "http://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that aren't up to par compared to the
+      rest.  They might be close to being good quality, but they're missing
+      something - be it a good code review, some documentation, a set of tests,
+      a real live maintainer, or some actual wide use.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
+    sha256 = "1y821785rvr6s79cmdll66hg6h740qa2n036xid20nvjyxabfb7z";
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc
+    faad2 libass libkate libmms
+    libmodplug mpeg2dec mpg123 
+    openjpeg libopus librsvg
+    wildmidi fluidsynth libvdpau wayland
+    libwebp xvidcore gnutls
+  ] ++ stdenv.lib.optional faacSupport faac;
+}
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
new file mode 100644
index 00000000000..9ae5f194fa2
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, python, gstreamer, gobjectIntrospection
+, orc, alsaLib, libXv, pango, libtheora
+, cdparanoia, libvisual
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-base-1.4.0";
+
+  meta = {
+    description = "Base plugins and helper libraries";
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
+    sha256 = "07jcs08hjyban0amls5s0g6i4a1hwiir1llwpqzlwkmnhfwx9bjx";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig python gobjectIntrospection
+  ];
+
+  buildInputs = [
+    orc alsaLib libXv pango libtheora
+    cdparanoia libvisual
+  ];
+
+  propagatedBuildInputs = [ gstreamer ];
+
+  enableParallelBuilding = true;
+}
+
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
new file mode 100644
index 00000000000..a99c0f14ecc
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
+, glib 
+}:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-1.4.0";
+
+  meta = {
+    description = "Open source multimedia framework";
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
+    sha256 = "15f68pn2b47x543ih7hj59czgzl4af14j15bgjq8ky145gf9zhr3";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig perl bison flex python gobjectIntrospection
+  ];
+
+  propagatedBuildInputs = [ glib ];
+
+  setupHook = ./setup-hook.sh;
+}
diff --git a/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/pkgs/development/libraries/gstreamer/core/setup-hook.sh
new file mode 100644
index 00000000000..04863ab3b61
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/core/setup-hook.sh
@@ -0,0 +1,9 @@
+addGstreamer1LibPath () {
+    if test -d "$1/lib/gstreamer-1.0"
+    then
+        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
+    fi
+}
+
+envHooks=(${envHooks[@]} addGstreamer1LibPath)
+
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
new file mode 100644
index 00000000000..4796ce078df
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -0,0 +1,21 @@
+{ callPackage }:
+
+rec {
+  gstreamer = callPackage ./core { };
+
+  gst-plugins-base = callPackage ./base { inherit gstreamer; };
+
+  gst-plugins-good = callPackage ./good { inherit gst-plugins-base; };
+
+  gst-plugins-bad = callPackage ./bad { inherit gst-plugins-base; };
+
+  gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base; };
+
+  gst-libav = callPackage ./libav { inherit gst-plugins-base; };
+
+  gst-python = callPackage ./python { inherit gst-plugins-base gstreamer; };
+
+  gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; };
+
+  gst-editing-services = callPackage ./ges { inherit gnonlin; };
+}
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
new file mode 100644
index 00000000000..daf2ba59a40
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, python, gobjectIntrospection
+, gnonlin, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-editing-services-1.2.1";
+
+  meta = with stdenv.lib; {
+    description = "Library for creation of audio/video non-linear editors";
+    homepage    = "http://gstreamer.freedesktop.org";
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
+    sha256 = "1c20zg272wgzqw4f93f1prkv9a9gdqxmf3kal29l0r2wmwhqnxpy";
+  };
+
+  nativeBuildInputs = [ pkgconfig python gobjectIntrospection ];
+
+  propagatedBuildInputs = [ gnonlin libxml2 ];
+}
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index ca386b15f0e..44bb1c48c81 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -1,21 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, gst_plugins_base, gstreamer }:
+{ stdenv, fetchurl, pkgconfig
+, gst-plugins-base
+}:
 
 stdenv.mkDerivation rec {
-  name = "gnonlin-0.10.15";
+  name = "gnonlin-1.2.1";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer Non-Linear Multimedia Editing Plugins";
+    homepage    = "http://gstreamer.freedesktop.org";
+    longDescription = ''
+      Gnonlin is a library built on top of GStreamer which provides 
+      support for writing non-linear audio and video editing
+      applications. It introduces the concept of a timeline.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
 
   src = fetchurl {
-    urls = [
-      "http://gstreamer.freedesktop.org/src/gnonlin/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "1yz0i3vzpadz5axwdb310bypl4rm1xy2n6mgajja0w2z6afnrfv0";
+    url = "${meta.homepage}/src/gnonlin/${name}.tar.xz";
+    sha256 = "14zb3bz3xn40a2kns719amrr77cp6wyxddml621kyxc424ihcw3q";
   };
 
-  buildInputs = [ gst_plugins_base gstreamer pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
-    homepage = "http://gstreamer.freedesktop.org/modules/gnonlin.html";
-    description = "http://gstreamer.freedesktop.org/modules/gnonlin.html";
-    license = "GPLv2+";
-  };
+  propagatedBuildInputs = [ gst-plugins-base ];
 }
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
new file mode 100644
index 00000000000..69ffa81cb25
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, pkgconfig, python
+, gst-plugins-base, orc, bzip2
+, libv4l, libdv, libavc1394, libiec61883
+, libvpx, speex, flac, taglib
+, cairo, gdk_pixbuf, aalib, libcaca
+, libsoup, pulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-good-1.4.0";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer Good Plugins";
+    homepage    = "http://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that we consider to have good quality code,
+      correct functionality, our preferred license (LGPL for the plug-in
+      code, LGPL or LGPL-compatible for the supporting library).
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
+    sha256 = "11965w4zr0jvrsnw33rbcc8d20dlh368rz0x16d2iypzhxwjx9j8";
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc bzip2
+    libv4l libdv libavc1394 libiec61883
+    libvpx speex flac taglib
+    cairo gdk_pixbuf aalib libcaca
+    libsoup pulseaudio
+  ];
+}
diff --git a/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix
deleted file mode 100644
index e7aaaa46a96..00000000000
--- a/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gst_plugins_base, bzip2, yasm
-, useInternalFfmpeg ? false, ffmpeg ? null }:
-
-stdenv.mkDerivation rec {
-  name = "gst-ffmpeg-0.10.12";
-
-  src = fetchurl {
-    urls = [
-      "http://gstreamer.freedesktop.org/src/gst-ffmpeg/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "0fyppl8q18g71jd2r0mbiqk8hhrdxq43dglma06mxyjb5c80fxxi";
-  };
-
-  # Upstream strongly recommends against using --with-system-ffmpeg,
-  # but we do it anyway because we're so hardcore (and we don't want
-  # multiple copies of ffmpeg).
-  configureFlags = stdenv.lib.optionalString (!useInternalFfmpeg) "--with-system-ffmpeg";
-
-  buildInputs =
-    [ pkgconfig bzip2 gst_plugins_base ]
-    ++ (if useInternalFfmpeg then [ yasm ] else [ ffmpeg ]);
-
-  meta = {
-    homepage = "http://gstreamer.freedesktop.org/releases/gst-ffmpeg";
-    description = "GStreamer's plug-in using FFmpeg";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-bad/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-bad/default.nix
deleted file mode 100644
index 2d1309f3a3c..00000000000
--- a/pkgs/development/libraries/gstreamer/gst-plugins-bad/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst_plugins_base
-, libdvdnav, libdvdread }:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-0.10.22";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-bad/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "030728gf0zjg62yng4qy9yapaffbvkziawa28rk0gspz8cpi1xyq";
-  };
-
-  buildInputs =
-    [ pkgconfig glib gstreamer gst_plugins_base libdvdnav libdvdread ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://gstreamer.freedesktop.org;
-
-    description = "‘Bad’ (potentially low quality) plug-ins for GStreamer";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
deleted file mode 100644
index d6717d799f1..00000000000
--- a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ 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
-}:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-base-0.10.36";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"
-      "mirror://gentoo/distfiles/${name}.tar.xz"
-      ];
-    sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
-  };
-
-  patchPhase = ''
-    sed -i 's@/bin/echo@echo@g' configure
-    sed -i -e 's/^   /\t/' docs/{libs,plugins}/Makefile.in
-  '';
-
-  # TODO : v4l, libvisual
-  buildInputs =
-    [ pkgconfig glib cairo ]
-    # can't build alsaLib on darwin
-    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
-    ++ stdenv.lib.optionals (!minimalDeps)
-      [ xlibs.xlibs xlibs.libXv libogg libtheora libvorbis freetype pango
-        liboil ]
-    # can't build cdparanoia on darwin
-    ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
-    ++ libintlOrEmpty;
-
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
-  propagatedBuildInputs = [ gstreamer ];
- 
-  postInstall = "rm -rf $out/share/gtk-doc";
-  
-  meta = with stdenv.lib; {
-    homepage    = http://gstreamer.freedesktop.org;
-    description = "Base plug-ins for GStreamer";
-    license     = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
-  };
-}
-
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix
deleted file mode 100644
index 85468b309c5..00000000000
--- a/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gst_plugins_base, aalib, cairo
-, flac, libjpeg, zlib, speex, libpng, libdv, libcaca
-, libiec61883, libavc1394, taglib, pulseaudio
-, glib, gstreamer, bzip2
-}:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-good-0.10.31";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-good/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "1ijswgcrdp243mfsyza31fpzq6plz40p4b83vkr2x4x7807889vy";
-  };
-
-  patches = [ ./v4l.patch ];
-
-  configureFlags = "--disable-oss";
-
-  buildInputs =
-    [ pkgconfig glib gstreamer gst_plugins_base libavc1394 libiec61883
-      aalib libcaca cairo libdv flac libjpeg libpng pulseaudio speex
-      taglib bzip2
-    ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://gstreamer.freedesktop.org;
-
-    description = "`Good' plug-ins for GStreamer";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-ugly/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-ugly/default.nix
deleted file mode 100644
index b85fb983880..00000000000
--- a/pkgs/development/libraries/gstreamer/gst-plugins-ugly/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst_plugins_base
-, libmad, libdvdread, libmpeg2, libcdio, a52dec }:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-0.10.18";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "054fdkb2riy5knda39cp6w3xp9lzax52bn12cklglscjrm46ghgr";
-  };
-
-  buildInputs =
-    [ pkgconfig glib gstreamer gst_plugins_base libmad libdvdread a52dec ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://gstreamer.freedesktop.org;
-
-    description = "‘Ugly’ (potentially patent-encumbered) plug-ins for GStreamer";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/development/libraries/gstreamer/gst-python/default.nix b/pkgs/development/libraries/gstreamer/gst-python/default.nix
deleted file mode 100644
index fedb44068eb..00000000000
--- a/pkgs/development/libraries/gstreamer/gst-python/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, python, gstreamer
-  , gst_plugins_base, pygtk
-}:
-
-stdenv.mkDerivation rec {
-  name = "gst-python-0.10.19";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-python/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "956f81a8c15daa3f17e688a0dc5a5d18a3118141066952d3b201a6ac0c52b415";
-  };
-
-  buildInputs =
-    [ pkgconfig gst_plugins_base pygtk ]
-    ;
-
-  propagatedBuildInputs = [ gstreamer python ];
- 
-  meta = {
-    homepage = http://gstreamer.freedesktop.org;
-
-    description = "Python bindings for GStreamer";
-
-    license = "LGPLv2+";
-  };
-}
-
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
deleted file mode 100644
index 392e8e31f43..00000000000
--- a/pkgs/development/libraries/gstreamer/gstreamer/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintlOrEmpty }:
-
-stdenv.mkDerivation rec {
-  name = "gstreamer-0.10.36";
-
-  src = fetchurl {
-    urls =
-      [ "${meta.homepage}/src/gstreamer/${name}.tar.xz"
-        "mirror://gentoo/distfiles/${name}.tar.xz"
-      ];
-    sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
-  };
-
-  buildInputs = [ perl bison flex pkgconfig ];
-  propagatedBuildInputs = [ glib libxml2 ] ++ libintlOrEmpty;
-
-  patchPhase = ''
-    sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
-  '';
-
-  configureFlags = ''
-    --disable-examples --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
-  '';
-
-  # Hm, apparently --disable-gtk-doc is ignored...
-  postInstall = "rm -rf $out/share/gtk-doc";
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = http://gstreamer.freedesktop.org;
-
-    description = "GStreamer, a library for constructing graphs of media-handling components";
-
-    longDescription = ''
-      GStreamer is a library for constructing graphs of media-handling
-      components.  The applications it supports range from simple
-      Ogg/Vorbis playback, audio/video streaming to complex audio
-      (mixing) and video (non-linear editing) processing.
-
-      Applications can take advantage of advances in codec and filter
-      technology transparently.  Developers can add new codecs and
-      filters by writing a simple plugin with a clean, generic
-      interface.
-    '';
-
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/setup-hook.sh b/pkgs/development/libraries/gstreamer/gstreamer/setup-hook.sh
deleted file mode 100644
index ad184dc21e9..00000000000
--- a/pkgs/development/libraries/gstreamer/gstreamer/setup-hook.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-addGstreamerLibPath () {
-    if test -d "$1/lib/gstreamer-0.10"
-    then
-        export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}${GST_PLUGIN_PATH:+:}$1/lib/gstreamer-0.10"
-    fi
-}
-
-envHooks=(${envHooks[@]} addGstreamerLibPath)
diff --git a/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
new file mode 100644
index 00000000000..ff26e727e9f
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, gst_plugins_base, gstreamer }:
+
+stdenv.mkDerivation rec {
+  name = "gnonlin-0.10.17";
+
+  src = fetchurl {
+    urls = [
+      "http://gstreamer.freedesktop.org/src/gnonlin/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "0dc9kvr6i7sh91cyhzlbx2bchwg84rfa4679ccppzjf0y65dv8p4";
+  };
+
+  buildInputs = [ gst_plugins_base gstreamer pkgconfig ];
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org/modules/gnonlin.html";
+    description = "http://gstreamer.freedesktop.org/modules/gnonlin.html";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
new file mode 100644
index 00000000000..89b6e73e6b6
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, pkgconfig, gst_plugins_base, bzip2, yasm, orc
+, useInternalFfmpeg ? false, ffmpeg ? null }:
+
+stdenv.mkDerivation rec {
+  name = "gst-ffmpeg-0.10.13";
+
+  src = fetchurl {
+    urls = [
+      "http://gstreamer.freedesktop.org/src/gst-ffmpeg/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "0qmvgwcfybci78sd73mhvm4bsb7l0xsk9yljrgik80g011ds1z3n";
+  };
+
+  # Upstream strongly recommends against using --with-system-ffmpeg,
+  # but we do it anyway because we're so hardcore (and we don't want
+  # multiple copies of ffmpeg).
+  configureFlags = stdenv.lib.optionalString (!useInternalFfmpeg) "--with-system-ffmpeg";
+
+  buildInputs =
+    [ pkgconfig bzip2 gst_plugins_base orc ]
+    ++ (if useInternalFfmpeg then [ yasm ] else [ ffmpeg ]);
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org/releases/gst-ffmpeg";
+    description = "GStreamer's plug-in using FFmpeg";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
new file mode 100644
index 00000000000..988d1bba258
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst_plugins_base
+, libdvdnav, libdvdread, orc }:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-bad-0.10.23";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-bad/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "148lw51dm6pgw8vc6v0fpvm7p233wr11nspdzmvq7bjp2cd7vbhf";
+  };
+
+  buildInputs =
+    [ pkgconfig glib gstreamer gst_plugins_base libdvdnav libdvdread orc ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://gstreamer.freedesktop.org;
+
+    description = "‘Bad’ (potentially low quality) plug-ins for GStreamer";
+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
new file mode 100644
index 00000000000..59ee86da86d
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -0,0 +1,51 @@
+{ fetchurl, stdenv, pkgconfig, python, gstreamer, xlibs, alsaLib, cdparanoia
+, libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
+, libintlOrEmpty
+, # Whether to build no plugins that have external dependencies
+  # (except the ALSA plugin).
+  minimalDeps ? false
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-base-0.10.36";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"
+      "mirror://gentoo/distfiles/${name}.tar.xz"
+      ];
+    sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
+  };
+
+  patchPhase = ''
+
+    sed -i 's@/bin/echo@echo@g' configure
+    sed -i -e 's/^   /\t/' docs/{libs,plugins}/Makefile.in
+  '';
+
+  # TODO : v4l, libvisual
+  buildInputs =
+    [ pkgconfig glib cairo orc ]
+    # can't build alsaLib on darwin
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
+    ++ stdenv.lib.optionals (!minimalDeps)
+      [ xlibs.xlibs xlibs.libXv libogg libtheora libvorbis freetype pango
+        liboil ]
+    # can't build cdparanoia on darwin
+    ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
+    ++ libintlOrEmpty;
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  propagatedBuildInputs = [ gstreamer ];
+
+  postInstall = "rm -rf $out/share/gtk-doc";
+
+  meta = with stdenv.lib; {
+    homepage    = http://gstreamer.freedesktop.org;
+    description = "Base plug-ins for GStreamer";
+    license     = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
new file mode 100644
index 00000000000..a0cd0a4c646
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, stdenv, pkgconfig, gst_plugins_base, aalib, cairo
+, flac, libjpeg, zlib, speex, libpng, libdv, libcaca, libvpx
+, libiec61883, libavc1394, taglib, pulseaudio, gdk_pixbuf, orc
+, glib, gstreamer, bzip2
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-good-0.10.31";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-good/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "1ijswgcrdp243mfsyza31fpzq6plz40p4b83vkr2x4x7807889vy";
+  };
+
+  patches = [ ./v4l.patch ];
+
+  configureFlags = "--disable-oss";
+
+  buildInputs =
+    [ pkgconfig glib gstreamer gst_plugins_base libavc1394 libiec61883
+      aalib libcaca cairo libdv flac libjpeg libpng pulseaudio speex
+      taglib bzip2 libvpx gdk_pixbuf orc
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://gstreamer.freedesktop.org;
+
+    description = "`Good' plug-ins for GStreamer";
+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-good/v4l.patch b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
index 22cff574134..22cff574134 100644
--- a/pkgs/development/libraries/gstreamer/gst-plugins-good/v4l.patch
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
new file mode 100644
index 00000000000..e4411fcefbb
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst_plugins_base
+, libmad, libdvdread, libmpeg2, libcdio, a52dec, x264, orc }:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-ugly-0.10.19";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "1w4d5iz9ffvh43l261zdp997i6s2iwd61lflf755s3sw4xch1a8w";
+  };
+
+  buildInputs =
+    [ pkgconfig glib gstreamer gst_plugins_base libmad libdvdread a52dec x264 orc ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://gstreamer.freedesktop.org;
+
+    description = "‘Ugly’ (potentially patent-encumbered) plug-ins for GStreamer";
+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
new file mode 100644
index 00000000000..d01961f5cde
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, pkgconfig, python, gstreamer
+  , gst_plugins_base, pygtk
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-python-0.10.22";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-python/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "0y1i4n5m1diljqr9dsq12anwazrhbs70jziich47gkdwllcza9lg";
+  };
+
+  buildInputs =
+    [ pkgconfig gst_plugins_base pygtk ]
+    ;
+
+  propagatedBuildInputs = [ gstreamer python ];
+ 
+  meta = {
+    homepage = http://gstreamer.freedesktop.org;
+
+    description = "Python bindings for GStreamer";
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
new file mode 100644
index 00000000000..f781c624cea
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
@@ -0,0 +1,53 @@
+{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintlOrEmpty }:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-0.10.36";
+
+  src = fetchurl {
+    urls =
+      [ "${meta.homepage}/src/gstreamer/${name}.tar.xz"
+        "mirror://gentoo/distfiles/${name}.tar.xz"
+      ];
+    sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
+  };
+
+  buildInputs = [ perl bison flex pkgconfig ];
+  propagatedBuildInputs = [ glib libxml2 ] ++ libintlOrEmpty;
+
+  patchPhase = ''
+    sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
+  '';
+
+  configureFlags = ''
+    --disable-examples --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
+  '';
+
+  postInstall = ''
+    # Hm, apparently --disable-gtk-doc is ignored...
+    rm -rf $out/share/gtk-doc
+
+    paxmark m $out/bin/gst-launch* $out/libexec/gstreamer-*/gst-plugin-scanner
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    homepage = http://gstreamer.freedesktop.org;
+
+    description = "GStreamer, a library for constructing graphs of media-handling components";
+
+    longDescription = ''
+      GStreamer is a library for constructing graphs of media-handling
+      components.  The applications it supports range from simple
+      Ogg/Vorbis playback, audio/video streaming to complex audio
+      (mixing) and video (non-linear editing) processing.
+
+      Applications can take advantage of advances in codec and filter
+      technology transparently.  Developers can add new codecs and
+      filters by writing a simple plugin with a clean, generic
+      interface.
+    '';
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
new file mode 100644
index 00000000000..10671f9d227
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
@@ -0,0 +1,8 @@
+addGstreamerLibPath () {
+    if test -d "$1/lib/gstreamer-0.10"
+    then
+        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
+    fi
+}
+
+envHooks=(${envHooks[@]} addGstreamerLibPath)
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
new file mode 100644
index 00000000000..97a4638170f
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, glibmm, gstreamer, gst_plugins_base, libsigcxx, libxmlxx, pkgconfig }:
+
+let
+  ver_maj = "0.10";
+  ver_min = "11";
+in
+stdenv.mkDerivation rec {
+  name = "gstreamermm-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/gstreamermm-${ver_maj}.${ver_min}.tar.xz";
+    sha256 = "12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6";
+  };
+ 
+  doCheck = false; # Tests require pulseaudio in /homeless-shelter
+
+  propagatedBuildInputs = [
+    glibmm gstreamer gst_plugins_base libsigcxx libxmlxx
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "C++ bindings for the GStreamer streaming multimedia library";
+    homepage = http://www.gtkmm.org/;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    maintainers = "Philip Lykke Carlsen <plcplc@gmail.com>";
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch
index c48eec68a64..c48eec68a64 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch
+++ b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch
diff --git a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
new file mode 100644
index 00000000000..c0cab607062
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, gstreamer, gst_plugins_base, boost, glib, qt4, cmake
+, automoc4, flex, bison, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-0.10.3";
+  pname = "qt-gstreamer";
+
+  src = fetchurl {
+    url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2";
+    sha256 = "1pqg9sxzk8sdrf7pazb5v21hasqai9i4l203gbdqz29w2ll1ybsl";
+  };
+
+  buildInputs = [ gstreamer gst_plugins_base glib qt4 ];
+  propagatedBuildInputs = [ boost ];
+  nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
+
+  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
+
+  patches = [ ./boost1.48.patch ];
+}
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
new file mode 100644
index 00000000000..ee4b3c392dd
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, python, yasm
+, gst-plugins-base, orc, bzip2
+, withSystemLibav ? true, libav ? null
+}:
+
+assert withSystemLibav -> libav != null;
+
+stdenv.mkDerivation rec {
+  name = "gst-libav-1.4.0";
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
+    sha256 = "1073p7xdpr3pwyx37fnldfni908apnq3k9fbqmxf5wk3g1jplb68";
+  };
+
+  configureFlags = stdenv.lib.optionalString withSystemLibav
+    "--with-system-libav";
+
+  nativeBuildInputs = with stdenv.lib;
+    [ pkgconfig python ]
+    ++ optional (!withSystemLibav) yasm
+    ;
+
+  buildInputs = with stdenv.lib;
+    [ gst-plugins-base orc bzip2 ]
+    ++ optional withSystemLibav libav
+    ;
+}
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
new file mode 100644
index 00000000000..fad8308703b
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -0,0 +1,35 @@
+{ fetchurl, stdenv, pkgconfig, python, gstreamer
+  , gst-plugins-base, pygtk, pygobject3
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-python-1.2.1";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-python/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "1m7gh017f70i5pg6k9sx54ihwaizvi2dlli687gi44n5zylya8w8";
+  };
+
+  patches = [ ./different-path-with-pygobject.patch ];
+
+  buildInputs =
+    [ pkgconfig gst-plugins-base pygtk pygobject3 ]
+    ;
+
+  preConfigure = ''
+    export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.libPrefix}/site-packages/gi/overrides"
+  '';
+
+  propagatedBuildInputs = [ gstreamer python ];
+
+  meta = {
+    homepage = http://gstreamer.freedesktop.org;
+
+    description = "Python bindings for GStreamer";
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch b/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch
new file mode 100644
index 00000000000..7326b3630f7
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch
@@ -0,0 +1,20 @@
+diff -Nru gst-python-1.2.0-orig/gi/overrides/Makefile.in gst-python-1.2.0/gi/overrides/Makefile.in
+--- gst-python-1.2.0-orig/gi/overrides/Makefile.in	2014-03-22 21:47:56.235364405 +0800
++++ gst-python-1.2.0/gi/overrides/Makefile.in	2014-03-22 21:48:28.737958066 +0800
+@@ -356,7 +356,7 @@
+ 
+ # We install everything in the gi/overrides folder
+ pygioverridesdir = $(PYGI_OVERRIDES_DIR)
+-pygioverrides_PYTHON = Gst.py GstPbutils.py
++pygioverrides_PYTHON = Gst.py GstPbutils.py __init__.py
+ pygioverridesexecdir = $(PYGI_OVERRIDES_DIR)
+ EXTRA_DIST = Gst.py
+ INCLUDES = $(PYTHON_INCLUDES)
+diff -Nru gst-python-1.2.0-orig/gi/overrides/__init__.py gst-python-1.2.0/gi/overrides/__init__.py
+--- gst-python-1.2.0-orig/gi/overrides/__init__.py	1970-01-01 08:00:00.000000000 +0800
++++ gst-python-1.2.0/gi/overrides/__init__.py	2014-03-22 21:48:15.442124287 +0800
+@@ -0,0 +1,4 @@
++from pkgutil import extend_path
++
++__path__ = extend_path(__path__, __name__)
++print(__path__, __name__)
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
deleted file mode 100644
index c3510a69a12..00000000000
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, gstreamer, gst_plugins_base, boost, glib, qt4, cmake
-, automoc4, flex, bison, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "${pname}-0.10.2";
-  pname = "qt-gstreamer";
-
-  src = fetchurl {
-    url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2";
-    sha256 = "1laryg5vgc3prdi7dmpfwa71nsrc3ngv27sgax44c4qfrgpsgwbf";
-  };
-
-  buildInputs = [ gstreamer gst_plugins_base glib qt4 ];
-  propagatedBuildInputs = [ boost ];
-  nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
-
-  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
-
-  patches = [ ./boost1.48.patch ];
-}
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
new file mode 100644
index 00000000000..da37280af99
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, python
+, gst-plugins-base, orc
+, a52dec, libcdio, libdvdread
+, lame, libmad, libmpeg2, x264
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-ugly-1.4.0";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer Ugly Plugins";
+    homepage    = "http://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that have good quality and correct functionality,
+      but distributing them might pose problems.  The license on either
+      the plug-ins or the supporting libraries might not be how we'd
+      like. The code might be widely known to present patent problems.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
+    sha256 = "0kblc5f4n0mh2sw8dhf7c9dg3wzm7a0p7pqpcff7n6ixy5hbn52k";
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc
+    a52dec libcdio libdvdread
+    lame libmad libmpeg2 x264
+  ];
+}
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
new file mode 100644
index 00000000000..a59e3d07cb4
--- /dev/null
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, unzip, cmake}:
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  name = "gtest-${version}";
+
+  src = fetchurl {
+    url = "https://googletest.googlecode.com/files/${name}.zip";
+    sha256="03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
+  };
+
+  buildInputs = [ unzip cmake ];
+
+  configurePhase = ''
+    mkdir build
+    cd build
+    cmake ../ -DCMAKE_INSTALL_PREFIX=$out
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v libgtest.a libgtest_main.a $out/lib
+    cp -v -r ../include $out
+    cp -v -r ../src $out
+  '';
+
+  meta = {
+    description = "Google test: Google's framework for writing C++ tests.";
+    homepage = https://code.google.com/p/googletest/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
+
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index da2bc2fdf8f..6106c786590 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.24.20";
+  name = "gtk+-2.24.24";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-    sha256 = "18qdvb7nxi25hfnpmcy01p3majw9jnx83ikm263dk9rrjazvqrnc";
+    sha256 = "0v9xxpkypizy9k866rvqc36zvj4kj9p8nd1nxf9znay8k3hv5khj";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
@@ -25,14 +25,17 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = with xlibs; with stdenv.lib;
     [ glib cairo pango gdk_pixbuf atk ]
-    ++ optionals stdenv.isLinux
-      [ libXrandr libXrender libXcomposite libXi libXcursor ]
-    ++ optional stdenv.isDarwin x11
+    ++ optionals (stdenv.isLinux || stdenv.isDarwin) [
+         libXrandr libXrender libXcomposite libXi libXcursor
+       ]
+    ++ optionals stdenv.isDarwin [ x11 libXdamage ]
     ++ libintlOrEmpty
     ++ optional xineramaSupport libXinerama
     ++ optionals cupsSupport [ cups ];
 
-  configureFlags = "--with-xinput=yes";
+  configureFlags = if stdenv.isDarwin
+    then "--disable-glibtest --disable-introspection --disable-visibility"
+    else "--with-xinput=yes";
 
   meta = with stdenv.lib; {
     description = "A multi-platform toolkit for creating graphical user interfaces";
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 76424d79d7a..09221502e36 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, gettext
-, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, xlibs, x11, gobjectIntrospection
+{ stdenv, fetchurl, pkgconfig, gettext, perl
+, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, gobjectIntrospection
+, xlibs, x11, wayland, libxkbcommon
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
 }:
@@ -7,23 +8,33 @@
 assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
+let
+  ver_maj = "3.12";
+  ver_min = "2";
+  version = "${ver_maj}.${ver_min}";
+in
 stdenv.mkDerivation rec {
-  name = "gtk+-3.8.4";
+  name = "gtk+3-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk+/3.8/${name}.tar.xz";
-    sha256 = "1qlj0qdhkp8j5xiris4l4xnx47g4pbk4qnj3nf8rwa82fwb610xh";
+    url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
+    sha256 = "1l45nd7ln2pnrf99vdki3l7an5wrzkbak11hnnj1w6r3fkm4xmv1";
   };
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
 
-  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection ];
+  buildInputs = [ libxkbcommon ];
   propagatedBuildInputs = with xlibs; with stdenv.lib;
     [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk ]
-    ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor ]
+    ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor wayland ]
     ++ optional stdenv.isDarwin x11
-    ++ stdenv.lib.optional xineramaSupport libXinerama
-    ++ stdenv.lib.optionals cupsSupport [ cups ];
+    ++ optional xineramaSupport libXinerama
+    ++ optional cupsSupport cups;
+
+  # demos fail to install, no idea where's the problem
+  preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in";
+
+  enableParallelBuilding = true;
 
   postInstall = "rm -rf $out/share/gtk-doc";
 
@@ -43,7 +54,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gtk.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ urkud raskin vcunat];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gtk-sharp-1/default.nix b/pkgs/development/libraries/gtk-sharp-1/default.nix
index aad440bf672..863ee6c038d 100644
--- a/pkgs/development/libraries/gtk-sharp-1/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-1/default.nix
@@ -23,7 +23,10 @@ stdenv.mkDerivation {
     md5 = "2651d14fe77174ab20b8af53d150ee11";
   };
 
-  patches = [ ./dllmap-glue.patch ];
+  patches = [
+    ./dllmap-glue.patch
+    ./glib-include.patch
+  ];
 
   buildInputs = [
     pkgconfig mono glib pango gtk GConf libglade libgnomecanvas
diff --git a/pkgs/development/libraries/gtk-sharp-1/glib-include.patch b/pkgs/development/libraries/gtk-sharp-1/glib-include.patch
new file mode 100644
index 00000000000..e8f4b0ef5af
--- /dev/null
+++ b/pkgs/development/libraries/gtk-sharp-1/glib-include.patch
@@ -0,0 +1,24 @@
+diff -ru gtk-sharp-1.0.6.orig/glib/glue/list.c gtk-sharp-1.0.6/glib/glue/list.c
+--- gtk-sharp-1.0.6.orig/glib/glue/list.c	2014-01-09 10:58:06.727352451 +0000
++++ gtk-sharp-1.0.6/glib/glue/list.c	2014-01-09 11:00:34.256583614 +0000
+@@ -20,7 +20,7 @@
+  */
+ 
+ 
+-#include <glib/glist.h>
++#include <glib.h>
+ 
+ /* Forward declarations */
+ gpointer gtksharp_list_get_data (GList *l);
+diff -ru gtk-sharp-1.0.6.orig/glib/glue/slist.c gtk-sharp-1.0.6/glib/glue/slist.c
+--- gtk-sharp-1.0.6.orig/glib/glue/slist.c	2014-01-09 10:58:06.727352451 +0000
++++ gtk-sharp-1.0.6/glib/glue/slist.c	2014-01-09 11:00:47.572695223 +0000
+@@ -20,7 +20,7 @@
+  */
+ 
+ 
+-#include <glib/gslist.h>
++#include <glib.h>
+ 
+ /* Forward declarations */
+ gpointer gtksharp_slist_get_data (GSList *l);
diff --git a/pkgs/development/libraries/gtkdatabox/default.nix b/pkgs/development/libraries/gtkdatabox/default.nix
index 43d0db9755a..69a0341a695 100644
--- a/pkgs/development/libraries/gtkdatabox/default.nix
+++ b/pkgs/development/libraries/gtkdatabox/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Gtk+ widget for displaying large amounts of numerical data";
 
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/gtkimageview/default.nix b/pkgs/development/libraries/gtkimageview/default.nix
index 17dc5469910..6905adcd71e 100644
--- a/pkgs/development/libraries/gtkimageview/default.nix
+++ b/pkgs/development/libraries/gtkimageview/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
          interpolation; GIF animation support.
        '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/gtkmathview/default.nix b/pkgs/development/libraries/gtkmathview/default.nix
index eaccf2fb08b..2620d9cc120 100644
--- a/pkgs/development/libraries/gtkmathview/default.nix
+++ b/pkgs/development/libraries/gtkmathview/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://helm.cs.unibo.it/mml-widget/;
     description = "GtkMathView is a C++ rendering engine for MathML documents";
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix
index ec7f01a8be5..727e4b2185c 100644
--- a/pkgs/development/libraries/gtkmm/2.x.nix
+++ b/pkgs/development/libraries/gtkmm/2.x.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchurl_gnome, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }:
+{ stdenv, fetchurlGnome, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "gtkmm";
-    major = "2"; minor = "24"; patchlevel = "2"; extension = "xz";
-    sha256 = "0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369";
+    major = "2"; minor = "24"; patchlevel = "4"; extension = "xz";
+    sha256 = "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4";
   };
 
   nativeBuildInputs = [pkgconfig];
 
   propagatedBuildInputs = [ glibmm gtk atkmm cairomm pangomm ];
 
+  doCheck = true;
+
   meta = {
     description = "C++ interface to the GTK+ graphical user interface library";
 
@@ -28,9 +30,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://gtkmm.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
-    maintainers = [stdenv.lib.maintainers.raskin];
+    maintainers = with stdenv.lib.maintainers; [ raskin vcunat ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 5c4a13fe507..47057b819e0 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -1,17 +1,23 @@
 { stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }:
 
+let
+  ver_maj = "3.11"; # unstable version, but ATM no stable builds with gtk-3.12 and this is the version used in GNOME-3.12 "stable"
+  ver_min = "9";
+in
 stdenv.mkDerivation rec {
-  name = "gtkmm-3.7.12"; # gnome 3.8 release; stable 3.6 has problems with our new glibc
+  name = "gtkmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtkmm/3.7/${name}.tar.xz";
-    sha256 = "05nrilm34gid7kqlq09hcdd7942prn2vbr1qgqvdhgy4x8pvz9p9";
+    url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
+    sha256 = "04yji82prijlwpd3blx0am1ikjy7y7ih7jd628dywdjbbfq42920";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ];
 
+  doCheck = true;
+
   meta = {
     description = "C++ interface to the GTK+ graphical user interface library";
 
@@ -27,9 +33,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://gtkmm.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
+    maintainers = with stdenv.lib.maintainers; [ raskin urkud vcunat ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
new file mode 100644
index 00000000000..54023f29a07
--- /dev/null
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant, intltool}:
+
+stdenv.mkDerivation rec {
+  name = "gtkspell-${version}";
+  version = "3.0.4";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.gz";
+    sha256 = "19z48gfbraasrxai7qdkxxvky0kwifkkzqz0jqcskhcr1ikqxgzs";
+  };
+  
+  buildInputs = [ aspell pkgconfig gtk3 enchant intltool ];
+  propagatedBuildInputs = [ enchant ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
index 7eb519a045c..17ab80ce586 100644
--- a/pkgs/development/libraries/gts/default.nix
+++ b/pkgs/development/libraries/gts/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://gts.sourceforge.net/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     description = "GNU Triangulated Surface Library";
 
     longDescription = ''
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     '';
 
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix
new file mode 100644
index 00000000000..3cbb13972d3
--- /dev/null
+++ b/pkgs/development/libraries/gupnp-av/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, gupnp, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "gupnp-av-${version}";
+  majorVersion = "0.12";
+  version = "${majorVersion}.4";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gupnp-av/${majorVersion}/gupnp-av-${version}.tar.xz";
+    sha256 = "0nvsvpiyfslz54j4hjh2gsdjkbi2qj2f4k0aw8s7f05kibprr2jl";
+  };
+  
+  buildInputs = [ gupnp pkgconfig ];
+
+  meta = {
+    homepage = http://gupnp.org/;
+    description = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP.";
+    longDescription = "GUPnP implements the UPnP specification: resource announcement and discovery, description, control, event notification, and presentation (GUPnP includes basic web server functionality through libsoup). GUPnP does not include helpers for construction or control of specific standardized resources (e.g. MediaServer); this is left for higher level libraries utilizing the GUPnP framework.";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index c70d8fcb0c2..bae0639a61c 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, libxml2, gssdp, libsoup, libuuid }:
  
-stdenv.mkDerivation {
-  name = "gupnp-0.18.1";
-
+stdenv.mkDerivation rec {
+  name = "gupnp-${version}";
+  majorVersion = "0.20";
+  version = "${majorVersion}.9";
   src = fetchurl {
-    url = mirror://gnome/sources/gupnp/0.18/gupnp-0.18.1.tar.xz;
-    sha256 = "1bn98mw4zicg0a7a2xjr4j93ksnpwkhccii8y8zy08g7x2jg3dhk";
+    url = "mirror://gnome/sources/gupnp/${majorVersion}/gupnp-${version}.tar.xz";
+    sha256 = "0vicydn3f72x1rqql7857ans85mg7dfap7n7h8xrfyb9whxhlrb1";
   };
 
   propagatedBuildInputs = [ libxml2 libsoup gssdp ];
@@ -13,7 +14,16 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
 
+  postInstall = '' 
+    cp -r ${libsoup}/include/libsoup-2.4/libsoup $out/include
+    cp -r ${gssdp}/include/gssdp-1.0/libgssdp $out/include
+    cp -r ${libxml2}/include/libxml2/libxml $out/include
+    '';
+
   meta = {
     homepage = http://www.gupnp.org/;
+    description = "GUPnP is an implementation of the UPnP specification.";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gurobi/default.nix b/pkgs/development/libraries/gurobi/default.nix
deleted file mode 100644
index 4bdee56ae99..00000000000
--- a/pkgs/development/libraries/gurobi/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, requireFile }:
-
-stdenv.mkDerivation {
-  name = "gurobi-5.6.0";
-
-  src = requireFile {
-    name = "gurobi5.6.0_linux64.tar.gz";
-    sha256 = "1qwfjyx5y71x97gkndqnl9h4xc8hl48zwcwss7jagqfj3gxwvnky";
-    url = "http://www.gurobi.com/download/gurobi-optimizer";
-  };
-
-  installPhase = "mv linux64 $out";
-
-  fixupPhase = ''
-    interp=`cat $NIX_GCC/nix-support/dynamic-linker`
-    find $out/bin -type f -executable -exec patchelf --interpreter "$interp" --set-rpath $out/lib {} \;
-  '';
-
-  meta = {
-    description = "State-of-the-art mathematical programming solver";
-    homepage = http://www.gurobi.com/;
-    license = "unfree";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-  };
-}
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 067d3dc9383..3f20147d0e9 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -2,14 +2,18 @@
 , glib, dbus, udev, udisks2, libgcrypt
 , libgphoto2, avahi, libarchive, fuse, libcdio
 , libxml2, libxslt, docbook_xsl
-, lightWeight ? true, gnome, samba, makeWrapper }:
+, lightWeight ? true, gnome, samba, libgnome_keyring, gconf, makeWrapper }:
 
+let
+  ver_maj = "1.18";
+  version = "${ver_maj}.3";
+in
 stdenv.mkDerivation rec {
-  name = "gvfs-1.14.2";
+  name = "gvfs-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
-    sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3";
+    url = "mirror://gnome/sources/gvfs/${ver_maj}/${name}.tar.xz";
+    sha256 = "0b27vidnrwh6yb2ga9a1k9qlrz6lrzsaz2hcxqbc1igivhb9g0hx";
   };
 
   nativeBuildInputs = [ pkgconfig intltool libtool ];
@@ -27,8 +31,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # ToDo: one probably should specify schemas for samba and others here
-  fixupPhase = ''
-    wrapProgram $out/libexec/gvfsd --set GSETTINGS_SCHEMA_DIR "$out/share/glib-2.0/schemas"
+  preFixup = ''
+    wrapProgram $out/libexec/gvfsd --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/gwenhywfar/default.nix b/pkgs/development/libraries/gwenhywfar/default.nix
index 724524e2b26..b8ad3442729 100644
--- a/pkgs/development/libraries/gwenhywfar/default.nix
+++ b/pkgs/development/libraries/gwenhywfar/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl, qt4, gtk, pkgconfig, gnutls, libgcrypt }:
+{ stdenv, fetchurl, gnutls, gtk, libgcrypt, pkgconfig, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "gwenhywfar-4.3.1";
+  name = "gwenhywfar-4.10.0beta";
 
   src = fetchurl {
-    url = "http://www2.aquamaniac.de/sites/download/download.php?package=01&release=65&file=01&dummy=gwenhywfar-4.3.1.tar.gz";
+    url = "http://www2.aquamaniac.de/sites/download/download.php?package=01&release=73&file=01&dummy=gwenhywfar-4.10.0beta.tar.gz";
     name = "${name}.tar.gz";
-    sha256 = "1r8ayi1nwcdcs4mncd7zigl8pk707j7whb85klsyir4nif52fxrs";
+    sha256 = "1ihg2s263g540hl42y6g9wqcc4am70kv01yivsqfrpa9fnhbxm7f";
   };
 
   propagatedBuildInputs = [ gnutls libgcrypt ];
 
-  buildInputs = [ qt4 gtk ];
+  buildInputs = [ gtk qt4 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
   QTDIR = qt4;
+
+  meta = with stdenv.lib; {
+    description = "OS abstraction functions used by aqbanking and related tools";
+    homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=01&showall=1";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ goibhniu ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/development/libraries/hamlib/default.nix
new file mode 100644
index 00000000000..e0a6e23c972
--- /dev/null
+++ b/pkgs/development/libraries/hamlib/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, perl, python, swig, gd, libxml2, tcl, libusb, pkgconfig,
+ boost, libtool, perlPackages }:
+
+stdenv.mkDerivation rec {
+  pname = "hamlib";
+  version = "1.2.15.3";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
+    sha256 = "0ppp6fc2h9d8p30j2s9wlqd620kmnny4wd8fc3jxd6gxwi4lbjm2";
+  };
+
+  buildInputs = [ perl perlPackages.ExtUtilsMakeMaker python swig gd libxml2
+                  tcl libusb pkgconfig boost libtool ];
+
+  configureFlags = [ "--with-perl-binding" "--with-python-binding"
+                     "--with-tcl-binding" "--with-rigmatrix" ];
+
+  meta = {
+    description = "Runtime library to control radio transceivers and receivers";
+    longDescription = ''
+    Hamlib provides a standardized programming interface that applications
+    can use to send the appropriate commands to a radio.
+
+    Also included in the package is a simple radio control program 'rigctl',
+    which lets one control a radio transceiver or receiver, either from
+    command line interface or in a text-oriented interactive interface.
+    '';
+    license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
+    homepage = http://hamlib.sourceforge.net;
+    maintainers = with stdenv.lib.maintainers; [ relrod ];
+  };
+}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 1202ab5825d..8340660e392 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -1,25 +1,36 @@
-{ stdenv, fetchurl, pkgconfig, glib, freetype,
-  icu ? null, graphite2 ? null, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty
+, icu, graphite2
+, withIcu ? false # recommended by upstream as default, but most don't needed and it's big
+, withGraphite2 ? true # it is small and major distros do include it
+}:
+
+# TODO: split non-icu and icu lib into different outputs?
+# (icu is a ~30 MB dependency, the rest is very small in comparison)
 
 stdenv.mkDerivation rec {
-  name = "harfbuzz-0.9.12";
+  name = "harfbuzz-0.9.33";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
-    sha256 = "19cx5y2m20rp7z5j7mwqfb4ph2g8lrri69zim44x362y4w5gfly6";
+    sha256 = "1iql2ghlndqgx9q6p098xf253rjz5rnrv5qniwgd1b5q0jzwa4yk";
   };
 
-  buildInputs = [ pkgconfig glib freetype ]
+  configureFlags = [
+    ( "--with-graphite2=" + (if withGraphite2 then "yes" else "no") ) # not auto-detected by default
+    ( "--with-icu=" +       (if withIcu       then "yes" else "no") )
+  ];
+
+  buildInputs = [ pkgconfig glib freetype cairo ] # recommended by upstream
     ++ libintlOrEmpty;
   propagatedBuildInputs = []
-    ++ (stdenv.lib.optionals (icu != null) [icu])
-    ++ (stdenv.lib.optionals (graphite2 != null) [graphite2])
+    ++ stdenv.lib.optional withGraphite2 graphite2
+    ++ stdenv.lib.optional withIcu icu
     ;
 
   meta = {
     description = "An OpenType text shaping engine";
     homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/haskell/AC-Vector/default.nix b/pkgs/development/libraries/haskell/AC-Vector/default.nix
index bbcfd4a0c92..6693daef619 100644
--- a/pkgs/development/libraries/haskell/AC-Vector/default.nix
+++ b/pkgs/development/libraries/haskell/AC-Vector/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Efficient geometric vectors and transformations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/AES/default.nix b/pkgs/development/libraries/haskell/AES/default.nix
new file mode 100644
index 00000000000..263f2a5d582
--- /dev/null
+++ b/pkgs/development/libraries/haskell/AES/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, monadsTf, random, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "AES";
+  version = "0.2.9";
+  sha256 = "12n484dpjr08910ni1vvw030g9p37lz68l5lw0212rvklkva6wzc";
+  buildDepends = [ cereal monadsTf random transformers ];
+  meta = {
+    description = "Fast AES encryption/decryption for bytestrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
deleted file mode 100644
index 749802f95b2..00000000000
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, alex, binary, deepseq, filepath, geniplate, happy
-, hashable, hashtables, haskeline, haskellSrcExts, mtl, parallel
-, QuickCheck, text, time, unorderedContainers, xhtml, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "Agda";
-  version = "2.3.2.2";
-  sha256 = "0zr2rg2yvq6pqg69c6h7hqqpc5nj8prfhcvj5p2alkby0vs110qc";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    binary deepseq filepath geniplate hashable hashtables haskeline
-    haskellSrcExts mtl parallel QuickCheck text time
-    unorderedContainers xhtml zlib
-  ];
-  buildTools = [ alex happy ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://wiki.portal.chalmers.se/agda/";
-    description = "A dependently typed functional programming language and proof assistant";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/AspectAG/default.nix b/pkgs/development/libraries/haskell/AspectAG/default.nix
deleted file mode 100644
index 6cbd760b4ac..00000000000
--- a/pkgs/development/libraries/haskell/AspectAG/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, HList, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "AspectAG";
-  version = "0.3.6.1";
-  sha256 = "01pglvf38v5ii2w03kdlgngxbb3ih0j5bsilv5qwc9vrh2iwirhf";
-  buildDepends = [ HList mtl ];
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/AspectAG";
-    description = "Attribute Grammars in the form of an EDSL";
-    license = "LGPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/BlogLiterately/default.nix b/pkgs/development/libraries/haskell/BlogLiterately/default.nix
new file mode 100644
index 00000000000..5cb9fa07138
--- /dev/null
+++ b/pkgs/development/libraries/haskell/BlogLiterately/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, boolExtras, cmdargs, dataDefault, filepath
+, HaXml, haxr, highlightingKate, hscolour, lens, mtl, pandoc
+, pandocCiteproc, pandocTypes, parsec, split, strict, temporary
+, transformers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "BlogLiterately";
+  version = "0.7.1.7";
+  sha256 = "05i0v5mrmnxbmrqrm473z6hs9j4c2jv1l81i4kdmm2wia6p93s90";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeHtml boolExtras cmdargs dataDefault filepath HaXml haxr
+    highlightingKate hscolour lens mtl pandoc pandocCiteproc
+    pandocTypes parsec split strict temporary transformers utf8String
+  ];
+  meta = {
+    homepage = "http://byorgey.wordpress.com/blogliterately/";
+    description = "A tool for posting Haskelly articles to blogs";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
index bc8e9dca159..53eea4f738d 100644
--- a/pkgs/development/libraries/haskell/Boolean/default.nix
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -1,13 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "Boolean";
-  version = "0.2";
-  sha256 = "1r8qvsfbfjfp453pdy9ci9w584ad9bm4xv0ynx4b1yny34ag3zr3";
+  version = "0.2.1";
+  sha256 = "0vi09icwc254mbx85lf1n81mx4hr2sdf61a4njaqa91cf046sjlr";
   meta = {
     description = "Generalized booleans and numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/BoundedChan/default.nix b/pkgs/development/libraries/haskell/BoundedChan/default.nix
new file mode 100644
index 00000000000..1f4af9d6f71
--- /dev/null
+++ b/pkgs/development/libraries/haskell/BoundedChan/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "BoundedChan";
+  version = "1.0.3.0";
+  sha256 = "0vf4mlw08n056g5256cf46m5xsijng5gvjx7ccm4r132gznyl72k";
+  meta = {
+    description = "Implementation of bounded channels";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/CC-delcont/default.nix b/pkgs/development/libraries/haskell/CC-delcont/default.nix
new file mode 100644
index 00000000000..459c338b80d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/CC-delcont/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "CC-delcont";
+  version = "0.2";
+  sha256 = "0bl71vj1ypzplx92kz27hhbpnwnxkz5g2q86m4fcmjmp4fym8kc1";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://code.haskell.org/~dolio/CC-delcont";
+    description = "Delimited continuations and dynamically scoped variables";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.14.0.nix b/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
index 7b666a1cf6e..a905017472f 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, filepath, HUnit, QuickCheck
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 }:
@@ -16,9 +18,7 @@ cabal.mkDerivation (self: {
     description = "A framework for packaging Haskell software";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix b/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
index c1689817dcc..7f8b0631fc6 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, filepath, HUnit, QuickCheck
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 }:
@@ -17,9 +19,7 @@ cabal.mkDerivation (self: {
     description = "A framework for packaging Haskell software";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix b/pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix
deleted file mode 100644
index 024a4d5c135..00000000000
--- a/pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, deepseq, extensibleExceptions, filepath, HUnit, QuickCheck
-, regexPosix, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "Cabal";
-  version = "1.18.1.2";
-  sha256 = "0pbg9d40lskcps248fdcnm4hnib3vl10mbcdf830zw45q29gfkjr";
-  buildDepends = [ deepseq filepath time ];
-  testDepends = [
-    extensibleExceptions filepath HUnit QuickCheck regexPosix
-    testFramework testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "A framework for packaging Haskell software";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix b/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix
new file mode 100644
index 00000000000..27673beb1a0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, extensibleExceptions, filepath, HUnit, QuickCheck
+, regexPosix, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Cabal";
+  version = "1.18.1.3";
+  sha256 = "1m1m6f00sc4w0s5hnqy2z05rnaihaw1jy03bidc5pl6r1llkdi15";
+  buildDepends = [ deepseq filepath time ];
+  testDepends = [
+    extensibleExceptions filepath HUnit QuickCheck regexPosix
+    testFramework testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "A framework for packaging Haskell software";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix b/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
new file mode 100644
index 00000000000..ac417de67a1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, extensibleExceptions, filepath, HUnit, QuickCheck
+, regexPosix, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Cabal";
+  version = "1.20.0.2";
+  sha256 = "00mz24fj3qpq6rl3n3i73x6k0jzqix24k9izrlkzg07mpjcj4k93";
+  buildDepends = [ deepseq filepath time ];
+  testDepends = [
+    extensibleExceptions filepath HUnit QuickCheck regexPosix
+    testFramework testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "A framework for packaging Haskell software";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index 99ab741be49..d2dea815819 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -1,14 +1,17 @@
-{ cabal, cairo, Chart, colour, dataDefaultClass, mtl, operational
-, time
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, Chart, colour, dataDefaultClass, lens, mtl
+, operational, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.0";
-  sha256 = "0z5qhsq9v5sd32d18gl09svxic8n6s65v4nyq04zcp76219mhp55";
+  version = "1.2.4";
+  sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z";
   buildDepends = [
-    cairo Chart colour dataDefaultClass mtl operational time
+    cairo Chart colour dataDefaultClass lens mtl operational time
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
     description = "Cairo backend for Charts";
diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
new file mode 100644
index 00000000000..002b762fbac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeSvg, Chart, colour, dataDefaultClass, diagramsCore
+, diagramsLib, diagramsPostscript, diagramsSvg, lens, mtl
+, operational, SVGFonts, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Chart-diagrams";
+  version = "1.2.4";
+  sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw";
+  buildDepends = [
+    blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib
+    diagramsPostscript diagramsSvg lens mtl operational SVGFonts text
+    time
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/timbod7/haskell-chart/wiki";
+    description = "Diagrams backend for Charts";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index d97fdc21f03..9dbb3c8ae9a 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cairo, Chart, ChartCairo, colour, gtk, mtl, time }:
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.0";
-  sha256 = "06i53922hdc7dvh2a76ccvwrwfhvhji0ya8j4f2lddg5zckvp3yj";
+  version = "1.2.4";
+  sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq";
   buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index 0d9dd690758..d5696a562da 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -1,17 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, colour, dataDefaultClass, lens, mtl, operational, time }:
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.0";
-  sha256 = "137njda84vxrj3pk12bmkf11wh8fj89nxpz067wrycrgw9xy5rd3";
+  version = "1.2.4";
+  sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
     description = "A library for generating 2D Charts and Plots";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ChasingBottoms/default.nix b/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
index b22272a7703..715793c7e9a 100644
--- a/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
+++ b/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, QuickCheck, random, syb }:
 
 cabal.mkDerivation (self: {
   pname = "ChasingBottoms";
-  version = "1.3.0.7";
-  sha256 = "0g1bx6d2mi27qsb4bxvby50g39fm56gyi2658fyjiq1gamy50ypa";
+  version = "1.3.0.8";
+  sha256 = "1f6jg4j17s3y7hcz9gp7cffa77p57xgzv15ng5ypcxpq603721dv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl QuickCheck random syb ];
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
index 29d417562cc..1de333a04d9 100644
--- a/pkgs/development/libraries/haskell/ConfigFile/default.nix
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, MissingH, mtl, parsec }:
 
 cabal.mkDerivation (self: {
   pname = "ConfigFile";
-  version = "1.1.1";
-  sha256 = "0w2yhbnqldhmj3d98j720l4lj4d08abqcff751p2slszdm5pw1jm";
+  version = "1.1.2";
+  sha256 = "0xidr8dk5sc9g1v9gw7fmmrsyqiawx2rxg4c36pm4jbcj8jdzxiq";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ MissingH mtl parsec ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Configuration file reading & writing";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/CouchDB/default.nix b/pkgs/development/libraries/haskell/CouchDB/default.nix
index 4a413e2e7b8..44a5d50edc5 100644
--- a/pkgs/development/libraries/haskell/CouchDB/default.nix
+++ b/pkgs/development/libraries/haskell/CouchDB/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HTTP, HUnit, json, mtl, network, utf8String }:
 
 cabal.mkDerivation (self: {
@@ -6,11 +8,12 @@ cabal.mkDerivation (self: {
   sha256 = "0a9g0iblfyqppcy1ni3ac8f3yv5km95bfblhwqlsk6khydi5ka98";
   buildDepends = [ HTTP json mtl network utf8String ];
   testDepends = [ HTTP HUnit json mtl network utf8String ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://github.com/arjunguha/haskell-couchdb/";
     description = "CouchDB interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Crypto/default.nix b/pkgs/development/libraries/haskell/Crypto/default.nix
index c7d10d0160d..d9a494fe94e 100644
--- a/pkgs/development/libraries/haskell/Crypto/default.nix
+++ b/pkgs/development/libraries/haskell/Crypto/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, QuickCheck, random }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Collects together existing Haskell cryptographic functions into a package";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix
index c330f082e89..30289ed9d08 100644
--- a/pkgs/development/libraries/haskell/DAV/default.nix
+++ b/pkgs/development/libraries/haskell/DAV/default.nix
@@ -1,18 +1,23 @@
-{ cabal, caseInsensitive, httpConduit, httpTypes, lens, liftedBase
-, mtl, network, optparseApplicative, resourcet, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, dataDefault, either, errors, exceptions
+, httpClient, httpClientTls, httpTypes, lens, mtl, network
+, optparseApplicative, transformers, transformersBase, utf8String
 , xmlConduit, xmlHamlet
 }:
 
 cabal.mkDerivation (self: {
   pname = "DAV";
-  version = "0.4.1";
-  sha256 = "0bcrnlixrzvbdvw7ffv2xl2d0k0w71jf0i5ayf97ymxly8ii8s0c";
+  version = "1.0.1";
+  sha256 = "0j8z7hi5dykimv6da584zgyn8xlvfhg1k9sbhj5ay7ncxszb134k";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    caseInsensitive httpConduit httpTypes lens liftedBase mtl network
-    optparseApplicative resourcet transformers xmlConduit xmlHamlet
+    caseInsensitive dataDefault either errors exceptions httpClient
+    httpClientTls httpTypes lens mtl network optparseApplicative
+    transformers transformersBase utf8String xmlConduit xmlHamlet
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://floss.scru.org/hDAV";
     description = "RFC 4918 WebDAV support";
diff --git a/pkgs/development/libraries/haskell/DRBG/default.nix b/pkgs/development/libraries/haskell/DRBG/default.nix
new file mode 100644
index 00000000000..c192ad4302e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/DRBG/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, cipherAes128, cryptoApi, cryptohashCryptoapi
+, entropy, mtl, parallel, prettyclass, tagged
+}:
+
+cabal.mkDerivation (self: {
+  pname = "DRBG";
+  version = "0.5.2";
+  sha256 = "0c8w8h2mxpk2avj6321q9a1smzp970cyn87aj98vn8dln7h9cqsi";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    cereal cipherAes128 cryptoApi cryptohashCryptoapi entropy mtl
+    parallel prettyclass tagged
+  ];
+  meta = {
+    description = "Deterministic random bit generator (aka RNG, PRNG) based HMACs, Hashes, and Ciphers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/DSH/default.nix b/pkgs/development/libraries/haskell/DSH/default.nix
deleted file mode 100644
index 409afcd45b0..00000000000
--- a/pkgs/development/libraries/haskell/DSH/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, csv, FerryCore, HaXml, HDBC, mtl, Pathfinder, text }:
-
-cabal.mkDerivation (self: {
-  pname = "DSH";
-  version = "0.8.2.3";
-  sha256 = "0d5jh1vxjx3874rgwvxjm00lj3vvp8ggz2c54x6ymhmgav3pd8vy";
-  buildDepends = [ csv FerryCore HaXml HDBC mtl Pathfinder text ];
-  meta = {
-    description = "Database Supported Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/Diff/default.nix b/pkgs/development/libraries/haskell/Diff/default.nix
index 04149400ff8..478cb6d657a 100644
--- a/pkgs/development/libraries/haskell/Diff/default.nix
+++ b/pkgs/development/libraries/haskell/Diff/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "O(ND) diff algorithm in haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/EitherT/default.nix b/pkgs/development/libraries/haskell/EitherT/default.nix
new file mode 100644
index 00000000000..66ccb6a8d4e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/EitherT/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, monadControl, transformers, transformersBase }:
+
+cabal.mkDerivation (self: {
+  pname = "EitherT";
+  version = "0.2.0";
+  sha256 = "1vry479zdq1fw7bd4d373c7wf2gg0aibkyb03710w7z2x86chssw";
+  buildDepends = [ monadControl transformers transformersBase ];
+  meta = {
+    description = "EitherT monad transformer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Extra/default.nix b/pkgs/development/libraries/haskell/Extra/default.nix
new file mode 100644
index 00000000000..0db01edcc61
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Extra/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bzlib, filepath, HUnit, mtl, network, pureMD5, QuickCheck
+, random, regexCompat, time, Unixutils, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Extra";
+  version = "1.46.1";
+  sha256 = "0dgj72s60mhc36x7hpfdcdvxydq5d5aj006gxma9zz3hqzy5nnz9";
+  buildDepends = [
+    bzlib filepath HUnit mtl network pureMD5 QuickCheck random
+    regexCompat time Unixutils zlib
+  ];
+  meta = {
+    homepage = "http://src.seereason.com/haskell-extra";
+    description = "A grab bag of modules";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/FerryCore/default.nix b/pkgs/development/libraries/haskell/FerryCore/default.nix
index daef52bec75..6f0405807fb 100644
--- a/pkgs/development/libraries/haskell/FerryCore/default.nix
+++ b/pkgs/development/libraries/haskell/FerryCore/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HaXml, mtl, parsec, TableAlgebra }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Ferry Core Components";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLFW-b/default.nix b/pkgs/development/libraries/haskell/GLFW-b/default.nix
new file mode 100644
index 00000000000..f3bdfebbe67
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLFW-b/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsGLFW, HUnit, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "GLFW-b";
+  version = "1.4.6";
+  sha256 = "1d9vacb9nsf5cqqwxhn49wsfbhmw1263kgimk5qxpqpg1jiy35hy";
+  buildDepends = [ bindingsGLFW ];
+  testDepends = [
+    bindingsGLFW HUnit testFramework testFrameworkHunit
+  ];
+  doCheck = false;
+  meta = {
+    description = "Bindings to GLFW OpenGL library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/GLFW/default.nix b/pkgs/development/libraries/haskell/GLFW/default.nix
index 26a132ae028..fb554c95dfc 100644
--- a/pkgs/development/libraries/haskell/GLFW/default.nix
+++ b/pkgs/development/libraries/haskell/GLFW/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libX11, mesa, OpenGL }:
 
 cabal.mkDerivation (self: {
   pname = "GLFW";
-  version = "0.5.2.0";
-  sha256 = "06vps929dmk9yimfv7jj12m0p0bf4ih0ssf6rbcq2j6i9wbhpxq3";
+  version = "0.5.2.2";
+  sha256 = "0yqvfkg9p5h5bv3ak6b89am9kan9lbcq26kg1wk53xl6mz1aaijf";
   buildDepends = [ OpenGL ];
   extraLibraries = [ libX11 mesa ];
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell binding for GLFW";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix b/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
index d719e8179d4..bf23628a710 100644
--- a/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, mesa, OpenGLRaw }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix b/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix
deleted file mode 100644
index a6f0e61d273..00000000000
--- a/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, freeglut, mesa, OpenGLRaw }:
-
-cabal.mkDerivation (self: {
-  pname = "GLURaw";
-  version = "1.4.0.0";
-  sha256 = "0q86rpd5cx0vrb9d3y1fljc3mg0p8wy6xdn37ngv2s0f4kslq63g";
-  buildDepends = [ OpenGLRaw ];
-  extraLibraries = [ freeglut mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A raw binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
new file mode 100644
index 00000000000..d389d7ecf04
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, freeglut, mesa, OpenGLRaw }:
+
+cabal.mkDerivation (self: {
+  pname = "GLURaw";
+  version = "1.4.0.1";
+  sha256 = "1k0f1vbbrsfc7jb4qbif4w4q87lsis5gvq7jd2n8zzslxd5n8mcn";
+  buildDepends = [ OpenGLRaw ];
+  extraLibraries = [ freeglut mesa ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
+    description = "A raw binding for the OpenGL graphics system";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
index 32e45aebeb2..88a10caac09 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
index 64bc7feaf17..a9988a53328 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
index 2b9a0fadfc9..c92565ca4af 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
index e5ff3951d3c..0bac3e0d5db 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
 , StateVar, Tensor
 }:
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
index d65dfa15c6f..9402d56f687 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
 , OpenGLRaw, StateVar, Tensor
 }:
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix b/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
index a7a7e7f371a..c28194d7adb 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
 , OpenGLRaw
 }:
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix b/pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix
deleted file mode 100644
index f57cb34fb4a..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
-, OpenGLRaw
-}:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.5.0.1";
-  sha256 = "0f0bz64j7fxa0np8w53n51ri5m0pkwyc1kv7pvdnx02h181gl6l0";
-  buildDepends = [ OpenGL OpenGLRaw ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
new file mode 100644
index 00000000000..b2cce856524
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
+, OpenGLRaw
+}:
+
+cabal.mkDerivation (self: {
+  pname = "GLUT";
+  version = "2.5.1.1";
+  sha256 = "0n9dkdjmpnbcjg0ll0ny7mw21xwwix0gxy0hq6yagmgaakhpg0aa";
+  buildDepends = [ OpenGL OpenGLRaw ];
+  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
+    description = "A binding for the OpenGL Utility Toolkit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/GLUtil/default.nix b/pkgs/development/libraries/haskell/GLUtil/default.nix
new file mode 100644
index 00000000000..ce4b41c93e0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLUtil/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, JuicyPixels, linear, OpenGL, OpenGLRaw
+, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "GLUtil";
+  version = "0.8";
+  sha256 = "00r9gmwsb9gx6bcc012rhz0z0hj3my8k1i0yjnaw0jmlqswm45h8";
+  buildDepends = [
+    cpphs JuicyPixels linear OpenGL OpenGLRaw transformers vector
+  ];
+  buildTools = [ cpphs ];
+  meta = {
+    description = "Miscellaneous OpenGL utilities";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Glob/default.nix b/pkgs/development/libraries/haskell/Glob/default.nix
index 08ae4617956..565f213c42b 100644
--- a/pkgs/development/libraries/haskell/Glob/default.nix
+++ b/pkgs/development/libraries/haskell/Glob/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dlist, filepath, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "Glob";
-  version = "0.7.2";
-  sha256 = "1x4gh7z9jx9hdkjwsc31yyjssw6i7ziixhjrxr9b8zkijk1b4r5i";
+  version = "0.7.5";
+  sha256 = "0hdyi49zp2yr4h4wgngl8ajrss1p309c3pn0alj543yrh33bnqq0";
   buildDepends = [ dlist filepath transformers ];
   meta = {
     homepage = "http://iki.fi/matti.niemenmaa/glob/";
diff --git a/pkgs/development/libraries/haskell/GlomeVec/default.nix b/pkgs/development/libraries/haskell/GlomeVec/default.nix
index d22273f2030..0223d6c6ae5 100644
--- a/pkgs/development/libraries/haskell/GlomeVec/default.nix
+++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix
@@ -1,14 +1,16 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, llvm }:
 
 cabal.mkDerivation (self: {
   pname = "GlomeVec";
-  version = "0.1.2";
-  sha256 = "6023c11977bf16baf487235087e94f5a2f465e8403b8e40ab513e7879dd52639";
+  version = "0.2";
+  sha256 = "08hyiadkbkmcsd1g51xvxqzp6l94hnqqbz4r6yk0zk29iawq8610";
+  buildTools = [ llvm ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Glome";
     description = "Simple 3D vector library";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Graphalyze/default.nix b/pkgs/development/libraries/haskell/Graphalyze/default.nix
new file mode 100644
index 00000000000..8e42eaa01d0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Graphalyze/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bktrees, fgl, filepath, graphviz, pandoc, random, text
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Graphalyze";
+  version = "0.14.1.0";
+  sha256 = "0pyrhpl06lsppr8ch21crinkax7fh0k18wfvgjinc8phkk6j5hz3";
+  buildDepends = [
+    bktrees fgl filepath graphviz pandoc random text time
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Graph-Theoretic Analysis library";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
index 50994384c96..cadf9e3e9c2 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HDBC, mtl, odbc, time, utf8String }:
 
 cabal.mkDerivation (self: {
@@ -8,11 +10,12 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ HDBC mtl time utf8String ];
   extraLibraries = [ odbc ];
+  noHaddock = true;
   meta = {
     homepage = "https://github.com/hdbc/hdbc-odbc";
     description = "ODBC driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
index 94fcd71adbd..6b0df7e9d85 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, convertible, HDBC, mtl, parsec, postgresql, time
 , utf8String
 }:
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "PostgreSQL driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
index 783c4c186e2..563cc38dac3 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HDBC, mtl, sqlite, utf8String }:
 
 cabal.mkDerivation (self: {
@@ -13,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Sqlite v3 driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC.nix b/pkgs/development/libraries/haskell/HDBC/HDBC.nix
index a8275c31b85..fb835885462 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, convertible, mtl, text, time, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "HDBC";
-  version = "2.3.1.2";
-  sha256 = "1rjamh8xscb9jhxgxcrs2qnvs2ipv9dqgnn0bpv5vwclmzmn5j87";
+  version = "2.4.0.0";
+  sha256 = "1zwkrr0pbgxi2y75n2sjr3xs8xa3pxbmnqg3phqkjqcz3j4gcq6y";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ convertible mtl text time utf8String ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Haskell Database Connectivity";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HFuse/default.nix b/pkgs/development/libraries/haskell/HFuse/default.nix
index 9d37b580d80..510ffd4acb9 100644
--- a/pkgs/development/libraries/haskell/HFuse/default.nix
+++ b/pkgs/development/libraries/haskell/HFuse/default.nix
@@ -1,24 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, fuse }:
 
 cabal.mkDerivation (self: {
   pname = "HFuse";
-  version = "0.2.4.1";
-  sha256 = "12k04dvh92kk2i68bcb70xnk378qxmh46f241k06di5rkcgwyg1k";
+  version = "0.2.4.3";
+  sha256 = "1daka673mx0gsnsa04pxani7n4wp93hflzxs3imzy4sgb30p7l01";
+  isLibrary = true;
+  isExecutable = true;
   extraLibraries = [ fuse ];
   preConfigure = ''
     sed -i -e "s@  Extra-Lib-Dirs:         /usr/local/lib@  Extra-Lib-Dirs:         ${fuse}/lib@" HFuse.cabal
-    sed -i -e "s@  Include-Dirs:           /usr/include, /usr/local/include, .@  Include-Dirs:           ${fuse}/include@" HFuse.cabal
-    sed -i -e "s/LANGUAGE FlexibleContexts/LANGUAGE FlexibleContexts, RankNTypes/" System/Fuse.hsc
-    sed -i -e "s/E(Exception/E(catch, Exception, IOException/" System/Fuse.hsc
-    sed -i -e "s/IO(catch,/IO(/" System/Fuse.hsc
-    sed -i -e "s/IO.catch/ E.catch/" System/Fuse.hsc
-    sed -i -e "s/const exitFailure/\\\\(_ :: IOException) -> exitFailure/" System/Fuse.hsc
   '';
   meta = {
-    homepage = "https://github.com/toothbrush/hfuse";
+    homepage = "https://github.com/m15k/hfuse";
     description = "HFuse is a binding for the Linux FUSE library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix
index 35b03f77dde..d2c88291fc2 100644
--- a/pkgs/development/libraries/haskell/HList/default.nix
+++ b/pkgs/development/libraries/haskell/HList/default.nix
@@ -1,13 +1,20 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, diffutils, doctest, filepath, hspec, lens, mtl
+, syb, tagged
+}:
 
 cabal.mkDerivation (self: {
   pname = "HList";
-  version = "0.2.3";
-  sha256 = "1efbe0c2cb361ab0a9d864a09f9c58075132cb50094207260cb1363fe73c2908";
+  version = "0.3.4.1";
+  sha256 = "02hw496qv2p0nnbz7lq7jfqnis19qqjsylyvdksqbwmjprk32rh2";
+  buildDepends = [ mtl tagged ];
+  testDepends = [ cmdargs doctest filepath hspec lens mtl syb ];
+  buildTools = [ diffutils ];
+  doCheck = false;
   meta = {
     description = "Heterogeneous lists";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HPDF/default.nix b/pkgs/development/libraries/haskell/HPDF/default.nix
new file mode 100644
index 00000000000..7dcdbaa8cf9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HPDF/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, mtl, random, vector, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "HPDF";
+  version = "1.4.6";
+  sha256 = "15v1mf58fqa25higf52jqlf3fw2fbggfm5v8a8v00zz6q0f3lzn9";
+  buildDepends = [ binary mtl random vector zlib ];
+  meta = {
+    homepage = "http://www.alpheccar.org";
+    description = "Generation of PDF documents";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HSH/default.nix b/pkgs/development/libraries/haskell/HSH/default.nix
index 107e3df979b..bcc29781210 100644
--- a/pkgs/development/libraries/haskell/HSH/default.nix
+++ b/pkgs/development/libraries/haskell/HSH/default.nix
@@ -1,5 +1,5 @@
 { cabal, filepath, hslogger, MissingH, mtl, regexBase, regexCompat
-, regexPosix, fetchurl
+, regexPosix, fetchpatch
 }:
 
 cabal.mkDerivation (self: {
@@ -11,7 +11,7 @@ cabal.mkDerivation (self: {
   buildDepends = [
     filepath hslogger MissingH mtl regexBase regexCompat regexPosix
   ];
-  patches = [ (fetchurl { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0fw2ihl4hlncggwf3v4d7aydm3rzgzpcxplfbwq7janysix4q950"; }) ];
+  patches = [ (fetchpatch { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0ddb3vf8ipf37zg4hkqh0frff1a7sv9ils3lw6qd3irpbwna1hdz"; }) ];
   meta = {
     homepage = "http://software.complete.org/hsh";
     description = "Library to mix shell scripting with Haskell programs";
diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
index 6f96bbbcb7f..23fd31b2b3d 100644
--- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix
+++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, deepseq, filepath, mtl, parsec, syb, text
 , time, utf8String, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "HStringTemplate";
-  version = "0.7.1";
-  sha256 = "0hqc1496xazihlww8j90m1cwzj7cihqbfjdly9s8kjf8d5my64ld";
+  version = "0.7.3";
+  sha256 = "1gw4v16nk0878qplcx6by2bl4280lwyn9a252p6ldaqlbk9vygw8";
   buildDepends = [
     blazeBuilder deepseq filepath mtl parsec syb text time utf8String
     void
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "StringTemplate implementation in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix
index 7abdc9b4730..5908498bd0a 100644
--- a/pkgs/development/libraries/haskell/HTF/default.nix
+++ b/pkgs/development/libraries/haskell/HTF/default.nix
@@ -1,22 +1,27 @@
-{ cabal, aeson, cpphs, Diff, filepath, haskellSrcExts, HUnit
-, liftedBase, monadControl, mtl, QuickCheck, random, regexCompat
-, temporary, text, unorderedContainers, xmlgen
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, base64Bytestring, cpphs, Diff, filepath
+, haskellSrcExts, HUnit, liftedBase, monadControl, mtl, QuickCheck
+, random, regexCompat, temporary, text, time, unorderedContainers
+, vector, xmlgen
 }:
 
 cabal.mkDerivation (self: {
   pname = "HTF";
-  version = "0.11.0.1";
-  sha256 = "0c4z76rsmdck60p7p2ypxx0d0r7k2vcb9viqp2yalyxzaaj7a9f5";
+  version = "0.12.0.0";
+  sha256 = "1mbil44gbcl52f84dphxkdvxsyz8bhc532mlq37aqr1bmj54rv0i";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson cpphs Diff haskellSrcExts HUnit liftedBase monadControl mtl
-    QuickCheck random regexCompat text xmlgen
+    aeson base64Bytestring cpphs Diff haskellSrcExts HUnit liftedBase
+    monadControl mtl QuickCheck random regexCompat text time vector
+    xmlgen
   ];
   testDepends = [
-    aeson filepath mtl random regexCompat temporary text
+    aeson filepath HUnit mtl random regexCompat temporary text
     unorderedContainers
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/skogsbaer/HTF/";
     description = "The Haskell Test Framework";
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
index ac4ac232edf..a41dd3c25dc 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
index 0beebbfe294..e530452b08c 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
index 31cfdddac79..76356134589 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
index 8d4a39526b2..344a86a0da8 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
index f3da4a5ccf2..c677bbf40db 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, httpdShed, HUnit, mtl, network, parsec, split
 , testFramework, testFrameworkHunit
 }:
@@ -16,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix
new file mode 100644
index 00000000000..ce90b9a9426
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, conduit, conduitExtra, deepseq, httpdShed
+, httpTypes, HUnit, mtl, network, parsec, pureMD5, split
+, testFramework, testFrameworkHunit, wai, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "HTTP";
+  version = "4000.2.17";
+  sha256 = "1701mgf1gw00nxd70kkr86yl80qxy63rpqky2g9m2nfr6y4y5b59";
+  buildDepends = [ mtl network parsec ];
+  testDepends = [
+    caseInsensitive conduit conduitExtra deepseq httpdShed httpTypes
+    HUnit mtl network pureMD5 split testFramework testFrameworkHunit
+    wai warp
+  ];
+  doCheck = false;
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    homepage = "https://github.com/haskell/HTTP";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
index e6238a5e738..c18fd35c8a0 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, httpdShed, HUnit, mtl, network, parsec, split
 , testFramework, testFrameworkHunit
 }:
@@ -16,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
index d9e422f9e89..86c4dc8fcc0 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, httpdShed, HUnit, mtl, network, parsec, split
 , testFramework, testFrameworkHunit
 }:
@@ -16,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
index 93ba5e949db..54c8733c584 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes
 , HUnit, mtl, network, parsec, pureMD5, split, testFramework
 , testFrameworkHunit, wai, warp
@@ -18,6 +20,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
index 09f0b25910b..d308d547c78 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes
 , HUnit, mtl, network, parsec, pureMD5, split, testFramework
 , testFrameworkHunit, wai, warp
@@ -19,6 +21,6 @@ cabal.mkDerivation (self: {
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit-approx/default.nix b/pkgs/development/libraries/haskell/HUnit-approx/default.nix
new file mode 100644
index 00000000000..b507aa21cbb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HUnit-approx/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit }:
+
+cabal.mkDerivation (self: {
+  pname = "HUnit-approx";
+  version = "1.0";
+  sha256 = "0svkjvcanjsi5bhn9b91jhig36np5imr3qyj6b1s5msm7wmlk3v1";
+  buildDepends = [ HUnit ];
+  testDepends = [ HUnit ];
+  meta = {
+    homepage = "https://github.com/goldfirere/HUnit-approx";
+    description = "Approximate equality for floating point numbers with HUnit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
index 01130de10cd..7bd199555d7 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
index e14aad1a015..e995adab83c 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
index 2cb9f859f46..02757e9074c 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
index 8ad518ee1f6..13483375823 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
index 9ac01e70865..6f866137945 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
index 06ac5fa1bbf..ae33779597b 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix b/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
index b94e0f20733..0ab6f152aee 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HaTeX/default.nix b/pkgs/development/libraries/haskell/HaTeX/default.nix
new file mode 100644
index 00000000000..3712dda87eb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HaTeX/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, matrix, parsec, QuickCheck, tasty, tastyQuickcheck, text
+, transformers, wlPprintExtras
+}:
+
+cabal.mkDerivation (self: {
+  pname = "HaTeX";
+  version = "3.13.1.0";
+  sha256 = "1ciifdb7yd79lvwdcxj8dq98dfmm9pg25rx9rc2wjn2jnp8j85r7";
+  buildDepends = [
+    matrix parsec QuickCheck text transformers wlPprintExtras
+  ];
+  testDepends = [ QuickCheck tasty tastyQuickcheck ];
+  meta = {
+    homepage = "http://daniel-diaz.github.io/projects/hatex";
+    description = "The Haskell LaTeX library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HaXml/default.nix b/pkgs/development/libraries/haskell/HaXml/default.nix
index b490cf75d96..4199ae4275b 100644
--- a/pkgs/development/libraries/haskell/HaXml/default.nix
+++ b/pkgs/development/libraries/haskell/HaXml/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, polyparse, random }:
 
 cabal.mkDerivation (self: {
   pname = "HaXml";
-  version = "1.24";
-  sha256 = "18kvavqa84k2121ppxngn39fjz4w63chngb3255w1fhdz13v3ydn";
+  version = "1.24.1";
+  sha256 = "1pvqgczksxasayvdb6d4g7ya7g7w1v9hsa35kaxm9bcic9y8q9az";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath polyparse random ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for manipulating XML documents";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
new file mode 100644
index 00000000000..cbf5e87bccc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HTTP, hxt, hxtHttp, MaybeT, mtl, network, parsec
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "HandsomeSoup";
+  version = "0.3.2";
+  sha256 = "0ixqk32sfv6kj41vc6fzflv6f6jwvnkvcdf9pmgkc675218ggh53";
+  buildDepends = [
+    HTTP hxt hxtHttp MaybeT mtl network parsec transformers
+  ];
+  meta = {
+    homepage = "https://github.com/egonSchiele/HandsomeSoup";
+    description = "Work with HTML more easily in HXT";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HaskellForMaths/default.nix b/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
index 417ded6da54..9bd9c9f4796 100644
--- a/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
+++ b/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Combinatorics, group theory, commutative algebra, non-commutative algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix b/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
new file mode 100644
index 00000000000..d5cc7085538
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, connection, dataDefault, HaskellNet, network, tls }:
+
+cabal.mkDerivation (self: {
+  pname = "HaskellNet-SSL";
+  version = "0.2.4";
+  sha256 = "0rwj69rz8i84qj6n1zd9fllp4333azfxppd7blzd486bczzkgkbb";
+  buildDepends = [ connection dataDefault HaskellNet network tls ];
+  meta = {
+    homepage = "https://github.com/dpwright/HaskellNet-SSL";
+    description = "Helpers to connect to SSL/TLS mail servers with HaskellNet";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HaskellNet/default.nix b/pkgs/development/libraries/haskell/HaskellNet/default.nix
new file mode 100644
index 00000000000..940bdbd678d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HaskellNet/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64String, Crypto, mimeMail, mtl, network, text }:
+
+cabal.mkDerivation (self: {
+  pname = "HaskellNet";
+  version = "0.3.1";
+  sha256 = "168w6y5rizszq1428amxbkhww65sy3b7czxpjyrzzq3dhjn517nr";
+  buildDepends = [ base64String Crypto mimeMail mtl network text ];
+  meta = {
+    homepage = "https://github.com/jtdaugherty/HaskellNet";
+    description = "Client support for POP3, SMTP, and IMAP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
deleted file mode 100644
index e2f78497a7a..00000000000
--- a/pkgs/development/libraries/haskell/Hipmunk/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, StateVar, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "Hipmunk";
-  version = "5.2.0.12";
-  sha256 = "0gybmwwij6gs3gsklcvck0nc1niyh6pvirnxgrcwclrz94ivpj42";
-  buildDepends = [ StateVar transformers ];
-  meta = {
-    homepage = "https://github.com/meteficha/Hipmunk";
-    description = "A Haskell binding for Chipmunk";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index 8df2209ffbf..af38572464c 100644
--- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
+++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, network, openssl, time }:
 
 cabal.mkDerivation (self: {
   pname = "HsOpenSSL";
-  version = "0.10.3.4";
-  sha256 = "1xgnzivphnzb4yf31406yg5fjycrfypwrlxi2s8lfzgja8m1l7h5";
+  version = "0.11";
+  sha256 = "000c1589yf1lzvw32hh2jacq1da6k2vynh5rymw3rlapxq7skyyr";
   buildDepends = [ network time ];
   extraLibraries = [ openssl ];
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Partial OpenSSL binding for Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HsSyck/0.51.nix b/pkgs/development/libraries/haskell/HsSyck/0.51.nix
new file mode 100644
index 00000000000..1be5744b6a3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HsSyck/0.51.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashtables, syb, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "HsSyck";
+  version = "0.51";
+  sha256 = "13y5vbzrix33dzwhdrvng2ds2dnipkxn1h22jvbf47rwnkyh2g49";
+  buildDepends = [ hashtables syb utf8String ];
+  meta = {
+    description = "Fast, lightweight YAML loader and dumper";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HsSyck/0.52.nix b/pkgs/development/libraries/haskell/HsSyck/0.52.nix
new file mode 100644
index 00000000000..b3d64e539e1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HsSyck/0.52.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashtables, syb, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "HsSyck";
+  version = "0.52";
+  sha256 = "1hdckbm60pzmydaz4rsw3kz9byd205987jcddakyhmgfinzvqwvc";
+  buildDepends = [ hashtables syb utf8String ];
+  meta = {
+    description = "Fast, lightweight YAML loader and dumper";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HsSyck/default.nix b/pkgs/development/libraries/haskell/HsSyck/default.nix
deleted file mode 100644
index 56e999d7b83..00000000000
--- a/pkgs/development/libraries/haskell/HsSyck/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, syb, utf8String }:
-
-cabal.mkDerivation (self: {
-  pname = "HsSyck";
-  version = "0.50";
-  sha256 = "0ap675i2fngvd1nw1dk8p2fz4nbd2aq5ci8dsvpcjbp28y9j2blm";
-  buildDepends = [ syb utf8String ];
-  meta = {
-    description = "Fast, lightweight YAML loader and dumper";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/IORefCAS/default.nix b/pkgs/development/libraries/haskell/IORefCAS/default.nix
index 8025ef13bc2..980ab8c448c 100644
--- a/pkgs/development/libraries/haskell/IORefCAS/default.nix
+++ b/pkgs/development/libraries/haskell/IORefCAS/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bitsAtomic, HUnit, QuickCheck, time }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,8 @@ cabal.mkDerivation (self: {
     description = "Atomic compare and swap for IORefs and STRefs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/IOSpec/default.nix b/pkgs/development/libraries/haskell/IOSpec/default.nix
index 84b5f6fe610..f9f95586b45 100644
--- a/pkgs/development/libraries/haskell/IOSpec/default.nix
+++ b/pkgs/development/libraries/haskell/IOSpec/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, QuickCheck, Stream }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A pure specification of the IO monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/IfElse/default.nix b/pkgs/development/libraries/haskell/IfElse/default.nix
index 960868e3ab0..0f211b4cd50 100644
--- a/pkgs/development/libraries/haskell/IfElse/default.nix
+++ b/pkgs/development/libraries/haskell/IfElse/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Anaphoric and miscellaneous useful control-flow";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/IntervalMap/default.nix b/pkgs/development/libraries/haskell/IntervalMap/default.nix
new file mode 100644
index 00000000000..774cbd8a19e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/IntervalMap/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "IntervalMap";
+  version = "0.3.0.3";
+  sha256 = "11lxsjq9nw9mmj5ga0x03d8rgcx2s85kzi17d9cm7m28mq4dqdag";
+  buildDepends = [ deepseq ];
+  testDepends = [ Cabal deepseq QuickCheck ];
+  meta = {
+    homepage = "http://www.chr-breitkopf.de/comp/IntervalMap";
+    description = "Maps from Intervals to values, with efficient search";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix
deleted file mode 100644
index 713e67fbf60..00000000000
--- a/pkgs/development/libraries/haskell/JsContracts/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, filepath, mtl, parsec, syb, WebBits, WebBitsHtml }:
-
-cabal.mkDerivation (self: {
-  pname = "JsContracts";
-  version = "0.5.3";
-  sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ filepath mtl parsec syb WebBits WebBitsHtml ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "Design-by-contract for JavaScript";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
new file mode 100644
index 00000000000..4e680b26cae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, JuicyPixels, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "JuicyPixels-util";
+  version = "0.1";
+  sha256 = "181wryax2k43qlblink9vcg2hk8f2qxn02ifmgxa2fl95z5ar0dc";
+  buildDepends = [ JuicyPixels vector ];
+  meta = {
+    homepage = "https://github.com/fumieval/JuicyPixels-util";
+    description = "Convert JuicyPixel images into RGBA format, flip, trim and so on";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index b2947318a1f..fcd2689c548 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, deepseq, mtl, primitive, transformers, vector
 , zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "3.1.1.1";
-  sha256 = "0lvhaa8pqknkcsfps5gcbwiqx0y1rhasiw9hwy7975vgpsh58dph";
+  version = "3.1.6.1";
+  sha256 = "1v560y0l1zpznbpw8zgb2j6zlcwi8i207xgzggzzd3p0v2m8955c";
   buildDepends = [
     binary deepseq mtl primitive transformers vector zlib
   ];
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tiff and radiance)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/List/default.nix b/pkgs/development/libraries/haskell/List/default.nix
index 65c90c0824e..7fef7155190 100644
--- a/pkgs/development/libraries/haskell/List/default.nix
+++ b/pkgs/development/libraries/haskell/List/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index b24e81300b6..1e99f819bcc 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -1,16 +1,18 @@
-{ cabal, HUnit, QuickCheck, random, text, vector }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dlist, fmlist, HUnit, QuickCheck, random, text, vector }:
 
 cabal.mkDerivation (self: {
   pname = "ListLike";
-  version = "4.0.0";
-  sha256 = "13dw8pkj8dwxb81gbcm7gn221zyr3ck9s9s1iv7v1b69chv0zyxk";
-  buildDepends = [ text vector ];
-  testDepends = [ HUnit QuickCheck random text vector ];
+  version = "4.1.0";
+  sha256 = "0j78mm9vsl3scwgqp4h2bhq54hf22bxj9cg9pl26d12zw7038kwj";
+  buildDepends = [ dlist fmlist text vector ];
+  testDepends = [ dlist fmlist HUnit QuickCheck random text vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://software.complete.org/listlike";
     description = "Generic support for list-like structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ListZipper/default.nix b/pkgs/development/libraries/haskell/ListZipper/default.nix
index d7307bde5d7..0f3edbaf5f2 100644
--- a/pkgs/development/libraries/haskell/ListZipper/default.nix
+++ b/pkgs/development/libraries/haskell/ListZipper/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
new file mode 100644
index 00000000000..a0e4b787ec9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, blazeMarkup, caseInsensitive, clientsession
+, conduit, conduitExtra, cpphs, extensibleExceptions, httpTypes
+, monadloc, mtl, parsec, pwstoreFast, random, RefSerialize
+, resourcet, stm, TCache, text, time, transformers, utf8String
+, vector, wai, waiExtra, warp, warpTls, Workflow
+}:
+
+cabal.mkDerivation (self: {
+  pname = "MFlow";
+  version = "0.4.5.7";
+  sha256 = "0faw082z8yyzf0k1vrgpqa8kvwb2zwmasy1p1vvj3a7lhhnlr20s";
+  buildDepends = [
+    blazeHtml blazeMarkup caseInsensitive clientsession conduit
+    conduitExtra extensibleExceptions httpTypes monadloc mtl parsec
+    pwstoreFast random RefSerialize resourcet stm TCache text time
+    transformers utf8String vector wai waiExtra warp warpTls Workflow
+  ];
+  buildTools = [ cpphs ];
+  meta = {
+    description = "stateful, RESTful web framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/MaybeT/default.nix b/pkgs/development/libraries/haskell/MaybeT/default.nix
index a29997f9de9..012ce6249fc 100644
--- a/pkgs/development/libraries/haskell/MaybeT/default.nix
+++ b/pkgs/development/libraries/haskell/MaybeT/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "MaybeT monad transformer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MemoTrie/default.nix b/pkgs/development/libraries/haskell/MemoTrie/default.nix
index f3bd183d137..3e7f1818039 100644
--- a/pkgs/development/libraries/haskell/MemoTrie/default.nix
+++ b/pkgs/development/libraries/haskell/MemoTrie/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, void }:
 
 cabal.mkDerivation (self: {
   pname = "MemoTrie";
-  version = "0.6.1";
-  sha256 = "1bx0xd28irxjrq181wirx0vdrdj4qg4n4wj7ya27lkh408mwsxm6";
+  version = "0.6.2";
+  sha256 = "1g4b82s30bqkfids3iywf873nyn8h7l8rp8l3xl58smj5lbi3p4x";
   buildDepends = [ void ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/MemoTrie";
     description = "Trie-based memo functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix
index 59656d51978..cb9b60d13c7 100644
--- a/pkgs/development/libraries/haskell/MissingH/default.nix
+++ b/pkgs/development/libraries/haskell/MissingH/default.nix
@@ -1,17 +1,19 @@
-{ cabal, filepath, hslogger, HUnit, mtl, network, parsec
-, QuickCheck, random, regexCompat, testpack, time
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, errorcallEqInstance, filepath, hslogger, HUnit, mtl
+, network, parsec, QuickCheck, random, regexCompat, testpack, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "MissingH";
-  version = "1.2.0.2";
-  sha256 = "1wrrfa8dy0h0c53f1zjzwdkj8wkwsbi6qhv35wwlaz39dk32c4nn";
+  version = "1.2.1.0";
+  sha256 = "08zpzfhl31w35x13vapimwd508j4nydi8v3vid668r4fkqnymbss";
   buildDepends = [
     filepath hslogger HUnit mtl network parsec random regexCompat time
   ];
   testDepends = [
-    filepath hslogger HUnit mtl network parsec QuickCheck random
-    regexCompat testpack time
+    errorcallEqInstance filepath hslogger HUnit mtl network parsec
+    QuickCheck random regexCompat testpack time
   ];
   doCheck = false;
   meta = {
@@ -19,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "Large utility library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
index 9b044f6dbab..11e97d72ea8 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
@@ -1,15 +1,17 @@
-{ cabal, extensibleExceptions, mtl }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, extensibleExceptions, MonadCatchIOTransformers }:
 
 cabal.mkDerivation (self: {
   pname = "MonadCatchIO-mtl";
-  version = "0.3.0.5";
-  sha256 = "01c2xif4aly2lmg2qkri791ignq3r2qg4xbc8m06cdm6gh5a2dqp";
-  buildDepends = [ extensibleExceptions mtl ];
+  version = "0.3.1.0";
+  sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq";
+  buildDepends = [ extensibleExceptions MonadCatchIOTransformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";
     description = "Monad-transformer version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
index 4edd801d08d..d4cbd7c09ba 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -1,14 +1,16 @@
-{ cabal, extensibleExceptions, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, extensibleExceptions, monadsTf, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "MonadCatchIO-transformers";
-  version = "0.3.0.0";
-  sha256 = "0v7k6npfr1x9s4bk409y6sc1vhzs5pm4mwpky356z7kdvz2z274c";
-  buildDepends = [ extensibleExceptions transformers ];
+  version = "0.3.1.2";
+  sha256 = "1r5c4qz6yp1qrsmk9di35d5kk2dcnaxh2mg3n5kdim991ydzsi1d";
+  buildDepends = [ extensibleExceptions monadsTf transformers ];
+  jailbreak = true;
   meta = {
     description = "Monad-transformer compatible version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadPrompt/default.nix b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
index 6d8e66952e4..3221cbe7f55 100644
--- a/pkgs/development/libraries/haskell/MonadPrompt/default.nix
+++ b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "MonadPrompt, implementation & examples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
index 32c2f9eeffe..fb2415fd6fa 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/default.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, random, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "MonadRandom";
-  version = "0.1.12";
-  sha256 = "0lr1lvpcj96i6n0w810bjy8k9jygx97nnv0k2zb51d7saw6y95p4";
+  version = "0.1.13";
+  sha256 = "1pi12ymsbl2l0ly3ggihg8r0ac87ax267m419cga60wp5ry5zbnk";
   buildDepends = [ mtl random transformers ];
   meta = {
     description = "Random-number generation monad";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/NanoProlog/default.nix b/pkgs/development/libraries/haskell/NanoProlog/default.nix
deleted file mode 100644
index 490aeb4167b..00000000000
--- a/pkgs/development/libraries/haskell/NanoProlog/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, ListLike, uuParsinglib }:
-
-cabal.mkDerivation (self: {
-  pname = "NanoProlog";
-  version = "0.3";
-  sha256 = "0wjjwzzc78sj7nsaq1hgxiwv0pc069mxns425lhmrlxcm0vf8fmn";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ ListLike uuParsinglib ];
-  meta = {
-    description = "Very small interpreter for a Prolog-like language";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/NumInstances/default.nix b/pkgs/development/libraries/haskell/NumInstances/default.nix
index d276697a6d9..e5b918a5ad5 100644
--- a/pkgs/development/libraries/haskell/NumInstances/default.nix
+++ b/pkgs/development/libraries/haskell/NumInstances/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Instances of numeric classes for functions and tuples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ObjectName/default.nix b/pkgs/development/libraries/haskell/ObjectName/default.nix
index 27f9b444a71..785caabadd2 100644
--- a/pkgs/development/libraries/haskell/ObjectName/default.nix
+++ b/pkgs/development/libraries/haskell/ObjectName/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Explicitly handled object names";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OneTuple/default.nix b/pkgs/development/libraries/haskell/OneTuple/default.nix
index 945e12438b5..b2af0024b5c 100644
--- a/pkgs/development/libraries/haskell/OneTuple/default.nix
+++ b/pkgs/development/libraries/haskell/OneTuple/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Singleton Tuple";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenAL/default.nix b/pkgs/development/libraries/haskell/OpenAL/default.nix
index a04aea993fa..98aac94e01d 100644
--- a/pkgs/development/libraries/haskell/OpenAL/default.nix
+++ b/pkgs/development/libraries/haskell/OpenAL/default.nix
@@ -1,16 +1,17 @@
-{ cabal, ObjectName, openal, StateVar, Tensor }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, openal, OpenGL }:
 
 cabal.mkDerivation (self: {
   pname = "OpenAL";
-  version = "1.4.0.2";
-  sha256 = "19q4pd5i2w330qh895z0cgim4m4f4gxqf4ya1192fchqmgcz1svz";
-  buildDepends = [ ObjectName StateVar Tensor ];
+  version = "1.6.0.0";
+  sha256 = "0bw20ykn8vi3g4im4nsrfz7p1qq9qwnx8da83zwdbr3wjm9934gd";
+  buildDepends = [ OpenGL ];
   extraLibraries = [ openal ];
   meta = {
-    homepage = "http://connect.creativelabs.com/openal/";
+    homepage = "https://github.com/haskell-openal/ALUT";
     description = "A binding to the OpenAL cross-platform 3D audio API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
index 2e4ac90c79e..747720eba85 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libX11, mesa }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
index 25133657ccb..af01702b01b 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libX11, mesa }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
index 33e9c4d21a0..fa3ae576bfa 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libX11, mesa }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
index c8cfd796afd..81e754e269f 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, GLURaw, libX11, mesa, ObjectName, OpenGLRaw, StateVar
 , Tensor
 }:
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
index 318bdf19748..a0ae3c84fad 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, GLURaw, libX11, mesa, ObjectName, OpenGLRaw, StateVar
 , Tensor
 }:
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
index 72183c86192..ea1fdcc9711 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, GLURaw, libX11, mesa, OpenGLRaw }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix
deleted file mode 100644
index 6f79b5c7a06..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, GLURaw, libX11, mesa, OpenGLRaw, text }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.9.1.0";
-  sha256 = "09xzjaa9qyh7bfsnq226v9zi6lhnalhmlqlca3808hgax8ijwhp3";
-  buildDepends = [ GLURaw OpenGLRaw text ];
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
new file mode 100644
index 00000000000..f6767ab577c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, GLURaw, libX11, mesa, OpenGLRaw, text }:
+
+cabal.mkDerivation (self: {
+  pname = "OpenGL";
+  version = "2.9.2.0";
+  sha256 = "1sa5jmhj0az6sik6swv2vgzhv9gj34dbq2px23ag1a4yrk5gcn0p";
+  buildDepends = [ GLURaw OpenGLRaw text ];
+  extraLibraries = [ libX11 mesa ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
+    description = "A binding for the OpenGL graphics system";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
index a6a45bf5b24..c3d8ce49881 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mesa }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
index 1145c16b4f8..a2ffc9b4ad1 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mesa }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
new file mode 100644
index 00000000000..65466306fd8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mesa }:
+
+cabal.mkDerivation (self: {
+  pname = "OpenGLRaw";
+  version = "1.5.0.0";
+  sha256 = "04lsidv82fl7yb2fnqpx7q0vgiwxbswh8g7dv9q9s9i2jwiaaal5";
+  extraLibraries = [ mesa ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
+    description = "A raw binding for the OpenGL graphics system";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/PSQueue/default.nix b/pkgs/development/libraries/haskell/PSQueue/default.nix
index 32497935cdb..751dadebfa8 100644
--- a/pkgs/development/libraries/haskell/PSQueue/default.nix
+++ b/pkgs/development/libraries/haskell/PSQueue/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Priority Search Queue";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Pathfinder/default.nix b/pkgs/development/libraries/haskell/Pathfinder/default.nix
deleted file mode 100644
index 19d7d8abaa5..00000000000
--- a/pkgs/development/libraries/haskell/Pathfinder/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, libxml2, text }:
-
-cabal.mkDerivation (self: {
-  pname = "Pathfinder";
-  version = "0.5.10";
-  sha256 = "1k38p73jnkfcmmz94iqpzg2g6apsxflidvy8p9lwqyzfmg70brqf";
-  buildDepends = [ text ];
-  extraLibraries = [ libxml2 ];
-  meta = {
-    description = "Relational optimiser and code generator";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
index 3cf80d93336..465fb510b50 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
index 6ba32ce71c0..ba16967249d 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
index 2f305b8a23c..373742a9755 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, mtl, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
index 4e634078a7d..3bee4ac9702 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, mtl, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
index e2d274dca05..d936d4b3784 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
index b3202cdc4b9..58a04593c49 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
index 24e16a4955f..438c4cfff8d 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
index 39c97859e65..0ed56838435 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
new file mode 100644
index 00000000000..26115cb8814
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, testFramework, tfRandom, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "QuickCheck";
+  version = "2.7.5";
+  sha256 = "1bak50yxf8qfwfw1f5bd2p1ynx1ndjv24yp6gd2a2a1fag34x0rb";
+  buildDepends = [ random tfRandom transformers ];
+  testDepends = [ testFramework ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    homepage = "https://github.com/nick8325/quickcheck";
+    description = "Automatic testing of Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
new file mode 100644
index 00000000000..3c623e9f0dd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, testFramework, tfRandom, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "QuickCheck";
+  version = "2.7.6";
+  sha256 = "09y5l0062l9i5jp9v6811kvkk4zpy0mizwaw44abgz0x1h59gn40";
+  buildDepends = [ random tfRandom transformers ];
+  testDepends = [ testFramework ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    homepage = "https://github.com/nick8325/quickcheck";
+    description = "Automatic testing of Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/RSA/default.nix b/pkgs/development/libraries/haskell/RSA/default.nix
index c5257c5b262..61c2d0fb225 100644
--- a/pkgs/development/libraries/haskell/RSA/default.nix
+++ b/pkgs/development/libraries/haskell/RSA/default.nix
@@ -1,20 +1,28 @@
-{ cabal, binary, cryptoApi, cryptoPubkeyTypes, monadcryptorandom
-, pureMD5, SHA
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, cryptoApi, cryptoPubkeyTypes, DRBG
+, monadcryptorandom, pureMD5, QuickCheck, SHA, tagged
+, testFramework, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "RSA";
-  version = "1.2.2.0";
-  sha256 = "0x4an1060slppyccf18isqrdl548ll33xzzqch3qxg285a0mm12m";
+  version = "2.0.0";
+  sha256 = "1v2d6sxpqr0lmiqdr3ym5qzp3p1y57yj6939vdlsac6k6ifj6pwq";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary cryptoApi cryptoPubkeyTypes monadcryptorandom pureMD5 SHA
+    binary cryptoApi cryptoPubkeyTypes DRBG monadcryptorandom pureMD5
+    QuickCheck SHA tagged testFramework testFrameworkQuickcheck2
+  ];
+  testDepends = [
+    binary cryptoApi cryptoPubkeyTypes DRBG pureMD5 QuickCheck SHA
+    tagged testFramework testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Ranged-sets/default.nix b/pkgs/development/libraries/haskell/Ranged-sets/default.nix
index e65752e35b4..51296cb2a0e 100644
--- a/pkgs/development/libraries/haskell/Ranged-sets/default.nix
+++ b/pkgs/development/libraries/haskell/Ranged-sets/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, QuickCheck }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Ranged sets for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ReadArgs/default.nix b/pkgs/development/libraries/haskell/ReadArgs/default.nix
index 12c3e34571e..484aacb91f0 100644
--- a/pkgs/development/libraries/haskell/ReadArgs/default.nix
+++ b/pkgs/development/libraries/haskell/ReadArgs/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, systemFilepath, text }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/RefSerialize/default.nix b/pkgs/development/libraries/haskell/RefSerialize/default.nix
new file mode 100644
index 00000000000..1307d4ae42e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/RefSerialize/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, hashtables, stringsearch }:
+
+cabal.mkDerivation (self: {
+  pname = "RefSerialize";
+  version = "0.3.1.3";
+  sha256 = "0qrca0jismpvjy7i4xx19ljrj72gqcmwqg47a51ykncsvci0fjrm";
+  buildDepends = [ binary hashtables stringsearch ];
+  meta = {
+    description = "Write to and read from ByteStrings maintaining internal memory references";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/RepLib/default.nix b/pkgs/development/libraries/haskell/RepLib/default.nix
index 15cba0c0b28..f62f1b1392e 100644
--- a/pkgs/development/libraries/haskell/RepLib/default.nix
+++ b/pkgs/development/libraries/haskell/RepLib/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, typeEquality }:
 
 cabal.mkDerivation (self: {
   pname = "RepLib";
-  version = "0.5.3.1";
-  sha256 = "0lc1ma6h5wdfl4crnvg1vyvlx4xvps4l2nwb9dl6nyspmpjad807";
+  version = "0.5.3.3";
+  sha256 = "1772r6rfajcn622dxwy9z1bvv53l5xj6acbcv8n9p7h01fs52mpr";
   buildDepends = [ mtl typeEquality ];
+  noHaddock = true;
   meta = {
     homepage = "http://code.google.com/p/replib/";
     description = "Generic programming library with representation types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL-image/default.nix b/pkgs/development/libraries/haskell/SDL-image/default.nix
index 6c61813ac30..c744ca41cf9 100644
--- a/pkgs/development/libraries/haskell/SDL-image/default.nix
+++ b/pkgs/development/libraries/haskell/SDL-image/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, SDL, SDL_image }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL_image";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL-mixer/default.nix b/pkgs/development/libraries/haskell/SDL-mixer/default.nix
index 8690d7e8916..7ec8cecd92c 100644
--- a/pkgs/development/libraries/haskell/SDL-mixer/default.nix
+++ b/pkgs/development/libraries/haskell/SDL-mixer/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, SDL, SDL_mixer }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL_mixer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL-ttf/default.nix b/pkgs/development/libraries/haskell/SDL-ttf/default.nix
index f1a0489167e..77c3434216a 100644
--- a/pkgs/development/libraries/haskell/SDL-ttf/default.nix
+++ b/pkgs/development/libraries/haskell/SDL-ttf/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, SDL, SDL_ttf }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL_ttf";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL/default.nix b/pkgs/development/libraries/haskell/SDL/default.nix
index 2fd9c3e0fb6..6eca4791fcf 100644
--- a/pkgs/development/libraries/haskell/SDL/default.nix
+++ b/pkgs/development/libraries/haskell/SDL/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, SDL }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,7 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index 34341270084..2a9c98ef67a 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary }:
 
 cabal.mkDerivation (self: {
   pname = "SHA";
-  version = "1.6.1";
-  sha256 = "1v3a2skkbr64y7x1aqpq1qz03isc42l9hd1viqcsv4qlld595fgx";
+  version = "1.6.4.1";
+  sha256 = "03fwpl8hrl9q197w8v1glqi5g1d51c7hz4m8zi5s8x1yvpbwcfvl";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary ];
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Implementations of the SHA suite of message digest functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/SHA2/default.nix b/pkgs/development/libraries/haskell/SHA2/default.nix
new file mode 100644
index 00000000000..769192146ae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SHA2/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, AES, monadsTf, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "SHA2";
+  version = "0.2.5";
+  sha256 = "1zs79a327x6myfam3p2vr8lmszcaqnkll2qz8n4sy835vz328j40";
+  buildDepends = [ AES monadsTf transformers ];
+  meta = {
+    description = "Fast, incremental SHA hashing for bytestrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/SMTPClient/default.nix b/pkgs/development/libraries/haskell/SMTPClient/default.nix
index 91c128756f4..c070ab8dcaa 100644
--- a/pkgs/development/libraries/haskell/SMTPClient/default.nix
+++ b/pkgs/development/libraries/haskell/SMTPClient/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, hsemail, network }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A simple SMTP client library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/STMonadTrans/default.nix b/pkgs/development/libraries/haskell/STMonadTrans/default.nix
new file mode 100644
index 00000000000..34ef6152cd2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/STMonadTrans/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "STMonadTrans";
+  version = "0.3.2";
+  sha256 = "1cl5bsc5mr3silcmbjylgw5qa04pf2np9mippxnsa4p3dk089gkh";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "A monad transformer version of the ST monad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/SVGFonts/default.nix b/pkgs/development/libraries/haskell/SVGFonts/default.nix
new file mode 100644
index 00000000000..a4bb78eca68
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SVGFonts/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeMarkup, blazeSvg, dataDefaultClass
+, diagramsLib, parsec, split, text, tuple, vector, vectorSpace, xml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "SVGFonts";
+  version = "1.4.0.3";
+  sha256 = "0jkjcf27xqjzv9lny7j181kcma26wngrq3vzw2sp2hwkdcjryyin";
+  buildDepends = [
+    attoparsec blazeMarkup blazeSvg dataDefaultClass diagramsLib parsec
+    split text tuple vector vectorSpace xml
+  ];
+  meta = {
+    description = "Fonts from the SVG-Font format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/SafeSemaphore/default.nix b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix
index d4cc7490277..577af377488 100644
--- a/pkgs/development/libraries/haskell/SafeSemaphore/default.nix
+++ b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, stm }:
 
 cabal.mkDerivation (self: {
   pname = "SafeSemaphore";
-  version = "0.9.0";
-  sha256 = "1xa30cciw8wmri675kdsz4pb5qwrh592pzylbhawqsvsarf80gz4";
+  version = "0.10.1";
+  sha256 = "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91";
   buildDepends = [ stm ];
   testDepends = [ HUnit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac.nix b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
index d896eab923d..1715d62b02b 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "Shellac";
-  version = "0.9.5.1";
-  sha256 = "19fpbh5ijy9xc3rhl9qwyan8jfnz9nsqvnsjxb7kkb7l2bpz4qfp";
+  version = "0.9.5.2";
+  sha256 = "1js9la0hziqsmb56q9kzfycda2sw3xm4kv2y5q2h3zlw5gzc5xli";
   buildDepends = [ mtl ];
   meta = {
-    homepage = "http://www.cs.princeton.edu/~rdockins/shellac/home/";
+    homepage = "http://rwd.rdockins.name/shellac/home/";
     description = "A framework for creating shell envinronments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/StateVar/default.nix b/pkgs/development/libraries/haskell/StateVar/default.nix
index 3b27022bea0..03d21bbba3c 100644
--- a/pkgs/development/libraries/haskell/StateVar/default.nix
+++ b/pkgs/development/libraries/haskell/StateVar/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "State variables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix b/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix
index b7b8b6336e6..2fa2a91efe8 100644
--- a/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix
+++ b/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix
@@ -1,10 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, syb }:
 
 cabal.mkDerivation (self: {
   pname = "Strafunski-StrategyLib";
-  version = "5.0.0.3";
-  sha256 = "1s7410dfzkqd9j8n5g92pvh9rwglngj3ca9ipcr6xsq0n6yhs51y";
+  version = "5.0.0.4";
+  sha256 = "0miffjc8li5l1jarmz8l34z5mx3q68pyxghsi1lbda51bzz3wy1g";
   buildDepends = [ mtl syb ];
+  jailbreak = true;
   meta = {
     description = "Library for strategic programming";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/Stream/default.nix b/pkgs/development/libraries/haskell/Stream/default.nix
index a95b3076137..3e1c1b7b32e 100644
--- a/pkgs/development/libraries/haskell/Stream/default.nix
+++ b/pkgs/development/libraries/haskell/Stream/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, lazysmallcheck, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "Stream";
-  version = "0.4.6.1";
-  sha256 = "19z052rd0varq5cbw0i0f0vkbpb40kqg6i93kz2brk6a101q5llp";
+  version = "0.4.7.1";
+  sha256 = "08h0h6pwvfcj92n7mk5za36x9agpqnax12cjlvd68zwghjf9qxy3";
   buildDepends = [ lazysmallcheck QuickCheck ];
   meta = {
     description = "A library for manipulating infinite lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/TCache/default.nix b/pkgs/development/libraries/haskell/TCache/default.nix
new file mode 100644
index 00000000000..9c2638302a5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/TCache/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashtables, mtl, RefSerialize, stm, text }:
+
+cabal.mkDerivation (self: {
+  pname = "TCache";
+  version = "0.12.0";
+  sha256 = "0marslz5jg66r3i2d0yjjrj11bpywpadcxs5k4j6782iczxybd7s";
+  buildDepends = [ hashtables mtl RefSerialize stm text ];
+  meta = {
+    description = "A Transactional cache with user-defined persistence";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/TableAlgebra/default.nix b/pkgs/development/libraries/haskell/TableAlgebra/default.nix
index c4960813f3e..396f2366d15 100644
--- a/pkgs/development/libraries/haskell/TableAlgebra/default.nix
+++ b/pkgs/development/libraries/haskell/TableAlgebra/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HaXml, mtl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Ferry Table Algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Tensor/default.nix b/pkgs/development/libraries/haskell/Tensor/default.nix
index d62b42833a3..55c110b7521 100644
--- a/pkgs/development/libraries/haskell/Tensor/default.nix
+++ b/pkgs/development/libraries/haskell/Tensor/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Tensor data types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Thrift/default.nix b/pkgs/development/libraries/haskell/Thrift/default.nix
new file mode 100644
index 00000000000..6e37fe2ca49
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Thrift/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, HTTP, network }:
+
+cabal.mkDerivation (self: {
+  pname = "Thrift";
+  version = "0.6.0.1";
+  sha256 = "0yk496zql0jpyj83ybdzffc03sylf5pwn093k831m99j54l2r5yv";
+  buildDepends = [ binary HTTP network ];
+  meta = {
+    homepage = "http://thrift.apache.org";
+    description = "Haskell bindings for the Apache Thrift RPC system";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/TypeCompose/default.nix b/pkgs/development/libraries/haskell/TypeCompose/default.nix
new file mode 100644
index 00000000000..de5f41ab384
--- /dev/null
+++ b/pkgs/development/libraries/haskell/TypeCompose/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "TypeCompose";
+  version = "0.9.10";
+  sha256 = "1wpldqdf6czl36fs4pvvj2z3kg1487sanqncp4rbmgrrhbfmqxxq";
+  meta = {
+    homepage = "https://github.com/conal/TypeCompose";
+    description = "Type composition classes & instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Unixutils/default.nix b/pkgs/development/libraries/haskell/Unixutils/default.nix
new file mode 100644
index 00000000000..baabbbc6546
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Unixutils/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, pureMD5, regexTdfa, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "Unixutils";
+  version = "1.52";
+  sha256 = "1gp04mc6irycwazykl9kpyhkkryn3hbnpn08ih6cjbsm3p8yi8b4";
+  buildDepends = [ filepath pureMD5 regexTdfa zlib ];
+  meta = {
+    homepage = "http://src.seereason.com/haskell-unixutils";
+    description = "A crude interface between Haskell and Unix-like operating systems";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Vec/default.nix b/pkgs/development/libraries/haskell/Vec/default.nix
index 85fdcfd0b4a..eab20222769 100644
--- a/pkgs/development/libraries/haskell/Vec/default.nix
+++ b/pkgs/development/libraries/haskell/Vec/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "Vec";
-  version = "1.0.1";
-  sha256 = "1v0v0ph881vynx8q8xwmn9da6qrd16g83q5i132nxys3ynl5s76m";
+  version = "1.0.5";
+  sha256 = "0hyk553pdn72zc1i82njz3md8ycmzfiwi799y08qr3fg0i8r88zm";
   meta = {
     homepage = "http://github.net/sedillard/Vec";
     description = "Fixed-length lists and low-dimensional linear algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix b/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix
deleted file mode 100644
index d69ac78b83d..00000000000
--- a/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb, WebBits }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits-Html";
-  version = "1.0.1";
-  sha256 = "134rmm5ccfsjdr0pdwn2mf81l81rgxapa3wjjfjkxrkxq6hav35n";
-  buildDepends = [ mtl parsec syb WebBits ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = "LGPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix b/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix
deleted file mode 100644
index 26f14a08774..00000000000
--- a/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb, WebBits }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits-Html";
-  version = "1.0.2";
-  sha256 = "18dd52970cd27kra4l89vvrx2mrdbqd4w4f76xrq3142daxsagal";
-  buildDepends = [ mtl parsec syb WebBits ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = "LGPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits/1.0.nix b/pkgs/development/libraries/haskell/WebBits/1.0.nix
deleted file mode 100644
index 49bcd8ed112..00000000000
--- a/pkgs/development/libraries/haskell/WebBits/1.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits";
-  version = "1.0";
-  sha256 = "1xqk4ajywlaq9nb9a02i7c25na5p2qbpc2k9zw93gbapppjiapsc";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits/2.0.nix b/pkgs/development/libraries/haskell/WebBits/2.0.nix
deleted file mode 100644
index 0638ce06ef9..00000000000
--- a/pkgs/development/libraries/haskell/WebBits/2.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits";
-  version = "2.0";
-  sha256 = "14a1rqlq925f6rdbi8yx44xszj5pvskcmw1gi1bj8hbilgmlwi7f";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits/2.2.nix b/pkgs/development/libraries/haskell/WebBits/2.2.nix
deleted file mode 100644
index 4240d7b9ce9..00000000000
--- a/pkgs/development/libraries/haskell/WebBits/2.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits";
-  version = "2.2";
-  sha256 = "1frmnjbpgm76dzs1p4766fb6isqc3pxv4dnj8sdhnfliv5j0xv2z";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://github.com/brownplt/webbits";
-    description = "JavaScript analysis tools";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/Workflow/default.nix b/pkgs/development/libraries/haskell/Workflow/default.nix
new file mode 100644
index 00000000000..7dd6f298576
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Workflow/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, exceptions, extensibleExceptions, mtl
+, RefSerialize, stm, TCache, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Workflow";
+  version = "0.8.1";
+  sha256 = "0z23g68gcbbn43i78cql4is9js3m4z16rm2x8s57f73n0hx7f00l";
+  buildDepends = [
+    binary exceptions extensibleExceptions mtl RefSerialize stm TCache
+    vector
+  ];
+  meta = {
+    description = "Workflow patterns over a monad for thread state logging & recovery";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/X11-xft/default.nix b/pkgs/development/libraries/haskell/X11-xft/default.nix
index 1690ec9031e..df9ddb1e277 100644
--- a/pkgs/development/libraries/haskell/X11-xft/default.nix
+++ b/pkgs/development/libraries/haskell/X11-xft/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, fontconfig, freetype, libXft, pkgconfig, utf8String, X11
 }:
 
@@ -13,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Bindings to the Xft, X Free Type interface library, and some Xrender parts";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix
index c304a58b9a5..fbd5e2c0c7b 100644
--- a/pkgs/development/libraries/haskell/X11/default.nix
+++ b/pkgs/development/libraries/haskell/X11/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefault, libX11, libXext, libXinerama, libXrandr
 , libXrender
 }:
 
 cabal.mkDerivation (self: {
   pname = "X11";
-  version = "1.6.1.1";
-  sha256 = "1bkfnxcmf8qia0l3x5n3j4f1zakjwnlq0mhdnbpp6v3q2g37brbw";
+  version = "1.6.1.2";
+  sha256 = "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj";
   buildDepends = [ dataDefault ];
   extraLibraries = [
     libX11 libXext libXinerama libXrandr libXrender
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "A binding to the X11 graphics library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Yampa/default.nix b/pkgs/development/libraries/haskell/Yampa/default.nix
new file mode 100644
index 00000000000..a4d1ea666a2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Yampa/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random }:
+
+cabal.mkDerivation (self: {
+  pname = "Yampa";
+  version = "0.9.5";
+  sha256 = "0r6fm2ccls7gbc5s0vbrzrqv6marnzlzc7zr4afkgfk9jsqfmqjh";
+  buildDepends = [ random ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Yampa";
+    description = "Library for programming hybrid systems";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Zwaluw/default.nix b/pkgs/development/libraries/haskell/Zwaluw/default.nix
deleted file mode 100644
index 1cb214b94b0..00000000000
--- a/pkgs/development/libraries/haskell/Zwaluw/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "Zwaluw";
-  version = "0.1";
-  sha256 = "1crvcvni5gzpc1c6cnaqqp0gng1l9gk9d8ac23967nvp82xav7s1";
-  meta = {
-    homepage = "https://github.com/MedeaMelana/Zwaluw";
-    description = "Combinators for bidirectional URL routing";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix b/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix
new file mode 100644
index 00000000000..a5d171f177b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, abstractDeque, HUnit, random, testFramework
+, testFrameworkHunit, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "abstract-deque-tests";
+  version = "0.3";
+  sha256 = "19gb5x5z3nvazdra3skm24c2g2byj0i4cjbzfwfghnb5q96gn5sz";
+  buildDepends = [
+    abstractDeque HUnit random testFramework testFrameworkHunit time
+  ];
+  testDepends = [
+    abstractDeque HUnit random testFramework testFrameworkHunit time
+  ];
+  meta = {
+    homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+    description = "A test-suite for any queue or double-ended queue satisfying an interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix
index 263cd049a3d..0bd1a7c5936 100644
--- a/pkgs/development/libraries/haskell/abstract-deque/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-deque/default.nix
@@ -1,17 +1,17 @@
-{ cabal, HUnit, random, testFramework, testFrameworkHunit }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, time }:
 
 cabal.mkDerivation (self: {
   pname = "abstract-deque";
-  version = "0.2.2";
-  sha256 = "12g4y3j59nkjw9ja247m8ydhj6a033lzfbqkp4a5slrqdxfdlvyb";
-  buildDepends = [ HUnit random testFramework testFrameworkHunit ];
-  testDepends = [ HUnit random testFramework testFrameworkHunit ];
+  version = "0.3";
+  sha256 = "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9";
+  buildDepends = [ random time ];
   doCheck = false;
   meta = {
-    homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
+    homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
     description = "Abstract, parameterized interface to mutable Deques";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/abstract-par/default.nix b/pkgs/development/libraries/haskell/abstract-par/default.nix
index 033fc242321..9c7319297ee 100644
--- a/pkgs/development/libraries/haskell/abstract-par/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-par/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
   pname = "abstract-par";
-  version = "0.3.1";
-  sha256 = "0qzv520823b07hrr49rnpzayh96m6cjrmb1cn9l0dn80j6k9xayk";
+  version = "0.3.3";
+  sha256 = "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4";
   buildDepends = [ deepseq ];
   meta = {
     homepage = "https://github.com/simonmar/monad-par";
     description = "Type classes generalizing the functionality of the 'monad-par' library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
index cabfccc0266..3bb444eec68 100644
--- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, accelerate, binary, cryptohash, cuda, fclabels, filepath
 , hashable, hashtables, languageCQuote, mainlandPretty, mtl
 , SafeSemaphore, srcloc, text, transformers, unorderedContainers
@@ -5,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "accelerate-cuda";
-  version = "0.13.0.4";
-  sha256 = "0zdb02mj9sbkj51a1q7sl6kmjx51gvps52dwc70qpm3rk71qnp1k";
+  version = "0.14.0.0";
+  sha256 = "1qms1w5rjjd77lldds2ljj9zr15dybnsaq8vxfyb5a4diq12bmi5";
   buildDepends = [
     accelerate binary cryptohash cuda fclabels filepath hashable
     hashtables languageCQuote mainlandPretty mtl SafeSemaphore srcloc
@@ -17,7 +19,7 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/AccelerateHS/accelerate-cuda/";
     description = "Accelerate backend for NVIDIA GPUs";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-examples/default.nix b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
index b9536052dd2..fcd4bb744dd 100644
--- a/pkgs/development/libraries/haskell/accelerate-examples/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
@@ -1,29 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, accelerate, accelerateCuda, accelerateFft, accelerateIo
-, attoparsec, bmp, bytestringLexing, cereal, cmdargs, criterion
-, cuda, deepseq, fclabels, filepath, gloss, hashtables, mtl
-, mwcRandom, pgm, QuickCheck, random, repa, repaIo, testFramework
-, testFrameworkQuickcheck2, vector, vectorAlgorithms
+, attoparsec, bmp, bytestringLexing, cereal, criterion, ekg
+, fclabels, filepath, gloss, glossAccelerate, glossRasterAccelerate
+, HUnit, mwcRandom, primitive, QuickCheck, random, repa, repaIo
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, vector, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate-examples";
-  version = "0.13.0.0";
-  sha256 = "18f8p47sf10zn678540qzzf5pl18w9f068s83lpz4lk0r5gf4lzx";
+  version = "0.14.0.0";
+  sha256 = "01hxww3ypjlcfimkvf7gxl2g7msad2yw1d6m0h4kkfqvpx84nfwr";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     accelerate accelerateCuda accelerateFft accelerateIo attoparsec bmp
-    bytestringLexing cereal cmdargs criterion cuda deepseq fclabels
-    filepath gloss hashtables mtl mwcRandom pgm QuickCheck random repa
-    repaIo testFramework testFrameworkQuickcheck2 vector
-    vectorAlgorithms
+    bytestringLexing cereal criterion ekg fclabels filepath gloss
+    glossAccelerate glossRasterAccelerate HUnit mwcRandom primitive
+    QuickCheck random repa repaIo testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 vector vectorAlgorithms
   ];
   configureFlags = "-f-opencl";
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate-examples";
     description = "Examples using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-fft/default.nix b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
index b3c1cb90b29..e2f4fade736 100644
--- a/pkgs/development/libraries/haskell/accelerate-fft/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
@@ -1,14 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, accelerate, accelerateCuda, cuda, cufft }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate-fft";
-  version = "0.13.0.0";
-  sha256 = "0gqdb7m0qf8wvccqnz9pafbvas3viwhr9i422cmfvjpxsmnzlcp7";
+  version = "0.14.0.0";
+  sha256 = "1rsrgrqn1gdds2wvv1mgzd3yg2mvbkgnj63ygjyzsk9j00wavd1g";
   buildDepends = [ accelerate accelerateCuda cuda cufft ];
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate-fft";
     description = "FFT using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-io/default.nix b/pkgs/development/libraries/haskell/accelerate-io/default.nix
index 48c2ea71e17..b8131da6c08 100644
--- a/pkgs/development/libraries/haskell/accelerate-io/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-io/default.nix
@@ -1,15 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, accelerate, bmp, repa, vector }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate-io";
-  version = "0.13.0.2";
-  sha256 = "0lm1kkjs5gbd70k554vi9977v4bxxcxaw39r9wmwxf8nx2qxvshh";
+  version = "0.14.0.0";
+  sha256 = "1vvjmsfaz5xbvvb4x2fym43xvcjv41baxlfhlycgizaca4yw8w9h";
   buildDepends = [ accelerate bmp repa vector ];
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate-io";
     description = "Read and write Accelerate arrays in various formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate/default.nix b/pkgs/development/libraries/haskell/accelerate/default.nix
index b7979f6f5f2..5ab212a58a1 100644
--- a/pkgs/development/libraries/haskell/accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate/default.nix
@@ -1,16 +1,22 @@
-{ cabal, fclabels, hashable, hashtables }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fclabels, hashable, hashtables, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate";
-  version = "0.13.0.5";
-  sha256 = "1vqkv3k0w1zy0111a786npf3hypbcg675lbdkv2cf3zx5hqcnn6j";
-  buildDepends = [ fclabels hashable hashtables ];
+  version = "0.14.0.0";
+  sha256 = "0b6mnv5l2vrbljak2yx9akpsyqc0qg1il54w0rlfm29fgqknlhjh";
+  buildDepends = [
+    fclabels hashable hashtables unorderedContainers
+  ];
   jailbreak = true;
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate/";
     description = "An embedded language for accelerated array processing";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/acid-state/default.nix b/pkgs/development/libraries/haskell/acid-state/default.nix
index 8b9bce21d73..c7067dd6602 100644
--- a/pkgs/development/libraries/haskell/acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/acid-state/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, extensibleExceptions, filepath, mtl, network
 , safecopy, stm
 }:
 
 cabal.mkDerivation (self: {
   pname = "acid-state";
-  version = "0.12.1";
-  sha256 = "0smqhj4layckdsm8xjz1rwgpcqwm5xj2vr8g4i463vgq776fl0q6";
+  version = "0.12.2";
+  sha256 = "0hwi2254bj84djxmah23vy3xw8binh75fsn8ac6y89rwc8i35w1f";
   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 1d6df75e5fa..a13113cde4e 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, newtype, QuickCheck, semigroupoids, semigroups
 , vectorSpace
 }:
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.8";
-  sha256 = "1q2zrx1i5j04c9bss7c19nm6lqasmwxyfzkh49my7yaik95k7bw9";
+  version = "0.1.0.16";
+  sha256 = "0x4z9n0avk9pr9v64vfmbbpxx2n6cl32d8sw8y2w61345s2z628k";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
   testDepends = [
     newtype QuickCheck semigroupoids semigroups vectorSpace
diff --git a/pkgs/development/libraries/haskell/ad/default.nix b/pkgs/development/libraries/haskell/ad/default.nix
new file mode 100644
index 00000000000..d53d11385f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ad/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, dataReify, doctest, erf, filepath, free, mtl
+, nats, reflection, tagged, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ad";
+  version = "4.2.0.1";
+  sha256 = "06vjllcrnr4dv5h3xkcy5zhnhyamp6b6jahpnh2y0i6mp2bdw0pz";
+  buildDepends = [
+    comonad dataReify erf free mtl nats reflection tagged transformers
+  ];
+  testDepends = [ doctest filepath mtl ];
+  meta = {
+    homepage = "http://github.com/ekmett/ad";
+    description = "Automatic Differentiation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/adjunctions/default.nix b/pkgs/development/libraries/haskell/adjunctions/default.nix
new file mode 100644
index 00000000000..f02aa9df5dd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/adjunctions/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, contravariant, distributive, free, mtl
+, profunctors, semigroupoids, semigroups, tagged, transformers
+, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "adjunctions";
+  version = "4.2";
+  sha256 = "07r56r6kyd6wlcxxnsnnyv59pyc8s1gsy54kzwmk9yknks5rij9i";
+  buildDepends = [
+    comonad contravariant distributive free mtl profunctors
+    semigroupoids semigroups tagged transformers void
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/adjunctions/";
+    description = "Adjunctions and representable functors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson-pretty/default.nix b/pkgs/development/libraries/haskell/aeson-pretty/default.nix
index d51274c83e9..7bc2beb3b30 100644
--- a/pkgs/development/libraries/haskell/aeson-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-pretty/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, cmdargs, text, unorderedContainers
 , vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "aeson-pretty";
-  version = "0.7";
-  sha256 = "0zkqs3f4mr0v0j582h9ssq7dxgfkk59s7y66b640hc4zf0b5p7g7";
+  version = "0.7.1";
+  sha256 = "0gmm1kmdbanfyfdyij1gnazycp1x9703qfa5hgrz39j9046zg3y6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/aeson-qq/default.nix b/pkgs/development/libraries/haskell/aeson-qq/default.nix
new file mode 100644
index 00000000000..2090a20fa8d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson-qq/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, haskellSrcMeta, hspec, parsec, text, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "aeson-qq";
+  version = "0.7.2";
+  sha256 = "1h4agwl8kr6qpy4775pxmaizhlzbwjqb23pxn2vvz9wbm2vnixwk";
+  buildDepends = [ aeson haskellSrcMeta parsec text vector ];
+  testDepends = [ aeson haskellSrcMeta hspec parsec text vector ];
+  meta = {
+    homepage = "http://github.com/zalora/aeson-qq";
+    description = "JSON quasiquoter for Haskell";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson-utils/default.nix b/pkgs/development/libraries/haskell/aeson-utils/default.nix
new file mode 100644
index 00000000000..db783c012bc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson-utils/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, scientific, text }:
+
+cabal.mkDerivation (self: {
+  pname = "aeson-utils";
+  version = "0.2.2.1";
+  sha256 = "0sj4kdcxcj2wnf3s109yxq8gghz976hkiqs19bjcp6qkzdf5w6sd";
+  buildDepends = [ aeson attoparsec scientific text ];
+  jailbreak = true;
+  meta = {
+    description = "Utilities for working with Aeson";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
new file mode 100644
index 00000000000..5dca4bc9062
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
+, mtl, QuickCheck, scientific, syb, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aeson";
+  version = "0.7.0.4";
+  sha256 = "009grccll41mkf7rarpcrn06l8vc0q0y8l4j9nbdfcl89153rj2k";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
+    text time unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/bos/aeson";
+    description = "Fast JSON parsing and encoding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
new file mode 100644
index 00000000000..b5626f63932
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
+, mtl, QuickCheck, scientific, syb, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aeson";
+  version = "0.7.0.6";
+  sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
+    text time unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/bos/aeson";
+    description = "Fast JSON parsing and encoding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
new file mode 100644
index 00000000000..de9708f2546
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
+, mtl, QuickCheck, scientific, syb, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aeson";
+  version = "0.8.0.0";
+  sha256 = "0p2x03wjawhav87jp57vwclra0gjwn1gqk74zgnji25ypwsvgkk4";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
+    text time unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/bos/aeson";
+    description = "Fast JSON parsing and encoding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/default.nix
deleted file mode 100644
index edd2a21040e..00000000000
--- a/pkgs/development/libraries/haskell/aeson/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, mtl
-, QuickCheck, syb, testFramework, testFrameworkQuickcheck2, text
-, time, unorderedContainers, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "aeson";
-  version = "0.6.2.1";
-  sha256 = "00fa13qr38s4c0fwfvpks3x3sb21kh71cv1v0x2zqg0adnaydknb";
-  buildDepends = [
-    attoparsec blazeBuilder deepseq dlist hashable mtl syb text time
-    unorderedContainers vector
-  ];
-  testDepends = [
-    attoparsec QuickCheck testFramework testFrameworkQuickcheck2 text
-    time unorderedContainers vector
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/bos/aeson";
-    description = "Fast JSON parsing and encoding";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/algebra/default.nix b/pkgs/development/libraries/haskell/algebra/default.nix
new file mode 100644
index 00000000000..1e054a1cdb4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/algebra/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, adjunctions, distributive, mtl, nats, semigroupoids
+, semigroups, tagged, transformers, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "algebra";
+  version = "4.1";
+  sha256 = "1wcwpngaqnr9w89p5dycmpsaihdwqqrs2vjap6jfwrscq16yyyc6";
+  buildDepends = [
+    adjunctions distributive mtl nats semigroupoids semigroups tagged
+    transformers void
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/algebra/";
+    description = "Constructive abstract algebra";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/alsa-core/default.nix b/pkgs/development/libraries/haskell/alsa-core/default.nix
index 140d554e88c..84f1485856f 100644
--- a/pkgs/development/libraries/haskell/alsa-core/default.nix
+++ b/pkgs/development/libraries/haskell/alsa-core/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alsaLib, extensibleExceptions }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     homepage = "http://www.haskell.org/haskellwiki/ALSA";
     description = "Binding to the ALSA Library API (Exceptions)";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/alsa-mixer/default.nix b/pkgs/development/libraries/haskell/alsa-mixer/default.nix
new file mode 100644
index 00000000000..0e097223f84
--- /dev/null
+++ b/pkgs/development/libraries/haskell/alsa-mixer/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alsaCore, alsaLib, c2hs }:
+
+cabal.mkDerivation (self: {
+  pname = "alsa-mixer";
+  version = "0.2.0.2";
+  sha256 = "11sc2n879a8rb9yz54cb8vg8rplgapbymzy785p7n7638xx877hk";
+  buildDepends = [ alsaCore ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ alsaLib ];
+  meta = {
+    homepage = "https://github.com/ttuegel/alsa-mixer";
+    description = "Bindings to the ALSA simple mixer API";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.stdenv.lib.platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/alsa-pcm/default.nix b/pkgs/development/libraries/haskell/alsa-pcm/default.nix
index 3d1091f2702..e1ac0ea257e 100644
--- a/pkgs/development/libraries/haskell/alsa-pcm/default.nix
+++ b/pkgs/development/libraries/haskell/alsa-pcm/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alsaCore, alsaLib, extensibleExceptions, sampleFrame
 , storableRecord
 }:
 
 cabal.mkDerivation (self: {
   pname = "alsa-pcm";
-  version = "0.6";
-  sha256 = "10cmlf1s9y65cs81wn7xwgcd4218n3h3p34avibv3fa7n3q9b4x1";
+  version = "0.6.0.3";
+  sha256 = "0rq0i17xhd0x7dnlhdf3i1fdvmyxrsbm0w0k9lrx20xpy4gw2zfs";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,6 +18,6 @@ cabal.mkDerivation (self: {
     homepage = "http://www.haskell.org/haskellwiki/ALSA";
     description = "Binding to the ALSA Library API (PCM audio)";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/alternative-io/default.nix b/pkgs/development/libraries/haskell/alternative-io/default.nix
deleted file mode 100644
index 9daf9406742..00000000000
--- a/pkgs/development/libraries/haskell/alternative-io/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, liftedBase, monadControl, transformers, transformersBase
-}:
-
-cabal.mkDerivation (self: {
-  pname = "alternative-io";
-  version = "0.0.1";
-  sha256 = "01hypbci3hw2czkmx78ls51ycx518ich4k753jgv0z8ilrq8isch";
-  buildDepends = [
-    liftedBase monadControl transformers transformersBase
-  ];
-  meta = {
-    description = "IO as Alternative instance (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/amqp/default.nix b/pkgs/development/libraries/haskell/amqp/default.nix
index 432d353a0af..d91d4e1bdb8 100644
--- a/pkgs/development/libraries/haskell/amqp/default.nix
+++ b/pkgs/development/libraries/haskell/amqp/default.nix
@@ -1,19 +1,25 @@
-{ cabal, binary, clock, dataBinaryIeee754, hspec, hspecExpectations
-, network, split, text, xml
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, clock, connection, dataBinaryIeee754, hspec
+, hspecExpectations, monadControl, network, networkUri, split, text
+, vector, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "amqp";
-  version = "0.7.0";
-  sha256 = "09zazmbdw8nphbjkmixn2dpwdgkjqjfbn6jv522ykvrcnsn35kc4";
+  version = "0.10.1";
+  sha256 = "1a2d17h1zhd2yv1zhd0vvr4g1v6nr188gwv12qwljs1v9y4jkbmc";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary clock dataBinaryIeee754 network split text xml
+    binary clock connection dataBinaryIeee754 monadControl network
+    networkUri split text vector xml
   ];
   testDepends = [
-    binary dataBinaryIeee754 hspec hspecExpectations network split text
+    binary clock connection dataBinaryIeee754 hspec hspecExpectations
+    network split text vector
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/hreinhardt/amqp";
     description = "Client library for AMQP servers (currently only RabbitMQ)";
diff --git a/pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix b/pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix
new file mode 100644
index 00000000000..efefdc78f0d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "annotated-wl-pprint";
+  version = "0.5.3";
+  sha256 = "0g8b4hmgh7jhiknfrlaqr9sxr7a6sikkpaws15dy8mg4r792bbis";
+  meta = {
+    homepage = "https://github.com/david-christiansen/annotated-wl-pprint";
+    description = "The Wadler/Leijen Pretty Printer, with annotation support";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
index 6d598f29ec9..ecacc374e43 100644
--- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
@@ -1,16 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "ansi-terminal";
-  version = "0.6";
-  sha256 = "0a5zrq80yrj48s2cm8lns06p6wwnz72vs2wy0ryp0gw6rrg50fkg";
+  version = "0.6.1.1";
+  sha256 = "06pdcpp2z7wk9mkr5lzwk64lqhj09c7l1ah4s3vz7zwrdzfaccwi";
   isLibrary = true;
   isExecutable = true;
   meta = {
-    homepage = "http://batterseapower.github.com/ansi-terminal";
+    homepage = "https://github.com/feuerbach/ansi-terminal";
     description = "Simple ANSI terminal support, with Windows compatibility";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix b/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
index bfccdcffd74..d79f0bc979d 100644
--- a/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal }:
 
 cabal.mkDerivation (self: {
   pname = "ansi-wl-pprint";
-  version = "0.6.6";
-  sha256 = "1zkbiv5cpdgjiyn2nrrha29r84al7jg6647flqmc8riz2nn91zqy";
+  version = "0.6.7.1";
+  sha256 = "1by11bg1bd7z18hqgayk0w76hy5n63kmdl14gainlvfgr9jw506r";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ ansiTerminal ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/appar/default.nix b/pkgs/development/libraries/haskell/appar/default.nix
index 4c2f5a9ce46..ef135f57766 100644
--- a/pkgs/development/libraries/haskell/appar/default.nix
+++ b/pkgs/development/libraries/haskell/appar/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/applicative-quoters/default.nix b/pkgs/development/libraries/haskell/applicative-quoters/default.nix
new file mode 100644
index 00000000000..84bd2e1e438
--- /dev/null
+++ b/pkgs/development/libraries/haskell/applicative-quoters/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcMeta }:
+
+cabal.mkDerivation (self: {
+  pname = "applicative-quoters";
+  version = "0.1.0.8";
+  sha256 = "10m29d0938khjdazsmsvvncr5xndnpzpm1b7ymzb3b4b81xmcpgl";
+  buildDepends = [ haskellSrcMeta ];
+  meta = {
+    description = "Quasiquoters for idiom brackets and an applicative do-notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ariadne/default.nix b/pkgs/development/libraries/haskell/ariadne/default.nix
new file mode 100644
index 00000000000..758d1a90d3b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ariadne/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bert, Cabal, haskellNames, haskellPackages, haskellSrcExts
+, mtl, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ariadne";
+  version = "0.1.2.1";
+  sha256 = "1gx6jrv3s86h02cjx8pvqyklp445ljiysx29hg39qykyhi1q5a3z";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    bert Cabal haskellNames haskellPackages haskellSrcExts mtl
+    utf8String
+  ];
+  meta = {
+    homepage = "https://github.com/feuerbach/ariadne";
+    description = "Go-to-definition for Haskell";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/arithmoi/default.nix b/pkgs/development/libraries/haskell/arithmoi/default.nix
index 181937fdd80..91797435ceb 100644
--- a/pkgs/development/libraries/haskell/arithmoi/default.nix
+++ b/pkgs/development/libraries/haskell/arithmoi/default.nix
@@ -1,10 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, random }:
 
 cabal.mkDerivation (self: {
   pname = "arithmoi";
-  version = "0.4.0.3";
-  sha256 = "0idn312xzly636h13zmm7cw7ki64bpnniqc97nshqzgp8if5ycrc";
+  version = "0.4.1.1";
+  sha256 = "02wrm24dpcsdsjaic30416axad5s4y822si1am4smb2qvrhps9ix";
   buildDepends = [ mtl random ];
+  configureFlags = "-f-llvm";
+  jailbreak = true;
   meta = {
     homepage = "https://bitbucket.org/dafis/arithmoi";
     description = "Efficient basic number-theoretic functions. Primes, powers, integer logarithms.";
diff --git a/pkgs/development/libraries/haskell/arrows/default.nix b/pkgs/development/libraries/haskell/arrows/default.nix
index 149f5f951e5..28c691c7212 100644
--- a/pkgs/development/libraries/haskell/arrows/default.nix
+++ b/pkgs/development/libraries/haskell/arrows/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Stream }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Arrow classes and transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/asn1-data/default.nix b/pkgs/development/libraries/haskell/asn1-data/default.nix
index a90e8e769e2..f0b9945cd62 100644
--- a/pkgs/development/libraries/haskell/asn1-data/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-data/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, mtl, text }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "ASN1 data reader and writer in RAW, BER and DER forms";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/asn1-encoding/default.nix b/pkgs/development/libraries/haskell/asn1-encoding/default.nix
new file mode 100644
index 00000000000..1cc87f5ce5e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/asn1-encoding/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Types, mtl, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "asn1-encoding";
+  version = "0.8.1.3";
+  sha256 = "000rajx9gdxfyx521yg2mvp1z8h61sr96w1lzwawiw7n5ng6v8ni";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ asn1Types mtl text time ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-asn1";
+    description = "ASN1 data reader and writer in RAW, BER and DER forms";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/asn1-parse/default.nix b/pkgs/development/libraries/haskell/asn1-parse/default.nix
new file mode 100644
index 00000000000..5786823ce7b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/asn1-parse/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Encoding, asn1Types, mtl, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "asn1-parse";
+  version = "0.8.1";
+  sha256 = "021mbm5aayfx9vhxq4x1jj3gpnzq0bqaqcl1zsaa2a6l0qzpnmh9";
+  buildDepends = [ asn1Encoding asn1Types mtl text time ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-asn1";
+    description = "Simple monadic parser for ASN1 stream types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/asn1-types/default.nix b/pkgs/development/libraries/haskell/asn1-types/default.nix
index c28885b38ed..ad9492bf3fa 100644
--- a/pkgs/development/libraries/haskell/asn1-types/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-types/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, time }:
 
 cabal.mkDerivation (self: {
   pname = "asn1-types";
-  version = "0.2.1";
-  sha256 = "1gnyvinimxb9vw3gwvsdvja8ascm07v9f5grxh42fzqkx6fm5xvr";
+  version = "0.2.3";
+  sha256 = "1cdzhj6zls6qmy82218cj2a25b7rkxsjbcqnx4zng3wp6s5pghw4";
   buildDepends = [ time ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-asn1-types";
diff --git a/pkgs/development/libraries/haskell/assert-failure/default.nix b/pkgs/development/libraries/haskell/assert-failure/default.nix
new file mode 100644
index 00000000000..2ba1b50c5ca
--- /dev/null
+++ b/pkgs/development/libraries/haskell/assert-failure/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, prettyShow, text }:
+
+cabal.mkDerivation (self: {
+  pname = "assert-failure";
+  version = "0.1.1.0";
+  sha256 = "09djlhhyn9w822a5r41y7gk4cqk74a2fy7skzml2bah2an166gm1";
+  buildDepends = [ prettyShow text ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/Mikolaj/assert-failure";
+    description = "Syntactic sugar improving 'assert' and 'error'";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.3.nix b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
index 1b943208dea..a60830309e7 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.3.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, stm, testFramework, testFrameworkHunit }:
 
 cabal.mkDerivation (self: {
@@ -6,11 +8,12 @@ cabal.mkDerivation (self: {
   sha256 = "1rbjr6xw5sp8npw17fxg0942kikssv2hyci2sy26r0na98483mkh";
   buildDepends = [ stm ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/simonmar/async";
     description = "Run IO operations asynchronously and wait for their results";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.4.nix b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
index 5dd76b4d6e0..7a050defb4d 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.4.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, stm, testFramework, testFrameworkHunit }:
 
 cabal.mkDerivation (self: {
@@ -6,11 +8,12 @@ cabal.mkDerivation (self: {
   sha256 = "1hi40bjwpl65mz7zj0sgh16bp9dwafbm5ysi2q8fzwwq5l0zxpa1";
   buildDepends = [ stm ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/simonmar/async";
     description = "Run IO operations asynchronously and wait for their results";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.5.nix b/pkgs/development/libraries/haskell/async/2.0.1.5.nix
new file mode 100644
index 00000000000..a4251e9e80b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/async/2.0.1.5.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, stm, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "async";
+  version = "2.0.1.5";
+  sha256 = "0g587b64zgn971qb2lh846ihg4z89037f18821kyaqsgixasq4yd";
+  buildDepends = [ stm ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/simonmar/async";
+    description = "Run IO operations asynchronously and wait for their results";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/atomic-primops/default.nix b/pkgs/development/libraries/haskell/atomic-primops/default.nix
index b542816f05b..466a4429091 100644
--- a/pkgs/development/libraries/haskell/atomic-primops/default.nix
+++ b/pkgs/development/libraries/haskell/atomic-primops/default.nix
@@ -1,12 +1,14 @@
-{ cabal, bitsAtomic, Cabal, primitive }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, primitive }:
 
 cabal.mkDerivation (self: {
   pname = "atomic-primops";
-  version = "0.4";
-  sha256 = "01sg0yn25fs0z7dmrvhyp3amay9l028xs570xhy6vvplrji1mxf0";
-  buildDepends = [ bitsAtomic Cabal primitive ];
+  version = "0.6.0.6";
+  sha256 = "10i9s6d9951z9bf88w1vxcfb9z9axm2q4kf8wy6zd5gcc8hm7wcb";
+  buildDepends = [ primitive ];
   meta = {
-    homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
+    homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
     description = "A safe approach to CAS and other atomic ops in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/attempt/default.nix b/pkgs/development/libraries/haskell/attempt/default.nix
index c000002d499..3f95f14c35c 100644
--- a/pkgs/development/libraries/haskell/attempt/default.nix
+++ b/pkgs/development/libraries/haskell/attempt/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, failure }:
 
 cabal.mkDerivation (self: {
   pname = "attempt";
-  version = "0.4.0";
-  sha256 = "0n7srd1gy1fa0q1qzizvdgmrc078jyx47115aw85vvl74vh9qyjy";
+  version = "0.4.0.1";
+  sha256 = "1gvq04ds62kk88r2210mxd1fggp6vf5p8j5hci9vqkkss1hy9rxh";
   buildDepends = [ failure ];
   meta = {
     homepage = "http://github.com/snoyberg/attempt/tree/master";
-    description = "Concrete data type for handling extensible exceptions as failures";
+    description = "Concrete data type for handling extensible exceptions as failures. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/atto-lisp/default.nix b/pkgs/development/libraries/haskell/atto-lisp/default.nix
new file mode 100644
index 00000000000..9ee9ecd7a28
--- /dev/null
+++ b/pkgs/development/libraries/haskell/atto-lisp/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, HUnit
+, testFramework, testFrameworkHunit, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "atto-lisp";
+  version = "0.2.1.2";
+  sha256 = "0xl5b0gblab3v2sfaxvx3z96660r9xp1m2n3ri6aph3kldbpkfcg";
+  buildDepends = [
+    attoparsec blazeBuilder blazeTextual deepseq text
+  ];
+  testDepends = [
+    attoparsec HUnit testFramework testFrameworkHunit text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/nominolo/atto-lisp";
+    description = "Efficient parsing and serialisation of S-Expressions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/attoparsec-binary/default.nix b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix
index 623ae104090..e0950ef517b 100644
--- a/pkgs/development/libraries/haskell/attoparsec-binary/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
index 68b08e50686..b2e64f272fd 100644
--- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
@@ -1,17 +1,17 @@
-{ cabal, attoparsec, conduit, hspec, resourcet, text, transformers
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit }:
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-conduit";
-  version = "1.0.1.2";
-  sha256 = "1j05r7mvm83wgnka7asmwd1dj4ajkg548mryyhpr7dd53vn5lbx0";
-  buildDepends = [ attoparsec conduit text transformers ];
-  testDepends = [ attoparsec conduit hspec resourcet text ];
+  version = "1.1.0";
+  sha256 = "18xn3nzxfghcd88cana1jw85ijv0ysw3bp36fb6r5wsf6m79z01y";
+  buildDepends = [ conduit ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
-    description = "Consume attoparsec parsers via conduit";
+    description = "Consume attoparsec parsers via conduit. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix b/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
index d52687d8080..be5c1b4435a 100644
--- a/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, enumerator, text }:
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-enumerator";
-  version = "0.3.1";
-  sha256 = "10h6i23vhcishp599s4lbp0c46wcba99w6iv4ickdr1avrm9z2m7";
+  version = "0.3.3";
+  sha256 = "0z57bbw97v92dkjp57zj9nfzsdas2n1qfw472k1aa84iqb6hbw9w";
   buildDepends = [ attoparsec enumerator text ];
   meta = {
     homepage = "https://john-millikin.com/software/attoparsec-enumerator/";
     description = "Pass input from an enumerator to an Attoparsec parser";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix
index c352ce7ca8e..f53b32d5365 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, QuickCheck, testFramework
 , testFrameworkQuickcheck2, text
 }:
@@ -15,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Fast combinator parsing for bytestrings and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
new file mode 100644
index 00000000000..ef61d8c79a1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.11.3.1";
+  sha256 = "0mmyab3a9mgmfxj1kc7xgxkmmcdj90ph9nzniv7bf2vyf8vhvirl";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    description = "Fast combinator parsing for bytestrings and text";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
new file mode 100644
index 00000000000..e322f6de4ce
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.11.3.4";
+  sha256 = "1zahmkb0n7jz0di35x3r8s0xnfg1awqybh2x2zicxbwazl4f53hi";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 text
+  ];
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    description = "Fast combinator parsing for bytestrings and text";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
new file mode 100644
index 00000000000..b8e2104f739
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.12.1.1";
+  sha256 = "0whj2wscw9pdf6avnhnqiapsllh6228j4hifyfvr4v0w663plh7p";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    deepseq QuickCheck scientific testFramework
+    testFrameworkQuickcheck2 text
+  ];
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    description = "Fast combinator parsing for bytestrings and text";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
index 2ddd7c05ee9..ae996df0d5b 100644
--- a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
@@ -1,21 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, blazeBuilder, blazeBuilderConduit
-, conduit, cryptoPubkeyTypes, dataDefault, httpConduit, httpTypes
-, monadControl, random, resourcet, RSA, SHA, time, transformers
+, cryptoPubkeyTypes, dataDefault, httpClient, httpTypes, random
+, RSA, SHA, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "authenticate-oauth";
-  version = "1.4.0.7";
-  sha256 = "1pmkj35rpbhgyjrfdg8j51xn9a420aawkwfg28fpxz7kid0cqw8g";
+  version = "1.5";
+  sha256 = "07y9zh4v9by588k86wlyj3czivj5jlb9jk6g4j9p8j1qgbv4hpk9";
   buildDepends = [
-    base64Bytestring blazeBuilder blazeBuilderConduit conduit
-    cryptoPubkeyTypes dataDefault httpConduit httpTypes monadControl
-    random resourcet RSA SHA time transformers
+    base64Bytestring blazeBuilder blazeBuilderConduit cryptoPubkeyTypes
+    dataDefault httpClient httpTypes random RSA SHA time transformers
   ];
   meta = {
     homepage = "http://github.com/yesodweb/authenticate";
     description = "Library to authenticate with OAuth for Haskell web applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index f0a1969ffba..af966ebe7bf 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -1,22 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, blazeBuilder, caseInsensitive, conduit
-, httpConduit, httpTypes, network, tagsoup, text, transformers
-, unorderedContainers, xmlConduit
+, httpConduit, httpTypes, monadControl, networkUri, resourcet
+, tagstreamConduit, text, transformers, unorderedContainers
+, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "authenticate";
-  version = "1.3.2.6";
-  sha256 = "12sgi6q6kajjhh8mns9nklxj0kwn32xs5kzi7wmw50shx0smnjrz";
+  version = "1.3.2.10";
+  sha256 = "1dy38k5jpms3xrkw1zh7vjmx06yr5iibgh50m5i2wky2wmryqkf4";
   buildDepends = [
     aeson attoparsec blazeBuilder caseInsensitive conduit httpConduit
-    httpTypes network tagsoup text transformers unorderedContainers
-    xmlConduit
+    httpTypes monadControl networkUri resourcet tagstreamConduit text
+    transformers unorderedContainers xmlConduit
   ];
   meta = {
     homepage = "http://github.com/yesodweb/authenticate";
     description = "Authentication methods for Haskell web applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/auto-update/default.nix b/pkgs/development/libraries/haskell/auto-update/default.nix
new file mode 100644
index 00000000000..b7c314f9ff9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/auto-update/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec }:
+
+cabal.mkDerivation (self: {
+  pname = "auto-update";
+  version = "0.1.1.1";
+  sha256 = "0ksclbh3d7p2511ji86ind8f6jrh58mz61mc441kfz51ippkdk59";
+  testDepends = [ hspec ];
+  meta = {
+    homepage = "https://github.com/yesodweb/wai";
+    description = "Efficiently run periodic, on-demand actions";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix
new file mode 100644
index 00000000000..d6e8a5fb5ad
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aws/default.nix
@@ -0,0 +1,37 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, base16Bytestring, base64Bytestring
+, blazeBuilder, byteable, caseInsensitive, cereal, conduit
+, conduitExtra, cryptohash, dataDefault, errors, filepath
+, httpConduit, httpTypes, liftedBase, monadControl, mtl, network
+, QuickCheck, quickcheckInstances, resourcet, safe, scientific
+, tagged, tasty, tastyQuickcheck, text, time, transformers
+, unorderedContainers, utf8String, vector, xmlConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aws";
+  version = "0.10.2";
+  sha256 = "15yr06z54wxnl37a94515ajlxrb7z9kii5dd0ssan32izh4nfrl2";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsec base16Bytestring base64Bytestring blazeBuilder
+    byteable caseInsensitive cereal conduit conduitExtra cryptohash
+    dataDefault filepath httpConduit httpTypes liftedBase monadControl
+    mtl network resourcet safe scientific tagged text time transformers
+    unorderedContainers utf8String vector xmlConduit
+  ];
+  testDepends = [
+    aeson errors mtl QuickCheck quickcheckInstances tagged tasty
+    tastyQuickcheck text transformers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/aristidb/aws";
+    description = "Amazon Web Services (AWS) for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/base-compat/default.nix b/pkgs/development/libraries/haskell/base-compat/default.nix
index ca208b7c1a3..6714ad547de 100644
--- a/pkgs/development/libraries/haskell/base-compat/default.nix
+++ b/pkgs/development/libraries/haskell/base-compat/default.nix
@@ -1,10 +1,13 @@
-{ cabal, hspec, setenv }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, errorcallEqInstance, hspec, QuickCheck, setenv }:
 
 cabal.mkDerivation (self: {
   pname = "base-compat";
-  version = "0.2.1";
-  sha256 = "1yssx3nww89dmkw8i55bp1vinbczbxhhh0kh4f3b9fyw5ylnai43";
-  testDepends = [ hspec setenv ];
+  version = "0.5.0";
+  sha256 = "1zlpfpfnaqf8rrha19arh882bc560dcw2zwi4j3qrn3lzyh8s1d1";
+  buildDepends = [ errorcallEqInstance setenv ];
+  testDepends = [ hspec QuickCheck ];
   meta = {
     description = "A compatibility layer for base";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/base-prelude/default.nix b/pkgs/development/libraries/haskell/base-prelude/default.nix
new file mode 100644
index 00000000000..824576293f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/base-prelude/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "base-prelude";
+  version = "0.1.3";
+  sha256 = "07s5j538zxd0hlazqqbz4nwa82rcrmv25v7jr6nxafmgn83mkqhx";
+  meta = {
+    homepage = "https://github.com/nikita-volkov/base-prelude";
+    description = "The most complete prelude formed from only the \"base\" package";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
index 3eccd0a4ffa..1e32a6e26e0 100644
--- a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
+++ b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Unicode alternatives for common functions and operators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
index 3f81258f426..36f0bf6935b 100644
--- a/pkgs/development/libraries/haskell/base16-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "base16-bytestring";
-  version = "0.1.1.5";
-  sha256 = "1fgd3zdzjfry6jaz8hwhim0p2c35l73cxxambh0ff7p5fqjrlwym";
+  version = "0.1.1.6";
+  sha256 = "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs";
   meta = {
     homepage = "http://github.com/bos/base16-bytestring";
     description = "Fast base16 (hex) encoding and decoding for ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base32-bytestring/default.nix b/pkgs/development/libraries/haskell/base32-bytestring/default.nix
new file mode 100644
index 00000000000..d6f91424da2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/base32-bytestring/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bitsExtras, cpu, hspec, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "base32-bytestring";
+  version = "0.2.1.0";
+  sha256 = "0z0q3fw3jzprgxmq9b2iz98kf4hwl3nydrzlaiwk81aplisfdgkl";
+  buildDepends = [ bitsExtras cpu ];
+  testDepends = [ hspec QuickCheck ];
+  meta = {
+    homepage = "https://github.com/pxqr/base32-bytestring";
+    description = "Fast base32 and base32hex codec for ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index 67450dc8887..39c65dd5250 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2
 }:
@@ -10,11 +12,11 @@ cabal.mkDerivation (self: {
     HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/bos/base64-bytestring";
     description = "Fast base64 encoding and decoding for ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base64-conduit/default.nix b/pkgs/development/libraries/haskell/base64-conduit/default.nix
deleted file mode 100644
index 3a2d044de64..00000000000
--- a/pkgs/development/libraries/haskell/base64-conduit/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, base64Bytestring, conduit, hspec, QuickCheck, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "base64-conduit";
-  version = "1.0.0";
-  sha256 = "10wjgdixk5da48jpm2i91vy3ckdqpbpgba6hzn7ak6d3qac22m9q";
-  buildDepends = [ base64Bytestring conduit ];
-  testDepends = [
-    base64Bytestring conduit hspec QuickCheck transformers
-  ];
-  meta = {
-    homepage = "http://github.com/snoyberg/conduit";
-    description = "Base64-encode and decode streams of bytes";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/base64-string/default.nix b/pkgs/development/libraries/haskell/base64-string/default.nix
index 9e0a781039b..26ab4dc4924 100644
--- a/pkgs/development/libraries/haskell/base64-string/default.nix
+++ b/pkgs/development/libraries/haskell/base64-string/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Base64 implementation for String's";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix
index 8d31acb399f..ab462229aa5 100644
--- a/pkgs/development/libraries/haskell/basic-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, liftedBase, ReadArgs, safe, systemFilepath, text
 , transformers, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "basic-prelude";
-  version = "0.3.6.0";
-  sha256 = "1sm89mva8vkhqp230g965b0k4n3g0c8w4sfsad8m1wh434g3k732";
+  version = "0.3.8";
+  sha256 = "0lywnsds0q1nr466s3pc2izfr58kp23z7ing9k7dlgbmh9cqxypg";
   buildDepends = [
     hashable liftedBase ReadArgs safe systemFilepath text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/benchpress/default.nix b/pkgs/development/libraries/haskell/benchpress/default.nix
index 9218e50b767..44e73f609f3 100644
--- a/pkgs/development/libraries/haskell/benchpress/default.nix
+++ b/pkgs/development/libraries/haskell/benchpress/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, time }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Micro-benchmarking with detailed statistics";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bencoding/default.nix b/pkgs/development/libraries/haskell/bencoding/default.nix
new file mode 100644
index 00000000000..325343985ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bencoding/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, deepseq, hspec, mtl, QuickCheck, text }:
+
+cabal.mkDerivation (self: {
+  pname = "bencoding";
+  version = "0.4.3.0";
+  sha256 = "0f6d3g88y7i4s5wa53771n0fbkbs4na8vpy51wk21b563smdcpcc";
+  buildDepends = [ attoparsec deepseq mtl text ];
+  testDepends = [ attoparsec hspec QuickCheck ];
+  meta = {
+    homepage = "https://github.com/cobit/bencoding";
+    description = "A library for encoding and decoding of BEncode data";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bert/default.nix b/pkgs/development/libraries/haskell/bert/default.nix
new file mode 100644
index 00000000000..a9521076bd7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bert/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, binary, binaryConduit, conduit, conduitExtra, mtl
+, network, parsec, smallcheck, tasty, tastyHunit, tastySmallcheck
+, time, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bert";
+  version = "1.2.2.2";
+  sha256 = "0bjrqgm0dpsrk1nivxmw2wvx33v7z7swgy3p5fb51vg7y81776cz";
+  buildDepends = [
+    binary binaryConduit conduit conduitExtra mtl network parsec time
+    void
+  ];
+  testDepends = [
+    async binary network smallcheck tasty tastyHunit tastySmallcheck
+  ];
+  meta = {
+    homepage = "https://github.com/feuerbach/bert";
+    description = "BERT implementation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
index d7c8fa6debb..8bbfddd781a 100644
--- a/pkgs/development/libraries/haskell/bifunctors/default.nix
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, semigroupoids, semigroups, tagged }:
 
 cabal.mkDerivation (self: {
   pname = "bifunctors";
-  version = "4.1.0.1";
-  sha256 = "1mf1v64g5pr2k1jpc7i4994ki2fp5vkxg4n5v84lfbl2r3kr92yg";
+  version = "4.1.1.1";
+  sha256 = "0b31q6ypndaj6fa9cnkld5k0x3lncp9i28vfkkh6vv4jnnjd6pqi";
   buildDepends = [ semigroupoids semigroups tagged ];
   meta = {
     homepage = "http://github.com/ekmett/bifunctors/";
diff --git a/pkgs/development/libraries/haskell/bimap/default.nix b/pkgs/development/libraries/haskell/bimap/default.nix
index 98814e75a9d..4a9d4aa41bc 100644
--- a/pkgs/development/libraries/haskell/bimap/default.nix
+++ b/pkgs/development/libraries/haskell/bimap/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Bidirectional mapping between two key types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix
new file mode 100644
index 00000000000..37774c1a16a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, conduit, hspec, QuickCheck, quickcheckAssertions
+, resourcet, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "binary-conduit";
+  version = "1.2.2";
+  sha256 = "12dgqydc4zj1ffrcfqpd1dg40dc9hpynj1j69611kzpcqbj275pf";
+  buildDepends = [ binary conduit resourcet vector ];
+  testDepends = [
+    binary conduit hspec QuickCheck quickcheckAssertions resourcet
+  ];
+  meta = {
+    homepage = "http://github.com/qnikst/binary-conduit";
+    description = "data serialization/deserialization conduit library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/binary-shared/default.nix b/pkgs/development/libraries/haskell/binary-shared/default.nix
index 4033565684d..bfeef7c0cb6 100644
--- a/pkgs/development/libraries/haskell/binary-shared/default.nix
+++ b/pkgs/development/libraries/haskell/binary-shared/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Sharing for the binary package";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix b/pkgs/development/libraries/haskell/binary/0.6.0.0.nix
deleted file mode 100644
index 01e909212e8..00000000000
--- a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "binary";
-  version = "0.6.0.0";
-  sha256 = "0p72w7f9nn19g2wggsh8x4z7y9s174f3drz9a5ln4x7h554swcxv";
-  meta = {
-    homepage = "https://github.com/kolmodin/binary";
-    description = "Binary serialisation for Haskell values using lazy ByteStrings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/binary/0.6.1.0.nix b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix
new file mode 100644
index 00000000000..06aca17cde3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "binary";
+  version = "0.6.1.0";
+  sha256 = "0d423k37973f5v9mz9401zmsfdgspnf9h6s9xgr3zh19giz7c3js";
+  meta = {
+    homepage = "https://github.com/kolmodin/binary";
+    description = "Binary serialisation for Haskell values using lazy ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/binary/0.7.1.0.nix b/pkgs/development/libraries/haskell/binary/0.7.1.0.nix
deleted file mode 100644
index 245c80ef1cc..00000000000
--- a/pkgs/development/libraries/haskell/binary/0.7.1.0.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, Cabal, filepath, HUnit, QuickCheck, random, testFramework
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "binary";
-  version = "0.7.1.0";
-  sha256 = "16cb94z57ijw0q3h5p8jbvrv1vmnchsfjhrzvh3gdm3wf75fy8ln";
-  testDepends = [
-    Cabal filepath HUnit QuickCheck random testFramework
-    testFrameworkQuickcheck2
-  ];
-  meta = {
-    homepage = "https://github.com/kolmodin/binary";
-    description = "Binary serialisation for Haskell values using lazy ByteStrings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/binary/0.7.2.1.nix b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
new file mode 100644
index 00000000000..b8803868cd1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, HUnit, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "binary";
+  version = "0.7.2.1";
+  sha256 = "0s0idmcmribgajxxnxdvppnz62qyxwrj9iy34pi7nvm41gj6q5nz";
+  testDepends = [
+    Cabal filepath HUnit QuickCheck random testFramework
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "https://github.com/kolmodin/binary";
+    description = "Binary serialisation for Haskell values using lazy ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bindings-DSL/default.nix b/pkgs/development/libraries/haskell/bindings-DSL/default.nix
index ed2a631419a..846f5d6486d 100644
--- a/pkgs/development/libraries/haskell/bindings-DSL/default.nix
+++ b/pkgs/development/libraries/haskell/bindings-DSL/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "bindings-DSL";
-  version = "1.0.20";
-  sha256 = "11qc02fkmrpy6c1a85lwlz06m4fpvfpbpbxgv5rkyb1amg2cnklq";
+  version = "1.0.21";
+  sha256 = "0fbrl9jfkwlv66v3cv6cj51kk7jjdry0jz8k83bf4mav26123mk9";
   meta = {
-    homepage = "http://bitbucket.org/mauricio/bindings-dsl";
+    homepage = "https://github.com/jwiegley/bindings-dsl/wiki";
     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-GLFW/default.nix b/pkgs/development/libraries/haskell/bindings-GLFW/default.nix
new file mode 100644
index 00000000000..08e14a782bf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bindings-GLFW/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsDSL, HUnit, libX11, libXext, libXfixes, libXi
+, libXrandr, libXxf86vm, mesa, testFramework, testFrameworkHunit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bindings-GLFW";
+  version = "3.0.3.3";
+  sha256 = "0w6vqshlk0c4k4q81xw7kg4j62h3wpccpy8qbiq5ks69w7z13fy4";
+  buildDepends = [ bindingsDSL ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
+  extraLibraries = [
+    libX11 libXext libXfixes libXi libXrandr libXxf86vm mesa
+  ];
+  doCheck = false;
+  meta = {
+    description = "Low-level bindings to GLFW OpenGL library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bindings-libusb/default.nix b/pkgs/development/libraries/haskell/bindings-libusb/default.nix
index aeea654577a..1c2538dba17 100644
--- a/pkgs/development/libraries/haskell/bindings-libusb/default.nix
+++ b/pkgs/development/libraries/haskell/bindings-libusb/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bindingsDSL, libusb }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/bindings-posix/default.nix b/pkgs/development/libraries/haskell/bindings-posix/default.nix
index 8bdf30e36d1..49caa0e491e 100644
--- a/pkgs/development/libraries/haskell/bindings-posix/default.nix
+++ b/pkgs/development/libraries/haskell/bindings-posix/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bindingsDSL }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/bitarray/default.nix b/pkgs/development/libraries/haskell/bitarray/default.nix
index edda97480d8..f063622e8de 100644
--- a/pkgs/development/libraries/haskell/bitarray/default.nix
+++ b/pkgs/development/libraries/haskell/bitarray/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "bitarray";
-  version = "0.0.1";
-  sha256 = "01ijysisw70zaw70hx851axw48agfamdqj21rzzhdqd2ww6bwchb";
+  version = "0.0.1.1";
+  sha256 = "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj";
   meta = {
     homepage = "http://code.haskell.org/~bkomuves/";
     description = "Mutable and immutable bit arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bitmap/default.nix b/pkgs/development/libraries/haskell/bitmap/default.nix
index b120c8cf953..74c78cab706 100644
--- a/pkgs/development/libraries/haskell/bitmap/default.nix
+++ b/pkgs/development/libraries/haskell/bitmap/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A library for handling and manipulating bitmaps (rectangular pixel arrays)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bits-atomic/default.nix b/pkgs/development/libraries/haskell/bits-atomic/default.nix
index e6add5883aa..f45c5a87de9 100644
--- a/pkgs/development/libraries/haskell/bits-atomic/default.nix
+++ b/pkgs/development/libraries/haskell/bits-atomic/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Atomic bit operations on memory locations for low-level synchronization";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bits-extras/default.nix b/pkgs/development/libraries/haskell/bits-extras/default.nix
new file mode 100644
index 00000000000..3876eabfcaf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bits-extras/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "bits-extras";
+  version = "0.1.3";
+  sha256 = "0sy9dksmdx0773bsn8yi5hw4qpgn16g8aqqj888w1x75cbsxr997";
+  isLibrary = true;
+  isExecutable = true;
+  configureFlags = "--ghc-option=-lgcc_s";
+  meta = {
+    description = "Efficient high-level bit operations not found in Data.Bits";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bktrees/default.nix b/pkgs/development/libraries/haskell/bktrees/default.nix
index 70369034eaa..6797a2b950a 100644
--- a/pkgs/development/libraries/haskell/bktrees/default.nix
+++ b/pkgs/development/libraries/haskell/bktrees/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A set data structure with approximate searching";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
index 16c352b7a33..02b7950a481 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
@@ -1,20 +1,17 @@
-{ cabal, blazeBuilder, conduit, hspec, QuickCheck, text
-, transformers
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder-conduit";
-  version = "1.0.0";
-  sha256 = "15q0b0k5dxrp9cw2b4qf9mmjwz1mmxrn3890df5rc9z6yajajrc6";
-  buildDepends = [ blazeBuilder conduit text transformers ];
-  testDepends = [
-    blazeBuilder conduit hspec QuickCheck transformers
-  ];
+  version = "1.1.0";
+  sha256 = "0xxyn3lhcn1bkybhrl5dx68d0adf26ilf34gv0mxkwpfj7m7d3k3";
+  buildDepends = [ conduit ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
-    description = "Convert streams of builders to streams of bytestrings";
+    description = "Convert streams of builders to streams of bytestrings. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
index 00176d215ba..a32b89e2eb7 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, enumerator, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder-enumerator";
-  version = "0.2.0.5";
-  sha256 = "0bbbv9wwzw9ss3d02mszdzxzhg6pcrnpwir9bvby7xkmfqpyffaa";
+  version = "0.2.0.6";
+  sha256 = "0pdw18drvikb465qh43b8wjyvpqj3wcilyczc21fri5ma4mxdkyp";
   buildDepends = [ blazeBuilder enumerator transformers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/meiersi/blaze-builder-enumerator";
     description = "Enumeratees for the incremental conversion of builders to bytestrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 7c2ee140c1a..c031633c233 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder";
-  version = "0.3.2.0";
-  sha256 = "169q318jxhk7rmb8r679zhcdcmcca87d55341cnzajmc0580n6ih";
+  version = "0.3.3.2";
+  sha256 = "038ig1a1iz0hc36l53f5g7h6aiz7b1lggq1d04y3ql9a0553vd40";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/meiersi/blaze-builder";
     description = "Efficient buffered output";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-from-html/default.nix b/pkgs/development/libraries/haskell/blaze-from-html/default.nix
new file mode 100644
index 00000000000..4897e750556
--- /dev/null
+++ b/pkgs/development/libraries/haskell/blaze-from-html/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, tagsoup }:
+
+cabal.mkDerivation (self: {
+  pname = "blaze-from-html";
+  version = "0.3.2.1";
+  sha256 = "1li3zxrgwj5rgk894d9zwfxnx5dfjzkvjlcyck2g7s0awfp2kq4s";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath tagsoup ];
+  meta = {
+    homepage = "http://jaspervdj.be/blaze";
+    description = "Tool to convert HTML to BlazeHtml code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index ec21e3fcd84..e29b4c02521 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, blazeMarkup, HUnit, QuickCheck
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-html";
-  version = "0.6.1.1";
-  sha256 = "08zfmkvahmm613r0nrabwl5zv9ragcrhdqsa8jfdrfdkrf6ckbrc";
+  version = "0.7.0.2";
+  sha256 = "0yqgm5nrryx0qlz9qhpbfxvkwjdbl9876v4gnn0src81j9dzcx2v";
   buildDepends = [ blazeBuilder blazeMarkup text ];
   testDepends = [
     blazeBuilder blazeMarkup HUnit QuickCheck testFramework
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A blazingly fast HTML combinator library for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-markup/default.nix b/pkgs/development/libraries/haskell/blaze-markup/default.nix
index 0c544119d5f..d4b52d54436 100644
--- a/pkgs/development/libraries/haskell/blaze-markup/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-markup/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, HUnit, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-markup";
-  version = "0.5.1.5";
-  sha256 = "0g3smm1ym7h45bkzx94b77ssyg0z0gqfwbnap3ywa2381rb39l74";
+  version = "0.6.1.0";
+  sha256 = "0ydk34y1j8bssdiqw6m70383dh4khbcac3jd7fpr37cx7ighlp7l";
   buildDepends = [ blazeBuilder text ];
   testDepends = [
     blazeBuilder HUnit QuickCheck testFramework testFrameworkHunit
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A blazingly fast markup combinator library for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-svg/default.nix b/pkgs/development/libraries/haskell/blaze-svg/default.nix
index 7b3ec55dc57..bf5bc4c262c 100644
--- a/pkgs/development/libraries/haskell/blaze-svg/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-svg/default.nix
@@ -1,10 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeMarkup, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-svg";
-  version = "0.3.3.0";
-  sha256 = "1wi4nc73ic3qmbx6v9fniacwcz2nlvmp5snn144fdiwb22klfn5f";
+  version = "0.3.4";
+  sha256 = "061011qrpqiyag9549hn0hfikvkrin5wb3cf0zfm9n80cgvzmqd3";
   buildDepends = [ blazeMarkup mtl ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/deepakjois/blaze-svg";
     description = "SVG combinator library";
diff --git a/pkgs/development/libraries/haskell/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix
index ede82e5c2ed..b3f3334684d 100644
--- a/pkgs/development/libraries/haskell/blaze-textual/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, doubleConversion, QuickCheck, testFramework
 , testFrameworkQuickcheck2, text, time, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-textual";
-  version = "0.2.0.8";
-  sha256 = "0zzqh53ywzz8ss58glp3i8is8gry5yqzvdjw4xh95fbbzcz4cgc7";
+  version = "0.2.0.9";
+  sha256 = "1gwy1pjnc2ikxfxn9c751rnydry1hmlfk13k29xnns9vwglf81f0";
   buildDepends = [ blazeBuilder text time vector ];
   testDepends = [
     blazeBuilder doubleConversion QuickCheck testFramework
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Fast rendering of common datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bloomfilter/default.nix b/pkgs/development/libraries/haskell/bloomfilter/default.nix
index 7c8c2d34849..2494f08eaac 100644
--- a/pkgs/development/libraries/haskell/bloomfilter/default.nix
+++ b/pkgs/development/libraries/haskell/bloomfilter/default.nix
@@ -1,10 +1,21 @@
-{ cabal, deepseq }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2
+}:
 
 cabal.mkDerivation (self: {
   pname = "bloomfilter";
-  version = "1.2.6.10";
-  sha256 = "162vp9riwf5q2l1hnw3g157fpwnw185fk41hkgyf8qaavcrz6slv";
+  version = "2.0.0.0";
+  sha256 = "07fif8i5rinysli1mpi92k405kvw8va7w9v9w4wd5bylb87zy77f";
   buildDepends = [ deepseq ];
+  # https://github.com/bos/bloomfilter/pull/8
+  preConfigure = ''
+    sed -i -e "s/0xffffffff/0x7fffffff/" Data/BloomFilter/Easy.hs
+  '';
+  testDepends = [
+    QuickCheck random testFramework testFrameworkQuickcheck2
+  ];
   meta = {
     homepage = "https://github.com/bos/bloomfilter";
     description = "Pure and impure Bloom Filter implementations";
diff --git a/pkgs/development/libraries/haskell/bmp/1.2.2.1.nix b/pkgs/development/libraries/haskell/bmp/1.2.2.1.nix
deleted file mode 100644
index e018ac7a8d2..00000000000
--- a/pkgs/development/libraries/haskell/bmp/1.2.2.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, binary }:
-
-cabal.mkDerivation (self: {
-  pname = "bmp";
-  version = "1.2.2.1";
-  sha256 = "0yxkkvpgavk9im9i9f6zpzc1n5nj2g4qsk4ck51aqz2fv6z1rhiy";
-  buildDepends = [ binary ];
-  meta = {
-    homepage = "http://code.ouroborus.net/bmp";
-    description = "Read and write uncompressed BMP image files";
-    license = self.stdenv.lib.licenses.mit;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/bmp/1.2.5.2.nix b/pkgs/development/libraries/haskell/bmp/1.2.5.2.nix
deleted file mode 100644
index 6c85c9349c9..00000000000
--- a/pkgs/development/libraries/haskell/bmp/1.2.5.2.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, binary }:
-
-cabal.mkDerivation (self: {
-  pname = "bmp";
-  version = "1.2.5.2";
-  sha256 = "0f88f2ynm1fpzbjijy5fa8blfrdv42h5h28hfjlpd4fp0h96in5x";
-  buildDepends = [ binary ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://code.ouroborus.net/bmp";
-    description = "Read and write uncompressed BMP image files";
-    license = self.stdenv.lib.licenses.mit;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/bmp/default.nix b/pkgs/development/libraries/haskell/bmp/default.nix
new file mode 100644
index 00000000000..3147b139409
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bmp/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary }:
+
+cabal.mkDerivation (self: {
+  pname = "bmp";
+  version = "1.2.5.2";
+  sha256 = "0f88f2ynm1fpzbjijy5fa8blfrdv42h5h28hfjlpd4fp0h96in5x";
+  buildDepends = [ binary ];
+  meta = {
+    homepage = "http://code.ouroborus.net/bmp";
+    description = "Read and write uncompressed BMP image files";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bool-extras/default.nix b/pkgs/development/libraries/haskell/bool-extras/default.nix
new file mode 100644
index 00000000000..f180670f9b9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bool-extras/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "bool-extras";
+  version = "0.4.0";
+  sha256 = "008m43f04ncx2c24c241gzwjyyglw8rwpq2gsakqkw0nwz3czs61";
+  meta = {
+    homepage = "http://tom.lokhorst.eu/bool-extras";
+    description = "A fold function for Bool";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boomerang/default.nix b/pkgs/development/libraries/haskell/boomerang/default.nix
index 3e65c0a2dd4..b5d5bc74f80 100644
--- a/pkgs/development/libraries/haskell/boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/boomerang/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "boomerang";
-  version = "1.4.0";
-  sha256 = "1z6sx2r886jms59ah31is0fqkwix2kwxmpnrc6bb2r6xazznxfc9";
+  version = "1.4.3";
+  sha256 = "1i72mrl8n2cbrdi05zn37y1339r13vzvmrcc1zbkcak4c7r004zw";
   buildDepends = [ mtl text ];
   meta = {
     description = "Library for invertible parsing and printing";
diff --git a/pkgs/development/libraries/haskell/bound/default.nix b/pkgs/development/libraries/haskell/bound/default.nix
new file mode 100644
index 00000000000..31e7b053add
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bound/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, binary, bytes, cereal, comonad, doctest
+, filepath, hashable, hashableExtras, preludeExtras, profunctors
+, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bound";
+  version = "1.0.3";
+  sha256 = "0nfcxq87i9lzdkrg7g65cprn4rg9rhn9nyk2jpjh4c1rc7gdn0aq";
+  buildDepends = [
+    bifunctors binary bytes cereal comonad hashable hashableExtras
+    preludeExtras profunctors transformers
+  ];
+  testDepends = [
+    doctest filepath preludeExtras transformers vector
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/bound/";
+    description = "Making de Bruijn Succ Less";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
new file mode 100644
index 00000000000..205b05f30d8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lens, linear, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2, testFrameworkTh
+}:
+
+cabal.mkDerivation (self: {
+  pname = "boundingboxes";
+  version = "0.1.1";
+  sha256 = "1nl0lqgfwd98jzhhw7i4vvd88lpnn8770x2pcbyfzqcyr27079f0";
+  buildDepends = [ lens linear ];
+  testDepends = [
+    lens linear QuickCheck random testFramework
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/fumieval/boundingboxes";
+    description = "The type for 2D bounding box";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
new file mode 100644
index 00000000000..686f4ffbbab
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lens, linear, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2, testFrameworkTh
+}:
+
+cabal.mkDerivation (self: {
+  pname = "boundingboxes";
+  version = "0.2";
+  sha256 = "0xvh1h4papfrf6dg553rx6q8fqi06ff1ivgn4rdx3haqg1zf40hp";
+  buildDepends = [ lens ];
+  testDepends = [
+    lens linear QuickCheck random testFramework
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/fumieval/boundingboxes";
+    description = "The type for 2D bounding box";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boxes/default.nix b/pkgs/development/libraries/haskell/boxes/default.nix
new file mode 100644
index 00000000000..aa2a95b621d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boxes/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, split }:
+
+cabal.mkDerivation (self: {
+  pname = "boxes";
+  version = "0.1.3";
+  sha256 = "1sia3j0x7m68j6j9n7bi1l1yg56ivpkxd95l19xl5vpkg03qizkq";
+  buildDepends = [ split ];
+  meta = {
+    description = "2D text pretty-printing library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/brainfuck/default.nix b/pkgs/development/libraries/haskell/brainfuck/default.nix
index a406d1fa500..3f7849efaf4 100644
--- a/pkgs/development/libraries/haskell/brainfuck/default.nix
+++ b/pkgs/development/libraries/haskell/brainfuck/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Brainfuck interpreter";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bson/default.nix b/pkgs/development/libraries/haskell/bson/default.nix
index 1fa5f3fb79f..2bcace9da74 100644
--- a/pkgs/development/libraries/haskell/bson/default.nix
+++ b/pkgs/development/libraries/haskell/bson/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, cryptohash, dataBinaryIeee754, mtl, network
 , QuickCheck, testFramework, testFrameworkQuickcheck2, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "bson";
-  version = "0.2.3";
-  sha256 = "0p8c4cq8ldspwj4pmg0l8pg8bkwsk9xan07md32ikm4bfqsnv2rb";
+  version = "0.3.1";
+  sha256 = "1kihsjws8sqb44gvilh1zxrqn2bml8gxq2bbanxqb7nr4ymwfkiv";
   buildDepends = [
     binary cryptohash dataBinaryIeee754 mtl network text time
   ];
@@ -15,10 +17,9 @@ cabal.mkDerivation (self: {
   ];
   doCheck = false;
   meta = {
-    homepage = "http://github.com/selectel/bson-haskell";
+    homepage = "http://github.com/mongodb-haskell/bson";
     description = "BSON documents are JSON-like objects with a standard binary encoding";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bv/default.nix b/pkgs/development/libraries/haskell/bv/default.nix
new file mode 100644
index 00000000000..4a2be6244e7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bv/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "bv";
+  version = "0.2.2";
+  sha256 = "0d5hscjakp7dwifa4l8xikyip45y402kf9pbmpfmmnybja23zhg0";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    homepage = "http://bitbucket.org/iago/bv-haskell";
+    description = "Bit-vector arithmetic library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/byteable/default.nix b/pkgs/development/libraries/haskell/byteable/default.nix
index 6e527cc9958..9adc98599e5 100644
--- a/pkgs/development/libraries/haskell/byteable/default.nix
+++ b/pkgs/development/libraries/haskell/byteable/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/bytedump/default.nix b/pkgs/development/libraries/haskell/bytedump/default.nix
index 8290717fa4b..3031f53d839 100644
--- a/pkgs/development/libraries/haskell/bytedump/default.nix
+++ b/pkgs/development/libraries/haskell/bytedump/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/byteorder/default.nix b/pkgs/development/libraries/haskell/byteorder/default.nix
index 86de1da9328..123625233fc 100644
--- a/pkgs/development/libraries/haskell/byteorder/default.nix
+++ b/pkgs/development/libraries/haskell/byteorder/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Exposes the native endianness or byte ordering of the system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytes/default.nix b/pkgs/development/libraries/haskell/bytes/default.nix
new file mode 100644
index 00000000000..4a8877b6a59
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bytes/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, cereal, doctest, filepath, mtl, text, time
+, transformers, transformersCompat, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bytes";
+  version = "0.14.1";
+  sha256 = "023sdwdirvigrdg03f6jrdndm6pkqsmsrwz9ji57dpqg4f5k9jzk";
+  buildDepends = [
+    binary cereal mtl text time transformers transformersCompat void
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/analytics/bytes";
+    description = "Sharing code for serialization between binary and cereal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
index 93c8b2aa229..bcc0f3d0a76 100644
--- a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex }:
 
 cabal.mkDerivation (self: {
   pname = "bytestring-lexing";
-  version = "0.4.3";
-  sha256 = "0dynfrf8ym01v2dl57422h8r75kdlqh2qzqi9yc0f1bmbfqxap6r";
+  version = "0.4.3.2";
+  sha256 = "09ymg1n21668wn4harxg0cqlz98fz990bangpy99w2z7d6cwbc05";
   buildTools = [ alex ];
   meta = {
     homepage = "http://code.haskell.org/~wren/";
     description = "Parse and produce literals efficiently from strict or lazy bytestrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-mmap/default.nix b/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
index 5f9e322fbf0..1be3a48144c 100644
--- a/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "mmap support for strict ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-nums/default.nix b/pkgs/development/libraries/haskell/bytestring-nums/default.nix
index e78a6478151..c311fbe1738 100644
--- a/pkgs/development/libraries/haskell/bytestring-nums/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-nums/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Parse numeric literals from ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-progress/default.nix b/pkgs/development/libraries/haskell/bytestring-progress/default.nix
index c73932b3760..33d6a17b029 100644
--- a/pkgs/development/libraries/haskell/bytestring-progress/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-progress/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, terminalProgressBar, time }:
 
 cabal.mkDerivation (self: {
@@ -5,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "1.0.3";
   sha256 = "1v9cl7d4fcchbdrpbgjj4ilg79cj241vzijiifdsgkq30ikv2yxs";
   buildDepends = [ terminalProgressBar time ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/acw/bytestring-progress";
     description = "A library for tracking the consumption of a lazy ByteString";
diff --git a/pkgs/development/libraries/haskell/bytestring-show/default.nix b/pkgs/development/libraries/haskell/bytestring-show/default.nix
new file mode 100644
index 00000000000..c36bf611ab4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bytestring-show/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary }:
+
+cabal.mkDerivation (self: {
+  pname = "bytestring-show";
+  version = "0.3.5.6";
+  sha256 = "04h81a0bh2fvnkby1qafnydb29gzk6d4d311i2lbn7lm2vyjw919";
+  buildDepends = [ binary ];
+  meta = {
+    homepage = "http://code.haskell.org/~dolio/";
+    description = "Efficient conversion of values into readable byte strings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bytestring-trie/default.nix b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
index 41c31b1fed5..c8a4143e217 100644
--- a/pkgs/development/libraries/haskell/bytestring-trie/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "An efficient finite map from (byte)strings to values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bzlib/default.nix b/pkgs/development/libraries/haskell/bzlib/default.nix
new file mode 100644
index 00000000000..9699cd8cad6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bzlib/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bzip2 }:
+
+cabal.mkDerivation (self: {
+  pname = "bzlib";
+  version = "0.5.0.4";
+  sha256 = "1vf37y7wknrihf7hipd6lihkmn7sszbgfb325my52yzbjs3baccd";
+  extraLibraries = [ bzip2 ];
+  meta = {
+    description = "Compression and decompression in the bzip2 format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
index 90fb53051e2..95ead17f01f 100644
--- a/pkgs/development/libraries/haskell/c2hs/default.nix
+++ b/pkgs/development/libraries/haskell/c2hs/default.nix
@@ -1,17 +1,25 @@
-{ cabal, filepath, languageC }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, HUnit, languageC, shelly, testFramework
+, testFrameworkHunit, text, yaml
+}:
 
 cabal.mkDerivation (self: {
   pname = "c2hs";
-  version = "0.16.5";
-  sha256 = "19h4zppn7ry7p3f7qw1kgsrf6h2bjnknycfrj3ibxys82qpv8m8y";
+  version = "0.17.2";
+  sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath languageC ];
+  testDepends = [
+    filepath HUnit shelly testFramework testFrameworkHunit text yaml
+  ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "https://github.com/haskell/c2hs";
     description = "C->Haskell FFI tool that gives some cross-language type safety";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/c2hsc/default.nix b/pkgs/development/libraries/haskell/c2hsc/default.nix
new file mode 100644
index 00000000000..cf56c0bf545
--- /dev/null
+++ b/pkgs/development/libraries/haskell/c2hsc/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, filepath, HStringTemplate, languageC, mtl, split
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "c2hsc";
+  version = "0.6.5";
+  sha256 = "0c5hzi4nw9n3ir17swbwymkymnpiw958z8r2hw6656ijwqkxvzgd";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cmdargs filepath HStringTemplate languageC mtl split transformers
+  ];
+  meta = {
+    homepage = "https://github.com/jwiegley/c2hsc";
+    description = "Convert C API header files to .hsc and .hsc.helper.c files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
new file mode 100644
index 00000000000..85015f5d4ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, cabalLenses, cmdargs, either, filepath, lens
+, strict, systemFileio, systemFilepath, tasty, tastyGolden, text
+, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-cargs";
+  version = "0.7";
+  sha256 = "1dzmvwmb9sxwdgkzszhk9d5qvq2alnqmprx83dlb17sdi6f9jns1";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal cabalLenses cmdargs either lens strict systemFileio
+    systemFilepath text transformers unorderedContainers
+  ];
+  testDepends = [ filepath tasty tastyGolden ];
+  jailbreak = true;
+  meta = {
+    description = "A command line program for extracting compiler arguments from a cabal file";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cabal-file-th/default.nix b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
index 55b4fea36fe..2b1dcdd6558 100644
--- a/pkgs/development/libraries/haskell/cabal-file-th/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Template Haskell expressions for reading fields from a project's cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
new file mode 100644
index 00000000000..a4ac5164e1f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, lens, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-lenses";
+  version = "0.3";
+  sha256 = "13nx9cn81cx9cj7fk07akqvz4qkl49dlgb5wl5wanag6bafa6vhl";
+  buildDepends = [ Cabal lens unorderedContainers ];
+  meta = {
+    description = "Lenses and traversals for the Cabal library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cabal-macosx/default.nix b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
index 351979627cb..f147fe4b281 100644
--- a/pkgs/development/libraries/haskell/cabal-macosx/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, fgl, filepath, parsec, text }:
 
 cabal.mkDerivation (self: {
@@ -7,11 +9,11 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ Cabal fgl filepath parsec text ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/gimbo/cabal-macosx";
     description = "Cabal support for creating Mac OSX application bundles";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index 59126959bfb..b77e3166354 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -1,10 +1,14 @@
-{ cabal, cairo, gtk2hsBuildtools, libc, mtl, pkgconfig, zlib }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, gtk2hsBuildtools, libc, mtl, pkgconfig, text
+, utf8String, zlib
+}:
 
 cabal.mkDerivation (self: {
   pname = "cairo";
-  version = "0.12.4";
-  sha256 = "0gy6nxhxam3yv0caj4psg9dd1a5yazh616fjbmjfh0kbk8vl6fbq";
-  buildDepends = [ mtl ];
+  version = "0.13.0.0";
+  sha256 = "1sw1f50kmqln1mkvrr6g85b46dn0ipwnvyl13kxzhq5g581rra92";
+  buildDepends = [ mtl text utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ cairo libc pkgconfig zlib ];
   pkgconfigDepends = [ cairo ];
@@ -13,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the Cairo library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/carray/default.nix b/pkgs/development/libraries/haskell/carray/default.nix
index 7fa22dfa2eb..42fbad8b07d 100644
--- a/pkgs/development/libraries/haskell/carray/default.nix
+++ b/pkgs/development/libraries/haskell/carray/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, ixShapable, syb }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix
index b5fe61c13cb..d0b40e42d48 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, hashable, HUnit, testFramework
 , testFrameworkHunit, text
 }:
@@ -8,10 +10,12 @@ cabal.mkDerivation (self: {
   sha256 = "1yp8895qvxcmai0hvxdq77qss9cia2f9fyn6rm0hln3rcx8n53xm";
   buildDepends = [ deepseq hashable text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/basvandijk/case-insensitive";
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix
index 083fa7df370..650c45ada96 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, hashable, HUnit, testFramework
 , testFrameworkHunit, text
 }:
@@ -13,5 +15,6 @@ cabal.mkDerivation (self: {
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix
deleted file mode 100644
index 4f63796850a..00000000000
--- a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, deepseq, hashable, HUnit, testFramework
-, testFrameworkHunit, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "case-insensitive";
-  version = "1.1.0.1";
-  sha256 = "1hwkdkpr88r3s7c8w1msw1pawz8cfi0lwj1z9dcsp0xs788yzapp";
-  buildDepends = [ deepseq hashable text ];
-  testDepends = [ HUnit testFramework testFrameworkHunit text ];
-  meta = {
-    homepage = "https://github.com/basvandijk/case-insensitive";
-    description = "Case insensitive string comparison";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
new file mode 100644
index 00000000000..3f75b41bb63
--- /dev/null
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hashable, HUnit, testFramework
+, testFrameworkHunit, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "case-insensitive";
+  version = "1.1.0.3";
+  sha256 = "0fr69lfb976gflr8w6d68zn4pz86jfxbb2i49fw3mmam67k5y9bv";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [ HUnit testFramework testFrameworkHunit text ];
+  meta = {
+    homepage = "https://github.com/basvandijk/case-insensitive";
+    description = "Case insensitive string comparison";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
new file mode 100644
index 00000000000..c8c544610e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hashable, HUnit, testFramework
+, testFrameworkHunit, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "case-insensitive";
+  version = "1.2.0.0";
+  sha256 = "0ybdmqaqh9hdl3dl5kx8qhs4b67g78fhnkqnd3y2lpgqjvhnbzp4";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [ HUnit testFramework testFrameworkHunit text ];
+  meta = {
+    homepage = "https://github.com/basvandijk/case-insensitive";
+    description = "Case insensitive string comparison";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
new file mode 100644
index 00000000000..c8cb347f10a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cassava";
+  version = "0.4.1.0";
+  sha256 = "0whky3mavmprr8cgnzlg2ich99w09bdlks8rg6z9m1x86q66ivw2";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq text unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/tibbe/cassava";
+    description = "A CSV parsing and encoding library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/categories/default.nix b/pkgs/development/libraries/haskell/categories/default.nix
new file mode 100644
index 00000000000..0f923d37738
--- /dev/null
+++ b/pkgs/development/libraries/haskell/categories/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, void }:
+
+cabal.mkDerivation (self: {
+  pname = "categories";
+  version = "1.0.6";
+  sha256 = "0i5mrxbhqj5g46lvwbw2m07prjvfwja6q8648qm6bq54z6zrl5cy";
+  buildDepends = [ void ];
+  meta = {
+    homepage = "http://github.com/ekmett/categories";
+    description = "Categories";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cautious-file/default.nix b/pkgs/development/libraries/haskell/cautious-file/default.nix
index 44ed255bb63..e99557b7989 100644
--- a/pkgs/development/libraries/haskell/cautious-file/default.nix
+++ b/pkgs/development/libraries/haskell/cautious-file/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Ways to write a file cautiously, to reduce the chances of problems such as data loss due to crashes or power failures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
index fc76f85cebc..e15d10bd45b 100644
--- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
@@ -1,13 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, conduit, HUnit, mtl, resourcet, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "cereal-conduit";
-  version = "0.7.1";
-  sha256 = "0ry6vc3nkb1lj0p103b8pyd3472hx62s3c7yw3fk8mbjlygxyv43";
-  buildDepends = [ cereal conduit transformers ];
+  version = "0.7.2.2";
+  sha256 = "1syqilka5rv2j3yp419f2wdrcfw8js6i2p7qif4yxvlkm2hkvzzk";
+  buildDepends = [ cereal conduit resourcet transformers ];
   testDepends = [ cereal conduit HUnit mtl resourcet transformers ];
   meta = {
-    homepage = "https://github.com/litherum/cereal-conduit";
+    homepage = "https://github.com/snoyberg/conduit";
     description = "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index 4770d5216e2..af77f37abdb 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -1,13 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "cereal";
-  version = "0.4.0.0";
-  sha256 = "0q6lrfa2p70mh3d08mbj89anc3p9ycy6wyyiycj5pm62kcimv7rj";
+  version = "0.4.0.1";
+  sha256 = "12g23cbjxxgh3xzv6hvs093zpycl29h8fmc7kv6jx43ws4cxy2jv";
   meta = {
     description = "A binary serialization library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 95b990b464b..5c5c82196ff 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, asn1Data, cryptohash, cryptoPubkeyTypes, filepath, mtl
 , pem, time
 }:
@@ -17,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Certificates and Key Reader/Writer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
index 60669590c2f..068d1b7dadf 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec, xhtml }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A library for writing CGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
index bf1920d434d..c10fa2416f7 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec, xhtml }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A library for writing CGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
index c1dc7076c77..7cb7e77dd77 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, mtl, network, parsec, xhtml }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A library for writing CGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
index 97e5556bacd..6071ecc7597 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, mtl, network, parsec, xhtml }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A library for writing CGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.5.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.5.nix
index 284c1ee2c05..c1c284ad70c 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.5.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, parsec, xhtml }:
 
 cabal.mkDerivation (self: {
@@ -10,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "A library for writing CGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix b/pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix
deleted file mode 100644
index d2d89918086..00000000000
--- a/pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, MonadCatchIOMtl, mtl, network, parsec, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "cgi";
-  version = "3001.1.8.4";
-  sha256 = "1h0ynrrda18g5pn1sw2n94rhhp3k39nb7wmx53b52dhxkp2izlgn";
-  buildDepends = [ MonadCatchIOMtl mtl network parsec xhtml ];
-  meta = {
-    homepage = "http://andersk.mit.edu/haskell/cgi/";
-    description = "A library for writing CGI programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
new file mode 100644
index 00000000000..31d523717c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, MonadCatchIOMtl, mtl, network, parsec, xhtml }:
+
+cabal.mkDerivation (self: {
+  pname = "cgi";
+  version = "3001.1.8.5";
+  sha256 = "0ffvn9ki5yq2zc65afmy04353v4s66lajc7y563fhj2kz5ib5ks6";
+  buildDepends = [ MonadCatchIOMtl mtl network parsec xhtml ];
+  meta = {
+    homepage = "http://andersk.mit.edu/haskell/cgi/";
+    description = "A library for writing CGI programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cgrep/default.nix b/pkgs/development/libraries/haskell/cgrep/default.nix
new file mode 100644
index 00000000000..e19cac2b2ec
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cgrep/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, cmdargs, dlist, either, filepath, mtl
+, regexPosix, safe, split, stm, stringsearch, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cgrep";
+  version = "6.4.6";
+  sha256 = "13plsh6411k273qllpkcrkakwxcdmw0p6arj0j3gdqa7bbxii99s";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal cmdargs dlist either filepath mtl regexPosix safe
+    split stm stringsearch unorderedContainers
+  ];
+  meta = {
+    homepage = "http://awgn.github.io/cgrep/";
+    description = "Command line tool";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/charset/default.nix b/pkgs/development/libraries/haskell/charset/default.nix
index 829c35b7563..1b37fd77bd9 100644
--- a/pkgs/development/libraries/haskell/charset/default.nix
+++ b/pkgs/development/libraries/haskell/charset/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, semigroups, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "charset";
-  version = "0.3.5.1";
-  sha256 = "0bf9s5r2j9bkwmjxzvj5c2c7bhnf5gyh2kkx67lmy8xqalfxgmwn";
+  version = "0.3.7";
+  sha256 = "1x912dx5650x8ql3ivhpiwmxd6kv7zghark3s8ljvl1g3qr1pxd6";
   buildDepends = [ semigroups unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/charset";
diff --git a/pkgs/development/libraries/haskell/cheapskate/default.nix b/pkgs/development/libraries/haskell/cheapskate/default.nix
new file mode 100644
index 00000000000..9ad35360fe6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cheapskate/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, dataDefault, mtl, syb, text, uniplate
+, xssSanitize
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cheapskate";
+  version = "0.1.0.1";
+  sha256 = "0slrvbaamnwxx89kqjcr62058j00s2dw4c16q1swf817az2p66h8";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeHtml dataDefault mtl syb text uniplate xssSanitize
+  ];
+  meta = {
+    homepage = "http://github.com/jgm/cheapskate";
+    description = "Experimental markdown processor";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/checkers/default.nix b/pkgs/development/libraries/haskell/checkers/default.nix
index 4742f5104da..fb7e86fc75f 100644
--- a/pkgs/development/libraries/haskell/checkers/default.nix
+++ b/pkgs/development/libraries/haskell/checkers/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, random }:
 
 cabal.mkDerivation (self: {
   pname = "checkers";
-  version = "0.3.1";
-  sha256 = "0lhy8bk8kkj540kjbc76j4x4xsprqwlmxdrss4r0j1bxgmfwha6p";
+  version = "0.3.2";
+  sha256 = "0v8i6754syvjh2p5qdqh95j3swkar9077gidsnahwk9h6qfsx6r3";
   buildDepends = [ QuickCheck random ];
   meta = {
     description = "Check properties on standard classes and data structures";
diff --git a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix
new file mode 100644
index 00000000000..498bcaf2bf6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, chell, QuickCheck, random }:
+
+cabal.mkDerivation (self: {
+  pname = "chell-quickcheck";
+  version = "0.2.4";
+  sha256 = "0ys6aks97y5h0n8n8dmwx8jrai4bjlnr7n69s259664y694054wd";
+  buildDepends = [ chell QuickCheck random ];
+  meta = {
+    homepage = "https://john-millikin.com/software/chell/";
+    description = "QuickCheck support for the Chell testing library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/chell/default.nix b/pkgs/development/libraries/haskell/chell/default.nix
new file mode 100644
index 00000000000..2b6c4e61bf9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/chell/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, options, patience, random, text
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "chell";
+  version = "0.4";
+  sha256 = "1hynr7n7wxgc3z6zrc3xrfpiqlh4zfb3kagwwfhqmcamv9d4x0ng";
+  buildDepends = [
+    ansiTerminal options patience random text transformers
+  ];
+  meta = {
+    homepage = "https://john-millikin.com/software/chell/";
+    description = "A simple and intuitive library for automated testing";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/chunked-data/default.nix b/pkgs/development/libraries/haskell/chunked-data/default.nix
new file mode 100644
index 00000000000..2db35213a1a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/chunked-data/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, monoTraversable, semigroups, systemFilepath
+, text, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "chunked-data";
+  version = "0.1.0.1";
+  sha256 = "0kdq79mxi9nhy3dqw283f5ffx4rxwfrdq9cfw46ql5wmqrg2qw7r";
+  buildDepends = [
+    blazeBuilder monoTraversable semigroups systemFilepath text
+    transformers vector
+  ];
+  meta = {
+    homepage = "https://github.com/fpco/chunked-data";
+    description = "Typeclasses for dealing with various chunked data representations";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix
index d68d2389e0e..7edfe750d37 100644
--- a/pkgs/development/libraries/haskell/cipher-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoCipherTests, cryptoCipherTypes, QuickCheck
 , securemem, testFramework, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes";
-  version = "0.2.6";
-  sha256 = "0ys5a1w5pwwr74k9wzcsh1flb2jdcvnp1zz7sjs14jpxclpd8x3i";
+  version = "0.2.8";
+  sha256 = "13hg8gxhs7hmni72kp14hmhvfv1kj7fnl83i72bz3aq15vx3z61z";
   buildDepends = [ byteable cryptoCipherTypes securemem ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/cipher-aes128/default.nix b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
new file mode 100644
index 00000000000..ce925361143
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, cryptoApi, tagged }:
+
+cabal.mkDerivation (self: {
+  pname = "cipher-aes128";
+  version = "0.6.4";
+  sha256 = "093zpw86wimniwmd73g3nnbfy530q52kynccssqf7jxafbsw75aa";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cereal cryptoApi tagged ];
+  meta = {
+    homepage = "https://github.com/TomMD/cipher-aes128";
+    description = "AES and common modes using AES-NI when available";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cipher-blowfish/default.nix b/pkgs/development/libraries/haskell/cipher-blowfish/default.nix
index 44a7d96907a..3f2619c70e8 100644
--- a/pkgs/development/libraries/haskell/cipher-blowfish/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-blowfish/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoCipherTests, cryptoCipherTypes, QuickCheck
 , securemem, testFramework, testFrameworkQuickcheck2, vector
 }:
diff --git a/pkgs/development/libraries/haskell/cipher-camellia/default.nix b/pkgs/development/libraries/haskell/cipher-camellia/default.nix
index 52217751d27..7e83f50568d 100644
--- a/pkgs/development/libraries/haskell/cipher-camellia/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-camellia/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoCipherTests, cryptoCipherTypes, QuickCheck
 , securemem, testFramework, testFrameworkQuickcheck2, vector
 }:
diff --git a/pkgs/development/libraries/haskell/cipher-des/default.nix b/pkgs/development/libraries/haskell/cipher-des/default.nix
index fdc30278425..7309586e1c6 100644
--- a/pkgs/development/libraries/haskell/cipher-des/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-des/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoCipherTests, cryptoCipherTypes, QuickCheck
 , securemem, testFramework, testFrameworkQuickcheck2
 }:
diff --git a/pkgs/development/libraries/haskell/cipher-rc4/default.nix b/pkgs/development/libraries/haskell/cipher-rc4/default.nix
index 6485487a0e5..4951584e395 100644
--- a/pkgs/development/libraries/haskell/cipher-rc4/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-rc4/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoCipherTests, cryptoCipherTypes, QuickCheck
 , testFramework, testFrameworkQuickcheck2
 }:
diff --git a/pkgs/development/libraries/haskell/circle-packing/default.nix b/pkgs/development/libraries/haskell/circle-packing/default.nix
index bffc72cf73e..82ee642a9ba 100644
--- a/pkgs/development/libraries/haskell/circle-packing/default.nix
+++ b/pkgs/development/libraries/haskell/circle-packing/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "circle-packing";
-  version = "0.1.0.2";
-  sha256 = "182fadwlf6j3jhlfjskaddaickgcb07wlb7fh42yip2680gh9k1j";
+  version = "0.1.0.3";
+  sha256 = "1df284n181ny3i7ajx0j6x5grxw404zzz6y8iybmh5qgba1537g2";
   meta = {
     description = "Simple heuristic for packing discs of varying radii in a circle";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/citeproc-hs/default.nix b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
index bdc78984c7b..bb95e920ef9 100644
--- a/pkgs/development/libraries/haskell/citeproc-hs/default.nix
+++ b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, hexpat, hsBibutils, HTTP, json, mtl, network
 , pandocTypes, parsec, syb, time, utf8String
 }:
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A Citation Style Language implementation in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
index b6bf865d183..28e940f3489 100644
--- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
@@ -1,14 +1,17 @@
-{ cabal, classyPrelude, conduit, hspec, monadControl, QuickCheck
-, resourcet, systemFileio, transformers, void
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, classyPrelude, conduit, conduitCombinators, hspec
+, monadControl, QuickCheck, resourcet, systemFileio, transformers
+, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude-conduit";
-  version = "0.6.0";
-  sha256 = "122clkwrz1n009b5gxq96sbby7i8kb4dgvc90ydamd86bx3pvc84";
+  version = "0.9.3";
+  sha256 = "0wsl3mhczinxl6ij8dpv5001db740z4jq43l2gpzdylv6pmpldzr";
   buildDepends = [
-    classyPrelude conduit monadControl resourcet systemFileio
-    transformers void
+    classyPrelude conduit conduitCombinators monadControl resourcet
+    systemFileio transformers void
   ];
   testDepends = [ conduit hspec QuickCheck transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index f296ff21ced..e45a6f256b9 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -1,17 +1,19 @@
-{ cabal, async, basicPrelude, deepseq, hashable, hspec, liftedBase
-, monadControl, monoTraversable, QuickCheck, semigroups
-, systemFilepath, text, transformers, unorderedContainers, vector
-, vectorInstances
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, basicPrelude, chunkedData, enclosedExceptions, exceptions
+, hashable, hspec, liftedBase, monoTraversable, QuickCheck
+, semigroups, stm, systemFilepath, text, time, transformers
+, unorderedContainers, vector, vectorInstances
 }:
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.6.0";
-  sha256 = "0wpymr2gl0hmbgpw0qd0h1ik1h42s8raykq7jsdjqnmcvsmww5j6";
+  version = "0.9.3";
+  sha256 = "06y6zx3mmqjnha5p7y7blzn77bij71kndw2bmi07wz4s4lj9xsiv";
   buildDepends = [
-    async basicPrelude deepseq hashable liftedBase monadControl
-    monoTraversable semigroups systemFilepath text transformers
-    unorderedContainers vector vectorInstances
+    basicPrelude chunkedData enclosedExceptions exceptions hashable
+    liftedBase monoTraversable semigroups stm systemFilepath text time
+    transformers unorderedContainers vector vectorInstances
   ];
   testDepends = [
     hspec QuickCheck transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/clay/default.nix b/pkgs/development/libraries/haskell/clay/default.nix
new file mode 100644
index 00000000000..8eafd67cadb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/clay/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, testFramework, testFrameworkHunit, text }:
+
+cabal.mkDerivation (self: {
+  pname = "clay";
+  version = "0.9.0.1";
+  sha256 = "1w2617kpj6rblmycqb97gyshwbvzp5w2h4xh494mvdzi3bkahqpn";
+  buildDepends = [ mtl text ];
+  testDepends = [ HUnit mtl testFramework testFrameworkHunit text ];
+  meta = {
+    homepage = "http://fvisser.nl/clay";
+    description = "CSS preprocessor as embedded Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index 00df46640e1..cee91c51be0 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, cereal, cipherAes, cprngAes, cryptoApi
 , cryptoRandom, entropy, hspec, HUnit, QuickCheck, skein, tagged
 , transformers
@@ -5,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "clientsession";
-  version = "0.9.0.3";
-  sha256 = "0w7mkyrd8gx5d6mcqprn7ll05414vm2j5fbyi6pj9cxd2m4qc9b1";
+  version = "0.9.0.5";
+  sha256 = "0l11wpxr3cgd8q708ay7957mdzq7nhm7c6z3p9iwl0lp3pkcl810";
   buildDepends = [
     base64Bytestring cereal cipherAes cprngAes cryptoApi cryptoRandom
     entropy skein tagged
@@ -17,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Securely store session data in a client-side cookie";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/clock/default.nix b/pkgs/development/libraries/haskell/clock/default.nix
index 65bfffec52e..3c064d1db2d 100644
--- a/pkgs/development/libraries/haskell/clock/default.nix
+++ b/pkgs/development/libraries/haskell/clock/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index 1814ab99784..829f7be4fba 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "cmdargs";
-  version = "0.10.5";
-  sha256 = "013095w6xzkaj6c09vrkmf24gl07kc995c39yby5jdngpggdxc9h";
+  version = "0.10.9";
+  sha256 = "12phn22iri2v65gbxzl580mikkj05rwx4sjn5c31f871wp0538my";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath transformers ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Command line argument processing";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cmdlib/default.nix b/pkgs/development/libraries/haskell/cmdlib/default.nix
index 0a71649f0e9..2cfe86e2eab 100644
--- a/pkgs/development/libraries/haskell/cmdlib/default.nix
+++ b/pkgs/development/libraries/haskell/cmdlib/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, split, syb, transformers }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "a library for command line parsing & online help";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cmdtheline/default.nix b/pkgs/development/libraries/haskell/cmdtheline/default.nix
index c49093f6859..8943eacdd21 100644
--- a/pkgs/development/libraries/haskell/cmdtheline/default.nix
+++ b/pkgs/development/libraries/haskell/cmdtheline/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, HUnit, parsec, testFramework, testFrameworkHunit
 , transformers
 }:
@@ -15,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Declarative command-line option parsing and documentation library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/code-builder/default.nix b/pkgs/development/libraries/haskell/code-builder/default.nix
new file mode 100644
index 00000000000..77883f5a07a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/code-builder/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "code-builder";
+  version = "0.1.3";
+  sha256 = "1ax4c19xkszahcxvwc1wa1hrgk6ajck5sbprbplsi1gc9jj4g7jm";
+  meta = {
+    description = "Simple system for generating code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/codec-image-devil/default.nix b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
new file mode 100644
index 00000000000..567e68b562d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, libdevil }:
+
+cabal.mkDerivation (self: {
+  pname = "Codec-Image-DevIL";
+  version = "0.2.3";
+  sha256 = "1kv3hns9f0bhfb723nj9szyz3zfqpvy02azzsiymzjz4ajhqmrsz";
+  extraLibraries = [ libdevil ];
+  meta = {
+    description = "An FFI interface to the DevIL library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/colorize-haskell/default.nix b/pkgs/development/libraries/haskell/colorize-haskell/default.nix
index fa2b9880123..ad207329f2d 100644
--- a/pkgs/development/libraries/haskell/colorize-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/colorize-haskell/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal, haskellLexer }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Highligt Haskell source";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/colors/default.nix b/pkgs/development/libraries/haskell/colors/default.nix
new file mode 100644
index 00000000000..2d4db2cdc4d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/colors/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, profunctors }:
+
+cabal.mkDerivation (self: {
+  pname = "colors";
+  version = "0.1.1";
+  sha256 = "1i1n05prbp0l3xgx0w2lxzc5r81pcmbzclsamdr7fmjvhvh8blqm";
+  buildDepends = [ profunctors ];
+  meta = {
+    homepage = "https://github.com/fumieval/colors";
+    description = "A type for colors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/colour/default.nix b/pkgs/development/libraries/haskell/colour/default.nix
index 06bcc8ed981..748e62b1d94 100644
--- a/pkgs/development/libraries/haskell/colour/default.nix
+++ b/pkgs/development/libraries/haskell/colour/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A model for human colour/color perception";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/command-qq/default.nix b/pkgs/development/libraries/haskell/command-qq/default.nix
new file mode 100644
index 00000000000..961506b6a81
--- /dev/null
+++ b/pkgs/development/libraries/haskell/command-qq/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, hspec, text }:
+
+cabal.mkDerivation (self: {
+  pname = "command-qq";
+  version = "0.3.0.0";
+  sha256 = "1bqfb4gc5ja9d9jygijqpf6014bmfcxnsvpv7c5n4f1z2aj07jy5";
+  buildDepends = [ text ];
+  testDepends = [ doctest hspec text ];
+  doCheck = false;
+  meta = {
+    homepage = "http://biegunka.github.io/command-qq/";
+    description = "Quasiquoters for external commands";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/default.nix b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
index 943a0718e03..f44f299522d 100644
--- a/pkgs/development/libraries/haskell/comonad-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "This package has been merged into comonad 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/comonad/default.nix b/pkgs/development/libraries/haskell/comonad/default.nix
index 9457a2ad44d..36a0db0b9cc 100644
--- a/pkgs/development/libraries/haskell/comonad/default.nix
+++ b/pkgs/development/libraries/haskell/comonad/default.nix
@@ -1,13 +1,16 @@
-{ cabal, contravariant, distributive, doctest, filepath, mtl
-, semigroups, tagged, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, contravariant, distributive, doctest, filepath, semigroups
+, tagged, transformers, transformersCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "comonad";
-  version = "4.0";
-  sha256 = "1f57wqxy1la59kippbj924prnj53a5hwc2ppg48n9xx2wfr63iha";
+  version = "4.2.2";
+  sha256 = "022fcy0ijwsdnjb1b1jrwy2ypzzbzvfgj9ns0c74hrsj08gjh8j8";
   buildDepends = [
-    contravariant distributive mtl semigroups tagged transformers
+    contravariant distributive semigroups tagged transformers
+    transformersCompat
   ];
   testDepends = [ doctest filepath ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/comonads-fd/default.nix b/pkgs/development/libraries/haskell/comonads-fd/default.nix
index f55123f8fe1..8c009b8b501 100644
--- a/pkgs/development/libraries/haskell/comonads-fd/default.nix
+++ b/pkgs/development/libraries/haskell/comonads-fd/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/compact-string-fix/default.nix b/pkgs/development/libraries/haskell/compact-string-fix/default.nix
index fb0b6a1f1cb..a0a6959b4b1 100644
--- a/pkgs/development/libraries/haskell/compact-string-fix/default.nix
+++ b/pkgs/development/libraries/haskell/compact-string-fix/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Same as compact-string except with a small fix so it builds on ghc-6.12";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/compdata/default.nix b/pkgs/development/libraries/haskell/compdata/default.nix
new file mode 100644
index 00000000000..2e26d9ac781
--- /dev/null
+++ b/pkgs/development/libraries/haskell/compdata/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, derive, HUnit, mtl, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, thExpandSyns
+, transformers, treeView
+}:
+
+cabal.mkDerivation (self: {
+  pname = "compdata";
+  version = "0.8.1.3";
+  sha256 = "0rnvw5bdypl6i2k1wnc727a17hapl4hs7n208h16ngk075841gpb";
+  buildDepends = [
+    deepseq derive mtl QuickCheck thExpandSyns transformers treeView
+  ];
+  testDepends = [
+    deepseq derive HUnit mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 thExpandSyns
+    transformers
+  ];
+  meta = {
+    description = "Compositional Data Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/composition/default.nix b/pkgs/development/libraries/haskell/composition/default.nix
new file mode 100644
index 00000000000..bf86e11cc81
--- /dev/null
+++ b/pkgs/development/libraries/haskell/composition/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "composition";
+  version = "1.0.1.0";
+  sha256 = "1gx27vz2djiiwygcjaygjmiwjnls084b5v9km3jpimlz312qh5hc";
+  meta = {
+    homepage = "http://patch-tag.com/r/DanBurton/composition/home";
+    description = "Combinators for unorthodox function composition";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/compressed/default.nix b/pkgs/development/libraries/haskell/compressed/default.nix
new file mode 100644
index 00000000000..9ef921a616f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/compressed/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, fingertree, hashable, keys, pointed, reducers
+, semigroupoids, semigroups, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "compressed";
+  version = "3.10";
+  sha256 = "1y290n421knfh8k8zbcabhw24hb13xj9pkxx4h4v15yji97p5mcw";
+  buildDepends = [
+    comonad fingertree hashable keys pointed reducers semigroupoids
+    semigroups unorderedContainers
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/compressed/";
+    description = "Compressed containers and reducers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/concatenative/default.nix b/pkgs/development/libraries/haskell/concatenative/default.nix
index 34344c1566b..9762ffc5fc8 100644
--- a/pkgs/development/libraries/haskell/concatenative/default.nix
+++ b/pkgs/development/libraries/haskell/concatenative/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/concreteTyperep/default.nix b/pkgs/development/libraries/haskell/concreteTyperep/default.nix
new file mode 100644
index 00000000000..896496dc4a3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/concreteTyperep/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, hashable, QuickCheck, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "concrete-typerep";
+  version = "0.1.0.2";
+  sha256 = "07wy8drg4723zdy2172jrcvd5ir2c4ggcfz1n33jhm9iv3cl2app";
+  buildDepends = [ binary hashable ];
+  testDepends = [
+    binary hashable QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  meta = {
+    description = "Binary and Hashable instances for TypeRep";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/concurrent-extra/default.nix b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
index 9f97f730472..43230662fe0 100644
--- a/pkgs/development/libraries/haskell/concurrent-extra/default.nix
+++ b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
@@ -1,20 +1,24 @@
-{ cabal, baseUnicodeSymbols, HUnit, stm, testFramework
-, testFrameworkHunit, unboundedDelays
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, baseUnicodeSymbols, HUnit, random, stm
+, testFramework, testFrameworkHunit, unboundedDelays
 }:
 
 cabal.mkDerivation (self: {
   pname = "concurrent-extra";
-  version = "0.7.0.6";
-  sha256 = "12wq86hkgy22qydkj4fw6vb7crzv3010c2mkhsph4rdynr0v588i";
+  version = "0.7.0.8";
+  sha256 = "0q6n7wlakvnvfrjr3zmxbn9i0dxq96071j565vffp0r5abxkn83q";
   buildDepends = [ baseUnicodeSymbols stm unboundedDelays ];
   testDepends = [
-    baseUnicodeSymbols HUnit stm testFramework testFrameworkHunit
-    unboundedDelays
+    async baseUnicodeSymbols HUnit random stm testFramework
+    testFrameworkHunit unboundedDelays
   ];
   meta = {
     homepage = "https://github.com/basvandijk/concurrent-extra";
     description = "Extra concurrency primitives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cond/default.nix b/pkgs/development/libraries/haskell/cond/default.nix
new file mode 100644
index 00000000000..64b62db5ba8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cond/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "cond";
+  version = "0.4.1";
+  sha256 = "16xk8clsxv5qi5f745xvs44y8p8dnmlmjkjzwqz9jl8fbmkmki3b";
+  meta = {
+    homepage = "https://github.com/kallisti-dev/cond";
+    description = "Basic conditional and boolean operators with monadic variants";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
new file mode 100644
index 00000000000..17598dda06b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base16Bytestring, base64Bytestring, chunkedData, conduit
+, conduitExtra, hspec, monadControl, monoTraversable, mwcRandom
+, primitive, resourcet, silently, systemFileio, systemFilepath
+, text, transformers, transformersBase, unixCompat, vector, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "conduit-combinators";
+  version = "0.2.8.2";
+  sha256 = "1x2g333ygiv4jvwx4lw579kwx1z5m80cqfqgzv0pi5xdxcagy1ha";
+  buildDepends = [
+    base16Bytestring base64Bytestring chunkedData conduit conduitExtra
+    monadControl monoTraversable mwcRandom primitive resourcet
+    systemFileio systemFilepath text transformers transformersBase
+    unixCompat vector void
+  ];
+  testDepends = [
+    base16Bytestring base64Bytestring chunkedData hspec monoTraversable
+    mwcRandom silently systemFilepath text transformers vector
+  ];
+  meta = {
+    homepage = "https://github.com/fpco/conduit-combinators";
+    description = "Commonly used conduit functions, for both chunked and unchunked data";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
new file mode 100644
index 00000000000..1cb2b0efe6c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, attoparsec, blazeBuilder, conduit, exceptions
+, filepath, hspec, monadControl, network, primitive, resourcet, stm
+, streamingCommons, text, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "conduit-extra";
+  version = "1.1.3.2";
+  sha256 = "15flywjw5ha8cgn4yznwlnx31ls4y82gfmvbniby0d51y4x8dmgq";
+  buildDepends = [
+    attoparsec blazeBuilder conduit filepath monadControl network
+    primitive resourcet stm streamingCommons text transformers
+    transformersBase
+  ];
+  testDepends = [
+    async attoparsec blazeBuilder conduit exceptions hspec resourcet
+    stm text transformers transformersBase
+  ];
+  meta = {
+    homepage = "http://github.com/snoyberg/conduit";
+    description = "Batteries included conduit: adapters for common libraries";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index ab41f5a5621..f3c27ebae95 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -1,23 +1,25 @@
-{ cabal, doctest, hspec, liftedBase, mmorph, monadControl, mtl
-, QuickCheck, resourcet, text, transformers, transformersBase, void
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl
+, QuickCheck, resourcet, transformers, transformersBase, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.0.8";
-  sha256 = "0qsi9p7hwzaw1ridgydfmaagjjpkbgq755b1r9xm4apdy6fikcz5";
+  version = "1.1.7";
+  sha256 = "0xk2his7qbidnzs56xcgnjipbnqmmnh74qy8dfvbznkkqhxdzmz6";
   buildDepends = [
-    liftedBase mmorph monadControl mtl resourcet text transformers
-    transformersBase void
+    exceptions liftedBase mmorph monadControl mtl resourcet
+    transformers transformersBase void
   ];
   testDepends = [
-    doctest hspec mtl QuickCheck resourcet text transformers void
+    exceptions hspec mtl QuickCheck resourcet transformers void
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
     description = "Streaming data processing library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/configurator/default.nix b/pkgs/development/libraries/haskell/configurator/default.nix
index 775c2e5027f..3ea53f686c9 100644
--- a/pkgs/development/libraries/haskell/configurator/default.nix
+++ b/pkgs/development/libraries/haskell/configurator/default.nix
@@ -1,14 +1,19 @@
-{ cabal, attoparsec, hashable, text, unixCompat
-, unorderedContainers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, filepath, hashable, HUnit, testFramework
+, testFrameworkHunit, text, unixCompat, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "configurator";
-  version = "0.2.0.2";
-  sha256 = "011rgd48gv4idkh2dwg4mlyx3s6pgm1263xq5ixsa4sg3jqh9d8b";
+  version = "0.3.0.0";
+  sha256 = "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf";
   buildDepends = [
     attoparsec hashable text unixCompat unorderedContainers
   ];
+  testDepends = [
+    filepath HUnit testFramework testFrameworkHunit text
+  ];
   meta = {
     homepage = "http://github.com/bos/configurator";
     description = "Configuration management";
diff --git a/pkgs/development/libraries/haskell/connection/default.nix b/pkgs/development/libraries/haskell/connection/default.nix
index a7930cab08b..8b2380767f3 100644
--- a/pkgs/development/libraries/haskell/connection/default.nix
+++ b/pkgs/development/libraries/haskell/connection/default.nix
@@ -1,13 +1,16 @@
-{ cabal, certificate, cprngAes, dataDefault, network, socks, tls
-, tlsExtra
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cprngAes, dataDefaultClass, network, socks, tls, x509
+, x509Store, x509System, x509Validation
 }:
 
 cabal.mkDerivation (self: {
   pname = "connection";
-  version = "0.1.3";
-  sha256 = "13bwlbga612kc7g3m3rrdzbdv4w0glp4af9r6crwgjsmxgimrgs9";
+  version = "0.2.3";
+  sha256 = "02mqn19pssdak82jw38p3cbwjyfvmjc6fawgx5981hzbdgb64vsb";
   buildDepends = [
-    certificate cprngAes dataDefault network socks tls tlsExtra
+    cprngAes dataDefaultClass network socks tls x509 x509Store
+    x509System x509Validation
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-connection";
diff --git a/pkgs/development/libraries/haskell/constraints/default.nix b/pkgs/development/libraries/haskell/constraints/default.nix
index 1e0dc901aaf..3f1b196ef27 100644
--- a/pkgs/development/libraries/haskell/constraints/default.nix
+++ b/pkgs/development/libraries/haskell/constraints/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, newtype }:
 
 cabal.mkDerivation (self: {
   pname = "constraints";
-  version = "0.3.4.2";
-  sha256 = "14bfar4d44yl9zxgqxj4p67ag2ndprm602l4pinfjk0ywbh63fwq";
+  version = "0.4";
+  sha256 = "0nnplylzbcw884jgsd4i46z75dkiyx4166j5fym5zdnwhyj75sp5";
   buildDepends = [ newtype ];
   meta = {
     homepage = "http://github.com/ekmett/constraints/";
     description = "Constraint manipulation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/continued-fractions/default.nix b/pkgs/development/libraries/haskell/continued-fractions/default.nix
index 095d0a17984..2ec057f6a96 100644
--- a/pkgs/development/libraries/haskell/continued-fractions/default.nix
+++ b/pkgs/development/libraries/haskell/continued-fractions/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Continued fractions";
     license = self.stdenv.lib.licenses.publicDomain;
     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 d38058a25de..73a874c0a15 100644
--- a/pkgs/development/libraries/haskell/contravariant/default.nix
+++ b/pkgs/development/libraries/haskell/contravariant/default.nix
@@ -1,10 +1,15 @@
-{ cabal, tagged, transformers, transformersCompat }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, semigroups, tagged, transformers, transformersCompat, void
+}:
 
 cabal.mkDerivation (self: {
   pname = "contravariant";
-  version = "0.4.4";
-  sha256 = "1b4422wpcyvrf4r7rr8c8wa008f5ykaxs17vr4plp91rcczr87s4";
-  buildDepends = [ tagged transformers transformersCompat ];
+  version = "1.2";
+  sha256 = "0gzk9b3xig48jvqz9983a7kziyb2n9z329kn6cqw1k0p8w2h3l8f";
+  buildDepends = [
+    semigroups tagged transformers transformersCompat void
+  ];
   meta = {
     homepage = "http://github.com/ekmett/contravariant/";
     description = "Contravariant functors";
diff --git a/pkgs/development/libraries/haskell/control-bool/default.nix b/pkgs/development/libraries/haskell/control-bool/default.nix
new file mode 100644
index 00000000000..12f9b287d1b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/control-bool/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "control-bool";
+  version = "0.2.1";
+  sha256 = "10amxm1ff7xhd8g66n65wkbb8d17n77v1nmwxkbzhrask398asp4";
+  meta = {
+    homepage = "https://github.com/fumieval/control-bool";
+    description = "Useful combinators for boolean expressions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/control-monad-free/default.nix b/pkgs/development/libraries/haskell/control-monad-free/default.nix
new file mode 100644
index 00000000000..e2768a9cf55
--- /dev/null
+++ b/pkgs/development/libraries/haskell/control-monad-free/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "control-monad-free";
+  version = "0.5.3";
+  sha256 = "1igwawcdpg8irayjax1xdrlpa9587k1v4y28ib3xfb7yk0xv7vk1";
+  buildDepends = [ deepseq transformers ];
+  meta = {
+    homepage = "http://github.com/pepeiborra/control-monad-free";
+    description = "Free monads and monad transformers";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/control-monad-loop/default.nix b/pkgs/development/libraries/haskell/control-monad-loop/default.nix
new file mode 100644
index 00000000000..40d7e5a1e33
--- /dev/null
+++ b/pkgs/development/libraries/haskell/control-monad-loop/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers, transformersBase }:
+
+cabal.mkDerivation (self: {
+  pname = "control-monad-loop";
+  version = "0.1";
+  sha256 = "003k4pp6wgn30m9ksbh8680f0klzsvd90wsl9jpqs9lpg14hi6zj";
+  buildDepends = [ transformers transformersBase ];
+  meta = {
+    homepage = "https://github.com/joeyadams/haskell-control-monad-loop";
+    description = "Simple monad transformer for imperative-style loops";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/converge/default.nix b/pkgs/development/libraries/haskell/converge/default.nix
index 50d95cb8851..63f7fa81c9d 100644
--- a/pkgs/development/libraries/haskell/converge/default.nix
+++ b/pkgs/development/libraries/haskell/converge/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Limit operations for converging sequences";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
new file mode 100644
index 00000000000..57423c1b71f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "convertible";
+  version = "1.0.11.1";
+  sha256 = "1r50a2rpfsx0s7dv8ww5xck33b1mhy73gfilffrbqd4hxjgnxlj6";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl text time ];
+  meta = {
+    homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible";
+    description = "Typeclasses and instances for converting between types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix
new file mode 100644
index 00000000000..fd8f6dac3a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "convertible";
+  version = "1.1.0.0";
+  sha256 = "0pc3z4jfjna1rz5wlfimw9fyhpasmdnwvava883s401760y99i0k";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl text time ];
+  meta = {
+    homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible";
+    description = "Typeclasses and instances for converting between types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/default.nix
deleted file mode 100644
index 8a79e50527d..00000000000
--- a/pkgs/development/libraries/haskell/convertible/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, mtl, text, time }:
-
-cabal.mkDerivation (self: {
-  pname = "convertible";
-  version = "1.0.11.1";
-  sha256 = "1r50a2rpfsx0s7dv8ww5xck33b1mhy73gfilffrbqd4hxjgnxlj6";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ mtl text time ];
-  meta = {
-    homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible";
-    description = "Typeclasses and instances for converting between types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cookie/default.nix b/pkgs/development/libraries/haskell/cookie/default.nix
index b7dae5d4a9b..108fb48f939 100644
--- a/pkgs/development/libraries/haskell/cookie/default.nix
+++ b/pkgs/development/libraries/haskell/cookie/default.nix
@@ -1,15 +1,24 @@
-{ cabal, blazeBuilder, dataDefault, text, time }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, dataDefault, deepseq, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "cookie";
-  version = "0.4.0.1";
-  sha256 = "01k5gq9kwbrivkhr1sj8aw4cgf2c1xgwwajqvd435r0g99fpx5kk";
-  buildDepends = [ blazeBuilder dataDefault text time ];
+  version = "0.4.1.3";
+  sha256 = "184ymp1pbi49fm4jl9s04dfyrgdbc9vlmqahqha4yncppr5s1sdw";
+  buildDepends = [ blazeBuilder dataDefault deepseq text time ];
+  testDepends = [
+    blazeBuilder HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time
+  ];
+  doCheck = self.stdenv.lib.versionOlder "7.8" self.ghc.version;
   meta = {
     homepage = "http://github.com/snoyberg/cookie";
     description = "HTTP cookie parsing and rendering";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/coroutine-object/default.nix b/pkgs/development/libraries/haskell/coroutine-object/default.nix
new file mode 100644
index 00000000000..e3ba619c6aa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/coroutine-object/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, either, lens, mtl, safecopy, transformers
+, transformersFree, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "coroutine-object";
+  version = "0.3";
+  sha256 = "0q0rvcc7ipxwmikaxh0ymq1d65f2q1a2jrd1i553pdf8hwmv0k1r";
+  buildDepends = [
+    cereal either lens mtl safecopy transformers transformersFree uuid
+  ];
+  meta = {
+    description = "Object-oriented programming realization using coroutine";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index 9425ec37547..64d15480ab8 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cipherAes, cryptoRandom, random }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Crypto Pseudo Random Number Generator using AES in counter mode";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cpu/default.nix b/pkgs/development/libraries/haskell/cpu/default.nix
index dc27553c2a3..d10ecaa0059 100644
--- a/pkgs/development/libraries/haskell/cpu/default.nix
+++ b/pkgs/development/libraries/haskell/cpu/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "cpu";
-  version = "0.1.1";
-  sha256 = "0ygkxx8ksa0rh63569d3g0w8pzgwg6062sd4yyi3q646zcmryhj6";
+  version = "0.1.2";
+  sha256 = "0x19mlanmkg96h6h1i04w2i631z84y4rbk22ki4zhgsajysgw9sn";
   isLibrary = true;
   isExecutable = true;
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Cpu information and properties helpers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index 84eacff71a1..7cac43769f8 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -1,21 +1,32 @@
-{ cabal, aeson, binary, deepseq, filepath, Glob, hastache, mtl
-, mwcRandom, parsec, statistics, time, transformers, vector
-, vectorAlgorithms
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, ansiWlPprint, binary, cassava, deepseq, either
+, filepath, Glob, hastache, HUnit, mtl, mwcRandom
+, optparseApplicative, parsec, QuickCheck, statistics
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, time, transformers, vector, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "criterion";
-  version = "0.8.0.0";
-  sha256 = "05v4glwvidsd4gm2jcvmlcpfaxg2x0fb69w051rbwg9scanrm7bf";
+  version = "1.0.0.2";
+  sha256 = "1r30vcrplilj3silnrmn0r5m0df27icdsgd5hx35li9yrs862n95";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    aeson binary deepseq filepath Glob hastache mtl mwcRandom parsec
-    statistics time transformers vector vectorAlgorithms
+    aeson ansiWlPprint binary cassava deepseq either filepath Glob
+    hastache mtl mwcRandom optparseApplicative parsec statistics text
+    time transformers vector vectorAlgorithms
+  ];
+  testDepends = [
+    HUnit QuickCheck statistics testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 vector
   ];
+  doCheck = false;
   meta = {
-    homepage = "https://github.com/bos/criterion";
+    homepage = "http://www.serpentine.com/criterion";
     description = "Robust, reliable performance measurement and analysis";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/crypto-api/default.nix b/pkgs/development/libraries/haskell/crypto-api/default.nix
index aa786fa9784..7c1d6308131 100644
--- a/pkgs/development/libraries/haskell/crypto-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-api/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, entropy, tagged, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "crypto-api";
-  version = "0.12.2.2";
-  sha256 = "0qmv8vizrbjs3k2f78r6ykyilps4zp7xxpzdxw7rngh154wqgv1k";
+  version = "0.13";
+  sha256 = "00zw9cymjhsdiy2p4prjvmmy7xnk12qggdpvxrp0hjnwlakfvyb2";
   buildDepends = [ cereal entropy tagged transformers ];
   meta = {
     homepage = "https://github.com/TomMD/crypto-api";
     description = "A generic interface for cryptographic operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix b/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix
index 3c514936468..04b1b191878 100644
--- a/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoCipherTypes, HUnit, mtl, QuickCheck
 , securemem, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2
diff --git a/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix b/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix
index 8f52f724bcd..63431431bf7 100644
--- a/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, securemem }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
index 1dc356b7f46..b63f6a44108 100644
--- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
@@ -1,23 +1,26 @@
-{ cabal, cereal, conduit, cryptoApi, cryptocipher
-, cryptohashCryptoapi, hspec, skein, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, conduit, conduitExtra, cryptoApi, cryptocipher
+, cryptohashCryptoapi, hspec, resourcet, skein, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "crypto-conduit";
-  version = "0.5.2.1";
-  sha256 = "1i9m4pzy4ib9n941zlh398idmxcjak2496c4c73i8bmikryahl8p";
-  buildDepends = [ cereal conduit cryptoApi transformers ];
+  version = "0.5.4";
+  sha256 = "1z628gj4sf50s7pd6p41c670rz98f8b6p3n2dvl93haczcg53l1n";
+  buildDepends = [
+    cereal conduit conduitExtra cryptoApi resourcet transformers
+  ];
   testDepends = [
-    cereal conduit cryptoApi cryptocipher cryptohashCryptoapi hspec
-    skein transformers
+    cereal conduit conduitExtra cryptoApi cryptocipher
+    cryptohashCryptoapi hspec skein transformers
   ];
   jailbreak = true;
   doCheck = false;
   meta = {
-    homepage = "https://github.com/meteficha/crypto-conduit";
+    homepage = "https://github.com/prowdsponsor/crypto-conduit";
     description = "Conduit interface for cryptographic operations (from crypto-api)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/crypto-numbers/default.nix b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
index 68deb8e3472..d101d9af197 100644
--- a/pkgs/development/libraries/haskell/crypto-numbers/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
@@ -1,16 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptoRandom, HUnit, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "crypto-numbers";
-  version = "0.2.1";
-  sha256 = "1bc24xk101x7npv083gzh3vjzwjh65ql85h4z0vxk3lnd0pmdmnq";
+  version = "0.2.3";
+  sha256 = "0nx2mlf40127j7vas7liqy2yzfg4alfaxcjilcxk99kavpaanzgp";
   buildDepends = [ cryptoRandom vector ];
   testDepends = [
     byteable cryptoRandom HUnit QuickCheck testFramework
     testFrameworkHunit testFrameworkQuickcheck2 vector
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-numbers";
     description = "Cryptographic numbers: functions and algorithms";
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
index e4234d1d4cd..f8a51f4fa5b 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, asn1Types }:
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey-types";
-  version = "0.4.0";
-  sha256 = "0bapzvd0xgv38mbj1xhzcswchnx81sq0wwyax3qqzcpgvcyz28sl";
+  version = "0.4.2.2";
+  sha256 = "18z1fnh2xjq600ya8m175m64nwr6bwscr2q47zjy7k38zlm9c8h5";
   buildDepends = [ asn1Types ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-pubkey-types";
     description = "Generic cryptography Public keys algorithm types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
index a4f98e5a2a1..bd4b4f9639f 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable, cryptohash, cryptoNumbers, cryptoPubkeyTypes
 , cryptoRandom, HUnit, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
@@ -5,14 +7,15 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey";
-  version = "0.2.1";
-  sha256 = "06cb2h9c3r1ycgcw7scc191gbr86qi8pxil07207n5fccq3vpjys";
+  version = "0.2.4";
+  sha256 = "0mdjr6zma2q7r2z9qibp2bwf73bis6zrv7ss62i4pz42kndb9hh4";
   buildDepends = [
     byteable cryptohash cryptoNumbers cryptoPubkeyTypes cryptoRandom
   ];
   testDepends = [
-    byteable cryptohash cryptoNumbers cryptoRandom HUnit QuickCheck
-    testFramework testFrameworkHunit testFrameworkQuickcheck2
+    byteable cryptohash cryptoNumbers cryptoPubkeyTypes cryptoRandom
+    HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-pubkey";
diff --git a/pkgs/development/libraries/haskell/crypto-random-api/default.nix b/pkgs/development/libraries/haskell/crypto-random-api/default.nix
index 7c3b10a3838..674c2e87013 100644
--- a/pkgs/development/libraries/haskell/crypto-random-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-random-api/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, entropy }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/crypto-random/default.nix b/pkgs/development/libraries/haskell/crypto-random/default.nix
index 1b5e2aa3238..878eb3d2c71 100644
--- a/pkgs/development/libraries/haskell/crypto-random/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-random/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, securemem, vector }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/cryptocipher/default.nix b/pkgs/development/libraries/haskell/cryptocipher/default.nix
index 7d3ddf57e52..6f9c05f544b 100644
--- a/pkgs/development/libraries/haskell/cryptocipher/default.nix
+++ b/pkgs/development/libraries/haskell/cryptocipher/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cipherAes, cipherBlowfish, cipherCamellia, cipherDes
 , cipherRc4, cryptoCipherTypes
 }:
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Symmetrical block and stream ciphers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix b/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix
new file mode 100644
index 00000000000..c9476bae647
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitExtra, cryptohash, resourcet, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cryptohash-conduit";
+  version = "0.1.1";
+  sha256 = "1kmlskgb0jx8hkzdncr24aqir9k1kyfcb2rypvkdld1yin4nslga";
+  buildDepends = [
+    conduit conduitExtra cryptohash resourcet transformers
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-cryptohash-conduit";
+    description = "cryptohash conduit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix
index e21e026080b..a1ff03e4c49 100644
--- a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, cryptoApi, cryptohash, tagged }:
 
 cabal.mkDerivation (self: {
   pname = "cryptohash-cryptoapi";
-  version = "0.1.0";
-  sha256 = "06b62ddwx2mp71dzaj8h88vw2c6nv3rj8n6d3d9vmqa7cws3mjkx";
+  version = "0.1.3";
+  sha256 = "0wj53p32js8lfg0i8akrljpash0jdiyv2vcqpmjbd4dq2fx81w2n";
   buildDepends = [ cereal cryptoApi cryptohash tagged ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptohash-cryptoapi";
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index 839bf4518a1..5d143dfc9e8 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -1,21 +1,21 @@
-{ cabal, byteable, HUnit, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, byteable, HUnit, QuickCheck, tasty, tastyHunit
+, tastyQuickcheck
 }:
 
 cabal.mkDerivation (self: {
   pname = "cryptohash";
-  version = "0.11.1";
-  sha256 = "0ww7bikl8i50m1pwkqp145bfsiy07npnjw48j3il4w2ia0b3axmy";
+  version = "0.11.6";
+  sha256 = "0dyzcaxr8vhzqq9hj4240rxpi87h4ps87yz09klz723shls26f6s";
   buildDepends = [ byteable ];
   testDepends = [
-    byteable HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
+    byteable HUnit QuickCheck tasty tastyHunit tastyQuickcheck
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptohash";
     description = "collection of crypto hashes, fast, pure and practical";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/css-text/default.nix b/pkgs/development/libraries/haskell/css-text/default.nix
index f59a80b2b65..dcc2146313d 100644
--- a/pkgs/development/libraries/haskell/css-text/default.nix
+++ b/pkgs/development/libraries/haskell/css-text/default.nix
@@ -1,16 +1,17 @@
-{ cabal, attoparsec, hspec, HUnit, QuickCheck, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, hspec, QuickCheck, text }:
 
 cabal.mkDerivation (self: {
   pname = "css-text";
-  version = "0.1.1";
-  sha256 = "10vb08rnfq987w7wrirw8ib1kzafxaaancswm4xpw46ha3rq1m0y";
+  version = "0.1.2.1";
+  sha256 = "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw";
   buildDepends = [ attoparsec text ];
-  testDepends = [ attoparsec hspec HUnit QuickCheck text ];
+  testDepends = [ attoparsec hspec QuickCheck text ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "CSS parser and renderer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/csv/default.nix b/pkgs/development/libraries/haskell/csv/default.nix
index f56a9b89423..e3908008aa7 100644
--- a/pkgs/development/libraries/haskell/csv/default.nix
+++ b/pkgs/development/libraries/haskell/csv/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, parsec }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "CSV loader and dumper";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index ac9e41fd628..c6daa8b5fdd 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, c2hs, cudatoolkit, nvidia_x11 }:
 
 cabal.mkDerivation (self: {
   pname = "cuda";
-  version = "0.5.0.2";
-  sha256 = "1if730wcww5qx5qki1ir0d576wwpwrh00krp1svgdlx2j50rmgq5";
+  version = "0.6.0.1";
+  sha256 = "03wnkqgdvy6h2dqcmj0xlag3am3s3rjzhx0kqaq362mq365n9y51";
   buildTools = [ c2hs ];
   extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ];
   doCheck = false;
@@ -31,9 +33,10 @@ cabal.mkDerivation (self: {
     ./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags
   '';
   meta = {
+    homepage = "https://github.com/tmcdonell/cuda";
     description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cufft/default.nix b/pkgs/development/libraries/haskell/cufft/default.nix
index e9f1fe166bd..d24af97f4f2 100644
--- a/pkgs/development/libraries/haskell/cufft/default.nix
+++ b/pkgs/development/libraries/haskell/cufft/default.nix
@@ -1,15 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, c2hs, cuda }:
 
 cabal.mkDerivation (self: {
   pname = "cufft";
-  version = "0.1.0.1";
-  sha256 = "0j1rsixl48z8xszym9s3rw4pwq4s5bz6inqkfsq726gni0nlm8vx";
+  version = "0.1.0.3";
+  sha256 = "1jj1ixacmhwjcb2syv4fglawpya5vmdhdk2xqrw4wwfxw4wc9ypi";
   buildDepends = [ cuda ];
   buildTools = [ c2hs ];
   meta = {
     homepage = "http://github.com/robeverest/cufft";
     description = "Haskell bindings for the CUFFT library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/curl/default.nix b/pkgs/development/libraries/haskell/curl/default.nix
index a530044ca6e..82bdd707ea7 100644
--- a/pkgs/development/libraries/haskell/curl/default.nix
+++ b/pkgs/development/libraries/haskell/curl/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, curl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Haskell binding to libcurl";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix
new file mode 100644
index 00000000000..2f514295786
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataAccessor, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "data-accessor-mtl";
+  version = "0.2.0.4";
+  sha256 = "1i8lk0vy04giixng5addgj740cbvwlc7g62qgrmhfip0w9k93kqh";
+  buildDepends = [ dataAccessor mtl ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Record_access";
+    description = "Use Accessor to access state in mtl State monad class";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
index 41bd2347012..5b3a54d7220 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataAccessor, utilityHt }:
 
 cabal.mkDerivation (self: {
   pname = "data-accessor-template";
-  version = "0.2.1.10";
-  sha256 = "11a4c0g74ppl7nls0dhx6xs47dfcq1wp7bd8qgdba6hhn645afzy";
+  version = "0.2.1.11";
+  sha256 = "1n2slv287zp6pabqb7xbfi296dbikw5a4ivqmnas0c4nxikqkayx";
   buildDepends = [ dataAccessor utilityHt ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
     description = "Utilities for accessing and manipulating fields of records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-transformers.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-transformers.nix
index 83712b858c2..c25d8d98cb9 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-transformers.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-transformers.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataAccessor, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "data-accessor-transformers";
-  version = "0.2.1.4";
-  sha256 = "1bf1j8g5q81zw51bri89hj3i9jnlmhdggw8rhw3n2v103399pf7d";
+  version = "0.2.1.6";
+  sha256 = "1iawhp1h68ynr2axj12jrn47nf08mss0ar8blagp59yi8j7170fa";
   buildDepends = [ dataAccessor transformers ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
index 7c1de10b20b..f80a8fc0fe8 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "data-accessor";
-  version = "0.2.2.3";
-  sha256 = "1fa1rbbs3m05y61w42vj4vqlcpqmz60v8mv3r0h6lx669k6ka5gj";
+  version = "0.2.2.6";
+  sha256 = "0668qgllmp2911ppsb0g9z95nq2x0h2cvzyyjlb6iwhnjzyyg7gf";
   buildDepends = [ transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
     description = "Utilities for accessing and manipulating fields of records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
index db9b90574e4..8e11a9ef85d 100644
--- a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Parser/Serialiser for IEEE-754 floating-point values";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-checked/default.nix b/pkgs/development/libraries/haskell/data-checked/default.nix
new file mode 100644
index 00000000000..790e22d5cfa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-checked/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "data-checked";
+  version = "0.3";
+  sha256 = "0xjn7iqlsgi51h8gz4x40kc2qb5lwf6nw5kjwgkck1w5gjfd11yw";
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "https://github.com/mvv/data-checked";
+    description = "Type-indexed runtime-checked properties";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-default-class/default.nix b/pkgs/development/libraries/haskell/data-default-class/default.nix
index 1db4468a6de..646f73a2aa9 100644
--- a/pkgs/development/libraries/haskell/data-default-class/default.nix
+++ b/pkgs/development/libraries/haskell/data-default-class/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/data-default-instances-base/default.nix b/pkgs/development/libraries/haskell/data-default-instances-base/default.nix
index 5fc59b232a4..992a5e012dd 100644
--- a/pkgs/development/libraries/haskell/data-default-instances-base/default.nix
+++ b/pkgs/development/libraries/haskell/data-default-instances-base/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefaultClass }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/data-default-instances-containers/default.nix b/pkgs/development/libraries/haskell/data-default-instances-containers/default.nix
index 6ac626b7079..49752fd5055 100644
--- a/pkgs/development/libraries/haskell/data-default-instances-containers/default.nix
+++ b/pkgs/development/libraries/haskell/data-default-instances-containers/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefaultClass }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/data-default-instances-dlist/default.nix b/pkgs/development/libraries/haskell/data-default-instances-dlist/default.nix
index a89da0c84f5..753d91b8a4d 100644
--- a/pkgs/development/libraries/haskell/data-default-instances-dlist/default.nix
+++ b/pkgs/development/libraries/haskell/data-default-instances-dlist/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefaultClass, dlist }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/data-default-instances-old-locale/default.nix b/pkgs/development/libraries/haskell/data-default-instances-old-locale/default.nix
index b1b7742692a..0da8199f3ae 100644
--- a/pkgs/development/libraries/haskell/data-default-instances-old-locale/default.nix
+++ b/pkgs/development/libraries/haskell/data-default-instances-old-locale/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefaultClass }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/data-default/default.nix b/pkgs/development/libraries/haskell/data-default/default.nix
index e4340c7ec32..549cb24a689 100644
--- a/pkgs/development/libraries/haskell/data-default/default.nix
+++ b/pkgs/development/libraries/haskell/data-default/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefaultClass, dataDefaultInstancesBase
 , dataDefaultInstancesContainers, dataDefaultInstancesDlist
 , dataDefaultInstancesOldLocale
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A class for types with a default value";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-fin/default.nix b/pkgs/development/libraries/haskell/data-fin/default.nix
new file mode 100644
index 00000000000..73fa4488d9f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-fin/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lazysmallcheck, preludeSafeenum, QuickCheck, reflection
+, smallcheck, tagged
+}:
+
+cabal.mkDerivation (self: {
+  pname = "data-fin";
+  version = "0.1.1.3";
+  sha256 = "02n3dr4gj73z549vwq5h7h1kvmx2j8vaxjcggpdlppps9wl6flry";
+  buildDepends = [
+    lazysmallcheck preludeSafeenum QuickCheck reflection smallcheck
+    tagged
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://code.haskell.org/~wren/";
+    description = "Finite totally ordered sets";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-fix/default.nix b/pkgs/development/libraries/haskell/data-fix/default.nix
new file mode 100644
index 00000000000..ab029a7d1c9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-fix/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "data-fix";
+  version = "0.0.1";
+  sha256 = "09r08lrv92ka6p35wkbfhq9ywg7y5pmgszwbz8a20h31vjz1ffpr";
+  meta = {
+    homepage = "https://github.com/anton-k/data-fix";
+    description = "Fixpoint data types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-hash/default.nix b/pkgs/development/libraries/haskell/data-hash/default.nix
new file mode 100644
index 00000000000..a2c6adeedf9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-hash/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck, testFramework, testFrameworkQuickcheck2 }:
+
+cabal.mkDerivation (self: {
+  pname = "data-hash";
+  version = "0.2.0.0";
+  sha256 = "1bfsbc4fkg3jqgbgka1mg6k1fizynvvxbhf2zb0x1apgr579mcrm";
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  meta = {
+    description = "Combinators for building fast hashing functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-inttrie/default.nix b/pkgs/development/libraries/haskell/data-inttrie/default.nix
index ec3cf7ca649..c9e3ddb3dde 100644
--- a/pkgs/development/libraries/haskell/data-inttrie/default.nix
+++ b/pkgs/development/libraries/haskell/data-inttrie/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A lazy, infinite trie of integers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens-light/default.nix b/pkgs/development/libraries/haskell/data-lens-light/default.nix
new file mode 100644
index 00000000000..2eca446c714
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-lens-light/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "data-lens-light";
+  version = "0.1.2";
+  sha256 = "1xxphcd36vw1ib48rfmrg207h0i1hlby01bm3xsxnq90ygizvxk7";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "https://github.com/feuerbach/data-lens-light";
+    description = "Simple lenses, minimum dependencies";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix
index 7ba9e3f9da7..923e11bf2e2 100644
--- a/pkgs/development/libraries/haskell/data-lens-template/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix
@@ -1,14 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataLens }:
 
 cabal.mkDerivation (self: {
   pname = "data-lens-template";
-  version = "2.1.7";
-  sha256 = "108xvk5glsw016vdvjb1p3a9zh7rgbkjv5xashs1hj25f8k4cw49";
+  version = "2.1.8";
+  sha256 = "0w8x5zn3d98z0q74bqfgkb9s0ca9hd1xc53gjl759s77wm4iwa0q";
   buildDepends = [ dataLens ];
   meta = {
     homepage = "http://github.com/roconnor/data-lens-template/";
     description = "Utilities for Data.Lens";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix
index 5276c1c9707..5fba0b4bde3 100644
--- a/pkgs/development/libraries/haskell/data-lens/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens/default.nix
@@ -1,14 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad, semigroupoids, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "data-lens";
-  version = "2.10.4";
-  sha256 = "1pzswlpphpipsqja825pyqjixp4akc5nmw9y61jwv6r4vsgdpg5i";
+  version = "2.10.5";
+  sha256 = "11na4wx0f0ihk87d00njwrfc430nb25dkkadv1n47yvcyfc60i90";
   buildDepends = [ comonad semigroupoids transformers ];
   meta = {
     homepage = "http://github.com/roconnor/data-lens/";
-    description = "Haskell 98 Lenses";
+    description = "Used to be Haskell 98 Lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-memocombinators/default.nix b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
index 2b3adde1d72..2588a396dc0 100644
--- a/pkgs/development/libraries/haskell/data-memocombinators/default.nix
+++ b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataInttrie }:
 
 cabal.mkDerivation (self: {
   pname = "data-memocombinators";
-  version = "0.4.4";
-  sha256 = "06x79rgxi6cxrpzjzzsjk7yj7i0ajmcgns0n12lxakz9vxbqxyn2";
+  version = "0.5.1";
+  sha256 = "1mvfc1xri3kgkx5q7za01bqg1x3bfvbgcffw5vwl6jmq4hh1sd5l";
   buildDepends = [ dataInttrie ];
   meta = {
     homepage = "http://github.com/luqui/data-memocombinators";
     description = "Combinators for building memo tables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-ordlist/default.nix b/pkgs/development/libraries/haskell/data-ordlist/default.nix
new file mode 100644
index 00000000000..959eb57e779
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-ordlist/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "data-ordlist";
+  version = "0.4.6.1";
+  sha256 = "1qrvyin5567br99zfip7krdy6snnbm5z5jdi6ghmk0cfmhmyrwy3";
+  meta = {
+    description = "Set and bag operations on ordered lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-pprint/default.nix b/pkgs/development/libraries/haskell/data-pprint/default.nix
index b78096a1835..d082cbae510 100644
--- a/pkgs/development/libraries/haskell/data-pprint/default.nix
+++ b/pkgs/development/libraries/haskell/data-pprint/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, mtl, parallel, time }:
 
 cabal.mkDerivation (self: {
@@ -5,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.2.3";
   sha256 = "1ygbhn399d4hlrdjmg7gxbr5akydb78p6qa80rv7m6j0fsqzbf6y";
   buildDepends = [ deepseq mtl parallel time ];
+  jailbreak = true;
   meta = {
     description = "Prettyprint and compare Data values";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/data-reify/default.nix b/pkgs/development/libraries/haskell/data-reify/default.nix
index 6599d25f68e..00c2dc1b48c 100644
--- a/pkgs/development/libraries/haskell/data-reify/default.nix
+++ b/pkgs/development/libraries/haskell/data-reify/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Reify a recursive data structure into an explicit graph";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix
index 9c4de4a1b84..dcb0e97bdb2 100644
--- a/pkgs/development/libraries/haskell/dataenc/default.nix
+++ b/pkgs/development/libraries/haskell/dataenc/default.nix
@@ -1,16 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "dataenc";
-  version = "0.14.0.5";
-  sha256 = "13gajqbayar7x8sq3rw93i277gqd0bx1i34spshlj4b41fraxc8w";
+  version = "0.14.0.7";
+  sha256 = "1wwgm7wakkz6v94lyxyd3yi21l3h28sss4xxdb3d770vmjhp1lzr";
   isLibrary = true;
   isExecutable = true;
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Library/Data_encoding";
     description = "Data encoding library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/date-cache/default.nix b/pkgs/development/libraries/haskell/date-cache/default.nix
index a460dcbdafc..bacf480a262 100644
--- a/pkgs/development/libraries/haskell/date-cache/default.nix
+++ b/pkgs/development/libraries/haskell/date-cache/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/datetime/default.nix b/pkgs/development/libraries/haskell/datetime/default.nix
index faf0b40b94d..d337f4ee227 100644
--- a/pkgs/development/libraries/haskell/datetime/default.nix
+++ b/pkgs/development/libraries/haskell/datetime/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, time }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Utilities to make Data.Time.* easier to use.";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dbmigrations/default.nix b/pkgs/development/libraries/haskell/dbmigrations/default.nix
new file mode 100644
index 00000000000..7a97a76c6b2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dbmigrations/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, configurator, fgl, filepath, HDBC, HDBCPostgresql
+, HDBCSqlite3, HUnit, mtl, random, text, time, yamlLight
+}:
+
+cabal.mkDerivation (self: {
+  pname = "dbmigrations";
+  version = "0.8";
+  sha256 = "0m1zvc61y0n7p66iwsb8wzwgivxnc08cm1h3xvf1jnwrv294dwch";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    configurator fgl filepath HDBC HDBCPostgresql HDBCSqlite3 HUnit mtl
+    random text time yamlLight
+  ];
+  jailbreak = true;
+  meta = {
+    description = "An implementation of relational database \"migrations\"";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
index e0072bd8446..81aee9c42b4 100644
--- a/pkgs/development/libraries/haskell/dbus/default.nix
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -1,16 +1,24 @@
-{ cabal, cereal, libxmlSax, network, parsec, random, text
-, transformers, vector, xmlTypes
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, chell, chellQuickcheck, filepath, libxmlSax
+, network, parsec, QuickCheck, random, text, transformers, vector
+, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "dbus";
-  version = "0.10.4";
-  sha256 = "0cv4sgk1mdxc81jlky21k0y3zg7qii585xiapr1m589r5528gj2f";
+  version = "0.10.8";
+  sha256 = "1pqcb6fk6l2xzwyy3n9sa2q2k3qykym1f98n2zf75545ix46b1r6";
   buildDepends = [
     cereal libxmlSax network parsec random text transformers vector
     xmlTypes
   ];
+  testDepends = [
+    cereal chell chellQuickcheck filepath libxmlSax network parsec
+    QuickCheck random text transformers vector xmlTypes
+  ];
   jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "https://john-millikin.com/software/haskell-dbus/";
     description = "A client library for the D-Bus IPC system";
diff --git a/pkgs/development/libraries/haskell/deepseq-generics/default.nix b/pkgs/development/libraries/haskell/deepseq-generics/default.nix
new file mode 100644
index 00000000000..0ee12f4b465
--- /dev/null
+++ b/pkgs/development/libraries/haskell/deepseq-generics/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, HUnit, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "deepseq-generics";
+  version = "0.1.1.1";
+  sha256 = "1icc2gxsbnjjl150msnyysvr9r14kb6s2gm3izrj5a3mwf6l7s08";
+  buildDepends = [ deepseq ];
+  testDepends = [ deepseq HUnit testFramework testFrameworkHunit ];
+  meta = {
+    homepage = "https://github.com/hvr/deepseq-generics";
+    description = "GHC.Generics-based Control.DeepSeq.rnf implementation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/deepseq-th/default.nix b/pkgs/development/libraries/haskell/deepseq-th/default.nix
index 228fcd28c78..1d34e12a844 100644
--- a/pkgs/development/libraries/haskell/deepseq-th/default.nix
+++ b/pkgs/development/libraries/haskell/deepseq-th/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -6,10 +8,11 @@ cabal.mkDerivation (self: {
   sha256 = "12wk8higrp12b22zzz1b4ar1q5h7flk22bp2rvswsqri2zkbi965";
   buildDepends = [ deepseq ];
   testDepends = [ deepseq ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     description = "Template Haskell based deriver for optimised NFData instances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
index c13abe9e31c..4d7a0b9b818 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Fully evaluate data structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
index 99db69e612a..7748ff96a8a 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Deep evaluation of data structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix b/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix
index f4ef61cbbff..340d7fb3bf2 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Deep evaluation of data structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix b/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix
deleted file mode 100644
index 78f9273e46a..00000000000
--- a/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "deepseq";
-  version = "1.3.0.1";
-  sha256 = "068zka6rwprbzpx7yisi1ajsxdly23zaf2vjklx1wp66yypx54lp";
-  meta = {
-    description = "Deep evaluation of data structures";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
new file mode 100644
index 00000000000..99ce96c8846
--- /dev/null
+++ b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "deepseq";
+  version = "1.3.0.2";
+  sha256 = "09jnfz5158s4fvlfjbz44vb5jsvflagmsrgbk846arymwym6b7bp";
+  meta = {
+    description = "Deep evaluation of data structures";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dependent-map/default.nix b/pkgs/development/libraries/haskell/dependent-map/default.nix
index 32a10efc785..0270139c383 100644
--- a/pkgs/development/libraries/haskell/dependent-map/default.nix
+++ b/pkgs/development/libraries/haskell/dependent-map/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dependentSum }:
 
 cabal.mkDerivation (self: {
   pname = "dependent-map";
-  version = "0.1.1.1";
-  sha256 = "1p5a5qahw7i6cvb0g0g1bv9gzy6jlxr5vb3hp8gahm210zw8g990";
+  version = "0.1.1.2";
+  sha256 = "1g8mq8189c6wr1rik70019gqrnk84c613x9cn5383p7hhfyc0rnn";
   buildDepends = [ dependentSum ];
   meta = {
     homepage = "https://github.com/mokus0/dependent-map";
diff --git a/pkgs/development/libraries/haskell/dependent-sum-template/default.nix b/pkgs/development/libraries/haskell/dependent-sum-template/default.nix
index 2ea45097d3f..614a3fdf72d 100644
--- a/pkgs/development/libraries/haskell/dependent-sum-template/default.nix
+++ b/pkgs/development/libraries/haskell/dependent-sum-template/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dependentSum, thExtras }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/dependent-sum/default.nix b/pkgs/development/libraries/haskell/dependent-sum/default.nix
index 3d33956edcf..9f0922a8dfa 100644
--- a/pkgs/development/libraries/haskell/dependent-sum/default.nix
+++ b/pkgs/development/libraries/haskell/dependent-sum/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "dependent-sum";
-  version = "0.2.0.1";
-  sha256 = "07zv8rj574vf7wl3pms4q8d9m7zsfppac5vla9d9b7q11s81lldf";
+  version = "0.2.1.0";
+  sha256 = "1h6wsrh206k6q3jcfdxvlsswbm47x30psp6x30l2z0j9jyf7jpl3";
   meta = {
     homepage = "https://github.com/mokus0/dependent-sum";
     description = "Dependent sum type";
diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix
index 0873e65d9da..dbad9c538a9 100644
--- a/pkgs/development/libraries/haskell/derive/default.nix
+++ b/pkgs/development/libraries/haskell/derive/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, haskellSrcExts, syb, transformers, uniplate }:
 
 cabal.mkDerivation (self: {
   pname = "derive";
-  version = "2.5.13";
-  sha256 = "0lmwj66s4krh29qqmkyc3cn3j4b4mhyqvlngvmy1xaigmgib5aci";
+  version = "2.5.16";
+  sha256 = "0vahwnb2hzdm990b2m139kbg9jkk4whcxjdfjvlpimqk72s27viy";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "A program and library to derive instances for data types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/derp/default.nix b/pkgs/development/libraries/haskell/derp/default.nix
index ca702b60356..c14b43a4bc3 100644
--- a/pkgs/development/libraries/haskell/derp/default.nix
+++ b/pkgs/development/libraries/haskell/derp/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Derivative Parsing";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix
index a73b6d9fba8..c0f678311b9 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -1,15 +1,20 @@
-{ cabal, cairo, cmdargs, colour, diagramsCore, diagramsLib
-, filepath, mtl, split, time
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, colour, dataDefaultClass, diagramsCore, diagramsLib
+, filepath, hashable, JuicyPixels, lens, mtl, optparseApplicative
+, pango, split, statestack, time, transformers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-cairo";
-  version = "0.7";
-  sha256 = "14ghcrzzpqdnvmpvykhf4r74sb9jgp69094mkwydslzmi8dsgdiy";
+  version = "1.2";
+  sha256 = "0vzjp1i5hk971r7f55gpdl0jibrjg9j4ny7p408kb8zl2ynlxv6l";
   buildDepends = [
-    cairo cmdargs colour diagramsCore diagramsLib filepath mtl split
-    time
+    cairo colour dataDefaultClass diagramsCore diagramsLib filepath
+    hashable JuicyPixels lens mtl optparseApplicative pango split
+    statestack time transformers vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Cairo backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix
index 023ac090681..2dcc86d5c9b 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -1,21 +1,26 @@
-{ cabal, arithmoi, circlePacking, colour, dataDefault, diagramsCore
-, diagramsLib, forceLayout, HUnit, lens, MonadRandom, mtl
-, QuickCheck, split, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, vectorSpace
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, arithmoi, circlePacking, colour, dataDefault
+, dataDefaultClass, diagramsCore, diagramsLib, forceLayout, HUnit
+, lens, MonadRandom, mtl, parsec, QuickCheck, semigroups, split
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-contrib";
-  version = "0.7";
-  sha256 = "0dcj4rjvpgf0lmxgv50f8cpi6adkbfnsa4z4ay8khawhnn4af5ac";
+  version = "1.1.2";
+  sha256 = "1gljmzlhc6vck5lcsq9lhf2k4dik5pp62k85y2kkxgq0mxnmqf0g";
   buildDepends = [
-    arithmoi circlePacking colour dataDefault diagramsCore diagramsLib
-    forceLayout lens MonadRandom mtl split vectorSpace
+    arithmoi circlePacking colour dataDefault dataDefaultClass
+    diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec
+    semigroups split text vectorSpace vectorSpacePoints
   ];
   testDepends = [
     diagramsLib HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
     description = "Collection of user contributions to diagrams EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix
index 33fa353628b..9a1245d04d0 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -1,13 +1,15 @@
-{ cabal, dualTree, MemoTrie, monoidExtras, newtype, semigroups
-, vectorSpace, vectorSpacePoints
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dualTree, lens, MemoTrie, monoidExtras, newtype
+, semigroups, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-core";
-  version = "0.7.0.1";
-  sha256 = "1826f6yrb0ch07y4bjb1cnqi8giphn2i6g45484qr6bfbb8wj5dg";
+  version = "1.2.0.1";
+  sha256 = "01rzd2zdg0pv7b299z6s6i6l6xggiszb2qs00vh5dbss295n1sps";
   buildDepends = [
-    dualTree MemoTrie monoidExtras newtype semigroups vectorSpace
+    dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace
     vectorSpacePoints
   ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/diagrams/diagrams.nix b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
index 2b000724f12..268bdce4279 100644
--- a/pkgs/development/libraries/haskell/diagrams/diagrams.nix
+++ b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, diagramsContrib, diagramsCore, diagramsLib, diagramsSvg }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams";
-  version = "0.7.1.1";
-  sha256 = "1fkrdds3p7ghjjscw5fmsjk8s5l31bz9a9z2qf3xwa1kp8p4d16d";
+  version = "1.2";
+  sha256 = "17j7hyd86h9msc8ni19agb0yhixga76q9kh4i109iyiyqizdnfhg";
   buildDepends = [
     diagramsContrib diagramsCore diagramsLib diagramsSvg
   ];
diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix
index 43ada20aecc..77047d98291 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -1,15 +1,20 @@
-{ cabal, active, colour, dataDefaultClass, diagramsCore, fingertree
-, intervals, monoidExtras, newtype, NumInstances, semigroups
-, vectorSpace
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, active, colour, dataDefaultClass, diagramsCore, dualTree
+, filepath, fingertree, hashable, intervals, JuicyPixels, lens
+, MemoTrie, monoidExtras, optparseApplicative, safe, semigroups
+, tagged, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-lib";
-  version = "0.7.1.1";
-  sha256 = "14d557y22dqyjr026vbawa2a2yjh7alh3rpavyidfdlrg48lqgrc";
+  version = "1.2.0.1";
+  sha256 = "0p7rq97hnal90dciq1nln1s16kdb1xk9rrwaxhkxqr6kjjr2njf4";
   buildDepends = [
-    active colour dataDefaultClass diagramsCore fingertree intervals
-    monoidExtras newtype NumInstances semigroups vectorSpace
+    active colour dataDefaultClass diagramsCore dualTree filepath
+    fingertree hashable intervals JuicyPixels lens MemoTrie
+    monoidExtras optparseApplicative safe semigroups tagged vectorSpace
+    vectorSpacePoints
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix
new file mode 100644
index 00000000000..6ecd2dd4a41
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefaultClass, diagramsCore, diagramsLib, dlist
+, filepath, hashable, lens, monoidExtras, mtl, semigroups, split
+, vectorSpace
+}:
+
+cabal.mkDerivation (self: {
+  pname = "diagrams-postscript";
+  version = "1.1";
+  sha256 = "0l077libp6h8ka9ygkmajvzdymndlhx60nb5f6jaqvp7yx80hz3m";
+  buildDepends = [
+    dataDefaultClass diagramsCore diagramsLib dlist filepath hashable
+    lens monoidExtras mtl semigroups split vectorSpace
+  ];
+  meta = {
+    homepage = "http://projects.haskell.org/diagrams/";
+    description = "Postscript backend for diagrams drawing EDSL";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix
index 062cee83e41..f982f427863 100644
--- a/pkgs/development/libraries/haskell/diagrams/svg.nix
+++ b/pkgs/development/libraries/haskell/diagrams/svg.nix
@@ -1,15 +1,20 @@
-{ cabal, blazeSvg, cmdargs, colour, diagramsCore, diagramsLib
-, filepath, monoidExtras, mtl, split, time, vectorSpace
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, blazeMarkup, blazeSvg, colour
+, diagramsCore, diagramsLib, filepath, hashable, JuicyPixels, lens
+, monoidExtras, mtl, split, time, vectorSpace
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-svg";
-  version = "0.8.0.2";
-  sha256 = "0ahapj040qy74kcj9f786ddd28xysq1wch087wsh8sdfp57z5dbz";
+  version = "1.1";
+  sha256 = "0b34rh35pay4x8dg0i06xvr3d865hbxzj2x77jly9l1j7sa1qaj1";
   buildDepends = [
-    blazeSvg cmdargs colour diagramsCore diagramsLib filepath
-    monoidExtras mtl split time vectorSpace
+    base64Bytestring blazeMarkup blazeSvg colour diagramsCore
+    diagramsLib filepath hashable JuicyPixels lens monoidExtras mtl
+    split time vectorSpace
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
     description = "SVG backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/dice/default.nix b/pkgs/development/libraries/haskell/dice/default.nix
index 23d3339d348..1e3b448f449 100644
--- a/pkgs/development/libraries/haskell/dice/default.nix
+++ b/pkgs/development/libraries/haskell/dice/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, parsec, randomFu, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/diff3/default.nix b/pkgs/development/libraries/haskell/diff3/default.nix
new file mode 100644
index 00000000000..d13b7af776b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diff3/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Diff, QuickCheck, testFramework, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "diff3";
+  version = "0.2.0.3";
+  sha256 = "0zdfn1jhsq8pd23qpkhzr8wgiwbazfbq688bjnpc406i7gq88k78";
+  buildDepends = [ Diff ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/diff3.git";
+    description = "Perform a 3-way difference of documents";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/digest/default.nix b/pkgs/development/libraries/haskell/digest/default.nix
index c315c0813eb..6b1f2077ca6 100644
--- a/pkgs/development/libraries/haskell/digest/default.nix
+++ b/pkgs/development/libraries/haskell/digest/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
new file mode 100644
index 00000000000..924f8bb351d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, digestiveFunctors, HUnit, lens, mtl, safe
+, scientific, tasty, tastyHunit, text, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "digestive-functors-aeson";
+  version = "1.1.10";
+  sha256 = "0ar165rksnj09sb58qx5hm71kn8gzm936ixmfhf7sqbw2kcbw4nx";
+  buildDepends = [ aeson digestiveFunctors lens safe text vector ];
+  testDepends = [
+    aeson digestiveFunctors HUnit mtl scientific tasty tastyHunit text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/ocharles/digestive-functors-aeson";
+    description = "Run digestive-functors forms against JSON";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
index 3773192a5dc..aae120d5681 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
@@ -1,10 +1,12 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, digestiveFunctors, heist, mtl, text, xmlhtml
 }:
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-heist";
-  version = "0.8.0.0";
-  sha256 = "1zy2fy30q51q8pqw78f8gxc1x52vw49w3mnqc2hfqw190v5r9dgh";
+  version = "0.8.5.0";
+  sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87";
   buildDepends = [
     blazeBuilder digestiveFunctors heist mtl text xmlhtml
   ];
diff --git a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
index f23ee6d0691..e5a3e0a44c6 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, digestiveFunctors, filepath, mtl, snapCore, text }:
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-snap";
-  version = "0.6.0.0";
-  sha256 = "18hc0sx7in0df6kgkc8mrxag5h2rmdj2cca9zf9w1if6wimx3g88";
+  version = "0.6.1.0";
+  sha256 = "07xb8jr70j03kggk55p3zzp07y7amzm7f8hdzry4vff7yx41rxhr";
   buildDepends = [ digestiveFunctors filepath mtl snapCore text ];
   meta = {
     homepage = "http://github.com/jaspervdj/digestive-functors";
diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix
index 1d3f31e5568..03448a3fe67 100644
--- a/pkgs/development/libraries/haskell/digestive-functors/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, mtl, QuickCheck, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, text
+, testFrameworkQuickcheck2, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors";
-  version = "0.6.1.0";
-  sha256 = "0p38q8xz01vjn1mf718xi5ny3i7z9zd00lnnybmd6zy03laq4a2d";
-  buildDepends = [ mtl text ];
+  version = "0.7.1.1";
+  sha256 = "161461y8gil2922gx6kdc59g50ywk9nk74gkxl0yrwvz80a118c9";
+  buildDepends = [ mtl text time ];
   testDepends = [
     HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text
+    testFrameworkQuickcheck2 text time
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/digits/default.nix b/pkgs/development/libraries/haskell/digits/default.nix
new file mode 100644
index 00000000000..16f4e665f93
--- /dev/null
+++ b/pkgs/development/libraries/haskell/digits/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "digits";
+  version = "0.2";
+  sha256 = "18s9k7kj0qvd4297msl0k6ziwfb5bl1gwnxlrl8b4rkqda4kf17l";
+  buildDepends = [ QuickCheck ];
+  meta = {
+    description = "Converts integers to lists of digits and back";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
index d28de6c67a0..c93a564c3e3 100644
--- a/pkgs/development/libraries/haskell/dimensional-tf/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, numtypeTf, time }:
 
 cabal.mkDerivation (self: {
   pname = "dimensional-tf";
-  version = "0.2";
-  sha256 = "0j23iamgcm7wy6y7i7diq5nnaimpsz0vvb1yrmyh0qz792d60fw1";
+  version = "0.3";
+  sha256 = "0z3k9962zz652bk2azv9lcms1j06v60hid3iach043dpg5r083qg";
   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 1f672c25cfa..3435bf57d5c 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, numtype, time }:
 
 cabal.mkDerivation (self: {
   pname = "dimensional";
-  version = "0.12.1.1";
-  sha256 = "1fjkvyp62bh5gyzhkn189z5mxrr1acwmk39mqxk4579xbchvpyq6";
+  version = "0.13";
+  sha256 = "1nj8h79iq7pirqlj8iw1p782nm05xgym3469x7hlzaz3ig9nwgrg";
   buildDepends = [ numtype time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
     description = "Statically checked physical dimensions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
new file mode 100644
index 00000000000..07eca858972
--- /dev/null
+++ b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base16Bytestring, HUnit, text }:
+
+cabal.mkDerivation (self: {
+  pname = "direct-sqlite";
+  version = "2.3.13";
+  sha256 = "0d16jmls41cwyzg91fpd32dv8vvx1v3ilypv1wd7ya8j08fwfvdn";
+  buildDepends = [ text ];
+  testDepends = [ base16Bytestring HUnit text ];
+  meta = {
+    homepage = "http://ireneknapp.com/software/";
+    description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix
index 5c8b357593e..d4bff085005 100644
--- a/pkgs/development/libraries/haskell/directory-tree/default.nix
+++ b/pkgs/development/libraries/haskell/directory-tree/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath }:
 
 cabal.mkDerivation (self: {
   pname = "directory-tree";
-  version = "0.11.0";
-  sha256 = "07vqwnzbwfjvlwcl50x5jl9yzvqfln0m4k4lam9r5n49wv7p01c9";
+  version = "0.12.0";
+  sha256 = "1idknm7fwci91fkwvzl35g0qd0jk1vb00ds2x82zjf2hdbkcc2gz";
   buildDepends = [ filepath ];
+  testDepends = [ filepath ];
   meta = {
     homepage = "http://brandon.si/code/directory-tree-module-released/";
     description = "A simple directory-like tree datatype, with useful IO functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/distributed-process/default.nix b/pkgs/development/libraries/haskell/distributed-process/default.nix
new file mode 100644
index 00000000000..21cebedefe4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-process/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, dataAccessor, deepseq, distributedStatic, hashable
+, mtl, networkTransport, random, rank1dynamic, stm, syb, time
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-process";
+  version = "0.5.1";
+  sha256 = "1c654l7r3cn89nknh67vsg7crnfhgswh4523qyrmn8z4ykyd0zfk";
+  buildDepends = [
+    binary dataAccessor deepseq distributedStatic hashable mtl
+    networkTransport random rank1dynamic stm syb time transformers
+  ];
+  meta = {
+    homepage = "http://haskell-distributed.github.com/";
+    description = "Cloud Haskell: Erlang-style concurrency in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-static/default.nix b/pkgs/development/libraries/haskell/distributed-static/default.nix
index 9147b724ba2..8f7f61da8f6 100644
--- a/pkgs/development/libraries/haskell/distributed-static/default.nix
+++ b/pkgs/development/libraries/haskell/distributed-static/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, rank1dynamic }:
 
 cabal.mkDerivation (self: {
   pname = "distributed-static";
-  version = "0.2.1.1";
-  sha256 = "08y9554x6avjwdmbf33fw1pw1wl8qmgfngmgb6vgad88krnixq1h";
+  version = "0.3.0.0";
+  sha256 = "1g8jr01jxlfshsz3mrpzl21q290whwz4va3zjp1h0d1pnfwz6jcj";
   buildDepends = [ binary rank1dynamic ];
   meta = {
-    homepage = "http://www.github.com/haskell-distributed/distributed-process";
+    homepage = "http://haskell-distributed.github.com";
     description = "Compositional, type-safe, polymorphic static values and closures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix
index d03257f54d3..9bb64ee4c59 100644
--- a/pkgs/development/libraries/haskell/distributive/default.nix
+++ b/pkgs/development/libraries/haskell/distributive/default.nix
@@ -1,14 +1,18 @@
-{ cabal, doctest, filepath, transformers, transformersCompat }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filepath, tagged, transformers
+, transformersCompat
+}:
 
 cabal.mkDerivation (self: {
   pname = "distributive";
-  version = "0.3.2";
-  sha256 = "1n2xnjffrbfw736qn9w5fxy4pjl2319yhimkglhbayq85pz51r1h";
-  buildDepends = [ transformers transformersCompat ];
+  version = "0.4.4";
+  sha256 = "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2";
+  buildDepends = [ tagged transformers transformersCompat ];
   testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/distributive/";
-    description = "Haskell 98 Distributive functors -- Dual to Traversable";
+    description = "Distributive functors -- Dual to Traversable";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/djinn-ghc/default.nix b/pkgs/development/libraries/haskell/djinn-ghc/default.nix
new file mode 100644
index 00000000000..3b5ffae42c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/djinn-ghc/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, djinnLib, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "djinn-ghc";
+  version = "0.0.2.2";
+  sha256 = "0dz5jg58si9fsc12212rxmzky09zric7b2sdj1ydmvnrjxkh9l70";
+  buildDepends = [ async djinnLib mtl transformers ];
+  meta = {
+    description = "Generate Haskell code from a type. Bridge from Djinn to GHC API.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/djinn-lib/default.nix b/pkgs/development/libraries/haskell/djinn-lib/default.nix
new file mode 100644
index 00000000000..357ad9a4fdc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/djinn-lib/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "djinn-lib";
+  version = "0.0.1.2";
+  sha256 = "048hs27awl4j9lg04qbnpf8c51mzbgy2afckis19zcswmavi1zn0";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://www.augustsson.net/Darcs/Djinn/";
+    description = "Generate Haskell code from a type. Library extracted from djinn package.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix
new file mode 100644
index 00000000000..12ff67c7f20
--- /dev/null
+++ b/pkgs/development/libraries/haskell/djinn/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskeline, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "djinn";
+  version = "2011.7.23";
+  sha256 = "14748pqzrd1r9jg2vc9v232pi38q99l9zdlia6ashm2v871hp1xv";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskeline mtl ];
+  preConfigure = self.stdenv.lib.optionalString self.stdenv.isDarwin ''
+    sed -i 's/-Wall -optl-Wl/-Wall/' djinn.cabal
+  '';
+  meta = {
+    homepage = "http://www.augustsson.net/Darcs/Djinn/";
+    description = "Generate Haskell code from a type";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dlist-instances/default.nix b/pkgs/development/libraries/haskell/dlist-instances/default.nix
new file mode 100644
index 00000000000..29910a22381
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dlist-instances/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dlist, semigroups }:
+
+cabal.mkDerivation (self: {
+  pname = "dlist-instances";
+  version = "0.1";
+  sha256 = "0r1j7djywqd7c224wc9ixkplj3m2mbf9k3ra7n92ja2kfpksm615";
+  buildDepends = [ dlist semigroups ];
+  meta = {
+    homepage = "https://github.com/gregwebs/dlist-instances";
+    description = "Difference lists instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dlist/default.nix b/pkgs/development/libraries/haskell/dlist/default.nix
index 1a7fc56efd5..bf0b73b45e6 100644
--- a/pkgs/development/libraries/haskell/dlist/default.nix
+++ b/pkgs/development/libraries/haskell/dlist/default.nix
@@ -1,14 +1,17 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "dlist";
-  version = "0.5";
-  sha256 = "1shr5wlpha68h82gwpndr5441847l01gh3j7szyvnmgzkr0fb027";
+  version = "0.7.1";
+  sha256 = "13ka30bn742ldacfgj2lhxvhwf769d0ziy2358vmd5xaq6fn1xfr";
+  buildDepends = [ deepseq ];
+  testDepends = [ Cabal QuickCheck ];
   meta = {
-    homepage = "http://code.haskell.org/~dons/code/dlist/";
-    description = "Differences lists";
+    homepage = "https://github.com/spl/dlist";
+    description = "Difference lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix
index 9dd35804f43..113e1af46ee 100644
--- a/pkgs/development/libraries/haskell/dns/default.nix
+++ b/pkgs/development/libraries/haskell/dns/default.nix
@@ -1,19 +1,20 @@
-{ cabal, attoparsec, attoparsecConduit, binary, blazeBuilder
-, conduit, doctest, hspec, iproute, mtl, network, networkConduit
-, random
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, binary, blazeBuilder, conduit, conduitExtra
+, doctest, hspec, iproute, mtl, network, random, resourcet, word8
 }:
 
 cabal.mkDerivation (self: {
   pname = "dns";
-  version = "1.0.0";
-  sha256 = "16h7c332qdj77dw8kvrdn1jzhzsnrcybbbm5x7pxvgpnn0wzz8si";
+  version = "1.4.3";
+  sha256 = "15v24f338w71dn3cxrzwyg04hk3vxvrvswbv3nnf2ggjgg46yq3i";
   buildDepends = [
-    attoparsec attoparsecConduit binary blazeBuilder conduit iproute
-    mtl network networkConduit random
+    attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
+    network random resourcet
   ];
   testDepends = [
-    attoparsec attoparsecConduit binary blazeBuilder conduit doctest
-    hspec iproute mtl network networkConduit random
+    attoparsec binary blazeBuilder conduit conduitExtra doctest hspec
+    iproute mtl network random resourcet word8
   ];
   testTarget = "spec";
   meta = {
diff --git a/pkgs/development/libraries/haskell/doctest-prop/default.nix b/pkgs/development/libraries/haskell/doctest-prop/default.nix
new file mode 100644
index 00000000000..bca82f78bcf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/doctest-prop/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, HUnit, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "doctest-prop";
+  version = "0.2";
+  sha256 = "09wxkhcmh297hqnx3g4x8ff0w5dcmls9y383417rc8wawf5q288n";
+  buildDepends = [ HUnit QuickCheck ];
+  testDepends = [ doctest HUnit QuickCheck ];
+  meta = {
+    description = "Allow QuickCheck-style property testing within doctest";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix
index 08118ac4e1b..018fac06670 100644
--- a/pkgs/development/libraries/haskell/doctest/default.nix
+++ b/pkgs/development/libraries/haskell/doctest/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, baseCompat, deepseq, filepath, ghcPaths, hspec, HUnit
 , QuickCheck, setenv, silently, stringbuilder, syb, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "doctest";
-  version = "0.9.9";
-  sha256 = "1r1jdmch6sb4cdygh60pv42p4nr03shabrpd18hjnxs40dgc6pgy";
+  version = "0.9.11";
+  sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ deepseq filepath ghcPaths syb transformers ];
@@ -14,6 +16,7 @@ cabal.mkDerivation (self: {
     silently stringbuilder syb transformers
   ];
   doCheck = false;
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4";
   meta = {
     homepage = "https://github.com/sol/doctest-haskell#readme";
     description = "Test interactive Haskell examples";
diff --git a/pkgs/development/libraries/haskell/dom-selector/default.nix b/pkgs/development/libraries/haskell/dom-selector/default.nix
new file mode 100644
index 00000000000..b9806ca4dc7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dom-selector/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, htmlConduit, parsec, QuickCheck, text, thLift
+, xmlConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "dom-selector";
+  version = "0.2.0.1";
+  sha256 = "1nm3r79k4is5lh5fna4v710vhb0n5hpp3d21r0w6hmqizhdrkb22";
+  buildDepends = [
+    blazeHtml htmlConduit parsec QuickCheck text thLift xmlConduit
+  ];
+  testDepends = [
+    blazeHtml htmlConduit parsec QuickCheck text thLift xmlConduit
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/nebuta/";
+    description = "DOM traversal by CSS selectors for xml-conduit package";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dotgen/default.nix b/pkgs/development/libraries/haskell/dotgen/default.nix
index a7fe5b791f0..f72b051be44 100644
--- a/pkgs/development/libraries/haskell/dotgen/default.nix
+++ b/pkgs/development/libraries/haskell/dotgen/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A simple interface for building .dot graph files.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/double-conversion/default.nix b/pkgs/development/libraries/haskell/double-conversion/default.nix
index cad61e52ee0..7089c9fcd05 100644
--- a/pkgs/development/libraries/haskell/double-conversion/default.nix
+++ b/pkgs/development/libraries/haskell/double-conversion/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, testFramework, testFrameworkQuickcheck2, text }:
 
 cabal.mkDerivation (self: {
   pname = "double-conversion";
-  version = "0.2.0.6";
-  sha256 = "1c6hy0ghdqf44fvhdpdxjbcr0ahimw283x5fnvjxja36i71qshjp";
+  version = "2.0.1.0";
+  sha256 = "034ji9jgf3jl0n5pp1nki3lsg173c3b9vniwnwp1q21iasqbawh0";
   buildDepends = [ text ];
   testDepends = [ testFramework testFrameworkQuickcheck2 text ];
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Fast conversion between double precision floating point and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/download-curl/default.nix b/pkgs/development/libraries/haskell/download-curl/default.nix
index 935004a6bb0..c30cbfec691 100644
--- a/pkgs/development/libraries/haskell/download-curl/default.nix
+++ b/pkgs/development/libraries/haskell/download-curl/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, curl, feed, tagsoup, xml }:
 
 cabal.mkDerivation (self: {
@@ -5,11 +7,11 @@ cabal.mkDerivation (self: {
   version = "0.1.4";
   sha256 = "1wf3pf2k4i6jvpfsjlxdj6v53qd33jj1z1ipaf3p47glgx4xw3lm";
   buildDepends = [ curl feed tagsoup xml ];
+  jailbreak = true;
   meta = {
     homepage = "http://code.haskell.org/~dons/code/download-curl";
     description = "High-level file download based on URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/download/default.nix b/pkgs/development/libraries/haskell/download/default.nix
index 06c34bf9acb..dc9ecd7145a 100644
--- a/pkgs/development/libraries/haskell/download/default.nix
+++ b/pkgs/development/libraries/haskell/download/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, feed, tagsoup, xml }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "High-level file download based on URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dsp/default.nix b/pkgs/development/libraries/haskell/dsp/default.nix
new file mode 100644
index 00000000000..9b038d047f9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dsp/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random }:
+
+cabal.mkDerivation (self: {
+  pname = "dsp";
+  version = "0.2.3";
+  sha256 = "1h7y3b2gwbkq97lv6f9a4zssyqs422g5zj2bi9mq1a5fzy5i4v4v";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ random ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/DSP";
+    description = "Haskell Digital Signal Processing";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dstring/default.nix b/pkgs/development/libraries/haskell/dstring/default.nix
index 4b5dd2b3888..eee03fd3fba 100644
--- a/pkgs/development/libraries/haskell/dstring/default.nix
+++ b/pkgs/development/libraries/haskell/dstring/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, baseUnicodeSymbols, dlist }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Difference strings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index c0896557e33..f9cf3b13b41 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, monoidExtras, newtype, semigroups }:
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.1.0.4";
-  sha256 = "0xrpb7kz6aazqy9w0b7hcbxgmy4ddy0zh7gdpv2w140vvyx5qjrn";
+  version = "0.2.0.4";
+  sha256 = "0visavx0zqgmcjcq07vfhk6dn867269w2gxa8nvc79gya56c6wdp";
   buildDepends = [ monoidExtras newtype semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/dynamic-cabal/default.nix b/pkgs/development/libraries/haskell/dynamic-cabal/default.nix
new file mode 100644
index 00000000000..40f52b50904
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dynamic-cabal/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, doctest, filepath, ghcPaths, haskellGenerate
+, haskellSrcExts, HUnit, tasty, tastyHunit, tastyTh, time, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "dynamic-cabal";
+  version = "0.3.2";
+  sha256 = "0f0g4kml17j1j101gnpjjpdmny4m2wgr0dbjq18fw1s3nxc3jagm";
+  buildDepends = [
+    dataDefault filepath ghcPaths haskellGenerate haskellSrcExts time
+    void
+  ];
+  testDepends = [ doctest filepath HUnit tasty tastyHunit tastyTh ];
+  meta = {
+    homepage = "http://github.com/bennofs/dynamic-cabal/";
+    description = "dynamic-cabal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dyre/default.nix b/pkgs/development/libraries/haskell/dyre/default.nix
index 8b3d2cab677..0d47a68d06d 100644
--- a/pkgs/development/libraries/haskell/dyre/default.nix
+++ b/pkgs/development/libraries/haskell/dyre/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, executablePath, filepath, ghcPaths, ioStorage
 , time, xdgBasedir
 }:
 
 cabal.mkDerivation (self: {
   pname = "dyre";
-  version = "0.8.11";
-  sha256 = "0sg5csshznbbyvq72s4sps7bkjlkfxiwcy4i3ip83lrxjw1msvr8";
+  version = "0.8.12";
+  sha256 = "10hnlysy4bjvvznk8v902mlk4jx95qf972clyi1l32xkqrf30972";
   buildDepends = [
     binary executablePath filepath ghcPaths ioStorage time xdgBasedir
   ];
diff --git a/pkgs/development/libraries/haskell/easy-file/default.nix b/pkgs/development/libraries/haskell/easy-file/default.nix
new file mode 100644
index 00000000000..8ba73d74efe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/easy-file/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, time }:
+
+cabal.mkDerivation (self: {
+  pname = "easy-file";
+  version = "0.2.0";
+  sha256 = "0v8skixq15rvyiyky1dcrfl9jrzkbi75vai8np11xy2kg7a8ym2a";
+  buildDepends = [ filepath time ];
+  meta = {
+    homepage = "http://github.com/kazu-yamamoto/easy-file";
+    description = "Cross-platform File handling";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/edit-distance/default.nix b/pkgs/development/libraries/haskell/edit-distance/default.nix
index 22f5953b7e0..c68e32b78df 100644
--- a/pkgs/development/libraries/haskell/edit-distance/default.nix
+++ b/pkgs/development/libraries/haskell/edit-distance/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Levenshtein and restricted Damerau-Levenshtein edit distances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/editline/0.2.1.0.nix b/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
index 7e6262423c6..d36a2ee11f2 100644
--- a/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
+++ b/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libedit }:
 
 cabal.mkDerivation (self: {
@@ -10,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Bindings to the editline library (libedit)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/editline/0.2.1.1.nix b/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
index cf9f1e099a2..4458a067b1f 100644
--- a/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libedit }:
 
 cabal.mkDerivation (self: {
@@ -10,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Bindings to the editline library (libedit)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix
index 93dfd043c90..6d55afd41d6 100644
--- a/pkgs/development/libraries/haskell/either/default.nix
+++ b/pkgs/development/libraries/haskell/either/default.nix
@@ -1,13 +1,18 @@
-{ cabal, MonadRandom, mtl, semigroupoids, semigroups, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, free, monadControl, MonadRandom, mtl
+, semigroupoids, semigroups, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "either";
-  version = "4.0";
-  sha256 = "07axaq43cqyglndr5az7ns4mvkjmybq6z8s32l1jxc5x7532scwr";
+  version = "4.3.0.1";
+  sha256 = "1ib6288gxzqfm2y198dzhhq588mlwqxm07pcrj4h66g1mcy54q1f";
   buildDepends = [
-    MonadRandom mtl semigroupoids semigroups transformers
+    exceptions free monadControl MonadRandom mtl semigroupoids
+    semigroups transformers transformersBase
   ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.6";
   meta = {
     homepage = "http://github.com/ekmett/either/";
     description = "An either monad transformer";
diff --git a/pkgs/development/libraries/haskell/ekg-carbon/default.nix b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
new file mode 100644
index 00000000000..06daad66967
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ekgCore, network, networkCarbon, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ekg-carbon";
+  version = "1.0.1";
+  sha256 = "1slaykn1a6f09dzn78v2aqw8snmidycvaw5cfyr4f0ndd88vi77d";
+  buildDepends = [
+    ekgCore network networkCarbon text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/ekg-carbon";
+    description = "An EKG backend to send statistics to Carbon (part of Graphite monitoring tools)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ekg-core/default.nix b/pkgs/development/libraries/haskell/ekg-core/default.nix
new file mode 100644
index 00000000000..2bdf088aea3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ekg-core/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, text, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "ekg-core";
+  version = "0.1.0.1";
+  sha256 = "1zha9r43nalxdw22s79mf89fwfzi8lq0q9ldhw7f6c63dnwxyjja";
+  buildDepends = [ text unorderedContainers ];
+  meta = {
+    homepage = "https://github.com/tibbe/ekg-core";
+    description = "Tracking of system metrics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ekg/default.nix b/pkgs/development/libraries/haskell/ekg/default.nix
new file mode 100644
index 00000000000..07c522b9818
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ekg/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, ekgCore, filepath, network, snapCore, snapServer
+, text, time, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ekg";
+  version = "0.4.0.2";
+  sha256 = "0svw43dnlg93nyaxiq310sp5csbf0w68ipbhqkxm052yvc9k6fv9";
+  buildDepends = [
+    aeson ekgCore filepath network snapCore snapServer text time
+    transformers unorderedContainers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/tibbe/ekg";
+    description = "Remote monitoring of processes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/elerea/default.nix b/pkgs/development/libraries/haskell/elerea/default.nix
index 8ba4687d3e3..ff6e4819283 100644
--- a/pkgs/development/libraries/haskell/elerea/default.nix
+++ b/pkgs/development/libraries/haskell/elerea/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/email-validate/default.nix b/pkgs/development/libraries/haskell/email-validate/default.nix
index 3ba05926179..8f95b8ec67b 100644
--- a/pkgs/development/libraries/haskell/email-validate/default.nix
+++ b/pkgs/development/libraries/haskell/email-validate/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, HUnit, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "email-validate";
-  version = "1.0.0";
-  sha256 = "0sj1cvn9ap0m8d4cg4cqavvmkd74vp86lyyra9g6f17815sxdbsg";
+  version = "2.0.1";
+  sha256 = "1qxvcm8xiyz50ganzic8cm8nxswq361i80yi939y3n89dk067lzj";
   buildDepends = [ attoparsec ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Validating an email address string against RFC 5322";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
new file mode 100644
index 00000000000..3470aab9b2b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, deepseq, hspec, liftedBase, monadControl
+, QuickCheck, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "enclosed-exceptions";
+  version = "1.0.0.2";
+  sha256 = "1jbgqqavkhz2x5br17bdhv17rcmyi7a5mxplakhgyyg73wkjq04h";
+  buildDepends = [
+    async deepseq liftedBase monadControl transformers transformersBase
+  ];
+  testDepends = [
+    async deepseq hspec liftedBase monadControl QuickCheck transformers
+    transformersBase
+  ];
+  meta = {
+    homepage = "https://github.com/jcristovao/enclosed-exceptions";
+    description = "Catching all exceptions from within an enclosed computation";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/encoding/default.nix b/pkgs/development/libraries/haskell/encoding/default.nix
index 1b7ef1bcd1d..5ec0f1502c3 100644
--- a/pkgs/development/libraries/haskell/encoding/default.nix
+++ b/pkgs/development/libraries/haskell/encoding/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, extensibleExceptions, HaXml, mtl, regexCompat }:
 
 cabal.mkDerivation (self: {
   pname = "encoding";
-  version = "0.6.7.2";
-  sha256 = "0b1z5824vdkcc51bd1vgcbaniw3fv9dmd5qczjc89b5lhrl7qq0d";
+  version = "0.7.0.2";
+  sha256 = "14l3dx7ayvp2dm37c3h7p63zfzmhwpx1hirbkm04idhi3906lxps";
   buildDepends = [
     binary extensibleExceptions HaXml mtl regexCompat
   ];
diff --git a/pkgs/development/libraries/haskell/engine-io-snap/default.nix b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
new file mode 100644
index 00000000000..70c7a1c7d4f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsecEnumerator, engineIo, snapCore
+, unorderedContainers, websockets, websocketsSnap
+}:
+
+cabal.mkDerivation (self: {
+  pname = "engine-io-snap";
+  version = "1.0.1";
+  sha256 = "1hw3gmi23fdcgvz817b95bf23wa7qyg10axsnvan5qxr73pwp5iv";
+  buildDepends = [
+    attoparsecEnumerator engineIo snapCore unorderedContainers
+    websockets websocketsSnap
+  ];
+  meta = {
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix
new file mode 100644
index 00000000000..82cb1240610
--- /dev/null
+++ b/pkgs/development/libraries/haskell/engine-io/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, async, attoparsec, base64Bytestring, either
+, monadLoops, mwcRandom, stm, text, transformers
+, unorderedContainers, vector, websockets
+}:
+
+cabal.mkDerivation (self: {
+  pname = "engine-io";
+  version = "1.1.0";
+  sha256 = "0l2jwgzi22ky13k9kmqhn15zyxyg5gr167rkywb458n1si4jr3jh";
+  buildDepends = [
+    aeson async attoparsec base64Bytestring either monadLoops mwcRandom
+    stm text transformers unorderedContainers vector websockets
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/ocharles/engine.io";
+    description = "A Haskell implementation of Engine.IO";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index f2154ddddf7..881a9cd9a0a 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.2.2.4";
-  sha256 = "1cjmpb0rh1ib4j9mwmf1irn401vmjawxkshxdmmb4643rmcgx1gm";
+  version = "0.3.2";
+  sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix
index 4dfa4e573dd..d68222f6f7b 100644
--- a/pkgs/development/libraries/haskell/enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/enumerator/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text, transformers }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Reliable, high-performance processing with left-fold enumerators";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/enummapset-th/default.nix b/pkgs/development/libraries/haskell/enummapset-th/default.nix
new file mode 100644
index 00000000000..9b24980b5b9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/enummapset-th/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "enummapset-th";
+  version = "0.6.0.1";
+  sha256 = "1v12pfj6k8av58sh6siwzspf2dnbcapmrzfpg2p4yz3bdkc70hh8";
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "https://github.com/liyang/enummapset-th";
+    description = "TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/enummapset/default.nix b/pkgs/development/libraries/haskell/enummapset/default.nix
index c43c246557b..97833ea9465 100644
--- a/pkgs/development/libraries/haskell/enummapset/default.nix
+++ b/pkgs/development/libraries/haskell/enummapset/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -5,10 +7,13 @@ cabal.mkDerivation (self: {
   version = "0.5.2.0";
   sha256 = "065gxljrjw59rdf7abq0v0c29wg1ymg984ckixnjrcs1yks0c2js";
   buildDepends = [ deepseq ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/michalt/enummapset";
     description = "IntMap and IntSet with Enum keys/elements";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/enumset/default.nix b/pkgs/development/libraries/haskell/enumset/default.nix
new file mode 100644
index 00000000000..d563ce04247
--- /dev/null
+++ b/pkgs/development/libraries/haskell/enumset/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataAccessor, storableRecord }:
+
+cabal.mkDerivation (self: {
+  pname = "enumset";
+  version = "0.0.4";
+  sha256 = "1dzwxi7i757zdf68v470n8dwn1g8kg51w3c1mwqyxwq85650805w";
+  buildDepends = [ dataAccessor storableRecord ];
+  meta = {
+    description = "Sets of enumeration values represented by machine words";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ertes ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/equivalence/0.2.3.nix b/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
new file mode 100644
index 00000000000..c21c0e16170
--- /dev/null
+++ b/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, QuickCheck, STMonadTrans, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "equivalence";
+  version = "0.2.3";
+  sha256 = "0dd986y0sn89fparyz6kz9yhzysbqjcp8s99r81ihghg7s9yc743";
+  buildDepends = [ mtl STMonadTrans ];
+  testDepends = [
+    mtl QuickCheck STMonadTrans testFramework testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://bitbucket.org/paba/equivalence/";
+    description = "Maintaining an equivalence relation implemented as union-find using STT";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/equivalence/0.2.5.nix b/pkgs/development/libraries/haskell/equivalence/0.2.5.nix
new file mode 100644
index 00000000000..38de239b821
--- /dev/null
+++ b/pkgs/development/libraries/haskell/equivalence/0.2.5.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, QuickCheck, STMonadTrans, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "equivalence";
+  version = "0.2.5";
+  sha256 = "014r9v81r7nj5pynfk3wa4lm4hk04123fgxkhb9a945wi6d9m5h3";
+  buildDepends = [ mtl STMonadTrans ];
+  testDepends = [
+    mtl QuickCheck STMonadTrans testFramework testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://bitbucket.org/paba/equivalence/";
+    description = "Maintaining an equivalence relation implemented as union-find using STT";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/erf/default.nix b/pkgs/development/libraries/haskell/erf/default.nix
index 1a6331bcd6f..431a9b99b33 100644
--- a/pkgs/development/libraries/haskell/erf/default.nix
+++ b/pkgs/development/libraries/haskell/erf/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "The error function, erf, and related functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/errorcall-eq-instance/default.nix b/pkgs/development/libraries/haskell/errorcall-eq-instance/default.nix
new file mode 100644
index 00000000000..69949aeb575
--- /dev/null
+++ b/pkgs/development/libraries/haskell/errorcall-eq-instance/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "errorcall-eq-instance";
+  version = "0.1.0";
+  sha256 = "1sr2wxbdqzpdawcivvd01nwpki0xbcxylz5qv95b96sq6b296gkk";
+  testDepends = [ hspec QuickCheck ];
+  meta = {
+    description = "An orphan Eq instance for ErrorCall";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/errors/default.nix b/pkgs/development/libraries/haskell/errors/default.nix
index 1b0bc4282a7..d61bef4102d 100644
--- a/pkgs/development/libraries/haskell/errors/default.nix
+++ b/pkgs/development/libraries/haskell/errors/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, either, safe, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "errors";
-  version = "1.4.3";
-  sha256 = "02xvfh0kfca7z5vhnkmqg5gw5i5ad5bc3jf8flxj75ry7wqggfmm";
+  version = "1.4.7";
+  sha256 = "09g53dylwsw1phxq5zhkbq8pnpwqzipvqclmcrdypzkpwkmfncl7";
   buildDepends = [ either safe transformers ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index 4e0abd3c34f..637f32c3996 100644
--- a/pkgs/development/libraries/haskell/esqueleto/default.nix
+++ b/pkgs/development/libraries/haskell/esqueleto/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, conduit, hspec, HUnit, monadControl, monadLogger
 , persistent, persistentSqlite, persistentTemplate, QuickCheck
 , resourcet, tagged, text, transformers, unorderedContainers
@@ -5,21 +7,22 @@
 
 cabal.mkDerivation (self: {
   pname = "esqueleto";
-  version = "1.3.4.2";
-  sha256 = "1gp0jy8ra11ansari659wqvwafw1pi2svl3w16wa5dv9xk3v9pr6";
+  version = "1.4.4";
+  sha256 = "00s52f8l5pbsab83fq8d03xhispyp9mqsh5vvzwiki6kspkj26a0";
   buildDepends = [
     conduit monadLogger persistent resourcet tagged text transformers
     unorderedContainers
   ];
   testDepends = [
     conduit hspec HUnit monadControl monadLogger persistent
-    persistentSqlite persistentTemplate QuickCheck text transformers
+    persistentSqlite persistentTemplate QuickCheck resourcet text
+    transformers
   ];
   meta = {
-    homepage = "https://github.com/meteficha/esqueleto";
-    description = "Bare bones, type-safe EDSL for SQL queries on persistent backends";
+    homepage = "https://github.com/prowdsponsor/esqueleto";
+    description = "Type-safe EDSL for SQL queries on persistent backends";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/event-list/default.nix b/pkgs/development/libraries/haskell/event-list/default.nix
new file mode 100644
index 00000000000..99f48cb9a28
--- /dev/null
+++ b/pkgs/development/libraries/haskell/event-list/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, nonNegative, QuickCheck, random, transformers, utilityHt
+}:
+
+cabal.mkDerivation (self: {
+  pname = "event-list";
+  version = "0.1.1.1";
+  sha256 = "16qrjvn8z2nlpfp3xlgwsg2abn7b33n3z673qs5k6ashfbkdy5ja";
+  buildDepends = [ nonNegative QuickCheck transformers utilityHt ];
+  testDepends = [
+    nonNegative QuickCheck random transformers utilityHt
+  ];
+  meta = {
+    homepage = "http://code.haskell.org/~thielema/event-list/";
+    description = "Event lists with relative or absolute time stamps";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ex-pool/default.nix b/pkgs/development/libraries/haskell/ex-pool/default.nix
new file mode 100644
index 00000000000..7c40662dd98
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ex-pool/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, hashable, stm, time, transformers, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "ex-pool";
+  version = "0.2";
+  sha256 = "0da5grl2fdca24zhlngq2n16smdb4f5vvxqzc29ipsc3j7wkbmva";
+  buildDepends = [
+    exceptions hashable stm time transformers vector
+  ];
+  meta = {
+    homepage = "https://github.com/kim/ex-pool";
+    description = "Another fork of resource-pool, with a MonadIO and MonadCatch constraint";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/exception-mtl/default.nix b/pkgs/development/libraries/haskell/exception-mtl/default.nix
index 2c64598d1d0..d3d21aaf27a 100644
--- a/pkgs/development/libraries/haskell/exception-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/exception-mtl/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, exceptionTransformers, mtl, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "exception-mtl";
-  version = "0.3.0.3";
-  sha256 = "1mmkp16c5ixknhm69a2zjrs9q0dd5ragmljnjjd6lxpakdlw64ww";
+  version = "0.3.0.4";
+  sha256 = "16airfs3z1qmx42qww22m21fryr8210m7ji5rgkl2amjvj4lllvc";
   buildDepends = [ exceptionTransformers mtl transformers ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
     description = "Exception monad transformer instances for mtl2 classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/exception-transformers/default.nix b/pkgs/development/libraries/haskell/exception-transformers/default.nix
index a4d0cfd247a..e6c778e981d 100644
--- a/pkgs/development/libraries/haskell/exception-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/exception-transformers/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, stm, transformers }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Type classes and monads for unchecked extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix
index a15c2cc1e48..ef56c9909e1 100644
--- a/pkgs/development/libraries/haskell/exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/exceptions/default.nix
@@ -1,21 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, QuickCheck, testFramework, testFrameworkQuickcheck2
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "exceptions";
-  version = "0.3.2";
-  sha256 = "0c1d78wm8is9kyv26drbx3f1sq2bfcq5m6wfw2qzwgalb3z2kxlw";
+  version = "0.6.1";
+  sha256 = "09jv5jskv48fd5la1pdvafwc9j2jxj1ncf6yxzkwcjddynbkyszm";
   buildDepends = [ mtl transformers ];
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
   ];
-  doCheck = false;
   meta = {
     homepage = "http://github.com/ekmett/exceptions/";
     description = "Extensible optionally-pure exceptions";
-    license = "unknown";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/executable-path/default.nix b/pkgs/development/libraries/haskell/executable-path/default.nix
index 5c69969c20d..c8ec138eb63 100644
--- a/pkgs/development/libraries/haskell/executable-path/default.nix
+++ b/pkgs/development/libraries/haskell/executable-path/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Finding out the full path of the executable";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/explicit-exception/default.nix b/pkgs/development/libraries/haskell/explicit-exception/default.nix
index 0f2385a004f..6c5c4f2b2ff 100644
--- a/pkgs/development/libraries/haskell/explicit-exception/default.nix
+++ b/pkgs/development/libraries/haskell/explicit-exception/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "explicit-exception";
-  version = "0.1.7.1";
-  sha256 = "15p5pndam6byd3p8qlnn8pjdhb7rvn93fxa2m40x3wxh58ymkh14";
+  version = "0.1.7.3";
+  sha256 = "0f1p1llz6z4ag1wnf57mgm861cbw7va0g0m8klp6f6pnirdhlwz1";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ transformers ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Exceptions which are explicit in the type signature";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-effects/default.nix b/pkgs/development/libraries/haskell/extensible-effects/default.nix
new file mode 100644
index 00000000000..0c743df4a16
--- /dev/null
+++ b/pkgs/development/libraries/haskell/extensible-effects/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "extensible-effects";
+  version = "1.7.1";
+  sha256 = "1i7bmyga63svnky03f5xvz63795pjsqp3x7rn9amj55yj11fmp05";
+  buildDepends = [ transformers transformersBase ];
+  testDepends = [
+    HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/RobotGymnast/extensible-effects";
+    description = "An Alternative to Monad Transformers";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
index 0eca0eb78ee..e9c1f352a09 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
index 946a808ddc5..8003b47f64e 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
index 577f7d4657a..ee5abc006b6 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
index 2ca255d2999..39969527a85 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/failure/default.nix b/pkgs/development/libraries/haskell/failure/default.nix
index bc2821e3e8c..86912a2e445 100644
--- a/pkgs/development/libraries/haskell/failure/default.nix
+++ b/pkgs/development/libraries/haskell/failure/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "failure";
-  version = "0.2.0.1";
-  sha256 = "05k62sb2xj4ddjwsbfldxkap7v5kmv04qzic4sszx5i3ykbf20fd";
+  version = "0.2.0.3";
+  sha256 = "0jimc2x46zq7wnmzfbnqi67jl8yhbvr0fa65ljlc9p3fns9mca3p";
   buildDepends = [ transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Failure";
-    description = "A simple type class for success/failure computations";
+    description = "A simple type class for success/failure computations. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix
index fb8714f3e85..b4e32fa2bb0 100644
--- a/pkgs/development/libraries/haskell/fast-logger/default.nix
+++ b/pkgs/development/libraries/haskell/fast-logger/default.nix
@@ -1,16 +1,16 @@
-{ cabal, blazeBuilder, dateCache, filepath, hspec, text, unixTime
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, autoUpdate, blazeBuilder, filepath, hspec, text }:
 
 cabal.mkDerivation (self: {
   pname = "fast-logger";
-  version = "0.3.3";
-  sha256 = "0ya9dn9j2nddpclj00w6jgmiq2xx500sws056fa2s4bdsl8vn5rh";
-  buildDepends = [ blazeBuilder dateCache filepath text unixTime ];
+  version = "2.2.0";
+  sha256 = "02gc5f7vgwfdlhfawki4xxrl33lbdl05wh64qm3mb3h2dv1gnwrr";
+  buildDepends = [ autoUpdate blazeBuilder filepath text ];
   testDepends = [ hspec ];
   meta = {
     description = "A fast logging system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fastcgi/default.nix b/pkgs/development/libraries/haskell/fastcgi/default.nix
new file mode 100644
index 00000000000..a41815250e1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fastcgi/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cgi, fcgi }:
+
+cabal.mkDerivation (self: {
+  pname = "fastcgi";
+  version = "3001.0.2.4";
+  sha256 = "0lp17w098043xczwkah7h1x47wzrym7vv5adgla0aq9iybqay7xr";
+  buildDepends = [ cgi ];
+  extraLibraries = [ fcgi ];
+  meta = {
+    description = "A Haskell library for writing FastCGI programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix
new file mode 100644
index 00000000000..78f6b104c94
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fay-base/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fay }:
+
+cabal.mkDerivation (self: {
+  pname = "fay-base";
+  version = "0.19.2";
+  sha256 = "08iv3097h877hxbmpmar1p526famm5pb1djq3qwla3bkqrzxgmf4";
+  buildDepends = [ fay ];
+  meta = {
+    homepage = "https://github.com/faylang/fay-base";
+    description = "The base package for Fay";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fay-text/default.nix b/pkgs/development/libraries/haskell/fay-text/default.nix
new file mode 100644
index 00000000000..68bbe884e87
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fay-text/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fay, fayBase, text }:
+
+cabal.mkDerivation (self: {
+  pname = "fay-text";
+  version = "0.3.0.2";
+  sha256 = "12hgamqbrflmnr3ri0ajvzf6al5nn4adcdmv6ag6h5mrsik2sklf";
+  buildDepends = [ fay fayBase text ];
+  meta = {
+    homepage = "https://github.com/faylang/fay-text";
+    description = "Fay Text type represented as JavaScript strings";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix
new file mode 100644
index 00000000000..edbf19bda62
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fay/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom
+, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript
+, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb
+, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate
+, unorderedContainers, utf8String, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "fay";
+  version = "0.20.1.2";
+  sha256 = "1ssii9wkml8jn8kcdq8h6sxrq4gap4asyglakvif2zawl3sqrdji";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsec dataDefault filepath ghcPaths groom haskellNames
+    haskellPackages haskellSrcExts languageEcmascript mtl
+    optparseApplicative safe sourcemap split spoon syb tasty tastyHunit
+    tastyTh text time transformers uniplate unorderedContainers
+    utf8String vector
+  ];
+  meta = {
+    homepage = "https://github.com/faylang/fay/wiki";
+    description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix
new file mode 100644
index 00000000000..37d24309732
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fb/default.nix
@@ -0,0 +1,33 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, base16Bytestring, base64Bytestring
+, cereal, conduit, conduitExtra, cryptoApi, cryptohash
+, cryptohashCryptoapi, dataDefault, hspec, httpConduit, httpTypes
+, HUnit, liftedBase, monadControl, monadLogger, QuickCheck
+, resourcet, text, time, transformers, transformersBase
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "fb";
+  version = "1.0.4";
+  sha256 = "1sp0x5p9l02i2ynvynazhgs5lqqwih997c2fyfp0xi24qsc7ilr2";
+  buildDepends = [
+    aeson attoparsec base16Bytestring base64Bytestring cereal conduit
+    conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault
+    httpConduit httpTypes liftedBase monadControl monadLogger resourcet
+    text time transformers transformersBase unorderedContainers
+  ];
+  testDepends = [
+    aeson conduit dataDefault hspec httpConduit HUnit liftedBase
+    monadControl QuickCheck resourcet text time transformers
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/prowdsponsor/fb";
+    description = "Bindings to Facebook's API";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index 162b83733b1..431a46504ee 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "2.0.0.2";
-  sha256 = "1c706v10g4av7jxiw3x4n1hg9h7sbwcnrj676b1q0rcb3pd32kz6";
+  version = "2.0.2";
+  sha256 = "108ad6l8ibz44n000hlywqpqslsz1czmsal7qvbd53chmmm4xgdp";
   buildDepends = [ mtl transformers ];
   meta = {
     homepage = "https://github.com/sebastiaanvisser/fclabels";
     description = "First class accessor labels implemented as lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fdo-notify/default.nix b/pkgs/development/libraries/haskell/fdo-notify/default.nix
new file mode 100644
index 00000000000..170cf7b3395
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fdo-notify/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dbus }:
+
+cabal.mkDerivation (self: {
+  pname = "fdo-notify";
+  version = "0.3.1";
+  sha256 = "1n4zk1i7g34w0wk5zy8n4r63xbglxf62h8j78kv5fc2yn95l30vh";
+  buildDepends = [ dbus ];
+  meta = {
+    homepage = "http://bitbucket.org/taejo/fdo-notify/";
+    description = "Desktop Notifications client";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/feed/default.nix b/pkgs/development/libraries/haskell/feed/default.nix
index 817276497da..b7bc816b6d0 100644
--- a/pkgs/development/libraries/haskell/feed/default.nix
+++ b/pkgs/development/libraries/haskell/feed/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, time, utf8String, xml }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl-visualize/default.nix b/pkgs/development/libraries/haskell/fgl-visualize/default.nix
index c446ae8545d..ea11a67d3c9 100644
--- a/pkgs/development/libraries/haskell/fgl-visualize/default.nix
+++ b/pkgs/development/libraries/haskell/fgl-visualize/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dotgen, fgl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Convert FGL graphs to dot (graphviz) files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
index c367b74f6a3..61043f82f97 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Martin Erwig's Functional Graph Library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
index 8691d10c684..1ecc9fb05e7 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Martin Erwig's Functional Graph Library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
index 6a7aa22cef1..65596c350de 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Martin Erwig's Functional Graph Library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
new file mode 100644
index 00000000000..4fd2a4d0597
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "fgl";
+  version = "5.5.0.0";
+  sha256 = "1kdqxbpsaka97rx0c7czlc1nfi72mdxs46gnqa8p0wxn1vx437g3";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
+    description = "Martin Erwig's Functional Graph Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix
new file mode 100644
index 00000000000..65a67528d01
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "fgl";
+  version = "5.5.0.1";
+  sha256 = "0qw70f5hfrxmrx49wx8vk2f5cam7jbpb20mp4i0ybcwdld5ncqda";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
+    description = "Martin Erwig's Functional Graph Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 3d7015d7ec2..b9cd34552b2 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, HUnit }:
 
 cabal.mkDerivation (self: {
   pname = "file-embed";
-  version = "0.0.5";
-  sha256 = "0s77g7azw73f7d07hvwwps8sx79jpwj8ap9iqzcglyjw1sw4l1n1";
+  version = "0.0.7";
+  sha256 = "0mj8f70f9k78wjzcx59w68szajafmm119rcrsspmxsygglh8ji2g";
   buildDepends = [ filepath ];
   testDepends = [ filepath HUnit ];
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Use Template Haskell to embed file contents directly";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/file-location/default.nix b/pkgs/development/libraries/haskell/file-location/default.nix
index 8a28d0b27fb..6cff9640cdf 100644
--- a/pkgs/development/libraries/haskell/file-location/default.nix
+++ b/pkgs/development/libraries/haskell/file-location/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, liftedBase, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/filemanip/default.nix b/pkgs/development/libraries/haskell/filemanip/default.nix
new file mode 100644
index 00000000000..c07ba6c2c90
--- /dev/null
+++ b/pkgs/development/libraries/haskell/filemanip/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, mtl, unixCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "filemanip";
+  version = "0.3.6.2";
+  sha256 = "03l114rhb4f6nyzs9w14i79d7kyyq9ia542alsqpbmikm9gxm4rz";
+  buildDepends = [ filepath mtl unixCompat ];
+  meta = {
+    homepage = "https://github.com/bos/filemanip";
+    description = "Expressive file and directory manipulation for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/filepath/default.nix b/pkgs/development/libraries/haskell/filepath/default.nix
deleted file mode 100644
index 0cd65bb1905..00000000000
--- a/pkgs/development/libraries/haskell/filepath/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "filepath";
-  version = "1.3.0.1";
-  sha256 = "1ny8dz8rv883vg6hkzg3zank771cr2z9sfhii7aw4rfb71k29g5p";
-  meta = {
-    homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/";
-    description = "Library for manipulating FilePaths in a cross platform way";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index 04321d34ffa..116875ecbdc 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -1,18 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Diff, filepath, HUnit, mtl, parsec, split, time
 , utf8String, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "filestore";
-  version = "0.6.0.1";
-  sha256 = "1la30bimcjngcv5dyx1a9x8lr8c4zs0dp4kzh8y5mjf8snky1avf";
+  version = "0.6.0.3";
+  sha256 = "03qmv3cqp1fv7b7pdjdx12cb27bfjbwwjdhkcvkfq89qwk9wh1h0";
   buildDepends = [ Diff filepath parsec split time utf8String xml ];
   testDepends = [ Diff filepath HUnit mtl time ];
-  doCheck = false;
+  jailbreak = true;
   meta = {
     description = "Interface for versioning file stores";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
index f1a0554e380..35c3302641d 100644
--- a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, conduit, hspec, QuickCheck, systemFileio
 , systemFilepath, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "filesystem-conduit";
-  version = "1.0.0.1";
-  sha256 = "04l8i97mr0jzkc7vc77j885n45qd2qyn5kmzxyckp3za96sjsqqw";
+  version = "1.0.0.2";
+  sha256 = "05dsl3bgyjciq6sgmba0hki7imilrjq3ddp9ip5gxl9884j1f4a1";
   buildDepends = [
     conduit systemFileio systemFilepath text transformers
   ];
@@ -14,8 +16,10 @@ cabal.mkDerivation (self: {
   ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
-    description = "Use system-filepath data types with conduits";
+    description = "Use system-filepath data types with conduits. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/final/default.nix b/pkgs/development/libraries/haskell/final/default.nix
index 63226174118..3669d7e3649 100644
--- a/pkgs/development/libraries/haskell/final/default.nix
+++ b/pkgs/development/libraries/haskell/final/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, stm, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/fingertree/default.nix b/pkgs/development/libraries/haskell/fingertree/default.nix
index f48e1c4002e..321bb5cab8f 100644
--- a/pkgs/development/libraries/haskell/fingertree/default.nix
+++ b/pkgs/development/libraries/haskell/fingertree/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2
 }:
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Generic finger-tree structure, with example instances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/flexible-defaults/default.nix b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
index 7be21dbbf34..1a20983a5a5 100644
--- a/pkgs/development/libraries/haskell/flexible-defaults/default.nix
+++ b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, thExtras, transformers }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generate default function implementations for complex type classes";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fmlist/default.nix b/pkgs/development/libraries/haskell/fmlist/default.nix
new file mode 100644
index 00000000000..1fbdedf76be
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fmlist/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "fmlist";
+  version = "0.8";
+  sha256 = "1knr9yh58fwjpkm37hvrqghlchf5qibwf9q52app6zh3ys999rrs";
+  meta = {
+    description = "FoldMap lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/focus/default.nix b/pkgs/development/libraries/haskell/focus/default.nix
new file mode 100644
index 00000000000..480d974e2b8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/focus/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lochTh, placeholders }:
+
+cabal.mkDerivation (self: {
+  pname = "focus";
+  version = "0.1.2";
+  sha256 = "0j157nv668621i94iqg923bfg7594bpfn0q9scb62cik2yikc1p0";
+  buildDepends = [ lochTh placeholders ];
+  meta = {
+    homepage = "https://github.com/nikita-volkov/focus";
+    description = "A general abstraction for manipulating elements of container data structures";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
new file mode 100644
index 00000000000..7a942e97dc8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, primitive, text, transformers, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "foldl";
+  version = "1.0.5";
+  sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048";
+  buildDepends = [ primitive text transformers vector ];
+  meta = {
+    description = "Composable, streaming, and efficient left folds";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/folds/default.nix b/pkgs/development/libraries/haskell/folds/default.nix
new file mode 100644
index 00000000000..c274c774415
--- /dev/null
+++ b/pkgs/development/libraries/haskell/folds/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, contravariant, deepseq, doctest, filepath, lens
+, mtl, pointed, profunctors, reflection, semigroupoids, semigroups
+, tagged, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "folds";
+  version = "0.6.2";
+  sha256 = "13zdmf7szdy9ka5dw0vgzbfmndm7w8fz7ryz5h2z5hsqg9am2qqa";
+  buildDepends = [
+    comonad contravariant lens pointed profunctors reflection
+    semigroupoids tagged transformers vector
+  ];
+  testDepends = [ deepseq doctest filepath mtl semigroups ];
+  configureFlags = "-f-test-hlint";
+  enableSplitObjs = false;
+  meta = {
+    homepage = "http://github.com/ekmett/folds";
+    description = "Beautiful Folding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix
index 025ed14869f..77259cc1e40 100644
--- a/pkgs/development/libraries/haskell/force-layout/default.nix
+++ b/pkgs/development/libraries/haskell/force-layout/default.nix
@@ -1,10 +1,15 @@
-{ cabal, lens, newtype, vectorSpace, vectorSpacePoints }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefaultClass, lens, vectorSpace, vectorSpacePoints }:
 
 cabal.mkDerivation (self: {
   pname = "force-layout";
-  version = "0.2";
-  sha256 = "0aif7a28qs8ya7q9sklp02gb5228jyj8k4jabbp2sia7j4khrkpv";
-  buildDepends = [ lens newtype vectorSpace vectorSpacePoints ];
+  version = "0.3.0.6";
+  sha256 = "0qmzz9gbzf1jdk08w3nhnw7l3n5bq5sw5k4r0mdc5y11m38xpgm4";
+  buildDepends = [
+    dataDefaultClass lens vectorSpace vectorSpacePoints
+  ];
+  jailbreak = true;
   meta = {
     description = "Simple force-directed layout";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/formatting/default.nix b/pkgs/development/libraries/haskell/formatting/default.nix
new file mode 100644
index 00000000000..1345ac76243
--- /dev/null
+++ b/pkgs/development/libraries/haskell/formatting/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, scientific, text, textFormat, time }:
+
+cabal.mkDerivation (self: {
+  pname = "formatting";
+  version = "5.2";
+  sha256 = "0lmbzm98idy7bzpvaqnk9j6181vakk553smqkf959gn5jdj95z3k";
+  buildDepends = [ scientific text textFormat time ];
+  meta = {
+    description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/free-game/default.nix b/pkgs/development/libraries/haskell/free-game/default.nix
new file mode 100644
index 00000000000..d2a0f33892f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/free-game/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, boundingboxes, colors, controlBool, filepath, free
+, freetype2, GLFWB, hashable, JuicyPixels, JuicyPixelsUtil, lens
+, linear, mtl, OpenGL, OpenGLRaw, random, reflection, transformers
+, vector, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "free-game";
+  version = "1.1.78";
+  sha256 = "11f3ib4nx0madbx58gscaqwc1k5mxw70klrq7z7lac9w61phkws6";
+  buildDepends = [
+    boundingboxes colors controlBool filepath free freetype2 GLFWB
+    hashable JuicyPixels JuicyPixelsUtil lens linear mtl OpenGL
+    OpenGLRaw random reflection transformers vector void
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/fumieval/free-game";
+    description = "Create games for free";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix
index 64d9541f401..e516eb3613a 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -1,20 +1,23 @@
-{ cabal, bifunctors, comonad, distributive, mtl, profunctors
-, semigroupoids, semigroups, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, comonad, distributive, mtl, preludeExtras
+, profunctors, semigroupoids, semigroups, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "free";
-  version = "4.1";
-  sha256 = "16951r4f7ggvcw2qgjwdrmaxxnrmrm69c67nixs77lm1d31nks4w";
+  version = "4.9";
+  sha256 = "01pa9ax9i4pkh9a5achndx5s7sxvhnk6rm57g8rzav79hzsr4cnx";
   buildDepends = [
-    bifunctors comonad distributive mtl profunctors semigroupoids
-    semigroups transformers
+    bifunctors comonad distributive mtl preludeExtras profunctors
+    semigroupoids semigroups transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/free/";
     description = "Monads for free";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/freetype2/default.nix b/pkgs/development/libraries/haskell/freetype2/default.nix
new file mode 100644
index 00000000000..d5fdc8f926e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/freetype2/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "freetype2";
+  version = "0.1.1";
+  sha256 = "16ayyqvbl278z68ssfbv2nvbyxs7585zmnk2w53vlxvj0k9zj66s";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    description = "Haskell binding for FreeType 2 library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix
index 1ef55d105f7..3d308f6a88f 100644
--- a/pkgs/development/libraries/haskell/fsnotify/default.nix
+++ b/pkgs/development/libraries/haskell/fsnotify/default.nix
@@ -1,16 +1,18 @@
-{ cabal, Cabal, Glob, hinotify, hspec, QuickCheck, random
+{ stdenv, cabal, Cabal, Glob, hspec, QuickCheck, random
 , systemFileio, systemFilepath, text, time, uniqueid
+, hinotify, hfsevents
 }:
 
 cabal.mkDerivation (self: {
   pname = "fsnotify";
   version = "0.0.11";
   sha256 = "03m911pncyzgfdx4aj38azbbmj25fdm3s9l1w27zv0l730fy8ywq";
-  buildDepends = [ hinotify systemFileio systemFilepath text time ];
+  buildDepends = [ systemFileio systemFilepath text time ] ++
+    (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]);
   testDepends = [
-    Cabal Glob hinotify hspec QuickCheck random systemFileio
+    Cabal Glob hspec QuickCheck random systemFileio
     systemFilepath text time uniqueid
-  ];
+  ] ++ (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]);
   doCheck = false;
   meta = {
     description = "Cross platform library for file change notification";
diff --git a/pkgs/development/libraries/haskell/ftphs/default.nix b/pkgs/development/libraries/haskell/ftphs/default.nix
new file mode 100644
index 00000000000..ac96b094799
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ftphs/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hslogger, MissingH, mtl, network, parsec, regexCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "ftphs";
+  version = "1.0.9.1";
+  sha256 = "1whvawaifhi5xgmiagdayjf7m6p6vs71mvc4a4csd4vzzjr0a2yf";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    hslogger MissingH mtl network parsec regexCompat
+  ];
+  meta = {
+    homepage = "http://software.complete.org/ftphs";
+    description = "FTP Client and Server Library";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/funcmp/default.nix b/pkgs/development/libraries/haskell/funcmp/default.nix
index d17ca718f0a..16f41718d0b 100644
--- a/pkgs/development/libraries/haskell/funcmp/default.nix
+++ b/pkgs/development/libraries/haskell/funcmp/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath }:
 
 cabal.mkDerivation (self: {
@@ -10,9 +12,6 @@ cabal.mkDerivation (self: {
     description = "Functional MetaPost";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fuzzcheck/default.nix b/pkgs/development/libraries/haskell/fuzzcheck/default.nix
new file mode 100644
index 00000000000..171a501667f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fuzzcheck/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, hspecExpectations, HUnit, liftedBase, monadControl
+, QuickCheck, random, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "fuzzcheck";
+  version = "0.1.1";
+  sha256 = "0qfr4f0b50l368b45yzwhqd4g2y1kvfrfj4hr84cdxcwdrwn9mpc";
+  buildDepends = [
+    liftedBase monadControl QuickCheck random transformers
+  ];
+  testDepends = [ hspec hspecExpectations HUnit QuickCheck ];
+  meta = {
+    homepage = "https://github.com/fpco/fuzzcheck";
+    description = "A simple checker for stress testing monadic code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gamma/default.nix b/pkgs/development/libraries/haskell/gamma/default.nix
index 8fbdb57d48b..2f55936fadf 100644
--- a/pkgs/development/libraries/haskell/gamma/default.nix
+++ b/pkgs/development/libraries/haskell/gamma/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, continuedFractions, converge, vector }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Gamma function and related functions";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gd/default.nix b/pkgs/development/libraries/haskell/gd/default.nix
index 27423ce4ecd..f2a534f47c8 100644
--- a/pkgs/development/libraries/haskell/gd/default.nix
+++ b/pkgs/development/libraries/haskell/gd/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, expat, fontconfig, freetype, gd, libjpeg, libpng, zlib }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell binding to a subset of the GD graphics library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gdiff/default.nix b/pkgs/development/libraries/haskell/gdiff/default.nix
index e14857aaa5b..616b5eb337d 100644
--- a/pkgs/development/libraries/haskell/gdiff/default.nix
+++ b/pkgs/development/libraries/haskell/gdiff/default.nix
@@ -1,13 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "gdiff";
-  version = "1.0";
-  sha256 = "35257b1090cf78f95d24c7a89920863c1d824652311fa5793693d7d06d96517b";
+  version = "1.1";
+  sha256 = "1d0d8f8bfw7ld6a1d5y6syzdha5qsm909mqzd5gfqcbi2wnh8aqc";
   meta = {
+    homepage = "https://github.com/eelco/gdiff";
     description = "Generic diff and patch";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/generic-aeson/default.nix b/pkgs/development/libraries/haskell/generic-aeson/default.nix
new file mode 100644
index 00000000000..9c18b511efc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/generic-aeson/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, genericDeriving, mtl, tagged, text
+, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "generic-aeson";
+  version = "0.1.1.1";
+  sha256 = "14jpma2p4dxmzpwd557igbg7xhgdzp9w9fm6dxa06sgfqxvb7ln1";
+  buildDepends = [
+    aeson attoparsec genericDeriving mtl tagged text vector
+  ];
+  meta = {
+    description = "Derivation of Aeson instances using GHC generics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/generic-deriving/default.nix b/pkgs/development/libraries/haskell/generic-deriving/default.nix
index 5081d09939b..4ec1f451788 100644
--- a/pkgs/development/libraries/haskell/generic-deriving/default.nix
+++ b/pkgs/development/libraries/haskell/generic-deriving/default.nix
@@ -1,13 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "generic-deriving";
-  version = "1.6.2";
-  sha256 = "1ryzg7zgnlhx6mbmpsh4fgqf2d758c94qz2zpg3jxns30hd4sfy6";
+  version = "1.6.3";
+  sha256 = "04cjyl5aphf36qbbn75midrqj151fc77z2znpal8dk52gaab2f67";
   meta = {
     description = "Generic programming library for generalised deriving";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/generics-sop/default.nix b/pkgs/development/libraries/haskell/generics-sop/default.nix
new file mode 100644
index 00000000000..2fce6c66be5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/generics-sop/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, tagged }:
+
+cabal.mkDerivation (self: {
+  pname = "generics-sop";
+  version = "0.1.0.2";
+  sha256 = "01s3v3a29wdsps9vas8in2ks5p4d2arqp3qvmzqa7v2sz786xjra";
+  buildDepends = [ tagged ];
+  meta = {
+    description = "Generic Programming using True Sums of Products";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/geniplate/default.nix b/pkgs/development/libraries/haskell/geniplate/default.nix
index eff79afa416..9ab6d2df709 100644
--- a/pkgs/development/libraries/haskell/geniplate/default.nix
+++ b/pkgs/development/libraries/haskell/geniplate/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "geniplate";
-  version = "0.6.0.3";
-  sha256 = "1n73p57gkn9qf7jn54izypc7zycd9i6y9z9i1gc8yn1wd8sv7vkn";
+  version = "0.6.0.4";
+  sha256 = "1sw1bs3nzbdmvphy5g65pl40y8wdqkgvszx1i6viqjymjq96xv20";
   buildDepends = [ mtl ];
   meta = {
     description = "Use template Haskell to generate Uniplate-like functions";
diff --git a/pkgs/development/libraries/haskell/ghc-core/default.nix b/pkgs/development/libraries/haskell/ghc-core/default.nix
index 8c2f481122b..ee92a45e87b 100644
--- a/pkgs/development/libraries/haskell/ghc-core/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-core/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, colorizeHaskell, filepath, pcreLight }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Display GHC's core and assembly output in a pager";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix
index 5b7decf9416..580a21bd8c6 100644
--- a/pkgs/development/libraries/haskell/ghc-events/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-events/default.nix
@@ -1,18 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-events";
-  version = "0.4.2.0";
-  sha256 = "0209r9g5w4ifsaw3dkfra6kma1vyk50dc306an72mcwnp4l7dv4l";
+  version = "0.4.3.0";
+  sha256 = "128p651hp8v1i0iaccmfh3ap6lajcrzdihjb853s71pgnpal6izr";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary mtl ];
   testDepends = [ binary mtl ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     description = "Library and tool for parsing .eventlog files from GHC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-heap-view/default.nix b/pkgs/development/libraries/haskell/ghc-heap-view/default.nix
index 679ced622d9..704c820797e 100644
--- a/pkgs/development/libraries/haskell/ghc-heap-view/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-heap-view/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, transformers }:
 
 cabal.mkDerivation (self: {
@@ -13,6 +15,9 @@ cabal.mkDerivation (self: {
     description = "Extract the heap representation of Haskell values and thunks";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
+
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix b/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix
new file mode 100644
index 00000000000..a9c06e80f8a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix
@@ -0,0 +1,51 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, convertible, deepseq, doctest, emacs, filepath
+, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-mod";
+  version = "4.1.6";
+  sha256 = "093wafaizr2xf7vmzj6f3vs8ch0vpcmwlrja6af6hshgaj2d80qs";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal convertible deepseq filepath ghcSybUtils hlint ioChoice syb
+    time transformers
+  ];
+  testDepends = [
+    Cabal convertible deepseq doctest filepath ghcSybUtils hlint hspec
+    ioChoice syb time transformers
+  ];
+  buildTools = [ emacs ];
+  doCheck = false;
+  configureFlags = "--datasubdir=${self.pname}-${self.version}";
+  postInstall = ''
+    cd $out/share/$pname-$version
+    make
+    rm Makefile
+    cd ..
+    mkdir -p "$out/share/emacs"
+    mv $pname-$version emacs/site-lisp
+    mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
+    cat - > $out/bin/ghc-mod <<EOF
+    #! ${self.stdenv.shell}
+    COMMAND=\$1
+    shift
+    eval exec $out/bin/.ghc-mod-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
+    EOF
+    chmod +x $out/bin/ghc-mod
+  '';
+  meta = {
+    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
+    description = "Happy Haskell Programming";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.bluescreen303
+      self.stdenv.lib.maintainers.ocharles
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix
new file mode 100644
index 00000000000..ad920721451
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix
@@ -0,0 +1,59 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, convertible, deepseq, djinnGhc, doctest, emacs
+, filepath, ghcPaths, ghcSybUtils, haskellSrcExts, hlint, hspec
+, ioChoice, monadControl, monadJournal, mtl, split, syb, text, time
+, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-mod";
+  version = "5.0.1";
+  sha256 = "01awsi5rfzq6433shfvvnr69ifxb7h8v90mlknxv3dl34zmrhv19";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal convertible deepseq djinnGhc filepath ghcPaths ghcSybUtils
+    haskellSrcExts hlint ioChoice monadControl monadJournal mtl split
+    syb text time transformers transformersBase
+  ];
+  testDepends = [
+    Cabal convertible deepseq djinnGhc doctest filepath ghcPaths
+    ghcSybUtils haskellSrcExts hlint hspec ioChoice monadControl
+    monadJournal mtl split syb text time transformers transformersBase
+  ];
+  buildTools = [ emacs ];
+  doCheck = false;
+  configureFlags = "--datasubdir=${self.pname}-${self.version}";
+  postInstall = ''
+    cd $out/share/$pname-$version
+    make
+    rm Makefile
+    cd ..
+    ensureDir "$out/share/emacs"
+    mv $pname-$version emacs/site-lisp
+    mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
+    cat - > $out/bin/ghc-mod <<EOF
+    #! ${self.stdenv.shell}
+    eval exec $out/bin/.ghc-mod-wrapped \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
+    EOF
+
+    mv $out/bin/ghc-modi $out/bin/.ghc-modi-wrapped
+    cat - > $out/bin/ghc-modi <<EOF
+    #! ${self.stdenv.shell}
+    eval exec $out/bin/.ghc-modi-wrapped \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
+    EOF
+
+    chmod +x $out/bin/ghc-mod
+    chmod +x $out/bin/ghc-modi
+  '';
+  meta = {
+    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
+    description = "Happy Haskell Programming";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [
+      andres bluescreen303 ocharles
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
deleted file mode 100644
index accce6f5c86..00000000000
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcPaths
-, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "ghc-mod";
-  version = "3.1.3";
-  sha256 = "0g12cj8yn2znhqi7wiz5jayzh4g5jdcj1qwy5g3pz456hcpb0jig";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb
-    time transformers
-  ];
-  testDepends = [
-    Cabal convertible doctest filepath ghcPaths ghcSybUtils hlint hspec
-    ioChoice syb time transformers
-  ];
-  buildTools = [ emacs ];
-  doCheck = false;
-  postInstall = ''
-    cd $out/share/$pname-$version
-    make
-    rm Makefile
-    cd ..
-    ensureDir "$out/share/emacs"
-    mv $pname-$version emacs/site-lisp
-    mv $out/bin/ghc-mod $out/ghc-mod
-    cat - > $out/bin/ghc-mod <<EOF
-    #!/bin/sh
-    COMMAND=\$1
-    shift
-    eval exec $out/ghc-mod \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
-    EOF
-    chmod +x $out/bin/ghc-mod
-  '';
-  meta = {
-    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
-    description = "Happy Haskell Programming";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.bluescreen303
-      self.stdenv.lib.maintainers.ocharles
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
index ea2495f6586..9ba3362000a 100644
--- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
@@ -1,15 +1,16 @@
-{ cabal, MonadCatchIOMtl, mtl }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, extensibleExceptions, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-mtl";
-  version = "1.0.1.2";
-  sha256 = "06m8ynqlbvvs37w211ikldwvlvg4ry27x9l7idnwa1m8w2jkbkva";
-  buildDepends = [ MonadCatchIOMtl mtl ];
+  version = "1.2.1.0";
+  sha256 = "0h6r6gip9nsjlsq88wj105hhqliy7ac2dmmndsfzbjz07b03cklk";
+  buildDepends = [ exceptions extensibleExceptions mtl ];
   meta = {
-    homepage = "http://darcsden.com/jcpetruzza/ghc-mtl";
+    homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl";
     description = "An mtl compatible version of the Ghc-Api monads and monad-transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-paths/default.nix b/pkgs/development/libraries/haskell/ghc-paths/default.nix
index b930e993dcc..0a2b7dc18f3 100644
--- a/pkgs/development/libraries/haskell/ghc-paths/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-paths/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
index 6f5f1458507..7778d3f8e5a 100644
--- a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, syb }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-syb-utils";
-  version = "0.2.1.1";
-  sha256 = "1fwlzqbkjn592jh01nccn99iii6047fg9f3hh255586nzngihh1l";
+  version = "0.2.1.2";
+  sha256 = "12k6a782gv06gmi6dvskzv4ihz54izhqslwa9cgilhsihw557i9p";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://github.com/nominolo/ghc-syb";
     description = "Scrap Your Boilerplate utilities for the GHC API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-syb/default.nix b/pkgs/development/libraries/haskell/ghc-syb/default.nix
index 21a2f0f00eb..58caf7f3e29 100644
--- a/pkgs/development/libraries/haskell/ghc-syb/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Data and Typeable instances for the GHC API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix
index 04af52f2679..741523011ec 100644
--- a/pkgs/development/libraries/haskell/ghc-vis/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cairo, deepseq, fgl, ghcHeapView, graphviz, gtk, mtl
 , svgcairo, text, transformers, xdot
 }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-vis";
-  version = "0.7.1";
-  sha256 = "05j3yw1276wvy4va7r7pbnvhjg1k1mxzp4baxcb9jlb5dxfh0daa";
+  version = "0.7.2.3";
+  sha256 = "1gl059n85yxksnq8y7i1vrsjdg4al6himzpdmw95v61y59bbs6c2";
   buildDepends = [
     cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
     transformers xdot
@@ -19,6 +21,7 @@ cabal.mkDerivation (self: {
     description = "Live visualization of data structures in GHCi";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix b/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix
new file mode 100644
index 00000000000..06473e161fb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "ghcjs-codemirror";
+  version = "0.0.0.1";
+  sha256 = "04x5h0i4fgyc2c5ihrnk0w3l1f3avvcl115zlnich93nillgbnfw";
+  meta = {
+    homepage = "https://github.com/ghcjs/CodeMirror";
+    description = "Installs CodeMirror JavaScript files";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
new file mode 100644
index 00000000000..8c87bcc0dc5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ghcjsBase, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "ghcjs-dom";
+  version = "0.1.0.0";
+  sha256 = "0qm43bd4m7w14p6ag643h09pll4fp09j1mzjyqvp0dhal03dc723";
+  buildDepends = [ ghcjsBase mtl text ];
+  meta = {
+    description = "DOM library that supports both GHCJS and WebKitGTK";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gio/default.nix b/pkgs/development/libraries/haskell/gio/default.nix
index e9d295798b6..63468acf27f 100644
--- a/pkgs/development/libraries/haskell/gio/default.nix
+++ b/pkgs/development/libraries/haskell/gio/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, glib, gtk2hsBuildtools, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "gio";
-  version = "0.12.4";
-  sha256 = "0npvq77z72c9z009krvs4n9vv3gqj6g8fdqd777kzw1dbkhp9ziy";
+  version = "0.13.0.0";
+  sha256 = "05mycm6nrwwpjflcmm3w33b5nmm6fgyzwzrx1piqazvd1magwcyj";
   buildDepends = [ glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   pkgconfigDepends = [ glib ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the GIO";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/git-date/default.nix b/pkgs/development/libraries/haskell/git-date/default.nix
new file mode 100644
index 00000000000..1ee0095cd17
--- /dev/null
+++ b/pkgs/development/libraries/haskell/git-date/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck, testFramework, testFrameworkQuickcheck2, time
+, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "git-date";
+  version = "0.2.1";
+  sha256 = "17xiim439igg1gfcfwpzxjkgpmfqqh9v79jm4bg0f9h5dijij79l";
+  buildDepends = [ time utf8String ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 time utf8String
+  ];
+  meta = {
+    homepage = "https://github.com/singpolyma/git-date-haskell";
+    description = "Bindings to the date parsing from Git";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix
index 6154ed6c9a7..b35055b7719 100644
--- a/pkgs/development/libraries/haskell/github/default.nix
+++ b/pkgs/development/libraries/haskell/github/default.nix
@@ -1,15 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, caseInsensitive, conduit, dataDefault
-, failure, HTTP, httpConduit, httpTypes, network, text, time
-, unorderedContainers, vector
+, failure, hashable, HTTP, httpConduit, httpTypes, network, text
+, time, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "github";
-  version = "0.7.1";
-  sha256 = "0aipaamd7gn5f79f451v8ifjs5g8b40g9w4kvi1i62imsh0zhh90";
+  version = "0.10.0";
+  sha256 = "1llwzkhyw5wazczpiv3w8dq4l7j3q49ii64yh7cxwakkp2h5yiwb";
   buildDepends = [
-    aeson attoparsec caseInsensitive conduit dataDefault failure HTTP
-    httpConduit httpTypes network text time unorderedContainers vector
+    aeson attoparsec caseInsensitive conduit dataDefault failure
+    hashable HTTP httpConduit httpTypes network text time
+    unorderedContainers vector
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 905d02b7011..44a04cc5380 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -1,33 +1,32 @@
-{ cabal, base64Bytestring, blazeHtml, cgi, ConfigFile, feed
-, filepath, filestore, ghcPaths, happstackServer, highlightingKate
-, hslogger, HStringTemplate, HTTP, json, mtl, network, pandoc
-, pandocTypes, parsec, random, recaptcha, safe, SHA, syb, tagsoup
-, text, time, url, utf8String, xhtml, xml, xssSanitize, zlib, fetchurl
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, blazeHtml, ConfigFile, feed, filepath
+, filestore, ghcPaths, happstackServer, highlightingKate, hslogger
+, HStringTemplate, HTTP, json, mtl, network, pandoc, pandocTypes
+, parsec, random, recaptcha, safe, SHA, split, syb, tagsoup, text
+, time, uri, url, utf8String, xhtml, xml, xssSanitize, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "gitit";
-  version = "0.10.3.1";
-  sha256 = "1sm6rryfyqr0nd4flbc5d520xyw2ajnkylvqf4fi4dhl6fnbpam5";
+  version = "0.10.4";
+  sha256 = "1z06v1pamrpm70zisrw3z3kv0d19dsjkmm75pvj5yxkacxv7qk7n";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    base64Bytestring blazeHtml cgi ConfigFile feed filepath filestore
+    base64Bytestring blazeHtml ConfigFile feed filepath filestore
     ghcPaths happstackServer highlightingKate hslogger HStringTemplate
     HTTP json mtl network pandoc pandocTypes parsec random recaptcha
-    safe SHA syb tagsoup text time url utf8String xhtml xml xssSanitize
-    zlib
+    safe SHA split syb tagsoup text time uri url utf8String xhtml xml
+    xssSanitize zlib
   ];
   jailbreak = true;
-  patches = [ (fetchurl { url = "https://github.com/jgm/gitit/commit/48155008397bdaed4f97c5678d83c70d4bc3f0ff.patch";
-                          sha256 = "0xdg9frr8lany8ry6vj4vpskmhkpww8jswnb05pzl8a4xfqxh9gd";
-                        })
-            ];
   meta = {
     homepage = "http://gitit.net";
     description = "Wiki using happstack, git or darcs, and pandoc";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
new file mode 100644
index 00000000000..6d2af558706
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
@@ -0,0 +1,31 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitCombinators, exceptions, fastLogger
+, filepath, gitlib, gitlibTest, hlibgit2, hspec, hspecExpectations
+, HUnit, liftedAsync, liftedBase, missingForeign, mmorph
+, monadControl, monadLogger, monadLoops, mtl, resourcet, stm
+, stmConduit, tagged, text, textIcu, time, transformers
+, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "gitlib-libgit2";
+  version = "3.1.0";
+  sha256 = "1kjwc36fd14j2ipw53j8hdsy29gxir1qrm54wxgpp5n4q2kcs9pq";
+  buildDepends = [
+    conduit conduitCombinators exceptions fastLogger filepath gitlib
+    hlibgit2 liftedAsync liftedBase missingForeign mmorph monadControl
+    monadLogger monadLoops mtl resourcet stm stmConduit tagged text
+    textIcu time transformers transformersBase
+  ];
+  testDepends = [
+    exceptions gitlib gitlibTest hspec hspecExpectations HUnit
+    monadLogger transformers
+  ];
+  meta = {
+    description = "Libgit2 backend for gitlib";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gitlib-test/default.nix b/pkgs/development/libraries/haskell/gitlib-test/default.nix
new file mode 100644
index 00000000000..38e1cbc36e7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gitlib-test/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitCombinators, exceptions, gitlib, hspec
+, hspecExpectations, HUnit, monadControl, tagged, text, time
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "gitlib-test";
+  version = "3.1.0";
+  sha256 = "0hnwx5r9fdkxvx0zmqffpym921dvf1x2lky8w11y3rfhk9i1g7l4";
+  buildDepends = [
+    conduit conduitCombinators exceptions gitlib hspec
+    hspecExpectations HUnit monadControl tagged text time transformers
+  ];
+  meta = {
+    description = "Test library for confirming gitlib backend compliance";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gitlib/default.nix b/pkgs/development/libraries/haskell/gitlib/default.nix
new file mode 100644
index 00000000000..cfa9dd2b8e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gitlib/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base16Bytestring, conduit, conduitCombinators, exceptions
+, filepath, hashable, liftedAsync, liftedBase, monadControl
+, monadLogger, mtl, resourcet, semigroups, systemFilepath, tagged
+, text, time, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "gitlib";
+  version = "3.1.0";
+  sha256 = "0zyym7m8bdhc4wi2jrhcmipmlq106qkd61c4y9iisgk73v2pg9f4";
+  buildDepends = [
+    base16Bytestring conduit conduitCombinators exceptions filepath
+    hashable liftedAsync liftedBase monadControl monadLogger mtl
+    resourcet semigroups systemFilepath tagged text time transformers
+    unorderedContainers
+  ];
+  meta = {
+    description = "API library for working with Git repositories";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/glade/default.nix b/pkgs/development/libraries/haskell/glade/default.nix
index 7c49b956aa9..27af64b973d 100644
--- a/pkgs/development/libraries/haskell/glade/default.nix
+++ b/pkgs/development/libraries/haskell/glade/default.nix
@@ -1,20 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, glib, gtk, gtk2hsBuildtools, gtkC, libc, libglade
 , pkgconfig
 }:
 
 cabal.mkDerivation (self: {
   pname = "glade";
-  version = "0.12.1";
-  sha256 = "114gdjz6bzfzqm71j17yb5mq96wcvjdv7ig3k4x4d9mdp97w8990";
+  version = "0.12.5.0";
+  sha256 = "0dbl7y5rdwzcham16iym9cikfyaphzr1rqcsni9ab6s2368a1vkr";
   buildDepends = [ glib gtk ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ gtkC libglade ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/gtk2hs/";
     description = "Binding to the glade library";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 29d2f92d7ba..4a17862c966 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -1,9 +1,13 @@
-{ cabal, glib, gtk2hsBuildtools, libc, pkgconfig }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, glib, gtk2hsBuildtools, libc, pkgconfig, text, utf8String
+}:
 
 cabal.mkDerivation (self: {
   pname = "glib";
-  version = "0.12.4";
-  sha256 = "0s92phy1xlgjzqc7y5plviipb98m13h5lj4n9g6lbv4i106z97ax";
+  version = "0.13.0.1";
+  sha256 = "0xbv7y1lmy35k6h2cgav7mxvpywvwfw47jq7qkcjj8mmr2sizp8i";
+  buildDepends = [ text utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ glib ];
@@ -12,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the GLIB library for Gtk2Hs";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gloss-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
new file mode 100644
index 00000000000..66e6805ab54
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, accelerate, accelerateCuda, gloss }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-accelerate";
+  version = "1.8.0.0";
+  sha256 = "1hcqgsdk5pjqdr2j4i5614a1r56zfxqx5nc3xpnc4yw6hssan280";
+  buildDepends = [ accelerate accelerateCuda gloss ];
+  meta = {
+    description = "Extras to interface Gloss and Accelerate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
new file mode 100644
index 00000000000..2a51b17dcd5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, accelerate, accelerateCuda, gloss, glossAccelerate }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-raster-accelerate";
+  version = "1.8.0.0";
+  sha256 = "17545lb99iszhmx8f8fan0dm76ps6bc977zs2ramycnybzbb3kyc";
+  buildDepends = [ accelerate accelerateCuda gloss glossAccelerate ];
+  meta = {
+    description = "Parallel rendering of raster images using Accelerate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gloss-raster/default.nix b/pkgs/development/libraries/haskell/gloss-raster/default.nix
new file mode 100644
index 00000000000..ff5e202ae73
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-raster/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, gloss, llvm, repa }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-raster";
+  version = "1.8.2.1";
+  sha256 = "0ls8rlwrbpisrmq2xigf9926pak028dmld6shrblcmdbykaz55ha";
+  buildDepends = [ gloss repa ];
+  extraLibraries = [ llvm ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://gloss.ouroborus.net";
+    description = "Parallel rendering of raster images";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index 0f0777909e8..ce6357baaeb 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -1,16 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bmp, GLUT, OpenGL }:
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.8.1.1";
-  sha256 = "135rrgzx4xq8279zbsl4538hjn8np4g6409fgva2cb9shw8z5pmj";
+  version = "1.8.2.1";
+  sha256 = "0wnrss7j7zf4lbmr5rryx7m5qb4pqh7vvz11ksbsfn3d3hf285y2";
   buildDepends = [ bmp GLUT OpenGL ];
-  jailbreak = true;
   meta = {
     homepage = "http://gloss.ouroborus.net";
     description = "Painless 2D vector graphics, animations and simulations";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/glpk-hs/default.nix b/pkgs/development/libraries/haskell/glpk-hs/default.nix
index fbbe7d31c2a..50289f33408 100644
--- a/pkgs/development/libraries/haskell/glpk-hs/default.nix
+++ b/pkgs/development/libraries/haskell/glpk-hs/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, glpk, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Comprehensive GLPK linear programming bindings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gnuidn/default.nix b/pkgs/development/libraries/haskell/gnuidn/default.nix
index 6ae78cf49b6..8bedf0d4186 100644
--- a/pkgs/development/libraries/haskell/gnuidn/default.nix
+++ b/pkgs/development/libraries/haskell/gnuidn/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, c2hs, libidn, text }:
 
 cabal.mkDerivation (self: {
   pname = "gnuidn";
-  version = "0.2";
-  sha256 = "0xk72p3z1lwlmab0jcf7m48p5pncgz00hb7l96naz1gdkbq7xizd";
+  version = "0.2.1";
+  sha256 = "1jii635wc3j1jnwwx24j9gg9xd91g2iw5967acn74p7db62lqx37";
   buildDepends = [ text ];
   buildTools = [ c2hs ];
   extraLibraries = [ libidn ];
   pkgconfigDepends = [ libidn ];
   meta = {
-    homepage = "http://john-millikin.com/software/bindings/gnuidn/";
+    homepage = "https://john-millikin.com/software/haskell-gnuidn/";
     description = "Bindings for GNU IDN";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/gnuplot/default.nix b/pkgs/development/libraries/haskell/gnuplot/default.nix
new file mode 100644
index 00000000000..dc152661049
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gnuplot/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataAccessor, dataAccessorTransformers, deepseq, filepath
+, temporary, time, transformers, utilityHt
+}:
+
+cabal.mkDerivation (self: {
+  pname = "gnuplot";
+  version = "0.5.2.2";
+  sha256 = "0l5hi346bhs9w11i3z6yy4mcr3k50xcp3j31g6wza9grxlfqc5av";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    dataAccessor dataAccessorTransformers deepseq filepath temporary
+    time transformers utilityHt
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Gnuplot";
+    description = "2D and 3D plots using gnuplot";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gnutls/default.nix b/pkgs/development/libraries/haskell/gnutls/default.nix
index 8e77a0626ce..5d8ee9b61df 100644
--- a/pkgs/development/libraries/haskell/gnutls/default.nix
+++ b/pkgs/development/libraries/haskell/gnutls/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, gnutls, monadsTf, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/graph-wrapper/default.nix b/pkgs/development/libraries/haskell/graph-wrapper/default.nix
new file mode 100644
index 00000000000..f38bc24d246
--- /dev/null
+++ b/pkgs/development/libraries/haskell/graph-wrapper/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "graph-wrapper";
+  version = "0.2.4.3";
+  sha256 = "1wfazkczc9m1r0snzv5b4ax315g93qgrnqc2wnrqqnzhcfy1symg";
+  meta = {
+    homepage = "http://www.github.com/batterseapower/graph-wrapper";
+    description = "A wrapper around the standard Data.Graph with a less awkward interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/graphscc/default.nix b/pkgs/development/libraries/haskell/graphscc/default.nix
new file mode 100644
index 00000000000..2124bd0b254
--- /dev/null
+++ b/pkgs/development/libraries/haskell/graphscc/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "GraphSCC";
+  version = "1.0.4";
+  sha256 = "1wbcx3wb02adb7l4nchxla3laliz0h5q074vfw4z0ic833k977bq";
+  meta = {
+    description = "Tarjan's algorithm for computing the strongly connected components of a graph";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 6f7aea3289e..47fc34c55ba 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -1,28 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, colour, dlist, fgl, filepath, polyparse, QuickCheck
 , temporary, text, transformers, wlPprintText
 }:
 
 cabal.mkDerivation (self: {
   pname = "graphviz";
-  version = "2999.16.0.0";
-  sha256 = "1g4q4wyj5amz9xvgnqn143p5nq6m4a0lggxz7jn9l2hwp41bx1g8";
+  version = "2999.17.0.1";
+  sha256 = "0s6l1mlqvllrlx7vc06lgcs68ajhfk98awm63ab1dkqmcnj23ixv";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
     colour dlist fgl filepath polyparse temporary text transformers
     wlPprintText
   ];
-  testDepends = [
-    colour dlist fgl filepath polyparse QuickCheck temporary text
-    transformers wlPprintText
-  ];
-  patchPhase = ''
-    sed -i -e 's|polyparse.*,|polyparse,|' graphviz.cabal
-  '';
+  testDepends = [ fgl filepath QuickCheck text ];
   doCheck = false;
   meta = {
     homepage = "http://projects.haskell.org/graphviz/";
     description = "Bindings to Graphviz for graph visualisation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/groom/default.nix b/pkgs/development/libraries/haskell/groom/default.nix
new file mode 100644
index 00000000000..41853b763f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/groom/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcExts }:
+
+cabal.mkDerivation (self: {
+  pname = "groom";
+  version = "0.1.2";
+  sha256 = "045hzpnf17rp1ib6q3gcznl9b7ivz5zmv0gh7qfg726kr8i030hf";
+  buildDepends = [ haskellSrcExts ];
+  meta = {
+    description = "Pretty printing for well-behaved Show instances";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/groupoids/default.nix b/pkgs/development/libraries/haskell/groupoids/default.nix
index 7697e8e369f..1f0c73c00db 100644
--- a/pkgs/development/libraries/haskell/groupoids/default.nix
+++ b/pkgs/development/libraries/haskell/groupoids/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, semigroupoids }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/groups/default.nix b/pkgs/development/libraries/haskell/groups/default.nix
index b2cf829f12e..4f9fb3f67ae 100644
--- a/pkgs/development/libraries/haskell/groups/default.nix
+++ b/pkgs/development/libraries/haskell/groups/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/gsasl/default.nix b/pkgs/development/libraries/haskell/gsasl/default.nix
index 5a654cdd11d..da0ab99d976 100644
--- a/pkgs/development/libraries/haskell/gsasl/default.nix
+++ b/pkgs/development/libraries/haskell/gsasl/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, gsasl, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/gtk-traymanager/default.nix b/pkgs/development/libraries/haskell/gtk-traymanager/default.nix
new file mode 100644
index 00000000000..53613255c32
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gtk-traymanager/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, glib, gtk, x11 }:
+
+cabal.mkDerivation (self: {
+  pname = "gtk-traymanager";
+  version = "0.1.5";
+  sha256 = "0hzl9pa5vx04vslb2visx35wwjagzzi1j5gyk5acy8pym8ly50hm";
+  buildDepends = [ glib gtk ];
+  pkgconfigDepends = [ gtk x11 ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/travitch/gtk-traymanager";
+    description = "A wrapper around the eggtraymanager library for Linux system trays";
+    license = self.stdenv.lib.licenses.lgpl21;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index ed5244d7262..bb667691677 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -1,12 +1,14 @@
-{ cabal, cairo, glib, gtk, gtk2hsBuildtools, libc, mtl, pango
-, pkgconfig
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, gio, glib, gtk, gtk2hsBuildtools, libc, mtl, pango
+, pkgconfig, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "gtk";
-  version = "0.12.4";
-  sha256 = "0w6ffi9fdz44kb6g1kipk5780r2wc2l3f5cgxjx5nd60qz1xh7p2";
-  buildDepends = [ cairo glib mtl pango ];
+  version = "0.13.0.0";
+  sha256 = "04xi1415i3qaiif9ha5wnmyzxxw8ix17zpvvfjn61nrxlk6p973m";
+  buildDepends = [ cairo gio glib mtl pango text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ glib gtk ];
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the Gtk+ graphical user interface library";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index 677c6c15214..1fe97ad01aa 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -1,18 +1,19 @@
-{ cabal, alex, filepath, happy, random }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, filepath, happy, hashtables, random }:
 
 cabal.mkDerivation (self: {
   pname = "gtk2hs-buildtools";
-  version = "0.12.4";
-  sha256 = "0xh5z8pix5q48d9liicl021kq9py4rj5612va6lfjkj813p5zq2z";
+  version = "0.13.0.1";
+  sha256 = "0ngdg44hxpyga9kwm70340c8jhsh9wl5rja3wx9mfx194idivaxa";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ filepath random ];
+  buildDepends = [ filepath hashtables random ];
   buildTools = [ alex happy ];
   meta = {
     homepage = "http://projects.haskell.org/gtk2hs/";
     description = "Tools to build the Gtk2Hs suite of User Interface libraries";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtk3/default.nix b/pkgs/development/libraries/haskell/gtk3/default.nix
new file mode 100644
index 00000000000..99d76c03c52
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gtk3/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, gio, glib, gtk2hsBuildtools, gtk3, mtl, pango, text
+, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "gtk3";
+  version = "0.13.0.0";
+  sha256 = "0aq58gf6bcwnk085in0xilg7p8zyd2v079aqk1c47gjyrcg7p78f";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cairo gio glib mtl pango text time transformers ];
+  buildTools = [ gtk2hsBuildtools ];
+  pkgconfigDepends = [ glib gtk3 ];
+  meta = {
+    homepage = "http://projects.haskell.org/gtk2hs/";
+    description = "Binding to the Gtk+ graphical user interface library";
+    license = self.stdenv.lib.licenses.lgpl21;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gtkglext/default.nix b/pkgs/development/libraries/haskell/gtkglext/default.nix
new file mode 100644
index 00000000000..481e2ade84a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gtkglext/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, glib, gtk, gtk2hsBuildtools, gtkglext, pango
+, pangox_compat
+}:
+
+cabal.mkDerivation (self: {
+  pname = "gtkglext";
+  version = "0.12.5.0";
+  sha256 = "1xhalcb85cpswdpqxx64fxpmyqq7iakgaczjrbr25fp0h1glshhk";
+  buildDepends = [ glib gtk pango ];
+  buildTools = [ gtk2hsBuildtools ];
+  pkgconfigDepends = [ gtkglext pangox_compat ];
+  meta = {
+    homepage = "http://projects.haskell.org/gtk2hs/";
+    description = "Binding to the GTK+ OpenGL Extension";
+    license = self.stdenv.lib.licenses.lgpl21;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gtksourceview2/default.nix b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
index 756e1a1df97..393c1f07682 100644
--- a/pkgs/development/libraries/haskell/gtksourceview2/default.nix
+++ b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
@@ -1,12 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, glib, gtk, gtk2hsBuildtools, gtksourceview, libc, mtl
-, pkgconfig
+, pkgconfig, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "gtksourceview2";
-  version = "0.12.3.1";
-  sha256 = "1c91ja753dzr2c7sv13wn47sjbjg45jv8xx9ybx1q3188xrldqng";
-  buildDepends = [ glib gtk mtl ];
+  version = "0.13.0.0";
+  sha256 = "0md4dwg68cgq5qj80rjvsrckwn2ap9d1xp0hy8w1iiyii8dfqcnn";
+  buildDepends = [ glib gtk mtl text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ gtksourceview ];
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the GtkSourceView library";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hS3/default.nix b/pkgs/development/libraries/haskell/hS3/default.nix
index 1d6838e92f8..65ba25d1d9a 100644
--- a/pkgs/development/libraries/haskell/hS3/default.nix
+++ b/pkgs/development/libraries/haskell/hS3/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Crypto, dataenc, HTTP, hxt, MissingH, network, random
 , regexCompat, utf8String
 }:
@@ -17,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Interface to Amazon's Simple Storage Service (S3)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hackage-db/default.nix b/pkgs/development/libraries/haskell/hackage-db/default.nix
index 46e2913572e..1668574d7c8 100644
--- a/pkgs/development/libraries/haskell/hackage-db/default.nix
+++ b/pkgs/development/libraries/haskell/hackage-db/default.nix
@@ -1,18 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, tar, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "hackage-db";
-  version = "1.7";
-  sha256 = "0mf22xxbcbjb7l4jahknp6s7lsfn43ib7z9m2jsg9py92vkacfp1";
+  version = "1.8";
+  sha256 = "0iav085xq4d6k9z0x7jlnw3r3wwnzbr7ygbaqnblj6mcpnps9r3q";
   buildDepends = [ Cabal filepath tar utf8String ];
   meta = {
     homepage = "http://github.com/peti/hackage-db";
     description = "provide access to the Hackage database via Data.Map";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haddock-library/default.nix b/pkgs/development/libraries/haskell/haddock-library/default.nix
new file mode 100644
index 00000000000..aece9e35873
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haddock-library/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, baseCompat, deepseq, hspec, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "haddock-library";
+  version = "1.1.0";
+  sha256 = "0apqm9nxgxbpvcphaim93q4z67c1cd0vdjz0i1cbr67ymffl69nd";
+  buildDepends = [ deepseq ];
+  testDepends = [ baseCompat deepseq hspec QuickCheck ];
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "Library exposing some functionality of Haddock";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 22cdf149ef7..1bb23f07bdb 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, blazeHtml, blazeMarkup, cmdargs, cryptohash
 , dataDefault, deepseq, filepath, fsnotify, httpConduit, httpTypes
 , HUnit, lrucache, mtl, network, pandoc, pandocCiteproc, parsec
@@ -8,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.4.1.2";
-  sha256 = "0rbl0gl5ds63mv8cbcwb8aj0vic9padqs3zrdxr2ny70md1v9m9y";
+  version = "4.5.3.0";
+  sha256 = "11ibpjff1zkihpxydlzvvzbgd1vxswi4c7g3lr0hhaaw89bikypy";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -31,6 +33,7 @@ cabal.mkDerivation (self: {
     description = "A static website compiler library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index b40025ff716..c897eb036bd 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -1,20 +1,17 @@
-{ cabal, blazeBuilder, blazeHtml, blazeMarkup, failure, hspec
-, HUnit, parsec, shakespeare, text
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, shakespeare }:
 
 cabal.mkDerivation (self: {
   pname = "hamlet";
-  version = "1.1.7.3";
-  sha256 = "0532gf4xdbjxjpv7gsfv0bapnnb4g81jcfzkn71nwizi8zls3qck";
-  buildDepends = [
-    blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text
-  ];
-  testDepends = [ blazeHtml blazeMarkup hspec HUnit parsec text ];
+  version = "1.2.0";
+  sha256 = "0rla3ap3malk8j6mh07fr2aqvbscpy743wrfq3skgjv3j4jlpjfi";
+  buildDepends = [ shakespeare ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-    description = "Haml-like template files that are compile-time checked";
+    description = "Haml-like template files that are compile-time checked (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix
new file mode 100644
index 00000000000..e16092fe523
--- /dev/null
+++ b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cgi, fastcgi, happstackServer, mtl, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "happstack-fastcgi";
+  version = "0.1.5";
+  sha256 = "0rvb041nx2f8azvfy1yysisjqrmsfbxnccn992v5q7zhlglcvj8h";
+  buildDepends = [ cgi fastcgi happstackServer mtl utf8String ];
+  meta = {
+    description = "Happstack extension for use with FastCGI";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
index c191c428780..e81235cf097 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
@@ -1,15 +1,16 @@
-{ cabal, hamlet, happstackServer, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happstackServer, shakespeare, text }:
 
 cabal.mkDerivation (self: {
   pname = "happstack-hamlet";
-  version = "7.0.3";
-  sha256 = "0z4phykm2wxpdga47sdg76v7vmy32kav4nscizlkl648qjrx9k3r";
-  buildDepends = [ hamlet happstackServer text ];
+  version = "7.0.4";
+  sha256 = "1l12gyyqzblb9psk6692r9xw640jxzyxqldfyg2yrzz8y0zi649a";
+  buildDepends = [ happstackServer shakespeare text ];
   meta = {
     homepage = "http://www.happstack.com/";
     description = "Support for Hamlet HTML templates in Happstack";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
index 46edfb8946a..610220cc09e 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, happstackServer, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "happstack-lite";
-  version = "7.3.1";
-  sha256 = "0y8d0xv26szfjmkfqzak19zqjgv0w6rkc1rzrd2jkvsbchnwacjy";
+  version = "7.3.4";
+  sha256 = "06ndqfd4x49yi17kgiz5xr05l1k6sj5g1f6kir10wgsqhmd0q811";
   buildDepends = [ happstackServer mtl text ];
   meta = {
     homepage = "http://www.happstack.com/";
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index e12d848f00f..1bc0b36f120 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -1,27 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, blazeHtml, extensibleExceptions
 , filepath, hslogger, html, HUnit, monadControl, mtl, network
-, parsec, sendfile, syb, systemFilepath, text, threads, time
-, timeCompat, transformers, transformersBase, utf8String, xhtml
-, zlib
+, networkUri, parsec, sendfile, syb, systemFilepath, text, threads
+, time, timeCompat, transformers, transformersBase, utf8String
+, xhtml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.3.1";
-  sha256 = "0yk4ylyyc8pz7j5lxibah356f986w932ncxp4y612rqcd0abzrq4";
+  version = "7.3.8";
+  sha256 = "11jy4r4ih6sndyga3fjg298f5ww8806180dm3fgzsm0xfsjw1ac2";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
-    html monadControl mtl network parsec sendfile syb systemFilepath
-    text threads time timeCompat transformers transformersBase
-    utf8String xhtml zlib
+    html monadControl mtl network networkUri parsec sendfile syb
+    systemFilepath text threads time timeCompat transformers
+    transformersBase utf8String xhtml zlib
   ];
   testDepends = [ HUnit parsec zlib ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://happstack.com";
     description = "Web related tools and services";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashable-extras/default.nix b/pkgs/development/libraries/haskell/hashable-extras/default.nix
new file mode 100644
index 00000000000..70868a2e83a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hashable-extras/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, doctest, filepath, genericDeriving, hashable
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hashable-extras";
+  version = "0.2.0.1";
+  sha256 = "09y2m0wpim7sl7n9qnkr0miwfsbvb1q8lm6shpcq0jxzxknbag7s";
+  buildDepends = [
+    bifunctors genericDeriving hashable transformers
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/analytics/hashable-extras/";
+    description = "Higher-rank Hashable";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix b/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
index ffb3f98e8b3..3c8330e82ae 100644
--- a/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
+++ b/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, random, testFramework
 , testFrameworkQuickcheck2, text
 }:
@@ -15,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "A class for types that can be converted to a hash value";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix b/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix
deleted file mode 100644
index 092a3f69156..00000000000
--- a/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ cabal, HUnit, QuickCheck, random, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "hashable";
-  version = "1.2.1.0";
-  sha256 = "09m1glpcxm3f6s9cwz8xzljy6j0n271cym4d9dllw5rpzrwp9h2f";
-  buildDepends = [ text ];
-  testDepends = [
-    HUnit QuickCheck random testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/tibbe/hashable";
-    description = "A class for types that can be converted to a hash value";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
new file mode 100644
index 00000000000..bfd9ec03c0e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, QuickCheck, random, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hashable";
+  version = "1.2.2.0";
+  sha256 = "08cfm1rzhf3d8dzn0iqadfs35151ff6szhnh4bwrpxcs6sq90fh3";
+  buildDepends = [ text ];
+  testDepends = [
+    HUnit QuickCheck random testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/tibbe/hashable";
+    description = "A class for types that can be converted to a hash value";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix
index 77a4251259d..b7e6af904fe 100644
--- a/pkgs/development/libraries/haskell/hashed-storage/default.nix
+++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, dataenc, extensibleExceptions, filepath, mmap, mtl
 , zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "hashed-storage";
-  version = "0.5.10";
-  sha256 = "1k7drnk0y5apjvwsiw85032yvxllbi7ndg6h9x207gnjxm64m0h5";
+  version = "0.5.11";
+  sha256 = "0s8mnayxlvwrrii2l63b372yi5g08br6gpbgz2256d8y128mwjvk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Hashed file storage support code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashtables/default.nix b/pkgs/development/libraries/haskell/hashtables/default.nix
index ca0e2e529c5..c941e08da35 100644
--- a/pkgs/development/libraries/haskell/hashtables/default.nix
+++ b/pkgs/development/libraries/haskell/hashtables/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, primitive, vector }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Mutable hash tables in the ST monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskeline-class/default.nix b/pkgs/development/libraries/haskell/haskeline-class/default.nix
index 76080574fcc..1b1519c4326 100644
--- a/pkgs/development/libraries/haskell/haskeline-class/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline-class/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, haskeline, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Class interface for working with Haskeline";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index a283f229b76..f8f4d5ed998 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -1,16 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, terminfo, transformers, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "haskeline";
-  version = "0.7.0.3";
-  sha256 = "10xc229ddk4g87i78vgjbfr7sii28fx00qwnggb5x7sfigfca8sg";
+  version = "0.7.1.3";
+  sha256 = "1bwyfn7y9mi18g7zxz8wxjkld51azlfbxypxbiqdinpm2fdl63mi";
   buildDepends = [ filepath terminfo transformers utf8String ];
   configureFlags = "-fterminfo";
+  jailbreak = true;
   meta = {
     homepage = "http://trac.haskell.org/haskeline";
     description = "A command-line interface for user input, written in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-generate/default.nix b/pkgs/development/libraries/haskell/haskell-generate/default.nix
new file mode 100644
index 00000000000..ad482d33d7b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-generate/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filepath, haskellSrcExts, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-generate";
+  version = "0.2";
+  sha256 = "0bkaarc40lcw3v2y6qdf91rx21v3w82y62kaadhmmh5ikq99pybw";
+  buildDepends = [ haskellSrcExts transformers ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/bennofs/haskell-generate/";
+    description = "haskell-generate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-lexer/default.nix b/pkgs/development/libraries/haskell/haskell-lexer/default.nix
index 9aa1bdea951..2e81d757095 100644
--- a/pkgs/development/libraries/haskell/haskell-lexer/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-lexer/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A fully compliant Haskell 98 lexer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-mpi/default.nix b/pkgs/development/libraries/haskell/haskell-mpi/default.nix
index add910b6193..b7d9bf99148 100644
--- a/pkgs/development/libraries/haskell/haskell-mpi/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-mpi/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, c2hs, cereal, extensibleExceptions, mpi }:
 
 cabal.mkDerivation (self: {
@@ -14,6 +16,7 @@ cabal.mkDerivation (self: {
     description = "Distributed parallel programming in Haskell using MPI";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix
new file mode 100644
index 00000000000..fb1a1b6e263
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-names/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, Cabal, dataLensLight, filemanip, filepath
+, haskellPackages, haskellSrcExts, hseCpp, mtl, prettyShow, tagged
+, tasty, tastyGolden, transformers, traverseWithClass, typeEq
+, uniplate, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-names";
+  version = "0.4";
+  sha256 = "02cbs3bwakm9bwh4yy242msh5hibxfr9dsc6a0nbpihj1fhbv6b4";
+  buildDepends = [
+    aeson Cabal dataLensLight filepath haskellPackages haskellSrcExts
+    hseCpp mtl tagged transformers traverseWithClass typeEq uniplate
+  ];
+  testDepends = [
+    aeson Cabal filemanip filepath haskellPackages haskellSrcExts
+    hseCpp mtl prettyShow tagged tasty tastyGolden traverseWithClass
+    uniplate utf8String
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://documentup.com/haskell-suite/haskell-names";
+    description = "Name resolution library for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix
new file mode 100644
index 00000000000..9c6997a9db9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, Cabal, deepseq, either, filepath, haskellSrcExts
+, hseCpp, mtl, optparseApplicative, tagged
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-packages";
+  version = "0.2.4.1";
+  sha256 = "014zcq27rwsgj3n4kdgswbppr5yzf3lnj5gnv45r3i5c3rd1mz6k";
+  buildDepends = [
+    aeson Cabal deepseq either filepath haskellSrcExts hseCpp mtl
+    optparseApplicative tagged
+  ];
+  meta = {
+    homepage = "http://documentup.com/haskell-suite/haskell-packages";
+    description = "Haskell suite library for package management and integration with Cabal";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
index e87d59582f2..eac734a8422 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, editline,
  haskellSrc, html, parallel, regexBase, regexCompat, regexPosix,
  stm, time, xhtml, zlib, parsec, network,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -10,6 +10,7 @@ cabal.mkDerivation (self : {
     url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
     sha256 = "e0469fac9b1d091d8299ae16a4e2e7fcd504285bba066b17153a0f0104a049bd";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
     haskellSrc html parallel regexBase regexCompat regexPosix
@@ -18,7 +19,8 @@ cabal.mkDerivation (self : {
   ];
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
index fc7de20f6c1..8c1630752ec 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
@@ -1,24 +1,27 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
  stm, xhtml, zlib, parsec,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
   version = "2010.1.0.0";
   src = fetchurl {
     url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
-    sha256 = "64c9fec5cdc4b6f515b7f296d59984d2dee05927b7e24ea67324ad5f4ac3e994";
+    sha256 = "0cadj0ql2i5d5njwcbhmjkf4qrkfmxirg5vjv1wlx3ayzbynbrp4";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel regexBase regexCompat regexPosix
     stm xhtml zlib parsec
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
+    broken = true;              # The source code is no longer available from haskell.org.
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
index 8f00f5fb48b..b9a3a841af5 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
  stm, xhtml, zlib, mtl, parsec, deepseq,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -10,14 +10,17 @@ cabal.mkDerivation (self : {
     url = "http://pkgs.fedoraproject.org/repo/pkgs/haskell-platform/haskell-platform-2010.2.0.0.tar.gz/9c9c6422ebfe1a5e78e69ae017f4d54b/haskell-platform-2010.2.0.0.tar.gz";
     sha256 = "c0b0b45151e74cff759ae25083c2ff7a7af4d2f74c19294b78730c879864f3c0";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel regexBase regexCompat regexPosix
     stm xhtml zlib mtl parsec deepseq
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
index 8eb1b457aa3..4a9752a0611 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -11,16 +11,18 @@ cabal.mkDerivation (self : {
     url = "http://lambda.haskell.org/hp-tmp/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
     sha256 = "01ppv8jdyvbngml9vgvrvnani6fj1nbk8mqmrkd8c508l7q9g6vb";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   noHaddock = true;
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
index da70d32861d..cae4cc6796c 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -14,11 +14,12 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2011.2.0.1.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -30,7 +31,8 @@ cabal.mkDerivation (self : {
   noHaddock = true;
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
index 8dd833a7bf0..61aa32aff45 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -14,11 +14,12 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2011.4.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -33,10 +34,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
index be2aa50e396..9873342fa8d 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, random,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -14,11 +14,12 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2012.2.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib random
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -33,10 +34,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
index c9f269eebef..e54f9264159 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
@@ -2,7 +2,7 @@
  haskellSrc, html, network, parallel, parsec, primitive,
  regexBase, regexCompat, regexPosix,
  split, stm, syb, deepseq, text, transformers, mtl, vector, xhtml, zlib, random,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -15,12 +15,13 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2012.4.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck async cgi fgl
     haskellSrc html network parallel parsec primitive
     regexBase regexCompat regexPosix
     split stm syb deepseq text transformers mtl vector xhtml zlib random
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -35,10 +36,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
index 2e0181bd1a7..c7ce9b09815 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
@@ -3,7 +3,7 @@
 , hashable, html, HTTP, HUnit, mtl, network, OpenGL, OpenGLRaw, parallel
 , parsec, QuickCheck, random, regexBase, regexCompat, regexPosix, split, stm
 , syb, text, transformers, unorderedContainers, vector, xhtml, zlib
-, cabalInstall, alex, haddock, happy, primitive, ghc
+, cabalInstall, alex, happy, primitive, ghc
 }:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
@@ -17,12 +17,13 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2013.2.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     async attoparsec caseInsensitive cgi fgl GLUT GLURaw haskellSrc
     hashable html HTTP HUnit mtl network OpenGL OpenGLRaw parallel
     parsec QuickCheck random regexBase regexCompat regexPosix split stm
     syb text transformers unorderedContainers vector xhtml zlib
-    cabalInstall alex haddock happy primitive ghc
+    cabalInstall alex happy primitive ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -37,9 +38,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-platform/default.nix b/pkgs/development/libraries/haskell/haskell-platform/default.nix
new file mode 100644
index 00000000000..2de2809cf53
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/default.nix
@@ -0,0 +1,314 @@
+{ pkgs }:
+
+let
+  haskellPlatformPackages_2013_2_0_0 = pkgs.haskell.packages_ghc763.override {
+    extension = self : super : {
+      async                     = self.async_2_0_1_4;
+      attoparsec                = self.attoparsec_0_10_4_0;
+      caseInsensitive           = self.caseInsensitive_1_0_0_1;
+      cgi                       = self.cgi_3001_1_7_5;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_4_0_0;
+      GLURaw                    = self.GLURaw_1_3_0_0;
+      haskellSrc                = self.haskellSrc_1_0_1_5;
+      hashable                  = self.hashable_1_1_2_5;
+      html                      = self.html_1_0_1_2;
+      HTTP                      = self.HTTP_4000_2_8;
+      HUnit                     = self.HUnit_1_2_5_2;
+      mtl                       = self.mtl_2_1_2;
+      network                   = self.network_2_4_1_2;
+      OpenGL                    = self.OpenGL_2_8_0_0;
+      OpenGLRaw                 = self.OpenGLRaw_1_3_0_0;
+      parallel                  = self.parallel_3_2_0_3;
+      parsec                    = self.parsec_3_1_3;
+      QuickCheck                = self.QuickCheck_2_6;
+      random                    = self.random_1_0_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_2;
+      split                     = self.split_0_2_2;
+      stm                       = self.stm_2_4_2;
+      syb                       = self.syb_0_4_0;
+      text                      = self.text_0_11_3_1;
+      transformers              = self.transformers_0_3_0_0;
+      unorderedContainers       = self.unorderedContainers_0_2_3_0;
+      vector                    = self.vector_0_10_0_1;
+      xhtml                     = self.xhtml_3000_2_1;
+      zlib                      = self.zlib_0_5_4_1;
+      cabalInstall              = self.cabalInstall_1_16_0_2;
+      alex                      = self.alex_3_0_5;
+      happy                     = self.happy_1_18_10;
+      primitive                 = self.primitive_0_5_0_1; # semi-official, but specified
+    };
+  };
+
+  haskellPlatformPackages_2012_4_0_0 = pkgs.haskell.packages_ghc742.override {
+    extension = self : super : {
+      async                     = self.async_2_0_1_3;
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_5;
+      html                      = self.html_1_0_1_2;
+      HTTP                      = super.HTTP_4000_2_5.override { network = self.network_2_3_1_0; };
+      HUnit                     = self.HUnit_1_2_5_1;
+      mtl                       = self.mtl_2_1_2;
+      network                   = self.network_2_3_1_0;
+      OpenGL                    = self.OpenGL_2_2_3_1;
+      parallel                  = self.parallel_3_2_0_3;
+      parsec                    = self.parsec_3_1_3;
+      QuickCheck                = self.QuickCheck_2_5_1_1;
+      random                    = self.random_1_0_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_2;
+      split                     = self.split_0_2_1_1;
+      stm                       = self.stm_2_4;
+      syb                       = self.syb_0_3_7;
+      text                      = self.text_0_11_2_3;
+      transformers              = self.transformers_0_3_0_0;
+      vector                    = self.vector_0_10_0_1;
+      xhtml                     = self.xhtml_3000_2_1;
+      zlib                      = self.zlib_0_5_4_0;
+      cabalInstall              = self.cabalInstall_0_14_0;
+      alex                      = self.alex_3_0_2;
+      happy                     = self.happy_1_18_10;
+      primitive                 = self.primitive_0_5_0_1; # semi-official, but specified
+    };
+  };
+
+  haskellPlatformPackages_2012_2_0_0 = pkgs.haskell.packages_ghc742.override {
+    ghcPath = ../../../compilers/ghc/7.4.1.nix;
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_5;
+      html                      = self.html_1_0_1_2;
+      HTTP                      = self.HTTP_4000_2_3;
+      HUnit                     = self.HUnit_1_2_4_2;
+      mtl                       = self.mtl_2_1_1;
+      network                   = self.network_2_3_0_13;
+      OpenGL                    = self.OpenGL_2_2_3_1;
+      parallel                  = self.parallel_3_2_0_2;
+      parsec                    = self.parsec_3_1_2;
+      QuickCheck                = self.QuickCheck_2_4_2;
+      random                    = self.random_1_0_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_1;
+      stm                       = self.stm_2_3;
+      syb                       = self.syb_0_3_6_1;
+      text                      = self.text_0_11_2_0;
+      transformers              = self.transformers_0_3_0_0;
+      xhtml                     = self.xhtml_3000_2_1;
+      zlib                      = self.zlib_0_5_3_3;
+      cabalInstall              = self.cabalInstall_0_14_0;
+      alex                      = self.alex_3_0_1;
+      happy                     = self.happy_1_18_9;
+    };
+  };
+
+  haskellPlatformPackages_2011_4_0_0 = pkgs.haskell.packages_ghc704.override {
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_4;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_4_2;
+      network                   = self.network_2_3_0_5;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_3_1_0_1;
+      parsec                    = self.parsec_3_1_1;
+      QuickCheck                = self.QuickCheck_2_4_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_1;
+      stm                       = self.stm_2_2_0_1;
+      syb                       = self.syb_0_3_3;
+      xhtml                     = self.xhtml_3000_2_0_4;
+      zlib                      = self.zlib_0_5_3_1;
+      HTTP                      = self.HTTP_4000_1_2;
+      deepseq                   = self.deepseq_1_1_0_2;
+      text                      = self.text_0_11_1_5;
+      transformers              = self.transformers_0_2_2_0;
+      mtl                       = self.mtl_2_0_1_0;
+      cabalInstall              = self.cabalInstall_0_10_2;
+      alex                      = self.alex_2_3_5;
+      happy                     = self.happy_1_18_6;
+    };
+  };
+
+  haskellPlatformPackages_2011_2_0_1 = pkgs.haskell.packages_ghc704.override {
+    ghcPath = ../../../compilers/ghc/7.0.3.nix;
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_3;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_4;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_2_3;
+      network                   = self.network_2_3_0_2;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_3_1_0_1;
+      parsec                    = self.parsec_3_1_1;
+      QuickCheck                = self.QuickCheck_2_4_0_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_93_1;
+      regexPosix                = self.regexPosix_0_94_4;
+      stm                       = self.stm_2_2_0_1;
+      syb                       = self.syb_0_3;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_3_1;
+      HTTP                      = self.HTTP_4000_1_1;
+      deepseq                   = self.deepseq_1_1_0_2;
+      text                      = self.text_0_11_0_6;
+      transformers              = self.transformers_0_2_2_0;
+      mtl                       = self.mtl_2_0_1_0;
+      cabalInstall              = self.cabalInstall_0_10_2;
+      alex                      = self.alex_2_3_5;
+      happy                     = self.happy_1_18_6;
+    };
+  };
+
+  haskellPlatformPackages_2011_2_0_0 = pkgs.haskell.packages_ghc704.override {
+    ghcPath = ../../../compilers/ghc/7.0.2.nix;
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_3;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_4;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_2_3;
+      network                   = self.network_2_3_0_2;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_3_1_0_1;
+      parsec                    = self.parsec_3_1_1;
+      QuickCheck                = self.QuickCheck_2_4_0_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_93_1;
+      regexPosix                = self.regexPosix_0_94_4;
+      stm                       = self.stm_2_2_0_1;
+      syb                       = self.syb_0_3;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_3_1;
+      HTTP                      = self.HTTP_4000_1_1;
+      deepseq                   = self.deepseq_1_1_0_2;
+      text                      = self.text_0_11_0_5;
+      transformers              = self.transformers_0_2_2_0;
+      mtl                       = self.mtl_2_0_1_0;
+      cabalInstall              = self.cabalInstall_0_10_2;
+      alex                      = self.alex_2_3_5;
+      happy                     = self.happy_1_18_6;
+    };
+  };
+
+  haskellPlatformPackages_2010_2_0_0 = pkgs.haskell.packages_ghc6123.override {
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_3;
+      fgl                       = self.fgl_5_4_2_3;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_3;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_2_1;
+      mtl                       = self.mtl_1_1_0_2;
+      network                   = self.network_2_2_1_7;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_2_2_0_1;
+      parsec                    = self.parsec_2_1_0_1;
+      QuickCheck                = self.QuickCheck_2_1_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_93_1;
+      regexPosix                = self.regexPosix_0_94_2;
+      stm                       = self.stm_2_1_2_1;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_2_0;
+      HTTP                      = self.HTTP_4000_0_9;
+      deepseq                   = self.deepseq_1_1_0_0;
+      text                      = self.text_0_11_0_5;
+      cabalInstall              = self.cabalInstall_0_8_2;
+      alex                      = self.alex_2_3_3;
+      happy                     = self.happy_1_18_5;
+    };
+  };
+
+  haskellPlatformPackages_2010_1_0_0 = pkgs.haskell.packages_ghc6123.override {
+    extension = self : super : {
+      haskellSrc                = self.haskellSrc_1_0_1_3;
+      html                      = self.html_1_0_1_2;
+      fgl                       = self.fgl_5_4_2_2;
+      cabalInstall              = self.cabalInstall_0_8_0;
+      GLUT                      = self.GLUT_2_1_2_1;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      zlib                      = self.zlib_0_5_2_0;
+      alex                      = self.alex_2_3_2;
+      cgi                       = self.cgi_3001_1_7_2;
+      QuickCheck                = self.QuickCheck_2_1_1_1;
+      HTTP                      = self.HTTP_4000_0_9;
+      deepseq                   = self.deepseq_1_1_0_0;
+      HUnit                     = self.HUnit_1_2_2_1;
+      network                   = self.network_2_2_1_7;
+      parallel                  = self.parallel_2_2_0_1;
+      parsec                    = self.parsec_2_1_0_1;
+      regexBase                 = self.regexBase_0_93_1;
+      regexCompat               = self.regexCompat_0_92;
+      regexPosix                = self.regexPosix_0_94_1;
+      stm                       = self.stm_2_1_1_2;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      happy                     = self.happy_1_18_4;
+      # not actually specified, but important to make the whole thing build
+      mtl                       = self.mtl_1_1_0_2;
+    };
+  };
+
+  haskellPlatformPackages_2009_2_0_2 = pkgs.haskell.packages_ghc6104.override {
+    extension = self : super : {
+      time                      = self.time_1_1_2_4;
+      cgi                       = self.cgi_3001_1_7_1;
+      editline                  = self.editline_0_2_1_0;
+      fgl                       = self.fgl_5_4_2_2;
+      GLUT                      = self.GLUT_2_1_1_2;
+      haskellSrc                = self.haskellSrc_1_0_1_3;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_0_3;
+      network                   = self.network_2_2_1_4;
+      OpenGL                    = self.OpenGL_2_2_1_1;
+      parallel                  = self.parallel_1_1_0_1;
+      parsec                    = self.parsec_2_1_0_1;
+      QuickCheck                = self.QuickCheck_1_2_0_0;
+      regexBase                 = self.regexBase_0_72_0_2;
+      regexCompat               = self.regexCompat_0_71_0_1;
+      regexPosix                = self.regexPosix_0_72_0_3;
+      stm                       = self.stm_2_1_1_2;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_0_0;
+      HTTP                      = self.HTTP_4000_0_6;
+      cabalInstall              = self.cabalInstall_0_6_2;
+      alex                      = self.alex_2_3_1;
+      happy                     = self.happy_1_18_4;
+      # not actually specified, but important to make the whole thing build
+      mtl                       = self.mtl_1_1_0_2;
+    };
+  };
+
+in
+{
+  "2013_2_0_0" = haskellPlatformPackages_2013_2_0_0.callPackage ./2013.2.0.0.nix {};
+
+  "2012_4_0_0" = haskellPlatformPackages_2012_4_0_0.callPackage ./2012.4.0.0.nix {};
+
+  "2012_2_0_0" = haskellPlatformPackages_2012_2_0_0.callPackage ./2012.2.0.0.nix {};
+
+  "2011_4_0_0" = haskellPlatformPackages_2011_4_0_0.callPackage ./2011.4.0.0.nix {};
+
+  "2011_2_0_1" = haskellPlatformPackages_2011_2_0_1.callPackage ./2011.2.0.1.nix {};
+
+  "2011_2_0_0" = haskellPlatformPackages_2011_2_0_0.callPackage ./2011.2.0.0.nix {};
+
+  "2010_2_0_0" = haskellPlatformPackages_2010_2_0_0.callPackage ./2010.2.0.0.nix {};
+
+  "2010_1_0_0" = haskellPlatformPackages_2010_1_0_0.callPackage ./2010.1.0.0.nix {};
+
+  "2009_2_0_2" = haskellPlatformPackages_2009_2_0_2.callPackage ./2009.2.0.2.nix {};
+}
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
index 5521e037b4e..1f9d3bf4d19 100644
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cpphs, happy }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix
deleted file mode 100644
index 16595e33156..00000000000
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ cabal, cpphs, filepath, happy, smallcheck, tasty, tastyHunit
-, tastySmallcheck
-}:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src-exts";
-  version = "1.14.0";
-  sha256 = "070khsw56xwyrclamv5wckj9na2xbzibv702xx52ik2wbs21dr0d";
-  buildDepends = [ cpphs ];
-  testDepends = [
-    filepath smallcheck tasty tastyHunit tastySmallcheck
-  ];
-  buildTools = [ happy ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell-suite/haskell-src-exts";
-    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
new file mode 100644
index 00000000000..b8c0a78001b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, filemanip, filepath, happy, mtl, smallcheck, syb
+, tasty, tastyGolden, tastySmallcheck
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-src-exts";
+  version = "1.15.0.1";
+  sha256 = "0xp5i06c478vn5m504ax5dfa7p5zc0kflbdkm2ijdzc779lpbx45";
+  buildDepends = [ cpphs ];
+  testDepends = [
+    filemanip filepath mtl smallcheck syb tasty tastyGolden
+    tastySmallcheck
+  ];
+  buildTools = [ happy ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/haskell-suite/haskell-src-exts";
+    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index 6ce8f9e72ba..cc6cc60bb18 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, haskellSrcExts, syb, thOrphans, uniplate }:
 
 cabal.mkDerivation (self: {
   pname = "haskell-src-meta";
-  version = "0.6.0.4";
-  sha256 = "10dixf2abk0canwikf3wdp1ahc51400wxa7x4g59pygv8a3c1c1x";
+  version = "0.6.0.7";
+  sha256 = "0cxqh35cd2j6ljsmgjisgm9pn26rj01x43mkn9jk6qs1fbqspb4d";
   buildDepends = [ haskellSrcExts syb thOrphans uniplate ];
   jailbreak = true;
   meta = {
     description = "Parse source to template-haskell abstract syntax";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
index 6729cbef2aa..e2e5ffa304d 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, happy }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Manipulating Haskell source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
index 1895a655d92..54decb79f2b 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, happy, syb }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Support for manipulating Haskell source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
index 1dbbbec550a..02032c21120 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, happy, syb }:
 
 cabal.mkDerivation (self: {
@@ -6,6 +8,7 @@ cabal.mkDerivation (self: {
   sha256 = "1ay3i2sbrp0pzg6fagg8gqrwq5lcnm5jb5sr11frbk274a82cdwz";
   buildDepends = [ syb ];
   buildTools = [ happy ];
+  preConfigure = "runhaskell Setup.hs clean";
   meta = {
     description = "Support for manipulating Haskell source code";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix
new file mode 100644
index 00000000000..428715ac07b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happy, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-src";
+  version = "1.0.1.6";
+  sha256 = "1vscvbsly7k0zqb7fi6bm38dfacyl8qgmv0h25fqkn95c0v5dif7";
+  buildDepends = [ syb ];
+  buildTools = [ happy ];
+  meta = {
+    description = "Support for manipulating Haskell source code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskelldb/default.nix b/pkgs/development/libraries/haskell/haskelldb/default.nix
new file mode 100644
index 00000000000..ecb92c18493
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskelldb/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, time }:
+
+cabal.mkDerivation (self: {
+  pname = "haskelldb";
+  version = "2.2.2";
+  sha256 = "1nwy05wsffagv62kbi8ahm6s591wal7cdl19p0fqi86qz05y9hkm";
+  buildDepends = [ mtl time ];
+  meta = {
+    homepage = "https://github.com/m4dc4p/haskelldb";
+    description = "A library of combinators for generating and executing SQL statements";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskintex/default.nix b/pkgs/development/libraries/haskell/haskintex/default.nix
new file mode 100644
index 00000000000..776d5198bc7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskintex/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, filepath, haskellSrcExts, HaTeX, hint, parsec
+, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskintex";
+  version = "0.5.0.0";
+  sha256 = "1ixb8lwgk2bkm36c173x8y2a14ylax5bdrqw4blxm4qia7xidc5i";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary filepath haskellSrcExts HaTeX hint parsec text transformers
+  ];
+  meta = {
+    homepage = "http://daniel-diaz.github.io/projects/haskintex";
+    description = "Haskell Evaluation inside of LaTeX code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskoin/default.nix b/pkgs/development/libraries/haskell/haskoin/default.nix
new file mode 100644
index 00000000000..120111f35f0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskoin/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, async, binary, byteable, cryptohash, deepseq
+, either, HUnit, jsonRpc, mtl, pbkdf, QuickCheck, split
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskoin";
+  version = "0.1.0.2";
+  sha256 = "0l3h2wvi56k0dcfjambqyjrd45hb7bj0brp8nzrrcfn7fbpyjg8c";
+  buildDepends = [
+    aeson binary byteable cryptohash deepseq either jsonRpc mtl pbkdf
+    split text
+  ];
+  testDepends = [
+    aeson async binary byteable cryptohash deepseq either HUnit jsonRpc
+    mtl pbkdf QuickCheck split testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text
+  ];
+  meta = {
+    homepage = "http://github.com/haskoin/haskoin";
+    description = "Implementation of the Bitcoin protocol";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskore/default.nix b/pkgs/development/libraries/haskell/haskore/default.nix
new file mode 100644
index 00000000000..cf0b3504e1b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskore/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataAccessor, eventList, haskellSrc, markovChain, midi
+, nonNegative, parsec, random, transformers, utilityHt
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskore";
+  version = "0.2.0.4";
+  sha256 = "0hhsiazdz44amilcwfxl0r10yxzhql83pgd21k89fmg1gkc4q46j";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    dataAccessor eventList haskellSrc markovChain midi nonNegative
+    parsec random transformers utilityHt
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Haskore";
+    description = "The Haskore Computer Music System";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix
index c864c7e0a5f..bb26f635f62 100644
--- a/pkgs/development/libraries/haskell/hastache/default.nix
+++ b/pkgs/development/libraries/haskell/hastache/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, filepath, HUnit, ieee754, mtl, syb, text
 , transformers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hastache";
-  version = "0.5.1";
-  sha256 = "05lm7mjzc1hamxcj8akq06081bhp907hrjdkhas3wzm6ran6rwn3";
+  version = "0.6.0";
+  sha256 = "1z609mhsc875ba3k6mlmlqpmqlwgxpav2asnf83yzq1q7bfs0cxh";
   buildDepends = [
     blazeBuilder filepath ieee754 mtl syb text transformers utf8String
   ];
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Haskell implementation of Mustache templates";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix
new file mode 100644
index 00000000000..0b5f4875a75
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, blazeBuilder, bzlib, dataBinaryIeee754
+, dataDefault, executablePath, filepath, ghcPaths, HTTP, monadsTf
+, mtl, network, random, shellmate, systemFileio, tar, temporary
+, time, transformers, utf8String, websockets, zipArchive
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haste-compiler";
+  version = "0.3";
+  sha256 = "0a0hyra1h484c404d95d411l7gddaazy1ikwzlgkgzaqzd7j7dbd";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary blazeBuilder bzlib dataBinaryIeee754 dataDefault
+    executablePath filepath ghcPaths HTTP monadsTf mtl network random
+    shellmate systemFileio tar temporary time transformers utf8String
+    websockets zipArchive
+  ];
+  meta = {
+    homepage = "http://github.com/valderman/haste-compiler";
+    description = "Haskell To ECMAScript compiler";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haste-perch/default.nix b/pkgs/development/libraries/haskell/haste-perch/default.nix
new file mode 100644
index 00000000000..aec315995c8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haste-perch/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hasteCompiler, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "haste-perch";
+  version = "0.1.0.3";
+  sha256 = "1ad7kv47kq0sav49qnqdk76blk44sgjvk1zgn5k2bqvfnr26641j";
+  buildDepends = [ hasteCompiler transformers ];
+  meta = {
+    homepage = "https://github.com/agocorona/haste-perch";
+    description = "Create, navigate and modify the DOM tree with composable syntax, with the haste compiler";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haxl/default.nix b/pkgs/development/libraries/haskell/haxl/default.nix
new file mode 100644
index 00000000000..f257df7f1e0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haxl/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, filepath, hashable, HUnit, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haxl";
+  version = "0.1.0.0";
+  sha256 = "1spkcvsy0p3ksxapaz93db09y2jsswr5k6qs6cvxmwxxhbnswv36";
+  buildDepends = [
+    aeson filepath hashable HUnit text time unorderedContainers vector
+  ];
+  testDepends = [ aeson hashable HUnit text unorderedContainers ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/facebook/Haxl";
+    description = "A Haskell library for efficient, concurrent, and concise data access";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haxr-th/default.nix b/pkgs/development/libraries/haskell/haxr-th/default.nix
index b319857bac3..7d7e8282e28 100644
--- a/pkgs/development/libraries/haskell/haxr-th/default.nix
+++ b/pkgs/development/libraries/haskell/haxr-th/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, haxr }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Automatic deriving of XML-RPC structs for Haskell records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 26ebbb9f8b0..1aba1975a78 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, blazeBuilder, HaXml, HTTP, mtl, network
 , time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "haxr";
-  version = "3000.10.1.1";
-  sha256 = "0qvbl3bms2mf650w9j3r0pnl151vzkggy2if3f4rj34qwb2sxmvp";
+  version = "3000.10.3";
+  sha256 = "082w86vawjiqz589s3gmawssd0b43b1vcw0h6cndadwww8yc35bg";
   buildDepends = [
     base64Bytestring blazeBuilder HaXml HTTP mtl network time
     utf8String
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "XML-RPC client and server library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hcltest/default.nix b/pkgs/development/libraries/haskell/hcltest/default.nix
new file mode 100644
index 00000000000..af598965498
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hcltest/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dlist, doctest, either, filepath, free, lens, mmorph
+, monadControl, mtl, optparseApplicative, randomShuffle, split, stm
+, tagged, tasty, temporary, text, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hcltest";
+  version = "0.3.4";
+  sha256 = "0p8skabp6z4i5xr22qxk1sij2ayla2iqylvlzxfxa8yw1fxs8wsq";
+  buildDepends = [
+    dlist either filepath free lens mmorph monadControl mtl
+    optparseApplicative randomShuffle split stm tagged tasty temporary
+    text transformers transformersBase
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/bennofs/hcltest/";
+    description = "A testing library for command line applications";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hdaemonize/default.nix b/pkgs/development/libraries/haskell/hdaemonize/default.nix
new file mode 100644
index 00000000000..e342773775d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hdaemonize/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, extensibleExceptions, filepath, hsyslog, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "hdaemonize";
+  version = "0.5.0.0";
+  sha256 = "15dyaa9rbmsjp3sg9yxg1i90kfy9rvlzmwg5kl8kwal69ajzjjgv";
+  buildDepends = [ extensibleExceptions filepath hsyslog mtl ];
+  meta = {
+    homepage = "http://github.com/madhadron/hdaemonize";
+    description = "Library to handle the details of writing daemons for UNIX";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hedis/default.nix b/pkgs/development/libraries/haskell/hedis/default.nix
new file mode 100644
index 00000000000..47cf3fee865
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hedis/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, BoundedChan, bytestringLexing, HUnit, mtl
+, network, resourcePool, testFramework, testFrameworkHunit, time
+, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hedis";
+  version = "0.6.5";
+  sha256 = "1kn8i49yxms1bpjwpy4m8vyycgi755zvy4zc66w068nmnd1kiykh";
+  buildDepends = [
+    attoparsec BoundedChan bytestringLexing mtl network resourcePool
+    time vector
+  ];
+  testDepends = [ HUnit mtl testFramework testFrameworkHunit time ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/informatikr/hedis";
+    description = "Client library for the Redis datastore: supports full command set, pipelining";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index b8f709a402c..b1422f616c9 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, directoryTree
 , dlist, errors, filepath, hashable, MonadCatchIOTransformers, mtl
 , random, text, time, transformers, unorderedContainers, vector
@@ -6,13 +8,14 @@
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.13.0.2";
-  sha256 = "0rbzizgrvwj505dk7qyc9ky5vwyaxyj91xz1dsv0mv7cjl9pp17n";
+  version = "0.13.1.2";
+  sha256 = "0c80lf00n3iv55mw4p61bjx14gildvxnvfdaa755ghkg1wcd59s5";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
     filepath hashable MonadCatchIOTransformers mtl random text time
     transformers unorderedContainers vector xmlhtml
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://snapframework.com/";
     description = "An Haskell template system supporting both HTML5 and XML";
diff --git a/pkgs/development/libraries/haskell/heredoc/default.nix b/pkgs/development/libraries/haskell/heredoc/default.nix
new file mode 100644
index 00000000000..13f417c8f98
--- /dev/null
+++ b/pkgs/development/libraries/haskell/heredoc/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "heredoc";
+  version = "0.2.0.0";
+  sha256 = "0h0g2f7yscwl1ba1yn3jnz2drvd6ns9m910hwlmq3kdq3k39y3f9";
+  meta = {
+    homepage = "http://hackage.haskell.org/package/heredoc";
+    description = "multi-line string / here document using QuasiQuotes";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hex/default.nix b/pkgs/development/libraries/haskell/hex/default.nix
new file mode 100644
index 00000000000..235d617e96b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hex/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "hex";
+  version = "0.1.2";
+  sha256 = "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj";
+  meta = {
+    description = "Convert strings into hexadecimal and back";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hexpat/default.nix b/pkgs/development/libraries/haskell/hexpat/default.nix
index 03aa9c16ed2..9e2e6d93f83 100644
--- a/pkgs/development/libraries/haskell/hexpat/default.nix
+++ b/pkgs/development/libraries/haskell/hexpat/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, List, text, transformers, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "hexpat";
-  version = "0.20.4";
-  sha256 = "09ixvwgrr1046v806d23ngdhc8xqkf0yadzlbwxcy228ka13xwdw";
+  version = "0.20.6";
+  sha256 = "02ms6lchj6k0krqjk47bibfb0cbpbc16ip9f22c4rgp04qkzp60b";
   buildDepends = [ deepseq List text transformers utf8String ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/Hexpat/";
diff --git a/pkgs/development/libraries/haskell/hflags/default.nix b/pkgs/development/libraries/haskell/hflags/default.nix
index 04e70183781..019815fd57c 100644
--- a/pkgs/development/libraries/haskell/hflags/default.nix
+++ b/pkgs/development/libraries/haskell/hflags/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
@@ -8,7 +10,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://github.com/errge/hflags";
     description = "Command line flag parser, very similar to Google's gflags";
-    license = "Apache-2.0";
+    license = "unknown";
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hfsevents/default.nix b/pkgs/development/libraries/haskell/hfsevents/default.nix
new file mode 100644
index 00000000000..30ec31e60e2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hfsevents/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "hfsevents";
+  version = "0.1.5";
+  sha256 = "0hp9jjj59smfcs51d9zjhyvgdbn46l0rl0jr98wbzg3qya0vwj5k";
+  buildDepends = [ cereal mtl text ];
+  meta = {
+    homepage = "http://github.com/luite/hfsevents";
+    description = "File/folder watching for OS X";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.stdenv.lib.platforms.darwin;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hgal/default.nix b/pkgs/development/libraries/haskell/hgal/default.nix
new file mode 100644
index 00000000000..a301f935da9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hgal/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "hgal";
+  version = "2.0.0.2";
+  sha256 = "17qw8izy54042g56mp3hdbmqcyk95cdarg58xggniwd85q2l5dpi";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "library for computation automorphism group and canonical labelling of a graph";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hi/default.nix b/pkgs/development/libraries/haskell/hi/default.nix
new file mode 100644
index 00000000000..ba161493109
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hi/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hspec, HUnit, parsec, split, template
+, temporaryRc, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hi";
+  version = "0.0.8.1";
+  sha256 = "14g1yfc6cv89whx6w0di5nayifc0xfvll9h07kkqxaajyfw6s32y";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    filepath parsec split template temporaryRc text time
+  ];
+  testDepends = [
+    filepath hspec HUnit parsec split template temporaryRc text time
+  ];
+  meta = {
+    homepage = "https://github.com/fujimura/hi";
+    description = "Generate scaffold for cabal project";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index e0cab385286..a9540b24950 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -1,18 +1,21 @@
-{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.5";
-  sha256 = "0ypxlsfh9xdpnxp6j7wy7q7ymhmxfgwrqi4c08zwf8xy5sfvahs9";
+  version = "0.5.8.5";
+  sha256 = "0xynbxffjp44189zzqx30wabbrj83mvjl3mj1i5lag1h945yp1nk";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
-  prePatch = "sed -i -e 's|regex-pcre-builtin|regex-pcre|' highlighting-kate.cabal";
+  buildDepends = [
+    blazeHtml filepath mtl parsec regexPcre utf8String
+  ];
+  prePatch = "sed -i -e 's|regex-pcre-builtin >= .*|regex-pcre|' highlighting-kate.cabal";
   meta = {
     homepage = "http://github.com/jgm/highlighting-kate";
     description = "Syntax highlighting";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix
index bd706339c02..5fac7a396ff 100644
--- a/pkgs/development/libraries/haskell/hinotify/default.nix
+++ b/pkgs/development/libraries/haskell/hinotify/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "hinotify";
-  version = "0.3.6";
-  sha256 = "0vzn9z90z9zk7g9pvbrgm6xyb4b5x2dai1c70fvmdi3w4h2x17zw";
+  version = "0.3.7";
+  sha256 = "0i7mxg9ilzcgijda6j3ya5xnpbxa3wm9xswdfif95jim9w82sw0b";
   meta = {
     homepage = "https://github.com/kolmodin/hinotify.git";
     description = "Haskell binding to inotify";
diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix
index 3512bce9611..aacf7c020f8 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -1,20 +1,24 @@
-{ cabal, extensibleExceptions, filepath, ghcMtl, ghcPaths
-, haskellSrc, MonadCatchIOMtl, mtl, random, utf8String
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, extensibleExceptions, filepath, ghcMtl
+, ghcPaths, HUnit, mtl, random, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hint";
-  version = "0.3.3.7";
-  sha256 = "1aba9dfkxlpmvbvllw4qnlrd300vnr0ismkn3kva1pv1cay5pifk";
+  version = "0.4.2.0";
+  sha256 = "08cq9zyyry7cxc30jmsdgrnvw6v2jbxnxcwcjs3bh77rds947mmd";
   buildDepends = [
-    extensibleExceptions filepath ghcMtl ghcPaths haskellSrc
-    MonadCatchIOMtl mtl random utf8String
+    exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random
+    utf8String
+  ];
+  testDepends = [
+    exceptions extensibleExceptions filepath HUnit mtl
   ];
   meta = {
-    homepage = "http://darcsden.com/jcpetruzza/hint";
+    homepage = "http://hub.darcs.net/jcpetruzza/hint";
     description = "Runtime Haskell interpreter (GHC API wrapper)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hit/default.nix b/pkgs/development/libraries/haskell/hit/default.nix
index 9791478d3e8..bf92945d164 100644
--- a/pkgs/development/libraries/haskell/hit/default.nix
+++ b/pkgs/development/libraries/haskell/hit/default.nix
@@ -1,22 +1,24 @@
-{ cabal, attoparsec, blazeBuilder, bytedump, cryptohash, HUnit, mtl
-, parsec, QuickCheck, random, systemFileio, systemFilepath
-, testFramework, testFrameworkQuickcheck2, time, vector, zlib
-, zlibBindings
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, bytedump, cryptohash, hourglass, HUnit, mtl
+, parsec, patience, QuickCheck, random, systemFileio
+, systemFilepath, testFramework, testFrameworkQuickcheck2, vector
+, zlib, zlibBindings
 }:
 
 cabal.mkDerivation (self: {
   pname = "hit";
-  version = "0.5.0";
-  sha256 = "05v49l3k8gwn922d5b5xrzdrakh6bw02bp8hd8yc8163jyazk2vx";
+  version = "0.6.1";
+  sha256 = "175i6gag596dy341jlr5sjj55qcaqgymrcr1czcaigsxsn5yx8b9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    attoparsec blazeBuilder cryptohash mtl parsec random systemFileio
-    systemFilepath time vector zlib zlibBindings
+    attoparsec cryptohash hourglass mtl parsec patience random
+    systemFileio systemFilepath vector zlib zlibBindings
   ];
   testDepends = [
-    bytedump HUnit QuickCheck testFramework testFrameworkQuickcheck2
-    time
+    bytedump hourglass HUnit QuickCheck testFramework
+    testFrameworkQuickcheck2
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hit";
diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix
index 5980141526b..5ee8f2d4f88 100644
--- a/pkgs/development/libraries/haskell/hjsmin/default.nix
+++ b/pkgs/development/libraries/haskell/hjsmin/default.nix
@@ -1,21 +1,28 @@
-{ cabal, blazeBuilder, Cabal, HUnit, languageJavascript, QuickCheck
-, testFramework, testFrameworkHunit, text
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, Cabal, HUnit, languageJavascript
+, optparseApplicative, QuickCheck, testFramework
+, testFrameworkHunit, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "hjsmin";
-  version = "0.1.4.3";
-  sha256 = "1jhpqfvwvzik41i4mi9fr9w1jlrlc1lj2illlbbwg7r3fwr5hnnl";
-  buildDepends = [ blazeBuilder languageJavascript text ];
+  version = "0.1.4.7";
+  sha256 = "1gw9is6piqrqxnrwp8v3vij90icmym58rxqnnklrcjfi3ai7y58f";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeBuilder languageJavascript optparseApplicative text
+  ];
   testDepends = [
     blazeBuilder Cabal HUnit languageJavascript QuickCheck
     testFramework testFrameworkHunit text
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/alanz/hjsmin";
     description = "Haskell implementation of a javascript minifier";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 87d5181fa7d..541b3ceb0dc 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -1,29 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cmdargs, csv, filepath, HUnit, mtl, parsec, prettyShow
-, regexCompat, regexpr, safe, split, testFramework
+, regexpr, regexTdfa, safe, split, testFramework
 , testFrameworkHunit, time, transformers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.21.3";
-  sha256 = "1vvki1dg98f8r9w6gmblazkbin7g2hzifwqd1frb0a3kp869i870";
+  version = "0.23.2";
+  sha256 = "1z9gxbah649r9vzq012mqnk07rfnd6c4ik82klksk0zzd4yxf07d";
   buildDepends = [
-    cmdargs csv filepath HUnit mtl parsec prettyShow regexCompat
-    regexpr safe split time transformers utf8String
+    cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa
+    safe split time transformers utf8String
   ];
   testDepends = [
-    cmdargs csv filepath HUnit mtl parsec prettyShow regexCompat
-    regexpr safe split testFramework testFrameworkHunit time
-    transformers
+    cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa
+    safe split testFramework testFrameworkHunit time transformers
   ];
   meta = {
     homepage = "http://hledger.org";
     description = "Core data types, parsers and utilities for the hledger accounting tool";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger-web/build-fix.patch b/pkgs/development/libraries/haskell/hledger-web/build-fix.patch
new file mode 100644
index 00000000000..45862bf1679
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hledger-web/build-fix.patch
@@ -0,0 +1,47 @@
+Only in hledger-web-0.22.4: dist
+diff -urw hledger-web-0.22.4-orig/Hledger/Web/Main.hs hledger-web-0.22.4/Hledger/Web/Main.hs
+--- hledger-web-0.22.4-orig/Hledger/Web/Main.hs	2014-04-07 13:00:41.168884350 +0200
++++ hledger-web-0.22.4/Hledger/Web/Main.hs	2014-04-07 13:14:46.584599468 +0200
+@@ -15,7 +15,8 @@
+ -- import Yesod.Default.Main   (defaultMain)
+ import Settings            --  (parseExtra)
+ import Application          (makeApplication)
+-import Data.Conduit.Network (HostPreference(HostIPv4))
++import Data.String
++import Data.Conduit.Network
+ import Network.Wai.Handler.Warp (runSettings, defaultSettings, settingsPort)
+ import Network.Wai.Handler.Launch (runUrlPort)
+ --
+@@ -65,7 +66,7 @@
+   app <- makeApplication opts j' AppConfig{appEnv = Development
+                                           ,appPort = p
+                                           ,appRoot = pack u
+-                                          ,appHost = HostIPv4
++                                          ,appHost = fromString "*4"
+                                           ,appExtra = Extra "" Nothing staticRoot
+                                           }
+   if server_ opts
+diff -urw hledger-web-0.22.4-orig/hledger-web.cabal hledger-web-0.22.4/hledger-web.cabal
+--- hledger-web-0.22.4-orig/hledger-web.cabal	2014-04-07 13:00:41.168884350 +0200
++++ hledger-web-0.22.4/hledger-web.cabal	2014-04-07 13:16:26.376772344 +0200
+@@ -128,7 +128,7 @@
+                    , http-conduit
+                    , http-client          >= 0.2 && < 0.3
+                    , HUnit
+-                   , network-conduit
++                   , network-conduit, conduit-extra
+                    , old-locale
+                    , parsec
+                    , regexpr              >= 0.5.1
+@@ -220,7 +220,7 @@
+                    , http-conduit
+                    , http-client          >= 0.2 && < 0.3
+                    , HUnit
+-                   , network-conduit
++                   , network-conduit, conduit-extra
+                    , old-locale
+                    , parsec
+                    , regexpr              >= 0.5.1
+Only in hledger-web-0.22.4: Setup
+Only in hledger-web-0.22.4: Setup.hi
+Only in hledger-web-0.22.4: Setup.o
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index e4dd6ef1faa..70ba12e2398 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -1,6 +1,9 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeHtml, blazeMarkup, clientsession, cmdargs
-, dataDefault, filepath, hamlet, hjsmin, hledger, hledgerLib, hspec
-, httpConduit, HUnit, json, networkConduit, parsec, regexpr, safe
+, conduitExtra, dataDefault, filepath, hamlet, hjsmin, hledger
+, hledgerLib, hspec, httpClient, httpConduit, HUnit, json
+, networkConduit, parsec, regexpr, safe, shakespeare
 , shakespeareText, text, time, transformers, wai, waiExtra
 , waiHandlerLaunch, warp, yaml, yesod, yesodCore, yesodStatic
 , yesodTest
@@ -8,18 +11,19 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.21.3";
-  sha256 = "18gil6qwlzfk0y0f9q1la5np5phi0h3nqlb8rwn9qjjgvs134jgy";
+  version = "0.23.2";
+  sha256 = "1n4n2zj6nqwvwmb6cxr16x2fnmzs7v21snjhq2nnvlik613rnnq7";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    blazeHtml blazeMarkup clientsession cmdargs dataDefault filepath
-    hamlet hjsmin hledger hledgerLib httpConduit HUnit json
-    networkConduit parsec regexpr safe shakespeareText text time
-    transformers wai waiExtra waiHandlerLaunch warp yaml yesod
-    yesodCore yesodStatic
+    blazeHtml blazeMarkup clientsession cmdargs conduitExtra
+    dataDefault filepath hamlet hjsmin hledger hledgerLib httpClient
+    httpConduit HUnit json networkConduit parsec regexpr safe
+    shakespeare shakespeareText text time transformers wai waiExtra
+    waiHandlerLaunch warp yaml yesod yesodCore yesodStatic
   ];
   testDepends = [ hspec yesod yesodTest ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 36012251e07..8ac4d6d2e6b 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -1,32 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cmdargs, csv, filepath, haskeline, hledgerLib, HUnit, mtl
-, parsec, prettyShow, regexCompat, regexpr, safe, shakespeareText
-, split, testFramework, testFrameworkHunit, text, time
-, transformers, utf8String
+, parsec, prettyShow, regexpr, safe, shakespeare, shakespeareText
+, split, tabular, testFramework, testFrameworkHunit, text, time
+, transformers, utf8String, wizards
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.21.3";
-  sha256 = "14j0axlq6xfaih7m6lqpis26ya0yl4v6g6xrqbihmjddvx7j32f2";
+  version = "0.23.2";
+  sha256 = "1q57mb37qkngdvivaj4dykrkg4sb2pchg2ssdxx8ss4zhbsrk713";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cmdargs filepath haskeline hledgerLib HUnit mtl parsec regexpr safe
-    shakespeareText split text time utf8String
+    cmdargs filepath haskeline hledgerLib HUnit mtl parsec prettyShow
+    regexpr safe shakespeare shakespeareText split tabular text time
+    utf8String wizards
   ];
   testDepends = [
     cmdargs csv filepath haskeline hledgerLib HUnit mtl parsec
-    prettyShow regexCompat regexpr safe shakespeareText split
-    testFramework testFrameworkHunit text time transformers
+    prettyShow regexpr safe shakespeare shakespeareText split tabular
+    testFramework testFrameworkHunit text time transformers wizards
   ];
   meta = {
     homepage = "http://hledger.org";
     description = "The main command-line interface for the hledger accounting tool";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hlibgit2/default.nix b/pkgs/development/libraries/haskell/hlibgit2/default.nix
new file mode 100644
index 00000000000..3798d3082a7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hlibgit2/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsDSL, git, openssl, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "hlibgit2";
+  version = "0.18.0.13";
+  sha256 = "1bslg51kkhnwm48kxaad4izq3xmzv6dpqy10a5kh16vr5zy3w5hz";
+  buildDepends = [ bindingsDSL zlib ];
+  testDepends = [ git ];
+  extraLibraries = [ openssl ];
+  meta = {
+    description = "Low-level bindings to libgit2";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hmatrix-special/default.nix b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
new file mode 100644
index 00000000000..4a2153f173e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hmatrix }:
+
+cabal.mkDerivation (self: {
+  pname = "hmatrix-special";
+  version = "0.2.0";
+  sha256 = "0lp8mvagbzayq3r08wgk498n6d9vgb1skb8wzrzi5a1fc5j8m0wj";
+  buildDepends = [ hmatrix ];
+  meta = {
+    homepage = "http://perception.inf.um.es/hmatrix";
+    description = "Interface to GSL special functions";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 0ccdb3c529e..806405208c5 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -1,21 +1,21 @@
-{ cabal, binary, blas, deepseq, gsl, liblapack, random
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, blas, deepseq, liblapack, random, split
 , storableComplex, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.15.0.1";
-  sha256 = "0hm3jnh7lds74zyk2m8i3zcdmsv1jlvplrzlxxr68j1cqwfdxilg";
-  buildDepends = [ binary deepseq random storableComplex vector ];
-  extraLibraries = [ blas gsl liblapack ];
+  version = "0.16.0.4";
+  sha256 = "0n2h7vp8cyr4lm6yv6msvqr87d0dn7fm61p58wy7f230v692j1p4";
+  buildDepends = [
+    binary deepseq random split storableComplex vector
+  ];
+  extraLibraries = [ blas liblapack ];
   meta = {
     homepage = "https://github.com/albertoruiz/hmatrix";
-    description = "Linear algebra and numerical computation";
-    license = "GPL";
+    description = "Numeric Linear Algebra";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.guibert
-    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoauth/default.nix b/pkgs/development/libraries/haskell/hoauth/default.nix
index c568b292c3c..8ccbfad945c 100644
--- a/pkgs/development/libraries/haskell/hoauth/default.nix
+++ b/pkgs/development/libraries/haskell/hoauth/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, cryptoPubkeyTypes, curl, dataenc, entropy, mtl
 , random, RSA, SHA, time, utf8String
 }:
@@ -14,6 +16,7 @@ cabal.mkDerivation (self: {
     description = "A Haskell implementation of OAuth 1.0a protocol.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoauth2/default.nix b/pkgs/development/libraries/haskell/hoauth2/default.nix
new file mode 100644
index 00000000000..e9b0d4bf260
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoauth2/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, bytestringShow, httpConduit, httpTypes
+, monadControl, mtl, random, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoauth2";
+  version = "0.4.1";
+  sha256 = "145lgy9bxx1xdljbkvi6s97n2z1k5fd0idp415r71ydw8h3i8ppx";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson bytestringShow httpConduit httpTypes monadControl mtl random
+    text transformers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/freizl/hoauth2";
+    description = "hoauth2";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/holy-project/default.nix b/pkgs/development/libraries/haskell/holy-project/default.nix
new file mode 100644
index 00000000000..088bbe4d4ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/holy-project/default.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, ansiTerminal, Cabal, filepath, hastache
+, httpConduit, HUnit, lens, QuickCheck, random, smallcheck, split
+, syb, tasty, tastyHunit, tastyQuickcheck, tastySmallcheck, text
+, time
+, fetchpatch}:
+
+cabal.mkDerivation (self: {
+  pname = "holy-project";
+  version = "0.1.1.0";
+  sha256 = "1dsyhgjcp54199zfazzzwsggxpj2dsbzfb64v6l3jz7qaapxnj9i";
+  isLibrary = true;
+  isExecutable = true;
+  patches = [ (fetchpatch { url = "https://github.com/yogsototh/holy-project/pull/3.patch"; sha256 = "1ndyhfrsvn94zxzyq1w4504gz91yfv33375933qmz3wdfkc3rqf0"; }) ];
+  buildDepends = [
+    aeson ansiTerminal Cabal filepath hastache httpConduit HUnit lens
+    QuickCheck random smallcheck split syb tasty tastyHunit
+    tastyQuickcheck tastySmallcheck text time
+  ];
+  testDepends = [
+    Cabal HUnit QuickCheck smallcheck tasty tastyHunit tastyQuickcheck
+    tastySmallcheck
+  ];
+  meta = {
+    homepage = "http://github.com/yogsototh/holy-project";
+    description = "Start your Haskell project with cabal, git and tests";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-builder/default.nix b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
new file mode 100644
index 00000000000..8e74edc8e6a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, doubleConversion, hoodleTypes, lens, strict
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-builder";
+  version = "0.3";
+  sha256 = "0mj58g7kfr5hpqv6idjb24d3gdh25z5x2ym62c6ckm5g3f4x3jm9";
+  buildDepends = [
+    blazeBuilder doubleConversion hoodleTypes lens strict text
+  ];
+  meta = {
+    description = "text builder for hoodle file format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-core/default.nix b/pkgs/development/libraries/haskell/hoodle-core/default.nix
new file mode 100644
index 00000000000..e63b68261d4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-core/default.nix
@@ -0,0 +1,35 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, attoparsec, base64Bytestring, binary
+, cairo, cereal, configurator, coroutineObject, dbus, Diff, dyre
+, either, errors, filepath, fsnotify, gd, gtk, hoodleBuilder
+, hoodleParser, hoodleRender, hoodleTypes, lens, libX11, libXi
+, monadLoops, mtl, network, networkInfo, networkSimple, pango
+, poppler, pureMD5, stm, strict, svgcairo, systemFilepath, text
+, time, transformers, transformersFree, unorderedContainers, uuid
+, vector, xournalParser
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-core";
+  version = "0.14";
+  sha256 = "1njkjxcbnwh9b7mg0xcqkc0clfz64n5h9jqf3323npyw8bhw34b8";
+  buildDepends = [
+    aeson aesonPretty attoparsec base64Bytestring binary cairo cereal
+    configurator coroutineObject dbus Diff dyre either errors filepath
+    fsnotify gd gtk hoodleBuilder hoodleParser hoodleRender hoodleTypes
+    lens monadLoops mtl network networkInfo networkSimple pango poppler
+    pureMD5 stm strict svgcairo systemFilepath text time transformers
+    transformersFree unorderedContainers uuid vector xournalParser
+  ];
+  extraLibraries = [ libX11 libXi ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Core library for hoodle";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-extra/default.nix b/pkgs/development/libraries/haskell/hoodle-extra/default.nix
new file mode 100644
index 00000000000..c26932f1017
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-extra/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, attoparsec, base64Bytestring, binary
+, cmdargs, conduit, either, filepath, hoodleParser, hoodleTypes
+, httpConduit, lens, monadLoops, mtl, networkSimple, pureMD5
+, resourcet, text, time, transformers, unorderedContainers
+, xournalParser
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-extra";
+  version = "0.1";
+  sha256 = "1mqx4qia457n8v4pdyd8mc8h7ybzx5asxm2d4p9ws5g2q4ybmshy";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    aeson aesonPretty attoparsec base64Bytestring binary cmdargs
+    conduit either filepath hoodleParser hoodleTypes httpConduit lens
+    monadLoops mtl networkSimple pureMD5 resourcet text time
+    transformers unorderedContainers xournalParser
+  ];
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "extra hoodle tools";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-parser/default.nix b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
new file mode 100644
index 00000000000..8684a754648
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, either, hoodleTypes, lens, mtl, strict, text
+, transformers, xournalTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-parser";
+  version = "0.3";
+  sha256 = "1ihpmkhjzsf8w4ygljx2agx31xblc0ch4y8m9pwj7rnnjj1sw15i";
+  buildDepends = [
+    attoparsec either hoodleTypes lens mtl strict text transformers
+    xournalTypes
+  ];
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Hoodle file parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-render/default.nix b/pkgs/development/libraries/haskell/hoodle-render/default.nix
new file mode 100644
index 00000000000..71e39022251
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-render/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, cairo, filepath, gd, gtk, hoodleTypes
+, lens, monadLoops, mtl, poppler, stm, strict, svgcairo
+, transformers, unorderedContainers, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-render";
+  version = "0.4";
+  sha256 = "06ds0fzw11a10m927y2jvmgbsjy7cxdpppb6ifxkg173csp92a2d";
+  buildDepends = [
+    base64Bytestring cairo filepath gd gtk hoodleTypes lens monadLoops
+    mtl poppler stm strict svgcairo transformers unorderedContainers
+    uuid
+  ];
+  meta = {
+    description = "Hoodle file renderer";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-types/default.nix b/pkgs/development/libraries/haskell/hoodle-types/default.nix
new file mode 100644
index 00000000000..22bc514e153
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-types/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, lens, mtl, strict, text, uuid }:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-types";
+  version = "0.3";
+  sha256 = "0n9plj6hhsc5482pl7sw4gw7py8r6cn0cl7hg35g2qxdxnzapifm";
+  buildDepends = [ cereal lens mtl strict text uuid ];
+  meta = {
+    description = "Data types for programs for hoodle file format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
index 498e71d06d1..bda89829d68 100644
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ b/pkgs/development/libraries/haskell/hoogle/default.nix
@@ -1,29 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
-, cmdargs, conduit, deepseq, filepath, haskellSrcExts, hspec
-, hspecExpectations, httpTypes, HUnit, parsec, random, safe
-, systemFileio, tagsoup, text, time, transformers, uniplate, wai
-, warp
+, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
+, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
+, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "hoogle";
-  version = "4.2.23";
-  sha256 = "1ykjf0w6c3pzsrzdhxs53nxj84aj2px3gpfc8f53dmgqv3wkyii7";
+  version = "4.2.34";
+  sha256 = "0vldc7s3nq70jxmnxdzlfrlwg0pxw0lq1lcd53klj2ksjkqhm5jg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
-    deepseq filepath haskellSrcExts httpTypes parsec random safe
-    tagsoup text time transformers uniplate wai warp
-  ];
-  testDepends = [
-    conduit hspec hspecExpectations HUnit systemFileio transformers
+    deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
+    resourcet safe shake tagsoup text time transformers uniplate vector
+    vectorAlgorithms wai warp
   ];
+  testDepends = [ filepath ];
+  testTarget = "--test-option=--no-net";
   meta = {
     homepage = "http://www.haskell.org/hoogle/";
     description = "Haskell API Search";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
new file mode 100644
index 00000000000..df507c5a470
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
@@ -0,0 +1,28 @@
+diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs
+index 94b1d48..f41f270 100644
+--- a/src/CmdLine/All.hs
++++ b/src/CmdLine/All.hs
+@@ -86,8 +86,10 @@ guessLocal = do
+     ghc <- findExecutable "ghc"
+     home <- getHomeDirectory
+     lib <- getLibDir
++    path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment
+     let xs = [takeDirectory (takeDirectory lib) </> "doc" {- Windows, installed with Cabal -}  ] ++
+              [takeDirectory (takeDirectory ghc) </> "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++
++             maybeToList path ++
+              [home </> ".cabal/share/doc" {- Linux -} ]
+     filterM doesDirectoryExist xs
+ 
+diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs
+index b037f11..f2ac047 100644
+--- a/src/Hoogle/Language/Haskell.hs
++++ b/src/Hoogle/Language/Haskell.hs
+@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri}
+ 
+ setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x}
+     where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg
+-                 then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file
++                 then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file
+                  else takeDirectory (itemURL pkg) ++ "/" ++ file
+               where file = reps '.' '-' xs ++ ".html"
+ setModuleURL _ _ x = x
diff --git a/pkgs/development/libraries/haskell/hoogle/local.nix b/pkgs/development/libraries/haskell/hoogle/local.nix
new file mode 100644
index 00000000000..490898a75b2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/local.nix
@@ -0,0 +1,123 @@
+# Install not only the Hoogle library and executable, but also a local Hoogle
+# database which provides "Source" links to all specified 'packages' -- or the
+# current Haskell Platform if no custom package set is provided.
+#
+# It is intended to be used in config.nix similarly to:
+#
+# { packageOverrides = pkgs: rec {
+#
+#   haskellPackages =
+#     let callPackage = pkgs.lib.callPackageWith haskellPackages;
+#     in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
+#         extraPrefs = self: {
+#           hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
+#             packages = with pkgs.haskellPackages; [
+#               mmorph
+#               monadControl
+#             ]
+#           };
+#         };
+#       });
+# }}
+#
+# This will build mmorph and monadControl, and have the hoogle installation
+# refer to their documentation via symlink so they are not garbage collected.
+
+{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
+, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
+, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
+, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
+, fetchurl
+
+, parallel, perl, wget, rehoo, haskellPlatform
+, packages ? haskellPlatform.propagatedUserEnvPkgs
+}:
+
+cabal.mkDerivation (self: rec {
+  pname = "hoogle";
+  version = "4.2.32";
+  sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc";
+  isLibrary = true;
+  isExecutable = true;
+  buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs
+    ++ [ parallel perl wget rehoo ] ++ packages;
+  buildDepends = [
+      aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
+      deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
+      resourcet safe shake tagsoup text time transformers uniplate vector
+      vectorAlgorithms wai warp
+    ];
+  testDepends = [ filepath ];
+  testTarget = "--test-option=--no-net";
+
+  # The tests will fail because of the added documentation.
+  doCheck = false;
+  patches = [ ./hoogle-local.diff
+              (fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
+                          sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
+            ];
+
+  docPackages = packages;
+
+  postInstall = ''
+    if [ -z "$docPackages" ]; then
+        echo "ERROR: The packages attribute has not been set"
+        exit 1
+    fi
+
+    mkdir -p $out/share/hoogle/doc
+    export HOOGLE_DOC_PATH=$out/share/hoogle/doc
+
+    cd $out/share/hoogle
+
+    function import_dbs() {
+        find $1 -name '*.txt' \
+            | parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}'
+    }
+
+    for i in $docPackages; do
+        import_dbs $i/share/doc
+        ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \
+            || ln -sf $i/share/doc/* $out/share/hoogle/doc
+    done
+
+    import_dbs ${self.ghc}/share/doc/ghc*/html/libraries
+    ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
+
+    unset http_proxy
+    unset ftp_proxy
+
+    chmod 644 *.hoo *.txt
+    $out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g')
+    PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 .
+
+    rm -fr downloads *.txt *.dep
+    mv default.hoo x || exit 0
+    rm -f *.hoo
+    mv x default.hoo || exit 1
+
+    if [ ! -f default.hoo ]; then
+        echo "Unable to build the default Hoogle database"
+        exit 1
+    fi
+
+    mv $out/bin/hoogle $out/bin/.hoogle-wrapped
+    cat - > $out/bin/hoogle <<EOF
+    #! ${self.stdenv.shell}
+    COMMAND=\$1
+    shift
+    HOOGLE_DOC_PATH=$out/share/hoogle/doc exec $out/bin/.hoogle-wrapped \$COMMAND -d $out/share/hoogle "\$@"
+    EOF
+    chmod +x $out/bin/hoogle
+  '';
+
+  meta = {
+    homepage = "http://www.haskell.org/hoogle/";
+    description = "Haskell API Search";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hopenssl/default.nix b/pkgs/development/libraries/haskell/hopenssl/default.nix
index b65abe6aa3e..c077e7cde20 100644
--- a/pkgs/development/libraries/haskell/hopenssl/default.nix
+++ b/pkgs/development/libraries/haskell/hopenssl/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, openssl }:
 
 cabal.mkDerivation (self: {
@@ -11,9 +13,6 @@ cabal.mkDerivation (self: {
     description = "FFI bindings to OpenSSL's EVP digest interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hostname/default.nix b/pkgs/development/libraries/haskell/hostname/default.nix
index 75886f8daad..2131599c8a6 100644
--- a/pkgs/development/libraries/haskell/hostname/default.nix
+++ b/pkgs/development/libraries/haskell/hostname/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A very simple package providing a cross-platform means of determining the hostname";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hourglass/default.nix b/pkgs/development/libraries/haskell/hourglass/default.nix
new file mode 100644
index 00000000000..5b11121a9ef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hourglass/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, mtl, tasty, tastyHunit, tastyQuickcheck, time }:
+
+cabal.mkDerivation (self: {
+  pname = "hourglass";
+  version = "0.2.2";
+  sha256 = "015ipy9adi67nfddjsw9c0ihn0banghgawjli0lgrmiyjz01610c";
+  buildDepends = [ deepseq ];
+  testDepends = [
+    deepseq mtl tasty tastyHunit tastyQuickcheck time
+  ];
+  meta = {
+    homepage = "https://github.com/vincenthz/hs-hourglass";
+    description = "simple performant time related library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hp2any-core/default.nix b/pkgs/development/libraries/haskell/hp2any-core/default.nix
index 96ac397da79..8fbcd09e887 100644
--- a/pkgs/development/libraries/haskell/hp2any-core/default.nix
+++ b/pkgs/development/libraries/haskell/hp2any-core/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, filepath, network, time }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Heap profiling helper library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hp2any-graph/default.nix b/pkgs/development/libraries/haskell/hp2any-graph/default.nix
index 83369ac008b..aad7c7fdca9 100644
--- a/pkgs/development/libraries/haskell/hp2any-graph/default.nix
+++ b/pkgs/development/libraries/haskell/hp2any-graph/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, freeglut, GLUT, hp2anyCore, mesa, network
 , OpenGL, parseargs
 }:
 
 cabal.mkDerivation (self: {
   pname = "hp2any-graph";
-  version = "0.5.4";
-  sha256 = "1lhp9saw51w09fhk94hz31rjawnnxavd7x3lxjc8xn1778wp3v9h";
+  version = "0.5.4.2";
+  sha256 = "1yj1miqn265pxq2dfhx87s20vjnnxmsl3d9xdy88cbzglpx2v9il";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -17,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Real-time heap graphing utility and profile stream server with a reusable graphing module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix
new file mode 100644
index 00000000000..b12024f5945
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hplayground/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, hasteCompiler, hastePerch, monadsTf
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hplayground";
+  version = "0.1.0.2";
+  sha256 = "13lzw0fhv305zh2ry0d74y5k7vxppjlwsb8vi3iri5zpkkdpfhij";
+  buildDepends = [
+    dataDefault hasteCompiler hastePerch monadsTf transformers
+  ];
+  meta = {
+    homepage = "https://github.com/agocorona/hplayground";
+    description = "a client-side haskell framework that compiles to javascript with the haste compiler";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hs-bibutils/default.nix b/pkgs/development/libraries/haskell/hs-bibutils/default.nix
index adf136cd898..9d7b889746e 100644
--- a/pkgs/development/libraries/haskell/hs-bibutils/default.nix
+++ b/pkgs/development/libraries/haskell/hs-bibutils/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, syb }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Haskell bindings to bibutils, the bibliography conversion utilities";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hscolour/default.nix b/pkgs/development/libraries/haskell/hscolour/default.nix
deleted file mode 100644
index d8bc08b4b33..00000000000
--- a/pkgs/development/libraries/haskell/hscolour/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "hscolour";
-  version = "1.20.3";
-  sha256 = "15ix93sw4p7g5ln2halcgqppdc0i0vmkzcjzxvqzkk9yp9pq3nrs";
-  isLibrary = true;
-  isExecutable = true;
-  meta = {
-    homepage = "http://code.haskell.org/~malcolm/hscolour/";
-    description = "Colourise Haskell code";
-    license = "GPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hsdns/default.nix b/pkgs/development/libraries/haskell/hsdns/default.nix
index 464047d0c61..f58a8077b15 100644
--- a/pkgs/development/libraries/haskell/hsdns/default.nix
+++ b/pkgs/development/libraries/haskell/hsdns/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, adns, network }:
 
 cabal.mkDerivation (self: {
@@ -11,9 +13,6 @@ cabal.mkDerivation (self: {
     description = "Asynchronous DNS Resolver";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hse-cpp/default.nix b/pkgs/development/libraries/haskell/hse-cpp/default.nix
new file mode 100644
index 00000000000..49625acf68c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hse-cpp/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, haskellSrcExts }:
+
+cabal.mkDerivation (self: {
+  pname = "hse-cpp";
+  version = "0.1";
+  sha256 = "0f1bgi1hnpnry1pm7jhi626afdvymzy7k0a70n07n41js46pjxd0";
+  buildDepends = [ cpphs haskellSrcExts ];
+  meta = {
+    description = "Preprocess+parse haskell code";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsemail/default.nix b/pkgs/development/libraries/haskell/hsemail/default.nix
index e9822f75829..2406a9c2e94 100644
--- a/pkgs/development/libraries/haskell/hsemail/default.nix
+++ b/pkgs/development/libraries/haskell/hsemail/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, doctest, hspec, mtl, parsec }:
 
 cabal.mkDerivation (self: {
@@ -11,9 +13,6 @@ cabal.mkDerivation (self: {
     description = "Internet Message Parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix
new file mode 100644
index 00000000000..8f080fe6e25
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsimport/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, cmdargs, dyre, filepath, haskellSrcExts, lens
+, mtl, split, tasty, tastyGolden, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsimport";
+  version = "0.5";
+  sha256 = "18rhldw6vbkjcpx373m784sppadccm2b3xx3zzr0l45dwmsh6rb4";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    attoparsec cmdargs dyre haskellSrcExts lens mtl split text
+  ];
+  testDepends = [ filepath haskellSrcExts tasty tastyGolden ];
+  doCheck = false;
+  meta = {
+    description = "A command line program for extending the import list of a Haskell source file";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsini/default.nix b/pkgs/development/libraries/haskell/hsini/default.nix
new file mode 100644
index 00000000000..5fd6f5afd80
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsini/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, parsec, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsini";
+  version = "0.3.1";
+  sha256 = "06cys4i1nsic13dkp5jgammm3qykzizlnp6wdka2vl699rvnzaaf";
+  buildDepends = [ mtl parsec ];
+  testDepends = [
+    HUnit mtl parsec QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Package for user configuration files (INI)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hslogger-template/default.nix b/pkgs/development/libraries/haskell/hslogger-template/default.nix
index be78bea938c..a2116051cde 100644
--- a/pkgs/development/libraries/haskell/hslogger-template/default.nix
+++ b/pkgs/development/libraries/haskell/hslogger-template/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hslogger, mtl }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Automatic generation of hslogger functions";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hslua/default.nix b/pkgs/development/libraries/haskell/hslua/default.nix
index 0cdd309d81b..e76ff36aab5 100644
--- a/pkgs/development/libraries/haskell/hslua/default.nix
+++ b/pkgs/development/libraries/haskell/hslua/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, lua, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "hslua";
-  version = "0.3.8";
-  sha256 = "1yb23cyb3wj70z8lvk6w2sn13kc17v53fd8m587kb4fpqzpdz44d";
+  version = "0.3.13";
+  sha256 = "02j3hrzq3dgcv4bvf4xz14qxvzlb0vlxrf7lk9wqwdy43b978mz9";
   buildDepends = [ mtl ];
   pkgconfigDepends = [ lua ];
   configureFlags = "-fsystem-lua";
   meta = {
     description = "A Lua language interpreter embedding in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hspec-attoparsec/default.nix b/pkgs/development/libraries/haskell/hspec-attoparsec/default.nix
new file mode 100644
index 00000000000..7b9c9dfd402
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-attoparsec/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, hspec, hspecExpectations, text }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-attoparsec";
+  version = "0.1.0.1";
+  sha256 = "12246p4k0axv6w5jxnid9hyl4cbl3vmd46b7xxli7nq2iw79nl8v";
+  buildDepends = [ attoparsec hspecExpectations text ];
+  testDepends = [ attoparsec hspec hspecExpectations text ];
+  meta = {
+    homepage = "http://github.com/alpmestan/hspec-attoparsec";
+    description = "Utility functions for testing your attoparsec parsers with hspec";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix b/pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix
new file mode 100644
index 00000000000..12ac56702df
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, hspecExpectations, HUnit, lens, silently }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-expectations-lens";
+  version = "0.3.0.0";
+  sha256 = "1v6j4z3gv41jlhbi8ngx7h6d78l1fazvd3bw3c67zsnlgqrvl1x5";
+  buildDepends = [ hspec hspecExpectations HUnit lens ];
+  testDepends = [ hspec lens silently ];
+  meta = {
+    homepage = "http://supki.github.io/hspec-expectations-lens/";
+    description = "Hspec expectations for the lens stuff";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-expectations/default.nix b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
index 789ff5d7b2a..a1267254f1a 100644
--- a/pkgs/development/libraries/haskell/hspec-expectations/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, HUnit, markdownUnlit, silently }:
 
 cabal.mkDerivation (self: {
   pname = "hspec-expectations";
-  version = "0.3.3";
-  sha256 = "0sg7wkgr9qmwv0bki1q8wvl5jrlsvn0c7sd2qpqp3cccdhwj9c5k";
+  version = "0.6.1";
+  sha256 = "0rr1dn39daxi4kqnbz3k21slxpscz939bx16161rr1zp4v7m1lzj";
   buildDepends = [ HUnit ];
   testDepends = [ hspec HUnit markdownUnlit silently ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix
index d409501d706..844b0a52805 100644
--- a/pkgs/development/libraries/haskell/hspec-meta/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix
@@ -1,16 +1,19 @@
-{ cabal, ansiTerminal, deepseq, filepath, hspecExpectations, HUnit
-, QuickCheck, quickcheckIo, random, setenv, time, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, async, deepseq, filepath, hspecExpectations
+, HUnit, QuickCheck, quickcheckIo, random, setenv, tfRandom, time
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec-meta";
-  version = "1.7.2";
-  sha256 = "03ksxx7w61iw3hf055mjb47bjh8srwxpqxs5bxqdqrilfd1cixmj";
+  version = "1.11.3";
+  sha256 = "0cydxq5kgi4cczf6q70853wz3x1ymrf9mkp7rp71yir5vrhg0b8p";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck
-    quickcheckIo random setenv time transformers
+    ansiTerminal async deepseq filepath hspecExpectations HUnit
+    QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix
new file mode 100644
index 00000000000..3170318f540
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonQq, caseInsensitive, doctest, hspec2
+, hspecMeta, httpTypes, markdownUnlit, scotty, text, transformers
+, wai, waiExtra
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-wai";
+  version = "0.3.0";
+  sha256 = "0wkzv406jiyi8ais3g0addm66274y1pvy55gypmnhwx5rp2kr6fb";
+  buildDepends = [
+    aeson aesonQq caseInsensitive hspec2 httpTypes text transformers
+    wai waiExtra
+  ];
+  testDepends = [
+    aeson caseInsensitive doctest hspec2 hspecMeta httpTypes
+    markdownUnlit scotty text transformers wai waiExtra
+  ];
+  meta = {
+    description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix
index 57dab8852fd..98cc9f1b97e 100644
--- a/pkgs/development/libraries/haskell/hspec/default.nix
+++ b/pkgs/development/libraries/haskell/hspec/default.nix
@@ -1,27 +1,29 @@
-{ cabal, ansiTerminal, deepseq, doctest, filepath, ghcPaths
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
 , hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
-, random, setenv, silently, time, transformers
+, random, setenv, silently, tfRandom, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec";
-  version = "1.7.2.1";
-  sha256 = "12khyg6ixk2rkbvxjbi210w57cais1s142v337kpcp3dfk6440bk";
+  version = "1.11.3";
+  sha256 = "0kq2cds8khwq7nl60pvgk8v6s2fizfkpdplc1p0mj8zyr9gyz7i0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck
-    quickcheckIo random setenv time transformers
+    ansiTerminal async deepseq filepath hspecExpectations HUnit
+    QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   testDepends = [
-    ansiTerminal deepseq doctest filepath ghcPaths hspecExpectations
-    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently time
-    transformers
+    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
+    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
+    tfRandom time transformers
   ];
   doCheck = false;
   meta = {
     homepage = "http://hspec.github.io/";
-    description = "Behavior-Driven Development for Haskell";
+    description = "A Testing Framework for Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix
new file mode 100644
index 00000000000..9b57dbd7627
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec2/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
+, hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
+, random, setenv, silently, tfRandom, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hspec2";
+  version = "0.4.1";
+  sha256 = "131w90yy7scxdpz7qa37n1wmyr8gvc5jqdsqkpg8s9pqham96w5v";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal async deepseq filepath hspecExpectations HUnit
+    QuickCheck quickcheckIo random setenv tfRandom time transformers
+  ];
+  testDepends = [
+    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
+    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
+    tfRandom time transformers
+  ];
+  meta = {
+    homepage = "http://hspec.github.io/";
+    description = "Alpha version of Hspec 2.0";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspread/default.nix b/pkgs/development/libraries/haskell/hspread/default.nix
index dbd1a4a0923..975fcb784d8 100644
--- a/pkgs/development/libraries/haskell/hspread/default.nix
+++ b/pkgs/development/libraries/haskell/hspread/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, extensibleExceptions, network }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,7 @@ cabal.mkDerivation (self: {
     description = "A client library for the spread toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsshellscript/default.nix b/pkgs/development/libraries/haskell/hsshellscript/default.nix
index 126a0d316bf..221d3079d2b 100644
--- a/pkgs/development/libraries/haskell/hsshellscript/default.nix
+++ b/pkgs/development/libraries/haskell/hsshellscript/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, c2hs, parsec, random }:
 
 cabal.mkDerivation (self: {
   pname = "hsshellscript";
-  version = "3.3.1";
-  sha256 = "0z3afp3r1j1in03fv2yb5sfbzgcrhdig6gay683bzgh85glwxhlp";
+  version = "3.3.2";
+  sha256 = "0rc78yx82gy7a3dxl1mn9hrj1cqhq51zq6w4nf11rzgn6106zdln";
   buildDepends = [ parsec random ];
   buildTools = [ c2hs ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/hstatsd/default.nix b/pkgs/development/libraries/haskell/hstatsd/default.nix
index 91a6159784a..d19d7b38829 100644
--- a/pkgs/development/libraries/haskell/hstatsd/default.nix
+++ b/pkgs/development/libraries/haskell/hstatsd/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, text }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/hsyslog/default.nix b/pkgs/development/libraries/haskell/hsyslog/default.nix
index 3f475425659..1a5cbd5b8e6 100644
--- a/pkgs/development/libraries/haskell/hsyslog/default.nix
+++ b/pkgs/development/libraries/haskell/hsyslog/default.nix
@@ -1,17 +1,17 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest }:
 
 cabal.mkDerivation (self: {
   pname = "hsyslog";
-  version = "1.5";
-  sha256 = "1dpcawnl3a5lw2w8gc9920sjrw43qmq1k2zws8rx2q0r6ps7nhgp";
+  version = "2.0";
+  sha256 = "02v698grn43bvikqhqiz9ys8x2amngdmhvl3i0ar9203p2x8q3pq";
+  testDepends = [ doctest ];
   meta = {
     homepage = "http://github.com/peti/hsyslog";
-    description = "FFI interface to syslog(3) from POSIX.1-2001.";
+    description = "FFI interface to syslog(3) from POSIX.1-2001";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
index eaf1754b622..4d13846175c 100644
--- a/pkgs/development/libraries/haskell/html-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -1,15 +1,17 @@
-{ cabal, conduit, filesystemConduit, hspec, HUnit, resourcet
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitExtra, hspec, HUnit, resourcet
 , systemFilepath, tagstreamConduit, text, transformers, xmlConduit
 , xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "html-conduit";
-  version = "1.1.0";
-  sha256 = "11mkr7plhbn8kyki0h362habzhsnlb7yrg4ypy48d0l3i7p7vm53";
+  version = "1.1.0.5";
+  sha256 = "1yxvaiklg90fsiv2sfzrr3hp1wjs0fhcg709b24lqm81aryaq2sn";
   buildDepends = [
-    conduit filesystemConduit resourcet systemFilepath tagstreamConduit
-    text transformers xmlConduit xmlTypes
+    conduit conduitExtra resourcet systemFilepath tagstreamConduit text
+    transformers xmlConduit xmlTypes
   ];
   testDepends = [ hspec HUnit xmlConduit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/html/1.0.1.2.nix b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
index de8dc75a5fa..a06b1422bc3 100644
--- a/pkgs/development/libraries/haskell/html/1.0.1.2.nix
+++ b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "HTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/http-attoparsec/default.nix b/pkgs/development/libraries/haskell/http-attoparsec/default.nix
index 9a7ad41de57..233d268e24a 100644
--- a/pkgs/development/libraries/haskell/http-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/http-attoparsec/default.nix
@@ -1,10 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, httpTypes }:
 
 cabal.mkDerivation (self: {
   pname = "http-attoparsec";
-  version = "0.1.0";
-  sha256 = "1ncdjzgb5kv20y9kps4nawvbwaqnfil9g552if638vv8hag8cwq9";
+  version = "0.1.1";
+  sha256 = "12l892fix11mrvm10awwvv31y59q5rb6gb0sqjp6l4p4ym9ngqa3";
   buildDepends = [ attoparsec httpTypes ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/tlaitinen/http-attoparsec";
     description = "Attoparsec parsers for http-types";
diff --git a/pkgs/development/libraries/haskell/http-client-conduit/default.nix b/pkgs/development/libraries/haskell/http-client-conduit/default.nix
new file mode 100644
index 00000000000..60c7b3c6850
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-client-conduit/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, httpClient }:
+
+cabal.mkDerivation (self: {
+  pname = "http-client-conduit";
+  version = "0.3.0";
+  sha256 = "0k2vq9y7kfbkhcsszjr74ahq5nw5z7dbzjhw1ixbigcr56axsd19";
+  buildDepends = [ httpClient ];
+  noHaddock = true;
+  meta = {
+    homepage = "https://github.com/snoyberg/http-client";
+    description = "Frontend support for using http-client with conduit (deprecated)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-client-multipart/default.nix b/pkgs/development/libraries/haskell/http-client-multipart/default.nix
new file mode 100644
index 00000000000..1e51404ebb0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-client-multipart/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, httpClient }:
+
+cabal.mkDerivation (self: {
+  pname = "http-client-multipart";
+  version = "0.3.0.0";
+  sha256 = "18za6s3658hgm95rrygghrz0b643c7nkzaimb14v2hv82w3k9crg";
+  buildDepends = [ httpClient ];
+  noHaddock = true;
+  meta = {
+    homepage = "https://github.com/snoyberg/http-client";
+    description = "Generate multipart uploads for http-client. (deprecated)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-client-tls/default.nix b/pkgs/development/libraries/haskell/http-client-tls/default.nix
new file mode 100644
index 00000000000..ca4dbbe1085
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-client-tls/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, connection, dataDefaultClass, hspec, httpClient, httpTypes
+, network, tls
+}:
+
+cabal.mkDerivation (self: {
+  pname = "http-client-tls";
+  version = "0.2.2";
+  sha256 = "0a01r05h5fxswyn6k6cgqgak4scqjan72hyy5wbdqzzhl4rmh7j5";
+  buildDepends = [
+    connection dataDefaultClass httpClient network tls
+  ];
+  testDepends = [ hspec httpClient httpTypes ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/snoyberg/http-client";
+    description = "http-client backend using the connection package and tls library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
new file mode 100644
index 00000000000..2c3ad6d1141
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, base64Bytestring, blazeBuilder, caseInsensitive
+, cookie, dataDefaultClass, deepseq, exceptions, filepath, hspec
+, httpTypes, mimeTypes, monadControl, network, networkUri
+, publicsuffixlist, random, streamingCommons, text, time
+, transformers, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "http-client";
+  version = "0.3.7.1";
+  sha256 = "0wfmzpjzazk5jr1pbkhkxxa32pd40mgm1p426k5bxjn3gw48r30c";
+  buildDepends = [
+    base64Bytestring blazeBuilder caseInsensitive cookie
+    dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
+    network networkUri publicsuffixlist random streamingCommons text
+    time transformers
+  ];
+  testDepends = [
+    async base64Bytestring blazeBuilder caseInsensitive deepseq hspec
+    httpTypes monadControl network streamingCommons text time
+    transformers zlib
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/snoyberg/http-client";
+    description = "An HTTP client engine, intended as a base layer for more user-friendly packages";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-common/default.nix b/pkgs/development/libraries/haskell/http-common/default.nix
new file mode 100644
index 00000000000..da60083936c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-common/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, blazeBuilder, caseInsensitive, mtl
+, network, text, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "http-common";
+  version = "0.7.1.1";
+  sha256 = "1a0szaqs1halrv4kx57g2hd4vcdhks7pfal0hyq19af2pncaz1h8";
+  buildDepends = [
+    base64Bytestring blazeBuilder caseInsensitive mtl network text
+    transformers unorderedContainers
+  ];
+  meta = {
+    homepage = "http://research.operationaldynamics.com/projects/http-streams/";
+    description = "Common types for HTTP clients and servers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 4d639909d8e..132b9722f74 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -1,37 +1,31 @@
-{ cabal, asn1Data, base64Bytestring, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, certificate, conduit
-, cookie, cprngAes, dataDefault, deepseq, failure, filepath, hspec
-, httpTypes, HUnit, liftedBase, mimeTypes, monadControl, mtl
-, network, networkConduit, publicsuffixlist, random, regexCompat
-, resourcet, socks, text, time, tls, tlsExtra, transformers
-, transformersBase, utf8String, void, wai, warp, zlibConduit
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, caseInsensitive, conduit, conduitExtra
+, connection, cookie, dataDefaultClass, hspec, httpClient
+, httpClientTls, httpTypes, HUnit, liftedBase, monadControl, mtl
+, network, networkConduit, resourcet, streamingCommons, text, time
+, transformers, utf8String, wai, waiConduit, warp, warpTls
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.9.5.1";
-  sha256 = "1a53s5f9p0xnd33midi4pfj6i3nvckb9khn0p3l3v3xvqn5rrgf2";
+  version = "2.1.4";
+  sha256 = "14xfd25y7r2lhg7dx9hfniihgyzhkz4c6642k5pr27fqjjlr6ijb";
   buildDepends = [
-    asn1Data base64Bytestring blazeBuilder blazeBuilderConduit
-    caseInsensitive certificate conduit cookie cprngAes dataDefault
-    deepseq failure filepath httpTypes liftedBase mimeTypes
-    monadControl mtl network publicsuffixlist random regexCompat
-    resourcet socks text time tls tlsExtra transformers
-    transformersBase utf8String void zlibConduit
+    conduit httpClient httpClientTls httpTypes liftedBase monadControl
+    mtl resourcet transformers
   ];
   testDepends = [
-    asn1Data base64Bytestring blazeBuilder blazeBuilderConduit
-    caseInsensitive certificate conduit cookie cprngAes dataDefault
-    deepseq failure filepath hspec httpTypes HUnit liftedBase mimeTypes
-    monadControl mtl network networkConduit publicsuffixlist random
-    regexCompat resourcet socks text time tls tlsExtra transformers
-    transformersBase utf8String void wai warp zlibConduit
+    blazeBuilder caseInsensitive conduit conduitExtra connection cookie
+    dataDefaultClass hspec httpClient httpTypes HUnit liftedBase
+    network networkConduit streamingCommons text time transformers
+    utf8String wai waiConduit warp warpTls
   ];
+  doCheck = false;
   meta = {
     homepage = "http://www.yesodweb.com/book/http-conduit";
     description = "HTTP client package with conduit interface and HTTPS support";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/http-date/default.nix b/pkgs/development/libraries/haskell/http-date/default.nix
index 3571c160f6b..4c1e149225f 100644
--- a/pkgs/development/libraries/haskell/http-date/default.nix
+++ b/pkgs/development/libraries/haskell/http-date/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, doctest, hspec, time }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "HTTP Date parser/formatter";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/http-kit/default.nix b/pkgs/development/libraries/haskell/http-kit/default.nix
new file mode 100644
index 00000000000..63d6d68745c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-kit/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, hspec, httpTypes, QuickCheck
+, quickcheckInstances
+}:
+
+cabal.mkDerivation (self: {
+  pname = "http-kit";
+  version = "0.5.1";
+  sha256 = "1swnvsbaabk946pys9q9kr0bgdvalnznd59dw981sg7cywqdcz28";
+  buildDepends = [ caseInsensitive httpTypes ];
+  testDepends = [ hspec httpTypes QuickCheck quickcheckInstances ];
+  meta = {
+    description = "A low-level HTTP library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
index a4f458f8395..c2316799a03 100644
--- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -1,22 +1,28 @@
-{ cabal, basicPrelude, blazeBuilder, caseInsensitive, conduit
-, dataDefault, hspec, httpConduit, httpTypes, liftedBase
-, monadControl, network, networkConduit, text, transformers, wai
-, waiLogger, warp, word8
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, blazeBuilder, caseInsensitive, conduit
+, conduitExtra, dataDefaultClass, hspec, httpClient, httpConduit
+, httpTypes, liftedBase, monadControl, network, networkConduit
+, resourcet, streamingCommons, text, transformers, wai, waiLogger
+, warp, word8
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-reverse-proxy";
-  version = "0.2.1.1";
-  sha256 = "12hfbl8239ivrqvd5pi1avlcb381q861958qwyf20jc5jpwvjjgj";
+  version = "0.4.0.1";
+  sha256 = "0gygmykxsy6rs3xmwb24s5c3brmabdgxb1w0ak82vyvfvsnqxz1h";
   buildDepends = [
-    basicPrelude blazeBuilder caseInsensitive conduit dataDefault
-    httpConduit httpTypes liftedBase monadControl network
-    networkConduit text wai waiLogger warp word8
+    async blazeBuilder caseInsensitive conduit conduitExtra
+    dataDefaultClass httpClient httpTypes liftedBase monadControl
+    network resourcet streamingCommons text transformers wai waiLogger
+    word8
   ];
   testDepends = [
-    blazeBuilder conduit hspec httpConduit httpTypes liftedBase network
-    networkConduit transformers wai warp
+    blazeBuilder conduit conduitExtra hspec httpConduit httpTypes
+    liftedBase network networkConduit resourcet streamingCommons
+    transformers wai warp
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/fpco/http-reverse-proxy";
     description = "Reverse proxy HTTP requests, either over raw sockets or with WAI";
diff --git a/pkgs/development/libraries/haskell/http-streams/default.nix b/pkgs/development/libraries/haskell/http-streams/default.nix
new file mode 100644
index 00000000000..910851bde34
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-streams/default.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, attoparsec, base64Bytestring
+, blazeBuilder, caseInsensitive, HsOpenSSL, hspec
+, hspecExpectations, httpCommon, HUnit, ioStreams
+, MonadCatchIOTransformers, mtl, network, opensslStreams, snapCore
+, snapServer, systemFileio, systemFilepath, text, transformers
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "http-streams";
+  version = "0.7.2.0";
+  sha256 = "0h7fjnpday34skhafv2v0ybhfv0x915prfb4qa0ld4gm50scsinz";
+  buildDepends = [
+    aeson attoparsec base64Bytestring blazeBuilder caseInsensitive
+    HsOpenSSL httpCommon ioStreams mtl network opensslStreams text
+    transformers unorderedContainers
+  ];
+  testDepends = [
+    aeson aesonPretty attoparsec base64Bytestring blazeBuilder
+    caseInsensitive HsOpenSSL hspec hspecExpectations httpCommon HUnit
+    ioStreams MonadCatchIOTransformers mtl network opensslStreams
+    snapCore snapServer systemFileio systemFilepath text transformers
+    unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://research.operationaldynamics.com/projects/http-streams/";
+    description = "An HTTP client using io-streams";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index c099709e0da..35fa96dd1a5 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -1,16 +1,22 @@
-{ cabal, blazeBuilder, caseInsensitive, hspec, QuickCheck, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, caseInsensitive, doctest, hspec, QuickCheck
+, quickcheckInstances, text
+}:
 
 cabal.mkDerivation (self: {
   pname = "http-types";
-  version = "0.8.2";
-  sha256 = "1536wpmicmq90qvnvcvq1dzk2vfhj7ls6hz4pqp0ll9aksk3msr1";
+  version = "0.8.5";
+  sha256 = "0d282sf3xyk5makhnwfm2k9mgw1fkh07kasmy85fiwjkc1447ciw";
   buildDepends = [ blazeBuilder caseInsensitive text ];
-  testDepends = [ blazeBuilder hspec QuickCheck text ];
+  testDepends = [
+    blazeBuilder doctest hspec QuickCheck quickcheckInstances text
+  ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/aristidb/http-types";
     description = "Generic HTTP types for Haskell (for both client and server code)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/httpd-shed/default.nix b/pkgs/development/libraries/haskell/httpd-shed/default.nix
index d1d3f28b049..bf5ad9217d3 100644
--- a/pkgs/development/libraries/haskell/httpd-shed/default.nix
+++ b/pkgs/development/libraries/haskell/httpd-shed/default.nix
@@ -1,16 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, network }:
 
 cabal.mkDerivation (self: {
   pname = "httpd-shed";
-  version = "0.4";
-  sha256 = "c03f784742bdc3053c7e867e587ee859a9a3adaa082d36bdb2ea69da1b02069f";
+  version = "0.4.0.2";
+  sha256 = "0w37ra59xhk6gqrxpk83m1wmm7mqygcg59y5nl00x279c77qzxj3";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ network ];
+  jailbreak = true;
   meta = {
     description = "A simple web-server with an interact style API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hweblib/default.nix b/pkgs/development/libraries/haskell/hweblib/default.nix
new file mode 100644
index 00000000000..1ce64baa09c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hweblib/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, HUnit, mtl, text, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "hweblib";
+  version = "0.6.3";
+  sha256 = "03dmx5irlsyb3b9zg2r6nz947sslizkn0nlk65ldb5n4m8my33hy";
+  buildDepends = [ attoparsec mtl text transformers ];
+  testDepends = [ attoparsec HUnit mtl transformers ];
+  meta = {
+    homepage = "http://github.com/aycanirican/hweblib";
+    description = "Haskell Web Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
index 500ed430783..ffb298023b7 100644
--- a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Character properties and classes for XML and Unicode";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-http/default.nix b/pkgs/development/libraries/haskell/hxt-http/default.nix
new file mode 100644
index 00000000000..a351b68d3d4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hxt-http/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HTTP, hxt, network, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "hxt-http";
+  version = "9.1.5";
+  sha256 = "172y08zx9q4qvdi7k9hg9qahp6qjs24r663il6fmynaw7szsiib9";
+  buildDepends = [ HTTP hxt network parsec ];
+  meta = {
+    homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+    description = "Interface to native Haskell HTTP package HTTP";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
new file mode 100644
index 00000000000..60b43b0bad4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hxt, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "hxt-pickle-utils";
+  version = "0.1.0.2";
+  sha256 = "06v4935lljcyyx4a5v0z4id3fz4v28aghsrzr94k6diibpnwcdz2";
+  buildDepends = [ hxt mtl ];
+  meta = {
+    homepage = "https://github.com/silkapp/hxt-pickle-utils";
+    description = "Utility functions for using HXT picklers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix b/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
index 879ff0affdc..9f600fd195d 100644
--- a/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hxtCharproperties, parsec }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A regular expression library for W3C XML Schema regular expressions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-tagsoup/default.nix b/pkgs/development/libraries/haskell/hxt-tagsoup/default.nix
new file mode 100644
index 00000000000..efbbb3b4e4b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hxt-tagsoup/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hxt, hxtCharproperties, hxtUnicode, tagsoup }:
+
+cabal.mkDerivation (self: {
+  pname = "hxt-tagsoup";
+  version = "9.1.3";
+  sha256 = "1rp499j6w3h9xfxqyw2fn05ffq3z0wg1r9h2c205m37mb8visq77";
+  buildDepends = [ hxt hxtCharproperties hxtUnicode tagsoup ];
+  meta = {
+    homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+    description = "TagSoup parser for HXT";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hxt-unicode/default.nix b/pkgs/development/libraries/haskell/hxt-unicode/default.nix
index fbe402cea5f..777d4315f52 100644
--- a/pkgs/development/libraries/haskell/hxt-unicode/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-unicode/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hxtCharproperties }:
 
 cabal.mkDerivation (self: {
   pname = "hxt-unicode";
-  version = "9.0.2.1";
-  sha256 = "1ng3qaiwkaav1kmf0yxkm44887xphbx6slva3fskzx0sgkd1v0vp";
+  version = "9.0.2.2";
+  sha256 = "1iljbk7f7d4wkl592bp0vw807683sqdxfnigindkrvr9p1xvwg8r";
   buildDepends = [ hxtCharproperties ];
   meta = {
     homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
     description = "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-xpath/default.nix b/pkgs/development/libraries/haskell/hxt-xpath/default.nix
new file mode 100644
index 00000000000..9176d085859
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hxt-xpath/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hxt, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "hxt-xpath";
+  version = "9.1.2.1";
+  sha256 = "0r9xzxwdqaj0arz9pv6f272dz73m83agbln9q9bclmgqys6l0kr9";
+  buildDepends = [ filepath hxt parsec ];
+  meta = {
+    homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+    description = "The XPath modules for HXT";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 35783c7762e..131a01ed432 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, deepseq, filepath, HUnit, hxtCharproperties
 , hxtRegexXmlschema, hxtUnicode, mtl, network, parsec
 }:
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.1";
-  sha256 = "1x0z85vx49s2b9bgjm14c2152cwr0vzf02rlxrla5dj5g565985y";
+  version = "9.3.1.6";
+  sha256 = "0k2i72ricxwnadagjbzyhfd7nfivay9gbf5f81sagr6j3wgnhz8f";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A collection of tools for processing XML with Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hybrid-vectors/default.nix b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix
new file mode 100644
index 00000000000..ccbc4ed7b11
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, primitive, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "hybrid-vectors";
+  version = "0.1.2";
+  sha256 = "1scx1xr9rqdpxc1kj5zgf8w1ld1mj68hxr3nl1p352wspvpgd3qf";
+  buildDepends = [ deepseq primitive vector ];
+  meta = {
+    homepage = "http://github.com/ekmett/hybrid-vectors";
+    description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/iCalendar/default.nix b/pkgs/development/libraries/haskell/iCalendar/default.nix
new file mode 100644
index 00000000000..33a5ba4bea6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/iCalendar/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, caseInsensitive, dataDefault, mime, mtl
+, network, parsec, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "iCalendar";
+  version = "0.4.0.1";
+  sha256 = "08m47nxxz70lmmndlgycfb27x8xfwakxi8izbba0f6w23ddaljp3";
+  buildDepends = [
+    base64Bytestring caseInsensitive dataDefault mime mtl network
+    parsec text time
+  ];
+  meta = {
+    homepage = "http://github.com/tingtun/iCalendar";
+    description = "iCalendar data types, parser, and printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/idna/default.nix b/pkgs/development/libraries/haskell/idna/default.nix
index 1d5bc92bf6f..a3b1144755d 100644
--- a/pkgs/development/libraries/haskell/idna/default.nix
+++ b/pkgs/development/libraries/haskell/idna/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, punycode, stringprep, text }:
 
 cabal.mkDerivation (self: {
   pname = "idna";
-  version = "0.2";
-  sha256 = "0gl1mn2fjyxdpzl024imspf7hk4xvj9r8mvisqnlkdsng8i5jnyz";
+  version = "0.3.0";
+  sha256 = "04w2mp9wa4mzdz4njx47j081jia8y000b46cw8vmx44fx8gv1zwp";
   buildDepends = [ punycode stringprep text ];
   meta = {
     description = "Implements IDNA (RFC 3490)";
diff --git a/pkgs/development/libraries/haskell/ieee754/default.nix b/pkgs/development/libraries/haskell/ieee754/default.nix
index 6eb5f262516..1dd734af610 100644
--- a/pkgs/development/libraries/haskell/ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/ieee754/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for dealing with IEEE floating point numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/imm/default.nix b/pkgs/development/libraries/haskell/imm/default.nix
new file mode 100644
index 00000000000..5529f27eb5e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/imm/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, caseInsensitive, cond, dataDefault, dyre, feed
+, filepath, hslogger, httpConduit, httpTypes, lens, mimeMail
+, monadControl, mtl, network, opml, random, resourcet, text
+, textIcu, time, timerep, tls, transformers, transformersBase
+, utf8String, xdgBasedir, xml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "imm";
+  version = "0.6.0.2";
+  sha256 = "0bawp8zqpkxig33ybv0yxv6bh51rfhsyp0q7l0lh61gy17rx0gsa";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async caseInsensitive cond dataDefault dyre feed filepath hslogger
+    httpConduit httpTypes lens mimeMail monadControl mtl network opml
+    random resourcet text textIcu time timerep tls transformers
+    transformersBase utf8String xdgBasedir xml
+  ];
+  meta = {
+    description = "Retrieve RSS/Atom feeds and write one mail per new item in a maildir";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/implicit/default.nix b/pkgs/development/libraries/haskell/implicit/default.nix
new file mode 100644
index 00000000000..a2fd8cd438e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/implicit/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, blazeMarkup, blazeSvg, deepseq, filepath
+, JuicyPixels, mtl, optparseApplicative, parallel, parsec
+, storableEndian, text, unorderedContainers, vectorSpace
+}:
+
+cabal.mkDerivation (self: {
+  pname = "implicit";
+  version = "0.0.3";
+  sha256 = "0zsd25gd0c4sp1ipjnsbn1gbdl6s0y2vy8n4nwn3dxgrv75cd1l9";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeBuilder blazeMarkup blazeSvg deepseq filepath JuicyPixels mtl
+    optparseApplicative parallel parsec storableEndian text
+    unorderedContainers vectorSpace
+  ];
+  meta = {
+    homepage = "https://github.com/colah/ImplicitCAD";
+    description = "Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/indents/default.nix b/pkgs/development/libraries/haskell/indents/default.nix
index 84a19f541ee..111268cc9f3 100644
--- a/pkgs/development/libraries/haskell/indents/default.nix
+++ b/pkgs/development/libraries/haskell/indents/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, concatenative, mtl, parsec }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/indexed-free/default.nix b/pkgs/development/libraries/haskell/indexed-free/default.nix
new file mode 100644
index 00000000000..23d2cedaa65
--- /dev/null
+++ b/pkgs/development/libraries/haskell/indexed-free/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, indexed }:
+
+cabal.mkDerivation (self: {
+  pname = "indexed-free";
+  version = "0.3.1";
+  sha256 = "1172vxhyzyf061mnlb8dndnvycjk3shxhiqd8hdz42ipv223admx";
+  buildDepends = [ indexed ];
+  meta = {
+    homepage = "https://github.com/fumieval/indexed-free";
+    description = "indexed monads for free";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/indexed/default.nix b/pkgs/development/libraries/haskell/indexed/default.nix
new file mode 100644
index 00000000000..f38468a834d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/indexed/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "indexed";
+  version = "0.1";
+  sha256 = "1dx5pyi5psjd2l26hc3wfsapnywdl0kqpw98b3jwc0xq4406ax12";
+  meta = {
+    homepage = "https://github.com/reinerp/indexed";
+    description = "Haskell98 indexed functors, monads, comonads";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix
index 61e580b6293..d5c0137a2c6 100644
--- a/pkgs/development/libraries/haskell/instant-generics/default.nix
+++ b/pkgs/development/libraries/haskell/instant-generics/default.nix
@@ -1,15 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, syb }:
 
 cabal.mkDerivation (self: {
   pname = "instant-generics";
-  version = "0.3.7";
-  sha256 = "0kkfx009ij3pwga7x18vr8p0ffhahlp8sb6ykzfh8rhcqd4ryzyv";
+  version = "0.4";
+  sha256 = "14z6135jvmry9b52p21cqnwgp2w0g6frh1fm7z5byph06xls9r7l";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
     description = "Generic programming library with a sum of products view";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/interlude/default.nix b/pkgs/development/libraries/haskell/interlude/default.nix
new file mode 100644
index 00000000000..c4c0ae2a1df
--- /dev/null
+++ b/pkgs/development/libraries/haskell/interlude/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "interlude";
+  version = "0.1.2";
+  sha256 = "1yiv24n0mfjzbpm9p6djllhwck3brjz9adzyp6k4fpk430304k7s";
+  meta = {
+    homepage = "http://malde.org/~ketil/";
+    description = "Replaces some Prelude functions for enhanced error reporting";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/interpolate/default.nix b/pkgs/development/libraries/haskell/interpolate/default.nix
new file mode 100644
index 00000000000..eed6aa835f8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/interpolate/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, haskellSrcMeta, hspec, QuickCheck
+, quickcheckInstances, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "interpolate";
+  version = "0.0.3";
+  sha256 = "05aksslx7mvic3cgw9ixwjp0r759a4gf7m178pbp8xm8dpdksjjw";
+  buildDepends = [ haskellSrcMeta ];
+  testDepends = [
+    doctest haskellSrcMeta hspec QuickCheck quickcheckInstances text
+  ];
+  meta = {
+    description = "String interpolation done right";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix b/pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix
new file mode 100644
index 00000000000..b24a79e62d9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcMeta, text }:
+
+cabal.mkDerivation (self: {
+  pname = "interpolatedstring-perl6";
+  version = "0.9.0";
+  sha256 = "15hzmni3wfdgjl0vyk5mcld61ba99wdax87s7wkz2s8bsyxkbq9n";
+  buildDepends = [ haskellSrcMeta text ];
+  meta = {
+    description = "QuasiQuoter for Perl6-style multi-line interpolated strings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix
index 788962412d7..962f30de8a0 100644
--- a/pkgs/development/libraries/haskell/intervals/default.nix
+++ b/pkgs/development/libraries/haskell/intervals/default.nix
@@ -1,9 +1,13 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, distributive, doctest, filepath }:
 
 cabal.mkDerivation (self: {
   pname = "intervals";
-  version = "0.3";
-  sha256 = "1k8dhhwa6y5hrkm9np9x953bdn3pgk5c2lkl3zgrrmrwmd075422";
+  version = "0.7";
+  sha256 = "00kwq57x72xi5kca7symb98nzs1j82r6bkgvr83aqpvq0ql9ka9d";
+  buildDepends = [ distributive ];
+  testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/intervals";
     description = "Interval Arithmetic";
diff --git a/pkgs/development/libraries/haskell/io-choice/default.nix b/pkgs/development/libraries/haskell/io-choice/default.nix
index 4cceb87c97e..1b145c943dc 100644
--- a/pkgs/development/libraries/haskell/io-choice/default.nix
+++ b/pkgs/development/libraries/haskell/io-choice/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, liftedBase, monadControl, transformers
 , transformersBase
 }:
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Choice for IO and lifted IO";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/io-memoize/default.nix b/pkgs/development/libraries/haskell/io-memoize/default.nix
new file mode 100644
index 00000000000..625d689cd40
--- /dev/null
+++ b/pkgs/development/libraries/haskell/io-memoize/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async }:
+
+cabal.mkDerivation (self: {
+  pname = "io-memoize";
+  version = "1.1.1.0";
+  sha256 = "0ga85wdvz67jjx8qh6f687kfikcrfmp7winn13v6na7vlaqs2ly7";
+  buildDepends = [ async ];
+  meta = {
+    homepage = "https://github.com/DanBurton/io-memoize";
+    description = "Memoize IO actions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/io-storage/default.nix b/pkgs/development/libraries/haskell/io-storage/default.nix
index 32e60325acc..2e944b77586 100644
--- a/pkgs/development/libraries/haskell/io-storage/default.nix
+++ b/pkgs/development/libraries/haskell/io-storage/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A key-value store in the IO monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix
new file mode 100644
index 00000000000..4b5d9bab9be
--- /dev/null
+++ b/pkgs/development/libraries/haskell/io-streams/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, filepath, HUnit, mtl
+, network, primitive, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, text, time, transformers, vector, zlib
+, zlibBindings
+}:
+
+cabal.mkDerivation (self: {
+  pname = "io-streams";
+  version = "1.1.4.6";
+  sha256 = "0vn6vlgfapmyd9y87i9i0y480w8w81xd3lnhh66a6lalskd4bjdw";
+  buildDepends = [
+    attoparsec blazeBuilder network primitive text time transformers
+    vector zlibBindings
+  ];
+  testDepends = [
+    attoparsec blazeBuilder deepseq filepath HUnit mtl network
+    primitive QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time transformers vector zlib
+    zlibBindings
+  ];
+  configureFlags = "-fNoInteractiveTests";
+  meta = {
+    description = "Simple, composable, and easy-to-use stream I/O";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ipprint/default.nix b/pkgs/development/libraries/haskell/ipprint/default.nix
new file mode 100644
index 00000000000..d9037a8229b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ipprint/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Extra, haskellSrc }:
+
+cabal.mkDerivation (self: {
+  pname = "ipprint";
+  version = "0.5";
+  sha256 = "0h75k21blbnzvp5l20qsima557dx6zfrww79y7qsqf04pbd81j7s";
+  buildDepends = [ Extra haskellSrc ];
+  meta = {
+    description = "Tiny helper for pretty-printing values in ghci console";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/iproute/default.nix b/pkgs/development/libraries/haskell/iproute/default.nix
index 045bb64035c..cfb05b9f094 100644
--- a/pkgs/development/libraries/haskell/iproute/default.nix
+++ b/pkgs/development/libraries/haskell/iproute/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, appar, byteorder, doctest, hspec, network, QuickCheck
 , safe
 }:
 
 cabal.mkDerivation (self: {
   pname = "iproute";
-  version = "1.2.11";
-  sha256 = "14f96sb41f5m14186900rz84vwv7idjiylp8m5nsm6gganvh4sh4";
+  version = "1.3.1";
+  sha256 = "1l3asv8q1jiwsvpq6kkigrzpm3pjbm03gpc4rbhn6kpi6z9h8cdp";
   buildDepends = [ appar byteorder network ];
   testDepends = [
     appar byteorder doctest hspec network QuickCheck safe
diff --git a/pkgs/development/libraries/haskell/irc/default.nix b/pkgs/development/libraries/haskell/irc/default.nix
index 89d277d1f40..d7c101c27fb 100644
--- a/pkgs/development/libraries/haskell/irc/default.nix
+++ b/pkgs/development/libraries/haskell/irc/default.nix
@@ -1,14 +1,15 @@
-{ cabal, parsec }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec }:
 
 cabal.mkDerivation (self: {
   pname = "irc";
-  version = "0.5.1.0";
-  sha256 = "1xkgqcjxlxqg60qlv26ypmvf9x288sjz1n47rb7zfvjhdimws8gj";
-  buildDepends = [ parsec ];
+  version = "0.6.0.1";
+  sha256 = "0524phrxjv0i5qabrf4sj0zpcvkdvcivv1lg46591pmvndfhpyn4";
+  buildDepends = [ attoparsec ];
   meta = {
     description = "A small library for parsing IRC messages";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index c4438d97364..e0130f8ae26 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -1,21 +1,27 @@
-{ cabal, ListLike, MonadCatchIOTransformers, monadControl, parallel
-, transformers, transformersBase
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, HUnit, ListLike, monadControl, mtl, parallel
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "iteratee";
-  version = "0.8.9.4";
-  sha256 = "0j8q5i3kf1ld7630z65hj55p2jlhl23f6qjag4zwrhrh38bfr531";
+  version = "0.8.9.6";
+  sha256 = "1yc5fqqb8warvgld3cymka7d2wmjydvfin5jy7zaazb7alf14q1p";
   buildDepends = [
-    ListLike MonadCatchIOTransformers monadControl parallel
-    transformers transformersBase
+    exceptions ListLike monadControl parallel transformers
+    transformersBase
+  ];
+  testDepends = [
+    exceptions HUnit ListLike monadControl mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 transformers
+    transformersBase
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://www.tiresiaspress.us/haskell/iteratee";
     description = "Iteratee-based I/O";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ivor/default.nix b/pkgs/development/libraries/haskell/ivor/default.nix
index d062ec29869..7a80a14853e 100644
--- a/pkgs/development/libraries/haskell/ivor/default.nix
+++ b/pkgs/development/libraries/haskell/ivor/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, mtl, parsec }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Theorem proving library based on dependent type theory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ix-shapable/default.nix b/pkgs/development/libraries/haskell/ix-shapable/default.nix
index 056e308b4ac..965257832e0 100644
--- a/pkgs/development/libraries/haskell/ix-shapable/default.nix
+++ b/pkgs/development/libraries/haskell/ix-shapable/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/ixdopp/default.nix b/pkgs/development/libraries/haskell/ixdopp/default.nix
new file mode 100644
index 00000000000..25b4ebed648
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ixdopp/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, preprocessorTools, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "ixdopp";
+  version = "0.1.3";
+  sha256 = "1vknwznk42b33q4pmh6z620g761yf3cmsmrmhilgq42i5qhll4d4";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ preprocessorTools syb ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/";
+    description = "A preprocessor for expanding \"ixdo\" notation for indexed monads";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ixset/default.nix b/pkgs/development/libraries/haskell/ixset/default.nix
new file mode 100644
index 00000000000..c77950c68f0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ixset/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, safecopy, syb, sybWithClass }:
+
+cabal.mkDerivation (self: {
+  pname = "ixset";
+  version = "1.0.5";
+  sha256 = "1hznn7f8f13x5125n76dchayi16z72050qbwifnkrca54nf9q2ns";
+  buildDepends = [ safecopy syb sybWithClass ];
+  meta = {
+    homepage = "http://happstack.com";
+    description = "Efficient relational queries on Haskell sets";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jack/default.nix b/pkgs/development/libraries/haskell/jack/default.nix
new file mode 100644
index 00000000000..1abb8fd3847
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jack/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, enumset, eventList, explicitException, jack2, midi
+, nonNegative, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jack";
+  version = "0.7.0.3";
+  sha256 = "12ap7xcgzmp5zwmqkwsgxplh5li21m7xngijr4mhnn9y33xc1lrk";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    enumset eventList explicitException midi nonNegative transformers
+  ];
+  pkgconfigDepends = [ jack2 ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/JACK";
+    description = "Bindings for the JACK Audio Connection Kit";
+    license = "GPL";
+    platforms = self.stdenv.lib.platforms.linux;
+    maintainers = with self.stdenv.lib.maintainers; [ ertes ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
new file mode 100644
index 00000000000..f787073f080
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeHtml, happstackServer, jmacro, jmacroRpc, mtl
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro-rpc-happstack";
+  version = "0.3";
+  sha256 = "0z24iqq0nmvm4x4fz4vl1rsccqnaynhmza502im967y7lials9wa";
+  buildDepends = [
+    aeson blazeHtml happstackServer jmacro jmacroRpc mtl
+  ];
+  meta = {
+    homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
+    description = "Happstack backend for jmacro-rpc";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
new file mode 100644
index 00000000000..9ff082e3239
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, jmacro, jmacroRpc, mtl, snapCore }:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro-rpc-snap";
+  version = "0.3";
+  sha256 = "1syzx2lw4r8knsqhsvilp04wb8a718379cmn0nhjqlwhpaja9bj8";
+  buildDepends = [ aeson jmacro jmacroRpc mtl snapCore ];
+  meta = {
+    homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
+    description = "Snap backend for jmacro-rpc";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
new file mode 100644
index 00000000000..d1e302b1bc9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, blazeHtml, contravariant, jmacro, mtl
+, scientific, split, text, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro-rpc";
+  version = "0.3";
+  sha256 = "1fkcky2f51764xcbbwnxpxyhk2mmnp364hf8njfcjsijanv938zw";
+  buildDepends = [
+    aeson attoparsec blazeHtml contravariant jmacro mtl scientific
+    split text unorderedContainers vector
+  ];
+  meta = {
+    homepage = "http://hub.darcs.net/gershomb/jmacro";
+    description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro/default.nix b/pkgs/development/libraries/haskell/jmacro/default.nix
new file mode 100644
index 00000000000..32d4d3747ef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, haskellSrcExts, haskellSrcMeta, mtl, parseargs
+, parsec, regexPosix, safe, syb, text, unorderedContainers, vector
+, wlPprintText
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro";
+  version = "0.6.9";
+  sha256 = "1prplflikryw7scz75rbijn4dl1gdi6589yq5902n26xpaigqsp6";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson haskellSrcExts haskellSrcMeta mtl parseargs parsec regexPosix
+    safe syb text unorderedContainers vector wlPprintText
+  ];
+  meta = {
+    description = "QuasiQuotation library for programmatic generation of Javascript code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jpeg/default.nix b/pkgs/development/libraries/haskell/jpeg/default.nix
index c93aa0411d4..c9a408dc2a0 100644
--- a/pkgs/development/libraries/haskell/jpeg/default.nix
+++ b/pkgs/development/libraries/haskell/jpeg/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "jpeg";
-  version = "0.0.1";
-  sha256 = "848e047cfec5781a28f472e9cd27d016362211d88dd6adb4f826c37d29d8bba6";
+  version = "0.0.1.1";
+  sha256 = "1hnfapr21zpfyiywa4zzmwa518jzg73dnmaakrbvvpcmr4fvh9qx";
   buildDepends = [ mtl ];
   meta = {
     description = "A library for decoding JPEG files written in pure Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/json-assertions/default.nix b/pkgs/development/libraries/haskell/json-assertions/default.nix
new file mode 100644
index 00000000000..fce4d5d7922
--- /dev/null
+++ b/pkgs/development/libraries/haskell/json-assertions/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, indexed, indexedFree, lens, text }:
+
+cabal.mkDerivation (self: {
+  pname = "json-assertions";
+  version = "1.0.4";
+  sha256 = "07qjbbwmph75s8ds1yfy17ww7x2wcc9bpjpv2bq9ggmzllf6g8l5";
+  buildDepends = [ aeson indexed indexedFree lens text ];
+  meta = {
+    homepage = "http://github.com/ocharles/json-assertions.git";
+    description = "Test that your (Aeson) JSON encoding matches your expectations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/json-rpc/default.nix b/pkgs/development/libraries/haskell/json-rpc/default.nix
new file mode 100644
index 00000000000..4bb33b628e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/json-rpc/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, async, conduit, conduitExtra, deepseq, hashable
+, mtl, QuickCheck, stm, stmConduit, testFramework
+, testFrameworkQuickcheck2, text, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "json-rpc";
+  version = "0.2.0.1";
+  sha256 = "0kk2wpgnkdhphf9za2whmn4f6qlly5hzr071bx7xjqwqbpfhwplm";
+  buildDepends = [
+    aeson async conduit conduitExtra deepseq hashable mtl stm
+    stmConduit text unorderedContainers
+  ];
+  testDepends = [
+    aeson async conduit conduitExtra deepseq hashable mtl QuickCheck
+    stm stmConduit testFramework testFrameworkQuickcheck2 text
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "https://github.com/xenog/json-rpc";
+    description = "Fully-featured JSON-RPC 2.0 library";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/json-schema/default.nix b/pkgs/development/libraries/haskell/json-schema/default.nix
new file mode 100644
index 00000000000..4eb40764673
--- /dev/null
+++ b/pkgs/development/libraries/haskell/json-schema/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, genericAeson, genericDeriving, HUnit
+, tagged, tasty, tastyHunit, tastyTh, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "json-schema";
+  version = "0.6.1.1";
+  sha256 = "0hn1v2idra9sx1x5mr511h4qcvnhy7b80fgn58w9856w9cl7d34b";
+  buildDepends = [
+    aeson genericAeson genericDeriving tagged text time
+    unorderedContainers vector
+  ];
+  testDepends = [
+    aeson attoparsec genericAeson HUnit tagged tasty tastyHunit tastyTh
+    text
+  ];
+  meta = {
+    description = "Types and type classes for defining JSON schemas";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/default.nix
index 9a56f412fe2..a709c4a0b2d 100644
--- a/pkgs/development/libraries/haskell/json/default.nix
+++ b/pkgs/development/libraries/haskell/json/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, parsec, syb, text }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Support for serialising Haskell to and from JSON";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jsonTypes/default.nix b/pkgs/development/libraries/haskell/jsonTypes/default.nix
index dd6c3eb058f..2c6323f0bc6 100644
--- a/pkgs/development/libraries/haskell/jsonTypes/default.nix
+++ b/pkgs/development/libraries/haskell/jsonTypes/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Basic types for representing JSON";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/kan-extensions/default.nix b/pkgs/development/libraries/haskell/kan-extensions/default.nix
new file mode 100644
index 00000000000..c0ffaed799d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/kan-extensions/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, adjunctions, comonad, contravariant, distributive, free
+, mtl, pointed, semigroupoids, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "kan-extensions";
+  version = "4.1";
+  sha256 = "1dg9q6rahgvsnsnd76r6a3harrllq3pzz9250cakgqip4n02dji1";
+  buildDepends = [
+    adjunctions comonad contravariant distributive free mtl pointed
+    semigroupoids transformers
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/kan-extensions/";
+    description = "Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/kansas-lava/default.nix b/pkgs/development/libraries/haskell/kansas-lava/default.nix
index 6ae0447b1fe..f81f17a3c27 100644
--- a/pkgs/development/libraries/haskell/kansas-lava/default.nix
+++ b/pkgs/development/libraries/haskell/kansas-lava/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cmdargs, dataDefault, dataReify, dotgen, filepath, netlist
 , netlistToVhdl, random, sizedTypes, strict
 }:
@@ -18,5 +20,6 @@ cabal.mkDerivation (self: {
     description = "Kansas Lava is a hardware simulator and VHDL generator";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/keys/default.nix b/pkgs/development/libraries/haskell/keys/default.nix
index b657f3dd6b9..196da768e06 100644
--- a/pkgs/development/libraries/haskell/keys/default.nix
+++ b/pkgs/development/libraries/haskell/keys/default.nix
@@ -1,12 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad, free, semigroupoids, semigroups, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "keys";
-  version = "3.10";
-  sha256 = "1s2xkzvaqk507wrgabpxli8g8n83arflmdhxq40f7qkvyflhhmyh";
+  version = "3.10.1";
+  sha256 = "007lbpfan5n1cgswsrzc4xjv0kjmjr9vn4lpqm3gwk3lnfpg8i4n";
   buildDepends = [
     comonad free semigroupoids semigroups transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/keys/";
     description = "Keyed functors and containers";
diff --git a/pkgs/development/libraries/haskell/knob/default.nix b/pkgs/development/libraries/haskell/knob/default.nix
index acaf8def004..7ad084e06b7 100644
--- a/pkgs/development/libraries/haskell/knob/default.nix
+++ b/pkgs/development/libraries/haskell/knob/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
index 51db50a75b7..c7261c4eed8 100644
--- a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, haskellSrc, mtl, network, random, regexCompat
 , regexPosix, syb, tagsoup, utf8String, zlib
 }:
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Utility libraries for the advanced IRC bot, Lambdabot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/default.nix b/pkgs/development/libraries/haskell/lambdabot/default.nix
index bbf13bd3fe9..b869c59d131 100644
--- a/pkgs/development/libraries/haskell/lambdabot/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, arrows, binary, brainfuck, dataMemocombinators
 , dependentMap, dependentSum, dependentSumTemplate, dice
 , editDistance, filepath, haskeline, haskellSrcExts, hoogle
@@ -28,6 +30,7 @@ cabal.mkDerivation (self: {
     description = "Lambdabot is a development tool and advanced IRC bot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/wrapper.nix b/pkgs/development/libraries/haskell/lambdabot/wrapper.nix
new file mode 100644
index 00000000000..a29d73fe72f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lambdabot/wrapper.nix
@@ -0,0 +1,16 @@
+{ stdenv, lambdabot, mueval, ghc, makeWrapper }:
+
+stdenv.mkDerivation {
+  name = "lambdabot-wrapper";
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    makeWrapper "${lambdabot}/bin/lambdabot" "$out/bin/lambdabot" \
+      --prefix PATH : "${ghc}/bin:${mueval}/bin"
+  '';
+
+  preferLocalBuild = true;
+
+  meta = lambdabot.meta;
+}
diff --git a/pkgs/development/libraries/haskell/lambdacube-engine/default.nix b/pkgs/development/libraries/haskell/lambdacube-engine/default.nix
index f3c9a8af4ea..62f09047101 100644
--- a/pkgs/development/libraries/haskell/lambdacube-engine/default.nix
+++ b/pkgs/development/libraries/haskell/lambdacube-engine/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, bitmap, bytestringTrie, filepath, mtl, OpenGLRaw
 , stbImage, uulib, vect, vector, vectorAlgorithms, xml, zipArchive
 }:
@@ -15,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "3D rendering engine written entirely in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix
new file mode 100644
index 00000000000..435ffef45c3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, languageCQuote, mainlandPretty }:
+
+cabal.mkDerivation (self: {
+  pname = "language-c-inline";
+  version = "0.6.0.0";
+  sha256 = "08a22sr01kch365p5536fv32rxsfmdd6hkhcq1j7vhchjrsy3f6w";
+  buildDepends = [ filepath languageCQuote mainlandPretty ];
+  testDepends = [ languageCQuote ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/mchakravarty/language-c-inline/";
+    description = "Inline C & Objective-C code in Haskell for language interoperability";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 35d15c0291a..d08a5c7fab9 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex, exceptionMtl, exceptionTransformers, filepath, happy
 , haskellSrcMeta, HUnit, mainlandPretty, mtl, srcloc, syb, symbol
 , testFramework, testFrameworkHunit
@@ -5,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.7.2";
-  sha256 = "01ki78qh39gbd9md3pq783vx2p86gyzhclci7pcppz2rd3man51m";
+  version = "0.8.0";
+  sha256 = "0k171hbwj108azhlwpnvkl0r4n0kg4yg2mxqvg8cpf47i9bigw5g";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
@@ -17,10 +19,9 @@ cabal.mkDerivation (self: {
   buildTools = [ alex happy ];
   jailbreak = true;
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix
index 5b638ea9dab..6562d3fdf26 100644
--- a/pkgs/development/libraries/haskell/language-c/default.nix
+++ b/pkgs/development/libraries/haskell/language-c/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex, filepath, happy, syb }:
 
 cabal.mkDerivation (self: {
   pname = "language-c";
-  version = "0.4.2";
-  sha256 = "07pf4v4n7kvr5inkhs24b7g55pmkk4k5ihi6s5dbc200l01wz133";
+  version = "0.4.5";
+  sha256 = "0q0x1rm74g27ry4jja44hk8z0lqkwnimnxbcy54m2cphaxk7yjk4";
   buildDepends = [ filepath syb ];
   buildTools = [ alex happy ];
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Analysis and generation of C code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-ecmascript/default.nix b/pkgs/development/libraries/haskell/language-ecmascript/default.nix
index 8fc147191ad..f2f77fb9dd3 100644
--- a/pkgs/development/libraries/haskell/language-ecmascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-ecmascript/default.nix
@@ -1,19 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefaultClass, Diff, filepath, HUnit, mtl, parsec
 , QuickCheck, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, uniplate
+, testFrameworkQuickcheck2, testingFeat, uniplate, wlPprint
 }:
 
 cabal.mkDerivation (self: {
   pname = "language-ecmascript";
-  version = "0.15.2";
-  sha256 = "1iszs9f2jryddcz36a6anfyfxpwjhzn49xjqvnd5m6rjdq6y403w";
+  version = "0.16.2";
+  sha256 = "15jvq3wblx67hhvgblqzfdnks6x17hfnivifps5wfs9v1ljkiq1k";
   buildDepends = [
-    dataDefaultClass Diff mtl parsec QuickCheck uniplate
+    dataDefaultClass Diff mtl parsec QuickCheck testingFeat uniplate
+    wlPprint
   ];
   testDepends = [
     dataDefaultClass Diff filepath HUnit mtl parsec QuickCheck
-    testFramework testFrameworkHunit testFrameworkQuickcheck2
+    testFramework testFrameworkHunit testFrameworkQuickcheck2 uniplate
+    wlPprint
   ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://github.com/jswebtools/language-ecmascript";
     description = "JavaScript parser and pretty-printer library";
diff --git a/pkgs/development/libraries/haskell/language-glsl/default.nix b/pkgs/development/libraries/haskell/language-glsl/default.nix
new file mode 100644
index 00000000000..6d983123cb6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-glsl/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, parsec, prettyclass, testFramework
+, testFrameworkHunit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "language-glsl";
+  version = "0.1.1";
+  sha256 = "06dc339a2cddzgjda3nzprgr0v2clbhlpl8j81m04i66bbj2l15y";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ parsec prettyclass ];
+  testDepends = [
+    HUnit parsec prettyclass testFramework testFrameworkHunit
+  ];
+  meta = {
+    description = "GLSL abstract syntax tree, parser, and pretty-printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-haskell-extract/default.nix b/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
index a77040a5578..da190862c01 100644
--- a/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
+++ b/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexPosix }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Module to automatically extract functions from the local code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-java/default.nix b/pkgs/development/libraries/haskell/language-java/default.nix
index e665f5aadde..6811b0db547 100644
--- a/pkgs/development/libraries/haskell/language-java/default.nix
+++ b/pkgs/development/libraries/haskell/language-java/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex, cpphs, filepath, HUnit, mtl, parsec, QuickCheck, syb
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "language-java";
-  version = "0.2.5";
-  sha256 = "1ai6mvzasi8fji4b81nrpy48icf5h25g3kakhpfbzckwf20c9dkd";
+  version = "0.2.6";
+  sha256 = "1rwkc71c77v1lm5vnfkf7wr4lzvkpdylwz8wia40xwyxidq9qv27";
   buildDepends = [ cpphs parsec syb ];
   testDepends = [
     filepath HUnit mtl QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix
index abf8df4f556..166b5bd5c09 100644
--- a/pkgs/development/libraries/haskell/language-javascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-javascript/default.nix
@@ -1,22 +1,23 @@
-{ cabal, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck
 , testFramework, testFrameworkHunit, utf8Light, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "language-javascript";
-  version = "0.5.8";
-  sha256 = "0slwj2bi9v7qjr6ai5dwql7fqgsh8k9k2bzlsq407iacsv0w3b9h";
-  buildDepends = [ blazeBuilder mtl utf8Light utf8String ];
+  version = "0.5.13";
+  sha256 = "0h46wfh5xi3gbiaplx3ikmj7mfcwm1d37i5c9n3qfsmmkac29n2w";
+  buildDepends = [ blazeBuilder mtl utf8String ];
   testDepends = [
     blazeBuilder Cabal HUnit mtl QuickCheck testFramework
     testFrameworkHunit utf8Light utf8String
   ];
-  buildTools = [ happy ];
+  buildTools = [ alex happy ];
   meta = {
     homepage = "http://github.com/alanz/language-javascript";
     description = "Parser for JavaScript";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix
index da0cafb9ba7..d743c7eee3a 100644
--- a/pkgs/development/libraries/haskell/largeword/default.nix
+++ b/pkgs/development/libraries/haskell/largeword/default.nix
@@ -1,20 +1,23 @@
-{ cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, HUnit, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "largeword";
-  version = "1.0.5";
-  sha256 = "0icwqwpn59xd0qfpaihvwz1waax617qqcl05jv9f26sjdr8688dl";
+  version = "1.2.3";
+  sha256 = "1ldcsnnji6p84sn03j17pdcpg7vqn1xrhyn4wys0v5fyy0d383ln";
+  buildDepends = [ binary ];
   testDepends = [
-    HUnit QuickCheck testFramework testFrameworkHunit
+    binary HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/idontgetoutmuch/largeword";
     description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lazysmallcheck/default.nix b/pkgs/development/libraries/haskell/lazysmallcheck/default.nix
index f409d99987d..d38e4528d25 100644
--- a/pkgs/development/libraries/haskell/lazysmallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/lazysmallcheck/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A library for demand-driven testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/leksah/leksah-server.nix b/pkgs/development/libraries/haskell/leksah/leksah-server.nix
deleted file mode 100644
index 1a907a384f1..00000000000
--- a/pkgs/development/libraries/haskell/leksah/leksah-server.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ cabal, attoparsec, attoparsecEnumerator, binary, binaryShared
-, Cabal, deepseq, enumerator, filepath, haddock, hslogger, HUnit
-, ltk, network, parsec, processLeksah, strict, time, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "leksah-server";
-  version = "0.12.1.2";
-  sha256 = "0fzfyq1g1jrfl40nklgvkahlcv32m4gjbcyw52dky2qzc05b0g6m";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    attoparsec attoparsecEnumerator binary binaryShared Cabal deepseq
-    enumerator filepath haddock hslogger ltk network parsec
-    processLeksah strict time transformers
-  ];
-  testDepends = [ enumerator hslogger HUnit transformers ];
-  meta = {
-    homepage = "http://leksah.org";
-    description = "Metadata collection for leksah";
-    license = "GPL";
-    platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/leksah/process-leksah.nix b/pkgs/development/libraries/haskell/leksah/process-leksah.nix
deleted file mode 100644
index b8f0ed37d4c..00000000000
--- a/pkgs/development/libraries/haskell/leksah/process-leksah.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, filepath }:
-
-cabal.mkDerivation (self: {
-  pname = "process-leksah";
-  version = "1.0.1.4";
-  sha256 = "1899ybhnsj22sir2l933lhkk9fpcgjbb4qd6gscnby28qcs5bwbv";
-  buildDepends = [ filepath ];
-  meta = {
-    description = "Process libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/lens-datetime/default.nix b/pkgs/development/libraries/haskell/lens-datetime/default.nix
index 2de451f4177..23084746ea2 100644
--- a/pkgs/development/libraries/haskell/lens-datetime/default.nix
+++ b/pkgs/development/libraries/haskell/lens-datetime/default.nix
@@ -1,12 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, lens, time }:
 
 cabal.mkDerivation (self: {
   pname = "lens-datetime";
-  version = "0.2";
-  sha256 = "0wrs7alz1zfg1xrg04lhz01mrd1gcz2xr8b5mxfdvq94f5m87sdr";
+  version = "0.2.1";
+  sha256 = "1wqks7ynw3njlizdd9hvgrc1xjxcgcfck9ppj1lgg8wr3l2myi72";
   buildDepends = [ lens time ];
   meta = {
-    homepage = "http://github.com/klao/lens-datetime";
+    homepage = "http://github.com/nilcons/lens-datetime";
     description = "Lenses for Data.Time.* types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/lens-family-core/default.nix b/pkgs/development/libraries/haskell/lens-family-core/default.nix
new file mode 100644
index 00000000000..a5c9e65f8a4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lens-family-core/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "lens-family-core";
+  version = "1.1.0";
+  sha256 = "0pvc7iv7y5s3496w7ic9qzdw3l76ldnrg0my0jxi1dyn0vm9xwm3";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "Haskell 98 Lens Families";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index 60aa29ac089..655525e4d59 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -1,25 +1,29 @@
-{ cabal, bifunctors, comonad, contravariant, deepseq, distributive
-, doctest, filepath, genericDeriving, hashable, HUnit
-, MonadCatchIOTransformers, mtl, nats, parallel, profunctors
-, QuickCheck, reflection, semigroupoids, semigroups, simpleReflect
-, split, tagged, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, testFrameworkTh, text, transformers
-, transformersCompat, unorderedContainers, vector, void
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, bifunctors, comonad, contravariant
+, deepseq, distributive, doctest, exceptions, filepath, free
+, genericDeriving, hashable, hlint, HUnit, mtl, nats, parallel
+, primitive, profunctors, QuickCheck, reflection, scientific
+, semigroupoids, semigroups, simpleReflect, split, tagged
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, testFrameworkTh, text, transformers, transformersCompat
+, unorderedContainers, vector, void, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "lens";
-  version = "3.10";
-  sha256 = "086kbd59zlx3ldrxilssxd0gr9izwhcfhg5k6bqzm6gwvysrzq3y";
+  version = "4.3.3";
+  sha256 = "0k7qslnh15xnrj86wwsp0mvz6g363ma4g0dxkmvvg4sa1bxljr1f";
   buildDepends = [
-    bifunctors comonad contravariant distributive filepath
-    genericDeriving hashable MonadCatchIOTransformers mtl parallel
-    profunctors reflection semigroupoids semigroups split tagged text
-    transformers transformersCompat unorderedContainers vector void
+    aeson attoparsec bifunctors comonad contravariant distributive
+    exceptions filepath free hashable mtl parallel primitive
+    profunctors reflection scientific semigroupoids semigroups split
+    tagged text transformers transformersCompat unorderedContainers
+    vector void zlib
   ];
   testDepends = [
-    deepseq doctest filepath genericDeriving HUnit mtl nats parallel
-    QuickCheck semigroups simpleReflect split testFramework
+    deepseq doctest filepath genericDeriving hlint HUnit mtl nats
+    parallel QuickCheck semigroups simpleReflect split testFramework
     testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh text
     transformers unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/lenses/default.nix b/pkgs/development/libraries/haskell/lenses/default.nix
index aa560fbda06..debe3061798 100644
--- a/pkgs/development/libraries/haskell/lenses/default.nix
+++ b/pkgs/development/libraries/haskell/lenses/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
new file mode 100644
index 00000000000..8d4f854a993
--- /dev/null
+++ b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, dataDefault, filepath, leveldb, resourcet
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "leveldb-haskell";
+  version = "0.3.0";
+  sha256 = "0hdxn6v7fzc0wlpkymlci60m2584h6fn78bxdnv2q18ra03r3ygs";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async dataDefault filepath resourcet transformers
+  ];
+  extraLibraries = [ leveldb ];
+  meta = {
+    homepage = "http://github.com/kim/leveldb-haskell";
+    description = "Haskell bindings to LevelDB";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/libffi/default.nix b/pkgs/development/libraries/haskell/libffi/default.nix
index da87fc01bc6..6b5892bce45 100644
--- a/pkgs/development/libraries/haskell/libffi/default.nix
+++ b/pkgs/development/libraries/haskell/libffi/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libffi }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/libjenkins/default.nix b/pkgs/development/libraries/haskell/libjenkins/default.nix
new file mode 100644
index 00000000000..0411cb93063
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libjenkins/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, conduit, doctest, filepath, free, hspec
+, hspecExpectationsLens, httpClient, httpConduit, httpTypes, lens
+, monadControl, network, resourcet, text, transformers, xmlConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "libjenkins";
+  version = "0.4.3.0";
+  sha256 = "18z1yaf1a1ncvflxzv96b35d44933yrmsmxv5dr87iyfry28qbnv";
+  buildDepends = [
+    async conduit free httpClient httpConduit httpTypes lens
+    monadControl network resourcet text transformers xmlConduit
+  ];
+  testDepends = [
+    async conduit doctest filepath free hspec hspecExpectationsLens
+    httpClient httpConduit httpTypes lens monadControl network
+    resourcet text transformers xmlConduit
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    description = "Jenkins API interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch b/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch
new file mode 100644
index 00000000000..fda68fde5f9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch
@@ -0,0 +1,23 @@
+diff -Naur libjenkins-0.4.2.0-orig/libjenkins.cabal libjenkins-0.4.2.0/libjenkins.cabal
+--- libjenkins-0.4.2.0-orig/libjenkins.cabal	2014-02-17 13:11:22.000000000 -0500
++++ libjenkins-0.4.2.0/libjenkins.cabal	2014-04-07 11:40:30.046473593 -0400
+@@ -52,6 +52,7 @@
+     , text          >= 0.11
+     , transformers  >= 0.3
+     , xml-conduit   >= 1.1
++    , resourcet
+ 
+ test-suite doctest
+   default-language:  Haskell2010
+diff -Naur libjenkins-0.4.2.0-orig/src/Jenkins/Rest/Internal.hs libjenkins-0.4.2.0/src/Jenkins/Rest/Internal.hs
+--- libjenkins-0.4.2.0-orig/src/Jenkins/Rest/Internal.hs	2014-02-17 13:11:22.000000000 -0500
++++ libjenkins-0.4.2.0/src/Jenkins/Rest/Internal.hs	2014-04-07 11:40:02.221415450 -0400
+@@ -22,7 +22,7 @@
+ import           Control.Monad.Trans.Reader (ReaderT, runReaderT, ask, local)
+ import           Control.Monad.Trans.Maybe (MaybeT(..), mapMaybeT)
+ import           Data.ByteString.Lazy (ByteString)
+-import           Data.Conduit (ResourceT)
++import           Control.Monad.Trans.Resource (ResourceT)
+ import           Data.Data (Data, Typeable)
+ import           Data.Text (Text)
+ import qualified Data.Text.Encoding as Text
diff --git a/pkgs/development/libraries/haskell/liblastfm/default.nix b/pkgs/development/libraries/haskell/liblastfm/default.nix
index 83f87f7c8b5..176f80048c4 100644
--- a/pkgs/development/libraries/haskell/liblastfm/default.nix
+++ b/pkgs/development/libraries/haskell/liblastfm/default.nix
@@ -1,18 +1,28 @@
-{ cabal, aeson, cereal, contravariant, cryptoApi, httpConduit
-, httpTypes, network, pureMD5, semigroups, text, void
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, cereal, contravariant, cryptoApi, hspec
+, hspecExpectationsLens, httpClient, httpClientTls, HUnit, lens
+, network, profunctors, pureMD5, semigroups, text, void, xmlConduit
+, xmlHtmlConduitLens
 }:
 
 cabal.mkDerivation (self: {
   pname = "liblastfm";
-  version = "0.3.0.0";
-  sha256 = "131p51yi17qfgk8h5b0rx2jyl37w4spafxmlcws1s5pk6bwy75jf";
+  version = "0.4.0.0";
+  sha256 = "0dr1nvb7sxlp1fihvnwz9lyfmaynbj39npah2ndvlgnzz670j0z9";
   buildDepends = [
-    aeson cereal contravariant cryptoApi httpConduit httpTypes network
-    pureMD5 semigroups text void
+    aeson cereal contravariant cryptoApi httpClient httpClientTls
+    network profunctors pureMD5 semigroups text void xmlConduit
+  ];
+  testDepends = [
+    aeson cereal contravariant cryptoApi hspec hspecExpectationsLens
+    httpClient httpClientTls HUnit lens network profunctors pureMD5
+    text void xmlConduit xmlHtmlConduitLens
   ];
   meta = {
     description = "Lastfm API interface";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix
index 7402d6f31db..b54068d924c 100644
--- a/pkgs/development/libraries/haskell/libmpd/default.nix
+++ b/pkgs/development/libraries/haskell/libmpd/default.nix
@@ -1,20 +1,25 @@
-{ cabal, dataDefault, filepath, hspec, HUnit, mtl, network
-, QuickCheck, text, time, utf8String
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, dataDefault, filepath, hspec, HUnit, mtl
+, network, QuickCheck, text, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "libmpd";
-  version = "0.8.0.2";
-  sha256 = "1phlbb5lsapw2hb0db7906ddlmvnpyk1xbgxvl9zp9zfd0sn40aj";
-  buildDepends = [ filepath mtl network text time utf8String ];
+  version = "0.8.0.5";
+  sha256 = "0jxd2xl9imfvb3dz7zqwzx392aw2cb2pl3drx5wkygbywbi5ijhh";
+  buildDepends = [
+    attoparsec dataDefault filepath mtl network text time utf8String
+  ];
   testDepends = [
     dataDefault hspec HUnit mtl network QuickCheck text time utf8String
   ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
-    homepage = "http://github.com/joachifm/libmpd-haskell";
+    homepage = "http://github.com/joachifm/libmpd-haskell#readme";
     description = "An MPD client library";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
new file mode 100644
index 00000000000..1bb1bcacca3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable, hsyslog, pipes, pipesSafe, systemd-journal, text
+, transformers, uniplate, unixBytestring, unorderedContainers, uuid
+, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "libsystemd-journal";
+  version = "1.2.0";
+  sha256 = "10gsqcy5f7m6f0giqhfcqspb17b3gyib4cpw5nrdl7hiah13hi7x";
+  buildDepends = [
+    hashable hsyslog pipes pipesSafe text transformers uniplate
+    unixBytestring unorderedContainers uuid vector
+  ];
+  extraLibraries = [ systemd-journal ];
+  meta = {
+    homepage = "http://github.com/ocharles/libsystemd-journal";
+    description = "Haskell bindings to libsystemd-journal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.stdenv.lib.platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/libxml-sax/default.nix b/pkgs/development/libraries/haskell/libxml-sax/default.nix
index afdd782fe09..43f4e19029b 100644
--- a/pkgs/development/libraries/haskell/libxml-sax/default.nix
+++ b/pkgs/development/libraries/haskell/libxml-sax/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libxml2, text, xmlTypes }:
 
 cabal.mkDerivation (self: {
   pname = "libxml-sax";
-  version = "0.7.4";
-  sha256 = "1vbxrmxxb6a58hd6dd81kz8fh198jkvwv4gxzbbfw44170946c0z";
+  version = "0.7.5";
+  sha256 = "0lbdq6lmiyrnzk6gkx09vvp928wj8qnqnqfzy14mfv0drj21f54r";
   buildDepends = [ text xmlTypes ];
   extraLibraries = [ libxml2 ];
   pkgconfigDepends = [ libxml2 ];
diff --git a/pkgs/development/libraries/haskell/lifted-async/default.nix b/pkgs/development/libraries/haskell/lifted-async/default.nix
new file mode 100644
index 00000000000..04c589b5479
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lifted-async/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, HUnit, liftedBase, monadControl, mtl, tasty
+, tastyHunit, tastyTh, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "lifted-async";
+  version = "0.2.0.1";
+  sha256 = "1x3qdgy0jkqx71xndjh769lw3wrwq63k2kc33pxn6x11yyklcf1j";
+  buildDepends = [ async liftedBase monadControl transformersBase ];
+  testDepends = [
+    async HUnit liftedBase monadControl mtl tasty tastyHunit tastyTh
+  ];
+  meta = {
+    homepage = "https://github.com/maoe/lifted-async";
+    description = "Run lifted IO operations asynchronously and wait for their results";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index dc970925f98..3e4f95521bb 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -1,23 +1,23 @@
-{ cabal, baseUnicodeSymbols, HUnit, monadControl, testFramework
-, testFrameworkHunit, transformers, transformersBase
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, monadControl, testFramework, testFrameworkHunit
+, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.2.1.0";
-  sha256 = "0c4vzyfyjvqv5q8mprgxf9ckibpp5k1zh9k5slmdsd9m1l3pwwqy";
-  buildDepends = [
-    baseUnicodeSymbols monadControl transformersBase
-  ];
+  version = "0.2.3.0";
+  sha256 = "0wbh9l7hsbgvfplxyamvpb8nq6w147zsd2yskylfmpw7kyz6yp9n";
+  buildDepends = [ monadControl transformersBase ];
   testDepends = [
     HUnit monadControl testFramework testFrameworkHunit transformers
     transformersBase
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/basvandijk/lifted-base";
     description = "lifted IO operations from the base library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix
index feeeaed3be5..856b8491690 100644
--- a/pkgs/development/libraries/haskell/linear/default.nix
+++ b/pkgs/development/libraries/haskell/linear/default.nix
@@ -1,26 +1,30 @@
-{ cabal, binary, distributive, doctest, filepath, hashable, HUnit
-, lens, reflection, semigroupoids, semigroups, simpleReflect
-, tagged, testFramework, testFrameworkHunit, transformers
-, unorderedContainers, vector
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, adjunctions, binary, distributive, doctest, filepath
+, hashable, HUnit, lens, reflection, semigroupoids, semigroups
+, simpleReflect, tagged, testFramework, testFrameworkHunit
+, transformers, unorderedContainers, vector, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "linear";
-  version = "1.3.1";
-  sha256 = "1s07qbdi12rc4djk4s0ds5sh79qcqfmgrbwfj1ygskq3ra88qqsa";
+  version = "1.10.1.2";
+  sha256 = "05zbqdcdjq7anng2nymy05wsnk9qpk8mgivqcndbfjpk4l1r9k94";
   buildDepends = [
-    binary distributive hashable reflection semigroupoids semigroups
-    tagged transformers unorderedContainers vector
+    adjunctions binary distributive hashable lens reflection
+    semigroupoids semigroups tagged transformers unorderedContainers
+    vector void
   ];
   testDepends = [
     binary doctest filepath HUnit lens simpleReflect testFramework
     testFrameworkHunit
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/ekmett/linear/";
     description = "Linear Algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/list-tries/default.nix b/pkgs/development/libraries/haskell/list-tries/default.nix
index 4eb91c67a47..f14e202d226 100644
--- a/pkgs/development/libraries/haskell/list-tries/default.nix
+++ b/pkgs/development/libraries/haskell/list-tries/default.nix
@@ -1,12 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, dlist }:
 
 cabal.mkDerivation (self: {
   pname = "list-tries";
-  version = "0.5.1";
-  sha256 = "15lbq41rikj5vm9gfgjxz98pamnib4dcs48fr2vm9r3s3fikd2kz";
+  version = "0.5.2";
+  sha256 = "0lfl35i1k3nnv8q6bhwq4sr197fylin2hmxa4b96kfcc22xfzwy6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary dlist ];
+  jailbreak = true;
   meta = {
     homepage = "http://iki.fi/matti.niemenmaa/list-tries/";
     description = "Tries and Patricia tries: finite sets and maps for list keys";
diff --git a/pkgs/development/libraries/haskell/listExtras/default.nix b/pkgs/development/libraries/haskell/listExtras/default.nix
new file mode 100644
index 00000000000..2da3060202c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/listExtras/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "list-extras";
+  version = "0.4.1.3";
+  sha256 = "16w10xgh2y76q8aj5pgw4zq5p2phjzf5g1bmkacrm8gbwkp4v71s";
+  meta = {
+    homepage = "http://code.haskell.org/~wren/";
+    description = "Common not-so-common functions for lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lists/default.nix b/pkgs/development/libraries/haskell/lists/default.nix
new file mode 100644
index 00000000000..358d33e35d7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lists/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, listExtras, split }:
+
+cabal.mkDerivation (self: {
+  pname = "lists";
+  version = "0.4.2";
+  sha256 = "0qjziksh6gl6v8rzvqajkcbakbby5j3i4z2jk6w6zs89b93rwnln";
+  buildDepends = [ listExtras split ];
+  meta = {
+    description = "Functions for dealing with lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
new file mode 100644
index 00000000000..37b6d6b60c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general-pure";
+  version = "3.3.8.2";
+  sha256 = "171mp9rydw6r2khcmvkcfjk934ckfahwyx1b4a15gmj8sr1s9hzp";
+  buildDepends = [ mtl parsec setenv transformers ];
+  testDepends = [
+    HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    description = "Pure Haskell LLVM functionality (no FFI)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix
new file mode 100644
index 00000000000..c8601d844ca
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general-pure";
+  version = "3.4.2.2";
+  sha256 = "0grbw0lamp0w4jzxg97jccl3jqdgqfgldpb4llvhr1l70591b0s8";
+  buildDepends = [ mtl parsec setenv transformers ];
+  testDepends = [
+    HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    description = "Pure Haskell LLVM functionality (no FFI)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/default.nix b/pkgs/development/libraries/haskell/llvm-general-pure/default.nix
deleted file mode 100644
index 0a8f455d971..00000000000
--- a/pkgs/development/libraries/haskell/llvm-general-pure/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general-pure";
-  version = "3.3.8.2";
-  sha256 = "171mp9rydw6r2khcmvkcfjk934ckfahwyx1b4a15gmj8sr1s9hzp";
-  buildDepends = [ mtl parsec setenv transformers ];
-  testDepends = [
-    HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    description = "Pure Haskell LLVM functionality (no FFI)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
new file mode 100644
index 00000000000..4669358ccbf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec
+, QuickCheck, setenv, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, transformers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general";
+  version = "3.3.8.2";
+  sha256 = "11qnvpnx4i8mjdgn5y58rl70wf8pzmd555hrdaki1f4q0035cmm5";
+  buildDepends = [
+    llvmGeneralPure mtl parsec setenv transformers utf8String
+  ];
+  testDepends = [
+    HUnit llvmGeneralPure mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  buildTools = [ llvmConfig ];
+  doCheck = false;
+  meta = {
+    description = "General purpose LLVM bindings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix
new file mode 100644
index 00000000000..25993bb9fd0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec
+, QuickCheck, setenv, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, transformers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general";
+  version = "3.4.2.2";
+  sha256 = "1dqdvv8pslblavyi14xy0bgrr1ca8d1jqp60x16zgbzkk3f2jx6a";
+  buildDepends = [
+    llvmGeneralPure mtl parsec setenv transformers utf8String
+  ];
+  testDepends = [
+    HUnit llvmGeneralPure mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  buildTools = [ llvmConfig ];
+  doCheck = false;
+  meta = {
+    description = "General purpose LLVM bindings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general/default.nix b/pkgs/development/libraries/haskell/llvm-general/default.nix
deleted file mode 100644
index 2eb0a2c5d20..00000000000
--- a/pkgs/development/libraries/haskell/llvm-general/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec
-, QuickCheck, setenv, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, transformers, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general";
-  version = "3.3.8.2";
-  sha256 = "11qnvpnx4i8mjdgn5y58rl70wf8pzmd555hrdaki1f4q0035cmm5";
-  buildDepends = [
-    llvmGeneralPure mtl parsec setenv transformers utf8String
-  ];
-  testDepends = [
-    HUnit llvmGeneralPure mtl QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  buildTools = [ llvmConfig ];
-  doCheck = false;
-  meta = {
-    description = "General purpose LLVM bindings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/loch-th/default.nix b/pkgs/development/libraries/haskell/loch-th/default.nix
new file mode 100644
index 00000000000..5061524708b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/loch-th/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "loch-th";
+  version = "0.2.1";
+  sha256 = "1kfrjsgzq6wl749n2wm1fhwwigjxcd9lww7whiwjrbmhiz5ism3p";
+  meta = {
+    homepage = "https://github.com/liskin/loch-th";
+    description = "Support for precise error locations in source files (Template Haskell version)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lockfree-queue/default.nix b/pkgs/development/libraries/haskell/lockfree-queue/default.nix
index ac2114b7f37..6864d4c5fc4 100644
--- a/pkgs/development/libraries/haskell/lockfree-queue/default.nix
+++ b/pkgs/development/libraries/haskell/lockfree-queue/default.nix
@@ -1,20 +1,24 @@
-{ cabal, abstractDeque, atomicPrimops, HUnit, IORefCAS
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, abstractDeque, abstractDequeTests, atomicPrimops, HUnit
 , testFramework, testFrameworkHunit
 }:
 
 cabal.mkDerivation (self: {
   pname = "lockfree-queue";
-  version = "0.2.0.2";
-  sha256 = "0mb07hx4cllnxv7mz19vvn9zcc5rx0ji5wv80fx0yirgk2qjpgml";
-  buildDepends = [ abstractDeque atomicPrimops IORefCAS ];
+  version = "0.2.3";
+  sha256 = "0y8ax6vcjnjm8g7ybn95wca74hm0g22fvgra06vj6l90pl93awyg";
+  buildDepends = [ abstractDeque atomicPrimops ];
   testDepends = [
-    abstractDeque atomicPrimops HUnit IORefCAS testFramework
+    abstractDeque abstractDequeTests atomicPrimops HUnit testFramework
     testFrameworkHunit
   ];
   meta = {
-    homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
+    homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
     description = "Michael and Scott lock-free queues";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/logfloat/default.nix b/pkgs/development/libraries/haskell/logfloat/default.nix
index 3088004d0a8..e24fd10beb6 100644
--- a/pkgs/development/libraries/haskell/logfloat/default.nix
+++ b/pkgs/development/libraries/haskell/logfloat/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Log-domain floating point numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/logging/default.nix b/pkgs/development/libraries/haskell/logging/default.nix
new file mode 100644
index 00000000000..83ee93f8463
--- /dev/null
+++ b/pkgs/development/libraries/haskell/logging/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, fastLogger, hspec, liftedBase, monadControl
+, monadLogger, pcreLight, text, time, transformers, vectorSpace
+}:
+
+cabal.mkDerivation (self: {
+  pname = "logging";
+  version = "1.4.1";
+  sha256 = "15mhpafv797f8aifjyjb5nc0fkd7if7bvx5hx9mzxycdzlk28gfp";
+  buildDepends = [
+    binary fastLogger liftedBase monadControl monadLogger pcreLight
+    text time transformers vectorSpace
+  ];
+  testDepends = [ hspec monadLogger ];
+  meta = {
+    description = "Simplified logging in IO for application writers";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/logict/default.nix b/pkgs/development/libraries/haskell/logict/default.nix
index 9dc4b58797f..1a51d623557 100644
--- a/pkgs/development/libraries/haskell/logict/default.nix
+++ b/pkgs/development/libraries/haskell/logict/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "logict";
-  version = "0.6.0.1";
-  sha256 = "0sznrnx7l5sqnyvc2xwx1q33b4833qsnhppm06a3scp9gj3y1xp2";
+  version = "0.6.0.2";
+  sha256 = "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi";
   buildDepends = [ mtl ];
   meta = {
-    homepage = "http://code.haskell.org/~dolio/logict";
+    homepage = "http://code.haskell.org/~dolio/";
     description = "A backtracking logic-programming monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/loop/default.nix b/pkgs/development/libraries/haskell/loop/default.nix
new file mode 100644
index 00000000000..88edb1909a5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/loop/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "loop";
+  version = "0.2.0";
+  sha256 = "11ifqahlg9ky5klid1fhsyfvfb6w8yb0dsy43s0cxcmldbw3qv5x";
+  testDepends = [ hspec mtl ];
+  meta = {
+    homepage = "https://github.com/nh2/loop";
+    description = "Fast loops (for when GHC can't optimize forM_)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lrucache/default.nix b/pkgs/development/libraries/haskell/lrucache/default.nix
index 2d494f4a896..6c28b6c8cd5 100644
--- a/pkgs/development/libraries/haskell/lrucache/default.nix
+++ b/pkgs/development/libraries/haskell/lrucache/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "lrucache";
-  version = "1.1.1.3";
-  sha256 = "1djjxlyfrk3wpgc4h6xljpray09v7lc956202k9bxra24vj5f1lm";
+  version = "1.1.1.4";
+  sha256 = "0w3b338wsf7c0acjxxfdjxsljfpsix67aihkl2jwnp5x71awf8qh";
   meta = {
     homepage = "http://github.com/chowells79/lrucache";
     description = "a simple, pure LRU cache";
diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix
deleted file mode 100644
index 7960395eb09..00000000000
--- a/pkgs/development/libraries/haskell/ltk/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, Cabal, filepath, glib, gtk, mtl, parsec, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "ltk";
-  version = "0.12.1.0";
-  sha256 = "12x6nba5bll8fgzpxii1cf87j27jk4mn5gf1bx4ahd9v30h1a0h6";
-  buildDepends = [ Cabal filepath glib gtk mtl parsec transformers ];
-  meta = {
-    homepage = "http://www.leksah.org";
-    description = "Leksah tool kit";
-    license = "GPL";
-    platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/lushtags/default.nix b/pkgs/development/libraries/haskell/lushtags/default.nix
new file mode 100644
index 00000000000..f7f8997480a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lushtags/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcExts, text, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "lushtags";
+  version = "0.0.1";
+  sha256 = "0325c064nsczypapvwdchx7x5n69jxjbyjs90ah7q5ydxbjl6w9c";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrcExts text vector ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/bitc/lushtags";
+    description = "Create ctags compatible tags files for Haskell programs";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lzma-enumerator/default.nix b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
new file mode 100644
index 00000000000..34604a6fc66
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsDSL, enumerator, HUnit, lzma, mtl, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "lzma-enumerator";
+  version = "0.1.3";
+  sha256 = "0pzz8bf6310p23pmsa013i8vib0xsfvlkj7zp0w9xs2xsi4j7jk1";
+  buildDepends = [ bindingsDSL enumerator mtl ];
+  testDepends = [
+    enumerator HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  extraLibraries = [ lzma ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/alphaHeavy/lzma-enumerator";
+    description = "Enumerator interface for lzma/xz compression";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/maccatcher/default.nix b/pkgs/development/libraries/haskell/maccatcher/default.nix
index 6109f33f82f..24be1424c99 100644
--- a/pkgs/development/libraries/haskell/maccatcher/default.nix
+++ b/pkgs/development/libraries/haskell/maccatcher/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, parsec }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/machines/default.nix b/pkgs/development/libraries/haskell/machines/default.nix
new file mode 100644
index 00000000000..1b391739c20
--- /dev/null
+++ b/pkgs/development/libraries/haskell/machines/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, doctest, filepath, free, mtl, pointed
+, profunctors, semigroups, transformers, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "machines";
+  version = "0.2.5";
+  sha256 = "0745lhmfwq27nna517q7b82q59pda587wgh6840nw65syaj2qfhp";
+  buildDepends = [
+    comonad free mtl pointed profunctors semigroups transformers void
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/ekmett/machines/";
+    description = "Networked stream transducers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mainland-pretty/default.nix b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
index 2bcf2037cbe..8bd0f2dfc21 100644
--- a/pkgs/development/libraries/haskell/mainland-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, srcloc, text }:
 
 cabal.mkDerivation (self: {
   pname = "mainland-pretty";
-  version = "0.2.6";
-  sha256 = "1mjw79jg0vq8qvgvjdinidw1pvfj3mych3z0f6g031vmqz7fqvzy";
+  version = "0.2.7";
+  sha256 = "1g4s2xscj6dpkcghs5lws658ki0rhriivpdr5ilcycvr28k3l35q";
   buildDepends = [ srcloc text ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
     description = "Pretty printing designed for printing source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/markdown-unlit/default.nix b/pkgs/development/libraries/haskell/markdown-unlit/default.nix
index 06c1b9e2fca..226a4efa8c7 100644
--- a/pkgs/development/libraries/haskell/markdown-unlit/default.nix
+++ b/pkgs/development/libraries/haskell/markdown-unlit/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, QuickCheck, silently, stringbuilder }:
 
 cabal.mkDerivation (self: {
@@ -7,6 +9,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   testDepends = [ hspec QuickCheck silently stringbuilder ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4";
   meta = {
     description = "Literate Haskell support for Markdown";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/markov-chain/default.nix b/pkgs/development/libraries/haskell/markov-chain/default.nix
new file mode 100644
index 00000000000..00f283208c6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/markov-chain/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "markov-chain";
+  version = "0.0.3.3";
+  sha256 = "1y9fjsf6dg6a9ha75w2szq4gi5fhq89l1r7wqb20hmadkcjjplx8";
+  buildDepends = [ random transformers ];
+  meta = {
+    homepage = "http://code.haskell.org/~thielema/markov-chain/";
+    description = "Markov Chains for generating random sequences with a user definable behaviour";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix
index 8180c8bce75..2e747760cc7 100644
--- a/pkgs/development/libraries/haskell/math-functions/default.nix
+++ b/pkgs/development/libraries/haskell/math-functions/default.nix
@@ -1,21 +1,24 @@
-{ cabal, erf, HUnit, ieee754, QuickCheck, testFramework
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, erf, HUnit, ieee754, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2, vector
+, vectorThUnbox
 }:
 
 cabal.mkDerivation (self: {
   pname = "math-functions";
-  version = "0.1.4.0";
-  sha256 = "1cijm224gfvd7rvrrndcks8d7aj89c9qv0m4wx2qqngr7rk78kav";
-  buildDepends = [ erf vector ];
+  version = "0.1.5.2";
+  sha256 = "12cznf7gwia1ki7xhvlhk5p8d09zrdvfgn07pkp4sfrwsc4vijcy";
+  buildDepends = [ deepseq erf vector vectorThUnbox ];
   testDepends = [
     HUnit ieee754 QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2 vector
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/bos/math-functions";
     description = "Special functions and Chebyshev polynomials";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/matrix/default.nix b/pkgs/development/libraries/haskell/matrix/default.nix
new file mode 100644
index 00000000000..2d1ec8aa45f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/matrix/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, loop, primitive, QuickCheck, tasty
+, tastyQuickcheck, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "matrix";
+  version = "0.3.4.0";
+  sha256 = "16a633llf7nh70s92cn8i8sdish9vryy4xh62rimvmn91ivvjay1";
+  buildDepends = [ deepseq loop primitive vector ];
+  testDepends = [ QuickCheck tasty tastyQuickcheck ];
+  meta = {
+    description = "A native implementation of matrix operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/maude/default.nix b/pkgs/development/libraries/haskell/maude/default.nix
index 84f0d83a924..ff95fe0a23b 100644
--- a/pkgs/development/libraries/haskell/maude/default.nix
+++ b/pkgs/development/libraries/haskell/maude/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, processExtras, temporary, text, xml }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "An interface to the Maude rewriting system";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
index 590290e76c3..f17b0df4ad1 100644
--- a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
+++ b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
   pname = "mersenne-random-pure64";
-  version = "0.2.0.3";
-  sha256 = "0cyjfdl17n5al04vliykx0m7zncqh3201vn9b9fqfqqpmm61grqz";
+  version = "0.2.0.4";
+  sha256 = "0qh72ynfg1k4c70qxdzsa6f1x9wyxil2d9gi85c879wrc41k899h";
   buildDepends = [ random ];
   meta = {
     homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
     description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/midi/default.nix b/pkgs/development/libraries/haskell/midi/default.nix
new file mode 100644
index 00000000000..864d3c5c427
--- /dev/null
+++ b/pkgs/development/libraries/haskell/midi/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, eventList, explicitException, monoidTransformer
+, nonNegative, QuickCheck, random, transformers, utilityHt
+}:
+
+cabal.mkDerivation (self: {
+  pname = "midi";
+  version = "0.2.1.3";
+  sha256 = "0mqf6q7686zdxljkz3bqa2zhkgirqz5c1fkbd3n4wyipzhjc773a";
+  buildDepends = [
+    binary eventList explicitException monoidTransformer nonNegative
+    QuickCheck random transformers utilityHt
+  ];
+  testDepends = [
+    eventList explicitException nonNegative QuickCheck transformers
+    utilityHt
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/MIDI";
+    description = "Handling of MIDI messages and files";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index 691029ac5de..532ef28d9b7 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -1,20 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, blazeBuilder, filepath, hspec, random
-, text
+, sendmail ? "sendmail", text
 }:
 
 cabal.mkDerivation (self: {
   pname = "mime-mail";
-  version = "0.4.2.1";
-  sha256 = "1rpxx90k4dgz1b5ss6vqqgd9n1hjrv09q20myy16zzlj1gmn8k3g";
+  version = "0.4.5.2";
+  sha256 = "0s5fj20n3lc2hn1mqpsvai63pgrl7vhqv26psdzqdwl70w9c04zf";
   buildDepends = [
     base64Bytestring blazeBuilder filepath random text
   ];
   testDepends = [ blazeBuilder hspec text ];
+  configureFlags = "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"${sendmail}\"";
   meta = {
     homepage = "http://github.com/snoyberg/mime-mail";
     description = "Compose MIME email messages";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mime-types/default.nix b/pkgs/development/libraries/haskell/mime-types/default.nix
index 5dd5f65c9e7..daf6cc37b6f 100644
--- a/pkgs/development/libraries/haskell/mime-types/default.nix
+++ b/pkgs/development/libraries/haskell/mime-types/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
   pname = "mime-types";
-  version = "0.1.0.3";
-  sha256 = "0mzhkqcjlnrs9mwn2crsr1m2mf6pgygs1s3ks8akz1618v6jm6y1";
+  version = "0.1.0.4";
+  sha256 = "0bxhkwz8p7mhg5kspbpc5zm4k50pc0r5pzjr6807y88x8vjpvj2x";
   buildDepends = [ text ];
   meta = {
     homepage = "https://github.com/yesodweb/wai";
     description = "Basic mime-type handling types and functions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mime/default.nix b/pkgs/development/libraries/haskell/mime/default.nix
new file mode 100644
index 00000000000..eba24ff8f16
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mime/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, text }:
+
+cabal.mkDerivation (self: {
+  pname = "mime";
+  version = "0.4.0.1";
+  sha256 = "1m987sqnns54qbsg68332mnrjkh71z6s83cma2kwavf0y305mrp0";
+  buildDepends = [ text ];
+  meta = {
+    homepage = "https://github.com/GaloisInc/mime";
+    description = "Working with MIME types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/minimorph/default.nix b/pkgs/development/libraries/haskell/minimorph/default.nix
index 06dcfaa1139..c0593855644 100644
--- a/pkgs/development/libraries/haskell/minimorph/default.nix
+++ b/pkgs/development/libraries/haskell/minimorph/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, testFramework, testFrameworkHunit, text }:
 
 cabal.mkDerivation (self: {
   pname = "minimorph";
-  version = "0.1.4.0";
-  sha256 = "16ri9hfriszrgqcm111b1pp5x65s034hrc35kjz5qax32mnc9rn6";
+  version = "0.1.5.0";
+  sha256 = "00dnvv0pap2xr74xwzldz89783iw320z7p1rdw0lwjjpbqa3v00g";
   buildDepends = [ text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/minioperational/default.nix b/pkgs/development/libraries/haskell/minioperational/default.nix
new file mode 100644
index 00000000000..a426927e318
--- /dev/null
+++ b/pkgs/development/libraries/haskell/minioperational/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "minioperational";
+  version = "0.4.3";
+  sha256 = "09z8536q0cc09iack6s8fghgrc5f3syq3sxf2cnai3rcfaqix86p";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "https://github.com/fumieval/minioperational";
+    description = "fast and simple operational monad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/miniutter/default.nix b/pkgs/development/libraries/haskell/miniutter/default.nix
index 346e1c6a428..2400721a656 100644
--- a/pkgs/development/libraries/haskell/miniutter/default.nix
+++ b/pkgs/development/libraries/haskell/miniutter/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, HUnit, minimorph, testFramework
 , testFrameworkHunit, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "miniutter";
-  version = "0.4.2";
-  sha256 = "00027aqxa0631v3n1jsv4aj9kf39s5yivi3dl573s5nj0wibj008";
+  version = "0.4.4.0";
+  sha256 = "1pfgbvnxh3c9b489i121p5bg785bp9ivfwizjfwc9w3r6spgppvk";
   buildDepends = [ binary minimorph text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/misfortune/default.nix b/pkgs/development/libraries/haskell/misfortune/default.nix
index 5fe26fff744..cc619288213 100644
--- a/pkgs/development/libraries/haskell/misfortune/default.nix
+++ b/pkgs/development/libraries/haskell/misfortune/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, filepath, knob, monadLoops, randomFu, regexBase
 , regexPcre, semigroups, text, utf8String, vector
 }:
diff --git a/pkgs/development/libraries/haskell/missing-foreign/default.nix b/pkgs/development/libraries/haskell/missing-foreign/default.nix
new file mode 100644
index 00000000000..928cf73d457
--- /dev/null
+++ b/pkgs/development/libraries/haskell/missing-foreign/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "missing-foreign";
+  version = "0.1.1";
+  sha256 = "11f8pknbarlj956nmalqhd2v704z7d7xbi61hs1q8vb2p36kc6wy";
+  meta = {
+    description = "Convenience functions for FFI work";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mmap/default.nix b/pkgs/development/libraries/haskell/mmap/default.nix
index 53785f45c22..fe4f666b327 100644
--- a/pkgs/development/libraries/haskell/mmap/default.nix
+++ b/pkgs/development/libraries/haskell/mmap/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Memory mapped files for POSIX and Windows";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mmorph/default.nix b/pkgs/development/libraries/haskell/mmorph/default.nix
index c4379499fad..b13eeeb5d83 100644
--- a/pkgs/development/libraries/haskell/mmorph/default.nix
+++ b/pkgs/development/libraries/haskell/mmorph/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "mmorph";
-  version = "1.0.0";
-  sha256 = "10r8frcn6ar56n1vxy8rkys8j52f8xkqan8qxqanka1150k6khqk";
+  version = "1.0.3";
+  sha256 = "0b8pzb63zxw3cjw8yj73swvqhmi9c4lgw1mis1xbraya7flxc6qm";
   buildDepends = [ transformers ];
   meta = {
     description = "Monad morphisms";
diff --git a/pkgs/development/libraries/haskell/modular-arithmetic/default.nix b/pkgs/development/libraries/haskell/modular-arithmetic/default.nix
index 9a15b32f307..614fe145bea 100644
--- a/pkgs/development/libraries/haskell/modular-arithmetic/default.nix
+++ b/pkgs/development/libraries/haskell/modular-arithmetic/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "modular-arithmetic";
-  version = "1.1.0.0";
-  sha256 = "02zxxz204ydyj28p65fqb920x5gbm7gba4yf9mhiw6ff0dcmxp37";
+  version = "1.2.0.0";
+  sha256 = "1qlvi0xjdvr4730xj303i6gp610mz4xrlrk191yy8hr7afjysm0k";
   meta = {
     description = "A type for integers modulo some constant";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index 12657a63b4c..918e694f54c 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -1,17 +1,16 @@
-{ cabal, baseUnicodeSymbols, transformers, transformersBase }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers, transformersBase }:
 
 cabal.mkDerivation (self: {
   pname = "monad-control";
-  version = "0.3.2.2";
-  sha256 = "1wwcx2k0nzmjqxf8d8wasnhvdx5q3nxkcyq7vbprkfy85sj7ivxc";
-  buildDepends = [
-    baseUnicodeSymbols transformers transformersBase
-  ];
+  version = "0.3.3.0";
+  sha256 = "0vjff64iwnd9vplqfjyylbd900qmsr92h62hnh715wk06yacji7g";
+  buildDepends = [ transformers transformersBase ];
   meta = {
     homepage = "https://github.com/basvandijk/monad-control";
     description = "Lift control operations, like exception catching, through monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-coroutine/default.nix b/pkgs/development/libraries/haskell/monad-coroutine/default.nix
new file mode 100644
index 00000000000..9bcfcc6d4b0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-coroutine/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, monadParallel, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-coroutine";
+  version = "0.8";
+  sha256 = "0nirp5c3vi529ap142zs29j10j9m609ippi3chv6a87h51avkhzx";
+  buildDepends = [ monadParallel transformers ];
+  meta = {
+    homepage = "http://trac.haskell.org/SCC/wiki/monad-coroutine";
+    description = "Coroutine monad transformer for suspending and resuming monadic computations";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-extras/default.nix b/pkgs/development/libraries/haskell/monad-extras/default.nix
new file mode 100644
index 00000000000..0b655689dc4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-extras/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mmorph, monadControl, stm, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "monad-extras";
+  version = "0.5.9";
+  sha256 = "1y24yz635brllfygia1mbln4d8xiwb0pq0izh5pil7511gijhs0s";
+  buildDepends = [
+    mmorph monadControl stm transformers transformersBase
+  ];
+  meta = {
+    homepage = "http://github.com/jwiegley/monad-extras";
+    description = "Extra utility functions for working with monads";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix
new file mode 100644
index 00000000000..3afce21810c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-journal/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, either, monadControl, mtl, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "monad-journal";
+  version = "0.2.3.0";
+  sha256 = "1k0da0fwk05k8530rlys3n2s1z8glnfdivx93isy6cjr8amndc6b";
+  buildDepends = [
+    either monadControl mtl transformers transformersBase
+  ];
+  meta = {
+    homepage = "https://github.com/phaazon/monad-journal";
+    description = "Pure logger typeclass and monad transformer";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix
index 0b92ca0bb90..cb3a13f8c6e 100644
--- a/pkgs/development/libraries/haskell/monad-logger/default.nix
+++ b/pkgs/development/libraries/haskell/monad-logger/default.nix
@@ -1,15 +1,18 @@
-{ cabal, conduit, fastLogger, liftedBase, monadControl, monadLoops
-, mtl, resourcet, stm, stmChans, text, transformers
-, transformersBase
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, conduit, conduitExtra, exceptions
+, fastLogger, liftedBase, monadControl, monadLoops, mtl, resourcet
+, stm, stmChans, text, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "monad-logger";
-  version = "0.3.2.0";
-  sha256 = "0pgjayx6h1zqadqrzaf36070kir7qlinha9h4bf532lfx5yc1yxg";
+  version = "0.3.7.1";
+  sha256 = "0imr1bgcpfm19a91r4i6lii7gycx77ysfrdri030zr2jjrvggh9i";
   buildDepends = [
-    conduit fastLogger liftedBase monadControl monadLoops mtl resourcet
-    stm stmChans text transformers transformersBase
+    blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase
+    monadControl monadLoops mtl resourcet stm stmChans text
+    transformers transformersBase
   ];
   meta = {
     homepage = "https://github.com/kazu-yamamoto/logger";
diff --git a/pkgs/development/libraries/haskell/monad-loops/default.nix b/pkgs/development/libraries/haskell/monad-loops/default.nix
index a58d90fc98b..8b9c9b6b933 100644
--- a/pkgs/development/libraries/haskell/monad-loops/default.nix
+++ b/pkgs/development/libraries/haskell/monad-loops/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "monad-loops";
-  version = "0.4.2";
-  sha256 = "08sz08p4z1p78dv7rmsqvin59h19i6i07sp7jg3zwxwjxa76fds8";
+  version = "0.4.2.1";
+  sha256 = "1dprwndc0bxzpmrkj1xb9kzjrg3i06zsg43yaabn5x5gcaj8is56";
   meta = {
     homepage = "https://github.com/mokus0/monad-loops";
     description = "Monadic loops";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-par-extras/default.nix b/pkgs/development/libraries/haskell/monad-par-extras/default.nix
index 6b9ca0e7553..a542cdb3173 100644
--- a/pkgs/development/libraries/haskell/monad-par-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monad-par-extras/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, abstractPar, cereal, deepseq, mtl, random, transformers }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Combinators and extra features for Par monads";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix b/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix
index 8692d6267cb..13cc7499aab 100644
--- a/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix
+++ b/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, HUnit }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A library for parallel programming based on a monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-par/0.3.4.5.nix b/pkgs/development/libraries/haskell/monad-par/0.3.4.5.nix
deleted file mode 100644
index 58cbb522fa2..00000000000
--- a/pkgs/development/libraries/haskell/monad-par/0.3.4.5.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ cabal, abstractDeque, abstractPar, deepseq, HUnit, monadParExtras
-, mtl, mwcRandom, parallel, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh
-, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "monad-par";
-  version = "0.3.4.5";
-  sha256 = "0xwjx3l9ssyxaa49v8kz7ic54va1qy6dqa1z5gvww7a5gw1ll81p";
-  buildDepends = [
-    abstractDeque abstractPar deepseq monadParExtras mtl mwcRandom
-    parallel
-  ];
-  testDepends = [
-    abstractDeque abstractPar deepseq HUnit monadParExtras mtl
-    mwcRandom QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 testFrameworkTh time
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/simonmar/monad-par";
-    description = "A library for parallel programming based on a monad";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix b/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
new file mode 100644
index 00000000000..d43379da7f9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, abstractDeque, abstractPar, deepseq, HUnit, monadParExtras
+, mtl, mwcRandom, parallel, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "monad-par";
+  version = "0.3.4.6";
+  sha256 = "1k345fpq31jg0mvfk8ap03wscnx8dvlp65gr567vai9ym1ahk6zy";
+  buildDepends = [
+    abstractDeque abstractPar deepseq monadParExtras mtl mwcRandom
+    parallel
+  ];
+  testDepends = [
+    abstractDeque abstractPar deepseq HUnit monadParExtras mtl
+    mwcRandom QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh time
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/simonmar/monad-par";
+    description = "A library for parallel programming based on a monad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-parallel/default.nix b/pkgs/development/libraries/haskell/monad-parallel/default.nix
new file mode 100644
index 00000000000..db53712d4ef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-parallel/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parallel, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-parallel";
+  version = "0.7.1.2";
+  sha256 = "0ybifm54dwaz5jqccw7hwlykjw4bcnl924808bi01j5i7ggyz5wj";
+  buildDepends = [ parallel transformers ];
+  meta = {
+    homepage = "http://trac.haskell.org/SCC/wiki/monad-parallel";
+    description = "Parallel execution of monadic computations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-peel/default.nix b/pkgs/development/libraries/haskell/monad-peel/default.nix
index 39f911dae93..b7ffb95b9df 100644
--- a/pkgs/development/libraries/haskell/monad-peel/default.nix
+++ b/pkgs/development/libraries/haskell/monad-peel/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, transformers }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Lift control operations like exception catching through monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-stm/default.nix b/pkgs/development/libraries/haskell/monad-stm/default.nix
new file mode 100644
index 00000000000..5418817160f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-stm/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, stm, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-stm";
+  version = "0.1.0.2";
+  sha256 = "09bbhbj9zg928j3dnvvxsrv8hw1c7s0vj0wffrhs810aqlf1m9xp";
+  buildDepends = [ stm transformers ];
+  meta = {
+    description = "MonadSTM class analogous to MonadIO";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-supply/default.nix b/pkgs/development/libraries/haskell/monad-supply/default.nix
new file mode 100644
index 00000000000..dc6c90bcd97
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-supply/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-supply";
+  version = "0.4";
+  sha256 = "0qvv9j55hw1lrfqnz1aric4mvg62c2vqaf5wirn69gvh74slqyj8";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "Stateful supply monad";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-unify/default.nix b/pkgs/development/libraries/haskell/monad-unify/default.nix
new file mode 100644
index 00000000000..f4fac043ea1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-unify/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-unify";
+  version = "0.2.2";
+  sha256 = "1icl4jaa4vc4lb75m6wv4vjvf8b2xx7aziqhsg2pshizdkfxmgwp";
+  buildDepends = [ mtl unorderedContainers ];
+  meta = {
+    description = "Generic first-order unification";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
index 60236eaad35..2e8c064ac9f 100644
--- a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
+++ b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cryptoApi, mtl, tagged, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "monadcryptorandom";
-  version = "0.5.3";
-  sha256 = "1nmkya9mf9y6lhmbhamq2g09pfvfpmicrwab09mcy3ggljdnnfyg";
+  version = "0.6.1";
+  sha256 = "0j99j0f2qwhslimfgslsdlv0xihsddas3i69pfnjwnsd9zg5pgj2";
   buildDepends = [ cryptoApi mtl tagged transformers ];
   meta = {
     homepage = "https://github.com/TomMD/monadcryptorandom";
     description = "A monad for using CryptoRandomGen";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monadlib/default.nix b/pkgs/development/libraries/haskell/monadlib/default.nix
new file mode 100644
index 00000000000..bdb12c483b6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monadlib/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "monadLib";
+  version = "3.7.3";
+  sha256 = "17m9rj6spr5n9jlhwwvk8p40yrpwgz3j9kj3pjq7mpyrc1ssfd0q";
+  meta = {
+    homepage = "http://wiki.github.com/yav/monadlib";
+    description = "A collection of monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monadloc-pp/default.nix b/pkgs/development/libraries/haskell/monadloc-pp/default.nix
new file mode 100644
index 00000000000..13a8dfa3677
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monadloc-pp/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, haskellSrcExts, monadloc, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "monadloc-pp";
+  version = "0.3";
+  sha256 = "0jr9ngcj3l6kd5cscll5kr3a4bp52sdjgrdxd1j5a21jyc3gdyvn";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath haskellSrcExts monadloc syb ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/pepeiborra/monadloc";
+    description = "A preprocessor for generating monadic call traces";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monadloc/default.nix b/pkgs/development/libraries/haskell/monadloc/default.nix
new file mode 100644
index 00000000000..4d99a61335c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monadloc/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "monadloc";
+  version = "0.7.1";
+  sha256 = "1a773nysrsj61ka7bdacb0i7dxlgb1fjz3x5w9c1w1dv7rmhynmj";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/pepeiborra/monadloc";
+    description = "A class for monads which can keep a monadic call trace";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monads-tf/default.nix b/pkgs/development/libraries/haskell/monads-tf/default.nix
index f51fd8c840a..4d5cd7575fb 100644
--- a/pkgs/development/libraries/haskell/monads-tf/default.nix
+++ b/pkgs/development/libraries/haskell/monads-tf/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "monads-tf";
-  version = "0.1.0.1";
-  sha256 = "19za12iazwrbqwpxy6lkj01dwm921386ryxgdqvcqisn8cj6jm1v";
+  version = "0.1.0.2";
+  sha256 = "0z07z2lfm3l93fx0qhfd98j76d1rksi5llq67l5v09pm8da4jvyb";
   buildDepends = [ transformers ];
   meta = {
     description = "Monad classes, using type families";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mongoDB/default.nix b/pkgs/development/libraries/haskell/mongoDB/default.nix
index 2d269fc7a92..3523749dab7 100644
--- a/pkgs/development/libraries/haskell/mongoDB/default.nix
+++ b/pkgs/development/libraries/haskell/mongoDB/default.nix
@@ -1,20 +1,22 @@
-{ cabal, binary, bson, cryptohash, liftedBase, monadControl, mtl
-, network, parsec, random, randomShuffle, text, transformersBase
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, bson, cryptohash, hashtables, liftedBase
+, monadControl, mtl, network, parsec, random, randomShuffle, text
+, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "mongoDB";
-  version = "1.4.1.1";
-  sha256 = "1c9980x3i0jgacgz7mx65l5nyp3h83mqp9b52pzxq90lix6xnwhi";
+  version = "2.0.3";
+  sha256 = "1blqd30mw9fl861f07zn7az4psl9byjjbd986884p6rx07m28abk";
   buildDepends = [
-    binary bson cryptohash liftedBase monadControl mtl network parsec
-    random randomShuffle text transformersBase
+    binary bson cryptohash hashtables liftedBase monadControl mtl
+    network parsec random randomShuffle text transformersBase
   ];
   meta = {
-    homepage = "http://github.com/selectel/mongodb-haskell";
+    homepage = "https://github.com/mongodb-haskell/mongodb";
     description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix
index 42cfee3412b..dfc34cc2a6a 100644
--- a/pkgs/development/libraries/haskell/mono-traversable/default.nix
+++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix
@@ -1,16 +1,23 @@
-{ cabal, comonad, hashable, hspec, semigroupoids, semigroups, text
-, transformers, unorderedContainers, vector
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, dlist, dlistInstances, foldl, hashable, hspec
+, QuickCheck, semigroupoids, semigroups, text, transformers
+, unorderedContainers, vector, vectorAlgorithms, vectorInstances
 }:
 
 cabal.mkDerivation (self: {
   pname = "mono-traversable";
-  version = "0.1.0.0";
-  sha256 = "1pkg8lagfiixgq2xb4ficgcqv1hhmxy2r49lq9szar7knh0gcjn1";
+  version = "0.6.1";
+  sha256 = "066yfffjkd0r6hg3y3zrs13jmyfgpl8ba9yvsbyawimvff7mfk5f";
   buildDepends = [
-    comonad hashable semigroupoids semigroups text transformers
+    comonad dlist dlistInstances hashable semigroupoids semigroups text
+    transformers unorderedContainers vector vectorAlgorithms
+    vectorInstances
+  ];
+  testDepends = [
+    foldl hspec QuickCheck semigroups text transformers
     unorderedContainers vector
   ];
-  testDepends = [ hspec text ];
   meta = {
     homepage = "https://github.com/snoyberg/mono-traversable";
     description = "Type classes for mapping, folding, and traversing monomorphic containers";
diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix
index 8eb61453f9c..3c0a742a1f3 100644
--- a/pkgs/development/libraries/haskell/monoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix
@@ -1,10 +1,12 @@
-{ cabal, groupoids, groups, semigroupoids, semigroups }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, groups, semigroupoids, semigroups }:
 
 cabal.mkDerivation (self: {
   pname = "monoid-extras";
-  version = "0.3.2.3";
-  sha256 = "1q7aw4adg082rszkc3skdvidcn86n06xvr3x8qarpjb285znsmc4";
-  buildDepends = [ groupoids groups semigroupoids semigroups ];
+  version = "0.3.3.4";
+  sha256 = "0jbly9zxnsm15a5d3xg7i6w1mpqi4irdc76996xm5slg8bh0cji6";
+  buildDepends = [ groups semigroupoids semigroups ];
   jailbreak = true;
   meta = {
     description = "Various extra monoid-related definitions and utilities";
diff --git a/pkgs/development/libraries/haskell/monoid-transformer/default.nix b/pkgs/development/libraries/haskell/monoid-transformer/default.nix
new file mode 100644
index 00000000000..147045287dd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monoid-transformer/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "monoid-transformer";
+  version = "0.0.3";
+  sha256 = "1f06ppvv50w5pacm4bs89zwkydih626cgbd2z6xqbp8cmhg6dj4l";
+  meta = {
+    description = "Monoid counterparts to some ubiquitous monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mpppc/default.nix b/pkgs/development/libraries/haskell/mpppc/default.nix
index 54357821171..a466f75a1b1 100644
--- a/pkgs/development/libraries/haskell/mpppc/default.nix
+++ b/pkgs/development/libraries/haskell/mpppc/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal, split, text }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Multi-dimensional parametric pretty-printer with color";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/msgpack/default.nix b/pkgs/development/libraries/haskell/msgpack/default.nix
new file mode 100644
index 00000000000..b2a626621fe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/msgpack/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, hashable, mtl
+, QuickCheck, testFramework, testFrameworkQuickcheck2, text
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "msgpack";
+  version = "0.7.2.5";
+  sha256 = "1iwibyv5aqp5h98x4s5pp3hj218l2k3vff87p727mh74f5j6l3s8";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq hashable mtl text
+    unorderedContainers vector
+  ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://msgpack.org/";
+    description = "A Haskell implementation of MessagePack";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
index fc8fdaef752..3cc240114df 100644
--- a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Monad transformer library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix b/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
deleted file mode 100644
index d7e6029a4ed..00000000000
--- a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "mtl";
-  version = "1.1.1.1";
-  sha256 = "157gbrgrg0l9r72nq45dkach53yncysif4qglsaql28g37djc4x6";
-  meta = {
-    description = "Monad transformer library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
index 3c91b65efa0..e528736d95a 100644
--- a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Monad classes, using functional dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.1.nix b/pkgs/development/libraries/haskell/mtl/2.1.1.nix
index b9298325c20..8cfb60ddfef 100644
--- a/pkgs/development/libraries/haskell/mtl/2.1.1.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Monad classes, using functional dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.2.nix b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
index c10f526acf2..d72f8bc79d6 100644
--- a/pkgs/development/libraries/haskell/mtl/2.1.2.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Monad classes, using functional dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
new file mode 100644
index 00000000000..19dedb3174a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl";
+  version = "2.2.0.1";
+  sha256 = "0486cg4dp0p942zsg7yxpwn1jykx8p3gb794jaq0v3j44a7x00rb";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/mtl";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mtl/2.2.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.1.nix
new file mode 100644
index 00000000000..35a1ffad8d2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.2.1.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl";
+  version = "2.2.1";
+  sha256 = "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/mtl";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mtlparse/default.nix b/pkgs/development/libraries/haskell/mtlparse/default.nix
index 37be70cebcb..6391d2d9ac0 100644
--- a/pkgs/development/libraries/haskell/mtlparse/default.nix
+++ b/pkgs/development/libraries/haskell/mtlparse/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "parse library using mtl package";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mueval/default.nix b/pkgs/development/libraries/haskell/mueval/default.nix
index f4b3b4a78ed..225994a32e5 100644
--- a/pkgs/development/libraries/haskell/mueval/default.nix
+++ b/pkgs/development/libraries/haskell/mueval/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, extensibleExceptions, filepath, hint, mtl, show
 , simpleReflect, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "mueval";
-  version = "0.9.1";
-  sha256 = "1f668z7rpdj2m239f5i54v7kd7wsvx3qvvhwyiavf28cmk32mxpq";
+  version = "0.9.1.1";
+  sha256 = "0p9qf8lb3c1y87qpl9b4n6v6bjrb9fw3yfg4p7niqdz31454d2pz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -13,7 +15,7 @@ cabal.mkDerivation (self: {
     utf8String
   ];
   meta = {
-    homepage = "http://code.haskell.org/mubot/";
+    homepage = "https://github.com/gwern/mueval";
     description = "Safely evaluate pure Haskell expressions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/mueval/wrapper.nix b/pkgs/development/libraries/haskell/mueval/wrapper.nix
new file mode 100644
index 00000000000..6c3beb4da8b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mueval/wrapper.nix
@@ -0,0 +1,33 @@
+{ stdenv, mueval, makeWrapper, ghc
+, show, simpleReflect, mtl, random, QuickCheck
+, additionalPackages ? [] }:
+
+stdenv.mkDerivation {
+  name = "mueval-wrapper";
+
+  buildInputs = [ makeWrapper show simpleReflect mtl random QuickCheck ]
+    ++ additionalPackages;
+
+  ghcVersion = ghc.version;
+
+  buildCommand = ''
+    PKGPATH=""
+    for p in $nativePkgs; do
+      for i in "$p/lib/ghc-$ghcVersion/package.conf.d/"*.installedconf; do
+        PKGPATH=$PKGPATH''${PKGPATH:+:}$i
+      done
+    done
+
+    makeWrapper "${mueval}/bin/mueval" "$out/bin/mueval" \
+      --prefix PATH : "${mueval}/bin" \
+      --prefix GHC_PACKAGE_PATH : "$PKGPATH" \
+      --set GHC_PACKAGE_PATH "\$GHC_PACKAGE_PATH:" # always end with : to include base packages
+  '';
+
+  preferLocalBuild = true;
+
+  meta = {
+    description = mueval.meta.description;
+  };
+}
+
diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix
index 3c5239b4737..4c6ffcdaff6 100644
--- a/pkgs/development/libraries/haskell/multiarg/default.nix
+++ b/pkgs/development/libraries/haskell/multiarg/default.nix
@@ -1,15 +1,16 @@
-{ cabal, utf8String }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "multiarg";
-  version = "0.24.0.0";
-  sha256 = "0vdhrsqwa2wq9cvf96x3hqml2vbjcvik9mpz1kbbhb61f9lbhas6";
-  buildDepends = [ utf8String ];
+  version = "0.26.0.0";
+  sha256 = "0fjzjr66yan62911kfndnr7xmy3waidh4cqazabk6yr1cznpsx8m";
+  buildDepends = [ bifunctors utf8String ];
   meta = {
     homepage = "https://github.com/massysett/multiarg";
     description = "Combinators to build command line parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multimap/default.nix b/pkgs/development/libraries/haskell/multimap/default.nix
new file mode 100644
index 00000000000..15764392bf1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/multimap/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "multimap";
+  version = "1.2.1";
+  sha256 = "0d3l5q4yvmywl6i9ip96zz0fvhjdh00mfbbniphbjxsi8wlwack3";
+  meta = {
+    homepage = "http://hub.darcs.net/scravy/multimap";
+    description = "A multimap";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/multipart/default.nix b/pkgs/development/libraries/haskell/multipart/default.nix
new file mode 100644
index 00000000000..242005392c2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/multipart/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "multipart";
+  version = "0.1.1";
+  sha256 = "12sxi21baq1wsa3z6qrczyk47finw85yiql26l90wxk99smm90pj";
+  buildDepends = [ parsec ];
+  meta = {
+    homepage = "http://www.github.com/silkapp/multipart";
+    description = "A partial fork of the cgi package exposing the multipart module";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/multiplate/default.nix b/pkgs/development/libraries/haskell/multiplate/default.nix
index 14310f50ef6..503377b58e0 100644
--- a/pkgs/development/libraries/haskell/multiplate/default.nix
+++ b/pkgs/development/libraries/haskell/multiplate/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
@@ -5,11 +7,11 @@ cabal.mkDerivation (self: {
   version = "0.0.2";
   sha256 = "02pqfkdcv4fn0pmxphg19b3fiazn4hpphfj8xgp77vpy2lczndsw";
   buildDepends = [ transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/Multiplate";
     description = "Lightweight generic library for mutually recursive data types";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multirec/default.nix b/pkgs/development/libraries/haskell/multirec/default.nix
index 61de0cace5b..d7671a522e6 100644
--- a/pkgs/development/libraries/haskell/multirec/default.nix
+++ b/pkgs/development/libraries/haskell/multirec/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "multirec";
-  version = "0.7.3";
-  sha256 = "0k1wbjsvkl08nwjikflc8yyalk654mf8bvi1rhm28i4na52myi5y";
+  version = "0.7.4";
+  sha256 = "01mligrin7fp3fnnwgv8nrww5938ryghgyw9xyw153a615ryj8i9";
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
     description = "Generic programming for families of recursive datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multiset/0.2.1.nix b/pkgs/development/libraries/haskell/multiset/0.2.1.nix
deleted file mode 100644
index 9f85317505c..00000000000
--- a/pkgs/development/libraries/haskell/multiset/0.2.1.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "multiset";
-  version = "0.2.1";
-  sha256 = "0snlm6s9ikf5gngdwb7rm7v6017f5bffajv6777y56pjmd7bk9sy";
-  meta = {
-    description = "The Data.MultiSet container type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/multiset/0.2.2.nix b/pkgs/development/libraries/haskell/multiset/0.2.2.nix
deleted file mode 100644
index 16fcf155747..00000000000
--- a/pkgs/development/libraries/haskell/multiset/0.2.2.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "multiset";
-  version = "0.2.2";
-  sha256 = "1g14c1zm4rdc8nxvb69k98h542wi24q2lpba1gpqjqspk4d0sjmn";
-  meta = {
-    description = "The Data.MultiSet container type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/multiset/default.nix b/pkgs/development/libraries/haskell/multiset/default.nix
new file mode 100644
index 00000000000..b2293934712
--- /dev/null
+++ b/pkgs/development/libraries/haskell/multiset/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "multiset";
+  version = "0.2.2";
+  sha256 = "1g14c1zm4rdc8nxvb69k98h542wi24q2lpba1gpqjqspk4d0sjmn";
+  meta = {
+    description = "The Data.MultiSet container type";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix
index 0c4058eb111..b16d274e7e6 100644
--- a/pkgs/development/libraries/haskell/murmur-hash/default.nix
+++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "murmur-hash";
-  version = "0.1.0.6";
-  sha256 = "0wnkwl3a9x0f4rvsj4wf129n03vpw8qk4kzx6vmrapwwb4r80npz";
+  version = "0.1.0.7";
+  sha256 = "125v4ypiv8n2m8zd1yi46prz96yy79ap0yzhm4vhrws4cf1zapkp";
   meta = {
     homepage = "http://github.com/nominolo/murmur-hash";
     description = "MurmurHash2 implementation for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index d26980994e7..d64c74c68a8 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, primitive, QuickCheck, statistics, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2, time, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "mwc-random";
-  version = "0.13.1.0";
-  sha256 = "16g6b1pphr4p36nn5qjj62iwf47rq8kfmpjgfvd35r3cz9qqb8cb";
+  version = "0.13.2.0";
+  sha256 = "07nbbn9ainzsqg2hlw6l9vsfqylfcqs1apgvpnhdgids2gvmrkaa";
   buildDepends = [ primitive time vector ];
   testDepends = [
     HUnit QuickCheck statistics testFramework testFrameworkHunit
@@ -17,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Fast, high quality pseudo random number generation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mysql-simple/default.nix b/pkgs/development/libraries/haskell/mysql-simple/default.nix
new file mode 100644
index 00000000000..3698b727fe0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mysql-simple/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, base16Bytestring, blazeBuilder, blazeTextual
+, mysql, pcreLight, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "mysql-simple";
+  version = "0.2.2.4";
+  sha256 = "044grjly1gyrgba2bfrii2pa14ff7v14ncyk3kj01g1zdxnwqjh6";
+  buildDepends = [
+    attoparsec base16Bytestring blazeBuilder blazeTextual mysql
+    pcreLight text time
+  ];
+  meta = {
+    homepage = "https://github.com/bos/mysql-simple";
+    description = "A mid-level MySQL client library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mysql/default.nix b/pkgs/development/libraries/haskell/mysql/default.nix
new file mode 100644
index 00000000000..a9801f6415f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mysql/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mysqlConfig, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "mysql";
+  version = "0.1.1.6";
+  sha256 = "1sxzx5f4ysxhq1nimkj4xwf87i7prwp5wg0kjbhv9pbn65zc9mmj";
+  buildTools = [ mysqlConfig ];
+  extraLibraries = [ zlib ];
+  meta = {
+    homepage = "https://github.com/bos/mysql";
+    description = "A low-level MySQL client library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/nanospec/default.nix b/pkgs/development/libraries/haskell/nanospec/default.nix
index b7f498a35c8..156e0c04a0a 100644
--- a/pkgs/development/libraries/haskell/nanospec/default.nix
+++ b/pkgs/development/libraries/haskell/nanospec/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, silently }:
 
 cabal.mkDerivation (self: {
   pname = "nanospec";
-  version = "0.1.0";
-  sha256 = "16qpn199p8nrllg800zryhb8795jgk78znng5fjq1raj8l3snjk0";
+  version = "0.2.0";
+  sha256 = "0g10l86cv33r58zxn2bprqlm80i7g86bwzhn9jqg9s81xc0aw2qv";
   testDepends = [ hspec silently ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/nat/default.nix b/pkgs/development/libraries/haskell/nat/default.nix
index 3ad4240e289..e3b55592204 100644
--- a/pkgs/development/libraries/haskell/nat/default.nix
+++ b/pkgs/development/libraries/haskell/nat/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/nats/default.nix b/pkgs/development/libraries/haskell/nats/default.nix
index 91cc79f52b8..e870d171383 100644
--- a/pkgs/development/libraries/haskell/nats/default.nix
+++ b/pkgs/development/libraries/haskell/nats/default.nix
@@ -1,12 +1,15 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable }:
 
 cabal.mkDerivation (self: {
   pname = "nats";
-  version = "0.1.2";
-  sha256 = "1r4083p8sbnqs74l8faqfs1i97k8bql762l55pbmapy0p1xrkzka";
+  version = "0.2";
+  sha256 = "05skqs5ahbrnwlsxjihkvmsw0n49k9mqdhrv9nqh4dmd1j622r73";
+  buildDepends = [ hashable ];
   meta = {
     homepage = "http://github.com/ekmett/nats/";
-    description = "Haskell 98 natural numbers";
+    description = "Natural numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/naturals/default.nix b/pkgs/development/libraries/haskell/naturals/default.nix
index 787ac70ffa9..f4ed7dd2a12 100644
--- a/pkgs/development/libraries/haskell/naturals/default.nix
+++ b/pkgs/development/libraries/haskell/naturals/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix
index f900e3c2ef9..7e9ac0ddd95 100644
--- a/pkgs/development/libraries/haskell/ncurses/default.nix
+++ b/pkgs/development/libraries/haskell/ncurses/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, c2hs, ncurses, text, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "ncurses";
-  version = "0.2.7";
-  sha256 = "026p6b2apgi9r65py45h3rl57xgwzyamq511a0rsb7myzagw22vz";
+  version = "0.2.10";
+  sha256 = "0qdw5dwi1w42nygvzyq8la7i917f0fz9qjw6ivgl2h1rjxc5j9cb";
   buildDepends = [ text transformers ];
   buildTools = [ c2hs ];
   extraLibraries = [ ncurses ];
diff --git a/pkgs/development/libraries/haskell/netlist-to-vhdl/default.nix b/pkgs/development/libraries/haskell/netlist-to-vhdl/default.nix
index ff9ed1ac0bf..6794ce4f37f 100644
--- a/pkgs/development/libraries/haskell/netlist-to-vhdl/default.nix
+++ b/pkgs/development/libraries/haskell/netlist-to-vhdl/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, netlist }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/netlist/default.nix b/pkgs/development/libraries/haskell/netlist/default.nix
index 57550dcb3d8..70d993cf8e4 100644
--- a/pkgs/development/libraries/haskell/netlist/default.nix
+++ b/pkgs/development/libraries/haskell/netlist/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, syb }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/netwire/default.nix b/pkgs/development/libraries/haskell/netwire/default.nix
index d7ab9539e0c..7321c3e88e8 100644
--- a/pkgs/development/libraries/haskell/netwire/default.nix
+++ b/pkgs/development/libraries/haskell/netwire/default.nix
@@ -1,17 +1,19 @@
-{ cabal, bifunctors, deepseq, liftedBase, monadControl, mtl
-, profunctors, random, semigroups, tagged, time, vectorSpace
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, parallel, random, semigroups, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "netwire";
-  version = "4.0.7";
-  sha256 = "035jz7j19c7n4za9xi8vj6yl9m2b2v6d53mp711gf8609wv0cx0c";
+  version = "5.0.0";
+  sha256 = "1wxrckc8i86xiiyk8msa6qrhfjx4h34ry1nxh9rdcd5cy03kalks";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    bifunctors deepseq liftedBase monadControl mtl profunctors random
-    semigroups tagged time vectorSpace
+    deepseq parallel random semigroups time transformers
   ];
   meta = {
-    description = "Flexible wire arrows for FRP";
+    description = "Functional reactive programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/network-carbon/default.nix b/pkgs/development/libraries/haskell/network-carbon/default.nix
new file mode 100644
index 00000000000..c12737a2edf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-carbon/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, network, text, time, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "network-carbon";
+  version = "1.0.1";
+  sha256 = "1q3b7vw80yw6fkmpwgazy8ikhbwjmmqmm4fry8c9f8ckkpzahj2b";
+  buildDepends = [ network text time vector ];
+  meta = {
+    homepage = "http://github.com/ocharles/network-carbon";
+    description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
index 415c047a2f5..45d912da07a 100644
--- a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
@@ -1,18 +1,20 @@
-{ cabal, aeson, certificate, conduit, connection, cprngAes
-, cryptoApi, cryptoRandomApi, dataDefault, monadControl, network
-, networkConduit, pem, systemFileio, systemFilepath, tls, tlsExtra
-, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitExtra, connection, cprngAes, dataDefault
+, HUnit, monadControl, mtl, network, streamingCommons, systemFileio
+, systemFilepath, tls, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "network-conduit-tls";
-  version = "1.0.2";
-  sha256 = "0m3sbb4vpsjf568zaaxri8x7x46wngf5y2s5chgjzfmbj0amkl51";
+  version = "1.1.0";
+  sha256 = "1q9wx7bvr4a65rkyfn2vd3h9bfpsvm9zcqqjhjsrgb91l6x5bdqi";
   buildDepends = [
-    aeson certificate conduit connection cprngAes cryptoApi
-    cryptoRandomApi dataDefault monadControl network networkConduit pem
-    systemFileio systemFilepath tls tlsExtra transformers
+    conduit conduitExtra connection cprngAes dataDefault monadControl
+    network streamingCommons systemFileio systemFilepath tls
+    transformers
   ];
+  testDepends = [ conduit conduitExtra connection HUnit mtl ];
   meta = {
     homepage = "https://github.com/snoyberg/conduit";
     description = "Create TLS-aware network code with conduits";
diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix
index 032592f974b..4bc1292f074 100644
--- a/pkgs/development/libraries/haskell/network-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit/default.nix
@@ -1,19 +1,17 @@
-{ cabal, conduit, liftedBase, monadControl, network, transformers
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit }:
 
 cabal.mkDerivation (self: {
   pname = "network-conduit";
-  version = "1.0.0";
-  sha256 = "16kgg6wkpl10kcwfijm9iqi7r5gababaymxyhmjab6axfzknppk3";
-  buildDepends = [
-    conduit liftedBase monadControl network transformers
-  ];
-  testDepends = [ conduit ];
+  version = "1.1.0";
+  sha256 = "06amxl8rg4zfnmgc1iyq5mxy9qihcqddqgqkbfvaf25mwr43992p";
+  buildDepends = [ conduit ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
-    description = "Stream socket data using conduits";
+    description = "Stream socket data using conduits. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-info/default.nix b/pkgs/development/libraries/haskell/network-info/default.nix
index c1bfea43bde..df584710c14 100644
--- a/pkgs/development/libraries/haskell/network-info/default.nix
+++ b/pkgs/development/libraries/haskell/network-info/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "network-info";
-  version = "0.2.0.3";
-  sha256 = "04nwl5akrsppxkqqq7a7qi5sixvrzvj4njl8rbz7sglbh9393rs2";
+  version = "0.2.0.5";
+  sha256 = "0ggxnkjkbspynma0wjrc1wwwb9ygx2dhl0n9lfaq7l8r69z7pqwf";
   meta = {
     homepage = "http://github.com/jystic/network-info";
     description = "Access the local computer's basic network configuration";
diff --git a/pkgs/development/libraries/haskell/network-metrics/default.nix b/pkgs/development/libraries/haskell/network-metrics/default.nix
new file mode 100644
index 00000000000..1c6bf19e82b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-metrics/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, dataDefault, network, random, time }:
+
+cabal.mkDerivation (self: {
+  pname = "network-metrics";
+  version = "0.4";
+  sha256 = "0dvrjf84pdm42pxwc7fm4gvswc5nzmdsq7cr7ab8jyzvjqb8684c";
+  buildDepends = [ binary dataDefault network random time ];
+  meta = {
+    homepage = "http://github.com/brendanhay/network-metrics";
+    description = "Send metrics to Ganglia, Graphite, and statsd";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-multicast/default.nix b/pkgs/development/libraries/haskell/network-multicast/default.nix
index 3a9531488bb..2102ad3c605 100644
--- a/pkgs/development/libraries/haskell/network-multicast/default.nix
+++ b/pkgs/development/libraries/haskell/network-multicast/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, network }:
 
 cabal.mkDerivation (self: {
   pname = "network-multicast";
-  version = "0.0.10";
-  sha256 = "092v4ba6mrl5ykx2fscclcsc5dbnq99hbn93sc2mjnnr8c9r0n5x";
+  version = "0.0.11";
+  sha256 = "0fgscv9crk2lx99rh234ipgl5psbrjili95inxj23drvwmsj3135";
   buildDepends = [ network ];
   meta = {
     description = "Simple multicast library";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix b/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix
index 910d2cc6774..90d9becb804 100644
--- a/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix
+++ b/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, gnuidn, gnutls, gsasl, libxmlSax, monadsTf, network, text
 , transformers, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "network-protocol-xmpp";
-  version = "0.4.5";
-  sha256 = "1phnd9nygpc8gmyriwaqjnvygxi5zg4nx2i1m3vwwxql221420gg";
+  version = "0.4.6";
+  sha256 = "0xmafjz11v2dlbyg2ny90ycz315s23yprdpxz3l06igjxw6h3v6n";
   buildDepends = [
     gnuidn gnutls gsasl libxmlSax monadsTf network text transformers
     xmlTypes
diff --git a/pkgs/development/libraries/haskell/network-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix
index 72d8c8af8c8..41077efed0b 100644
--- a/pkgs/development/libraries/haskell/network-simple/default.nix
+++ b/pkgs/development/libraries/haskell/network-simple/default.nix
@@ -1,15 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, exceptions, network, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "network-simple";
-  version = "0.3.0";
-  sha256 = "046nbgdwazbqffcim1gxry1mf35yg41g52zdk86h9whhiwjzlywz";
+  version = "0.4.0.1";
+  sha256 = "113vaxgsfny9iv6hnbywk97qr1y6qkap49p803anakamss4bdmyj";
   buildDepends = [ exceptions network transformers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/k0001/network-simple";
     description = "Simple network sockets usage patterns";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-transport-tcp/default.nix b/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
index 840712e3416..b4a70eb6843 100644
--- a/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
@@ -1,22 +1,21 @@
-{ cabal, dataAccessor, dataAccessorTransformers, HUnit
-, lockfreeQueue, mtl, network, networkTransport
-, networkTransportTests, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataAccessor, network, networkTransport
+, networkTransportTests
 }:
 
 cabal.mkDerivation (self: {
   pname = "network-transport-tcp";
-  version = "0.3.1";
-  sha256 = "15i4qbx1s3dxaixn6kd2z1hsymfvpqzf4jpqd3mcbpjlgrn6craf";
+  version = "0.4.0";
+  sha256 = "1jjf1dj67a7l3jg3qgbg0hrjfnx1kr9n7hfvqssq7kr8sq1sc49v";
   buildDepends = [ dataAccessor network networkTransport ];
-  testDepends = [
-    dataAccessor dataAccessorTransformers HUnit lockfreeQueue mtl
-    network networkTransport networkTransportTests QuickCheck
-    testFramework testFrameworkHunit testFrameworkQuickcheck2
-    transformers
-  ];
+  testDepends = [ network networkTransport networkTransportTests ];
+  doCheck = false;
+  patchPhase = ''
+    sed -i -e 's|network >=.*,|network,|' -e 's|network >=.*|network|' network-transport-tcp.cabal
+  '';
   meta = {
-    homepage = "http://github.com/haskell-distributed/distributed-process";
+    homepage = "http://haskell-distributed.github.com";
     description = "TCP instantiation of Network.Transport";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/network-transport-tests/default.nix b/pkgs/development/libraries/haskell/network-transport-tests/default.nix
index 7aedea7995b..2dc5036899b 100644
--- a/pkgs/development/libraries/haskell/network-transport-tests/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport-tests/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal, mtl, networkTransport, random }:
 
 cabal.mkDerivation (self: {
@@ -10,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Unit tests for Network.Transport implementations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-transport/default.nix b/pkgs/development/libraries/haskell/network-transport/default.nix
index eaa41944a6b..c59a3fbb235 100644
--- a/pkgs/development/libraries/haskell/network-transport/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport/default.nix
@@ -1,15 +1,16 @@
-{ cabal, binary, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, hashable, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "network-transport";
-  version = "0.3.0.1";
-  sha256 = "1iijcd864znik83smk1bjidinm199wri5fdyrhnffj0n35knrvas";
-  buildDepends = [ binary transformers ];
+  version = "0.4.0.0";
+  sha256 = "1485w86wzszlg4dvl0fkr7wa47snvpw825llrvdgrrkcxamhsmrz";
+  buildDepends = [ binary hashable transformers ];
   meta = {
-    homepage = "http://github.com/haskell-distributed/distributed-process";
+    homepage = "http://haskell-distributed.github.com";
     description = "Network abstraction layer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-uri/default.nix b/pkgs/development/libraries/haskell/network-uri/default.nix
new file mode 100644
index 00000000000..e6259b09c24
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-uri/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, network, parsec, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "network-uri";
+  version = "2.6.0.0";
+  sha256 = "0dnprscb5nxidg56i7j6q783nwsrn3dabfsij3vjlvjn4f0sg11l";
+  buildDepends = [ parsec ];
+  testDepends = [
+    HUnit network testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "https://github.com/haskell/network-uri";
+    description = "URI manipulation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.4.nix b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
index 68c7937497c..481ad16a2a3 100644
--- a/pkgs/development/libraries/haskell/network/2.2.1.4.nix
+++ b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, parsec }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Networking-related facilities";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.7.nix b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
index f66d81f79f4..515be08fbcc 100644
--- a/pkgs/development/libraries/haskell/network/2.2.1.7.nix
+++ b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, parsec }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Networking-related facilities";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.13.nix b/pkgs/development/libraries/haskell/network/2.3.0.13.nix
index 557dea081fd..757991666b6 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.13.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.13.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, parsec, testFramework, testFrameworkHunit }:
 
 cabal.mkDerivation (self: {
@@ -6,11 +8,12 @@ cabal.mkDerivation (self: {
   sha256 = "0xw53czvcw8k49aqxmchc1rcd6pyxp4icwgp64625fnm3l4yjiq7";
   buildDepends = [ parsec ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/haskell/network";
     description = "Low-level networking interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.2.nix b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
index a1a9a36d738..3cf17949380 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.2.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, parsec }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Low-level networking interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.5.nix b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
index 9434d83d7f0..f10d8c0dbcc 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.5.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, parsec }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Low-level networking interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.1.0.nix b/pkgs/development/libraries/haskell/network/2.3.1.0.nix
index dc0c1811e59..02185e86041 100644
--- a/pkgs/development/libraries/haskell/network/2.3.1.0.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.1.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, parsec, testFramework, testFrameworkHunit }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "Low-level networking interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.4.1.2.nix b/pkgs/development/libraries/haskell/network/2.4.1.2.nix
index 6f245cf1840..2ec39f7d457 100644
--- a/pkgs/development/libraries/haskell/network/2.4.1.2.nix
+++ b/pkgs/development/libraries/haskell/network/2.4.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, parsec, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2
 }:
@@ -15,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Low-level networking interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.4.2.0.nix b/pkgs/development/libraries/haskell/network/2.4.2.0.nix
deleted file mode 100644
index 2912138daf7..00000000000
--- a/pkgs/development/libraries/haskell/network/2.4.2.0.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, HUnit, parsec, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.4.2.0";
-  sha256 = "1v6iwww8xym0sr2593ri0aa6gcs6n2975fi9gaz9n7rizbqm88qs";
-  buildDepends = [ parsec ];
-  testDepends = [
-    HUnit testFramework testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  meta = {
-    homepage = "https://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.5.0.0.nix b/pkgs/development/libraries/haskell/network/2.5.0.0.nix
new file mode 100644
index 00000000000..dd4278a0052
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.5.0.0.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, parsec, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "network";
+  version = "2.5.0.0";
+  sha256 = "1x90fdzfigqq2vbjqg73p4vyy7p1z0apj79cpl7i9v9amxa6y5mj";
+  buildDepends = [ parsec ];
+  testDepends = [
+    HUnit testFramework testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "https://github.com/haskell/network";
+    description = "Low-level networking interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/newtype/default.nix b/pkgs/development/libraries/haskell/newtype/default.nix
index 40354c9472c..14105ed7349 100644
--- a/pkgs/development/libraries/haskell/newtype/default.nix
+++ b/pkgs/development/libraries/haskell/newtype/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/non-negative/default.nix b/pkgs/development/libraries/haskell/non-negative/default.nix
index a50710791db..9b7af5e7751 100644
--- a/pkgs/development/libraries/haskell/non-negative/default.nix
+++ b/pkgs/development/libraries/haskell/non-negative/default.nix
@@ -1,17 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, utilityHt }:
 
 cabal.mkDerivation (self: {
   pname = "non-negative";
-  version = "0.1";
-  sha256 = "0aebb6f5518191a02b11230798444997a03b84d63d2aaa6c38cac6718f6c351c";
-  isLibrary = true;
-  isExecutable = true;
+  version = "0.1.1";
+  sha256 = "163g3j3xrx1jkrbg2wnha3yyxyg1mn7kabmbpg82y3rbl3ihy1p7";
   buildDepends = [ QuickCheck utilityHt ];
+  testDepends = [ QuickCheck utilityHt ];
   meta = {
     homepage = "http://code.haskell.org/~thielema/non-negative/";
     description = "Non-negative numbers";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/numbers/default.nix b/pkgs/development/libraries/haskell/numbers/default.nix
index 26ed2d77bd0..3d2ef6af751 100644
--- a/pkgs/development/libraries/haskell/numbers/default.nix
+++ b/pkgs/development/libraries/haskell/numbers/default.nix
@@ -1,17 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, testFramework, testFrameworkQuickcheck2 }:
 
 cabal.mkDerivation (self: {
   pname = "numbers";
-  version = "3000.2.0.0";
-  sha256 = "035qc7dgh4nd661z4mm742v8y7xqdyyp0r0vkinxiifciqb1fkbm";
+  version = "3000.2.0.1";
+  sha256 = "10z1bi5qbc81z5xx2v1ylwcpmcfl1ci7lxrswkgi0dd1wi8havbk";
   testDepends = [
     QuickCheck testFramework testFrameworkQuickcheck2
   ];
   meta = {
-    homepage = "https://github.com/DanBurton/numbers#readme";
+    homepage = "https://github.com/jwiegley/numbers#readme";
     description = "Various number types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/numeric-extras/default.nix b/pkgs/development/libraries/haskell/numeric-extras/default.nix
index 76783dceb49..918427d0fa0 100644
--- a/pkgs/development/libraries/haskell/numeric-extras/default.nix
+++ b/pkgs/development/libraries/haskell/numeric-extras/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/numeric-prelude/default.nix b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
index 9fb5d334a4d..35840ba1716 100644
--- a/pkgs/development/libraries/haskell/numeric-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, nonNegative, parsec, QuickCheck, random
 , storableRecord, utilityHt
 }:
 
 cabal.mkDerivation (self: {
   pname = "numeric-prelude";
-  version = "0.4.0.3";
-  sha256 = "0lgjnkvbz14cqsm5fjafl8g5mkclcdvpwa3kpz9radmg2x09rsnl";
+  version = "0.4.1";
+  sha256 = "1y1dg4bk811xmz3p23g8kjl6vxns3gs8qj671971c06nccfl1h5r";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -17,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "An experimental alternative hierarchy of numeric type classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/numtype-tf/default.nix b/pkgs/development/libraries/haskell/numtype-tf/default.nix
index ad7f2d98660..3b6c777efbf 100644
--- a/pkgs/development/libraries/haskell/numtype-tf/default.nix
+++ b/pkgs/development/libraries/haskell/numtype-tf/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "numtype-tf";
-  version = "0.1.1";
-  sha256 = "0aj24jlfcv4rsa0zfglsfgq9f0kxln32drypp66652ycffz3ip9a";
+  version = "0.1.2";
+  sha256 = "00bnz9k4nq21z4vax37qjv6ra2jvlshk0jlici1w8y9rx39zrjyx";
   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 d35f763d32e..76874e04529 100644
--- a/pkgs/development/libraries/haskell/numtype/default.nix
+++ b/pkgs/development/libraries/haskell/numtype/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "numtype";
-  version = "1.0.1";
-  sha256 = "130qchi9dplpg7pxf4pz7nz4mnprngw16mizqycp5pdlawbcp5js";
+  version = "1.1";
+  sha256 = "1az10xcfl6qpyy9qnh8g2iqx53rxnjxzc1h8kl1gira6yv7g6857";
   meta = {
     homepage = "http://dimensional.googlecode.com/";
     description = "Type-level (low cardinality) integers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/oeis/default.nix b/pkgs/development/libraries/haskell/oeis/default.nix
index d5ec97b6f6a..b58df3be314 100644
--- a/pkgs/development/libraries/haskell/oeis/default.nix
+++ b/pkgs/development/libraries/haskell/oeis/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HTTP, HUnit, network, testFramework, testFrameworkHunit }:
 
 cabal.mkDerivation (self: {
@@ -6,6 +8,9 @@ cabal.mkDerivation (self: {
   sha256 = "0r23mqbfvvvx6shzdclzfrqi8r95gxl93cih7ny7w7px3w5yc5x6";
   buildDepends = [ HTTP network ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  patchPhase = ''
+    sed -i -e 's|network *==.*|network|' oeis.cabal
+  '';
   meta = {
     description = "Interface to the Online Encyclopedia of Integer Sequences (OEIS)";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/openssl-streams/default.nix b/pkgs/development/libraries/haskell/openssl-streams/default.nix
new file mode 100644
index 00000000000..28609f9e0f6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/openssl-streams/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HsOpenSSL, HUnit, ioStreams, network, testFramework
+, testFrameworkHunit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "openssl-streams";
+  version = "1.1.0.2";
+  sha256 = "0h3jxxdls0p1xxr02rfag7j9y13ll3xgzx2ldv1nsfcv3rzw2pfy";
+  buildDepends = [ HsOpenSSL ioStreams network ];
+  testDepends = [
+    HsOpenSSL HUnit ioStreams network testFramework testFrameworkHunit
+  ];
+  jailbreak = true;
+  meta = {
+    description = "OpenSSL network support for io-streams";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/operational/default.nix b/pkgs/development/libraries/haskell/operational/default.nix
index f059f86d68f..d3359a3377e 100644
--- a/pkgs/development/libraries/haskell/operational/default.nix
+++ b/pkgs/development/libraries/haskell/operational/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, random }:
 
 cabal.mkDerivation (self: {
   pname = "operational";
-  version = "0.2.2.1";
-  sha256 = "1w4bln8mj4hw5i40amah570p77wimxfpn7l2mmjk9z07zavx1rv2";
+  version = "0.2.3.2";
+  sha256 = "1aj3jhiyz4190b0qmyp684b8lbzrp8jn56s898892rvbp0hxa0pd";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl random ];
diff --git a/pkgs/development/libraries/haskell/opml/default.nix b/pkgs/development/libraries/haskell/opml/default.nix
new file mode 100644
index 00000000000..a44954c10cd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/opml/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, xml }:
+
+cabal.mkDerivation (self: {
+  pname = "opml";
+  version = "0.4";
+  sha256 = "1bnr6lkcf2qs7pvrmd8a5xmklcg67l64b776hzclfvxqy1qil29x";
+  buildDepends = [ xml ];
+  meta = {
+    description = "Representing and handling OPML subscription information";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/options/default.nix b/pkgs/development/libraries/haskell/options/default.nix
new file mode 100644
index 00000000000..721de1e600e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/options/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, chell, chellQuickcheck, monadsTf, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "options";
+  version = "1.2";
+  sha256 = "14qrkwd8h50wf6972p0ylvhnc8mh11fqk9l8q0h9lapj7ywm74vx";
+  buildDepends = [ monadsTf transformers ];
+  testDepends = [ chell chellQuickcheck monadsTf transformers ];
+  doCheck = false;
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-options/";
+    description = "A powerful and easy-to-use command-line option parser";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
index 6f7ef601d61..82bc0fa8a9e 100644
--- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
@@ -1,14 +1,18 @@
-{ cabal, HUnit, testFramework, testFrameworkHunit
-, testFrameworkThPrime, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, HUnit, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2
+, testFrameworkThPrime, transformers, transformersCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "optparse-applicative";
-  version = "0.7.0.2";
-  sha256 = "1pq620236x8fch9nkq4g4vganbzksnwj8z1bb80c2mwvf6sbg5ci";
-  buildDepends = [ transformers ];
+  version = "0.9.1.1";
+  sha256 = "1fy8839y9dg2a5pj7abjiqkm3qcz8faip32q3x1zi5mrz4v3q2g6";
+  buildDepends = [ ansiWlPprint transformers transformersCompat ];
   testDepends = [
-    HUnit testFramework testFrameworkHunit testFrameworkThPrime
+    HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkThPrime
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
index dd400ef550d..e567bd82059 100644
--- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
@@ -1,22 +1,23 @@
-{ cabal, aeson, aesonPretty, attoparsec, Diff, filepath, hexpat
-, hsBibutils, HTTP, json, mtl, network, pandoc, pandocTypes, parsec
-, rfc5051, split, syb, tagsoup, texmath, text, time, utf8String
-, vector, yaml
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, attoparsec, filepath, hexpat
+, hsBibutils, mtl, pandoc, pandocTypes, parsec, rfc5051, split, syb
+, tagsoup, temporary, text, time, vector, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc-citeproc";
-  version = "0.1.2.1";
-  sha256 = "13i4shpbd9swbsrpmkpb7jx79m12z12m9f3x167fs78509dak3iv";
+  version = "0.4.0.1";
+  sha256 = "1z21mdxa2hrwqdclriyn3s1qqij3ccbkg7hb0acxrk3pzgidcinx";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson attoparsec filepath hexpat hsBibutils HTTP json mtl network
-    pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text
-    time utf8String vector yaml
+    aeson aesonPretty attoparsec filepath hexpat hsBibutils mtl pandoc
+    pandocTypes parsec rfc5051 split syb tagsoup temporary text time
+    vector yaml
   ];
   testDepends = [
-    aeson aesonPretty Diff filepath pandoc pandocTypes yaml
+    aeson filepath pandoc pandocTypes temporary text yaml
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix
index 41024c6b7d2..2aff8f02478 100644
--- a/pkgs/development/libraries/haskell/pandoc-types/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix
@@ -1,15 +1,16 @@
-{ cabal, aeson, syb }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, deepseqGenerics, syb }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc-types";
-  version = "1.12.3";
-  sha256 = "1klfplpn2faw9da7xw5h5sx44annc2g7himyzyvb436wjnkjan0j";
-  buildDepends = [ aeson syb ];
+  version = "1.12.4.1";
+  sha256 = "1wbgm0s45smi8gix0byapkiarbb416fv765fc329qsvl295xlyqq";
+  buildDepends = [ aeson deepseqGenerics syb ];
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
     description = "Types for representing a structured document";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index b5ccc95bd3f..1b2571563c3 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -1,40 +1,42 @@
-{ cabal, aeson, alex, ansiTerminal, attoparsec, base64Bytestring
-, blazeHtml, blazeMarkup, dataDefault, Diff, extensibleExceptions
-, filepath, happy, highlightingKate, hslua, HTTP, httpConduit
-, httpTypes, HUnit, mtl, network, pandocTypes, parsec, QuickCheck
-, random, syb, tagsoup, temporary, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, texmath, text, time
-, unorderedContainers, vector, xml, yaml, zipArchive, zlib
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, alex, ansiTerminal, base64Bytestring, binary
+, blazeHtml, blazeMarkup, dataDefault, deepseqGenerics, Diff
+, executablePath, extensibleExceptions, filepath, haddockLibrary
+, happy, highlightingKate, hslua, HTTP, httpClient, httpClientTls
+, httpTypes, HUnit, JuicyPixels, mtl, network, pandocTypes, parsec
+, QuickCheck, random, scientific, SHA, syb, tagsoup, temporary
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, texmath, text, time, unorderedContainers, vector, wai, waiExtra
+, xml, yaml, zipArchive, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.12.1";
-  sha256 = "0csyrcfdqv2mc7ngn63lan3c1dd6zy0pb24k0z1lsraqlmmw76nf";
+  version = "1.13.0.1";
+  sha256 = "0pjyxsr93gv0vrdxlr5i0c56mg6rf21qxf1141cb8l0hl0b416d6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson alex attoparsec base64Bytestring blazeHtml blazeMarkup
-    dataDefault extensibleExceptions filepath happy highlightingKate
-    hslua HTTP httpConduit httpTypes mtl network pandocTypes parsec
-    random syb tagsoup temporary texmath text time unorderedContainers
-    vector xml yaml zipArchive zlib
+    aeson alex base64Bytestring binary blazeHtml blazeMarkup
+    dataDefault deepseqGenerics extensibleExceptions filepath
+    haddockLibrary happy highlightingKate hslua HTTP httpClient
+    httpClientTls httpTypes JuicyPixels mtl network pandocTypes parsec
+    random scientific SHA syb tagsoup temporary texmath text time
+    unorderedContainers vector wai waiExtra xml yaml zipArchive zlib
   ];
   testDepends = [
-    ansiTerminal Diff filepath highlightingKate HUnit pandocTypes
-    QuickCheck syb testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text
+    ansiTerminal Diff executablePath filepath highlightingKate HUnit
+    pandocTypes QuickCheck syb testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text zipArchive
   ];
-  buildTools = [ alex happy ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
     description = "Conversion between markup formats";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index bbd935eb043..907a9a2e032 100644
--- a/pkgs/development/libraries/haskell/pango/default.nix
+++ b/pkgs/development/libraries/haskell/pango/default.nix
@@ -1,11 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cairo, glib, gtk2hsBuildtools, libc, mtl, pango, pkgconfig
+, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "pango";
-  version = "0.12.4";
-  sha256 = "08c7kmbnga6lijv7hpxgs766lsvaqpbqbph1gsxncqsl8haq4v5c";
-  buildDepends = [ cairo glib mtl ];
+  version = "0.13.0.0";
+  sha256 = "0qrsivr6z8pp4ibg1vyzyg2fw0jzrshn6h6g6vff93awxzqq9rlw";
+  buildDepends = [ cairo glib mtl text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ cairo pango ];
@@ -14,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the Pango text rendering engine";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel-io/default.nix b/pkgs/development/libraries/haskell/parallel-io/default.nix
index 56c1a130696..b9f6eda669e 100644
--- a/pkgs/development/libraries/haskell/parallel-io/default.nix
+++ b/pkgs/development/libraries/haskell/parallel-io/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, random }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
index 5212e6b2847..99575921cc6 100644
--- a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "parallel programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
index 9fb661fd481..52a5d3c3c33 100644
--- a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Parallel programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
index 83283c2317b..095603717b7 100644
--- a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Parallel programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
index 365ed196841..f881e2f83c7 100644
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Parallel programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
index e089c8dce8e..0e73c691383 100644
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Parallel programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
new file mode 100644
index 00000000000..e1d1b24286d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "parallel";
+  version = "3.2.0.4";
+  sha256 = "0v8l2rbczjadynbz4q4r00k8a1mqj70y63zbklpxckafq1zn7nwc";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parseargs/default.nix b/pkgs/development/libraries/haskell/parseargs/default.nix
index 2a481246e88..495df8984f6 100644
--- a/pkgs/development/libraries/haskell/parseargs/default.nix
+++ b/pkgs/development/libraries/haskell/parseargs/default.nix
@@ -1,16 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "parseargs";
-  version = "0.1.3.5";
-  sha256 = "1ig1n2nnicmy71qwcl5hkdk4mvwq0mz6zr5h9kw329lgvr9cyzyc";
+  version = "0.1.5.2";
+  sha256 = "0pzw7w1kr2rv6ffqgn93rypn37wy2r5k01p3y5256laaplm575am";
   isLibrary = true;
   isExecutable = true;
   meta = {
-    homepage = "http://wiki.cs.pdx.edu/bartforge/parseargs";
+    homepage = "http://github.com/BartMassey/parseargs";
     description = "Command-line argument parsing library for Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
index 17c046a06e1..458a2bd2977 100644
--- a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.1.nix b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
index 62c5b67b0e9..e997acd4b49 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.1.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.2.nix b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
index ecbdbb3aef0..dd55106fa0d 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.2.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, text }:
 
 cabal.mkDerivation (self: {
@@ -5,11 +7,12 @@ cabal.mkDerivation (self: {
   version = "3.1.2";
   sha256 = "0lhn9j2j5jlh7g0qx9f6ms63n9x1xlxg9isdvm6z0ksy3ywj9wch";
   buildDepends = [ mtl text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.3.nix b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
index b9b10f2e5b0..3e81947cfed 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.3.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, text }:
 
 cabal.mkDerivation (self: {
@@ -5,11 +7,12 @@ cabal.mkDerivation (self: {
   version = "3.1.3";
   sha256 = "1a64gzirgpa1i78gbbp9z059nh29xmcja4g8vgjb1fbylx6vn54z";
   buildDepends = [ mtl text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.5.nix b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
new file mode 100644
index 00000000000..b6a5d37e531
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "parsec";
+  version = "3.1.5";
+  sha256 = "1f1wg4qxp1ss2160sa3vbqff18fabwhqjkyfj4sgyfmwf9fj8wn5";
+  buildDepends = [ mtl text ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
+    description = "Monadic parser combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsers/0.10.3.nix b/pkgs/development/libraries/haskell/parsers/0.10.3.nix
new file mode 100644
index 00000000000..1da7380f252
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsers/0.10.3.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, charset, doctest, filepath, parsec, text, transformers
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "parsers";
+  version = "0.10.3";
+  sha256 = "1s9n59q77h0w1csq7yh945b53847a9hnpvviashgxyi7ahvw7jli";
+  buildDepends = [
+    charset parsec text transformers unorderedContainers
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/ekmett/parsers/";
+    description = "Parsing combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsers/0.10.nix b/pkgs/development/libraries/haskell/parsers/0.10.nix
deleted file mode 100644
index 529fdf47124..00000000000
--- a/pkgs/development/libraries/haskell/parsers/0.10.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ cabal, charset, doctest, filepath, parsec, text, transformers
-, unorderedContainers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "parsers";
-  version = "0.10";
-  sha256 = "090dvmdb1kmnc3k2x170y9fdifxi16hzkij1gzc51flx3bpx40i1";
-  buildDepends = [
-    charset parsec text transformers unorderedContainers
-  ];
-  testDepends = [ doctest filepath ];
-  meta = {
-    homepage = "http://github.com/ekmett/parsers/";
-    description = "Parsing combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsers/0.12.1.nix b/pkgs/development/libraries/haskell/parsers/0.12.1.nix
new file mode 100644
index 00000000000..5c49d144a10
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsers/0.12.1.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, charset, doctest, filepath, parsec, QuickCheck
+, quickcheckInstances, text, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "parsers";
+  version = "0.12.1";
+  sha256 = "0g9grf713zhn23vgmb6mdrm8r5snq1xa8jqnj6pghydj6m4rh97v";
+  buildDepends = [
+    attoparsec charset parsec text transformers unorderedContainers
+  ];
+  testDepends = [
+    attoparsec doctest filepath parsec QuickCheck quickcheckInstances
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/parsers/";
+    description = "Parsing combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsers/0.9.nix b/pkgs/development/libraries/haskell/parsers/0.9.nix
deleted file mode 100644
index dc42228df66..00000000000
--- a/pkgs/development/libraries/haskell/parsers/0.9.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, charset, doctest, filepath, text, transformers
-, unorderedContainers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "parsers";
-  version = "0.9";
-  sha256 = "04lbayvdv2hax4s9sqlnia7jpzv1sgls41ylql0xbi2zhz5rvyyi";
-  buildDepends = [ charset text transformers unorderedContainers ];
-  testDepends = [ doctest filepath ];
-  meta = {
-    homepage = "http://github.com/ekmett/parsers/";
-    description = "Parsing combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsimony/default.nix b/pkgs/development/libraries/haskell/parsimony/default.nix
index 4245fcf7f40..14b0d08396e 100644
--- a/pkgs/development/libraries/haskell/parsimony/default.nix
+++ b/pkgs/development/libraries/haskell/parsimony/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators derived from Parsec";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/path-pieces/default.nix b/pkgs/development/libraries/haskell/path-pieces/default.nix
index cdfe320a060..eea91f43cb5 100644
--- a/pkgs/development/libraries/haskell/path-pieces/default.nix
+++ b/pkgs/development/libraries/haskell/path-pieces/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, HUnit, QuickCheck, text, time }:
 
 cabal.mkDerivation (self: {
   pname = "path-pieces";
-  version = "0.1.3";
-  sha256 = "03x9kfcaz1zsdpdzs05pcl0hv4hffgsl2js8xiy5slba6n841v4l";
+  version = "0.1.4";
+  sha256 = "1fxhp4bk88km7z1rdpify7l38li5k21qxw3vgcmq9b6bblvz6y2v";
   buildDepends = [ text time ];
   testDepends = [ hspec HUnit QuickCheck text ];
   meta = {
     description = "Components of paths";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pathtype/default.nix b/pkgs/development/libraries/haskell/pathtype/default.nix
index f0be81e64ae..d004b177e3d 100644
--- a/pkgs/development/libraries/haskell/pathtype/default.nix
+++ b/pkgs/development/libraries/haskell/pathtype/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, time }:
 
 cabal.mkDerivation (self: {
   pname = "pathtype";
-  version = "0.5.3";
-  sha256 = "11plb7xw4j8vjziw1q0ymx33p6185cxd2hqrxw2hgsfzf2b9dvqg";
+  version = "0.5.4";
+  sha256 = "1ns5q3nrkl99xp4mrmk8wpvb9qzyvnw5cyjwh5rh76ykm2d5dbg7";
   buildDepends = [ QuickCheck time ];
   meta = {
     homepage = "http://code.haskell.org/pathtype";
     description = "Type-safe replacement for System.FilePath etc";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/patience/default.nix b/pkgs/development/libraries/haskell/patience/default.nix
new file mode 100644
index 00000000000..6f70eb1e14d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/patience/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "patience";
+  version = "0.1.1";
+  sha256 = "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm";
+  meta = {
+    description = "Patience diff and longest increasing subsequence";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pattern-arrows/default.nix b/pkgs/development/libraries/haskell/pattern-arrows/default.nix
new file mode 100644
index 00000000000..43ef906aad2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pattern-arrows/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "pattern-arrows";
+  version = "0.0.2";
+  sha256 = "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html";
+    description = "Arrows for Pretty Printing";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pbkdf/default.nix b/pkgs/development/libraries/haskell/pbkdf/default.nix
new file mode 100644
index 00000000000..6f30043ee3b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pbkdf/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, byteable, bytedump, cryptohash, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "pbkdf";
+  version = "1.1.1.1";
+  sha256 = "1nbn8kan43i00g23g8aljxjpaxm9q1qhzxxdgks0mc4mr1f7bifx";
+  buildDepends = [ binary byteable bytedump cryptohash utf8String ];
+  testDepends = [ binary byteable bytedump cryptohash utf8String ];
+  meta = {
+    homepage = "https://github.com/cdornan/pbkdf";
+    description = "Haskell implementation of the PBKDF functions from RFC-2898";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pcap-enumerator/default.nix b/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
index 2a86ebb7229..f7480295f6d 100644
--- a/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, enumerator, pcap, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/pcap/default.nix b/pkgs/development/libraries/haskell/pcap/default.nix
index 876905a4a5a..56e2e71969c 100644
--- a/pkgs/development/libraries/haskell/pcap/default.nix
+++ b/pkgs/development/libraries/haskell/pcap/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libpcap, network, time }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/pcre-light/default.nix b/pkgs/development/libraries/haskell/pcre-light/default.nix
index 71e0ddadb59..49e0d5fffad 100644
--- a/pkgs/development/libraries/haskell/pcre-light/default.nix
+++ b/pkgs/development/libraries/haskell/pcre-light/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, pcre }:
 
 cabal.mkDerivation (self: {
   pname = "pcre-light";
-  version = "0.4";
-  sha256 = "1xiikiap1bvx9czw64664vifdq64scx0yhfclh5m8mkvn3x6yzxk";
+  version = "0.4.0.3";
+  sha256 = "0l1df2sk5qwf424bvb8mbdkr2xjg43fi92n5r22yd7vm1zz0jqvf";
   extraLibraries = [ pcre ];
   meta = {
-    homepage = "http://code.haskell.org/~dons/code/pcre-light";
+    homepage = "https://github.com/Daniel-Diaz/pcre-light";
     description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pem/default.nix b/pkgs/development/libraries/haskell/pem/default.nix
index 473f15c4d1f..42944c03205 100644
--- a/pkgs/development/libraries/haskell/pem/default.nix
+++ b/pkgs/development/libraries/haskell/pem/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, HUnit, mtl, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "pem";
-  version = "0.2.0";
-  sha256 = "1hmsyavqzjx1chbn4a8vf0r2wz2fg0xl9cxgja4ap04si3qr458v";
+  version = "0.2.2";
+  sha256 = "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p";
   buildDepends = [ base64Bytestring mtl ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Privacy Enhanced Mail (PEM) format reader and writer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/permutation/default.nix b/pkgs/development/libraries/haskell/permutation/default.nix
index 4f38dfcaa12..1c86e8259a8 100644
--- a/pkgs/development/libraries/haskell/permutation/default.nix
+++ b/pkgs/development/libraries/haskell/permutation/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "permutation";
-  version = "0.4.1";
-  sha256 = "0fgw4ivs8sa18fyphwr3mzp2v7ha2nz2yf3a7jmz9ymqdf2xws97";
+  version = "0.5.0.4";
+  sha256 = "0kl5yw1as2y8yf2ac2f6v7g8k7mzjqw5fdh18a6m3jfhjw9rcqf7";
   doCheck = false;
   meta = {
-    homepage = "http://stat.stanford.edu/~patperry/code/permutation";
+    homepage = "https://github.com/spacekitteh/permutation";
     description = "A library for permutations and combinations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent-mysql/default.nix b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
new file mode 100644
index 00000000000..beb2ca94263
--- /dev/null
+++ b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeBuilder, conduit, monadControl, mysql
+, mysqlSimple, persistent, resourcet, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "persistent-mysql";
+  version = "1.3.0.2";
+  sha256 = "0yv2f8zqypbp5swdpxmgnfmmfsr6lwhb27k0hl9bh7ya76anhvqy";
+  buildDepends = [
+    aeson blazeBuilder conduit monadControl mysql mysqlSimple
+    persistent resourcet text transformers
+  ];
+  meta = {
+    homepage = "http://www.yesodweb.com/book/persistent";
+    description = "Backend for the persistent library using MySQL database server";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
index 4195a048458..207183db846 100644
--- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
@@ -1,20 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, blazeBuilder, conduit, monadControl, persistent
-, postgresqlLibpq, postgresqlSimple, text, time, transformers
+, postgresqlLibpq, postgresqlSimple, resourcet, text, time
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-postgresql";
-  version = "1.2.1";
-  sha256 = "04gl1qdhag60q4j2r61qr1skim1wcyx2vq34j51qk1a62wyqsdrl";
+  version = "1.3.1.1";
+  sha256 = "1qi19fm7waxrbh795jvcny7aaj6b64jqcwv772xjzl9dbv3q9qhc";
   buildDepends = [
     aeson blazeBuilder conduit monadControl persistent postgresqlLibpq
-    postgresqlSimple text time transformers
+    postgresqlSimple resourcet text time transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
     description = "Backend for the persistent library using postgresql";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index e4a3bc77600..288e91ab78d 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -1,19 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, conduit, monadControl, monadLogger, persistent
-, text, transformers
+, resourcet, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-sqlite";
-  version = "1.2.1";
-  sha256 = "1lbb8s6p3xixlkgwx30p473b438qjnw9s41bcm1q38vkklpa75y0";
+  version = "1.3.0.5";
+  sha256 = "05b7byc4z7mhni90cj2aan63f599wv0511zqbsm6kbylk1zpyizb";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    aeson conduit monadControl monadLogger persistent text transformers
+    aeson conduit monadControl monadLogger persistent resourcet text
+    transformers
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
     description = "Backend for the persistent library using sqlite3";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index c3bb228933d..4b3c97c1a9c 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -1,20 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, hspec, monadControl, monadLogger, persistent
-, QuickCheck, text, transformers
+, QuickCheck, text, transformers, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.2.0.4";
-  sha256 = "0lhqv4mcai9r5mzj5h6fsd1hd8mv1458id0rb6q157192gywxhzf";
+  version = "1.3.2.2";
+  sha256 = "0vcj0y2i423cz1iry5gsz5cvqynpnbhzl6basqcqn6k8ca7s876i";
   buildDepends = [
     aeson monadControl monadLogger persistent text transformers
+    unorderedContainers
+  ];
+  testDepends = [
+    aeson hspec persistent QuickCheck text transformers
   ];
-  testDepends = [ aeson hspec persistent QuickCheck text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
     description = "Type-safe, non-relational, multi-backend persistence";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index a336ab4fb88..a5add651473 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,23 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, base64Bytestring, blazeHtml
-, blazeMarkup, conduit, hspec, liftedBase, monadControl
-, monadLogger, pathPieces, poolConduit, resourcet, silently, sqlite
-, text, time, transformers, transformersBase, unorderedContainers
-, vector
+, blazeMarkup, conduit, exceptions, hspec, liftedBase, monadControl
+, monadLogger, pathPieces, resourcePool, resourcet, scientific
+, silently, sqlite, text, time, transformers, transformersBase
+, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.2.3.0";
-  sha256 = "0bil1932rnh3my9yjyc4sk24g0qwkkgv8b48nrn7fm007vyf173m";
+  version = "1.3.3";
+  sha256 = "1pz3xdbk46qprcyb0sll5zzr2vp6x08w7pd5glz2jf2242k7cdrd";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
-    liftedBase monadControl monadLogger pathPieces poolConduit
-    resourcet silently text time transformers transformersBase
-    unorderedContainers vector
+    exceptions liftedBase monadControl monadLogger pathPieces
+    resourcePool resourcet scientific silently text time transformers
+    transformersBase unorderedContainers vector
   ];
   testDepends = [
     aeson attoparsec base64Bytestring blazeHtml conduit hspec
-    monadControl monadLogger pathPieces resourcet text time
+    monadControl monadLogger pathPieces resourcet scientific text time
     transformers unorderedContainers vector
   ];
   extraLibraries = [ sqlite ];
@@ -26,6 +28,5 @@ cabal.mkDerivation (self: {
     description = "Type-safe, multi-backend data serialization";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pgm/default.nix b/pkgs/development/libraries/haskell/pgm/default.nix
index b1be8dd6d03..0e80c55a447 100644
--- a/pkgs/development/libraries/haskell/pgm/default.nix
+++ b/pkgs/development/libraries/haskell/pgm/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, parsec }:
 
 cabal.mkDerivation (self: {
   pname = "pgm";
-  version = "0.1.3";
-  sha256 = "1byq8bacqgdpahf57ccwwa45wf9ij0kkgp89rg9flsv1g10364d4";
+  version = "0.1.4";
+  sha256 = "1s3kch1qsxrfzk9sa4b0jn9vzjhw7dvh1sajgnnz97gl5y0gydmv";
   buildDepends = [ parsec ];
   meta = {
-    homepage = "https://github.com/sergeyastanin/haskell-pgm";
+    homepage = "https://github.com/astanin/haskell-pgm";
     description = "Pure Haskell implementation of PGM image format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-aeson/default.nix b/pkgs/development/libraries/haskell/pipes-aeson/default.nix
index 156b89244ee..237492a65bd 100644
--- a/pkgs/development/libraries/haskell/pipes-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-aeson/default.nix
@@ -1,19 +1,23 @@
-{ cabal, aeson, attoparsec, pipes, pipesAttoparsec, pipesParse
-, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, pipes, pipesAttoparsec, pipesBytestring
+, pipesParse, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-aeson";
-  version = "0.2.0";
-  sha256 = "12y5dywrhx3mvmlq26bc1cwybnclqbf91zvlz5ig2pi01ji3q94y";
+  version = "0.4.1.2";
+  sha256 = "0wacib0wf40bkm6rp2qcsrahc43g89l3icclbrshk8r54dhbazl7";
   buildDepends = [
-    aeson attoparsec pipes pipesAttoparsec pipesParse transformers
+    aeson attoparsec pipes pipesAttoparsec pipesBytestring pipesParse
+    transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/k0001/pipes-aeson";
     description = "Encode and decode JSON streams using Aeson and Pipes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
index 50f169928db..51eba83bb82 100644
--- a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
@@ -1,22 +1,23 @@
-{ cabal, attoparsec, HUnit, mmorph, pipes, pipesParse, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
-, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, HUnit, mmorph, pipes, pipesParse, tasty
+, tastyHunit, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-attoparsec";
-  version = "0.3.0";
-  sha256 = "1jsgssfs0ndn8aayc0rxyb4vlp2fny8npmnvym7v1yhp2qv84c7b";
+  version = "0.5.1";
+  sha256 = "0qvsvbcn211xp4c669cpljmnsqn9zk1rn94ya1dbq77l970s8xah";
   buildDepends = [ attoparsec pipes pipesParse text transformers ];
   testDepends = [
-    attoparsec HUnit mmorph pipes pipesParse QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2 text transformers
+    attoparsec HUnit mmorph pipes pipesParse tasty tastyHunit text
+    transformers
   ];
   meta = {
     homepage = "https://github.com/k0001/pipes-attoparsec";
     description = "Attoparsec and Pipes integration";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-binary/default.nix b/pkgs/development/libraries/haskell/pipes-binary/default.nix
new file mode 100644
index 00000000000..94f899c6a8d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-binary/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, lensFamilyCore, pipes, pipesBytestring, pipesParse
+, smallcheck, tasty, tastyHunit, tastySmallcheck, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-binary";
+  version = "0.4.0.2";
+  sha256 = "1lbz2hybglkmm7dawg16pma2yr732yy1agh5b9vwlw2ik92hrm58";
+  buildDepends = [
+    binary pipes pipesBytestring pipesParse transformers
+  ];
+  testDepends = [
+    binary lensFamilyCore pipes pipesParse smallcheck tasty tastyHunit
+    tastySmallcheck transformers
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/k0001/pipes-binary";
+    description = "Encode and decode binary streams using the pipes and binary libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
index 715fcaa9338..8c52ccf5546 100644
--- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
@@ -1,14 +1,16 @@
-{ cabal, pipes, pipesParse, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, pipes, pipesGroup, pipesParse, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-bytestring";
-  version = "1.0.1";
-  sha256 = "0zk2n9mly1mjh1zb3z33gab362abgh8c0mw88mmwnlfszq97hcz7";
-  buildDepends = [ pipes pipesParse transformers ];
+  version = "2.1.0";
+  sha256 = "1q98444kpcdc817zbg121g2n1mhblrdfsmd0bs5rqq6ijxb213z0";
+  buildDepends = [ pipes pipesGroup pipesParse transformers ];
   meta = {
     description = "ByteString support for pipes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
index 7136a281f89..91c9c6a8e19 100644
--- a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, async, pipes, stm }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-concurrency";
-  version = "2.0.1";
-  sha256 = "0grfwmmwzxrska2218php22f898nn3x92bz1lmhpw2qi8mywvkzh";
+  version = "2.0.2";
+  sha256 = "0g4fbh8dk8ph2ga0vyanqj52rxk9c1zi6g4yk3a1g6bnf4bklhm8";
   buildDepends = [ pipes stm ];
   testDepends = [ async pipes stm ];
   meta = {
     description = "Concurrency for the pipes ecosystem";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-csv/default.nix b/pkgs/development/libraries/haskell/pipes-csv/default.nix
new file mode 100644
index 00000000000..c18d2297f67
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-csv/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, cassava, HUnit, pipes, pipesBytestring
+, testFramework, testFrameworkHunit, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-csv";
+  version = "1.4.0";
+  sha256 = "1q1gnfnkvlkk8lwllhyar7323k3jynh9rl6x9yks7lc3nqr1n16j";
+  buildDepends = [
+    blazeBuilder cassava pipes unorderedContainers vector
+  ];
+  testDepends = [
+    cassava HUnit pipes pipesBytestring testFramework
+    testFrameworkHunit vector
+  ];
+  meta = {
+    description = "Fast, streaming csv parser";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-group/default.nix b/pkgs/development/libraries/haskell/pipes-group/default.nix
new file mode 100644
index 00000000000..584713352ba
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-group/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, free, pipes, pipesParse, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-group";
+  version = "1.0.1";
+  sha256 = "19caih65hsvnvkwv8dlrrf961aw6k0zr9yx78cia1padslidxlbw";
+  buildDepends = [ free pipes pipesParse transformers ];
+  meta = {
+    description = "Group streams into substreams";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-http/default.nix b/pkgs/development/libraries/haskell/pipes-http/default.nix
new file mode 100644
index 00000000000..285d1405191
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-http/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, httpClient, httpClientTls, pipes }:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-http";
+  version = "1.0.1";
+  sha256 = "15jmhf6lgqxv9zn08dky8biiv8cp4s3vf0xmp78pbllaqkvm4z9w";
+  buildDepends = [ httpClient httpClientTls pipes ];
+  meta = {
+    description = "HTTP client with pipes interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix
index 89c67fb79ca..4e7cd3d125d 100644
--- a/pkgs/development/libraries/haskell/pipes-network/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-network/default.nix
@@ -1,17 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, network, networkSimple, pipes, pipesSafe, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-network";
-  version = "0.6.0";
-  sha256 = "1jfj5bmpvf9vvq86jz8hbhzzjawchri90vx11fxcbz2ckks673k9";
+  version = "0.6.4";
+  sha256 = "1wabyv5j4q0wxiz8ry7dq3amlvfh4r0721pd2lksx7hj3a5qzm2p";
   buildDepends = [
     network networkSimple pipes pipesSafe transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/k0001/pipes-network";
     description = "Use network sockets together with the pipes library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix
index 33892ef8fc6..270908a56a6 100644
--- a/pkgs/development/libraries/haskell/pipes-parse/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix
@@ -1,14 +1,16 @@
-{ cabal, free, pipes, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, pipes, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-parse";
-  version = "2.0.1";
-  sha256 = "04sqjdmgkgk5qva0gyrblhdvmljgmci2yzzw7y17pmnwxwdja4f0";
-  buildDepends = [ free pipes transformers ];
+  version = "3.0.2";
+  sha256 = "1d5lhh8knk0hmvd9wv2ihs5z9ybyvhd1n7qaazqkazqkyl14pd08";
+  buildDepends = [ pipes transformers ];
   meta = {
     description = "Parsing infrastructure for the pipes ecosystem";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
new file mode 100644
index 00000000000..ea2b230feeb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, exceptions, mtl, pipes, pipesConcurrency, pipesSafe
+, postgresqlSimple, stm, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-postgresql-simple";
+  version = "0.1.2.0";
+  sha256 = "12ij2msdwjzzc93mlvvizh6amam5ld9j1a0b9xsa2awdjd21mwc1";
+  buildDepends = [
+    async exceptions mtl pipes pipesConcurrency pipesSafe
+    postgresqlSimple stm text transformers
+  ];
+  meta = {
+    description = "Convert various postgresql-simple calls to work with pipes";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix
index fd722c0fb05..6c3265cc9f4 100644
--- a/pkgs/development/libraries/haskell/pipes-safe/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-safe/default.nix
@@ -1,14 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, exceptions, pipes, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-safe";
-  version = "2.0.0";
-  sha256 = "1g7ha6x87qyk3f9vrl0djzdvaq80q4q6hh7lya4kgm3cbz00a0yv";
+  version = "2.2.0";
+  sha256 = "1m44a2pbws73jbr2ca48i94mrfwzlsibyc22i2w3fqq159qfg6ca";
   buildDepends = [ exceptions pipes transformers ];
   meta = {
     description = "Safety for the pipes ecosystem";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-text/default.nix b/pkgs/development/libraries/haskell/pipes-text/default.nix
new file mode 100644
index 00000000000..deef6e0fdb6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-text/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, pipes, pipesBytestring, pipesGroup, pipesParse, pipesSafe
+, streamingCommons, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-text";
+  version = "0.0.0.12";
+  sha256 = "18xf0rhshbl03js50n98k96692w98j0j0dfyi67780i08c39dq6m";
+  buildDepends = [
+    pipes pipesBytestring pipesGroup pipesParse pipesSafe
+    streamingCommons text transformers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/michaelt/text-pipes";
+    description = "Text pipes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-zlib/default.nix b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
index 171b8c90b56..9a4ed04892b 100644
--- a/pkgs/development/libraries/haskell/pipes-zlib/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, pipes, transformers, zlib, zlibBindings }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-zlib";
-  version = "0.3.0";
-  sha256 = "15d475rxziazxlbcbm8snik45z88kk7gxbxrpv4070bwylh3z0wc";
+  version = "0.4.0.1";
+  sha256 = "1k91q5hci4hk2kzaqfvg1nwbklqyg83wwhm3sdfhdn2famj0mls0";
   buildDepends = [ pipes transformers zlib zlibBindings ];
   meta = {
     homepage = "https://github.com/k0001/pipes-zlib";
     description = "Zlib compression and decompression for Pipes streams";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index a7802841607..9f723826dbb 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -1,14 +1,21 @@
-{ cabal, mmorph, mtl, transformers, void }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mmorph, mtl, QuickCheck, testFramework
+, testFrameworkQuickcheck2, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "pipes";
-  version = "4.0.0";
-  sha256 = "0zsz739hjmfirwv9sacibpikwz48l006g95m8da1rqk5p1yyr2lm";
-  buildDepends = [ mmorph mtl transformers void ];
+  version = "4.1.2";
+  sha256 = "0prxk4qjdcmxjdvpi1bwql0s3l1kwlaz9sydr9swa8bc8ams3a11";
+  buildDepends = [ mmorph mtl transformers ];
+  testDepends = [
+    mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
+  ];
   meta = {
     description = "Compositional pipelines";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/placeholders/default.nix b/pkgs/development/libraries/haskell/placeholders/default.nix
new file mode 100644
index 00000000000..bb4a2c5ca15
--- /dev/null
+++ b/pkgs/development/libraries/haskell/placeholders/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "placeholders";
+  version = "0.1";
+  sha256 = "0ih35n2pw5gr9ggj2xz5zfcs4bdk200fdw6q9hdy3xna7maphak5";
+  meta = {
+    homepage = "http://github.com/ahammar/placeholders";
+    description = "Placeholders for use while developing Haskell code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/plugins/default.nix b/pkgs/development/libraries/haskell/plugins/default.nix
new file mode 100644
index 00000000000..face90f5b1d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/plugins/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, ghcPaths, haskellSrc, random }:
+
+cabal.mkDerivation (self: {
+  pname = "plugins";
+  version = "1.5.4.0";
+  sha256 = "126lp2bbz9aa3pfi5dmbbzgsancdj1m26k7man96avixb21mzbi8";
+  buildDepends = [ Cabal filepath ghcPaths haskellSrc random ];
+  meta = {
+    homepage = "http://hub.darcs.net/stepcut/plugins";
+    description = "Dynamic linking for Haskell and C objects";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pointed/default.nix b/pkgs/development/libraries/haskell/pointed/default.nix
index 15f4ba59aaa..f486737765e 100644
--- a/pkgs/development/libraries/haskell/pointed/default.nix
+++ b/pkgs/development/libraries/haskell/pointed/default.nix
@@ -1,15 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad, dataDefaultClass, semigroupoids, semigroups, stm
 , tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "pointed";
-  version = "4.0";
-  sha256 = "02y7ba1pcpmwcp762516p4x75y3ma2kml9mbiv1y8gcnn4ylvir4";
+  version = "4.1";
+  sha256 = "1l40nl1sx16hbqz1kv70g6jp2igvvj93p5db8b6bsgjxx9ibck6g";
   buildDepends = [
     comonad dataDefaultClass semigroupoids semigroups stm tagged
     transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/pointed/";
     description = "Pointed and copointed data";
diff --git a/pkgs/development/libraries/haskell/pointedlist/default.nix b/pkgs/development/libraries/haskell/pointedlist/default.nix
new file mode 100644
index 00000000000..8acb4bac6b1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pointedlist/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary }:
+
+cabal.mkDerivation (self: {
+  pname = "pointedlist";
+  version = "0.6.1";
+  sha256 = "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l";
+  buildDepends = [ binary ];
+  meta = {
+    description = "A zipper-like comonad which works as a list, tracking a position";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/polyparse/default.nix b/pkgs/development/libraries/haskell/polyparse/default.nix
index 45b994026c2..c9e237b6506 100644
--- a/pkgs/development/libraries/haskell/polyparse/default.nix
+++ b/pkgs/development/libraries/haskell/polyparse/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A variety of alternative parser combinator libraries";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix
index 77faceeea92..f8f748056c3 100644
--- a/pkgs/development/libraries/haskell/pool-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix
@@ -1,17 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, monadControl, resourcePool, resourcet, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "pool-conduit";
-  version = "0.1.2";
-  sha256 = "10lvq18pk9d4la5irr1qv1c9y4qbwlglmzgs7bz1d0g5232w3rv8";
+  version = "0.1.2.3";
+  sha256 = "1myjbmbh0jm89ycx9d961mpgw8hp7al8wgnsls4p19gvr73gcbfv";
   buildDepends = [
     monadControl resourcePool resourcet transformers
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
-    description = "Resource pool allocations via ResourceT";
+    description = "Resource pool allocations via ResourceT. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pop3-client/default.nix b/pkgs/development/libraries/haskell/pop3-client/default.nix
index 6656814f64f..e0f1edad52e 100644
--- a/pkgs/development/libraries/haskell/pop3-client/default.nix
+++ b/pkgs/development/libraries/haskell/pop3-client/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix
new file mode 100644
index 00000000000..327744560ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/poppler/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, gdk_pixbuf, glib, gtk, gtk2hsBuildtools, libc, mtl
+, pango, popplerGlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "poppler";
+  version = "0.12.3";
+  sha256 = "1ny2r1cpsshpg00w6bd0f5mw26xsy99l7dgx2xq8f01zcwdy4nrp";
+  buildDepends = [ cairo glib gtk mtl ];
+  buildTools = [ gtk2hsBuildtools ];
+  extraLibraries = [ libc ];
+  pkgconfigDepends = [ cairo gdk_pixbuf glib gtk pango popplerGlib ];
+  meta = {
+    homepage = "http://www.haskell.org/gtk2hs/";
+    description = "Binding to the Poppler";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/posix-paths/default.nix b/pkgs/development/libraries/haskell/posix-paths/default.nix
new file mode 100644
index 00000000000..3a49c84b783
--- /dev/null
+++ b/pkgs/development/libraries/haskell/posix-paths/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, HUnit, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "posix-paths";
+  version = "0.2.0.3";
+  sha256 = "16r0sd2m9xzzkrvj6qvc7z3yc8r83kpx724v5wifphcri3scvznv";
+  testDepends = [ doctest HUnit QuickCheck ];
+  meta = {
+    description = "POSIX filepath/directory functionality";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
index 53e6066f968..eb677e4868c 100644
--- a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, postgresql }:
 
 cabal.mkDerivation (self: {
   pname = "postgresql-libpq";
-  version = "0.8.2.4";
-  sha256 = "1dqb4pnsvd6378rhmlhi151sin06wfm9sx12m3ir9x0j5ppb5sx6";
+  version = "0.9.0.1";
+  sha256 = "0fdz9pkmrajqm026s6d5ib9kqg5ph93fw7l2xrgf22zagl53rzx3";
   extraLibraries = [ postgresql ];
   meta = {
     homepage = "http://github.com/lpsmith/postgresql-libpq";
     description = "low-level binding to libpq";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 4203c0cd84c..a3f471fcb4d 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -1,24 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, base16Bytestring, blazeBuilder
-, blazeTextual, cryptohash, HUnit, postgresqlLibpq, text, time
-, transformers, uuid, vector
+, blazeTextual, cryptohash, hashable, HUnit, postgresqlLibpq
+, scientific, text, time, transformers, uuid, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.3.9.1";
-  sha256 = "0byzlmcbwlycvlk35w0gdp5x7860jcc589ypbdx0vm08aq5vz87v";
+  version = "0.4.3.0";
+  sha256 = "16i1qzshbscnbjb4rxz5hl1iaxjmsc21878prj5pp33zbm53dlcm";
   buildDepends = [
-    aeson attoparsec blazeBuilder blazeTextual postgresqlLibpq text
-    time transformers uuid vector
+    aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq
+    scientific text time transformers uuid vector
   ];
   testDepends = [
-    base16Bytestring cryptohash HUnit text time vector
+    aeson base16Bytestring cryptohash HUnit text time vector
   ];
   doCheck = false;
   meta = {
     description = "Mid-Level PostgreSQL client library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ppm/default.nix b/pkgs/development/libraries/haskell/ppm/default.nix
index c55fc0226e9..c84253da0e8 100644
--- a/pkgs/development/libraries/haskell/ppm/default.nix
+++ b/pkgs/development/libraries/haskell/ppm/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "a tiny PPM image generator";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pqueue/default.nix b/pkgs/development/libraries/haskell/pqueue/default.nix
new file mode 100644
index 00000000000..fdf153c5a26
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pqueue/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "pqueue";
+  version = "1.2.1";
+  sha256 = "1fily60f4njby7zknmik7a2wxsm3y77ckr69w9bb3fgq22gbzky6";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Reliable, persistent, fast priority queues";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/prelude-extras/default.nix b/pkgs/development/libraries/haskell/prelude-extras/default.nix
new file mode 100644
index 00000000000..40cbfef908a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/prelude-extras/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "prelude-extras";
+  version = "0.4";
+  sha256 = "0mzsc9pzcamaa7i3g9hkajy35sbpqdjrflv6r98r8hhlr0yrdjan";
+  meta = {
+    homepage = "http://github.com/ekmett/prelude-extras";
+    description = "Haskell 98 - higher order versions of Prelude classes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/prelude-safeenum/default.nix b/pkgs/development/libraries/haskell/prelude-safeenum/default.nix
new file mode 100644
index 00000000000..17674a5be56
--- /dev/null
+++ b/pkgs/development/libraries/haskell/prelude-safeenum/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "prelude-safeenum";
+  version = "0.1.1.1";
+  sha256 = "0cff77nbhy3dsamrwm2wxhbi1mf2bzkdd1pdzqv3klpbzjwkdszv";
+  meta = {
+    homepage = "http://code.haskell.org/~wren/";
+    description = "A redefinition of the Prelude's Enum class in order to render it safe";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
new file mode 100644
index 00000000000..4bbd60e0ebe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, parsec, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "preprocessor-tools";
+  version = "0.1.3";
+  sha256 = "0jz85v93zpv6cwvad18wr12nsikmv4n20gn37zli2h34zi543i9v";
+  buildDepends = [ mtl parsec syb ];
+  meta = {
+    homepage = "http://www.ccs.neu.edu/~tov/pubs/haskell-session-types";
+    description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix b/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix
new file mode 100644
index 00000000000..021becccfa1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, parsec, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "preprocessor-tools";
+  version = "1.0.1";
+  sha256 = "0ngfmvw6hvbr52i01n180ls4c8rx2wk2rka6g6igpvy9x2gwjin9";
+  buildDepends = [ mtl parsec syb ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/";
+    description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/presburger/default.nix b/pkgs/development/libraries/haskell/presburger/default.nix
new file mode 100644
index 00000000000..fed380b9bd0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/presburger/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "presburger";
+  version = "1.1";
+  sha256 = "0pb0rabhhzrrrsr8260lgjpp168pm8ldqwfqbc2i1wy95n7wxk7c";
+  meta = {
+    homepage = "http://github.com/yav/presburger";
+    description = "A decision procedure for quantifier-free linear arithmetic";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pretty-show/1.2.nix b/pkgs/development/libraries/haskell/pretty-show/1.2.nix
deleted file mode 100644
index 545816a57a0..00000000000
--- a/pkgs/development/libraries/haskell/pretty-show/1.2.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, haskellLexer }:
-
-cabal.mkDerivation (self: {
-  pname = "pretty-show";
-  version = "1.2";
-  sha256 = "0lbalmyrqisgd2spbvzifsy25lr6cl9sgz78hav8q8r406k7nf2l";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ haskellLexer ];
-  meta = {
-    homepage = "http://wiki.github.com/yav/pretty-show";
-    description = "Tools for working with derived Show instances";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/pretty-show/1.6.1.nix b/pkgs/development/libraries/haskell/pretty-show/1.6.1.nix
deleted file mode 100644
index dc31b452a1b..00000000000
--- a/pkgs/development/libraries/haskell/pretty-show/1.6.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, filepath, haskellLexer }:
-
-cabal.mkDerivation (self: {
-  pname = "pretty-show";
-  version = "1.6.1";
-  sha256 = "17zdljvpf7ra9x3lny5kbjvmz3psn8y1k9cwbg97m017gh87gsh0";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ filepath haskellLexer ];
-  meta = {
-    homepage = "http://wiki.github.com/yav/pretty-show";
-    description = "Tools for working with derived `Show` instances and generic inspection of values";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/pretty-show/default.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix
new file mode 100644
index 00000000000..a9a39529f61
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pretty-show/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, happy, haskellLexer }:
+
+cabal.mkDerivation (self: {
+  pname = "pretty-show";
+  version = "1.6.8";
+  sha256 = "0vfb712dvbb91659sch62d06vm0451b9l4l0hdwnlbhzjymmh2rs";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath haskellLexer ];
+  buildTools = [ happy ];
+  meta = {
+    homepage = "http://wiki.github.com/yav/pretty-show";
+    description = "Tools for working with derived `Show` instances and generic inspection of values";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/prettyclass/default.nix b/pkgs/development/libraries/haskell/prettyclass/default.nix
new file mode 100644
index 00000000000..a81d734aaa9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/prettyclass/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "prettyclass";
+  version = "1.0.0.0";
+  sha256 = "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5";
+  meta = {
+    description = "Pretty printing class similar to Show";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
index af6778ccd14..49ad80e064f 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Primitive memory-related operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix
index ff62216b3f4..2b43bf467c1 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Primitive memory-related operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
new file mode 100644
index 00000000000..d9bbd51c199
--- /dev/null
+++ b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "primitive";
+  version = "0.5.2.1";
+  sha256 = "1vn3y5gh4lwvgvklhn8k1z7gxjy27ik621f4gpa9cb7gqa0nnl8f";
+  meta = {
+    homepage = "https://github.com/haskell/primitive";
+    description = "Primitive memory-related operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
new file mode 100644
index 00000000000..46d7fbbdcfb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "primitive";
+  version = "0.5.3.0";
+  sha256 = "11wfdnhrgb7606d5sywqzlvnhzf45a9ywl9wghysvmr0mq2iypvn";
+  meta = {
+    homepage = "https://github.com/haskell/primitive";
+    description = "Primitive memory-related operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/probability/default.nix b/pkgs/development/libraries/haskell/probability/default.nix
new file mode 100644
index 00000000000..bada700ca3d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/probability/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, transformers, utilityHt }:
+
+cabal.mkDerivation (self: {
+  pname = "probability";
+  version = "0.2.4.1";
+  sha256 = "0nh73l03d7niz3a3h2y4i80mlp64ilfkx7krn57skzfi8drwnjvc";
+  buildDepends = [ random transformers utilityHt ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Probabilistic_Functional_Programming";
+    description = "Probabilistic Functional Programming";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix
new file mode 100644
index 00000000000..ff8a54b8571
--- /dev/null
+++ b/pkgs/development/libraries/haskell/process-conduit/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitExtra, controlMonadLoop, hspec, mtl
+, resourcet, shakespeare, shakespeareText, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "process-conduit";
+  version = "1.2.0.1";
+  sha256 = "0hnbywmjvk3y26sc9a0jfqzm04pg08zd2bflld1mvni02s89lvc8";
+  buildDepends = [
+    conduit controlMonadLoop mtl resourcet shakespeare shakespeareText
+    text
+  ];
+  testDepends = [ conduit conduitExtra hspec resourcet ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/snoyberg/process-conduit";
+    description = "Conduits for processes (deprecated)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/process-extras/default.nix b/pkgs/development/libraries/haskell/process-extras/default.nix
index 1d9cb4f8062..000b3b78e7f 100644
--- a/pkgs/development/libraries/haskell/process-extras/default.nix
+++ b/pkgs/development/libraries/haskell/process-extras/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, text }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Process extras";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/process/1.2.0.0.nix b/pkgs/development/libraries/haskell/process/1.2.0.0.nix
new file mode 100644
index 00000000000..615f9201b04
--- /dev/null
+++ b/pkgs/development/libraries/haskell/process/1.2.0.0.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "process";
+  version = "1.2.0.0";
+  sha256 = "02il5pxibf0q9b46v0lgdxyc2wlk5kg1v8223ry6brg41zpcj71q";
+  buildDepends = [ deepseq filepath ];
+  meta = {
+    description = "Process libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/profunctor-extras/default.nix b/pkgs/development/libraries/haskell/profunctor-extras/default.nix
deleted file mode 100644
index bf7e6ab7121..00000000000
--- a/pkgs/development/libraries/haskell/profunctor-extras/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, profunctors }:
-
-cabal.mkDerivation (self: {
-  pname = "profunctor-extras";
-  version = "4.0";
-  sha256 = "10j458liqlyz5s9gkg95c6aq7ap5fa7d8pc7hygy71nn87pm2g4a";
-  buildDepends = [ profunctors ];
-  meta = {
-    homepage = "http://github.com/ekmett/profunctor-extras/";
-    description = "This package has been absorbed into profunctors 4.0";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix
index 83d06b10ca6..00d339fa44e 100644
--- a/pkgs/development/libraries/haskell/profunctors/default.nix
+++ b/pkgs/development/libraries/haskell/profunctors/default.nix
@@ -1,10 +1,15 @@
-{ cabal, comonad, semigroupoids, tagged, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, distributive, semigroupoids, tagged, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "profunctors";
-  version = "4.0.1";
-  sha256 = "13yr3n7jkhxbk4gk6nd1j8p1a7g5ir8g9xprcy3s1x39cqf4m986";
-  buildDepends = [ comonad semigroupoids tagged transformers ];
+  version = "4.2.0.1";
+  sha256 = "00cfria3zjijx9nm533a25x240c7q0sn9vna6m4y4rz1f7l2gnqc";
+  buildDepends = [
+    comonad distributive semigroupoids tagged transformers
+  ];
   meta = {
     homepage = "http://github.com/ekmett/profunctors/";
     description = "Profunctors";
diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix
index f4c9214b0b6..9aa8dff59aa 100644
--- a/pkgs/development/libraries/haskell/project-template/default.nix
+++ b/pkgs/development/libraries/haskell/project-template/default.nix
@@ -1,19 +1,21 @@
-{ cabal, base64Bytestring, base64Conduit, basicPrelude, conduit
-, hspec, mtl, QuickCheck, resourcet, systemFileio, systemFilepath
-, text, transformers
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, conduit, conduitExtra, hspec, mtl
+, QuickCheck, resourcet, systemFileio, systemFilepath, text
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "project-template";
-  version = "0.1.3.2";
-  sha256 = "076xq5hwi7bfn3cmx8zd19vnj6lj2p7qm2waam94qqw2m466xq50";
+  version = "0.1.4.1";
+  sha256 = "1vsx8a4kzdcwbdy47hb2wz32najsa6bqq6jkyal9nbc5ydwb65lb";
   buildDepends = [
-    base64Bytestring base64Conduit basicPrelude conduit mtl resourcet
-    systemFileio systemFilepath text transformers
+    base64Bytestring conduit conduitExtra mtl resourcet systemFileio
+    systemFilepath text transformers
   ];
   testDepends = [
-    base64Bytestring basicPrelude conduit hspec QuickCheck
-    systemFilepath text transformers
+    base64Bytestring conduit hspec QuickCheck resourcet systemFilepath
+    text transformers
   ];
   meta = {
     homepage = "https://github.com/fpco/haskell-ide";
diff --git a/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix b/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
index 98b65bb59f0..73ddd10427a 100644
--- a/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
+++ b/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, fgl, graphviz, mtl, prolog, text }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Generating images of resolution trees for Prolog queries";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/prolog-graph/default.nix b/pkgs/development/libraries/haskell/prolog-graph/default.nix
index 8016095a402..7a8d0fc42f2 100644
--- a/pkgs/development/libraries/haskell/prolog-graph/default.nix
+++ b/pkgs/development/libraries/haskell/prolog-graph/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cmdargs, fgl, graphviz, mtl, prolog, prologGraphLib, text
 }:
 
@@ -15,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "A command line tool to visualize query resolution in Prolog";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/prolog/default.nix b/pkgs/development/libraries/haskell/prolog/default.nix
index b1e6e1d4e30..71539fb342a 100644
--- a/pkgs/development/libraries/haskell/prolog/default.nix
+++ b/pkgs/development/libraries/haskell/prolog/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, parsec, syb, thLift, transformers }:
 
 cabal.mkDerivation (self: {
@@ -5,11 +7,11 @@ cabal.mkDerivation (self: {
   version = "0.2.0.1";
   sha256 = "073sd3rhcfqw9csm0qsbc57ix57dv3k5yjr9hcc33b9zq5y10sp0";
   buildDepends = [ mtl parsec syb thLift transformers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/Erdwolf/prolog";
     description = "A Prolog interpreter written in Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/protobuf/default.nix b/pkgs/development/libraries/haskell/protobuf/default.nix
new file mode 100644
index 00000000000..be437c7410d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/protobuf/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, dataBinaryIeee754, deepseq, hex, HUnit, mtl
+, QuickCheck, tagged, tasty, tastyHunit, tastyQuickcheck, text
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "protobuf";
+  version = "0.2.0.3";
+  sha256 = "0jcrnym0j8w4vjrdmvn88x8ddp8wf809wviy1vkz94p2nyp6l2hw";
+  buildDepends = [
+    cereal dataBinaryIeee754 deepseq mtl text unorderedContainers
+  ];
+  testDepends = [
+    cereal hex HUnit mtl QuickCheck tagged tasty tastyHunit
+    tastyQuickcheck text unorderedContainers
+  ];
+  meta = {
+    homepage = "https://github.com/alphaHeavy/protobuf";
+    description = "Google Protocol Buffers via GHC.Generics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
new file mode 100644
index 00000000000..3b030735bbb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, protocolBuffers }:
+
+cabal.mkDerivation (self: {
+  pname = "protocol-buffers-descriptor";
+  version = "2.0.14";
+  sha256 = "0xbpmm9a4fg42c9zbarawqdl4klfjjc233ilbsibb7asa3v7zmj3";
+  buildDepends = [ protocolBuffers ];
+  meta = {
+    homepage = "http://code.haskell.org/protocol-buffers/";
+    description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/protocol-buffers/default.nix b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
new file mode 100644
index 00000000000..a2cb0efcf74
--- /dev/null
+++ b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, filepath, mtl, syb, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "protocol-buffers";
+  version = "2.0.14";
+  sha256 = "1wihnpvc7kjq345a6v702s42gmrqd9cjm50safc7kigyvhr5vm1i";
+  buildDepends = [ binary filepath mtl syb utf8String ];
+  meta = {
+    homepage = "http://code.haskell.org/protocol-buffers/";
+    description = "Parse Google Protocol Buffer specifications";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/publicsuffixlist/default.nix b/pkgs/development/libraries/haskell/publicsuffixlist/default.nix
index ea1bb7164c8..2a2d8fcd098 100644
--- a/pkgs/development/libraries/haskell/publicsuffixlist/default.nix
+++ b/pkgs/development/libraries/haskell/publicsuffixlist/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, dataDefault, HUnit, idna, text, utf8String }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/punycode/default.nix b/pkgs/development/libraries/haskell/punycode/default.nix
index a4ad760d8ff..3a07d382754 100644
--- a/pkgs/development/libraries/haskell/punycode/default.nix
+++ b/pkgs/development/libraries/haskell/punycode/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, encoding, HUnit, mtl, QuickCheck, text }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/pure-cdb/default.nix b/pkgs/development/libraries/haskell/pure-cdb/default.nix
new file mode 100644
index 00000000000..871825db121
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pure-cdb/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, mtl, testSimple, Unixutils, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "pure-cdb";
+  version = "0.1";
+  sha256 = "0fxfhd73h5frnjpk617lspwf17wldsrd5a5cxar5y3a8wi0i4b8c";
+  buildDepends = [ binary mtl vector ];
+  testDepends = [ mtl testSimple Unixutils vector ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bosu/pure-cdb";
+    description = "Another pure-haskell CDB (Constant Database) implementation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pureMD5/default.nix b/pkgs/development/libraries/haskell/pureMD5/default.nix
index 8e66b2c3c03..0252f8dc6df 100644
--- a/pkgs/development/libraries/haskell/pureMD5/default.nix
+++ b/pkgs/development/libraries/haskell/pureMD5/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, cereal, cryptoApi, tagged }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell-only implementation of the MD5 digest (hash) algorithm";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
new file mode 100644
index 00000000000..c5087a692f9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdtheline, filepath, haskeline, monadUnify, mtl, parsec
+, patternArrows, time, transformers, unorderedContainers
+, utf8String, xdgBasedir
+}:
+
+cabal.mkDerivation (self: {
+  pname = "purescript";
+  version = "0.5.4.1";
+  sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    cmdtheline filepath haskeline monadUnify mtl parsec patternArrows
+    time transformers unorderedContainers utf8String xdgBasedir
+  ];
+  testDepends = [ filepath mtl parsec transformers utf8String ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.purescript.org/";
+    description = "PureScript Programming Language Compiler";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
index 42aaeba82a8..08f18e8fe11 100644
--- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix
+++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, binary, cryptohash, random, SHA }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Secure password storage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/qrencode/default.nix b/pkgs/development/libraries/haskell/qrencode/default.nix
index bd46bb9b415..89defe86bad 100644
--- a/pkgs/development/libraries/haskell/qrencode/default.nix
+++ b/pkgs/development/libraries/haskell/qrencode/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, qrencode }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix b/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
new file mode 100644
index 00000000000..d83fdf12acb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, ieee754, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "quickcheck-assertions";
+  version = "0.1.1";
+  sha256 = "0hrnr17wafng7nc6d8w6pp1lygplri8xkb5380aq64zg9iik2s21";
+  buildDepends = [ ieee754 QuickCheck ];
+  testDepends = [ hspec ieee754 QuickCheck ];
+  meta = {
+    homepage = "https://github.com/s9gf4ult/quickcheck-assertions";
+    description = "HUnit like assertions for QuickCheck";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
new file mode 100644
index 00000000000..5aa1314f8e7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable, QuickCheck, text, time, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "quickcheck-instances";
+  version = "0.3.8";
+  sha256 = "0132a37zi1haz1aaggxa1hr421bcmxlbaa4m2l53m2rmr4z5mgkg";
+  buildDepends = [
+    hashable QuickCheck text time unorderedContainers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/aslatter/qc-instances";
+    description = "Common quickcheck instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/quickcheck-io/default.nix b/pkgs/development/libraries/haskell/quickcheck-io/default.nix
index b7c33b6d1a0..d96131c5332 100644
--- a/pkgs/development/libraries/haskell/quickcheck-io/default.nix
+++ b/pkgs/development/libraries/haskell/quickcheck-io/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "quickcheck-io";
-  version = "0.1.0";
-  sha256 = "167ds7c7p1lcfsylxhq2sr0jxbviyim1n42dhyr0s0b6hazw8cjs";
+  version = "0.1.1";
+  sha256 = "16q3sqvxnaqmbb1zbda8f61mdlmmzxhrznqxab113lmg380nwfm2";
   buildDepends = [ HUnit QuickCheck ];
   meta = {
     description = "Use HUnit assertions as QuickCheck properties";
diff --git a/pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix b/pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix
new file mode 100644
index 00000000000..3ef3b02851e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, either, filepath, QuickCheck, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "quickcheck-property-monad";
+  version = "0.2.3";
+  sha256 = "12vg14xwhhsqwygrs5lylsg514am5sslqc15nbl8mwzzxix1w8xb";
+  buildDepends = [ either QuickCheck transformers ];
+  testDepends = [ doctest filepath QuickCheck ];
+  meta = {
+    homepage = "http://github.com/bennofs/quickcheck-property-monad/";
+    description = "quickcheck-property-monad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index 8dd228ad3db..4cdbed03762 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -1,20 +1,21 @@
-{ cabal, erf, gamma, monadLoops, mtl, randomShuffle, randomSource
-, rvar, syb, transformers, vector
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, erf, mathFunctions, monadLoops, mtl, randomShuffle
+, randomSource, rvar, syb, transformers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "random-fu";
-  version = "0.2.4.0";
-  sha256 = "1wiwh52qfs699mcj3ylwc97pyabczn6dr8j92qczs89g8vvi91wd";
+  version = "0.2.6.0";
+  sha256 = "1mi1hr3hxlnyjf01hgn7xinr1m0rax26759zbkhf5xn04ps0g01p";
   buildDepends = [
-    erf gamma monadLoops mtl randomShuffle randomSource rvar syb
-    transformers vector
+    erf mathFunctions monadLoops mtl randomShuffle randomSource rvar
+    syb transformers vector
   ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
     description = "Random number generation";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-shuffle/default.nix b/pkgs/development/libraries/haskell/random-shuffle/default.nix
index 1104091ae57..76f0c1f0ebb 100644
--- a/pkgs/development/libraries/haskell/random-shuffle/default.nix
+++ b/pkgs/development/libraries/haskell/random-shuffle/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, MonadRandom, random }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Random shuffle implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-source/default.nix b/pkgs/development/libraries/haskell/random-source/default.nix
index 895a001d46f..bdb341cead5 100644
--- a/pkgs/development/libraries/haskell/random-source/default.nix
+++ b/pkgs/development/libraries/haskell/random-source/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, flexibleDefaults, mersenneRandomPure64, mtl, mwcRandom
 , random, stateref, syb, thExtras
 }:
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Generic basis for random number generators";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random/1.0.1.1.nix b/pkgs/development/libraries/haskell/random/1.0.1.1.nix
index 1f4901a4d91..5a64573a890 100644
--- a/pkgs/development/libraries/haskell/random/1.0.1.1.nix
+++ b/pkgs/development/libraries/haskell/random/1.0.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, time }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "random number library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ranges/default.nix b/pkgs/development/libraries/haskell/ranges/default.nix
index 2182e6410b5..33b1ddf5b44 100644
--- a/pkgs/development/libraries/haskell/ranges/default.nix
+++ b/pkgs/development/libraries/haskell/ranges/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Ranges and various functions on them";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rank1dynamic/default.nix b/pkgs/development/libraries/haskell/rank1dynamic/default.nix
index 8694d2399b2..7137bf668c5 100644
--- a/pkgs/development/libraries/haskell/rank1dynamic/default.nix
+++ b/pkgs/development/libraries/haskell/rank1dynamic/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary }:
 
 cabal.mkDerivation (self: {
   pname = "rank1dynamic";
-  version = "0.1.0.2";
-  sha256 = "1341hhbdm6y0mj0qjda0ckqsla51fxiy1yfpbwfvsmpi2bkzgxn6";
+  version = "0.2.0.0";
+  sha256 = "09p3lggnsn0355440d9cazwijv9qm4siw99gg2xkk2hamp2sj42h";
   buildDepends = [ binary ];
   meta = {
-    homepage = "http://github.com/haskell-distributed/distributed-process";
+    homepage = "http://haskell-distributed.github.com";
     description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
index ee408fea480..b9e61e32edd 100644
--- a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cabalMacosx, reactiveBanana, wx, wxcore }:
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana-wx";
-  version = "0.7.1.0";
-  sha256 = "06hkb8v6rjpw95vf16xh547igxxzddr6wpjiwhqwpwhz2alavk2v";
+  version = "0.8.0.0";
+  sha256 = "0qfd839nm2ppjhhhnn6s1hbx1mnrzjqx450p4jadsrs1y2403c9n";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cabalMacosx reactiveBanana wx wxcore ];
@@ -13,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Examples for the reactive-banana library, using wxHaskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index 0bf7747d46b..964c4767b27 100644
--- a/pkgs/development/libraries/haskell/reactive-banana/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix
@@ -1,24 +1,25 @@
-{ cabal, hashable, HUnit, testFramework, testFrameworkHunit
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable, HUnit, pqueue, testFramework, testFrameworkHunit
 , transformers, unorderedContainers, vault
 }:
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana";
-  version = "0.7.1.3";
-  sha256 = "117y1sk97kpiq0cippq0ydl2zqb99q49y2m2m6pgg2nh6gz6a3zb";
-  buildDepends = [ hashable transformers unorderedContainers vault ];
+  version = "0.8.0.2";
+  sha256 = "0hfhq663dvvb3jbgdnarawryw09m8ckqvqp6p5n4d4dms4gfzcdv";
+  buildDepends = [
+    hashable pqueue transformers unorderedContainers vault
+  ];
   testDepends = [
-    hashable HUnit testFramework testFrameworkHunit transformers
+    hashable HUnit pqueue testFramework testFrameworkHunit transformers
     unorderedContainers vault
   ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/Reactive-banana";
-    description = "Practical library for functional reactive programming (FRP)";
+    description = "Library for functional reactive programming (FRP)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.bluescreen303
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ bluescreen303 ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/readline/default.nix b/pkgs/development/libraries/haskell/readline/default.nix
index 6090fc8578a..9a05fed7e12 100644
--- a/pkgs/development/libraries/haskell/readline/default.nix
+++ b/pkgs/development/libraries/haskell/readline/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, readline, ncurses }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index 37fb26208f4..dd92b7e79de 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HTTP, network, xhtml }:
 
 cabal.mkDerivation (self: {
   pname = "recaptcha";
-  version = "0.1";
-  sha256 = "de00e6e3aadd99a1cd036ce4b413ebe02d59c1b9cfd3032f122735cca1f25144";
+  version = "0.1.0.2";
+  sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih";
   buildDepends = [ HTTP network xhtml ];
   meta = {
     homepage = "http://github.com/jgm/recaptcha/tree/master";
     description = "Functions for using the reCAPTCHA service in web applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/recursion-schemes/default.nix b/pkgs/development/libraries/haskell/recursion-schemes/default.nix
new file mode 100644
index 00000000000..e846d69d0db
--- /dev/null
+++ b/pkgs/development/libraries/haskell/recursion-schemes/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, free, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "recursion-schemes";
+  version = "4.1";
+  sha256 = "03rf65ak6bxsr204j6d8g5zyxva9vbmncycav3smqwfg5n3b3pwf";
+  buildDepends = [ comonad free transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/recursion-schemes/";
+    description = "Generalized bananas, lenses and barbed wire";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix
index ea1049d2b40..bfa8a063b8e 100644
--- a/pkgs/development/libraries/haskell/reducers/default.nix
+++ b/pkgs/development/libraries/haskell/reducers/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad, fingertree, hashable, keys, pointed
 , semigroupoids, semigroups, text, transformers
 , unorderedContainers
@@ -5,12 +7,13 @@
 
 cabal.mkDerivation (self: {
   pname = "reducers";
-  version = "3.10.1";
-  sha256 = "0pgywdgq0rqir95n4z3nzmyx5n54a1df9abyanz4qfv0g080fjkz";
+  version = "3.10.2.1";
+  sha256 = "1wn6q6cw9is1gan9y5n3fzjkhmpjpria4p13zp4kqxmj881067vy";
   buildDepends = [
     comonad fingertree hashable keys pointed semigroupoids semigroups
     text transformers unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/reducers/";
     description = "Semigroups, specialized containers and a general map/reduce framework";
diff --git a/pkgs/development/libraries/haskell/reflection/default.nix b/pkgs/development/libraries/haskell/reflection/default.nix
index 5f227d60ca8..b7138c3e974 100644
--- a/pkgs/development/libraries/haskell/reflection/default.nix
+++ b/pkgs/development/libraries/haskell/reflection/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, tagged }:
 
 cabal.mkDerivation (self: {
   pname = "reflection";
-  version = "1.3.2";
-  sha256 = "0jmdygvmvhw20aqjk7k0jah93ggfgf2bgq5zpwnz9bwgi9gs17x6";
+  version = "1.5.1";
+  sha256 = "18ail6j7rs5jff9zxphxd7vjkwanpv12dhi98s86r65425fdhjlx";
   buildDepends = [ tagged ];
   meta = {
     homepage = "http://github.com/ekmett/reflection";
diff --git a/pkgs/development/libraries/haskell/regex-applicative/default.nix b/pkgs/development/libraries/haskell/regex-applicative/default.nix
new file mode 100644
index 00000000000..1e3b5b96346
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-applicative/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, smallcheck, tasty, tastyHunit, tastySmallcheck
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "regex-applicative";
+  version = "0.3.0.3";
+  sha256 = "111j6x1j7bx5viz2hmgyvcdwfrv5x3f9mifx888hyd3hz850wpwc";
+  buildDepends = [ transformers ];
+  testDepends = [
+    smallcheck tasty tastyHunit tastySmallcheck transformers
+  ];
+  meta = {
+    homepage = "https://github.com/feuerbach/regex-applicative";
+    description = "Regex-based parsing with applicative interface";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
index e94a233d9f1..b5b7068da01 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
index 5a49d2b6407..5aa971ac347 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
index 1dc559e6370..2a99cc96c25 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix
index 6a45c87d9a6..b364f3714a6 100644
--- a/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix
+++ b/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase, regexTdfa }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
index 623db0cc48b..306d603a9cb 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase, regexPosix }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.92.nix b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
index 8b9e666d6ae..91dda463e6d 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.92.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase, regexPosix }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
index df3a7abf13f..7fddc11a672 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase, regexPosix }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
index 52c28d8b800..83dffb381fc 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase, regexPosix }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-pcre/default.nix b/pkgs/development/libraries/haskell/regex-pcre/default.nix
index 2b7f53e4572..db0f8b7ff45 100644
--- a/pkgs/development/libraries/haskell/regex-pcre/default.nix
+++ b/pkgs/development/libraries/haskell/regex-pcre/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, pcre, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
index f1f6a89dc3d..893e3667701 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
index 662d8236c45..ec4bdaab431 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
index 11e02b398b5..20f2dd71414 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
index 42ee42ba7ef..49923bf2d6c 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
index 58106bc8b74..0bcc6d26052 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
index 6d7fac51658..292edc23563 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-tdfa-rc/default.nix b/pkgs/development/libraries/haskell/regex-tdfa-rc/default.nix
new file mode 100644
index 00000000000..0e5bb61bfed
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-tdfa-rc/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, parsec, regexBase }:
+
+cabal.mkDerivation (self: {
+  pname = "regex-tdfa-rc";
+  version = "1.1.8.3";
+  sha256 = "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3";
+  buildDepends = [ mtl parsec regexBase ];
+  meta = {
+    homepage = "http://hackage.haskell.org/package/regex-tdfa";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/regex-tdfa-text/default.nix b/pkgs/development/libraries/haskell/regex-tdfa-text/default.nix
index 1a329c25b2d..b532234312a 100644
--- a/pkgs/development/libraries/haskell/regex-tdfa-text/default.nix
+++ b/pkgs/development/libraries/haskell/regex-tdfa-text/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, regexBase, regexTdfa, text }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/regex-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
index 67073790d25..2508920e1b4 100644
--- a/pkgs/development/libraries/haskell/regex-tdfa/default.nix
+++ b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, parsec, regexBase }:
 
 cabal.mkDerivation (self: {
   pname = "regex-tdfa";
-  version = "1.1.8";
-  sha256 = "1m75xh5bwmmgg5f757dc126kv47yfqqnz9fzj1hc80p6jpzs573x";
+  version = "1.2.0";
+  sha256 = "00gl9sx3hzd83lp38jlcj7wvzrda8kww7njwlm1way73m8aar0pw";
   buildDepends = [ mtl parsec regexBase ];
   meta = {
     homepage = "http://hackage.haskell.org/package/regex-tdfa";
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regexpr/default.nix b/pkgs/development/libraries/haskell/regexpr/default.nix
index c5389a7b663..2a61bf13598 100644
--- a/pkgs/development/libraries/haskell/regexpr/default.nix
+++ b/pkgs/development/libraries/haskell/regexpr/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, mtl, mtlparse }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "regular expression like Perl/Ruby in Haskell";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
new file mode 100644
index 00000000000..35a3f32847e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hxt, regular, text }:
+
+cabal.mkDerivation (self: {
+  pname = "regular-xmlpickler";
+  version = "0.2";
+  sha256 = "1qjx4xsidnpr2as3m2ir97ap5vc9cw6a0z332g53ifx9gskjli9f";
+  buildDepends = [ hxt regular text ];
+  meta = {
+    homepage = "http://github.com/silkapp/regular-xmlpickler";
+    description = "Generic generation of HXT XmlPickler instances using Regular";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/regular/default.nix b/pkgs/development/libraries/haskell/regular/default.nix
index 8a3e740491c..d18909d6f29 100644
--- a/pkgs/development/libraries/haskell/regular/default.nix
+++ b/pkgs/development/libraries/haskell/regular/default.nix
@@ -1,13 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "regular";
-  version = "0.3.4.2";
-  sha256 = "0fshjpbgabdcsa9a4cjmvfrzy7db4s679rprdbrhhfwf5xiszs2s";
+  version = "0.3.4.3";
+  sha256 = "12pc58agqb4fi0riwxjf0kykn1z12273q8dcdd0fh2x1ddxwgg2r";
   meta = {
     description = "Generic programming library for regular datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/remote/default.nix b/pkgs/development/libraries/haskell/remote/default.nix
index 3e160130ea8..47235710b1e 100644
--- a/pkgs/development/libraries/haskell/remote/default.nix
+++ b/pkgs/development/libraries/haskell/remote/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, filepath, mtl, network, pureMD5, stm, syb, time
 , utf8String
 }:
@@ -13,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Cloud Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repa-algorithms/default.nix b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
index 2ec3fb3172e..5abce50c45c 100644
--- a/pkgs/development/libraries/haskell/repa-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, llvm, repa, vector }:
 
 cabal.mkDerivation (self: {
   pname = "repa-algorithms";
-  version = "3.2.4.1";
-  sha256 = "0xb2r726z73ghiqik39n99q5hal16y7ydk16q2rbycbvc37yq24b";
+  version = "3.3.1.2";
+  sha256 = "12fizvma877ws3xiz3k34jg5xh5yhnl0n5aq2za005l9i5angkk9";
   buildDepends = [ repa vector ];
   extraLibraries = [ llvm ];
   jailbreak = true;
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Algorithms using the Repa array library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repa-examples/default.nix b/pkgs/development/libraries/haskell/repa-examples/default.nix
index 0d65439f2c5..518e8ce4789 100644
--- a/pkgs/development/libraries/haskell/repa-examples/default.nix
+++ b/pkgs/development/libraries/haskell/repa-examples/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, llvm, QuickCheck, random, repa, repaAlgorithms, repaIo
 , vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "repa-examples";
-  version = "3.2.3.2";
-  sha256 = "1l8bvaaap5gl62j9zinjgj8vlqq4b52p46hnj8kq9n09lxq6xq96";
+  version = "3.3.1.1";
+  sha256 = "0gdkwmdnmvq82zglryxx2ic1nm4g2r4a0bwndiwbj670w03p712p";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -18,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Examples using the Repa array library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repa-io/default.nix b/pkgs/development/libraries/haskell/repa-io/default.nix
index 046fafca43a..38e6933de61 100644
--- a/pkgs/development/libraries/haskell/repa-io/default.nix
+++ b/pkgs/development/libraries/haskell/repa-io/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, bmp, repa, vector }:
 
 cabal.mkDerivation (self: {
   pname = "repa-io";
-  version = "3.2.3.2";
-  sha256 = "116qxq0jsq3hbj0hxjxfr9sl29vzj1rpfbzfxgc243v1hh4rdjfr";
+  version = "3.3.1.2";
+  sha256 = "1i58ysk44y7s6z1jmns2fi83flqma4k5nsjh1pblqb2rgl7x0z5p";
   buildDepends = [ binary bmp repa vector ];
   jailbreak = true;
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Read and write Repa arrays in various formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repa/default.nix b/pkgs/development/libraries/haskell/repa/default.nix
index ae56ba5157a..7978f80eec7 100644
--- a/pkgs/development/libraries/haskell/repa/default.nix
+++ b/pkgs/development/libraries/haskell/repa/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, vector }:
 
 cabal.mkDerivation (self: {
   pname = "repa";
-  version = "3.2.3.3";
-  sha256 = "0rdny7yjcmz9iy07sqnjmwyr58f0kyzzdycwi55j963rb4vqkacn";
+  version = "3.3.1.2";
+  sha256 = "0rsahd6c1mxd8hq9zfx4jqgmcfs4di4askky87y71xy5v4k1x4ai";
   buildDepends = [ QuickCheck vector ];
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "High performance, regular, shape polymorphic parallel arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repr/default.nix b/pkgs/development/libraries/haskell/repr/default.nix
index c44735eda00..fe075fba1fe 100644
--- a/pkgs/development/libraries/haskell/repr/default.nix
+++ b/pkgs/development/libraries/haskell/repr/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, baseUnicodeSymbols, dstring, random, stringCombinators }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Render overloaded expressions to their textual representation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/resource-pool-catchio/default.nix b/pkgs/development/libraries/haskell/resource-pool-catchio/default.nix
new file mode 100644
index 00000000000..47950176a49
--- /dev/null
+++ b/pkgs/development/libraries/haskell/resource-pool-catchio/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable, MonadCatchIOTransformers, stm, time
+, transformers, transformersBase, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "resource-pool-catchio";
+  version = "0.2.1.0";
+  sha256 = "0g9r6hnn01n3p2ikcfkfc4afh83pzam29zal3k2ivajpl3kramsw";
+  buildDepends = [
+    hashable MonadCatchIOTransformers stm time transformers
+    transformersBase vector
+  ];
+  meta = {
+    homepage = "http://github.com/norm2782/pool";
+    description = "Fork of resource-pool, with a MonadCatchIO constraint";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix
index 77bc9105193..bbd6f1b782e 100644
--- a/pkgs/development/libraries/haskell/resource-pool/default.nix
+++ b/pkgs/development/libraries/haskell/resource-pool/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, monadControl, stm, time, transformers
 , transformersBase, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "resource-pool";
-  version = "0.2.1.1";
-  sha256 = "1ypyzy7mkmpab6rghsizrx6raam3l2acwxm56x7jmcv8s2algi1g";
+  version = "0.2.3.0";
+  sha256 = "15igbvnqs6ig1k30l3jngyi60ay7k15mwgza5smv8zbpx86vb1mh";
   buildDepends = [
     hashable monadControl stm time transformers transformersBase vector
   ];
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "A high-performance striped resource pooling implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index b4d0fccd8a0..81a7c9d28a2 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -1,13 +1,16 @@
-{ cabal, hspec, liftedBase, mmorph, monadControl, mtl, transformers
-, transformersBase
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl
+, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "0.4.9";
-  sha256 = "1jpaphmwvykjshjqwmmyfx64w1j99f6dphy9ygrzc32fjffk5laz";
+  version = "1.1.2.3";
+  sha256 = "1n1z1q3k8lg3wqdkrmcfl9mvlx1p81gkh5j911w1006rnm8r87im";
   buildDepends = [
-    liftedBase mmorph monadControl mtl transformers transformersBase
+    exceptions liftedBase mmorph monadControl mtl transformers
+    transformersBase
   ];
   testDepends = [ hspec liftedBase transformers ];
   meta = {
@@ -15,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Deterministic allocation and freeing of scarce resources";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-client/default.nix b/pkgs/development/libraries/haskell/rest-client/default.nix
new file mode 100644
index 00000000000..0712742717b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-client/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aesonUtils, caseInsensitive, dataDefault
+, exceptionTransformers, httpConduit, httpTypes, hxt
+, hxtPickleUtils, monadControl, mtl, primitive, resourcet
+, restTypes, tostring, transformersBase, uriEncode, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-client";
+  version = "0.4";
+  sha256 = "18mvmp4c5zznph8q5ash6224wig5kwvb6v19dkn39n4l72cdq7wm";
+  buildDepends = [
+    aesonUtils caseInsensitive dataDefault exceptionTransformers
+    httpConduit httpTypes hxt hxtPickleUtils monadControl mtl primitive
+    resourcet restTypes tostring transformersBase uriEncode utf8String
+  ];
+  meta = {
+    description = "Utility library for use in generated API client libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
new file mode 100644
index 00000000000..134c39f9f24
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonUtils, either, errors, fclabels, HUnit, hxt
+, hxtPickleUtils, jsonSchema, mtl, multipart, random, restStringmap
+, restTypes, safe, split, testFramework, testFrameworkHunit, text
+, transformers, unorderedContainers, uriEncode, utf8String, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-core";
+  version = "0.31.1";
+  sha256 = "1cx1zmy1zr43n9nlrbar828izccpkvrvjkrda03ra9fkcjgd6qy6";
+  buildDepends = [
+    aeson aesonUtils either errors fclabels hxt hxtPickleUtils
+    jsonSchema mtl multipart random restStringmap restTypes safe split
+    text transformers unorderedContainers uriEncode utf8String uuid
+  ];
+  testDepends = [
+    HUnit mtl testFramework testFrameworkHunit unorderedContainers
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Rest API library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
new file mode 100644
index 00000000000..afa2f612c01
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeHtml, Cabal, codeBuilder, fclabels, filepath
+, hashable, haskellSrcExts, hslogger, HStringTemplate, HUnit, hxt
+, jsonSchema, restCore, safe, scientific, split, tagged
+, testFramework, testFrameworkHunit, text, uniplate
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-gen";
+  version = "0.14.2";
+  sha256 = "1hmf77hs3pp6lf4glh3lbbwfjr029js185v69bk8ycr1c4ib8nbp";
+  buildDepends = [
+    aeson blazeHtml Cabal codeBuilder fclabels filepath hashable
+    haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore
+    safe scientific split tagged text uniplate unorderedContainers
+    vector
+  ];
+  testDepends = [
+    haskellSrcExts HUnit restCore testFramework testFrameworkHunit
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Documentation and client generation from rest definition";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix
new file mode 100644
index 00000000000..74c5f2a06cb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happstackServer, mtl, restCore, restGen, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "rest-happstack";
+  version = "0.2.10";
+  sha256 = "1np8y0v6jnk2lw0aqlzb9dn1vlk8cg75xrhkjmm6qh0z90fy3p6z";
+  buildDepends = [ happstackServer mtl restCore restGen utf8String ];
+  meta = {
+    description = "Rest driver for Happstack";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-snap/default.nix b/pkgs/development/libraries/haskell/rest-snap/default.nix
new file mode 100644
index 00000000000..5305c2d113f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-snap/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, restCore, safe, snapCore
+, unorderedContainers, uriEncode, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-snap";
+  version = "0.1.17.12";
+  sha256 = "0hhpscdbph34psfn2h1g0znds0cz7ja9byr6bg7jmj0h86plz8al";
+  buildDepends = [
+    caseInsensitive restCore safe snapCore unorderedContainers
+    uriEncode utf8String
+  ];
+  meta = {
+    description = "Rest driver for Snap";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-stringmap/default.nix b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
new file mode 100644
index 00000000000..c1f0c13cbc2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, hashable, hxt, jsonSchema, tagged, text, tostring
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-stringmap";
+  version = "0.2.0.2";
+  sha256 = "0nzkc09679c2mz3amh1avk2kfjpqbhbxsr0r9zvgcs71gqkal2mz";
+  buildDepends = [
+    aeson hashable hxt jsonSchema tagged text tostring
+    unorderedContainers
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Maps with stringy keys that can be transcoded to JSON and XML";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
new file mode 100644
index 00000000000..157cab5e979
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-types/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, genericAeson, hxt, jsonSchema, mtl, regular
+, regularXmlpickler, restStringmap, text, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-types";
+  version = "1.10.1";
+  sha256 = "0i4y1s35ybly1nayqj9c2zqwikpxnzjamq24qbhg0lpqr0dpc1rg";
+  buildDepends = [
+    aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler
+    restStringmap text uuid
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Silk Rest Framework Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-wai/default.nix b/pkgs/development/libraries/haskell/rest-wai/default.nix
new file mode 100644
index 00000000000..7ddb500265b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-wai/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, httpTypes, mimeTypes, mtl, restCore
+, restTypes, text, unorderedContainers, utf8String, wai
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-wai";
+  version = "0.1.0.2";
+  sha256 = "06wnazy0262b2875q4km2xy9zz7l681vlfj3ny1ha9valnqr3q6w";
+  buildDepends = [
+    caseInsensitive httpTypes mimeTypes mtl restCore restTypes text
+    unorderedContainers utf8String wai
+  ];
+  meta = {
+    description = "Rest driver for WAI applications";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rethinkdb/default.nix b/pkgs/development/libraries/haskell/rethinkdb/default.nix
new file mode 100644
index 00000000000..affe39729f3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rethinkdb/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, dataDefault, mtl, network
+, protocolBuffers, protocolBuffersDescriptor, text, time
+, unorderedContainers, utf8String, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rethinkdb";
+  version = "1.8.0.5";
+  sha256 = "1s3mzbs0b2jdvs1gfdxb2fp2lw7978ja63411iz43yjd29d3pwzq";
+  buildDepends = [
+    aeson attoparsec dataDefault mtl network protocolBuffers
+    protocolBuffersDescriptor text time unorderedContainers utf8String
+    vector
+  ];
+  meta = {
+    homepage = "http://github.com/atnnn/haskell-rethinkdb";
+    description = "RethinkDB driver for Haskell";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix
new file mode 100644
index 00000000000..9a0a994cf77
--- /dev/null
+++ b/pkgs/development/libraries/haskell/retry/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefaultClass, exceptions, hspec, HUnit, QuickCheck
+, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "retry";
+  version = "0.5";
+  sha256 = "1qp949w8pisgki06j5qgaxw1761q3gfccc7bqnhqpchazl4p6p6n";
+  buildDepends = [ dataDefaultClass exceptions transformers ];
+  testDepends = [
+    dataDefaultClass exceptions hspec HUnit QuickCheck time
+    transformers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/Soostone/retry";
+    description = "Retry combinators for monadic actions that may fail";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rex/default.nix b/pkgs/development/libraries/haskell/rex/default.nix
new file mode 100644
index 00000000000..2f2d3ca89e5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rex/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcExts, haskellSrcMeta, pcreLight }:
+
+cabal.mkDerivation (self: {
+  pname = "rex";
+  version = "0.5.1";
+  sha256 = "18g09pg7hhj052v72vncjvy900h3xhza8hl2g3akad8asn9k6jl6";
+  buildDepends = [ haskellSrcExts haskellSrcMeta pcreLight ];
+  meta = {
+    homepage = "http://github.com/mgsloan/rex";
+    description = "A quasi-quoter for typeful results of regex captures";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rfc5051/default.nix b/pkgs/development/libraries/haskell/rfc5051/default.nix
index 09b5d3e229e..45a7f3c3da3 100644
--- a/pkgs/development/libraries/haskell/rfc5051/default.nix
+++ b/pkgs/development/libraries/haskell/rfc5051/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/robots-txt/default.nix b/pkgs/development/libraries/haskell/robots-txt/default.nix
new file mode 100644
index 00000000000..c6534ff0cf4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/robots-txt/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, heredoc, hspec, QuickCheck, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "robots-txt";
+  version = "0.4.1.0";
+  sha256 = "1q18pgilrwppmd8d7pby3p6qgk47alzmd8izqspk7n4h4agrscn4";
+  buildDepends = [ attoparsec time ];
+  testDepends = [ attoparsec heredoc hspec QuickCheck transformers ];
+  meta = {
+    homepage = "http://github.com/meanpath/robots";
+    description = "Parser for robots.txt";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rosezipper/default.nix b/pkgs/development/libraries/haskell/rosezipper/default.nix
index 3c25392e7c9..736deff0db0 100644
--- a/pkgs/development/libraries/haskell/rosezipper/default.nix
+++ b/pkgs/development/libraries/haskell/rosezipper/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/rvar/default.nix b/pkgs/development/libraries/haskell/rvar/default.nix
index 6f2ed95ab63..ecb2a2c9db1 100644
--- a/pkgs/development/libraries/haskell/rvar/default.nix
+++ b/pkgs/development/libraries/haskell/rvar/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, MonadPrompt, mtl, randomSource, transformers }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Random Variables";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
index 6c16af12107..3676ee09db6 100644
--- a/pkgs/development/libraries/haskell/safe/default.nix
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "safe";
-  version = "0.3.3";
-  sha256 = "0ig9laq1p4iic24smjb304mvlsvdyn90lvxh64c4p75c8g459489";
+  version = "0.3.8";
+  sha256 = "0k5lk85z2y8kgk7dx7km32g8vi55vnwln8ys2gs174ljd136cjdf";
   meta = {
     homepage = "http://community.haskell.org/~ndm/safe/";
-    description = "Library for safe (pattern match free) functions";
+    description = "Library of safe (exception free) functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/safecopy/default.nix b/pkgs/development/libraries/haskell/safecopy/default.nix
index c700ff0df3d..6faa46d20bb 100644
--- a/pkgs/development/libraries/haskell/safecopy/default.nix
+++ b/pkgs/development/libraries/haskell/safecopy/default.nix
@@ -1,10 +1,17 @@
-{ cabal, cereal, text, time }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, lens, quickcheckInstances, tasty, tastyQuickcheck
+, text, time, vector
+}:
 
 cabal.mkDerivation (self: {
   pname = "safecopy";
-  version = "0.8.2";
-  sha256 = "0l2kqymsxv244fahxcpxlrspk6xipz3br6j854ipbfh8b0bfvr4m";
-  buildDepends = [ cereal text time ];
+  version = "0.8.3";
+  sha256 = "10xd42a1i84fwiy3db0ji4bd8ssk9jqysqwc00wdcdjyp50c333n";
+  buildDepends = [ cereal text time vector ];
+  testDepends = [
+    cereal lens quickcheckInstances tasty tastyQuickcheck time vector
+  ];
   meta = {
     homepage = "http://acid-state.seize.it/safecopy";
     description = "Binary serialization with version control";
diff --git a/pkgs/development/libraries/haskell/sample-frame/default.nix b/pkgs/development/libraries/haskell/sample-frame/default.nix
index f8acbf1fda8..18fcb238726 100644
--- a/pkgs/development/libraries/haskell/sample-frame/default.nix
+++ b/pkgs/development/libraries/haskell/sample-frame/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, storableRecord }:
 
 cabal.mkDerivation (self: {
   pname = "sample-frame";
-  version = "0.0.2";
-  sha256 = "1k1fyslgw5vvn9a38mhp7c9j1xxf75ys010rcn2vr3pm6aj868sx";
+  version = "0.0.3";
+  sha256 = "0ivj0bcnqqc805np62bdpvh8v4ykmw86ph5rp7k54bbv9wd31bsv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ QuickCheck storableRecord ];
diff --git a/pkgs/development/libraries/haskell/sbv/default.nix b/pkgs/development/libraries/haskell/sbv/default.nix
new file mode 100644
index 00000000000..0a21f13dbc2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sbv/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, deepseq, filepath, HUnit, mtl, QuickCheck, random
+, syb
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sbv";
+  version = "3.1";
+  sha256 = "19rn5ynqqjz0zw7gcb0y4clzxxnmq56a2qx369mz283455l86h5j";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async deepseq filepath HUnit mtl QuickCheck random syb
+  ];
+  testDepends = [ filepath HUnit syb ];
+  meta = {
+    homepage = "http://leventerkok.github.com/sbv/";
+    description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
new file mode 100644
index 00000000000..0e45c9ad075
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hashable, smallcheck, tasty, tastySmallcheck
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scientific";
+  version = "0.2.0.2";
+  sha256 = "13rrdaf5mrhpckq9vvrm4pnj63vahg7f0g75hk11nk7k1644l4f0";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [ smallcheck tasty tastySmallcheck text ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/basvandijk/scientific";
+    description = "Arbitrary-precision floating-point numbers represented using scientific notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix b/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
new file mode 100644
index 00000000000..22bf663334c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hashable, QuickCheck, smallcheck, tasty
+, tastyAntXml, tastyHunit, tastyQuickcheck, tastySmallcheck, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scientific";
+  version = "0.3.3.0";
+  sha256 = "1kj49ibq53m7cfs9pq396l4fbqnarqzay7a65rmsrzi2vz15parv";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [
+    QuickCheck smallcheck tasty tastyAntXml tastyHunit tastyQuickcheck
+    tastySmallcheck text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/basvandijk/scientific";
+    description = "Numbers represented using scientific notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scotty-hastache/default.nix b/pkgs/development/libraries/haskell/scotty-hastache/default.nix
new file mode 100644
index 00000000000..9f5c652d22c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scotty-hastache/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hastache, httpTypes, mtl, scotty, text, wai
+, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scotty-hastache";
+  version = "0.2.1";
+  sha256 = "1yyip8iq1n71iidmpbfs7rifxvpphyrcaf4z394rx36hq72ka8dn";
+  buildDepends = [
+    filepath hastache httpTypes mtl scotty text wai warp
+  ];
+  meta = {
+    homepage = "https://github.com/scotty-web/scotty-hastache";
+    description = "Easy Mustache templating support for Scotty";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix
index ad932df1ac7..91876f7e318 100644
--- a/pkgs/development/libraries/haskell/scotty/default.nix
+++ b/pkgs/development/libraries/haskell/scotty/default.nix
@@ -1,18 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault
-, httpTypes, mtl, regexCompat, resourcet, text, transformers, wai
-, waiExtra, warp
+, hspec, httpTypes, liftedBase, monadControl, mtl, regexCompat
+, text, transformers, transformersBase, wai, waiExtra, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "scotty";
-  version = "0.5.0";
-  sha256 = "177c7nyjwksm2y98j2swgzfn1rmr2h0v4fk6s525kx803iibvfhc";
+  version = "0.8.2";
+  sha256 = "07vjdj26380inlyi350mdifm7v1dpbc56041vi2czf5zzhx97qb0";
   buildDepends = [
     aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes
-    mtl regexCompat resourcet text transformers wai waiExtra warp
+    monadControl mtl regexCompat text transformers transformersBase wai
+    waiExtra warp
   ];
+  testDepends = [ hspec httpTypes liftedBase wai waiExtra ];
+  jailbreak = true;
   meta = {
-    homepage = "https://github.com/ku-fpg/scotty";
+    homepage = "https://github.com/scotty-web/scotty";
     description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/scrypt/default.nix b/pkgs/development/libraries/haskell/scrypt/default.nix
new file mode 100644
index 00000000000..c0d9e2df2e8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scrypt/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, entropy, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scrypt";
+  version = "0.5.0";
+  sha256 = "1cnrjdq1ncv224dlk236a7w29na8r019d2acrsxlsaiy74iadh1y";
+  buildDepends = [ base64Bytestring entropy ];
+  testDepends = [
+    HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "http://github.com/informatikr/scrypt";
+    description = "Stronger password hashing via sequential memory-hard functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/securemem/default.nix b/pkgs/development/libraries/haskell/securemem/default.nix
index 5b6fc4e95ca..fddba193457 100644
--- a/pkgs/development/libraries/haskell/securemem/default.nix
+++ b/pkgs/development/libraries/haskell/securemem/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, byteable }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix b/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
index cb8ed865da3..13b005a98a9 100644
--- a/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, semigroupoids }:
 
 cabal.mkDerivation (self: {
@@ -10,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "This package has been absorbed into semigroupoids 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index e0dbf456804..ca625f5eb75 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad, contravariant, distributive, semigroups
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "semigroupoids";
-  version = "4.0";
-  sha256 = "12h2b9pisy21xca3x9ilj0aix9clni0za35d2dmv55gb8y8df54l";
+  version = "4.2";
+  sha256 = "18zip518f2l2ccmg3hjzy5mq2b8r98crzm10kr77yc4m64w5vac8";
   buildDepends = [
     comonad contravariant distributive semigroups transformers
   ];
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index 16e6eb60fcf..ed9fa0bf3fb 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, nats, text, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "semigroups";
-  version = "0.11";
-  sha256 = "0w81ap41j28pbppqs33hz7b9n5ghyj2hnny0kgxgcg8iv2qg9czy";
+  version = "0.15.2";
+  sha256 = "1lh06d0mwivzbfjg635r3m39qcpyjvnwni7mspz96qb3zcm0c5kp";
   buildDepends = [ hashable nats text unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroups/";
     description = "Anything that associates";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/sendfile/default.nix b/pkgs/development/libraries/haskell/sendfile/default.nix
index dc1f24757af..b7fddb0bc04 100644
--- a/pkgs/development/libraries/haskell/sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/sendfile/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, network }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A portable sendfile library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/setenv/default.nix b/pkgs/development/libraries/haskell/setenv/default.nix
index b00480279e1..567c50ecb2a 100644
--- a/pkgs/development/libraries/haskell/setenv/default.nix
+++ b/pkgs/development/libraries/haskell/setenv/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "setenv";
-  version = "0.1.1";
-  sha256 = "1j0fj8nrx9z90kghasxjx5jycz9y9xdi7mrxmgnsc14csa65rhb8";
+  version = "0.1.1.1";
+  sha256 = "0azkvsvk9i1979rn45zryqyirvjhj9b32nnz1m30aasbs2q8f393";
   doCheck = false;
   meta = {
     description = "A cross-platform library for setting environment variables";
diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix
new file mode 100644
index 00000000000..fcfd2d34d58
--- /dev/null
+++ b/pkgs/development/libraries/haskell/setlocale/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "setlocale";
+  version = "0.0.3";
+  sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl";
+  meta = {
+    description = "A Haskell interface to setlocale()";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index ef7a6d69905..610c7c22590 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -1,11 +1,13 @@
-{ cabal, binary, deepseq, filepath, hashable, random, time
-, transformers, unorderedContainers, utf8String
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, deepseq, filepath, hashable, QuickCheck, random
+, time, transformers, unorderedContainers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.10.8";
-  sha256 = "15r392b18nis9p0ys95kbj79hki19wid2gyrpy0z9zm2l5d1m3ya";
+  version = "0.13.2";
+  sha256 = "0ibq0y0dxxahfwgcvamjfhbl5mrqmj7ryzf8bfmqky843fg7dyna";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -13,12 +15,11 @@ cabal.mkDerivation (self: {
     unorderedContainers utf8String
   ];
   testDepends = [
-    binary deepseq filepath hashable random time transformers
-    unorderedContainers utf8String
+    binary deepseq filepath hashable QuickCheck random time
+    transformers unorderedContainers utf8String
   ];
-  doCheck = false;
   meta = {
-    homepage = "http://community.haskell.org/~ndm/shake/";
+    homepage = "https://github.com/ndmitchell/shake";
     description = "Build system library, like Make, but more accurate dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
index 03b6b057cd1..3db4273cc92 100644
--- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
@@ -1,16 +1,17 @@
-{ cabal, hspec, HUnit, parsec, shakespeare, text, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, shakespeare }:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-css";
-  version = "1.0.6.4";
-  sha256 = "12f2b69grxpwk56b2d7idlg8axqfgzn0rn3m56r1hcpvkjbynlc4";
-  buildDepends = [ parsec shakespeare text transformers ];
-  testDepends = [ hspec HUnit shakespeare text ];
+  version = "1.1.0";
+  sha256 = "18d0kxfrs0aj9pfd9p1j7w5amch1hvsww3xycgn5qk6i0z7l4ywz";
+  buildDepends = [ shakespeare ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-    description = "Stick your haskell variables into css at compile time";
+    description = "Stick your haskell variables into css at compile time. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix b/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix
index b7710d7c3d5..0b8cdbf5bbc 100644
--- a/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix
@@ -1,16 +1,17 @@
-{ cabal, hspec, parsec, shakespeare, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, shakespeare }:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-i18n";
-  version = "1.0.0.4";
-  sha256 = "1ia73rq9kva2v4vxcyc2nzbvvkrbwrx48gjhnljx39szx1klyk3l";
-  buildDepends = [ parsec shakespeare text ];
-  testDepends = [ hspec text ];
+  version = "1.1.0";
+  sha256 = "0ahhg9r7d8kdxn0x33bp5p8wmwkh1yvdqhw05yjwif0ky5y9h625";
+  buildDepends = [ shakespeare ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-    description = "A type-based approach to internationalization";
+    description = "A type-based approach to internationalization. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index ed743d87832..27aa98d1548 100644
--- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
@@ -1,16 +1,17 @@
-{ cabal, aeson, hspec, HUnit, shakespeare, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, shakespeare }:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-js";
-  version = "1.2.0.2";
-  sha256 = "1d7fmw2295ycjipaj9fjgw02y1088h2gxxk1d6sy4c165x95r6vx";
-  buildDepends = [ aeson shakespeare text ];
-  testDepends = [ aeson hspec HUnit shakespeare text ];
+  version = "1.3.0";
+  sha256 = "0hihcrgvzf4nsrgw6vqpkzbgskq01yc1mnvp7g2wy7vq0dv4pjp4";
+  buildDepends = [ shakespeare ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-    description = "Stick your haskell variables into javascript/coffeescript at compile time";
+    description = "Stick your haskell variables into javascript/coffeescript at compile time. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
index d5e91da61b1..786f6741ca1 100644
--- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
@@ -1,16 +1,17 @@
-{ cabal, hspec, HUnit, shakespeare, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, shakespeare }:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-text";
-  version = "1.0.0.8";
-  sha256 = "0gf4gsdfjz9c15wvxz886gjzzifgzanfhblgab15inl2rblirv7l";
-  buildDepends = [ shakespeare text ];
-  testDepends = [ hspec HUnit text ];
+  version = "1.1.0";
+  sha256 = "18ixixb9aqn630s9wblxcki1gggm4i0fj9752c55p3b42q8h86rc";
+  buildDepends = [ shakespeare ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-    description = "Interpolation with quasi-quotation: put variables strings";
+    description = "Interpolation with quasi-quotation: put variables strings (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index a5428b0ee3c..251eb07d8aa 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -1,18 +1,25 @@
-{ cabal, hspec, parsec, systemFileio, systemFilepath, text, time }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeHtml, blazeMarkup, exceptions, hspec, HUnit
+, parsec, systemFileio, systemFilepath, text, time, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare";
-  version = "1.2.0.1";
-  sha256 = "07qfbqvq8fqbf7y43h0qq2gk9brpf4g0k7gghrjzyjrd57v5zygp";
-  buildDepends = [ parsec systemFileio systemFilepath text time ];
+  version = "2.0.1.1";
+  sha256 = "0xddm8xby19323d9bcd196b1ninlvfkv5b93w1da23m7w0hy509p";
+  buildDepends = [
+    aeson blazeHtml blazeMarkup exceptions parsec systemFileio
+    systemFilepath text time transformers
+  ];
   testDepends = [
-    hspec parsec systemFileio systemFilepath text time
+    aeson blazeHtml blazeMarkup exceptions hspec HUnit parsec
+    systemFileio systemFilepath text time transformers
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
     description = "A toolkit for making compile-time interpolated templates";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shellish/default.nix b/pkgs/development/libraries/haskell/shellish/default.nix
new file mode 100644
index 00000000000..cdf2e3a3463
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shellish/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, mtl, strict, time, unixCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "shellish";
+  version = "0.1.4";
+  sha256 = "1ldwid270mwyky6zmggbvn72hvs4s39hhf2zj8r0jahxnwlpbfan";
+  buildDepends = [ filepath mtl strict time unixCompat ];
+  meta = {
+    homepage = "http://repos.mornfall.net/shellish";
+    description = "shell-/perl- like (systems) programming in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shellmate/default.nix b/pkgs/development/libraries/haskell/shellmate/default.nix
new file mode 100644
index 00000000000..6f059a75352
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shellmate/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, temporary, time, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "shellmate";
+  version = "0.1.6";
+  sha256 = "17fpl0h58cw5hp6jzrajkl629mw2c6x15cmlcbdxqk9xlxqrg4hr";
+  buildDepends = [ filepath temporary time transformers ];
+  meta = {
+    homepage = "http://github.com/valderman/shellmate";
+    description = "Simple interface for shell scripting in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
new file mode 100644
index 00000000000..2840ba736f5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, HUnit, mtl, systemFileio, systemFilepath, text
+, time, unixCompat
+}:
+
+cabal.mkDerivation (self: {
+  pname = "shelly";
+  version = "0.15.4.1";
+  sha256 = "12m11s22izz0ny1syb1ykp2hi9n240myf0nhapvn8jx1fgf5iyck";
+  buildDepends = [
+    mtl systemFileio systemFilepath text time unixCompat
+  ];
+  testDepends = [
+    hspec HUnit mtl systemFileio systemFilepath text time unixCompat
+  ];
+  meta = {
+    homepage = "https://github.com/yesodweb/Shelly.hs";
+    description = "shell-like (systems) programming in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 4272afd61a2..587c42d6033 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -1,18 +1,23 @@
-{ cabal, mtl, systemFileio, systemFilepath, text, time, unixCompat
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, enclosedExceptions, exceptions, liftedAsync
+, liftedBase, monadControl, mtl, systemFileio, systemFilepath, text
+, time, transformers, transformersBase, unixCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "1.3.1";
-  sha256 = "1psgb1jqw6hqbrp7f217ayabchsn9q4fn2z77lc52r4mlvys13mh";
+  version = "1.5.4.1";
+  sha256 = "0h38j6vkdgaddj7xardyywibdj5w0wryqxwwpc62idgzlp7mgpb2";
   buildDepends = [
-    mtl systemFileio systemFilepath text time unixCompat
+    async enclosedExceptions exceptions liftedAsync liftedBase
+    monadControl mtl systemFileio systemFilepath text time transformers
+    transformersBase unixCompat
   ];
   meta = {
     homepage = "https://github.com/yesodweb/Shelly.hs";
     description = "shell-like (systems) programming in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/show/default.nix b/pkgs/development/libraries/haskell/show/default.nix
index 28ed4371264..cc8cf94c9d6 100644
--- a/pkgs/development/libraries/haskell/show/default.nix
+++ b/pkgs/development/libraries/haskell/show/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, syb }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "'Show' instances for Lambdabot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/silently/default.nix b/pkgs/development/libraries/haskell/silently/default.nix
index fcd7a0a872a..619f8614f09 100644
--- a/pkgs/development/libraries/haskell/silently/default.nix
+++ b/pkgs/development/libraries/haskell/silently/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, nanospec }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/simple-conduit/default.nix b/pkgs/development/libraries/haskell/simple-conduit/default.nix
new file mode 100644
index 00000000000..f1ad007c8f9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/simple-conduit/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, chunkedData, either, exceptions, filepath
+, free, liftedAsync, liftedBase, mmorph, monadControl
+, monoTraversable, mtl, mwcRandom, primitive, semigroups, stm
+, streamingCommons, text, transformers, transformersBase, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "simple-conduit";
+  version = "0.5.1";
+  sha256 = "1jy70cdw2h6fd2618dczajml5k82kkjmd2n0mgbby2mr6r3sk5zr";
+  buildDepends = [
+    bifunctors chunkedData either exceptions filepath free liftedAsync
+    liftedBase mmorph monadControl monoTraversable mtl mwcRandom
+    primitive semigroups stm streamingCommons text transformers
+    transformersBase vector
+  ];
+  meta = {
+    homepage = "http://github.com/jwiegley/simple-conduit";
+    description = "A simple streaming I/O library based on monadic folds";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/simple-reflect/default.nix b/pkgs/development/libraries/haskell/simple-reflect/default.nix
index 7a7f40c6d83..6ff9d26dc74 100644
--- a/pkgs/development/libraries/haskell/simple-reflect/default.nix
+++ b/pkgs/development/libraries/haskell/simple-reflect/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "simple-reflect";
-  version = "0.3.1";
-  sha256 = "189pc7fk28bwl0mq6hw502kc048n203rb4vpf2wva490r36xiw6s";
+  version = "0.3.2";
+  sha256 = "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq";
   meta = {
-    homepage = "http://twan.home.fmf.nl/blog/haskell/simple-reflection-of-expressions.details";
+    homepage = "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions";
     description = "Simple reflection of expressions containing variables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index 806feee295f..3e8381bf34b 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -1,16 +1,21 @@
-{ cabal, conduit, hspec, HUnit, network, networkConduit }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitExtra, hspec, HUnit, network
+, networkConduit, resourcet
+}:
 
 cabal.mkDerivation (self: {
   pname = "simple-sendfile";
-  version = "0.2.13";
-  sha256 = "03cgbzfhkih1ln1xb78r1hfh6zzjjj6763n9nzr9cj6bxs0fiqd3";
-  buildDepends = [ network ];
-  testDepends = [ conduit hspec HUnit network networkConduit ];
+  version = "0.2.15";
+  sha256 = "1fa20h2zcvxwdb5j5a0nnhl38bry1p5ckya1l7lrxx9r2bvjkyj9";
+  buildDepends = [ network resourcet ];
+  testDepends = [
+    conduit conduitExtra hspec HUnit network networkConduit resourcet
+  ];
   doCheck = false;
   meta = {
     description = "Cross platform library for the sendfile system call";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/simple-sql-parser/default.nix b/pkgs/development/libraries/haskell/simple-sql-parser/default.nix
new file mode 100644
index 00000000000..71cd2f4bbd7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/simple-sql-parser/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, parsec, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "simple-sql-parser";
+  version = "0.4.0";
+  sha256 = "0mkc2x6x061qdcnaifig26jmq86rvdvp1xjmzn8g2qf0v3dw18hl";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl parsec ];
+  testDepends = [
+    HUnit mtl parsec testFramework testFrameworkHunit
+  ];
+  meta = {
+    homepage = "http://jakewheat.github.io/simple-sql-parser/";
+    description = "A parser for SQL queries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/singletons/default.nix b/pkgs/development/libraries/haskell/singletons/default.nix
new file mode 100644
index 00000000000..c4074b9d62c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/singletons/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, constraints, filepath, mtl, tasty, tastyGolden
+, thDesugar
+}:
+
+cabal.mkDerivation (self: {
+  pname = "singletons";
+  version = "1.0";
+  sha256 = "1rd1728wghhqlg2djd7az8i01rf4i3wwwcnz2v43a39jjvhlklkg";
+  buildDepends = [ mtl thDesugar ];
+  testDepends = [ Cabal constraints filepath tasty tastyGolden ];
+  noHaddock = true;
+  patches = self.stdenv.lib.optional self.stdenv.isDarwin ./test.patch;
+  meta = {
+    homepage = "http://www.cis.upenn.edu/~eir/packages/singletons";
+    description = "A framework for generating singleton types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/singletons/test.patch b/pkgs/development/libraries/haskell/singletons/test.patch
new file mode 100644
index 00000000000..6979c2c6cb0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/singletons/test.patch
@@ -0,0 +1,12 @@
+--- a/tests/SingletonsTestSuiteUtils.hs
++++ b/tests/SingletonsTestSuiteUtils.hs
+@@ -201,7 +201,7 @@ testCompileAndDumpGroup testDir tests =
+ filterWithSed :: FilePath -> IO ()
+ filterWithSed file = runProcessWithOpts CreatePipe "sed"
+ #ifdef darwin_HOST_OS
+-  [ "-i", "''"
++  [ "-i"
+ #else
+   [ "-i"
+ #endif
+
diff --git a/pkgs/development/libraries/haskell/sized-types/default.nix b/pkgs/development/libraries/haskell/sized-types/default.nix
index 672b2c090ef..67af162a2a8 100644
--- a/pkgs/development/libraries/haskell/sized-types/default.nix
+++ b/pkgs/development/libraries/haskell/sized-types/default.nix
@@ -1,15 +1,20 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, singletons }:
 
 cabal.mkDerivation (self: {
   pname = "sized-types";
-  version = "0.3.4.0";
-  sha256 = "0fpk7xpqzzylxbnxhz56lxzfnrhfibn0x7ahxl91x6biysnh714c";
+  version = "0.5.0";
+  sha256 = "1cvgw2plzgpddg2p74hylx499dv4hn2nc8s085mnayp5n9jkn8md";
   isLibrary = true;
   isExecutable = true;
+  buildDepends = [ singletons ];
   meta = {
     homepage = "http://www.ittc.ku.edu/csdl/fpg/Tools";
-    description = "Sized types in Haskell";
+    description = "Sized types in Haskell using the GHC Nat kind";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/skein/default.nix b/pkgs/development/libraries/haskell/skein/default.nix
index 7acc60e3601..5fcd9df4642 100644
--- a/pkgs/development/libraries/haskell/skein/default.nix
+++ b/pkgs/development/libraries/haskell/skein/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, cryptoApi, filepath, hspec, tagged }:
 
 cabal.mkDerivation (self: {
   pname = "skein";
-  version = "1.0.8";
-  sha256 = "0qga3r73zzbj4kkwl8c3p7d1myjyv6dv6g0dwc77fqnmikzcnils";
+  version = "1.0.9";
+  sha256 = "08hy40c0gzlalrpmgcvhc1v51a44idipamjjbh7zzwsvbxmp1cbb";
   buildDepends = [ cereal cryptoApi tagged ];
   testDepends = [ cereal cryptoApi filepath hspec tagged ];
   jailbreak = true;
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Skein, a family of cryptographic hash functions. Includes Skein-MAC as well.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/smallcheck/default.nix b/pkgs/development/libraries/haskell/smallcheck/default.nix
index bf4ba55e751..1a35a79d9ec 100644
--- a/pkgs/development/libraries/haskell/smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/smallcheck/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, logict, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "smallcheck";
-  version = "1.0.4";
-  sha256 = "0zqssw7r56k7gi1lxdss3f4piqa692y728rli9p81q9rbcvi3x7z";
+  version = "1.1.1";
+  sha256 = "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd";
   buildDepends = [ logict mtl ];
   meta = {
     homepage = "https://github.com/feuerbach/smallcheck";
     description = "A property-based testing library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/smtLib/default.nix b/pkgs/development/libraries/haskell/smtLib/default.nix
new file mode 100644
index 00000000000..2e60c83e991
--- /dev/null
+++ b/pkgs/development/libraries/haskell/smtLib/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "smtLib";
+  version = "1.0.7";
+  sha256 = "1jn2790x7g7n6jm5cfgd692n3l6iafyv0zyz40hx8ykcs4jh2rkf";
+  meta = {
+    description = "A library for working with the SMTLIB format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/smtp-mail/default.nix b/pkgs/development/libraries/haskell/smtp-mail/default.nix
index e07ed9e236b..ab97608541d 100644
--- a/pkgs/development/libraries/haskell/smtp-mail/default.nix
+++ b/pkgs/development/libraries/haskell/smtp-mail/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base16Bytestring, base64Bytestring, cryptohash, filepath
 , mimeMail, network, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "smtp-mail";
-  version = "0.1.4.3";
-  sha256 = "0kpm42n7s3rvkn9i3s8wvkdrq2d85qy422y6p2r4s7nivh6sx1dk";
+  version = "0.1.4.5";
+  sha256 = "010fbrcbypajwd9fjjc35br9p5axl1pqd0n1v51585ncrlv2icyw";
   buildDepends = [
     base16Bytestring base64Bytestring cryptohash filepath mimeMail
     network text
diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
new file mode 100644
index 00000000000..fbab444444b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, cprngAes, dataDefault, filepath
+, mimeMail, network, stringsearch, text, tls
+}:
+
+cabal.mkDerivation (self: {
+  pname = "smtps-gmail";
+  version = "1.2.1";
+  sha256 = "04sancbfbbszajgb1jp613qp43qxvzz9b14c0v3sgfva7fdhaw9q";
+  buildDepends = [
+    base64Bytestring cprngAes dataDefault filepath mimeMail network
+    stringsearch text tls
+  ];
+  meta = {
+    homepage = "https://github.com/enzoh/smtps-gmail";
+    description = "Gmail SMTP Client";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snap-blaze/default.nix b/pkgs/development/libraries/haskell/snap-blaze/default.nix
new file mode 100644
index 00000000000..9dd9bf382bd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snap-blaze/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, snapCore }:
+
+cabal.mkDerivation (self: {
+  pname = "snap-blaze";
+  version = "0.2.1.2";
+  sha256 = "136i5q9ipfqrh7fw8rgn1ws6zkjdrfwfq9wpccrm8dg3l61380wh";
+  buildDepends = [ blazeHtml snapCore ];
+  meta = {
+    homepage = "http://github.com/jaspervdj/snap-blaze";
+    description = "blaze-html integration for Snap";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix
new file mode 100644
index 00000000000..f62b484328c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snap-cors/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, caseInsensitive, hashable, network, snap, text
+, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snap-cors";
+  version = "1.2.5";
+  sha256 = "1zjvvi1prskkb26yp51j09gfkhpw0ggj69d89098yq0sl6d0vy1c";
+  buildDepends = [
+    attoparsec caseInsensitive hashable network snap text transformers
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/snap-cors";
+    description = "Add CORS headers to Snap applications";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snap-web-routes/default.nix b/pkgs/development/libraries/haskell/snap-web-routes/default.nix
new file mode 100644
index 00000000000..71b8c3c49da
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snap-web-routes/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, heist, mtl, snap, snapCore, text, webRoutes, xmlhtml }:
+
+cabal.mkDerivation (self: {
+  pname = "snap-web-routes";
+  version = "0.5.0.0";
+  sha256 = "1ml0b759k2n9bd2x4akz4dfyk8ywnpgrdlcymng4vhjxbzngnniv";
+  buildDepends = [ heist mtl snap snapCore text webRoutes xmlhtml ];
+  meta = {
+    homepage = "https://github.com/lukerandall/snap-web-routes";
+    description = "Type safe URLs for Snap";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 52da653da3e..0fca2136663 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, attoparsecEnumerator, blazeBuilder
 , blazeBuilderEnumerator, bytestringMmap, caseInsensitive, deepseq
 , enumerator, filepath, hashable, HUnit, MonadCatchIOTransformers
@@ -7,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.9.4.1";
-  sha256 = "0yacbpd20y49jw1qkrm5r4qick0fhimgb07883bg1lp3ai4ysrk5";
+  version = "0.9.6.3";
+  sha256 = "0i3gl1kxzi2l76sqhyhda7lrcvq8hq6aqgwvfx5k9fa2xic01dw1";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     bytestringMmap caseInsensitive deepseq enumerator filepath hashable
@@ -20,6 +22,5 @@ cabal.mkDerivation (self: {
     description = "Snap: A Haskell Web Framework (core interfaces and types)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
index abe4d4cc074..0f4132a75da 100644
--- a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
+++ b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
@@ -1,14 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, directoryTree, hint, mtl, snapCore, time }:
 
 cabal.mkDerivation (self: {
   pname = "snap-loader-dynamic";
-  version = "0.10";
-  sha256 = "0wnrsbnf3crfxhhraz4my08m6yhmqj632rv6cdy9ili3wxjkqd57";
+  version = "0.10.0.2";
+  sha256 = "0fnpzhwnj3dsqwx880391x9x6y0ry8f6dfrzkfs963zib9l3qvh7";
   buildDepends = [ directoryTree hint mtl snapCore time ];
   meta = {
     homepage = "http://snapframework.com/";
     description = "Snap: A Haskell Web Framework: dynamic loader";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap/loader-static.nix b/pkgs/development/libraries/haskell/snap/loader-static.nix
index e75ae50d6c8..4b74ed294dc 100644
--- a/pkgs/development/libraries/haskell/snap/loader-static.nix
+++ b/pkgs/development/libraries/haskell/snap/loader-static.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "snap-loader-static";
-  version = "0.9.0.1";
-  sha256 = "0xlb8611r9l9ld97rs27nji7k1qvjg5i62b4al38xj6i0f2skyyi";
+  version = "0.9.0.2";
+  sha256 = "0d6s7n6yryfs2jkw0hxvhvc79fhbj256askb1c6ksqhscxxxwz1m";
   meta = {
     homepage = "http://snapframework.com/";
     description = "Snap: A Haskell Web Framework: static loader";
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 7bf332811a9..d2278f329f4 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -1,18 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, attoparsecEnumerator, blazeBuilder
-, blazeBuilderEnumerator, caseInsensitive, enumerator
+, blazeBuilderEnumerator, caseInsensitive, enumerator, HsOpenSSL
 , MonadCatchIOTransformers, mtl, network, snapCore, text, time
 , unixCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.9.3.4";
-  sha256 = "0i95gf7wpf0gyns4rnl1wp2f53cwfmjg0qb8jxpynwklvsm6zf88";
+  version = "0.9.4.5";
+  sha256 = "09399vlqgic0iwmx31c01bjpbdblw8gayxnz71lwzkixqibkbbip";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
-    caseInsensitive enumerator MonadCatchIOTransformers mtl network
-    snapCore text time unixCompat
+    caseInsensitive enumerator HsOpenSSL MonadCatchIOTransformers mtl
+    network snapCore text time unixCompat
   ];
+  configureFlags = "-fopenssl";
+  patchPhase = ''
+    sed -i -e 's|HsOpenSSL >= .*|HsOpenSSL|' snap-server.cabal
+  '';
   meta = {
     homepage = "http://snapframework.com/";
     description = "A fast, iteratee-based, epoll-enabled web server for the Snap Framework";
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 8df65404962..189750bd446 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, cereal, clientsession, comonad
 , configurator, directoryTree, dlist, errors, filepath, hashable
 , heist, lens, logict, MonadCatchIOTransformers, mtl, mwcRandom
@@ -8,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.13.0.4";
-  sha256 = "1cbc42x7p87fmazm0dqc519rdaiiiwmkri8y1n4hgvr70kfi6569";
+  version = "0.13.2.8";
+  sha256 = "1jrnh1raw2jrl04l54f5w5xfp9yyb9bj0ly9v1baqkiggswacbzg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -20,6 +22,9 @@ cabal.mkDerivation (self: {
     unorderedContainers vector vectorAlgorithms xmlhtml
   ];
   jailbreak = true;
+  patchPhase = ''
+    sed -i -e 's|lens .*< 4.2|lens|' snap.cabal
+  '';
   meta = {
     homepage = "http://snapframework.com/";
     description = "Top-level package for the Snap Web Framework";
diff --git a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
index 838f45eccaa..0d483a65ad7 100644
--- a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, acidState, snap, text }:
 
 cabal.mkDerivation (self: {
   pname = "snaplet-acid-state";
-  version = "0.2.5";
-  sha256 = "0qx6as1m0fwb5fkhvl0k71kx65njwq0dk183xi4gmdzhf83hkjbs";
+  version = "0.2.6.1";
+  sha256 = "0wlawnsxisslqzspa29swsdmncgx04z3rd1bhwx73mx5pksykw60";
   buildDepends = [ acidState snap text ];
   meta = {
     homepage = "https://github.com/mightybyte/snaplet-acid-state";
     description = "acid-state snaplet for Snap Framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix b/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix
new file mode 100644
index 00000000000..5238fee7b9f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, clientsession, configurator, errors
+, MonadCatchIOTransformers, mtl, postgresqlSimple
+, resourcePoolCatchio, snap, text, transformers
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snaplet-postgresql-simple";
+  version = "0.5";
+  sha256 = "0pzn0lg1slrllrrx1n9s1kp1pmq2ahrkjypcwnnld8zxzvz4g5jm";
+  buildDepends = [
+    clientsession configurator errors MonadCatchIOTransformers mtl
+    postgresqlSimple resourcePoolCatchio snap text transformers
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "https://github.com/mightybyte/snaplet-postgresql-simple";
+    description = "postgresql-simple snaplet for the Snap Framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snaplet-redis/default.nix b/pkgs/development/libraries/haskell/snaplet-redis/default.nix
new file mode 100644
index 00000000000..d6bfcd260ca
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snaplet-redis/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, configurator, hedis, lens, mtl, network, snap
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snaplet-redis";
+  version = "0.1.3.3";
+  sha256 = "17w2b9cnri45m535hyszb1fickhhglid3zy5a4bbljmnwvi4y08l";
+  buildDepends = [
+    configurator hedis lens mtl network snap transformers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/dzhus/snaplet-redis/";
+    description = "Redis support for Snap Framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snaplet-stripe/default.nix b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
new file mode 100644
index 00000000000..1024b2ac4ee
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, configurator, heist, mtl, snap, stripe, text, textFormat
+, transformers, xmlhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snaplet-stripe";
+  version = "0.2.0";
+  sha256 = "01ichbwk31zfjq5rc09scz0j4ir6b7jnppdvmm8ilvkj7bl442xs";
+  buildDepends = [
+    configurator heist mtl snap stripe text textFormat transformers
+    xmlhtml
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/LukeHoersten/snaplet-stripe";
+    description = "Stripe snaplet for the Snap Framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snowball/default.nix b/pkgs/development/libraries/haskell/snowball/default.nix
new file mode 100644
index 00000000000..d24b27f781e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snowball/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, QuickCheck, quickcheckInstances, testFrameworkHunit
+, testFrameworkQuickcheck2, testFrameworkTh, text, textIcu
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snowball";
+  version = "1.0.0.1";
+  sha256 = "0fvxzm14ffjqq6n51bi5cmq5yrlggpkbb9rbbw522l6cjgv0apbx";
+  buildDepends = [ text textIcu ];
+  testDepends = [
+    HUnit QuickCheck quickcheckInstances testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh text
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://hub.darcs.net/dag/snowball";
+    description = "Bindings to the Snowball library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/socket-activation/default.nix b/pkgs/development/libraries/haskell/socket-activation/default.nix
new file mode 100644
index 00000000000..d66266f0886
--- /dev/null
+++ b/pkgs/development/libraries/haskell/socket-activation/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, network, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "socket-activation";
+  version = "0.1.0.1";
+  sha256 = "109zxc16zlp98ggc99ap7wbzaa40yg34v3abn2nfs0w49dvh1zma";
+  buildDepends = [ network transformers ];
+  meta = {
+    homepage = "https://github.com/sakana/haskell-socket-activation";
+    description = "systemd socket activation library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix
new file mode 100644
index 00000000000..19d6ff3a667
--- /dev/null
+++ b/pkgs/development/libraries/haskell/socket-io/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, engineIo, mtl, stm, text, transformers
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "socket-io";
+  version = "1.0.1";
+  sha256 = "0257c5wf6b9rmprqq5q5d7fih4s2szwv98w16ggl61p8khf5d2qs";
+  buildDepends = [
+    aeson attoparsec engineIo mtl stm text transformers
+    unorderedContainers vector
+  ];
+  jailbreak = true;
+  meta = {
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/socks/default.nix b/pkgs/development/libraries/haskell/socks/default.nix
index 1953e3436ee..6a67dfddcc0 100644
--- a/pkgs/development/libraries/haskell/socks/default.nix
+++ b/pkgs/development/libraries/haskell/socks/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cereal, network }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Socks proxy (version 5) implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/sodium/default.nix b/pkgs/development/libraries/haskell/sodium/default.nix
new file mode 100644
index 00000000000..f27c5d0e51c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sodium/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "sodium";
+  version = "0.10.0.2";
+  sha256 = "0rm1blh0br4gdnqb6ixvql6nrxzcjxjkwp4lmqmsisa2b68gbzqy";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "Sodium Reactive Programming (FRP) System";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/sourcemap/default.nix b/pkgs/development/libraries/haskell/sourcemap/default.nix
new file mode 100644
index 00000000000..cb74bb098f8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sourcemap/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, text, unorderedContainers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sourcemap";
+  version = "0.1.3.0";
+  sha256 = "1flfsjs2z2zjzqwvmc2vcibvxh19s89ah4s560xr2s5mhdqwbkk5";
+  buildDepends = [
+    aeson attoparsec text unorderedContainers utf8String
+  ];
+  meta = {
+    description = "Implementation of source maps as proposed by Google and Mozilla";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/sparse/default.nix b/pkgs/development/libraries/haskell/sparse/default.nix
new file mode 100644
index 00000000000..28389a860c8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sparse/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, contravariant, deepseq, doctest, filepath, hlint
+, hybridVectors, lens, linear, mtl, primitive, QuickCheck
+, semigroups, simpleReflect, testFramework
+, testFrameworkQuickcheck2, testFrameworkTh, transformers, vector
+, vectorAlgorithms
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sparse";
+  version = "0.9.1";
+  sha256 = "1pa1h21ca710fdjz60b79jg0v2lr0l11avpiynp9n1cw5bz137fk";
+  buildDepends = [
+    contravariant deepseq hybridVectors lens primitive transformers
+    vector vectorAlgorithms
+  ];
+  testDepends = [
+    deepseq doctest filepath hlint hybridVectors lens linear mtl
+    QuickCheck semigroups simpleReflect testFramework
+    testFrameworkQuickcheck2 testFrameworkTh transformers vector
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/ekmett/sparse";
+    description = "A playground of sparse linear algebra primitives using Morton ordering";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/spawn/default.nix b/pkgs/development/libraries/haskell/spawn/default.nix
new file mode 100644
index 00000000000..010f51a5251
--- /dev/null
+++ b/pkgs/development/libraries/haskell/spawn/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "spawn";
+  version = "0.3";
+  sha256 = "0xkkl0w30rqif2jwdzjv239raly4yaf0116vkqcwh1i41jqn7ij8";
+  meta = {
+    description = "Tiny library for concurrent computations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/speculation/default.nix b/pkgs/development/libraries/haskell/speculation/default.nix
new file mode 100644
index 00000000000..2386d0ad54f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/speculation/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, stm, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "speculation";
+  version = "1.5.0.1";
+  sha256 = "1kjshccmfnigb2dxq0czn3c1ckdflz6bl1q60h38qp3rc7250ml0";
+  buildDepends = [ stm transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/speculation";
+    description = "A framework for safe, programmable, speculative parallelism";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/split/0.1.4.3.nix b/pkgs/development/libraries/haskell/split/0.1.4.3.nix
new file mode 100644
index 00000000000..b30ce21e342
--- /dev/null
+++ b/pkgs/development/libraries/haskell/split/0.1.4.3.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "split";
+  version = "0.1.4.3";
+  sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby";
+  meta = {
+    homepage = "http://code.haskell.org/~byorgey/code/split";
+    description = "Combinator library for splitting lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/split/0.2.1.1.nix b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
index 0fb28b53ac9..5dfcdf6de0c 100644
--- a/pkgs/development/libraries/haskell/split/0.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/split/0.2.2.nix b/pkgs/development/libraries/haskell/split/0.2.2.nix
index ab60774cca4..91a6b4cada3 100644
--- a/pkgs/development/libraries/haskell/split/0.2.2.nix
+++ b/pkgs/development/libraries/haskell/split/0.2.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck }:
 
 cabal.mkDerivation (self: {
@@ -5,10 +7,10 @@ cabal.mkDerivation (self: {
   version = "0.2.2";
   sha256 = "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr";
   testDepends = [ QuickCheck ];
+  doCheck = self.stdenv.lib.versionOlder self.ghc.version "7.9";
   meta = {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/spoon/default.nix b/pkgs/development/libraries/haskell/spoon/default.nix
new file mode 100644
index 00000000000..436291cf8dc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/spoon/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "spoon";
+  version = "0.3.1";
+  sha256 = "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Catch errors thrown from pure computations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/sqlite-simple/default.nix b/pkgs/development/libraries/haskell/sqlite-simple/default.nix
new file mode 100644
index 00000000000..94d8d4409c9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sqlite-simple/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, base16Bytestring, blazeBuilder, blazeTextual
+, directSqlite, HUnit, text, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sqlite-simple";
+  version = "0.4.8.0";
+  sha256 = "098d1s80wlvsp307422f79bm3a9knvgw5ni6jap62fl4rpa7fsmz";
+  buildDepends = [
+    attoparsec blazeBuilder blazeTextual directSqlite text time
+    transformers
+  ];
+  testDepends = [ base16Bytestring directSqlite HUnit text time ];
+  meta = {
+    homepage = "http://github.com/nurpax/sqlite-simple";
+    description = "Mid-Level SQLite client library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/srcloc/default.nix b/pkgs/development/libraries/haskell/srcloc/default.nix
index f652ed001e4..087871bbc53 100644
--- a/pkgs/development/libraries/haskell/srcloc/default.nix
+++ b/pkgs/development/libraries/haskell/srcloc/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Data types for managing source code locations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stateref/default.nix b/pkgs/development/libraries/haskell/stateref/default.nix
index bc3913f6726..b9651681351 100644
--- a/pkgs/development/libraries/haskell/stateref/default.nix
+++ b/pkgs/development/libraries/haskell/stateref/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, stm }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Abstraction for things that work like IORef";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/statestack/default.nix b/pkgs/development/libraries/haskell/statestack/default.nix
new file mode 100644
index 00000000000..dac89bd2ef9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/statestack/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "statestack";
+  version = "0.2.0.3";
+  sha256 = "0w5vw8jmnwbfyma4a3ggdm9jvxf3c18kpwbvcmvr5szifaqv9sgx";
+  buildDepends = [ mtl transformers ];
+  meta = {
+    description = "Simple State-like monad transformer with saveable and restorable state";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 5db264d3c7b..a24b9359aa4 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -1,4 +1,6 @@
-{ cabal, binary, deepseq, erf, HUnit, ieee754, mathFunctions
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, binary, deepseq, erf, HUnit, ieee754, mathFunctions
 , monadPar, mwcRandom, primitive, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2, vector
 , vectorAlgorithms, vectorBinaryInstances
@@ -6,16 +8,16 @@
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.10.5.0";
-  sha256 = "0yn0bqvh922zi0cg2nyb9vn5jk9k4j4vz96fl0h3ayxhfds08m6v";
+  version = "0.13.2.1";
+  sha256 = "0giibqpnjndnhvxqsr8ikcxxfhz3ws0mk3ckykq2sfwz7gkipvva";
   buildDepends = [
-    binary deepseq erf mathFunctions monadPar mwcRandom primitive
+    aeson binary deepseq erf mathFunctions monadPar mwcRandom primitive
     vector vectorAlgorithms vectorBinaryInstances
   ];
   testDepends = [
-    erf HUnit ieee754 mathFunctions mwcRandom primitive QuickCheck
-    testFramework testFrameworkHunit testFrameworkQuickcheck2 vector
-    vectorAlgorithms
+    binary erf HUnit ieee754 mathFunctions mwcRandom primitive
+    QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 vector vectorAlgorithms
   ];
   doCheck = false;
   meta = {
@@ -23,6 +25,5 @@ cabal.mkDerivation (self: {
     description = "A library of statistical types, data, and functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/statvfs/default.nix b/pkgs/development/libraries/haskell/statvfs/default.nix
index 604edc83139..bb1ebb1b9d8 100644
--- a/pkgs/development/libraries/haskell/statvfs/default.nix
+++ b/pkgs/development/libraries/haskell/statvfs/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/stb-image/default.nix b/pkgs/development/libraries/haskell/stb-image/default.nix
index 1b1f1ba705b..d24b735ab76 100644
--- a/pkgs/development/libraries/haskell/stb-image/default.nix
+++ b/pkgs/development/libraries/haskell/stb-image/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bitmap }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A wrapper around Sean Barrett's JPEG/PNG decoder";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm-chans/default.nix b/pkgs/development/libraries/haskell/stm-chans/default.nix
index e8bd79a9a80..8455aca477b 100644
--- a/pkgs/development/libraries/haskell/stm-chans/default.nix
+++ b/pkgs/development/libraries/haskell/stm-chans/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, stm }:
 
 cabal.mkDerivation (self: {
   pname = "stm-chans";
-  version = "3.0.0";
-  sha256 = "1nnl5h88dshcmk0ydhkf84kkf6989igxry9r0z7lwlxfgf7q9nim";
+  version = "3.0.0.2";
+  sha256 = "1zsa092yjxsdq8nm2yqagdfpip3i3ff3xdwvys99ns7ridxbyynh";
   buildDepends = [ stm ];
   meta = {
     homepage = "http://code.haskell.org/~wren/";
diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix
index a2da329121b..cebb79c3344 100644
--- a/pkgs/development/libraries/haskell/stm-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix
@@ -1,17 +1,22 @@
-{ cabal, async, conduit, HUnit, monadControl, QuickCheck, resourcet
-, stm, stmChans, testFramework, testFrameworkHunit
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, cereal, cerealConduit, conduit, conduitExtra, HUnit
+, liftedAsync, liftedBase, monadControl, monadLoops, QuickCheck
+, resourcet, stm, stmChans, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "stm-conduit";
-  version = "2.1.2";
-  sha256 = "1jkjnp1sjb4sqs6zkmmlm0s1126fkh54jkhwxairdwaxx9yh9y9k";
+  version = "2.5.1";
+  sha256 = "08cnr92c442b1in46xcklni35597hbsggw97arq2f9w5sfir341q";
   buildDepends = [
-    async conduit monadControl resourcet stm stmChans transformers
+    async cereal cerealConduit conduit conduitExtra liftedAsync
+    liftedBase monadControl monadLoops resourcet stm stmChans
+    transformers
   ];
   testDepends = [
-    conduit HUnit QuickCheck stm stmChans testFramework
+    conduit HUnit QuickCheck resourcet stm stmChans testFramework
     testFrameworkHunit testFrameworkQuickcheck2 transformers
   ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/stm-containers/default.nix b/pkgs/development/libraries/haskell/stm-containers/default.nix
new file mode 100644
index 00000000000..91105712a6a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm-containers/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, basePrelude, focus, free, hashable, HTF, lochTh, mtl
+, placeholders, primitive, QuickCheck, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "stm-containers";
+  version = "0.1.3";
+  sha256 = "0ir2b6y1sqr0i68j0fqmwyysk7x9z18n84dbjppyjzzidcsrkar0";
+  buildDepends = [
+    basePrelude focus hashable lochTh placeholders primitive
+  ];
+  testDepends = [
+    basePrelude focus free hashable HTF lochTh mtl placeholders
+    primitive QuickCheck unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/nikita-volkov/stm-containers";
+    description = "Containers for STM";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm-stats/default.nix b/pkgs/development/libraries/haskell/stm-stats/default.nix
new file mode 100644
index 00000000000..4f58e73248c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm-stats/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, stm, time }:
+
+cabal.mkDerivation (self: {
+  pname = "stm-stats";
+  version = "0.2.0.0";
+  sha256 = "0i8ky2l8lvh7nymxglvbifp0ylbyjw20p75avzb51zpzx6qkjkqa";
+  buildDepends = [ stm time ];
+  meta = {
+    description = "retry statistics for STM transactions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
index fe308211ebb..d69827bbb69 100644
--- a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
index 492fb6e3557..ab99000b7e7 100644
--- a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
index fc33a979adf..cfe7ff65871 100644
--- a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.3.nix b/pkgs/development/libraries/haskell/stm/2.3.nix
index 4057b1f7fb3..c5f62c9c827 100644
--- a/pkgs/development/libraries/haskell/stm/2.3.nix
+++ b/pkgs/development/libraries/haskell/stm/2.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.4.2.nix b/pkgs/development/libraries/haskell/stm/2.4.2.nix
index a3fa76e4a51..f8cebde5d0b 100644
--- a/pkgs/development/libraries/haskell/stm/2.4.2.nix
+++ b/pkgs/development/libraries/haskell/stm/2.4.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.4.3.nix b/pkgs/development/libraries/haskell/stm/2.4.3.nix
new file mode 100644
index 00000000000..f6c7a7e7ce0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm/2.4.3.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "stm";
+  version = "2.4.3";
+  sha256 = "0vzw4s06d5scfy4ircl81ym8ylkw9ckzsp8rq950dvipmaj1xhis";
+  meta = {
+    description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm/2.4.nix b/pkgs/development/libraries/haskell/stm/2.4.nix
index a949474cef1..6007e845e9b 100644
--- a/pkgs/development/libraries/haskell/stm/2.4.nix
+++ b/pkgs/development/libraries/haskell/stm/2.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/storable-complex/default.nix b/pkgs/development/libraries/haskell/storable-complex/default.nix
index 4450308a910..59f5e647231 100644
--- a/pkgs/development/libraries/haskell/storable-complex/default.nix
+++ b/pkgs/development/libraries/haskell/storable-complex/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Storable instance for Complex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/storable-endian/default.nix b/pkgs/development/libraries/haskell/storable-endian/default.nix
new file mode 100644
index 00000000000..9fdbdb5a6b0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/storable-endian/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, byteorder }:
+
+cabal.mkDerivation (self: {
+  pname = "storable-endian";
+  version = "0.2.5";
+  sha256 = "04j1nk0wga4dqrqvhm8yd9h9194db1n3yrnhg8s3gsc0jk7yw1p2";
+  buildDepends = [ byteorder ];
+  meta = {
+    description = "Storable instances with endianness";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/storable-record/default.nix b/pkgs/development/libraries/haskell/storable-record/default.nix
index 455d860ba5e..fc919b195e0 100644
--- a/pkgs/development/libraries/haskell/storable-record/default.nix
+++ b/pkgs/development/libraries/haskell/storable-record/default.nix
@@ -1,17 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers, utilityHt }:
 
 cabal.mkDerivation (self: {
   pname = "storable-record";
-  version = "0.0.2.5";
-  sha256 = "078vwwcr47d3dmzkhxr7ggjkq9d5rnxv4z8p049kdnmzfbcmisn3";
+  version = "0.0.3";
+  sha256 = "1mv2s4r7dqkl2fy0wjnywyr2zi2g53nkn0z72mgr8drkzdszzxx1";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ transformers utilityHt ];
+  jailbreak = true;
   meta = {
     homepage = "http://code.haskell.org/~thielema/storable-record/";
     description = "Elegant definition of Storable instances for records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix
new file mode 100644
index 00000000000..3f0d47dfc2a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, blazeBuilder, deepseq, hspec, network, QuickCheck
+, random, stm, text, transformers, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "streaming-commons";
+  version = "0.1.4.2";
+  sha256 = "0ghm3a64q84bfyp1qp452jw4ns52nd5jz8fk308vljfpakv30qyf";
+  buildDepends = [
+    blazeBuilder network random stm text transformers zlib
+  ];
+  testDepends = [
+    async blazeBuilder deepseq hspec network QuickCheck text zlib
+  ];
+  meta = {
+    homepage = "https://github.com/fpco/streaming-commons";
+    description = "Common lower-level functions needed by various streaming data libraries";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/streamproc/default.nix b/pkgs/development/libraries/haskell/streamproc/default.nix
index 2b37be487e6..cd338472635 100644
--- a/pkgs/development/libraries/haskell/streamproc/default.nix
+++ b/pkgs/development/libraries/haskell/streamproc/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,9 +11,6 @@ cabal.mkDerivation (self: {
     description = "Stream Processer Arrow";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/strict-concurrency/default.nix b/pkgs/development/libraries/haskell/strict-concurrency/default.nix
new file mode 100644
index 00000000000..edb0ba0fd47
--- /dev/null
+++ b/pkgs/development/libraries/haskell/strict-concurrency/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "strict-concurrency";
+  version = "0.2.4.1";
+  sha256 = "0939212dd0cc3b9bd228dfbb233d9eccad22ca626752d9bad8026ceb0a5c1a89";
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/strict-concurrency";
+    description = "Strict concurrency abstractions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/strict/default.nix b/pkgs/development/libraries/haskell/strict/default.nix
index 61b34efbe45..6b4a157431e 100644
--- a/pkgs/development/libraries/haskell/strict/default.nix
+++ b/pkgs/development/libraries/haskell/strict/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Strict data types and String IO";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/strictConcurrency/default.nix b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
deleted file mode 100644
index 915fad7006a..00000000000
--- a/pkgs/development/libraries/haskell/strictConcurrency/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "strict-concurrency";
-  version = "0.2.4.1";
-  sha256 = "0939212dd0cc3b9bd228dfbb233d9eccad22ca626752d9bad8026ceb0a5c1a89";
-  buildDepends = [ deepseq ];
-  meta = {
-    homepage = "http://code.haskell.org/~dons/code/strict-concurrency";
-    description = "Strict concurrency abstractions";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/string-combinators/default.nix b/pkgs/development/libraries/haskell/string-combinators/default.nix
index bfc38fb07e8..3f4e0edf140 100644
--- a/pkgs/development/libraries/haskell/string-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/string-combinators/default.nix
@@ -1,15 +1,15 @@
-{ cabal, baseUnicodeSymbols }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "string-combinators";
-  version = "0.6.0.4";
-  sha256 = "0r1za5ypx9fz073h1yljjdkxmz0h77vg94bk827ndwkfgzgpzvh7";
-  buildDepends = [ baseUnicodeSymbols ];
+  version = "0.6.0.5";
+  sha256 = "07ky2z5f1l5mb7r3rvyraak0bzciq4krkg5lv8g0a5vxpnzlm4cl";
   meta = {
     homepage = "https://github.com/basvandijk/string-combinators";
     description = "Polymorphic functions to build and combine stringlike values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/string-conversions/default.nix b/pkgs/development/libraries/haskell/string-conversions/default.nix
new file mode 100644
index 00000000000..5176cad03cd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/string-conversions/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, text, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "string-conversions";
+  version = "0.3.0.2";
+  sha256 = "0jcm0vv0ll74zfc7s2l8qpqpbfnkv7ir9d1kg68m6b0f9sq0dgng";
+  buildDepends = [ text utf8String ];
+  meta = {
+    description = "Simplifies dealing with different types for strings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/string-qq/default.nix b/pkgs/development/libraries/haskell/string-qq/default.nix
index 78fe1c3930f..ac0e12811e0 100644
--- a/pkgs/development/libraries/haskell/string-qq/default.nix
+++ b/pkgs/development/libraries/haskell/string-qq/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/stringable/default.nix b/pkgs/development/libraries/haskell/stringable/default.nix
index 663b198b2ee..f7de2335ad2 100644
--- a/pkgs/development/libraries/haskell/stringable/default.nix
+++ b/pkgs/development/libraries/haskell/stringable/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, systemFilepath, text }:
 
 cabal.mkDerivation (self: {
   pname = "stringable";
-  version = "0.1.2";
-  sha256 = "17lhry3x90s88lplbv2kvzyak8wrc9r80czng5s3dirmyp9rn5gs";
+  version = "0.1.3";
+  sha256 = "10jsvbiqbmnbipv1566k5mqkpgfyrzbk8m7b18rqjb5m3qg9dbz7";
   buildDepends = [ systemFilepath text ];
   meta = {
     description = "A Stringable type class, in the spirit of Foldable and Traversable";
diff --git a/pkgs/development/libraries/haskell/stringbuilder/default.nix b/pkgs/development/libraries/haskell/stringbuilder/default.nix
index efe0956afc0..49a8ddd509a 100644
--- a/pkgs/development/libraries/haskell/stringbuilder/default.nix
+++ b/pkgs/development/libraries/haskell/stringbuilder/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "stringbuilder";
-  version = "0.4.0";
-  sha256 = "0v0lpb13khpiygfdkyzzsf64anxjykwvjsrkds836whm1bv86lhl";
+  version = "0.5.0";
+  sha256 = "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9";
   testDepends = [ hspec QuickCheck ];
   meta = {
     description = "A writer monad for multi-line string literals";
diff --git a/pkgs/development/libraries/haskell/stringprep/default.nix b/pkgs/development/libraries/haskell/stringprep/default.nix
index f1654751f75..28a5660b1e7 100644
--- a/pkgs/development/libraries/haskell/stringprep/default.nix
+++ b/pkgs/development/libraries/haskell/stringprep/default.nix
@@ -1,10 +1,16 @@
-{ cabal, ranges, text, textIcu }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck, tasty, tastyQuickcheck, tastyTh, text, textIcu
+}:
 
 cabal.mkDerivation (self: {
   pname = "stringprep";
-  version = "0.1.5";
-  sha256 = "1a25b18kd1zx06gi677g3xvsm49izhhf26z2dfljkjfykf05kqmp";
-  buildDepends = [ ranges text textIcu ];
+  version = "1.0.0";
+  sha256 = "0ha4cvzdppd514xh9315v3nvrn1q4xd74gifdqpszw98hj2mw0b0";
+  buildDepends = [ text textIcu ];
+  testDepends = [
+    QuickCheck tasty tastyQuickcheck tastyTh text textIcu
+  ];
   meta = {
     description = "Implements the \"StringPrep\" algorithm";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/stringsearch/default.nix b/pkgs/development/libraries/haskell/stringsearch/default.nix
index f8032f8cde4..02ed1a698a6 100644
--- a/pkgs/development/libraries/haskell/stringsearch/default.nix
+++ b/pkgs/development/libraries/haskell/stringsearch/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "stringsearch";
-  version = "0.3.6.4";
-  sha256 = "16g0x0n8x3bg3mij7w3r5m3h2i2dn3bd298n14iccdwhfnlzm91b";
+  version = "0.3.6.5";
+  sha256 = "1mjvb1qr4fkxv5qvq4jfswa3dcj3dwzvwx7dbp2wqw8zand41lsq";
   meta = {
     homepage = "https://bitbucket.org/dafis/stringsearch";
     description = "Fast searching, splitting and replacing of ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stripe/default.nix b/pkgs/development/libraries/haskell/stripe/default.nix
new file mode 100644
index 00000000000..796bf372676
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stripe/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, httpConduit, httpTypes, mtl, text, time
+, unorderedContainers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "stripe";
+  version = "0.8.1";
+  sha256 = "0vmgj9n7q8ik31z7zzfjfv1qj8f8vrqn9cvk8kjp3k4shj25p7sy";
+  buildDepends = [
+    aeson httpConduit httpTypes mtl text time unorderedContainers
+    utf8String
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/michaelschade/hs-stripe";
+    description = "A Haskell implementation of the Stripe API";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/strptime/default.nix b/pkgs/development/libraries/haskell/strptime/default.nix
index c092f0c0d15..a5975aaddc6 100644
--- a/pkgs/development/libraries/haskell/strptime/default.nix
+++ b/pkgs/development/libraries/haskell/strptime/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text, time }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/stylish-haskell/default.nix b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
index 74646c9acca..afa664a68f9 100644
--- a/pkgs/development/libraries/haskell/stylish-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, cmdargs, filepath, haskellSrcExts, HUnit, mtl
 , strict, syb, testFramework, testFrameworkHunit, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "stylish-haskell";
-  version = "0.5.8.0";
-  sha256 = "1wjrn4cq47jjmqkb2zv02x90l2mv6n7zh4mvcav25s9bwvvca10r";
+  version = "0.5.10.1";
+  sha256 = "1jd2dbi844cjs012gwr5idk1jmn860ff8hy1r1s6jndsm69awbba";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/svgcairo/default.nix b/pkgs/development/libraries/haskell/svgcairo/default.nix
index e7aafd37264..d5e033f094d 100644
--- a/pkgs/development/libraries/haskell/svgcairo/default.nix
+++ b/pkgs/development/libraries/haskell/svgcairo/default.nix
@@ -1,10 +1,12 @@
-{ cabal, cairo, glib, gtk2hsBuildtools, libc, librsvg, mtl }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, glib, gtk2hsBuildtools, libc, librsvg, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "svgcairo";
-  version = "0.12.1.1";
-  sha256 = "0fl9flsv4brvwryzxv4xpy8x3w0if4psx8nypxm2ix6l9qh3pghb";
-  buildDepends = [ cairo glib mtl ];
+  version = "0.13.0.0";
+  sha256 = "1i93dhg2fpnk38lgbfpsl97xpfgifrl7xs5nny5vj4hi8ln76ih0";
+  buildDepends = [ cairo glib mtl text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc ];
   pkgconfigDepends = [ librsvg ];
@@ -13,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the libsvg-cairo library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.2.2.nix b/pkgs/development/libraries/haskell/syb/0.2.2.nix
deleted file mode 100644
index b03cb947d27..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.2.2.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.2.2";
-  sha256 = "0m29vnqkkmpf4m3gi42kcbr2gfyxgkcw85xsyrq0mgbxb0zg6ky9";
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.3.nix b/pkgs/development/libraries/haskell/syb/0.3.3.nix
index 7caf5908a2d..967bc75e522 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.6.1.nix b/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
index 7638ab3332f..de9da047889 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.6.2.nix b/pkgs/development/libraries/haskell/syb/0.3.6.2.nix
deleted file mode 100644
index a37e238ff71..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.3.6.2.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.3.6.2";
-  sha256 = "0n1h0zlq2ygwkh7s914gfy4rg4b5kg6msd65id84c5412sri3mk4";
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.7.nix b/pkgs/development/libraries/haskell/syb/0.3.7.nix
index 44a16e0bf5c..72f883e5243 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.7.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.7.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.nix b/pkgs/development/libraries/haskell/syb/0.3.nix
index 4b999a94416..355fd3671e4 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.4.0.nix b/pkgs/development/libraries/haskell/syb/0.4.0.nix
index 7408d0ac537..1cc6747ed16 100644
--- a/pkgs/development/libraries/haskell/syb/0.4.0.nix
+++ b/pkgs/development/libraries/haskell/syb/0.4.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.4.1.nix b/pkgs/development/libraries/haskell/syb/0.4.1.nix
deleted file mode 100644
index 63fb364511f..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.4.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, HUnit, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.4.1";
-  sha256 = "1lkh4rrqdzvb8kyry07x2z88v478hrw5cp8wmhjgpg0ck8ywncma";
-  testDepends = [ HUnit mtl ];
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/syb/0.4.2.nix b/pkgs/development/libraries/haskell/syb/0.4.2.nix
new file mode 100644
index 00000000000..6900c051c01
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syb/0.4.2.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "syb";
+  version = "0.4.2";
+  sha256 = "1gvyw2gbccip24wpp9xi6qgwvg4m5cijhzz1v51wvyamqv4p2b8l";
+  testDepends = [ HUnit mtl ];
+  doCheck = self.stdenv.lib.versionOlder self.ghc.version "7.9";
+  meta = {
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix b/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
index 0cf40a87d41..c69b331941c 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, sybWithClass, text }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate With Class Text instance";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class.nix b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
index c6a85e27df1..a6e802ac5c2 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
@@ -1,13 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "syb-with-class";
-  version = "0.6.1.4";
-  sha256 = "0fi6m1a4017422kdmj1vvvzbks79jkcldp20h2nb7jsf8zvimfkc";
+  version = "0.6.1.5";
+  sha256 = "1gn4p92jabgvbk7bg1nzjimyfzznl800bi9hw4ssvc7jqqnyw5zn";
   meta = {
     description = "Scrap Your Boilerplate With Class";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix
index 7b1c2d3821c..4451b2c3bdb 100644
--- a/pkgs/development/libraries/haskell/symbol/default.nix
+++ b/pkgs/development/libraries/haskell/symbol/default.nix
@@ -1,16 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, syb }:
 
 cabal.mkDerivation (self: {
   pname = "symbol";
-  version = "0.2.0";
-  sha256 = "13vr6j3wkxbdbd27xklnidfkpkjwl0kldf69z470bm5indvaaxfd";
+  version = "0.2.1";
+  sha256 = "1g9rpz40v6wnmp671wvbbinzvvxkibdnny4i6ai28pn3sxa6fgkj";
   buildDepends = [ deepseq syb ];
   jailbreak = true;
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "A 'Symbol' type for fast symbol comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syntactic/default.nix b/pkgs/development/libraries/haskell/syntactic/default.nix
new file mode 100644
index 00000000000..a2a33e89e15
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syntactic/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, constraints, dataHash, mtl, QuickCheck, safe, tagged
+, tasty, tastyGolden, tastyQuickcheck, tastyTh, treeView
+, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "syntactic";
+  version = "2.0";
+  sha256 = "0b90afdfymsbgllk8np3xfkgrn2b5ry3n2wbpkn660rknsayw94x";
+  buildDepends = [ constraints dataHash mtl safe tagged treeView ];
+  testDepends = [
+    QuickCheck tagged tasty tastyGolden tastyQuickcheck tastyTh
+    utf8String
+  ];
+  meta = {
+    homepage = "https://github.com/emilaxelsson/syntactic";
+    description = "Generic representation and manipulation of abstract syntax";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index f61dedb7b8c..9853c4abd08 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -1,15 +1,20 @@
-{ cabal, systemFilepath, text, time }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, chell, systemFilepath, temporary, text, time, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "system-fileio";
-  version = "0.3.11";
-  sha256 = "0hnjrzhzbqx9l93c8dnl5b54f72ki584cn3jh8m6z56x2lrs24zb";
+  version = "0.3.14";
+  sha256 = "1x5cricx2n1wwvdad4i3q8s3gb28a129v3kkj9rn9803xh43zh29";
   buildDepends = [ systemFilepath text time ];
+  testDepends = [
+    chell systemFilepath temporary text time transformers
+  ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
     description = "Consistent filesystem interaction across GHC versions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index 84ca453c6c1..4adf48d26e7 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -1,15 +1,18 @@
-{ cabal, deepseq, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, chell, chellQuickcheck, deepseq, QuickCheck, text }:
 
 cabal.mkDerivation (self: {
   pname = "system-filepath";
-  version = "0.4.8";
-  sha256 = "15x0yxakqqrdqvghr0l4pzvy5a68xxdv1c75d3qwx604665j3xkw";
+  version = "0.4.12";
+  sha256 = "0sfralwgd5b9hfqmp20v31sq96s0v7j9g920qdj3n9i5mhslhwd2";
   buildDepends = [ deepseq text ];
+  testDepends = [ chell chellQuickcheck QuickCheck text ];
+  doCheck = false;
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
     description = "High-level, byte-based file and directory path manipulations";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/system-posix-redirect/default.nix b/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
index b8a65e41fd8..748a69a20a4 100644
--- a/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
+++ b/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "system-posix-redirect";
-  version = "1.1";
-  sha256 = "08l8n671ypmharmkm9s8wv5ipcznn7hv5zadf96liml3v16d8fcr";
+  version = "1.1.0.1";
+  sha256 = "1wkfz898d3607xnx779l1k1qc8i2k63ixg47542r45scwq8m0lsk";
   meta = {
-    description = "A toy module that allows you to temporarily redirect a program's stdout";
+    description = "A toy module to temporarily redirect a program's stdout";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/system-time-monotonic/default.nix b/pkgs/development/libraries/haskell/system-time-monotonic/default.nix
new file mode 100644
index 00000000000..e9e01fb78fb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/system-time-monotonic/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "system-time-monotonic";
+  version = "0.2";
+  sha256 = "0f5grhh6x2fbawmdk0gq1nsjz47iz8f8r2592d1l69fqddwdhc3v";
+  buildDepends = [ time ];
+  meta = {
+    homepage = "https://github.com/joeyadams/haskell-system-time-monotonic";
+    description = "Simple library for using the system's monotonic clock";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/syz/default.nix b/pkgs/development/libraries/haskell/syz/default.nix
index 67e6bc58436..e8c6075ffd2 100644
--- a/pkgs/development/libraries/haskell/syz/default.nix
+++ b/pkgs/development/libraries/haskell/syz/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, syb }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/tables/default.nix b/pkgs/development/libraries/haskell/tables/default.nix
new file mode 100644
index 00000000000..53b178066eb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tables/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, cereal, comonad, deepseq, doctest, filepath
+, hashable, lens, profunctors, safecopy, transformers
+, transformersCompat, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tables";
+  version = "0.4.1";
+  sha256 = "131c97lgni0b9pmkdfd5y0lwrb9yh9qyahknhrim8dzpkkfynk49";
+  buildDepends = [
+    binary cereal comonad deepseq hashable lens profunctors safecopy
+    transformers transformersCompat unorderedContainers
+  ];
+  testDepends = [
+    doctest filepath lens transformers unorderedContainers
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/tables/";
+    description = "In-memory storage with multiple keys using lenses and traversals";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tabular/default.nix b/pkgs/development/libraries/haskell/tabular/default.nix
index 32ede2f660b..57f91bcd728 100644
--- a/pkgs/development/libraries/haskell/tabular/default.nix
+++ b/pkgs/development/libraries/haskell/tabular/default.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, csv, html, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "tabular";
-  version = "0.2.2.4";
-  sha256 = "103fqbypsgykv6z29jp1s75pd99vra9sfa70krcnlhbk9kbvdyjk";
+  version = "0.2.2.5";
+  sha256 = "00d1f8yr7kbg30ziv09pb8f4apcvrfb6izb26my1s97kw9ixa740";
   buildDepends = [ csv html mtl ];
+  jailbreak = true;
   meta = {
     homepage = "http://hub.darcs.net/kowey/tabular";
     description = "Two-dimensional data tables with rendering functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix
index ee808800c55..903eccdfed3 100644
--- a/pkgs/development/libraries/haskell/tagged/default.nix
+++ b/pkgs/development/libraries/haskell/tagged/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "tagged";
-  version = "0.7";
-  sha256 = "1g78hl6sib1mhg016gy3fqw78x72jsgqizsgim8a1pysjzq0y6zm";
+  version = "0.7.2";
+  sha256 = "06w7gss2vqnly2zijf0hkq60jx13nsxwsjsnyfbn25r4f6gjsnq5";
   meta = {
     homepage = "http://github.com/ekmett/tagged";
     description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/taggy-lens/default.nix b/pkgs/development/libraries/haskell/taggy-lens/default.nix
new file mode 100644
index 00000000000..fe8344ba73d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/taggy-lens/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, hspec, lens, taggy, text, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "taggy-lens";
+  version = "0.1.2";
+  sha256 = "05m2c9q0rz4y0zz6n3dqf0hhzfvk0mp1692jxykg86c802d7pkib";
+  buildDepends = [ lens taggy text unorderedContainers ];
+  testDepends = [
+    doctest hspec lens taggy text unorderedContainers
+  ];
+  meta = {
+    homepage = "http://github.com/alpmestan/taggy-lens";
+    description = "Lenses for the taggy html/xml parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/taggy/default.nix b/pkgs/development/libraries/haskell/taggy/default.nix
new file mode 100644
index 00000000000..d94a3b27f2c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/taggy/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeHtml, blazeMarkup, hspec, hspecAttoparsec
+, text, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "taggy";
+  version = "0.1.2";
+  sha256 = "0sj7da4yawfajyrd2gg2dxzgj5n99mdm5cz3bdhfipas4bb4216y";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    attoparsec blazeHtml blazeMarkup text unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec blazeHtml blazeMarkup hspec hspecAttoparsec text
+    unorderedContainers vector
+  ];
+  meta = {
+    homepage = "http://github.com/alpmestan/taggy";
+    description = "Efficient and simple HTML/XML parsing library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tagshare/default.nix b/pkgs/development/libraries/haskell/tagshare/default.nix
new file mode 100644
index 00000000000..dbd88393c34
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tagshare/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "tagshare";
+  version = "0.0";
+  sha256 = "1q3chp1rmwmxa8rxv7548wsvbqbng6grrnv1587p08385sp4ncfj";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "TagShare - explicit sharing with tags";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
index 5dc83178be0..35d004445fc 100644
--- a/pkgs/development/libraries/haskell/tagsoup/default.nix
+++ b/pkgs/development/libraries/haskell/tagsoup/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
   pname = "tagsoup";
-  version = "0.13";
-  sha256 = "1pfkcfrmhzxplfkdzb0zj24dfsddw91plqp3mg2gqkv82y8blzk1";
+  version = "0.13.2";
+  sha256 = "0q9r4vsdlib6dm0b387zg089b1410f0nspzigx2awqi2xqfsi0xz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ text ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
index ca177a80a10..ee721836245 100644
--- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
@@ -1,17 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, attoparsecConduit, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, conduit, hspec, HUnit
-, QuickCheck, text, transformers
+, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra
+, dataDefault, hspec, HUnit, QuickCheck, resourcet, text
+, transformers, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "tagstream-conduit";
-  version = "0.5.4.1";
-  sha256 = "1gahdil5jasm6v7gp519ahr2yc7ppysdnmkl21cd4zzn6y1r0gw9";
+  version = "0.5.5.1";
+  sha256 = "0bpxjhqqqigfnwcxx3h2am5zmgr1lyaxaac3lnz490j6zf8x9jn7";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
-    caseInsensitive conduit text transformers
+    caseInsensitive conduit conduitExtra dataDefault resourcet text
+    transformers xmlConduit
   ];
-  testDepends = [ conduit hspec HUnit QuickCheck text ];
+  testDepends = [ conduit hspec HUnit QuickCheck resourcet text ];
   meta = {
     homepage = "http://github.com/yihuang/tagstream-conduit";
     description = "streamlined html tag parser";
diff --git a/pkgs/development/libraries/haskell/tar/default.nix b/pkgs/development/libraries/haskell/tar/default.nix
index 04257960a64..be98c204156 100644
--- a/pkgs/development/libraries/haskell/tar/default.nix
+++ b/pkgs/development/libraries/haskell/tar/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, time }:
 
 cabal.mkDerivation (self: {
@@ -5,10 +7,10 @@ cabal.mkDerivation (self: {
   version = "0.4.0.1";
   sha256 = "0vbsv7h3zgp30mlgsw156jkv1rqy5zbm98as9haf7x15hd6jf254";
   buildDepends = [ filepath time ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
   meta = {
     description = "Reading, writing and manipulating \".tar\" archive files.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
new file mode 100644
index 00000000000..9f8e59322b0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, genericDeriving, mtl, reducers, stm, tagged, tasty
+, transformers, xml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-ant-xml";
+  version = "1.0.0.8";
+  sha256 = "0khjx3anxp63ch6wkdhqnsk5miavkq014ab30rpir97gdqw0vykm";
+  buildDepends = [
+    genericDeriving mtl reducers stm tagged tasty transformers xml
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/tasty-ant-xml";
+    description = "Render tasty output to XML for Jenkins";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-golden/default.nix b/pkgs/development/libraries/haskell/tasty-golden/default.nix
new file mode 100644
index 00000000000..5f2efb3520f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, deepseq, filepath, mtl, optparseApplicative, tagged
+, tasty, tastyHunit, temporaryRc
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-golden";
+  version = "2.2.2.4";
+  sha256 = "096c4h306r4z7wq8nm94mwmdndm0mwd6hhiqf77iilpdndasrl1c";
+  buildDepends = [
+    async deepseq filepath mtl optparseApplicative tagged tasty
+    temporaryRc
+  ];
+  testDepends = [ filepath tasty tastyHunit temporaryRc ];
+  meta = {
+    homepage = "https://github.com/feuerbach/tasty-golden";
+    description = "Golden tests support for tasty";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
new file mode 100644
index 00000000000..8c3083d07fe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-hspec";
+  version = "0.1.0.1";
+  sha256 = "0m8v9kj557vfqzmrindwfcjl7wqmdix2xvmsb94n8hx9qv075s3v";
+  buildDepends = [ hspec tasty ];
+  meta = {
+    homepage = "http://github.com/mitchellwrosen/tasty-hspec";
+    description = "Hspec support for the Tasty test framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
index 8bfaf3e4365..c7e5b53548f 100644
--- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
@@ -1,13 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, HUnit, mtl, tasty }:
 
 cabal.mkDerivation (self: {
   pname = "tasty-hunit";
-  version = "0.2";
-  sha256 = "1476ac3rsaag9rfgglzs65wqlkzm09xzdz47ksyj3a4c6ajba1kw";
+  version = "0.8.0.1";
+  sha256 = "0a84j8yjqp9x59dy5nbb50vnscb7iimgc60s8vz1p5721gqi62r5";
   buildDepends = [ HUnit mtl tasty ];
   meta = {
     description = "HUnit support for the Tasty test framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
new file mode 100644
index 00000000000..f4af3a19097
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck, tagged, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-quickcheck";
+  version = "0.8.1";
+  sha256 = "1diqc5dmddrfc6i0zqkmlnnhsv8paqy2fdmbx8484qa4ylk5r6bs";
+  buildDepends = [ QuickCheck tagged tasty ];
+  meta = {
+    description = "QuickCheck support for the Tasty test framework";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
new file mode 100644
index 00000000000..326392718ba
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, optparseApplicative, reducers, split, stm, tagged
+, tasty, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-rerun";
+  version = "1.1.2";
+  sha256 = "0vgx6l9yd21aiwivd6zp67rgjly1j2wwqdmx99p17prr430rm4id";
+  buildDepends = [
+    mtl optparseApplicative reducers split stm tagged tasty
+    transformers
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/tasty-rerun";
+    description = "Run tests by filtering the test tree depending on the result of previous test runs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
index b5b718cf04e..ea1a37d5e9b 100644
--- a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
@@ -1,14 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, async, smallcheck, tagged, tasty }:
 
 cabal.mkDerivation (self: {
   pname = "tasty-smallcheck";
-  version = "0.2";
-  sha256 = "1xw0l1bikwavyq7s8q71a92x87mg7z65mk32nn5qx0zxwqsfb5l4";
+  version = "0.8";
+  sha256 = "0c4ccmhql118j4dlvy5cmrnma454b0rdv1wq2ds6xhpdhx20h1br";
   buildDepends = [ async smallcheck tagged tasty ];
   meta = {
     homepage = "https://github.com/feuerbach/tasty";
     description = "SmallCheck support for the Tasty test framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-th/default.nix b/pkgs/development/libraries/haskell/tasty-th/default.nix
new file mode 100644
index 00000000000..2679c57cff0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-th/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, languageHaskellExtract, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-th";
+  version = "0.1.2";
+  sha256 = "1x3kixv0hnb7icigz2kfq959pivdc4jaaalvdgn8dlyqzkvfjzx4";
+  buildDepends = [ languageHaskellExtract tasty ];
+  meta = {
+    homepage = "http://github.com/bennofs/tasty-th";
+    description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index df14857f9ab..6303320460f 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -1,17 +1,22 @@
-{ cabal, ansiTerminal, mtl, optparseApplicative, regexPosix, stm
-, tagged
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, async, deepseq, mtl, optparseApplicative
+, regexTdfaRc, stm, tagged, unboundedDelays
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.3.1";
-  sha256 = "0ipndrpywzg40s5hiwyyly29mcppcfqbbpwqqp4apma57m8cdpb0";
+  version = "0.8.1.3";
+  sha256 = "0hc030ms89w3cl1k3r8nrym3g7sg2n66ch2ljg6d7fwhrsgxnagf";
   buildDepends = [
-    ansiTerminal mtl optparseApplicative regexPosix stm tagged
+    ansiTerminal async deepseq mtl optparseApplicative regexTdfaRc stm
+    tagged unboundedDelays
   ];
   meta = {
+    homepage = "http://documentup.com/feuerbach/tasty";
     description = "Modern and extensible testing framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tcache-AWS/default.nix b/pkgs/development/libraries/haskell/tcache-AWS/default.nix
new file mode 100644
index 00000000000..5f1ae4938d1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tcache-AWS/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aws, conduit, httpConduit, network, TCache, text }:
+
+cabal.mkDerivation (self: {
+  pname = "tcache-AWS";
+  version = "0.0.1";
+  sha256 = "18hi8jvc117pxjhpb891hqlsbi4wvmd6nr3vwnqqr7rcw2dsmnwv";
+  buildDepends = [ aws conduit httpConduit network TCache text ];
+  meta = {
+    description = "tcache using Amazon Web Services as default persistence mechanism";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/template-default/default.nix b/pkgs/development/libraries/haskell/template-default/default.nix
index a450b09b551..3a7e3f05bdd 100644
--- a/pkgs/development/libraries/haskell/template-default/default.nix
+++ b/pkgs/development/libraries/haskell/template-default/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, dataDefault }:
 
 cabal.mkDerivation (self: {
@@ -5,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.1.1";
   sha256 = "07b8j11v0247fwaf3mv72m7aaq3crbsyrxmxa352vn9h2g6l1jsd";
   buildDepends = [ dataDefault ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/haskell-pkg-janitors/template-default";
     description = "declaring Default instances just got even easier";
diff --git a/pkgs/development/libraries/haskell/template/default.nix b/pkgs/development/libraries/haskell/template/default.nix
new file mode 100644
index 00000000000..f51ae4f0a3d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/template/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "template";
+  version = "0.2.0.9";
+  sha256 = "0i1xq6nj240gddbd8d5m42gzix16k81wqmirpy5a4fssnkpwjqnb";
+  buildDepends = [ mtl text ];
+  meta = {
+    description = "Simple string substitution";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/temporary-rc/default.nix b/pkgs/development/libraries/haskell/temporary-rc/default.nix
new file mode 100644
index 00000000000..62931e168af
--- /dev/null
+++ b/pkgs/development/libraries/haskell/temporary-rc/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, filepath, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "temporary-rc";
+  version = "1.2.0.3";
+  sha256 = "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs";
+  buildDepends = [ exceptions filepath transformers ];
+  meta = {
+    homepage = "http://www.github.com/feuerbach/temporary";
+    description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix
index df93cae198a..8a048744636 100644
--- a/pkgs/development/libraries/haskell/temporary/default.nix
+++ b/pkgs/development/libraries/haskell/temporary/default.nix
@@ -1,15 +1,17 @@
-{ cabal, filepath }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, filepath, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "temporary";
-  version = "1.1.2.4";
-  sha256 = "1j8kc22rz2wqg90n5wcxb06ylqv3lnz764077kvwhrw7mhmbp7jz";
-  buildDepends = [ filepath ];
+  version = "1.2.0.3";
+  sha256 = "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a";
+  buildDepends = [ exceptions filepath transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.github.com/batterseapower/temporary";
     description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix b/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix
index d5e16e43d3a..89cf249ecd4 100644
--- a/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix
+++ b/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix
@@ -1,12 +1,14 @@
-{ cabal, baseUnicodeSymbols, HUnit, testFramework
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, baseUnicodeSymbols, HUnit, stm, stmChans, testFramework
 , testFrameworkHunit
 }:
 
 cabal.mkDerivation (self: {
   pname = "terminal-progress-bar";
-  version = "0.0.1.3";
-  sha256 = "04glnz72ivnaqfhyxb5sc175yxiq7lf7xi1jhbk9gi95md00f1js";
-  buildDepends = [ baseUnicodeSymbols ];
+  version = "0.0.1.4";
+  sha256 = "0ldvii23ks446xrd27aklh8s8pn1yi3dzhhzl05gipjqbhq3lsx3";
+  buildDepends = [ baseUnicodeSymbols stm stmChans ];
   testDepends = [
     baseUnicodeSymbols HUnit testFramework testFrameworkHunit
   ];
diff --git a/pkgs/development/libraries/haskell/terminal-size/default.nix b/pkgs/development/libraries/haskell/terminal-size/default.nix
new file mode 100644
index 00000000000..4387ceb423e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/terminal-size/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "terminal-size";
+  version = "0.2.1.0";
+  sha256 = "0d41af1is3vdb1kgd8dk82fags86bgs67vkbzpdhjdwa3aimsxgn";
+  meta = {
+    description = "Get terminal window height and width";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix b/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
new file mode 100644
index 00000000000..6a065cb6e84
--- /dev/null
+++ b/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ncurses }:
+
+cabal.mkDerivation (self: {
+  pname = "terminfo";
+  version = "0.3.2.6";
+  sha256 = "0ag81rwwwaanxdn9ccanvdi1qnh62vy8y2jbgp5bp95hhgqq887f";
+  extraLibraries = [ ncurses ];
+  meta = {
+    homepage = "http://code.haskell.org/terminfo";
+    description = "Haskell bindings to the terminfo library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix b/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix
new file mode 100644
index 00000000000..9bb59e14a1e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ncurses }:
+
+cabal.mkDerivation (self: {
+  pname = "terminfo";
+  version = "0.4.0.0";
+  sha256 = "10y8mhpazcpwwvg1avc0zxq534rwavg82q69l7wm5np24sb5lrv8";
+  extraLibraries = [ ncurses ];
+  meta = {
+    homepage = "https://github.com/judah/terminfo";
+    description = "Haskell bindings to the terminfo library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/terminfo/default.nix b/pkgs/development/libraries/haskell/terminfo/default.nix
deleted file mode 100644
index 24221912025..00000000000
--- a/pkgs/development/libraries/haskell/terminfo/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, ncurses }:
-
-cabal.mkDerivation (self: {
-  pname = "terminfo";
-  version = "0.3.2.5";
-  sha256 = "1hadb1gv28c43xq78scalb4zzvbs6im2s0hq7ycrbsdgm6iryhbg";
-  extraLibraries = [ ncurses ];
-  meta = {
-    homepage = "http://code.haskell.org/terminfo";
-    description = "Haskell bindings to the terminfo library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
index 9efcff9a6d1..12919ec17b8 100644
--- a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, HUnit, testFramework }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "HUnit support for the test-framework package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
index cabc0fe1d0a..5b822c2418c 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, extensibleExceptions, QuickCheck, random
 , testFramework
 }:
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "QuickCheck support for the test-framework package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
index 627c9f6347a..a012d8a047e 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, extensibleExceptions, QuickCheck, random, testFramework }:
 
 cabal.mkDerivation (self: {
   pname = "test-framework-quickcheck2";
-  version = "0.3.0.2";
-  sha256 = "0zgsbmxidyv735jbgajczn25pnhwq66haaadhh6lxj2jsq5fnqpy";
+  version = "0.3.0.3";
+  sha256 = "12p1zwrsz35r3j5gzbvixz9z1h5643rhihf5gqznmc991krwd5nc";
   buildDepends = [
     extensibleExceptions QuickCheck random testFramework
   ];
@@ -13,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "QuickCheck2 support for the test-framework package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix b/pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix
new file mode 100644
index 00000000000..5837ea46741
--- /dev/null
+++ b/pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, smallcheck, testFramework, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "test-framework-smallcheck";
+  version = "0.2";
+  sha256 = "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0";
+  buildDepends = [ smallcheck testFramework transformers ];
+  meta = {
+    homepage = "https://github.com/feuerbach/smallcheck";
+    description = "Support for SmallCheck tests in test-framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix b/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
index 43791413a7f..f53c68e5e7f 100644
--- a/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cpphs, haskellSrcExts, testFramework }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/test-framework-th/default.nix b/pkgs/development/libraries/haskell/test-framework-th/default.nix
index f70e522a2ce..21c719c538d 100644
--- a/pkgs/development/libraries/haskell/test-framework-th/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-th/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, haskellSrcExts, languageHaskellExtract, regexPosix
 , testFramework
 }:
@@ -14,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework/default.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index 735666734e3..e17ca346e7f 100644
--- a/pkgs/development/libraries/haskell/test-framework/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal, ansiWlPprint, hostname, random, regexPosix
 , time, xml
 }:
@@ -16,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Framework for running and organising tests, with HUnit and QuickCheck support";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/testing-feat/default.nix b/pkgs/development/libraries/haskell/testing-feat/default.nix
new file mode 100644
index 00000000000..e45d49fb5a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/testing-feat/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, QuickCheck, tagshare }:
+
+cabal.mkDerivation (self: {
+  pname = "testing-feat";
+  version = "0.4.0.2";
+  sha256 = "15gi6w7p4alnih9grklhhr8338y1aal07admbz4n2f724hnhyb2j";
+  buildDepends = [ mtl QuickCheck tagshare ];
+  meta = {
+    description = "Functional Enumeration of Algebraic Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index cb346ac7d27..fdcc5a6af3b 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -1,17 +1,21 @@
-{ cabal, pandocTypes, parsec, syb, xml }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, mtl, pandocTypes, parsec, split, syb, temporary
+, text, utf8String, xml
+}:
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.6.4";
-  sha256 = "090xqs14ap3c6pljqzyva46phxb1lhqayi4g098f6d77d1ygvshf";
+  version = "0.8";
+  sha256 = "1j0i9594fqhl2fzxyndyy6fvrpaqdarq817pxdar0hmccy55b7gb";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ pandocTypes parsec syb xml ];
+  buildDepends = [ mtl pandocTypes parsec syb xml ];
+  testDepends = [ filepath split temporary text utf8String xml ];
   meta = {
     homepage = "http://github.com/jgm/texmath";
-    description = "Conversion of LaTeX math formulas to MathML or OMML";
+    description = "Conversion between formats used to represent mathematics";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/text-format/default.nix b/pkgs/development/libraries/haskell/text-format/default.nix
index b9507d7777a..c1bc8c8bc8e 100644
--- a/pkgs/development/libraries/haskell/text-format/default.nix
+++ b/pkgs/development/libraries/haskell/text-format/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, doubleConversion, text, time, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "text-format";
-  version = "0.3.1.0";
-  sha256 = "13k5a1kfmapd4yckm2vcrwz4vrrf32c2dpisdw0hyvzvmdib3n60";
+  version = "0.3.1.1";
+  sha256 = "02zfgzfjvkaxbma1h2gr95h10c8q9gyaadag41q579j68iv15qbd";
   buildDepends = [ doubleConversion text time transformers ];
   meta = {
     homepage = "https://github.com/bos/text-format";
diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix
index 16115809f5b..000b689b276 100644
--- a/pkgs/development/libraries/haskell/text-icu/default.nix
+++ b/pkgs/development/libraries/haskell/text-icu/default.nix
@@ -1,13 +1,21 @@
-{ cabal, icu, text }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, HUnit, icu, QuickCheck, random, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text
+}:
 
 cabal.mkDerivation (self: {
   pname = "text-icu";
-  version = "0.6.3.5";
-  sha256 = "1blfw9377yl732ypbjhkvi3vfg6c1f1rkxcsvwmqyhkdzb2agg0a";
-  buildDepends = [ text ];
+  version = "0.7.0.0";
+  sha256 = "1fvq6qi9kvw722v2m9d40vwwa2irswfapqfjcrym9c2swdagxnry";
+  buildDepends = [ deepseq text ];
+  testDepends = [
+    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text
+  ];
   extraLibraries = [ icu ];
   meta = {
-    homepage = "https://bitbucket.org/bos/text-icu";
+    homepage = "https://github.com/bos/text-icu";
     description = "Bindings to the ICU library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/text-stream-decode/default.nix b/pkgs/development/libraries/haskell/text-stream-decode/default.nix
new file mode 100644
index 00000000000..2f34dbb0b46
--- /dev/null
+++ b/pkgs/development/libraries/haskell/text-stream-decode/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hspec, text }:
+
+cabal.mkDerivation (self: {
+  pname = "text-stream-decode";
+  version = "0.1.0.5";
+  sha256 = "1s2lncs5k8rswg1bpf4vz5p1maj46bsgf7ar4lzcla9bf3f4bppy";
+  buildDepends = [ text ];
+  testDepends = [ deepseq hspec text ];
+  meta = {
+    homepage = "http://github.com/fpco/text-stream-decode";
+    description = "Streaming decoding functions for UTF encodings. (deprecated)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.5.nix b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
index 59644d05720..5f63f68cfe7 100644
--- a/pkgs/development/libraries/haskell/text/0.11.0.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.6.nix b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
index 04fd250dfe9..c922db7e959 100644
--- a/pkgs/development/libraries/haskell/text/0.11.0.6.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.13.nix b/pkgs/development/libraries/haskell/text/0.11.1.13.nix
deleted file mode 100644
index 71d0c28e48d..00000000000
--- a/pkgs/development/libraries/haskell/text/0.11.1.13.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ cabal, deepseq, HUnit, QuickCheck, random, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.1.13";
-  sha256 = "0lbc4yfqpydps0rd1qjymnnhp87sl9w7n1f5vd5lsixby93zjv2f";
-  buildDepends = [ deepseq ];
-  testDepends = [
-    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.5.nix b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
index 03c2d90ff8d..afaa25305a3 100644
--- a/pkgs/development/libraries/haskell/text/0.11.1.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq }:
 
 cabal.mkDerivation (self: {
@@ -11,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.2.0.nix b/pkgs/development/libraries/haskell/text/0.11.2.0.nix
index ab784807bfa..f465f4c2afc 100644
--- a/pkgs/development/libraries/haskell/text/0.11.2.0.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.2.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, HUnit, QuickCheck, random, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
 }:
@@ -17,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.2.3.nix b/pkgs/development/libraries/haskell/text/0.11.2.3.nix
index afa0e7eb5d3..05a0f899f93 100644
--- a/pkgs/development/libraries/haskell/text/0.11.2.3.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.2.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, HUnit, QuickCheck, random, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
 }:
@@ -17,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.3.1.nix b/pkgs/development/libraries/haskell/text/0.11.3.1.nix
index 6bbab990b8a..6cbed7c1268 100644
--- a/pkgs/development/libraries/haskell/text/0.11.3.1.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.3.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, HUnit, QuickCheck, random, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
 }:
@@ -17,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/1.1.1.3.nix b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
new file mode 100644
index 00000000000..7a61b4bbd3a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, HUnit, QuickCheck, random, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "text";
+  version = "1.1.1.3";
+  sha256 = "1yrzg449nbbzh2fb9mdmf2jjfhk2g87kr9m2ibssbsqx53p98z0c";
+  buildDepends = [ deepseq ];
+  testDepends = [
+    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bos/text";
+    description = "An efficient packed Unicode text type";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tf-random/default.nix b/pkgs/development/libraries/haskell/tf-random/default.nix
new file mode 100644
index 00000000000..4b123bc3164
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tf-random/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, primitive, random, time }:
+
+cabal.mkDerivation (self: {
+  pname = "tf-random";
+  version = "0.5";
+  sha256 = "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f";
+  buildDepends = [ primitive random time ];
+  meta = {
+    description = "High-quality splittable pseudorandom number generator";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix
new file mode 100644
index 00000000000..94919bba6e4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/th-desugar/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, HUnit, mtl, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "th-desugar";
+  version = "1.4.2";
+  sha256 = "16l0khjx2wppnm9spp6mg659m95hxjkzfv3pjw5ays3z6clhx8b9";
+  buildDepends = [ mtl syb ];
+  testDepends = [ hspec HUnit mtl syb ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.cis.upenn.edu/~eir/packages/th-desugar";
+    description = "Functions to desugar Template Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/th-expand-syns/default.nix b/pkgs/development/libraries/haskell/th-expand-syns/default.nix
new file mode 100644
index 00000000000..5cb842ab388
--- /dev/null
+++ b/pkgs/development/libraries/haskell/th-expand-syns/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "th-expand-syns";
+  version = "0.3.0.4";
+  sha256 = "05qgfam7zq02848icvddds67ch5d8py7r30izg4lp0df0kzn08yq";
+  buildDepends = [ syb ];
+  meta = {
+    description = "Expands type synonyms in Template Haskell ASTs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/th-extras/default.nix b/pkgs/development/libraries/haskell/th-extras/default.nix
index 3475ccb804a..285329912df 100644
--- a/pkgs/development/libraries/haskell/th-extras/default.nix
+++ b/pkgs/development/libraries/haskell/th-extras/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, syb }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A grab bag of functions for use with Template Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/th-lift-instances/default.nix b/pkgs/development/libraries/haskell/th-lift-instances/default.nix
new file mode 100644
index 00000000000..0ecd9d70989
--- /dev/null
+++ b/pkgs/development/libraries/haskell/th-lift-instances/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filepath, QuickCheck, text, thLift, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "th-lift-instances";
+  version = "0.1.3";
+  sha256 = "0snqgcdkskwvrsw239j3xq84mwnf5x79kfsn495kprdc6yh3qdkx";
+  buildDepends = [ text thLift vector ];
+  testDepends = [ doctest filepath QuickCheck text vector ];
+  meta = {
+    homepage = "http://github.com/bennofs/th-lift-instances/";
+    description = "Lift instances for template-haskell for common data types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/th-lift/default.nix b/pkgs/development/libraries/haskell/th-lift/default.nix
index c479955db64..a27360632b9 100644
--- a/pkgs/development/libraries/haskell/th-lift/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift/default.nix
@@ -1,13 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "th-lift";
-  version = "0.5.6";
-  sha256 = "128rbpqbm4fgn1glbv8bvlqnvn2wvca7wj08xri25w3bikmfy2z4";
+  version = "0.6.1";
+  sha256 = "0m1ips0n06jnjr5lssq7x4jaa5878sw03l8iaprya37bnkxxak5d";
   meta = {
     description = "Derive Template Haskell's Lift class for datatypes";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/th-orphans/default.nix b/pkgs/development/libraries/haskell/th-orphans/default.nix
index 9196e9ef76b..d93be541aee 100644
--- a/pkgs/development/libraries/haskell/th-orphans/default.nix
+++ b/pkgs/development/libraries/haskell/th-orphans/default.nix
@@ -1,10 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, thLift }:
 
 cabal.mkDerivation (self: {
   pname = "th-orphans";
-  version = "0.8";
-  sha256 = "0kzzcicn6pggvvblhbrs3vh0bf71izlb99lb0f5qww7ymi4smldr";
+  version = "0.8.1";
+  sha256 = "1glf1zkiip18l0qdy3856ag7ksbxzd11dzdyq00qrz87kck5y58w";
   buildDepends = [ thLift ];
+  jailbreak = true;
   meta = {
     description = "Orphan instances for TH datatypes";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/these/default.nix b/pkgs/development/libraries/haskell/these/default.nix
new file mode 100644
index 00000000000..7b989c7ad38
--- /dev/null
+++ b/pkgs/development/libraries/haskell/these/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, mtl, profunctors, semigroupoids, semigroups
+, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "these";
+  version = "0.4.2";
+  sha256 = "0hs59i07k1lkynvdpymjvl1va2frc3aq6wyrmbi7mz3vmz0bjcp7";
+  buildDepends = [
+    bifunctors mtl profunctors semigroupoids semigroups transformers
+    vector
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/isomorphism/these";
+    description = "An either-or-both data type, with corresponding hybrid error/writer monad transformer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/thespian/default.nix b/pkgs/development/libraries/haskell/thespian/default.nix
index aa848e4aa08..8d10ea06ae5 100644
--- a/pkgs/development/libraries/haskell/thespian/default.nix
+++ b/pkgs/development/libraries/haskell/thespian/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Lightweight Erlang-style actors for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/threadmanager/default.nix b/pkgs/development/libraries/haskell/threadmanager/default.nix
index e4a82835c55..92942a55e16 100644
--- a/pkgs/development/libraries/haskell/threadmanager/default.nix
+++ b/pkgs/development/libraries/haskell/threadmanager/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "(deprecated in favor of 'threads') Simple thread management";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
index d802790da9d..96b6fbb172a 100644
--- a/pkgs/development/libraries/haskell/threads/default.nix
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, baseUnicodeSymbols, concurrentExtra, HUnit, stm
 , testFramework, testFrameworkHunit
 }:
 
 cabal.mkDerivation (self: {
   pname = "threads";
-  version = "0.5.0.2";
-  sha256 = "14ccmjg56429a3mzx11ccv18bvkqg56ph9kbpmhdx2ajar80g6jm";
+  version = "0.5.1.2";
+  sha256 = "1bq2aza6sam4zkgpgf8x4lhkk2na1i8annx9cwad3j68p5vdg929";
   buildDepends = [ baseUnicodeSymbols stm ];
   testDepends = [
     baseUnicodeSymbols concurrentExtra HUnit stm testFramework
diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
new file mode 100644
index 00000000000..fad37db7c9c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsecEnumerator, dataDefault, deepseq
+, filepath, hashable, MonadCatchIOTransformers, network, safe
+, snapCore, snapServer, stm, text, time, transformers
+, unorderedContainers, utf8String, vault, websockets
+, websocketsSnap
+}:
+
+cabal.mkDerivation (self: {
+  pname = "threepenny-gui";
+  version = "0.4.2.0";
+  sha256 = "1746l90h9xkwnwxvfqsr93nax7ihv8lwc4kz203v13rrwckr7m8h";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsecEnumerator dataDefault deepseq filepath hashable
+    MonadCatchIOTransformers network safe snapCore snapServer stm text
+    time transformers unorderedContainers utf8String vault websockets
+    websocketsSnap
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Threepenny-gui";
+    description = "GUI framework that uses the web browser as a display";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix
index f40730b5e56..18763701126 100644
--- a/pkgs/development/libraries/haskell/thyme/default.nix
+++ b/pkgs/development/libraries/haskell/thyme/default.nix
@@ -1,20 +1,23 @@
-{ cabal, attoparsec, Cabal, deepseq, filepath, lens, QuickCheck
-, random, systemPosixRedirect, text, time, transformers, vector
-, vectorSpace
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, Cabal, cpphs, deepseq, filepath, mtl
+, profunctors, QuickCheck, random, systemPosixRedirect, text, time
+, vector, vectorSpace, vectorThUnbox
 }:
 
 cabal.mkDerivation (self: {
   pname = "thyme";
-  version = "0.3.0.1";
-  sha256 = "086i8cadq2s894157s1bh3zhd9zb9apr7w39gnydywzgkx47478h";
+  version = "0.3.5.2";
+  sha256 = "1vb5qn9m88y9738d9znim5lprb8z10am5yjaksdjl151li8apd6x";
   buildDepends = [
-    attoparsec deepseq lens QuickCheck random text time transformers
-    vector vectorSpace
+    aeson attoparsec deepseq mtl profunctors QuickCheck random text
+    time vector vectorSpace vectorThUnbox
   ];
   testDepends = [
-    attoparsec Cabal filepath lens QuickCheck random
+    attoparsec Cabal filepath mtl profunctors QuickCheck random
     systemPosixRedirect text time vectorSpace
   ];
+  buildTools = [ cpphs ];
   doCheck = false;
   meta = {
     homepage = "https://github.com/liyang/thyme";
diff --git a/pkgs/development/libraries/haskell/time-compat/default.nix b/pkgs/development/libraries/haskell/time-compat/default.nix
index fa7c3ff4185..ed9da18c39a 100644
--- a/pkgs/development/libraries/haskell/time-compat/default.nix
+++ b/pkgs/development/libraries/haskell/time-compat/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, time }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/time-recurrence/default.nix b/pkgs/development/libraries/haskell/time-recurrence/default.nix
new file mode 100644
index 00000000000..8f0aa711151
--- /dev/null
+++ b/pkgs/development/libraries/haskell/time-recurrence/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataOrdlist, HUnit, mtl, testFramework, testFrameworkHunit
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "time-recurrence";
+  version = "0.9.2";
+  sha256 = "1arqmkagmswimbh78qfz5bcilk9i14w29j4vf4i89d00vac3vrzm";
+  buildDepends = [ dataOrdlist mtl time ];
+  testDepends = [
+    dataOrdlist HUnit mtl testFramework testFrameworkHunit time
+  ];
+  meta = {
+    homepage = "http://github.com/hellertime/time-recurrence";
+    description = "Generate recurring dates";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/time/1.1.2.4.nix b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
index 56072676b67..97bdaa852b5 100644
--- a/pkgs/development/libraries/haskell/time/1.1.2.4.nix
+++ b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A time library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/time/1.4.1.nix b/pkgs/development/libraries/haskell/time/1.4.1.nix
deleted file mode 100644
index 1e675110190..00000000000
--- a/pkgs/development/libraries/haskell/time/1.4.1.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, Cabal, deepseq, QuickCheck, testFramework
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "time";
-  version = "1.4.1";
-  sha256 = "04ndcp7m1a7mia4by15dqrwl5k0d2477x20s6xcrdb7in8w9ccvp";
-  buildDepends = [ deepseq ];
-  testDepends = [
-    Cabal deepseq QuickCheck testFramework testFrameworkQuickcheck2
-  ];
-  meta = {
-    homepage = "http://semantic.org/TimeLib/";
-    description = "A time library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/time/1.4.2.nix b/pkgs/development/libraries/haskell/time/1.4.2.nix
new file mode 100644
index 00000000000..5e8d967b8dc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/time/1.4.2.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, QuickCheck, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "time";
+  version = "1.4.2";
+  sha256 = "1kpsak2wka23c8591ry6i1d7hmd54s7iw5n6hpx48jhcxf1w199h";
+  buildDepends = [ deepseq ];
+  testDepends = [
+    Cabal deepseq QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://semantic.org/TimeLib/";
+    description = "A time library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timeparsers/default.nix b/pkgs/development/libraries/haskell/timeparsers/default.nix
new file mode 100644
index 00000000000..3259d706a68
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timeparsers/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, convertible, mtl, time }:
+
+cabal.mkDerivation (self: {
+  pname = "timeparsers";
+  version = "0.3.2";
+  sha256 = "1dicp58f2amn5rgmnlfjpv4aj7ak6jrdlba2marglddvj4ycq1h7";
+  buildDepends = [ attoparsec convertible mtl time ];
+  jailbreak = true;
+  meta = {
+    description = "Attoparsec parsers for various Date/Time formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timerep/default.nix b/pkgs/development/libraries/haskell/timerep/default.nix
new file mode 100644
index 00000000000..aea0fe91208
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timerep/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "timerep";
+  version = "1.0.3";
+  sha256 = "14lz8nzfy1j7snvifbwjkk1fjc8wy4jk67xk9n87r25v3cva3x0p";
+  buildDepends = [ time ];
+  meta = {
+    description = "Parse and display time according to some RFCs (RFC3339, RFC2822)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timezone-olson/default.nix b/pkgs/development/libraries/haskell/timezone-olson/default.nix
new file mode 100644
index 00000000000..236cedc9c1f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timezone-olson/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, extensibleExceptions, time, timezoneSeries }:
+
+cabal.mkDerivation (self: {
+  pname = "timezone-olson";
+  version = "0.1.4";
+  sha256 = "1l5j6gqi9vlx7sifn7vv3by4z9ha3h6klfds4ywqv3dv0gh5725k";
+  buildDepends = [ binary extensibleExceptions time timezoneSeries ];
+  meta = {
+    homepage = "http://projects.haskell.org/time-ng/";
+    description = "A pure Haskell parser and renderer for binary Olson timezone files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timezone-series/default.nix b/pkgs/development/libraries/haskell/timezone-series/default.nix
new file mode 100644
index 00000000000..d12ae9aec05
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timezone-series/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "timezone-series";
+  version = "0.1.3";
+  sha256 = "0b13a929wrgfl1agkyp3d5wy89aw69zm4l0src7p16rh3kr38w73";
+  buildDepends = [ time ];
+  meta = {
+    homepage = "http://projects.haskell.org/time-ng/";
+    description = "Enhanced timezone handling for Data.Time";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
index 6d63c267c61..0d5c97433b2 100644
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ b/pkgs/development/libraries/haskell/tls-extra/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, certificate, cipherAes, cipherRc4, cryptohash
 , cryptoPubkey, cryptoRandom, mtl, network, pem, time, tls, vector
 }:
@@ -12,12 +14,10 @@ cabal.mkDerivation (self: {
     certificate cipherAes cipherRc4 cryptohash cryptoPubkey
     cryptoRandom mtl network pem time tls vector
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://github.com/vincenthz/hs-tls";
     description = "TLS extra default values and helpers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tls/1.1.5.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix
new file mode 100644
index 00000000000..ddb1651fd10
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tls/1.1.5.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, certificate, cprngAes, cryptohash, cryptoPubkey
+, cryptoRandom, mtl, network, QuickCheck, testFramework
+, testFrameworkQuickcheck2, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tls";
+  version = "1.1.5";
+  sha256 = "1ja03x3i7dgjpy22h4shnni1xslph8i8q4accqq8njpqpz54c84c";
+  buildDepends = [
+    cereal certificate cryptohash cryptoPubkey cryptoRandom mtl network
+  ];
+  testDepends = [
+    cereal certificate cprngAes cryptoPubkey cryptoRandom mtl
+    QuickCheck testFramework testFrameworkQuickcheck2 time
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-tls";
+    description = "TLS/SSL protocol native implementation (Server and Client)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls/1.2.8.nix b/pkgs/development/libraries/haskell/tls/1.2.8.nix
new file mode 100644
index 00000000000..22eb615a657
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tls/1.2.8.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Encoding, asn1Types, byteable, cereal, cipherAes
+, cipherDes, cipherRc4, cprngAes, cryptoCipherTypes, cryptohash
+, cryptoNumbers, cryptoPubkey, cryptoPubkeyTypes, cryptoRandom
+, dataDefaultClass, mtl, network, QuickCheck, testFramework
+, testFrameworkQuickcheck2, time, x509, x509Store, x509Validation
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tls";
+  version = "1.2.8";
+  sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha";
+  buildDepends = [
+    asn1Encoding asn1Types byteable cereal cipherAes cipherDes
+    cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey
+    cryptoPubkeyTypes cryptoRandom dataDefaultClass mtl network x509
+    x509Store x509Validation
+  ];
+  testDepends = [
+    cereal cprngAes cryptoPubkey cryptoRandom dataDefaultClass mtl
+    QuickCheck testFramework testFrameworkQuickcheck2 time x509
+    x509Validation
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-tls";
+    description = "TLS/SSL protocol native implementation (Server and Client)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
deleted file mode 100644
index 0f354d8b77e..00000000000
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ cabal, cereal, certificate, cprngAes, cryptohash, cryptoPubkey
-, cryptoRandom, mtl, network, QuickCheck, testFramework
-, testFrameworkQuickcheck2, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls";
-  version = "1.1.5";
-  sha256 = "1ja03x3i7dgjpy22h4shnni1xslph8i8q4accqq8njpqpz54c84c";
-  buildDepends = [
-    cereal certificate cryptohash cryptoPubkey cryptoRandom mtl network
-  ];
-  testDepends = [
-    cereal certificate cprngAes cryptoPubkey cryptoRandom mtl
-    QuickCheck testFramework testFrameworkQuickcheck2 time
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS/SSL protocol native implementation (Server and Client)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tostring/default.nix b/pkgs/development/libraries/haskell/tostring/default.nix
new file mode 100644
index 00000000000..eee617ffd2b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tostring/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, text, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "tostring";
+  version = "0.2.0.1";
+  sha256 = "1gihls2xslr9fzad2659zv8af9k4cm84888nhx3z9bwasviyg448";
+  buildDepends = [ text utf8String ];
+  meta = {
+    description = "The ToString class";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers-base/default.nix b/pkgs/development/libraries/haskell/transformers-base/default.nix
index e323905f81b..d7b9f53951c 100644
--- a/pkgs/development/libraries/haskell/transformers-base/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-base/default.nix
@@ -1,15 +1,16 @@
-{ cabal, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, stm, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "transformers-base";
-  version = "0.4.1";
-  sha256 = "1d3w7k7smvdnnn4q6xpdhsj9zvj6372ihyhz4lrhdvgh72pfiaag";
-  buildDepends = [ transformers ];
+  version = "0.4.3";
+  sha256 = "0bklr7piiipnh99jnqx262pdyb9hzk852d6hzk5sqppvz5ndcf4y";
+  buildDepends = [ stm transformers ];
   meta = {
     homepage = "https://github.com/mvv/transformers-base";
     description = "Lift computations from the bottom of a transformer stack";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix
new file mode 100644
index 00000000000..d0dc4ae024d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-compat";
+  version = "0.3.3.4";
+  sha256 = "1hab41ggyaxr4xn2szv8y9fg9np8zi8ifhimr33fspid1jz14xr5";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/transformers-compat/";
+    description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
new file mode 100644
index 00000000000..4ff5df9d1c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-compat";
+  version = "0.3.3";
+  sha256 = "14lmwqr6q79k1f7byvb0jcm4r7lprhxkl85z72pr6ghn7bsvqwps";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/transformers-compat/";
+    description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers-compat/default.nix b/pkgs/development/libraries/haskell/transformers-compat/default.nix
deleted file mode 100644
index 2abd6efa0ce..00000000000
--- a/pkgs/development/libraries/haskell/transformers-compat/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "transformers-compat";
-  version = "0.1.1.1";
-  sha256 = "0i0bcfmqsnqa8fyp81virr5bh3hk23261xyx28jcfamrc18ly9ij";
-  buildDepends = [ transformers ];
-  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.";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/transformers-free/default.nix b/pkgs/development/libraries/haskell/transformers-free/default.nix
new file mode 100644
index 00000000000..c989d620f40
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-free/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-free";
+  version = "1.0.1";
+  sha256 = "0fbzkr7ifvqng8wqi3332vwvmx36f8z167angyskfdd0a5rik2z0";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "Free monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
index 6d2e374687f..cb3dd611ef3 100644
--- a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Concrete functor and monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix b/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix
index ec1b85248d9..fe2b0f91ef9 100644
--- a/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Concrete functor and monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
new file mode 100644
index 00000000000..d705040387b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers";
+  version = "0.4.1.0";
+  sha256 = "0jlnz86f87jndv4sifg1zpv5b2g2cxy1x2575x727az6vyaarwwg";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    description = "Concrete functor and monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/traverse-with-class/default.nix b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
new file mode 100644
index 00000000000..50d5c61dd09
--- /dev/null
+++ b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "traverse-with-class";
+  version = "0.1.1.1";
+  sha256 = "0agdgnibv8q65av2fkr2qm0air8zqmygwpkl30wmay5mqqknzxiq";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "Generic applicative traversals";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tree-view/default.nix b/pkgs/development/libraries/haskell/tree-view/default.nix
new file mode 100644
index 00000000000..6c3adfdb9f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tree-view/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "tree-view";
+  version = "0.4";
+  sha256 = "0mzywp6nipc6zs98dy4ny2s3r9d745lqpjazfnj5y4hx8swyckgn";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "Render trees as foldable HTML and Unicode art";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/trifecta/1.1.nix b/pkgs/development/libraries/haskell/trifecta/1.1.nix
deleted file mode 100644
index ac6cfdd43ae..00000000000
--- a/pkgs/development/libraries/haskell/trifecta/1.1.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ cabal, ansiTerminal, ansiWlPprint, blazeBuilder, blazeHtml
-, blazeMarkup, charset, comonad, deepseq, doctest, filepath
-, fingertree, hashable, lens, mtl, parsers, reducers, semigroups
-, transformers, unorderedContainers, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "trifecta";
-  version = "1.1";
-  sha256 = "19wnblpn31hvdi5dc8ir24s0hfjj4vvzr43gg9ydl2qdjq6s166w";
-  buildDepends = [
-    ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup
-    charset comonad deepseq fingertree hashable lens mtl parsers
-    reducers semigroups transformers unorderedContainers utf8String
-  ];
-  testDepends = [ doctest filepath ];
-  postPatch = ''
-    substituteInPlace trifecta.cabal \
-      --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
-      --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
-      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2," \
-      --replace "comonad              == 3.*,"              "comonad              >= 3       && < 5,"
-  '';
-  meta = {
-    homepage = "http://github.com/ekmett/trifecta/";
-    description = "A modern parser combinator library with convenient diagnostics";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/trifecta/1.2.nix b/pkgs/development/libraries/haskell/trifecta/1.2.nix
deleted file mode 100644
index de876fa7f67..00000000000
--- a/pkgs/development/libraries/haskell/trifecta/1.2.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ cabal, ansiTerminal, ansiWlPprint, blazeBuilder, blazeHtml
-, blazeMarkup, charset, comonad, deepseq, doctest, filepath
-, fingertree, hashable, lens, mtl, parsers, reducers, semigroups
-, transformers, unorderedContainers, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "trifecta";
-  version = "1.2.1.1";
-  sha256 = "1bv35ip7g0h7r2w0s8pkcbvm0b9hx91vblf5w57q3jr843v9314c";
-  buildDepends = [
-    ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup
-    charset comonad deepseq fingertree hashable lens mtl parsers
-    reducers semigroups transformers unorderedContainers utf8String
-  ];
-  testDepends = [ doctest filepath ];
-  postPatch = ''
-    substituteInPlace trifecta.cabal \
-      --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
-      --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
-      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2," \
-      --replace "comonad              >= 3       && < 4,"   "comonad              >= 3       && < 5,"
-  '';
-  meta = {
-    homepage = "http://github.com/ekmett/trifecta/";
-    description = "A modern parser combinator library with convenient diagnostics";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/trifecta/default.nix b/pkgs/development/libraries/haskell/trifecta/default.nix
new file mode 100644
index 00000000000..a73f47afb1c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/trifecta/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, ansiWlPprint, blazeBuilder, blazeHtml
+, blazeMarkup, charset, comonad, deepseq, doctest, filepath
+, fingertree, hashable, lens, mtl, parsers, QuickCheck, reducers
+, semigroups, transformers, unorderedContainers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "trifecta";
+  version = "1.5.1";
+  sha256 = "1fayr6sd9m84rqpcygacafn9vr9zva7rmkpvyzz0bf1p1z7i6b2n";
+  buildDepends = [
+    ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup
+    charset comonad deepseq fingertree hashable lens mtl parsers
+    reducers semigroups transformers unorderedContainers utf8String
+  ];
+  testDepends = [ doctest filepath parsers QuickCheck ];
+  meta = {
+    homepage = "http://github.com/ekmett/trifecta/";
+    description = "A modern parser combinator library with convenient diagnostics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tuple/default.nix b/pkgs/development/libraries/haskell/tuple/default.nix
index 90441f31867..974c2fe140b 100644
--- a/pkgs/development/libraries/haskell/tuple/default.nix
+++ b/pkgs/development/libraries/haskell/tuple/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, OneTuple }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Various functions on tuples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
new file mode 100644
index 00000000000..bf2652fa792
--- /dev/null
+++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
@@ -0,0 +1,35 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, authenticateOauth, caseInsensitive
+, conduit, conduitExtra, dataDefault, doctest, filepath, hlint
+, hspec, httpClient, httpConduit, httpTypes, lens, monadControl
+, monadLogger, network, resourcet, shakespeare, text, time
+, transformers, transformersBase, twitterTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "twitter-conduit";
+  version = "0.0.5.5";
+  sha256 = "13wk863xjlg8g62yhbq4aar7z77n0awh500l6v41fam99lihzxab";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsec authenticateOauth conduit conduitExtra dataDefault
+    httpClient httpConduit httpTypes lens monadLogger resourcet
+    shakespeare text time transformers twitterTypes
+  ];
+  testDepends = [
+    aeson attoparsec authenticateOauth caseInsensitive conduit
+    conduitExtra dataDefault doctest filepath hlint hspec httpClient
+    httpConduit httpTypes lens monadControl monadLogger network
+    resourcet shakespeare text time transformers transformersBase
+    twitterTypes
+  ];
+  meta = {
+    homepage = "https://github.com/himura/twitter-conduit";
+    description = "Twitter API package with conduit interface and Streaming API support";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix
new file mode 100644
index 00000000000..1848211dc3e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/twitter-types/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, filepath, httpTypes, HUnit
+, testFramework, testFrameworkHunit, testFrameworkThPrime, text
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "twitter-types";
+  version = "0.4.20140809";
+  sha256 = "0f32gjvpzcy5ld2j6mhsvaxaiyzyp5pvqjvmgawaiy78c3kxi8gh";
+  buildDepends = [ aeson httpTypes text unorderedContainers ];
+  testDepends = [
+    aeson attoparsec filepath httpTypes HUnit testFramework
+    testFrameworkHunit testFrameworkThPrime text unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/himura/twitter-types";
+    description = "Twitter JSON parser and types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/type-eq/default.nix b/pkgs/development/libraries/haskell/type-eq/default.nix
new file mode 100644
index 00000000000..89b6398c5e0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/type-eq/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs }:
+
+cabal.mkDerivation (self: {
+  pname = "type-eq";
+  version = "0.4.2";
+  sha256 = "0nyx3lqgrnlz0l3p615ln2dglqd39jwlk91ybz7blzhq1gpgayar";
+  buildTools = [ cpphs ];
+  meta = {
+    homepage = "http://github.com/glaebhoerl/type-eq";
+    description = "Type equality evidence you can carry around";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/type-equality/default.nix b/pkgs/development/libraries/haskell/type-equality/default.nix
index ee90387b637..de5bc73873f 100644
--- a/pkgs/development/libraries/haskell/type-equality/default.nix
+++ b/pkgs/development/libraries/haskell/type-equality/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Type equality, coercion/cast and other operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
index 8dff0ffd58f..7bc0c31b86d 100644
--- a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
+++ b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "type-level-natural-number";
-  version = "1.1.1";
-  sha256 = "1zc26nckpcixxp1m818jhzi3dj1ysnjfc2xliq4rpmf5583k6mjw";
+  version = "2.0";
+  sha256 = "17zgm5ys1z61kxxczz3bzi9m3c48py6pvyx3cqk3xlh1w7n58ryk";
   meta = {
-    description = "Simple, Haskell 2010-compatible type level natural numbers";
+    description = "Simple type level natural numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/tz/default.nix b/pkgs/development/libraries/haskell/tz/default.nix
new file mode 100644
index 00000000000..3f964f2ce3d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tz/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, bindingsPosix, deepseq, HUnit, pkgs_tzdata
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, testFrameworkTh, time, tzdata, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tz";
+  version = "0.0.0.8";
+  sha256 = "0rabdqwdj8hx17817zsfsih01agx7n3kja8s0axmm0drq22vlflv";
+  buildDepends = [ binary deepseq time tzdata vector ];
+  testDepends = [
+    bindingsPosix HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh time tzdata vector
+  ];
+  preConfigure = "export TZDIR=${pkgs_tzdata}/share/zoneinfo";
+  meta = {
+    homepage = "https://github.com/nilcons/haskell-tz";
+    description = "Efficient time zone handling";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tzdata/default.nix b/pkgs/development/libraries/haskell/tzdata/default.nix
new file mode 100644
index 00000000000..ceae4679247
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tzdata/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filemanip, filepath, HUnit, MissingH, testFramework
+, testFrameworkHunit, testFrameworkTh, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tzdata";
+  version = "0.1.20140612.0";
+  sha256 = "03fd3jiw89c8zf2jdz0qps8sb8ipgmjqbbaq4y2aqczv36ha74gh";
+  buildDepends = [ vector ];
+  testDepends = [
+    filemanip filepath HUnit MissingH testFramework testFrameworkHunit
+    testFrameworkTh
+  ];
+  meta = {
+    homepage = "https://github.com/nilcons/haskell-tzdata";
+    description = "Time zone database (as files and as a module)";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix
index df57bbbdac7..41accd18586 100644
--- a/pkgs/development/libraries/haskell/unbound/default.nix
+++ b/pkgs/development/libraries/haskell/unbound/default.nix
@@ -1,15 +1,16 @@
-{ cabal, mtl, RepLib, transformers }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, mtl, RepLib, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "unbound";
-  version = "0.4.2";
-  sha256 = "1bnnnv4rmzb0pw7i56nzr7k7pahr9rcmlfi4xkpsjhrxmizcfml9";
-  buildDepends = [ mtl RepLib transformers ];
+  version = "0.4.3.1";
+  sha256 = "1xkp47y7yg8dl95gf4w3iwddc3yivrhcxj184cfhrx6a9rbsflpz";
+  buildDepends = [ binary mtl RepLib transformers ];
   meta = {
     homepage = "http://code.google.com/p/replib/";
     description = "Generic support for programming with names and binders";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/unbounded-delays/default.nix b/pkgs/development/libraries/haskell/unbounded-delays/default.nix
index ccccf9d95d3..f03aedad4fd 100644
--- a/pkgs/development/libraries/haskell/unbounded-delays/default.nix
+++ b/pkgs/development/libraries/haskell/unbounded-delays/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "unbounded-delays";
-  version = "0.1.0.5";
-  sha256 = "109swgxlv3ywf5g0wgm3gp2y7azd6mqf2lfb9sk21dfzcz28aq4k";
+  version = "0.1.0.8";
+  sha256 = "1jdlpg82kndz6g97bw8fb6sjyyvylrcrg982xnhgi36717f0pv40";
   meta = {
     homepage = "https://github.com/basvandijk/unbounded-delays";
     description = "Unbounded thread delays and timeouts";
diff --git a/pkgs/development/libraries/haskell/union-find/default.nix b/pkgs/development/libraries/haskell/union-find/default.nix
index b50713d5291..f17b08b3ab6 100644
--- a/pkgs/development/libraries/haskell/union-find/default.nix
+++ b/pkgs/development/libraries/haskell/union-find/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, transformers }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/uniplate/default.nix b/pkgs/development/libraries/haskell/uniplate/default.nix
index ab9471bc3f2..db85f4be78e 100644
--- a/pkgs/development/libraries/haskell/uniplate/default.nix
+++ b/pkgs/development/libraries/haskell/uniplate/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, syb, unorderedContainers }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Help writing simple, concise and fast generic operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uniqueid/default.nix b/pkgs/development/libraries/haskell/uniqueid/default.nix
index 399ac02e3ce..c5834e3f87d 100644
--- a/pkgs/development/libraries/haskell/uniqueid/default.nix
+++ b/pkgs/development/libraries/haskell/uniqueid/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,7 @@ cabal.mkDerivation (self: {
     description = "Splittable Unique Identifier Supply";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/units/default.nix b/pkgs/development/libraries/haskell/units/default.nix
new file mode 100644
index 00000000000..c5d5262750d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/units/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnitApprox, mtl, multimap, parsec, singletons, syb, tasty
+, tastyHunit, thDesugar, vectorSpace
+}:
+
+cabal.mkDerivation (self: {
+  pname = "units";
+  version = "2.1";
+  sha256 = "1qrjc57j15ras0v43cpd7qhh9nzh9dbnkaik6s4c8aj8nkhgd8vs";
+  buildDepends = [
+    mtl multimap parsec singletons syb thDesugar vectorSpace
+  ];
+  testDepends = [
+    HUnitApprox mtl multimap parsec singletons syb tasty tastyHunit
+    thDesugar vectorSpace
+  ];
+  meta = {
+    homepage = "http://www.cis.upenn.edu/~eir/packages/units";
+    description = "A domain-specific type system for dimensional analysis";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unix-bytestring/default.nix b/pkgs/development/libraries/haskell/unix-bytestring/default.nix
index 174fc925aae..4219611f910 100644
--- a/pkgs/development/libraries/haskell/unix-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/unix-bytestring/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "unix-bytestring";
-  version = "0.3.7";
-  sha256 = "1qwgs2bwga057csfa8izq0kc5vwi2vcaz2snlcgp0h9vql3qmvrg";
+  version = "0.3.7.2";
+  sha256 = "0n1i7pcdwhs0wz6spf3pndr8i74qn0cdzr3p46w4r4mvvwr76i2s";
   meta = {
     homepage = "http://code.haskell.org/~wren/";
     description = "Unix/Posix-specific functions for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix
index 9742b193e7b..7ac3605e6fc 100644
--- a/pkgs/development/libraries/haskell/unix-compat/default.nix
+++ b/pkgs/development/libraries/haskell/unix-compat/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "unix-compat";
-  version = "0.4.1.1";
-  sha256 = "1cjny6zca5wdj7d56kjkaxlad85kknn91pisrizjy6wngszyaigf";
+  version = "0.4.1.3";
+  sha256 = "1vfw3ffzdk9mshhgyp3dnbn8rihkz8qg6n5zqak8966dsdqhm4xb";
   meta = {
     homepage = "http://github.com/jystic/unix-compat";
     description = "Portable POSIX-compatibility layer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/unix-memory/default.nix b/pkgs/development/libraries/haskell/unix-memory/default.nix
new file mode 100644
index 00000000000..caaf6c1bde5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unix-memory/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "unix-memory";
+  version = "0.1.1";
+  sha256 = "02jmccs7mcg2lhpnb1ps7ycxzmn46b4drf994vv0pawwjrkrhnhk";
+  testDepends = [
+    HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-unix-memory";
+    description = "Unix memory syscalls";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unix-process-conduit/default.nix b/pkgs/development/libraries/haskell/unix-process-conduit/default.nix
index 1f04d939d9c..dc71c43df87 100644
--- a/pkgs/development/libraries/haskell/unix-process-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/unix-process-conduit/default.nix
@@ -1,15 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, conduit, filepath, hspec, stm, time, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "unix-process-conduit";
-  version = "0.2.2";
-  sha256 = "15n6n925avv51kr2avwkp8sq8mfl287i0445vl9iy6hyxjjgpgr6";
+  version = "0.2.2.3";
+  sha256 = "0ldgjwdvshggygxn9fpnxvb01dba0q0bn9f7iiw5xgqhli46nvcy";
   buildDepends = [ conduit filepath stm time transformers ];
   testDepends = [ conduit hspec transformers ];
   meta = {
     homepage = "https://github.com/snoyberg/conduit";
-    description = "Run processes on Unix systems, with a conduit interface";
+    description = "Run processes on Unix systems, with a conduit interface (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix
index 67dbdac3485..60f0f21b292 100644
--- a/pkgs/development/libraries/haskell/unix-time/default.nix
+++ b/pkgs/development/libraries/haskell/unix-time/default.nix
@@ -1,9 +1,12 @@
-{ cabal, doctest, hspec, QuickCheck, time }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, doctest, hspec, QuickCheck, time }:
 
 cabal.mkDerivation (self: {
   pname = "unix-time";
-  version = "0.2.1";
-  sha256 = "15kg1rxbw86p5jzig9ac7lsizmlvqkxikq7h8jfi04rri39a9jiy";
+  version = "0.3.3";
+  sha256 = "018wpr5d2kjv8syj97664sqh1v7ws1780qmlfxvrakj86z9k5i8x";
+  buildDepends = [ binary ];
   testDepends = [ doctest hspec QuickCheck time ];
   meta = {
     description = "Unix time parser/formatter and utilities";
diff --git a/pkgs/development/libraries/haskell/unlambda/default.nix b/pkgs/development/libraries/haskell/unlambda/default.nix
index 474bb1a8b09..65419a22bb0 100644
--- a/pkgs/development/libraries/haskell/unlambda/default.nix
+++ b/pkgs/development/libraries/haskell/unlambda/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl }:
 
 cabal.mkDerivation (self: {
@@ -7,10 +9,10 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl ];
+  hyperlinkSource = false;
   meta = {
     description = "Unlambda interpreter";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
index a8f1ae922ee..d7040ac611a 100644
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
+++ b/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 }:
@@ -17,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Efficient hashing-based container types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix
deleted file mode 100644
index 03cdd824d29..00000000000
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "unordered-containers";
-  version = "0.2.3.3";
-  sha256 = "09sn19fk4smhf4zi3326wy2a62lh231k2nm8jd64j51arch42sdi";
-  buildDepends = [ deepseq hashable ];
-  testDepends = [
-    ChasingBottoms hashable HUnit QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/tibbe/unordered-containers";
-    description = "Efficient hashing-based container types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
new file mode 100644
index 00000000000..9cb06b029e6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "unordered-containers";
+  version = "0.2.4.0";
+  sha256 = "1x6djgmawzq8i8spib729pdlpnxyi4gz4p08lyn6jhfqjq6fpsil";
+  buildDepends = [ deepseq hashable ];
+  testDepends = [
+    ChasingBottoms hashable HUnit QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/tibbe/unordered-containers";
+    description = "Efficient hashing-based container types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix
new file mode 100644
index 00000000000..70f00b68d42
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "unordered-containers";
+  version = "0.2.5.0";
+  sha256 = "0y85a9zg77h05c5ajchvfazg84ksvyi92r6bbmh09qzlf7mlb4bj";
+  buildDepends = [ deepseq hashable ];
+  testDepends = [
+    ChasingBottoms hashable HUnit QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/tibbe/unordered-containers";
+    description = "Efficient hashing-based container types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/uri-encode/default.nix b/pkgs/development/libraries/haskell/uri-encode/default.nix
new file mode 100644
index 00000000000..7a86bcd2f65
--- /dev/null
+++ b/pkgs/development/libraries/haskell/uri-encode/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, networkUri, text, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "uri-encode";
+  version = "1.5.0.3";
+  sha256 = "115wnc7x7gx57qza5az4c1wy0n2f40634529jk0vpxw6bb9b1mzn";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ networkUri text utf8String ];
+  meta = {
+    description = "Unicode aware uri-encoding";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/uri/default.nix b/pkgs/development/libraries/haskell/uri/default.nix
new file mode 100644
index 00000000000..11276f2bc4a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/uri/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parsec, safe, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "uri";
+  version = "0.1.6.2";
+  sha256 = "0f2ms8awm4x7pw8ms6in0mxspqmnhv8bxas0947rkrzc5m9k0h3s";
+  buildDepends = [ parsec safe utf8String ];
+  meta = {
+    homepage = "http://gitorious.org/uri";
+    description = "Library for working with URIs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/url/default.nix b/pkgs/development/libraries/haskell/url/default.nix
index 5353895815d..bfa7f807c53 100644
--- a/pkgs/development/libraries/haskell/url/default.nix
+++ b/pkgs/development/libraries/haskell/url/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, utf8String }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A library for working with URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/urlencoded/default.nix b/pkgs/development/libraries/haskell/urlencoded/default.nix
index 05bd2ab09bb..74ae443f8a6 100644
--- a/pkgs/development/libraries/haskell/urlencoded/default.nix
+++ b/pkgs/development/libraries/haskell/urlencoded/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, split }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/usb/default.nix b/pkgs/development/libraries/haskell/usb/default.nix
index 41a71618546..5f57d42a2b6 100644
--- a/pkgs/development/libraries/haskell/usb/default.nix
+++ b/pkgs/development/libraries/haskell/usb/default.nix
@@ -1,10 +1,13 @@
-{ cabal, baseUnicodeSymbols, bindingsLibusb, text, vector }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsLibusb, text, vector }:
 
 cabal.mkDerivation (self: {
   pname = "usb";
-  version = "1.2";
-  sha256 = "1k73avkmpbmg6iq2kmwhg2ifibni5c1yp202afdb6v7w5akvmc0b";
-  buildDepends = [ baseUnicodeSymbols bindingsLibusb text vector ];
+  version = "1.2.0.1";
+  sha256 = "10bpkrsnin9f3g1p5a84nhxx5xlfjdxisc0q60iain30rn99g2mk";
+  buildDepends = [ bindingsLibusb text vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://basvandijk.github.com/usb";
     description = "Communicate with USB devices";
diff --git a/pkgs/development/libraries/haskell/utf8-light/default.nix b/pkgs/development/libraries/haskell/utf8-light/default.nix
index 1c2e1f5c116..056fe5b372c 100644
--- a/pkgs/development/libraries/haskell/utf8-light/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-light/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Unicode";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/utf8-string/default.nix b/pkgs/development/libraries/haskell/utf8-string/default.nix
index e627c77bda2..405dbecb6ba 100644
--- a/pkgs/development/libraries/haskell/utf8-string/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-string/default.nix
@@ -1,9 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "utf8-string";
-  version = "0.3.7";
-  sha256 = "1s59xsw1i311rpxb7arnd280pjqab5mrlfjmxbabknka8wqlnnvq";
+  version = "0.3.8";
+  sha256 = "1h29dn0scsfkhmkg14ywq9178lw40ah1r36w249zfzqr02y7qxc0";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  patchPhase = ''
+    sed -ir -e 's|Extensions: | Extensions: UndecidableInstances, |' utf8-string.cabal
+  '';
   meta = {
     homepage = "http://github.com/glguy/utf8-string/";
     description = "Support for reading and writing UTF8 Strings";
diff --git a/pkgs/development/libraries/haskell/utility-ht/default.nix b/pkgs/development/libraries/haskell/utility-ht/default.nix
index 76ce975b11e..438b9c810d8 100644
--- a/pkgs/development/libraries/haskell/utility-ht/default.nix
+++ b/pkgs/development/libraries/haskell/utility-ht/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "utility-ht";
-  version = "0.0.9";
-  sha256 = "1m5mjxwf51jd00swp1f4cimaqaral6827y1sidbq61qkw7l6ss8r";
+  version = "0.0.10";
+  sha256 = "17ydzb0p8xhddvfvm4wjv5yjmy0v7nj6fsj11srnnpj91wc9k0xd";
   testDepends = [ QuickCheck ];
   meta = {
     description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uu-interleaved/default.nix b/pkgs/development/libraries/haskell/uu-interleaved/default.nix
index a71111282fa..63873ab18c5 100644
--- a/pkgs/development/libraries/haskell/uu-interleaved/default.nix
+++ b/pkgs/development/libraries/haskell/uu-interleaved/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/uu-options/default.nix b/pkgs/development/libraries/haskell/uu-options/default.nix
index 651cd9fe450..e20058de46d 100644
--- a/pkgs/development/libraries/haskell/uu-options/default.nix
+++ b/pkgs/development/libraries/haskell/uu-options/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, lenses, mtl, transformers, uuInterleaved, uuParsinglib }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 8d0b0bda23d..40533014209 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ListLike, time, uuInterleaved }:
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.8.1";
-  sha256 = "10phjwm8dm45rms2vfpx9vzm56v7b9wp0308xkfbalh5zbvxmv35";
+  version = "2.8.1.1";
+  sha256 = "1mz8sni7mj85b0ih0y1ld7lcj74iq5z2xi1lbwwndpqra9ahc5s6";
   buildDepends = [ ListLike time uuInterleaved ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
     description = "Fast, online, error-correcting, monadic, applicative, merging, permuting, idiomatic parser combinators";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uuid/default.nix b/pkgs/development/libraries/haskell/uuid/default.nix
index a38a108bc03..eb36f5555ae 100644
--- a/pkgs/development/libraries/haskell/uuid/default.nix
+++ b/pkgs/development/libraries/haskell/uuid/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, cryptohash, deepseq, hashable, HUnit, networkInfo
 , QuickCheck, random, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2, time
diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix
index 2521c44bec6..9cfcac5f904 100644
--- a/pkgs/development/libraries/haskell/uulib/default.nix
+++ b/pkgs/development/libraries/haskell/uulib/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "uulib";
-  version = "0.9.15";
-  sha256 = "0433shh493c04qmi0sd9mfzpy198zi11gxdmcs6nz2gcnxm812zm";
+  version = "0.9.16";
+  sha256 = "06d9i712flxj62j7rdxvy9b0ximhdfvdakwpmr886l6fi3xpajl3";
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
     description = "Haskell Utrecht Tools Library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vacuum-cairo/default.nix b/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
index 5ab1d4f8546..343f73238ca 100644
--- a/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cairo, deepseq, gtk, strictConcurrency, svgcairo, vacuum
 }:
 
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "Visualize live Haskell data structures using vacuum, graphviz and cairo";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix
new file mode 100644
index 00000000000..9c719605537
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, graphviz, vacuum }:
+
+cabal.mkDerivation (self: {
+  pname = "vacuum-graphviz";
+  version = "2.1.0.1";
+  sha256 = "093ba6n30a6gyifnk3bd50rkx8qldjqq9vsk92pnq152ibs36b2m";
+  buildDepends = [ filepath graphviz vacuum ];
+  jailbreak = true;
+  meta = {
+    description = "A library for transforming vacuum graphs into GraphViz output";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix
index 8506e580502..31e265e92ee 100644
--- a/pkgs/development/libraries/haskell/vacuum/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum/default.nix
@@ -1,15 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ghcPaths }:
 
 cabal.mkDerivation (self: {
   pname = "vacuum";
-  version = "2.1.0.1";
-  sha256 = "0gzh5v9mr0mgz9hxjnm8n3jcl2702wad7qaqaar1zc95lkabpf65";
+  version = "2.2.0.0";
+  sha256 = "157wjx2shzfh6dfl6h8x017cn9ji3ql1p0gpi79ginz4s81f2ny1";
   extraLibraries = [ ghcPaths ];
   meta = {
     homepage = "http://thoughtpolice.github.com/vacuum";
     description = "Graph representation of the GHC heap";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vado/default.nix b/pkgs/development/libraries/haskell/vado/default.nix
new file mode 100644
index 00000000000..e116dd529cf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vado/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, filepath, QuickCheck, text }:
+
+cabal.mkDerivation (self: {
+  pname = "vado";
+  version = "0.0.1";
+  sha256 = "11b8glzzpzhm8cfw3vyvvvz3h0xid5r3prwhnvplajr7v3r562h2";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ attoparsec filepath text ];
+  testDepends = [ attoparsec filepath QuickCheck text ];
+  meta = {
+    homepage = "https://github.com/hamishmack/vado";
+    description = "Runs commands on remote machines using ssh";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vault/default.nix b/pkgs/development/libraries/haskell/vault/default.nix
index 3f284284444..9eca4f672cb 100644
--- a/pkgs/development/libraries/haskell/vault/default.nix
+++ b/pkgs/development/libraries/haskell/vault/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "vault";
-  version = "0.3.0.2";
-  sha256 = "1m9vanwzlw61fbdcy7qvv2prmbax5y9dsl52dldcf5zr7vip2hpb";
+  version = "0.3.0.3";
+  sha256 = "0wpj73jbwgcva1hfjc0bpf9l3lfc3iwdz70m29dh1785wvzxhsh5";
   buildDepends = [ hashable unorderedContainers ];
   jailbreak = true;
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "a persistent store for values of arbitrary types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vcs-revision/default.nix b/pkgs/development/libraries/haskell/vcs-revision/default.nix
index a1cd2783931..804ee0191f3 100644
--- a/pkgs/development/libraries/haskell/vcs-revision/default.nix
+++ b/pkgs/development/libraries/haskell/vcs-revision/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "vcs-revision";
-  version = "0.0.1";
-  sha256 = "1zfv9b02ml8622kz755azhi4ajyxrqniiachd92znfrry4n8z1mn";
+  version = "0.0.2";
+  sha256 = "1lp1wf440n7kinmxz7la0gyfqfdlip6f0bn8pmwkxd1dqyrvg5cg";
   meta = {
     description = "Facilities for accessing the version control revision of the current directory";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix
new file mode 100644
index 00000000000..318f369fc3e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vcsgui/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, gtk3, mtl, vcswrapper }:
+
+cabal.mkDerivation (self: {
+  pname = "vcsgui";
+  version = "0.0.4";
+  sha256 = "12hfdhnv3xc2dyqk76lyx5ggiygyap4hm50sd6qmwfjj3f2w6b98";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath gtk3 mtl vcswrapper ];
+  meta = {
+    homepage = "https://github.com/forste/haskellVCSGUI";
+    description = "GUI library for source code management systems";
+    license = "GPL";
+    platforms = self.stdenv.lib.platforms.linux;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix
new file mode 100644
index 00000000000..75336ef8816
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hxt, mtl, parsec, split, text }:
+
+cabal.mkDerivation (self: {
+  pname = "vcswrapper";
+  version = "0.0.4";
+  sha256 = "130pmzxdsqv703k2g197vd5rl60fwkqqv2xck66ygb932wsq3fnk";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath hxt mtl parsec split text ];
+  meta = {
+    homepage = "https://github.com/forste/haskellVCSWrapper";
+    description = "Wrapper for source code management systems";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vect/default.nix b/pkgs/development/libraries/haskell/vect/default.nix
index 2d81a013176..00ee6dacb9e 100644
--- a/pkgs/development/libraries/haskell/vect/default.nix
+++ b/pkgs/development/libraries/haskell/vect/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, random }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/vector-algorithms/default.nix b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
index dc8c9dd35ba..b13f6c09c80 100644
--- a/pkgs/development/libraries/haskell/vector-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
@@ -1,15 +1,19 @@
-{ cabal, primitive, vector }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, mwcRandom, primitive, QuickCheck, vector }:
 
 cabal.mkDerivation (self: {
   pname = "vector-algorithms";
-  version = "0.5.4.2";
-  sha256 = "08pb6mkghf9h5011vxrfdrfq6g26jk4gxmjh9s3hpdiwybf3ab64";
-  buildDepends = [ primitive vector ];
+  version = "0.6.0.3";
+  sha256 = "1kz4b41y7swad6mbx0g3adc8lqma8pl3rnzah71cfdvb87gssbn4";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl mwcRandom primitive vector ];
+  testDepends = [ QuickCheck vector ];
   meta = {
     homepage = "http://code.haskell.org/~dolio/";
     description = "Efficient algorithms for vector arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector-binary-instances/default.nix b/pkgs/development/libraries/haskell/vector-binary-instances/default.nix
index 62d1c0506ed..1ef75f14a77 100644
--- a/pkgs/development/libraries/haskell/vector-binary-instances/default.nix
+++ b/pkgs/development/libraries/haskell/vector-binary-instances/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, cereal, vector }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/vector-instances/default.nix b/pkgs/development/libraries/haskell/vector-instances/default.nix
index c6ff62f86cd..c39dc6c371b 100644
--- a/pkgs/development/libraries/haskell/vector-instances/default.nix
+++ b/pkgs/development/libraries/haskell/vector-instances/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, comonad, keys, pointed, semigroupoids, semigroups, vector
 }:
 
diff --git a/pkgs/development/libraries/haskell/vector-space-points/default.nix b/pkgs/development/libraries/haskell/vector-space-points/default.nix
index 2a5c1eb2fc4..e7eb15d6556 100644
--- a/pkgs/development/libraries/haskell/vector-space-points/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space-points/default.nix
@@ -1,10 +1,12 @@
-{ cabal, newtype, vectorSpace }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, vectorSpace }:
 
 cabal.mkDerivation (self: {
   pname = "vector-space-points";
-  version = "0.1.2.1";
-  sha256 = "0prbmk48xdr2gbxqpv0g89xz5v3k9wps9v2gymkh32jag2lgzi66";
-  buildDepends = [ newtype vectorSpace ];
+  version = "0.2";
+  sha256 = "05wczgvcqwqhcr4v0md4x5vybq6ns8rk6459yqyrc96kaig0sf2i";
+  buildDepends = [ vectorSpace ];
   meta = {
     description = "A type for points, as distinct from vectors";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix
index c6d440a5d47..2eb7ca48316 100644
--- a/pkgs/development/libraries/haskell/vector-space/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Boolean, MemoTrie, NumInstances }:
 
 cabal.mkDerivation (self: {
   pname = "vector-space";
-  version = "0.8.6";
-  sha256 = "03kz2qhnynbgs4vk7348zjkkakzzwvxhbasl0lcazj1cx1ay7c4l";
+  version = "0.8.7";
+  sha256 = "1i3c34b3ngksmw4blhldap8fiw1jddm2h1qyr92csn3cllj6j1vm";
   buildDepends = [ Boolean MemoTrie NumInstances ];
   meta = {
     description = "Vector & affine spaces, linear maps, and derivatives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix
index 8f5ec4b52bf..8fdb0f1b254 100644
--- a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix
+++ b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix
@@ -1,10 +1,13 @@
-{ cabal, vector }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, vector }:
 
 cabal.mkDerivation (self: {
   pname = "vector-th-unbox";
-  version = "0.2.0.1";
-  sha256 = "1q01yk6cyjxbdnmq31d5mfac09hbql43d7xiw1snc96nmkklfpjv";
+  version = "0.2.1.0";
+  sha256 = "0r8yxj63hvkm923y8mk1b5kv1b15lqadxhlncc02glvmy8zf1prh";
   buildDepends = [ vector ];
+  testDepends = [ dataDefault vector ];
   meta = {
     description = "Deriver for Data.Vector.Unboxed using Template Haskell";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/vector/0.10.0.1.nix b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
index 7acc89d6a91..0f48fbecf06 100644
--- a/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
+++ b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, primitive }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Efficient Arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector/0.10.11.0.nix b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
new file mode 100644
index 00000000000..e93160ff6d0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, primitive }:
+
+cabal.mkDerivation (self: {
+  pname = "vector";
+  version = "0.10.11.0";
+  sha256 = "0f5jks8q0287zgzlfg3x7akpahck6dm1c37hb8kk6qn51csx515j";
+  buildDepends = [ deepseq primitive ];
+  meta = {
+    homepage = "https://github.com/haskell/vector";
+    description = "Efficient Arrays";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.9.1.nix b/pkgs/development/libraries/haskell/vector/0.10.9.1.nix
deleted file mode 100644
index 975d75526a6..00000000000
--- a/pkgs/development/libraries/haskell/vector/0.10.9.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, deepseq, primitive }:
-
-cabal.mkDerivation (self: {
-  pname = "vector";
-  version = "0.10.9.1";
-  sha256 = "1rdx0r7bwx6217ip9mg9yfymvgv52szqv63y89p41b8sfklmcmi0";
-  buildDepends = [ deepseq primitive ];
-  meta = {
-    homepage = "https://github.com/haskell/vector";
-    description = "Efficient Arrays";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.9.3.nix b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
new file mode 100644
index 00000000000..d07f27bee31
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, primitive }:
+
+cabal.mkDerivation (self: {
+  pname = "vector";
+  version = "0.10.9.3";
+  sha256 = "08mlg0v7an6mm04skvxrgfndab0wikfs4glv7jj8ylxwc8959kdx";
+  buildDepends = [ deepseq primitive ];
+  meta = {
+    homepage = "https://github.com/haskell/vector";
+    description = "Efficient Arrays";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vinyl/default.nix b/pkgs/development/libraries/haskell/vinyl/default.nix
new file mode 100644
index 00000000000..46ea723641c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vinyl/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, lens, singletons }:
+
+cabal.mkDerivation (self: {
+  pname = "vinyl";
+  version = "0.4.3";
+  sha256 = "1npcpvr94l2gpk9z4y527raf2p3d6099m231vw0myci37ljnjgdf";
+  testDepends = [ doctest lens singletons ];
+  meta = {
+    description = "Extensible Records";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix
index 39cdcd8407f..f6cc8eaa4d9 100644
--- a/pkgs/development/libraries/haskell/void/default.nix
+++ b/pkgs/development/libraries/haskell/void/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hashable, semigroups }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell 98 logically uninhabited data type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vty-ui/default.nix b/pkgs/development/libraries/haskell/vty-ui/default.nix
index 3b38db8c1de..e8775c7d112 100644
--- a/pkgs/development/libraries/haskell/vty-ui/default.nix
+++ b/pkgs/development/libraries/haskell/vty-ui/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, mtl, QuickCheck, random, regexBase, stm, text
 , time, vector, vty
 }:
 
 cabal.mkDerivation (self: {
   pname = "vty-ui";
-  version = "1.6";
-  sha256 = "0chwgzzk2pl9kppd9r6h2azbqc668xpdrrk5y415yi8wcw61s0bc";
+  version = "1.7.1";
+  sha256 = "1xgv2psbqcqpzgj1f1pis6hr7yvny8y9ajimllam7zsk6kbhngzz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/vty/4.7.5.nix b/pkgs/development/libraries/haskell/vty/4.7.5.nix
new file mode 100644
index 00000000000..1eccdd58fef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vty/4.7.5.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, mtl, parallel, parsec, QuickCheck, random
+, stringQq, terminfo, utf8String, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vty";
+  version = "4.7.5";
+  sha256 = "0ahd5qjszfw1xbl5jxhzfw31mny8hp8clw9qciv15xn442prvvpr";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    deepseq mtl parallel parsec stringQq terminfo utf8String vector
+  ];
+  testDepends = [
+    Cabal deepseq mtl parallel parsec QuickCheck random terminfo
+    utf8String vector
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/coreyoconnor/vty";
+    description = "A simple terminal UI library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vty/5.1.4.nix b/pkgs/development/libraries/haskell/vty/5.1.4.nix
new file mode 100644
index 00000000000..24d123d67cc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vty/5.1.4.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, Cabal, dataDefault, deepseq, filepath
+, hashable, HUnit, lens, mtl, parallel, parsec, QuickCheck
+, quickcheckAssertions, random, smallcheck, stringQq, terminfo
+, testFramework, testFrameworkHunit, testFrameworkSmallcheck, text
+, transformers, utf8String, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vty";
+  version = "5.1.4";
+  sha256 = "157saacy6lp2ngl0dz9ri4ji1vj191d1239x1xykna8y618r0vqf";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeBuilder dataDefault deepseq filepath hashable lens mtl
+    parallel parsec terminfo text transformers utf8String vector
+  ];
+  testDepends = [
+    blazeBuilder Cabal dataDefault deepseq HUnit lens mtl QuickCheck
+    quickcheckAssertions random smallcheck stringQq terminfo
+    testFramework testFrameworkHunit testFrameworkSmallcheck text
+    utf8String vector
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/coreyoconnor/vty";
+    description = "A simple terminal UI library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix
deleted file mode 100644
index 3121399b3a9..00000000000
--- a/pkgs/development/libraries/haskell/vty/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, Cabal, deepseq, mtl, parallel, parsec, QuickCheck, random
-, stringQq, terminfo, utf8String, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "vty";
-  version = "4.7.3";
-  sha256 = "0x059mzw6v2xf92fdhy0ilyqbics2as6dqrdr6njpp0m6qykkybb";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    deepseq mtl parallel parsec stringQq terminfo utf8String vector
-  ];
-  testDepends = [
-    Cabal deepseq mtl parallel parsec QuickCheck random terminfo
-    utf8String vector
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/coreyoconnor/vty";
-    description = "A simple terminal UI library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index d88eb2df0bc..530f9828ae5 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -1,29 +1,33 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, base64Bytestring, blazeBuilder, blazeHtml, blazeMarkup
-, cereal, cryptoApi, cryptoConduit, cryptohashCryptoapi, fileEmbed
-, hspec, httpDate, httpTypes, mimeTypes, network, systemFileio
-, systemFilepath, text, time, transformers, unixCompat
-, unorderedContainers, wai, waiTest, zlib
+, byteable, cryptohash, cryptohashConduit, fileEmbed, filepath
+, hspec, httpDate, httpTypes, mimeTypes, network
+, optparseApplicative, systemFileio, systemFilepath, text, time
+, transformers, unixCompat, unorderedContainers, wai, waiExtra
+, warp, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "1.3.3";
-  sha256 = "0lsqfvlh65rggp9z6m5gyx8gv0wk3b44jrk57s8yj2bh74pbr64f";
+  version = "3.0.0";
+  sha256 = "117r2ps440i2i156k50b674fkny2ywwbbla6ry0km041604cl733";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal
-    cryptoApi cryptoConduit cryptohashCryptoapi fileEmbed httpDate
-    httpTypes mimeTypes systemFileio systemFilepath text time
-    transformers unixCompat unorderedContainers wai zlib
+    base64Bytestring blazeBuilder blazeHtml blazeMarkup byteable
+    cryptohash cryptohashConduit fileEmbed filepath httpDate httpTypes
+    mimeTypes optparseApplicative systemFileio systemFilepath text time
+    transformers unixCompat unorderedContainers wai waiExtra warp zlib
   ];
   testDepends = [
     hspec httpDate httpTypes mimeTypes network text time transformers
-    unixCompat wai waiTest zlib
+    unixCompat wai waiExtra zlib
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/web-application-interface";
     description = "WAI application for static serving";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-conduit/default.nix b/pkgs/development/libraries/haskell/wai-conduit/default.nix
new file mode 100644
index 00000000000..6174784a134
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-conduit/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, conduit, httpTypes, transformers, wai }:
+
+cabal.mkDerivation (self: {
+  pname = "wai-conduit";
+  version = "3.0.0";
+  sha256 = "0v92jyxkigq7yj3hzy7kg360036nav986ny7b558l6j7zc90jsdg";
+  buildDepends = [ blazeBuilder conduit httpTypes transformers wai ];
+  meta = {
+    homepage = "https://github.com/yesodweb/wai";
+    description = "conduit wrappers for WAI";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 9789c80e8c1..184adcc03dd 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,29 +1,31 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal, base64Bytestring, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, conduit, dataDefault
-, dateCache, fastLogger, hspec, httpTypes, HUnit, liftedBase
-, network, resourcet, stringsearch, text, time, transformers, void
-, wai, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit
+, caseInsensitive, dataDefault, dataDefaultClass, deepseq
+, fastLogger, hspec, httpTypes, HUnit, liftedBase, network
+, resourcet, streamingCommons, stringsearch, text, time
+, transformers, void, wai, waiLogger, word8, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.3.4.5";
-  sha256 = "062d7f8p2xgzn94fllgfc2bhbjv4vgp9j1adjaw9f0s1asnsdmnj";
+  version = "3.0.2";
+  sha256 = "1xynrcm8i8iyyc4dy7nsziy0g4yc6gqx0h5vs86f85i1j0mrf3xv";
   buildDepends = [
-    ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
-    caseInsensitive conduit dataDefault dateCache fastLogger httpTypes
-    liftedBase network resourcet stringsearch text time transformers
-    void wai waiLogger word8 zlibConduit
+    ansiTerminal base64Bytestring blazeBuilder caseInsensitive
+    dataDefaultClass deepseq fastLogger httpTypes liftedBase network
+    resourcet streamingCommons stringsearch text time transformers void
+    wai waiLogger word8
   ];
   testDepends = [
-    blazeBuilder conduit dataDefault fastLogger hspec httpTypes HUnit
-    text transformers wai waiTest zlib zlibBindings
+    blazeBuilder dataDefault fastLogger hspec httpTypes HUnit resourcet
+    text transformers wai zlib
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/yesodweb/wai";
     description = "Provides some basic WAI handlers and middleware";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
new file mode 100644
index 00000000000..7e457ac3014
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fcgi, wai, waiExtra }:
+
+cabal.mkDerivation (self: {
+  pname = "wai-handler-fastcgi";
+  version = "3.0.0";
+  sha256 = "1cvy95qmbrhc1yjcral7f8y2929xp623abc9xasz7j28m4wwmynh";
+  buildDepends = [ wai waiExtra ];
+  extraLibraries = [ fcgi ];
+  meta = {
+    homepage = "http://www.yesodweb.com/book/web-application-interface";
+    description = "Wai handler to fastcgi";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
index a3d02329dfd..e37df498ac8 100644
--- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
@@ -1,14 +1,15 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, conduit, httpTypes
-, transformers, wai, warp, zlibConduit
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, httpTypes, streamingCommons, transformers
+, wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-launch";
-  version = "1.3.1.4";
-  sha256 = "0ii74p2400a4w0pcswk8j57wbasi17alifs4xgwv79b235wnn317";
+  version = "3.0.0";
+  sha256 = "1dv7w151szjkg9968v870abz11a440pdzy50zwm0xl6blk392nmk";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit conduit httpTypes transformers wai
-    warp zlibConduit
+    blazeBuilder httpTypes streamingCommons transformers wai warp
   ];
   meta = {
     description = "Launch a web app in the default browser";
diff --git a/pkgs/development/libraries/haskell/wai-logger/default.nix b/pkgs/development/libraries/haskell/wai-logger/default.nix
index f6035269112..7acf82bd2fc 100644
--- a/pkgs/development/libraries/haskell/wai-logger/default.nix
+++ b/pkgs/development/libraries/haskell/wai-logger/default.nix
@@ -1,19 +1,22 @@
-{ cabal, blazeBuilder, byteorder, caseInsensitive, dateCache
-, fastLogger, httpTypes, network, wai
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, autoUpdate, blazeBuilder, byteorder, caseInsensitive
+, doctest, easyFile, fastLogger, httpTypes, network, unixTime, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-logger";
-  version = "0.3.1";
-  sha256 = "0x1d67fcfpjrgyjr7hipifqrzk13x8z8xmlj7h999r8mswijhgii";
+  version = "2.2.3";
+  sha256 = "0ljpzq3yfiz3xfglvj69jdk46lmgsg6nqncv9mhij4ih6qq0cx0w";
   buildDepends = [
-    blazeBuilder byteorder caseInsensitive dateCache fastLogger
-    httpTypes network wai
+    autoUpdate blazeBuilder byteorder caseInsensitive easyFile
+    fastLogger httpTypes network unixTime wai
   ];
+  testDepends = [ doctest ];
+  doCheck = false;
   meta = {
     description = "A logging system for WAI";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
new file mode 100644
index 00000000000..4c89a25dae8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, httpTypes, mtl, text, wai }:
+
+cabal.mkDerivation (self: {
+  pname = "wai-middleware-static";
+  version = "0.6.0";
+  sha256 = "1rsy8qkxcjqdpzqkar0smyy49p8vqapi47k8d24101lz3rym6018";
+  buildDepends = [ filepath httpTypes mtl text wai ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/scotty-web/scotty";
+    description = "WAI middleware that serves requests to static files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix
index bbc1ed1d136..8e08180b9e1 100644
--- a/pkgs/development/libraries/haskell/wai-test/default.nix
+++ b/pkgs/development/libraries/haskell/wai-test/default.nix
@@ -1,20 +1,16 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, cookie, hspec, httpTypes, HUnit, network, text
-, transformers, wai
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, wai }:
 
 cabal.mkDerivation (self: {
   pname = "wai-test";
-  version = "1.3.1.1";
-  sha256 = "0daaq8kn1c35y26y7pb00sw1jyhp84zpzk6vfy1p4vfay4ppknd2";
-  buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit cookie
-    httpTypes HUnit network text transformers wai
-  ];
-  testDepends = [ hspec wai ];
+  version = "3.0.0";
+  sha256 = "0xys01jniib0pnhadcm7s0v5z0wcxfgi0bf5ax808zm9qzvl3xfx";
+  buildDepends = [ wai ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/web-application-interface";
-    description = "Unit test framework (built on HUnit) for WAI applications";
+    description = "Unit test framework (built on HUnit) for WAI applications. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix
new file mode 100644
index 00000000000..a60a6e9dda0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, caseInsensitive, fileEmbed, httpTypes
+, ioStreams, network, text, transformers, wai, waiAppStatic, warp
+, websockets
+}:
+
+cabal.mkDerivation (self: {
+  pname = "wai-websockets";
+  version = "3.0.0.1";
+  sha256 = "01rbwyx2ks6hdaw5qw7dibidyw4bh85s2gzqy4rhmxpdcnmxxmnz";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeBuilder caseInsensitive fileEmbed httpTypes ioStreams network
+    text transformers wai waiAppStatic warp websockets
+  ];
+  meta = {
+    homepage = "http://github.com/yesodweb/wai";
+    description = "Provide a bridge betweeen WAI and the websockets package";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 425d5237a71..1c63b4ce596 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -1,19 +1,17 @@
-{ cabal, blazeBuilder, conduit, httpTypes, network, text
-, transformers, vault
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, hspec, httpTypes, network, text, vault }:
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "1.4.0.2";
-  sha256 = "0mmnl2zn3jsa5yan58kf2d7cvc343cld0l8mydb9qnq4if2kq94q";
-  buildDepends = [
-    blazeBuilder conduit httpTypes network text transformers vault
-  ];
+  version = "3.0.1.1";
+  sha256 = "04dka0mgqckzhvmz8m9gqvk5qq79g23q8wx40v42fwhkwwy7f8i0";
+  buildDepends = [ blazeBuilder httpTypes network text vault ];
+  testDepends = [ blazeBuilder hspec ];
   meta = {
     homepage = "https://github.com/yesodweb/wai";
     description = "Web Application Interface";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix
index dd1404e02fd..4eca4c8c192 100644
--- a/pkgs/development/libraries/haskell/warp-tls/default.nix
+++ b/pkgs/development/libraries/haskell/warp-tls/default.nix
@@ -1,15 +1,15 @@
-{ cabal, certificate, conduit, cprngAes, cryptocipher
-, cryptoRandomApi, network, networkConduit, pem, tls, tlsExtra
-, transformers, wai, warp
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cprngAes, dataDefaultClass, network, streamingCommons, tls
+, wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp-tls";
-  version = "1.4.1.4";
-  sha256 = "1w6i26r5xjjc594h53q07bad835ryg3k6vmbzf5d59xngfvm7b9k";
+  version = "3.0.0";
+  sha256 = "14gm43a811v9h87ia2b9y9kynafrvq3yw89gswlj832469jx9sfw";
   buildDepends = [
-    certificate conduit cprngAes cryptocipher cryptoRandomApi network
-    networkConduit pem tls tlsExtra transformers wai warp
+    cprngAes dataDefaultClass network streamingCommons tls wai warp
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index 100dbbd7024..bf53afbe8c8 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,29 +1,30 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, hashable, hspec, HTTP, httpAttoparsec, httpTypes, HUnit
-, liftedBase, network, networkConduit, QuickCheck, simpleSendfile
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, autoUpdate, blazeBuilder, caseInsensitive, doctest
+, hashable, hspec, HTTP, httpDate, httpTypes, HUnit, liftedBase
+, network, QuickCheck, simpleSendfile, streamingCommons, text, time
 , transformers, unixCompat, void, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "1.3.10.1";
-  sha256 = "1pi2x0gi4r6qy151a9gmfq223yiy53j7prj2pyn00cprr0m4mk2v";
+  version = "3.0.1.1";
+  sha256 = "1sgmcyk9ngys990287wsga3kk6wf29sj414w6jmv8a4sal202mqc";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
-    httpAttoparsec httpTypes liftedBase network networkConduit
-    simpleSendfile transformers unixCompat void wai
+    autoUpdate blazeBuilder caseInsensitive hashable httpDate httpTypes
+    network simpleSendfile streamingCommons text unixCompat void wai
   ];
   testDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
-    hspec HTTP httpAttoparsec httpTypes HUnit liftedBase network
-    networkConduit QuickCheck simpleSendfile transformers unixCompat
+    async autoUpdate blazeBuilder caseInsensitive doctest hashable
+    hspec HTTP httpDate httpTypes HUnit liftedBase network QuickCheck
+    simpleSendfile streamingCommons text time transformers unixCompat
     void wai
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/yesodweb/wai";
     description = "A fast, light-weight web server for WAI applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wcwidth/default.nix b/pkgs/development/libraries/haskell/wcwidth/default.nix
new file mode 100644
index 00000000000..7c5c703533a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wcwidth/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, setlocale, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "wcwidth";
+  version = "0.0.2";
+  sha256 = "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ attoparsec setlocale utf8String ];
+  meta = {
+    homepage = "http://github.com/solidsnack/wcwidth/";
+    description = "Native wcwidth";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
new file mode 100644
index 00000000000..bed9467a9d2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, boomerang, mtl, parsec, text, webRoutes }:
+
+cabal.mkDerivation (self: {
+  pname = "web-routes-boomerang";
+  version = "0.28.2";
+  sha256 = "17237xq8nvy0c1mxzf7pad5kw0mrgbzazy0rflp382ig9q6ipd05";
+  buildDepends = [ boomerang mtl parsec text webRoutes ];
+  meta = {
+    description = "Library for maintaining correctness and composability of URLs within an application";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
new file mode 100644
index 00000000000..12f2212c8e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, httpTypes, HUnit, mtl, parsec, QuickCheck
+, split, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, testFrameworkTh, text, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "web-routes";
+  version = "0.27.6";
+  sha256 = "16jmiwnwmq9bkifk14dfs88a2kyy7rqybyq68ybrjq1x84x6pkkp";
+  buildDepends = [
+    blazeBuilder httpTypes mtl parsec split text utf8String
+  ];
+  testDepends = [
+    HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  meta = {
+    description = "Library for maintaining correctness and composability of URLs within an application";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/webdriver/default.nix b/pkgs/development/libraries/haskell/webdriver/default.nix
new file mode 100644
index 00000000000..d3a041d9a8d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/webdriver/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, base64Bytestring, cond, dataDefault
+, directoryTree, exceptions, filepath, httpClient, httpTypes
+, liftedBase, monadControl, mtl, network, parallel, scientific
+, temporary, text, time, transformers, transformersBase
+, unorderedContainers, vector, zipArchive
+}:
+
+cabal.mkDerivation (self: {
+  pname = "webdriver";
+  version = "0.6.0.1";
+  sha256 = "0qpk1i6qr12lcx25bdljwqxgdhf5qk67h04bp6vwmm16dwzsyqd1";
+  buildDepends = [
+    aeson attoparsec base64Bytestring cond dataDefault directoryTree
+    exceptions filepath httpClient httpTypes liftedBase monadControl
+    mtl network scientific temporary text time transformers
+    transformersBase unorderedContainers vector zipArchive
+  ];
+  testDepends = [ parallel text ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/kallisti-dev/hs-webdriver";
+    description = "a Haskell client for the Selenium WebDriver protocol";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/webkit/default.nix b/pkgs/development/libraries/haskell/webkit/default.nix
new file mode 100644
index 00000000000..0d47aeb7955
--- /dev/null
+++ b/pkgs/development/libraries/haskell/webkit/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, glib, gtk, gtk2hsBuildtools, mtl, pango, text
+, webkit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "webkit";
+  version = "0.13.0.0";
+  sha256 = "152rbb01fq9cxjxqm26s1qcv3nashzymkbjy52ql06y7s1n5i3q5";
+  buildDepends = [ cairo glib gtk mtl pango text ];
+  buildTools = [ gtk2hsBuildtools ];
+  pkgconfigDepends = [ webkit ];
+  meta = {
+    homepage = "http://projects.haskell.org/gtk2hs/";
+    description = "Binding to the Webkit library";
+    license = self.stdenv.lib.licenses.lgpl21;
+    platforms = self.stdenv.lib.platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/websockets-snap/default.nix b/pkgs/development/libraries/haskell/websockets-snap/default.nix
new file mode 100644
index 00000000000..bd68d64b757
--- /dev/null
+++ b/pkgs/development/libraries/haskell/websockets-snap/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, enumerator, ioStreams, mtl, snapCore
+, snapServer, websockets
+}:
+
+cabal.mkDerivation (self: {
+  pname = "websockets-snap";
+  version = "0.8.2.2";
+  sha256 = "1r5y5czpxrc06i7w3y3fa4dlqmxdypcc8yplg28cv4k3mkfa1hf4";
+  buildDepends = [
+    blazeBuilder enumerator ioStreams mtl snapCore snapServer
+    websockets
+  ];
+  meta = {
+    description = "Snap integration for the websockets library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix
new file mode 100644
index 00000000000..c74fad5f1a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/websockets/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, base64Bytestring, binary, blazeBuilder
+, caseInsensitive, entropy, HUnit, ioStreams, mtl, network
+, QuickCheck, random, SHA, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "websockets";
+  version = "0.8.2.6";
+  sha256 = "074d0wkxy2qyi8w9cjgbalqi8b21wf5ak71lcnh94iw76dfxbizf";
+  buildDepends = [
+    attoparsec base64Bytestring binary blazeBuilder caseInsensitive
+    entropy ioStreams mtl network random SHA text
+  ];
+  testDepends = [
+    attoparsec base64Bytestring binary blazeBuilder caseInsensitive
+    entropy HUnit ioStreams mtl network QuickCheck random SHA
+    testFramework testFrameworkHunit testFrameworkQuickcheck2 text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://jaspervdj.be/websockets";
+    description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wizards/default.nix b/pkgs/development/libraries/haskell/wizards/default.nix
new file mode 100644
index 00000000000..ce1dd579697
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wizards/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, controlMonadFree, haskeline, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "wizards";
+  version = "1.0.1";
+  sha256 = "08dn24injfzvhs34yw39y336pyi6p98bdrafx3lhd6lcbp531sca";
+  buildDepends = [ controlMonadFree haskeline mtl transformers ];
+  meta = {
+    description = "High level, generic library for interrogative user interfaces";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix b/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
index 77670b4f117..ac8d69ebd3f 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
@@ -1,10 +1,15 @@
-{ cabal, nats, semigroupoids, semigroups, text, utf8String }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, nats, semigroupoids, semigroups, testFramework
+, testFrameworkHunit, text, utf8String
+}:
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-extras";
-  version = "3.4";
-  sha256 = "17vxyckx2pj4sc2d1yw1rcsxn1rp4nzdjp0hgpy78xsp9plccgsy";
+  version = "3.5";
+  sha256 = "172xp23j3w8jbd7h0sna9g8p4d6xwy8154gqj93ycz2907r2kwb7";
   buildDepends = [ nats semigroupoids semigroups text utf8String ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
   meta = {
     homepage = "http://github.com/ekmett/wl-pprint-extras/";
     description = "A free monad based on the Wadler/Leijen pretty printer";
diff --git a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
index d2bd35eebd4..5a3c75f6165 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
@@ -1,14 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, nats, semigroups, terminfo, text, transformers
 , wlPprintExtras
 }:
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-terminfo";
-  version = "3.6";
-  sha256 = "14dq0inv6i8pwjzrpys420iwi6002mard1n73z96k89zq5xhwlbg";
+  version = "3.7.1";
+  sha256 = "04220hgrjjsz0ir65s6ynrjgdmqlfcw49fb158w7wgxxh69kc7h6";
   buildDepends = [
     nats semigroups terminfo text transformers wlPprintExtras
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/wl-pprint-terminfo/";
     description = "A color pretty printer with terminfo support";
diff --git a/pkgs/development/libraries/haskell/wl-pprint-text/default.nix b/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
index 083f269255a..2d6d48d41ae 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-text";
-  version = "1.1.0.0";
-  sha256 = "18xgsrxg20sk18m9dwds6161vl4hgdp052qbb0cg9jqy50vhddis";
+  version = "1.1.0.2";
+  sha256 = "0wbfqp38as2qpn66sq4hvl3hzvj66v301cz9rmgnx2i62r0a3s81";
   buildDepends = [ text ];
   meta = {
     description = "A Wadler/Leijen Pretty Printer for Text values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wl-pprint/default.nix b/pkgs/development/libraries/haskell/wl-pprint/default.nix
index 9849d4fab0e..a0ee669395d 100644
--- a/pkgs/development/libraries/haskell/wl-pprint/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/word8/default.nix b/pkgs/development/libraries/haskell/word8/default.nix
index 535f4103d12..ad6b5915383 100644
--- a/pkgs/development/libraries/haskell/word8/default.nix
+++ b/pkgs/development/libraries/haskell/word8/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec }:
 
 cabal.mkDerivation (self: {
   pname = "word8";
-  version = "0.0.4";
-  sha256 = "1jrys2crl1yfkgwc4ny6x1kr24kx8j3zsy0zql5ms19rfb0rnkki";
+  version = "0.1.1";
+  sha256 = "1xpa0haacimrblxg3x3n5vdcnkg3ff5zqamppdarv0zvkcdj139r";
   testDepends = [ hspec ];
   meta = {
     description = "Word8 library";
diff --git a/pkgs/development/libraries/haskell/wreq/default.nix b/pkgs/development/libraries/haskell/wreq/default.nix
new file mode 100644
index 00000000000..9772418173b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wreq/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, doctest, exceptions, filepath
+, httpClient, httpClientTls, httpTypes, HUnit, lens, mimeTypes
+, temporary, testFramework, testFrameworkHunit, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "wreq";
+  version = "0.1.0.1";
+  sha256 = "05w3b555arsab8a5w73nm9pk3p9r6jipi6cd3ngxv48gdn9wzhvz";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsec exceptions httpClient httpClientTls httpTypes lens
+    mimeTypes text time
+  ];
+  testDepends = [
+    aeson doctest filepath httpClient httpTypes HUnit lens temporary
+    testFramework testFrameworkHunit text
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.serpentine.com/wreq";
+    description = "An easy-to-use HTTP client library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch b/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch
deleted file mode 100644
index 38551d24d43..00000000000
--- a/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ubr wxc-0.90.0.4-orig/src/cpp/eljpen.cpp wxc-0.90.0.4/src/cpp/eljpen.cpp
---- wxc-0.90.0.4-orig/src/cpp/eljpen.cpp	2012-07-03 12:12:17.000000000 +0200
-+++ wxc-0.90.0.4/src/cpp/eljpen.cpp	2013-01-07 12:09:50.296417007 +0100
-@@ -156,7 +156,7 @@
- EWXWEXPORT(void,wxPen_GetStipple)(void* self,wxBitmap* _ref)

- {

- #if defined(__WXGTK__)

--    *_ref = NULL;

-+    _ref = NULL;

- #else

-     *_ref = *(((wxPen*)self)->GetStipple());

- #endif

-Only in wxc-0.90.0.4/src/cpp: eljpen.cpp.orig
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wx.nix b/pkgs/development/libraries/haskell/wxHaskell/wx.nix
index dc030f68059..c10897b4b11 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wx.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wx.nix
@@ -1,10 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, stm, wxcore }:
 
 cabal.mkDerivation (self: {
   pname = "wx";
-  version = "0.90.0.1";
-  sha256 = "116vlpssjcyzil99xmz3azc2vl97iban3gdpxd593q5gi24l838m";
+  version = "0.90.1.0";
+  sha256 = "1669mrd73c3v7c4yc0zgyqsnfgzb7561v1wd168y06d0db1nlkn9";
   buildDepends = [ stm wxcore ];
+  preConfigure = "find . -type f -exec touch {} +";
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell";
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
index b89b39acb50..4026a892f6e 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libX11, mesa, wxdirect, wxGTK }:
 
 cabal.mkDerivation (self: {
   pname = "wxc";
-  version = "0.90.0.4";
-  sha256 = "1bh20i1rb8ng0ni1v98nm8qv5wni19dvxwf5i3ijxhrxqdq4i7p6";
+  version = "0.90.1.1";
+  sha256 = "0cvfphskvsq3lsl24h6jh8r6yw5jg8qa9wdc883yasfvmzmxwwgc";
   buildDepends = [ wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
+  noHaddock = true;
   postInstall = ''
     cp -v dist/build/libwxc.so.${self.version} $out/lib/libwxc.so
   '';
-  patches = [ ./fix-bogus-pointer-assignment.patch ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell C++ wrapper";
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
index 5dde5e8fc3f..8fc4df1a0ce 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
@@ -1,15 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, libX11, mesa, parsec, stm, time, wxc, wxdirect
 , wxGTK
 }:
 
 cabal.mkDerivation (self: {
   pname = "wxcore";
-  version = "0.90.0.3";
-  sha256 = "0d79hr6cz9zj3w57h6630nfnsmfq1w73gz04jjmlhwh8ih557imw";
+  version = "0.90.1.1";
+  sha256 = "1ma6vjf87b493vz3sj6hxzifqixk62n6b5gvixpfzfig1lysddgp";
   buildDepends = [ filepath parsec stm time wxc wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
   patchPhase = ''
-    sed -i -e 's|containers >=.*|containers|' wxcore.cabal
+    sed -i -e 's|array >= .*,|array,|' wxcore.cabal
   '';
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
index 08512c20625..f89d39ca5ed 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
@@ -1,20 +1,19 @@
-{ cabal, parsec, strict, time }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, parsec, strict, time }:
 
 cabal.mkDerivation (self: {
   pname = "wxdirect";
-  version = "0.90.0.1";
-  sha256 = "04jslgxw601g6wh8f2wrdnipzh6x0487kfxb89fkgfgjhxrkfyr3";
+  version = "0.90.1.1";
+  sha256 = "0ibhxl4n66w094jhca01z2vmibgz0nn7qddgxzqngvajzjvnha98";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ parsec strict time ];
-  patchPhase = ''
-    sed -i -e 's|containers >=.*|containers|' wxdirect.cabal
-  '';
+  buildDepends = [ filepath parsec strict time ];
+  jailbreak = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "helper tool for building wxHaskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/x509-store/default.nix b/pkgs/development/libraries/haskell/x509-store/default.nix
new file mode 100644
index 00000000000..9b060630edb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/x509-store/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Encoding, asn1Types, cryptoPubkeyTypes, filepath, mtl
+, pem, time, x509
+}:
+
+cabal.mkDerivation (self: {
+  pname = "x509-store";
+  version = "1.4.4";
+  sha256 = "0i3hfrddr0wpfl75a76a1j24az08z4x7ya8l5qcdk7c1lr2c2bw8";
+  buildDepends = [
+    asn1Encoding asn1Types cryptoPubkeyTypes filepath mtl pem time x509
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-certificate";
+    description = "X.509 collection accessing and storing methods";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/x509-system/default.nix b/pkgs/development/libraries/haskell/x509-system/default.nix
new file mode 100644
index 00000000000..b36b8c9cdfb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/x509-system/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, mtl, pem, time, x509, x509Store }:
+
+cabal.mkDerivation (self: {
+  pname = "x509-system";
+  version = "1.4.5";
+  sha256 = "0pwn624n6fagg9rw2p09x2k212rc8167jhqz6z5wf6m7y56ql28x";
+  buildDepends = [ filepath mtl pem time x509 x509Store ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-certificate";
+    description = "Handle per-operating-system X.509 accessors and storage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/x509-validation/default.nix b/pkgs/development/libraries/haskell/x509-validation/default.nix
new file mode 100644
index 00000000000..32176c8f4b8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/x509-validation/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Encoding, asn1Types, byteable, cryptohash
+, cryptoPubkey, cryptoPubkeyTypes, dataDefaultClass, filepath, mtl
+, network, pem, time, x509, x509Store
+}:
+
+cabal.mkDerivation (self: {
+  pname = "x509-validation";
+  version = "1.5.0";
+  sha256 = "1xarn00ipi77whly5yjlpqa0xd25lj0jf4xk8ylp4ba58hvcxqrn";
+  buildDepends = [
+    asn1Encoding asn1Types byteable cryptohash cryptoPubkey
+    cryptoPubkeyTypes dataDefaultClass filepath mtl network pem time
+    x509 x509Store
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-certificate";
+    description = "X.509 Certificate and CRL validation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix
new file mode 100644
index 00000000000..4c8eb53c995
--- /dev/null
+++ b/pkgs/development/libraries/haskell/x509/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Encoding, asn1Parse, asn1Types, cryptohash
+, cryptoPubkeyTypes, filepath, HUnit, mtl, pem, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "x509";
+  version = "1.4.11";
+  sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga";
+  buildDepends = [
+    asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes
+    filepath mtl pem time
+  ];
+  testDepends = [
+    asn1Types cryptoPubkeyTypes HUnit mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 time
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-certificate";
+    description = "X509 reader and writer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xdg-basedir/default.nix b/pkgs/development/libraries/haskell/xdg-basedir/default.nix
index 3a12faf07c9..bc92d97b1ca 100644
--- a/pkgs/development/libraries/haskell/xdg-basedir/default.nix
+++ b/pkgs/development/libraries/haskell/xdg-basedir/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix
index f7a2b731d03..445577c2309 100644
--- a/pkgs/development/libraries/haskell/xdot/default.nix
+++ b/pkgs/development/libraries/haskell/xdot/default.nix
@@ -1,14 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, cairo, graphviz, gtk, mtl, polyparse, text }:
 
 cabal.mkDerivation (self: {
   pname = "xdot";
-  version = "0.2.4";
-  sha256 = "0723drp9zs3hrayld99j4fniyvm65fz19hkk4001vpvgjw27dfja";
+  version = "0.2.4.3";
+  sha256 = "0p6y3ng8nwi8sksy0881bs331asi73x816zd5v7qlg4v719s8jxg";
   buildDepends = [ cairo graphviz gtk mtl polyparse text ];
+  jailbreak = true;
   meta = {
     description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
index 605339d0811..3cb0238b82f 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -8,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
index 3a72cb8fba0..74b9fc5620c 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
index 05e13b4a7b3..065252d31b7 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
index 66196c806ac..be1e32afbe3 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xlsx/default.nix b/pkgs/development/libraries/haskell/xlsx/default.nix
new file mode 100644
index 00000000000..779814c05dd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xlsx/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, dataDefault, digest, HUnit, lens, smallcheck
+, tasty, tastyHunit, tastySmallcheck, text, time, transformers
+, utf8String, xmlConduit, xmlTypes, zipArchive, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "xlsx";
+  version = "0.1.0.2";
+  sha256 = "0m9ph34mpnc6vj1d3x80y0gaya5bqdhfa193jn0a8clw4qz88sbr";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    conduit dataDefault digest lens text time transformers utf8String
+    xmlConduit xmlTypes zipArchive zlib
+  ];
+  testDepends = [
+    HUnit smallcheck tasty tastyHunit tastySmallcheck time
+  ];
+  meta = {
+    homepage = "https://github.com/qrilka/xlsx";
+    description = "Simple and incomplete Excel file parser/writer";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xml-conduit-writer/default.nix b/pkgs/development/libraries/haskell/xml-conduit-writer/default.nix
new file mode 100644
index 00000000000..fc0efcff226
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xml-conduit-writer/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dlist, mtl, text, xmlConduit, xmlTypes }:
+
+cabal.mkDerivation (self: {
+  pname = "xml-conduit-writer";
+  version = "0.1.1.1";
+  sha256 = "1ibiqxjr63gb3v0h9fdfzm205sqjixb5vm5y6413yn4scbf7qm2b";
+  buildDepends = [ dlist mtl text xmlConduit xmlTypes ];
+  testDepends = [ text ];
+  meta = {
+    homepage = "https://bitbucket.org/dpwiz/xml-conduit-writer";
+    description = "Warm and fuzzy creation of XML documents";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 4e965c2ebaa..3df8c163d63 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -1,26 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, attoparsecConduit, blazeBuilder
-, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit, dataDefault
-, deepseq, failure, hspec, HUnit, monadControl, resourcet
-, systemFilepath, text, transformers, xmlTypes
+, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit
+, conduitExtra, dataDefault, deepseq, hspec, HUnit, monadControl
+, resourcet, systemFilepath, text, transformers, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.1.0.7";
-  sha256 = "04yg2mif9s3hsm5c18mf6rmw22j8prs8a1272fz25vzxzljfs2r9";
+  version = "1.2.1";
+  sha256 = "1bh0d2fqcdbx2dq5ybipf7ws59blrb8yd98z1rnbvv1fj9r0xw10";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
-    blazeHtml blazeMarkup conduit dataDefault deepseq failure
+    blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq
     monadControl resourcet systemFilepath text transformers xmlTypes
   ];
   testDepends = [
-    blazeMarkup conduit hspec HUnit text transformers xmlTypes
+    blazeMarkup conduit hspec HUnit resourcet text transformers
+    xmlTypes
   ];
   meta = {
     homepage = "http://github.com/snoyberg/xml";
     description = "Pure-Haskell utilities for dealing with XML with the conduit package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml-hamlet/default.nix b/pkgs/development/libraries/haskell/xml-hamlet/default.nix
index e2719984708..e1c0c862078 100644
--- a/pkgs/development/libraries/haskell/xml-hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/xml-hamlet/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, HUnit, parsec, shakespeare, text, xmlConduit }:
 
 cabal.mkDerivation (self: {
   pname = "xml-hamlet";
-  version = "0.4.0.5";
-  sha256 = "1w1ixjdbpbny332j24d5yjxc4i7cg83jc4yjdm6yl94y1sr90yc5";
+  version = "0.4.0.9";
+  sha256 = "0vm4jhvjf53a33sisnhghg0m9pcv2fx676rl90vbm2xcd9rqlj82";
   buildDepends = [ parsec shakespeare text xmlConduit ];
   testDepends = [ hspec HUnit parsec shakespeare text xmlConduit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix
new file mode 100644
index 00000000000..3dded2dcb44
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, hspec, hspecExpectationsLens, htmlConduit, lens
+, text, xmlConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "xml-html-conduit-lens";
+  version = "0.3.2.0";
+  sha256 = "150b772wkl2k8xcrcbqj3qhndjkl35qzwqdjbgs9mxp867aihiv0";
+  buildDepends = [ htmlConduit lens text xmlConduit ];
+  testDepends = [
+    doctest hspec hspecExpectationsLens lens xmlConduit
+  ];
+  meta = {
+    homepage = "https://github.com/supki/xml-html-conduit-lens#readme";
+    description = "Optics for xml-conduit and html-conduit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xml-lens/default.nix b/pkgs/development/libraries/haskell/xml-lens/default.nix
new file mode 100644
index 00000000000..fd9609ec25f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xml-lens/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lens, text, xmlConduit }:
+
+cabal.mkDerivation (self: {
+  pname = "xml-lens";
+  version = "0.1.6.1";
+  sha256 = "093grvlpm19l3g10ka82xpzl2wr0gli71kfkbvk4gvg3194fkw4h";
+  buildDepends = [ lens text xmlConduit ];
+  meta = {
+    homepage = "https://github.com/fumieval/xml-lens";
+    description = "Lenses, traversals, prisms for xml-conduit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix
index 94a7d3f7dff..a673fa2eddd 100644
--- a/pkgs/development/libraries/haskell/xml-types/default.nix
+++ b/pkgs/development/libraries/haskell/xml-types/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, deepseq, text }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Basic types for representing XML";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml/default.nix b/pkgs/development/libraries/haskell/xml/default.nix
index 072e5d8bc1c..9066dc8b553 100644
--- a/pkgs/development/libraries/haskell/xml/default.nix
+++ b/pkgs/development/libraries/haskell/xml/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, text }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A simple XML library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xmlgen/default.nix b/pkgs/development/libraries/haskell/xmlgen/default.nix
index f45b7b4a6a0..9f4b08d5bbc 100644
--- a/pkgs/development/libraries/haskell/xmlgen/default.nix
+++ b/pkgs/development/libraries/haskell/xmlgen/default.nix
@@ -1,12 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, filepath, HUnit, hxt, mtl, QuickCheck, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmlgen";
-  version = "0.6.2.0";
-  sha256 = "0b6fyg6mlm068f2jjmil52az4hk144pryf1c0wr1gx6ddx9yzjy4";
+  version = "0.6.2.1";
+  sha256 = "1rmsg9wxs0bsj0xpagxrm3fmlqd63b0dfyc21rx9jj76g9za29wh";
   buildDepends = [ blazeBuilder mtl text ];
   testDepends = [ filepath HUnit hxt QuickCheck text ];
+  doCheck = false;
   meta = {
     description = "Fast XML generation library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/xmlhtml/default.nix b/pkgs/development/libraries/haskell/xmlhtml/default.nix
index 80f092ce2fd..794808eed0d 100644
--- a/pkgs/development/libraries/haskell/xmlhtml/default.nix
+++ b/pkgs/development/libraries/haskell/xmlhtml/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, blazeBuilder, blazeHtml, blazeMarkup, parsec, text
 , unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmlhtml";
-  version = "0.2.3";
-  sha256 = "0yg56rj8ylnaawqx3h54g0dlayql87h40anbp7lccnl70pzbk6c7";
+  version = "0.2.3.2";
+  sha256 = "1djw9d0hff9ii0n1bgbjjsca9n0w7mxj3ivf9dslyr3kv3yb4013";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup parsec text unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/xorshift/default.nix b/pkgs/development/libraries/haskell/xorshift/default.nix
new file mode 100644
index 00000000000..7fe91aad0e7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xorshift/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, time }:
+
+cabal.mkDerivation (self: {
+  pname = "xorshift";
+  version = "2.0.1";
+  sha256 = "1pgkcnsgir8ci3hm3s5w3lk5dy7219242g9njx9cxb1m1cz5v5rf";
+  buildDepends = [ random time ];
+  meta = {
+    description = "Haskell implementation of the xorshift random generator";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xournal-parser/default.nix b/pkgs/development/libraries/haskell/xournal-parser/default.nix
new file mode 100644
index 00000000000..906db96ba5c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xournal-parser/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, attoparsecConduit, conduit, conduitExtra
+, exceptions, lens, mtl, strict, text, transformers, xmlConduit
+, xmlTypes, xournalTypes, zlibConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "xournal-parser";
+  version = "0.5.0.3";
+  sha256 = "1r99xv7w2gxms1ff5qpj36dcb3gb5lpccr1mjjdnkcij81i748ly";
+  buildDepends = [
+    attoparsec attoparsecConduit conduit conduitExtra exceptions lens
+    mtl strict text transformers xmlConduit xmlTypes xournalTypes
+    zlibConduit
+  ];
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Xournal file parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xournal-types/default.nix b/pkgs/development/libraries/haskell/xournal-types/default.nix
new file mode 100644
index 00000000000..9f0be91114a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xournal-types/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, lens, strict, TypeCompose }:
+
+cabal.mkDerivation (self: {
+  pname = "xournal-types";
+  version = "0.5.0.2";
+  sha256 = "1z1zxgwnd2bpgmiimil2jnz4xdcvvi59y2qdvqgy42b10db8rvkm";
+  buildDepends = [ cereal lens strict TypeCompose ];
+  jailbreak = true;
+  meta = {
+    description = "Data types for programs for xournal file format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
index d75f68818ef..4b1edfb5e8b 100644
--- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix
+++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
@@ -1,22 +1,23 @@
-{ cabal, attoparsec, cssText, hspec, HUnit, network, tagsoup, text
-, utf8String
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, cssText, hspec, HUnit, networkUri, tagsoup
+, text, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "xss-sanitize";
-  version = "0.3.4";
-  sha256 = "0xal75mk90a2hj70ipgcj95n6yw8hiki1r1vzad918aq2ihjqa53";
+  version = "0.3.5.4";
+  sha256 = "1h9dj234sj216g676la0h73nwm0fw4snik31qi0s754vyy6bcygf";
   buildDepends = [
-    attoparsec cssText network tagsoup text utf8String
+    attoparsec cssText networkUri tagsoup text utf8String
   ];
   testDepends = [
-    attoparsec cssText hspec HUnit network tagsoup text utf8String
+    attoparsec cssText hspec HUnit networkUri tagsoup text utf8String
   ];
   meta = {
     homepage = "http://github.com/yesodweb/haskell-xss-sanitize";
     description = "sanitize untrusted HTML to prevent XSS attacks";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xtest/default.nix b/pkgs/development/libraries/haskell/xtest/default.nix
index d9ce47647ca..dd381439d67 100644
--- a/pkgs/development/libraries/haskell/xtest/default.nix
+++ b/pkgs/development/libraries/haskell/xtest/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, libXtst, X11 }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/libraries/haskell/yaml-light/default.nix b/pkgs/development/libraries/haskell/yaml-light/default.nix
new file mode 100644
index 00000000000..460e2833d99
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yaml-light/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HsSyck }:
+
+cabal.mkDerivation (self: {
+  pname = "yaml-light";
+  version = "0.1.4";
+  sha256 = "05pxkqp91l275n48p1aqijzh34vvzi7cx2nls879b95fz2dr8lhk";
+  buildDepends = [ HsSyck ];
+  meta = {
+    description = "A light-weight wrapper with utility functions around HsSyck";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 8d06099b77e..b5438fabc12 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -1,26 +1,27 @@
-{ cabal, aeson, attoparsec, conduit, hspec, HUnit, resourcet, text
-, transformers, unorderedContainers, vector
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, conduit, hspec, HUnit, resourcet
+, scientific, text, transformers, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.5.1";
-  sha256 = "0vbampykc5a027q5fh5w6i1bxblyxx7s3nzhpzaa4c1yz8nz3k57";
+  version = "0.8.8.4";
+  sha256 = "1mh5xv66cqvk0r5n6pwcm11m9489y40l69ca417yvymkksmncc7b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson attoparsec conduit resourcet text transformers
+    aeson attoparsec conduit resourcet scientific text transformers
     unorderedContainers vector
   ];
   testDepends = [
-    aeson conduit hspec HUnit text transformers unorderedContainers
-    vector
+    aeson conduit hspec HUnit resourcet text transformers
+    unorderedContainers vector
   ];
   meta = {
     homepage = "http://github.com/snoyberg/yaml/";
     description = "Support for parsing and rendering YAML documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yap/default.nix b/pkgs/development/libraries/haskell/yap/default.nix
index ab162988c95..a52a921ed64 100644
--- a/pkgs/development/libraries/haskell/yap/default.nix
+++ b/pkgs/development/libraries/haskell/yap/default.nix
@@ -1,13 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "yap";
   version = "0.2";
   sha256 = "14lq549jhgnf51pgy1jv31ik8qx71yl7d53w8dpq1f9mlsn1g16i";
+  jailbreak = true;
   meta = {
     description = "yet another prelude - a simplistic refactoring with algebraic classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index bdc29993919..1224e105c3f 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -1,20 +1,26 @@
-{ cabal, aeson, authenticate, blazeHtml, blazeMarkup, dataDefault
-, emailValidate, fileEmbed, hamlet, httpConduit, httpTypes
-, liftedBase, mimeMail, network, persistent, persistentTemplate
-, pureMD5, pwstoreFast, random, resourcet, safe, SHA
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsecConduit, authenticate, base16Bytestring
+, base64Bytestring, binary, blazeBuilder, blazeHtml, blazeMarkup
+, byteable, conduit, conduitExtra, cryptohash, dataDefault
+, emailValidate, fileEmbed, hamlet, httpClient, httpConduit
+, httpTypes, liftedBase, mimeMail, networkUri, persistent
+, persistentTemplate, random, resourcet, safe, shakespeare
 , shakespeareCss, shakespeareJs, text, time, transformers
 , unorderedContainers, wai, yesodCore, yesodForm, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.2.3";
-  sha256 = "1hnppb36acr18prra702r9hdbs803zfvaj8krq4idlvwb6g7l0d8";
+  version = "1.3.4.2";
+  sha256 = "0hf5x1qhpxil3na7f1vdjr5i5n7q41a23ikkra9avg3yss94k04d";
   buildDepends = [
-    aeson authenticate blazeHtml blazeMarkup dataDefault emailValidate
-    fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network
-    persistent persistentTemplate pureMD5 pwstoreFast random resourcet
-    safe SHA shakespeareCss shakespeareJs text time transformers
+    aeson attoparsecConduit authenticate base16Bytestring
+    base64Bytestring binary blazeBuilder blazeHtml blazeMarkup byteable
+    conduit conduitExtra cryptohash dataDefault emailValidate fileEmbed
+    hamlet httpClient httpConduit httpTypes liftedBase mimeMail
+    networkUri persistent persistentTemplate random resourcet safe
+    shakespeare shakespeareCss shakespeareJs text time transformers
     unorderedContainers wai yesodCore yesodForm yesodPersistent
   ];
   meta = {
@@ -22,6 +28,5 @@ cabal.mkDerivation (self: {
     description = "Authentication for Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index a86417f6b39..27a1c1522ef 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -1,26 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, base64Bytestring, blazeBuilder, Cabal, conduit
-, fileEmbed, filepath, fsnotify, ghcPaths, httpConduit
-, httpReverseProxy, httpTypes, liftedBase, network, networkConduit
-, optparseApplicative, parsec, projectTemplate, resourcet
-, shakespeare, shakespeareCss, shakespeareJs, shakespeareText
-, split, systemFileio, systemFilepath, tar, text, time
-, transformers, unixCompat, unorderedContainers, wai, warp, yaml
-, zlib
+, conduitExtra, dataDefaultClass, fileEmbed, filepath, fsnotify
+, ghcPaths, httpConduit, httpReverseProxy, httpTypes, liftedBase
+, network, networkConduit, optparseApplicative, parsec
+, projectTemplate, resourcet, shakespeare, shakespeareCss
+, shakespeareJs, shakespeareText, split, streamingCommons
+, systemFileio, systemFilepath, tar, text, time, transformers
+, unixCompat, unorderedContainers, wai, waiExtra, warp, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.3.4";
-  sha256 = "0xwav5ghik0vzg706rcqlzk64gnvr4nn4iikx1bzymzz2p5zyg0z";
+  version = "1.2.12.4";
+  sha256 = "1pg1zxixgsqz5da2dhs94zi77h63jz3llf0049fgdfg166c685vj";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    attoparsec base64Bytestring blazeBuilder Cabal conduit fileEmbed
-    filepath fsnotify ghcPaths httpConduit httpReverseProxy httpTypes
-    liftedBase network networkConduit optparseApplicative parsec
-    projectTemplate resourcet shakespeare shakespeareCss shakespeareJs
-    shakespeareText split systemFileio systemFilepath tar text time
-    transformers unixCompat unorderedContainers wai warp yaml zlib
+    attoparsec base64Bytestring blazeBuilder Cabal conduit conduitExtra
+    dataDefaultClass fileEmbed filepath fsnotify ghcPaths httpConduit
+    httpReverseProxy httpTypes liftedBase network networkConduit
+    optparseApplicative parsec projectTemplate resourcet shakespeare
+    shakespeareCss shakespeareJs shakespeareText split streamingCommons
+    systemFileio systemFilepath tar text time transformers unixCompat
+    unorderedContainers wai waiExtra warp yaml zlib
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 0bd73c2ade4..90d354a22cf 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -1,29 +1,34 @@
-{ cabal, aeson, attoparsecConduit, blazeBuilder, blazeHtml
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml
 , blazeMarkup, caseInsensitive, cereal, clientsession, conduit
-, cookie, dataDefault, failure, fastLogger, hamlet, hspec
-, httpTypes, HUnit, liftedBase, monadControl, monadLogger, parsec
+, conduitExtra, cookie, dataDefault, deepseq, exceptions
+, fastLogger, hamlet, hspec, httpTypes, HUnit, liftedBase
+, monadControl, monadLogger, mtl, network, networkConduit, parsec
 , pathPieces, QuickCheck, random, resourcet, safe, shakespeare
-, shakespeareCss, shakespeareI18n, shakespeareJs, text, time
-, transformers, transformersBase, vector, wai, waiExtra, waiTest
-, warp, yesodRoutes
+, shakespeareCss, shakespeareI18n, shakespeareJs, streamingCommons
+, text, time, transformers, transformersBase, unixCompat, vector
+, wai, waiExtra, waiLogger, waiTest, warp, yesodRoutes
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.4.5";
-  sha256 = "091f89bwjsf2qimivbz74rykjjgzghfvs66sv9cz305pgw6kpjc7";
+  version = "1.2.19";
+  sha256 = "0dlvg8zpr1qyav3svqybsqsrmrl9n8s1kdzxf6zxa3pn582d48il";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
-    caseInsensitive cereal clientsession conduit cookie dataDefault
-    failure fastLogger hamlet httpTypes liftedBase monadControl
-    monadLogger parsec pathPieces random resourcet safe shakespeare
-    shakespeareCss shakespeareI18n shakespeareJs text time transformers
-    transformersBase vector wai waiExtra warp yesodRoutes
+    caseInsensitive cereal clientsession conduit conduitExtra cookie
+    dataDefault deepseq exceptions fastLogger hamlet httpTypes
+    liftedBase monadControl monadLogger mtl parsec pathPieces random
+    resourcet safe shakespeare shakespeareCss shakespeareI18n
+    shakespeareJs text time transformers transformersBase unixCompat
+    vector wai waiExtra waiLogger warp yesodRoutes
   ];
   testDepends = [
-    blazeBuilder conduit hamlet hspec httpTypes HUnit liftedBase
-    QuickCheck random resourcet shakespeareCss shakespeareJs text
-    transformers wai waiTest
+    async blazeBuilder conduit conduitExtra hamlet hspec httpTypes
+    HUnit liftedBase network networkConduit QuickCheck random resourcet
+    shakespeare shakespeareCss shakespeareJs streamingCommons text
+    transformers wai waiExtra waiTest
   ];
   jailbreak = true;
   meta = {
@@ -31,6 +36,5 @@ cabal.mkDerivation (self: {
     description = "Creation of type-safe, RESTful web applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-default/default.nix b/pkgs/development/libraries/haskell/yesod-default/default.nix
index 58ea0b10a22..6a65dfefe21 100644
--- a/pkgs/development/libraries/haskell/yesod-default/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-default/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, yesodCore }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Default config and main functions for your yesod application (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 5c0220f1f2a..57f456823c2 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -1,18 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
-, cryptoApi, dataDefault, emailValidate, hamlet, hspec, network
-, persistent, resourcet, shakespeareCss, shakespeareJs, text, time
-, transformers, wai, xssSanitize, yesodCore, yesodPersistent
+, byteable, dataDefault, emailValidate, hamlet, hspec, networkUri
+, persistent, resourcet, shakespeare, shakespeareCss, shakespeareJs
+, text, time, transformers, wai, xssSanitize, yesodCore
+, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.3";
-  sha256 = "1maf8yczijx8rdjy4abr2jq1ds4g61jg3zbqxjzaaxsbs77gna4a";
+  version = "1.3.15.2";
+  sha256 = "05r7w65n63qrlvxlm2j4s0vin4p7gc4cqa8j83465mnl1dzxliy1";
   buildDepends = [
-    aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi
-    dataDefault emailValidate hamlet network persistent resourcet
-    shakespeareCss shakespeareJs text time transformers wai xssSanitize
-    yesodCore yesodPersistent
+    aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
+    dataDefault emailValidate hamlet networkUri persistent resourcet
+    shakespeare shakespeareCss shakespeareJs text time transformers wai
+    xssSanitize yesodCore yesodPersistent
   ];
   testDepends = [ hspec text time ];
   meta = {
@@ -20,6 +23,5 @@ cabal.mkDerivation (self: {
     description = "Form handling support for Yesod Web Framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix
index 780444bd861..1964abe7dc8 100644
--- a/pkgs/development/libraries/haskell/yesod-json/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-json/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, yesodCore }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generate content for Yesod using the aeson package. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index 2c6b6f96fbc..64a2bd7730f 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -1,25 +1,26 @@
-{ cabal, blazeBuilder, conduit, hspec, liftedBase, persistent
-, persistentSqlite, persistentTemplate, poolConduit, resourcet
-, text, transformers, waiTest, yesodCore
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, conduit, hspec, persistent, persistentSqlite
+, persistentTemplate, resourcePool, resourcet, text, transformers
+, waiExtra, waiTest, yesodCore
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-persistent";
-  version = "1.2.1";
-  sha256 = "06kzxdbg3xw128zlacsf51qi7qnccw0gjnwscxshljgipiicfhfc";
+  version = "1.2.3";
+  sha256 = "1kdspz6y32r8kl0qk89hgwi4n6dnxch7wriv829cnwqm0bzjfdpw";
   buildDepends = [
-    blazeBuilder conduit liftedBase persistent persistentTemplate
-    poolConduit resourcet transformers yesodCore
+    blazeBuilder conduit persistent persistentTemplate resourcePool
+    resourcet transformers yesodCore
   ];
   testDepends = [
-    blazeBuilder conduit hspec persistent persistentSqlite text waiTest
-    yesodCore
+    blazeBuilder conduit hspec persistent persistentSqlite text
+    waiExtra waiTest yesodCore
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Some helpers for using Persistent from Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix
deleted file mode 100644
index f75b5706f6a..00000000000
--- a/pkgs/development/libraries/haskell/yesod-platform/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ cabal, aeson, ansiTerminal, asn1Data, asn1Types, attoparsec
-, attoparsecConduit, authenticate, base64Bytestring
-, baseUnicodeSymbols, blazeBuilder, blazeBuilderConduit, blazeHtml
-, blazeMarkup, byteable, byteorder, caseInsensitive, cereal
-, certificate, cipherAes, cipherRc4, clientsession, conduit, cookie
-, cprngAes, cryptoApi, cryptoCipherTypes, cryptoConduit, cryptohash
-, cryptohashCryptoapi, cryptoNumbers, cryptoPubkey
-, cryptoPubkeyTypes, cryptoRandom, 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, securemem, semigroups, setenv, SHA
-, shakespeare, shakespeareCss, shakespeareI18n, shakespeareJs
-, shakespeareText, silently, simpleSendfile, skein, socks
-, stringsearch, systemFileio, systemFilepath, tagged, tagsoup
-, tagstreamConduit, tls, tlsExtra, transformersBase, unixCompat
-, unorderedContainers, utf8Light, utf8String, vector, void, wai
-, waiAppStatic, waiExtra, waiLogger, waiTest, warp, word8
-, xmlConduit, xmlTypes, xssSanitize, yaml, yesod, yesodAuth
-, yesodCore, yesodForm, yesodPersistent, yesodRoutes, yesodStatic
-, yesodTest, zlibBindings, zlibConduit
-}:
-
-cabal.mkDerivation (self: {
-  pname = "yesod-platform";
-  version = "1.2.4.3";
-  sha256 = "1ilkfmg4sdrz45hc2m8b8rqz242phgxzgizrnd41d5g04jib3hl3";
-  buildDepends = [
-    aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit
-    authenticate base64Bytestring baseUnicodeSymbols blazeBuilder
-    blazeBuilderConduit blazeHtml blazeMarkup byteable byteorder
-    caseInsensitive cereal certificate cipherAes cipherRc4
-    clientsession conduit cookie cprngAes cryptoApi cryptoCipherTypes
-    cryptoConduit cryptohash cryptohashCryptoapi cryptoNumbers
-    cryptoPubkey cryptoPubkeyTypes cryptoRandom 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 securemem
-    semigroups setenv SHA shakespeare shakespeareCss shakespeareI18n
-    shakespeareJs shakespeareText silently simpleSendfile skein socks
-    stringsearch systemFileio systemFilepath tagged tagsoup
-    tagstreamConduit tls tlsExtra transformersBase unixCompat
-    unorderedContainers utf8Light utf8String vector void wai
-    waiAppStatic waiExtra waiLogger waiTest warp word8 xmlConduit
-    xmlTypes xssSanitize yaml yesod yesodAuth yesodCore yesodForm
-    yesodPersistent yesodRoutes yesodStatic yesodTest zlibBindings
-    zlibConduit
-  ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://www.yesodweb.com/";
-    description = "Meta package for Yesod";
-    license = self.stdenv.lib.licenses.mit;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/yesod-routes/default.nix b/pkgs/development/libraries/haskell/yesod-routes/default.nix
index 4cbb865c906..668cbfda1eb 100644
--- a/pkgs/development/libraries/haskell/yesod-routes/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-routes/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, HUnit, pathPieces, text, vector }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-routes";
-  version = "1.2.0.1";
-  sha256 = "0pp7g3ccd0swh1j62am1vg9r2gh65jcci5w2n4r42sqzfnql0i8z";
+  version = "1.2.0.7";
+  sha256 = "00i2nysbhmxnq0dvfdjx6nhxy680ya38nx8gcgm13fv2xwdd2p6j";
   buildDepends = [ pathPieces text vector ];
   testDepends = [ hspec HUnit pathPieces text ];
   meta = {
@@ -11,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Efficient routing for Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index c4aba1ddfeb..5ad4a27b66f 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -1,30 +1,37 @@
-{ cabal, base64Bytestring, cereal, conduit, cryptoConduit
-, cryptohashCryptoapi, dataDefault, fileEmbed, hspec, httpTypes
-, shakespeareCss, systemFileio, systemFilepath, text, transformers
-, unixCompat, wai, waiAppStatic, yesodCore
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, attoparsec, base64Bytestring, blazeBuilder
+, byteable, conduit, conduitExtra, cryptohash, cryptohashConduit
+, cssText, dataDefault, fileEmbed, filepath, hashable, hjsmin
+, hspec, httpTypes, HUnit, mimeTypes, resourcet, shakespeareCss
+, systemFileio, systemFilepath, text, transformers, unixCompat
+, unorderedContainers, wai, waiAppStatic, waiExtra, waiTest
+, yesodCore, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.2.0.1";
-  sha256 = "1ij0j1m9j6l63rl4zdfik36a3sb3k0zpqjg85sgis6wdqr18gsi5";
+  version = "1.2.4";
+  sha256 = "0r5bz1jmgjd7cmvhkp3ahgl610bssvgxxsvb626dvqz2vqc0061z";
   buildDepends = [
-    base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi
-    dataDefault fileEmbed httpTypes shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat wai waiAppStatic
-    yesodCore
+    async attoparsec base64Bytestring blazeBuilder byteable conduit
+    conduitExtra cryptohash cryptohashConduit cssText dataDefault
+    fileEmbed filepath hashable hjsmin httpTypes mimeTypes resourcet
+    shakespeareCss systemFileio systemFilepath text transformers
+    unixCompat unorderedContainers wai waiAppStatic yesodCore
   ];
   testDepends = [
-    base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi
-    dataDefault fileEmbed hspec httpTypes shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat wai waiAppStatic
-    yesodCore
+    async base64Bytestring byteable conduit conduitExtra cryptohash
+    cryptohashConduit dataDefault fileEmbed filepath hjsmin hspec
+    httpTypes HUnit mimeTypes resourcet shakespeareCss systemFileio
+    systemFilepath text transformers unixCompat unorderedContainers wai
+    waiAppStatic waiExtra waiTest yesodCore yesodTest
   ];
+  doCheck = false;
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Static file serving subsite for Yesod Web Framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index c4ad5b29acd..9cc7a380f66 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -1,22 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
 , caseInsensitive, cookie, hspec, htmlConduit, httpTypes, HUnit
-, monadControl, network, persistent, poolConduit, text, time
-, transformers, wai, waiTest, xmlConduit, xmlTypes, yesodCore
-, yesodForm
+, monadControl, network, persistent, text, time, transformers, wai
+, waiExtra, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.1";
-  sha256 = "1f92q9wjj6npxfsjibw0qlg6pai721mwkjcadh121bwgrancflyr";
+  version = "1.2.5";
+  sha256 = "0qk6qqigrqygczsnfrpg7psfz6gy5rqm9lfbhzaw64n4jklmzw3n";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
-    persistent poolConduit text time transformers wai waiTest
-    xmlConduit xmlTypes yesodCore
+    persistent text time transformers wai waiExtra waiTest xmlConduit
+    xmlTypes yesodCore
   ];
   testDepends = [
-    hspec htmlConduit HUnit text xmlConduit yesodCore yesodForm
+    hspec htmlConduit HUnit text wai xmlConduit yesodCore yesodForm
   ];
   meta = {
     homepage = "http://www.yesodweb.com";
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 556b210b91b..07d4ac958e6 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -1,16 +1,21 @@
-{ cabal, aeson, blazeHtml, blazeMarkup, dataDefault, hamlet
-, monadControl, networkConduit, safe, shakespeareCss, shakespeareJs
-, text, transformers, unorderedContainers, wai, waiExtra, warp
-, yaml, yesodAuth, yesodCore, yesodForm, yesodPersistent
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeHtml, blazeMarkup, conduitExtra, dataDefault
+, fastLogger, hamlet, monadControl, monadLogger, networkConduit
+, safe, shakespeare, shakespeareCss, shakespeareJs
+, streamingCommons, text, transformers, unorderedContainers, wai
+, waiExtra, warp, yaml, yesodAuth, yesodCore, yesodForm
+, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.2.1";
-  sha256 = "0xhpsqfshnay7kaz0czr7ass84cbjlgz2n13jk08hs8g8dw72as4";
+  version = "1.2.6.1";
+  sha256 = "1xiqpbcjxisc4lic7ls03rz184d95vkh4kb3ampwbx463qbj9im2";
   buildDepends = [
-    aeson blazeHtml blazeMarkup dataDefault hamlet monadControl
-    networkConduit safe shakespeareCss shakespeareJs text transformers
+    aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger
+    hamlet monadControl monadLogger networkConduit safe shakespeare
+    shakespeareCss shakespeareJs streamingCommons text transformers
     unorderedContainers wai waiExtra warp yaml yesodAuth yesodCore
     yesodForm yesodPersistent
   ];
@@ -19,6 +24,5 @@ cabal.mkDerivation (self: {
     description = "Creation of type-safe, RESTful web applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yst/default.nix b/pkgs/development/libraries/haskell/yst/default.nix
index ee9bb33cdba..2dadfcbfd68 100644
--- a/pkgs/development/libraries/haskell/yst/default.nix
+++ b/pkgs/development/libraries/haskell/yst/default.nix
@@ -1,23 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, csv, filepath, HDBC, HDBCSqlite3, HStringTemplate
-, pandoc, parsec, split, text, time, unorderedContainers, xhtml
-, yaml
+, pandoc, parsec, scientific, split, text, time
+, unorderedContainers, xhtml, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "yst";
-  version = "0.4.0.1";
-  sha256 = "0j260lvprgsi9qgjwji2cc25k0dzrw94h2527rwghik8baa1ha3r";
+  version = "0.4.1";
+  sha256 = "199awgpxn9131a7ijxvvbc4mi1yasnllbpj77k27brx00j87v3nq";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     aeson csv filepath HDBC HDBCSqlite3 HStringTemplate pandoc parsec
-    split text time unorderedContainers xhtml yaml
+    scientific split text time unorderedContainers xhtml yaml
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/jgm/yst";
     description = "Builds a static website from templates and data in YAML or CSV files";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zeromq-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq-haskell/default.nix
index 20d414ac6b1..37528689a38 100644
--- a/pkgs/development/libraries/haskell/zeromq-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/zeromq-haskell/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, QuickCheck, testFramework, testFrameworkQuickcheck2
 , zeromq
 }:
@@ -15,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Bindings to ZeroMQ 2.1.x";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
index 1240d4390a6..f4449cdc856 100644
--- a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
@@ -1,19 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, ansiTerminal, async, checkers, MonadCatchIOTransformers
 , QuickCheck, semigroups, transformers, zeromq
 }:
 
 cabal.mkDerivation (self: {
   pname = "zeromq3-haskell";
-  version = "0.5";
-  sha256 = "16qh3q5rshaxzl79aiivrysl3dhilnd2mw2p45ifgbgv87m277gq";
+  version = "0.5.2";
+  sha256 = "1ky92qwyk27qsxnvaj0mc9yyhk7g19ry2nq55666ayahc899z213";
   buildDepends = [
     async MonadCatchIOTransformers semigroups transformers
   ];
   testDepends = [
-    ansiTerminal checkers MonadCatchIOTransformers QuickCheck
+    ansiTerminal async checkers MonadCatchIOTransformers QuickCheck
     transformers
   ];
-  extraLibraries = [ zeromq ];
+  pkgconfigDepends = [ zeromq ];
   doCheck = false;
   meta = {
     homepage = "http://github.com/twittner/zeromq-haskell/";
diff --git a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix
new file mode 100644
index 00000000000..0e2cf67a19f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, exceptions, QuickCheck, semigroups, tasty
+, tastyHunit, tastyQuickcheck, transformers, zeromq
+}:
+
+cabal.mkDerivation (self: {
+  pname = "zeromq4-haskell";
+  version = "0.6";
+  sha256 = "1n8vvlwnmvi2hlqhkmzsqgpbpxnhdcs8jy3rj1srsg729m2aqc8y";
+  buildDepends = [ async exceptions semigroups transformers ];
+  testDepends = [
+    async QuickCheck tasty tastyHunit tastyQuickcheck
+  ];
+  pkgconfigDepends = [ zeromq ];
+  meta = {
+    homepage = "http://github.com/twittner/zeromq-haskell/";
+    description = "Bindings to ZeroMQ 4.x";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
new file mode 100644
index 00000000000..67f2c2453b6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, digest, filepath, HUnit, mtl, text, time, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "zip-archive";
+  version = "0.2.2.1";
+  sha256 = "0w9l3kdlwkc3yvyxb152s9qwzmc0kjp6d1cbk7yfkpw3081qgckn";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary digest filepath mtl text time zlib ];
+  testDepends = [ HUnit time ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/jgm/zip-archive";
+    description = "Library for creating and modifying zip archives";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
new file mode 100644
index 00000000000..a7732367710
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, digest, filepath, HUnit, mtl, text, time, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "zip-archive";
+  version = "0.2.3.4";
+  sha256 = "1c589cpl1jax1r60b92az1800b67zrva3dndhv9hcxidlgyf46gp";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary digest filepath mtl text time zlib ];
+  testDepends = [ HUnit time ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/jgm/zip-archive";
+    description = "Library for creating and modifying zip archives";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
deleted file mode 100644
index bddf09bc405..00000000000
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, binary, digest, filepath, HUnit, mtl, time, utf8String
-, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "zip-archive";
-  version = "0.1.4";
-  sha256 = "0ipk8gwa2k8iqg2gg4lbawr8l9sjwhy2p7b8qxazpq0i88dyy3lb";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ binary digest filepath mtl time utf8String zlib ];
-  testDepends = [ HUnit time ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/jgm/zip-archive";
-    description = "Library for creating and modifying zip archives";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zipper/default.nix b/pkgs/development/libraries/haskell/zipper/default.nix
index 5ff1da422ef..f2db123aa17 100644
--- a/pkgs/development/libraries/haskell/zipper/default.nix
+++ b/pkgs/development/libraries/haskell/zipper/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, multirec }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generic zipper for families of recursive datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zippers/default.nix b/pkgs/development/libraries/haskell/zippers/default.nix
new file mode 100644
index 00000000000..939de519fb1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zippers/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filepath, lens, profunctors, semigroupoids }:
+
+cabal.mkDerivation (self: {
+  pname = "zippers";
+  version = "0.2";
+  sha256 = "1rlf01dc6dcy9sx89npsisdz1yg9v4h2byd6ms602bxnmjllm1ls";
+  buildDepends = [ lens profunctors semigroupoids ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/ekmett/zippers/";
+    description = "Traversal based zippers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
index f69be8ae99e..a14d685e968 100644
--- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
@@ -1,16 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, hspec, QuickCheck, zlib }:
 
 cabal.mkDerivation (self: {
   pname = "zlib-bindings";
-  version = "0.1.1.3";
-  sha256 = "18jhav7chbapakm9mwn7bn9lgvip7qaz61dw5gwv2nyalvm96qfr";
+  version = "0.1.1.5";
+  sha256 = "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8";
   buildDepends = [ zlib ];
   testDepends = [ hspec QuickCheck zlib ];
   meta = {
     homepage = "http://github.com/snoyberg/zlib-bindings";
-    description = "Low-level bindings to the zlib package";
+    description = "Low-level bindings to the zlib package. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
index b283c496a29..3d91442022d 100644
--- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
@@ -1,18 +1,17 @@
-{ cabal, conduit, hspec, QuickCheck, resourcet, transformers, void
-, zlibBindings
-}:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit }:
 
 cabal.mkDerivation (self: {
   pname = "zlib-conduit";
-  version = "1.0.0";
-  sha256 = "0q0l4qw1f2cwjj71n4i082ba47x1xba695q8xk0ky2vw5s8cg0bv";
-  buildDepends = [ conduit transformers void zlibBindings ];
-  testDepends = [ conduit hspec QuickCheck resourcet transformers ];
+  version = "1.1.0";
+  sha256 = "1b22mca8bbg7f84h8y0qsb5ckzg2dw1b26y27x7b7xdxqbwpz93a";
+  buildDepends = [ conduit ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
-    description = "Streaming compression/decompression via conduits";
+    description = "Streaming compression/decompression via conduits. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib-enum/default.nix b/pkgs/development/libraries/haskell/zlib-enum/default.nix
index f799194c0f6..4b133b4c055 100644
--- a/pkgs/development/libraries/haskell/zlib-enum/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-enum/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, enumerator, transformers, zlibBindings }:
 
 cabal.mkDerivation (self: {
   pname = "zlib-enum";
-  version = "0.2.3";
-  sha256 = "0lr72h4wlclav0p0j5wwaxifq97lw7rh3612lva73fg45akl9di1";
+  version = "0.2.3.1";
+  sha256 = "1nfczminxafzk69ry1sqkj1ha0jlv3l9ak10yk205snfhpmcjgg4";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ enumerator transformers zlibBindings ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Enumerator interface for zlib compression";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
index 28f109e8c36..b6760482129 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Compression and decompression in the gzip and zlib formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
index 6a917af1fe7..f3669c97c0a 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Compression and decompression in the gzip and zlib formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
index f13b9f7b1d4..1bed95bc2e8 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Compression and decompression in the gzip and zlib formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
index bba9e1a13fe..5260b55a027 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Compression and decompression in the gzip and zlib formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
index abeed295e03..8b13da93ce3 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Compression and decompression in the gzip and zlib formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
index c1fa7d78d0a..28f69ad0a64 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, zlib }:
 
 cabal.mkDerivation (self: {
@@ -9,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Compression and decompression in the gzip and zlib formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/hawknl/default.nix b/pkgs/development/libraries/hawknl/default.nix
index 78206de9f14..290f411cbf4 100644
--- a/pkgs/development/libraries/hawknl/default.nix
+++ b/pkgs/development/libraries/hawknl/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://hawksoft.com/hawknl/;
     description = "Free, open source, game oriented network API";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/http_parser/build-shared.patch b/pkgs/development/libraries/http-parser/build-shared.patch
index 5922cdfb584..5922cdfb584 100644
--- a/pkgs/development/libraries/http_parser/build-shared.patch
+++ b/pkgs/development/libraries/http-parser/build-shared.patch
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
new file mode 100644
index 00000000000..bb1f6b63084
--- /dev/null
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, gyp, utillinux, python, fixDarwinDylibNames }:
+
+let
+  version = "2.2.1";
+in stdenv.mkDerivation {
+  name = "http-parser-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
+    sha256 = "0p8wmchqsj9kwa8pg2is7v0h83q5lqns3vnm6sxrld7gaz979zh5";
+  };
+
+  patches = [ ./build-shared.patch ];
+
+  configurePhase = "gyp -f make --depth=`pwd` http_parser.gyp";
+
+  buildFlags = [ "BUILDTYPE=Release" ];
+
+  buildInputs =
+    [ gyp ]
+    ++ stdenv.lib.optional stdenv.isLinux utillinux
+    ++ stdenv.lib.optionals stdenv.isDarwin [ python fixDarwinDylibNames ];
+
+  doCheck = !stdenv.isDarwin;
+
+  checkPhase = ''
+    out/Release/test-nonstrict
+    out/Release/test-strict
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    mv out/Release/${if stdenv.isDarwin then "*.dylib" else "lib.target/*"} $out/lib
+
+    mkdir -p $out/include
+    mv http_parser.h $out/include
+  '';
+
+  meta = {
+    description = "An HTTP message parser written in C";
+
+    homepage = https://github.com/joyent/http-parser;
+
+    license = stdenv.lib.licenses.mit;
+
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/development/libraries/http_parser/default.nix b/pkgs/development/libraries/http_parser/default.nix
deleted file mode 100644
index 09371e4efb8..00000000000
--- a/pkgs/development/libraries/http_parser/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv, fetchurl, gyp, utillinux, python }:
-
-let
-  version = "2.1";
-in stdenv.mkDerivation {
-  name = "http-parser-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
-    sha256 = "16a2w5z4g2bma25fqcrkpidqzlq8a2jxkk93ajl721q85406j105";
-  };
-
-  patches = [ ./build-shared.patch ];
-
-  configurePhase = "gyp -f make --depth=`pwd` http_parser.gyp";
-
-  buildFlags = [ "BUILDTYPE=Release" ];
-
-  buildInputs = [ gyp ] ++ (stdenv.lib.optional stdenv.isLinux utillinux) ++ stdenv.lib.optional stdenv.isDarwin python;
-
-  doCheck = !stdenv.isDarwin;
-
-  checkPhase = ''
-    out/Release/test-nonstrict
-    out/Release/test-strict
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib
-    mv out/Release/${if stdenv.isDarwin then "*.dylib" else "lib.target/*"} $out/lib
-
-    mkdir -p $out/include
-    mv http_parser.h $out/include
-  '';
-
-  postFixup = if stdenv.isDarwin then ''
-    install_name_tool -id $out/lib/libhttp_parser.dylib $out/lib/libhttp_parser.dylib
-    install_name_tool -id $out/lib/libhttp_parser_strict.dylib $out/lib/libhttp_parser_strict.dylib
-  '' else null;
-
-  meta = {
-    description = "An HTTP message parser written in C";
-
-    homepage = https://github.com/joyent/http-parser;
-
-    license = stdenv.lib.licenses.mit;
-
-    maintainer = [ stdenv.lib.maintainers.shlevy ];
-  };
-}
diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix
new file mode 100644
index 00000000000..6b426169a70
--- /dev/null
+++ b/pkgs/development/libraries/ibus/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, makeWrapper, python, intltool, pkgconfig
+, gnome3, atk, pygobject3, dbus, libnotify, isocodes, gobjectIntrospection, wayland }:
+
+stdenv.mkDerivation rec {
+  name = "ibus-${version}";
+  version = "1.5.5";
+
+  src = fetchurl {
+    url = "http://ibus.googlecode.com/files/${name}.tar.gz";
+    sha256 = "1v4a9xv2k26g6ggk4282ynfvh68j2r5hg1cdpvnryfa8c2pkdaq2";
+  };
+
+  configureFlags = "--disable-gconf --enable-dconf --disable-memconf --enable-ui --enable-python-library";
+
+  buildInputs = [
+    makeWrapper python gnome3.glib wayland
+    intltool pkgconfig gnome3.gtk2
+    gnome3.gtk3 dbus gnome3.dconf gnome3.gconf
+    libnotify isocodes gobjectIntrospection
+  ];
+
+  preBuild = ''
+    patchShebangs ./scripts
+    substituteInPlace data/dconf/Makefile --replace "dconf update" "echo"
+  '';
+
+  preFixup = ''
+    for f in "$out"/bin/*; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
+                       --prefix PYTHONPATH : "$(toPythonPath ${pygobject3})" \
+                       --prefix LD_LIBRARY_PATH : "${gnome3.gtk3}/lib:${atk}/lib:$out/lib" \
+                       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \
+                       --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
+    done
+  '';
+
+  meta = {
+    homepage = https://code.google.com/p/ibus/;
+    description = "Intelligent Input Bus for Linux / Unix OS";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 838d6f7b75f..a029eab6f12 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -1,25 +1,37 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl, fixDarwinDylibNames }:
 
 let
 
   pname = "icu4c";
-  version = "51.1";
+  version = "52.1";
 in
-
 stdenv.mkDerivation {
   name = pname + "-" + version;
 
   src = fetchurl {
-    url = http://download.icu-project.org/files/icu4c/51.1/icu4c-51_1-src.tgz;
-    sha256 = "0sv6hgkm92pm27zgjxgk284lcxxbsl0syi40ckw2b7yj7d8sxrc7";
+    url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+      + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
+    sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g";
   };
 
+  makeFlags = stdenv.lib.optionalString stdenv.isDarwin
+    "CXXFLAGS=-headerpad_max_install_names";
+
+  # FIXME: This fixes dylib references in the dylibs themselves, but
+  # not in the programs in $out/bin.
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
   postUnpack = ''
     sourceRoot=''${sourceRoot}/source
     echo Source root reset to ''${sourceRoot}
   '';
 
-  configureFlags = "--disable-debug";
+  preConfigure = ''
+    sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
+  '';
+
+  configureFlags = "--disable-debug" +
+    stdenv.lib.optionalString stdenv.isDarwin " --enable-rpath";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix
new file mode 100644
index 00000000000..dd8ad8b3561
--- /dev/null
+++ b/pkgs/development/libraries/ilixi/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, directfb, libsigcxx, libxml2, fontconfig }:
+
+# TODO: optional deps: baresip, FusionDale, FusionSound, SaWMan, doxygen,
+# Reflex, Wnn, NLS
+
+stdenv.mkDerivation rec {
+  name = "ilixi-1.0.0";
+
+  src = fetchurl {
+    url = "http://www.directfb.org/downloads/Libs/${name}.tar.gz";
+    sha256 = "1kmdmqf68jiv7y6as41bhbgdy70yy2i811a3l6kccbazlzpif34v";
+  };
+
+  buildInputs = [ pkgconfig directfb libsigcxx libxml2 fontconfig ];
+
+  configureFlags = ''
+    --enable-log-debug --enable-debug --enable-trace --with-examples
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Lightweight C++ GUI toolkit for embedded Linux systems";
+    homepage = http://ilixi.org/;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index d77e2052f81..5b19323f943 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -1,18 +1,23 @@
 { stdenv, fetchurl, x11, libjpeg, libtiff, libungif, libpng, bzip2, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "imlib2-1.4.5";
-  
+  name = "imlib2-1.4.6";
+
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${name}.tar.bz2";
-    sha256 = "0nllbhf8vfwdm40z35yj27n83k2mjf5vbd62khad4f0qjf9hsw14";
+    sha256 = "0x1j0ylpclkp8cfpwfpkjywqz124bqskyxbw8pvwzkv2gmrbwldg";
   };
-  
+
   buildInputs = [ x11 libjpeg libtiff libungif libpng bzip2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  preConfigure = ''
+    substituteInPlace imlib2-config.in \
+      --replace "@my_libs@" ""
+  '';
+
   meta = {
-    platforms = stdenv.lib.platforms.gnu; # random choice
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/incrtcl/default.nix b/pkgs/development/libraries/incrtcl/default.nix
index 0263e98f587..e6474abf11c 100644
--- a/pkgs/development/libraries/incrtcl/default.nix
+++ b/pkgs/development/libraries/incrtcl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "incrtcl-${version}";
-  version = "3.4b1";
+  version = "3.4.1";
   
   src = fetchurl {
-    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl3.4b1.tar.gz;
-    sha256 = "0226vf7vmb7qmk9bcic635d33rm3gr1wqk5rpx6pf00bq3vgr6fw";
+    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl3.4.1.tar.gz;
+    sha256 = "0s457j9mn3c1wjj43iwy3zwhyz980jlyqn3s9487da9dwwn86c2k";
   };
 
   buildInputs = [ tcl ];
diff --git a/pkgs/development/libraries/iniparser/default.nix b/pkgs/development/libraries/iniparser/default.nix
index 55c4dbff296..99a256e48ad 100644
--- a/pkgs/development/libraries/iniparser/default.nix
+++ b/pkgs/development/libraries/iniparser/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec{
   meta = {
     homepage = http://ndevilla.free.fr/iniparser;
     description = "Free standalone ini file parsing library";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/intel-tbb/default.nix b/pkgs/development/libraries/intel-tbb/default.nix
deleted file mode 100644
index ad2c317a9ef..00000000000
--- a/pkgs/development/libraries/intel-tbb/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
-stdenv.mkDerivation rec {
-  name = "intel-tbb-4.1";
-  
-  src = fetchurl {
-    url = http://threadingbuildingblocks.org/sites/default/files/software_releases/linux/tbb41_20121003oss_lin.tgz;
-    sha256 = "12vxljcgkrcyw9mm8v5vfk03nkf3bmwz60r2qbljs0hl2yrx8jml";
-  };
-
-  buildPhase = ''
-    mkdir -p $out
-    cp -R * $out
-
-    for f in $out/lib/${if stdenv.system == "x86_64-linux" then "linux64" else "ia32"}/*.so.2; do
-      patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64 $f
-    done
-
-    rm $out/CHANGES $out/README $out/COPYING
-  '';
-
-  dontInstall = true;
-
-  meta = {
-    homepage = http://threadingbuildingblocks.org/;
-  };
-}
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index 760ad096fd0..ac67c17218f 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://irrlicht.sourceforge.net/;
-    license = "zlib";
+    license = stdenv.lib.licenses.zlib;
     description = "Open source high performance realtime 3D engine written in C++";
   };
 }
diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix
new file mode 100644
index 00000000000..f1da2c06409
--- /dev/null
+++ b/pkgs/development/libraries/isl/0.12.2.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, gmp }:
+
+stdenv.mkDerivation rec {
+  name = "isl-0.12.2"; # CLooG 0.16.3 fails to build with ISL 0.08.
+
+  src = fetchurl {
+    url = "http://isl.gforge.inria.fr/${name}.tar.bz2";
+    sha256 = "1d0zs64yw6fzs6b7kxq6nh9kvas16h8b43agwh30118jjzpdpczl";
+  };
+
+  buildInputs = [ gmp ];
+
+  meta = {
+    homepage = http://www.kotnet.org/~skimo/isl/;
+    license = stdenv.lib.licenses.lgpl21;
+    description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix
index aaec37eae8f..7e08c8afe6f 100644
--- a/pkgs/development/libraries/isl/default.nix
+++ b/pkgs/development/libraries/isl/default.nix
@@ -1,21 +1,19 @@
 { stdenv, fetchurl, gmp }:
 
 stdenv.mkDerivation rec {
-  name = "isl-0.07"; # CLooG 0.16.3 fails to build with ISL 0.08.
+  name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08.
 
   src = fetchurl {
-    urls = [
-        "http://www.kotnet.org/~skimo/isl/${name}.tar.bz2"
-        "ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/${name}.tar.bz2"
-      ];
-    sha256 = "0kpxmvhrwwdygqqafqzjf9xiksq7paac2x24g9jhr3f9ajj3zkyx";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
+    sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
   };
 
   buildInputs = [ gmp ];
+  patches = [ ./fix-gcc-build.diff ];
 
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
     maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/isl/fix-gcc-build.diff b/pkgs/development/libraries/isl/fix-gcc-build.diff
new file mode 100644
index 00000000000..6fbd1f9d478
--- /dev/null
+++ b/pkgs/development/libraries/isl/fix-gcc-build.diff
@@ -0,0 +1,12 @@
+diff -ru isl-0.11.1/include/isl/int.h isl-0.11.1.new/include/isl/int.h
+--- isl-0.11.1/include/isl/int.h        2012-11-29 09:47:32.000000000 +0100
++++ isl-0.11.1.new/include/isl/int.h    2013-10-27 15:35:31.348553812 +0100
+@@ -14,7 +14,7 @@
+ #include <string.h>
+ #include <gmp.h>
+ #if defined(__cplusplus)
+-#include <iostream>
++#include <ostream>
+ #endif
+ 
+ #if defined(__cplusplus)
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 4e6614345c1..987e1a25d35 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gettext, python, xz}:
 
 stdenv.mkDerivation rec {
-  name = "iso-codes-3.40";
+  name = "iso-codes-3.51";
   src = fetchurl {
     url = "http://pkg-isocodes.alioth.debian.org/downloads/${name}.tar.xz";
-    sha256 = "0iph96n8vh4khidxg2zzhmcqnphfzg50agn0lv9cjhmnx0i712pr";
+    sha256 = "0zyp99l4m8cd6301x8zi3xxhziam6v0ic1h8qxb1l0mcjafzf8jj";
   };
   patchPhase = ''
     for i in `find . -name \*.py`
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index bfe10490fc7..29e15e08f69 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -8,7 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "05z49sw612cbyiaghcsda0xylrkf06jh81ql79si5632w1hpgbd9";
   };
 
-  cmakeFlags = [ "-DBUILD_TESTING=OFF" "-DBUILD_EXAMPLES=OFF" ];
+  cmakeFlags = [
+    "-DBUILD_TESTING=OFF"
+    "-DBUILD_EXAMPLES=OFF"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DCMAKE_CXX_FLAGS=-fPIC"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix
index 4908c737ece..0f0fa3f775a 100644
--- a/pkgs/development/libraries/jansson/default.nix
+++ b/pkgs/development/libraries/jansson/default.nix
@@ -1,16 +1,16 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "jansson-2.4";
+  name = "jansson-2.5";
 
   src = fetchurl {
     url = "http://www.digip.org/jansson/releases/${name}.tar.gz";
-    sha256 = "1fcbd1ac3d8b610644acf86a5731d760bb228c9acbace20a2ad0f23baec79b41";
+    sha256 = "1cdi1g4pyjwrw76z99ys8cr13iz9nz9i8sq6ivl1q0ymiarvz2yx";
   };
 
   meta = {
     homepage = "http://www.digip.org/jansson/";
     description = "C library for encoding, decoding and manipulating JSON data";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/java/geoipjava/default.nix b/pkgs/development/libraries/java/geoipjava/default.nix
index a924e2adfa6..5c83a0ba357 100644
--- a/pkgs/development/libraries/java/geoipjava/default.nix
+++ b/pkgs/development/libraries/java/geoipjava/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     '';
   meta = {
     description = "GeoIP Java API";
-    license = "LGPL2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/development/libraries/java/httpunit/default.nix b/pkgs/development/libraries/java/httpunit/default.nix
index b70bbf56073..73eb33df812 100644
--- a/pkgs/development/libraries/java/httpunit/default.nix
+++ b/pkgs/development/libraries/java/httpunit/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, unzip} :
 
 stdenv.mkDerivation {
-  name = "httpunit-1.6";
+  name = "httpunit-1.7";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = mirror://sourceforge/httpunit/httpunit-1.6.zip;
-    md5 = "e94b53b9f4d7bdb706e4baac95b6e424";
+    url = mirror://sourceforge/httpunit/httpunit-1.7.zip;
+    sha256 = "09gnayqgizd8cjqayvdpkxrc69ipyxawc96aznfrgdhdiwv8l5zf";
   };
 
   inherit unzip;
diff --git a/pkgs/development/libraries/java/hydra-ant-logger/default.nix b/pkgs/development/libraries/java/hydra-ant-logger/default.nix
index 1439c6101ab..c54c3f3a8ee 100644
--- a/pkgs/development/libraries/java/hydra-ant-logger/default.nix
+++ b/pkgs/development/libraries/java/hydra-ant-logger/default.nix
@@ -1,24 +1,21 @@
-{ fetchsvn, stdenv, ant }:
+{ fetchgit, stdenv, ant, jdk }:
 
 stdenv.mkDerivation rec {
   name = "hydra-ant-logger-${version}";
   version = "2010.2";
 
-  src = fetchsvn {
-    url = https://svn.nixos.org/repos/nix/hydra-ant-logger/trunk;
-    rev = 20396;
-    sha256 = "1lp5zy80m4y2kq222q2x052ys5mlhgc7y4kxh2bl48744f1fkgyr";
+  src = fetchgit {
+    url = https://github.com/NixOS/hydra-ant-logger.git;
+    rev = "dae3224f4ed42418d3492bdf5bee4f825819006f";
+    sha256 = "01s7m6007rn9107rw5wcgna7i20x6p6kfzl4f79jrvpkjy6kz176";
   };
 
-  buildInputs = [ ant ];
+  buildInputs = [ ant jdk ];
 
-  buildPhase = ''
-    ln -s ${ant}/lib/ant.jar lib/ant.jar
-    ant 
-  '';
+  buildPhase = "mkdir lib; ant";
 
-  installPhase = '' 
-    mkdir -p "$out/lib/java"
-    cp -v *.jar "$out/lib/java"
+  installPhase = ''
+    mkdir -p $out/share/java
+    cp -v *.jar $out/share/java
   '';
 }
diff --git a/pkgs/development/libraries/java/icedtea/default.nix b/pkgs/development/libraries/java/icedtea/default.nix
deleted file mode 100644
index 51f375a36f9..00000000000
--- a/pkgs/development/libraries/java/icedtea/default.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-/* XXX: This is work in progress and it needs your help!  */
-
-/* See http://icedtea.classpath.org/wiki/BuildRequirements for a
-   list of dependencies.  */
-
-{ fetchurl, stdenv, which
-, wget, cpio, file, ecj, gcj, ant, gawk, procps, inetutils, zip, unzip, zlib
-, alsaLib, cups, lesstif, freetype, classpath, libjpeg, libpng, giflib
-, xalanj, xerces, rhino
-, libX11, libXp, libXtst, libXinerama, libXt, libXrender, xproto
-, pkgconfig, xulrunner, pulseaudio }:
-
-let
-  # These variables must match those in the top-level `Makefile.am'.
-  openjdkVersion   = "b16";
-  openjdkDate      = "24_apr_2009";
-  openjdkURL       =
-    "http://download.java.net/openjdk/jdk6/promoted/${openjdkVersion}/";
-  openjdkSourceZip = "openjdk-6-src-${openjdkVersion}-${openjdkDate}.tar.gz";
-
-  openjdk          = fetchurl {
-    url = "${openjdkURL}${openjdkSourceZip}";
-    sha256 = "084lkhsnj29finb6pmvrh83nqbliwv32gdi5q5sv43dpv24r85cn";
-  };
-
-  hotspot          = fetchurl {
-    url = "http://hg.openjdk.java.net/hsx/hsx14/master/archive/09f7962b8b44.tar.gz";
-    sha256 = "1jbd9ki5ip96293mv1qil20yqcgvkmcrhs302j0n8i8f3v1j70bf";
-  };
-
-in
-
-stdenv.mkDerivation rec {
-  name = "icedtea6-1.6.1";
-
-  src = fetchurl {
-    url = "http://icedtea.classpath.org/download/source/${name}.tar.gz";
-    sha256 = "11vaanfmz842x576wrw5qldpkksi8wqjmh9wikn5gxyjk87qq3k5";
-  };
-
-  buildInputs = [
-    wget  # Not actually used, thanks to `--with-openjdk-src-zip' et al.
-    which cpio file ecj gcj ant gawk procps inetutils zip unzip zlib
-    alsaLib cups lesstif freetype classpath libjpeg libpng giflib
-    xalanj xerces
-    libX11 libXp libXtst libXinerama libXt libXrender xproto
-    pkgconfig /* xulrunner */ pulseaudio
-  ];
-
-  preConfigure =
-    '' # Use the Sun-compatible tools (`jar', etc.).
-       export PATH="${gcj.gcc}/lib/jvm/bin:$PATH"
-
-       # Copy patches.
-       cp -v "${./nixos-slash-bin.patch}" patches/nixos-slash-bin.patch
-    '';
-
-  configureFlags =
-    stdenv.lib.concatStringsSep " "
-      [ "--with-gcj-home=${gcj}"
-        "--with-ecj" "--with-ecj-jar=${ecj}/lib/java/ecj.jar"
-        "--with-openjdk-src-zip=${openjdk}"
-        "--with-hotspot-src-zip=${hotspot}"
-        "--with-ant-home=${ant}/lib/java"
-        "--with-xalan2-jar=${xalanj}/lib/java/xalan.jar"
-        "--with-xalan2-serializer-jar=${xalanj}/lib/java/xalan.jar"
-        "--with-xerces2-jar=${xerces}/lib/java/xercesImpl.jar"
-        "--with-rhino=${rhino}/lib/java/js.jar"
-        "--disable-plugin" # FIXME: Enable it someday.
-
-        "--with-parallel-job"
-      ];
-
-  makeFlags =
-    [ # Have OpenCDK use tools from $PATH.
-      "ALT_UNIXCCS_PATH=" "ALT_UNIXCOMMAND_PATH=" "ALT_USRBIN_PATH="
-      "ALT_COMPILER_PATH=" "ALT_DEVTOOLS_PATH="
-
-      # Libraries.
-      "ALT_MOTIF_DIR="
-      "ALT_FREETYPE_HEADERS_PATH=${freetype}/include"
-      "ALT_FREETYPE_LIB_PATH=${freetype}/lib"
-      "ALT_CUPS_HEADERS_PATH=${cups}/include"
-      "ALT_CUPS_LIB_PATH=${cups}/lib"
-
-      # Tell IcedTea about our patches.
-      "DISTRIBUTION_PATCHES=patches/nixos-slash-bin.patch"
-    ];
-
-  meta = {
-    description = "IcedTea, a libre Java development kit based on OpenJDK";
-
-    longDescription =
-      '' The IcedTea project provides a harness to build the source code from
-         http://openjdk.java.net using Free Software build tools and adds a
-         number of key features to the upstream OpenJDK codebase: a Free
-         64-bit plugin with LiveConnect and Java Web Start support, support
-         for additional platforms via a pure interpreted mode in HotSpot
-         (Zero) or the alternative CACAO virtual machine.  Experimental JIT
-         support for Zero is also available via Shark.
-      '';
-
-    license = "GPLv2"; /* and multiple-licensing, e.g., for the plug-ins */
-
-    homepage = http://icedtea.classpath.org/;
-
-    maintainers = [ ];
-
-    # Restrict to GNU systems for now.
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch b/pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch
deleted file mode 100644
index df4d1f4d03f..00000000000
--- a/pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Remove references to /bin/echo to allow NixOS builds.
-
---- openjdk/jdk/make/common/shared/Defs-utils.gmk	2009-04-24 09:33:55.000000000 +0200
-+++ openjdk/jdk/make/common/shared/Defs-utils.gmk	2010-01-19 15:39:29.000000000 +0100
-@@ -177,7 +177,7 @@ ifeq ($(PLATFORM),linux)
- 
-   NAWK           = $(USRBIN_PATH)gawk
-   # Intrinsic unix command, with backslash-escaped character interpretation
--  ECHO           = /bin/echo -e
-+  ECHO           = echo -e
-   # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
-   AR             = $(UTILS_USR_BIN_PATH)ar
-   AS             = $(UTILS_USR_BIN_PATH)as
-@@ -195,6 +195,6 @@ ifeq ($(PLATFORM),solaris)
-   # Intrinsic unix command, with backslash-escaped character interpretation
-   #   (not using -e  will cause build failure when using /bin/bash)
-   #   (using -e breaks something else)
--  ECHO           = /usr/bin/echo
-+  ECHO           = echo
- endif
diff --git a/pkgs/development/libraries/java/jflex/default.nix b/pkgs/development/libraries/java/jflex/default.nix
index 4d0eda22c5b..5e54e800f55 100644
--- a/pkgs/development/libraries/java/jflex/default.nix
+++ b/pkgs/development/libraries/java/jflex/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl} :
 
 stdenv.mkDerivation {
-  name = "jflex-1.4.1";
+  name = "jflex-1.4.3";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://jflex.de/jflex-1.4.1.tar.gz;
-    md5 = "9e4be6e826e6b344e84c0434d6fd4b46";
+    url = http://jflex.de/jflex-1.4.3.tar.gz;
+    sha256 = "0sm74sgjvw01fsiqr5q9ipbm8rfyihf6yn00dqymhyc3wmbhr517";
   };
 }
diff --git a/pkgs/development/libraries/java/junit/builder.sh b/pkgs/development/libraries/java/junit/builder.sh
deleted file mode 100755
index a76360ead1e..00000000000
--- a/pkgs/development/libraries/java/junit/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-$unzip/bin/unzip $src
-mkdir -p $out
-mv junit*/* $out
diff --git a/pkgs/development/libraries/java/junit/default.nix b/pkgs/development/libraries/java/junit/default.nix
index 7a6db1ad4b3..b398a7a1147 100644
--- a/pkgs/development/libraries/java/junit/default.nix
+++ b/pkgs/development/libraries/java/junit/default.nix
@@ -1,17 +1,27 @@
-{stdenv, fetchurl, unzip} :
+{ stdenv, antBuild, fetchgit, perl }:
 
-stdenv.mkDerivation {
-  name = "junit-4.8.2";
-  builder = ./builder.sh;
+let
+  version = "4.11";
+in antBuild {
+  name = "junit-${version}";
 
-  src = fetchurl {
-    url = https://github.com/downloads/junit-team/junit/junit4.8.2.zip;
-    sha256 = "01simvc3pmgp27p7vzavmsx5rphm6hqzwrqfkwllhf3812dcqxy6";
+  # I think this is only used to generate the docs, and will likely disappear
+  # with the next release of junit since its build system completely changes.
+  buildInputs = [perl];
+
+  src = fetchgit {
+    url = "https://github.com/junit-team/junit.git";
+    sha256 = "019azv0cfy2zs45c7g3r952gvjmikkq76p2ydr4q5252r0pzy9dr";
+    rev = "c2e4d911fadfbd64444fb285342a8f1b72336169";
   };
 
-  inherit unzip;
+  antProperties = [
+    { name = "version"; value = version; }
+  ];
 
   meta = {
     homepage = http://www.junit.org/;
+    description = "A framework for repeatable tests in Java";
+    license = stdenv.lib.licenses.epl10;
   };
 }
diff --git a/pkgs/development/libraries/java/junixsocket/darwin.patch b/pkgs/development/libraries/java/junixsocket/darwin.patch
new file mode 100644
index 00000000000..97fd42d0b81
--- /dev/null
+++ b/pkgs/development/libraries/java/junixsocket/darwin.patch
@@ -0,0 +1,20 @@
+diff -rc junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java
+*** junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java        Tue Jul 20 14:59:41 2010
+--- junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java    Sun May 27 22:26:15 2012
+***************
+*** 43,49 ****
+              String prefix = "lib";
+              String suffix = ".so";
+              String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
+!             if ("macosx".equals(os)) {
+                  suffix = ".dylib";
+              } else if ("linux".equals(os) || "freebsd".equals(os)
+                      || "sunos".equals(os)) {
+--- 43,49 ----
+              String prefix = "lib";
+              String suffix = ".so";
+              String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
+!             if ("macosx".equals(os) || "darwin".equals(os)) {
+                  suffix = ".dylib";
+              } else if ("linux".equals(os) || "freebsd".equals(os)
+                      || "sunos".equals(os)) {
diff --git a/pkgs/development/libraries/java/junixsocket/default.nix b/pkgs/development/libraries/java/junixsocket/default.nix
new file mode 100644
index 00000000000..317ba601cfb
--- /dev/null
+++ b/pkgs/development/libraries/java/junixsocket/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, ant, jdk, junit }:
+
+stdenv.mkDerivation rec {
+  name = "junixsocket-1.3";
+
+  src = fetchurl {
+    url = "http://junixsocket.googlecode.com/files/${name}-src.tar.bz2";
+    sha256 = "0c6p8vmiv5nk8i6g1hgivnl3mpb2k3lhjjz0ss9dlirisfrxf1ym";
+  };
+
+  patches = [ ./darwin.patch ];
+
+  buildInputs = [ ant jdk junit ];
+
+  preConfigure =
+    ''
+      substituteInPlace src/main/org/newsclub/net/unix/NativeUnixSocketConfig.java \
+        --replace /opt/newsclub/lib-native $out/lib
+    '';
+
+  buildPhase = "ant";
+
+  ANT_ARGS =
+    # Note that our OpenJDK on Darwin is currently 32-bit, so we have to build a 32-bit dylib.
+    (if stdenv.is64bit then [ "-Dskip32=true" ] else [ "-Dskip64=true" ])
+    ++ [ "-Dgcc=cc" "-Dant.build.javac.source=1.6" ]
+    ++ stdenv.lib.optional stdenv.isDarwin "-DisMac=true";
+
+  installPhase =
+    ''
+      mkdir -p $out/share/java $out/lib
+      cp -v dist/*.jar $out/share/java
+      cp -v lib-native/*.so lib-native/*.dylib $out/lib/
+    '';
+
+  meta = {
+    description = "A Java/JNI library for using Unix Domain Sockets from Java";
+    homepage = https://code.google.com/p/junixsocket/;
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/development/libraries/java/libmatthew-java/default.nix b/pkgs/development/libraries/java/libmatthew-java/default.nix
index 0b77de56987..3924b0cdc22 100644
--- a/pkgs/development/libraries/java/libmatthew-java/default.nix
+++ b/pkgs/development/libraries/java/libmatthew-java/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libmatthew-java-0.8";
   src = fetchurl {
-    url = http://www.matthew.ath.cx/projects/java/libmatthew-java-0.8.tar.gz;
+    url = http://pkgs.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz;
     sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85";
   };
   JAVA_HOME=jdk;
diff --git a/pkgs/development/libraries/java/rhino/default.nix b/pkgs/development/libraries/java/rhino/default.nix
index a61ea5e6045..42bdba7567c 100644
--- a/pkgs/development/libraries/java/rhino/default.nix
+++ b/pkgs/development/libraries/java/rhino/default.nix
@@ -9,48 +9,49 @@ let
     sha256 = "1pb08d9j81d0wz5wj31idz198iwhqb7mch872n08jh1354rjlqwk";
   };
 in
-  stdenv.mkDerivation {
-    name = "rhino-${version}";
 
-    src = fetchurl {
-      url = "ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip";
-      sha256 = "1p32hkghi6bkc3cf2dcqyaw5cjj7403mykcp0fy8f5bsnv0pszv7";
-    };
+stdenv.mkDerivation {
+  name = "rhino-${version}";
 
-    patches = [ ./gcj-type-mismatch.patch ];
+  src = fetchurl {
+    url = "ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip";
+    sha256 = "1p32hkghi6bkc3cf2dcqyaw5cjj7403mykcp0fy8f5bsnv0pszv7";
+  };
 
-    preConfigure =
-      '' find -name \*.jar -or -name \*.class -exec rm -v {} \;
+  patches = [ ./gcj-type-mismatch.patch ];
 
-         # The build process tries to download it by itself.
-         mkdir -p "build/tmp-xbean"
-         ln -sv "${xbeans}" "build/tmp-xbean/xbean.zip"
-      '';
+  preConfigure =
+    ''
+      find -name \*.jar -or -name \*.class -exec rm -v {} \;
 
-    buildInputs = [ unzip ant javac jvm ];
+      # The build process tries to download it by itself.
+      mkdir -p "build/tmp-xbean"
+      ln -sv "${xbeans}" "build/tmp-xbean/xbean.zip"
+    '';
 
-    buildPhase = "ant ${options} jar";
-    doCheck    = false;
+  buildInputs = [ unzip ant javac jvm ];
 
-    # FIXME: Install javadoc as well.
-    installPhase =
-      '' mkdir -p "$out/lib/java"
-         cp -v *.jar "$out/lib/java"
-      '';
+  buildPhase = "ant ${options} jar";
+  doCheck    = false;
 
-    meta = {
-      description = "Mozilla Rhino: JavaScript for Java";
+  # FIXME: Install javadoc as well.
+  installPhase =
+    ''
+      mkdir -p "$out/share/java"
+      cp -v *.jar "$out/share/java"
+    '';
 
-      longDescription =
-        '' Rhino is an open-source implementation of JavaScript written
-           entirely in Java.  It is typically embedded into Java applications
-           to provide scripting to end users.
-        '';
+  meta = {
+    description = "Mozilla Rhino: JavaScript for Java";
 
-      homepage = http://www.mozilla.org/rhino/;
+    longDescription =
+      '' Rhino is an open-source implementation of JavaScript written
+         entirely in Java.  It is typically embedded into Java applications
+         to provide scripting to end users.
+      '';
 
-      licenses = [ "MPLv1.1" /* or */ "GPLv2+" ];
+    homepage = http://www.mozilla.org/rhino/;
 
-      maintainers = [ ];
-    };
-  }
+    license = [ "MPLv1.1" /* or */ "GPLv2+" ];
+  };
+}
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index 59f31ac3139..f64edce7b4c 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
   src = fetchurl {
-    url = "http://eclipse.ialto.com/eclipse/downloads/drops/R-3.7.2-201202080800/swt-3.7.2-gtk-linux-x86.zip";
+    url = "http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/swt-3.7.2-gtk-linux-x86.zip";
     sha256 = "10si8kmc7c9qmbpzs76609wkfb784pln3qpmra73gb3fbk7z8caf";
   };
 
diff --git a/pkgs/development/libraries/java/xalanj/default.nix b/pkgs/development/libraries/java/xalanj/default.nix
deleted file mode 100644
index c5ffed50be1..00000000000
--- a/pkgs/development/libraries/java/xalanj/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ fetchurl, stdenv, ant, javac, jvm, xerces }:
-
-let
-  version = "2.7.1";
-  options = "-Dbuild.compiler=gcj";   # FIXME: We assume GCJ here.
-in
-  stdenv.mkDerivation {
-    name = "xalan-j-${version}";
-
-    src = fetchurl {
-      url = "mirror://apache/xml/xalan-j/source/xalan-j_2_7_1-src.tar.gz";
-      sha256 = "0hxhx0n0ynflq1d01sma658ipwn3f3902x6n8mfk70mqkdiallps";
-    };
-
-    buildInputs = [ ant javac jvm xerces ];
-
-    configurePhase =
-      '' rm -v lib/xerces*.jar
-         export CLASSPATH="${xerces}/lib/java"
-      '';
-
-    buildPhase = "ant ${options} jar";
-    doCheck    = false;
-
-    # FIXME: Install javadoc as well.
-    installPhase =
-      '' mkdir -p "$out/lib/java"
-         cp -v build/x*.jar "$out/lib/java"
-      '';
-
-    meta = {
-      description = "Apache Xalan-Java, an XSLT processor";
-
-      longDescription =
-        '' Xalan-Java is an XSLT processor for transforming XML documents
-           into HTML, text, or other XML document types.  It implements XSL
-           Transformations (XSLT) Version 1.0 and XML Path Language (XPath)
-           Version 1.0 and can be used from the command line, in an applet or a
-           servlet, or as a module in other program.
-
-           Xalan-Java implements the javax.xml.transform interface in Java
-           API for XML Processing (JAXP) 1.3.  This interface provides a
-           modular framework and a standard API for performing XML
-           transformations, and utilizes system properties to determine which
-           Transformer and which XML parser to use.
-
-           Xalan-Java also implements the javax.xml.xpath interface in JAXP
-           1.3, which provides an object-model neutral API for evaluation of
-           XPath expressions and access to the evaluation environment.
-        '';
-
-      homepage = http://xml.apache.org/xalan-j/;
-      license = "Apache-2.0";
-
-      maintainers = [ ];
-    };
-  }
diff --git a/pkgs/development/libraries/java/xerces/default.nix b/pkgs/development/libraries/java/xerces/default.nix
deleted file mode 100644
index ed46747dbb2..00000000000
--- a/pkgs/development/libraries/java/xerces/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ fetchurl, stdenv, ant, javac, jvm }:
-
-let
-  version = "2.9.1";
-  tools   = fetchurl {
-    url = "mirror://apache/xerces/j/source/Xerces-J-tools.${version}.tar.gz";
-    sha256 = "1zzbq9ijy0f3v8w2sws9w79bkda34m9i01993md94n8fccnkiwac";
-  };
-  options = "-Dbuild.compiler=gcj";   # FIXME: We assume GCJ here.
-in
-  stdenv.mkDerivation {
-    name = "xerces-j-${version}";
-
-    src = fetchurl {
-      url = "mirror://apache/xerces/j/source/Xerces-J-src.${version}.tar.gz";
-      sha256 = "14h5jp58999f0rg4mkyab015hkgsxa8n6cx53ia0sjialxi01bqk";
-    };
-
-    buildInputs = [ ant javac jvm ];
-
-    configurePhase = "tar xzvf ${tools}";
-    buildPhase     = "ant ${options} jar";
-
-    # The `tests' directory is missing from the tarball.
-    doCheck = false;
-
-    # FIXME: Install javadoc as well.
-    installPhase =
-      '' mkdir -p "$out/lib/java"
-         cp -v build/xerces*.jar "$out/lib/java"
-      '';
-
-    meta = {
-      description = "Apache Xerces, an XML parser for Java";
-
-      longDescription =
-        '' Xerces2 Java is a library for parsing, validating and manipulating
-           XML documents.
-
-           Xerces 2.x introduced the Xerces Native Interface (XNI), a
-           complete framework for building parser components and
-           configurations that is extremely modular and easy to program.  XNI
-           is merely an internal set of interfaces.  There is no need for an
-           XML application programmer to learn XNI if they only intend to
-           interface to the Xerces2 parser using standard interfaces like
-           JAXP, DOM, and SAX.  Xerces developers and application developers
-           that need more power and flexibility than that provided by the
-           standard interfaces should read and understand XNI.
-        '';
-
-      homepage = http://xerces.apache.org/xerces2-j/;
-
-      license = "Apache-2.0";
-
-      maintainers = [ ];
-    };
-  }
diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix
index 24217657b10..9a485906e53 100644
--- a/pkgs/development/libraries/javascript/jquery-ui/default.nix
+++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "jquery-ui-1.10.3";
+  name = "jquery-ui-1.10.4";
 
   src = fetchurl {
     url = "http://jqueryui.com/resources/download/${name}.custom.zip";
-    sha256 = "1nqh3fmjgy73cbwb5sj775242i6jhz3f5b9fxgrkq00dfvkls779";
+    sha256 = "04kp27ln74j4k2jacs54264x2bsdjx1dxlw5zlpd889jqv2m6dfc";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/jbig2dec/default.nix b/pkgs/development/libraries/jbig2dec/default.nix
index e15c5c8d179..83d3149a50f 100644
--- a/pkgs/development/libraries/jbig2dec/default.nix
+++ b/pkgs/development/libraries/jbig2dec/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://jbig2dec.sourceforge.net/;
     description = "Decoder implementation of the JBIG2 image compression format";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/json-c/0.11.nix b/pkgs/development/libraries/json-c/0.11.nix
new file mode 100644
index 00000000000..029921ee08c
--- /dev/null
+++ b/pkgs/development/libraries/json-c/0.11.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "json-c-0.11";
+  src = fetchurl {
+    url    = "https://github.com/json-c/json-c/archive/json-c-0.11-20130402.tar.gz";
+    sha256 = "1m8fy7lbahv1r7yqbhw4pl057sxmmgjihm1fsvc3h66710s2i24r";
+  };
+  meta = with stdenv.lib; {
+    description = "A JSON implementation in C";
+    homepage    = https://github.com/json-c/json-c/wiki;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+
+    longDescription = ''
+      JSON-C implements a reference counting object model that allows you to
+      easily construct JSON objects in C, output them as JSON formatted strings
+      and parse JSON formatted strings back into the C representation of JSON
+      objects.
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix
index fa53cb2ddd4..ad425f2a381 100644
--- a/pkgs/development/libraries/json-c/default.nix
+++ b/pkgs/development/libraries/json-c/default.nix
@@ -1,14 +1,32 @@
-{ stdenv, fetchurl}:
+{ stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "json-c-0.9";
+  name = "json-c-0.12";
   src = fetchurl {
-    url = "http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz";
-    sha256 = "0xcl8cwzm860f8m0cdzyw6slwcddni4mraw4shvr3qgqkdn4hakh";
+    url    = "https://s3.amazonaws.com/json-c_releases/releases/${name}-nodoc.tar.gz";
+    sha256 = "0dgvjjyb9xva63l6sy70sdch2w4ryvacdmfd3fg2f2v13lqx5mkg";
   };
-  meta = {
-    homepage = "http://oss.metaparadigm.com/json-c/";
+
+  patches = [ ./unused-variable.patch ];
+
+  buildInputs = [ autoreconfHook ]; # won't configure without it, no idea why
+
+  # compatibility hack (for mypaint at least)
+  postInstall = ''
+    ln -s json-c.pc "$out/lib/pkgconfig/json.pc"
+  '';
+
+  meta = with stdenv.lib; {
     description = "A JSON implementation in C";
-    longDescription = "JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects.";
+    homepage    = https://github.com/json-c/json-c/wiki;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+
+    longDescription = ''
+      JSON-C implements a reference counting object model that allows you to
+      easily construct JSON objects in C, output them as JSON formatted strings
+      and parse JSON formatted strings back into the C representation of JSON
+      objects.
+    '';
   };
 }
diff --git a/pkgs/development/libraries/json-c/unused-variable.patch b/pkgs/development/libraries/json-c/unused-variable.patch
new file mode 100644
index 00000000000..1726234c526
--- /dev/null
+++ b/pkgs/development/libraries/json-c/unused-variable.patch
@@ -0,0 +1,18 @@
+See https://groups.google.com/forum/#!topic/json-c/TYodemkG338
+diff --git a/json_tokener.c b/json_tokener.c
+index 19de8ef..32bc8af 100644
+--- a/json_tokener.c
++++ b/json_tokener.c
+@@ -352,12 +352,10 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
+ 
+     case json_tokener_state_inf: /* aka starts with 'i' */
+       {
+-	int size;
+ 	int size_inf;
+ 	int is_negative = 0;
+ 
+ 	printbuf_memappend_fast(tok->pb, &c, 1);
+-	size = json_min(tok->st_pos+1, json_null_str_len);
+ 	size_inf = json_min(tok->st_pos+1, json_inf_str_len);
+ 	char *infbuf = tok->pb->buf;
+ 	if (*infbuf == '-')
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 8ca1445b1f6..7a45ca0f227 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, fetchurl_gnome, glib, pkgconfig }:
+{ stdenv, fetchurlGnome, glib, pkgconfig, gobjectIntrospection, dbus }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "json-glib";
-    major = "0"; minor = "14"; patchlevel = "2"; extension = "xz";
-    sha256 = "19wlpsbdnm3mq2a6yjpzj0cwrmlkarp2m5x6g63b0r2n7vxaa5mq";
+    major = "1";
+    minor = "0";
+    patchlevel = "0";
+    extension = "xz";
+    sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde";
   };
 
-  propagatedBuildInputs = [ glib ];
+  configureflags= "--with-introspection" ; 
+
+  propagatedBuildInputs = [ glib gobjectIntrospection ];
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ lethalman ];
   };
 }
diff --git a/pkgs/development/libraries/judy/default.nix b/pkgs/development/libraries/judy/default.nix
index 8c45adf4b57..4199becb06d 100644
--- a/pkgs/development/libraries/judy/default.nix
+++ b/pkgs/development/libraries/judy/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://judy.sourceforge.net/;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     description = "State-of-the-art C library that implements a sparse dynamic array";
   };
 }
diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix
index 2ff2fac296d..6f874450fc5 100644
--- a/pkgs/development/libraries/kdevplatform/default.nix
+++ b/pkgs/development/libraries/kdevplatform/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, perl, phonon,
-  gettext, pkgconfig, apr, aprutil, boost, qjson }:
+  gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }:
 
 stdenv.mkDerivation rec {
-  name = "kdevplatform-1.3.1";
+  name = "kdevplatform-1.6.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdevelop/4.3.1/src/${name}.tar.bz2";
-    sha256 = "1fiqwabw5ilhw1jwvvr743dym12y3kxrs3zlqahz57yncdsglcl6";
+    url = "mirror://kde/stable/kdevelop/4.6.0/src/${name}.tar.xz";
+    sha256 = "cdf7c88ca8860258f46e41d2107c826a307212fd041345bee54fbd70c9794f80";
   };
 
   propagatedBuildInputs = [ kdelibs qt4 phonon ];
-  buildInputs = [ apr aprutil subversion boost qjson ];
+  buildInputs = [ apr aprutil subversion boost qjson grantlee ];
 
   nativeBuildInputs = [ cmake automoc4 gettext pkgconfig ];
 
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index b0a5ecedcc6..d4285db1efb 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, openldap, readline, db4, openssl, cyrus_sasl, sqlite} :
+{ stdenv, fetchurl, openldap, readline, db, openssl, cyrus_sasl, sqlite} :
 
 stdenv.mkDerivation rec {
-  name = "heimdal-1.5.2";
+  name = "heimdal-1.5.3";
 
   src = fetchurl {
     urls = [
       "http://www.h5l.org/dist/src/${name}.tar.gz"
       "http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz"
     ];
-    sha256 = "22603f282f31173533b939d289f3374258aa1ccccbe51ee088d7568d321279ec";
+    sha256 = "19gypf9vzfrs2bw231qljfl4cqc1riyg0ai0xmm1nd1wngnpphma";
   };
 
   ## ugly, X should be made an option
@@ -23,5 +23,9 @@ stdenv.mkDerivation rec {
     rmdir $out/libexec
   '';
 
-  propagatedBuildInputs = [ readline db4 openssl openldap cyrus_sasl sqlite];
+  propagatedBuildInputs = [ readline db openssl openldap cyrus_sasl sqlite];
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index 5c408e9a76c..647a6b03113 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -23,11 +23,13 @@ stdenv.mkDerivation (rec {
     cd ${name}/src
   '';
 
+  #doCheck = true; # report: No suitable file for testing purposes
+
   enableParallelBuilding = true;
 
   meta = {
-      description = "MIT Kerberos 5";
-      homepage = webpage;
-      license = "MPL";
+    description = "MIT Kerberos 5";
+    homepage = webpage;
+    license = "MPL";
   };
 })
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
new file mode 100644
index 00000000000..0cc875e2656
--- /dev/null
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3, pygobject3, pygtk
+, gtk_doc, gtk2, python, pygobject, lua, libX11, libXext, libXrender, gobjectIntrospection
+}:
+
+stdenv.mkDerivation rec {
+  name = "keybinder-${version}";
+  version = "0.3.0";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/engla/keybinder/archive/v${version}.tar.gz";
+    sha256 = "0kkplz5snycik5xknwq1s8rnmls3qsp32z09mdpmaacydcw7g3cf";
+  };
+
+  buildInputs = [
+    autoconf automake libtool pkgconfig gnome3.gnome_common gtk_doc gnome3.gtk3
+    python pygobject3 pygtk lua libX11 libXext libXrender gobjectIntrospection gtk2
+  ];
+
+  preConfigure = ''
+    ./autogen.sh --prefix="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library for registering global key bindings";
+    longDescription = ''
+      keybinder is a library for registering global keyboard shortcuts.
+      Keybinder works with GTK-based applications using the X Window System.
+
+      The library contains:
+
+      * A C library, ``libkeybinder``
+      * Gobject-Introspection (gir)  generated bindings
+      * Lua bindings, ``lua-keybinder``
+      * Python bindings, ``python-keybinder``
+      * An ``examples`` directory with programs in C, Lua, Python and Vala.
+    '';
+    homepage = https://github.com/engla/keybinder/;
+    license = licenses.gpl2Plus;
+    platform = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
new file mode 100644
index 00000000000..75704848f7f
--- /dev/null
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, gnome3, pygobject3, pygtk
+, gtk_doc, gtk3, python, pygobject, lua, libX11, libXext, libXrender, gobjectIntrospection
+}:
+
+stdenv.mkDerivation rec {
+  name = "keybinder3-${version}";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "engla";
+    repo = "keybinder";
+    rev = "keybinder-3.0-v${version}";
+    sha256 = "1jdcrfhvqffhc2h69197wkpc5j5synk5mm8rqhz27qfrfhh4vf0q";
+  };
+
+  buildInputs = [
+    autoconf automake libtool pkgconfig gnome3.gnome_common gtk_doc
+    libX11 libXext libXrender gobjectIntrospection gtk3
+  ];
+
+  preConfigure = ''
+    ./autogen.sh --prefix="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library for registering global key bindings";
+    homepage = https://github.com/engla/keybinder/;
+    license = licenses.mit;
+    platform = platforms.linux;
+    maintainers = [ maintainers.cstrahan ];
+  };
+}
diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix
index 115da78de97..c98a01f6f70 100644
--- a/pkgs/development/libraries/lcms/default.nix
+++ b/pkgs/development/libraries/lcms/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Color management engine";
     homepage = http://www.littlecms.com/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index 774cc7047e8..521118f3175 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Color management engine";
     homepage = http://www.littlecms.com/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index 6d54dc25e94..94dfe871240 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "lensfun-0.2.5";
+  name = "lensfun-0.2.8";
 
   src = fetchurl {
-    url = "http://download.berlios.de/lensfun/${name}.tar.bz2";
-    sha256 = "11zvi3lk60iljync3a495h9la7makx6lf22fbvr4lwc933mrh562";
+    url = "mirror://sourceforge/lensfun/${name}.tar.bz2";
+    sha256 = "0j0smagnksdm9gjnk13w200hjxshmxf2kvyxxnra4nc2qzxrg3zq";
   };
 
   patchPhase = "sed -e 's@/usr/bin/python@${python}/bin/python@' -i configure";
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     platforms = platforms.all;
     maintainers = [ maintainers.urkud ];
-    license = "LGPL3";
+    license = stdenv.lib.licenses.lgpl3;
     description = "An opensource database of photographic lenses and their characteristics";
+    homepage = http://lensfun.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix
index e84bd0656c4..ecd63e98f19 100644
--- a/pkgs/development/libraries/leptonica/default.nix
+++ b/pkgs/development/libraries/leptonica/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libpng, libtiff, libjpeg, zlib}:
 
 stdenv.mkDerivation {
-  name = "leptonica-1.68";
+  name = "leptonica-1.69";
 
   src = fetchurl {
-    url = http://www.leptonica.org/source/leptonica-1.68.tar.gz;
-    sha256 = "13qzm24zy46bj9b476jxzbw9qh7p96jikfzxg88kz4dj1p2vdvxc";
+    url = http://www.leptonica.org/source/leptonica-1.69.tar.gz;
+    sha256 = "0bd7w0zpmwwfn1cnrlyzjw3jf8x59r0rhdmvk7rigr57rnfnddry";
   };
 
   buildInputs = [ libpng libtiff libjpeg zlib ];
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index 21b4eac30af..8d01c2f2f43 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, x11, libXp, libXau}:
+{stdenv, fetchurl, xlibsWrapper, libXp, libXau}:
 
 stdenv.mkDerivation {
   name = "lesstif-0.95.0-p2";
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
     url = mirror://sourceforge/lesstif/lesstif-0.95.0.tar.bz2;
     md5 = "ab895165c149d7f95843c7584b1c7ad4";
   };
-  buildInputs = [x11];
+  buildInputs = [xlibsWrapper];
   propagatedBuildInputs = [libXp libXau];
 
   # The last stable release of lesstif was in June 2006. These
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 7c990e99c33..64c03798fea 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "leveldb-1.9.0";
+  name = "leveldb-1.15.0";
 
   src = fetchurl {
     url = "https://leveldb.googlecode.com/files/${name}.tar.gz";
-    sha256 = "b2699b04e5aba8e98382c4955b94725d1f76bd0b5decd60c5628205b717a1d4f";
+    sha256 = "10363j8qmlyh971ipb7fmgk9b97bl5267c0xyccrgvpj3rbyri6p";
   };
 
   buildPhase = "make all db_bench";
diff --git a/pkgs/development/libraries/levmar/default.nix b/pkgs/development/libraries/levmar/default.nix
index 3028ba7367c..4e6dd6d5b02 100644
--- a/pkgs/development/libraries/levmar/default.nix
+++ b/pkgs/development/libraries/levmar/default.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "ANSI C implementations of Levenberg-Marquardt, usable also from C++";
     homepage = http://www.ics.forth.gr/~lourakis/levmar/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
-
diff --git a/pkgs/development/libraries/lgi/default.nix b/pkgs/development/libraries/lgi/default.nix
new file mode 100644
index 00000000000..663185831f6
--- /dev/null
+++ b/pkgs/development/libraries/lgi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, lua, glib }:
+
+stdenv.mkDerivation {
+  name = "lgi-0.7.2";
+
+  src = fetchurl {
+    url    = https://github.com/pavouk/lgi/archive/0.7.2.tar.gz;
+    sha256 = "0ihl7gg77b042vsfh0k7l53b7sl3d7mmrq8ns5lrsf71dzrr19bn";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Gobject-introspection based dynamic Lua binding to GObject based libraries";
+    homepage    = https://github.com/pavouk/lgi;
+    license     = "custom";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+  buildInputs = [ glib gobjectIntrospection lua pkgconfig ];
+
+  preBuild = ''
+    sed -i "s|/usr/local|$out|" lgi/Makefile
+  '';
+}
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index 2fc03e0d67c..401573378ee 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib
+{ lib, stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib
 , usePulseAudio }:
 
 stdenv.mkDerivation {
@@ -8,8 +8,9 @@ stdenv.mkDerivation {
     sha256 = "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9";
   };
 
-  buildInputs = [ pkgconfig alsaLib ] ++ (if usePulseAudio then [ pulseaudio ]
-    else [ alsaLib ]);
+  buildInputs = 
+    [ pkgconfig ] ++
+    lib.optional stdenv.isLinux (if usePulseAudio then [ pulseaudio ] else [ alsaLib ]);
 
   meta = {
     longDescription = ''
@@ -18,6 +19,6 @@ stdenv.mkDerivation {
       platforms.
     '';
     homepage = http://xiph.org/ao/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libarchive/CVE-2013-0211.patch b/pkgs/development/libraries/libarchive/CVE-2013-0211.patch
new file mode 100644
index 00000000000..5b1a9831063
--- /dev/null
+++ b/pkgs/development/libraries/libarchive/CVE-2013-0211.patch
@@ -0,0 +1,30 @@
+From 22531545514043e04633e1c015c7540b9de9dbe4 Mon Sep 17 00:00:00 2001
+From: Tim Kientzle <kientzle@acm.org>
+Date: Fri, 22 Mar 2013 23:48:41 -0700
+Subject: [PATCH] Limit write requests to at most INT_MAX. This prevents a
+ certain common programming error (passing -1 to write) from leading to other
+ problems deeper in the library.
+
+---
+ libarchive/archive_write.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c
+index eede5e0..be85621 100644
+--- a/libarchive/archive_write.c
++++ b/libarchive/archive_write.c
+@@ -673,8 +673,13 @@ static ssize_t
+ _archive_write_data(struct archive *_a, const void *buff, size_t s)
+ {
+ 	struct archive_write *a = (struct archive_write *)_a;
++	const size_t max_write = INT_MAX;
++
+ 	archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC,
+ 	    ARCHIVE_STATE_DATA, "archive_write_data");
++	/* In particular, this catches attempts to pass negative values. */
++	if (s > max_write)
++		s = max_write;
+ 	archive_clear_error(&a->archive);
+ 	return ((a->format_write_data)(a, buff, s));
+ }
+
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 851601fe963..f0c3c0632a9 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -2,13 +2,20 @@
 , sharutils }:
 
 stdenv.mkDerivation rec {
-  name = "libarchive-3.0.4";
+  name = "libarchive-3.1.2";
 
   src = fetchurl {
-    url = "https://github.com/downloads/libarchive/libarchive/${name}.tar.gz";
-    sha256 = "76e8d7c7b100ec4071e48c1b7d3f3ea1d22b39db3e45b7189f75b5ff4df90fac";
+    urls = [
+      "http://pkgs.fedoraproject.org/repo/pkgs/libarchive/libarchive-3.1.2.tar.gz/efad5a503f66329bb9d2f4308b5de98a/${name}.tar.gz"
+      "${meta.homepage}/downloads/${name}.tar.gz"
+    ];
+    sha256 = "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb";
   };
 
+  patches = [
+    ./CVE-2013-0211.patch # https://github.com/libarchive/libarchive/commit/22531545
+  ];
+
   buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz ] ++
     stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ];
 
@@ -19,7 +26,7 @@ stdenv.mkDerivation rec {
       compressions formats including (but not limited to) tar, shar, cpio, zip, and
       compressed with gzip, bzip2, lzma, xz, .. 
     '';
-    homepage = http://libarchive.github.com/;
+    homepage = http://libarchive.org;
     license = stdenv.lib.licenses.bsd3;
     platforms = with stdenv.lib.platforms; all;
     maintainers = with stdenv.lib.maintainers; [ jcumming ];
diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix
index 499639b3a87..15b80053218 100644
--- a/pkgs/development/libraries/libass/default.nix
+++ b/pkgs/development/libraries/libass/default.nix
@@ -1,17 +1,34 @@
-{ stdenv, fetchurl, freetype, fontconfig, pkgconfig, enca ? null }:
+{ stdenv, fetchurl, pkgconfig, yasm
+, freetype, fribidi, fontconfig
+, enca ? null
+, harfbuzz ? null
+}:
 
-stdenv.mkDerivation rec {
-  name = "libass-0.9.11";
+let
+  version = "0.11.1";
+  sha256 = "1b0ki1zdkhflszzj5qr45j9qsd0rfbb6ws5pqkny8jhih0l3lxwx";
+  baseurl = "https://github.com/libass/libass/releases/download";
+in stdenv.mkDerivation rec {
+  name = "libass-${version}";
 
   src = fetchurl {
-    url = "http://libass.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "0p3li523s8n85kfh5xdbbfffr17z8xdh2qcgvdg7ki1myv6agl7z";
+    url = "${baseurl}/${version}/${name}.tar.xz";
+    inherit sha256;
   };
 
-  buildInputs = [ freetype fontconfig enca pkgconfig ];
+  nativeBuildInputs = [ pkgconfig yasm ];
+
+  buildInputs = [
+    freetype fribidi fontconfig
+    enca harfbuzz
+  ];
 
   meta = {
+    description = "Portable ASS/SSA subtitle renderer";
     homepage = http://code.google.com/p/libass/;
+    license = stdenv.lib.licenses.isc;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.urkud ];
+    repositories.git = git://github.com/libass/libass.git;
   };
 }
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index f93a44c2e1d..f5a3d92d3db 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pth, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libassuan-2.0.3";
+  name = "libassuan-2.1.1";
 
   src = fetchurl {
     url = "mirror://gnupg/libassuan/${name}.tar.bz2";
-    sha256 = "06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds";
+    sha256 = "1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3";
   };
 
   propagatedBuildInputs = [ libgpgerror pth ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://gnupg.org;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libassuan/git.nix b/pkgs/development/libraries/libassuan/git.nix
index 743528d9265..7f77183c843 100644
--- a/pkgs/development/libraries/libassuan/git.nix
+++ b/pkgs/development/libraries/libassuan/git.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://gnupg.org;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libassuan1/default.nix b/pkgs/development/libraries/libassuan1/default.nix
index 9a161ec170f..2532cec0390 100644
--- a/pkgs/development/libraries/libassuan1/default.nix
+++ b/pkgs/development/libraries/libassuan1/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://gnupg.org;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix
new file mode 100644
index 00000000000..0e8dae7bb91
--- /dev/null
+++ b/pkgs/development/libraries/libatomic_ops/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="libatomic_ops";
+    version="7.4.2";
+    name="${baseName}-${version}";
+    hash="1pdm0h1y7bgkczr8byg20r6bq15m5072cqm5pny4f9crc9gn3yh4";
+    url="http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-7.4.2.tar.gz";
+    sha256="1pdm0h1y7bgkczr8byg20r6bq15m5072cqm5pny4f9crc9gn3yh4";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''A library for semi-portable access to hardware-provided atomic memory update operations'';
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libatomic_ops/default.upstream b/pkgs/development/libraries/libatomic_ops/default.upstream
new file mode 100644
index 00000000000..c9fd4554e4a
--- /dev/null
+++ b/pkgs/development/libraries/libatomic_ops/default.upstream
@@ -0,0 +1 @@
+url https://github.com/ivmai/libatomic_ops/wiki/Download
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 287ac32fff5..2f9e1786473 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -26,15 +26,16 @@ with { inherit (stdenv.lib) optional optionals; };
 
 let
   result = {
-    libav_9   = libavFun  "9.10" "039hx7z8lmsiljy4wj87hk8lkxspbxbrjv43v3lc38cxfx0fdnw3";
-    libav_0_8 = libavFun "0.8.8" "1wnbmbs0z4f55y8r9bwb63l04zn383l1avy4c9x1ffb2xccgcp79";
+    libav_0_8 = libavFun "0.8.13" "1fr3rzykrlm1cla0csm9hqa3gcqp19hf5rgn70nyb9w92r67v685";
+    libav_9   = libavFun   "9.16" "18378gdgzqsxaacc9vl7ligwndbdvy95wbn50hs8xvdqn1rn916a";
+    libav_10  = libavFun  "10.3"  "1fq83rc5534fjqjlhkw5i9k54dmyqn2pgvyillm6pws8rkn9yb5r";
   };
 
   libavFun = version : sha256 : stdenv.mkDerivation rec {
     name = "libav-${version}";
 
     src = fetchurl {
-      url = "http://libav.org/releases/${name}.tar.xz";
+      url = "${meta.homepage}/releases/${name}.tar.xz";
       inherit sha256;
     };
     configureFlags =
@@ -84,7 +85,7 @@ let
       cp -s "$out"/bin/* "$tools/bin/"
     '';
 
-    doInstallCheck = true;
+    doInstallCheck = false; # fails randomly
     installCheckTarget = "check"; # tests need to be run *after* installation
 
     crossAttrs = {
@@ -104,7 +105,8 @@ let
       description = "A complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)";
       license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not?
         else if enableGPL then gpl2Plus else lgpl21Plus;
-      platforms = platforms.all;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.vcunat ];
     };
   }; # libavFun
 
diff --git a/pkgs/development/libraries/libbluray/A01-filter-dup.patch b/pkgs/development/libraries/libbluray/A01-filter-dup.patch
new file mode 100644
index 00000000000..608f8dd1b49
--- /dev/null
+++ b/pkgs/development/libraries/libbluray/A01-filter-dup.patch
@@ -0,0 +1,80 @@
+diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c
+index c8dc307..26d0000 100644
+--- a/src/libbluray/bdnav/navigation.c
++++ b/src/libbluray/bdnav/navigation.c
+@@ -32,9 +32,25 @@
+ #include <stdlib.h>
+ #include <string.h>
+ 
++static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b)
++{
++    if (a->stream_type == b->stream_type &&
++        a->coding_type == b->coding_type &&
++        a->pid         == b->pid         &&
++        a->subpath_id  == b->subpath_id  &&
++        a->subclip_id  == b->subclip_id  &&
++        a->format      == b->format      &&
++        a->rate        == b->rate        &&
++        a->char_code   == b->char_code   &&
++        memcmp(a->lang, b->lang, 4) == 0) {
++        return 1;
++    }
++    return 0;
++}
++
+ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
+ {
+-    unsigned ii, jj;
++    unsigned ii, jj, kk;
+ 
+     for (ii = 0; ii < count; ii++) {
+         if (pl->list_count != pl_list[ii]->list_count) {
+@@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
+                 pi1->out_time != pi2->out_time) {
+                 break;
+             }
++            if (pi1->stn.num_video           != pi2->stn.num_video           ||
++                pi1->stn.num_audio           != pi2->stn.num_audio           ||
++                pi1->stn.num_pg              != pi2->stn.num_pg              || 
++                pi1->stn.num_ig              != pi2->stn.num_ig              ||
++                pi1->stn.num_secondary_audio != pi2->stn.num_secondary_audio ||
++                pi1->stn.num_secondary_video != pi2->stn.num_secondary_video) {
++                break;
++            }
++            for (kk = 0; kk < pi1->stn.num_video; kk++) {
++                if (!_stream_cmp(&pi1->stn.video[kk], &pi2->stn.video[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_audio; kk++) {
++                if (!_stream_cmp(&pi1->stn.audio[kk], &pi2->stn.audio[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_pg; kk++) {
++                if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_ig; kk++) {
++                if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) {
++                if (!_stream_cmp(&pi1->stn.secondary_audio[kk],
++                                 &pi2->stn.secondary_audio[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) {
++                if (!_stream_cmp(&pi1->stn.secondary_video[kk],
++                                 &pi2->stn.secondary_video[kk])) {
++                    goto next;
++                }
++            }
+         }
++next:
+         if (jj != pl->list_count) {
+             continue;
+         }
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 6c139242f3e..f0eea80e89d 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -11,7 +11,7 @@ let baseName = "libbluray";
 in
 
 stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+  name = "${baseName}-${version}p1";
 
   src = fetchgit {
     url = git://git.videolan.org/libbluray.git;
@@ -26,6 +26,9 @@ stdenv.mkDerivation {
   preConfigure = "./bootstrap";
   configureFlags = ["--disable-static"] ++ stdenv.lib.optionals withAACS ["--enable-bdjava" "--with-jdk=${jdk}"];
 
+  # From Handbrake
+  patches = [ ./A01-filter-dup.patch ];
+
   meta = {
     homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 3c28b95c066..758f86e5f9a 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -18,7 +18,6 @@ in stdenv.mkDerivation {
   meta = { 
     description = "Common functions found on BSD systems";
     homepage = http://libbsd.freedesktop.org/;
-    license = "BSD3";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
-
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index bed95311915..32035709d8f 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -1,28 +1,31 @@
-{ stdenv, fetchsvn, cmake }:
+{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi, python }:
 
-let rev = "165151"; in
+let
+  version = "3.4.2";
 
-stdenv.mkDerivation {
-  name = "libc++-pre${rev}";
+in stdenv.mkDerivation rec {
+  name = "libc++-${version}";
 
-  src = fetchsvn {
-    url = "http://llvm.org/svn/llvm-project/libcxx/trunk";
-    inherit rev;
-    sha256 = "00l8xx5nc3cjlmln7c1sy1i4v844has9kbfxrsziwkalzbgwaslz";
+  src = fetchurl {
+    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.gz";
+    sha256 = "0z3jdvgcq995khkpis5c5vaxhbmvbqjlalbhn09k6pgb5zp46rc2";
   };
 
-  buildInputs = [ cmake ];
+  buildInputs = [ cmake libcxxabi python ];
 
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
+                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"
+                 "-DLIBCXX_CXX_ABI=libcxxabi" ];
 
   enableParallelBuilding = true;
 
+  passthru.abi = libcxxabi;
+
   meta = {
     homepage = http://libcxx.llvm.org/;
     description = "A new implementation of the C++ standard library, targeting C++11";
     license = "BSD";
     maintainers = stdenv.lib.maintainers.shlevy;
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix
new file mode 100644
index 00000000000..8218cbb966f
--- /dev/null
+++ b/pkgs/development/libraries/libc++abi/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchsvn, libcxx, libunwind }:
+let
+  rev = "199626";
+in stdenv.mkDerivation {
+  name = "libcxxabi-pre-${rev}";
+
+  src = fetchsvn {
+    url = http://llvm.org/svn/llvm-project/libcxxabi/trunk;
+    rev = "199626";
+    sha256 = "0h1x1s40x5r65ar53rv34lmgcfil3zxaknqr64dka1mz29xhhrxy";
+  };
+
+  NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include"
+  '';
+
+  installPhase = ''
+    install -d -m 755 $out/include $out/lib
+    install -m 644 lib/libc++abi.so.1.0 $out/lib
+    install -m 644 include/cxxabi.h $out/include
+    ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+    ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+  '';
+
+  patchPhase = "sed -e s,-lstdc++,, -i lib/buildit";
+
+  buildPhase = "(cd lib; ./buildit)";
+
+  meta = {
+    homepage = http://libcxxabi.llvm.org/;
+    description = "A new implementation of low level support for a standard C++ library";
+    license = "BSD";
+    maintainers = stdenv.lib.maintainers.shlevy;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix
index b8410380aba..f183d9c3cd0 100644
--- a/pkgs/development/libraries/libcaca/default.nix
+++ b/pkgs/development/libraries/libcaca/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "libcaca-0.99.beta17";
+  name = "libcaca-0.99.beta18";
   
   src = fetchurl {
     url = "http://caca.zoy.org/files/libcaca/${name}.tar.gz";
-    sha256 = "1mpicj3xf4d0mf8papb1zbks5yzi4lnj6yh5cvpq7sb176gawmb3";
+    sha256 = "189kdh7zi88gxb3w33rh0p5l0yhn7s1c2xjgrpf24q2a7xihdskp";
   };
   
   configureFlags = "--disable-x11 --disable-imlib2 --disable-doc";
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index c0552845054..e69cd4ed2ac 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://0pointer.de/lennart/projects/libcanberra/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/libraries/libcangjie/default.nix b/pkgs/development/libraries/libcangjie/default.nix
new file mode 100644
index 00000000000..d22ce9ae2bf
--- /dev/null
+++ b/pkgs/development/libraries/libcangjie/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, autoconf, automake, libtool, m4, fetchurl, bash, pkgconfig, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "libcangjie-1.1";
+
+  src = fetchurl {
+    url = "https://github.com/Cangjians/libcangjie/archive/v1.1.tar.gz";
+    sha256 = "1iy57vlmwgai9763adx6q4fisg2c63cmp31d1cd8mk00c222bw1z";
+  };
+
+  buildInputs = [ automake autoconf libtool m4 pkgconfig sqlite ];
+
+  configureScript = "./autogen.sh";
+  
+  preConfigure = ''
+    find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
+  '';
+
+  doCheck = true;
+
+  meta = {
+    description = "A C library implementing the Cangjie input method";
+    longDescription = ''
+      libcangjie is a library implementing the Cangjie input method.
+    '';
+    homepage = http://cangjians.github.io/projects/libcangjie/;
+    license = stdenv.lib.licenses.lgpl3Plus;
+
+    maintainers = [ stdenv.lib.maintainers.linquize ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix
index 4a0066fccd4..b9823cefd2d 100644
--- a/pkgs/development/libraries/libcddb/default.nix
+++ b/pkgs/development/libraries/libcddb/default.nix
@@ -1,16 +1,16 @@
 {fetchurl, stdenv}:
 
 stdenv.mkDerivation rec {
-  name = "libcddb-1.3.0";
+  name = "libcddb-1.3.2";
   
   src = fetchurl {
     url = "mirror://sourceforge/libcddb/${name}.tar.bz2";
-    sha256 = "1y8bfy12dwm41m1jahayn3v47dm34fmz7m9cjxyh7xcw6fp3lzaf";
+    sha256 = "0fr21a7vprdyy1bq6s99m0x420c9jm5fipsd63pqv8qyfkhhxkim";
   };
 
   meta = {
     description = "Libcddb is a C library to access data on a CDDB server (freedb.org)";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     homepage = http://libcddb.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/libraries/libcdio/0.82.nix b/pkgs/development/libraries/libcdio/0.82.nix
new file mode 100644
index 00000000000..db4af40afbd
--- /dev/null
+++ b/pkgs/development/libraries/libcdio/0.82.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }:
+
+stdenv.mkDerivation rec {
+  name = "libcdio-0.82";
+  
+  src = fetchurl {
+    url = "mirror://gnu/libcdio/${name}.tar.gz";
+    sha256 = "0fax1dzy84dzs20bmpq2gfw6hc1x2x9mhk53wynhcycjw3l3vjqs";
+  };
+
+  buildInputs = [ libcddb pkgconfig ncurses help2man ];
+
+  # Disabled because one test (check_paranoia.sh) fails.
+  #doCheck = true;
+
+  meta = {
+    description = "A library for OS-independent CD-ROM and CD image access";
+    longDescription = ''
+      GNU libcdio is a library for OS-idependent CD-ROM and
+      CD image access.  It includes a library for working with
+      ISO-9660 filesystems (libiso9660), as well as utility
+      programs such as an audio CD player and an extractor.
+    '';
+    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = http://www.gnu.org/software/libcdio/;
+  };
+}
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index fc26fb9aca1..ac7b428bfb0 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-0.82";
+  name = "libcdio-0.92";
   
   src = fetchurl {
     url = "mirror://gnu/libcdio/${name}.tar.gz";
-    sha256 = "0fax1dzy84dzs20bmpq2gfw6hc1x2x9mhk53wynhcycjw3l3vjqs";
+    sha256 = "1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik";
   };
 
   buildInputs = [ libcddb pkgconfig ncurses help2man ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       ISO-9660 filesystems (libiso9660), as well as utility
       programs such as an audio CD player and an extractor.
     '';
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.gnu.org/software/libcdio/;
   };
 }
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
index 1da25527ef7..23fafb44c81 100644
--- a/pkgs/development/libraries/libcdr/default.nix
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libwpg, libwpd, lcms, pkgconfig }:
+{ stdenv, fetchurl, libwpg, libwpd, lcms, pkgconfig, librevenge, icu, boost }:
 
 stdenv.mkDerivation rec {
-  name = "libcdr-0.0.8";
+  name = "libcdr-0.1.0";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
-    sha256 = "117a8gp29xs3kin6kaisb3frsx8dwrsjgs4wq4y5hjqprzy6lwz0";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2";
+    sha256 = "1l4glkyyxhzqq6j9n9cc01sf1q7xx8dd97cl3bwj8w4fp06ihv7g";
   };
 
-  buildInputs = [ libwpg libwpd lcms ];
+  buildInputs = [ libwpg libwpd lcms librevenge icu boost ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libchamplain/0.6.nix b/pkgs/development/libraries/libchamplain/0.6.nix
index 79c734dcad6..a2b35a72651 100644
--- a/pkgs/development/libraries/libchamplain/0.6.nix
+++ b/pkgs/development/libraries/libchamplain/0.6.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://projects.gnome.org/libchamplain/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     description = "libchamplain, a C library providing a ClutterActor to display maps";
 
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 263b34701ee..51b7f7e181d 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://projects.gnome.org/libchamplain/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     description = "libchamplain, a C library providing a ClutterActor to display maps";
 
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index 9a1b4122365..f0d7fbfbeb6 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db4
+{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db
 , libuuid, lzo, pkgconfig, guile }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ zlib bzip2 lzo
       libgcrypt
-      gdbm db4 tdb
+      gdbm db tdb
       gnutls libuuid
       guile
     ];
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://nongnu.org/libchop/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/development/libraries/libconfig/default.nix b/pkgs/development/libraries/libconfig/default.nix
index 03b7b2cfb92..d6c238ff179 100644
--- a/pkgs/development/libraries/libconfig/default.nix
+++ b/pkgs/development/libraries/libconfig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libconfig-${version}";
-  version = "1.4.8";
+  version = "1.4.9";
 
   src = fetchurl {
     url = "http://www.hyperrealm.com/libconfig/${name}.tar.gz";
-    sha256 = "1v817hy9y416i64ly17xdmgrn62qwj225wqakdzqr2j3pygm1c8q";
+    sha256 = "0h9h8xjd36lky2r8jyc6hw085xwpslf0x6wyjvi960g6aa99gj09";
   };
 
   meta = with stdenv.lib; {
@@ -14,5 +14,6 @@ stdenv.mkDerivation rec {
     description = "a simple library for processing structured configuration files";
     license = licenses.lgpl3;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libcredis/default.nix b/pkgs/development/libraries/libcredis/default.nix
new file mode 100644
index 00000000000..036c918b32d
--- /dev/null
+++ b/pkgs/development/libraries/libcredis/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libcredis-0.2.3";
+
+  src = fetchurl {
+    url = "https://credis.googlecode.com/files/credis-0.2.3.tar.gz";
+    sha256 = "1l3hlw9rrc11qggbg9a2303p3bhxxx2vqkmlk8avsrbqw15r1ayr";
+  };
+
+  # credis build system has no install actions, provide our own.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/lib"
+    mkdir -p "$out/include"
+
+    cp -v credis-test "$out/bin/"
+    cp -v *.a *.so "$out/lib/"
+    cp -v *.h "$out/include/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C client library for Redis (key-value database)";
+    homepage = https://code.google.com/p/credis/;
+    license = licenses.bsd3; # from homepage
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index 9f5127905c2..a5ff8d409b2 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
-  name = "libcue-1.3.0";
+  name = "libcue-1.4.0";
   src = fetchurl {
     url = "mirror://sourceforge/libcue/${name}.tar.bz2";
-    sha256 = "0gcd9maxh82fc0qah0q8xh74sch0px3n7c0qx0298n2qbk2mkn12";
+    sha256 = "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb";
   };
   meta = {
     description = "A library to parse a cue sheet";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
       available.
     '';
     homepage = http://sourceforge.net/projects/libcue/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/development/libraries/libdaemon/default.nix b/pkgs/development/libraries/libdaemon/default.nix
index f9666ccf4dd..ba7e3e47ff7 100644
--- a/pkgs/development/libraries/libdaemon/default.nix
+++ b/pkgs/development/libraries/libdaemon/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://0pointer.de/lennart/projects/libdaemon/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libdc1394/default.nix b/pkgs/development/libraries/libdc1394/default.nix
index cd784a4de6a..bc5f6a1d7a0 100644
--- a/pkgs/development/libraries/libdc1394/default.nix
+++ b/pkgs/development/libraries/libdc1394/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libraw1394, libusb1 }:
 
 stdenv.mkDerivation rec {
-  name = "libdc1394-2.2.0";
+  name = "libdc1394-2.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdc1394/${name}.tar.gz";
-    sha256 = "0v7y8r8zxpkcw8fhwr6x08wkbpfzs5snw5s589fpqmn569f1grn6";
+    sha256 = "1wkcx4ff094qba1fwllmlr81i7xg7l8dzq7y7pvy3wlbpwd3634j";
   };
 
   buildInputs = [ libraw1394 libusb1 ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sourceforge.net/projects/libdc1394/;
     description = "Capture and control API for IIDC compliant cameras";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libdc1394avt/default.nix b/pkgs/development/libraries/libdc1394avt/default.nix
index 1fcdeae0d11..7565502cc1c 100644
--- a/pkgs/development/libraries/libdc1394avt/default.nix
+++ b/pkgs/development/libraries/libdc1394avt/default.nix
@@ -21,8 +21,9 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.alliedvisiontec.com/us/products/software/linux/avt-fire4linux.html;
     description = "Capture and control API for IIDC cameras with AVT extensions";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libdiscid/default.nix b/pkgs/development/libraries/libdiscid/default.nix
index b8f79f2ae69..f9d1fc87870 100644
--- a/pkgs/development/libraries/libdiscid/default.nix
+++ b/pkgs/development/libraries/libdiscid/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A C library for creating MusicBrainz DiscIDs from audio CDs";
     homepage = http://musicbrainz.org/doc/libdiscid;
-    license = "LGPL-2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libdivsufsort/default.nix b/pkgs/development/libraries/libdivsufsort/default.nix
index 21ee2351c58..62c7d432252 100644
--- a/pkgs/development/libraries/libdivsufsort/default.nix
+++ b/pkgs/development/libraries/libdivsufsort/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://code.google.com/p/libdivsufsort/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     description = "Library to construct the suffix array and the BW transformed string";
   };
 }
diff --git a/pkgs/development/libraries/libdmtx/default.nix b/pkgs/development/libraries/libdmtx/default.nix
index 970a1cf05e9..8d7049dc29a 100644
--- a/pkgs/development/libraries/libdmtx/default.nix
+++ b/pkgs/development/libraries/libdmtx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, imagemagick }:
 
 stdenv.mkDerivation rec {
-  name = "libdmtx-0.7.2";
+  name = "libdmtx-0.7.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdmtx/${name}.tar.bz2";
-    sha256 = "0iin2j3ad7ldj32dwc04g28k54iv3lrc5121rgyphm7l9hvigbvk";
+    sha256 = "0xnxx075ycy58n92yfda2z9zgd41h3d4ik5d9l197lzsqim5hb5n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 9fe34fdeb97..a2bfa08c0da 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.46";
+  name = "libdrm-2.4.56";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk";
+    sha256 = "0c20wpfa94d8kww0f2xinmm4axsl4nhq921xj4i88yhpjbhbn3z2";
   };
 
   outputs = [ "dev" "out" ];
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     description = "Library for accessing the kernel's Direct Rendering Manager";
     license = "bsd";
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdvbpsi/default.nix b/pkgs/development/libraries/libdvbpsi/default.nix
index d3ce7082621..6af8e7a415e 100644
--- a/pkgs/development/libraries/libdvbpsi/default.nix
+++ b/pkgs/development/libraries/libdvbpsi/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     description = "A simple library designed for decoding and generation of MPEG TS and DVB PSI tables according to standards ISO/IEC 13818 and ITU-T H.222.0";
     homepage = http://www.videolan.org/developers/libdvbpsi.html ;
     platforms = stdenv.lib.platforms.linux;
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 
 }
diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix
index 73755ab3386..40fa337bd66 100644
--- a/pkgs/development/libraries/libdvdcss/default.nix
+++ b/pkgs/development/libraries/libdvdcss/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "libdvdcss-1.2.10";
+  name = "libdvdcss-1.2.13";
   
   src = fetchurl {
-    url = http://download.videolan.org/pub/libdvdcss/1.2.10/libdvdcss-1.2.10.tar.bz2;
-    sha256 = "0812zxg4b6yjkckzwdzfzb4jnffykr9567f9v29barmb2d8ag513";
+    url = http://download.videolan.org/pub/libdvdcss/1.2.13/libdvdcss-1.2.13.tar.bz2;
+    sha256 = "0b5s25awn2md4jr00rwg5siwvi3kivyaxkjgfxzzh7ggrykbpwc4";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
new file mode 100644
index 00000000000..c0991b43555
--- /dev/null
+++ b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
@@ -0,0 +1,137 @@
+Index: src/dvdnav.c
+===================================================================
+--- libdvdnav.orig/src/dvdnav.c	(revision 1168)
++++ libdvdnav/src/dvdnav.c	(working copy)
+@@ -71,6 +71,67 @@
+   return DVDNAV_STATUS_OK;
+ }
+ 
++dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) {
++  dvdnav_t *this;
++
++  (*dest) = NULL;
++  this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
++  if(!this)
++    return DVDNAV_STATUS_ERR;
++
++  memcpy(this, src, sizeof(dvdnav_t));
++  this->file = NULL;
++
++  pthread_mutex_init(&this->vm_lock, NULL);
++
++  this->vm = vm_new_copy(src->vm);
++  if(!this->vm) {
++    printerr("Error initialising the DVD VM.");
++    pthread_mutex_destroy(&this->vm_lock);
++    free(this);
++    return DVDNAV_STATUS_ERR;
++  }
++
++  /* Start the read-ahead cache. */
++  this->cache = dvdnav_read_cache_new(this);
++
++  (*dest) = this;
++  return DVDNAV_STATUS_OK;
++}
++
++dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) {
++
++#ifdef LOG_DEBUG
++  fprintf(MSG_OUT, "libdvdnav: free_dup:called\n");
++#endif
++
++  if (this->file) {
++    pthread_mutex_lock(&this->vm_lock);
++    DVDCloseFile(this->file);
++#ifdef LOG_DEBUG
++    fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
++#endif
++    this->file = NULL;
++    pthread_mutex_unlock(&this->vm_lock);
++  }
++
++  /* Free the VM */
++  if(this->vm)
++    vm_free_copy(this->vm);
++
++  pthread_mutex_destroy(&this->vm_lock);
++
++  /* We leave the final freeing of the entire structure to the cache,
++   * because we don't know, if there are still buffers out in the wild,
++   * that must return first. */
++  if(this->cache)
++    dvdnav_read_cache_free(this->cache);
++  else
++    free(this);
++
++  return DVDNAV_STATUS_OK;
++}
++
+ dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
+   dvdnav_t *this;
+   struct timeval time;
+Index: src/dvdnav/dvdnav.h
+===================================================================
+--- libdvdnav.orig/src/dvdnav/dvdnav.h	(revision 1168)
++++ libdvdnav/src/dvdnav.h	(working copy)
+@@ -89,6 +89,9 @@
+  */
+ dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
+ 
++dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
++dvdnav_status_t dvdnav_free_dup(dvdnav_t *this);
++
+ /*
+  * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
+  * memory associated with it.
+Index: src/vm/vm.c
+===================================================================
+--- libdvdnav.orig/src/vm/vm.c	(revision 1168)
++++ libdvdnav/src/vm/vm.c	(working copy)
+@@ -96,6 +98,7 @@
+ 
+ static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang);
+ static pgcit_t* get_PGCIT(vm_t *vm);
++static void vm_close(vm_t *vm);
+ 
+ 
+ /* Helper functions */
+@@ -262,7 +265,7 @@
+ }
+ 
+ void vm_free_vm(vm_t *vm) {
+-  vm_stop(vm);
++  vm_close(vm);
+   free(vm);
+ }
+ 
+@@ -289,12 +292,20 @@
+ 
+ int vm_start(vm_t *vm) {
+   /* Set pgc to FP (First Play) pgc */
++  if (vm->stopped) {
++    vm_reset(vm, NULL);
++    vm->stopped = 0;
++  }
+   set_FP_PGC(vm);
+   process_command(vm, play_PGC(vm));
+   return !vm->stopped;
+ }
+ 
+ void vm_stop(vm_t *vm) {
++  vm->stopped = 1;
++}
++
++static void vm_close(vm_t *vm) {
+   if(vm->vmgi) {
+     ifoClose(vm->vmgi);
+     vm->vmgi=NULL;
+@@ -346,7 +357,7 @@
+ 
+   if (vm->dvd && dvdroot) {
+     /* a new dvd device has been requested */
+-    vm_stop(vm);
++    vm_close(vm);
+   }
+   if (!vm->dvd) {
+     vm->dvd = DVDOpen(dvdroot);
diff --git a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
new file mode 100644
index 00000000000..0e061861735
--- /dev/null
+++ b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
@@ -0,0 +1,21 @@
+diff -Naur libdvdnav.orig/Makefile.am libdvdnav/Makefile.am
+--- libdvdnav.orig/Makefile.am	2008-10-03 16:11:46.000000000 -0400
++++ libdvdnav/Makefile.am	2009-04-24 02:53:15.000000000 -0400
+@@ -1,7 +1,7 @@
+ include $(top_srcdir)/misc/Makefile.common
+ 
+ 
+-SUBDIRS = src examples doc misc m4
++SUBDIRS = src doc misc m4
+ 
+ EXTRA_DIST = autogen.sh \
+ 	     AUTHORS \
+diff -Naur libdvdnav.orig/configure.ac libdvdnav/configure.ac
+--- libdvdnav.orig/configure.ac	2009-01-08 17:57:11.000000000 -0500
++++ libdvdnav/configure.ac	2009-04-24 02:52:34.000000000 -0400
+@@ -252,5 +252,4 @@
+ misc/relchk.sh
+ m4/Makefile
+ doc/Makefile
+-examples/Makefile
+ ])
diff --git a/pkgs/development/libraries/libdvdnav/default.nix b/pkgs/development/libraries/libdvdnav/default.nix
index 4ba938911a4..9b4e912772b 100644
--- a/pkgs/development/libraries/libdvdnav/default.nix
+++ b/pkgs/development/libraries/libdvdnav/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, libdvdread}:
+{stdenv, fetchurl, pkgconfig, libdvdread}:
 
 stdenv.mkDerivation {
-  name = "libdvdnav-4.1.3";
+  name = "libdvdnav-4.2.1";
   
   src = fetchurl {
-    url = http://www2.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-4.1.3.tar.bz2;
-    sha1 = "d1b95eb8a7caee1fa7580a1abad84d6cb3cad046";
+    url = http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz;
+    sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [libdvdread];
 
   configureScript = "./configure2"; # wtf?
@@ -16,9 +17,14 @@ stdenv.mkDerivation {
     mkdir -p $out
   '';
 
+  # From Handbrake
+  patches = [ ./A08-dvdnav-dup.patch ./P00-mingw-no-examples.patch ];
+
   meta = {
-    homepage = http://www.mplayerhq.hu/;
+    homepage = http://dvdnav.mplayerhq.hu/;
     description = "A library that implements DVD navigation features such as DVD menus";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
   };
 
   passthru = { inherit libdvdread; };
diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix
index ee5d2e5e50e..eb5a48a99f1 100644
--- a/pkgs/development/libraries/libdvdread/default.nix
+++ b/pkgs/development/libraries/libdvdread/default.nix
@@ -1,29 +1,25 @@
 {stdenv, fetchurl, libdvdcss}:
 
 stdenv.mkDerivation {
-  name = "libdvdread-4.1.3";
+  name = "libdvdread-4.9.9";
   
   src = fetchurl {
-    url = http://www.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdread-4.1.3.tar.bz2;
-    sha1 = "fc4c7ba3e49929191e057b435bc4f867583ea8d5";
+    url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz;
+    sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a";
   };
 
   buildInputs = [libdvdcss];
 
   NIX_LDFLAGS = "-ldvdcss";
 
-  configureScript = "./configure2"; # wtf?
-
-  preConfigure = ''
-    mkdir -p $out
-  '';
-
   postInstall = ''
     ln -s dvdread $out/include/libdvdread
   '';
 
   meta = {
-    homepage = http://www.mplayerhq.hu/;
+    homepage = http://dvdnav.mplayerhq.hu/;
     description = "A library for reading DVDs";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
   };
 }
diff --git a/pkgs/development/libraries/libdwg/default.nix b/pkgs/development/libraries/libdwg/default.nix
index a92a48bf75f..a80c0677a3b 100644
--- a/pkgs/development/libraries/libdwg/default.nix
+++ b/pkgs/development/libraries/libdwg/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   meta = {
     description = "library reading dwg files";
     homepage = http://libdwg.sourceforge.net/en/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libe-book/0.0.nix b/pkgs/development/libraries/libe-book/0.0.nix
new file mode 100644
index 00000000000..2dc8de67039
--- /dev/null
+++ b/pkgs/development/libraries/libe-book/0.0.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu, cppunit
+, libwpd}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="libe-book";
+    version="0.0.3";
+    name="${baseName}-${version}";
+    hash="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i";
+    url="mirror://sourceforge/project/libebook/libe-book-0.0.3/libe-book-0.0.3.tar.xz";
+    sha256="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i";
+  };
+  buildInputs = [
+    gperf pkgconfig librevenge libxml2 boost icu cppunit libwpd
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''Library for import of reflowable e-book formats'';
+    license = stdenv.lib.licenses.lgpl21Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libe-book/0.0.upstream b/pkgs/development/libraries/libe-book/0.0.upstream
new file mode 100644
index 00000000000..e2994f52691
--- /dev/null
+++ b/pkgs/development/libraries/libe-book/0.0.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libebook/files/
+SF_version_dir libe-book-0.0.
+version_link '[.]tar.xz/download$'
+SF_redirect
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
new file mode 100644
index 00000000000..6dc384de204
--- /dev/null
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu, cppunit}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="libe-book";
+    version="0.1.1";
+    name="${baseName}-${version}";
+    hash="0awv96q92qgxk22w2vrf4vg90cab5qfsrkbhgz252722mrkd5p4a";
+    url="mirror://sourceforge/project/libebook/libe-book-0.1.1/libe-book-0.1.1.tar.xz";
+    sha256="0awv96q92qgxk22w2vrf4vg90cab5qfsrkbhgz252722mrkd5p4a";
+  };
+  buildInputs = [
+    gperf pkgconfig librevenge libxml2 boost icu cppunit
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''Library for import of reflowable e-book formats'';
+    license = stdenv.lib.licenses.lgpl21Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libe-book/default.upstream b/pkgs/development/libraries/libe-book/default.upstream
new file mode 100644
index 00000000000..30a6d390787
--- /dev/null
+++ b/pkgs/development/libraries/libe-book/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libebook/files/
+SF_version_dir libe-book-
+version_link '[.]tar.xz/download$'
+SF_redirect
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 48a0423653d..8d2d820a230 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libeatmydata-65";
+  name = "libeatmydata-82";
   
   src = fetchurl {
     url = "http://www.flamingspork.com/projects/libeatmydata/${name}.tar.gz";
-    sha256 = "1hfmd24ps5661zbbw1qqgqs6hcwx6ll2fxz2j4cfvkmf0kzw25la";
+    sha256 = "0aavq71bf0yxdgyf8gvyzq086shszzwpbsz5rqkjg4cz0rc5yrqb";
   };
 
   meta = {
     homepage = http://www.flamingspork.com/projects/libeatmydata/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     description = "Small LD_PRELOAD library to disable fsync and friends";
   };
 }
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index d85c205c68a..a2065111190 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.2.2";
+  name = "libebml-1.3.0";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
-    sha256 = "19dp8m97xaj46iv6ahb5v0fb9sawjiy8wy1ylljc15ka8g30hss7";
+    sha256 = "1plnh2dv8k9s4d06c2blv2sl8bnz6d6shvj0h00al597nvb79c43";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix
index 7236a4e3a97..4e04e88eaa6 100644
--- a/pkgs/development/libraries/libelf/default.nix
+++ b/pkgs/development/libraries/libelf/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.mr511.de/software/english.html;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/development/libraries/libestr/default.nix b/pkgs/development/libraries/libestr/default.nix
index 74d86667b5b..271311cf46c 100644
--- a/pkgs/development/libraries/libestr/default.nix
+++ b/pkgs/development/libraries/libestr/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation {
-  name = "libestr-0.1.4";
+  name = "libestr-0.1.9";
   src = fetchurl {
-    url = http://libestr.adiscon.com/files/download/libestr-0.1.4.tar.gz;
-    sha256 = "1qw5vqryawdm434l9ql3r160ap2f5mmp7b6pciac7qli62y0a2z3";
+    url = http://libestr.adiscon.com/files/download/libestr-0.1.9.tar.gz;
+    sha256 = "06km9mlw5qq4aa7503l81d0qcghzl0n3lh0z41r1xjpa04nnwb42";
   };
 }
diff --git a/pkgs/development/libraries/libev/src-for-default.nix b/pkgs/development/libraries/libev/src-for-default.nix
index 49624fc6bd2..3e4f58a5ce0 100644
--- a/pkgs/development/libraries/libev/src-for-default.nix
+++ b/pkgs/development/libraries/libev/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="4.11";
-   name="libev-4.11";
-   hash="1pwcjch21xc7cfmjldkw1n7lcs4pyqm9dx573wdhmmp4yrpz2mcz";
+   version="4.15";
+   name="libev-4.15";
+   hash="1svgc1hq4i5zsw4i02sf7xb4pk2d8kpvc1gdrd856vsmffh47pdj";
    url="http://dist.schmorp.de/libev/Attic/libev-${version}.tar.gz";
-   advertisedUrl="http://dist.schmorp.de/libev/Attic/libev-4.11.tar.gz";
+   advertisedUrl="http://dist.schmorp.de/libev/Attic/libev-4.15.tar.gz";
   
   
 }
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
new file mode 100644
index 00000000000..2776a3c0614
--- /dev/null
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "libevdev-1.2";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
+    sha256 = "0h54ym5rsmicl4gx7gcdaifpyndakbl38c5dcxgr27f0cy0635a1";
+  };
+
+  buildInputs = [ python ];
+
+  meta = with stdenv.lib; {
+    description = "Wrapper library for evdev devices";
+    homepage = http://www.freedesktop.org/software/libevdev/doc/latest/index.html; 
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.amorsillo ];
+  };
+}
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index a2a8403b498..bb854139b79 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl, python }:
 
 let version = "2.0.21"; in
 stdenv.mkDerivation {
@@ -9,6 +9,11 @@ stdenv.mkDerivation {
     sha256 = "1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992";
   };
 
+  patchPhase = ''
+    substituteInPlace event_rpcgen.py \
+      --replace "/usr/bin/env python2" "${python}/bin/python"
+  '';
+
   meta = {
     description = "libevent, an event notification library";
 
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index 48c66cb6070..4843b65c4d3 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://libexif.sourceforge.net/;
     description = "A library to read and manipulate EXIF data in digital photographs";
-    license = "LGPL 2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 
 }
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index a3122dcf9a9..6df5ca683f1 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -7,11 +7,11 @@ assert gtkSupport -> glib != null && gtk3 != null;
 assert videoSupport -> ffmpeg != null && libmpeg2 != null;
 
 stdenv.mkDerivation rec {
-  name = "libextractor-1.0.1";
+  name = "libextractor-1.2";
 
   src = fetchurl {
     url = "mirror://gnu/libextractor/${name}.tar.gz";
-    sha256 = "1khy9s86vq6667h02zp2fvb16sqm27xlmr0xchgfxvsd6ascnl9j";
+    sha256 = "1n7z6s5ils6xmf6b0z1xda41maxj94c1n6wlyyxmacs5lrkh2a96";
   };
 
   preConfigure =
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
          additional MIME types are detected.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 9db9b801952..da5a080521c 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -8,9 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x";
   };
 
+  patches = stdenv.lib.optional (stdenv.needsPax) ./libffi-3.0.13-emutramp_pax_proc.patch;
+
   buildInputs = stdenv.lib.optional doCheck dejagnu;
 
-  configureFlags = [ "--with-gcc-arch=generic" ]; # no detection of -march= or -mtune=
+  configureFlags = [
+    "--with-gcc-arch=generic" # no detection of -march= or -mtune=
+  ] ++ stdenv.lib.optional (stdenv.needsPax) "--enable-pax_emutramp";
 
   doCheck = stdenv.isLinux; # until we solve dejagnu problems on darwin and expect on BSD
 
diff --git a/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch b/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch
new file mode 100644
index 00000000000..c27bd9bf889
--- /dev/null
+++ b/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch
@@ -0,0 +1,37 @@
+2013-05-22  Magnus Granberg  <zorry@gentoo.org>
+
+	#457194
+	* src/closuer.c (emutramp_enabled_check): Check with /proc.
+
+--- a/src/closures.c	2013-03-17 23:27:11.000000000 +0100
++++ b/src/closures.c	2013-04-29 23:26:02.279022022 +0200
+@@ -181,10 +181,26 @@ static int emutramp_enabled = -1;
+ static int
+ emutramp_enabled_check (void)
+ {
+-  if (getenv ("FFI_DISABLE_EMUTRAMP") == NULL)
+-    return 1;
+-  else
++  char *buf = NULL;
++  size_t len = 0;
++  FILE *f;
++  int ret;
++  f = fopen ("/proc/self/status", "r");
++  if (f == NULL)
+     return 0;
++  ret = 0;
++
++  while (getline (&buf, &len, f) != -1)
++    if (!strncmp (buf, "PaX:", 4))
++      {
++        char emutramp;
++        if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
++          ret = (emutramp == 'E');
++        break;
++      }
++  free (buf);
++  fclose (f);
++  return ret;
+ }
+ 
+ #define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
new file mode 100644
index 00000000000..7a005c9fda2
--- /dev/null
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala }:
+
+stdenv.mkDerivation {
+  name = "libfm-1.2.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/pcmanfm/libfm-1.2.0.tar.xz";
+    sha256 = "08pwdrmfm9rl41lj2niyjqq2bdvydxk7v2shjxh5gk1xwj238lgh";
+  };
+
+  buildInputs = [ glib gtk intltool menu-cache pango pkgconfig vala ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://blog.lxde.org/?cat=28/";
+    license = licenses.gpl2Plus;
+    description = "A glib-based library for file management";
+    maintainers = [ maintainers.ttuegel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
new file mode 100644
index 00000000000..273bdb3136e
--- /dev/null
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, cmake, pkgconfig, libusb1, confuse
+, cppSupport ? true, boost ? null
+, pythonSupport ? true, python ? null, swig ? null
+, docSupport ? true, doxygen ? null
+}:
+
+assert cppSupport -> boost != null;
+assert pythonSupport -> python != null && swig != null;
+assert docSupport -> doxygen != null;
+
+stdenv.mkDerivation rec {
+  name = "libftdi1-1.1";
+  
+  src = fetchurl {
+    url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
+    sha256 = "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0";
+  };
+
+  buildInputs = with stdenv.lib; [ cmake pkgconfig confuse ]
+    ++ optionals cppSupport [ boost ]
+    ++ optionals pythonSupport [ python swig ]
+    ++ optionals docSupport [ doxygen ];
+
+  propagatedBuildInputs = [ libusb1 ];
+
+  postInstall = ''
+    mkdir -p "$out/etc/udev/rules.d/"
+    cp ../packages/99-libftdi.rules "$out/etc/udev/rules.d/"
+    cp -r doc/man "$out/share/"
+  '' + stdenv.lib.optionalString docSupport ''
+    mkdir -p "$out/share/libftdi/doc/"
+    cp -r doc/html "$out/share/libftdi/doc/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library to talk to FTDI chips using libusb";
+    homepage = http://www.intra2net.com/en/developer/libftdi/;
+    license = with licenses; [ lgpl2 gpl2 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix
index ef7a67b7fcd..6293632452c 100644
--- a/pkgs/development/libraries/libftdi/default.nix
+++ b/pkgs/development/libraries/libftdi/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A library to talk to FTDI chips using libusb";
     homepage = http://www.intra2net.com/en/developer/libftdi/;
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libgadu/default.nix b/pkgs/development/libraries/libgadu/default.nix
index 43056010770..b039c84b2fb 100644
--- a/pkgs/development/libraries/libgadu/default.nix
+++ b/pkgs/development/libraries/libgadu/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     description = "A library to deal with gadu-gadu protocol (most popular polish IM protocol)";
     homepage = http://toxygen.net/libgadu/;
     platforms = stdenv.lib.platforms.linux;
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 
 }
diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix
new file mode 100644
index 00000000000..ced3b723b13
--- /dev/null
+++ b/pkgs/development/libraries/libgcrypt/1.6.nix
@@ -0,0 +1,50 @@
+{ fetchurl, stdenv, libgpgerror, transfig, ghostscript, texinfo }:
+
+stdenv.mkDerivation rec {
+  name = "libgcrypt-1.6.1";
+
+  src = fetchurl {
+    url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
+    sha256 = "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1";
+  };
+
+  nativeBuildInputs = [ transfig ghostscript texinfo ];
+
+  propagatedBuildInputs = [ libgpgerror ];
+
+  preBuild = ''
+    (cd doc; make stamp-vti)
+  '';
+
+  doCheck = true;
+
+  # For some reason the tests don't find `libgpg-error.so'.
+  checkPhase = ''
+    LD_LIBRARY_PATH="${libgpgerror}/lib:$LD_LIBRARY_PATH" \
+    make check
+  '';
+
+  crossAttrs = let
+    isCross64 = stdenv.cross.config == "x86_64-w64-mingw32";
+  in stdenv.lib.optionalAttrs isCross64 {
+    configureFlags = [ "--disable-asm" "--disable-padlock-support" ];
+  };
+
+  meta = {
+    description = "GNU Libgcrypt, a general-pupose cryptographic library";
+
+    longDescription = ''
+      GNU Libgcrypt is a general purpose cryptographic library based on
+      the code from GnuPG.  It provides functions for all
+      cryptographic building blocks: symmetric ciphers, hash
+      algorithms, MACs, public key algorithms, large integer
+      functions, random numbers and a lot of supporting functions.
+    '';
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    homepage = https://www.gnu.org/software/libgcrypt/;
+    repositories.git = git://git.gnupg.org/libgcrypt.git;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index cb60355ef55..ba3de49ede8 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,16 +1,16 @@
 { fetchurl, stdenv, libgpgerror }:
 
 stdenv.mkDerivation (rec {
-  name = "libgcrypt-1.5.2";
+  name = "libgcrypt-1.5.3";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "0gwnzqd64cpwdmk93nll54nidsr74jpimxzj4p4z7502ylwl66p4";
+    sha256 = "1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw";
   };
 
   propagatedBuildInputs = [ libgpgerror ];
 
-  doCheck = true;
+  doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18
 
   # For some reason the tests don't find `libgpg-error.so'.
   checkPhase = ''
@@ -29,7 +29,7 @@ stdenv.mkDerivation (rec {
       functions, random numbers and a lot of supporting functions.
     '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     homepage = http://gnupg.org/;
     platforms = stdenv.lib.platforms.all;
@@ -38,4 +38,3 @@ stdenv.mkDerivation (rec {
   // stdenv.lib.optionalAttrs (stdenv.isFreeBSD && stdenv.isi686)
     { configureFlags = [ "--disable-aesni-support" ]; }
 )
-
diff --git a/pkgs/development/libraries/libgcrypt/git.nix b/pkgs/development/libraries/libgcrypt/git.nix
deleted file mode 100644
index bf917464343..00000000000
--- a/pkgs/development/libraries/libgcrypt/git.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ fetchgit, stdenv, libgpgerror, autoconf, automake, libtool, transfig, ghostscript, texinfo }:
-
-stdenv.mkDerivation rec {
-  name = "libgcrypt-git-20130524";
-
-  src = fetchgit {
-    url = git://git.gnupg.org/libgcrypt.git;
-    rev = "99b18aa53";
-    sha256 = "1rhbpxqrkfszlv8jvw8s4apwklal07k8zxv5q555l7binc1j1j3z";
-  };
-
-  nativeBuildInputs = [ autoconf automake libtool transfig ghostscript texinfo ];
-
-  propagatedBuildInputs = [ libgpgerror ];
-
-  preConfigure = ''
-    sh autogen.sh
-  '';
-
-  preBuild = ''
-    (cd doc; make stamp-vti)
-  '';
-
-  doCheck = true;
-
-  # For some reason the tests don't find `libgpg-error.so'.
-  checkPhase = ''
-    LD_LIBRARY_PATH="${libgpgerror}/lib:$LD_LIBRARY_PATH" \
-    make check
-  '';
-
-  meta = {
-    description = "GNU Libgcrypt, a general-pupose cryptographic library";
-
-    longDescription = ''
-      GNU Libgcrypt is a general purpose cryptographic library based on
-      the code from GnuPG.  It provides functions for all
-      cryptographic building blocks: symmetric ciphers, hash
-      algorithms, MACs, public key algorithms, large integer
-      functions, random numbers and a lot of supporting functions.
-    '';
-
-    license = "LGPLv2+";
-
-    homepage = https://www.gnu.org/software/libgcrypt/;
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix
deleted file mode 100644
index 368d873e52a..00000000000
--- a/pkgs/development/libraries/libgdata/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-x@{builderDefsPackage
-  , glib, libsoup, libxml2, pkgconfig, intltool, perl
-  , libtasn1, nettle, gmp
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="libgdata";
-    majorVersion="0.8";
-    minorVersion="1";
-    version="${majorVersion}.${minorVersion}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.bz2";
-    hash="1ffhd1dvjflwjsiba1qdianlzfdlfkjgifmw3c7qs2g6fzkf62q8";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "GData API library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.lgpl21Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/${sourceInfo.baseName}";
-    };
-  };
-}) x
-
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index 3b1e5ba0b77..56bc72acff0 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -10,11 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0klnbly2q0yx5p0l5z8da9lhqsjj9xqj06kdw2v7rnms4z1vdpkd";
   };
 
+  NIX_LDFLAGS = "-lgif";
+
   patches =
     [ (fetchurl {
         url = "https://raw.github.com/MagicGroup/MagicSpecLib/master/libgdiplus/libgdiplus-2.10.1-libpng15.patch";
         sha256 = "130r0jm065pjvbz5dkx96w37vj1wqc8fakmi2znribs14g0bl65f";
       })
+      ./giflib.patch
     ];
 
   patchFlags = "-p0";
diff --git a/pkgs/development/libraries/libgdiplus/giflib.patch b/pkgs/development/libraries/libgdiplus/giflib.patch
new file mode 100644
index 00000000000..b1135f47f3a
--- /dev/null
+++ b/pkgs/development/libraries/libgdiplus/giflib.patch
@@ -0,0 +1,117 @@
+diff --git a/src/gifcodec.c b/src/gifcodec.c
+index 8dee0eb..564beed 100644
+--- src/gifcodec.c
++++ src/gifcodec.c
+@@ -39,8 +39,10 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 0x11d3U, {0x9d, 0x7b, 0
+ 
+ #include "gifcodec.h"
+ 
++#if GIFLIB_MAJOR < 5
+ /* giflib declares this incorrectly as EgifOpen */
+ extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc);
++#endif
+ 
+ /* Data structure used for callback */
+ typedef struct
+@@ -105,7 +107,7 @@ gdip_gif_inputfunc (GifFileType *gif, GifByteType *data, int len)
+ */
+ 
+ static int
+-AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[])
++AddExtensionBlockMono(SavedImage *New, int Len, int func, BYTE ExtData[])
+ {
+ 	ExtensionBlock	*ep;
+ 
+@@ -129,7 +131,7 @@ AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[])
+ 
+ 	if (ExtData) {
+ 		memcpy(ep->Bytes, ExtData, Len);
+-		ep->Function = New->Function;
++		ep->Function = func;
+ 	}
+ 
+ 	return (GIF_OK);
+@@ -232,20 +234,20 @@ DGifSlurpMono(GifFileType * GifFile, SavedImage *TrailingExtensions)
+ 			}
+ 
+ 			case EXTENSION_RECORD_TYPE: {
+-				if (DGifGetExtension(GifFile, &temp_save.Function, &ExtData) == GIF_ERROR) {
++				int func;
++				if (DGifGetExtension(GifFile, &func, &ExtData) == GIF_ERROR) {
+ 					return (GIF_ERROR);
+ 				}
+ 
+ 				while (ExtData != NULL) {
+ 					/* Create an extension block with our data */
+-					if (AddExtensionBlockMono(&temp_save, ExtData[0], &ExtData[1]) == GIF_ERROR) {
++					if (AddExtensionBlockMono(&temp_save, func, ExtData[0], &ExtData[1]) == GIF_ERROR) {
+ 						return (GIF_ERROR);
+ 					}
+ 
+ 					if (DGifGetExtensionNext(GifFile, &ExtData) == GIF_ERROR) {
+ 						return (GIF_ERROR);
+ 					}
+-					temp_save.Function = 0;
+ 				}
+ 				break;
+ 			}
+@@ -303,12 +305,19 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL from_file)
+ 	result = NULL;
+ 	loop_counter = FALSE;
+ 
++#if GIFLIB_MAJOR < 5
+ 	if (from_file) {
+ 		gif = DGifOpen(stream, &gdip_gif_fileinputfunc);
+ 	} else {
+ 		gif = DGifOpen (stream, &gdip_gif_inputfunc);
+ 	}
+-	
++#else
++	if (from_file)
++		gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL);
++	else
++		gif = DGifOpen(stream, &gdip_gif_inputfunc, NULL);
++#endif
++
+ 	if (gif == NULL) {
+ 		goto error;
+ 	}
+@@ -660,11 +669,22 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file)
+ 		return InvalidParameter;
+ 	}
+ 
++#if GIFLIB_MAJOR < 5
+ 	if (from_file) {
+ 		fp = EGifOpenFileName (stream, 0);
+ 	} else {
+ 		fp = EGifOpen (stream, gdip_gif_outputfunc);
+ 	}
++#else
++	if (from_file)
++		fp = EGifOpenFileName (stream, 0, NULL);
++	else
++		fp = EGifOpen (stream, gdip_gif_outputfunc, NULL);
++#define MakeMapObject  GifMakeMapObject
++#define FreeMapObject  GifFreeMapObject
++#define QuantizeBuffer GifQuantizeBuffer
++#define BitSize        GifBitSize
++#endif
+ 		
+ 	if (!fp) {
+ 		return FileNotFound;
+@@ -848,8 +868,15 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file)
+ 						Buffer[0] = 1;
+ 						Buffer[1] = ptr[0];
+ 						Buffer[2] = ptr[1];
++#if GIFLIB_MAJOR < 5
+ 						EGifPutExtensionFirst(fp, APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0");
+ 						EGifPutExtensionLast(fp, APPLICATION_EXT_FUNC_CODE, 3, Buffer);
++#else
++						EGifPutExtensionLeader(fp, APPLICATION_EXT_FUNC_CODE);
++						EGifPutExtensionBlock(fp, 11, "NETSCAPE2.0");
++						EGifPutExtensionBlock(fp, 3, Buffer);
++						EGifPutExtensionTrailer(fp);
++#endif
+ 					}
+ 				}
+ 
diff --git a/pkgs/development/libraries/libgeotiff/default.nix b/pkgs/development/libraries/libgeotiff/default.nix
index 07e8d2869ce..d07aae3ab80 100644
--- a/pkgs/development/libraries/libgeotiff/default.nix
+++ b/pkgs/development/libraries/libgeotiff/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Library implementing attempt to create a tiff based interchange format for georeferenced raster imagery";
     homepage = http://www.remotesensing.org/geotiff/geotiff.html;
-    license = "X11";
+    license = stdenv.lib.licenses.mit;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libgig/default.nix b/pkgs/development/libraries/libgig/default.nix
index 6129ef42f3d..8975c4fa074 100644
--- a/pkgs/development/libraries/libgig/default.nix
+++ b/pkgs/development/libraries/libgig/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "Gigasampler file access library";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
new file mode 100644
index 00000000000..e3d64994fe2
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchurl, pkgconfig, makeWrapper, gtk, gnome, gnome3,
+  libstartup_notification, libgtop, perl, perlXMLParser, autoconf,
+  automake, libtool, intltool, gtk_doc, docbook_xsl, xauth, sudo
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.0.12";
+  pname = "libgksu";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://people.debian.org/~kov/gksu/${name}.tar.gz";
+    sha256 = "1brz9j3nf7l2gd3a5grbp0s3nksmlrp6rxmgp5s6gjvxcb1wzy92";
+  };
+
+  patches = [
+        # Patches from the gentoo ebuild
+
+        # Fix compilation on bsdc
+	./libgksu-2.0.0-fbsd.patch
+
+        # Fix wrong usage of LDFLAGS, gentoo bug #226837
+	./libgksu-2.0.7-libs.patch
+
+        # Use po/LINGUAS
+	./libgksu-2.0.7-polinguas.patch
+
+        # Don't forkpty; gentoo bug #298289
+	./libgksu-2.0.12-revert-forkpty.patch
+
+        # Make this gmake-3.82 compliant, gentoo bug #333961
+	./libgksu-2.0.12-fix-make-3.82.patch
+
+        # Do not build test programs that are never executed; also fixes gentoo bug #367397 (underlinking issues).
+	./libgksu-2.0.12-notests.patch
+
+        # Fix automake-1.11.2 compatibility, gentoo bug #397411
+	./libgksu-2.0.12-automake-1.11.2.patch
+	];
+
+  postPatch = ''
+    # gentoo bug #467026
+    sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
+
+    # Fix some binary paths
+    sed -i -e 's|/usr/bin/xauth|${xauth}/bin/xauth|g' libgksu/gksu-run-helper.c libgksu/libgksu.c
+    sed -i -e 's|/usr/bin/sudo|${sudo}/bin/sudo|g' libgksu/libgksu.c
+    sed -i -e 's|/bin/su\([^d]\)|/var/setuid-wrappers/su\1|g' libgksu/libgksu.c
+
+    touch NEWS README
+  '';
+
+  preConfigure = ''
+    intltoolize --force --copy --automake
+    autoreconf -vfi
+  '';
+
+  buildInputs = [
+    pkgconfig makeWrapper gtk gnome.GConf libstartup_notification
+    gnome3.libgnome_keyring libgtop gnome.libglade perl perlXMLParser
+    autoconf automake libtool intltool gtk_doc docbook_xsl
+  ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/gksu-properties" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A library for integration of su into applications";
+    longDescription = ''
+      This library comes from the gksu program. It provides a simple API
+      to use su and sudo in programs that need to execute tasks as other
+      user.  It provides X authentication facilities for running
+      programs in an X session.
+    '';
+    homepage = "http://www.nongnu.org/gksu/";
+    license = stdenv.lib.licenses.lgpl2;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+  };
+}
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch
new file mode 100644
index 00000000000..5c007be5b4b
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch
@@ -0,0 +1,60 @@
+diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/libgksu.c libgksu-2.0.0/libgksu/libgksu.c
+--- libgksu-2.0.0.orig/libgksu/libgksu.c	2006-09-14 22:35:51.000000000 -0400
++++ libgksu-2.0.0/libgksu/libgksu.c	2006-12-12 11:28:01.000000000 -0500
+@@ -23,7 +23,12 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <fcntl.h>
++#ifdef __FreeBSD__
++#include <libutil.h>
++#include <termios.h>
++#else
+ #include <pty.h>
++#endif
+ #include <pwd.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/Makefile.am libgksu-2.0.0/libgksu/Makefile.am
+--- libgksu-2.0.0.orig/libgksu/Makefile.am	2006-09-14 22:35:52.000000000 -0400
++++ libgksu-2.0.0/libgksu/Makefile.am	2006-12-12 11:28:01.000000000 -0500
+@@ -30,6 +30,6 @@ gksu_run_helper_SOURCES = gksu-run-helpe
+ noinst_PROGRAMS = test-gksu
+ test_gksu_SOURCES = test-gksu.c
+ test_gksu_LDADD = libgksu2.la
+-test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
++test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
+ 
+ EXTRA_DIST = libgksu.ver
+diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/Makefile.in libgksu-2.0.0/libgksu/Makefile.in
+--- libgksu-2.0.0.orig/libgksu/Makefile.in	2006-09-23 15:37:44.000000000 -0400
++++ libgksu-2.0.0/libgksu/Makefile.in	2006-12-12 11:30:09.000000000 -0500
+@@ -283,7 +283,7 @@ gksu_run_helper_LDFLAGS = `pkg-config --
+ gksu_run_helper_SOURCES = gksu-run-helper.c
+ test_gksu_SOURCES = test-gksu.c
+ test_gksu_LDADD = libgksu2.la
+-test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
++test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
+ EXTRA_DIST = libgksu.ver
+ all: all-am
+ 
+diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksuui/Makefile.am libgksu-2.0.0/libgksuui/Makefile.am
+--- libgksu-2.0.0.orig/libgksuui/Makefile.am	2006-09-14 22:35:31.000000000 -0400
++++ libgksu-2.0.0/libgksuui/Makefile.am	2006-12-12 11:28:01.000000000 -0500
+@@ -12,4 +12,4 @@ includedir = ${prefix}/include/$(PACKAGE
+ noinst_PROGRAMS = test-gksuui
+ test_gksuui_SOURCES = test-gksuui.c
+ test_gksuui_LDADD = libgksuui1.0.la
+-test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
++test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
+diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksuui/Makefile.in libgksu-2.0.0/libgksuui/Makefile.in
+--- libgksu-2.0.0.orig/libgksuui/Makefile.in	2006-09-23 15:37:44.000000000 -0400
++++ libgksu-2.0.0/libgksuui/Makefile.in	2006-12-12 11:30:22.000000000 -0500
+@@ -250,7 +250,7 @@ libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-c
+ noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
+ test_gksuui_SOURCES = test-gksuui.c
+ test_gksuui_LDADD = libgksuui1.0.la
+-test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
++test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
+ all: all-am
+ 
+ .SUFFIXES:
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch
new file mode 100644
index 00000000000..0f22166fb8b
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch
@@ -0,0 +1,25 @@
+Due to the following change, pkglib_PROGRAMS is invalid:
+    http://git.savannah.gnu.org/cgit/automake.git/commit/?id=9ca632642b006ac6b0fc4ce0ae5b34023faa8cbf
+
+https://savannah.nongnu.org/bugs/index.php?35241
+https://bugs.gentoo.org/show_bug.cgi?id=397411
+
+---
+ libgksu/Makefile.am |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgksu/Makefile.am b/libgksu/Makefile.am
+index 49362f9..3cb1090 100644
+--- a/libgksu/Makefile.am
++++ b/libgksu/Makefile.am
+@@ -22,8 +22,8 @@ includedir = ${prefix}/include/${PACKAGE}
+ pkgconfigdir = ${libdir}/pkgconfig
+ pkgconfig_DATA = libgksu2.pc
+ 
+-pkglibdir = ${libdir}/${PACKAGE}
+-pkglib_PROGRAMS = gksu-run-helper
++gksulibdir = ${libdir}/${PACKAGE}
++gksulib_PROGRAMS = gksu-run-helper
+ gksu_run_helper_LDADD = ${GLIB_LIBS} 
+ gksu_run_helper_SOURCES = gksu-run-helper.c
+ 
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch
new file mode 100644
index 00000000000..dd52b8247fa
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch
@@ -0,0 +1,19 @@
+--- libgksu/Makefile.am-orig	2010-08-22 16:11:19.872577459 -0500
++++ libgksu/Makefile.am	2010-08-22 16:11:55.289599110 -0500
+@@ -17,11 +17,11 @@
+ 
+ if GCONF_SCHEMAS_INSTALL
+ install-data-local:
+-        if test -z "$(DESTDIR)" ; then \
+-          for p in $(schemas_DATA) ; do \
+-            GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \
+-          done \
+-        fi
++	if test -z "$(DESTDIR)" ; then \
++		for p in $(schemas_DATA) ; do \
++			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \
++		done \
++	fi
+ else
+ install-data-local:
+ endif
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch
new file mode 100644
index 00000000000..3787ef6bfc1
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch
@@ -0,0 +1,26 @@
+Index: libgksu-2.0.12/libgksu/Makefile.am
+===================================================================
+--- libgksu-2.0.12.orig/libgksu/Makefile.am
++++ libgksu-2.0.12/libgksu/Makefile.am
+@@ -27,7 +27,7 @@ pkglib_PROGRAMS = gksu-run-helper
+ gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
+ gksu_run_helper_SOURCES = gksu-run-helper.c
+ 
+-noinst_PROGRAMS = test-gksu
++EXTRA_PROGRAMS = test-gksu
+ test_gksu_SOURCES = test-gksu.c
+ test_gksu_LDADD = libgksu2.la
+ test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
+Index: libgksu-2.0.12/libgksuui/Makefile.am
+===================================================================
+--- libgksu-2.0.12.orig/libgksuui/Makefile.am
++++ libgksu-2.0.12/libgksuui/Makefile.am
+@@ -9,7 +9,7 @@ libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-c
+ noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
+ includedir = ${prefix}/include/$(PACKAGE)
+ 
+-noinst_PROGRAMS = test-gksuui
++EXTRA_PROGRAMS = test-gksuui
+ test_gksuui_SOURCES = test-gksuui.c
+ test_gksuui_LDADD = libgksuui1.0.la
+ test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch
new file mode 100644
index 00000000000..2c3a8cc786b
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch
@@ -0,0 +1,359 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN libgksu-2.0.12.orig/libgksu/libgksu.c libgksu-2.0.12/libgksu/libgksu.c
+--- libgksu-2.0.12.orig/libgksu/libgksu.c	2009-06-29 13:48:24.000000000 -0400
++++ libgksu-2.0.12/libgksu/libgksu.c	2010-01-12 07:32:10.450657456 -0500
+@@ -1,7 +1,6 @@
+ /*
+  * Gksu -- a library providing access to su functionality
+  * Copyright (C) 2004-2009 Gustavo Noronha Silva
+- * Portions Copyright (C) 2009 VMware, Inc.
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -56,9 +55,6 @@
+ static void
+ gksu_context_launch_complete (GksuContext *context);
+ 
+-static void
+-read_line (int fd, gchar *buffer, int n);
+-
+ GType
+ gksu_error_get_type (void)
+ {
+@@ -2009,8 +2005,6 @@ gksu_su_fuller (GksuContext *context,
+       for (i = 0 ; cmd[i] != NULL ; i++)
+ 	g_free (cmd[i]);
+       g_free(cmd);
+-
+-      _exit(1);
+     }
+   else if (pid == -1)
+     {
+@@ -2125,10 +2119,10 @@ gksu_su_fuller (GksuContext *context,
+ 	  /* drop the \n echoed on password entry if su did request
+ 	     a password */
+ 	  if (password_needed)
+-	    read_line (fdpty, buf, 255);
++	    read (fdpty, buf, 255);
+ 	  if (context->debug)
+ 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
+-	  read_line (fdpty, buf, 255);
++	  read (fdpty, buf, 255);
+ 	  if (context->debug)
+ 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
+ 	}
+@@ -2142,9 +2136,7 @@ gksu_su_fuller (GksuContext *context,
+ 	{
+ 	  int retval = 0;
+ 
+-	  /* Red Hat's su shows the full path to su in its error messages. */
+-	  if (!strncmp (buf, "su:", 3) ||
+-	      !strncmp (buf, "/bin/su:", 7))
++	  if (!strncmp (buf, "su", 2))
+ 	    {
+ 	      gchar **strings;
+ 
+@@ -2155,11 +2147,7 @@ gksu_su_fuller (GksuContext *context,
+ 		}
+ 
+ 	      strings = g_strsplit (buf, ":", 2);
+-
+-	      /* Red Hat and Fedora use 'incorrect password'. */
+-	      if (strings[1] &&
+-	          (g_str_has_prefix(strings[1], " Authentication failure") ||
+-	           g_str_has_prefix(strings[1], " incorrect password")))
++	      if (strings[1] && !strncmp (strings[1], " Authentication failure", 23))
+ 		{
+ 		  if (used_gnome_keyring)
+ 		    g_set_error (error, gksu_quark,
+@@ -2473,12 +2461,6 @@ gksu_sudo_fuller (GksuContext *context,
+ {
+   char **cmd;
+   char buffer[256] = {0};
+-  char *child_stderr = NULL;
+-  /* This command is used to gain a token */
+-  char *const verifycmd[] =
+-    {
+-      "/usr/bin/sudo", "-p", "GNOME_SUDO_PASS", "-v", NULL
+-    };
+   int argcount = 8;
+   int i, j;
+ 
+@@ -2489,8 +2471,9 @@ gksu_sudo_fuller (GksuContext *context,
+ 
+   pid_t pid;
+   int status;
+-  FILE *fdfile = NULL;
+-  int fdpty = -1;
++  FILE *infile, *outfile;
++  int parent_pipe[2];	/* For talking to the parent */
++  int child_pipe[2];	/* For talking to the child */
+ 
+   context->sudo_mode = TRUE;
+ 
+@@ -2565,10 +2548,6 @@ gksu_sudo_fuller (GksuContext *context,
+   cmd[argcount] = g_strdup("-S");
+   argcount++;
+ 
+-  /* Make sudo noninteractive (we should already have a token) */
+-  cmd[argcount] = g_strdup("-n");
+-  argcount++;
+-
+   /* Make sudo use next arg as prompt */
+   cmd[argcount] = g_strdup("-p");
+   argcount++;
+@@ -2647,21 +2626,26 @@ gksu_sudo_fuller (GksuContext *context,
+ 	fprintf (stderr, "cmd[%d]: %s\n", i, cmd[i]);
+     }
+ 
+-  pid = forkpty(&fdpty, NULL, NULL, NULL);
+-  if (pid == 0)
++  if ((pipe(parent_pipe)) == -1)
+     {
+-      // Child
+-      setsid();   // make us session leader
+-
+-      execv(verifycmd[0], verifycmd);
++      g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
++		   _("Error creating pipe: %s"),
++		   strerror(errno));
++      sudo_reset_xauth (context, xauth, xauth_env);
++      return FALSE;
++    }
+ 
+-      g_set_error (error, gksu_quark, GKSU_ERROR_EXEC,
+-		   _("Failed to exec new process: %s"),
++  if ((pipe(child_pipe)) == -1)
++    {
++      g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
++		   _("Error creating pipe: %s"),
+ 		   strerror(errno));
+       sudo_reset_xauth (context, xauth, xauth_env);
+       return FALSE;
+     }
+-  else if (pid == -1)
++
++  pid = fork();
++  if (pid == -1)
+     {
+       g_set_error (error, gksu_quark, GKSU_ERROR_FORK,
+ 		   _("Failed to fork new process: %s"),
+@@ -2669,26 +2653,56 @@ gksu_sudo_fuller (GksuContext *context,
+       sudo_reset_xauth (context, xauth, xauth_env);
+       return FALSE;
+     }
++  else if (pid == 0)
++    {
++      // Child
++      setsid();   // make us session leader
++      close(child_pipe[1]);
++      dup2(child_pipe[0], STDIN_FILENO);
++      dup2(parent_pipe[1], STDERR_FILENO);
+ 
++      execv(cmd[0], cmd);
++
++      g_set_error (error, gksu_quark, GKSU_ERROR_EXEC,
++		   _("Failed to exec new process: %s"),
++		   strerror(errno));
++      sudo_reset_xauth (context, xauth, xauth_env);
++      return FALSE;
++    }
+   else
+     {
+       gint counter = 0;
+       gchar *cmdline = NULL;
+-      struct termios tio;
+ 
+       // Parent
+-      fdfile = fdopen(fdpty, "w+");
++      close(parent_pipe[1]);
+ 
+-      /* make sure we notice that ECHO is turned off, if it gets
+-         turned off */
+-      tcgetattr (fdpty, &tio);
+-      for (counter = 0; (tio.c_lflag & ECHO) && counter < 15; counter++)
+-      {
+-        usleep (1000);
+-        tcgetattr (fdpty, &tio);
+-      }
++      infile = fdopen(parent_pipe[0], "r");
++      if (!infile)
++	{
++	  g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
++		       _("Error opening pipe: %s"),
++		       strerror(errno));
++	  sudo_reset_xauth (context, xauth, xauth_env);
++	  return FALSE;
++	}
+ 
+-      fcntl (fdpty, F_SETFL, O_NONBLOCK);
++      outfile = fdopen(child_pipe[1], "w");
++      if (!outfile)
++	{
++	  g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
++		       _("Error opening pipe: %s"),
++		       strerror(errno));
++	  sudo_reset_xauth (context, xauth, xauth_env);
++	  return FALSE;
++	}
++
++      /*
++	we are expecting to receive a GNOME_SUDO_PASS
++	if we don't there are two possibilities: an error
++	or a password is not needed
++      */
++      fcntl (parent_pipe[0], F_SETFL, O_NONBLOCK);
+ 
+       { /* no matter if we can read, since we're using
+ 	   O_NONBLOCK; this is just to avoid the prompt
+@@ -2697,11 +2711,11 @@ gksu_sudo_fuller (GksuContext *context,
+ 	struct timeval tv;
+ 
+ 	FD_ZERO(&rfds);
+-	FD_SET(fdpty, &rfds);
++	FD_SET(parent_pipe[0], &rfds);
+ 	tv.tv_sec = 1;
+ 	tv.tv_usec = 0;
+ 
+-	select (fdpty + 1, &rfds, NULL, NULL, &tv);
++	select (parent_pipe[0] + 1, &rfds, NULL, NULL, &tv);
+       }
+ 
+       /* Try hard to find the prompt; it may happen that we're
+@@ -2713,7 +2727,7 @@ gksu_sudo_fuller (GksuContext *context,
+ 	  if (strncmp (buffer, "GNOME_SUDO_PASS", 15) == 0)
+ 	    break;
+ 
+-	  read_line (fdpty, buffer, 256);
++	  read_line (parent_pipe[0], buffer, 256);
+ 
+ 	  if (context->debug)
+ 	    fprintf (stderr, "buffer: -%s-\n", buffer);
+@@ -2747,17 +2761,18 @@ gksu_sudo_fuller (GksuContext *context,
+ 
+ 	  usleep (1000);
+ 
+-	  write (fdpty, password, strlen(password) + 1);
+-	  write (fdpty, "\n", 1);
++	  fprintf (outfile, "%s\n", password);
++	  fclose (outfile);
+ 
+ 	  nullify_password (password);
+ 
+-	  fcntl(fdpty, F_SETFL, fcntl(fdpty, F_GETFL) & ~O_NONBLOCK);
++	  /* turn NONBLOCK off */
++	  fcntl(parent_pipe[0], F_SETFL, fcntl(parent_pipe[0], F_GETFL) & ~O_NONBLOCK);
+ 	  /* ignore the first newline that comes right after sudo receives
+ 	     the password */
+-	  fgets (buffer, 255, fdfile);
+-	  /* this is the status we are interested in */
+-	  fgets (buffer, 255, fdfile);
++	  fgets (buffer, 255, infile);
++	  /* this is the status we are interessted in */
++	  fgets (buffer, 255, infile);
+ 	}
+       else
+ 	{
+@@ -2766,7 +2781,7 @@ gksu_sudo_fuller (GksuContext *context,
+ 	    fprintf (stderr, "No password prompt found; we'll assume we don't need a password.\n");
+ 
+           /* turn NONBLOCK off, also if have no prompt */
+-          fcntl(fdpty, F_SETFL, fcntl(fdpty, F_GETFL) & ~O_NONBLOCK);
++          fcntl(parent_pipe[0], F_SETFL, fcntl(parent_pipe[0], F_GETFL) & ~O_NONBLOCK);
+ 
+ 	  should_display = gconf_client_get_bool (context->gconf_client,
+ 						  BASE_PATH "display-no-pass-info", NULL);
+@@ -2785,9 +2800,14 @@ gksu_sudo_fuller (GksuContext *context,
+ 	  fprintf (stderr, "%s", buffer);
+ 	}
+ 
+-      if (g_str_has_prefix (buffer, "Sorry, try again."))
++      if (!strcmp (buffer, "Sorry, try again.\n"))
+ 	g_set_error (error, gksu_quark, GKSU_ERROR_WRONGPASS,
+ 		     _("Wrong password."));
++      else if (!strncmp (buffer, "Sorry, user ", 12))
++	g_set_error (error, gksu_quark, GKSU_ERROR_NOT_ALLOWED,
++		     _("The underlying authorization mechanism (sudo) "
++		       "does not allow you to run this program. Contact "
++		       "the system administrator."));
+       else
+ 	{
+ 	  gchar *haystack = buffer;
+@@ -2805,10 +2825,6 @@ gksu_sudo_fuller (GksuContext *context,
+ 	    }
+ 	}
+ 
+-      /* If we have an error, let's just stop sudo right there. */
+-      if (error)
+-        close(fdpty);
+-
+       cmdline = g_strdup("sudo");
+       /* wait for the child process to end or become something other
+ 	 than sudo */
+@@ -2825,23 +2841,17 @@ gksu_sudo_fuller (GksuContext *context,
+       if (context->sn_context)
+ 	gksu_context_launch_complete (context);
+ 
++      while (read (parent_pipe[0], buffer, 255) > 0)
++	{
++	  fprintf (stderr, "%s", buffer);
++	  bzero(buffer, 256);
++	}
++
+       /* if the process is still active waitpid() on it */
+       if (pid_exited != pid)
+ 	waitpid(pid, &status, 0);
+       sudo_reset_xauth (context, xauth, xauth_env);
+ 
+-      /*
+-       * Did token acquisition succeed? If so, spawn sudo in
+-       * non-interactive mode. It should either succeed or die
+-       * immediately if you're not allowed to run the command.
+-       */
+-      if (WEXITSTATUS(status) == 0)
+-        {
+-          g_spawn_sync(NULL, cmd, NULL, 0, NULL, NULL,
+-                       NULL, &child_stderr, &status,
+-                       error);
+-        }
+-
+       if (exit_status)
+       {
+       	if (WIFEXITED(status)) {
+@@ -2853,13 +2863,6 @@ gksu_sudo_fuller (GksuContext *context,
+ 
+       if (WEXITSTATUS(status))
+ 	{
+-          if (g_str_has_prefix(child_stderr, "Sorry, user "))
+-            {
+-              g_set_error (error, gksu_quark, GKSU_ERROR_NOT_ALLOWED,
+-                           _("The underlying authorization mechanism (sudo) "
+-                             "does not allow you to run this program. Contact "
+-                             "the system administrator."));
+-            }
+ 	  if(cmdline)
+ 	    {
+ 	      /* sudo already exec()ed something else, don't report
+@@ -2868,7 +2871,6 @@ gksu_sudo_fuller (GksuContext *context,
+ 	      if (!g_str_has_suffix (cmdline, "sudo"))
+ 		{
+ 		  g_free (cmdline);
+-		  g_free (child_stderr);
+ 		  return FALSE;
+ 		}
+ 	      g_free (cmdline);
+@@ -2881,11 +2883,11 @@ gksu_sudo_fuller (GksuContext *context,
+ 	}
+     }
+ 
+-  fprintf(stderr, child_stderr);
+-  g_free(child_stderr);
+-
+   /* if error is set we have found an error condition */
+-  return (error == NULL);
++  if (error)
++    return FALSE;
++
++  return TRUE;
+ }
+ 
+ /**
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch
new file mode 100644
index 00000000000..b9fb77f2714
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch
@@ -0,0 +1,76 @@
+# https://savannah.nongnu.org/bugs/?25362
+# https://bugs.gentoo.org/show_bug.cgi?id=226837
+diff -Nura a/configure.ac b/configure.ac
+--- a/configure.ac	2009-01-19 22:15:30.000000000 +0100
++++ b/configure.ac	2009-01-19 22:18:10.000000000 +0100
+@@ -43,6 +43,9 @@
+ PKG_CHECK_MODULES(LIBGKSU, [gtk+-2.0 >= 2.4.0, gconf-2.0, libstartup-notification-1.0, gnome-keyring-1, libgtop-2.0])
+ PKG_CHECK_MODULES(GKSU_PROPERTIES, [gtk+-2.0 >= 2.4.0, gconf-2.0, libglade-2.0])
+ 
++PKG_CHECK_MODULES(GLIB, [glib-2.0 gthread-2.0])
++PKG_CHECK_MODULES(GTK, [gtk+-2.0 gconf-2.0])
++
+ # Checks for library functions.
+ ALL_LINGUAS="ca cs da de es eu fr hu it ko lt pl pt_BR ro ru sk sv nb nl zh_CN"
+ 
+diff -Nura a/gksu-properties/Makefile.am b/gksu-properties/Makefile.am
+--- a/gksu-properties/Makefile.am	2009-01-19 22:15:59.000000000 +0100
++++ b/gksu-properties/Makefile.am	2009-01-19 22:19:13.000000000 +0100
+@@ -3,7 +3,7 @@
+ AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -DDATA_DIR=\"$(datadir)\" -DPREFIX=\"$(prefix)\"
+ 
+ bin_PROGRAMS = gksu-properties
+-gksu_properties_LDFLAGS = ${GKSU_PROPERTIES_LIBS}
++gksu_properties_LDADD = ${GKSU_PROPERTIES_LIBS}
+ gksu_properties_SOURCES = gksu-properties.c
+ 
+ gladedir = ${prefix}/share/${PACKAGE}
+diff -Nura a/libgksu/Makefile.am b/libgksu/Makefile.am
+--- a/libgksu/Makefile.am	2009-01-19 22:15:59.000000000 +0100
++++ b/libgksu/Makefile.am	2009-01-19 22:18:25.000000000 +0100
+@@ -8,8 +8,8 @@
+ # major -> breaks backward compatibility (changes to existing ABI)
+ # minor -> keeps compatibility (additions to the API)
+ # micro -> no change to the API/ABI
+-libgksu2_la_LIBADD = ../libgksuui/libgksuui1.0.la
+-libgksu2_la_LDFLAGS = -version-info 0:2:0 -Wl,-O1 -lutil ${LIBGKSU_LIBS}
++libgksu2_la_LIBADD = ../libgksuui/libgksuui1.0.la -lutil ${LIBGKSU_LIBS}
++libgksu2_la_LDFLAGS = -version-info 0:2:0 -Wl,-O1
+ if USE_VERSION_SCRIPT
+ libgksu2_la_LDFLAGS += -Wl,--version-script=libgksu.ver
+ endif
+@@ -24,12 +24,11 @@
+ 
+ pkglibdir = ${libdir}/${PACKAGE}
+ pkglib_PROGRAMS = gksu-run-helper
+-gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
++gksu_run_helper_LDADD = ${GLIB_LIBS} 
+ gksu_run_helper_SOURCES = gksu-run-helper.c
+ 
+ noinst_PROGRAMS = test-gksu
+ test_gksu_SOURCES = test-gksu.c
+-test_gksu_LDADD = libgksu2.la
+-test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
++test_gksu_LDADD = libgksu2.la ${GLIB_LIBS}
+ 
+ EXTRA_DIST = libgksu.ver
+diff -Nura a/libgksuui/Makefile.am b/libgksuui/Makefile.am
+--- a/libgksuui/Makefile.am	2009-01-19 22:15:59.000000000 +0100
++++ b/libgksuui/Makefile.am	2009-01-19 22:18:54.000000000 +0100
+@@ -4,12 +4,13 @@
+ 
+ noinst_LTLIBRARIES = libgksuui1.0.la
+ libgksuui1_0_la_SOURCES = gksuui-dialog.c
+-libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-config --libs gtk+-2.0 gconf-2.0`
++libgksuui1_0_la_LDFLAGS = -Wl,-O1
++libgksuui1_0_la_LIBADD = ${GTK_LIBS}
+ 
+ noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
+ includedir = ${prefix}/include/$(PACKAGE)
+ 
+ noinst_PROGRAMS = test-gksuui
+ test_gksuui_SOURCES = test-gksuui.c
+-test_gksuui_LDADD = libgksuui1.0.la
+-test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
++test_gksuui_LDADD = libgksuui1.0.la ${GLIB_LIBS}
++
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch
new file mode 100644
index 00000000000..e423af16b44
--- /dev/null
+++ b/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch
@@ -0,0 +1,40 @@
+# https://savannah.nongnu.org/bugs/?25360
+diff -Nura a/configure.ac b/configure.ac
+--- a/configure.ac	2009-01-19 21:50:57.000000000 +0100
++++ b/configure.ac	2009-01-19 21:53:21.000000000 +0100
+@@ -50,7 +50,7 @@
+ GETTEXT_PACKAGE=AC_PACKAGE_NAME
+ AC_SUBST(GETTEXT_PACKAGE)
+ 
+-IT_PROG_INTLTOOL
++IT_PROG_INTLTOOL([0.35.5])
+ AM_GLIB_GNU_GETTEXT
+ 
+ ##################################################
+diff -Nura a/po/LINGUAS b/po/LINGUAS
+--- a/po/LINGUAS	1970-01-01 01:00:00.000000000 +0100
++++ b/po/LINGUAS	2009-01-19 21:54:24.000000000 +0100
+@@ -0,0 +1,23 @@
++# please keep this list sorted alphabetically
++# http://live.gnome.org/GnomeGoals/PoLinguas
++#
++ca
++cs
++da
++de
++es
++eu
++fr
++hu
++it
++ko
++lt
++pl
++pt_BR
++ro
++ru
++sk
++sv
++nb
++nl
++zh_CN
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
new file mode 100644
index 00000000000..f055b4f5a95
--- /dev/null
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "7.35.0";
+
+  name = "libgnurl-${version}";
+
+  src = fetchurl {
+    url = "https://gnunet.org/sites/default/files/gnurl-${version}.tar.bz2";
+    sha256 = "0dzj22f5z6ppjj1aq1bml64iwbzzcd8w1qy3bgpk6gnzqslsxknf";
+  };
+
+  preConfigure = ''
+    sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A fork of libcurl used by GNUnet";
+    homepage    = https://gnunet.org/gnurl;
+    maintainers = with maintainers; [ falsifian ];
+    hydraPlatforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index eb0de7aa2be..663bd944fb9 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,13 +1,17 @@
-{ stdenv, fetchurl, bash }:
+{ stdenv, fetchurl, bash, gettext }:
 
 stdenv.mkDerivation (rec {
-  name = "libgpg-error-1.11";
+  name = "libgpg-error-1.12";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "1h0ql8j65ns2rmhj9wnc9035026crzkg226xg8614fq71947ccxf";
+    sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a";
   };
 
+  # If architecture-dependant MO files aren't available, they're generated
+  # during build, so we need gettext for cross-builds.
+  crossAttrs.buildInputs = [ gettext ];
+
   doCheck = true;
 
   meta = {
@@ -22,7 +26,7 @@ stdenv.mkDerivation (rec {
 
     homepage = http://gnupg.org;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index af985ac91fc..ca8073fbe30 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "0f1818l1vs5fbmrihzyv3qasddbqi3r01jik5crrxddwalsi2bd3";
+    sha256 = "1h0bwrbc69yq561pw4fjyclwvk0g6rrj3pw6zrdx33isipi15d2z";
   };
   
   nativeBuildInputs = [ pkgconfig gettext ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras. 
     '';
-    version = "2.5.2";
+    version = "2.5.4";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus; 
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 0ad46e2ed5f..6a1f28c96ff 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -3,10 +3,10 @@
   libimobiledevice, python, pygobject, mutagen }:
 
 stdenv.mkDerivation rec {
-  name = "libgpod-0.8.2";
+  name = "libgpod-0.8.3";
   src = fetchurl {
     url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
-    sha256 = "14m0amy56q4riwvcjszv04a9zp7l2xk8nx0vvhy94yqd0sqfjm00";
+    sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
   preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 9253468b8df..dbcdabc8951 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -4,11 +4,11 @@
 with { inherit (stdenv.lib) optionals; };
 
 stdenv.mkDerivation rec {
-  name = "libgsf-1.14.26";
+  name = "libgsf-1.14.30";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz";
-    sha256 = "1md67l60li7rkma9m6mwchqz6b6q4xsfr38c6n056y6xm8jyf6c9";
+    sha256 = "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix
index b592f458c6c..b9ae43a7c8b 100644
--- a/pkgs/development/libraries/libgtop/default.nix
+++ b/pkgs/development/libraries/libgtop/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, glib, pkgconfig, perl, intltool }:
 stdenv.mkDerivation {
-  name = "libgtop-2.28.4";
+  name = "libgtop-2.28.5";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgtop/2.28/libgtop-2.28.4.tar.xz;
-    sha256 = "1n71mg82k8m7p6kh06vgb1hk4y9cqwk1lva53pl7w9j02pyrqqdn";
+    url = mirror://gnome/sources/libgtop/2.28/libgtop-2.28.5.tar.xz;
+    sha256 = "0hik1aklcn79irgw1xf7d6cfkw8hzmy46r9jyfhp32aawisc24n8";
   };
 
   propagatedBuildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 7562765a3ac..7b669cd780a 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -34,11 +34,11 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/libiconv/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
 
     # This library is not needed on GNU platforms.
-    platforms = [ "i686-cygwin" ];
+    hydraPlatforms = stdenv.lib.platforms.cygwin ++ stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.freebsd;
   };
 }
diff --git a/pkgs/development/libraries/libid3tag/debian-patches.patch b/pkgs/development/libraries/libid3tag/debian-patches.patch
new file mode 100644
index 00000000000..0a828b334cf
--- /dev/null
+++ b/pkgs/development/libraries/libid3tag/debian-patches.patch
@@ -0,0 +1,89 @@
+diff --git a/compat.gperf b/compat.gperf
+index 4e24613..5635980 100644
+--- a/compat.gperf
++++ b/compat.gperf
+@@ -236,6 +236,10 @@ int id3_compat_fixup(struct id3_tag *tag)
+
+     encoding = id3_parse_uint(&data, 1);
+     string   = id3_parse_string(&data, end - data, encoding, 0);
++    if (!string)
++    {
++	continue;
++    }
+
+     if (id3_ucs4_length(string) < 4) {
+       free(string);
+diff --git a/genre.dat b/genre.dat
+index 17acab5..1f02779 100644
+--- a/genre.dat
++++ b/genre.dat
+@@ -277,8 +277,8 @@ static id3_ucs4_t const genre_PUNK_ROCK[] =
+   { 'P', 'u', 'n', 'k', ' ', 'R', 'o', 'c', 'k', 0 };
+ static id3_ucs4_t const genre_DRUM_SOLO[] =
+   { 'D', 'r', 'u', 'm', ' ', 'S', 'o', 'l', 'o', 0 };
+-static id3_ucs4_t const genre_A_CAPPELLA[] =
+-  { 'A', ' ', 'C', 'a', 'p', 'p', 'e', 'l', 'l', 'a', 0 };
++static id3_ucs4_t const genre_A_CAPELLA[] =
++  { 'A', ' ', 'C', 'a', 'p', 'e', 'l', 'l', 'a', 0 };
+ static id3_ucs4_t const genre_EURO_HOUSE[] =
+   { 'E', 'u', 'r', 'o', '-', 'H', 'o', 'u', 's', 'e', 0 };
+ static id3_ucs4_t const genre_DANCE_HALL[] =
+@@ -452,7 +452,7 @@ static id3_ucs4_t const *const genre_table[] = {
+   genre_DUET,
+   genre_PUNK_ROCK,
+   genre_DRUM_SOLO,
+-  genre_A_CAPPELLA,
++  genre_A_CAPELLA,
+   genre_EURO_HOUSE,
+   genre_DANCE_HALL,
+   genre_GOA,
+diff --git a/genre.dat.in b/genre.dat.in
+index 872de40..e71e34b 100644
+--- a/genre.dat.in
++++ b/genre.dat.in
+@@ -153,7 +153,7 @@ Freestyle
+ Duet
+ Punk Rock
+ Drum Solo
+-A Cappella
++A Capella
+ Euro-House
+ Dance Hall
+ Goa
+diff --git a/parse.c b/parse.c
+index 86a3f21..947c249 100644
+--- a/parse.c
++++ b/parse.c
+@@ -165,6 +165,9 @@ id3_ucs4_t *id3_parse_string(id3_byte_t const **ptr, id3_length_t length,
+   case ID3_FIELD_TEXTENCODING_UTF_8:
+     ucs4 = id3_utf8_deserialize(ptr, length);
+     break;
++  default:
++  	/* FIXME: Unknown encoding! Print warning? */
++	return NULL;
+   }
+
+   if (ucs4 && !full) {
+diff --git a/utf16.c b/utf16.c
+index 70ee9d5..6e60a75 100644
+--- a/utf16.c
++++ b/utf16.c
+@@ -282,5 +282,18 @@ id3_ucs4_t *id3_utf16_deserialize(id3_byte_t const **ptr, id3_length_t length,
+
+   free(utf16);
+
++  if (end == *ptr && length % 2 != 0)
++  {
++     /* We were called with a bogus length.  It should always
++      * be an even number.  We can deal with this in a few ways:
++      * - Always give an error.
++      * - Try and parse as much as we can and
++      *   - return an error if we're called again when we
++      *     already tried to parse everything we can.
++      *   - tell that we parsed it, which is what we do here.
++      */
++     (*ptr)++;
++  }
++
+   return ucs4;
+ }
\ No newline at end of file
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index 3b701b703c1..4cc2f65440c 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -1,17 +1,31 @@
-{stdenv, fetchurl, zlib}:
+{stdenv, fetchurl, writeText, zlib, gperf}:
+
+stdenv.mkDerivation rec {
+  version = "0.15.1b";
+
+  name = "libid3tag-${version}";
 
-stdenv.mkDerivation {
-  name = "libid3tag-0.15.1b";
   src = fetchurl {
     url = mirror://sourceforge/mad/libid3tag-0.15.1b.tar.gz;
     sha256 = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151";
   };
 
-  propagatedBuildInputs = [zlib];
+  propagatedBuildInputs = [ zlib gperf ];
+
+  patches = [ ./debian-patches.patch ];
+
+  postInstall = ''
+    mkdir -p $out/lib/pkgconfig
+    cp ${./id3tag.pc} $out/lib/pkgconfig/id3tag.pc
+    substituteInPlace $out/lib/pkgconfig/id3tag.pc \
+      --subst-var-by out $out \
+      --subst-var-by version "${version}"
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "ID3 tag manipulation library";
     homepage = http://mad.sourceforge.net/;
-    license = "GPL";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libid3tag/id3tag.pc b/pkgs/development/libraries/libid3tag/id3tag.pc
new file mode 100644
index 00000000000..854f1783cae
--- /dev/null
+++ b/pkgs/development/libraries/libid3tag/id3tag.pc
@@ -0,0 +1,11 @@
+prefix=@out@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${exec_prefix}/include
+
+Name: libid3tag
+Description: ID3 tag manipulation library
+Version: @version@
+
+Libs: -L${libdir} -lid3tag
+Cflags: -I${includedir}
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 1bd8aaca9dc..802ee9e3e88 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.25";
+  name = "libidn-1.28";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "05j7qcj7gb791k6ya2pwr7cq9yxgi0bjqiiwf9yq6pbai8r2brkz";
+    sha256 = "1yxbfdiwr3l91m79sksn6v5mgpl4lfj8i82zgryckas9hjb7ldfx";
   };
 
   doCheck = ! stdenv.isDarwin;
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       included.
     '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index b8a815e4a6f..1a39e094153 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -11,10 +11,10 @@ let
 
 in stdenv.mkDerivation rec {
 
-  name = "libinfinity-0.5.3";
+  name = "libinfinity-0.5.5";
   src = fetchurl {
     url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
-    sha256 = "04qa3ky2skhc9b5f9i9sc8hci3ykklqznmgy616yzs3n22bmax9j";
+    sha256 = "1i4cnwbvfv56m7zyyf9wki2bj000r8md414yv3cf1jdz4jbyxij7";
   };
 
   buildInputs = [ pkgconfig glib libxml2 gsasl libidn gss ]
@@ -37,9 +37,8 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = http://gobby.0x539.de/;
     description = "An implementation of the Infinote protocol written in GObject-based C";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.phreedom ];
   };
 
 }
-
diff --git a/pkgs/development/libraries/libiptcdata/default.nix b/pkgs/development/libraries/libiptcdata/default.nix
index 1094a4e7591..158962d3294 100644
--- a/pkgs/development/libraries/libiptcdata/default.nix
+++ b/pkgs/development/libraries/libiptcdata/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library for reading and writing the IPTC metadata in images and other files";
     homepage = http://libiptcdata.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libivykis/default.nix b/pkgs/development/libraries/libivykis/default.nix
new file mode 100644
index 00000000000..3ebfb5d8cfc
--- /dev/null
+++ b/pkgs/development/libraries/libivykis/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, protobufc }:
+
+stdenv.mkDerivation rec {
+  name = "libivykis-${version}";
+
+  version = "0.39";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libivykis/${version}/ivykis-${version}.tar.gz";
+    sha256 = "11d7sjbhcll932rlvx9sf3vk60b5bazmjf4vlr4qd9cz0cashizz";
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig file protobufc ];
+
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = ''
+      A thin wrapper over various OS'es implementation of I/O readiness
+      notification facilities
+    '';
+    license = licenses.zlib;
+    maintainers = [ maintainers.rickynils ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index e745aaefcf4..f59c205af4f 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nasm }:
 
 stdenv.mkDerivation rec {
-  name = "libjpeg-turbo-1.3.0";
+  name = "libjpeg-turbo-1.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz";
-    sha256 = "0d0jwdmj3h89bxdxlwrys2mw18mqcj4rzgb5l2ndpah8zj600mr6";
+    sha256 = "1fbgcvlnn3d5gvf0v9jnlcabpv2z3nwxclzyabahxi6x2xs90cn1";
   };
 
   outputs = [ "dev" "out" "doc" "bin" ];
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 166f399dc25..8884546bcdf 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, static ? false }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation {
   name = "libjpeg-8d";
@@ -8,6 +10,8 @@ stdenv.mkDerivation {
     sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0";
   };
 
+  configureFlags = optional static "--enable-static --disable-shared";
+
   outputs = [ "dev" "out" "man" "bin" ];
 
   meta = {
diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
index 3dca6a04af7..5e0a8560110 100644
--- a/pkgs/development/libraries/libjson-rpc-cpp/default.nix
+++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, cmake, curl }:
 
 let
-  name = "libjson-rpc-cpp";
+  basename = "libjson-rpc-cpp";
   version = "0.2.1";
 in
 
 stdenv.mkDerivation {
-  name = "${name}-${version}";
+  name = "${basename}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/cinemast/${name}/archive/${version}.tar.gz";
+    url = "https://github.com/cinemast/${basename}/archive/${version}.tar.gz";
     sha256 = "1pc9nn4968qkda8vr4f9dijn2fcldm8i0ymwmql29h4cl5ghdnpw";
   };
 
@@ -23,6 +23,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = "C++ framework for json-rpc (json remote procedure call)";
+    homepage = https://github.com/cinemast/libjson-rpc-cpp;
+    license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix
index a452cb7609e..db07775d45e 100644
--- a/pkgs/development/libraries/libktorrent/default.nix
+++ b/pkgs/development/libraries/libktorrent/default.nix
@@ -2,8 +2,8 @@
 , phonon, libgcrypt }:
 
 let
-  mp_ = "2.1";
-  version = "1.${mp_}-2";
+  mp_ = "3.1";
+  version = "1.${mp_}";
   version4 = "4.${mp_}";
 in
 stdenv.mkDerivation rec {
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
   pname = "libktorrent";
 
   src = fetchurl {
-    url = "http://ktorrent.org/downloads/${version4}/${name}.tar.bz2";
-    sha256 = "1b4ibkba27ivvjsh5s93xwlcgzvvwsgl6mcd8g96d1al05n2ccw9";
+    url = "${meta.homepage}/downloads/${version4}/${name}.tar.bz2";
+    sha256 = "2fe11ccb4bf2028c3da11e52cde890f1b3a90560e548eac89a4f8e1558b09725";
   };
 
   nativeBuildInputs = [ cmake automoc4 gettext ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A BiTtorrent library used by KTorrent";
-    homepage = http://ktorrent.org;
+    homepage = http://ktorrent.pwsp.net;
     inherit (kdelibs.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index b1e8342ca91..701b4df3cd8 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -1,30 +1,26 @@
-{ stdenv, fetchurl, ruby, qt4, pkgconfig, libsamplerate, fftwSinglePrec, which }:
+{ stdenv, fetchurl, qt4, pkgconfig, libsamplerate, fftwSinglePrec, which, cmake }:
 
-let version = "0.3.3"; in
+let version = "1.0.8"; in
 
 stdenv.mkDerivation rec {
   name = "liblastfm-${version}";
 
   # Upstream does not package git tags as tarballs. Get tarball from github.
   src = fetchurl {
-    url = "https://github.com/mxcl/liblastfm/tarball/${version}";
+    url = "https://github.com/lastfm/liblastfm/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "0v33vzj89mgx2pc5fmiywlz51i553ckydw9xz70fiflm2inbl1r6";
+    sha256 = "17jjhsgbwrzh09i0wcqsnmxzyrqy1png5ixpnx6rbqmhp54a3jn3";
   };
 
   prefixKey = "--prefix ";
   propagatedBuildInputs = [ qt4 libsamplerate fftwSinglePrec ];
-  nativeBuildInputs = [ ruby pkgconfig which ];
-
-  configureFlags = "--release";
-
-  patches = [ ./ruby-1.9.patch ];
-  postPatch = "patchShebangs .";
+  nativeBuildInputs = [ pkgconfig which cmake ];
 
   meta = {
-    homepage = http://github.com/mxcl/liblastfm;
+    homepage = http://github.com/lastfm/liblastfm;
+    repositories.git = git://github.com/lastfm/liblastfm.git;
     description = "Official LastFM library";
     inherit (qt4.meta) platforms;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    maintainers = with stdenv.lib.maintainers; [ urkud phreedom ];
   };
 }
diff --git a/pkgs/development/libraries/liblastfm/ruby-1.9.patch b/pkgs/development/libraries/liblastfm/ruby-1.9.patch
deleted file mode 100644
index ac6d175e73a..00000000000
--- a/pkgs/development/libraries/liblastfm/ruby-1.9.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Subject: [PATCH] Fix compilation with ruby-1.9
-
-__FILE__ is a relative path in ruby-1.9
-
----
- admin/Makefile.rb |    4 ++--
- admin/qpp         |    2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/admin/Makefile.rb b/admin/Makefile.rb
-index 592f5a5..33fe688 100755
---- a/admin/Makefile.rb
-+++ b/admin/Makefile.rb
-@@ -6,7 +6,7 @@
- 
- cwd = File.dirname( __FILE__ )
- require 'find'
--require "#{cwd}/platform.rb"
-+require_relative 'platform'
- 
- 
- ######################################################################### defs
-@@ -158,4 +158,4 @@ puts <<-EOS
- .PHONY: dist
- dist:
- 	git archive --prefix=#{BASENAME}/ HEAD | bzip2 > #{BASENAME}.tar.bz2
--EOS
-\ No newline at end of file
-+EOS
-diff --git a/admin/qpp b/admin/qpp
-index 36b2d05..ee840fd 100755
---- a/admin/qpp
-+++ b/admin/qpp
-@@ -4,7 +4,7 @@
- 
- cwd=File.dirname __FILE__
- require 'find'
--require "#{cwd}/findsrc"
-+require_relative 'findsrc'
- 
- sources = Array.new
- headers = Array.new
--- 
-tg: (f0b3239..) t/ruby19 (depends on: master)
diff --git a/pkgs/development/libraries/liblo/default.nix b/pkgs/development/libraries/liblo/default.nix
index a2235da408e..ab8c696a66c 100644
--- a/pkgs/development/libraries/liblo/default.nix
+++ b/pkgs/development/libraries/liblo/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "lightweight library to handle the sending and receiving of messages according to the Open Sound Control (OSC) protocol";
     homepage = http://sourceforge.net/projects/liblo;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/liblockfile/default.nix b/pkgs/development/libraries/liblockfile/default.nix
index f991fdc2f29..e7e4cd6c75d 100644
--- a/pkgs/development/libraries/liblockfile/default.nix
+++ b/pkgs/development/libraries/liblockfile/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Shared library with NFS-safe locking functions";
     homepage = http://packages.debian.org/unstable/libs/liblockfile1;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/liblogging/default.nix b/pkgs/development/libraries/liblogging/default.nix
new file mode 100644
index 00000000000..7a754a28e3d
--- /dev/null
+++ b/pkgs/development/libraries/liblogging/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, systemd }:
+
+stdenv.mkDerivation rec {
+  name = "liblogging-1.0.4";
+
+  src = fetchurl {
+    url = "http://download.rsyslog.com/liblogging/${name}.tar.gz";
+    sha256 = "075q6zjqpdlmaxhahd1ynr6nasqpyjnzj1zlcvzp3ixxm0m5vsxc";
+  };
+
+  buildInputs = [ pkgconfig systemd ];
+
+  meta = {
+    description = "Lightweight signal-safe logging library";
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/liblscp/default.nix b/pkgs/development/libraries/liblscp/default.nix
index 33731e5d755..a1cbf9250c4 100644
--- a/pkgs/development/libraries/liblscp/default.nix
+++ b/pkgs/development/libraries/liblscp/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "LinuxSampler Control Protocol (LSCP) wrapper library";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libmatchbox/default.nix b/pkgs/development/libraries/libmatchbox/default.nix
index b45b443f6de..38702817734 100644
--- a/pkgs/development/libraries/libmatchbox/default.nix
+++ b/pkgs/development/libraries/libmatchbox/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library of the matchbox X window manager";
     homepage = http://matchbox-project.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index 0bbc095c380..67b9e728955 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libebml }:
 
 stdenv.mkDerivation rec {
-  name = "libmatroska-1.3.0";
+  name = "libmatroska-1.4.1";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2";
-    sha256 = "0scfs5lc1nvdfv7ipgg02h7wzxks48hc5lvgk9qmwdkihnayqcaj";
+    sha256 = "1dzglkl0hpimld1kahkrrp857hw5pg1r7xxbpnx7jmlj7s3j2vq8";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
new file mode 100644
index 00000000000..8207051b2a8
--- /dev/null
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, glib, python, udev }:
+
+stdenv.mkDerivation rec {
+  name = "libmbim-1.6.0";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/libmbim/${name}.tar.xz";
+    sha256 = "10mh1b8jfxg6y6nhr7swbi9wx4acjgvx1if7nhrw1ppd5apvvvz0";
+  };
+
+  preConfigure = ''
+    for f in build-aux/mbim-codegen/*; do
+       substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python"
+    done
+  '';
+
+  buildInputs = [ pkgconfig glib udev ];
+
+  meta = with stdenv.lib; {
+    description = "talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix
index b724f915150..16196c9abc9 100644
--- a/pkgs/development/libraries/libmemcached/default.nix
+++ b/pkgs/development/libraries/libmemcached/default.nix
@@ -1,18 +1,24 @@
 { stdenv, fetchurl, cyrus_sasl, libevent }:
 
 stdenv.mkDerivation rec {
-  name = "libmemcached-1.0.7";
+  name = "libmemcached-1.0.18";
   
   src = fetchurl {
-    url = https://launchpad.net/libmemcached/1.0/1.0.7/+download/libmemcached-1.0.7.tar.gz;
-    sha256 = "10cdczkgqiirjy7jwfdk49namqi4jiv1djqrf5fxbaiyfg4qdyiy";
+    url = https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz;
+    sha256 = "10jzi14j32lpq0if0p9vygcl2c1352hwbywzvr9qzq7x6aq0nb72";
   };
   
+  # Fix linking against libpthread (patch from Fedora)
+  # https://bugzilla.redhat.com/show_bug.cgi?id=1037707
+  # https://bugs.launchpad.net/libmemcached/+bug/1281907
+  patches = [ ./libmemcached-fix-linking-with-libpthread.patch ];
+
   buildInputs = [ cyrus_sasl libevent ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libmemcached.org;
     description = "Open source C/C++ client library and tools for the memcached server";
-    license = "BSD";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch b/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch
new file mode 100644
index 00000000000..e5e21c43358
--- /dev/null
+++ b/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch
@@ -0,0 +1,19 @@
+diff -up libmemcached-1.0.16/build-aux/ltmain.sh.orig libmemcached-1.0.16/build-aux/ltmain.sh
+--- libmemcached-1.0.16/build-aux/ltmain.sh.orig	2013-12-03 16:36:53.222107642 +0100
++++ libmemcached-1.0.16/build-aux/ltmain.sh	2013-12-03 16:37:35.770132249 +0100
+@@ -5664,6 +5664,15 @@ func_mode_link ()
+ 	    *" $arg "*) ;;
+ 	    * ) func_append new_inherited_linker_flags " $arg" ;;
+ 	esac
++	# As we are forced to pass -nostdlib to g++ during linking, the option
++	# -pthread{,s} is not in effect;  add the -lpthread to $deplist
++	# explicitly to link correctly.
++	if test "$tagname" = CXX -a x"$with_gcc" = xyes; then
++	  case "$arg" in
++	    -pthread*) func_append deplibs " -lpthread" ;;
++	  esac
++	fi
++
+ 	continue
+ 	;;
+ 
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 9ad9f944b4a..959dca47573 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, curl}:
+{stdenv, fetchurl, curl, libgcrypt}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.24";
+  name = "libmicrohttpd-0.9.35";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "0cp2ac6wbk493zslbvbmb5z96h18k496f9id8d2ji7hbdrwzfk6h";
+    sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw";
   };
 
-  buildInputs = [ curl ];
+  buildInputs = [ curl libgcrypt ];
 
   preCheck =
     # Since `localhost' can't be resolved in a chroot, work around it.
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
        done
     '';
 
-  doCheck = true;
+  # Disabled because the tests can time-out.
+  doCheck = false;
 
   meta = {
     description = "GNU libmicrohttpd, an embeddable HTTP server library";
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
       it easy to run an HTTP server as part of another application.
     '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     homepage = http://www.gnu.org/software/libmicrohttpd/;
 
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index c8fa978534d..7f925cd9b2a 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, m4}:
 
 stdenv.mkDerivation rec {
-  name = "libmilter-8.14.4";
+  name = "libmilter-8.14.8";
   
   src = fetchurl {
-    url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.4.tar.gz";
-    sha256 = "1cbwz5ynl8snrdkl7ay1qhqknbyv0qsvdvcri7mb662hgi1hj0dw";
+    url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.8.tar.gz";
+    sha256 = "1zmhzkj3gzx8022hsrysr3nzlcmv1qisb5i4jbx91661bw96ksq2";
   };
 
   buildPhase = '' 
diff --git a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
new file mode 100644
index 00000000000..9f863cac412
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
@@ -0,0 +1,12 @@
+diff --git a/include/libmkv.h b/include/libmkv.h
+index 146a91f..f03d608 100644
+--- a/include/libmkv.h
++++ b/include/libmkv.h
+@@ -94,6 +94,7 @@ extern "C" {
+ #define MK_SUBTITLE_USF    "S_TEXT/USF"
+ #define MK_SUBTITLE_VOBSUB "S_VOBSUB"
+ #define MK_SUBTITLE_BMP    "S_IMAGE/BMP"
++#define MK_SUBTITLE_PGS    "S_HDMV/PGS"
+ 
+ /* Official Tags */
+ #define MK_TAG_TITLE		"TITLE"
diff --git a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
new file mode 100644
index 00000000000..ea31957c1d2
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
@@ -0,0 +1,28 @@
+diff --git a/include/libmkv.h b/include/libmkv.h
+index 146a91f..f03d608 100644
+--- a/include/libmkv.h
++++ b/include/libmkv.h
+@@ -203,6 +204,7 @@ struct mk_TrackConfig_s {
+ 		} video;
+ 		struct {
+ 			float samplingFreq;	/* Sampling Frequency in Hz */
++			float outputSamplingFreq;	/* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */
+ 			unsigned channels;	/* Number of channels for this track */
+ 			unsigned bitDepth;	/* Bits per sample (PCM) */
+ 		} audio;
+diff --git a/src/tracks.c b/src/tracks.c
+index f9c7e48..a2a60ca 100644
+--- a/src/tracks.c
++++ b/src/tracks.c
+@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc)
+ 			/* SamplingFrequency */
+ 			if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0)
+ 				return NULL;
++			if (tc->extra.audio.outputSamplingFreq) {
++				/* Output SamplingFrequency */
++				if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0)
++					return NULL;
++			}
+ 			/* Channels */
+ 			if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0)
+ 				return NULL;
diff --git a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
new file mode 100644
index 00000000000..6a83eacca83
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
@@ -0,0 +1,24 @@
+--- libmkv.orig/src/matroska.c	2009-01-12 23:14:26.000000000 -0800
++++ libmkv/src/matroska.c	2009-03-25 15:22:30.000000000 -0700
+@@ -27,6 +27,11 @@
+ 
+ #include <sys/time.h>
+ 
++#if defined( __MINGW32__ )
++#undef fseeko
++#define fseeko fseeko64
++#endif
++
+ #define RESERVED_SEEKHEAD 0x100
+ /* 256 bytes should be enough room for our Seek entries. */
+ #define RESERVED_CHAPTERS 0x800
+@@ -34,7 +39,7 @@
+ 
+ int mk_seekFile(mk_Writer *w, uint64_t pos)
+ {
+-	if (fseek(w->fp, pos, SEEK_SET))
++	if (fseeko(w->fp, pos, SEEK_SET))
+ 		return -1;
+ 
+ 	w->f_pos = pos;
+
diff --git a/pkgs/development/libraries/libmkv/default.nix b/pkgs/development/libraries/libmkv/default.nix
new file mode 100644
index 00000000000..c4b98d956bb
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, libtool, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "libmkv-0.6.5.1p2";
+  
+  src = fetchgit {
+    url = https://github.com/saintdev/libmkv.git;
+    rev = "refs/tags/0.6.5.1";
+    sha256 = "1b0441x5rl5dbwrc0hq9jih111iil7ckqws3hcdj63jx2ma3s4hi";
+  };
+
+  nativeBuildInputs = [ libtool autoconf automake ];
+
+  # TODO fix library version
+  preConfigure = "sh bootstrap.sh";
+
+  # From Handbrake
+  patches = [
+    ./A01-hbmv-pgs.patch
+    ./A02-audio-out-sampling-freq.patch
+    ./P00-mingw-large-file.patch
+  ];
+
+  meta = {
+    homepage = https://github.com/saintdev/libmkv;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
+  };
+}
diff --git a/pkgs/development/libraries/libmm-qt/default.nix b/pkgs/development/libraries/libmm-qt/default.nix
new file mode 100644
index 00000000000..f78604f86c5
--- /dev/null
+++ b/pkgs/development/libraries/libmm-qt/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, cmake, pkgconfig, qt4, doxygen, modemmanager }:
+
+let
+  pname = "libmm-qt";
+  version = "1.0.1";
+  name = "${pname}-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  buildInputs = [
+    cmake
+    pkgconfig
+    qt4
+    doxygen
+  ];
+
+  propagatedBuildInputs = [ modemmanager ];
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/modemmanager-qt/${version}/src/${name}-1.tar.xz";
+    sha256 = "0ad57815a904ddb2660a7327c0bda5da47a2a60ce57b2b12f4aaff99b174f74a";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://projects.kde.org/projects/extragear/libs/libmm-qt";
+    description = "Qt wrapper for ModemManager DBus API";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.jgeerds ];
+  };
+}
diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix
index 0f6d220861c..441b4ea7f9a 100644
--- a/pkgs/development/libraries/libmms/default.nix
+++ b/pkgs/development/libraries/libmms/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, glib, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "libmms-0.6.2";
+  name = "libmms-0.6.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/libmms/${name}.tar.gz";
-    sha256 = "0cm4gq5jm8wj04biai6cyvlvdwv286vb3ycyzi870z9d2xi1p4q1";
+    sha256 = "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w";
   };
 
   buildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix
index fcaf95672e1..b58e2dd257d 100644
--- a/pkgs/development/libraries/libmng/default.nix
+++ b/pkgs/development/libraries/libmng/default.nix
@@ -1,24 +1,20 @@
-{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms, automake110x, autoconf, libtool }:
+{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms2 }:
 
 stdenv.mkDerivation rec {
-  name = "libmng-1.0.10";
+  name = "libmng-2.0.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libmng/${name}.tar.bz2";
-    sha256 = "06415s40gz833s1v1q7c04c0m49p4sc87ich0vpdid2ldj0pf53v";
+    url = "mirror://sourceforge/libmng/${name}.tar.xz";
+    sha256 = "0l5wa3b9rr4zl49zbbjpapqyccqjwzkzw1ph3p4pk9p5h73h9317";
   };
 
-  preConfigure = "unmaintained/autogen.sh";
-
-  nativeBuildInputs = [ automake110x autoconf libtool ];
-
-  propagatedBuildInputs = [ zlib libpng libjpeg lcms ];
+  propagatedBuildInputs = [ zlib libpng libjpeg lcms2 ];
 
   meta = {
     description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics";
     homepage = http://www.libmng.com;
     license = "zlib/libpng";
     maintainers = with stdenv.lib.maintainers; [ marcweber urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libmnl/default.nix b/pkgs/development/libraries/libmnl/default.nix
index fb6eacc366b..94401c30a6b 100644
--- a/pkgs/development/libraries/libmnl/default.nix
+++ b/pkgs/development/libraries/libmnl/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       re-inventing the wheel.
     '';
     homepage = http://netfilter.org/projects/libmnl/index.html;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
new file mode 100644
index 00000000000..f6a816ef96f
--- /dev/null
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libmodbus-3.0.6";
+
+  src = fetchurl {
+    url = "http://libmodbus.org/releases/${name}.tar.gz";
+    sha256 = "1dkijjv3dq0c5vc5z5f1awm8dlssbwg6ivsnvih22pkm1zqn6v84";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library to send/receive data according to the Modbus protocol";
+    homepage = http://libmodbus.org/;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libmodplug/default.nix b/pkgs/development/libraries/libmodplug/default.nix
index a45bc9fdf8d..c1fb0033aa9 100644
--- a/pkgs/development/libraries/libmodplug/default.nix
+++ b/pkgs/development/libraries/libmodplug/default.nix
@@ -1,47 +1,20 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="libmodplug";
-    version="0.8.8.4";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/project/modplug-xmms/${baseName}/${version}/${name}.tar.gz";
-    hash="1xv44bd84c4qi41i1wwjr6qzazx15l85yvi74sz49ldyvlyy2pjw";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+let
+  version = "0.8.8.5";
+in stdenv.mkDerivation rec {
+  name = "libmodplug-${version}";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "Music library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.publicDomain;
+  meta = with stdenv.lib; {
+    description = "MOD playing library";
+    homepage    = "http://modplug-xmms.sourceforge.net/";
+    license     = licenses.publicDomain;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ raskin ];
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/modplug-xmms/files/libmodplug/";
-    };
-  };
-}) x
 
+  src = fetchurl {
+    url = "mirror://sourceforge/project/modplug-xmms/libmodplug/${version}/${name}.tar.gz";
+    sha256 = "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp";
+  };
+}
diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix
new file mode 100644
index 00000000000..9ad2498dfa0
--- /dev/null
+++ b/pkgs/development/libraries/libmp3splt/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, libtool, libmad }:
+
+stdenv.mkDerivation rec {
+  name = "libmp3splt-0.9.1";
+  
+  src = fetchurl {
+    url = "http://prdownloads.sourceforge.net/mp3splt/${name}.tar.gz";
+    sha256 = "17ar9d669cnirkz1kdrim687wzi36y8inapnj4svlsvr00vdzfxa";
+  };
+
+  buildInputs = [ libtool libmad ];
+
+  configureFlags = "--disable-pcre";
+
+  meta = with stdenv.lib; {
+    homepage    = http://sourceforge.net/projects/mp3splt/;
+    description = "utility to split mp3, ogg vorbis and FLAC files without decoding";
+    maintainers = with maintainers; [ bosu ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libmpeg2/A00-tags.patch b/pkgs/development/libraries/libmpeg2/A00-tags.patch
new file mode 100644
index 00000000000..0b5d7d7da12
--- /dev/null
+++ b/pkgs/development/libraries/libmpeg2/A00-tags.patch
@@ -0,0 +1,27 @@
+diff -ru mpeg2dec.orig/libmpeg2/decode.c mpeg2dec/libmpeg2/decode.c
+--- mpeg2dec.orig/libmpeg2/decode.c	2008-07-09 12:16:05.000000000 -0700
++++ mpeg2dec/libmpeg2/decode.c	2009-07-03 16:29:48.000000000 -0700
+@@ -212,7 +212,7 @@
+ 
+ mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec)
+ {
+-    static int (* process_header[]) (mpeg2dec_t * mpeg2dec) = {
++    static int (* process_header[]) (mpeg2dec_t *) = {
+ 	mpeg2_header_picture, mpeg2_header_extension, mpeg2_header_user_data,
+ 	mpeg2_header_sequence, NULL, NULL, NULL, NULL, mpeg2_header_gop
+     };
+@@ -368,6 +368,14 @@
+ 
+ void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2)
+ {
++    if (mpeg2dec->num_tags == 0 && mpeg2dec->state == STATE_PICTURE && mpeg2dec->picture) {
++        // since tags got processed when we entered this state we
++        // have to set them directly or they'll end up on the next frame.
++        mpeg2dec->picture->tag = tag;
++        mpeg2dec->picture->tag2 = tag2;
++        mpeg2dec->picture->flags |= PIC_FLAG_TAGS;
++        return;
++    }
+     mpeg2dec->tag_previous = mpeg2dec->tag_current;
+     mpeg2dec->tag2_previous = mpeg2dec->tag2_current;
+     mpeg2dec->tag_current = tag;
diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix
index 1d04eea89f6..e651a932efe 100644
--- a/pkgs/development/libraries/libmpeg2/default.nix
+++ b/pkgs/development/libraries/libmpeg2/default.nix
@@ -1,13 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmpeg2-0.5.1";
+  name = "libmpeg2-0.5.1p4";
   
   src = fetchurl {
     url = "http://libmpeg2.sourceforge.net/files/${name}.tar.gz";
     sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny";
   };
 
+  # From Handbrake - Project seems unmaintained
+  patches = [
+    ./A00-tags.patch
+  ];
+
   meta = {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
diff --git a/pkgs/development/libraries/libmrss/default.nix b/pkgs/development/libraries/libmrss/default.nix
index b1f7b0071c8..865330fdda7 100644
--- a/pkgs/development/libraries/libmrss/default.nix
+++ b/pkgs/development/libraries/libmrss/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.autistici.org/bakunin/libmrss/doc;
     description = "C library for parsing, writing and creating RSS/ATOM files or streams";
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.viric ];
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix
new file mode 100644
index 00000000000..ab9dbd48ea4
--- /dev/null
+++ b/pkgs/development/libraries/libmsgpack/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, ruby, scatterOutputHook }:
+
+stdenv.mkDerivation rec {
+  version = "0.5.8";
+  name = "libmsgpack-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/msgpack/msgpack-c/archive/cpp-${version}.tar.gz";
+    sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k";
+  };
+
+  nativeBuildInputs = [ scatterOutputHook ];
+  buildInputs = [ autoconf automake libtool ruby ];
+
+  outputs = [ "out" "bin" ];
+
+  preConfigure = ''
+    sed -i s,glibtoolize,libtoolize, ./bootstrap
+    ./bootstrap
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "MessagePack implementation for C and C++";
+    homepage = http://msgpack.org;
+    maintainers = [ maintainers.redbaron ];
+    license = licenses.asl20;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libmsn/default.nix b/pkgs/development/libraries/libmsn/default.nix
index 4ec5e62ea04..77fe3403de7 100644
--- a/pkgs/development/libraries/libmsn/default.nix
+++ b/pkgs/development/libraries/libmsn/default.nix
@@ -6,5 +6,6 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/libmsn/${name}.tar.bz2";
     sha256 = "338369c7455b123e84b9a7a858ac0ed2b1dc32e6529f460fdc01d28869a20fde";
   };
+  patches = [ ./fix-ftbfs-gcc4.7.diff ];
   buildInputs = [ cmake openssl ];
 }
diff --git a/pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff b/pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff
new file mode 100644
index 00000000000..46aeab31c84
--- /dev/null
+++ b/pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff
@@ -0,0 +1,16 @@
+Fix g++ 4.7 build failure
+
+Kudos to Matthias Klose for the patch
+
+Index: libmsn-4.2/msn/util.cpp
+===================================================================
+--- libmsn-4.2.orig/msn/util.cpp	2009-07-22 19:57:10.000000000 +0000
++++ libmsn-4.2/msn/util.cpp	2012-04-16 20:52:18.068767213 +0000
+@@ -25,6 +25,7 @@
+ #include <msn/util.h>
+ #include <sstream>
+ #include <errno.h>
++#include <unistd.h>
+ #include <cctype>
+ #include <fstream>
+ #include <openssl/rand.h>
diff --git a/pkgs/development/libraries/libmspack/default.nix b/pkgs/development/libraries/libmspack/default.nix
index 7a8b2d36143..b78e583fa64 100644
--- a/pkgs/development/libraries/libmspack/default.nix
+++ b/pkgs/development/libraries/libmspack/default.nix
@@ -1,16 +1,19 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "libmspack-0.3alpha";
+  name = "libmspack-0.4alpha";
   src = fetchurl {
-    url = http://www.cabextract.org.uk/libmspack/libmspack-0.3alpha.tar.gz;
-    sha256 = "03rlzhvzd3qm7sb029gs14syq1z6xjmczvwb9kbz5sl20sjngidh";
+    # upstream url: "curl: (22) The requested URL returned error: 406 Not Acceptable"
+    #url = http://www.cabextract.org.uk/libmspack/libmspack-0.4alpha.tar.gz;
+    url = "http://pkgs.fedoraproject.org/lookaside/pkgs/libmspack/"
+      + "libmspack-0.4alpha.tar.gz/1ab10b507259993c74b4c41a88103b59/libmspack-0.4alpha.tar.gz";
+    sha256 = "0s2w5zxx9cw7445cx9ap59ky5n7r201551zg906w9ghcys1qk5dp";
   };
 
   meta = {
     description = "A de/compression library for various Microsoft formats";
     homepage = http://www.cabextract.org.uk/libmspack;
-    license = "LGPL2";
+    license = stdenv.lib.licenses.lgpl2;
   };
 
 }
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index 95d060df7f7..10bc9e5eebf 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, libusb1 }:
 
 stdenv.mkDerivation rec {
-  name = "libmtp-1.1.5";
+  name = "libmtp-1.1.6";
 
   propagatedBuildInputs = [ libusb1 ];
   buildInputs = [ pkgconfig ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/libmtp/${name}.tar.gz";
-    sha256 = "0fn6y7kirgln6sfizmwvjsy7qkdb0p3rccf0zkr3r2xg3cbpjxkq";
+    sha256 = "02nbf1cigxmv9sak201f4m5c1d21q6avgzjlxd941plimy1iq71s";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libmusclecard/default.nix b/pkgs/development/libraries/libmusclecard/default.nix
index 5968c6d9a55..af235b83382 100644
--- a/pkgs/development/libraries/libmusclecard/default.nix
+++ b/pkgs/development/libraries/libmusclecard/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix
new file mode 100644
index 00000000000..7cdb8fb4691
--- /dev/null
+++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, cmake, neon, libdiscid }:
+
+stdenv.mkDerivation rec {
+  name = "libmusicbrainz-5.0.1";
+
+  buildInputs = [ cmake neon libdiscid ];
+
+  src = fetchurl {
+    url = "https://github.com/downloads/metabrainz/libmusicbrainz/${name}.tar.gz";
+    md5 = "a0406b94c341c2b52ec0fe98f57cadf3";
+  };
+
+  dontUseCmakeBuildDir=true;
+
+  meta = {
+    homepage = http://musicbrainz.org/doc/libmusicbrainz;
+    description = "MusicBrainz Client Library (5.x version)";
+    longDescription = ''
+      The libmusicbrainz (also known as mb_client or MusicBrainz Client
+      Library) is a development library geared towards developers who wish to
+      add MusicBrainz lookup capabilities to their applications.'';
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libmwaw/0.2.nix b/pkgs/development/libraries/libmwaw/0.2.nix
new file mode 100644
index 00000000000..d66414b6814
--- /dev/null
+++ b/pkgs/development/libraries/libmwaw/0.2.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib, libwpg, libwpd, librevenge}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="libmwaw";
+    version="0.2.1";
+    name="${baseName}-${version}";
+    hash="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn";
+    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.2.1/libmwaw-0.2.1.tar.xz";
+    sha256="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn";
+  };
+  buildInputs = [
+    boost pkgconfig cppunit zlib libwpg libwpd librevenge
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''Import library for some old mac text documents'';
+    license = stdenv.lib.licenses.mpl20 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libmwaw/0.2.upstream b/pkgs/development/libraries/libmwaw/0.2.upstream
new file mode 100644
index 00000000000..8ce00ecf767
--- /dev/null
+++ b/pkgs/development/libraries/libmwaw/0.2.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libmwaw/files/libmwaw/
+SF_version_dir libmwaw-0.2.
+version_link '[.]tar.xz/download$'
+SF_redirect
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
new file mode 100644
index 00000000000..297d0a2f2ee
--- /dev/null
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib, libwpg, libwpd, librevenge}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="libmwaw";
+    version="0.3.2";
+    name="${baseName}-${version}";
+    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-${version}/libmwaw-${version}.tar.bz2";
+    sha256="0rzp2bbwyxdq1i9b2y5jz5b2ic7466l8ifgmz7lk8bsmqxbb0a0d";
+  };
+  buildInputs = [
+    boost pkgconfig cppunit zlib libwpg libwpd librevenge
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''Import library for some old mac text documents'';
+    license = stdenv.lib.licenses.mpl20 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libmwaw/default.upstream b/pkgs/development/libraries/libmwaw/default.upstream
new file mode 100644
index 00000000000..0db6d23a52f
--- /dev/null
+++ b/pkgs/development/libraries/libmwaw/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libmwaw/files/libmwaw/
+SF_version_dir libmwaw-
+version_link '[.]tar.xz/download$'
+SF_redirect
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
new file mode 100644
index 00000000000..ab2a2d2afdd
--- /dev/null
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl
+, libtool, pkgconfig, automake, autoconf, intltool
+, glib, gobjectIntrospection, gtk2, gtk_doc
+, clutter, clutter_gtk
+}:
+
+stdenv.mkDerivation rec {
+  name = "libmx-${version}";
+  version = "1.4.7";
+
+  src = fetchurl {
+    url = "https://github.com/clutter-project/mx/archive/${version}.tar.gz";
+    sha256 = "8a7514ea33c1dec7251d0141e24a702e7701dc9f00348cbcf1816925b7f74dbc";
+  };
+
+  # remove the following superfluous checks
+  preConfigure = ''
+    substituteInPlace "autogen.sh" \
+      --replace '`which intltoolize`' '"x"' \
+      --replace '`which gtkdocize`' '"x"' \
+      --replace '`which autoreconf`' '"x"'
+  '';
+
+  configureFlags = [ "--enable-introspection"
+                     "--without-startup-notification"
+                     "--without-dbus"
+                     "--without-glade"
+                     "--without-clutter-imcontext"
+                     "--without-clutter-gesture"
+                   ];
+
+  configureScript = "sh autogen.sh";
+
+  buildInputs = [
+    pkgconfig automake autoconf libtool
+    intltool
+    gobjectIntrospection glib
+    gtk2 gtk_doc clutter clutter_gtk
+  ];
+
+  # patch to resolve GL errors
+  # source : https://github.com/clutter-project/mx/pull/62
+  preBuild = ''
+    sed -i 's/GLushort/gushort/g' mx/mx-deform-texture.c
+    sed -i 's/GLfloat/gfloat/g' mx/mx-texture-frame.c
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.clutter-project.org/;
+    description = "A Clutter-based toolkit";
+    longDescription =
+      ''Mx is a widget toolkit using Clutter that provides a set of standard
+        interface elements, including buttons, progress bars, scroll bars and
+        others. It also implements some standard managers. One other interesting
+        feature is the possibility setting style properties from a CSS format
+        file.'';
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index 8e689ed2568..da32903c94e 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libnfnetlink, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "libnetfilter_conntrack-1.0.2";
+  name = "libnetfilter_conntrack-1.0.4";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/libnetfilter_conntrack/files/${name}.tar.bz2";
-    md5 = "447114b5d61bb9a9617ead3217c3d3ff";
+    sha256 = "0zcwjav1qgr7ikmvfmy7g3nc7s1kj4j4939d18mpyha9mwy4mv6r";
   };
 
   buildInputs = [ pkgconfig libnfnetlink libmnl ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       by conntrack-tools among many other applications
     '';
     homepage = http://netfilter.org/projects/libnetfilter_conntrack/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix
index 3bb698e9bf6..c47076014c4 100644
--- a/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/pkgs/development/libraries/libnfnetlink/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       It is only used by other netfilter.org projects, like the aforementioned ones.
     '';
     homepage = http://www.netfilter.org/projects/libnfnetlink/index.html;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libnih/default.nix b/pkgs/development/libraries/libnih/default.nix
index aeb0792dacf..ab6931c63ca 100644
--- a/pkgs/development/libraries/libnih/default.nix
+++ b/pkgs/development/libraries/libnih/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A small library for C application development";
     homepage = https://launchpad.net/libnih;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libnm-qt/default.nix b/pkgs/development/libraries/libnm-qt/default.nix
new file mode 100644
index 00000000000..39e784fe89f
--- /dev/null
+++ b/pkgs/development/libraries/libnm-qt/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, cmake, pkgconfig, qt4, networkmanager, libmm-qt }:
+
+let
+  pname = "libnm-qt";
+  version = "0.9.8.2";
+  name = "${pname}-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  buildInputs = [
+    cmake
+    pkgconfig
+    qt4
+    networkmanager
+  ];
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
+  propagatedBuildInputs = [ libmm-qt ];
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/networkmanager-qt/${version}/src/${name}.tar.xz";
+    sha256 = "118fa4732536677f889b2776ec45bd0c726f26abcb8e8b6f8dfcaee265475f33";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://projects.kde.org/projects/extragear/libs/libnm-qt";
+    description = "Qt wrapper for NetworkManager DBus API";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.jgeerds ];
+  };
+}
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index ab8034c781e..2b82fe2a4bc 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -1,31 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, glib, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool
+, glib, gdk_pixbuf, gobjectIntrospection, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   ver_maj = "0.7";
-  ver_min = "5";
+  ver_min = "6";
   name = "libnotify-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libnotify/${ver_maj}/${name}.tar.xz";
-    sha256 = "0lmnzy16vdjs9vlgdm0b7wfyi1nh526hv2dpb7vxb92bhx3wny23";
-  };
-  src_m4 = fetchurl {
-    url = "mirror://gentoo/distfiles/introspection-20110205.m4.tar.bz2";
-    sha256 = "1cnqh7aaji648nfd5537v7xaak8hgww3bpifhwam7bl0sc3ad523";
+    sha256 = "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf";
   };
 
   # see Gentoo ebuild - we don't need to depend on gtk+(2/3)
-  preConfigure = ''
-    cd m4
-    tar xvf ${src_m4}
-    cd ..
-
+  preAutoreconf = ''
     sed -i -e 's:noinst_PROG:check_PROG:' tests/Makefile.am || die
     sed -i -e '/PKG_CHECK_MODULES(TESTS/d' configure.ac || die
-    AT_M4DIR=. autoreconf
   '';
 
-  buildInputs = [ pkgconfig automake autoconf glib gdk_pixbuf ];
+  buildInputs = [ pkgconfig automake autoconf autoreconfHook
+                  libtool glib gdk_pixbuf gobjectIntrospection ];
 
   meta = {
     homepage = http://galago-project.org/; # very obsolete but found no better
diff --git a/pkgs/development/libraries/libnova/default.nix b/pkgs/development/libraries/libnova/default.nix
index 28decb9cfca..b56697865a7 100644
--- a/pkgs/development/libraries/libnova/default.nix
+++ b/pkgs/development/libraries/libnova/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libnova-0.12.1";
+  name = "libnova-0.12.3";
 	
   src = fetchurl {
     url = "mirror://sourceforge/libnova/${name}.tar.gz";
-    sha256 = "0bs6c45q4qkrns36qndl8vns5gvhgpd90hi68bhah4r4hrg48lw0";
+    sha256 = "18mkx79gyhccp5zqhf6k66sbhv97s7839sg15534ijajirkhw9dc";
   };
   
   meta = {
diff --git a/pkgs/development/libraries/libnxml/default.nix b/pkgs/development/libraries/libnxml/default.nix
index b492a16a205..f34c421a120 100644
--- a/pkgs/development/libraries/libnxml/default.nix
+++ b/pkgs/development/libraries/libnxml/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.autistici.org/bakunin/libnxml/;
     description = "C library for parsing, writing and creating XML 1.0 and 1.1 files or streams";
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.viric ];
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
new file mode 100644
index 00000000000..b3eee8ed434
--- /dev/null
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, nss, openssl, pkgconfig }:
+
+
+stdenv.mkDerivation rec {
+  name = "liboauth-1.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/liboauth/${name}.tar.gz";
+    sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv";
+  };
+
+  buildInputs = [ nss openssl ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    description = "C library implementing the OAuth secure authentication protocol";
+    homepage = http://liboauth.sourceforge.net/;
+    repositories.git = https://github.com/x42/liboauth.git;
+  };
+
+}
diff --git a/pkgs/development/libraries/libodfgen/default.nix b/pkgs/development/libraries/libodfgen/default.nix
new file mode 100644
index 00000000000..2e6c58c804e
--- /dev/null
+++ b/pkgs/development/libraries/libodfgen/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib, libwpg, libwpd, librevenge}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="libodfgen";
+    version="0.1.1";
+    name="${baseName}-${version}";
+    hash="1p335m2l19c7glsss30rrm5dxfcyajk9fvj7rsclgn0kmb4y48cm";
+    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.1/libodfgen-0.1.1.tar.xz";
+    sha256="1p335m2l19c7glsss30rrm5dxfcyajk9fvj7rsclgn0kmb4y48cm";
+  };
+  buildInputs = [
+    boost pkgconfig cppunit zlib libwpg libwpd librevenge
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''A base library for generating ODF documents'';
+    license = stdenv.lib.licenses.mpl20 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libodfgen/default.upstream b/pkgs/development/libraries/libodfgen/default.upstream
new file mode 100644
index 00000000000..44f66561bd8
--- /dev/null
+++ b/pkgs/development/libraries/libodfgen/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libwpd/files/libodfgen/
+SF_version_dir libodfgen-
+version_link '[.]tar.xz/download$'
+SF_redirect
diff --git a/pkgs/development/libraries/libofa/curl-types.patch b/pkgs/development/libraries/libofa/curl-types.patch
deleted file mode 100644
index acd8d9aeabb..00000000000
--- a/pkgs/development/libraries/libofa/curl-types.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -rc libofa-0.9.3/examples/protocol.cpp libofa-0.9.3-new/examples/protocol.cpp
-*** libofa-0.9.3/examples/protocol.cpp	2006-05-10 14:05:42.000000000 -0400
---- libofa-0.9.3-new/examples/protocol.cpp	2011-11-06 09:24:05.653283203 -0500
-***************
-*** 12,18 ****
-  #include <map>
-  #include <expat.h>
-  #include <curl/curl.h>
-- #include <curl/types.h>
-  #include <curl/easy.h>
-  
-  using namespace std;
---- 12,17 ----
diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix
index 6b1ceee40f1..2e2640e8636 100644
--- a/pkgs/development/libraries/libofa/default.nix
+++ b/pkgs/development/libraries/libofa/default.nix
@@ -1,17 +1,24 @@
 { stdenv, fetchurl, expat, curl, fftw }:
 
+let
+  version = "0.9.3";
+  deb_patch = "5";
+in
 stdenv.mkDerivation rec {
-  name = "libofa-0.9.3";
-
-  propagatedBuildInputs = [ expat curl fftw ];
-
-  patches = [ ./libofa-0.9.3-gcc-4.patch ./libofa-0.9.3-gcc-4.3.patch ./gcc-4.x.patch ./curl-types.patch ];
+  name = "libofa-${version}";
 
   src = fetchurl {
     url = "http://musicip-libofa.googlecode.com/files/${name}.tar.gz";
     sha256 = "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2";
   };
 
+  patches = fetchurl {
+    url = "mirror://debian/pool/main/libo/libofa/libofa_${version}-${deb_patch}.debian.tar.gz";
+    sha256 = "1rfkyz13cm8izm90c1xflp4rvsa24aqs6qpbbbqqcbmvzsj6j9yn";
+  };
+
+  propagatedBuildInputs = [ expat curl fftw ];
+
   meta = {
     homepage = http://code.google.com/musicip-libofa/;
     description = "LibOFA - Library Open Fingerprint Architecture";
diff --git a/pkgs/development/libraries/libofa/gcc-4.x.patch b/pkgs/development/libraries/libofa/gcc-4.x.patch
deleted file mode 100644
index 50f72bb428c..00000000000
--- a/pkgs/development/libraries/libofa/gcc-4.x.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/examples/example.cpp b/examples/example.cpp
-index ef978d5..7d58a0f 100644
---- a/examples/example.cpp
-+++ b/examples/example.cpp
-@@ -10,6 +10,7 @@
- #include "protocol.h"
- 
- #include <string.h>
-+#include <stdio.h>
-  
- AudioData* loadWaveFile(char *file);
- AudioData* loadDataUsingLAME(char *file);
diff --git a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch b/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch
deleted file mode 100644
index 7682e371051..00000000000
--- a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Fix build with gcc >=4.3
-diff -ur libofa-0.9.3.orig/examples/example.cpp libofa-0.9.3/examples/example.cpp
---- libofa-0.9.3.orig/examples/example.cpp	2006-05-10 21:05:37.000000000 +0300
-+++ libofa-0.9.3/examples/example.cpp	2008-04-16 15:51:49.000000000 +0300
-@@ -9,6 +9,8 @@
- 
- #include "protocol.h"
- 
-+#include <string.h>
-+ 
- AudioData* loadWaveFile(char *file);
- AudioData* loadDataUsingLAME(char *file);
- 
-Vain hakemistossa libofa-0.9.3/examples: example.cpp.orig
-diff -ur libofa-0.9.3.orig/examples/protocol.cpp libofa-0.9.3/examples/protocol.cpp
---- libofa-0.9.3.orig/examples/protocol.cpp	2006-05-10 21:05:42.000000000 +0300
-+++ libofa-0.9.3/examples/protocol.cpp	2008-04-16 15:51:49.000000000 +0300
-@@ -8,6 +8,7 @@
- -------------------------------------------------------------------*/
- #include <stdio.h>
- #include <stdlib.h>
-+#include <cstring>
- #include <string>
- #include <map>
- #include <expat.h>
-diff -ur libofa-0.9.3.orig/lib/signal_op.cpp libofa-0.9.3/lib/signal_op.cpp
---- libofa-0.9.3.orig/lib/signal_op.cpp	2006-05-10 21:01:12.000000000 +0300
-+++ libofa-0.9.3/lib/signal_op.cpp	2008-04-16 15:51:49.000000000 +0300
-@@ -12,6 +12,7 @@
- // DATE CREATED: 1/12/06
- 
- 
-+#include <cstdlib>
- #include <math.h>
- #include "signal_op.h"
- #include "AFLIB/aflibConverter.h"
diff --git a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch b/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch
deleted file mode 100644
index 920c383c657..00000000000
--- a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/lib/JAMA/tnt_math_utils.h	2006-06-17 01:46:22.000000000 +0300
-+++ b/lib/JAMA/tnt_math_utils.h	2006-06-17 01:47:02.000000000 +0300
-@@ -20,11 +20,20 @@
- namespace TNT

- {

- /**

-+	@returns the absolute value of a real (no-complex) scalar.

-+*/

-+template <class Real>

-+Real abs(const Real &a)

-+{

-+	return  (a > 0 ? a : -a);

-+}

-+/**

- 	@returns hypotenuse of real (non-complex) scalars a and b by 

- 	avoiding underflow/overflow

- 	using (a * sqrt( 1 + (b/a) * (b/a))), rather than

- 	sqrt(a*a + b*b).

- */

-+

- template <class Real>

- Real hypot(const Real &a, const Real &b)

- {

-@@ -56,15 +65,6 @@
- }

- */

- 

--/**

--	@returns the absolute value of a real (no-complex) scalar.

--*/

--template <class Real>

--Real abs(const Real &a)

--{

--	return  (a > 0 ? a : -a);

--}

--

- }

- #endif

- /* MATH_UTILS_H */

diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index ba031cd927c..2dce6db1bf2 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
         
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.4";
+  name = "libofx-0.9.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "1byvc1ar7s0nivi5cmycwlwh1y4xiad7ipfkgx57lbk7slgn8c4v";
+    sha256 = "08vvfj1rq0drcdfchrgb5zp05a2xl3a5aapsfgj0gqy3rp2qivwl";
   };
 
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix
index add52e00419..9d5b9cd9298 100644
--- a/pkgs/development/libraries/libogg/default.nix
+++ b/pkgs/development/libraries/libogg/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchurl, xz }:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation rec {
-  name = "libogg-1.3.0";
+let
+  name = "libogg-1.3.2";
+in
+stdenv.mkDerivation {
+  inherit name;
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
-    sha256 = "0jy79ffkl34vycnwfsj4svqsdg1lwy2l1rr49y8r4d44kh12a5r3";
+    sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
   };
 
-  nativeBuildInputs = [ xz ];
+  meta = with stdenv.lib; {
 
   outputs = [ "dev" "doc" "out" ];
-
-  meta = {
     homepage = http://xiph.org/ogg/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libopensc-dnie/default.nix b/pkgs/development/libraries/libopensc-dnie/default.nix
index d229933111e..2d736411780 100644
--- a/pkgs/development/libraries/libopensc-dnie/default.nix
+++ b/pkgs/development/libraries/libopensc-dnie/default.nix
@@ -1,12 +1,10 @@
-{stdenv, fetchurl, writeScript, patchelf, glib, opensc, openssl, openct, libtool, pcsclite,
-zlib}:
-
-# Version 1.4.6-2 works only with opensc 0.11.7
-assert opensc.name == "opensc-0.11.7";
+{ stdenv, fetchurl, writeScript, patchelf, glib, opensc, openssl, openct
+, libtool, pcsclite, zlib
+}:
 
 stdenv.mkDerivation rec {
   name = "libopensc-dnie-1.4.6-2";
-  
+
   src = if stdenv.system == "i686-linux" then (fetchurl {
       url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_32/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar;
       sha256 = "1i6r9ahjr0rkcxjfzkg2rrib1rjsjd5raxswvvfiya98q8rlv39i";
@@ -26,14 +24,14 @@ stdenv.mkDerivation rec {
 
     RPATH=${glib}/lib:${opensc}/lib:${openssl}/lib:${openct}/lib:${libtool}/lib:${pcsclite}/lib:${stdenv.gcc.libc}/lib:${zlib}/lib
 
-    for a in usr/lib/*.so*; do
+    for a in "usr/lib/"*.so*; do
         if ! test -L $a; then
             patchelf --set-rpath $RPATH $a
         fi
     done
 
-    sed -i s,/usr,$out, usr/lib/pkgconfig/*
-   
+    sed -i s,/usr,$out, "usr/lib/pkgconfig/"*
+
     mkdir -p $out
     cp -R usr/lib $out
     cp -R usr/share $out
@@ -50,5 +48,6 @@ stdenv.mkDerivation rec {
     license = "nonfree";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/liboping/default.nix b/pkgs/development/libraries/liboping/default.nix
new file mode 100644
index 00000000000..b48b9c0585b
--- /dev/null
+++ b/pkgs/development/libraries/liboping/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, ncurses ? null, perl ? null }:
+
+stdenv.mkDerivation rec {
+  name = "liboping-1.6.2";
+
+  src = fetchurl {
+    url = "http://verplant.org/liboping/files/${name}.tar.bz2";
+    sha256 = "1kvkpdcd5jinyc15cgir48v91qphpw22c03inydaga5m4yqv8jjz";
+  };
+
+  buildInputs = [ ncurses perl ];
+
+  configureFlags = stdenv.lib.optionalString (perl == null) "--with-perl-bindings=no";
+
+  meta = with stdenv.lib; {
+    description = "C library to generate ICMP echo requests (a.k.a. ping packets)";
+    longDescription = ''
+      liboping is a C library to generate ICMP echo requests, better known as
+      "ping packets". It is intended for use in network monitoring applications
+      or applications that would otherwise need to fork ping(1) frequently.
+      Included is a sample application, called oping, which demonstrates the
+      library's abilities.
+    '';
+    homepage = http://verplant.org/liboping/;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index d08ae8ef72a..78b264506f0 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl, fixedPoint ? false }:
+{ stdenv, fetchurl, fixedPoint ? false, withCustomModes ? false }:
 
+let
+  version = "1.1";
+in
 stdenv.mkDerivation rec {
-  name = "libopus-1.0.2";
-  
+  name = "libopus-${version}";
+
   src = fetchurl {
-    url = "http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz";
-    sha256 = "12npbkrcwvh3fl9l18cwrxwg269cg2j6j7876cc9q0axxvdmwqfs";
+    url = "http://downloads.xiph.org/releases/opus/opus-${version}.tar.gz";
+    sha256 = "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr";
   };
 
-  configureFlags = stdenv.lib.optionalString fixedPoint "--enable-fixed-point";
+  configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point"
+                ++ stdenv.lib.optional withCustomModes "--enable-custom-modes";
+
+  doCheck = true;
 
   meta = {
     description = "Open, royalty-free, highly versatile audio codec";
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
new file mode 100644
index 00000000000..0eb735900b3
--- /dev/null
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gobjectIntrospection, libsoup
+, libxslt, check, vala ? null
+}:
+
+stdenv.mkDerivation rec {
+  name = "libosinfo-0.2.10";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/l/i/libosinfo/${name}.tar.gz";
+    sha256 = "564bd487a39dc09a10917c1d7a95f739ee7701d9cd0fbabcacea64f615e20a2d";
+  };
+
+  buildInputs = [
+    pkgconfig intltool gobjectIntrospection libsoup libxslt check vala
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Info about OSs, hypervisors and (virtual) hardware devices";
+    homepage = http://libosinfo.org/;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libossp-uuid/default.nix b/pkgs/development/libraries/libossp-uuid/default.nix
new file mode 100644
index 00000000000..7f6335f6496
--- /dev/null
+++ b/pkgs/development/libraries/libossp-uuid/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+let version = "1.6.2"; in
+
+stdenv.mkDerivation {
+  name = "libossp-uuid-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.ossp.org/pkg/lib/uuid/uuid-${version}.tar.gz";
+    sha256= "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0";
+  };
+
+  meta = {
+    homepage = http://www.ossp.org/pkg/lib/uuid/;
+    description = "OSSP uuid ISO-C and C++ shared library";
+    longDescription =
+      ''
+        OSSP uuid is a ISO-C:1999 application programming interface
+        (API) and corresponding command line interface (CLI) for the
+        generation of DCE 1.1, ISO/IEC 11578:1996 and RFC 4122
+        compliant Universally Unique Identifier (UUID). It supports
+        DCE 1.1 variant UUIDs of version 1 (time and node based),
+        version 3 (name based, MD5), version 4 (random number based)
+        and version 5 (name based, SHA-1). Additional API bindings are
+        provided for the languages ISO-C++:1998, Perl:5 and
+        PHP:4/5. Optional backward compatibility exists for the ISO-C
+        DCE-1.1 and Perl Data::UUID APIs.
+
+        UUIDs are 128 bit numbers which are intended to have a high
+        likelihood of uniqueness over space and time and are
+        computationally difficult to guess. They are globally unique
+        identifiers which can be locally generated without contacting
+        a global registration authority. UUIDs are intended as unique
+        identifiers for both mass tagging objects with an extremely
+        short lifetime and to reliably identifying very persistent
+        objects across a network.
+      '';
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch b/pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch
deleted file mode 100644
index 2b39d1fee9a..00000000000
--- a/pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dc5f05eb934ebd285e01febb9a4018512db702b1 Mon Sep 17 00:00:00 2001
-From: David Goulet <dgoulet@ev0ke.net>
-Date: Sat, 19 Jan 2013 15:53:23 -0500
-Subject: [PATCH] Fix: pass opdata when sending message fragment
-
-The inject_message callback was missing the opdata when sending message
-fragments.
-
-Signed-off-by: David Goulet <dgoulet@ev0ke.net>
----
- src/message.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/message.c b/src/message.c
-index 7c39529..aa71df2 100644
---- a/src/message.c
-+++ b/src/message.c
-@@ -441,7 +441,7 @@ fragment:
- 	/* Fragment and send according to policy */
- 	if (!err && messagep && *messagep) {
- 	    if (context) {
--		err = fragment_and_send(ops, NULL, context, *messagep,
-+		err = fragment_and_send(ops, opdata, context, *messagep,
- 			fragPolicy, messagep);
- 	    }
- 	}
--- 
-1.7.10.4
-
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index d737b8d9916..3782dabc67b 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,27 +1,23 @@
-{stdenv, fetchurl, libgcrypt}:
+{stdenv, fetchgit, libgcrypt, autoconf, automake, libtool}:
 
 stdenv.mkDerivation rec {
-  name = "libotr-4.0.0";
-  src = fetchurl {
-    urls = [
-      "http://www.cypherpunks.ca/otr/${name}.tar.gz"
-      # The site is down at the time of updating to 4.0.0, so I add this url
-      http://ftp.de.debian.org/debian/pool/main/libo/libotr/libotr_4.0.0.orig.tar.gz
-    ];
-    sha256 = "3f911994409898e74527730745ef35ed75c352c695a1822a677a34b2cf0293b4";
+  name = "libotr-20130821-git-f0f8a2";
+  src = fetchgit {
+    url = "http://git.code.sf.net/p/otr/libotr";
+    rev = "f0f8a2";
+    sha256 = "08019r8bnk8f4yx6574jdz217p283ry7dmpqcad2d87yhkdmc3mm";
   };
 
-  # Crashes without it, still not accepted upstream.
-  # Discussed in https://github.com/cryptodotis/irssi-otr/issues/21
-  patches = [ ./0001-Fix-pass-opdata-when-sending-message-fragment.patch ];
-
   NIX_LDFLAGS = "-lssp";
 
-  propagatedBuildInputs = [ libgcrypt ];
+  propagatedBuildInputs = [ libgcrypt autoconf automake libtool ];
+
+  preConfigure = "autoreconf -vfi";
 
   meta = {
     homepage = "http://www.cypherpunks.ca/otr/";
-    license = "LGPLv2.1";
+    repositories.git = git://git.code.sf.net/p/otr/libotr;
+    license = stdenv.lib.licenses.lgpl21;
     description = "Library for Off-The-Record Messaging";
   };
 }
diff --git a/pkgs/development/libraries/libpaper/default.nix b/pkgs/development/libraries/libpaper/default.nix
index 9505a6cf052..ab8e03b89a0 100644
--- a/pkgs/development/libraries/libpaper/default.nix
+++ b/pkgs/development/libraries/libpaper/default.nix
@@ -12,6 +12,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library for handling paper characteristics";
     homepage = "http://packages.debian.org/unstable/source/libpaper";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libpar2/default.nix b/pkgs/development/libraries/libpar2/default.nix
index 85e8bad8906..89d9a3de02f 100644
--- a/pkgs/development/libraries/libpar2/default.nix
+++ b/pkgs/development/libraries/libpar2/default.nix
@@ -1,18 +1,22 @@
 { stdenv, fetchurl, pkgconfig, libsigcxx }:
 
+let version = "0.4"; in
+
 stdenv.mkDerivation rec {
-  name = "libpar2-0.2";
+  name = "libpar2-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/parchive/${name}.tar.gz";
-    sha256 = "024r37wi01d1pfkk17l5lk0ci0cc0xhy5z050hzf3cbk1y2bykq7";
+    url = "https://launchpad.net/libpar2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1m4ncws1h03zq7zyqbaymvjzzbh1d3lc4wb1aksrdf0ync76yv9i";
   };
 
   buildInputs = [ pkgconfig libsigcxx ];
 
+  patches = [ ./libpar2-0.4-external-verification.patch ];
+
   meta = {
     homepage = http://parchive.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "A library for using Parchives (parity archive volume sets)";
   };
 }
diff --git a/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch b/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch
new file mode 100644
index 00000000000..74879c4fe9b
--- /dev/null
+++ b/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch
@@ -0,0 +1,16 @@
+diff -aud -U 5 libpar2-0.4-original/par2repairer.h libpar2-0.4-patched/par2repairer.h
+--- libpar2-0.4-original/par2repairer.h	2013-07-18 15:03:10.000000000 +0200
++++ libpar2-0.4-patched/par2repairer.h	2014-08-06 15:52:59.000000000 +0200
+@@ -94,11 +94,11 @@
+   // Perform a sliding window scan of the DiskFile looking for blocks of data that 
+   // might belong to any of the source files (for which a verification packet was
+   // available). If a block of data might be from more than one source file, prefer
+   // the one specified by the "sourcefile" parameter. If the first data block
+   // found is for a different source file then "sourcefile" is changed accordingly.
+-  bool ScanDataFile(DiskFile                *diskfile,   // [in]     The file being scanned
++  virtual bool ScanDataFile(DiskFile                *diskfile,   // [in]     The file being scanned
+                     Par2RepairerSourceFile* &sourcefile, // [in/out] The source file matched
+                     MatchType               &matchtype,  // [out]    The type of match
+                     MD5Hash                 &hashfull,   // [out]    The full hash of the file
+                     MD5Hash                 &hash16k,    // [out]    The hash of the first 16k
+                     u32                     &count);     // [out]    The number of blocks found
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index 87e2a641654..11eccb0a0e3 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, flex, bison }:
 
 stdenv.mkDerivation rec {
-  name = "libpcap-1.4.0";
+  name = "libpcap-1.5.3";
   
   src = fetchurl {
     url = "http://www.tcpdump.org/release/${name}.tar.gz";
-    sha256 = "01klphfqxvkyjvic0hmc10qmiicqz6pv6kvb9s00kaz8f57jlskw";
+    sha256 = "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs";
   };
   
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
new file mode 100644
index 00000000000..e56a45c92fc
--- /dev/null
+++ b/pkgs/development/libraries/libpipeline/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+ 
+stdenv.mkDerivation rec {
+  name = "libpipeline-1.2.6";
+  
+  src = fetchurl {
+    url = "mirror://savannah/libpipeline/${name}.tar.gz";
+    sha256 = "0wjsigim422ilzs46hxzv98l10zprpbk53gq3jzj6s9kn9n1wljc";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "http://libpipeline.nongnu.org";
+    description = "C library for manipulating pipelines of subprocesses in a flexible and convenient way";
+    platforms = platforms.unix;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 031e2aa1a91..ff04c7181df 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, xz }:
 
-assert zlib != null;
+assert !(stdenv ? cross) -> zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.50";
+  name = "libpng-1.2.51";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "1rz8v3cvy1zzpagxn91lj8swb9vf75rz3yyi18v7zb4jihgzh927";
+    sha256 = "0jkdlmnvn72jwm94dp98pznm9fy7alvcr2zpfh2dgbr2n09vimy7";
   };
 
   propagatedBuildInputs = [ zlib ];
@@ -16,6 +16,13 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit zlib; };
 
+  crossAttrs = stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") {
+    propagatedBuildInputs = [];
+    passthru = {};
+  };
+
+  configureFlags = "--enable-static";
+
   meta = {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix
index 8f62ef1e8dc..15351798633 100644
--- a/pkgs/development/libraries/libpng/15.nix
+++ b/pkgs/development/libraries/libpng/15.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.5.15";
+  name = "libpng-1.5.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "1iaplghmv5qhd4dgwfymhp42sh27vz6s2107jk698xm57z2v9hwm";
+    sha256 = "119m71p60iq3yn2n8ckl4j4cxvbpddj6sgdpa6g05jzyg7vw54y0";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 09cacdec09d..c4aa41681a3 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 let
-  version = "1.6.4";
-  sha256 = "15pqany43q2hzaxqn84p9dba071xmvqi8h1bhnjxnxdf3g64zayg";
-  patch_src = fetchurl { # not released yet, hopefully OK
-    url = "mirror://sourceforge/libpng-apng/libpng-1.6.3-apng.patch.gz";
-    sha256 = "0fjnb6cgbj2c7ggl0qzcnliml2ylrjxzigp89vw0hxq221k5mlsx";
+  version = "1.6.12";
+  sha256 = "0pkcirbfzhqqsm3hr2alxprw5n22a836qk4df1jnns6jk79gcby3";
+  patch_src = fetchurl {
+    url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
+    sha256 = "0r2vmsc4cvxisjr7jqw2vjf66isb2fhs4nnssz3l3jgdangj8wz0";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
 
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 8461bfef439..7085236feb5 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,10 +1,14 @@
-{stdenv, fetchurl, cmake, zlib}:
+{ stdenv, fetchurl, pkgconfig, cmake, zlib, glib }:
 
 stdenv.mkDerivation rec {
-  name = "libproxy-0.4.7";
+  name = "libproxy-0.4.11";
   src = fetchurl {
     url = "http://libproxy.googlecode.com/files/${name}.tar.gz";
-    sha256 = "15rp97g3s2xkc842p5qfm8kx3p4awvrwrpl6w71a76qk224abq4g";
+    sha256 = "0jw6454gxjykmbnbh544axi8hzz9gmm4jz1y5gw1hdqnakg36gyw";
   };
-  buildInputs = [cmake zlib];
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  propagatedBuildInputs = [ zlib ]
+    # now some optional deps, but many more are possible
+    ++ [ glib ];
 }
diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix
new file mode 100644
index 00000000000..aaa39783fa7
--- /dev/null
+++ b/pkgs/development/libraries/libpwquality/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, cracklib, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "libpwquality-1.2.3";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/l/i/libpwquality/${name}.tar.bz2";
+    sha256 = "0sjiabvl5277nfxyy96jdz65a0a3pmkkwrfbziwgik83gg77j75i";
+  };
+
+  buildInputs = [ cracklib python ];
+}
diff --git a/pkgs/development/libraries/libqglviewer/default.nix b/pkgs/development/libraries/libqglviewer/default.nix
index c968fd352eb..b389176b3da 100644
--- a/pkgs/development/libraries/libqglviewer/default.nix
+++ b/pkgs/development/libraries/libqglviewer/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "trackball-based 3D viewer qt widget including many useful features";
     homepage = http://artis.imag.fr/Members/Gilles.Debunne/QGLViewer/installUnix.html;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
new file mode 100644
index 00000000000..a0292067dbb
--- /dev/null
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, glib, python }:
+
+stdenv.mkDerivation rec {
+  name = "libqmi-1.8.0";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/libqmi/${name}.tar.xz";
+    sha256 = "03gf221yjcdzvnl4v2adwpc6cyg5mlbccn20s00fp5bgvmq81pgs";
+  };
+
+  preBuild = ''
+    patchShebangs .
+  '';
+
+  buildInputs = [ pkgconfig glib python ];
+
+  meta = with stdenv.lib; {
+    description = "Modem protocol helper library";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
new file mode 100644
index 00000000000..f0012f552c1
--- /dev/null
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, lcms2, jasper, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libraw-0.16.0";
+
+  src = fetchurl {
+    url = http://www.libraw.org/data/LibRaw-0.16.0.tar.gz;
+    sha256 = "15ng4s24grib39r0nlgrf18r2j9yh43qyx4vbif38d95xiqkix3i";
+  };
+
+  buildInputs = [ lcms2 jasper ] ;
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = { 
+    description = "Library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)";
+    homepage = http://www.libraw.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
+
diff --git a/pkgs/development/libraries/librdf/default.nix b/pkgs/development/libraries/librdf/default.nix
index 9b51f694ab3..58ff77480b6 100644
--- a/pkgs/development/libraries/librdf/default.nix
+++ b/pkgs/development/libraries/librdf/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Lightweight RDF library with special support for LADSPA plugins";
     homepage = http://sourceforge.net/projects/lrdf/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix
index 4658cf28335..500acdfb2ec 100644
--- a/pkgs/development/libraries/librdf/raptor2.nix
+++ b/pkgs/development/libraries/librdf/raptor2.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libxml2, libxslt, curl }:
 
 stdenv.mkDerivation rec {
-  name = "raptor2-2.0.8"; # 2.0.9 misses a header and so fails liblrdf
+  name = "raptor2-2.0.12"; # 2.0.9 misses a header and so fails liblrdf
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "1mz7cxnfw73saf74c9if06n2mlsvn2rnn67vy7j2mq3wkhy0hcb0";
+    sha256 = "1644a1nnw5k6168v9gjfx1rcbij6ybjximd35a3zhcvyyijmb5di";
   };
 
   buildInputs = [ libxml2 libxslt ];
diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix
index 6d6f9d05808..1acc7c1d73c 100644
--- a/pkgs/development/libraries/librdf/rasqal.nix
+++ b/pkgs/development/libraries/librdf/rasqal.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "rasqal-0.9.30";
+  name = "rasqal-0.9.31";
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "1z8wifq79kivcwpwzmjnjdrbr65zam190gpxhgrvsyfch0yykw5b";
+    sha256 = "1vkzifr488i31vxdnykyf2aq87023vx4bag4d94b1rdhy74l7mr8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 26b3de70dcd..4863c928988 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -3,7 +3,7 @@
 , mysql, withMysql ? false
 , postgresql, withPostgresql ? false
 , sqlite, withSqlite ? true
-, db4, withBdb ? false
+, db, withBdb ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional withMysql mysql
     ++ stdenv.lib.optional withSqlite sqlite
     ++ stdenv.lib.optional withPostgresql postgresql
-    ++ stdenv.lib.optional withBdb db4;
+    ++ stdenv.lib.optional withBdb db;
 
   propagatedBuildInputs = [ librdf_rasqal ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--with-threads" ]
-    ++ stdenv.lib.optional withBdb "--with-bdb=${db4}";
+    ++ stdenv.lib.optional withBdb "--with-bdb=${db}";
 
   meta = {
     homepage = http://librdf.org/;
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index cc9139d664e..c67df46e89c 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl}:
 stdenv.mkDerivation rec {
-  version = "0.4.2";
+  version = "0.4.9";
   name = "libre-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "1c99ygs46qhd4a0ardxhdyjaw5p8clhzmsm8jydqxnmbakwy518m";
+    sha256 = "1i98z9qw3jpkaq419189vr8h3qcxqlz40dls77rbn4c0agc69703";
   };
   buildInputs = [zlib openssl];
   makeFlags = [
@@ -19,5 +19,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; bsd3;
+    inherit version;
+    downloadPage = "http://www.creytiv.com/pub/";
+    updateWalker = true;
+    downloadURLRegexp = "/re-.*[.]tar[.].*";
   };
 }
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index 04f3cc97bf3..fe49609ce68 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl, libre}:
 stdenv.mkDerivation rec {
-  version = "0.4.2";
+  version = "0.4.6";
   name = "librem-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
-    sha256 = "55c66118e3026c5ed42d8b9e0c668149baefe83f1aa76394cddba2d72f45d5c7";
+    sha256 = "0rgqy9pqn730ijxvz1gk0virsf6jwjmq02s99jqqrfm3p0g6zs3w";
   };
   buildInputs = [zlib openssl libre];
   makeFlags = [
@@ -20,5 +20,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; bsd3;
+    inherit version;
+    downloadPage = "http://www.creytiv.com/pub/";
+    updateWalker = true;
+    downloadURLRegexp = "/rem-.*[.]tar[.].*";
   };
 }
diff --git a/pkgs/development/libraries/libresample/default.nix b/pkgs/development/libraries/libresample/default.nix
new file mode 100644
index 00000000000..9ef1ada0a42
--- /dev/null
+++ b/pkgs/development/libraries/libresample/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, cmake}:
+
+let
+  patch = fetchurl {
+    url = http://ftp.debian.org/debian/pool/main/libr/libresample/libresample_0.1.3-3.diff.gz;
+    sha256 = "063w8rqxw87fc89gas47vk0ll7xl8cy7d8g70gm1l62bqkkajklx";
+  };
+in
+stdenv.mkDerivation {
+  name = "libresample-0.1.3";
+  src = fetchurl {
+    url = http://ftp.debian.org/debian/pool/main/libr/libresample/libresample_0.1.3.orig.tar.gz;
+    sha256 = "05a8mmh1bw5afqx0kfdqzmph4x2npcs4idx0p0v6q95lwf22l8i0";
+  };
+  patches = [ patch ];
+  preConfigure = ''
+    cat debian/patches/1001_shlib-cmake.patch | patch -p1
+  '';
+  buildInputs = [ cmake ];
+  
+  meta = {
+    description = "A real-time library for sampling rate conversion library";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    homepage = https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html;
+    maintainers = stdenv.lib.maintainers.sander;
+  };
+}
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
new file mode 100644
index 00000000000..f77e9a31377
--- /dev/null
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libressl-${version}";
+  version = "2.0.5";
+
+  src = fetchurl {
+    url    = "http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${name}.tar.gz";
+    sha256 = "16pwgmj90k10pf03il39lnck5kqw59hj0fp2qhmgsgmrvssn6m1z";
+  };
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Free TLS/SSL implementation";
+    homepage    = "http://www.libressl.org";
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/librevenge/default.nix b/pkgs/development/libraries/librevenge/default.nix
new file mode 100644
index 00000000000..8ddf026a1bc
--- /dev/null
+++ b/pkgs/development/libraries/librevenge/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="librevenge";
+    version="0.0.1";
+    name="${baseName}-${version}";
+    hash="0zgfxvbqf11pypyc0vmcan73x197f7ia1ywin9qqy9hvvmrjgchc";
+    url="mirror://sourceforge/project/libwpd/librevenge/librevenge-0.0.1/librevenge-0.0.1.tar.xz";
+    sha256="0zgfxvbqf11pypyc0vmcan73x197f7ia1ywin9qqy9hvvmrjgchc";
+  };
+  buildInputs = [
+    boost pkgconfig cppunit zlib
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''A base library for writing document import filters'';
+    license = stdenv.lib.licenses.mpl20 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/librevenge/default.upstream b/pkgs/development/libraries/librevenge/default.upstream
new file mode 100644
index 00000000000..48b678a392a
--- /dev/null
+++ b/pkgs/development/libraries/librevenge/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libwpd/files/librevenge/
+SF_version_dir librevenge-
+version_link '[.]tar.xz/download$'
+SF_redirect
diff --git a/pkgs/development/libraries/librevisa/default.nix b/pkgs/development/libraries/librevisa/default.nix
new file mode 100644
index 00000000000..756a53d5ee5
--- /dev/null
+++ b/pkgs/development/libraries/librevisa/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, libusb1 }:
+
+# TODO: add VXI development files, for VXI-11 (TCPIP) support
+
+stdenv.mkDerivation rec {
+  name = "librevisa-0.0.20130412";
+
+  src = fetchurl {
+    url = "http://www.librevisa.org/download/${name}.tar.gz";
+    sha256 = "0bjzq23s3xzw0l9qx4l8achrx5id8xdd6r52lvdl4a28dxzbcfhq";
+  };
+
+  buildInputs = [ pkgconfig libusb1 ];
+
+  meta = with stdenv.lib; {
+    description = "Implementation of the VISA standard (for instrument control)";
+    longDescription = ''
+      LibreVISA aims to be a compliant implementation of the VISA standard in a
+      free software library.
+
+      We currently support targets connected via USB, exposing the USBTMC
+      interface, and VXI-11 devices.
+    '';
+    homepage = http://www.librevisa.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 15e07af9f1e..808407877e9 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -6,7 +6,7 @@
 # no introspection by default, it's too big
 
 stdenv.mkDerivation rec {
-  name = "librsvg-2.36.4";
+  name = "librsvg-2.36.4"; # 2.37 needs pango 1.32.6, 2.40 doesn't support gtk2
 
   src = fetchurl {
     url    = "mirror://gnome/sources/librsvg/2.36/${name}.tar.xz";
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 41445b84143..76daf7d748b 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://librsync.sourceforge.net/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     description = "Implementation of the rsync remote-delta algorithm";
   };
 }
diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix
index b70fddb9671..f885024bca0 100644
--- a/pkgs/development/libraries/libsamplerate/default.nix
+++ b/pkgs/development/libraries/libsamplerate/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libsndfile }:
 
 stdenv.mkDerivation rec {
-  name = "libsamplerate-0.1.7";
+  name = "libsamplerate-0.1.8";
 
   src = fetchurl {
     url = "http://www.mega-nerd.com/SRC/${name}.tar.gz";
-    sha256 = "1k3z09b13c0z10mqfn6w48pxsdx569s3wslg0x52q5mzy6gmvvbq";
+    sha256 = "01hw5xjbjavh412y63brcslj5hi9wdgkjd3h9csx5rnm8vglpdck";
   };
 
   buildInputs = [ pkgconfig ];
@@ -17,10 +17,14 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "bin" "out" ];
 
-  # 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";
+  postConfigure = stdenv.lib.optionalString stdenv.isDarwin
+    ''
+      # need headers from the Carbon.framework in /System/Library/Frameworks to
+      # compile this on darwin -- not sure how to handle
+      NIX_CFLAGS_COMPILE+=" -I$SDKROOT/System/Library/Frameworks/Carbon.framework/Versions/A/Headers"
+
+      substituteInPlace examples/Makefile --replace "-fpascal-strings" ""
+    '';
 
   meta = with stdenv.lib; {
     description = "Sample Rate Converter for audio";
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
new file mode 100644
index 00000000000..32cb7b860c4
--- /dev/null
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, automake, autoconf, pkgconfig, libtool, python, pythonPackages, glib, jansson}:
+
+stdenv.mkDerivation rec
+{
+  version = "1.2.2";
+  seafileVersion = "3.0.4";
+  name = "libsearpc-${version}";
+
+  src = fetchurl
+  {
+    url = "https://github.com/haiwen/libsearpc/archive/v${seafileVersion}.tar.gz";
+    sha256 = "0s5bqqajxfzyw4km6nhhx39nyq20gv0fxlf2v6ifipvnyk14850k";
+  };
+
+  patches = [ ./libsearpc.pc.patch ];
+
+  buildInputs = [ automake autoconf pkgconfig libtool python pythonPackages.simplejson ];
+  propagatedBuildInputs = [ glib jansson ];
+
+  preConfigure = "./autogen.sh";
+
+  buildPhase = "make -j1";
+
+  meta =
+  {
+    homepage = "https://github.com/haiwen/libsearpc";
+    description = "A simple and easy-to-use C language RPC framework (including both server side & client side) based on GObject System.";
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
diff --git a/pkgs/development/libraries/libsearpc/libsearpc.pc.patch b/pkgs/development/libraries/libsearpc/libsearpc.pc.patch
new file mode 100644
index 00000000000..6f30932ba6d
--- /dev/null
+++ b/pkgs/development/libraries/libsearpc/libsearpc.pc.patch
@@ -0,0 +1,10 @@
+From: Aaron Lindsay <aaron@aclindsay.com>
+
+--- a/libsearpc.pc.in	2013-01-10 01:35:24.000000000 -0500
++++ b/libsearpc.pc.in	2013-01-19 11:31:50.479301798 -0500
+@@ -1,4 +1,4 @@
+-prefix=(DESTDIR)@prefix@
++prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
new file mode 100644
index 00000000000..a66d31d2ec4
--- /dev/null
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, getopt, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "libseccomp-${version}";
+  version = "2.1.1";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/libseccomp/libseccomp-${version}.tar.gz";
+    sha256 = "0744mjx5m3jl1hzz13zypivl88m0wn44mf5gsrd3yf3w80gc24l8";
+  };
+
+  # This fixes the check for 'getopt' to function appropriately.
+  # Additionally, this package can optionally include the kernel
+  # headers if they exist, or use its own inline copy of the source
+  # for talking to the seccomp filter - we opt to always use the
+  # inline copy
+  patchPhase = ''
+    substituteInPlace ./configure --replace "/bin/bash" "${bash}/bin/bash"
+    substituteInPlace ./configure --replace "verify_deps getopt" ""
+    substituteInPlace ./configure --replace getopt ${getopt}/bin/getopt
+    substituteInPlace ./configure --replace 'opt_sysinc_seccomp="yes"' 'opt_sysinc_seccomp="no"'
+  '';
+
+  meta = {
+    description = "high level library for the Linux Kernel seccomp filter";
+    homepage    = "http://sourceforge.net/projects/libseccomp";
+    license     = stdenv.lib.licenses.lgpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 70c20caa88a..08ada463a54 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -2,12 +2,12 @@
   intltool, gtk_doc, gobjectIntrospection, pkgconfig, libxslt, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  version = "0.15";
+  version = "0.16";
   name = "libsecret-${version}";
 
   src = fetchurl {
     url = "https://git.gnome.org/browse/libsecret/snapshot/libsecret-${version}.zip";
-    sha256 = "088v1z7zbdi8b0779jads7q20x1gx6c4zmrj3q0vysc7a0k16i6k";
+    sha256 = "1yf4zvzfa45wr5bqlh54g3bmd0lgcsa8hnhppa99czca0zj7bkks";
   };
 
   propagatedBuildInputs = [ glib dbus_libs ];
diff --git a/pkgs/development/libraries/libserialport/default.nix b/pkgs/development/libraries/libserialport/default.nix
new file mode 100644
index 00000000000..c40812beeac
--- /dev/null
+++ b/pkgs/development/libraries/libserialport/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, udev }:
+
+stdenv.mkDerivation rec {
+  name = "libserialport-0.1.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/libserialport/${name}.tar.gz";
+    sha256 = "1bqrldwrcsv6jbq3pmqczq27gdkrzpaxwplanqs25f6q9gb5p47c";
+  };
+
+  buildInputs = [ pkgconfig udev ];
+
+  meta = with stdenv.lib; {
+    description = "Cross-platform shared library for serial port access";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    # Mac OS X, Windows and Android is also supported (according to upstream).
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libshout/default.nix b/pkgs/development/libraries/libshout/default.nix
index 760b8ecce09..956b3148ad7 100644
--- a/pkgs/development/libraries/libshout/default.nix
+++ b/pkgs/development/libraries/libshout/default.nix
@@ -1,17 +1,18 @@
-{stdenv, fetchurl, pkgconfig 
-, libvorbis, libtheora, speex}:
+{ stdenv, fetchurl, pkgconfig
+, libvorbis, libtheora, speex }:
 
 # need pkgconfig so that libshout installs ${out}/lib/pkgconfig/shout.pc
 
 stdenv.mkDerivation rec {
-	name = "libshout-2.3.1";
+  name = "libshout-2.3.1";
 
-	src = fetchurl {
-		url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
-		sha256 = "cf3c5f6b4a5e3fcfbe09fb7024aa88ad4099a9945f7cb037ec06bcee7a23926e";
-	};
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
+    sha256 = "cf3c5f6b4a5e3fcfbe09fb7024aa88ad4099a9945f7cb037ec06bcee7a23926e";
+  };
 
-  buildInputs = [ libvorbis libtheora speex pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ libvorbis libtheora speex ];
 
   meta = {
     description = "icecast 'c' language bindings";
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index b1e4f31c567..610d14568ae 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl, pkgconfig, gnum4 }:
 
 stdenv.mkDerivation rec {
-  name = "libsigc++-2.2.10";
+  name = "libsigc++-2.3.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libsigc++/2.2/${name}.tar.xz";
-    sha256 = "8ceb6f2732f5399ef50d5b70f433d49945a12e0900b8f9f43c135866a2e5bf47";
+    url = "mirror://gnome/sources/libsigc++/2.3/${name}.tar.xz";
+    sha256 = "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37";
   };
 
   buildInputs = [ pkgconfig gnum4 ];
 
+  doCheck = true;
+
   meta = {
     homepage = http://libsigc.sourceforge.net/;
     description = "A typesafe callback system for standard C++";
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index b0a726ed7f3..ae6299286a1 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       more.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index 85faba4a9dc..c4bdc23f937 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "libsndfile-1.0.23";
+  name = "libsndfile-1.0.25";
 
   src = fetchurl {
     url = "http://www.mega-nerd.com/libsndfile/files/${name}.tar.gz";
-    sha256 = "0k9x4804gfh9d9zd4rm1v2izm8l716rzk4d6jlrjcf45b5sw7jal";
+    sha256 = "10j8mbb65xkyl0kfy0hpzpmrp0jkr12c7mfycqipxgka6ayns0ar";
   };
 
   buildInputs = [ pkgconfig flac libogg libvorbis ];
@@ -16,8 +16,13 @@ stdenv.mkDerivation rec {
 
   # 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";
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin
+    ''
+      NIX_CFLAGS_COMPILE+=" -I$SDKROOT/System/Library/Frameworks/Carbon.framework/Versions/A/Headers"
+    '';
+
+  # Needed on Darwin.
+  NIX_CFLAGS_LINK = "-logg -lvorbis";
 
   meta = with stdenv.lib; {
     description = "A C library for reading and writing files containing sampled sound";
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index e8124c2643a..754893894b6 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-0.4.3";
+  name = "libsodium-0.4.5";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r";
+    sha256 = "0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
   };
 
   NIX_LDFLAGS = "-lssp";
diff --git a/pkgs/development/libraries/libsoup/2.40.nix b/pkgs/development/libraries/libsoup/2.40.nix
deleted file mode 100644
index ca37ceb941c..00000000000
--- a/pkgs/development/libraries/libsoup/2.40.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, libxml2, sqlite, intltool, python
-, gnomeSupport ? true, libgnome_keyring, glib_networking
-}:
-
-stdenv.mkDerivation {
-  name = "libsoup-2.44.1";
-
-  src = fetchurl {
-    url = mirror://gnome/sources/libsoup/2.44/libsoup-2.44.1.tar.xz;
-    sha256 = "07acjwvik3gagcsdjzi85g44ga4pd3nh4ww6722bfzjzvlqw6cn5";
-  };
-
-
-  preConfigure = ''
-    substituteInPlace libsoup/tld-parser.py \
-      --replace "!/usr/bin/env python" "!${python}/bin/${python.executable}"
-  '';
-  buildInputs = [ pkgconfig intltool python ];
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ glib libxml2 sqlite ]
-    ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ];
-  passthru.propagatedUserEnvPackages = [ glib_networking ];
-
-  # glib_networking is a runtime dependency, not a compile-time dependency
-  configureFlags = "--disable-tls-check";
-
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
-  meta = {
-#    inherit (glib.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index a5ce0fda270..049d6646ec8 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,19 +1,26 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig
-, gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking
-, libintlOrEmpty }:
-
+, gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking, gobjectIntrospection
+, libintlOrEmpty
+, intltool, python }:
+let
+  majorVersion = "2.45";
+  version = "${majorVersion}.3";
+in
 stdenv.mkDerivation {
-  name = "libsoup-2.38.1";
+  name = "libsoup-${version}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libsoup/2.38/libsoup-2.38.1.tar.xz;
-    sha256 = "16iza4y8pmc4sn90iid88fgminvgcqypy3s2qnmzkzm5qwzr5f3i";
+    url = "mirror://gnome/sources/libsoup/${majorVersion}/libsoup-${version}.tar.xz";
+    sha256 = "04ma47hcrrbjp90r8jjn686cngnbgac24wgarpwwzlpg66wighva";
   };
 
+  patchPhase = ''
+    patchShebangs libsoup/
+  '';
 
-  buildInputs = libintlOrEmpty;
+  buildInputs = libintlOrEmpty ++ [ intltool python ];
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ glib libxml2 ]
+  propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
     ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring sqlite ];
   passthru.propagatedUserEnvPackages = [ glib_networking ];
 
diff --git a/pkgs/development/libraries/libspatialindex/default.nix b/pkgs/development/libraries/libspatialindex/default.nix
index c48c5265fc4..bd38c37a57b 100644
--- a/pkgs/development/libraries/libspatialindex/default.nix
+++ b/pkgs/development/libraries/libspatialindex/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Extensible spatial index library in C++";
     homepage = http://libspatialindex.github.io/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix
index a819e0cef6f..7d46f9e32ce 100644
--- a/pkgs/development/libraries/libspectre/default.nix
+++ b/pkgs/development/libraries/libspectre/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
       handling and rendering Postscript documents.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libspotify/default.nix b/pkgs/development/libraries/libspotify/default.nix
index 000112008a3..56d15cd1e80 100644
--- a/pkgs/development/libraries/libspotify/default.nix
+++ b/pkgs/development/libraries/libspotify/default.nix
@@ -79,7 +79,7 @@ else stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Spotify API library";
     homepage    = https://developer.spotify.com/technologies/libspotify;
-    maintainers = with maintainers; [ lovek323 shlevy ];
+    maintainers = with maintainers; [ lovek323 ];
     license     = licenses.unfree;
   };
 }
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index c2b812744c9..c201eda69e6 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, cmake, zlib, libgcrypt }:
+{ stdenv, fetchurl, pkgconfig, cmake, zlib, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "libssh-0.5.3";
+  name = "libssh-0.6.3";
 
   src = fetchurl {
-    url = "https://red.libssh.org/attachments/download/38/${name}.tar.gz";
-    sha256 = "1w6s217vjq0w3v5i0c5ql6m0ki1yz05g9snah3azxfkl9k4schpd";
+    url = "https://red.libssh.org/attachments/download/87/${name}.tar.xz";
+    sha256 = "1jyaj9h1iglvn02hrvcchbx8ycjpj8b91h8mi459k7q5jp2xgd9b";
   };
 
   buildInputs = [ zlib libgcrypt ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   cmakeFlags = "-DWITH_GCRYPT=ON";
 
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index ad5783ae4f8..bae22ef220f 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-2.13";
+  name = "libtasn1-3.6";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "14asfhi35pwc67v7abbwim344h444237bjaqp92gwhhx7m44cvm5";
+    sha256 = "0c547qa1vfk1x2jzgjhf65izf4sfi86c6g46q7779g4aldk4gqqr";
   };
 
+  buildInputs = [ perl texinfo ];
+
   doCheck = true;
 
   meta = {
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
          portable, and only require an ANSI C89 platform.
       '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 5101429a403..aa4ac0a7922 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,7 +1,13 @@
-{ stdenv, fetchurl, zlib, libjpeg }:
-
-let version = "4.0.3"; in
+{ stdenv, fetchurl, fetchsvn, pkgconfig, zlib, libjpeg, xz }:
 
+let
+  version = "4.0.3";
+  patchDir = fetchsvn {
+    url = svn://svn.archlinux.org/packages/libtiff/trunk;
+    rev = "198247";
+    sha256 = "0a47l0zkc1zz7wxg64cyjv9z1djdvfyxgmwd03znlsac4zijkcy4";
+  };
+in
 stdenv.mkDerivation rec {
   name = "libtiff-${version}";
 
@@ -15,13 +21,31 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "bin" "doc" ];
 
-  propagatedBuildInputs = [ zlib libjpeg ];
+  patchPhase = ''
+    for p in ${patchDir}/*-{2013-4244,2012-4447,2012-4564,2013-1960,2013-1961,libjpeg-turbo}.patch; do
+      patch -p1 < "$p"
+    done
+    (
+    cd tools
+    for p in ${patchDir}/*-CVE-{2013-4231,2013-4232}.patch; do
+      patch -p0 < "$p"
+    done
+    )
+    patch -p0 < ${patchDir}/${if stdenv.isDarwin then "tiff-4.0.3" else "*"}-tiff2pdf-colors.patch
+  ''; # ^ sh on darwin seems not to expand globs in redirects, and I don't want to rebuild all again elsewhere
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  propagatedBuildInputs = [ zlib libjpeg xz ]; #TODO: opengl support (bogus configure detection)
 
   enableParallelBuilding = true;
 
-  meta = {
+  doCheck = true;
+
+  meta = with stdenv.lib; {
     description = "Library and utilities for working with the TIFF image file format";
     homepage = http://www.remotesensing.org/libtiff/;
-    license = "bsd";
+    license = licenses.libtiff;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 517fbf2bd43..0745313b41e 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python }:
+{ stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python, libiconvOrNull, geoip }:
 
 stdenv.mkDerivation rec {
   name = "libtorrent-rasterbar-${version}";
-  version = "0.16.8";
+  version = "0.16.16";
   
   src = fetchurl {
-    url = "http://libtorrent.googlecode.com/files/${name}.tar.gz";
-    sha256 = "01jxhyndqkc0qag22s5w0vs63hlp4rr4bca8k7fj37gky7w119c0";
+    url = mirror://sourceforge/libtorrent/libtorrent-rasterbar-0.16.16.tar.gz;
+    sha256 = "1a3yxwjs4qb0rwx6cfpvar0a8jmavb6ik580b27md08jhvq80if7";
   };
 
-  buildInputs = [ boost pkgconfig openssl zlib python ];
+  buildInputs = [ boost pkgconfig openssl zlib python libiconvOrNull geoip ];
 
   configureFlags = [ 
     "--with-boost=${boost}/include/boost" 
     "--with-boost-libdir=${boost}/lib" 
     "--enable-python-binding"
+    "--with-libgeoip=system"
+    "--with-libiconv=yes"
  ];
   
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 0098ddb9d77..6741838d33b 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -1,35 +1,50 @@
-{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses
-, libconfig, pkgconfig }:
+{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses, libopus
+, libvpx, check, libconfig, pkgconfig }:
 
 let
-  version = "31f5d7a8ab";
-  date = "20131011";
+  version = "e1158be5a6";
+  date = "20140728";
 in
 stdenv.mkDerivation rec {
   name = "tox-core-${date}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/irungentoo/ProjectTox-Core/tarball/${version}";
+    url = "https://github.com/irungentoo/toxcore/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "0frz8ylvi33i7zkiz3hp28ylqg4c3ffrbc2m3ibb4zv9rwfzf77r";
+    sha256 = "1rsh1pbwvngsx5slmd6608b1zqs3jvq70bjr9zyziap9vxka3z1v";
   };
 
+  NIX_LDFLAGS = "-lgcc_s";
+
+  postPatch = ''
+    # within Nix chroot builds, localhost is unresolvable
+    sed -i -e '/DEFTESTCASE(addr_resolv_localhost)/d' \
+      auto_tests/network_test.c
+    # takes WAAAY too long (~10 minutes) and would timeout
+    sed -i -e '/DEFTESTCASE[^(]*(many_clients\>/d' \
+      auto_tests/tox_test.c
+  '';
+
   preConfigure = ''
     autoreconf -i
   '';
 
-  configureFlags = [ "--with-libsodium-headers=${libsodium}/include"
-    "--with-libsodium-libs=${libsodium}/lib" 
-    "--enable-ntox" ];
+  configureFlags = [
+    "--with-libsodium-headers=${libsodium}/include"
+    "--with-libsodium-libs=${libsodium}/lib"
+    "--enable-ntox"
+  ];
 
-  buildInputs = [ autoconf libtool automake libsodium ncurses libconfig
-    pkgconfig ];
+  buildInputs = [
+    autoconf libtool automake libsodium ncurses libopus
+    libvpx check libconfig pkgconfig
+  ];
 
   doCheck = true;
 
   meta = {
     description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/libtsm/default.nix b/pkgs/development/libraries/libtsm/default.nix
new file mode 100644
index 00000000000..66e1698b11d
--- /dev/null
+++ b/pkgs/development/libraries/libtsm/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, libxkbcommon, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libtsm-3";
+
+  src = fetchurl {
+    url = "http://freedesktop.org/software/kmscon/releases/${name}.tar.xz";
+    sha256 = "01ygwrsxfii0pngfikgqsb4fxp8n1bbs47l7hck81h9b9bc1ah8i";
+  };
+
+  buildInputs = [ libxkbcommon pkgconfig ];
+
+  configureFlags = [ "--disable-debug" ];
+
+  meta = {
+    description = "Terminal-emulator State Machine";
+    homepage = "http://www.freedesktop.org/wiki/Software/kmscon/libtsm/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
new file mode 100644
index 00000000000..86f5029e9a5
--- /dev/null
+++ b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, autoreconfHook, mesa }:
+
+let version = "1.0"; in
+
+stdenv.mkDerivation rec {
+  name = "libtxc_dxtn_s2tc-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/divVerent/s2tc/archive/v${version}.tar.gz";
+    sha256 = "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752";
+  };
+
+  buildInputs = [ autoreconfHook mesa ];
+
+  meta = {
+    description = "A patent-free S3TC compatible implementation";
+    homepage = https://github.com/divVerent/s2tc;
+    repositories.git = https://github.com/divVerent/s2tc.git;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.page ];
+  };
+}
diff --git a/pkgs/development/libraries/libunibreak/default.nix b/pkgs/development/libraries/libunibreak/default.nix
index e5e7f5ff0ae..50bc0539589 100644
--- a/pkgs/development/libraries/libunibreak/default.nix
+++ b/pkgs/development/libraries/libunibreak/default.nix
@@ -2,17 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "libunibreak-${version}";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/vimgadgets/libunibreak/${version}/${name}.tar.gz";
-    sha256 = "0rsivyxnp9nfngf83fiy4v58s5mgdhcjz75nv5nyhxwxnjq35d25";
+    sha256 = "02657l426bk5d8h42b9ixxy1clc50mx4bzwg02nkdhs09wqw32wn";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://vimgadgets.sourceforge.net/libunibreak/;
     description = "A library implementing a line breaking algorithm as described in Unicode 6.0.0 Standard";
-    license = "ZLIB";
-    maintainer = [ stdenv.lib.maintainers.coroa ];
+    license = licenses.zlib;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.coroa ];
   };
 }
diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix
index 603759d47c0..f60043f18b1 100644
--- a/pkgs/development/libraries/libunique/default.nix
+++ b/pkgs/development/libraries/libunique/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig glib gtk dbus_glib ];
 
   # don't make deprecated usages hard errors
-  preBuildPhases = "preBuild";
   preBuild = ''substituteInPlace unique/dbus/Makefile --replace -Werror ""'';
 
   doCheck = true;
@@ -26,6 +25,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://live.gnome.org/LibUnique;
     description = "A library for writing single instance applications";
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix
index 9bc3cb7f901..b578d895c5f 100644
--- a/pkgs/development/libraries/libunistring/default.nix
+++ b/pkgs/development/libraries/libunistring/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation (rec {
       strings as internal in-memory representation.
     '';
 
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index 5c3670e2365..75139ea988b 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -1,13 +1,15 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, xz}:
 
 stdenv.mkDerivation rec {
-  name = "libunwind-1.0.1";
+  name = "libunwind-1.1";
   
   src = fetchurl {
     url = "mirror://savannah/libunwind/${name}.tar.gz";
-    sha256 = "aa95fd184c0b90d95891c2f3bac2c7df708ff016d2a6ee8b2eabb769f864101f";
+    sha256 = "16nhx2pahh9d62mvszc88q226q5lwjankij276fxwrm8wb50zzlx";
   };
-  
+
+  propagatedBuildInputs = [ xz ];
+
   NIX_CFLAGS_COMPILE = if stdenv.system == "x86_64-linux" then "-fPIC" else "";
   preInstall = ''
     mkdir -p "$out/lib"
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index 74c6b8fa615..e7f627f62f7 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.7";
+  version = "0.8.4";
   name = "liburcu-${version}";
 
   src = fetchurl {
     url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
-    sha256 = "1yxxnhrsy6sv6bmp7j96jjynnqns01zjgj94mk70jz54zvcagf4a";
+    sha256 = "04py48xphylb246mpkzvld0yprj5h7cyv6pydr8b25aax5bs3h4n";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libusb1/1_0_9.nix b/pkgs/development/libraries/libusb1/1_0_9.nix
deleted file mode 100644
index a2d628f9689..00000000000
--- a/pkgs/development/libraries/libusb1/1_0_9.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "libusb-1.0.9";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879";
-  };
-
-  buildInputs = [ pkgconfig ];
-
-  meta = {
-    homepage = http://www.libusb.org;
-    description = "User-space USB library";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-  };
-}
-
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 9a6a303fe32..8be17b289f7 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
+let
+  version = "1.0.18";
+in
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.16";
+  name = "libusb-${version}"; # at 1.0.18 libusb joined with libusbx
 
   src = fetchurl {
-    url = "mirror://sourceforge/libusbx/libusbx-1.0.16.tar.bz2";
-    sha256 = "105m9jvjr3vrriyg0mwmyf7qla4l71iwwnymrsk3sy9dazwmqcsv";
+    url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
+    sha256 = "081px0j98az0pjwwyjlq4qcmfn194fvm3qd4im0r9pm58pn5qgy7";
   };
 
   buildInputs = [ pkgconfig ];
@@ -14,7 +17,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   meta = {
-    homepage = http://www.libusb.org;
+    homepage = http://www.libusb.info;
     description = "User-space USB library";
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.urkud ];
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
new file mode 100644
index 00000000000..bd1f926c9cb
--- /dev/null
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -0,0 +1,103 @@
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool }:
+
+let
+  stable = "stable";
+  unstable = "unstable";
+
+  meta = with lib; {
+    description = "A multi-platform support library with a focus on asynchronous I/O";
+    homepage    = https://github.com/joyent/libuv;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = with platforms; linux ++ darwin;
+  };
+
+  mkName = stability: version:
+    if stability == stable
+    then "libuv-${version}"
+    else "libuv-${stability}-${version}";
+
+  mkSrc = version: sha256: fetchFromGitHub {
+    owner = "joyent";
+    repo = "libuv";
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  # for versions < 0.11.6
+  mkWithoutAutotools = stability: version: sha256: stdenv.mkDerivation {
+    name = mkName stability version;
+    src = mkSrc version sha256;
+    buildPhase = lib.optionalString stdenv.isDarwin ''
+      mkdir extrapath
+      ln -s /usr/sbin/dtrace extrapath/dtrace
+      export PATH=$PATH:`pwd`/extrapath
+    '' + ''
+      mkdir build
+      make builddir_name=build
+
+      rm -r build/src
+      rm build/libuv.a
+      cp -r include build
+
+      mkdir build/lib
+      mv build/libuv.* build/lib
+
+      pushd build/lib
+      lib=$(basename libuv.*)
+      ext="''${lib##*.}"
+      mv $lib libuv.10.$ext
+      ln -s libuv.10.$ext libuv.$ext
+      popd
+    '';
+    installPhase = ''
+      cp -r build $out
+    '';
+    inherit meta;
+  };
+
+  # for versions > 0.11.6
+  mkWithAutotools = stability: version: sha256: stdenv.mkDerivation {
+    name = mkName stability version;
+    src = mkSrc version sha256;
+    buildInputs = [ automake autoconf libtool ];
+    preConfigure = ''
+      LIBTOOLIZE=libtoolize ./autogen.sh
+    '';
+    inherit meta;
+  };
+
+  toVersion = with lib; name:
+    replaceChars ["_"] ["."] (removePrefix "v" name);
+
+in
+
+  with lib;
+
+  mapAttrs (v: h: mkWithoutAutotools stable (toVersion v) h) {
+    v0_10_27 = "0i00v216ha74xi374yhgmfrb4h84q2w4y1ync3y1qsngbm8irjhg";
+  }
+  //
+  mapAttrs (v: h: mkWithAutotools unstable (toVersion v) h) {
+    # Versions >= 0.11.1 and < 0.11.6 do not build a dynamic library
+    v0_11_6  = "15h903hz6kn8j1lp1160ia7llx0ypa5ch8ygkwpmrm31p50ng8r4";
+    v0_11_7  = "1l6hrz3g2c7qspy28inbrcd7byn2sncd42ncf4pr0ifpkkj083hh";
+    v0_11_8  = "0aag2v7bfi7kksna0867srlqcjxn8m287bpl2j5k11d07m382zs1";
+    v0_11_9  = "12ap0ix5ra24f30adgdr48l175vxfmh398mlilm8kdkld0dqfx24";
+    v0_11_10 = "17mn9xbygc2jpqv4a068i57rcp585bmcalpb9jpyz1jf030lllyy";
+    v0_11_11 = "1l06sznvd5nxzg3fqqb451g4fzygyb37apqyhyvbdb6dmklcm7xk";
+    v0_11_12 = "1kwqd3wk06mffhglawx7b2g4yddkg5597aa5jyw2zhzwkz2z4a27";
+    v0_11_13 = "0z30ljwgxbm120dy0i4knhj5zw6q7jcx5wi9v0v51ax6mhdgqy8a";
+    v0_11_14 = "0bk1bchfkbyyry3d4ggv754w5fyj6qbivbd42ggcr0hq55h49iwg";
+    v0_11_15 = "09qayz2k0337h7jbf8zs9lyxgp3ln0gq37r43wixfll7jjjkacvd";
+    v0_11_16 = "06jrwwnliqadqgp7fn2093xxljiz8iwdyywh2yljyp4zk8r4vzis";
+    v0_11_17 = "0i6nlxnlxwzpib0sp1191h9yymfvgwjwciiq9avcqljiklfg432r";
+    v0_11_18 = "0jxrfxf4iq34fjgbwdrvi36hqzgph87928n4q4gchpahywf2pjxk";
+    v0_11_19 = "16aw8jx571xxc6am4sbz17j2wb9pylv1svsmwxbczb3vd624vm32";
+    v0_11_20 = "0r7cyzxysgcfl4h9xis050b7x8cvmrwzwh1rr545q53j0gjxvzvi";
+    v0_11_21 = "0bxjzrlcs2f0va26i0ahvcpjbb0j66rq74smi95s6q73zl99n326";
+    v0_11_22 = "0r6nfavsndm1dzinzzxndr2h75g33vigx21z3f7w2x7qwa8a8hpp";
+    v0_11_23 = "01dlmpk8a4zvq6lm88bsfi7dzhl7xvma7q5ygi2x5ghdm4svki1m";
+    v0_11_24 = "1hygn81iwbdshzrq603qm6k1r7pjflx9qqazmlb72c3vy1hq21c6";
+    v0_11_25 = "1abszivlxf0sddwvcj3jywfsip5q9vz6axvn40qqyl8sjs80zcvj";
+    v0_11_26 = "1pfjdwrxhqz1vqcdm42g3j45ghrb4yl7wsngvraclhgqicff1sc3";
+  }
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 5b35d2b24ad..e9b7ae4e46c 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchurl, libX11, pkgconfig, libXext, mesa, libdrm, libXfixes }:
+{ stdenv, fetchurl, libX11, pkgconfig, libXext, mesa, libdrm, libXfixes, wayland, libffi }:
 
 stdenv.mkDerivation rec {
-  name = "libva-1.1.1";
+  name = "libva-1.3.1";
   
   src = fetchurl {
     url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
-    sha256 = "0kfdcrzcr82g15l0vvmm6rqr0f0604d4dgrza78gn6bfx7rppby0";
+    sha256 = "15y27jdnfvf9krg4s3a1c29rn9pvyp43wckpwhd2rg4wrbqv32c7";
   };
 
-  buildInputs = [ libX11 libXext pkgconfig mesa libdrm libXfixes ];
+  buildInputs = [ libX11 libXext pkgconfig mesa libdrm libXfixes wayland libffi ];
 
   configureFlags = [ "--enable-glx" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/vaapi;
-    license = "MIT";
+    license = licenses.mit;
     description = "VAAPI library: Video Acceleration API";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index 835e2711a77..9d9528b75e4 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, xlibs }:
+{ stdenv, fetchurl, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
-  name = "libvdpau-0.6";
+  name = "libvdpau-0.8";
 
   src = fetchurl {
     url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz";
-    sha256 = "0x9dwxzw0ilsy88kqlih3170z1zfrrsx1dr9jbwbn0cbkpnbwmcv";
+    sha256 = "1v81875hppablq9gpsmvhnyl7z80zihx6arry758pvdbq4fd39vk";
   };
 
-  buildInputs = with xlibs; [ pkgconfig dri2proto libXext ];
+  buildInputs = with xorg; [ pkgconfig dri2proto libXext ];
+
+  propagatedBuildInputs = [ xorg.libX11 ];
 
-  propagatedBuildInputs = [ xlibs.libX11 ];
-  
   configureFlags = stdenv.lib.optional stdenv.isDarwin [ "--build=x86_64" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://people.freedesktop.org/~aplattner/vdpau/;
     description = "Library to use the Video Decode and Presentation API for Unix (VDPAU)";
-    license = "bsd";
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libviper/default.nix b/pkgs/development/libraries/libviper/default.nix
index b292580e705..f82581b1097 100644
--- a/pkgs/development/libraries/libviper/default.nix
+++ b/pkgs/development/libraries/libviper/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pkgconfig, glib, ncurses, gpm}:
 stdenv.mkDerivation rec {
-  name = "libviper-1.4.5";
+  name = "libviper-1.4.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/libviper/${name}.tar.gz";
-    sha256 = "1lryqv9xfsshx8x8c858h8fmsi2fkja0mhw415wa2bj9cqyb8byz";
+    sha256 = "1jvm7wdgw6ixyhl0pcfr9lnr9g6sg6whyrs9ihjiz0agvqrgvxwc";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
new file mode 100644
index 00000000000..afce119e396
--- /dev/null
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl
+, nettle, libgcrypt, python, pygobject, gobjectIntrospection, libcap_ng
+}:
+
+stdenv.mkDerivation rec {
+  name = "libvirt-glib-0.1.8";
+
+  src = fetchurl {
+    url = "http://libvirt.org/sources/glib/${name}.tar.gz";
+    sha256 = "0ld7g9vlpdzx8rm90i8y1gnpygkn20x5z12gvsgms7dy5nala3ns";
+  };
+
+  buildInputs = [
+    pkgconfig libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
+    python pygobject gobjectIntrospection libcap_ng
+  ];
+
+  # Compiler flag -fstack-protector-all fixes this build error:
+  #
+  #   ./.libs/libvirt-glib-1.0.so: undefined reference to `__stack_chk_guard'
+  #
+  # And the extra include path fixes this build error:
+  #
+  #   In file included from ../libvirt-gobject/libvirt-gobject-domain-device.h:30:0,
+  #                    from /tmp/nix-build-libvirt-glib-0.1.7.drv-2/libvirt-glib-0.1.7/libvirt-gobject/libvirt-gobject.h:33,
+  #                    from <stdin>:4:
+  #   ../libvirt-gobject/libvirt-gobject-domain.h:33:29: fatal error: libvirt/libvirt.h: No such file or directory
+  #   compilation terminated.
+  #   make[3]: *** [LibvirtGObject-1.0.gir] Error 1
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-fstack-protector-all -I${libvirt}/include"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library for working with virtual machines";
+    longDescription = ''
+      libvirt-glib wraps libvirt to provide a high-level object-oriented API better
+      suited for glib-based applications, via three libraries:
+
+      - libvirt-glib    - GLib main loop integration & misc helper APIs
+      - libvirt-gconfig - GObjects for manipulating libvirt XML documents
+      - libvirt-gobject - GObjects for managing libvirt objects
+    '';
+    homepage = http://libvirt.org/;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index ce81c1b2e8c..4027bd8a84e 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,52 +1,63 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
 , iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
+, dnsmasq, libnl
 }:
 
-let version = "1.1.2"; in
+let version = "1.2.5"; in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "libvirt-${version}";
 
   src = fetchurl {
-    url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
-    md5 = "1835bbfa492099bce12e2934870e5611";
+    url = "http://libvirt.org/sources/${name}.tar.gz";
+    sha256 = "0igd74wkksgv24i2xaa8wx51iqpgjp1v7820pk93m0jv8gipvscf";
   };
 
-  buildInputs =
-    [ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
-      utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper
-      libcap_ng
-    ];
-
-  # see http://www.mail-archive.com/libvir-list@redhat.com/msg83693.html
-  patches = [ ./securtyfs_userns.patch ];
-
-  preConfigure =
-    ''
-      PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
-      patchShebangs . # fixes /usr/bin/python references
-    '';
-
-  configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-init-script=redhat --without-macvtap";
-
-  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc";
-
-  postInstall =
-    ''
-      substituteInPlace $out/libexec/libvirt-guests.sh \
-        --replace "$out/bin" "${gettext}/bin"
-      wrapProgram $out/sbin/libvirtd \
-        --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin
-    '';
+  buildInputs = [
+    pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
+    utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper
+    libcap_ng libnl
+  ];
+
+  preConfigure = ''
+    PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH
+    patchShebangs . # fixes /usr/bin/python references
+  '';
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+    "--with-init-script=redhat"
+    "--with-macvtap"
+    "--with-virtualport"
+  ];
+
+  installFlags = [
+    "localstatedir=$(TMPDIR)/var"
+    "sysconfdir=$(out)/etc"
+  ];
+
+  postInstall = ''
+    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;
+
   NIX_CFLAGS_COMPILE = "-fno-stack-protector";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libvirt.org/;
-    description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes)";
-    license = "LGPLv2+";
-    platforms = stdenv.lib.platforms.linux;
+    repositories.git = git://libvirt.org/libvirt.git;
+    description = ''
+      A toolkit to interact with the virtualization capabilities of recent
+      versions of Linux (and other OSes)
+    '';
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ wizeman ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libvirt/securtyfs_userns.patch b/pkgs/development/libraries/libvirt/securtyfs_userns.patch
deleted file mode 100644
index 2723334f94a..00000000000
--- a/pkgs/development/libraries/libvirt/securtyfs_userns.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/src/lxc/lxc_container.c
-+++ b/src/lxc/lxc_container.c
-@@ -750,7 +750,7 @@ err:
- }
- 
- 
--static int lxcContainerMountBasicFS(void)
-+static int lxcContainerMountBasicFS(bool userns_enabled)
- {
-     const struct {
-         const char *src;
-@@ -801,6 +801,9 @@ static int lxcContainerMountBasicFS(void)
-             continue;
- #endif
- 
-+        if (STREQ(mnts[i].src, "securityfs") && userns_enabled)
-+            continue;
-+
-         if (virFileMakePath(mnts[i].dst) < 0) {
-             virReportSystemError(errno,
-                                  _("Failed to mkdir %s"),
-@@ -1530,7 +1533,7 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
-         goto cleanup;
- 
-     /* Mounts the core /proc, /sys, etc filesystems */
--    if (lxcContainerMountBasicFS() < 0)
-+    if (lxcContainerMountBasicFS(vmDef->idmap.nuidmap) < 0)
-         goto cleanup;
- 
-     /* Mounts /proc/meminfo etc sysinfo */
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
index 7d24fc9a8a6..c015e7473bd 100644
--- a/pkgs/development/libraries/libvisio/default.nix
+++ b/pkgs/development/libraries/libvisio/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig, zlib }:
+{ stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig, zlib, gperf
+, librevenge, libxml2, icu, perl
+}:
 
 stdenv.mkDerivation rec {
-  name = "libvisio-0.0.19";
+  name = "libvisio-0.1.0";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
-    sha256 = "1iqkz280mi066bdccyxagkqm41i270nx01cacvgjq2pflgd3njd1";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2";
+    sha256 = "1vpb7nbk5qh6w3jz9rl9w8p25invcvj46parb9ld13h9777kyf0j";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ boost libwpd libwpg zlib ];
+  buildInputs = [ boost libwpd libwpg zlib gperf librevenge libxml2 icu perl ];
 
   configureFlags = "--disable-werror";
 
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index b6c25ad9a93..5e883771b71 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -1,19 +1,28 @@
-{ stdenv, fetchurl, libogg, xz }:
+{ stdenv, fetchurl, libogg, pkgconfig }:
 
-stdenv.mkDerivation rec {
-  name = "libvorbis-1.3.3";
+let
+  name = "libvorbis-1.3.4";
+in
+stdenv.mkDerivation {
+  inherit name;
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz";
-    sha256 = "1gby6hapz9njx4l9g0pndyk4q83z5fgrgc30mfwfgx7bllspsk43";
+    sha256 = "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g";
   };
 
-  nativeBuildInputs = [ xz ];
+  buildInputs = [ pkgconfig ];
+
   propagatedBuildInputs = [ libogg ];
 
   outputs = [ "dev" "out" "doc" ];
 
-  meta = {
+  doCheck = true;
+
+  meta = with stdenv.lib; {
     homepage = http://xiph.org/vorbis/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 46e73a121fe..45fc442a713 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, bash, yasm, which, perl}:
+{stdenv, fetchurl, bash, yasm, which, perl, binutils}:
 
-let version = "1.2.0";
+let version = "1.3.0";
 in
 stdenv.mkDerivation rec {
   name = "libvpx-" + version;
 
   src = fetchurl { # sadly, there's no official tarball for this release
-    url = "ftp://ftp.archlinux.org/other/libvpx/libvpx-${version}.tar.xz";
-    sha256 = "02k9ylswgr2hvjqmg422fa9ggym0g94gzwb14nnckly698rvjc50";
+    url = "http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2";
+    sha1 = "191b95817aede8c136cc3f3745fb1b8c50e6d5dc";
   };
 
   patchPhase = ''
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
     sed -e '/enable linux/d' -i configure
   '';
 
-  buildInputs = [ yasm which perl ];
+  buildInputs = [ yasm which perl ]
+    ++ stdenv.lib.optional stdenv.isDarwin binutils; # new asm opcode support
 
   preConfigure = ''
     mkdir -p build
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
     [ "--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";
+    ++ stdenv.lib.optional (!stdenv.isDarwin) "--disable-static --enable-shared";
 
   installPhase = ''
     make quiet=false DIST_DIR=$out install
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
new file mode 100644
index 00000000000..f6244cba5cb
--- /dev/null
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -0,0 +1,19 @@
+{ fetchurl, stdenv, glib, pkgconfig, udev }:
+
+stdenv.mkDerivation rec {
+  name = "libwacom-0.7.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2";
+    sha256 = "1agdaa1bv5mp4l32qgsw63swnnv0p279jiy9madgw4y3d8d12dwm";
+  };
+
+  buildInputs = [ glib pkgconfig udev ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    homepage = http://sourceforge.net/projects/linuxwacom/;
+    description = "libraries, configuration, and diagnostic tools for Wacom tablets running under Linux";
+  };
+
+}
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 854af5942f9..6800541d923 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,14 +1,20 @@
-{stdenv, fetchurl, libpng, libjpeg}:
+{ stdenv, fetchurl, libpng, libjpeg, giflib, libtiff }:
 
 stdenv.mkDerivation rec {
-  name = "libwebp-0.1.3";
-  
+  name = "libwebp-0.4.0";
+
   src = fetchurl {
     url = "http://webp.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1fkssvg99s9ypswh4ywkirgcy1wmy3b6388f3cqj4a4vwdb89ca0";
+    sha256 = "0sadjkx8m6sf064r5gngjvz4b5246q3j27dlaml5b1k3x5vkb49i";
   };
 
-  buildInputs = [ libpng libjpeg ];
+  buildInputs = [ libpng libjpeg giflib libtiff ];
+
+  configureFlags = [
+    "--enable-libwebpmux"
+    "--enable-libwebpdemux"
+    "--enable-libwebpdecoder"
+  ];
 
   meta = {
     homepage = http://code.google.com/p/webp/;
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 59355f3c37d..6c6c0812c43 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -1,13 +1,15 @@
 {stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool}:
 
 stdenv.mkDerivation {
-  name = "libwnck-3.2.1";
+  name = "libwnck-3.4.7";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libwnck/3.2/libwnck-3.2.1.tar.xz;
-    sha256 = "1nm34rpr0n559x1ba4kmxbhqclvvnlz0g8xqbbj709q9irnmifpa";
+    url = mirror://gnome/sources/libwnck/3.4/libwnck-3.4.7.tar.xz;
+    sha256 = "d48ac9c7f50c0d563097f63d07bcc83744c7d92a1b4ef65e5faeab32b5ccb723";
   };
 
+  patches = [ ./install_introspection_to_prefix.patch ];
+
   buildInputs = [ pkgconfig intltool ];
   propagatedBuildInputs = [ libX11 gtk3 ];
 }
diff --git a/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch b/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch
new file mode 100644
index 00000000000..1bcf4a12ea3
--- /dev/null
+++ b/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch
@@ -0,0 +1,12 @@
+--- libwnck-3.4.7/configure	2013-08-20 14:46:14.000000000 +0000
++++ libwnck-3.4.7-fix/configure	2014-01-05 17:18:56.665427787 +0000
+@@ -16150,7 +16150,7 @@ $as_echo "$found_introspection" >&6; }
+        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
++       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix
index 3df58615aa6..df5917fb05c 100644
--- a/pkgs/development/libraries/libwpd/default.nix
+++ b/pkgs/development/libraries/libwpd/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, zlib, pkgconfig, glib, libgsf, libxml2 }:
+{ stdenv, fetchurl, zlib, pkgconfig, glib, libgsf, libxml2, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.9.5";
+  name = "libwpd-0.10.0";
   
   src = fetchurl {
     url = "mirror://sourceforge/libwpd/${name}.tar.xz";
-    sha256 = "1qvmnszql8c900py83wrxnj2pyyy4107scdhvmhapp4gpmccmg7f";
+    sha256 = "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx";
   };
   
-  buildInputs = [ glib libgsf libxml2 zlib ];
+  buildInputs = [ glib libgsf libxml2 zlib librevenge ];
 
   nativeBuildInputs = [ pkgconfig ];
 }
diff --git a/pkgs/development/libraries/libwpg/default.nix b/pkgs/development/libraries/libwpg/default.nix
index 18a8e49beea..0cb405d4837 100644
--- a/pkgs/development/libraries/libwpg/default.nix
+++ b/pkgs/development/libraries/libwpg/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, libwpd, zlib }:
+{ stdenv, fetchurl, pkgconfig, libwpd, zlib, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpg-0.2.1";
+  name = "libwpg-0.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/libwpg/${name}.tar.xz";
-    sha256 = "0d83nx4rxkrq2sbfbbqpddni56h1328dzmraxyl6vh9p4f19rh5d";
+    sha256 = "097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g";
   };
 
-  buildInputs = [ libwpd zlib ];
+  buildInputs = [ libwpd zlib librevenge ];
   nativeBuildInputs = [ pkgconfig ];
 
   meta = {
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 4a1327778d4..e5682219dba 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, yacc, flex, xkeyboard_config }:
+{ stdenv, fetchurl, pkgconfig, yacc, flex, xkeyboard_config, libxcb }:
 
 stdenv.mkDerivation rec {
-  name = "libxkbcommon-0.2.0";
+  name = "libxkbcommon-0.4.2";
 
   src = fetchurl {
-    url = "http://xkbcommon.org/download/${name}.tar.bz2";
-    sha256 = "0hpvfa8p4bhvhc1gcb578m354p5idd192xb8zlaq16d33h90msvl";
+    url = "http://xkbcommon.org/download/${name}.tar.xz";
+    sha256 = "0mw9ljc5fbqbhnm884w7ns5pf6f2rqj9ww5xcaps9nzdgsq73z50";
   };
 
-  buildInputs = [ yacc flex xkeyboard_config ];
+  buildInputs = [ pkgconfig yacc flex xkeyboard_config libxcb ];
 
   configureFlags = ''
     --with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb
diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix
index ac5c6146cba..d69276a070b 100644
--- a/pkgs/development/libraries/libxklavier/default.nix
+++ b/pkgs/development/libraries/libxklavier/default.nix
@@ -1,25 +1,34 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXi, xkeyboard_config, libxml2
-, libICE, glib, libxkbfile, isocodes }:
+{ stdenv, fetchurl, pkgconfig, xkeyboard_config, libxml2, xorg
+, glib, isocodes, gobjectIntrospection }:
 
+let
+  version = "5.3";
+in
 stdenv.mkDerivation rec {
-  name = "libxklavier-5.0";
+  name = "libxklavier-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gswitchit/${name}.tar.bz2";
-    sha256 = "1c2dxinjfpq1lzxi0z46r0j80crbmwb0lkvnh6987cjjlwblpnfz";
+    url = "mirror://gnome/sources/libxklavier/${version}/${name}.tar.xz";
+    sha256 = "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b";
   };
 
   # TODO: enable xmodmap support, needs xmodmap DB
-  propagatedBuildInputs = [ libX11 libXi xkeyboard_config libxml2 libICE glib libxkbfile isocodes ];
+  propagatedBuildInputs = with xorg; [ libX11 libXi xkeyboard_config libxml2 libICE glib libxkbfile isocodes ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  configureFlags = ''
-    --with-xkb-base=${xkeyboard_config}/etc/X11/xkb
-    --disable-xmodmap-support
-  '';
+  buildInputs = [ gobjectIntrospection ];
 
-  meta = {
+  configureFlags = [
+    "--with-xkb-base=${xkeyboard_config}/etc/X11/xkb"
+    "--with-xkb-bin-base=${xorg.xkbcomp}/bin"
+    "--disable-xmodmap-support"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Library providing high-level API for X Keyboard Extension known as XKB";
     homepage = http://freedesktop.org/wiki/Software/LibXklavier;
+    license = licenses.lgpl2Plus;
   };
 }
+
diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix
index ececdabb56c..85f0dbddb0b 100644
--- a/pkgs/development/libraries/libxmi/default.nix
+++ b/pkgs/development/libraries/libxmi/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   meta = {
     description = "GNU libxmi, a library for rasterizing 2-D vector graphics";
     homepage = http://www.gnu.org/software/libxmi/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index e25074f8d12..7e3ee3e9adc 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -2,20 +2,21 @@
 
 assert pythonSupport -> python != null;
 
-stdenv.mkDerivation rec {
-  name = "libxml2-2.9.0";
+#TODO: share most stuff between python and non-python builds, perhaps via multiple-output
+
+let
+  version = "2.9.1";
+in
+
+stdenv.mkDerivation (rec {
+  name = "libxml2-${version}";
 
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "10ib8bpar2pl68aqksfinvfmqknwnk7i35ibq6yjl8dpb0cxj9dd";
+    sha256 = "1nqgd1qqmg0cg09mch78m2ac9klj9n87blilx4kymi7jcv5n8g7x";
   };
 
-  patches = [ ./pthread-once-init.patch ];
-
-  configureFlags = stdenv.lib.optionalString pythonSupport "--with-python=${python}";
-
-  buildInputs = (stdenv.lib.optional pythonSupport [ python ])
-
+  buildInputs = stdenv.lib.optional pythonSupport python
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
-  passthru = { inherit pythonSupport; };
+  passthru = { inherit pythonSupport version; };
 
   enableParallelBuilding = true;
 
@@ -33,7 +34,18 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/;
     description = "An XML parsing library for C";
     license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
-}
+
+} // stdenv.lib.optionalAttrs pythonSupport {
+  configureFlags = "--with-python=${python}";
+
+  # this is a pair of ugly hacks to make python stuff install into the right place
+  preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$out"'';
+  installFlags = ''pythondir="$(out)/lib/${python.libPrefix}/site-packages"'';
+
+} // stdenv.lib.optionalAttrs (!pythonSupport) {
+  configureFlags = "--with-python=no"; # otherwise build impurity bites us
+})
+
diff --git a/pkgs/development/libraries/libxml2/pthread-once-init.patch b/pkgs/development/libraries/libxml2/pthread-once-init.patch
deleted file mode 100644
index fadfc27a911..00000000000
--- a/pkgs/development/libraries/libxml2/pthread-once-init.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-http://git.gnome.org/browse/libxml2/commit/?id=3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e
-
-From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
-From: Friedrich Haubensak <hsk@fli-leibniz.de>
-Date: Wed, 12 Sep 2012 15:34:53 +0000
-Subject: Fix a thread portability problem
-
-cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
-
-I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
-a structure assignment anyway
----
-diff --git a/threads.c b/threads.c
-index f206149..7e85a26 100644
---- a/threads.c
-+++ b/threads.c
-@@ -146,6 +146,7 @@ struct _xmlRMutex {
- static pthread_key_t globalkey;
- static pthread_t mainthread;
- static pthread_once_t once_control = PTHREAD_ONCE_INIT;
-+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
- static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
- #elif defined HAVE_WIN32_THREADS
- #if defined(HAVE_COMPILER_TLS)
-@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
- #ifdef HAVE_PTHREAD_H
-     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
-         pthread_key_delete(globalkey);
--    once_control = PTHREAD_ONCE_INIT;
-+    once_control = once_control_init;
- #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
-     if (globalkey != TLS_OUT_OF_INDEXES) {
-         xmlGlobalStateCleanupHelperParams *p;
---
-cgit v0.9.0.2
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 36c8073348d..61f519dfe51 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl
 , pkgconfig, libxml2, glibmm, perl }:
 stdenv.mkDerivation rec {
-  name = "libxml++-2.30.0";
+  name = "libxml++-2.37.1";
   src = fetchurl {
-    url = "mirror://gnome/sources/libxml++/2.30/${name}.tar.bz2";
-    sha256 = "1hgpw9lld0k6z34kxrapz8dxf3cbgnnhkx6himnvw9ax3qf7p5gk";
+    url = "mirror://gnome/sources/libxml++/2.37/${name}.tar.xz";
+    sha256 = "17xkdndcambij33k25cb5c4mg2457wi114kiaprjma9j0mh87cgk";
   };
 
   buildInputs = [ pkgconfig glibmm perl ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://libxmlplusplus.sourceforge.net/;
     description = "C++ wrapper for the libxml2 XML parser library";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.phreedom ];
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/libraries/libxmp/default.nix b/pkgs/development/libraries/libxmp/default.nix
new file mode 100644
index 00000000000..7b4d3d6287a
--- /dev/null
+++ b/pkgs/development/libraries/libxmp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libxmp-4.2.7";
+
+  meta = with stdenv.lib; {
+    description = "Extended module player library";
+    homepage    = "http://xmp.sourceforge.net/";
+    longDescription = ''
+      Libxmp is a library that renders module files to PCM data. It supports
+      over 90 mainstream and obscure module formats including Protracker (MOD),
+      Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).
+    '';
+    license     = licenses.lgpl21Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xmp/libxmp/${name}.tar.gz";
+    sha256 = "1isv8498869w8wc18lagi1p40z4blx684r21j9cligkfyrmri536";
+  };
+}
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index ed56ffaff73..fd84c53c88f 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,15 +1,26 @@
 { stdenv, fetchurl, libxml2 }:
 
-stdenv.mkDerivation (rec {
-  name = "libxslt-1.1.27";
+stdenv.mkDerivation rec {
+  name = "libxslt-1.1.28";
 
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "09ky3vhlaahvsb0q9gp6h3as53pfj70gincirachjqzj46jdka5n";
+    sha256 = "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz";
   };
 
   buildInputs = [ libxml2 ];
 
+  patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ];
+
+  configureFlags = [
+    "--with-libxml-prefix=${libxml2}"
+    "--without-python"
+    "--without-crypto"
+    "--without-debug"
+    "--without-mem-debug"
+    "--without-debugger"
+  ];
+
   postInstall = ''
     mkdir -p $out/nix-support
     ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/
@@ -19,18 +30,7 @@ stdenv.mkDerivation (rec {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
     license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
-} // (if !stdenv.isFreeBSD then {} else {
-  buildInputs = [];
-
-  configureFlags = [
-    "--with-libxml-prefix=${libxml2}"
-    "--without-python"
-    "--without-crypto"
-    "--without-debug"
-    "--without-mem-debug"
-    "--without-debugger"
-  ];
-}))
+}
diff --git a/pkgs/development/libraries/libxslt/patch-ah.patch b/pkgs/development/libraries/libxslt/patch-ah.patch
new file mode 100644
index 00000000000..ea75b01178e
--- /dev/null
+++ b/pkgs/development/libraries/libxslt/patch-ah.patch
@@ -0,0 +1,69 @@
+$NetBSD: patch-ah,v 1.3 2012/11/27 12:17:51 adam Exp $
+
+Fix syms file for stricter solaris ld
+
+--- libxslt-1.1.28/libxslt/libxslt.syms.orig	2012-11-27 12:04:43.000000000 +0000
++++ libxslt-1.1.28/libxslt/libxslt.syms
+@@ -107,7 +107,7 @@ LIBXML2_1.0.11 {
+   xsltFreeCompMatchList;
+   xsltFreeTemplateHashes;
+   xsltGetTemplate;
+-  xsltMatchPattern;
++# xsltMatchPattern;
+   xsltTestCompMatchList;
+ 
+ # preproc
+@@ -407,7 +407,7 @@ LIBXML2_1.1.18 {
+     global:
+ 
+ # xsltInternals
+-  xsltConstNamespaceNameXSLT; # variable
++# xsltConstNamespaceNameXSLT; # variable
+   xsltExtensionInstructionResultFinalize;
+   xsltExtensionInstructionResultRegister;
+   xsltInitCtxtKey;
+@@ -416,24 +416,24 @@ LIBXML2_1.1.18 {
+   xsltInit;
+ 
+ # xsltInternals
+-  xsltParseAnyXSLTElem;
+-  xsltParseSequenceConstructor;
+-  xsltPointerListAddSize;
+-  xsltPointerListClear;
+-  xsltPointerListCreate;
+-  xsltPointerListFree;
++# xsltParseAnyXSLTElem;
++# xsltParseSequenceConstructor;
++# xsltPointerListAddSize;
++# xsltPointerListClear;
++# xsltPointerListCreate;
++# xsltPointerListFree;
+   xsltRegisterLocalRVT;
+   xsltReleaseRVT;
+-  xsltRestoreDocumentNamespaces;
++# xsltRestoreDocumentNamespaces;
+ 
+ # extensions
+-  xsltStyleStylesheetLevelGetExtData;
++# xsltStyleStylesheetLevelGetExtData;
+ 
+ # xsltInternals
+ # xsltTransStorageAdd; removed in 1.1.28
+ # xsltTransStorageRemove; removed in 1.1.28
+   xsltUninit;
+-  xsltXSLTAttrMarker; # variable
++# xsltXSLTAttrMarker; # variable
+ } LIBXML2_1.1.9;
+ 
+ LIBXML2_1.1.20 {
+@@ -476,6 +476,10 @@ LIBXML2_1.1.26 {
+ 
+ # transform
+   xsltProcessOneNode;
++
++# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local")
++    local:
++  *;
+ } LIBXML2_1.1.25;
+ 
+ LIBXML2_1.1.27 {
diff --git a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix b/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
index 4b0acd83fc3..f94ca128228 100644
--- a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
+++ b/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://code.google.com/p/yaml-cpp/;
     description = "A YAML parser and emitter for C++";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index 09860522ef4..fb81dc425f1 100644
--- a/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://code.google.com/p/yaml-cpp/;
     description = "A YAML parser and emitter for C++";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix
index 50bc4019df6..d0ad17048aa 100644
--- a/pkgs/development/libraries/libyaml/default.nix
+++ b/pkgs/development/libraries/libyaml/default.nix
@@ -1,16 +1,18 @@
-{stdenv, fetchurl}:
-
+{ stdenv, fetchurl }:
+let
+  version = "0.1.6";
+in
 stdenv.mkDerivation {
-  name = "libyaml-0.1.3";
+  name = "libyaml-${version}";
 
   src = fetchurl {
-    url = http://pyyaml.org/download/libyaml/yaml-0.1.3.tar.gz;
-    sha256 = "a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a";
+    url = "http://pyyaml.org/download/libyaml/yaml-${version}.tar.gz";
+    sha256 = "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://pyyaml.org/;
     description = "A YAML 1.1 parser and emitter written in C";
-    license = "free";
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libyubikey/default.nix b/pkgs/development/libraries/libyubikey/default.nix
new file mode 100644
index 00000000000..25c2117b059
--- /dev/null
+++ b/pkgs/development/libraries/libyubikey/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec
+{
+  version = "1.11";
+  name = "libyubikey-${version}";
+
+  src = fetchurl
+  {
+    url = "http://opensource.yubico.com/yubico-c/releases/${name}.tar.gz";
+    sha256 = "19pm4rqsnm9r0n5j26bqkxa1jpimdavzcvg5g7p416vkjhxc6lw9";
+  };
+
+  meta =
+  {
+    homepage = "http://opensource.yubico.com/yubico-c/";
+    description = "C library for manipulating Yubico YubiKey One-Time Passwords (OTPs)";
+    license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
diff --git a/pkgs/development/libraries/libzdb/default.nix b/pkgs/development/libraries/libzdb/default.nix
new file mode 100644
index 00000000000..90692569f08
--- /dev/null
+++ b/pkgs/development/libraries/libzdb/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, sqlite}:
+
+stdenv.mkDerivation rec
+{
+  version = "3.0";
+  name = "libzdb-${version}";
+
+  src = fetchurl
+  {
+    url = "http://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz";
+    sha256 = "e334bcb9ca1410e863634a164e3b1b5784018eb6e90b6c2b527780fc29a123c8";
+  };
+
+  buildInputs = [ sqlite ];
+
+  meta =
+  {
+    homepage = "http://www.tildeslash.com/libzdb/";
+    description = "A small, easy to use Open Source Database Connection Pool Library.";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 48ef55892c8..be50a58c54a 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "libzip-0.10";
+  name = "libzip-0.11.2";
   
   src = fetchurl {
     url = "http://www.nih.at/libzip/${name}.tar.gz";
-    sha256 = "1lnpxcl4z084bvx3jd0pqgr350ljnizpnlwh5vbzjp0iw9jakbxp";
+    sha256 = "1mcqrz37vjrfr4gnss37z1m7xih9x9miq3mms78zf7wn7as1znw3";
   };
   
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libzrtpcpp/1.6.nix b/pkgs/development/libraries/libzrtpcpp/1.6.nix
index 767314cdcae..79d95e07bb8 100644
--- a/pkgs/development/libraries/libzrtpcpp/1.6.nix
+++ b/pkgs/development/libraries/libzrtpcpp/1.6.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "GNU RTP stack for the zrtp protocol developed by Phil Zimmermann";
     homepage = "http://www.gnutelephony.org/index.php/GNU_ZRTP";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libzrtpcpp/default.nix b/pkgs/development/libraries/libzrtpcpp/default.nix
index b18aa6848bf..9962efa7f1e 100644
--- a/pkgs/development/libraries/libzrtpcpp/default.nix
+++ b/pkgs/development/libraries/libzrtpcpp/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "GNU RTP stack for the zrtp protocol developed by Phil Zimmermann";
     homepage = "http://www.gnutelephony.org/index.php/GNU_ZRTP";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/lightning/default.nix b/pkgs/development/libraries/lightning/default.nix
index 9088fa5fa62..951627c81c2 100644
--- a/pkgs/development/libraries/lightning/default.nix
+++ b/pkgs/development/libraries/lightning/default.nix
@@ -1,13 +1,16 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, binutils }:
 
 stdenv.mkDerivation rec {
-  name = "lightning-1.2c";
+  name = "lightning-2.0.4";
 
   src = fetchurl {
-    url = "ftp://alpha.gnu.org/gnu/lightning/${name}.tar.gz";
-    sha256 = "00ss2b75msj4skkda9fs5df3bfpi8bwbckci8g0pwd3syppb3qdl";
+    url = "ftp://ftp.gnu.org/gnu/lightning/${name}.tar.gz";
+    sha256 = "1lrckrx51d5hrv66bc99fd4b7g2wwn4vr304hwq3glfzhb8jqcdy";
   };
 
+  # Needs libopcodes.so  from binutils for 'make check'
+  buildInputs = [ binutils ];
+
   doCheck = true;
 
   meta = {
@@ -22,6 +25,6 @@ stdenv.mkDerivation rec {
       the MIPS and SPARC chips.
     '';
 
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/log4cplus/default.nix b/pkgs/development/libraries/log4cplus/default.nix
index 0856832c188..9d07f033eda 100644
--- a/pkgs/development/libraries/log4cplus/default.nix
+++ b/pkgs/development/libraries/log4cplus/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 let
-  name = "log4cplus-1.0.4";
+  name = "log4cplus-1.1.2";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
-    sha256 = "c2bb01b5f4bff5fa768700e98ead4a79dfd556096c9f3f0401849da7ab80fbef";
+    sha256 = "14zdfaxnxjrnfdjipmcrvsqp8pj1s4wscphvg4jvbp3kd34mcvf4";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/log4cpp/default.nix b/pkgs/development/libraries/log4cpp/default.nix
index 2b255307558..d4400d840c0 100644
--- a/pkgs/development/libraries/log4cpp/default.nix
+++ b/pkgs/development/libraries/log4cpp/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "log4cpp-1.1";
+  name = "log4cpp-1.1.1";
   
   src = fetchurl {
     url = "mirror://sourceforge/log4cpp/${name}.tar.gz";
-    sha256 = "1d386ws9v6f9bxma4dh5m6nzr4k2rv5q96xl5bp5synlmghd2ny2";
+    sha256 = "1l5yz5rfzzv6g3ynrj14mxfsk08cp5h1ssr7d74hjs0accrg7arm";
   };
 
   meta = {
     homepage = http://log4cpp.sourceforge.net/;
     description = "A logging framework for C++ patterned after Apache log4j";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/libraries/log4cxx/default.nix b/pkgs/development/libraries/log4cxx/default.nix
index 0e6c24bf61e..b2e13a1e9ab 100644
--- a/pkgs/development/libraries/log4cxx/default.nix
+++ b/pkgs/development/libraries/log4cxx/default.nix
@@ -1,19 +1,32 @@
 { stdenv, fetchurl, autoconf, automake, libtool, libxml2, cppunit, boost
-, apr, aprutil, db45, expat
+, apr, aprutil, db, expat
 }:
 
-stdenv.mkDerivation {
-  name = "log4cxx-0.10.0";
-  
+stdenv.mkDerivation rec {
+  name = "log4cxx-${version}";
+  version = "0.10.0";
+
   src = fetchurl {
-    url = http://apache.mirrors.hoobly.com/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz;    
+    url = "http://apache.mirrors.hoobly.com/logging/log4cxx/${version}/apache-${name}.tar.gz";
     sha256 = "130cjafck1jlqv92mxbn47yhxd2ccwwnprk605c6lmm941i3kq0d";
   };
-  
-  buildInputs = [autoconf automake libtool libxml2 cppunit boost apr aprutil db45 expat];
+
+  postPatch = ''
+    sed -i -e '1,/^#include/ {
+      /^#include/i \
+        #include <cstdio> \
+        #include <cstdlib> \
+        #include <cstring>
+    }' src/examples/cpp/console.cpp \
+       src/main/cpp/inputstreamreader.cpp \
+       src/main/cpp/socketoutputstream.cpp
+  '';
+
+  buildInputs = [autoconf automake libtool libxml2 cppunit boost apr aprutil db expat];
 
   meta = {
     homepage = http://logging.apache.org/log4cxx/index.html;
     description = "A logging framework for C++ patterned after Apache log4j";
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix
index f153c684629..7fa6194cbca 100644
--- a/pkgs/development/libraries/lzo/default.nix
+++ b/pkgs/development/libraries/lzo/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.oberhumer.com/opensource/lzo;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/development/libraries/mdds/0.7.1.nix b/pkgs/development/libraries/mdds/0.7.1.nix
new file mode 100644
index 00000000000..9c6c8e5e334
--- /dev/null
+++ b/pkgs/development/libraries/mdds/0.7.1.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.7.1";
+  name = "mdds-${version}";
+
+  src = fetchurl {
+    url = "http://multidimalgorithm.googlecode.com/files/mdds_${version}.tar.bz2";
+    sha256 = "0zhrx7m04pknc8i2cialmbna1hmwa0fzs8qphan4rdxibf0c4yzy";
+  };
+
+  meta = {
+    homepage = https://code.google.com/p/multidimalgorithm/;
+    description = "A collection of multi-dimensional data structure and indexing algorithm";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 9c6c8e5e334..296744e1d56 100644
--- a/pkgs/development/libraries/mdds/default.nix
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -1,15 +1,21 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.1";
+  version = "0.10.3";
   name = "mdds-${version}";
 
   src = fetchurl {
-    url = "http://multidimalgorithm.googlecode.com/files/mdds_${version}.tar.bz2";
-    sha256 = "0zhrx7m04pknc8i2cialmbna1hmwa0fzs8qphan4rdxibf0c4yzy";
+    url = "http://kohei.us/files/mdds/src/mdds_${version}.tar.bz2";
+    sha256 = "1hp0472mcsgzrz1v60jpywxrrqmpb8bchfsi7ydmp6vypqnr646v";
   };
 
+  postInstall = ''
+   mkdir -p "$out/lib/pkgconfig"
+   cp "$out/share/pkgconfig/"* "$out/lib/pkgconfig"
+  '';
+
   meta = {
+    inherit version;
     homepage = https://code.google.com/p/multidimalgorithm/;
     description = "A collection of multi-dimensional data structure and indexing algorithm";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/mdds/default.upstream b/pkgs/development/libraries/mdds/default.upstream
new file mode 100644
index 00000000000..5c07878fdf2
--- /dev/null
+++ b/pkgs/development/libraries/mdds/default.upstream
@@ -0,0 +1,10 @@
+url https://code.google.com/p/multidimalgorithm/wiki/Downloads
+version_link '[.]tar[.][a-z0-9]+$'
+version '.*_([0-9.]+)[.]tar[.].*' '\1'
+
+do_overwrite(){
+  ensure_hash
+  ensure_version
+  set_var_value version $CURRENT_VERSION
+  set_var_value sha256 $CURRENT_HASH
+}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 3b1fd9faa6b..d8a2ea6ee37 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -3,11 +3,11 @@ libv4l, libtheora, intltool, libvpx, gsm, mesa, libX11, libXv, libXext,
 glew, libopus, libupnp, vim }:
 
 stdenv.mkDerivation rec {
-  name = "mediastreamer-2.9.0";
+  name = "mediastreamer-2.10.0";
 
   src = fetchurl {
     url = "mirror://savannah/linphone/mediastreamer/${name}.tar.gz";
-    sha256 = "1mdcaqkcdwzlj7hy3bz0ipkrrqiw1cgy01in8f24rfra9i2bjif2";
+    sha256 = "1sp1vjcz0rx518l7cfmkb4802xa5wyylr2b5hxlpjk3ygg28g3c0";
   };
 
 # TODO: make it load plugins from *_PLUGIN_PATH
diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix
new file mode 100644
index 00000000000..8e2e202f432
--- /dev/null
+++ b/pkgs/development/libraries/menu-cache/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, glib, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "menu-cache-0.5.1";
+  src = fetchurl {
+    url = "mirror://sourceforge/lxde/menu-cache-0.5.1.tar.gz";
+    sha256 = "08m1msgbl6j7j72cwcg18klb99jif8h1phkcnbplxkdf3w15irh8";
+  };
+
+  buildInputs = [ glib pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://blog.lxde.org/?tag=menu-cache";
+    license = licenses.gpl2Plus;
+    description = "Library to read freedesktop.org menu files";
+    maintainers = [ maintainers.ttuegel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix
new file mode 100644
index 00000000000..98936904be5
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, stdenvAdapters, gccApple, fetchurl, pkgconfig, intltool, flex, bison
+, python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau
+, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
+, enableExtraFeatures ? false # not maintained
+}:
+
+let
+  version = "8.0.5";
+  self = stdenv.mkDerivation rec {
+    name = "mesa-${version}";
+
+    src =  fetchurl {
+      url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/${version}/MesaLib-${version}.tar.bz2";
+      sha256 = "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si";
+    };
+
+    nativeBuildInputs = [ pkgconfig python makedepend flex bison ];
+
+    buildInputs = with xorg; [
+      glproto dri2proto libXfixes libXi libXmu
+      intltool expat libxml2Python llvm
+      presentproto
+      libX11 libXext libxcb libXt libxshmfence
+      libffi libvdpau
+    ];
+
+    postUnpack = ''
+      ln -s darwin $sourceRoot/configs/current
+    '';
+
+    patches = [
+      ./patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
+      ./patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
+      ./patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
+      ./patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
+      ./patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
+      ./patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
+      ./patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
+      ./patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
+      ./patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
+      ./patches/patch-src-mapi-vgapi-Makefile.diff
+    ];
+
+    postPatch = "patchShebangs .";
+
+    configurePhase = ":";
+
+    makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++";
+
+    enableParallelBuilding = true;
+
+    passthru = { inherit version; };
+
+    meta = {
+      description = "An open source implementation of OpenGL";
+      homepage = http://www.mesa3d.org/;
+      license = "bsd";
+      platforms = stdenv.lib.platforms.darwin;
+      maintainers = with stdenv.lib.maintainers; [ cstrahan ];
+    };
+  };
+in self // { driverLink = self; }
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch b/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
new file mode 100644
index 00000000000..5466ffc9085
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
@@ -0,0 +1,147 @@
+From 9cf1afbf8ae87ddbb29b24a0f9f2724e9e2935c1 Mon Sep 17 00:00:00 2001
+From: Brian Paul <brianp@vmware.com>
+Date: Tue, 4 Sep 2012 20:17:15 -0600
+Subject: [PATCH 03/13] mesa: fix per-level max texture size error checking
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is a long-standing omission in Mesa's texture image size checking.
+We need to take the mipmap level into consideration when checking if the
+width, height and depth are too large.
+
+Fixes the new piglit max-texture-size-level test.
+Thanks to Stéphane Marchesin for finding this problem.
+
+Note: This is a candidate for the stable branches.
+
+Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+(cherry picked from commit 771e7b6d884bb4294a89f276a904d90b28efb90a)
+---
+ src/mesa/main/teximage.c | 36 +++++++++++++++++++++---------------
+ 1 file changed, 21 insertions(+), 15 deletions(-)
+
+diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
+index 3aecc0f..ed22fa9 100644
+--- a/src/mesa/main/teximage.c
++++ b/src/mesa/main/teximage.c
+@@ -1251,11 +1251,12 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+ 
+    switch (target) {
+    case GL_PROXY_TEXTURE_1D:
+-      maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
+-      if (width < 2 * border || width > 2 * border + maxSize)
+-         return GL_FALSE;
+       if (level >= ctx->Const.MaxTextureLevels)
+          return GL_FALSE;
++      maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); /* level zero size */
++      maxSize >>= level;  /* level size */
++      if (width < 2 * border || width > 2 * border + maxSize)
++         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1263,13 +1264,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_2D:
++      if (level >= ctx->Const.MaxTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1279,15 +1281,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_3D:
++      if (level >= ctx->Const.Max3DTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+       if (depth < 2 * border || depth > 2 * border + maxSize)
+          return GL_FALSE;
+-      if (level >= ctx->Const.Max3DTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1299,23 +1302,24 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_RECTANGLE_NV:
++      if (level != 0)
++         return GL_FALSE;
+       maxSize = ctx->Const.MaxTextureRectSize;
+       if (width < 0 || width > maxSize)
+          return GL_FALSE;
+       if (height < 0 || height > maxSize)
+          return GL_FALSE;
+-      if (level != 0)
+-         return GL_FALSE;
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_CUBE_MAP_ARB:
++      if (level >= ctx->Const.MaxCubeTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxCubeTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxCubeTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1325,13 +1329,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
++      if (level >= ctx->Const.MaxTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 1 || height > ctx->Const.MaxArrayTextureLayers)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1339,15 +1344,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
++      if (level >= ctx->Const.MaxTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+       if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch b/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
new file mode 100644
index 00000000000..ff933b2ec28
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
@@ -0,0 +1,33 @@
+From db8cb2250335a93cad6e877e634116e5cd6b42fc Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 13 Mar 2012 14:53:25 +0000
+Subject: [PATCH 08/13] glsl: initialise const force glsl extension warning in
+ fake ctx
+
+valgrind complained about an uninitialised value being used in
+glsl_parser_extras.cpp, and this was the one it was giving out about.
+
+Just initialise the value in the fakectx.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48057
+(cherry picked from commit b78a77f979b21a84aecb6fa4f19a2ed51a48c306)
+---
+ src/glsl/builtins/tools/generate_builtins.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py
+index 72d12bb..bd15c4d 100755
+--- a/src/glsl/builtins/tools/generate_builtins.py
++++ b/src/glsl/builtins/tools/generate_builtins.py
+@@ -156,6 +156,7 @@ read_builtins(GLenum target, const char *protos, const char **functions, unsigne
+    fakeCtx.API = API_OPENGL;
+    fakeCtx.Const.GLSLVersion = 130;
+    fakeCtx.Extensions.ARB_ES2_compatibility = true;
++   fakeCtx.Const.ForceGLSLExtensionsWarn = false;
+    gl_shader *sh = _mesa_new_shader(NULL, 0, target);
+    struct _mesa_glsl_parse_state *st =
+       new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch b/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
new file mode 100644
index 00000000000..919443045e4
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
@@ -0,0 +1,28 @@
+From 2286bd68a832a4d4908d50e1a4496853e1f3305a Mon Sep 17 00:00:00 2001
+From: Brian Paul <brianp@vmware.com>
+Date: Mon, 27 Aug 2012 21:52:07 -0600
+Subject: [PATCH 09/13] mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib()
+
+To avoid spurious GL_INVALID_ENUM errors if the extension isn't supported.
+(cherry picked from commit 1aee8803f83f7ae24d9c2150c70afff2b1ee4c2f)
+---
+ src/mesa/main/attrib.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
+index 225ac89..cc384c7 100644
+--- a/src/mesa/main/attrib.c
++++ b/src/mesa/main/attrib.c
+@@ -993,7 +993,8 @@ _mesa_PopAttrib(void)
+                _mesa_ClampColorARB(GL_CLAMP_READ_COLOR_ARB, color->ClampReadColor);
+ 
+                /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */
+-               _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled);
++               if (ctx->Extensions.EXT_framebuffer_sRGB)
++                  _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled);
+             }
+             break;
+          case GL_CURRENT_BIT:
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch b/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
new file mode 100644
index 00000000000..565d5e6c273
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
@@ -0,0 +1,29 @@
+From 9c50093adff0c7531ab32a7ec9ce3b91712b4d20 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 20 Jul 2013 10:25:28 -0700
+Subject: [PATCH 11/13] Apple: glFlush() is not needed with CGLFlushDrawable()
+
+<rdar://problem/14496373>
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit fa5ed99d8e809fb86e486a40273a4a6971055398)
+---
+ src/glx/apple/apple_glx.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/glx/apple/apple_glx.c b/src/glx/apple/apple_glx.c
+index 56cff64..4e2aa33 100644
+--- a/src/glx/apple/apple_glx.c
++++ b/src/glx/apple/apple_glx.c
+@@ -132,8 +132,6 @@ apple_glx_swap_buffers(void *ptr)
+ {
+    struct apple_glx_context *ac = ptr;
+ 
+-   /* This may not be needed with CGLFlushDrawable: */
+-   glFlush();
+    apple_cgl.flush_drawable(ac->context_obj);
+ }
+ 
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch b/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
new file mode 100644
index 00000000000..58ac66bd551
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
@@ -0,0 +1,28 @@
+From 629600450b3845a768c0edc92ea3f444d03a2738 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Tue, 20 May 2014 01:37:58 -0700
+Subject: [PATCH 12/13] glapi: Avoid heap corruption in _glapi_table
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Reviewed-by: Chia-I Wu <olv@lunarg.com>
+(cherry picked from commit ff5456d1acf6f627a6837be3f3f37c6a268c9e8e)
+---
+ src/mapi/glapi/gen/gl_gentable.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mapi/glapi/gen/gl_gentable.py b/src/mapi/glapi/gen/gl_gentable.py
+index 5657e32..0d0a02d 100644
+--- a/src/mapi/glapi/gen/gl_gentable.py
++++ b/src/mapi/glapi/gen/gl_gentable.py
+@@ -111,7 +111,7 @@ __glapi_gentable_set_remaining_noop(struct _glapi_table *disp) {
+ 
+ struct _glapi_table *
+ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
+-    struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table));
++    struct _glapi_table *disp = calloc(1, _glapi_get_dispatch_table_size() * sizeof(_glapi_proc));
+     char symboln[512];
+ 
+     if(!disp)
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch b/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
new file mode 100644
index 00000000000..5ec0d9024ef
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
@@ -0,0 +1,40 @@
+From ba59a779ed41e08fa16805c1c60da39885546d0e Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Tue, 20 May 2014 10:53:00 -0700
+Subject: [PATCH 13/13] darwin: Fix test for kCGLPFAOpenGLProfile support at
+ runtime
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 7a109268ab5b3544e7f7b99e84ef1fdf54023fb4)
+---
+ src/glx/apple/apple_visual.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index 282934f..238c248 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -73,11 +73,15 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+    GLint vsref = 0;
+    CGLError error = 0;
+ 
+-   /* Request an OpenGL 3.2 profile if one is available */
+-   if(apple_cgl.version_major > 1 || (apple_cgl.version_major == 1 && apple_cgl.version_minor >= 3)) {
+-      attr[numattr++] = kCGLPFAOpenGLProfile;
+-      attr[numattr++] = kCGLOGLPVersion_3_2_Core;
+-   }
++   /* Request an OpenGL 3.2 profile if one is available and supported */
++   attr[numattr++] = kCGLPFAOpenGLProfile;
++   attr[numattr++] = kCGLOGLPVersion_3_2_Core;
++
++   /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */
++   attr[numattr] = 0;
++   error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
++   if (error == kCGLBadAttribute)
++      numattr -= 2;
+ 
+    if (offscreen) {
+       apple_glx_diagnostic
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch b/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
new file mode 100644
index 00000000000..372ce4a27a3
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
@@ -0,0 +1,30 @@
+From f0702d6e631bb912a230c081463bb51a0dde1bff Mon Sep 17 00:00:00 2001
+From: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Mon, 12 May 2014 15:38:26 +0100
+Subject: [PATCH 1001/1003] appleglx: Improve error reporting if
+ CGLChoosePixelFormat() didn't find any matching pixel formats.
+
+Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 002a3a74273b81dfb226e1c3f0a8c18525ed0af4)
+---
+ src/glx/apple/apple_visual.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index 238c248..c6ede51 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -167,4 +167,9 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+       fprintf(stderr, "error: %s\n", apple_cgl.error_string(error));
+       abort();
+    }
++
++   if (!*pfobj) {
++      fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n");
++      abort();
++   }
+ }
+-- 
+1.9.2 (Apple Git-49)
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch b/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
new file mode 100644
index 00000000000..4818ee63d4c
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
@@ -0,0 +1,55 @@
+From 1b2f877c8ef052b183c1f20ece6c6e4a7bfd237c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 24 May 2014 14:13:33 -0700
+Subject: [PATCH 1002/1003] darwin: Write errors in choosing the pixel format
+ to the crash log
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 9eb1d36c978a9b15ae2e999c630492dfffd7f165)
+---
+ src/glx/apple/apple_visual.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index c6ede51..951b213 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -63,6 +63,16 @@ enum
+    MAX_ATTR = 60
+ };
+ 
++static char __crashreporter_info_buff__[4096] = { 0 };
++static const char *__crashreporter_info__ __attribute__((__used__)) =
++    &__crashreporter_info_buff__[0];
++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
++// This is actually a toolchain requirement, but I'm not sure the correct check,
++// but it should be fine to just only include it for Leopard and later.  This line
++// just tells the linker to never strip this symbol (such as for space optimization)
++__asm__ (".desc ___crashreporter_info__, 0x10");
++#endif
++
+ void
+ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * mode,
+                           bool * double_buffered, bool * uses_stereo,
+@@ -164,12 +174,16 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+    error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
+ 
+    if (error) {
+-      fprintf(stderr, "error: %s\n", apple_cgl.error_string(error));
++      snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
++               "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error));
++      fprintf(stderr, "%s", __crashreporter_info_buff__);
+       abort();
+    }
+ 
+    if (!*pfobj) {
+-      fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n");
++      snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
++               "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n");
++      fprintf(stderr, "%s", __crashreporter_info_buff__);
+       abort();
+    }
+ }
+-- 
+1.9.2 (Apple Git-49)
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch b/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
new file mode 100644
index 00000000000..72841e2a2cc
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
@@ -0,0 +1,69 @@
+From 9d6e12eb6b06202519e48a7321f32944d7a34b0f Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 24 May 2014 14:08:16 -0700
+Subject: [PATCH 1003/1003] darwin: Guard Core Profile usage behind a testing
+ envvar
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 04ce3be4010305902cc5ae81e8e0c8550d043a1e)
+---
+ src/glx/apple/apple_visual.c | 30 ++++++++++++++++++++----------
+ 1 file changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index 951b213..046581b 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -82,16 +82,7 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+    int numattr = 0;
+    GLint vsref = 0;
+    CGLError error = 0;
+-
+-   /* Request an OpenGL 3.2 profile if one is available and supported */
+-   attr[numattr++] = kCGLPFAOpenGLProfile;
+-   attr[numattr++] = kCGLOGLPVersion_3_2_Core;
+-
+-   /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */
+-   attr[numattr] = 0;
+-   error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
+-   if (error == kCGLBadAttribute)
+-      numattr -= 2;
++   bool use_core_profile = getenv("LIBGL_PROFILE_CORE");
+ 
+    if (offscreen) {
+       apple_glx_diagnostic
+@@ -167,12 +158,31 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+       attr[numattr++] = mode->samples;
+    }
+ 
++   /* Debugging support for Core profiles to support newer versions of OpenGL */
++   if (use_core_profile) {
++      attr[numattr++] = kCGLPFAOpenGLProfile;
++      attr[numattr++] = kCGLOGLPVersion_3_2_Core;
++   }
++
+    attr[numattr++] = 0;
+ 
+    assert(numattr < MAX_ATTR);
+ 
+    error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
+ 
++   if ((error == kCGLBadAttribute || vsref == 0) && use_core_profile) {
++      apple_glx_diagnostic
++         ("Trying again without CoreProfile: error=%s, vsref=%d\n", apple_cgl.error_string(error), vsref);
++
++      if (!error)
++         apple_cgl.destroy_pixel_format(*pfobj);
++
++      numattr -= 3;
++      attr[numattr++] = 0;
++
++      error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
++   }
++
+    if (error) {
+       snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
+                "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error));
+-- 
+1.9.2 (Apple Git-49)
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff b/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff
new file mode 100644
index 00000000000..e29a8464076
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff
@@ -0,0 +1,11 @@
+--- a/src/mapi/vgapi/Makefile	2012-11-30 12:06:24.000000000 -0500
++++ b/src/mapi/vgapi/Makefile	2012-11-30 12:06:52.000000000 -0500
+@@ -75,6 +75,8 @@
+ install-headers:
+ 	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/VG
+ 	$(INSTALL) -m 644 $(TOP)/include/VG/*.h $(DESTDIR)$(INSTALL_INC_DIR)/VG
++	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR
++	$(INSTALL) -m 644 $(TOP)/include/KHR/*.h $(DESTDIR)$(INSTALL_INC_DIR)/KHR
+ 
+ install: default install-headers install-pc
+ 	$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 137c84593f4..54fd8d3810e 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoconf, automake, libtool
+{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll
 , python, libxml2Python, file, expat, makedepend
 , libdrm, xorg, wayland, udev, llvm, libffi
-, libvdpau
+, libvdpau, libelf
+, grsecEnabled
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
-, enableR600LlvmCompiler ? false # current llvm-3.3 + mesa-9.1.6 don't configure
-, enableExtraFeatures ? false # add ~15 MB to mesa_drivers
+, enableExtraFeatures ? false # not maintained
 }:
 
 if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
@@ -13,47 +13,55 @@ else
 
 /** Packaging design:
   - The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now).
-    This or the mesa attribute (which also contains GLU) are small (~ 2.2 MB, mostly headers)
+    This or the mesa attribute (which also contains GLU) are small (~ 2 MB, mostly headers)
     and are designed to be the buildInput of other packages.
   - DRI and EGL drivers are compiled into $drivers output,
-    which is bigger (~13 MB) and depends on LLVM (~40 MB).
-    These should be searched at runtime in /run/current-system/sw/lib/*
+    which is much bigger and depends on LLVM.
+    These should be searched at runtime in "/run/opengl-driver{,-32}/lib/*"
     and so are kind-of impure (given by NixOS).
     (I suppose on non-NixOS one would create the appropriate symlinks from there.)
+  - libOSMesa is in $osmesa (~4 MB)
 */
 
 let
-  version = "9.1.6";
-  # this is the default search path for DRI drivers (note: X server introduces an overriding env var)
+  version = "10.2.6";
+  # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
+with { inherit (stdenv.lib) optional optionals optionalString; };
+
 stdenv.mkDerivation {
   name = "mesa-noglu-${version}";
 
-  src = fetchurl {
+  src =  fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "0gay00fy84hrnp25hpacz5cbvxrpvgg1d390vichmbdgmkqdycp6";
+    sha256 = "01n8ib190s12m8hiiyi4wfm9jhkbqjd769npjwvf965smp918cqr";
   };
 
   prePatch = "patchShebangs .";
 
   patches = [
     ./static-gallium.patch
-    ./dricore-gallium.patch
-    ./fix-rounding.patch
-  ];
+    ./glx_ro_text_segm.patch # fix for grsecurity/PaX
+   # TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu),
+   #  as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
+  ] ++ optional stdenv.isLinux
+      (substituteAll {
+        src = ./dlopen-absolute-paths.diff;
+        inherit udev;
+      });
 
   # Change the search path for EGL drivers from $drivers/* to driverLink
   postPatch = ''
     sed '/D_EGL_DRIVER_SEARCH_DIR=/s,EGL_DRIVER_INSTALL_DIR,${driverLink}/lib/egl,' \
       -i src/egl/main/Makefile.am
+  '' + /* work around RTTI LLVM problems */ ''
+    patch -R -p1 < ${./rtti.patch}
   '';
 
-  outputs = ["out" "drivers"];
-
-  preConfigure = "./autogen.sh";
+  outputs = ["out" "drivers" "osmesa"];
 
-  configureFlags = with stdenv.lib; [
+  configureFlags = [
     "--with-dri-driverdir=$(drivers)/lib/dri"
     "--with-egl-driver-dir=$(drivers)/lib/egl"
     "--with-dri-searchpath=${driverLink}/lib/dri"
@@ -62,68 +70,84 @@ stdenv.mkDerivation {
     "--enable-glx-tls"
     "--enable-shared-glapi" "--enable-shared-gallium"
     "--enable-driglx-direct" # seems enabled anyway
-    "--enable-gallium-llvm" "--with-llvm-shared-libs"
+    "--enable-gallium-llvm" "--enable-llvm-shared-libs"
     "--enable-xa" # used in vmware driver
+    "--enable-gles1" "--enable-gles2"
+    "--enable-vdpau"
+    "--enable-osmesa" # used by wine
 
     "--with-dri-drivers=i965,r200,radeon"
-    "--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" # radeonsi complains about R600 missing in LLVM
-    "--with-egl-platforms=x11,wayland,drm" "--enable-gbm" "--enable-shared-glapi"
+    "--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi"
+    "--with-egl-platforms=x11,wayland,drm" "--enable-gbm"
   ]
-    ++ optional enableR600LlvmCompiler "--enable-r600-llvm-compiler" # complains about R600 missing in LLVM
     ++ optional enableTextureFloats "--enable-texture-float"
     ++ optionals enableExtraFeatures [
-      "--enable-gles1" "--enable-gles2"
-      "--enable-osmesa"
       "--enable-openvg" "--enable-gallium-egl" # not needed for EGL in Gallium, but OpenVG might be useful
       #"--enable-xvmc" # tests segfault with 9.1.{1,2,3}
-      "--enable-vdpau"
       #"--enable-opencl" # ToDo: opencl seems to need libclc for clover
-    ];
+    ]
+    ++ optional grsecEnabled "--enable-glx-rts"; # slight performance degradation, enable only for grsec
 
   nativeBuildInputs = [ pkgconfig python makedepend file flex bison ];
 
-  buildInputs = with xorg;
-    [ autoconf automake libtool intltool expat libxml2Python llvm
-      libXfixes glproto dri2proto libX11 libXext libxcb libXt libXdamage libXxf86vm 
-      libffi wayland
-    ]
-    ++ stdenv.lib.optionals enableExtraFeatures [ /*libXvMC*/ libvdpau ]
-    ++ stdenv.lib.optional stdenv.isLinux [ libdrm udev ];
+  propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ]
+    ++ optionals stdenv.isLinux [libdrm]
+    ;
+  buildInputs = with xorg; [
+    autoreconfHook intltool expat libxml2Python llvm
+    glproto dri2proto dri3proto presentproto
+    libX11 libXext libxcb libXt libXfixes libxshmfence
+    libffi wayland libvdpau libelf
+  ] ++ optionals enableExtraFeatures [ /*libXvMC*/ ]
+    ++ optional stdenv.isLinux udev
+    ;
 
   enableParallelBuilding = true;
-  doCheck = true;
+  #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672
 
-  # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM
+  # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM;
+  #   also move libOSMesa to $osmesa, as it's relatively big
   # ToDo: probably not all .la files are completely fixed, but it shouldn't matter
   postInstall = with stdenv.lib; ''
     mv -t "$drivers/lib/" \
   '' + optionalString enableExtraFeatures ''
       `#$out/lib/libXvMC*` \
-      $out/lib/vdpau \
-      $out/lib/libOSMesa* \
       $out/lib/gbm $out/lib/libgbm* \
       $out/lib/gallium-pipe \
   '' + ''
       $out/lib/libdricore* \
       $out/lib/libgallium* \
+      $out/lib/vdpau \
       $out/lib/libxatracker*
 
+    mkdir -p {$osmesa,$drivers}/lib/pkgconfig
+    mv -t $osmesa/lib/ \
+      $out/lib/libOSMesa*
+
+    mv -t $drivers/lib/pkgconfig/ \
+      $out/lib/pkgconfig/xatracker.pc
+
+    mv -t $osmesa/lib/pkgconfig/ \
+      $out/lib/pkgconfig/osmesa.pc
+
   '' + /* now fix references in .la files */ ''
     sed "/^libdir=/s,$out,$drivers," -i \
   '' + optionalString enableExtraFeatures ''
       `#$drivers/lib/libXvMC*.la` \
-      $drivers/lib/vdpau/*.la \
-      $drivers/lib/libOSMesa*.la \
       $drivers/lib/gallium-pipe/*.la \
   '' + ''
       $drivers/lib/libgallium.la \
+      $drivers/lib/vdpau/*.la \
       $drivers/lib/libdricore*.la
 
     sed "s,$out\(/lib/\(libdricore[0-9\.]*\|libgallium\).la\),$drivers\1,g" \
       -i $drivers/lib/*.la $drivers/lib/*/*.la
 
+    sed "/^libdir=/s,$out,$osmesa," -i \
+      $osmesa/lib/libOSMesa*.la
+
   '' + /* work around bug #529, but maybe $drivers should also be patchelf-ed */ ''
-    find $drivers/ -type f -executable -print0 | xargs -0 strip -S || true
+    find $drivers/ $osmesa/ -type f -executable -print0 | xargs -0 strip -S || true
 
   '' + /* add RPATH so the drivers can find the moved libgallium and libdricore9 */ ''
     for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do
@@ -133,6 +157,8 @@ stdenv.mkDerivation {
     done
   '' + /* set the default search path for DRI drivers; used e.g. by X server */ ''
     substituteInPlace "$out/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
+  '' + /* move vdpau drivers to $drivers/lib, so they are found */ ''
+    mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau
   '';
   #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM
 
@@ -143,6 +169,6 @@ stdenv.mkDerivation {
     homepage = http://www.mesa3d.org/;
     license = "bsd";
     platforms = stdenv.lib.platforms.mesaPlatforms;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers; [ simons vcunat ];
   };
 }
diff --git a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff b/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff
new file mode 100644
index 00000000000..2b239e760ba
--- /dev/null
+++ b/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff
@@ -0,0 +1,13 @@
+diff --git a/src/loader/loader.c b/src/loader/loader.c
+index 666d015..4d7a9be 100644
+--- a/src/loader/loader.c
++++ b/src/loader/loader.c
+@@ -101,7 +101,7 @@ static void *
+ udev_dlopen_handle(void)
+ {
+    if (!udev_handle) {
+-      udev_handle = dlopen("libudev.so.1", RTLD_LOCAL | RTLD_LAZY);
++      udev_handle = dlopen("@udev@/lib/libudev.so.1", RTLD_LOCAL | RTLD_LAZY);
+ 
+       if (!udev_handle) {
+          /* libudev.so.1 changed the return types of the two unref functions
diff --git a/pkgs/development/libraries/mesa/dricore-gallium.patch b/pkgs/development/libraries/mesa/dricore-gallium.patch
deleted file mode 100644
index 9a8b6768277..00000000000
--- a/pkgs/development/libraries/mesa/dricore-gallium.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-commit 5208f187c7dade2c33385a56c1a5f1c3cedc8377 (HEAD, nix-patches)
-Author: Vladimír Čunát <vcunat@gmail.com>
-Date:   Mon May 13 11:34:59 2013 +0200
-
-    118-dricore-gallium.patch
-
-diff --git a/configure.ac b/configure.ac
-index be89843..08f6761 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -928,6 +928,8 @@ AC_SUBST([GLESv2_LIB_DEPS])
- AC_SUBST([GLESv2_PC_LIB_PRIV])
- 
- DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la"
-+MESAGALLIUM_LIBS="${DRI_LIB_DEPS}"
-+AC_SUBST([MESAGALLIUM_LIBS], ${MESAGALLIUM_LIBS})
- 
- AC_SUBST([HAVE_XF86VIDMODE])
- 
-diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
-index 3cdec83..53ff69b 100644
---- a/src/gallium/auxiliary/Makefile.am
-+++ b/src/gallium/auxiliary/Makefile.am
-@@ -34,14 +34,14 @@ if LLVM_NEEDS_FNORTTI
- 
- AM_CXXFLAGS += -fno-rtti
- 
--libgallium_la_LIBADD = $(LLVM_LIBS)
--
- endif
- 
- libgallium_la_SOURCES += \
- 	$(GALLIVM_SOURCES) \
- 	$(GALLIVM_CPP_SOURCES)
- 
-+libgallium_la_LIBADD = ../../mesa/libdricore/libmesagallium.la $(LLVM_LIBS) $(GALLIUM_DRI_LIB_DEPS)
-+
- endif
- 
- indices/u_indices_gen.c: $(srcdir)/indices/u_indices_gen.py
-diff --git a/src/gallium/targets/dri-i915/Makefile.am b/src/gallium/targets/dri-i915/Makefile.am
-index f4f9030..e9b9462 100644
---- a/src/gallium/targets/dri-i915/Makefile.am
-+++ b/src/gallium/targets/dri-i915/Makefile.am
-@@ -49,7 +49,7 @@ i915_dri_la_SOURCES = \
- i915_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- i915_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
- 	$(top_builddir)/src/gallium/winsys/i915/drm/libi915drm.la \
-diff --git a/src/gallium/targets/dri-nouveau/Makefile.am b/src/gallium/targets/dri-nouveau/Makefile.am
-index 69ccf32..fef4c63 100644
---- a/src/gallium/targets/dri-nouveau/Makefile.am
-+++ b/src/gallium/targets/dri-nouveau/Makefile.am
-@@ -48,7 +48,7 @@ nouveau_dri_la_SOURCES = \
- nouveau_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- nouveau_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
- 	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-diff --git a/src/gallium/targets/dri-r300/Makefile.am b/src/gallium/targets/dri-r300/Makefile.am
-index 8c0215d..6beb536 100644
---- a/src/gallium/targets/dri-r300/Makefile.am
-+++ b/src/gallium/targets/dri-r300/Makefile.am
-@@ -49,7 +49,7 @@ r300_dri_la_SOURCES = \
- r300_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- r300_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
- 	$(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
-diff --git a/src/gallium/targets/dri-r600/Makefile.am b/src/gallium/targets/dri-r600/Makefile.am
-index 2b3524b..d40fb89 100644
---- a/src/gallium/targets/dri-r600/Makefile.am
-+++ b/src/gallium/targets/dri-r600/Makefile.am
-@@ -48,7 +48,7 @@ r600_dri_la_SOURCES = \
- r600_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- r600_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/drivers/r600/libr600.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
-diff --git a/src/gallium/targets/dri-radeonsi/Makefile.am b/src/gallium/targets/dri-radeonsi/Makefile.am
-index f7d87a6..87ab2aa 100644
---- a/src/gallium/targets/dri-radeonsi/Makefile.am
-+++ b/src/gallium/targets/dri-radeonsi/Makefile.am
-@@ -49,7 +49,7 @@ radeonsi_dri_la_SOURCES = \
- radeonsi_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- radeonsi_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
-diff --git a/src/gallium/targets/dri-swrast/Makefile.am b/src/gallium/targets/dri-swrast/Makefile.am
-index 1104379..72d2401 100644
---- a/src/gallium/targets/dri-swrast/Makefile.am
-+++ b/src/gallium/targets/dri-swrast/Makefile.am
-@@ -49,7 +49,7 @@ swrast_dri_la_SOURCES = \
- swrast_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- swrast_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/sw/libdrisw.la \
- 	$(top_builddir)/src/gallium/winsys/sw/dri/libswdri.la \
-diff --git a/src/gallium/targets/dri-vmwgfx/Makefile.am b/src/gallium/targets/dri-vmwgfx/Makefile.am
-index ca7df65..4384976 100644
---- a/src/gallium/targets/dri-vmwgfx/Makefile.am
-+++ b/src/gallium/targets/dri-vmwgfx/Makefile.am
-@@ -48,7 +48,7 @@ vmwgfx_dri_la_SOURCES = \
- vmwgfx_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
- 
- vmwgfx_dri_la_LIBADD = \
--	$(top_builddir)/src/mesa/libmesagallium.la \
-+	@MESAGALLIUM_LIBS@ \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
- 	$(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \
-diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am
-index 5c40ae8..6922ab2 100644
---- a/src/gallium/targets/egl-static/Makefile.am
-+++ b/src/gallium/targets/egl-static/Makefile.am
-@@ -104,7 +104,7 @@ AM_CPPFLAGS += \
- 	$(API_DEFINES)
- 
- egl_gallium_la_LIBADD += \
--	$(top_builddir)/src/mesa/libmesagallium.la
-+	@MESAGALLIUM_LIBS@
- # make st/mesa built-in when there is a single glapi provider
- if HAVE_SHARED_GLAPI
- egl_gallium_la_LIBADD += \
-diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
-index 41483dd..0045a673 100644
---- a/src/mesa/Makefile.am
-+++ b/src/mesa/Makefile.am
-@@ -75,9 +75,6 @@ noinst_LTLIBRARIES += libmesa.la
- else
- check_LTLIBRARIES = libmesa.la
- endif
--if HAVE_GALLIUM
--noinst_LTLIBRARIES += libmesagallium.la
--endif
- 
- SRCDIR = $(top_srcdir)/src/mesa/
- BUILDDIR = $(top_builddir)/src/mesa/
-@@ -119,15 +116,6 @@ libmesa_la_LIBADD = \
-         $()
- libmesa_la_LDFLAGS =
- 
--libmesagallium_la_SOURCES = \
--	$(MESA_GALLIUM_FILES) \
--        $(MESA_ASM_FILES_FOR_ARCH)
--
--libmesagallium_la_LIBADD = \
--        $(top_builddir)/src/glsl/libglsl.la \
--        $(top_builddir)/src/mesa/program/libprogram.la \
--        $()
--
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = gl.pc
- 
-diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am
-index 753548e..8761418 100644
---- a/src/mesa/libdricore/Makefile.am
-+++ b/src/mesa/libdricore/Makefile.am
-@@ -42,6 +42,7 @@ libdricore@VERSION@_la_SOURCES = \
- libdricore@VERSION@_la_LDFLAGS = -version-number 1:0
- libdricore@VERSION@_la_LIBADD = \
-         ../program/libdricore_program.la \
-+        $(top_builddir)/src/mapi/shared-glapi/libglapi.la
-         $()
- 
- if HAVE_X86_ASM
-@@ -65,8 +66,10 @@ AM_CPPFLAGS += \
-         -I$(top_srcdir)/src/mesa/sparc
- endif
- 
-+lib_LTLIBRARIES =
-+
- if HAVE_DRI
--lib_LTLIBRARIES = libdricore@VERSION@.la
-+lib_LTLIBRARIES += libdricore@VERSION@.la
- 
- # Provide compatibility with scripts for the old Mesa build system for
- # a while by putting a link to the driver into /lib of the build tree.
-@@ -76,6 +79,17 @@ all-local: libdricore@VERSION@.la
- 	ln -sf libdricore@VERSION@.so.1 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so
- endif
- 
-+libmesagallium_la_SOURCES = \
-+	$(STATETRACKER_FILES)
-+libmesagallium_la_CFLAGS = @LLVM_CFLAGS@
-+libmesagallium_la_CXXFLAGS = @LLVM_CXXFLAGS@
-+libmesagallium_la_LIBADD = libdricore@VERSION@.la $(LLVM_LIBS)
-+
-+if HAVE_GALLIUM
-+noinst_LTLIBRARIES = libmesagallium.la
-+endif
-+
-+
- CLEANFILES = \
- 	$(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so.1 \
- 	$(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so
diff --git a/pkgs/development/libraries/mesa/fix-rounding.patch b/pkgs/development/libraries/mesa/fix-rounding.patch
deleted file mode 100644
index f81760a6708..00000000000
--- a/pkgs/development/libraries/mesa/fix-rounding.patch
+++ /dev/null
@@ -1,357 +0,0 @@
-From c25ae5d27b114e23d5734f846002df1a05759658 Mon Sep 17 00:00:00 2001
-From: Roland Scheidegger <sroland@vmware.com>
-Date: Thu, 31 Jan 2013 19:27:49 +0000
-Subject: gallivm: fix issues with trunc/round/floor/ceil with no arch rounding
-
-The emulation of these if there's no rounding instruction available
-is a bit more complicated than what the code did.
-In particular, doing fp-to-int/int-to-fp will not work if the exponent
-is large enough (and with NaNs, Infs). Hence such values need to be filtered
-out and the original value returned in this case (which fortunately should
-always be exact). This comes at the expense of performance (if your cpu
-doesn't support rounding instructions).
-Furthermore, floor/ifloor/ceil/iceil were affected by precision issues for
-values near negative (for floor) or positive (for ceil) zero, fix that as well
-(fixing this issue might not actually be slower except for ceil/iceil if the
-type is not signed which is probably rare - note iceil has no callers left
-in any case).
-
-Also add some new rounding test values in lp_test_arit to actually test
-for that stuff (which previously would have failed without sse41).
-
-This fixes https://bugs.freedesktop.org/show_bug.cgi?id=59701.
----
-diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
-index b4e9f23..ec05026 100644
---- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
-+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
-@@ -1590,12 +1590,37 @@ lp_build_trunc(struct lp_build_context *bld,
-       return lp_build_round_arch(bld, a, LP_BUILD_ROUND_TRUNCATE);
-    }
-    else {
--      LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type);
--      LLVMTypeRef int_vec_type = lp_build_int_vec_type(bld->gallivm, type);
--      LLVMValueRef res;
--      res = LLVMBuildFPToSI(builder, a, int_vec_type, "");
--      res = LLVMBuildSIToFP(builder, res, vec_type, "");
--      return res;
-+      const struct lp_type type = bld->type;
-+      struct lp_type inttype;
-+      struct lp_build_context intbld;
-+      LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24);
-+      LLVMValueRef trunc, res, anosign, mask;
-+      LLVMTypeRef int_vec_type = bld->int_vec_type;
-+      LLVMTypeRef vec_type = bld->vec_type;
-+
-+      assert(type.width == 32); /* might want to handle doubles at some point */
-+
-+      inttype = type;
-+      inttype.floating = 0;
-+      lp_build_context_init(&intbld, bld->gallivm, inttype);
-+
-+      /* round by truncation */
-+      trunc = LLVMBuildFPToSI(builder, a, int_vec_type, "");
-+      res = LLVMBuildSIToFP(builder, trunc, vec_type, "floor.trunc");
-+
-+      /* mask out sign bit */
-+      anosign = lp_build_abs(bld, a);
-+      /*
-+       * mask out all values if anosign > 2^24
-+       * This should work both for large ints (all rounding is no-op for them
-+       * because such floats are always exact) as well as special cases like
-+       * NaNs, Infs (taking advantage of the fact they use max exponent).
-+       * (2^24 is arbitrary anything between 2^24 and 2^31 should work.)
-+       */
-+      anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, "");
-+      cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, "");
-+      mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval);
-+      return lp_build_select(bld, mask, a, res);
-    }
- }
- 
-@@ -1620,11 +1645,36 @@ lp_build_round(struct lp_build_context *bld,
-       return lp_build_round_arch(bld, a, LP_BUILD_ROUND_NEAREST);
-    }
-    else {
--      LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type);
--      LLVMValueRef res;
-+      const struct lp_type type = bld->type;
-+      struct lp_type inttype;
-+      struct lp_build_context intbld;
-+      LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24);
-+      LLVMValueRef res, anosign, mask;
-+      LLVMTypeRef int_vec_type = bld->int_vec_type;
-+      LLVMTypeRef vec_type = bld->vec_type;
-+
-+      assert(type.width == 32); /* might want to handle doubles at some point */
-+
-+      inttype = type;
-+      inttype.floating = 0;
-+      lp_build_context_init(&intbld, bld->gallivm, inttype);
-+
-       res = lp_build_iround(bld, a);
-       res = LLVMBuildSIToFP(builder, res, vec_type, "");
--      return res;
-+
-+      /* mask out sign bit */
-+      anosign = lp_build_abs(bld, a);
-+      /*
-+       * mask out all values if anosign > 2^24
-+       * This should work both for large ints (all rounding is no-op for them
-+       * because such floats are always exact) as well as special cases like
-+       * NaNs, Infs (taking advantage of the fact they use max exponent).
-+       * (2^24 is arbitrary anything between 2^24 and 2^31 should work.)
-+       */
-+      anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, "");
-+      cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, "");
-+      mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval);
-+      return lp_build_select(bld, mask, a, res);
-    }
- }
- 
-@@ -1648,11 +1698,52 @@ lp_build_floor(struct lp_build_context *bld,
-       return lp_build_round_arch(bld, a, LP_BUILD_ROUND_FLOOR);
-    }
-    else {
--      LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type);
--      LLVMValueRef res;
--      res = lp_build_ifloor(bld, a);
--      res = LLVMBuildSIToFP(builder, res, vec_type, "");
--      return res;
-+      const struct lp_type type = bld->type;
-+      struct lp_type inttype;
-+      struct lp_build_context intbld;
-+      LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24);
-+      LLVMValueRef trunc, res, anosign, mask;
-+      LLVMTypeRef int_vec_type = bld->int_vec_type;
-+      LLVMTypeRef vec_type = bld->vec_type;
-+
-+      assert(type.width == 32); /* might want to handle doubles at some point */
-+
-+      inttype = type;
-+      inttype.floating = 0;
-+      lp_build_context_init(&intbld, bld->gallivm, inttype);
-+
-+      /* round by truncation */
-+      trunc = LLVMBuildFPToSI(builder, a, int_vec_type, "");
-+      res = LLVMBuildSIToFP(builder, trunc, vec_type, "floor.trunc");
-+
-+      if (type.sign) {
-+         LLVMValueRef tmp;
-+
-+         /*
-+          * fix values if rounding is wrong (for non-special cases)
-+          * - this is the case if trunc > a
-+          */
-+         mask = lp_build_cmp(bld, PIPE_FUNC_GREATER, res, a);
-+         /* tmp = trunc > a ? 1.0 : 0.0 */
-+         tmp = LLVMBuildBitCast(builder, bld->one, int_vec_type, "");
-+         tmp = lp_build_and(&intbld, mask, tmp);
-+         tmp = LLVMBuildBitCast(builder, tmp, vec_type, "");
-+         res = lp_build_sub(bld, res, tmp);
-+      }
-+
-+      /* mask out sign bit */
-+      anosign = lp_build_abs(bld, a);
-+      /*
-+       * mask out all values if anosign > 2^24
-+       * This should work both for large ints (all rounding is no-op for them
-+       * because such floats are always exact) as well as special cases like
-+       * NaNs, Infs (taking advantage of the fact they use max exponent).
-+       * (2^24 is arbitrary anything between 2^24 and 2^31 should work.)
-+       */
-+      anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, "");
-+      cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, "");
-+      mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval);
-+      return lp_build_select(bld, mask, a, res);
-    }
- }
- 
-@@ -1676,11 +1767,48 @@ lp_build_ceil(struct lp_build_context *bld,
-       return lp_build_round_arch(bld, a, LP_BUILD_ROUND_CEIL);
-    }
-    else {
--      LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type);
--      LLVMValueRef res;
--      res = lp_build_iceil(bld, a);
--      res = LLVMBuildSIToFP(builder, res, vec_type, "");
--      return res;
-+      const struct lp_type type = bld->type;
-+      struct lp_type inttype;
-+      struct lp_build_context intbld;
-+      LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24);
-+      LLVMValueRef trunc, res, anosign, mask, tmp;
-+      LLVMTypeRef int_vec_type = bld->int_vec_type;
-+      LLVMTypeRef vec_type = bld->vec_type;
-+
-+      assert(type.width == 32); /* might want to handle doubles at some point */
-+
-+      inttype = type;
-+      inttype.floating = 0;
-+      lp_build_context_init(&intbld, bld->gallivm, inttype);
-+
-+      /* round by truncation */
-+      trunc = LLVMBuildFPToSI(builder, a, int_vec_type, "");
-+      trunc = LLVMBuildSIToFP(builder, trunc, vec_type, "ceil.trunc");
-+
-+      /*
-+       * fix values if rounding is wrong (for non-special cases)
-+       * - this is the case if trunc < a
-+       */
-+      mask = lp_build_cmp(bld, PIPE_FUNC_LESS, trunc, a);
-+      /* tmp = trunc < a ? 1.0 : 0.0 */
-+      tmp = LLVMBuildBitCast(builder, bld->one, int_vec_type, "");
-+      tmp = lp_build_and(&intbld, mask, tmp);
-+      tmp = LLVMBuildBitCast(builder, tmp, vec_type, "");
-+      res = lp_build_add(bld, trunc, tmp);
-+
-+      /* mask out sign bit */
-+      anosign = lp_build_abs(bld, a);
-+      /*
-+       * mask out all values if anosign > 2^24
-+       * This should work both for large ints (all rounding is no-op for them
-+       * because such floats are always exact) as well as special cases like
-+       * NaNs, Infs (taking advantage of the fact they use max exponent).
-+       * (2^24 is arbitrary anything between 2^24 and 2^31 should work.)
-+       */
-+      anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, "");
-+      cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, "");
-+      mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval);
-+      return lp_build_select(bld, mask, a, res);
-    }
- }
- 
-@@ -1826,32 +1954,30 @@ lp_build_ifloor(struct lp_build_context *bld,
-          res = lp_build_round_arch(bld, a, LP_BUILD_ROUND_FLOOR);
-       }
-       else {
--         /* Take the sign bit and add it to 1 constant */
--         LLVMTypeRef vec_type = bld->vec_type;
--         unsigned mantissa = lp_mantissa(type);
--         LLVMValueRef mask = lp_build_const_int_vec(bld->gallivm, type,
--                                  (unsigned long long)1 << (type.width - 1));
--         LLVMValueRef sign;
--         LLVMValueRef offset;
-+         struct lp_type inttype;
-+         struct lp_build_context intbld;
-+         LLVMValueRef trunc, itrunc, mask;
- 
--         /* sign = a < 0 ? ~0 : 0 */
--         sign = LLVMBuildBitCast(builder, a, int_vec_type, "");
--         sign = LLVMBuildAnd(builder, sign, mask, "");
--         sign = LLVMBuildAShr(builder, sign,
--                              lp_build_const_int_vec(bld->gallivm, type,
--                                                     type.width - 1),
--                              "ifloor.sign");
-+         assert(type.floating);
-+         assert(lp_check_value(type, a));
- 
--         /* offset = -0.99999(9)f */
--         offset = lp_build_const_vec(bld->gallivm, type,
--                                     -(double)(((unsigned long long)1 << mantissa) - 10)/((unsigned long long)1 << mantissa));
--         offset = LLVMConstBitCast(offset, int_vec_type);
-+         inttype = type;
-+         inttype.floating = 0;
-+         lp_build_context_init(&intbld, bld->gallivm, inttype);
- 
--         /* offset = a < 0 ? offset : 0.0f */
--         offset = LLVMBuildAnd(builder, offset, sign, "");
--         offset = LLVMBuildBitCast(builder, offset, vec_type, "ifloor.offset");
-+         /* round by truncation */
-+         itrunc = LLVMBuildFPToSI(builder, a, int_vec_type, "");
-+         trunc = LLVMBuildSIToFP(builder, itrunc, bld->vec_type, "ifloor.trunc");
- 
--         res = LLVMBuildFAdd(builder, res, offset, "ifloor.res");
-+         /*
-+          * fix values if rounding is wrong (for non-special cases)
-+          * - this is the case if trunc > a
-+          * The results of doing this with NaNs, very large values etc.
-+          * are undefined but this seems to be the case anyway.
-+          */
-+         mask = lp_build_cmp(bld, PIPE_FUNC_GREATER, trunc, a);
-+         /* cheapie minus one with mask since the mask is minus one / zero */
-+         return lp_build_add(&intbld, itrunc, mask);
-       }
-    }
- 
-@@ -1883,35 +2009,30 @@ lp_build_iceil(struct lp_build_context *bld,
-       res = lp_build_round_arch(bld, a, LP_BUILD_ROUND_CEIL);
-    }
-    else {
--      LLVMTypeRef vec_type = bld->vec_type;
--      unsigned mantissa = lp_mantissa(type);
--      LLVMValueRef offset;
-+      struct lp_type inttype;
-+      struct lp_build_context intbld;
-+      LLVMValueRef trunc, itrunc, mask;
- 
--      /* offset = 0.99999(9)f */
--      offset = lp_build_const_vec(bld->gallivm, type,
--                                  (double)(((unsigned long long)1 << mantissa) - 10)/((unsigned long long)1 << mantissa));
-+      assert(type.floating);
-+      assert(lp_check_value(type, a));
- 
--      if (type.sign) {
--         LLVMValueRef mask = lp_build_const_int_vec(bld->gallivm, type,
--                                (unsigned long long)1 << (type.width - 1));
--         LLVMValueRef sign;
-+      inttype = type;
-+      inttype.floating = 0;
-+      lp_build_context_init(&intbld, bld->gallivm, inttype);
- 
--         /* sign = a < 0 ? 0 : ~0 */
--         sign = LLVMBuildBitCast(builder, a, int_vec_type, "");
--         sign = LLVMBuildAnd(builder, sign, mask, "");
--         sign = LLVMBuildAShr(builder, sign,
--                              lp_build_const_int_vec(bld->gallivm, type,
--                                                     type.width - 1),
--                              "iceil.sign");
--         sign = LLVMBuildNot(builder, sign, "iceil.not");
--
--         /* offset = a < 0 ? 0.0 : offset */
--         offset = LLVMConstBitCast(offset, int_vec_type);
--         offset = LLVMBuildAnd(builder, offset, sign, "");
--         offset = LLVMBuildBitCast(builder, offset, vec_type, "iceil.offset");
--      }
-+      /* round by truncation */
-+      itrunc = LLVMBuildFPToSI(builder, a, int_vec_type, "");
-+      trunc = LLVMBuildSIToFP(builder, itrunc, bld->vec_type, "iceil.trunc");
- 
--      res = LLVMBuildFAdd(builder, a, offset, "iceil.res");
-+      /*
-+       * fix values if rounding is wrong (for non-special cases)
-+       * - this is the case if trunc < a
-+       * The results of doing this with NaNs, very large values etc.
-+       * are undefined but this seems to be the case anyway.
-+       */
-+      mask = lp_build_cmp(bld, PIPE_FUNC_LESS, trunc, a);
-+      /* cheapie plus one with mask since the mask is minus one / zero */
-+      return lp_build_sub(&intbld, itrunc, mask);
-    }
- 
-    /* round to nearest (toward zero) */
-diff --git a/src/gallium/drivers/llvmpipe/lp_test_arit.c b/src/gallium/drivers/llvmpipe/lp_test_arit.c
-index 99928b8..f14e4b3 100644
---- a/src/gallium/drivers/llvmpipe/lp_test_arit.c
-+++ b/src/gallium/drivers/llvmpipe/lp_test_arit.c
-@@ -207,6 +207,18 @@ const float round_values[] = {
-       -10.0, -1, 0.0, 12.0,
-       -1.49, -0.25, 1.25, 2.51,
-       -0.99, -0.01, 0.01, 0.99,
-+      1.401298464324817e-45f, // smallest denormal
-+      -1.401298464324817e-45f,
-+      1.62981451e-08f,
-+      -1.62981451e-08f,
-+      1.62981451e15f, // large number not representable as 32bit int
-+      -1.62981451e15f,
-+      FLT_EPSILON,
-+      -FLT_EPSILON,
-+      1.0f - 0.5f*FLT_EPSILON,
-+      -1.0f + FLT_EPSILON,
-+      FLT_MAX,
-+      -FLT_MAX
- };
- 
- static float fractf(float x)
---
-cgit v0.9.0.2-2-gbebe
diff --git a/pkgs/development/libraries/mesa/glx_ro_text_segm.patch b/pkgs/development/libraries/mesa/glx_ro_text_segm.patch
new file mode 100644
index 00000000000..95f01ba9e52
--- /dev/null
+++ b/pkgs/development/libraries/mesa/glx_ro_text_segm.patch
@@ -0,0 +1,25 @@
+diff --git a/configure.ac b/configure.ac
+index 5068913..3d4271e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -429,6 +429,20 @@ AC_SUBST([GLESv2_LIB_GLOB])
+ AC_SUBST([VG_LIB_GLOB])
+ AC_SUBST([GLAPI_LIB_GLOB])
+ 
++
++dnl readonly text segment on x86 hardened platforms
++AC_ARG_ENABLE([glx_rts],
++    [AS_HELP_STRING([--enable-glx-rts],
++        [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
++    [enable_glx_rts="$enableval"],
++    [enable_glx_rts=no])
++if test "x$enable_glx_rts" = xyes; then
++    DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
++else
++    enable_glx_rts=no
++fi
++
++
+ dnl
+ dnl Arch/platform-specific settings
+ dnl
diff --git a/pkgs/development/libraries/mesa/rtti.patch b/pkgs/development/libraries/mesa/rtti.patch
new file mode 100644
index 00000000000..6b123139013
--- /dev/null
+++ b/pkgs/development/libraries/mesa/rtti.patch
@@ -0,0 +1,72 @@
+http://lists.freedesktop.org/archives/mesa-dev/2013-October/046311.html
+
+* As discussed on the mailing list,
+  forced no-rtti breaks C++ public
+  API's such as the Haiku C++ libGL.so
+* -fno-rtti *can* be still set however
+  instead of blindly forcing -fno-rtti,
+  we can rely on the llvm-config
+  --cppflags output.
+  If the system llvm is built without
+  rtti (default), the no-rtti flag will be
+  present in llvm-config --cppflags
+  (which we pick up on)
+  If llvm is built with rtti
+  (REQUIRES_RTTI=1), then -fno-rtti is
+  removed from llvm-config --cppflags.
+* We could selectively add / remove rtti
+  from various components, however mixing
+  rtti and non-rtti code is tricky and
+  could introduce bugs.
+* This needs impact tested.
+---
+ configure.ac                      | 1 -
+ scons/llvm.py                     | 3 ---
+ src/gallium/auxiliary/Makefile.am | 6 ------
+ 3 files changed, 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0d082d2..3335575 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1943,7 +1943,6 @@ AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
+ AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
+ AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
+ AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
+-AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
+ 
+ AC_SUBST([ELF_LIB])
+ 
+diff --git a/scons/llvm.py b/scons/llvm.py
+index 7cd609c..c1c3736 100644
+--- a/scons/llvm.py
++++ b/scons/llvm.py
+@@ -195,9 +195,6 @@ def generate(env):
+             if llvm_version >= distutils.version.LooseVersion('3.1'):
+                 components.append('mcjit')
+ 
+-            if llvm_version >= distutils.version.LooseVersion('3.2'):
+-                env.Append(CXXFLAGS = ('-fno-rtti',))
+-
+             env.ParseConfig('llvm-config --libs ' + ' '.join(components))
+             env.ParseConfig('llvm-config --ldflags')
+         except OSError:
+diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
+index 670e124..2d2d8d4 100644
+--- a/src/gallium/auxiliary/Makefile.am
++++ b/src/gallium/auxiliary/Makefile.am
+@@ -25,12 +25,6 @@ AM_CXXFLAGS += \
+ 	$(GALLIUM_CFLAGS) \
+ 	$(LLVM_CXXFLAGS)
+ 
+-if LLVM_NEEDS_FNORTTI
+-
+-AM_CXXFLAGS += -fno-rtti
+-
+-endif
+-
+ libgallium_la_SOURCES += \
+ 	$(GALLIVM_SOURCES) \
+ 	$(GALLIVM_CPP_SOURCES)
+-- 
+1.8.4
diff --git a/pkgs/development/libraries/mesa/static-gallium.patch b/pkgs/development/libraries/mesa/static-gallium.patch
index 755682d9f1e..bb3f60eaf88 100644
--- a/pkgs/development/libraries/mesa/static-gallium.patch
+++ b/pkgs/development/libraries/mesa/static-gallium.patch
@@ -1,11 +1,4 @@
-commit 2c910b6f186616cac8134e2a2cbe239c8351ed99
-Author: Vladimír Čunát <vcunat@gmail.com>
-Date:   Mon May 13 11:34:34 2013 +0200
-
-    117-static-gallium.patch
-    
-    Conflicts (moving of VISIBILITY_ confused the merge):
-    	src/gallium/auxiliary/Makefile.am
+117-static-gallium.patch from Ubuntu Trusty
 
 diff --git a/configure.ac b/configure.ac
 index b9fcb0b..be89843 100644
diff --git a/pkgs/development/libraries/ming/default.nix b/pkgs/development/libraries/ming/default.nix
index 9cfb8afa8eb..f9632dca9d2 100644
--- a/pkgs/development/libraries/ming/default.nix
+++ b/pkgs/development/libraries/ming/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.libming.org/;
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/minixml/default.nix b/pkgs/development/libraries/minixml/default.nix
index 33b713239c8..f3b1c2c72a7 100644
--- a/pkgs/development/libraries/minixml/default.nix
+++ b/pkgs/development/libraries/minixml/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation  rec {
   name = "mxml-${version}";
-  version = "2.6";
+  version = "2.8";
 
   src = fetchurl {
-    url = "http://ftp.easysw.com/pub/mxml/${version}/${name}.tar.gz";
-    sha256 = "15cpqr43cwvy1ms67rfav8l9fjgybkaqfq7nhag8qnhd3bd4glxh";
+    url = "http://www.msweet.org/files/project3/${name}.tar.gz";
+    sha256 = "1m8i62dfmgfc1v8y3zx0r4i2hr5n86yw01xh5kiq53bi3bwnk4qc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
new file mode 100644
index 00000000000..b71920446e4
--- /dev/null
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, zlib, autoconf, automake, libtool }:
+
+stdenv.mkDerivation {
+  name = "minizip-${zlib.version}";
+  inherit (zlib) src;
+
+  nativeBuildInputs = [ autoconf automake libtool ];
+  buildInputs = [ zlib ];
+
+  preConfigure = ''
+    cd contrib/minizip
+    autoreconf -vfi
+  '';
+}
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 1d21e03efa6..389e2385f98 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,29 +1,39 @@
-{ stdenv, fetchurl, SDL, ffmpeg, libdv, libsamplerate, libvorbis
-, libxml2 , pkgconfig, qt4, sox, gtk2 }:
+{ stdenv, fetchurl, SDL, ffmpeg, frei0r, jack2, libdv, libsamplerate
+, libvorbis, libxml2, makeWrapper, movit, pkgconfig, qt, sox
+}:
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "0.9.0";
+  version = "0.9.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mlt/${name}.tar.gz";
-    sha256 = "1j8wbkwpa6k5anyf4nvf71l8251d7clzj6v09jl3vvfakaf6l37j";
+    url = "https://github.com/mltframework/mlt/archive/v${version}.tar.gz";
+    sha256 = "0vk1i2yrny6dbip4aha25ibgv4m2rdhpxmz6a74q9wz1cgzbb766";
   };
 
-  buildInputs =
-    [ SDL ffmpeg libdv libsamplerate libvorbis libxml2 pkgconfig qt4
-      sox # gtk2 /*optional*/
-    ];
+  buildInputs = [
+    SDL ffmpeg frei0r jack2 libdv libsamplerate libvorbis libxml2
+    makeWrapper movit pkgconfig qt sox
+  ];
 
   # Mostly taken from:
   # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
-  configureFlags = [ "--enable-gpl" "--enable-gpl3" "--avformat-swscale" ];
+  configureFlags = [
+    "--avformat-swscale" "--enable-gpl" "--enable-gpl" "--enable-gpl3"
+    "--enable-opengl"
+  ];
 
   enableParallelBuilding = true;
 
-  meta = {
-    homepage = http://www.mltframework.org/;
+  postInstall = ''
+    wrapProgram $out/bin/melt --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
+  meta = with stdenv.lib; {
     description = "Open source multimedia framework, designed for television broadcasting";
-    license = "GPLv3";
+    homepage = http://www.mltframework.org/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/movit/default.nix b/pkgs/development/libraries/movit/default.nix
new file mode 100644
index 00000000000..bfd474c88e7
--- /dev/null
+++ b/pkgs/development/libraries/movit/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, SDL, eigen, epoxy, fftw, gtest, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "movit-${version}";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "http://movit.sesse.net/${name}.tar.gz";
+    sha256 = "1k3qbkxapcplpsx22xh4m4ccp9fhsjfcj3pjzbcnrc51103aklag";
+  };
+
+  GTEST_DIR = "${gtest}";
+
+  propagatedBuildInputs = [ eigen epoxy ];
+
+  buildInputs = [ SDL fftw gtest pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "High-performance, high-quality video filters for the GPU";
+    homepage = http://movits.sesse.net;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch b/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch
new file mode 100644
index 00000000000..beb8be6d892
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch
@@ -0,0 +1,142 @@
+diff -Naur mp4v2-trunk-r355/include/mp4v2/general.h mp4v2-trunk-r355/include/mp4v2/general.h
+--- mp4v2-trunk-r355/include/mp4v2/general.h	2009-05-23 06:09:58.000000000 -0700
++++ mp4v2-trunk-r355/include/mp4v2/general.h	2010-05-23 14:22:21.949288657 -0700
+@@ -75,6 +75,7 @@
+ #define MP4_CNTL_TRACK_TYPE     "cntl"  /**< Constant: control track. */
+ #define MP4_TEXT_TRACK_TYPE     "text"  /**< Constant: text track. */
+ #define MP4_SUBTITLE_TRACK_TYPE "sbtl"  /**< Constant: subtitle track. */
++#define MP4_SUBPIC_TRACK_TYPE   "subp"  /**< Constant: subtitle track. */
+ /*
+  * This second set of track types should be created
+  * via MP4AddSystemsTrack(type)
+diff -Naur mp4v2-trunk-r355/include/mp4v2/track.h mp4v2-trunk-r355/include/mp4v2/track.h
+--- mp4v2-trunk-r355/include/mp4v2/track.h	2009-05-23 06:21:49.000000000 -0700
++++ mp4v2-trunk-r355/include/mp4v2/track.h	2010-05-23 15:43:47.249286008 -0700
+@@ -310,6 +310,13 @@
+     uint16_t      height );
+ 
+ MP4V2_EXPORT
++MP4TrackId MP4AddSubpicTrack(
++    MP4FileHandle hFile,
++    uint32_t      timescale,
++    uint16_t      width,
++    uint16_t      height );
++
++MP4V2_EXPORT
+ MP4TrackId MP4AddPixelAspectRatio(
+     MP4FileHandle hFile,
+     MP4TrackId    refTrackId,
+diff -Naur mp4v2-trunk-r355/src/descriptors.h mp4v2-trunk-r355/src/descriptors.h
+--- mp4v2-trunk-r355/src/descriptors.h	2009-05-20 19:52:32.000000000 -0700
++++ mp4v2-trunk-r355/src/descriptors.h	2010-05-23 16:29:34.800935677 -0700
+@@ -119,6 +119,7 @@
+ // ES objectTypeId
+ const uint8_t MP4SystemsV1ObjectType            = 0x01;
+ const uint8_t MP4SystemsV2ObjectType            = 0x02;
++const uint8_t MP4SubpicObjectType               = 0xe0;
+ 
+ // ES streamType
+ const uint8_t MP4ObjectDescriptionStreamType    = 0x01;
+@@ -131,6 +132,7 @@
+ const uint8_t MP4OCIStreamType                  = 0x08;
+ const uint8_t MP4MPEGJStreamType                = 0x09;
+ const uint8_t MP4UserPrivateStreamType          = 0x20;
++const uint8_t MP4NeroSubpicStreamType           = 0x38;
+ 
+ ///////////////////////////////////////////////////////////////////////////////
+ 
+diff -Naur mp4v2-trunk-r355/src/mp4.cpp mp4v2-trunk-r355/src/mp4.cpp
+--- mp4v2-trunk-r355/src/mp4.cpp	2009-05-23 06:29:37.000000000 -0700
++++ mp4v2-trunk-r355/src/mp4.cpp	2010-05-23 15:45:28.852222074 -0700
+@@ -1174,6 +1174,23 @@
+         return MP4_INVALID_TRACK_ID;
+     }
+ 
++    MP4TrackId MP4AddSubpicTrack(MP4FileHandle hFile,
++                                   uint32_t timescale,
++                                   uint16_t width,
++                                   uint16_t height)
++    {
++        if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
++            try {
++                return ((MP4File*)hFile)->AddSubpicTrack(timescale, width, height);
++            }
++            catch (MP4Error* e) {
++                PRINT_ERROR(e);
++                delete e;
++            }
++        }
++        return MP4_INVALID_TRACK_ID;
++    }
++
+     MP4TrackId MP4AddChapterTextTrack(
+         MP4FileHandle hFile, MP4TrackId refTrackId, uint32_t timescale)
+     {
+diff -Naur mp4v2-trunk-r355/src/mp4file.cpp mp4v2-trunk-r355/src/mp4file.cpp
+--- mp4v2-trunk-r355/src/mp4file.cpp	2009-05-26 19:34:56.000000000 -0700
++++ mp4v2-trunk-r355/src/mp4file.cpp	2010-05-23 16:32:52.654220633 -0700
+@@ -2095,6 +2095,50 @@
+     return trackId;
+ }
+ 
++MP4TrackId MP4File::AddSubpicTrack(uint32_t timescale,
++                                     uint16_t width,
++                                     uint16_t height)
++{
++    MP4TrackId trackId =
++        AddTrack(MP4_SUBPIC_TRACK_TYPE, timescale);
++
++    InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "nmhd", 0);
++
++    (void)AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "mp4s");
++
++    SetTrackFloatProperty(trackId, "tkhd.width", width);
++    SetTrackFloatProperty(trackId, "tkhd.height", height);
++    SetTrackIntegerProperty(trackId, "tkhd.layer", 0);
++
++    // stsd is a unique beast in that it has a count of the number
++    // of child atoms that needs to be incremented after we add the mp4s atom
++    MP4Integer32Property* pStsdCountProperty;
++    FindIntegerProperty(
++        MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"),
++        (MP4Property**)&pStsdCountProperty);
++    pStsdCountProperty->IncrementValue();
++
++    SetTrackIntegerProperty(trackId,
++                            "mdia.minf.stbl.stsd.mp4s.esds.ESID",
++#if 0
++                            // note - for a file, these values need to
++                            // be 0 - wmay - 04/16/2003
++                            trackId
++#else
++                            0
++#endif
++                           );
++
++    SetTrackIntegerProperty(trackId,
++                            "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.objectTypeId",
++                            MP4SubpicObjectType);
++
++    SetTrackIntegerProperty(trackId,
++                            "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.streamType",
++                            MP4NeroSubpicStreamType);
++    return trackId;
++}
++
+ MP4TrackId MP4File::AddChapterTextTrack(MP4TrackId refTrackId, uint32_t timescale)
+ {
+     // validate reference track id
+diff -Naur mp4v2-trunk-r355/src/mp4file.h mp4v2-trunk-r355/src/mp4file.h
+--- mp4v2-trunk-r355/src/mp4file.h	2009-05-23 06:29:37.000000000 -0700
++++ mp4v2-trunk-r355/src/mp4file.h	2010-05-23 15:44:57.568026299 -0700
+@@ -388,6 +388,10 @@
+                                 uint16_t width,
+                                 uint16_t height);
+ 
++    MP4TrackId AddSubpicTrack(uint32_t timescale,
++                                uint16_t width,
++                                uint16_t height);
++
+     MP4TrackId AddPixelAspectRatio(MP4TrackId trackId, uint32_t hSpacing, uint32_t vSpacing);
+     MP4TrackId AddColr(MP4TrackId trackId, uint16_t pri, uint16_t tran, uint16_t mat);
+ 
diff --git a/pkgs/development/libraries/mp4v2/A01-divide-zero.patch b/pkgs/development/libraries/mp4v2/A01-divide-zero.patch
new file mode 100644
index 00000000000..4d6aa4d2a39
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/A01-divide-zero.patch
@@ -0,0 +1,22 @@
+--- mp4v2-r355/src/mp4track.cpp	2012-01-05 15:44:29.000000000 +0100
++++ mp4v2-r355/src/mp4track.cpp	2012-01-05 15:47:34.000000000 +0100
+@@ -819,13 +819,14 @@
+                 (thisSecStart + timeScale) - lastSampleTime;
+             // calculate the duration of the last sample
+             MP4Duration lastSampleDur = sampleTime - lastSampleTime;
+-            uint32_t overflow_bytes;
+             // now, calculate the number of bytes we overflowed.  Round up.
+-            overflow_bytes =
+-                ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur;
++            if( lastSampleDur > 0 ) {
++                uint32_t overflow_bytes = 0;
++                overflow_bytes = ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur;
+ 
+-            if (bytesThisSec - overflow_bytes > maxBytesPerSec) {
+-                maxBytesPerSec = bytesThisSec - overflow_bytes;
++                if (bytesThisSec - overflow_bytes > maxBytesPerSec) {
++                    maxBytesPerSec = bytesThisSec - overflow_bytes;
++                }
+             }
+ 
+             // now adjust the values for this sample.  Remove the bytes
diff --git a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
new file mode 100644
index 00000000000..987298bd5b0
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
@@ -0,0 +1,14 @@
+diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp
+--- mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:40:03.000000000 +0100
++++ mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:36:38.000000000 +0100
+@@ -543,6 +543,10 @@
+         m_pFile->SetPosition(m_start + 8);
+         m_pFile->WriteUInt64(m_size);
+     } else {
++        if (!(m_size <= (uint64_t)0xFFFFFFFF)) {
++            // Let the user know what the following assert is all about
++            fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n");
++        }
+         ASSERT(m_size <= (uint64_t)0xFFFFFFFF);
+         m_pFile->SetPosition(m_start);
+         m_pFile->WriteUInt32(m_size);
diff --git a/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch b/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch
new file mode 100644
index 00000000000..5b7f1a300bd
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch
@@ -0,0 +1,11 @@
+--- mp4v2-trunk-r355/include/mp4v2/platform.h	2009-05-20 19:52:26.000000000 -0700
++++ xxx/include/mp4v2/platform.h	2010-09-11 09:36:20.881523832 -0700
+@@ -24,7 +24,7 @@
+ #if defined( _WIN32 ) || defined( __MINGW32__ )
+ #   if defined( _WINDLL ) || defined( DLL_EXPORT )
+ #       define MP4V2_EXPORT __declspec(dllexport)
+-#   elif defined( _DLL ) || defined( DLL_IMPORT ) 
++#   elif defined( DLL_IMPORT ) 
+ #       define MP4V2_EXPORT __declspec(dllimport)
+ #   else
+ #       define MP4V2_EXPORT
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index 7b0dd938211..06e8c8e5ac3 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -1,13 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mp4v2-1.9.1";
+  name = "mp4v2-1.9.1p4";
 
   src = fetchurl {
     url = "http://mp4v2.googlecode.com/files/${name}.tar.bz2";
     sha256 = "1d73qbi0faqad3bpmjfr4kk0mfmqpl1f43ysrx4gq9i3mfp1qf2w";
   };
 
+  # From Handbrake
+  # mp4v2 doesn't seem to be actively maintained any more :-/
+  patches = [
+    ./A00-nero-vobsub.patch ./A01-divide-zero.patch ./A02-meaningful-4gb-warning.patch
+    ./P00-mingw-dllimport.patch
+  ];
   # `faac' expects `mp4.h'.
   postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h";
 
diff --git a/pkgs/development/libraries/mpc/default.nix b/pkgs/development/libraries/mpc/default.nix
index 3824e3d3755..652227d47e8 100644
--- a/pkgs/development/libraries/mpc/default.nix
+++ b/pkgs/development/libraries/mpc/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  name = "mpc-0.9";
+  name = "mpc-1.0.1";
 
   src = fetchurl {
     url = "http://www.multiprecision.org/mpc/download/${name}.tar.gz";
-    sha1 = "229722d553030734d49731844abfef7617b64f1a";
+    sha1 = "vxg0rkyn4cs40wr2cp6bbcyr1nnijzlc";
   };
 
   buildInputs = [ gmp mpfr ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://mpc.multiprecision.org/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.ludo ];
diff --git a/pkgs/development/libraries/mpfr/3.1.2.nix b/pkgs/development/libraries/mpfr/3.1.2.nix
deleted file mode 100644
index fd164cf9105..00000000000
--- a/pkgs/development/libraries/mpfr/3.1.2.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-
-{stdenv, fetchurl, gmp}:
-
-stdenv.mkDerivation (rec {
-  name = "mpfr-3.1.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/mpfr/${name}.tar.bz2";
-    sha256 = "0sqvpfkzamxdr87anzakf9dhkfh15lfmm5bsqajk02h1mxh3zivr";
-  };
-
-  buildInputs = [ gmp ];
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://www.mpfr.org/;
-    description = "GNU MPFR, a library for multiple-precision floating-point arithmetic";
-
-    longDescription = ''
-      The GNU MPFR library is a C library for multiple-precision
-      floating-point computations with correct rounding.  MPFR is
-      based on the GMP multiple-precision library.
-
-      The main goal of MPFR is to provide a library for
-      multiple-precision floating-point computation which is both
-      efficient and has a well-defined semantics.  It copies the good
-      ideas from the ANSI/IEEE-754 standard for double-precision
-      floating-point arithmetic (53-bit mantissa).
-    '';
-
-    license = "LGPLv2+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
-
-//
-
-(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
-   /* Work around a FreeBSD bug that otherwise leads to segfaults in
-      the test suite:
-        http://hydra.bordeaux.inria.fr/build/34862
-        http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html
-        http://www.freebsd.org/cgi/query-pr.cgi?pr=161344
-    */
-   configureFlags = [ "--disable-thread-safe" ];
- }))
diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix
index faa2e1b1a71..e3fbaececb9 100644
--- a/pkgs/development/libraries/mpfr/default.nix
+++ b/pkgs/development/libraries/mpfr/default.nix
@@ -1,15 +1,24 @@
-{stdenv, fetchurl, gmp}:
+{ stdenv, fetchurl, gmp }:
 
-stdenv.mkDerivation (rec {
-  name = "mpfr-3.1.0";
+stdenv.mkDerivation rec {
+  name = "mpfr-3.1.2";
 
   src = fetchurl {
     url = "mirror://gnu/mpfr/${name}.tar.bz2";
-    sha256 = "105nx8qqx5x8f4rlplr2wk4cyv61iw5j3jgi2k21rpb8s6xbp9vl";
+    sha256 = "0sqvpfkzamxdr87anzakf9dhkfh15lfmm5bsqajk02h1mxh3zivr";
   };
 
   buildInputs = [ gmp ];
 
+  configureFlags =
+    /* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite:
+          http://hydra.bordeaux.inria.fr/build/34862
+          http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html
+          http://www.freebsd.org/cgi/query-pr.cgi?pr=161344
+      */
+    stdenv.lib.optional (stdenv.isSunOS or stdenv.isFreeBSD) "--disable-thread-safe" ++
+    stdenv.lib.optional stdenv.is64bit "--with-pic";
+
   doCheck = true;
 
   enableParallelBuilding = true;
@@ -30,21 +39,9 @@ stdenv.mkDerivation (rec {
       floating-point arithmetic (53-bit mantissa).
     '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
   };
 }
-
-//
-
-(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
-   /* Work around a FreeBSD bug that otherwise leads to segfaults in
-      the test suite:
-        http://hydra.bordeaux.inria.fr/build/34862
-        http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html
-        http://www.freebsd.org/cgi/query-pr.cgi?pr=161344
-    */
-   configureFlags = [ "--disable-thread-safe" ];
- }))
diff --git a/pkgs/development/libraries/mps/default.nix b/pkgs/development/libraries/mps/default.nix
new file mode 100644
index 00000000000..f3a458a80ed
--- /dev/null
+++ b/pkgs/development/libraries/mps/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, autoreconfHook, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "mps-${version}";
+  version = "1.114.0";
+
+  src = fetchurl {
+    url    = "http://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz";
+    sha256 = "1gb0rdd42ib0fai2jwm2gyii8pk59i1rhblnpdzbdj8cj5g0b30h";
+  };
+
+  buildInputs = [ autoreconfHook sqlite ];
+
+  # Fix a slightly annoying build failure in 'make install'
+  patchPhase = "substituteInPlace ./Makefile.in --replace /hot/Release /hot";
+
+  meta = {
+    description = "A flexible memory management and garbage collection library";
+    homepage    = "http://www.ravenbrook.com/project/mps";
+    license     = stdenv.lib.licenses.sleepycat;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/mtdev/default.nix b/pkgs/development/libraries/mtdev/default.nix
index 854becf6bb5..2363f33de07 100644
--- a/pkgs/development/libraries/mtdev/default.nix
+++ b/pkgs/development/libraries/mtdev/default.nix
@@ -21,9 +21,6 @@ stdenv.mkDerivation rec {
       See the kernel documentation for further details. 
     '';
 
-    license = "MIT/X11";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = stdenv.lib.licenses.mit;
   };
 }
-
diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix
index 3cc1c6ce43c..9d9a524e86d 100644
--- a/pkgs/development/libraries/muparser/default.nix
+++ b/pkgs/development/libraries/muparser/default.nix
@@ -12,6 +12,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://muparser.sourceforge.net;
     description = "An extensible high performance math expression parser library written in C++";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
index 0a2df000384..4aecfa4b01a 100644
--- a/pkgs/development/libraries/mygui/default.nix
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://mygui.info/;
     description = "Library for creating GUIs for games and 3D applications";
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
   };
 }
diff --git a/pkgs/development/libraries/mygui/svn.nix b/pkgs/development/libraries/mygui/svn.nix
index cc20550802e..15da5054291 100644
--- a/pkgs/development/libraries/mygui/svn.nix
+++ b/pkgs/development/libraries/mygui/svn.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://mygui.info/;
     description = "Library for creating GUIs for games and 3D applications";
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
   };
 }
diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix
index c1cada63abe..379848b0cb0 100644
--- a/pkgs/development/libraries/mysocketw/default.nix
+++ b/pkgs/development/libraries/mysocketw/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/nanomsg/default.nix b/pkgs/development/libraries/nanomsg/default.nix
new file mode 100644
index 00000000000..ef673d115ac
--- /dev/null
+++ b/pkgs/development/libraries/nanomsg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.4-beta";
+  name = "nanomsg-${version}";
+
+  src = fetchurl {
+    url = "http://download.nanomsg.org/${name}.tar.gz";
+    sha256 = "0bgjj1x1a991pckw4nm5bkmbibjsf74y0ns23fpk4jj5dwarhm3d";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    make install PREFIX="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description= "Socket library that provides several common communication patterns";
+    homepage = http://nanomsg.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ncurses/5_4.nix b/pkgs/development/libraries/ncurses/5_4.nix
deleted file mode 100644
index 1cf08bd30c6..00000000000
--- a/pkgs/development/libraries/ncurses/5_4.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{stdenv, fetchurl, unicode ? true}:
-
-let
-  /* C++ bindings fail to build on `i386-pc-solaris2.11' with GCC 3.4.3:
-     <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6395191>.
-     It seems that it could be worked around by #including <wchar.h> in the
-     right place, according to
-     <http://mail.python.org/pipermail/python-bugs-list/2006-September/035362.html>,
-     but this is left as an exercise to the reader.
-     So disable them for now.  */
-  cxx = stdenv.system != "i686-solaris";
-in
-stdenv.mkDerivation (rec {
-  name = "ncurses-5.4";
-
-  src = fetchurl {
-    url = "mirror://gnu/ncurses/${name}.tar.gz";
-    sha256 = "0div11f5flig67v702fd3sj362zagrnaj0d8wvs905s3rxiy1g2s";
-  };
-
-  configureFlags = ''
-    --with-shared --includedir=''${out}/include --without-debug
-    ${if unicode then "--enable-widec" else ""}${if cxx then "" else "--without-cxx-binding"}
-  '';
-
-  selfNativeBuildInput = true;
-
-  enableParallelBuilding = true;
-
-  preBuild =
-    # On Darwin, we end up using the native `sed' during bootstrap, and it
-    # fails to run this command, which isn't needed anyway.
-    stdenv.lib.optionalString (!stdenv.isDarwin)
-    ''sed -e "s@\([[:space:]]\)sh @\1''${SHELL} @" -i */Makefile Makefile'';
-
-  # When building a wide-character (Unicode) build, create backward
-  # compatibility links from the the "normal" libraries to the
-  # wide-character libraries (e.g. libncurses.so to libncursesw.so).
-  postInstall = if unicode then ''
-    ${if cxx then "chmod 644 $out/lib/libncurses++w.a" else ""}
-    for lib in curses ncurses form panel menu; do
-      if test -e $out/lib/lib''${lib}w.a; then
-        rm -f $out/lib/lib$lib.so
-        echo "INPUT(-l''${lib}w)" > $out/lib/lib$lib.so
-        ln -svf lib''${lib}w.a $out/lib/lib$lib.a
-        ln -svf lib''${lib}w.so.5 $out/lib/lib$lib.so.5
-      fi
-    done;
-  '' else "";
-
-  meta = {
-    description = "GNU Ncurses, a free software emulation of curses in SVR4 and more";
-
-    longDescription = ''
-      The Ncurses (new curses) library is a free software emulation of
-      curses in System V Release 4.0, and more.  It uses Terminfo
-      format, supports pads and color and multiple highlights and
-      forms characters and function-key mapping, and has all the other
-      SYSV-curses enhancements over BSD Curses.
-
-      The ncurses code was developed under GNU/Linux.  It has been in
-      use for some time with OpenBSD as the system curses library, and
-      on FreeBSD and NetBSD as an external package.  It should port
-      easily to any ANSI/POSIX-conforming UNIX.  It has even been
-      ported to OS/2 Warp!
-    '';
-
-    homepage = http://www.gnu.org/software/ncurses/;
-
-    license = "X11";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.all;
-  };
-} // ( if stdenv.isDarwin then { postFixup = "rm $out/lib/*.so"; } else { } ) )
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 569d7fe2a32..87953c1158d 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unicode ? true}:
+{ lib, stdenv, fetchurl, unicode ? true }:
 
 let
   /* C++ bindings fail to build on `i386-pc-solaris2.11' with GCC 3.4.3:
@@ -8,9 +8,9 @@ let
      <http://mail.python.org/pipermail/python-bugs-list/2006-September/035362.html>,
      but this is left as an exercise to the reader.
      So disable them for now.  */
-  cxx = stdenv.system != "i686-solaris";
+  cxx = !stdenv.isSunOS;
 in
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "ncurses-5.9";
 
   src = fetchurl {
@@ -18,11 +18,27 @@ stdenv.mkDerivation (rec {
     sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
   };
 
+  patches = [ ./patch-ac ];
+
   configureFlags = ''
-    --with-shared --includedir=''${out}/include --without-debug
+    --with-shared --without-debug --enable-pc-files --enable-symlinks
     ${if unicode then "--enable-widec" else ""}${if cxx then "" else "--without-cxx-binding"}
   '';
 
+  # PKG_CONFIG_LIBDIR is where the *.pc files will be installed. If this
+  # directory doesn't exist, the configure script will disable installation of
+  # *.pc files. The configure script usually (on LSB distros) pick $(path of
+  # pkg-config)/../lib/pkgconfig. On NixOS that path doesn't exist and is not
+  # the place we want to put *.pc files from other packages anyway. So we must
+  # tell it explicitly where to install with PKG_CONFIG_LIBDIR.
+  preConfigure = ''
+    export configureFlags="$configureFlags --includedir=$out/include"
+    export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
+    mkdir -p "$PKG_CONFIG_LIBDIR"
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace -no-cpp-precomp ""
+  '';
+
   selfNativeBuildInput = true;
 
   enableParallelBuilding = true;
@@ -30,8 +46,8 @@ stdenv.mkDerivation (rec {
   preBuild =
     # On Darwin, we end up using the native `sed' during bootstrap, and it
     # fails to run this command, which isn't needed anyway.
-    stdenv.lib.optionalString (!stdenv.isDarwin)
-    ''sed -e "s@\([[:space:]]\)sh @\1''${SHELL} @" -i */Makefile Makefile'';
+    lib.optionalString (!stdenv.isDarwin)
+      ''sed -e "s@\([[:space:]]\)sh @\1''${SHELL} @" -i */Makefile Makefile'';
 
   # When building a wide-character (Unicode) build, create backward
   # compatibility links from the the "normal" libraries to the
@@ -44,10 +60,15 @@ stdenv.mkDerivation (rec {
         echo "INPUT(-l''${lib}w)" > $out/lib/lib$lib.so
         ln -svf lib''${lib}w.a $out/lib/lib$lib.a
         ln -svf lib''${lib}w.so.5 $out/lib/lib$lib.so.5
+        ln -svf ''${lib}w.pc $out/lib/pkgconfig/$lib.pc
       fi
     done;
+    ln -svf . $out/include/ncursesw
+    ln -svf ncursesw5-config $out/bin/ncurses5-config
   '' else "";
 
+  postFixup = lib.optionalString stdenv.isDarwin "rm $out/lib/*.so";
+
   meta = {
     description = "GNU Ncurses, a free software emulation of curses in SVR4 and more";
 
@@ -67,9 +88,9 @@ stdenv.mkDerivation (rec {
 
     homepage = http://www.gnu.org/software/ncurses/;
 
-    license = "X11";
+    license = lib.licenses.mit;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ lib.maintainers.ludo ];
+    platforms = lib.platforms.all;
   };
-} // ( if stdenv.isDarwin then { postFixup = "rm $out/lib/*.so"; } else { } ) )
+}
diff --git a/pkgs/development/libraries/ncurses/patch-ac b/pkgs/development/libraries/ncurses/patch-ac
new file mode 100644
index 00000000000..73578f8a367
--- /dev/null
+++ b/pkgs/development/libraries/ncurses/patch-ac
@@ -0,0 +1,40 @@
+$NetBSD: patch-ac,v 1.18 2011/11/01 14:47:46 hans Exp $
+
+--- ncurses-5.9/configure.orig	2011-02-21 01:40:36.000000000 +0000
++++ ncurses-5.9/configure
+@@ -7096,6 +7096,13 @@ sco*) #(vi
+ 	# setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ 	;;
+ solaris2.1[0-9]) #(vi
++	case "$GCC_VERSION" in 
++		4.[67].*)
++			cf_XOPEN_SOURCE=600
++			cf_add_cflags=-std=c99
++			CPPFLAGS="$CPPFLAGS -std=c99"
++			;;
++	esac
+ 	cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+ 	;;
+ solaris2.[1-9]) #(vi
+@@ -9640,12 +9647,7 @@ case ".$MANPAGE_RENAMES" in #(vi
+ .no) #(vi
+   ;;
+ .|.yes)
+-  # Debian 'man' program?
+-  if test -f /etc/debian_version ; then
+-    MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
+-  else
+     MANPAGE_RENAMES=no
+-  fi
+   ;;
+ esac
+ 
+@@ -18449,7 +18444,7 @@ echo "${ECHO_T}$LIB_SUBSETS" >&6
+ 
+ ### Construct the list of include-directories to be generated
+ 
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ if test "$srcdir" != "."; then
+ 	CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+ fi
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 4208402ab99..57d3732fa6d 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation (rec {
         I/O.
      '';
 
-     license = "GPLv2+";
+     license = stdenv.lib.licenses.gpl2Plus;
 
      homepage = http://www.lysator.liu.se/~nisse/nettle/;
 
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index 743314d1815..f5f72c006c7 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, slang, popt }:
 
 stdenv.mkDerivation rec {
-  name = "newt-0.52.14";
+  name = "newt-0.52.15";
 
   src = fetchurl {
     url = "https://fedorahosted.org/releases/n/e/newt/${name}.tar.gz";
-    sha256 = "13lp815zwldbw917wxmjy90gp608n3zlk4p3ybfqh0x6p9c4y3zp";
+    sha256 = "0hg2l0siriq6qrz6mmzr6l7rpl40ay56c8cak87rb2ks7s952qbs";
   };
 
   patchPhase = ''
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = https://fedorahosted.org/newt/;
     description = "Library for color text mode, widget based user interfaces";
 
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.viric ];
   };
diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix
new file mode 100644
index 00000000000..3b4f7da94f3
--- /dev/null
+++ b/pkgs/development/libraries/nix-plugins/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, nix }:
+
+stdenv.mkDerivation {
+  name = "nix-plugins-1.0.0";
+
+  src = fetchgit {
+    url = git://github.com/shlevy/nix-plugins.git;
+    rev = "refs/tags/1.0.0";
+    sha256 = "e624de55cabc9014e77f21978d657089ae94ce161584b3d9dc3c9763658421b3";
+  };
+
+  buildInputs = [ nix ];
+
+  buildFlags = [ "NIX_INCLUDE=${nix}/include" ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "Collection of miscellaneous plugins for the nix expression language";
+    homepage = https://github.com/shlevy/nix-plugins;
+    license = stdenv.lib.licenses.mit;
+    maintaners = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/npapi-sdk/default.nix b/pkgs/development/libraries/npapi-sdk/default.nix
new file mode 100644
index 00000000000..255468e7810
--- /dev/null
+++ b/pkgs/development/libraries/npapi-sdk/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "npapi-sdk-${version}";
+
+  version = "0.27.2";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mgorny/npapi-sdk/downloads/${name}.tar.bz2";
+
+    sha256 = "0xxfcsjmmgbbyl9zwpzdshbx27grj5fnzjfmldmm9apws2yk9gq1";
+  };
+
+  meta = with stdenv.lib; {
+    description = "NPAPI-SDK is a bundle of NPAPI headers by Mozilla";
+
+    homepage = https://code.google.com/p/npapi-sdk/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wizeman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index c9b685aa05b..4f87f2bc230 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       that this is a solid way to provide a co-routine based framework.
     '';
     homepage = http://www.gnupg.org;
-    license = "LGPLv3";
+    license = stdenv.lib.licenses.lgpl3;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 80368031349..0355ce25c62 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.10.1"; in
+let version = "4.10.6"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "bd1cdf5e7e107846ffe431c5c62b81a560e8c3f7";
+    sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch
new file mode 100644
index 00000000000..d20572a051e
--- /dev/null
+++ b/pkgs/development/libraries/nss/85_security_load.patch
@@ -0,0 +1,82 @@
+diff -ru nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c nss-3.16/nss/cmd/shlibsign/shlibsign.c
+--- nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c	2014-03-14 21:31:59.000000000 +0100
++++ nss-3.16/nss/cmd/shlibsign/shlibsign.c	2014-04-22 14:50:31.340743655 +0200
+@@ -852,6 +852,8 @@
+     libname = PR_GetLibraryName(NULL, "softokn3");
+     assert(libname != NULL);
+     lib = PR_LoadLibrary(libname);
++    if (!lib)
++        lib = PR_LoadLibrary(NIX_NSS_LIBDIR"libsoftokn3.so");
+     assert(lib != NULL);
+     PR_FreeLibraryName(libname);
+ 
+Only in nss-3.16/nss/cmd/shlibsign: shlibsign.c.orig
+diff -ru nss-3.16-orig/nss/coreconf/config.mk nss-3.16/nss/coreconf/config.mk
+--- nss-3.16-orig/nss/coreconf/config.mk	2014-03-14 21:31:59.000000000 +0100
++++ nss-3.16/nss/coreconf/config.mk	2014-04-22 14:50:51.302731097 +0200
+@@ -188,3 +188,6 @@
+ 
+ # Hide old, deprecated, TLS cipher suite names when building NSS
+ DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES
++
++# Nix specific stuff.
++DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\"
+diff -ru nss-3.16-orig/nss/lib/pk11wrap/pk11load.c nss-3.16/nss/lib/pk11wrap/pk11load.c
+--- nss-3.16-orig/nss/lib/pk11wrap/pk11load.c	2014-03-14 21:31:59.000000000 +0100
++++ nss-3.16/nss/lib/pk11wrap/pk11load.c	2014-04-22 14:50:22.164749330 +0200
+@@ -406,6 +406,13 @@
+ 	 * unload the library if anything goes wrong from here on out...
+ 	 */
+ 	library = PR_LoadLibrary(mod->dllName);
++	if ((library == NULL) &&
++	    !rindex(mod->dllName, PR_GetDirectorySeparator())) {
++            library = PORT_LoadLibraryFromOrigin(my_shlib_name,
++                                      (PRFuncPtr) &softoken_LoadDSO,
++                                      mod->dllName);
++	}
++
+ 	mod->library = (void *)library;
+ 
+ 	if (library == NULL) {
+diff -ru nss-3.16-orig/nss/lib/util/secload.c nss-3.16/nss/lib/util/secload.c
+--- nss-3.16-orig/nss/lib/util/secload.c	2014-03-14 21:31:59.000000000 +0100
++++ nss-3.16/nss/lib/util/secload.c	2014-04-22 14:50:31.342743654 +0200
+@@ -69,9 +69,14 @@
+ 
+     /* Remove the trailing filename from referencePath and add the new one */
+     c = strrchr(referencePath, PR_GetDirectorySeparator());
++    if (!c) { /* referencePath doesn't contain a / means that dladdr gave us argv[0]
++               * and program was called from $PATH. Hack to get libs from NIX_NSS_LIBDIR */
++        referencePath = NIX_NSS_LIBDIR;
++        c = &referencePath[sizeof(NIX_NSS_LIBDIR) - 1]; /* last / */
++    }
+     if (c) {
+         size_t referencePathSize = 1 + c - referencePath;
+-        fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 1);
++        fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 5);
+         if (fullName) {
+             memcpy(fullName, referencePath, referencePathSize);
+             strcpy(fullName + referencePathSize, name); 
+@@ -81,6 +86,11 @@
+ #endif
+             libSpec.type = PR_LibSpec_Pathname;
+             libSpec.value.pathname = fullName;
++            if ((referencePathSize >= 4) &&
++                (strncmp(fullName + referencePathSize - 4, "bin", 3) == 0)) {
++                memcpy(fullName + referencePathSize -4, "lib", 3);
++            }
++            strcpy(fullName + referencePathSize, name);
+             dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL
+ #ifdef PR_LD_ALT_SEARCH_PATH
+             /* allow library's dependencies to be found in the same directory
+@@ -88,6 +98,10 @@
+                                           | PR_LD_ALT_SEARCH_PATH 
+ #endif
+                                           );
++            if (! dlh) {
++                strcpy(fullName + referencePathSize, name);
++                dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL);
++            }
+             PORT_Free(fullName);
+         }
+     }
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 49f3754bc14..447030f5fcc 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -5,23 +5,17 @@
 let
 
   nssPEM = fetchurl {
-    url = http://dev.gentoo.org/~anarchy/patches/nss-3.15-pem-support-20130617.patch.xz;
-    sha256 = "1k1m8lsgqwxx251943hks1dd13hz1adpqqb0hxwn011by5vmi201";
-  };
-
-  secLoadPatch = fetchurl {
-    name = "security_load.patch";
-    urls = http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.1-1/85_security_load.patch;
-    sha256 = "041c6v4cxwsy14qr5m9qs0gkv3w24g632cwpz27kacxpa886r1ds";
+    url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
+    sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.15.2";
+  version = "3.16.3";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_2_RTM/src/${name}.tar.gz";
-    sha1 = "2d900c296bf11deabbf833ebd6ecdea549c97a5f";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/${name}.tar.gz";
+    sha256 = "657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
@@ -32,8 +26,8 @@ in stdenv.mkDerivation rec {
 
   patches =
     [ ./nss-3.15-gentoo-fixups.patch
-      secLoadPatch
-      ./nix_secload_fixup.patch
+      # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
+      ./85_security_load.patch
     ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/nss/nix_secload_fixup.patch b/pkgs/development/libraries/nss/nix_secload_fixup.patch
deleted file mode 100644
index 89c82f1b87d..00000000000
--- a/pkgs/development/libraries/nss/nix_secload_fixup.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -ru -x '*~' nss-3.15.1-orig/nss/cmd/shlibsign/shlibsign.c nss-3.15.1/nss/cmd/shlibsign/shlibsign.c
---- nss-3.15.1-orig/nss/cmd/shlibsign/shlibsign.c	2013-08-07 16:03:40.013256377 +0200
-+++ nss-3.15.1/nss/cmd/shlibsign/shlibsign.c	2013-08-07 16:04:21.128410153 +0200
-@@ -853,7 +853,7 @@
-     assert(libname != NULL);
-     lib = PR_LoadLibrary(libname);
-     if (!lib)
--        lib = PR_LoadLibrary("/usr/lib/nss/libsoftokn3.so");
-+        lib = PR_LoadLibrary(NIX_NSS_LIBDIR"libsoftokn3.so");
-     assert(lib != NULL);
-     PR_FreeLibraryName(libname);
- 
-diff -ru -x '*~' nss-3.15.1-orig/nss/coreconf/config.mk nss-3.15.1/nss/coreconf/config.mk
---- nss-3.15.1-orig/nss/coreconf/config.mk	2013-06-27 19:58:08.000000000 +0200
-+++ nss-3.15.1/nss/coreconf/config.mk	2013-08-07 16:11:27.364608802 +0200
-@@ -181,3 +181,6 @@
- 
- # Build with NO_NSPR_10_SUPPORT to avoid using obsolete NSPR features
- DEFINES += -DNO_NSPR_10_SUPPORT
-+
-+# Nix specific stuff.
-+DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\"
-diff -ru -x '*~' nss-3.15.1-orig/nss/lib/util/secload.c nss-3.15.1/nss/lib/util/secload.c
---- nss-3.15.1-orig/nss/lib/util/secload.c	2013-08-07 16:03:40.014256381 +0200
-+++ nss-3.15.1/nss/lib/util/secload.c	2013-08-07 16:05:02.453563064 +0200
-@@ -70,9 +70,9 @@
-     /* Remove the trailing filename from referencePath and add the new one */
-     c = strrchr(referencePath, PR_GetDirectorySeparator());
-     if (!c) { /* referencePath doesn't contain a / means that dladdr gave us argv[0]
--               * and program was called from $PATH. Hack to get libs from /usr/lib */
--        referencePath = "/usr/lib/";
--        c = &referencePath[8]; /* last / */
-+               * and program was called from $PATH. Hack to get libs from NIX_NSS_LIBDIR */
-+        referencePath = NIX_NSS_LIBDIR;
-+        c = &referencePath[sizeof(NIX_NSS_LIBDIR) - 1]; /* last / */
-     }
-     if (c) {
-         size_t referencePathSize = 1 + c - referencePath;
-@@ -90,8 +90,7 @@
-                 (strncmp(fullName + referencePathSize - 4, "bin", 3) == 0)) {
-                 memcpy(fullName + referencePathSize -4, "lib", 3);
-             }
--            strcpy(fullName + referencePathSize, "nss/");
--            strcpy(fullName + referencePathSize + 4, name);
-+            strcpy(fullName + referencePathSize, name);
-             dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL
- #ifdef PR_LD_ALT_SEARCH_PATH
-             /* allow library's dependencies to be found in the same directory
diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix
index 13ab00e41be..b7460778474 100644
--- a/pkgs/development/libraries/ntrack/default.nix
+++ b/pkgs/development/libraries/ntrack/default.nix
@@ -18,7 +18,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--without-gobject CFLAGS=--std=gnu99";
 
-  patchPhase = ''sed -e "s@/usr\(/lib/ntrack/modules/\)@$out&@" -i common/ntrack.c'';
+  # Remove this patch after version 016
+  patches = [ ./libnl-fix.patch ];
+
+  postPatch = ''
+    sed -e "s@/usr\(/lib/ntrack/modules/\)@$out&@" -i common/ntrack.c
+  '';
 
   meta = {
     description = "Network Connectivity Tracking library for Desktop Applications";
diff --git a/pkgs/development/libraries/ntrack/libnl-fix.patch b/pkgs/development/libraries/ntrack/libnl-fix.patch
new file mode 100644
index 00000000000..806a0178ec8
--- /dev/null
+++ b/pkgs/development/libraries/ntrack/libnl-fix.patch
@@ -0,0 +1,11 @@
+--- ./modules/ntrack-libnl.c.orig	2013-12-02 11:31:54.749215448 -0600
++++ ./modules/ntrack-libnl.c	2013-12-02 11:34:46.597684553 -0600
+@@ -530,7 +530,7 @@
+ 		op_default_route_disappeared ((struct _ntrack_monitor_arch*) self, nl_info);
+ 	} else if (nl_info->topmost_route && topmost_route) {
+ 		int diff_bits;
+-		if ((diff_bits = (route_obj_ops.oo_id_attrs | ROUTE_ATTR_OIF
++		if ((diff_bits = (nl_object_get_id_attrs(OBJ_CAST(topmost_route)) | ROUTE_ATTR_OIF
+ 		                  | ROUTE_ATTR_GATEWAY) &
+ 		                  nl_object_diff (OBJ_CAST (nl_info->topmost_route),
+ 		                                  OBJ_CAST (topmost_route)))) {
diff --git a/pkgs/development/libraries/nvidia-texture-tools/default.nix b/pkgs/development/libraries/nvidia-texture-tools/default.nix
new file mode 100644
index 00000000000..852d72cb9aa
--- /dev/null
+++ b/pkgs/development/libraries/nvidia-texture-tools/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchsvn, cmake, libpng, ilmbase, libtiff, zlib, libjpeg
+, mesa, libX11
+}:
+
+stdenv.mkDerivation rec {
+  # No support yet for cg, cuda, glew, glut, openexr.
+
+  name = "nvidia-texture-tools";
+
+  src = fetchsvn {
+    url = "http://nvidia-texture-tools.googlecode.com/svn/trunk";
+    rev = "1388";
+    sha256 = "0pwxqx5l16nqidzm6mwd3rd4gbbknkz6q8cxnvf7sggjpbcvm2d6";
+  };
+
+  buildInputs = [ cmake libpng ilmbase libtiff zlib libjpeg mesa libX11 ];
+
+  patchPhase = ''
+    # Fix build due to missing dependnecies.
+    echo 'target_link_libraries(bc7 nvmath)' >> src/nvtt/bc7/CMakeLists.txt
+    echo 'target_link_libraries(bc6h nvmath)' >> src/nvtt/bc6h/CMakeLists.txt
+
+    # Make a recently added pure virtual function just virtual,
+    # to keep compatibility.
+    sed -i 's/virtual void endImage() = 0;/virtual void endImage() {}/' src/nvtt/nvtt.h
+
+    # Fix building shared libraries.
+    sed -i 's/SET(NVIMAGE_SHARED TRUE)/SET(NVIMAGE_SHARED TRUE)\nSET(NVTHREAD_SHARED TRUE)/' CMakeLists.txt
+  '';
+
+  cmakeFlags = [
+    "-DNVTT_SHARED=TRUE"
+  ];
+
+  meta = {
+    description = "A set of cuda-enabled texture tools and compressors";
+    homepage = "http://developer.nvidia.com/object/texture_tools.html";
+    license = "MIT";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ode/default.nix b/pkgs/development/libraries/ode/default.nix
index e7368e4f60b..7c9c9304f77 100644
--- a/pkgs/development/libraries/ode/default.nix
+++ b/pkgs/development/libraries/ode/default.nix
@@ -3,7 +3,7 @@ let
   lib = args.lib;
   fetchurl = args.fetchurl;
 
-  version = lib.attrByPath ["version"] "0.11.1" args; 
+  version = lib.attrByPath ["version"] "0.12" args;
   buildInputs = with args; [
     
   ];
@@ -11,7 +11,7 @@ in
 rec {
   src = fetchurl {
     url = "mirror://sourceforge/opende/ode-${version}.tar.bz2";
-    sha256 = "1883gbsnn7zldrpwfdh6kwj20g627n5bspz3yb2z6lrxdal88y47";
+    sha256 = "0l63ymlkgfp5cb0ggqwm386lxmc3al21nb7a07dd49f789d33ib5";
   };
 
   inherit buildInputs;
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index 6bb1916ed0f..527bb25dce1 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation {
     homepage = http://www.ogre3d.org/;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/ogrepaged/default.nix b/pkgs/development/libraries/ogrepaged/default.nix
index f508637dfef..27193e04545 100644
--- a/pkgs/development/libraries/ogrepaged/default.nix
+++ b/pkgs/development/libraries/ogrepaged/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Paged Geometry for Ogre3D";
     homepage = http://code.google.com/p/ogre-paged/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/ois/default.nix b/pkgs/development/libraries/ois/default.nix
index abf6c7112a5..67df3645eb9 100644
--- a/pkgs/development/libraries/ois/default.nix
+++ b/pkgs/development/libraries/ois/default.nix
@@ -1,4 +1,4 @@
-x@{builderDefsPackage
+x@{builderDefsPackage, fetchurl
   , autoconf, automake, libtool, m4
   , libX11, xproto, libXi, inputproto
   , libXaw, libXmu, libXt
@@ -30,10 +30,17 @@ rec {
   inherit (sourceInfo) name version;
   inherit buildInputs;
 
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
+
+  patches = [(fetchurl {
+    url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-games/ois/files/ois-1.3-gcc47.patch;
+    sha256 = "026jw06n42bcrmg0sbdhzc4cqxsnf7fw30a2z9cigd9x282zhii8";
+    name = "gcc47.patch";
+  })];
+  patchFlags = "-p0";
 
   configureCommand = ''sh bootstrap; sh configure'';
-      
+
   meta = {
     description = "Object-oriented C++ input system";
     maintainers = with a.lib.maintainers;
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 684d6475c63..47a51b68d03 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "onig-5.9.3";
+  name = "onig-5.9.4";
   
   src = fetchurl {
-    url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.3.tar.gz;
-    sha256 = "0ahz0l64v2xv4jbh0w3q697xjff8jzdq2264h9jhwxl459msdfy3";
+    url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.4.tar.gz;
+    sha256 = "15q62c2id918fj2i7xbdrcc79xrdafdc75lhhld98rgq3y8j30lq";
   };
   
   meta = {
diff --git a/pkgs/development/libraries/opal/default.nix b/pkgs/development/libraries/opal/default.nix
index 23615d6646d..1f59c0c24a0 100644
--- a/pkgs/development/libraries/opal/default.nix
+++ b/pkgs/development/libraries/opal/default.nix
@@ -1,56 +1,36 @@
-x@{builderDefsPackage
-  , doxygen, pkgconfig, ptlib, srtp, libtheora, speex
-  , ffmpeg, x264, cyrus_sasl, openldap, openssl, expat, unixODBC
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="opal";
-    baseVersion="3.6";
-    patchlevel="8";
-    version="${baseVersion}.${patchlevel}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${baseVersion}/${name}.tar.bz2";
-    hash="0359wqmrxqajd94sw3q2dn6n6y3caggavwdcmzyn6maw7srspgwc";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex
+, ffmpeg, x264, cyrus_sasl, openldap, openssl, expat, unixODBC }:
+
+stdenv.mkDerivation rec {
+  name = "opal-3.10.10";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/opal/3.10/${name}.tar.xz";
+    sha256 = "f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doConfigure" "doMakeInstall"];
-  configureFlags = [
-    "--enable-h323"
-  ];
-  setVars = a.noDepEntry (''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D__STDC_CONSTANT_MACROS=1"
-  '');
+  buildInputs = [ pkgconfig ptlib srtp libtheora speex
+                  ffmpeg x264 cyrus_sasl openldap openssl expat unixODBC ];
+  propagatedBuildInputs = [ speex ]; 
+
+  configureFlags = [ "--enable-h323" ];
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS = "-D__STDC_CONSTANT_MACROS=1";
+
+  patches = [ ./disable-samples-ftbfs.diff ./libav9.patch ./libav10.patch ];
       
-  meta = {
+  meta = with stdenv.lib; {
     description = "OPAL VoIP library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/opal";
     };
   };
-}) x
+}
 
diff --git a/pkgs/development/libraries/opal/disable-samples-ftbfs.diff b/pkgs/development/libraries/opal/disable-samples-ftbfs.diff
new file mode 100644
index 00000000000..1b073821607
--- /dev/null
+++ b/pkgs/development/libraries/opal/disable-samples-ftbfs.diff
@@ -0,0 +1,14 @@
+Index: opal-3.10.4~dfsg/Makefile.in
+===================================================================
+--- opal-3.10.4~dfsg.orig/Makefile.in	2012-02-22 10:08:36.000000000 +1100
++++ opal-3.10.4~dfsg/Makefile.in	2012-03-08 08:32:44.000000000 +1100
+@@ -45,8 +45,7 @@
+            samples/codectest \
+            samples/callgen \
+            samples/opalecho \
+-           samples/faxopal \
+-           samples/c_api
++           samples/faxopal 
+ ifeq ($(OPAL_IVR),yes)
+ SUBDIRS += samples/opalmcu \
+            samples/ivropal \
diff --git a/pkgs/development/libraries/opal/libav10.patch b/pkgs/development/libraries/opal/libav10.patch
new file mode 100644
index 00000000000..3e02704f899
--- /dev/null
+++ b/pkgs/development/libraries/opal/libav10.patch
@@ -0,0 +1,208 @@
+Description: Fix compilation against libav10 
+Author: Reinhard Tartler <siretart@tauware.de>
+Bug-Debian: http://bugs.debian.org/739439
+
+--- a/plugins/video/H.263-1998/h263-1998.cxx
++++ b/plugins/video/H.263-1998/h263-1998.cxx
+@@ -94,7 +94,7 @@ static struct StdSizes {
+   { CIF16_WIDTH, CIF16_HEIGHT, PLUGINCODEC_CIF16_MPI },
+ };
+ 
+-static FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_H263P);
++static FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_H263P);
+ 
+ 
+ /////////////////////////////////////////////////////////////////////////////
+@@ -203,7 +203,7 @@ H263_Base_EncoderContext::~H263_Base_Enc
+   PTRACE(4, m_prefix, "Encoder closed");
+ }
+ 
+-bool H263_Base_EncoderContext::Init(CodecID codecId)
++bool H263_Base_EncoderContext::Init(AVCodecID codecId)
+ {
+   PTRACE(5, m_prefix, "Opening encoder");
+ 
+@@ -589,7 +589,7 @@ void H263_RFC2190_EncoderContext::RTPCal
+ 
+ bool H263_RFC2190_EncoderContext::Init()
+ {
+-  if (!H263_Base_EncoderContext::Init(CODEC_ID_H263))
++  if (!H263_Base_EncoderContext::Init(AV_CODEC_ID_H263))
+     return false;
+ 
+ #if LIBAVCODEC_RTP_MODE
+@@ -632,7 +632,7 @@ H263_RFC2429_EncoderContext::~H263_RFC24
+ 
+ bool H263_RFC2429_EncoderContext::Init()
+ {
+-  return H263_Base_EncoderContext::Init(CODEC_ID_H263P);
++  return H263_Base_EncoderContext::Init(AV_CODEC_ID_H263P);
+ }
+ 
+ 
+@@ -656,7 +656,7 @@ H263_Base_DecoderContext::H263_Base_Deco
+   if (!FFMPEGLibraryInstance.Load())
+     return;
+ 
+-  if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H263)) == NULL) {
++  if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_H263)) == NULL) {
+     PTRACE(1, m_prefix, "Codec not found for decoder");
+     return;
+   }
+--- a/plugins/video/H.264/h264-x264.cxx
++++ b/plugins/video/H.264/h264-x264.cxx
+@@ -105,7 +105,7 @@ static struct PluginCodec_information Li
+ 
+ ///////////////////////////////////////////////////////////////////////////////
+ 
+-FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_H264);
++FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_H264);
+ 
+ PLUGINCODEC_CONTROL_LOG_FUNCTION_DEF
+ 
+@@ -1065,17 +1065,17 @@ class MyDecoder : public PluginCodec<MY_
+          allows you to fail the create operation (return false), which cannot
+          be done in the normal C++ constructor. */
+ 
+-      if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H264)) == NULL)
++      if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_H264)) == NULL)
+         return false;
+ 
+       if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec)) == NULL)
+         return false;
+ 
+       m_context->workaround_bugs = FF_BUG_AUTODETECT;
+-      m_context->idct_algo = FF_IDCT_H264;
++      m_context->idct_algo = FF_IDCT_AUTO;
+       m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
+       m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
+-      m_context->flags2 = CODEC_FLAG2_SKIP_RD |
++      m_context->flags2 = 
+ #ifdef CODEC_FLAG2_DROP_FRAME_TIMECODE
+                           CODEC_FLAG2_DROP_FRAME_TIMECODE |
+ #endif
+--- a/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
++++ b/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
+@@ -205,7 +205,7 @@ const static struct mpeg4_resolution {
+     { 0 }
+ };
+ 
+-FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_MPEG4);
++FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_MPEG4);
+ 
+ 
+ static bool mpeg4IsIframe (BYTE * frameBuffer, unsigned int frameLen )
+@@ -688,7 +688,7 @@ void MPEG4EncoderContext::ResizeEncoding
+ 
+ bool MPEG4EncoderContext::OpenCodec()
+ {
+-  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){
++  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(AV_CODEC_ID_MPEG4)) == NULL){
+     PTRACE(1, "MPEG4", "Encoder not found");
+     return false;
+   }
+@@ -1390,7 +1390,7 @@ void MPEG4DecoderContext::ResizeDecoding
+ 
+ bool MPEG4DecoderContext::OpenCodec()
+ {
+-    if ((m_avcodec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_MPEG4)) == NULL) {
++    if ((m_avcodec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_MPEG4)) == NULL) {
+         PTRACE(1, "MPEG4", "Decoder not found for encoder");
+         return false;
+     }
+--- a/plugins/video/H.263-1998/h263-1998.h
++++ b/plugins/video/H.263-1998/h263-1998.h
+@@ -115,7 +115,7 @@ class H263_Base_EncoderContext
+     virtual ~H263_Base_EncoderContext();
+ 
+     virtual bool Init() = 0;
+-    virtual bool Init(CodecID codecId);
++    virtual bool Init(AVCodecID codecId);
+ 
+     virtual bool SetOptions(const char * const * options);
+     virtual void SetOption(const char * option, const char * value);
+--- a/plugins/video/common/dyna.cxx
++++ b/plugins/video/common/dyna.cxx
+@@ -217,14 +217,14 @@ static void logCallbackFFMPEG(void * avc
+ #endif
+ 
+ 
+-FFMPEGLibrary::FFMPEGLibrary(CodecID codec)
++FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec)
+ {
+   m_codec = codec;
+-  if (m_codec==CODEC_ID_H264)
++  if (m_codec==AV_CODEC_ID_H264)
+       snprintf( m_codecString, sizeof(m_codecString), "H264");
+-  if (m_codec==CODEC_ID_H263P)
++  if (m_codec==AV_CODEC_ID_H263P)
+       snprintf( m_codecString, sizeof(m_codecString), "H263+");
+-  if (m_codec==CODEC_ID_MPEG4)
++  if (m_codec==AV_CODEC_ID_MPEG4)
+       snprintf( m_codecString, sizeof(m_codecString), "MPEG4");
+   m_isLoadedOK = false;
+ }
+@@ -268,12 +268,12 @@ bool FFMPEGLibrary::Load()
+   return true;
+ }
+ 
+-AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id)
++AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id)
+ {
+   return avcodec_find_encoder(id);
+ }
+ 
+-AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id)
++AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id)
+ {
+   WaitAndSignal m(processLock);
+ 
+@@ -308,13 +308,18 @@ int FFMPEGLibrary::AvcodecClose(AVCodecC
+   return avcodec_close(ctx);
+ }
+ 
++#undef  FFMAX
++#define FFMAX(a,b) ((a) > (b) ? (a) : (b)) 
+ int FFMPEGLibrary::AvcodecEncodeVideo(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict)
+ {
++  AVPacket pkt = { 0 };
++  int ret, got_output;
+   int res;
+ 
+-  res = avcodec_encode_video(ctx, buf, buf_size, pict);
++  ret = avcodec_encode_video2(ctx, &pkt, pict, &got_output);
+ 
+-  PTRACE(6, m_codecString, "DYNA\tEncoded into " << res << " bytes, max " << buf_size);
++  PTRACE(6, m_codecString, "DYNA\tEncoded into " << ret << " bytes, max " << buf_size);
++  memcpy(buf, pkt.data, FFMAX(pkt.size, buf_size));
+   return res;
+ }
+ 
+--- a/plugins/video/common/dyna.h
++++ b/plugins/video/common/dyna.h
+@@ -88,13 +88,13 @@ class DynaLink
+ class FFMPEGLibrary 
+ {
+   public:
+-    FFMPEGLibrary(CodecID codec);
++    FFMPEGLibrary(AVCodecID codec);
+     ~FFMPEGLibrary();
+ 
+     bool Load();
+ 
+-    AVCodec *AvcodecFindEncoder(enum CodecID id);
+-    AVCodec *AvcodecFindDecoder(enum CodecID id);
++    AVCodec *AvcodecFindEncoder(enum AVCodecID id);
++    AVCodec *AvcodecFindDecoder(enum AVCodecID id);
+     AVCodecContext *AvcodecAllocContext(AVCodec*);
+     AVFrame *AvcodecAllocFrame(void);
+     int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec);
+@@ -117,7 +117,7 @@ class FFMPEGLibrary
+     DynaLink m_libAvcodec;
+     DynaLink m_libAvutil;
+ 
+-    CodecID m_codec;
++    AVCodecID m_codec;
+     char m_codecString[32];
+ 
+     bool m_isLoadedOK;
diff --git a/pkgs/development/libraries/opal/libav9.patch b/pkgs/development/libraries/opal/libav9.patch
new file mode 100644
index 00000000000..f91a8c033fe
--- /dev/null
+++ b/pkgs/development/libraries/opal/libav9.patch
@@ -0,0 +1,543 @@
+Description: Backport changes for the libav 9 API
+ Also replace loading of libavcodec and libavutil via dlopen by linking against
+ it.
+Author: Sebastian Ramacher <sramacher@debian.org>
+Bug-Debian: http://bugs.debian.org/720824
+Last-Update: 2013-09-12
+
+--- a/plugins/video/H.263-1998/h263-1998.cxx
++++ b/plugins/video/H.263-1998/h263-1998.cxx
+@@ -216,7 +216,7 @@
+     return false;
+   }
+ 
+-  m_context = FFMPEGLibraryInstance.AvcodecAllocContext();
++  m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec);
+   if (m_context == NULL) {
+     PTRACE(1, m_prefix, "Failed to allocate context for encoder");
+     return false;
+@@ -312,6 +312,7 @@
+     return;
+   }
+ 
++#ifdef CODEC_FLAG_H263P_UMV
+   if (STRCMPI(option, H263_ANNEX_D) == 0) {
+     // Annex D: Unrestructed Motion Vectors
+     // Level 2+ 
+@@ -322,6 +323,7 @@
+       m_context->flags &= ~CODEC_FLAG_H263P_UMV; 
+     return;
+   }
++#endif
+ 
+ #if 0 // DO NOT ENABLE THIS FLAG. FFMPEG IS NOT THREAD_SAFE WHEN THIS FLAG IS SET
+   if (STRCMPI(option, H263_ANNEX_F) == 0) {
+@@ -356,6 +358,7 @@
+     return;
+   }
+ 
++#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
+   if (STRCMPI(option, H263_ANNEX_K) == 0) {
+     // Annex K: Slice Structure
+     // does not work with eyeBeam
+@@ -365,7 +368,9 @@
+       m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; 
+     return;
+   }
++#endif
+ 
++#ifdef CODEC_FLAG_H263P_AIV
+   if (STRCMPI(option, H263_ANNEX_S) == 0) {
+     // Annex S: Alternative INTER VLC mode
+     // does not work with eyeBeam
+@@ -375,6 +380,7 @@
+       m_context->flags &= ~CODEC_FLAG_H263P_AIV; 
+     return;
+   }
++#endif
+ 
+   if (STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATION) == 0 ||
+       STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATIONS) == 0) {
+@@ -450,15 +456,6 @@
+   PTRACE(5, m_prefix, "qmax set to " << m_context->qmax);
+   PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size);
+ 
+-  #define CODEC_TRACER_FLAG(tracer, flag) \
+-    PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? "enabled" : "disabled"));
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT)
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV);
+-
+   return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0;
+ }
+ 
+@@ -521,7 +518,7 @@
+ 
+     // Need to copy to local buffer to guarantee 16 byte alignment
+     memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2);
+-    m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE;
++    m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE;
+ 
+     /*
+     m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE;
+@@ -603,13 +600,19 @@
+   m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack;
+   m_context->opaque = this; // used to separate out packets from different encode threads
+ 
++#ifdef CODEC_FLAG_H263P_UMV
+   m_context->flags &= ~CODEC_FLAG_H263P_UMV;
++#endif
+   m_context->flags &= ~CODEC_FLAG_4MV;
+ #if LIBAVCODEC_RTP_MODE
+   m_context->flags &= ~CODEC_FLAG_H263P_AIC;
+ #endif
++#ifdef CODEC_FLAG_H263P_AIV
+   m_context->flags &= ~CODEC_FLAG_H263P_AIV;
++#endif
++#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
+   m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT;
++#endif
+ 
+   return true;
+ }
+@@ -658,7 +661,7 @@
+     return;
+   }
+ 
+-  m_context = FFMPEGLibraryInstance.AvcodecAllocContext();
++  m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec);
+   if (m_context == NULL) {
+     PTRACE(1, m_prefix, "Failed to allocate context for decoder");
+     return;
+--- a/plugins/video/H.264/h264-x264.cxx
++++ b/plugins/video/H.264/h264-x264.cxx
+@@ -48,6 +48,7 @@
+ #include "shared/h264frame.h"
+ #include "shared/x264wrap.h"
+ 
++#include <cstdio>
+ 
+ #define MY_CODEC      x264                                  // Name of codec (use C variable characters)
+ #define MY_CODEC_LOG "x264"
+@@ -1067,18 +1068,17 @@
+       if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H264)) == NULL)
+         return false;
+ 
+-      if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext()) == NULL)
++      if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec)) == NULL)
+         return false;
+ 
+       m_context->workaround_bugs = FF_BUG_AUTODETECT;
+-      m_context->error_recognition = FF_ER_AGGRESSIVE;
+       m_context->idct_algo = FF_IDCT_H264;
+       m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
+       m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
+-      m_context->flags2 = CODEC_FLAG2_BRDO |
+-                          CODEC_FLAG2_MEMC_ONLY |
++      m_context->flags2 = CODEC_FLAG2_SKIP_RD |
++#ifdef CODEC_FLAG2_DROP_FRAME_TIMECODE
+                           CODEC_FLAG2_DROP_FRAME_TIMECODE |
+-                          CODEC_FLAG2_SKIP_RD |
++#endif
+                           CODEC_FLAG2_CHUNKS;
+ 
+       if ((m_picture = FFMPEGLibraryInstance.AvcodecAllocFrame()) == NULL)
+--- a/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
++++ b/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
+@@ -589,17 +589,14 @@
+     m_avpicture->quality = m_videoQMin;
+ 
+ #ifdef USE_ORIG
+-    m_avcontext->flags |= CODEC_FLAG_PART;   // data partitioning
+     m_avcontext->flags |= CODEC_FLAG_4MV;    // 4 motion vectors
+ #else
+     m_avcontext->max_b_frames=0; /*don't use b frames*/
+     m_avcontext->flags|=CODEC_FLAG_AC_PRED;
+-    m_avcontext->flags|=CODEC_FLAG_H263P_UMV;
+     /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */
+     m_avcontext->flags|=CODEC_FLAG_4MV;
+     m_avcontext->flags|=CODEC_FLAG_GMC;
+     m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER;
+-    m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT;
+ #endif
+     m_avcontext->opaque = this;              // for use in RTP callback
+ }
+@@ -691,7 +688,12 @@
+ 
+ bool MPEG4EncoderContext::OpenCodec()
+ {
+-  m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext();
++  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){
++    PTRACE(1, "MPEG4", "Encoder not found");
++    return false;
++  }
++
++  m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(m_avcodec);
+   if (m_avcontext == NULL) {
+     PTRACE(1, "MPEG4", "Encoder failed to allocate context for encoder");
+     return false;
+@@ -703,11 +705,6 @@
+     return false;
+   }
+ 
+-  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){
+-    PTRACE(1, "MPEG4", "Encoder not found");
+-    return false;
+-  }
+-
+ #if PLUGINCODEC_TRACING
+   // debugging flags
+   if (PTRACE_CHECK(4)) {
+@@ -804,7 +801,7 @@
+         // Should the next frame be an I-Frame?
+         if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0))
+         {
+-            m_avpicture->pict_type = FF_I_TYPE;
++            m_avpicture->pict_type = AV_PICTURE_TYPE_I;
+         }
+         else // No IFrame requested, let avcodec decide what to do
+         {
+@@ -1325,7 +1322,6 @@
+ 
+ void MPEG4DecoderContext::SetStaticDecodingParams() {
+     m_avcontext->flags |= CODEC_FLAG_4MV; 
+-    m_avcontext->flags |= CODEC_FLAG_PART;
+     m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations
+ }
+ 
+@@ -1399,7 +1395,7 @@
+         return false;
+     }
+         
+-    m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext();
++    m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(m_avcodec);
+     if (m_avcontext == NULL) {
+         PTRACE(1, "MPEG4", "Decoder failed to allocate context");
+         return false;
+--- a/plugins/video/common/dyna.cxx
++++ b/plugins/video/common/dyna.cxx
+@@ -38,6 +38,13 @@
+  *                 Matthias Schneider (ma30002000@yahoo.de)
+  */
+ #include "dyna.h"
++#include <cstdio>
++#include <cstdarg>
++
++extern "C" {
++#include <libavcodec/avcodec.h>
++#include <libavutil/mem.h>
++}
+ 
+ bool DynaLink::Open(const char *name)
+ {
+@@ -228,101 +235,15 @@
+   m_libAvutil.Close();
+ }
+ 
+-#define CHECK_AVUTIL(name, func) \
+-      (seperateLibAvutil ? \
+-        m_libAvutil.GetFunction(name,  (DynaLink::Function &)func) : \
+-        m_libAvcodec.GetFunction(name, (DynaLink::Function &)func) \
+-       ) \
+-
+-
+ bool FFMPEGLibrary::Load()
+ {
+   WaitAndSignal m(processLock);
+   if (IsLoaded())
+     return true;
+ 
+-  bool seperateLibAvutil = false;
+-
+-#ifdef LIBAVCODEC_LIB_NAME
+-  if (m_libAvcodec.Open(LIBAVCODEC_LIB_NAME))
+-    seperateLibAvutil = true;
+-  else
+-#endif
+-  if (m_libAvcodec.Open("libavcodec"))
+-    seperateLibAvutil = false;
+-  else if (m_libAvcodec.Open("avcodec-" AV_STRINGIFY(LIBAVCODEC_VERSION_MAJOR)))
+-    seperateLibAvutil = true;
+-  else {
+-    PTRACE(1, m_codecString, "Failed to load FFMPEG libavcodec library");
+-    return false;
+-  }
+-
+-  if (seperateLibAvutil &&
+-        !(
+-#ifdef LIBAVUTIL_LIB_NAME
+-          m_libAvutil.Open(LIBAVUTIL_LIB_NAME) ||
+-#endif
+-          m_libAvutil.Open("libavutil") ||
+-          m_libAvutil.Open("avutil-" AV_STRINGIFY(LIBAVUTIL_VERSION_MAJOR))
+-        ) ) {
+-    PTRACE(1, m_codecString, "Failed to load FFMPEG libavutil library");
+-    return false;
+-  }
+-
+-  strcpy(m_libAvcodec.m_codecString, m_codecString);
+-  strcpy(m_libAvutil.m_codecString,  m_codecString);
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_init", (DynaLink::Function &)Favcodec_init))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("av_init_packet", (DynaLink::Function &)Fav_init_packet))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_register_all", (DynaLink::Function &)Favcodec_register_all))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_find_encoder", (DynaLink::Function &)Favcodec_find_encoder))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_find_decoder", (DynaLink::Function &)Favcodec_find_decoder))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_alloc_context", (DynaLink::Function &)Favcodec_alloc_context))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_alloc_frame", (DynaLink::Function &)Favcodec_alloc_frame))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_open", (DynaLink::Function &)Favcodec_open))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_close", (DynaLink::Function &)Favcodec_close))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_encode_video", (DynaLink::Function &)Favcodec_encode_video))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_decode_video2", (DynaLink::Function &)Favcodec_decode_video))
+-    return false;
+-
+-  if (!m_libAvcodec.GetFunction("avcodec_set_dimensions", (DynaLink::Function &)Favcodec_set_dimensions))
+-    return false;
+-
+-  if (!CHECK_AVUTIL("av_free", Favcodec_free))
+-    return false;
+-
+-  if(!m_libAvcodec.GetFunction("avcodec_version", (DynaLink::Function &)Favcodec_version))
+-    return false;
+-
+-  if (!CHECK_AVUTIL("av_log_set_level", FAv_log_set_level))
+-    return false;
+-
+-  if (!CHECK_AVUTIL("av_log_set_callback", FAv_log_set_callback))
+-    return false;
+-
+   // must be called before using avcodec lib
+ 
+-  unsigned libVer = Favcodec_version();
++  unsigned libVer = avcodec_version();
+   if (libVer != LIBAVCODEC_VERSION_INT) {
+     PTRACE(2, m_codecString, "Warning: compiled against libavcodec headers from version "
+            << LIBAVCODEC_VERSION_MAJOR << '.' << LIBAVCODEC_VERSION_MINOR << '.' << LIBAVCODEC_VERSION_MICRO
+@@ -334,8 +255,7 @@
+            << (libVer >> 16) << ((libVer>>8) & 0xff) << (libVer & 0xff));
+   }
+ 
+-  Favcodec_init();
+-  Favcodec_register_all ();
++  avcodec_register_all();
+ 
+ #if PLUGINCODEC_TRACING
+   AvLogSetLevel(AV_LOG_DEBUG);
+@@ -350,49 +270,49 @@
+ 
+ AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id)
+ {
+-  return Favcodec_find_encoder(id);
++  return avcodec_find_encoder(id);
+ }
+ 
+ AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  return Favcodec_find_decoder(id);
++  return avcodec_find_decoder(id);
+ }
+ 
+-AVCodecContext *FFMPEGLibrary::AvcodecAllocContext(void)
++AVCodecContext *FFMPEGLibrary::AvcodecAllocContext(AVCodec *codec)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  return Favcodec_alloc_context();
++  return avcodec_alloc_context3(codec);
+ }
+ 
+ AVFrame *FFMPEGLibrary::AvcodecAllocFrame(void)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  return Favcodec_alloc_frame();
++  return avcodec_alloc_frame();
+ }
+ 
+ int FFMPEGLibrary::AvcodecOpen(AVCodecContext *ctx, AVCodec *codec)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  return Favcodec_open(ctx, codec);
++  return avcodec_open2(ctx, codec, NULL);
+ }
+ 
+ int FFMPEGLibrary::AvcodecClose(AVCodecContext *ctx)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  return Favcodec_close(ctx);
++  return avcodec_close(ctx);
+ }
+ 
+ int FFMPEGLibrary::AvcodecEncodeVideo(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict)
+ {
+   int res;
+ 
+-  res = Favcodec_encode_video(ctx, buf, buf_size, pict);
++  res = avcodec_encode_video(ctx, buf, buf_size, pict);
+ 
+   PTRACE(6, m_codecString, "DYNA\tEncoded into " << res << " bytes, max " << buf_size);
+   return res;
+@@ -401,35 +321,35 @@
+ int FFMPEGLibrary::AvcodecDecodeVideo(AVCodecContext *ctx, AVFrame *pict, int *got_picture_ptr, BYTE *buf, int buf_size)
+ {
+   AVPacket avpkt;
+-  Fav_init_packet(&avpkt);
++  av_init_packet(&avpkt);
+   avpkt.data = buf;
+   avpkt.size = buf_size;
+ 
+-  return Favcodec_decode_video(ctx, pict, got_picture_ptr, &avpkt);
++  return avcodec_decode_video2(ctx, pict, got_picture_ptr, &avpkt);
+ }
+ 
+ void FFMPEGLibrary::AvcodecFree(void * ptr)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  Favcodec_free(ptr);
++  av_free(ptr);
+ }
+ 
+ void FFMPEGLibrary::AvSetDimensions(AVCodecContext *s, int width, int height)
+ {
+   WaitAndSignal m(processLock);
+ 
+-  Favcodec_set_dimensions(s, width, height);
++  avcodec_set_dimensions(s, width, height);
+ }
+ 
+ void FFMPEGLibrary::AvLogSetLevel(int level)
+ {
+-  FAv_log_set_level(level);
++  av_log_set_level(level);
+ }
+ 
+ void FFMPEGLibrary::AvLogSetCallback(void (*callback)(void*, int, const char*, va_list))
+ {
+-  FAv_log_set_callback(callback);
++  av_log_set_callback(callback);
+ }
+ 
+ bool FFMPEGLibrary::IsLoaded()
+--- a/plugins/video/common/dyna.h
++++ b/plugins/video/common/dyna.h
+@@ -95,7 +95,7 @@
+ 
+     AVCodec *AvcodecFindEncoder(enum CodecID id);
+     AVCodec *AvcodecFindDecoder(enum CodecID id);
+-    AVCodecContext *AvcodecAllocContext(void);
++    AVCodecContext *AvcodecAllocContext(AVCodec*);
+     AVFrame *AvcodecAllocFrame(void);
+     int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec);
+     int AvcodecClose(AVCodecContext *ctx);
+@@ -120,26 +120,6 @@
+     CodecID m_codec;
+     char m_codecString[32];
+ 
+-    void (*Favcodec_init)(void);
+-    void (*Fav_init_packet)(AVPacket *pkt);
+-
+-    void (*Favcodec_register_all)(void);
+-    AVCodec *(*Favcodec_find_encoder)(enum CodecID id);
+-    AVCodec *(*Favcodec_find_decoder)(enum CodecID id);
+-    AVCodecContext *(*Favcodec_alloc_context)(void);
+-    AVFrame *(*Favcodec_alloc_frame)(void);
+-    int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec);
+-    int (*Favcodec_close)(AVCodecContext *ctx);
+-    int (*Favcodec_encode_video)(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict);
+-    int (*Favcodec_decode_video)(AVCodecContext *ctx, AVFrame *pict, int *got_picture_ptr, AVPacket *avpkt);
+-    unsigned (*Favcodec_version)(void);
+-    void (*Favcodec_set_dimensions)(AVCodecContext *ctx, int width, int height);
+-
+-    void (*Favcodec_free)(void *);
+-
+-    void (*FAv_log_set_level)(int level);
+-    void (*FAv_log_set_callback)(void (*callback)(void*, int, const char*, va_list));
+-
+     bool m_isLoadedOK;
+ };
+ 
+--- a/plugins/video/common/ffmpeg.h
++++ b/plugins/video/common/ffmpeg.h
+@@ -45,11 +45,13 @@
+ 
+ #include "platform.h"
+ 
+-#include "libavcodec/avcodec.h"
++extern "C" {
++#include <libavcodec/avcodec.h>
+ // AVPacket was declared in avformat.h before April 2009
+ #if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(52, 25, 0)
+-#include "libavformat/avformat.h"
++#include <libavformat/avformat.h>
+ #endif
++}
+ 
+ #ifndef LIBAVCODEC_VERSION_INT
+ #error Libavcodec include is not correct
+--- a/plugins/video/H.263-1998/Makefile.in
++++ b/plugins/video/H.263-1998/Makefile.in
+@@ -34,8 +34,8 @@
+              $(COMMONDIR)/mpi.cxx \
+              $(COMMONDIR)/dyna.cxx
+ 
+-CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR)
+-LIBS   += @DL_LIBS@
++CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR)
++LIBS   += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@
+ 
+ HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@
+ ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes)
+--- a/plugins/video/H.264/Makefile.in
++++ b/plugins/video/H.264/Makefile.in
+@@ -34,8 +34,8 @@
+            $(SHAREDDIR)/x264wrap.cxx \
+            $(COMMONDIR)/dyna.cxx \
+ 
+-CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) -DLIB_DIR='"$(libdir)"' -DVC_PLUGIN_DIR='"@VC_PLUGIN_DIR@"'
+-LIBS   += @DL_LIBS@
++CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR) -DLIB_DIR='"$(libdir)"' -DVC_PLUGIN_DIR='"@VC_PLUGIN_DIR@"'
++LIBS   += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@
+ 
+ IS_H264_LICENSED:=@IS_H264_LICENSED@
+ ifeq ($(IS_H264_LICENSED),yes)
+--- a/plugins/video/MPEG4-ffmpeg/Makefile.in
++++ b/plugins/video/MPEG4-ffmpeg/Makefile.in
+@@ -30,8 +30,8 @@
+ SRCDIR    := .
+ SRCS      := mpeg4.cxx $(COMMONDIR)/dyna.cxx
+ 
+-CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR)
+-LIBS   += @DL_LIBS@
++CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR)
++LIBS   += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@
+ 
+ # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include <libavcodec/...h>
+ # Also add libavutil, so ffmpeg headers can #include "log.h".
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index b9b08433a62..48f5bfc71e5 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchurl, cmake, alsaLib }:
+{ stdenv, fetchurl, cmake
+, alsaSupport ? true, alsaLib ? null
+, pulseSupport ? true, pulseaudio ? null
+}:
 
-stdenv.mkDerivation rec {
-#The current release is still in a testing phase, though it should be stable
-# (neither the ABI or API will break). Please try it out and let me know how it
-#  works. :-)
+assert alsaSupport -> alsaLib != null;
+assert pulseSupport -> pulseaudio != null;
 
+stdenv.mkDerivation rec {
   version = "1.15.1";
   name = "openal-soft-${version}";
 
@@ -13,11 +15,17 @@ stdenv.mkDerivation rec {
     sha256 = "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f";
   };
 
-  buildInputs = [ cmake alsaLib ];
-  
+  buildInputs = [ cmake ]
+    ++ stdenv.lib.optional alsaSupport alsaLib
+    ++ stdenv.lib.optional pulseSupport pulseaudio;
+
+  NIX_LDFLAGS = []
+    ++ stdenv.lib.optional alsaSupport "-lasound"
+    ++ stdenv.lib.optional pulseSupport "-lpulse";
+
   meta = {
     description = "OpenAL alternative";
     homepage = http://kcat.strangesoft.net/openal.html;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/openal/default.nix b/pkgs/development/libraries/openal/default.nix
index 75d6033e1cc..b5e390eafa8 100644
--- a/pkgs/development/libraries/openal/default.nix
+++ b/pkgs/development/libraries/openal/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.openal.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index e6df13eed34..03cfbc8fabd 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cmake, zlib, libxml2, eigen, python, cairo, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "openbabel-2.3.1";
+  name = "openbabel-2.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/openbabel/${name}.tar.gz";
-    sha256 = "18yprqsk0fi1ri4fmvpx2ym6gx9fp3by681pl3jffpjqmz4qnbly";
+    sha256 = "122if0jkm71ngd1b0dic8k567b3j2hcikbwnpxgchv5ag5ka5b2f";
   };
 
   # TODO : perl & python bindings;
diff --git a/pkgs/development/libraries/opencascade/oce.nix b/pkgs/development/libraries/opencascade/oce.nix
index 500e6229050..0da8d2a7404 100644
--- a/pkgs/development/libraries/opencascade/oce.nix
+++ b/pkgs/development/libraries/opencascade/oce.nix
@@ -2,11 +2,10 @@
 ftgl, freetype}:
 
 stdenv.mkDerivation rec {
-  name = "opencascade-oce-0.13-dev";
+  name = "opencascade-oce-0.14.1";
   src = fetchurl {
-    url = https://api.github.com/repos/tpaviot/oce/tarball/bd77743bfa0e765c3a57d116a62d75b50e1a455;
-    name = "${name}.tar.gz";
-    sha256 = "1w7z326la9427yb23hbalsksk6w4ma5xil4jscnvi8mk6g48wyxv";
+    url = https://github.com/tpaviot/oce/archive/OCE-0.14.1.tar.gz;
+    sha256 = "0pfc94nmzipm6zmxywxbly1cpfr6wadxasqqkkbdvzg937mrwl5d";
   };
 
   buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index 513b340e132..28d361ea7b8 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ocio-${version}";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchurl {
-    url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.8.zip";
-    sha256 = "1l70bf40dz2znm9rh3r6xs9d6kp719y1djayb7dc89khfqqbx2di";
+    url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.9.zip";
+    sha256 = "14j80dgbb6f09z63aqh2874vhzpga6zksz8jmqnj1zh87x15pqnr";
   };
 
   buildInputs = [ cmake unzip ];
diff --git a/pkgs/development/libraries/opencv/2.1.nix b/pkgs/development/libraries/opencv/2.1.nix
index ea5b1313dc7..4b0ccc0903f 100644
--- a/pkgs/development/libraries/opencv/2.1.nix
+++ b/pkgs/development/libraries/opencv/2.1.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index a7e514a5780..7dafcfce948 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
-, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages }:
+{ lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
+, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages
+, enableBloat ? false }:
 
-let v = "2.4.5"; in
+let v = "2.4.7"; in
 
 stdenv.mkDerivation rec {
   name = "opencv-${v}";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencvlibrary/opencv-${v}.tar.gz";
-    sha256 = "14k2w07jcchp11c9v6p5x49h3h1zmg2m9brm2sypz5sp9g7yw2yk";
+    sha256 = "0hravl3yhyv4r4n7vb055d4qnp893q2hc0fcmmncfh7sbdrnr3f4";
   };
 
-  buildInputs = [ gtk glib libjpeg libpng libtiff jasper ffmpeg xineLib gstreamer
-    python27 python27Packages.numpy ];
+  buildInputs =
+    [ libjpeg libpng libtiff ]
+    ++ lib.optionals enableBloat [ gtk glib jasper ffmpeg xineLib gstreamer python27 python27Packages.numpy ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
diff --git a/pkgs/development/libraries/opendkim/default.nix b/pkgs/development/libraries/opendkim/default.nix
index 62a343d8efc..5dfd87c4d84 100644
--- a/pkgs/development/libraries/opendkim/default.nix
+++ b/pkgs/development/libraries/opendkim/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, openssl, libmilter}:
 
 stdenv.mkDerivation rec {
-  name = "opendkim-2.4.2";
+  name = "opendkim-2.4.3";
   src = fetchurl {
     url = "mirror://sourceforge/opendkim/files/${name}.tar.gz";
-    sha256 = "0gwgcrnl5c60sxb9z38ari2gl7vd626r3z3dcq8a6aw28pw9w2lk";
+    sha256 = "01h97h012gcp8rimjbc9mrv4759cnw4flb42ddiady1bmb2p7vy3";
   };
 
   configureFlags="--with-openssl=${openssl} --with-milter=${libmilter}";
diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix
index 75999f18d62..97981218478 100644
--- a/pkgs/development/libraries/openjpeg/default.nix
+++ b/pkgs/development/libraries/openjpeg/default.nix
@@ -15,7 +15,21 @@ stdenv.mkDerivation rec {
   nativebuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ libpng libtiff lcms ]; # in closure anyway
 
-  postInstall = glib.flattenInclude;
+  postInstall = glib.flattenInclude + ''
+    mkdir -p "$out/lib/pkgconfig"
+    cat >"$out/lib/pkgconfig/libopenjp2.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: openjp2
+    Description: JPEG2000 library (Part 1 and 2)
+    URL: http://www.openjpeg.org/
+    Version: @OPENJPEG_VERSION@
+    Libs: -L$out/lib -lopenjp2
+    Cflags: -I$out/include
+    EOF
+  '';
 
   meta = {
     homepage = http://www.openjpeg.org/;
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 60b9c7738a0..c9da441705c 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, openssl, cyrus_sasl, db4, groff}:
+{stdenv, fetchurl, openssl, cyrus_sasl, db, groff}:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.35";
+  name = "openldap-2.4.39";
 
   src = fetchurl {
-    url = "ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/${name}.tgz";
-    sha256 = "1swy3rly6y0asikp862sigmab8gcll6scb65ln10vps7q5s0640n";
+    url = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
+    sha256 = "19zq9dc7dl03wmqd11fbsdii1npyq1vlicl3nxbfygqh8xrwhrw2";
   };
 
-  buildInputs = [ openssl cyrus_sasl db4 groff ];
+  buildInputs = [ openssl cyrus_sasl db groff ];
 
   configureFlags =
     [ "--enable-overlays"
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.openldap.org/";
     description = "An open source implementation of the Lightweight Directory Access Protocol";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index d32cbd51606..678a439fe0a 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl, gfortran}:
 
 stdenv.mkDerivation {
-  name = "openmpi-1.6.4";
+  name = "openmpi-1.6.5";
   src = fetchurl {
-    url = http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.4.tar.bz2 ;
-    sha1 = "38095d3453519177272f488d5058a98f7ebdbf10";
+    url = http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2 ;
+    sha256 = "11gws4d3z7934zna2r7m1f80iay2ha17kp42mkh39wjykfwbldzy";
   };
   buildInputs = [ gfortran ];
   meta = {
     homePage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
     longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
 
diff --git a/pkgs/development/libraries/openssl/cert-file.patch b/pkgs/development/libraries/openssl/cert-file.patch
index 6b7a60e9026..26b51c0295e 100644
--- a/pkgs/development/libraries/openssl/cert-file.patch
+++ b/pkgs/development/libraries/openssl/cert-file.patch
@@ -12,7 +12,7 @@ diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypt
  #include "cryptlib.h"
  #include <openssl/crypto.h>
  #include <openssl/x509.h>
-@@ -71,7 +75,19 @@
+@@ -71,7 +75,25 @@
  	{ return(X509_CERT_DIR); }
  
  const char *X509_get_default_cert_file(void)
@@ -23,9 +23,15 @@ diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypt
 +	if (!init) {
 +	    init = 1;
 +	    char * s = getenv("OPENSSL_X509_CERT_FILE");
-+	    if (s && getuid() == geteuid()) {
-+		strncpy(buf, s, sizeof(buf));
-+		buf[sizeof(buf) - 1] = 0;
++	    if (s) {
++#ifndef OPENSSL_SYS_WINDOWS
++	        if (getuid() == geteuid()) {
++#endif
++		        strncpy(buf, s, sizeof(buf));
++		        buf[sizeof(buf) - 1] = 0;
++#ifndef OPENSSL_SYS_WINDOWS
++	        }
++#endif
 +	    }
 +	}
 +	return buf;
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 6a3beee80de..cca5049c0d4 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -2,13 +2,15 @@
 , withCryptodev ? false, cryptodevHeaders }:
 
 let
-  name = "openssl-1.0.1e";
+  name = "openssl-1.0.1i";
 
   opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
     (throw "openssl needs its platform name cross building" null)
     stdenv.cross;
 
-  patchesCross = isCross:
+  patchesCross = isCross: let
+    isDarwin = stdenv.isDarwin || (isCross && stdenv.cross.libc == "libSystem");
+  in
     [ # Allow the location of the X509 certificate file (the CA
       # bundle) to be set through the environment variable
       # ‘OPENSSL_X509_CERT_FILE’.  This is necessary because the
@@ -29,7 +31,7 @@ let
           ./kfreebsd-gnu.patch
         ]
 
-    ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch;
+    ++ stdenv.lib.optional isDarwin ./darwin-arch.patch;
 
 in
 
@@ -41,7 +43,7 @@ stdenv.mkDerivation {
       "http://www.openssl.org/source/${name}.tar.gz"
       "http://openssl.linux-mirror.org/source/${name}.tar.gz"
     ];
-    sha256 = "1qqskk39jh85fvdn3ycmdqjdf67c0b97dwmmbcysl4gzr3l1akzp";
+    sha256 = "1izwv1wzqdw8aqnvb70jcqpqp0rvkcm22w5c1dm9l1kpr939y5rw";
   };
 
   patches = patchesCross false;
@@ -57,15 +59,22 @@ stdenv.mkDerivation {
   # On x86_64-darwin, "./config" misdetects the system as
   # "darwin-i386-cc".  So specify the system type explicitly.
   configureScript =
-    if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc" else "./config";
+    if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
+    else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
+    else "./config";
 
   configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
-    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
+    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" +
+    stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm";
+
+  preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") ''
+    sed -i -e "s|-march=i486|-march=x86-64|g" Makefile
+  '';
 
   makeFlags = "MANDIR=$(man)/share/man";
 
   # Parallel building is broken in OpenSSL.
-  #enableParallelBuilding = true;
+  enableParallelBuilding = false;
 
   postInstall =
     ''
@@ -97,6 +106,8 @@ stdenv.mkDerivation {
     '';
 
     configureScript = "./Configure";
+  } // stdenv.lib.optionalAttrs (opensslCrossSystem == "darwin64-x86_64-cc") {
+    CC = "gcc";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/osip/3.nix b/pkgs/development/libraries/osip/3.nix
index 2c1b148251c..b485fa3e947 100644
--- a/pkgs/development/libraries/osip/3.nix
+++ b/pkgs/development/libraries/osip/3.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "libosip2-${version}";
 
   meta = {
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     homepage = http://www.gnu.org/software/osip/;
     description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
     maintainers = with stdenv.lib.maintainers; [ raskin ];
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index 3ec3dac221f..cfa838f5a37 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "libosip2-${version}";
 
   meta = {
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     homepage = http://www.gnu.org/software/osip/;
     description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
     maintainers = with stdenv.lib.maintainers; [ raskin ];
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 8366636a251..be6216b758c 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, libiconv, pkgconfig, libffi, libtasn1 }:
 
 stdenv.mkDerivation rec {
-  name = "p11-kit-0.7";
+  name = "p11-kit-0.20.2";
 
   src = fetchurl {
     url = "${meta.homepage}releases/${name}.tar.gz";
-    sha256 = "1vj86kc7ir1djlb5akrr3w4x4k7h34pq2l4abwgqmcwxbm4j0lln";
+    sha256 = "0z7gwmsj9hcmpk3ai2lwla59y3h9jc13xmqk5rijnv645zcm3v84";
   };
 
   postInstall = "rm -frv $out/share/gtk-doc";
 
+  configureFlags = "--without-libtasn1";
+
+  buildInputs = [ libiconv pkgconfig libffi libtasn1 ];
+
   meta = {
     homepage = http://p11-glue.freedesktop.org/;
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index f1bd3f02137..355c4c048c7 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -2,7 +2,7 @@
 , libintlOrEmpty, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  name = "pango-1.32.5"; #.6 and higher need a not-yet-stable fontconfig (!)
+  name = "pango-1.32.5"; #.6 and higher need fontconfig-2.11.* which is troublesome
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/1.32/${name}.tar.xz";
@@ -11,15 +11,21 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "bin" "doc" ];
 
-  buildInputs = [ gobjectIntrospection ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ];
-
+  buildInputs = with stdenv.lib;
+    optional (!stdenv.isDarwin) gobjectIntrospection # build problems of itself and flex
+    ++ optionals stdenv.isDarwin [ gettext fontconfig ];
   nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [ x11 glib cairo libpng harfbuzz ] ++ libintlOrEmpty;
 
   enableParallelBuilding = true;
 
+  # jww (2014-05-05): The tests currently fail on Darwin:
+  #
+  # ERROR:testiter.c:139:iter_char_test: assertion failed: (extents.width == x1 - x0)
+  # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst
+  # FAIL: testiter
+  doCheck = !stdenv.isDarwin;
   meta = {
     description = "A library for laying out and rendering of text, with an emphasis on internationalization";
 
@@ -32,9 +38,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.pango.org/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/pangomm/2.28.x.nix b/pkgs/development/libraries/pangomm/2.28.x.nix
deleted file mode 100644
index 6843ff7a307..00000000000
--- a/pkgs/development/libraries/pangomm/2.28.x.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm, libpng, cairo }:
-
-stdenv.mkDerivation rec {
-  name = "pangomm-2.28.4";
-
-  src = fetchurl {
-    url = mirror://gnome/sources/pangomm/2.28/pangomm-2.28.4.tar.xz;
-    sha256 = "10kcdpg080m393f1vz0km41kd3483fkyabprm59gvjwklxkcp3bp";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pango glibmm cairomm libpng 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
-      emphasis on internationalization.  Pango can be used anywhere
-      that text layout is needed, though most of the work on Pango so
-      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.
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
new file mode 100644
index 00000000000..ab598f47a52
--- /dev/null
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm, libpng, cairo }:
+
+let
+  ver_maj = "2.34";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "pangomm-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/pangomm/${ver_maj}/${name}.tar.xz";
+    sha256 = "0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pango glibmm cairomm libpng cairo ];
+
+  meta = with stdenv.lib; {
+    description = "C++ interface to the Pango text rendering library";
+    homepage    = http://www.pango.org/;
+    # TODO 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
+      emphasis on internationalization.  Pango can be used anywhere
+      that text layout is needed, though most of the work on Pango so
+      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.
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/pangox-compat/default.nix b/pkgs/development/libraries/pangox-compat/default.nix
index 8518083b4d3..6d79587abcb 100644
--- a/pkgs/development/libraries/pangox-compat/default.nix
+++ b/pkgs/development/libraries/pangox-compat/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "A compatibility library for pango>1.30.*";
 
     homepage = http://www.pango.org/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix
index 1a3484c2ee5..b9943b44331 100644
--- a/pkgs/development/libraries/pcl/default.nix
+++ b/pkgs/development/libraries/pcl/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index d7d13c6de4c..961a9e7b9ea 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true }:
+{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true
+, windows ? null
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "pcre-8.31";
+  name = "pcre-8.34";
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "5778a02535473c7ee7838ea598c19f451e63cf5eec0bf0307a688301c9078c3c";
+    sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n";
   };
 
   outputs = [ "dev" "out" "bin" "doc" "man" ];
@@ -15,11 +19,18 @@ stdenv.mkDerivation rec {
   # problem. In case we ever update the Darwin GCC version, the exception for
   # that platform ought to be removed.
   configureFlags = ''
+    --enable-jit
     ${if unicodeSupport then "--enable-unicode-properties" else ""}
     ${if !cplusplusSupport then "--disable-cpp" else ""}
-  '' + stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-O0";
+  '' + optionalString stdenv.isDarwin "CXXFLAGS=-O0";
+
+  doCheck = with stdenv; !(isCygwin || isFreeBSD);
+    # XXX: test failure on Cygwin
+    # we are running out of stack on both freeBSDs on Hydra
 
-  doCheck = !stdenv.isCygwin;                   # XXX: test failure on Cygwin
+  crossAttrs = optionalAttrs (stdenv.cross.libc == "msvcrt") {
+    buildInputs = [ windows.mingw_w64_pthreads.crossDrv ];
+  };
 
   postInstall =
     ''
@@ -30,7 +41,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.pcre.org/";
     description = "A library for Perl Compatible Regular Expressions";
-    license = "BSD-3";
+    license = stdenv.lib.licenses.bsd3;
 
     longDescription = ''
       The PCRE library is a set of functions that implement regular
@@ -40,7 +51,7 @@ stdenv.mkDerivation rec {
       PCRE library is free, even for building proprietary software.
     '';
 
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = platforms.all;
+    maintainers = [ maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
index f297bd792c7..419978a1011 100644
--- a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
+++ b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
@@ -2,7 +2,7 @@
 , gst_plugins_base }:
 
 let
-  version = "4.6.3";
+  version = "4.7.0";
   pname = "phonon-backend-gstreamer";
 in
 
@@ -11,13 +11,15 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "0n5ggap1xzspq8x1j9bvnf7wqqh5495sysri7zyg42g32gqp7qjm";
+    sha256 = "0zg7hnaywk9wpcvzgskx2334cgfz09ii77pvasrn00ikcqqnnxrs";
   };
 
   buildInputs = [ phonon qt4 gstreamer gst_plugins_base ];
 
   nativeBuildInputs = [ cmake automoc4 pkgconfig ];
 
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
   meta = {
     homepage = http://phonon.kde.org/;
     description = "GStreamer backend for Phonon";
diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix
index 257c80f0b11..060f4c45a48 100644
--- a/pkgs/development/libraries/phonon-backend-vlc/default.nix
+++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, phonon }:
+{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }:
 
 let
   pname = "phonon-backend-vlc";
-  v = "0.5.0";
+  v = "0.7.0";
   vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version
 in
 
@@ -11,10 +11,10 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz";
-    sha256 = "1233szd05ahaxyk1sjis374n90m40svfks2aq9jx3g3lxygzwmi2";
+    sha256 = "1rhzc3d188l6ygxgfxwikscj71pyy0nchzikvkkq465r9ajavdgd";
   };
 
-  nativeBuildInputs = [ cmake automoc4 xz ];
+  nativeBuildInputs = [ cmake pkgconfig automoc4 xz ];
 
   buildInputs = [ qt4 vlc_ phonon ];
 
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index bd74b937276..b29deae9260 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, cmake, automoc4, qt4, pulseaudio }:
 
 let
-  v = "4.6.0";
+  v = "4.7.1";
 in
 
 stdenv.mkDerivation rec {
   name = "phonon-${v}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${v}/src/${name}.tar.xz";
-    sha256 = "2915e7a37c92a0a8237b9e6d2ef67ba8b005ee3529d03991cd3d137f039ba3c4";
+    url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz";
+    sha256 = "0pdpj7xnalr511zx12akxg6smz7x5gybkpliclb5f5dcxqnq1xsg";
   };
 
   buildInputs = [ qt4 pulseaudio ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://phonon.kde.org/;
     description = "Multimedia API for Qt";
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
     platforms = stdenv.lib.platforms.linux;
   };  
 }
diff --git a/pkgs/development/libraries/php-apc/default.nix b/pkgs/development/libraries/php-apc/default.nix
deleted file mode 100644
index 7cfdc9ce30d..00000000000
--- a/pkgs/development/libraries/php-apc/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{stdenv, fetchurl, php, autoconf, automake, libtool }:
-
-stdenv.mkDerivation rec {
-  name = "php-apc-3.1.7";
-  
-  src = fetchurl {
-    url = http://pecl.php.net/get/APC-3.1.7.tgz;
-    sha256 = "0xlvhw5398sl5zzkjm4rkk1m3fcra30zkq0k4i6fij0ylpd6nlls";
-  };
-
-  preConfigure = ''
-    phpize
-
-    sed -i 's,^EXTENSION_DIR.*,'EXTENSION_DIR=$out/lib/php/extensions, configure
-  '';
-
-  configureFlags = [ "--enable-apc" "--enable-apc-mmap" ];
-
-  buildInputs = [ php autoconf automake libtool ];
-
-  meta = {
-    description = "Alternative PHP Cache";
-    homepage = "http://pecl.php.net/package/APC";
-    license = "PHP+";
-  };
-}
diff --git a/pkgs/development/libraries/php-xcache/default.nix b/pkgs/development/libraries/php-xcache/default.nix
deleted file mode 100644
index 5f175aa72ff..00000000000
--- a/pkgs/development/libraries/php-xcache/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{stdenv, fetchurl, php, autoconf, automake, libtool, m4 }:
-
-stdenv.mkDerivation rec {
-  name = "php-xcache-3.0.1";
-  
-  src = fetchurl {
-    url = http://xcache.lighttpd.net/pub/Releases/3.0.1/xcache-3.0.1.tar.bz2;
-    md5 = "45086010bc4f82f506c08be1c556941b";
-  };
-
-  preConfigure = ''
-    phpize
-
-    sed -i 's,^EXTENSION_DIR.*,'EXTENSION_DIR=$out/lib/php/extensions, configure
-  '';
-
-  configureFlags = [
-    "--enable-xcache" 
-    "--enable-xcache-coverager" 
-    "--enable-xcache-optimizer" 
-    "--enable-xcache-assembler"
-    "--enable-xcache-encoder"
-    "--enable-xcache-decoder"
-  ];
-
-  buildInputs = [ php autoconf automake libtool m4 ];
-
-  meta = {
-    description = "Fast, stable PHP opcode cacher";
-    homepage = http://xcache.lighttpd.net/;
-    license = "BSD";
-  };
-}
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index 23bfbeeb808..d93341b81ff 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -1,22 +1,22 @@
-{ fetchurl, stdenv, pkgconfig, perl, withPNG ? true, libpng, glib /*just passthru*/ }:
+{ fetchurl, stdenv, pkgconfig, perl, libpng, glib /*just passthru*/ }:
 
 stdenv.mkDerivation rec {
-  name = "pixman-0.30.2";
+  name = "pixman-0.32.6";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha256 = "1sgnpx34pj3245a9v8056jddc4cg4xxkqdjvvw6k2hnprhh8k65x";
+    sha256 = "0129g4zdrw5hif5783li7rzcr4vpbc2cfia91azxmsk0h0xx3zix";
   };
 
   nativeBuildInputs = [ pkgconfig perl ];
 
-  buildInputs = stdenv.lib.optional withPNG [ libpng ]; # NOT in closure anyway
+  buildInputs = [ libpng ]; # NOT in closure anyway
 
   postInstall = glib.flattenInclude;
 
   meta = {
     homepage = http://pixman.org;
     description = "A low-level library for pixel manipulation";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix
index 5e15a63735e..35262f797e9 100644
--- a/pkgs/development/libraries/plib/default.nix
+++ b/pkgs/development/libraries/plib/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       GLUT, or FLTK instead of PLIB's 'PW' windowing library, you can.
     '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     homepage = http://plib.sourceforge.net/;
   };
diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix
index c57b050ebc6..3111f71369a 100644
--- a/pkgs/development/libraries/pocketsphinx/default.nix
+++ b/pkgs/development/libraries/pocketsphinx/default.nix
@@ -16,6 +16,5 @@ stdenv.mkDerivation rec {
     description = "Voice recognition library written in C";
     homepage = http://cmusphinx.sourceforge.net;
     license = "free-non-copyleft";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index d6b604367fb..b1464817a70 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -1,12 +1,14 @@
-{stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig,
-openssl, libpng, lua5}:
+{ stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig
+, openssl, libpng, lua5 }:
 
 stdenv.mkDerivation rec {
   name = "podofo-0.9.2";
+
   src = fetchurl {
     url = "mirror://sourceforge/podofo/${name}.tar.gz";
     sha256 = "1wx3s0718rmhdzdwyi8hgpf2s92sk3hijy8f4glrmnjpiihr2la6";
   };
+
   propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng ];
   nativeBuildInputs = [ cmake ];
   buildInputs = [ lua5 stdenv.gcc.libc ];
@@ -17,6 +19,15 @@ stdenv.mkDerivation rec {
       lua5.crossDrv stdenv.gccCross.libc ];
   };
 
+  # fix finding freetype-2.5
+  preConfigure = ''
+    substituteInPlace ./CMakeLists.txt \
+      --replace FREETYPE_INCLUDE_DIR FREETYPE_INCLUDE_DIRS \
+      --replace 'FIND_PACKAGE(FREETYPE' 'FIND_PACKAGE(Freetype'
+
+    rm ./cmake/modules/Find{FREETYPE,ZLIB,PkgConfig}.cmake
+  '';
+
   cmakeFlags = "-DPODOFO_BUILD_SHARED=ON -DPODOFO_BUILD_STATIC=OFF";
 
   meta = {
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 9d1f0d18c1a..6da928a6a23 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,61 +1,70 @@
-{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, gettext
-, gobjectIntrospection
+{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey
+, gobjectIntrospection, libxslt, docbook_xsl
 , useSystemd ? stdenv.isLinux, systemd }:
 
 let
 
   system = "/var/run/current-system/sw";
+  setuid = "/var/setuid-wrappers"; #TODO: from <nixos> config.security.wrapperDir;
 
   foolVars = {
-    LOCALSTATE = "/var";
     SYSCONF = "/etc";
-    LIB = "${system}/lib";
-    DATA = "${system}/share";
+    DATA = "${system}/share"; # to find share/polkit-1/actions of other apps at runtime
   };
 
 in
 
 stdenv.mkDerivation rec {
-  name = "polkit-0.105";
+  name = "polkit-0.112";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/polkit/releases/${name}.tar.gz";
-    sha256 = "1pz1hn4z0f1wk4f7w8q1g6ygwan1b6kxmfad3b7gql27pb47rp4g";
+    sha256 = "1xkary7yirdcjdva950nqyhmsz48qhrdsr78zciahj27p8yg95fn";
   };
 
   buildInputs =
-    [ pkgconfig glib expat pam intltool gobjectIntrospection ]
+    [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ]
+    ++ [ libxslt docbook_xsl ] # man pages
     ++ stdenv.lib.optional useSystemd systemd;
 
-  configureFlags = "--libexecdir=$(out)/libexec/polkit-1";
-
   # Ugly hack to overwrite hardcoded directories
   # TODO: investigate a proper patch which will be accepted upstream
+  # After update it's good to check the sources via:
+  #   grep '\<PACKAGE_' '--include=*.[ch]' -R
   CFLAGS = stdenv.lib.concatStringsSep " "
     ( map (var: ''-DPACKAGE_${var}_DIR=\""${builtins.getAttr var foolVars}"\"'')
         (builtins.attrNames foolVars) );
 
-  preBuild =
-    ''
-      # ‘libpolkit-agent-1.so’ should call the setuid wrapper on
-      # NixOS.  Hard-coding the path is kinda ugly.  Maybe we can just
-      # call through $PATH, but that might have security implications.
-      substituteInPlace src/polkitagent/polkitagentsession.c \
-        --replace PACKAGE_LIBEXEC_DIR '"/var/setuid-wrappers"'
-    '';
+  preConfigure = ''
+    patchShebangs .
+  '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
+    sed '/libsystemd-login autoconfigured, but system does not appear to use systemd/s/.*/:/' -i configure
+  ''
+    # ‘libpolkit-agent-1.so’ should call the setuid wrapper on
+    # NixOS.  Hard-coding the path is kinda ugly.  Maybe we can just
+    # call through $PATH, but that might have security implications.
+  + ''
+    substituteInPlace src/polkitagent/polkitagentsession.c \
+      --replace   'PACKAGE_PREFIX "/lib/polkit-1/'   '"${setuid}/'
+  '';
+
+  configureFlags = [
+    #"--libexecdir=$(out)/libexec/polkit-1" # this and localstatedir are ignored by configure
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
+    "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS
+    "--enable-introspection"
+  ];
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0 INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
 
-  makeFlags =
-    ''
-      INTROSPECTION_GIRDIR=$(out)/share/gir-1.0
-      INTROSPECTION_TYPELIBDIR=$(out)lib/girepository-1.0
-    '';
+  # The following is required on grsecurity/PaX due to spidermonkey's JIT
+  postBuild = ''
+    paxmark mr src/polkitbackend/.libs/polkitd
+    paxmark mr test/polkitbackend/.libs/polkitbackendjsauthoritytest
+  '';
 
-  postInstall =
-    ''
-      # Allow some files with paranoid permissions to be stripped in
-      # the fixup phase.
-      chmod a+rX -R $out
-    '';
+  #doCheck = true; # some /bin/bash problem that isn't auto-solved by patchShebangs
 
   meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/polkit;
diff --git a/pkgs/development/libraries/poppler/0.18.nix b/pkgs/development/libraries/poppler/0.18.nix
deleted file mode 100644
index 123d229f2ba..00000000000
--- a/pkgs/development/libraries/poppler/0.18.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ fetchurl, stdenv, cairo, freetype, fontconfig, zlib
-, libjpeg, curl, libpthreadstubs, xorg, openjpeg
-, libxml2, pkgconfig, cmake, lcms, libiconvOrEmpty
-, glibSupport ? false, glib, gtk3Support ? false, gtk3 # gtk2 no longer accepted
-, qt4Support ? false, qt4 ? null
-}:
-
-stdenv.mkDerivation rec {
-  name = "poppler-0.18.4";
-
-  src = fetchurl {
-    url = "${meta.homepage}${name}.tar.gz";
-    sha256 = "0bnl05al7mjndp2h0355946j59nfw76f5v0x57d47q68rm412hik";
-  };
-
-  propagatedBuildInputs = with xorg;
-    [ zlib cairo freetype fontconfig libjpeg lcms curl
-      libpthreadstubs libxml2 stdenv.gcc.libc
-      libXau libXdmcp libxcb libXrender libXext
-      openjpeg
-    ]
-    ++ stdenv.lib.optional glibSupport glib
-    ++ stdenv.lib.optional gtk3Support gtk3
-    ++ stdenv.lib.optional qt4Support qt4;
-
-  nativeBuildInputs = [ pkgconfig cmake ] ++ libiconvOrEmpty;
-
-  cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";
-
-  patches = [ ./datadir_env.patch ];
-
-  # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files
-  # such as `../../../test/unittestcases/UseNone.pdf'.
-  #doCheck = !qt4Support;
-  checkTarget = "test";
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://poppler.freedesktop.org/;
-    description = "Poppler, a PDF rendering library";
-
-    longDescription = ''
-      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
-    '';
-
-    platforms = if qt4Support
-      then qt4.meta.platforms
-      else stdenv.lib.platforms.all;
-
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 9cd094855d2..083c9bae6b5 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "0.24.1"; # even major numbers are stable
-  sha256 = "1ipzirrh5ppkq99zb59xpfg5j2fgc8mr569r1cmxjjqql0dc1vsw";
+  version = "0.26.3"; # even major numbers are stable
+  sha256 = "1ca2lrwvhxzq0g4blbvq099vyydfjyz839jki301p1jgazrimjw8";
 
   qtcairo_patches =
-    let qtcairo = fetchgit { # the version for poppler-0.22
+    let qtcairo = fetchgit { # the version for poppler-0.24
       url = "git://github.com/giddie/poppler-qt4-cairo-backend.git";
-      rev = "ad9a9ba0628df33522f4b7722cb0cd027269babe";
-      sha256 = "072p7x9902avg2r1ma5br97q8nm8sbk19y0qi4b4g9x2xj2fpajq";
+      rev = "7b9e1ea763b579e635ee7614b10970b9635841cf";
+      sha256 = "0cdq0qw1sm6mxnrhmah4lfsd9wjlcdx86iyikwmjpwdmrkjk85r2";
     }; in
       [ "${qtcairo}/0001-Cairo-backend-added-to-Qt4-wrapper.patch"
         "${qtcairo}/0002-Setting-default-Qt4-backend-to-Cairo.patch"
@@ -32,7 +32,7 @@ let
 
     cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";
 
-    patches = [ ./datadir_env.patch ];
+    patches = [ ./datadir_env.patch ./poppler-glib.patch ];
 
     # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files
     # such as `../../../test/unittestcases/UseNone.pdf'.
@@ -49,7 +49,7 @@ let
         Poppler is a PDF rendering library based on the xpdf-3.0 code base.
       '';
 
-      license = "GPLv2";
+      license = stdenv.lib.licenses.gpl2;
       platforms = stdenv.lib.platforms.all;
     };
   } merge ]); # poppler_drv
@@ -66,7 +66,11 @@ let
     propagatedBuildInputs = [ qt4 poppler_glib ];
     patches = qtcairo_patches;
     NIX_LDFLAGS = "-lpoppler";
-    postConfigure = "cd qt4";
+    postConfigure = ''
+      mkdir -p "$out/lib/pkgconfig"
+      install -c -m 644 poppler-qt4.pc "$out/lib/pkgconfig"
+      cd qt4
+    '';
   };
 
 in { inherit poppler_glib poppler_qt4; } // poppler_glib
diff --git a/pkgs/development/libraries/poppler/poppler-glib.patch b/pkgs/development/libraries/poppler/poppler-glib.patch
new file mode 100644
index 00000000000..09f5a145b84
--- /dev/null
+++ b/pkgs/development/libraries/poppler/poppler-glib.patch
@@ -0,0 +1,19 @@
+diff -rupN a/poppler-glib.pc.cmake b/poppler-glib.pc.cmake
+--- a/poppler-glib.pc.cmake	2013-08-17 01:20:41.000000001 +0200
++++ b/poppler-glib.pc.cmake	2014-01-01 09:30:50.000000001 +0100
+@@ -10,4 +10,4 @@ Requires: glib-2.0 >= @GLIB_REQUIRED@ go
+ @PC_REQUIRES_PRIVATE@
+ 
+ Libs: -L${libdir} -lpoppler-glib
+-Cflags: -I${includedir}/poppler/glib
++Cflags: -I${includedir}/poppler/glib -I${includedir}/poppler
+diff -rupN a/poppler-glib.pc.in b/poppler-glib.pc.in
+--- a/poppler-glib.pc.in	2013-08-17 01:20:41.000000001 +0200
++++ b/poppler-glib.pc.in	2014-01-01 09:27:17.000000001 +0100
+@@ -10,4 +10,5 @@ Requires: glib-2.0 >= @GLIB_REQUIRED@ go
+ @PC_REQUIRES_PRIVATE@
+ 
+ Libs: -L${libdir} -lpoppler-glib
+-Cflags: -I${includedir}/poppler/glib
++Cflags: -I${includedir}/poppler/glib -I${includedir}/poppler
++
diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix
index 34d5bac6adb..46d51281401 100644
--- a/pkgs/development/libraries/portaudio/default.nix
+++ b/pkgs/development/libraries/portaudio/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, alsaLib, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "portaudio-19-20111121";
+  name = "portaudio-19-20140130";
   
   src = fetchurl {
-    url = http://www.portaudio.com/archives/pa_stable_v19_20111121.tgz;
-    sha256 = "168vmcag3c5y3zwf7h5298ydh83g72q5bznskrw9cr2h1lrx29lw";
+    url = http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz;
+    sha256 = "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g";
   };
 
   buildInputs = [ pkgconfig ]
@@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
     cp -r lib "$out"
   '' else ''
     make install
+
+    # fixup .pc file to find alsa library
+    sed -i "s|-lasound|-L${alsaLib}/lib -lasound|" "$out/lib/pkgconfig/"*.pc
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index b4c8a7f1789..acf760f4f79 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -107,7 +107,7 @@ let
     meta = {
       description = "Geographic Objects for PostgreSQL";
       homepage = "http://postgis.refractions.net";
-      license = "GPLv2";
+      license = stdenv.lib.licenses.gpl2;
       maintainers = [stdenv.lib.maintainers.marcweber];
       platforms = stdenv.lib.platforms.linux;
     };
@@ -148,4 +148,3 @@ in rec {
   });
 
 }
-
diff --git a/pkgs/development/libraries/ppl/default.nix b/pkgs/development/libraries/ppl/default.nix
index 2ba6b5cb907..f93eee674ff 100644
--- a/pkgs/development/libraries/ppl/default.nix
+++ b/pkgs/development/libraries/ppl/default.nix
@@ -1,19 +1,25 @@
 { fetchurl, stdenv, gmpxx, perl, gnum4 }:
 
-let version = "0.11.2"; in
+let version = "1.0"; in
 
 stdenv.mkDerivation rec {
   name = "ppl-${version}";
 
   src = fetchurl {
     url = "http://bugseng.com/products/ppl/download/ftp/releases/${version}/ppl-${version}.tar.bz2";
-    sha256 = "1sxviip4yk6gp453pid5scy1ba66dzdpr02i1416yk7lkv0x3yz3";
+    sha256 = "0m0b6dzablci8mlavpsmn5w1v3r46li0wpjwvsybgxx0p1ifjsf1";
   };
 
   nativeBuildInputs = [ perl gnum4 ];
   propagatedBuildInputs = [ gmpxx ];
 
-  configureFlags = "--disable-watchdog";
+  configureFlags = [ "--disable-watchdog" ] ++
+    stdenv.lib.optionals stdenv.isDarwin [
+      "CPPFLAGS=-fexceptions"
+      "--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips"
+    ];
+
+  patches = [ ./upstream-based.patch ];
 
   # Beware!  It took ~6 hours to compile PPL and run its tests on a 1.2 GHz
   # x86_64 box.  Nevertheless, being a dependency of GCC, it probably ought
@@ -40,9 +46,9 @@ stdenv.mkDerivation rec {
       version of the simplex algorithm.
     '';
 
-    homepage = http://www.cs.unipr.it/ppl/;
+    homepage = http://bugseng.com/products/ppl/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/ppl/upstream-based.patch b/pkgs/development/libraries/ppl/upstream-based.patch
new file mode 100644
index 00000000000..551050f67bf
--- /dev/null
+++ b/pkgs/development/libraries/ppl/upstream-based.patch
@@ -0,0 +1,42 @@
+https://bugs.gentoo.org/show_bug.cgi?id=447928
+--- ppl-1.0/src/p_std_bits.cc.org	2012-12-30 00:37:03.033948083 +0100
++++ ppl-1.0/src/mp_std_bits.cc	2012-12-30 00:44:12.893019313 +0100
+@@ -25,6 +25,9 @@
+ #include "ppl-config.h"
+ #include "mp_std_bits.defs.hh"
+ 
++#if __GNU_MP_VERSION < 5 \
++  || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ const bool std::numeric_limits<mpz_class>::is_specialized;
+ const int std::numeric_limits<mpz_class>::digits;
+ const int std::numeric_limits<mpz_class>::digits10;
+@@ -70,3 +73,6 @@
+ const bool std::numeric_limits<mpq_class>::traps;
+ const bool std::numeric_limits<mpq_class>::tininess_before;
+ const std::float_round_style std::numeric_limits<mpq_class>::round_style;
++
++#endif // __GNU_MP_VERSION < 5
++       // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+--- ppl-1.0/src/mp_std_bits.defs.hh.org	2012-12-30 00:37:03.037948187 +0100
++++ ppl-1.0/src/mp_std_bits.defs.hh	2012-12-30 00:42:32.002424189 +0100
+@@ -38,6 +38,9 @@
+ #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+ void swap(mpq_class& x, mpq_class& y);
+ 
++#if __GNU_MP_VERSION < 5 \
++  || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ namespace std {
+ 
+ #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+@@ -164,6 +167,9 @@
+ 
+ } // namespace std
+ 
++#endif // __GNU_MP_VERSION < 5
++       // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ #include "mp_std_bits.inlines.hh"
+ 
+ #endif // !defined(PPL_mp_std_bits_defs_hh)
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index 6e3cc7cac55..17c05ada7a8 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Cartographic Projections Library";
     homepage = http://proj.maptools.org;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix
index 57dc58bdfa1..bba8481780a 100644
--- a/pkgs/development/libraries/protobuf/default.nix
+++ b/pkgs/development/libraries/protobuf/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "protobuf-2.4.1";
+  name = "protobuf-2.5.0";
 
   src = fetchurl {
     url = "http://protobuf.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "1gxhfhk37jyjq1z4y3d4bz4i1fk2an5ydhk5kjzlp0rhfcs5516g";
+    sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/ptlib/bison.patch b/pkgs/development/libraries/ptlib/bison.patch
new file mode 100644
index 00000000000..58593470c21
--- /dev/null
+++ b/pkgs/development/libraries/ptlib/bison.patch
@@ -0,0 +1,2887 @@
+--- a/src/ptlib/common/getdate.tab.c	(revision 0)
++++ b/src/ptlib/common/getdate.tab.c	(revision 31087)
+@@ -0,0 +1,2884 @@
++/* A Bison parser, made by GNU Bison 2.7.12-4996.  */
++
++/* Bison implementation for Yacc-like parsers in C
++   
++      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
++   
++   This program is free software: you can redistribute it and/or modify
++   it under the terms of the GNU General Public License as published by
++   the Free Software Foundation, either version 3 of the License, or
++   (at your option) any later version.
++   
++   This program is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++   GNU General Public License for more details.
++   
++   You should have received a copy of the GNU General Public License
++   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
++
++/* As a special exception, you may create a larger work that contains
++   part or all of the Bison parser skeleton and distribute that work
++   under terms of your choice, so long as that work isn't itself a
++   parser generator using the skeleton or a modified version thereof
++   as a parser skeleton.  Alternatively, if you modify or redistribute
++   the parser skeleton itself, you may (at your option) remove this
++   special exception, which will cause the skeleton and the resulting
++   Bison output files to be licensed under the GNU General Public
++   License without this special exception.
++   
++   This special exception was added by the Free Software Foundation in
++   version 2.2 of Bison.  */
++
++/* C LALR(1) parser skeleton written by Richard Stallman, by
++   simplifying the original so-called "semantic" parser.  */
++
++/* All symbols defined below should begin with yy or YY, to avoid
++   infringing on user name space.  This should be done even for local
++   variables, as they might otherwise be expanded by user macros.
++   There are some unavoidable exceptions within include files to
++   define necessary library symbols; they are noted "INFRINGES ON
++   USER NAME SPACE" below.  */
++
++/* Identify Bison output.  */
++#define YYBISON 1
++
++/* Bison version.  */
++#define YYBISON_VERSION "2.7.12-4996"
++
++/* Skeleton name.  */
++#define YYSKELETON_NAME "yacc.c"
++
++/* Pure parsers.  */
++#define YYPURE 1
++
++/* Push parsers.  */
++#define YYPUSH 0
++
++/* Pull parsers.  */
++#define YYPULL 1
++
++
++
++
++/* Copy the first part of user declarations.  */
++/* Line 371 of yacc.c  */
++#line 1 "ptlib/common/getdate.y"
++
++/*
++**  Originally written by Steven M. Bellovin <smb@research.att.com> while
++**  at the University of North Carolina at Chapel Hill.  Later tweaked by
++**  a couple of people on Usenet.  Completely overhauled by Rich $alz
++**  <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990;
++**
++**  Major hack to coerce it into use with the Equivalence Portable
++**  Windows Library.
++**
++**  This grammar has 10 shift/reduce conflicts.
++**
++**  This code is in the public domain and has no copyright.
++*/
++/* SUPPRESS 287 on yaccpar_sccsid *//* Unused static variable */
++/* SUPPRESS 288 on yyerrlab *//* Label unused */
++
++
++#include <time.h>
++#include <string.h>
++#include <ctype.h>
++#include <stdlib.h>
++
++#ifndef EOF
++#include <stdio.h>
++#endif
++
++
++#ifdef _WIN32
++#ifdef _MSC_VER
++#pragma warning(disable:4131 4701 4996)
++#endif
++#define STDAPICALLTYPE __stdcall
++#define MSDOS
++#else
++#define STDAPICALLTYPE
++#endif
++
++
++extern int  STDAPICALLTYPE PTimeGetChar(void * stream);
++extern void STDAPICALLTYPE PTimeUngetChar(void * stream, int c);
++int STDAPICALLTYPE PTimeGetDateOrder();
++int STDAPICALLTYPE PTimeIsMonthName(const char *, int, int);
++int STDAPICALLTYPE PTimeIsDayName(const char *, int, int);
++
++
++#define EPOCH		1970
++#define HOUR(x)		((time_t)(x) * 60)
++#define SECSPERDAY	(24L * 60L * 60L)
++
++
++/*
++**  An entry in the lexical lookup table.
++*/
++typedef struct _TABLE {
++    char	*name;
++    int		type;
++    time_t	value;
++} TABLE;
++
++
++/*
++**  Daylight-savings mode:  on, off, or not yet known.
++*/
++typedef enum _DSTMODE {
++    DSTon, DSToff, DSTmaybe
++} DSTMODE;
++
++/*
++**  Meridian:  am, pm, or 24-hour style.
++*/
++typedef enum _MERIDIAN {
++    MERam, MERpm, MER24
++} MERIDIAN;
++
++
++/*
++**  Global variables.  We could get rid of most of these by using a good
++**  union as the yacc stack.  (This routine was originally written before
++**  yacc had the %union construct.)  Maybe someday; right now we only use
++**  the %union very rarely.
++*/
++struct Variables {
++    void	*yyInput;
++    DSTMODE	yyDSTmode;
++    time_t	yyDayOrdinal;
++    time_t	yyDayNumber;
++    int	yyHaveDate;
++    int	yyHaveDay;
++    int	yyHaveRel;
++    int	yyHaveTime;
++    int	yyHaveZone;
++    time_t	yyTimezone;
++    time_t	yyDay;
++    time_t	yyHour;
++    time_t	yyMinutes;
++    time_t	yyMonth;
++    time_t	yySeconds;
++    time_t	yyYear;
++    MERIDIAN	yyMeridian;
++    time_t	yyRelMonth;
++    time_t	yyRelSeconds;
++};
++
++#define VARIABLE ((struct Variables*)parseParam)
++
++
++#define YYPURE		1
++#define YYLEX_PARAM	VARIABLE
++#define YYPARSE_PARAM	parseParam
++
++#define yyparse		PTime_yyparse
++#define yylex		PTime_yylex
++#define yyerror		PTime_yyerror
++
++#define GCC_VERSION (__GNUC__ * 10000 \
++                    + __GNUC_MINOR__ * 100 \
++                    + __GNUC_PATCHLEVEL__)
++
++static int yyparse(void *); 
++static int yylex();
++
++#ifdef __GNUC__
++static int yyerror(char const *msg);
++#else
++static void yyerror(char const *msg);
++#endif
++
++
++static void SetPossibleDate(struct Variables*, time_t, time_t, time_t);
++
++
++
++/* Line 371 of yacc.c  */
++#line 202 "ptlib/common/getdate.tab.c"
++
++# ifndef YY_NULL
++#  if defined __cplusplus && 201103L <= __cplusplus
++#   define YY_NULL nullptr
++#  else
++#   define YY_NULL 0
++#  endif
++# endif
++
++/* Enabling verbose error messages.  */
++#ifdef YYERROR_VERBOSE
++# undef YYERROR_VERBOSE
++# define YYERROR_VERBOSE 1
++#else
++# define YYERROR_VERBOSE 0
++#endif
++
++
++/* Enabling traces.  */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int yydebug;
++#endif
++
++/* Tokens.  */
++#ifndef YYTOKENTYPE
++# define YYTOKENTYPE
++   /* Put the tokens into the symbol table, so that GDB and other debuggers
++      know about them.  */
++   enum yytokentype {
++     tAGO = 258,
++     tDAY = 259,
++     tDAYZONE = 260,
++     tID = 261,
++     tMERIDIAN = 262,
++     tMINUTE_UNIT = 263,
++     tMONTH = 264,
++     tMONTH_UNIT = 265,
++     tSNUMBER = 266,
++     tS4DIGITNUMBER = 267,
++     tUNUMBER = 268,
++     t4DIGITNUMBER = 269,
++     t6DIGITNUMBER = 270,
++     t8DIGITNUMBER = 271,
++     tSEC_UNIT = 272,
++     tZONE = 273,
++     tMILZONE = 274,
++     tRFC3339 = 275,
++     tDST = 276
++   };
++#endif
++
++
++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
++typedef union YYSTYPE
++{
++/* Line 387 of yacc.c  */
++#line 137 "ptlib/common/getdate.y"
++
++    time_t		Number;
++    enum _MERIDIAN	Meridian;
++
++
++/* Line 387 of yacc.c  */
++#line 269 "ptlib/common/getdate.tab.c"
++} YYSTYPE;
++# define YYSTYPE_IS_TRIVIAL 1
++# define yystype YYSTYPE /* obsolescent; will be withdrawn */
++# define YYSTYPE_IS_DECLARED 1
++#endif
++
++
++#ifdef YYPARSE_PARAM
++#if defined __STDC__ || defined __cplusplus
++int yyparse (void *YYPARSE_PARAM);
++#else
++int yyparse ();
++#endif
++#else /* ! YYPARSE_PARAM */
++#if defined __STDC__ || defined __cplusplus
++int yyparse (void);
++#else
++int yyparse ();
++#endif
++#endif /* ! YYPARSE_PARAM */
++
++
++
++/* Copy the second part of user declarations.  */
++
++/* Line 390 of yacc.c  */
++#line 296 "ptlib/common/getdate.tab.c"
++
++#ifdef short
++# undef short
++#endif
++
++#ifdef YYTYPE_UINT8
++typedef YYTYPE_UINT8 yytype_uint8;
++#else
++typedef unsigned char yytype_uint8;
++#endif
++
++#ifdef YYTYPE_INT8
++typedef YYTYPE_INT8 yytype_int8;
++#elif (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++typedef signed char yytype_int8;
++#else
++typedef short int yytype_int8;
++#endif
++
++#ifdef YYTYPE_UINT16
++typedef YYTYPE_UINT16 yytype_uint16;
++#else
++typedef unsigned short int yytype_uint16;
++#endif
++
++#ifdef YYTYPE_INT16
++typedef YYTYPE_INT16 yytype_int16;
++#else
++typedef short int yytype_int16;
++#endif
++
++#ifndef YYSIZE_T
++# ifdef __SIZE_TYPE__
++#  define YYSIZE_T __SIZE_TYPE__
++# elif defined size_t
++#  define YYSIZE_T size_t
++# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++#  define YYSIZE_T size_t
++# else
++#  define YYSIZE_T unsigned int
++# endif
++#endif
++
++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
++
++#ifndef YY_
++# if defined YYENABLE_NLS && YYENABLE_NLS
++#  if ENABLE_NLS
++#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
++#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
++#  endif
++# endif
++# ifndef YY_
++#  define YY_(Msgid) Msgid
++# endif
++#endif
++
++#ifndef __attribute__
++/* This feature is available in gcc versions 2.5 and later.  */
++# if (! defined __GNUC__ || __GNUC__ < 2 \
++      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
++#  define __attribute__(Spec) /* empty */
++# endif
++#endif
++
++/* Suppress unused-variable warnings by "using" E.  */
++#if ! defined lint || defined __GNUC__
++# define YYUSE(E) ((void) (E))
++#else
++# define YYUSE(E) /* empty */
++#endif
++
++
++/* Identity function, used to suppress warnings about constant conditions.  */
++#ifndef lint
++# define YYID(N) (N)
++#else
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static int
++YYID (int yyi)
++#else
++static int
++YYID (yyi)
++    int yyi;
++#endif
++{
++  return yyi;
++}
++#endif
++
++#if ! defined yyoverflow || YYERROR_VERBOSE
++
++/* The parser invokes alloca or malloc; define the necessary symbols.  */
++
++# ifdef YYSTACK_USE_ALLOCA
++#  if YYSTACK_USE_ALLOCA
++#   ifdef __GNUC__
++#    define YYSTACK_ALLOC __builtin_alloca
++#   elif defined __BUILTIN_VA_ARG_INCR
++#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
++#   elif defined _AIX
++#    define YYSTACK_ALLOC __alloca
++#   elif defined _MSC_VER
++#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
++#    define alloca _alloca
++#   else
++#    define YYSTACK_ALLOC alloca
++#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
++#     ifndef EXIT_SUCCESS
++#      define EXIT_SUCCESS 0
++#     endif
++#    endif
++#   endif
++#  endif
++# endif
++
++# ifdef YYSTACK_ALLOC
++   /* Pacify GCC's `empty if-body' warning.  */
++#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
++#  ifndef YYSTACK_ALLOC_MAXIMUM
++    /* The OS might guarantee only one guard page at the bottom of the stack,
++       and a page size can be as small as 4096 bytes.  So we cannot safely
++       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
++       to allow for a few compiler-allocated temporary stack slots.  */
++#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
++#  endif
++# else
++#  define YYSTACK_ALLOC YYMALLOC
++#  define YYSTACK_FREE YYFREE
++#  ifndef YYSTACK_ALLOC_MAXIMUM
++#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
++#  endif
++#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
++       && ! ((defined YYMALLOC || defined malloc) \
++	     && (defined YYFREE || defined free)))
++#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++#   ifndef EXIT_SUCCESS
++#    define EXIT_SUCCESS 0
++#   endif
++#  endif
++#  ifndef YYMALLOC
++#   define YYMALLOC malloc
++#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++#   endif
++#  endif
++#  ifndef YYFREE
++#   define YYFREE free
++#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++void free (void *); /* INFRINGES ON USER NAME SPACE */
++#   endif
++#  endif
++# endif
++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
++
++
++#if (! defined yyoverflow \
++     && (! defined __cplusplus \
++	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++
++/* A type that is properly aligned for any stack member.  */
++union yyalloc
++{
++  yytype_int16 yyss_alloc;
++  YYSTYPE yyvs_alloc;
++};
++
++/* The size of the maximum gap between one aligned stack and the next.  */
++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
++
++/* The size of an array large to enough to hold all stacks, each with
++   N elements.  */
++# define YYSTACK_BYTES(N) \
++     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
++      + YYSTACK_GAP_MAXIMUM)
++
++# define YYCOPY_NEEDED 1
++
++/* Relocate STACK from its old location to the new one.  The
++   local variables YYSIZE and YYSTACKSIZE give the old and new number of
++   elements in the stack, and YYPTR gives the new location of the
++   stack.  Advance YYPTR to a properly aligned location for the next
++   stack.  */
++# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
++    do									\
++      {									\
++	YYSIZE_T yynewbytes;						\
++	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
++	Stack = &yyptr->Stack_alloc;					\
++	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
++	yyptr += yynewbytes / sizeof (*yyptr);				\
++      }									\
++    while (YYID (0))
++
++#endif
++
++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
++/* Copy COUNT objects from SRC to DST.  The source and destination do
++   not overlap.  */
++# ifndef YYCOPY
++#  if defined __GNUC__ && 1 < __GNUC__
++#   define YYCOPY(Dst, Src, Count) \
++      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
++#  else
++#   define YYCOPY(Dst, Src, Count)              \
++      do                                        \
++        {                                       \
++          YYSIZE_T yyi;                         \
++          for (yyi = 0; yyi < (Count); yyi++)   \
++            (Dst)[yyi] = (Src)[yyi];            \
++        }                                       \
++      while (YYID (0))
++#  endif
++# endif
++#endif /* !YYCOPY_NEEDED */
++
++/* YYFINAL -- State number of the termination state.  */
++#define YYFINAL  2
++/* YYLAST -- Last index in YYTABLE.  */
++#define YYLAST   105
++
++/* YYNTOKENS -- Number of terminals.  */
++#define YYNTOKENS  25
++/* YYNNTS -- Number of nonterminals.  */
++#define YYNNTS  12
++/* YYNRULES -- Number of rules.  */
++#define YYNRULES  51
++/* YYNRULES -- Number of states.  */
++#define YYNSTATES  63
++
++/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
++#define YYUNDEFTOK  2
++#define YYMAXUTOK   276
++
++#define YYTRANSLATE(YYX)						\
++  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
++
++/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
++static const yytype_uint8 yytranslate[] =
++{
++       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,    23,     2,     2,    24,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,    22,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
++       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
++      15,    16,    17,    18,    19,    20,    21
++};
++
++#if YYDEBUG
++/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
++   YYRHS.  */
++static const yytype_uint8 yyprhs[] =
++{
++       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
++      19,    22,    25,    28,    33,    38,    45,    52,    54,    56,
++      59,    61,    63,    66,    69,    73,    79,    84,    86,    90,
++      93,    98,   101,   105,   108,   110,   113,   116,   118,   121,
++     124,   126,   129,   132,   134,   136,   138,   140,   142,   144,
++     146,   147
++};
++
++/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
++static const yytype_int8 yyrhs[] =
++{
++      26,     0,    -1,    -1,    26,    27,    -1,    28,    -1,    29,
++      -1,    31,    -1,    30,    -1,    32,    -1,    35,    -1,    13,
++       7,    -1,    14,    12,    -1,    15,    12,    -1,    34,    22,
++      34,    36,    -1,    34,    22,    34,    12,    -1,    34,    22,
++      34,    22,    34,    36,    -1,    34,    22,    34,    22,    34,
++      12,    -1,    18,    -1,     5,    -1,    18,    21,    -1,    19,
++      -1,     4,    -1,     4,    23,    -1,    34,     4,    -1,    34,
++      24,    34,    -1,    34,    24,    34,    24,    34,    -1,    34,
++      11,    11,    20,    -1,    16,    -1,    34,     9,    11,    -1,
++       9,    34,    -1,     9,    34,    23,    34,    -1,    34,     9,
++      -1,    34,     9,    34,    -1,    33,     3,    -1,    33,    -1,
++      34,     8,    -1,    11,     8,    -1,     8,    -1,    11,    17,
++      -1,    34,    17,    -1,    17,    -1,    11,    10,    -1,    34,
++      10,    -1,    10,    -1,    13,    -1,    14,    -1,    15,    -1,
++      13,    -1,    14,    -1,    15,    -1,    -1,     7,    -1
++};
++
++/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
++static const yytype_uint16 yyrline[] =
++{
++       0,   153,   153,   154,   157,   160,   163,   166,   169,   172,
++     175,   181,   189,   197,   203,   210,   216,   226,   230,   235,
++     239,   249,   253,   257,   263,   266,   269,   273,   278,   282,
++     289,   294,   301,   306,   310,   313,   316,   319,   322,   325,
++     328,   331,   334,   337,   342,   345,   348,   353,   379,   390,
++     407,   410
++};
++#endif
++
++#if YYDEBUG || YYERROR_VERBOSE || 0
++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
++   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
++static const char *const yytname[] =
++{
++  "$end", "error", "$undefined", "tAGO", "tDAY", "tDAYZONE", "tID",
++  "tMERIDIAN", "tMINUTE_UNIT", "tMONTH", "tMONTH_UNIT", "tSNUMBER",
++  "tS4DIGITNUMBER", "tUNUMBER", "t4DIGITNUMBER", "t6DIGITNUMBER",
++  "t8DIGITNUMBER", "tSEC_UNIT", "tZONE", "tMILZONE", "tRFC3339", "tDST",
++  "':'", "','", "'/'", "$accept", "spec", "item", "time", "zone", "day",
++  "date", "rel", "relunit", "unumber", "number", "o_merid", YY_NULL
++};
++#endif
++
++# ifdef YYPRINT
++/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
++   token YYLEX-NUM.  */
++static const yytype_uint16 yytoknum[] =
++{
++       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
++     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
++     275,   276,    58,    44,    47
++};
++# endif
++
++/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
++static const yytype_uint8 yyr1[] =
++{
++       0,    25,    26,    26,    27,    27,    27,    27,    27,    27,
++      28,    28,    28,    28,    28,    28,    28,    29,    29,    29,
++      29,    30,    30,    30,    31,    31,    31,    31,    31,    31,
++      31,    31,    31,    32,    32,    33,    33,    33,    33,    33,
++      33,    33,    33,    33,    34,    34,    34,    35,    35,    35,
++      36,    36
++};
++
++/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
++static const yytype_uint8 yyr2[] =
++{
++       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
++       2,     2,     2,     4,     4,     6,     6,     1,     1,     2,
++       1,     1,     2,     2,     3,     5,     4,     1,     3,     2,
++       4,     2,     3,     2,     1,     2,     2,     1,     2,     2,
++       1,     2,     2,     1,     1,     1,     1,     1,     1,     1,
++       0,     1
++};
++
++/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
++   Performed when YYTABLE doesn't specify something else to do.  Zero
++   means the default is an error.  */
++static const yytype_uint8 yydefact[] =
++{
++       2,     0,     1,    21,    18,    37,     0,    43,     0,    44,
++      45,    46,    27,    40,    17,    20,     3,     4,     5,     7,
++       6,     8,    34,     0,     9,    22,    44,    45,    46,    29,
++      36,    41,    38,    10,    11,    12,    19,    33,    23,    35,
++      31,    42,     0,    39,     0,     0,     0,    28,    32,     0,
++      50,    24,    30,    26,    51,    14,     0,    13,     0,    50,
++      25,    16,    15
++};
++
++/* YYDEFGOTO[NTERM-NUM].  */
++static const yytype_int8 yydefgoto[] =
++{
++      -1,     1,    16,    17,    18,    19,    20,    21,    22,    23,
++      24,    57
++};
++
++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
++   STATE-NUM.  */
++#define YYPACT_NINF -27
++static const yytype_int8 yypact[] =
++{
++     -27,    49,   -27,   -10,   -27,   -27,   -11,   -27,     1,    10,
++      69,    86,   -27,   -27,    -9,   -27,   -27,   -27,   -27,   -27,
++     -27,   -27,    13,    -3,   -27,   -27,   -27,   -27,   -27,     8,
++     -27,   -27,   -27,   -27,   -27,   -27,   -27,   -27,   -27,   -27,
++      30,   -27,     9,   -27,   -11,   -11,   -11,   -27,   -27,    12,
++      15,    18,   -27,   -27,   -27,   -27,   -11,   -27,   -11,    23,
++     -27,   -27,   -27
++};
++
++/* YYPGOTO[NTERM-NUM].  */
++static const yytype_int8 yypgoto[] =
++{
++     -27,   -27,   -27,   -27,   -27,   -27,   -27,   -27,   -27,    -6,
++     -27,   -26
++};
++
++/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
++   positive, shift that token.  If negative, reduce the rule which
++   number is the opposite.  If YYTABLE_NINF, syntax error.  */
++#define YYTABLE_NINF -50
++static const yytype_int8 yytable[] =
++{
++      29,    38,    26,    27,    28,    39,    40,    41,    42,    30,
++     -47,    31,    36,    25,    43,   -47,    37,    33,    32,    44,
++      49,    45,    54,   -47,   -47,   -47,   -47,    55,   -47,   -47,
++      54,    46,    53,    62,    48,    61,     0,    56,    50,    51,
++      52,    47,    58,    26,    27,    28,     0,     0,     0,     2,
++      59,     0,    60,     3,     4,     0,     0,     5,     6,     7,
++       8,     0,     9,    10,    11,    12,    13,    14,    15,   -48,
++       0,     0,     0,     0,   -48,     0,     0,     0,     0,     0,
++       0,    34,   -48,   -48,   -48,   -48,   -49,   -48,   -48,     0,
++       0,   -49,     0,     0,     0,     0,     0,     0,    35,   -49,
++     -49,   -49,   -49,     0,   -49,   -49
++};
++
++#define yypact_value_is_default(Yystate) \
++  (!!((Yystate) == (-27)))
++
++#define yytable_value_is_error(Yytable_value) \
++  YYID (0)
++
++static const yytype_int8 yycheck[] =
++{
++       6,     4,    13,    14,    15,     8,     9,    10,    11,     8,
++       0,    10,    21,    23,    17,     5,     3,     7,    17,    22,
++      11,    24,     7,    13,    14,    15,    16,    12,    18,    19,
++       7,    23,    20,    59,    40,    12,    -1,    22,    44,    45,
++      46,    11,    24,    13,    14,    15,    -1,    -1,    -1,     0,
++      56,    -1,    58,     4,     5,    -1,    -1,     8,     9,    10,
++      11,    -1,    13,    14,    15,    16,    17,    18,    19,     0,
++      -1,    -1,    -1,    -1,     5,    -1,    -1,    -1,    -1,    -1,
++      -1,    12,    13,    14,    15,    16,     0,    18,    19,    -1,
++      -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,    12,    13,
++      14,    15,    16,    -1,    18,    19
++};
++
++/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
++   symbol of state STATE-NUM.  */
++static const yytype_uint8 yystos[] =
++{
++       0,    26,     0,     4,     5,     8,     9,    10,    11,    13,
++      14,    15,    16,    17,    18,    19,    27,    28,    29,    30,
++      31,    32,    33,    34,    35,    23,    13,    14,    15,    34,
++       8,    10,    17,     7,    12,    12,    21,     3,     4,     8,
++       9,    10,    11,    17,    22,    24,    23,    11,    34,    11,
++      34,    34,    34,    20,     7,    12,    22,    36,    24,    34,
++      34,    12,    36
++};
++
++#define yyerrok		(yyerrstatus = 0)
++#define yyclearin	(yychar = YYEMPTY)
++#define YYEMPTY		(-2)
++#define YYEOF		0
++
++#define YYACCEPT	goto yyacceptlab
++#define YYABORT		goto yyabortlab
++#define YYERROR		goto yyerrorlab
++
++
++/* Like YYERROR except do call yyerror.  This remains here temporarily
++   to ease the transition to the new meaning of YYERROR, for GCC.
++   Once GCC version 2 has supplanted version 1, this can go.  However,
++   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
++   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
++   discussed.  */
++
++#define YYFAIL		goto yyerrlab
++#if defined YYFAIL
++  /* This is here to suppress warnings from the GCC cpp's
++     -Wunused-macros.  Normally we don't worry about that warning, but
++     some users do, and we want to make it easy for users to remove
++     YYFAIL uses, which will produce warnings from Bison 2.5.  */
++#endif
++
++#define YYRECOVERING()  (!!yyerrstatus)
++
++#define YYBACKUP(Token, Value)                                  \
++do                                                              \
++  if (yychar == YYEMPTY)                                        \
++    {                                                           \
++      yychar = (Token);                                         \
++      yylval = (Value);                                         \
++      YYPOPSTACK (yylen);                                       \
++      yystate = *yyssp;                                         \
++      goto yybackup;                                            \
++    }                                                           \
++  else                                                          \
++    {                                                           \
++      yyerror (YY_("syntax error: cannot back up")); \
++      YYERROR;							\
++    }								\
++while (YYID (0))
++
++/* Error token number */
++#define YYTERROR	1
++#define YYERRCODE	256
++
++
++/* This macro is provided for backward compatibility. */
++#ifndef YY_LOCATION_PRINT
++# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
++#endif
++
++
++/* YYLEX -- calling `yylex' with the right arguments.  */
++#ifdef YYLEX_PARAM
++# define YYLEX yylex (&yylval, YYLEX_PARAM)
++#else
++# define YYLEX yylex (&yylval)
++#endif
++
++/* Enable debugging if requested.  */
++#if YYDEBUG
++
++# ifndef YYFPRINTF
++#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
++#  define YYFPRINTF fprintf
++# endif
++
++# define YYDPRINTF(Args)			\
++do {						\
++  if (yydebug)					\
++    YYFPRINTF Args;				\
++} while (YYID (0))
++
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
++do {									  \
++  if (yydebug)								  \
++    {									  \
++      YYFPRINTF (stderr, "%s ", Title);					  \
++      yy_symbol_print (stderr,						  \
++		  Type, Value); \
++      YYFPRINTF (stderr, "\n");						  \
++    }									  \
++} while (YYID (0))
++
++
++/*--------------------------------.
++| Print this symbol on YYOUTPUT.  |
++`--------------------------------*/
++
++/*ARGSUSED*/
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static void
++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
++#else
++static void
++yy_symbol_value_print (yyoutput, yytype, yyvaluep)
++    FILE *yyoutput;
++    int yytype;
++    YYSTYPE const * const yyvaluep;
++#endif
++{
++  FILE *yyo = yyoutput;
++  YYUSE (yyo);
++  if (!yyvaluep)
++    return;
++# ifdef YYPRINT
++  if (yytype < YYNTOKENS)
++    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
++# else
++  YYUSE (yyoutput);
++# endif
++  YYUSE (yytype);
++}
++
++
++/*--------------------------------.
++| Print this symbol on YYOUTPUT.  |
++`--------------------------------*/
++
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static void
++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
++#else
++static void
++yy_symbol_print (yyoutput, yytype, yyvaluep)
++    FILE *yyoutput;
++    int yytype;
++    YYSTYPE const * const yyvaluep;
++#endif
++{
++  if (yytype < YYNTOKENS)
++    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
++  else
++    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
++
++  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
++  YYFPRINTF (yyoutput, ")");
++}
++
++/*------------------------------------------------------------------.
++| yy_stack_print -- Print the state stack from its BOTTOM up to its |
++| TOP (included).                                                   |
++`------------------------------------------------------------------*/
++
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static void
++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
++#else
++static void
++yy_stack_print (yybottom, yytop)
++    yytype_int16 *yybottom;
++    yytype_int16 *yytop;
++#endif
++{
++  YYFPRINTF (stderr, "Stack now");
++  for (; yybottom <= yytop; yybottom++)
++    {
++      int yybot = *yybottom;
++      YYFPRINTF (stderr, " %d", yybot);
++    }
++  YYFPRINTF (stderr, "\n");
++}
++
++# define YY_STACK_PRINT(Bottom, Top)				\
++do {								\
++  if (yydebug)							\
++    yy_stack_print ((Bottom), (Top));				\
++} while (YYID (0))
++
++
++/*------------------------------------------------.
++| Report that the YYRULE is going to be reduced.  |
++`------------------------------------------------*/
++
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static void
++yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
++#else
++static void
++yy_reduce_print (yyvsp, yyrule)
++    YYSTYPE *yyvsp;
++    int yyrule;
++#endif
++{
++  int yynrhs = yyr2[yyrule];
++  int yyi;
++  unsigned long int yylno = yyrline[yyrule];
++  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
++	     yyrule - 1, yylno);
++  /* The symbols being reduced.  */
++  for (yyi = 0; yyi < yynrhs; yyi++)
++    {
++      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
++      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
++		       &(yyvsp[(yyi + 1) - (yynrhs)])
++		       		       );
++      YYFPRINTF (stderr, "\n");
++    }
++}
++
++# define YY_REDUCE_PRINT(Rule)		\
++do {					\
++  if (yydebug)				\
++    yy_reduce_print (yyvsp, Rule); \
++} while (YYID (0))
++
++/* Nonzero means print parse trace.  It is left uninitialized so that
++   multiple parsers can coexist.  */
++int yydebug;
++#else /* !YYDEBUG */
++# define YYDPRINTF(Args)
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
++# define YY_STACK_PRINT(Bottom, Top)
++# define YY_REDUCE_PRINT(Rule)
++#endif /* !YYDEBUG */
++
++
++/* YYINITDEPTH -- initial size of the parser's stacks.  */
++#ifndef	YYINITDEPTH
++# define YYINITDEPTH 200
++#endif
++
++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
++   if the built-in stack extension method is used).
++
++   Do not make this value too large; the results are undefined if
++   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
++   evaluated with infinite-precision integer arithmetic.  */
++
++#ifndef YYMAXDEPTH
++# define YYMAXDEPTH 10000
++#endif
++
++
++#if YYERROR_VERBOSE
++
++# ifndef yystrlen
++#  if defined __GLIBC__ && defined _STRING_H
++#   define yystrlen strlen
++#  else
++/* Return the length of YYSTR.  */
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static YYSIZE_T
++yystrlen (const char *yystr)
++#else
++static YYSIZE_T
++yystrlen (yystr)
++    const char *yystr;
++#endif
++{
++  YYSIZE_T yylen;
++  for (yylen = 0; yystr[yylen]; yylen++)
++    continue;
++  return yylen;
++}
++#  endif
++# endif
++
++# ifndef yystpcpy
++#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++#   define yystpcpy stpcpy
++#  else
++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
++   YYDEST.  */
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static char *
++yystpcpy (char *yydest, const char *yysrc)
++#else
++static char *
++yystpcpy (yydest, yysrc)
++    char *yydest;
++    const char *yysrc;
++#endif
++{
++  char *yyd = yydest;
++  const char *yys = yysrc;
++
++  while ((*yyd++ = *yys++) != '\0')
++    continue;
++
++  return yyd - 1;
++}
++#  endif
++# endif
++
++# ifndef yytnamerr
++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
++   quotes and backslashes, so that it's suitable for yyerror.  The
++   heuristic is that double-quoting is unnecessary unless the string
++   contains an apostrophe, a comma, or backslash (other than
++   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
++   null, do not copy; instead, return the length of what the result
++   would have been.  */
++static YYSIZE_T
++yytnamerr (char *yyres, const char *yystr)
++{
++  if (*yystr == '"')
++    {
++      YYSIZE_T yyn = 0;
++      char const *yyp = yystr;
++
++      for (;;)
++	switch (*++yyp)
++	  {
++	  case '\'':
++	  case ',':
++	    goto do_not_strip_quotes;
++
++	  case '\\':
++	    if (*++yyp != '\\')
++	      goto do_not_strip_quotes;
++	    /* Fall through.  */
++	  default:
++	    if (yyres)
++	      yyres[yyn] = *yyp;
++	    yyn++;
++	    break;
++
++	  case '"':
++	    if (yyres)
++	      yyres[yyn] = '\0';
++	    return yyn;
++	  }
++    do_not_strip_quotes: ;
++    }
++
++  if (! yyres)
++    return yystrlen (yystr);
++
++  return yystpcpy (yyres, yystr) - yyres;
++}
++# endif
++
++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
++   about the unexpected token YYTOKEN for the state stack whose top is
++   YYSSP.
++
++   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
++   not large enough to hold the message.  In that case, also set
++   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
++   required number of bytes is too large to store.  */
++static int
++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
++                yytype_int16 *yyssp, int yytoken)
++{
++  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
++  YYSIZE_T yysize = yysize0;
++  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
++  /* Internationalized format string. */
++  const char *yyformat = YY_NULL;
++  /* Arguments of yyformat. */
++  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
++  /* Number of reported tokens (one for the "unexpected", one per
++     "expected"). */
++  int yycount = 0;
++
++  /* There are many possibilities here to consider:
++     - Assume YYFAIL is not used.  It's too flawed to consider.  See
++       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
++       for details.  YYERROR is fine as it does not invoke this
++       function.
++     - If this state is a consistent state with a default action, then
++       the only way this function was invoked is if the default action
++       is an error action.  In that case, don't check for expected
++       tokens because there are none.
++     - The only way there can be no lookahead present (in yychar) is if
++       this state is a consistent state with a default action.  Thus,
++       detecting the absence of a lookahead is sufficient to determine
++       that there is no unexpected or expected token to report.  In that
++       case, just report a simple "syntax error".
++     - Don't assume there isn't a lookahead just because this state is a
++       consistent state with a default action.  There might have been a
++       previous inconsistent state, consistent state with a non-default
++       action, or user semantic action that manipulated yychar.
++     - Of course, the expected token list depends on states to have
++       correct lookahead information, and it depends on the parser not
++       to perform extra reductions after fetching a lookahead from the
++       scanner and before detecting a syntax error.  Thus, state merging
++       (from LALR or IELR) and default reductions corrupt the expected
++       token list.  However, the list is correct for canonical LR with
++       one exception: it will still contain any token that will not be
++       accepted due to an error action in a later state.
++  */
++  if (yytoken != YYEMPTY)
++    {
++      int yyn = yypact[*yyssp];
++      yyarg[yycount++] = yytname[yytoken];
++      if (!yypact_value_is_default (yyn))
++        {
++          /* Start YYX at -YYN if negative to avoid negative indexes in
++             YYCHECK.  In other words, skip the first -YYN actions for
++             this state because they are default actions.  */
++          int yyxbegin = yyn < 0 ? -yyn : 0;
++          /* Stay within bounds of both yycheck and yytname.  */
++          int yychecklim = YYLAST - yyn + 1;
++          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
++          int yyx;
++
++          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
++            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
++                && !yytable_value_is_error (yytable[yyx + yyn]))
++              {
++                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
++                  {
++                    yycount = 1;
++                    yysize = yysize0;
++                    break;
++                  }
++                yyarg[yycount++] = yytname[yyx];
++                {
++                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
++                  if (! (yysize <= yysize1
++                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++                    return 2;
++                  yysize = yysize1;
++                }
++              }
++        }
++    }
++
++  switch (yycount)
++    {
++# define YYCASE_(N, S)                      \
++      case N:                               \
++        yyformat = S;                       \
++      break
++      YYCASE_(0, YY_("syntax error"));
++      YYCASE_(1, YY_("syntax error, unexpected %s"));
++      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
++      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
++      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
++      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
++# undef YYCASE_
++    }
++
++  {
++    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
++    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++      return 2;
++    yysize = yysize1;
++  }
++
++  if (*yymsg_alloc < yysize)
++    {
++      *yymsg_alloc = 2 * yysize;
++      if (! (yysize <= *yymsg_alloc
++             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
++        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
++      return 1;
++    }
++
++  /* Avoid sprintf, as that infringes on the user's name space.
++     Don't have undefined behavior even if the translation
++     produced a string with the wrong number of "%s"s.  */
++  {
++    char *yyp = *yymsg;
++    int yyi = 0;
++    while ((*yyp = *yyformat) != '\0')
++      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
++        {
++          yyp += yytnamerr (yyp, yyarg[yyi++]);
++          yyformat += 2;
++        }
++      else
++        {
++          yyp++;
++          yyformat++;
++        }
++  }
++  return 0;
++}
++#endif /* YYERROR_VERBOSE */
++
++/*-----------------------------------------------.
++| Release the memory associated to this symbol.  |
++`-----------------------------------------------*/
++
++/*ARGSUSED*/
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++static void
++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
++#else
++static void
++yydestruct (yymsg, yytype, yyvaluep)
++    const char *yymsg;
++    int yytype;
++    YYSTYPE *yyvaluep;
++#endif
++{
++  YYUSE (yyvaluep);
++
++  if (!yymsg)
++    yymsg = "Deleting";
++  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
++
++  YYUSE (yytype);
++}
++
++
++
++
++/*----------.
++| yyparse.  |
++`----------*/
++
++#ifdef YYPARSE_PARAM
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++int
++yyparse (void *YYPARSE_PARAM)
++#else
++int
++yyparse (YYPARSE_PARAM)
++    void *YYPARSE_PARAM;
++#endif
++#else /* ! YYPARSE_PARAM */
++#if (defined __STDC__ || defined __C99__FUNC__ \
++     || defined __cplusplus || defined _MSC_VER)
++int
++yyparse (void)
++#else
++int
++yyparse ()
++
++#endif
++#endif
++{
++/* The lookahead symbol.  */
++int yychar;
++
++
++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
++/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++    _Pragma ("GCC diagnostic push") \
++    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
++    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
++    _Pragma ("GCC diagnostic pop")
++#else
++/* Default value used for initialization, for pacifying older GCCs
++   or non-GCC compilers.  */
++static YYSTYPE yyval_default;
++# define YY_INITIAL_VALUE(Value) = Value
++#endif
++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END
++#endif
++#ifndef YY_INITIAL_VALUE
++# define YY_INITIAL_VALUE(Value) /* Nothing. */
++#endif
++
++/* The semantic value of the lookahead symbol.  */
++YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
++
++    /* Number of syntax errors so far.  */
++    int yynerrs;
++
++    int yystate;
++    /* Number of tokens to shift before error messages enabled.  */
++    int yyerrstatus;
++
++    /* The stacks and their tools:
++       `yyss': related to states.
++       `yyvs': related to semantic values.
++
++       Refer to the stacks through separate pointers, to allow yyoverflow
++       to reallocate them elsewhere.  */
++
++    /* The state stack.  */
++    yytype_int16 yyssa[YYINITDEPTH];
++    yytype_int16 *yyss;
++    yytype_int16 *yyssp;
++
++    /* The semantic value stack.  */
++    YYSTYPE yyvsa[YYINITDEPTH];
++    YYSTYPE *yyvs;
++    YYSTYPE *yyvsp;
++
++    YYSIZE_T yystacksize;
++
++  int yyn;
++  int yyresult;
++  /* Lookahead token as an internal (translated) token number.  */
++  int yytoken = 0;
++  /* The variables used to return semantic value and location from the
++     action routines.  */
++  YYSTYPE yyval;
++
++#if YYERROR_VERBOSE
++  /* Buffer for error messages, and its allocated size.  */
++  char yymsgbuf[128];
++  char *yymsg = yymsgbuf;
++  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
++#endif
++
++#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
++
++  /* The number of symbols on the RHS of the reduced rule.
++     Keep to zero when no symbol should be popped.  */
++  int yylen = 0;
++
++  yyssp = yyss = yyssa;
++  yyvsp = yyvs = yyvsa;
++  yystacksize = YYINITDEPTH;
++
++  YYDPRINTF ((stderr, "Starting parse\n"));
++
++  yystate = 0;
++  yyerrstatus = 0;
++  yynerrs = 0;
++  yychar = YYEMPTY; /* Cause a token to be read.  */
++  goto yysetstate;
++
++/*------------------------------------------------------------.
++| yynewstate -- Push a new state, which is found in yystate.  |
++`------------------------------------------------------------*/
++ yynewstate:
++  /* In all cases, when you get here, the value and location stacks
++     have just been pushed.  So pushing a state here evens the stacks.  */
++  yyssp++;
++
++ yysetstate:
++  *yyssp = yystate;
++
++  if (yyss + yystacksize - 1 <= yyssp)
++    {
++      /* Get the current used size of the three stacks, in elements.  */
++      YYSIZE_T yysize = yyssp - yyss + 1;
++
++#ifdef yyoverflow
++      {
++	/* Give user a chance to reallocate the stack.  Use copies of
++	   these so that the &'s don't force the real ones into
++	   memory.  */
++	YYSTYPE *yyvs1 = yyvs;
++	yytype_int16 *yyss1 = yyss;
++
++	/* Each stack pointer address is followed by the size of the
++	   data in use in that stack, in bytes.  This used to be a
++	   conditional around just the two extra args, but that might
++	   be undefined if yyoverflow is a macro.  */
++	yyoverflow (YY_("memory exhausted"),
++		    &yyss1, yysize * sizeof (*yyssp),
++		    &yyvs1, yysize * sizeof (*yyvsp),
++		    &yystacksize);
++
++	yyss = yyss1;
++	yyvs = yyvs1;
++      }
++#else /* no yyoverflow */
++# ifndef YYSTACK_RELOCATE
++      goto yyexhaustedlab;
++# else
++      /* Extend the stack our own way.  */
++      if (YYMAXDEPTH <= yystacksize)
++	goto yyexhaustedlab;
++      yystacksize *= 2;
++      if (YYMAXDEPTH < yystacksize)
++	yystacksize = YYMAXDEPTH;
++
++      {
++	yytype_int16 *yyss1 = yyss;
++	union yyalloc *yyptr =
++	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
++	if (! yyptr)
++	  goto yyexhaustedlab;
++	YYSTACK_RELOCATE (yyss_alloc, yyss);
++	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
++#  undef YYSTACK_RELOCATE
++	if (yyss1 != yyssa)
++	  YYSTACK_FREE (yyss1);
++      }
++# endif
++#endif /* no yyoverflow */
++
++      yyssp = yyss + yysize - 1;
++      yyvsp = yyvs + yysize - 1;
++
++      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
++		  (unsigned long int) yystacksize));
++
++      if (yyss + yystacksize - 1 <= yyssp)
++	YYABORT;
++    }
++
++  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++
++  if (yystate == YYFINAL)
++    YYACCEPT;
++
++  goto yybackup;
++
++/*-----------.
++| yybackup.  |
++`-----------*/
++yybackup:
++
++  /* Do appropriate processing given the current state.  Read a
++     lookahead token if we need one and don't already have one.  */
++
++  /* First try to decide what to do without reference to lookahead token.  */
++  yyn = yypact[yystate];
++  if (yypact_value_is_default (yyn))
++    goto yydefault;
++
++  /* Not known => get a lookahead token if don't already have one.  */
++
++  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
++  if (yychar == YYEMPTY)
++    {
++      YYDPRINTF ((stderr, "Reading a token: "));
++      yychar = YYLEX;
++    }
++
++  if (yychar <= YYEOF)
++    {
++      yychar = yytoken = YYEOF;
++      YYDPRINTF ((stderr, "Now at end of input.\n"));
++    }
++  else
++    {
++      yytoken = YYTRANSLATE (yychar);
++      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
++    }
++
++  /* If the proper action on seeing token YYTOKEN is to reduce or to
++     detect an error, take that action.  */
++  yyn += yytoken;
++  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
++    goto yydefault;
++  yyn = yytable[yyn];
++  if (yyn <= 0)
++    {
++      if (yytable_value_is_error (yyn))
++        goto yyerrlab;
++      yyn = -yyn;
++      goto yyreduce;
++    }
++
++  /* Count tokens shifted since error; after three, turn off error
++     status.  */
++  if (yyerrstatus)
++    yyerrstatus--;
++
++  /* Shift the lookahead token.  */
++  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
++
++  /* Discard the shifted token.  */
++  yychar = YYEMPTY;
++
++  yystate = yyn;
++  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++  *++yyvsp = yylval;
++  YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++  goto yynewstate;
++
++
++/*-----------------------------------------------------------.
++| yydefault -- do the default action for the current state.  |
++`-----------------------------------------------------------*/
++yydefault:
++  yyn = yydefact[yystate];
++  if (yyn == 0)
++    goto yyerrlab;
++  goto yyreduce;
++
++
++/*-----------------------------.
++| yyreduce -- Do a reduction.  |
++`-----------------------------*/
++yyreduce:
++  /* yyn is the number of a rule to reduce with.  */
++  yylen = yyr2[yyn];
++
++  /* If YYLEN is nonzero, implement the default value of the action:
++     `$$ = $1'.
++
++     Otherwise, the following line sets YYVAL to garbage.
++     This behavior is undocumented and Bison
++     users should not rely upon it.  Assigning to YYVAL
++     unconditionally makes the parser a bit smaller, and it avoids a
++     GCC warning that YYVAL may be used uninitialized.  */
++  yyval = yyvsp[1-yylen];
++
++
++  YY_REDUCE_PRINT (yyn);
++  switch (yyn)
++    {
++        case 4:
++/* Line 1787 of yacc.c  */
++#line 157 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHaveTime++;
++	}
++    break;
++
++  case 5:
++/* Line 1787 of yacc.c  */
++#line 160 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHaveZone++;
++	}
++    break;
++
++  case 6:
++/* Line 1787 of yacc.c  */
++#line 163 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHaveDate++;
++	}
++    break;
++
++  case 7:
++/* Line 1787 of yacc.c  */
++#line 166 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHaveDay++;
++	}
++    break;
++
++  case 8:
++/* Line 1787 of yacc.c  */
++#line 169 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHaveRel++;
++	}
++    break;
++
++  case 10:
++/* Line 1787 of yacc.c  */
++#line 175 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (2)].Number);
++	    VARIABLE->yyMinutes = 0;
++	    VARIABLE->yySeconds = 0;
++	    VARIABLE->yyMeridian = (yyvsp[(2) - (2)].Meridian);
++	}
++    break;
++
++  case 11:
++/* Line 1787 of yacc.c  */
++#line 181 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (2)].Number)/100;
++	    VARIABLE->yyMinutes = (yyvsp[(1) - (2)].Number)%100;
++	    VARIABLE->yySeconds = 0;
++	    VARIABLE->yyMeridian = MER24;
++	    VARIABLE->yyDSTmode = DSToff;
++	    VARIABLE->yyTimezone = - ((yyvsp[(2) - (2)].Number) % 100 + ((yyvsp[(2) - (2)].Number) / 100) * 60);
++        }
++    break;
++
++  case 12:
++/* Line 1787 of yacc.c  */
++#line 189 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (2)].Number)/10000;
++	    VARIABLE->yyMinutes = ((yyvsp[(1) - (2)].Number)/100)%100;
++	    VARIABLE->yySeconds = (yyvsp[(1) - (2)].Number) % 100;
++	    VARIABLE->yyMeridian = MER24;
++	    VARIABLE->yyDSTmode = DSToff;
++	    VARIABLE->yyTimezone = - ((yyvsp[(2) - (2)].Number) % 100 + ((yyvsp[(2) - (2)].Number) / 100) * 60);
++        }
++    break;
++
++  case 13:
++/* Line 1787 of yacc.c  */
++#line 197 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (4)].Number);
++	    VARIABLE->yyMinutes = (yyvsp[(3) - (4)].Number);
++	    VARIABLE->yySeconds = 0;
++	    VARIABLE->yyMeridian = (yyvsp[(4) - (4)].Meridian);
++	}
++    break;
++
++  case 14:
++/* Line 1787 of yacc.c  */
++#line 203 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (4)].Number);
++	    VARIABLE->yyMinutes = (yyvsp[(3) - (4)].Number);
++	    VARIABLE->yyMeridian = MER24;
++	    VARIABLE->yyDSTmode = DSToff;
++	    VARIABLE->yyTimezone = - ((yyvsp[(4) - (4)].Number) % 100 + ((yyvsp[(4) - (4)].Number) / 100) * 60);
++	}
++    break;
++
++  case 15:
++/* Line 1787 of yacc.c  */
++#line 210 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (6)].Number);
++	    VARIABLE->yyMinutes = (yyvsp[(3) - (6)].Number);
++	    VARIABLE->yySeconds = (yyvsp[(5) - (6)].Number);
++	    VARIABLE->yyMeridian = (yyvsp[(6) - (6)].Meridian);
++	}
++    break;
++
++  case 16:
++/* Line 1787 of yacc.c  */
++#line 216 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyHour = (yyvsp[(1) - (6)].Number);
++	    VARIABLE->yyMinutes = (yyvsp[(3) - (6)].Number);
++	    VARIABLE->yySeconds = (yyvsp[(5) - (6)].Number);
++	    VARIABLE->yyMeridian = MER24;
++	    VARIABLE->yyDSTmode = DSToff;
++	    VARIABLE->yyTimezone = - ((yyvsp[(6) - (6)].Number) % 100 + ((yyvsp[(6) - (6)].Number) / 100) * 60);
++	}
++    break;
++
++  case 17:
++/* Line 1787 of yacc.c  */
++#line 226 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number);
++	    VARIABLE->yyDSTmode = DSToff;
++	}
++    break;
++
++  case 18:
++/* Line 1787 of yacc.c  */
++#line 230 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number);
++	    VARIABLE->yyDSTmode = DSTon;
++	}
++    break;
++
++  case 19:
++/* Line 1787 of yacc.c  */
++#line 235 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyTimezone = (yyvsp[(1) - (2)].Number);
++	    VARIABLE->yyDSTmode = DSTon;
++	}
++    break;
++
++  case 20:
++/* Line 1787 of yacc.c  */
++#line 239 "ptlib/common/getdate.y"
++    {
++            if (VARIABLE->yyHaveTime > 0) {
++	      VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number);
++	      VARIABLE->yyDSTmode = DSToff;
++            }
++            else
++              VARIABLE->yyHaveZone--;
++        }
++    break;
++
++  case 21:
++/* Line 1787 of yacc.c  */
++#line 249 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyDayOrdinal = 1;
++	    VARIABLE->yyDayNumber = (yyvsp[(1) - (1)].Number);
++	}
++    break;
++
++  case 22:
++/* Line 1787 of yacc.c  */
++#line 253 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyDayOrdinal = 1;
++	    VARIABLE->yyDayNumber = (yyvsp[(1) - (2)].Number);
++	}
++    break;
++
++  case 23:
++/* Line 1787 of yacc.c  */
++#line 257 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyDayOrdinal = (yyvsp[(1) - (2)].Number);
++	    VARIABLE->yyDayNumber = (yyvsp[(2) - (2)].Number);
++	}
++    break;
++
++  case 24:
++/* Line 1787 of yacc.c  */
++#line 263 "ptlib/common/getdate.y"
++    {
++	    SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(3) - (3)].Number), VARIABLE->yyYear);
++	}
++    break;
++
++  case 25:
++/* Line 1787 of yacc.c  */
++#line 266 "ptlib/common/getdate.y"
++    {
++	    SetPossibleDate(VARIABLE, (yyvsp[(1) - (5)].Number), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));
++	}
++    break;
++
++  case 26:
++/* Line 1787 of yacc.c  */
++#line 269 "ptlib/common/getdate.y"
++    {
++	    /* ISO 8601 format.  yyyy-mm-dd.  */
++	    SetPossibleDate(VARIABLE, (yyvsp[(1) - (4)].Number), -(yyvsp[(2) - (4)].Number), -(yyvsp[(3) - (4)].Number));
++	}
++    break;
++
++  case 27:
++/* Line 1787 of yacc.c  */
++#line 273 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100;
++	    VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100;
++	    VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000;
++	}
++    break;
++
++  case 28:
++/* Line 1787 of yacc.c  */
++#line 278 "ptlib/common/getdate.y"
++    {
++	    /* e.g. 17-JUN-1992.  */
++	    SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(2) - (3)].Number), -(yyvsp[(3) - (3)].Number));
++	}
++    break;
++
++  case 29:
++/* Line 1787 of yacc.c  */
++#line 282 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyMonth = (yyvsp[(1) - (2)].Number);
++	    if ((yyvsp[(2) - (2)].Number) > 31)
++	      VARIABLE->yyYear = (yyvsp[(2) - (2)].Number);
++	    else
++	      VARIABLE->yyDay = (yyvsp[(2) - (2)].Number);
++	}
++    break;
++
++  case 30:
++/* Line 1787 of yacc.c  */
++#line 289 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyMonth = (yyvsp[(1) - (4)].Number);
++	    VARIABLE->yyDay = (yyvsp[(2) - (4)].Number);
++	    VARIABLE->yyYear = (yyvsp[(4) - (4)].Number);
++	}
++    break;
++
++  case 31:
++/* Line 1787 of yacc.c  */
++#line 294 "ptlib/common/getdate.y"
++    {
++	    if ((yyvsp[(1) - (2)].Number) > 31)
++	      VARIABLE->yyYear = (yyvsp[(1) - (2)].Number);
++	    else
++	      VARIABLE->yyDay = (yyvsp[(1) - (2)].Number);
++	    VARIABLE->yyMonth = (yyvsp[(2) - (2)].Number);
++	}
++    break;
++
++  case 32:
++/* Line 1787 of yacc.c  */
++#line 301 "ptlib/common/getdate.y"
++    {
++	    SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(2) - (3)].Number), (yyvsp[(3) - (3)].Number));
++	}
++    break;
++
++  case 33:
++/* Line 1787 of yacc.c  */
++#line 306 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds = -VARIABLE->yyRelSeconds;
++	    VARIABLE->yyRelMonth = -VARIABLE->yyRelMonth;
++	}
++    break;
++
++  case 35:
++/* Line 1787 of yacc.c  */
++#line 313 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number) * 60L;
++	}
++    break;
++
++  case 36:
++/* Line 1787 of yacc.c  */
++#line 316 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number) * 60L;
++	}
++    break;
++
++  case 37:
++/* Line 1787 of yacc.c  */
++#line 319 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds += (yyvsp[(1) - (1)].Number) * 60L;
++	}
++    break;
++
++  case 38:
++/* Line 1787 of yacc.c  */
++#line 322 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number);
++	}
++    break;
++
++  case 39:
++/* Line 1787 of yacc.c  */
++#line 325 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number);
++	}
++    break;
++
++  case 40:
++/* Line 1787 of yacc.c  */
++#line 328 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelSeconds++;
++	}
++    break;
++
++  case 41:
++/* Line 1787 of yacc.c  */
++#line 331 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelMonth += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number);
++	}
++    break;
++
++  case 42:
++/* Line 1787 of yacc.c  */
++#line 334 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelMonth += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number);
++	}
++    break;
++
++  case 43:
++/* Line 1787 of yacc.c  */
++#line 337 "ptlib/common/getdate.y"
++    {
++	    VARIABLE->yyRelMonth += (yyvsp[(1) - (1)].Number);
++	}
++    break;
++
++  case 44:
++/* Line 1787 of yacc.c  */
++#line 342 "ptlib/common/getdate.y"
++    {
++	    (yyval.Number) = (yyvsp[(1) - (1)].Number);
++	}
++    break;
++
++  case 45:
++/* Line 1787 of yacc.c  */
++#line 345 "ptlib/common/getdate.y"
++    {
++	    (yyval.Number) = (yyvsp[(1) - (1)].Number);
++	}
++    break;
++
++  case 46:
++/* Line 1787 of yacc.c  */
++#line 348 "ptlib/common/getdate.y"
++    {
++	    (yyval.Number) = (yyvsp[(1) - (1)].Number);
++	}
++    break;
++
++  case 47:
++/* Line 1787 of yacc.c  */
++#line 353 "ptlib/common/getdate.y"
++    {
++	    if (VARIABLE->yyHaveTime && VARIABLE->yyHaveDate && !VARIABLE->yyHaveRel)
++		VARIABLE->yyYear = (yyvsp[(1) - (1)].Number);
++	    else {
++		if((yyvsp[(1) - (1)].Number)>240000) {
++		    VARIABLE->yyHaveDate++;
++		    VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100;
++		    VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100;
++		    VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000;
++		}
++		else {
++		    VARIABLE->yyHaveTime++;
++		    if ((yyvsp[(1) - (1)].Number) < 10000) {
++		    	VARIABLE->yyHour = (yyvsp[(1) - (1)].Number) / 100;
++		    	VARIABLE->yyMinutes = (yyvsp[(1) - (1)].Number) % 100;
++		        VARIABLE->yySeconds = 0;
++		    }
++		    else {
++	                VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/10000;
++	                VARIABLE->yyMinutes = ((yyvsp[(1) - (1)].Number)/100)%100;
++	                VARIABLE->yySeconds = (yyvsp[(1) - (1)].Number) % 100;
++                    }
++		    VARIABLE->yyMeridian = MER24;
++	        }
++	    }
++	}
++    break;
++
++  case 48:
++/* Line 1787 of yacc.c  */
++#line 379 "ptlib/common/getdate.y"
++    {
++	    if (VARIABLE->yyHaveTime && VARIABLE->yyHaveDate && !VARIABLE->yyHaveRel)
++		VARIABLE->yyYear = (yyvsp[(1) - (1)].Number);
++	    else {
++	        VARIABLE->yyHaveTime++;
++	        VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/100;
++	        VARIABLE->yyMinutes = (yyvsp[(1) - (1)].Number)%100;
++	        VARIABLE->yySeconds = 0;
++	        VARIABLE->yyMeridian = MER24;
++            }
++        }
++    break;
++
++  case 49:
++/* Line 1787 of yacc.c  */
++#line 390 "ptlib/common/getdate.y"
++    {
++	    if (!VARIABLE->yyHaveDate && (yyvsp[(1) - (1)].Number)>240000) {
++		VARIABLE->yyHaveDate++;
++		VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100;
++		VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100;
++		VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000;
++	    }
++	    else if (!VARIABLE->yyHaveTime) {
++	        VARIABLE->yyHaveTime++;
++	        VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/10000;
++	        VARIABLE->yyMinutes = ((yyvsp[(1) - (1)].Number)/100)%100;
++	        VARIABLE->yySeconds = (yyvsp[(1) - (1)].Number) % 100;
++	        VARIABLE->yyMeridian = MER24;
++            }
++        }
++    break;
++
++  case 50:
++/* Line 1787 of yacc.c  */
++#line 407 "ptlib/common/getdate.y"
++    {
++	    (yyval.Meridian) = MER24;
++	}
++    break;
++
++  case 51:
++/* Line 1787 of yacc.c  */
++#line 410 "ptlib/common/getdate.y"
++    {
++	    (yyval.Meridian) = (yyvsp[(1) - (1)].Meridian);
++	}
++    break;
++
++
++/* Line 1787 of yacc.c  */
++#line 2031 "ptlib/common/getdate.tab.c"
++      default: break;
++    }
++  /* User semantic actions sometimes alter yychar, and that requires
++     that yytoken be updated with the new translation.  We take the
++     approach of translating immediately before every use of yytoken.
++     One alternative is translating here after every semantic action,
++     but that translation would be missed if the semantic action invokes
++     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
++     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
++     incorrect destructor might then be invoked immediately.  In the
++     case of YYERROR or YYBACKUP, subsequent parser actions might lead
++     to an incorrect destructor call or verbose syntax error message
++     before the lookahead is translated.  */
++  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
++
++  YYPOPSTACK (yylen);
++  yylen = 0;
++  YY_STACK_PRINT (yyss, yyssp);
++
++  *++yyvsp = yyval;
++
++  /* Now `shift' the result of the reduction.  Determine what state
++     that goes to, based on the state we popped back to and the rule
++     number reduced by.  */
++
++  yyn = yyr1[yyn];
++
++  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
++  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
++    yystate = yytable[yystate];
++  else
++    yystate = yydefgoto[yyn - YYNTOKENS];
++
++  goto yynewstate;
++
++
++/*------------------------------------.
++| yyerrlab -- here on detecting error |
++`------------------------------------*/
++yyerrlab:
++  /* Make sure we have latest lookahead translation.  See comments at
++     user semantic actions for why this is necessary.  */
++  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
++
++  /* If not already recovering from an error, report this error.  */
++  if (!yyerrstatus)
++    {
++      ++yynerrs;
++#if ! YYERROR_VERBOSE
++      yyerror (YY_("syntax error"));
++#else
++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
++                                        yyssp, yytoken)
++      {
++        char const *yymsgp = YY_("syntax error");
++        int yysyntax_error_status;
++        yysyntax_error_status = YYSYNTAX_ERROR;
++        if (yysyntax_error_status == 0)
++          yymsgp = yymsg;
++        else if (yysyntax_error_status == 1)
++          {
++            if (yymsg != yymsgbuf)
++              YYSTACK_FREE (yymsg);
++            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
++            if (!yymsg)
++              {
++                yymsg = yymsgbuf;
++                yymsg_alloc = sizeof yymsgbuf;
++                yysyntax_error_status = 2;
++              }
++            else
++              {
++                yysyntax_error_status = YYSYNTAX_ERROR;
++                yymsgp = yymsg;
++              }
++          }
++        yyerror (yymsgp);
++        if (yysyntax_error_status == 2)
++          goto yyexhaustedlab;
++      }
++# undef YYSYNTAX_ERROR
++#endif
++    }
++
++
++
++  if (yyerrstatus == 3)
++    {
++      /* If just tried and failed to reuse lookahead token after an
++	 error, discard it.  */
++
++      if (yychar <= YYEOF)
++	{
++	  /* Return failure if at end of input.  */
++	  if (yychar == YYEOF)
++	    YYABORT;
++	}
++      else
++	{
++	  yydestruct ("Error: discarding",
++		      yytoken, &yylval);
++	  yychar = YYEMPTY;
++	}
++    }
++
++  /* Else will try to reuse lookahead token after shifting the error
++     token.  */
++  goto yyerrlab1;
++
++
++/*---------------------------------------------------.
++| yyerrorlab -- error raised explicitly by YYERROR.  |
++`---------------------------------------------------*/
++yyerrorlab:
++
++  /* Pacify compilers like GCC when the user code never invokes
++     YYERROR and the label yyerrorlab therefore never appears in user
++     code.  */
++  if (/*CONSTCOND*/ 0)
++     goto yyerrorlab;
++
++  /* Do not reclaim the symbols of the rule which action triggered
++     this YYERROR.  */
++  YYPOPSTACK (yylen);
++  yylen = 0;
++  YY_STACK_PRINT (yyss, yyssp);
++  yystate = *yyssp;
++  goto yyerrlab1;
++
++
++/*-------------------------------------------------------------.
++| yyerrlab1 -- common code for both syntax error and YYERROR.  |
++`-------------------------------------------------------------*/
++yyerrlab1:
++  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
++
++  for (;;)
++    {
++      yyn = yypact[yystate];
++      if (!yypact_value_is_default (yyn))
++	{
++	  yyn += YYTERROR;
++	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
++	    {
++	      yyn = yytable[yyn];
++	      if (0 < yyn)
++		break;
++	    }
++	}
++
++      /* Pop the current state because it cannot handle the error token.  */
++      if (yyssp == yyss)
++	YYABORT;
++
++
++      yydestruct ("Error: popping",
++		  yystos[yystate], yyvsp);
++      YYPOPSTACK (1);
++      yystate = *yyssp;
++      YY_STACK_PRINT (yyss, yyssp);
++    }
++
++  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++  *++yyvsp = yylval;
++  YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++
++  /* Shift the error token.  */
++  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
++
++  yystate = yyn;
++  goto yynewstate;
++
++
++/*-------------------------------------.
++| yyacceptlab -- YYACCEPT comes here.  |
++`-------------------------------------*/
++yyacceptlab:
++  yyresult = 0;
++  goto yyreturn;
++
++/*-----------------------------------.
++| yyabortlab -- YYABORT comes here.  |
++`-----------------------------------*/
++yyabortlab:
++  yyresult = 1;
++  goto yyreturn;
++
++#if !defined yyoverflow || YYERROR_VERBOSE
++/*-------------------------------------------------.
++| yyexhaustedlab -- memory exhaustion comes here.  |
++`-------------------------------------------------*/
++yyexhaustedlab:
++  yyerror (YY_("memory exhausted"));
++  yyresult = 2;
++  /* Fall through.  */
++#endif
++
++yyreturn:
++  if (yychar != YYEMPTY)
++    {
++      /* Make sure we have latest lookahead translation.  See comments at
++         user semantic actions for why this is necessary.  */
++      yytoken = YYTRANSLATE (yychar);
++      yydestruct ("Cleanup: discarding lookahead",
++                  yytoken, &yylval);
++    }
++  /* Do not reclaim the symbols of the rule which action triggered
++     this YYABORT or YYACCEPT.  */
++  YYPOPSTACK (yylen);
++  YY_STACK_PRINT (yyss, yyssp);
++  while (yyssp != yyss)
++    {
++      yydestruct ("Cleanup: popping",
++		  yystos[*yyssp], yyvsp);
++      YYPOPSTACK (1);
++    }
++#ifndef yyoverflow
++  if (yyss != yyssa)
++    YYSTACK_FREE (yyss);
++#endif
++#if YYERROR_VERBOSE
++  if (yymsg != yymsgbuf)
++    YYSTACK_FREE (yymsg);
++#endif
++  /* Make sure YYID is used.  */
++  return YYID (yyresult);
++}
++
++
++/* Line 2050 of yacc.c  */
++#line 415 "ptlib/common/getdate.y"
++
++
++/* Month and day table. */
++static TABLE const MonthDayTable[] = {
++    { "january",	tMONTH,  1 },
++    { "february",	tMONTH,  2 },
++    { "march",		tMONTH,  3 },
++    { "april",		tMONTH,  4 },
++    { "may",		tMONTH,  5 },
++    { "june",		tMONTH,  6 },
++    { "july",		tMONTH,  7 },
++    { "august",		tMONTH,  8 },
++    { "september",	tMONTH,  9 },
++    { "sept",		tMONTH,  9 },
++    { "october",	tMONTH, 10 },
++    { "november",	tMONTH, 11 },
++    { "december",	tMONTH, 12 },
++    { "sunday",		tDAY, 0 },
++    { "monday",		tDAY, 1 },
++    { "tuesday",	tDAY, 2 },
++    { "tues",		tDAY, 2 },
++    { "wednesday",	tDAY, 3 },
++    { "wednes",		tDAY, 3 },
++    { "thursday",	tDAY, 4 },
++    { "thur",		tDAY, 4 },
++    { "thurs",		tDAY, 4 },
++    { "friday",		tDAY, 5 },
++    { "saturday",	tDAY, 6 },
++    { NULL }
++};
++
++/* Time units table. */
++static TABLE const UnitsTable[] = {
++    { "year",		tMONTH_UNIT,	12 },
++    { "month",		tMONTH_UNIT,	1 },
++    { "fortnight",	tMINUTE_UNIT,	14 * 24 * 60 },
++    { "week",		tMINUTE_UNIT,	7 * 24 * 60 },
++    { "day",		tMINUTE_UNIT,	1 * 24 * 60 },
++    { "hour",		tMINUTE_UNIT,	60 },
++    { "minute",		tMINUTE_UNIT,	1 },
++    { "min",		tMINUTE_UNIT,	1 },
++    { "second",		tSEC_UNIT,	1 },
++    { "sec",		tSEC_UNIT,	1 },
++    { NULL }
++};
++
++/* Assorted relative-time words. */
++static TABLE const OtherTable[] = {
++    { "tomorrow",	tMINUTE_UNIT,	1 * 24 * 60 },
++    { "yesterday",	tMINUTE_UNIT,	-1 * 24 * 60 },
++    { "today",		tMINUTE_UNIT,	0 },
++    { "now",		tMINUTE_UNIT,	0 },
++    { "last",		tUNUMBER,	-1 },
++    { "this",		tMINUTE_UNIT,	0 },
++    { "next",		tUNUMBER,	2 },
++    { "first",		tUNUMBER,	1 },
++/*  { "second",		tUNUMBER,	2 }, */
++    { "third",		tUNUMBER,	3 },
++    { "fourth",		tUNUMBER,	4 },
++    { "fifth",		tUNUMBER,	5 },
++    { "sixth",		tUNUMBER,	6 },
++    { "seventh",	tUNUMBER,	7 },
++    { "eighth",		tUNUMBER,	8 },
++    { "ninth",		tUNUMBER,	9 },
++    { "tenth",		tUNUMBER,	10 },
++    { "eleventh",	tUNUMBER,	11 },
++    { "twelfth",	tUNUMBER,	12 },
++    { "ago",		tAGO,	1 },
++    { NULL }
++};
++
++/* The timezone table. */
++/* Some of these are commented out because a time_t can't store a float. */
++static TABLE const TimezoneTable[] = {
++    { "gmt",	tZONE,     HOUR( 0) },	/* Greenwich Mean */
++    { "ut",	tZONE,     HOUR( 0) },	/* Universal (Coordinated) */
++    { "utc",	tZONE,     HOUR( 0) },
++    { "wet",	tZONE,     HOUR( 0) },	/* Western European */
++    { "bst",	tDAYZONE,  HOUR( 0) },	/* British Summer */
++    { "wat",	tZONE,     HOUR( 1) },	/* West Africa */
++    { "at",	tZONE,     HOUR( 2) },	/* Azores */
++#if	0
++    /* For completeness.  BST is also British Summer, and GST is
++     * also Guam Standard. */
++    { "bst",	tZONE,     HOUR( 3) },	/* Brazil Standard */
++    { "gst",	tZONE,     HOUR( 3) },	/* Greenland Standard */
++#endif
++#if 0
++    { "nft",	tZONE,     HOUR(3.5) },	/* Newfoundland */
++    { "nst",	tZONE,     HOUR(3.5) },	/* Newfoundland Standard */
++    { "ndt",	tDAYZONE,  HOUR(3.5) },	/* Newfoundland Daylight */
++#endif
++    { "ast",	tZONE,     HOUR( 4) },	/* Atlantic Standard */
++    { "adt",	tDAYZONE,  HOUR( 4) },	/* Atlantic Daylight */
++    { "est",	tZONE,     HOUR( 5) },	/* Eastern Standard */
++    { "edt",	tDAYZONE,  HOUR( 5) },	/* Eastern Daylight */
++    { "cst",	tZONE,     HOUR( 6) },	/* Central Standard */
++    { "cdt",	tDAYZONE,  HOUR( 6) },	/* Central Daylight */
++    { "mst",	tZONE,     HOUR( 7) },	/* Mountain Standard */
++    { "mdt",	tDAYZONE,  HOUR( 7) },	/* Mountain Daylight */
++    { "pst",	tZONE,     HOUR( 8) },	/* Pacific Standard */
++    { "pdt",	tDAYZONE,  HOUR( 8) },	/* Pacific Daylight */
++    { "yst",	tZONE,     HOUR( 9) },	/* Yukon Standard */
++    { "ydt",	tDAYZONE,  HOUR( 9) },	/* Yukon Daylight */
++    { "hst",	tZONE,     HOUR(10) },	/* Hawaii Standard */
++    { "hdt",	tDAYZONE,  HOUR(10) },	/* Hawaii Daylight */
++    { "cat",	tZONE,     HOUR(10) },	/* Central Alaska */
++    { "ahst",	tZONE,     HOUR(10) },	/* Alaska-Hawaii Standard */
++    { "nt",	tZONE,     HOUR(11) },	/* Nome */
++    { "idlw",	tZONE,     HOUR(12) },	/* International Date Line West */
++    { "cet",	tZONE,     -HOUR(1) },	/* Central European */
++    { "met",	tZONE,     -HOUR(1) },	/* Middle European */
++    { "mewt",	tZONE,     -HOUR(1) },	/* Middle European Winter */
++    { "mest",	tDAYZONE,  -HOUR(1) },	/* Middle European Summer */
++    { "swt",	tZONE,     -HOUR(1) },	/* Swedish Winter */
++    { "sst",	tDAYZONE,  -HOUR(1) },	/* Swedish Summer */
++    { "fwt",	tZONE,     -HOUR(1) },	/* French Winter */
++    { "fst",	tDAYZONE,  -HOUR(1) },	/* French Summer */
++    { "eet",	tZONE,     -HOUR(2) },	/* Eastern Europe, USSR Zone 1 */
++    { "bt",	tZONE,     -HOUR(3) },	/* Baghdad, USSR Zone 2 */
++#if 0
++    { "it",	tZONE,     -HOUR(3.5) },/* Iran */
++#endif
++    { "zp4",	tZONE,     -HOUR(4) },	/* USSR Zone 3 */
++    { "zp5",	tZONE,     -HOUR(5) },	/* USSR Zone 4 */
++#if 0
++    { "ist",	tZONE,     -HOUR(5.5) },/* Indian Standard */
++#endif
++    { "zp6",	tZONE,     -HOUR(6) },	/* USSR Zone 5 */
++#if	0
++    /* For completeness.  NST is also Newfoundland Stanard, and SST is
++     * also Swedish Summer. */
++    { "nst",	tZONE,     -HOUR(6.5) },/* North Sumatra */
++    { "sst",	tZONE,     -HOUR(7) },	/* South Sumatra, USSR Zone 6 */
++#endif	/* 0 */
++    { "wast",	tZONE,     -HOUR(7) },	/* West Australian Standard */
++    { "wadt",	tDAYZONE,  -HOUR(7) },	/* West Australian Daylight */
++#if 0
++    { "jt",	tZONE,     -HOUR(7.5) },/* Java (3pm in Cronusland!) */
++#endif
++    { "cct",	tZONE,     -HOUR(8) },	/* China Coast, USSR Zone 7 */
++    { "jst",	tZONE,     -HOUR(9) },	/* Japan Standard, USSR Zone 8 */
++#if 0
++    { "cast",	tZONE,     -HOUR(9.5) },/* Central Australian Standard */
++    { "cadt",	tDAYZONE,  -HOUR(9.5) },/* Central Australian Daylight */
++#endif
++    { "east",	tZONE,     -HOUR(10) },	/* Eastern Australian Standard */
++    { "eadt",	tDAYZONE,  -HOUR(10) },	/* Eastern Australian Daylight */
++    { "gst",	tZONE,     -HOUR(10) },	/* Guam Standard, USSR Zone 9 */
++    { "nzt",	tZONE,     -HOUR(12) },	/* New Zealand */
++    { "nzst",	tZONE,     -HOUR(12) },	/* New Zealand Standard */
++    { "nzdt",	tDAYZONE,  -HOUR(12) },	/* New Zealand Daylight */
++    { "idle",	tZONE,     -HOUR(12) },	/* International Date Line East */
++    {  NULL  }
++};
++
++/* Military timezone table. */
++static TABLE const MilitaryTable[] = {
++    { "a",	tMILZONE,	HOUR(  1) },
++    { "b",	tMILZONE,	HOUR(  2) },
++    { "c",	tMILZONE,	HOUR(  3) },
++    { "d",	tMILZONE,	HOUR(  4) },
++    { "e",	tMILZONE,	HOUR(  5) },
++    { "f",	tMILZONE,	HOUR(  6) },
++    { "g",	tMILZONE,	HOUR(  7) },
++    { "h",	tMILZONE,	HOUR(  8) },
++    { "i",	tMILZONE,	HOUR(  9) },
++    { "k",	tMILZONE,	HOUR( 10) },
++    { "l",	tMILZONE,	HOUR( 11) },
++    { "m",	tMILZONE,	HOUR( 12) },
++    { "n",	tMILZONE,	HOUR(- 1) },
++    { "o",	tMILZONE,	HOUR(- 2) },
++    { "p",	tMILZONE,	HOUR(- 3) },
++    { "q",	tMILZONE,	HOUR(- 4) },
++    { "r",	tMILZONE,	HOUR(- 5) },
++    { "s",	tMILZONE,	HOUR(- 6) },
++    { "t",	tMILZONE,	HOUR(- 7) },
++    { "u",	tMILZONE,	HOUR(- 8) },
++    { "v",	tMILZONE,	HOUR(- 9) },
++    { "w",	tMILZONE,	HOUR(-10) },
++    { "x",	tMILZONE,	HOUR(-11) },
++    { "y",	tMILZONE,	HOUR(-12) },
++    { "z",	tZONE,		HOUR(  0) }, /* Deliberately tZONE */
++    { NULL }
++};
++
++static int LookupWord(char * buff, YYSTYPE * yylval, struct Variables * vars)
++{
++    register char	*p;
++    register char	*q;
++    register const TABLE	*tp;
++    int			i;
++    int			abbrev;
++
++    /* Make it lowercase. */
++    for (p = buff; *p != '\0'; p++)
++        *p = (char)tolower(*p);
++
++    if (strcmp(buff, "am") == 0 || strcmp(buff, "a.m.") == 0) {
++	yylval->Meridian = MERam;
++	return tMERIDIAN;
++    }
++    if (strcmp(buff, "pm") == 0 || strcmp(buff, "p.m.") == 0) {
++	yylval->Meridian = MERpm;
++	return tMERIDIAN;
++    }
++
++    /* See if we have an abbreviation for a month. */
++    if (strlen(buff) == 3)
++	abbrev = 1;
++    else if (strlen(buff) == 4 && buff[3] == '.') {
++	abbrev = 1;
++	buff[3] = '\0';
++    }
++    else
++	abbrev = 0;
++
++    for (tp = MonthDayTable; tp->name; tp++) {
++	if (abbrev) {
++	    if (strncmp(buff, tp->name, 3) == 0) {
++		yylval->Number = tp->value;
++		return tp->type;
++	    }
++	}
++	else if (strcmp(buff, tp->name) == 0) {
++	    yylval->Number = tp->value;
++	    return tp->type;
++	}
++    }
++
++    for (tp = TimezoneTable; tp->name; tp++)
++	if (strcmp(buff, tp->name) == 0) {
++	    yylval->Number = tp->value;
++	    return tp->type;
++	}
++
++    if (strcmp(buff, "dst") == 0) 
++	return tDST;
++
++    for (tp = UnitsTable; tp->name; tp++)
++	if (strcmp(buff, tp->name) == 0) {
++	    yylval->Number = tp->value;
++	    return tp->type;
++	}
++
++    /* Strip off any plural and try the units table again. */
++    i = strlen(buff) - 1;
++    if (buff[i] == 's') {
++	buff[i] = '\0';
++	for (tp = UnitsTable; tp->name; tp++)
++	    if (strcmp(buff, tp->name) == 0) {
++		yylval->Number = tp->value;
++		return tp->type;
++	    }
++	buff[i] = 's';		/* Put back for "this" in OtherTable. */
++    }
++
++    for (tp = OtherTable; tp->name; tp++)
++	if (strcmp(buff, tp->name) == 0) {
++	    yylval->Number = tp->value;
++	    return tp->type;
++	}
++
++    /* Avoid confusion with 'T' in RFC3339 and 't' in Military timezones */
++    if (!vars->yyHaveTime && strcmp(buff, "t") == 0)
++	return tRFC3339;
++ 
++    /* Military timezones. */
++   if (buff[1] == '\0' && isalpha(*buff)) {
++	for (tp = MilitaryTable; tp->name; tp++)
++	    if (strcmp(buff, tp->name) == 0) {
++		yylval->Number = tp->value;
++		return tp->type;
++	    }
++    }
++
++    /* Drop out any periods and try the timezone table again. */
++    for (i = 0, p = q = buff; *q; q++)
++	if (*q != '.')
++	    *p++ = *q;
++	else
++	    i++;
++    *p = '\0';
++    if (i)
++	for (tp = TimezoneTable; tp->name; tp++)
++	    if (strcmp(buff, tp->name) == 0) {
++		yylval->Number = tp->value;
++		return tp->type;
++	    }
++
++    for (i = 1; i <= 12; i++)
++	for (abbrev = 0; abbrev < 2; abbrev++)
++	    if (PTimeIsMonthName(buff, i, abbrev)) {
++		yylval->Number = i;
++		return tMONTH;
++	    }
++
++    for (i = 1; i <= 7; i++)
++	for (abbrev = 0; abbrev < 2; abbrev++)
++	    if (PTimeIsDayName(buff, i, abbrev)) {
++		yylval->Number = i;
++		return tDAY;
++	    }
++
++    return tID;
++}
++
++
++#ifdef _MSC_VER
++#pragma warning(disable:4211)
++#endif
++
++#ifndef __GNUC__
++static
++#endif
++int yylex(YYSTYPE * yylval, struct Variables * vars)
++{
++    register char	*p;
++    char		buff[20];
++    int			Count;
++    int			sign;
++    register int	c = PTimeGetChar(vars->yyInput);
++
++    while (c != EOF && c != '\0' && c != '\n') {
++	while (isspace(c))
++	    c = PTimeGetChar(vars->yyInput);
++
++	if (isdigit(c) || c == '-' || c == '+') {
++	    if (c == '-' || c == '+') {
++		sign = c == '-' ? -1 : 1;
++		if (!isdigit(c = PTimeGetChar(vars->yyInput)))
++		    /* skip the '-' sign */
++		    continue;
++	    }
++	    else
++		sign = 0;
++	    yylval->Number = 0;
++            Count = 0; /* Count number of digits */
++	    while (isdigit(c)) {
++		yylval->Number = 10 * yylval->Number + c - '0';
++		c = PTimeGetChar(vars->yyInput);
++                Count++;
++	    }
++	    PTimeUngetChar(vars->yyInput, c);
++	    if (sign < 0)
++		yylval->Number = -yylval->Number;
++            if (Count == 4)
++              return sign ? tS4DIGITNUMBER : t4DIGITNUMBER;
++	    if (sign)
++              return tSNUMBER;
++            if (Count == 6)
++              return t6DIGITNUMBER;
++            if (Count == 8)
++              return t8DIGITNUMBER;
++            return tUNUMBER;
++	}
++
++	if (isalpha(c)) {
++	    for (p = buff; isalpha(c) || c == '.'; c = PTimeGetChar(vars->yyInput)) {
++		if (p < &buff[sizeof(buff)-1])
++		    *p++ = (char)c;
++	    }
++	    *p = '\0';
++	    PTimeUngetChar(vars->yyInput, c);
++	    return LookupWord(buff, yylval, vars);
++	}
++
++	if (c != '(')
++	    return c;
++
++	Count = 0;
++	do {
++	    c = PTimeGetChar(vars->yyInput);
++	    if (c == '\0' || c == EOF)
++		return c;
++	    if (c == '(')
++		Count++;
++	    else if (c == ')')
++		Count--;
++	} while (Count > 0);
++    }
++
++    if (c == '\n')
++        PTimeUngetChar(vars->yyInput, c);
++
++    return EOF;
++}
++
++#ifdef _MSC_VER
++#pragma warning(default:4211)
++#endif
++
++
++static time_t ToSeconds(time_t Hours, time_t Minutes, time_t Seconds,
++			MERIDIAN Meridian)
++{
++    if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
++	return -1;
++    switch (Meridian) {
++    case MER24:
++	if (Hours < 0 || Hours > 23)
++	    return -1;
++	return (Hours * 60L + Minutes) * 60L + Seconds;
++    case MERam:
++	if (Hours < 1 || Hours > 12)
++	    return -1;
++	if (Hours == 12)
++	    Hours = 0;
++	return (Hours * 60L + Minutes) * 60L + Seconds;
++    case MERpm:
++	if (Hours < 1 || Hours > 12)
++	    return -1;
++	if (Hours == 12)
++	    Hours = 0;
++	return ((Hours + 12) * 60L + Minutes) * 60L + Seconds;
++    }
++
++    return -1;
++}
++
++
++static time_t Convert(time_t Month, time_t Day, time_t Year,
++		      time_t Hours, time_t Minutes, time_t Seconds,
++		      MERIDIAN Meridian, DSTMODE DSTmode, time_t yyTimezone)
++{
++    static int DaysInMonth[12] = {
++	31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
++    };
++    time_t	tod;
++    time_t	Julian;
++    int		i;
++
++    if (Year < 0)
++	Year = -Year;
++    if (Year < 70)
++	Year += 2000;
++    else if (Year < 100)
++	Year += 1900;
++    DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)
++		    ? 29 : 28;
++    /* Checking for 2038 bogusly assumes that time_t is 32 bits.  But
++       I'm too lazy to try to check for time_t overflow in another way.  */
++    if (Year < EPOCH || Year > 2038
++     || Month < 1 || Month > 12
++     /* Lint fluff:  "conversion from long may lose accuracy" */
++     || Day < 1 || Day > DaysInMonth[(int)--Month])
++	return -1;
++
++    for (Julian = Day - 1, i = 0; i < Month; i++)
++	Julian += DaysInMonth[i];
++    for (i = EPOCH; i < Year; i++)
++	Julian += 365 + (i % 4 == 0);
++    Julian *= SECSPERDAY;
++    Julian += yyTimezone * 60L;
++    if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
++	return -1;
++    Julian += tod;
++    if (DSTmode == DSTon
++     || (DSTmode == DSTmaybe && localtime(&Julian)->tm_isdst))
++	Julian -= 60 * 60;
++    return Julian;
++}
++
++
++static time_t DSTcorrect(time_t Start, time_t Future)
++{
++    time_t	StartDay;
++    time_t	FutureDay;
++
++    StartDay = (localtime(&Start)->tm_hour + 1) % 24;
++    FutureDay = (localtime(&Future)->tm_hour + 1) % 24;
++    return (Future - Start) + (StartDay - FutureDay) * 60L * 60L;
++}
++
++
++static time_t RelativeDate(time_t Start, time_t DayOrdinal, time_t DayNumber)
++{
++    struct tm	*tm;
++    time_t	now;
++
++    now = Start;
++    tm = localtime(&now);
++    now += SECSPERDAY * ((DayNumber - tm->tm_wday + 7) % 7);
++    now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1);
++    return DSTcorrect(Start, now);
++}
++
++
++static time_t RelativeMonth(time_t Start, time_t RelMonth, time_t yyTimezone)
++{
++    struct tm	*tm;
++    time_t	Month;
++    time_t	Year;
++
++    if (RelMonth == 0)
++	return 0;
++    tm = localtime(&Start);
++    Month = 12 * tm->tm_year + tm->tm_mon + RelMonth;
++    Year = Month / 12 + 1900;
++    Month = Month % 12 + 1;
++    return DSTcorrect(Start,
++	    Convert(Month, (time_t)tm->tm_mday, Year,
++		(time_t)tm->tm_hour, (time_t)tm->tm_min, (time_t)tm->tm_sec,
++		MER24, DSTmaybe, yyTimezone));
++}
++
++
++static void SetPossibleDate(struct Variables * var,
++			      time_t possible_day,
++			      time_t possible_month,
++			      time_t possible_year)
++{
++    int date_order;
++
++    if (possible_day > 31) /* test for ymd */
++	date_order = 2;
++    else if (possible_day > 12) /* test for dmy */
++	date_order = 1;
++    else if (possible_month > 12) /* test for mdy */
++	date_order = 0;
++    else
++	date_order = PTimeGetDateOrder();
++
++    switch (date_order) {
++      case 0 :
++	var->yyDay   = possible_month;
++	var->yyMonth = possible_day;
++	var->yyYear  = possible_year;
++	break;
++      case 1 :
++	var->yyDay   = possible_day;
++	var->yyMonth = possible_month;
++	var->yyYear  = possible_year;
++	break;
++      default :
++	var->yyDay   = possible_year;
++	var->yyMonth = possible_month;
++	var->yyYear  = possible_day;
++    }
++}
++
++
++time_t STDAPICALLTYPE PTimeParse(void * inputStream, struct tm * now, int timezone)
++{
++    time_t		Start;
++    struct Variables	var;
++
++
++    var.yyInput = inputStream;
++    var.yyYear = now->tm_year + 1900;
++    var.yyMonth = now->tm_mon + 1;
++    var.yyDay = now->tm_mday;
++    var.yyTimezone = -timezone;
++    var.yyDSTmode = DSTmaybe;
++    var.yyHour = 0;
++    var.yyMinutes = 0;
++    var.yySeconds = 0;
++    var.yyMeridian = MER24;
++    var.yyRelSeconds = 0;
++    var.yyRelMonth = 0;
++    var.yyHaveDate = 0;
++    var.yyHaveDay = 0;
++    var.yyHaveRel = 0;
++    var.yyHaveTime = 0;
++    var.yyHaveZone = 0;
++
++    yyparse(&var);
++
++    if (var.yyHaveTime > 1 || var.yyHaveZone > 1 ||
++	var.yyHaveDate > 1 || var.yyHaveDay > 1)
++	return -1;
++
++    if (var.yyHaveTime == 0 && var.yyHaveZone == 0 &&
++	var.yyHaveDate == 0 && var.yyHaveDay == 0 && var.yyHaveRel == 0)
++	return -1;
++
++    if (var.yyHaveDate || var.yyHaveTime || var.yyHaveDay) {
++	Start = Convert(var.yyMonth, var.yyDay, var.yyYear,
++			var.yyHour, var.yyMinutes, var.yySeconds,
++			var.yyMeridian, var.yyDSTmode, var.yyTimezone);
++	if (Start < 0)
++	    return -1;
++    }
++    else {
++	time(&Start);
++	if (!var.yyHaveRel)
++	    Start -= ((now->tm_hour * 60L + now->tm_min) * 60L) + now->tm_sec;
++    }
++
++    Start += var.yyRelSeconds;
++    Start += RelativeMonth(Start, var.yyRelMonth, var.yyTimezone);
++
++    if (var.yyHaveDay && !var.yyHaveDate)
++	Start += RelativeDate(Start, var.yyDayOrdinal, var.yyDayNumber);
++
++    /* Have to do *something* with a legitimate -1 so it's distinguishable
++     * from the error return value.  (Alternately could set errno on error.) */
++    return Start == -1 ? 0 : Start;
++}
++
++
++#ifdef _MSC_VER
++#pragma warning(disable:4028 4100 4211)
++#endif
++
++#ifdef __GNUC__
++int yyerror(const char * s)
++{
++  return 0;
++}
++#else
++static void yyerror(const char * s)
++{
++}
++#endif
++
++#ifdef _MSC_VER
++#pragma warning(default:4028 4100 4211)
++#endif
++
++
++/* End of file ***************************************************************/
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index be1e6fdb4a5..9f9b188322f 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -1,50 +1,31 @@
-x@{builderDefsPackage
-  , autoconf, automake, libtool, doxygen, pkgconfig, bison, flex, unixODBC
-  , openssl, openldap, cyrus_sasl, krb5, expat, SDL, libdv, libv4l, alsaLib
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, pkgconfig, bison, flex, unixODBC
+, openssl, openldap, cyrus_sasl, krb5, expat, SDL, libdv, libv4l, alsaLib }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="ptlib";
-    baseVersion="2.6";
-    patchlevel="7";
-    version="${baseVersion}.${patchlevel}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${baseVersion}/${name}.tar.bz2";
-    hash="0zxrygl2ivbciqf97yd9n67ch9vd9gp236w96i6ia8fxzqjq5lkx";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "ptlib-2.10.10";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/ptlib/2.10/${name}.tar.xz";
+    sha256 = "7fcaabe194cbd3bc0b370b951dffd19cfe7ea0298bfff6aecee948e97f3207e4";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ pkgconfig bison flex unixODBC openssl openldap 
+                  cyrus_sasl krb5 expat SDL libdv libv4l alsaLib ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  enableParallelBuilding = true;
+
+  patches = [ ./bison.patch ];
       
-  meta = {
+  meta = with stdenv.lib; {
     description = "Portable Tools from OPAL VoIP";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/sources/ptlib/";
     };
   };
-}) x
+}
 
diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index f78a6073b71..c5e26c1dfad 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libupnp-1.6.6";
+  name = "libupnp-1.6.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/pupnp/${name}.tar.bz2";
-    sha256 = "1cxvn0v8lcc5p70jc3j50a7rm12am6xr0l2fibi8075jqazcmmsq";
+    sha256 = "0amjv4lypvclmi4vim2qdyw5xa6v4x50zjgf682vahqjc0wjn55k";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
index 1da9ef193b5..952bdfa29ce 100644
--- a/pkgs/development/libraries/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
               EMSA3_SHA512      ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
     '';
 
+  patches = [ ./gcc47.patch ];
+
   configureFlags = "--no-separate-debug-info";
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/qca2/gcc47.patch b/pkgs/development/libraries/qca2/gcc47.patch
new file mode 100644
index 00000000000..08711884a57
--- /dev/null
+++ b/pkgs/development/libraries/qca2/gcc47.patch
@@ -0,0 +1,12 @@
+# Thanks to http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20120917/347917.html
+--- qca-2.0.3/src/botantools/botan/botan/secmem.h.orig 2007-04-19 23:26:13.000000000 +0200
++++ qca-2.0.3/src/botantools/botan/botan/secmem.h  2012-09-16 23:28:43.767480490 +0200
+@@ -214,7 +214,7 @@
+ 
+       SecureVector(u32bit n = 0) { MemoryRegion<T>::init(true, n); }
+       SecureVector(const T in[], u32bit n)
+-         { MemoryRegion<T>::init(true); set(in, n); }
++         { MemoryRegion<T>::init(true); this->set(in, n); }
+       SecureVector(const MemoryRegion<T>& in)
+          { MemoryRegion<T>::init(true); set(in); }
+       SecureVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
diff --git a/pkgs/development/libraries/qca2/ossl.nix b/pkgs/development/libraries/qca2/ossl.nix
index 153d3ba5746..d2b8778aa14 100644
--- a/pkgs/development/libraries/qca2/ossl.nix
+++ b/pkgs/development/libraries/qca2/ossl.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl, which}:
+{stdenv, fetchurl, fetchgit, qt4, qca2, openssl, which}:
 
 stdenv.mkDerivation rec {
   version = "2.0.0-beta3";
@@ -9,10 +9,10 @@ stdenv.mkDerivation rec {
   };
   # SVN version has stabilized and has a lot of fixes for fresh OpenSSL
   # Take the main source from there
-  svn_src = fetchsvn {
-    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/plugins/qca-ossl ; 
-    rev = 1115936;
-    sha256 =  "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b";
+  git_src = fetchgit {
+    url = git://anongit.kde.org/qca;
+    rev = "0a8b9db6613f2282fe492ff454412f502a6be410";
+    sha256 =  "1ebb97092f21b9152c6dda56cb33795bea4e83c82800848e800ddaaaf23a31e1";
   };
   buildInputs = [ qt4 qca2 openssl ];
   nativeBuildInputs = [ which ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   configureFlags="--no-separate-debug-info --with-qca=${qca2}
     --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
   preConfigure=''
-    cp ${svn_src}/qca-ossl.cpp .
+    cp ${git_src}/plugins/qca-ossl/qca-ossl.cpp .
 
     configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins"
   '';
diff --git a/pkgs/development/libraries/qimageblitz/default.nix b/pkgs/development/libraries/qimageblitz/default.nix
index 5800b562e6b..1f820b33e81 100644
--- a/pkgs/development/libraries/qimageblitz/default.nix
+++ b/pkgs/development/libraries/qimageblitz/default.nix
@@ -7,14 +7,16 @@ in
 
 stdenv.mkDerivation {
   name = "${pn}-${v}";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/${pn}/${pn}-${v}.tar.bz2";
     sha256 = "0pnaf3qi7rgkxzs2mssmslb3f9ya4cyx09wzwlis3ppyvf72j0p9";
   };
-  
+
   buildInputs = [ cmake qt4 ];
 
+  patches = [ ./qimageblitz-9999-exec-stack.patch ];
+
   meta = {
     description = "Graphical effect and filter library for KDE4";
     license = "BSD";
diff --git a/pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch b/pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch
new file mode 100644
index 00000000000..8692c240f7b
--- /dev/null
+++ b/pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch
@@ -0,0 +1,11 @@
+diff -uar qimageblitz/blitz/asm_scale.S qimageblitz~/blitz/asm_scale.S
+--- qimageblitz-orig/blitz/asm_scale.S	2007-10-17 01:17:57.000000000 +0200
++++ qimageblitz/blitz/asm_scale.S	2007-10-17 01:19:12.000000000 +0200
+@@ -814,3 +814,7 @@
+ SIZE(qimageScale_mmx_AARGBA)
+ 
+ #endif
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
++
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index 9b5cb0452d6..432b4358f7a 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ which ];
-  propagatedBuildInputs = [x11 libXft libXrender zlib libjpeg libpng];
+  propagatedBuildInputs = [libpng x11 libXft libXrender zlib libjpeg];
 
   configureFlags = "
     -v
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 59151d35326..1679b4953e7 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -16,7 +16,7 @@ with stdenv.lib;
 
 let
   v_maj = "4.8";
-  v_min = "5";
+  v_min = "6";
   vers = "${v_maj}.${v_min}";
 in
 
@@ -30,9 +30,12 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qt/"
       + "${v_maj}/${vers}/qt-everywhere-opensource-src-${vers}.tar.gz";
-    sha256 = "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb";
+    sha256 = "0b036iqgmbbv37dgwwfihw3mihjbnw3kb5kaisdy0qi8nn8xs54b";
   };
 
+  # The version property must be kept because it will be included into the QtSDK package name
+  version = vers;
+
   prePatch = ''
     substituteInPlace configure --replace /bin/pwd pwd
     substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
@@ -135,8 +138,7 @@ stdenv.mkDerivation rec {
   '';
 
   crossAttrs = let
-    isMingw = stdenv.cross.config == "i686-pc-mingw32" ||
-      stdenv.cross.config == "x86_64-w64-mingw32";
+    isMingw = stdenv.cross.libc == "msvcrt";
   in {
     # I've not tried any case other than i686-pc-mingw32.
     # -nomake tools:   it fails linking some asian language symbols
@@ -171,8 +173,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage    = http://qt-project.org/;
     description = "A cross-platform application framework for C++";
-    license     = "GPL/LGPL";
+    license     = licenses.lgpl21Plus; # or gpl3
     maintainers = with maintainers; [ lovek323 phreedom sander urkud ];
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix
new file mode 100644
index 00000000000..fe290fd69fc
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/default.nix
@@ -0,0 +1,166 @@
+{ stdenv, fetchurl, substituteAll, libXrender, libXext
+, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
+, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
+, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
+, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
+, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
+, alsaLib, gstreamer, gst_plugins_base
+, pulseaudio, bison, flex, gperf, ruby, libwebp
+, flashplayerFix ? false
+, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
+, buildDocs ? false
+, buildExamples ? false
+, buildTests ? false
+, developerBuild ? false
+}:
+
+with stdenv.lib;
+
+let
+  v_maj = "5.2";
+  v_min = "1";
+  ver = "${v_maj}.${v_min}";
+in
+
+stdenv.mkDerivation rec {
+  name = "qt-${ver}";
+
+  src = fetchurl {
+    url = "http://download.qt-project.org/official_releases/qt/"
+      + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
+    sha256 = "18bxrnyis7xbhpxpf7w42i54hs4qr062b1wx4c0dpmja3lc29sc4";
+  };
+
+  # The version property must be kept because it will be included into the QtSDK package name
+  version = ver;
+
+  prePatch = ''
+    substituteInPlace configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+    substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
+        --replace /usr/share/X11/locale ${libX11}/share/X11/locale \
+        --replace /usr/lib/X11/locale ${libX11}/share/X11/locale
+    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
+  '';
+
+  patches =
+    [ ./glib-2.32.patch
+      (substituteAll {
+        src = ./qt-5.2-dlopen-absolute-paths.patch;
+        inherit cups icu libXfixes;
+        glibc = stdenv.gcc.libc;
+        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
+      })
+    ] ++ optional gtkStyle (substituteAll {
+        src = ./dlopen-gtkstyle.patch;
+        # substituteAll ignores env vars starting with capital letter
+        gconf = GConf;
+        inherit gnome_vfs libgnomeui gtk;
+      })
+    ++ optional flashplayerFix (substituteAll {
+        src = ./dlopen-webkit-nsplugin.patch;
+        inherit gtk gdk_pixbuf;
+      });
+
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
+    export MAKEFLAGS=-j$NIX_BUILD_CORES
+  '';
+
+  prefixKey = "-prefix ";
+
+  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
+  # TODO Remove obsolete and useless flags once the build will be totally mastered
+  configureFlags = ''
+    -verbose
+    -confirm-license
+    -opensource
+
+    -release
+    -shared
+    -c++11
+    ${optionalString developerBuild "-developer-build"}
+    -largefile
+    -accessibility
+    -rpath
+    -optimized-qmake
+    -strip
+    -reduce-relocations
+    -system-proxies
+
+    -gui
+    -widgets
+    -opengl desktop
+    -javascript-jit
+    -qml-debug
+    -nis
+    -iconv
+    -icu
+    -pch
+    -glib
+    -xcb
+    -qpa xcb
+    -${optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -system-zlib
+    -system-libpng
+    -system-libjpeg
+    -system-xcb
+    -system-xkbcommon
+    -openssl-linked
+    -dbus-linked
+
+    -system-sqlite
+    -${if mysql != null then "plugin" else "no"}-sql-mysql
+    -${if postgresql != null then "plugin" else "no"}-sql-psql
+
+    -make libs
+    -make tools
+    -${optionalString (buildExamples == false) "no"}make examples
+    -${optionalString (buildTests == false) "no"}make tests
+  '';
+
+  propagatedBuildInputs = [
+    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
+    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
+    zlib libjpeg libpng libtiff sqlite icu
+    libwebp alsaLib gstreamer gst_plugins_base pulseaudio
+    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
+  ]
+  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
+  # doesn't remain a runtime-dep if not used
+  ++ optionals mesaSupported [ mesa mesa_glu ]
+  ++ optional (cups != null) cups
+  ++ optional (mysql != null) mysql
+  ++ optional (postgresql != null) postgresql;
+
+  buildInputs = [ gdb bison flex gperf ruby ];
+
+  nativeBuildInputs = [ python perl pkgconfig ];
+
+  postInstall =
+    ''
+      ${optionalString buildDocs ''
+        make docs && make install_docs
+      ''}
+
+      # Don't retain build-time dependencies like gdb and ruby.
+      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
+    '';
+
+  enableParallelBuilding = true; # often fails on Hydra, as well as qt4
+
+  meta = {
+    homepage = http://qt-project.org;
+    description = "A cross-platform application framework for C++";
+    license = "GPL/LGPL";
+    maintainers = [ maintainers.bbenoist ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch
new file mode 100644
index 00000000000..05ff30b7ac3
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch
@@ -0,0 +1,36 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp	2013-08-25 20:03:30.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp	2013-09-25 17:58:04.229373681 +0200
+@@ -348,7 +348,7 @@
+ void QGtkStylePrivate::resolveGtk() const
+ {
+     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+-    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
++    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+ 
+     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
+     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
+@@ -461,8 +461,8 @@
+     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
+     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
+ 
+-    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
+-    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
++    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
++    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
+ }
+ 
+ /* \internal
+@@ -630,9 +630,9 @@
+ static bool resolveGConf()
+ {
+     if (!QGtkStylePrivate::gconf_client_get_default) {
+-        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
+-        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
+-        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
++        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
++        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
++        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
+     }
+     return (QGtkStylePrivate::gconf_client_get_default !=0);
+ }
diff --git a/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch
new file mode 100644
index 00000000000..7cd90551454
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch
@@ -0,0 +1,36 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-08-25 20:04:47.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-09-25 17:59:45.925363807 +0200
+@@ -132,7 +132,7 @@
+         }
+     }
+ 
+-    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
+     if (library.load()) {
+         typedef void *(*gtk_init_check_ptr)(int*, char***);
+         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp	2013-08-25 20:04:47.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp	2013-09-25 18:00:29.551215155 +0200
+@@ -702,7 +702,7 @@
+     // support gdk based plugins (like flash) that use a different X connection.
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2013-08-25 20:04:42.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2013-09-25 18:04:54.955408293 +0200
+@@ -64,7 +64,7 @@
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ 
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
diff --git a/pkgs/development/libraries/qt-5/glib-2.32.patch b/pkgs/development/libraries/qt-5/glib-2.32.patch
new file mode 100644
index 00000000000..eb71e79d147
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/glib-2.32.patch
@@ -0,0 +1,12 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+--- qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2013-08-25 20:04:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2013-09-25 18:09:22.154639482 +0200
+@@ -81,7 +81,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
diff --git a/pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch b/pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch
new file mode 100644
index 00000000000..3163e235d02
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch
@@ -0,0 +1,36 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-08-25 20:03:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-09-25 17:43:14.047015411 +0200
+@@ -103,7 +103,7 @@
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
+         if (!lib.load())
+             return;
+     }
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-08-25 20:03:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-09-25 17:51:29.834674976 +0200
+@@ -379,7 +379,7 @@
+             {
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
+-                QLibrary lib(QLatin1String("GL"));
++                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+             }
+         }
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp	2013-08-25 20:03:36.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp	2013-09-25 17:40:35.895942599 +0200
+@@ -91,7 +91,7 @@
+ 
+ static void resolveCups()
+ {
+-    QLibrary cupsLib(QLatin1String("cups"), 2);
++    QLibrary cupsLib(QLatin1String("@cups@/lib/libcups"), 2);
+     if(cupsLib.load()) {
+         _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
+         _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
diff --git a/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch b/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch
new file mode 100644
index 00000000000..66cf342c107
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch
@@ -0,0 +1,24 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-08-25 20:03:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-09-25 17:43:14.047015411 +0200
+@@ -103,7 +103,7 @@
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
+         if (!lib.load())
+             return;
+     }
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-08-25 20:03:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-09-25 17:51:29.834674976 +0200
+@@ -379,7 +379,7 @@
+             {
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
+-                QLibrary lib(QLatin1String("GL"));
++                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+             }
+         }
diff --git a/pkgs/development/libraries/qt-5/qt-5.3.nix b/pkgs/development/libraries/qt-5/qt-5.3.nix
new file mode 100644
index 00000000000..1722a1e52a1
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/qt-5.3.nix
@@ -0,0 +1,165 @@
+{ stdenv, fetchurl, substituteAll, libXrender, libXext
+, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
+, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
+, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
+, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
+, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
+, alsaLib, gstreamer, gst_plugins_base
+, pulseaudio, bison, flex, gperf, ruby, libwebp
+, flashplayerFix ? false
+, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
+, buildDocs ? false
+, buildExamples ? false
+, buildTests ? false
+, developerBuild ? false
+}:
+
+with stdenv.lib;
+
+let
+  v_maj = "5.3";
+  v_min = "0";
+  ver = "${v_maj}.${v_min}";
+in
+
+stdenv.mkDerivation rec {
+  name = "qt-${ver}";
+
+  src = fetchurl {
+    url = "http://download.qt-project.org/official_releases/qt/"
+      + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
+    sha256 = "09gp19377zpqyfzk063b3pjz8gjm2x7xsj71bdpmnhs1scz0khcj";
+  };
+
+  # The version property must be kept because it will be included into the QtSDK package name
+  version = ver;
+
+  prePatch = ''
+    substituteInPlace configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+    substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
+        --replace /usr/share/X11/locale ${libX11}/share/X11/locale \
+        --replace /usr/lib/X11/locale ${libX11}/share/X11/locale
+    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
+  '';
+
+  patches =
+    [ ./glib-2.32.patch
+      (substituteAll {
+        src = ./qt-5.3-dlopen-absolute-paths.patch;
+        inherit cups icu libXfixes;
+        glibc = stdenv.gcc.libc;
+        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
+      })
+    ] ++ optional gtkStyle (substituteAll {
+        src = ./dlopen-gtkstyle.patch;
+        # substituteAll ignores env vars starting with capital letter
+        gconf = GConf;
+        inherit gnome_vfs libgnomeui gtk;
+      })
+    ++ optional flashplayerFix (substituteAll {
+        src = ./dlopen-webkit-nsplugin.patch;
+        inherit gtk gdk_pixbuf;
+      });
+
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
+    export MAKEFLAGS=-j$NIX_BUILD_CORES
+  '';
+
+  prefixKey = "-prefix ";
+
+  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
+  # TODO Remove obsolete and useless flags once the build will be totally mastered
+  configureFlags = ''
+    -verbose
+    -confirm-license
+    -opensource
+
+    -release
+    -shared
+    -c++11
+    ${optionalString developerBuild "-developer-build"}
+    -largefile
+    -accessibility
+    -rpath
+    -optimized-qmake
+    -strip
+    -reduce-relocations
+    -system-proxies
+
+    -gui
+    -widgets
+    -opengl desktop
+    -qml-debug
+    -nis
+    -iconv
+    -icu
+    -pch
+    -glib
+    -xcb
+    -qpa xcb
+    -${optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -system-zlib
+    -system-libpng
+    -system-libjpeg
+    -system-xcb
+    -system-xkbcommon
+    -openssl-linked
+    -dbus-linked
+
+    -system-sqlite
+    -${if mysql != null then "plugin" else "no"}-sql-mysql
+    -${if postgresql != null then "plugin" else "no"}-sql-psql
+
+    -make libs
+    -make tools
+    -${optionalString (buildExamples == false) "no"}make examples
+    -${optionalString (buildTests == false) "no"}make tests
+  '';
+
+  propagatedBuildInputs = [
+    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
+    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
+    zlib libjpeg libpng libtiff sqlite icu
+    libwebp alsaLib gstreamer gst_plugins_base pulseaudio
+    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
+  ]
+  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
+  # doesn't remain a runtime-dep if not used
+  ++ optionals mesaSupported [ mesa mesa_glu ]
+  ++ optional (cups != null) cups
+  ++ optional (mysql != null) mysql
+  ++ optional (postgresql != null) postgresql;
+
+  buildInputs = [ gdb bison flex gperf ruby ];
+
+  nativeBuildInputs = [ python perl pkgconfig ];
+
+  postInstall =
+    ''
+      ${optionalString buildDocs ''
+        make docs && make install_docs
+      ''}
+
+      # Don't retain build-time dependencies like gdb and ruby.
+      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
+    '';
+
+  enableParallelBuilding = true; # often fails on Hydra, as well as qt4
+
+  meta = {
+    homepage = http://qt-project.org;
+    description = "A cross-platform application framework for C++";
+    license = "GPL/LGPL";
+    maintainers = [ maintainers.bbenoist maintainers.qknight ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
new file mode 100644
index 00000000000..c1386277526
--- /dev/null
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "qwt-6.1.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    sha256 = "00klw6jsn8z3dnhxg52pqg3hg5mw2sih8prwjxm1hzcivgqxkqx7";
+  };
+
+  propagatedBuildInputs = [ qt4 ];
+
+  postPatch = ''
+    sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
+  '';
+
+  configurePhase = "qmake -after doc.path=$out/share/doc/${name} -r";
+
+  meta = with stdenv.lib; {
+    description = "Qt widgets for technical applications";
+    homepage = http://qwt.sourceforge.net/;
+    # LGPL 2.1 plus a few exceptions (more liberal)
+    license = "Qwt License, Version 1.0";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix
new file mode 100644
index 00000000000..84a7a9b4ccf
--- /dev/null
+++ b/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake, openssl, popt, xmlto }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.1";
+  name = "rabbitmq-c-${version}";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/alanxz/rabbitmq-c/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "01m4n043hzhhxky8z67zj3r4gbg3mwcqbwqr9nms9lqbfaa70x93";
+  };
+
+  buildInputs = [ cmake openssl popt xmlto ];
+
+  meta = {
+    description = "RabbitMQ C AMQP client library";
+    homepage = https://github.com/alanxz/rabbitmq-c;
+    license = with stdenv.lib.licenses; mit;
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/rabbitmq-java-client/default.nix b/pkgs/development/libraries/rabbitmq-java-client/default.nix
new file mode 100644
index 00000000000..2183aa83e20
--- /dev/null
+++ b/pkgs/development/libraries/rabbitmq-java-client/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, ant, jdk, jre, python, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "rabbitmq-java-client-3.3.4";
+
+  src = fetchurl {
+    url = "http://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-3.3.4.tar.gz";
+    sha256 = "03kspkgzzjsbq6f8yl2zj5m30qwgxv3l58hrbf6gcgxb5rpfk6sh";
+  };
+
+  buildInputs = [ ant jdk python makeWrapper ];
+
+  buildPhase = "ant dist";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/java
+    cp build/lib/*.jar lib/*.jar $out/share/java
+
+    # There is a script in the source archive, but ours is cleaner
+    makeWrapper ${jre}/bin/java $out/bin/PerfTest \
+      --add-flags "-Djava.awt.headless=true -cp $out/share/java/\* com.rabbitmq.examples.PerfTest"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "RabbitMQ Java client library which allows Java code to interface to AMQP servers";
+    homepage = http://www.rabbitmq.com/java-client.html;
+    license = [ "MPLv1.1" "GPLv2" ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index 26ef47199e3..301fcc84b9f 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "re2";
-  version = "20130802";
+  version = "20140304";
 
   src = fetchurl {
     url = "https://re2.googlecode.com/files/${name}-${version}.tgz";
-    sha256 = "12yxbjsnc1ym7jny470wbnb6h3rgsfv0z75vdp12npklck5nmwhp";
+    sha256 = "19wn0472c9dsxp35d0m98hlwhngx1f2xhxqgr8cb5x72gnjx3zqb";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/readline/no-arch_only-6.3.patch b/pkgs/development/libraries/readline/no-arch_only-6.3.patch
new file mode 100644
index 00000000000..7c46dbad962
--- /dev/null
+++ b/pkgs/development/libraries/readline/no-arch_only-6.3.patch
@@ -0,0 +1,13 @@
+diff -ru -x '*~' readline-6.3-orig/support/shobj-conf readline-6.3/support/shobj-conf
+--- support/shobj-conf	2014-02-24 03:06:29.000000000 +0100
++++ support/shobj-conf	2014-07-22 11:18:52.000000000 +0200
+@@ -194,9 +194,6 @@
+ 	# Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
+ 	*)
+ 		case "${host_os}" in
+-		darwin[89]*|darwin1[012]*)
+-			SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
+-			;;
+ 		 *) 	# Mac OS X 10.9 (Mavericks) and later
+ 			SHOBJ_ARCHFLAGS=
+ 			# for 32 and 64bit universal library
diff --git a/pkgs/development/libraries/readline/no-arch_only.patch b/pkgs/development/libraries/readline/no-arch_only.patch
new file mode 100644
index 00000000000..b23eab5d9d7
--- /dev/null
+++ b/pkgs/development/libraries/readline/no-arch_only.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' readline-6.2-orig/support/shobj-conf readline-6.2/support/shobj-conf
+--- support/shobj-conf	2009-10-28 14:20:21.000000000 +0100
++++ support/shobj-conf	2014-07-01 13:03:28.000000000 +0200
+@@ -168,8 +168,8 @@
+ 	SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
+ 	SHLIB_LIBSUFF='dylib'
+ 
+-	SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`'
+-	SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
++	SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup'
++	SHLIB_XLDFLAGS='-dynamiclib -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ 
+ 	SHLIB_LIBS='-lncurses'	# see if -lcurses works on MacOS X 10.1 
+ 	;;
diff --git a/pkgs/development/libraries/readline/readline-6.2-patches.nix b/pkgs/development/libraries/readline/readline-6.2-patches.nix
index 719face2135..9fdcb3743b7 100644
--- a/pkgs/development/libraries/readline/readline-6.2-patches.nix
+++ b/pkgs/development/libraries/readline/readline-6.2-patches.nix
@@ -5,4 +5,5 @@ patch: [
 (patch "002" "1m670g2xzib6r81315q9r24nh9brmxkpq07acch1fwxmih94jqqy")
 (patch "003" "0x13c9wir4r44v2vdg96y0ahn8kl3wcmb5y0xn15yvid6pzk28fb")
 (patch "004" "0xjlkxfssfsd6jwbqhfjs4hybcps0b9zgz8v86vbhnzag4j39g89")
+(patch "005" "1x61bjl3wgs1gwla9b3y1hh12m1j5qlbis22258mljjl9mg900pg")
 ]
diff --git a/pkgs/development/libraries/readline/readline4.nix b/pkgs/development/libraries/readline/readline4.nix
deleted file mode 100644
index d9dcdc9f048..00000000000
--- a/pkgs/development/libraries/readline/readline4.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation {
-  name = "readline-4.3";
-  src = fetchurl {
-    url = mirror://gnu/readline/readline-4.3.tar.gz;
-    md5 = "f86f7cb717ab321fe15f1bbcb058c11e";
-  };
-  propagatedBuildInputs = [ncurses];
-}
diff --git a/pkgs/development/libraries/readline/readline5.nix b/pkgs/development/libraries/readline/readline5.nix
deleted file mode 100644
index c208d5b9fe6..00000000000
--- a/pkgs/development/libraries/readline/readline5.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation {
-  name = "readline-5.2";
-  
-  src = fetchurl {
-    url = mirror://gnu/readline/readline-5.2.tar.gz;
-    sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
-  };
-  
-  propagatedBuildInputs = [ncurses];
-  
-  patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch;
-}
diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix
new file mode 100644
index 00000000000..356c2c055bd
--- /dev/null
+++ b/pkgs/development/libraries/readline/readline6.3.nix
@@ -0,0 +1,55 @@
+{ fetchzip, stdenv, ncurses }:
+
+stdenv.mkDerivation (rec {
+  name = "readline-6.3p08";
+
+  src = fetchzip {
+    #url = "mirror://gnu/readline/${name}.tar.gz";
+    url = "http://git.savannah.gnu.org/cgit/readline.git/snapshot/"
+      + "readline-a73b98f779b388a5d0624e02e8bb187246e3e396.tar.gz";
+    sha256 = "19ji3wrv4fs79fd0nkacjy9q94pvy2cm66yb3aqysahg0cbrz5l1";
+  };
+
+  propagatedBuildInputs = [ncurses];
+
+  patchFlags = "-p0";
+
+  patches =
+    [ ./link-against-ncurses.patch
+      ./no-arch_only-6.3.patch
+    ];
+
+  meta = with stdenv.lib; {
+    description = "GNU Readline, a library for interactive line editing";
+
+    longDescription = ''
+      The GNU Readline library provides a set of functions for use by
+      applications that allow users to edit command lines as they are
+      typed in.  Both Emacs and vi editing modes are available.  The
+      Readline library includes additional functions to maintain a
+      list of previously-entered command lines, to recall and perhaps
+      reedit those lines, and perform csh-like history expansion on
+      previous commands.
+
+      The history facilites are also placed into a separate library,
+      the History library, as part of the build process.  The History
+      library may be used without Readline in applications which
+      desire its capabilities.
+    '';
+
+    homepage = http://savannah.gnu.org/projects/readline/;
+
+    license = licenses.gpl3Plus;
+
+    maintainers = [ maintainers.ludo ];
+
+    platforms = platforms.unix;
+  };
+}
+
+//
+
+# Don't run the native `strip' when cross-compiling.
+(if (stdenv ? cross)
+ then { dontStrip = true; }
+ else { }))
diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/readline6.nix
index 0826e6c5f7c..0559113285c 100644
--- a/pkgs/development/libraries/readline/readline6.nix
+++ b/pkgs/development/libraries/readline/readline6.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation (rec {
 
   patchFlags = "-p0";
   patches =
-    [ ./link-against-ncurses.patch ]
+    [ ./link-against-ncurses.patch
+      ./no-arch_only.patch
+    ]
     ++
     (let
        patch = nr: sha256:
@@ -43,7 +45,7 @@ stdenv.mkDerivation (rec {
 
     homepage = http://savannah.gnu.org/projects/readline/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/libraries/readline/shobj-darwin.patch b/pkgs/development/libraries/readline/shobj-darwin.patch
deleted file mode 100644
index a9199ca3e89..00000000000
--- a/pkgs/development/libraries/readline/shobj-darwin.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/support/shobj-conf.orig	2006-04-11 06:15:43.000000000 -0700
-+++ b/support/shobj-conf	2007-11-08 01:15:43.000000000 -0800
-@@ -171,7 +171,7 @@
- 	SHLIB_LIBSUFF='dylib'
- 
- 	case "${host_os}" in
--	darwin[78]*)	SHOBJ_LDFLAGS=''
-+	darwin[789]*)	SHOBJ_LDFLAGS=''
- 			SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- 			;;
- 	*)		SHOBJ_LDFLAGS='-dynamic'
diff --git a/pkgs/development/libraries/rubberband/default.nix b/pkgs/development/libraries/rubberband/default.nix
index 9e606967ab1..b0707ad15f0 100644
--- a/pkgs/development/libraries/rubberband/default.nix
+++ b/pkgs/development/libraries/rubberband/default.nix
@@ -2,20 +2,21 @@
 , vampSDK, ladspaH }:
 
 stdenv.mkDerivation {
-  name = "rubberband-1.7.0";
+  name = "rubberband-1.8.1";
 
   src = fetchurl {
-    url = http://code.breakfastquay.com/attachments/download/23/rubberband-1.7.0.tar.bz2;
-    sha256 = "10pnfzaiws6bi17qlyj3r0alj2nvm11pkd14nms6yxas8c7gwdw0";
+    url = http://code.breakfastquay.com/attachments/download/23/rubberband-1.8.1.tar.bz2;
+    sha256 = "0x9bm2nqd6w2f35w2sqcp7h5z34i4w7mdg53m0vzjhffnnq6637z";
   };
 
   buildInputs = [ pkgconfig libsamplerate libsndfile fftw vampSDK ladspaH ];
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "High quality software library for audio time-stretching and pitch-shifting";
     homepage = http://www.breakfastquay.com/rubberband/index.html;
-    license = ["GPL"]; # commercial license availible as well, see homepage. You'll get some more optimized routines
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    # commercial license available as well, see homepage. You'll get some more optimized routines
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.goibhniu maintainers.marcweber ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/ruby_ncursesw_sup/default.nix b/pkgs/development/libraries/ruby_ncursesw_sup/default.nix
index 67041ad0607..8d55bafeb20 100644
--- a/pkgs/development/libraries/ruby_ncursesw_sup/default.nix
+++ b/pkgs/development/libraries/ruby_ncursesw_sup/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, ncurses, ruby, rubygems }:
 
 stdenv.mkDerivation rec {
-  name = ''ncursesw-sup-afd962b9c06108ff0643e98593c5605314d76917'';
+  name = "ncursesw-sup-${version}";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "https://github.com/sup-heliotrope/ncursesw-ruby/archive/afd962b9c06108ff0643e98593c5605314d76917.tar.gz";
-    sha256 = "13i286p4bm8zqg9xh96a1dg7wkywj9m6975gbh3w43d3rmfc1h6a";
+    url = "https://github.com/sup-heliotrope/ncursesw-ruby/archive/v${version}.tar.gz";
+    sha256 = "1fzmj5kqh2aql7r7jys8cyf7mb78kz71yc4a6gh74h9s8pybyhh7";
   };
 
   meta = {
@@ -32,12 +33,12 @@ stdenv.mkDerivation rec {
     # For some reason, the installation phase doesn't work with the default
     # make install command run by gem (we'll fix it and do it ourselves later)
     gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
-        --bindir "$out/bin" --no-rdoc --no-ri ncursesw-sup-1.3.1.2.gem || true
+        --bindir "$out/bin" --no-rdoc --no-ri ncursesw-${version}.gem || true
 
     # Needed for ruby to recognise the gem
     cp ncursesw.gemspec "$out/${ruby.gemPath}/specifications"
 
-    cd "$out/${ruby.gemPath}/gems/ncursesw-sup-1.3.1.2"
+    cd "$out/${ruby.gemPath}/gems/ncursesw-${version}"
     mkdir src
     mv lib src
     sed -i "s/srcdir = ./srcdir = src/" Makefile
diff --git a/pkgs/development/libraries/sbc/default.nix b/pkgs/development/libraries/sbc/default.nix
index 12662b9dea9..06411c1f22a 100644
--- a/pkgs/development/libraries/sbc/default.nix
+++ b/pkgs/development/libraries/sbc/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.bluez.org/;
 
-    licenses = stdenv.lib.licenses.gpl2;
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/science/biology/biolib/default.nix b/pkgs/development/libraries/science/biology/biolib/default.nix
index 4e4c3c55361..0461e5ebcf5 100644
--- a/pkgs/development/libraries/science/biology/biolib/default.nix
+++ b/pkgs/development/libraries/science/biology/biolib/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://biolib.open-bio.org/";
     description = "BioLib";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     longDescription = ''
       BioLib brings together a set of opensource libraries written
       in C/C++ and makes them available for major Bio* languages:
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
new file mode 100644
index 00000000000..71f9ef2a2b6
--- /dev/null
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, gfortran, openblas }:
+
+let version = "3.1.5";
+in
+stdenv.mkDerivation {
+  name = "arpack-${version}";
+  src = fetchurl {
+    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${version}.tar.gz";
+    sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2";
+  };
+
+  buildInputs = [ gfortran ];
+  propagatedBuildInputs = [ openblas ];
+
+  preConfigure = ''
+    substituteInPlace arpack.pc.in \
+      --replace "@BLAS_LIBS@" "-L${openblas}/lib @BLAS_LIBS@"
+  '';
+
+  # Auto-detection fails because gfortran brings in BLAS by default
+  configureFlags="--with-blas=-lopenblas --with-lapack=-lopenblas";
+
+  meta = {
+    homepage = "http://forge.scilab.org/index.php/p/arpack-ng/";
+    description = "A collection of Fortran77 subroutines to solve large scale eigenvalue problems";
+    # Looks like OpenBLAS is not that easy to build
+    # there is a sgemm_itcopy undefined reference on 32-bit, for example
+    platforms = ["x86_64-linux"];
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/liblbfgs/default.nix b/pkgs/development/libraries/science/math/liblbfgs/default.nix
new file mode 100644
index 00000000000..bb33eed6142
--- /dev/null
+++ b/pkgs/development/libraries/science/math/liblbfgs/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation {
+  name = "liblbfgs-1.10";
+
+  configureFlags = "--enable-sse2";
+  src = fetchurl {
+    url = https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz;
+    sha256 = "1kv8d289rbz38wrpswx5dkhr2yh4fg4h6sszkp3fawxm09sann21";
+  };
+
+  meta = {
+    description = "Library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)";
+    homepage = http://www.chokkan.org/software/liblbfgs/;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 4d30671c488..6ea7333f698 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
 
-  target = if cpu == "i686" then "P6" else 
+  target = if cpu == "i686" then "P2" else 
     if cpu == "x86_64" then "CORE2" else
      # allow autodetect
       "";
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     description = "Basic Linear Algebra Subprograms";
     license = stdenv.lib.licenses.bsd3;
     homepage = "https://github.com/xianyi/OpenBLAS";
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 63733a35b20..2fd5c9ad493 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
new file mode 100644
index 00000000000..f0fedba5ac1
--- /dev/null
+++ b/pkgs/development/libraries/serf/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "serf-1.3.7";
+
+  src = fetchurl {
+    url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2";
+    sha1 = "db9ae339dba10a2b47f9bdacf30a58fd8e36683a";
+  };
+
+  buildInputs = [ apr scons openssl aprutil zlib krb5 pkgconfig ];
+
+  configurePhase = ''
+    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct
+    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' -i SConstruct
+    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' -i SConstruct
+  '';
+
+  buildPhase = ''
+    scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \
+        APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc"
+  '';
+
+  installPhase = ''
+    scons install
+  '';
+
+  meta = {
+    description = "HTTP client library based on APR";
+    license = stdenv.lib.licenses.asl20 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/development/libraries/silgraphite/default.nix b/pkgs/development/libraries/silgraphite/default.nix
index db018cca465..8e8cdc0ce1c 100644
--- a/pkgs/development/libraries/silgraphite/default.nix
+++ b/pkgs/development/libraries/silgraphite/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   version = "2.3.1";
   name = "silgraphite-2.3.1";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/silgraphite/silgraphite/${version}/${name}.tar.gz";
     sha256 = "9b07c6e91108b1fa87411af4a57e25522784cfea0deb79b34ced608444f2ed65";
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An advanced font engine";
     maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index 0a36efbc982..83f64d1eb00 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, freetype, libXft, pango, fontconfig, cmake }:
+{ stdenv, fetchurl, pkgconfig, freetype, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.3";
+  version = "1.2.4";
   name = "graphite2-${version}";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/silgraphite/graphite2/${name}.tgz";
-    sha256 = "1xgwnd81gm6p293x8paxb3yisnvpj5qnv1dzr7bjdi7b7h00ls7g";
+    sha256 = "00xhv1mp640fr3wmdzwn4yz0g56jd4r9fb7b02mc1g19h0bdbhsb";
   };
 
-  buildInputs = [pkgconfig freetype libXft pango fontconfig cmake];
+  buildInputs = [ pkgconfig freetype cmake ];
 
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./macosx.patch ];
 
   meta = {
     description = "An advanced font engine";
     maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/silgraphite/macosx.patch b/pkgs/development/libraries/silgraphite/macosx.patch
new file mode 100644
index 00000000000..7929c1967c8
--- /dev/null
+++ b/pkgs/development/libraries/silgraphite/macosx.patch
@@ -0,0 +1,13 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -102,7 +102,8 @@ set_target_properties(graphite2 PROPERTIES  PUBLIC_HEADER "${GRAPHITE_HEADERS}"
+                                             VERSION ${GRAPHITE_VERSION}
+                                             LT_VERSION_CURRENT ${GRAPHITE_API_CURRENT}
+                                             LT_VERSION_REVISION ${GRAPHITE_API_REVISION}
+-                                            LT_VERSION_AGE ${GRAPHITE_API_AGE})
++                                            LT_VERSION_AGE ${GRAPHITE_API_AGE}
++                                            INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+ 
+ if (${CMAKE_BUILD_TYPE} STREQUAL "ClangASN")
+     set(GRAPHITE_LINK_FLAGS "-fsanitize=address")
+
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index cb534cfbf31..f5394fffdaa 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -13,11 +13,11 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="simgear";
-    version="2.12.0";
+    version="3.0.0";
     name="${baseName}-${version}";
     extension="tar.bz2";
     url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}";
-    hash="0spl6afk8rm96ss4lh7zy5561m5m2qgwsnqjyp35jr1gyyrc944f";
+    hash="05l0wvi0s4a98ihmjbpcc66rj6qy3hrsqkjs388bddf2ws3qyi09";
   };
 in
 rec {
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 41a6b8501ec..30c1f4937ec 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://icculus.org/smpeg/;
     description = "MPEG decoding library";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/snack/default.nix b/pkgs/development/libraries/snack/default.nix
index 4e1187aa0f7..d7a0b11a8da 100644
--- a/pkgs/development/libraries/snack/default.nix
+++ b/pkgs/development/libraries/snack/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "The Snack Sound Toolkit (Tcl)";
     homepage = http://www.speech.kth.se/snack/;
-    license = "GPL-2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index ff1bfa7d4eb..acba85ec43b 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "snappy-1.1.0";
+  name = "snappy-1.1.1";
   
   src = fetchurl {
     url = "http://snappy.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0q31cx3zkw0apx1fy8z3xlh2lvivssvykqn0vxsgm4xvi32jpa0z";
+    sha256 = "1czscb5i003jg1amw3g1fmasv8crr5g3d922800kll8b3fj097yp";
   };
 
   # -DNDEBUG for speed
diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index 13248753105..be52725f2c8 100644
--- a/pkgs/development/libraries/sodium/default.nix
+++ b/pkgs/development/libraries/sodium/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="sodium";
-    version="0.4.3";
+    version="0.6.1";
     name="${baseName}-${version}";
-    hash="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r";
-    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.3.tar.gz";
-    sha256="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r";
+    hash="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.6.1.tar.gz";
+    sha256="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/libraries/soprano/default.nix b/pkgs/development/libraries/soprano/default.nix
index 1447dd5346a..7736eab511e 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.3";
+  name = "soprano-2.9.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "08gb5d8bgy7vc6qd6r1kkmmc5rli67dlglpjqjlahpnvs26r1cwl";
+    sha256 = "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4";
   };
 
   patches = [ ./find-virtuoso.patch ];
diff --git a/pkgs/development/libraries/soqt/default.nix b/pkgs/development/libraries/soqt/default.nix
index 7d655ae122a..fdad4e21b0b 100644
--- a/pkgs/development/libraries/soqt/default.nix
+++ b/pkgs/development/libraries/soqt/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.coin3d.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Glue between Coin high-level 3D visualization library and Qt";
 
     maintainers = [ stdenv.lib.maintainers.viric ];
diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix
index 0f2326420cb..8f122cb699a 100644
--- a/pkgs/development/libraries/sord/default.nix
+++ b/pkgs/development/libraries/sord/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for storing RDF data in memory";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/sparsehash/default.nix b/pkgs/development/libraries/sparsehash/default.nix
new file mode 100644
index 00000000000..1f9bbcbd18d
--- /dev/null
+++ b/pkgs/development/libraries/sparsehash/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "sparsehash-2.0.2";
+
+  src = fetchurl {
+    url = http://sparsehash.googlecode.com/files/sparsehash-2.0.2.tar.gz;
+    sha256 = "0z5qa1sbp6xx5qpdvrdjh185k5kj53sgb6h2qabw01sn2nkkkmif";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "http://code.google.com/p/sparsehash/";
+    description = "An extremely memory-efficient hash_map implementation";
+    platforms = platforms.all;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix
index 8874a672ead..48168ceb92d 100644
--- a/pkgs/development/libraries/speech-tools/default.nix
+++ b/pkgs/development/libraries/speech-tools/default.nix
@@ -47,6 +47,7 @@ rec {
   fixPaths = a.doPatchShebangs "$out/bin";
 
   meta = {
+    broken = true;
     description = "Text-to-speech engine";
     maintainers = with a.lib.maintainers;
     [
diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix
index 0e542b353f6..5104532ea91 100644
--- a/pkgs/development/libraries/speechd/default.nix
+++ b/pkgs/development/libraries/speechd/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "Common interface to speech synthesis";
 
     homepage = http://www.freebsoft.org/speechd;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index dafa82bad34..1841fcbe4a1 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -19,7 +19,6 @@ stdenv.mkDerivation (rec {
     description = "Support Library for Pocketsphinx";
     homepage = http://cmusphinx.sourceforge.net;
     license = "free-non-copyleft";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 } // (stdenv.lib.optionalAttrs multipleOutputs {
   outputs = [ "out" "lib" "headers" ];
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
new file mode 100644
index 00000000000..f649401c5ca
--- /dev/null
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, pkgconfig, gtk, spice_protocol, intltool, celt_0_5_1
+, openssl, pulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
+, cyrus_sasl, python, pygtk, autoconf, automake, libtool, usbredir, libsoup
+, gtk3, enableGTK3 ? false }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "spice-gtk-0.24";
+
+  src = fetchurl {
+    url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
+    sha256 = "1l8y1pbaqyzb6w8w8xa097dvj4zxhksn85pif1b9847r8l451zkf";
+  };
+
+  buildInputs = [
+    spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection
+    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir
+  ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk ]);
+
+  nativeBuildInputs = [ pkgconfig intltool libtool libsoup autoconf automake ];
+
+  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  preConfigure = ''
+    substituteInPlace gtk/Makefile.am \
+      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
+
+    autoreconf -v --force --install
+    intltoolize -f
+  '';
+
+  configureFlags = [
+    "--disable-maintainer-mode"
+    (if enableGTK3 then "--with-gtk3" else "--with-gtk=2.0")
+  ];
+
+  dontDisableStatic = true; # Needed by the coroutine test
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A GTK+2 and GTK+3 SPICE widget";
+    longDescription = ''
+      spice-gtk is a GTK+2 and GTK+3 SPICE widget. It features glib-based
+      objects for SPICE protocol parsing and a gtk widget for embedding
+      the SPICE display into other applications such as virt-manager.
+      Python bindings are available too.
+    '';
+
+    homepage = http://www.spice-space.org/;
+    license = licenses.lgpl21;
+
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
new file mode 100644
index 00000000000..bc30716e81f
--- /dev/null
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, openssl, tcl, readline ? null, ncurses ? null }:
+
+assert readline != null -> ncurses != null;
+
+stdenv.mkDerivation {
+  name = "sqlcipher-3.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/sqlcipher/sqlcipher/archive/v3.1.0.tar.gz";
+    sha256 = "1h54hsl7g6ra955aaqid5wxm93fklx2pxz8abcdwf9md3bpfcn18";
+  };
+
+  buildInputs = [ readline ncurses openssl tcl ];
+
+  configureFlags = "--enable-threadsafe --disable-tcl";
+
+  CFLAGS = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_HAS_CODEC";
+  LDFLAGS = if readline != null then "-lncurses" else "";
+
+  meta = {
+    homepage = http://sqlcipher.net/;
+    description = "Full Database Encryption for SQLite";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 7521abc599b..ec392e71531 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.8.0.2";
+  name = "sqlite-3.8.4.3";
 
   src = fetchurl {
-    url = http://www.sqlite.org/2013/sqlite-autoconf-3080002.tar.gz;
-    sha1 = "294c30e882a0d45877bce09afe72d08ccfc6b650";
+    url = "http://www.sqlite.org/2014/sqlite-autoconf-3080403.tar.gz";
+    sha1 = "zd9nqg1fc41222hvzvmvzr92z80b3wvh";
   };
 
   buildInputs = [ readline ncurses ];
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.sqlite.org/;
     description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix
index fc8dc123032..6b8b611d3f7 100644
--- a/pkgs/development/libraries/strigi/default.nix
+++ b/pkgs/development/libraries/strigi/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
 
+  patches = [ ./export_bufferedstream.patch ];
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/development/libraries/strigi/export_bufferedstream.patch b/pkgs/development/libraries/strigi/export_bufferedstream.patch
new file mode 100644
index 00000000000..4c6b34fe1be
--- /dev/null
+++ b/pkgs/development/libraries/strigi/export_bufferedstream.patch
@@ -0,0 +1,12 @@
+diff -u -r strigi-0.7.8/libstreams/include/strigi/bufferedstream.h strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h
+--- strigi-0.7.8/libstreams/include/strigi/bufferedstream.h	2013-02-05 13:34:57.000000000 -0800
++++ strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h	2013-07-14 17:01:54.000000000 -0700
+@@ -34,7 +34,7 @@
+  * BufferedStream will do the rest.
+  */
+ template <class T>
+-class BufferedStream : public StreamBase<T> {
++class STRIGI_EXPORT BufferedStream : public StreamBase<T> {
+ private:
+     StreamBuffer<T> buffer;
+     bool finishedWritingToBuffer;
diff --git a/pkgs/development/libraries/suitesparse/default.nix b/pkgs/development/libraries/suitesparse/default.nix
index 01762083934..4d27701b135 100644
--- a/pkgs/development/libraries/suitesparse/default.nix
+++ b/pkgs/development/libraries/suitesparse/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, blas, liblapack, gfortran } :
 stdenv.mkDerivation rec {
-  version = "4.2.0";
+  version = "4.2.1";
   name = "suitesparse-${version}";
   src = fetchurl {
     url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ;
-    sha256 = "0i0ivsc5sr3jdz6nqq4wz5lwxc8rpnkqgddyhqqgfhwzgrcqh9v6";  			
+    sha256 = "1ga69637x7kdkiy3w3lq9dvva7220bdangv2lch2wx1hpi83h0p8";  			
   };
   buildInputs = [blas liblapack gfortran] ;
   patches = [./disable-metis.patch];
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index 3486981463f..28afdf85dfb 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -1,20 +1,17 @@
-{stdenv, fetchurl, pkgconfig, icu, cluceneCore, curl}:
+{stdenv, fetchurl, pkgconfig, icu, clucene_core, curl}:
 
 stdenv.mkDerivation rec {
 
-  version = "1.6.2";
+  version = "1.7.2";
 
   name = "sword-${version}";
 
   src = fetchurl {
-    url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.6/${name}.tar.gz";
-    sha256 = "1fc71avaxkhx6kckjiflw6j02lpg569b9bzaksq49i1m87awfxmg";
+    url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
+    sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871";
   };
 
-  buildInputs = [ pkgconfig icu cluceneCore curl ];
-
-  # because curl/types.h disappeared since at least curl 7.21.7
-  patches = [ ./dont_include_curl_types_h.patch ];
+  buildInputs = [ pkgconfig icu clucene_core curl ];
 
   prePatch = ''
     patchShebangs .;
@@ -26,9 +23,8 @@ stdenv.mkDerivation rec {
     description = "A software framework that allows research manipulation of Biblical texts";
     homepage = http://www.crosswire.org/sword/;
     platforms = stdenv.lib.platforms.linux;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.piotr ];
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ];
   };
 
 }
-
diff --git a/pkgs/development/libraries/sword/dont_include_curl_types_h.patch b/pkgs/development/libraries/sword/dont_include_curl_types_h.patch
deleted file mode 100644
index 233d59a3243..00000000000
--- a/pkgs/development/libraries/sword/dont_include_curl_types_h.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/mgr/curlftpt.cpp b/src/mgr/curlftpt.cpp
-index 7d2fd3c..046291e 100644
---- a/src/mgr/curlftpt.cpp
-+++ b/src/mgr/curlftpt.cpp
-@@ -26,7 +26,6 @@
- #include <fcntl.h>
- 
- #include <curl/curl.h>
--#include <curl/types.h>
- #include <curl/easy.h>
- 
- #include <swlog.h>
-diff --git a/src/mgr/curlhttpt.cpp b/src/mgr/curlhttpt.cpp
-index b736050..229d4dd 100644
---- a/src/mgr/curlhttpt.cpp
-+++ b/src/mgr/curlhttpt.cpp
-@@ -25,7 +25,6 @@
- #include <cctype>
- 
- #include <curl/curl.h>
--#include <curl/types.h>
- #include <curl/easy.h>
- 
- #include <swlog.h>
diff --git a/pkgs/development/libraries/szip/default.nix b/pkgs/development/libraries/szip/default.nix
index 38cde3bfd70..17f9c973fd0 100644
--- a/pkgs/development/libraries/szip/default.nix
+++ b/pkgs/development/libraries/szip/default.nix
@@ -1,9 +1,17 @@
 { stdenv, fetchurl }:
     
 stdenv.mkDerivation {
-    name = "szip-2.1";
-    src = fetchurl {
-        url = ftp://ftp.hdfgroup.org/lib-external/szip/2.1/src/szip-2.1.tar.gz;
-        sha256 = "05707lrdhwp8mv0dgzh2b6m2mwamv1z6k29m2v1v7pz0c1w2gb6z";
-    };
-}
\ No newline at end of file
+  name = "szip-2.1";
+  src = fetchurl {
+    url = ftp://ftp.hdfgroup.org/lib-external/szip/2.1/src/szip-2.1.tar.gz;
+    sha256 = "1vym7r4by02m0yqj10023xyps5b21ryymnxb4nb2gs32arfxj5m8";
+  };
+
+  meta = {
+    description = "
+      Szip is a compression library that can be used with the hdf5 library.
+    ";
+    homepage = http://www.hdfgroup.org/doc_resource/SZIP/;
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix
index 9a4ba00e1d3..ebd8699dc17 100644
--- a/pkgs/development/libraries/t1lib/default.nix
+++ b/pkgs/development/libraries/t1lib/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, x11, libXaw, libXpm}:
+{stdenv, fetchurl, xlibsWrapper, libXaw, libXpm}:
 
 stdenv.mkDerivation {
   name = "t1lib-5.1.2";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2";
   };
 
-  buildInputs = [x11 libXaw libXpm];
+  buildInputs = [xlibsWrapper libXaw libXpm];
   buildFlags = "without_doc";
 }
 
diff --git a/pkgs/development/libraries/taglib/default.nix b/pkgs/development/libraries/taglib/default.nix
index cd083f0d80a..41087044e49 100644
--- a/pkgs/development/libraries/taglib/default.nix
+++ b/pkgs/development/libraries/taglib/default.nix
@@ -1,20 +1,22 @@
 {stdenv, fetchurl, zlib, cmake}:
 
 stdenv.mkDerivation rec {
-  name = "taglib-1.8";
+  name = "taglib-1.9.1";
 
   src = fetchurl {
-    url = "https://github.com/downloads/taglib/taglib/${name}.tar.gz";
-    sha256 = "16i0zjpxqqslbwi4kl6y15qwm15mh7ykh74x19m2741wf20k9lv6";
+    url = http://taglib.github.io/releases/taglib-1.9.1.tar.gz;
+    sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
   };
 
   cmakeFlags = "-DWITH_ASF=ON -DWITH_MP4=ON";
 
-  buildInputs = [zlib];
-  nativeBuildInputs = [cmake];
+  buildInputs = [ zlib ];
+  nativeBuildInputs = [ cmake ];
 
   meta = {
     homepage = http://developer.kde.org/~wheeler/taglib.html;
+    repositories.git = git://github.com/taglib/taglib.git;
+
     description = "A library for reading and editing the meta-data of several popular audio formats";
     inherit (cmake.meta) platforms;
     maintainers = [ stdenv.lib.maintainers.urkud ];
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 54db07d0de8..e04363326d0 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "talloc is a hierarchical pool based memory allocator with destructors";
     homepage = http://tdb.samba.org/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix
index 13ec42f1ba2..cb34edb4762 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/development/libraries/tbb/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "tbb-4.0-u5";
+  name = "tbb-4.2-u5";
 
   src = fetchurl {
-    url = "http://threadingbuildingblocks.org/uploads/77/187/4.0%20update%205/tbb40_20120613oss_src.tgz";
-    sha256 = "aaa98146049e55f6ac969298340eeb49df61395403fcc1480824a4ecd0d46192";
+    url = "https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb42_20140601oss_src.tgz";
+    sha256 = "1zjh81hvfxvk1v1li27w1nm3bp6kqv913lxfb2pqa134dibw2pp7";
   };
 
   checkTarget = "test";
@@ -22,10 +22,9 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = "http://threadingbuildingblocks.org/";
     description = "Intel Thread Building Blocks C++ Library";
-    license = "LGPLv3+";
-
+    homepage = "http://threadingbuildingblocks.org/";
+    license = stdenv.lib.licenses.lgpl3Plus;
     longDescription = ''
       Intel Threading Building Blocks offers a rich and complete approach to
       expressing parallelism in a C++ program. It is a library that helps you
@@ -34,8 +33,7 @@ stdenv.mkDerivation {
       represents a higher-level, task-based parallelism that abstracts platform
       details and threading mechanisms for scalability and performance.
     '';
-
-    maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ simons thoughtpolice ];
   };
 }
diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix
index 12bbe0914e0..b2c2f0d0851 100644
--- a/pkgs/development/libraries/tcllib/default.nix
+++ b/pkgs/development/libraries/tcllib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "tcllib-${version}";
-  version = "1.14";
+  version = "1.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
-    sha256 = "11052fgfmv9vyswzjjgfvh3pi0k3fnfnl9ri6nl4vc6f6z5ry56x";
+    sha256 = "1zdzaqdpxljsaabgknq3paakgs262qy255ib4p329knsv608jc3d";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index 02a1008cda5..d0eb8987ea0 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://tdb.samba.org/;
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix
index bf420be3d38..6cb20f4e356 100644
--- a/pkgs/development/libraries/tecla/default.nix
+++ b/pkgs/development/libraries/tecla/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "tecla-1.6.1";
+  name = "tecla-1.6.2";
 
   src = fetchurl {
     url = "http://www.astro.caltech.edu/~mcs/tecla/lib${name}.tar.gz";
-    sha256 = "18crv6q5f9g0cg6ry5h9dsa10inhpslklrv20h70f58lpm3jknr1";
+    sha256 = "1f5p1v9ac5r1f6pjzwacb4yf8m6z19rv77p76j7fix34hd9dnqcc";
   };
 
   configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Tecla command-line editing library";
     license = "as-is";
 
-    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/telepathy/farstream/default.nix b/pkgs/development/libraries/telepathy/farstream/default.nix
index a6a624c0a87..a5185689ee0 100644
--- a/pkgs/development/libraries/telepathy/farstream/default.nix
+++ b/pkgs/development/libraries/telepathy/farstream/default.nix
@@ -2,12 +2,12 @@
 , pkgconfig, libxslt, python, gstreamer, gst_python, pygobject }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-0.4.0";
+  name = "${pname}-0.6.1";
   pname = "telepathy-farstream";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "13mllgfx4b1hh1vpzq8lk5qfr3ivkkkmwbxgi6d47avgk746kznd";
+    sha256 = "0ia8nldxxan1cvplr62aicjhfcrm27s3qyk0x46c8q0fmqvnzlm3";
   };
 
   buildInputs = [ gst_plugins_base gst_python pygobject ];
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index 46aba67702d..6c0806ec4cd 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt }:
+{ stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt
+, gobjectIntrospection, valaSupport ? true, vala }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-glib-0.20.1";
+  name = "telepathy-glib-0.24.0";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz";
-    sha256 = "1dk1s977zv8c935jsiv7ll51a52rlwd7a6f8v7z8klzvc4zk9801";
+    sha256 = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf";
   };
 
-  propagatedBuildInputs = [dbus_glib glib python];
+  configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings";
 
-  buildInputs = [pkgconfig libxslt];
+  propagatedBuildInputs = [dbus_glib glib python gobjectIntrospection];
+
+  buildInputs = [pkgconfig libxslt] ++ stdenv.lib.optional valaSupport vala;
 
   meta = {
     homepage = http://telepathy.freedesktop.org;
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index b535961357b..4ec8c4befc6 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -1,17 +1,25 @@
-{ stdenv, fetchurl, cmake, qt4, pkgconfig, python, libxslt, dbus_glib
+{ stdenv, fetchurl, cmake, qt4, pkgconfig, python, libxslt, dbus_glib, dbus_daemon
 , telepathy_farstream, telepathy_glib, pythonDBus }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-qt-0.9.3";
+  name = "telepathy-qt-0.9.4";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
-    sha256 = "1yabyhsikw828ns7cf6hvzbxdxh53na1ck0q7qsav1lvlyz5gzy0";
+    sha256 = "1wk13rwpas1crj19xsbgl1c4qzri616xxa1hyhnykv4nkwxdpcgi";
   };
 
+  patches = [ ./farstream-0.2.diff ];
+
   nativeBuildInputs = [ cmake pkgconfig python libxslt ];
   propagatedBuildInputs = [ qt4 dbus_glib telepathy_farstream telepathy_glib pythonDBus ];
+
+  buildInputs = stdenv.lib.optional doCheck dbus_daemon;
+
   preBuild = ''
     NIX_CFLAGS_COMPILE+=" `pkg-config --cflags dbus-glib-1`"
   '';
+
+  enableParallelBuilding = true;
+  doCheck = false; # giving up for now
 }
diff --git a/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff b/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff
new file mode 100644
index 00000000000..86d392fe1ac
--- /dev/null
+++ b/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff
@@ -0,0 +1,28 @@
+diff -urB telepathy-qt/cmake/modules/FindFarstream.cmake new/cmake/modules/FindFarstream.cmake
+--- telepathy-qt/cmake/modules/FindFarstream.cmake      2012-04-25 22:14:22.275967164 +0200
++++ new/cmake/modules/FindFarstream.cmake       2012-10-07 12:19:46.543103512 +0200
+@@ -23,9 +23,9 @@
+     # in the find_path() and find_library() calls
+     find_package(PkgConfig)
+     if (FARSTREAM_MIN_VERSION)
+-        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1>=${FARSTREAM_MIN_VERSION})
++        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2>=${FARSTREAM_MIN_VERSION})
+     else (FARSTREAM_MIN_VERSION)
+-        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1)
++        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2)
+     endif (FARSTREAM_MIN_VERSION)
+     set(FARSTREAM_DEFINITIONS ${PC_FARSTREAM_CFLAGS_OTHER})
+ endif (NOT WIN32)
+@@ -34,10 +34,10 @@
+    PATHS
+    ${PC_FARSTREAM_INCLUDEDIR}
+    ${PC_FARSTREAM_INCLUDE_DIRS}
+-   PATH_SUFFIXES farstream-0.1
++   PATH_SUFFIXES farstream-0.2
+    )
+ 
+-find_library(FARSTREAM_LIBRARIES NAMES farstream-0.1
++find_library(FARSTREAM_LIBRARIES NAMES farstream-0.2
+    PATHS
+    ${PC_FARSTREAM_LIBDIR}
+    ${PC_FARSTREAM_LIBRARY_DIRS}
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
new file mode 100644
index 00000000000..f8c437f2b0f
--- /dev/null
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchgit, boost, zlib, libevent, openssl, python, automake, autoconf
+, libtool, pkgconfig, bison, flex
+}:
+
+stdenv.mkDerivation {
+  name = "thrift-0.9.1";
+
+  # I take git, because the tarball is broken.
+  # http://stackoverflow.com/questions/18643642/libtool-error-building-thrift-0-9-1-on-ubuntu-13-04
+  src = fetchgit {
+    url = "https://git-wip-us.apache.org/repos/asf/thrift.git";
+    rev = "ff980c1432936c6bc897c60469ab05b5e0c6cb5e";
+    md5 = "466aca9e43e43df868f4385af50e32f6";
+  };
+
+  #enableParallelBuilding = true; problems on hydra
+
+  # Fixes build error: <flex>/lib/libfl.so: undefined reference to `yylex'.
+  # Patch exists in upstream git repo, so it can be removed on the next version
+  # bump.
+  patches = [ ./yylex.patch ];
+
+  # Workaround to make the python wrapper not drop this package:
+  # pythonFull.override { extraLibs = [ thrift ]; }
+  pythonPath = [];
+
+  buildInputs = [
+    boost zlib libevent openssl python automake autoconf libtool pkgconfig
+    bison flex
+  ];
+
+  preConfigure = "sh bootstrap.sh; export PY_PREFIX=$out";
+
+  meta = with stdenv.lib; {
+    description = "Library for scalable cross-language services";
+    homepage = http://thrift.apache.org/;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/thrift/yylex.patch b/pkgs/development/libraries/thrift/yylex.patch
new file mode 100644
index 00000000000..3700bc6a436
--- /dev/null
+++ b/pkgs/development/libraries/thrift/yylex.patch
@@ -0,0 +1,23 @@
+Fixes build error:
+
+  <flex>/lib/libfl.so: undefined reference to `yylex'
+
+The same patch exists in upstream thrift git repo, commit
+ec8daae71004b3c2346bf12b2d74e52ed0815337
+"THRIFT-2386: Thrift refuses to link yylex".
+diff --git a/compiler/cpp/src/main.h b/compiler/cpp/src/main.h
+index 87af5f6..27285f5 100644
+--- a/compiler/cpp/src/main.h
++++ b/compiler/cpp/src/main.h
+@@ -28,8 +28,9 @@
+ /**
+  * Defined in the flex library
+  */
+-
+-int yylex(void);
++extern "C" {
++	int yylex(void);
++}
+ 
+ int yyparse(void);
+ 
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index b6faee6c298..9b08b8d5d90 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -1,13 +1,15 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, krb5 }:
 
 stdenv.mkDerivation rec {
-  name = "libtirpc-0.2.3";
+  name = "libtirpc-0.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/libtirpc/${name}.tar.bz2";
-    sha256 = "0g4jd8da0kfxz5lv1x5v7f3mfxw53cck8g2zz4llrjmlj42flaag";
+    sha256 = "18a337wa4amf0k21wnimp3yzs5l3cxqndz4x3x8bm993zhfy5hs5";
   };
 
+  buildInputs = [ krb5 ];
+
   # http://www.sourcemage.org/projects/grimoire/repository/revisions/d6344b6a3a94b88ed67925a474de5930803acfbf
   preConfigure = ''
     echo "" > src/des_crypt.c
@@ -36,8 +38,5 @@ stdenv.mkDerivation rec {
        already supports IPv6.  So, the FreeBSD release 5.2.1 TI-RPC has
        been ported to replace the SunRPC of the glibc.
     '';
-
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/tk/default.nix b/pkgs/development/libraries/tk/default.nix
index a45c4217c7b..fd3684d189c 100644
--- a/pkgs/development/libraries/tk/default.nix
+++ b/pkgs/development/libraries/tk/default.nix
@@ -1,23 +1,28 @@
-{ stdenv, fetchurl, tcl, x11, libX11 }:
+{ stdenv, fetchurl, pkgconfig, tcl, libXft, fontconfig }:
 
 stdenv.mkDerivation {
-  name = "tk-8.5.7";
-  
+  name = "tk-8.5.15";
+
   src = fetchurl {
-    url = "mirror://sourceforge/tcl/tk8.5.7-src.tar.gz";
-    sha256 = "0c5gsy3nlwl0wn9swz4k4v7phy7nzjl317gca1jykgf4jz9nwdnr";
+    url = "mirror://sourceforge/tcl/tk8.5.15-src.tar.gz";
+    sha256 = "0grj0k0hljvwiz913pafqibz18fzk9xjxf0nzqrd9zdls036fp41";
   };
-  
+
+  patches = [ ./different-prefix-with-tcl.patch ];
+
   postInstall = ''
     ln -s $out/bin/wish* $out/bin/wish
   '';
-  
+
   configureFlags = "--with-tcl=${tcl}/lib";
-  
+
   preConfigure = "cd unix";
 
-  buildInputs = [ tcl x11 libX11 ];
-  
+  buildInputs = [ pkgconfig tcl libXft ]
+    ++ stdenv.lib.optional stdenv.isDarwin fontconfig;
+
+  NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lfontconfig" else null;
+
   inherit tcl;
 
   passthru = {
@@ -27,6 +32,7 @@ stdenv.mkDerivation {
   meta = {
     description = "A widget toolkit that provides a library of basic elements for building a GUI in many different programming languages";
     homepage = http://www.tcl.tk/;
+    license = stdenv.lib.licenses.tcltk;
     maintainers = with stdenv.lib.maintainers; [ lovek323 ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/tk/different-prefix-with-tcl.patch b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
new file mode 100644
index 00000000000..bf331b75cae
--- /dev/null
+++ b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
@@ -0,0 +1,22 @@
+--- tk8.5.15-orig/unix/Makefile.in	2014-01-25 08:57:45.626713122 +0800
++++ tk8.5.15/unix/Makefile.in	2014-01-25 08:59:35.315341825 +0800
+@@ -995,7 +995,8 @@
+ 	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
+ 
+ tkWindow.o: $(GENERIC_DIR)/tkWindow.c
+-	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
++	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
++	    $(GENERIC_DIR)/tkWindow.c
+ 
+ tkButton.o: $(GENERIC_DIR)/tkButton.c
+ 	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c
+--- tk8.5.15-orig/generic/tkWindow.c	2014-01-25 10:10:03.964476436 +0800
++++ tk8.5.15/generic/tkWindow.c	2014-01-25 10:08:06.020950933 +0800
+@@ -983,6 +983,7 @@
+ 
+     Tcl_SetVar(interp, "tk_patchLevel", TK_PATCH_LEVEL, TCL_GLOBAL_ONLY);
+     Tcl_SetVar(interp, "tk_version",    TK_VERSION,     TCL_GLOBAL_ONLY);
++    Tcl_SetVar(interp, "tk_library",    TK_LIBRARY,     TCL_GLOBAL_ONLY);
+ 
+     tsdPtr->numMainWindows++;
+     return tkwin;
diff --git a/pkgs/development/libraries/tokyo-cabinet/default.nix b/pkgs/development/libraries/tokyo-cabinet/default.nix
index 82ce734d173..7741549666a 100644
--- a/pkgs/development/libraries/tokyo-cabinet/default.nix
+++ b/pkgs/development/libraries/tokyo-cabinet/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
          robustness, supports 64-bit architecture.
       '';
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/tokyo-tyrant/default.nix b/pkgs/development/libraries/tokyo-tyrant/default.nix
index ee742487e26..ccd619e8bc1 100644
--- a/pkgs/development/libraries/tokyo-tyrant/default.nix
+++ b/pkgs/development/libraries/tokyo-tyrant/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://fallabs.com/tokyotyrant/;
 
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
 
     platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
     maintainers = [ ];
diff --git a/pkgs/development/libraries/tsocks/default.nix b/pkgs/development/libraries/tsocks/default.nix
index a0d607517ac..bdc2b4da6e3 100644
--- a/pkgs/development/libraries/tsocks/default.nix
+++ b/pkgs/development/libraries/tsocks/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Transparent SOCKS v4 proxying library";
     homepage = http://tsocks.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/ucl/default.nix b/pkgs/development/libraries/ucl/default.nix
index cef853698a8..05acc6f5308 100644
--- a/pkgs/development/libraries/ucl/default.nix
+++ b/pkgs/development/libraries/ucl/default.nix
@@ -10,6 +10,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.oberhumer.com/opensource/ucl/;
     description = "Portable lossless data compression library";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 699da60768f..f3ac325b5a1 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gnutls, pkgconfig, zlib, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "ucommon-6.0.5";
+  name = "ucommon-6.0.7";
 
   src = fetchurl {
-    url = mirror://gnu/commoncpp/ucommon-6.0.5.tar.gz;
-    sha256 = "0w5nl2a2l630n4kvfaz22by1s92ybd87g0q1zpcmsl8i5d00789l";
+    url = mirror://gnu/commoncpp/ucommon-6.0.7.tar.gz;
+    sha256 = "1rlvchmg6qq8jq79qjgv0l0wqi1dqhmm4ng1qj9f012dbhwcap3x";
   };
 
   buildInputs = [ pkgconfig gnutls zlib ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "GNU uCommon C++, C++ library to facilitate using C++ design patterns";
     homepage = http://www.gnu.org/software/commoncpp/;
-    license = "LGPLv3+";
+    license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/unicap/default.nix b/pkgs/development/libraries/unicap/default.nix
index 7a64017ca8b..daec5a78566 100644
--- a/pkgs/development/libraries/unicap/default.nix
+++ b/pkgs/development/libraries/unicap/default.nix
@@ -45,6 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/development/libraries/unixODBC/default.nix b/pkgs/development/libraries/unixODBC/default.nix
index 74c822e2885..ef8dcdc5329 100644
--- a/pkgs/development/libraries/unixODBC/default.nix
+++ b/pkgs/development/libraries/unixODBC/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "unixODBC-2.3.1";
+  name = "unixODBC-2.3.2";
   src = fetchurl {
     url = "ftp://ftp.unixodbc.org/pub/unixODBC/${name}.tar.gz";
-    md5 = "86788d4006620fa1f171c13d07fdcaab";
+    sha256 = "16jw5fq7wgfky6ak1h2j2pqx99jivsdl4q8aq6immpr55xs5jd4w";
   };
   configureFlags = "--disable-gui --sysconfdir=/etc";
 }
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index 47925520ab4..03769815a3e 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -23,15 +23,15 @@ args : with args;
       meta = {
           description = "unix odbc driver for postgresql";
           homepage = https://projects.commandprompt.com/public/odbcng;
-          license = "GPL2";
+          license = stdenv.lib.licenses.gpl2;
       };
     };
     ini = "";
   };
 # official postgres connector
  psql = rec {
-   deriv = stdenv.mkDerivation {
-    name = "psql-odbc-08.03.0200";
+   deriv = stdenv.mkDerivation rec {
+    name = "psqlodbc-09.03.0100";
     buildInputs = [ unixODBC libtool postgresql openssl ];
     preConfigure="
       export CPPFLAGS=-I${unixODBC}/include
@@ -39,9 +39,8 @@ args : with args;
     ";
     # added -ltdl to resolve missing references `dlsym' `dlerror' `dlopen' `dlclose' 
     src = fetchurl {
-      url = http://wwwmaster.postgresql.org/redir?setmir=53&typ=h&url=http://ftp.de.postgresql.org/mirror/postgresql//odbc/versions/src/psqlodbc-08.03.0200.tar.gz;
-      name = "psqlodbc-08.03.0200.tar.gz";
-      sha256 = "1401hgzvs3m2yr2nbbf9gfy2wwijrk4ihwz972arbn0krsiwxya1";
+      url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz";
+      sha256 = "0mh10chkmlppidnmvgbp47v5jnphsrls28zwbvyk2crcn8gdx9q1";
     };
     meta = {
         description = "unix odbc driver for postgresql";
@@ -91,8 +90,11 @@ args : with args;
 
       configureFlags = "--with-sqlite3=${sqlite} --with-odbc=${unixODBC}";
 
+      # move libraries to $out/lib where they're expected to be
       postInstall = ''
-        mkdir -p  $out/lib
+        mkdir -p "$out/lib"
+        mv "$out"/*.so "$out/lib"
+        mv "$out"/*.la "$out/lib"
       '';
 
       meta = { 
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
new file mode 100644
index 00000000000..7f05daab021
--- /dev/null
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libusb }:
+
+stdenv.mkDerivation rec {
+  name = "usbredir-${version}";
+  version = "0.6";
+
+  src = fetchurl {
+    url = "http://spice-space.org/download/usbredir/${name}.tar.bz2";
+    sha256 = "028184960044ea4124030000b3c55a35c3238835116e3a0fbcaff449df2c8edf";
+  };
+
+  buildInputs = [ pkgconfig libusb ];
+  propagatedBuildInputs = [ libusb ];
+
+  meta = with stdenv.lib; {
+    description = "USB traffic redirection protocol";
+    homepage = http://spice-space.org/page/UsbRedir;
+    license = licenses.lgpl21;
+
+    maintainers = [ maintainers.offline ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 5ac2487c9ed..d3a2511c90c 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -1,62 +1,66 @@
-{ stdenv, fetchsvn, gyp, readline, python, which }:
+{ stdenv, fetchurl, gyp, readline, python, which, icu }:
 
 assert readline != null;
 
 let
-  system = stdenv.system;
-  arch = if system == "i686-linux" then "ia32" else if system == "x86_64-linux" || system == "x86_64-darwin" then "x64" else "";
-  version = "3.14.5.9";
+  arch = if stdenv.is64bit then "x64" else "ia32";
 in
 
-assert arch != "";
-
-stdenv.mkDerivation {
-    name = "v8-${version}";
-
-    src = fetchsvn {
-      url = "http://v8.googlecode.com/svn/tags/${version}";
-      sha256 = "18qp5qp5xrb6f00w01cklz358yrl54pks963f5rwvwz82d8sfyqr";
-      name = "v8-${version}-src";
-    };
-
-    patches = [ ./fix-GetLocalizedMessage-usage.patch ];
-
-    configurePhase = ''
-      mkdir build/gyp
-      ln -sv ${gyp}/bin/gyp build/gyp/gyp
-    '';
-
-    nativeBuildInputs = stdenv.lib.optional (system == "i686-linux") which;
-    buildInputs = [ readline python ];
-
-    buildFlags = [
-      "library=shared"
-      "console=readline"
-      "${arch}.release"
-    ];
-
-    enableParallelBuilding = true;
-
-    installPhase = ''
-      mkdir -p $out/bin
-      mkdir -p $out/lib
-      mv -v out/${arch}.release/d8 $out/bin
-
-      ${if stdenv.system == "x86_64-darwin" then
-        "mv -v out/${arch}.release/libv8.dylib $out/lib"
-      else
-        "mv -v out/${arch}.release/lib.target/libv8.so $out/lib"}
-      mv -v include $out/
-    '';
-
-    postFixup = if stdenv.isDarwin then ''
-      install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/bin/d8
-      install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
-    '' else null;
-
-    meta = with stdenv.lib; {
-      description = "V8 is Google's open source JavaScript engine";
-      platforms = platforms.linux ++ platforms.darwin;
-      license = licenses.bsd3;
-    };
+stdenv.mkDerivation rec {
+  name = "v8-${version}";
+  version = "3.26.8";
+
+  src = fetchurl {
+    url = "https://commondatastorage.googleapis.com/chromium-browser-official/"
+        + "${name}.tar.bz2";
+    sha256 = "0w8mfy8jlqvp958c0zhsfwf0s3m6kw53jhcyg6aiwh877g6s21iz";
+  };
+
+  configurePhase = ''
+    PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
+      ${gyp}/bin/gyp \
+        -f make \
+        --generator-output="out" \
+        -Dflock_index=0 \
+        -Dv8_enable_i18n_support=1 \
+        -Duse_system_icu=1 \
+        -Dconsole=readline \
+        -Dcomponent=shared_library \
+        -Dv8_target_arch=${arch} \
+        --depth=. -Ibuild/standalone.gypi \
+        build/all.gyp
+  '';
+
+  nativeBuildInputs = [ which ];
+  buildInputs = [ readline python icu ];
+
+  buildFlags = [
+    "LINK=g++"
+    "-C out"
+    "builddir=$(CURDIR)/Release"
+    "BUILDTYPE=Release"
+  ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -vD out/Release/d8 "$out/bin/d8"
+    ${if stdenv.system == "x86_64-darwin" then ''
+    install -vD out/Release/lib.target/libv8.dylib "$out/lib/libv8.dylib"
+    '' else ''
+    install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
+    ''}
+    cp -vr include "$out/"
+  '';
+
+  postFixup = if stdenv.isDarwin then ''
+    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/bin/d8
+    install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
+  '' else null;
+
+  meta = with stdenv.lib; {
+    description = "V8 is Google's open source JavaScript engine";
+    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.bsd3;
+  };
 }
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index f05c01bf58d..2c553aeded3 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -1,23 +1,27 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, mesa, libva, libdrm, libX11, pkgconfig
-, intelgen4asm }:
+{ stdenv, fetchurl, pkgconfig, libdrm, libva, libX11, intel-gpu-tools, mesa_noglu, wayland, python, gnum4 }:
 
 stdenv.mkDerivation rec {
-  name = "libva-intel-driver-1.0.20";
+  name = "libva-intel-driver-1.3.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2";
-    sha256 = "1jfl8909j3a3in6m8b5bx3dn7pzr8a1sw3sk4vzm7h3j2dkgpzhj";
+    sha256 = "1l8897plk74zcik6snk7hb5s4ga0d2vypccfkh0bp1fb2775dn8i";
   };
 
-  buildInputs = [ pkgconfig libdrm libva libX11 ];
+  prePatch = ''
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' src/shaders/gpp.py
+  '';
+
+  buildInputs = [ pkgconfig libdrm libva libX11 intel-gpu-tools mesa_noglu wayland gnum4 ];
 
   preConfigure = ''
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://cgit.freedesktop.org/vaapi/intel-driver/;
-    license = "MIT";
+    license = licenses.mit;
     description = "Intel driver for the VAAPI library";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index fb24ba98b45..9b28d0016dd 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -8,17 +8,22 @@ stdenv.mkDerivation rec {
     sha256 = "1fcvgshzyc50yb8qqm6v6wn23ghimay23ci0p8sm8gxcy211jp0m";
   };
 
+  patches = [ ./glext85.patch
+              (fetchurl { url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch?revision=1.1";
+                          name = "libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch";
+                          sha256 = "166svcav6axkrlb3i4rbf6dkwjnqdf69xw339az1f5yabj72pqqs";
+                        }) ];
+
   buildInputs = [ libvdpau mesa libva pkgconfig ];
 
   preConfigure = ''
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
   '';
 
-  patches = [ ./glext85.patch ];
 
   meta = {
     homepage = http://cgit.freedesktop.org/vaapi/vdpau-driver/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "VDPAU driver for the VAAPI library";
   };
 }
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 83b921dd49b..04bef5ef41c 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, cmake, libtiff, libpng, libjpeg, doxygen, python,
   fftw, fftwSinglePrec, hdf5, boost, numpy }:
 stdenv.mkDerivation rec {
-  name = "vigra-1.8.0";
+  name = "vigra-1.9.0";
 
   src = fetchurl {
-    url = "${meta.homepage}/${name}-src.tar.gz";
-    sha256 = "0542qy1bqaq73l7i8aqdhwdbhd6m1wldsn1w2sfyf8yf4398ffpw";
+    urls = [
+      "${meta.homepage}/${name}-src.tar.gz"
+      "${meta.homepage}-old-versions/${name}-src.tar.gz"
+      ];
+    sha256 = "00fg64da6dj9k42d90dz6y7x91xw1xqppcla14im74m4afswrgcg";
   };
 
   buildInputs = [ cmake fftw fftwSinglePrec libtiff libpng libjpeg python boost
@@ -17,8 +20,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Novel computer vision C++ library with customizable algorithms and data structures";
-    homepage = http://hci.iwr.uni-heidelberg.de/vigra/;
-    license = "MIT";
+    homepage = http://hci.iwr.uni-heidelberg.de/vigra;
+    license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/development/libraries/vmime/default.nix b/pkgs/development/libraries/vmime/default.nix
index c92df5a8bcb..846fc64a91e 100644
--- a/pkgs/development/libraries/vmime/default.nix
+++ b/pkgs/development/libraries/vmime/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.vmime.org/;
     description = "Free mail library for C++";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index e8f42e9f7f5..0e0625a2cbb 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, mesa, libX11, xproto, libXt
-, useQt4 ? false, qt4 }:
+, qtLib ? null }:
 
 with stdenv.lib;
 
@@ -11,22 +11,22 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "vtk-${os useQt4 "qvtk-"}${version}";
+  name = "vtk-${os (qtLib != null) "qvtk-"}${version}";
   src = fetchurl {
     url = "${meta.homepage}files/release/${majorVersion}/vtk-${version}.tar.gz";
     md5 = "a0363f78910f466ba8f1bd5ab5437cb9";
   };
 
   buildInputs = [ cmake mesa libX11 xproto libXt ]
-    ++ optional useQt4 qt4;
+    ++ optional (qtLib != null) qtLib;
 
   # Shared libraries don't work, because of rpath troubles with the current
   # nixpkgs camke approach. It wants to call a binary at build time, just
   # built and requiring one of the shared objects.
   # At least, we use -fPIC for other packages to be able to use this in shared
   # objects.
-  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" ] ++ optional useQt4
-    [ "-DVTK_USE_QT:BOOL=ON" ];
+  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" ]
+    ++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/vxl/default.nix b/pkgs/development/libraries/vxl/default.nix
index 2f169f3f25d..e181ade4d6c 100644
--- a/pkgs/development/libraries/vxl/default.nix
+++ b/pkgs/development/libraries/vxl/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl, unzip, cmake, libtiff, expat, zlib, libpng, libjpeg }:
 stdenv.mkDerivation {
-  name = "vxl-1.13.0";
+  name = "vxl-1.17.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/vxl/vxl-1.13.0.zip;
-    sha256 = "05xk9dfkqsznp1dic8rcsdhgdp12bikwx1zpci0w3s20fs8q8nn1";
+    url = mirror://sourceforge/vxl/vxl-1.17.0.zip;
+    sha256 = "1qg7i8h201pa8jljg7vph4rlxk6n5cj9f9gd1hkkmbw6fh44lsxh";
   };
 
   buildInputs = [ cmake unzip libtiff expat zlib libpng libjpeg ];
 
   # BUILD_OUL wants old linux headers for videodev.h, not available
   # in stdenv linux headers
-  cmakeFlags = "-DBUILD_TESTING=OFF -DBUILD_OUL=OFF "
+  # BUILD_BRL fails to find open()
+  cmakeFlags = "-DBUILD_TESTING=OFF -DBUILD_OUL=OFF -DBUILD_BRL=OFF -DBUILD_CONTRIB=OFF "
     + (if stdenv.system == "x86_64-linux" then
       "-DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC"
     else
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index 8854a41210b..ae9fac06eee 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libffi, expat, pkgconfig, libxslt, docbook_xsl, doxygen }:
 
-let version = "1.0.5"; in
+let version = "1.5.0"; in
 
 stdenv.mkDerivation rec {
   name = "wayland-${version}";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "130n7v5i7rfsrli2n8vdzfychlgd8v7by7sfgp8vfqdlss5km34w";
+    sha256 = "1da179livkkmfsds32yhh4zflxn9qs6av023702kx2w8mzly2s80";
   };
 
   buildInputs = [ pkgconfig libffi expat libxslt docbook_xsl doxygen ];
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     description = "Reference implementation of the wayland protocol";
     homepage = http://wayland.freedesktop.org/;
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/webkit/bison26.patch b/pkgs/development/libraries/webkit/bison26.patch
deleted file mode 100644
index 95898adeb8a..00000000000
--- a/pkgs/development/libraries/webkit/bison26.patch
+++ /dev/null
@@ -1,515 +0,0 @@
-Index: /trunk/Source/WebCore/ChangeLog

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

---- /trunk/Source/WebCore/ChangeLog	(revision 124098)

-+++ /trunk/Source/WebCore/ChangeLog	(revision 124099)

-@@ -1,2 +1,27 @@

-+2012-07-30  Alexis Menard  <alexis.menard@openbossa.org>

-+

-+        Build fix with newer bison 2.6.

-+        https://bugs.webkit.org/show_bug.cgi?id=92264

-+

-+        Reviewed by Adam Barth.

-+

-+        As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html

-+        YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS

-+        version I had access to as well as recent Linux runs at least version 2.3 so it's safe

-+        to use the replacement of these deprecated macros in favor of %lex-param and %parse-param.

-+        As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release

-+        of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore.

-+

-+        No new tests : build fix and the patch should not trigger any regressions

-+

-+        * css/CSSGrammar.y:

-+        * css/CSSParser.cpp:

-+        * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define.

-+        * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h

-+        therefore including this file within the namespace {} declarations leads to xpathyyparse being

-+        defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp

-+        (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs 

-+        to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same.

-+

- 2012-07-30  Sadrul Habib Chowdhury  <sadrul@chromium.org>

- 

-Index: /trunk/Source/WebCore/css/CSSParser.cpp

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

---- /trunk/Source/WebCore/css/CSSParser.cpp	(revision 124098)

-+++ /trunk/Source/WebCore/css/CSSParser.cpp	(revision 124099)

-@@ -115,5 +115,5 @@

- #endif

- 

--extern int cssyyparse(void* parser);

-+extern int cssyyparse(WebCore::CSSParser*);

- 

- using namespace std;

-Index: /trunk/Source/WebCore/css/CSSGrammar.y

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

---- /trunk/Source/WebCore/css/CSSGrammar.y	(revision 124098)

-+++ /trunk/Source/WebCore/css/CSSGrammar.y	(revision 124099)

-@@ -54,11 +54,10 @@

- #define YYDEBUG 0

- 

--// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x

--#define YYPARSE_PARAM parser

--#define YYLEX_PARAM parser

--

- %}

- 

- %pure_parser

-+

-+%parse-param { CSSParser* parser }

-+%lex-param { CSSParser* parser }

- 

- %union {

-@@ -90,5 +89,5 @@

- %{

- 

--static inline int cssyyerror(const char*)

-+static inline int cssyyerror(void*, const char*)

- {

-     return 1;

-Index: /trunk/Source/WebCore/xml/XPathParser.cpp

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

---- /trunk/Source/WebCore/xml/XPathParser.cpp	(revision 124098)

-+++ /trunk/Source/WebCore/xml/XPathParser.cpp	(revision 124099)

-@@ -33,22 +33,19 @@

- #include "XPathException.h"

- #include "XPathNSResolver.h"

-+#include "XPathPath.h"

- #include "XPathStep.h"

- #include <wtf/StdLibExtras.h>

- #include <wtf/text/StringHash.h>

- 

--int xpathyyparse(void*);

--

-+using namespace WebCore;

- using namespace WTF;

- using namespace Unicode;

--

--namespace WebCore {

--namespace XPath {

--

--class LocationPath;

--

--#include "XPathGrammar.h"    

-+using namespace XPath;

-+

-+extern int xpathyyparse(WebCore::XPath::Parser*);

-+#include "XPathGrammar.h"

- 

- Parser* Parser::currentParser = 0;

--    

-+

- enum XMLCat { NameStart, NameCont, NotPartOfName };

- 

-@@ -631,4 +628,2 @@

- }

- 

--}

--}

-Index: /trunk/Source/WebCore/xml/XPathGrammar.y

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

---- /trunk/Source/WebCore/xml/XPathGrammar.y	(revision 124098)

-+++ /trunk/Source/WebCore/xml/XPathGrammar.y	(revision 124099)

-@@ -35,4 +35,5 @@

- #include "XPathPath.h"

- #include "XPathPredicate.h"

-+#include "XPathStep.h"

- #include "XPathVariableReference.h"

- #include <wtf/FastMalloc.h>

-@@ -45,6 +46,4 @@

- #define YYDEBUG 0

- #define YYMAXDEPTH 10000

--#define YYPARSE_PARAM parserParameter

--#define PARSER static_cast<Parser*>(parserParameter)

- 

- using namespace WebCore;

-@@ -54,4 +53,5 @@

- 

- %pure_parser

-+%parse-param { WebCore::XPath::Parser* parser }

- 

- %union

-@@ -72,5 +72,5 @@

- 

- static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }

--static void xpathyyerror(const char*) { }

-+static void xpathyyerror(void*, const char*) { }

-     

- %}

-@@ -119,5 +119,5 @@

-     OrExpr

-     {

--        PARSER->m_topExpr = $1;

-+        parser->m_topExpr = $1;

-     }

-     ;

-@@ -139,5 +139,5 @@

-     {

-         $$ = new LocationPath;

--        PARSER->registerParseNode($$);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -151,5 +151,5 @@

-         $$ = $2;

-         $$->insertFirstStep($1);

--        PARSER->unregisterParseNode($1);

-+        parser->unregisterParseNode($1);

-     }

-     ;

-@@ -160,6 +160,6 @@

-         $$ = new LocationPath;

-         $$->appendStep($1);

--        PARSER->unregisterParseNode($1);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -167,5 +167,5 @@

-     {

-         $$->appendStep($3);

--        PARSER->unregisterParseNode($3);

-+        parser->unregisterParseNode($3);

-     }

-     |

-@@ -174,6 +174,6 @@

-         $$->appendStep($2);

-         $$->appendStep($3);

--        PARSER->unregisterParseNode($2);

--        PARSER->unregisterParseNode($3);

-+        parser->unregisterParseNode($2);

-+        parser->unregisterParseNode($3);

-     }

-     ;

-@@ -184,9 +184,9 @@

-         if ($2) {

-             $$ = new Step(Step::ChildAxis, *$1, *$2);

--            PARSER->deletePredicateVector($2);

-+            parser->deletePredicateVector($2);

-         } else

-             $$ = new Step(Step::ChildAxis, *$1);

--        PARSER->deleteNodeTest($1);

--        PARSER->registerParseNode($$);

-+        parser->deleteNodeTest($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -195,6 +195,6 @@

-         String localName;

-         String namespaceURI;

--        if (!PARSER->expandQName(*$1, localName, namespaceURI)) {

--            PARSER->m_gotNamespaceError = true;

-+        if (!parser->expandQName(*$1, localName, namespaceURI)) {

-+            parser->m_gotNamespaceError = true;

-             YYABORT;

-         }

-@@ -202,9 +202,9 @@

-         if ($2) {

-             $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);

--            PARSER->deletePredicateVector($2);

-+            parser->deletePredicateVector($2);

-         } else

-             $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));

--        PARSER->deleteString($1);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -213,9 +213,9 @@

-         if ($3) {

-             $$ = new Step($1, *$2, *$3);

--            PARSER->deletePredicateVector($3);

-+            parser->deletePredicateVector($3);

-         } else

-             $$ = new Step($1, *$2);

--        PARSER->deleteNodeTest($2);

--        PARSER->registerParseNode($$);

-+        parser->deleteNodeTest($2);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -224,6 +224,6 @@

-         String localName;

-         String namespaceURI;

--        if (!PARSER->expandQName(*$2, localName, namespaceURI)) {

--            PARSER->m_gotNamespaceError = true;

-+        if (!parser->expandQName(*$2, localName, namespaceURI)) {

-+            parser->m_gotNamespaceError = true;

-             YYABORT;

-         }

-@@ -231,9 +231,9 @@

-         if ($3) {

-             $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);

--            PARSER->deletePredicateVector($3);

-+            parser->deletePredicateVector($3);

-         } else

-             $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));

--        PARSER->deleteString($2);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($2);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -260,6 +260,6 @@

-             $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);

- 

--        PARSER->deleteString($1);

--        PARSER->registerNodeTest($$);

-+        parser->deleteString($1);

-+        parser->registerNodeTest($$);

-     }

-     |

-@@ -267,6 +267,6 @@

-     {

-         $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);

--        PARSER->deleteString($1);        

--        PARSER->registerNodeTest($$);

-+        parser->deleteString($1);

-+        parser->registerNodeTest($$);

-     }

-     |

-@@ -274,7 +274,7 @@

-     {

-         $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());

--        PARSER->deleteString($1);        

--        PARSER->deleteString($3);

--        PARSER->registerNodeTest($$);

-+        parser->deleteString($1);

-+        parser->deleteString($3);

-+        parser->registerNodeTest($$);

-     }

-     ;

-@@ -294,6 +294,6 @@

-         $$ = new Vector<Predicate*>;

-         $$->append(new Predicate($1));

--        PARSER->unregisterParseNode($1);

--        PARSER->registerPredicateVector($$);

-+        parser->unregisterParseNode($1);

-+        parser->registerPredicateVector($$);

-     }

-     |

-@@ -301,5 +301,5 @@

-     {

-         $$->append(new Predicate($2));

--        PARSER->unregisterParseNode($2);

-+        parser->unregisterParseNode($2);

-     }

-     ;

-@@ -316,5 +316,5 @@

-     {

-         $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));

--        PARSER->registerParseNode($$);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -324,5 +324,5 @@

-     {

-         $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));

--        PARSER->registerParseNode($$);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -330,5 +330,5 @@

-     {

-         $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));

--        PARSER->registerParseNode($$);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -338,6 +338,6 @@

-     {

-         $$ = new VariableReference(*$1);

--        PARSER->deleteString($1);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -350,6 +350,6 @@

-     {

-         $$ = new StringExpression(*$1);

--        PARSER->deleteString($1);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -357,6 +357,6 @@

-     {

-         $$ = new Number($1->toDouble());

--        PARSER->deleteString($1);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -370,6 +370,6 @@

-         if (!$$)

-             YYABORT;

--        PARSER->deleteString($1);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($1);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -379,7 +379,7 @@

-         if (!$$)

-             YYABORT;

--        PARSER->deleteString($1);

--        PARSER->deleteExpressionVector($3);

--        PARSER->registerParseNode($$);

-+        parser->deleteString($1);

-+        parser->deleteExpressionVector($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -390,6 +390,6 @@

-         $$ = new Vector<Expression*>;

-         $$->append($1);

--        PARSER->unregisterParseNode($1);

--        PARSER->registerExpressionVector($$);

-+        parser->unregisterParseNode($1);

-+        parser->registerExpressionVector($$);

-     }

-     |

-@@ -397,5 +397,5 @@

-     {

-         $$->append($3);

--        PARSER->unregisterParseNode($3);

-+        parser->unregisterParseNode($3);

-     }

-     ;

-@@ -413,7 +413,7 @@

-         $$->addSubExpression($1);

-         $$->addSubExpression($3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -431,7 +431,7 @@

-         $3->setAbsolute(true);

-         $$ = new Path(static_cast<Filter*>($1), $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -441,8 +441,8 @@

-         $3->setAbsolute(true);

-         $$ = new Path(static_cast<Filter*>($1), $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($2);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($2);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -454,7 +454,7 @@

-     {

-         $$ = new Filter($1, *$2);

--        PARSER->unregisterParseNode($1);

--        PARSER->deletePredicateVector($2);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->deletePredicateVector($2);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -466,7 +466,7 @@

-     {

-         $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -478,7 +478,7 @@

-     {

-         $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -490,7 +490,7 @@

-     {

-         $$ = new EqTestOp($2, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -502,7 +502,7 @@

-     {

-         $$ = new EqTestOp($2, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -514,7 +514,7 @@

-     {

-         $$ = new NumericOp(NumericOp::OP_Add, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     |

-@@ -522,7 +522,7 @@

-     {

-         $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -534,7 +534,7 @@

-     {

-         $$ = new NumericOp($2, $1, $3);

--        PARSER->unregisterParseNode($1);

--        PARSER->unregisterParseNode($3);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($1);

-+        parser->unregisterParseNode($3);

-+        parser->registerParseNode($$);

-     }

-     ;

-@@ -547,6 +547,6 @@

-         $$ = new Negative;

-         $$->addSubExpression($2);

--        PARSER->unregisterParseNode($2);

--        PARSER->registerParseNode($$);

-+        parser->unregisterParseNode($2);

-+        parser->registerParseNode($$);

-     }

-     ;

diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix
deleted file mode 100644
index ef4d259cb02..00000000000
--- a/pkgs/development/libraries/webkit/default.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-args : with args; 
-let 
-  s = import ./src-for-default.nix; # 1.8.3 needs newer gtk3, wait for x-updates
-  version = lib.attrByPath ["version"] s.version args;
-in
-rec {
-  src = fetchurl {
-    url = s.url;
-    sha256 = s.hash;
-  };
-
-  buildInputs = with xlibs; [
-    pkgconfig libtool intltool autoconf automake gperf bison flex
-    gtk3 gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc
-    libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
-    which libproxy geoclue enchant python ruby perl
-    mesa libXt libXrender renderproto libXcomposite compositeproto
-    libXdamage damageproto kbproto
-    ];
-
-  propagatedBuildInputs = [
-    gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good
-    ];
-
-  configureFlags = [
-    # "--enable-3D-transforms" # no longer recognized
-    "--enable-web-sockets"
-    "--enable-web-timing"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=55294
-    "--enable-image-resizer"
-
-    "--enable-geolocation"
-
-    # Not implemented?
-    # "--enable-web-audio"
-
-    "--enable-mathml"
-
-    #"--enable-wml"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=45110
-    #"--enable-indexed-database"
-
-    # Doesn't work in release...
-    #"--enable-xhtmlmp"
-
-    # "--enable-input-speech"
-
-    #"--enable-file-writer" # no longer recognized
-    "--enable-blob"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=59430
-    # "--enable-directory-upload"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=58443
-    # "--enable-file-system"
-
-    "--enable-dependency-tracking" # to fix parallel building
-    ];
-
-  # instead of enableParallelBuilding = true;
-  makeFlags = "-j$NIX_BUILD_CORES";
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") 
-    "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
-
-  patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099
-  patchFlags = "-p2";
-
-  #doCheck = true; # tests still have problems
-
-  doReplaceUsrBin = fullDepEntry (''
-    for i in $(find . -name '*.pl') $(find . -name '*.pm'); do 
-        sed -e 's@/usr/bin/gcc@gcc@' -i $i
-    done
-  '') ["minInit" "doUnpack"];
-
-  doAddPrograms = fullDepEntry (''
-    mkdir -p $out/bin
-    for i in Programs/.libs/* Programs/*; do 
-        cp $i $out/bin/webkit-program-$(basename $i) || true
-    done
-  '') ["minInit" "doMake" "defEnsureDir"];
-      
-  paranoidFixComments = fullDepEntry (''
-    sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h')
-  '') ["minInit" "doUnpack"];
-
-  # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html
-  fixConfigure = fullDepEntry (''
-    sed   -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \
-      -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \
-      configure{,.ac}
-  '') ["minInit" "doUnpack"];
-
-  name = s.name;
-  meta = {
-    description = "WebKit - a fast and correct HTML renderer";
-    maintainers = [stdenv.lib.maintainers.raskin];
-  };
-  passthru = {
-    inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup;
-  };
-}
diff --git a/pkgs/development/libraries/webkit/gtk2.nix b/pkgs/development/libraries/webkit/gtk2.nix
deleted file mode 100644
index c2e3b9b06dd..00000000000
--- a/pkgs/development/libraries/webkit/gtk2.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-
-args : with args; 
-let 
-  s = import ./src-for-gtk2.nix;
-  version = lib.attrByPath ["version"] s.version args;
-in
-rec {
-  src = fetchurl {
-    url = s.url;
-    sha256 = s.hash;
-  };
-
-  buildInputs = with xlibs; [
-    pkgconfig libtool intltool autoconf automake gperf bison flex
-    gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc
-    libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
-    which libproxy geoclue enchant python ruby perl
-    mesa libXt libXrender renderproto libXcomposite compositeproto
-    libXdamage damageproto kbproto
-    ];
-
-  propagatedBuildInputs = [
-    gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good
-    ];
-
-  configureFlags = [
-    "--with-gtk=2.0"
-
-    # "--enable-3D-transforms" # no longer recognized
-    "--enable-web-sockets"
-    "--enable-web-timing"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=55294
-    "--enable-image-resizer"
-
-    "--enable-geolocation"
-
-    # Not implemented?
-    # "--enable-web-audio"
-
-    "--enable-mathml"
-
-    #"--enable-wml"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=45110
-    #"--enable-indexed-database"
-
-    # Doesn't work in release...
-    #"--enable-xhtmlmp"
-
-    # "--enable-input-speech"
-
-    #"--enable-file-writer" # no longer recognized
-    "--enable-blob"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=59430
-    # "--enable-directory-upload"
-
-    # https://bugs.webkit.org/show_bug.cgi?id=58443
-    # "--enable-file-system"
-
-    "--enable-dependency-tracking" # to fix parallel building
-    ];
-
-  # instead of enableParallelBuilding = true;
-  makeFlags = "-j$NIX_BUILD_CORES";
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") 
-    "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
-
-  patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099
-  patchFlags = "-p2";
-
-  #doCheck = true; # tests still have problems
-
-  doReplaceUsrBin = fullDepEntry (''
-    for i in $(find . -name '*.pl') $(find . -name '*.pm'); do 
-        sed -e 's@/usr/bin/gcc@gcc@' -i $i
-    done
-  '') ["minInit" "doUnpack"];
-
-  doAddPrograms = fullDepEntry (''
-    mkdir -p $out/bin
-    for i in Programs/.libs/* Programs/*; do 
-        cp $i $out/bin/webkit-program-$(basename $i) || true
-    done
-  '') ["minInit" "doMake" "defEnsureDir"];
-      
-  paranoidFixComments = fullDepEntry (''
-    sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h')
-  '') ["minInit" "doUnpack"];
-
-  # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html
-  fixConfigure = fullDepEntry (''
-    sed   -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \
-      -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \
-      configure{,.ac}
-  '') ["minInit" "doUnpack"];
-
-  name = s.name;
-  meta = {
-    description = "WebKit - a fast and correct HTML renderer";
-    maintainers = [stdenv.lib.maintainers.raskin];
-  };
-  passthru = {
-    inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup;
-  };
-}
diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix
deleted file mode 100644
index 65bcd435096..00000000000
--- a/pkgs/development/libraries/webkit/src-for-default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-rec {
-   version="1.8.1";
-   name="webkit-1.8.1";
-   hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls";
-   url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
-   advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
-  
-  
-}
-
diff --git a/pkgs/development/libraries/webkit/src-for-gtk2.nix b/pkgs/development/libraries/webkit/src-for-gtk2.nix
deleted file mode 100644
index 65bcd435096..00000000000
--- a/pkgs/development/libraries/webkit/src-for-gtk2.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-rec {
-   version="1.8.1";
-   name="webkit-1.8.1";
-   hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls";
-   url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
-   advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
-  
-  
-}
-
diff --git a/pkgs/development/libraries/webkit/src-for-svn.nix b/pkgs/development/libraries/webkit/src-for-svn.nix
deleted file mode 100644
index f90bafbf6dc..00000000000
--- a/pkgs/development/libraries/webkit/src-for-svn.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="r86499";
-   name="webkit-r86499";
-   hash="04sfwri81x2d9y3z0v7rhrr40vn0bxcbnhb8a0gymqkwa1ngpzmp";
-   url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r86499.tar.bz2";
-   advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r86499.tar.bz2";
-  
-  
-}
diff --git a/pkgs/development/libraries/webkit/src-info-for-default.nix b/pkgs/development/libraries/webkit/src-info-for-default.nix
deleted file mode 100644
index c4e5b8a6fd6..00000000000
--- a/pkgs/development/libraries/webkit/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  downloadPage = "http://webkitgtk.org/?page=download";
-  versionExtractorSedScript = "s/.*-([.0-9]+)[.].*/\\1/";
-  versionReferenceCreator = "s/-([.0-9.]+)[.]/-\${version}./";
-  baseName = "webkit";
-}
diff --git a/pkgs/development/libraries/webkit/src-info-for-svn.nix b/pkgs/development/libraries/webkit/src-info-for-svn.nix
deleted file mode 100644
index 994cae544cb..00000000000
--- a/pkgs/development/libraries/webkit/src-info-for-svn.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  downloadPage = "http://nightly.webkit.org/";
-  versionExtractorSedScript = "s/.*-(r[0-9]+)[.].*/\\1/";
-  versionReferenceCreator = "s/-(r[0-9.]+)[.]/-\${version}./";
-  baseName = "webkit";
-}
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
new file mode 100644
index 00000000000..82cff159a56
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, perl, python, ruby, bison, gperf, flex
+, pkgconfig, which, gettext, gobjectIntrospection
+, gtk2, gtk3, wayland, libwebp, enchant
+, libxml2, libsoup, libsecret, libxslt, harfbuzz
+, gst-plugins-base
+, withGtk2 ? false
+, enableIntrospection ? true
+}:
+
+stdenv.mkDerivation rec {
+  name = "webkitgtk-2.4.4";
+
+  meta = {
+    description = "Web content rendering engine, GTK+ port";
+    homepage = "http://webkitgtk.org/";
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://webkitgtk.org/releases/${name}.tar.xz";
+    sha256 = "1f9sypnnxxcml9vj79g9hf2di52pg5kggyc3wgsy3q9a6mzgrjsq";
+  };
+
+  patches = [ ./webcore-svg-libxml-cflags.patch ];
+
+  CC = "cc";
+
+  prePatch = ''
+    patchShebangs Tools/gtk
+  '';
+
+  configureFlags = with stdenv.lib; [
+    "--disable-geolocation"
+    (optionalString enableIntrospection "--enable-introspection")
+  ] ++ stdenv.lib.optional withGtk2 [
+    "--with-gtk=2.0"
+    "--disable-webkit2"
+  ];
+
+  dontAddDisableDepTrack = true;
+
+  nativeBuildInputs = [
+    perl python ruby bison gperf flex
+    pkgconfig which gettext gobjectIntrospection
+  ];
+
+  buildInputs = [
+    gtk2 wayland libwebp enchant
+    libxml2 libsecret libxslt harfbuzz
+    gst-plugins-base
+  ];
+
+  propagatedBuildInputs = [
+    libsoup
+    (if withGtk2 then gtk2 else gtk3)
+  ];
+
+  #enableParallelBuilding = true; # build problems on Hydra
+}
diff --git a/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch b/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
new file mode 100644
index 00000000000..03fc3f3f97d
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
@@ -0,0 +1,8 @@
+--- webkitgtk-2.2.3-orig/GNUmakefile.in	2013-12-04 17:56:28.000000000 +0800
++++ webkitgtk-2.2.3/GNUmakefile.in	2013-12-05 17:32:37.976689248 +0800
+@@ -21911,6 +21911,7 @@
+ @ENABLE_SVG_TRUE@	$(CAIRO_CFLAGS) \
+ @ENABLE_SVG_TRUE@	$(FREETYPE_CFLAGS) \
+ @ENABLE_SVG_TRUE@	$(LIBSOUP_CFLAGS) \
++@ENABLE_SVG_TRUE@	$(LIBXML_CFLAGS) \
+ @ENABLE_SVG_TRUE@	$(UNICODE_CFLAGS)
diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix
index 85e5726f863..5b3f9e03ac7 100644
--- a/pkgs/development/libraries/wildmidi/default.nix
+++ b/pkgs/development/libraries/wildmidi/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, alsaLib, freepats }:
+{ stdenv, fetchurl, cmake, alsaLib, freepats }:
 
 stdenv.mkDerivation rec {
-  name = "wildmidi-0.2.3.5";
+  name = "wildmidi-0.3.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/wildmidi/wildmidi/${name}.tar.gz";
-    sha256 = "0m75753mn0rbwja180c2qk53s149wp4k35dijr2i6pa7sc12fr00";
+    url = "https://github.com/Mindwerks/wildmidi/archive/${name}.tar.gz";
+    sha256 = "0y8r812f8h9jqlajwbzni7f23k8kfcp4wxz3jdq75z902bsmdzpf";
   };
 
-  # NOTE: $out in configureFlags, like this:
-  #   configureFlags = "--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg";
-  # is not expanded, so use this workaround:
-  preConfigure = ''
-    configureFlags="--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg"
-  '';
+  nativeBuildInputs = [ cmake ];
 
   buildInputs = [ alsaLib ];
 
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt \
+      --replace /etc/wildmidi $out/etc
+  '';
+
   postInstall = ''
     mkdir "$out"/etc
     echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     # The library is LGPLv3, the wildmidi executable is GPLv3
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/wtk/default.nix b/pkgs/development/libraries/wtk/default.nix
index c9e7fb4249d..1ff34d45ba3 100644
--- a/pkgs/development/libraries/wtk/default.nix
+++ b/pkgs/development/libraries/wtk/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://java.sun.com/products/sjwtoolkit/download.html;
     description = "Sun Java Wireless Toolkit 2.5.2_01 for CLDC";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/development/libraries/wvstreams/default.nix b/pkgs/development/libraries/wvstreams/default.nix
index 0b551b753f5..ecfc9b88a0e 100644
--- a/pkgs/development/libraries/wvstreams/default.nix
+++ b/pkgs/development/libraries/wvstreams/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     find -type f | xargs sed -i 's@/bin/bash@bash@g'
+
+    sed -e '1i#include <unistd.h>' -i $(find . -name '*.c' -o -name '*.cc')
   '';
 
   buildInputs = [ qt4 dbus zlib openssl readline perl ];
diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix
new file mode 100644
index 00000000000..faa17c08363
--- /dev/null
+++ b/pkgs/development/libraries/wxGTK-3.0/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
+, gstreamer, gst_plugins_base, GConf, setfile
+, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
+}:
+
+assert withMesa -> mesa != null;
+
+with stdenv.lib;
+
+let
+  version = "3.0.1";
+in
+stdenv.mkDerivation {
+  name = "wxwidgets-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
+    sha256 = "1xf5s8cnq6xr0r6l0y9cn1pjg961xbycl4afhjrqzbsnxiwinrxx";
+  };
+
+  buildInputs =
+    [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
+      gst_plugins_base GConf ]
+    ++ optional withMesa mesa
+    ++ optional stdenv.isDarwin setfile;
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags =
+    [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl"
+      (if compat24 then "--enable-compat24" else "--disable-compat24")
+      (if compat26 then "--enable-compat26" else "--disable-compat26") ]
+    ++ optional unicode "--enable-unicode"
+    ++ optional withMesa "--with-opengl"
+    ++ optionals stdenv.isDarwin
+      # allow building on 64-bit
+      [ "--with-cocoa" "--enable-universal-binaries" ];
+
+  SEARCH_LIB = optionalString withMesa "${mesa}/lib";
+
+  preConfigure = "
+    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace /usr /no-such-path
+  " + optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace \
+      'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
+      'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
+  '';
+
+  postInstall = "
+    (cd $out/include && ln -s wx-*/* .)
+  ";
+
+  passthru = {inherit gtk compat24 compat26 unicode;};
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/libraries/xapian/1.0.x.nix b/pkgs/development/libraries/xapian/1.0.x.nix
index 57240eb7335..b89900d2b05 100644
--- a/pkgs/development/libraries/xapian/1.0.x.nix
+++ b/pkgs/development/libraries/xapian/1.0.x.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "Xapian Probabilistic Information Retrieval library";
     homepage = "http://xapian.org";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
   };
 }
diff --git a/pkgs/development/libraries/xapian/bindings/1.0.x.nix b/pkgs/development/libraries/xapian/bindings/1.0.x.nix
index b6bc94814e6..9ce5312f69a 100644
--- a/pkgs/development/libraries/xapian/bindings/1.0.x.nix
+++ b/pkgs/development/libraries/xapian/bindings/1.0.x.nix
@@ -68,7 +68,7 @@ composableDerivation.composableDerivation {} rec {
   meta = { 
     description = "Bindings for the Xapian library";
     homepage = xapian10.meta.homepage;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
   };
 }
diff --git a/pkgs/development/libraries/xbase/default.nix b/pkgs/development/libraries/xbase/default.nix
index 847ca6510e5..81447276db7 100644
--- a/pkgs/development/libraries/xbase/default.nix
+++ b/pkgs/development/libraries/xbase/default.nix
@@ -9,7 +9,13 @@ stdenv.mkDerivation {
   };
 
   prePatch = "find . -type f -not -name configure -print0 | xargs -0 chmod -x";
-  patches = [ ./xbase-fixes.patch ];
+  patches = [
+    ./xbase-fixes.patch
+    (fetchurl {
+      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-db/xbase/files/xbase-3.1.2-gcc47.patch?revision=1.1";
+      sha256 = "1kpcrkkcqdwl609yd0qxlvp743icz3vni13993sz6fkgn5lah8yl";
+    })
+  ];
 
   meta = {
     homepage = http://linux.techass.com/projects/xdb/;
diff --git a/pkgs/development/libraries/xcb-util-cursor/default.nix b/pkgs/development/libraries/xcb-util-cursor/default.nix
new file mode 100644
index 00000000000..984f192e4c9
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, bashInteractive, autoconf, automake, libtool, pkgconfig
+, git, xlibs, gnum4, libxcb, gperf }:
+
+stdenv.mkDerivation rec {
+  name = "xcb-util-cursor-0.1.1";
+
+  src = fetchurl {
+    url    = "http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.1.tar.gz";
+    sha256 = "0lkjbcml305imyzr80yb8spjvq6y83v2allk5gc9plkv39zag29z";
+  };
+
+  meta = with stdenv.lib; {
+    description = "XCB cursor library (libxcursor port)";
+    homepage    = http://cgit.freedesktop.org/xcb/util-cursor;
+    license     = licenses.mit;
+    maintainer  = with maintainers; [ lovek323 ];
+    platforms   = platforms.linux;
+  };
+
+  buildInputs = [
+    autoconf
+    automake
+    gnum4
+    gperf
+    libtool
+    libxcb
+    pkgconfig
+    xlibs.utilmacros
+    xlibs.xcbutilimage
+    xlibs.xcbutilrenderutil
+  ];
+
+  configurePhase = ''
+    sed -i '15 i\
+      LT_INIT' configure.ac
+    ${bashInteractive}/bin/bash autogen.sh --prefix="$out"
+  '';
+}
diff --git a/pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4 b/pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4
new file mode 100644
index 00000000000..e22b50fd9fd
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4
@@ -0,0 +1,174 @@
+# ===========================================================================
+#           http://autoconf-archive.cryp.to/ax_compare_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+#
+# DESCRIPTION
+#
+#   This macro compares two version strings. Due to the various number of
+#   minor-version numbers that can exist, and the fact that string
+#   comparisons are not compatible with numeric comparisons, this is not
+#   necessarily trivial to do in a autoconf script. This macro makes doing
+#   these comparisons easy.
+#
+#   The six basic comparisons are available, as well as checking equality
+#   limited to a certain number of minor-version levels.
+#
+#   The operator OP determines what type of comparison to do, and can be one
+#   of:
+#
+#    eq  - equal (test A == B)
+#    ne  - not equal (test A != B)
+#    le  - less than or equal (test A <= B)
+#    ge  - greater than or equal (test A >= B)
+#    lt  - less than (test A < B)
+#    gt  - greater than (test A > B)
+#
+#   Additionally, the eq and ne operator can have a number after it to limit
+#   the test to that number of minor versions.
+#
+#    eq0 - equal up to the length of the shorter version
+#    ne0 - not equal up to the length of the shorter version
+#    eqN - equal up to N sub-version levels
+#    neN - not equal up to N sub-version levels
+#
+#   When the condition is true, shell commands ACTION-IF-TRUE are run,
+#   otherwise shell commands ACTION-IF-FALSE are run. The environment
+#   variable 'ax_compare_version' is always set to either 'true' or 'false'
+#   as well.
+#
+#   Examples:
+#
+#     AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
+#     AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
+#
+#   would both be true.
+#
+#     AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
+#     AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
+#
+#   would both be false.
+#
+#     AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
+#
+#   would be true because it is only comparing two minor versions.
+#
+#     AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
+#
+#   would be true because it is only comparing the lesser number of minor
+#   versions of the two values.
+#
+#   Note: The characters that separate the version numbers do not matter. An
+#   empty string is the same as version 0. OP is evaluated by autoconf, not
+#   configure, so must be a string, not a variable.
+#
+#   The author would like to acknowledge Guido Draheim whose advice about
+#   the m4_case and m4_ifvaln functions make this macro only include the
+#   portions necessary to perform the specific comparison specified by the
+#   OP argument in the final configure script.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.
+
+dnl #########################################################################
+AC_DEFUN([AX_COMPARE_VERSION], [
+  AC_PROG_AWK
+
+  # Used to indicate true or false condition
+  ax_compare_version=false
+
+  # Convert the two version strings to be compared into a format that
+  # allows a simple string comparison.  The end result is that a version
+  # string of the form 1.12.5-r617 will be converted to the form
+  # 0001001200050617.  In other words, each number is zero padded to four
+  # digits, and non digits are removed.
+  AS_VAR_PUSHDEF([A],[ax_compare_version_A])
+  A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+                     -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/[[^0-9]]//g'`
+
+  AS_VAR_PUSHDEF([B],[ax_compare_version_B])
+  B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+                     -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/[[^0-9]]//g'`
+
+  dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
+  dnl # then the first line is used to determine if the condition is true.
+  dnl # The sed right after the echo is to remove any indented white space.
+  m4_case(m4_tolower($2),
+  [lt],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+  ],
+  [gt],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+  ],
+  [le],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+  ],
+  [ge],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+  ],[
+    dnl Split the operator from the subversion count if present.
+    m4_bmatch(m4_substr($2,2),
+    [0],[
+      # A count of zero means use the length of the shorter version.
+      # Determine the number of characters in A and B.
+      ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
+      ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
+
+      # Set A to no more than B's length and B to no more than A's length.
+      A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
+      B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
+    ],
+    [[0-9]+],[
+      # A count greater than zero means use only that many subversions
+      A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+      B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+    ],
+    [.+],[
+      AC_WARNING(
+        [illegal OP numeric parameter: $2])
+    ],[])
+
+    # Pad zeros at end of numbers to make same length.
+    ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
+    B="$B`echo $A | sed 's/./0/g'`"
+    A="$ax_compare_version_tmp_A"
+
+    # Check for equality or inequality as necessary.
+    m4_case(m4_tolower(m4_substr($2,0,2)),
+    [eq],[
+      test "x$A" = "x$B" && ax_compare_version=true
+    ],
+    [ne],[
+      test "x$A" != "x$B" && ax_compare_version=true
+    ],[
+      AC_WARNING([illegal OP parameter: $2])
+    ])
+  ])
+
+  AS_VAR_POPDEF([A])dnl
+  AS_VAR_POPDEF([B])dnl
+
+  dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
+  if test "$ax_compare_version" = "true" ; then
+    m4_ifvaln([$4],[$4],[:])dnl
+    m4_ifvaln([$5],[else $5])dnl
+  fi
+]) dnl AX_COMPARE_VERSION
diff --git a/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m4 b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m4
new file mode 100644
index 00000000000..f9463d37fca
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m4
@@ -0,0 +1,44 @@
+# XCB_UTIL_COMMON(xcb-required-version, xcb-proto-required-version)
+# -----------------------------------------------------------------
+#
+# Defines default options for xcb-util libraries.  xorg/util/macros >=
+# 1.6.0 is  required for  cross-platform compiler  flags and  to build
+# library documentation.
+#
+AC_DEFUN([XCB_UTIL_COMMON], [
+m4_ifndef([AX_COMPARE_VERSION],
+          [m4_fatal([could not find AX_COMPARE_VERSION in macros search path])])
+
+AC_REQUIRE([AC_PROG_LIBTOOL])
+
+# Define header files and pkgconfig paths
+xcbincludedir='${includedir}/xcb'
+AC_SUBST(xcbincludedir)
+pkgconfigdir='${libdir}/pkgconfig'
+AC_SUBST(pkgconfigdir)
+
+# Check xcb version
+PKG_CHECK_MODULES(XCB, xcb >= [$1])
+
+# Check version of xcb-proto that xcb was compiled against
+xcbproto_required=[$2]
+
+AC_MSG_CHECKING([whether libxcb was compiled against xcb-proto >= $xcbproto_required])
+xcbproto_version=`$PKG_CONFIG --variable=xcbproto_version xcb`
+AX_COMPARE_VERSION([$xcbproto_version],[ge],[$xcbproto_required], xcbproto_ok="yes",
+                   xcbproto_ok="no")
+AC_MSG_RESULT([$xcbproto_ok])
+
+if test $xcbproto_ok = no; then
+   AC_MSG_ERROR([libxcb was compiled against xcb-proto $xcbproto_version; it needs to be compiled against version $xcbproto_required or higher])
+fi
+
+# Call macros from Xorg util-macros
+m4_ifndef([XORG_MACROS_VERSION],
+          [m4_fatal([must install xorg-macros 1.6.0 or later before running autoconf/autogen])])
+
+XORG_MACROS_VERSION([1.6.0])
+XORG_DEFAULT_OPTIONS
+XORG_ENABLE_DEVEL_DOCS
+XORG_WITH_DOXYGEN
+]) # XCB_UTIL_COMMON
diff --git a/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m4 b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m4
new file mode 100644
index 00000000000..a3ddce4a706
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m4
@@ -0,0 +1,24 @@
+# XCB_UTIL_M4_WITH_INCLUDE_PATH
+# ------------------------------
+#
+# This macro attempts to locate an m4 macro processor which supports
+# -I option and is only useful for modules relying on M4 in order to
+# expand macros in source code files.
+#
+# M4: variable holding the path to an usable m4 program.
+#
+# This macro  requires Autoconf 2.62  or later  as it is  relying upon
+# AC_PATH_PROGS_FEATURE_CHECK  macro. NOTE:  As  soon  as the  minimum
+# required version of Autoconf for Xorg  is bumped to 2.62, this macro
+# is supposed to be shipped with xorg/util/macros.
+#
+AC_DEFUN([XCB_UTIL_M4_WITH_INCLUDE_PATH], [
+AC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
+   [AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
+       [[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
+         ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
+   [AC_MSG_ERROR([could not find m4 that supports -I option])],
+   [$PATH:/usr/gnu/bin])])
+
+AC_SUBST([M4], [$ac_cv_path_M4])
+]) # XCB_UTIL_M4_WITH_INCLUDE_PATH
diff --git a/pkgs/development/libraries/xercesc/default.nix b/pkgs/development/libraries/xercesc/default.nix
index f5c9ba8a698..1c1426d969e 100644
--- a/pkgs/development/libraries/xercesc/default.nix
+++ b/pkgs/development/libraries/xercesc/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://xerces.apache.org/xerces-c/;
     description = "Validating XML parser written in a portable subset of C++";
-    license = "ASL2.0";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 45c60acfa89..11ba5df80ca 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xine-lib-1.2.2";
+  name = "xine-lib-1.2.4";
   
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "1mjk686h1qzqj51h4xs4xvagfgnnhm8czbzzjvr5w034pr8n8rg1";
+    sha256 = "1pdv7bs683ily548arv4wsxabslyf3x3laij5jb921dxyx71nnww";
   };
 
   nativeBuildInputs = [ pkgconfig perl ];
diff --git a/pkgs/development/libraries/xlibs-wrapper/default.nix b/pkgs/development/libraries/xlibs-wrapper/default.nix
index 07220d6e1a6..fcdab133e2f 100644
--- a/pkgs/development/libraries/xlibs-wrapper/default.nix
+++ b/pkgs/development/libraries/xlibs-wrapper/default.nix
@@ -6,6 +6,8 @@ stdenv.mkDerivation {
   installPhase = "mkdir -p $out";
   unpackPhase = "sourceRoot=.";
   propagatedBuildInputs = packages;
+
+  preferLocalBuild = true;
 } // {
   # For compatability with XFree86.
   buildClientLibs = true;
diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index 4a208dbc64e..9f578e4b9dd 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, curl }:
 
 stdenv.mkDerivation rec {
-  name = "xmlrpc-c-1.25.25";
+  name = "xmlrpc-c-1.25.27";
 
   src = fetchurl {
     url = "mirror://sourceforge/xmlrpc-c/${name}.tgz";
-    sha256 = "1sk33q4c6liza920rp4w803cfq0a79saq7fg1yjsp8hks7q011ml";
+    sha256 = "0g9m9n258lpbs42a2lagd4h7qim1g34gkaqyx8h50qrsk49ipspn";
   };
 
   buildInputs = [ curl ];
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index afb23e4de35..80f4e2fc860 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.aleksey.com/xmlsec;
     description = "XML Security Library in C based on libxml2";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/xylib/default.nix b/pkgs/development/libraries/xylib/default.nix
new file mode 100644
index 00000000000..8fff5f39338
--- /dev/null
+++ b/pkgs/development/libraries/xylib/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, boost, zlib, bzip2 }:
+
+let
+  name    = "xylib";
+  version = "1.3";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/wojdyr/xylib/releases/download/v${version}/${name}-${version}.tar.bz2";
+    sha256 = "09j426qjbg3damch1hfw16j992kn2hj8gs4lpvqgfqdw61kvqivh";
+  };
+
+  buildInputs = [boost zlib bzip2 ];
+
+  meta = {
+    description = "xylib is a portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods.";
+    license = "LGPL";
+    homepage = http://xylib.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/yajl/default.nix b/pkgs/development/libraries/yajl/default.nix
index e58c6dcba12..079b457ab1f 100644
--- a/pkgs/development/libraries/yajl/default.nix
+++ b/pkgs/development/libraries/yajl/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, ruby }:
 
-stdenv.mkDerivation {
-  name = "yajl-2.0.1";
+stdenv.mkDerivation rec {
+  name = "yajl-2.0.4";
 
   src = fetchurl {
-    url = http://github.com/lloyd/yajl/tarball/2.0.1;
-    name = "yajl-2.0.1.tar.gz";
-    sha256 = "08a7bgmdpvi6w9f9bxx5f42njwmwzdf6jz3w6ila7jgbl5mhknf2";
+    url = http://github.com/lloyd/yajl/tarball/2.0.4;
+    name = "${name}.tar.gz";
+    sha256 = "0661bfi4hfvwg3z2pf51wqbf5qd5kfn0dk83v5s2xwhmry8rd6y1";
   };
 
   buildInputs = [ cmake ruby ];
diff --git a/pkgs/development/libraries/zeitgeist/dbus_glib.patch b/pkgs/development/libraries/zeitgeist/dbus_glib.patch
new file mode 100644
index 00000000000..872ea0db31b
--- /dev/null
+++ b/pkgs/development/libraries/zeitgeist/dbus_glib.patch
@@ -0,0 +1,10 @@
+--- configure.ac	2014-01-27 22:45:42.000000000 +0100
++++ configure.ac.new	2014-05-02 17:25:45.813491239 +0200
+@@ -151,6 +151,7 @@
+                             gio-2.0 >= $GLIB_REQUIRED
+                             gio-unix-2.0 >= $GLIB_REQUIRED
+                             gtk+-3.0 >= $GTK_REQUIRED
++                            dbus-glib-1
+                             json-glib-1.0 >= $JSON_GLIB_REQUIRED"
+ 
+ AC_ARG_ENABLE([datahub],
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
new file mode 100644
index 00000000000..3ef43baca5e
--- /dev/null
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala
+, intltool, libtool, python, dbus_libs, telepathy_glib
+, gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }:
+
+stdenv.mkDerivation rec {
+  name = "zeitgeist-0.0.14";
+
+  src = fetchurl {
+    url = "https://github.com/seiflotfy/zeitgeist/archive/v0.9.15.tar.gz";
+    sha256 = "07pnc7kmjpd0ncm32z6s3ny5p4zl52v9lld0n0f8sp6cw87k12p0";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
+  configureScript = "./autogen.sh";
+
+  configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
+
+  buildInputs = [ pkgconfig glib sqlite gnome3.gnome_common intltool
+                  libtool python dbus_libs telepathy_glib vala dbus_glib
+                  gtk3 json_glib librdf_raptor2 pythonPackages.rdflib ];
+
+  prePatch = "patchShebangs .";
+
+  patches = [ ./dbus_glib.patch ];
+
+  patchFlags = [ "-p0" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A service which logs the users's activities and events";
+    homepage = https://launchpad.net/zeitgeist;
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix
new file mode 100644
index 00000000000..29e92d0b6ec
--- /dev/null
+++ b/pkgs/development/libraries/zeroc-ice/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, mcpp, bzip2, expat, openssl, db5 }:
+
+stdenv.mkDerivation rec {
+  name = "zeroc-ice-3.5.1";
+
+  src = fetchurl {
+    url = "http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz";
+    sha256 = "14pk794p0fq3hcp50xmqnf9pp15dggiqhcnsav8xpnka9hcm37lq";
+  };
+
+  buildInputs = [ mcpp bzip2 expat openssl db5 ];
+
+  buildPhase = ''
+    cd cpp
+    make OPTIMIZE=yes
+  '';
+
+  installPhase = ''
+    make prefix=$out install
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.zeroc.com/ice.html";
+    description = "The internet communications engine";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/zeromq/2.x.nix b/pkgs/development/libraries/zeromq/2.x.nix
index 06beb9254f9..59a7ed17110 100644
--- a/pkgs/development/libraries/zeromq/2.x.nix
+++ b/pkgs/development/libraries/zeromq/2.x.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl, libuuid}:
 
 stdenv.mkDerivation rec {
-  name = "zeromq-2.1.10";
+  name = "zeromq-2.2.0";
 
   src = fetchurl {
     url = "http://download.zeromq.org/${name}.tar.gz";
-    sha256 = "0yabbbgx9ajpq0hjzqjm6rmj7pkcj95d5zn7d59b4wmm6kipwwn6";
+    sha256 = "0ds6c244wik1lyfrfr2f4sha30fly4xybr02r9r4z156kvmlm423";
   };
 
   buildInputs = [ libuuid ];
 
   meta = {
+    branch = "2";
     homepage = "http://www.zeromq.org";
     description = "The Intelligent Transport Layer";
   };
diff --git a/pkgs/development/libraries/zeromq/3.x.nix b/pkgs/development/libraries/zeromq/3.x.nix
index fbb3b5ad74f..33285897d11 100644
--- a/pkgs/development/libraries/zeromq/3.x.nix
+++ b/pkgs/development/libraries/zeromq/3.x.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl, libuuid}:
 
 stdenv.mkDerivation rec {
-  name = "zeromq-3.2.1-rc2";
+  name = "zeromq-3.2.4";
 
   src = fetchurl {
     url = "http://download.zeromq.org/${name}.tar.gz";
-    sha256 = "b0a70da77e39537120a1fa058c49434982741ecef5211edcd7aeab4caffb82b7";
+    sha256 = "0n9gfhwgkwq08kvvgk5zxjga08v628ij5chddk5w4ravr10s35nz";
   };
 
   buildInputs = [ libuuid ];
 
   meta = {
+    branch = "3";
     homepage = "http://www.zeromq.org";
     description = "The Intelligent Transport Layer";
   };
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
new file mode 100644
index 00000000000..08eb6317fcb
--- /dev/null
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, libuuid}:
+
+stdenv.mkDerivation rec {
+  name = "zeromq-4.0.4";
+
+  src = fetchurl {
+    url = "http://download.zeromq.org/${name}.tar.gz";
+    sha256 = "16fkax2f6h2h4wm7jrv95m6vwffd4vb1wrm1smyy4csgx531vxqy";
+  };
+
+  buildInputs = [ libuuid ];
+
+  meta = {
+    branch = "4";
+    homepage = "http://www.zeromq.org";
+    description = "The Intelligent Transport Layer";
+  };
+}
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index ec47c35c153..0938e2a17a7 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, static ? false }:
 
-let version = "1.2.7"; in
+let version = "1.2.8"; in
 
 stdenv.mkDerivation rec {
   name = "zlib-${version}";
-  
+
   src = fetchurl {
     urls =
       [ "http://www.zlib.net/${name}.tar.gz"  # old versions vanish from here
         "mirror://sourceforge/libpng/zlib/${version}/${name}.tar.gz"
       ];
-    sha256 = "1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s";
+    sha256 = "039agw5rqvqny92cpkrfn243x2gd4xn13hs3xi6isk55d2vqqr9n";
   };
 
   configureFlags = if static then "" else "--shared";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   # As zlib takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-  NIX_CFLAGS_COMPILE = "-static-libgcc";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-static-libgcc";
 
   crossAttrs = {
     dontStrip = static;
@@ -36,8 +36,17 @@ stdenv.mkDerivation rec {
       "-f" "win32/Makefile.gcc"
       "PREFIX=${stdenv.cross.config}-"
     ] ++ (if static then [] else [ "SHARED_MODE=1" ]);
+  } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") {
+    makeFlags = [ "RANLIB=${stdenv.cross.config}-ranlib" ];
   };
 
   # zlib doesn't like the automatic --disable-shared from the Cygwin stdenv.
   cygwinConfigureEnableShared = true;
+
+  passthru.version = version;
+
+  meta = with stdenv.lib; {
+    description = "Lossless data-compression library";
+    license = licenses.zlib;
+  };
 }
diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix
index 69e53d4e8f6..dcfaafc2b7d 100644
--- a/pkgs/development/libraries/zziplib/default.nix
+++ b/pkgs/development/libraries/zziplib/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "Zziplib, a library to extract data from files archived in a zip file";
+    description = "Library to extract data from files archived in a zip file";
 
     longDescription = ''
       The zziplib library is intentionally lightweight, it offers the ability
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       zip/unzip tools.
     '';
 
-    licenses = [ "LGPLv2+" "MPLv1.1" ];
+    license = [ "LGPLv2+" "MPLv1.1" ];
 
     homepage = http://zziplib.sourceforge.net/;
 
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index 48b49ee3583..97e1661544b 100644
--- a/pkgs/development/lisp-modules/asdf/default.nix
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asdf";
-    version="3.0.2.4";
+    version="3.1.2";
     name="${baseName}-${version}";
-    hash="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.4.tar.gz";
-    sha256="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag";
+    hash="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.1.2.tar.gz";
+    sha256="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki";
   };
   buildInputs = [
     texinfo texLive
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
index 0ae4ce13064..efaadf5606e 100644
--- a/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation {
 
   phases="installPhase fixupPhase";
 
+  preferLocalBuild = true;
+
   passthru = {
     inherit lisp;
   };
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index 015d5fccdc3..14c996fa05a 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -23,7 +23,7 @@ let lispPackages = rec {
     description = "X11 bindings for Common Lisp";
     deps = [];
     src = pkgs.fetchgit {
-      url = "https://github.com/sharplispers/clx/";
+      url = "https://github.com/sharplispers/clx.git";
       rev = "e2b762ac93d78d6eeca4f36698c8dfd1537ce998";
       sha256 = "0jcrmlaayz7m8ixgriq7id3pdklyk785qvpcxdpcp4aqnfiiqhij";
     };
@@ -37,7 +37,7 @@ let lispPackages = rec {
     src = pkgs.fetchdarcs {
       url = "http://common-lisp.net/project/iterate/darcs/iterate";
       sha256 = "0m3q0s7h5s8varwx584m2akgdslj14df7kg4w1bj1fbgzsag5m1w";
-      tag=version;
+      rev = version;
     };
     overrides = x: {
       configurePhase="buildPhase(){ true; }";
@@ -64,7 +64,7 @@ let lispPackages = rec {
     description = "A wrapper around Esrap to allow generating Esrap grammars from PEG definitions";
     deps = [alexandria cl-unification esrap iterate];
     src = pkgs.fetchgit {
-      url = "https://github.com/fb08af68/esrap-peg";
+      url = "https://github.com/fb08af68/esrap-peg.git";
       sha256 = "48e616a697aca95e90e55052fdc9a7f96bf29b3208b1b4012fcd3189c2eceeb1";
       rev = ''1f2f21e32e618f71ed664cdc5e7005f8b6b0f7c8'';
       
@@ -92,7 +92,7 @@ let lispPackages = rec {
     description = "A Packrat / Parsing Grammar / TDPL parser for Common Lisp.";
     deps = [alexandria];
     src = pkgs.fetchgit {
-      url = "https://github.com/scymtym/esrap";
+      url = "https://github.com/scymtym/esrap.git";
       sha256 = "c56616ac01be0f69e72902f9fd830a8af2c2fa9018b66747a5da3988ae38817f";
       rev = ''c71933b84e220f21e8a509ec26afe3e3871e2e26'';
       
diff --git a/pkgs/development/lisp-modules/stumpwm/default.nix b/pkgs/development/lisp-modules/stumpwm/default.nix
index f6ef41dda1d..ae0dab1ec9d 100644
--- a/pkgs/development/lisp-modules/stumpwm/default.nix
+++ b/pkgs/development/lisp-modules/stumpwm/default.nix
@@ -1,4 +1,4 @@
-{pkgs, nixLib, clwrapper, cl-ppcre, clx, buildLispPackage}: 
+{pkgs, nixLib, clwrapper, cl-ppcre, clx, buildLispPackage}:
 buildLispPackage rec {
   baseName = "stumpwm";
   version = "2013-09";
@@ -9,7 +9,7 @@ buildLispPackage rec {
   };
   description = "Tiling window manager for X11";
   deps = [cl-ppcre clx];
-  buildInputs = with pkgs; [texinfo autoconf which makeWrapper];
+  buildInputs = with pkgs; [texinfo4 autoconf which makeWrapper];
   meta = {
     maintainers = [nixLib.maintainers.raskin];
     platforms = nixLib.platforms.linux;
@@ -18,15 +18,18 @@ buildLispPackage rec {
     preConfigure = ''
       ${x.deployConfigScript}
       export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD/"
-      ./autogen.sh 
-      configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) "
+      ./autogen.sh
+      configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) --with-contrib-dir=$out/lib/common-lisp/stumpwm/contrib/"
     '';
-    installPhase=x.installPhase + ''
-      make install 
+    installPhase = with pkgs; x.installPhase + ''
+      make install
 
       if [ "$NIX_LISP" = "sbcl" ]; then
         wrapProgram "$out"/bin/stumpwm --set SBCL_HOME "${clwrapper.lisp}/lib/sbcl"
       fi;
+
+      mv $out/lib/common-lisp/stumpwm/contrib/stumpish $out/bin/stumpish
+      wrapProgram "$out"/bin/stumpish --prefix PATH : "${xlibs.xprop}/bin:${coreutils}/bin:${gnugrep}/bin:${gnused}/bin:${rlwrap}/bin:${ncurses}/bin"
     '';
     postInstall = ''false'';
   };
diff --git a/pkgs/development/misc/amdadl-sdk/default.nix b/pkgs/development/misc/amdadl-sdk/default.nix
index d311b6b722a..c177d8fe03f 100644
--- a/pkgs/development/misc/amdadl-sdk/default.nix
+++ b/pkgs/development/misc/amdadl-sdk/default.nix
@@ -1,12 +1,13 @@
-{ fetchurl, stdenv, unzip }:
+{ requireFile, stdenv, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "4.0";
+  version = "6.0";
   name = "amdadl-sdk-${version}";
 
-  src = fetchurl {
-    url = "http://download2-developer.amd.com/amd/GPU/zip/ADL_SDK_${version}.zip";
-    sha256 = "4265ee2f265b69cc39b61e10f79741c1d799f4edb71dce14a7d88509fbec0efa";
+  src = requireFile {
+    name = "ADL_SDK_6.0.zip";
+    url = http://developer.amd.com/tools-and-sdks/graphics-development/display-library-adl-sdk/;
+    sha256 = "429f4fd1edebb030d6366f4e0a877cf105e4383f7dd2ccf54e5aef8f2e4242c9";
   };
 
   buildInputs = [ unzip ];
@@ -17,6 +18,10 @@ stdenv.mkDerivation rec {
     unzip $src
   '';
 
+  patchPhase = ''
+    sed -i -e '/include/a \#include <wchar.h>' include/adl_structures.h || die
+  '';
+
   buildPhase = ''
     #Build adlutil
     cd adlutil
@@ -37,8 +42,9 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "API to access display driver functionality for ATI graphics cards";
     homepage = http://developer.amd.com/tools/graphics-development/display-library-adl-sdk/;
-    license = licenses.amdadl;
+    license = licenses.unfree;
     maintainers = [ maintainers.offline ];
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
index 5218f5b7744..1f54d132dcc 100644
--- a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
+++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
@@ -78,10 +78,11 @@ stdenv.mkDerivation {
     '';
   };
 
-  meta = { 
+  meta = with stdenv.lib; {
       description = "AVR developement environment including binutils, avr-gcc and avr-libc";
       # I've tried compiling the packages separately.. too much hassle. This just works. Fine.
       license =  ["GPL" "LGPL"]; # see single packages ..
       homepage = []; # dito
+      platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/misc/avr8-burn-omat/default.nix b/pkgs/development/misc/avr8-burn-omat/default.nix
index f79483874f6..a0466091a52 100644
--- a/pkgs/development/misc/avr8-burn-omat/default.nix
+++ b/pkgs/development/misc/avr8-burn-omat/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "GUI tool for avrdude";
     homepage = http://avr8-burn-o-mat.brischalle.de/avr8_burn_o_mat_avrdude_gui_en.html;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/misc/intelgen4asm/default.nix b/pkgs/development/misc/intelgen4asm/default.nix
deleted file mode 100644
index d0e2517cdd9..00000000000
--- a/pkgs/development/misc/intelgen4asm/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchgit, autoconf, automake, libtool, bison, flex }:
-
-stdenv.mkDerivation rec {
-  name = "intel-g4asm-20110416";
-  
-  src = fetchgit {
-    url = http://anongit.freedesktop.org/git/xorg/app/intel-gen4asm.git;
-    rev = "2450ff752642d116eb789a35393b9828133c7d31";
-    sha256 = "a24c054a7c5ae335b72523fd2f51cae7f07a2885ef3c7a04d07a85e39f0c053f";
-  };
-
-  buildInputs = [ autoconf automake libtool bison flex ];
-
-  preConfigure = "sh autogen.sh";
-
-  meta = {
-    homepage = http://cgit.freedesktop.org/xorg/app/intel-gen4asm/;
-    license = "MIT";
-    description = "Program to compile an assembly language for the Intel 965 Express Chipset";
-  };
-}
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index 2020f48b1d2..aee3c847e93 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -319,7 +319,152 @@ This is the Google TV Add-on for the Android Software Development Kit License Ag
 
 
 August 15, 2011
-   </sdk:license>
+    </sdk:license>
+
+    <sdk:license id="google-gdk-license" type="text">This is an early Sneak Peek of the GDK that is subject to change. Please stay tuned for the full Developer Preview coming soon.
+
+Terms and Conditions
+
+This is the Glass Development Kit License Agreement.
+
+1. Introduction
+
+1.1 The Glass Development Kit (referred to in this License Agreement as the "GDK" and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK.
+
+1.2 &quot;Glass&quot; means Glass devices and the Glass software stack for use on Glass devices.
+
+
+1.3 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting this License Agreement
+
+2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement.
+
+2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+
+2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK.
+
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity.
+
+3. GDK License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK.
+
+3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+
+3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK.
+
+
+3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement.
+
+4. Use of the GDK by You
+
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+
+4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+
+6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy.
+
+7. Third Party Applications
+
+7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating this License Agreement
+
+9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate this License Agreement with you if:
+(A) you have breached any provision of this License Agreement; or
+(B) Google is required to do so by law; or
+(C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or
+(D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+
+10. DISCLAIMER OF WARRANTIES
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available.
+
+14. General Legal Terms
+
+14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+
+14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+November 19, 2013
+    </sdk:license>
 
     <!-- ADD-ONS ....................... -->
 
@@ -708,56 +853,44 @@ August 15, 2011
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
-    <!-- GOOGLE TV ADDONS ............. -->
-
-    <sdk:add-on>
-        <sdk:vendor-id>google</sdk:vendor-id>
-        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_tv_addon</sdk:name-id>
-        <sdk:name-display>Google TV Addon</sdk:name-display>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android + Google TV, API 12, preview release</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
-        <sdk:uses-license ref="android-googletv-license"/>
-        <sdk:archives>
-            <sdk:archive os="linux">
-                <sdk:size>78266751</sdk:size>
-                <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
-                <sdk:url>google_tv-12_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:libs/>
-    </sdk:add-on>
-
     <sdk:add-on>
+        <!-- Generated at Tue May 14 08:07:47 2013 from git_jb-mr1.1-dev @ 673949 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_tv_addon</sdk:name-id>
-        <sdk:name-display>Google TV Addon</sdk:name-display>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android + Google TV, API 13</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
-        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:description>Android + Google APIs</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:revision>3</sdk:revision>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.android.future.usb.accessory</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.google.android.media.effects</sdk:name>
+            </sdk:lib>
+        </sdk:libs>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>87721879</sdk:size>
-                <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
-                <sdk:url>google_tv-13_r01.zip</sdk:url>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>137156978</sdk:size>
+                <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
+                <sdk:url>google_apis-17_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
-        <sdk:libs/>
+        <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Tue May 14 08:07:47 2013 from git_jb-mr1.1-dev @ 673949 -->
+        <!-- Generated at Thu Sep 19 12:49:30 2013 from git_jb-mr2-dev @ 836888 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-id>google_apis</sdk:name-id>
         <sdk:name-display>Google APIs</sdk:name-display>
         <sdk:description>Android + Google APIs</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
+        <sdk:api-level>18</sdk:api-level>
         <sdk:revision>3</sdk:revision>
         <sdk:libs>
             <sdk:lib>
@@ -772,23 +905,23 @@ August 15, 2011
         </sdk:libs>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>137156978</sdk:size>
-                <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
-                <sdk:url>google_apis-17_r03.zip</sdk:url>
+                <sdk:size>143149689</sdk:size>
+                <sdk:checksum type="sha1">147bce09c1163edc17194f3db496ec1086fcf965</sdk:checksum>
+                <sdk:url>google_apis-18_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Mon Aug 12 12:42:05 2013 from git_jb-mr2-dev @ 774058 -->
+        <!-- Generated at Mon Oct 28 22:29:49 2013 from git_klp-release @ 892118 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-id>google_apis</sdk:name-id>
         <sdk:name-display>Google APIs</sdk:name-display>
         <sdk:description>Android + Google APIs</sdk:description>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
         <sdk:libs>
             <sdk:lib>
                 <sdk:name>com.google.android.maps</sdk:name>
@@ -802,19 +935,91 @@ August 15, 2011
         </sdk:libs>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>142778022</sdk:size>
-                <sdk:checksum type="sha1">40f2a6a6d6227dadd82cfe0f9783bd4c6bdb29c2</sdk:checksum>
-                <sdk:url>google_apis-18_r02.zip</sdk:url>
+                <sdk:size>150689239</sdk:size>
+                <sdk:checksum type="sha1">6c530a8318446e4da1e3ab7d2abd154bc493bc5a</sdk:checksum>
+                <sdk:url>google_apis-19_r01.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
+
+    <!-- GOOGLE TV ADDONS ............. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_tv_addon</sdk:name-id>
+        <sdk:name-display>Google TV Addon</sdk:name-display>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google TV, API 12, preview release</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:archives>
+            <sdk:archive os="linux">
+                <sdk:size>78266751</sdk:size>
+                <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
+                <sdk:url>google_tv-12_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs/>
+    </sdk:add-on>
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_tv_addon</sdk:name-id>
+        <sdk:name-display>Google TV Addon</sdk:name-display>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google TV, API 13</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>87721879</sdk:size>
+                <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
+                <sdk:url>google_tv-13_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs/>
+    </sdk:add-on>
+
+
+    <!-- GLASS ADDONS ............. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_gdk</sdk:name-id>
+        <sdk:name-display>Glass Development Kit Sneak Peek</sdk:name-display>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Sneak peek of the Glass Development Kit</sdk:description>
+        <sdk:desc-url>https://developers.google.com/glass/gdk/</sdk:desc-url>
+        <sdk:uses-license ref="google-gdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>281839</sdk:size>
+                <sdk:checksum type="sha1">a3c7317fb2fe8a0dfc06828a5aabc457372b82a7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/glass/xe11/google-gdk.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.glass</sdk:name>
+                <sdk:description>APIs for Google Glass Development Kit Sneak Peek.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+
     <!-- EXTRAS VENDOR=ANDROID ........................ -->
 
     <sdk:extra>
-        <!-- Generated at Tue Jul 23 17:18:50 2013 from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>18</sdk:revision>
+        <!-- Generated at Wed Oct 30 14:52:38 2013 from git_klp-dev @ 894928 -->
+        <sdk:revision>19</sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Library</sdk:name-display>
@@ -822,17 +1027,17 @@ August 15, 2011
         <sdk:old-paths>compatibility</sdk:old-paths>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>4438319</sdk:size>
-                <sdk:checksum type="sha1">bd67b4b8a6bac629f24c8aea75c3619a26d9a568</sdk:checksum>
-                <sdk:url>support_r18.zip</sdk:url>
+                <sdk:size>4905998</sdk:size>
+                <sdk:checksum type="sha1">54b8661595856a08f032d41bb139f375a7609308</sdk:checksum>
+                <sdk:url>support_r19.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>2</sdk:revision>
+        <!-- Generated from git_klp-dev @ 894928  -->
+        <sdk:revision>3</sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Repository</sdk:name-display>
@@ -840,9 +1045,9 @@ August 15, 2011
         <sdk:path>m2repository</sdk:path>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>3705797</sdk:size>
-                <sdk:checksum type="sha1">c4284e4bf17a1e8bafc96a18de36984022d5a46a</sdk:checksum>
-                <sdk:url>android_m2repository_r02.zip</sdk:url>
+                <sdk:size>6282146</sdk:size>
+                <sdk:checksum type="sha1">db4650f817f1507211ec6186d2d9e72074e6df12</sdk:checksum>
+                <sdk:url>android_m2repository_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
@@ -855,14 +1060,14 @@ August 15, 2011
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Repository</sdk:name-display>
         <sdk:path>m2repository</sdk:path>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>4</sdk:revision>
         <sdk:description>Local Maven repository for Google Libraries</sdk:description>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
             <sdk:archive os="any">
-                <sdk:size>2043649</sdk:size>
-                <sdk:checksum type="sha1">f518e0170e84a6bccbadb8a043989cc61f4c37aa</sdk:checksum>
-                <sdk:url>google_m2repository_r02.zip</sdk:url>
+                <sdk:size>3891592</sdk:size>
+                <sdk:checksum type="sha1">c418daafd203a8cb4899d49bd321da83b927586e</sdk:checksum>
+                <sdk:url>google_m2repository_r04.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -908,17 +1113,35 @@ August 15, 2011
     <sdk:extra>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Play services for Froyo</sdk:name-display>
+        <sdk:path>google_play_services_froyo</sdk:path>
+        <sdk:revision>12</sdk:revision>
+        <sdk:description>Google Play services client library and sample code</sdk:description>
+        <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>5265389</sdk:size>
+                <sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum>
+                <sdk:url>google_play_services_3265130_r12.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services</sdk:name-display>
         <sdk:path>google_play_services</sdk:path>
-        <sdk:revision>11</sdk:revision>
-        <sdk:description>Google Play Services client library and sample code</sdk:description>
+        <sdk:revision>13</sdk:revision>
+        <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
             <sdk:archive os="any">
-                <sdk:size>5265306</sdk:size>
-                <sdk:checksum type="sha1">00851350c55b016bef202700f643f246fb0c24ea</sdk:checksum>
-                <sdk:url>google_play_services_3264130_r11.zip</sdk:url>
+                <sdk:size>7958511</sdk:size>
+                <sdk:checksum type="sha1">1be94e8f767616e862f0088ab673e1980a6022c4</sdk:checksum>
+                <sdk:url>google_play_services_4030530_r13.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -948,14 +1171,14 @@ August 15, 2011
         <sdk:name-display>Google Play Billing Library</sdk:name-display>
         <sdk:path>play_billing</sdk:path>
         <sdk:old-paths>market_billing</sdk:old-paths>
-        <sdk:revision>4</sdk:revision>
+        <sdk:revision>5</sdk:revision>
         <sdk:description>Google Play Billing files and sample code</sdk:description>
         <sdk:desc-url>http://developer.android.com/google/play/billing/index.html</sdk:desc-url>
         <sdk:archives>
             <sdk:archive os="any">
-                <sdk:size>437084</sdk:size>
-                <sdk:checksum type="sha1">38fdae51dadb6d1e63e177adba3e4d96b751686e</sdk:checksum>
-                <sdk:url>play_billing_r04.zip</sdk:url>
+                <sdk:size>436654</sdk:size>
+                <sdk:checksum type="sha1">bd2ac5ce7127070ac3229003eb69cfb806628ac9</sdk:checksum>
+                <sdk:url>play_billing_r05.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 2fd66420cf6..8aacde4eee7 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -197,8 +197,20 @@ in
   google_apis_18 = buildGoogleApis {
     name = "google_apis-18";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/google_apis-18_r02.zip;
-        sha1 = "40f2a6a6d6227dadd82cfe0f9783bd4c6bdb29c2";
+        url = https://dl-ssl.google.com/android/repository/google_apis-18_r03.zip;
+        sha1 = "147bce09c1163edc17194f3db496ec1086fcf965";
+      };
+      meta = {
+        description = "Android + Google APIs";
+        
+      };
+    };
+    
+  google_apis_19 = buildGoogleApis {
+    name = "google_apis-19";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-19_r01.zip;
+        sha1 = "6c530a8318446e4da1e3ab7d2abd154bc493bc5a";
       };
       meta = {
         description = "Android + Google APIs";
diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix
new file mode 100644
index 00000000000..cbcff8178e3
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/androidndk.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, zlib, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  name = "android-ndk-r9d";
+
+  src = if stdenv.system == "i686-linux"
+    then fetchurl {
+      url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2";
+      md5 = "6c1d7d99f55f0c17ecbcf81ba0eb201f";
+    }
+    else if stdenv.system == "x86_64-linux" then fetchurl {
+      url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2";
+      md5 = "c7c775ab3342965408d20fd18e71aa45";
+    }
+    else throw "platform not ${stdenv.system} supported!";
+
+  phases = "installPhase";
+
+  installPhase = ''
+    set -x
+    mkdir -pv $out
+    tar xf $src
+    mv */* $out
+    find $out \( \
+        \( -type f -a -name "*.so*" \) -o \
+        \( -type f -a -perm +0100 \) \
+        \) -exec patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-*so.? \
+        --set-rpath ${zlib}/lib:${ncurses}/lib {} \;
+  '';
+}
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 0b5f69ed3e2..3c9327f1c59 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -7,17 +7,18 @@
 }:
 {platformVersions, abiVersions, useGoogleAPIs}:
 
-stdenv.mkDerivation {
-  name = "android-sdk-22.2";
+stdenv.mkDerivation rec {
+  name = "android-sdk-${version}";
+  version = "22.6.2";
   
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = http://dl.google.com/android/android-sdk_r22.2-linux.tgz;
-      md5 = "2a3776839e823ba9acb7a87a3fe26e02";
+      url = "http://dl.google.com/android/android-sdk_r${version}-linux.tgz";
+      md5 = "ff1541418a44d894bedc5cef10622220";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = http://dl.google.com/android/android-sdk_r22.2-macosx.zip;
-      md5 = "9dfef6404e2f842c433073796aed8b7d";
+      url = "http://dl.google.com/android/android-sdk_r${version}-macosx.zip";
+      md5 = "2a319c862dd1dcf450bfe2a6b3d9c608";
     }
     else throw "platform not ${stdenv.system} supported!";
   
@@ -132,7 +133,7 @@ stdenv.mkDerivation {
           let
             googleApis = builtins.getAttr ("google_apis_"+platformVersion) addons;
           in
-          "ln -s ${googleApis}/* addon-google_apis-${platformVersion}"
+          "ln -s ${googleApis}/* addon-google_apis-${platformVersion}\n"
         else "") platformVersions
       else ""}
       
@@ -148,7 +149,7 @@ stdenv.mkDerivation {
         let
           platform = builtins.getAttr ("platform_"+platformVersion) platforms;
         in
-        "ln -s ${platform}/* android-${platformVersion}"
+        "ln -s ${platform}/* android-${platformVersion}\n"
       else ""
     ) platformVersions}
     
@@ -177,7 +178,7 @@ stdenv.mkDerivation {
     
     # Create wrappers to the most important tools and platform tools so that we can run them if the SDK is in our PATH
     
-    ensureDir $out/bin
+    mkdir -p $out/bin
 
     for i in $out/libexec/android-sdk-*/tools/*
     do
diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix
index db7067c989c..ca00e78b2cb 100644
--- a/pkgs/development/mobile/androidenv/build-app.nix
+++ b/pkgs/development/mobile/androidenv/build-app.nix
@@ -1,7 +1,7 @@
-{ stdenv, androidsdk, jdk, ant }:
+{ stdenv, androidsdk, jdk, ant, androidndk, gnumake, gawk, file, which }:
 args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false, antFlags ? ""
 , release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null
-, ...
+, useNDK ? false, ...
 }:
 
 assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null;
@@ -18,11 +18,12 @@ let
 in
 stdenv.mkDerivation ({
   name = stdenv.lib.replaceChars [" "] [""] name;
-  
+
   ANDROID_HOME = "${androidsdkComposition}/libexec/android-sdk-${platformName}";
 
-  buildInputs = [ jdk ant ];
-  
+  buildInputs = [ jdk ant ] ++
+    stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ];
+
   buildPhase = ''
     ${stdenv.lib.optionalString release ''
     
@@ -33,11 +34,16 @@ stdenv.mkDerivation ({
         echo "key.alias.password=${keyAliasPassword}"
       ) >> ant.properties
     ''}
-  
+
     export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it.
+    ${if useNDK then ''
+        export GNUMAKE=${gnumake}/bin/make
+        export NDK_HOST_AWK=${gawk}/bin/gawk
+        ${androidndk}/ndk-build
+      '' else ""}
     ant ${antFlags} ${if release then "release" else "debug"}
   '';
-  
+
   installPhase = ''
     mkdir -p $out
     mv bin/*-${if release then "release" else "debug"}.apk $out
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 3c6263f125d..bc022bd70b4 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -52,6 +52,18 @@ rec {
     alsaLib_32bit = pkgs_i686.alsaLib;
   };
   
+  androidsdk_2_2 = androidsdk {
+    platformVersions = [ "8" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_4_0 = androidsdk {
+    platformVersions = [ "15" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
   androidsdk_4_1 = androidsdk {
     platformVersions = [ "16" ];
     abiVersions = [ "armeabi-v7a" ];
@@ -69,10 +81,14 @@ rec {
     abiVersions = [ "armeabi-v7a" "x86" ];
     useGoogleAPIs = true;
   };
+
+  androidndk = import ./androidndk.nix {
+    inherit (pkgs) stdenv fetchurl zlib ncurses;
+  };
   
   buildApp = import ./build-app.nix {
-    inherit (pkgs) stdenv jdk ant;
-    inherit androidsdk;
+    inherit (pkgs) stdenv jdk ant gnumake gawk file which;
+    inherit androidsdk androidndk;
   };
   
   emulateApp = import ./emulate-app.nix {
diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix
index 9c843fa8c37..278c073dc58 100644
--- a/pkgs/development/mobile/androidenv/emulate-app.nix
+++ b/pkgs/development/mobile/androidenv/emulate-app.nix
@@ -2,9 +2,9 @@
 { name, app ? null
 , platformVersion ? "8", abiVersion ? "armeabi-v7a", useGoogleAPIs ? false
 , enableGPU ? false, extraAVDFiles ? []
-, package ? null, activity ? null}:
-
-assert app != null -> package != null && activity != null;
+, package ? null, activity ? null
+, avdHomeDir ? null
+}:
 
 let
   androidsdkComposition = androidsdk {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     
     cat > $out/bin/run-test-emulator << "EOF"
-    #!/bin/sh -e
+    #! ${stdenv.shell} -e
     
     # We need a TMPDIR
     if [ "$TMPDIR" = "" ]
@@ -28,8 +28,13 @@ stdenv.mkDerivation {
         export TMPDIR=/tmp
     fi
     
-    # Store the virtual devices somewhere else, instead of polluting a user's HOME directory
-    export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX)
+    ${if avdHomeDir == null then ''
+      # Store the virtual devices somewhere else, instead of polluting a user's HOME directory
+      export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX)
+    '' else ''
+      mkdir -p "${avdHomeDir}"
+      export ANDROID_SDK_HOME="${avdHomeDir}"
+    ''}
     
     # We have to look for a free TCP port
     
@@ -54,17 +59,22 @@ stdenv.mkDerivation {
     
     export ANDROID_SERIAL="emulator-$port"
     
-    # Create a virtual android device
-    yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS
+    # Create a virtual android device for testing if it does not exists
     
-    ${stdenv.lib.optionalString enableGPU ''
-      # Enable GPU acceleration
-      echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini
-    ''}
+    if [ "$(android list avd | grep 'Name: device')" = "" ]
+    then
+        # Create a virtual android device
+        yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS
+    
+        ${stdenv.lib.optionalString enableGPU ''
+          # Enable GPU acceleration
+          echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini
+        ''}
     
-    ${stdenv.lib.concatMapStrings (extraAVDFile: ''
-      ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd
-    '') extraAVDFiles}
+        ${stdenv.lib.concatMapStrings (extraAVDFile: ''
+          ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd
+        '') extraAVDFiles}
+    fi
     
     # Launch the emulator
     ${androidsdkComposition}/libexec/android-sdk-*/tools/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS &
@@ -94,11 +104,24 @@ stdenv.mkDerivation {
     echo "ready" >&2
     
     ${stdenv.lib.optionalString (app != null) ''
-      # Install the App through the debugger
-      ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install ${app}/*.apk
+      # Install the App through the debugger, if it has not been installed yet
+      
+      if [ -z "${package}" ] || [ "$(adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
+      then
+          if [ -d "${app}" ]
+          then
+              appPath="$(echo ${app}/*.apk)"
+          else
+              appPath="${app}"
+          fi
+          
+          ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install "$appPath"
+      fi
     
       # Start the application
-      ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/.${activity}
+      ${stdenv.lib.optionalString (package != null && activity != null) ''
+          ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity}
+      ''}
     ''}
     EOF
     chmod +x $out/bin/run-test-emulator
diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index bf263741bdd..a7a2661bd37 100644
--- a/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -1,15 +1,15 @@
 {stdenv, stdenv_32bit, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "android-platform-tools-r18.0.1";
+  name = "android-platform-tools-r19";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/platform-tools_r18.0.1-linux.zip;
-      sha1 = "cf9bdbbaa34da37b59724f914dad907c2c74a387";
+      url = https://dl-ssl.google.com/android/repository/platform-tools_r19-linux.zip;
+      sha1 = "66ee37daf8a2a8f1aa8939ccd4093658e30aa49b";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/platform-tools_r18.0.1-macosx.zip;
-      sha1 = "126325cbb55928c38acbb9c7bb5d9145d94fad56";
+      url = https://dl-ssl.google.com/android/repository/platform-tools_r19-macosx.zip;
+      sha1 = "69af30f488163dfc3da8cef1bb6cc7e8a6df5681";
     }
     else throw "System ${stdenv.system} not supported!";
   
diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index 5db90ffef1c..f9f5a2d50f4 100644
--- a/pkgs/development/mobile/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
@@ -218,5 +218,17 @@ in
     };
   };
     
+  platform_19 = buildPlatform {
+    name = "android-platform-4.4";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
+      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+    };
+    meta = {
+      description = "Android SDK Platform 4.4";
+      
+    };
+  };
+    
 }
   
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index c5ddf714cdf..a95561d3e85 100644
--- a/pkgs/development/mobile/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
@@ -218,5 +218,17 @@ in
     };
   };
     
+  platform_19 = buildPlatform {
+    name = "android-platform-4.4";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
+      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+    };
+    meta = {
+      description = "Android SDK Platform 4.4";
+      
+    };
+  };
+    
 }
   
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/repository-8.xml b/pkgs/development/mobile/androidenv/repository-8.xml
index 79795aa4939..46ae8aa9a7c 100644
--- a/pkgs/development/mobile/androidenv/repository-8.xml
+++ b/pkgs/development/mobile/androidenv/repository-8.xml
@@ -638,6 +638,30 @@ November 13, 2012
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:platform>
 
+    <sdk:platform>
+        <!-- Generated at Mon Oct 28 23:34:31 2013 from git_klp-release @ 892118 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4</sdk:description>
+        <sdk:version>4.4</sdk:version>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>59279956</sdk:size>
+                <sdk:checksum type="sha1">96281811998272dce46e8285d15fce444a3d5a96</sdk:checksum>
+                <sdk:url>android-19_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+
     <!-- SYSTEM IMAGES ........................ -->
 
     <sdk:system-image>
@@ -720,6 +744,23 @@ November 13, 2012
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:system-image>
 
+    <sdk:system-image>
+        <!-- Generated at Mon Oct 28 23:36:43 2013 from git_klp-release @ 892118 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>155838103</sdk:size>
+                <sdk:checksum type="sha1">12dd1187dfd953b1ffcef5067d94578590f9e600</sdk:checksum>
+                <sdk:url>sysimg_armv7a-19_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:system-image>
+
+
     <!-- SAMPLES ........................ -->
 
     <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
@@ -919,30 +960,44 @@ November 13, 2012
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:sample>
 
+    <sdk:sample>
+        <!-- Generated at Wed Oct 30 20:26:32 2013 from git_klp-dev @ 896074 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>20697510</sdk:size>
+                <sdk:checksum type="sha1">c2007694b5e5ad6737f647db8160155d5258cb7f</sdk:checksum>
+                <sdk:url>samples-19_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
     <!-- PLATFORM-TOOLS ........................ -->
 
     <sdk:platform-tool>
-        <!-- Generated at Mon Jul 29 15:56:24 2013 from git_jb-mr2-dev @ 754669 -->
+        <!-- Generated at Mon Oct 28 23:35:14 2013 from git_klp-release @ 886418 -->
         <sdk:revision>
-            <sdk:major>18</sdk:major>
+            <sdk:major>19</sdk:major>
             <sdk:minor>0</sdk:minor>
-            <sdk:micro>1</sdk:micro>
+            <sdk:micro>0</sdk:micro>
         </sdk:revision>
         <sdk:archives>
             <sdk:archive arch="any" os="windows">
-                <sdk:size>954769</sdk:size>
-                <sdk:checksum type="sha1">b40fea3ed72296dd42dd616a7abf536b8dace20d</sdk:checksum>
-                <sdk:url>platform-tools_r18.0.1-windows.zip</sdk:url>
+                <sdk:size>1116358</sdk:size>
+                <sdk:checksum type="sha1">755dcb5b5b72bbca90dd055eec4c8d0b1fce7cfd</sdk:checksum>
+                <sdk:url>platform-tools_r19-windows.zip</sdk:url>
             </sdk:archive>
             <sdk:archive arch="any" os="linux">
-                <sdk:size>1011194</sdk:size>
-                <sdk:checksum type="sha1">cf9bdbbaa34da37b59724f914dad907c2c74a387</sdk:checksum>
-                <sdk:url>platform-tools_r18.0.1-linux.zip</sdk:url>
+                <sdk:size>1172749</sdk:size>
+                <sdk:checksum type="sha1">66ee37daf8a2a8f1aa8939ccd4093658e30aa49b</sdk:checksum>
+                <sdk:url>platform-tools_r19-linux.zip</sdk:url>
             </sdk:archive>
             <sdk:archive arch="any" os="macosx">
-                <sdk:size>971087</sdk:size>
-                <sdk:checksum type="sha1">126325cbb55928c38acbb9c7bb5d9145d94fad56</sdk:checksum>
-                <sdk:url>platform-tools_r18.0.1-macosx.zip</sdk:url>
+                <sdk:size>1120849</sdk:size>
+                <sdk:checksum type="sha1">69af30f488163dfc3da8cef1bb6cc7e8a6df5681</sdk:checksum>
+                <sdk:url>platform-tools_r19-macosx.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
@@ -1033,33 +1088,86 @@ November 13, 2012
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:build-tool>
 
+    <sdk:build-tool>
+        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>19660000</sdk:size>
+                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
+                <sdk:url>build-tools_r18.1.1-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>20229760</sdk:size>
+                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
+                <sdk:url>build-tools_r18.1.1-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>20452157</sdk:size>
+                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
+                <sdk:url>build-tools_r18.1.1-macosx.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>20611447</sdk:size>
+                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
+                <sdk:url>build-tools_r19-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>21339943</sdk:size>
+                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
+                <sdk:url>build-tools_r19-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>21441270</sdk:size>
+                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
+                <sdk:url>build-tools_r19-macosx.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
     <!-- TOOLS ........................ -->
 
     <sdk:tool>
-        <!-- Generated at Wed Sep 11 18:24:51 2013 from git_mirror-aosp-tools_r22.2 @ 822324 -->
+        <!-- Generated at Mon Oct 28 23:45:30 2013 from git_mirror-aosp-tools_r22.2 @ 887826 -->
         <sdk:revision>
             <sdk:major>22</sdk:major>
-            <sdk:minor>2</sdk:minor>
-            <sdk:micro>0</sdk:micro>
+            <sdk:minor>3</sdk:minor>
         </sdk:revision>
         <sdk:min-platform-tools-rev>
             <sdk:major>18</sdk:major>
         </sdk:min-platform-tools-rev>
         <sdk:archives>
             <sdk:archive arch="any" os="windows">
-                <sdk:size>108669997</sdk:size>
-                <sdk:checksum type="sha1">c4231cd769ef9d1b6ae69202a1a0d0f783f04ea7</sdk:checksum>
-                <sdk:url>tools_r22.2-windows.zip</sdk:url>
+                <sdk:size>108726734</sdk:size>
+                <sdk:checksum type="sha1">1cdc825c9a84ccf69b4a6386076a881d962dd7a9</sdk:checksum>
+                <sdk:url>tools_r22.3-windows.zip</sdk:url>
             </sdk:archive>
             <sdk:archive arch="any" os="linux">
-                <sdk:size>101168674</sdk:size>
-                <sdk:checksum type="sha1">a11febd30023ed2590bca4c2d7b1dc2b0cfcd715</sdk:checksum>
-                <sdk:url>tools_r22.2-linux.zip</sdk:url>
+                <sdk:size>101224750</sdk:size>
+                <sdk:checksum type="sha1">f76251916a23cb3d85e579f01cc6711a334f9064</sdk:checksum>
+                <sdk:url>tools_r22.3-linux.zip</sdk:url>
             </sdk:archive>
             <sdk:archive arch="any" os="macosx">
-                <sdk:size>74822802</sdk:size>
-                <sdk:checksum type="sha1">76896171d0c9ba91c875c8f13ac58cd2e50e9f28</sdk:checksum>
-                <sdk:url>tools_r22.2-macosx.zip</sdk:url>
+                <sdk:size>74859563</sdk:size>
+                <sdk:checksum type="sha1">697d7f6fa44f02e6894d0eeb948ea97e3cdc8c3c</sdk:checksum>
+                <sdk:url>tools_r22.3-macosx.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
@@ -1068,14 +1176,14 @@ November 13, 2012
     <!-- DOCS ........................ -->
 
     <sdk:doc>
-        <!-- Generated at Tue Jul 23 17:15:55 2013 from git_jb-mr2-release @ 737497 -->
+        <!-- Generated at Wed Oct 30 22:52:09 2013 from git_klp-dev @ 896129 -->
         <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
+        <sdk:api-level>19</sdk:api-level>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>142332266</sdk:size>
-                <sdk:checksum type="sha1">83632d157781d31f2a8e52acad5c4c5d0f307cba</sdk:checksum>
-                <sdk:url>docs-18_r01.zip</sdk:url>
+                <sdk:size>181765706</sdk:size>
+                <sdk:checksum type="sha1">6c92bb045f75a2eabfbdc3e26ff64ce0a7a2b3fc</sdk:checksum>
+                <sdk:url>docs-19_r01.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
@@ -1152,4 +1260,18 @@ November 13, 2012
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Oct 28 23:37:07 2013 from git_klp-release @ 892118 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>21656670</sdk:size>
+                <sdk:checksum type="sha1">91d9f5f4117723eecc4434b7de0e7f6295ea0508</sdk:checksum>
+                <sdk:url>sources-19_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
 </sdk:sdk-repository>
diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix
index 4c1f0a30907..bbbf3a4fc68 100644
--- a/pkgs/development/mobile/androidenv/sysimages.nix
+++ b/pkgs/development/mobile/androidenv/sysimages.nix
@@ -53,6 +53,14 @@ in
     };
   };
     
+  sysimg_armeabi-v7a_19 = buildSystemImage {
+    name = "armeabi-v7a-19";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r01.zip;
+      sha1 = "12dd1187dfd953b1ffcef5067d94578590f9e600";
+    };
+  };
+    
   sysimg_x86_10 = buildSystemImage {
     name = "x86-10";
     src = fetchurl {
diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix
new file mode 100644
index 00000000000..92b8c9a1845
--- /dev/null
+++ b/pkgs/development/mobile/flashtool/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, requireFile, p7zip, jre, libusb1, platformTools, gtk2, glib, libXtst }:
+
+assert stdenv.system == "i686-linux";
+
+# TODO:
+#
+#   The FlashTool and FlashToolConsole scripts are messy and should probably we
+#   replaced entirely. All these scripts do is try to guess the environment in
+#   which to run the Java binary (and they guess wrong on NixOS).
+#
+#   The FlashTool scripts run 'chmod' on the binaries installed in the Nix
+#   store. These commands fail, naturally, because the Nix story is (hopefully)
+#   mounted read-only. This doesn't matter, though, because the build
+#   instructions fix the executable bits already.
+
+stdenv.mkDerivation rec {
+  name = "flashtool-0.9.14.0";
+
+  src = requireFile {
+    url = "http://dfiles.eu/files/n8c1c3pgc";
+    name = "flashtool-0.9.14.0-linux.tar.7z";
+    sha256 = "0mfjdjj7clz2dhkg7lzy1m8hk8ngla7zgcryf51aki1gnpbb2zc1";
+  };
+
+  buildInputs = [ p7zip jre ];
+
+  unpackPhase = ''
+    7z e ${src}
+    tar xf ${name}-linux.tar
+    sourceRoot=FlashTool
+  '';
+
+  buildPhase = ''
+    ln -s ${platformTools}/platform-tools/adb x10flasher_lib/adb.linux
+    ln -s ${platformTools}/platform-tools/fastboot x10flasher_lib/fastboot.linux
+    ln -s ${libusb1}/lib/libusb-1.0.so.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so
+
+    chmod +x x10flasher_lib/unyaffs.linux.x86 x10flasher_lib/bin2elf x10flasher_lib/bin2sin
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" x10flasher_lib/unyaffs.linux.x86
+    ln -sf unyaffs.linux.x86 x10flasher_lib/unyaffs.linux
+
+    ln -s swt32.jar x10flasher_lib/swtlin/swt.jar
+
+    sed -i \
+      -e 's|$(uname -m)|i686|' \
+      -e 's|export JAVA_HOME=.*|export JAVA_HOME=${jre}|' \
+      -e 's|export LD_LIBRARY_PATH=.*|export LD_LIBRARY_PATH=${libXtst}/lib:${glib}/lib:${gtk2}/lib:./x10flasher_lib/linux/lib32|' \
+      FlashTool FlashToolConsole
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    mv * $out/
+  '';
+
+  meta = {
+    homepage = "http://www.flashtool.net/";
+    description = "S1 flashing software for Sony phones from X10 to Xperia Z Ultra";
+    license = stdenv.lib.licenses.unfreeRedistributableFirmware;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.none;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index 4dbf6c5e82e..fa959035a9e 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -1,11 +1,13 @@
-{stdenv, androidsdk, titaniumsdk, xcodewrapper}:
-{ appId, name, appName ? null, src, target, androidPlatformVersions ? [ "8" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ]
+{stdenv, androidsdk, titaniumsdk, titanium, xcodewrapper, jdk, python, which}:
+{ name, src, target, androidPlatformVersions ? [ "8" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null
 , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null
-, iosKeyFile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosDistribute ? false
+, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null
+, enableWirelessDistribution ? false, installURL ? null
 }:
 
 assert (release && target == "android") -> androidKeyStore != null && androidKeyAlias != null && androidKeyStorePassword != null;
-assert (release && target == "iphone") -> iosKeyFile != null && iosCertificateName != null && iosCertificate != null && iosCertificatePassword != null;
+assert (release && target == "iphone") -> iosMobileProvisioningProfile != null && iosCertificateName != null && iosCertificate != null && iosCertificatePassword != null;
+assert enableWirelessDistribution -> installURL != null;
 
 let
   androidsdkComposition = androidsdk {
@@ -15,92 +17,107 @@ let
   };
   
   deleteKeychain = "security delete-keychain $keychainName";
-  
-  _appName = if appName == null then name else appName;
 in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
   inherit src;
   
-  buildInputs = [] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper;
-
+  buildInputs = [ titanium jdk python which ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper;
+  
   buildPhase = ''
     export HOME=$TMPDIR
-
+    
+    ${stdenv.lib.optionalString (tiVersion != null) ''
+      # Replace titanium version by the provided one
+      sed -i -e "s|<sdk-version>[0-9a-zA-Z\.]*</sdk-version>|<sdk-version>${tiVersion}</sdk-version>|" tiapp.xml
+    ''}
+    
+    # Simulate a login
+    mkdir -p $HOME/.titanium
+    cat > $HOME/.titanium/auth_session.json <<EOF
+    { "loggedIn": true }
+    EOF
+    
+    echo "{}" > $TMPDIR/config.json
+    titanium --config-file $TMPDIR/config.json --no-colors config sdk.defaultInstallLocation ${titaniumsdk}
+    
+    titanium --config-file $TMPDIR/config.json --no-colors config paths.modules ${titaniumsdk}
+    
     mkdir -p $out
     
     ${if target == "android" then
-        if release then
-          ''${titaniumsdk}/mobilesdk/*/*/android/builder.py distribute "${_appName}" ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId} ${androidKeyStore} ${androidKeyStorePassword} ${androidKeyAlias} $out''
-        else
-          ''${titaniumsdk}/mobilesdk/*/*/android/builder.py build "${_appName}" ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId}''
-
+        ''
+          titanium config --config-file $TMPDIR/config.json --no-colors android.sdkPath ${androidsdkComposition}/libexec/android-sdk-*
+          
+          ${if release then
+            ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --password ${androidKeyStorePassword} --output-dir $out''
+          else
+            ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only -B foo --output $out''}
+        ''
       else if target == "iphone" then
-        if iosDistribute then ''
-            export HOME=/Users/$(whoami)
-            export keychainName=$(basename $out)
+        ''
+          export NIX_TITANIUM_WORKAROUND="--config-file $TMPDIR/config.json"
+          
+          ${if release then
+            ''
+              export HOME=/Users/$(whoami)
+              export keychainName=$(basename $out)
             
-            # Create a keychain with the component hash name (should always be unique)
-            security create-keychain -p "" $keychainName
-            security default-keychain -s $keychainName
-            security unlock-keychain -p "" $keychainName
-            security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
+              # Create a keychain with the component hash name (should always be unique)
+              security create-keychain -p "" $keychainName
+              security default-keychain -s $keychainName
+              security unlock-keychain -p "" $keychainName
+              security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
 
-            provisioningId=$(grep UUID -A1 -a ${iosKeyFile} | grep -o "[-A-Z0-9]\{36\}")
+              provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
    
-            # Ensure that the requested provisioning profile can be found
+              # Ensure that the requested provisioning profile can be found
+        
+              if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ]
+              then
+                  mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
+                  cp ${iosMobileProvisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision"
+              fi
             
-            if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ]
-            then
-                mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
-                cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision"
-            fi
+              # Make a copy of the Titanium SDK and fix its permissions. Without it,
+              # builds using the facebook module fail, because it needs to be writable
             
-            ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py distribute 6.0 $(pwd) ${appId} "${_appName}" "$provisioningId" "${iosCertificateName}" $out universal "$HOME/Library/Keychains/$keychainName"
+              cp -av ${titaniumsdk} $TMPDIR/titaniumsdk
             
-            # Remove our generated keychain
+              find $TMPDIR/titaniumsdk | while read i
+              do
+                  chmod 755 "$i"
+              done
+              
+              # Simulate a login
+              mkdir -p $HOME/.titanium
+              cat > $HOME/.titanium/auth_session.json <<EOF
+              { "loggedIn": true }
+              EOF
             
-            ${deleteKeychain}
-          ''
-        else
-            if release then
-              ''
-                export HOME=/Users/$(whoami)
-                export keychainName=$(basename $out)
-            
-                # Create a keychain with the component hash name (should always be unique)
-                security create-keychain -p "" $keychainName
-                security default-keychain -s $keychainName
-                security unlock-keychain -p "" $keychainName
-                security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
-
-                provisioningId=$(grep UUID -A1 -a ${iosKeyFile} | grep -o "[-A-Z0-9]\{36\}")
-   
-                # Ensure that the requested provisioning profile can be found
+              # Set the SDK to our copy
+              titanium --config-file $TMPDIR/config.json --no-colors config sdk.defaultInstallLocation $TMPDIR/titaniumsdk
             
-                if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ]
-                then
-                    mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
-                    cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision"
-                fi
+              # Do the actual build
+              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target dist-adhoc --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName --device-family universal --output-dir $out
             
-                ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py adhoc 6.0 $(pwd) ${appId} "${_appName}" "$provisioningId" "${iosCertificateName}" universal "$HOME/Library/Keychains/$keychainName"
+              # Remove our generated keychain
             
-                # Remove our generated keychain
+              ${deleteKeychain}
+            ''
+          else
+            ''
+              # Copy all sources to the output store directory.
+              # Why? Debug application include *.js files, which are symlinked into their
+              # sources. If they are not copied, we have dangling references to the
+              # temp folder.
             
-                ${deleteKeychain}
-          ''
-        else
-          ''
-            # Copy all sources to the output store directory.
-            # Why? Debug application include *.js files, which are symlinked into their
-            # sources. If they are not copied, we have dangling references to the
-            # temp folder.
+              cp -av * $out
+              cd $out
             
-            cp -av * $out
-            cd $out
-            ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py build 6.0 $(pwd) ${appId} "${_appName}" universal
-          ''
+              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target simulator --build-only --device-family universal --output-dir $out
+          ''}
+        ''
 
       else throw "Target: ${target} is not supported!"}
   '';
@@ -111,12 +128,21 @@ stdenv.mkDerivation {
     ${if target == "android" && release then ""
       else
         if target == "android" then
-          ''cp $(ls build/android/bin/*.apk | grep -v '\-unsigned.apk') $out''
+          ''cp "$(ls build/android/bin/*.apk | grep -v '\-unsigned.apk')" $out''
         else if target == "iphone" && release then
            ''
              cp -av build/iphone/build/* $out
              mkdir -p $out/nix-support
              echo "file binary-dist \"$(echo $out/Release-iphoneos/*.ipa)\"" > $out/nix-support/hydra-build-products
+             
+             ${stdenv.lib.optionalString enableWirelessDistribution ''
+               appname=$(basename $out/Release-iphoneos/*.ipa .ipa)
+               bundleId=$(grep '<id>[a-zA-Z0-9.]*</id>' tiapp.xml | sed -e 's|<id>||' -e 's|</id>||' -e 's/ //g')
+               version=$(grep '<version>[a-zA-Z0-9.]*</version>' tiapp.xml | sed -e 's|<version>||' -e 's|</version>||' -e 's/ //g')
+               
+               sed -e "s|@INSTALL_URL@|${installURL}?bundleId=$bundleId\&amp;version=$version\&amp;title=$appname|" ${../xcodeenv/install.html.template} > $out/$appname.html
+               echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products
+             ''}
            ''
         else if target == "iphone" then ""
         else throw "Target: ${target} is not supported!"}
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
index b7b5a048b97..6c71116b5e8 100644
--- a/pkgs/development/mobile/titaniumenv/default.nix
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,24 +1,48 @@
-{pkgs, pkgs_i686, version ? "3.1"}:
+{pkgs, pkgs_i686, xcodeVersion ? "5.0", tiVersion ? "3.2.3.GA"}:
 
 let
-  titaniumexpr = if version == "2.1" then
-    ./titaniumsdk-2.1.nix
-  else if version == "3.1" then
-    ./titaniumsdk.nix
-  else
-    throw "Unknown Titanium SDK version: ${version}";
+  # We have to use Oracle's JDK. On Darwin, just simply expose the host system's
+  # JDK. According to their docs, OpenJDK is not supported.
+  
+  jdkWrapper = pkgs.stdenv.mkDerivation {
+    name = "jdk-wrapper";
+    buildCommand = ''
+      mkdir -p $out/bin
+      cd $out/bin
+      ln -s /usr/bin/javac
+      ln -s /usr/bin/java
+      ln -s /usr/bin/jarsigner
+      ln -s /usr/bin/jar
+      ln -s /usr/bin/keytool
+    '';
+    setupHook = ''
+      export JAVA_HOME=/usr
+    '';
+  };
 in
 rec {
   androidenv = pkgs.androidenv;
 
-  xcodeenv = if pkgs.stdenv.system == "x86_64-darwin" then pkgs.xcodeenv else null;
+  xcodeenv = if pkgs.stdenv.system == "x86_64-darwin" then pkgs.xcodeenv.override {
+    version = xcodeVersion;
+  } else null;
   
-  titaniumsdk = import titaniumexpr {
-    inherit (pkgs) stdenv fetchurl unzip makeWrapper python jdk;
-  };
+  titaniumsdk = let
+    titaniumSdkFile = if tiVersion == "3.1.4.GA" then ./titaniumsdk-3.1.nix
+      else if tiVersion == "3.2.3.GA" then ./titaniumsdk-3.2.nix
+      else if tiVersion == "3.3.0.GA" then ./titaniumsdk-3.3.nix
+      else throw "Titanium version not supported: "+tiVersion;
+    in
+    import titaniumSdkFile {
+      inherit (pkgs) stdenv fetchurl unzip makeWrapper python jdk;
+    };
   
   buildApp = import ./build-app.nix {
-    inherit (pkgs) stdenv;
+    inherit (pkgs) stdenv python which;
+    jdk = if pkgs.stdenv.isLinux then pkgs.oraclejdk7
+      else if pkgs.stdenv.isDarwin then jdkWrapper
+      else throw "Platform not supported: ${pkgs.stdenv.system}";
+    inherit (pkgs.nodePackages) titanium;
     inherit (androidenv) androidsdk;
     inherit (xcodeenv) xcodewrapper;
     inherit titaniumsdk;
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index 9a5736b37ac..d595db40817 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -1,42 +1,98 @@
 { nixpkgs ? <nixpkgs>
-, system ? builtins.currentSystem
-, version ? "3.1"
+, systems ? [ "x86_64-linux" "x86_64-darwin" ]
+, xcodeVersion ? "5.0"
+, tiVersion ? "3.2.3.GA"
+, rename ? false
+, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? ""
+, allowUnfree ? false
+, enableWirelessDistribution ? false, installURL ? null
 }:
 
 let
-  pkgs = import nixpkgs { inherit system; };
-  pkgs_darwin_x86_64 = import nixpkgs { system = "x86_64-darwin"; };
-  versionString = pkgs.stdenv.lib.replaceChars [ "." ] [ "_" ] version;
+  pkgs = import nixpkgs { config.allowUnfree = allowUnfree; };
 in
 rec {
-  kitchensink_android = import ./kitchensink {
+  kitchensink_android_debug = pkgs.lib.genAttrs systems (system:
+  let
+    pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; };
+  in
+  import ./kitchensink {
     inherit (pkgs) fetchgit;
-    titaniumenv = builtins.getAttr "titaniumenv_${versionString}" pkgs;
+    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+    inherit tiVersion;
     target = "android";
-  };
+  });
   
-  kitchensink_iphone = import ./kitchensink {
-    inherit (pkgs_darwin_x86_64) fetchgit;
-    titaniumenv = builtins.getAttr "titaniumenv_${versionString}" pkgs_darwin_x86_64;
-    target = "iphone";
-  };
+  kitchensink_android_release = pkgs.lib.genAttrs systems (system:
+  let
+    pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; };
+  in
+  import ./kitchensink {
+    inherit (pkgs) fetchgit;
+    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+    inherit tiVersion;
+    target = "android";
+    release = true;
+  });
   
-  emulate_kitchensink = import ./emulate-kitchensink {
-    inherit (pkgs.titaniumenv) androidenv;
-    kitchensink = kitchensink_android;
-  };
+  emulate_kitchensink_debug = pkgs.lib.genAttrs systems (system:
+  let
+    pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; };
+  in
+  import ./emulate-kitchensink {
+    inherit (pkgs) androidenv;
+    kitchensink = builtins.getAttr system kitchensink_android_debug;
+  });
   
+  emulate_kitchensink_release = pkgs.lib.genAttrs systems (system:
+  let
+    pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; };
+  in
+  import ./emulate-kitchensink {
+    inherit (pkgs) androidenv;
+    kitchensink = builtins.getAttr system kitchensink_android_release;
+  });
+  
+} // (if builtins.elem "x86_64-darwin" systems then 
+  let
+    pkgs = import nixpkgs { system = "x86_64-darwin"; };
+  in
+  rec {
+  kitchensink_ios_development = import ./kitchensink {
+    inherit (pkgs) fetchgit;
+    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+    inherit tiVersion;
+    target = "iphone";
+  };
+
   simulate_kitchensink_iphone = import ./simulate-kitchensink {
-    inherit (pkgs_darwin_x86_64) stdenv;
-    inherit (pkgs_darwin_x86_64.titaniumenv) xcodeenv;
-    kitchensink = kitchensink_iphone;
+    inherit (pkgs) stdenv;
+    xcodeenv = pkgs.xcodeenv.override { version = xcodeVersion; };
+    kitchensink = kitchensink_ios_development;
     device = "iPhone";
   };
   
   simulate_kitchensink_ipad = import ./simulate-kitchensink {
-    inherit (pkgs_darwin_x86_64) stdenv;
-    inherit (pkgs_darwin_x86_64.titaniumenv) xcodeenv;
-    kitchensink = kitchensink_iphone;
+    inherit (pkgs) stdenv;
+    xcodeenv = pkgs.xcodeenv.override { version = xcodeVersion; };
+    kitchensink = kitchensink_ios_development;
     device = "iPad";
   };
-}
+} else {}) // (if rename then
+  let
+    pkgs = import nixpkgs { system = "x86_64-darwin"; config.allowUnfree = allowUnfree; };
+  in
+  {
+    kitchensink_ipa = import ./kitchensink {
+      inherit (pkgs) stdenv fetchgit;
+      titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+      target = "iphone";
+      inherit tiVersion;
+      release = true;
+      rename = true;
+      inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword;
+      inherit enableWirelessDistribution installURL;
+    };
+  }
+  
+else {})
diff --git a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix
index 5187b0e0238..cad4503dc96 100644
--- a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix
@@ -6,5 +6,5 @@ androidenv.emulateApp {
   platformVersion = "16";
   useGoogleAPIs = true;
   package = "com.appcelerator.kitchensink";
-  activity = "KitchensinkActivity";
+  activity = ".KitchensinkActivity";
 }
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
index b195bfcae7a..95372670969 100644
--- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -1,25 +1,42 @@
-{titaniumenv, fetchgit, target, androidPlatformVersions ? [ "11" ]}:
+{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "14" ], tiVersion ? "3.2.3.GA", release ? false
+, rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null
+, enableWirelessDistribution ? false, installURL ? null
+}:
 
-titaniumenv.buildApp {
-  name = "KitchenSink-${target}";
-  appName = "KitchenSink";
-  appId = "com.appcelerator.kitchensink";
+assert rename -> (stdenv != null && newBundleId != null && iosMobileProvisioningProfile != null && iosCertificate != null && iosCertificateName != null && iosCertificatePassword != null);
+
+let
   src = fetchgit {
     url = https://github.com/appcelerator/KitchenSink.git;
-    rev = "b68757ef6639e3da564e21038dc9c1aee1f80907";
-    sha256 = "17yabdkl0p6pf2a2lcgw1kid2smwc8rnpx0i9fa4avj6930cbh5i";
+    rev = "37d766ef9cba6a2d0b22634d3edc1fa8402109a0";
+    sha256 = "1d4x9zwq92p1krds52bd41qqsnsnb3a7x74bysbiphrvrphz80kk";
   };
   
-  inherit target androidPlatformVersions;
+  # Rename the bundle id to something else
+  renamedSrc = stdenv.mkDerivation {
+    name = "KitchenSink-renamedsrc";
+    inherit src;
+    buildPhase = ''
+      sed -i -e "s|com.appcelerator.kitchensink|${newBundleId}|" tiapp.xml
+      sed -i -e "s|com.appcelerator.kitchensink|${newBundleId}|" manifest
+    '';
+    installPhase = ''
+      mkdir -p $out
+      mv * $out
+    '';
+  };
+in
+titaniumenv.buildApp {
+  name = "KitchenSink-${target}-${if release then "release" else "debug"}";
+  src = if rename then renamedSrc else src;
+  inherit tiVersion;
+  
+  inherit target androidPlatformVersions release;
   
-  /*release = true;
-  androidKeyStore = /home/sander/keystore;
-  androidKeyAlias = "sander";
-  androidKeyStorePassword = "foobar";*/
+  androidKeyStore = ./keystore;
+  androidKeyAlias = "myfirstapp";
+  androidKeyStorePassword = "mykeystore";
   
-  /*release = true;
-  iosKeyFile = /Users/sander/Downloads/profile.mobileprovision;
-  iosCertificateName = "My Company";
-  iosCertificate = /Users/sander/Downloads/c.p12;
-  iosCertificatePassword = "";*/
+  inherit iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword;
+  inherit enableWirelessDistribution installURL;
 }
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh b/pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh
new file mode 100755
index 00000000000..57451e8a507
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+( echo "John Doe"
+  echo "My Company"
+  echo "My Organization"
+  echo "My City"
+  echo "My State"
+  echo "US"
+  echo "yes"
+) | keytool --genkeypair --alias myfirstapp --keystore ./keystore --storepass mykeystore
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore b/pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore
new file mode 100644
index 00000000000..ee0a9c7989b
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore
Binary files differdiff --git a/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed b/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed
deleted file mode 100644
index c849aaa611c..00000000000
--- a/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed
+++ /dev/null
@@ -1 +0,0 @@
-s|apk_zip.write(os.path.join(lib_source_dir, fname), lib_dest_dir + fname)|info = zipfile.ZipInfo(lib_dest_dir + fname)\n\t\t\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\t\t\tinfo.create_system = 3\n\t\t\t\t\tf = open(os.path.join(lib_source_dir, fname))\n\t\t\t\t\tapk_zip.writestr(info, f.read())\n\t\t\t\t\tf.close()|
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-2.1.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-2.1.nix
deleted file mode 100644
index 414b444fb46..00000000000
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-2.1.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
-
-stdenv.mkDerivation {
-  name = "titanium-mobilesdk-2.1.4.v20121109124659";
-  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
-    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.4.v20121109124659-linux.zip;
-    sha1 = "381eb4b06b5a261ddf336c52d4714e5626142697";
-  }
-  else if stdenv.system == "x86_64-darwin" then fetchurl {
-    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.4.v20121109124659-osx.zip;
-    sha1 = "1cef5803f0c7b7bb35feb88d3f91bbb191e3953e";
-  }
-  else throw "Platform: ${stdenv.system} not supported!";
-  
-  buildInputs = [ unzip makeWrapper ];
-  
-  buildCommand = ''
-    mkdir -p $out
-    cd $out
-    yes y | unzip $src
-    
-    # Fix shebang header for python scripts
-    
-    find . -name \*.py | while read i
-    do
-        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
-    done
-   
-    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
-    # Yes, I know it's nasty :-)
-    
-    cd mobilesdk/*/*/android
-    
-    sed -i -f ${./fixtiverify.sed} builder.py
-    sed -i -f ${./fixselfruntimev8.sed} builder.py
-    sed -i -f ${./fixnativelibs.sed} builder.py
-    
-    # Patch some executables
-    
-    ${if stdenv.system == "i686-linux" then
-      ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
-      ''
-      else if stdenv.system == "x86_64-linux" then
-      ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
-      ''
-      else ""}
-    
-    # Wrap builder script
-    
-    wrapProgram `pwd`/builder.py \
-      --prefix PYTHONPATH : ${python.modules.sqlite3}/lib/python*/site-packages \
-      --prefix PATH : ${jdk}/bin \
-      --prefix JAVA_HOME : ${jdk}
-  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
-    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
-    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
-  '';
-}
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix
new file mode 100644
index 00000000000..fa01dadc775
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix
@@ -0,0 +1,78 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-3.1.4.v20130926144546";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_1_X/mobilesdk-3.1.4.v20130926144546-linux.zip;
+    sha1 = "da4a03ced67f0e8f442d551bbd41ea01fceeee00";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_1_X/mobilesdk-3.1.4.v20130926144546-osx.zip;
+    sha1 = "55f604c8edb989ba214c8ed7538d1b416df0419e";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    yes y | unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+   
+    # Rename ugly version number
+    cd mobilesdk/*
+    mv 3.1.4.v20130926144546 3.1.4.GA
+    cd 3.1.4.GA
+    
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixtiprofiler.sed} builder.py
+    sed -i -f ${./fixso.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    mv builder.py .builder.py
+    cat > builder.py <<EOF
+    #!${python}/bin/python
+    
+    import os, sys
+    
+    os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
+    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    
+    os.execv('$(pwd)/.builder.py', sys.argv)
+    EOF
+    
+    chmod +x builder.py
+    
+  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
+    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
+    
+    sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js
+  '';
+}
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
new file mode 100644
index 00000000000..2ac4040714b
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
@@ -0,0 +1,77 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-3.2.3.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.2.3/mobilesdk-3.2.3.GA-linux.zip;
+    sha1 = "303e6d19a0ca099d47f6862c00b261c6d0206cea";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.2.3/mobilesdk-3.2.3.GA-osx.zip;
+    sha1 = "8c358cbd8624ffe3dfbd0283738105157067e0fb";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    yes y | unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+   
+    # Rename ugly version number
+    cd mobilesdk/*
+    cd 3.2.3.GA
+    
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixtiprofiler.sed} builder.py
+    sed -i -f ${./fixso.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    mv builder.py .builder.py
+    cat > builder.py <<EOF
+    #!${python}/bin/python
+    
+    import os, sys
+    
+    os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
+    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    
+    os.execv('$(pwd)/.builder.py', sys.argv)
+    EOF
+    
+    chmod +x builder.py
+    
+  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
+    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
+    
+    sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js
+  '';
+}
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
new file mode 100644
index 00000000000..be3628f2644
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
@@ -0,0 +1,77 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-3.3.0.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.3.0/mobilesdk-3.3.0.GA-linux.zip;
+    sha1 = "9a9cca05a4cf8700df60b7e9d9cd969ecb70d81e";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.3.0/mobilesdk-3.3.0.GA-osx.zip;
+    sha1 = "c6333e4da2564b9c51b865c1db49a062fbc743af";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    yes y | unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+   
+    # Rename ugly version number
+    cd mobilesdk/*
+    cd 3.3.0.GA
+    
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixtiprofiler.sed} builder.py
+    sed -i -f ${./fixso.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    mv builder.py .builder.py
+    cat > builder.py <<EOF
+    #!${python}/bin/python
+    
+    import os, sys
+    
+    os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
+    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    
+    os.execv('$(pwd)/.builder.py', sys.argv)
+    EOF
+    
+    chmod +x builder.py
+    
+  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
+    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
+    
+    sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js
+  '';
+}
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk.nix
deleted file mode 100644
index 276b442af0c..00000000000
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
-
-stdenv.mkDerivation {
-  name = "mobilesdk-3.1.4.v20130926144546";
-  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
-    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_1_X/mobilesdk-3.1.4.v20130926144546-linux.zip;
-    sha1 = "da4a03ced67f0e8f442d551bbd41ea01fceeee00";
-  }
-  else if stdenv.system == "x86_64-darwin" then fetchurl {
-    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_1_X/mobilesdk-3.1.4.v20130926144546-osx.zip;
-    sha1 = "55f604c8edb989ba214c8ed7538d1b416df0419e";
-  }
-  else throw "Platform: ${stdenv.system} not supported!";
-  
-  buildInputs = [ unzip makeWrapper ];
-  
-  buildCommand = ''
-    mkdir -p $out
-    cd $out
-    yes y | unzip $src
-    
-    # Fix shebang header for python scripts
-    
-    find . -name \*.py | while read i
-    do
-        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
-    done
-   
-    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
-    # Yes, I know it's nasty :-)
-    
-    cd mobilesdk/*/*/android
-    
-    sed -i -f ${./fixtiverify.sed} builder.py
-    sed -i -f ${./fixtiprofiler.sed} builder.py
-    sed -i -f ${./fixso.sed} builder.py
-    sed -i -f ${./fixnativelibs.sed} builder.py
-    
-    # Patch some executables
-    
-    ${if stdenv.system == "i686-linux" then
-      ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
-      ''
-      else if stdenv.system == "x86_64-linux" then
-      ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
-      ''
-      else ""}
-    
-    # Wrap builder script
-    
-    wrapProgram `pwd`/builder.py \
-      --prefix PYTHONPATH : ${python.modules.sqlite3}/lib/python*/site-packages \
-      --prefix PATH : ${jdk}/bin \
-      --prefix JAVA_HOME : ${jdk}
-  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
-    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
-    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
-  '';
-}
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index ade629759f0..1b4940b0c3d 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -15,9 +15,15 @@
 , provisioningProfile ? null
 , generateIPA ? false
 , generateXCArchive ? false
+, enableWirelessDistribution ? false
+, installURL ? null
+, bundleId ? null
+, version ? null
+, title ? null
 }:
 
 assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null;
+assert enableWirelessDistribution -> installURL != null && bundleId != null && version != null && title != null;
 
 let
   # Set some default values here
@@ -60,7 +66,7 @@ stdenv.mkDerivation {
         security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A 
 
         # Determine provisioning ID
-        PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Z0-9]\{36\}")
+        PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
 
         if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ]
         then
@@ -84,6 +90,12 @@ stdenv.mkDerivation {
         # Add IPA to Hydra build products
         mkdir -p $out/nix-support
         echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products
+        
+        ${stdenv.lib.optionalString enableWirelessDistribution ''
+          appname=$(basename $out/*.ipa .ipa)
+          sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&amp;version=${version}\&amp;title=$appname|" ${./install.html.template} > $out/$appname.html
+          echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products
+        ''}
       ''}
       
       # Delete our temp keychain
diff --git a/pkgs/development/mobile/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix
index 7f834688e63..ad6569d9478 100644
--- a/pkgs/development/mobile/xcodeenv/default.nix
+++ b/pkgs/development/mobile/xcodeenv/default.nix
@@ -1,8 +1,8 @@
-{stdenv}:
+{stdenv, version ? "5.0"}:
 
 rec {
   xcodewrapper = import ./xcodewrapper.nix {
-    inherit stdenv;
+    inherit stdenv version;
   };
 
   buildApp = import ./build-app.nix {
diff --git a/pkgs/development/mobile/xcodeenv/install.html.template b/pkgs/development/mobile/xcodeenv/install.html.template
new file mode 100644
index 00000000000..833b1994162
--- /dev/null
+++ b/pkgs/development/mobile/xcodeenv/install.html.template
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+
+<html>
+    <head>
+        <title>Install IPA</title>
+    </head>
+    
+    <body>
+        <a id="forwardlink" href="@INSTALL_URL@">Go to the install page or wait a second</a>
+        
+        <script type="text/javascript">
+            setTimeout(function() {
+                var link = document.getElementById('forwardlink');
+                
+                if(document.createEvent) {
+                    var eventObj = document.createEvent('MouseEvents');
+                    eventObj.initEvent('click', true, false);
+                    link.dispatchEvent(eventObj);
+                } else if(document.createEventObject) {
+                    link.fireEvent('onclick');
+                }
+            }, 1000);
+        </script>
+    </body>
+</html>
diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix
index 7c98ce76a1a..c999497d8c0 100644
--- a/pkgs/development/mobile/xcodeenv/simulate-app.nix
+++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix
@@ -1,7 +1,7 @@
 {stdenv, xcodewrapper}:
 { name, appName ? null, app
 , device ? "iPhone", baseDir ? ""
-, sdkVersion ? "6.1"
+, sdkVersion ? "7.0"
 }:
 
 let
@@ -10,7 +10,7 @@ in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
   buildCommand = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cat > $out/bin/run-test-simulator << "EOF"
     #! ${stdenv.shell} -e
 
diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
index 7515fcdd121..fd375d6213c 100644
--- a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
+++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
@@ -1,9 +1,9 @@
-{stdenv, version ? "5.0"}:
+{stdenv, version}:
 
 stdenv.mkDerivation {
   name = "xcode-wrapper-"+version;
   buildCommand = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cd $out/bin
     ln -s /usr/bin/xcode-select
     ln -s /usr/bin/xcodebuild
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs"
 
     # Check if we have the xcodebuild version that we want
-    if [ -z "$($out/bin/xcodebuild -version | grep ${version})" ]
+    if [ -z "$($out/bin/xcodebuild -version | grep -x 'Xcode ${version}')" ]
     then
         echo "We require xcodebuild version: ${version}"
         exit 1
diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix
new file mode 100644
index 00000000000..049595c49a5
--- /dev/null
+++ b/pkgs/development/mobile/xpwn/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
+
+stdenv.mkDerivation {
+  name = "xpwn-0.5.8git";
+
+  src = fetchgit {
+    url = "git://github.com/dborca/xpwn.git";
+    rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
+    sha256 =
+      "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
+  };
+
+  preConfigure = ''
+    rm BUILD # otherwise `mkdir build` fails on case insensitive file systems
+    sed -r -i \
+      -e 's/(install.*TARGET.*DESTINATION )\.\)/\1bin)/' \
+      -e 's!(install.*(FILE|DIR).*DESTINATION )([^)]*)!\1share/xpwn/\3!' \
+      */CMakeLists.txt
+    sed -i -e '/install/d' CMakeLists.txt
+  '';
+
+  buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
+
+  meta = {
+    homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
+    description = "Custom NOR firmware loader/IPSW generator for the iPhone";
+    license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 3ecf2ae4699..ac7b8adfd8c 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -1,32 +1,18 @@
 {stdenv, fetchurl, ocaml, findlib, camomile, ounit}:
 
-let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-in
-
 stdenv.mkDerivation {
-  name = "ocaml-batteries-1.4.1";
+  name = "ocaml-batteries-2.2.0";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/684/batteries-1.4.1.tar.gz;
-    sha256 = "bdca7deba290d83c66c0a5001da52b2d7f2af58b7b7e7d9303d4363aaafe9c30";
+    url = http://forge.ocamlcore.org/frs/download.php/1363/batteries-2.2.tar.gz;
+    sha256 = "0z4wg357fzz7cnarjsrrdnpmxw8mxcj10fp67dm3bnn0l3zkjwbs";
   };
 
   buildInputs = [ocaml findlib camomile ounit];
 
-  patchPhase = ''
-    substituteInPlace Makefile --replace '/bin/echo -n' echo
-  '';
-
   configurePhase = "true"; 	# Skip configure
 
-  preInstall = ''
-    mkdir -p "$out/lib/ocaml/${ocaml_version}/site-lib"
-  '';
-
-  doCheck = true;
-
-  checkTarget = "test";
+  createFindlibDestdir = true;
 
   meta = {
     homepage = http://batteries.forge.ocamlcore.org/;
@@ -36,7 +22,7 @@ stdenv.mkDerivation {
       and comprehensive development platform for the OCaml programming
       language.
     '';
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix
new file mode 100644
index 00000000000..59f30de5e84
--- /dev/null
+++ b/pkgs/development/ocaml-modules/biniou/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, ocaml, findlib, easy-format}:
+let
+  pname = "biniou";
+  version = "1.0.9";
+  webpage = "http://mjambon.com/${pname}.html";
+in
+stdenv.mkDerivation rec {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    sha256 = "14j3hrhbjqxbizr1pr8fcig9dmfzhbjjwzwyc99fcsdic67w8izb";
+  };
+
+  buildInputs = [ ocaml findlib easy-format ];
+
+  createFindlibDestdir = true;
+
+  makeFlags = "PREFIX=$(out)";
+
+  preBuild = ''
+    mkdir $out/bin
+  '';
+
+  meta = {
+    description = "A binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
+    homepage = "${webpage}";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix
index 21610f8f310..ff344ef6f32 100644
--- a/pkgs/development/ocaml-modules/camlimages/default.nix
+++ b/pkgs/development/ocaml-modules/camlimages/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://cristal.inria.fr/camlimages;
     description = "Image manipulation library";
-    license = "GnuGPLV2";
+    license = stdenv.lib.licenses.gpl2;
 #    maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index 1d4b98bf0e5..332230615d1 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -2,16 +2,14 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "0.8.3";
 in
 
 stdenv.mkDerivation {
-  name = "camomile-${version}";
+  name = "camomile-0.8.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/camomile/camomile-${version}.tar.bz2";
-    #sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
-    sha256 = "0yzj6j88aqrkbcynqh1d7r54670m1sqf889vdcgk143w85fxdj4l";
+    url = https://github.com/yoriyuki/Camomile/releases/download/rel-0.8.5/camomile-0.8.5.tar.bz2;
+    sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045";
   };
 
   buildInputs = [ocaml findlib];
@@ -19,9 +17,9 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = http://camomile.sourceforge.net/;
+    homepage = https://github.com/yoriyuki/Camomile/tree/master/Camomile;
     description = "A comprehensive Unicode library for OCaml";
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix
index 7379a62d424..8f18658b0f6 100644
--- a/pkgs/development/ocaml-modules/cryptgps/default.nix
+++ b/pkgs/development/ocaml-modules/cryptgps/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
       i.e. this is not a binding to some C library, but the implementation
       itself.
     '';
-    license = "MIT/X11";
+    license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 94b36fb6651..1f9e2b44e00 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -2,16 +2,14 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "1.7";
 in
 
 stdenv.mkDerivation {
-  name = "cryptokit-${version}";
+  name = "cryptokit-1.9";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/1166/" +
-          "cryptokit-${version}.tar.gz";
-    sha256 = "56a8c0339c47ca3cf43c8881d5b519d3bff68bc8a53267e9c5c9cbc9239600ca";
+    url = http://forge.ocamlcore.org/frs/download.php/1166/cryptokit-1.9.tar.gz;
+    sha256 = "1jh0jqiwkjy9qplnfcm5r25zdgyk36sxb0c87ks3rjj7khrw1a2n";
   };
 
   buildInputs = [zlib ocaml findlib ncurses];
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
new file mode 100644
index 00000000000..d01a4edf26e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, ocaml, findlib}:
+let
+  pname = "easy-format";
+  version = "1.0.2";
+  webpage = "http://mjambon.com/${pname}.html";
+in
+stdenv.mkDerivation rec {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    sha256 = "07wlgprqvk92z0p2xzbnvh312ca6gvhy3xc6hxlqfawnnnin7rzi";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "A high-level and functional interface to the Format module of the OCaml standard library";
+    homepage = "${webpage}";
+    license = "bsd";
+  };
+}
+
+
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index b2702a5cade..f4837bd047f 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.xs4all.nl/~mmzeeman/ocaml/;
     description = "An ocaml wrapper for the Expat XML parsing library";
-    license = "MIT/X11";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 41620b9424f..8b977dd7c52 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -1,21 +1,21 @@
 {stdenv, fetchurl, ocaml, findlib}:
 
 stdenv.mkDerivation {
-  name = "ocaml-extlib-1.5.3";
+  name = "ocaml-extlib-1.6.1";
 
   src = fetchurl {
-    url = http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz;
-    sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
+    url = http://ocaml-extlib.googlecode.com/files/extlib-1.6.1.tar.gz;
+    sha256 = "1jmfj2w0f3ap0swz8k3qqmrl6x2y4gkmg88vv024xnmliiiv7m48";
   };
 
   buildInputs = [ocaml findlib];
 
   createFindlibDestdir = true;
 
-  buildPhase = ''
-    make all
-    make opt
-  '';
+  configurePhase = "true";      # Skip configure
+  # De facto, option minimal=1 seems to be the default.  See the README.
+  buildPhase     = "make minimal=1 build";
+  installPhase   = "make minimal=1 install";
 
   meta = {
     homepage = http://code.google.com/p/ocaml-extlib/;
diff --git a/pkgs/development/ocaml-modules/gmetadom/default.nix b/pkgs/development/ocaml-modules/gmetadom/default.nix
index 4d46bda243f..f1ec69143b0 100644
--- a/pkgs/development/ocaml-modules/gmetadom/default.nix
+++ b/pkgs/development/ocaml-modules/gmetadom/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://gmetadom.sourceforge.net/;
     description = "GMetaDOM is a collection of librares, each library providing a DOM implementation";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/http/default.nix b/pkgs/development/ocaml-modules/http/default.nix
index 46398d26114..8b611c65a41 100644
--- a/pkgs/development/ocaml-modules/http/default.nix
+++ b/pkgs/development/ocaml-modules/http/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://upsilon.cc/~zack/hacking/software/ocaml-http/";
     description = "do it yourself (OCaml) HTTP daemon";
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch b/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
index c896978f57e..3d880c00947 100644
--- a/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
+++ b/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
@@ -41,7 +41,7 @@ diff -Naur lablGL.ori/Makefile.config lablGL/Makefile.config
 +
 +##### Uncomment these for windows
 +#TKLIBS = tk83.lib tcl83.lib gdi32.lib user32.lib
-+#GLLIBS = opengl32.lib glu32.lib 
++#GLLIBS = opengl32.lib glu32.lib
 +#TOOLCHAIN = msvc
 +#XA = .lib
 +#XB = .bat
@@ -65,53 +65,3 @@ diff -Naur lablGL.ori/Makefile.config lablGL/Makefile.config
 +
 +# C Compiler options
 +#COPTS = -c -O
-diff -Naur lablGL.ori/META lablGL/META
---- lablGL.ori/META	1970-01-01 01:00:00.000000000 +0100
-+++ lablGL/META	2013-06-02 22:00:59.000000000 +0200
-@@ -0,0 +1,21 @@
-+description = "Bindings for OpenGL graphics engines"
-+version = "1.04-1"
-+archive(byte) = "lablgl.cma"
-+archive(native) = "lablgl.cmxa"
-+
-+#package "togl" (
-+#	description = "OpenGL widget for labltk"
-+#	version = "1.01"
-+#	requires = "lablgl, labltk"
-+#	archive(byte) = "togl.cma"
-+#	archive(native) = "togl.cmxa"
-+#)
-+
-+package "glut" (
-+	description = "Platform-independent OpenGL window"
-+	version = "1.01"
-+	requires = "lablgl"
-+	archive(byte) = "lablglut.cma"
-+	archive(native) = "lablglut.cmxa"
-+)
-+
-diff -Naur lablGL.ori/META~ lablGL/META~
---- lablGL.ori/META~	1970-01-01 01:00:00.000000000 +0100
-+++ lablGL/META~	2013-06-02 21:59:17.000000000 +0200
-@@ -0,0 +1,21 @@
-+description = "Bindings for OpenGL graphics engines"
-+version = "1.04-1"
-+archive(byte) = "lablgl.cma"
-+archive(native) = "lablgl.cmxa"
-+
-+#package "togl" (
-+#	description = "OpenGL widget for labltk"
-+#	version = "1.01"
-+#	requires = "lablGL, labltk"
-+#	archive(byte) = "togl.cma"
-+#	archive(native) = "togl.cmxa"
-+#)
-+
-+package "glut" (
-+	description = "Platform-independent OpenGL window"
-+	version = "1.01"
-+	requires = "lablGL"
-+	archive(byte) = "lablglut.cma"
-+	archive(native) = "lablglut.cmxa"
-+)
-+
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index a739e4a7146..7cefe26746f 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -3,15 +3,15 @@
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
   pname = "lablgl";
-  version = "1.04-1";
+  version = "1.05";
 in
 
 stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl { 
-    url = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgl-20120306.tar.gz";
-    sha256 = "1w5di2n38h7fkrf668zphnramygwl7ybjhrmww3pi9jcf9apa09r";
+    url = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgl-${version}.tar.gz";
+    sha256 = "0qabydd219i4ak7hxgc67496qnnscpnydya2m4ijn3cpbgih7zyq";
   };
 
   buildInputs = [ocaml findlib lablgtk mesa freeglut ];
@@ -29,7 +29,6 @@ stdenv.mkDerivation {
 
   createFindlibDestdir = true;
 
-  #makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib";
   buildFlags = "lib libopt glut glutopt";
 
   postInstall = ''
@@ -39,7 +38,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html;
     description = "OpenGL bindings for ocaml";
-    license = "GnuGPLV2";
-#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.pSub ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgtk/META.patch b/pkgs/development/ocaml-modules/lablgtk/META.patch
deleted file mode 100644
index d2b7b500c69..00000000000
--- a/pkgs/development/ocaml-modules/lablgtk/META.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -ruN zzz/lablgtk-2.14.1/META lablgtk-2.14.1/META
---- zzz/lablgtk-2.14.1/META	2009-02-12 21:39:14.000000000 -0500
-+++ lablgtk-2.14.1/META	2010-09-07 19:48:06.454452726 -0400
-@@ -1,8 +1,52 @@
--requires=""
--version="2.12.0"
--archive(byte)="lablgtk.cma"
--archive(byte,init)="lablgtk.cma gtkInit.cmo"
--archive(native)="lablgtk.cmxa"
--archive(native,init)="lablgtk.cmxa gtkInit.cmx"
--linkopts=""
--directory="+lablgtk2"
-+version="2.14.1"
-+requires(mt) = "threads"
-+requires(mt,mt_vm) = "threads.vm"
-+requires(mt,mt_posix) = "threads.posix"
-+archive(byte) = "lablgtk.cma"
-+archive(native) = "lablgtk.cmxa"
-+archive(byte,mt) += "gtkThread.cmo"
-+archive(native,mt) += "gtkThread.cmx"
-+
-+package "init" (
-+  requires = "lablgtk2"
-+  archive(byte) = "gtkInit.cmo"
-+  archive(native) = "gtkInit.cmx"
-+)
-+
-+package "glade" (
-+  requires = "lablgtk2"
-+  archive(byte) = "lablglade.cma"
-+  archive(native) = "lablglade.cmxa"
-+)
-+
-+package "gtkspell" (
-+  requires = "lablgtk2"
-+  archive(byte) = "lablgtkspell.cma"
-+  archive(native) = "lablgtkspell.cmxa"
-+)
-+
-+package "gnomecanvas" (
-+  archive(byte)	= "lablgnomecanvas.cma"
-+  archive(native) = "lablgnomecanvas.cmxa"
-+)
-+
-+package "gnomeui" (
-+  archive(byte) = "lablgnomeui.cma"
-+  archive(native) = "lablgnomeui.cmxa"
-+)
-+
-+package "panel" (
-+  archive(byte) = "lablpanel.cma"
-+  archive(native) = "lablpanel.cmxa"
-+)
-+
-+package "rsvg" (
-+  archive(byte) = "lablrsvg.cma"
-+  archive(native) = "lablrsvg.cmxa"
-+)
-+
-+package "gtksourceview" (
-+  requires = "lablgtk2"
-+  archive(byte) = "lablgtksourceview2.cma"
-+  archive(native) = "lablgtksourceview2.cmxa"
-+)
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index a62f4ab9ae9..c2f50c4e5b8 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview];
 
-  # patches = [ ./META.patch ];
-
   configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib";
   buildFlags = "world";
 
@@ -33,6 +31,6 @@ stdenv.mkDerivation (rec {
     ];
     homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html;
     description = "LablGTK is is an Objective Caml interface to gtk+";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 })
diff --git a/pkgs/development/ocaml-modules/lablgtkmathview/default.nix b/pkgs/development/ocaml-modules/lablgtkmathview/default.nix
index 976910aae29..333e86fa3fe 100644
--- a/pkgs/development/ocaml-modules/lablgtkmathview/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtkmathview/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://helm.cs.unibo.it/mml-widget/;
     description = "OCaml bindings for gtkmathview";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix
index d02516e410a..d5db6e9c7e0 100644
--- a/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/pkgs/development/ocaml-modules/menhir/default.nix
@@ -2,14 +2,13 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "20120123";
 in
 
 stdenv.mkDerivation {
-  name = "menhir-${version}";
+  name = "menhir-20130116";
 
   src = fetchurl {
-    url = "http://pauillac.inria.fr/~fpottier/menhir/menhir-${version}.tar.gz";
+    url = http://pauillac.inria.fr/~fpottier/menhir/menhir-20130116.tar.gz;
     sha256 = "65cd9e4f813c62697c60c344963ca11bd461169f574ba3a866c2691541cb4682";
   };
 
@@ -42,7 +41,7 @@ stdenv.mkDerivation {
       to OCaml code.  Menhir was designed and implemented by François Pottier
       and Yann Régis-Gianas.
     '';
-    license = "QPL,LGPL+linking exceptions";
+    license = [ "QPL" /* generator */ "LGPLv2" /* library */ ];
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix
index ed70d1b9c3e..0ae60ab07e4 100644
--- a/pkgs/development/ocaml-modules/mysql/default.nix
+++ b/pkgs/development/ocaml-modules/mysql/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://ocaml-mysql.forge.ocamlcore.org;
     description = "Bindings for interacting with MySQL databases from ocaml";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
index 8f19847680b..94395f601aa 100644
--- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://cairographics.org/cairo-ocaml;
     description = "ocaml bindings for cairo library";
-    license = "GnuGPLV2";
+    license = stdenv.lib.licenses.gpl2;
 #    maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 997ca220610..9f411dd2a6f 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -2,7 +2,7 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "1.8.2";
+  version = "1.8.5";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ocamlgraph.lri.fr/download/ocamlgraph-${version}.tar.gz";
-    sha256 = "e54ae60cd977a032854166dad56348d0fb76c6cd8e03e960af455268f0c8b5a6";
+    sha256 = "0bxqxzd5sd7siz57vhzb8bmiz1ddhgdv49gcsmwwfmd16mj4cryi";
   };
 
   buildInputs = [ ocaml findlib ocamlPackages.lablgtk ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   postPatch = ''
     sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml_version}/site-lib/ocamlgraph@' Makefile.in
     sed -i 's@$OCAMLLIB/lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2@' configure Makefile.in
-    sed -i 's@-I +lablgtk2@-I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2 -I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/stublibs@' configure Makefile.in editor/Makefile
+    sed -i 's@+lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2 -I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/stublibs@' configure Makefile.in editor/Makefile
   '';
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/ocamlmake/default.nix b/pkgs/development/ocaml-modules/ocamlmake/default.nix
index 0170119d94e..3f91901d9b6 100644
--- a/pkgs/development/ocaml-modules/ocamlmake/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlmake/default.nix
@@ -14,7 +14,7 @@ in stdenv.mkDerivation {
   };
 
   installPhase = ''
-    ensureDir "$out/include/"
+    mkdir -p "$out/include/"
     cp OCamlMakefile "$out/include/"
   '';
 
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index c1960d4706e..f1bf39a283d 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -1,20 +1,20 @@
-{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl, lablgtk, cryptokit }:
+{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl, cryptokit }:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
 
 stdenv.mkDerivation {
-  name = "ocamlnet-3.6.3";
+  name = "ocamlnet-3.7.3";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/ocamlnet-3.6.3.tar.gz;
-    sha256 = "c62fe0a4db6c63c04e24c8d76bcb504054f0b59a7a41c1abcbb8dd504afc9f29";
+    url = http://download.camlcity.org/download/ocamlnet-3.7.3.tar.gz;
+    sha256 = "0s24icyrxkqqai91rgxpf52s1fx70j7p12c8vq9vcmvdhll6kp2d";
   };
 
-  buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl lablgtk cryptokit];
+  buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl cryptokit];
 
-  propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl lablgtk cryptokit];
+  propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl cryptokit];
 
   patches = [ ./configure.patch ];
 
diff --git a/pkgs/development/ocaml-modules/ocamlsdl/default.nix b/pkgs/development/ocaml-modules/ocamlsdl/default.nix
new file mode 100644
index 00000000000..51af8d99d69
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlsdl/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, ocaml, pkgconfig, findlib, SDL, SDL_image, SDL_mixer, SDL_ttf, SDL_gfx, lablgl }: 
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "ocamlsdl";
+  version = "0.9.1";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl { 
+    url = "http://downloads.sourceforge.net/project/ocamlsdl/OCamlSDL/ocamlsdl-0.9.1/ocamlsdl-0.9.1.tar.gz";
+    sha256 = "abfb295b263dc11e97fffdd88ea1a28b46df8cc2b196777093e4fe7f509e4f8f";
+  };
+
+  buildInputs = [ocaml pkgconfig findlib SDL SDL_image SDL_mixer SDL_ttf SDL_gfx lablgl];
+
+  propagatedBuildInputs = [ SDL SDL_image SDL_mixer SDL_ttf SDL_gfx pkgconfig ];
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://ocamlsdl.sourceforge.net/;
+    description = "OCaml bindings for SDL 1.2";
+    license = stdenv.lib.licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/odn/default.nix b/pkgs/development/ocaml-modules/odn/default.nix
new file mode 100644
index 00000000000..5f72afcf766
--- /dev/null
+++ b/pkgs/development/ocaml-modules/odn/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, ounit}:
+
+stdenv.mkDerivation {
+  name = "ocaml-data-notation-0.0.11";
+
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/1310/ocaml-data-notation-0.0.11.tar.gz;
+    sha256 = "09a8zdyifpc2nl4hdvg9206142y31cq95ajgij011s1qcg3z93lj";
+  };
+
+  buildInputs = [ocaml findlib ocaml_typeconv ounit];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "ocaml setup.ml -configure";
+  buildPhase     = "ocaml setup.ml -build";
+  installPhase   = "ocaml setup.ml -install";
+
+  meta = {
+    description = "Store data using OCaml notation";
+    homepage = https://forge.ocamlcore.org/projects/odn/;
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [
+      z77z
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 533f1ec8d1c..43ec474cf5e 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ounit-1.1.2";
+  name = "ounit-2.0.0";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/886/ounit-1.1.2.tar.gz;
-    sha256 = "e6bc1b0cdbb5b5552d85bee653e23aafe20bb97fd7cd229c867d01ff999888e3";
+    url = http://forge.ocamlcore.org/frs/download.php/886/ounit-2.0.0.tar.gz;
+    sha256 = "1qw8k2czy0bxhsf25kfpgywhpqmg7bi57rmyhlnmbddmvc61pg76";
   };
 
   buildInputs = [ocaml findlib];
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index 3ddac79a9a5..b6c2488b250 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pcre, ocaml, findlib}:
 
 stdenv.mkDerivation {
-  name = "ocaml-pcre-6.2.5";
+  name = "ocaml-pcre-7.1.1";
 
   src = fetchurl {
-    url = https://bitbucket.org/mmottl/pcre-ocaml/downloads/pcre-ocaml-6.2.5.tar.gz;
-    sha256 = "0iwfi0wmw3xbx31ri96pmrsmmn4r3h9f0k6gyk8j4pajlhl40xzi";
+    url = https://github.com/mmottl/pcre-ocaml/releases/download/v7.1.1/pcre-ocaml-7.1.1.tar.gz;
+    sha256 = "0nj4gb6hjjjmz5gnl9cjrh4w82rw8cvbwnk0hxhfgfd25p9k50n3";
   };
 
   buildInputs = [ocaml findlib];
@@ -15,13 +15,11 @@ stdenv.mkDerivation {
 
   configurePhase = "true";	# Skip configure phase
 
-  meta = {
-    homepage = "http://www.ocaml.info/home/ocaml_sources.html";
+  meta = with stdenv.lib; {
+    homepage = "https://bitbucket.org/mmottl/pcre-ocaml";
     description = "An efficient C-library for pattern matching with Perl-style regular expressions in OCaml";
-    license = "LGPL";
+    license = licenses.lgpl21;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
-    ];
+    maintainers = with maintainers; [ z77z vbmithr ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix
index 02420204dbf..6b0e694d54a 100644
--- a/pkgs/development/ocaml-modules/react/default.nix
+++ b/pkgs/development/ocaml-modules/react/default.nix
@@ -1,37 +1,30 @@
-{stdenv, fetchurl, ocaml}:
-
-let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "0.9.2";
-in
+{stdenv, fetchurl, ocaml, findlib, opam}:
 
 stdenv.mkDerivation {
-  name = "ocaml-react-${version}";
+  name = "ocaml-react-1.0.1";
 
   src = fetchurl {
-    url = "http://erratique.ch/software/react/releases/react-${version}.tbz";
-    sha256 = "0fiaxzfxv8pc82d31jz85zryz06k84is0l3sn5g0di5mpc5falxr";
+    url = "http://erratique.ch/software/react/releases/react-1.0.1.tbz";
+    sha256 = "007c9kzl0i6xvxnqj9jny4hgm28v9a1i079q53vl5hfb5f7h1mda";
   };
 
-  buildInputs = [ocaml];
+  unpackCmd = "tar xjf $src";
+  buildInputs = [ocaml findlib opam];
+
+  createFindlibDestdir = true;
 
-  buildCommand = ''
-    export INSTALLDIR=$out/lib/ocaml/${ocaml_version}/site-lib/react
-    tar xjf $src
-    cd react-*
-    substituteInPlace src/META --replace '+react' $INSTALLDIR
-    chmod +x build
-    ./build 
-    ./build install
+  configurePhase = "ocaml pkg/git.ml";
+  buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
+  installPhase   = ''
+    opam-installer --script --prefix=$out react.install > install.sh
+    sh install.sh
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://erratique.ch/software/react;
     description = "Applicative events and signals for OCaml";
-    license = "BSD";
+    license = licenses.bsd3;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
-    ];
+    maintainers = with maintainers; [ z77z vbmithr ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix
index 63dc06634d7..d92207cd20b 100644
--- a/pkgs/development/ocaml-modules/sqlite3/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = https://bitbucket.org/mmottl/sqlite3-ocaml;
     description = "OCaml bindings to the SQLite 3 database access library";
-    license = "MIT/X11";
+    license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/typeconv/3.0.5.nix b/pkgs/development/ocaml-modules/typeconv/3.0.5.nix
new file mode 100644
index 00000000000..299e7729b91
--- /dev/null
+++ b/pkgs/development/ocaml-modules/typeconv/3.0.5.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+# note: works only with ocaml >3.12
+
+stdenv.mkDerivation {
+  name = "ocaml-typeconv-3.0.5";
+
+  src = fetchurl {
+    url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz";
+    sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198";
+  };
+
+  buildInputs = [ocaml findlib ]; 
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = "http://forge.ocamlcore.org/projects/type-conv/";
+    description = "Support library for OCaml preprocessor type conversions";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/typeconv/default.nix b/pkgs/development/ocaml-modules/typeconv/default.nix
index 299e7729b91..33e30f5d5c8 100644
--- a/pkgs/development/ocaml-modules/typeconv/default.nix
+++ b/pkgs/development/ocaml-modules/typeconv/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, ocaml, findlib}:
 
-# note: works only with ocaml >3.12
-
 stdenv.mkDerivation {
-  name = "ocaml-typeconv-3.0.5";
+  name = "ocaml-typeconv-109.60.01";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz";
-    sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198";
+    url = https://github.com/janestreet/type_conv/archive/109.60.01.tar.gz;
+    sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
   };
 
   buildInputs = [ocaml findlib ]; 
@@ -17,7 +15,8 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://forge.ocamlcore.org/projects/type-conv/";
     description = "Support library for OCaml preprocessor type conversions";
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ z77z ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ulex/0.8/default.nix b/pkgs/development/ocaml-modules/ulex/0.8/default.nix
index e996b6223b1..77ffa752898 100644
--- a/pkgs/development/ocaml-modules/ulex/0.8/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/0.8/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.cduce.org/download.html;
     description = "ulex is a lexer generator for Unicode and OCaml";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix
index 19beeec1ec5..72efaa0606d 100644
--- a/pkgs/development/ocaml-modules/ulex/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.cduce.org/download.html;
     description = "ulex is a lexer generator for Unicode and OCaml";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
new file mode 100644
index 00000000000..9237db080d6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, ocaml, findlib, cppo, easy-format, biniou}:
+let
+  pname = "yojson";
+  version = "1.1.8";
+  webpage = "http://mjambon.com/${pname}.html";
+in
+stdenv.mkDerivation rec {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv";
+  };
+
+  buildInputs = [ ocaml findlib cppo easy-format biniou ];
+
+  createFindlibDestdir = true;
+
+  makeFlags = "PREFIX=$(out)";
+
+  preBuild = ''
+    mkdir $out/bin
+  '';
+
+  meta = {
+    description = "An optimized parsing and printing library for the JSON format";
+    homepage = "${webpage}";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
new file mode 100644
index 00000000000..10ac88bcb90
--- /dev/null
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gmp, perl }:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+stdenv.mkDerivation rec {
+  name = "zarith-${version}";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "http://forge.ocamlcore.org/frs/download.php/1199/${name}.tgz";
+    sha256 = "0i21bsx41br0jgw8xmlpnky5zamzqkpbykrq0z53z7ar77602s4i";
+  };
+
+  buildInputs = [ ocaml findlib pkgconfig gmp perl ];
+
+  patchPhase = ''
+    substituteInPlace ./z_pp.pl --replace '/usr/bin/perl' '${perl}/bin/perl'
+  '';
+  configurePhase = ''
+    ./configure -installdir $out/lib/ocaml/${ocaml_version}/site-lib
+  '';
+  preInstall = "mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib";
+
+  meta = {
+    description = "fast, arbitrary precision OCaml integers";
+    homepage    = "http://forge.ocamlcore.org/projects/zarith";
+    license     = stdenv.lib.licenses.lgpl2;
+    platforms   = ocaml.meta.platforms;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/perl-modules/BerkeleyDB/default.nix b/pkgs/development/perl-modules/BerkeleyDB/default.nix
index a6309d028e8..a6af84a6581 100644
--- a/pkgs/development/perl-modules/BerkeleyDB/default.nix
+++ b/pkgs/development/perl-modules/BerkeleyDB/default.nix
@@ -1,15 +1,15 @@
-{buildPerlPackage, fetchurl, db4}:
+{buildPerlPackage, fetchurl, db}:
 
 buildPerlPackage rec {
-  name = "BerkeleyDB-0.36";
+  name = "BerkeleyDB-0.54";
   
   src = fetchurl {
     url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-    sha256 = "07xf50riarb60l1h6m2dqmql8q5dij619712fsgw7ach04d8g3z1";
+    sha256 = "010e66d0034b93a8397c600da320611149aef7861eaf1f93b95e49ae37b825b8";
   };
 
   preConfigure = ''
-    echo "LIB = ${db4}/lib" > config.in
-    echo "INCLUDE = ${db4}/include" >> config.in
+    echo "LIB = ${db}/lib" > config.in
+    echo "INCLUDE = ${db}/include" >> config.in
   '';
 }
diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
index 70c2a294d6f..93cef5d844c 100644
--- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
+++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, buildPerlPackage, zlib, stdenv }:
 
 buildPerlPackage rec {
-  name = "Compress-Raw-Zlib-2.060";
+  name = "Compress-Raw-Zlib-2.065";
 
   src = fetchurl {
-    url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz";
-    sha256 = "03z2vqcdpysanqnh9m714fs2mcfshzbkd8i11w359h69h5q0kms3";
+    url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
+    sha256 = "1i09h3dvn8ipaj1l2nq2qd19wzhn7wcpbsipdkcniwi0sgy1kf1p";
   };
 
   preConfigure = ''
@@ -21,6 +21,6 @@ buildPerlPackage rec {
   doCheck = !stdenv.isDarwin;
 
   meta = {
-    license = "perl5";
+    license = "perl";
   };
 }
diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix
index be5faa330ae..619f2f14b96 100644
--- a/pkgs/development/perl-modules/DBD-Pg/default.nix
+++ b/pkgs/development/perl-modules/DBD-Pg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
 
 buildPerlPackage rec {
-  name = "DBD-Pg-2.19.3";
+  name = "DBD-Pg-3.0.0";
 
   src = fetchurl {
-    url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz";
-    sha256 = "0ai6p2094hrh6kjlwfjvpw2z8wqa3scr4ba3p6rqza3z9c9hsd9p";
+    url = "mirror://cpan/authors/id/T/TU/TURNSTEP/${name}.tar.gz";
+    sha256 = "10s1dhpxxqfl421388l6gzfdm1gzxf5iah42i1w6yji9mgkz8hf8";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index 332a3bd0e8f..7b1741c3d1e 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, buildPerlPackage, DBI, sqlite }:
 
 buildPerlPackage rec {
-  name = "DBD-SQLite-1.37";
+  name = "DBD-SQLite-1.42";
 
   src = fetchurl {
-    url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-    sha256 = "0197kvlziaj2wfdbzlhdlqmzvb29fmfyy6y2isbbwlg0b0f7ccd1";
+    url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz";
+    sha256 = "14x9cjsc8dz8ad1nad0bqiq9cbk1rjfb8h5y0rpk3pdl38y6afxb";
   };
 
   propagatedBuildInputs = [ DBI ];
@@ -35,5 +35,5 @@ buildPerlPackage rec {
   # (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t").
   doCheck = false;
 
-  meta.platforms = stdenv.lib.platforms.linux;
+  meta.platforms = stdenv.lib.platforms.unix;
 }
diff --git a/pkgs/development/perl-modules/DBD-mysql/default.nix b/pkgs/development/perl-modules/DBD-mysql/default.nix
index c2bf899a9cd..a7464893cbb 100644
--- a/pkgs/development/perl-modules/DBD-mysql/default.nix
+++ b/pkgs/development/perl-modules/DBD-mysql/default.nix
@@ -1,11 +1,11 @@
 {fetchurl, buildPerlPackage, DBI, mysql}:
 
 buildPerlPackage {
-  name = "DBD-mysql-4.013";
+  name = "DBD-mysql-4.023";
 
   src = fetchurl {
-    url = mirror://cpan/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz;
-    sha256 = "074jm3fd9bi9am4i8alwim5i7a4gl07hzjy7a7hfdj9awbd0w9x9";
+    url = mirror://cpan/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.023.tar.gz;
+    sha256 = "0j4i0i6apjwx5klk3wigh6yysssn7bs6p8c5sh31m6qxsbgyk9xa";
   };
 
   buildInputs = [mysql] ;
diff --git a/pkgs/development/perl-modules/DB_File/default.nix b/pkgs/development/perl-modules/DB_File/default.nix
index f6396af8b65..4195f8d613e 100644
--- a/pkgs/development/perl-modules/DB_File/default.nix
+++ b/pkgs/development/perl-modules/DB_File/default.nix
@@ -1,19 +1,19 @@
-{fetchurl, buildPerlPackage, db4}:
+{fetchurl, buildPerlPackage, db}:
 
 buildPerlPackage rec {
-  name = "DB_File-1.826";
+  name = "DB_File-1.831";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-    sha256 = "c39828ef3cfecff8197ff057cb1c6127b87107c051d182b87c6b9ac79d23f09c";
+    sha256 = "0hq2vvcsa3nkb5bpcl0nkfsxhk8wyrsp3p3ara18rscrfd783hjs";
   };
 
   preConfigure = ''
     cat > config.in <<EOF
     PREFIX = size_t
     HASH = u_int32_t
-    LIB = ${db4}/lib
-    INCLUDE = ${db4}/include
+    LIB = ${db}/lib
+    INCLUDE = ${db}/include
     EOF
   '';
 
diff --git a/pkgs/development/perl-modules/dbix-class-fix-tests.patch b/pkgs/development/perl-modules/dbix-class-fix-tests.patch
new file mode 100644
index 00000000000..476a159f621
--- /dev/null
+++ b/pkgs/development/perl-modules/dbix-class-fix-tests.patch
@@ -0,0 +1,52 @@
+diff --git a/t/multi_create/standard.t b/t/multi_create/standard.t
+index 5a02947..6c1efd8 100644
+--- a/t/multi_create/standard.t
++++ b/t/multi_create/standard.t
+@@ -444,7 +444,11 @@ throws_ok ( sub {
+     #$t->cd($t->new_related('cd', { artist => undef } ) );
+     #$t->{_rel_in_storage} = 0;
+     $t->insert;
+-}, qr/cd.artist may not be NULL/, "Exception propogated properly");
++}, qr/DBI Exception.+(?x:
++    \QNOT NULL constraint failed: cd.artist\E
++      |
++    \Qcd.artist may not be NULL\E
++)/s, "Exception propogated properly");
+ 
+ lives_ok ( sub {
+   $schema->resultset('CD')->create ({
+diff --git a/t/relationship/update_or_create_multi.t b/t/relationship/update_or_create_multi.t
+index 8710048..c7cce7a 100644
+--- a/t/relationship/update_or_create_multi.t
++++ b/t/relationship/update_or_create_multi.t
+@@ -69,7 +69,12 @@ throws_ok {
+     year => 2020,
+     title => 'the best thing since sliced bread',
+   })
+-} qr/\Qcd.artist may not be NULL/, 'ambiguous find + create failed';
++} qr/DBI Exception.+(?x:
++    \QNOT NULL constraint failed: cd.artist\E
++      |
++    \Qcd.artist may not be NULL\E
++)/s, 'ambiguous find + create failed'
++;
+ 
+ # expect a create, after a failed search using *only* the
+ # *current* relationship and the unique column constraints
+diff --git a/t/storage/error.t b/t/storage/error.t
+index d5980eb..61d6782 100644
+--- a/t/storage/error.t
++++ b/t/storage/error.t
+@@ -15,7 +15,11 @@ warnings_are ( sub {
+     sub {
+       $schema->resultset('CD')->create({ title => 'vacation in antarctica' })
+     },
+-    qr/DBI Exception.+cd\.artist.+NULL/s
++    qr/DBI Exception.+(?x:
++      \QNOT NULL constraint failed: cd.artist\E
++        |
++      \Qcd.artist may not be NULL\E
++    )/s
+   );  # as opposed to some other error
+ }, [], 'No warnings besides exception' );
+ 
diff --git a/pkgs/development/perl-modules/maatkit/default.nix b/pkgs/development/perl-modules/maatkit/default.nix
index d9a1f777f3a..2b412d518c5 100644
--- a/pkgs/development/perl-modules/maatkit/default.nix
+++ b/pkgs/development/perl-modules/maatkit/default.nix
@@ -1,11 +1,11 @@
 {buildPerlPackage, stdenv, fetchurl, DBDmysql}:
 
 buildPerlPackage rec {
-  name = "maatkit-4790";
+  name = "maatkit-7540";
 
   src = fetchurl {
     url = "http://maatkit.googlecode.com/files/${name}.tar.gz" ;
-    sha256 = "0lf6dgh1w96m234hrkhagyyvv1m1ldchpzsg6iswvkj6sbvv7d7h";
+    sha256 = "1a7rxrddkrsfxb2wj01ha91ld0vapfkqcy8j9p08l76zz2l8p2v1";
   };
 
   buildInputs = [ DBDmysql ] ;
@@ -34,7 +34,7 @@ buildPerlPackage rec {
       In addition to MySQL, there is support for PostgreSQL, Memcached, and a
       growing variety of other databases and technologies.
     '';
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.maatkit.org/;
   };
 }
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
new file mode 100644
index 00000000000..7022206c5cc
--- /dev/null
+++ b/pkgs/development/pharo/vm/default.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xlibs, alsaLib }:
+
+stdenv.mkDerivation rec {
+  name = "pharo-vm-core-i386-2014.06.25";
+  system = "x86_32-linux";
+  src = fetchurl {
+    url = http://files.pharo.org/vm/src/vm-unix-sources/pharo-vm-2014.06.25.tar.bz2;
+    md5 = "4d80d8169c2f2f0355c43ee90bbad23f";
+  };
+
+  sources10Zip = fetchurl {
+    url = http://files.pharo.org/sources/PharoV10.sources.zip;
+    md5 = "3476222a0345a6f8f8b6093b5e3b30fb";
+  };
+
+  sources20Zip = fetchurl {
+    url = http://files.pharo.org/sources/PharoV20.sources.zip;
+    md5 = "a145b0733f9d68d9ce6a76270b6b9ec8";
+  };
+
+  sources30Zip = fetchurl {
+    url = http://files.pharo.org/sources/PharoV30.sources.zip;
+    md5 = "bb0a66b8968ef7d0da97ec86331f68c8";
+  };
+
+  # Building
+  preConfigure = ''
+    cd build/
+  '';
+  resources = ./resources;
+  installPhase = ''
+    echo Current directory $(pwd)
+    echo Creating prefix "$prefix"
+    mkdir -p "$prefix/lib/pharo-vm"
+
+    cd ../../results
+
+    mv vm-display-null vm-display-null.so
+    mv vm-display-X11 vm-display-X11.so
+    mv vm-sound-null vm-sound-null.so
+    mv vm-sound-ALSA vm-sound-ALSA.so
+    mv pharo pharo-vm
+
+    cp * "$prefix/lib/pharo-vm"
+
+    cp -R "$resources/"* "$prefix/"
+
+    mkdir $prefix/bin
+
+    chmod u+w $prefix/bin
+    cat > $prefix/bin/pharo-vm-x <<EOF
+    #!${bash}/bin/bash
+
+    # disable parameter expansion to forward all arguments unprocessed to the VM
+    set -f
+
+    exec $prefix/lib/pharo-vm/pharo-vm "\$@"
+    EOF
+
+    cat > $prefix/bin/pharo-vm-nox <<EOF
+    #!${bash}/bin/bash
+
+    # disable parameter expansion to forward all arguments unprocessed to the VM
+    set -f
+
+    exec $prefix/lib/pharo-vm/pharo-vm -vm-display-null "\$@"
+    EOF
+
+    chmod +x $prefix/bin/pharo-vm-x $prefix/bin/pharo-vm-nox
+
+    unzip ${sources10Zip} -d $prefix/lib/pharo-vm/
+    unzip ${sources20Zip} -d $prefix/lib/pharo-vm/
+    unzip ${sources30Zip} -d $prefix/lib/pharo-vm/
+  '';
+
+  patches = [ patches/pharo-is-not-squeak.patch patches/fix-executable-name.patch patches/fix-cmake-root-directory.patch ];
+ 
+  buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xlibs.libX11 xlibs.libICE xlibs.libSM alsaLib ];
+
+  meta = {
+    description = "Clean and innovative Smalltalk-inspired environment";
+    longDescription = ''
+      Pharo's goal is to deliver a clean, innovative, free open-source
+      Smalltalk-inspired environment. By providing a stable and small core
+      system, excellent dev tools, and maintained releases, Pharo is an
+      attractive platform to build and deploy mission critical applications.
+
+      This package provides the executable VM. You should probably not care
+      about this package (which represents a packaging detail) and have a
+      look at the pharo-vm-core package instead.
+
+      Please fill bug reports on http://bugs.pharo.org under the 'Ubuntu
+      packaging (ppa:pharo/stable)' project.
+    '';
+    homepage = http://pharo.org;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch b/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch
new file mode 100644
index 00000000000..27cce4d6f4c
--- /dev/null
+++ b/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch
@@ -0,0 +1,84 @@
+From: Damien Cassou <damien.cassou@gmail.com>
+Subject: Fix use of absolute paths in cmake files
+
+* build/directories.cmake
+* build/CMakeLists.txt
+* build/vm-sound-ALSA/CMakeLists.txt
+* build/vm-sound-null/CMakeLists.txt
+* build/vm-display-null/CMakeLists.txt
+* build/vm-display-X11/CMakeLists.txt
+--- a/build/CMakeLists.txt
++++ b/build/CMakeLists.txt
+@@ -71,7 +71,7 @@
+ list(APPEND LINKLIBS m)
+ list(APPEND LINKLIBS dl)
+ list(APPEND LINKLIBS pthread)
+-set(EXECUTABLE_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
++set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
+ add_subdirectory("vm-display-null")
+ add_subdirectory("vm-display-X11")
+ add_subdirectory("vm-sound-ALSA")
+--- a/build/directories.cmake
++++ b/build/directories.cmake
+@@ -1,12 +1,12 @@
+-set(topDir "/builds/workspace/Pharo-vm-unix-sources/cog")
+-set(buildDir "/builds/workspace/Pharo-vm-unix-sources/cog/build")
++set(topDir "${CMAKE_SOURCE_DIR}/..")
++set(buildDir "${CMAKE_SOURCE_DIR}/../build")
+ set(thirdpartyDir "${buildDir}/thirdParty")
+-set(platformsDir "/builds/workspace/Pharo-vm-unix-sources/cog/platforms")
+-set(srcDir "/builds/workspace/Pharo-vm-unix-sources/cog/src")
++set(platformsDir "${CMAKE_SOURCE_DIR}/../platforms")
++set(srcDir "${CMAKE_SOURCE_DIR}/../src")
+ set(srcPluginsDir "${srcDir}/plugins")
+ set(srcVMDir "${srcDir}/vm")
+ set(platformName "unix")
+ set(targetPlatform ${platformsDir}/${platformName})
+ set(crossDir "${platformsDir}/Cross")
+ set(platformVMDir "${targetPlatform}/vm")
+-set(outputDir "/builds/workspace/Pharo-vm-unix-sources/cog/results")
++set(outputDir "${CMAKE_SOURCE_DIR}/../results")
+--- a/build/vm-display-X11/CMakeLists.txt
++++ b/build/vm-display-X11/CMakeLists.txt
+@@ -11,7 +11,7 @@
+ include_directories(${crossDir}/plugins/FilePlugin)
+ include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
+ include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
+-set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
++set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
+ list(APPEND LINKLIBS SM)
+ list(APPEND LINKLIBS ICE)
+ list(APPEND LINKLIBS GL)
+--- a/build/vm-display-null/CMakeLists.txt
++++ b/build/vm-display-null/CMakeLists.txt
+@@ -11,7 +11,7 @@
+ include_directories(${crossDir}/plugins/FilePlugin)
+ include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
+ include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
+-set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
++set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
+ target_link_libraries(vm-display-null ${LINKLIBS})
+ set_target_properties(vm-display-null PROPERTIES PREFIX "" SUFFIX "" 
+ 			LINK_FLAGS -m32)
+--- a/build/vm-sound-ALSA/CMakeLists.txt
++++ b/build/vm-sound-ALSA/CMakeLists.txt
+@@ -11,7 +11,7 @@
+ include_directories(${crossDir}/plugins/FilePlugin)
+ include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
+ include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
+-set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
++set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
+ target_link_libraries(vm-sound-ALSA ${LINKLIBS})
+ set_target_properties(vm-sound-ALSA PROPERTIES PREFIX "" SUFFIX "" 
+ 			LINK_FLAGS -m32)
+--- a/build/vm-sound-null/CMakeLists.txt
++++ b/build/vm-sound-null/CMakeLists.txt
+@@ -11,7 +11,7 @@
+ include_directories(${crossDir}/plugins/FilePlugin)
+ include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
+ include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
+-set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
++set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
+ target_link_libraries(vm-sound-null ${LINKLIBS})
+ set_target_properties(vm-sound-null PROPERTIES PREFIX "" SUFFIX "" 
+ 			LINK_FLAGS -m32)
diff --git a/pkgs/development/pharo/vm/patches/fix-executable-name.patch b/pkgs/development/pharo/vm/patches/fix-executable-name.patch
new file mode 100644
index 00000000000..b32ed7a32d2
--- /dev/null
+++ b/pkgs/development/pharo/vm/patches/fix-executable-name.patch
@@ -0,0 +1,14 @@
+Change the name of the executable file from Squeak to Pharo
+--- a/platforms/unix/vm-display-X11/sqUnixX11.c
++++ b/platforms/unix/vm-display-X11/sqUnixX11.c
+@@ -153,8 +153,8 @@
+ /*** Variables -- X11 Related ***/
+ 
+ /* name of Squeak windows in Xrm and the WM */
+-#define xResClass	"Squeak"
+-#define xResName	"squeak"
++#define xResClass	"pharo-vm"
++#define xResName	"Pharo"
+ 
+ char		*displayName= 0;	/* name of display, or 0 for $DISPLAY */
+ Display		*stDisplay= null;	/* Squeak display */
diff --git a/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch b/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch
new file mode 100644
index 00000000000..c06916c96ee
--- /dev/null
+++ b/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch
@@ -0,0 +1,23 @@
+pharo --help must talk about Pharo and not about Squeak
+--- a/platforms/unix/vm-display-X11/sqUnixX11.c
++++ b/platforms/unix/vm-display-X11/sqUnixX11.c
+@@ -7075,8 +7075,8 @@
+   printf("  -lazy                 go to sleep when main window unmapped\n");
+   printf("  -mapdelbs             map Delete key onto Backspace\n");
+   printf("  -nointl               disable international keyboard support\n");
+-  printf("  -notitle              disable the Squeak window title bar\n");
+-  printf("  -title <t>            use t as the Squeak window title instead of the image name\n");
++  printf("  -notitle              disable the Pharo window title bar\n");
++  printf("  -title <t>            use t as the Pharo window title instead of the image name\n");
+   printf("  -ldtoms <n>           launch drop timeout milliseconds\n");
+   printf("  -noxdnd               disable X drag-and-drop protocol support\n");
+   printf("  -optmod <n>           map Mod<n> to the Option key\n");
+@@ -7095,7 +7095,7 @@
+ static void display_printUsageNotes(void)
+ {
+   printf("  Using `unix:0' for <dpy> may improve local display performance.\n");
+-  printf("  -xshm only works when Squeak is running on the X server host.\n");
++  printf("  -xshm only works when Pharo is running on the X server host.\n");
+ }
+ 
+ 
diff --git a/pkgs/development/pharo/vm/resources/share/applications/pharo-vm.desktop b/pkgs/development/pharo/vm/resources/share/applications/pharo-vm.desktop
new file mode 100644
index 00000000000..9061ec9b8e5
--- /dev/null
+++ b/pkgs/development/pharo/vm/resources/share/applications/pharo-vm.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Pharo VM
+GenericName=Pharo Virtual Machine
+Exec=pharo-vm-x %F
+Icon=pharo
+Terminal=false
+Type=Application
+StartupNotify=false
+Categories=Development;
+MimeType=application/x-pharo-image;
+NoDisplay=true
diff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.png
new file mode 100644
index 00000000000..7910e17ebc4
--- /dev/null
+++ b/pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.png
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.png
new file mode 100644
index 00000000000..f6e88141752
--- /dev/null
+++ b/pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.png
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.png
new file mode 100644
index 00000000000..ec8a5f95c6c
--- /dev/null
+++ b/pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.png
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.png
new file mode 100644
index 00000000000..3f206cf8b18
--- /dev/null
+++ b/pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.png
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml b/pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml
new file mode 100644
index 00000000000..927514dd215
--- /dev/null
+++ b/pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+  <mime-type type="application/x-pharo-image">
+    <comment>Pharo image file</comment>
+    <comment xml:lang="fr">Fichier d'image Pharo</comment>
+    <glob pattern="*.image"/>
+    <icon name="pharo"/>
+  </mime-type>
+</mime-info>
diff --git a/pkgs/development/python-modules/4suite/default.nix b/pkgs/development/python-modules/4suite/default.nix
index 9f900e4f50a..94eec40d51f 100644
--- a/pkgs/development/python-modules/4suite/default.nix
+++ b/pkgs/development/python-modules/4suite/default.nix
@@ -10,4 +10,9 @@ stdenv.mkDerivation rec {
   buildInputs = [python];
   buildPhase = "true";
   installPhase = "python ./setup.py install --prefix=$out";
+
+  # None of the tools installed to bin/ work. They all throw an exception
+  # similar to this:
+  #   ImportError: No module named Ft.Xml.XPath._4xpath
+  meta.broken = true;
 }
diff --git a/pkgs/development/python-modules/bsddb3/default.nix b/pkgs/development/python-modules/bsddb3/default.nix
index 6ba7f9f8d02..574796e2c68 100644
--- a/pkgs/development/python-modules/bsddb3/default.nix
+++ b/pkgs/development/python-modules/bsddb3/default.nix
@@ -1,12 +1,12 @@
-{stdenv, fetchurl, python, db4}:
+{stdenv, fetchurl, python, db}:
 
-stdenv.mkDerivation {
-  name = "bsddb3-4.5.0";
+stdenv.mkDerivation rec {
+  name = "bsddb3-6.0.1";
   src = fetchurl {
-    url = mirror://sourceforge/pybsddb/bsddb3-4.5.0.tar.gz;
-    sha256 = "1h09kij32iikr9racp5p7qrb4li2gf2hs0lyq6d312qarja4d45v";
+    url = "https://pypi.python.org/packages/source/b/bsddb3/${name}.tar.gz";
+    md5 = "2b22ab1b4d896961c30e4106660e9139";
   };
   buildInputs = [python];
   buildPhase = "true";
-  installPhase = "python ./setup.py install --prefix=$out --berkeley-db=${db4}";
+  installPhase = "python ./setup.py install --prefix=$out --berkeley-db=${db}";
 }
diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix
index 26b6fb0cfcd..43e8a45c0cf 100644
--- a/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/pkgs/development/python-modules/buildout-nix/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, buildPythonPackage }:
 
 buildPythonPackage {
-  name = "zc.buildout-nix-2.2.0";
+  name = "zc.buildout-nix-2.2.1";
 
   src = fetchurl {
-    url = "https://pypi.python.org/packages/source/z/zc.buildout/zc.buildout-2.2.0.tar.gz";
-    md5 = "771dd9807da7d5ef5bb998991c5fdae1";
+    url = "https://pypi.python.org/packages/source/z/zc.buildout/zc.buildout-2.2.1.tar.gz";
+    md5 = "476a06eed08506925c700109119b6e41";
   };
 
   patches = [ ./nix.patch ];
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index bfce358a2aa..d88504379ed 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-python-1.1.1";
+  name = "dbus-python-1.2.0";
 
   src = fetchurl {
     url = "http://dbus.freedesktop.org/releases/dbus-python/${name}.tar.gz";
-    sha256 = "122yj5y0mndk9axh735qvwwckck6s6x0q84dw6p97mplp17wl5w9";
+    sha256 = "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71";
   };
 
   postPatch = "patchShebangs .";
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Python DBus bindings";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/distutils-cfg/default.nix b/pkgs/development/python-modules/distutils-cfg/default.nix
new file mode 100644
index 00000000000..204f4de5456
--- /dev/null
+++ b/pkgs/development/python-modules/distutils-cfg/default.nix
@@ -0,0 +1,32 @@
+# global distutils configuration, see http://docs.python.org/2/install/index.html#distutils-configuration-files
+
+{ stdenv, python, writeText, extraCfg ? "", overrideCfg ? "" }:
+
+
+let
+  distutilsCfg = writeText "distutils.cfg" (
+  if overrideCfg != "" then overrideCfg else ''
+    [easy_install]
+
+    # don't allow network connections during build to ensure purity
+    allow-hosts = None
+
+    # make sure we always unzip installed packages otherwise setup hooks won't work
+    zip_ok = 0
+
+    ${extraCfg}
+  '');
+in stdenv.mkDerivation {
+  name = "${python.libPrefix}-distutils.cfg";
+
+  buildInputs = [ python ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    dest="$out/lib/${python.libPrefix}/site-packages/distutils"
+    mkdir -p $dest
+    ln -s ${python}/lib/${python.libPrefix}/distutils/* $dest
+    ln -s ${distutilsCfg} $dest/distutils.cfg
+  '';
+}
diff --git a/pkgs/development/python-modules/ecdsa/default.nix b/pkgs/development/python-modules/ecdsa/default.nix
new file mode 100644
index 00000000000..f668f3c6ac3
--- /dev/null
+++ b/pkgs/development/python-modules/ecdsa/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, buildPythonPackage, openssl }:
+
+buildPythonPackage rec {
+  name = "ecdsa-0.11";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz";
+    sha256 = "134mbq5xsvx54k9xm7zrizvh9imxmcz1w9mhyfr99p4i7wcnqfwf";
+  };
+
+  buildInputs = [ openssl ];
+
+  meta = {
+    homepage = "http://github.com/warner/python-ecdsa";
+    description = "pure-python ECDSA signature/verification";
+    license = stdenv.lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/fedpkg-buildfix.diff b/pkgs/development/python-modules/fedpkg-buildfix.diff
new file mode 100644
index 00000000000..b9d46d7c741
--- /dev/null
+++ b/pkgs/development/python-modules/fedpkg-buildfix.diff
@@ -0,0 +1,14 @@
+--- a/setup.py	2014-02-04 16:12:37.021993713 +0100
++++ b/setup.py	2014-02-04 16:11:42.653995607 +0100
+@@ -13,8 +13,8 @@
+     package_dir = {'': 'src'},
+     packages = ['fedpkg'],
+     scripts = ['src/bin/fedpkg'],
+-    data_files = [('/etc/bash_completion.d', ['src/fedpkg.bash']),
+-                  ('/etc/rpkg', ['src/fedpkg.conf']),
+-                  ('/usr/libexec/', ['src/fedpkg-fixbranches.py']),
++    data_files = [('etc/bash_completion.d', ['src/fedpkg.bash']),
++                  ('etc/rpkg', ['src/fedpkg.conf']),
++                  ('libexec/', ['src/fedpkg-fixbranches.py']),
+                  ]
+ )
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 6a7d5e5f3d5..75fb974e735 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -1,84 +1,122 @@
 /* This function provides a generic Python package builder.  It is
-   intended to work with packages that use `setuptools'
+   intended to work with packages that use `distutils/setuptools'
    (http://pypi.python.org/pypi/setuptools/), which represents a large
    number of Python packages nowadays.  */
 
-{ python, setuptools, wrapPython, lib, offlineDistutils, recursivePthLoader }:
+{ python, setuptools, unzip, wrapPython, lib, recursivePthLoader, distutils-cfg }:
 
-{ name, namePrefix ? python.libPrefix + "-"
+{ name
 
-, buildInputs ? []
+# by default prefix `name` e.g. "python3.3-${name}"
+, namePrefix ? python.libPrefix + "-"
 
-, propagatedBuildInputs ? []
+, buildInputs ? []
 
-, # List of packages that should be added to the PYTHONPATH
-  # environment variable in programs built by this function.  Packages
-  # in the standard `propagatedBuildInputs' variable are also added.
-  # The difference is that `pythonPath' is not propagated to the user
-  # environment.  This is preferrable for programs because it doesn't
-  # pollute the user environment.
-  pythonPath ? []
+# pass extra information to the distutils global configuration (think as global setup.cfg)
+, distutilsExtraCfg ? ""
 
-, installCommand ?
-    ''
-      easy_install --always-unzip --prefix="$out" .
-    ''
+# propagate build dependencies so in case we have A -> B -> C,
+# C can import propagated packages by A
+, propagatedBuildInputs ? []
 
-, preConfigure ? "true"
+# passed to "python setup.py install"
+, setupPyInstallFlags ? []
 
-, buildPhase ? "true"
+# passed to "python setup.py build"
+, setupPyBuildFlags ? []
 
+# enable tests by default
 , doCheck ? true
 
-, checkPhase ?
-    ''
-      runHook preCheck
-      ${python}/bin/${python.executable} setup.py test
-      runHook postCheck
-    ''
-
-, preInstall ? ""
-, postInstall ? ""
+# List of packages that should be added to the PYTHONPATH
+# environment variable in programs built by this function.  Packages
+# in the standard `propagatedBuildInputs' variable are also added.
+# The difference is that `pythonPath' is not propagated to the user
+# environment.  This is preferrable for programs because it doesn't
+# pollute the user environment.
+,  pythonPath ? []
 
 , meta ? {}
 
+# Execute before shell hook
+, preShellHook ? ""
+
+# Execute after shell hook
+, postShellHook ? ""
+
 , ... } @ attrs:
 
-# Keep extra attributes from ATTR, e.g., `patchPhase', etc.
+# Keep extra attributes from `attrs`, e.g., `patchPhase', etc.
 python.stdenv.mkDerivation (attrs // {
-  inherit doCheck buildPhase checkPhase;
+  inherit doCheck;
 
   name = namePrefix + name;
 
-  # default to python's platforms and add maintainer(s) to every
-  # package
-  meta = {
-    platforms = python.meta.platforms;
-  } // meta // {
-    maintainers = (meta.maintainers or []) ++ [ lib.maintainers.chaoflow lib.maintainers.iElectric ];
-  };
-
-  # checkPhase after installPhase to run tests on installed packages
-  phases = "unpackPhase patchPhase configurePhase buildPhase installPhase checkPhase fixupPhase distPhase";
-
-  buildInputs = [ python wrapPython setuptools ] ++ buildInputs ++ pythonPath;
+  buildInputs = [
+    python wrapPython setuptools
+    (distutils-cfg.override { extraCfg = distutilsExtraCfg; })
+  ] ++ buildInputs ++ pythonPath
+    ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip);
 
   propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader ];
 
   pythonPath = [ setuptools ] ++ pythonPath;
 
-  preConfigure = ''
+  configurePhase = attrs.configurePhase or ''
+    runHook preConfigure
+
+    # patch python interpreter to write null timestamps when compiling python files
+    # with following var we tell python to activate the patch so that python doesn't
+    # try to update them when we freeze timestamps in nix store
     export DETERMINISTIC_BUILD=1
-    PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-    ${preConfigure}
+
+    # prepend following line to import setuptools before distutils
+    # this way we make sure setuptools monkeypatches distutils commands
+    # this way setuptools provides extra helpers such as "python setup.py test"
+    sed -i '0,/import distutils/s//import setuptools;import distutils/' setup.py
+    sed -i '0,/from distutils/s//import setuptools;from distutils/' setup.py
+
+    runHook postConfigure
   '';
 
-  installPhase = preInstall + ''
+  checkPhase = attrs.checkPhase or ''
+      runHook preCheck
+
+      ${python}/bin/${python.executable} setup.py test
+
+      runHook postCheck
+  '';
+
+  buildPhase = attrs.buildPhase or ''
+    runHook preBuild
+
+    ${python}/bin/${python.executable} setup.py build ${lib.concatStringsSep " " setupPyBuildFlags}
+
+    runHook postBuild
+  '';
+
+  installPhase = attrs.installPhase or ''
+    runHook preInstall
+
     mkdir -p "$out/lib/${python.libPrefix}/site-packages"
 
-    echo "installing \`${name}' with \`easy_install'..."
     export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-    ${installCommand}
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --old-and-unmanageable \
+      --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags}
+
+    # --install-lib:
+    # sometimes packages specify where files should be installed outside the usual
+    # python lib prefix, we override that back so all infrastructure (setup hooks)
+    # work as expected
+
+    # --old-and-unmanagable:
+    # instruct setuptools not to use eggs but fallback to plan package install 
+    # this also reduces one .pth file in the chain, but the main reason is to
+    # force install process to install only scripts for the package we are
+    # installing (otherwise it will install scripts also for dependencies)
 
     # A pth file might have been generated to load the package from
     # within its own site-packages, rename this package not to
@@ -94,21 +132,21 @@ python.stdenv.mkDerivation (attrs // {
     # corresponding site.py needs to be included in the PYTHONPATH.
     rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
 
-    ${postInstall}
+    runHook postInstall
   '';
 
-  postFixup =
-    ''
+  postFixup = attrs.postFixup or ''
       wrapPythonPrograms
 
-      # If a user installs a Python package, she probably also wants its
-      # dependencies in the user environment (since Python modules don't
-      # have something like an RPATH, so the only way to find the
+      # If a user installs a Python package, they probably also wants its
+      # dependencies in the user environment profile (only way to find the
       # dependencies is to have them in the PYTHONPATH variable).
+      # Allows you to do: $ PYTHONPATH=~/.nix-profile/lib/python2.7/site-packages python
       if test -e $out/nix-support/propagated-build-inputs; then
           ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
       fi
 
+      # TODO: document
       createBuildInputsPth build-inputs "$buildInputStrings"
       for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
         if test -e $out/nix-support/$inputsfile; then
@@ -116,4 +154,24 @@ python.stdenv.mkDerivation (attrs // {
         fi
       done
     '';
+
+  shellHook = attrs.shellHook or ''
+    if test -e setup.py; then
+       mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
+       ${preShellHook}
+       export PATH="/tmp/$name/bin:$PATH"
+       export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+       ${python}/bin/${python.executable} setup.py develop --prefix /tmp/$name
+       ${postShellHook}
+    fi
+  '';
+
+  meta = with lib.maintainers; {
+    # default to python's platforms
+    platforms = python.meta.platforms;
+  } // meta // {
+    # add extra maintainer(s) to every package
+    maintainers = (meta.maintainers or []) ++ [ chaoflow iElectric ];
+  };
+
 })
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh
index a7c839799b1..857f002cace 100644
--- a/pkgs/development/python-modules/generic/wrap.sh
+++ b/pkgs/development/python-modules/generic/wrap.sh
@@ -5,7 +5,7 @@ wrapPythonPrograms() {
 wrapPythonProgramsIn() {
     local dir="$1"
     local pythonPath="$2"
-    local python="$(type -p python)"
+    local python="@executable@"
     local i
 
     declare -A pythonPathsSeen=()
@@ -18,14 +18,20 @@ wrapPythonProgramsIn() {
     for i in $(find "$dir" -type f -perm +0100); do
 
         # Rewrite "#! .../env python" to "#! /nix/store/.../python".
-        if head -n1 "$i" | grep -q '#!.*/env.*python'; then
-            sed -i "$i" -e "1 s^.*/env[ ]*python^#! $python^"
+        if head -n1 "$i" | grep -q '#!.*/env.*\(python\|pypy\)'; then
+            sed -i "$i" -e "1 s^.*/env[ ]*\(python\|pypy\)^#! $python^"
         fi
         
-        if head -n1 "$i" | grep -q /python; then
+        if head -n1 "$i" | grep -q '/python\|/pypy'; then
             # dont wrap EGG-INFO scripts since they are called from python
             if echo "$i" | grep -v EGG-INFO/scripts; then
                 echo "wrapping \`$i'..."
+                sed -i "$i" -re '1 {
+                    /^#!/!b; :r
+                    /\\$/{N;b r}
+                    /__future__|^ *(#.*)?$/{n;b r}
+                    /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"'
+                }'
                 wrapProgram "$i" \
                     --prefix PYTHONPATH ":" $program_PYTHONPATH \
                     --prefix PATH ":" $program_PATH
diff --git a/pkgs/development/python-modules/mygpoclient/default.nix b/pkgs/development/python-modules/mygpoclient/default.nix
new file mode 100644
index 00000000000..d4461788381
--- /dev/null
+++ b/pkgs/development/python-modules/mygpoclient/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, python, buildPythonPackage, pythonPackages }:
+
+buildPythonPackage rec {
+  name = "mygpoclient-1.7";
+
+  src = fetchurl {
+    url = "https://thp.io/2010/mygpoclient/${name}.tar.gz";
+    sha256 = "6a0b7b1fe2b046875456e14eda3e42430e493bf2251a64481cf4fd1a1e21a80e";
+  };
+
+  buildInputs = [ pythonPackages.nose pythonPackages.minimock ];
+
+  checkPhase = "make test";
+
+  meta = {
+    description = "A gpodder.net client library";
+    longDescription = ''
+      The mygpoclient library allows developers to utilize a Pythonic interface
+      to the gpodder.net web services.
+    '';
+    homepage = "https://thp.io/2010/mygpoclient/";
+    license = "GPLv3";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.skeidel ];
+  };
+}
diff --git a/pkgs/development/python-modules/offline-distutils/default.nix b/pkgs/development/python-modules/offline-distutils/default.nix
deleted file mode 100644
index 269f67bf5cd..00000000000
--- a/pkgs/development/python-modules/offline-distutils/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# Used during module installation to prevent easy_install and python
-# setup.py install/test from downloading
-
-{ stdenv, python }:
-
-stdenv.mkDerivation {
-  name = "python-offline-distutils-${python.version}";
-
-  buildInputs = [ python ];
-
-  unpackPhase = "true";
-  installPhase = ''
-    dst="$out/lib/${python.libPrefix}/site-packages"
-    ensureDir $dst/distutils
-    ln -s ${python}/lib/${python.libPrefix}/distutils/* $dst/distutils/
-    cat <<EOF > $dst/distutils/distutils.cfg
-[easy_install]
-allow-hosts = None
-EOF
-  '';
-}
diff --git a/pkgs/development/python-modules/pil/default.nix b/pkgs/development/python-modules/pil/default.nix
index 1dfdfee08fb..35a1e913bf7 100644
--- a/pkgs/development/python-modules/pil/default.nix
+++ b/pkgs/development/python-modules/pil/default.nix
@@ -14,16 +14,20 @@ buildPythonPackage {
 
   doCheck = true;
 
-  configurePhase = ''
+  preConfigure = ''
     sed -i "setup.py" \
         -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${freetype}")|g ;
             s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${libjpeg}")|g ;
             s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${zlib}")|g ;'
   '';
 
-  buildPhase   = "python setup.py build_ext -i";
   checkPhase   = "python selftest.py";
-  #installPhase = "python setup.py install --prefix=$out";
+  buildPhase   = "python setup.py build_ext -i";
+
+  postInstall = ''
+    cd "$out"/lib/python*/site-packages
+    ln -s $PWD PIL
+  '';
 
   meta = {
     homepage = http://www.pythonware.com/products/pil/;
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 1e8ceed6878..3dc64f68129 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,11 +1,39 @@
-{ stdenv, fetchurl, python, pkgconfig, cairo, x11 }:
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }:
 
-stdenv.mkDerivation {
-  name = "pycairo-1.8.8";
-  src = fetchurl {
-    url = http://cairographics.org/releases/pycairo-1.8.8.tar.gz;
-    sha256 = "0q18hd4ai4raljlvd76ylgi30kxpr2qq83ka6gzwh0ya8fcmjlig";
+stdenv.mkDerivation rec {
+  version = "1.10.0";
+  name = "pycairo-${version}";
+  src = if python.is_py3k or false
+    then fetchurl {
+      url = "http://cairographics.org/releases/pycairo-${version}.tar.bz2";
+      sha256 = "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s";
+    }
+    else fetchurl {
+      url = "http://cairographics.org/releases/py2cairo-${version}.tar.bz2";
+      sha256 = "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k";
+    };
+
+  patches = [(fetchpatch {
+    url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_unpack-1.patch;
+    sha256 = "1bmrhq2nmhx4l5glvyi59r0hc7w5m56kz41frx7v3dcp8f91p7xd";
+  })];
+
+  patch_waf = fetchpatch {
+    url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_python_3_4-1.patch;
+    sha256 = "0xfl1i9dips2nykyg91f5h5r3xpk2hp1js1gq5z0hwjr0in55id4";
   };
 
   buildInputs = [ python pkgconfig cairo x11 ];
+
+  configurePhase = ''
+    (
+      cd $(${python.executable} waf unpack)
+      pwd
+      patch -p1 < ${patch_waf}
+    )
+
+    ${python.executable} waf configure --prefix=$out
+  '';
+  buildPhase = "${python.executable} waf";
+  installPhase = "${python.executable} waf install";
 }
diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix
new file mode 100644
index 00000000000..04f7e434a54
--- /dev/null
+++ b/pkgs/development/python-modules/pycangjie/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, bash, autoconf, automake, libtool, pkgconfig, libcangjie
+, sqlite, python3, cython3
+}:
+
+stdenv.mkDerivation rec {
+  name = "pycangjie-${version}";
+  version = "1.0";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/Cangjians/pycangjie/archive/v${version}.tar.gz";
+    sha256 = "1wx0m0chcpgxhj6cdxrwyi8hq05xlbap1ifs0wzb6nkglir0sb4j";
+  };
+
+  buildInputs = [
+    autoconf automake libtool pkgconfig libcangjie sqlite python3 cython3
+  ];
+
+  preConfigure = ''
+    find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
+    sed -i 's@/usr@${libcangjie}@' tests/__init__.py
+  '';
+
+  configureScript = "./autogen.sh";
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Python wrapper to libcangjie";
+    homepage = http://cangjians.github.io/projects/pycangjie/;
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.linquize ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/pycrypto/2.5.nix b/pkgs/development/python-modules/pycrypto/2.5.nix
deleted file mode 100644
index de192c64b72..00000000000
--- a/pkgs/development/python-modules/pycrypto/2.5.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, python, buildPythonPackage, gmp }:
-
-buildPythonPackage rec {
-  name = "pycrypto-2.5";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "http://pypi.python.org/packages/source/p/pycrypto/${name}.tar.gz";
-    md5 = "783e45d4a1a309e03ab378b00f97b291";
-  };
-
-  buildInputs = [ python gmp ];
-
-  buildPhase =
-    ''
-      python ./setup.py build_ext --library-dirs=${gmp}/lib
-    '';
-
-#  installPhase =
-#    ''
-#      python ./setup.py install --prefix=$out
-#    '';
-
-  meta = {
-    homepage = "http://www.pycrypto.org/";
-    description = "Python Cryptography Toolkit";
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 0ad1663da65..c8f0f74c1ff 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -1,29 +1,22 @@
 { stdenv, fetchurl, python, buildPythonPackage, gmp }:
 
 buildPythonPackage rec {
-  name = "pycrypto-2.6";
+  name = "pycrypto-2.6.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/p/pycrypto/${name}.tar.gz";
-    md5 = "88dad0a270d1fe83a39e0467a66a22bb";
+    sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
   };
 
-  buildInputs = [ python gmp ];
+  buildInputs = [ gmp ];
 
-  buildPhase =
-    ''
-      python ./setup.py build_ext --library-dirs=${gmp}/lib
-    '';
+  doCheck = !stdenv.isDarwin; # error: AF_UNIX path too long
 
-#  installPhase =
-#    ''
-#      python ./setup.py install --prefix=$out
-#    '';
 
   meta = {
     homepage = "http://www.pycrypto.org/";
     description = "Python Cryptography Toolkit";
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix
index a6efb8bdc2b..93fa70e44bc 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Python library for games";
     homepage = "http://www.pygame.org/";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index ffbe906a900..94de33f0d50 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo }:
- 
+
 stdenv.mkDerivation rec {
-  name = "pygobject-3.0.4";
-   
+  name = "pygobject-3.12.1";
+
   src = fetchurl {
-    url = "mirror://gnome/sources/pygobject/3.0/${name}.tar.xz";
-    sha256 = "f457b1d7f6b8bfa727593c3696d2b405da66b4a8d34cd7d3362ebda1221f0661";
+    url = "mirror://gnome/sources/pygobject/3.12/${name}.tar.xz";
+    sha256 = "0dfsjsa95ix8bx3h8w4bhnz7rymgl2paclvbn93x6qp8b53y0pys";
   };
 
-  configureFlags = "--disable-introspection";
-
   buildInputs = [ python pkgconfig glib gobjectIntrospection pycairo cairo ];
 
   meta = {
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index e291544911c..7d3804d264a 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -2,11 +2,11 @@
 , buildPythonPackage, libglade ? null }:
 
 buildPythonPackage rec {
-  name = "pygtk-2.22.0";
+  name = "pygtk-2.24.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pygtk/2.22/${name}.tar.bz2";
-    sha256 = "4acf0ef2bde8574913c40ee4a43d9c4f43bb77b577b67147271b534501a54cc8";
+    url = "mirror://gnome/sources/pygtk/2.24/${name}.tar.bz2";
+    sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
   };
 
   buildInputs = [ pkgconfig ]
@@ -14,7 +14,12 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ gtk pygobject pycairo ];
 
-  installCommand = "make install";
+  configurePhase = "configurePhase";
+
+  buildPhase = "buildPhase";
+
+  installPhase = "installPhase";
+
   checkPhase = stdenv.lib.optionalString (libglade == null)
     ''
       sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index d45d724ae58..552def7241b 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "pylint-0.26.0";
+  name = "pylint-1.2.1";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://download.logilab.org/pub/pylint/${name}.tar.gz";
-    sha256 = "1mg1ywpj0klklv63s2hwn5xwxi3wfwgnyz9d4pz32hzb53azq835";
+    url = "https://pypi.python.org/packages/source/p/pylint/${name}.tar.gz";
+    sha256 = "0q7zj5hgmz27wifhcqyaddc9yc5b2q6p16788zzm3da6qshv7xk3";
   };
 
-  propagatedBuildInputs = [ pythonPackages.logilab_astng ];
+  propagatedBuildInputs = with pythonPackages; [ astroid ];
 
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 1d4fe53117c..5f92e2cf202 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -2,7 +2,7 @@ a :
 let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.13" a;
+  version = a.lib.attrByPath ["version"] "0.13.1" a;
   propagatedBuildInputs = with a; [
     openssl python
   ];
@@ -10,7 +10,7 @@ in
 rec {
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${version}.tar.gz";
-    sha256 = "21e12b03abaa0e04ecc8cd9c251598f71bae11c9f385304234e4ea5618c6163b";
+    sha256 = "1nrg2kas0wsv65j8sia8zkkc6ir5i20lrhkfavjxzxhl0iqyq1ms";
   };
 
   inherit propagatedBuildInputs;
diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix
new file mode 100644
index 00000000000..92a5fd2dc07
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt/4.x.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, python, sip, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
+
+let version = "4.10.2"; # kde410.pykde4 doesn't build with 4.10.3
+in
+stdenv.mkDerivation {
+  name = "PyQt-x11-gpl-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/PyQt4/PyQt-${version}/PyQt-x11-gpl-${version}.tar.gz";
+    sha256 = "1zp69caqq195ymp911d0cka8619q78hzmfxvj7c51w2y53zg4z3l";
+  };
+
+  configurePhase = ''
+    mkdir -p $out
+    lndir ${pythonDBus} $out
+
+    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
+
+    substituteInPlace configure.py \
+      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
+
+    configureFlagsArray=( \
+      --confirm-license --bindir $out/bin \
+      --destdir $out/lib/${python.libPrefix}/site-packages \
+      --plugin-destdir $out/lib/qt4/plugins --sipdir $out/share/sip \
+      --dbus=$out/include/dbus-1.0 --verbose)
+
+    ${python.executable} configure.py $configureFlags "''${configureFlagsArray[@]}"
+  '';
+
+  buildInputs = [ python pkgconfig makeWrapper qt4 lndir ];
+
+  propagatedBuildInputs = [ sip ];
+
+  postInstall = ''
+    for i in $out/bin/*; do
+      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Python bindings for Qt";
+    license = "GPL";
+    homepage = http://www.riverbankcomputing.co.uk;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
new file mode 100644
index 00000000000..2d2a2ed5151
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }:
+
+let
+  version = "5.3";
+in stdenv.mkDerivation {
+  name = "PyQt-${version}";
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for Qt5";
+    homepage    = http://www.riverbankcomputing.co.uk;
+    license     = licenses.gpl3;
+    platforms   = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ sander iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz";
+    sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2";
+  };
+
+  buildInputs = [ python pkgconfig makeWrapper lndir qt5 ];
+
+  propagatedBuildInputs = [ sip ];
+
+  configurePhase = ''
+    mkdir -p $out
+    lndir ${pythonDBus} $out
+
+    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
+
+    substituteInPlace configure.py \
+      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
+
+    ${python.executable} configure.py  -w \
+      --confirm-license \
+      --dbus=$out/include/dbus-1.0 \
+      --no-qml-plugin \
+      --bindir=$out/bin \
+      --destdir=$out/lib/${python.libPrefix}/site-packages \
+      --sipdir=$out/share/sip \
+      --designer-plugindir=$out/plugins/designer
+  '';
+
+  postInstall = ''
+    for i in $out/bin/*; do
+      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+    done
+  '';
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/python-modules/pyqt/default.nix b/pkgs/development/python-modules/pyqt/default.nix
deleted file mode 100644
index 7d9679349e8..00000000000
--- a/pkgs/development/python-modules/pyqt/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl, python, sip, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "PyQt-x11-gpl-4.10.1";
-  
-  src = fetchurl {
-    urls = [
-      "http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/${name}.tar.gz"
-      "http://pkgs.fedoraproject.org/lookaside/pkgs/PyQt4/PyQt-x11-gpl-4.10.1.tar.gz/e5973c4ec0b0469f329bc00209d2ad9c/PyQt-x11-gpl-4.10.1.tar.gz"
-    ];
-    sha256 = "05psk23x6bc83hrkw7h88a14jxhvfbxms0c8yrdar8xqvkv8cdb2";
-  };
-  
-  configurePhase = ''
-    mkdir -p $out
-    lndir ${pythonDBus} $out
-
-    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
-    
-    substituteInPlace configure.py \
-      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
-  
-    configureFlagsArray=( \
-      --confirm-license --bindir $out/bin \
-      --destdir $out/lib/${python.libPrefix}/site-packages \
-      --plugin-destdir $out/lib/qt4/plugins --sipdir $out/share/sip \
-      --dbus=$out/include/dbus-1.0 --verbose)
-
-    python configure.py $configureFlags "''${configureFlagsArray[@]}"
-  '';
-
-  buildInputs = [ python pkgconfig makeWrapper qt4 lndir ];
-
-  propagatedBuildInputs = [ sip ];
-
-  postInstall = ''
-    for i in $out/bin/*; do
-      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
-    done
-  ''; # */
-
-  enableParallelBuilding = true;
-  
-  meta = {
-    description = "Python bindings for Qt";
-    license = "GPL";
-    homepage = http://www.riverbankcomputing.co.uk;
-    maintainers = [ stdenv.lib.maintainers.sander ];
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/development/python-modules/pyside/apiextractor.nix b/pkgs/development/python-modules/pyside/apiextractor.nix
index 107bb08759f..e3bcf059c1c 100644
--- a/pkgs/development/python-modules/pyside/apiextractor.nix
+++ b/pkgs/development/python-modules/pyside/apiextractor.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchgit, cmake, libxml2, libxslt, python27Packages, qt4 }:
+{ stdenv, fetchurl, cmake, libxml2, libxslt, python27Packages, qt4 }:
 
 stdenv.mkDerivation {
-  name = "pyside-apiextractor-0.10.7-6-gdcb1195";
+  name = "pyside-apiextractor-0.10.10";
 
-  src = fetchgit {
-    url = "git://github.com/PySide/Apiextractor.git";
-    rev = "dcb11958cabe518630f9f2d2bebd9f8711c2b15b";
-    sha256 = "d7b6cb16d11b6134de17a15635d0b5ad7460d31d7870cafe23a690141b9a2274";
+  src = fetchurl {
+    url = "https://github.com/PySide/Apiextractor/archive/0.10.10.tar.gz";
+    sha256 = "1zj8yrxy08iv1pk38djxw3faimm226w6wmi0gm32w4yczblylwz3";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index dc4f733a4cf..d274283594a 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchgit, cmake, pysideGeneratorrunner, pysideShiboken, qt4 }:
+{ stdenv, fetchurl, cmake, pysideGeneratorrunner, pysideShiboken, qt4 }:
 
 stdenv.mkDerivation {
-  name = "pyside-1.0.9";
+  name = "pyside-1.2.2";
 
-  src = fetchgit {
-    url = "git://github.com/PySide/PySide.git";
-    rev = "4e47b3284fd8715b68342e755cd06ba02b1df0de";
-    sha256 = "1fd302e78c5dea8a9c312bd493c04240f2383517ee745d9df2b070f15f0ab515";
+  src = fetchurl {
+    url = "http://download.qt-project.org/official_releases/pyside/pyside-qt4.8+1.2.2.tar.bz2";
+    sha256 = "1qbahpcjwl8d7zvvnc18nxpk1lbifpvjk8pi24ifbvvqcdsdzad1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/pyside/generatorrunner.nix b/pkgs/development/python-modules/pyside/generatorrunner.nix
index 12ec5a7ef51..2423cbb0c2e 100644
--- a/pkgs/development/python-modules/pyside/generatorrunner.nix
+++ b/pkgs/development/python-modules/pyside/generatorrunner.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchgit, cmake, pysideApiextractor, python27Packages, qt4 }:
+{ stdenv, fetchurl, cmake, pysideApiextractor, python27Packages, qt4 }:
 
 stdenv.mkDerivation {
-  name = "pyside-generatorrunner-0.6.15";
+  name = "pyside-generatorrunner-0.6.16";
 
-  src = fetchgit {
-    url = "git://github.com/PySide/Generatorrunner.git";
-    rev = "567ca6effaecdf97b33d1d13eada23bafe0f7535";
-    sha256 = "182aba79af9fc865337f4befc96faf3eaca1ab9bcb902a57e0a68af49f071c74";
+  src = fetchurl {
+    url = "https://github.com/PySide/Generatorrunner/archive/0.6.16.tar.gz";
+    sha256 = "0vzk3cp0pfbhd921r8f1xkcz96znla39dhj074k623x9k26lj2sj";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/pyside/shiboken.nix b/pkgs/development/python-modules/pyside/shiboken.nix
index d8ef2d7b52f..5e266aba7d0 100644
--- a/pkgs/development/python-modules/pyside/shiboken.nix
+++ b/pkgs/development/python-modules/pyside/shiboken.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchgit, cmake, pysideApiextractor, pysideGeneratorrunner, python27, python27Packages, qt4 }:
+{ stdenv, fetchurl, cmake, pysideApiextractor, pysideGeneratorrunner, python27, python27Packages, qt4 }:
 
 stdenv.mkDerivation {
-  name = "pyside-shiboken-1.0.7-73-g9f110f8";
+  name = "pyside-shiboken-1.2.2";
 
-  src = fetchgit {
-    url = "git://github.com/PySide/Shiboken.git";
-    rev = "9f110f83c213867e15b0141a802ebbf74f2ed9f7";
-    sha256 = "4618ed113fb20840fd9acb7d08460eb257f630cbca6d61113c16549a6bb651cd";
+  src = fetchurl {
+    url = "http://download.qt-project.org/official_releases/pyside/shiboken-1.2.2.tar.bz2";
+    sha256 = "1i75ziljl7rgb88nf26hz6cm8jf5kbs9r33b1j8zs4z33z7vn9bn";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/pyside/tools.nix b/pkgs/development/python-modules/pyside/tools.nix
index a3153bed217..b5ddec09c03 100644
--- a/pkgs/development/python-modules/pyside/tools.nix
+++ b/pkgs/development/python-modules/pyside/tools.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchgit, cmake, pyside, python27, qt4, pysideShiboken }:
+{ stdenv, fetchurl, cmake, pyside, python27, qt4, pysideShiboken }:
 
 stdenv.mkDerivation {
-  name = "pyside-tools-0.2.13";
+  name = "pyside-tools-0.2.15";
 
-  src = fetchgit {
-    url = "git://github.com/PySide/Tools.git";
-    rev = "23e0712360442e50f34be0d6e4651b8c4c806d47";
-    sha256 = "68f059e4936fb8dfae6aa3a463db8c28adcb7bd050b29e8b6fef82431f72da07";
+  src = fetchurl {
+    url = "https://github.com/PySide/Tools/archive/0.2.15.tar.gz";
+    sha256 = "0x4z3aq7jgar74gxzwznl3agla9i1dcskw5gh11jnnwwn63ffzwa";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix
deleted file mode 100644
index 6d79cf53a6b..00000000000
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, python }:
-
-stdenv.mkDerivation rec {
-  name = "sip-4.14.6";
-  
-  src = fetchurl {
-    urls = [
-      "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz"
-      "http://pkgs.fedoraproject.org/repo/pkgs/sip/${name}.tar.gz/d6493b9f0a7911566545f694327314c4/${name}.tar.gz"
-    ];
-    sha256 = "1bwdd5xhrx8dx8rr86r043ddlbg7gd1vh0pm2nxw5l1yprwa7paa";
-  };
-
-  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 = with stdenv.lib; {
-    description = "Creates C++ bindings for Python modules";
-    license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 sander urkud ];
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/development/python-modules/pyx/default.nix b/pkgs/development/python-modules/pyx/default.nix
index 374158da810..cc36680fcb0 100644
--- a/pkgs/development/python-modules/pyx/default.nix
+++ b/pkgs/development/python-modules/pyx/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       plots in publication-ready quality are built out of these
       primitives.
     '';
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://pyx.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/python-modules/rpkg-buildfix.diff b/pkgs/development/python-modules/rpkg-buildfix.diff
new file mode 100644
index 00000000000..d410f09072f
--- /dev/null
+++ b/pkgs/development/python-modules/rpkg-buildfix.diff
@@ -0,0 +1,11 @@
+--- a/setup.py	2012-03-12 23:26:16.000000000 +0100
++++ b/setup.py	2014-02-04 14:52:02.335856975 +0100
+@@ -14,6 +14,6 @@
+     package_dir = {'': 'src'},
+     packages = ['pyrpkg'],
+     scripts = ['src/rpkg'],
+-    data_files = [('/etc/bash_completion.d', ['src/rpkg.bash']),
+-                  ('/etc/rpkg', ['src/rpkg.conf'])],
++    data_files = [('etc/bash_completion.d', ['src/rpkg.bash']),
++                  ('etc/rpkg', ['src/rpkg.conf'])],
+ )
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index bd1cb756f27..e33c815d23b 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -1,36 +1,30 @@
-{ stdenv, fetchurl, python, wrapPython }:
+{ stdenv, fetchurl, python, wrapPython, distutils-cfg }:
 
 stdenv.mkDerivation rec {
   shortName = "setuptools-${version}";
   name = "${python.executable}-${shortName}";
 
-  version = "0.9.8";
+  version = "2.1";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz";
-    sha256 = "037b8x3fdhx8s6xafqndi3yr8x2vr42n1kzs7jxk6j9s9fd65gs2";
+    sha256 = "1m8qjvj5bfbphdags5s6pgmvk3xnw509lgdlq9whkq5a9mgxf8m7";
   };
 
-  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 distutils-cfg ];
 
-  buildInputs = [ python wrapPython ];
-
-  buildPhase = "${python}/bin/${python.executable} setup.py build --build-base $out";
+  buildPhase = "${python}/bin/${python.executable} setup.py build";
 
   installPhase =
     ''
       dst=$out/lib/${python.libPrefix}/site-packages
       mkdir -p $dst
       PYTHONPATH="$dst:$PYTHONPATH"
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py install --prefix=$out --install-lib=$out/lib/${python.libPrefix}/site-packages
       wrapPythonPrograms
     '';
 
-  # tests fail on darwin, see http://bitbucket.org/pypa/setuptools/issue/55/1-failure-lc_all-c-python33m-setuppy-test 
-  doCheck = (!stdenv.isDarwin);
+  doCheck = stdenv.system != "x86_64-darwin";
 
   checkPhase = ''
     ${python}/bin/${python.executable} setup.py test
@@ -39,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Utilities to facilitate the installation of Python packages";
     homepage = http://pypi.python.org/pypi/setuptools;
-    licenses = [ "PSF" "ZPL" ];
+    license = [ "PSF" "ZPL" ];
     platforms = platforms.all;
   };    
 }
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
deleted file mode 100644
index 96a4f81ee58..00000000000
--- a/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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/setuptools/site.nix b/pkgs/development/python-modules/setuptools/site.nix
deleted file mode 100644
index 34e7b478595..00000000000
--- a/pkgs/development/python-modules/setuptools/site.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# Propagated by buildPythonPackge to process pth files
-
-{ stdenv, python, setuptools }:
-
-stdenv.mkDerivation {
-  name = "python-setuptools-site-${setuptools.version}";
-
-  buildInputs = [ python setuptools ];
-
-  unpackPhase = "true";
-  installPhase = ''
-    dst="$out/lib/${python.libPrefix}/site-packages"
-    ensureDir $dst
-    ln -s ${setuptools}/lib/${python.libPrefix}/site-packages/site.* $dst/
-  '';
-}
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
new file mode 100644
index 00000000000..aa1fb198438
--- /dev/null
+++ b/pkgs/development/python-modules/sip/4.16.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "sip-4.16.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
+    sha256 = "1hknl71ij924syc9ik9nk4z051q3n75y7w27q9i07awpd39sp7m4";
+  };
+
+  configurePhase = ''
+    ${python.executable} ./configure.py \
+      -d $out/lib/${python.libPrefix}/site-packages \
+      -b $out/bin -e $out/include
+  '';
+
+  buildInputs = [ python ];
+
+  meta = with stdenv.lib; {
+    description = "Creates C++ bindings for Python modules";
+    homepage    = "http://www.riverbankcomputing.co.uk/";
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovek323 sander urkud ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
new file mode 100644
index 00000000000..db397f95944
--- /dev/null
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "sip-4.14.7"; # kde410.pykde4 doesn't build with 4.15
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
+    sha256 = "1dv1sdwfmnq481v80k2951amzs9s87d4qhk0hpwrhb1sllh92rh5";
+  };
+
+  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.executable} ./configure.py \
+      -d $out/lib/${python.libPrefix}/site-packages \
+      -b $out/bin -e $out/include
+  '';
+
+  buildInputs = [ python ];
+
+  meta = with stdenv.lib; {
+    description = "Creates C++ bindings for Python modules";
+    homepage    = "http://www.riverbankcomputing.co.uk/";
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovek323 sander urkud ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/slowaes/default.nix b/pkgs/development/python-modules/slowaes/default.nix
new file mode 100644
index 00000000000..e45ffdfb2e1
--- /dev/null
+++ b/pkgs/development/python-modules/slowaes/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "slowaes-0.1a1";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/s/slowaes/${name}.tar.gz";
+    sha256 = "83658ae54cc116b96f7fdb12fdd0efac3a4e8c7c7064e3fac3f4a881aa54bf09";
+  };
+
+  meta = {
+    homepage = "http://code.google.com/p/slowaes/";
+    description = "AES implemented in pure python";
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix
new file mode 100644
index 00000000000..7c897e9531f
--- /dev/null
+++ b/pkgs/development/python-modules/tables/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, python, buildPythonPackage
+, cython, bzip2, lzo, numpy, numexpr, hdf5 }:
+
+buildPythonPackage rec {
+  version = "3.1.1";
+  name = "tables-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pytables/${name}.tar.gz";
+    sha256 = "18rdzv9xwiapb5c8y47rk2fi3fdm2dpjf68wfycma67ifrih7f9r";
+  };
+
+  buildInputs = [ hdf5 cython bzip2 lzo ];
+  propagatedBuildInputs = [ numpy numexpr ];
+
+  # The setup script complains about missing run-paths, but they are
+  # actually set.
+  setupPyBuildFlags =
+    [ "--hdf5=${hdf5}"
+      "--lzo=${lzo}"
+      "--bzip2=${bzip2}"
+    ];
+  setupPyInstallFlags = setupPyBuildFlags;
+
+  # Run the test suite.
+  # It requires the build path to be in the python search path.
+  # These tests take quite some time.
+  # If the hdf5 library is built with zlib then there is only one
+  # test-failure. That is the same failure as described in the following
+  # github issue:
+  #     https://github.com/PyTables/PyTables/issues/269
+  checkPhase = ''
+    ${python}/bin/${python.executable} <<EOF
+    import sysconfig
+    import sys
+    import os
+    f = "lib.{platform}-{version[0]}.{version[1]}"
+    lib = f.format(platform=sysconfig.get_platform(),
+                   version=sys.version_info)
+    build = os.path.join(os.getcwd(), 'build', lib)
+    sys.path.insert(0, build)
+    import tables
+    r = tables.test()
+    if not r.wasSuccessful():
+        sys.exit(1)
+    EOF
+  '';
+
+  # Disable tests until the failure described above is fixed.
+  doCheck = false;
+
+  meta = {
+    description = "Hierarchical datasets for Python";
+    homepage = "http://www.pytables.org/";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/tarsnapper-path.patch b/pkgs/development/python-modules/tarsnapper-path.patch
new file mode 100644
index 00000000000..337ad49f971
--- /dev/null
+++ b/pkgs/development/python-modules/tarsnapper-path.patch
@@ -0,0 +1,20 @@
+diff --git a/src/tarsnapper/script.py b/src/tarsnapper/script.py
+index 737ac8d..52cc775 100644
+--- a/src/tarsnapper/script.py
++++ b/src/tarsnapper/script.py
+@@ -48,7 +48,7 @@ class TarsnapBackend(object):
+         """
+         ``arguments`` is a single list of strings.
+         """
+-        call_with = ['tarsnap']
++        call_with = ['@NIXTARSNAPPATH@']
+         for option in self.options:
+             key = option[0]
+             pre = "-" if len(key) == 1 else "--"
+@@ -499,4 +499,4 @@ def run():
+ 
+ 
+ if __name__ == '__main__':
+-    run()
+\ No newline at end of file
++    run()
diff --git a/pkgs/development/python-modules/virtualenv-change-prefix.patch b/pkgs/development/python-modules/virtualenv-change-prefix.patch
index d3e588bd1cd..958187f982f 100644
--- a/pkgs/development/python-modules/virtualenv-change-prefix.patch
+++ b/pkgs/development/python-modules/virtualenv-change-prefix.patch
@@ -1,8 +1,23 @@
-Without this patch `virtualenv --python=python2.7 .` fails with an error because it notices that the python readline.so is not in the same path as python2.7. I assume this is to avoid copying the wrong file on systems where it is possible to find incompatible libraries by accident. Adding "/nix/store" to the prefix fixes this problem. Unfortunately readline is still not available if you just run `virtualenv .`.
+Without this patch `virtualenv --python=python2.7 .` fails with an
+error because it notices that the python readline.so is not in the
+same path as python2.7. I assume this is to avoid copying the wrong
+file on systems where it is possible to find incompatible libraries by
+accident. Adding "/nix/store" to the prefix fixes this problem.
 
---- virtualenv-1.8.4/virtualenv.py        2013-01-16 23:43:37.583615220 +0100
-+++ virtualenv-1.8.4/virtualenv.py        2013-01-16 23:44:47.885973431 +0100
-@@ -1135,17 +1135,7 @@
+A sitecustomize.py is created in the virtualenv which makes libraries
+from the python specified by the --python argument available to the
+virtualenv. For example, this makes readline and sqlite3 available
+when a wrapped python is specified. If no --python argument is passed,
+it will only add the path to the python used when building
+`virtualenv`, which is the unwrapped python, so sqlite3 won't be
+available.
+
+
+diff --git a/virtualenv.py b/virtualenv.py
+index d3e76a7..cb307fa 100755
+--- a/virtualenv.py
++++ b/virtualenv.py
+@@ -1051,17 +1051,7 @@ def path_locations(home_dir):
  
  
  def change_prefix(filename, dst_prefix):
@@ -21,7 +36,7 @@ Without this patch `virtualenv --python=python2.7 .` fails with an error because
  
      if hasattr(sys, 'real_prefix'):
          prefixes.append(sys.real_prefix)
-@@ -1162,6 +1152,8 @@
+@@ -1078,6 +1068,8 @@ def change_prefix(filename, dst_prefix):
              if src_prefix != os.sep: # sys.prefix == "/"
                  assert relpath[0] == os.sep
                  relpath = relpath[1:]
@@ -30,3 +45,15 @@ Without this patch `virtualenv --python=python2.7 .` fails with an error because
              return join(dst_prefix, relpath)
      assert False, "Filename %s does not start with any of these prefixes: %s" % \
          (filename, prefixes)
+@@ -1190,6 +1182,11 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear, sy
+     site_filename_dst = change_prefix(site_filename, home_dir)
+     site_dir = os.path.dirname(site_filename_dst)
+     writefile(site_filename_dst, SITE_PY)
++    wrapper_path = join(prefix, "lib", py_version, "site-packages")
++    writefile(
++        join(site_dir, 'sitecustomize.py',),
++        "import sys; sys.path.append('%s')" % wrapper_path
++    )
+     writefile(join(site_dir, 'orig-prefix.txt'), prefix)
+     site_packages_filename = join(site_dir, 'no-global-site-packages.txt')
+     if not site_packages:
diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix
new file mode 100644
index 00000000000..9aa6148643b
--- /dev/null
+++ b/pkgs/development/python-modules/wxPython/3.0.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }:
+
+assert wxGTK.unicode;
+
+with stdenv.lib;
+
+let version = "3.0.0.0"; in
+
+stdenv.mkDerivation {
+  name = "wxPython-${version}";
+  
+  builder = ./builder3.0.sh;
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
+    sha256 = "af88695e820dd914e8375dc91ecb736f6fb605979bb38460ace61bbea494dc11";
+  };
+  
+  buildInputs = [ pkgconfig wxGTK (wxGTK.gtk) pythonPackages.python pythonPackages.wrapPython ]
+                ++ optional openglSupport pythonPackages.pyopengl;
+
+  inherit openglSupport;
+
+  passthru = { inherit wxGTK openglSupport; };
+}
diff --git a/pkgs/development/python-modules/wxPython/builder3.0.sh b/pkgs/development/python-modules/wxPython/builder3.0.sh
new file mode 100644
index 00000000000..7403c67d091
--- /dev/null
+++ b/pkgs/development/python-modules/wxPython/builder3.0.sh
@@ -0,0 +1,22 @@
+source $stdenv/setup
+
+flags="WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=${openglSupport?1:0} UNICODE=1"
+
+configurePhase() {
+    cd wxPython
+}
+
+buildPhase() {
+    python setup.py $flags build
+}
+
+installPhase() {
+    python setup.py $flags install --prefix=$out
+
+    # Ugly workaround for Nixpkgs/111.
+    ln -s $out/lib/python*/site-packages/wx-*-gtk2-unicode/* $out/lib/python*/site-packages
+    
+    wrapPythonPrograms    
+}
+
+genericBuild
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index 55e33c45ca9..dec94a912e0 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -1,33 +1,60 @@
-{ stdenv, fetchurl, qt48 }:
+{ stdenv, fetchurl, qtLib, sdkBuild ? false, withDocumentation ? true }:
+
+with stdenv.lib;
 
 let
-  baseVersion = "2.8";
+  baseVersion = "3.1";
   revision = "0";
   version = "${baseVersion}.${revision}";
-  qt4_for_qtcreator = qt48.override {
-    developerBuild = true;
-  };
 in
 
 stdenv.mkDerivation rec {
-  name = "qtcreator-${version}";
+  # The package name depends on wether we are just building the QtCreator package or the whole Qt SDK
+  # If we are building the QtCreator package: qtcreator-version
+  # If we are building the QtSDK package, the Qt version is also included: qtsdk-version-qt-version
+  name = "qt${if sdkBuild then "sdk" else "creator"}-${version}"
+    + optionalString sdkBuild "-qt-${qtLib.version}";
 
   src = fetchurl {
-    url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-${version}-src.tar.gz";
-    sha256 = "7ac5d9a36c2f561f74d77378d4eae95a78c7752b323e1df924d6e895e99f45d2";
+    url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
+    sha256 = "c8c648f4988b707393e0f1958a8868718f27e59263f05f3b6599fa62290c2bbf";
   };
 
-  buildInputs = [ qt4_for_qtcreator ];
+  # This property can be used in a nix development environment to refer to the Qt package
+  # eg: export QTDIR=${qtSDK.qt}
+  qt = qtLib;
+
+  # We must only propagate Qt (including qmake) when building the QtSDK
+  propagatedBuildInputs = if sdkBuild then [ qtLib ] else [];
+  buildInputs = if sdkBuild == false then [ qtLib ] else [];
 
   doCheck = false;
 
   enableParallelBuilding = true;
 
   preConfigure = ''
-    qmake -spec linux-g++ "QT_PRIVATE_HEADERS=${qt4_for_qtcreator}/include" qtcreator.pro
+    qmake -spec linux-g++ "QT_PRIVATE_HEADERS=${qtLib}/include" qtcreator.pro
   '';
 
-  installFlags = "INSTALL_ROOT=$(out)";
+  buildFlags = optionalString withDocumentation " docs";
+
+  installFlags = "INSTALL_ROOT=$(out)"
+    + optionalString withDocumentation " install_docs";
+
+  postInstall = ''
+    # Install desktop file
+    mkdir -p "$out/share/applications"
+    cat > "$out/share/applications/qtcreator.desktop" << __EOF__
+    [Desktop Entry]
+    Exec=$out/bin/qtcreator
+    Name=Qt Creator
+    GenericName=Cross-platform IDE for Qt
+    Icon=QtProject-qtcreator.png
+    Terminal=false
+    Type=Application
+    Categories=Qt;Development;IDE;
+    __EOF__
+  '';
 
   meta = {
     description = "Cross-platform IDE tailored to the needs of Qt developers";
@@ -38,7 +65,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://qt-project.org/wiki/Category:Tools::QtCreator";
     license = "LGPL";
-    maintainers = [ stdenv.lib.maintainers.bbenoist ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.bbenoist ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
new file mode 100644
index 00000000000..dcffbccb510
--- /dev/null
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -0,0 +1,5884 @@
+/* This file defines the composition for CRAN (R) packages.
+
+   It was generated automatically by the following R program:
+
+   | library(data.table)
+   | library(parallel)
+   | cl <- makeCluster(10)
+   | options(repos=structure(c(CRAN="http://cran.rstudio.com/")))
+   |
+   | nixPrefetch <- function(name, version) {
+   |     system(paste0("nix-prefetch-url 2>/dev/null http://cran.rstudio.com/src/contrib/", name, "_", version, ".tar.gz"), intern=TRUE)
+   | }
+   |
+   | formatPackage <- function(name, version, sha256, depends, imports, knownPackages) {
+   |     attr <- gsub(".", "_", name, fixed=TRUE)
+   |     if (is.na(depends)) depends <- "";
+   |     depends <- unlist(strsplit(depends, split="[ \t\n]*,[ \t\n]*", fixed=FALSE))
+   |     depends <- c(depends, unlist(strsplit(imports, split="[ \t\n]*,[ \t\n]*", fixed=FALSE)))
+   |     depends <- sapply(depends, gsub, pattern="([^ \t\n(]+).*", replacement="\\1")
+   |     depends <- depends[depends %in% knownPackages]
+   |     depends <- sapply(depends, gsub, pattern=".", replacement="_", fixed=TRUE)
+   |     depends <- paste(depends, collapse=" ")
+   |     paste0(attr, " = derive { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };")
+   | }
+   |
+   | clusterExport(cl, c("nixPrefetch"))
+   |
+   | pkgs <- as.data.table(available.packages(filters=c("R_version", "OS_type", "CRAN", "duplicates")))
+   | pkgs <- subset(pkgs, Repository=="http://cran.rstudio.com/src/contrib")
+   | pkgs$sha256 <- parApply(cl, pkgs, 1, function(p) nixPrefetch(p[1], p[2]))
+   | knownPackages <- unique(pkgs$Package)
+   |
+   | nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], knownPackages))
+   | cat(paste(nix, collapse="\n"), "\n", file="/tmp/r-packages.nix")
+*/
+
+{ pkgs, overrides }:
+
+let
+
+  inherit (pkgs) R fetchurl stdenv;
+
+  buildRPackage = import ./generic-builder.nix R;
+
+  derive = { name, version, sha256, depends ? [] }: buildRPackage {
+    name = "${name}-${version}";
+    src = fetchurl {
+      urls = [
+        "mirror://cran/src/contrib/${name}_${version}.tar.gz"
+        "mirror://cran/src/contrib/Archive/${name}/${name}_${version}.tar.gz"
+      ];
+      inherit sha256;
+    };
+    propagatedBuildInputs = depends;
+    meta.homepage = "http://cran.r-project.org/web/packages/${name}/";
+    meta.hydraPlatforms = R.meta.hydraPlatforms;
+  };
+
+in
+
+let self = _self // overrides; _self = with self; {
+
+  RcppArmadillo = buildRPackage {
+    name = "RcppArmadillo-0.4.320.0";
+    src = fetchurl {
+      url = "mirror://cran/src/contrib/RcppArmadillo_0.4.320.0.tar.gz";
+      sha256 ="0cicjn63w9awr9cd5wj09s2rsr83j7rn45cnqlflgx5wmh512jwm";
+    };
+    propagatedBuildInputs = [Rcpp];
+    patchPhase = "patchShebangs configure";
+    meta.hydraPlatforms = R.meta.hydraPlatforms;
+  };
+
+  /* Needed to add one more entry to depends: */
+  dplyr = derive { name="dplyr"; version="0.2"; sha256="04kby4n2qvngfdmpqarhizavpy9mr99zpwfxpknqbnbpbya5px1q"; depends=[assertthat Rcpp magrittr Lahman hflights BH]; };
+  png = derive { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[ pkgs.libpng ]; };
+
+  A3 = derive { name="A3"; version="0.9.2"; sha256="01s7znhph2mr3snpscci3y7nbcisa6kg6hy7im3742r6ah0z3jv7"; depends=[xtable pbapply]; };
+  abc = derive { name="abc"; version="2.0"; sha256="0fs6hxyk95c61mn3p642xs3ib9wfjii2v9a74pf488iaywc1kd7d"; depends=[nnet quantreg MASS locfit]; };
+  abcdeFBA = derive { name="abcdeFBA"; version="0.4"; sha256="1rxjripy8v6bxi25vdfjnbk24zkmf752qbl73cin6nvnqflwxkx4"; depends=[Rglpk rgl corrplot lattice]; };
+  ABCExtremes = derive { name="ABCExtremes"; version="1.0"; sha256="032bc9a6cxy4war95n8v4vaax3q96k2wryjbcipi3z55b2l8hdny"; depends=[SpatialExtremes combinat]; };
+  ABCoptim = derive { name="ABCoptim"; version="0.13.11"; sha256="1j2pbfl5g9x71gq9f7vg6wznsds8sn8dj3q2h5fhjcv58di3gjhl"; depends=[]; };
+  ABCp2 = derive { name="ABCp2"; version="1.1"; sha256="0s0lbwlc8nycm7b8vx0v01f8dmy91r1zqcj9zgrlj7dnpg4cpkml"; depends=[MASS]; };
+  abctools = derive { name="abctools"; version="0.3-2"; sha256="0l5gxrkxiq3ri9iqgy0swc8910c84zkskcr0lc57l3y0dmf90r7q"; depends=[abc abind pls plyr]; };
+  abd = derive { name="abd"; version="0.2-6"; sha256="0nlqgjmzpn715kg7pb4zz3rcrf11zd4inj7gam8mr8faf4b5qq2w"; depends=[nlme lattice mosaic]; };
+  abf2 = derive { name="abf2"; version="0.7-0"; sha256="0ybl7w8sjfghy8svbxj01q5ldfi05g1r24q9ah1nfca8xzby410n"; depends=[]; };
+  abind = derive { name="abind"; version="1.4-0"; sha256="0s7m7wv23z485fc0nb61svcszx0skxl3m8kiilrj506ndazk95hv"; depends=[]; };
+  abn = derive { name="abn"; version="0.83"; sha256="12nhk7hb26285pyyppl5289m7y8zvssnriyj84hlnz0ykar66mpi"; depends=[]; };
+  abundant = derive { name="abundant"; version="1.0"; sha256="0n2yvq057vq5idi7mynnp15cbsijyyipgbl4p7rqfbbgpk5hy3qb"; depends=[QUIC]; };
+  accelerometry = derive { name="accelerometry"; version="2.2.2"; sha256="04gajhx9xha6ks25s9lrn7q4i055bhfx8k7hfrbpwnn3hf5yyfag"; depends=[Rcpp]; };
+  AcceptanceSampling = derive { name="AcceptanceSampling"; version="1.0-3"; sha256="1camxmvz8prkvpf3d3rc07bnfphakwdlickqlr4sgzrs4k27rr4f"; depends=[]; };
+  ACCLMA = derive { name="ACCLMA"; version="1.0"; sha256="1na27sp18fq12gp6vxgqw1ffsz2yi1d8xvrxbrzx5g1kqxrayy0v"; depends=[]; };
+  accrual = derive { name="accrual"; version="1.0"; sha256="0gw418i9nlrm7nkg6d4m2icd4a04a7avqfjj7nidhl6vy4nflg3k"; depends=[fgui SMPracticals]; };
+  accrued = derive { name="accrued"; version="1.1"; sha256="1xmrlllh535wdcx6bcwl9hh2ps3ms4rdgal0ziq444rw2phxr48i"; depends=[]; };
+  ACD = derive { name="ACD"; version="1.5.3"; sha256="1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"; depends=[]; };
+  Ace = derive { name="Ace"; version="0.0.8"; sha256="0zjg6xwzd2lc555rviaq60rb1fq9vdf8cdazlf3c9m0i1pvz990i"; depends=[]; };
+  acepack = derive { name="acepack"; version="1.3-3.3"; sha256="17xfxjflc79y15hnrks3wina5irrggrxb9al9h5q0x1c401ds843"; depends=[]; };
+  acer = derive { name="acer"; version="0.1.2"; sha256="17x7281m2wa6a1pcga3xarg3infw5vygr7z068h8pqm30ix34ky4"; depends=[Rcpp]; };
+  aCGH_Spline = derive { name="aCGH.Spline"; version="2.2"; sha256="1ll045qgwl1170a4x93vj1xrn197l5ds648qasxlpnsm1a6svwas"; depends=[rJava]; };
+  acm4r = derive { name="acm4r"; version="1.0"; sha256="1wqzc35i1rshx0zlmas8y4qkkvy6h9r4i4apscjjv1xg2wjflzxa"; depends=[MASS]; };
+  ACNE = derive { name="ACNE"; version="0.7.0"; sha256="137xp69adhggz1wxzm5r95vcphrlrqpxsrz0gny59isx4xr28aal"; depends=[aroma_affymetrix MASS R_methodsS3 R_oo R_utils matrixStats R_filesets]; };
+  acopula = derive { name="acopula"; version="0.9.2"; sha256="1z8bs4abbfsdxfpbczdrf1ma84bmh7akwx2ki9070zavrhbf00cf"; depends=[]; };
+  acp = derive { name="acp"; version="1.0"; sha256="1i7ryk2scsvck5rg8gglfvqrkzbpn505g7cr7slxykp8wkyhwplm"; depends=[tseries]; };
+  aCRM = derive { name="aCRM"; version="0.1.1"; sha256="0kzp568hd9c9a9qgniia5s5gv0q5f89xfvvwpzb197gqhs3x092v"; depends=[dummies randomForest kernelFactory ada]; };
+  acs = derive { name="acs"; version="1.2"; sha256="1vw4ghqcz53m3qy7hy2j7nrdinbbqjpwvr1hsvglq31fq7wss3bd"; depends=[stringr plyr XML]; };
+  acss = derive { name="acss"; version="0.2-4"; sha256="0lndsmxrnwhqlw32zc89kpx9ajbg7pa51jck2fgwsrjh0j8gxmm0"; depends=[acss_data zoo]; };
+  acss_data = derive { name="acss.data"; version="1.0"; sha256="09kl4179ipr8bq19g89xcdi1xxs397zcx5cvgp6viy8gn687ilgv"; depends=[]; };
+  ACTCD = derive { name="ACTCD"; version="1.0-0"; sha256="0zn8f6l5vmn4w1lqjnpcxvfbr2fhwbhdjx4144h3bk71bk9raavl"; depends=[R_methodsS3]; };
+  Actigraphy = derive { name="Actigraphy"; version="1.2"; sha256="02xxmzjqym46q0fzddmy29i8la9knrna3b46y8849nmbpqvmp3qn"; depends=[fda lattice SDMTools]; };
+  actuar = derive { name="actuar"; version="1.1-6"; sha256="0f0zvk4a3rni656jfml2nqb3h3amks3g4aczp8j2x01ywwmazqr9"; depends=[]; };
+  ActuDistns = derive { name="ActuDistns"; version="3.0"; sha256="04rff9czcgac80clpv32a1dl0jbyvfsa7wqxyywgk99w672x50i2"; depends=[reliaR actuar hypergeo]; };
+  ada = derive { name="ada"; version="2.0-3"; sha256="1c0nj9k628bcl4r8j0rmyp5f1igdjq6qhjxyif6575fvn2gdzmbw"; depends=[rpart]; };
+  adabag = derive { name="adabag"; version="3.2"; sha256="1ijr5i5p8sf2cq7cgiwh0qk3c4wxagk6r06a2vrjy76d262m1060"; depends=[rpart mlbench caret]; };
+  adagio = derive { name="adagio"; version="0.5.9"; sha256="1yp9w557advb7dzrdqwkffpdmhn6mk4879lrrjd0d6kv89fwz5yr"; depends=[]; };
+  AdapEnetClass = derive { name="AdapEnetClass"; version="1.0"; sha256="0m8wg515djdpkq5lv8nkcny9s2iq9ym092jd99nysazqw0qy6a8r"; depends=[imputeYn glmnet lars]; };
+  AdaptFit = derive { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[SemiPar MASS nlme cluster]; };
+  AdaptFitOS = derive { name="AdaptFitOS"; version="0.54"; sha256="0h9jfq9mk5wd6v6an40l3sk2adn6fcaks22bi8d9s7zr2ldpzrjq"; depends=[SemiPar nlme MASS mgcv]; };
+  AdaptiveSparsity = derive { name="AdaptiveSparsity"; version="1.4"; sha256="1az7isvalf3kmdiycrfl6s9k9xqk22k1mc6rh8v0jmcz402qyq8z"; depends=[Rcpp]; };
+  adaptivetau = derive { name="adaptivetau"; version="2.1"; sha256="0q8i9gxybv1xyyxvrppr00jmhg80n0iphwlsqjdp34dd0y8ksx4m"; depends=[]; };
+  adaptMCMC = derive { name="adaptMCMC"; version="1.1"; sha256="1y1qxn3qm59nyy9ld5x30p452yam7b2fyl236b14xvpm8g3xx1fa"; depends=[coda Matrix]; };
+  adaptsmoFMRI = derive { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[Matrix coda mvtnorm MCMCpack spatstat]; };
+  adaptTest = derive { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; };
+  additivityTests = derive { name="additivityTests"; version="1.1-2"; sha256="0ijk91whhsb7nm1ax9wpfw9qgxfb1bvg2cq939m81gvk09kzrvgz"; depends=[]; };
+  ade4 = derive { name="ade4"; version="1.6-2"; sha256="0h136nhfqrapwscm3c7frlcynrfxb9x8gmd1s44gaa8m25rjgdqf"; depends=[]; };
+  ade4TkGUI = derive { name="ade4TkGUI"; version="0.2-6"; sha256="010ggsxcmljh0cdba4lcfnsd9r49pwqs6kbw88syfn2qv65hh5kq"; depends=[ade4]; };
+  adegenet = derive { name="adegenet"; version="1.4-2"; sha256="13fglxy40rnwi5hsmmvwlfcvfn8dybxyy3k5qhpml8jgpbl3fsdb"; depends=[ade4 MASS igraph ape shiny ggplot2]; };
+  adehabitat = derive { name="adehabitat"; version="1.8.14"; sha256="048jp9408x80akfnxqpyhhlzl2f89axsc90vr8cgqkimlg6h6xjh"; depends=[ade4 tkrplot shapefiles sp]; };
+  adehabitatHR = derive { name="adehabitatHR"; version="0.4.11"; sha256="1llpmpfax9846v3s2finyq9x97hyi87148jx83phzjl7daag3qn1"; depends=[sp deldir ade4 adehabitatMA adehabitatLT]; };
+  adehabitatHS = derive { name="adehabitatHS"; version="0.3.9"; sha256="0jv7470z1m219q5paw8cglx3d5l99iagkpm24v6q0xgdffvcq94l"; depends=[sp ade4 adehabitatMA adehabitatHR]; };
+  adehabitatLT = derive { name="adehabitatLT"; version="0.3.16"; sha256="1rav2q1n1ahrj2iik93rqc52c1gcxha5idrh7rfds0qb15jpmsvh"; depends=[sp ade4 adehabitatMA CircStats]; };
+  adehabitatMA = derive { name="adehabitatMA"; version="0.3.8"; sha256="1j3ngry7qyhl4p5m02bgdynixb0v9hd5nbjs6ndfqw23layh8yig"; depends=[sp]; };
+  adephylo = derive { name="adephylo"; version="1.1-6"; sha256="1sk639gmk3cs711xn68mx18r28kjd1pychcg89qlki03y1hnxg7j"; depends=[ade4 phylobase ape adegenet]; };
+  AdequacyModel = derive { name="AdequacyModel"; version="1.0.8"; sha256="1bpb6lwgkh5g82h4yaf5dh2jbl6f0vz36k22538rhb3kdld6w0i3"; depends=[]; };
+  ADGofTest = derive { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; };
+  adhoc = derive { name="adhoc"; version="1.0"; sha256="193adddarjkc2kk1xncfkm919s1lkmc1yzgyz9793p74nqmfsj0a"; depends=[spider ape polynom]; };
+  adimpro = derive { name="adimpro"; version="0.7.8"; sha256="06zwdgl7g4azg2mn7p35may8hsjcvf2dz7dj86zqngjspda123s4"; depends=[]; };
+  adlift = derive { name="adlift"; version="1.3-2"; sha256="0nzg16vhm5qg3xzczi3f6cynvp9ym2jsfrc4fdyxq7bwp9kry2i4"; depends=[EbayesThresh]; };
+  ADM3 = derive { name="ADM3"; version="1.3"; sha256="1hg9wjdhckilqd13dr4cim4j6jsh2sdwm18i3pfmfdj8cyswm3h0"; depends=[]; };
+  AdMit = derive { name="AdMit"; version="2.0.1"; sha256="0bqzq2pf5449qyr8ff5d3sq0lbsph29ppv6zzf1rbjz06sc5d6ff"; depends=[mvtnorm]; };
+  ads = derive { name="ads"; version="1.5-2.1"; sha256="1jwgk48qypg36v53kj7wy5rcz059p1qg8awm3nf7xngrb2zff6h3"; depends=[ade4 spatstat]; };
+  aemo = derive { name="aemo"; version="0.1.0"; sha256="1iik0rrqkkx9n1qb1pvq5iwxqmvs6vnx8z80hdzb5vqq0lvi1bsx"; depends=[dplyr stringr assertthat lubridate]; };
+  AER = derive { name="AER"; version="1.2-2"; sha256="0ny9khzqxzx4npaqmknhpi3aldz11ipg71zw4skxphclamlsgp86"; depends=[car lmtest sandwich survival zoo Formula]; };
+  afex = derive { name="afex"; version="0.10-113"; sha256="19fr444dy50d6psfc84qqkc04fp792jb7nxrv5b29q8j1yznkqnq"; depends=[car lme4 pbkrtest reshape2 stringr coin Matrix]; };
+  AFLPsim = derive { name="AFLPsim"; version="0.3-3"; sha256="1vknmd98v65118c093gqpfckcggnk4c8rn6bblsaclwmx0jdi78s"; depends=[adegenet introgress]; };
+  aftgee = derive { name="aftgee"; version="0.4-3"; sha256="0r1fq3n28hfkdih6a2nyz5vy832fsxxs0fr2zlml6cikpbay8zqx"; depends=[MASS BB survival geepack]; };
+  AGD = derive { name="AGD"; version="0.30"; sha256="175hsii3g8vx5ms552wnh1hcn3p6hgfggv1zi5gpwlsc0i875iag"; depends=[gamlss]; };
+  agop = derive { name="agop"; version="0.1-3"; sha256="02yc7n8avg69750cnc1prvp2fnz964sfc7vggxfyyqrig9q5ppyq"; depends=[Matrix igraph]; };
+  agRee = derive { name="agRee"; version="0.3-1"; sha256="1gqbhv44z1r9m54fmrg0frnzsgsp13v5ppmzpv28frz9d8x7sxx6"; depends=[miscF lme4 R2jags]; };
+  Agreement = derive { name="Agreement"; version="0.8-1"; sha256="1g29rxr8xsr0dh2r6c6j2bqs0q6snz9wz0hrnb92cxj27ili55yq"; depends=[R2HTML]; };
+  agricolae = derive { name="agricolae"; version="1.2-0"; sha256="1r9x6skkim25qp50xzg3jmv8hibpnr5kig4dqaycc6xki49pps50"; depends=[]; };
+  agridat = derive { name="agridat"; version="1.9"; sha256="0ip8ln0hxx2ax21hhrxnksvkzw6mfwhvxfgj7xph5insly3x9h88"; depends=[lattice reshape2]; };
+  agrmt = derive { name="agrmt"; version="1.31"; sha256="0s0av1fg9aswkyj1vzr6fng53r5cnkfb3x0n46zrkb1fgb5fwdgm"; depends=[]; };
+  AGSDest = derive { name="AGSDest"; version="2.1"; sha256="1l36x3sjb0732aic2y4yrvx64phii1xjfzr4nc3x9b2crr988n0g"; depends=[ldbounds]; };
+  agsemisc = derive { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
+  ahaz = derive { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[survival Matrix]; };
+  AICcmodavg = derive { name="AICcmodavg"; version="2.00"; sha256="1k156yziqd376mkcyz94c76a3rpmf8afgxdy9rn3dgalxfkb0rx6"; depends=[]; };
+  AID = derive { name="AID"; version="1.4"; sha256="1wj2jmqla0b2y9hrvl5i69bncdx1xjdd7if69j6dy1dnxv6clx1z"; depends=[MASS tseries nortest]; };
+  aidar = derive { name="aidar"; version="1.0.0"; sha256="01vs14bz4k504q5lx65b60kyi7hgvjdmib8igiipjmg4snwh8hdk"; depends=[XML]; };
+  AIM = derive { name="AIM"; version="1.01"; sha256="11lkfilxk265a7jkc1wq5xlgxa56xhg302f1q9xb7gmjnzdigb21"; depends=[survival survival]; };
+  akima = derive { name="akima"; version="0.5-11"; sha256="17n7iiwybwanvm5mflb1f2xx1gnw1pcmfsnl1f82afixpalbs0gh"; depends=[]; };
+  akmeans = derive { name="akmeans"; version="1.1"; sha256="1nqbxbx583n0h2zmpy002rlmr6j86j6bg76xj5c69brrh59dpyw1"; depends=[]; };
+  alabama = derive { name="alabama"; version="2011.9-1"; sha256="05c1a8707akwy39n2gjg3ahdp9xdkl18a32wdchw60f0h4ixqfdi"; depends=[numDeriv]; };
+  ALDqr = derive { name="ALDqr"; version="0.5"; sha256="0294d6cjfl5m63jhrv4rbh7npwrbmmw5101jz5bbwihhj94qcxp9"; depends=[HyperbolicDist]; };
+  aLFQ = derive { name="aLFQ"; version="1.3.1"; sha256="0i351xa5x3sn0li5qway0wjhifvf9jfjb7hxk5vw13gzn0cq9sd5"; depends=[data_table plyr caret seqinr]; };
+  AlgDesign = derive { name="AlgDesign"; version="1.1-7.2"; sha256="1c0hxg02dzjnns6awwsfaa5sc00x4zkc5jmsdz5vssjkliviwm9k"; depends=[]; };
+  ALKr = derive { name="ALKr"; version="0.5.3.1"; sha256="09df3vx2q0sn8fwz2cc9lckzwrf2hgbglzyn376d6nkrm6gq792a"; depends=[MASS Rcpp]; };
+  allan = derive { name="allan"; version="1.01"; sha256="02bv9d5ywbq67achfjifb3i7iiaaxa8r9x3qvpri2jl1cxnlf27m"; depends=[biglm]; };
+  allanvar = derive { name="allanvar"; version="1.0"; sha256="0wpywdr15gb49m9kxrpjfsxlxrm4hwm46x42k8dgc6sihfsqbm22"; depends=[gplots]; };
+  alleHap = derive { name="alleHap"; version="0.7.2"; sha256="1x10grrv732a0iidr2c96vbl46553njhvvlq249jxn3y11lfq2gv"; depends=[gtools]; };
+  allelematch = derive { name="allelematch"; version="2.03"; sha256="1dmalyljsmf7njr6fj8bcjii13swvh89dj3r1mp2xxf1r0p6jry8"; depends=[dynamicTreeCut]; };
+  AlleleRetain = derive { name="AlleleRetain"; version="1.3.1"; sha256="1k2iwns1wk5n02cii6p9prgdb6asys3vwiq5dq2i26fk2xr6j4gq"; depends=[]; };
+  allelic = derive { name="allelic"; version="0.1"; sha256="0xs4kd3vqb5ph8kqc3lcqgirrdkz8b627pvnczvci2g0sr3cl18j"; depends=[]; };
+  AllPossibleSpellings = derive { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; };
+  alm = derive { name="alm"; version="0.1.9"; sha256="13i5f9b8bz6chdczlwfd3ka3mvn3i87jgpr2b6df03yc1vd9z25v"; depends=[ggplot2 RCurl plyr stringr reshape reshape2 httr RJSONIO lubridate]; };
+  alphahull = derive { name="alphahull"; version="1.0"; sha256="0k3n9l4vbvpmdb4m37y1ynsiv27l8b5fmm6l35sazlfbbinhzwc1"; depends=[tripack sgeostat splancs]; };
+  alphashape3d = derive { name="alphashape3d"; version="1.1"; sha256="1hfxvzqgirc587vxyggxdqii90nvypzi3wddvd2zdw2h95v9kfyg"; depends=[geometry rgl]; };
+  alr3 = derive { name="alr3"; version="2.0.5"; sha256="0zrrsv2kjq3cky3bhk6gp32p1qpr1i5k2lx7c1w08bql0nb1x740"; depends=[car]; };
+  alr4 = derive { name="alr4"; version="1.0.3"; sha256="1m73b626fljfs96wvv1v627v48qilq5dyi5clqn8b4a5lyjjs2mg"; depends=[car effects]; };
+  ALS = derive { name="ALS"; version="0.0.5"; sha256="1ryviknpf7c0v20bmc40khhmx51b83hbh9q9iwz9d694by51xryc"; depends=[nnls Iso]; };
+  ALSCPC = derive { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; };
+  amap = derive { name="amap"; version="0.8-12"; sha256="0z7c5lrwqvjcnjm48zq2ifyx089fabvwf1zz17qlxq44i8xzpx8j"; depends=[]; };
+  AMAP_Seq = derive { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; };
+  amei = derive { name="amei"; version="1.0-7"; sha256="0dyx6a1y5i0abwka0y89d0mpj55rm5ywb4r9c2mqmy43djp181hn"; depends=[]; };
+  Amelia = derive { name="Amelia"; version="1.7.2"; sha256="1zmaqnjqam8f4spdgy9gfvd5r0a48amvlsqdpdq9zwn7sq7702jj"; depends=[foreign Rcpp RcppArmadillo]; };
+  amen = derive { name="amen"; version="0.999"; sha256="1p9ma31bzrxylcgi43nk44bq0cg4xgk9fzmxw2dpqz33x4xlrfiq"; depends=[]; };
+  AmericanCallOpt = derive { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
+  AMGET = derive { name="AMGET"; version="1.0"; sha256="18wdzzg5wr7akbd1iasa4mvmy44fb2n5gpghwcrx80knnicy3dxq"; depends=[]; };
+  aml = derive { name="aml"; version="0.1-1"; sha256="09xxlxp784wlb561apns3j8f2h9pfk497cy5pk8wr4hhqqv4d3al"; depends=[lars]; };
+  AMOEBA = derive { name="AMOEBA"; version="1.0"; sha256="0iaznr19hdi40mkj82ai4r83b8whvvzmbiba0kwkp2g8g38a5brk"; depends=[snowfall rlecuyer spdep]; };
+  AMORE = derive { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; };
+  AmpliconDuo = derive { name="AmpliconDuo"; version="1.0"; sha256="0l6p5c2802a1f3b77cdrrk3wdf41926mh34630p462fb3wqipps0"; depends=[ggplot2 xtable]; };
+  anacor = derive { name="anacor"; version="1.0-4"; sha256="13f5cnna7vdimv4mxmjj21alxjzi1rk0hksajfy2m0b3yn2vl612"; depends=[rgl scatterplot3d fda colorspace car]; };
+  anaglyph = derive { name="anaglyph"; version="0.1-1"; sha256="1a9c7rl7r2sgl230mcwqnmxjqba8skycdhi09i834qaw2h9qd4k5"; depends=[]; };
+  analogue = derive { name="analogue"; version="0.12-0"; sha256="16bdrvhk4ivq43lfl7pncrwzjdsvwqj8d3j2krskmpdh9qc3sq65"; depends=[vegan lattice rgl mgcv MASS brglm princurve]; };
+  AnalyzeFMRI = derive { name="AnalyzeFMRI"; version="1.1-16"; sha256="1mbjb682ns5230jd3vcvd6x4gnn9hpbmjd7r8120y4sp2g733b0f"; depends=[R_matlab fastICA]; };
+  anametrix = derive { name="anametrix"; version="1.6"; sha256="14xrrnvz7jn1jqds48l5pvzlx6hsaxrjc932lqnvv70sfypinjkm"; depends=[RCurl XML pastecs]; };
+  anapuce = derive { name="anapuce"; version="2.2"; sha256="0qs27as628090k3sq5b14l90g7qdp23d0jz5lb1wxsgi3ji0f7qj"; depends=[]; };
+  AncestryMapper = derive { name="AncestryMapper"; version="1.1"; sha256="0nc9iacdgmdda9d9ga9mn0dvmv8d1571sblifqdrz35p5yl7fr0g"; depends=[]; };
+  anchors = derive { name="anchors"; version="3.0-8"; sha256="12gd2526y7s2a8i6b9xma2c3sc6zxnwzl6sn8b50hbxizwr8d34j"; depends=[rgenoud MASS]; };
+  AnDE = derive { name="AnDE"; version="1.0"; sha256="1yil8ab50wvlqmdla9kmfba8vfgy5r694r6igb58s6vnmld78yf2"; depends=[discretization functional foreign stringr]; };
+  andrews = derive { name="andrews"; version="1.0"; sha256="130i86qkdy1xpcf611jpzqgmd17iik7j7spdcfwzk48f31biyp8v"; depends=[]; };
+  anesrake = derive { name="anesrake"; version="0.70"; sha256="17127rmjfrdwnr2m6205cci3b0kd9girp82qranxwac4mgb7p7ld"; depends=[Hmisc]; };
+  Animal = derive { name="Animal"; version="1.04"; sha256="0hahvq1x81s0qmr58jv6q96jnc8lzn4ycljd8adhpgsx3wn8s7mq"; depends=[]; };
+  animalTrack = derive { name="animalTrack"; version="1.0.0"; sha256="0jlvfflpaq64s48sblzh1n1vx8g3870iss97whigri29s6hn79ry"; depends=[rgl]; };
+  animation = derive { name="animation"; version="2.3"; sha256="1hqgkaxmyyfrx7cfzv00010r9l2n8gxm35jd41p3kc208mhd7ssp"; depends=[]; };
+  AnnotLists = derive { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; };
+  anoint = derive { name="anoint"; version="1.3"; sha256="0hwvwd6ghxhkfymf124igski8l98k29pj3ahi5mflm8gv0qan92g"; depends=[survival glmnet MASS]; };
+  anominate = derive { name="anominate"; version="0.4"; sha256="00cqwlka33aqr3jks1fsxizwdlrfmv5w5bpnkzknhgz70l60h38n"; depends=[wnominate oc pscl MCMCpack]; };
+  AnthropMMD = derive { name="AnthropMMD"; version="0.9.9"; sha256="10wn0fkcli5yz3fhngsz8sg1mfllqkvjrpjggd9qynay2zrpiw1n"; depends=[tcltk2]; };
+  Anthropometry = derive { name="Anthropometry"; version="1.0"; sha256="1cvq06hyxcgg95n21bi22csdgc6l6av78bvz7r7qdsl7wffddk0w"; depends=[shapes rgl archetypes nnls depth FNN ICGE cluster]; };
+  antitrust = derive { name="antitrust"; version="0.94"; sha256="1k768lmx5vv069bd9fzly1205rxr9mkqi1p8jjx67kwmyhhw5sd2"; depends=[MASS evd BB numDeriv ggplot2]; };
+  AntWeb = derive { name="AntWeb"; version="0.6.1"; sha256="1m4r7zx6mmxwdf1ldwmqad2lzc9kw150l0b3z2994nvcx36r4cj4"; depends=[rjson plyr assertthat httr leafletR]; };
+  aod = derive { name="aod"; version="1.3"; sha256="1a6xs5d5289w69xd2salsxwikjjhjzvsnplqrq78b1sr6kzfyxz3"; depends=[]; };
+  aods3 = derive { name="aods3"; version="0.4-1"; sha256="074c16wmgd1vc2yvwx1y84bg55hvmm5yi8zgpwh51jcsbqlhbpgn"; depends=[lme4 boot]; };
+  AOfamilies = derive { name="AOfamilies"; version="1.01"; sha256="0v3b83k12lsrdcrkjl2ff38d0g8sbrnm5pmm9xphyrk3lfgap76k"; depends=[lqmm quantreg]; };
+  aoristic = derive { name="aoristic"; version="0.5"; sha256="0hvq6qf5ib7x7c7jg9qbsglhazvbr5rkhfi1r43h4i2fhdvymhrn"; depends=[ggplot2 spatstat GISTools lubridate classInt reshape2 rgdal plotKML]; };
+  apcluster = derive { name="apcluster"; version="1.3.5"; sha256="1hckvir43s0jshn9kiwqmpsnav04lxv060l6xlf60a8yk5zf1cqs"; depends=[Rcpp]; };
+  ape = derive { name="ape"; version="3.1-4"; sha256="04vkzbqjy89vs2n421ji2r4p60x5frjnlgpjp42k9n5x295hb89s"; depends=[nlme lattice]; };
+  aplpack = derive { name="aplpack"; version="1.2.9"; sha256="024q0vsimhr3cj4fz2x10hf7mm89psn8f04j013qas7wdsixkswk"; depends=[]; };
+  apmsWAPP = derive { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[seqinr gtools]; };
+  appell = derive { name="appell"; version="0.0-4"; sha256="0g7pzhxqgscnyf07xycbrpyimp1z1hljgcr3nqigpx09w7zi5wlw"; depends=[]; };
+  apple = derive { name="apple"; version="0.3"; sha256="194z2f6hwdjjxdkjwlmfhpfp26p9yp3gparklhdbb6zlb4a9nnhz"; depends=[MASS]; };
+  AppliedPredictiveModeling = derive { name="AppliedPredictiveModeling"; version="1.1-6"; sha256="004d2k3mhl45inb7kx1ph8xc8h9bgm7f7l3prmvqrl5792400cn4"; depends=[CORElearn MASS plyr reshape2]; };
+  approximator = derive { name="approximator"; version="1.2-6"; sha256="165qvx5946wkv1qsgbmjhmwvik7m23r1vbpnp7claylflgj1ycnm"; depends=[emulator]; };
+  aprof = derive { name="aprof"; version="0.2.1"; sha256="0lsni1p9gpfgsbqs1lrp4bs6ckvp02hny0k1v6q6rj2zp6silwa2"; depends=[]; };
+  APSIMBatch = derive { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; };
+  apsimr = derive { name="apsimr"; version="0.1"; sha256="03j1g16drch5xkxb86czxmihs9a96f0v2kxjp73k7vig9md625dy"; depends=[ggplot2 XML lubridate reshape2]; };
+  apsrtable = derive { name="apsrtable"; version="0.8-8"; sha256="1qmm89npjgqij0bh6p393wywl837lfsshp2mv9b5izh1sg2qfwvw"; depends=[]; };
+  apt = derive { name="apt"; version="2.2"; sha256="0y4wv8pxi1n98ji0yy1jy0lhdwjb2b95h10mpj4vqf24dlx61z10"; depends=[erer gWidgets car urca copula]; };
+  apTreeshape = derive { name="apTreeshape"; version="1.4-5"; sha256="0mvnjchhfbpbnrgnplb6qxa7r2kkvw29gqiprwggkf553wi6zl48"; depends=[ape quantreg]; };
+  aqfig = derive { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; };
+  aqp = derive { name="aqp"; version="1.7"; sha256="034lxhssn98rkcvwyycqcpppabm4xi89kr19d8ydj74dfgbhyx1z"; depends=[plyr reshape lattice cluster sp Hmisc stringr scales plotrix RColorBrewer]; };
+  aqr = derive { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[xts RCurl]; };
+  AquaEnv = derive { name="AquaEnv"; version="1.0-3"; sha256="1hkygw09w70im9f6l6q5yxk86mdl5pkczqfqrwc4wl1yhz7z1gjb"; depends=[minpack_lm deSolve]; };
+  AR1seg = derive { name="AR1seg"; version="1.0"; sha256="0v9adx5wj9r4jwl3bqqmj0byiqfp585jz013qfqrq601wj8v4zi3"; depends=[Segmentor3IsBack]; };
+  ARAMIS = derive { name="ARAMIS"; version="1.0.1"; sha256="12bsn5lpb9cv0py1ymbqhbnjrpisf09yixpnqbazsmrz7lrin079"; depends=[MASS LearnBayes]; };
+  archdata = derive { name="archdata"; version="0.1"; sha256="1k7cpqwgvkwfz25a9db0c8g6ii6xsbhkj3c9alghhaafs7x8n47w"; depends=[]; };
+  archetypes = derive { name="archetypes"; version="2.2-0"; sha256="1djzlnl1pjb0ndgpfj905kf9kpgf9yizrcvh4i1p6f043qiy0axf"; depends=[modeltools nnls]; };
+  ArDec = derive { name="ArDec"; version="2.0"; sha256="14niggcq7xlvpdhxhy8j870gb11cpk4rwn9gwsfmcfvh49g58i80"; depends=[]; };
+  arf3DS4 = derive { name="arf3DS4"; version="2.5-10"; sha256="12cbrk57c9m7fj1x7nfmcj1vp28wj0wymsjdz8ylxhm3jblbgmxc"; depends=[corpcor]; };
+  arfima = derive { name="arfima"; version="1.2-6"; sha256="1xdcvfaaza3bn5p5yhafqh67018z260aqp9gwwnw1nrrmz7fsh2h"; depends=[ltsa]; };
+  argosfilter = derive { name="argosfilter"; version="0.63"; sha256="0rrc2f28hla0azw90a5gk3zj72vxhm1b6yy8ani7r78yyfhgm9ig"; depends=[]; };
+  argparse = derive { name="argparse"; version="1.0.1"; sha256="03p8dpwc26xz01lfbnmckcx6wzky43dyq71085b0anzsavgx0786"; depends=[proto findpython getopt rjson]; };
+  argparser = derive { name="argparser"; version="0.1"; sha256="0x4wm8hjzb779pp39v8q210npg7kzh9m8wwqmd17aaqaa3l2al9f"; depends=[]; };
+  arm = derive { name="arm"; version="1.7-05"; sha256="1cpgbhp7pz1m9r40ia08hi2mdl87ar9m1h72cldvajq0imlckcrl"; depends=[MASS Matrix lme4 abind coda nlme]; };
+  arnie = derive { name="arnie"; version="0.1.2"; sha256="14xkgyfn9zvkbgram15w7qzqc5pl1a8ig66cif7a79najrgd914r"; depends=[]; };
+  aroma_affymetrix = derive { name="aroma.affymetrix"; version="2.12.0"; sha256="1r3ywi97xqvk6dif7kkc3gqapiydd2sbq0ibxs1qf6s2v236d71r"; depends=[R_utils aroma_core R_methodsS3 R_oo R_cache R_filesets aroma_apd MASS matrixStats]; };
+  aroma_apd = derive { name="aroma.apd"; version="0.5.0"; sha256="1pi4k7psrc120r8mn352vg60mjvbnm1f56dm9svfxfyl0qhcfd00"; depends=[R_methodsS3 R_oo R_utils R_huge]; };
+  aroma_cn = derive { name="aroma.cn"; version="1.5.0"; sha256="1aih11r3gs969ci5gs7x7z5pia51y75iy559y23cz40q2qsq4ikc"; depends=[R_utils aroma_core R_methodsS3 R_oo R_filesets R_cache matrixStats PSCBS]; };
+  aroma_core = derive { name="aroma.core"; version="2.12.1"; sha256="1rg7m9z2j9hn0adj407amyabyh6jhpgip51zd8fb8rplzgbkrm7s"; depends=[R_utils R_filesets R_devices R_methodsS3 R_oo R_cache R_rsp matrixStats RColorBrewer PSCBS]; };
+  ARPobservation = derive { name="ARPobservation"; version="1.0"; sha256="0m9sr0pgwzndia2286fmhlw7xsyn3pvy0044xlp5sw3i3gqhv39f"; depends=[]; };
+  aRpsDCA = derive { name="aRpsDCA"; version="1.0.0"; sha256="035888scbl5333sz25f9n6xh1zis7l2752p4nhsbs2g44q38l9h6"; depends=[]; };
+  ArrayBin = derive { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[]; };
+  arrayhelpers = derive { name="arrayhelpers"; version="0.76-20120816"; sha256="1q80dykcbqbcigv2f9xg1brfm3835i0zvs0810q6kh682a3hpqbi"; depends=[]; };
+  ars = derive { name="ars"; version="0.4"; sha256="0ynciw8n2jpqi40gsrj189419vgr1lgs9wridh09nj7n451b4kvg"; depends=[]; };
+  ARTIVA = derive { name="ARTIVA"; version="1.2.2"; sha256="1k51yfh2xxchbiq9b64llc3sp330kh30lai75fgnbycwynkpsk5m"; depends=[MASS igraph gplots]; };
+  ARTP = derive { name="ARTP"; version="2.0.4"; sha256="1f6ay9lyaqsc33b0larb8v6imp5adaycya84wif2sg32rv4gx3yl"; depends=[]; };
+  arules = derive { name="arules"; version="1.1-4"; sha256="0i2s706rm6bbzqxb0vfqq14m9zr4djyjjkvsqgrqbsvwgp8i29zk"; depends=[Matrix]; };
+  arulesNBMiner = derive { name="arulesNBMiner"; version="0.1-4"; sha256="05vj7pzzh84xr6d0m16dhzr7bw50hkiyq99vl46zinak648my338"; depends=[arules rJava]; };
+  arulesSequences = derive { name="arulesSequences"; version="0.2-6"; sha256="1fvph6c8dy3hj0h63h85bzzzka8dx0cc0lcncz9svyahy1j4q3z0"; depends=[arules]; };
+  arulesViz = derive { name="arulesViz"; version="0.1-9"; sha256="1s1hsf64fg32r3p1h8bvzbpr7a28szdh9hs7ck9qykh2s93xh12z"; depends=[arules scatterplot3d vcd seriation igraph]; };
+  asbio = derive { name="asbio"; version="1.0-5"; sha256="1wvg8j9hlla9z9di4qinmkn9d8wmindiqxa3jgdqx6srlwdx1b09"; depends=[scatterplot3d pixmap tkrplot plotrix mvtnorm deSolve lattice]; };
+  ascii = derive { name="ascii"; version="2.1"; sha256="19dfbp7k4bjxjn8wdzhbmz7g3za6gn8vcnd5qkm4dz7gg1fg7b8p"; depends=[]; };
+  ascrda = derive { name="ascrda"; version="1.15"; sha256="17anzlhcjmrk13s5gs752rsc735y5wvba6r3w1nbv0cnkpnyk8i7"; depends=[class nnet rda MASS sfsmisc e1071 pamr]; };
+  asd = derive { name="asd"; version="2.0"; sha256="1nnsbh6g0bhvhp6644zf2l6frr3qnls0s7y7r0g211b5zagq20z3"; depends=[mvtnorm]; };
+  ash = derive { name="ash"; version="1.0-14"; sha256="15x16ld25i160asqf4z4difa6zn2yfgl04j8y8nqb0djymdx7a1f"; depends=[]; };
+  aspace = derive { name="aspace"; version="3.2"; sha256="1g51mrzb6amafky2kg2mx63g6n327f505ndhna6s488xlsr1sl49"; depends=[splancs Hmisc shapefiles]; };
+  aspect = derive { name="aspect"; version="1.0-2"; sha256="1p06vglsj2z0qal3sacjfm6cr9vb3jidk1c1rsmwy4cfv7dzh58n"; depends=[]; };
+  assertive = derive { name="assertive"; version="0.1-8"; sha256="0j1phpx2w34rdjaar3fqhp0rsvdlidvw2irfazbh9955mdn2cwq1"; depends=[]; };
+  assertthat = derive { name="assertthat"; version="0.1"; sha256="0dwsqajyglfscqilj843qfqn1ndbqpswa7b4l1d633qjk9d68qqk"; depends=[]; };
+  AssetPricing = derive { name="AssetPricing"; version="1.0-0"; sha256="12v8hmmknkp472x406zgzwjp7x8sc90byc3s3dvmwd5qhryxkkix"; depends=[polynom deSolve]; };
+  AssotesteR = derive { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
+  aster = derive { name="aster"; version="0.8-30"; sha256="0vdlimkkmd9ar5v3xrbi9gshvj980l7641brd7cqs78sqf0v71fn"; depends=[trust]; };
+  aster2 = derive { name="aster2"; version="0.1"; sha256="1qbh1l2cnhvdfxaw1bv8cpj96nv03g155b1xh1vdigniwc04mssw"; depends=[]; };
+  astro = derive { name="astro"; version="1.1"; sha256="15xxa3ynlgk6dhlb1z9lwvf9jqvfw9ghkl7rjbdcrvc52b92nwd3"; depends=[MASS plotrix]; };
+  astrochron = derive { name="astrochron"; version="0.3.1"; sha256="0anm8k31kgvbdkzid2f9mg7ivdrihwb6g1i82jqpljbwvmkp0fmw"; depends=[baseline multitaper fields]; };
+  astroFns = derive { name="astroFns"; version="4.1-0"; sha256="0g5q0y067xf1ah91b4lg8mr9imj0d6lgig7gbj3b69fn335k363g"; depends=[]; };
+  astrolibR = derive { name="astrolibR"; version="0.1"; sha256="0gkgry5aiz29grp9vdq9zgg6ss47ql08nwcmz1pfvd0g0h9h75l8"; depends=[]; };
+  astsa = derive { name="astsa"; version="1.2"; sha256="13nlk5m5j9rygjih2hd3nj5iyncm1cx4smcj9zpr6nrsc79brwzj"; depends=[]; };
+  asympTest = derive { name="asympTest"; version="0.1.3"; sha256="11nlkgws3y8xbz3yli55414a2rkk7367q9q5r2ssa61jaiimibhh"; depends=[]; };
+  asypow = derive { name="asypow"; version="2013.9-1"; sha256="0zd42ha30kysjhd6rwxr91k1hhsimw3py2inymbpxgyq4s890whs"; depends=[]; };
+  AtelieR = derive { name="AtelieR"; version="0.24"; sha256="0yialpmbsbx70gvps4r58xg9wvqcril8j8yd61lkkmz4b3195zai"; depends=[proto cairoDevice gWidgetsRGtk2 partitions]; };
+  ATmet = derive { name="ATmet"; version="1.2"; sha256="047ibxxf5si45zw22zy8a1kpj36q0pd3bsmxwvn0dhf4h65ah0zz"; depends=[DiceDesign lhs metRology msm sensitivity]; };
+  AtmRay = derive { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; };
+  attfad = derive { name="attfad"; version="1.1"; sha256="10vdb60i8iigslcd0f3ipkf7m3d7h8zhq9x0n7yilc1xpd79r3ha"; depends=[]; };
+  AUC = derive { name="AUC"; version="0.3.0"; sha256="0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7"; depends=[]; };
+  AUCRF = derive { name="AUCRF"; version="1.1"; sha256="00d7jcg2dyvf7sc9w7vxxd85m7nsbcmfqsavrv236vxfpfc9yn7i"; depends=[randomForest]; };
+  audio = derive { name="audio"; version="0.1-5"; sha256="1hv4052n2r6jkzkilhkfsk4dj1xhbgk4bhba2ca9nf8ag92jkqml"; depends=[]; };
+  audiolyzR = derive { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin RJSONIO plotrix]; };
+  audit = derive { name="audit"; version="0.1-1"; sha256="0hrcdcwda5c0snskrychiyfjcbnymkcl2x43bapb6inw9y8989qv"; depends=[]; };
+  autoencoder = derive { name="autoencoder"; version="1.0"; sha256="18i6b2vjhlq9f82syw3k88gm9bvklv827nflgzq0xzjnzh6z5nr8"; depends=[]; };
+  automap = derive { name="automap"; version="1.0-14"; sha256="1190kbmp0x80x0hyifdbblb4ijq79kvrfn9rkp5k6diig4v30n0w"; depends=[sp gstat lattice reshape]; };
+  autopls = derive { name="autopls"; version="1.2-7"; sha256="173i1g11waz72myclfdch9v3wsvdr9mdz2gxdqifq9wj50s4zrg4"; depends=[pls]; };
+  AutoSEARCH = derive { name="AutoSEARCH"; version="1.2"; sha256="1zl5zd96249y2zfpidpl9n3zwcp74kvcxn4s10v0lypvr19cr3hn"; depends=[zoo]; };
+  avgrankoverlap = derive { name="avgrankoverlap"; version="1.0"; sha256="1wyafcygwdk754wp25283nd84lnn9qxha41xij55ylrn4nvg57l1"; depends=[]; };
+  aws = derive { name="aws"; version="1.9-4"; sha256="11vbsg4yhnl4995m8gq5gykrlk61y3a618g2zxkc9wdf5z4xqdny"; depends=[awsMethods gsl]; };
+  awsMethods = derive { name="awsMethods"; version="1.0-3"; sha256="1r6rbrlc5wbljp2x9aqhhnjblnb3gjm217x0cbmrw1pa0cf7q5jq"; depends=[]; };
+  AWS_tools = derive { name="AWS.tools"; version="0.0.5"; sha256="0z0mh8pdrqvsg49dbhds8aj0lmxmvhfi05im0gg01vdidxpmabyn"; depends=[XML]; };
+  aylmer = derive { name="aylmer"; version="1.0-11"; sha256="1b6dryvfz9yp00nj8lv8j1isnshcgwn9fx41knah9pw7dn4pxkk2"; depends=[Brobdingnag]; };
+  B2Z = derive { name="B2Z"; version="1.4"; sha256="0w7394vs883vb32gs6yhrc1kh5406rs851yb2gs8hqzxad1alvpn"; depends=[numDeriv coda mvtnorm]; };
+  b6e6rl = derive { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
+  babel = derive { name="babel"; version="0.2-6"; sha256="1dsxjnhr0cky7wlzz8pr8rn3cldfcyrh8v6gn2ba4abr0df7i4dd"; depends=[]; };
+  BaBooN = derive { name="BaBooN"; version="0.1-6"; sha256="1splid5mvyd04d1lxkq45md910ry6n516cph20j6vqfhla0arxjg"; depends=[MASS nnet]; };
+  babynames = derive { name="babynames"; version="0.1"; sha256="0qq0303mmcnpfy5630d7rqmb8rl36p7hg2z842rzd4lkhy8c2l07"; depends=[]; };
+  BACCO = derive { name="BACCO"; version="2.0-9"; sha256="0i1dnk0g3miyv3b60rzgjjm60180wxzv6v2q477r71q74b0v0r1y"; depends=[emulator calibrator approximator]; };
+  backtest = derive { name="backtest"; version="0.3-2"; sha256="06q488pynxgis1m6rxc8hgscpy8vimffpi4aamviwb089sjzilnn"; depends=[lattice]; };
+  BACprior = derive { name="BACprior"; version="1.2.1"; sha256="1xwszrnb6fnfl4pz89y24jykzyjnkzwzkicdp1rp7q3jwp986fxi"; depends=[mvtnorm leaps]; };
+  BAEssd = derive { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; };
+  bagRboostR = derive { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; };
+  BalancedSampling = derive { name="BalancedSampling"; version="1.4"; sha256="0l8jxszd0j27kb58xrn7lvf52mhifqjd1w42cp4kdiax8c6s7421"; depends=[Rcpp]; };
+  BaM = derive { name="BaM"; version="0.99"; sha256="1q04va2s876ydlmaalx63r520pfx1qzpjg6hbnl9pvn86b5grnf4"; depends=[bayesm coda MASS mice survival foreign nnet]; };
+  bamdit = derive { name="bamdit"; version="1.1-1"; sha256="0f865yfwd2pvbkcx8jm4iyilldmprsgyqnscp1n28rp3sbdii4bl"; depends=[coda rjags]; };
+  BAMMtools = derive { name="BAMMtools"; version="2.0.2"; sha256="10z638f79j3jksb69sqrnkzs5nzxi9srsxww4ky3bk21zb66ikhd"; depends=[ape]; };
+  bams = derive { name="bams"; version="1.6"; sha256="1pplnpilpydxf7gcs87424cajss74q8cr9pyv2biy4pkvfql0nxl"; depends=[]; };
+  bandit = derive { name="bandit"; version="0.5.0"; sha256="03mv4vbn9g4mqikd9map33gmw2fl9xvb62p7gpxs1240w5r4w3fp"; depends=[boot gam]; };
+  BANOVA = derive { name="BANOVA"; version="0.2"; sha256="1zgn9wxh4c89rris58hhj5fh37mmy8wjvligr02id7a1pcw177m3"; depends=[rjags runjags coda]; };
+  barcode = derive { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; };
+  bark = derive { name="bark"; version="0.1-0"; sha256="00sgwr1sfbx0gb2ssbnmbz90mwb40sk3s24asj7lhadwgm150nly"; depends=[]; };
+  Barnard = derive { name="Barnard"; version="1.3"; sha256="1kyc6rph0c9lxv6mkdl5n11xw1pvavlm2kknplb3sv6f94ss2yci"; depends=[]; };
+  bartMachine = derive { name="bartMachine"; version="1.0.2"; sha256="1mxl8yra44ypxchqlyfv950gac1m8mw85qqaifzylm7fqb12xr8s"; depends=[rJava car randomForest missForest]; };
+  BAS = derive { name="BAS"; version="1.0"; sha256="1j5crafky3jb25kim3b7gxg9azn3ya357ckq1v7wryzi3zi674sg"; depends=[MASS]; };
+  BaSAR = derive { name="BaSAR"; version="1.3"; sha256="0n18gjgnqdmwdna6b5r664rw2svjqlpis95vchnlk19cr3pjvqc1"; depends=[polynom orthopolynom]; };
+  base64 = derive { name="base64"; version="1.1"; sha256="1wn3zj1qlgybzid4nr6hvlyqg1rp2dwfh88vxrfby2fy2ba1nl5x"; depends=[]; };
+  base64enc = derive { name="base64enc"; version="0.1-2"; sha256="0d2b7vl08abssfwprfiqc0yscb1gz4xlzlwwbf7y9z19wbyxizh5"; depends=[]; };
+  baseline = derive { name="baseline"; version="1.1-3"; sha256="1n3g1ads26nq3y31nniirac453pdshzkdfg774w46x83cc5pc0xj"; depends=[SparseM]; };
+  basicspace = derive { name="basicspace"; version="0.07"; sha256="0lpj03a5cwrj0pag6hb29rfi8dw51hqx7rrc4r00lsbqf5picin2"; depends=[]; };
+  BASIX = derive { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; };
+  BaSTA = derive { name="BaSTA"; version="1.9.3"; sha256="1jfki5lnsvd6fjrld2qp179lyzli61pi2308lkkl1h6vgp11zp2v"; depends=[msm]; };
+  batade = derive { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; };
+  batch = derive { name="batch"; version="1.1-4"; sha256="03v8a1hsjs6nfgmhdsv6fhy3af2vahc67wsk71wrvdxwslmn669q"; depends=[]; };
+  BatchExperiments = derive { name="BatchExperiments"; version="1.2"; sha256="0kvn8vaxzdvzfx05639v3jbrxvwrr9rr8zssw62pdr77h7j9a3gf"; depends=[BatchJobs checkmate BBmisc DBI RSQLite plyr]; };
+  BatchJobs = derive { name="BatchJobs"; version="1.3"; sha256="1vcncmy7zzri93gh9gfbz8dz4agz2nkhv1bddzddx27b2sqjq4dn"; depends=[BBmisc checkmate digest DBI RSQLite sendmailR brew stringr fail]; };
+  batchmeans = derive { name="batchmeans"; version="1.0-1"; sha256="06p51ipc603zqkf7ifv495jxbnqqxzx5h8mnz5l5sz9rq5pixg13"; depends=[]; };
+  BayesBridge = derive { name="BayesBridge"; version="0.5"; sha256="1czyna2mrznlr5swvm9i7x99yfwjvwbzy42avh6xb0342q5glnhw"; depends=[]; };
+  bayesclust = derive { name="bayesclust"; version="3.1"; sha256="0zxjd64nz8c6vg6jwb2xh6kbw41a2pcmlwq5cl6k2kbplqbm2jdf"; depends=[]; };
+  BayesComm = derive { name="BayesComm"; version="0.1-0"; sha256="17hnq4z451g2j3p73awllihhwsdy3grh6ki3qy9bkr064wvzbvcj"; depends=[Rcpp RcppArmadillo coda]; };
+  bayescount = derive { name="bayescount"; version="0.9.9-2"; sha256="1f27dkdgpylk1v0m722r0jxha9sl17zgl1s5apnd8ihgsajm7sdc"; depends=[runjags coda lattice]; };
+  BayesCR = derive { name="BayesCR"; version="1.0"; sha256="0cq1ii01j0nprnyvfxml1nrajrbb9yanr4fa5fcwn764cq5s30n9"; depends=[MCMCpack mvtnorm Rlab truncdist truncnorm]; };
+  BayesDA = derive { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
+  bayesDem = derive { name="bayesDem"; version="2.4-1"; sha256="0s2dhy8c90smvaxcng6ixhjm7kvwwz2c4lgplynrggrm8rfb19ay"; depends=[gWidgets gWidgetsRGtk2 bayesTFR bayesLife bayesPop RGtk2 wpp2012]; };
+  BayesFactor = derive { name="BayesFactor"; version="0.9.7"; sha256="02bqsvxsxkyhxm0llwnscsp204ffjygdk9xraml1l2fkz3cg62vl"; depends=[coda pbapply mvtnorm stringr]; };
+  bayesGARCH = derive { name="bayesGARCH"; version="2.0.1"; sha256="1gz18wjikkg3yf71b1g21cx918dyz89f5m295iv8ah807cdx7vjk"; depends=[mvtnorm coda]; };
+  bayesGDS = derive { name="bayesGDS"; version="0.6.0"; sha256="17ihpsh7lqjninprfwbx3v2415s27qybr5c2z4ls43slv8zrv8mz"; depends=[Matrix]; };
+  BayesGESM = derive { name="BayesGESM"; version="1.0"; sha256="1ssg4l86jfriq4izlgzypz37c7xzcfsr6ngh8ksak8ka1lmidsig"; depends=[truncdist GIGrvg normalp gsl]; };
+  Bayesianbetareg = derive { name="Bayesianbetareg"; version="1.2"; sha256="0imsz2761ngbnap0vnxks9527la51m5g8gkkn1vrgwis43i6qcgs"; depends=[mvtnorm betareg]; };
+  BayesLCA = derive { name="BayesLCA"; version="1.5"; sha256="0ikx0qxp9mw4206c0i2g8cjr3d5i591wb1qak28c11m22rn1s7gc"; depends=[e1071 coda fields nlme MCMCpack]; };
+  bayesLife = derive { name="bayesLife"; version="2.1-1"; sha256="0vb9frpla7rvd925h5d23mjza423qhpc4hqy0f9zayj9nnisv212"; depends=[bayesTFR wpp2012 hett car coda]; };
+  BayesLogit = derive { name="BayesLogit"; version="0.5.1"; sha256="0nr215wzhqlfi32617mmqb6i3w5x1kh5fiy68k0xzdqjsyjr65m0"; depends=[]; };
+  bayesm = derive { name="bayesm"; version="2.2-5"; sha256="16cnm1i7vwviqxwq3yhj5r9a46qaanq2mb4snd0659rkia6p8h7a"; depends=[]; };
+  bayesMCClust = derive { name="bayesMCClust"; version="1.0"; sha256="14cyvcyx3nmkbvsy7n4xjp7zvcgdhy013dv9d72y8j5dvlv82pb4"; depends=[gplots xtable mnormt MASS bayesm boa e1071 gtools]; };
+  BayesMed = derive { name="BayesMed"; version="1.0"; sha256="1ppl5g8c5yy8jzhm34wvvprn9dj697ihcg8jb5111qmjybzzp0dh"; depends=[R2jags QRM polspline MCMCpack]; };
+  bayesmix = derive { name="bayesmix"; version="0.7-3"; sha256="142132aslmmm35yai4n1d2hqqkczvrnm8ln9gwxvbczmxaggnc01"; depends=[rjags coda]; };
+  BayesNetDiscovery = derive { name="BayesNetDiscovery"; version="0.1"; sha256="1p3mxl75ds75snqim59w9xvr7f4a1mbks2k05zd9wwwy4w7v74l7"; depends=[DPpackage igraph mclust pscl tmvtnorm]; };
+  BayesNI = derive { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; };
+  BayesPen = derive { name="BayesPen"; version="1.0"; sha256="1c31n0mrx07j9mw4afdh1qznkiq2jrig3ldpsnhkv2nd2apgjbbp"; depends=[lars MCMCpack SuppDists]; };
+  bayesPop = derive { name="bayesPop"; version="5.0-0"; sha256="0a577jkm0v88q2i7dmn2xqndm9z5y3hwfxr4a5d65cnrlsahfzdl"; depends=[bayesTFR bayesLife abind plyr wpp2012]; };
+  bayespref = derive { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; };
+  bayesQR = derive { name="bayesQR"; version="2.2"; sha256="0w5fg7hdwpgs2dg4vzcdsm60wkxgjxhcssw9jzig5qgdjdkm07nm"; depends=[]; };
+  bayess = derive { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[MASS mnormt gplots combinat]; };
+  BayesSAE = derive { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[Formula coda lattice]; };
+  BayesSingleSub = derive { name="BayesSingleSub"; version="0.6.2"; sha256="0hgmyhg4mpxx7k91hbfa9h3533mqyn9rz4kl9kb30cc9g7g0m045"; depends=[coda mvtnorm MCMCpack]; };
+  bayesSurv = derive { name="bayesSurv"; version="2.3-1"; sha256="1p3ppvz7qjd0yjnc3k1mrjqa6v00aind613wxg6xhgk5iz0590rg"; depends=[survival coda smoothSurv]; };
+  bayesTFR = derive { name="bayesTFR"; version="4.0-5"; sha256="1cyzkgx0f275ng0ds0lvm3rwryd2ai20shhilp7ajvsria4h4dcw"; depends=[mvtnorm MASS coda wpp2012]; };
+  Bayesthresh = derive { name="Bayesthresh"; version="2.0.1"; sha256="0w26h1ragqcg1i4h7c2y6vd8fig2jb2zrnvvchgg5z2hg9qdplsf"; depends=[lme4 MASS VGAM mvtnorm matrixcalc coda]; };
+  BayesValidate = derive { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; };
+  BayesVarSel = derive { name="BayesVarSel"; version="1.5.1"; sha256="0r2al4d74dbra7va88fcazq5h19f0i4wymd39apsz3a3hsb8vdvv"; depends=[MASS]; };
+  BayesX = derive { name="BayesX"; version="0.2-8"; sha256="1kj0xwy972383vx52i8dn7vp0x8r5cbbii0s7nwfz0bn2iaks0c0"; depends=[shapefiles sp maptools colorspace coda]; };
+  BayesXsrc = derive { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[]; };
+  BayHap = derive { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; };
+  BayHaz = derive { name="BayHaz"; version="0.1-3"; sha256="08ilghlkgyma5758yw7mdgqycqcillqmx73knzzdlg2kzc77dvg6"; depends=[]; };
+  BaylorEdPsych = derive { name="BaylorEdPsych"; version="0.5"; sha256="1kq6nvzdqwawygp7k62lw5hyccsj81jg82hq60yidgxnmmnnf7y2"; depends=[]; };
+  bayou = derive { name="bayou"; version="1.0.1"; sha256="0l342a4lsn6b18i2kyk2hr50k69bb7jcw8dlnbi96yf1i58qcdri"; depends=[ape geiger phytools coda Rcpp MASS mnormt fitdistrplus denstrip]; };
+  BaySIC = derive { name="BaySIC"; version="1.0"; sha256="023ji6q1nvksmhp3ny8ad39xxccc0a1rv9iaiaagwavgzzc0pjd9"; depends=[rjags fields poibin]; };
+  BAYSTAR = derive { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[mvtnorm coda]; };
+  BB = derive { name="BB"; version="2014.1-1"; sha256="05ang9k03cpdyjskifp8y68sjgbsnp8xj1a85hzqychlb7d4f2qk"; depends=[]; };
+  bbefkr = derive { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
+  bbemkr = derive { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
+  BBmisc = derive { name="BBmisc"; version="1.7"; sha256="06lr7yjq9ypyvrvkf3gn1dl7ppf2mpn6jnvv3m4724g2sgh53cv4"; depends=[checkmate]; };
+  bbmle = derive { name="bbmle"; version="1.0.17"; sha256="1j3x2glnn0i0fc0mmafwkkqh1js90g8q7gix2vrhif0pmwinsrak"; depends=[numDeriv lattice MASS]; };
+  BBMM = derive { name="BBMM"; version="3.0"; sha256="1cvv786wf1rr5906qg1di2krrv5jgw3dnyl8z2pvs8jyn0kb3fkj"; depends=[]; };
+  bbo = derive { name="bbo"; version="0.1"; sha256="1giif78135f3hy8dqims83imism0k3507jlppgcb3x6pxk7dgwbs"; depends=[]; };
+  BBRecapture = derive { name="BBRecapture"; version="0.1"; sha256="05xzp5zjmkh0cyl47qfsz0l8drg8mimssybhycc4q69aif9scqxb"; depends=[HI locfit lme4 secr]; };
+  bc3net = derive { name="bc3net"; version="1.0.2"; sha256="0iakqf4apscxb4mb5klj9qklbi25dmdd77la3ads2y882gm2nj0z"; depends=[c3net infotheo igraph Matrix lattice]; };
+  BCA = derive { name="BCA"; version="0.9-2"; sha256="1kry9v0sfcpn5vv4hwd983svwcgv841y9pkjdzi849gspmc9291r"; depends=[car clv cluster class flexclust rpart nnet rgl Rcmdr]; };
+  BCBCSF = derive { name="BCBCSF"; version="1.0-0"; sha256="1ag8wz8a9vh1x4jgppimgchfs53rr6hbg5xzzr6k2h4bfsg7pmn3"; depends=[abind]; };
+  BCDating = derive { name="BCDating"; version="0.9.3"; sha256="1ibm34wab1dpigrhifkyr1nylgbprbh22fdw9zpmg8bawb7zgbsl"; depends=[]; };
+  BcDiag = derive { name="BcDiag"; version="1.0.4"; sha256="1cpy80cza2yqwgp6zma1p3chdbfbxb3in19rj1zndf89baggr520"; depends=[]; };
+  BCE = derive { name="BCE"; version="2.1"; sha256="0dqp08pbq7r88yhvlwgzzk9dcdln7awlliy5mfq18j5jhiy7axiz"; depends=[FME limSolve Matrix]; };
+  BCEA = derive { name="BCEA"; version="2.0-2"; sha256="1n0fp6na2y4n7p6ncwgi6hwx97mfrga3fkp3i0z06bh1p1jh8m88"; depends=[]; };
+  BCEs0 = derive { name="BCEs0"; version="1.1"; sha256="0q63bkmk0kk9p5d3xb0f5srzfrbr743isyw4v2h9ch5yyxizcizb"; depends=[]; };
+  Bchron = derive { name="Bchron"; version="4.1.1"; sha256="0dnfz7xpmbygyarh9ai9x3xfsqiizi0zhnxm8bmkvqyb8h7zpghb"; depends=[inline hdrcde MASS ellipse coda mclust]; };
+  Bclim = derive { name="Bclim"; version="2.3.1"; sha256="160c9v83bpik73yjj45lr8sdgl8v4ymlkqw424ncc3lficyhvfjg"; depends=[MASS mclust hdrcde statmod]; };
+  bclust = derive { name="bclust"; version="1.4"; sha256="1s04fqff5bw6d5kk0smvach6yq492dv1w0ahh9mrm2jsi2q58h7p"; depends=[]; };
+  bcool = derive { name="bcool"; version="1.1"; sha256="03z6wdqpk491gyysbzz1lgfavskmi0j65r3df7baz6lrvzkg30ji"; depends=[MCMCglmm doMPI seqinr]; };
+  bcp = derive { name="bcp"; version="3.0.1"; sha256="08sa1az1ljsi00zmj3l7z8p1j5im1w79yjxy8k1p6ba90bck7l4h"; depends=[foreach iterators Rcpp]; };
+  bcpa = derive { name="bcpa"; version="1.0"; sha256="02vyvwd1j5d1nvwmhjbldyav1zx8sh8kvchwz73i0vs0jdrwp3q4"; depends=[Rcpp intervals plyr]; };
+  bcpmeta = derive { name="bcpmeta"; version="1.0"; sha256="02fw1qz9cvr7pvmcng7qg7p04wxxpmvb2s8p78f52w4bf694iqhl"; depends=[mvtnorm]; };
+  bcrm = derive { name="bcrm"; version="0.4.4"; sha256="0gcigc7505fsk1m70df3n0dz553adkbs8yz2bhskb4qrw4gbmvr7"; depends=[mvtnorm ggplot2]; };
+  bcv = derive { name="bcv"; version="1.0"; sha256="053if27miv46mbkni6pcpdpz0l336r5l95k7927dqalnri894xwz"; depends=[]; };
+  bda = derive { name="bda"; version="3.2.0-3"; sha256="1725qdlkcf7hfklnksy7jslh66cfm7gsil1xgm2rw8hr6v2l0pmx"; depends=[]; };
+  BDgraph = derive { name="BDgraph"; version="2.10"; sha256="0f35i3r8i6fbh86537z8lvfmhydp87kmmcs4vycaa9ja88fb6czl"; depends=[Matrix igraph]; };
+  bdoc = derive { name="bdoc"; version="1.2"; sha256="15d7grc0a1hakkxhgbm2gp0awggzlmsp8zf8abj5bgfih63gcmj2"; depends=[]; };
+  bdpv = derive { name="bdpv"; version="1.1"; sha256="0i6wdf27243ch8pn2chqriwxjg3g72wbvzlx52mz4ahw700xjc7n"; depends=[]; };
+  bdsmatrix = derive { name="bdsmatrix"; version="1.3-1"; sha256="1iiqz34ssb5i5jd1x5d0mccir9ycrq2vq30g67ggw12apl7yks1l"; depends=[]; };
+  bdvis = derive { name="bdvis"; version="0.1.0"; sha256="1f837i48gmspx9xrnxzsgdbg6ykxmvkp8l20y19yd9iakhv7k3jy"; depends=[maps plotrix sqldf plyr taxize treemap ggplot2]; };
+  bdynsys = derive { name="bdynsys"; version="1.2"; sha256="06n4n5yix6yd5180c5y7qdk2p5jpjqiw28147l8fp58zqxvwjrxb"; depends=[plm Formula MASS Hmisc deSolve pracma caTools matrixStats]; };
+  beadarrayFilter = derive { name="beadarrayFilter"; version="1.1.0"; sha256="044dq5irc00v2f2gjz0vb69w7q7b84lppc55ganabdv4f0dxdblc"; depends=[RColorBrewer]; };
+  beadarrayMSV = derive { name="beadarrayMSV"; version="1.1.0"; sha256="0785vmjsli37hjyppk7hlqmn0b683s1apysx9dghbw4h6rgvr8n9"; depends=[rggobi]; };
+  beanplot = derive { name="beanplot"; version="1.1"; sha256="0h1ns2y0f6x5z9bn4wsv640509q4jxhqvmqr7snf8vk54vc35zs5"; depends=[]; };
+  bear = derive { name="bear"; version="2.6.3"; sha256="1w933rb1v4ixgmxpbjxrfwzhiddpr0vxwr3gryl6z6p4wvwdwvp7"; depends=[reshape nlme gdata ICSNP sciplot plotrix ggplot2 png]; };
+  BEDASSLE = derive { name="BEDASSLE"; version="1.4"; sha256="02638v89rcqky6npfckr1h7g563lbhs51bsprfr10jk44aj527np"; depends=[MASS matrixcalc emdbook]; };
+  beepr = derive { name="beepr"; version="1.1"; sha256="187gww50yc8hzrzwz6j9ib101196g6ci9fx3dqyhg764ydn8if1n"; depends=[stringr audio]; };
+  beeswarm = derive { name="beeswarm"; version="0.1.6"; sha256="05n2a1fqmh4m7d0b8vmcprss5ivgb0dlyly07jywj3vrf2z81yhy"; depends=[]; };
+  benchden = derive { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
+  benchmark = derive { name="benchmark"; version="0.3-6"; sha256="05rgrjhbvkdv06nzbh0v57b06vdikrqc1d29wirzficxxbjk1hih"; depends=[proto ggplot2 relations psychotools reshape scales plyr]; };
+  Benchmarking = derive { name="Benchmarking"; version="0.23"; sha256="0q0m34l3216m467b28nckg7l4g0z7jmxdamba3jgzfm4rv73d6rd"; depends=[lpSolveAPI ucminf]; };
+  benford_analysis = derive { name="benford.analysis"; version="0.1.1"; sha256="00ynk1af5nbq8bn8y77sckx4w32g5zxcp06pdpcxwvp38d7hxhvc"; depends=[data_table]; };
+  BenfordTests = derive { name="BenfordTests"; version="1.1.1"; sha256="12xzc4gq4h7p18ypbkybrzjj2qh71rgd7nzznij36yv7n6h21mlw"; depends=[]; };
+  bentcableAR = derive { name="bentcableAR"; version="0.2.3"; sha256="0d20cc3zis3pc3r86z12cwcz013w0mglbg6xgv90wq912jjpkxk9"; depends=[]; };
+  BEQI2 = derive { name="BEQI2"; version="1.0-1"; sha256="0afp8f6kfmpa8qi952qnyxl2nn6kszc8fgvplvbl13v572261m7s"; depends=[knitr markdown RJSONIO xtable plyr reshape2]; };
+  ber = derive { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; };
+  Bergm = derive { name="Bergm"; version="2.9"; sha256="1sjc9vkcbbhdc93gzsm25ld5h7hkwb8n6i51xzflphi0w1a66zkv"; depends=[ergm network coda mvtnorm]; };
+  BerlinData = derive { name="BerlinData"; version="1.0.0"; sha256="1i4vb1gs3ffb2lxdhl8hzqwcr9nm8ya484glds3bdvj10ypncrya"; depends=[XML stringr]; };
+  berryFunctions = derive { name="berryFunctions"; version="1.4"; sha256="13kzrz0lrqlbysd7ymphcw12fg237knmvkdc71cl85929ydr09d8"; depends=[]; };
+  Bessel = derive { name="Bessel"; version="0.5-5"; sha256="1apcpwqgnbsn544x2mfjkp4136xn33pijazmbzas7lr14syl5a6b"; depends=[Rmpfr]; };
+  BEST = derive { name="BEST"; version="0.2.2"; sha256="160lvrd0zjm1lr8llra6lyz3qsmqhn3bpdlmwingwfimbpb754rz"; depends=[rjags coda]; };
+  bestglm = derive { name="bestglm"; version="0.34"; sha256="0b6lj91v0vww0fy50sqdn99izkxqbhv83y3zkyrrpvdzwia4dg9w"; depends=[leaps]; };
+  betafam = derive { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; };
+  betapart = derive { name="betapart"; version="1.3"; sha256="0h2y2c3q6njzh2rlxh8izgkrq9y7abkbb0b13f2iyj9pnalvdv52"; depends=[ape geometry picante rcdd]; };
+  betaper = derive { name="betaper"; version="1.1-0"; sha256="1gr533iw71n2sq8gga9kzlah7k28cnlwxb2yh562gw6mh1axmidm"; depends=[vegan ellipse]; };
+  betareg = derive { name="betareg"; version="3.0-4"; sha256="1crkp1j11zpzd92hc1zaw0pb68ngga8gl6v504p4r7629806g5hv"; depends=[Formula flexmix lmtest modeltools sandwich]; };
+  betategarch = derive { name="betategarch"; version="3.1"; sha256="1m4xif7xn1hhz9a77mmy0hlqrfp7qxardc95jcvx1jy76nny21af"; depends=[zoo]; };
+  bethel = derive { name="bethel"; version="0.2"; sha256="1zlkw672k1c5px47bpa2vk3w2906vkhvifz20h6xm7s51gmm64i0"; depends=[]; };
+  bezier = derive { name="bezier"; version="1.1"; sha256="1bhqf1zbshkf1x8mgqp4mkgdxk9jxi51xj6i47kqkyn9gbdzch0c"; depends=[]; };
+  bfa = derive { name="bfa"; version="0.3.1"; sha256="02vnbm77blllb74kll8w1i91k0llk43vq60aqjwpc5kqmzy652pk"; depends=[coda Rcpp RcppArmadillo]; };
+  bfast = derive { name="bfast"; version="1.4.4"; sha256="1k8rwlzrnkgs0wj0yy4gh4lj4zd5zyzwgwckgjy8k53r4296js66"; depends=[strucchange MASS forecast zoo raster sp strucchange zoo raster]; };
+  bfp = derive { name="bfp"; version="0.0-27"; sha256="08hlr33dwwjc4ag8vfsa3w4rcsc2093j8zwb05xkkl5nwqsq3mq0"; depends=[Rcpp]; };
+  bgeva = derive { name="bgeva"; version="0.2"; sha256="178c2jkg5578mh1yq37713lwfbz98nbsc2p1bmacgmbxbqnkba3x"; depends=[mgcv magic trust]; };
+  BGLR = derive { name="BGLR"; version="1.0.3"; sha256="02aw71r8khnkahqplycwziz7fh8hmnniq5bqnsk4fijv7z9gkbkg"; depends=[]; };
+  bgmm = derive { name="bgmm"; version="1.6"; sha256="04d06rhb8ax1q4ayl03cw18j4wk4g4690kwdgiyym9yi0gh8hjij"; depends=[mvtnorm car lattice combinat]; };
+  BGPhazard = derive { name="BGPhazard"; version="1.0"; sha256="14nk8gxzd0xd4fcc16m026rlq3prnppv3jywllfapk5986cacq4g"; depends=[survival]; };
+  BGSIMD = derive { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; };
+  BH = derive { name="BH"; version="1.54.0-3"; sha256="18n82c37562aklykw074ma0x95k9s4xp3l94jrjw2grajcrhx68b"; depends=[]; };
+  Bhat = derive { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
+  BHH2 = derive { name="BHH2"; version="2012.04-0"; sha256="10ixvjpkqamlddrndpnw5gsdm4gdhp693jdvc0f774ngmf32rbaa"; depends=[]; };
+  BHMSMAfMRI = derive { name="BHMSMAfMRI"; version="1.0"; sha256="0j5ivknsr441clgm0b95f2rz4pr29ixvw3dgsi8nb0ffh52dgz7q"; depends=[fmri AnalyzeFMRI wavethresh]; };
+  biasbetareg = derive { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
+  BiasedUrn = derive { name="BiasedUrn"; version="1.06.1"; sha256="1ra9fmymm97a2b8jsrsi98cjnnxc478zq51lx7a5pgafprcwcgkg"; depends=[]; };
+  bibtex = derive { name="bibtex"; version="0.3-6"; sha256="06v6pzwpx5dh3h4cf382hf0mszxchvzjsjaw880gfbgc9yl931z7"; depends=[]; };
+  biclust = derive { name="biclust"; version="1.0.2"; sha256="09w164zsnc48apf3r0yr6bfjxlpy4s2wqpzfhlg60c3c7bk1bf7v"; depends=[MASS colorspace lattice]; };
+  BiDimRegression = derive { name="BiDimRegression"; version="1.0.6"; sha256="1kgrk4xanvxqdq619ha08wwplmsn2xqygx4dziagx48iqfpp1lxj"; depends=[nlme]; };
+  bifactorial = derive { name="bifactorial"; version="1.4.7"; sha256="187zlsqph7m63wf6wajvs6a4a08aax9hiqssgvma6cpkpisfiz4k"; depends=[mvtnorm multcomp lattice Rcpp]; };
+  BIFIEsurvey = derive { name="BIFIEsurvey"; version="0.3-47"; sha256="10x2zfn19966mmmy2zxjhksxpzs38y8v25bmdn13vdmx70768gsc"; depends=[Rcpp miceadds]; };
+  bigalgebra = derive { name="bigalgebra"; version="0.8.4"; sha256="19rv552ac0q9djc1yvpldkc0lipdf6q143m9dnndpsqs7ayqlr4g"; depends=[bigmemory]; };
+  biganalytics = derive { name="biganalytics"; version="1.1.1"; sha256="0g45b293c1z9n2z9ab66jsy8yaiqm7bbs2d6pglzwgmmdvwy03qd"; depends=[bigmemory]; };
+  bigdata = derive { name="bigdata"; version="0.1"; sha256="1n1zcjhvb2s87d7fkcm95x11ss4b8pczza0n55gxjv4przfiq0in"; depends=[glmnet Matrix lattice]; };
+  bigGP = derive { name="bigGP"; version="0.1-3"; sha256="1a81an1wkkvdv1jh6d41wl54ac8h4yal27v4m8zp9jmx3ch3y2wy"; depends=[Rmpi]; };
+  biglars = derive { name="biglars"; version="1.0.2"; sha256="17zs25dvlja9ynx2fm5f4nmgkx4mnyqs5iscwsyahr6qigx1rz9x"; depends=[ff]; };
+  biglm = derive { name="biglm"; version="0.9-1"; sha256="1z7h4by457z93k5i6qf5rq7xmd1y2kcd1rq4pv465cd32d4mb2g1"; depends=[DBI]; };
+  bigmemory = derive { name="bigmemory"; version="4.4.6"; sha256="1pplnpxqg380l5mjgz0ak4ipsx7x54339n2wr3dd29xv3w2fb5rp"; depends=[bigmemory_sri BH]; };
+  bigmemory_sri = derive { name="bigmemory.sri"; version="0.1.2"; sha256="01nz4phifx10r1hs83avisnaqxvs3y70v0yczjgcr8kih2cnvbsd"; depends=[]; };
+  bigml = derive { name="bigml"; version="0.1-1"; sha256="0x0gn5pyffc8s0z2hp9iqgc63mmb3q7fb8lafzz2x67z2gghxi77"; depends=[RJSONIO RCurl plyr]; };
+  bigpca = derive { name="bigpca"; version="1.0"; sha256="1s4qmg7xl8z0sv1b1vfqw0r5cvlbrxx1n0m03ira8fpykcck2clm"; depends=[reader NCmisc bigmemory biganalytics bigmemory_sri BH irlba]; };
+  bigrf = derive { name="bigrf"; version="0.1-11"; sha256="0lazi8jk8aapdyyynd5yfcbn4jpjyxh8l64ayd0jj3nisl6hvmdh"; depends=[bigmemory foreach]; };
+  bigsplines = derive { name="bigsplines"; version="1.0-2"; sha256="0sbjq1vh8im6rwyz27h5m8rpckqiiaz9h22kcbzissy2dckis3l8"; depends=[]; };
+  bigtabulate = derive { name="bigtabulate"; version="1.1.2"; sha256="0vp873r3gww6kfkjdm87qgcdi85362kq946lvs45ggvyv7iaw0wa"; depends=[bigmemory]; };
+  BigTSP = derive { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[glmnet tree randomForest gbm]; };
+  bilan = derive { name="bilan"; version="2013.12"; sha256="0wrrs6l8iwy6r707djsmlmwiw0y5z6wwnsn27fvmq9cb8scvbfan"; depends=[Rcpp]; };
+  bild = derive { name="bild"; version="1.1-3"; sha256="02fi3h6mhg2m1ppkcpxpwzjfchkk9h7yv73j0365srr1jxki44pm"; depends=[]; };
+  bimetallic = derive { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
+  binda = derive { name="binda"; version="1.0.0"; sha256="0h5a67ygn4hwkdzbmhdkqjngln32yr8rk36k87m3hq1ahj4jn73x"; depends=[entropy]; };
+  bindata = derive { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; };
+  bingat = derive { name="bingat"; version="1.1"; sha256="1pb1yy1xrfvh71pg237lkmi56p8pbam60rii5i5km1i960lq0wc1"; depends=[matrixStats network]; };
+  binGroup = derive { name="binGroup"; version="1.1-0"; sha256="1sf7prg2x1ryynf1kz7jr50svmga7kjgd5pi9qm3g2hyimz8mvs4"; depends=[]; };
+  binhf = derive { name="binhf"; version="1.0-1"; sha256="0l8925bj6mjv2y7fn76zh2g8xjig3kbbdy4jl0ip3gd9kbrakl9k"; depends=[wavethresh adlift]; };
+  binMto = derive { name="binMto"; version="0.0-6"; sha256="1h9s42wk848x15f4glhsh2iikpra64miwlia6xz5dqlzbs4vw86k"; depends=[mvtnorm]; };
+  BinNor = derive { name="BinNor"; version="2.0"; sha256="0c1qy93ccgzg8g25wm1j4ninsa0ck4y3jjh25za92w070cqhkd8m"; depends=[mvtnorm corpcor psych Matrix]; };
+  binom = derive { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
+  binomialcftp = derive { name="binomialcftp"; version="1.0"; sha256="00c7ymlxk1xnx3x1814x7bcyir7q5sy4rb82dcpzf2bdly4xa1qr"; depends=[]; };
+  binomlogit = derive { name="binomlogit"; version="1.2"; sha256="1njz1g9sciwa8q6h0zd8iw45vg3i1fwcvicj5y8srpk8wqw3qp7k"; depends=[]; };
+  binomSamSize = derive { name="binomSamSize"; version="0.1-3"; sha256="0hryaf0y3yjxp84c0k80mhxj8zzlad697bv2yrvcjvllkzdvzbm7"; depends=[binom]; };
+  binomTools = derive { name="binomTools"; version="1.0-1"; sha256="14594i7iapd6hy4j36yb88xmrbmczg8zgbs0b6k0adnmqf83bn4v"; depends=[]; };
+  binr = derive { name="binr"; version="1.0"; sha256="0wgc78kx51qfn5wfzll5nz8iwanixkyb5sbqwi40fak93bvycklm"; depends=[]; };
+  binseqtest = derive { name="binseqtest"; version="1.0"; sha256="103nbi3zq9m632665iqz0z79v963ixhd5xrjfx6drwpfp4i69pbl"; depends=[clinfun]; };
+  Biodem = derive { name="Biodem"; version="0.3"; sha256="0wfyypr46awki2nrvhcjwacmaxrr2wvhdv9hddnf10msssflvshc"; depends=[]; };
+  BiodiversityR = derive { name="BiodiversityR"; version="2.4-4"; sha256="1sgjvjhvfdljjap69hi3f5j0ma9nikh43vgzbj8zkrz95d3jwd66"; depends=[Rcmdr]; };
+  BioGeoBEARS = derive { name="BioGeoBEARS"; version="0.2.1"; sha256="0wyddc5ma47ljpqipfkwsgddp12m9iy4kqwwgklyhf0rqia56b1h"; depends=[rexpokit cladoRcpp ape phylobase optimx FD xtable plotrix gdata]; };
+  Biograph = derive { name="Biograph"; version="2.0.4"; sha256="1mik5yvbi28xnyzha8p3xjaa064x29wgn18yx766wha7djxxr353"; depends=[etm msm Epi lubridate reshape plyr survival mstate ggplot2]; };
+  bio_infer = derive { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; };
+  biom = derive { name="biom"; version="0.3.12"; sha256="18fmzp2zqjk7wm39yjlln7mpw5vw01m5kmivjb26sd6725w7zlaa"; depends=[plyr RJSONIO Matrix]; };
+  BioMark = derive { name="BioMark"; version="0.4.2"; sha256="17r4q2migmdk2vqfbr69q07cgdzwpjgs3ijmnm42srs5d3brw8cr"; depends=[pls glmnet MASS st]; };
+  BiomarkeR = derive { name="BiomarkeR"; version="1.3"; sha256="0djhqindpmzx6kkj17db6d1n3w5v5wl1l3z14lnl0r2k1hf276fy"; depends=[igraph Hmisc]; };
+  biomod2 = derive { name="biomod2"; version="3.1-48"; sha256="1qsxzgikzxvgfrvm3lqfbwk1fnd55z1jgi9d6nyjxxcmn65lgx5l"; depends=[sp raster reshape abind rasterVis pROC nnet gbm mda randomForest rpart MASS]; };
+  bionetdata = derive { name="bionetdata"; version="1.0"; sha256="1y5nnyfzbdk8673jyi733j4ncsc62kbsn1b8ghq10cb4xzxf2mvf"; depends=[]; };
+  biopara = derive { name="biopara"; version="1.5"; sha256="1fhhs6lkm3iphlkx6wklh9sgr1mkjkka9wv2m8fnk0xw01bdsyl5"; depends=[]; };
+  BioPhysConnectoR = derive { name="BioPhysConnectoR"; version="1.6-10"; sha256="1cc22knlvbvwsrz2a7syk2ampm1ljc44ykv5wf0szhnh75pxg13l"; depends=[snow matrixcalc]; };
+  bioPN = derive { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; };
+  bios2mds = derive { name="bios2mds"; version="1.2.2"; sha256="1avzkbk91b7ifjba5zby5r2yw5mibf2wv05a4nj27gwxfwrr21cd"; depends=[amap e1071 scales cluster rgl]; };
+  BioStatR = derive { name="BioStatR"; version="1.0.4"; sha256="043fakac56kf1mdmwlm8q3hjdxlclissxbkv26y2brqp2sfr01pb"; depends=[]; };
+  biotools = derive { name="biotools"; version="1.2"; sha256="0wiv10qqah6yp5kwsndv48agnvrfl3j04pj0nsyiwyf9nvajxvic"; depends=[rpanel tkrplot MASS boot]; };
+  bipartite = derive { name="bipartite"; version="2.04"; sha256="0rp2j2ip8523jmvgvbnj56q49yazwz2wqyqc0l00flvp4920svf0"; depends=[vegan sna fields igraph MASS permute]; };
+  biplotbootGUI = derive { name="biplotbootGUI"; version="1.0"; sha256="0pgm31nhh1b78a8ciqjxw7gf3j7hh9wjc3myj29jpl92flbqmsw0"; depends=[rgl tkrplot vegan tcltk2]; };
+  BIPOD = derive { name="BIPOD"; version="0.2.1"; sha256="04r58gzk3hldbn115j9ik4bclzz5xb2i3x6b90m2w9sq7ymn3zg1"; depends=[Rcpp]; };
+  birdring = derive { name="birdring"; version="1.1"; sha256="0j24s1vwf848bpswphzf0liyyda9rknh03gnqpflk66imxkbvgxc"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
+  birk = derive { name="birk"; version="1.0"; sha256="09arzwpgcanp6cds70rr7qnpnva0fag88k1gg9yhg4k0yvbhqdbd"; depends=[]; };
+  bisectr = derive { name="bisectr"; version="0.1.0"; sha256="1vjsjshvzj66qqzg32rviklqswrb00jyq6vwrywg1hpqhf4kisv7"; depends=[devtools]; };
+  BiSEp = derive { name="BiSEp"; version="1.0"; sha256="1iw3ask3gpjhx0gnjgl3402fygi7bnsrha6dfxfsmyzz94im352x"; depends=[mclust]; };
+  bisoreg = derive { name="bisoreg"; version="1.1"; sha256="16d6nxbj18y6wv57nxbmwv0gypsgf7hw76hsyv0fhydrkf404igb"; depends=[bootstrap monreg R2WinBUGS coda]; };
+  bit = derive { name="bit"; version="1.1-12"; sha256="0a6ig6nnjzq80r2ll4hc74za3xwzbzig6wlyb4dby0knzf3iqa6f"; depends=[]; };
+  bit64 = derive { name="bit64"; version="0.9-4"; sha256="1w734l5ayr7w17a3gk2kmkqwz7v5jm830kfhyqmnd15i816lnjb9"; depends=[bit]; };
+  bitops = derive { name="bitops"; version="1.0-6"; sha256="176nr5wpnkavn5z0yy9f7d47l37ndnn2w3gv854xav8nnybi6wwv"; depends=[]; };
+  bivarRIpower = derive { name="bivarRIpower"; version="1.2"; sha256="0vgi0476rwali6k8bkp317jawzq5pf04v75xmycpmadb7drnpzy0"; depends=[]; };
+  biwavelet = derive { name="biwavelet"; version="0.17.3"; sha256="08lj0v53l9s12pssy3hgzys988w3y490nab7js655ljs825d2lpc"; depends=[fields]; };
+  biwt = derive { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[rrcov MASS]; };
+  bizdays = derive { name="bizdays"; version="0.1.5"; sha256="0y25sm77chk77s4wdb5a4r583ks44mpny9w8c8azbx7nhcvfb4yq"; depends=[]; };
+  BlakerCI = derive { name="BlakerCI"; version="1.0-4"; sha256="1sa9qq5frjjcw46p3ankn7v3gj0gwn9lww6jacz8flf5qpplhn4l"; depends=[]; };
+  Blaunet = derive { name="Blaunet"; version="1.0.1"; sha256="1qcp5wag4081pcjg5paryxz3hk3rqql15v891ppqc1injni7rljz"; depends=[network]; };
+  BLCOP = derive { name="BLCOP"; version="0.2.8"; sha256="1x4dq7ri23wyhdz4hb80iqwwfijg8a3bj0nqgh4rvrwwdjx96ikv"; depends=[MASS quadprog]; };
+  blender = derive { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
+  blighty = derive { name="blighty"; version="3.1-4"; sha256="1fkz3vfcnciy6rfybddcp5j744dcsdpmf7cln2jky0krag8pjzpn"; depends=[]; };
+  blkergm = derive { name="blkergm"; version="1.0"; sha256="00xqmqn7y3vwygfx2v6kqm52n96vxlip2yk09gf30cqn2p3b6sck"; depends=[ergm ergm_userterms]; };
+  blm = derive { name="blm"; version="2013.2.4.4"; sha256="1w6c30cq38j4i1q4hjg12l70mhy5viw886l1lsnxyvniy113in4i"; depends=[]; };
+  blme = derive { name="blme"; version="1.0-2"; sha256="11m98j9xr6w0hfcss4bbx2aa34gnc5p9if9r8ilw9ify18by77np"; depends=[lme4]; };
+  blockcluster = derive { name="blockcluster"; version="3.0.1"; sha256="1lxm20f8dhxfnm13j08sj7h3sfwc8limyqn8n87c3kl87066gdaq"; depends=[Rcpp]; };
+  blockmatrix = derive { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; };
+  BlockMessage = derive { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; };
+  blockmodeling = derive { name="blockmodeling"; version="0.1.8"; sha256="0x71w1kysj9x6v6vsirq0nndsf6f3wzkf8pbsq3x68sf4cdji1xl"; depends=[]; };
+  blockrand = derive { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; };
+  blockTools = derive { name="blockTools"; version="0.6-1"; sha256="10f2rkailk0bvg5hj9hxy0p3snknbpvsydx3cpsy0n6y5srwhrfr"; depends=[MASS]; };
+  blowtorch = derive { name="blowtorch"; version="1.0.1"; sha256="19z2z2alq5lr3f4nmjzpmyxssxalwfkm437bsjnzyf0r3zvycy9c"; depends=[ggplot2 foreach iterators]; };
+  BLR = derive { name="BLR"; version="1.3"; sha256="02p29p06vhh8gxkfnqdf9niq09bygshmiipvd3q19k92g0a10l69"; depends=[SuppDists]; };
+  BMA = derive { name="BMA"; version="3.17.1"; sha256="0lq42qn82969vhk2vdyxb1d7lrqqgp8793m9rlzgg011c6b38qam"; depends=[survival leaps robustbase]; };
+  BMAmevt = derive { name="BMAmevt"; version="1.0"; sha256="0cy3h81xd1jjg7fdwndb5az67cp7kn1wp87p17za8506vyxj1pa0"; depends=[coda]; };
+  bmd = derive { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; };
+  bmem = derive { name="bmem"; version="1.5"; sha256="1miiki743rraralk9dp12dsjjajj3iizcrfwmplf6xas6pl8sfk6"; depends=[Amelia MASS lavaan sem snowfall]; };
+  BMhyd = derive { name="BMhyd"; version="1.2-2"; sha256="09gb1pq9y3gq9avpaqrlxdsm9iqsxpbnr0bg2mw1vkhc0d5z8zv7"; depends=[corpcor numDeriv]; };
+  Bmix = derive { name="Bmix"; version="0.3"; sha256="0p3ks3miniz356spmdikynwa7yrdk1mwlpz081fnkjnwxa3kdsw7"; depends=[mvtnorm]; };
+  bmk = derive { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda plyr functional]; };
+  bmmix = derive { name="bmmix"; version="0.1-2"; sha256="00php2pgpnm9n0mnamchi6a3dgaa97kdz2ynivrf38s0vca7fqx8"; depends=[ggplot2 reshape2]; };
+  BMN = derive { name="BMN"; version="1.02"; sha256="12gyq01cn6a9ixqgki1ihx5jrp2gw6jdj7q210rb12xlvj3p6x7w"; depends=[]; };
+  bmp = derive { name="bmp"; version="0.2"; sha256="059ps1sy02b22xs138ba99fkxq92vzgfbyf2z5pyxwzszahgy869"; depends=[]; };
+  bmrm = derive { name="bmrm"; version="1.8"; sha256="1kw9i84v5larzy79aghp08760krp29xlwrjg4mh9fsa9nl9wxqda"; depends=[clpAPI kernlab]; };
+  BMS = derive { name="BMS"; version="0.3.3"; sha256="1yj9vi8jvhkwpcjkclf0zbah0dayridklpj65ay6r18fyf4crnd2"; depends=[]; };
+  bnlearn = derive { name="bnlearn"; version="3.6"; sha256="0q5w5lsjgr7lgfgb7yhybq5ixaps2p91gx19l6dg2xlxw2m5fnab"; depends=[]; };
+  BNPdensity = derive { name="BNPdensity"; version="2013.8"; sha256="1qlhav764ji289kcibbmqjj62mmxiw3zsiwjz1gkifzgpmzyar85"; depends=[]; };
+  bnpmr = derive { name="bnpmr"; version="1.1"; sha256="0hvwkdbs2p2l0iw0425nca614qy3gsqfq4mifipy98yxxvgh8qgc"; depends=[]; };
+  boa = derive { name="boa"; version="1.1.7-2"; sha256="1n7i0i8jq2sa1kzhbgyqzl9d53wja7fsxd7rligc8xjm0sdsb386"; depends=[]; };
+  BOG = derive { name="BOG"; version="1.1"; sha256="0lr2n4j32b7qzmyb2048kssc7sbchivhi2a8skmahhjl85jgy166"; depends=[hash DIME]; };
+  boilerpipeR = derive { name="boilerpipeR"; version="1.2"; sha256="00r8rlwx9qkfqk8x0mcskklz3skvnmcc55r9pd9rqxz7sp7s71h5"; depends=[rJava]; };
+  bold = derive { name="bold"; version="0.1.2"; sha256="0fjsnn9iqvlhgq9l5r17l5125arlsaz68pgd3b9i7596767zm1f2"; depends=[XML httr stringr assertthat]; };
+  Bolstad = derive { name="Bolstad"; version="0.2-25"; sha256="1dj0ib3jndnsdx2cqsy0dz54szdx1xq3r2xqnxzk4ysng6svdym8"; depends=[]; };
+  Bolstad2 = derive { name="Bolstad2"; version="1.0-28"; sha256="08cfadvl9jl9278ilsf8cm2i2a3i8zsa2f3vjzw2nlv85fwi2c7v"; depends=[]; };
+  boolean3 = derive { name="boolean3"; version="3.1.5"; sha256="0ayjiff1mv7mvzfbqlxryg3vmmq85a63yslw4rk04awh5k4kpr88"; depends=[optimx numDeriv lattice rgenoud mvtnorm rlecuyer]; };
+  BoolNet = derive { name="BoolNet"; version="2.0"; sha256="1zg6knqdmcx1wv6i72fpyh86jjkhb9k0xplaczcxfx2f294y4bfr"; depends=[]; };
+  Boom = derive { name="Boom"; version="0.1"; sha256="03xsfzfl1wvhbd6d1blhwx4dd0vpf7kaha2f50p6q17q6c1ph2vv"; depends=[MASS]; };
+  BoomSpikeSlab = derive { name="BoomSpikeSlab"; version="0.4.1"; sha256="0s0pbb5dmry736x19li5g364kirvhkhpyjm5q0kp5nvq83bi1hq0"; depends=[Boom]; };
+  boostr = derive { name="boostr"; version="1.0.0"; sha256="123ag8m042i1dhd4i5pqayqxbkfdj4z0kq2fyhxfy92a7550gib2"; depends=[foreach iterators stringr]; };
+  boostSeq = derive { name="boostSeq"; version="1.0"; sha256="0sikyzhn1i6f6n7jnk1kb82j0x72rj8g5cimp2qx3fxz33i0asx6"; depends=[genetics lpSolveAPI]; };
+  boot = derive { name="boot"; version="1.3-11"; sha256="0s8v5mpyz2pqmm0kk8qkjiqr3wb1j1mqazx5hgsdabq6ga85ah8j"; depends=[]; };
+  bootES = derive { name="bootES"; version="1.01"; sha256="00y901d5cjdpzras5w6mv851h5zgp36m5ib6dazs4vqrfpqymva8"; depends=[boot]; };
+  bootfs = derive { name="bootfs"; version="1.4.2"; sha256="1qac7v0yzhxzqbdhkpgb4z1gqr6v6hjyb2y5lsxlq5dg1ka1cnb0"; depends=[pROC igraph ROCR gbm colorRamps gplots gtools pamr randomForest Boruta caret tgp mlegp penalizedSVM]; };
+  bootLR = derive { name="bootLR"; version="0.9"; sha256="0p4hq8nfdd8jw8r8dmlb6va4g7jjnkbsah69hissa9lqawbj9pi7"; depends=[boot]; };
+  BootPR = derive { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; };
+  bootRes = derive { name="bootRes"; version="1.2.3"; sha256="0bb7w6wyp9wjrrdcyd3wh44f5sgdj07p5sz5anhdnm97rn1ib6dz"; depends=[]; };
+  bootruin = derive { name="bootruin"; version="1.2-1"; sha256="1ii1fcj8sn9x82w23yfzxkgngrgsncnyrik4gcqn6kv7sl58f4r3"; depends=[]; };
+  bootspecdens = derive { name="bootspecdens"; version="3.0"; sha256="0hnxhfsc3ac4153lrjlxan8xi4sg1glwb5947ps6pkkyhixm0kc1"; depends=[MASS]; };
+  bootStepAIC = derive { name="bootStepAIC"; version="1.2-0"; sha256="0p6v4zjsaj1p6c678010fazdh40lpv0rvhczd1halj8aic98avdx"; depends=[MASS]; };
+  bootstrap = derive { name="bootstrap"; version="2014.4"; sha256="1kf5jml03yfqz2868jbnjvy839x09ml0niyq85va503pq8gmj5br"; depends=[]; };
+  bootSVD = derive { name="bootSVD"; version="0.1"; sha256="1rzwp8kadyc0dg6lscag586xliapp1ninz7qxczl8jmxa9sx9z89"; depends=[]; };
+  Boruta = derive { name="Boruta"; version="3.1.0"; sha256="0dmg8yyx6bb5s6glqsajk0qqf6xwb8qzwi6gbi5agd3i57xm8nak"; depends=[randomForest rFerns]; };
+  boss = derive { name="boss"; version="2.1"; sha256="1knsnf19b1xvvq20pjiv56anbnk0d51aq6z3ikhi8y92ijkzh0y8"; depends=[lme4 geepack Matrix ncdf]; };
+  BoSSA = derive { name="BoSSA"; version="1.2"; sha256="0rvb6y7jwy0nmjvnpkim09fdph5kazg8cr0jchnz1s46n16gvc96"; depends=[ape SoDA]; };
+  boussinesq = derive { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; };
+  boxplotdbl = derive { name="boxplotdbl"; version="1.2.2"; sha256="01bvp6vjnlhc4lndxwd705bzlsh7zq0i9v66mxszrcz6v8hb9rwi"; depends=[]; };
+  bpca = derive { name="bpca"; version="1.2-2"; sha256="05ldz6b2s379mymj8jzvia9x6gj047gwsxvnv3zj9x8b1hvndnd6"; depends=[scatterplot3d rgl]; };
+  bpcp = derive { name="bpcp"; version="1.1.0"; sha256="15dy3bbpazm4g72lwdf925f13a4dpdhi771283564v9f3n7qm3qf"; depends=[]; };
+  bPeaks = derive { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
+  bpkde = derive { name="bpkde"; version="1.0-4"; sha256="142wmbs7hm5rs6vfgkg5q1rcc2jvg87kpxc8jbywf620ryycpc5z"; depends=[]; };
+  bqtl = derive { name="bqtl"; version="1.0-30"; sha256="1v1p3wvqm5hmwpnjqaz8vlpzm036gpzpxsvy7m0v4x7nc5vrq7g6"; depends=[]; };
+  BradleyTerry2 = derive { name="BradleyTerry2"; version="1.0-5"; sha256="131z9ccfh55inlczy5wnzni2pch4brs6nzjrg8f5xnvkpyy6jqsp"; depends=[lme4 brglm gtools]; };
+  BrailleR = derive { name="BrailleR"; version="0.9"; sha256="11aygays2f3qy6z8x8srs9d7saggqpcamns36f7dbcc94b84aqkj"; depends=[]; };
+  brainR = derive { name="brainR"; version="1.2"; sha256="1515v6kk73p4s3vrnkpkilfxfyqrf7b762sq6j364ygsyfybvh2z"; depends=[rgl misc3d oro_nifti]; };
+  brainwaver = derive { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; };
+  branchLars = derive { name="branchLars"; version="1.0"; sha256="1adk9j77ynv7y8q04nvb468ik4nq4ff3j2nbxw596kgg5bg1ymz0"; depends=[lars]; };
+  breakage = derive { name="breakage"; version="1.0-1"; sha256="1zn0hxkz4zqhrfny75gkp2sgc0fs4v3y940aw32fmjh4j8kl3n4j"; depends=[Imap]; };
+  breakaway = derive { name="breakaway"; version="1.0"; sha256="1agigb3b2ff1p9lx9ndz4hs1sgyv1g2zjb41l5p23370i5gk1nbn"; depends=[]; };
+  breakpoint = derive { name="breakpoint"; version="1.0"; sha256="0clmrad4ycpi0rxrvkh4agwixdayypjdnk3lfyb5g2w2hngrxv73"; depends=[ggplot2 foreach]; };
+  bReeze = derive { name="bReeze"; version="0.3-2"; sha256="1k5xc3ymi53pib4hpgy9x6s5c6dvw5v1xrqyiqmbzx2djfw65dr5"; depends=[RColorBrewer]; };
+  brew = derive { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
+  brglm = derive { name="brglm"; version="0.5-9"; sha256="14hxjamxyd0npak8wyfmmb17qclj5f86wz2y9qq3gbyi2s1bqw2v"; depends=[profileModel]; };
+  bride = derive { name="bride"; version="1.3"; sha256="03k9jwklg1l8sqyjfh914570880ii0qb5dd9l0bg0d0qrghbj0rk"; depends=[]; };
+  brnn = derive { name="brnn"; version="0.3"; sha256="0fpmjmxzcsxqv3vfy568r7js0zpydh2q70vw2s8yki2jzxl4gsl9"; depends=[Formula]; };
+  Brobdingnag = derive { name="Brobdingnag"; version="1.2-4"; sha256="1saxa492f32f511vw0ys55z3kgyzhswxkylw9k9ccl87zgbszf3a"; depends=[]; };
+  broman = derive { name="broman"; version="0.48-2"; sha256="0w3fxs753ds2d4vzz7mck3cdjh4d1mjbwdbzqkb2rxdx5l4w2jp8"; depends=[assertthat]; };
+  Brq = derive { name="Brq"; version="1.0"; sha256="0m01qw0mh9za1gx1vkbyvwny4k5fvmvs9dbp0504q8jqfqf4l1vj"; depends=[quantreg truncnorm]; };
+  BRugs = derive { name="BRugs"; version="0.8-3"; sha256="1qjwm6qizg70nvpl5p2yx65ynghazchqw7d2iadhdjz7dd293sqi"; depends=[coda]; };
+  BSagri = derive { name="BSagri"; version="0.1-8"; sha256="148pr4lkgdi4bwc9lavgj356nh240iazz28xklq14rw4gzhmz2k4"; depends=[gamlss multcomp MCPAN mvtnorm boot mratios]; };
+  BSDA = derive { name="BSDA"; version="1.01"; sha256="06mgmwwh56bj27wdya8ln9mr3v5gb6fcca7v9s256k64i19z12yi"; depends=[e1071 lattice]; };
+  bshazard = derive { name="bshazard"; version="1.0"; sha256="151c63pyapddc4z77bgkhmd7rsa1jl47x8s2n2s8yc6alwmj6dvs"; depends=[survival Epi]; };
+  BsMD = derive { name="BsMD"; version="2013.0718"; sha256="1yvazqlbmm221r7nkhrhi309gkk6vx7ji5xlvf07klya2zg20gcj"; depends=[]; };
+  bspec = derive { name="bspec"; version="1.4"; sha256="1iq66hx4d0f5pvsh6qcsd2kzm913aqil4w66bfshj192fwbfziix"; depends=[]; };
+  bspmma = derive { name="bspmma"; version="0.1-1"; sha256="0bd6221rrbxjvabf1lqr9nl9s0qwav47gc56sxdw32pd99j9x5a9"; depends=[]; };
+  BSquare = derive { name="BSquare"; version="1.1"; sha256="1s16307m5gj60nv4m652iisyqi3jw5pmnvar6f52rw1sypfp5n49"; depends=[quadprog quantreg VGAM]; };
+  BSSasymp = derive { name="BSSasymp"; version="1.0-2"; sha256="1m0rssdi4v68sm28x99j5igcl3z2hnlj8f4wx9xxxbj4l6mqy6yv"; depends=[fICA JADE]; };
+  bst = derive { name="bst"; version="0.3-4"; sha256="1s7qv2q9mcgg1c5mhblqg3nk9hary4pq6z0xgi3a6rs1929mgdyf"; depends=[rpart gbm]; };
+  bstats = derive { name="bstats"; version="1.1-11-5"; sha256="15is47404zlcqrniydhxc9ssixnm846spxcfds4cjg9d9x3mdscj"; depends=[]; };
+  bsts = derive { name="bsts"; version="0.5.1"; sha256="0qzyrn8zbfxrplyw04yrcakig6lc1i8fpwl893vbzciyhwmrjlya"; depends=[BoomSpikeSlab zoo xts Boom]; };
+  btf = derive { name="btf"; version="1.1"; sha256="0n1h4hmjpvj97mpvannh3s5l08m4zfv0w64hrgdv4s5808miwfzc"; depends=[Matrix coda]; };
+  BTYD = derive { name="BTYD"; version="2.3"; sha256="032xcy4z3gs4kqn91z7l6anp1vn5j60g32k2h87jx2aymy796cl0"; depends=[gsl Matrix]; };
+  bujar = derive { name="bujar"; version="0.1-4"; sha256="0v48mkg78sy91z1z4xvy2r3xmay74615kzqxjqlclkk20999z56m"; depends=[mda ncvreg mboost gbm earth elasticnet rms]; };
+  BurStFin = derive { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
+  BurStMisc = derive { name="BurStMisc"; version="1.00"; sha256="0718a1p7iiqkfhhmnzxggc6hd8sm847n1qh7rfbdl8b0k0bgvnj0"; depends=[]; };
+  bursts = derive { name="bursts"; version="1.0-1"; sha256="172g09d1vmwl83xs6gr4gfblqmx3apvblpzdr5d7fcw1ybsx0kj6"; depends=[]; };
+  bvenn = derive { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; };
+  bvls = derive { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; };
+  bvpSolve = derive { name="bvpSolve"; version="1.2.4"; sha256="1ss25md3q59cm40rxw29x9421xjc7gd964hx9xwvx4h8dis34rgd"; depends=[rootSolve deSolve]; };
+  BVS = derive { name="BVS"; version="4.12.1"; sha256="111g61bpwh80v6gy44q087swcrnnnzdcibm22pzzi9jsfphy6l0c"; depends=[MASS msm haplo_stats]; };
+  c060 = derive { name="c060"; version="0.2-3"; sha256="1lynkmdlqi41szrpqqa79d5i65lindqgi0dwqpvvw94yjnbnm6b3"; depends=[glmnet survival mlegp tgp peperr penalizedSVM lattice]; };
+  c3net = derive { name="c3net"; version="1.1.1"; sha256="0m4nvrs41kmlakc6m203zlncqwgj94wns8kzcb31xngjcacmcq42"; depends=[igraph]; };
+  C50 = derive { name="C50"; version="0.1.0-19"; sha256="1x8a284w1fffvvd7mx3xn1i7sr266wq7j6k0d0v8rln2fwilkd07"; depends=[]; };
+  ca = derive { name="ca"; version="0.55"; sha256="1mk6hias079ys4khlq0mb4z80mcqhml2n8fdiyfcxy61vj522yb8"; depends=[]; };
+  cabootcrs = derive { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; };
+  cacher = derive { name="cacher"; version="1.1-2"; sha256="17zw30mpi1vrgk1jsxqpw2id3k78rrs6i55kq0yl64aikmq91c0v"; depends=[]; };
+  cacheSweave = derive { name="cacheSweave"; version="0.6-1"; sha256="0w30ryd24x2z204k8j41knayq3ax4b5zf0ai1andgdzjvf5jmmas"; depends=[filehash stashR digest]; };
+  cacIRT = derive { name="cacIRT"; version="1.3"; sha256="1qd9qw47d9dmxhnva3ik62q5rfcw0pd1ha1y689345nl05wysjkh"; depends=[]; };
+  CaDENCE = derive { name="CaDENCE"; version="1.2.1"; sha256="1l6mqra36syvpg9aqh4p6ndj3yj50rabx8hh788zpy4n57m5lpv7"; depends=[]; };
+  CADFtest = derive { name="CADFtest"; version="0.3-2"; sha256="00nsnzgjwkif7mbrw7msswjxhi9aysjdx3qg3i4mdmj1rmp7c4dc"; depends=[dynlm sandwich tseries urca]; };
+  cAIC4 = derive { name="cAIC4"; version="0.2"; sha256="13sp3wywv82wgi1vsbxwn68v9xigy0fi3mcwyxjmmgmnsxns2fza"; depends=[lme4 Matrix]; };
+  Cairo = derive { name="Cairo"; version="1.5-6"; sha256="0x5xd2xq5q8a3kzmz7f9bawg3j131rhyb3s7w34acg7rd79l1935"; depends=[]; };
+  cairoDevice = derive { name="cairoDevice"; version="2.20"; sha256="1v9sdv35a1sl42gsz1y9jw1p6fr19yny07cc2pwmcrb4vs5lhysf"; depends=[]; };
+  CALIBERrfimpute = derive { name="CALIBERrfimpute"; version="0.1-6"; sha256="036nwnday098mawc9qlgl3jjjcdjnja1immg6xkq27hvv2xfbz82"; depends=[mice mvtnorm randomForest]; };
+  calibrate = derive { name="calibrate"; version="1.7.2"; sha256="010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"; depends=[MASS]; };
+  calibrator = derive { name="calibrator"; version="1.2-6"; sha256="1arprrqmczbhc1gl85fh37cwpcky8vvqdh6zfza3hy21pn21i4kh"; depends=[emulator cubature]; };
+  CALINE3 = derive { name="CALINE3"; version="1.0-2"; sha256="07w1kb7wqdi1qslpvpmqcmq6da4h7sgwv3aih4brdprym61c3rkm"; depends=[]; };
+  calmate = derive { name="calmate"; version="0.11.0"; sha256="1zy836nk607ra67q0x7yc4czkcn9ffzlipzhr4mhjk6l5d8sys2q"; depends=[R_utils aroma_core MASS R_methodsS3 R_oo matrixStats R_filesets]; };
+  CAMAN = derive { name="CAMAN"; version="0.71"; sha256="1pfdypzj0s1nrlyzlam7pprggiriksfdri5xpmm43gmx3bybx8zb"; depends=[sp mvtnorm]; };
+  camel = derive { name="camel"; version="0.2.0"; sha256="0krilird8j69zbll96k46pcys4gfkcnkisww138wslwbicl52334"; depends=[lattice igraph MASS Matrix]; };
+  cancerTiming = derive { name="cancerTiming"; version="2.0.0"; sha256="0p5hxzhql2rlyx334d8km676va50ql73kxsqjr15q80z7zffyq9d"; depends=[LearnBayes]; };
+  candisc = derive { name="candisc"; version="0.6-5"; sha256="0rbmfyhnyaq1j7sql2sgi47ahrggbb71z2z5pw2gg16kd2f465qk"; depends=[car heplots]; };
+  cape = derive { name="cape"; version="1.2"; sha256="01bh8lngp346w6pjvbw4jllbr8f9f8ypsxv6c9p6zv5l7w5yzri8"; depends=[corpcor evd qpcR Matrix igraph fdrtool]; };
+  caper = derive { name="caper"; version="0.5.2"; sha256="1l773sxmh1nyxlrjz8brnwhwraff826scwixrqmgdciqk7046d35"; depends=[ape MASS mvtnorm]; };
+  capm = derive { name="capm"; version="0.5"; sha256="1pal7v965zyl52fivdqn30w570gvhxjsnafml6jz16x4kszw5jar"; depends=[deSolve FME survey ggplot2 reshape2 shiny rgdal maptools sp]; };
+  capme = derive { name="capme"; version="1.3"; sha256="0d4acwp4y8djcry8gr34dx3h8bn8sj3z2di5zl9657czw5289zm8"; depends=[lpSolve]; };
+  capushe = derive { name="capushe"; version="1.0"; sha256="0dwxaiqnz0qbsk4icjapklaa9bpjfl4gqvk1f92livy97jmf1r44"; depends=[MASS]; };
+  capwire = derive { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
+  car = derive { name="car"; version="2.0-20"; sha256="0dbq3ndw9srrf7pp7wl8gj7cwcgggnjh4i6c9aqmrap7wnaa14fb"; depends=[MASS nnet]; };
+  CARBayes = derive { name="CARBayes"; version="3.0"; sha256="0wflay6k159cw8149qb4ib1mlpsbgddlbkiyfxd4qz3vwl06dg3q"; depends=[MASS Rcpp truncdist spam coda]; };
+  CARBayesST = derive { name="CARBayesST"; version="1.0"; sha256="1mn2g9i39pzq0jvz1qml41mf1bj6qx3cp5c3hszgm8vbamc2a1xx"; depends=[Rcpp truncdist coda]; };
+  carcass = derive { name="carcass"; version="1.2"; sha256="104lpqs65h9z8d3bl0m1f30anadk9hq4sg2ahgppm5n3d4yhcdl5"; depends=[lme4 survival expm arm]; };
+  cardidates = derive { name="cardidates"; version="0.4.5"; sha256="1zw8c8jiq8bz748xppwj88z1882qk7k2r0k2gkrsvw7b6c9h35pb"; depends=[boot pastecs]; };
+  care = derive { name="care"; version="1.1.5"; sha256="1gvx4a88ci7428sxna74jxfi8ykzjgnarc18mvm8h3mk7i03r4mj"; depends=[corpcor]; };
+  CARE1 = derive { name="CARE1"; version="1.1.0"; sha256="1zwl4zv60mrzlzfgd7n37jjlr0j918a8ji36n94s5xw8wwipiznw"; depends=[]; };
+  caret = derive { name="caret"; version="6.0-30"; sha256="11298kqidv69zfaqzf7px539dchvkk64ilxy8k55nx37pn665v01"; depends=[lattice ggplot2 car reshape2 foreach plyr nlme BradleyTerry2]; };
+  caribou = derive { name="caribou"; version="1.1"; sha256="0ibl3jhvsgjfcva0113z0di9n5n30bs90yz0scckfv1c0pjhn4xd"; depends=[]; };
+  CarletonStats = derive { name="CarletonStats"; version="1.1"; sha256="18pd1hi8bnbv0sdixw746xvdg9szvng422yj12mk0k50v60403xg"; depends=[]; };
+  caroline = derive { name="caroline"; version="0.7.6"; sha256="1afxxbrd7w628l4pxdmvwbs7mbgxlhnfq3nxk2s93w47gn7r9fp7"; depends=[]; };
+  CARramps = derive { name="CARramps"; version="0.1.2"; sha256="097xxvql6qglk6x4yi7xsvr15n0yj21613zv003z0mhgvqr1n5vf"; depends=[]; };
+  CARrampsOcl = derive { name="CARrampsOcl"; version="0.1.4"; sha256="1sdrir7h7xl1imipm9b71vca062dxqsqd8mg3w9f3s80x2aghxl8"; depends=[OpenCL fields]; };
+  caschrono = derive { name="caschrono"; version="1.4"; sha256="1l9hmsacynh73kh14jrp7a42385v78znn9ll1jchzgkyz2x4dibw"; depends=[forecast Hmisc its timeSeries]; };
+  caseMatch = derive { name="caseMatch"; version="1.0"; sha256="1nq1ca59akdsp1a5j3y252zy3fcw5908a7k83k93gjy7j1m7q6f8"; depends=[]; };
+  cat = derive { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
+  catdata = derive { name="catdata"; version="1.2"; sha256="0907sr7kjlr47sxaxvkk3za5j2rn6zvckkgjc9inr5hrn5nv5hsv"; depends=[MASS]; };
+  CatDyn = derive { name="CatDyn"; version="1.0-5"; sha256="1syc40256104nm8n7h5b7w3ia2iya0y47p1sdxk8g1dy4l5wnalm"; depends=[optimx BB]; };
+  catenary = derive { name="catenary"; version="1.1"; sha256="0khdk61fh8ngr70qf9i2655h5nblj98r8zl724ljv1cjb5x1vphv"; depends=[ggplot2 boot]; };
+  cati = derive { name="cati"; version="0.8"; sha256="0kz58dyq5jacf2w2nvhyh3dvk0vgcrm7fjfirywykbrbh5srfw2a"; depends=[nlme ade4 ape e1071 mice rasterVis hypervolume]; };
+  catIrt = derive { name="catIrt"; version="0.4-2"; sha256="1s6r85ylznhsf4wwlf2rlyhfp5p84lkp0mxpg1p9bwrqnhahygmk"; depends=[numDeriv sfsmisc]; };
+  catnet = derive { name="catnet"; version="1.14.3"; sha256="099vxi3fy5y4w635mqmbzsyqiswsw76kz3l5vgg8ckrj1cqshh5z"; depends=[]; };
+  caTools = derive { name="caTools"; version="1.17"; sha256="00jgbna2dm99y5hwk3y28ng2w2c0vxrx4rlz6mhd15z4lsdx1ys6"; depends=[bitops]; };
+  catR = derive { name="catR"; version="3.1"; sha256="03mp0gmzjdxy5ashlir3l6id5r7iw9mvmwvi12jg2byggm5blby3"; depends=[]; };
+  catspec = derive { name="catspec"; version="0.97"; sha256="1crry0vg2ijahkq9msbkqknljx6vnx2m88bmy34p9vb170g9dbs1"; depends=[]; };
+  CausalGAM = derive { name="CausalGAM"; version="0.1-3"; sha256="0g68m2kxixwr7rx65r57m1n0qa161igc428zh9rj91fg6h4pdq4w"; depends=[gam]; };
+  causalsens = derive { name="causalsens"; version="0.1"; sha256="1v72zjplsa073f92qdza1zvwa1fwxlpmh8f6w5z8qcyiwqcbmifr"; depends=[]; };
+  Causata = derive { name="Causata"; version="4.2-0"; sha256="04lndjy4rdf063z75zv42b000z06ffnr91pv2sql1ks6w60zmh1m"; depends=[XML R_utils rjson RMySQL RCurl stringr yaml boot foreach data_table glmnet ggplot2]; };
+  CAvariants = derive { name="CAvariants"; version="2.1"; sha256="105bj6r6i7xz95lr5g4ld9xfgyq1dn15lw117jivx76z3k2zpi59"; depends=[]; };
+  cba = derive { name="cba"; version="0.2-14"; sha256="067rm1rfz0rrq8xkzibd81pwvc9rx7ki46bncim4j5ra6i9pn24n"; depends=[proxy]; };
+  CBPS = derive { name="CBPS"; version="0.8"; sha256="0a619sgr4iv66y16a7bfywxhniaxsrixr6pqwn88hj0j0k5b312i"; depends=[MASS MatchIt nnet numDeriv]; };
+  CCA = derive { name="CCA"; version="1.2"; sha256="00zy6bln22qshhlll0y0adnvb8wa1f7famqyws71b6pcnwxki5ha"; depends=[fda fields]; };
+  CCAGFA = derive { name="CCAGFA"; version="1.0.3"; sha256="1qicxrrwwd9il894v11lmmf4i88j72nyqm3z8iz9f7m17l9yiwwf"; depends=[]; };
+  ccaPP = derive { name="ccaPP"; version="0.3.0"; sha256="1wj5yij02372xarhvxsnh43v0l6xb2p8rflmskw6x86vpcdqd6zw"; depends=[Rcpp pcaPP robustbase RcppArmadillo]; };
+  cccd = derive { name="cccd"; version="1.04"; sha256="0mhqv9hzvw3w6wp23kvw4py54ij6x9r19b87i97wwgqr5rhhh1f3"; depends=[igraph plotrix proxy]; };
+  ccChooser = derive { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; };
+  cccrm = derive { name="cccrm"; version="1.1"; sha256="0q7vxzj3lblz5ddgzm8z99k0b0z194963hx96bbkqm4rv705dgb0"; depends=[nlme gdata]; };
+  ccda = derive { name="ccda"; version="1.0"; sha256="13wxzwpld55rbpbslrgm2f7gamvkbmkaic7xrp1nn4l3lvg236dy"; depends=[MASS]; };
+  ccgarch = derive { name="ccgarch"; version="0.2.3"; sha256="0angffla3sk9i86v6bbsav95fp3mz5yvq7qfv0fx2v0nd2cx116w"; depends=[]; };
+  cclust = derive { name="cclust"; version="0.6-18"; sha256="1lyk205i6q0s194r4l575l531c60kdql6p8aqhjjfkjfhczh5hq3"; depends=[]; };
+  CCM = derive { name="CCM"; version="1.1"; sha256="0gya1109w61ia6cq3jg2z5gmvjkv9xg71l2rxhrrf6bx1c2nsrq6"; depends=[]; };
+  CCMnet = derive { name="CCMnet"; version="0.0-2"; sha256="1x5xjnnyr31yq9cgqfrvg71x7mmc2c54r59fv0az49njh3yg3vja"; depends=[sna network ergm]; };
+  CCP = derive { name="CCP"; version="1.1"; sha256="07jxh33pb8llk1gx4rc80ppi35z8y1gwsf19zrca9w91aahcs8cx"; depends=[]; };
+  CCpop = derive { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; };
+  CCTpack = derive { name="CCTpack"; version="1.2"; sha256="13350yqfj8fdmlhi2il0jvjfa58q6xrjw6jjwnla0y0kh1hgycb3"; depends=[R2jags rjags psych mvtnorm polycor MASS]; };
+  cda = derive { name="cda"; version="1.5.1"; sha256="09a2jb25219hq6if3bx03lsp94rp2ll9g73dhkdi665y7rlhgqwh"; depends=[dielectric Rcpp statmod randtoolbox reshape2 plyr]; };
+  cdb = derive { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
+  CDFt = derive { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; };
+  CDLasso = derive { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
+  CDM = derive { name="CDM"; version="3.3-24"; sha256="1s6bp45b9y80i3ildha2v4zb41rpf0vxrwc7rh38pzalvvyawgq7"; depends=[mvtnorm MASS psych polycor sfsmisc Rcpp]; };
+  CDNmoney = derive { name="CDNmoney"; version="2012.4-1"; sha256="1bnfsygbzdd70m5s9qq7524b1fybdws46axxjbw9dhwqpr8w85id"; depends=[]; };
+  CDVine = derive { name="CDVine"; version="1.2"; sha256="1qfjbzdfz2dydkfw3b0jjma4csn62177j5sgzh6rszf0nifsi97g"; depends=[MASS mvtnorm igraph]; };
+  cec2005benchmark = derive { name="cec2005benchmark"; version="1.0.3"; sha256="1fc833ji557y2vb6snlxh90gz1n7fxjfkwjmdcmasj1sfzaalsjy"; depends=[]; };
+  cec2013 = derive { name="cec2013"; version="0.1-4"; sha256="199r6b1gkay9a7v1x7v2w8xmxmafvizdyb1dkiq3qylsqvhq994d"; depends=[]; };
+  celestial = derive { name="celestial"; version="1.1"; sha256="19yxaa63px9byn5k2k2qr89f5vy73cqb5l4zq4qj1v27g06k5dy7"; depends=[]; };
+  CellularAutomaton = derive { name="CellularAutomaton"; version="1.1-1"; sha256="0kmw2ic161xwalqa63hznic4n4hdz20hsilf2awlcldg7m9si1zd"; depends=[R_oo R_methodsS3]; };
+  cellVolumeDist = derive { name="cellVolumeDist"; version="1.3"; sha256="00hq3nbfbnmg2lhrqd0glkh5ld50fv54ll3q6v875d1lgs44sln1"; depends=[minpack_lm gplots]; };
+  cem = derive { name="cem"; version="1.1.10"; sha256="0lykr7sksii30nk4z8pvn4bdmvhm5952grrsvb63qblazg3b84qc"; depends=[nlme lattice randomForest combinat]; };
+  censNID = derive { name="censNID"; version="0-0-1"; sha256="1ij5ci6nkqf0rq51vyh4jw5sr3y46yndfkjmwl78ppdj66axxir5"; depends=[]; };
+  censReg = derive { name="censReg"; version="0.5-20"; sha256="15k7iq4275dyah3r47vgxsx6g6mr7ma53lkv6d1n89bczzys72kx"; depends=[maxLik glmmML sandwich miscTools]; };
+  CensRegMod = derive { name="CensRegMod"; version="0.0"; sha256="0vfkyj2mx5l1pmcah8zilxrjlb6iign1by4ydjq8ddk1zyi242sw"; depends=[]; };
+  CePa = derive { name="CePa"; version="0.5"; sha256="1y2q72j8bqx509i62a2x9j40rj5bkpgx4z6fwj05ibazc1441asd"; depends=[igraph snow]; };
+  cepp = derive { name="cepp"; version="1.0"; sha256="0lw3qr0vp0qbg2b62abhi1ady1dwig68m4nzqnjnk3lqxzp0fs8f"; depends=[trust randtoolbox]; };
+  CerioliOutlierDetection = derive { name="CerioliOutlierDetection"; version="1.0.8"; sha256="0n67y7ah496wck9hlrphya9k753gk44v7zgfz4s2a5ii49739zqi"; depends=[robustbase]; };
+  cfa = derive { name="cfa"; version="0.9-3"; sha256="0pl1mxv6jxn3mvlh75gr8as0daklyr7gkh37fcgmn2bwi973sspy"; depends=[]; };
+  CfEstimateQuantiles = derive { name="CfEstimateQuantiles"; version="1.0"; sha256="1qf85pnl81r0ym1mmsrhbshwi4h1iv19a2wjnghbylpjaslgxp6i"; depends=[]; };
+  CFL = derive { name="CFL"; version="0.1"; sha256="1vi1iiyg7qga7knpqgf30zfzy46aqzs8digkv5933lc2xrv03ap1"; depends=[]; };
+  cg = derive { name="cg"; version="1.0-1"; sha256="0qi3xzjwx303b9m1sddyvz1raw78m5gy9bxqy08hyja2gqj8v855"; depends=[Hmisc VGAM MASS lattice survival multcomp nlme]; };
+  cgam = derive { name="cgam"; version="1.1"; sha256="1dy23ix0ll0riqpdqxhf86fmw4m8mgqmp6m1c4nyhwk2z2adxd3k"; depends=[coneproj]; };
+  cgAUC = derive { name="cgAUC"; version="1.1.2"; sha256="1y3q4hmkd6wbn4zjgclla3jif272sn4vv63ijxnfrsylzy02xhln"; depends=[]; };
+  cgdsr = derive { name="cgdsr"; version="1.1.30"; sha256="0c8n2c6gqhk5klrxmmyf77czn2zwmm1f9cbp8n8yrhdcdqminznm"; depends=[R_oo R_methodsS3]; };
+  cggd = derive { name="cggd"; version="0.8"; sha256="06z0mrxxc02parn9vkjv89qq4yqmsccsy319fi6c5iarssyvin1r"; depends=[]; };
+  cgh = derive { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; };
+  cghFLasso = derive { name="cghFLasso"; version="0.2-1"; sha256="0b1hnjf9g0v47hbz0dy9m6jhcl1ky20yyhhmm8myng2sndcpjsbf"; depends=[]; };
+  cghseg = derive { name="cghseg"; version="1.0.2"; sha256="0nz52wlgpl9r9pa41lz7nzk35fvcn3zr0gyliiw8q1nyxl2m0q1s"; depends=[]; };
+  cgwtools = derive { name="cgwtools"; version="1.1"; sha256="11ryc20iqz0xwpq0cfjy37f6mnyrwvhf7kkf574j0v9fn6zg2jic"; depends=[]; };
+  ChainLadder = derive { name="ChainLadder"; version="0.1.7"; sha256="06jgxhjlvzcgfm7dnzd81ycf1xx7qcyvk5541qmnvniwqppfvm19"; depends=[systemfit Matrix actuar Hmisc statmod reshape2 MASS lattice tweedie]; };
+  changeLOS = derive { name="changeLOS"; version="2.1"; sha256="1bld2phnvcwfpqbkg1ycjci4i4dc4di8gjckbqjp997zyr42nnay"; depends=[survival]; };
+  changepoint = derive { name="changepoint"; version="1.1.5"; sha256="090rak3ydlh92w0mpp2sjjx4m9x33clcs77waj20gzxbq38mqdci"; depends=[zoo]; };
+  ChargeTransport = derive { name="ChargeTransport"; version="1.0.2"; sha256="0mq06ckp3yyj5g1z2sla79fiqdk2nlbclm618frhqcgmq93h0vha"; depends=[]; };
+  CHAT = derive { name="CHAT"; version="1.1"; sha256="1hl4xr4lkvb7r36gcbgax6ipqc3rsvn1r03w7fk9gf9bbyg7bkhg"; depends=[DPpackage]; };
+  CHCN = derive { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
+  cheb = derive { name="cheb"; version="0.3"; sha256="0vqkdx7i40w493vr7xywjypr398rjzdk5g410m1yi95cy1nk4mc7"; depends=[]; };
+  chebpol = derive { name="chebpol"; version="1.3-1040"; sha256="13x6li7cs72pnhxxdigg6r9f0nay89hldzh76vp0hi0i2y9vw0dz"; depends=[]; };
+  CheckDigit = derive { name="CheckDigit"; version="0.1-1"; sha256="0091q9f77a0n701n668zaghi6b2k3n2jlb1y91nghijkv32a7d0j"; depends=[]; };
+  checkmate = derive { name="checkmate"; version="1.2"; sha256="0n1qqyzwyxg6ymibxpbr84gg5bnrwfgw9klwyyvlq1bhd3qs3njn"; depends=[]; };
+  cheddar = derive { name="cheddar"; version="0.1-625"; sha256="1qdxid6h7kyja0ac4v6ml2s6vw5lhrlchcz8lbf37gs9bpx6b4jc"; depends=[]; };
+  chemCal = derive { name="chemCal"; version="0.1-34"; sha256="0sn0mhp2d9a9rddfpkiv1pkrmvnv4sy18c1x2ks0lwpaklg78fbs"; depends=[]; };
+  chemometrics = derive { name="chemometrics"; version="1.3.8"; sha256="0vd5p2qhd17hr9psk6pg4jvcadz2pjffkjaffva4spa7m7qpp5ss"; depends=[class e1071 gclus lars MASS mclust nnet pcaPP pls rpart robustbase som]; };
+  ChemometricsWithR = derive { name="ChemometricsWithR"; version="0.1.8"; sha256="084da2hx6agryw7bv6img10pqmsdz2mpihbrj6j081lammrik4fj"; depends=[ChemometricsWithRData MASS pls]; };
+  ChemometricsWithRData = derive { name="ChemometricsWithRData"; version="0.1.3"; sha256="14l1y4md8hxq8gvip5vgg07vcr0d9yyhm5ckhzk8zwprdabn9a10"; depends=[]; };
+  chemosensors = derive { name="chemosensors"; version="0.7.7"; sha256="1yi0d69nxknca3k7pnxppgjaqyzlc1ksxaa7w31favq0xbdw508n"; depends=[pls plyr reshape2 ggplot2 LearnBayes quadprog RColorBrewer]; };
+  ChemoSpec = derive { name="ChemoSpec"; version="2.0-2"; sha256="01zng3nhsynj8kbnk7aisj1803q9svd9n6jnnl0vb82lsb29bfw7"; depends=[pls amap chemometrics robustbase RColorBrewer plyr pcaPP mvtnorm mvoutlier rgl R_utils mclust MASS baseline IDPmisc gsubfn lattice seriation]; };
+  cherry = derive { name="cherry"; version="0.5-10"; sha256="0fs4p5k1lwwlin5fj9z91aw59ybp60phjk293imizg6vpai5h39p"; depends=[bitops lpSolve Matrix]; };
+  chillR = derive { name="chillR"; version="0.54"; sha256="1qcwspww5nvp6nh26ly6ckqd0jzq4fkq5svjj5a55pvk04xk9frs"; depends=[pls Kendall spam fields]; };
+  chipPCR = derive { name="chipPCR"; version="0.0.7"; sha256="0acj8z92zbfv8b14j31h7vlaf8k4w44z8gcg8vcfhxgskfajcwk0"; depends=[MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
+  chngpt = derive { name="chngpt"; version="2014.5-29"; sha256="0i8hz8cixy3fx9cpprraqpadrs835zna8y64irp85xhckdrv9xzv"; depends=[kyotil MASS]; };
+  CHNOSZ = derive { name="CHNOSZ"; version="1.0.3.1"; sha256="0cmirnb8jkaxnscpkwm2a8yyzl9zaf3q323avpgg7fwwhr6c1l19"; depends=[]; };
+  ChoiceModelR = derive { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; };
+  choplump = derive { name="choplump"; version="1.0-0.3"; sha256="10nkkcmpay4rcqbkdhlksnxqb177j5bjpsffyy6q5dbl7nf7whx1"; depends=[]; };
+  chords = derive { name="chords"; version="0.67"; sha256="0dj9bbl5abdvvfrn17xxnrnrlvdxw4m841ds37a6pf8dzprs1gdv"; depends=[]; };
+  choroplethr = derive { name="choroplethr"; version="1.7.0"; sha256="1sq518zb6pv1sg7vb7ml4wsfpk1a5a73mcmdz8an1lnwnqbywsmy"; depends=[ggplot2 scales plyr Hmisc acs stringr]; };
+  chromoR = derive { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[haarfisz gdata]; };
+  chron = derive { name="chron"; version="2.3-45"; sha256="0jkanbisi1bxh35rg0i6sl82f8r9v8va8mf8hknfvwv7p7n3ddpx"; depends=[]; };
+  CHsharp = derive { name="CHsharp"; version="0.3"; sha256="0aa9v6yih6qmqsmc8zsl8k1wqsp3sp2bfwri3d37k06vfj7gwbh0"; depends=[scatterplot3d KernSmooth]; };
+  CIDnetworks = derive { name="CIDnetworks"; version="0.6.0"; sha256="0bx1wgcsbkg6zqza435fd11kaqkdspl4mlnjjjca8j0gcfvdjxgc"; depends=[mvtnorm msm Rcpp igraph numDeriv pbivnorm]; };
+  CIFsmry = derive { name="CIFsmry"; version="1.0.1"; sha256="118vyiiy4iqn86n9xf84n5hrwrhzhr1mdsmyg9sm6qq6dm7zg6la"; depends=[]; };
+  cin = derive { name="cin"; version="0.1"; sha256="1pwvy5nh5nrnysfqrzllb9fcrpddqg02c7iw3w9fij2h8s2v6kq5"; depends=[]; };
+  CINID = derive { name="CINID"; version="1.0"; sha256="0xa9zbd578ac5gc2mm7k5yisw5sx8x259c5gwyy6frpkldhbwldn"; depends=[]; };
+  CINOEDV = derive { name="CINOEDV"; version="1.0"; sha256="1a6c0y7nzqmb0x5baf54fyddnhi94ixybwm3mgim45z2jzak6435"; depends=[R_matlab igraph ggplot2 reshape2]; };
+  CircE = derive { name="CircE"; version="1.0"; sha256="1fik612iggqv9hvp9nmpx0h6g6s6vfk99z8anvqkk5ify5690g1x"; depends=[]; };
+  circlize = derive { name="circlize"; version="0.1.0"; sha256="0v5czgs21wn261bw686nbsn3c15ssdkx3frclwqcvqlk61xfghqr"; depends=[]; };
+  CircNNTSR = derive { name="CircNNTSR"; version="2.1"; sha256="1rl17kw6bl5xf7pgsc4im12i2kqz4a3b11vzzlb6wfl5yck6iff5"; depends=[]; };
+  CircStats = derive { name="CircStats"; version="0.2-4"; sha256="1f2pf1ppp843raa82s2qxm3xlcv6zpi578zc4pl0d7qyxqnh603s"; depends=[MASS boot]; };
+  circular = derive { name="circular"; version="0.4-7"; sha256="1kgis2515c931ir76kpxnjx0cscw4n09a5qz1rbrhf34gv81pzqw"; depends=[boot]; };
+  cit = derive { name="cit"; version="1.2"; sha256="1mk3bgac8qhc48vm0z8fhygsrrd5mqznyblbfv03y4rjiyh7f2qs"; depends=[]; };
+  CITAN = derive { name="CITAN"; version="2011.08-1"; sha256="1viv2iha6hcghh4iy4ndnbrnhcdrjixk837v78w43mdcmrkjh3rb"; depends=[DBI RSQLite RGtk2 hash ADGofTest]; };
+  citbcmst = derive { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
+  citccmst = derive { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
+  CityPlot = derive { name="CityPlot"; version="2.0"; sha256="0lskgxmagqjglvpq39hgbygkf4qp28i2bj6b4m2av1s3pzb4465g"; depends=[]; };
+  Ckmeans_1d_dp = derive { name="Ckmeans.1d.dp"; version="3.02"; sha256="1r7zxvrcn8lg8i74fnjr7mqcnhc0y5lsxy1zch1bhbrnbr19sgq5"; depends=[]; };
+  cladoRcpp = derive { name="cladoRcpp"; version="0.14.4"; sha256="0d4vl7xrrwbhhx56ymw52rb5svw9nskxdya4dl04lw1qxc45p4jy"; depends=[Rcpp]; };
+  CLAG = derive { name="CLAG"; version="2.18.1"; sha256="0y8m6m01vw3rxwrmxvwhpiy6dd2snr0lhb026l1494y43hhqi3wy"; depends=[]; };
+  class = derive { name="class"; version="7.3-11"; sha256="1j6wqirih9x6q50vq21543np4i99ia6ih2ffriiw1gms8xmdfrsk"; depends=[MASS]; };
+  classGraph = derive { name="classGraph"; version="0.7-4"; sha256="08cid5bdbciyijlzkx3684gx0cyzcj8myawf4dhcrz00jqrg8v60"; depends=[]; };
+  classifly = derive { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
+  classify = derive { name="classify"; version="1.2"; sha256="1c1919phhn3xlm807408hhryy1ifm8vf68zcb0gj3adiczpj5xcy"; depends=[Rcpp plyr ggplot2 lattice R2jags reshape2]; };
+  classInt = derive { name="classInt"; version="0.1-21"; sha256="1sld7bw1x2i8qqj0fbavifl9ni8724fg2wrwjyg657ib8f2yqj5z"; depends=[e1071 class]; };
+  clere = derive { name="clere"; version="1.1"; sha256="1jna5dqy47mldd557qxl7vr59v5lalhligvm3c4k6b2dfararhfr"; depends=[Rcpp]; };
+  clhs = derive { name="clhs"; version="0.5-1"; sha256="09165qcnlwz6aaafq4lzzpm7id15wgfbz3am9gfp2g5fyh0irsr2"; depends=[ggplot2 sp raster reshape2 plyr scales]; };
+  ClickClust = derive { name="ClickClust"; version="0.1.1"; sha256="1mgim5z4j0lmjlazqqigc88r41ciqnz9d49irm9b2bdjwg2rpilw"; depends=[]; };
+  clickstream = derive { name="clickstream"; version="1.1.2"; sha256="1l59411jsph6v4rkwanbjcgjcyknywl7ri0hh7z957v02h4m7as1"; depends=[igraph plyr reshape2 Rsolnp]; };
+  climdex_pcic = derive { name="climdex.pcic"; version="1.1-1"; sha256="1payygvw327qjab9vzivqd21f5w0gwq3f2jjpmkk89fn7rznz7y2"; depends=[PCICt caTools Rcpp]; };
+  clime = derive { name="clime"; version="0.4.1"; sha256="0qs9i7cprxddg1cmxhnmcfhl7v7g1r519ff2zfipxbs59m5xk9sf"; depends=[lpSolve]; };
+  clinfun = derive { name="clinfun"; version="1.0.6"; sha256="00prrdm6qm5p2sjjlhi99msvqpxcm492z378wgl65iwf0jywdnpw"; depends=[mvtnorm]; };
+  clinsig = derive { name="clinsig"; version="1.0-4"; sha256="0w2qb9k6fkw9lqi0ib6kzi6pvpb5hpq78w9x2jjs0yyqsj0rydwv"; depends=[]; };
+  clinUtiDNA = derive { name="clinUtiDNA"; version="1.0"; sha256="0x3hb09073gkh60fc8ia0sfk948sm6z6j8sqkz275k4m8ryrabas"; depends=[]; };
+  clogitL1 = derive { name="clogitL1"; version="1.4"; sha256="0m9yrg9mzzfv5qkdf6w55xyrjdghyrf27kk7b4x2gyvwvi5b7dkm"; depends=[Rcpp]; };
+  cloudUtil = derive { name="cloudUtil"; version="0.1.10"; sha256="1j86vpd4ngrdpfjk44wb1mp0l88dxia64pjd2idfcd276giplh6s"; depends=[]; };
+  clpAPI = derive { name="clpAPI"; version="1.2.6"; sha256="1kgzmzf87b0j43ch21anmm2d73bj2d16slmyavpbkdwg72dg1sjb"; depends=[]; };
+  CLSOCP = derive { name="CLSOCP"; version="1.0"; sha256="0rkwq9rl2ph4h5zwb2i3yphjyzxmh6b6k23a8gcczycx6xdq4yhw"; depends=[Matrix]; };
+  clue = derive { name="clue"; version="0.3-48"; sha256="1lwfm5sk9d35khcrvjs91bixfnjc3zwyfzq5ma9ljsc6hs80y8ar"; depends=[cluster]; };
+  clues = derive { name="clues"; version="0.5-4"; sha256="0pgd3vjfplvsfn3nw6sqlkfsv6lbpjlcai7z9qp31qcih3g71vgr"; depends=[]; };
+  cluster = derive { name="cluster"; version="1.15.2"; sha256="0bv7qsbf6x3gq2iz3rwbjsj3cs8j0dvzxjhwdsvnqgkc1yhpkr13"; depends=[]; };
+  clusterCrit = derive { name="clusterCrit"; version="1.2.3"; sha256="0xd06w7jsl3srvhqx08vywy191k97lk3mgl2hsx1ki8ydplrdyha"; depends=[]; };
+  cluster_datasets = derive { name="cluster.datasets"; version="1.0-1"; sha256="0i68s9305q08fhynpq24qnlw03gg4hbk4184z3q3ycbi8njpr4il"; depends=[]; };
+  clusterfly = derive { name="clusterfly"; version="0.4"; sha256="0mxpn7aywqadyk43rr7dlvj0zjcyf4q7qbqw5ds38si7ik34lkrg"; depends=[rggobi e1071 reshape2 plyr RGtk2]; };
+  clustergas = derive { name="clustergas"; version="1.0"; sha256="1vf4czpwk71yxd26vm5sal0ml20ssjrq4bmk31yzxydpxn495fg8"; depends=[cluster]; };
+  clusterGeneration = derive { name="clusterGeneration"; version="1.3.1"; sha256="0lvkqqcshnaqk40s5y736r53y9yss3hlvgs6gs7p8ksk14vj7i2q"; depends=[MASS]; };
+  clusterGenomics = derive { name="clusterGenomics"; version="1.0"; sha256="127hvpg06is4x486g1d5x7dfkrbk7dj35qkds0pggnqxkq3wsc1c"; depends=[]; };
+  clusterPower = derive { name="clusterPower"; version="0.5"; sha256="1g2qpvizyk4q3qlgvar436nrfqxwp5y8yi2y6rch9ak5mbg3yzqb"; depends=[lme4]; };
+  clusterRepro = derive { name="clusterRepro"; version="0.5-1.1"; sha256="0vsf6cq6d51a4w23ph8kdz2h8dfpzyd6i85049p2wakn1kdvkz5p"; depends=[]; };
+  clusterSim = derive { name="clusterSim"; version="0.43-5"; sha256="07vdvhlvk31srnw1vwgwqgj2dimgbagp7mnz7n1rwcm1qxnndsmy"; depends=[cluster MASS ade4 e1071 rgl R2HTML]; };
+  clusteval = derive { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp]; };
+  clusthaplo = derive { name="clusthaplo"; version="1.2"; sha256="17vxk61bw99h34n9a6vp40nanigfai34s237ydb56jpamsq8sf2b"; depends=[ggplot2]; };
+  clustMD = derive { name="clustMD"; version="1.0"; sha256="1i3c790k300a7y5xhqanp8f1bid2q3a0ajwgf5qsr6dv3ld4h7vj"; depends=[tmvtnorm mvtnorm truncnorm MASS mclust msm]; };
+  ClustOfVar = derive { name="ClustOfVar"; version="0.8"; sha256="17y8q2g4yjxs2jl1s8n5svxi021nlm0phs1g5hcnfxzpadq84wbs"; depends=[]; };
+  clustrd = derive { name="clustrd"; version="0.1.2"; sha256="022lzp1wvbaa20d8hribgq9miy6i7jxm5m1p3p52h9b7bzga3q6g"; depends=[corpcor e1071 ggplot2 irlba]; };
+  clustsig = derive { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; };
+  ClustVarLV = derive { name="ClustVarLV"; version="1.3"; sha256="13v7ip42wdzgvzpmkd8pzhv8j0kcavkby8fl4x4wn35ds46hx1v5"; depends=[Rcpp]; };
+  clustvarsel = derive { name="clustvarsel"; version="2.0"; sha256="0ql98r2aqwfmbn48xd68wpi2lk671aj2l8dqjn0jjp1vrk9fbw1m"; depends=[mclust BMA foreach iterators]; };
+  clv = derive { name="clv"; version="0.3-2.1"; sha256="1qgp2qhblg6ysyrlg0ad169ahwhcyn5pvsqzdlqj700y1k7wl7mc"; depends=[cluster class]; };
+  clValid = derive { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[cluster class]; };
+  cmaes = derive { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; };
+  CMC = derive { name="CMC"; version="1.0"; sha256="1r9a5k79fyw01yiwxq02327hpn4l1v2lp0958jj9217wxmhn3pr5"; depends=[]; };
+  CMF = derive { name="CMF"; version="1.0"; sha256="0hvqcbmg2vd0i1rjb1m1bkrbv2vkj1siank1v8w0n5b6881cyz7q"; depends=[Rcpp]; };
+  cmm = derive { name="cmm"; version="0.7"; sha256="16pw9namrc3crcqnsn4ckk8m4r3af908wm2siw6fzbk6hwac17i6"; depends=[]; };
+  CMPControl = derive { name="CMPControl"; version="1.0"; sha256="0cp29cibiydawsl0cq433l9abdivr16b431zlrh45wzr5kzfcs0v"; depends=[compoisson]; };
+  cmprsk = derive { name="cmprsk"; version="2.2-7"; sha256="1imr3wpnj4g57n2x4ryahl4lk8lvq9y2r7319zv3k82mznha8bcm"; depends=[survival]; };
+  cmrutils = derive { name="cmrutils"; version="1.2-2"; sha256="0gc4sx8g9364sybmrqdjdvddqjd9ps6v205kaw0nqdx30xn96hmm"; depends=[chron]; };
+  cna = derive { name="cna"; version="0.1-3"; sha256="0y6qqg4454njldm8qipq260jbwfkh23iffpyghjnj2raw5fjgh8b"; depends=[]; };
+  cncaGUI = derive { name="cncaGUI"; version="0.0-2"; sha256="1rgs7446qb40b4qi1i4m5c3111kbqap4z1g7s01pnbylil0m80fd"; depends=[rgl tcltk2 tkrplot]; };
+  CNOGpro = derive { name="CNOGpro"; version="1.0"; sha256="02vqnjsz0402xdqsxrxicgdsyi3nqc3cfrbabfkywn3q102gzq0f"; depends=[seqinr]; };
+  CNprep = derive { name="CNprep"; version="1.0"; sha256="1i8iz0ir14g56zjsj8z4kmds5rybg8jjra33v0qcjwp489s6475a"; depends=[mclust rlecuyer]; };
+  CNVassoc = derive { name="CNVassoc"; version="2.0.1"; sha256="0xf5rrcv7pl158fbz0yjibmrigpqgzwvdyl1gw0fkn5jjsm62hsm"; depends=[CNVassocData mixdist mclust survival]; };
+  CNVassocData = derive { name="CNVassocData"; version="1.0"; sha256="17r3b1w9i9v6llawnjnrjns6jkd82m2cn9c90aif8j0bf4dmgdli"; depends=[]; };
+  coalescentMCMC = derive { name="coalescentMCMC"; version="0.4"; sha256="115kvrk46hzhr83vkk57jn90dw2fvj1pl56w6mlja16i93yaz10h"; depends=[ape coda Matrix phangorn]; };
+  coarseDataTools = derive { name="coarseDataTools"; version="0.6-2"; sha256="1nnh61kfw294cxawz9i8yf37ddzsn5s532vvkaz0ychk0390wmi5"; depends=[MCMCpack]; };
+  COBRA = derive { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; };
+  cobs = derive { name="cobs"; version="1.2-2"; sha256="1g8qwnda7fqrqknz7lnlq47kqs5k83pg9qq205alm12jgx3180a1"; depends=[SparseM quantreg]; };
+  cobs99 = derive { name="cobs99"; version="0.9-12"; sha256="0zd0nyw8ma7k90i1k3ryn6qcb6yivrrajc6nmdh4f95ihvhc9ksm"; depends=[]; };
+  CoClust = derive { name="CoClust"; version="0.3-0"; sha256="0vcjy8mr8vfs5j1x0xz1zkjn6l08pg6r28ffbdvrqrbalnh87v3s"; depends=[copula gtools]; };
+  cocor = derive { name="cocor"; version="1.0-0"; sha256="173kszv661hailav69khqh9c15y9m5n6l7crc9i6vf71yrig1vqs"; depends=[]; };
+  cocorresp = derive { name="cocorresp"; version="0.2-1"; sha256="0q41clhp4nl9vyakfmnhr5ix7nxfq0phq8xa02na38qhfwpxznfn"; depends=[vegan]; };
+  cocron = derive { name="cocron"; version="1.0-0"; sha256="190kfv7haybi7s33bqf8dd3pcj8r6da20781583rrq6585yqh4g6"; depends=[]; };
+  coda = derive { name="coda"; version="0.16-1"; sha256="0575pbx37jn7ljgjybl2v7rry55l6s6cb3a0m9znh4blln405q4i"; depends=[lattice]; };
+  codadiags = derive { name="codadiags"; version="1.0"; sha256="1x243pn6qnkjyxs31h1hxy8x852r0fc952ww77g40qnrk8qw79xg"; depends=[coda]; };
+  codep = derive { name="codep"; version="0.4-1"; sha256="1jkd6k80d6vyriwmq1car5zjms304zrdrfbjib664zxzx1wadf8z"; depends=[]; };
+  codetools = derive { name="codetools"; version="0.2-8"; sha256="0m326kfxihm5ayfn5b4k8awdf34002iy094gazbc3h0y42r4g86b"; depends=[]; };
+  coefficientalpha = derive { name="coefficientalpha"; version="0.2.6"; sha256="0a0fvg22sg3idavv2qrb9sjvjjfm39fvpjsxz83a7bk6400vflsr"; depends=[MASS]; };
+  coefplot = derive { name="coefplot"; version="1.2.0"; sha256="1v6c3fk2wrjgs3b31vajmig6dvmp5acfm72wh0iffpg0qgvf5hh7"; depends=[ggplot2 plyr reshape2 useful scales proto]; };
+  coenocliner = derive { name="coenocliner"; version="0.1-0"; sha256="0hys1a4ai09pax5ydcaq39ll3rdjzyhgvz72z0iv9fwv4fbmwbr9"; depends=[]; };
+  coexist = derive { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; };
+  CoImp = derive { name="CoImp"; version="0.2-3"; sha256="04n0drx98hi8hmlb5xwl87ylv03j1ld04vp9d8s5sphvm9bbx690"; depends=[copula nnet gtools locfit]; };
+  coin = derive { name="coin"; version="1.0-23"; sha256="07433fblandxb8gzkzln49cckv75mqr2z847dwsa3qz68callxba"; depends=[survival modeltools mvtnorm]; };
+  CoinMinD = derive { name="CoinMinD"; version="1.1"; sha256="0invnbj5589wbs0k2w5aq9qak7axc3s0g9nw85c48lnl0v95s91i"; depends=[MCMCpack]; };
+  colbycol = derive { name="colbycol"; version="0.8"; sha256="198zc4jd7gby1dhvmg7fy41ldbxkgqj6ram54g3w6sw0yv9ilk8r"; depends=[rJava filehash]; };
+  cold = derive { name="cold"; version="1.0-3"; sha256="17nlqhp5415m8wjkb2ykmk1q3lgw1aycf85b6byl8p06bfrvmw2p"; depends=[]; };
+  CollocInfer = derive { name="CollocInfer"; version="1.0.1"; sha256="0wfk3qw28msz3wqm5xmivjgi18kqv1s6w76vh71zq777d6a7al6i"; depends=[fda deSolve MASS Matrix spam]; };
+  coloc = derive { name="coloc"; version="2.3-1"; sha256="1j3m9afpkm0bzib38yqvk85b6s6l56s6j2ni96gii4a06r87ig60"; depends=[colorspace MASS BMA]; };
+  colorfulVennPlot = derive { name="colorfulVennPlot"; version="2.4"; sha256="01b3c060fbnap78h9kh21v3zav547ak2crdkvraynpd2096yk51w"; depends=[]; };
+  colorRamps = derive { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
+  colorscience = derive { name="colorscience"; version="1.0.0"; sha256="0429vlirc95nblmhs5lplh3lw9aay9qnkpib77rbmjzczv551m3d"; depends=[Hmisc munsellinterpol pracma]; };
+  colorspace = derive { name="colorspace"; version="1.2-4"; sha256="1ppvkcclqjdj1b9j59sc2gda55kmwq9l00n5643ggjb15m2dm76h"; depends=[]; };
+  colortools = derive { name="colortools"; version="0.1.5"; sha256="0z9sx0xzfyb5ii6bzhpii10vmmd2vy9vk4wr7cj9a3mkadlyjl63"; depends=[]; };
+  colourlovers = derive { name="colourlovers"; version="0.1.3"; sha256="09hacmzcw6am8l6725wny2rrrzzn46vk2730ni7rgynk49b2wr9h"; depends=[XML RJSONIO png]; };
+  comato = derive { name="comato"; version="1.0"; sha256="03jnvv0sczy13r81aljhj9kv09sl5hrs0n5bn3pdi7ba64zgbjiw"; depends=[igraph Matrix lattice gdata XML cluster clusterSim]; };
+  combinat = derive { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
+  CombinS = derive { name="CombinS"; version="1.0"; sha256="0gi66hmj3jmr301r2ahrln4zjjjvl6gabdv3y5df7aqidxlbhqbb"; depends=[]; };
+  CombMSC = derive { name="CombMSC"; version="1.4.2"; sha256="1wkawxisn9alpwrymja8dla8n25z2fhai3l2xhin0b914y2kai09"; depends=[]; };
+  comclim = derive { name="comclim"; version="0.9.2"; sha256="14x9qpflprdi7j94xipndzp76bbs7cqmyhqd2cakxgnl1q915pnx"; depends=[]; };
+  commandr = derive { name="commandr"; version="0.9.5"; sha256="1i960c4hszxm10qcpn9hrhxfzxfp9yywkbj4i9hraj8ka759z75a"; depends=[]; };
+  CommonJavaJars = derive { name="CommonJavaJars"; version="1.0-4"; sha256="0amn8z8im64q1k6j6l2bh4795b6i665wxqpgabhv471zfhdk0nil"; depends=[]; };
+  CommonTrend = derive { name="CommonTrend"; version="0.7-1"; sha256="088pg2hy2g2jgs84xawrnsf7gpvrpqjsimkx7g0i5r5fmkx169f9"; depends=[MASS urca]; };
+  CommunityCorrelogram = derive { name="CommunityCorrelogram"; version="1.0"; sha256="1wkrm5lil595sc4ih3qsf4sgvfipzlav0n7339ixqw9zxm2pg4nj"; depends=[vegan]; };
+  comorbidities = derive { name="comorbidities"; version="1.0"; sha256="01aisxy4cx3jw37cg6mwvfj4nv10ndmwjxf8xsfv7s20hdb0gmqn"; depends=[]; };
+  Comp2ROC = derive { name="Comp2ROC"; version="1.0"; sha256="0vymjbxdlvm5dvss4z4zjdc7y7040s3j972gh2138wfygji1szg7"; depends=[ROCR boot]; };
+  compactr = derive { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
+  compare = derive { name="compare"; version="0.2-4"; sha256="0fhw7y7xwrv79wxvs9gy4xddjzc6hh97m81a10j64jssy4p291b6"; depends=[]; };
+  compareGroups = derive { name="compareGroups"; version="2.0.4"; sha256="1z2aipcjnqh83g33aypspwk8kkab5i2h5ms0lnnmcp3c8wn8pzi8"; depends=[Hmisc xtable gdata SNPassoc survival epitools HardyWeinberg]; };
+  compareODM = derive { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; };
+  CompareTests = derive { name="CompareTests"; version="1.0"; sha256="098axl20jid35pqvgiwk6h91waafigwks6n5f4pg7xxx1fifks4f"; depends=[]; };
+  comparison = derive { name="comparison"; version="1.0-4"; sha256="0pc462rhk8gr8zrf08ksi315kmhydlp027q5gd40ap5mmhk7rd82"; depends=[isotone]; };
+  compeir = derive { name="compeir"; version="1.0"; sha256="1bb5459wcqpjic2b9kjn0l0qdn7sqmmx34hdb2aqg80q22mhx5dv"; depends=[lattice etm]; };
+  CompGLM = derive { name="CompGLM"; version="1.0"; sha256="04bjal92r0m7is5ygqpd0mdz3fb3pwcr7rc3mbxg9sg57nff3kf5"; depends=[Rcpp]; };
+  compHclust = derive { name="compHclust"; version="1.0-2"; sha256="1h39krvz516xwsvn5987i1zbzan8vx2411qz6dad112hpss0vyk9"; depends=[]; };
+  complex_surv_dat_sim = derive { name="complex.surv.dat.sim"; version="2.0.0"; sha256="1x4whyq0bds0zblppcvv7lk6qy567c37x19n1r0xjgyl3id40f7c"; depends=[eha statmod]; };
+  CompLognormal = derive { name="CompLognormal"; version="3.0"; sha256="1dhgr9l713l2n889bpa47lbg2qab0fz0r15qa928c0b9nz688ddm"; depends=[numDeriv]; };
+  compoisson = derive { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; };
+  COMPoissonReg = derive { name="COMPoissonReg"; version="0.3.4"; sha256="1mf2q7phc2bn700yp7i2i6ccj6lrvh8b2dmibqihh76a85j1ycrq"; depends=[]; };
+  compositions = derive { name="compositions"; version="1.40-1"; sha256="1hn139g86bc1q3dj6kj9f21042v4x0xgrp4ni1zvx1zx8xmy3h8b"; depends=[tensorA robustbase energy bayesm]; };
+  compound_Cox = derive { name="compound.Cox"; version="1.4"; sha256="08sdkq040zk9mb1lcy4nm32gwab26vaig8brp2n3aizagx9fv3r9"; depends=[numDeriv survival]; };
+  Compounding = derive { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
+  CompQuadForm = derive { name="CompQuadForm"; version="1.4.1"; sha256="1kv4bdkwidkjw0hgn2krv42p9v1a03p47g0p03lja3flhfbmiifj"; depends=[]; };
+  CompRandFld = derive { name="CompRandFld"; version="1.0.3"; sha256="1qfq1zkdxk6jh3z7vfp91c6jcvj4smq21cndxdmq150f6vsx35fl"; depends=[]; };
+  compute_es = derive { name="compute.es"; version="0.2-3"; sha256="17g1s9vz61kyqsm16vbzwmaw2qz6r99p9cg3s6c7lk73vr2qrwni"; depends=[]; };
+  ConConPiWiFun = derive { name="ConConPiWiFun"; version="0.4.2"; sha256="0x3md1xfrrg41qfyafbvl9qaa6yy81nky3pl5z9qs850mjbs8qdl"; depends=[Rcpp]; };
+  concor = derive { name="concor"; version="1.0-0.1"; sha256="0hjyvi6p16cyrmq0bq7fph1r5f3adp7zpf123wkm5bkjnc5122k0"; depends=[]; };
+  concreg = derive { name="concreg"; version="0.5"; sha256="0psvnirl5rqicyzxs9sivh23bzzwdgviqczdl2in2gnrvdiw7m6f"; depends=[survival]; };
+  cond = derive { name="cond"; version="1.2-3"; sha256="0y7m7valk7zn40y62348czmdvfkx59il9sl6wy565lzqfiimd9ps"; depends=[statmod survival]; };
+  condGEE = derive { name="condGEE"; version="0.1-4"; sha256="0mqj2pc91n8h3arpd4b9f7ndbcnai21c67is22qg22wj7vhhs87h"; depends=[numDeriv rootSolve]; };
+  condmixt = derive { name="condmixt"; version="1.0"; sha256="05q1fj7akf6lsq9rbcqqkzlx82jvk6mlvmwx6jzk8j228fwqmg90"; depends=[evd]; };
+  CondReg = derive { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
+  coneproj = derive { name="coneproj"; version="1.4"; sha256="07zhqidjinpphvr7xdzrn3f5iq6bx8c2sj5gya2bz8glf4x74h9d"; depends=[Rcpp]; };
+  conf_design = derive { name="conf.design"; version="2.0.0"; sha256="06vdxljkjq1x56xkg041l271an1xv9wq79swxvzzk64dqqnmay51"; depends=[]; };
+  confReg = derive { name="confReg"; version="0.1.3"; sha256="0cwz5wnrk0qppj65gskizy2jb9y6x6xhkyb5qhd5xfc698x6ivs2"; depends=[e1071]; };
+  confreq = derive { name="confreq"; version="1.1"; sha256="14d0vlf4bwmdwayqg2fsyqblyinx1d3mqhndhjjk0d59qmr44lsa"; depends=[]; };
+  conicfit = derive { name="conicfit"; version="1.0.0"; sha256="032a9ajrv1xl2i4p3a32fyzg6s76vngdcmwqnh2lgk72srlhryzj"; depends=[pracma geigen]; };
+  conics = derive { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; };
+  conjoint = derive { name="conjoint"; version="1.39"; sha256="0f8fwf419js9c292i3ac89rlrwxs2idhwxml1qd8xd2ggwfh6w5m"; depends=[AlgDesign clusterSim]; };
+  ConjointChecks = derive { name="ConjointChecks"; version="0.0.9"; sha256="097mhiz8zjmmkiiapr3zfx7v35xirg57nqp1swd72dixaa23nhr1"; depends=[]; };
+  ConnMatTools = derive { name="ConnMatTools"; version="0.1.5"; sha256="02cv2rlfp9shwqc9nwb8278akmwv7yvviwl23jglzsyh721dpqkr"; depends=[]; };
+  CONOR = derive { name="CONOR"; version="1.0.2"; sha256="1h6vx8hq8lbjdhv466q9q4h13hir1pfj6bjmg90gmqjwrpbdciw1"; depends=[CLSOCP tseries outliers nortest quadprog zoo fields fpc flexclust plyr CONORData]; };
+  CONORData = derive { name="CONORData"; version="1.0.2"; sha256="0a52wz9i9md15wqvhh105wjvlw4byx7qgy9i1sd1wr4jn84ir5wf"; depends=[CLSOCP tseries outliers nortest quadprog zoo fields fpc flexclust plyr]; };
+  constrainedKriging = derive { name="constrainedKriging"; version="0.2.3"; sha256="1hppfc0pv0jphmj7pip1cn65sfrcwvnpymlvpyp7sbn3nmy2qqrb"; depends=[sp spatialCovariance rgeos RandomFields]; };
+  contfrac = derive { name="contfrac"; version="1.1-9"; sha256="16yl96bmr16a18qfz6y5zf7p02ky1jy2iimcb1wp50g7imlcq840"; depends=[]; };
+  conting = derive { name="conting"; version="1.3"; sha256="1aw3hp88xif5s94388g4805xqnv21dj47wshgkbg33dn11lf2hwf"; depends=[mvtnorm BMS gtools tseries coda]; };
+  contrast = derive { name="contrast"; version="0.19"; sha256="1kc3scz3msa52lplc79mmn4z99kq1p2vlb18wqxa9q2ma133x6pl"; depends=[rms]; };
+  ConvCalendar = derive { name="ConvCalendar"; version="1.2"; sha256="0yq9a42gw3pxxwvpbj6zz5a5zl7g5vkswq3mjjv5r28zwa3v05vc"; depends=[]; };
+  ConvergenceConcepts = derive { name="ConvergenceConcepts"; version="1.0"; sha256="1s6yxiaxmv7yxydwjhxi778vznh4gs8l5cgy308bxj53d4d6kfkz"; depends=[tkrplot lattice]; };
+  convexHaz = derive { name="convexHaz"; version="0.2"; sha256="0lfksb01iilhyjbr9wj3w4s9nbkdcl649w86fp2mz6s6makmq84x"; depends=[]; };
+  cooccur = derive { name="cooccur"; version="1.1"; sha256="1q2x89jpr81jq0hw218c9h8spc1gwgax58j8npgd6rnzlkpxxyam"; depends=[reshape2 gmp ggplot2]; };
+  COP = derive { name="COP"; version="1.0-2"; sha256="1gynknplvx97hjhi7adsgq9r9lqismch1q1pqvgmz0x1wkg4jj40"; depends=[dr MASS]; };
+  COPASutils = derive { name="COPASutils"; version="0.1"; sha256="1w080k6fpbvcx1pqaa2n5vhf7nmr1z403wj7ilkxy5s6cw7gmyi5"; depends=[ggplot2 reshape2 dplyr kernlab stringr knitr]; };
+  copBasic = derive { name="copBasic"; version="1.5.4"; sha256="1za91mkahkrcg4h54ii2zk3c22rn8krsa95aj9y0kgg3rxnd09hz"; depends=[lmomco]; };
+  copula = derive { name="copula"; version="0.999-10"; sha256="1xx7f1mzym8amlyf84s7yrwygyfcvfqisar64ikyr1ksf571l77i"; depends=[Matrix gsl ADGofTest stabledist mvtnorm pspline]; };
+  copulaedas = derive { name="copulaedas"; version="1.4.1"; sha256="1xs02s91la4i1x1zs8k5gfvd9jhs2zqhv58431p1j3spfapzf2rc"; depends=[copula vines mvtnorm truncnorm]; };
+  CopulaRegression = derive { name="CopulaRegression"; version="0.1-4"; sha256="17cfs47g5am0gf6kv366v87zv2gcmc7s7bcay4ccfqzqhbhli2i4"; depends=[MASS VineCopula]; };
+  CopyDetect = derive { name="CopyDetect"; version="1.1"; sha256="0h9bf7ay5yr6dwk7q28b6xxfzy6smljkq6qwjkzfscy5hnmwxkpa"; depends=[irtoys]; };
+  corclass = derive { name="corclass"; version="0.1"; sha256="02mxypdrjwf8psk0j9ggbw14889a87c6lw11qki3s3biq52qsx3y"; depends=[igraph]; };
+  corcounts = derive { name="corcounts"; version="1.4"; sha256="0irlx62ql5rp5s7nnjdy6jh723wl4039wn10zxri8ihxwqsyyz3f"; depends=[]; };
+  CORE = derive { name="CORE"; version="2.0"; sha256="18vnqfasrn0bkplr3qj21wrksnj8wbsfhg7r0aimaa9c9nz9l7kg"; depends=[]; };
+  CORElearn = derive { name="CORElearn"; version="0.9.43"; sha256="0qzj2fx8if157dplxcsss5s0gllwf183vhiqmapbkdix2h9l9jk5"; depends=[cluster rpart]; };
+  corHMM = derive { name="corHMM"; version="1.14"; sha256="03kwj8y4c4jw9lwpvyi3539184yifhcavbhh6rbw9pasnxkzj28l"; depends=[ape nloptr expm numDeriv corpcor phangorn rgenoud]; };
+  CORM = derive { name="CORM"; version="1.0.2"; sha256="0g5plafx2h1ija8jd6rxvy8qsrqprfbwbi1kq1p4jdr9miha20nv"; depends=[cluster]; };
+  corpcor = derive { name="corpcor"; version="1.6.6"; sha256="0rjlqbh76f5q3sjbh9nhvsip9391mnh05x5f7cqi6rp63c194v12"; depends=[]; };
+  corpora = derive { name="corpora"; version="0.4-3"; sha256="0zh8mabfy9yqgx7asi4yqv4c0kj59yvyxxaxjgdjy5kkr17zd4g4"; depends=[]; };
+  CorrBin = derive { name="CorrBin"; version="1.4"; sha256="0xnj2rhm4ph9277v2wfrp15p8nbdxiqfpcj0shj0d9z8rasx7p8m"; depends=[boot combinat]; };
+  CorReg = derive { name="CorReg"; version="0.15.0"; sha256="17cgq5ssqxa8v5afjhnfg4fr1p9bs3migzmh5b9b2kxixm81flk5"; depends=[Rcpp lars elasticnet clere spikeslab corrplot Matrix mclust Rmixmod ridge rpart MASS parcor mvtnorm]; };
+  correlate = derive { name="correlate"; version="1.0"; sha256="0hv0i928f49p8n78hd3bcx923l2x0zcs4kwj71ph8gm7s8540fhc"; depends=[]; };
+  Correlplot = derive { name="Correlplot"; version="1.0-2"; sha256="0prxnbi7ga5d23i0i4qpynfb3zrsgjxam47km6nsj1prakdkrq7w"; depends=[calibrate xtable]; };
+  corrgram = derive { name="corrgram"; version="1.5"; sha256="015h4vnbmjir81x9ifqbnl25havpi8m7p3iaj30rl1hdhhbpy0dz"; depends=[seriation]; };
+  corrplot = derive { name="corrplot"; version="0.73"; sha256="0xnlkb8lhdjcc10drym9ymqzvfwa3kvf955y0k66z5jvabzyjkck"; depends=[]; };
+  corrsieve = derive { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; };
+  corTools = derive { name="corTools"; version="1.0"; sha256="0arvqk2xp19ap73zmdk0kb1fycb3v2mf65b4bhanvcqwr4kg4vdk"; depends=[]; };
+  COSINE = derive { name="COSINE"; version="2.1"; sha256="10ypj849pmvhx117ph3k1jqa62nc4sdmv8665yahds7mh0ymhpjj"; depends=[MASS genalg]; };
+  cosinor = derive { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
+  cosmoFns = derive { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; };
+  cosmosR = derive { name="cosmosR"; version="1.0"; sha256="0w4qywnkgcybgyyhnvvg33amqi2vnkry6iajakyqr1x2hzfpf9sv"; depends=[xlsx]; };
+  cosso = derive { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[quadprog Rglpk glmnet]; };
+  costat = derive { name="costat"; version="2.3"; sha256="1kqyl89lx1amap9zgrfy1bqnl93kahrksj6yms44yrxr1as2g4nk"; depends=[wavethresh]; };
+  cotrend = derive { name="cotrend"; version="1.0"; sha256="0h0y502wqq83wlf9ab1b9rxg1wycvi3sp4lbqfpvy46vgljrjw87"; depends=[xts]; };
+  COUNT = derive { name="COUNT"; version="1.3.1"; sha256="1j67f9cjqn523g3khawxj41c19c2l6l287f8ry8mnmijfs0hvpr4"; depends=[msme sandwich MASS]; };
+  countrycode = derive { name="countrycode"; version="0.17"; sha256="0rmmqh0x34bdnyb19r719rsm46q8193lf7wcynd5s3c2i4vbkx8n"; depends=[]; };
+  CountsEPPM = derive { name="CountsEPPM"; version="1.0"; sha256="19l0nb1rrhqcxcjx4lrp298xgxprziz1ccl3r1q3h16yj5vhkqrw"; depends=[Matrix Formula]; };
+  covLCA = derive { name="covLCA"; version="1.0"; sha256="15jsjrlaws1cqyrwvh4lzbhxkb11jmgpmddg98nfrzmjpczn2iw3"; depends=[Matrix mlogit poLCA]; };
+  covreg = derive { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; };
+  covRobust = derive { name="covRobust"; version="1.1-0"; sha256="1nvy5cqs4g565qj2hhgk5spr58ps2bhas3i752rf7wvrskb89fk7"; depends=[]; };
+  CovSel = derive { name="CovSel"; version="1.1"; sha256="13dh97857h3r684yw1bzyr1rkpk8l7sshgy9hvg5y95csgai2qhw"; depends=[MASS dr np boot cubature]; };
+  covTest = derive { name="covTest"; version="1.02"; sha256="0p4di8bdjghsq5jd678dprlhiwnxr5piqlx2z7hi2bjjpvvl5657"; depends=[lars glmnet glmpath MASS]; };
+  CoxBoost = derive { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[survival Matrix prodlim]; };
+  coxinterval = derive { name="coxinterval"; version="1.0"; sha256="0x6xnc5wf5sivwn0hd99lmb52wj5swj01r9wrky9f61nji3fjv4v"; depends=[Matrix survival timereg]; };
+  coxme = derive { name="coxme"; version="2.2-3"; sha256="1s9h03crzmvi0szg5rhq0m48q9i7hdppn1k528nfca5ikw2l37h9"; depends=[survival bdsmatrix nlme Matrix]; };
+  coxphf = derive { name="coxphf"; version="1.10"; sha256="15bpy6vcn65pnknqbiqhpbpddhzyslgsc06g8rnamg60akg4p3v8"; depends=[survival]; };
+  coxphw = derive { name="coxphw"; version="3.0.0"; sha256="11pyd09dwkbixjz1riv8rz3jrp1ix6cbn1fw9nm8vnrc19x5lkz5"; depends=[survival]; };
+  CoxRidge = derive { name="CoxRidge"; version="0.9.1"; sha256="11vlsrv03j6kcxq9an7g210nq6cc6qd04b7w0pfbdk4bniqc0k60"; depends=[survival]; };
+  coxrobust = derive { name="coxrobust"; version="1.0"; sha256="08hp0fz5gfxgs3ipglj6qfr6v63kzxkrzg650bmzabq8dvrxd97q"; depends=[survival]; };
+  cpa = derive { name="cpa"; version="1.0"; sha256="14kcxayw4cdbjfa6bvfzqp8flwc0sr3hmh2dnr1dfax0hnccd71m"; depends=[]; };
+  cpca = derive { name="cpca"; version="0.1.2"; sha256="1pccsjahb1qynnxa0akhfpcmhfmdg4rd1s6pfqrdl7bwbcmq4lqf"; depends=[]; };
+  CPE = derive { name="CPE"; version="1.4.4"; sha256="09sqp2a0j43jr9ya9piv8575rwd5fdvwmiz4chv75r3mw8p128mn"; depends=[survival rms]; };
+  CpGassoc = derive { name="CpGassoc"; version="2.11"; sha256="01hx9flf4mq1kgg77dah7s33kdkdgnmckppcl1y806xsnxqxmrxq"; depends=[nlme]; };
+  CPHshape = derive { name="CPHshape"; version="1.0.1"; sha256="05krqcd4spgghp3ihv1zfql6ikd64vkqnrjghjvfki3hi3zi5k7h"; depends=[]; };
+  cpk = derive { name="cpk"; version="1.3-1"; sha256="1njmk2w6zbp6j373v5nd1b6b8ni4slgzpf9qxn5wnqlws8801n73"; depends=[]; };
+  cplexAPI = derive { name="cplexAPI"; version="1.2.11"; sha256="1rfvq2a561dz3szvrs9s5gsizwwp0b5rn4059v9divzw23clr2a9"; depends=[]; };
+  cplm = derive { name="cplm"; version="0.7-2"; sha256="0vwj130r5wbax9ixcn0fdznh1zrr0wq48iivmlymqbhbqajmv8fb"; depends=[coda Matrix biglm ggplot2 minqa nlme reshape2 statmod tweedie]; };
+  CPMCGLM = derive { name="CPMCGLM"; version="1.1"; sha256="1w8yp37vxz2cl0yqdzpyxdfq2scz2h9i4crjzjmjzpzffi45f06s"; depends=[mvtnorm plyr]; };
+  Cprob = derive { name="Cprob"; version="1.2.2"; sha256="18dzyfgxx32azmb02i1gr0fb6nq1b81wni9cgj3qgw8ga7lplgik"; depends=[prodlim tpr geepack lgtdl lattice]; };
+  CR = derive { name="CR"; version="1.0"; sha256="0smb2i560dwbxg3mp1svfxmaiw193pd3klwqq0i27czf07k1xfvj"; depends=[]; };
+  CRAC = derive { name="CRAC"; version="1.0"; sha256="0vnqmmmwakx5jnzqp20dng35p7rvmz3ypm2m7bs41m8nhh2wq1xa"; depends=[]; };
+  crackR = derive { name="crackR"; version="0.3-9"; sha256="18fr3d6ywcvmdbisqbrbqsr92v33paigxfbslcxf7pk26nzn2lly"; depends=[Hmisc evd]; };
+  cramer = derive { name="cramer"; version="0.9-1"; sha256="1dlapmqizff911v3jv8064ddg8viw28nq05hs77y5p4pi36gpyw4"; depends=[boot]; };
+  crank = derive { name="crank"; version="1.0-5"; sha256="1zy0z308kw0qgyppkm66p8vqw5b1qcn5avhm78zh0r9k60069dm5"; depends=[]; };
+  crantastic = derive { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; };
+  crawl = derive { name="crawl"; version="1.4-1"; sha256="175w5933h5hhhjnrc0l1kg5q24b8pclnf5sf36gj1pmg8s58d1gp"; depends=[mvtnorm sp raster]; };
+  crblocks = derive { name="crblocks"; version="0.9-1"; sha256="1m6yy6jb1dld7m9jaasms5ps8sn3v039jvlk8b0c08hmm7y0rm3z"; depends=[]; };
+  crch = derive { name="crch"; version="0.1-0"; sha256="1f4y2dd6lxsryyjjv569bxh1b4ymcnma0m9k7j150anzvkbrgnjn"; depends=[Formula ordinal]; };
+  CreditMetrics = derive { name="CreditMetrics"; version="0.0-2"; sha256="16g3xw8r6axqwqv2f0bbqmwicgyx7nwzff59dz967iqna1wh3spi"; depends=[]; };
+  CRF = derive { name="CRF"; version="0.3-8"; sha256="0w9wfjlx6hvd07k0iszfyip0vn0ca5ax2d5g7hsg6pm2isnzap8a"; depends=[Rglpk Matrix]; };
+  crimCV = derive { name="crimCV"; version="0.9.3"; sha256="1p2cma78fb9a2ckmwdvpb6fc0818xw2mvq565dgiimgkdmmr0iid"; depends=[]; };
+  CRM = derive { name="CRM"; version="1.1.1"; sha256="09h6xvqc2h2gxhdhc7592z93cnw16l549pn9i26ml0f0n20hljmf"; depends=[]; };
+  crmn = derive { name="crmn"; version="0.0.19"; sha256="0gja9a2nk328hxali15kc2za32dgbjfznxh08yka6qf6jc6jx9g1"; depends=[pls]; };
+  crn = derive { name="crn"; version="1.1"; sha256="1fw0cwx478bs6hxidisykz444jj5g136zld1i8cv859lf44fvx2d"; depends=[chron RCurl]; };
+  crossdes = derive { name="crossdes"; version="1.1-1"; sha256="1d7lv3ibq1rwxx8kc3ia6l9dbz2dxdd5pnf2vhhjmwm448iamcfd"; depends=[AlgDesign gtools]; };
+  crossmatch = derive { name="crossmatch"; version="1.3-1"; sha256="082lrv2129mfhwlh99z3g8id3a29s8854skl152bl3ig8pk2gbjz"; depends=[survival nbpMatching]; };
+  crossReg = derive { name="crossReg"; version="1.0"; sha256="1866jhfnksv9rk89vw7w4gaxi76bxfjvqxx7cfa8nlrcsmaqd7rf"; depends=[]; };
+  crossval = derive { name="crossval"; version="1.0.1"; sha256="1xdl6cmmfkl46arbm71jhdsscjknclvsiaysijlp2p4vgw2762pa"; depends=[]; };
+  crp_CSFP = derive { name="crp.CSFP"; version="2.0"; sha256="0ji208hn3zimql0xhy8bl7w0vg40szw28fia7k1f7g9z0wbl9xqp"; depends=[MASS]; };
+  crqa = derive { name="crqa"; version="1.0.4"; sha256="05sp7dbi89wanhjlrbqb3ms9gl7s1h1iww26s4iy84i0pr0wg7br"; depends=[Matrix tseriesChaos fields]; };
+  crrSC = derive { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; };
+  crrstep = derive { name="crrstep"; version="2014-07.16"; sha256="15di36j44wxvwl7zhnz3s16lf65rnpj1bvgxf0glkkm0pw94ibrl"; depends=[cmprsk]; };
+  crs = derive { name="crs"; version="0.15-23"; sha256="0psb0qaj7xxpfsxylzyzsc4pzfybrrzjzgmr974znaqqwkngdkl4"; depends=[boot]; };
+  CRTSize = derive { name="CRTSize"; version="0.3"; sha256="0m7dc29p2vdpcgji4k4yrpmhv29b7n9i2n6qz6fm19jb2byqsrr5"; depends=[]; };
+  CrypticIBDcheck = derive { name="CrypticIBDcheck"; version="0.3-1"; sha256="1lrpwgvsif1wnp19agh8fs3nhlb7prr3hhqg28fi4ikdd1l2j3r4"; depends=[rJPSGCS car ellipse]; };
+  csampling = derive { name="csampling"; version="1.2-2"; sha256="0gj85cgc3lgv7isqbkng4wgzg8gqcic89768q2p23k4jhhn6xm2w"; depends=[marg statmod survival]; };
+  cSFM = derive { name="cSFM"; version="1.1"; sha256="1znxsqa8xdifmryg7jiqbpzm837n4n862kg5x1aki52crc4zyk3k"; depends=[sn mgcv mnormt MASS moments]; };
+  cshapes = derive { name="cshapes"; version="0.4-2"; sha256="015mkh0iwdbhpbk8gpnq48pp026mfidd69rj70arpmg3knd2jvff"; depends=[sp maptools plyr]; };
+  cslogistic = derive { name="cslogistic"; version="0.1-3"; sha256="1s8p3qpz81nn6zr0pzw6h9ca3p6ahd8zj640vy5gcb5waqwj6bfj"; depends=[mvtnorm]; };
+  csn = derive { name="csn"; version="1.1"; sha256="1cv5pv6g1b635c5bamq43339vh1rxadwjl4vxyrx56991wyr36sl"; depends=[mnormt]; };
+  csound = derive { name="csound"; version="0.1-1"; sha256="0d4bad8qld29k0yavg7f2srljnbax0gj53dljqw1b1z7shyqd1n5"; depends=[rdyncall]; };
+  CSS = derive { name="CSS"; version="1.0.2"; sha256="0p0c3gfj6p58hd4398kkpjg7rhx6wh5z6qddpqnvbm24acq7nrvh"; depends=[XML stringr]; };
+  csSAM = derive { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
+  cstar = derive { name="cstar"; version="1.0"; sha256="1zws4cq5d37hqdxdk86g85p2wwihbqnkdsg48vx66sgffsf1fgxd"; depends=[]; };
+  csvread = derive { name="csvread"; version="1.0"; sha256="0llldk4jg8kbr5nq91sb81hi0cn2ykgpg4bhky8zl8i90x2j8l63"; depends=[]; };
+  cts = derive { name="cts"; version="1.0-19"; sha256="16f6nah3w63bz8b9xlhi3a7mpkiywq6gqkxgm5am90g0bqg5j3py"; depends=[]; };
+  CTT = derive { name="CTT"; version="2.1"; sha256="0v8k54x9pib6hq3nz3m80g1a3p003f7bn8wnj9swwvacc90d6n44"; depends=[]; };
+  ctv = derive { name="ctv"; version="0.8-0"; sha256="1rh38i872hmhj36lmpg7c2p0p7hcvy2kfr5bfl9w7mqn9d9n39qs"; depends=[]; };
+  cubature = derive { name="cubature"; version="1.1-2"; sha256="1vgyvygg37b6yhy8nkly4w6p01jsqg2kyam4cn0vvml5vjdlc18a"; depends=[]; };
+  cubfits = derive { name="cubfits"; version="0.1-0"; sha256="0iylwxzz2aa70q1xqk8r1rkfiiscj3blwq7dshkwshh91l2fgzfw"; depends=[]; };
+  Cubist = derive { name="Cubist"; version="0.0.18"; sha256="176k9l7vrxamahvw346aysj19j7il9a2v6ka6dzmk0qq7hf3w9ka"; depends=[lattice reshape2]; };
+  cudaBayesreg = derive { name="cudaBayesreg"; version="0.3-15"; sha256="02akp2ib06hqb1vfqj27vj4y5m0pimy6qg69argq6g0bz5msrgp8"; depends=[cudaBayesregData oro_nifti]; };
+  cudaBayesregData = derive { name="cudaBayesregData"; version="0.3-11"; sha256="1cls9xqgps7icjpi1mllkrksdxwc1jfhxgffvrcrqx2l16vw6qfx"; depends=[]; };
+  cudia = derive { name="cudia"; version="0.1"; sha256="1ms3bc8sp6l3bm75j418mmb707sy3gyvxznhfias3nd4sw7i074x"; depends=[MCMCpack mvtnorm]; };
+  CUMP = derive { name="CUMP"; version="1.0"; sha256="0dbpgm75nbd4h8rf3ca5n4mgdn3qm4yyf2d48vlihakzw6rqbpka"; depends=[]; };
+  cumplyr = derive { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; };
+  cumSeg = derive { name="cumSeg"; version="1.1"; sha256="01hn3j1i7bi2r9vsqwbgy1f1alcisxyf4316xx57bg82lb34d0s5"; depends=[lars]; };
+  currentSurvival = derive { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[survival cmprsk]; };
+  curvetest = derive { name="curvetest"; version="2.2"; sha256="1lz6rx9fmgyrlci1dyanscp2a18ki9lhrwnrzhp062flysffimg6"; depends=[locfit R_oo R_methodsS3]; };
+  curvHDR = derive { name="curvHDR"; version="1.0-3"; sha256="0rq72prxv2r5nicss9mh4wpkfjvlbb885w85ag4qrqijzq6y8q04"; depends=[feature geometry hdrcde ks misc3d ptinpoly rgl]; };
+  cusp = derive { name="cusp"; version="2.2"; sha256="0c8hxsvvp2p86jwcbx1rzs6i8w2mh3dnsfmfkwpq9x28aps3dmd5"; depends=[]; };
+  cutoffR = derive { name="cutoffR"; version="1.0"; sha256="1801jylmpp4msyf07rhg4153kky1zvi4v0kkjb9d51dc7zkhh531"; depends=[ggplot2 reshape2]; };
+  cuttlefish_model = derive { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; };
+  cvAUC = derive { name="cvAUC"; version="1.0-0"; sha256="1z8l2ivv7h8din6q46ds3gnlsff10l4ry2kavqv9qsl4xkd8rim0"; depends=[ROCR]; };
+  CVcalibration = derive { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
+  CVD = derive { name="CVD"; version="1.0.0"; sha256="1lqx3rrq4abm7rxc6c9zlw0sc6flc6mll4xgfnasfrkai82kaf44"; depends=[]; };
+  cvplogistic = derive { name="cvplogistic"; version="3.1-0"; sha256="1lm66nn0q7665r64rdslxp35b7drdss4mys42ks54xdydcminns9"; depends=[]; };
+  cvq2 = derive { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; };
+  CVST = derive { name="CVST"; version="0.2-1"; sha256="17xacyi8cf37rr2xswx96qy7pwkaqq394awdlswykz3qlyzx4zx2"; depends=[kernlab Matrix]; };
+  CVThresh = derive { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[wavethresh EbayesThresh]; };
+  cvTools = derive { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase lattice robustbase]; };
+  cvxclustr = derive { name="cvxclustr"; version="1.1.1"; sha256="0idmx4wgz4d0b1xzmlq5bsk2f2q38lpf9c117hg97xsfndzn7vqj"; depends=[Matrix igraph]; };
+  cwhmisc = derive { name="cwhmisc"; version="4.0"; sha256="1lvq2mcbdr38nzbx344c2y9ayi3lv9fkzwwf0l2jzan9s2sppxx2"; depends=[lattice]; };
+  cwm = derive { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; };
+  cxxfunplus = derive { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; };
+  cycloids = derive { name="cycloids"; version="1.0"; sha256="00pdxny11mhfi8hf76bfyhd1d53557wcbl2bqwjzlpw5x3vdnsan"; depends=[]; };
+  cyphid = derive { name="cyphid"; version="1.1"; sha256="0ya9w8aw27n0mvvjvni4hxsr4xc8dd08pjxx7zkfl1ynfn5b08am"; depends=[fda]; };
+  cytoDiv = derive { name="cytoDiv"; version="0.5-3"; sha256="00c0gqgypywgbhavb15bvj6ijrk4b5zk86w85n9kwr4069b7jvwc"; depends=[GenKern plotrix]; };
+  d3Network = derive { name="d3Network"; version="0.5.1"; sha256="1nc5gca9jsny5jj8m37081l3rwvmp1cxqpqaimzyr475j6cac40r"; depends=[plyr rjson whisker]; };
+  DAAG = derive { name="DAAG"; version="1.20"; sha256="05jlsrs0frk9ky20h17c5vj9d4j28c9n0a1jww5lssacimn1d4x5"; depends=[lattice latticeExtra]; };
+  DAAGbio = derive { name="DAAGbio"; version="0.62"; sha256="18m4vq8vv0yi79na62nrm0cy1nlk7bg0xbddzxv5gpkmzi1i6m9s"; depends=[]; };
+  DAAGxtras = derive { name="DAAGxtras"; version="0.8-4"; sha256="18lg13mbyharidj5j7ncx8s7d72v2hcnqr00vilhf3djk2mjq7xn"; depends=[]; };
+  dae = derive { name="dae"; version="2.1-7"; sha256="0wchpq8hg2s33nm86dj6vqqvajg2062gbrxg6z7n9i2r6s1hmdjv"; depends=[lattice]; };
+  daewr = derive { name="daewr"; version="1.0-10"; sha256="09ra3zkmvxdxn0fvrbzixvvgddb066bba9q5zih5kifc8kd0a5xp"; depends=[FrF2 BsMD]; };
+  dafs = derive { name="dafs"; version="1.0-37"; sha256="1vdi57qaqdn39yf1ih2gzry02l289q4bffpksglsl4shs6bg2206"; depends=[s20x]; };
+  dagbag = derive { name="dagbag"; version="1.1"; sha256="1hpg7fs1yhnycziahscymkr0s3a2lyasfpj0cg677va73nrpdz12"; depends=[]; };
+  DAGGER = derive { name="DAGGER"; version="1.4"; sha256="0b2hzv001xhch7pqgb53lfpdcjwg5lj33i6pb884l1kx92svjfr7"; depends=[Rglpk quadprog Matrix]; };
+  dagR = derive { name="dagR"; version="1.1.3"; sha256="13jyhwjvvrjjja18rqzfdcw9ck90qm5yjwd25nygxgdf1894y03b"; depends=[]; };
+  Daim = derive { name="Daim"; version="1.1.0"; sha256="19s0p3a4db89i169n2jz7lf8r7pdmrksw7m3cp9n275b5h8yjimx"; depends=[rms]; };
+  DAKS = derive { name="DAKS"; version="2.1-2"; sha256="1817s7xd4h2zzaagmnw423qaxpa5fmxi3fh4h9hm2ra9w7nh6ljj"; depends=[relations sets]; };
+  DALY = derive { name="DALY"; version="1.3.0"; sha256="18naa4422zphdcngbdzahjn9gb7vgzg8jk3kpvn7vccjjcl36gjd"; depends=[]; };
+  DAMisc = derive { name="DAMisc"; version="1.2"; sha256="1fkp21inpgfr5lfid8wmajlcsqbnrgl5c35j0863sywvz6gamgc2"; depends=[car effects lattice sm MASS nnet pscl gdata xtable]; };
+  dams = derive { name="dams"; version="0.1"; sha256="0h0chh9ahsfvqhv1a0dfw88q7gdl1d0w11qcw0w4qmc2ipsl52i6"; depends=[RCurl]; };
+  DandEFA = derive { name="DandEFA"; version="1.5"; sha256="0d82rjkgqf4w7qg7irlqvzzav1f23i2gmygkbf8jycaa6xhli80d"; depends=[gplots polycor]; };
+  darch = derive { name="darch"; version="0.9.1"; sha256="0syrzmmz43msd51whkb4xy5n0kgcl50yw4w3i9sdd9k20glvwpsx"; depends=[futile_logger ff]; };
+  darts = derive { name="darts"; version="1.0"; sha256="07i5349s335jaags352mdx8chf47ay41q7b0mh2xjwn2h9kzgqib"; depends=[]; };
+  DatABEL = derive { name="DatABEL"; version="0.9-4.1"; sha256="1vfsfx8kmjdid5xxmm9sn873gs8nwk3bkdkiav74y1qa1fq2cyd5"; depends=[]; };
+  datacheck = derive { name="datacheck"; version="1.0.0"; sha256="03lms1m3g1rc6jj224hzzbv975xkdd0jsm602zn74j73i227fvmz"; depends=[Hmisc stringr shiny testthat xtable]; };
+  DataCombine = derive { name="DataCombine"; version="0.1.26"; sha256="0wvlr7983v5w0cnwqzv72qzx9abwaw2v2r0bq1ay0n1yxi9wnlf9"; depends=[data_table dplyr]; };
+  dataframes2xls = derive { name="dataframes2xls"; version="0.4.5"; sha256="0lfdp87k0yypwvnsr7803ylzqfy51l37zgwy9zn5nb6n30p588fv"; depends=[]; };
+  datalist = derive { name="datalist"; version="0.2"; sha256="0q82wira0sfi63cn66f5cfyd15f19ig7pbmpk56j38a3115l2fmn"; depends=[assertthat]; };
+  datamap = derive { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; };
+  datamart = derive { name="datamart"; version="0.4.2"; sha256="1khhjva0kpl4j406lpn4n1bxlxk5wcmz4cbbrw71gi3bg3sxpd5y"; depends=[RJSONIO XML RCurl base64 markdown]; };
+  datamerge = derive { name="datamerge"; version="1.0-1"; sha256="03xb48igkh0f91iq6qc2j5xzqfy2n51ci5i850gn09mm9k4lxij1"; depends=[xtermStyle]; };
+  dataone = derive { name="dataone"; version="1.0.0"; sha256="0r2andiv1igygdd3rby4jqs0imhkyfyl0jzb67lc2vjgwh3m2rx0"; depends=[rJava XML dataonelibs rJava XML]; };
+  dataonelibs = derive { name="dataonelibs"; version="1.0.0"; sha256="12qp8vgdqhsfsnh06ml6lz0vvk934q4bpbg79p9l1hsnbxwnj2w6"; depends=[rJava]; };
+  dataQualityR = derive { name="dataQualityR"; version="1.0"; sha256="0f2410sd6kldv7zkqsmbz1js0p5iq7zwlnfwmmnlbrd303p35p3j"; depends=[]; };
+  data_table = derive { name="data.table"; version="1.9.2"; sha256="1fchjg939av89m0zsv85w2xcc8qriwkskk0mcsqy8ip6pcfnlg66"; depends=[reshape2]; };
+  datautils = derive { name="datautils"; version="0.1.4"; sha256="0adg87p9rzz62cm0s80x71mhsg3yfg93gskv1hs1l8gaj78zd1y1"; depends=[deldir gplots gtools]; };
+  dataview = derive { name="dataview"; version="2.0-9"; sha256="0519h2c33v04vwdd8nz9xmqha15svhxdj761d68qmi52jrw6858d"; depends=[xtermStyle]; };
+  date = derive { name="date"; version="1.2-34"; sha256="066zsddpw87x1bhl3479k6fd1wrl3x91n5rd454diwmwq2s8i5qb"; depends=[]; };
+  DATforDCEMRI = derive { name="DATforDCEMRI"; version="0.55"; sha256="0v26a1gi8l21ga5nqcnyfaa7gc8zxq6wk95b96ajgpdybb0l9s53"; depends=[xtable akima R_oo R_methodsS3 matlab lattice locfit]; };
+  dave = derive { name="dave"; version="1.5"; sha256="0sw9hc4y9wdfbnnk6isg7z7sky6ni68pkjxdlrph5m7jcyqphz96"; depends=[labdsv vegan]; };
+  Davies = derive { name="Davies"; version="1.1-8"; sha256="1wp7ifbs4vqfrn4vwh09lc53yiagpww91m5mxmcr62mjbw8q7zhr"; depends=[]; };
+  dawai = derive { name="dawai"; version="1.0"; sha256="0vff248ldm24dk7kh2z2sj5m4g7jc5nmnlqay5j4h0gsk95fb8d5"; depends=[mvtnorm ibdreg boot]; };
+  dbarts = derive { name="dbarts"; version="0.8-3"; sha256="17yd0xsb9z175p8gjq06yycbxlqc58q0bd5mz31aspwva96brmjh"; depends=[]; };
+  dbConnect = derive { name="dbConnect"; version="1.0"; sha256="1vab5l4cah5vgq6a1b9ywx7abwlsk0kjx8vb3ha03hylcx546w42"; depends=[RMySQL gWidgets]; };
+  dbEmpLikeGOF = derive { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; };
+  dbEmpLikeNorm = derive { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; };
+  DBFTest = derive { name="DBFTest"; version="1.0"; sha256="0h83ic16z0lg7grjh4jbrxf672qchqv4zzypm2b1mhmzl01jn1wg"; depends=[]; };
+  DBGSA = derive { name="DBGSA"; version="1.2"; sha256="04zqh9y3nqcdzs5jn8aaq5idy9zl450ikvl788xs860wlg692qv2"; depends=[fdrtool]; };
+  DBI = derive { name="DBI"; version="0.2-7"; sha256="1qxmcgswrbisvzmaz2s6bcfbh3lb2hmizjxaqkan147r823rh2p9"; depends=[]; };
+  DBKGrad = derive { name="DBKGrad"; version="1.5"; sha256="0k0bl680ynblbla5k9fndh5x7a6f8jyr402a7dg9cjnhhw5q7bxc"; depends=[minpack_lm SDD TSA lattice]; };
+  dblcens = derive { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; };
+  dbmss = derive { name="dbmss"; version="2.1.1"; sha256="1x1148csb6r2xckah3ha595hxx26i3cx3xp99sdwp9dic1hg8ral"; depends=[spatstat Rcpp cubature]; };
+  dbstats = derive { name="dbstats"; version="1.0.3"; sha256="1l7yy6m98pkkrzycxcajjjw2h0crbm0fazyq9xg8875ar29i291p"; depends=[cluster pls]; };
+  dcemriS4 = derive { name="dcemriS4"; version="0.51"; sha256="14ir9g4jg8asim8f33wizmvj6vm96583h212yygsa6yc301bhad8"; depends=[oro_nifti]; };
+  DCGL = derive { name="DCGL"; version="2.1.1"; sha256="16jdlpl09q9pcymk5xxca2ba0vqv2l05wzi4ffb9ffydxpxy61j9"; depends=[igraph]; };
+  dcGOR = derive { name="dcGOR"; version="1.0.2"; sha256="03k6bmnn7qi0192243s9n640fh55rng2r1s8z5zs6ziwrlym7zm2"; depends=[Matrix igraph dnet]; };
+  DCL = derive { name="DCL"; version="0.1.0"; sha256="1ls3x3v0wmddfy7ii7509cglb28l1ix1zaicdc6mhwin0rpp2rx3"; depends=[lattice latticeExtra]; };
+  dclone = derive { name="dclone"; version="2.0-0"; sha256="1j8g955rvdgcmc9vnz3xizlkq8w1bslav5h72igvzzffcvqbj9hq"; depends=[coda]; };
+  DCluster = derive { name="DCluster"; version="0.2-6"; sha256="0g7d15kq3dbrjmd5fmiwwg2b6gakz1lpsgrpkg6q89pzwlqx8xr9"; depends=[boot spdep MASS]; };
+  dcmle = derive { name="dcmle"; version="0.2-4"; sha256="0ddb0x0lwk8jgx05k747sa33d2rrj4g2p4aj0m5bw1c9d5gril0m"; depends=[dclone rjags coda lattice]; };
+  dcmr = derive { name="dcmr"; version="1.0"; sha256="1a89wr1n8sykjbwa316zlmcffaysksrqnbd89anxqj8sgw9xv6jq"; depends=[ggplot2 KFAS plyr reshape2 tableplot]; };
+  dcv = derive { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; };
+  ddalpha = derive { name="ddalpha"; version="1.0.6"; sha256="1scfmq6zsbd15n6mnnplj0c4a0yl8bp7nqqh91cvvycggb5y0a1v"; depends=[MASS class robustbase]; };
+  DDD = derive { name="DDD"; version="2.5"; sha256="1svm6l8ssnnf5g3hci46pvw6amisyy1dvfm0mvdryglgfc8vv6jd"; depends=[deSolve ape ade4]; };
+  ddepn = derive { name="ddepn"; version="2.2"; sha256="1zwz664jq6qvf1lcwyfn6kyn6dwxhh2nnyirayx0vqs9c6xzpir7"; depends=[lattice coda igraph gam gplots]; };
+  DDHFm = derive { name="DDHFm"; version="1.1.1"; sha256="03zs2zbrhjcb321baghva7b8y61c8p9z6bfj2vg9cvadpb0260nk"; depends=[]; };
+  DDIwR = derive { name="DDIwR"; version="0.1-0"; sha256="0rf1gj1lzbivkz0pqxbih1zqjccv2rhaqrfdhpwbsqhlw12qkkg5"; depends=[XML foreign]; };
+  ddst = derive { name="ddst"; version="1.03"; sha256="0zbqw4qmrh80jjgn8jzbnq3kykj1v5bsg6k751vircc0x9vnig3j"; depends=[orthopolynom evd]; };
+  deal = derive { name="deal"; version="1.2-37"; sha256="1nn2blmxz3j5yzpwfviarnmabbyivc25cbfhcf814avrhpysvpxa"; depends=[]; };
+  deamer = derive { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
+  debug = derive { name="debug"; version="1.3.1"; sha256="0mpwi6sippxyr1l8xf48xqv6qw6pmfkxs13k1gjyd7bkzlbchgqd"; depends=[mvbutils]; };
+  decctools = derive { name="decctools"; version="0.2.0"; sha256="0k5w49s9s51m7w1h5adk26nw1ypwv5g1mlal78qmx5a4jzaf5bw9"; depends=[XLConnect stringr XML reshape2 RCurl lubridate plyr]; };
+  DECIDE = derive { name="DECIDE"; version="1.1"; sha256="1g6l2k4nmspg5y4gzxcnx58kix0br6sgmf54jlaxk69nkvdxm9xy"; depends=[]; };
+  decon = derive { name="decon"; version="1.2-4"; sha256="1v4l0xq29rm8mks354g40g9jxn0didzlxg3g7z08m0gvj29zdj7s"; depends=[]; };
+  Deducer = derive { name="Deducer"; version="0.7-7"; sha256="1x97rz92v1hx30fdmgd1lnzydgygjp6zh20v082qymvh997l1zzd"; depends=[ggplot2 JGR car MASS rJava e1071 scales plyr foreign multcomp effects]; };
+  DeducerExtras = derive { name="DeducerExtras"; version="1.7"; sha256="0sngsq31469a74y7nhskl82fwy2i0ga68m9g6b1xyhxz1a8kgvlg"; depends=[Deducer irr rJava]; };
+  DeducerPlugInExample = derive { name="DeducerPlugInExample"; version="0.2-0"; sha256="03aw7wr957xzw920ybyzxnck5kx0q2xpcrpq8jh2afyzszy6hzbi"; depends=[Deducer]; };
+  DeducerPlugInScaling = derive { name="DeducerPlugInScaling"; version="0.1-0"; sha256="1qg11vi4szznchh54p9345jbmrfzfr9z5l3x5xz4m86myjkys1mb"; depends=[Deducer psych GPArotation mvnormtest irr klaR]; };
+  DeducerSpatial = derive { name="DeducerSpatial"; version="0.7"; sha256="0133qk3yjcifyha7c4pqr5s0hmbci72bzgil2r0sxjmrljs3q727"; depends=[JavaGD Deducer sp maptools OpenStreetMap scales rgdal UScensus2010 Hmisc]; };
+  DeducerSurvival = derive { name="DeducerSurvival"; version="0.1-0"; sha256="03qk3y4pibvrxbnxbm5rlksw807dvbilip1jbpn1r7k02ibzq676"; depends=[Deducer]; };
+  DeducerText = derive { name="DeducerText"; version="0.1-2"; sha256="0if2p9j74wa5rva4iv0i8iax22grl9j7lqcqzqlywjgqwnlzxa05"; depends=[Deducer tm wordcloud RColorBrewer SnowballC]; };
+  deducorrect = derive { name="deducorrect"; version="1.3-4"; sha256="0hpq0cahfar9y9f6mvpmx35mvinwnnmqq16y9yzrmzbxjkylz2ja"; depends=[editrules]; };
+  deepnet = derive { name="deepnet"; version="0.2"; sha256="09crwiq12wzwvdp3yxhc40vdh7hsnm4smqamnk4i6hli11ca90h4"; depends=[]; };
+  Defaults = derive { name="Defaults"; version="1.1-1"; sha256="0ikgd5mswlky327pzp09cz93bn3mq7qnybq1r64y19c2brbax00d"; depends=[]; };
+  degenes = derive { name="degenes"; version="1.1"; sha256="1xxn5j06qizywimrp1pl8z3yjdy1a167b9jnm77gmv87rp6j240c"; depends=[]; };
+  degreenet = derive { name="degreenet"; version="1.2"; sha256="07b6phgyydfp8jwjvrqcvcx3b2qhbkr44xkcn20ya1igsbyh6kzz"; depends=[]; };
+  Delaporte = derive { name="Delaporte"; version="2.2-0"; sha256="063cqcizqby81k71lnkrnrcxafrnwqfj20y1k38yp9giwgm1ndxs"; depends=[Rcpp]; };
+  deldir = derive { name="deldir"; version="0.1-6"; sha256="1hbvkcyclnrrh3xrixn23z1f51n41khcqi5b6gx40qpq0zsbn7sn"; depends=[]; };
+  deltaPlotR = derive { name="deltaPlotR"; version="1.4"; sha256="0lmwwaazyrbnp4nsvl2mydcpij34xv9hbyqwcjwx4vij33034k2p"; depends=[MASS]; };
+  Demerelate = derive { name="Demerelate"; version="0.8-1"; sha256="1qngwlzzpd2cmij5ldrmhcn12s9yxd0rargc5vzvkrwcqpkgylkn"; depends=[Formula fts sfsmisc vegan mlogit]; };
+  DEMEtics = derive { name="DEMEtics"; version="0.8-7"; sha256="1s59qim60d4gp5rxjacdbmxdbpdm7cy9samn088w8fs0q232vjjx"; depends=[]; };
+  demi = derive { name="demi"; version="1.1.1"; sha256="19zszmjcczmz9qjp1dhvf92w134266w4qwskdpz36q72m5455zdb"; depends=[plyr R_utils]; };
+  demography = derive { name="demography"; version="1.17"; sha256="01yq3wzzcdclgklxqr3sgxglnw18ljxnhzlmzaj9fzqqdw6xngv3"; depends=[forecast rainbow ftsa cobs mgcv strucchange RCurl]; };
+  demoKde = derive { name="demoKde"; version="0.9-3"; sha256="1nkvsjms1gfvjz5l7zza0cgx4yqmn2kgnax44pysn0zqmhfny8bw"; depends=[]; };
+  dendextend = derive { name="dendextend"; version="0.16.1"; sha256="1qgvr26kn016qwgbaff4r8xqpsvxl3plv1nxafq7rq4havzhfgf9"; depends=[magrittr whisker ape]; };
+  dendextendRcpp = derive { name="dendextendRcpp"; version="0.5.1"; sha256="062f7yjsg196v8c09h6gvbhi0fzgwg40a8xhi751avkjc68z30cq"; depends=[Rcpp dendextend]; };
+  dendroextras = derive { name="dendroextras"; version="0.2.1"; sha256="0k1w374r4fvfcbzhrgcvklccjggyz755z7wc2vqfi3c5hvdb9ns4"; depends=[]; };
+  DendSer = derive { name="DendSer"; version="1.0.1"; sha256="0id6pqx54zjg5bcc7qbxiigx3wyic771xn9n0hbm7yhybz6p3gz9"; depends=[gclus seriation]; };
+  dendsort = derive { name="dendsort"; version="0.2.1"; sha256="10qhvxbyziy0xw40j35xsk4sixqc4l0653jgd01spmn4dm1ihj33"; depends=[]; };
+  denpro = derive { name="denpro"; version="0.9.1"; sha256="0ihgk300njhp6dzm1gsmknlx4c5h6kiwprgv3l3f29s6gdxx4f6n"; depends=[]; };
+  densityClust = derive { name="densityClust"; version="0.1-1"; sha256="1apv9n871dshln5ccg8x3pwqi8yfx73ijfqsvzcljqnv36qpqpqd"; depends=[]; };
+  Density_T_HoldOut = derive { name="Density.T.HoldOut"; version="1.02"; sha256="0xjr6z136c0vgsb609xcqf6g4ivyvgpfr4qkwdlj9z5g7gcf3bhl"; depends=[histogram]; };
+  denstrip = derive { name="denstrip"; version="1.5.3"; sha256="10h8ivs7nd6gkf93zvqzqjb1lzfabvvs182636m67f86jfn6d4y4"; depends=[]; };
+  DEoptim = derive { name="DEoptim"; version="2.2-2"; sha256="0yayp056knd7d6bvk07k7rnj79vibmkzflnk71dsfbkk5yx7vc77"; depends=[]; };
+  DEoptimR = derive { name="DEoptimR"; version="1.0-1"; sha256="02c1pmpg42wwmp3wjfi09qbidclclwmrmd3gbfvrnivq7ngp2zil"; depends=[]; };
+  depend_truncation = derive { name="depend.truncation"; version="2.1"; sha256="1b13mqm8pjw0r0z5h7vizz15nzhslxhcn4cb8pzadyq98mcmk4g2"; depends=[mvtnorm]; };
+  depmix = derive { name="depmix"; version="0.9.12"; sha256="0brs6cskrk52dn41zaqa59dxz377sl9lnh89457d3ykbj4jbc97c"; depends=[MASS]; };
+  depmixS4 = derive { name="depmixS4"; version="1.3-2"; sha256="18xmn5fv9wszh86ph91yypfnyrxy7j2gqrzzgkb84986fjp2sxlq"; depends=[nnet MASS Rsolnp]; };
+  depth = derive { name="depth"; version="2.0-0"; sha256="1aj4cch3iwb6vz0bzj4w5r6jp2qs39g8lxi2nmpbi3m7a6qrgr2q"; depends=[abind rgl circular]; };
+  depthTools = derive { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; };
+  descr = derive { name="descr"; version="1.0.3"; sha256="0x3hpr1sy6cpqn434i5z9g4n2insfv7hmks9igx3fnkr5vad7q8l"; depends=[xtable]; };
+  DescribeDisplay = derive { name="DescribeDisplay"; version="0.2.4"; sha256="13npxq1314n4n08j6hbmij7qinl1xrxrgc5hxpbbpbd16d75c7iw"; depends=[proto reshape2 ggplot2 plyr scales GGally]; };
+  DescTools = derive { name="DescTools"; version="0.99.7"; sha256="0a53r3spwwq641mgzgj7xipfbrgnwd0radn92n17ra4ffxa6f3bh"; depends=[boot]; };
+  deseasonalize = derive { name="deseasonalize"; version="1.35"; sha256="1fjsa7g34dckjs6mx9b10m99byxagggm0p9pw2f1vmpjqlasin0l"; depends=[lattice FitAR]; };
+  designGG = derive { name="designGG"; version="1.1"; sha256="1x043j36llwd7kd4skbpl2smz2ybsxjqf5yd1xwqmardq60gdv2w"; depends=[]; };
+  desirability = derive { name="desirability"; version="1.6"; sha256="17g998fmps4ypiscqd2nmh38sd0q7k3r60h2zdrq3wbm1vyyzygk"; depends=[]; };
+  desire = derive { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; };
+  DESnowball = derive { name="DESnowball"; version="1.0"; sha256="012kdnxmzap6afc3ffkcvk1mazlkp286av6g9fwz2wcbf5mh9n1m"; depends=[clue combinat MASS cluster]; };
+  deSolve = derive { name="deSolve"; version="1.10-9"; sha256="03zqq3lfcc9k0zyfm2mhyzkq2crn1m5gaw1w0x377zrrasl3fw9g"; depends=[]; };
+  detect = derive { name="detect"; version="0.3-2"; sha256="1mjc8h3xb2zbj4dxala8yqbdl94knf9q0qvkc37ag1b2w4y2d2b0"; depends=[Formula]; };
+  deTestSet = derive { name="deTestSet"; version="1.1.1"; sha256="1qc8sj44zlndyr9k5r179pmy8kyq0wawz7q2xgdmnx27j2rjls43"; depends=[ReacTran]; };
+  detrendeR = derive { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; };
+  DetSel = derive { name="DetSel"; version="1.0.2"; sha256="0igkccclmjwzk7sl414zlhiykym0qwaz5p76wf4i7yrpjgk7mhl9"; depends=[ash]; };
+  devEMF = derive { name="devEMF"; version="1.2"; sha256="14nqx1gy6hlkmzrrayd7kgljla9flxx4xm329436znd66184sass"; depends=[]; };
+  Devore6 = derive { name="Devore6"; version="0.6-0"; sha256="093jbz405wi0zf4nhracy80pl3m7255lq7jkbymfd5snpr9gnb53"; depends=[]; };
+  Devore7 = derive { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[MASS lattice]; };
+  devtools = derive { name="devtools"; version="1.5"; sha256="1gd8skhj7612zbci361h3yys6iwxr7dvgrjr99vs7b0c0mglm7hp"; depends=[httr RCurl memoise whisker evaluate digest]; };
+  df2json = derive { name="df2json"; version="0.0.2"; sha256="10m7xn7rm4aql1bzpckjcx5kvdw44m1pxgzqkgkd40lzqb1cwk18"; depends=[rjson]; };
+  dfcrm = derive { name="dfcrm"; version="0.2-2"; sha256="1kwgxfqnz2bcicyb27lp6bnvrj30lqjpn5fg7kaqshgkj53g0s4f"; depends=[]; };
+  dfexplore = derive { name="dfexplore"; version="0.2.1"; sha256="04nbhn59l1kas26nwj4qflkjvvr33sj1mm7zg7fhvya85gvlhrbf"; depends=[ggplot2]; };
+  DFIT = derive { name="DFIT"; version="1.0-1"; sha256="190k577qvbpbzgyys1r52fq1w642aq5syp2p9d7y6zp4g3xra1sr"; depends=[simex mvtnorm ggplot2]; };
+  dfoptim = derive { name="dfoptim"; version="2011.8-1"; sha256="19j0h5xdrbmykz2nrjrwqwaw7466zvqaiwafrm1jc12mk5azfcqx"; depends=[]; };
+  dglars = derive { name="dglars"; version="1.0.5"; sha256="02g8x4p98jv3cfwfxvh68aivb72651w4977g4xqksq0p4nqcs636"; depends=[]; };
+  dglm = derive { name="dglm"; version="1.6.2"; sha256="0w9rrvlhy2vd9mmp04i1hc3s1w228p0sicwg56rjywsmfqfr81vv"; depends=[statmod]; };
+  dgmb = derive { name="dgmb"; version="1.1"; sha256="134ckgq7rsdypg3c586kkhr9rx5ya34smp38i9lzvbdanzrpf33w"; depends=[MASS abind]; };
+  dgof = derive { name="dgof"; version="1.2"; sha256="02qnb3i131hx05k8l5n3xbl5sqmmc2fh19bsgcacgj8ixs4wyjvi"; depends=[]; };
+  dhglm = derive { name="dhglm"; version="1.2"; sha256="14wa0xkwb1qvkynk95aw6y4rx3jjdki19wdydg3wv5nfagcc4vdz"; depends=[Matrix numDeriv boot]; };
+  diagram = derive { name="diagram"; version="1.6.2"; sha256="0jxy1rwph29w8q1383ykbnpq61p220azyv6miq1dx0v2fk5579da"; depends=[shape]; };
+  DiagTest3Grp = derive { name="DiagTest3Grp"; version="1.6"; sha256="04dxyyqv333rkjf2vlfpal59m7klhw6y7qilym6nw78qb1kqqys7"; depends=[car KernSmooth gplots]; };
+  diaplt = derive { name="diaplt"; version="1.2.1"; sha256="0pya6rqzsvc5nd3smhydvabarglc4nn04q605vbllmbhq9rv00pa"; depends=[]; };
+  dice = derive { name="dice"; version="1.1"; sha256="0wnmiyrf57kjkby26z9lgplphv3p15dfxgsbbsgwq65md2d6idyn"; depends=[gtools]; };
+  DiceDesign = derive { name="DiceDesign"; version="1.6"; sha256="1djq7clga3cvpgfycs3zjj106213yhfj9909sqrni70nj1nwdpj9"; depends=[]; };
+  DiceEval = derive { name="DiceEval"; version="1.3"; sha256="1vp9zwd09cwl3c8066jr9d3w4yic70fvd40r7hsj2y8d0bhiwl82"; depends=[DiceKriging]; };
+  DiceKriging = derive { name="DiceKriging"; version="1.5.3"; sha256="14826fwsj6cifksyd605nbfxlfwnapr80inm4chjmm0f2xjc4r5n"; depends=[]; };
+  DiceOptim = derive { name="DiceOptim"; version="1.4"; sha256="11k6gqw8bcfcnxhm6a039vnkdm7526h3aszjqwfp1s7m157w8kp2"; depends=[DiceKriging rgenoud MASS lhs]; };
+  DiceView = derive { name="DiceView"; version="1.3-1"; sha256="0c7i1jy13d5bj822q1rp0d7gmmfjd00jaah34pnj8fzwyrq404z9"; depends=[DiceKriging DiceEval rgl]; };
+  dichromat = derive { name="dichromat"; version="2.0-0"; sha256="1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i"; depends=[]; };
+  dicionariosIBGE = derive { name="dicionariosIBGE"; version="1.5"; sha256="03gsp5h39a4s6zgvwnrfdyj1wzrp688qk8g5hdr8rk3a2rzbbzgg"; depends=[]; };
+  dielectric = derive { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
+  DierckxSpline = derive { name="DierckxSpline"; version="1.1-9"; sha256="07bp86zfbcp3d7jdhfap3z1sy15534qvdapdzscbyr2x82mmqpy3"; depends=[lattice PolynomF fda]; };
+  diffdepprop = derive { name="diffdepprop"; version="0.1-9"; sha256="0mgrm1isr26v2mcm6fkzc7443ji00vpnqmw4zngx81n7442b3cl2"; depends=[gee rootSolve PropCIs]; };
+  diffEq = derive { name="diffEq"; version="1.0"; sha256="17b6yw5xhlk70wvv58348hy1237sjwkxfrgkyw876piy50dxmnz8"; depends=[deSolve rootSolve bvpSolve ReacTran diagram deTestSet scatterplot3d]; };
+  diffIRT = derive { name="diffIRT"; version="1.4"; sha256="13axwzsrlr1akj4viwsyaplh11krixg3l07qi58c81jrcrmqpgv1"; depends=[statmod]; };
+  diffractometry = derive { name="diffractometry"; version="0.1-8"; sha256="1m6cyf1kxm9xf1z4mn4iz0ggiy9wcyi8ysbgcsk7l78y7nqh1h99"; depends=[]; };
+  diffusionMap = derive { name="diffusionMap"; version="1.1-0"; sha256="1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3"; depends=[scatterplot3d igraph Matrix]; };
+  DIFlasso = derive { name="DIFlasso"; version="1.0-1"; sha256="048d5x9nzksphsdk9lwfagl165bb40r0pvjq2ihvhqvxspgpar4b"; depends=[grplasso penalized miscTools]; };
+  difR = derive { name="difR"; version="4.5"; sha256="0qlaqpywyjggw74h5y5r2aivcyknc6b7l8b1p69g3lyx4d2hz8wp"; depends=[lme4 ltm]; };
+  digest = derive { name="digest"; version="0.6.4"; sha256="06xbklq6laffv609hsfqyj04fhdnr9bgjh6ala7253h9vvkjch1k"; depends=[]; };
+  Digiroo2 = derive { name="Digiroo2"; version="0.6"; sha256="1b1ahhqz5largjadlk5n6nw2183c05k28mksb1wm26y0lps0vdgr"; depends=[maptools spatstat spdep]; };
+  dils = derive { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; };
+  DIME = derive { name="DIME"; version="1.2"; sha256="11l6mk6i3kqphrnq4iwk4b0ridbbpg2pr4pyqaqbsb06ng899xw0"; depends=[]; };
+  dinamic = derive { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; };
+  diptest = derive { name="diptest"; version="0.75-5"; sha256="13nml4fp2y77x396xm4j9h8k2cdinfmkna1fr0jpmy3lpcj3h6vs"; depends=[]; };
+  DIRECT = derive { name="DIRECT"; version="1.0"; sha256="129bx45zmd6h7j6ilbzj2hjg4bcdc08dvm2igggi8ajndl1l5q9j"; depends=[]; };
+  directlabels = derive { name="directlabels"; version="2013.6.15"; sha256="083cwahz320r4w4jbh62pxmzn1i1hixp398zm8f2fpzh4qp5y44g"; depends=[quadprog]; };
+  directPA = derive { name="directPA"; version="1.0"; sha256="16bllp7afb83y73zr5wxfkad7vxzfqwdmhcxfa5jml4hlvkhgv1r"; depends=[]; };
+  DirichletReg = derive { name="DirichletReg"; version="0.4-0"; sha256="1azrqx1wa7yaary3qk4pz605xzvzdvwqwz5darl2aighwafzgy8d"; depends=[maxLik Formula rgl]; };
+  dirmult = derive { name="dirmult"; version="0.1.3-4"; sha256="1r9bhw1z0c1cgfv7jc0pvdx3fpnwplkxwz8j8jjvw14zyx803rnz"; depends=[]; };
+  Disake = derive { name="Disake"; version="1.0"; sha256="1i58q6dqk980mk8qj66hbqd64wmkvpa4v0z6c0q3lkirsvdm4cwv"; depends=[]; };
+  disclap = derive { name="disclap"; version="1.5"; sha256="0piv9gxhxcd4pbh5qjn9c3199f32y3qiw5vy8cr77ki70dnmr66n"; depends=[]; };
+  disclapmix = derive { name="disclapmix"; version="1.5"; sha256="03y1ajaz52kar5wj8csh66kdm8ywin9jpwnj40mkz6fjqi50lhb1"; depends=[Rcpp disclap cluster]; };
+  DiscML = derive { name="DiscML"; version="1.0.1"; sha256="0qkh0yak1kmzxxx0cqb47zgrj8v2s1d5danpibwwg43j138sb73l"; depends=[ape]; };
+  DiscreteInverseWeibull = derive { name="DiscreteInverseWeibull"; version="1.0"; sha256="0lnpcpwfgl5ncaa67a32nvviv1wn60dprd781dpjljhgja4hrsa7"; depends=[Rsolnp]; };
+  DiscreteLaplace = derive { name="DiscreteLaplace"; version="1.0"; sha256="1mwqvlhgswqp697zjl6yjzqbgazycwwz6dfdvx8s72hdmnlqqr9r"; depends=[]; };
+  discreteMTP = derive { name="discreteMTP"; version="0.1-2"; sha256="13qsf1kc3rph0kkdkz31qj072www5dwjyk73lfpy141rzhcn1v1x"; depends=[]; };
+  discreteRV = derive { name="discreteRV"; version="1.1.2"; sha256="1mq05an70m7k36ip22igbmb2i63gxxf7y9ivb5wn25yx0fynarpk"; depends=[]; };
+  DiscreteWeibull = derive { name="DiscreteWeibull"; version="1.0"; sha256="0v8za4arqarf20jrw38dzcjxdwfdpn0ss7p5yxbwhylnj7qz207w"; depends=[Rsolnp]; };
+  discretization = derive { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; };
+  discrimARTs = derive { name="discrimARTs"; version="0.2"; sha256="088v4awic4bhzqcr7nvk2nldf8cm1jqshg2pzjd2l2p1cgwmlxib"; depends=[RUnit]; };
+  DiscriMiner = derive { name="DiscriMiner"; version="0.1-29"; sha256="1ii8aa4dwfk991qdnpmkva20wvs5fqcna9030c799ybf11qpdass"; depends=[]; };
+  diseasemapping = derive { name="diseasemapping"; version="0.7.5"; sha256="0i5za00p2pgbwak5gl006yamklzg2m6xcxmqba1kiz16dddfscqq"; depends=[sp mgcv]; };
+  diskmemoiser = derive { name="diskmemoiser"; version="1.0-1"; sha256="0lacadc3mm1w55sff3lphp3xrr1inn2r382c1z8gf6kzal7c9pd8"; depends=[digest]; };
+  dismo = derive { name="dismo"; version="0.9-3"; sha256="1vr24kx4mv15wivpk6lw1j8l4422p5al80fld8x6fcp31sf7q652"; depends=[raster sp]; };
+  disp2D = derive { name="disp2D"; version="1.0"; sha256="0q5bds2r1mqzcwmnj61dmwqv6b0s0scq5h3nim47q3wp0n4gbslz"; depends=[geometry]; };
+  displayHTS = derive { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; };
+  dispmod = derive { name="dispmod"; version="1.1"; sha256="141gzhnmxxl495cpjgd4wnvdrbz6715m6sd1pycrbaqrsdc1pv57"; depends=[]; };
+  dissUtils = derive { name="dissUtils"; version="1.0"; sha256="00fzlmkdfw2s3k824wp2pk3v7cvxnywi1hfp86g4mm95z2qlw9br"; depends=[]; };
+  Distance = derive { name="Distance"; version="0.9.1"; sha256="04bk0kplpmz3qifyar1fs8jrkyk55a4z1yxwkxx957r419afl6l4"; depends=[mrds]; };
+  DistatisR = derive { name="DistatisR"; version="1.0"; sha256="1il00v26q68h5dd5c9lm2jblgn8hs6n0457r13mlw6r7pcj0158j"; depends=[prettyGraphs car]; };
+  distfree_cr = derive { name="distfree.cr"; version="1.0"; sha256="13y714l6b3kkpp75fdrsbdclgj1vw1xsvbj9pxi4lkwf11wwmrqr"; depends=[]; };
+  distillery = derive { name="distillery"; version="1.0-1"; sha256="0hfj4qbfb5219dm7yrgf2h4jrh2qsjhwrbv8gbrxcr0xf6gqbxmv"; depends=[]; };
+  distory = derive { name="distory"; version="1.4.2"; sha256="12j19cb1b4prm8m43gya15kia1ii1k0yy7hkngpn2vsyk7n2z65m"; depends=[ape]; };
+  distr = derive { name="distr"; version="2.5.3"; sha256="13ssdidbh4x534f0vvhfpi5cdrhlpmrz8s0y33q7ccf3dfmdsyan"; depends=[startupmsg sfsmisc SweaveListingUtils]; };
+  distrDoc = derive { name="distrDoc"; version="2.5"; sha256="104y8q7p53pzwr5pgspa0zczmnhylac2k9aj9flqd75ka6icfqh8"; depends=[distr distrEx distrSim distrTEst distrTeach RandVar distrMod MASS SweaveListingUtils startupmsg]; };
+  distrEllipse = derive { name="distrEllipse"; version="2.5"; sha256="1slzzmcf09mqqba287rpgpwbsq6j5lprjgxda5lrc21znvrgfxn3"; depends=[mvtnorm setRNG distr distrEx distrSim]; };
+  distrEx = derive { name="distrEx"; version="2.5"; sha256="0mbccd53r9wl875i702j14wlrv7pjgrwzlnyc511cqa5pg3mn81i"; depends=[distr]; };
+  DistributionUtils = derive { name="DistributionUtils"; version="0.5-1"; sha256="1in2k7xsaa0wadjgdh8m0v25v0dzx89pb20i5nsa19vx2iiysqbd"; depends=[RUnit]; };
+  distrMod = derive { name="distrMod"; version="2.5.2"; sha256="1vgb06qhfpav93xv9lamzmn8mccx5bqdfplkcqpv3i7qlgmngvh9"; depends=[distr distrEx RandVar MASS]; };
+  distrom = derive { name="distrom"; version="0.2"; sha256="1mvqqwaa6jwg483gjzgb0wplg1r8p7q7ihypa2z0c8pcbja8i9ff"; depends=[Matrix gamlr]; };
+  distrRmetrics = derive { name="distrRmetrics"; version="2.5"; sha256="0c7fhckw7hav68gag8ymgicywl2vbnvqpjxca0x24wpdi1gs4jf6"; depends=[distr fBasics fGarch]; };
+  distrSim = derive { name="distrSim"; version="2.5.2"; sha256="0ipg4l2vyifaj1r9a4cc8kg32s65jpz5wxrlnrix95xk5wasdpbh"; depends=[setRNG distr]; };
+  distrTeach = derive { name="distrTeach"; version="2.5"; sha256="0a7qfqpirzcd94dvcvmprhhj2j1yl3lpizsi8mdqr19zcp6dw21k"; depends=[distr distrEx]; };
+  distrTEst = derive { name="distrTEst"; version="2.5"; sha256="1swl4v70gkkpidddsgqf0dqz9j0xz5j1wk44bhpi4ficim7hap3l"; depends=[setRNG distrSim startupmsg]; };
+  divagis = derive { name="divagis"; version="1.0.0"; sha256="1kcz7i3h9xxpqhlq0rl08pgcwd16ygjjmm0jjv9knn2ggc3j1jzz"; depends=[rgdal sp]; };
+  DivE = derive { name="DivE"; version="1.0"; sha256="1ixkk8kd3ri78ykq178izib0vwppnbiwbpc1139rcl8f5giiwcdh"; depends=[deSolve FME rgeos sp]; };
+  diveMove = derive { name="diveMove"; version="1.3.9"; sha256="0782b8fvh676g6fy05g1da52q398rxmgz46vk6yxwrmnvg78wcq5"; depends=[caTools KernSmooth quantreg geosphere]; };
+  diversitree = derive { name="diversitree"; version="0.9-7"; sha256="0hr3hzrrbmfqbzcwn18lnqmychs9f21j1x214zry0jmw9pnai0s0"; depends=[deSolve ape subplex Rcpp]; };
+  diveRsity = derive { name="diveRsity"; version="1.9.5"; sha256="0rybnjkkxsam0fhsfcxb2h00p65169iw8kb7xgzzgzdfi258zp9s"; depends=[ggplot2 shiny qgraph Rcpp]; };
+  DiversitySampler = derive { name="DiversitySampler"; version="2.1"; sha256="1sfx7craykb82ncphvdj19mzc0kwzafhxlk9jcxkskygrlwsxfgg"; depends=[]; };
+  DivMelt = derive { name="DivMelt"; version="1.0.3"; sha256="03vkz8d283l3zgqg7bh5dg3bss27pxv4qih7zwspwyjk81nw3xmr"; depends=[glmnet]; };
+  dixon = derive { name="dixon"; version="0.0-5"; sha256="0x7x0l7p8kmkfqqqah8hck2r96b3w8padd41skd3q35vq8kmnsqc"; depends=[splancs spatstat]; };
+  dkDNA = derive { name="dkDNA"; version="0.1.0"; sha256="1waqj8l48yqlzi3rb3ilxyx79n5d4w0sp02flvynwaxck6jvh8gc"; depends=[]; };
+  dlm = derive { name="dlm"; version="1.1-3"; sha256="1mk5hlhm4bm8a5ilrbiwqggj1wg2jiv44s6gjjkjigs24673lg27"; depends=[]; };
+  dlmap = derive { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[qtl ibdreg wgaim nlme mgcv]; };
+  dlmodeler = derive { name="dlmodeler"; version="1.4-2"; sha256="06gqvk2wrzz4kpsh4vyrbqwmxirsvg78qj7clvcxdac0sfqn4gl7"; depends=[KFAS]; };
+  dlnm = derive { name="dlnm"; version="2.1.3"; sha256="044khdhk4dgd09cwmidsfa2rgd43h7wnd48bmmrnsvj3314bic0f"; depends=[nlme]; };
+  dma = derive { name="dma"; version="1.2-0"; sha256="1q0zclp7y1y1ksy8j64z05jy1fi0lmgd9a5cswxyl8l4xbs894wn"; depends=[]; };
+  DMR = derive { name="DMR"; version="2.0"; sha256="1kal3bvhwqs00b6p6kl0ja35pcz9v9y569148qfhy94m319fcpzm"; depends=[magic]; };
+  dmt = derive { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[mvtnorm MASS Matrix]; };
+  DMwR = derive { name="DMwR"; version="0.4.1"; sha256="1qrykl9zdvgm4c801iix5rxmhk9vbwnrq9cnc58ms5jf34hnmbcf"; depends=[lattice xts quantmod zoo abind rpart class ROCR]; };
+  dna = derive { name="dna"; version="1.1-1"; sha256="0gw70h1j67h401hdvd38d6jz71x1a6xlz6ziba6961zy6m3k5xbm"; depends=[]; };
+  DNAprofiles = derive { name="DNAprofiles"; version="0.2"; sha256="15la7csf45175g4hkfdz41jgbj5njad5d4jwfhpadxkb9v2mgaw4"; depends=[RcppProgress Rcpp bit]; };
+  DNAtools = derive { name="DNAtools"; version="0.1-8"; sha256="146r59lhj57b0dlwwsddks9lpfdyvbjm8i5mvkc6w9wwj32g931i"; depends=[Rsolnp multicool]; };
+  DnE = derive { name="DnE"; version="1.01"; sha256="04b2zz1b47nxpl8060ravybwq6y3s08fbkg5a4qiiaz9a84kvbhw"; depends=[]; };
+  dnet = derive { name="dnet"; version="1.0.5"; sha256="12kx9701gl33rhym6xzfhqjlz1xq0zzqblha6rn9l8wkkkva3aq5"; depends=[igraph Matrix]; };
+  DOBAD = derive { name="DOBAD"; version="1.0.3"; sha256="0q8sjcbfdg66jrhii98kls1l2gzx5s8nzv5xrbyl497cn6ysiww0"; depends=[numDeriv]; };
+  doBy = derive { name="doBy"; version="4.5-10"; sha256="1axdy61n6jf0chr9276aj16h4dbq9nh4cw82md2r7mgw746ccvcn"; depends=[survival MASS Matrix lme4]; };
+  docopt = derive { name="docopt"; version="0.1.1"; sha256="1fgwh5r216g4ndgpwpp8vb7scls5f47mn29y1fl9rp4mwzr2vpdh"; depends=[stringr]; };
+  Dodge = derive { name="Dodge"; version="0.8"; sha256="1vnvqb2qvl6c13s48pyfn1g6yfhc60ql3vn7yh2zymxcsr1gxgcw"; depends=[]; };
+  DoE_base = derive { name="DoE.base"; version="0.26-1"; sha256="07mcbxz9xf87ldsigr8bxczhq487ixv4m2xcz622sc43nbzri8la"; depends=[conf_design vcd combinat MASS]; };
+  DoE_wrapper = derive { name="DoE.wrapper"; version="0.8-9"; sha256="1f4q7i0d620wn13c6l3bifqqr5b1g1ihdw5fw92yaw1zv9dwzx0c"; depends=[FrF2 DoE_base rsm lhs DiceDesign AlgDesign]; };
+  doMC = derive { name="doMC"; version="1.3.3"; sha256="0g5psgk92b2zk9fkap3a86haay2y0kfz75cyk3d1ila9m7cd2cn4"; depends=[foreach iterators]; };
+  Dominance = derive { name="Dominance"; version="1.0.0"; sha256="0xcmslzfdcy826vcnlybhdyym5kqkrdqidq6jn10s4jic7jk8nl3"; depends=[igraph chron gdata]; };
+  domino = derive { name="domino"; version="0.1-7"; sha256="0xlmry11jmv4x3pq89w02yjq9qrvaqc8r71lr2cw5k1jsi0swxas"; depends=[]; };
+  doMPI = derive { name="doMPI"; version="0.2"; sha256="0cvws4zwbjj9ji0s69qy1843404a221pyxg9y35ihfcrjknfjc0l"; depends=[foreach iterators Rmpi]; };
+  doParallel = derive { name="doParallel"; version="1.0.8"; sha256="1z6cwqnjvqsbck44padqkv4r75cy32p5vrlkkan4mq84cc8062nx"; depends=[foreach iterators]; };
+  doRedis = derive { name="doRedis"; version="1.1.1"; sha256="10ldfzq6m83b9w24az9bf5wbfm6y9gi233s8qgsk4dnr84n3nizx"; depends=[rredis foreach iterators]; };
+  doRNG = derive { name="doRNG"; version="1.6"; sha256="0yvg4052gfdh54drn6xnpiqyd77p8765yi525nag3ismw2yn9y58"; depends=[foreach rngtools iterators pkgmaker]; };
+  DoseFinding = derive { name="DoseFinding"; version="0.9-11"; sha256="10i2vpv09avspn2daa9bcpj0nicdjm71gixhvh3x7xb3681zsw2d"; depends=[lattice mvtnorm]; };
+  doSNOW = derive { name="doSNOW"; version="1.0.12"; sha256="0j71n0l9lbvwllw9iigvjgv0x8z2j57grl3yazkgcyzy0mcgf741"; depends=[foreach iterators snow]; };
+  dosresmeta = derive { name="dosresmeta"; version="1.3.0"; sha256="0yfm8dkds8abdl6jrib5vvgkyrd5cl5a99qs27safxx0fcpdiz4k"; depends=[mvmeta aod Matrix]; };
+  dostats = derive { name="dostats"; version="1.3.1"; sha256="0xcp9arpvqb7am6caiazlgllvd3hhk4gqjd2wizr2jc5dkwfl4qn"; depends=[]; };
+  DoubleCone = derive { name="DoubleCone"; version="1.0"; sha256="1pba9ypp0n3i2k3ji1x8j7h548pfam9z99hxylcjcxnnvc7xs2fw"; depends=[coneproj Matrix MASS]; };
+  DoubleExpSeq = derive { name="DoubleExpSeq"; version="1.0"; sha256="0y797iqmxihrsp8lhy84p5hlyw3ckpklv0pgcqv4h39a6cpglbvd"; depends=[numDeriv]; };
+  downloader = derive { name="downloader"; version="0.3"; sha256="0jpq8z3i9fkgs8wwjrq5qd7qfi5w3rxmzmsi1c1dxlnxzzhg6kxq"; depends=[digest]; };
+  dpa = derive { name="dpa"; version="1.0-3"; sha256="0chkbbqxpq5fmqzr74jvflls9h0i2y25jp8gvlg3pfam9j07w7i5"; depends=[sem igraph]; };
+  dpcR = derive { name="dpcR"; version="0.1.2-1"; sha256="1czkwyqnly7lwn00mifm0apnh8ahfv4v9iwzvfwcamfl7qkwbvx6"; depends=[qpcR binom chipPCR e1071 dgof pracma rateratio_test signal shiny spatstat]; };
+  dpglasso = derive { name="dpglasso"; version="1.0"; sha256="1mx28xbm2z2bxyp33wv2v6vgn1yfsdsa0bzjjdxasgd6lvr51myf"; depends=[]; };
+  dplR = derive { name="dplR"; version="1.6.0"; sha256="1rjb10adhycp16xav7z5c93jfcjwpcrp8cdiyab8skrijgzbp0vx"; depends=[gmp digest lattice stringr XML]; };
+  dpmixsim = derive { name="dpmixsim"; version="0.0-8"; sha256="0paa2hmpd6bqf0m7p9j7l2h3j18lm64ya6ya8zvp55wm8pf7xgqg"; depends=[oro_nifti cluster]; };
+  DPpackage = derive { name="DPpackage"; version="1.1-6"; sha256="01qdl6cp6wkddl9fwwpxwvyhb7lpjxis6wnbm2s288y2n9wi4j24"; depends=[MASS nlme survival]; };
+  DPw = derive { name="DPw"; version="1.1.2"; sha256="0waprp6xql67ijwwsy0z8f0fnazkzci0nzwiajwkvy7vbwcch5bx"; depends=[]; };
+  dr = derive { name="dr"; version="3.0.8"; sha256="0plvdkk041giqx8cgph4vdcabq9nv5bvjwz0pvjmhvb3z7q15cgj"; depends=[MASS]; };
+  drawExpression = derive { name="drawExpression"; version="1.0"; sha256="0c2daicqrjlqf7s788cknzvw9c6rm500lgmwfr7z03bq7bd2ah90"; depends=[]; };
+  drc = derive { name="drc"; version="2.3-96"; sha256="0yrxa7rnsi7w4zdxd713m0l8bfsqnhcypzr091yazlahk33mybxf"; depends=[car gtools MASS magic plotrix lattice nlme]; };
+  drfit = derive { name="drfit"; version="0.6.3"; sha256="0vx5niw6mfg85937sbjmc0z0gdgf9aj43rmkn1gljky7pq4j3hfn"; depends=[MASS RODBC drc]; };
+  drgee = derive { name="drgee"; version="1.0.1"; sha256="0vrmi3q6dhmk9z5168pdfhi18nkm4pgj4zx8d24r4k1jcqvgckl0"; depends=[nleqslv]; };
+  DRI = derive { name="DRI"; version="1.1"; sha256="11dqwjqddwis8y8yq248k90wwk2fi3mcy0rwq2dz95m17wvd1v0k"; depends=[cghFLasso]; };
+  drm = derive { name="drm"; version="0.5-8"; sha256="1p6ixd7hnv41gfmvan3rv9xzz1279hmrnvfrl6pxwzs9zcnbb53a"; depends=[]; };
+  drmdel = derive { name="drmdel"; version="1.3"; sha256="0yflpja6r8cm4yv07ac1wic8w2iv0pwqpgh3ls2pjwv3vqzg7jrm"; depends=[]; };
+  drsmooth = derive { name="drsmooth"; version="1.0"; sha256="1cxhj28dkll704kif040vqnp9grb61v891rswvyx7aa9216156px"; depends=[car clinfun mgcv multcomp pgirmess DTK segmented mvtnorm]; };
+  ds = derive { name="ds"; version="2.0"; sha256="0jxkwp8hm36aqh8xdxh3q5zgafwik6i9ihs52sxrllpmhyb39x3p"; depends=[]; };
+  dsample = derive { name="dsample"; version="0.91.1"; sha256="0nxx3x55zj089aq2shk7cg9bgh6xw7jnrr2qmlaq6bflwn58wn1q"; depends=[]; };
+  DSBayes = derive { name="DSBayes"; version="1.1"; sha256="0iv4l11dww45qg8x6xcf82f9rcz8bcb9w1mj7c7ha9glv5sfb25v"; depends=[BB]; };
+  dse = derive { name="dse"; version="2013.3-2"; sha256="170bpd0ix5bslbif2blcyb8dkbxwl3334h2nw0fgcx495vxvvx2x"; depends=[tframe setRNG tfplot]; };
+  dse1 = derive { name="dse1"; version="2011.11-2"; sha256="0h8f1f4qqycyc4k8ksdlz7cprayaa08gnsgj6hxa0kxnfs726qb6"; depends=[dse]; };
+  dse2 = derive { name="dse2"; version="2011.11-2"; sha256="05kf2072a50wd6p42yx5wpy0m7wq1gssy877nfyyc5l0pwviy3zs"; depends=[EvalEst]; };
+  DSL = derive { name="DSL"; version="0.1-5"; sha256="0k320cmim9mvi5cmr6964h9i2jbskh76xws3p6zsfakk63ndg3rr"; depends=[]; };
+  dslice = derive { name="dslice"; version="1.0.2"; sha256="0y8q52g7d01hfyysrbqgg0xrqvia046phr9xfwgy0bp254xdwfcp"; depends=[Rcpp ggplot2 scales]; };
+  dsm = derive { name="dsm"; version="2.2.4"; sha256="1pbvirxwxr35hcd64sn1cd3cv40nrq7dz92apdvaf754sxfqx2xw"; depends=[mgcv mrds nlme ggplot2 statmod]; };
+  DSpat = derive { name="DSpat"; version="0.1.5"; sha256="1njc9p2cxszcskdm21x00yvcs7gx71x18fdayih6l3g5l40c698a"; depends=[spatstat RandomFields mgcv rgeos]; };
+  DSsim = derive { name="DSsim"; version="1.0.1"; sha256="0a62l8jfrnr2h9laxw27p8icvfa8f1gdhdiywwb33328barhzfrk"; depends=[shapefiles splancs mrds mgcv]; };
+  DTComPair = derive { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
+  DTDA = derive { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; };
+  dti = derive { name="dti"; version="1.2-0"; sha256="01z51x1fpsc79b298gsx5fq2y5w3pwiq58a13pm96a4mkyzzwhk7"; depends=[awsMethods adimpro rgl oro_nifti oro_dicom gsl]; };
+  DTK = derive { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
+  DTMCPack = derive { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; };
+  DTR = derive { name="DTR"; version="1.5"; sha256="1c73ay0j6jkjm4iv32waz3wnn0qy399k1h72l7rwfzpyidnaprvi"; depends=[survival ggplot2 gridExtra aod proto]; };
+  dtt = derive { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
+  dtw = derive { name="dtw"; version="1.17-1"; sha256="0kbf38a14k112vdi7yaql18w0sj694smlm6pmdw5q4sqpk7azhqg"; depends=[proxy]; };
+  dualScale = derive { name="dualScale"; version="0.9.1"; sha256="11hqxprai0s5id6wk4n2q174r1sqx9fzw3fscvqd2cgw8cjn1iwl"; depends=[matrixcalc ff vcd lattice Matrix]; };
+  dummies = derive { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; };
+  DunnettTests = derive { name="DunnettTests"; version="2.0"; sha256="1sf0bdxays10n8jh2qy85fv7p593x58d4pas9dwlvvah0bddhggg"; depends=[mvtnorm]; };
+  dupiR = derive { name="dupiR"; version="1.1"; sha256="01yhwgqm2y6znxds3p2admcyayvjj5xw7vvc9djd7b6ywsivb8sa"; depends=[plotrix]; };
+  dvfBm = derive { name="dvfBm"; version="1.0"; sha256="0gx11dxkbnh759ysd1lxdarlddgr3l5gwd5b0klwvwsgck6jv529"; depends=[wmtsa]; };
+  dvn = derive { name="dvn"; version="0.3.3"; sha256="14ncna67qgknh20xdvxqddjhagj61niwpvz4ava9k0z68rgzmk5h"; depends=[RCurl XML]; };
+  DWD = derive { name="DWD"; version="0.11"; sha256="1yqcww4jbbvdcv0yj9h8q2w7ck7pwr0zcvmncp9mc4n4k9y67r9j"; depends=[Matrix]; };
+  dyn = derive { name="dyn"; version="0.2-9"; sha256="16zd32567aj0gqv9chbcdgi6sj78pnnfy5k8si15v5pnfvkkwslp"; depends=[zoo]; };
+  DynamicDistribution = derive { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; };
+  dynamicGraph = derive { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; };
+  dynamicTreeCut = derive { name="dynamicTreeCut"; version="1.62"; sha256="1y11gg6k32wpsyb10kdv176ivczx2jlizs1xsrjrs6iwbncwzrkp"; depends=[]; };
+  dynatopmodel = derive { name="dynatopmodel"; version="1.0"; sha256="1dq18wqbf7y597mbqv8fwwc5fm8l618mkqvb2l95bplq7n508hng"; depends=[raster xts shape fields rgeos maptools rgdal sp spam hydroGOF topmodel intervals]; };
+  dynaTree = derive { name="dynaTree"; version="1.2-7"; sha256="06pw78j6wwx7yc175bns1m2p5kg5400vg8x14v4hbrz3ydagx4dn"; depends=[]; };
+  dynBiplotGUI = derive { name="dynBiplotGUI"; version="1.1.0"; sha256="15m4gxdlwzvvj64vjkkb1608q4k0w84my7m8x1qc04bly9p3q038"; depends=[tcltk2 tkrplot]; };
+  DynClust = derive { name="DynClust"; version="3.13"; sha256="020zl2yljp47r03rcbzrbdmwk482xx27awwzv4kdrbchbzwhxqgm"; depends=[]; };
+  dynCorr = derive { name="dynCorr"; version="0.1-2"; sha256="0qzhhfhkwpq6mwg7y6sxpqvcj8klvivnfv69g7x3ycha1kw2xk3w"; depends=[lpridge]; };
+  dynia = derive { name="dynia"; version="0.2"; sha256="1swip4kqjln3wsa9xl0g92zklqafarva923nw7s44g4pjdy73d5l"; depends=[]; };
+  dynlm = derive { name="dynlm"; version="0.3-3"; sha256="0ym23gv2vkvvnxvzk5kh6xy4gb5wbnpdbgkb5s6zx24lh81whvcs"; depends=[zoo car lmtest]; };
+  dynsim = derive { name="dynsim"; version="0.2.4"; sha256="1b4j47asqanrfhyg9r730brp3xaw1853jk23va2sx606q2rh94wv"; depends=[DataCombine ggplot2 gridExtra Zelig]; };
+  dynsurv = derive { name="dynsurv"; version="0.2-2"; sha256="0418r7adki48pg3h7i1mgv3xpbryi520va3jpd03dx15zrq8zaqg"; depends=[survival reshape plyr nleqslv ggplot2]; };
+  e1071 = derive { name="e1071"; version="1.6-3"; sha256="0scyxk3y2fizvw5zrddxid37vzayd879g67faq0a879nhk7fkm1z"; depends=[class]; };
+  eaf = derive { name="eaf"; version="1.05"; sha256="12jwkz4cn3kgg3yczb0xgbp394bzgzps1mz0b999i3p1k6vn46z6"; depends=[modeltools]; };
+  earlywarnings = derive { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[ggplot2 moments tgp tseries fields nortest quadprog Kendall KernSmooth lmtest som spam]; };
+  earth = derive { name="earth"; version="3.2-7"; sha256="1j9w03i4pvz8a6s9rkfssj7bqz5sql0g7rzwpmis33kvi0d7wihn"; depends=[plotmo plotrix]; };
+  easi = derive { name="easi"; version="0.2"; sha256="0kvcixbiijh3akxqy2w6kwydayqlr7lk2ws747a1z4whhclm1623"; depends=[systemfit micEcon]; };
+  easingr = derive { name="easingr"; version="1.0.0"; sha256="18q9r5wvfhn03500lvwriycdw3gqbg3fpd86137mz8gxdg2pawic"; depends=[xts lattice latticeExtra]; };
+  EasyABC = derive { name="EasyABC"; version="1.3.1"; sha256="1d1j7n6mhpmbbczg0yjs4kqjxlclc7pm5fl7pkxp9dmfic002y34"; depends=[abc pls mnormt MASS lhs]; };
+  easyanova = derive { name="easyanova"; version="3.0"; sha256="19mcjj1lvy8kf6s004rqnalv80jf62g7dpsnrwkrklb19n1164v8"; depends=[car nlme]; };
+  EasyHTMLReport = derive { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc markdown knitr ggplot2 scales xtable reshape2]; };
+  EasyMARK = derive { name="EasyMARK"; version="1.0"; sha256="10slkblbyxq98c3sxgs194dnkx996khfcpxj6jhz355dp35z7c9d"; depends=[MASS stringr rjags coda foreach doParallel random]; };
+  easynls = derive { name="easynls"; version="4.0"; sha256="1j2crqvgsf84bpwzf4qh5xkzn5mhxhfx9c0y3p8dbyn8bg7zc2rf"; depends=[]; };
+  EasyStrata = derive { name="EasyStrata"; version="8.6"; sha256="0agmap9lmqbpfw8ijwxmjkcqjvc1ng0jsadkqpfz71a963nkqdcl"; depends=[Cairo plotrix]; };
+  eba = derive { name="eba"; version="1.7-1"; sha256="0kxdhl7bc4f570m9rbxxzg748zvq0q7a0slvfr4w1f45vfzhyh17"; depends=[nlme]; };
+  ebal = derive { name="ebal"; version="0.1-6"; sha256="1cpinmbrgxxv0fzi9qi2inv4hw2lz7iq4b0ggp316rdqqb5bj9r0"; depends=[]; };
+  EbayesThresh = derive { name="EbayesThresh"; version="1.3.2"; sha256="0n7cr917jrvmgwfqki7shvz9g9zpmbz9z8hm5ax7s8nnfzphrh4g"; depends=[]; };
+  ebdbNet = derive { name="ebdbNet"; version="1.2.3"; sha256="123iqp8rnm3pac5fvpzq5sqbf8nyfpf05g23nawanid6yv23ba9a"; depends=[igraph]; };
+  EBEN = derive { name="EBEN"; version="1.1.1"; sha256="12nh96avcx4rrbmlr1q046i5ymrsnqvf0ra5ynh58akajfx7wy49"; depends=[]; };
+  EBMAforecast = derive { name="EBMAforecast"; version="0.42"; sha256="161l6jxbzli2g5lcmlp74z320rsvsi80pxk1vc1ypa1hgwz3q80x"; depends=[separationplot ensembleBMA plyr Hmisc abind]; };
+  EBS = derive { name="EBS"; version="3.0"; sha256="0nrqglbfr7wagd4xrk5jx0kficjgvk7wqwzqrbs589dkll24sn5b"; depends=[MASS]; };
+  ebSNP = derive { name="ebSNP"; version="1.0"; sha256="0x3ijwg4yycsfy6jch1zvakzfvdgpiq8i7sqdp5assb8z1823w0b"; depends=[]; };
+  Ecdat = derive { name="Ecdat"; version="0.2-6"; sha256="1chx78xi04jr9qpc3z2g9x3sj41sdqp3zpjcgv817mcz84zc8mkc"; depends=[Ecfun]; };
+  ecespa = derive { name="ecespa"; version="1.1-7"; sha256="0ynyphc1jnk088041i0yk22bh4ga1v9xwrcghy70q1ipv0z279ph"; depends=[splancs spatstat]; };
+  Ecfun = derive { name="Ecfun"; version="0.1-0"; sha256="0jfcqxbx27dwbipx1b994iy4qnpkg1sh4xpq7qq8yy823rgpkhrp"; depends=[]; };
+  ecipex = derive { name="ecipex"; version="1.0"; sha256="0pzmrpnis52hvy80p3k60mg9xldq6fx8g9n3nnqi3z56wxmqpdv7"; depends=[CHNOSZ]; };
+  ecodist = derive { name="ecodist"; version="1.2.9"; sha256="199f3lwwm8r2bnik595m540la1p4z6vbkwfqh9kimy9d0fjp8nps"; depends=[]; };
+  ecoengine = derive { name="ecoengine"; version="1.4"; sha256="0smjwgci2kz09idzq10q50z0hs2nr7rjj7i0r7iksdyb7ggb3hzm"; depends=[httr plyr assertthat whisker dplyr RJSONIO lubridate leafletR]; };
+  EcoHydRology = derive { name="EcoHydRology"; version="0.4.12"; sha256="03dzdw79s0cnnd7mv6wfxw374yf66dlcmj10xh6sh5i352697xp1"; depends=[operators topmodel DEoptim XML]; };
+  ecolMod = derive { name="ecolMod"; version="1.2.5"; sha256="07dr3q17vd60569w34apylpsv81qcf31l7v0bqdycb5mlaifdahz"; depends=[rootSolve diagram deSolve]; };
+  ecoreg = derive { name="ecoreg"; version="0.2"; sha256="08iw7w9z7zqwhvirnhdc2jr2qjp9yma8ddc831d5dvbvi2j7kq84"; depends=[]; };
+  ecosim = derive { name="ecosim"; version="1.2"; sha256="1lzjd6kl2864ngyiqyfnnra5ag9bj42pxb793gwp45r7z95k32rf"; depends=[deSolve stoichcalc]; };
+  ecospat = derive { name="ecospat"; version="1.0"; sha256="1pnyiy89smr0cnw1z5cv83b7dybzs5h2kfyxis2k3rlx26rzczfv"; depends=[ade4 ape gam gbm sp adehabitatHR adehabitatMA biomod2 dismo ecodist maptools randomForest spatstat raster rms]; };
+  EcoTroph = derive { name="EcoTroph"; version="1.6"; sha256="0zi6g0ra107s47r32mm9h6r1wll3avi0mpjmhcr0nj9y48nv14w3"; depends=[XML]; };
+  ecp = derive { name="ecp"; version="1.6.0"; sha256="1xzawnqk8maxk9ha4cms5xvylwb4m1mkxps88p5xh7grgpcw6drn"; depends=[Rcpp]; };
+  edcc = derive { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; };
+  edeR = derive { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
+  EDISON = derive { name="EDISON"; version="1.0"; sha256="17yjvvsgsmd4i00wzmih50qz3wqig2zdg5r877b4hqk1dsv5kxym"; depends=[corpcor MASS]; };
+  editrules = derive { name="editrules"; version="2.7.2"; sha256="19g07caacwphvrqn900chrz3k6x4z8gmvlcvna5x2mqidcjkf25i"; depends=[igraph lpSolveAPI]; };
+  EDR = derive { name="EDR"; version="0.6-5.1"; sha256="10ldygd1ymc4s9gqhhnpipggsiv4rwbgajvdk4mykkg3zmz7cbpm"; depends=[]; };
+  edrGraphicalTools = derive { name="edrGraphicalTools"; version="2.1"; sha256="09y63xj3gqrz66mym20g4pmfwrb0wnc2n67692hnqq8dz31q7p3i"; depends=[rgl mvtnorm MASS lasso2]; };
+  eegAnalysis = derive { name="eegAnalysis"; version="0.0"; sha256="1lrwjbhm5fnf5fhyyga2b21j2snnmj3zfvfxfkvgsbdnzr3qxaxb"; depends=[e1071 wmtsa fields splus2R]; };
+  eeptools = derive { name="eeptools"; version="0.3.1"; sha256="0m6i0hiw565wgziknlf19rh2fq8zvzq2v5a0ppnwcv8vhbhyph3g"; depends=[ggplot2 MASS stringr maptools arm data_table memisc]; };
+  effects = derive { name="effects"; version="3.0-0"; sha256="075vd540d8wry1l70s28pkmd1g3424yan9f7mwvcrqf0l62ahmfg"; depends=[lattice colorspace]; };
+  EffectsRelBaseline = derive { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
+  EffectStars = derive { name="EffectStars"; version="1.3"; sha256="193j2dbp6bp60yb2qym119ciry3s5z54iv1vmb9wrddjzb77nnvv"; depends=[VGAM]; };
+  effsize = derive { name="effsize"; version="0.5.1"; sha256="0dy9q3zbcr5c4nijknly9mfr6rbs2qlv4jgzn0wpl2cz7hpngvk4"; depends=[]; };
+  egcm = derive { name="egcm"; version="1.0.2"; sha256="17fzxl34vc38308wbvjp5xdv1q48k4lf6gsw7ax27zc4chqlmqfz"; depends=[ggplot2 tseries zoo MASS]; };
+  eggCounts = derive { name="eggCounts"; version="0.2"; sha256="0ilwhw2fk8mvqsnranpj4mny98vhha8jrrxccz6x0f8hsy34b27k"; depends=[coda actuar boot]; };
+  egonet = derive { name="egonet"; version="1.2"; sha256="1f0fbqyk2ilmhirxvf1iwgfappi5r7807ag77r89lbaf5jq8akl0"; depends=[sna]; };
+  eha = derive { name="eha"; version="2.4-1"; sha256="1znxpcrwp8fllr3m14gbxwgp7yln55jwvkilmbsqldz00za6xn0w"; depends=[survival]; };
+  eHOF = derive { name="eHOF"; version="1.4"; sha256="050wlckw2i8iqymdmq68zj2fwq74slsbk83p5kkhxlyn132m0k47"; depends=[mgcv lattice]; };
+  EIAdata = derive { name="EIAdata"; version="0.0.1"; sha256="0adgkjfymgsimlaalcgcqdsagfvycrnsx93bx2xsbvlbywjk9fhn"; depends=[XML plyr xts zoo]; };
+  eigeninv = derive { name="eigeninv"; version="2011.8-1"; sha256="18dh29js824d7mrvmq3a33gl05fyldzvgi8mmmr477573iy9r30g"; depends=[]; };
+  eigenmodel = derive { name="eigenmodel"; version="1.01"; sha256="0p9n28x5gg46nszzd2z9ky5fhv6qa070673i1df6bhjh962aqgaf"; depends=[]; };
+  eigenprcomp = derive { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; };
+  EILA = derive { name="EILA"; version="0.1-2"; sha256="0wxl9k4fa0f7jadw3lvn97iwy7n2d02m8wvm9slnhr2n8r8sx3hb"; depends=[class quantreg]; };
+  eiPack = derive { name="eiPack"; version="0.1-7"; sha256="1cxk31bj012ijm85sf6l4rjrwayw94j2d6aav8p9g1f0raha2s6y"; depends=[MASS coda msm]; };
+  eive = derive { name="eive"; version="2.1"; sha256="1vazl5dnrvljd07csy9rjs4302w09h94i411gffg9fvxn70km7qg"; depends=[Rcpp]; };
+  eiwild = derive { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[gtools coda lattice]; };
+  EL = derive { name="EL"; version="1.0"; sha256="13r7vjy2608h8jph8kwy69rnkg98b2v69117nrl728r3ayc46a18"; depends=[]; };
+  elasticnet = derive { name="elasticnet"; version="1.1"; sha256="1x8rwqb275lz86vi044m1fy8xanmvs7f7irr1vczps1w45nsmqr2"; depends=[lars]; };
+  elec = derive { name="elec"; version="0.1.2"; sha256="0f7ahrjb52w8a8l5v00xla6z9afpz2zrckl9v04xalp34snhdwan"; depends=[]; };
+  elec_strat = derive { name="elec.strat"; version="0.1.1"; sha256="09196k5c3jsikh98d33bn70izwcbx0wb5ki9fv1ij0dw9mnv4c3p"; depends=[elec]; };
+  ElemStatLearn = derive { name="ElemStatLearn"; version="2012.04-0"; sha256="107x2mybadqgw03j3yq8ibq3ljs4fpx90chvsirpylqhv77wsabl"; depends=[]; };
+  elliplot = derive { name="elliplot"; version="1.1.1"; sha256="1sl85kyjpxiw0gs3syhlhfrci03fl054py7m24xln5vk07665vbp"; depends=[]; };
+  ellipse = derive { name="ellipse"; version="0.3-8"; sha256="0ibz1qvf1qbb5sigyhpxb8hgip69z3wcimk3az1701rg2i64g3ah"; depends=[]; };
+  elliptic = derive { name="elliptic"; version="1.3-3"; sha256="1spl19yh2fqii1ffcmg4y11v6ccb83q6znvjn0scgzv6646c7xi4"; depends=[MASS]; };
+  elmNN = derive { name="elmNN"; version="1.0"; sha256="129r6d3qa48gqvqxks53hdmyk3jjakddsj5fwj91kqq0hkm34kyd"; depends=[MASS]; };
+  EloRating = derive { name="EloRating"; version="0.41"; sha256="1d7kcng0iv4paagm0jljkfk7c2n3vvs91khjvlc7jpifisf1zi7a"; depends=[zoo]; };
+  elrm = derive { name="elrm"; version="1.2.2"; sha256="0wz0l703v0iyp7nswdmh65n0cy3a7rfvyxd795a6nzk3nich8bfg"; depends=[coda]; };
+  ElstonStewart = derive { name="ElstonStewart"; version="1.1"; sha256="1y2g4x3fhi78c2406bk8r8c3x9zhx8ya3qlbnypdm65j0minixsn"; depends=[kinship2 digest]; };
+  ELT = derive { name="ELT"; version="1.2"; sha256="19q6i1ilsi09mlbs3l0p6n86390jmrs0g93zpa1h0hql7ymcb8p2"; depends=[locfit lattice latticeExtra xlsx]; };
+  em2 = derive { name="em2"; version="0.9"; sha256="120731nh5qq3kzbfj9p2s4fhrr3xvddj5n0bv5m3dp5l5495px1b"; depends=[plyr]; };
+  EMA = derive { name="EMA"; version="1.4.4"; sha256="1hqkan9k6ps4qckjrhsgxzham106fm38m5rgayz8i2ji3spvbfca"; depends=[survival xtable heatmap_plus GSA MASS FactoMineR cluster]; };
+  EMC = derive { name="EMC"; version="1.3"; sha256="0sdpxf229z3j67mr9s7z4adzvvphgvynna09xkkpdj21mpml23p6"; depends=[mvtnorm MASS]; };
+  EMCC = derive { name="EMCC"; version="1.2"; sha256="1qff8yvw7iqdsrqkvwb7m14xh7gcnjcrf8gw00g4j6aq0h0cgk2z"; depends=[MASS mclust EMC]; };
+  EMCluster = derive { name="EMCluster"; version="0.2-4"; sha256="0m5cl5mrg6q0ixfpjj1jwd7l5hcldc33lr7n6xgy7p9nlr52mimz"; depends=[MASS]; };
+  EMD = derive { name="EMD"; version="1.5.7"; sha256="0m2g7akg9h964d6qr1mj20h9pcb2fcmala3skhl0qpy8qz01w5ck"; depends=[fields locfit]; };
+  emdatr = derive { name="emdatr"; version="0.2"; sha256="11s9yiziswgll12c1sm3jb7hvy469ks64zx6w8dk1b36cx4lzf3h"; depends=[RCurl]; };
+  emdbook = derive { name="emdbook"; version="1.3.4"; sha256="19i8i1wp6vqgc77ajaqrfrjw6ijjafkgdqgfpa0dvl1w117rpy2d"; depends=[MASS lattice plyr]; };
+  emdist = derive { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
+  emg = derive { name="emg"; version="1.0.5"; sha256="028g8gqjjqfwly6vzvinbpilay5jj9rnm7ri9aby9q0hj5prh56m"; depends=[]; };
+  emil = derive { name="emil"; version="1.1-6"; sha256="1qk655swpl8f492y9smzlfxf7aysbwashfs6whnsi7f9dbigw6cd"; depends=[]; };
+  EMJumpDiffusion = derive { name="EMJumpDiffusion"; version="1.4.1"; sha256="10lw6717yq9vlywn5ilsl0d99fpx3zvc87vf7s0zxswhs81h7x1w"; depends=[]; };
+  emma = derive { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[earth clusterSim]; };
+  EMMAgeo = derive { name="EMMAgeo"; version="0.9.1"; sha256="1rxbb666gh9g35m4jqa6y1zjp82s62ha6n92fkjvkk9wm25w6imr"; depends=[GPArotation limSolve shape]; };
+  emme2 = derive { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
+  EMMIXcontrasts = derive { name="EMMIXcontrasts"; version="1.0.0"; sha256="1q7bwf7kkpraj38lz5s1lhhghp7a5lzyj5b9x8024g6rh2qlwp7v"; depends=[]; };
+  EMMIXskew = derive { name="EMMIXskew"; version="1.0.1"; sha256="16jkq0a9k1gf6gia8r65nwa2lh8zny4jmnq51g2rcqm44s5ylqbh"; depends=[lattice mvtnorm KernSmooth]; };
+  EMMIXuskew = derive { name="EMMIXuskew"; version="0.11-6"; sha256="0japf0l0sj84jna7b5kirp6pgqa4c923ldwphb16ch2xxrgk5n5k"; depends=[MASS]; };
+  EMMREML = derive { name="EMMREML"; version="2.0"; sha256="0fyqwyym6d1adn5pvrfspmr933qhi30h58hxr2rbzwm5kwh6c8jr"; depends=[Matrix]; };
+  emoa = derive { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; };
+  EMP = derive { name="EMP"; version="1.0.1"; sha256="12ahyfav918qf7bphhy251x0gzhdziaz2gg064hcwh6jaqw0jw0g"; depends=[]; };
+  emplik = derive { name="emplik"; version="0.9-9-2"; sha256="131wk9nfymkygb89jk9cwi53dx4857c06ip9pfzzvswch3hhdqwb"; depends=[quantreg]; };
+  emplik2 = derive { name="emplik2"; version="1.10"; sha256="19s19jhcaqnh6vjfgrsgjvjlrsm5fa1mgwc5v36hzdf2mv1xhr3q"; depends=[]; };
+  EMT = derive { name="EMT"; version="1.1"; sha256="0m3av1x3jcp3hxnzrfb128kch9gy2zlr6wpy96c5c8kgbngndmph"; depends=[]; };
+  emulator = derive { name="emulator"; version="1.2-13"; sha256="1y8mrrz4dw66wn3lhi7x7r72bxa77rpc68zqab6c67ndyi4wamxr"; depends=[mvtnorm]; };
+  EMVC = derive { name="EMVC"; version="0.1"; sha256="1725zrvq419yj0gd79h8bm56lv2mmk296wq3wapivcy6xn0j97jh"; depends=[]; };
+  ENA = derive { name="ENA"; version="1.3-0"; sha256="02gsngkzc8vfpg2jvcabwp4kpfs14cajs9xv1rh76807l5ylqihz"; depends=[GeneNet space WGCNA parmigene]; };
+  enaR = derive { name="enaR"; version="2.7"; sha256="0jjxqrxyak9b39j9yycfgp7bhb82y8zinc2kcc6pbs5w6m5dsyvr"; depends=[sna network MASS stringr gdata]; };
+  endogMNP = derive { name="endogMNP"; version="0.2-1"; sha256="0maxcp321ngbxrg0i23nlwhj849v771xahh53367x928ss4f8v7i"; depends=[]; };
+  endorse = derive { name="endorse"; version="1.4.1"; sha256="0xyi2cq4k4xa8kr717i4njl6rgjf5z99056jbhp2rbzfyy4sw61d"; depends=[coda]; };
+  energy = derive { name="energy"; version="1.6.1"; sha256="08s7kzl12fcp1lz86jzwznxk6dqvls418zcqwd31shqqynna25vm"; depends=[boot]; };
+  english = derive { name="english"; version="1.0-1"; sha256="1413axjp2icj9wwnkz3vl4gvrwlgmjpc2djzv5bllbnc4a4dgj24"; depends=[]; };
+  EngrExpt = derive { name="EngrExpt"; version="0.1-8"; sha256="0zclvckj2i7j4kfs58hcjcl722vl2y6dcnjz238cjfgwv279gqhp"; depends=[lattice]; };
+  ENmisc = derive { name="ENmisc"; version="1.2-7"; sha256="07rix4nbwx3a4p2fif4wxbm0nh0qr7wbs7nfx2fblafxfzhh6jc7"; depends=[Hmisc vcd RColorBrewer]; };
+  EnQuireR = derive { name="EnQuireR"; version="0.10"; sha256="00kyclcr8da79lwpqa1vzkwn6pgf197h2biackwgphb0byhi8ssx"; depends=[FactoMineR SensoMineR Rcmdr MASS]; };
+  enRich = derive { name="enRich"; version="2.0"; sha256="13ahwdifm33h4h5mvmc49v39fbhiy291rbdwm4c8kxjrqjq9ip66"; depends=[]; };
+  enrichvs = derive { name="enrichvs"; version="0.0.5"; sha256="0x91s03hz1yprddm6mqi75bm45ki3yapfrxmap7d4qc0hi06h22k"; depends=[]; };
+  ensembleBMA = derive { name="ensembleBMA"; version="5.0.8"; sha256="1wv1g1iwpmxhcgxgx78jc4w5kcbbzjxljj7pbfykgq7hjpkb109f"; depends=[chron]; };
+  ensembleMOS = derive { name="ensembleMOS"; version="0.7"; sha256="0g5qzdic5jvgn6wv7zh0jnz8malfgfxn26l7lg30y96vcmi4hk54"; depends=[ensembleBMA chron]; };
+  entropart = derive { name="entropart"; version="1.2.0"; sha256="11k05nk8lf5790wmx2323w5wk233xmk48scfv3hrph8y6665vddq"; depends=[ade4]; };
+  entropy = derive { name="entropy"; version="1.2.0"; sha256="1qs8g5jp6ydhirxnrck3qqq3cc232hcaizy401c8gjn2vn23s15d"; depends=[]; };
+  EntropyEstimation = derive { name="EntropyEstimation"; version="0.1"; sha256="1l31vc9478db22zg79zm26xahagvw7p5ywkhyq4lanl38gh2my6y"; depends=[]; };
+  enviPat = derive { name="enviPat"; version="1.9"; sha256="0xm23gv4ixmsal9rf0cbq0lwvlpagpmapskz3c4d8qzvhr8qrl3b"; depends=[]; };
+  enviPick = derive { name="enviPick"; version="1.0"; sha256="117m06qp0l554sssv1vzhrysbi6rj9dm53szzkl8i8riqqm1m442"; depends=[shiny readMzXmlData]; };
+  EnviroStat = derive { name="EnviroStat"; version="0.4-0"; sha256="05sa63z6yzny2ncxpm5d3x0bx8snkn0x5pzpj2a7y6rwf6al5q4r"; depends=[MASS]; };
+  EnvNicheR = derive { name="EnvNicheR"; version="1.0"; sha256="1vw21gsdrx8gkf1rf8cnazv8l9ddcdmy2gckyf33fz7z2mbzgbkk"; depends=[]; };
+  EnvStats = derive { name="EnvStats"; version="1.0.2"; sha256="0914j7v190j401rdqqpfz3s69pb6crmq297wiw2q99syx0fnimnw"; depends=[]; };
+  epade = derive { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; };
+  Epi = derive { name="Epi"; version="1.1.67"; sha256="12wbzv21whjnzlyqacgqmsgrjbkgj2495y9fwvav5mr21yfrjds3"; depends=[]; };
+  epi2loc = derive { name="epi2loc"; version="1.0-1"; sha256="16abk1v177sg7gmaw42ldf6hf20l7dvyq295zwbq76nxj467khdv"; depends=[pwr]; };
+  epibasix = derive { name="epibasix"; version="1.3"; sha256="0d0087sa8lqw35pn7gdg2qqzw3dvz57sgavymwl1ybcj5d4lsbyk"; depends=[]; };
+  epicalc = derive { name="epicalc"; version="2.15.1.0"; sha256="11x9q990hc7rf5xfvba47axdy7vld76xcf3kd9lkr0c8nbl5ss9v"; depends=[foreign survival MASS nnet]; };
+  EpiContactTrace = derive { name="EpiContactTrace"; version="0.8.8"; sha256="1vlr2xxnyq1i6ky39g8j3pf3m5775bmhii7vpskb0x7nnq161yzb"; depends=[Rcpp plyr R2HTML]; };
+  EpiDynamics = derive { name="EpiDynamics"; version="0.1"; sha256="11gbqpqnv6aydpwvki912cknvbzn24b3ajbc8ivzj7vvfp9blcmd"; depends=[deSolve FME reshape2 ggplot2]; };
+  EpiEstim = derive { name="EpiEstim"; version="1.1-2"; sha256="0r56iglhkrqvlsf3gbahd544h944fmbyn6jdc113rhjscf6dl605"; depends=[]; };
+  EpiModel = derive { name="EpiModel"; version="1.0.1"; sha256="00afgdvbmc7qxq1r8kpldkfqvnwqp23ig2y06jmipmrcga3xf5z2"; depends=[network networkDynamic tergm deSolve ergm RColorBrewer statnet_common]; };
+  epinet = derive { name="epinet"; version="0.0-8.1"; sha256="00mq2bqdnjp7wwsb3dldlxd0l3vyij48az4s3vrmycab8g9dffk5"; depends=[]; };
+  epiR = derive { name="epiR"; version="0.9-59"; sha256="0x0k7s2kl9mj7x2vnrj1bc586jkvc6sb34jsgjhwk3gyh9prp57q"; depends=[survival]; };
+  epitools = derive { name="epitools"; version="0.5-7"; sha256="163sibnbihdsnkxf313fr8n8rh5d64dwjagv95vhhzr87f21sw22"; depends=[]; };
+  epoc = derive { name="epoc"; version="0.2.5-1"; sha256="1r19cvcqf39yf09n3znbdy3dsr7z96yx6zib6031mqqdsxaav5qd"; depends=[lassoshooting Matrix irr elasticnet survival]; };
+  epr = derive { name="epr"; version="2.0"; sha256="1xqc0jhgdwwvilqpljxzpzz3wx30kigy09sxvzcfvsjmxyyvflqy"; depends=[car]; };
+  EQL = derive { name="EQL"; version="1.0-0"; sha256="0lxfiizkvsfls1km1zr9v980191af6qjrxwcqsa2n6ygzcb17dp5"; depends=[ttutils lattice]; };
+  eqs2lavaan = derive { name="eqs2lavaan"; version="3.0"; sha256="1lj6jwkfd84h9ldb6l74lrx2pnsl1c0d7mnrcrjkska87djb2nzd"; depends=[lavaan stringr]; };
+  eqtl = derive { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; };
+  equate = derive { name="equate"; version="2.0-2"; sha256="1n83rr01y5rcsr2wgcd1n7ihjk5bvxdl7f9abcjdz6vja7qg6h83"; depends=[]; };
+  equateIRT = derive { name="equateIRT"; version="1.1"; sha256="0z889z973yvklbn6i4jf6cxzvs2x9bn7454v5f23xmnj1wh5qv2s"; depends=[statmod]; };
+  equivalence = derive { name="equivalence"; version="0.6.0"; sha256="1q17c2bs36f46bmm6wzmp0g2lg7d0j9mlrfnkzxnlvmspwksc0zl"; depends=[lattice boot PairedData]; };
+  erboost = derive { name="erboost"; version="1.2"; sha256="0afgh0zkl3h3ab4s7wl0cn24qdyhszssai9i390mi7w0p88wgba9"; depends=[lattice]; };
+  erer = derive { name="erer"; version="2.2"; sha256="198bahz958dpdlk3himrjs0sa4j2hdppy3v4l3h8l52jaf1iq4n1"; depends=[lmtest systemfit tseries urca ggplot2]; };
+  ergm = derive { name="ergm"; version="3.1.3"; sha256="0g4cap1gx0l57l0aix29wz9lspnxv2vqkkdlcghbdv41fdddvdlm"; depends=[statnet_common network robustbase coda trust Matrix]; };
+  ergm_count = derive { name="ergm.count"; version="3.1.1"; sha256="0l66shy5p7h9j3h5gpkn48ps069mdaqbscnnkvmwjfvcc7k5vr8m"; depends=[statnet_common ergm network]; };
+  ergm_graphlets = derive { name="ergm.graphlets"; version="1.0.1"; sha256="0j2z8dvgfrkvm9sqpyqvylz6sakxl8wpy4fbgc20wwznfzbaaal6"; depends=[statnet]; };
+  ergmharris = derive { name="ergmharris"; version="1.0"; sha256="1bfijhsljlykb94wi25lbpv35zkmgqpmgzmxcq98gjvzbn5j9pdq"; depends=[]; };
+  ergm_userterms = derive { name="ergm.userterms"; version="3.1.1"; sha256="0pvklvyxi7sjc5041zl8vcisni0jz1283gyjw5mhas9bl47g1cwc"; depends=[network ergm statnet_common]; };
+  eRm = derive { name="eRm"; version="0.15-4"; sha256="0x05vsf8kp0z422w1b1wqayada2vbl7jh4ifa52sqlq7ygsmnmi1"; depends=[MASS Matrix]; };
+  ERP = derive { name="ERP"; version="1.0.1"; sha256="0wy1p7pp9dvc3krylskb627rmfqaj11qvia97m88x05ydqx1fwmr"; depends=[fdrtool mnormt]; };
+  erpR = derive { name="erpR"; version="0.2.0"; sha256="1y6abc5fkcyyjh36maj1zbxppqzwd5wkvzvqahyvzsz5fqpjkcdx"; depends=[rpanel]; };
+  ES = derive { name="ES"; version="1.0"; sha256="1rapwf6kryr6allzbjk6wmxpj9idd3xlnh87rwbh6196xb7rp8lv"; depends=[]; };
+  ESG = derive { name="ESG"; version="0.1"; sha256="1jw6239asv6lwxrz5v0r5pzg6v500bqxg8361sh4jj67rsrc7g9m"; depends=[]; };
+  ESGtoolkit = derive { name="ESGtoolkit"; version="0.1"; sha256="0r09arhsvamdyahini5yhgc43msdxwvn45l57xbfszahsnr3b3aq"; depends=[CDVine ggplot2 gridExtra reshape2 ycinterextra Rcpp]; };
+  esotericR = derive { name="esotericR"; version="1.0"; sha256="0kl9c2z2mpg3mk8jnl0ssgcf6y0i9jpczms746j8f07ydrcxpf41"; depends=[]; };
+  ESPRESSO = derive { name="ESPRESSO"; version="2.0"; sha256="1xz4lw1rczs4laz1drrqyz91w62a99z7jzs2wkcdrhcirgmmpjp3"; depends=[MASS]; };
+  EstCRM = derive { name="EstCRM"; version="1.3"; sha256="0fmnlh0pnprskq01iq3rfassyxq7fywiprvqw0xdlh8yxl3w2c9n"; depends=[Hmisc lattice]; };
+  estout = derive { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; };
+  etable = derive { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[xtable Hmisc]; };
+  ETAS = derive { name="ETAS"; version="0.0-1"; sha256="1p38ay3vnca8b8wszm66whxap8k58c004l1nlsk7zkynyia0im6c"; depends=[spatstat]; };
+  etasFLP = derive { name="etasFLP"; version="1.0.3"; sha256="1krfpnqh7w157cfy8rwa6dmr0j8xqvnhwvygbrcvns3a3y4v4ix0"; depends=[mapdata rgl fields maps]; };
+  ETC = derive { name="ETC"; version="1.3"; sha256="1nvb9n0my7h1kq996mk91canxi6vxy3mzhrshrvm13ixvl48lkkh"; depends=[mvtnorm]; };
+  ETLUtils = derive { name="ETLUtils"; version="1.2"; sha256="0mlfq23v7nl6lslscknk9mdx4dxk8xyc5imnvzlhzhag0k50mqj2"; depends=[ff]; };
+  etm = derive { name="etm"; version="0.6-1"; sha256="00sm4cib1r4wcn71v1ry3asszshks4f6br7s5xzm8d5ngxdlsxda"; depends=[survival lattice]; };
+  eulerian = derive { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[]; };
+  EvalEst = derive { name="EvalEst"; version="2012.4-1"; sha256="19yn4haxkny9kij0jhkwdbp34c9h2cc5l2n2b14khjhv1msqcfmi"; depends=[setRNG tframe tfplot dse]; };
+  evaluate = derive { name="evaluate"; version="0.5.5"; sha256="15i6bkzrzkgsdlgf2pcx8b3gcjh1rplzhimy310845pfgkldcq9b"; depends=[stringr]; };
+  Evapotranspiration = derive { name="Evapotranspiration"; version="1.4"; sha256="1x12z44y78lcibf4wpc7l3ll7zwf1c1fkavwfm79q7sdlhwi1x9h"; depends=[zoo]; };
+  EvCombR = derive { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; };
+  evd = derive { name="evd"; version="2.3-0"; sha256="1h3dkssgw2x7pblvknfr0l8k7q25nikxyl7kl9x95ganjpi2452v"; depends=[]; };
+  evdbayes = derive { name="evdbayes"; version="1.1-1"; sha256="0lfjfkvswnw3mqcjsamxnl8hpvz08rba05xcg0r47h5vkgpw5lgd"; depends=[]; };
+  eVenn = derive { name="eVenn"; version="2.1.6"; sha256="1kxxaj2ia1v5p0d0yi3vq7rkiajsdsg97k3yg0iqb9v4vbj8mc1y"; depends=[]; };
+  eventInterval = derive { name="eventInterval"; version="1.0-1"; sha256="0vcp40rsb2pazn4p44dsaxjai7qhjwzrh9lf0q84fcayrnk51dqv"; depends=[MASS]; };
+  events = derive { name="events"; version="0.5"; sha256="1zka4ygymifs8snd7cabl11b5lg3f8g8370dkm9ybl40bn8vvqq2"; depends=[]; };
+  eventstudies = derive { name="eventstudies"; version="1.1"; sha256="13l2yhmlpiid9r3njnmvja231l00ym7gvwfbv0m9fk2k5j6gm5id"; depends=[zoo xts boot]; };
+  EVER = derive { name="EVER"; version="1.2"; sha256="1yk6ln4shp53jvph6jy1d5m4cq080p6f03qwigdw4f0al9qzja2s"; depends=[]; };
+  evir = derive { name="evir"; version="1.7-3"; sha256="1kn139vvzdrx5r9jayjb4b0803b0bbppxk68z00gdb50mxgvi593"; depends=[]; };
+  evmix = derive { name="evmix"; version="2.1"; sha256="1fg3pz1l3qk37qbp02c81rfsvpfm0zjh8q83cvkir1ap5k6xzfwl"; depends=[MASS gsl]; };
+  evobiR = derive { name="evobiR"; version="1.0"; sha256="12j01qzc4yrjpxbj39bl29f5ypxwk33c6qf0mjjbgpwn5g6fgsi4"; depends=[seqinr ape stringr geiger taxize]; };
+  evolvability = derive { name="evolvability"; version="1.0"; sha256="17vkmb5208q4lx6jslx96nbhsl9m2c4ra6264bparbgrg34byg9x"; depends=[coda]; };
+  evora = derive { name="evora"; version="1.0"; sha256="0blq28ldynbq3v6rh0yk89wy1sjp4621h6iwnyyiipqwzihwrhz2"; depends=[Hmisc]; };
+  EvoRAG = derive { name="EvoRAG"; version="2.0"; sha256="0gb269mpl2hbx1cqakv3qicpyrlfb4k8a3a7whhg90masbgmh8f6"; depends=[]; };
+  evt0 = derive { name="evt0"; version="1.1-3"; sha256="08sbyvx49kp3jsyki60gbbnci26d6yk0yj2zcl4bhfac8c3mm6ya"; depends=[evd]; };
+  evtree = derive { name="evtree"; version="0.1-5"; sha256="09byr935z4bzc3yk0l51lnm99k2ac2z44pwx2p35w4080gpsa10r"; depends=[partykit]; };
+  EWGoF = derive { name="EWGoF"; version="2.0"; sha256="07kpzaqfd7ihpmh2y5806mz5h64dcajia5v36pp9myl04fvpjapp"; depends=[Rcpp maxLik miscTools]; };
+  Exact = derive { name="Exact"; version="1.4"; sha256="1l4cq6kslnl8x8c53m2w8w1vijmbxaxzr1fpdzrm2hfra0p5z90s"; depends=[]; };
+  exact2x2 = derive { name="exact2x2"; version="1.3.0"; sha256="0gp6b04bd6pf1a01d6d99p8mbjcqsayrdbm58wky2pg8s445523q"; depends=[exactci ssanv]; };
+  exactci = derive { name="exactci"; version="1.2-1"; sha256="1vnaggb38px2z8fhav0s8hnqz0x2y0ivfzxhyfqn2rlm1v2zxmn0"; depends=[]; };
+  ExactCIdiff = derive { name="ExactCIdiff"; version="1.3"; sha256="1vayq8x7gk1fnr1jrlscg6rb58wncriybw4m1z0glfgzr259103y"; depends=[]; };
+  exactLoglinTest = derive { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
+  exactmeta = derive { name="exactmeta"; version="1.0-1"; sha256="1alva8ls4l56j3bdxgd1mh9isqk198iyrycc88vgpmj30gjpwncn"; depends=[]; };
+  ExactPath = derive { name="ExactPath"; version="1.0"; sha256="0ngvalmgdswf73q0jr4psg0ihnb7qwkamm6h64l01k5rmgd5nm16"; depends=[ncvreg lars]; };
+  exactRankTests = derive { name="exactRankTests"; version="0.8-27"; sha256="0ygy3ygdnrrcggps5zh5r7kqfa9vj6gfgdyli63n8cwdimfyndhn"; depends=[]; };
+  exams = derive { name="exams"; version="2.0-0"; sha256="0w3hnwnwcvl2i0y08qw96fkhfy31hx3pvw2qjxi95vhna5987k0h"; depends=[]; };
+  ExceedanceTools = derive { name="ExceedanceTools"; version="1.2.2"; sha256="084sc6pggfbcyavhfnd5whyigw7dyjhb4cxmxi0kh2jiam5k8v5b"; depends=[splancs SpatialTools]; };
+  excursions = derive { name="excursions"; version="1.1-20140610"; sha256="0x7rk00abf7fw9h2qqp6s2snkm1snkl35mgmxvgwv0a0jm3q56ls"; depends=[Matrix]; };
+  ExomeDepth = derive { name="ExomeDepth"; version="1.0.7"; sha256="02jsbnpyb8y4qnid084z6x1w22pdhnjq6729ixjiw715vavn4p27"; depends=[aod VGAM]; };
+  expands = derive { name="expands"; version="1.4"; sha256="1k9rr13vbppmaq8i0s4q7szp42b444hx5fka9q9vwskhv3d9azwi"; depends=[rJava flexmix matlab mclust moments ape permute]; };
+  ExpDes = derive { name="ExpDes"; version="1.1.2"; sha256="0qfigbx06b3p04x5v7wban139mp8hg8x77x6nzwa4v6dr226qbkv"; depends=[]; };
+  ExpDes_pt = derive { name="ExpDes.pt"; version="1.1.2"; sha256="0khw2jhg2vxcivgr20ybvrsqhd8l8bir5xjmr4m44za9nhap43bz"; depends=[]; };
+  expectreg = derive { name="expectreg"; version="0.39"; sha256="1mxhv6phc3lgp0zz20wszx4nr3by9p6492wcb0x8wn8p8p1sy1b3"; depends=[mboost BayesX quadprog]; };
+  experiment = derive { name="experiment"; version="1.1-1"; sha256="07yaf5k5fpymz2yvr52zbbi60g0v84qryvqqjq3sjq2mb1fjfz1p"; depends=[boot MASS]; };
+  expert = derive { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
+  expm = derive { name="expm"; version="0.99-1.1"; sha256="0kcanqaqn51f437fxriw4qkpxbhzpjzlkp95wn89ip4jhy6076qn"; depends=[Matrix]; };
+  expoRkit = derive { name="expoRkit"; version="0.9"; sha256="0raf0m2nfbdbd1pc4lincyp8y8lgn3bfi4hn0p04plc5p40l1gvc"; depends=[Matrix SparseM]; };
+  ExPosition = derive { name="ExPosition"; version="2.8.19"; sha256="04s9kk8x6khvnryg6lqdwnyn79860dzrjk8a9jyxgzp94rgalnnz"; depends=[prettyGraphs]; };
+  expoTree = derive { name="expoTree"; version="1.0.1"; sha256="0hj1x4niqp0ghqik3mz733nc3zpnhyknrdpzpj6y2rfia2ysdiz8"; depends=[ape deSolve]; };
+  expp = derive { name="expp"; version="1.1"; sha256="13zbhkkcshqrpln5gsa051d390q9ij97lawsdbd5j7fj9hxm9pwh"; depends=[sp spdep rgeos deldir]; };
+  expsmooth = derive { name="expsmooth"; version="2.02"; sha256="1l9k4llzkqwzmrr1l68qr58ngzs3ql67hxrr5fcrcwwnaa1zinyj"; depends=[tseries forecast]; };
+  exptest = derive { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; };
+  exsic = derive { name="exsic"; version="1.0"; sha256="01gvqpy72vs7hn5hcxazzqjb44crh0j31khc11m99ig1ynkbvkms"; depends=[stringr markdown]; };
+  ExtDist = derive { name="ExtDist"; version="0.3.3"; sha256="1igdjyadjvm26n3y08gckblxnndrly8d8cgr23hrjww7khdn6ng2"; depends=[numDeriv optimx matrixcalc]; };
+  extfunnel = derive { name="extfunnel"; version="1.3"; sha256="162w5b2wjs3yqy8jisamsapav6swa8sskf1b6x5hglnrv3i4qyyy"; depends=[rmeta]; };
+  extlasso = derive { name="extlasso"; version="0.1"; sha256="1yb7pfvpchpx81ffa8hjl5h0qf7714zasllf7w4znk3i9dadbyd1"; depends=[]; };
+  extraBinomial = derive { name="extraBinomial"; version="2.1"; sha256="0qmvl35f7n78kghszwyaz4wzbswqy4p98c3b6alzrc2ldsq6pq5z"; depends=[]; };
+  extracat = derive { name="extracat"; version="1.7-0"; sha256="1m0rfz6vma8rw8rgmadagw26ysq4jmwwysdy9kb5vk8d06la3hag"; depends=[colorspace hexbin scales ggplot2 reshape2 plyr TSP]; };
+  extrafont = derive { name="extrafont"; version="0.16"; sha256="0ml1a7m28cdx1a6qcmg8840v95lmhl39ad51q1k3bnqzbxfgqncl"; depends=[extrafontdb Rttf2pt1]; };
+  extrafontdb = derive { name="extrafontdb"; version="1.0"; sha256="115n42hfvv5h4nn4cfkfmkmn968py4lpy8zd0d6w5yylwpzbm8gs"; depends=[]; };
+  extraTrees = derive { name="extraTrees"; version="1.0.1"; sha256="0kq59aw05cjvry4sbwb4mrnrhggibjnf0ga9kwbipkkdgzzj5wsz"; depends=[rJava]; };
+  ExtremeBounds = derive { name="ExtremeBounds"; version="0.1.4.1"; sha256="00k7s5dpia9hajdsb70vd0bx01spaz4m6cjk00gzwndia54cb1dp"; depends=[Formula]; };
+  extRemes = derive { name="extRemes"; version="2.0-1"; sha256="0rp2khgrq3wpyxvhyrgrx5b5af33jzfcgmmqlvkx0rr6ql4fqywq"; depends=[Lmoments distillery car]; };
+  extremevalues = derive { name="extremevalues"; version="2.2"; sha256="162j6kqnd1ak2w2m6y5dbxcya1ap4648hvc83ibq33bxk98rh7sb"; depends=[]; };
+  extWeibQuant = derive { name="extWeibQuant"; version="1.0"; sha256="0l20x33nh50jfrkwm8d0n824d400lnjia8ymdwr10sgj3v1x7vp1"; depends=[]; };
+  eyetracking = derive { name="eyetracking"; version="1.1"; sha256="0ajas96s25hjp3yrg42hp78qjhl1aih04mjirkskx32qsyq5hfpv"; depends=[]; };
+  ez = derive { name="ez"; version="4.2-2"; sha256="1dk4ig137ridr4pw4afp3flm22s8l38yrgxabld1zv46slndc8mm"; depends=[car ggplot2 lme4 MASS Matrix mgcv plyr reshape2 scales stringr]; };
+  ezglm = derive { name="ezglm"; version="1.0"; sha256="0x7ffk3ipzbdr9ddqzv0skmpj5zwazkabibhs74faxnld7pcxhps"; depends=[]; };
+  ezsim = derive { name="ezsim"; version="0.5.5"; sha256="03x75vmf75qsmk4zb09j7xrb11w31rpfwd3dvv12nwjgndh9bnld"; depends=[foreach ggplot2 digest plyr reshape Jmisc]; };
+  FacPad = derive { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[Rlab MASS]; };
+  factas = derive { name="factas"; version="2.3"; sha256="015lpxf37z8vx4h7a8lavksd7i0gc4x7a7ja63wi9h1czdjsc28k"; depends=[plotrix FactoMineR Matrix]; };
+  FactMixtAnalysis = derive { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
+  FactoClass = derive { name="FactoClass"; version="1.1.0"; sha256="0y7yd2i79j1m5yl6vnvma47xhr3rl7i37h9sadyrpfm4s486b3kc"; depends=[ade4 xtable]; };
+  FactoMineR = derive { name="FactoMineR"; version="1.26"; sha256="0a5kxygybsk2y7nyzl3hnvpspimx3c77j7n8syhs817zw3d6sg6i"; depends=[car ellipse lattice cluster scatterplot3d leaps]; };
+  factorplot = derive { name="factorplot"; version="1.1-1"; sha256="1l8pabf32dr12l7b4dgv5jaxpsjymgdxc51miv72zczrx8adc7da"; depends=[multcomp nnet]; };
+  factorQR = derive { name="factorQR"; version="0.1-4"; sha256="1vl01fm5qfyhnqbl5y86vkr50b8cv07vzlqs3v6smqaqq6yp4lv4"; depends=[lattice]; };
+  factualR = derive { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RJSONIO RCurl]; };
+  FADA = derive { name="FADA"; version="1.0"; sha256="1qqxzlmwybajyjfvmlvkq6bfd8vm7lgvgs49vh3x8fdbk6annaj6"; depends=[MASS elasticnet sparseLDA sda glmnet mnormt]; };
+  FAdist = derive { name="FAdist"; version="2.0"; sha256="0qkbliz25xlsng7fi9hk1vshpd3535yrv5rc43m3g2mj024a9wxg"; depends=[]; };
+  Fahrmeir = derive { name="Fahrmeir"; version="2012.04-0"; sha256="1axx6r4g6gj1inih41i2az4y0d3jq9x1a6nyj8k7wp51z4z2nbmk"; depends=[]; };
+  fail = derive { name="fail"; version="1.2"; sha256="0xzvb71iq20ah1x1zlb9kbx0r47jhqlzxx0sxwhkibglpzskg84z"; depends=[BBmisc]; };
+  FAiR = derive { name="FAiR"; version="0.4-15"; sha256="18nj95fiy3j7kf4nzf692dxja3msnaaj5csg745bnajb48l606wz"; depends=[rgenoud gWidgetsRGtk2 rrcov Matrix]; };
+  faisalconjoint = derive { name="faisalconjoint"; version="1.10"; sha256="0z1d241s05jpcih6kh8dhs3k506mwls4xms5zszsmdbzri6sa34x"; depends=[]; };
+  falcon = derive { name="falcon"; version="0.1"; sha256="0yas8a8nqdp03s77k5z1xlyz59gapyx68pz0mf6i2snjwpgai59v"; depends=[]; };
+  fame = derive { name="fame"; version="2.18"; sha256="132wb59d15bs94fga5hwxxr9pklyp2rjn448nl8lx5spjrvycwf4"; depends=[tis]; };
+  Familias = derive { name="Familias"; version="2.1"; sha256="1ccm2hm8vlm450yqx3r45qklgwa6wb54i39ybfh9g2fl544spzn8"; depends=[paramlink]; };
+  FAMT = derive { name="FAMT"; version="2.5"; sha256="0mn85yy9zmiklfwqjbhbhzbawwp2yqrm9pvm8jhasn9c3kw1pcp2"; depends=[mnormt]; };
+  fanc = derive { name="fanc"; version="1.13"; sha256="08qw4vhms8q2jyqqp2vlq8xdg7y7m0mcwb1pibm7wn938rgablq3"; depends=[Matrix]; };
+  fANCOVA = derive { name="fANCOVA"; version="0.5-1"; sha256="034m2mmm6wmsjd41sg82m9ppqjf4b1kgw5vl2w7kzqfx0lypaiwv"; depends=[]; };
+  fanovaGraph = derive { name="fanovaGraph"; version="1.4.7"; sha256="19bzl6yrmi5lgyx6nq3f7i0rdaz2ig580h8116axrsxpx8c4d52x"; depends=[sensitivity igraph DiceKriging]; };
+  fanplot = derive { name="fanplot"; version="3.3"; sha256="0bv7x3xrsg0pmp9gmck30jypv8cwc03bv753m49dfpgs2p9srcmc"; depends=[]; };
+  FAOSTAT = derive { name="FAOSTAT"; version="1.6"; sha256="18wx691hclbf7fvfk3swsz6ripv9w70nlqhsk3lgr4il8bjsr3cy"; depends=[RJSONIO plyr data_table MASS classInt ggplot2 labeling scales]; };
+  faoutlier = derive { name="faoutlier"; version="0.4"; sha256="113qpwil669jr89kpqs6c6xzh0z3vp2hzfy98mh1dr2dvaznd06f"; depends=[sem lattice lavaan MASS]; };
+  far = derive { name="far"; version="0.6-3"; sha256="0i7c0zrz33abwkml1zdjf5m61bxpfndwziqjbh6wyhdz8msp2kmf"; depends=[nlme]; };
+  faraway = derive { name="faraway"; version="1.0.6"; sha256="10vj38chfnlz595pdi16v8gcwsbmn8a7p4gb0mm98dncyin5p2a3"; depends=[]; };
+  fArma = derive { name="fArma"; version="3010.79"; sha256="1byxyy4afl1gq58r1cmc5p6frdr9rljr1x3pdnc8nj8rr65lkg72"; depends=[timeDate timeSeries fBasics]; };
+  farsi = derive { name="farsi"; version="1.0"; sha256="0y14f86bccwjirdx33383wa605y7l7lr0w7ygvg8r7f7izkv7r3n"; depends=[]; };
+  fAsianOptions = derive { name="fAsianOptions"; version="3010.79"; sha256="1w9ph3rz6cd7g275flzsnqxwd3r5xin6pkini8pbsi9s8hbqv3vl"; depends=[timeDate timeSeries fBasics fOptions]; };
+  fast = derive { name="fast"; version="0.63"; sha256="00ag9d0dwn9al104y93m8dclbjqabr9liif8gr19v3gv6k2k6p2c"; depends=[zoo]; };
+  fastclime = derive { name="fastclime"; version="1.2.4"; sha256="0z91khjzffwy4mbqgkfw4l9mw32sg4p5pvcg4v24z1q44pgnwn4y"; depends=[lattice igraph MASS Matrix]; };
+  fastcluster = derive { name="fastcluster"; version="1.1.13"; sha256="0hkml8ggmq5gqw9indqh6rb5x922qq8chd9s35fkxdcgzw58253a"; depends=[]; };
+  fastcox = derive { name="fastcox"; version="1.1.1"; sha256="1a5i0ragl0r6p29iamkn04igakiwyysykfbs2p6ybgy8pfdq69sv"; depends=[Matrix]; };
+  fastGHQuad = derive { name="fastGHQuad"; version="0.1-1"; sha256="0qnffhplfl2kb4dd90as298ays19k4f18slhj063f01gywqqrahn"; depends=[Rcpp]; };
+  FastHCS = derive { name="FastHCS"; version="0.0.2"; sha256="0vc7wmsgk731br0y1vrv50vx5sp7jjjbavd4my6y72rsl9iajv3q"; depends=[matrixStats]; };
+  fastHICA = derive { name="fastHICA"; version="1.0"; sha256="02lqqni7j2sp3ndb3kq785d7jf08p2s3ch30di8ffhwn57indald"; depends=[fastICA energy]; };
+  fastICA = derive { name="fastICA"; version="1.2-0"; sha256="0ykk78fsk5da2g16i4wji85bvji7nayjvkfp07hyaxq9d15jmf0r"; depends=[]; };
+  FastImputation = derive { name="FastImputation"; version="1.2"; sha256="04bz623kcanxcl9z8zl6m7m47pk0szcjrjlgs5v1yl3jnq9m2n7g"; depends=[]; };
+  fastM = derive { name="fastM"; version="0.0-2"; sha256="0q5dz47sqj6d4r3k6l6q34l5ajb8fjbf7xam75scp0mg3czswnfn"; depends=[Rcpp]; };
+  fastmatch = derive { name="fastmatch"; version="1.0-4"; sha256="16gfizfb1p7rjybrfm57nb6hdm30iirbppva8p8xf8pndz35fjbs"; depends=[]; };
+  FastPCS = derive { name="FastPCS"; version="0.0.9"; sha256="12hzp8vk2qb847xy42r0dhab21c0xn23vvakb4qa1jwz6ykji1zk"; depends=[matrixStats]; };
+  fastR = derive { name="fastR"; version="0.4-2"; sha256="19vg2dpbq4d7c3zyp18ygx91f0i0n37xwywbj87l7va82l55flyx"; depends=[lattice mosaic]; };
+  FastRCS = derive { name="FastRCS"; version="0.0.3"; sha256="0v69hgl0lwasj6xhzmd9sqv3ipax8d0gz6svhmcvnf47rzr8wc7z"; depends=[matrixStats]; };
+  FastRWeb = derive { name="FastRWeb"; version="1.1-0"; sha256="1hiabi7ibp69n5wi5x4kwznxhc2i7dxdrqf1fm6ppv7ix0wkjs07"; depends=[Cairo]; };
+  fastSOM = derive { name="fastSOM"; version="0.9"; sha256="03501d5289lrlr4qcgxciz160hqc6nhqb9ab266fr132fkbiv4id"; depends=[]; };
+  fat2Lpoly = derive { name="fat2Lpoly"; version="1.0.2"; sha256="1v5lrs2jksqiaavyhrsa2kjcw84wzg98g3v0kyx7jhmq8686027g"; depends=[kinship2 multgee]; };
+  FatTailsR = derive { name="FatTailsR"; version="1.0-3"; sha256="0r9n18qlr70p6y4v1xv1lxi1lzm9qp29qy4w51chllqjn15kmv7l"; depends=[minpack_lm]; };
+  FAwR = derive { name="FAwR"; version="1.0.1"; sha256="1j97hdhaamg6xqkaxb04xzsd60hd69n9y84frkqi9swvhr565waj"; depends=[MASS lattice]; };
+  fBasics = derive { name="fBasics"; version="3010.86"; sha256="1ij7f030r12g7s4jfykyfbnfwxwy777smccf9aw0imrz5ik6qjaj"; depends=[MASS timeDate timeSeries stabledist gss]; };
+  fbati = derive { name="fbati"; version="1.0-1"; sha256="1ia67dg9b61kc14mjg7065v0c6n6agdp8cjdviasyzga00wzsyxj"; depends=[pbatR fgui rootSolve]; };
+  FBFsearch = derive { name="FBFsearch"; version="1.0"; sha256="1nxfhll9gx9l6hzpcihlz880qxr0fyv5rjghk0xgp8xn4r5wxw11"; depends=[Rcpp RcppArmadillo]; };
+  FBN = derive { name="FBN"; version="1.5.1"; sha256="0723krsddfi4cy2i3vd6pi483qjxniychnsi9r8nw7dm052nb4sf"; depends=[]; };
+  fBonds = derive { name="fBonds"; version="3010.77"; sha256="00rc3i0iyqcpsqvc036csa1c8gxwcnniwj3l2irmcalx4p8650w0"; depends=[timeDate timeSeries fBasics]; };
+  fbRanks = derive { name="fbRanks"; version="2.0"; sha256="17kbmdpgqkj2n951c6mdsrgfga6kiij1gqiw1wpi0q3fq4dlfrzx"; depends=[igraph stringr]; };
+  fcd = derive { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[glmnet MASS combinat]; };
+  fCertificates = derive { name="fCertificates"; version="0.5-3"; sha256="1m0kglsr6g0f7m8r9ls95zj3hmjqq83whyk6svar39p13vabadw6"; depends=[fBasics fOptions fExoticOptions]; };
+  fclust = derive { name="fclust"; version="1.0.1"; sha256="1xl8mw4wfwp9n9fmfmzxz8k8qyrk62qr77j085b3kgp7a85dp8ma"; depends=[]; };
+  fcros = derive { name="fcros"; version="1.1"; sha256="1wnsjghcs0gfqzl6v95zf0cxm3apnii92b2gxg3hkbgmc6xjm5bf"; depends=[]; };
+  FD = derive { name="FD"; version="1.0-11"; sha256="18g2fn6s60hxnasrj58450bjsf4kz62mypyby9avs5anlwihj8gm"; depends=[ade4 ape geometry vegan]; };
+  fda = derive { name="fda"; version="2.4.3"; sha256="19a7jylpr8sh1yz9ljyk889ksfd0xwagbvg83vy6vfsi82q1910g"; depends=[Matrix]; };
+  fdakma = derive { name="fdakma"; version="1.1.1"; sha256="0y70ckgxkns6p45gv9w02krrr96vzs8f838s5vk02c2m6ynp4prs"; depends=[]; };
+  fdaMixed = derive { name="fdaMixed"; version="0.4"; sha256="15m13v71kqxd9gqiymgfkq0dvcpzp05576m8zkg08m0k067ga9bd"; depends=[Formula Rcpp]; };
+  fdasrvf = derive { name="fdasrvf"; version="1.4.2"; sha256="12x04fi0sxs9yh1mf9iykk69zlz6m31j7s01in28p5hgk6wqf8fi"; depends=[foreach mvtnorm matrixcalc numDeriv]; };
+  fdatest = derive { name="fdatest"; version="1.0"; sha256="0m17abycfczkhwmrmjg43ra3fcaqicr15v2frwfgr5p1wj9x0gwq"; depends=[fda]; };
+  fda_usc = derive { name="fda.usc"; version="1.2.0"; sha256="1ifp94i0px3683ph90f7c3z1gh92c33nlfk1f2drr4s0fyb1kzy3"; depends=[fda MASS mgcv rpart]; };
+  FDboost = derive { name="FDboost"; version="0.0-5"; sha256="1xra0g46kicq74cpjby6y1va2bxvx8b9fiy76mdg1s6n8m6r1pxn"; depends=[mboost Matrix mgcv zoo nnls]; };
+  fdrci = derive { name="fdrci"; version="2.0"; sha256="0smyl9phl02wghimawvff3h267w3h213jbqpka155i6cfzig9qjy"; depends=[]; };
+  FDRreg = derive { name="FDRreg"; version="0.1"; sha256="17hppvyncbmyqpi7sin9qsrgffrnx8xjcla2ra6y0sqzam1145y4"; depends=[fda Rcpp mosaic]; };
+  fdrtool = derive { name="fdrtool"; version="1.2.12"; sha256="15c1ikddwzzl3mq2dcwjicjg46k436m315dhmkxmbwilrdqlcrn6"; depends=[]; };
+  fds = derive { name="fds"; version="1.7"; sha256="164f2cbywph7kyn712lfq4d86v22j4y3fg5i9zyz956hipqv0qvw"; depends=[rainbow RCurl]; };
+  fdth = derive { name="fdth"; version="1.1-8"; sha256="195219rndjcccd3b1gn3xc9iky8f3w5ig8x9822d4a2xajr78jnv"; depends=[]; };
+  FeaLect = derive { name="FeaLect"; version="1.3"; sha256="0an548y067g2n7xbg6slxnlaxzn71nwq28cdf9788w4zs98gh9c9"; depends=[lars rms]; };
+  feature = derive { name="feature"; version="1.2.10"; sha256="0jsqa2mv4kxzx3jh1lakg62f15776yzc8clj7wyijnx4jbkx8k8j"; depends=[ks]; };
+  features = derive { name="features"; version="2011.8-2"; sha256="0yshwqv2mzl5jj323jwxscpz2ygb4ywxh6q0zwphb24bhv7h9lwd"; depends=[lokern]; };
+  fechner = derive { name="fechner"; version="1.0-2"; sha256="0yhiqr0wlka3wq0nhwy9n02ax3x5b0y803iadbsr3xb54pxbfbqd"; depends=[]; };
+  federalregister = derive { name="federalregister"; version="0.1.2"; sha256="0f73jhzhqi3a97iyfx5c5i09vxwnyypgw6668z7nch8lvq337s8x"; depends=[RCurl RJSONIO]; };
+  FeedbackTS = derive { name="FeedbackTS"; version="1.1"; sha256="1vp9kxfk1p9hcdl9qg0f5bggh7h2ly9ag70w7dbmkgsika4c0r03"; depends=[maps mapdata proj4 geoR]; };
+  fExoticOptions = derive { name="fExoticOptions"; version="2152.78"; sha256="0h58prj8nh340b0fxxkgg4bk25yxvb4f8ppq677hr12x8sysf1a8"; depends=[timeDate timeSeries fBasics fOptions]; };
+  fExpressCertificates = derive { name="fExpressCertificates"; version="1.2"; sha256="1r4qkhf7alasbwjz910b0x4dlzm72af06kv7v2vwyzvf3byn21c5"; depends=[mvtnorm tmvtnorm fCertificates Matrix]; };
+  fExtremes = derive { name="fExtremes"; version="3010.81"; sha256="0bzgnn0wf7lqhj7b2dbbhi61s8fi2kmi87gg9hzqqi6p7krnz1n5"; depends=[timeDate timeSeries fBasics fGarch fTrading]; };
+  ff = derive { name="ff"; version="2.2-13"; sha256="1nvd6kx46xzyc99a44mgynd94pvd2h495m5a7b1g67k5w2phiywb"; depends=[bit]; };
+  ffbase = derive { name="ffbase"; version="0.11.3"; sha256="0n65i2a91jjjpzfw3placf6j6sbf8azzd1sck4adha6iiwpi8b1n"; depends=[ff bit fastmatch]; };
+  FFD = derive { name="FFD"; version="1.0-2"; sha256="0s6j4rq7ryypq63cq1cfa7n993bwx9pxp6pscdhyh79rhk28xxda"; depends=[tkrplot R2HTML]; };
+  FField = derive { name="FField"; version="0.1.0"; sha256="05q16v2vv64qhbnf2l66dwzmvgzyaq8vxwwdabp534bw7z7zpi8q"; depends=[]; };
+  ffmanova = derive { name="ffmanova"; version="0.2-2"; sha256="0sw8br73mx552m4b5zi4qgjcrwxflmgsnvs4mlnxh8g2gaf5bx4j"; depends=[]; };
+  fftw = derive { name="fftw"; version="1.0-3"; sha256="01nncrf2p0yq49lhd5aq4hvhp87f25r0x7siqnaldv5zq24krl30"; depends=[]; };
+  fftwtools = derive { name="fftwtools"; version="0.9-6"; sha256="00m4yapdkwfi4vrpg0yhakq2chma46mmbwhd9a15y61w97yzz7vb"; depends=[]; };
+  fgac = derive { name="fgac"; version="0.6-1"; sha256="0paddf5a4w0g2i0ay7my0bppwh534d8ghy6csfxl5jj034xjgwkk"; depends=[]; };
+  FGalgorithm = derive { name="FGalgorithm"; version="1.0"; sha256="1dq6yyb3l6c9fzvk9gs6pb240xb5hvc6fh8p3qd3c91b3m289mcc"; depends=[]; };
+  fGarch = derive { name="fGarch"; version="3010.82"; sha256="08q452pasvjhsg2ks6c52lqg276hlbdwk0vh25xya2bw2bgbqy99"; depends=[timeDate timeSeries fBasics]; };
+  FGN = derive { name="FGN"; version="2.0-12"; sha256="0jxawb4wm1vcp0131mdnc0r24dw8sd29ih0fc2wh6ahy7mxzajqn"; depends=[akima ltsa]; };
+  fgof = derive { name="fgof"; version="0.2-1"; sha256="0bclkb3as0fl2gyggqxczndfyj9pfnni5pa3inpn5msrnjg4g2j2"; depends=[mvtnorm numDeriv]; };
+  FGSG = derive { name="FGSG"; version="1.0"; sha256="01v0jbj09r1c4anbs3xa8y8by9ffwbbc36vsh0bv62blrisp7a03"; depends=[]; };
+  fgui = derive { name="fgui"; version="1.0-5"; sha256="0gzwxzvf2y9p5rlfk862d7l1dm2sdwjhjpcb8p494cj4g1xshazg"; depends=[]; };
+  FHtest = derive { name="FHtest"; version="1.1"; sha256="0yqy3lvxjhk7biqfikxqlgs9zsy1vlld9pqxhgxmq04gbnjn2jfk"; depends=[interval MLEcens MASS KMsurv]; };
+  FI = derive { name="FI"; version="1.0"; sha256="17qzl8qvxklpqrzsmvw4wq3lyqz3zkidr7ihxc4vdzmmz69pyh2f"; depends=[]; };
+  fICA = derive { name="fICA"; version="1.0-0"; sha256="054dg6ikps0ynfy06y95an5mi2wwqx88ylk5qcifxhjiylw36v5v"; depends=[JADE]; };
+  fields = derive { name="fields"; version="7.1"; sha256="0wxm8pq4j5clz1hcgdlajasg5cbq8x35i82wrw3gsy27kslyadkd"; depends=[spam maps]; };
+  FieldSim = derive { name="FieldSim"; version="3.1.3"; sha256="0ap1mfsjj3bflpryn0y8h9kg5mzfrnqj6h9f3m5ja32yjv19ql60"; depends=[rgl RColorBrewer]; };
+  fifer = derive { name="fifer"; version="1.0"; sha256="0vbkks6y6pacgpiixm10fbfa34lmk5r9kwd30lfjf0g7r51fhvv9"; depends=[xtable MASS]; };
+  filehash = derive { name="filehash"; version="2.2-2"; sha256="0766wrc42qh7r99bd2zy50vvdnqlz0vkzplskzkm5f4g63qdhjxh"; depends=[]; };
+  filehashSQLite = derive { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[filehash DBI RSQLite filehash DBI]; };
+  fImport = derive { name="fImport"; version="3000.82"; sha256="07yqppl8sbfa0x9k4n7hh6hcgyxpcvlk74hhylib4nzqm70bn0sq"; depends=[timeDate timeSeries]; };
+  financial = derive { name="financial"; version="0.2"; sha256="1v6jgs3rq57byin5mynslfjk3zrx91qz36558nn17mv6z0qsf10v"; depends=[]; };
+  FinancialInstrument = derive { name="FinancialInstrument"; version="1.1"; sha256="19sszdrqipy9i8g2bda9v8i9g5c9w584si4va35fq3i929yv7hrl"; depends=[quantmod xts zoo]; };
+  FinAsym = derive { name="FinAsym"; version="1.0"; sha256="0v15ydz4sq9djwcdcfp90mk8l951rry7h91d7asgg53mddbxjj6f"; depends=[]; };
+  FinCal = derive { name="FinCal"; version="0.6"; sha256="0slw5s7gilmv0j8iwhz27lss2gbrj2l8zqv7bqywr1yf0hw2nxn7"; depends=[ggplot2 reshape2 scales RCurl]; };
+  FindAllRoots = derive { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; };
+  FindIt = derive { name="FindIt"; version="0.3"; sha256="0bnyfv9xc5c9bzc34qpbnk6s9mvnzkx9zswjr3j210f518y8z45f"; depends=[glmnet lars glmnet lars]; };
+  FindMinIC = derive { name="FindMinIC"; version="1.6"; sha256="0vlr56nw32msvz8bljrw82nzrnazncs6nz7zisidffm2v3najkar"; depends=[nlme sets]; };
+  findpython = derive { name="findpython"; version="1.0.1"; sha256="0fa01znc9cckj4ay4zmwmssm2lkhmsw6h07y1pwgd6z1b2pj7bns"; depends=[]; };
+  fingerprint = derive { name="fingerprint"; version="3.5.2"; sha256="042aycxs00rglqh2y27bjlwkk6z312gavli7g8xvqfx1lisijrjk"; depends=[]; };
+  finiteruinprob = derive { name="finiteruinprob"; version="0.4"; sha256="0wcllbqkryll3v3fjb6k210pcgkskzrpa78gg8nda0jvkij11zb7"; depends=[sdprisk numDeriv]; };
+  FinTS = derive { name="FinTS"; version="0.4-5"; sha256="16m57h6rk4344aalfwaz7hsyis30c1dirsyx8ih661ihgqn1ai1r"; depends=[zoo]; };
+  FisherEM = derive { name="FisherEM"; version="1.4"; sha256="1lhkyyk82i6alxyiqrvy5fx60f8vab0y62zmw5fjaq6h0vczqn3s"; depends=[MASS elasticnet]; };
+  fisheyeR = derive { name="fisheyeR"; version="0.9"; sha256="1w6va7gakqq2q8hsvdszpn8s2ysdfc648bk5p5v3wbl5s403bci8"; depends=[tkrplot]; };
+  FisHiCal = derive { name="FisHiCal"; version="1.1"; sha256="1dds629jlja3vw2l010n1334yh3z10nijqksr0q98ckd2yrwg2rf"; depends=[igraph RcppArmadillo]; };
+  fishmethods = derive { name="fishmethods"; version="1.6-0"; sha256="1vp125sg3fy02zj5rbvgq4aymg1dj8g54kq5ss78c7rzwww7a560"; depends=[MASS boot bootstrap]; };
+  fishMod = derive { name="fishMod"; version="0.25"; sha256="0mg1bziz2ia406m4ilc7hw1bghrgdibm537hnlf9ffhfayjc4kid"; depends=[]; };
+  fishmove = derive { name="fishmove"; version="0.2-1"; sha256="1b8drjvslmpqnq5v3axrshrl2xq87h3x5cgfnibbhn4slrxw55v9"; depends=[ggplot2 plyr]; };
+  fit4NM = derive { name="fit4NM"; version="3.3.3"; sha256="1xy334svv7cc3xh2j33q6icnibxl46yvnxw8bd4xrpclg4xchc1g"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice]; };
+  FitAR = derive { name="FitAR"; version="1.94"; sha256="1mkk3kvfq4v0pdabnhbwrk31ji2mv2v6ns16xsvvr1qyg2fnx6hq"; depends=[lattice leaps ltsa bestglm lattice leaps ltsa]; };
+  FitARMA = derive { name="FitARMA"; version="1.6"; sha256="1r9mqrqkm4wh3nd6v9wmpj23gw21i4p89p6z4c7639kn4f590ldk"; depends=[FitAR]; };
+  fitdistrplus = derive { name="fitdistrplus"; version="1.0-2"; sha256="1m35zicxm5gfc9wgp7lx7ymy06nr4s9fcwc07iky40xh65kps0s5"; depends=[survival]; };
+  fitDRC = derive { name="fitDRC"; version="1.1"; sha256="1f6avw8ia9ks17zdagpmh6yvcmi53h5cvm0wwv9hsb92x5zfhxn9"; depends=[]; };
+  fit_models = derive { name="fit.models"; version="0.5-10"; sha256="06pj26dbnq6mf9wxinvjzwyn36656f66a4bmky36r7fzi92gf3d8"; depends=[lattice]; };
+  FITSio = derive { name="FITSio"; version="2.0-0"; sha256="1gf3i1q9g81gydag2gj1wsy6wi5jj2v4j3lyrnh1n2g4kxd6s3cp"; depends=[]; };
+  fitTetra = derive { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; };
+  FKF = derive { name="FKF"; version="0.1.3"; sha256="01ibihca39zng4wrvhq8h28bmb2rnsjm21xy22b85kpn3mbnh7f1"; depends=[RUnit]; };
+  flare = derive { name="flare"; version="1.4.0"; sha256="19hygxsz0sr1cvqyr6snxgrd9cfi25h1zyk8xhg35jffpbs97d7p"; depends=[lattice MASS Matrix]; };
+  flashClust = derive { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; };
+  flexclust = derive { name="flexclust"; version="1.3-4"; sha256="1x9gyg69kb3wn02w885kl6hcwpf2ki66gzfayvc83jisrwxvdfvv"; depends=[lattice modeltools]; };
+  flexCWM = derive { name="flexCWM"; version="1.1"; sha256="0vxzf3ifmpg7l13bvbmv6h5a3gmn2h1xvkq354lvy4s8znk643c4"; depends=[numDeriv mnormt mclust ellipse mixture Flury]; };
+  flexmix = derive { name="flexmix"; version="2.3-11"; sha256="14nv6dxpgm9nr01rcz32x42agr4xi2anyss2fiywjidwbdgj50iy"; depends=[lattice modeltools nnet]; };
+  FlexParamCurve = derive { name="FlexParamCurve"; version="1.4-3"; sha256="1056lxs9c2bbh2i2gv1bv2sy8gq6k6p0jpl1d3axqd1xk5pipm2x"; depends=[nlme]; };
+  flexsurv = derive { name="flexsurv"; version="0.3"; sha256="0ig0151843qfc4pvk9mh80kly1n9mq9aphwkwligm9llspiwbcja"; depends=[survival muhaz mvtnorm]; };
+  FLIM = derive { name="FLIM"; version="1.1"; sha256="1gghzmj3mvih4gglk27rx1v18q72xnvymgzjwa84m5vlc8840jpa"; depends=[zoo MASS]; };
+  flip = derive { name="flip"; version="2.4.3"; sha256="04zf2gnk5w57gxnlnh26pn1ir1wfrzxhfhchr33ghk7prhc7k4b8"; depends=[e1071 someMTP cherry Rcpp]; };
+  FLLat = derive { name="FLLat"; version="1.1"; sha256="1h2nfx7gb66hjdfkdm6im6n8c1fjdz9csg39pckb47c0khl3g9r0"; depends=[gplots]; };
+  flora = derive { name="flora"; version="0.2.3"; sha256="03n2as362fcz7jbkprwqr2rs86njbkywczsf8cjfa2akwh93gj7s"; depends=[shiny]; };
+  flowfield = derive { name="flowfield"; version="1.0"; sha256="1cx3i0w3xq781mmms4x20fshlf1i9bwxw9bxx562crix3fq3m50j"; depends=[]; };
+  FLR = derive { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
+  flsa = derive { name="flsa"; version="1.05"; sha256="07z2b1pnpnimgbzkjgjl2b074pl9mml7nac2p8qvdgv7aj070cmh"; depends=[]; };
+  FLSSS = derive { name="FLSSS"; version="1.0"; sha256="1plpq4m7fh1g3hrbby1v93pnp1kn7ickb2vd6fa3zs7r9dkglikn"; depends=[Rcpp]; };
+  FluOMatic = derive { name="FluOMatic"; version="1.0"; sha256="06hww6viynisnfiphvghv4iqf1gk2snb8aksignaw8pnlkixnsg7"; depends=[]; };
+  Flury = derive { name="Flury"; version="0.1-3"; sha256="105fv9azjkd8bsb9b8ba3gpy3pjnyyyp753qhrd11byp3d0bbxy0"; depends=[]; };
+  flux = derive { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; };
+  fma = derive { name="fma"; version="2.01"; sha256="1j5mvhbrdnkyj4svibpahnz7d4221nkhja5b7fnh68mbmil607fc"; depends=[tseries forecast]; };
+  FME = derive { name="FME"; version="1.3.1"; sha256="1wylpxr9m65ksizjhn97082kfkf9m451qraw93cgn5660skxw7d8"; depends=[deSolve rootSolve minpack_lm MASS coda]; };
+  fmri = derive { name="fmri"; version="1.5-1"; sha256="0dla5w8x4njw2njryb35nqh4r31wdps9bl5wzab2grzl546wwmwm"; depends=[]; };
+  fmsb = derive { name="fmsb"; version="0.5.0"; sha256="1aynq4d2nrx11irrbhvjavvd86ffgrw5jv6pwnk97lw6qjfk5kc3"; depends=[]; };
+  FMStable = derive { name="FMStable"; version="0.1-2"; sha256="00viigpqfbqc4hyl9cwicbwqf2ksjak28qrqaa16jhbqz93j4fck"; depends=[]; };
+  fmt = derive { name="fmt"; version="1.0"; sha256="13gsywnyvf9zy5n644g2xyd60f92w2dp7vil2dncjvjcqsib22a0"; depends=[]; };
+  FNN = derive { name="FNN"; version="1.1"; sha256="1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"; depends=[]; };
+  fNonlinear = derive { name="fNonlinear"; version="3010.78"; sha256="0pmz16b606i3mx05zjln4nyl53ks7rlwgm45ldr9qgmw51pflwz9"; depends=[timeDate timeSeries fBasics fGarch]; };
+  foba = derive { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; };
+  fontcm = derive { name="fontcm"; version="1.1"; sha256="1z6b4qdgj5vhvjqj90sm1hp0fffi1vxzvq71p0flxybzyb7d15la"; depends=[]; };
+  foodweb = derive { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; };
+  fOptions = derive { name="fOptions"; version="3010.83"; sha256="01yr3hrfiq4hjhidl5pl1gcqg0myg4acmnipjhq70l3q50cfjm8l"; depends=[timeDate timeSeries fBasics]; };
+  forams = derive { name="forams"; version="2.0-4"; sha256="1kvxlqdyzb3rqa45hp7jxjm009w0r6h78nr3yh9bqcz594zqidbq"; depends=[vegan]; };
+  foreach = derive { name="foreach"; version="1.4.2"; sha256="097zk7cwyjxgw2i8i547y437y0gg2fmyc5g4i8bbkn99004qzzfl"; depends=[codetools iterators]; };
+  ForeCA = derive { name="ForeCA"; version="0.1"; sha256="1nbflawx8h4lpb9ixbp0zcyl0bqykqlqail31i00ywkak2ic3pm3"; depends=[ifultools splus2R nlme R_utils sapa mgcv astsa]; };
+  forecast = derive { name="forecast"; version="5.5"; sha256="040sjs26jdpcvn1mipbvy81ygr1ck1z69jhx375l76hbswyq801c"; depends=[zoo timeDate tseries fracdiff Rcpp nnet colorspace]; };
+  foreign = derive { name="foreign"; version="0.8-61"; sha256="0r994z3ihvrbfhzpvp2dkxbfgkbmccgrryfaxmy1vi56v59n73w8"; depends=[]; };
+  forensic = derive { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[genetics combinat]; };
+  forensim = derive { name="forensim"; version="4.3"; sha256="1j92imykw48cciay0r6n1aq1jrdb2b1grrz6lpc4kgbnbd7mk0qm"; depends=[tcltk2 tkrplot]; };
+  ForImp = derive { name="ForImp"; version="1.0.2"; sha256="1qplsg3cxs95b3ax71a3wyjfk4q207k72ggba2sl0zc7mjqhv1f4"; depends=[homals sampling mvtnorm]; };
+  ForIT = derive { name="ForIT"; version="1.0"; sha256="0mi2cw09mbc54s8qwcwxin2na1gfyi60cdssy2ncynma7alq3733"; depends=[]; };
+  fork = derive { name="fork"; version="1.2.4"; sha256="1sb4xypirmrknhrc872ky845kym58dmakn6c2crsbp67wpg63m4l"; depends=[]; };
+  FormalSeries = derive { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; };
+  formatR = derive { name="formatR"; version="0.10"; sha256="0rxm4c896rcmalmq1hsjg053dqb3m2vf9jqap5w5bsllaiakwh4a"; depends=[]; };
+  Formula = derive { name="Formula"; version="1.1-2"; sha256="1axjcmy4x2175nrfjc7vwkijcyr86ws6nbs08990wq8gcal15a10"; depends=[]; };
+  formula_tools = derive { name="formula.tools"; version="1.3.4"; sha256="1xxl45x88fpskwvfj6sbcbfng84plpf8sjrkwawzki9a41ydhwaq"; depends=[operator_tools]; };
+  fortunes = derive { name="fortunes"; version="1.5-2"; sha256="1wv1x055v388ay4gnd1l8y6dgvamyfvmsd0ik9fziygwsaljb049"; depends=[]; };
+  forward = derive { name="forward"; version="1.0.3"; sha256="0swn5ysp3f660kl9jpmkck9324j1g3yhj2hl238rfrcr5wihxifc"; depends=[MASS]; };
+  fossil = derive { name="fossil"; version="0.3.7"; sha256="188hyb3r1dnxkmqf2czh1kdzmk4mjc0v1kn1zml2yvxaxk7adsrz"; depends=[sp maps shapefiles]; };
+  FourScores = derive { name="FourScores"; version="1.0"; sha256="0d21mrl9bzsvhljv7ymiyck508smp66w9qivrb2rp0p803h9yibm"; depends=[]; };
+  fpc = derive { name="fpc"; version="2.1-7"; sha256="1zymk2v7s8jyn4jm3qaxzd5rlx748ap4ad2dd56w195q5j1xn4bh"; depends=[MASS cluster mclust flexmix]; };
+  fpca = derive { name="fpca"; version="0.2-1"; sha256="13b102026xlfb7c2rb3xsqsymm7xpmaxppaafjkb5dx0b1lz0jrc"; depends=[sm]; };
+  FPDC = derive { name="FPDC"; version="1.0"; sha256="0f6f5bjh1dqv9n6hpbgj922ymbd1zdb0b4ad5h9nk1c6c9ysai7y"; depends=[ThreeWay]; };
+  fpow = derive { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; };
+  fpp = derive { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[forecast fma expsmooth lmtest tseries]; };
+  fptdApprox = derive { name="fptdApprox"; version="2.0"; sha256="152bajs76wrapp0zdbkckff6kdkkm6sqqlqd2w220hsi96l2p9dh"; depends=[]; };
+  fracdiff = derive { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; };
+  fracprolif = derive { name="fracprolif"; version="1.0.5"; sha256="0d028dkiwv8jlsnvdv3wqgx6vsl2ai0icpdadl66sjj45yxv1z7g"; depends=[emg numDeriv]; };
+  fractal = derive { name="fractal"; version="2.0-0"; sha256="17wz3c9f1l1rphzdn7j27j5nb1ll6j84f9ihk0z6fni41050szv7"; depends=[splus2R ifultools sapa wmtsa scatterplot3d]; };
+  fractaldim = derive { name="fractaldim"; version="0.8-4"; sha256="0fln4qn0d79agnnlzi8b9g9qn90zynq1cg9v5isiyi71345v45nr"; depends=[abind]; };
+  fractalrock = derive { name="fractalrock"; version="1.1.0"; sha256="15f4w8hq3d8khgq269669ri16qxhar9646w40cw7wzh79r9gpf00"; depends=[futile_any futile_logger timeDate quantmod]; };
+  FRACTION = derive { name="FRACTION"; version="1.0"; sha256="0g25dzsbharsq8bzfka96zccaqppdclax24mz5m080ddg4y8zj49"; depends=[]; };
+  frailtyHL = derive { name="frailtyHL"; version="1.1"; sha256="1xjdph0ixanf9w4b6hx6igfhkcp8h93sclrg0pgqgmbvm41lhb1x"; depends=[Matrix numDeriv survival]; };
+  frailtypack = derive { name="frailtypack"; version="2.6.1"; sha256="0xzf7qffp9ybxdd9x2s30k23lcss8wf6rbljp3x5xbyg87nfawyd"; depends=[survival boot MASS survC1]; };
+  frair = derive { name="frair"; version="0.4"; sha256="1g52ykj1m9znpp0pvry7dnmhg4m73nbkw0bp31zl6pcsdgmxxqjr"; depends=[bbmle emdbook boot]; };
+  FRAPO = derive { name="FRAPO"; version="0.3-8"; sha256="1wqayyai8pdm1vq6qvpd10qpd882cyjb0y0jl582fxd3a2ic7n14"; depends=[quadprog Rglpk timeSeries]; };
+  FRB = derive { name="FRB"; version="1.8"; sha256="13rp4gqldx84mngrdv5fa9xamkng7b3kgy30ywykcx46gmrym6ps"; depends=[corpcor rrcov]; };
+  frbs = derive { name="frbs"; version="2.2-0"; sha256="13m8hm2925h1mz2wgbsxiqls5gy7sgvp0rsdcsy2sm7czjnl2z7n"; depends=[]; };
+  FRCC = derive { name="FRCC"; version="1.0"; sha256="1g1rsdqsvwf7wc16dj16y6r0347j8jsv5l1pxvj1h0579zinaf2b"; depends=[CCP MASS calibrate corpcor]; };
+  freeknotsplines = derive { name="freeknotsplines"; version="1.0"; sha256="19zs42q9njknirdbrbnp8bv4vr32kd8wxmkqj0a0nh06i5fcx67r"; depends=[]; };
+  FreeSortR = derive { name="FreeSortR"; version="1.0"; sha256="1zrff48abf42md6y2x2s8sd23807dx78fjgbfzzxswg3hz34g5sa"; depends=[smacof vegan ellipse]; };
+  freestats = derive { name="freestats"; version="0.0.3"; sha256="0b18n8idap089gkmjknzzb94dvs2drpdqs0mrw7dqnacxgbbqwfj"; depends=[MASS mvtnorm]; };
+  FREQ = derive { name="FREQ"; version="1.0"; sha256="01nra30pbnqdd63pa87lcws3hnhhzybcjvx2jqyxjghn6khz47j0"; depends=[]; };
+  freqMAP = derive { name="freqMAP"; version="0.2"; sha256="02hpkqqrxifrr1cxn5brp166jwa8lgl1mcgmq7s8csrbbd900ziv"; depends=[]; };
+  freqparcoord = derive { name="freqparcoord"; version="1.0.0"; sha256="0hn5y10yp3j76lqrmj6dsaafamgy4pfxx1p4y92z17s79x29j59q"; depends=[ggplot2 GGally FNN mvtnorm]; };
+  freqweights = derive { name="freqweights"; version="0.1.0"; sha256="1ckhr0d21gd193lkwv4723n4q72phg93ymi00810f1h5677mghby"; depends=[plyr dplyr data_table biglm fastcluster FactoMineR]; };
+  FrF2 = derive { name="FrF2"; version="1.7-1"; sha256="0i9hfx7n0g866imdsmalqzs8v95vx08cz97hi8311v1wc3pqsn1j"; depends=[DoE_base sfsmisc BsMD scatterplot3d igraph]; };
+  FrF2_catlg128 = derive { name="FrF2.catlg128"; version="1.2-1"; sha256="0i4m5zb9dazpvmnp8wh3k51bm0vykh4gncnhdg71mfk4hzrfpdac"; depends=[FrF2]; };
+  frm = derive { name="frm"; version="1.2"; sha256="128ya5gx27hywkhf9mivscxsk8rgf07c0y65fh15hp1c8m6dx0nz"; depends=[]; };
+  frmqa = derive { name="frmqa"; version="0.1-5"; sha256="0vd5jnjzhkc0vd4cqn4cs6a3limd4fxwyb5i7845rwmkzk1944aj"; depends=[partitions Rmpfr]; };
+  frontier = derive { name="frontier"; version="1.1-0"; sha256="0k2ap22qddzki63biikr1jzi5vmqz4j06d7qrf1y8axdq1q1cr44"; depends=[micEcon lmtest moments Formula miscTools]; };
+  frontiles = derive { name="frontiles"; version="1.2"; sha256="08qq25wbylvhvmq34wggyj0hwdlxfs9rfs8gjqsrg50xccchniqi"; depends=[classInt colorspace rgl sp]; };
+  frt = derive { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; };
+  fscaret = derive { name="fscaret"; version="0.8.5.6"; sha256="060i64q65ra2npxvrd6ihzqqqv3s4xyisvgrskkyybswhqzvhxvr"; depends=[caret gsubfn]; };
+  FSelector = derive { name="FSelector"; version="0.19"; sha256="1b9jj8lqly31v393mx9dmr437sw0pk7m693ah4xnr2c9vjry6fav"; depends=[randomForest RWeka digest]; };
+  fslr = derive { name="fslr"; version="1.1"; sha256="0m2bhmbkf4594k6l8xmqlrgv2z6pmhwm3an0ll5qvl6giy1q70vc"; depends=[stringr oro_nifti matrixStats]; };
+  fso = derive { name="fso"; version="2.0-1"; sha256="02dr12bssiwn8s1aa1941hfpa4007gd65f3l4s74gs2vgjzdxf8s"; depends=[labdsv rgl]; };
+  fSRM = derive { name="fSRM"; version="0.3.5"; sha256="1dprw19ssw4v892b6iqsz5i7dmicjhgr6v1fkhnwd988nqv6h01s"; depends=[lavaan plyr reshape2]; };
+  FTICRMS = derive { name="FTICRMS"; version="0.8"; sha256="0kv02mdmwflhqdrkhzb55si5qnqqgdadgyabqc2hwr6iccn7aq8c"; depends=[Matrix lattice]; };
+  ftnonpar = derive { name="ftnonpar"; version="0.1-88"; sha256="0df9zxwjpfc939ccnm1iipwhpf76b34v0x74nsi1mm1g927dfl0i"; depends=[]; };
+  fTrading = derive { name="fTrading"; version="3010.78"; sha256="0qakjxnr5nslw06ywlj65m3w7pjgn5hixxc2rnqhvvvmjpdxybz7"; depends=[timeDate timeSeries fBasics]; };
+  fts = derive { name="fts"; version="0.9.9"; sha256="1qgp8xdwr5pp2b7nd8r717a6p8b6izwqrindx2d1d0lhhnqlcwhv"; depends=[zoo]; };
+  ftsa = derive { name="ftsa"; version="4.0"; sha256="0phqsw3zq0bq6sdqdacyajk1xk7ns66nd3rpszl96gi7jw5m5bf8"; depends=[forecast rainbow colorspace]; };
+  fueleconomy = derive { name="fueleconomy"; version="0.1"; sha256="1svy5naqfwdvmz98l80j38v06563vknajisnk596yq5rwapl71vj"; depends=[]; };
+  fugeR = derive { name="fugeR"; version="0.1.2"; sha256="0kd90s91vzv0g3v9ii733h10d8y6i05lk21p5npb3csizqbdx94l"; depends=[snowfall Rcpp]; };
+  fume = derive { name="fume"; version="1.0"; sha256="0g9ygyjxsk0m3ad25h3bcgxs9g29blqn8p27s9g47kxvh4v1nq4y"; depends=[chron]; };
+  fun = derive { name="fun"; version="0.1-0"; sha256="0z4nq2w1wz1clc7cf87pf870hayxq5mpzhllfgwj4mmh2xpphnrf"; depends=[]; };
+  FunChisq = derive { name="FunChisq"; version="1.0"; sha256="1wrj483w6fjwwqjbymdj229nismmwaxw6v6fpba9mylqbyhs69gc"; depends=[]; };
+  FunCluster = derive { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[Hmisc cluster]; };
+  Funclustering = derive { name="Funclustering"; version="1.0.1"; sha256="0i6g98mfgdyc9hdzvviynrgqhkzicp8y6s0scqy3ifgk9h1k79dw"; depends=[fda Rcpp]; };
+  FuncMap = derive { name="FuncMap"; version="1.0-2"; sha256="0psz2bsmq22ghgr3dijsw094b9ams15dvknigcgi5sq1invafx4a"; depends=[mvbutils]; };
+  functional = derive { name="functional"; version="0.6"; sha256="120qq9apg6bf39n9vnp68db5rdhwvnj2vi12a8j8243vq8kqxdqr"; depends=[]; };
+  FunctionalNetworks = derive { name="FunctionalNetworks"; version="1.0.0"; sha256="071hjgiccbrf1gxrh7niw2w1p6vgc77qvrildi59xhk53qcwzqdp"; depends=[]; };
+  fUnitRoots = derive { name="fUnitRoots"; version="3010.78"; sha256="04nwwazd8jvzds6p4njzq4wpcsrvvvs0y9z8v8r402myd4856ssm"; depends=[urca timeDate timeSeries fBasics]; };
+  funreg = derive { name="funreg"; version="1.1"; sha256="1sxr4mylcpbya197d55yi6d7g5pfspaf59xxbwjgmwgjw06rl76r"; depends=[MASS mgcv mvtnorm]; };
+  FusedLasso = derive { name="FusedLasso"; version="1.0.6"; sha256="1m2l7ihd55viy5a543gg2rhzkcmf5myxxbc5gqf1icrwjg6bny41"; depends=[Matrix]; };
+  FusedPCA = derive { name="FusedPCA"; version="0.2"; sha256="0z4kvm6mn11fmc8w62aky2binjdcgrw4ij5vg65sb55da9s8d2kd"; depends=[genlasso]; };
+  futile_any = derive { name="futile.any"; version="1.3.0"; sha256="1c7pj64kz09qzwrxvkp1w1w8mvxwq36zkj6w4b7yyi8v7x3daq2a"; depends=[lambda_r]; };
+  futile_logger = derive { name="futile.logger"; version="1.3.7"; sha256="0mcca1d70a173f2c54g05fp6174z3265bc4z73k8hs16sfb3s7zf"; depends=[lambda_r futile_options]; };
+  futile_matrix = derive { name="futile.matrix"; version="1.2.2"; sha256="1cb975n93ck5fma0gvvbzainp7hv3nr8fc6b3qi8gnxy0d2i029m"; depends=[lambda_r lambda_tools futile_logger RMTstat]; };
+  futile_options = derive { name="futile.options"; version="1.0.0"; sha256="1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"; depends=[]; };
+  futile_paradigm = derive { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; };
+  fuzzyFDR = derive { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
+  fuzzyMM = derive { name="fuzzyMM"; version="1.0.1"; sha256="1pqfc9b9l2xx5pl45hfildikqjsdgqfhqzi2nbb34026nla5m8vk"; depends=[osmar frbs igraph rgeos rgdal]; };
+  FuzzyNumbers = derive { name="FuzzyNumbers"; version="0.3-3"; sha256="1vbfkr8r1n8d564ws8dqfbd49f33vd7drg3chg2vr9bxh292wsl3"; depends=[]; };
+  fuzzyRankTests = derive { name="fuzzyRankTests"; version="0.3-5"; sha256="1g09506bbpk05a2r2wxjynjs8dmjd2q7x74d83vjscg1kdk4kazq"; depends=[]; };
+  FuzzyStatProb = derive { name="FuzzyStatProb"; version="1.0"; sha256="0dkxix2blb403a72a9n13hyx31rknfxfq0cbkvvk7dvgis2w6k14"; depends=[MultinomialCI FuzzyNumbers DEoptim]; };
+  FuzzyToolkitUoN = derive { name="FuzzyToolkitUoN"; version="1.0"; sha256="104s45mmlam67vwpshhpns2mgwvmhnbj8w1918jyk2r5mqibwz06"; depends=[]; };
+  fwdmsa = derive { name="fwdmsa"; version="0.2"; sha256="0p0kh8am6gajfaixkvq61f12hfbm6chl9372yzn1yilhiyvqdxgp"; depends=[]; };
+  FWDselect = derive { name="FWDselect"; version="1.1"; sha256="1snamrzf0cqcm6sc5vr1b0scgy83jgr5hgsf2cjb3vi3j01hz9wd"; depends=[mgcv]; };
+  fwi_fbp = derive { name="fwi.fbp"; version="1.5"; sha256="08ngg70vi2fca5yblm2gf1lkjjmb6m39d8q6429n7i3jn6ca5nzf"; depends=[]; };
+  fwsim = derive { name="fwsim"; version="0.3.1"; sha256="0l9qsysi0v8q58ik0pk7jxs2m57q2n82apc0rb0d0czm7dmib6b6"; depends=[Rcpp]; };
+  fxregime = derive { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[zoo strucchange car sandwich]; };
+  G1DBN = derive { name="G1DBN"; version="3.1.1"; sha256="015rw3bpz32a8254janddgg1ip947qgcvmiwx5r3v7g8n854bwxn"; depends=[MASS igraph]; };
+  G2Sd = derive { name="G2Sd"; version="2.1-1"; sha256="01b7bpvnl51dms7bp076v0mbz8bk2vrlkqji9fk6nyqfpxg5zn6a"; depends=[shiny xlsx rJava xlsxjars]; };
+  GA = derive { name="GA"; version="2.1"; sha256="06adi6kdav5c9kzn4y6gq73p496y73hvcdv6nf7d0by8hx5ncyc4"; depends=[]; };
+  GA4Stratification = derive { name="GA4Stratification"; version="1.0"; sha256="0li23mrxjx72fir16j3q06fa32cicck4pfc30n0dy2lysf81m9gs"; depends=[]; };
+  GABi = derive { name="GABi"; version="0.1"; sha256="1zmiaqbd1jrpiz9hk16s8rggcpl3xyyhjkkdliymx2p42vy5b5mf"; depends=[hash]; };
+  GAD = derive { name="GAD"; version="1.1.1"; sha256="0lyrw0d7i7yn1wkqlbf3rg3dnijfwsjn3kdbsg19hmvwq6qpsak2"; depends=[matrixStats R_methodsS3]; };
+  gains = derive { name="gains"; version="1.1"; sha256="1mn8db8yxgkf8z6nm6k76g5l3i3vnw750ksg3w9ysd2pcabb65g1"; depends=[]; };
+  GAIPE = derive { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; };
+  galts = derive { name="galts"; version="1.3"; sha256="0b18hsdcsx43rn8l4x9nhy9hgggjr5b8kvjnbxrf6r23qsdk43mn"; depends=[genalg DEoptim]; };
+  gam = derive { name="gam"; version="1.09.1"; sha256="09p83ki821x57kc74klh6i1h8bz3acsrvibz3mzzcgq6sa8gzr5i"; depends=[]; };
+  gamair = derive { name="gamair"; version="0.0-8"; sha256="11qwmhrzks8gi9is2n9xcy6cviy7a8mwh2v78fw78x7g7ccd8i9x"; depends=[]; };
+  gambin = derive { name="gambin"; version="1.1"; sha256="197k8j6mvf8236gwg8vvfnskf4hic9y075chsd8214n1nk7i6jmz"; depends=[]; };
+  GAMBoost = derive { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; };
+  gamboostLSS = derive { name="gamboostLSS"; version="1.1-2"; sha256="1my718gp5wnzrpy50r9cjcjy4kbxvy0q1867n21dll6rhbxz0yil"; depends=[mboost]; };
+  gamboostMSM = derive { name="gamboostMSM"; version="1.1.5"; sha256="1n6ngbxx9f3p98jfiq4x21y0rqmhy18zyv13y8mkrz7hrchh835f"; depends=[mboost]; };
+  gamclass = derive { name="gamclass"; version="0.52"; sha256="0ypdsjmzj5vj6z5iimx1xva6pqh75s1dlaar2hkyn8zx08d0q2kh"; depends=[car mgcv DAAG MASS rpart randomForest lattice latticeExtra ape KernSmooth]; };
+  games = derive { name="games"; version="1.1-1"; sha256="05x27vivz2acp7darja0x21l29ddlav6ch6l89a9s60v52zqflik"; depends=[maxLik Formula MASS stringr]; };
+  gamlr = derive { name="gamlr"; version="1.11-3"; sha256="01mwgmmyp132d792darjrfbcihw04sy3fyw2xchshjqry616j82i"; depends=[Matrix]; };
+  gamlss = derive { name="gamlss"; version="4.3-0"; sha256="0hsywaf3ng7c8b7xcq16q1cnld7g224gwdkf7s07zlfv23v6kxs8"; depends=[gamlss_data gamlss_dist nlme MASS survival]; };
+  gamlss_add = derive { name="gamlss.add"; version="4.3-0"; sha256="0kafvrh5b60pd7vs7swd6xq9c2py6ixjrdnhq2y4w112fp86jnbp"; depends=[gamlss mgcv nnet rpart]; };
+  gamlss_cens = derive { name="gamlss.cens"; version="4.2.7"; sha256="1dy8myravipsa3cmkdwy3m46s419fhck0f0yz1kf6qlvxxr7a4m4"; depends=[gamlss gamlss_dist survival]; };
+  gamlss_data = derive { name="gamlss.data"; version="4.2-7"; sha256="0g3fmqrwxmj14r0p0ai1adq6cs3bd3ys47gjcja035xjiajg6cs2"; depends=[]; };
+  gamlss_demo = derive { name="gamlss.demo"; version="4.2-7"; sha256="1mlfkm290dk8fvfahmrr7adhw0bj4923zjs2xn0fvbj739rgv6b7"; depends=[rpanel gamlss gamlss_tr gamlss_util]; };
+  gamlss_dist = derive { name="gamlss.dist"; version="4.3-0"; sha256="1cnv7f7qwaw4fhaciw3s7xgyqa9h6v12frix6arb9nkciknb8hv5"; depends=[MASS]; };
+  gamlss_mx = derive { name="gamlss.mx"; version="4.2-7"; sha256="0k1isn2mavmwm15jk4gp9r3ks6z9pwd7k3xdsc29b9p8v8iapj4q"; depends=[gamlss nnet MASS]; };
+  gamlss_nl = derive { name="gamlss.nl"; version="4.1-0"; sha256="083l5lsb0csxcp4vffvdv2nr7jk3s2gkcavx66m8inzw16j7xilz"; depends=[gamlss survival]; };
+  gamlss_spatial = derive { name="gamlss.spatial"; version="0.1"; sha256="0lsq3lfv9gxjvnbnib551sfvcn6g9amwg51q5ipwwzh12hdl0m98"; depends=[gamlss spam mgcv]; };
+  gamlss_tr = derive { name="gamlss.tr"; version="4.2-7"; sha256="0f0vmspknkg8039dnrxkjqwjqbl34vjb5sgkcdvy5g8x8dlb5h3w"; depends=[gamlss]; };
+  gamlss_util = derive { name="gamlss.util"; version="4.2-7"; sha256="1c8xc0qf387cd9d6k9fzlwvj9735y7v6njsb5fls2fimpnd5vsik"; depends=[gamlss colorspace Matrix MASS rgenoud zoo gamlss_add spam]; };
+  gamm4 = derive { name="gamm4"; version="0.2-3"; sha256="19vy5wik9nh77cm25gp3j3j8w8vinwzx5pv90nzdzvx84yvvf0y3"; depends=[Matrix lme4 mgcv]; };
+  Gammareg = derive { name="Gammareg"; version="1.0"; sha256="1a5wibnbd8jg0v8577n1x9kc358qpd4jz7l8h7r541sdpprm6wb0"; depends=[]; };
+  gammSlice = derive { name="gammSlice"; version="1.2-6"; sha256="19443rfpk9ivv42zy5vdfhs4pcrbcn4d984xnchfbznmddilavg8"; depends=[KernSmooth lattice mgcv]; };
+  GANPA = derive { name="GANPA"; version="1.0"; sha256="0ia8djv46jm397nxjrm9yc5gacf1r4z0ckiliz57cbrqwh7z2wpa"; depends=[GANPAdata]; };
+  GANPAdata = derive { name="GANPAdata"; version="1.0"; sha256="0mhdadl7zgsacn59ym42magg3214k1xhabwn78fv7kgccszcgc86"; depends=[]; };
+  gaoptim = derive { name="gaoptim"; version="1.1"; sha256="04igpn73k6f6652y496igwypfxmz4igg4jgxx6swqyi37182rqhm"; depends=[]; };
+  gap = derive { name="gap"; version="1.1-10"; sha256="02as90x8r93mynwpa1dirp0lplc7i27ya3q7fq6zbq2xn16j4vj5"; depends=[]; };
+  gaussDiff = derive { name="gaussDiff"; version="1.1"; sha256="0fqjdxp2ibbami75ba16d02dz4rz5sk8mni45di9anydx44g9d45"; depends=[]; };
+  gaussquad = derive { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[polynom orthopolynom]; };
+  gb = derive { name="gb"; version="1.1.8-8"; sha256="18n9wqz82mjxjgzk8vc68kyz3b6lk21d2f16551d6fikjla03adf"; depends=[boot]; };
+  GB2 = derive { name="GB2"; version="1.2"; sha256="1b5mkgn8c26bmi9ndzsqqp22vxqssy4nya1yysrl5wssjgicpdzs"; depends=[cubature hypergeo laeken numDeriv]; };
+  gbm = derive { name="gbm"; version="2.1"; sha256="1a150ksvdbdv8b5f4j62q7v68sbgjvvq0izm4d877izp6d8qd99g"; depends=[survival lattice]; };
+  gbRd = derive { name="gbRd"; version="0.4-11"; sha256="06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"; depends=[]; };
+  gbs = derive { name="gbs"; version="1.0"; sha256="19zcsvd258ibrj356zlwgryjqylcs56agg3z6d44xbnf8prg05ig"; depends=[nlme]; };
+  GCAI_bias = derive { name="GCAI.bias"; version="1.0"; sha256="10092mwpmfbcga0n39a0i6g8xxch8xiwg15cckipw6yxjyx0sivc"; depends=[]; };
+  gcbd = derive { name="gcbd"; version="0.2.5"; sha256="0fkg6vk0jkl6680n1hljyv783j4hd84mql0k4pfblvqafwv4nhm3"; depends=[RSQLite plyr reshape lattice]; };
+  GCD = derive { name="GCD"; version="3.0.4"; sha256="1mrgscbrljfyzxprclyw9rcwlkcnifm15kkkapkv56c5ms2ic2i5"; depends=[sp raster ggplot2]; };
+  gcdnet = derive { name="gcdnet"; version="1.0.4"; sha256="0fmy0li06rahch4ir0xa81yilvrd0zqyhmpl4hfxjahhl3npw370"; depends=[Matrix]; };
+  gcExplorer = derive { name="gcExplorer"; version="0.9-4"; sha256="1ig5m278n8mp93z1c8z39mf1zwwlkl38csn6d6ykpnrfpa3kk65a"; depends=[flexclust flexclust modeltools]; };
+  gclus = derive { name="gclus"; version="1.3.1"; sha256="02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn"; depends=[cluster]; };
+  gcmr = derive { name="gcmr"; version="0.6.1"; sha256="0a47xpgi6bfsc0nn7vkid1q9r29h01q0vjkysaxh1i4zbmxnx5dl"; depends=[nlme sandwich geoR betareg Formula]; };
+  gconcord = derive { name="gconcord"; version="0.41"; sha256="1n3pfwk6vip19q1zhbz1n164f9vi7mig8pcd07c4wxnm5ir9dagy"; depends=[]; };
+  gcookbook = derive { name="gcookbook"; version="1.0"; sha256="0hb52zfi5bl2j0h8lazz4gzhhcvpicb4ld6xm2vkvi4cj47piyy8"; depends=[]; };
+  gdalUtils = derive { name="gdalUtils"; version="0.3.1"; sha256="1a6sg3x5yfffa9xrkvc98i2hm3lvna4jw7p89gn2bf74kzphqpmy"; depends=[sp foreach R_utils]; };
+  gdata = derive { name="gdata"; version="2.13.3"; sha256="05k5l4gz0381z89sp64xhngcsykazzznwmankwsnimx5alwrfk2m"; depends=[gtools]; };
+  g_data = derive { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
+  GDAtools = derive { name="GDAtools"; version="1.1"; sha256="0r1d98wavzwg3icr3czfzmcf1d86nwzq2s6avqkh4h0sank220wn"; depends=[FactoMineR]; };
+  GDELTtools = derive { name="GDELTtools"; version="1.2"; sha256="1rx6kjh7kmyycqapvbizcxkcfp09qvqv7k8f25v333sxkacpz6p5"; depends=[plyr TimeWarp]; };
+  gdimap = derive { name="gdimap"; version="0.1-6"; sha256="0bz7h8wxkwp8yb2qzfj1932m4b28rxlhr8939cqbzfma0zb2ywzx"; depends=[rgl oro_nifti movMF gridExtra colorspace geometry gsl abind]; };
+  gdistance = derive { name="gdistance"; version="1.1-5"; sha256="12877mg0ih346h62xa087xwbrqrjvdh0fs8avrvyy4qpqls2s7qn"; depends=[raster igraph Matrix sp]; };
+  gee = derive { name="gee"; version="4.13-18"; sha256="0zfxmjajbgr7999gbnqppq43zzk901kqra7b1d5fa2qn8js6h1ng"; depends=[]; };
+  geeM = derive { name="geeM"; version="0.7.1"; sha256="0pzvy0ga17g5v5dd2q4q7fmcwj3nws0p1cg5s0dz3azmrj7n4s31"; depends=[Matrix]; };
+  geepack = derive { name="geepack"; version="1.1-6"; sha256="0ixwrr2jjrqzh23zg9cibayinjxzgdpia9znsv7qwhc7hx23a2zm"; depends=[]; };
+  geigen = derive { name="geigen"; version="1.3"; sha256="16zz3k4j75hn1dkzydsxnk0jblka22fbww7ak9lgg1znkfws6dhk"; depends=[]; };
+  geiger = derive { name="geiger"; version="2.0.3"; sha256="1wqihvscmq44i34205fzv79wk7j2a72qd8y6ycgrv74plql0316c"; depends=[ape MASS mvtnorm subplex deSolve digest Rcpp coda]; };
+  gems = derive { name="gems"; version="0.9.5"; sha256="15n3xfhifcxmhsmc2p4ijgfd9l1pmzqj0zmh0xxi8y10ax68f524"; depends=[MASS msm mstate plyr data_table]; };
+  gemtc = derive { name="gemtc"; version="0.6"; sha256="03aw5r62577fizvbl7wpl7k3m8bxji21h8a41gl8yr4fpj0353yj"; depends=[coda igraph meta XML]; };
+  gemtc_jar = derive { name="gemtc.jar"; version="0.14.3"; sha256="18hbiygpsv67flc4v6z6mir0rfq41v1vsh11dg9phmdr8bx4kcl1"; depends=[rJava]; };
+  GenABEL = derive { name="GenABEL"; version="1.8-0"; sha256="0sd497qvik70iwv7wc8r50rhc5wx153pm8vif738wwqqp43chks3"; depends=[MASS GenABEL_data]; };
+  GenABEL_data = derive { name="GenABEL.data"; version="1.0.0"; sha256="0p66fb0gynjx3mnfvnlz45cbn6xf49gwx9mfyxf584xfcggxaa1c"; depends=[]; };
+  genalg = derive { name="genalg"; version="0.1.1.1"; sha256="0f6j3zj9frnjhs4rrcn05z2bmp6c7d1blpwjqg7ckfwk46x61app"; depends=[]; };
+  genasis = derive { name="genasis"; version="1.0"; sha256="1r0733cc2hss3f8dp19s1ji55yp72mds7p3x1zvvpiks2r7w712p"; depends=[Kendall fitdistrplus]; };
+  GenBinomApps = derive { name="GenBinomApps"; version="1.0-2"; sha256="1ps1rq8cjlwh658mysdh3xbn5fihanzcwxb38xvg4031vnwv80in"; depends=[]; };
+  gendata = derive { name="gendata"; version="1.0"; sha256="1hyyf9kpf8f0xxwwvirxlz6nw6wf2wqq5vvjnyikq5dwa7a3ngmw"; depends=[]; };
+  GENEAread = derive { name="GENEAread"; version="1.1.1"; sha256="0c3d76yl8dqclk8zhhgrd6bv6b599vkpbyg3hjspb6npdw6zs6k8"; depends=[bitops]; };
+  GeneCycle = derive { name="GeneCycle"; version="1.1.2"; sha256="1ghdzdddbv6cnxqd08amy4c4s5jsxa637r828ygffk6z76xjr6b6"; depends=[MASS longitudinal fdrtool]; };
+  GeneF = derive { name="GeneF"; version="1.0"; sha256="0bizf47944b2zv9ayxb9rhrqx0ilz2xlvkw7x5vbg7l67y2g2l4d"; depends=[]; };
+  GeneFeST = derive { name="GeneFeST"; version="1.0.1"; sha256="0qgzjzhwf3nigfi09maywg9zkjxiicwiwiyqfcdk9gsvmp6mr4qn"; depends=[BASIX]; };
+  Geneland = derive { name="Geneland"; version="4.0.4"; sha256="14crcj71i4vc48a132k024jrkwlwbrqi6jd9w3d1qsy6dn7inc0k"; depends=[RandomFields fields]; };
+  geneListPie = derive { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; };
+  GeneNet = derive { name="GeneNet"; version="1.2.10"; sha256="0gk1ndibnxyqdbd0zyrf88qd7b4wf9441d4bq2hf6fgg95sxmk5s"; depends=[corpcor longitudinal fdrtool igraph]; };
+  genepi = derive { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; };
+  GeneralizedHyperbolic = derive { name="GeneralizedHyperbolic"; version="0.8-1"; sha256="1q7bagq6c4an5jprypab5121ymich55xgyxfxnj5izihssmcwssp"; depends=[DistributionUtils RUnit]; };
+  GeneReg = derive { name="GeneReg"; version="1.1.2"; sha256="081qc66mb17dwk886x9l2z4imklxnfs02yqql0ri9c47bpsga7wp"; depends=[igraph]; };
+  geneSignatureFinder = derive { name="geneSignatureFinder"; version="2014.02.17"; sha256="1s9jj87wnzzgm9hnws09yhrxdlb6jw56i3ddwznvmh8vpzrspv4h"; depends=[survival cluster class]; };
+  genetics = derive { name="genetics"; version="1.3.8.1"; sha256="0gfbrpz0zp5bgw3s21wrhjfy70laif47wcrjrm6mjgs6xapiw790"; depends=[combinat gdata gtools MASS mvtnorm]; };
+  GeneticTools = derive { name="GeneticTools"; version="0.3"; sha256="16jqi98nvdmfbmx6z10d2kxfc9mp4zhpg22rschiy6ysp4lczs3c"; depends=[gMWT Rcpp RcppArmadillo plotrix]; };
+  GenKern = derive { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; };
+  genlasso = derive { name="genlasso"; version="1.2"; sha256="0ahkml10nvx1sfikl0ai3yfs5gzps7ss9aymsg1wy494p95riwz5"; depends=[MASS Matrix igraph]; };
+  genMOSS = derive { name="genMOSS"; version="1.1"; sha256="08d6j0iwfah1ianqdr884hh6bg04vfk4kml3clmf7vzx8wfmliy5"; depends=[]; };
+  genMOSSplus = derive { name="genMOSSplus"; version="1.0"; sha256="1n3ngx1piy3l14k5k95wrgvrjw9238jkygfqanl3xg2na2mmkr26"; depends=[]; };
+  genomicper = derive { name="genomicper"; version="1.3"; sha256="0fpvf286x0rf2mg9x82668kg5fx90arz5vf3731qinmdnnvrpziv"; depends=[]; };
+  genoPlotR = derive { name="genoPlotR"; version="0.8.2"; sha256="0q12sg13yn5f3j5gk0qzszp81x52lpwpk3z4cg0bgxi9zbwmw467"; depends=[ade4]; };
+  GenOrd = derive { name="GenOrd"; version="1.2.0"; sha256="1aypz879r2fc8zd7lnd1d2ic3zgx9gpz4gxmfqyhb5gfkg50xhlg"; depends=[mvtnorm Matrix MASS]; };
+  genridge = derive { name="genridge"; version="0.6-3"; sha256="01rjvfjmdn0hxgydvrinl4md74n0ndvqcib4m59q6f67m3qnylfr"; depends=[car]; };
+  GenSA = derive { name="GenSA"; version="1.1.4"; sha256="0ph3n0hv7p8i03by42hl0f2b1kmhpvyvd7rfgay2wl9lknfsq0vv"; depends=[]; };
+  gensemble = derive { name="gensemble"; version="1.0"; sha256="0yyi7djzqx4yhxp6yy1rjgvzidjlna79ds89bgj6m6zj3aav6yw2"; depends=[]; };
+  genSurv = derive { name="genSurv"; version="1.0.2"; sha256="0hvkrlcl8jrj0x0ixrl34484p9kxlwxfaa64ynz6jf3dcyghp9l0"; depends=[]; };
+  geoCount = derive { name="geoCount"; version="1.131209"; sha256="0v9nsqhwf58czq4vh9f2yim2r7w9sfx9g9hp4jdbfy4q7jc5m02a"; depends=[Rcpp RcppArmadillo]; };
+  GeoDE = derive { name="GeoDE"; version="1.0"; sha256="0wawkzj0344pprm8g884d7by8v74iw96b109rgm7anal48fl30im"; depends=[Matrix MASS]; };
+  GeoGenetix = derive { name="GeoGenetix"; version="0.0.2"; sha256="0rrc8rdf6whpd830s2g9ybz82jcd0il9kkfrjh3xza3b86fasdvg"; depends=[RandomFields]; };
+  GeoLight = derive { name="GeoLight"; version="1.03"; sha256="0l2p4rcmk33dj31xy06652mn05d2dhnny3xpzcf12kxyflpipdgr"; depends=[maps changepoint]; };
+  GEOmap = derive { name="GEOmap"; version="2.2-2"; sha256="1kp9sdp51zcz98bk03pknya9g5fhz2i677wgacabq402yjhfgn80"; depends=[RPMG splancs MBA]; };
+  geomapdata = derive { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
+  geometry = derive { name="geometry"; version="0.3-4"; sha256="1rplvy7528v270c4pdxxb34h7mfdd6141dnb9aw59xc0sd9cx0lv"; depends=[magic]; };
+  geomorph = derive { name="geomorph"; version="2.1.1"; sha256="12w5d7m6kg1pl42g21zfgk9by77wak82z8k0xh4zlbwiy8zv30z6"; depends=[rgl jpeg vegan ape geiger phytools]; };
+  geonames = derive { name="geonames"; version="0.996"; sha256="14fgwhg8c7aagrp1c1yc80hjr06z8ldr85v27gn1nnikvz71idgy"; depends=[rjson]; };
+  geophys = derive { name="geophys"; version="1.3-6"; sha256="1yfhilgc2nv5jfp0n7iah0wl041an2850c2qnzrvx0vv9fywgw9g"; depends=[RPMG RSEIS RFOC GEOmap cluster]; };
+  geoR = derive { name="geoR"; version="1.7-4"; sha256="00868h4rvw923n2b7v191rcr10vyyljxzg3dl7hgc7al1c98gjwq"; depends=[sp MASS splancs RandomFields]; };
+  geoRglm = derive { name="geoRglm"; version="0.9-4"; sha256="1wzq8p4xi40j4cagg7ji8qz9kynrwlyrlcvv0358pbl19nvg7hxb"; depends=[geoR]; };
+  georob = derive { name="georob"; version="0.1-4"; sha256="0a68r63adya3syf8fc1ha90x8587r2hp5w44na4gvnr9rs883f1i"; depends=[sp constrainedKriging lmtest nlme nleqslv quantreg RandomFields robustbase]; };
+  geoscale = derive { name="geoscale"; version="1.1"; sha256="1xmn8y33jz1f16sjbzrld20gy7w54awrr79lhs9s4r8k1gmn0zqg"; depends=[]; };
+  geospacom = derive { name="geospacom"; version="0.5-7"; sha256="00yi2wwnjh2z8xhzfbp1jhh5fhq2z885s0gv937xsin4a63m76fd"; depends=[rgeos classInt sp maptools geosphere]; };
+  geosphere = derive { name="geosphere"; version="1.3-8"; sha256="1ldg3lrz9plhr5b1dgnc2nj5srpv23xxma83kcd7aicll4x1jmbw"; depends=[sp]; };
+  geospt = derive { name="geospt"; version="0.5-0"; sha256="0bpflmj1kx2fph5b9dfy57bxdqjhpwnn8050k8afky5fmiwzm708"; depends=[geoR gstat genalg limSolve MASS plyr TeachingDemos gsl]; };
+  geostatsp = derive { name="geostatsp"; version="0.9.999"; sha256="0qrcfgyv4g6vmz3623mlh2ad31hw6k82xjlsmcgab3d4mzk0q7qx"; depends=[Matrix raster sp]; };
+  geotools = derive { name="geotools"; version="0.1"; sha256="0d0vf9dvrrv68ivssp58qzaj8vra26ms33my097jmzmgagwy1spd"; depends=[]; };
+  geotopbricks = derive { name="geotopbricks"; version="1.3.5.4"; sha256="065h5dd7qxjydblgkgj2amz8krscgf7ds61b923w3b4biin4s4q4"; depends=[raster stringr zoo]; };
+  GeoXp = derive { name="GeoXp"; version="1.6.2"; sha256="18wdmdwb79ipdjdii068dz9f55b5ldxn95g5q6jcxsqwp0wldvw8"; depends=[quantreg rgl spdep KernSmooth rgeos robustbase splancs]; };
+  geozoo = derive { name="geozoo"; version="0.4.3"; sha256="0nmmmyk0ih5aqpsn7ip4dhgfm7jhcnca8pigyr9794b110icq1rv"; depends=[bitops]; };
+  GESTr = derive { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[mclust gtools]; };
+  getopt = derive { name="getopt"; version="1.20.0"; sha256="00f57vgnzmg7cz80rjmjz1556xqcmx8nhrlbbhaq4w7gl2ibl87r"; depends=[]; };
+  GetoptLong = derive { name="GetoptLong"; version="0.0.5"; sha256="1aygm6h4mqac6h4scss3c2p3snyl2lmd8lnw034rakz2azj8j0by"; depends=[rjson]; };
+  GetR = derive { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; };
+  gettingtothebottom = derive { name="gettingtothebottom"; version="3.0"; sha256="0n3d8xx4pwh4bps6jkfj4g8mpknj0lsfk03bayhvil744r5jnrn7"; depends=[ggplot2 Matrix lpSolve reshape2]; };
+  GEVcdn = derive { name="GEVcdn"; version="1.1.3"; sha256="13p6hkdybs8s2i363z2a65yijqarwj9swvy22ljk61shf2nzbk80"; depends=[VGAM]; };
+  GEVStableGarch = derive { name="GEVStableGarch"; version="1.0"; sha256="007s7lbfpp1bqnyg08rwarsmkxlx16p4is1k3736fmnri9sfp7z6"; depends=[fGarch fExtremes stabledist skewt Rsolnp]; };
+  GExMap = derive { name="GExMap"; version="1.1.3"; sha256="1a6i2z9ndgia4v96nkr77cjqnbgxigqbqlibg82gwa0a6pl7r7nz"; depends=[]; };
+  gfcanalysis = derive { name="gfcanalysis"; version="1.1"; sha256="1z29y6gx0b9b9h6939vb9pqplcjhi0xb5l3bgjybjad01p2dnqas"; depends=[raster rgdal geosphere RCurl rgeos plyr ggplot2 sp stringr animation rasterVis]; };
+  GGally = derive { name="GGally"; version="0.4.7"; sha256="1wbpl47ha6q6si4xyfx0i019wagn2ka1zyfhblvjcj9hhcvzz6m9"; depends=[ggplot2 gtable plyr reshape stringr]; };
+  ggdendro = derive { name="ggdendro"; version="0.1-14"; sha256="0x6bl0v2lkiybc5pdrcak5cslhaw7cxhh6imsrvdhcrzdr4cc45s"; depends=[MASS ggplot2]; };
+  GGEBiplotGUI = derive { name="GGEBiplotGUI"; version="1.0-8"; sha256="0bkagsm9mkcghc2q46cc86kjajzgjbq9588v0v2bp71qw8m97mbh"; depends=[rgl tkrplot]; };
+  ggHorizon = derive { name="ggHorizon"; version="0.1"; sha256="0k617qnfqdl9w2hdwppkrgl51krnwpdf0gahzvivcwzynbmywc37"; depends=[ggplot2 plyr RColorBrewer proto]; };
+  GGIR = derive { name="GGIR"; version="1.0-4"; sha256="09fqw4al4bn87h9543ais634crk9mzvfzdgp25gwy7lhpwzdl2y0"; depends=[GENEAread matlab]; };
+  gglasso = derive { name="gglasso"; version="1.2"; sha256="0bn56axyr741qdj5pxzbwaqjb7mp727ph67ng5d6ibsz1z2bh7pk"; depends=[]; };
+  ggm = derive { name="ggm"; version="2.1"; sha256="1m2p5cn7lfy4757rspp3d3jnphjp5vh3lvrim1lxlda577kpdmnf"; depends=[igraph]; };
+  ggmap = derive { name="ggmap"; version="2.3"; sha256="0sl3jkifba3q0khl5sg2nf08kgn1pirw5a1xag07za51sqda5b5q"; depends=[ggplot2 proto scales RgoogleMaps png plyr reshape2 rjson mapproj]; };
+  ggmcmc = derive { name="ggmcmc"; version="0.5.1"; sha256="17pmb2kfrjc2s538my8finr029vy1npzk44626xvznf6bf6bv895"; depends=[plyr reshape2 ggplot2]; };
+  GGMselect = derive { name="GGMselect"; version="0.1-8"; sha256="1chmyzbn85c5z5b8lvgqpr7knwg25dm7qbb4nhivcdr6ipd1dqr0"; depends=[mvtnorm lars gtools]; };
+  ggparallel = derive { name="ggparallel"; version="0.1.1"; sha256="1z8w4bm4ahmmwbr87qlqhm8jlrqf7dhdvm1cf0xrwjlkmy6dqjvg"; depends=[ggplot2 reshape2 plyr]; };
+  ggplot2 = derive { name="ggplot2"; version="1.0.0"; sha256="138rxp8zr0x945ajmhg35x35xs0ci743iqhffqy90c7hcn0gpvz6"; depends=[plyr digest gtable reshape2 scales proto MASS]; };
+  ggROC = derive { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
+  ggsubplot = derive { name="ggsubplot"; version="0.3.2"; sha256="1rrq47rf95hnwz8c33sbnpvc37sb6v2w37863hyjl6gc0bhyrvzb"; depends=[ggplot2 plyr proto scales stringr]; };
+  ggtern = derive { name="ggtern"; version="1.0.3.2"; sha256="05nh8610l5lw41wkidl2m78nqyfbc7faiawpc442lin3qxrj64bq"; depends=[ggplot2 plyr gtable scales reshape2 proto MASS sp]; };
+  ggthemes = derive { name="ggthemes"; version="1.7.0"; sha256="1wfqh3mq4hyyfgvw99bq1s8qxvl3qasa8qcikfhbp2ky898w5npb"; depends=[ggplot2 colorspace proto scales]; };
+  ggvis = derive { name="ggvis"; version="0.3.0.1"; sha256="0fx39j7vg9r4a7ni9nnq7x7s93lfzbbsg4zsbb6x429hyawvcj8x"; depends=[assertthat RJSONIO shiny magrittr dplyr htmltools]; };
+  GhcnDaily = derive { name="GhcnDaily"; version="1.5"; sha256="1gln1giid5n5b9mxidh90l8ahvcgx968zak2lxr2f9c32pnrpmnp"; depends=[R_utils R_oo R_methodsS3 abind ncdf]; };
+  GHQp = derive { name="GHQp"; version="1.0"; sha256="0qpcpwv7rz67qhz1p5k2im02jvs7l8z9sa6ypz13hig5fzm8j9bp"; depends=[statmod]; };
+  ghyp = derive { name="ghyp"; version="1.5.6"; sha256="0y3915jxb2rf01f7r6111p88ijhmzyz4qsmy7vfijlilkz0ynn20"; depends=[numDeriv gplots]; };
+  GibbsACOV = derive { name="GibbsACOV"; version="1.1"; sha256="1ikcdsf72sn1zgk527zmxw3zjhx0yvkal6dv001cgkv202842kll"; depends=[MASS]; };
+  gibbs_met = derive { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; };
+  GIGrvg = derive { name="GIGrvg"; version="0.3"; sha256="014srgh79g8y9fcj979v3md9qqx9i6b6fx6lw0r0qdrg4v6bvr76"; depends=[]; };
+  GillespieSSA = derive { name="GillespieSSA"; version="0.5-4"; sha256="0bs16g8vm9yrv74g94lj8fdfmf1rjj0f04lcnaya7gyak3jhk36q"; depends=[]; };
+  gIPFrm = derive { name="gIPFrm"; version="2.0"; sha256="1syjsnna7b7y27yf7zsxjwq8z5f4wxf2hfadhgjaw898gvfcnrbc"; depends=[]; };
+  giRaph = derive { name="giRaph"; version="0.1.2"; sha256="137c39fz4vz37lpws3nqhrsf4qsyf2l0mr1ml3rq49zz4146i0rz"; depends=[]; };
+  GISTools = derive { name="GISTools"; version="0.7-2"; sha256="1n1zzi25xx320gwmsn5rj8c3m1wqwmjbzf32krdzmaqiwvhf7c1b"; depends=[maptools RColorBrewer MASS rgeos]; };
+  gitter = derive { name="gitter"; version="1.0.4"; sha256="1pvl8k8mb15mcfz1074y246s9basmi5vbpw2n1ca0d8wm5wdidap"; depends=[jpeg tiff logging PET ggplot2]; };
+  Giza = derive { name="Giza"; version="1.0"; sha256="13nkm8mk1v7s85kmp6psvnr1v97vi0gid8rsqyq3x6046pyl5z6v"; depends=[reshape lattice lattice]; };
+  glarma = derive { name="glarma"; version="1.2-0"; sha256="1zci132hz11y8j2jvakzqsxddihqr88y09bd7fx5xzipm7iaa7yq"; depends=[MASS]; };
+  glasso = derive { name="glasso"; version="1.8"; sha256="0gcapw7kyxb19wvdyxq1vsmc5j7yyd0rvqxs2i71k31q352sg6zw"; depends=[]; };
+  glassomix = derive { name="glassomix"; version="1.2"; sha256="13a2ly0by58z8djq8nbakpyacgb6nkdsqxjq44yw4v2fy3s22z3n"; depends=[mvtnorm glasso huge]; };
+  glcm = derive { name="glcm"; version="0.3.2"; sha256="1kipm2z1q47ban6yah6hxkaa9fvkw990hn9c02bywf80wg16770n"; depends=[Rcpp]; };
+  gld = derive { name="gld"; version="2.2.1"; sha256="1x9xlqj87xmk90hn20k1yvnvyndxdbi67yrxrfdhr3lhxabq5msw"; depends=[]; };
+  GLDEX = derive { name="GLDEX"; version="2.0.0.0"; sha256="0pskh9wa32im6wrjkqkxczfsds71mx2435yhn7vrna4vzyc2xdvb"; depends=[cluster]; };
+  gldist = derive { name="gldist"; version="2160.2"; sha256="1dcf3pb4xqvhqj4m3xc3ihzjbzxjspjrnc8819hmlnmdd0csghmx"; depends=[]; };
+  glinternet = derive { name="glinternet"; version="0.9.0"; sha256="0qihlzdb9ifqlyx5l34vkwi6z59xd7wbl72a3pj725n9kkk7bmig"; depends=[]; };
+  gllm = derive { name="gllm"; version="0.35"; sha256="1m9asamh2yha9q8mrllvvc9qj2im6cspvfpafzc8krmh17zq4ins"; depends=[]; };
+  glm2 = derive { name="glm2"; version="1.1.2"; sha256="1x9pq2ddsz9al8w044qch34s3fahca63dz85lvm5qn16945ccw1s"; depends=[]; };
+  glmc = derive { name="glmc"; version="0.2-4"; sha256="03m1ym9w0b0gqib13pnh1yrjijlcwsn5lijg0nsr4hd6gxw29cla"; depends=[emplik]; };
+  glmdm = derive { name="glmdm"; version="2.60"; sha256="09vljki24fccqkvxkmg2i6a8pxqhfwm155b41m2q51lqaq29bfw7"; depends=[]; };
+  glmlep = derive { name="glmlep"; version="0.1"; sha256="0jnm3cf2r9fyncxzpk87g4pnxbryqcxxrc5y2a80pv48al3sxlzk"; depends=[]; };
+  glmmBUGS = derive { name="glmmBUGS"; version="2.3"; sha256="1j96c1c2lqplhjvyigpj494yxj85bpmc7cnd1hl1rc8b552jr192"; depends=[MASS abind]; };
+  glmmGS = derive { name="glmmGS"; version="0.5-1"; sha256="1aqyxw3nrjri8k8wlwvddy25dj7mjqndssd5p5arax8vaqgrdnjz"; depends=[]; };
+  glmmLasso = derive { name="glmmLasso"; version="1.3.1"; sha256="07i5bnaj3is8ag8gqzpma4kzfk33f11k9r30cdwzx8sp2xfh16gr"; depends=[minqa]; };
+  glmmML = derive { name="glmmML"; version="1.0"; sha256="0b1q5mj325xga3lfks28r03363bjfa31rlgjzwk4s0a6g21bdl4a"; depends=[]; };
+  glmnet = derive { name="glmnet"; version="1.9-8"; sha256="1ndaq6qbn8vxs7ha4x9k0qcblr1byixvrhh572794xzgdn548prm"; depends=[Matrix]; };
+  glmnetcr = derive { name="glmnetcr"; version="1.0.2"; sha256="1pyg23hdqksiaqdcrsaqz9vb7mgclm41hh0vb7ndkdv284bzzlbz"; depends=[glmnet]; };
+  glmpath = derive { name="glmpath"; version="0.97"; sha256="054v188ffjl6x11cld5s9py22kxcs0iq58x4yhxb0ny7mbma5hkn"; depends=[survival]; };
+  glmpathcr = derive { name="glmpathcr"; version="1.0.3"; sha256="0qa63c7kwpxf6smczgzf4fmvczw1ynqq5vgcw3bxdbs37q4ypj8n"; depends=[glmpath mvtnorm]; };
+  glmperm = derive { name="glmperm"; version="1.0-5"; sha256="1m6nxk9k5qjmq4kvv1nv7n51hagwxi97pd5a3wgiky3wml4aa2nw"; depends=[survival]; };
+  glmulti = derive { name="glmulti"; version="1.0.7"; sha256="154s72sjp6pz7ki7s4mgn5v62j7h0lfz9mngf40wvmy31da2s8ix"; depends=[rJava]; };
+  glmx = derive { name="glmx"; version="0.1-0"; sha256="0i0p1xk5yk1l274gfr4ijmqnnbq7yyzmi577pb7igwvi3hjn7g7k"; depends=[MASS Formula lmtest sandwich]; };
+  globalboosttest = derive { name="globalboosttest"; version="1.1-0"; sha256="1k7kgnday27sn6s1agzlj94asww81655d2zprx6qg7liv677bxvf"; depends=[mboost survival]; };
+  GlobalDeviance = derive { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; };
+  globalGSA = derive { name="globalGSA"; version="1.0"; sha256="1f3xv03m6g2p725ff0xjhvn2xcfm7r7flyrba080i4ldy6fd8jg8"; depends=[]; };
+  globalOptTests = derive { name="globalOptTests"; version="1.0"; sha256="0vmly1mh8k5aihlwxfp30gj0qdrwfx2b9bcbs8ccrpfhgcvacnr9"; depends=[]; };
+  glogis = derive { name="glogis"; version="0.1-1"; sha256="02wdncycmnsvj09d1032cns3xbrh92ki5zn9sa3gscw1xzz0yzh6"; depends=[zoo sandwich]; };
+  glpkAPI = derive { name="glpkAPI"; version="1.2.10"; sha256="0xlgccb77xgscfg46pxxcz5k9gm8a913xgp48dfmxw31n7ynckml"; depends=[]; };
+  GLSME = derive { name="GLSME"; version="1.0.1"; sha256="0v1d8jpjg0gpsvscx6gna4hi9pxr762bjf77hnla30hwfc0a95a2"; depends=[mvtnorm corpcor]; };
+  gmailr = derive { name="gmailr"; version="0.0.1"; sha256="0i87bgjzfd69s2cihvpilvl8nvw993cfsya3bz14fyvplvzf41lx"; depends=[httr base64enc jsonlite]; };
+  gmatrix = derive { name="gmatrix"; version="0.1"; sha256="06fbqixjbpxm4k6l132krbmk2jvh4r2s64nlbi9gb3whq55pf4ih"; depends=[]; };
+  GMCM = derive { name="GMCM"; version="1.0.1"; sha256="0vy4givxvppjc2r6s4q8yz86xzaw059fl1vjv0ni0hlbxz4dbb96"; depends=[mvtnorm Rcpp]; };
+  gMCP = derive { name="gMCP"; version="0.8-6"; sha256="1pr40k4qj4yy9hcp2zx8x4dys9vav7gk4164999wg4psp7f06va0"; depends=[rJava JavaGD MASS PolynomF multcomp mvtnorm Matrix CommonJavaJars]; };
+  GMD = derive { name="GMD"; version="0.3.1.1"; sha256="1vpapfnkn5gfqy033qirblx7xkbh52nw95sxw10v4aajddy0dyx9"; depends=[gplots]; };
+  Gmisc = derive { name="Gmisc"; version="0.6.7"; sha256="15bgkgxqmgg81ry3ssx1darspmyhpzfcnkhkprqf495c07sh94jb"; depends=[Hmisc stringr lattice sp]; };
+  gmm = derive { name="gmm"; version="1.5-0"; sha256="071i2bk73z606yb6a3vrv4cfyvgfwkrirm09i7bg2l3y2is1dfgj"; depends=[sandwich]; };
+  GMMBoost = derive { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[minqa magic]; };
+  gmodels = derive { name="gmodels"; version="2.15.4.1"; sha256="1yizjw181bg0ml6j96calflz3k3wpvpxh61hfd3pdba013ixjib5"; depends=[MASS gdata]; };
+  gmp = derive { name="gmp"; version="0.5-12"; sha256="10fpvcli526a8j6jaryn0mwk78c24xy7whdpcvqzzvb41l6nnkma"; depends=[]; };
+  gmt = derive { name="gmt"; version="1.2-0"; sha256="09az2iwwhyrls4mr619vwzhzmaks6klm67lnir48bh40hynsvibp"; depends=[]; };
+  gMWT = derive { name="gMWT"; version="0.9"; sha256="0c91bwwfm0qyqrrd3n9g6l8kackqm58hmamypn1awzpz1p13axyv"; depends=[clinfun Rcpp RcppArmadillo]; };
+  GNE = derive { name="GNE"; version="0.99-0"; sha256="1iwlh1mx8z24hgry78i5sqfrbqqp4946x1jxh6h7z1vxs7qfpq0v"; depends=[alabama nleqslv BB SQUAREM]; };
+  gnm = derive { name="gnm"; version="1.0-7"; sha256="1jnh39i4462ky9vwnrlwq30d8qbp0jg73p8mwm6hnl8sdh53nkr1"; depends=[MASS Matrix nnet qvcalc relimp]; };
+  gnmf = derive { name="gnmf"; version="0.7"; sha256="00y1dx1c66gv769yiwnb91xbr77wpidf36x0n0dzaqfn7s9yh6xq"; depends=[]; };
+  gnumeric = derive { name="gnumeric"; version="0.7-2"; sha256="14c7a8aiqvqfbrjb1akpfjwidrzdhrw8a07ask083krki6vbi7hh"; depends=[XML]; };
+  goalprog = derive { name="goalprog"; version="1.0-2"; sha256="1h3nd3d53hbz5hl3494lpfjnp1ddklc17nhgw18362jd1nk14awy"; depends=[lpSolve]; };
+  gof = derive { name="gof"; version="0.9.1"; sha256="1s12gga9d6yizn2y7lzql4jd80lp5jpyml8ybn7xqswp8am82vpg"; depends=[]; };
+  GoFKernel = derive { name="GoFKernel"; version="2.0-3"; sha256="1ddnm7r48ya9rgna9jvf9mpk3bkn6954rr4rwsimybcp758b4ilv"; depends=[KernSmooth]; };
+  goft = derive { name="goft"; version="1.0"; sha256="061x6mnzidmnza9q7z2ikik9zrn434yjx1690bxbh41ckvb92hnx"; depends=[gPdtest mvShapiroTest]; };
+  goftest = derive { name="goftest"; version="1.0-2"; sha256="11xw0cfj71z5smywsds9ijbhf3glxkqnhxmwwdqkv4gjrrr2y1bv"; depends=[]; };
+  GOGANPA = derive { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; };
+  gogarch = derive { name="gogarch"; version="0.7-2"; sha256="03gpl73zc6kx4gni59xbg7b38dkpd7p4c7kvlqm46f58j257viik"; depends=[fGarch fastICA]; };
+  googlePublicData = derive { name="googlePublicData"; version="0.12.05"; sha256="01wilag2h55zdxxim2h06k0l93csi2nl7iqjnmk4yf9ayz226bc8"; depends=[XML XLConnect]; };
+  googleVis = derive { name="googleVis"; version="0.5.4"; sha256="0182bspqyg91ckczlq3p48basak12vcsj6nzgv7yljzzan0yx2sr"; depends=[RJSONIO]; };
+  gooJSON = derive { name="gooJSON"; version="1.0.01"; sha256="02sldh5lsrjprc9mbf99jyid7ij62db5f1h60z719gxl4pk6fjms"; depends=[rjson]; };
+  goric = derive { name="goric"; version="0.0-7"; sha256="199scq0ii2l2jgxm634n9vs4w4zxq5scyc4ssab8m6yg4z8v45xp"; depends=[mvtnorm quadprog Matrix nlme MASS]; };
+  GOsummaries = derive { name="GOsummaries"; version="1.1"; sha256="1lkaid88lrm2xyz62xx32xnpch9qlhb3lif9jmk2zaym1d53558a"; depends=[ggplot2 Rcpp plyr gProfileR reshape2 gtable]; };
+  govStatJPN = derive { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; };
+  gpairs = derive { name="gpairs"; version="1.2"; sha256="09mkdbs9hklxnmqcsnf65s3dfsfcr7kppp6zxj08v5hxym1gpz3l"; depends=[barcode lattice vcd MASS colorspace]; };
+  GPArotation = derive { name="GPArotation"; version="2012.3-1"; sha256="1kvd6djsr6vdjd228i03d914n77sd5sym7dl5lbaq76bgmqfhr77"; depends=[]; };
+  gPCA = derive { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; };
+  gpclib = derive { name="gpclib"; version="1.5-5"; sha256="08j81b8wymsgin20n54gvm6m54rmdic51p6qzs9cz4pmgl7dkkjv"; depends=[]; };
+  GPCSIV = derive { name="GPCSIV"; version="0.1.0"; sha256="118l792mwd54xsi3g8afg3vc6wds8j6fyaz3mwmq04mlcyblym4l"; depends=[scatterplot3d sqldf]; };
+  gPdtest = derive { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; };
+  GPFDA = derive { name="GPFDA"; version="2.1"; sha256="05al7s49zcxhww8zirh2p2bk7yl262sl3sb2zzyisn8fnwn46iyk"; depends=[fda_usc spam MASS]; };
+  GPfit = derive { name="GPfit"; version="0.2-0"; sha256="16r3lqgkqb90w2hcf4ha3jczmrycagw3vmqknq32ly2a025n9gv9"; depends=[lhs lattice]; };
+  gpk = derive { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; };
+  gplm = derive { name="gplm"; version="0.7-2"; sha256="0pr39fbkv61iwd110lq76p2fi4dvx9qz6mjsvg6bpja9pfbb6wc0"; depends=[AER]; };
+  gplots = derive { name="gplots"; version="2.14.1"; sha256="1xmn29jsmkzbz5lazaxqq79kb58n2rlicns4ifsg45x8ypj1mqjn"; depends=[gtools gdata caTools KernSmooth]; };
+  GPLTR = derive { name="GPLTR"; version="0.95"; sha256="0fm260pwg66j91hddyql95lvvcpzvvbi3hddwzrk1bhyrgd8kj55"; depends=[rpart]; };
+  gpmap = derive { name="gpmap"; version="0.1.1"; sha256="00jhslbxbp6dgq7bw346hfpw0gans048vsn7chyzjhyr7ah5xrfg"; depends=[isotone plyr ggplot2 foreach]; };
+  gpr = derive { name="gpr"; version="1.1"; sha256="03ywik11kc6cnaqrzzzi94jkrdbd378m3sf26f2vpb7d834nl728"; depends=[]; };
+  gProfileR = derive { name="gProfileR"; version="0.5"; sha256="0jadfj2hcn3zx4ph61685p5iz16330jccp5ipi8183dkcybvimw4"; depends=[RCurl plyr]; };
+  GPseq = derive { name="GPseq"; version="0.5"; sha256="0k5xif44qk2ppvcyja16xshmfciq1h84l1w6d8dfkyryfajbc8ai"; depends=[]; };
+  gptk = derive { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[Matrix fields]; };
+  gputools = derive { name="gputools"; version="0.28"; sha256="0ria03ggcfqgn93gjv2anhvkd3k73c6vfwgka16kf66g1nfzxs4l"; depends=[]; };
+  GPvam = derive { name="GPvam"; version="3.0-2"; sha256="160j0zwbcmvzvia1b5p5midf395xfv1frk2w6w3v2zpbn8h6pdz5"; depends=[Rcpp RcppArmadillo Matrix numDeriv]; };
+  grade = derive { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
+  GRaF = derive { name="GRaF"; version="0.1-12"; sha256="1d7mr2z49v6ch4jbzh0dj2yjy2c5p51ws38xfz233sjz475snajr"; depends=[dismo]; };
+  gRain = derive { name="gRain"; version="1.2-3"; sha256="0cxlni9b4p4g02zhhsbbpkwhx9y3x83vm7qd6lsca02yi96palsi"; depends=[gRbase igraph]; };
+  gramEvol = derive { name="gramEvol"; version="1.1-1"; sha256="026sy3p1b6hy5xkg70zw6bb56i7qpadqs2ndym9ddznh09mk1fsj"; depends=[]; };
+  GrammR = derive { name="GrammR"; version="1.0.0"; sha256="1j1k891cn9fyyp1nfyj6hjcz87qflipfwd9f9zg5s8y4jf0i9a7g"; depends=[gWidgets RGtk2 gWidgetsRGtk2 MASS cluster rgl GUniFrac ape]; };
+  granova = derive { name="granova"; version="2.0"; sha256="02jk6p0y29z09l2d35flyrx1g0b4vjpwv99v46pi4kdkiv50508x"; depends=[car]; };
+  granovaGG = derive { name="granovaGG"; version="1.2"; sha256="0gy8ba1zlm62f458sxrph3cyz4c6nqkaddm6nwj54nyicxqah32h"; depends=[ggplot2 RColorBrewer plyr gridExtra reshape2]; };
+  gRapfa = derive { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; };
+  gRapHD = derive { name="gRapHD"; version="0.2.4"; sha256="0fxd04s6zh23chks4k6nwb5w408xjy89b44pa42kv6qnqj86ylvm"; depends=[]; };
+  GrapheR = derive { name="GrapheR"; version="1.9-84"; sha256="1wwks2a4vzhj1rcspizp1vadl6kvrqr8s4zd6pghj02nd266znk9"; depends=[]; };
+  graphicsQC = derive { name="graphicsQC"; version="1.0-5"; sha256="1h0qrf47r16np1ysymvlvvb95a8w86brh440kk20ajhbr5njp6kz"; depends=[XML]; };
+  GraphPCA = derive { name="GraphPCA"; version="1.0"; sha256="17ipcp7nh47lfs9jy1aybpz4r172zj5yyrdrgmd6wa7hax8yv8gg"; depends=[ggplot2 FactoMineR scatterplot3d scales]; };
+  GrassmannOptim = derive { name="GrassmannOptim"; version="2.0"; sha256="05r5zg4kf3xd6pp56bl8ldchdxvspxkdfd33b623hndjhn4lj2lq"; depends=[Matrix]; };
+  gRbase = derive { name="gRbase"; version="1.7-0.1"; sha256="1x52i4c5jbry17y1pfnjq03kz4xxnk3anidva41z5alp7c73zlqv"; depends=[Matrix igraph Rcpp]; };
+  gRc = derive { name="gRc"; version="0.4-1"; sha256="1a6q24yj7js1sk0lfqbm7kdv605cby6i711w4dlygsxdvwxbrsdr"; depends=[gRbase]; };
+  greport = derive { name="greport"; version="0.5-1"; sha256="0l88w78djgyzd8ma3b61xkjsr76xlxzc3ibhzh6xz389knn3vfl5"; depends=[Hmisc data_table rms lattice latticeExtra Formula survival]; };
+  Grid2Polygons = derive { name="Grid2Polygons"; version="0.1-4"; sha256="00qnvi5f5mywknir67rbn36hz8s1x71y1jkkj4nrp60d15vh6hk7"; depends=[sp rgeos]; };
+  gridBase = derive { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
+  gridDebug = derive { name="gridDebug"; version="0.4-0"; sha256="1nbcdjip6ghnlv0j7cf45bpqdpirwn636pg324f0hgiqj4rifn09"; depends=[gridGraphviz gridSVG]; };
+  gridExtra = derive { name="gridExtra"; version="0.9.1"; sha256="15pj5w5wlrf8gw4z01i9j88gk6bm4kni64fpip9icmxkn887y3hx"; depends=[]; };
+  gridGraphviz = derive { name="gridGraphviz"; version="0.1"; sha256="14zcr0w2c9cgdw6ij93w52k3bkmgdmx809snh9jjf2amy08p2gbg"; depends=[]; };
+  gridSVG = derive { name="gridSVG"; version="1.4-0"; sha256="0ch1waz2z60a7ivn63nf1418kgypr0nv8vr3ak3my0i7gdgny2pc"; depends=[RJSONIO XML]; };
+  GriegSmith = derive { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; };
+  gRim = derive { name="gRim"; version="0.1-17"; sha256="0vn031r318kp78cx00n43fc42bv6sjyb8dm6q0l08s0g9n2w17dp"; depends=[gRbase gRain igraph]; };
+  grImport = derive { name="grImport"; version="0.9-0"; sha256="1d8fd7502qj7cirjqdkr1qj51rylw2fz5hs06avfvc2dxs2xwfw1"; depends=[XML]; };
+  grnn = derive { name="grnn"; version="0.1.0"; sha256="1dxcmar42g9hz4zlyszlmmnnsnja0gxfggav5jxv0gkp32rkd0wh"; depends=[]; };
+  groc = derive { name="groc"; version="1.0.4"; sha256="1v32gwr8ghv47dmzp1x02n3aaqv3cfywh7xzx2486v4p960s42gc"; depends=[rrcov pls mgcv robust robustbase MASS]; };
+  grofit = derive { name="grofit"; version="1.1.1"; sha256="0m0phd5irk007k2kpxlsg03g7939nndf363fmkcxffykvp0023hz"; depends=[]; };
+  grouped = derive { name="grouped"; version="0.6-0"; sha256="1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976"; depends=[MASS]; };
+  GroupSeq = derive { name="GroupSeq"; version="1.3.2"; sha256="16n06jw7f97jhafgl9sfvd163v1walhlpmai1hmhiwjvv341sp13"; depends=[]; };
+  growcurves = derive { name="growcurves"; version="0.2.3.9"; sha256="1f8hh8ppp6bgrb8crm46xrria3vdnz62aya9lhwcdaggfmy7j25l"; depends=[Rcpp RcppArmadillo reshape2 scales ggplot2 Formula testthat]; };
+  growfunctions = derive { name="growfunctions"; version="0.1"; sha256="0r11grbxbmdx2yg2jh22rf0frg7jz0w7n5d7mbhn16fwnkm3y9mw"; depends=[Rcpp Matrix spam mvtnorm ggplot2 reshape2 scales]; };
+  growthmodels = derive { name="growthmodels"; version="1.2.0"; sha256="1wy5z77819s3daa0mifafcjfkggsq0ac522yagj86ml3vf7yqppj"; depends=[]; };
+  growthrate = derive { name="growthrate"; version="1.2"; sha256="05a2g3lcw4c0r3hykk5lsxmx2s1lp1fsjjxmip75dhid969sagcs"; depends=[Matrix clime mvtnorm]; };
+  grplasso = derive { name="grplasso"; version="0.4-3"; sha256="1v15x0kbzfvl3ygbrsxqgj3mz6a107bfvanbymh0hs7668b1zkab"; depends=[]; };
+  grppenalty = derive { name="grppenalty"; version="2.1-0"; sha256="12hbghmg96dwlscjy6nspgkmqqj4vwq2qcwcz1gp50a08qbmdcrk"; depends=[]; };
+  grpreg = derive { name="grpreg"; version="2.6-0"; sha256="1j112c96milqnd34dmznm1x7i02ydh484msd6vm98daghb42dzsg"; depends=[Matrix]; };
+  grt = derive { name="grt"; version="0.2"; sha256="0cqjk7yqk2ryx1pgvjd3x8l25hqv92p8rvdr7xw4jkzillllwmhz"; depends=[MASS rgl misc3d]; };
+  GRTo = derive { name="GRTo"; version="1.2"; sha256="0x65g8a39vrb8m3hqajxi0ksmdavz0p6mlamqprkdn9p6ikf5c73"; depends=[bootstrap]; };
+  GSA = derive { name="GSA"; version="1.03"; sha256="1h1sbpn1rrdh44w4fx2avc7x24ba40mvpd8b2x5wfrc7a294zf6z"; depends=[]; };
+  GSAgm = derive { name="GSAgm"; version="1.0"; sha256="18bhk67rpss6gg1ncaj0nrz0wbfxv7kvy1cxria083vi60z0vwbb"; depends=[survival]; };
+  gsalib = derive { name="gsalib"; version="2.0"; sha256="0yk39ca7yrsksga73ma2pdqfy3s1xpp07y8622x44b9cazv6rdy4"; depends=[]; };
+  gsarima = derive { name="gsarima"; version="0.1-4"; sha256="0q5i5szyqvj1sgyg17khqx5rgdpn3wxp22ddr9m9rb653y03xzz0"; depends=[MASS]; };
+  gsbDesign = derive { name="gsbDesign"; version="0.96-2"; sha256="0sk4a66z9bqi3aa2ky9472p9znfm93kc9p5igdmvii4dr0syyfxd"; depends=[gsDesign lattice]; };
+  gsDesign = derive { name="gsDesign"; version="2.8-8"; sha256="0czr2xyh3nd8kgvw71wvqakvmfbdbysiyyfnh2az7l4j33xyhfc9"; depends=[ggplot2 xtable stringr RUnit plyr]; };
+  GSE = derive { name="GSE"; version="3.0"; sha256="1b1nrnvgly7zpyw9z9ddgmx7qfz0mllwm8k7czs17x3l5gkmw8ir"; depends=[Rcpp RcppArmadillo MASS ggplot2]; };
+  gSeg = derive { name="gSeg"; version="0.1"; sha256="0qnv3c0rla0g2fb4s4x1i0zdp3dlvi98qf80wlr54gnn7s9vpjf1"; depends=[]; };
+  gset = derive { name="gset"; version="1.0"; sha256="10qiwp94z8zm2gvklnz23qmypdwh72jz0v7rdcni38pv2hcky637"; depends=[Hmisc mvtnorm MCMCpack]; };
+  gsg = derive { name="gsg"; version="1.0"; sha256="0j2h1i94vr0mvj4rl328n666b9nn2xnakid8k1r2lh88vk3dv9ma"; depends=[mgcv mvtnorm boot numDeriv]; };
+  GSIF = derive { name="GSIF"; version="0.4-1"; sha256="0ry2lq9cncd68wnrfgfw53mqi1jiijggdz3ib37xpkcqh754101x"; depends=[sp RSAGA dismo rgdal raster aqp plotKML gstat boot rpart quantregForest randomForest nlme]; };
+  gskat = derive { name="gskat"; version="1.0"; sha256="19mbif7wr88vk5wlc7m2l4xghjmfj2qd3s8yvjlkawbnjk8x6ib0"; depends=[CompQuadForm e1071 gee geepack Matrix]; };
+  gsl = derive { name="gsl"; version="1.9-10"; sha256="06n21p0k2ki6nb725a6sxwlb4p7xc5jhg11nq9c3z3dj39r0qgbd"; depends=[]; };
+  GSM = derive { name="GSM"; version="1.3.1"; sha256="1ay6znw31qnhz5k6fa0aiccr2xxmnj7v3vzrvlk6y5v5smlvybd0"; depends=[gtools]; };
+  gsmaRt = derive { name="gsmaRt"; version="1.0"; sha256="0hpf0vgmhill3w8cqpsgvxjgwk2ka154vm9klidckm05qcqlwdn6"; depends=[R2HTML rgl scatterplot3d xtable]; };
+  gsmoothr = derive { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
+  gss = derive { name="gss"; version="2.1-3"; sha256="07bp60fhax8v4nyzcgadadi1kfwgwk5r08y6ifsgim500jbw7apk"; depends=[]; };
+  gsscopu = derive { name="gsscopu"; version="0.9-1"; sha256="0qg4ra7zvp0j6wjbb14sqajfq745bza3v50s0c5xxnddblqi4hcc"; depends=[gss]; };
+  gstat = derive { name="gstat"; version="1.0-19"; sha256="1yhrp1dgkl11hr8jy1kmsiaf8avf02m85wcnvf34vlbil24hy7py"; depends=[lattice sp zoo spacetime FNN]; };
+  gstudio = derive { name="gstudio"; version="1.3"; sha256="1ddifizswm41y4sxnnfw8j90clba6zf022x0z4xipccaznim2gy9"; depends=[ggplot2 raster sp reshape2 ggmap popgraph]; };
+  gsubfn = derive { name="gsubfn"; version="0.6-5"; sha256="1glpq5ghzgarqg8wfl7pblblm31d4dsxrlrkhsgckldbdap52yws"; depends=[proto]; };
+  gtable = derive { name="gtable"; version="0.1.2"; sha256="0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh"; depends=[]; };
+  gtcorr = derive { name="gtcorr"; version="0.2-1"; sha256="1n56zmyv58jwr95p453jb86j82pdnq57gfc8m15jndjc9p31zl0m"; depends=[]; };
+  gte = derive { name="gte"; version="1.2-1"; sha256="0h6c5n9wz8b4b5pmqfbc8ivqpg2jh4k6x94wns1l33kiah70pmjd"; depends=[survival]; };
+  gtools = derive { name="gtools"; version="3.4.1"; sha256="0d5v864v3qnmmxas8xf74aarli9nr3l16bwj9qzs2s9k498q6azs"; depends=[]; };
+  gtx = derive { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; };
+  GuardianR = derive { name="GuardianR"; version="0.4"; sha256="0jk97x106srswp28r68713ky707cx957hvbkjggfppcglic5dc1n"; depends=[RCurl RJSONIO]; };
+  Guerry = derive { name="Guerry"; version="1.5-0"; sha256="18pgmsqd6ign5g4lwpd35gxaypm3zjf1i82w63ss11dsqddnfyvh"; depends=[sp shapefiles]; };
+  GUIDE = derive { name="GUIDE"; version="1.0.9"; sha256="1y0y6rwv1khd9bdaz5rl9nmxiangx0jckgihg16wb6hx6kf8kzc1"; depends=[rpanel tkrplot]; };
+  gumbel = derive { name="gumbel"; version="1.04"; sha256="0fl44i4kz9wbba1iv4fy1b74nf25axdkifhczgrgpy5d81ky43v6"; depends=[]; };
+  GUniFrac = derive { name="GUniFrac"; version="1.0"; sha256="0w08b22xkx0llmwk1kj4ibapvg3fxkgkmjz6z6acr4nwqfwmjzzx"; depends=[vegan ape]; };
+  GUTS = derive { name="GUTS"; version="0.3.5"; sha256="10yi18yv3vbm7pn11bbj3baxqga5yymilabf56bc18prpirnw51b"; depends=[Rcpp]; };
+  gvcm_cat = derive { name="gvcm.cat"; version="1.6"; sha256="0v5q97gjninxrjdclxj1bn362h0j93pm71k9gp79aa3sdy4ay6s4"; depends=[Matrix MASS]; };
+  gvlma = derive { name="gvlma"; version="1.0.0.2"; sha256="0gj52hg665nmlwgbjh9yvz7a3sbzlbj41ksxchnnlxaxipdf6sl8"; depends=[]; };
+  GWAF = derive { name="GWAF"; version="2.1"; sha256="1s56d3b6p5fpaxi32ks2mmhsa5sgi746hf159wk0z99099gli8g3"; depends=[geepack coxme lme4]; };
+  GWASExactHW = derive { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; };
+  GWAtoolbox = derive { name="GWAtoolbox"; version="2.2.4"; sha256="0adpixlfh0j1py79b0636921kmz2zvhv8p07m6ism6h3xva0i4ck"; depends=[]; };
+  gwerAM = derive { name="gwerAM"; version="1.0"; sha256="1c3rzd1jf52a4dn63hh43m9s9xnjvqn67amlm9z1ndrnn6fwfg1b"; depends=[MASS Matrix]; };
+  GWG = derive { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; };
+  gWidgets = derive { name="gWidgets"; version="0.0-53"; sha256="06imjabf9fqghaszqq77x6vxq864cn36n6534bkg23m9fwzqzf23"; depends=[]; };
+  gWidgets2 = derive { name="gWidgets2"; version="1.0-5"; sha256="1y6vm6ds77yr1qiqlcaixbsarbwx5w53ba343svla7wva80ajbpl"; depends=[digest]; };
+  gWidgets2RGtk2 = derive { name="gWidgets2RGtk2"; version="1.0-2"; sha256="1pzcpjz5cdizvj0ih2r4i3ll6flm45q8ym6sz0wqbg4j3ir0l5kh"; depends=[memoise RGtk2 gWidgets2]; };
+  gWidgets2tcltk = derive { name="gWidgets2tcltk"; version="1.0-2"; sha256="1dzrc8yry4l2afpijr35irnqmvfpd22vlb3lih4pk14n52690y0h"; depends=[digest memoise gWidgets2]; };
+  gWidgetsRGtk2 = derive { name="gWidgetsRGtk2"; version="0.0-82"; sha256="0b1imvy2094s2ixar7z4kxs047855ssijx8l22a1hlwdg7zp7sng"; depends=[RGtk2 gWidgets]; };
+  gWidgetstcltk = derive { name="gWidgetstcltk"; version="0.0-55"; sha256="06991rqh4927bal7j718bn2ziy6rws8yq682lmp5vbqhdd36afv2"; depends=[gWidgets digest]; };
+  gWidgetsWWW = derive { name="gWidgetsWWW"; version="0.0-23"; sha256="14yw04kgfqfwl44zkyqy075rjd5vafbzig6x5py25ypbdk3hwn7a"; depends=[proto filehash digest rjson]; };
+  GWmodel = derive { name="GWmodel"; version="1.2-3"; sha256="04sks9rnqxgxyj9q3nyrnknp4cdfck2p52svxfdrgvxqr48kf6ff"; depends=[maptools robustbase]; };
+  GWRM = derive { name="GWRM"; version="1.1"; sha256="1l8rw2nksd1vskjb7kjn93vgrs39bcrr8zz1j66rmkcc399pf6nf"; depends=[]; };
+  gwrr = derive { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; };
+  GWsignif = derive { name="GWsignif"; version="1.0"; sha256="04663qgy3xmijrx8m1s5ql7zj70mgsd58dl08ci742l1fzmfya5f"; depends=[]; };
+  GxM = derive { name="GxM"; version="1.0"; sha256="1vaq0fkx3bf2kdmn2iqgad8haprg9i3a9101nrvyh2pv2g894761"; depends=[Rcpp minqa nlme]; };
+  h2o = derive { name="h2o"; version="2.4.3.11"; sha256="0mlyzvylqqi3w85riyp2mhyzdqf6yvmxibdjj41glaqc5vj37dlx"; depends=[RCurl rjson statmod]; };
+  haarfisz = derive { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; };
+  HAC = derive { name="HAC"; version="1.0-0"; sha256="00va1q17a1vijhb557kh6scqakllqlblcv2hfisi7fq0h2ainni1"; depends=[copula]; };
+  HadoopStreaming = derive { name="HadoopStreaming"; version="0.2"; sha256="1l9msaizjvnsj1jrpghj4g057qifdgg6vbqhfxhn1fiqdqi2056q"; depends=[getopt]; };
+  hamlet = derive { name="hamlet"; version="0.7"; sha256="0f3gl5xvgdksaxk76dyv46hahc41f2j3pf9wp0rc0q7wpp5nfsjl"; depends=[]; };
+  HandTill2001 = derive { name="HandTill2001"; version="0.2-9"; sha256="1j4ivxarm3k9sj05824lv6b03apyabpciv4mp253vv0yzjcp2bzf"; depends=[]; };
+  Hankel = derive { name="Hankel"; version="0.0-1"; sha256="0g3b0ji8hw29k0wxxvlnbcm0z91p4vbajbrhm6cqbccjq85lg4si"; depends=[]; };
+  hapassoc = derive { name="hapassoc"; version="1.2-6"; sha256="14ddh7wiyks0wcw0iy1af9njg4wsn5flv59r463z2b3pbj5zp1qc"; depends=[]; };
+  HapEstXXR = derive { name="HapEstXXR"; version="0.1-6"; sha256="0ldmfa9729sf9r1kaldsskq8w6kvjac778bzjyi0a1pfz2walzjb"; depends=[survival]; };
+  HAPim = derive { name="HAPim"; version="1.3"; sha256="03qy0pxazv3gdq3fck7171ixilb9zi1dwnvc4v7d726g0lvn80pg"; depends=[]; };
+  Haplin = derive { name="Haplin"; version="5.3"; sha256="1gfg9dhgw42yjd1i8knnjvc2y2fbdc2ypa396g48hmsnislqffsd"; depends=[MASS mgcv GenABEL DatABEL filehash]; };
+  haplo_ccs = derive { name="haplo.ccs"; version="1.3.1"; sha256="0cs90zxxbvglz1af0lh37dw1gxa04k0kawzxamz2was3dbh19lbz"; depends=[haplo_stats survival]; };
+  HaploSim = derive { name="HaploSim"; version="1.8.4"; sha256="0794f76hc9qvjmay7c61cmzycqafljs0g0hliq9xfrw4f23gq3sa"; depends=[]; };
+  haplo_stats = derive { name="haplo.stats"; version="1.6.8"; sha256="1zz8hi37zwc6wkn5q7zhz1l29vlklhnj8gzp1pmz4ys496c2lwxh"; depends=[]; };
+  HAP_ROR = derive { name="HAP.ROR"; version="1.0"; sha256="1id9amz1cc2l2vnpp0ikbhf8ghbgzqd1b9dfivnyglg7996c3gbg"; depends=[hash ape]; };
+  hapsim = derive { name="hapsim"; version="0.3"; sha256="18r0cq15psjwxprml84ihj5gw4pk6agd7x0qicj899awa21f2qb3"; depends=[MASS]; };
+  HardyWeinberg = derive { name="HardyWeinberg"; version="1.5.4"; sha256="0098n5m3svcc3z5cvmqygazlvm1dzd4zfbpj1q9zqs5wr3407wcv"; depends=[mice]; };
+  harvestr = derive { name="harvestr"; version="0.6.0"; sha256="1jg4d98bwx2cm3hliayqrazq43sa9kd9ynpaid6x4ld3mz5y8mlq"; depends=[plyr digest]; };
+  hash = derive { name="hash"; version="2.2.6"; sha256="0mkx59bmni3b283znvbndnkbar85fzavzdfgmwrhskidsqcz34yz"; depends=[]; };
+  hashFunction = derive { name="hashFunction"; version="1.0"; sha256="1v57xj8xwv6xhxvgp0zxgvs5vcjw8z5k2ciwbn0jxf4ilyd66cgj"; depends=[]; };
+  hasseDiagram = derive { name="hasseDiagram"; version="0.1.1"; sha256="1szj5pi9i5ijqakxx4vwvwpz7y76jbgcgm76vfg4cnxvndf7sf4l"; depends=[]; };
+  hawkes = derive { name="hawkes"; version="0.0-4"; sha256="1ghwq3icxwmrai3xn9r8cnvlh3z3j18lznhw1bm31h9mkkp2dk0a"; depends=[Rcpp]; };
+  hazus = derive { name="hazus"; version="0.1"; sha256="1c0ahjdy9di1683nk5k4rmr6rhb66523ny039nyv842rgqdy625j"; depends=[reshape2]; };
+  hbim = derive { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; };
+  hbmem = derive { name="hbmem"; version="0.3"; sha256="0ylxp77ack874sadwfnry84a6bg8gdl9xbw821lp5q05nnyg0dcj"; depends=[]; };
+  hbsae = derive { name="hbsae"; version="1.0"; sha256="1iwmpi0pn5fxyxkwqkbmy6w1f1wcx0p809jnviim0ypwib32mhh7"; depends=[Matrix arm]; };
+  HBSTM = derive { name="HBSTM"; version="1.0.1"; sha256="0bx7dxcfj46k4kqpqb39w4qkm4hvr1ka8d8rws445vkyl31kr0q6"; depends=[MASS fBasics maps]; };
+  hcc = derive { name="hcc"; version="0.54"; sha256="14b3pamkywb0wsjpbm0wpflcds0b5mfymvgk92rmf6ngz1bkpdbq"; depends=[]; };
+  hcci = derive { name="hcci"; version="1.0.0"; sha256="11piy1ajg3j3dbh66szzf7lhc3x28fz75ai39vlx0gl5nc2v5zs5"; depends=[]; };
+  hda = derive { name="hda"; version="0.2-12"; sha256="11z9p35dvhi7bdw09d2yawh46nxk8axw76b51vk089g12nr2b9x7"; depends=[e1071]; };
+  HDclassif = derive { name="HDclassif"; version="1.2.2"; sha256="0j32nhl2v0bipflidwfk6q8a0pvn7qjs7ks1al2izsr772dwfcvq"; depends=[MASS]; };
+  hddplot = derive { name="hddplot"; version="0.56"; sha256="0s9iijwq8zfvavqq2bkqm2884sg0957ppkggsv6mmm3cbdi2xrlc"; depends=[MASS]; };
+  hdeco = derive { name="hdeco"; version="0.4.1"; sha256="04nggwckvn1kwi238qd33l4pryzn4aq5bmi30bvfi99gwnrlgfgq"; depends=[]; };
+  hdi = derive { name="hdi"; version="0.1-2"; sha256="19lc2h34jlj198gchnhbfbb8igwlan2b977a47j8p3q6haj5bcv1"; depends=[glmnet linprog MASS scalreg]; };
+  hdlm = derive { name="hdlm"; version="1.2"; sha256="0s4lzg3s2k7f7byygb11s7f78l3rkkb0zn03kh3d7h8250wg9fax"; depends=[glmnet foreach MASS iterators]; };
+  HDMD = derive { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[psych MASS]; };
+  HDPenReg = derive { name="HDPenReg"; version="0.89.8"; sha256="1w1p3ivqw5snp9c08qss08radcv32h9pd5av0gj8kachcf4b6x0l"; depends=[Rcpp]; };
+  hdrcde = derive { name="hdrcde"; version="3.1"; sha256="027nxpzk1g0yx8rns7npdz30afs5hwpdqjiamc7yjrsi0rzm71lw"; depends=[mvtnorm locfit ash ks KernSmooth]; };
+  HDtweedie = derive { name="HDtweedie"; version="1.1"; sha256="14awd7sws0464f68f5xwnv1xvr0xflvx2z2zzcfj1csvk3af0zzj"; depends=[]; };
+  HEAT = derive { name="HEAT"; version="1.2"; sha256="1qifqd06ifl0f5l44mkxapnkwhpm0b82yq6dhfw4f8yhb27wd0z2"; depends=[]; };
+  heatex = derive { name="heatex"; version="1.0"; sha256="0c7bxblq24m80yi24gmrqqlcw8jh0lb749adsh51yr6nzpap6i9n"; depends=[]; };
+  heatmap3 = derive { name="heatmap3"; version="1.0.4"; sha256="0yrqq97r05xypqgd2dz5cyb54kjdhdzi59rclppcibwhjzpvgdka"; depends=[fastcluster]; };
+  heatmapFit = derive { name="heatmapFit"; version="2.0.2"; sha256="00p39y6x13yxrxfqx6gzmb80fk1hsyi8wa6brx40hj37pyyfis0p"; depends=[]; };
+  heatmap_plus = derive { name="heatmap.plus"; version="1.3"; sha256="0rzffm15a51b7l55k0krk6w7v8czy3vpwz1qmbybr7av0pln7wn3"; depends=[]; };
+  heavy = derive { name="heavy"; version="0.2-3"; sha256="17mr2i629hw38dadbl75rmkz9y3brc2yz3hap1vp607ya420cmv8"; depends=[]; };
+  helloJavaWorld = derive { name="helloJavaWorld"; version="0.0-7"; sha256="0x0f64w5783mh0ryv0krpdzhicbv912y36h74h1qapcy5225fxh5"; depends=[rJava]; };
+  helsinki = derive { name="helsinki"; version="0.9.20"; sha256="0jlyvj8cyzb0si2gqwik4jzbmwfawwnap9k6jl1z2nw2rz5w1k3c"; depends=[maptools rjson RCurl]; };
+  heplots = derive { name="heplots"; version="1.0-12"; sha256="064kanmqm4b0sbyw60wfb19adclpdagm23l6p86vi0hyx0dr0ykz"; depends=[car MASS]; };
+  hergm = derive { name="hergm"; version="1.3-11"; sha256="1kfh7ry84smxf3d0ykjr7d0ckh2dk9y63761f4pmskfxqx12w98a"; depends=[ergm]; };
+  hett = derive { name="hett"; version="0.3-1"; sha256="1y0hr9g2pjwzc5azh095h33qidxhhmlvd1csamjnhwdphj5drzz0"; depends=[MASS lattice]; };
+  het_test = derive { name="het.test"; version="0.1"; sha256="08kxp81dx32anh0k5b65x7w7madwnn9hiabdrk6ck6b6mx37x26v"; depends=[vars]; };
+  hexbin = derive { name="hexbin"; version="1.27.0"; sha256="0fs5nsaalic6fj7b347yjczws310y3q2v37yr8sg74yq8wqzsdj8"; depends=[lattice]; };
+  hexView = derive { name="hexView"; version="0.3-2"; sha256="19s87qxz9rjvzr64pv51wfd26jy5f00i8lwv39hhr6rh0jwngdly"; depends=[]; };
+  hflights = derive { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; };
+  hgam = derive { name="hgam"; version="0.1-2"; sha256="1flcc67n8kbh9m5phdfl587xg1x935zbp305y0gdmkc8vpkiwpcf"; depends=[grplasso lattice rgl]; };
+  hglasso = derive { name="hglasso"; version="1.2"; sha256="1qq41ma33wz7qjs5zx72yvngpsiq62z9sd6d5hvvl83brq0fcr4b"; depends=[glasso mvtnorm igraph fields]; };
+  hglm = derive { name="hglm"; version="2.0-8"; sha256="14md1d54zbhc2cnrvim5l8rwg556ln0ssamxj5354nrvr6sxv8gs"; depends=[Matrix MASS hglm_data]; };
+  hglm_data = derive { name="hglm.data"; version="1.0-0"; sha256="1hrq1jac658z5xjsg03nfkb4kwm9z44bhciv5chk74ww8gjr9j9q"; depends=[Matrix MASS]; };
+  HGNChelper = derive { name="HGNChelper"; version="0.3.0"; sha256="1w1x8fkvwlm4xqfx3afg42hhsa459sxqacsiph088sr77lhd3acz"; depends=[]; };
+  HH = derive { name="HH"; version="3.0-4"; sha256="11b1qvhdl1waskvvcdkdkljh5d3ql6ajsq0vg4fapprfkq4jamv1"; depends=[lattice latticeExtra multcomp reshape2 leaps vcd colorspace RColorBrewer]; };
+  HHG = derive { name="HHG"; version="1.4"; sha256="048jbwhrbgp1pv2j6sw234ykdn7bgpa49slwh3p5547nl2cwjysg"; depends=[]; };
+  hht = derive { name="hht"; version="2.0.2"; sha256="1hah6f8svvp63nzdfrnri8bi6dzx1qn372dmiz6x2jpp77mw2mkc"; depends=[EMD fields]; };
+  HI = derive { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; };
+  HIBAG = derive { name="HIBAG"; version="1.2.3"; sha256="08hg9l5il2zicbpg04biiqm99lj51ny6ias8hwxj2s4gyr1qd5ny"; depends=[]; };
+  HiClimR = derive { name="HiClimR"; version="1.1.2"; sha256="1vq8gln5888aa9835phixniijf1madxgsx895ld6nxxrwd9jhwpl"; depends=[]; };
+  HiCseg = derive { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
+  hiddenf = derive { name="hiddenf"; version="1.0"; sha256="00r27dyfg4mjsp4s3hjk19alqc4jbfvy8pk5zjvz7gdgq68fxaza"; depends=[]; };
+  HiddenMarkov = derive { name="HiddenMarkov"; version="1.7-0"; sha256="0223yw1ga2c2y1fqjgr3m4yw7w8cp5r0z5cz766qvbc5wv65bh59"; depends=[]; };
+  hierarchicalDS = derive { name="hierarchicalDS"; version="2.01"; sha256="0qdpdr8wk27zm1gf50awnmy8sghqq7mcdq30ahcyphmxmkm5cn1l"; depends=[truncnorm MASS mvtnorm Matrix coda spsurvey MCMCpack xtable mc2d]; };
+  hierfstat = derive { name="hierfstat"; version="0.04-10"; sha256="1n0nn5liwvf3xc743vdxpfqsbr40n599f981gk49d9nq8qk0kggl"; depends=[gtools ade4]; };
+  hierNet = derive { name="hierNet"; version="1.6"; sha256="08lifk92caa4l9nfb89rl6vby8sd1ba3ay7z29ffirsg7cx07qiw"; depends=[]; };
+  hier_part = derive { name="hier.part"; version="1.0-4"; sha256="03acdgzkhbk4p0wxw2g1hzklmq9hzmdkkvfj742vzfswdd803yg9"; depends=[gtools]; };
+  HIest = derive { name="HIest"; version="2.0"; sha256="0ik55kxhzjyg6z6072iz9nfaj7x1nvf91l1kysgvkjccr6jf3y86"; depends=[nnet]; };
+  highfrequency = derive { name="highfrequency"; version="0.2"; sha256="0gq1szwqal792n1k14m51flbjz72vfym14wkxl3q48mwv2i4s772"; depends=[xts zoo]; };
+  highlight = derive { name="highlight"; version="0.4.4"; sha256="03mch5waqkzb9pb4llgalbxdfn3h6adh05f3i43kscssc67bs30l"; depends=[]; };
+  highr = derive { name="highr"; version="0.3"; sha256="1y0amfvdpqwq0n60fykbsir4jd1ynkwfcgadjnn1997amk9qja5x"; depends=[]; };
+  highriskzone = derive { name="highriskzone"; version="1.1"; sha256="1qpk63jh44075b6fnhqx1iqjywzzwhvr6lry3vjlx0sfv1nqad6k"; depends=[spatstat ks]; };
+  hillmakeR = derive { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
+  HiLMM = derive { name="HiLMM"; version="1.0"; sha256="1x3my51vzxlk9q7vj2ljpqinxw777953mhgzvbqildph4szh4xh4"; depends=[]; };
+  hint = derive { name="hint"; version="0.1-1"; sha256="1n18j2hcb1qynhsln10nzryi20l5aqhr7i1aanww10y5dz573zi3"; depends=[]; };
+  HiPLARM = derive { name="HiPLARM"; version="0.1"; sha256="0af68gfmc89nn1chmqay6ix0zygcp1hmylj02i7l6rx6vb06qw6w"; depends=[Matrix]; };
+  hiPOD = derive { name="hiPOD"; version="1.0"; sha256="1i15ickz2s0kffh99qq30pl5hsl0lbj0kp55jnbv4x72hndzhmla"; depends=[rgl]; };
+  hisemi = derive { name="hisemi"; version="1.0-319"; sha256="0pm7dsaaqrdhkvxsk2cjvk6qd2rqqmddmv012smnrivi7mpnvd4w"; depends=[Matrix Iso fda]; };
+  HistData = derive { name="HistData"; version="0.7-5"; sha256="17s64hfs7r77p0wjzpbgz9wp3gjzbly2d0v784f9m2bka8gj6xhr"; depends=[]; };
+  histogram = derive { name="histogram"; version="0.0-23"; sha256="0hrhk423wdybqbvgsjn7dxgb95bkvmbh573q1696634hvzfdm68c"; depends=[]; };
+  HistogramTools = derive { name="HistogramTools"; version="0.3"; sha256="1wfvrznr578s2hc8ccs849pz4kjlyi4brdxhw919cvk758ahy9rv"; depends=[Hmisc ash stringr]; };
+  hitandrun = derive { name="hitandrun"; version="0.4-2"; sha256="143aj926mx0v26f8dsagr90ggzk23lfms57agzrnqfvddla7ng9c"; depends=[rcdd]; };
+  hive = derive { name="hive"; version="0.1-16"; sha256="1xaxnr8nfkji2b5f5dq2h01pkl20rm24wxnf1y1xv695v3j58ibd"; depends=[rJava XML]; };
+  HiveR = derive { name="HiveR"; version="0.2-27"; sha256="1c0isfiq8xw68qi3mk6m5dilsvbib7hy0ill9wga6kf6qndlfc49"; depends=[RColorBrewer plyr tkrgl jpeg png]; };
+  HIV_LifeTables = derive { name="HIV.LifeTables"; version="0.1"; sha256="0qa5n9w5d5l1kr4827a34581q380xmpyzmmhhl300z1jwr0j94df"; depends=[]; };
+  HK80 = derive { name="HK80"; version="0.0.1"; sha256="1qhknrqpspxrdxzf5kakans94db58bbhgpblvpwcyw4jrjmm0ng7"; depends=[]; };
+  HLMdiag = derive { name="HLMdiag"; version="0.2.5"; sha256="1yim9m5q1m112aj7zhsw345l32bdj7lbw2mqpcxhjzv1lcknm5lq"; depends=[lme4 ggplot2 plyr reshape2 MASS Matrix Rcpp]; };
+  hlr = derive { name="hlr"; version="0.0-4"; sha256="04w1hzjfg2ly9vm9ynh676fy74d9ncy3a1mak209z2ddgr3m7r2y"; depends=[MASS]; };
+  HLSM = derive { name="HLSM"; version="0.2"; sha256="052qsdbfamlpwmxz7bwbnd956kibgvw3w6r7gvvp2s08g58arvy7"; depends=[MASS coda]; };
+  hmeasure = derive { name="hmeasure"; version="1.0"; sha256="0wr0xq956glmhvy4yis3qq7cfqv9x82ci9fzx3wjvaykd16h0sx9"; depends=[]; };
+  Hmisc = derive { name="Hmisc"; version="3.14-4"; sha256="1jpz1sxvcip1k7yc8wkxf68fplr6dv24pavblxmi823xq1pjq21y"; depends=[lattice survival Formula latticeExtra cluster]; };
+  HMM = derive { name="HMM"; version="1.0"; sha256="0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"; depends=[]; };
+  HMMCont = derive { name="HMMCont"; version="1.0"; sha256="1drni4f72x83sprn65wnhw0pv1q8lfkgmxdr9h4rwv1accril85x"; depends=[]; };
+  hmm_discnp = derive { name="hmm.discnp"; version="0.2-3"; sha256="1r9xxgsqh5pw9incldaxnsqhyanhd4jwm6w0ix1k43i53dw4diyr"; depends=[]; };
+  hmmm = derive { name="hmmm"; version="1.0-2"; sha256="057yfp1sgp1wvhdq0sfvs598zcq8dhrbqfc02lih5pnwacf96vpc"; depends=[quadprog MASS mvtnorm]; };
+  HMMpa = derive { name="HMMpa"; version="1.0"; sha256="14r2axg42by49qm6avgv7g3xnc29bxlrni5fhc5vdz0wygkcrqhn"; depends=[]; };
+  HMP = derive { name="HMP"; version="1.3.1"; sha256="1r39mq8j071khza37ck7w4kvk1di71hhn5m4wnx9dak7nlcq2nwx"; depends=[MCMCpack dirmult]; };
+  HMPTrees = derive { name="HMPTrees"; version="1.2"; sha256="0agp8w7rzr1byj01di89r3qy1vb9inb2zgys78mg8jnk7axi925l"; depends=[ape]; };
+  HMR = derive { name="HMR"; version="0.3.1"; sha256="1lmxp46r5jr0r37sk9y080irbrf89rkzhv0943xv0f0l2dyyk415"; depends=[]; };
+  hoardeR = derive { name="hoardeR"; version="0.0-2"; sha256="1k9a469h6fmr1br93dsk4q14h2bw8225l0v5sfp2wyr8sfpwm1dg"; depends=[httr XML stringr]; };
+  holdem = derive { name="holdem"; version="1.1"; sha256="07h4cbg7hx91hc6ypi6hbalzdd9qz9rfhjgk5sq1srnangwwnxlw"; depends=[]; };
+  Holidays = derive { name="Holidays"; version="1.0-0"; sha256="1p7rwph50i0dwl7a6n394dq7sl9nb2y8p5ip5y6ql48ixjh4d078"; depends=[TimeWarp]; };
+  homals = derive { name="homals"; version="1.0-5"; sha256="1azrwvdzn379in2sz9d94w2f2xp0d6iiayrv0bws44kvdzr95aqm"; depends=[rgl ape scatterplot3d]; };
+  homeR = derive { name="homeR"; version="0.1"; sha256="0yq93b3wkgbnwzpyhx9c73sb9xgz7m3z4p5rflk3lmc0p53h81g5"; depends=[]; };
+  homtest = derive { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; };
+  HotDeckImputation = derive { name="HotDeckImputation"; version="0.1.0"; sha256="1zj09fa5bqfw27zzard9a9a2aglg7ff8z2zzfyjcdz187l6g9gql"; depends=[]; };
+  Hotelling = derive { name="Hotelling"; version="1.0-2"; sha256="0dzsqnn4c4av23qjnmacwc78i0xg355p1xwfmgipr04ivym0mqn0"; depends=[corpcor]; };
+  hotspots = derive { name="hotspots"; version="1.0.2"; sha256="1cwcwin86y7afjhs8jwlz1m63hh70dcjag0msds4ngksvjh9gj2q"; depends=[lattice ineq]; };
+  howmany = derive { name="howmany"; version="0.3-1"; sha256="045ck8qahfg2swbgyf7dpl32ryq1m4sbalhr7m5qdgpm62vz8h7f"; depends=[]; };
+  HPbayes = derive { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[MASS mvtnorm corpcor numDeriv boot]; };
+  hpcwld = derive { name="hpcwld"; version="0.4"; sha256="1vh5jvq9nbghsl59fi6v3nmsh0jmxq7pzbs3fgasz8c3jmjw50kp"; depends=[]; };
+  HPO_db = derive { name="HPO.db"; version="1.2"; sha256="04mys72qajp7cn0vhzr9mv388d5a69kjvkwxjjskz24k91xwn4vz"; depends=[]; };
+  hpoPlot = derive { name="hpoPlot"; version="1.0"; sha256="0jd0imbhsw74gziafkzn7hrxz79llmpksspbnxnslm1mifl81www"; depends=[functional plotrix Hmisc]; };
+  HPOSim = derive { name="HPOSim"; version="1.2"; sha256="1bgakx9y1cqc54adm6d4zlqvd2smxq895bf68njsgj3ygrlglc2v"; depends=[HPO_db igraph]; };
+  hqmisc = derive { name="hqmisc"; version="0.1-1"; sha256="0jcy2hb3dmzf9j4n92aq7247mx9w7n30wpsx0dkchqnjwlqwwncw"; depends=[]; };
+  hrr = derive { name="hrr"; version="1.1.1"; sha256="17jzsgh2784y7jdwpa50v7qz99dw6k2n25sisnam6h1a39b96byn"; depends=[]; };
+  HSAUR = derive { name="HSAUR"; version="1.3-3"; sha256="0lf6z9fgmbdhpvz2dyni5wi1ri6y6fikkf1px03pirlswm1mbchj"; depends=[]; };
+  HSAUR2 = derive { name="HSAUR2"; version="1.1-10"; sha256="0r06abgiiwj3b9cd652hics2rzkslk1gplxv751501nn7k2qid7i"; depends=[]; };
+  HSAUR3 = derive { name="HSAUR3"; version="1.0-1"; sha256="1w1c3ypyvlfi95qg3xxdjfgxlykrcn3rly7z2mvpzkdx4dhi3kls"; depends=[]; };
+  hSDM = derive { name="hSDM"; version="1.4"; sha256="1jq6hdnyv446ng62srip0b48kccf0qw3xqym3fprg74mjdy3inqr"; depends=[coda]; };
+  hsicCCA = derive { name="hsicCCA"; version="1.0"; sha256="1d4lkjrihwhl3jrsj7250ccd90nfwpllyavc3mp15fhcy2jnjci8"; depends=[]; };
+  hsmm = derive { name="hsmm"; version="0.4"; sha256="1fh8c5kfv4brygdq6bfkrhrhkm99mxl4ljb1mhp9nf2bjlla11mc"; depends=[mvtnorm]; };
+  hsphase = derive { name="hsphase"; version="2.0.0"; sha256="04zhqnrrzhg1kqxf251q7iglazsj28dqqvhvch472925xf7dnap3"; depends=[snowfall Rcpp]; };
+  HSROC = derive { name="HSROC"; version="2.1.7"; sha256="05gixmzmgdply9zhjpss54b50ch4b8586cik6c49naxcqxr0y5vd"; depends=[lattice coda MASS MCMCpack]; };
+  HSSVD = derive { name="HSSVD"; version="1.1"; sha256="0kpfcb9ibwhdanc56ysbvx3zirhbrxqyrgpbmi9yvnc5m2c8377d"; depends=[bcv]; };
+  htmltools = derive { name="htmltools"; version="0.2.4"; sha256="0957n22dfbhy0fc1hnf65jghdfiv1zj0kd6x5byafv54aby0bzqy"; depends=[digest]; };
+  HTMLUtils = derive { name="HTMLUtils"; version="0.1.5"; sha256="12r8x7b944lbzz3f4j6w88szq6j9gscbss3f5bzpisw33sr4wgx3"; depends=[R2HTML]; };
+  hts = derive { name="hts"; version="4.4"; sha256="1dpm669lc4khjkcs49m1nh7i61sclsqy7xbcn4mqqjhfgs7sg7sk"; depends=[forecast SparseM]; };
+  HTSCluster = derive { name="HTSCluster"; version="2.0.3"; sha256="1c3gk6q87fl7yfikpr7q6h9mp8mjm9qmzm1vxxilfl5qm9d8f92p"; depends=[plotrix ggplot2 RColorBrewer poisson_glm_mix]; };
+  HTSDiff = derive { name="HTSDiff"; version="1.0.2"; sha256="0l1shki2jkbx22l3rksdk1np9rgv40594ldn2rwhrzz6k2vz15by"; depends=[plotrix HTSCluster poisson_glm_mix]; };
+  httpRequest = derive { name="httpRequest"; version="0.0.9"; sha256="1s71lpxv5n1syffckxnnxm5470b2lb2l7pikcm1r2j21j08g807f"; depends=[]; };
+  httpuv = derive { name="httpuv"; version="1.3.0"; sha256="0fs2saz9g17069hkrh6r3wlzsbljv2dvq6sdlwh54dlm6skp7jm6"; depends=[Rcpp]; };
+  httr = derive { name="httr"; version="0.4"; sha256="18ikpbjczjci8di9mwcjkm10fcl9jn40kp4i33kidrmamyryq4zq"; depends=[RCurl stringr digest jsonlite]; };
+  huge = derive { name="huge"; version="1.2.6"; sha256="11njfd4i8q950apga6sdk84p4wk4qvp8bpg6yz9lgjrgj2hn14n2"; depends=[Matrix lattice igraph MASS]; };
+  HUM = derive { name="HUM"; version="1.0"; sha256="1bq74l88jvscmq9ihv5wn06w2wng073ybvqb2bdx2dmiqlpv6jw2"; depends=[gtools Rcpp rgl]; };
+  humanFormat = derive { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
+  hwde = derive { name="hwde"; version="0.64"; sha256="1is39zknssqm98577sdjg8gn3h9wsraih19a9nd6n8mxdcsqivh4"; depends=[]; };
+  HWEBayes = derive { name="HWEBayes"; version="1.4"; sha256="1rbffx6pn031a278ps9aqxcaq8yi73s5kf60za143ysbfxv9dphw"; depends=[MCMCpack mvtnorm]; };
+  HWEintrinsic = derive { name="HWEintrinsic"; version="1.2.1"; sha256="1sg5lrc6kl5rr6f5awp100qpd1679745kixasiddiggzd8fhgb7q"; depends=[]; };
+  HW_pval = derive { name="HW.pval"; version="1.0"; sha256="14nmyqw2d9cmn64789yc54fmiqanh6n1dizp7vj94h7b0jwq63yy"; depends=[]; };
+  hwriter = derive { name="hwriter"; version="1.3"; sha256="12hs78m2pzjhjpv43qdc3lazf5qi5w1vpzqign6qpdrhm85xgvhi"; depends=[]; };
+  hwriterPlus = derive { name="hwriterPlus"; version="1.0-3"; sha256="06hq493v702hy2mv73glav4az2wphzy3lqqkxjkpjpab00xc42d5"; depends=[hwriter TeachingDemos]; };
+  HWxtest = derive { name="HWxtest"; version="1.0.3"; sha256="0qw632djkfx94d8rxgpwmbb4zwwlhgzakjj657wcd6gfi90i72ix"; depends=[]; };
+  hybridEnsemble = derive { name="hybridEnsemble"; version="0.1.1"; sha256="1hn6zfz22mgxv5qpwdgmn7a9snha7hdkbbqq3xicy37j8xypsab5"; depends=[kernelFactory ada rpart ROCR nnet e1071 NMOF GenSA Rmalschains pso AUC soma genalg reportr nnls quadprog tabuSearch glmnet]; };
+  hybridHclust = derive { name="hybridHclust"; version="1.0-4"; sha256="1967p6crkrbnlfghd9x1alr2x57nqjl1zh58hhyshgla3xmdmhx5"; depends=[cluster]; };
+  HybridMC = derive { name="HybridMC"; version="0.2"; sha256="1wgzfyk0scwq9s2sdmc91fj7r4d7zlgwgnj6mdiia8w88ja8kzqy"; depends=[coda]; };
+  hydroApps = derive { name="hydroApps"; version="0.1-1"; sha256="1ycv7l2ywwnx2mgklg6rry7n24jyhi4spvp1xl345yvyn9kf15dz"; depends=[nsRFA]; };
+  hydrogeo = derive { name="hydrogeo"; version="0.2-3"; sha256="1kvzpdjrzbxy4rbfhjqmxdipaamd2rjdyxjv6vfxv1ixs1bm8cwm"; depends=[]; };
+  hydroGOF = derive { name="hydroGOF"; version="0.3-8"; sha256="1ljk2dk5ydsg7qdizyzkbw0b2zdhnb3x9h965d94ygzg8nw5kbak"; depends=[zoo hydroTSM xts]; };
+  HydroMe = derive { name="HydroMe"; version="2.0"; sha256="1a1d3lay94mzwk8n22l650h3p133npdf4aj63zgrdw4760p54rqf"; depends=[nlme minpack_lm]; };
+  hydroPSO = derive { name="hydroPSO"; version="0.3-4"; sha256="12md94g78m7m1np36sadx0wxpb149pn5gd8yj2kw7fphb8g6a218"; depends=[Hmisc sp lattice zoo lhs]; };
+  hydrostats = derive { name="hydrostats"; version="0.2"; sha256="1sp8lp4rqkq5ivlfdg26k6azmxvr8ma0ggkcj10zdl0q85j7ldj2"; depends=[]; };
+  hydroTSM = derive { name="hydroTSM"; version="0.4-2-1"; sha256="0z5xw25w2fn67x2dw61msfdnp2dr2s2yi525fcjxn77339x9ksfr"; depends=[zoo xts e1071 gstat automap sp]; };
+  HyperbolicDist = derive { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; };
+  hyperdirichlet = derive { name="hyperdirichlet"; version="1.4-9"; sha256="03c2xgfhfbpn1za84ajhvm0i5cpmfnz1makidrr2222addgyp9zx"; depends=[aylmer abind mvtnorm cubature]; };
+  hypergea = derive { name="hypergea"; version="1.0.1"; sha256="17fi0sjgyjydd327wghicpys09bpkil4840d9zv779dj9zk2slj9"; depends=[]; };
+  hypergeo = derive { name="hypergeo"; version="1.2-5"; sha256="00rqyw7xc4q6lqg0vy1jkb4rc1xbdgvqsmx58n6w2006zni54ss1"; depends=[elliptic contfrac]; };
+  hyperSpec = derive { name="hyperSpec"; version="0.98-20140523"; sha256="1ypmq5xgcjqrq9i8f08csjqffv9qfpfkvrbawlf1ds7i49h6jq28"; depends=[lattice mvtnorm]; };
+  hypervolume = derive { name="hypervolume"; version="1.0.1"; sha256="1ja3wx8k1hbcgwinbbs5m2amayj2wdmkk2kqaywrvgpm2k1f40i5"; depends=[Rcpp rgl MASS geometry igraph]; };
+  HyPhy = derive { name="HyPhy"; version="1.0"; sha256="0994ymv7sswbp8qw3pay34s926cflw2hq2gnchw7rknybvlsrinq"; depends=[ape R_utils]; };
+  hypothesestest = derive { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; };
+  hypred = derive { name="hypred"; version="0.4"; sha256="08nqgw0h3zh4vyhfd1cngr6snz5n7skj3d9rg2qccz9pnjp7j1ab"; depends=[]; };
+  hysteresis = derive { name="hysteresis"; version="2.0"; sha256="1g9d91djwi9k2q10zqak8fpmywnwmha1pm18g2hmwzrqrwnr6dh9"; depends=[car msm nlrwr]; };
+  hzar = derive { name="hzar"; version="0.2-5"; sha256="000l4ki3hvznnhkxc5j422h5ifnsfqalv666j48yby1hsf1lc3kg"; depends=[MCMCpack foreach coda]; };
+  IASD = derive { name="IASD"; version="1.0.7"; sha256="0a25sd82fxnmz3f4iaxhc69cdfb7xmh7wi79wv11sbw9cv2pl7kr"; depends=[]; };
+  IAT = derive { name="IAT"; version="0.2"; sha256="0byivq2298sjvpsz5z1w7r31h6z2jqpip40z8r2alygbgwwa48pd"; depends=[data_table ggplot2]; };
+  ibd = derive { name="ibd"; version="1.1"; sha256="1p7dw74qpbdalb8vq8jixjhizjl2zc8wrl28mzavw89lbragvi6k"; depends=[lpSolve MASS]; };
+  IBDhaploRtools = derive { name="IBDhaploRtools"; version="1.7"; sha256="1jg2vrs9ly7l8yidw8ppa41v657jhjcj7n27zi1f2vsh3vmjri0m"; depends=[]; };
+  ibdreg = derive { name="ibdreg"; version="0.2.5"; sha256="1kaa5q1byi30wzr0mw4w2cv1ssxprzcwf91wrpqwkgcsdy7dkh2g"; depends=[]; };
+  IBDsim = derive { name="IBDsim"; version="0.9-4"; sha256="0cpabz7mnhsrmjrgb23zs5anjrkhwc2005b2inl6p93l47i81fps"; depends=[paramlink]; };
+  ibeemd = derive { name="ibeemd"; version="1.0.1"; sha256="115z13q02gzixziknix2l53mi12zzg30ra9h35pv6qzrr11ra1ic"; depends=[fields deldir rgeos sp spdep]; };
+  IBHM = derive { name="IBHM"; version="1.1-11"; sha256="1m0zxlybcak2v5c4spgaa39ngb2hryak4xd875jryk1dcnk9c702"; depends=[DEoptim cmaes Rcpp]; };
+  Iboot = derive { name="Iboot"; version="0.1-1"; sha256="1fahh86kgv2axj2qg14n87v888sc0kb567s6zr3fh5zv361phwkq"; depends=[]; };
+  ibr = derive { name="ibr"; version="1.4.5"; sha256="0nw2j232br06l30v3cn4qcr25vbh911v2mz7nfail40sqxc6wwc4"; depends=[]; };
+  IBrokers = derive { name="IBrokers"; version="0.9-10"; sha256="1kpmmiar5762byy6pl8x8drpsw8as9ilbqzgqhfrvj5rd31mylz6"; depends=[xts]; };
+  iBUGS = derive { name="iBUGS"; version="0.1.4"; sha256="0vsxy8pnbix0rg7ksgywx7kypqb5ngkxhldh3cisjkvdv638ybps"; depends=[R2WinBUGS gWidgetsRGtk2]; };
+  iC10 = derive { name="iC10"; version="1.0.2"; sha256="17pgm3k1zh502bvdcc86wl8fsd1mbcl6hw2rqhpy0c3bhabrixki"; depends=[pamr CONOR iC10TrainingData]; };
+  iC10TrainingData = derive { name="iC10TrainingData"; version="1.0.0"; sha256="0il8caxwinjpcf4gfimi07b7ccv5v916s2968vy2vdx6439y1rss"; depends=[]; };
+  IC2 = derive { name="IC2"; version="1.0-1"; sha256="03jjb62msxjxdg9l3zd1ns0d2w37hkxy5pnjgaywxw3vfk4zwfj9"; depends=[]; };
+  ic50 = derive { name="ic50"; version="1.4.2"; sha256="1a5ddmbdfr3ls132fvalbkh4yaawv9k58rgpy54s5qddrm6aas2s"; depends=[]; };
+  icamix = derive { name="icamix"; version="1.0"; sha256="1ain8fnyy4bj306zcli1c3d50sqckg88wnm0ppni0crwxvqcvvkm"; depends=[Rcpp]; };
+  icaOcularCorrection = derive { name="icaOcularCorrection"; version="3.0.0"; sha256="1vmvarc2apipd0vlhprc5wpgh8i38m5myj1gqdymjrnky0azq17f"; depends=[fastICA mgcv]; };
+  icapca = derive { name="icapca"; version="1.0"; sha256="1m8z5444y06wadc63zlb1x3qfgam81j78nvzzxlpxijydzh8xla8"; depends=[]; };
+  ICC = derive { name="ICC"; version="2.2.1"; sha256="1xl8x8ddbrk8ma57mybmmv9m096wlpbas7hsmd2c6qzcrlz6i7wa"; depends=[]; };
+  icd9 = derive { name="icd9"; version="0.5"; sha256="128gv2yxylncmbr6b1qz82ys7aanqxf35psrmrh2i4l84w3w5l8g"; depends=[memoise]; };
+  ICE = derive { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; };
+  ICEbox = derive { name="ICEbox"; version="1.0"; sha256="1m3p0b93ksrcsp45m4gszcz01cwbfpj4ldar6l0q3c9lmyqsznx8"; depends=[sfsmisc]; };
+  ICEinfer = derive { name="ICEinfer"; version="1.0-1"; sha256="0gjgr1r33w6d5ra0njh15lj46lw6v751yl8iqrdf4a5pazs7w3lm"; depends=[lattice]; };
+  icensmis = derive { name="icensmis"; version="1.2.1"; sha256="1h4l9irip4hv34hr92j8756qgmy455mfdblr7ypgsgvr27cgax8h"; depends=[Rcpp]; };
+  ICGE = derive { name="ICGE"; version="0.3"; sha256="0xin7zml1nbygyi08hhg3wwr2jr1zcsvrlgia89zp4xanxlzgaqa"; depends=[MASS cluster]; };
+  ic_infer = derive { name="ic.infer"; version="1.1-5"; sha256="0nmx7ijczzvrv1j4321g5g5nawzll8srf302grc39npvv1q17jyz"; depends=[quadprog mvtnorm boot kappalab]; };
+  iCluster = derive { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[lattice caTools gdata gtools gplots]; };
+  icomp = derive { name="icomp"; version="0.1"; sha256="0xpjbfb9lxgsby9fj5lbb4nkl6zy8k4whqpgdqq5ndzy7zgq1lvm"; depends=[]; };
+  ICS = derive { name="ICS"; version="1.2-4"; sha256="1sfm9ymrrl72jzg8gsdw6v4q20i4s2w4syyr7brlvan136khpqyn"; depends=[mvtnorm survey]; };
+  ICSNP = derive { name="ICSNP"; version="1.0-9"; sha256="0kisk7wk0zjsr47hgrmz5c8f2ljsl7x4549a1rwzsfkjz8901qka"; depends=[mvtnorm ICS]; };
+  ICsurv = derive { name="ICsurv"; version="1.0"; sha256="1mbndpy3x5731c9y955wscy76jrxlgv33bf6ldqp65cwyvdgxl86"; depends=[MASS matrixcalc]; };
+  idbg = derive { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; };
+  identity = derive { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
+  IDPmisc = derive { name="IDPmisc"; version="1.1.17"; sha256="0nbwdyg9javjjfvljwbp2jl0c6414c11zb2pirmm5pmimaq9vv0q"; depends=[lattice]; };
+  IDPSurvival = derive { name="IDPSurvival"; version="1.0"; sha256="1v1w0i74b065b4qc302xbdl5df7qx9z8jmbc9cn46fqm1hh2b6d7"; depends=[Rsolnp gtools survival]; };
+  idr = derive { name="idr"; version="1.1.1"; sha256="0shwwyvc4j32grxanhyqk66aykzy5bzic2004krvzbmcb5cr1sgb"; depends=[]; };
+  iDynoR = derive { name="iDynoR"; version="1.0"; sha256="01702vl10191mbq2wby1m0y6h8i6y6ic4pa83d27cg3yccsrhziz"; depends=[XML vegan]; };
+  ieeeround = derive { name="ieeeround"; version="0.2-0"; sha256="0xaxrlalyn8w0w4fva8fd86306nvw3iyz44r0hvay3gsrmgn3fjh"; depends=[]; };
+  ifa = derive { name="ifa"; version="7.0"; sha256="1cxafd7iwvyidzy27lyk1b9m27vk785ipj9ydkyx9z1v0zna2wnl"; depends=[mvtnorm]; };
+  iFad = derive { name="iFad"; version="3.0"; sha256="0jrl9bayihp3wb4k5w9kc71qlsdxk7vl83ydfibx2bg79c4hf3cs"; depends=[Rlab MASS coda ROCR]; };
+  ifs = derive { name="ifs"; version="0.1.4"; sha256="0fzani8rnn4rdwlghq967hhi4zfjnk3gwpk3v6wys738xj7yfwp1"; depends=[]; };
+  ifultools = derive { name="ifultools"; version="2.0-0"; sha256="0xgd4j09kixsv653cj5h1kyf9jfzz8nhc85xixbcpz3yn0fqbn00"; depends=[splus2R MASS]; };
+  iGasso = derive { name="iGasso"; version="1.2"; sha256="123487slizsmw5b0imwqll8n03navx30kvawr6jfibbjfdd8vfn7"; depends=[lattice CompQuadForm]; };
+  IgorR = derive { name="IgorR"; version="0.7.1"; sha256="1ahj1ckzjffsskicdy2b70pzx5cn2r0s22yg1ajwiyy4ykwcg4pk"; depends=[bitops]; };
+  igraph = derive { name="igraph"; version="0.7.1"; sha256="1nvb30zjjw861idbd8zap9qqg22k87zdi6qqvjf1s29v7hkx7kq7"; depends=[Matrix]; };
+  igraphdata = derive { name="igraphdata"; version="0.2"; sha256="0hm757fc2snqlav3wx1vdmwy2gr5cskig97c2zlvk88sfwgx4i2m"; depends=[]; };
+  igraphtosonia = derive { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
+  IM = derive { name="IM"; version="1.0"; sha256="1f1vr5zfqnanc5xmmlfkjkvxwbyyysi3mcvkg95p8r687a7zl0cx"; depends=[png jpeg bmp]; };
+  Imap = derive { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; };
+  imguR = derive { name="imguR"; version="1.0.0"; sha256="0yhlir0qxi6hjmqlmmklwd4vkymc5bzv9id9dlis1fr1f8a64vwp"; depends=[RCurl httr png jpeg]; };
+  IMIS = derive { name="IMIS"; version="0.1"; sha256="09zb48vdj0i3vf8vxrs07xwb9ji27vp2fyvmg6jfq631licsryc2"; depends=[mvtnorm]; };
+  ImpactIV = derive { name="ImpactIV"; version="1.0"; sha256="1bb6gw1h15hscr71hy779k2x5ywzx63ylim3hby02d7fnnj46p58"; depends=[nnet]; };
+  imprProbEst = derive { name="imprProbEst"; version="1.0.1"; sha256="09y8yd9sw0b79ca45ryi7p82vy5s8cx0gg603rlc39lgwcdv45i3"; depends=[inline lpSolve]; };
+  imputeLCMD = derive { name="imputeLCMD"; version="1.0"; sha256="0avgl8wwwsz27z439y415lv4h33af58db084mjr236y1z9sfhdyw"; depends=[tmvtnorm norm]; };
+  imputeMDR = derive { name="imputeMDR"; version="1.1.2"; sha256="0ds5a4wav9vb9z5nji8hv5l76310rd970xf702fd0ckx1sh6rgd7"; depends=[]; };
+  imputeR = derive { name="imputeR"; version="1.0.0"; sha256="18rx70w7xb33m84ifxl3p599js78pa748c9lmlkic6yqrgsabcip"; depends=[caret reshape2 glmnet pls rda Cubist ridge gbm mboost rpart]; };
+  imputeYn = derive { name="imputeYn"; version="1.1"; sha256="12hdx7bwpm4jickpbj7cswjsl6f772ibzaf3d79q24n24ymw576h"; depends=[quadprog emplik mvtnorm]; };
+  in2extRemes = derive { name="in2extRemes"; version="1.0-1"; sha256="0k5qczs54b7bl71my8xmnqly91g7c5skj0lm2g8dk4hgrx6wwsrf"; depends=[extRemes]; };
+  inarmix = derive { name="inarmix"; version="0.4"; sha256="11a1vaxq22d5lab07jp5pw0znkaqj6bmkn6vsx62y6m4mmqk04yr"; depends=[Matrix Rcpp]; };
+  incReg = derive { name="incReg"; version="1.0"; sha256="1kckx64hn8g9wvjg7g9xild5hclim1rs7z2m7rgmbdwlbayxpwgv"; depends=[car]; };
+  IndependenceTests = derive { name="IndependenceTests"; version="0.2"; sha256="04qfh2mg9xkfnvp6k7w1ip4rb663p3pzww9lyprcjvr3hcac7gqa"; depends=[xtable]; };
+  indicspecies = derive { name="indicspecies"; version="1.7.2"; sha256="1spf70a42kc5yg62zi9a2dvdyh5npc67bcln4zqcg7dyachw3f2n"; depends=[permute sp rgeos]; };
+  ineq = derive { name="ineq"; version="0.2-13"; sha256="09fsxyrh0j7mwmb5hkhmrzgcy7kf85jxkh7zlwpgqgcsyl1n91z0"; depends=[]; };
+  InfDim = derive { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; };
+  inference = derive { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; };
+  InferenceSMR = derive { name="InferenceSMR"; version="1.0"; sha256="13d3v8kyk6br33659jgql6j1nqmnd8zszqrwfw2x3khkiqzgdmhk"; depends=[survival]; };
+  inflection = derive { name="inflection"; version="1.1"; sha256="1nb1pf07c371vwgplfyjs3q1iqgb5hyk9czxqrjiy18g8p7zdln2"; depends=[]; };
+  influence_ME = derive { name="influence.ME"; version="0.9-4"; sha256="1smvhr72vnds20x71986idk6rak69g28dddlf9g2ivg0ajkji5q9"; depends=[lme4 Matrix lattice]; };
+  influence_SEM = derive { name="influence.SEM"; version="1.4"; sha256="1grsnp8xwmhh9qx0yc5fy8b3g4i4cfqbg6sfzbmn39si2z34wrxw"; depends=[lavaan]; };
+  infoDecompuTE = derive { name="infoDecompuTE"; version="0.5.1"; sha256="1aigd1fvpdqjplq1s1js0sy8px68q73lbp5q591rn52c77smdhaj"; depends=[MASS]; };
+  informR = derive { name="informR"; version="1.0.04"; sha256="0s40hlilk8fjld2m43f2m50a3764qgnv07y5jwv60a8d0nf4gpa2"; depends=[abind relevent]; };
+  infotheo = derive { name="infotheo"; version="1.2.0"; sha256="18xacczfq3z3xpy434js4nf3l19lczngzd0lq26wh22pvg1yniwv"; depends=[]; };
+  infutil = derive { name="infutil"; version="1.0"; sha256="02d0hfbkdqjj0lm1fzwwxy60831kbcjn2m4rfblpib0krkbpz72n"; depends=[ltm]; };
+  INLABMA = derive { name="INLABMA"; version="0.1-5"; sha256="1z5mwibgrc0hrwjq70pm49l5ppcwwm5z4slc1madr291w37awi51"; depends=[Matrix spdep]; };
+  inline = derive { name="inline"; version="0.3.13"; sha256="1dijlcnm7wfd6jgy6wsj6imwg43f91cl7iiz5j2jhhavw2pczr62"; depends=[]; };
+  inlinedocs = derive { name="inlinedocs"; version="2013.9.3"; sha256="13vk6v9723wlfv1z5fxmvxfqhaj68h0x3s2qq9j6ickr4wakb4ar"; depends=[]; };
+  InPosition = derive { name="InPosition"; version="0.12.7"; sha256="1f7xb2kxikmja4cq7s1aiwhdq27zc6hghjbliqqpm8ci8860lb8p"; depends=[prettyGraphs ExPosition]; };
+  insideRODE = derive { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve nlme lattice]; };
+  insol = derive { name="insol"; version="1.1.1"; sha256="0zbawkp4qb0kqb7y9ibiyy8sa9rfgbzwmcdswx6s87p0h7brrqn6"; depends=[]; };
+  intamap = derive { name="intamap"; version="1.3-37"; sha256="17l1bifks0vsk0a3bj2g4w8qrvhmdh0p145kmd09223x9yc4mc9v"; depends=[sp gstat automap mvtnorm MASS evd]; };
+  intamapInteractive = derive { name="intamapInteractive"; version="1.1-10"; sha256="073k6sdds40fmlbw1xnp3x5sc9qdyq2s1bhp7av4jjm930hsvsrn"; depends=[intamap spcosa spatstat automap gstat]; };
+  intcox = derive { name="intcox"; version="0.9.3"; sha256="1m1lzmymh2pk570k6nxq3nj7wxkvs1s3nvz8cb456fnv72ng8fap"; depends=[survival]; };
+  integrOmics = derive { name="integrOmics"; version="2.55"; sha256="1c9vkhvnndhs3h9qzcg3pvizjk9rhgk8gccaxh33spgr4rql8vcw"; depends=[]; };
+  Interact = derive { name="Interact"; version="1.1"; sha256="1g9zhafdpr7j410bi8p03d8x9f8m3n329x8v01yk15f65fp7pl1d"; depends=[]; };
+  InteractiveIGraph = derive { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
+  interAdapt = derive { name="interAdapt"; version="0.1"; sha256="06ki36l1mrnd9lbm696a6gapr488dz8na4wvl9y1fif9hfv4zk25"; depends=[shiny knitcitations RCurl mvtnorm knitr]; };
+  intergraph = derive { name="intergraph"; version="2.0-0"; sha256="0y5cd7y08p86fxm4zqraj81sj5a5h7725wvzcyxd8p1q3ky2sj9f"; depends=[network igraph]; };
+  Interpol = derive { name="Interpol"; version="1.3.1"; sha256="1598lnnrcxihxysdljphqxig15fd8z7linw9byjmqypwcpk6r5jn"; depends=[]; };
+  Interpol_T = derive { name="Interpol.T"; version="2.1.1"; sha256="1fbsl1ypkc65y6c0p32gpi2a2aal8jg02mclz7ri57hf4c1k09gz"; depends=[date chron]; };
+  InterVA4 = derive { name="InterVA4"; version="1.4"; sha256="06yq0zfpakw4ifg8i5jazsbh6k62ksnpw7b02kyc2phi67gvj84k"; depends=[]; };
+  interval = derive { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[survival perm MLEcens]; };
+  intervals = derive { name="intervals"; version="0.14.0"; sha256="0hqifkb8pbx0v42z3s78nm38b3ixi0vycq8kba4mv3w8v7zcfbxb"; depends=[]; };
+  interventionalDBN = derive { name="interventionalDBN"; version="1.2.2"; sha256="0wpp4bfi22ncvl0vdivniwwvcqgnpifpgxb4g5jbyvr0z735cd9w"; depends=[]; };
+  IntLik = derive { name="IntLik"; version="1.0"; sha256="13ww5bsbf1vnpaip0w53rw99a8hxzziibj7j66cm31jmi8l6fznf"; depends=[maxLik]; };
+  intpoint = derive { name="intpoint"; version="1.0"; sha256="0zcv64a0clgf1k3ylh97q1w5ddrv227846gy9a68h6sgwc0ps88b"; depends=[]; };
+  inTrees = derive { name="inTrees"; version="1.1"; sha256="1b88zy4rarcx1qxzv3089gzdz1smga6ssj8cxxccyyzci6px85j1"; depends=[RRF arules gbm xtable]; };
+  intReg = derive { name="intReg"; version="0.1-2"; sha256="1sm7v4fnfsdhyqr3q8dms0ifwb00hzf3x1g0fpm7xldlqc3wf6pr"; depends=[maxLik sets sets]; };
+  intRegGOF = derive { name="intRegGOF"; version="0.85-1"; sha256="0fyvhl6jmi6krfbimsq61dhixlz9h9jxk4yjvwbx2vl8d9fnnr54"; depends=[]; };
+  introgress = derive { name="introgress"; version="1.2.3"; sha256="1j527gf7pmfy5365p2j2jbxq0fb0xh2992hj4d7dxapn4psgmvsk"; depends=[nnet genetics RColorBrewer]; };
+  intsvy = derive { name="intsvy"; version="1.3"; sha256="0743kn95njgv31yhl21h35k9fv78czdw3w669wsvzf35gasxak3y"; depends=[memisc foreign plyr]; };
+  InventorymodelPackage = derive { name="InventorymodelPackage"; version="1.0.2"; sha256="1w35idsagl9v93ci3qmal3xbf11sy6h1k7xnv25c59ivfnpjpkva"; depends=[e1071]; };
+  investr = derive { name="investr"; version="1.1.0"; sha256="1r01dk2xkg2j56xig7yrczbks2kllcszwdj9ih3xxxk16hgb1cgd"; depends=[]; };
+  invGauss = derive { name="invGauss"; version="1.1"; sha256="0l93pk2sh74dd6a6f3970nval5p29sz47ynzqnphx0wl3yfmmg9c"; depends=[survival optimx]; };
+  io = derive { name="io"; version="0.1"; sha256="1yvyxp45y1v1lrksga5gfjqb2w509l3v817830ya5f740h517l74"; depends=[]; };
+  ipdmeta = derive { name="ipdmeta"; version="2.4"; sha256="0k9wqpmrvqdh73brmdzv86a2dbyddjyyyqzqgp1vqb3k48k009s2"; depends=[nlme]; };
+  ipdw = derive { name="ipdw"; version="0.2-1"; sha256="18qvw635dy9ddz16nn0j4s0n97nbyw7yb4a8v1m0f5v9prggj7py"; depends=[gdistance raster]; };
+  ipfp = derive { name="ipfp"; version="1.0"; sha256="1hpfbgygnpnl3fpx7zl728jyw00y3kbbc5f0d407phm56sfqmqwi"; depends=[]; };
+  iplots = derive { name="iplots"; version="1.1-7"; sha256="052n8jdhj8gy72xlr23dwd5gqycqnph7s1djg1cdx2f05iy693y6"; depends=[rJava png]; };
+  IPMpack = derive { name="IPMpack"; version="2.1"; sha256="08b79g5a9maxnxladvc2x2dgcmm427i8p6hhgda3mw2h5qmch2q3"; depends=[Matrix MASS nlme]; };
+  ipred = derive { name="ipred"; version="0.9-3"; sha256="07mw1mdlczlpy232n2sacwncdjcsn6mv7rrzk9xvl2g85pn3bhjl"; depends=[rpart MASS survival nnet class prodlim]; };
+  IPSUR = derive { name="IPSUR"; version="1.5"; sha256="0brh3dx7m1rilvr1ig6vbi7p13bfbblgvs8fc114f08d90fczwnq"; depends=[]; };
+  IQCC = derive { name="IQCC"; version="0.6"; sha256="0gsnkdl4cfxzq6pm9g4i1g23mxg108j3is4x69id1xn2plf92m04"; depends=[qcc MASS micEcon miscTools]; };
+  iqLearn = derive { name="iqLearn"; version="1.2"; sha256="160nl63bxr9ira7v89ags9fm7zd5v09h1820i8bq5wxxfcyjarja"; depends=[]; };
+  irace = derive { name="irace"; version="1.05"; sha256="0192i7mv9yibvjv140iapa4qjqyv87kdw76csmwsjlgs3yrr228h"; depends=[]; };
+  iRefR = derive { name="iRefR"; version="1.13"; sha256="17kjfga62xc4s1kii5clxszbag2dr1dyxfm7jasr20prx28ya6pp"; depends=[igraph]; };
+  iRegression = derive { name="iRegression"; version="1.2"; sha256="1fn25xnrvgx2ayhss136rxn1h3c9pvq2gmb5kbp92vsf07klvh6v"; depends=[mgcv]; };
+  iRepro = derive { name="iRepro"; version="1.0"; sha256="1knncn47pl411r31z1r5ipsiyagcpjbc2gb972n7l3539pcpf0zy"; depends=[]; };
+  irlba = derive { name="irlba"; version="1.0.3"; sha256="1h2ymk9hg9xj2075w715742j23jl7kqa4cgzl1jvr48gcysq5byy"; depends=[Matrix]; };
+  irr = derive { name="irr"; version="0.84"; sha256="0njxackqj8hyf9j1yszwxbnaxgp27fc2bwyyf7dip72wc12f81n5"; depends=[lpSolve]; };
+  irtoys = derive { name="irtoys"; version="0.1.7"; sha256="11nz675haigs6vg08qjibs8yccy2pbz0b9r8761fs8gw3n7bpfz4"; depends=[sm ltm]; };
+  irtProb = derive { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
+  irtrees = derive { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
+  isa2 = derive { name="isa2"; version="0.3.3"; sha256="0czviglmbb7hmhghrg4hla4xhbjr98a5ivqkbq70rnfmqzffcxcz"; depends=[]; };
+  ISBF = derive { name="ISBF"; version="0.2"; sha256="0vhxazbm56pli8m931l1kkica4spf50yclr3yhbwx3539775421a"; depends=[]; };
+  iScreen = derive { name="iScreen"; version="1.0"; sha256="09iyimzrx7510xamhl6w1f7p6j096wh5yck9zgwbk87mvabqynmg"; depends=[maptree]; };
+  isdals = derive { name="isdals"; version="2.0-1"; sha256="0r4dwfz18aai38wg213pn3gny9sh42nm19p6swxmzrkrigiwy4qa"; depends=[]; };
+  ISDA_R = derive { name="ISDA.R"; version="1.0"; sha256="0w6p2iy6s7fy8pw2cf4b5zhqcgjjwd5bkax1aqflaaj4ppmfx64v"; depends=[scatterplot3d]; };
+  IsingFit = derive { name="IsingFit"; version="0.2.0"; sha256="03858wnz9si8r9qlwg5hx0xai4kfn6nnh0mfmias6f5wkgjj0niv"; depends=[qgraph Matrix glmnet]; };
+  isingLenzMC = derive { name="isingLenzMC"; version="0.2.1"; sha256="1g1rz8p9vw2jnx6qw9mb614fpkv5bd7cndwcz0mva33y5shhnibl"; depends=[]; };
+  IsingSampler = derive { name="IsingSampler"; version="0.1.1"; sha256="068fy16fw2ja25mllyw4z3bn17pxdq17zg75zwlwmljds6psa1gk"; depends=[Rcpp plyr]; };
+  ISLR = derive { name="ISLR"; version="1.0"; sha256="0gmhvsivhpq3x8a240lgcbv1qzdgf6wxms4svak1501clc87xc6x"; depends=[]; };
+  ismev = derive { name="ismev"; version="1.39"; sha256="0z5pam5lq72jv13gy40l35nvpk5hfcg3sq14mwhjqd129670gjbv"; depends=[mgcv]; };
+  Iso = derive { name="Iso"; version="0.0-15"; sha256="18ig772xxsbj1vhrv7b20hrglnnz742s1mjzhwx02bpjhica4a46"; depends=[]; };
+  IsoCI = derive { name="IsoCI"; version="1.1"; sha256="0r7ksfic6p2v95c953s4gbzzclk4ldxysm8szb8xba1w0nx2izil"; depends=[KernSmooth]; };
+  isocir = derive { name="isocir"; version="1.1-3"; sha256="1bx68n9wyfs2dcgph66rsy0jw8hjkl5kw212l0563kz3m1nik9sr"; depends=[circular combinat]; };
+  ISOcodes = derive { name="ISOcodes"; version="2014.03.24"; sha256="0a6ap9a5h88c6iqzlqfalcg1fwm9x7rm3c8z9vwxfw6jrjs6v2cp"; depends=[]; };
+  IsoGene = derive { name="IsoGene"; version="1.0-22"; sha256="097xxgqdk2j7y22qflrgss9pgbyg01rcw5088b43pbv3sc85fqcs"; depends=[Iso xtable ff]; };
+  isopam = derive { name="isopam"; version="0.9-12"; sha256="16zkw6y57i46w6v6z8zh0p2mapqry35ibl54vpb5mwp6six2hklk"; depends=[vegan cluster]; };
+  isopat = derive { name="isopat"; version="1.0"; sha256="0fznvgycyd35dh7pbq1xhp667gsficlmycn5pcrqcbs89069xr1s"; depends=[]; };
+  isotone = derive { name="isotone"; version="1.0-1"; sha256="1miq1d35kl5br8jl0lv2jjn8nbhjzy92lqd4jzgi374g7cxyclp1"; depends=[]; };
+  isotonic_pen = derive { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; };
+  IsotopeR = derive { name="IsotopeR"; version="0.4.7"; sha256="18gwmh4nprj4z0ar1w8npj2ymxihw5ydwa33g25mimjk8y2cs0x5"; depends=[coda fgui runjags]; };
+  ISOweek = derive { name="ISOweek"; version="0.6-2"; sha256="1f1h8pgjaa14cvaj8ldl87b4vslxwvyfj46m0hkylwp73sv3g2mm"; depends=[stringr]; };
+  isva = derive { name="isva"; version="1.8"; sha256="09mrvvk09j460dzi45z8hwdpmibfshsii5dcp38g13czr40d48na"; depends=[fastICA]; };
+  ISwR = derive { name="ISwR"; version="2.0-6"; sha256="1ms4lm1skfqaq4mnm03kvjb7kaxdzv72s6i77zp7z17gzfa40c9h"; depends=[]; };
+  iteRates = derive { name="iteRates"; version="3.1"; sha256="1dycmlm3vldc60wz2jjdfbla14383911zfahgal5mx8whxwq95c5"; depends=[partitions VGAM MASS ape apTreeshape geiger gtools]; };
+  iterators = derive { name="iterators"; version="1.0.7"; sha256="1zwqawhcpi95fx4qqj4cy31v5qln2z503f7cvv9v5ch3ard4xxqv"; depends=[]; };
+  iterLap = derive { name="iterLap"; version="1.1-2"; sha256="0ixh9aw115496ib0iswfsj97rjcd2f02z116dg57vl9hhzh28f13"; depends=[quadprog randtoolbox]; };
+  iterpc = derive { name="iterpc"; version="0.2.5"; sha256="1sqb4d3whljmvbik9a0xc1chna8jbshpidzb2xjxsm0h66lavxki"; depends=[Rcpp polynom]; };
+  itertools = derive { name="itertools"; version="0.1-3"; sha256="1ls5biiva10pb1dj3ph4griykb9vam02hkrdmlr5a5wf660hg6xn"; depends=[iterators]; };
+  itertools2 = derive { name="itertools2"; version="0.1.1"; sha256="0yra3x9ddvn5pp3jibm69205zazv81bz0cflw4mdvxpqadaf9f96"; depends=[iterators]; };
+  itree = derive { name="itree"; version="0.1"; sha256="164zgr142hcp9plnbccs6m823p4m0prk73bvp54bc7bqnqmc3d9a"; depends=[]; };
+  its = derive { name="its"; version="1.1.8"; sha256="1g9qmdrw7qiw0xiryf7bf5m9prrba7r11jyzprzdglc1akizav8a"; depends=[Hmisc]; };
+  itsmr = derive { name="itsmr"; version="1.5"; sha256="0l9m5is6d6pkpfkihx0jir5iv8zmqqav8vh9bkkpqv5iz61p4kxb"; depends=[]; };
+  IUPS = derive { name="IUPS"; version="1.0"; sha256="01pv03ink668fi2vxqybli0kgva13gxhqfdxkwz6qk5rnpzwvf5w"; depends=[R2jags Matching boot]; };
+  ivbma = derive { name="ivbma"; version="1.02"; sha256="0ay7ghrygllpgh7cagrk1f56hxw1s1wfv4bap78javiyj6jgwfzy"; depends=[]; };
+  ivfixed = derive { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
+  ivivc = derive { name="ivivc"; version="0.2.0"; sha256="0dsmdhy8iv96xvlm734vh16gva10gh9dij9vqlnj6l782cffs04w"; depends=[reshape sciplot png deSolve minpack_lm]; };
+  ivlewbel = derive { name="ivlewbel"; version="1.1"; sha256="0ykcfikm2i28s3fm6zzx8cjvpwhksg8an0rfr0b35gf7p69brgag"; depends=[gmm plyr lmtest]; };
+  ivpack = derive { name="ivpack"; version="1.1"; sha256="058g73n3gbpwdav4n78n1wfskfp518wkk220a55x5h82i77a5n6a"; depends=[AER sandwich lmtest]; };
+  iWeigReg = derive { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
+  iwtp = derive { name="iwtp"; version="1.0.0"; sha256="1q3nrp526kzkz74vjxvzm6dgdwlsmx7n034a06sqw210z9mqw3dr"; depends=[survival]; };
+  jaatha = derive { name="jaatha"; version="2.5"; sha256="06p04lbxkxg3lbs5idg27iknhkz5j6mcv1mjd4bnxpfcmhhcl4k3"; depends=[phyclust Rcpp reshape2]; };
+  jackknifeKME = derive { name="jackknifeKME"; version="1.0"; sha256="1vkxp6z4fb73azndk6iis2ckv3ch5c5lrpf5x4ah56z3wd785v9v"; depends=[imputeYn survival]; };
+  jackstraw = derive { name="jackstraw"; version="1.0"; sha256="1irfzivy7c9fb2pr98flx05s5hkk6sid1hkd5b3k9m9mgs6ixbfy"; depends=[corpcor]; };
+  JADE = derive { name="JADE"; version="1.9-91"; sha256="142a7cq2rpl746m1lcsr5da50zhc0zddxzc8dxddc87qszf920jw"; depends=[clue]; };
+  JASPAR = derive { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
+  JavaGD = derive { name="JavaGD"; version="0.6-1"; sha256="13n6xzbbjgd0bpwv2xgm3dlscg87wh32q6fcq50kk6byp6yv05sc"; depends=[]; };
+  JBTools = derive { name="JBTools"; version="0.7.2.6"; sha256="1wpkv8841kzpw2iqacp6k0y182lsvfl1ri54aq1hg4ypb51b8ibb"; depends=[foreach gplots colorspace plotrix]; };
+  JGL = derive { name="JGL"; version="2.3"; sha256="1351iq547ln06nklrgx192dqlfnn03hkwj3hrliqzfbmsls098qc"; depends=[igraph]; };
+  JGR = derive { name="JGR"; version="1.7-16"; sha256="0iv659mjsv7apzpzvmq23w514h6yq50hi70ym7jrv948qrzh64pg"; depends=[rJava JavaGD iplots]; };
+  JM = derive { name="JM"; version="1.3-0"; sha256="0yn33dvy9kp7xaxlqk11f86qaichdcxpmq04gpnbcs8w8cdjjz3m"; depends=[MASS nlme survival]; };
+  JMbayes = derive { name="JMbayes"; version="0.6-1"; sha256="1zshy4v7jj3r1vcp9yrw1jj5abmc8wkglsxdb5v6rpmk4xwhvvcq"; depends=[MASS nlme survival]; };
+  Jmisc = derive { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; };
+  Johnson = derive { name="Johnson"; version="1.4"; sha256="12ajcfz5mwxvimv8nq683a2x3590gz0gnyviviyzf5x066a4q0lj"; depends=[]; };
+  JohnsonDistribution = derive { name="JohnsonDistribution"; version="0.24"; sha256="00211pa2wn4bsfj6wfl9q9g123cp8iz3kxc17pw9q65j9an4sr0m"; depends=[]; };
+  joineR = derive { name="joineR"; version="1.0-3"; sha256="0q98nswbxk5dz8sazzd66jhlg7hv5x7wyzcvjc6zkr6ffvrl8xj7"; depends=[nlme MASS boot survival lattice statmod gdata]; };
+  jointDiag = derive { name="jointDiag"; version="0.2"; sha256="0y1gzrc79vahfhn4jrj5xys8pmkzxj4by7361730gi347f0frs0a"; depends=[]; };
+  jointPm = derive { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; };
+  JointRegBC = derive { name="JointRegBC"; version="0.1.1"; sha256="0w7ygs3pvlqkkb2x20kv20kda3gz7cn6zgrkg30nhjxp318d76ab"; depends=[nlme MASS survival]; };
+  JOP = derive { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[Rsolnp dglm]; };
+  JoSAE = derive { name="JoSAE"; version="0.2.2"; sha256="1ag4qg9cfcg8i2xz79bza2qlw3azw33h7k2ip5nlfkfpd33l9w05"; depends=[nlme]; };
+  jpeg = derive { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
+  JPSurv = derive { name="JPSurv"; version="1.0.1"; sha256="11hfji0nyfmw1d7y2cijpp7ivlv5s9k8g771kmgwy14wflkyf7g2"; depends=[]; };
+  jSonarR = derive { name="jSonarR"; version="1.0"; sha256="1369v79y2679p1c1s6pfi0zdj21zbbln3a4gqsxivx82m0lwqprp"; depends=[RCurl]; };
+  jsonlite = derive { name="jsonlite"; version="0.9.10"; sha256="0w49mv4fabzgc86gv2jn9apwf9k6bk1s1p3mjmaxpmw95wgjpc9r"; depends=[]; };
+  jtrans = derive { name="jtrans"; version="0.1"; sha256="1wcrjyifsnpk9jfmwc1cx30qp5vavwl87i0avbbls8cmji7z0nay"; depends=[]; };
+  JudgeIt = derive { name="JudgeIt"; version="1.5.1"; sha256="1jssz1x9gw9hjpqlqbvlxa99icl8gffzl6qya0cnaxr50p82hdag"; depends=[]; };
+  Julia = derive { name="Julia"; version="1.0"; sha256="0df72mjkfsaz7wbrg3l6fcypwm59hdxxndjv1b833xa4qpq5301g"; depends=[]; };
+  jvmr = derive { name="jvmr"; version="2.11.1.1"; sha256="18hb0pwyrgnrs16w4hl44i401604qfj0hwv2fggm8s21qxb35x9x"; depends=[rJava]; };
+  KANT = derive { name="KANT"; version="1.0"; sha256="0k5i1fwbmc1cg9p2zi94npkdn12lm92d7y8ncqnn64dr8ypxh2h5"; depends=[]; };
+  KappaGUI = derive { name="KappaGUI"; version="1.1"; sha256="1fyx23i6j18q6swazwy2l70lg2933akh4d0k6dzvfjxrai7fvi7y"; depends=[irr]; };
+  kappalab = derive { name="kappalab"; version="0.4-6"; sha256="0dmzy0d7azzfpnzbf8b7a6zgmmfwzfiybz8610asajyfsj36gszl"; depends=[lpSolve quadprog kernlab]; };
+  kappaSize = derive { name="kappaSize"; version="1.1"; sha256="0jrjal8cvy2yg0qiyilmv3jl3ib5k9jg8gp2533kdsx4m0sack04"; depends=[]; };
+  KappaV = derive { name="KappaV"; version="0.3"; sha256="13mmfb8ijpgvzfj20andqb662950lp9g25k5b26r5ba65p7nhva7"; depends=[PresenceAbsence maptools rgeos sp]; };
+  kaps = derive { name="kaps"; version="1.0-0"; sha256="19dwvlvpm8naisch2c8265rm178jixc6klqf7ilsrz6wi5r119x5"; depends=[survival Formula coin]; };
+  KATforDCEMRI = derive { name="KATforDCEMRI"; version="0.740"; sha256="1k8fihd9m26k14rvc5d5x0d9xc3mh8d49hs64p55np1acqfhg2sy"; depends=[locfit R_matlab matlab]; };
+  kcirt = derive { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[mvtnorm snowfall corpcor]; };
+  kdetrees = derive { name="kdetrees"; version="0.1.5"; sha256="1plf2yp2vl3r5znp5j92l6hx1kgj0pzs7ffqgvz2nap5nf1c6rdg"; depends=[ape distory ggplot2]; };
+  kedd = derive { name="kedd"; version="1.0.0"; sha256="1llc8hqbrp1r75b28z889nik047y400g2h05a7cjaq0r2qxbcqx1"; depends=[]; };
+  kelvin = derive { name="kelvin"; version="1.2-2"; sha256="0fl2yxc0dpmkhq3f7711gd08i7jlzlfncin1d6q251dfnmwd7rzf"; depends=[Bessel]; };
+  Kendall = derive { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
+  kequate = derive { name="kequate"; version="1.4.0"; sha256="0vr45y4f6x3080pf3k53nifavf8mfhikz54nis66c53fs9rp0jwf"; depends=[ltm equateIRT]; };
+  kerdiest = derive { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[date chron evir]; };
+  kernelFactory = derive { name="kernelFactory"; version="0.2.0"; sha256="1ihghqrrndgif6kh6n0f4g3bfy5miskn3mk5ynxfcnnrfvp9h3xj"; depends=[randomForest AUC genalg kernlab]; };
+  kernlab = derive { name="kernlab"; version="0.9-19"; sha256="0caqp5dp1irhwpq8lyram35r8x16qlfp6f5wzqyi5rzcz27d03sg"; depends=[]; };
+  KernSmooth = derive { name="KernSmooth"; version="2.23-12"; sha256="0jlpfaf8wqa9hq7scdmgfhkvr5hi61di54slkzskg0pr7c28rlqh"; depends=[]; };
+  KernSmoothIRT = derive { name="KernSmoothIRT"; version="6.1"; sha256="1hq4sykddh9sg24qrnccii89nqxmq7hnldhn8wl6y62aj0h1nrqm"; depends=[Rcpp plotrix rgl]; };
+  KFAS = derive { name="KFAS"; version="1.0.4-1"; sha256="0s9mrqb1mvs77z57hx734kajbyqddcc9j20wrsmrbf8g97in61s7"; depends=[]; };
+  KFKSDS = derive { name="KFKSDS"; version="1.5"; sha256="0wahqli7j851kdqi29b059gb2zm0x00fq08sixvlrcbdf3irlv3m"; depends=[]; };
+  kimisc = derive { name="kimisc"; version="0.2-1"; sha256="1nbhw1q0p87w4z326wj5b4k0xdv0ybkgcc59b3cqbqhrdx8zsvql"; depends=[plyr]; };
+  kin_cohort = derive { name="kin.cohort"; version="0.6"; sha256="13gnjk58m5kya9wj87klwm6h7cdqi61ba6y0cg9k1hgbc1ajy3s8"; depends=[survival]; };
+  kinfit = derive { name="kinfit"; version="1.1.12"; sha256="1vh64k244lk8x7223dr29ds0qnhw7c7xdmrk86vhwshlzb8x712y"; depends=[]; };
+  kinship2 = derive { name="kinship2"; version="1.6.0"; sha256="06f544yk61i1xq0rm0r5gpzwfl6rvzyg7gz8z86bjyxg0z44h3vy"; depends=[Matrix quadprog]; };
+  kintone = derive { name="kintone"; version="0.1.1"; sha256="13c82vkapks9j2crrb4awnhl60ld8b1r7xmy9yv4zzch868kcl5g"; depends=[RCurl rjson]; };
+  kitagawa = derive { name="kitagawa"; version="2.1-0"; sha256="1ddyd0rwwmdpbq823qass5dlp2lvi9d64wpl61ik6fghms2p9ryr"; depends=[kelvin]; };
+  kknn = derive { name="kknn"; version="1.2-5"; sha256="0c1qnn1lnypjybk2p0dpfrg6hzxflzbwmjb5biq45r57bzji7im7"; depends=[igraph Matrix]; };
+  klaR = derive { name="klaR"; version="0.6-12"; sha256="10nkqb1zradbvifgv1fm373mhyydgdjjgmnw2442a2lark59z3vs"; depends=[MASS combinat]; };
+  klausuR = derive { name="klausuR"; version="0.12-5"; sha256="1agd432ihljww3bhm73lqdvgkd8w99jqr7fp5xwwav7mawwsirfj"; depends=[xtable psychometric]; };
+  klin = derive { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; };
+  kmc = derive { name="kmc"; version="0.1-2"; sha256="16lv8wk24cp91qg5202zhfmdhg83qw8bwiycknaml5ki820ffdlx"; depends=[rootSolve emplik Rcpp]; };
+  km_ci = derive { name="km.ci"; version="0.5-2"; sha256="1l6kw8jppaa1802yc5pbfwwgac56nhwc9p076ivylhms4w7cdf8v"; depends=[survival]; };
+  kmconfband = derive { name="kmconfband"; version="0.1"; sha256="10n5w8k57faqcclwshs4m66i2i5b70i6f3xq5nqlgsi2ldkysbc9"; depends=[survival]; };
+  kmi = derive { name="kmi"; version="0.5"; sha256="13m9kxbyph24njp28r122gry03rpkp26ldilhjc4rnixczvnhzwi"; depends=[survival mitools]; };
+  Kmisc = derive { name="Kmisc"; version="0.5.0"; sha256="0pbj3gf0bxkzczl6k4vgnxdss2wmsffqvcf73zjwvzvr8ibi5d95"; depends=[Rcpp data_table lattice knitr markdown]; };
+  kml = derive { name="kml"; version="2.2"; sha256="1g8wgmvs31r3hp7y8n9pkxc9qy5fxvb3nicmzgacmghaiwbwc8g3"; depends=[clv longitudinalData]; };
+  kml3d = derive { name="kml3d"; version="2.2"; sha256="1n94kfi49rgb9149bgc9043f0y5xpaclmfjr8fkwairqz5nnmgbv"; depends=[clv rgl misc3d longitudinalData kml]; };
+  kmlcov = derive { name="kmlcov"; version="1.0.1"; sha256="09s9ganfsnwp22msha78g6pjr45ppyfyqjf6ci64w3w15q5qlcd9"; depends=[]; };
+  KMsurv = derive { name="KMsurv"; version="0.1-5"; sha256="0hi5vvk584rl70gbrr75w9hc775xmbxnaig0dd6hlpi4071pnqjm"; depends=[]; };
+  knitcitations = derive { name="knitcitations"; version="1.0-1"; sha256="0zlgia03r7am1ahbkraxqzsl649x1iidxq5s1jf1c8jkgfdjgicm"; depends=[RefManageR digest httr]; };
+  knitr = derive { name="knitr"; version="1.6"; sha256="0r34ras0csvm73z6j4f606pi387mjn4dz91djkx1j6fpk5rx1f68"; depends=[evaluate digest formatR highr markdown stringr]; };
+  knitrBootstrap = derive { name="knitrBootstrap"; version="0.9.0"; sha256="1cw5dvhjiypk6847qypxphfl9an54qjvd6qv029znhwijsg56mmg"; depends=[knitr markdown]; };
+  knnGarden = derive { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; };
+  knnIndep = derive { name="knnIndep"; version="1.0"; sha256="13iav0db8qmbmnf7hxmbvcyb0d76wyd05ib8mfzmgsdcpdkn4f72"; depends=[]; };
+  kobe = derive { name="kobe"; version="1.3.2"; sha256="1z64jwrq6ddpm22cvk2swmxl1j7qyz0ddk3880c7zfq6gk7f9bxl"; depends=[plyr reshape ggplot2 MASS emdbook coda]; };
+  kohonen = derive { name="kohonen"; version="2.0.15"; sha256="1mamn6lwnd54jw7bbxgrxj511abn9wg5rxrm9fac7jndf00kjaim"; depends=[class MASS]; };
+  kolmim = derive { name="kolmim"; version="0.2"; sha256="1cq1miny83shxas4zijcbzcnxv29vjyxj3pip8brf52sjvrj4max"; depends=[]; };
+  KoNLP = derive { name="KoNLP"; version="0.76.9"; sha256="1q72irl4izb7f5bb99plpqnmpfdq4x4ymp4wm2bsyfjcxm649ya8"; depends=[rJava stringr hash tau Sejong]; };
+  koRpus = derive { name="koRpus"; version="0.05-5"; sha256="03rw0yb67y652j8hcr5m4c0py0rr3gp87y0hdxpypd81rkikwhfm"; depends=[]; };
+  Kpart = derive { name="Kpart"; version="1.1"; sha256="1cyml48i1jvwy4xzymijwraqpnssnkrd81q3m7nyjd5m2czjvihv"; depends=[leaps]; };
+  kriging = derive { name="kriging"; version="1.0.1"; sha256="0ppkhjrz09x4b8syp6j2xjdv5gi4mjkvnqdfxv3pqcm3c7zqfdrs"; depends=[]; };
+  KrigInv = derive { name="KrigInv"; version="1.3"; sha256="1zgrx0rmcaf3j3igqhvnbzjwh2dm2x5s5l027c7cbrl1rn20im0r"; depends=[DiceKriging rgenoud MASS lhs pbivnorm randtoolbox DiceView]; };
+  KRLS = derive { name="KRLS"; version="0.3-7"; sha256="0dx4b68xx3saqlkbpvvrhxjscl7jr5phwqvjywxsp4qxlr3ysl79"; depends=[]; };
+  krm = derive { name="krm"; version="13.11-03"; sha256="05yy06ib879j1gcgqgljkfw79a3vg2ij71w7zah4ixl7di0301la"; depends=[]; };
+  ks = derive { name="ks"; version="1.9.2"; sha256="05h13g4nla3gvawsb9zf7w8cdylpf7rc6ly6lp5dbsgc9qxha5py"; depends=[KernSmooth misc3d mvtnorm rgl multicool]; };
+  kSamples = derive { name="kSamples"; version="1.0"; sha256="0a4kl6508isjsbv8g7b8g9c2kmai90lwdjn0576i7l4hnqvi532b"; depends=[SuppDists]; };
+  KsPlot = derive { name="KsPlot"; version="1.3"; sha256="1mzpsgzscpv888ipfh9nakhqrgw7rdinb5lwhkjk9yk7ap5lfvs0"; depends=[e1071 caret nnet MASS caTools mda glmnet randomForest mvpart]; };
+  kst = derive { name="kst"; version="0.2-1"; sha256="1wy9cvvln994qgr0p7qa9qs1jd7gjv6ch65gg6i42cf9681m9h65"; depends=[proxy relations sets]; };
+  ktsolve = derive { name="ktsolve"; version="1.1"; sha256="0b5myr093v3qaj9gzbw1w728i5ij418whxxpicj51w657dcy647k"; depends=[]; };
+  ktspair = derive { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[]; };
+  kulife = derive { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
+  kyotil = derive { name="kyotil"; version="2014.4-1"; sha256="1cqbrn860lfh0bsfglmqa3vqv1jfblicfaz2albk31p9hh14hm20"; depends=[]; };
+  kza = derive { name="kza"; version="3.0.0"; sha256="0v811ln9vg7msvks9lpgmdi39p01342yi8fj180aclha3mfk6gfw"; depends=[polynom]; };
+  kzft = derive { name="kzft"; version="0.17"; sha256="1y6almhs1x21cr4bbf5fj3mnhp65ivzs869660cyg70sva853sv7"; depends=[polynom]; };
+  kzs = derive { name="kzs"; version="1.4"; sha256="1srffwfg0ps8zx0c6hs2rc2y2p01qjl5g1ypqsbhq88vkcppx1w9"; depends=[lattice]; };
+  l2boost = derive { name="l2boost"; version="1.0"; sha256="1p0sbvlnax4ba4wjkh3r0bmjs601k590g7bdfk6wxvlj42jxcnkl"; depends=[MASS]; };
+  labdsv = derive { name="labdsv"; version="1.6-1"; sha256="0bcsjznq9w1arv503895060hkri0447fnc49nj4ynry7fi35ci22"; depends=[mgcv MASS]; };
+  labeledLoop = derive { name="labeledLoop"; version="0.1"; sha256="0gq392h0sab8k7k8bzx6m7z5xpdsflldhwbpdf92zbmkbzxsz00m"; depends=[]; };
+  labeling = derive { name="labeling"; version="0.2"; sha256="194awd2j33hk7p368q2npkrggkxd1xi45bj79vd8hc4jj65pzala"; depends=[]; };
+  label_switching = derive { name="label.switching"; version="1.2"; sha256="149np2jqr4vffj1mb7wvnlpj4fhb3gijrdn7qx1m946pf3h13wvv"; depends=[lpSolve combinat]; };
+  labeltodendro = derive { name="labeltodendro"; version="1.3"; sha256="13kpmv26zzjf5iwpr4vs797irplmaixp1agx5v80wr4lvd2hirvg"; depends=[]; };
+  labstatR = derive { name="labstatR"; version="1.0.7"; sha256="1p6xav9cb7yx3n8rkh8xm1jkykf3xw974id49j558hmayq47ad4f"; depends=[]; };
+  laeken = derive { name="laeken"; version="0.4.5"; sha256="1wbdj7wnyapj4wbzsclm1vyyaxid4ww72dv5v2nk64q7fbc56py0"; depends=[boot MASS]; };
+  laercio = derive { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; };
+  LaF = derive { name="LaF"; version="0.6.1"; sha256="1yg498qzxzx4qpp27rwh854x7vkz8iqmny1pvcy2rvnnb8g0wk24"; depends=[Rcpp]; };
+  laGP = derive { name="laGP"; version="1.1"; sha256="03xpgmab61m160vbcach218njwdkpfqvs19fvcvixvgy3hpa0prc"; depends=[]; };
+  Lahman = derive { name="Lahman"; version="2.0-3"; sha256="0rsjm81yda7z73dvafhbplkp1ly5diwwmls2fgpz3pvr2hc72v1f"; depends=[]; };
+  LakeMetabolizer = derive { name="LakeMetabolizer"; version="1.1"; sha256="0l2l9l2c75cmxpqi2w9cgsad2ffnx6b7wvx6xdx6mkb52kkp9sqy"; depends=[rLakeAnalyzer plyr]; };
+  Lambda4 = derive { name="Lambda4"; version="3.0"; sha256="04ikkflfr0nmy1gr3gfldlh2v8mpl82k1wwnzp57d2kn75m9vbxz"; depends=[]; };
+  lambda_r = derive { name="lambda.r"; version="1.1.6"; sha256="03f3945f9kqj7in1mxk23ai56x68rdyd10c3ki4nqqysshyjr4d4"; depends=[]; };
+  lambda_tools = derive { name="lambda.tools"; version="1.0.3"; sha256="1vd1ms8yzy01wvg4baj2ypyiyy27ck3na9awlmvhdvxc1s459sr7"; depends=[lambda_r]; };
+  LambertW = derive { name="LambertW"; version="0.2.9.9.5"; sha256="06330zdpp2h973j841axd9nqgmy5z8gns1w2anmjw298k164mr6g"; depends=[moments gsl MASS nortest maxLik]; };
+  lancet_iraqmortality = derive { name="lancet.iraqmortality"; version="0.2-0"; sha256="00f467j9lw30r6han9d3gdkyqmkqsr3hq4cvp2mc93qhpprf81cq"; depends=[foreign]; };
+  landsat = derive { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[rgdal sp lmodel2 mgcv]; };
+  languageR = derive { name="languageR"; version="1.4.1"; sha256="0grkhdjz9dcrgq6qwv7wpwmckn3mfv022c5wrx29b1dxafd0qzm0"; depends=[]; };
+  lar = derive { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
+  LARF = derive { name="LARF"; version="1.1"; sha256="0mlmfd748flxf3cxj3y668azhx9v7wd2cf3c6qj56llmk5fygfbg"; depends=[]; };
+  LargeRegression = derive { name="LargeRegression"; version="1.0"; sha256="05vkd6skqg19bs54vsjf3i4rwz1j3g1gmp9jj8fsnmkds46yr91y"; depends=[Matrix]; };
+  lars = derive { name="lars"; version="1.2"; sha256="0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"; depends=[]; };
+  laser = derive { name="laser"; version="2.4-1"; sha256="1f6j3xdks0w63fqjj9q8ng2m6ss90kcnsrigwal0bqskpvrpiqyz"; depends=[ape geiger]; };
+  lasso2 = derive { name="lasso2"; version="1.2-19"; sha256="0zkwjsd42a6z4gylq9xbs4z8n1v7ncwvssjnn3h4yz1icjfzzlvk"; depends=[]; };
+  lassoscore = derive { name="lassoscore"; version="0.5"; sha256="1nnaxy0h48p8ribg4s6sxvqmnwjvr7d9yjxxcn2j4g8pwvfpiirg"; depends=[glasso glmnet]; };
+  lassoshooting = derive { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; };
+  latdiag = derive { name="latdiag"; version="0.2"; sha256="11fahajwky3cfbd8y5xfaiz24qf7bkifbzcnvhv7daan4gsha04z"; depends=[]; };
+  latentnet = derive { name="latentnet"; version="2.5.1"; sha256="0jzdgsw3i0s0rn8199m7g4x2gwbbrc5nd7fzimhxmib99pyzvrjf"; depends=[statnet_common network ergm sna mvtnorm abind coda]; };
+  Laterality = derive { name="Laterality"; version="0.9.2"; sha256="13b1mpjcq7a14dwscnfs07hahd9is2fbn4wxwh31732vv3hr7kwm"; depends=[ade4]; };
+  lattice = derive { name="lattice"; version="0.20-29"; sha256="0ip6qw1kry68dqj97bh8ddpq6gfsxf3n3axc6pn3zv2n1mfv6s9s"; depends=[]; };
+  latticeDensity = derive { name="latticeDensity"; version="1.0.7"; sha256="1y33p8hfmpzn8zl4a6zxg1q3zx912nhqlilca6kl5q156zi0sv3d"; depends=[splancs spdep spatstat spam]; };
+  latticeExtra = derive { name="latticeExtra"; version="0.6-26"; sha256="16x00sg76mga8p5q5ybaxs34q0ibml8wq91822faj5fmg7r1050d"; depends=[RColorBrewer lattice]; };
+  LatticeKrig = derive { name="LatticeKrig"; version="3.3"; sha256="1l8rw63ljc54zsmnan8z7ipgdhzy3fjqrgywspn7g1120pfl59a4"; depends=[spam fields]; };
+  latticist = derive { name="latticist"; version="0.9-44"; sha256="0kx2dyyr3zn3p63r5ypaw22hdrqyjibkws3hgyc3d560shjyfafv"; depends=[lattice latticeExtra vcd gWidgets]; };
+  lava = derive { name="lava"; version="1.2.6"; sha256="16vdc1j3py4jszcldprlsxjc2pzbprpj7mdj53164adiw7vfah78"; depends=[numDeriv]; };
+  lavaan = derive { name="lavaan"; version="0.5-16"; sha256="1ifzhbzb57smzj22hc19d0hl1v6qg1jvilgrjy9fp0kixk1qmf80"; depends=[MASS mnormt pbivnorm quadprog]; };
+  lavaan_survey = derive { name="lavaan.survey"; version="1.1"; sha256="1vscv165kilkc00pgs2s9qn404l3rv45zc9kzmrghxz42jsy04zc"; depends=[lavaan survey MASS Matrix]; };
+  lava_tobit = derive { name="lava.tobit"; version="0.4-7"; sha256="1da98d5pndlbbw37k64fmr2mi1hvkhjxsmm3y9p4b772pz9i1pvj"; depends=[lava mvtnorm survival]; };
+  lawstat = derive { name="lawstat"; version="2.4.1"; sha256="142plbzpvi5xy7j5m5wizhz3w1n9im9hs8byhs6kfjpdw710qn7h"; depends=[mvtnorm VGAM]; };
+  lazy = derive { name="lazy"; version="1.2-15"; sha256="1pdqgvn0qpfg5hcg5159ccf5qj2nd1ibai9p85rwjpddfynk6jks"; depends=[]; };
+  lazyData = derive { name="lazyData"; version="1.0.3"; sha256="1i4jry54id8hhfla77pwk3rj2cci6na36hxj7k35k8lx666fdam2"; depends=[]; };
+  lazyWeave = derive { name="lazyWeave"; version="2.2.5"; sha256="18j31lbbplxvrz4wnq7hfw9qcx1s0y4c34lbxwly2wyrvzjhxybl"; depends=[Hmisc survival]; };
+  lbiassurv = derive { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; };
+  LCA = derive { name="LCA"; version="0.1"; sha256="14nhx2fs18558zljnw56mdz3qx30v394llhzswxhznjfiiqc9z5h"; depends=[]; };
+  LCAextend = derive { name="LCAextend"; version="1.2"; sha256="1y9azq9v42a3z5fq6gj8js89qblb2z93k4mg4jmw0wgkyv6mysfc"; depends=[boot mvtnorm rms kinship2]; };
+  lcd = derive { name="lcd"; version="0.7-3"; sha256="1jnnw15d4s8yb5z5jnzvmlrxv5x6n3h7wcdiz2nw4vfiqncnpwx4"; depends=[igraph MASS ggm]; };
+  lcda = derive { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; };
+  LCFdata = derive { name="LCFdata"; version="2.0"; sha256="1x3vbr6hdviqvd6dxn1kb449g0q5zkfmjsmr5nxd2g82p69lv3xm"; depends=[]; };
+  lcmm = derive { name="lcmm"; version="1.6.4"; sha256="1qk821q7abq7w2iyyd2yyjj1cr943ycjb4174m3zdxj3qxlq1v0z"; depends=[survival]; };
+  lctools = derive { name="lctools"; version="0.1-3"; sha256="1wn9qymbcq9q99xnjbk3qswrfljvfqqhihvgr0brbpq3pbbxh55x"; depends=[reshape weights]; };
+  lda = derive { name="lda"; version="1.3.2"; sha256="1iizsksp8wz34ji7p2kc6npxz9rzhs6217793nfri6y6mq23vs8z"; depends=[]; };
+  ldbounds = derive { name="ldbounds"; version="1.1-1"; sha256="15ixrq615x64zmi6dryq3ww0dqxd0qf5xx1bs3w934sf99l46bhs"; depends=[lattice]; };
+  LDcorSV = derive { name="LDcorSV"; version="1.3.1"; sha256="0i4npl90mkj8vry6ckq8bc4ydbl44vxichgsxyn80r6k9i71yl67"; depends=[MASS]; };
+  LDExplorer = derive { name="LDExplorer"; version="1.0.3"; sha256="1hkhbhclm1bvxzq7z663i583f94cvkklaq0z5qkswrpi406md7mi"; depends=[]; };
+  LDheatmap = derive { name="LDheatmap"; version="0.99-1"; sha256="1bj42chw1xyf8yg6cfv9p4yzsggng7zy6wrw6q22559pwm6c6vr0"; depends=[genetics]; };
+  ldlasso = derive { name="ldlasso"; version="3.2"; sha256="0ij68zvgm8dfd2qwx6h6ygndac29qa0ddpf11z959v06n8jsnk11"; depends=[GenABEL quadprog]; };
+  LDOD = derive { name="LDOD"; version="1.0"; sha256="0mf2sy01yv57mqicrz08a17m6crigklx6fmw9zpxv7g85qw1iq4v"; depends=[Rsolnp Rmpfr]; };
+  ldr = derive { name="ldr"; version="1.3.2"; sha256="1fjgj3g5qgc0sx6xwp48agvm2f59s55qjsxn332cgnfyxaz5pazz"; depends=[GrassmannOptim Matrix]; };
+  LDRTools = derive { name="LDRTools"; version="0.1"; sha256="1cr0v6qsdldy89p44lhr6hisqaz99qzab32kd1srdnnwnwl1q2y4"; depends=[]; };
+  LDtests = derive { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; };
+  LeafAngle = derive { name="LeafAngle"; version="1.2"; sha256="18b3gncn18jvsjprjmaays67iwjdcpszy5z711rb71h1vyi0fdfs"; depends=[]; };
+  leafletR = derive { name="leafletR"; version="0.2-1"; sha256="0l2xqi8b5j1qrfrahk06r7b3vx0lrgihfaiv0psxj6d81xv2x72y"; depends=[]; };
+  LEAPFrOG = derive { name="LEAPFrOG"; version="1.0.6"; sha256="0zsvf22ir8r4ld67ir4m9ziqwrxfnjs44yjayicpm6sg4bdfdfa5"; depends=[alabama MASS]; };
+  leapp = derive { name="leapp"; version="1.2"; sha256="1yiqzmhgl5f3zwpcc5sz3yqrvp8p6r4w2ffdfyirirayqc96ar17"; depends=[MASS corpcor]; };
+  leaps = derive { name="leaps"; version="2.9"; sha256="1ax9v983401hvb6cdswkc1k7j62j8yk6ds22qdj24vdidhdz5979"; depends=[]; };
+  LearnBayes = derive { name="LearnBayes"; version="2.15"; sha256="0cz2rgqy1cmdz2h1qbdvfqxmmdzmg2z1scdlxr7k385anha13ja5"; depends=[]; };
+  learningr = derive { name="learningr"; version="0.29"; sha256="1nr4ydcq2mskv4c0pmf0kxv5wm8pvjqmv19xz5yaq0j834b0n5q7"; depends=[plyr]; };
+  leiv = derive { name="leiv"; version="2.0-6"; sha256="18cf050653qrwyma23r50i66irjpdbp03nc96pirji5sl4dr9q7x"; depends=[]; };
+  LeLogicielR = derive { name="LeLogicielR"; version="1.2"; sha256="0h52pzrksi1mn55mnxbfi61hl7x61cnkhp450slfrk68f6kp30x6"; depends=[xtable RColorBrewer gdata IndependenceTests]; };
+  lessR = derive { name="lessR"; version="3.1"; sha256="1hnjzh8chh08hgmsfc3gqgzcvs5rqycxdp0kjv660mbmrmi0g270"; depends=[car leaps MBESS foreign gdata triangle]; };
+  lestat = derive { name="lestat"; version="1.8"; sha256="12w3s5yr9lsnjkr3nsay5sm4p241y4xz0s3ir56kxjqw23g6m80v"; depends=[MASS]; };
+  letsR = derive { name="letsR"; version="1.0"; sha256="1far1vil7g4ymvmhzb0dgfng5d1nkcb4rr1sp7yi72lz60h3g9hk"; depends=[maps raster XML geosphere maptools sp]; };
+  lfe = derive { name="lfe"; version="1.7-1289"; sha256="1k64llwsjk6lpfyvzwq5plickds15r42p0x5ppr57xzjqfyhyy61"; depends=[Matrix Formula xtable]; };
+  lfstat = derive { name="lfstat"; version="0.6.1"; sha256="0i3zrinvjxlg9w5zqrv8wzy15vxvi2gw3jrlfs4rddkxnp98ya9d"; depends=[lattice lmom lmomRFA latticeExtra]; };
+  lga = derive { name="lga"; version="1.1-1"; sha256="1nkvar9lmdvsc3c21xmrnpn0haqk03jwvc9zfxvk5nwi4m9457lg"; depends=[boot lattice]; };
+  lgarch = derive { name="lgarch"; version="0.4"; sha256="0pf66p8nvrzjkayjj4y38lbyhz389q3q7ffd3kzsa3a1z9h2156x"; depends=[zoo]; };
+  lgcp = derive { name="lgcp"; version="1.3-6"; sha256="04khs0knax3g20hgi5ykny1ck4jxz1aivaa19bb24fljvhn88prv"; depends=[spatstat sp raster RandomFields iterators ncdf rpanel fields maptools Matrix rgeos]; };
+  LGS = derive { name="LGS"; version="0.91"; sha256="0rzj1shapyg7hyzsb9v81dirwihd7bz9s861l75g3yl3p4qm8sg7"; depends=[]; };
+  lgtdl = derive { name="lgtdl"; version="1.1.3"; sha256="00lffc60aq1qjyy66nygaypdky9rypy607mr8brwimjn8k1f0gx4"; depends=[]; };
+  lhs = derive { name="lhs"; version="0.10"; sha256="1hc23g04b6nsg8xffkscwsq2mr725r6s296iqll887b3mnm3xaqz"; depends=[]; };
+  libamtrack = derive { name="libamtrack"; version="0.5.5"; sha256="0v2h4ficf87ai3h2liw8j7428k0bzzb59zini2vskwhcqb7ky7yw"; depends=[]; };
+  LiblineaR = derive { name="LiblineaR"; version="1.80-7"; sha256="1gg4x0x94qq7h3nf5z3k7zy3iknydz3cfpnb8syhpgv5a462i84v"; depends=[]; };
+  LICORS = derive { name="LICORS"; version="0.2.0"; sha256="0p9y21k1mj1v397jpb5g6jiw7rpzbyfwr4kv2rp3lyxyasy2ykf0"; depends=[RColorBrewer mvtnorm zoo FNN fields locfit Matrix]; };
+  LICurvature = derive { name="LICurvature"; version="0.1.1"; sha256="09hqar4kvksd816ya6jg349r0v6z2m2109hq6j4k1d2vchab4lni"; depends=[MASS]; };
+  lifecontingencies = derive { name="lifecontingencies"; version="1.1"; sha256="0rjiqmhqiliy8zbprxnr63r0wvwzs825gd6rrz4skwxcwpl4d0sh"; depends=[]; };
+  LifeTables = derive { name="LifeTables"; version="0.2"; sha256="1n4mqypxm0rbi77ykpr6bpzxfxvq8mm9bmfvcqz7k3ajb78cdr0d"; depends=[mclust]; };
+  LIHNPSD = derive { name="LIHNPSD"; version="0.2.1"; sha256="08ils29vvaq6abkgxbh028vwjw6l6h10cirbnwr65s458zvh4xqv"; depends=[sn moments BB Bolstad2 optimx Rmpfr]; };
+  likelihood = derive { name="likelihood"; version="1.6"; sha256="11p7k6wpr7ypas414qir0hracy0960j8g3nwlhjbmynwmfzpkq1r"; depends=[nlme]; };
+  likeLTD = derive { name="likeLTD"; version="5.4.0"; sha256="09h1a4pn1i3vm3116yxvx07b62cbqmq84svpkbxykl4jmlqmwg8x"; depends=[DEoptim ggplot2 gtools rtf gdata]; };
+  likert = derive { name="likert"; version="1.1"; sha256="1jmzxqav5hqvafb53k4mk8a2zfbzvlynqxkphndnbngq7z5915ah"; depends=[ggplot2 gridExtra xtable reshape psych]; };
+  LIM = derive { name="LIM"; version="1.4.5"; sha256="1dir9dqrpns77n5ydm3fpj2k0pl7q15z8vqbi5704vsfv94mgmas"; depends=[limSolve diagram]; };
+  limitplot = derive { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
+  limSolve = derive { name="limSolve"; version="1.5.5"; sha256="1wcw4f95alsn1x1x98hlivc65p28ykq9njgjs561yl2zn4dyfqxf"; depends=[quadprog lpSolve MASS]; };
+  LinearizedSVR = derive { name="LinearizedSVR"; version="1.3"; sha256="0h3xmlnd5x37r5hdhcz90z5n1hsbr2ci3m939i89p1x9644i2l5g"; depends=[kernlab LiblineaR expectreg]; };
+  lineup = derive { name="lineup"; version="0.34-1"; sha256="0p6gxbv8xdrhgk8zdlnqrybald9vqz717czb49b123h84rjr2f19"; depends=[qtl class]; };
+  linkcomm = derive { name="linkcomm"; version="1.0-10"; sha256="1xs22cskrbk1yvsaa5dmnr62468z4baw6hy5m2jjcm854b42mkp9"; depends=[igraph RColorBrewer dynamicTreeCut]; };
+  linkim = derive { name="linkim"; version="0.1"; sha256="0yvyid9x59ias8h436a202hd2kmqvn8k1zcrgja2l4z2pzcvfn91"; depends=[]; };
+  linLIR = derive { name="linLIR"; version="1.1"; sha256="1v5bwki5j567x2kndfd5nli5i093a33in31025h9hsvkbal1dxgp"; depends=[]; };
+  linprog = derive { name="linprog"; version="0.9-2"; sha256="1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"; depends=[lpSolve]; };
+  LINselect = derive { name="LINselect"; version="0.0-1"; sha256="1n6nsspdp1ig8v9bclyga072hxqj2hb9n1smrqia8jrma07yaydl"; depends=[]; };
+  lint = derive { name="lint"; version="0.3"; sha256="0lkrn5nsizyixhdp5njxgrgwmygwr663jxv5k9a22a63x1qbwpiq"; depends=[plyr harvestr stringr dostats foreach]; };
+  liso = derive { name="liso"; version="0.2"; sha256="072l7ac1fbkh8baiiwx2psiv1sd7h8ggmgk5xkzml069ihhldj5i"; depends=[MASS Iso]; };
+  lisp = derive { name="lisp"; version="0.1"; sha256="025sq46277q9i21189cbmx5dnrh5wfshc5k6la1wjilhr1iqf6nj"; depends=[]; };
+  lisrelToR = derive { name="lisrelToR"; version="0.1.4"; sha256="0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5"; depends=[]; };
+  list = derive { name="list"; version="6.1"; sha256="18yclnj71yknw46wy2f2hjhrg38fyklirgr0x5aibk7yywpry0qq"; depends=[sandwich VGAM magic gamlss_dist MASS quadprog arm corpcor mvtnorm coda]; };
+  LIStest = derive { name="LIStest"; version="2.1"; sha256="1gk253v3f1jcr4z5ps8nrqf1n7isjhbynxsi9jq729w7h725806a"; depends=[]; };
+  llama = derive { name="llama"; version="0.7"; sha256="01hxphrii5lydg3yivrl0yg45ilma9a3g0r6rh44vak79zc6gxz7"; depends=[mlr plyr rJava parallelMap]; };
+  lle = derive { name="lle"; version="1.1"; sha256="09wq7mzw48czp5k0b4ij399cflc1jz876fqv0mfvlrydc9igmjhk"; depends=[scatterplot3d MASS snowfall]; };
+  lllcrc = derive { name="lllcrc"; version="1.1"; sha256="0m4dqg774d0pzpwvr4hj50xdz93y83w0yjcial8b14wy8zcdsmmz"; depends=[data_table combinat VGAM plyr]; };
+  lmbc = derive { name="lmbc"; version="0.9.1"; sha256="0pxm29n8rhcy7g8kia0bgz78w5nr851dhhrb7nn13szw6j13ji8x"; depends=[mseq lars]; };
+  lm_beta = derive { name="lm.beta"; version="1.0"; sha256="13n9y9q4igqswvf4yfjk15gqa81z3kc7l0hizr3ssxpa8x9igpc5"; depends=[]; };
+  lm_br = derive { name="lm.br"; version="2.5"; sha256="0v4gam24gny4g5618kakamryw0aq62wb9k7w6n3wq397mysnkd15"; depends=[Rcpp]; };
+  lme4 = derive { name="lme4"; version="1.1-7"; sha256="0v9vl9rspakyw2dmcl5lbhv1nlg10yhgdvi3gpfnizln7xw9ksyp"; depends=[Matrix Rcpp MASS nlme lattice minqa nloptr]; };
+  lmec = derive { name="lmec"; version="1.0"; sha256="09shj01h2dl5lh7ch0wayr7qyhlmk0prv3p1vfgy91sn0wpbqlxr"; depends=[mvtnorm]; };
+  lmeNB = derive { name="lmeNB"; version="1.2"; sha256="0xgw1kmq3krz8z0ickjg6qkj3bq2bkbwcd79c5fkl6fa3hp035mh"; depends=[numDeriv statmod lmeNBBayes]; };
+  lmeNBBayes = derive { name="lmeNBBayes"; version="1.2"; sha256="0zpxdgqv5yhpwl2jfrxx37b126pgrflynmw9i4vmcvzx830d084l"; depends=[]; };
+  LMERConvenienceFunctions = derive { name="LMERConvenienceFunctions"; version="2.5"; sha256="1kq0ww8h43rsygjz5pmb3ym027klgi4sw1csdr9apwgd3ydbnr7n"; depends=[Matrix lme4]; };
+  lmerTest = derive { name="lmerTest"; version="2.0-11"; sha256="151zgpqabvq1m58632caw9q298y7zh4aw059hdfzx9p8z7104ris"; depends=[Matrix lme4 numDeriv MASS Hmisc gplots pbkrtest]; };
+  lmeSplines = derive { name="lmeSplines"; version="1.1-10"; sha256="0fy6hspk7rqqkzv0czvvs8r4ishvs7zsf4ykvia65nj26w7yhyia"; depends=[nlme]; };
+  LMest = derive { name="LMest"; version="1.0"; sha256="0i76wkj8a95pa5spxsaxbkk2nyrjdlnzri9739n3h08sagwc0y67"; depends=[MASS Matrix]; };
+  lmf = derive { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
+  lmm = derive { name="lmm"; version="0.9"; sha256="0gs68iwk9gajb5af5ibgg9k5280ixqki8vxyp3cq5lrk96gcmqpr"; depends=[]; };
+  lmmfit = derive { name="lmmfit"; version="1.0"; sha256="06mzmx7md7qw5mfhgdljc7i40sx9yrx7j57xbbp3fhl2zs1dpb4g"; depends=[nlme MASS]; };
+  lmmlasso = derive { name="lmmlasso"; version="0.1-2"; sha256="1mvd38k9npyc05a2x7z0908qz9x4srqgzq9yjyyggplqfrl4dgsz"; depends=[emulator miscTools penalized]; };
+  lmms = derive { name="lmms"; version="1.0"; sha256="1qisic9ha764nl8xscf17r2chhx1jp8s2hv189ksc6wl34dcxvqq"; depends=[nlme lmeSplines reshape gdata]; };
+  lmodel2 = derive { name="lmodel2"; version="1.7-2"; sha256="0dyzxflr82k7ns824zlycj502jx3qmgrck125im2k2da34ir3m3q"; depends=[]; };
+  lmom = derive { name="lmom"; version="2.4"; sha256="04mfp7fcw1696qn34pxdffspwy0xalig3p7mqcj49v6kdxclpx1p"; depends=[]; };
+  lmomco = derive { name="lmomco"; version="2.1.1"; sha256="0q58g13j7h8pag3yj96qpnsa2m77hrrjkc24f6x847vlsn39md80"; depends=[]; };
+  Lmoments = derive { name="Lmoments"; version="1.1-5"; sha256="13s9lbmfbjfam6xg0q9jl2p3q3db3pimcmnx47vx82qdm43xa4an"; depends=[]; };
+  lmomRFA = derive { name="lmomRFA"; version="3.0"; sha256="188i2fk2csqwdmw3x1wwigaajbvwfd9dwd8q3pmx7ha4smp49amk"; depends=[lmom]; };
+  lmSupport = derive { name="lmSupport"; version="1.07.1"; sha256="1smv1ag12373981qqhlrdf4xj73j2h0jblb74gd2w70zrbx0s2qb"; depends=[car psych gplots gvlma MASS]; };
+  lmtest = derive { name="lmtest"; version="0.9-33"; sha256="1ycmxjrxf41mnbgakdmn4y2kmgp4rkj7v3nqwqnlc6gdfdmac73s"; depends=[zoo]; };
+  loa = derive { name="loa"; version="0.2.15"; sha256="137l90qz87xrid28knbj8997pjqgqf6769cwfj82cm57m98bda91"; depends=[lattice MASS png RgoogleMaps RColorBrewer]; };
+  localdepth = derive { name="localdepth"; version="0.5-7"; sha256="0h0y74xnhdqa7y51ljmpz7ayznppvy2ll06wfds6200lb9cxgr7k"; depends=[circular]; };
+  localgauss = derive { name="localgauss"; version="0.33"; sha256="1xgcwlgkzkxws771zig4x6v0m6flf9vlcgpa80ajr0vmjhlplbly"; depends=[ggplot2 MASS foreach matrixStats]; };
+  localsolver = derive { name="localsolver"; version="2.3"; sha256="1d18rihzqf1f5j9agfp8jysll7lqk1ai23hkdqkn6wwxj442llv4"; depends=[]; };
+  locfdr = derive { name="locfdr"; version="1.1-7"; sha256="1ix64nf0lymvqfks399871ynyph32x4yhymdw0nw59jh3c3ldhxx"; depends=[]; };
+  locfit = derive { name="locfit"; version="1.5-9.1"; sha256="0lafrmq1q7x026m92h01hc9cjjiximqqi3v1g2hw7ai9vf7i897m"; depends=[lattice]; };
+  locits = derive { name="locits"; version="1.4"; sha256="1q9vsf5h4n7r4gy1dwdhfyq3n0rn33akb3nx6yzinncj4w4cqq0h"; depends=[wavethresh igraph]; };
+  Lock5Data = derive { name="Lock5Data"; version="2.6"; sha256="0ckaac00ck5vyv0gv25l1zhgkm3char6ks1p4fl3vdl5gdyrc1pp"; depends=[]; };
+  locpol = derive { name="locpol"; version="0.6-0"; sha256="1zpdh3g7yx3rcn3rhlc3dm19c4b9kx2k8wy8vkwh744a1kysvdga"; depends=[]; };
+  loe = derive { name="loe"; version="1.0"; sha256="11wjzq4h7qjrnrj1zg3msg1ksld9c3r3n3biamf2hz8zvi1asvqv"; depends=[igraph MASS vegan Matrix]; };
+  log4r = derive { name="log4r"; version="0.1-4"; sha256="1wgn9gywkldfzxgpdfj84l05zw6y84bwzjr7q6fjddfdvxmdwa5n"; depends=[]; };
+  LogConcDEAD = derive { name="LogConcDEAD"; version="1.5-9"; sha256="135vkp70q6gn75ds43aq08y13vrsgsgykssmnhrh6545i86vmhhi"; depends=[MASS mvtnorm]; };
+  logconcens = derive { name="logconcens"; version="0.16-4"; sha256="11bk03kjlb747g54axmb0nayz226g41xvanbw79aij76vjbglv7y"; depends=[]; };
+  logcondens = derive { name="logcondens"; version="2.1.1"; sha256="1anawy47g2bmpi5x4s9dqw82c51mv98wfy39sikb1jixbs40mqgp"; depends=[]; };
+  logcondens_mode = derive { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[logcondens distr]; };
+  logcondiscr = derive { name="logcondiscr"; version="1.0.5"; sha256="170rg4rqch0mlhmc1zc59h271b57y3xfxrc3gh9pwvc9r11gw7k5"; depends=[Matrix mvtnorm cobs]; };
+  logging = derive { name="logging"; version="0.7-103"; sha256="1sp7q217awizb6l8c9p5dix6skpq8j7w8i088x4mm0fc0qr1ba5c"; depends=[]; };
+  LOGICOIL = derive { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
+  LogicReg = derive { name="LogicReg"; version="1.5.5"; sha256="1lccxiafi2g2jmzaklcgman5zgax2rvfh61qzwz1w0p57460m581"; depends=[survival]; };
+  logistf = derive { name="logistf"; version="1.21"; sha256="0cwbmd0mvj4wywpx7p4lhs70nhab7bfl6fzz2c4snn3ma6sy7x8c"; depends=[mice mgcv]; };
+  LogisticDx = derive { name="LogisticDx"; version="0.1"; sha256="1w530panmbwf4qplzzj02q9g2lfzrkawxy66ibwdd14z9bwjdclj"; depends=[multcomp data_table pROC car gRbase rms statmod speedglm]; };
+  logistiX = derive { name="logistiX"; version="1.0-1"; sha256="0k2658hph4h9v0f1c4nd0zi72xzf7l4ivhy063y01zx61q8dbi8q"; depends=[]; };
+  logitchoice = derive { name="logitchoice"; version="0.9.1"; sha256="16019836wf1vhs49qmw9z53px4l20ggg4k6lhlll8l91q0mkisk3"; depends=[]; };
+  LogitNet = derive { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
+  logitnorm = derive { name="logitnorm"; version="0.8.29"; sha256="0wbdxh3n44nzb6c0ahyd8gndfql1y56fns2bkmzqi3nxy9blhx18"; depends=[]; };
+  loglognorm = derive { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; };
+  logmult = derive { name="logmult"; version="0.6"; sha256="1r8i2zgmgm44dhg2z2k7cqy10hldp1p91idjiyg9pmi8dfch8xki"; depends=[gnm qvcalc]; };
+  LogrankA = derive { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; };
+  logregperm = derive { name="logregperm"; version="1.0"; sha256="002s5a71m3ykyypq8gw4xa642xnbp2rjwd1cxnf0rkgmshngqaik"; depends=[]; };
+  logspline = derive { name="logspline"; version="2.1.5"; sha256="18hpzcg71v3zjzp92whgxgn7w87cadgxr65pp7nv6m5pvj130i3p"; depends=[]; };
+  lokern = derive { name="lokern"; version="1.1-5"; sha256="0fgpkmz8jy77sb0m862j7v32lj9d3x373na1102wvq164jjhyqg2"; depends=[sfsmisc]; };
+  lomb = derive { name="lomb"; version="1.0"; sha256="06lbk7s1ilqx6xsgj628wzdwmnvbs0p03hdpx8665fhddcxh3ryy"; depends=[]; };
+  longCatEDA = derive { name="longCatEDA"; version="0.17"; sha256="1yb0117ycj4079590mrx3lg9m5k7xd1dhb779r3rmnww94pmvja9"; depends=[]; };
+  longitudinal = derive { name="longitudinal"; version="1.1.9"; sha256="048z9n7ca655mjj4gdfj1hlpddkn8jikmh5igv76l5zj9iccw5xy"; depends=[corpcor]; };
+  longitudinalData = derive { name="longitudinalData"; version="2.2"; sha256="1kdgnkhk39a9r4fq6zmrvzcvs7qjd21knpzfjglxyx723r9p3fs7"; depends=[clv class rgl misc3d]; };
+  longmemo = derive { name="longmemo"; version="1.0-0"; sha256="1jnck5nfwxywj74awl4s9i9jn431655mmi85g0nfbg4y71aprzdc"; depends=[]; };
+  longpower = derive { name="longpower"; version="1.0-10"; sha256="0907s9807c1vcxac8xf6aqbw2fi7pdqfjs14nxl7wf0r0wi9jgw2"; depends=[Matrix lme4 nlme]; };
+  loop = derive { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
+  LoopAnalyst = derive { name="LoopAnalyst"; version="1.2-3"; sha256="0xbiy1xa2c6acfrzh6p9pa6wrds8ipskxq0f86ia9g5zkp1rjk2j"; depends=[nlme]; };
+  lordif = derive { name="lordif"; version="0.2-2"; sha256="0898k5w9wky318k8x0zknjqdzdify0yyrnb1506j341l4n1bm04s"; depends=[MASS msm mvtnorm polycor sfsmisc ltm Hmisc rms]; };
+  lorec = derive { name="lorec"; version="0.6.1"; sha256="0mgypd8awixh1lzbh5559br4k7vi3pfmwniqhgh68wc06sc6bn65"; depends=[]; };
+  LOST = derive { name="LOST"; version="1.1"; sha256="19ar85dykbz0jlzbhlm3pcpffj4cizc6sj3gn93qdvpxkp64jfq9"; depends=[gdata shapes e1071 MASS miscTools]; };
+  LowRankQP = derive { name="LowRankQP"; version="1.0.2"; sha256="0is7v4cy4w1g3wn4wa32iqv4awd1nwvfcb71b3yk5wj59lpm8gs3"; depends=[]; };
+  lpc = derive { name="lpc"; version="1.0.2"; sha256="1r6ynkhqjic1m7fqrqsp7f8rpxqih5idn4j96fqrdj8nj01znv29"; depends=[]; };
+  LPCM = derive { name="LPCM"; version="0.44-8"; sha256="14627wk5azxm3y3a0qfy4qz57nxbdcasnv7djpqhk2gxf5smq19k"; depends=[]; };
+  lpint = derive { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; };
+  LPmerge = derive { name="LPmerge"; version="1.5"; sha256="0qy3j6xnsk5h2lmx3mx2q4b5g4vip54nh2f85zg5ncg0x5qqrizb"; depends=[Rglpk Matrix]; };
+  lpmodeler = derive { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; };
+  lpridge = derive { name="lpridge"; version="1.0-7"; sha256="0nkl70fwzra308bzlhjfpkxr8hpd8v1xdnah7nscxa10qlisgr2k"; depends=[]; };
+  LPS = derive { name="LPS"; version="1.0.4"; sha256="0dy45nn1bmzd17y2dsh4pf4jmh9qvifigvpg2lv2zrmvlx53cli5"; depends=[]; };
+  lpSolve = derive { name="lpSolve"; version="5.6.10"; sha256="0hrgac5gfihhk4spy5smwgnawgn5nbv7aydb1w28lgd46a4zldvc"; depends=[]; };
+  lpSolveAPI = derive { name="lpSolveAPI"; version="5.5.2.0-11"; sha256="1d7g840aa392i310y4886haa8dvb881p6py74gmqi14rsajchzgs"; depends=[]; };
+  LPStimeSeries = derive { name="LPStimeSeries"; version="1.0-3"; sha256="06w4gcz3h4gi05zzb37adxj4kl6pxpmlbzl4xaf03vqyabnvv9s0"; depends=[]; };
+  lqa = derive { name="lqa"; version="1.0-3"; sha256="141r2cd9kybi6n9jbdsvhza8jdxxqch4z3qizvpazjy8qifng29q"; depends=[]; };
+  lqmm = derive { name="lqmm"; version="1.5"; sha256="12fggqka00y2hwknxwfa2326r2r17mdn2qd213n7xs3pn7v0rg18"; depends=[SparseGrid nlme]; };
+  lrmest = derive { name="lrmest"; version="1.0"; sha256="1gdj8pmmzvs1li05pwhad63blhibq45xd1acajxsx06k7k21ajs7"; depends=[MASS]; };
+  LS2W = derive { name="LS2W"; version="1.3-3"; sha256="0pdsv7ld0j116rh94m5y1i2mwrzc80fqxmc6ykc51i1sj6ws3i5k"; depends=[wavethresh]; };
+  LS2Wstat = derive { name="LS2Wstat"; version="2.0-3"; sha256="0wkh1a6xbp3qg5favxsj166jcgdza16zki675gswxckana6s4is7"; depends=[LS2W matrixStats geoR RandomFields spdep]; };
+  lsa = derive { name="lsa"; version="0.73"; sha256="041wa1i85i90qvm5sxvd9nidis8s069cvf9nw1r68ajkvds65y91"; depends=[SnowballC]; };
+  LSAfun = derive { name="LSAfun"; version="0.3.1"; sha256="15sa3hq2x6wna8bv9mry06k80kvhf1kkl6zfybwzc953vxp6yijp"; depends=[lsa rgl]; };
+  LSC = derive { name="LSC"; version="0.1.5"; sha256="1nlnwqb24sbgvl96azh8a833ij5xknjr2wr8shs59lm2n63a3ql9"; depends=[LICORS RColorBrewer fields gam Matrix]; };
+  LSD = derive { name="LSD"; version="2.5"; sha256="0j7lmsz93q2zv9y05aan5pwhpzh8m1i45mh4p386g7bvfrwlmxbx"; depends=[MASS gtools RColorBrewer colorRamps schoolmath ellipse]; };
+  lsdv = derive { name="lsdv"; version="1.1"; sha256="0rl1xszr9r8v71j98gjpav30n2ncsci19hjlc9flzs1s20sb1xpr"; depends=[]; };
+  lsgl = derive { name="lsgl"; version="1.0.123.0"; sha256="15chgzds2vb4jgw7vzday6km7i92g6ifpj0a2x9s4nvrdzh9y8di"; depends=[sglOptim Matrix]; };
+  lshorth = derive { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
+  lsmeans = derive { name="lsmeans"; version="2.11"; sha256="15cvdc4mzk9qr9zq5adkabzs1bkpnl2cf8mhsdc1jgm521ff4w26"; depends=[multcomp plyr Matrix]; };
+  LSMonteCarlo = derive { name="LSMonteCarlo"; version="1.0"; sha256="0w5042phkba5dw92r67ppp2s4khjpw5mm701dh9dya9lhj88bz6s"; depends=[mvtnorm fBasics]; };
+  lspls = derive { name="lspls"; version="0.2-1"; sha256="1g27fqhnx9db0zrxbhqr76agvxy8a5fx1bfy58j2ni76pki1y4rl"; depends=[pls]; };
+  lsr = derive { name="lsr"; version="0.3.2"; sha256="1ahcj3ja5hj7pc7hvzlvhmh62mql3a0awli8szsyld0fpn50wprz"; depends=[]; };
+  lss = derive { name="lss"; version="0.52"; sha256="1fvs8p9rhx81xfn450smnd0i1ym06ar6nwwcpl74a66pfi9a5sbp"; depends=[quantreg]; };
+  ltbayes = derive { name="ltbayes"; version="0.3"; sha256="1b35bwli08yzgv3idg86wz8fzpx7r5sx0ryr950rdh0n2jdml09q"; depends=[mcmc MHadaptive numDeriv]; };
+  ltm = derive { name="ltm"; version="1.0-0"; sha256="1igkgb0jy3mzlnp9s6avhcpplwijz5g3x26a3lavyy3d9fjpmfpa"; depends=[MASS msm polycor]; };
+  ltmle = derive { name="ltmle"; version="0.9.3-1"; sha256="0nvcxl55nmcabsz79vkjxmnifzm2vxg0lgwcjqiwsj242vhnfjhh"; depends=[]; };
+  LTPDvar = derive { name="LTPDvar"; version="1.1"; sha256="0zb3ffz5vw1zabgzhpcw1mzfqh4g7r0sq4iy31nzyv8smdwddqzw"; depends=[]; };
+  LTR = derive { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; };
+  ltsa = derive { name="ltsa"; version="1.4.4"; sha256="06db0d4j0kqp4q6rpa3sawcsm5rfgdhzl8fl7cxivjbbyrfnszqp"; depends=[]; };
+  ltsbase = derive { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; };
+  ltsk = derive { name="ltsk"; version="1.0.1"; sha256="1ym9h6af1aq46b6yxhdwnp6kqgx3zw08sal67y8rqd9z68432lx4"; depends=[fields]; };
+  lubridate = derive { name="lubridate"; version="1.3.3"; sha256="1f07z3f90vbghsarwjzn2nj6qz8qyfkqalszx8cb5kliijdkwy8z"; depends=[plyr stringr memoise]; };
+  luca = derive { name="luca"; version="1.0-5"; sha256="1jiqwibkrgga4ahz0qgpfkvrsxjqc55i2nwnm60xddb8hpb6a6qx"; depends=[survival genetics]; };
+  Luminescence = derive { name="Luminescence"; version="0.3.4"; sha256="036kib458qwr1l1pl1nb4hip43rchmx7qwf32y8z7b8nf9b8sbvy"; depends=[Rserve XML shape rgl matrixStats]; };
+  lvm4net = derive { name="lvm4net"; version="0.1"; sha256="0b140jybn6jpr1qh3s84vg0ba34356vc8pa4v2zfp9ggipfl073b"; depends=[ergm ellipse igraph]; };
+  LVMMCOR = derive { name="LVMMCOR"; version="0.01.1"; sha256="1lq4hqcg0qkywdr4a22m1fr3m97749mm6n2jzdj9i7jrf0agc1fs"; depends=[nlme MASS]; };
+  LVQTools = derive { name="LVQTools"; version="1.2"; sha256="06mninrrr49xsh00gfsp0vc418r6pdvq3m6sbnj0ywdyki106mni"; depends=[]; };
+  lxb = derive { name="lxb"; version="1.3"; sha256="0mvjk0s9bzvznjy0cxjsqv28f6jjzvr713b2346ym4cm0y4l3mir"; depends=[]; };
+  lymphclon = derive { name="lymphclon"; version="1.2.3"; sha256="0dvyihghjamqmhn9lvh1qblqh946b9ldnxyhb6z1gi57pyfgq00w"; depends=[VGAM MASS expm corpcor]; };
+  M3 = derive { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[ncdf4 rgdal maps mapdata]; };
+  MAc = derive { name="MAc"; version="1.1"; sha256="1lshi5rb8l2mpd302wskhlk5vz1wjidvbss9y69l63zjqdwjs7ch"; depends=[]; };
+  MAclinical = derive { name="MAclinical"; version="1.0-5"; sha256="1g0ka1kqww2xim8rp5rznkzn0a541zvf841s3lbphfh9k3y3ixs3"; depends=[party plsgenomics st e1071]; };
+  MAd = derive { name="MAd"; version="0.8-1"; sha256="16lis6q61d11z0kn3svd77yr0k3jm0zhqpwacl86jdjlmn67l92i"; depends=[]; };
+  mada = derive { name="mada"; version="0.5.6"; sha256="10vw138ykfz0s8c2q39fd4vipran85w04jmr1fni4z8x0i67iak2"; depends=[mvtnorm ellipse mvmeta]; };
+  MADAM = derive { name="MADAM"; version="1.2.2"; sha256="09w5liqa3mpkbyvkwlabcgyg2b4316qpzq7pbpl0wxl74bsh76vq"; depends=[]; };
+  madsim = derive { name="madsim"; version="1.1"; sha256="1d9mv769zia43krdfl43hp22cp5mdi3ycwj3kxyfcjrg23bjnyc0"; depends=[]; };
+  Maeswrap = derive { name="Maeswrap"; version="1.4.11"; sha256="15i36xj2bdzhly78614077s8k2z75a1gmzl2crsfgvhyyjdax8r7"; depends=[rgl lattice geometry]; };
+  magic = derive { name="magic"; version="1.5-6"; sha256="1399w1zhz79nj8cdhslybncd9h6rylfhb548nv22ip0dxxdkyv0v"; depends=[abind]; };
+  magicaxis = derive { name="magicaxis"; version="1.9"; sha256="0v851arnpc15h7ccqwjlz52jv83ij96r4b44qkm45ipr9dfm84zf"; depends=[MASS plotrix sm]; };
+  magma = derive { name="magma"; version="1.3.0-2"; sha256="0hgwjq30ksx2qg4q9fj57m27i96sci8hrfrqc2lw4hz18b6kkph4"; depends=[]; };
+  magrittr = derive { name="magrittr"; version="1.0.1"; sha256="0syb8dpcqag392any8s7shgqv4s33q3ppwnpmih31yhz875k3aaw"; depends=[]; };
+  mail = derive { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; };
+  mailR = derive { name="mailR"; version="0.3"; sha256="0m23npg5zsdwflw4744v30ypnpa6f8ddflwh3mpabxrxw4scb547"; depends=[rJava stringr]; };
+  MAINT_Data = derive { name="MAINT.Data"; version="0.2"; sha256="0kmvz3s6ci9zi9k3vvrkl7jwqfjgdfk7b6xv7dskjh6mbgpcqcf4"; depends=[MASS sn miscTools]; };
+  makeProject = derive { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; };
+  malaria_em = derive { name="malaria.em"; version="2.0"; sha256="1n34ahifggpdlpmigy010zysana0fg9c8ji0khk8g3il2gmzmgim"; depends=[]; };
+  MALDIquant = derive { name="MALDIquant"; version="1.11"; sha256="1jnpmv44j9zry64wvnv37hcda61570hypnv16z99arjazpi4nzmn"; depends=[]; };
+  MALDIquantForeign = derive { name="MALDIquantForeign"; version="0.9"; sha256="0bs6frqz462hrad16kjvbmq2s66bv3kpriav4hdz5a4klra389gl"; depends=[MALDIquant base64enc digest downloader readBrukerFlexData readMzXmlData XML]; };
+  mallet = derive { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; };
+  MAMA = derive { name="MAMA"; version="2.2.1"; sha256="1dcyfir6jv28jzvphiqrjns3jh2zg2201iwcvjzbmddl2isk9h0i"; depends=[metaMA xtable gtools xtable]; };
+  MAMS = derive { name="MAMS"; version="0.3"; sha256="17d75phlxi9267dwpzmnzpk01l69xvcdqjjabj0ai7j2l6llp2n9"; depends=[mvtnorm]; };
+  MAMSE = derive { name="MAMSE"; version="0.1-3"; sha256="06q6raqbyi9zwg3wzaygqmfs3di55fh4bln3vscdw95kma4hz9km"; depends=[]; };
+  Mangrove = derive { name="Mangrove"; version="1.1"; sha256="15dzxsm982v7sskqh31fdiiqyac37l00i51z3f4nk3zpz6gq2nw5"; depends=[]; };
+  ManyTests = derive { name="ManyTests"; version="1.1"; sha256="11xk3j2q7w6b6ljmp7b8gni0khpmpvcvzwxypy0w8ihi2gaczsxj"; depends=[]; };
+  Map2NCBI = derive { name="Map2NCBI"; version="1.0"; sha256="02cgmayrhkyji0cwr6n0f439njq29mzna7sgzkq6ml45njm9m5nh"; depends=[]; };
+  MAPA = derive { name="MAPA"; version="1.7"; sha256="1xw9slmhn6r0cczp37m75l944vggnjwinx2p4jkkya445mvgyhjy"; depends=[forecast]; };
+  mapdata = derive { name="mapdata"; version="2.2-3"; sha256="1fhj34cgq6rniy0339qv2ghbs0aiq38h9jfwx7szb83yj37v7wm6"; depends=[maps]; };
+  MapGAM = derive { name="MapGAM"; version="0.7-0"; sha256="00ggr7wrkz13n1f9gsp3qxxjwb01kq47aqv2mj4pa6p253iw19i7"; depends=[gam maptools]; };
+  MAPLES = derive { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; };
+  mapmisc = derive { name="mapmisc"; version="0.9.4"; sha256="0qsv36sk6fd3ix85yagl86y2r1kkl3qry0g0k6d0rb87aaxmk86i"; depends=[sp raster]; };
+  mapplots = derive { name="mapplots"; version="1.4"; sha256="0wwz52hjhp2xzw38zsvbk5cgdfr58rakjnmficjr305x88kisz20"; depends=[]; };
+  mapproj = derive { name="mapproj"; version="1.2-2"; sha256="1fdb72hvcp6jm7rhvs8zdkya6ifs92lfqnmq5vj5amwckkxfidc6"; depends=[maps]; };
+  maps = derive { name="maps"; version="2.3-7"; sha256="01bzy9xqa5fhqjhvwrxygkk5ym3rl9kz86frpby735bx5qy6ij4b"; depends=[]; };
+  mapStats = derive { name="mapStats"; version="1.17"; sha256="1jnqchrrn2v1smzk1c3laycr2fs8x59c9mb8lhs4bxqbhhwgmi8p"; depends=[survey lattice maptools RColorBrewer Hmisc quantreg classInt sp colorspace reshape2]; };
+  maptools = derive { name="maptools"; version="0.8-30"; sha256="0vbpgxdz6xl8a2bkhcw6rfs15nvmppka0ad7i2v2pi18350riwpq"; depends=[sp foreign lattice]; };
+  maptpx = derive { name="maptpx"; version="1.9-1"; sha256="1yrlgz5bkjjs3m59dqp60n95lax0fp7xw00v59kymmw5hr3sis6f"; depends=[slam]; };
+  maptree = derive { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; };
+  mAr = derive { name="mAr"; version="1.1-2"; sha256="0i9zp8n8i3fxldgvwj045scss533zsv8p476lsla294gp174njr7"; depends=[MASS]; };
+  MAR1 = derive { name="MAR1"; version="1.0"; sha256="1r6j890icl5h3m2876sakmwr3c65513xnsj68sy0y0q7xj3a039l"; depends=[leaps bestglm]; };
+  mar1s = derive { name="mar1s"; version="2.1"; sha256="0psjva7nsgar5sj03adjx44pw0sdqnsd96m4g6k8d76pv30m1g7l"; depends=[cmrutils fda zoo]; };
+  marelac = derive { name="marelac"; version="2.1.3"; sha256="155a8ijl2y8l4r980ml0p23jrwnf36xqsa8s1q6n7arhxwaknhxv"; depends=[shape seacarb]; };
+  marg = derive { name="marg"; version="1.2-2"; sha256="0j08zzcrj8nqsargi6xi50gy9pl4smmsp4b7ywlga7r1ga38g82r"; depends=[statmod survival]; };
+  margie = derive { name="margie"; version="1.0"; sha256="1jkhg15xdiqjvpzbbc39l8jlfw0yrbarnd3zbgb3p0rh733x5g4j"; depends=[]; };
+  marginalmodelplots = derive { name="marginalmodelplots"; version="0.4.2"; sha256="0d7m7sddz9rp1mkvirhcmk7hlbxsag3nm3vqfampnr7l2h158baa"; depends=[locfit]; };
+  markdown = derive { name="markdown"; version="0.7.2"; sha256="02dgi2q5gs359affvx0w2pvfcr25wqpzfvyc6labyfxmiw0gax13"; depends=[mime]; };
+  marked = derive { name="marked"; version="1.1.6"; sha256="0f9sa4mdkiq1fn99sczb0glf5xfm17a3x8dq9ycf0l39fyg582d0"; depends=[lme4 R2admb truncnorm coda optimx ggplot2 Matrix numDeriv Rcpp plyr]; };
+  MarkedPointProcess = derive { name="MarkedPointProcess"; version="0.2.21"; sha256="06bypa124raa4vbcvi082vpd8bndnar4p1v18dq261z6j3ixk44k"; depends=[RandomFields R2Cuba]; };
+  maRketSim = derive { name="maRketSim"; version="0.9.2"; sha256="1cq17zjwyf4i5lcqgxqkw805s4mr6qp89blgpmpxy8gdrbfj93m4"; depends=[]; };
+  markovchain = derive { name="markovchain"; version="0.0.9.5"; sha256="06fsfrfm7xyba97yfxcp85vqamavbinvm8wr2darafn20ggahrck"; depends=[igraph Matrix matlab expm]; };
+  MarkowitzR = derive { name="MarkowitzR"; version="0.1402"; sha256="1fbn6l8z76ak8z2nyzmizcjm7h54y58773nsy03x1pwykcwpzw9f"; depends=[matrixcalc sandwich gtools]; };
+  marmap = derive { name="marmap"; version="0.8"; sha256="0141vz2bwwzyhfxvy5w0f0idp8amq89633acfy3r1al50razispp"; depends=[RSQLite gdistance geosphere sp raster ncdf plotrix shape]; };
+  marqLevAlg = derive { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; };
+  MARSS = derive { name="MARSS"; version="3.9"; sha256="0vn8axzz0nqdcl3w00waghz68z8pvfm764w11kxxigvjpw2plj31"; depends=[nlme mvtnorm KFAS]; };
+  maSAE = derive { name="maSAE"; version="0.1-2"; sha256="18a1zbfmjhrmi3fgqd7vaicpsca59kp8r1003pwl7l4032p32fxk"; depends=[]; };
+  MASS = derive { name="MASS"; version="7.3-33"; sha256="1bq005zxyc7842z4cz5ilhh917clfdmhg5czfq6plkdgwq8nfhlk"; depends=[]; };
+  MASSI = derive { name="MASSI"; version="1.1"; sha256="13kavfsm48qq9zyp10scfjcgrk0x2n4my7cz2xy78s14knlrks5y"; depends=[fpc gplots]; };
+  MASSTIMATE = derive { name="MASSTIMATE"; version="1.2"; sha256="1j9l8b5d518ag9ivzr1z4dd2m23y2ia1wdshx1krmshn8xsd6lwp"; depends=[]; };
+  MasterBayes = derive { name="MasterBayes"; version="2.51"; sha256="0mbvhn6yspralmlajimdin14hszh78m0bxb3zdxd73xhjqxl4ixk"; depends=[coda genetics gtools kinship2]; };
+  MAT = derive { name="MAT"; version="0.1-3"; sha256="0z9kiji0kar286dcirsgrszd2kn6hcrfq8jhnn5pa2rfscgccdmj"; depends=[MASS]; };
+  Matching = derive { name="Matching"; version="4.8-3.4"; sha256="04m647342j4yi74ds7ddwnyrf58qdy7k3mc067k3p779qavq2ka1"; depends=[MASS]; };
+  MatchIt = derive { name="MatchIt"; version="2.4-21"; sha256="02kii2143i8zywxlf049l841b1y4hqjwkr1cnyv6b8b7y7lz2m5v"; depends=[MASS]; };
+  mathgraph = derive { name="mathgraph"; version="0.9-11"; sha256="0xikgzn24p0qqlrmaydmjk5yz5pq2rilsvpx86n3p2k2fc3wpwjy"; depends=[]; };
+  maticce = derive { name="maticce"; version="1.0-3"; sha256="0nir60jbai0fisccrpkrnjm5z9lvhimhwfiqnmzxw4mjiifj41c2"; depends=[ouch ape]; };
+  matie = derive { name="matie"; version="1.2"; sha256="1ymx49cyvz63imqw5n48grilphiqvvdirwsrv82p7jgxdyav2xv0"; depends=[dfoptim mvtnorm seriation igraph gplots cba]; };
+  matlab = derive { name="matlab"; version="1.0.2"; sha256="0m21k2vzbc5d3c93p2hk4208xyd2av2slg55q5j1ibjidiryqgd2"; depends=[]; };
+  Matrix = derive { name="Matrix"; version="1.1-4"; sha256="1pxkyfa09gf5rwk1x9hdxrgr1hjs4390h73z3f8h2224rszr3hqh"; depends=[lattice]; };
+  matrixcalc = derive { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; };
+  MatrixEQTL = derive { name="MatrixEQTL"; version="2.1.0"; sha256="03ccawgrkv0r3y8smpym27p5bsxy8y9rhn7pqs9ybb385951azy9"; depends=[]; };
+  MatrixModels = derive { name="MatrixModels"; version="0.3-1.1"; sha256="0b44gyvpfvhbkl1vymni7pplidz9a5jrcalswx19hnh5x14qw168"; depends=[Matrix]; };
+  matrixpls = derive { name="matrixpls"; version="0.3.0"; sha256="12qa1isj9609xj8qrr8ra8l711zagckim3nwvp7crrv4i6jm4299"; depends=[assertive matrixcalc psych lavaan MASS]; };
+  matrixStats = derive { name="matrixStats"; version="0.10.0"; sha256="15pgp50jyycp9hqrf6g9yz0gfv9a0w5yd9amw3vwn3mr202fab5f"; depends=[R_methodsS3]; };
+  MATTOOLS = derive { name="MATTOOLS"; version="1.1"; sha256="1nzrkm3a08rpsd9vplyf33rrkadlrd0ln70k95qxj98ndh2v97px"; depends=[]; };
+  MAVTgsa = derive { name="MAVTgsa"; version="1.3"; sha256="0rzal9nsi8y873cbf6hrdyzyxnpd4r1yr9fj66cn0s1c8g93ls0y"; depends=[corpcor foreach multcomp randomForest MASS]; };
+  MaXact = derive { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
+  maxent = derive { name="maxent"; version="1.3.3.1"; sha256="1skc7d0p6kg0gi1bpgaqn2dmxjzbvcphx5x3idpscxfbplm5v96p"; depends=[SparseM tm Rcpp]; };
+  maxLik = derive { name="maxLik"; version="1.2-0"; sha256="1vgq2pjy8244ccdjcrrgri4sn2kcwqyfwskh885ci5aw01121d36"; depends=[miscTools sandwich]; };
+  maxlike = derive { name="maxlike"; version="0.1-5"; sha256="0h544wr7qsyb70vmbk648hfyb6arrsb41gw39svcin412rhw9k9j"; depends=[raster]; };
+  maxstat = derive { name="maxstat"; version="0.7-20"; sha256="171xsq96qdclb7ndpmv8652gh372ncxfkn5yfngvjv1fb12dq8jx"; depends=[exactRankTests mvtnorm]; };
+  MBA = derive { name="MBA"; version="0.0-8"; sha256="09rs1861fz41dgicgh4f95v4zafh1jfxhqar1plpqqdx8z1gpxfl"; depends=[sp]; };
+  mbbefd = derive { name="mbbefd"; version="0.1"; sha256="0m24q679b7a27hw7v370p21w9bq18zc225q2df319hdrya3aygf2"; depends=[]; };
+  MBCluster_Seq = derive { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; };
+  MBESS = derive { name="MBESS"; version="3.3.3"; sha256="12jsrxwdprrahqbk0i0js7lja81ydy385xmijlqk0slppd72dd9c"; depends=[]; };
+  mbest = derive { name="mbest"; version="0.1"; sha256="0dz54rgbl40cbrv6670qd441ymz43lj16dvd9fnq3znfafc1790n"; depends=[lme4]; };
+  MBI = derive { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
+  mblm = derive { name="mblm"; version="0.12"; sha256="17h65bapvz89g5in3gkxq541bxgpj9pciz6i5hzhqn0bdbsb3k6r"; depends=[]; };
+  MBmca = derive { name="MBmca"; version="0.0.3-3"; sha256="04v1xbkmrb196pm6a1ql8jdw2h126zzq5qni0mv3vh9wwnlnqlcs"; depends=[robustbase chipPCR]; };
+  mbmdr = derive { name="mbmdr"; version="2.6"; sha256="0ss5w66hcgd8v8j9bbbp12a720sblhr2hy9kidqfr8hgjaqlch86"; depends=[logistf]; };
+  mboost = derive { name="mboost"; version="2.3-0"; sha256="1p4jqmnsp37jx52cw3k86zkbxr8qch710nszk173mqxcf77w28ip"; depends=[Matrix survival lattice nnls quadprog]; };
+  mc2d = derive { name="mc2d"; version="0.1-14"; sha256="1djnvwlq1qvvwhnmj3ijwyaqyp1k778i1yv6qmlj053lc38b54j7"; depends=[mvtnorm]; };
+  MC2toPath = derive { name="MC2toPath"; version="0.0.16"; sha256="0jdn9wpxavn2wrml907v23mfxr62wwjdh7487ihjj59g434ry7wh"; depends=[RNetCDF]; };
+  MCAPS = derive { name="MCAPS"; version="0.3-2"; sha256="1jvxl9xi102pcs3swxlx4jk76i7i4fll88c92k7m379ik3r36alb"; depends=[stashR]; };
+  MCAvariants = derive { name="MCAvariants"; version="1.0"; sha256="08c5qpklilj41agi5nzm4f5w41pdxk98i1wc1ahhnawc3n2cdbjz"; depends=[]; };
+  mcbiopi = derive { name="mcbiopi"; version="1.1.2"; sha256="12h4bv3hx1m6bsqdxj5n3b5gh98ms508am8pigz7ckmv0xkyhx85"; depends=[]; };
+  mcc = derive { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
+  mcclust = derive { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
+  MCDA = derive { name="MCDA"; version="0.0.3"; sha256="0nfj5wlsjhj3z20jvdwl12r18rxnpk343r49j5awkh41qa0qyjr8"; depends=[Rglpk Kendall glpkAPI]; };
+  mcga = derive { name="mcga"; version="2.0.9"; sha256="197yldx03c634f3x0mpxxvqrys93n7z7n3x0alvqa42z3vdkrz7b"; depends=[]; };
+  mcgibbsit = derive { name="mcgibbsit"; version="1.1.0"; sha256="09ydcbjz3abmh46966v01dh26fy79dfklk3zjf262zp3c62ld9yf"; depends=[coda]; };
+  mcGlobaloptim = derive { name="mcGlobaloptim"; version="0.1"; sha256="1p8841y9a4yq51prv6iirgw9ln8jznx8nk547sc5xlznksjy1g9n"; depends=[randtoolbox snow]; };
+  mcheatmaps = derive { name="mcheatmaps"; version="1.0.0"; sha256="1gglm32xpmim38m7fziczgqfbpcq2899lxardsrzg6j1vhmf765y"; depends=[gridBase]; };
+  MChtest = derive { name="MChtest"; version="1.0-2"; sha256="01lflilrp42m236cznn6qgzvv5v9fzpx6wcfxp3q545bw2xmbdvj"; depends=[]; };
+  mcIRT = derive { name="mcIRT"; version="0.40"; sha256="1mqyivxgg0mzhlvl3swgicb78ikk998yab0ssmbagbk24amr1q7h"; depends=[Rcpp RcppArmadillo]; };
+  mcll = derive { name="mcll"; version="1.2"; sha256="0i9zqbh0l9a9mv4558gbdq9mh52chanykyfwmiymmxygxhp809sz"; depends=[statmod locfit]; };
+  mclogit = derive { name="mclogit"; version="0.2-7"; sha256="1ykkrbbnha7npmxr79qc7x77xa3847rjcax6gxrala5s07yg7sww"; depends=[memisc Matrix]; };
+  mclust = derive { name="mclust"; version="4.3"; sha256="0ii3w4d66p47i0xmjl9gz4g36piqz3b2kny876qdfjj7wh9m7hpl"; depends=[]; };
+  mcmc = derive { name="mcmc"; version="0.9-3"; sha256="148l28nb1qv82x2hj46c26yhn0lw8x5jsrp2dav9sbysv1bdj2f8"; depends=[]; };
+  MCMCglmm = derive { name="MCMCglmm"; version="2.21"; sha256="1mjjp65w7pg2kxrx2qf0lh1kdi9d21xxj7s39zhi3q8ixw35h95r"; depends=[Matrix coda ape corpcor tensorA]; };
+  MCMChybridGP = derive { name="MCMChybridGP"; version="4.3"; sha256="1a2mhhscjf7s2qczc4zz2pvb9kichdqr1lnkjsyiy61snbhkvp3n"; depends=[MASS]; };
+  MCMC_OTU = derive { name="MCMC.OTU"; version="1.0.8"; sha256="1bdmvwxkm162m3237bgf42dm5kp3q0giwf0avrkla8qd834gqch0"; depends=[MCMCglmm ggplot2]; };
+  MCMCpack = derive { name="MCMCpack"; version="1.3-3"; sha256="0s1j3047qp2fkwdix9galm05lp7jk7qxyic6lwpbd70hmj8ggs76"; depends=[coda MASS]; };
+  mcmcplots = derive { name="mcmcplots"; version="0.4.1"; sha256="0japi78j1a9q6mb7j74d81lj45j8878mdby7765yz8xnjzwjpslb"; depends=[coda sfsmisc colorspace denstrip]; };
+  MCMC_qpcr = derive { name="MCMC.qpcr"; version="1.1.3"; sha256="101pbg08p594ilcrrig9sqkddprpl6cd6g9y9rrk1rq6cy5cmrvr"; depends=[MCMCglmm ggplot2]; };
+  mcmcse = derive { name="mcmcse"; version="1.0-1"; sha256="1jn5hl6aw83qmwccyfmcsvcymx9cp4d3qnfzzqvlw22x26rx88r6"; depends=[]; };
+  mco = derive { name="mco"; version="1.0.12"; sha256="1zfk01l9hza810f0kw8i4d3ayvn6l115c7i31a9ai1c33yralj0d"; depends=[]; };
+  Mcomp = derive { name="Mcomp"; version="2.05"; sha256="0wggj0h0qxjwym1vz1gk9iwnwia4lpjlk6n46l6hinsdax3g221y"; depends=[tseries forecast]; };
+  MConjoint = derive { name="MConjoint"; version="0.1"; sha256="02yik28mhvd4rfqwrprdbdjx9c49ds55fh042bsjajs2ip467w5c"; depends=[]; };
+  MCPAN = derive { name="MCPAN"; version="1.1-15"; sha256="0811wrbp0nf4nj8kvq62ks8yksabib8r1a0gx3nr3v6avfnv08w1"; depends=[mvtnorm multcomp]; };
+  McParre = derive { name="McParre"; version="1.0.1"; sha256="16bfca867drbknzc6bylg8paa8p72l23wgjpyvy4pd9z6lpgmhdy"; depends=[MASS]; };
+  MCPerm = derive { name="MCPerm"; version="1.1.4"; sha256="0g65vzn43k6qrsglxd2kz245f662gl3c2gdz6qvvxa96v6q9lhh1"; depends=[metafor]; };
+  MCPMod = derive { name="MCPMod"; version="1.0-7"; sha256="1iv4c3hsi69yhwch5mf88l27pni07yjnkjqr53kkq167axs7zklx"; depends=[mvtnorm lattice]; };
+  mcprofile = derive { name="mcprofile"; version="0.2-0"; sha256="1vcrszx0fzvvgn8fjja5ncsdvbkikxf2ri52c09xyqnq97r5hx68"; depends=[ggplot2 quadprog mvtnorm]; };
+  mcr = derive { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; };
+  mcsm = derive { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[MASS coda]; };
+  McSpatial = derive { name="McSpatial"; version="2.0"; sha256="18nmdzhszqcb5z9g8r9whxgsa0w3g7fk7852sgbahzyw750k95n4"; depends=[lattice locfit maptools quantreg RANN SparseM]; };
+  mda = derive { name="mda"; version="0.4-4"; sha256="18a12fnhcx911ii8wfqkyi8yxrhbiw2pi6mhywgxzsl3a09g8ghh"; depends=[class]; };
+  mdatools = derive { name="mdatools"; version="0.5.3"; sha256="00zv97asyxp6m4fckkrzba2v1b24a3qzdh4f03nbv5nxdkmbpv4a"; depends=[]; };
+  mded = derive { name="mded"; version="0.1-1"; sha256="1r2sjg661abzsbqdyq2mlyacnv5rd60jfg2156cq5qyknxkin01m"; depends=[]; };
+  MDM = derive { name="MDM"; version="1.3"; sha256="1bvjhl243rf19829ly1qc20ik937hb82lq23aiysj7ya55z8hdpf"; depends=[nnet]; };
+  MDPtoolbox = derive { name="MDPtoolbox"; version="4.0.2"; sha256="04w0y5ib23l7nhj1947hwvfk6lpwwc11amqpyw1w53yj794g97wz"; depends=[Matrix linprog]; };
+  MDR = derive { name="MDR"; version="1.2"; sha256="0g2fvvcwagml6635va87nc0ijzy0pypx5aqzz7mf5w13j0wpm24y"; depends=[lattice]; };
+  meboot = derive { name="meboot"; version="1.4-3"; sha256="0n01g1mjm07pii1las7l2003kg705fqdi941l9lyvdkglnx0dkc6"; depends=[dynlm nlme]; };
+  mederrRank = derive { name="mederrRank"; version="0.0.7"; sha256="08jbqmb418qb7v2x6lm4wig1pfzzfx6fhb49mbfhlkbmssbqsjfq"; depends=[BB numDeriv]; };
+  mediation = derive { name="mediation"; version="4.4"; sha256="1vgx0i9gk7lqpvyyci0d5s9ls0ydhvhrqw9041ikb4b6h2y2aln3"; depends=[MASS Matrix lpSolve sandwich]; };
+  MedOr = derive { name="MedOr"; version="0.1"; sha256="1rwc14s16lnzgb78ac2017hv9pss7zw7nw3y7vrvq1qx4fgiw6f8"; depends=[]; };
+  medSTC = derive { name="medSTC"; version="1.0.0"; sha256="1f7w6jbxairqvghr5b7vgdllg3ian16a1fgi7vqlq0mhy2j6phan"; depends=[]; };
+  MEET = derive { name="MEET"; version="5.1.1"; sha256="02xz2zkwqaf1wck9a3h1j6z8dasw4j0zqa88jg6h10wqzcrlp9ba"; depends=[seqinr Matrix ROCR Hmisc KernSmooth]; };
+  mefa = derive { name="mefa"; version="3.2-5"; sha256="037vpnwclyj6xgycznh6g6qlirlgy3sjnkjqb1046q80b5ywv2ni"; depends=[]; };
+  mefa4 = derive { name="mefa4"; version="0.3-1"; sha256="0zyjhq80krnb11wh8p8006qz0znrps3qsd2qnhkw7zwl5282i1zp"; depends=[Matrix]; };
+  meifly = derive { name="meifly"; version="0.3"; sha256="1x3lhy7fmasss0rq60z5qp74ni32sahw62s8cnp2j431sp95pczc"; depends=[plyr leaps MASS]; };
+  mem = derive { name="mem"; version="1.4"; sha256="1d3fgllh7fhlfz3rz2jm31r8vn7msz4na4762iaw161qp2j101db"; depends=[sm boot]; };
+  memgene = derive { name="memgene"; version="1.0"; sha256="00b1mi2hvzzps542mh2p96s27kjqkpcic7djklfcwnfn1m4bz0i5"; depends=[ade4 raster gdistance vegan]; };
+  memisc = derive { name="memisc"; version="0.96-9"; sha256="0nra47086z4cxwx2hj0w3rdc7zi7k05z9fm6mxw2gi19jgamwcma"; depends=[lattice MASS]; };
+  memoise = derive { name="memoise"; version="0.2.1"; sha256="19wm4b3kq6xva43kga3xydnl7ybl5mq7b4y2fczgzzjz63jd75y4"; depends=[digest]; };
+  MEMSS = derive { name="MEMSS"; version="0.9-2"; sha256="0wyw8yjs4miwgwdfcnfbzvkxrgv5r3jlg3cg8q2vy7s69wvhksmy"; depends=[lme4]; };
+  memuse = derive { name="memuse"; version="1.1"; sha256="1i6l3d885b4v01hlkl50m401bwi7akydhh52gf4kya5khanb8n2b"; depends=[]; };
+  MergeGUI = derive { name="MergeGUI"; version="0.2-1"; sha256="1hx03qv5jyjjmqdvylc3kz5dl5qsdqwlirjbrnxrw7grkgkhygap"; depends=[gWidgetsRGtk2 ggplot2 cairoDevice rpart]; };
+  merror = derive { name="merror"; version="2.0.1"; sha256="09v62f7ycywasid3b7x52dhidplwdbx9fd0855b40jklfy469bkn"; depends=[]; };
+  MESS = derive { name="MESS"; version="0.2-1"; sha256="1hqq615643iqhw6kvcxnxqlpzirdvq0hjm7j2n9x5zkr62syaql3"; depends=[geepack kinship2 mvtnorm]; };
+  meta = derive { name="meta"; version="3.7-1"; sha256="0v8pi7lv645vkw6l13r251hh1rzvsklpx98kx6y3d0kwkbcj3p23"; depends=[]; };
+  MetABEL = derive { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; };
+  MetabolAnalyze = derive { name="MetabolAnalyze"; version="1.3"; sha256="0cl76x6imx4a95wd74xx5s8i2vg8wq3inqgakvgzmkwxad6qhrqp"; depends=[mclust mvtnorm ellipse gtools gplots]; };
+  metabolomics = derive { name="metabolomics"; version="0.1.3"; sha256="1i5wqpjqbl5rhmys6l3iqkrnni7hw7ihq6c5l49ibi7mfyhzq5j9"; depends=[crmn]; };
+  metacom = derive { name="metacom"; version="1.3"; sha256="12asmqwaihm9j6p6qp79m1j93gfcj6rkwmpywhi6nv4g85c1shll"; depends=[vegan lattice]; };
+  metacor = derive { name="metacor"; version="1.0-2"; sha256="04k3ph0yg3jp8x4g6l1h4m0qwl51mx0626xmm0fzr1pv4b4a1ypw"; depends=[rmeta gsl]; };
+  MetaDE = derive { name="MetaDE"; version="1.0.5"; sha256="1ijg64bri5jn2d3d13q1gvvfyqmbh6gn0lk6dkihixf0jwvjdyqi"; depends=[survival combinat]; };
+  metafolio = derive { name="metafolio"; version="0.1.0"; sha256="18s78lljwnn3j0l3mqc0svszcb3c8yzyzlpnimndbiq9yxagxnnf"; depends=[Rcpp plyr colorspace MASS]; };
+  metafor = derive { name="metafor"; version="1.9-4"; sha256="1kfj59jdns1b9m40xdpqyxjq592mkdr2f4i6nswkqga28ss8nk8w"; depends=[Formula Matrix]; };
+  metagen = derive { name="metagen"; version="1.0"; sha256="0jvbm22976aqvmfnjzs51n2w099yj5hpx6hd0pgvbia80jk7b9vk"; depends=[MASS lhs plyr BBmisc ParamHelpers BatchJobs BatchExperiments ggplot2 metafor]; };
+  metaLik = derive { name="metaLik"; version="0.41.0"; sha256="08wiriq6cm02d0b0q34056y5249daidpjzkwzgjq6dh55v5fp2s4"; depends=[]; };
+  metaMA = derive { name="metaMA"; version="2.1"; sha256="1hwhj3m4n48qb9vqix2qazsy1xnmwk8x37zm826xx9j0n5j2ilac"; depends=[SMVar]; };
+  metamisc = derive { name="metamisc"; version="0.1.1"; sha256="1cvlsix3b857xdw6anqhqsrfwxpnf4rbzg4ybf6aw7vcdc05zgwd"; depends=[mvtnorm ellipse bbmle rjags coda]; };
+  metap = derive { name="metap"; version="0.6"; sha256="1iy5cmwrlsr70z0qnqn30n15knsfclg383815a2a8yqpg5gs4953"; depends=[]; };
+  MetaPCA = derive { name="MetaPCA"; version="0.1.4"; sha256="14g4v3hyxnds4l2q36mpz282yqg8ahgdw3b0qmj0xg17krrf5l2s"; depends=[foreach]; };
+  MetaQC = derive { name="MetaQC"; version="0.1.13"; sha256="11595ggjr46z6xiwmhiyx1sydaq68l18y7mgdwxsg81g03ck9x1r"; depends=[proto foreach iterators]; };
+  metaRNASeq = derive { name="metaRNASeq"; version="0.4"; sha256="14xqgxvlip6il1gx9xvv37683qm7zmyswklbcgqw9rgqifi0plal"; depends=[]; };
+  metasens = derive { name="metasens"; version="0.1-0"; sha256="0hrrzn6p14p2vs7bllkh9yxg0a3x87dmniglhq05p23g4lymcmbl"; depends=[meta]; };
+  MetaSKAT = derive { name="MetaSKAT"; version="0.40"; sha256="1jxs32hvsw6wzci9f1rc7sw1dfyazdm2d57wcmhkggfg3hkdn1vv"; depends=[SKAT]; };
+  metatest = derive { name="metatest"; version="1.0-4"; sha256="0bz6gg2n4ffkr144jxk27y24xpqhp8awr09wkaijmv8902qx6qah"; depends=[]; };
+  Metatron = derive { name="Metatron"; version="0.1-0"; sha256="0pfkb8wh1gbygbi7m9c5zi630clkn2bd1y9yrdxjlqifzvwx4dbi"; depends=[lme4 mpt Matrix]; };
+  meteoForecast = derive { name="meteoForecast"; version="0.31"; sha256="02rbl05i70ss65946w1aa2bg01l8hspqmmqz4w8j2jhs6dhgd429"; depends=[raster sp zoo ncdf rjson]; };
+  meteogRam = derive { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
+  Meth27QC = derive { name="Meth27QC"; version="1.1"; sha256="0ad30svs2kjzmmyvcm0jmv64iyq7slp1x1xl35h2rv1b6zbd4658"; depends=[gplots]; };
+  MethComp = derive { name="MethComp"; version="1.22"; sha256="0wp2v8z5y9nl3jalcl2a42z2fpkwkzkvl407farws0yih0hj8b8l"; depends=[nlme]; };
+  Methplot = derive { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; };
+  Metrics = derive { name="Metrics"; version="0.1.1"; sha256="1yqhlsmhh9sl7qngl85b7qb980s54h13wwznpakyvvwlar64yqrw"; depends=[]; };
+  metRology = derive { name="metRology"; version="0.9-17"; sha256="1g4gv3mpii71i6imfwqg9d5iwfx03bq4lizzhx7dy39b2mj7jd4q"; depends=[MASS numDeriv]; };
+  metrumrg = derive { name="metrumrg"; version="5.55"; sha256="1y95j8chnm34svf4q7ijqm19778pnap8734a40v3zb17zbjvs3aj"; depends=[reshape lattice XML MASS]; };
+  mets = derive { name="mets"; version="0.2.8"; sha256="11mvd8bjd2h106d7kr60axp24pp38z21jkabgbpcigzc14mrd8y9"; depends=[timereg lava numDeriv Rcpp]; };
+  MetSizeR = derive { name="MetSizeR"; version="0.99"; sha256="1msq0la89fvg9vfz5k8rzsnhpqa9b8cjyhggp7mp10rzh696sdap"; depends=[gWidgets cairoDevice pscl gtools MetabolAnalyze]; };
+  MetStaT = derive { name="MetStaT"; version="1.0"; sha256="0400gx6i8xlkm51da98ap91c3hgrkgfgxswn0plaxfry3625khkp"; depends=[MASS abind pls]; };
+  mewAvg = derive { name="mewAvg"; version="0.3.0"; sha256="16gc78ccjffp9qgc7rs622jql54ij83ygvph3hz19wpk22m96glm"; depends=[]; };
+  MExPosition = derive { name="MExPosition"; version="2.0.3"; sha256="1l27wp0psfvlkk79fhb8ypf8awardjljg1f37yj42friy9pdfksz"; depends=[prettyGraphs ExPosition]; };
+  MF = derive { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; };
+  MFDA = derive { name="MFDA"; version="1.1-4"; sha256="0zf21al8ivmsxlf1i7kc01w0jx3s6650a034cdynz7axnxx28ncx"; depends=[gss mvtnorm]; };
+  MFHD = derive { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[fda_usc deldir depth depthTools matrixStats]; };
+  mFilter = derive { name="mFilter"; version="0.1-3"; sha256="1cz9d8447iiy7sq47civ1lcjafqdqs40lzxm2a4alw4wy57hc2h6"; depends=[]; };
+  mfp = derive { name="mfp"; version="1.4.9"; sha256="1xnx4jgkxccli1y852kvf26q04mdidczpic3ms916a8mkby7kg3k"; depends=[survival]; };
+  MFSAS = derive { name="MFSAS"; version="1.0-0"; sha256="1vnhkr4bgwdn6ffzqfp8w7z45m0ghrfr6ib4agv23frk36ypmxxr"; depends=[]; };
+  mfx = derive { name="mfx"; version="1.1"; sha256="1zhpk38k7vdq0pyqi1s858ns19qycs3nznpa00yv8sz9n798wnn5"; depends=[sandwich lmtest MASS betareg]; };
+  mgcv = derive { name="mgcv"; version="1.8-2"; sha256="01ml3lwwisg96mb9xs5z5igy4hl480zwbf3s4kpwzzg375ksn49v"; depends=[nlme Matrix]; };
+  MGLM = derive { name="MGLM"; version="0.0.6"; sha256="00kz2l7xn9df8n0035i2rkgj6rlb99y9z68935q8px70njs8rl87"; depends=[ggplot2 plyr reshape2]; };
+  mgpd = derive { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[evd numDeriv corpcor fields]; };
+  mgraph = derive { name="mgraph"; version="1.03"; sha256="0av2c0jvqsdfb3i0s0498wcms0n2mm0z3nnl98mx2fy7wz34z8b2"; depends=[rgdal]; };
+  MGRASTer = derive { name="MGRASTer"; version="0.9"; sha256="0jmf2900r56v60981sabflkhid3yrqd9xd7crb56vgfl1qkva9zp"; depends=[]; };
+  MGSDA = derive { name="MGSDA"; version="1.0"; sha256="1h4sz9csc5cvkr0jnwas28233yx4v0lwxsgl6vh4gxk8w81md25y"; depends=[glmnet]; };
+  mGSZ = derive { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[GSA MASS ismev]; };
+  MHadaptive = derive { name="MHadaptive"; version="1.1-8"; sha256="1w3bm82v8ahxrf0vqn0pznv7dqn212drinkz8y5kr1flx423l9ws"; depends=[MASS]; };
+  mhsmm = derive { name="mhsmm"; version="0.4.12"; sha256="0k8qm447fcgfc5fmqn478dszr76jmin85k51ccqmhgk14jiz64bf"; depends=[mvtnorm]; };
+  mht = derive { name="mht"; version="3.00"; sha256="143gmipx6v9nvg2lq1kbl7ns6qmvwpxf3gzmq4b6cfgamcljl05l"; depends=[glmnet]; };
+  mhurdle = derive { name="mhurdle"; version="1.0-1"; sha256="1x631fgbq3ika05svyavzadyjd7vi9bcmsgb58wfhpf9xq6j5rcr"; depends=[Formula truncreg maxLik pbivnorm]; };
+  mi = derive { name="mi"; version="0.09-18.03"; sha256="01cxkqy5g0i7bqr9rb86075p5gmwgcs7cvs4nfs00r5vjw1hgq61"; depends=[arm abind car foreign lme4 MASS Matrix nnet R2WinBUGS]; };
+  mice = derive { name="mice"; version="2.22"; sha256="1b7ivpa21ipzbmmwjn1ch968zpw6wydg30f7jdk95m40lrk2xs68"; depends=[Rcpp lattice MASS nnet randomForest rpart]; };
+  miceadds = derive { name="miceadds"; version="0.14-9"; sha256="0zfqs52kaj9sxdzc7j0zxbnaqnkz9a8pwgn2p0pz46qf7kgx6y16"; depends=[MASS mice mvtnorm pan sirt lme4 MBESS pls mitools bayesm Rcpp inline car foreign]; };
+  micEcon = derive { name="micEcon"; version="0.6-12"; sha256="1kxhr3qqgswq8glrjfcjz0hyb163lwf303yhwlgrwjciqgp5dq17"; depends=[miscTools]; };
+  micEconAids = derive { name="micEconAids"; version="0.6-16"; sha256="07hsabrlkwpdaalh0b7izraz2q5dlxn373ccijc5c4zsrkgk7kij"; depends=[lmtest micEcon systemfit miscTools]; };
+  micEconCES = derive { name="micEconCES"; version="0.9-8"; sha256="06g6z8hf7y9d942w6gya0fd5aidzfjkx3280gjygdlwpv7nlpqzv"; depends=[minpack_lm DEoptim systemfit car micEcon miscTools]; };
+  micEconSNQP = derive { name="micEconSNQP"; version="0.6-6"; sha256="1n3pxapc90iz1w3plaqflayd0b1jqd65yw5nbbm9xz0ih132dby9"; depends=[miscTools systemfit MASS]; };
+  MiClip = derive { name="MiClip"; version="1.2"; sha256="0cszylg7sk88gs1f4dfshw74kdifjr4q069ssxzgss9k90rszp30"; depends=[moments VGAM]; };
+  microbenchmark = derive { name="microbenchmark"; version="1.3-0"; sha256="1j0pif46bymmkgr61yf2xv2ymm0xwx52lyc46pgas4i9czygdc9v"; depends=[]; };
+  MicroDatosEs = derive { name="MicroDatosEs"; version="0.6.3.1"; sha256="17ka9bdic8vdr0aabmgm216zm9a8jppxll042b5ric4vzplah17d"; depends=[memisc Hmisc]; };
+  micromap = derive { name="micromap"; version="1.9"; sha256="0scb79rrj11vy7qgq27hy8222ar22yagk31bq8b5z268zwfbw4fs"; depends=[ggplot2 maptools RColorBrewer rgdal]; };
+  micromapST = derive { name="micromapST"; version="1.0.3"; sha256="182zhpsps8cx3wflc5j62njzsv108d5a30v9sb1wpxpcrnsyr343"; depends=[RColorBrewer]; };
+  MicroStrategyR = derive { name="MicroStrategyR"; version="1.0-1"; sha256="0a6bk0wnwx8zy9081n7wb12lidgckrhn350r0q5m6aa82l6l8ihi"; depends=[gWidgetsRGtk2]; };
+  MicSim = derive { name="MicSim"; version="1.0.6"; sha256="01w9x3ld8b64m3d9qjbja6gbmgnsj2bna9l7lisa17add0i11744"; depends=[chron snowfall rlecuyer]; };
+  midasr = derive { name="midasr"; version="0.3"; sha256="1gdfrf8p4wxz03bzdqrvj4ss14zy7dh5ac04ncvg4db2wcdxq6z5"; depends=[sandwich optimx MASS numDeriv Matrix]; };
+  MIfuns = derive { name="MIfuns"; version="5.1"; sha256="1jhiaf9wrwgrlsl8s81qh0m8x1vpa01gnw2nxcfpshi7i9il3lw7"; depends=[reshape lattice XML MASS]; };
+  MigClim = derive { name="MigClim"; version="1.6"; sha256="171pnalidyw0v2fcjdc3kyrq5kg035kwj5xl8zwgn3hlanpaljvp"; depends=[SDMTools raster]; };
+  migest = derive { name="migest"; version="1.6"; sha256="1mjjcba74nk10kdbsaphih3zdyaqmf02hrv13s34klwdwkp3nv0m"; depends=[]; };
+  migration_indices = derive { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; };
+  migui = derive { name="migui"; version="0.00-09"; sha256="0mrvsls9q039pay0vf59xwg6bbr7ahwl4x3iwvar6sbfg8606as8"; depends=[tkrplot mi foreign]; };
+  MIICD = derive { name="MIICD"; version="1.1"; sha256="0d697mggax1yp7b4dfxdi25rqmwrq25gmmjqsag6sa5raqr96gc9"; depends=[mstate prodlim cmprsk riskRegression MASS survival]; };
+  MILC = derive { name="MILC"; version="1.0"; sha256="14xsiw5al6kixwvf3ph0dlm8s13gsbqvzb92da6ng3x4iiyb1g0w"; depends=[]; };
+  mime = derive { name="mime"; version="0.1.2"; sha256="0afndhp8sxvx689b0i9mx52ws9wynd41z8ij3kqnqcz0sa1n4ifb"; depends=[]; };
+  MImix = derive { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
+  MindOnStats = derive { name="MindOnStats"; version="0.8"; sha256="1fsswkbrxd3f0hz3nd25xvp36si292s4q2r52hw6rsps2mx6bgqi"; depends=[]; };
+  minerva = derive { name="minerva"; version="1.3"; sha256="0ph65jfm05wck3zz0lh3bmaj0p4c9309nzkrjpjxqkcnrfdbw6wf"; depends=[]; };
+  Miney = derive { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; };
+  miniCRAN = derive { name="miniCRAN"; version="0.0-16"; sha256="01f8cgvnzji56qd7d8cnhm5cp9mx45kyxfkqf46l10c8rhll6h3c"; depends=[XML]; };
+  miniGUI = derive { name="miniGUI"; version="0.8.0"; sha256="1iq52x7wbcin7ya207jj3k9vym7mavm5z61vggyabdmr768pci39"; depends=[]; };
+  minimax = derive { name="minimax"; version="1.0"; sha256="1g0d9q5h1avbb0yg7ajw5330820i3n5cgkpsif754l4j3ikya8p3"; depends=[]; };
+  minpack_lm = derive { name="minpack.lm"; version="1.1-8"; sha256="0nvsxqwg3k9k3dqjzkz1vq2z0xla317011zm9ms8y1qvf75raz83"; depends=[]; };
+  minPtest = derive { name="minPtest"; version="1.7"; sha256="088kckpbfy2yp0pk3zrixrimywrvkaib5ywa7fkr5phnzlsl80sv"; depends=[scrime Epi]; };
+  minqa = derive { name="minqa"; version="1.2.3"; sha256="06w8in7kpsv8c7frpsgjb40x4vsc8y0ashb0il1yyr157gqdgyhn"; depends=[Rcpp]; };
+  minque = derive { name="minque"; version="1.0"; sha256="1ympfyf24883n7178s7jspq18bq5j2kb87hz2yq9i99ds6liqr6b"; depends=[klaR agridat Matrix]; };
+  minxent = derive { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
+  miP = derive { name="miP"; version="1.1"; sha256="17y2badm76iwidjp45flm9ln098lk9r5m6lgx3skzcq3hp075967"; depends=[VIM mi mice Amelia lattice vcd]; };
+  MIPHENO = derive { name="MIPHENO"; version="1.2"; sha256="0hcaq66biv4izszdhqkgxgz91mgkjk1yrwq27fx07a2zmzj44sfv"; depends=[doBy gdata]; };
+  miRada = derive { name="miRada"; version="1.13.8-8"; sha256="1m6rm65pv4r16r0s5ih69nr3v2rnpsvpdpk07pi7k4f7v9wck71v"; depends=[]; };
+  mirt = derive { name="mirt"; version="1.4"; sha256="0ngm22lhwfv2l68nn7qrvjpyz49kcasdaj2jx46fcb4851xxahyw"; depends=[lattice GPArotation Rcpp numDeriv]; };
+  miRtest = derive { name="miRtest"; version="1.7"; sha256="0nqn3xrwlw2z9wjhf6rv0n9frqqviiv54syxyn1nkcn2d5lygwn3"; depends=[corpcor MASS RepeatedHighDim]; };
+  misc3d = derive { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; };
+  miscF = derive { name="miscF"; version="0.1-2"; sha256="195rb9acdirfhap0z35yvcci5xn4j84mlbafki4l1vfgqgnh0ajj"; depends=[MCMCpack mvtnorm Rcpp RcppArmadillo]; };
+  miscFuncs = derive { name="miscFuncs"; version="1.2-6"; sha256="1302k6pvf74a0b9bkdjdr2j1xl98842rbq7137h8hwldl50g48i7"; depends=[roxygen2 mvtnorm]; };
+  MiscPsycho = derive { name="MiscPsycho"; version="1.6"; sha256="1zs6apivzzii7nln3jmhxggnhxk3j54cw84wbsc8hb279rv943il"; depends=[statmod]; };
+  miscset = derive { name="miscset"; version="0.3.1"; sha256="1x1948cwxjqkz23p14ilv5x381xbfkzg328n51fw3sqz11lb2h8g"; depends=[Rcpp xtable]; };
+  miscTools = derive { name="miscTools"; version="0.6-16"; sha256="19mslb64lm8srrmml1v40rfkxhqw02bplw0yjv7qnkqj44hcqfw1"; depends=[]; };
+  missForest = derive { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[randomForest foreach itertools]; };
+  MissingDataGUI = derive { name="MissingDataGUI"; version="0.2-0"; sha256="18z25wjq4mcd7vv7wg1xz0hmac2dvd1ap91p22yxvpk1qjllzaq3"; depends=[gWidgetsRGtk2 ggplot2 GGally cairoDevice reshape]; };
+  missMDA = derive { name="missMDA"; version="1.7.2"; sha256="07m8vih9bbzsx47g59dz9m8m23r8rrvnwddm29gx0cv24snh97lv"; depends=[FactoMineR]; };
+  MissMech = derive { name="MissMech"; version="1.0.1"; sha256="0xcxzgjv9p9w8rdq07vanfrw0b49acdikr8brm78hshy0dsnas32"; depends=[]; };
+  MiST = derive { name="MiST"; version="1.0"; sha256="0gqln792gixqfh201xciaygmxbafa0wyv5gpbg9w5zkbbv44wrfk"; depends=[CompQuadForm]; };
+  mistat = derive { name="mistat"; version="1.0-2"; sha256="1n5wdn5pl6mflzxpdwjj0x44c8a3cxxpwhmyw1jkx5r8yk95mh3p"; depends=[]; };
+  mistral = derive { name="mistral"; version="1.1-0"; sha256="08gnichjihhl8dnyh7612x9m2b8vbj81jcya8bh1aaxql26zq9w1"; depends=[DiceKriging e1071 kernlab Matrix mvtnorm rgenoud]; };
+  MitISEM = derive { name="MitISEM"; version="1.0"; sha256="03305ds3rgr29z4idaxzsm83igiygna2sqd5vpixklngsrp8w341"; depends=[mvtnorm]; };
+  mitools = derive { name="mitools"; version="2.2"; sha256="08sbm17sw549ljid93x64lxg79f860as6j3vv0f8nh1zb9rabqh8"; depends=[foreign]; };
+  mix = derive { name="mix"; version="1.0-8"; sha256="0zdbxrslj39cl272ggzvlc41gysj1inbcbmsa4ch7ss5xvk5vfbf"; depends=[]; };
+  mixAK = derive { name="mixAK"; version="3.6-1"; sha256="1khnxvmnd7qwk3lxld70dwxfdya2rq4ybdal89v0p7mxcv9abzdh"; depends=[colorspace lme4 fastGHQuad mnormt]; };
+  mixcat = derive { name="mixcat"; version="1.0-3"; sha256="0xszngygd3yj61pvv6jrrb5j0sxgpxzhlic69xrd5mv5iyw0cmxd"; depends=[statmod]; };
+  mixdist = derive { name="mixdist"; version="0.5-4"; sha256="100i9mb930mzvdha31m1srylmpa64wxyjv6pkw1g5lhm1hsclwm3"; depends=[]; };
+  mixedQF = derive { name="mixedQF"; version="0.3"; sha256="037376k13qh0c5nw1nxx3fvffisl9kcdyjz5d4i6vn3gfj0yqccc"; depends=[nnet MASS]; };
+  MixedTS = derive { name="MixedTS"; version="1.0.1"; sha256="0ljal2jxscwrv439blavf5gjxbi3k3jfqqmwblzfvc05dqgvdk0b"; depends=[MASS]; };
+  mixer = derive { name="mixer"; version="1.7"; sha256="0as9l0s646snli5pykh0i6zpz168f8i5wmxk07l5rhxnb74m0id2"; depends=[]; };
+  mixexp = derive { name="mixexp"; version="1.1.2"; sha256="11gzjmg0nifr18nikga1fx8bdgqn2kj1jsyk8q6vi9q9k952f746"; depends=[gdata lattice]; };
+  MixGHD = derive { name="MixGHD"; version="1.0"; sha256="008xbbvyc8lm1375yvbk7zvqz2hbf87jq7q9xv75zn65gxm8j93m"; depends=[Bessel MASS mvtnorm ghyp numDeriv]; };
+  mixlm = derive { name="mixlm"; version="1.0.5"; sha256="104rh4g7ik1ry0xb53n5b5fv1spvck6s2k2h4xjlp1ykazph073y"; depends=[multcomp pls leaps lme4 car]; };
+  mixlow = derive { name="mixlow"; version="1.0.1"; sha256="12vnp3gl3ykxzgvc4bwhi4flmc1sl2y77yi0zi4by17q93a49akm"; depends=[nlme]; };
+  MixMAP = derive { name="MixMAP"; version="1.3.1"; sha256="0m6m9wi0ain7z96s6z6kmwjisfqm3al6m459y5zr2l1cdbdpxfpv"; depends=[lme4]; };
+  mixOmics = derive { name="mixOmics"; version="5.0-2"; sha256="01xcmm9g80cn8bmq761h3v5az5pj0qldnbszgqx6b2bcrxkc0wg9"; depends=[MASS lattice RGCCA igraph rgl pheatmap]; };
+  mixPHM = derive { name="mixPHM"; version="0.7.0"; sha256="0gyvccz205wwnmggh5zw90r6kmr5lv4s4zrdazi2ghjjrvv0gv6b"; depends=[survival lattice]; };
+  mixRasch = derive { name="mixRasch"; version="1.1"; sha256="1r067pv7b54y1bz8p496wxv4by96dxfi2n1c99gziqf5ramx3qzp"; depends=[]; };
+  mixreg = derive { name="mixreg"; version="0.0-5"; sha256="0wsb1z98ymhshw9nhsvlszsanflxv3alwpdsw8lr3v62bkwka8zr"; depends=[]; };
+  mixsep = derive { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[tcltk2 MASS RODBC]; };
+  MixSim = derive { name="MixSim"; version="1.0-9"; sha256="16kg12784z82x8f1vscv9d5yakmki2m8gqr4hy9417c31xfkk3zy"; depends=[MASS]; };
+  mixsmsn = derive { name="mixsmsn"; version="1.0-9"; sha256="0pgip1xfgfrdy3g3197d7visn164zi7xnp6wlsgjwxdylvjsxkji"; depends=[mvtnorm]; };
+  mixstock = derive { name="mixstock"; version="0.9.5.1"; sha256="05bnxz7xkr5j96r85r7pc47svc60nwfmfax76naplzbvn751mhkg"; depends=[coda plotrix abind lattice]; };
+  mixtools = derive { name="mixtools"; version="1.0.2"; sha256="0x809m6lbzprd5kq6wqk528x9apaj5df3sidzk9jiw06qklngwg8"; depends=[boot MASS segmented]; };
+  mixture = derive { name="mixture"; version="1.1"; sha256="09hp28fh1y2kllny6l0zciwbhhnjjgyipsx1vs55rq7rr0s94pkn"; depends=[]; };
+  MixtureInf = derive { name="MixtureInf"; version="1.0-1"; sha256="1cq8zzhhb6vg545n9aw1b9fhx025zy75dd6pw161svsb5776py5d"; depends=[]; };
+  mizer = derive { name="mizer"; version="0.2"; sha256="0cpal9lrjbvc923h499hbv4pqw3yjd4jvvhgayxgkak2lz2jzmcz"; depends=[plyr reshape2 ggplot2]; };
+  mkin = derive { name="mkin"; version="0.9-32"; sha256="1b1s1px4zcbpk2wl49qricxgjw4pvffhvf3ccyrjhxdrdpmcknyr"; depends=[minpack_lm rootSolve FME deSolve]; };
+  MKLE = derive { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
+  MKmisc = derive { name="MKmisc"; version="0.96"; sha256="1lcnmswvix290s63cqqlq4ls6wyzzb3f5ykcn4sch6nv71bn8x5x"; depends=[RColorBrewer robustbase]; };
+  mkssd = derive { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; };
+  mlbench = derive { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; };
+  MLCM = derive { name="MLCM"; version="0.4.1"; sha256="1g6lmw75qdiq0fshxr3sqwm1a3y4928chxkggnfwwxp8hqw4r6px"; depends=[]; };
+  mlDNA = derive { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[snowfall igraph rsgcc e1071 randomForest pROC ROCR]; };
+  MLDS = derive { name="MLDS"; version="0.4.3"; sha256="1vql92y2dy1ba5l5xdysqzkzvkrr4bhclmjabn49c8qb2xc2rl40"; depends=[MASS]; };
+  mlearning = derive { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class nnet MASS e1071 randomForest ipred]; };
+  MLEcens = derive { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
+  mlegp = derive { name="mlegp"; version="3.1.4"; sha256="1932544irhzhf6a8rjyh66j57h9awlhwd6xam603bamfg106cmg2"; depends=[]; };
+  MLEP = derive { name="MLEP"; version="0.0-3"; sha256="1v3jiqy9lr3p30bpiibbq5cypy46c7vnsl40z0miyviiv4s1c3vz"; depends=[]; };
+  mleur = derive { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[urca stabledist fGarch lattice]; };
+  mlgt = derive { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
+  mlica2 = derive { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
+  mlmmm = derive { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; };
+  mlmRev = derive { name="mlmRev"; version="1.0-6"; sha256="0mvmahnbbp478xwldj4wlsjib4v4afhs07643gxgcqpi56zbd5h7"; depends=[lme4]; };
+  mlogit = derive { name="mlogit"; version="0.2-4"; sha256="15ndly7i56k8blgvpn15ixxnqx9yvbci7n3mb3hm9mnrxwh5v7sx"; depends=[Formula maxLik statmod zoo MASS lmtest]; };
+  mlogitBMA = derive { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[BMA abind maxLik]; };
+  MLPAstats = derive { name="MLPAstats"; version="0.5-9"; sha256="0cy315kj2ivqwrdhg85ncp634mwx2bbwzs86w1pcjwf03v217wk9"; depends=[nlme boot tkrplot pixmap]; };
+  mlPhaser = derive { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; };
+  mlr = derive { name="mlr"; version="2.1"; sha256="15czq70hgfbfr1j9lhbsrmmf2d5mqvy1zj9xkmnycfvk0zsh996j"; depends=[ParamHelpers BBmisc parallelMap codetools survival checkmate]; };
+  MLRMPA = derive { name="MLRMPA"; version="1.0"; sha256="0gfbi70b15ivv76l3i0zlm14cq398nlny40aci3vqxxd0m2lyyx5"; depends=[ClustOfVar]; };
+  MM = derive { name="MM"; version="1.6-2"; sha256="1z7i8ggd54qjmlxw9ks686hqgm272lwwhgw2s00d9946rxhb3ffi"; depends=[magic partitions emulator Oarray]; };
+  mmand = derive { name="mmand"; version="1.0.0"; sha256="10dqg99iaq5mfdz0x35z7f8xsf5fhw3jis0zgqxia8vzrw68q70v"; depends=[reportr Rcpp]; };
+  mmap = derive { name="mmap"; version="0.6-12"; sha256="12ql03wzwj23h8lwd07rln6id44mfrgf9wcxn58y09wn3ky1rm6a"; depends=[]; };
+  mmcm = derive { name="mmcm"; version="1.2-4"; sha256="16lh9ivnj3l01y28lgb5gykkxwa56cssadnh516qwhnv63c586sv"; depends=[mvtnorm]; };
+  mmds = derive { name="mmds"; version="1.1"; sha256="0f5qzkfhi7vg8vsd8r41idmbwrrgc7qzfnp81adms2yzrza17wrw"; depends=[]; };
+  mme = derive { name="mme"; version="0.1-4"; sha256="1k9l86q8bahkp0g6g6k963j3n2pzz4jb2xljw31r8xxlxpiv11n5"; depends=[mixstock MASS Matrix]; };
+  mmeln = derive { name="mmeln"; version="1.1"; sha256="06bxp157cdab6ghx3yrsn8l2gixh9cyv6fv4pqyq0yxqwbjf9bmi"; depends=[]; };
+  mmeta = derive { name="mmeta"; version="2.2"; sha256="06zkazi97f3il2vlx4f8c7zz4kxs9ylhscd06j31h504c1w96ddf"; depends=[aod HI]; };
+  MMIX = derive { name="MMIX"; version="1.2"; sha256="02c74qp48ixqh5cjp2006zgg4xz4bgxxq3csyhjl219if19kmj5m"; depends=[]; };
+  mmm = derive { name="mmm"; version="1.4"; sha256="1nydian004nldqhyw3x15w6qfml2gkjc0x8ii54faz563byjv3d8"; depends=[gee]; };
+  mmm2 = derive { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; };
+  MMMS = derive { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[survival glmnet]; };
+  mmod = derive { name="mmod"; version="1.2.1"; sha256="0c2ijg5116hacq0f18xhkbxankjp0k34zfnw8q02ahzwd26ds0z7"; depends=[adegenet pegas]; };
+  MMS = derive { name="MMS"; version="3.00"; sha256="06909912v2hr52s8k0a0830lbmdh05dcd7k47vydhbwq3rzf3ahg"; depends=[glmnet Matrix mht]; };
+  MMST = derive { name="MMST"; version="0.6-1.1"; sha256="1gd7v34xi3wn2rjhk0ih0q2i2hb7c5x8kvv90g90ln803b5wvbhs"; depends=[]; };
+  mnlogit = derive { name="mnlogit"; version="1.1.1"; sha256="0n6b5c14dcqv8pldrdgpjq8r2q956whwz2bxalphcf5da9r9jlc7"; depends=[]; };
+  MNM = derive { name="MNM"; version="1.0-0"; sha256="0qab0qqhfjmaiji5yqdvd1lqz8f90q40sdwpcah923yi3g6alh2q"; depends=[ellipse ICS ICSNP SpatialNP mvtnorm survey]; };
+  mnormt = derive { name="mnormt"; version="1.5-1"; sha256="1msxbdlg4wb45lsg0m4hqf41qglnmbqw55815v8qvyfjkwrgns8b"; depends=[]; };
+  MNP = derive { name="MNP"; version="2.6-4"; sha256="068lssg565dw673dm8f5k6dbxl2vblnszg8wibzy3ijf96hp03cw"; depends=[MASS]; };
+  mobForest = derive { name="mobForest"; version="1.2"; sha256="198air7fplgiw86vs7m4dn4kai0gpnnmv14bykbw3lnaxk4fk8fd"; depends=[party lattice modeltools]; };
+  Mobilize = derive { name="Mobilize"; version="2.16-2"; sha256="077s56cfb6cp2fiyrvva130c63nqr7nczfyfkykmkdsjsgs3ksp8"; depends=[Ohmage ggplot2 wordcloud reshape2]; };
+  MOCCA = derive { name="MOCCA"; version="1.2"; sha256="04smpzn9x64w1vpw4szqa7dwnaak1ls6gpg7fgajs68mv5zivffa"; depends=[cclust clv]; };
+  Modalclust = derive { name="Modalclust"; version="0.6"; sha256="16h90d30jwdrla5627rva0yf69n0zib9z5fl3k5awlqfscz4fw26"; depends=[mvtnorm zoo class]; };
+  modeest = derive { name="modeest"; version="2.1"; sha256="0l4y7yhkgsxycdd2lck0g8g6k2r059hwlrrcpl46md3rva4jgbnp"; depends=[]; };
+  modehunt = derive { name="modehunt"; version="1.0.6"; sha256="15rq1yyrjhsn2rlkyiqj36jvji635hy6jsih845mfxdpn4vnssa3"; depends=[]; };
+  modelfree = derive { name="modelfree"; version="1.1-1"; sha256="0ammka2wxx90z31zfzypw9dk5n118l0vxhykxbx6srfig2vdyn82"; depends=[PolynomF SparseM]; };
+  ModelGood = derive { name="ModelGood"; version="1.0.8"; sha256="1s86l7kcvfqm1lkpgp74b1bxj14a9r134waszw0da231zdsxfh3c"; depends=[prodlim]; };
+  ModelMap = derive { name="ModelMap"; version="3.0.15"; sha256="1d7qn1p4fv94bdlr6if64vxl9yknavix4gzmpg3kxwlrxaz2g8a2"; depends=[randomForest raster gbm rgdal fields HandTill2001 PresenceAbsence]; };
+  modeltools = derive { name="modeltools"; version="0.2-21"; sha256="0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7"; depends=[]; };
+  modiscloud = derive { name="modiscloud"; version="0.14"; sha256="0vwhfp50yb21xkanvzk983vk0laflv60kj1ybx3fydfljwqx0rwj"; depends=[date sp sfsmisc raster rgdal]; };
+  MODISTools = derive { name="MODISTools"; version="0.93.9"; sha256="086i965gxmcqz7n0a1wg4jhplb3ivpfpwl1w32vzr0wql5yyp85i"; depends=[RCurl XML]; };
+  modTempEff = derive { name="modTempEff"; version="1.5.1"; sha256="1xny818gnr5fphxvpc343mcc6xcacr0asi36m7q0bxmzy3lhs8r6"; depends=[mgcv]; };
+  moduleColor = derive { name="moduleColor"; version="1.08-1"; sha256="16z0iyy517j1kbsbcpdppy0gyac7vyfz13yznzhs42fwj7k0iwxl"; depends=[dynamicTreeCut]; };
+  MOJOV = derive { name="MOJOV"; version="1.0.1"; sha256="11mcqxw83z4xx29s34v4rsbb3zvyhlb2lmvf97b77n455gsy5hab"; depends=[aod survey saws lattice]; };
+  mokken = derive { name="mokken"; version="2.7.5"; sha256="0wrf5xlhvb3lcjdxkrf8pfsq8k159l5zvcwni653vrxl1rfwh69m"; depends=[]; };
+  mombf = derive { name="mombf"; version="1.5.7"; sha256="0kmxzdkjwlbw3sjinjcxsi1fjylib232agvq0bx58i7bzcad8bv9"; depends=[mvtnorm ncvreg actuar mgcv]; };
+  moments = derive { name="moments"; version="0.13"; sha256="05pa4gkmpmp744a5rsr2arqh7y5bgalwrwdn731jg6waqiniy024"; depends=[]; };
+  Momocs = derive { name="Momocs"; version="0.2-6"; sha256="187w6xyswlg5nac6lbprcwvj63gka832n33vlj2ix810vqyxd0fk"; depends=[ade4 sp shapes jpeg spdep ape]; };
+  mondate = derive { name="mondate"; version="0.10.01.02"; sha256="18v15y7fkll47q6kg7xzmj5777bz0yw4c7qfiw2bjp0f3b11qrd2"; depends=[]; };
+  MonetDB_R = derive { name="MonetDB.R"; version="0.9.4"; sha256="0ivymfng1959xw5wwmfl8l72dz4skarsb791ij54xcfn4v7c18np"; depends=[DBI digest]; };
+  monitoR = derive { name="monitoR"; version="1.0.2"; sha256="1nrw8xrp99p62w4bpsbca9ahdra9cid1piidwhjc4f6vqsbkp479"; depends=[tuneR]; };
+  monmlp = derive { name="monmlp"; version="1.1.2"; sha256="14x6xz07hg2c5n36rc314z66jqvgmicjxi2vsqyy91vwjxs9akrm"; depends=[]; };
+  monomvn = derive { name="monomvn"; version="1.9-5"; sha256="1fh0c1234hb5f3rwy85i4rlzc3n1851q5mivckcjs2vdm9rz25mg"; depends=[pls lars MASS]; };
+  MonoPoly = derive { name="MonoPoly"; version="0.2-8"; sha256="0lpqqpahpss4q9iddh2p4h6klsrjhg3v6h1wfb70vy0miyhqb93h"; depends=[quadprog]; };
+  monreg = derive { name="monreg"; version="0.1.2"; sha256="0qah7yw1xwk3pig413r7l8hhh645d45706mndv614fir738bv9pk"; depends=[]; };
+  moonsun = derive { name="moonsun"; version="0.1.3"; sha256="1y8mwxmcy4iz444c2fayyi4i0jk1k561dp6cbjg2b3lmdml0whmi"; depends=[]; };
+  mopsocd = derive { name="mopsocd"; version="0.5.1"; sha256="10hssnm1afqmxa9kw6ifqnz3p3yyjrmxgi98zlj31a5g4nis8wb1"; depends=[]; };
+  morgenstemning = derive { name="morgenstemning"; version="1.0"; sha256="17y90cf8ajmkfwla0hm4jgkbkd1mxnym63ph2468sfxkhn0r3v88"; depends=[]; };
+  Morpho = derive { name="Morpho"; version="2.0.3-1"; sha256="0j2wfjxrk0myxk1j4g0jh68npg8wwia2i3a02dn9mxnmx90nbvaa"; depends=[Rvcg rgl colorRamps foreach Matrix yaImpute doParallel Rcpp]; };
+  morse = derive { name="morse"; version="1.0.2"; sha256="044aljv48mfq6yj9i77yqf03qa4qqkncaalzhph3wr9w4jvxpxn5"; depends=[plyr]; };
+  MorseGen = derive { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
+  MortalitySmooth = derive { name="MortalitySmooth"; version="2.3.2"; sha256="0r24v94nslavxjxvyc8a1f6dar3vm2lysg6qpxcgw6zgx8k0vk00"; depends=[svcm lattice]; };
+  mosaic = derive { name="mosaic"; version="0.9-0"; sha256="0zmzx1mh6nhp6jz68abdl44hb918cyrpa1qj25m41c0x83rnwi0s"; depends=[car dplyr lattice ggplot2 reshape2 plyr Hmisc latticeExtra gridExtra ggdendro]; };
+  moult = derive { name="moult"; version="1.3"; sha256="0mvzyildng2qs4jgws37wa2b8ms8bv7mmzs0dxbc1wcq56vfs9yj"; depends=[Formula]; };
+  move = derive { name="move"; version="1.2.475"; sha256="0d542554bamgnc5qd7z497ssk885mz4m1wbaiqpi5cyxd24kwgii"; depends=[geosphere sp raster rgdal]; };
+  movMF = derive { name="movMF"; version="0.2-0"; sha256="1p9ay7w93gyx4janw23iwg2j0wkvnvzalaa20n1rlahhmh327g7i"; depends=[skmeans clue slam]; };
+  mp = derive { name="mp"; version="0.1"; sha256="13wsfhvxwpvz5qx95a720vp2l7807whvrv7dabqfajmnc45bdlj4"; depends=[]; };
+  mpa = derive { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; };
+  MPAgenomics = derive { name="MPAgenomics"; version="1.1.0"; sha256="0kf6vsxp6dcmqkl7yjyfjch9ms33pf9w7qrk76q05man5hn7y4fz"; depends=[R_utils changepoint glmnet cghseg]; };
+  MPCI = derive { name="MPCI"; version="1.0.6"; sha256="1ngxx5363cm2cid3dl9amva016xy914sz49nfdkh88hjsxv3svjc"; depends=[]; };
+  MPDiR = derive { name="MPDiR"; version="0.1-15"; sha256="1ga3dk9ncycsq30w6na4g7aik43v8q2kcrg7x6lpmiaa9qa2wn16"; depends=[]; };
+  mph = derive { name="mph"; version="0.9"; sha256="11wcy23sv8x7aq6ky8wi0cq55yhjkkm9hn672qy803dwzzxv5y61"; depends=[]; };
+  MPINet = derive { name="MPINet"; version="1.0"; sha256="1zw3piqhhpagg5qahc2xahxxfdwdk8w94aass1virlpl0f52ik8s"; depends=[BiasedUrn mgcv]; };
+  MplusAutomation = derive { name="MplusAutomation"; version="0.6-2"; sha256="0b85hnxxd46xr240k0vswwh81n57a2azmmz9wyc6x8qidiagqzxg"; depends=[plyr boot gsubfn coda xtable lattice]; };
+  mpm = derive { name="mpm"; version="1.0-22"; sha256="0wijw8v0wmbfrda5564cmnp788qmlkk21yn5cp5qk8aprm9l1fnk"; depends=[MASS KernSmooth]; };
+  mpMap = derive { name="mpMap"; version="1.14"; sha256="0gmhg5ps8yli8699a5aw26skfbjxx4zpp0paqxxdc0zl28l0pdff"; depends=[gdata seriation qtl wgaim]; };
+  mpmcorrelogram = derive { name="mpmcorrelogram"; version="0.1-3"; sha256="0qgzsh744002whh3v1hrxs1i0xnk9zgfgkdgx2f0ffj00vvnwr97"; depends=[vegan]; };
+  mpmi = derive { name="mpmi"; version="0.4"; sha256="0lfzw1bncp9nhsng5j5avvwi02grx8pmf39v5zav63s0lzmrj8a3"; depends=[KernSmooth]; };
+  mpoly = derive { name="mpoly"; version="0.0.5"; sha256="1zhmd3lsa0n56yr3bdhg3r668zrmf35phm8g69c18a3rr5qmcdqg"; depends=[stringr rSymPy rJython rJava rjson partitions plyr]; };
+  Mposterior = derive { name="Mposterior"; version="0.1.2"; sha256="16a7wvg41ld2bhbss480js5h12r41nl7jmc3y4jsbv1lr5py4ymy"; depends=[Rcpp]; };
+  MPSEM = derive { name="MPSEM"; version="0.2-5"; sha256="1jy459rg7i7x24ygdnlibwlh8rx7arpajjycqw414w5p9yy9ns1f"; depends=[ape MASS]; };
+  mpt = derive { name="mpt"; version="0.4-1"; sha256="08drh66056pnvs43gc7dxhb62ajkdijbc9ca2y1hjrgvkssqk5xg"; depends=[]; };
+  MPTinR = derive { name="MPTinR"; version="1.5.1"; sha256="0gy0jdzrkwcn1yvnrdb5dqrk1z96qa2ga41zhg63kz1b2m16q7i5"; depends=[numDeriv Brobdingnag Rcpp]; };
+  MPV = derive { name="MPV"; version="1.29"; sha256="165sbayrp8p3aqwqrmf1g10agm0kdjksr6mr6p929j22kkf3k8gx"; depends=[]; };
+  mQTL = derive { name="mQTL"; version="1.0"; sha256="0k80xvkr0b0mp3bj2s558fjxi2zf4k7ggnw6hsjm8lr84i108dks"; depends=[qtl MASS outliers]; };
+  mra = derive { name="mra"; version="2.13"; sha256="1x282nzdz5bd3yji26mnzlvrkxszx15cra079k07rgdxqnixg2c8"; depends=[]; };
+  mratios = derive { name="mratios"; version="1.3.17"; sha256="0a2pn4234ri5likaqbxgkw8xqmwchr6fak3nninral0yzd4rcal5"; depends=[mvtnorm]; };
+  MRCE = derive { name="MRCE"; version="2.0"; sha256="0fnd7ykcxi04pv1af5zbmavsp577vkw6pcrh011na5pzy2xrc49z"; depends=[QUIC]; };
+  MRCV = derive { name="MRCV"; version="0.3-2"; sha256="061x9bnngm2f16bf6i0v00lf0g41wfg90ha0bjbphipcychzn3a3"; depends=[tables]; };
+  mrdrc = derive { name="mrdrc"; version="1.0-6"; sha256="0kk6837hx4c7ixsrmib46ycvimv90ka8sj3w0310s4d7bzxvw1sc"; depends=[drc locfit]; };
+  mrds = derive { name="mrds"; version="2.1.6"; sha256="14ab9pay3daqi2pcrcx98w8fzg1l5j0vr7vfybvrsjy5xd0c8f2q"; depends=[optimx mgcv Rsolnp]; };
+  mreg = derive { name="mreg"; version="1.1"; sha256="06la0yy2yys161jhlzlcm5lcv0664wm6sa8gjdnpd1s1nx52jkqf"; depends=[]; };
+  mritc = derive { name="mritc"; version="0.4-0"; sha256="02a8h1x3pk406zpn89gl5wkcd74qm5gqz8gqpckk3nv881pkayaz"; depends=[lattice misc3d fmri AnalyzeFMRI]; };
+  mRm = derive { name="mRm"; version="1.1.5"; sha256="0sbpk7z4ij917nw8wyvnm87iav95ybqrzvmsjy3r8nyq55bjzyn7"; depends=[]; };
+  MRMR = derive { name="MRMR"; version="0.1.3"; sha256="1b3a4bkpcncl4sh7d81nk6b2dzhzqn9zhqdxv31jgippsqm2s3k2"; depends=[reshape2 ggplot2 lubridate lmtest plyr]; };
+  mRMRe = derive { name="mRMRe"; version="2.0.4"; sha256="1ig78szk20s0cdj4pzrxxqa2hlx7126fh0jah8ym0563ps8hwill"; depends=[survival igraph]; };
+  MRsurv = derive { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[survival mvtnorm]; };
+  MRwarping = derive { name="MRwarping"; version="1.0"; sha256="13bcs7rlm4irx7yzdnib558w9014a4chh9xwc010m6pxvxv36qnv"; depends=[boa SemiPar]; };
+  msap = derive { name="msap"; version="1.1.8"; sha256="0z5lm782jjb9w1h5vgz8bmxjdcrq9zb3xp1w5cb479jjc7krlgg3"; depends=[ade4 ape]; };
+  msarc = derive { name="msarc"; version="1.3.4"; sha256="0rgbrgdwjsybqcbfpf71b9z6qwwn8ph87z4hp0c1gmjrv8b9byld"; depends=[gplots]; };
+  MsatAllele = derive { name="MsatAllele"; version="1.05"; sha256="1w489xjc7vxanam6hr4ym692j6a2skkmyzgqsmccy3101pzn522h"; depends=[]; };
+  MSBVAR = derive { name="MSBVAR"; version="0.9-1"; sha256="1qd8v3n9nvyp1j1byb8dkmvkbmk5p2kgx7wjmsa9sh4siqbxzn4w"; depends=[KernSmooth xtable coda bit mvtnorm lattice]; };
+  mseapca = derive { name="mseapca"; version="1.0"; sha256="115njdk8cv55zxd38hq9qaca686ykckni0f3xl8w3bn32gb5g9a7"; depends=[XML]; };
+  MSeasy = derive { name="MSeasy"; version="5.3.3"; sha256="191mvg1imxfjlnd808ypn4lsjx7n6ydf16flax79hv01z7rcjylh"; depends=[amap clValid cluster fpc]; };
+  MSeasyTkGUI = derive { name="MSeasyTkGUI"; version="5.3.3"; sha256="0ihz8vr2wbgy88bzssilgvlhkbr13jznfjvnqy73wpchqgwy0wy6"; depends=[MSeasy]; };
+  mseq = derive { name="mseq"; version="1.2"; sha256="0h1wdnmlw7raqyy7844zl5k942d6glhv0lihd4h3gcv5is0if66w"; depends=[gbm]; };
+  MSG = derive { name="MSG"; version="0.2.2"; sha256="18siw81pa02yg0zs40pavwm88yz7kfi60fislmjpwnl2207a6fhf"; depends=[RColorBrewer]; };
+  msgl = derive { name="msgl"; version="2.0.125.0"; sha256="0jpyzn6pp3fh22qxmbgapdbjkxrvjl0mkk5cms0cldawbds3p4sj"; depends=[Matrix sglOptim]; };
+  msgpackR = derive { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; };
+  msgps = derive { name="msgps"; version="1.3"; sha256="0nvxy9a41z5d111gqr1gh521imm795l1li70g1mzrag1gpg810c5"; depends=[]; };
+  msir = derive { name="msir"; version="1.3"; sha256="0d7zxjmhr1ri3qz3fdkf56fi5dz2p9lb2vyqccrpn7js2ibkqhpl"; depends=[mclust]; };
+  msm = derive { name="msm"; version="1.4"; sha256="1x7ys6695jarwfkh3xv607mwm5l2y2gzq2mczjfdcs9mla2l96a5"; depends=[survival mvtnorm expm]; };
+  msme = derive { name="msme"; version="0.5.1"; sha256="1bkj10pgmv9q61384fwd2pxccclclc3knc5x212p42w4w49hnm1q"; depends=[MASS lattice]; };
+  msos = derive { name="msos"; version="1.0.1"; sha256="0fbxi8x83sj8a6bahc7q28vql00pxqdia2vxb6ilsc459xaph6vc"; depends=[mclust tree]; };
+  MSQC = derive { name="MSQC"; version="1.0.1"; sha256="1vs9kygjg9f4sr1m80hdn03gdhbdqfjamqxhbs9zha8smjrsgisw"; depends=[rgl]; };
+  msr = derive { name="msr"; version="0.4.1"; sha256="1kfj6xq7l32ligc53akiym3s9if87087gan8nqz4w7d8nxp693s7"; depends=[Matrix class glmnet e1071 rgl RColorBrewer colorspace]; };
+  msSurv = derive { name="msSurv"; version="1.1-2"; sha256="1nyadgzwdyf48qhqdx8sszvgkhxafacnccacg39ghm6gqv8b5j60"; depends=[class lattice]; };
+  mstate = derive { name="mstate"; version="0.2.7"; sha256="0rys25cwr814k8z65206s12yv18dala66b3nlfq882dw5cfpaybl"; depends=[survival RColorBrewer]; };
+  MSwM = derive { name="MSwM"; version="1.2"; sha256="01l23ia20y3nchykha4vz6sa757zmbvgx2315cacxfcqk9rgs08c"; depends=[nlme]; };
+  mtk = derive { name="mtk"; version="1.0"; sha256="0vq2xlxf86l92fl91qm8m4yfjyz1h8szmwxiics7sc9f0as0dkmy"; depends=[stringr XML sensitivity lhs rgl]; };
+  MTS = derive { name="MTS"; version="0.32"; sha256="0jxa0madik1d317wsl1svb2bndi6mw125brbxpyf019lknh6yajy"; depends=[Rcpp fGarch mvtnorm]; };
+  mtsdi = derive { name="mtsdi"; version="0.3.3"; sha256="1hx4m1jnfhkycxizxaklnd9illajqvv1nml8ajfn3kjmrb5z7qlp"; depends=[gam]; };
+  MTurkR = derive { name="MTurkR"; version="0.4"; sha256="19hk6jgkj7rr4syad3chmyacn0q2m9lq0z3hdrfavcwqa203zgp9"; depends=[RCurl digest XML]; };
+  MUCflights = derive { name="MUCflights"; version="0.0-3"; sha256="03ksvv5nyzlqiml1nz405r3yqb2cl35kpm1h61zcv2nqq8cxqshs"; depends=[XML geosphere sp RSQLite NightDay]; };
+  MuFiCokriging = derive { name="MuFiCokriging"; version="1.2"; sha256="09p8wdmlsf21ibqyjigwdipcin3ij0naxcd035hqgfj76v20wiyv"; depends=[DiceKriging]; };
+  muhaz = derive { name="muhaz"; version="1.2.6"; sha256="1b7gzygbb5qss0sf9kdwp7rnj8iz58yq9267n9ffqsl9gwiwa1b7"; depends=[survival]; };
+  multcomp = derive { name="multcomp"; version="1.3-5"; sha256="0zi3vxp0yfmf5qvp38l16d9lr12b86av0h4i6qzwaxbmnv14vzjd"; depends=[mvtnorm survival TH_data sandwich]; };
+  multcompView = derive { name="multcompView"; version="0.1-5"; sha256="0vfgvqxqgxyifkqs3r5xxj7rfn8lfmby6wyyiqa5jv01073xchib"; depends=[]; };
+  MultEq = derive { name="MultEq"; version="2.3"; sha256="0fshv7i97q8j7vzkxrv6f20kpqr1kp9v6pbw50g86h37l0jghj7r"; depends=[]; };
+  multgee = derive { name="multgee"; version="1.4"; sha256="02h8zl79a8ad0q3inpb3aqjr9icjxjiph2b4rxnwa6kq8p3aagwn"; depends=[gnm VGAM]; };
+  multibiplotGUI = derive { name="multibiplotGUI"; version="0.0-1"; sha256="0klslbj1v0j10hv8xgyxgp4d2rkm3l4gr0gyrr1g8lyj0gf43sb3"; depends=[rgl tkrplot RODBC]; };
+  multic = derive { name="multic"; version="0.3.8.1"; sha256="06lc9kn0z3s7x00hz8vj903q0c6cncnj4v3ygvd2yvkgcbhfvjd0"; depends=[]; };
+  Multiclasstesting = derive { name="Multiclasstesting"; version="1.3.9"; sha256="09y3gnarqv15wgmk545qrwpjwb2ilv2b2kc74cxzcb2p1lflfjzm"; depends=[]; };
+  MultiCNVDetect = derive { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; };
+  multicon = derive { name="multicon"; version="1.2"; sha256="0cjmh4q2yvv9pqmmnilzhzvmds2nzbipy4vd009zjfq4c925c7m0"; depends=[psych abind foreach mvtnorm sciplot]; };
+  multicool = derive { name="multicool"; version="0.1-2"; sha256="1rs7q93lcr1crrx433zgil2db1rb3n4qw62r52nvpllqfwfx98dc"; depends=[]; };
+  multicore = derive { name="multicore"; version="0.2"; sha256="10ypgs6nzi9bv8xy97cprs3ffss8jdlba5nj2gwglqggb8ch9i9r"; depends=[]; };
+  multiDimBio = derive { name="multiDimBio"; version="0.3.3"; sha256="1aj6yam31mr0abjb6m5m85r1w71snha4s7h4ikyw66sc73xkmb9m"; depends=[ggplot2 lme4 misc3d MASS RColorBrewer]; };
+  multigroup = derive { name="multigroup"; version="0.4"; sha256="13811j3g6wg11yrsz3pskis2n8d7svhq9vg95d7r3fi5bbivinh5"; depends=[]; };
+  MultiLCIRT = derive { name="MultiLCIRT"; version="2.7"; sha256="0i9ydhqw8a6rvds708vn1ypmfw5nrnpnfzjmg4s01gcm2xswvli0"; depends=[MASS limSolve]; };
+  multilevel = derive { name="multilevel"; version="2.5"; sha256="0pzv5xc8p6cpzzv9iq3a3ib1dcan445mm12whf3d6qkz2k4778g6"; depends=[nlme MASS]; };
+  multilevelPSA = derive { name="multilevelPSA"; version="1.2"; sha256="1wkywcnlvmf5li3ii7vhjsj390ay88gz9ll5agiyaj15gfd3mjls"; depends=[ggplot2 plyr psych reshape proto xtable xtable]; };
+  multinbmod = derive { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
+  MultinomialCI = derive { name="MultinomialCI"; version="1.0"; sha256="0ryi14d102kvxawls04hcw50n79jkcn29ill77lkfvj6nlzj8i5q"; depends=[]; };
+  multinomRob = derive { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[rgenoud MASS mvtnorm]; };
+  MultiOrd = derive { name="MultiOrd"; version="2.1"; sha256="12y5cg06qyaz72gk3bi5pqkd55n72rz056y9va49znlsqph09x2x"; depends=[mvtnorm corpcor Matrix psych]; };
+  MultiPhen = derive { name="MultiPhen"; version="2.0.0"; sha256="05w7khzyxswlsz4sxhaakbz828zrdya1y8qcsdfc6w7wgl8qpmj9"; depends=[MASS abind epitools meta HardyWeinberg RColorBrewer gplots]; };
+  multiPIM = derive { name="multiPIM"; version="1.4-1"; sha256="0r69gkl8k6dd2rafrwvrdkpz4jlffz1g6czspsi908jf9dyw8y72"; depends=[lars penalized polspline rpart]; };
+  multiplex = derive { name="multiplex"; version="1.2"; sha256="06wrzglgrvahavlcknf80cp0j4k840dhmclw9g6wqv51pq9brj2f"; depends=[]; };
+  multipol = derive { name="multipol"; version="1.0-6"; sha256="1yjz0p4mcgzs98s61i8315wyhh986jxp8b0lq66375ckpr2ddcss"; depends=[abind]; };
+  multisensi = derive { name="multisensi"; version="1.0-7"; sha256="1sq0jxkp33wsv6id27nka0764mr1jskqzsr2nhmqc4c8l312bkp6"; depends=[]; };
+  MultiSV = derive { name="MultiSV"; version="0.0-62"; sha256="05klka4y60q7d4yi47q784y64irgic6cwcj330zm96j1hf2dli16"; depends=[nlme reshape]; };
+  multitable = derive { name="multitable"; version="1.6"; sha256="067bgl793wwvb1rhan70ih0ga3dxja2c6zx7fwzml5rqi6p728pr"; depends=[]; };
+  multitaper = derive { name="multitaper"; version="1.0-8"; sha256="1x0a4nrngh1hs44h4gnmjfhx57kgxmkyzm431i5k288ydv57vvx0"; depends=[]; };
+  multivator = derive { name="multivator"; version="1.1-4"; sha256="125ifkpm1pny4rjpzirnwpmpjfg0y8w0rygj0way0p1qwm0l207n"; depends=[emulator mvtnorm]; };
+  multiwayvcov = derive { name="multiwayvcov"; version="1.0.4"; sha256="1cn906qsffjnvi7ycbrvd91jawyxlph6gzf74yb4dpbbkyk4n8p1"; depends=[sandwich]; };
+  multxpert = derive { name="multxpert"; version="0.1"; sha256="03mvf4m0kabm22vy4zkj1cfh884larpj8cbgg3p9l3pag20snf1l"; depends=[mvtnorm]; };
+  muma = derive { name="muma"; version="1.4"; sha256="0midx3wzyvcz8rk9kvsfll3xg41pkz40si4jw2ps54ykkf9rkm99"; depends=[car pdist pls gplots mvtnorm robustbase gtools bitops caTools pcaPP rrcov]; };
+  MuMIn = derive { name="MuMIn"; version="1.10.5"; sha256="1pza894h6mjjv2i4ifx2z410bz7lw2a9b986z6x30sr2al4xvfkn"; depends=[]; };
+  munfold = derive { name="munfold"; version="0.3-1"; sha256="0rjicbyhxp0xr375ryg7kb2a4rvh3giw62ypws63nc3l8iwsig2m"; depends=[memisc MASS]; };
+  munsell = derive { name="munsell"; version="0.4.2"; sha256="1bi5yi0i80778bbzx2rm4f0glpc34kvh24pwwfhm4v32izsqgrw4"; depends=[colorspace]; };
+  munsellinterpol = derive { name="munsellinterpol"; version="1.0.1"; sha256="0q3n4z1z8sbqslzp97jw9xmdnypi66073g64ppk65r1aiq41hvac"; depends=[geometry]; };
+  muRL = derive { name="muRL"; version="0.1-9"; sha256="0711hxq8l0zc8w8k3aj4f9sq8xl5mqqx70dvq0m66kahkh2pnhgb"; depends=[maps]; };
+  muscle = derive { name="muscle"; version="3.8.31-4"; sha256="0pijc8x6pwsb6z4061v1r7iwq5lsnia5qn1bikwpxy8ir19nic72"; depends=[]; };
+  muStat = derive { name="muStat"; version="1.7.0"; sha256="18727xj9i9hcnpdfnl1b9wd6cp7wl1g74byqpda2gsrcardl57wz"; depends=[]; };
+  mutoss = derive { name="mutoss"; version="0.1-8"; sha256="13x49dk1xyn697yindg6m00nqbn2cb12544v2k14ckmnw07mp1gq"; depends=[mvtnorm plotrix multcomp]; };
+  mutossGUI = derive { name="mutossGUI"; version="0.1-8"; sha256="1lpfz5d36v0szfg7vn7gdad27rvzxbx4w3651dmi2y1ff0d8j5z3"; depends=[rJava JavaGD CommonJavaJars plotrix mutoss multcomp]; };
+  MVA = derive { name="MVA"; version="1.0-5"; sha256="18x075hjqhrjwxivvrixgs6yc67il3n5p1m7v2wymcf8h2mkki91"; depends=[HSAUR2]; };
+  mvabund = derive { name="mvabund"; version="3.9.1"; sha256="0v9chsc08a9gsj026kv99jv0d3ww5gxblbliscqghl4b36hzkx6r"; depends=[Rcpp MASS tweedie statmod]; };
+  MVB = derive { name="MVB"; version="1.1"; sha256="0an8b594rknlcz6zxjva6br8f34sgwdi2jil3xh1xzb5fa55dw0f"; depends=[Rcpp RcppArmadillo]; };
+  mvbutils = derive { name="mvbutils"; version="2.7.4.1"; sha256="1vs97yia78xh35sdfv5pj3ddqmy83qgamvyyh9gjg0vdznqhffzg"; depends=[]; };
+  mvc = derive { name="mvc"; version="1.3"; sha256="0kmh6vp7c2y9jf71f4a29b0fxcl0h7m4p8wig4dk3fi7alhjf7ym"; depends=[rattle]; };
+  mvctm = derive { name="mvctm"; version="1.0"; sha256="1naxjh2k3vv4wlpzzx0y2zwvbn4kdqyls8a8qx6bz609ynzay5r9"; depends=[Formula nlme MNM quantreg Rfit]; };
+  mvcwt = derive { name="mvcwt"; version="1.3"; sha256="0fqdyypmszm00rpl04z8kiiw6jd416a0b2rap3dqq3kchnz8h4s2"; depends=[foreach RColorBrewer]; };
+  mvglmmRank = derive { name="mvglmmRank"; version="1.0-2"; sha256="0gpp0ibgji86pxscqzcws0d1qn1ciqqvyfb0x2v18580r4cx8jv7"; depends=[Matrix numDeriv]; };
+  mvinfluence = derive { name="mvinfluence"; version="0.6"; sha256="1cd5p6cl2zln8madjf3vsbmqlg4nsklzzy6ngdd5glj1a9qapd6c"; depends=[car heplots]; };
+  mvmeta = derive { name="mvmeta"; version="0.4.5"; sha256="0faczanbz6i7794sqxm21a6v52cs5hrjjzdypdvi23bkl4mkxjrb"; depends=[]; };
+  mvMORPH = derive { name="mvMORPH"; version="1.0.2"; sha256="1zzh2vmm3l6zvzg8b39ivkx2jmbw2g6n00jj4icp46w8jb26rlwa"; depends=[phytools ape corpcor subplex]; };
+  MVN = derive { name="MVN"; version="3.4"; sha256="13cmb4xls3j366lcjl6a7vimx457q1a531sy23nrddmyw1g918l2"; depends=[nortest moments MASS]; };
+  mvna = derive { name="mvna"; version="1.2-3"; sha256="1gwv17j6w9c38bqvnasv9kfigbdxiqkzwj89gqmkxgw715f9nnpp"; depends=[lattice]; };
+  mvnfast = derive { name="mvnfast"; version="0.1.2"; sha256="1pa0l6krk44pa3ndnh7wm77cg79x7m7n8r3ffz0w8jmzh59s9nr2"; depends=[Rcpp]; };
+  mvngGrAd = derive { name="mvngGrAd"; version="0.1.3"; sha256="1c0rwywsa2dzhhphwc9prdxv6jyk1qdc655zvzyxif6ay3wnganf"; depends=[]; };
+  mvnmle = derive { name="mvnmle"; version="0.1-11"; sha256="02mpmrr22cqb3v8x7kydgg715yl3lrdgzgdqpchmp0xrl2db8gq4"; depends=[]; };
+  mvnormtest = derive { name="mvnormtest"; version="0.1-9"; sha256="1iaxjwp7bgxhaa4xqvgqb61316mq2fb0452d0pabhmbxkvmvdnj6"; depends=[]; };
+  mvoutlier = derive { name="mvoutlier"; version="2.0.5"; sha256="1n12wy2i9jkb6brrqc0ibw3wiyd25dm5jhyapf05cj8wi06jfrsf"; depends=[sgeostat robCompositions robustbase]; };
+  mvpart = derive { name="mvpart"; version="1.6-2"; sha256="1ddamzkv3j3a1niwqrrdpajn10v48s4li69n63mwlanrw9gdyzhn"; depends=[]; };
+  MVPARTwrap = derive { name="MVPARTwrap"; version="0.1-9.2"; sha256="0kj89nlndfcddsx2i9isfd7lqzj8rlsd47anhca5cmj1nyjsb4w5"; depends=[mvpart Hmisc labdsv vegan fBasics ade4]; };
+  MVpower = derive { name="MVpower"; version="2.0"; sha256="176g8jfn8gbbhyxcny9prvkn7gk23lmcr4pnxlf0a0pacxczsldr"; depends=[randomForest pamr kernlab class]; };
+  mvProbit = derive { name="mvProbit"; version="0.1-0"; sha256="0fnrlralydlsf9iphq385f8hpqigfmi8rafvgp443gygvpq5b6g0"; depends=[mvtnorm maxLik abind bayesm miscTools]; };
+  MVR = derive { name="MVR"; version="1.20.0"; sha256="1wwzws9116ck14g6xd1svmwc9wkr8piwb24bddnzri388p8qkgb4"; depends=[statmod]; };
+  mvsf = derive { name="mvsf"; version="1.0"; sha256="1krvsxvj38c5ndvnsd1m18fkqld748kn5j2jbgdr3ca9m3i5nlwf"; depends=[nortest mvnormtest]; };
+  mvShapiroTest = derive { name="mvShapiroTest"; version="1.0"; sha256="0zcv5l28gwipkmymk12l4wcj9v047pr8k8q5avljdrs2a37f74v1"; depends=[]; };
+  mvSLOUCH = derive { name="mvSLOUCH"; version="1.1.3"; sha256="1vkyhy6a12hdlkwsf64lgimpigri6r6l02vvy1b5r05j002baxgr"; depends=[ouch ape numDeriv mvtnorm corpcor]; };
+  mvtmeta = derive { name="mvtmeta"; version="1.0"; sha256="0g0d4lrz854wkd0dz5aiad54i46aqkfhsq6cpbsfv0w5l2kwiqqz"; depends=[gtools]; };
+  mvtnorm = derive { name="mvtnorm"; version="1.0-0"; sha256="0cm0dwqga7nnb2016jzacmaa233whr7vx75fffhmjzivrfg5vhy8"; depends=[]; };
+  mvtsplot = derive { name="mvtsplot"; version="1.0-1"; sha256="0g5grrha77rsnkfasw5pxnpmkl7vgb728ms8apyg8xnbmgilg9vv"; depends=[RColorBrewer]; };
+  mwa = derive { name="mwa"; version="0.3.2"; sha256="123xvm4vrwl7vfc9sas4jj7fn38m37c6h38j0aczpmygmx54bbmr"; depends=[cem rJava MASS]; };
+  mwaved = derive { name="mwaved"; version="1.0.1"; sha256="0c9hiwf7ldvgm3vh5s7wgvgl304cc2sbsyczbk1wqybcy17cs7s5"; depends=[Rcpp shiny]; };
+  mxkssd = derive { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
+  MXM = derive { name="MXM"; version="0.2.1"; sha256="047whr0fly89i5vlyd4z8lj2nxyfkk9vvniasncnwls8vmmpf1jk"; depends=[]; };
+  mycobacrvR = derive { name="mycobacrvR"; version="1.0"; sha256="1xd9ackzdd8db6bayza0bg4n256mi9rdqih0cdc0nl212c3iz75g"; depends=[]; };
+  myepisodes = derive { name="myepisodes"; version="1.1.1"; sha256="0xk9bwgpl630nhc8qa2pc0rwqbqk3haxnp78gfxq6sn6z7i44k1p"; depends=[XML]; };
+  Myrrix = derive { name="Myrrix"; version="1.1"; sha256="15w1dic6p983g2gajbm4pws743z68y0k2hxrdwx6ppnzn9rk07rs"; depends=[Myrrixjars rJava]; };
+  Myrrixjars = derive { name="Myrrixjars"; version="1.0-1"; sha256="0dy82l0903pl4c31hbllscfmxrv3bd5my5b2kv5d3x5zq0x99df0"; depends=[rJava]; };
+  nacopula = derive { name="nacopula"; version="0.8-1"; sha256="1g1kcs6vqagq0nisyc43040ri3a9iy3fv4bnjjjc5zrla52a20w5"; depends=[copula copula]; };
+  NADA = derive { name="NADA"; version="1.5-6"; sha256="0y7njsvaypcarzygsqpqla20h5xmidzjmya4rbq39gg6gkc0ky27"; depends=[survival]; };
+  nadiv = derive { name="nadiv"; version="2.13.2"; sha256="1r63z08k46b6hryxracicsw1hr91x4pgk2x58c9nijdni4my7kkc"; depends=[Matrix]; };
+  namespace = derive { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
+  nanop = derive { name="nanop"; version="2.0-3"; sha256="1dz06j292n7ppibmlp7pzjywcglv86hp7lsh07dz7j7p8gbbsza8"; depends=[distrEx rgl]; };
+  NanoStringNorm = derive { name="NanoStringNorm"; version="1.1.17"; sha256="02jvrrz4cmr7l35s7xh0mmwmr5l5lga1vnph2rij2lb8124ardf5"; depends=[gdata]; };
+  NAPPA = derive { name="NAPPA"; version="2.0"; sha256="18yipic8xkf13jaaxnn388m49r5q2g7q7gb0mmw3gh7226lmz987"; depends=[plyr NanoStringNorm]; };
+  nasaweather = derive { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
+  nat = derive { name="nat"; version="1.4.10"; sha256="1200qxsrhlxassi8jyrcwfpknyck2p092sxv2gkc74vp62w2b0lp"; depends=[rgl RANN igraph filehash digest nat_utils]; };
+  naturalsort = derive { name="naturalsort"; version="0.1.2"; sha256="0m8a8z0n5zmmgpmpn5w87j2jfsz1igz3x133z3q25h8jlyaxy750"; depends=[]; };
+  nat_utils = derive { name="nat.utils"; version="0.4.2"; sha256="0k5bdqwrbq82bb9ld90ia7b4vjaczba20h231a129rkszsy6sz9v"; depends=[]; };
+  NbClust = derive { name="NbClust"; version="2.0.1"; sha256="00b4h17pnvqsk0hvaz6dbrrys3dshy6zf0s371z7rr1n52xyy8ga"; depends=[]; };
+  NBDdirichlet = derive { name="NBDdirichlet"; version="1.01"; sha256="07j9pcha6clrji8p4iw466hscgs6w43q0f7278xykqcdnk39gkyv"; depends=[]; };
+  nbpMatching = derive { name="nbpMatching"; version="1.4.0"; sha256="0ncw8xihdh24cfz0rhcvvp2l5mhm2z7hllnkf45bhdhpams6yryp"; depends=[Hmisc MASS]; };
+  NBPSeq = derive { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[]; };
+  nCal = derive { name="nCal"; version="13.12-01"; sha256="06grlb7ac9vy3ncnqz5h63iarsh94z4mcb29bigkdvnbv9whj7mn"; depends=[drc gdata gWidgets xtable]; };
+  NCBI2R = derive { name="NCBI2R"; version="1.4.6"; sha256="1gsvc9v9005hf71nsqgybnfhlmdr3wwzm5ab7h8c8ly5waq2w9i7"; depends=[]; };
+  ncbit = derive { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
+  ncdf = derive { name="ncdf"; version="1.6.7"; sha256="14jqbr6xjq58zawc14j85advbafspfrn40al26zg0v3warwlfwfy"; depends=[]; };
+  ncdf4 = derive { name="ncdf4"; version="1.12"; sha256="110h4s0qg6rp0k1s3fl464g409mq5ajyhfb0cxvwbgz2dp32p8aj"; depends=[]; };
+  ncdf4_helpers = derive { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[ncdf4 PCICt abind]; };
+  ncdf_tools = derive { name="ncdf.tools"; version="0.7.1.291"; sha256="149d89kim67q77w17afc5x7hkvmk05gfkaw6cpl583j2zxingify"; depends=[RNetCDF chron abind plotrix raster RColorBrewer JBTools]; };
+  nCDunnett = derive { name="nCDunnett"; version="1.0.0"; sha256="0n5zzsdrhra5xql110wrxbfdjm3fwa6qhvnpj89w9ph9nr4ad8gf"; depends=[]; };
+  ncf = derive { name="ncf"; version="1.1-5"; sha256="03nbmg9swxhpwrmfjsanp6fj5l2nw160sys70mj10a0ljlaf904z"; depends=[]; };
+  ncg = derive { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; };
+  NCmisc = derive { name="NCmisc"; version="1.1"; sha256="13nx9p6yq46lf2q92ximi33wynxfxah8ns18227xxm99d6fpb05v"; depends=[proftools]; };
+  ncvreg = derive { name="ncvreg"; version="3.2-0"; sha256="0j53aj71lxz3pxh6a4vlgw0f9zk4gjh4xf5c7qsm5cp8nfpkplm5"; depends=[]; };
+  ndl = derive { name="ndl"; version="0.2.16"; sha256="1l56kg3x4579hzr4sig3iwrd81rhm8nmmrqfs54zxqv5yxpk3hp4"; depends=[Rcpp MASS]; };
+  ndtv = derive { name="ndtv"; version="0.5.1"; sha256="0cvqpr74als10zhdravbc7ykacy3ll7y5fx4n5jik0avwcaclgkc"; depends=[network networkDynamic animation sna MASS statnet_common]; };
+  neariso = derive { name="neariso"; version="1.0"; sha256="1npfd5g5xqjpsm5hvhwy7y84sj5lqw9yzbnxk6aqi80gfxhfml4c"; depends=[]; };
+  NeatMap = derive { name="NeatMap"; version="0.3.6.2"; sha256="186y06zrh87q6vixl2da2d6apvcj1zkk79c95k081zj5awmryr9b"; depends=[ggplot2 rgl]; };
+  needy = derive { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; };
+  NEff = derive { name="NEff"; version="1.0"; sha256="0ksnmxjy2ms2z7rq4rddnykydwlb4f9c13nak5f8m65pfjcgv3sk"; depends=[msm bit]; };
+  negenes = derive { name="negenes"; version="1.0-1"; sha256="0g8m3idjm24cf9b1wngw2pv1axgnv9mk5wqs78zgwvn0m67ypsiz"; depends=[]; };
+  neldermead = derive { name="neldermead"; version="1.0-9"; sha256="144liymq0cnd80cp2vn2d1j22g0izipnchc90r526gfpm2gklh7n"; depends=[optimbase optimsimplex]; };
+  Nemenyi = derive { name="Nemenyi"; version="1.1"; sha256="1hcliwbzy1ckyy49kh8qn0830s1ari40mqkvx9vj4hsdys9wjhnl"; depends=[]; };
+  nephro = derive { name="nephro"; version="1.0"; sha256="0dv6gj1q6qrg9y6cpf230q1mksqk3nvzj3afavhrwz1fcz2w22f4"; depends=[]; };
+  NestedCohort = derive { name="NestedCohort"; version="1.1-3"; sha256="10hsc6zik8sz2mp6ig3xr6z3bq0c6rlvqkn11pxny17a4n02wapp"; depends=[survival MASS]; };
+  netClass = derive { name="netClass"; version="1.2.1"; sha256="04yrj71l5p83rpwd0iaxdkhm49z9qp3h6b7rp9cgav244q060m9y"; depends=[kernlab Matrix ROCR igraph samr]; };
+  NetCluster = derive { name="NetCluster"; version="0.2"; sha256="0aby8kfniw07jap795cwk69z83p45q5rap73zp1qbmkm3qcb31g4"; depends=[sna]; };
+  NetComp = derive { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; };
+  NetData = derive { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; };
+  NetIndices = derive { name="NetIndices"; version="1.4.3"; sha256="0ff57f5b12lccqbfin530ra373rn1wz6n42b0jnkyi2ra8hcm88f"; depends=[MASS]; };
+  netmeta = derive { name="netmeta"; version="0.6-0"; sha256="0cwlwd4bms0kf6nicx7crjjighzrzjgfgmx5yl5v7am4v7kwhz2g"; depends=[meta magic]; };
+  NetPreProc = derive { name="NetPreProc"; version="1.0"; sha256="1w0iih6pz8ci1y09xlzm2x3082s57znp1cxq44ckwh45hvzbxbmi"; depends=[]; };
+  nets = derive { name="nets"; version="0.1"; sha256="0zshiavdi1z8mq6q93vsyb5wx5nq37qln9gcyvamvi2pgy5xg4k2"; depends=[igraph]; };
+  NetSim = derive { name="NetSim"; version="0.9"; sha256="07h4qwz64k8zj8c2mx23cbnhg4rqrb4nfh20xw98kspz7cisdg6d"; depends=[Rcpp]; };
+  netweavers = derive { name="netweavers"; version="1.0"; sha256="1k0i31h1wg3hk6m0w56jq14hqc4xpdmw7xy4mydars2nzfj41kzj"; depends=[igraph]; };
+  network = derive { name="network"; version="1.10.2"; sha256="1qdlwdhqyv1z4vhcbyqfx4iw207m76gly87pgyb85wqif4fifk0x"; depends=[]; };
+  networkDynamic = derive { name="networkDynamic"; version="0.6.3"; sha256="0yb536q7v16wx491c5dmw7sf7h4f2rxs39bsdi0sknizgnmsqlv0"; depends=[network statnet_common]; };
+  networkDynamicData = derive { name="networkDynamicData"; version="0.1.0"; sha256="1vln4n8jldqi1a6qb9j9aaxyjb8pfgwd8brnsqr8hp9lm3axd24b"; depends=[networkDynamic network]; };
+  networkreporting = derive { name="networkreporting"; version="0.0.1"; sha256="1vfvx5gf90p31gy6kcv7l2ibzbfl382gffa79dl8gascbsg6s8z8"; depends=[functional ggplot2 plyr reshape2 stringr]; };
+  networksis = derive { name="networksis"; version="2.1-2"; sha256="05x0mp9ig7nff1js0zv7hq8p7jr7dqscs46zlbrxrrcy1waydb0s"; depends=[ergm network]; };
+  networkTomography = derive { name="networkTomography"; version="0.3"; sha256="1hd7av231zz0d2f9ql5p6c95k7dj62hp0shdfshmyfjh8900amw7"; depends=[coda igraph KFAS limSolve plyr Rglpk]; };
+  neuralnet = derive { name="neuralnet"; version="1.32"; sha256="0p9r5j8q0flv15wn5s6qi9if7npna107l1ffv37nzx1b4vgswnl9"; depends=[MASS]; };
+  neuroblastoma = derive { name="neuroblastoma"; version="1.0"; sha256="0hs87fvwaq53xxbh2dw3hjsmf1zkyqli9qyacxf72fnkyhhl8b45"; depends=[]; };
+  neuroim = derive { name="neuroim"; version="0.0.3"; sha256="0n5jkyvdaiigv51s5bb508w5xkh0qkd1zbs67nnms14s1664fhiz"; depends=[stringr hash iterators abind Matrix yaImpute]; };
+  neuRosim = derive { name="neuRosim"; version="0.2-10"; sha256="1h6hhzf3rl8fnvdv8vw3lzzd23pbnv1shd9d8gpk41fgigjnxp1v"; depends=[deSolve]; };
+  Newdistns = derive { name="Newdistns"; version="1.0"; sha256="1agg5v05x9qlg1w439aycfjfd5yap6ivn1kqgsc3ck148ar11wb2"; depends=[]; };
+  nFactors = derive { name="nFactors"; version="2.3.3"; sha256="016d76yfxz7gx7zz5dgwjmj2c5m6kxdmqj0lln5w6d70r9g1kxg7"; depends=[MASS psych boot lattice]; };
+  ngram = derive { name="ngram"; version="1.1"; sha256="0p5wm55anch1i0y3478f5d4sivs7q8j3kwlg89nk3337win06499"; depends=[]; };
+  ngramr = derive { name="ngramr"; version="1.4.3"; sha256="0j66v841xkb1yw2n4pa7p8kz574np2yj2ic71z6aq71npdbxgh9a"; depends=[httr RCurl plyr rjson stringr reshape2 ggplot2 scales]; };
+  ngspatial = derive { name="ngspatial"; version="1.0-3"; sha256="1ph3yg8vcvij3ymw41dczjpzs68icm5lr0pxybmmfgggpmw5cjyb"; depends=[Rcpp batchmeans]; };
+  NHEMOtree = derive { name="NHEMOtree"; version="1.0"; sha256="0ycprj2rz2fy6a7ps0bsr27iphmbfxi9pbvl8rcr6p8yagfb84mb"; depends=[partykit emoa sets rpart]; };
+  nhlscrapr = derive { name="nhlscrapr"; version="1.5.1"; sha256="0gyg7yvjf9r6q4br17rnlm6c8hsxlm6raym1y3rrl05ss1a63jwx"; depends=[RCurl rjson biglm bitops]; };
+  NHMMfdr = derive { name="NHMMfdr"; version="1.0.6"; sha256="10xwvmzqkx90zh88yjmf6d8gsbqil4vxp53d914080b3aygsvxm8"; depends=[MASS locfdr]; };
+  NHPoisson = derive { name="NHPoisson"; version="3.0"; sha256="11gdfqfly3cvr6ndxvp06kbdd7aw6k25kz8kyxxybjpzszxbpmq8"; depends=[car]; };
+  nice = derive { name="nice"; version="0.4"; sha256="1alq8n8pchn9v0fvwrifdisazkh519x109bqgnpgnwf79wblmnhy"; depends=[]; };
+  nicheROVER = derive { name="nicheROVER"; version="1.0"; sha256="0sa7wfpzkin78vz48vwa5iac82v5l1s3zczdxz8sc2kyg22fj0aw"; depends=[mvtnorm]; };
+  NightDay = derive { name="NightDay"; version="1.0.1"; sha256="0vkpr2jwhgghiiiaiglaj1b9pz25fcsl628c9nsp9zyl67982wz1"; depends=[maps]; };
+  Nippon = derive { name="Nippon"; version="0.5.3"; sha256="02m591aljlaxn95k7sl8gfsviv4ywqv9mrkjf6g19kfrc9pbgjqg"; depends=[maptools]; };
+  NISTnls = derive { name="NISTnls"; version="0.9-13"; sha256="03a1c8a5dr5l5x4wbclnsh3vmx3dy7migfdzdx7d7p3s7hj3ibif"; depends=[]; };
+  nlADG = derive { name="nlADG"; version="0.1-0"; sha256="0nvd5hzd1p81jwx5p7js86wblgg615vdnpbvy5rhmhf1ig583z1b"; depends=[ggm]; };
+  nleqslv = derive { name="nleqslv"; version="2.4"; sha256="114h883rvfz48f2mx88cz1mirz15hbx3c4c4n1jvddk93dmz45j4"; depends=[]; };
+  nlme = derive { name="nlme"; version="3.1-117"; sha256="105zrprpgd4snwcy80qfnjzvd5m7g4cx8njji83gg7ynskhrhxj9"; depends=[lattice]; };
+  nlmeODE = derive { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve nlme lattice]; };
+  nlmeU = derive { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
+  nlmrt = derive { name="nlmrt"; version="2013-9.24"; sha256="1nqcxfgl5iplmar58015ixir2c7agdw91i0ndn2imdx0il1x2hra"; depends=[]; };
+  nloptr = derive { name="nloptr"; version="1.0.4"; sha256="1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089"; depends=[]; };
+  NLP = derive { name="NLP"; version="0.1-3"; sha256="0mg2sa1f9i2rfhzggd55mi3gmsb9xz6y51ygrk8i27vgyr7x0h7w"; depends=[]; };
+  NLPutils = derive { name="NLPutils"; version="0.0-1"; sha256="036pafnjcbz7ihdgsjss4jq8fb420j8fmxyymv7kr4pr78wjysbx"; depends=[NLP SnowballC qdap]; };
+  nlreg = derive { name="nlreg"; version="1.2-2"; sha256="1pi7057ldiqb12kw334iavb4i92ziy1kv4amcc4d1nfsjam03jxv"; depends=[statmod survival]; };
+  NLRoot = derive { name="NLRoot"; version="1.0"; sha256="1x8mcdgqqrhyykr12bv4hl4wbh1zw2qgpnd2yrm68kb92iy95rh4"; depends=[]; };
+  nlrwr = derive { name="nlrwr"; version="1.1-0"; sha256="1j9wfcjimvfhxiwxsxcp5dni70i7bj5iizd8dq3kamzp7319mryv"; depends=[alr3 car drc HydroMe lattice lmtest MASS NISTnls nlme nls2 nlstools NRAIA sandwich]; };
+  nls2 = derive { name="nls2"; version="0.2"; sha256="0k46i865p6jk0jchy03jiq131pc20h9crn3hygzy305rdnqvaccq"; depends=[proto]; };
+  nlsMicrobio = derive { name="nlsMicrobio"; version="0.0-1"; sha256="0676n78265z00dacmq593c9l2239ii574djm9s7i7w8jk1kdhzx2"; depends=[nlstools]; };
+  nlsmsn = derive { name="nlsmsn"; version="0.0-4"; sha256="1gvpy8rq020l64bdw6n7kv354l7gwa2rgxarm6k0mqq7z21fxf58"; depends=[]; };
+  nlstools = derive { name="nlstools"; version="1.0-0"; sha256="04y3yzpipr82fgafppp09fbi6invmwyalljirmmh01qnrzfimwna"; depends=[]; };
+  NlsyLinks = derive { name="NlsyLinks"; version="1.302"; sha256="0m1qvrpdfwql4jdk3nbn80llq83wavimifw630gnazwmkgkcncai"; depends=[lavaan]; };
+  nlt = derive { name="nlt"; version="2.1-3"; sha256="1j0xrrbr1hvfda8rvnc17lj96m6cz24faxvwn68ilf7j1ab2lkgn"; depends=[EbayesThresh adlift]; };
+  nlts = derive { name="nlts"; version="0.2-0"; sha256="14kvzc1p4anj9f7pg005pcbmc4k0917r49pvqys9a0a51ira67vb"; depends=[locfit acepack]; };
+  nmcdr = derive { name="nmcdr"; version="0.3.0"; sha256="1557pdv7mqdjwpm6d9zw3zfbm1s8ai3rasd66nigscmlq102w745"; depends=[CDFt]; };
+  NMF = derive { name="NMF"; version="0.20.5"; sha256="1j91vklzi4qjlix5sn9qh86dwx6vxnla2p4ag81apkr441jkvynr"; depends=[pkgmaker registry rngtools cluster stringr digest gridBase colorspace RColorBrewer foreach doParallel ggplot2 reshape2]; };
+  NMFN = derive { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
+  NMOF = derive { name="NMOF"; version="0.28-2"; sha256="0c22fpzg8qg6asd0glq5cz32mhw7607bcsl7cmrkfzwm8p4yarns"; depends=[]; };
+  nnclust = derive { name="nnclust"; version="2.2"; sha256="1mr506ddvw4lslylpmm43wmd6mwv055zjzgb427nj3jl142dfyz2"; depends=[]; };
+  nnet = derive { name="nnet"; version="7.3-8"; sha256="0nhbprhwkpnhzw6jls8y76xskfh9gq491kg8q8wnamjv3gnngfa5"; depends=[]; };
+  nnls = derive { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
+  nodeHarvest = derive { name="nodeHarvest"; version="0.6"; sha256="16151rwmqkf5vlyrlxlirz8s0nimxppx1f7f4pwfxi9vipwph125"; depends=[quadprog randomForest]; };
+  noia = derive { name="noia"; version="0.96"; sha256="0f5gfb78vaj9iklj7gq3g85v78xh5izghjc7v3827jr1irfjivap"; depends=[]; };
+  NominalLogisticBiplot = derive { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[mirt gmodels MASS]; };
+  noncensus = derive { name="noncensus"; version="0.1"; sha256="0cfj17bfzddfshhhzv2ijhrp9ylcscmsysswjcsjfxmy3gbkd00q"; depends=[]; };
+  nonlinearTseries = derive { name="nonlinearTseries"; version="0.2.1"; sha256="1pq93g25arnc68kyvv6ymywdvbqv6620dvqzv1l43c1xssw364bc"; depends=[Matrix rgl tseries TSA]; };
+  nonparaeff = derive { name="nonparaeff"; version="0.5-8"; sha256="1kkn68m7cqlzx3v539cjxw3x5a2y86lvmyv2k98s87m3yvqg0gdk"; depends=[lpSolve gdata Hmisc rms geometry psych pwt]; };
+  NonpModelCheck = derive { name="NonpModelCheck"; version="1.0"; sha256="0mgbyp651jfqyfavpv12i9kwqf0cpk2mzh9m0b5k4n759710qv8f"; depends=[dr MASS]; };
+  nonrandom = derive { name="nonrandom"; version="1.42"; sha256="0icm23hw593322z41wmjkwxqknh2pa9kpzbrch7xw1mhp93sd5ll"; depends=[lme4]; };
+  nontarget = derive { name="nontarget"; version="1.3"; sha256="0kg3b1xs7sfgkjj5wf536r4k9b9hgi2hlkymsw0spskvjg2sd3q0"; depends=[enviPat nontargetData mgcv]; };
+  nontargetData = derive { name="nontargetData"; version="1.1"; sha256="07cdbpmn64sg4jfhljdcx503d55azyz58x7nkji044z3jmdryzqw"; depends=[]; };
+  nopp = derive { name="nopp"; version="1.0.3"; sha256="128c441l5fgapxwl143yhciz8jcak8fisypp6wq6csdxpbs8w21f"; depends=[mlogit MASS]; };
+  nor1mix = derive { name="nor1mix"; version="1.1-4"; sha256="11ym6av7zykynkqvhkbnl7rwxgzrjhgjnbq7whxhkb6qbf6khfsx"; depends=[]; };
+  nordklimdata1 = derive { name="nordklimdata1"; version="1.0"; sha256="0l50g09c102r8fz8ks42dfywg2vh2ad8lhqi7n3gc8nhad8rapqr"; depends=[]; };
+  norm = derive { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; };
+  NormalGamma = derive { name="NormalGamma"; version="1.1"; sha256="0r3hhfscif0sx9v8f450yf119gpvf3ilpb8n3ziy4v4qf2jlcfnk"; depends=[optimx histogram]; };
+  NormalLaplace = derive { name="NormalLaplace"; version="0.2-0"; sha256="1yrqfqhxkavczascwpq7z77jwpa1s2dn2cfi15vxfjyayhdxq4aa"; depends=[DistributionUtils GeneralizedHyperbolic]; };
+  normalp = derive { name="normalp"; version="0.6.9"; sha256="1a2m7agcnqmf69mgbkjmmp7mvpx9r4gk13x98yfkg1dyh3b48rri"; depends=[]; };
+  NormPsy = derive { name="NormPsy"; version="1.0.1"; sha256="050cb4i3pb1jbi1scxnnnf1rwxwvr472m284gcjlzrcr5xzbx0gr"; depends=[lcmm]; };
+  NORMT3 = derive { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; };
+  normtest = derive { name="normtest"; version="1.1"; sha256="073r2mwfs6c4vqh8921nlyygl0f20nhv997s0iwf00d3jckkc4pp"; depends=[]; };
+  normwhn_test = derive { name="normwhn.test"; version="1.0"; sha256="1kr45bfydk40hgdg24i2f28cdaw65hg9gmsgv4lsvvr2m3r74vi6"; depends=[]; };
+  nortest = derive { name="nortest"; version="1.0-2"; sha256="010i9cxjaq6jjdnw8fggvinakrxi3pv4098r9i4jh62vlfwqbjpb"; depends=[]; };
+  nose = derive { name="nose"; version="1.0"; sha256="17l78vmfqc22inq6zaqpnk2m91wp0nfjbbwfcpfqykf8lk9ipqna"; depends=[]; };
+  notifyR = derive { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
+  noweb = derive { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; };
+  Nozzle_R1 = derive { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; };
+  np = derive { name="np"; version="0.60-2"; sha256="0zs1d4mmgns7s26qcplf9mlz9rkp6f9mv7abb0b9b2an23y6gmi5"; depends=[boot cubature]; };
+  nparcomp = derive { name="nparcomp"; version="2.0"; sha256="154689lk1sd1smc3fyslrgz4rzg166n2d8nz7bhbjcrq2fhj8pj0"; depends=[multcomp mvtnorm]; };
+  nparLD = derive { name="nparLD"; version="2.1"; sha256="1asq00lv1rz3rkz1gqpi7f83p5vhzfib3m7ka1ywpf2wfbfng27n"; depends=[MASS]; };
+  npbr = derive { name="npbr"; version="1.0"; sha256="12s25vn4f0373y2ijmpam0an4p64xr3m71xgf20g5przmr77bm0a"; depends=[Rglpk Benchmarking]; };
+  NPCD = derive { name="NPCD"; version="1.0-6"; sha256="1lnj55f73rpjy6amg1n5x7b0jsrmharp0fhcjcn0dflcrjwianxj"; depends=[BB R_oo R_methodsS3]; };
+  NPCirc = derive { name="NPCirc"; version="2.0.0"; sha256="03b4lx7rkpjlxy9854dy16qw15x1cjwzyyvxn778n5xsva0c498b"; depends=[circular misc3d movMF plotrix rgl shape]; };
+  npcp = derive { name="npcp"; version="0.1-0"; sha256="1kkz7qnvmbbl2yfar8s23cn2jh2cqjwnrgjqw5a0wzli5ky613nl"; depends=[]; };
+  npde = derive { name="npde"; version="2.0"; sha256="1cp4k7jvsw9rc6rrck902nqqjaf2c1nxjic7i9r3fd6yca1lgqb9"; depends=[mclust]; };
+  NPHMC = derive { name="NPHMC"; version="2.2"; sha256="000x9y00gfkaj5lf00a55b9qx15x05yp3g3nmp8slyzsnfv66p5d"; depends=[survival smcure]; };
+  nplplot = derive { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; };
+  nplr = derive { name="nplr"; version="0.1-1"; sha256="0br7flriqbig8frq0j4lxiv6i8bwgsj422faln85ga93hnlky0a1"; depends=[]; };
+  NPMLEcmprsk = derive { name="NPMLEcmprsk"; version="1.0"; sha256="0yakcjkxqlbpzs8jdaahdl4lv5l2ffq7l7v00sl77sn9gflgprk3"; depends=[]; };
+  npmlreg = derive { name="npmlreg"; version="0.45-5"; sha256="0jkj3wi435bgb1swll56bcwc1vzq00l503miy171232avy8qrpaf"; depends=[statmod]; };
+  NPMPM = derive { name="NPMPM"; version="1.0"; sha256="14rjj48vfj4wv1na5v181jby016afx4ak1fs0f3g1fif4kbgbdx0"; depends=[]; };
+  npmv = derive { name="npmv"; version="2.1"; sha256="0ivd3wm1fmmaq8i2h0kdd11z9k1czb61ms8fj0xb5xmfy0g1rphy"; depends=[Formula ggplot2]; };
+  NPMVCP = derive { name="NPMVCP"; version="1.1"; sha256="13jpm46abwziq8859jhl6hg1znk3ws1q7g4vlr2jyri3qa6h22dd"; depends=[]; };
+  nppbib = derive { name="nppbib"; version="1.0-0"; sha256="075jb13zckkh66jwdmdlq4d2drjcc3lkj26px3w79b91223yymf2"; depends=[]; };
+  npRmpi = derive { name="npRmpi"; version="0.60-2"; sha256="10gify91m9jsbghdgkwjz57qn6ybj4i239caflm9vkrfxsg6yx2d"; depends=[boot cubature]; };
+  NPS = derive { name="NPS"; version="1.0"; sha256="1acg3367rd53dgwzqr8pnfr8z72s3699h2nhrhh2w9zdqipid89g"; depends=[]; };
+  NPsimex = derive { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; };
+  npsm = derive { name="npsm"; version="0.01"; sha256="1bx3l3sh5jvwngq05006mjyy5rs136wlg6wgshqy4d104zqwqjxk"; depends=[Rfit]; };
+  npsp = derive { name="npsp"; version="0.2-4"; sha256="1lzdr958m00dxwzgd46x5fs07sx0gnzbyjrllfa6s7r9klg4i707"; depends=[quadprog]; };
+  npst = derive { name="npst"; version="2.0"; sha256="1y5ij3nmh9pj6p97jpx75g26sk508mznr0l67cwj381zfb77hj1n"; depends=[]; };
+  NRAIA = derive { name="NRAIA"; version="0.9-8"; sha256="16v8s9mqvr6sbiwwj93n3nyrm996wyw4f9l569mw2ykqpdkbp7hm"; depends=[lattice]; };
+  nricens = derive { name="nricens"; version="1.2"; sha256="17h0vckchqlvcsa604cgbcw1akaxl30yx24x1d8201svyz9n0hhb"; depends=[survival]; };
+  NSA = derive { name="NSA"; version="0.0.32"; sha256="0lnimyx3fpnw9zfhqm7y3ssvbpmvbmhcqy6fp83862imiwpl8i5r"; depends=[R_methodsS3 MASS matrixStats R_oo R_utils aroma_core aroma_affymetrix]; };
+  nscancor = derive { name="nscancor"; version="0.6"; sha256="1wkk08h8yz2mzgvmq0vr30iiczpbp0304vjwxqgsa3h240m4awsm"; depends=[]; };
+  NScluster = derive { name="NScluster"; version="1.0.2"; sha256="1bvr44qx3bzbgsdpj70dfq9azkrsywkbvwvm3lwwgpn0spk8apld"; depends=[]; };
+  nsga2R = derive { name="nsga2R"; version="1.0"; sha256="04jj0a3isfc348vg46il5x9l33cr7xawz5w0mm4pwr6djhd8nfhx"; depends=[mco]; };
+  NSM3 = derive { name="NSM3"; version="1.1"; sha256="0xyx06pc9690akdm02597pgcchn29gvc4kzcgyc3ihsjj71xryi2"; depends=[combinat MASS partitions survival agricolae ash binom BSDA coin epitools fANCOVA gtools Hmisc km_ci metafor nortest np quantreg Rfit SemiPar SuppDists waveslim]; };
+  nsprcomp = derive { name="nsprcomp"; version="0.5"; sha256="1rrjiwkpiaqlp27s5xfd6jwmmpzgxm5d7874gp33511wa0vrhnnf"; depends=[]; };
+  nsRFA = derive { name="nsRFA"; version="0.7-11"; sha256="1mlm8fygzr8b03rflays78l63ld0nagprc8xbwny5f87vi00wwq4"; depends=[]; };
+  nullabor = derive { name="nullabor"; version="0.2.1"; sha256="1pxxynfjjyqmgqvfb4fcs6jy63cf9bcbi9x1kz4f5b454q2g1raq"; depends=[MASS ggplot2 plyr]; };
+  numbers = derive { name="numbers"; version="0.4-5"; sha256="0z69samkj7fvbk0wj2nbnkcw17y1sdha7hghkc7yhgkwx2z1pana"; depends=[gmp]; };
+  numDeriv = derive { name="numDeriv"; version="2012.9-1"; sha256="09s00a1wddpq5556mz87vdmx045rhjrx1w8f2a37m8hljghy86k9"; depends=[]; };
+  numOSL = derive { name="numOSL"; version="1.5"; sha256="06lfy4jkk3myzlwivgh9j6ig1l0q9mgaa1zh3vxv2vdkzjd0l56b"; depends=[]; };
+  nutshell = derive { name="nutshell"; version="2.0"; sha256="1v11g5wqyxnj29b7akl0cwa34hcqs79ijbiv735pg3df4ggyrzvm"; depends=[nutshell_bbdb nutshell_audioscrobbler]; };
+  nutshell_audioscrobbler = derive { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; };
+  nutshell_bbdb = derive { name="nutshell.bbdb"; version="1.0"; sha256="19c4047rjahyh6wa6kcf82pj09smskskvhka9lnpchj13br8rizw"; depends=[]; };
+  nws = derive { name="nws"; version="1.7.0.1"; sha256="1fn92n6brjhh8hpvhax7211cphx2cn0rl99kjqksig6z7242c316"; depends=[]; };
+  nycflights13 = derive { name="nycflights13"; version="0.1"; sha256="15bqaphxwqpdzr4bkn6qgbjb3knja5hk34qxjd6xhpjzkgfs5c0b"; depends=[]; };
+  OAIHarvester = derive { name="OAIHarvester"; version="0.1-7"; sha256="0wcl71y8i4s4fxpb90xg71sj6819kgl3d4gff66dan8i6y8sxmyk"; depends=[XML RCurl]; };
+  Oarray = derive { name="Oarray"; version="1.4-5"; sha256="1w66vqxvqyrp2h6acnbg3xy7cp6j2dgvzmqqk564kvivbn40vyy4"; depends=[]; };
+  objectProperties = derive { name="objectProperties"; version="0.6.5"; sha256="0wn19byb1ia5gsfmdi6cj05pnlxbr3zcrjabjg3g1d7b58nz7wlh"; depends=[objectSignals objectSignals]; };
+  objectSignals = derive { name="objectSignals"; version="0.10.2"; sha256="1rcgfq1i3nz2q93vv4l069f3mli1c6fd5dhhhw1p7cc4sy81008w"; depends=[]; };
+  obliclus = derive { name="obliclus"; version="0.9"; sha256="000r1dx4zbgjxrfs66c1yazm0w6q2z0z1scf45g2qj5ykcm9ylma"; depends=[]; };
+  obliqueRF = derive { name="obliqueRF"; version="0.3"; sha256="1bwlgv820mmpc6vg26bsdlfy2p78586i3y42hkzbw3z1fmwq3pz5"; depends=[ROCR pls mda e1071]; };
+  oblique_tree = derive { name="oblique.tree"; version="1.1.1"; sha256="01vyc46gz7qx8fc5bg3zbhjyhnmfgjii120a915vmr38cs51qhqh"; depends=[tree glmnet nnet]; };
+  obs_agree = derive { name="obs.agree"; version="1.0"; sha256="191xshnrncjqzwd2rdq334vsx0338q3y3k1nbm04hdaysbnla9jv"; depends=[]; };
+  obsSens = derive { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; };
+  oc = derive { name="oc"; version="0.93"; sha256="1nw594wrlnb0kkhkqfa14wxahh1yshpa2hz25nlnb42mi9pbrzg4"; depends=[pscl]; };
+  occ = derive { name="occ"; version="1.0"; sha256="1gn8rg6k5lwwb6axfby7hiss5m64j2rh3hsmwwij58j5xda3jlbx"; depends=[]; };
+  oce = derive { name="oce"; version="0.9-14"; sha256="03vp83504pwjk6wbx5l4s31qvxfyd3g38snvfvp8b0pvnlv8f2fh"; depends=[mapproj]; };
+  ocean = derive { name="ocean"; version="0.2-4"; sha256="1554iixfbw3k6w9xh3hgbiygszqvj5ci431cfmnx48jm27h2alqg"; depends=[ncdf4 proj4]; };
+  OceanView = derive { name="OceanView"; version="1.0"; sha256="1x94zrvz45vval4qiim6755ispj23zp0d6qvzg3xd65y30gprni1"; depends=[plot3D plot3Drgl shape]; };
+  ocedata = derive { name="ocedata"; version="0.1.2"; sha256="0kic6m09a66zc5fxh9fkqk7rp3mnpf0p6i1qy2irh3bj9ccmdkvk"; depends=[]; };
+  ODB = derive { name="ODB"; version="1.1.1"; sha256="1hha4rkbc2zh3karkqa0vn4v0nmcd7sljcymy1nh28bx1gx2ffgs"; depends=[DBI RJDBC]; };
+  odfWeave = derive { name="odfWeave"; version="0.8.4"; sha256="1rp9j3snkkp0fqmkr6h6pxqd4cxkdfajgh4vlhpz56gr2l9j48q5"; depends=[lattice XML]; };
+  odfWeave_survey = derive { name="odfWeave.survey"; version="1.0"; sha256="0cz7dxh1x4aflvfrdzhi5j64ma5s19ma8fk9q2m086j11a1dw3jn"; depends=[odfWeave survey]; };
+  ODMconverter = derive { name="ODMconverter"; version="2.0"; sha256="1691fmkdjhk7rih8qk3rp6bykplz8hxsl7in8gjrc5ll0fkygm98"; depends=[XML xlsx]; };
+  oem = derive { name="oem"; version="1.02.1"; sha256="0z9k0jhpp5dayyin6v8p26rgl8s983hnpsk195c9z458i7nbmrpd"; depends=[Rcpp]; };
+  Ohmage = derive { name="Ohmage"; version="2.11-3"; sha256="16mm58yzh1r8s8x3jhdjwb01a1a8yjiay4v7gcj7j4r7z4mqr75c"; depends=[RCurl RJSONIO]; };
+  OIdata = derive { name="OIdata"; version="1.0"; sha256="078khxrszwnrww2h0ag153bf59fnyhirxy4m56ssgr2gmfahaymf"; depends=[RCurl maps RCurl maps]; };
+  OIsurv = derive { name="OIsurv"; version="0.2"; sha256="148mpjj5navc1vrl72y87krn4lf3awnd32z3g4qqaia404w5w7p7"; depends=[survival KMsurv]; };
+  OjaNP = derive { name="OjaNP"; version="0.9-7"; sha256="1sf23q4qwvx1n8ny9rk4jcrjsb4hifn4ry12p5k29x4baaxmn3xg"; depends=[ICS ICSNP]; };
+  okmesonet = derive { name="okmesonet"; version="0.1.4"; sha256="1fq17v1wx8hxvlk489vp6nlsx8ifs4491099zhikhn1fj7b1m346"; depends=[plyr]; };
+  OligoSpecificitySystem = derive { name="OligoSpecificitySystem"; version="1.3"; sha256="0s76fxai1kgq0hcr5m18yz7i14algld97rjrax75cxm1ccylah71"; depends=[tkrplot]; };
+  OLScurve = derive { name="OLScurve"; version="0.2.0"; sha256="1zqapfwgwy9rxnbhmlgplkphw1bdia4cyi9q6iwcppw3rjw75f1n"; depends=[lattice]; };
+  omd = derive { name="omd"; version="1.0"; sha256="0s1wcgivqapbkzjammga8m12gqgw113729kzfzgn02nsfzmsxspv"; depends=[]; };
+  OmicKriging = derive { name="OmicKriging"; version="1.3"; sha256="1fj131684faj75jdipmsvb8s684x72is6zz79hwb5wszklk00ind"; depends=[doParallel ROCR irlba]; };
+  oncomodel = derive { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; };
+  Oncotree = derive { name="Oncotree"; version="0.3.3"; sha256="147rc9ci66lxbb91ys2ig40sgmldi15p604yysrd4ccbxpbk2zwf"; depends=[boot]; };
+  OneHandClapping = derive { name="OneHandClapping"; version="1.5"; sha256="1j45qy4nwnmiqmjqnhzs4f6zspckzhr1rx56i9ddis4iahffqd19"; depends=[]; };
+  onemap = derive { name="onemap"; version="2.0-4"; sha256="00xmhm5qy0ycw0mnlyl20vfw0wxmpb36f07k0jj92c4zbpwjiygx"; depends=[tkrplot]; };
+  ONETr = derive { name="ONETr"; version="0.1-1"; sha256="0jaxz8104xfdn2ys6lgg16vrbin73b5qfnrr81bgmdcpsk9ggix5"; depends=[XML RCurl]; };
+  OneTwoSamples = derive { name="OneTwoSamples"; version="1.0-3"; sha256="0019rc2f4jmbm6sinkvalvjqwi822x78aiin88kg8qbbb5ml8l89"; depends=[]; };
+  onion = derive { name="onion"; version="1.2-4"; sha256="0x3n9mwknxjwhpdg8an0ilix5cb8dyy5fqnb6nxx7ww885k0381a"; depends=[]; };
+  OOmisc = derive { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; };
+  OpasnetUtils = derive { name="OpasnetUtils"; version="1.0.0"; sha256="04w6jvrjwiyva8lblx7i3ynywhis7d45nzhc1gls9yqxq0p426i1"; depends=[rjson RCurl reshape2 triangle httpRequest digest xtable]; };
+  OPDOE = derive { name="OPDOE"; version="1.0-9"; sha256="0pf8rv5wydc8pl4x57g7bk2swjabaxdgijgsigjy5wihfcb48654"; depends=[gmp mvtnorm orthopolynom nlme crossdes polynom]; };
+  OPE = derive { name="OPE"; version="0.7"; sha256="0ld3pr94ii1pmfk99qfwgria6ki2iz2hwmn7pj3cjwprv8jkcjji"; depends=[]; };
+  opefimor = derive { name="opefimor"; version="1.1"; sha256="0xv57l38wx3w67h312g5xcpi9m7ggd6crqvqjh5gddq0g1g93bjq"; depends=[]; };
+  openair = derive { name="openair"; version="1.0"; sha256="04swl74189ccbak0qw55gyw66v07ia0wg8xwiak81233wc0ins42"; depends=[plyr reshape2 mgcv lattice latticeExtra cluster RColorBrewer Rcpp]; };
+  OpenCL = derive { name="OpenCL"; version="0.1-3"; sha256="0f7vis0jcp0nh808xbzc73vj7kdcjb0qqzzsh3gvgamzbjfslch8"; depends=[]; };
+  opencpu = derive { name="opencpu"; version="1.4.3"; sha256="0515x95rvrp9hpxmc65hz6r35g8ql2hvlqhj94zapaa55ycw95jb"; depends=[evaluate httpuv knitr jsonlite devtools httr brew pander]; };
+  openintro = derive { name="openintro"; version="1.4"; sha256="1k6pzlsrqikbri795vic9h191nf2j7v7hjybjfkrx6847c1r4iam"; depends=[]; };
+  OpenMPController = derive { name="OpenMPController"; version="0.1-2"; sha256="1cpsbjmqql0fsjc1xv323pfkhfr9vrcv5g4j3p1qc5zn4z9pq7r6"; depends=[]; };
+  openNLP = derive { name="openNLP"; version="0.2-3"; sha256="1d609hv24sxjppxpkgfvsl7p8vsajj0ivczcjixlnrly09j9ajrh"; depends=[NLP openNLPdata rJava]; };
+  openNLPdata = derive { name="openNLPdata"; version="1.5.3-1"; sha256="1a048irgv56yi2lvhpqh8vh4dl7g7zfg934qypjxg8mcdcqi820y"; depends=[rJava]; };
+  OpenRepGrid = derive { name="OpenRepGrid"; version="0.1.8"; sha256="1m71wb9i30vggbxpcv9ywbdi21ki8qivqw70i3rsrk8r1nx3zxq1"; depends=[colorspace plyr abind rgl GPArotation psych XML xlsx pvclust]; };
+  OpenStreetMap = derive { name="OpenStreetMap"; version="0.3.1"; sha256="009xiqsbgqb3lba6msyzq7ncripmvpymxynkga8pqc8npv8g7fzb"; depends=[rJava raster rgdal rJava]; };
+  openxlsx = derive { name="openxlsx"; version="2.0.15"; sha256="0wnczn3bnmcp3z8qx1al9is903y2iv532kb2sxz45ld3313n2y5z"; depends=[Rcpp]; };
+  operators = derive { name="operators"; version="0.1-6"; sha256="13lqxifbw8h4xn5gjf96bnzq9fzrncrj1g5lib8gvbpcbwn2smsl"; depends=[]; };
+  operator_tools = derive { name="operator.tools"; version="1.3.0"; sha256="0y5f0ifj4gaq03gm44vdvslcs7lglk1p8kq47mdc0gc1yfa6l00c"; depends=[]; };
+  OPI = derive { name="OPI"; version="1.6"; sha256="0d9863zs54chmdc74g508xpclj7gjk7q36amdnqq0bffp87bj9nq"; depends=[rJava]; };
+  opm = derive { name="opm"; version="1.1.0"; sha256="14sj0frjfd4a7j30zyk1fbhkpry45bjcn2k0l9jf7xc8415rbc3v"; depends=[lattice boot hwriter plotrix Ckmeans_1d_dp pkgutils yaml mgcv grofit rjson nlme DBI]; };
+  opmdata = derive { name="opmdata"; version="0.7.0"; sha256="043zzp2p4cvda5rshi9s990lm5qyi6ydkmy84xanwaqvysi1cpyy"; depends=[opm]; };
+  oposSOM = derive { name="oposSOM"; version="0.2-3"; sha256="0s6sq9ij8swgpljpk0jbzl0a1qw2y122zgxazy54q16xdf5a5vgy"; depends=[som fastICA pixmap igraph]; };
+  ops = derive { name="ops"; version="1.0"; sha256="0cvwyn5sz5lx8sin8w4k8ymslfl4nfaa012a9vcl2hvp4850rk25"; depends=[]; };
+  optAUC = derive { name="optAUC"; version="1.0"; sha256="0j1llzqa3n7kqw3i5bb7284z0hi6s5jbjfl9zap0l7xf6hg4x1dn"; depends=[MASS]; };
+  optBiomarker = derive { name="optBiomarker"; version="1.0-27"; sha256="1kkj602d4klwyd8kylawgfysg8dlp2g6j7afkppzv5x8mbhs5ji4"; depends=[rpanel rgl MASS randomForest e1071 ipred msm Matrix]; };
+  optextras = derive { name="optextras"; version="2013-10.27"; sha256="0898dgl8div4hdhb4wyj39vak94nm2311x550b8k8ljbx0nmp9gh"; depends=[numDeriv]; };
+  OptHedging = derive { name="OptHedging"; version="1.0"; sha256="0g7qaf5abvbcqv2h1dciwn3gwpz084ryqjjk0yabdm4ym0y38ddm"; depends=[]; };
+  OptimalCutpoints = derive { name="OptimalCutpoints"; version="1.1-2"; sha256="14qz1clckmgjqhcfmxknxb3vwplf107g8y4pd5bb3n7ska2p9g58"; depends=[]; };
+  optimbase = derive { name="optimbase"; version="1.0-9"; sha256="0ivz24kf3yacgq5bl3s3az1pcyhsz0cza5f8vdksy5gchwqplm8n"; depends=[Matrix]; };
+  optimsimplex = derive { name="optimsimplex"; version="1.0-5"; sha256="1aiq0w2zlra3k6x4hf2rglb6bj8w25yc8djnpgm508kkrbv3cc17"; depends=[optimbase]; };
+  optimx = derive { name="optimx"; version="2013.8.6"; sha256="04jzfb4y1g3lds9qybhb8ykkwcwy1585v3mqpa3mshgdz332wx95"; depends=[numDeriv]; };
+  OptInterim = derive { name="OptInterim"; version="3.0.1"; sha256="1ks24yv5jjhlvscwjppad27iass59da1mls99hlif0li9mvkbvyk"; depends=[mvtnorm clinfun]; };
+  optiRum = derive { name="optiRum"; version="0.33"; sha256="1324wmi6b2y9whacf9883k1f86bs9gvxp46gksiga1dwab53nlhv"; depends=[data_table]; };
+  optiscale = derive { name="optiscale"; version="1.1"; sha256="1c263w9df66m7lgvzpdfm2zwx9nj8wcdpgh5gijachr2dzffmrp2"; depends=[lattice]; };
+  optmatch = derive { name="optmatch"; version="0.9-3"; sha256="143rkqajs9vc2idg7vs043njh3jgbl3v5x2jnnbxj6g3qlgzd5cb"; depends=[digest]; };
+  optparse = derive { name="optparse"; version="1.2.0"; sha256="064grlajnmbcbyhmfgx58mbbmv94sxdkxdqqww0cbi7dg441sli2"; depends=[getopt]; };
+  optpart = derive { name="optpart"; version="2.1-1"; sha256="0m2nsrynqbw9sj7cp7c37grx9g20dld2f26g0xzbj16wz7whgp02"; depends=[cluster labdsv MASS plotrix]; };
+  optR = derive { name="optR"; version="1.1.1"; sha256="1lr5n0g21jayb27b2j8zh16f1k28avzg7k2mwyc7rjhhxv8k9w1j"; depends=[]; };
+  ora = derive { name="ora"; version="2.0-1"; sha256="0albxqma220rnrpfdq3z9cawr83q1a0zzczbbcy4nijjm4mswphy"; depends=[DBI ROracle]; };
+  orca = derive { name="orca"; version="1.0"; sha256="0cqz1zmlzwdprhbxs4arjv2gx868dx47xg8jmjvzk7g2xc9prj62"; depends=[]; };
+  ORCI = derive { name="ORCI"; version="1.1"; sha256="0xy5lvz2scz06fphjyhqbdhp4bizmv87a8xykp9dbgx8b4ssnqgz"; depends=[BiasedUrn BlakerCI PropCIs]; };
+  orclus = derive { name="orclus"; version="0.2-5"; sha256="0kkxhyqjxib862npinzf3mipqg5imgscdmb5wqm8wf2j2mbislsx"; depends=[]; };
+  ORCME = derive { name="ORCME"; version="2.0.1"; sha256="0wr4z19alyp2cvlpg4bs8sni6nrwnhk11bbr00ycqym39alr2wjw"; depends=[Iso]; };
+  orcutt = derive { name="orcutt"; version="1.1"; sha256="0hz7aw4jpf4l7ihj4bjnjv1m8ynr71n4l12x046qj8y7mrnl9p4k"; depends=[]; };
+  ordBTL = derive { name="ordBTL"; version="0.8"; sha256="09x3zfmss4fsh3rjghgmpv8y34dnkz4mw696b3k3nvlgk55a1423"; depends=[caret VGAM wikibooks gtools]; };
+  orddom = derive { name="orddom"; version="3.1"; sha256="165axs15fvwhrp89xd87l81q3h2qjll1vrwcsap645cwvb85nwsh"; depends=[psych]; };
+  ORDER2PARENT = derive { name="ORDER2PARENT"; version="1.0"; sha256="04c80vk6z227w6qsnfls89ig4vqyiiymdarhq1pxa0gpr8j2ssx5"; depends=[Matrix]; };
+  orderbook = derive { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[lattice hash]; };
+  OrdFacReg = derive { name="OrdFacReg"; version="1.0.4"; sha256="00zw5zqbn2v5r4mqgs4m7gz278bnb53jf5x6c50yv47643m0nxfy"; depends=[eha MASS]; };
+  ordinal = derive { name="ordinal"; version="2013.9-30"; sha256="07a226ccd05a3w0i5j6f3mwbmnc3xpl7myq33zl6r4gpvcc8d7c3"; depends=[ucminf MASS Matrix]; };
+  OrdinalLogisticBiplot = derive { name="OrdinalLogisticBiplot"; version="0.3"; sha256="0z03dpargdkay99gci5kpxr2i8cgiw3gfras65f83bjr2pkmsdla"; depends=[mirt MASS NominalLogisticBiplot]; };
+  OrdMonReg = derive { name="OrdMonReg"; version="1.0.3"; sha256="1xca8pvvq79j484l2rmn4nva8ncx8z51g5diljikck231y8qjqaz"; depends=[]; };
+  OrdNor = derive { name="OrdNor"; version="1.0"; sha256="1n6c0d4r1w3n016lzk2i5yyvawk9pgmsbzymbbyq7gx8a80iv32h"; depends=[mvtnorm corpcor Matrix GenOrd]; };
+  ordPens = derive { name="ordPens"; version="0.2-1"; sha256="1kcxjfr2ncnqg293ph509hpgzzn5s4ih2kd8agl335zlxcksz3fp"; depends=[grplasso mgcv RLRsim]; };
+  OrgMassSpecR = derive { name="OrgMassSpecR"; version="0.4-4"; sha256="046lr0piiy5w5lxjvyw7iqqclkghmc6zqymfypkw374gk73yrm76"; depends=[]; };
+  ORIClust = derive { name="ORIClust"; version="1.0-1"; sha256="1biddddyls2zsg71w4innxl0ckfb80q2j9pmd56wvbc0qnbm0w3q"; depends=[]; };
+  orientlib = derive { name="orientlib"; version="0.10.3"; sha256="1qi46hkz73b8722zc3w6wvsq1ydlk37yxn9rd1dqygqbs1svkmvv"; depends=[]; };
+  orloca = derive { name="orloca"; version="4.2"; sha256="14accc5kcvvin5qav6g3rx10by00r0b8970nd09w4c09nhwyblcd"; depends=[]; };
+  orloca_es = derive { name="orloca.es"; version="4.1"; sha256="0nzhg7vzfxlmryw5ijww8z2b1g9cmgcgzi3gsgigsgn4shnc2hni"; depends=[orloca]; };
+  ORMDR = derive { name="ORMDR"; version="1.3-2"; sha256="0y7b2aja3zvsd6lm7jal9pabcfxv16r2wh0kyzjkdfanvvgk3wmm"; depends=[]; };
+  oro_dicom = derive { name="oro.dicom"; version="0.4.1"; sha256="0mxjqk7b0k4srkk5yqm21b2x67c5hyd7nwf3b1qlb9rvnfjhqyhk"; depends=[oro_nifti]; };
+  oro_nifti = derive { name="oro.nifti"; version="0.4.0"; sha256="1pragzjdldzgiaj4rbx37ki0930wfxj3kvan43vijd11a8ij1g5l"; depends=[bitops]; };
+  oro_pet = derive { name="oro.pet"; version="0.2.1"; sha256="1ysi7jxx1jalx78vqpbq1rd8q85nrz23zrz3vbj5ar3l265kwd5q"; depends=[oro_nifti]; };
+  orQA = derive { name="orQA"; version="0.2.1"; sha256="0vivjrpcbql42y078gi91kfpfdpv73j23jkiv8fpazzwzdi8ydqq"; depends=[Rcpp gtools nlme]; };
+  orsk = derive { name="orsk"; version="1.0-1"; sha256="155wc9sfla3717b6xmhmsmvsnh2qbzzkffhibmj4xc0pd9lwwz2v"; depends=[BB BHH2]; };
+  orthogonalsplinebasis = derive { name="orthogonalsplinebasis"; version="0.1.5"; sha256="060g2z8zx5gkk8v31cs0c6v5jzkd7hc9l2syx6hmvj6przr2cxi4"; depends=[]; };
+  orthopolynom = derive { name="orthopolynom"; version="1.0-5"; sha256="1gvhqx6jlh06hjmkmbsl83gri0gncrm3rkliyzyzmj75m8vz993d"; depends=[polynom]; };
+  osDesign = derive { name="osDesign"; version="1.7"; sha256="0y68pnsmq4nlmfsn28306q2kxab200pirr6ha0w4himzpnw1sil3"; depends=[]; };
+  osmar = derive { name="osmar"; version="1.1-7"; sha256="0q6d8nw7d580bnx66mjc282dx45zw9srczz90b520hjcli4w3i3r"; depends=[XML RCurl geosphere]; };
+  ouch = derive { name="ouch"; version="2.8-4"; sha256="1kx6qjvc8zlcxihqfxs288hwwh9m05s5544w4c6m1wc02083b735"; depends=[subplex]; };
+  outbreaker = derive { name="outbreaker"; version="1.1-3"; sha256="0ahkzcgicdlk6g8fd7rnni0n333wrixlfpck5wpznp4a1ny44zn4"; depends=[ape igraph adegenet]; };
+  OutbreakTools = derive { name="OutbreakTools"; version="0.1-11"; sha256="0m39wppck75mpcgdhwvw0nc0cgidzn80zl58hhs6x3svpnbssn0v"; depends=[ggplot2 network knitr RColorBrewer ape reshape2 sna plyr ggmap scales rjson networkDynamic]; };
+  OutlierDC = derive { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[survival quantreg Formula]; };
+  OutlierDM = derive { name="OutlierDM"; version="1.0-0"; sha256="1yphr47nswcaqa5pfamc3ksqcxwhxl388sdml2aqjjfd9w29lf2g"; depends=[quantreg MatrixModels outliers pcaPP]; };
+  outliers = derive { name="outliers"; version="0.14"; sha256="0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"; depends=[]; };
+  OUwie = derive { name="OUwie"; version="1.43"; sha256="1ixyws6q9p8kms3smzj8rkmsry2y4s9al4vhxpqfmbgypigq7n9k"; depends=[ape nloptr numDeriv corpcor lattice phytools phangorn]; };
+  overlap = derive { name="overlap"; version="0.2.3"; sha256="0d41fhdbm009j53hq4cm2dz04wlh955c4q80dw1d1wcyjz627n49"; depends=[]; };
+  oz = derive { name="oz"; version="1.0-20"; sha256="1d420606ldyw2rhl8dh5hpscvjx6vanbq0hrg81m7b6v0q5rkfri"; depends=[]; };
+  p2distance = derive { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; };
+  p3state_msm = derive { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; };
+  pa = derive { name="pa"; version="1.2-1"; sha256="1pfgzxirkb0p8f6smjlrbp1qpsh0vsvqf306cvldaj9zx8cw0q9f"; depends=[ggplot2]; };
+  pacbpred = derive { name="pacbpred"; version="0.92.2"; sha256="13p405vh9rf1r5idxl5payc85vwlzcd87wm15163vc9gmil1ncsf"; depends=[]; };
+  pack = derive { name="pack"; version="0.1-1"; sha256="0x4p8clwp49s2y67y7in530xwhjngnqwagf9xnyb1jp0z3myd3r7"; depends=[]; };
+  packClassic = derive { name="packClassic"; version="0.5.2"; sha256="04a1sg9vx3r0sq54q9kj0kpahp6my246jy3bivgy09g5fjk0dmkj"; depends=[]; };
+  packdep = derive { name="packdep"; version="0.3.1"; sha256="1827h9xcvgdad9nwz9k3hi79jc33yr7dnxy4xn2frp3fdh4q81ll"; depends=[igraph]; };
+  packHV = derive { name="packHV"; version="1.8"; sha256="0dr2picjd7mm633vw29524f3n4jpyillpzi9cg7yc2cymxnrgvyg"; depends=[survival WriteXLS]; };
+  packS4 = derive { name="packS4"; version="0.9.1"; sha256="01kkw5g3xcn9hhfglmfvwsryid0w4vw9azh6as8l8d5i1xjyp9k7"; depends=[]; };
+  pacose = derive { name="pacose"; version="1.4"; sha256="10dpqafbq5iwfhx9xf6l902y23p2w4mvaclkhrcz2d89njakcnaz"; depends=[ggm igraph ppls MASS corpcor glmnet mvtnorm lcd]; };
+  paf = derive { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
+  PAGI = derive { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; };
+  PAGWAS = derive { name="PAGWAS"; version="1.0"; sha256="1zwq4b0bgsskzvlapffh30ys9y4wlcfwpjqw8m2i9zabib5knx9i"; depends=[lars doMC mnormt]; };
+  pairedCI = derive { name="pairedCI"; version="0.5-4"; sha256="03wf526n3bbr2ai44zwrdhbfx99pxq1nbng9wsbndrdg2ji4dar2"; depends=[]; };
+  PairedData = derive { name="PairedData"; version="1.0.1"; sha256="025h5wjsh9c78bg6gmg6p6kvv2s6d5x7fzn3mp42mlybq0ry78p0"; depends=[MASS gld mvtnorm lattice ggplot2]; };
+  pairheatmap = derive { name="pairheatmap"; version="1.0.1"; sha256="1awmqr5n9gbqxadkblpxwcjl9hm73019bwwfwy1f006jpn050d6l"; depends=[]; };
+  PairViz = derive { name="PairViz"; version="1.2.1"; sha256="0mjp5p6n5azbhrm2hvb9xyqjfhd49pw9ia8k70749yc96ws1qqc7"; depends=[TSP gtools]; };
+  pairwise = derive { name="pairwise"; version="0.2.5"; sha256="0r08v95f6f2safi6c0x84v5gib5qnkv46dmi97rdb9l2xzly249b"; depends=[]; };
+  pairwiseCI = derive { name="pairwiseCI"; version="0.1-22"; sha256="1lgir9gcikx8c9pd2wdsqnik9rwr4qkymcf4ndp8s491vj6cm6sa"; depends=[MCPAN coin boot mratios binMto MASS]; };
+  palaeoSig = derive { name="palaeoSig"; version="1.1-2"; sha256="0f5y69zzb32zi3kdy8jpcvz3i38nmmi0d9ajs44jrq4rkhhhwq3v"; depends=[rioja vegan TeachingDemos gstat fields mapproj]; };
+  paleobioDB = derive { name="paleobioDB"; version="0.1"; sha256="0ax5mzfvrxwg82brc4589bkd7cl8iy254iq6sjs9cr3d7x0zyahz"; depends=[maps raster rjson gtools RCurl plyr scales]; };
+  paleofire = derive { name="paleofire"; version="1.1.3"; sha256="0k46pq16chrp5gcp5gd5vph9zj17ci4yb1lgyrwrm8qnvydi1nkp"; depends=[GCD rworldmap locfit gtools caTools pscl Imap RCurl devtools raster sp rgdal ggplot2 lattice RColorBrewer agricolae plyr]; };
+  paleoMAS = derive { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[MASS vegan lattice]; };
+  paleotree = derive { name="paleotree"; version="2.0"; sha256="06bi9wikgb9szlhf747ijnqikv87svlf579w4hx9yplc8m44br1s"; depends=[ape phangorn]; };
+  paleoTS = derive { name="paleoTS"; version="0.4-4"; sha256="19acfq5z42blk6ya7sj3sprddlgvhrzb9zqpvpy4q8siqkxxrjah"; depends=[mvtnorm]; };
+  palinsol = derive { name="palinsol"; version="0.92"; sha256="1jxy3qx8w1r8jwgdavf37gqjjqpizdqk218xcc7b77xi8w52vxpg"; depends=[gsl]; };
+  PamGeneMixed = derive { name="PamGeneMixed"; version="1.03"; sha256="0pg19nnn8d23mqw7aw1wqijcgfavvixr42p51iz0m931ig3sg4ki"; depends=[mgcv gplots nlme]; };
+  pamm = derive { name="pamm"; version="0.7"; sha256="02py4zcymmwnlpsvha5cgc4ik8fp0gbsg86s5q7z5fl3ma3g669j"; depends=[lme4 mvtnorm gmodels]; };
+  pamr = derive { name="pamr"; version="1.54.1"; sha256="05jm67y329z4qcsacd9mc7hcq7g6icf2mi53nranmkgcnhwvr78k"; depends=[cluster survival]; };
+  pan = derive { name="pan"; version="0.9"; sha256="1payx5bzs0hp3f176ia56y4a9pym8p4h7ap5wag2symlvprzppah"; depends=[]; };
+  pander = derive { name="pander"; version="0.3.8"; sha256="0ka9cjwmvr79rbymww9m36l7z0rdf8xkxvc6r2y5lm6mpzx1s13i"; depends=[digest]; };
+  panelAR = derive { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; };
+  Paneldata = derive { name="Paneldata"; version="1.0"; sha256="00hk340x5d4mnpl3k0hy1nypgj55as2j7y2pgzfk3fpn3zls5zib"; depends=[]; };
+  papeR = derive { name="papeR"; version="0.4-0"; sha256="0w1pqmgaa15x4vxr4msw5fwmd42kgrhniy2h7wvpyyvgzxfvb0s3"; depends=[car nlme lme4 survival gmodels]; };
+  ParallelForest = derive { name="ParallelForest"; version="1.1.0"; sha256="1xa9lfgrvzv7bvv1aaabcfk4372p8x5gxgj463h5ggf9x177lj5j"; depends=[]; };
+  parallelize_dynamic = derive { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; };
+  parallelMap = derive { name="parallelMap"; version="1.1"; sha256="1h3im52ia29m1qv4dcvw1zxciv3v9b9fq2difg6cs9apdn0fvlz8"; depends=[BBmisc checkmate fail]; };
+  parallelMCMCcombine = derive { name="parallelMCMCcombine"; version="1.0"; sha256="05krkd643awqhfrylq9lxr2cmgvnm1msn2x8p1l1483n2gzyklz7"; depends=[mvtnorm]; };
+  ParamHelpers = derive { name="ParamHelpers"; version="1.3"; sha256="15dbqsr5sp16wq0nqi07gkkqc1drb87s5yw54s3dv1mg6bn4az7k"; depends=[BBmisc checkmate]; };
+  paramlink = derive { name="paramlink"; version="0.9-6"; sha256="0pazllkjbqzvl9vmpvr67lkcsd960mipcd1p1nf00y8hknrwh7qp"; depends=[kinship2 maxLik]; };
+  paran = derive { name="paran"; version="1.5.1"; sha256="0nvgk01z2vypk5bawkd6pp0pnbgb54ljy0p8sc47c8ibk242ljqk"; depends=[MASS]; };
+  parboost = derive { name="parboost"; version="0.1.3"; sha256="1ziqbbcxvhc3v0vjpf9y6jhk3rqbgn9cilwcfxlxjbw73jhvvclg"; depends=[mboost party iterators plyr caret glmnet doParallel]; };
+  parcor = derive { name="parcor"; version="0.2-4"; sha256="0zz1i3cm1gy2bx77hpydk0wlsr60nanjx57g0zr5wm01imkk99wa"; depends=[MASS glmnet ppls Epi GeneNet]; };
+  ParDNAcopy = derive { name="ParDNAcopy"; version="1.3"; sha256="1y0fl5gj3d3xj6krfyg48fs9vz3s4jb61js0b7yfzgv6a3289g5a"; depends=[]; };
+  ParentOffspring = derive { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; };
+  ParetoPosStable = derive { name="ParetoPosStable"; version="1.0.2"; sha256="1a42s9lhzzimvlxdpbd8dfqc5a936f1s31d040fwgs8i3qfpfjwp"; depends=[ADGofTest lmom]; };
+  parfm = derive { name="parfm"; version="2.5.6"; sha256="1zas6isgirha379f246zg84ddv0jl2n4795brshd98hkayl4c1fi"; depends=[survival eha msm]; };
+  parfossil = derive { name="parfossil"; version="0.2.0"; sha256="12gsc5n4ycvhzxvq5j0r3jnnrzw1q412dbvmakipyw2yx2l2s7jn"; depends=[fossil foreach]; };
+  parma = derive { name="parma"; version="1.5-1"; sha256="0qrq3bx0amri9b3s6bym4znnk140jjd2abnvqyihaj4bf2glbl0g"; depends=[nloptr slam Rglpk quadprog FRAPO corpcor]; };
+  parmigene = derive { name="parmigene"; version="1.0.2"; sha256="1fsm6pkr17jcbzkj1hbn91jf890fviqk1lq6ls8pihsdgah1zb4d"; depends=[]; };
+  parspatstat = derive { name="parspatstat"; version="0.1-4"; sha256="14rcw2lzqwdjg4avjw3d6ivgdglkkagdh6pnd7bprkkdv8i5a9h2"; depends=[Rmpi spatstat]; };
+  partDSA = derive { name="partDSA"; version="0.9.5"; sha256="0zblwjzwhalcnbmgwnqxpq7ixf4xhgx9lpf0lk3krry3di537s0q"; depends=[survival]; };
+  partialOR = derive { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; };
+  partitionMap = derive { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; };
+  partitionMetric = derive { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; };
+  partitions = derive { name="partitions"; version="1.9-15"; sha256="0jgpknm4zah50w9i3fbq2f1whm4hywm2j72vxc3ignx1snx2z0gs"; depends=[gmp polynom]; };
+  partsm = derive { name="partsm"; version="1.1-2"; sha256="0cv3lgkdkn97bc85iwlv9w5pmqwwwsgb717zxnbgb5mzf4xn3f3g"; depends=[]; };
+  party = derive { name="party"; version="1.0-15"; sha256="159k6pq5in9608m6y007vhlvlhd98z1m75i727c7k1vjj0rxsdf1"; depends=[zoo sandwich strucchange modeltools survival coin]; };
+  partykit = derive { name="partykit"; version="0.8-0"; sha256="083lwaz38d40qdhlhf33vplykx1m3ham0q8r7pmwivj09nbfkmya"; depends=[survival]; };
+  parviol = derive { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; };
+  PAS = derive { name="PAS"; version="1.2"; sha256="0q5g9j8xb9fl7r8f1w5gk5h83ll5w1r6m2gq9ilw8w8s96pm4xd8"; depends=[glmnet]; };
+  pass = derive { name="pass"; version="1.0"; sha256="00dzwg2lnzmrrmzq3fyrs4axswgnsn7f62l2f2a8d8gyf8qzz3nf"; depends=[MASS lars ncvreg]; };
+  pastecs = derive { name="pastecs"; version="1.3-18"; sha256="0ixlnc1psgqgm71bsf5z5j65lvr92ghpsk9f1ifm94dzjhi6d22i"; depends=[boot]; };
+  pastis = derive { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[caper ape]; };
+  PASWR = derive { name="PASWR"; version="1.1"; sha256="1rxymnqvflypc6m62f5vw65l8x1m2yah7r11hhpmzdq2l2sg8fci"; depends=[e1071 MASS lattice]; };
+  patchDVI = derive { name="patchDVI"; version="1.9.1601"; sha256="0vv1rmmd78n2r14dsl9fx25v6ym9mav557ya0aagr548wqcajf0m"; depends=[]; };
+  patchPlot = derive { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; };
+  pathClass = derive { name="pathClass"; version="0.9.4"; sha256="1vzmz3bml37wfxsjhkw9fip90sr1iv521ccr7nlf6xd30wavqywk"; depends=[svmpath kernlab ROCR igraph lpSolve]; };
+  pathdiagram = derive { name="pathdiagram"; version="0.1.9"; sha256="1j2h9mmwfi95nwhk9214kcfpb1qrmw249mjaza7i9gijmlicraxz"; depends=[shape]; };
+  pathmox = derive { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; };
+  PatternClass = derive { name="PatternClass"; version="1.5"; sha256="1paw39xm2rqjnc7pnbya7gyl160kzl56nys9g0y1sa6cqycy3y5x"; depends=[SDMTools]; };
+  pavo = derive { name="pavo"; version="0.5-1"; sha256="189kshc5dm02qv0rm1dlcxrhvga4yhlkn3yyj3rjhmrags4rmwcb"; depends=[rgl rcdd mapproj geometry]; };
+  pawacc = derive { name="pawacc"; version="1.2"; sha256="1a9dzym02rfymjqw1rnp0hri50ysdnax171x5whi5j7fmvmc9rk5"; depends=[SparseM]; };
+  PAWL = derive { name="PAWL"; version="0.5"; sha256="1sx4g4qycba2j1fm0bvhz3hk6ghhdc37rz5zi1njqxrpmbnkqg04"; depends=[mvtnorm foreach reshape ggplot2]; };
+  pbapply = derive { name="pbapply"; version="1.1-1"; sha256="1dshpnnmq1g2v223qy7pgbxydy9sqj04zwqxvzylm4mqc91ks4n2"; depends=[]; };
+  pbatR = derive { name="pbatR"; version="2.2-9"; sha256="1p8rj0lzm4pp1svgy7xia2sclkngzfjbgbikq94s6v92d582wncw"; depends=[survival rootSolve]; };
+  PBC = derive { name="PBC"; version="1.2"; sha256="1z08y5sn6i439811c9mq3bs78zqlzzkz0srmv4wld68bywhmwqj4"; depends=[igraph Rcpp copula]; };
+  PBD = derive { name="PBD"; version="1.0"; sha256="1q8ijjmcwxi8f3wgggpj4y522wmxady7f60frhlvvixhzfn2iml1"; depends=[deSolve ade4 ape DDD]; };
+  pbdBASE = derive { name="pbdBASE"; version="0.2-3"; sha256="1zfz45fnjmp8yz4nlac9q1d49gpczkl2b0rz2s33jbv5i32z3yvs"; depends=[rlecuyer pbdMPI pbdSLAP]; };
+  pbdDEMO = derive { name="pbdDEMO"; version="0.2-0"; sha256="0vilri4d25mb339zsgh1zypyqxv1vzfdc8b8ivqi5yz1nrzm05gz"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE pbdDMAT]; };
+  pbdDMAT = derive { name="pbdDMAT"; version="0.2-3"; sha256="18x607r0gx1nnw9p305ci5sfcxbi5zdr2b6yf9y6vqjsckicnw62"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE]; };
+  pbdMPI = derive { name="pbdMPI"; version="0.2-4"; sha256="035b1wg7an1sjfbk6giv4n8znhxg8l0rnqf14c982d9fbcfbxf47"; depends=[rlecuyer]; };
+  pbdNCDF4 = derive { name="pbdNCDF4"; version="0.1-4"; sha256="0fd29mnbns30ck09kkh53dgj24ddrqzks4xrrk2hh1wiy7ap1h95"; depends=[]; };
+  pbdPROF = derive { name="pbdPROF"; version="0.2-3"; sha256="0vk29vgsv7fhw240sagz0szg0wb649sqc05j1aj027zvz931vfl8"; depends=[ggplot2 gridExtra reshape2]; };
+  pbdSLAP = derive { name="pbdSLAP"; version="0.1-9"; sha256="118fy8316p3ahshq0wcwqj20v019dgbgx9wlz7vq35zg5i2fwccw"; depends=[rlecuyer pbdMPI]; };
+  PBImisc = derive { name="PBImisc"; version="0.999"; sha256="0igwl78wj8w6jzmk5m8y9rf4j72qrcjyhb83kz44is72ddzsyss6"; depends=[MASS lme4 Matrix]; };
+  pbivnorm = derive { name="pbivnorm"; version="0.5-1"; sha256="18ry0qz0ryazplv5iwdvbfngn0zv7frqp16nc2x70s0wf3izxkwr"; depends=[]; };
+  pbkrtest = derive { name="pbkrtest"; version="0.4-0"; sha256="1mpcqciqgljjw60yccpb368a0h1casxijqjdwp3s1wi03ixp8iqz"; depends=[MASS lme4 Matrix]; };
+  pbo = derive { name="pbo"; version="1.3.4"; sha256="0v522z36q48k4mx5gym564kgvhmf08fsadp8qs6amzbgkdx40yc4"; depends=[lattice]; };
+  pbs = derive { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; };
+  PBSadmb = derive { name="PBSadmb"; version="0.68.104"; sha256="01akimdsp0bkvz3a5d75yyy3ph0mff85n8qsnr59fla5b5cm4qlj"; depends=[PBSmodelling]; };
+  PBSddesolve = derive { name="PBSddesolve"; version="1.11.29"; sha256="13vprr66hh5d19xambpyw7k7fvqxb8mj5s9ba19ls7xgypw22cmm"; depends=[]; };
+  PBSmapping = derive { name="PBSmapping"; version="2.67.60"; sha256="1n9c9fglsnch5jw248yyvy2vrq3wgca0wdkdwwhfc3n7yw83mwkr"; depends=[]; };
+  PBSmodelling = derive { name="PBSmodelling"; version="2.66.264"; sha256="08plp74cjzmgv3dkaxgryqq1yqp0z7pdlz9jqgai8w89vwi0il35"; depends=[]; };
+  pca3d = derive { name="pca3d"; version="0.2"; sha256="1x7fi9c4gijv34hr2bgsp872v5hknwidrh4q4blvvqknfl1w3clr"; depends=[rgl]; };
+  pcaL1 = derive { name="pcaL1"; version="1.2.1"; sha256="00jfsbhnpq5mvnmpv066w1nhz2lhv55imgbl2z7dza9b8gxb88ry"; depends=[]; };
+  pcalg = derive { name="pcalg"; version="2.0-3"; sha256="1vfrqm8hjdprsdqpik6a4zhv4yxyqyqa3dr2226qkm5ijblrcmwx"; depends=[abind igraph ggm corpcor robustbase vcd Rcpp]; };
+  PCAmixdata = derive { name="PCAmixdata"; version="2.1"; sha256="12g6pkp9yffp1arqdvnx721cn34h0a7m3bm2ayd9fsrvbaqb7ci8"; depends=[]; };
+  pcaPA = derive { name="pcaPA"; version="1.2"; sha256="1acfhv6225r0d8m45z7dlx78lmypdlh1cg4irvf8b3av0qv12g5x"; depends=[polycor ltm ggplot2 mc2d]; };
+  pcaPP = derive { name="pcaPP"; version="1.9-49"; sha256="0yk97r0rwkppnzp0kc1j3hcp4n2dr8765mbmvlaikjgwhlhbby4q"; depends=[mvtnorm]; };
+  PCDSpline = derive { name="PCDSpline"; version="1.0"; sha256="15kmvcwvwlsr1107n7mfajvf9b1kcslnhsdx0drjjhsvq193qrqa"; depends=[nleqslv matrixcalc]; };
+  pcenum = derive { name="pcenum"; version="1.0.1"; sha256="0jcwggxcnlbx75lwwpaldv28sgmhxa46rny94sji37hq3zil8yhw"; depends=[]; };
+  pcg = derive { name="pcg"; version="1.1"; sha256="194j72hcp7ywq1q3dd493pwkn1fmdg647gmhxcd1jm6xgijhvv87"; depends=[]; };
+  PCGSE = derive { name="PCGSE"; version="0.2"; sha256="19bpnn1b8ihmf52zh9g9pc38130np1ki8l7wf0j5myw2cnw6fna8"; depends=[RMTstat MASS]; };
+  PCICt = derive { name="PCICt"; version="0.5-4"; sha256="1g17hxs00dlnb6p0av6l7j99qy00555f80nk1i1i1x87fszp3axa"; depends=[]; };
+  pcIRT = derive { name="pcIRT"; version="0.1"; sha256="0vfbbmnp4jyrbi5d9gz1krh707aazbrqfcgc3rjrwwyjld11wyzn"; depends=[combinat]; };
+  PCIT = derive { name="PCIT"; version="1.04-5"; sha256="10fnkad09y7vh8j3c5kgkh64lwqn2nsl5818rzl9b8d51f951qjg"; depends=[]; };
+  pcnetmeta = derive { name="pcnetmeta"; version="1.2"; sha256="18ha74i6azgkb8wzjgs8c55fi386a1z9n5bm1llb8mk089h2gx8j"; depends=[R2jags network runjags]; };
+  PCovR = derive { name="PCovR"; version="2.5"; sha256="1as3qd2gqznfy95mil8k31nkqrf36sgpja5s9zdwvk0vpaxv1fr7"; depends=[GPArotation ThreeWay MASS Matrix]; };
+  PCPS = derive { name="PCPS"; version="1.0.1"; sha256="1av0mfv54ig1blq0228nlzgvjndrg711ip6xfq2886qhypcapgd5"; depends=[SYNCSA vegan ape picante phylobase plotrix]; };
+  pcrcoal = derive { name="pcrcoal"; version="1.1"; sha256="17mm13xpmghachiqr7v2691jk39mbfsadpg028gs3iiwmh0pksa0"; depends=[ape ggplot2 phylosim]; };
+  PCS = derive { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[statmod]; };
+  pcse = derive { name="pcse"; version="1.9"; sha256="04vprsvcmv1ivxqrrvd1f8ifg493byncqvmr84fmc0jw5m9jrk3j"; depends=[]; };
+  pdc = derive { name="pdc"; version="0.5"; sha256="1fx8y2irhklpkhxljy6vkg28i2xhprnhzrfrmxvmggpfk8xca8by"; depends=[]; };
+  pdfCluster = derive { name="pdfCluster"; version="1.0-2"; sha256="0kbci54dlzn736835fh18xnf2pmzqrdmwa3jim29xcnwa1r2gklb"; depends=[geometry]; };
+  pdfetch = derive { name="pdfetch"; version="0.1.5"; sha256="16al3db30nv25b0559n1mia3ragc494pn96sqc8hw99p50mrqgab"; depends=[zoo xts RCurl XML lubridate jsonlite reshape2]; };
+  pdist = derive { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; };
+  pdmod = derive { name="pdmod"; version="1.0"; sha256="1czpaghp2lcad4j6wxswdfw0n9m0phngy966zr4fr3ciqpx3q129"; depends=[mco]; };
+  PDSCE = derive { name="PDSCE"; version="1.2"; sha256="17lc6d8ly6jbvjijpzg45dvqrzrh5s1sp415nycazgpbg9ypwr2h"; depends=[]; };
+  peacots = derive { name="peacots"; version="1.0"; sha256="1wc2651n34jn88711g295hzyd04ay4gabigh1xcw3m9gpvqnag1k"; depends=[]; };
+  Peaks = derive { name="Peaks"; version="0.2"; sha256="0a173p5cdm1jnm7bwsvjpxh4dccy593g02c4qjwky1cgzy5rvin2"; depends=[]; };
+  pear = derive { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; };
+  pearson7 = derive { name="pearson7"; version="1.0"; sha256="0dz5zf3k6bwj460gna6ak7hwdrsjinhv2ckkgqrycilfsx1w5h44"; depends=[]; };
+  PearsonDS = derive { name="PearsonDS"; version="0.97"; sha256="0bsdj4zir12zkv8yhq1z6dqjzhkb9l0f88jrr4iyclns1pcqvrvi"; depends=[]; };
+  PearsonICA = derive { name="PearsonICA"; version="1.2-4"; sha256="0jkbqha1nb9pf72ffki47wymsdmd50smkdhvpzvanv4y2rmqfhvg"; depends=[]; };
+  pec = derive { name="pec"; version="2.2.9"; sha256="0qvkmm8k2bg6sg42csrk6sn5qa1bvnmn8q485sxc11lqgxvic2jx"; depends=[prodlim survival rms foreach]; };
+  pedantics = derive { name="pedantics"; version="1.5"; sha256="0m5jxzkf1pf657q2klv6idnywg18ki962666nj7sfyl4rq06xhsi"; depends=[MasterBayes MCMCglmm kinship2]; };
+  PedCNV = derive { name="PedCNV"; version="0.1"; sha256="09qxcjzwdgzdkbj28rzmfv7k3q2qsiapnvx3m45a835r57h5gynp"; depends=[Rcpp RcppArmadillo ggplot2]; };
+  pedgene = derive { name="pedgene"; version="2.1"; sha256="0nmp1s0i5b4h45p3f4rvvixjz8sgv56as3c85rvv3a8xwfd1gcxq"; depends=[Matrix CompQuadForm survey kinship2]; };
+  pedigree = derive { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[Matrix HaploSim reshape]; };
+  pedigreemm = derive { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
+  pedometrics = derive { name="pedometrics"; version="0.1-9"; sha256="1szp3mp24y32kz24p1c8mzdljqdl61fwnd3q1d5kqwg85amifa12"; depends=[spsurvey xtable XML stringr sp car pbapply MASS plyr lattice latticeExtra VecStatGraphs2D mvtsplot]; };
+  pegas = derive { name="pegas"; version="0.5-1"; sha256="0imn9n0y9nxp8vv1nz3qg9vmb5bdzxm596fxxg4hcgw7am6ap2sq"; depends=[ape adegenet]; };
+  PEIP = derive { name="PEIP"; version="1.7"; sha256="1bagi1kr8vd3b3r524vrk747bqmd9insny1nxj8bdvdk0a9yr949"; depends=[bvls Matrix RSEIS pracma]; };
+  PEMM = derive { name="PEMM"; version="1.0"; sha256="18dd9hsbdrnhrrff7gpdqrw2jv44j8lg0v3lkcdpbd4pppcaq84h"; depends=[]; };
+  penalized = derive { name="penalized"; version="0.9-42"; sha256="160ypgfcbdxcrgrhq99rgxl1wgn7854y64820nkvmfpc0ady7s4q"; depends=[survival survival]; };
+  penalizedLDA = derive { name="penalizedLDA"; version="1.0"; sha256="1ib33l5nqmvi6qn9ykybkdpc0pp55k1b6x4vqpklzp3dgckg0lp6"; depends=[flsa]; };
+  penalizedSVM = derive { name="penalizedSVM"; version="1.1"; sha256="0zc36cgcrdy4rwhg4hhhahymqfalvc5v2zmqq56ikz5blln82qvq"; depends=[e1071 MASS corpcor statmod tgp mlegp lhs]; };
+  pencopula = derive { name="pencopula"; version="0.3.5"; sha256="1cy36pprbrfabk9n3x4d1xbj1vd2dda7xq3ihj2hzniwn77j63wi"; depends=[lattice fda quadprog latticeExtra]; };
+  pendensity = derive { name="pendensity"; version="0.2.7"; sha256="1f7v0dqcip6mvza9h6j1ajkc6awjs0g8i07v529xn7fhygzwwccr"; depends=[lattice fda]; };
+  penDvine = derive { name="penDvine"; version="0.2.2"; sha256="054vw99z68pk0bi4yzdmvx13x8n75sj2371l8w2yady1lqjj4qi7"; depends=[lattice quadprog TSP fda Matrix]; };
+  PenLNM = derive { name="PenLNM"; version="1.0"; sha256="1xkz39cdp9dr8iq1cjiv862sda4zy737gvbwxxsykw15256lklmf"; depends=[remMap MASS Matrix]; };
+  penMSM = derive { name="penMSM"; version="0.97"; sha256="0jpmsc950mgnjwlbzy00zsw0xihmmml56nmlgmrxpfzaxq0657ay"; depends=[]; };
+  pensim = derive { name="pensim"; version="1.2.9"; sha256="10nrnxwfs41bhybs7j6xgnx0pq3c802n9k8irngmh8iy4w3wbhrq"; depends=[penalized MASS]; };
+  peperr = derive { name="peperr"; version="1.1-7"; sha256="01a6sxcmb8v2iz2xdwhdnr92k3w2vn3hr0hg9b6mkpzjf4n45q3k"; depends=[snowfall survival]; };
+  peplib = derive { name="peplib"; version="1.5.1"; sha256="1bdgmwbk76ryl5gxcgf3slds92yilg9p1x1lx0hnzzwcgx99wif3"; depends=[]; };
+  PepPrep = derive { name="PepPrep"; version="1.0.0"; sha256="1nrf0q1w9xsv7yp8zm9gbbbn9wg8brbix45m64gvrb9izrx3p09k"; depends=[stringr]; };
+  peptider = derive { name="peptider"; version="0.1.5"; sha256="1jlvzfm1i7yyplwgsp08x3sx07gmkv24ri8jrlkz6jspj9w90dwq"; depends=[discreteRV plyr dplyr]; };
+  Peptides = derive { name="Peptides"; version="0.4"; sha256="1841cfx6i2yc5142j1160aandvlrljvfxx79clylj5k9yavpj8rc"; depends=[seqinr]; };
+  pequod = derive { name="pequod"; version="0.0-3"; sha256="14nag0bd2icg294y7n47c6xlw54rrdia887d2ni6achjqgwvffzh"; depends=[ggplot2 car]; };
+  perARMA = derive { name="perARMA"; version="1.5"; sha256="1d9vrxv8r6qgxhaz3pv8n34c526gi5cd8w7wxy9qc914y8kplmzr"; depends=[corpcor gnm matlab Matrix signal]; };
+  PerfMeas = derive { name="PerfMeas"; version="1.1"; sha256="1b49p5lvnshrinf08v9c6nriycrspy569v5akjpffyqi2badr82b"; depends=[]; };
+  PerformanceAnalytics = derive { name="PerformanceAnalytics"; version="1.1.0"; sha256="082lh4g9lngbj1chmd23ax1603apnpwh7blml6vq6z3lic59qqgy"; depends=[zoo xts]; };
+  performanceEstimation = derive { name="performanceEstimation"; version="0.1.1"; sha256="1km2ljsy8hj9x6xr9am0f4wzihlhbyxhcss7kcxbimxvcv0a479n"; depends=[ggplot2]; };
+  perm = derive { name="perm"; version="1.0-0.0"; sha256="0075awl66ynv10vypg63fcxk33qzvxddrp8mi4w08ysvimcyxijk"; depends=[]; };
+  PermAlgo = derive { name="PermAlgo"; version="1.0"; sha256="1dc4b5pn77av80k6pgh9k0ksvv9lnjqiwdb2jv55nm0ndycw0qr4"; depends=[]; };
+  PerMallows = derive { name="PerMallows"; version="1.3"; sha256="08bgy8k2xcb61kyqxdskz8x0cfw27cypp1r470lvld544r4x0hp1"; depends=[Rcpp]; };
+  permGPU = derive { name="permGPU"; version="0.14.6"; sha256="1h01nfq8hn7i29xanma70q6s5mj83znbb2lg9x7bjgdrgj38vy2m"; depends=[RUnit foreach survival]; };
+  permtest = derive { name="permtest"; version="1.2"; sha256="1sciyjs840h004zg8bwclq0j0n22anvjvx3fz62y4dzblrynhrci"; depends=[]; };
+  permute = derive { name="permute"; version="0.8-3"; sha256="0zc3b3cl7q7y9pglc690ldg6p7bl7d1h7xkwnqqmvrpn7cq29rdb"; depends=[]; };
+  PERregress = derive { name="PERregress"; version="1.0-8"; sha256="1rhridhfgvrz14h61psfyr5ll13fvxj4b9fwrnlnc6lyqi01wjlc"; depends=[]; };
+  perry = derive { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; };
+  persiandictionary = derive { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
+  perturb = derive { name="perturb"; version="2.05"; sha256="18ydmmp8aq4rf9834dmsr4fr9r07zyn97v8a1jqz3g9njza983la"; depends=[]; };
+  pesticides = derive { name="pesticides"; version="0.1"; sha256="1w180hqqav0mh9sr9djj94sf55fzh4r373a7h08a2nz9nyjpq09w"; depends=[]; };
+  PET = derive { name="PET"; version="0.4.9"; sha256="1ijg6mfh3xrc1gjh6a4nq64psk9yh16yc8nfp7c9837xbjigqq7f"; depends=[adimpro]; };
+  PF = derive { name="PF"; version="9.5"; sha256="1y99brdabj78s5kxyv0136s40kaaj3zya9lk4qd0kqk83z2gdawp"; depends=[xtable RColorBrewer gdata]; };
+  pfa = derive { name="pfa"; version="1.0"; sha256="116mpfdmfyd0p5j33rjw1xwxyyaccagbrpw7jbh4x996s057mql4"; depends=[lars POET quantreg]; };
+  pgam = derive { name="pgam"; version="0.4.12"; sha256="0vhac2mysd053bswy3xwpiz0q0qh260hziw6bygpf83vkj94qf2v"; depends=[]; };
+  pgirmess = derive { name="pgirmess"; version="1.5.9"; sha256="1n58r5ghd2ppnid6787gd1n18f23pf0fk7yr3vagcqpzv4pk0wic"; depends=[boot nlme rgdal sp spdep splancs]; };
+  pglm = derive { name="pglm"; version="0.1-2"; sha256="1arn2gf0bkg0s59a96hyhrm7adw66d33qs2al2s0ghln6fyk8674"; depends=[maxLik plm statmod]; };
+  pGLS = derive { name="pGLS"; version="0.0-1"; sha256="1rlk8q09sikf4vpzsx0c7s6qqh2hxf8dy2bgcm4nnkbv2nfjz438"; depends=[MASS]; };
+  PGM2 = derive { name="PGM2"; version="1.0"; sha256="18azh6k271p9dvc23q402pv7wrilr1yk02vqqy6qjppnvq6jxahg"; depends=[]; };
+  pgmm = derive { name="pgmm"; version="1.1"; sha256="0ajdcnxxy18ifidid4xnq9a03bsrvcbh3dh2vhviggkhq8gji1dn"; depends=[]; };
+  pgnorm = derive { name="pgnorm"; version="1.1"; sha256="0fxx9wvzinh17cxy74xms6dbabifav0wsi2cl0wdfykpbwalmszk"; depends=[]; };
+  pgs = derive { name="pgs"; version="0.4-0"; sha256="1zf5sjn662sds3h06zk5p4g71qnpwp5yhw1dkjzs1rs48pxmagrx"; depends=[gsl R2Cuba]; };
+  phalen = derive { name="phalen"; version="1.0"; sha256="0awj9a48dy0azkhqkkzf82q75hrsb2yw6dgbsvlsb0a71g4wyhlr"; depends=[sqldf]; };
+  phangorn = derive { name="phangorn"; version="1.99-7"; sha256="1q6a6md52d2f9xlrs5wv9crncwxh9a4x6zfxmdbsvrlwmgsbzvcx"; depends=[ape quadprog igraph Matrix fastmatch]; };
+  PharmPow = derive { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; };
+  phaseR = derive { name="phaseR"; version="1.3"; sha256="1hwclb7lys00vc260y3z9428b5dgm7zq474i8yg0w07rxqriaq2h"; depends=[deSolve]; };
+  PhaseType = derive { name="PhaseType"; version="0.1.3"; sha256="092dqyqfaxj8qpwxcjb5cayhnq597rfjz1xb93ps4nrczycqs0l6"; depends=[coda ggplot2 reshape]; };
+  phcfM = derive { name="phcfM"; version="1.2"; sha256="0i1vr8rmq5zs34syz2vvy8c9603ifzr9s5v2izh1fh8xhzg7655x"; depends=[coda]; };
+  pheatmap = derive { name="pheatmap"; version="0.7.7"; sha256="0zj6n6cjkim20apihl943rhzxlmkmpqwh00l6h2c8z04m3pv186v"; depends=[RColorBrewer]; };
+  phenability = derive { name="phenability"; version="1.0"; sha256="19vxknc0v8vz5cd748fhsndsrpggzlsiims9j7p2s6jlankkgsz9"; depends=[calibrate]; };
+  phenex = derive { name="phenex"; version="1.0-7"; sha256="0q563cv9lskikf3ls0idp56lirw9gxn71rgxp9xn8an05gwdg0xr"; depends=[]; };
+  phenmod = derive { name="phenmod"; version="1.2-3"; sha256="0dxwx8c7zka29fq7svrvn8bghj8jh8grbrgsw4pvavx2439cldak"; depends=[gstat RColorBrewer lattice pheno]; };
+  pheno = derive { name="pheno"; version="1.6"; sha256="0xdya1g1ap7h12c6zn3apbkxr725rjhcp4gbdchkvcnwz4y9vw8c"; depends=[nlme SparseM quantreg]; };
+  pheno2geno = derive { name="pheno2geno"; version="1.2.1"; sha256="0rh4fzka453i5djsyv4c0z3x6d5r7fvyvxi6x1a1806nzy7w43hj"; depends=[qtl VGAM mixtools]; };
+  phenology = derive { name="phenology"; version="3.69"; sha256="0xyd53w162b9f2k4wkrkhi2m7fwj30ii4xjlp7l5px352x1nhylv"; depends=[fields zoo coda shiny]; };
+  PHeval = derive { name="PHeval"; version="0.5.1"; sha256="12vlfg2w27hc19f8dwvhl8r0xfwapp1r9bihq7ax3d9j7aayv217"; depends=[survival]; };
+  phia = derive { name="phia"; version="0.1-5"; sha256="0vkl4ccsdx72dwis2959f6w9zg584wfkn58fh2slybdyg9p8886a"; depends=[car]; };
+  phmm = derive { name="phmm"; version="0.7-5"; sha256="0dil0ha199yh85j1skwfdl0v02vxdmb0xcc1jdbayjr5jrn9m1zk"; depends=[survival lattice Matrix]; };
+  phom = derive { name="phom"; version="1.0.3"; sha256="0x05p6fn4kycilal65k7dy6h3w5i3ca9w93ryp4gqd4lp50l1749"; depends=[Rcpp]; };
+  phonR = derive { name="phonR"; version="0.4-2"; sha256="15hi15minbd756vplmcyf0987ppanr44kds13nny0v1h5yyv8kyx"; depends=[]; };
+  phonTools = derive { name="phonTools"; version="0.2-2.0"; sha256="1wd1a5506p3ny6vi9pq6yg9gbz082fxw4l3cxsplkdpqgkhryrww"; depends=[]; };
+  phreeqc = derive { name="phreeqc"; version="1.0-8877"; sha256="0w529qpqrjcn619bqinkdd8f02vigiwy799h7i33p7iwbf15jvzj"; depends=[]; };
+  phtt = derive { name="phtt"; version="3.1.1"; sha256="02fqg2djpvbm6id1dg8c8w1qccd2axxrhlfi4vrm8d1qcrbjkjm1"; depends=[pspline]; };
+  PhViD = derive { name="PhViD"; version="1.0.6"; sha256="17mr8gj6ic4p0xvxiva046r1gmy9azvm1s95rinxqsdd7hiak72w"; depends=[MCMCpack]; };
+  phyclust = derive { name="phyclust"; version="0.1-15"; sha256="1j643k0mjmswsvp9jyiawkjf2qhfrw6xf4s2viqv987zxif2kd7z"; depends=[ape]; };
+  phyext = derive { name="phyext"; version="0.0.1"; sha256="07hmjgp4qb3x95rbgm83sh9zwhsxjl1v5rvs39m565sc0fax1qdi"; depends=[phylobase ape]; };
+  phylin = derive { name="phylin"; version="1.0"; sha256="10pbs4adsyp43i89jb3xi0m55sl1w7ifmc98v74iq9p8xa15sdci"; depends=[]; };
+  phylobase = derive { name="phylobase"; version="0.6.8"; sha256="0xj7x4cdfp0yadvjhdkw1ai3yd081ri4gpdg0n5g0z13cjaa6mjh"; depends=[ade4 ape Rcpp]; };
+  phyloclim = derive { name="phyloclim"; version="0.9-4"; sha256="0ngg8x192lrhd75rr6qbh72pqijbrhrpizl27q0vr6hp7n9ch3zx"; depends=[ape raster]; };
+  phyloland = derive { name="phyloland"; version="1.0"; sha256="0r6rpwcq13bxa6289bfj0a0is67a49nj5npi5381090iarkwfvs7"; depends=[ape gsubfn]; };
+  phylolm = derive { name="phylolm"; version="2.1"; sha256="0g0s9n0899gbh5hhk469b3c1z8zhp9il50srnbvmfhql0cf1v22c"; depends=[ape]; };
+  phylosim = derive { name="phylosim"; version="2.1.1"; sha256="0rrz5c7zl2hjalwm6m8pydikiwmiq2dybx2yhzp0ps2bcsn02lhn"; depends=[R_oo ape compoisson ggplot2 R_methodsS3]; };
+  phylotools = derive { name="phylotools"; version="0.1.2"; sha256="19w7xzk6sk1g9br7vwv338nvszzh0lk5rdzf0khiywka31bbsjyb"; depends=[seqRFLP ape picante spaa fields]; };
+  phyloTop = derive { name="phyloTop"; version="1.1.1"; sha256="046myyr01c4zc6sfy7r6p2vswkqqqd3w4k173gjbjazl1ims1sjs"; depends=[phylobase NHPoisson ape igraph]; };
+  phyreg = derive { name="phyreg"; version="0.7"; sha256="0saynhq4yvd4x2xaljcsfmqk7da2jq3jqk26fm9qivg900z4kf35"; depends=[]; };
+  PhysicalActivity = derive { name="PhysicalActivity"; version="0.1-1"; sha256="1aqyip7psf3pdrxkpidfldkk9naihvnc7s3n6w6vvr9h1l5mpmvc"; depends=[]; };
+  phytools = derive { name="phytools"; version="0.4-21"; sha256="1mvksa62hanbnn7ndgpsgipl8ckdhnzvfsarpidpxzgsc7vwagz8"; depends=[ape maps animation clusterGeneration mnormt msm numDeriv phangorn plotrix scatterplot3d]; };
+  pi0 = derive { name="pi0"; version="1.3-250"; sha256="1561zvf1hcd05iqy245c0z23mi8ypk6q3lkfldcr55cs67w4lmz6"; depends=[LowRankQP Matrix numDeriv limSolve rgl scatterplot3d Iso quadprog kernlab]; };
+  picante = derive { name="picante"; version="1.6-2"; sha256="1zxpd8kh3ay6f3gdqkij1a6vnkr98dc1jib2r6br2kjyzshabcsd"; depends=[ape vegan nlme]; };
+  PIGE = derive { name="PIGE"; version="0.9"; sha256="1x8ml25mm69dvlszm9p2ycph92nxcsgd52ydj7ha0dwrrpcv2law"; depends=[snowfall ARTP xtable survival]; };
+  PIGShift = derive { name="PIGShift"; version="1.0.0"; sha256="15cgpi7j5cs4aqdq5cy7535x8ar916d9hd109kc01njrwxp1xr96"; depends=[ape mvtnorm]; };
+  PIN = derive { name="PIN"; version="0.8"; sha256="1hymf5106zxgbg8dki9jb7gy4vh2mjwbvzh0n2d7qkr6rm8lpmag"; depends=[]; };
+  pipeR = derive { name="pipeR"; version="0.4"; sha256="1lvi2pxb5jl874hgqp7f4vbkr306slg0lrsmbicvwg569dz5262f"; depends=[]; };
+  PIPS = derive { name="PIPS"; version="1.0.1"; sha256="1c5v3s6xys9p1q32k6mpsffhi9gwsq951rh12hs76dmak862yspc"; depends=[]; };
+  pitchRx = derive { name="pitchRx"; version="1.5"; sha256="17g7kx6gjaknb14h3l76zr128s6skgvj2i1pg83sqj5ipj55qzhr"; depends=[ggplot2 XML2R plyr MASS hexbin mgcv]; };
+  PivotalR = derive { name="PivotalR"; version="0.1.16.17"; sha256="079s4cs6awc8rbr82b1fm0096j34lbmzgnczrfclxnb2rwmn8biv"; depends=[Matrix]; };
+  pixmap = derive { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; };
+  PK = derive { name="PK"; version="1.3-2"; sha256="0162ri9wlm9inryljal48av8yxb326na94kckkigsrklfxb3wkp2"; depends=[]; };
+  PKfit = derive { name="PKfit"; version="1.2.2"; sha256="04gix9yyzfsam2zql5q9rr45zzpdz5y7i6w1lf6rqf4fgnjwfjqs"; depends=[deSolve minpack_lm]; };
+  pkgKitten = derive { name="pkgKitten"; version="0.1.0"; sha256="17gf3yiy7hq6f53sjxajnf87cg6c7ialiyfw61bj4fjbhskw92ij"; depends=[]; };
+  pkgmaker = derive { name="pkgmaker"; version="0.22"; sha256="0vrqnd3kg6liqvpbd969jjsdx0f0rvmmxgdbwwrp6xfmdg0pib8r"; depends=[registry codetools digest stringr xtable]; };
+  PKgraph = derive { name="PKgraph"; version="1.7"; sha256="0g36cdv5cblqx69j48irxjc5nlw2cl3p714mlsblnd3362z1brwn"; depends=[RGtk2 gWidgetsRGtk2 cairoDevice lattice rggobi ggplot2 proto RGtk2 gWidgetsRGtk2]; };
+  pkgutils = derive { name="pkgutils"; version="0.6.0"; sha256="0pi1xaamirsv1bwlwcvyd1hvdgbjbdmw3vg3krawsb34mynbrcff"; depends=[]; };
+  PKI = derive { name="PKI"; version="0.1-1"; sha256="1m4q43yq8ddig15k0j9yg9hq4yz3yplqp68zl3p9g2shkam60p6w"; depends=[base64enc]; };
+  PKmodelFinder = derive { name="PKmodelFinder"; version="1.1"; sha256="0v5l8j4yq6fv4cgx5psld6klwy6kjwcqg1vhf9r4i8qa12vpa1yh"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice numDeriv]; };
+  PKPDmodels = derive { name="PKPDmodels"; version="0.3.2"; sha256="1h893civ77ahbgjnc6kq3l7rszmqmx9dlxwavldigpq3r79vd86k"; depends=[]; };
+  PKreport = derive { name="PKreport"; version="1.5"; sha256="16hss9migbxpnw5f9gcw1nlvb81iyji00ylx5wd6kdwhz0ids9wj"; depends=[lattice ggplot2]; };
+  pks = derive { name="pks"; version="0.3-0"; sha256="0lvj5kfjf8wikszz1dipwr1fw9xbhy3nx0ksqz4ln240k7fn5kcj"; depends=[sets]; };
+  PKtools = derive { name="PKtools"; version="1.5-0"; sha256="0za6qgl9q9y4j87kfhvanpc9mfckzww6q2kjz7divbv8ygn5cd1m"; depends=[lattice nlme R2HTML xtable]; };
+  plan = derive { name="plan"; version="0.4-2"; sha256="0vwiv8gcjdbnsxd8zqf0j1yh6gvbzm0b5kr7m47ha9z64d7wxch6"; depends=[]; };
+  planar = derive { name="planar"; version="1.5"; sha256="1ph3q985xw1sg9cs5k1cqpr46f0svycdc1dg3pqmdrzqdi8a3gyx"; depends=[dielectric Rcpp RcppArmadillo statmod cubature reshape2 plyr]; };
+  planor = derive { name="planor"; version="0.2-0"; sha256="0mvlkrggwgrc9fmp935kihj2v7gfnghw7smpkbb3pbrrv9zhjlgi"; depends=[conf_design]; };
+  PlayerRatings = derive { name="PlayerRatings"; version="1.0-0"; sha256="0hjb05bdha00ggcpp3n4f86dxjlhzmlpwgsbbx3mhyv3qq1g32ky"; depends=[]; };
+  playitbyr = derive { name="playitbyr"; version="0.2-1"; sha256="0pi0kji32ha6csff5w2xl8f76clrxlkwws60lzqzc83avrb0930n"; depends=[csound]; };
+  playwith = derive { name="playwith"; version="0.9-54"; sha256="1zmm8sskchim3ba3l0zqfvxnrqfmiv94a8l6slcf3if3cf9kkzal"; depends=[lattice cairoDevice gWidgetsRGtk2 RGtk2 gWidgets gridBase]; };
+  plfm = derive { name="plfm"; version="1.1.1"; sha256="0vsbva2clkjn8ddinmihq1gzd8g8yjiwd11rl7xzbyabjxkp95n1"; depends=[sfsmisc abind]; };
+  plgp = derive { name="plgp"; version="1.1-5"; sha256="04kxiixm6p9s42fs775lrh8112v2m7akjp78r46l0rd8fzp3zyiq"; depends=[mvtnorm tgp]; };
+  plink = derive { name="plink"; version="1.3-1"; sha256="1g8n4fy7yx3386kgvc0kgh8gd390yl4fxs09whdl1mzz5q9sx4wp"; depends=[lattice MASS statmod]; };
+  PLIS = derive { name="PLIS"; version="1.1"; sha256="0b81s7677wglqvv1b5lx8k2iaks09kz0wrl07245a7j2pk9nxv7p"; depends=[]; };
+  plm = derive { name="plm"; version="1.4-0"; sha256="13y9s7gyrgqmnzafhn4c1zkz6gdawc8nr5nbrx0pn2mbw3fqfrjh"; depends=[Formula MASS bdsmatrix zoo nlme sandwich]; };
+  plmDE = derive { name="plmDE"; version="1.0"; sha256="19xxi0zzpxcrsdrbs0hiwqgnv2aaw1q3mi586wv27zz6lfqcr9lr"; depends=[MASS R_oo]; };
+  plmm = derive { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[sm Formula nlme]; };
+  pln = derive { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; };
+  plot2groups = derive { name="plot2groups"; version="0.10"; sha256="00mp82vvx6inlc2zj2cqqnzyglrm9x9im2vrqqk8j2jn0hbgfymy"; depends=[ggplot2]; };
+  plot3D = derive { name="plot3D"; version="1.0-1"; sha256="1zvvsl94azz3252c8f485zhzd4x23wfj08x85vq873fj36p82aaf"; depends=[misc3d]; };
+  plot3Drgl = derive { name="plot3Drgl"; version="1.0"; sha256="109vsivif4hmw2hk3hi4y703d3snzxbr9pzhn1846imdclkl12yg"; depends=[rgl plot3D]; };
+  plotGoogleMaps = derive { name="plotGoogleMaps"; version="2.1"; sha256="1hymq35va75grxsjhd8sk7x4xfqsyfk5r5i1l3drwrajl1sx8b1a"; depends=[sp spacetime rgdal maptools lattice raster]; };
+  plotKML = derive { name="plotKML"; version="0.4-5"; sha256="1w8dxwx57a9lis775xis44c0s1qfzc0h9b43wygcbzndkcn1dsh7"; depends=[XML sp raster rgdal spacetime colorspace plotrix dismo aqp pixmap plyr stringr colorRamps scales gstat zoo RColorBrewer RSAGA classInt]; };
+  plotMCMC = derive { name="plotMCMC"; version="2.0-0"; sha256="0i4kcx6cpqjd6i16w3i8s34siw44qigca2jbk98b9ligbi65qnqb"; depends=[coda gplots lattice]; };
+  plotmo = derive { name="plotmo"; version="1.3-3"; sha256="0xr70di5dfxwy69y60vr88wbrhbxkm55z04qxbvbdf5b04l9lw77"; depends=[]; };
+  plotpc = derive { name="plotpc"; version="1.0-2"; sha256="0z73wyhdnz5qv2jy8c0sby6sbjr1q9026h0bk2ykjkjvckggnabc"; depends=[]; };
+  PlotRegionHighlighter = derive { name="PlotRegionHighlighter"; version="1.0"; sha256="0n1nkfr3sdaq6f5p9kgx4slrsvhpdbax3rinrkfkb1vnjj4swj77"; depends=[]; };
+  plotrix = derive { name="plotrix"; version="3.5-7"; sha256="0c9airkyf7qj1bmjdkwjk0k1qwspsaw4rkd4bf2lfb8m67jvzk6n"; depends=[]; };
+  plotSEMM = derive { name="plotSEMM"; version="2.0"; sha256="0n30m1nz9fnilbgxg5jcmx2bsscdvz5mkjkyrgx7yr3alazkaimd"; depends=[plyr shiny MplusAutomation Rcpp plotrix]; };
+  plRasch = derive { name="plRasch"; version="1.0"; sha256="1rnpvxw6pzl5f6zp4xl2wfndgvqz5l3kiv9sh4cpvhga0gl8zjaw"; depends=[survival]; };
+  PLRModels = derive { name="PLRModels"; version="1.1"; sha256="0dwnzfw7a1cxz9s00kxf19jmjsc8cy6cc9q2mjqf8z7690wrg7hb"; depends=[]; };
+  pls = derive { name="pls"; version="2.4-3"; sha256="114ka4766x8fx0zvvr7cylky1jsy542nj6s7sb2dwv8zjhbclkhn"; depends=[]; };
+  plsdepot = derive { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; };
+  plsdof = derive { name="plsdof"; version="0.2-6"; sha256="1gdc6ck2l8k4i275lj1kvpqbzgm5a5db21zc828hz56aqfj28fm9"; depends=[MASS]; };
+  plsgenomics = derive { name="plsgenomics"; version="1.2-6"; sha256="0f0pns20hd8hfc3v9m9vb8sng8qib6cry1k49nqs9gn09hhh26w9"; depends=[MASS]; };
+  plspm = derive { name="plspm"; version="0.4.1"; sha256="00ibz69vhf0x3c73khkg57mzw49c3vq20yiqdqm9cpkdr9fczn2n"; depends=[amap diagram tester turner]; };
+  plsRbeta = derive { name="plsRbeta"; version="0.1.8"; sha256="1gfwl659pmwjkif8n1vz7ljij3r8akzrlf389qwmhy57d6lhyb6w"; depends=[mvtnorm boot Formula plsdof MASS plsRglm betareg]; };
+  plsRcox = derive { name="plsRcox"; version="1.7.0"; sha256="08cnxbqgxwmvbyhp8hwa7b30bznxvj7qcpq9p8jgcfnrxwslv2k6"; depends=[survival plsRglm lars pls kernlab mixOmics risksetROC survAUC rms]; };
+  plsRglm = derive { name="plsRglm"; version="1.1.0"; sha256="0bh88rdlk09hh2zaiqgpv05d5kn656ckn3g0wfzhkb445xb84pqq"; depends=[mvtnorm boot bipartite]; };
+  plugdensity = derive { name="plugdensity"; version="0.8-3"; sha256="1jdmq4kbs8yzgkf9f5dc7c8c52ia68fgavw7nsnc2hnz5ylw1qy9"; depends=[]; };
+  plumbr = derive { name="plumbr"; version="0.6.9"; sha256="1avbclblqfy57pd72ximvj3zq92q1w8vszvyf6fw75j5rfwdaibk"; depends=[objectSignals]; };
+  plus = derive { name="plus"; version="1.0"; sha256="1l7lvnq7vahj8m7knmr4q3wj00ar7iq89j45a2dqn2bh0qyj68ls"; depends=[]; };
+  plusser = derive { name="plusser"; version="0.4-0"; sha256="1g100dh8cvn9q09j0jbkw4xmwjdp1lm4651369975fm99nrlp1j9"; depends=[RCurl RJSONIO lubridate plyr]; };
+  plyr = derive { name="plyr"; version="1.8.1"; sha256="0f2an3pr7flpng9y9mmrmyh08g3nivi6gdkfnw54arn0wxhkqfcm"; depends=[Rcpp]; };
+  PMA = derive { name="PMA"; version="1.0.9"; sha256="11qwgw4sgzl3xhrm468bsza83h3mfn89157nfwnrassl7qr42xkq"; depends=[plyr]; };
+  pmcgd = derive { name="pmcgd"; version="1.1"; sha256="1pybzvyjmzpcnxrjsas06diy3x83i1r5491s6ccyr63l56hs55d5"; depends=[mixture mnormt]; };
+  pmclust = derive { name="pmclust"; version="0.1-6"; sha256="05zjx4psvk5zjmr0iwwwig990g6h04ajn5wi0xi8bqv046r47q3h"; depends=[rlecuyer pbdMPI MASS]; };
+  PMCMR = derive { name="PMCMR"; version="1.0"; sha256="07k98zp4s65vx7ybj75b0i1jhlnvfspwjqh10nxdn0zmixw9nywj"; depends=[]; };
+  pmg = derive { name="pmg"; version="0.9-42"; sha256="16jkkhpjiwpk5gszr7fc133l3y50dfwqxb45flzihxvp1x42d70y"; depends=[lattice MASS proto foreign gWidgets gWidgetsRGtk2]; };
+  pmlr = derive { name="pmlr"; version="1.0"; sha256="1z3hbw4wabpai1q8kbn77nzxqziag8y04cidlfiw7z969s4pkmgl"; depends=[]; };
+  pmml = derive { name="pmml"; version="1.4.2"; sha256="0588sph67zs58knf4g3fd7c84i2yag81igr882jgbaxhfhxrpk6n"; depends=[XML survival]; };
+  pmmlTransformations = derive { name="pmmlTransformations"; version="1.2.2"; sha256="1p31lakhqwk0qhb565j2sjcfsjsx0i5v8kj8779ryjyvy7717m6m"; depends=[]; };
+  pmr = derive { name="pmr"; version="1.2.4"; sha256="15yrh533rj5i728nvcpjj3m5wa3jbspnfj941px3mf11h14npxpp"; depends=[]; };
+  pnmtrem = derive { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; };
+  pnn = derive { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; };
+  pocrm = derive { name="pocrm"; version="0.8"; sha256="04i9slfb9hmhhhq6m2iz7p3cm3v1v6nsvnr117dp55cxanfymd6f"; depends=[dfcrm nnet]; };
+  POET = derive { name="POET"; version="1.0"; sha256="0drn9530b14hindim8si1828yabyqc85b0qi900ahi5rv1p38v82"; depends=[]; };
+  poibin = derive { name="poibin"; version="1.2"; sha256="12dm1kdalbqy8k7dfldf89v6zw6nd0f73gcdx32xbmry2l2976sa"; depends=[]; };
+  PoiClaClu = derive { name="PoiClaClu"; version="1.0.2"; sha256="1j593sc344h9iy7if1ppihx2qd73dv32d77d8ckac43i7b2lig24"; depends=[]; };
+  poilog = derive { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; };
+  PoisNor = derive { name="PoisNor"; version="1.0"; sha256="147ma6qg6nwxzp022jm5mpijhg3jz489qclr9g2mli5mhgm31f8j"; depends=[mvtnorm corpcor Matrix]; };
+  poisson_glm_mix = derive { name="poisson.glm.mix"; version="1.2"; sha256="0328m279jfa1fasi9ha304k4wcybzr7hldww7wn0cl7anfxykbv8"; depends=[]; };
+  PoissonSeq = derive { name="PoissonSeq"; version="1.1.2"; sha256="1hhx0gv06cp6hm6h36mqy411qn9x15y45crpzbyf8crfs85c6gbg"; depends=[combinat]; };
+  poistweedie = derive { name="poistweedie"; version="1.0"; sha256="18992fafypds3qsb52c09fasm3hzlyh5zya6cw32wnhipmda643m"; depends=[]; };
+  poLCA = derive { name="poLCA"; version="1.4.1"; sha256="0bknnndcxsnlq6z9k1vbhqiib1mlzlx4badz85kc7a3xbrdrfs9f"; depends=[scatterplot3d MASS]; };
+  pollstR = derive { name="pollstR"; version="1.0.2"; sha256="1nnd62m0241ig725dx27f6msbj0nhgh149rij4rjy79w5w1zsa02"; depends=[httr plyr jsonlite]; };
+  polspline = derive { name="polspline"; version="1.1.9"; sha256="1n08dhwpf53slk1zib491kii54x9h16g3jgr2kxxpyc5xfv4yj26"; depends=[]; };
+  polyaAeppli = derive { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; };
+  polyapost = derive { name="polyapost"; version="1.1-6"; sha256="1wk85nl2p9plnaavjdr4bqxxhjc84ynv53bh2v1rmq87jymw40b1"; depends=[boot]; };
+  polyclip = derive { name="polyclip"; version="1.3-0"; sha256="05bbj4hy4h1hcb4pzg1mjp8k7k91kqq5rg2x0ns4hcs1h4zrspds"; depends=[]; };
+  polycor = derive { name="polycor"; version="0.7-8"; sha256="0hvww5grl68dff23069smfk3isysyi5n2jm4qmaynrk0m3yvhxwn"; depends=[mvtnorm sfsmisc]; };
+  polyCub = derive { name="polyCub"; version="0.5-0"; sha256="0ry7kfy99nzwpbs8ac138b05rs36n1whdc0gcvgdb1x76xsa36lr"; depends=[sp spatstat]; };
+  polynom = derive { name="polynom"; version="1.3-8"; sha256="05lng88c8cwj65cav31hsrca9nbrqn5rmcz79b17issyk2j0g86p"; depends=[]; };
+  PolynomF = derive { name="PolynomF"; version="0.94"; sha256="006ds50ivq91v2jyhgpm5rfaipxbzsnljrki6fjplcw07g0frz71"; depends=[]; };
+  PolyPatEx = derive { name="PolyPatEx"; version="0.9"; sha256="1y3jsy095kfp9ycjnj467s1y5abba7jkm83x2cajp5g2jdgp7cf6"; depends=[gtools]; };
+  polysat = derive { name="polysat"; version="1.3-2"; sha256="1h1ixxa4z6qr3ixpphy70axd3kf4gnwiw1i22qzm4m06h4bdchva"; depends=[combinat]; };
+  polySegratio = derive { name="polySegratio"; version="0.2-4"; sha256="05kvj475zhlrmp7rm691cfs28igp4ac2cn2xxf7axx09v1nq33db"; depends=[gdata]; };
+  polySegratioMM = derive { name="polySegratioMM"; version="0.6-3"; sha256="1y4kzb1p3aw7ng8mv1hszpvb5hwwxy4vg34mhhk705ki4jy8jgvp"; depends=[polySegratio gtools coda lattice]; };
+  polytomous = derive { name="polytomous"; version="0.1.6"; sha256="137qcnncih1lm2wshwrznlcr0k552n0sqhiy73iwis59lg854caa"; depends=[MASS Hmisc lme4]; };
+  polywog = derive { name="polywog"; version="0.4-0"; sha256="0wl9br0g4kgi3nz2fq28nsk6fw0ll0y715v4vz8lv3pvfwc7518j"; depends=[miscTools foreach Formula glmnet iterators Matrix ncvreg Rcpp stringr]; };
+  pom = derive { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; };
+  Pomic = derive { name="Pomic"; version="1.0.2"; sha256="1i3zsz7gc4n4vid3yi3srrv04qk1678wqyyw303pfibiyfd4m80q"; depends=[]; };
+  PoMoS = derive { name="PoMoS"; version="1.1.1"; sha256="0j3iw6bcsr3rzwh15afcw3rglddq9bj7470xpnlpfpmd9nk0s18d"; depends=[RGtk2 cairoDevice igraph]; };
+  pomp = derive { name="pomp"; version="0.53-5"; sha256="1bfb2b1fdj673b43jnq9pzh36h1hfb8dsarf1dq6pwain7dnqjyp"; depends=[subplex nloptr mvtnorm deSolve coda]; };
+  pooh = derive { name="pooh"; version="0.2-1"; sha256="1h8b5zwawhvq6h29dfznnhdb33al06hkvy05dphsmycd1lsha0jm"; depends=[]; };
+  popbio = derive { name="popbio"; version="2.4"; sha256="12hvxkgbr6snypplxv404sj0ass6ab9i969bb00ipy10gny1w4ww"; depends=[quadprog]; };
+  popdemo = derive { name="popdemo"; version="0.1-4"; sha256="0syhmm8fnxbsdzj75y7dpahmpf453a6gwp3yljkvmfl0bfv1g1ng"; depends=[expm]; };
+  PopED = derive { name="PopED"; version="0.1.1"; sha256="0p5wiwl1d7ywjpq3zj5mkk12hqhi0xgcwf9sr3pdqyrczhl825d3"; depends=[ggplot2 MASS mvtnorm nlme]; };
+  popgen = derive { name="popgen"; version="1.0-3"; sha256="00rgfwmmiharfxqlpy21n3jbxwr5whzdg8psqylkjf83ls2myqzm"; depends=[cluster]; };
+  PopGenKit = derive { name="PopGenKit"; version="1.0"; sha256="0l4mbm0cyppgvcw2cbimrv29aiciyj00k8wfwcj5zr8sh7fgfhs4"; depends=[]; };
+  PopGenome = derive { name="PopGenome"; version="2.0.8"; sha256="07s4b8v00m2fsja0ynri67ns240kskw7f0snzfcs94p1kaalj4jx"; depends=[ff]; };
+  PopGenReport = derive { name="PopGenReport"; version="2.0"; sha256="1bi7a2dbqr73andgzmq00x5hkbi06ylmhyfn12b4h2260v6w5mwk"; depends=[knitr adegenet raster lattice RgoogleMaps gap calibrate xtable plyr dismo reshape ggplot2 R_utils ade4 pegas genetics rgdal gdistance vegan sp mmod]; };
+  popgraph = derive { name="popgraph"; version="1.4"; sha256="1z6w6vj3vl2w10hvzwmkw4d475bqcd6ys92xnn445ag6vpq0cvxq"; depends=[ggplot2 igraph MASS sp Matrix sampling]; };
+  popKorn = derive { name="popKorn"; version="0.3-0"; sha256="1zcl6ms7ghbcjyjgfg35h37ma8nspg15rk2ik82yalqlzxjf7kxw"; depends=[boot]; };
+  poppr = derive { name="poppr"; version="1.1.2"; sha256="0qzqyrx8jqz9xhwq6v2ic2jm82g3csg6cs31g7hailx559axxi8i"; depends=[adegenet vegan ggplot2 phangorn ape igraph ade4 pegas reshape2]; };
+  popRange = derive { name="popRange"; version="1.1.1"; sha256="1n8swfhnxk757n6nxsmn8dzx2h01xdr2s64wy2m4xq7wpdp9lajq"; depends=[]; };
+  popReconstruct = derive { name="popReconstruct"; version="1.0-3"; sha256="1m4gj43bzsz8y4jay0bc5mvdfwqx5agha4l2r0svm6qg8cfl4lza"; depends=[coda]; };
+  popsom = derive { name="popsom"; version="2.3"; sha256="0hdg1nx8mlpqw9aj2q08sb20frsc5jnbvqpfalf5kyvlygnhxdlc"; depends=[som fields]; };
+  portes = derive { name="portes"; version="2.1-3"; sha256="0nqh6aync5igmvg7nr5inkv2cwgzd0zi6ky0vvrc3abchqsjm2ck"; depends=[]; };
+  portfolio = derive { name="portfolio"; version="0.4-6"; sha256="0kaaincyzc2f4dm7n08y3vs1yd1r7pd997gf2wvfjydw7wkc5pin"; depends=[lattice nlme]; };
+  portfolioSim = derive { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; };
+  PortRisk = derive { name="PortRisk"; version="1.0"; sha256="0vyzvi56lmdlhxpbxcxcfqa8271jv2l45w7x1kzzwl6q0wm4bjln"; depends=[zoo]; };
+  postCP = derive { name="postCP"; version="1.7.2"; sha256="1zi3ns202rsfbjkblsmk3vzlygixgm81cp9kga64q1xgk40vq657"; depends=[MASS Segmentor3IsBack]; };
+  potts = derive { name="potts"; version="0.5-2"; sha256="1q4kvknxkrd8qbv8l3vmwrppgzq5bsysnqgm029lx7iys73x4fck"; depends=[]; };
+  PottsUtils = derive { name="PottsUtils"; version="0.3-2"; sha256="05ds0a7jq63zxr3jh66a0df0idzhis76qv6inydsjk2majadj3zv"; depends=[miscF]; };
+  powell = derive { name="powell"; version="1.0-0"; sha256="160i4ki3ymvq08szaxshqlz7w063493j5zqvnw6cgjmxs7y0vj8y"; depends=[]; };
+  PoweR = derive { name="PoweR"; version="1.0.1"; sha256="1m6y7f89kjhdmrdw1xb59cly0xjz79b1krhywkg9m7z73k1yx9h9"; depends=[]; };
+  Power2Stage = derive { name="Power2Stage"; version="0.1-4"; sha256="1gdkrvmrss5x6m33y6lk8d397q64jj4d72hxvs9yj1wwngd635ah"; depends=[PowerTOST]; };
+  powerAnalysis = derive { name="powerAnalysis"; version="0.2"; sha256="15ff3wnn37sjkiyycgh16g7gwl3l321fbw12kv621dad5bki14jl"; depends=[]; };
+  powerGWASinteraction = derive { name="powerGWASinteraction"; version="1.0.0"; sha256="0ij843g95ypxc7cfhvi3pm57b5ry1xr2x0f944l9ncyy8d15jxc4"; depends=[]; };
+  poweRlaw = derive { name="poweRlaw"; version="0.20.5"; sha256="03s4kn01q4v2wx2y5pglqycjr37076g9alp9kz915h0ckfv1i42f"; depends=[VGAM]; };
+  powerMediation = derive { name="powerMediation"; version="0.1.7"; sha256="1nysqyz5rbpn25k1pi9g7gwiarm8ncyw5xxal972wv8c70lsn4ir"; depends=[]; };
+  powerpkg = derive { name="powerpkg"; version="1.5"; sha256="0mbk2fda2fvyp1h5lk5b1fg398xybbjv0z6kdx7w7xj345misf7l"; depends=[]; };
+  powerSurvEpi = derive { name="powerSurvEpi"; version="0.0.6"; sha256="1jsbrj35m296mkk47zcpb2haain6bf23k0xzphnb4sq8f06cmq1p"; depends=[survival]; };
+  PowerTOST = derive { name="PowerTOST"; version="1.1-13"; sha256="0w535rnwsdjad7fhrm0bxqkbci4y5qdgdy8rif3y5s5qkjhlqxnc"; depends=[mvtnorm]; };
+  PP = derive { name="PP"; version="0.2-1"; sha256="0qrmlfjfsaj1jxbpzzbh1lnsw5c9b631b7q5jxrzvg675m0wy2mr"; depends=[]; };
+  ppcor = derive { name="ppcor"; version="1.0"; sha256="18l5adjysack86ws61xh89z5xfr83v932a0pn6ad8i8py3nd85fj"; depends=[]; };
+  ppiPre = derive { name="ppiPre"; version="1.5"; sha256="1d1567h2j0y4f8jkaiszxkq13xkxq9jb3bf0rmjmy1z263nnl4a1"; depends=[igraph e1071]; };
+  ppls = derive { name="ppls"; version="1.6-0"; sha256="0jd80sfsg7j2540sz5v9n43pni9713sb1nvb5h1azbr3mnwqsri5"; depends=[MASS]; };
+  ppmlasso = derive { name="ppmlasso"; version="1.0"; sha256="0f5wld45r874rmi5bvhiqhpi5jqgrg5lwqazfhkv1md0ac2klkqj"; depends=[spatstat]; };
+  pps = derive { name="pps"; version="0.94"; sha256="0sirxpagqc2ghc01zc6q4dk691six9wkgknfbwaqxbxvda3hcmyq"; depends=[]; };
+  ppstat = derive { name="ppstat"; version="0.9"; sha256="1mnlvdzvayz30sbiq95wm0ywmzc168lqx0l33397jadiq5zbsbkn"; depends=[processdata reshape2 ggplot2 Matrix]; };
+  PPtree = derive { name="PPtree"; version="2.3.0"; sha256="002qjdx52r2h90wzrf2r3kz8fv3nwx08qbp909whn6r4pbdl532v"; depends=[MASS penalizedLDA]; };
+  pqantimalarials = derive { name="pqantimalarials"; version="0.1"; sha256="0q7knygxcv9s7lnpzn165dqvgff6zsz25ld44rh4fddgfzlwynn8"; depends=[shiny rms reshape2 RColorBrewer plyr]; };
+  prabclus = derive { name="prabclus"; version="2.2-4"; sha256="1p4hhs002cyrmnmfc2s11zia2jcnafidmy41dl3bd8mqyq3d193z"; depends=[MASS mclust]; };
+  pracma = derive { name="pracma"; version="1.7.0"; sha256="1hi71m4hkyj8pvl01xl9675pza983ikigxp13i6i08bbpxsaclsm"; depends=[]; };
+  PracTools = derive { name="PracTools"; version="0.0-2"; sha256="1bigir9fv6qrj3r8bfff6zyvxi10c0qh56kvhqsclvwyg3hfk5yz"; depends=[]; };
+  pragma = derive { name="pragma"; version="0.1.3"; sha256="1n30a346pph4d8cj4p4qx2l6fnwhkxa8yxdisx47pix376ljpjfx"; depends=[]; };
+  praktikum = derive { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; };
+  predfinitepop = derive { name="predfinitepop"; version="1.0"; sha256="1x5ri1kvd1rd9bjp2ygqwl68yp6hyb6aly22bs5kdwv2vn9nlq9w"; depends=[]; };
+  PredictABEL = derive { name="PredictABEL"; version="1.2-1"; sha256="18fmafl1d4nwf7mya9gh1rlv5936zzr2jm3fwn5r2m5fc034qqjx"; depends=[Hmisc ROCR epitools PBSmodelling]; };
+  PredictiveRegression = derive { name="PredictiveRegression"; version="0.1-4"; sha256="15vkisj3q4hinc3d537s8inhj3wk62q67qhy050xmp9j563ainmd"; depends=[]; };
+  predictmeans = derive { name="predictmeans"; version="0.97"; sha256="1l5b85rw96mh3xvcv5iiiy7zh8s0hx0bw037a3p49vbsw3k9p5vb"; depends=[lme4 nlme ggplot2 lattice pbkrtest plyr]; };
+  predmixcor = derive { name="predmixcor"; version="1.1-1"; sha256="0v99as0dzn0lqnbbzycq9j885rgsa1cy4qgbya37bbjd01b3pykd"; depends=[]; };
+  prefmod = derive { name="prefmod"; version="0.8-32"; sha256="0v5r195gzbfi6jbqz8r1x2fzj3anqxf4hxaxb9krm9rkwgphrwpi"; depends=[gnm colorspace]; };
+  PReMiuM = derive { name="PReMiuM"; version="3.0.28"; sha256="0cs18ig3ykd1s1hll7bq8ii1pbw4lr9ij8qyg7jh359k9vb6m5gy"; depends=[Rcpp ggplot2 cluster plotrix]; };
+  PresenceAbsence = derive { name="PresenceAbsence"; version="1.1.9"; sha256="17qn4ggkr5aqml45nkihj1j35y479ywkm1xcfkb2g8ky66jb0c0s"; depends=[]; };
+  PResiduals = derive { name="PResiduals"; version="0.1-0"; sha256="0g3div2i5sr4fbc7l6zzvaw72nbs80lkc1yv7p32w6g2cmyjhy7c"; depends=[Formula]; };
+  prettyGraphs = derive { name="prettyGraphs"; version="2.1.5"; sha256="19jag5cymancxy5lvkj5mkhdbxr37pciqj4vdvmxr82mvw3d75m4"; depends=[]; };
+  prettyR = derive { name="prettyR"; version="2.0-8"; sha256="1wz802mmsbm4011jskdvifm9p5vqjiq7x2cmxyvc6fi2g8s224rw"; depends=[]; };
+  prevalence = derive { name="prevalence"; version="0.2.0"; sha256="0yab4ig0hwyr10fgcw50hs63hbdpch83500xws05h1srsd2kiq8f"; depends=[rjags coda]; };
+  prevR = derive { name="prevR"; version="2.9"; sha256="1h0v52pwhrb9ib61wjqdcand5prc1h205nd2rl5qiiqcnq4xn582"; depends=[sp gstat GenKern rgdal fields]; };
+  prim = derive { name="prim"; version="1.0.14"; sha256="0ndzp2dj2rz6wffnc1a4bdn45vb5r6hf0niiixh0chrlakd5d4w7"; depends=[]; };
+  primer = derive { name="primer"; version="1.0"; sha256="0vkq794a9qmz9klgzz7xz35msnmhdaq3f91lcix762wlchz6v7sg"; depends=[deSolve lattice]; };
+  primerTree = derive { name="primerTree"; version="1.0.1"; sha256="068j5a2rh8f1h1y7rv2xacnvkn2darzvp1adhi3hqkmwsb3znhjk"; depends=[directlabels gridExtra ggplot2 XML ape httr lubridate plyr scales stringr foreach]; };
+  princurve = derive { name="princurve"; version="1.1-12"; sha256="19fprwpfhgv6n6ann978ilwhh58qi443q25z01qzxml4b5jzsd7w"; depends=[]; };
+  prinsimp = derive { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; };
+  PRISMA = derive { name="PRISMA"; version="0.2-2"; sha256="0r4dhnp0f6q43iklmwjim20hy9wjijkh8q4gljx8sph47njc0xqd"; depends=[Matrix gplots ggplot2]; };
+  PrivateLR = derive { name="PrivateLR"; version="1.1-69"; sha256="0harlkccxa51k75if5z1h29lnis1dinh2zsk2liicwyjxcnmx0ml"; depends=[]; };
+  prLogistic = derive { name="prLogistic"; version="1.2"; sha256="1abwz7nqkz2qbyqyr603kl9a3rkad3f4vxhck6a9kl80xrmfrj9s"; depends=[boot lme4 Hmisc]; };
+  prob = derive { name="prob"; version="0.9-5"; sha256="05skjqimzhnk99z864466dc8qx58pavrky320il91yqyr8b98j8b"; depends=[combinat fAsianOptions hypergeo VGAM]; };
+  ProbForecastGOP = derive { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[RandomFields fields]; };
+  probsvm = derive { name="probsvm"; version="1.00"; sha256="1k0zysym7ncmjy9h7whwi49qsfkpxfk7chfdjrydl6hn6pscis37"; depends=[kernlab]; };
+  pROC = derive { name="pROC"; version="1.7.3"; sha256="1xbz50phi2ygrgvcv36vnbc2icga8abjiha2ap35bwffg5d2zmvi"; depends=[plyr Rcpp]; };
+  processdata = derive { name="processdata"; version="0.8.2"; sha256="1rdb3chpm7c2acx5r262gcg5w02mplh6xgxlld070kb91i7drahj"; depends=[ggplot2 reshape2]; };
+  ProDenICA = derive { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; };
+  prodlim = derive { name="prodlim"; version="1.4.3"; sha256="0y18ngb1gy8zdk4dfakb57pyjll8937acbaz2lynwhbabd6kg66l"; depends=[survival KernSmooth lava]; };
+  PROFANCY = derive { name="PROFANCY"; version="1.0"; sha256="11a0fpsv1hy0djv36x2i2hv2j50ryy0x7g7nn7vv76m1sl6q6r4b"; depends=[Matrix lattice igraph]; };
+  profdpm = derive { name="profdpm"; version="3.3"; sha256="07lhjavrx4fa5950w928mfpddmmnmvdapl5n6mv49m8h3bxs4nmy"; depends=[]; };
+  ProfessR = derive { name="ProfessR"; version="2.3"; sha256="1y88as4xjvdm2v2ms5l7c6ziq7sll6qkrpgzdd4xnbcjx7c0g9w8"; depends=[RPMG]; };
+  ProfileLikelihood = derive { name="ProfileLikelihood"; version="1.1"; sha256="16cdp1nimhg1sd2x0qbffm7clgk54p0838y688z8lnsrjaggmb0x"; depends=[nlme MASS]; };
+  profileModel = derive { name="profileModel"; version="0.5-9"; sha256="1p9b9jr5842im195d60ja82pp7vbk85vs8b0r3fnf62j4b92aky9"; depends=[]; };
+  profileR = derive { name="profileR"; version="0.2-1"; sha256="1hcydy7hqjac9mvbaim2g75ab1ziyvpbrkb4k21966m54zjk9kka"; depends=[ggplot2 MASS RColorBrewer reshape plyr]; };
+  profr = derive { name="profr"; version="0.3.1"; sha256="1w06mm89apggy6wc273b2nsp95smajr8sf3dwshykivv7mhkxs5d"; depends=[stringr plyr]; };
+  proftools = derive { name="proftools"; version="0.1-0"; sha256="1wzkrz7zr2pjw5id2sp6jdqm5pgrrh35zfwjrkr6mac22lniq4bv"; depends=[]; };
+  ProgGUIinR = derive { name="ProgGUIinR"; version="0.0-4"; sha256="0srhk42ssx4i096sbs4jacqjsc1ffqjxjgvpplzshlqaby1h3795"; depends=[ggplot2 svMisc MASS]; };
+  prognosticROC = derive { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; };
+  proj4 = derive { name="proj4"; version="1.0-8"; sha256="06r3lavgixrsa52d1v31laqcbw6fb9xn23akv39hvaib78diglv9"; depends=[]; };
+  ProjectTemplate = derive { name="ProjectTemplate"; version="0.5-1"; sha256="0fi5i9icac2rjrpmgvb9glqr6z5fr880bn8hz6djgi1n1bn2v1g8"; depends=[]; };
+  propagate = derive { name="propagate"; version="1.0-3"; sha256="1kg29c72r6yz8asm6zdjxiwkrkz8dh92iybcxmiwzifhshv4gg34"; depends=[MASS tmvtnorm Rcpp ff minpack_lm]; };
+  PropCIs = derive { name="PropCIs"; version="0.2-5"; sha256="0wnc5h4390w4rglr7gjh6827f5r7gdhajx1iwp5fggdlm808hgq7"; depends=[]; };
+  PropClust = derive { name="PropClust"; version="1.4-2"; sha256="13ac895i7ljayyqcjjmwvwar6wf1j0qssazcb5nlz8rw155qwavs"; depends=[flashClust dynamicTreeCut]; };
+  PropScrRand = derive { name="PropScrRand"; version="1.1"; sha256="0cj62dzg4zm8d1g8h7qmviiwm93cwplppbi0p674fmmf1wy84v9s"; depends=[]; };
+  prospectr = derive { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[RcppArmadillo foreach iterators Rcpp]; };
+  proteomicdesign = derive { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; };
+  protiq = derive { name="protiq"; version="1.2"; sha256="00hv6hmfba4is2q1s9h5csx42s7ry2qdmi7vasgcafp8s4fc999l"; depends=[mvtnorm]; };
+  proto = derive { name="proto"; version="0.3-10"; sha256="03mvzi529y6kjcp9bkpk7zlgpcakb3iz73hca6rpjy14pyzl3nfh"; depends=[]; };
+  protoclass = derive { name="protoclass"; version="1.0"; sha256="17d2m6r1shgb47v8mwdg1a7f5h29m5l7f5m0nsmv0xc90s9cpvk8"; depends=[class]; };
+  PROTOLIDAR = derive { name="PROTOLIDAR"; version="0.1"; sha256="0bz3071b0wlcvh40vl3dyiiixk5avsj6kjjnvlvx264i5g08rij4"; depends=[]; };
+  protr = derive { name="protr"; version="0.2-1"; sha256="0kjvq7w2pg8vdv0f7lsc6f1ksbv9f9x7p61aqfzqignz9nh792dd"; depends=[]; };
+  protViz = derive { name="protViz"; version="0.1.98"; sha256="1lw9whid25pkprhw1ivb9fjaa5vx1w5mvj3dx299bp4dqg75dns6"; depends=[Rcpp]; };
+  proxy = derive { name="proxy"; version="0.4-12"; sha256="1hjbx94c4m2v22fswdd2jkb43ixfv6qivx8qiyzm23g1965ynvii"; depends=[]; };
+  pRSR = derive { name="pRSR"; version="3.0.2"; sha256="1s81mi172mwxhp786c1fl579cg87valppr0z958ssvxsvg5hbfxy"; depends=[]; };
+  pryr = derive { name="pryr"; version="0.1"; sha256="1vp63v1l4myahmmbphc043x1kpmvvdhs6dr640dxi0napvkdqlq6"; depends=[stringr codetools Rcpp]; };
+  PSAboot = derive { name="PSAboot"; version="1.1"; sha256="176sbjr906xk2ycl8653k7nch2h7ryxfisdy178k51f55qpvv4h9"; depends=[ggplot2 PSAgraphics Matching MatchIt modeltools party psych reshape2 rpart TriMatch]; };
+  PSAgraphics = derive { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; };
+  psbcGroup = derive { name="psbcGroup"; version="1.0"; sha256="1l28sy0jys1g3nyfls9nl9vx9b6qh405a2nhx0qgxwb24l67x56n"; depends=[bayesm LearnBayes SuppDists mvtnorm]; };
+  PSCBS = derive { name="PSCBS"; version="0.43.0"; sha256="1pv61ha8c2hx91hik9n6fz2gxdhijgcsdjhznaml5v1d5ba3vzjj"; depends=[R_methodsS3 R_oo R_utils R_cache matrixStats]; };
+  pscl = derive { name="pscl"; version="1.04.4"; sha256="0mm8qak7cq8qks60wx6lslii79wnkh58a31izgns35wwlflg8g6n"; depends=[MASS mvtnorm coda gam vcd lattice]; };
+  psd = derive { name="psd"; version="0.4-1"; sha256="1knfpgvmhrispfvlv94rnpbrjkyggqrmng65bjdjjigq83hhzywm"; depends=[fftw RColorBrewer signal zoo]; };
+  psData = derive { name="psData"; version="0.1.2"; sha256="0w8kzivqrh1b6gq803rfd10drxdwgy0cxb5sff273m6jxzak52f2"; depends=[countrycode DataCombine foreign xlsx]; };
+  pse = derive { name="pse"; version="0.3.4"; sha256="1ni4rwskcr326x5z81hsh36nkcrpq5d7pkqh6xyh4fjm57wjwzbp"; depends=[Hmisc boot]; };
+  pseudo = derive { name="pseudo"; version="1.1"; sha256="0dcx6b892cic47rwzazsbnsicpgyrbdcndr3q5s6z0j1b41lzknd"; depends=[KMsurv geepack]; };
+  psgp = derive { name="psgp"; version="0.3-6"; sha256="0h9gyadfy0djj32pgwhg8vy2gfn7i7yj5nnsm6pvfypc3k71s2wf"; depends=[intamap automap gstat]; };
+  pSI = derive { name="pSI"; version="1.1"; sha256="0cvw38dqqlyx7cpl27hq33f5xns2d0019lyr98pwndcnbp09mx0b"; depends=[gdata]; };
+  psidR = derive { name="psidR"; version="1.2"; sha256="14cpxk7z0inrpvhsdb3z6r5nrpyb4v8bv77mygxcf51rxihigzvj"; depends=[data_table RCurl foreign SAScii]; };
+  PSM = derive { name="PSM"; version="0.8-10"; sha256="1s60fr85xn3ynpvsbc3nw7vgz6h6jxy3yii1w6jpkw3iwl4bgn84"; depends=[MASS numDeriv deSolve ucminf]; };
+  PSMix = derive { name="PSMix"; version="1.1.1"; sha256="0g9s7v05jjc7vq08fj5bb2wg03isnyr1ql1rciiihqi5w4dwx6w7"; depends=[]; };
+  pso = derive { name="pso"; version="1.0.3"; sha256="0alar695c6kc1rsvwipsrvlxc93f3sy9l0yhp0mggyqgxkkvy406"; depends=[]; };
+  pspearman = derive { name="pspearman"; version="0.3-0"; sha256="1l5mqga7b5nvm6v9gbl1xsspdqsjqyhhdn4gc4qlz6ld7fqfq6cx"; depends=[]; };
+  pspline = derive { name="pspline"; version="1.0-16"; sha256="170apwfv2lbf2rggzzynrf9vi2mr0y15sm4zy8djxxpzv217iaf7"; depends=[]; };
+  PST = derive { name="PST"; version="0.84.1"; sha256="10cwlj8957sj5dag43v01fbq9lmcasfxp0lgllj0iv0lbfzd4g02"; depends=[TraMineR]; };
+  PsumtSim = derive { name="PsumtSim"; version="0.4"; sha256="0079kb1bgsxs4cwmn33rbbk2jgq39rdjfgz9k9hc64iyzz0i6na3"; depends=[EffectsRelBaseline boot]; };
+  psy = derive { name="psy"; version="1.1"; sha256="027whr670w65pf8f7x0vfk9wmadl6nn2idyi6z971069lf01wdlk"; depends=[]; };
+  psych = derive { name="psych"; version="1.4.8.11"; sha256="110j5d7xdaviklf3mv9jlnli3l4n5g4mxasgxdj6kw7f66fqh634"; depends=[]; };
+  psychometric = derive { name="psychometric"; version="2.2"; sha256="1b7cx6icixh8k3bv60fqxjjks23qn09vlcimqfv2x3m3nkf8p1s9"; depends=[multilevel nlme multilevel nlme]; };
+  psychomix = derive { name="psychomix"; version="1.1-1"; sha256="0p3kidbsmfm09s7c3p8nlj069wcyln1cxmjmj5nj7f618c407zyf"; depends=[flexmix psychotools lattice Formula modeltools]; };
+  psychotools = derive { name="psychotools"; version="0.2-0"; sha256="13zpg4xi5hmr8yzjsri4kn0dy39ns5razdmchh4nwfr9gjn0h29b"; depends=[]; };
+  psychotree = derive { name="psychotree"; version="0.13-0"; sha256="1jwya7glgaz4zb81i37bvxnm712b1y34dh5s3y64lms2bd98wc4b"; depends=[party psychotools modeltools sandwich strucchange]; };
+  psyphy = derive { name="psyphy"; version="0.1-9"; sha256="1ndc6sy662wj2qfx7r97crlqjd8fdkfvfy59qmf34bcbzbg33riz"; depends=[]; };
+  psytabs = derive { name="psytabs"; version="0.5"; sha256="0jcsv771ndf0fv76982rbv099ii4l55a8bj1mhgr54838ins0gg7"; depends=[psych plyr rtf R2HTML mokken lavaan semTools]; };
+  pt = derive { name="pt"; version="1.0"; sha256="0hjijfmc9dip3ys8xg44w0fwvyzyjyjl9hpwm7j2nzg3plv6i1fz"; depends=[]; };
+  PTAk = derive { name="PTAk"; version="1.2-6"; sha256="06b59qmlz7n6nydb7d2nbv2ggfam0092qzavshgfa6p8r5vzxcj6"; depends=[tensor]; };
+  PTE = derive { name="PTE"; version="1.0"; sha256="10if2hh69yysi2y82m7is74hmzw2xpxijgb8bhy1d4g9n9lqidfs"; depends=[doParallel]; };
+  ptinpoly = derive { name="ptinpoly"; version="2.1"; sha256="0l16hvg3b7km0kh2wqzcvnn6jydvvh5mm089j15in4s1wsjn173k"; depends=[misc3d]; };
+  PtProcess = derive { name="PtProcess"; version="3.3-1"; sha256="0qh673i00z8x07zjhwazambz1myw5q342zfqfgm2f5z59v1j7m48"; depends=[]; };
+  ptw = derive { name="ptw"; version="1.0-7"; sha256="195pa6hj3y9spyc7yxfgr8alkp48a7ccnyp64r6fyjwj6ds08b64"; depends=[]; };
+  PubBias = derive { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[rmeta R_utils]; };
+  pubmed_mineR = derive { name="pubmed.mineR"; version="1.0.1"; sha256="0d288hx98j5k4nmzj1vc3sfjwh9i4cljfgi6vklrsvgn5sx39x91"; depends=[RCurl XML NCBI2R boot R2HTML]; };
+  PubMedWordcloud = derive { name="PubMedWordcloud"; version="0.3.1"; sha256="1bq2jswhc3vr84x6a9fspygirl54z7b1pdlcpnd7g4374ypvlrrz"; depends=[XML stringr RCurl wordcloud tm GOsummaries RColorBrewer]; };
+  pumilioR = derive { name="pumilioR"; version="1.3"; sha256="1zmcdp978p73bh9fdshxlrzgfg18j007xgxgr439rq90bwiwva6j"; depends=[XML RCurl]; };
+  PurBayes = derive { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
+  pushoverr = derive { name="pushoverr"; version="0.1.3"; sha256="18bxipbrcv8anrvdmgff1674b735x0zp6bwf319cgxsgbs9nlwqi"; depends=[httr]; };
+  PVAClone = derive { name="PVAClone"; version="0.1-2"; sha256="0afl2il5wdcwzpyhjkgq8iz16q1086c3ndr4cjlyspgbss9h5l24"; depends=[dcmle dclone]; };
+  pvar = derive { name="pvar"; version="1.0.9"; sha256="01bkva4kna1vfjlsss16s6501l8x2s95a5wh7wsmwq3spdgp1i2r"; depends=[]; };
+  pvclass = derive { name="pvclass"; version="1.1"; sha256="0qaj71qrcj0kgwb1xravylqfc2b1ww5h8l4pdd2m0x33aygrm0kk"; depends=[Matrix]; };
+  pvclust = derive { name="pvclust"; version="1.2-2"; sha256="152qwvk4lpdsrv96148bc3z51jqdaa7p95ql2zhpb7a2fvzs5ad5"; depends=[]; };
+  PVR = derive { name="PVR"; version="0.2.1"; sha256="1p87pj9g0qlc8ja6xdj2amny9pbkaqb34x2y9nkl1nj1pkwjq2s5"; depends=[ape splancs]; };
+  pvsR = derive { name="pvsR"; version="0.2"; sha256="1liykrh05k4qlfh1b61rafvgzx99fl9nh75a6mr5z5zczn8i00mv"; depends=[XML nnet httr]; };
+  pwr = derive { name="pwr"; version="1.1.1"; sha256="1is6kqqjf3bzsddj4advj8qcp30rz2zlqc0g98072m96nmq5ywgn"; depends=[]; };
+  PwrGSD = derive { name="PwrGSD"; version="2.000"; sha256="0qxvws9mfrnqw5s24qhqk6cbffjm13z7awyxdmnilazghpiq1p7s"; depends=[survival]; };
+  pwt = derive { name="pwt"; version="7.1-1"; sha256="0926viwmwldmzlzbnjfijh00wrhgb0h4h0mlrls71pi5pjfldifa"; depends=[]; };
+  pwt8 = derive { name="pwt8"; version="8.0-0"; sha256="12cgyban6waj0cxz9gb35s5v0v29rmx67ipzalzdnrjp5nsmy431"; depends=[]; };
+  pxR = derive { name="pxR"; version="0.40.0"; sha256="08s62kzdgak7mjzyhd32qn93q5l7sj01vhsk7fjg9nxjvm78xxka"; depends=[stringr reshape2 RJSONIO plyr]; };
+  pyramid = derive { name="pyramid"; version="1.3"; sha256="1jmcqzgxqwvfa9aidayjx6j1s9f3kwqvivwldwpkf780i9wkdig9"; depends=[]; };
+  qat = derive { name="qat"; version="0.72"; sha256="0vs7xc32h9s5p7486cafzzll7xaby7lbqmmpnshkn8mq021xlxkg"; depends=[ncdf gplots XML gdata moments boot fields]; };
+  QCA = derive { name="QCA"; version="1.1-3"; sha256="083hc00d7srvxfkfax51ffngidbdhjqaxga3lln5gw53m2831v35"; depends=[lpSolve]; };
+  QCA3 = derive { name="QCA3"; version="0.0-7"; sha256="0i9i2i633sjnzsywq51r2l7fkbd4ip217hp0vnkj78sfl7zf1270"; depends=[lpSolveAPI]; };
+  QCAGUI = derive { name="QCAGUI"; version="1.9-6"; sha256="020ngni02j2w2ylhyidimm51d426pym2g1hg7gnpb7aplxx67n6x"; depends=[abind QCA]; };
+  qcc = derive { name="qcc"; version="2.5"; sha256="1j2l4i1vy8wqsl64r0qmc8dflyn1abbmzhpqqsmhwldifcdbdsb9"; depends=[MASS]; };
+  QCGWAS = derive { name="QCGWAS"; version="1.0-8"; sha256="1wn1kddgfmqv326pihnavbgsbd2yxrlq5s2xgi6kbprssxvj8bk1"; depends=[]; };
+  qcr = derive { name="qcr"; version="0.1-18"; sha256="16dfda3rwivsdhp7j5izzbk2rzwfabfmxgpq4kjc4h7r90n2vly2"; depends=[qcc]; };
+  qdap = derive { name="qdap"; version="2.1.1"; sha256="1in345544gspj7wki82gdaiaxzn5qcp5jz73n522gjnybymllv2b"; depends=[ggplot2 qdapDictionaries qdapTools RColorBrewer chron dplyr gdata gridExtra igraph NLP openNLP plotrix RCurl reports reshape2 scales stringdist tm venneuler wordcloud xlsx XML]; };
+  qdapDictionaries = derive { name="qdapDictionaries"; version="1.0.2"; sha256="0s1dqp3hjllkvq638hvggcbfsdwks91r0ymynl7cdh7dr5pg91bc"; depends=[]; };
+  qdapTools = derive { name="qdapTools"; version="1.0.2"; sha256="1vvgcj0cymfc8yqw3i8jzr199hq04z7y86qgljdl86v4xvl44ggv"; depends=[chron data_table RCurl]; };
+  qfa = derive { name="qfa"; version="0.0-10"; sha256="1c6yh5fa45fk3g9hi905b2cjswn6gmn53f0gb5v5byb9gr9bjf7s"; depends=[sp DEoptim]; };
+  qgraph = derive { name="qgraph"; version="1.2.5"; sha256="1jgjxfds28kk03qrk01r8dla4xjpbqcqdwa1ifay2vqahwlkpz65"; depends=[psych ellipse lavaan sem plyr Hmisc igraph jpeg png colorspace Matrix sna corpcor reshape2 ggplot2 glasso huge]; };
+  qiimer = derive { name="qiimer"; version="0.9.2"; sha256="08625hz2n7yk9zk1k9sa46n2ggbw5qs0mlqkmzyjjh3qlnb1354a"; depends=[pheatmap]; };
+  qlcMatrix = derive { name="qlcMatrix"; version="0.9.2"; sha256="1d8953bj69d0nia3qh3s1djf9m7wkvfdxqd234026gh1d3qchkr2"; depends=[Matrix]; };
+  qLearn = derive { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; };
+  qlspack = derive { name="qlspack"; version="2.2"; sha256="0b9sqvnvldhd8vymajrbql0vn70rml13jgsq5ihm6skzq5qms7y6"; depends=[geepack]; };
+  qmap = derive { name="qmap"; version="1.0-3"; sha256="1c7qvmd5whi446nzssqvhz1j2mpx22nlzzdrcql84v18ry0dr18m"; depends=[fitdistrplus]; };
+  qmethod = derive { name="qmethod"; version="1.1"; sha256="0ygmprfjwx1bi3pi9iqq15m243vy9f90znyf4qwp0zwbbpxyaqi5"; depends=[psych GPArotation]; };
+  qmrparser = derive { name="qmrparser"; version="0.1.4"; sha256="1lw8sn4qsdv4bxf5p7gnkm0vmiymyj03svbl232zyyb0fh97i7nk"; depends=[]; };
+  QoLR = derive { name="QoLR"; version="1.0"; sha256="1ah6x1fcs4l571jvgm0c257cgxhhpkzfhqimwbb9j7xbz3h55lp3"; depends=[survival zoo]; };
+  qp = derive { name="qp"; version="0.3-2"; sha256="1964bj2ggmpaqz0rnmc2zx5hyrzawlmawz3mh046cx1pdzlsqfwh"; depends=[]; };
+  qpcR = derive { name="qpcR"; version="1.3-9"; sha256="1dbxy7al75d7zjwg8kgvmmddfklj13hq9nb1vyblmzcsa59rx91s"; depends=[MASS minpack_lm rgl robustbase Matrix]; };
+  qPCR_CT = derive { name="qPCR.CT"; version="1.1"; sha256="19j41fsd2m7p2nxi2h2mj43rjxx6sz2jpf4sk0bfvl1gyj0iz3hi"; depends=[RColorBrewer]; };
+  qqman = derive { name="qqman"; version="0.1.1"; sha256="1j77i2lz2rp2kgsfsfv6zf9ai8ffylmkrfiq2rv53vmrq92h407c"; depends=[]; };
+  qrfactor = derive { name="qrfactor"; version="1.4"; sha256="0f02lh8zrc36slwqy11x03yzfdy94p1lk5jar9h5cwa1dvi5k8gm"; depends=[mvoutlier mgraph pvclust cluster maptools]; };
+  QRM = derive { name="QRM"; version="0.4-10"; sha256="1fkxjqyb9yqki4qwk393ra66wg5dnbr5b5sgypm8wk973crbhcj0"; depends=[gsl Matrix mvtnorm numDeriv timeSeries Rcpp mgcv]; };
+  qrnn = derive { name="qrnn"; version="1.1.2"; sha256="01wsz9qcdiayi7gsyy2y09jyyapanyhlc4pdyman2f7z5nl9yv9i"; depends=[]; };
+  QSARdata = derive { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; };
+  qtbase = derive { name="qtbase"; version="1.0.4"; sha256="02yilvywkcqn3y9ayix18cgkwhi0gh69fl3fcw28fs2zxf1hqy75"; depends=[]; };
+  qtl = derive { name="qtl"; version="1.32-10"; sha256="0ywgsjfyjvnfisd2hnh2f5rqjhy0znnf2c1qjdqfx6g7vh3hblr1"; depends=[]; };
+  qtlbim = derive { name="qtlbim"; version="2.0.7"; sha256="0nm7ky5bkzhmfr41fs1pvl51i2df1fz11j55q74ma2wzki5adfps"; depends=[qtl lattice coda MASS]; };
+  qtlbook = derive { name="qtlbook"; version="0.18-1"; sha256="09b4w7kqdlmpf0vsjgwbi9sraafzchvk18yzrx72gs151v03nxlm"; depends=[qtl]; };
+  qtlDesign = derive { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
+  qtlhot = derive { name="qtlhot"; version="0.9.0"; sha256="1043rksqqzgmr7q03j18wxgm706prqxq9ki9b9p2dxvc62vfcfih"; depends=[qtl lattice corpcor mnormt]; };
+  qtlmt = derive { name="qtlmt"; version="0.1-3"; sha256="01ql0fr2mxl8a8nd6lpig5j8vznv594ygn6bj6d31gj15r5rs8fs"; depends=[]; };
+  qtlnet = derive { name="qtlnet"; version="1.3.6"; sha256="044a2p3mpp203kb85s2fr3qiyypm461lrzxkfi0hnzq44qqba169"; depends=[qtl igraph sem pcalg]; };
+  QTLRel = derive { name="QTLRel"; version="0.2-14"; sha256="05x56a8fjr6xk38dphdzh77y520cr6zykjp3qlx27drk9s5z06cs"; depends=[gdata]; };
+  qtpaint = derive { name="qtpaint"; version="0.9.0"; sha256="06yqakg134mks8q7a40f5knjpcm1k2wdzchs0ywvfpwvpwgwig01"; depends=[qtbase qtbase]; };
+  qtutils = derive { name="qtutils"; version="0.1-3"; sha256="018k9v3mab1mfcjh4mv1a1iish50fwdhb51mqn17k6fyrrrv7vs5"; depends=[qtbase qtbase]; };
+  QuACN = derive { name="QuACN"; version="1.7.4"; sha256="1bcvnzycw7xvnms41rqsnfvggvcmpaw6byrsdzqmg7z0q754b1j4"; depends=[combinat Rmpfr igraph]; };
+  quad = derive { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
+  quadprog = derive { name="quadprog"; version="1.5-5"; sha256="0jg3r6abmhp8r9vkbhpx9ldjfw6vyl1m4c5vwlyjhk1mi03656fr"; depends=[]; };
+  quadrupen = derive { name="quadrupen"; version="0.2-4"; sha256="0gs565zi5qkccr9f65smvzgq2d97p7i5inksp2492bjvqhsbagxj"; depends=[Rcpp ggplot2 Matrix reshape2 scales]; };
+  qualCI = derive { name="qualCI"; version="0.1"; sha256="09mzsy5ryyrn1gz9ahrh95cpfk7g09pmjjy0m82fh4xc7j5w6kpf"; depends=[combinat]; };
+  qualityTools = derive { name="qualityTools"; version="1.54"; sha256="0qrxf47fv56c86p0mmg3l3qvx8p3rvapffwhaw4yn4kbp7yiap5d"; depends=[]; };
+  qualV = derive { name="qualV"; version="0.3"; sha256="0cr3jlp0y83nk6i965bd6v86sl8pjx47z1y20lcygrf5cb6m4ifw"; depends=[KernSmooth]; };
+  Quandl = derive { name="Quandl"; version="2.3.2"; sha256="0dx6myf5gw7dvhglsc60hwq8nsj73zz3gcqcad1z3d27acv2q7m0"; depends=[RCurl RJSONIO zoo xts]; };
+  quantchem = derive { name="quantchem"; version="0.13"; sha256="1ga5xa7lsk04flfp1syjzpnvj3i2ypzh1m49vq1xkdwpm6axdy8n"; depends=[MASS outliers]; };
+  QuantifQuantile = derive { name="QuantifQuantile"; version="0.2"; sha256="0h0bc81y21zag0kgfr5i9rk74m32qg0x5a8n9pvm2f6c0126q7vi"; depends=[rgl]; };
+  quantmod = derive { name="quantmod"; version="0.4-0"; sha256="12411ykj1f1ni5y00ma3kr5h5fsi0rqkshz7501wykj926js9v5j"; depends=[Defaults xts zoo TTR]; };
+  QuantPsyc = derive { name="QuantPsyc"; version="1.5"; sha256="1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93"; depends=[boot MASS]; };
+  quantreg = derive { name="quantreg"; version="5.05"; sha256="07djmdlmij9add2sgdsb1p6521hlnsfmll8lqs3x0z9gmr2wyx4f"; depends=[SparseM]; };
+  quantregForest = derive { name="quantregForest"; version="0.2-3"; sha256="06c73f66nnw3vd2dv8h5skzyxbr89i3pyprbb0if721h5d7pm0s7"; depends=[randomForest]; };
+  quantregGrowth = derive { name="quantregGrowth"; version="0.3-0"; sha256="0iyqd4gf780xqj2gcinlx0h6r6wy4vc7sp8r4qa1s638qcrp3qwa"; depends=[quantreg]; };
+  quantspec = derive { name="quantspec"; version="1.0-1"; sha256="1jfqga1kwdhfqmkgcdin84mddggi65x2s5w6krj5n5yafak21m87"; depends=[quantreg testthat abind zoo rje snowfall]; };
+  QuasiSeq = derive { name="QuasiSeq"; version="1.0-4"; sha256="1vpk1l7dhbfdywncdfg1c29qpj3x0m5ddpyh13d0d3ic8rzhdivf"; depends=[Matrix mgcv]; };
+  questionr = derive { name="questionr"; version="0.4.1"; sha256="1hiy1a7ijg2zs4zz9r4p4yqjxm66jhv4xsh29lhv10dlvhh4r4km"; depends=[shiny highr classInt]; };
+  queueing = derive { name="queueing"; version="0.2.2"; sha256="1db8w9pzy4krgcc4xahfs9aw45gvvyl6kqm1hkklw21pfc0ka09f"; depends=[]; };
+  QUIC = derive { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; };
+  quint = derive { name="quint"; version="1.0"; sha256="19dxrssy4dw7v3s4hhhy6yilbc7zb6pvcnh3mm1z6vv5a1wfr245"; depends=[partykit Formula rpart]; };
+  quipu = derive { name="quipu"; version="1.9.0"; sha256="1py1qpbwp2smr5di8b3zmzxxhchfmr5qfhqkdiqig28mcnqcmp5n"; depends=[agricolae stringr pixmap shiny xtable]; };
+  qVarSel = derive { name="qVarSel"; version="1.0"; sha256="13x2hnqjsm0ifzmqkkl9ilhykrh80q04lhlkkp06hkysmh5w9rkx"; depends=[lpSolveAPI Rcpp]; };
+  qvcalc = derive { name="qvcalc"; version="0.8-8"; sha256="0xmbn6p7ryr43yf978pqpdnlxdq84v965hxbff8dviqhxwgqv4aq"; depends=[]; };
+  QZ = derive { name="QZ"; version="0.1-4"; sha256="1k657i1rf6ayavn0lgfvlh8am3kzypgb1jhf2by147gv103izkrz"; depends=[]; };
+  R0 = derive { name="R0"; version="1.2-4"; sha256="1gg5jlmb20lqa4nismchffc65b02n0qmbsk8nwzkkl2zxkm9kx3k"; depends=[MASS]; };
+  R1magic = derive { name="R1magic"; version="0.2"; sha256="07kqpdpf2grmgkv609l79f3w6ljkldfsyrn9l1yg6birzp3p69v1"; depends=[]; };
+  R2admb = derive { name="R2admb"; version="0.7.10"; sha256="0rjrd1wpr1f4l800mccnwsa121g93rrr7q9dq0xxvkl3lsbn6f2s"; depends=[]; };
+  R2BayesX = derive { name="R2BayesX"; version="0.3-1"; sha256="1qsg4lvzxpbn2jli58kncn5kjlv7ccmmkrj1m9jakbbzx51qc1rj"; depends=[BayesXsrc colorspace mgcv]; };
+  R2Cuba = derive { name="R2Cuba"; version="1.0-11"; sha256="1kgcxqn83yskh0dv6vyz66d0z32qy55par36jj987qglpl25zmax"; depends=[]; };
+  r2d2 = derive { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; };
+  r2dRue = derive { name="r2dRue"; version="1.0.4"; sha256="1apdq7zj5fhs349wm9g6y06nn33x24pg3gdp4z1frd18qlacf8z5"; depends=[rgdal sp matrixStats]; };
+  R2G2 = derive { name="R2G2"; version="1.0-2"; sha256="05d5vybvsi4pyr099916nk1l8sqszs9gaj2vhsx1jxxks8981na7"; depends=[]; };
+  R2GUESS = derive { name="R2GUESS"; version="1.3"; sha256="1jqzh2f9qwwmcf16hjgnl3rgp49zx6m090r750p3n4ds3qr96zx7"; depends=[fields MCMCpack mixOmics mvtnorm snowfall]; };
+  R2HTML = derive { name="R2HTML"; version="2.2.1"; sha256="11p0mg6b39z2w7k76j21hy09r8fm3rwkiby2lmhx5cgvnvxgrqf1"; depends=[]; };
+  R2jags = derive { name="R2jags"; version="0.04-03"; sha256="0wygsz5zzng8fh82pzhqly3d532ljz0jj34h9nz7g3v5asv0kcqm"; depends=[rjags abind coda R2WinBUGS]; };
+  r2lh = derive { name="r2lh"; version="0.7"; sha256="1kkyjv9x2klrjnaaw4a16sxdfqmpp9s5mlclzlczlqjypbf2aa6d"; depends=[]; };
+  R2OpenBUGS = derive { name="R2OpenBUGS"; version="3.2-2.2"; sha256="0hnp46linvpnzifhyb3r13xmwvdc3psabs53xl6qxxm4snrl4bnd"; depends=[coda boot]; };
+  R2STATS = derive { name="R2STATS"; version="0.68-38"; sha256="1v8mvkvs4fjch0dpjidr51jk6ynnw82zhhylyccyrad9f775j2if"; depends=[proto Matrix lattice lme4 cairoDevice gWidgets gWidgetsRGtk2 RGtk2Extras MASS latticeExtra statmod]; };
+  r2stl = derive { name="r2stl"; version="1.0.0"; sha256="18lvnxr40cm450s8qh09c3cnkl1hg83jhmv1gzsv6nkjrq4mj5wh"; depends=[]; };
+  R2SWF = derive { name="R2SWF"; version="0.8"; sha256="125r4drgl79cwda00g42m0l0dzqmi2n8p5cikx70jz67giq5blw2"; depends=[sysfonts]; };
+  R2WinBUGS = derive { name="R2WinBUGS"; version="2.1-19"; sha256="03bvxv46lhhnbfjq3w5ig50icncwn1bdq7lsh6w1szdk90ah2zgh"; depends=[coda boot]; };
+  R330 = derive { name="R330"; version="1.0"; sha256="01sprsg7kph62abhymm8zfqr9bd6dhihrfxzgr4pzi5wj3h80bjm"; depends=[s20x leaps rgl lattice]; };
+  R4CDISC = derive { name="R4CDISC"; version="0.2"; sha256="1g8n89y1l5jy3168qz9j0kz3dvyadhn5mhilpzlpn3pijvv2vndf"; depends=[XML]; };
+  R4CouchDB = derive { name="R4CouchDB"; version="0.4"; sha256="15177dwwnhl6mfvb78knhmjqi34pb74dcgb9rf9j0rvy85vznzzm"; depends=[bitops RCurl RJSONIO]; };
+  R4dfp = derive { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; };
+  r4ss = derive { name="r4ss"; version="1.22.1"; sha256="1rjnglwa3i8rlzyqqr5h8yh7vglrh8zpd3829qcc1vfi4swcwwqw"; depends=[coda corpcor gplots gtools maps pso RCurl]; };
+  R6 = derive { name="R6"; version="1.0.1"; sha256="0q1ni6g0i3h2l7dj8fip1614likdki8apmrjs7ggma77qfc5jsaf"; depends=[]; };
+  race = derive { name="race"; version="0.1.59"; sha256="13jprlnngribgvyr7fbg9d36i8qf3cax85n71dl71iv0y24al1cy"; depends=[]; };
+  RAD = derive { name="RAD"; version="0.3"; sha256="0nmgsaykxavq2bskq5x0jvsxzsf4w2gqc0z80a59376li4vs9lpj"; depends=[mvtnorm MASS]; };
+  RADami = derive { name="RADami"; version="1.0-3"; sha256="0rg07dsh2rlldajcj0gq5sgsl1i3qa28bsrmq88xcljg5hnr4iqn"; depends=[ape geiger phangorn]; };
+  RadioSonde = derive { name="RadioSonde"; version="1.3"; sha256="1bvy281v278dni7ms4mq963463mwsj1bys9n2lvn6y8p7jhqvhdj"; depends=[]; };
+  RadOnc = derive { name="RadOnc"; version="1.0.8"; sha256="1p74fbihbzfn6irc8khp4kvmsxd7scg3c2nkr7w0p7c75f76d9an"; depends=[rgl geometry oro_dicom ptinpoly]; };
+  rags2ridges = derive { name="rags2ridges"; version="1.3"; sha256="1dzpaxvlrbpj2hw2p2gfhqvrlg5jdpd5z6q0dzxjdxh8z7xjsklb"; depends=[GeneNet expm reshape ggplot2 igraph Hmisc]; };
+  RAHRS = derive { name="RAHRS"; version="1.0.1"; sha256="068alq0mrfgcmpa5gfrrqgixpdadva11s9ammg7p6g9lfrjx6gcc"; depends=[pracma RSpincalc]; };
+  rainbow = derive { name="rainbow"; version="3.2"; sha256="043qbbyb1i7b8n3vspr6rdwlpqg3wdn31rsq3hmlahvwrfqma70n"; depends=[MASS pcaPP hdrcde cluster colorspace ks]; };
+  raincpc = derive { name="raincpc"; version="0.2"; sha256="02551m1rjws8h7shdms5q4rmskqdwijfx7306wp1cl7x0gjc800q"; depends=[SDMTools]; };
+  rainfreq = derive { name="rainfreq"; version="0.1"; sha256="1km77iks570w48xkad5giirw8yphlnnpv5j2fkh1nd9bqarwjxyb"; depends=[RCurl SDMTools]; };
+  rAltmetric = derive { name="rAltmetric"; version="0.3"; sha256="0jq5w5yd1cps4npbm9wmrjb5vc36y89ib986ggqycd9jalmshxjd"; depends=[plyr RCurl reshape2 png ggplot2 RJSONIO]; };
+  Rambo = derive { name="Rambo"; version="1.1"; sha256="1yc04xsfkc54y19g5iwambgnlc49ixjjvfrafsgis2zh5w6rjwv8"; depends=[sna]; };
+  RAMpath = derive { name="RAMpath"; version="0.3.8"; sha256="1p1l6iirb314n5246kyyz0r3ja4v05xb5a6aq9k26wsb5m42x85k"; depends=[lavaan ellipse]; };
+  ramps = derive { name="ramps"; version="0.6-12"; sha256="128lqfkgmcbcfvs210j14h54spqjcr4jdhk2rqgrwcjp5wjv209w"; depends=[coda maps Matrix nlme fields]; };
+  randaes = derive { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; };
+  random = derive { name="random"; version="0.2.2"; sha256="0h3vmd581i0srf9lfdgjv8kkinxf1kjg8aia0dhr5adghqvf5dck"; depends=[]; };
+  RandomFields = derive { name="RandomFields"; version="3.0.35"; sha256="0m3hv7rmipc36059iv8igy3r783by8zi854c4gm8awzdav3wdv4a"; depends=[sp]; };
+  randomForest = derive { name="randomForest"; version="4.6-10"; sha256="0glj08w6sbabr3n71kzd5w3jb7vhrys8rq904j27a4xk0qp4s5lv"; depends=[]; };
+  randomForestSRC = derive { name="randomForestSRC"; version="1.5.4"; sha256="0bk7xg1lhi2mhqjnmgls4c0jf5d463pzzp1x4wkf0jal3yjgl4y3"; depends=[]; };
+  randomGLM = derive { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[MASS foreach doParallel]; };
+  randomizationInference = derive { name="randomizationInference"; version="1.0.1"; sha256="1l4h9d0r199z775da0la30qijm8xikmbfnl7av7h1ar305ph6r2v"; depends=[permute matrixStats]; };
+  randomizeBE = derive { name="randomizeBE"; version="0.3-1"; sha256="06hj614wp9lb348qwyqgw5zk2vn0m81bkwz4jprgjd72kpy8kv1h"; depends=[]; };
+  randomLCA = derive { name="randomLCA"; version="0.8-7"; sha256="1xs2jh0parvqjm88cs2w2yb8r4ld6643fn84w35v8jsffbs98522"; depends=[lattice nlme boot]; };
+  randomNames = derive { name="randomNames"; version="0.0-6"; sha256="18fyxpqj6xv933nyv4s59wv7pgl4wra123qmf0fa68gk1zj9l153"; depends=[data_table]; };
+  random_polychor_pa = derive { name="random.polychor.pa"; version="1.1.4-1"; sha256="1051v7krrawdqnhz9q01rsknp2i7iv82d370q7m9i9d9i8wfnpk5"; depends=[psych nFactors boot MASS mvtnorm sfsmisc]; };
+  randomSurvivalForest = derive { name="randomSurvivalForest"; version="3.6.4"; sha256="1k08q43rxlz822rqzz3nvy40646764c8ds25ylsvg6daan2qzzmv"; depends=[]; };
+  randomUniformForest = derive { name="randomUniformForest"; version="1.0.6"; sha256="0qmkg8nbz3pv11yvwp45kkl3vl7mn1bgqhp5j13vr9c1gc732pgh"; depends=[Rcpp doParallel foreach ggplot2 pROC gtools]; };
+  randtests = derive { name="randtests"; version="0.3"; sha256="0v5hbbmx7cl1q8bfgk9141hqbimch5fkhcbr9xfxidydxyl9jqln"; depends=[]; };
+  randtoolbox = derive { name="randtoolbox"; version="1.15"; sha256="02knvk0ln6x0hlpbvvpll0dnb5d7s3n6zn5kdxih792y5yihiwbh"; depends=[rngWELL]; };
+  RandVar = derive { name="RandVar"; version="0.9.2"; sha256="04hw4v2d9aa8z9f8wvwbzhbfy8zjl5q8mpl9b91q86fhh1yq5cz4"; depends=[distr distrEx]; };
+  rangeMapper = derive { name="rangeMapper"; version="0.2-6"; sha256="1p4i677s7hc74snsk0vwswxp493ijwynsfmzjkrslzk819ng7zii"; depends=[RSQLite rgdal sp raster maptools RSQLite_extfuns lattice RColorBrewer classInt]; };
+  RankAggreg = derive { name="RankAggreg"; version="0.4-3"; sha256="0m9wndpfgiy9cf2ss1vk7f09yl0qiqhx48kn1qid69vhv73nsyf3"; depends=[gtools clValid]; };
+  Rankcluster = derive { name="Rankcluster"; version="0.92.9"; sha256="172jjsyc6a5y32s2fb8z6lgcq6rcwjbk3xnc5vvkhj64amlyxla6"; depends=[Rcpp]; };
+  rankhazard = derive { name="rankhazard"; version="1.0"; sha256="1kylg8yjrixbv86i2ffhhn8f5shsj8kvi66k202ari0li92y7dsg"; depends=[survival]; };
+  RankResponse = derive { name="RankResponse"; version="3.0.3"; sha256="0bl0w8dzwn73psiln4bkilq1l1bn1jnh4mmvblvb3wnms8srhrpv"; depends=[]; };
+  RANN = derive { name="RANN"; version="2.4.1"; sha256="13d2wi3r4b190f6s6y4zipqf43gy9c1h71b9j7qmc3lqca4nvzmd"; depends=[]; };
+  RAP = derive { name="RAP"; version="1.1"; sha256="18dclijs72p6gxawpg8hk7n512ah4by5jfg2jnrp8mz79ajmdgir"; depends=[]; };
+  RapidPolygonLookup = derive { name="RapidPolygonLookup"; version="0.1"; sha256="0m6r11ksryzcfcm265wr9fhwb867j9ppfhalvvygzig5j85sg92k"; depends=[sp RANN PBSmapping RgoogleMaps]; };
+  RAPIDR = derive { name="RAPIDR"; version="0.1"; sha256="06lhsjy7s71p5bcpln999smvr6n1fp5qfbr7i8wjcn4p1ddcfdcm"; depends=[data_table PropCIs]; };
+  RApiSerialize = derive { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
+  RAppArmor = derive { name="RAppArmor"; version="1.0.1"; sha256="06j7ghmzw2rrlk8nsarmpk1ab2gg88qs52zpw37rhqchpyzwwkfb"; depends=[]; };
+  rapport = derive { name="rapport"; version="0.51"; sha256="1qn45nrcawr8d9pkdnpmm37dg31l28gfbnwjl62fs7y691187cqp"; depends=[lattice plyr pander yaml reshape]; };
+  rapportools = derive { name="rapportools"; version="1.0"; sha256="1sgv4sc737i12arh5dc3263kjsz3dzg06qihfmrqyax94mv2d01b"; depends=[reshape plyr pander]; };
+  RArcInfo = derive { name="RArcInfo"; version="0.4-12"; sha256="1j1c27g2gmnxwslff4l0zivi48qxvpshmi7s9wd21cf5id0y4za4"; depends=[RColorBrewer]; };
+  rareGE = derive { name="rareGE"; version="0.1"; sha256="0v3a2wns77q923ilddicqzg0108f8kmfdnsff1n65icin7cfzsny"; depends=[MASS nlme survey]; };
+  rareNMtests = derive { name="rareNMtests"; version="1.0"; sha256="0axmxn4arw2iwsj64zsvy99hwcmkl2jy9vqnbwshl8hpaypbdxz9"; depends=[vegan]; };
+  Rarity = derive { name="Rarity"; version="1.2-1"; sha256="16ds0s396f42qqmn4xrnmfk1j6v917p27dgi9iji976hn2q463hh"; depends=[]; };
+  rARPACK = derive { name="rARPACK"; version="0.5-0"; sha256="0d4kd4fi6rvdamj5kvyba6zm0250ldm7nqrgnmapnc2q0wv0hik8"; depends=[Rcpp Matrix]; };
+  RaschSampler = derive { name="RaschSampler"; version="0.8-6"; sha256="1ap5r8k4ydnsxqz5hvnnp9cbp0mdnx5bn8pn2wh0rp42897mfm4i"; depends=[]; };
+  rasclass = derive { name="rasclass"; version="0.2.1"; sha256="04g2sirxrf16xjmyn4zcci757k7sgvsjbg0qjfr5phbr1rssy9qf"; depends=[car nnet RSNNS e1071 randomForest]; };
+  raster = derive { name="raster"; version="2.2-31"; sha256="0i0a6d8g3qxxlmp897q80lw2k3ccidrfm236l0pd9nwydy0bqpl1"; depends=[sp]; };
+  rasterVis = derive { name="rasterVis"; version="0.28"; sha256="0pq47ldjnihi1mgy5g9ymgvfm5hkpivhcz8qk3kn24cp7j06n0xh"; depends=[raster lattice latticeExtra hexbin sp zoo RColorBrewer]; };
+  rateratio_test = derive { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
+  raters = derive { name="raters"; version="1.1"; sha256="0djpax59qvvqklph847wh4m2231y3zrzv2i7maq43pr8pyw9f2md"; depends=[]; };
+  rationalfun = derive { name="rationalfun"; version="0.1-0"; sha256="15949vs9pdjz7426zhgqn7y87xzn79ikrpa2vyjnsid1igpyh0mp"; depends=[polynom]; };
+  RAtmosphere = derive { name="RAtmosphere"; version="1.1"; sha256="0mk43bq28hlrjwaycsxca458k8xf00q58czgc17d8yx3kz17a5i0"; depends=[]; };
+  rattle = derive { name="rattle"; version="3.1.0"; sha256="01kknaxg2is1isl9yjgdqvsilgrv9z4awnnd99bavpwarrb0cvg0"; depends=[]; };
+  rAverage = derive { name="rAverage"; version="0.3-6"; sha256="005gjk8bifvncl1yfazj4bs8l4k2pgygwdyfrkkd4xvcywar0p73"; depends=[foreign]; };
+  rAvis = derive { name="rAvis"; version="0.1.1"; sha256="0iyhc24xm2655wc1dhg8vhd5yr7zx6hywpxczkfs0a7pifckfy4g"; depends=[stringr XML RCurl scrapeR gdata scales rgdal maptools raster sp]; };
+  rawFasta = derive { name="rawFasta"; version="1.0.0"; sha256="0krvs8d1r8hggjg84n7g3ncdkifa3hipbma98f49kf81fzn2npip"; depends=[]; };
+  rbamtools = derive { name="rbamtools"; version="2.9.14"; sha256="0kdbgl7yivhdf6xi2xp9rdvfmpb6d090ja10lj1385qzv3ym0zln"; depends=[]; };
+  rbefdata = derive { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[XML RCurl rjson wordcloud rtematres RColorBrewer]; };
+  rbenchmark = derive { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
+  RBerkeley = derive { name="RBerkeley"; version="0.7-4"; sha256="0jslac7d0dyqxpy4lcg1i7kz9hdidnlxhf982lnsl5kx5fl0nmxi"; depends=[]; };
+  rBeta2009 = derive { name="rBeta2009"; version="1.0"; sha256="0ljzxlndn9ba36lh7s3k4biim2qkh2mw9c0kj22a507qbzw1vgnq"; depends=[]; };
+  rbhl = derive { name="rbhl"; version="0.1.0"; sha256="1m2n1qczhhdlv9pkmw9dlqi2wmdw8wac8d557c4rk0vnzwzgpgpi"; depends=[httr XML RJSONIO plyr]; };
+  RbioRXN = derive { name="RbioRXN"; version="1.3.1"; sha256="122h6pghpb8dfrqvdkvp25bp7dl8kc1aka13h6hp88vaj32pf4ij"; depends=[plyr RCurl gdata data_table stringr]; };
+  rbiouml = derive { name="rbiouml"; version="1.4"; sha256="03zpchcwq4sn8cymcrzw6r6fkxh85b8mivy42jkd0knm6i7f9aa6"; depends=[RCurl RJSONIO]; };
+  rbison = derive { name="rbison"; version="0.3.2"; sha256="04j0cq56b46d2nvvdl2sg49ffydbqv0bdzf9ccbh21y9z05s195a"; depends=[plyr httr mapproj ggplot2 gridExtra maptools sp data_table rjson]; };
+  Rbitcoin = derive { name="Rbitcoin"; version="0.9"; sha256="1l9k0pkxsdfm7aay47755zgx6k2b3pwnwxbzn80q5q27s1062pjv"; depends=[data_table RJSONIO RCurl digest]; };
+  rbitcoinchartsapi = derive { name="rbitcoinchartsapi"; version="1.0.4"; sha256="0r272jvjh3rzch8dmn4s0a5n5k6dsir7pr4qswzfvafqjdiwjajz"; depends=[RJSONIO RCurl]; };
+  rbmn = derive { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; };
+  rbounds = derive { name="rbounds"; version="2.0"; sha256="19xxz5dzzh706pp9391fq4v0g1fsd442x6mqqdvhkm51a9x0ih3p"; depends=[Matching]; };
+  rbugs = derive { name="rbugs"; version="0.5-9"; sha256="1kvn7x931gjpxymrz0bv50k69s1x1x9mv34vkz54sdkmi08rgb3y"; depends=[]; };
+  rbundler = derive { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
+  RC = derive { name="RC"; version="1.0.2.13"; sha256="0rhbmmihsk09k1nhxkbq0kgxnynl4wfz4lq2jc9cvq8afirxi7wx"; depends=[igraph bitops]; };
+  RCA = derive { name="RCA"; version="1.4.5"; sha256="0s200s28a6gh3dggad52dgqnf0k2jsfrqv1hbg8w2529v4s3dc5i"; depends=[igraph]; };
+  R_cache = derive { name="R.cache"; version="0.10.0"; sha256="0y8q3w9z9cyzsg60x95kkc81ksc2d5vpdaqg5njq5bgjyw7yjqvs"; depends=[R_methodsS3 R_oo R_utils]; };
+  RCALI = derive { name="RCALI"; version="0.2-6"; sha256="01zaks9mdgi9hcwsfvg3dwkihmb5ay5ilgg10fqcz2cssldj9x7x"; depends=[splancs]; };
+  Rcapture = derive { name="Rcapture"; version="1.3-1"; sha256="1k6w5pyml5y2sdfjc1xpl2d5p6d8zj98kwndgir56hyrrrm7nxgx"; depends=[]; };
+  rCarto = derive { name="rCarto"; version="0.8"; sha256="08813l4xfahjyn0jv48q8f6sy402n78dqsg01192pxl2dfc2i9ry"; depends=[RColorBrewer maptools classInt]; };
+  RCassandra = derive { name="RCassandra"; version="0.1-3"; sha256="0xa241s81cyw6lfjb522f2mlyrd0gav9yz3z5jab9hpdpgg9ri38"; depends=[]; };
+  rcdd = derive { name="rcdd"; version="1.1-8"; sha256="09bb92rp44palx9dvc9pb0gdmb1g22289xjk8p9s918lalc6i9aw"; depends=[]; };
+  rcdk = derive { name="rcdk"; version="3.2.3.2"; sha256="0av5g1yhixx4px8xadg0645a31rgzbpfk2gpf8szxjlb16yvb7cs"; depends=[fingerprint rJava rcdklibs png iterators]; };
+  rcdklibs = derive { name="rcdklibs"; version="1.5.4"; sha256="0ffqvyrawr3n7y6yfag3lpqaz4z2v8ng3kr9h4qfmmab317njwwn"; depends=[rJava]; };
+  RCEIM = derive { name="RCEIM"; version="0.1"; sha256="1z9vp5x4zsc2rg6b080aw88p57gg5xl88psmk0dvy30l39wm4qx5"; depends=[]; };
+  Rcell = derive { name="Rcell"; version="1.2-6"; sha256="0wly2wgm7506a9f26jbq2b0v9wlh2wyp086r2vi6bia9j8sxhi0c"; depends=[proto plyr reshape ggplot2 digest]; };
+  Rcgmin = derive { name="Rcgmin"; version="2013-02.20"; sha256="1y6095vapb3r8p9i5hqa14gfpl4q3g2n82nb64429kl6w3mlfk8f"; depends=[numDeriv]; };
+  Rchoice = derive { name="Rchoice"; version="0.1"; sha256="030x42jq6dd25g7isk5m9s0v9rfqkkj7i7286i9as1mpn73nlyz5"; depends=[maxLik Formula sandwich ggplot2 plotrix car lmtest]; };
+  rChoiceDialogs = derive { name="rChoiceDialogs"; version="1.0.4"; sha256="12gzfw0r1ljk81j7hglgsmdm7xwa2n2w2f56sg684l26jyqsaw1z"; depends=[rJava]; };
+  rcicr = derive { name="rcicr"; version="0.2.1"; sha256="0676h5n4r7ymfjq4z0y9rxx842w2byn73335k6wqxxf9sy29lsgc"; depends=[matlab aspace jpeg]; };
+  RCircos = derive { name="RCircos"; version="1.1.2"; sha256="0j7ww2djnhpra13vjr6y772sg64ikdmw1z68lpp9i7d0shlc3qx9"; depends=[]; };
+  RClimMAWGEN = derive { name="RClimMAWGEN"; version="1.1"; sha256="0icy560llfd10mxlq0xmc6lbg6a030za9sygw1rpz8sk5j0lvb84"; depends=[climdex_pcic RMAWGEN]; };
+  rClinicalCodes = derive { name="rClinicalCodes"; version="1.0.1"; sha256="1p4p8r2n0k8h9xdzbngb95rshjp3376f5lsx228biqmswhpkhvlf"; depends=[stringr RCurl XML rjson tm]; };
+  Rclusterpp = derive { name="Rclusterpp"; version="0.2.3"; sha256="02s5gmmmd0l98wd1y884pjl3h289dyd9p9s7dh7yl2zaslqs2094"; depends=[Rcpp RcppEigen]; };
+  rCMA = derive { name="rCMA"; version="1.0.0"; sha256="16d3cdxiaq65lwbvq8wjcp89vrfdp9kwrdl2jy9fynsg0v2lasvp"; depends=[rJava]; };
+  Rcmdr = derive { name="Rcmdr"; version="2.0-4"; sha256="0py5qfr1zk83hgp06xvypz5b9nml5km5xwp2hzy3cf4fd2xjkl3q"; depends=[tcltk2]; };
+  RcmdrMisc = derive { name="RcmdrMisc"; version="1.0-0"; sha256="09798qhx6qcmwpqcmn3fmaww861i5lsbqbmsbq3kx58lmablxs53"; depends=[abind Hmisc MASS e1071 car]; };
+  RcmdrPlugin_BCA = derive { name="RcmdrPlugin.BCA"; version="0.9-7"; sha256="1r4mib6r6qdhkbysxjs7s49j2l1qivlksaixzyz321jwsilpl411"; depends=[BCA car Rcmdr]; };
+  RcmdrPlugin_coin = derive { name="RcmdrPlugin.coin"; version="1.0-21"; sha256="10fapjk74fpknym3pf2c0g25c4sk0pkfkakfy2c5fw9nw4a1j71f"; depends=[Rcmdr coin survival multcomp]; };
+  RcmdrPlugin_depthTools = derive { name="RcmdrPlugin.depthTools"; version="1.3"; sha256="09mjn5jn4rdj1lh515vr3xlnk615flg13kcwbpk0an2si4xkgm9h"; depends=[Rcmdr depthTools]; };
+  RcmdrPlugin_doBy = derive { name="RcmdrPlugin.doBy"; version="0.1-3"; sha256="0nza4y8px90fbhqs9wyjy9302cjavvk72kr1553ljcyh16hjwmmr"; depends=[Rcmdr doBy]; };
+  RcmdrPlugin_DoE = derive { name="RcmdrPlugin.DoE"; version="0.12-2"; sha256="19axgapk8scqi1ky3r3m2dn942z1q6licsaym6ky7a6lygs52k4z"; depends=[DoE_base FrF2 DoE_wrapper relimp Rcmdr]; };
+  RcmdrPlugin_doex = derive { name="RcmdrPlugin.doex"; version="0.2.0"; sha256="0l3c8vwifyl8a7qkfaqxm7cws2cg1g501qa93w5svcgp03yf98mj"; depends=[Rcmdr multcomp]; };
+  RcmdrPlugin_EACSPIR = derive { name="RcmdrPlugin.EACSPIR"; version="0.2-1"; sha256="0fn12acbjh0n402hn9whhhyij3jlwmvlawyfi9myimnb4wyaqgwb"; depends=[R2HTML abind ez nortest reshape Rcmdr]; };
+  RcmdrPlugin_EBM = derive { name="RcmdrPlugin.EBM"; version="1.0-3"; sha256="189q5k7lr9laq4s10hhjnd4mfdrdjqxf7sn2q1gq9nfglcpkwql6"; depends=[Rcmdr epiR abind]; };
+  RcmdrPlugin_epack = derive { name="RcmdrPlugin.epack"; version="1.2.5"; sha256="1577qhac4rldifax5x3l39cddan6dhq2dv4iv2n64nadgrl0259w"; depends=[Rcmdr TeachingDemos tseries abind MASS xts forecast]; };
+  RcmdrPlugin_EZR = derive { name="RcmdrPlugin.EZR"; version="1.24"; sha256="1zcpj1xcbmcyrbsr0gsndm5p6qls57zrkjcidk8y27pyd6gim2zj"; depends=[Rcmdr]; };
+  RcmdrPlugin_HH = derive { name="RcmdrPlugin.HH"; version="1.1-40"; sha256="0i85bbzy46jk8568d7mx1fwq9zk51iq1jjwr2mnik4zh6914f9h5"; depends=[HH lattice latticeExtra rgl Rcmdr multcomp leaps]; };
+  RcmdrPlugin_IPSUR = derive { name="RcmdrPlugin.IPSUR"; version="0.1-8"; sha256="1xgirbwcc2jz16da9fw553phxd2i4ky5jqzspdccj1i7fd4l625m"; depends=[Rcmdr]; };
+  RcmdrPlugin_KMggplot2 = derive { name="RcmdrPlugin.KMggplot2"; version="0.2-0"; sha256="1w4n7r3sp6h87wxhrzg500w90p8dzr43j28p8p1r2y0v0i0v6mk5"; depends=[ggplot2 ggthemes gtable plyr Rcmdr RColorBrewer scales survival tcltk2]; };
+  RcmdrPlugin_lfstat = derive { name="RcmdrPlugin.lfstat"; version="0.7"; sha256="009yj9c5cr34k8qa16q19sp7c5iwv95g9swbm004nr18mfah8x9w"; depends=[lfstat Rcmdr]; };
+  RcmdrPlugin_MA = derive { name="RcmdrPlugin.MA"; version="0.0-1"; sha256="1l4nvwa0gq83ndkc190l7lba76d9gnf52k4p1z5jfpc9p9s6c20k"; depends=[MAd metafor Rcmdr]; };
+  RcmdrPlugin_mosaic = derive { name="RcmdrPlugin.mosaic"; version="1.0-7"; sha256="0k6xaz2dfm9ch9lxqsh19jm8d4bbyjj2ffmjjxl57kanb3pvrrwv"; depends=[ENmisc vcd Hmisc Rcmdr]; };
+  RcmdrPlugin_MPAStats = derive { name="RcmdrPlugin.MPAStats"; version="1.1.5"; sha256="0km6yglhn0128kk1xm2mnrkr2lkv3r9zndhlv7h1dkd16aph3vm3"; depends=[Rcmdr ordinal]; };
+  RcmdrPlugin_NMBU = derive { name="RcmdrPlugin.NMBU"; version="1.7.3"; sha256="07xghjyzpvlgav716fmm3xjk617h84m48qrjpj2nin1hkgbaab31"; depends=[mixlm MASS pls Rcmdr]; };
+  RcmdrPlugin_orloca = derive { name="RcmdrPlugin.orloca"; version="4.1"; sha256="19qj6llr5sfw267dgbn2jvrsisb54qbjhgaiigfzymk6px33wwmg"; depends=[orloca orloca_es Rcmdr]; };
+  RcmdrPlugin_plotByGroup = derive { name="RcmdrPlugin.plotByGroup"; version="0.1-0"; sha256="10wc7lnihsrldsynq2s0syr1aqmvfnj9rhgwh1nkk7jlrwcgj0z6"; depends=[Rcmdr lattice]; };
+  RcmdrPlugin_pointG = derive { name="RcmdrPlugin.pointG"; version="0.6.6"; sha256="0sc3akbpdys353va05b40g3rq8qihw0pmhvv0kckkhsgrbr8mc07"; depends=[Rcmdr RColorBrewer]; };
+  RcmdrPlugin_qual = derive { name="RcmdrPlugin.qual"; version="2.2.6"; sha256="00wznh0k909cd9vwdj1ag3224xkqnwjsad1bfkgxbszsx0w6xvy9"; depends=[Rcmdr]; };
+  RcmdrPlugin_sampling = derive { name="RcmdrPlugin.sampling"; version="1.1"; sha256="0fx0s63wq0si1jydl9xyj9ny7iglg91zpvkyrnc05i5pan9l3xd9"; depends=[lpSolve sampling MASS Rcmdr]; };
+  RcmdrPlugin_SCDA = derive { name="RcmdrPlugin.SCDA"; version="1.0"; sha256="0z43hhp798kga70xmiq4wzp5iad553rndn17g3va3dh6lz1k3y3h"; depends=[SCVA SCRT SCMA Rcmdr]; };
+  RcmdrPlugin_seeg = derive { name="RcmdrPlugin.seeg"; version="1.0"; sha256="105c2rl3mrcv7r3iqa9d2zs6cys7vfpyydylkg2cggfqkghxgr95"; depends=[Rcmdr seeg spatstat sgeostat]; };
+  RcmdrPlugin_SLC = derive { name="RcmdrPlugin.SLC"; version="0.2"; sha256="1nwpzmgfla1y05dxf81w0wmvvmvcq5jn5k8phlq30920ia7ybs8g"; depends=[SLC Rcmdr]; };
+  RcmdrPlugin_SM = derive { name="RcmdrPlugin.SM"; version="0.3.1"; sha256="10sjh2x02kb6yaxbvd9ihc6777j4iv6wi6k42gyl3k7i2c39fyn3"; depends=[Rcmdr car RColorBrewer colorspace vcd]; };
+  RcmdrPlugin_sos = derive { name="RcmdrPlugin.sos"; version="0.3-0"; sha256="1r9jxzmf5ks62b5jbw0pkf388i1lnld6i27xhfzysjqdxcnzdsdz"; depends=[sos Rcmdr tcltk2]; };
+  RcmdrPlugin_StatisticalURV = derive { name="RcmdrPlugin.StatisticalURV"; version="1.0-1"; sha256="04pqqgy12rnhwm8l0752hb9p5h4l11mm7flm6n9kkcvbkvagsbrz"; depends=[agricolae multcomp car Rcmdr]; };
+  RcmdrPlugin_survival = derive { name="RcmdrPlugin.survival"; version="1.0-4"; sha256="03rgr9klf2d1ml8i2avf9lncjr3bfcb4v7mcwg800wwdjzkwqkql"; depends=[survival date Rcmdr]; };
+  RcmdrPlugin_TeachingDemos = derive { name="RcmdrPlugin.TeachingDemos"; version="1.0-7"; sha256="0d473p0df99x9a3jfwb49gxsrcvslcw9yandramwq82cwy3sdcxw"; depends=[rgl TeachingDemos Rcmdr]; };
+  RcmdrPlugin_temis = derive { name="RcmdrPlugin.temis"; version="0.7"; sha256="1h1s2r2vz4sjnw25hvm13laflhlva28shlkg5kq6qk98p802gr19"; depends=[tm NLP slam zoo lattice Rcmdr tcltk2 ca R2HTML RColorBrewer latticeExtra stringi]; };
+  RcmdrPlugin_UCA = derive { name="RcmdrPlugin.UCA"; version="1.0-2"; sha256="11a8jaz5vycq8hnpxzrbv1g8vyh0ic1y48952ah633b2j1m1ay8i"; depends=[Rcmdr]; };
+  Rcolombos = derive { name="Rcolombos"; version="1.5.0"; sha256="139ayyc94m6srbcccw1j8p4by5nxy7s52ahvdq2ag183hk91gjq4"; depends=[httr]; };
+  RColorBrewer = derive { name="RColorBrewer"; version="1.0-5"; sha256="0y4ficfdjzrd7lkcaafjrdqr5r3jiha7rvg76h8m5yak396c9has"; depends=[]; };
+  Rcplex = derive { name="Rcplex"; version="0.3-2"; sha256="1hx9s327af7yawzyq5isvx8n6pvr0481lrfajgh8nihj7g69nmk7"; depends=[slam]; };
+  RCPmod = derive { name="RCPmod"; version="1.4"; sha256="1psn1w8ws0n96jqvd98l0wl0l46w0691c5vm9aarql2pqnc73lw9"; depends=[numDeriv gtools]; };
+  Rcpp = derive { name="Rcpp"; version="0.11.2"; sha256="1b42kmm314xzcjldcqaljsqfxczh8czjzl9afds372vh7asjmjm1"; depends=[]; };
+  Rcpp11 = derive { name="Rcpp11"; version="3.1.1"; sha256="03a28n1nk9xrl055xnnzvla8qdq8k856bj7vim2fyws5kw9b8sbp"; depends=[]; };
+  RcppBDT = derive { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[Rcpp]; };
+  rcppbugs = derive { name="rcppbugs"; version="0.1.4.1"; sha256="0wb5mzw1sdrr7lc6izilv60k5v0wcvy8q31a863b63a9jvh16g8d"; depends=[Rcpp]; };
+  RcppClassic = derive { name="RcppClassic"; version="0.9.5"; sha256="193nsplyqd1fb7hwxsk0s7dz6rm6rw7lp04jff08mswcjdkh69g4"; depends=[Rcpp]; };
+  RcppClassicExamples = derive { name="RcppClassicExamples"; version="0.1.1"; sha256="0shs12y3gj5p7gharjik48dqk0fy4k2jx7h22ppvgbs8z85qjrb8"; depends=[Rcpp RcppClassic]; };
+  RcppCNPy = derive { name="RcppCNPy"; version="0.2.3"; sha256="1baz9272vwc44yab7xb6ig0gd2gj8idrhywir2zq77q8bfhqc9gh"; depends=[Rcpp]; };
+  RcppDE = derive { name="RcppDE"; version="0.1.2"; sha256="0ji5csfygqvrcahgx5gxy7dddpykckzw8hmqslsdl7l68wj60qkc"; depends=[Rcpp RcppArmadillo]; };
+  RcppEigen = derive { name="RcppEigen"; version="0.3.2.1.2"; sha256="010a27jby8c61mgw2qb47zkln1v33gj0xcn8lf7sw0kb2mdh58yl"; depends=[Matrix Rcpp]; };
+  RcppExamples = derive { name="RcppExamples"; version="0.1.6"; sha256="1jnqh9nii5nncsah0lrkls8dqqcka9fnbvfg8ikl4cqjri17rpbv"; depends=[Rcpp]; };
+  RcppGSL = derive { name="RcppGSL"; version="0.2.2"; sha256="0f47bs3ll42wxday2bg7w5fnv8a4280yvmzkjzn3b36v8wvm44g8"; depends=[Rcpp]; };
+  RcppMLPACK = derive { name="RcppMLPACK"; version="1.0.9"; sha256="042pznzd9b43k8n57xlbl1k4w6pzn4miv44qv3cf7w5br2rk1ks7"; depends=[Rcpp]; };
+  RcppOctave = derive { name="RcppOctave"; version="0.14.1"; sha256="0fdljr0jdnardcm2qm29ibz16xymal8xac3p4grscipa44vm1w0b"; depends=[Rcpp pkgmaker digest stringr]; };
+  RcppProgress = derive { name="RcppProgress"; version="0.1"; sha256="1gvj51gadljaakm1nxdwgxzh723vv3ypzpzsgacsppxpj4rivxq4"; depends=[Rcpp]; };
+  RcppRedis = derive { name="RcppRedis"; version="0.1.1"; sha256="0q05m4vssvk9xyxskdvpgwm3mhif2xbwggpwkyxdn7frsfz2fpvm"; depends=[Rcpp RApiSerialize]; };
+  RcppRoll = derive { name="RcppRoll"; version="0.1.0"; sha256="0xwm64z7pr2cjmq4kri7zzhy7wvq7aj9lq3xm2g830fn71qvj8x3"; depends=[Rcpp RcppArmadillo]; };
+  RcppSMC = derive { name="RcppSMC"; version="0.1.4"; sha256="1gcqffb6rkw029cpzv7bzsxaq0a5b032zjvriw6yjzyrpi944ip7"; depends=[Rcpp]; };
+  RcppXts = derive { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts]; };
+  RcppZiggurat = derive { name="RcppZiggurat"; version="0.1.2"; sha256="05ai6s2j025fvr4znpmsvhxj4x7xyw2wsb9j3c5sv7aw1byfs0bb"; depends=[Rcpp]; };
+  rcqp = derive { name="rcqp"; version="0.3"; sha256="0vxcgchnxdsdamclcshjbkn00ysmfmqp586a36wsyv3zqrd6rg7p"; depends=[plyr]; };
+  Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; };
+  rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; };
+  RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops]; };
+  Rd2roxygen = derive { name="Rd2roxygen"; version="1.4"; sha256="09dxgp65zac5b9mxbjrvy3ihdwski98xva5afq659b8yfvkviq4g"; depends=[roxygen2 formatR]; };
+  rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; };
+  rdatamarket = derive { name="rdatamarket"; version="0.6.4"; sha256="16a1yxvf841505a8gh7jf09fx6ipysymrpvsd4b07xdg5hvbzx25"; depends=[zoo RCurl RJSONIO]; };
+  rdd = derive { name="rdd"; version="0.56"; sha256="1x61ik606mwn46x3qzgq8wk2f6d5qqr95h30bz6hfbjlpcxw3700"; depends=[sandwich lmtest AER Formula]; };
+  rdetools = derive { name="rdetools"; version="1.0"; sha256="0pkl990viv7ifr7ihgdcsww93sk2wlzp2cg931wywagfp8dijd02"; depends=[]; };
+  R_devices = derive { name="R.devices"; version="2.9.2"; sha256="14nr2alx59xm2cagpqrzviw7lxwxdrv9y42wb60230439nh3gpla"; depends=[R_methodsS3 R_oo R_utils base64enc]; };
+  RDIDQ = derive { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
+  RDieHarder = derive { name="RDieHarder"; version="0.1.3"; sha256="0wls7b0qfbi6hsq9xdywi4mdhim5b6mrzhvyrm9dxp9z1k7imz6m"; depends=[]; };
+  Rdistance = derive { name="Rdistance"; version="1.1"; sha256="1rgjiks4s5l0vdj4svik9zz6kwwxsh9nj6q2ng7iblny6iqm6kbd"; depends=[]; };
+  rDNA = derive { name="rDNA"; version="1.30.1"; sha256="12h83zirv55sryc1zww97ws8kvsym1z7p7y5d4w43nam8mi3fpcd"; depends=[rJava]; };
+  Rdpack = derive { name="Rdpack"; version="0.4-14"; sha256="19vscr9l63c074n76b6a6jbl956sphjhz0d50yiwp3cvqf28yssf"; depends=[gbRd bibtex]; };
+  rdrobust = derive { name="rdrobust"; version="0.6"; sha256="074lj2nz0rqxdx6cyd5cf3c073b0ra6d3pxpvp5dhx6iqzmpwcdp"; depends=[]; };
+  rdryad = derive { name="rdryad"; version="0.1.1"; sha256="0mqpkmwkznyxj0nn1v389p741dlc66dixcvljsn2rvg0q6p75fkj"; depends=[XML RCurl OAIHarvester ape gdata plyr stringr RJSONIO]; };
+  RDS = derive { name="RDS"; version="0.6"; sha256="14zk511agqckriqjiaargglzsw14mch8q7zh97qd38xg0568mh73"; depends=[ggplot2 gridExtra rgexf igraph scales locfit Hmisc reshape2]; };
+  Rdsm = derive { name="Rdsm"; version="2.0.2"; sha256="1wzfc72zjvqdffkyp19zflab88r9yb3qrd0d96k8453dgmz8aygp"; depends=[bigmemory]; };
+  RDSTK = derive { name="RDSTK"; version="1.1"; sha256="07vfhsyah8vpvgfxfnmp5py1pxf4vvfzy8jk7zp1x2gl6dz2g7hq"; depends=[plyr rjson RCurl]; };
+  rDVR = derive { name="rDVR"; version="0.1.1"; sha256="19a4f9k65bd49vkn3sxkjdmcpwyawk7gwmvancvqr745gfgs0wzg"; depends=[RCurl]; };
+  rdyncall = derive { name="rdyncall"; version="0.7.5"; sha256="0w7dwjswf8dx2w1piyrqr1wixmmlkgzlfwnnxvbiy2mfy1lwd04r"; depends=[]; };
+  ReacTran = derive { name="ReacTran"; version="1.4.1"; sha256="01k3w6iffql198na968dmqgzsqgd1kwrjb34yw7mzppyisjcyv0k"; depends=[rootSolve deSolve shape]; };
+  readbitmap = derive { name="readbitmap"; version="0.1-2"; sha256="11cha65hl5r8h143pnf54mxa0lpqphzi9l0n4bg24bjpdz15cppi"; depends=[bmp jpeg png]; };
+  readBrukerFlexData = derive { name="readBrukerFlexData"; version="1.7"; sha256="0ajahma356aicl0jpwpdynf35yrh74z8zwjhav4h7v57zlvwhh1f"; depends=[]; };
+  reader = derive { name="reader"; version="1.0.1"; sha256="1320kmysri660p54l86n260nrxskpfrwn4zbbwvp7w9fcqa09zyn"; depends=[NCmisc]; };
+  readMLData = derive { name="readMLData"; version="0.9-6"; sha256="15rb8hm60fc30xgxjwxl7v5blzf02s6cb8pk0p26cgn9liiavjhb"; depends=[XML]; };
+  readMzXmlData = derive { name="readMzXmlData"; version="2.7"; sha256="1c4q2ghp7mr1i3547vdq3mhvhqz0y2il5za5milrwb72wpq1cdfi"; depends=[base64enc digest XML]; };
+  readODS = derive { name="readODS"; version="1.4"; sha256="00xcas8y0cq3scgi9vlfkrjalphmd7bsynlzpy7izxa5w9b7x79f"; depends=[XML]; };
+  reams = derive { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; };
+  Rearrangement = derive { name="Rearrangement"; version="1.0"; sha256="0biyg2m0ip2x4fwfw7c1ynidzb5cvdlr0gycx90w319jlz3rxqz0"; depends=[quantreg]; };
+  REBayes = derive { name="REBayes"; version="0.45"; sha256="0r3adc98x84ynqh682ngr7ghf0bzqhqbjay7lq842iny2wqwi6yz"; depends=[Rmosek Matrix SparseM]; };
+  rebird = derive { name="rebird"; version="0.1.1"; sha256="0s8wmp2sghs56ppca57fjfab7wngszmy1g8rd3hiwx6br0sjidcg"; depends=[RJSONIO httr RCurl plyr]; };
+  rebmix = derive { name="rebmix"; version="2.6.1"; sha256="0yh284z0mfa24m27r5sm1qlaagz5vvd83wq7jyc42ahnfm7cm8gv"; depends=[]; };
+  recalls = derive { name="recalls"; version="0.1.0"; sha256="121r2lf32x4yq8zxx6pbnphs7ygn382ns85qxws6jnqzy52q41vh"; depends=[RCurl RJSONIO]; };
+  reccsim = derive { name="reccsim"; version="0.9-1"; sha256="17nsp91xq20vfwjfwav80qjs2wc7gwpmrdnwv7lc61baq0kkcs7k"; depends=[]; };
+  ReCiPa = derive { name="ReCiPa"; version="3.0"; sha256="019vlvgxnqqlwghxygfqggzp2b4x2pqzdrbhaa703zdhm58k0n1g"; depends=[]; };
+  recluster = derive { name="recluster"; version="2.5"; sha256="1hyq3nxbkah9jmly9a7ykzrf72r8yyd5ra5hf6d8fcprg15h8gg2"; depends=[vegan ape picante phangorn phytools cluster]; };
+  recommenderlab = derive { name="recommenderlab"; version="0.1-4"; sha256="0ays9y3l7nj4vcbdraqv627lv0vf3wiqfszcqrh74h8jz9nnx78d"; depends=[Matrix registry arules proxy]; };
+  recommenderlabBX = derive { name="recommenderlabBX"; version="0.1-0"; sha256="0dl79cxarsfp8l4nxnns05jwnjygigjhwpjrr4lzx4nvsfxmgsr2"; depends=[recommenderlab]; };
+  recommenderlabJester = derive { name="recommenderlabJester"; version="0.1-0"; sha256="1m5jg8gs16cwwwcnjzqkyzwyip8fshrwhmqz8g7nlf6g3p9347rl"; depends=[recommenderlab]; };
+  Records = derive { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; };
+  RECSO = derive { name="RECSO"; version="1.0"; sha256="1ipjfxk58wkrq6a0nqrg9b734xj1qa8xnr44xigbpjrpdqd5j3lm"; depends=[]; };
+  REdaS = derive { name="REdaS"; version="0.9.1"; sha256="0nd0d6cnx43k73cygbw0r6hdxpwkzwrlm4vr60s6hk227am15z68"; depends=[]; };
+  REEMtree = derive { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; };
+  ref = derive { name="ref"; version="0.99"; sha256="0f0yz08pqpg57mcm7rh4g0rbvlcvs5fbpjkfrq7fmj850z1ixvw0"; depends=[]; };
+  referenceIntervals = derive { name="referenceIntervals"; version="1.1"; sha256="0lw233rsyii3bjzj262qq85sf3sgj3nq7r8siwfn115amjbi6r6r"; depends=[boot extremevalues car outliers]; };
+  RefFreeEWAS = derive { name="RefFreeEWAS"; version="1.3"; sha256="1cb1q2nki0d18ia4cmi1sp7qih9hv7g1jk1kyp7vya5gp572z3cd"; depends=[isva]; };
+  refGenome = derive { name="refGenome"; version="1.2.0"; sha256="038v9pwh8fra31l14bwb2kyilmc9kqbvb9s1c0d79yxkx6znjc49"; depends=[RSQLite doBy]; };
+  RefManageR = derive { name="RefManageR"; version="0.8.3"; sha256="0ik85hgf1v347kypb7k97nhr0dm2nqz156k9lkf8dcjml3f00sk0"; depends=[XML RCurl RJSONIO plyr bibtex lubridate stringr]; };
+  refund = derive { name="refund"; version="0.1-11"; sha256="1afsxab1jivs4vj6diqh7352v98divna6az1dxsdn7lvw6cmph6y"; depends=[fda lattice boot mgcv MASS glmnet magic nlme wavethresh Matrix gamm4 matrixStats lme4 RLRsim]; };
+  refund_wave = derive { name="refund.wave"; version="0.1"; sha256="1vnhg7gi5r8scwivqjwhrv72sq8asnm4whx3jk39saphdxpk5hxv"; depends=[glmnet wavethresh]; };
+  RegClust = derive { name="RegClust"; version="1.0"; sha256="1d9w74phw4fgafglc18j7dpmln96fvxnf1kdc9zddgj90p8yfx63"; depends=[]; };
+  REGENT = derive { name="REGENT"; version="1.0.5"; sha256="1id1bkrr0q1nwja8y7glb5wsq1hkx6gf1d09vbmfl62hslqblqn8"; depends=[]; };
+  registry = derive { name="registry"; version="0.2"; sha256="1ifv9sql70kylfj12cdb1j1zpk3ix728m8qj46sf1zyc5mhll01s"; depends=[]; };
+  reglogit = derive { name="reglogit"; version="1.2-2"; sha256="0nq60s8l860z6nd52l6c77vamis7hl2j667gkxry0jir2pxsk4jp"; depends=[mvtnorm boot Matrix]; };
+  regpro = derive { name="regpro"; version="0.1.0"; sha256="0d47ffsqx1633pmf3abi7wksyng2g71mz2z9nb2zqdak794l1n44"; depends=[denpro]; };
+  regress = derive { name="regress"; version="1.3-14"; sha256="0qnks28fr8siq95iiiqyvz82cbdg14i18rj7g9rqyjhiam12fshl"; depends=[]; };
+  regRSM = derive { name="regRSM"; version="0.4"; sha256="1rg74jqj8rw69q6my0n4alflx7mgfwng35ff72bxwjhn9ghhj347"; depends=[]; };
+  regsubseq = derive { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
+  regtest = derive { name="regtest"; version="0.05"; sha256="1wrrpp2hvkas0yc512gya3pvd0v97pn4v51k5jxkwyd1pp68zd1q"; depends=[]; };
+  rehh = derive { name="rehh"; version="1.11"; sha256="1fvcwi9ijj886aswphblkxzgivmk76gr1m3s6zqblcbybxypm5cg"; depends=[gplots]; };
+  rela = derive { name="rela"; version="4.1"; sha256="00ksm7zh1mpd2d5c5d823id3sxj0h3x0ccg6a40fadibvr1ay3ny"; depends=[]; };
+  relaimpo = derive { name="relaimpo"; version="2.2-2"; sha256="1rxjg2yw2gyshaij98w83cshxwscnq3ql7bg13n7v4nbjsi1l6zh"; depends=[MASS boot survey mitools corpcor]; };
+  relations = derive { name="relations"; version="0.6-3"; sha256="1hw6g297h2az5f97q2rr3f6mb9d681wrgl9p8f2q1z3ww39b5vgw"; depends=[cluster slam sets]; };
+  relax = derive { name="relax"; version="1.3.15"; sha256="0cgvxw3pmy9kx8p81bb5n5nnbn6l9hm07k6hdy7p2j2gl15xxnpq"; depends=[]; };
+  relaxnet = derive { name="relaxnet"; version="0.3-2"; sha256="1l83rk7r4vkcxbfljmibzm8lzpx0vf406hv4h5cy9x0k3rz2bfh0"; depends=[glmnet]; };
+  relaxo = derive { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; };
+  reldist = derive { name="reldist"; version="1.6-2"; sha256="0f5l74jmk8jxi43jyjxjv9cklk8359drjkjipz7972dm3a7i4rmw"; depends=[]; };
+  relevent = derive { name="relevent"; version="1.0-3"; sha256="054x4kmc0h0s6a4svjqawy52sllzmaca46q6abnr5qhdzzmfh21n"; depends=[trust sna]; };
+  Reliability = derive { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; };
+  ReliabilityTheory = derive { name="ReliabilityTheory"; version="0.1.4"; sha256="1faab4z3rp0xqc0s0rrkw4kxgyc332xz3sjaz1wd4p6kiydds2hi"; depends=[igraph sfsmisc combinat FRACTION mcmc PhaseType actuar HI]; };
+  reliaR = derive { name="reliaR"; version="0.01"; sha256="000nafjp386nzd0n57hshmjzippiha6s6c4nfrcwl059dzmi088i"; depends=[]; };
+  relimp = derive { name="relimp"; version="1.0-3"; sha256="1isn2ns3qiz985wrg7992dmmqxwdq75a9yhfqnb64xhnzzpcpszq"; depends=[]; };
+  relSim = derive { name="relSim"; version="0.1-47"; sha256="13asl14f3547nl50jwrk72pbm2vx140k27gz3b38j28cpmvi03mz"; depends=[DNAtools]; };
+  relsurv = derive { name="relsurv"; version="2.0-4"; sha256="1da3sj7hks5azm18m23fh8r2g02p0nivgilayndxwwvd1i70ycrx"; depends=[survival date MASS]; };
+  RelValAnalysis = derive { name="RelValAnalysis"; version="1.0"; sha256="1jl1gfj44gfkmc1yp6g5wwn4miydwpvxwrg76rnkv9454zrc5pvp"; depends=[zoo]; };
+  remix = derive { name="remix"; version="2.1"; sha256="0s1gaf7vj08xd4m7lc9qpwvk0mpamabbxk71970mfazx6hk24dr0"; depends=[plyr survival Hmisc ascii]; };
+  rEMM = derive { name="rEMM"; version="1.0-8"; sha256="1d8nwranqfvr9c0g2ny7akawgqk5hjnr1mclk87gmbmwn9iwik34"; depends=[proxy MASS clusterGeneration igraph]; };
+  remMap = derive { name="remMap"; version="0.1-0"; sha256="03jbrnk8nbaj6l8g428il5h6p2sszndd2bl4rvg8347pw7cp4kk1"; depends=[]; };
+  Renext = derive { name="Renext"; version="2.1-0"; sha256="19920kb3qd97vm285zbxqarpq8dyyrx1k6sks990xjbgpy7vyj3y"; depends=[evd numDeriv]; };
+  RenextGUI = derive { name="RenextGUI"; version="1.0-2"; sha256="0ghs8bwb6qdyvhghxvdy51cibylgm7bdbzgqsn1nbxam39yhvfv9"; depends=[gWidgets gWidgetstcltk Renext]; };
+  rentrez = derive { name="rentrez"; version="0.2.4"; sha256="00ixhzwk9s802n4msd63aika2g315cw8kppr0rq02wkch7a2nl3w"; depends=[RCurl XML]; };
+  Reol = derive { name="Reol"; version="1.55"; sha256="0147x3fvafc47zd2chgv3b40k480pcjpji8vm1d741i1p6ml448p"; depends=[XML RCurl ape]; };
+  ReorderCluster = derive { name="ReorderCluster"; version="1.0"; sha256="0ss750frzvj0bm1w7zblmcsjpszhnbffwlkaw31sm003lbx9hy58"; depends=[gplots Rcpp]; };
+  Reot = derive { name="Reot"; version="0.1.0"; sha256="0kpp5mg7dpfas77mw95ryfknjvdx7vwah42dip1kgyy7sxqqhn3h"; depends=[Rcpp raster foreach]; };
+  RepeatedHighDim = derive { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; };
+  repfdr = derive { name="repfdr"; version="1.0"; sha256="1rscfbnq739al5pac1y9szjw2g6f9z6qimkvhrkn9xfchjw3jvky"; depends=[locfdr]; };
+  repmis = derive { name="repmis"; version="0.2.9"; sha256="0ivk7sfnjia6xqsk7z0sqjdyhkrr894zpjfgm3l1sqnxam001rm2"; depends=[digest httr plyr R_cache xlsx]; };
+  repolr = derive { name="repolr"; version="2.0"; sha256="10wg07sfxcxzswf3zh5sx2cm9dxjx11zymy82a4q9awnacb5gp9b"; depends=[gee]; };
+  ReporteRs = derive { name="ReporteRs"; version="0.5.5"; sha256="1g6dsdjzzc144z992cp9cd65naj4ll2b616562wlqz9983jzaap4"; depends=[ReporteRsjars rJava base64]; };
+  ReporteRsjars = derive { name="ReporteRsjars"; version="0.0.1"; sha256="0y2kzlyw2yf65jvawrvwwqhwwp0yw3ssx8y4jwkcyqn66b6gzh8j"; depends=[rJava]; };
+  reportr = derive { name="reportr"; version="1.1.2"; sha256="0lxnmay9vgg7dsa3scszx3v4lb6m3bv6kjl0dk7hrl7bd67azdrk"; depends=[]; };
+  reportRx = derive { name="reportRx"; version="1.0"; sha256="0npiflql0lq8sqp6xgydxbw7xdr0zdxj1s2h4bnpmn4clc05r7m4"; depends=[reshape survival xtable aod cmprsk geoR stringr]; };
+  reports = derive { name="reports"; version="0.1.2"; sha256="14w9dlhvk4080sq03ad3dhcww7c213f8ygbnxm7kxcpk36j71yjn"; depends=[knitr knitcitations]; };
+  reporttools = derive { name="reporttools"; version="1.1.1"; sha256="0cnxzq679f860z063j3pbm2c5qcaz45g73khj9rdp3if0cci8ikj"; depends=[xtable]; };
+  REPPlab = derive { name="REPPlab"; version="0.2"; sha256="1d3mb4mi17xlvyw9dgrcad6gfnyk0v1s0safxqyarm4xmh1bppzw"; depends=[rJava lattice]; };
+  represent = derive { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; };
+  REQS = derive { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; };
+  resample = derive { name="resample"; version="0.2"; sha256="1p6hyd0wi037bsz0xd9gkw28sp4nkj1zmqs9h0lzkxbspn6h0q7j"; depends=[]; };
+  resemble = derive { name="resemble"; version="1.1.1"; sha256="0mz5mxm6p1drfx2s9dx35m2bnvirr8lkjjh5b4vdk9p2cdv1qkkv"; depends=[RcppArmadillo foreach iterators pls Rcpp]; };
+  reshape = derive { name="reshape"; version="0.8.5"; sha256="08jm9fb02g1fp9vmiqmc0yki6n3rnnp2ph1rk8n9lb5c1s390f4k"; depends=[plyr]; };
+  reshape2 = derive { name="reshape2"; version="1.4"; sha256="0i3bim4clwyfdwwrmszsn9ga5gm4a2sh1i0jmpji3afbxc151yjp"; depends=[plyr stringr Rcpp]; };
+  reshapeGUI = derive { name="reshapeGUI"; version="0.1.0"; sha256="0kb57isws8gw0nlr6v9lg06c8000hqw0fvhfjsjyf8w6zwbbq3zs"; depends=[reshape2 plyr gWidgets gWidgetsRGtk2]; };
+  ResistorArray = derive { name="ResistorArray"; version="1.0-28"; sha256="055zr4rybgrvg3wsgd9vhyjpvzdskrlss68r0g7rnj4yxkix0kxz"; depends=[]; };
+  ResourceSelection = derive { name="ResourceSelection"; version="0.2-4"; sha256="01r1w03paazyix5jjxww89falba1qfiqcznx79a6fmsiv8gm2x5w"; depends=[]; };
+  restlos = derive { name="restlos"; version="0.1-2"; sha256="14nbi8xqjs9plkzamg0ja1mx7klpbnnglk7p2nipz551b0nmzn7i"; depends=[som rgl ade4 geometry nnclust]; };
+  restorepoint = derive { name="restorepoint"; version="0.1.5"; sha256="0xmpxprirnd1yavwk3vkc0cp715d187mn0amppya7kd47iw10wsy"; depends=[]; };
+  retimes = derive { name="retimes"; version="0.1-2"; sha256="019sllyfahlqnqry2gqw4w5cy4cavrqnwpwrbb25cgjpdb19raja"; depends=[]; };
+  reutils = derive { name="reutils"; version="0.1.2"; sha256="0f2c6zxk6x2plq649b1ml6b112j6y8ys074pn30yw35ncg3h86fa"; depends=[assertthat RCurl XML]; };
+  revealedPrefs = derive { name="revealedPrefs"; version="0.1"; sha256="1akinhrvw3rmsxircnj2ymfphsca50j2jda5v4kqcprpigf1i8j1"; depends=[Rcpp]; };
+  review = derive { name="review"; version="2.5"; sha256="0qk4n6g0hp49rjqhpipgja777namdafk6yf4kcxdld1cghdikw31"; depends=[XML Hmisc]; };
+  reweight = derive { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
+  rexpokit = derive { name="rexpokit"; version="0.24.1"; sha256="143zi6qb0l8vbx87jf58v1zfxqmvv6x4im1knd6q4dpp9gffqs22"; depends=[SparseM Rcpp]; };
+  Rfacebook = derive { name="Rfacebook"; version="0.4"; sha256="0f5wbd16a7wsw1fpficz6i2vrwyw3n75a1qm4dv5181jr6ik492p"; depends=[httr rjson]; };
+  rFerns = derive { name="rFerns"; version="0.3.3"; sha256="0d0zkqqqv9l71a5bjps1m69mrpqxkzs77zlf6kbg70b053dzhiph"; depends=[]; };
+  RFGLS = derive { name="RFGLS"; version="1.1"; sha256="13ggxj74h5b2hfhjyc50ndxznkvlg18j80m78hkzwh25d3948fsk"; depends=[bdsmatrix Matrix]; };
+  rfigshare = derive { name="rfigshare"; version="0.3.6"; sha256="1n6i5ppn3v93126gvva8sn85v1h4f7hgc43pxja9bwr1ypmzgr45"; depends=[RJSONIO httr httpuv plyr yaml ggplot2 XML]; };
+  R_filesets = derive { name="R.filesets"; version="2.4.0"; sha256="1970x41g7wxspslfijmx021z06s3lfw5wz0mr8h5bk1y8sj0gsvk"; depends=[R_oo R_methodsS3 R_utils R_cache digest]; };
+  RFinanceYJ = derive { name="RFinanceYJ"; version="0.3.1"; sha256="0qhmzsch7c2p0zckjkspsajzh8m10cf75ixjlgd0nj8rm41fngm3"; depends=[XML xts]; };
+  rfishbase = derive { name="rfishbase"; version="0.2-2"; sha256="09pa5zpw9rclf5pqj1wjjhdcblca9sm9xcs9ka3xfa7azj7n9ljd"; depends=[XML RCurl]; };
+  rfisheries = derive { name="rfisheries"; version="0.1"; sha256="1g0h3icj7cikfkh76yff84hil23rfshlnnqmgvnfbhykyr2zmk61"; depends=[httr data_table assertthat ggplot2 rjson]; };
+  Rfit = derive { name="Rfit"; version="0.18"; sha256="06zpk4nyhqcq9py5i8c4zvz02csax39r09ays97w5k24zrnwk0q9"; depends=[quantreg]; };
+  RFLPtools = derive { name="RFLPtools"; version="1.5"; sha256="0j3cdjibmdhg1qsmbpw7zbw9jz6gy662z28849xsr7gppzm08xbw"; depends=[RColorBrewer]; };
+  RfmriVC = derive { name="RfmriVC"; version="1.0.4"; sha256="15bzpwi01gb580wl0flvp7pwqf1sgk6fsdmfq4cqaprb979js79f"; depends=[mvtnorm mgcv Rniftilib]; };
+  RFOC = derive { name="RFOC"; version="3.3-3"; sha256="101d7nf4zjni5kdk54w3afdaqnjzl7y90zygybkqpd0vi82q602b"; depends=[RPMG GEOmap RSEIS MASS splancs]; };
+  RForcecom = derive { name="RForcecom"; version="0.7"; sha256="0rjav2rwanzqgi1yasbm9lj18f0mfxwd8w8x41skf656gfcpi0i4"; depends=[XML RCurl plyr]; };
+  rforensicbatwing = derive { name="rforensicbatwing"; version="1.3"; sha256="0ff4v7px4wm5rd4f4z8s4arh48hgayqjfpnni2997c92wlsq3d12"; depends=[Rcpp]; };
+  rfPermute = derive { name="rfPermute"; version="1.6.1"; sha256="1fpj0wjaxfqcp6z0azkmgqjsysgpm0vgg81pi6w9xs6a5nwa6wd1"; depends=[randomForest ggplot2 gridExtra]; };
+  RFreak = derive { name="RFreak"; version="0.3-0"; sha256="1dmllxb6yjkfkn34f07j2g7w5m63b5d10lh9xsmxyfk23b8l3x0x"; depends=[rJava]; };
+  rgabriel = derive { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
+  rgam = derive { name="rgam"; version="0.6.3"; sha256="0mbyyhhyr7ijv2sq9n7g0vaxivngwf4nbb5398xpsh7fxvgw5zdw"; depends=[Rcpp]; };
+  rGammaGamma = derive { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
+  rgauges = derive { name="rgauges"; version="0.2.0"; sha256="0p42hh32wcjcchsalpsan52kvz6nd1gw28xnydqgfzkzcqkl22dd"; depends=[ggplot2 lubridate plyr httr reshape2 gridExtra scales data_table]; };
+  rgbif = derive { name="rgbif"; version="0.7.0"; sha256="123kcwpc6n7av5waf225cc98qrdzswf5nq0fb9g9zydfs5d2qn89"; depends=[XML RCurl plyr ggplot2 maps httr maptools rgdal rgeos sp RJSONIO data_table stringr assertthat whisker]; };
+  Rgbp = derive { name="Rgbp"; version="1.0.6"; sha256="1j4j7g9z7p592f82k0yvibrydynkd9v1ldil2vf3ikc650bn2l02"; depends=[sn]; };
+  RGCCA = derive { name="RGCCA"; version="2.0"; sha256="0mcp51z5jkn7yxmspp5cvmmvq0cwh7hj66g7wjmxsi74dwxcinvg"; depends=[MASS]; };
+  rgcvpack = derive { name="rgcvpack"; version="0.1-4"; sha256="1vlvw9slrra18qaizqk2xglzky0i6z3bsan85x908wrg8drss4h5"; depends=[]; };
+  rgdal = derive { name="rgdal"; version="0.8-16"; sha256="17qk7kd0l0l52nyf6drr0gv4b0ibkggyn6g3ky9flsjy05b3wg8j"; depends=[sp]; };
+  RGENERATE = derive { name="RGENERATE"; version="1.1"; sha256="1da3b50cfv5jb63ijzbnr226jadbww2bapcxzx8am7zydm6gqnss"; depends=[RMAWGEN]; };
+  RGenetics = derive { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; };
+  rgenoud = derive { name="rgenoud"; version="5.7-12"; sha256="17gzkn4laylnksy8h2w8c0whcxpchsx7bwjzk1q5sfqxswclqq0g"; depends=[]; };
+  rgeos = derive { name="rgeos"; version="0.3-6"; sha256="134cppgg5349i5qs9k2161fakd15l1fx1x6mgv28c5vic2xdm4wl"; depends=[sp]; };
+  rgexf = derive { name="rgexf"; version="0.14.3.11"; sha256="16mil1csyzkaywcdrjzz5r60n4xhhinxawg30skc7d9awkf26qfa"; depends=[XML Rook igraph]; };
+  rggobi = derive { name="rggobi"; version="2.1.20"; sha256="1a7l68h3m9cq14k7y96ijgh0iz3d6j4j2anxg50pykz20lnykr9g"; depends=[RGtk2]; };
+  RGIFT = derive { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
+  rgl = derive { name="rgl"; version="0.93.1098"; sha256="1nc4s8a2zihd7vg8mfyfah02mickgyqxscbpd7njzv9xycvr7jv5"; depends=[]; };
+  Rglpk = derive { name="Rglpk"; version="0.6-0"; sha256="0g0s63skabr0yqk5s9p66p77z8v3pr3hbnirbgdddlvkpphi08xx"; depends=[slam]; };
+  Rgnuplot = derive { name="Rgnuplot"; version="1.0.1"; sha256="1yag6ip2ppclhnpfc3mn6bsaylv2lk2k3jr8wgrgzrb7z22p7dk8"; depends=[]; };
+  RgoogleMaps = derive { name="RgoogleMaps"; version="1.2.0.6"; sha256="1kd77617j2dz3dqjskv71vj8xv0yjgcysrpw7a615s0ys2hs91wp"; depends=[png RJSONIO]; };
+  rgp = derive { name="rgp"; version="0.4-1"; sha256="1p5qa46v0sli7ccyp39iysn04yvq80dy2w1hk4c80pfwrxc6n03g"; depends=[emoa]; };
+  rgpui = derive { name="rgpui"; version="0.1-1"; sha256="0hp1z00n6jzi45j61hlp5qj26wpjvbzjz3nvpxvmcjdmkk3vjfyp"; depends=[rgp shiny emoa]; };
+  rgr = derive { name="rgr"; version="1.1.9"; sha256="1fs8f0g1wm6virwjzlgabp1i89n8jpdiwnkvk5w1lggs36xc8q59"; depends=[MASS fastICA]; };
+  RGraphics = derive { name="RGraphics"; version="2.0-9"; sha256="1y0rrhvpn92l8mb0m8ny8ddpwgv6wkd3a10zhbing541f3y754nn"; depends=[lattice ggplot2]; };
+  rgrs = derive { name="rgrs"; version="0.3"; sha256="19whlp3i0jps4pdif03h6z79zliw4shiqh7ackhk2gwq5c28jsql"; depends=[questionr]; };
+  RGtk2 = derive { name="RGtk2"; version="2.20.31"; sha256="1ilnlmsk9fis61pc5bn9sf7z4b7vc7f0a0zcy77kk4bns6iqjvyp"; depends=[]; };
+  RGtk2Extras = derive { name="RGtk2Extras"; version="0.6.1"; sha256="19gjz2bk9dix06wrmlnq02yj1ly8pzhvr0riz9b08vbzlsv9gnk2"; depends=[RGtk2]; };
+  RH2 = derive { name="RH2"; version="0.1-2.12"; sha256="1ig9yxpaza7lm0b20sp7jr024hp284c0zs3k06k3k1vw1dyw60fj"; depends=[chron RJDBC]; };
+  rHealthDataGov = derive { name="rHealthDataGov"; version="1.0.1"; sha256="0lkjprss15yl6n9wgh79r4clip3jndly2ab1lv4iijzxnxay099d"; depends=[bit64 httr jsonlite]; };
+  Rhh = derive { name="Rhh"; version="1.0.2"; sha256="0blxim8yrb0qnbkc1z2q24q6ryakggq2zhaa223swla99ahmsny3"; depends=[]; };
+  RHive = derive { name="RHive"; version="2.0-0.0"; sha256="0r49irdwigxxqniidx7i3j7si8bw7zklw3n4zvhcmzfkvx0al91n"; depends=[rJava]; };
+  RHmm = derive { name="RHmm"; version="2.0.3"; sha256="1mnsqkg419d1z0kyxpjj9md3aammvw0xfrd7dwymii2ql050v47b"; depends=[MASS nlme]; };
+  rhosp = derive { name="rhosp"; version="1.05"; sha256="1d1a4dc8hgvjmfb21s7j19yadbi1a9qp06prd80izbhvj2hni573"; depends=[]; };
+  Rhpc = derive { name="Rhpc"; version="0.14-78"; sha256="136xld0k99nlgmg6p5dcr882f2r11b0bahh57swwcfi9nfqw3zaz"; depends=[]; };
+  RhpcBLASctl = derive { name="RhpcBLASctl"; version="0.14-72"; sha256="0417d8lvwhnfniq41wlcl642z01nv3mhzj9fyb5hlg5vafqpmp8n"; depends=[]; };
+  rHpcc = derive { name="rHpcc"; version="1.0"; sha256="0096z90mmf1j2xpb9034a5ph52m8z6n6xjh3km2vrhw63g3cpwap"; depends=[RCurl XML]; };
+  RHRV = derive { name="RHRV"; version="4.0"; sha256="16xmmmw8gsqalbqf59xwpkd2bkfwxrdx8bwdn875bizx7mn0bql7"; depends=[tkrplot waveslim nonlinearTseries]; };
+  RHT = derive { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; };
+  R_huge = derive { name="R.huge"; version="0.8.0"; sha256="00iiz1q6a5ywsidiwy6lnxjw0ig75ri914dqr7cbfccdf66fb840"; depends=[R_methodsS3 R_oo R_utils]; };
+  ri = derive { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; };
+  RI2by2 = derive { name="RI2by2"; version="1.2"; sha256="0387ncq1nhpz8521nwsjybsdpncm56nrwkz68apgihmrbjlmp6m7"; depends=[gtools]; };
+  rich = derive { name="rich"; version="0.3"; sha256="122xb729xlm8gyb7b3glw4sdvrh98wh89528kcbibpx83bp3frc0"; depends=[boot vegan permute]; };
+  ridge = derive { name="ridge"; version="2.1-3"; sha256="0pdmybygf730dw73a5ncl9fw3kjnnpqqkanqxi97aj9n4cfcjn7z"; depends=[]; };
+  RidgeFusion = derive { name="RidgeFusion"; version="1.0-2"; sha256="1izhq9vqj9kca3ddk91f5h8351qr3cnwig9i7d76rhlzawrl7ch9"; depends=[mvtnorm]; };
+  Ridit = derive { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; };
+  RIFS = derive { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; };
+  RIGHT = derive { name="RIGHT"; version="0.1.2"; sha256="047g6gymrfzccnp56pvvk3s2r19p1czm9pjmpdn3fnx13d8lalaz"; depends=[shiny]; };
+  RImageJROI = derive { name="RImageJROI"; version="0.1"; sha256="06x8p8wpzmsc6f2330m74x4dmh21dn0gqicand2l198knahp3kf7"; depends=[spatstat]; };
+  RImpala = derive { name="RImpala"; version="0.1.3"; sha256="108ykv3g17ymglcisawihlns0gzmzhx1xcbfwpa5pni4x9hxw0g9"; depends=[rJava]; };
+  rinat = derive { name="rinat"; version="0.1.4"; sha256="1m5k1wcinm6is3mf86314scgy3xfifz7ly7il5zgqyg9jkkpywbz"; depends=[httr plyr jsonlite ggplot2 maps]; };
+  rindex = derive { name="rindex"; version="0.12"; sha256="1k9zihvrp955c4lh70zjlsssviy2app8w6mv5ln4nawackbz0six"; depends=[regtest]; };
+  ringbuffer = derive { name="ringbuffer"; version="1.1"; sha256="1jj6zdvqlkc30bnxapg0sjl5ci5kq76611smqc4jc8adzhzwrh3f"; depends=[]; };
+  ringscale = derive { name="ringscale"; version="0.1.2"; sha256="1gnnapkvxmkfws8dw41gj9h3svy3h6mi4zv413aykg9vrmy7d3rp"; depends=[FITSio]; };
+  RInside = derive { name="RInside"; version="0.2.11"; sha256="09j4dpv30pp0q3h129ig15xxlp8yzxnk122iica4nv88niabjcaa"; depends=[Rcpp]; };
+  RInSp = derive { name="RInSp"; version="1.0"; sha256="154ibjx5xyibaw8hhdh4hw5rbmwp340bplvz1174n6svg2dpl542"; depends=[]; };
+  rio = derive { name="rio"; version="0.1.2"; sha256="0h80msbj1qcc9m4408qcckw238ydqdzzgr9frlmmc7qi4dyba4i4"; depends=[stringr foreign testthat]; };
+  rioja = derive { name="rioja"; version="0.8-7"; sha256="1164sxwv9wafqmprnkr9sdsd109ss8w2l1j8ir7kq8ya071k3zbl"; depends=[vegan]; };
+  ripa = derive { name="ripa"; version="2.0-2"; sha256="0n1gaga0d4bb9qdlm7gksa1nwi4y28kbgwr3icwqgihf1bfb9m81"; depends=[Rcpp]; };
+  risaac = derive { name="risaac"; version="0.1"; sha256="1ndqxlq4l48iiaghx897bhr7q56csbia7y1a98fic8hzfp03811r"; depends=[]; };
+  riskRegression = derive { name="riskRegression"; version="0.0.8"; sha256="0bjxwj4wrlcqkm1zf25p39h3jwf0f11zspzsk4b41axr3adlvmdw"; depends=[prodlim rms pec rms cmprsk survival]; };
+  risksetROC = derive { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[survival MASS]; };
+  RISmed = derive { name="RISmed"; version="2.1.2"; sha256="1hi22sf6g047m2bq9yh6bwvi1x8bjw12vslfp6iyrim0w2pk96m1"; depends=[]; };
+  Ritc = derive { name="Ritc"; version="1.0.1"; sha256="1h41s4jihzj0yj8xyan0zhhyyiq8m5567vw4gvmmr81p1qfzvva8"; depends=[minpack_lm]; };
+  rite = derive { name="rite"; version="0.3.1"; sha256="0z12jxbmis9l82y0l98gf8hyxfwasj5lpznkmi8kwvvya3jw5ypf"; depends=[tcltk2 RCurl]; };
+  RItools = derive { name="RItools"; version="0.1-12"; sha256="0zdwj5y355d8jnwmjic3djwn6zy7h1iyl58j9hmnmc3m369cir0s"; depends=[lattice SparseM xtable svd abind]; };
+  riv = derive { name="riv"; version="2.0-4"; sha256="1c9k62plqgxcgcm2j1s26hqvgww96n6bfjz2yk7m3p2wf8gkkyam"; depends=[MASS rrcov quantreg]; };
+  riverplot = derive { name="riverplot"; version="0.2"; sha256="160xy3q7a7qfabambhq0h3mrx8wbiv88xvcfzkya3fkq5nac22c5"; depends=[]; };
+  rivervis = derive { name="rivervis"; version="0.39.4"; sha256="1al0ylmpvkxfhkv9i4j6pvrlqn13pdwmzs7s6vazmgmkl3iggav4"; depends=[]; };
+  Rivivc = derive { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; };
+  RJaCGH = derive { name="RJaCGH"; version="2.0.2"; sha256="1fy8wsnv7diwg2w7j61scm6vd35a5jb36i9pzh5m7jz6yqsank50"; depends=[]; };
+  rjags = derive { name="rjags"; version="3-13"; sha256="0npfyphi8z25h7w4frplbyjgib1gawz7ib9gz5w6h2i0pricm53r"; depends=[coda]; };
+  rJava = derive { name="rJava"; version="0.9-6"; sha256="008g6s6rcb5lnz5y2a2rs4iq85a4nl522g714s1w1r153qcc0jz0"; depends=[]; };
+  rJavax = derive { name="rJavax"; version="0.3"; sha256="0sv2fjinp4wmdfvcpgm4hv8v3fkiiv84ywqyr4hz86j50ncd79km"; depends=[rJava]; };
+  RJDBC = derive { name="RJDBC"; version="0.2-4"; sha256="14nqz4gx24gcjmnd3hrhvfs5f68c3nqhb6nypv9gvk19dx1jayg0"; depends=[DBI rJava]; };
+  rje = derive { name="rje"; version="1.9"; sha256="1dyd34z6lb0p6zmyax5dpzflgc9a4saka33mvdfcxi5pj0rnygaz"; depends=[]; };
+  Rjms = derive { name="Rjms"; version="0.0.5"; sha256="0bb07wynvk07p8i5x87hlxfavjs5wf5gasfggyjxycr54sphlg6z"; depends=[rJava Rjmsjars rJava Rjmsjars]; };
+  Rjmsjars = derive { name="Rjmsjars"; version="0.0.1"; sha256="0xi42p1wgp7f15j3b74zisf0xrz86kgyn5anq3x5ahyb9cfrnmqx"; depends=[rJava rJava]; };
+  rJPSGCS = derive { name="rJPSGCS"; version="0.2-6"; sha256="1x6mwy6232kjl8ssvkbamhfvxsc3rqbjsrlrprj0bprssm3pcr2g"; depends=[rJava]; };
+  Rjpstatdb = derive { name="Rjpstatdb"; version="0.1"; sha256="0iwgsp3mblp7bsx88wfpqn09y1xrkingfkm3z9jsi2bwrnrjc2iv"; depends=[RCurl XML]; };
+  rjson = derive { name="rjson"; version="0.2.14"; sha256="0mrk2ahgb6pn7aq5lgixrxjkkpjmn4sbkazvg7bbfvyvxps1gm4k"; depends=[]; };
+  RJSONIO = derive { name="RJSONIO"; version="1.3-0"; sha256="1dwgyiy19sixhy6yclqcaaxswbmpq7digyjjxhy1qv0wfsvk94qi"; depends=[]; };
+  RJSONLD = derive { name="RJSONLD"; version="1.0.3"; sha256="17myzigzmn6hd0fbzm7h4n65aiighklrzfr3irg1520aa35s6214"; depends=[RJSONIO formula_tools stringr lmtest]; };
+  rJython = derive { name="rJython"; version="0.0-4"; sha256="13fpcw37cca738v9idqgi3gv9avfkfwfacxj54p2c4wyg46ghnah"; depends=[rJava rjson]; };
+  RKEA = derive { name="RKEA"; version="0.0-4"; sha256="0qkjnyy4b6vzdiapadx9hmw3h4gfgmbi4g5078rr6kq5kmwqlwgh"; depends=[rJava tm]; };
+  rknn = derive { name="rknn"; version="1.2"; sha256="1c92cv3462f00p237fkh06hl66j912ssiav4hpc4jphvs01g30kz"; depends=[gmp]; };
+  Rknots = derive { name="Rknots"; version="1.2.1"; sha256="1qv7l4c3n3zyz2s5whl5chi5yfb1j67kihk1c8gpjl291axmmi8w"; depends=[rgl rSymPy]; };
+  rkt = derive { name="rkt"; version="1.3"; sha256="0d82id22xac84l5iqls0mlg1g9yn4hhkmf4ln7xlp0zinmmhym9m"; depends=[]; };
+  rkvo = derive { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp]; };
+  Rlab = derive { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
+  Rlabkey = derive { name="Rlabkey"; version="2.1.123"; sha256="0jz8x3n6byxmb10jcrcyznyj3zwab3bkp2g52n707w2jv0xvn8l5"; depends=[RCurl rjson]; };
+  rLakeAnalyzer = derive { name="rLakeAnalyzer"; version="1.4"; sha256="1qs8f4sv044bxrf45wzfj444plkcq3i61353881x8shn13h3awas"; depends=[plyr]; };
+  rlecuyer = derive { name="rlecuyer"; version="0.3-3"; sha256="1n0vny3k5s5152y0ggz9vfn4bqay9ncbdzkw9g4703pszrbwq7xh"; depends=[]; };
+  rLindo = derive { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; };
+  rlist = derive { name="rlist"; version="0.3"; sha256="1l9iypqzdj8j6zg9a55xc6l31sp2lznyx17a1jsl6717bbh5bpmg"; depends=[stringdist data_table yaml jsonlite]; };
+  rlme = derive { name="rlme"; version="0.4"; sha256="02683sklihj3726a90jryybf855rvbz9v3dm9z9yhb32q9bfmy34"; depends=[MASS quantreg nlme mgcv stringr magic robustbase Rcpp]; };
+  RLRsim = derive { name="RLRsim"; version="3.0"; sha256="16bqsp15b8ikgix18p63k6sf81d1al4djbb51r08imjs4z9jppg4"; depends=[Rcpp mgcv]; };
+  RM2 = derive { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
+  rmaf = derive { name="rmaf"; version="2.0"; sha256="00qhdfzbjvmz83nicl73yhx7w8sv6j7x928j4vd6ll79098x4y84"; depends=[]; };
+  RMallow = derive { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; };
+  Rmalschains = derive { name="Rmalschains"; version="0.2-2"; sha256="1ki3igj78sk4kk1cvbzrgzjdvw6kbdb7dmqglh6ws2nmr5b6a7fx"; depends=[Rcpp]; };
+  RMark = derive { name="RMark"; version="2.1.8"; sha256="1g8zp1c6wdpi7rr0g4sfzxnvc56svl6qb2i971rvjh03ja3wzvi1"; depends=[snowfall matrixcalc msm coda]; };
+  rmatio = derive { name="rmatio"; version="0.10.0"; sha256="1p1gsv7fj14hynna4a7nnxbchd0i1db03yxah4pcz3sd3a9hqw0f"; depends=[Matrix lattice]; };
+  R_matlab = derive { name="R.matlab"; version="3.0.1"; sha256="0r8427bqr7kwrf1bp3chphpavpbaaq5yj3ad4jc40b75zg9dmi91"; depends=[R_methodsS3 R_oo R_utils]; };
+  RMAWGEN = derive { name="RMAWGEN"; version="1.2.6.1"; sha256="1j8yb37sv2ycg3zgdj6hlxvlrsgvb9rh4yxd40bah2j1xgibr36z"; depends=[chron date vars]; };
+  RMC = derive { name="RMC"; version="0.2"; sha256="1sc4nsjmaw2ajm8bka7r4mf73zxqhnvx23kl4v20pfpy9rhgd0h6"; depends=[]; };
+  RMediation = derive { name="RMediation"; version="1.1.3"; sha256="07ck74dl1wwb88229fhkh2czlynddff7zvjyhisxk53qmdb0wvmw"; depends=[MASS lavaan e1071]; };
+  RMessenger = derive { name="RMessenger"; version="0.1.5"; sha256="1xsfvygf9bbfzbldpkmg399qhfai5s5fmc60xjpkjmxhjqh4vry1"; depends=[Rcpp]; };
+  rmeta = derive { name="rmeta"; version="2.16"; sha256="1s3n185kk0ddv8v6c7mbc7cpj6yg532r7is6pjf9vda7317rxywy"; depends=[]; };
+  rmetasim = derive { name="rmetasim"; version="2.0.4"; sha256="1a3bhiybzdvgqnnyh3d31d6vdsp4mi33sv8ks9b9xd9r369npk86"; depends=[ape ade4 gtools]; };
+  R_methodsS3 = derive { name="R.methodsS3"; version="1.6.1"; sha256="1c3f64bvnpxfb3k2g7z3a6qms36z0n2hflw5w5952c82jx10cl0x"; depends=[]; };
+  rmgarch = derive { name="rmgarch"; version="1.2-8"; sha256="19q35kzyzzs19b4xgslrnl8ihlx1wlmrwfdimnq8racfx0y46lm5"; depends=[rugarch Rsolnp MASS Matrix zoo xts Bessel ff shape pcaPP spd Rcpp]; };
+  rminer = derive { name="rminer"; version="1.3.1"; sha256="0rwjv5i4lr9611lyq55ps2yna7zzarakdnbj83xfs0kva63xn7fh"; depends=[nnet kknn kernlab rpart plotrix lattice]; };
+  Rmisc = derive { name="Rmisc"; version="1.5"; sha256="1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8"; depends=[lattice plyr]; };
+  Rmixmod = derive { name="Rmixmod"; version="2.0.2"; sha256="1qv6zymkgsbplrq4aa87lvcsv75dssj8qqq2h9665v31jsgx84lr"; depends=[Rcpp]; };
+  RmixmodCombi = derive { name="RmixmodCombi"; version="1.0"; sha256="0cwcyclq143938wby0aj265xyib6gbca1br3x09ijliaj3pjgdqi"; depends=[Rmixmod Rcpp]; };
+  rmmseg4j = derive { name="rmmseg4j"; version="0.2-0"; sha256="1icc6a04hbqszzrs7sqp120v44g33rqgz2x926jvxvcishadnd90"; depends=[rJava]; };
+  rmngb = derive { name="rmngb"; version="0.4-1"; sha256="06ky3snnvg3rwz0cwi4j06w8spkl488rizn5ppph7ai5a92ydhx9"; depends=[]; };
+  RMongo = derive { name="RMongo"; version="0.0.25"; sha256="1anybw64bcipwsjc880ywzj0mxkgcj6q0aszdad6zd4zlbm444pc"; depends=[rJava]; };
+  rmongodb = derive { name="rmongodb"; version="1.6.5"; sha256="0y7vj1ci5k19qdh7jznm4izsqj2v6hfjarxq31xdmymajwi171rs"; depends=[jsonlite plyr]; };
+  Rmosek = derive { name="Rmosek"; version="1.2.5.1"; sha256="1ki28357ijwzzxyb820lsf8l5x2i46shar0v71k15hvf9jn0h7zm"; depends=[Matrix]; };
+  rmp = derive { name="rmp"; version="1.0"; sha256="1g0785fwjbwbj82sir3n7sg3idsjzdhrpxc7z88339cv9g4rl7ry"; depends=[]; };
+  Rmpfr = derive { name="Rmpfr"; version="0.5-5"; sha256="1ddyck28wb64gk3w0fph8aqsm021zv3z98jsbcdj0by77jaigmxj"; depends=[gmp]; };
+  Rmpi = derive { name="Rmpi"; version="0.6-5"; sha256="0i9z3c45jyxy86yh3f2nja5miv5dbnipm7fpm751i7qh630acykc"; depends=[]; };
+  RMRAINGEN = derive { name="RMRAINGEN"; version="1.0"; sha256="175kd803a44yblq2jw5mrn2qv4piiy249577lf684bmmajf4ird4"; depends=[copula RGENERATE RMAWGEN blockmatrix Matrix]; };
+  rms = derive { name="rms"; version="4.2-0"; sha256="1kxifrypn6a0v2rbzhn3lch821d5w9qzj9rzvrsgac4fwskis65j"; depends=[Hmisc survival SparseM]; };
+  rms_gof = derive { name="rms.gof"; version="1.0"; sha256="1n0h3nrp11f2x70mfjxpk2f3g4vwjaf4476pjjwy49smxxlxwz82"; depends=[]; };
+  RMTstat = derive { name="RMTstat"; version="0.2"; sha256="1qp4msw8ikv6zr1j1ahxgwka7878v4av6zfqvj4j9w570v8afxvf"; depends=[]; };
+  RMySQL = derive { name="RMySQL"; version="0.9-3"; sha256="1kmsrphzrk7a6f3i0pmpxlpj7w7yb5s2psx72lfv4zyd0aji83n1"; depends=[DBI]; };
+  rnaseqWrapper = derive { name="rnaseqWrapper"; version="1.0-1"; sha256="1fa3hmwrpccf09dlpginl31lcxpj5ypxspa0mlraynlfl5jrivch"; depends=[ecodist gplots gtools]; };
+  RnavGraph = derive { name="RnavGraph"; version="0.1.6"; sha256="15f4az5wcmg1fv1sl34523lwcqpz6dv63z6yvnhx8hdac5ry9biw"; depends=[]; };
+  RnavGraphImageData = derive { name="RnavGraphImageData"; version="0.0.3"; sha256="1mrh0p2ckczw4xr1kfmcf0ri2h2fhp7fmf8sn2h1capmm12i1q8f"; depends=[]; };
+  rnbn = derive { name="rnbn"; version="1.0.0"; sha256="1f3yv8cvrwlnzyk8g5b5sg5pvp6f15mi6bhfff44d0v1m6nwnp01"; depends=[RCurl RJSONIO]; };
+  RNCBI = derive { name="RNCBI"; version="0.9.1"; sha256="1gvaizcm7ajblnxkqxvdalg5kws5kfa8186hw5rr7q3dc51gxm0i"; depends=[rJava XML RNCBIEUtilsLibs RNCBIAxis2Libs]; };
+  RNCBIAxis2Libs = derive { name="RNCBIAxis2Libs"; version="0.9"; sha256="0lrvpka3bj6x6sqbjqwg8wlfgcjqq53ks4b48afqfzvqg9z8jk4d"; depends=[rJava]; };
+  RNCBIEUtilsLibs = derive { name="RNCBIEUtilsLibs"; version="0.9"; sha256="1h1ywx8wxy6n2rbpmjbqw4c0djz29pbncisd0mlbshj1fw226jba"; depends=[rJava]; };
+  RNCEP = derive { name="RNCEP"; version="1.0.6"; sha256="0z8fa7hgd6ss2yzpjn3d1ybqakgn76c7hp3h87ma0k03ilawxi09"; depends=[abind maps fields tgp fossil RColorBrewer]; };
+  RND = derive { name="RND"; version="1.1"; sha256="1rbnjkfrsvm68xp90l4awixbvpid9nxnhg6i6fndpdmqwly2fwdp"; depends=[]; };
+  rneos = derive { name="rneos"; version="0.2-7"; sha256="0vsifj6zfrdij1gjdp1dlh41cckwd04h41q30m7ard4pgyl9n7za"; depends=[RCurl XML]; };
+  RNetCDF = derive { name="RNetCDF"; version="1.6.2-3"; sha256="0drylsg3nnlb060zg7vn3n24f908mhwqf7bbw8ys32chflrdvwl2"; depends=[]; };
+  RNetLogo = derive { name="RNetLogo"; version="1.0-0"; sha256="1378v70bdk69mri6n0770q2qlch1lzi7zr2i7s9vgpnc27hxxjcx"; depends=[rJava]; };
+  RNeXML = derive { name="RNeXML"; version="1.1.3"; sha256="1fcs1fwq66fb04zi2pwgn7xfljp8053s2vb0g4j5vzv0dq7nxy98"; depends=[ape XML plyr taxize reshape2 httr uuid]; };
+  rngtools = derive { name="rngtools"; version="1.2.4"; sha256="1fcgfqrrb48z37xgy8sffx91p9irp39yqzxv7nqp1x2hnwsrh097"; depends=[pkgmaker stringr digest]; };
+  rngWELL = derive { name="rngWELL"; version="0.10-3"; sha256="1wijscc0s6h1ipc1r8h179y94s1bzf409xlpiyr1njaxvvvpwvw1"; depends=[]; };
+  rngwell19937 = derive { name="rngwell19937"; version="0.5-4"; sha256="1c6p0v673n328sdynvv780911yqxk2ayimb93k1f1h3ci915pixy"; depends=[]; };
+  Rniftilib = derive { name="Rniftilib"; version="0.0-32"; sha256="1ck7ddhm759zha1iazg5razchq3gsfq3rzvfb8ichnl5l15z9ry2"; depends=[]; };
+  RNiftyReg = derive { name="RNiftyReg"; version="1.1.2"; sha256="1g74qdx71wzyl0k7liwvl33rzhz7srmn15x55md5gyljxb5rqm6c"; depends=[reportr oro_nifti]; };
+  rnoaa = derive { name="rnoaa"; version="0.2.0"; sha256="1v1yiwzsaqk95yxxla277bfdxs397p99y17yzh8z2m2xz54pn6sh"; depends=[httr lubridate plyr ggplot2 scales sp rgdal rgeos maptools stringr XML data_table assertthat jsonlite]; };
+  rNOMADS = derive { name="rNOMADS"; version="2.0.1"; sha256="1clycf5h7gf2dcs2x4k0nqn2qbhm94a38nwvk7v89zkwzbjiy083"; depends=[scrapeR stringr fields XML GEOmap MBA RCurl]; };
+  ROAuth = derive { name="ROAuth"; version="0.9.3"; sha256="13h0q7dx4xx7fngi3zfm92ws5x4c6cfa2svq7smmci7c0z4kirb2"; depends=[RCurl digest]; };
+  RobAStBase = derive { name="RobAStBase"; version="0.9"; sha256="1428xaplcjq6r0migbaqncfj0iz8hzzfabmabm167p44wa2bwbwh"; depends=[rrcov distr distrEx distrMod RandVar]; };
+  robCompositions = derive { name="robCompositions"; version="1.8.0"; sha256="19j9x14kganramig349n5680r86f9dc83iz1h6n3626bp9da1j33"; depends=[robustbase rrcov car MASS pls]; };
+  robcor = derive { name="robcor"; version="0.1-6"; sha256="1hw8simv93jq8a5y79hblhqz157wr8q9dzgm0xhvvv5nkzyqkpzf"; depends=[]; };
+  robeth = derive { name="robeth"; version="2.7"; sha256="03pnwd3xjb9yv8jfav0s4l9k5pgpampp15ak7z0yvkjs20rvfq3d"; depends=[]; };
+  robfilter = derive { name="robfilter"; version="4.0"; sha256="1mj50531xjncg9lfidxzlyqrzwjm7pdsky88s3syspf70cjq6mg8"; depends=[robustbase MASS lattice]; };
+  RobLox = derive { name="RobLox"; version="0.9"; sha256="1ws6bkzvg1y1cwmls71das0lih6gncx5w3ncd2siznapd4n44p69"; depends=[distrMod RobAStBase lattice RColorBrewer RandVar distr]; };
+  RobLoxBioC = derive { name="RobLoxBioC"; version="0.9"; sha256="0ia7vn8x8whyp8kl7mpwd6fd0yv0y3pb1mppnh2329x7xdvcs5j4"; depends=[RobLox lattice RColorBrewer distr]; };
+  RobPer = derive { name="RobPer"; version="1.1"; sha256="00299p918xkrh8ifgblj98gbkfj5c0qygjh842j715kbqfg7zbfz"; depends=[robustbase quantreg BB rgenoud]; };
+  RobRex = derive { name="RobRex"; version="0.9"; sha256="0ii539mjq462n1lbnyv3whl8b1agvhvlz31wwyz911gb40isl639"; depends=[ROptRegTS]; };
+  RobRSVD = derive { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; };
+  RObsDat = derive { name="RObsDat"; version="14.04"; sha256="06454axywp5264cczhz8k31n7qmg95c2rnxv08frfgzwgm3cfzhr"; depends=[xts zoo DBI vwr e1071]; };
+  robumeta = derive { name="robumeta"; version="1.1"; sha256="1b1pms0jmyfw1hmw2gllhxica4sds427y92by3w99kf3472im3d5"; depends=[]; };
+  robust = derive { name="robust"; version="0.4-16"; sha256="0psai9d6w7yi0wfm57cc7b2jd5i7wbk2xagrhnvhxknw0dwzf2jh"; depends=[fit_models MASS lattice robustbase rrcov]; };
+  RobustAFT = derive { name="RobustAFT"; version="1.2"; sha256="156p5ic91f8qhc2g6zyrbipa58bvwq8xkpbbhnvx9kvrw8k62ibs"; depends=[robustbase survival]; };
+  robustbase = derive { name="robustbase"; version="0.91-1"; sha256="1sf6dx2xjhp8ydxgv9hajjp064plr88ykg7fbglcqbl8apx9pr9h"; depends=[DEoptimR]; };
+  robustfa = derive { name="robustfa"; version="1.0-5"; sha256="04nk5ipml54snsmiqf5sbhx490i46gnhs7yibf4wscrsj1bh2mqy"; depends=[rrcov]; };
+  robustgam = derive { name="robustgam"; version="0.1.7"; sha256="0s1z7jylj757g91najbyi1aiqnssd207jfm9yhias746540qp3kw"; depends=[Rcpp RcppArmadillo mgcv robustbase]; };
+  robustHD = derive { name="robustHD"; version="0.5.0"; sha256="14ql2k5880lbwkv1acydrli6jyh6dls32jjhimbz82zzkzfk2cxr"; depends=[ggplot2 perry robustbase MASS]; };
+  robustlmm = derive { name="robustlmm"; version="1.6"; sha256="18lhbnmcd6nc0qr23a19mhw9k9r30li6z92g600dil6ll8s5m54z"; depends=[lme4 Matrix ggplot2 lattice nlme robustbase xtable]; };
+  robustloggamma = derive { name="robustloggamma"; version="0.4-28"; sha256="0wwa7i2qw0fd5fiy45h7qiw7526zyyxx379ll4ha2n593dwhybx3"; depends=[robustbase]; };
+  RobustRankAggreg = derive { name="RobustRankAggreg"; version="1.1"; sha256="1pslqyr1lji1zvcrwyax4zg2s81p1jnhfldz8mdfhsp5y7v8iar3"; depends=[]; };
+  robustreg = derive { name="robustreg"; version="0.1-3"; sha256="0llnd6yzg0kg3049pcfwjzz4hnd40w06w59kvnh01q47p4c75bkj"; depends=[]; };
+  robustvarComp = derive { name="robustvarComp"; version="0.1-2"; sha256="187mcpih509hx15wjjr7z2h6h76mz2v0d8xgsxjd8wz7l3dnlp2f"; depends=[robustbase GSE numDeriv robust plyr]; };
+  robustX = derive { name="robustX"; version="1.1-4"; sha256="1s2aav2jr22dgrl7xzk09yn9909k76kpiz271w5r1id6hpfprjwc"; depends=[robustbase]; };
+  ROC632 = derive { name="ROC632"; version="0.6"; sha256="0vgv4rclvb79mfj1phs2hmxhwchpc5rj43hvsj6bp7wv8cahfg5g"; depends=[survival penalized survivalROC]; };
+  rocc = derive { name="rocc"; version="1.2"; sha256="00yxbbphhwkg4sj2h7pd9vw86yavl711nk8yylwmjd3qv39qjml0"; depends=[ROCR]; };
+  rockchalk = derive { name="rockchalk"; version="1.8.0"; sha256="17lmvdqk23jrhl8i3ygl7k49p7ckm3j5phvnxrivbnqysbz84pky"; depends=[MASS car]; };
+  RockFab = derive { name="RockFab"; version="1.2"; sha256="1b5mhfll5vmqwl4pblmclyx9604vn07jyza02rm0jcsx915ms8sc"; depends=[rgl]; };
+  rococo = derive { name="rococo"; version="1.1.2"; sha256="08204y3g3xd2srpcpnbkq1laqfr3wrhy73whlxf83gffw8j0iyv8"; depends=[Rcpp]; };
+  ROCR = derive { name="ROCR"; version="1.0-5"; sha256="1zinan5hfvgg24imn0210m2lwqk5jxmmw8gz08l44j988lw8c2iw"; depends=[gplots]; };
+  ROCt = derive { name="ROCt"; version="0.8"; sha256="1k0571gq7igg56qxwf9ibk28v763ji0w9183gs6qp95lpbyp5zwr"; depends=[date survival relsurv]; };
+  ROCwoGS = derive { name="ROCwoGS"; version="1.0"; sha256="029nramxwhzqim315g1vkg1zsszzkic28w6ahwg9n7bk9d08adzk"; depends=[]; };
+  RODBC = derive { name="RODBC"; version="1.3-10"; sha256="0zjvyg522xwd7957vg2gy6hb8bjagn5457250aqh8f1qnpp57c48"; depends=[]; };
+  RODBCext = derive { name="RODBCext"; version="0.2.3"; sha256="0j0774gpnd72mw3x9qv7shiwrk0s5rk8hf0wjq4iy42wwbvql7l6"; depends=[RODBC]; };
+  RODM = derive { name="RODM"; version="1.1"; sha256="0cyi2y3lsw77gqxmawla5jlm4vnhsagh3ykdgb6izxslc4j2fszx"; depends=[RODBC]; };
+  ROI = derive { name="ROI"; version="0.1-0"; sha256="01za8cxjf721m2lxnw352k8g32pglmllk50l7b8yhjwc49k8rl66"; depends=[registry slam]; };
+  ROI_plugin_glpk = derive { name="ROI.plugin.glpk"; version="0.0-2"; sha256="10p3cq59app3xdv8dvqr24m937a36lzd274mdl2a9r4fwny2rssa"; depends=[ROI Rglpk]; };
+  ROI_plugin_quadprog = derive { name="ROI.plugin.quadprog"; version="0.0-2"; sha256="0mkjq87rv1xf0bggpqd2r4gabv11spgcds2y94r3vpmh8krf71jf"; depends=[quadprog ROI slam]; };
+  ROI_plugin_symphony = derive { name="ROI.plugin.symphony"; version="0.0-2"; sha256="1z4cahz0h38jw54p9363ca6i3qq7dwlm3568dr91gvpqf76b05wd"; depends=[ROI Rsymphony slam]; };
+  R_oo = derive { name="R.oo"; version="1.18.0"; sha256="0difa5258i59vb538xp9p1jkzzrbmm8l35gqhpchfxk5dhn2cq9a"; depends=[R_methodsS3]; };
+  Rook = derive { name="Rook"; version="1.0-9"; sha256="013d95f2ddp0yngw7fs267k5lyksffqz61g7ngrx5faddbd6y0ym"; depends=[brew]; };
+  rootSolve = derive { name="rootSolve"; version="1.6.5"; sha256="0xr6krw9f9cjc38894x4c172vhxdpy3sp6f8sc25mwvmjwidcwrn"; depends=[]; };
+  ROptEst = derive { name="ROptEst"; version="0.9"; sha256="0m5czyqcsz42dzrhm3vwfmn046n57cb7x5sqzf2nad1gqgxzxp1d"; depends=[distr distrEx distrMod RandVar RobAStBase]; };
+  ROptEstOld = derive { name="ROptEstOld"; version="0.9.2"; sha256="0blf34xff9pjfy983xm7a27xqkh9173nk64ysas6f0g4h31gh8ax"; depends=[distr distrEx RandVar evd]; };
+  ROptRegTS = derive { name="ROptRegTS"; version="0.9.1"; sha256="1a8pbn63wh2w2n409yzbwvarvhphcn82rdqjh407ch3k3x6jz3r5"; depends=[ROptEstOld RandVar distr distrEx]; };
+  ror = derive { name="ror"; version="1.2"; sha256="0n8mk35rm3rp0c7a3i961kij21a177znh9hkq4snqqlw9vf50hdg"; depends=[rJava ROI ROI_plugin_glpk igraph]; };
+  ROracle = derive { name="ROracle"; version="1.1-11"; sha256="0q0sk5xl96s0d9c8jkd9rng0h03vyg98h7yq8x87r279pp1cp5y0"; depends=[DBI]; };
+  rorutadis = derive { name="rorutadis"; version="0.1.3"; sha256="0ik0dpmsyb4g9wl1fb7mm0dry9s26nfvv1v91cslss82phhf16wd"; depends=[Rglpk ggplot2 gridExtra]; };
+  ROSE = derive { name="ROSE"; version="0.0-3"; sha256="12b9grh3rgaa07blbnxy8nvy5gvpd45m43bfqb3m4k3d0655jpk2"; depends=[]; };
+  rotations = derive { name="rotations"; version="1.2"; sha256="13z5ysjqz3qkiw4nrp9dgy55kbmff5j7m3hfp2h0sj8x1saglf66"; depends=[ggplot2 Rcpp]; };
+  Rothermel = derive { name="Rothermel"; version="1.1"; sha256="1bfmqw2f0dd4dlvd1v8wr2iq5cd0a48cyrakxl1hy5461gkxvxls"; depends=[GA ftsa]; };
+  RoughSets = derive { name="RoughSets"; version="1.1-0"; sha256="0v6cb0xidx2rbkgb92fahrjyy974xiaizxqryzzj1z0nnqb5zadp"; depends=[]; };
+  rowr = derive { name="rowr"; version="1.0"; sha256="0ga955991ycs9sf5za1qrrf9yggnxy1yzh2mw900h124n23pj5rv"; depends=[]; };
+  roxygen = derive { name="roxygen"; version="0.1-3"; sha256="0w2n4p4skwqr0yw49l06fxmncsplfj2q4gapdbc9wpm9w1g267fw"; depends=[digest gsubfn]; };
+  roxygen2 = derive { name="roxygen2"; version="4.0.1"; sha256="116zy31qbsqc0234g1f6n3w40awd4i8255ksyvisgk0nvmwjjs80"; depends=[stringr brew digest Rcpp]; };
+  royston = derive { name="royston"; version="1.0"; sha256="1hhb1v1aqvvlzirxiyhv6zahz82w2pq4d6yp3rcakq0sw7dhawn6"; depends=[nortest moments]; };
+  rpanel = derive { name="rpanel"; version="1.1-3"; sha256="1wm0dcbyvxz4ily8skz2yda44n74x2nmc4pg11ja0yvk038gjfns"; depends=[]; };
+  rpart = derive { name="rpart"; version="4.1-8"; sha256="1vhmwvb7hsh75lvmsjmkab2zl136irca1dhr6p57s1yhmpw4cys0"; depends=[]; };
+  rpartitions = derive { name="rpartitions"; version="0.1"; sha256="1gklsi4pqhk16xp9s49n1lr9ldm1vx61pvphjqsqkzrlxwcpx3j8"; depends=[hash]; };
+  rpart_plot = derive { name="rpart.plot"; version="1.4-4"; sha256="0m7qngc9117yq69jj106svihy6s3f1byqg9qdls0bimj24insyxf"; depends=[rpart]; };
+  rpartScore = derive { name="rpartScore"; version="1.0-1"; sha256="15zamlzbf6avir8zfw88531zg5c0a6sc5r9v5cy9h08ypf34xf4y"; depends=[rpart]; };
+  rpart_utils = derive { name="rpart.utils"; version="0.5"; sha256="00ahvmly6cdf7qhhcic0dbjlljqq8kbhx15rc7vrkd3hzd55c0im"; depends=[rpart]; };
+  RPCLR = derive { name="RPCLR"; version="1.0"; sha256="03kpyszsjb656lfwx2yszv0a9ygxs1x1dla6mpkhcnqw00684fab"; depends=[MASS survival]; };
+  Rpdb = derive { name="Rpdb"; version="2.2"; sha256="0gf6qab05a3ky8skbbjiadizi1gs4pcw3zp25qj5gn82lb6382pd"; depends=[rgl]; };
+  rpf = derive { name="rpf"; version="0.36"; sha256="13b6nakpbr8y4i52m8jmgavmqml99qyca8bs22s178jc72ndqyhq"; depends=[mvtnorm]; };
+  rpg = derive { name="rpg"; version="1.1"; sha256="17wfx0dfixdkw0lqh7xcq115ksj640av2jbqbpvd0l2xnpnk9sag"; depends=[Rcpp uuid RApiSerialize]; };
+  rphast = derive { name="rphast"; version="1.5"; sha256="0r6bk0lbqpv60byhiv847ij5bxrflrs0nsla1zrn8ww7371czsgj"; depends=[]; };
+  Rphylip = derive { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
+  rPlant = derive { name="rPlant"; version="2.7"; sha256="0gqxb49d6qzkd533s9qp75byvz66v1csdlnmh3m2zg96aw32178r"; depends=[rjson RCurl seqinr knitcitations]; };
+  rplexos = derive { name="rplexos"; version="0.8"; sha256="0fgb878s68fmhdkgk8v9f3rrb1v1nd1w580vwa5bv0ix9kh7dfqq"; depends=[dplyr RSQLite RSQLite_extfuns Rcpp DBI lubridate plyr reshape2 assertthat]; };
+  rplos = derive { name="rplos"; version="0.4.1"; sha256="1v757v0b09mggdrgfzqmhvmf7yhqm3k42ml8sg8v4j74lscy653l"; depends=[ggplot2 RCurl RJSONIO XML plyr stringr googleVis httr lubridate reshape2 data_table whisker solr assertthat]; };
+  rplotengine = derive { name="rplotengine"; version="1.0-5"; sha256="1wwpfnr5vi8z26alm8y5gply0y4iniagimldzy2z696djzz8p8p8"; depends=[xtable]; };
+  RPMG = derive { name="RPMG"; version="2.1-5"; sha256="1ck6bz72h1kwi7gg8vd0zw1q61pqv23rish84zri2p18z7nd9kvh"; depends=[]; };
+  RPMM = derive { name="RPMM"; version="1.10"; sha256="0xhcf0a28zdxd6x495k9xddirkd37bzs8n99jbmsdxza19a7f0vz"; depends=[cluster]; };
+  Rpoppler = derive { name="Rpoppler"; version="0.0-1"; sha256="01zsbm538yhwm1cyz5j6x2ngz05yqj16yxyvyxqhn6jp8d0885jh"; depends=[]; };
+  rportfolios = derive { name="rportfolios"; version="1.0"; sha256="1zcv5ddmk15l0p03nlffimlhhpcc7l1c05xl2d1xlfk58rkvqns6"; depends=[]; };
+  RPostgreSQL = derive { name="RPostgreSQL"; version="0.4"; sha256="0gpmbpiaiqvjzyl84l2l8v2jnz3h41v8jl99sp1qvvyrjrickra2"; depends=[DBI]; };
+  RPPanalyzer = derive { name="RPPanalyzer"; version="1.3"; sha256="1jrij862nhwd1va54pis8shbcprjjzz22hlivzh3ifrkdf6rz4pg"; depends=[quantreg lattice gam gplots ggplot2 Hmisc]; };
+  rPref = derive { name="rPref"; version="0.1"; sha256="1mgal96qq907xj3nmzm00c9l1b1382i4p594c70wj690c4dknffp"; depends=[Rcpp dplyr igraph]; };
+  rprintf = derive { name="rprintf"; version="0.1-1"; sha256="0zdzxb3psdy51fy492rr4wnv1cw0qhyw1525aaz0lwbids1cxvwf"; depends=[stringr]; };
+  RProtoBuf = derive { name="RProtoBuf"; version="0.4.1"; sha256="1992nz0dz4h802gakcri1c9dgacxc5nvg3h5lm2zv6yg748ha6nh"; depends=[Rcpp RCurl]; };
+  rpsychi = derive { name="rpsychi"; version="0.8"; sha256="1h40kbqvvwwjkz5hrclj6j22zhav3yyfbbhqahs1whwjkksnam4w"; depends=[gtools]; };
+  rpubchem = derive { name="rpubchem"; version="1.5.0.2"; sha256="0lvi7m8jb2izsfia3c0qigsd1k1x9r02gymlwfg29pb8k10lwcjf"; depends=[XML car RCurl RJSONIO]; };
+  RPublica = derive { name="RPublica"; version="0.1.1"; sha256="0m0wib0nijya228jmcl98l2hsx8l28dg6lvpwmx67jyhpvpplpkl"; depends=[XML RJSONIO RCurl]; };
+  rpud = derive { name="rpud"; version="0.0.2"; sha256="03xddc6kh39wlcv8dvpnv4h0f5qx5cv327xip26zk7gg7pgrn05x"; depends=[]; };
+  RPushbullet = derive { name="RPushbullet"; version="0.0.2"; sha256="1234p26zrlvsniwaibj4795ds7j30aqkljlq9l06ivnz00rm8a5s"; depends=[RJSONIO]; };
+  rPython = derive { name="rPython"; version="0.0-5"; sha256="0d608v1x8walwnx7aa3m0n7999jlbiymhl7605z4n7ps6l1140mv"; depends=[RJSONIO]; };
+  RQDA = derive { name="RQDA"; version="0.2-6"; sha256="0d3jqr8bhphyi1ch9x5y0s14z86n9zspn748m9xxa15nhnyfmx3l"; depends=[RSQLite gWidgetsRGtk2 RGtk2 DBI igraph gWidgets]; };
+  Rquake = derive { name="Rquake"; version="2.2"; sha256="0gkarqqhmiakc968ffwywkwy7npm1ly5gd6bbhr8fjfwdnhjam5n"; depends=[RPMG RSEIS GEOmap MBA minpack_lm rgl]; };
+  RQuantLib = derive { name="RQuantLib"; version="0.3.12"; sha256="1ih7lkpa3p0ipgc8hs9miv500rk285ddc7pmn2qv03ibpsdlvjmq"; depends=[Rcpp]; };
+  Rramas = derive { name="Rramas"; version="0.1-4"; sha256="191rm2ylvf3ffc9i4wpjvfbsinmw7s1m0wcq24j4qs4fxg8qqzyq"; depends=[diagram]; };
+  rrBLUP = derive { name="rrBLUP"; version="4.3"; sha256="0wydh4sx7b6rcrgb3qvqh0z46pixx63711q2nf8s3c32090a5g81"; depends=[]; };
+  rrBlupMethod6 = derive { name="rrBlupMethod6"; version="1.3"; sha256="1qwv954mhry46ff2ax48xcmnasygi5alv8d413g3qbk2da6i0d8l"; depends=[]; };
+  rrcov = derive { name="rrcov"; version="1.3-4"; sha256="0k2lqwsfb9ir053m4dbz8z57xq6mlfj63i1k64p1h5jdzbpyw1ks"; depends=[robustbase pcaPP mvtnorm]; };
+  rrcovHD = derive { name="rrcovHD"; version="0.2-2"; sha256="03b1mpqqhfjxjzz9agx575mcgalb7jrsv843zjqv9jp4wszprs6z"; depends=[rrcov robustbase pcaPP pls spls]; };
+  rrcovNA = derive { name="rrcovNA"; version="0.4-4"; sha256="0zrzgnl83wfsaz0rma07hgb5jlmhvqwv06q7zkm65xd6mfsalqv0"; depends=[rrcov robustbase norm]; };
+  rrdf = derive { name="rrdf"; version="2.0.2"; sha256="1m1dfxi720c0xyj1x41zc4vc3dhxs9flysm4xri8b7cibx44piyk"; depends=[rJava rrdflibs]; };
+  rrdflibs = derive { name="rrdflibs"; version="1.3.0"; sha256="1qhi0diwvlw5icbym0nlg2yy8gibajycw55szsiipdxkjxj5r85l"; depends=[rJava]; };
+  Rrdrand = derive { name="Rrdrand"; version="0.1-9"; sha256="11j3zi27469nckh1irrhkm3386yagfqny7s6rh5gb7y0988194yy"; depends=[]; };
+  rredis = derive { name="rredis"; version="1.6.8"; sha256="01kksak1hdlcc2q32rzs8i45flxb7shzyq785yr0kanr54pd874z"; depends=[]; };
+  RRF = derive { name="RRF"; version="1.6"; sha256="1gp224mracrz53vnxwfvd7bln18v8x7w130wslhfgcdl0n4f2d28"; depends=[]; };
+  rriskDistributions = derive { name="rriskDistributions"; version="2.0"; sha256="0278426m4v7b8qb9ydzxqncayq8z25b36n4livqg40zpazp3hy85"; depends=[mc2d eha msm tkrplot]; };
+  rrlda = derive { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[pcaPP mvoutlier glasso matrixcalc]; };
+  R_rsp = derive { name="R.rsp"; version="0.19.0"; sha256="0qh9nd6zpiw4c86qlwys8g7rqvay20m1yfp2zrvah5bz51hixbd1"; depends=[R_methodsS3 R_oo R_utils R_cache]; };
+  rrules = derive { name="rrules"; version="0.1-0"; sha256="0f9msp289akzricjrm8dvfbh2dihfbszr7ms4fld1cr30zssajin"; depends=[]; };
+  RSA = derive { name="RSA"; version="0.9.3"; sha256="132fqsr6zzv0q5maxgdh8amg6g0if3wdbhml0p0r668yy1wiq5l8"; depends=[lavaan ggplot2 lattice gridExtra plyr RColorBrewer]; };
+  RSADBE = derive { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; };
+  rsae = derive { name="rsae"; version="0.1-5"; sha256="1f3ry3jwa6vg2vq2npx2pzzvfwadz8m48hjrqjk860nfjrymwgx5"; depends=[]; };
+  RSAGA = derive { name="RSAGA"; version="0.93-6"; sha256="0wqiww0rx5fz4rbsb1x6pr2q0wz5dacj5fc0asj70igxwmh5x0p8"; depends=[gstat shapefiles plyr]; };
+  RSAP = derive { name="RSAP"; version="0.9"; sha256="1sxirfabhpmfm0yiiazc9h1db70hqwva2is1dql6sjfanpl8qanl"; depends=[yaml reshape]; };
+  rSCA = derive { name="rSCA"; version="2.1"; sha256="1lpix8xsjzyhgksmigvqxpv2bvaka0b1q2kcvdyfrfcw713n19rw"; depends=[]; };
+  RSclient = derive { name="RSclient"; version="0.7-2"; sha256="04ml4pynjl97295wrclvb61mpwacrkzc9x5pbwyfg1qr3l8hss93"; depends=[]; };
+  rscproxy = derive { name="rscproxy"; version="2.0-5"; sha256="1bjdv7drlnffcnyc0j8r22j7v60k1xj58bw8nk9l8wvnmngrjz86"; depends=[]; };
+  RSDA = derive { name="RSDA"; version="1.2"; sha256="06sa3x0abm2gnf4i4y3d5mlqj1wl7mzzal27sa1x65awzi6rs2kz"; depends=[sqldf XML scales FactoMineR ggplot2 glmnet abind scatterplot3d]; };
+  rsdepth = derive { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
+  RSeed = derive { name="RSeed"; version="0.1.31"; sha256="0wljchzkp8800v9zcgjapkbildkb3p2xnkh1m6m7q6qqc9aw8mws"; depends=[sybil]; };
+  rseedcalc = derive { name="rseedcalc"; version="1.2"; sha256="1di9bzwxyxm9gs14ks9z6sixi656hz9xwmq3aaqh53cjjr1ka0rc"; depends=[]; };
+  RSEIS = derive { name="RSEIS"; version="3.3-3"; sha256="13fb4mx3sgnbrcn1kkxy0a490kikjrq49ii3x14xw2s8ci030wlr"; depends=[RPMG Rwave]; };
+  RSelenium = derive { name="RSelenium"; version="1.3.1"; sha256="0cp48ga35v82y34r362ghkargkhr0nqfn0p15yifmfmd65l9j5q5"; depends=[RCurl RJSONIO caTools XML]; };
+  rsem = derive { name="rsem"; version="0.4.5"; sha256="02vccj03bxisi2jwl31rwi4gw9i26g70aagdgg5gk8z0bys78v4d"; depends=[MASS lavaan]; };
+  Rserve = derive { name="Rserve"; version="1.7-3"; sha256="09rha4p86vak7ss721mwp5bm5ig09xam8zlqv63n9wf36v3kdmpn"; depends=[]; };
+  rSFA = derive { name="rSFA"; version="1.03"; sha256="0bgapvlx5n0984ryyh1is0w88lhxj49gcar8gkwiw455jbzx7isp"; depends=[MASS]; };
+  rsgcc = derive { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene stringr snowfall]; };
+  RSGHB = derive { name="RSGHB"; version="1.0.2"; sha256="0ffdx9lscbgknfqhvjdh3rwnlhiqxbpqa55jkn111a1vfv726v3d"; depends=[]; };
+  RSiena = derive { name="RSiena"; version="1.1-232"; sha256="0qp3bqq5p19bg47m37s2dw8m4q91hnkc2zxwhsgb076q0xvvv9xq"; depends=[Matrix]; };
+  rsig = derive { name="rsig"; version="1.0"; sha256="129k78i8kc30bzlphdb68vv3sw2k6xyiwrhw08vhzz6mf3jxlqsh"; depends=[survival BBmisc glmnet superpc Matrix]; };
+  RsimMosaic = derive { name="RsimMosaic"; version="1.0.1"; sha256="10xlmzsrc4m6lsinrvl4kw0zdrqmidqi2a9s87sx1rfilvzv0ri4"; depends=[jpeg fields RANN]; };
+  RSiteCatalyst = derive { name="RSiteCatalyst"; version="1.3.3"; sha256="0z6yg403qg2b18261s3v406ji18wpsjmd7i8v7ilr94pwgx0xhcl"; depends=[digest httr rjson plyr stringr base64enc]; };
+  RSKC = derive { name="RSKC"; version="2.4.1"; sha256="1dvzxf001a9dg71l4bh8z3aia7mymqy800268qf7qzy9n6552g59"; depends=[flexclust]; };
+  rsm = derive { name="rsm"; version="2.06"; sha256="0pjkqdhzmnzfc400z5xpdb17v6qckpnx2qpia2hm51m7xjfhks5b"; depends=[]; };
+  RSNNS = derive { name="RSNNS"; version="0.4-5"; sha256="1wk91vjgf7q65n9q8hciv08bgzawpljnhaqgy9qdwpr82v8959i7"; depends=[Rcpp]; };
+  rsnps = derive { name="rsnps"; version="0.1.0"; sha256="1wpbr2sjcw6hh9sq8h2jzgvc4xlygf0kcd91sqg89nmprfw73j6c"; depends=[plyr stringr httr RCurl XML]; };
+  RSNPset = derive { name="RSNPset"; version="0.2"; sha256="0ivym4ysadvlfr9k4ikpw2diil9xd3hqx6xj8jcz482d3h8qcgq6"; depends=[fastmatch foreach doRNG Rcpp]; };
+  RSocrata = derive { name="RSocrata"; version="1.5"; sha256="0hbazn4c3bmx9kc030l19ciz9m0r5p6760ggyxl8f7sh8g3bqw32"; depends=[httr jsonlite]; };
+  RSofia = derive { name="RSofia"; version="1.1"; sha256="0q931y9rcf6slb0s2lsxhgqrzy4yqwh8hb1124nxg0bjbxvjbihn"; depends=[Rcpp]; };
+  Rsolnp = derive { name="Rsolnp"; version="1.14"; sha256="0i5d8133vg0939j5772nbw1wd4cyp6q4684iqnl12qkk30hnh94s"; depends=[truncnorm]; };
+  Rsomoclu = derive { name="Rsomoclu"; version="1.3.1"; sha256="106cbp8vm5sx8h6k0ddlp51r65jl0d6c0bz29vp8z4adx8ikacsm"; depends=[Rcpp]; };
+  rspa = derive { name="rspa"; version="0.1-5"; sha256="18p2q2q372vbf90dfilcah07w1ivb34mv7rm5882z2s1jlixa5dk"; depends=[editrules]; };
+  rspear = derive { name="rspear"; version="0.1-2"; sha256="1rjg84plnvlcp3p2929f1afl43lb92d3bfsvlhsaw92z7iva1vad"; depends=[plyr]; };
+  RSpincalc = derive { name="RSpincalc"; version="1.0.1"; sha256="0n751l329j9pgpdnqrdnf93i9l1qxfp2bl4v4ray3nrnjx8g5mc9"; depends=[]; };
+  rsprng = derive { name="rsprng"; version="1.0"; sha256="1sfjwfm03pn73mcq4f2chsldjlhmpjxhqkpmaqf71jbmb7ph41ip"; depends=[]; };
+  RSQLite = derive { name="RSQLite"; version="0.11.4"; sha256="0300q901bc0zypvapq8kp0ixpm4vbg5a27bkg9k0s4m3l7rcp85v"; depends=[DBI DBI]; };
+  RSQLite_extfuns = derive { name="RSQLite.extfuns"; version="0.0.1"; sha256="03ixy1q5dv4fnp4m1h75c7rvgfgfyxk5hgzd7fl7pqa1q13pjp6a"; depends=[RSQLite]; };
+  Rssa = derive { name="Rssa"; version="0.11"; sha256="06mg1fdviayvhc50p9l5imh431b7cb3f3x3pl513phwhsv0qc0lk"; depends=[svd forecast lattice]; };
+  rstiefel = derive { name="rstiefel"; version="0.9"; sha256="1l80bx07swalh5dbx34zwjza3xf3nk1kp1832v6hzk60i5xycdxd"; depends=[]; };
+  RStorm = derive { name="RStorm"; version="0.902"; sha256="1apk358jwzg5hkrcq8h39rax1prgz9bhkz9z51glmci88qrw1frv"; depends=[plyr]; };
+  rstream = derive { name="rstream"; version="1.3.2"; sha256="1habswhdlx7l92s9p9554px4kf9f9mhk5vkdq2fv4wk3381c0fgi"; depends=[]; };
+  rstudioapi = derive { name="rstudioapi"; version="0.1"; sha256="027482pbdxnfhcpdw2ns2qhpa18zri71nz8fk0svq6900m2237h8"; depends=[]; };
+  rsubgroup = derive { name="rsubgroup"; version="0.5"; sha256="1hrsp920gv0fr7s3w07vxish6wk3wnhd1rj04zvndd563fxvnl0l"; depends=[rJava foreign]; };
+  Rsundials = derive { name="Rsundials"; version="1.6"; sha256="0vrvxsznbclgls4jljc59lyli6cw9k1a3wapfrs6xbkqi8865iif"; depends=[]; };
+  RSurvey = derive { name="RSurvey"; version="0.8-0"; sha256="1kc07hvvpyk83ci0x6g0lmnxksd91y2ilfalbhlbp69jid111k1v"; depends=[sp rgeos MBA]; };
+  RSvgDevice = derive { name="RSvgDevice"; version="0.6.4.4"; sha256="0vplac5jzg6bmvbpmj4nhiiimsr9jlbk8mzyifnnndk9iyf2lcmz"; depends=[]; };
+  RSVGTipsDevice = derive { name="RSVGTipsDevice"; version="1.0-4"; sha256="1ybk5q4dhskrh7h1sy86ilchdwi6rivy3vv3lph6pms2virgm854"; depends=[]; };
+  Rsymphony = derive { name="Rsymphony"; version="0.1-17"; sha256="1wg1l4535xmrqvyhf23b9kw3ggqxlcrig0x0dnhx0m2qr9v3ijni"; depends=[]; };
+  rSymPy = derive { name="rSymPy"; version="0.2-1.1"; sha256="1mrfpyalrq8b6yicy28jsj0xy7hlawa72imsfhabwd3hrx6ld150"; depends=[rJython]; };
+  rtape = derive { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; };
+  RTConnect = derive { name="RTConnect"; version="0.1.4"; sha256="1000jmmqzyhl6vh1ii75jdh88s9inaz52gvfwcin2k2zr7bi91ba"; depends=[]; };
+  RTDE = derive { name="RTDE"; version="0.1-0"; sha256="00hh1axipp2blrhjwl9mc4fkqv3l132gxlhi9hdy52w20yhwigin"; depends=[]; };
+  rtematres = derive { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[XML RCurl plyr gdata]; };
+  rTensor = derive { name="rTensor"; version="1.1"; sha256="0350cpafvdrjz5ibgk6bfw8j0kc3vr8vw84hw8jlbi96ia7p6w00"; depends=[]; };
+  RTextTools = derive { name="RTextTools"; version="1.4.2"; sha256="1j3zfywq8xgax51mbizxz704i3ys4vzp8hyi5kkjzq6g2lw7ywq2"; depends=[SparseM randomForest tree nnet tm e1071 ipred caTools maxent glmnet tau]; };
+  RTextureMetrics = derive { name="RTextureMetrics"; version="1.1"; sha256="0d0mvpmcpd62cvqlajrqp32lnvpflyf9bqvdzly2v8v1kb8274fc"; depends=[]; };
+  rtf = derive { name="rtf"; version="0.4-11"; sha256="04z0s5l9qjlbqahmqdaqv7mkqavsz4yz25swahh99xfwp9plknfl"; depends=[R_oo R_methodsS3]; };
+  rtfbs = derive { name="rtfbs"; version="0.3.2"; sha256="1v26znlispc8304xid0dsflphiwzil6nrxlsgj8dkp4prh6hdb34"; depends=[rphast]; };
+  rtiff = derive { name="rtiff"; version="1.4.4"; sha256="13cz35dfz735yk2lci8cmjmsg4ddm31lv98lpx8ymy3bwmzdmc3c"; depends=[pixmap]; };
+  RTOMO = derive { name="RTOMO"; version="1.1-2"; sha256="15swp7jx5xmj87hjcfdar3r5sqnnb795qclf8b7l4bvx80h9nh2i"; depends=[RPMG GEOmap RSEIS splancs]; };
+  rtop = derive { name="rtop"; version="0.3-45"; sha256="0dh7jlnakk1hd27swspa0fj6pq6yddxhz32w3d7xq8jgr7xm8d70"; depends=[sp gstat]; };
+  RTriangle = derive { name="RTriangle"; version="1.6-0.6"; sha256="1g4dp792awbvsl35nvyd8gkx99p2njdcafin16qysfrjl43f5i4s"; depends=[]; };
+  rts = derive { name="rts"; version="1.0-3"; sha256="0jqk0p2q1vx9l6zf9pbc5k3lsw4hg5x1r6p0f7wjiks50x55pbl4"; depends=[raster xts zoo]; };
+  Rtsne = derive { name="Rtsne"; version="0.8"; sha256="153f02f6iizd9986d6hxvpdddrwhnjy9a9yyrch2zcmcbh63hfba"; depends=[Rcpp]; };
+  Rttf2pt1 = derive { name="Rttf2pt1"; version="1.3.1"; sha256="0hz7fgj2p410m19r88qqdm9cc5m729sgacinazfsi93qz9rp1r51"; depends=[]; };
+  rtype = derive { name="rtype"; version="0.1"; sha256="14x86lhy5fmh2k1463p4v0lhsy51q0fkyg0jgnh7g65sry41bd68"; depends=[]; };
+  Ruchardet = derive { name="Ruchardet"; version="0.0-3"; sha256="0dgldi6fgp949c3455m9b4q6crqv530jph210xzph41vgw8a2q2v"; depends=[Rcpp]; };
+  rugarch = derive { name="rugarch"; version="1.3-3"; sha256="16vjk4vmsp35dgyb17c43q29z2laq320x6g73p5jc7l6xdjd3v5b"; depends=[Rsolnp nloptr ks numDeriv spd xts zoo chron SkewHyperbolic expm Rcpp]; };
+  RUnit = derive { name="RUnit"; version="0.4.26"; sha256="0glz0ag2za5g4k8fjnsr97504bfk9d6khly1rqrrngg4qxz5wlf0"; depends=[]; };
+  Runiversal = derive { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; };
+  runjags = derive { name="runjags"; version="1.2.1-0"; sha256="0rsqyrk9vzrnhw66c7hdqnbnvk6qsl882fshh2njzivaqxk2ibqq"; depends=[lattice coda]; };
+  Runuran = derive { name="Runuran"; version="0.20.0"; sha256="1syzrmkw96gsw7vf10f1515zdqm9hdmq1v6yf1nbmipil1nkgsqs"; depends=[]; };
+  RunuranGUI = derive { name="RunuranGUI"; version="0.1"; sha256="0wm91mzgd01qjinj94fr53m0gkxjvx7yjhmwbkrxsjn6mjklq72l"; depends=[Runuran rvgtest gWidgets gWidgetsRGtk2 cairoDevice]; };
+  R_utils = derive { name="R.utils"; version="1.32.4"; sha256="12ypy8sxk5w1a3mpg4hi6k5db7ydrlj7qmp2lzh1rzcpbdg3wgka"; depends=[R_oo R_methodsS3]; };
+  rv = derive { name="rv"; version="2.3.1"; sha256="0bjqwk7djl625fws3jlzr1naanwmrfb37hzkyy5szai52nqr2xij"; depends=[]; };
+  RVAideMemoire = derive { name="RVAideMemoire"; version="0.9-38"; sha256="02683sklihj3726a90jryybf855rvbz9v3dm9z9yhb32q9bfmy34"; depends=[ade4 boot car lme4 lsmeans MASS mixOmics multcomp statmod]; };
+  rvalues = derive { name="rvalues"; version="0.2"; sha256="1zc4irq0s9mm7yz8pc3n9il0z508wwf2a2j741wyyw90f35fasi0"; depends=[]; };
+  Rvcg = derive { name="Rvcg"; version="0.8"; sha256="086r4vvqidwzikdmvij52nqgb1ka5z5f0k9c9qi6izn450lpf34y"; depends=[Rcpp]; };
+  rvertnet = derive { name="rvertnet"; version="0.0-5"; sha256="1rj6csx2qb094wgkablrpzlbqb0hpzg5d29xrar2cy39gjmz40cj"; depends=[RCurl plyr RJSONIO httr ggplot2 maps]; };
+  rvgtest = derive { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; };
+  rvHPDT = derive { name="rvHPDT"; version="3.0"; sha256="05nrfnyvb8ar7k2bmn227rn20w1yzkp1smwi4sysc00hyjrlyg8s"; depends=[gtools]; };
+  RVideoPoker = derive { name="RVideoPoker"; version="0.3"; sha256="06s4dlw0pw8rcq5b31xxqdpdk396rf27mai2vpvmn585vbm1ib7a"; depends=[pixmap tkrplot rpanel]; };
+  Rvmmin = derive { name="Rvmmin"; version="2013-11.11"; sha256="14gsdvw7qxcffwkh0ayj0vlm0cqyavqgl4rqn5ybjr0pkbsmz955"; depends=[optextras]; };
+  RVowpalWabbit = derive { name="RVowpalWabbit"; version="0.0.6"; sha256="06f2lmls92qkbscss00c99xkzpx83mgjah6ds0sixv1b2qi216ap"; depends=[Rcpp]; };
+  RVsharing = derive { name="RVsharing"; version="1.1.0"; sha256="0gcas4rb8pms470dhbm2c2x87an0j594xsziglgd84nqn4gq095d"; depends=[kinship2]; };
+  rvTDT = derive { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; };
+  RVtests = derive { name="RVtests"; version="1.2"; sha256="0k7w6ml981zvr5bix197qw4kaf7rz5jqnwqlxf7aryxbm39gk16c"; depends=[glmnet spls pls]; };
+  Rwave = derive { name="Rwave"; version="2.2"; sha256="1aqscnq7cr53nnddbjdqfjyrj8l76h9wcqr43i7fpa7g6hamvbwd"; depends=[]; };
+  rWBclimate = derive { name="rWBclimate"; version="0.1.3"; sha256="0vs56hx7a85pw4jx8nb8bdlr9dbkl4zdhzhqsm0505xc3qz18vxh"; depends=[ggplot2 httr plyr rgdal jsonlite reshape2 sp]; };
+  RWBP = derive { name="RWBP"; version="1.0"; sha256="104vr2cdk185hh4zn3vmqvb14p1q8ifk11wdgvk7fli1m1zxxwdd"; depends=[RANN igraph lsa SnowballC]; };
+  RWeather = derive { name="RWeather"; version="0.4"; sha256="1vm8w07gsxwxvg1gpdzn6mpnh8g9kp0ln9fxjw5rl2f1zz80bxpy"; depends=[XML]; };
+  RWebLogo = derive { name="RWebLogo"; version="1.0.3"; sha256="1n65mlnr163ywjnyyngnigbj0wpgkr38c3nx8hw5r8mwjnf3d617"; depends=[findpython]; };
+  RWeka = derive { name="RWeka"; version="0.4-23"; sha256="1p1kz6if5yhmjvjzvr0ig5i0l6g7bzp6z8q4jssrp2g07g576084"; depends=[RWekajars rJava]; };
+  RWekajars = derive { name="RWekajars"; version="3.7.11-1"; sha256="1w8y8xxsmm9b7hnnwknsbivkgbarnfqmv9666b7c5db9yra1hf7f"; depends=[rJava]; };
+  RWiener = derive { name="RWiener"; version="1.2-0"; sha256="1ssh4xcyr4whgyd91p6bjsm9mq1ajqjqva0yyk13dnf5jfpsr0gs"; depends=[]; };
+  Rwinsteps = derive { name="Rwinsteps"; version="1.0-1"; sha256="0kzngkan9vydibnr3xm4pyz4v6kz0r4h19f0ngqpri07fkhdsxzd"; depends=[]; };
+  rwm = derive { name="rwm"; version="1.53"; sha256="0x19502xzc3x90iwvhvj24w36qab79v4y7mb37ax8a0n3pw6rah8"; depends=[]; };
+  rworldmap = derive { name="rworldmap"; version="1.3-1"; sha256="0wrg6ap39bq88sv5axxd90yyqafn77amk5429pxd9v5a2hdm3g8w"; depends=[sp maptools fields]; };
+  rworldxtra = derive { name="rworldxtra"; version="1.01"; sha256="183z01h316wf1r4vjvjhbj7cg4xarn4b8qbmnn5y7nrrdndzi163"; depends=[sp]; };
+  rwt = derive { name="rwt"; version="1.0.0"; sha256="112wp682z4gkxsd3bqnlkdrh42bfzwnnhzyangxi2dh0qw63bgcr"; depends=[matlab]; };
+  RxCEcolInf = derive { name="RxCEcolInf"; version="0.1-3"; sha256="04d6ffl4qs2vjbk0ibvyq17i2l26qnvxr72s6p3f8q4px33rh4kh"; depends=[MASS MCMCpack mvtnorm lattice]; };
+  RXKCD = derive { name="RXKCD"; version="1.7-5"; sha256="0dsds1bv2vfq61gfppar2ai23dryh09ric5i6zaccms6q64z23md"; depends=[RJSONIO png jpeg plyr]; };
+  RXMCDA = derive { name="RXMCDA"; version="1.5.3"; sha256="1pc52kvihxzq12p95r4srmnawxcsvd4r7252dajby338p56d1lw8"; depends=[XML kappalab]; };
+  RXshrink = derive { name="RXshrink"; version="1.0-8"; sha256="0l4aknr1vxrkxqsgkjcffs0731jskyzvl055a01vd8h4a0826n5s"; depends=[lars]; };
+  Ryacas = derive { name="Ryacas"; version="0.2-11"; sha256="116ncg48ih1v3ra095k63ccqchfbvzixh3cfjb2bbc47a9zh8phc"; depends=[XML]; };
+  RYoudaoTranslate = derive { name="RYoudaoTranslate"; version="1.0"; sha256="1i3iyqh97vpn02bm66kkmw52ni29js30v18n2aw8pvr88jpdgxm4"; depends=[RCurl rjson]; };
+  ryouready = derive { name="ryouready"; version="0.3"; sha256="0nms3zfkis2fsxkyj3dr95vz3kk6pkm7l5ga7iz8pxy1ywrawj2i"; depends=[stringr car]; };
+  rYoutheria = derive { name="rYoutheria"; version="1.0.0"; sha256="1yj66ars5a8mbv2axl6l5g7wflwz3j4mhwk3iz5w33rfhixixm9l"; depends=[plyr RJSONIO reshape2 RCurl]; };
+  rysgran = derive { name="rysgran"; version="2.1.0"; sha256="1l2mx297iyipap8cw2wcw5gm7jq4076bf4gvgvij4q35vp62m85z"; depends=[soiltexture lattice]; };
+  Rz = derive { name="Rz"; version="0.9-1"; sha256="1cpsmfxijrfx06ydpjzbaak7gkad4jjk1ph9453l9zly1cwzgspj"; depends=[foreign memisc psych ggplot2 RGtk2 formatR]; };
+  rzmq = derive { name="rzmq"; version="0.6.8"; sha256="0likcj1xivr0y42krnm5zynkr6slfc3yqq2nd90x79ldvbfdqxc6"; depends=[]; };
+  s20x = derive { name="s20x"; version="3.1-10"; sha256="0hxi8d1pl0jgg66jxzz0z973sg3f4s1jf75smmizy99kd76rdnh0"; depends=[]; };
+  s2dverification = derive { name="s2dverification"; version="2.1.1"; sha256="1m3m5sbq96fhnl4slxgb2j0009kqfdivdn3nbb203pc0knjpflnq"; depends=[GEOmap geomapdata maps mapproj]; };
+  s4vd = derive { name="s4vd"; version="1.0"; sha256="07pnkhyqf9iymj913813d93dmb3iqbdlcl0gsgacihyyinb4id5s"; depends=[biclust]; };
+  sac = derive { name="sac"; version="1.0.1"; sha256="1rl5ayhg5y84fw9w3zf43dijjlw9x0g0w2z4haw5xmxfni72ms8w"; depends=[]; };
+  sads = derive { name="sads"; version="0.1.10"; sha256="02662vbbk3jikp506ljil9zqchs6bq3lsw4fwbbi2wgg7xvb260g"; depends=[MASS bbmle poilog VGAM untb]; };
+  sae = derive { name="sae"; version="1.0-2"; sha256="0a9g07m1a8v4iw9pnzlws356kv4f77qkz5yc454i7130zfp2kxxi"; depends=[nlme MASS]; };
+  saemix = derive { name="saemix"; version="1.2"; sha256="1whwn54iiapdfig6qpzji3z3skir6jrs34dq78zlynibgrg95hx6"; depends=[]; };
+  SAFD = derive { name="SAFD"; version="0.4"; sha256="1zbja8bgva2j24ks4m14hbf4s0n674lj89nfxkkmwrljzsmjrjhv"; depends=[]; };
+  safeBinaryRegression = derive { name="safeBinaryRegression"; version="0.1-3"; sha256="1g68r6pp5l41rbgyfqgcha1gpsisnl0ybdmdqr4ylr43f61dpgvd"; depends=[lpSolveAPI]; };
+  SAM = derive { name="SAM"; version="1.0.5"; sha256="1fki43bp6kan6ls2rd6vrp1mcwvz92wzcr7x6sjirbmr03smcypr"; depends=[]; };
+  SamplerCompare = derive { name="SamplerCompare"; version="1.2.5"; sha256="1p05fb6g0rwkzz0qp8hx88skxvfq265ndv9g694gc2h8vzwpan1y"; depends=[mvtnorm]; };
+  sampleSelection = derive { name="sampleSelection"; version="1.0-2"; sha256="1hzvvwvqp6v9d6ldm17kx3g8pbgngw2pxklny0b3man47zh5jshc"; depends=[maxLik miscTools systemfit Formula]; };
+  samplesize = derive { name="samplesize"; version="0.1-8"; sha256="0w4aa6p0j7l9xykhgqv7yps2nxx11q1mrgivdnv4si8fbkqx148n"; depends=[]; };
+  Sample_Size = derive { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
+  samplesize4surveys = derive { name="samplesize4surveys"; version="0.5.1"; sha256="0qinzr55ldg7ngsa9lzwwwysjfk3230xs7kcqkvimnrn5z4n898v"; depends=[TeachingSampling]; };
+  SampleSizeMeans = derive { name="SampleSizeMeans"; version="1.1"; sha256="1wbc46n8b8wbcxl21blbzs5728dr8r0l8d3jpzbha8pcav0xrh1m"; depends=[]; };
+  SampleSizeProportions = derive { name="SampleSizeProportions"; version="1.0"; sha256="0mvkvx3nni0l8ys68sq3h2zlbjvksdcdzxqlf03k0ca5bbcmdf9l"; depends=[]; };
+  sampling = derive { name="sampling"; version="2.6"; sha256="11r8p29kwc0ggycbv7sm1zmazmfm4p5207l764ad4znjib0cab6p"; depends=[MASS lpSolve]; };
+  samplingbook = derive { name="samplingbook"; version="1.2.0"; sha256="1vynz6hsnz5d0vg66f8k67h24rb809k9chb4waymk6vwnp8lksz9"; depends=[pps sampling survey]; };
+  samplingEstimates = derive { name="samplingEstimates"; version="0.1-3"; sha256="1srdchlpxksfdqhf5qdvl7nz0qsxkxww7hzqj0q71asbzlq3am3p"; depends=[samplingVarEst]; };
+  SamplingStrata = derive { name="SamplingStrata"; version="1.0-2"; sha256="04mb14hb328s4smpfidxf448mpa1cij9lbsfii7j0a0qx9nwapy2"; depends=[]; };
+  samplingVarEst = derive { name="samplingVarEst"; version="0.9-9"; sha256="04wgsq3sh69iy8p07ch210p22n5mds7cxp5s6zggzamqpf0hpnw7"; depends=[]; };
+  sampSurf = derive { name="sampSurf"; version="0.7-2"; sha256="1bj1m5c8bx8i4jyk6kdgcfmgfj15iirxwg259r0c4fk7whcnfz59"; depends=[sp raster rasterVis boot]; };
+  samr = derive { name="samr"; version="2.0"; sha256="0rsfca07pvmhfn7b49yk2ycw00wsq6dmrpv9haxz8q0xv7n5n2q9"; depends=[matrixStats]; };
+  SAMURAI = derive { name="SAMURAI"; version="1.2.1"; sha256="02fipbjcsbp2b2957x6183z20icv1yly2pd1747nyww9bmpa7ycm"; depends=[metafor]; };
+  sand = derive { name="sand"; version="1.0.2"; sha256="1y371ds86gcq2id996vp56h5dax2wm0mlk1ks2mp1k81n63l7wmf"; depends=[igraph igraphdata]; };
+  sandwich = derive { name="sandwich"; version="2.3-1"; sha256="1yjbqzsv742m74gz57bnj1jmjw5n5qqp057fkz490l7b65kj9nqn"; depends=[zoo]; };
+  sanitizers = derive { name="sanitizers"; version="0.1.0"; sha256="1c1831fnv1nzpq8nw9krgf9fm8v54w0gvcn4443b6jghnnbhn2n6"; depends=[]; };
+  sanon = derive { name="sanon"; version="1.3"; sha256="0kh2gvcd7nxcgfswhspw9xw68sk0kcrcv86h8ysfrwxi35ln6a75"; depends=[]; };
+  sapa = derive { name="sapa"; version="2.0-0"; sha256="04zf1xs4w7s28mvc272la8z3r1slnf50pw0k8zj335j3i56x6b9y"; depends=[ifultools splus2R]; };
+  SAPP = derive { name="SAPP"; version="1.0.4"; sha256="0a86vz390v2g5lz1r33qrmhgvak4rpfmpxy39shnivhagnrsarkl"; depends=[]; };
+  sas7bdat = derive { name="sas7bdat"; version="0.5"; sha256="0qxlapb6wdhzpwlmzlhscy3av7va3h6gkzsppn4sx5q960310an3"; depends=[]; };
+  SAScii = derive { name="SAScii"; version="1.0"; sha256="0nq859xmrvpbifk8q1kbx3svg61rqdg8p8gr1pn85fr0j3w7h666"; depends=[]; };
+  SASmixed = derive { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; };
+  SASPECT = derive { name="SASPECT"; version="0.1-1"; sha256="1d3yqxg76h9y485pl5mvlx6ls1076f80b320yvx4zxmqq9yxmaba"; depends=[]; };
+  SASxport = derive { name="SASxport"; version="1.5.0"; sha256="0sgxpjv9ilz2zb13kkb0fqjfbamrczxpy9rwvfhh46bmx4i038iq"; depends=[chron Hmisc]; };
+  SAVE = derive { name="SAVE"; version="0.9.3.9.2"; sha256="1faky3155vh54r450r4dndn5749kp09bilyq8n7n7rls0dl5k34m"; depends=[coda DiceKriging]; };
+  saves = derive { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; };
+  saws = derive { name="saws"; version="0.9-6.1"; sha256="0w40j6xczqs74z1z3na4510w06px7yn55s2mw9mddd6736l56fv1"; depends=[gee]; };
+  sBF = derive { name="sBF"; version="1.1"; sha256="11yjw6y1k0fi95p68bc4481gac25lympmmdykh71ljg0hnrm0s53"; depends=[]; };
+  sbgcop = derive { name="sbgcop"; version="0.975"; sha256="0f47mvwbsym4khwgl0ic3pqkw3jwdah9a48qi3q93d46p2xich61"; depends=[]; };
+  sbioPN = derive { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
+  SBRect = derive { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
+  SBSA = derive { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp]; };
+  sca = derive { name="sca"; version="0.8-9"; sha256="024yxm1rlyz3hx9viv2nb6rapy938diaknc3nzkgq0ffky2gf0s3"; depends=[]; };
+  scagnostics = derive { name="scagnostics"; version="0.2-4"; sha256="0fhc7d2nfhm8w6s6z1ls6i8d7c90h4q7rb92rz8pgq3xh031hpcf"; depends=[rJava]; };
+  scaleboot = derive { name="scaleboot"; version="0.3-3"; sha256="0w3gwqxshiypbixrdjg3p5z3qfp0nf9gv838z9hlbf0xpzgk11xa"; depends=[]; };
+  scales = derive { name="scales"; version="0.2.4"; sha256="08dryii8ibh16wxs61pam07b24rwhqvdcdhk09mij289l309192v"; depends=[RColorBrewer dichromat munsell plyr labeling]; };
+  scalreg = derive { name="scalreg"; version="1.0"; sha256="06iqij1cyiw55ijzk2byrwh3m5iwsra7clx8l4v69rc236q8zbdi"; depends=[lars MASS]; };
+  scam = derive { name="scam"; version="1.1-7"; sha256="0wjpc5fcr4409gnanq7xnmlai51my86zndsxh5lw418ywdgcbyn4"; depends=[mgcv Matrix]; };
+  scape = derive { name="scape"; version="2.2-0"; sha256="0dgbh65fg6i5x4lpfkshn382zcc4jk1wp62pwd2l2f59pyfb92a3"; depends=[coda Hmisc lattice]; };
+  scar = derive { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; };
+  scaRabee = derive { name="scaRabee"; version="1.1-3"; sha256="1fdxmk2mbrynxh6zy0xjmcwa384n5bppl1vzmfj5rjw840f7hbrk"; depends=[neldermead lattice deSolve]; };
+  scatterplot3d = derive { name="scatterplot3d"; version="0.3-35"; sha256="1w0r7cyz01rzmgcf2x7wa4xs88ga6fd67wksyjyzrh2pdcbc56yx"; depends=[]; };
+  SCBmeanfd = derive { name="SCBmeanfd"; version="1.1"; sha256="0pcyrnzlnlyn4v3lyv7pv01v2lh4vig1x4x8g98lpccpi1bimd4z"; depends=[boot KernSmooth]; };
+  SCEPtER = derive { name="SCEPtER"; version="0.1-0"; sha256="13jnqcgsz3rz5dis8jmbma1m6z72qphdjyjf3984c66clhazxnh9"; depends=[MASS]; };
+  SCEPtERextras = derive { name="SCEPtERextras"; version="0.1-0"; sha256="1vv231h744c7j7rvcb2xaffmwdd9ms76yvvw2l3xcb72iwhl5dbw"; depends=[]; };
+  SCGLR = derive { name="SCGLR"; version="2.0"; sha256="0pgix9i520yj7gpby3fcykvk9nnq1pl8b0akyhdv5l6vax9d5bg4"; depends=[Matrix Formula expm ggplot2 ROCR]; };
+  scholar = derive { name="scholar"; version="0.1.1"; sha256="1wlhxw5k28qypfl6dm07cjrpvpmvcbwn1fc7205xpj20f41jchra"; depends=[stringr plyr R_cache XML]; };
+  schoolmath = derive { name="schoolmath"; version="0.4"; sha256="06gcmm294d0bs5whvknrq48sk7li961lzy4bcncjg052zbbpn67x"; depends=[]; };
+  schoRsch = derive { name="schoRsch"; version="1.0"; sha256="15kjab5cpss2kkf3pd2nyszdsfn77840zx7yrbkry6n7xb4x8icn"; depends=[]; };
+  schwartz97 = derive { name="schwartz97"; version="0.0.6"; sha256="0l34f30l75zrg3n377jp0cw7m88cqkgzy6ql78mrx8ra88aspfzn"; depends=[FKF mvtnorm RUnit]; };
+  SCI = derive { name="SCI"; version="1.0-1"; sha256="1m5a15a4n0zjqykq38pyw9133g2ih4ykbgak8c8khq8p0isnl8qb"; depends=[fitdistrplus lmomco]; };
+  scidb = derive { name="scidb"; version="1.1-2"; sha256="1nkyzvjpacm4imv778nc6gc468419shkyhxb59hsaw9840wcs1na"; depends=[Matrix iterators RCurl zoo]; };
+  SciencesPo = derive { name="SciencesPo"; version="0.05.21"; sha256="1x1b1fyy961nm5i54drkakn2qzlja17haa66dz9135h1lgj83y4s"; depends=[data_table xtable]; };
+  scio = derive { name="scio"; version="0.6.1"; sha256="0h15sscv7k3j7qyr70h00n58i5f44k96qg263mxcdjk9mwqr0y65"; depends=[]; };
+  sciplot = derive { name="sciplot"; version="1.1-0"; sha256="0na4qkslg3lns439q1124y4fl68dgqjck60a7yvgxc76p355spl4"; depends=[]; };
+  SciViews = derive { name="SciViews"; version="0.9-5"; sha256="199waafpn0ndg7szwfhw2jlgcx1f0pv7j0vix2vzz60knwm698xb"; depends=[MASS ellipse]; };
+  SCMA = derive { name="SCMA"; version="1.1"; sha256="0bims9l047xvbwp2r5ly5cgpd7fc0p2cik48gg42abwdqvppf542"; depends=[]; };
+  SCORER2 = derive { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; };
+  scoring = derive { name="scoring"; version="0.5-1"; sha256="0vxjcbp43h2ipc428qc0gx7nh6my7202hixwhnmspl4f3kai3wkp"; depends=[]; };
+  ScottKnott = derive { name="ScottKnott"; version="1.2-4"; sha256="0s2b74isklmjjz5qzb0sg2lzqxv3bka2wxcja1lg49npmv70kly7"; depends=[]; };
+  scout = derive { name="scout"; version="1.0.3"; sha256="0wmjmk0ckd211cq5ykd0yzjschs7fkg04w67arl4pwma0z5z56lq"; depends=[glasso lars]; };
+  SCperf = derive { name="SCperf"; version="1.0"; sha256="1v9l7d9lil2gy5bw6i7bzc24808m063xaw2spl005j0a9rh4ag41"; depends=[]; };
+  ScrabbleScore = derive { name="ScrabbleScore"; version="1.0"; sha256="19vgaxnhvqsbllqxfbnhnar2j4g0fkxi7rfsmkks2bd2py81x04m"; depends=[]; };
+  scrapeR = derive { name="scrapeR"; version="0.1.6"; sha256="1rqgqpn9rc43rh356z9gb51pjhdczr9a9mgv0i078nniq156rmlb"; depends=[XML RCurl]; };
+  ScreenClean = derive { name="ScreenClean"; version="1.0.1"; sha256="0haanr05g4vwp5apncyzv8i3r61g4xf9ihm8ilcabcgpri56gpjk"; depends=[MASS Matrix quadprog]; };
+  scrime = derive { name="scrime"; version="1.3.3"; sha256="1vp7ai10m0f3s0hywyqh0yllxj6z6p795zqpr6vp58fh6yq20x73"; depends=[]; };
+  scriptests = derive { name="scriptests"; version="1.0-9"; sha256="03jv5hgzs4hvkpvjr9073nncmwj20cwispzwrbvxjdnvm5hnjg3y"; depends=[]; };
+  SCRT = derive { name="SCRT"; version="1.0"; sha256="1yk3ialhsn5qgjsi7zl7m61bkkwiw90xa4fl1vwncbgpzhrfzgkj"; depends=[]; };
+  scrypt = derive { name="scrypt"; version="0.1.0"; sha256="1hc1rziigwggdx2pvklldkw88mdzbwa8b8a2a0ip4cm1w6flsl9n"; depends=[Rcpp]; };
+  scuba = derive { name="scuba"; version="1.7-0"; sha256="11mdc8pj552ag36ib4sfbjv8r0psa6wnb13spz0v3rbaslz25hpw"; depends=[]; };
+  SCVA = derive { name="SCVA"; version="1.0"; sha256="0dphdrc069d9nggpipl97wj1vqwnnjlv3fs68pqygzb5kbd70nx3"; depends=[]; };
+  sda = derive { name="sda"; version="1.3.4"; sha256="0fbbiyh6sp23mg6lmzk9fm9sprqwvrv0fxxjykl5ww0pbl63rrmj"; depends=[entropy corpcor fdrtool]; };
+  SDaA = derive { name="SDaA"; version="0.1-2"; sha256="03ijiqwvvqs79ql9p016hpn5dwxnys820k00aza29npm9k2bciww"; depends=[survey ggplot2]; };
+  SDBP = derive { name="SDBP"; version="1.0"; sha256="18yk5zasxga58ny8n8kz3b8j0j8xznb9wqf5642xzfvcb9dd1kz2"; depends=[]; };
+  sdcMicro = derive { name="sdcMicro"; version="4.4.0"; sha256="0ig43sdzn940mpv2d8v1v0k77nb5mwwsy8amkb6vdxs0rql7qvyy"; depends=[brew knitr data_table xtable car robustbase cluster MASS e1071 Rcpp sets]; };
+  sdcMicroGUI = derive { name="sdcMicroGUI"; version="1.1.1"; sha256="0icxxbfxl65da07bpi7l2jzk85y990ndhl60lwyp077sjq5rd20q"; depends=[sdcMicro gWidgetsRGtk2 cairoDevice vcd foreign Hmisc]; };
+  sdcTable = derive { name="sdcTable"; version="0.17.1"; sha256="0wljdpggf8mhsjg0xrgb3xqd346zb4f8pk0jfgv38krhkfxz1ss5"; depends=[stringr Rcpp Rglpk lpSolveAPI data_table]; };
+  SDD = derive { name="SDD"; version="1.1"; sha256="1bl9xlns6np26pgiiza25c54k4989knksdkkk653g8s8gmr4y34x"; depends=[Hmisc sm tseries rpanel rgl]; };
+  SDDA = derive { name="SDDA"; version="1.0-5"; sha256="1lwp36bwx13cyiqyzh5jp2c0f0g2hvppqxnpjcflmcz7s23h5dp7"; depends=[MASS]; };
+  sddpack = derive { name="sddpack"; version="0.9"; sha256="1963l8jbfwrqhqcpif73di9i5mb996r4f8smjyil6l7sdir7cg9l"; depends=[]; };
+  sde = derive { name="sde"; version="2.0.10"; sha256="1wkgam394190zg1m0b9hg81h9mkqhqw8isk7xf5vdqxymjzsaxjm"; depends=[MASS fda zoo]; };
+  sdef = derive { name="sdef"; version="1.5"; sha256="1xmx3nfjjfh6zw1vq7iip4rnshh40azja83xyvnz04jcv574vhxm"; depends=[]; };
+  SDMTools = derive { name="SDMTools"; version="1.1-221"; sha256="1kacrpamshv7wz83yn45sfbw4m9c44xrrngzcklnwx8gcxx2knm6"; depends=[R_utils]; };
+  sdmvspecies = derive { name="sdmvspecies"; version="0.3"; sha256="0xcgwj600a3r3v8hcy2xf1bkc60p44g2cjyq8qs2g3wqd7zyqj1b"; depends=[GPArotation ggplot2 psych raster]; };
+  sdnet = derive { name="sdnet"; version="2.01.3"; sha256="1sr60ca2dn182nacsi1ix02cdjygf45jv51dcfz5744hj7afcvws"; depends=[]; };
+  sdprisk = derive { name="sdprisk"; version="1.0-3"; sha256="0v490zz2c1qa0w9nfd0xs5xbbvd9g8vp39fp8x7k7cy598vby4yx"; depends=[numDeriv PolynomF rootSolve]; };
+  sdtoolkit = derive { name="sdtoolkit"; version="2.33-1"; sha256="0pirgzcn8b87hjb35bmg082qp14idc5pfvm6dikpgkswag23hwh8"; depends=[]; };
+  seacarb = derive { name="seacarb"; version="3.0"; sha256="1rjpf83f19rbp4mb7imnxlnlv8s0d6p6jqsarp6kksvr6yx5cdap"; depends=[]; };
+  sealasso = derive { name="sealasso"; version="0.1-2"; sha256="0cjy3fj170p5wa41c2hwscmhqxwkjq22vhg9kbajnq7df2s20jcp"; depends=[lars]; };
+  SearchTrees = derive { name="SearchTrees"; version="0.5.2"; sha256="11p81x1klkmxarypxpbisf78dlrmhzzg9y9hxpwz75pks1y56gqg"; depends=[]; };
+  seas = derive { name="seas"; version="0.4-3"; sha256="1n0acg6fvaym4nx1ihw0vmb79csds0k4x9427qmcyxbl9hxxmllp"; depends=[]; };
+  season = derive { name="season"; version="0.3-3"; sha256="0562qxc5bz9yjkz0zzighlp52ysv0gjn8xfycbxckmjxy3wrk9cz"; depends=[ggplot2 MASS mgcv survival coda]; };
+  seasonal = derive { name="seasonal"; version="0.60.0"; sha256="0cs987gsh2brgwv30ildrzq2phj6pfrksl8dq3rdlx0a7411ll5i"; depends=[]; };
+  seawaveQ = derive { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[survival NADA lubridate]; };
+  SEchart = derive { name="SEchart"; version="0.1"; sha256="19gqcd6xzwg37nzc67p88ip4i0v2f59ds85xfw9qq8lybvdm76k2"; depends=[JM]; };
+  SECP = derive { name="SECP"; version="0.1-4"; sha256="0a4j0ggrbs0jzcph70hc4f5alln4kdn2mrkp3jbh321a6494kwl1"; depends=[SPSL]; };
+  secr = derive { name="secr"; version="2.8.2"; sha256="0p885q2r8wy4n8j1dvmmd59p5nfds8f4l1mwiw4z3xwck3bwi776"; depends=[abind MASS nlme sp]; };
+  secrdesign = derive { name="secrdesign"; version="2.1.3"; sha256="1gfkc5cdk9jg3db5yiq06k9li226m1sxd5r59283ci96sd6fh02s"; depends=[secr abind]; };
+  seedy = derive { name="seedy"; version="0.1"; sha256="16rg2i2g3ri882jsiyvqk4yw7xmg7f1hiirb77w1pqa30007gl7v"; depends=[]; };
+  seeg = derive { name="seeg"; version="1.0"; sha256="1d45vl075p4qbd74gpaa8aw1h82p9n633fym10yp9bmcv4gwksg6"; depends=[car spatstat sgeostat]; };
+  seem = derive { name="seem"; version="1.0"; sha256="0cjdi9c89bqvrx9gzxph958cfqicc1qfnzsair0gvsk3cxsrw6bf"; depends=[]; };
+  SEER2R = derive { name="SEER2R"; version="1.0"; sha256="0lk0kkp8sv3nl19zwqd7449mmjxsj3pqpzdmqf70qf8xh2pqyvzd"; depends=[]; };
+  SEERaBomb = derive { name="SEERaBomb"; version="2014.4.1"; sha256="1vlk6hcn05vdjfc7c8dhvsd1hc2yq1pdmhb7i48b689lkxg82igz"; depends=[RSQLite LaF]; };
+  seewave = derive { name="seewave"; version="1.7.3"; sha256="1bgv90x1rc7xyril6qarbx5mza131admd75s9704s8l7n4zfy64k"; depends=[fftw tuneR]; };
+  seg = derive { name="seg"; version="0.5-1"; sha256="0gsdbq7b5wpknhlilrw771japr63snvx4vpirvzph4fjyby1c7rg"; depends=[sp splancs]; };
+  segmented = derive { name="segmented"; version="0.4-0.0"; sha256="0dcr3s33j68ficbjgvi9hv5z2ihplljwp5zrqp82bc43qhbwsr6i"; depends=[]; };
+  Segmentor3IsBack = derive { name="Segmentor3IsBack"; version="1.8"; sha256="00m6fvx6s8mz477c8b4dmgdh52jf6jx1lcqzf84l90b1xw93qnv7"; depends=[]; };
+  SE_IGE = derive { name="SE.IGE"; version="1.0"; sha256="0gx3kdsdl3rjms6fxabxz51z84r9mcy4934l2g43ifrxbyphnias"; depends=[]; };
+  Sejong = derive { name="Sejong"; version="0.01"; sha256="1d9gw42dbs74w7xi8r9bs6dhl23y16yxqzyhqqayvcm98q3l77nf"; depends=[]; };
+  SEL = derive { name="SEL"; version="1.0-2"; sha256="1nrk0fx6ff330abq8askvp0790xnfv00m3sraqcr32hciw6ks421"; depends=[quadprog lattice]; };
+  selectiongain = derive { name="selectiongain"; version="2.0.29"; sha256="0l0av8dw14yfnc5a17nknjimhbi0nw30h7m8la346kibcsmszyvr"; depends=[mvtnorm]; };
+  selectMeta = derive { name="selectMeta"; version="1.0.6"; sha256="0qv06x6q6p2lwr13fw8xc6mkpb23h41sqnc9wyq8xx37d2jgpcif"; depends=[DEoptim]; };
+  selectr = derive { name="selectr"; version="0.2-2"; sha256="0hzj8ccs2jcfaqlpgrf59y6z7hrxsb2c85kkxflp6180rpqjrwq4"; depends=[XML stringr]; };
+  SeleMix = derive { name="SeleMix"; version="0.9.1"; sha256="04gxgja35qs4k66iil014dzgl5bkx0qhr9w4v7qpmwv2bb07jwz3"; depends=[mvtnorm Ecdat xtable]; };
+  sem = derive { name="sem"; version="3.1-5"; sha256="093kklhl9fnawpwj3km1q0px6fm40kc3vg7kw93y3yb6hniwla35"; depends=[matrixcalc]; };
+  semdiag = derive { name="semdiag"; version="0.1.2"; sha256="0kjcflw7dn907zx6790w7hnf5db6bf549whfsc0c2r173kf13irp"; depends=[sem]; };
+  semGOF = derive { name="semGOF"; version="0.2-0"; sha256="1lsv72yaza80jqadmah7v2cpfqfay57y12hcz6brvia6bmr5qagb"; depends=[sem MASS matrixcalc]; };
+  semiArtificial = derive { name="semiArtificial"; version="1.2.0"; sha256="11pwdqpsf5d5g74s2b8ixmrh2khkha3d4akzlkn652s98qr55dpc"; depends=[CORElearn MASS nnet cluster mclust fpc timeSeries timeDate]; };
+  SemiCompRisks = derive { name="SemiCompRisks"; version="1.0"; sha256="1q10bqws152vk7fpd9m8w16m0ns2i10q07wnmmbjladvfq4ja9il"; depends=[]; };
+  SEMID = derive { name="SEMID"; version="0.1"; sha256="1bxdjdyqlvxz339jdgw90qi6kvfhjdmga38vhfl3ldlxfv2s9gfk"; depends=[igraph]; };
+  SemiMarkov = derive { name="SemiMarkov"; version="1.3.1"; sha256="0cqrwpg26m8paa1rnz5yd6min00kwvl9ifgf4x71y2ldzr2n52b8"; depends=[numDeriv MASS Rsolnp]; };
+  SemiPar = derive { name="SemiPar"; version="1.0-4"; sha256="1gg80wpqa006qahpaxb5y7vnf4w0x9mhjwh6w3271j0b9znr1gs5"; depends=[MASS cluster nlme]; };
+  SemiParBIVProbit = derive { name="SemiParBIVProbit"; version="3.2-11"; sha256="1b1ywyax76893vp6s4ldjvk035vky4pbiagl8blzcwp7vhvy4ys7"; depends=[CDVine mgcv mvtnorm MASS magic polycor VineCopula VGAM survey trust matrixStats Matrix sn]; };
+  SemiParSampleSel = derive { name="SemiParSampleSel"; version="1.1"; sha256="0b2vdrqi4mw4bp6r82b3c329cddjxwc39rcramq5nr8awv9ib0cf"; depends=[copula mgcv mvtnorm magic trust Matrix]; };
+  semisupKernelPCA = derive { name="semisupKernelPCA"; version="0.1.5"; sha256="1v8wdq63b1gqicj8c9a24k0w7cc0bkg0mnc9z5mklsfcl7g0g6k9"; depends=[datautils irlba]; };
+  SEMModComp = derive { name="SEMModComp"; version="1.0"; sha256="1za67470f13z8jsy3z588c7iiiz993d3vjqrb8v9fann2r6sf1md"; depends=[mvtnorm]; };
+  semPlot = derive { name="semPlot"; version="1.0.0"; sha256="0ih94pwhkgd8jni3wkv1xmjr4c00q94dq4n8mxdwvixwi1l0gzjq"; depends=[qgraph lavaan sem plyr XML igraph lisrelToR rockchalk colorspace corpcor]; };
+  semPLS = derive { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; };
+  semTools = derive { name="semTools"; version="0.4-0"; sha256="1s6js0wqipfvn8hdmsmxjg3h8j4n6v00jisiwg4rfljvis9wx27l"; depends=[MASS lavaan]; };
+  sendmailR = derive { name="sendmailR"; version="1.1-2"; sha256="1d3rzcckrfqsilpzmpacwibhz858b8sw029vfz6mjh6q0ijswi2q"; depends=[base64enc]; };
+  sendplot = derive { name="sendplot"; version="4.0.0"; sha256="0ia2xck94nwirwxi38nv0viz5wb8291yiak6f0wgwh84irsrfp1h"; depends=[rtiff]; };
+  sensitivity = derive { name="sensitivity"; version="1.8-2"; sha256="1q30xpb1w5dnkivxh1ck53jz2m9kpjmzvr2yd739zxxlir5kx8gr"; depends=[boot]; };
+  SensitivityCaseControl = derive { name="SensitivityCaseControl"; version="2.1"; sha256="00jqzqx7g0av9lw13is723gph486gb8ga0wgcmmzpmb24s5nya9z"; depends=[]; };
+  sensitivitymv = derive { name="sensitivitymv"; version="1.2"; sha256="0h8lbl5yhxgzdrajjydb2ap9q3dnm1abxdk8gdhp84m1bv8pznkj"; depends=[]; };
+  sensitivitymw = derive { name="sensitivitymw"; version="1.1"; sha256="1bknnfkkqgmchabcjdfikm37sn5k41ar8lpnjw58i8qh7yzq237i"; depends=[]; };
+  SensoMineR = derive { name="SensoMineR"; version="1.20"; sha256="1qw97cixndg2h29bbpssl0rqag3w8im4nm9964lr7r012y5wdqhx"; depends=[FactoMineR cluster KernSmooth]; };
+  sensR = derive { name="sensR"; version="1.4-0"; sha256="19yddfcql1w154v81fsdm50wl15vl3vcx44iz3ss7in4gj1g884m"; depends=[multcomp MASS numDeriv]; };
+  SenSrivastava = derive { name="SenSrivastava"; version="2012-04-0"; sha256="0ki0kl18cj8lkad6q48piyvslkirs8y5rnfa8bvgjxsisxg2ahhp"; depends=[]; };
+  separationplot = derive { name="separationplot"; version="1.0"; sha256="1m8s531dsmzdam5s2yn0qyvm89zfxrzj8sh8r2gpcf31qrai7m26"; depends=[MASS RColorBrewer]; };
+  seqCBS = derive { name="seqCBS"; version="1.2"; sha256="1kywi3kvvl9y6nm7cwf6fj8gz9gzznp5va336g1akzgy77k82d8v"; depends=[clue]; };
+  seqDesign = derive { name="seqDesign"; version="1.0.1"; sha256="17zb8l5kasjvrsrgs2k0ih25ydlz7hpr9dcr1rm1akvscmk8np3d"; depends=[survival xtable]; };
+  SeqFeatR = derive { name="SeqFeatR"; version="0.1.5"; sha256="1cpb64h3pcp18zrly0hxy2wfn68x4pgyj0ywl4z2kadi6y3r0gyh"; depends=[tcltk2 plotrix ape plyr phangorn]; };
+  SeqGrapheR = derive { name="SeqGrapheR"; version="0.4.8.3"; sha256="03plwa3sc1pg34p1szbz3d0z8y53w7iqm7qn9q6fj72rsnk5spxc"; depends=[igraph rggobi gWidgets gWidgetsRGtk2 cairoDevice]; };
+  seqinr = derive { name="seqinr"; version="3.0-7"; sha256="0r54kvvwlp5i1fbk4vgbinj3zwzjppiyh7f5dy4kmja8m5lslc4x"; depends=[]; };
+  seqMeta = derive { name="seqMeta"; version="1.4"; sha256="0wmwvw09fskwpvy727lc974aw9gvd495wgxf8k1ybi16bq2h080j"; depends=[survival Matrix coxme CompQuadForm]; };
+  seqminer = derive { name="seqminer"; version="3.1"; sha256="15b63j15bgqzix4vp57q1vi9jnqn5an2p8kmvacg95ahrv8w0a0m"; depends=[stringr]; };
+  seqmon = derive { name="seqmon"; version="0.2"; sha256="075hc6vgl1w3nisrihf5w6mkkg9q601jsqxm9hk9yagyvvd7d78w"; depends=[]; };
+  seqPERM = derive { name="seqPERM"; version="1.0"; sha256="1i8ai4gxybh08wxjh96m6xlqxhh7ch0xihjs879snmy4zqfi0pap"; depends=[]; };
+  seqRFLP = derive { name="seqRFLP"; version="1.0.1"; sha256="1i98hm8wgwr8b6hd237y2i9i0xgn35w4n2rxy4lqc5zq71gkwkvk"; depends=[]; };
+  sequences = derive { name="sequences"; version="0.5.8"; sha256="1872737x77mknn2ay7qh8brd28hzsqzjqkx4shwkp0w7lk2p0rp0"; depends=[Rcpp]; };
+  Sequential = derive { name="Sequential"; version="1.1"; sha256="1fr4n6qbxwj6hs01h07wdj5v4c7af5q8ccnm33yzcrx845qf8fiv"; depends=[]; };
+  sequenza = derive { name="sequenza"; version="2.0.0"; sha256="04kva5bvflpzq53qgif8sw49npcx1hwlqvrypgb6ynajyg28hd6p"; depends=[squash]; };
+  seriation = derive { name="seriation"; version="1.0-13"; sha256="0k3m4x0msdynblcy1ign4p5qlsqmxk2p4vfjkv0fz3qjsbxfw61n"; depends=[TSP cluster gclus colorspace MASS]; };
+  servr = derive { name="servr"; version="0.1"; sha256="035pf1xg0jgjrba39wxwlrh7n43kp29ymagfv7yskxj31dh3b34i"; depends=[httpuv]; };
+  sesem = derive { name="sesem"; version="1.0.1"; sha256="0s4xkv6bc5nxhj09mk9agnj11b9h7swccs9jrn4lg3fy12vqhf5a"; depends=[lavaan mgcv gplots]; };
+  SesIndexCreatoR = derive { name="SesIndexCreatoR"; version="1.0-2"; sha256="14xq2niqa6ml2dlyamv4w8appll7n0nplzvx9r7bnm289m4d6wwm"; depends=[FactoMineR class]; };
+  session = derive { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; };
+  SetMethods = derive { name="SetMethods"; version="1.0"; sha256="0zizvrzyk01w4ncazvifmjm4h5zrpsf6n68n11sc8f5kzny9ia48"; depends=[lattice betareg lattice betareg]; };
+  setRNG = derive { name="setRNG"; version="2011.11-2"; sha256="1gp577yy3wzszpzgdhfpas7hrk658rb2vz0dxm111s5xnc5wcp74"; depends=[]; };
+  sets = derive { name="sets"; version="1.0-13"; sha256="1ys17iy2gjkfnp3914g6sfx3ilgm18pdfak59cqrwalwwnhc3zaz"; depends=[]; };
+  setwidth = derive { name="setwidth"; version="1.0-3"; sha256="1s6m24kmkafscgibgfldm70m57bv4gs0m7fdki18nwdi1rvwpkbf"; depends=[]; };
+  severity = derive { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; };
+  sExtinct = derive { name="sExtinct"; version="1.1"; sha256="1l6232z6c4z3cfl1da94wa6hlv9hj5mcb85fj1y0yparkvvl8249"; depends=[lattice]; };
+  sfa = derive { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; };
+  sfsmisc = derive { name="sfsmisc"; version="1.0-26"; sha256="0claxq1s1hkwwymx8iva650v51fjf4ly10zm17d42qhnn4b2whgd"; depends=[]; };
+  sft = derive { name="sft"; version="1.0-1"; sha256="0pi6x66mcywc1lbkwnwldnfg64h5vpp65vlis6b9cqd8iyx8msp4"; depends=[fda]; };
+  SGCS = derive { name="SGCS"; version="2.0"; sha256="1d7abq07f0702k33j334va7kc4swz7rdqqb4sw1wq6a671r7k5v6"; depends=[spatstat]; };
+  sgeostat = derive { name="sgeostat"; version="1.0-25"; sha256="04zl932s6zb26r42h2l8qf3d43bmrq67281mrkh4spn4vcddv5da"; depends=[]; };
+  SGL = derive { name="SGL"; version="1.1"; sha256="1wc430jqn3li102zpfmyyavfbab7x7ww9p89clxsndyigrrbjdr7"; depends=[]; };
+  sglasso = derive { name="sglasso"; version="1.0-1"; sha256="19f8qjhmv3jpx9p9wcnbzsifla0rccypxgwjykszr4gi7jl1s4z5"; depends=[Matrix]; };
+  sglOptim = derive { name="sglOptim"; version="1.0.122.0"; sha256="07anc9ixbc82807ixr4k779src72gvbx0wsy3mr0mvzg9xq2fi1v"; depends=[Matrix]; };
+  sglr = derive { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
+  sgof = derive { name="sgof"; version="2.1"; sha256="1nipm2lf02g0j4f8kas99wi4wmwp5vx2a97jj5mg8mclkwpifnhr"; depends=[poibin discreteMTP]; };
+  SGP = derive { name="SGP"; version="1.2-0.0"; sha256="0v4ljhvfrvl6izprcrw8w36474fjz0v1kpcsg0sx32359amd3zxz"; depends=[Cairo colorspace data_table doParallel foreach gridBase iterators jsonlite plyr quantreg reshape2 RSQLite sn]; };
+  sGPCA = derive { name="sGPCA"; version="1.0"; sha256="16aa5jgvkabrlxaf1p7ngrls79mksarh6di3vp26kb3d3wx087dx"; depends=[Matrix fields]; };
+  SGPdata = derive { name="SGPdata"; version="8.0-0.0"; sha256="0g25s2wcj47394fm16maygafnynizma3mgb3r65b5p9c27swk4v8"; depends=[]; };
+  sgr = derive { name="sgr"; version="1.1"; sha256="1wbpxjv4g4jccih5xn2m7fqq4w1b4p05j56iwldkjp2r6paj5af1"; depends=[]; };
+  shape = derive { name="shape"; version="1.4.1"; sha256="1s1yj7cqc9svqliv9f9k3fimkakblri9vwr785ihav58x5cn90qj"; depends=[]; };
+  shapefiles = derive { name="shapefiles"; version="0.7"; sha256="08ghndihs45kylbzd9wnxffn8ixvxjhjnjldjyd526ai2sj8xcgf"; depends=[foreign]; };
+  shapes = derive { name="shapes"; version="1.1-9"; sha256="044d4ci9lv6g9vbh8zn85f08d9n8f91vn8gn1wqv1lp0qjycpmjv"; depends=[scatterplot3d rgl MASS]; };
+  SharpeR = derive { name="SharpeR"; version="0.1401"; sha256="1l55llafs81gl1mdhyyi6m02w7mx8g46y65jf1kw5mbrljgri8az"; depends=[matrixcalc xtable]; };
+  sharpshootR = derive { name="sharpshootR"; version="0.6-3"; sha256="1dpcyd1wi022zcs9s48xg3wzy17dqcd0622ak0phvbwxgpwmz9j2"; depends=[aqp ape igraph cluster lattice latticeExtra vegan sp reshape2 Hmisc scales circular RColorBrewer plyr]; };
+  sharx = derive { name="sharx"; version="1.0-4"; sha256="1flcflx6w93s8bk4lcwcscwx8vacdl8900ikwkz358jbgywskd5n"; depends=[Formula dcmle dclone]; };
+  shiny = derive { name="shiny"; version="0.10.1"; sha256="1hd26n0mx62vsnvfvypkihj89hnbmvdwyw33h45x4vyiz5h1kd17"; depends=[httpuv caTools RJSONIO xtable digest htmltools]; };
+  shinyAce = derive { name="shinyAce"; version="0.1.0"; sha256="1031hzh647ys0d5hkw7cqxj0wgry3rxgq95fgs7slbm0rgx9g6f7"; depends=[shiny]; };
+  shinyBS = derive { name="shinyBS"; version="0.20"; sha256="1l95g2rzv53vwx5zcaqiqz8jirncwh1yb14y62x9phg4n5jfk9f8"; depends=[shiny]; };
+  shinyFiles = derive { name="shinyFiles"; version="0.3.2"; sha256="19qzsvk5pqq59hfmzw4fg5fds26y1hqwhgjqf1pkxbmbd337qdik"; depends=[shiny]; };
+  shinyRGL = derive { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; };
+  SHIP = derive { name="SHIP"; version="1.0.2"; sha256="0b83cclibdz1r7sz968nmca4najwgps9wrdlsh4gxrl7fq40k4ln"; depends=[]; };
+  shotGroups = derive { name="shotGroups"; version="0.5"; sha256="02v785p5lqjpdp5vn7snpg1wgr7whpp4s4vbiwyaxmfp6kwqk81q"; depends=[boot coin CompQuadForm energy KernSmooth mvoutlier robustbase]; };
+  showtext = derive { name="showtext"; version="0.2"; sha256="18pr03n0v2dg93pnp3saar3664dpina33wzmhw13hqcx6nfjgzw7"; depends=[sysfonts]; };
+  shp2graph = derive { name="shp2graph"; version="0-2"; sha256="09gbb7f9h3q2p56dwb2813mr36115ah70szq47jimpymzkd2x08m"; depends=[maptools igraph]; };
+  shrink = derive { name="shrink"; version="1.1"; sha256="0avf3502mjz2apy1nnz8a6xp5n77vva5v1n84sn1qimjnz40g58d"; depends=[]; };
+  ShrinkCovMat = derive { name="ShrinkCovMat"; version="1.0.1"; sha256="08cb4r94vywpi5g6gbmjb197694553hyy0lb68wa11k6p3qnsh06"; depends=[]; };
+  shuffle = derive { name="shuffle"; version="1.0"; sha256="037i45mfys1nr9sqmmsfb2yd3ba3aa22hc701f5j2zp8jx57qn3k"; depends=[]; };
+  siar = derive { name="siar"; version="4.2"; sha256="1c4z72jr81dzkp9xqyrrkwjsalvvksl67pnbaadkc52v84fhzx3r"; depends=[hdrcde coda MASS bayesm mnormt spatstat]; };
+  sideChannelAttack = derive { name="sideChannelAttack"; version="1.0-6"; sha256="1xcsy1h8gc8a4f9nzs7zv8x6v55g1pg8vy1kg64iqxm0gnz2f20l"; depends=[MASS corpcor mmap ade4 infotheo]; };
+  sidier = derive { name="sidier"; version="2.3"; sha256="08w6xsncs4nbjgmfh1irfjrc7iflg7w4dx3shr9fh0vbsd35g8wl"; depends=[ape network igraph]; };
+  sievetest = derive { name="sievetest"; version="1.2.2"; sha256="0mbgkf014m6bc7qg60vf065i6mvl5n4a0bvg8vb7dw531vsw2771"; depends=[]; };
+  sig = derive { name="sig"; version="0.0-4"; sha256="0q5bwaj15jlmcg4qqcdkkwbnqphwgwzcnfzga12xzr912rwjybjr"; depends=[]; };
+  sigclust = derive { name="sigclust"; version="1.1.0"; sha256="0151v7lr4n4yyn93j0s06gzc9jh9xhdgvfw6kvpfy24jl6wdii7g"; depends=[]; };
+  SightabilityModel = derive { name="SightabilityModel"; version="1.2"; sha256="1piw8i6c3bdwjj20329431is3b7mxij7f1g49g7qw00s197n8qha"; depends=[]; };
+  signal = derive { name="signal"; version="0.7-4"; sha256="0sz8im7i46qy5wjpm34a2nqvrc1vipmqlw8ns3i2s1vhcvp7fjs1"; depends=[MASS]; };
+  signalextraction = derive { name="signalextraction"; version="2.0.3"; sha256="0kxk32jfkcgkdcq4xfzdf24qr6wkkhl4yf2v4sjqxhviwml2g2aq"; depends=[]; };
+  signal_hsmm = derive { name="signal.hsmm"; version="1.0"; sha256="12v6frrhbaa8y9l3zy41fz8xkzalhp6afw33jad57c8hym4985nz"; depends=[seqinr shiny]; };
+  sigora = derive { name="sigora"; version="0.9.2"; sha256="1s3c0xwxabr3n8sb6rjhzkkzbpvcczbgqq6b263yypwasqbg4mlb"; depends=[]; };
+  SigTree = derive { name="SigTree"; version="1.6"; sha256="1z6z3s6gay3pcjazibb0schipc9qqpp3ahf0f56fq9mhk545125z"; depends=[ape phyext RColorBrewer]; };
+  SII = derive { name="SII"; version="1.0.3"; sha256="1k9mvz6g25qs351c0vx7n5h77kb6k833jrcww14ni59yc9jgvsyg"; depends=[]; };
+  simba = derive { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; };
+  simboot = derive { name="simboot"; version="0.2-5"; sha256="0slznwk8i3z76sxbfd4y5rp28jr6jv4i5ynnckpr10i59ba04wlq"; depends=[boot mvtnorm]; };
+  SimComp = derive { name="SimComp"; version="1.9.0"; sha256="1qw1bm0pahmvjxwa15q42vifq71lg7rw3dij7vba14sy88746m3g"; depends=[mvtnorm multcomp mratios]; };
+  SimCorMultRes = derive { name="SimCorMultRes"; version="1.2"; sha256="0wgi36sdpsippdbawdl7b9bvip0l8gp8xd1v85vznd1dibkfjr1r"; depends=[evd]; };
+  simctest = derive { name="simctest"; version="2.4"; sha256="12qxav3qy1s6g8yr6ygbjp3jlrf2p0h3zvl8bnqpk6mx95zw5gh3"; depends=[]; };
+  Sim_DiffProc = derive { name="Sim.DiffProc"; version="2.7"; sha256="03g70f5rpj1695abbkk0n73bj1hniw6gzckzg3g5zrjczg96xxs8"; depends=[]; };
+  simecol = derive { name="simecol"; version="0.8-4"; sha256="0k83zcnvxq89m60d9157w3sn2gwyl6m7812qy1bgn260ac2nqv10"; depends=[deSolve]; };
+  simex = derive { name="simex"; version="1.5"; sha256="01706vbmfgcg13w1kq8v5rnk5xggbd1n7fv50c6bvhdyc1dly313"; depends=[]; };
+  simexaft = derive { name="simexaft"; version="1.0.7"; sha256="13w9m35qrrp8kkz4gqp7fg9jv8fs99y19n21bdxsd3f5mlkbvqgl"; depends=[mvtnorm survival]; };
+  simFrame = derive { name="simFrame"; version="0.5.3"; sha256="154d4k6x074ib813dp42l5l8v81x9bq2c8q0p5mwm63pj0rgf5f3"; depends=[Rcpp lattice]; };
+  SimHap = derive { name="SimHap"; version="1.2.0"; sha256="1mnvqfqfgkhnh3glvr0xamw7si29jg1ri0nbb437a7wf023siy9z"; depends=[survival nlme]; };
+  Simile = derive { name="Simile"; version="1.3"; sha256="0jf0ispjv8izrxggp6y3a3scd8qlbqfgppqz8m1q9n3gy8jhbsli"; depends=[]; };
+  SIMMS = derive { name="SIMMS"; version="0.0.1"; sha256="0s53kc95jbav28kj35isc7j09qpjsk49za8p766z9yfaiw0higp7"; depends=[survival MASS]; };
+  simMSM = derive { name="simMSM"; version="1.0.1"; sha256="0lway32vjajlsnkvi7j9hcsaz7bmhzmi1w3r2gr28y5mbkpfkgb2"; depends=[]; };
+  simone = derive { name="simone"; version="1.0-2"; sha256="071krim64s7fjwvwq7bjr0pw33mw9am9wpyypcy4gs7g1hj8wcir"; depends=[mixer]; };
+  simPH = derive { name="simPH"; version="1.2.2"; sha256="0bhycpip0f06ddgvydr19pdw8hl1yw3rvl781yqpc1zid657wir9"; depends=[car DataCombine data_table dplyr ggplot2 gridExtra MASS mgcv plyr reshape2 stringr survival quadprog]; };
+  simpleboot = derive { name="simpleboot"; version="1.1-3"; sha256="1qprjisfflhzg8ll12p3q1zcfdiyc45glic2j9cw9nhx5rb065fk"; depends=[boot]; };
+  SimpleTable = derive { name="SimpleTable"; version="0.1-2"; sha256="1rkybrp7zlb7cj37799npss1ldic0yf519q5l7a6ikal4yl1afyb"; depends=[hdrcde locfit MCMCpack]; };
+  simplexreg = derive { name="simplexreg"; version="1.0"; sha256="144kljh968i7n2d21r4204i4h952mfrkfc8b5r6x760msgjphxvh"; depends=[Formula plotrix]; };
+  Simpsons = derive { name="Simpsons"; version="0.1.0"; sha256="1pm6wga1yxc35zgz72plzq23d3l4bbzfdvhszdxmkn1pkk64h8ms"; depends=[mclust]; };
+  SimRAD = derive { name="SimRAD"; version="0.94"; sha256="0jlq1bmq1xl5inh4s722jjxp54dh3dcpcvdncnzma6yb0inw8sj5"; depends=[]; };
+  simsalapar = derive { name="simsalapar"; version="1.0-3"; sha256="0svfa8xnc5r6xqkwxvlnhml4l708ksgaq8fmnqbr1hwvzc6shypl"; depends=[sfsmisc gridBase colorspace]; };
+  simsem = derive { name="simsem"; version="0.5-3"; sha256="12y2jlyys3aq8k7wi13iarzlgiqisp7731vcnd5rvla3cn0bnzrw"; depends=[lavaan]; };
+  SimSeq = derive { name="SimSeq"; version="1.0.0"; sha256="142qjkfz53q3g9k37nqhilsw1mcklsa9q05yqvyn9dvj9l06y11i"; depends=[fdrtool]; };
+  simSummary = derive { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind svUnit gdata]; };
+  simTool = derive { name="simTool"; version="1.0"; sha256="005sq9pgmg80k67rn8y1qh88g1qh3hdi7adsrkf5hcbqzs6pzg30"; depends=[plyr reshape]; };
+  SimuChemPC = derive { name="SimuChemPC"; version="1.3"; sha256="0ff454rvplr1ad5c9nmq4jbdbgfy5gzlvxfwhnyv2wzvdcyca6rk"; depends=[rcdk]; };
+  SimultAnR = derive { name="SimultAnR"; version="1.1"; sha256="0jvmxwmbnx14h27b576dg9mw3c2z0w3m82f51f25zd1darcl06bj"; depends=[]; };
+  SIN = derive { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; };
+  SINGLE = derive { name="SINGLE"; version="1.3"; sha256="0wd7jzys51rnwr5rhf2llpygqxydjrv0dill19v8sz9w0madkil4"; depends=[flsa igraph dse Matrix]; };
+  siplab = derive { name="siplab"; version="1.1"; sha256="1b5drhla4p7n1y1cp7kqwqzw0b286kgij9j6wsks5vjgy5qfal1x"; depends=[spatstat]; };
+  sirad = derive { name="sirad"; version="2.0-7"; sha256="009icj1jil757vvsf88sgmdz40swrx1qvrhnx7wwj7p3dlh78pvw"; depends=[zoo ncdf RNetCDF raster]; };
+  siRSM = derive { name="siRSM"; version="1.1"; sha256="0fx6bfb5c8hdlgjxddwhhzr09ls53kfgn36hjk9zi5z8m14a7wbn"; depends=[rsm MASS foreach doSNOW]; };
+  sirt = derive { name="sirt"; version="0.46-15"; sha256="0r6qhv1mcxms231s7s1xscdjadj87qvbi0mkdf8krb7285x69k2y"; depends=[sfsmisc TAM CDM combinat ic_infer sm psych pbivnorm gtools Rcpp qgraph lavaan semPlot igraph coda mvtnorm MASS]; };
+  SIS = derive { name="SIS"; version="0.7-4"; sha256="0a8apfjzfwd5a2cvkviwvqlp26hqr34lba65cq5hxf9n05x2s7rx"; depends=[glmnet ncvreg survival]; };
+  sitar = derive { name="sitar"; version="1.0.1"; sha256="1ji8742f518fzg8xz0dy5irwdz7a0nymajh69zd2l53yvcsnlwdp"; depends=[nlme]; };
+  sitools = derive { name="sitools"; version="1.4"; sha256="0c0qnvsv06g6v7hxad96fkp9j641v8472mbphvaxa60k3xc7ackb"; depends=[]; };
+  SixSigma = derive { name="SixSigma"; version="0.8-1"; sha256="15jdr10a7a6wv50vz9y6qcrbhnddl8zh4j4d48xrarrqbjy6l4p7"; depends=[qcc lattice ggplot2 reshape2 nortest testthat]; };
+  SiZer = derive { name="SiZer"; version="0.1-4"; sha256="0kiwvxrfa2b49r2iab5v2aysc2yzk5ck3h41f2hr0vq5pdnz0qy5"; depends=[boot]; };
+  sjdbc = derive { name="sjdbc"; version="1.5.0-71"; sha256="0i9wdfadfcabayq78ilcn6x6y5csazbsgd60vssa2hdff0ncgvk1"; depends=[rJava]; };
+  sjPlot = derive { name="sjPlot"; version="1.4.2"; sha256="1vw66yz6j7inyb17krb0q830i9ik6wk3a1a1mn8gv1nhm48j8qlq"; depends=[ggplot2 MASS car foreign lmtest plyr psych reshape2 scales]; };
+  SKAT = derive { name="SKAT"; version="0.95"; sha256="0jvcwckx7m5jc929ip2fqppgl1c9cx7bpybx986fs25gg7m808d4"; depends=[]; };
+  skatMeta = derive { name="skatMeta"; version="1.4.3"; sha256="0bknv066ya4yl4hl4y02d9lglq2wkl9c2j1shzg3d64dg4sjvbak"; depends=[Matrix coxme survival CompQuadForm]; };
+  skda = derive { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
+  SkewHyperbolic = derive { name="SkewHyperbolic"; version="0.3-2"; sha256="00l1bz3wxvs7qwl4sy814w6nrh0k79ldck5zd6c5alvg50hjwwk3"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
+  skewt = derive { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
+  Skillings_Mack = derive { name="Skillings.Mack"; version="1.0-2"; sha256="1spf77ix9d264r126hnrjm7z8fw19v1bk5pqhqcf6lm93zlcgh8i"; depends=[MASS matrixcalc gtools]; };
+  skmeans = derive { name="skmeans"; version="0.2-6"; sha256="1ncas6mx9w5saz28vvwni8g0wbm6m7gfv8a7azw4305pc64bawam"; depends=[slam clue cluster]; };
+  slam = derive { name="slam"; version="0.1-32"; sha256="000636dwj4kmj5w1w5s6bqixh78m7262y3fgizj7rfhcnc2gz7ad"; depends=[]; };
+  SLC = derive { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; };
+  Sleuth2 = derive { name="Sleuth2"; version="1.0-7"; sha256="1zav2g1yqc6bvzap4r5xwy9abkdj8iswivj5y2lylc25nkxwcswg"; depends=[]; };
+  Sleuth3 = derive { name="Sleuth3"; version="0.1-6"; sha256="0q8sgh2szqnxc289vgi5v0sljzz8yb803ijx9w5mswdxw87z2dq3"; depends=[]; };
+  slfm = derive { name="slfm"; version="0.1"; sha256="0s5q6ank6075sls9pkqhf7jlvi6gyvsbxa99c34d6ccrv88skyzq"; depends=[Rcpp coda]; };
+  SLHD = derive { name="SLHD"; version="1.2-1"; sha256="0n5j20hp7kgi23gjprcwcaji8wdz5wwqqyc7i8dv0058fz2b5gzc"; depends=[]; };
+  slp = derive { name="slp"; version="1.0-3"; sha256="09jyrp6y3rigy043d8s5i7nh89pgpvn3cv51mr729c9ccr6jdjb1"; depends=[mgcv]; };
+  sltl = derive { name="sltl"; version="1.0"; sha256="08bh76qs4if17iw51wic1r9v17wldyqgmbyfpccqp49x7ajxnwhq"; depends=[FitAR timeSeries lubridate]; };
+  sm = derive { name="sm"; version="2.2-5.4"; sha256="0hnq5s2fv94gaj0nyqc1vjdjd64vsp9z23nqa8hxvjcaf996rwj9"; depends=[]; };
+  smaa = derive { name="smaa"; version="0.2-2"; sha256="1xd5yd63j67w9kb3sl3jbxkvd76270c1wlg9r3k85dm2mjd0l38v"; depends=[]; };
+  smacof = derive { name="smacof"; version="1.5-0"; sha256="06csyz9fvdicxm11wh9mp6i4mvlgxyiclhlyg45grag0kqjgg6ha"; depends=[rgl polynom scatterplot3d Hmisc colorspace nnls]; };
+  smam = derive { name="smam"; version="0.2-2"; sha256="1p6bzk4b9kpmfs4nxmcgc46hgdpldqg0pzpc0zhvs187z2nrfw75"; depends=[Matrix]; };
+  smart = derive { name="smart"; version="1.0.1"; sha256="0ki3qn71zrw0nyv395qijcwahnxyv1p21j8x6cxr9spah2wzz8lb"; depends=[Matrix gplots gtools PMA elasticnet pcaPP igraph]; };
+  SmarterPoland = derive { name="SmarterPoland"; version="1.2"; sha256="1ga2m9kbn269dx21k5q1drlw9hph99fsfdx2mfnajwlgpycgf6m9"; depends=[reshape rjson]; };
+  smatr = derive { name="smatr"; version="3.4-3"; sha256="0iiazln4albj7k5w67slvyn98cqg4f6k409mml0n1pvlkki0h7gy"; depends=[plyr]; };
+  SMC = derive { name="SMC"; version="1.1"; sha256="1r4ajgi785lmpnlxrba0n6phmk1f0mb6b5yqk6hx8gng2w8ggclz"; depends=[]; };
+  smco = derive { name="smco"; version="0.1"; sha256="1sj3y1x6pc32cwzyhn9gaxs964xh5xl4vw08hsa8kfcxhh2r0s99"; depends=[]; };
+  SMCP = derive { name="SMCP"; version="1.1.3"; sha256="0ksx2ibz849vhrz2px9p7z8hlgvspz7kxhadvhk5mhkfbhrnpdf0"; depends=[]; };
+  SMCRM = derive { name="SMCRM"; version="0.0-3"; sha256="1x06w00sdijhg5h1s61q4ym5wgk97pw9md6api7if2cxjv7h5zcy"; depends=[]; };
+  smcure = derive { name="smcure"; version="2.0"; sha256="1j7fxnb0sx57a0l929c3haz4f1y829ymlq0cvdh0cia4qp6ydv60"; depends=[survival]; };
+  smcUtils = derive { name="smcUtils"; version="0.2.2"; sha256="0d1kmg386j0zrpp8vgxjwvpf1i25l86xrh82767xkp0n9qj8srwq"; depends=[]; };
+  smdata = derive { name="smdata"; version="1.1"; sha256="1hcr093xfkp88fn75imjkmfnp9cfsng5ndxpa8m2g0l29qhpxfvk"; depends=[]; };
+  smdc = derive { name="smdc"; version="0.0.2"; sha256="1j6xnzjbmmakbmk3lyjck3bsy8w8hyd9d8h04s4gbddhci283mqm"; depends=[proxy tm]; };
+  sme = derive { name="sme"; version="0.8"; sha256="1djrs3z699p6q2y1hfywh27csqc9cp1cfm3lxkigmmvxqjhyshz6"; depends=[lattice]; };
+  SMFI5 = derive { name="SMFI5"; version="1.0"; sha256="10qp33l0dig00y9gfhpzqig6dbkjw76ch9pfq64dn4xrdkpq1kx5"; depends=[ggplot2 reshape corpcor]; };
+  smfsb = derive { name="smfsb"; version="1.1"; sha256="0khd23b6k9zgxz2x6g6c6k2g32mbpli32izdq6fgk1a990kdsp6j"; depends=[]; };
+  SMIR = derive { name="SMIR"; version="0.02"; sha256="02q8m5m8lcfrpi78p3kajkps8wiir3jwyqc54j9vfx8aj6mk1v71"; depends=[]; };
+  smirnov = derive { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; };
+  SmithWilsonYieldCurve = derive { name="SmithWilsonYieldCurve"; version="1.0.1"; sha256="0qvhd1dn2wm9gzyp6k7iq057xqpkngkb4cfmvmjqmf0vhysp371w"; depends=[]; };
+  SML = derive { name="SML"; version="0.1"; sha256="0pdj7321wy50v5l23hknlm30kp8cfgn072pbbifyp8qzmk0hyd8h"; depends=[glmnet Matrix lattice]; };
+  SMNCensReg = derive { name="SMNCensReg"; version="2.4"; sha256="1q5yjc1njlm3hd33fdjv9d46jawr5l7r1zzj4m22spd2q5cpv04i"; depends=[Matrix PerformanceAnalytics]; };
+  SmoothHazard = derive { name="SmoothHazard"; version="1.0.9"; sha256="01ipdkb51zwrwb1gj344y4gl0934y8j54738rdzffl2lq6r3w7kv"; depends=[prodlim mvtnorm]; };
+  smoothHR = derive { name="smoothHR"; version="1.0.1"; sha256="02kjqkgnhjwhq1vmva9nmy36a7bc6zjj6g81dw9m4zd3y9nbb005"; depends=[survival]; };
+  smoothie = derive { name="smoothie"; version="1.0-1"; sha256="12p4ig8fbmlsby5jjd3d27njv8j7aiwx0m2n1nmgvjj0n330s1kj"; depends=[]; };
+  smoothmest = derive { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; };
+  smoothSurv = derive { name="smoothSurv"; version="1.3-2"; sha256="11aq3yb7q4pilp00l7q8r3ywbmwnka63kkjpvakp27mvaqyr02qr"; depends=[survival]; };
+  smoothtail = derive { name="smoothtail"; version="2.0.3"; sha256="0yr3j5mq1h9pd72kyi9z6wzly9cqkscim814yi710y79l03gp0fd"; depends=[logcondens]; };
+  SMPracticals = derive { name="SMPracticals"; version="1.4-2"; sha256="0apmkmsv2fqmxpgq08n9k9dvcknj74s4cpp0myjcd6kibb7g9slq"; depends=[ellipse MASS nlme survival]; };
+  SMR = derive { name="SMR"; version="1.0.0"; sha256="1479rkzwciw6h2r43wip52fmv5im33jrdphahcg38rfdqbx5ayrr"; depends=[]; };
+  sms = derive { name="sms"; version="2.3"; sha256="0grxyp590hj2rvw1fw3yidzkl8nqqp5a14bp9xfpdph2nyas61qq"; depends=[doParallel foreach]; };
+  smss = derive { name="smss"; version="1.0-1"; sha256="17a0x92hxzn212yiz87n7ssyi3bdhnyawxk1kkmk46q1ss22a1pm"; depends=[]; };
+  SMVar = derive { name="SMVar"; version="1.3.3"; sha256="17wr4lixy3p32gr4jq02d7zsr88yrbddjsvynzdsdrwbxf4mwqhp"; depends=[]; };
+  sn = derive { name="sn"; version="1.1-0"; sha256="0agilvhrg3x8xqysa098qjj0nzvfx6yps6v85jiwllhd1dp70fnl"; depends=[mnormt numDeriv]; };
+  sna = derive { name="sna"; version="2.3-2"; sha256="1dmdv1bi22gg4qdrjkdzdc51qsbb2bg4hn47b50lxnrywdj1b5jy"; depends=[]; };
+  snapshot = derive { name="snapshot"; version="0.1.2"; sha256="0cif1ybxxjpyp3spnh98qpyw1i5sgi1jlafcbcldbqhsdzfz4q10"; depends=[]; };
+  SNFtool = derive { name="SNFtool"; version="2.1"; sha256="12kjxgjazb0qivcyg0lkqlvkdk7algpw3s1ir8p5if5c8cpicjyy"; depends=[]; };
+  snow = derive { name="snow"; version="0.3-13"; sha256="1habq43ncac9609xky3nqfkbq52cz36dg8jbdihag269z1kazdnf"; depends=[]; };
+  SnowballC = derive { name="SnowballC"; version="0.5.1"; sha256="0kbg33hy6m2hv9jspyx6naqmk2q6h2zmvvczjmkwqvlhzlj0c5s4"; depends=[]; };
+  snowfall = derive { name="snowfall"; version="1.84-6"; sha256="1n9v9m4c02pspgkxfmq7zdk41s2vjcsk06b0kz9km4xy1x7k0hsg"; depends=[snow]; };
+  snowFT = derive { name="snowFT"; version="1.3-0"; sha256="10hhhzzzyz1ph7c8k08s79h4pdwq4jk8bh47y37ww0yjq0fd6gik"; depends=[snow]; };
+  SNPassoc = derive { name="SNPassoc"; version="1.9-2"; sha256="113byj8zbg6xyxb1qzm76sqfyk3fap0sd90691zzm1x2pbfnb3mh"; depends=[haplo_stats survival mvtnorm]; };
+  snpEnrichment = derive { name="snpEnrichment"; version="1.4-0"; sha256="0fdr27d7hk3vzvhrvgnypwcrk4y0sncrrg4kk730ynsv0ig7dswl"; depends=[]; };
+  snplist = derive { name="snplist"; version="0.12"; sha256="0jsf080pbpnsx2jygyqg0l14lsr4fvjzahgchdrawjhl2rky4nwl"; depends=[RSQLite Rcpp R_utils]; };
+  SNPmaxsel = derive { name="SNPmaxsel"; version="1.0-3"; sha256="0pjvixwqzjd3jwccc8yqq9c76afvbmfq0z1w0cwyj8bblrjpx13z"; depends=[mvtnorm combinat]; };
+  SNPMClust = derive { name="SNPMClust"; version="1.0"; sha256="1vyag8axrl888qhjsbv7g84hzfsnvxh5ccdcdriamy50c2chkji8"; depends=[MASS mclust]; };
+  snp_plotter = derive { name="snp.plotter"; version="0.5.1"; sha256="16apsqvkah5l0d5qcwp3lq2jspkb6n62wzr0wskmj84jblx483vv"; depends=[genetics]; };
+  snpStatsWriter = derive { name="snpStatsWriter"; version="1.5-6"; sha256="04qhng888yih8gc7yd6rrxvvqf98x3c2xxz22gkwqx59waqd4jlq"; depends=[colorspace]; };
+  SNPtools = derive { name="SNPtools"; version="1.1"; sha256="0l29kiqz4048x7amxx1qzkaw2xnd6lpdsdp5nq3rck9amx2hw64a"; depends=[]; };
+  SNSequate = derive { name="SNSequate"; version="1.1-1"; sha256="1jgpjws5apysp55pwy3x8mbzy4zjvv39anp6j2x4lgczh5nf49b6"; depends=[magic]; };
+  SOAR = derive { name="SOAR"; version="0.99-11"; sha256="1n38gx5sxpkqfkk4y6vpp6g19b8bs5bisni9wn6311s0csizp86m"; depends=[]; };
+  soc_ca = derive { name="soc.ca"; version="0.7.1"; sha256="0lg1bpbd0crywa29xc79cn3kr614wq4hr09xpwk17nv7q8qw8cnh"; depends=[ggplot2 gridExtra ellipse scales]; };
+  SocialMediaMineR = derive { name="SocialMediaMineR"; version="0.1"; sha256="113nyjncl5yi61hz8i7k60b3f0f9a5vyrd3s72nbmc44cnvr8fci"; depends=[RCurl jsonlite httr]; };
+  SocialNetworks = derive { name="SocialNetworks"; version="1.0"; sha256="0g6l1rf08qz0332fglc2gvkba55fjq9fiwf25rjqanh6spgk60fn"; depends=[Rcpp]; };
+  SOD = derive { name="SOD"; version="1.0"; sha256="0f0rh1qsjzxb3zzr440kvl6fnnj7dvc5apdzs5hpf6xrlfg863pk"; depends=[Rcpp]; };
+  SoDA = derive { name="SoDA"; version="1.0-6"; sha256="0sh2dan4ga2k14rirnkvgzsvbksx1k4ika5gkf5cy247rjkqnpj0"; depends=[]; };
+  SODC = derive { name="SODC"; version="1.0"; sha256="18s4rcp5dzchvwrzzbfhbs3x91zlg1rymjarxjk5i429mfrn0krx"; depends=[magic ppls psych MASS]; };
+  softclassval = derive { name="softclassval"; version="1.0-20130317"; sha256="1ifqm4a3xxi9wd4l1q4l5h4q5f8hp0k28mqpszzj8k1czbph88ql"; depends=[arrayhelpers]; };
+  SoftClustering = derive { name="SoftClustering"; version="0.14.02"; sha256="15j79h1ccvzfpi55prbv2d7bms1grgry0ka58cr757cvwavrnbb8"; depends=[]; };
+  softImpute = derive { name="softImpute"; version="1.0"; sha256="0pkpr8pxvrrw4p95907bnhl3k54dxz5r2fk8zi56kilrarhzchqr"; depends=[Matrix]; };
+  soilDB = derive { name="soilDB"; version="1.3-2"; sha256="0rpkj9rjk75nz4dp0hkp4xjmd5s4lwppabbdqppwc5xs0565rdb6"; depends=[RODBC aqp plyr Hmisc]; };
+  soilphysics = derive { name="soilphysics"; version="1.1"; sha256="1a7dcdhqm4dfdyicbpwc1wlj13y1pwkicyqkam1pizd5wblhr97b"; depends=[rpanel MASS]; };
+  soilprofile = derive { name="soilprofile"; version="1.0"; sha256="0sdfg6m2m6rb11hj017jx2lzcgk6llb01994x749s0qhzxmvx9mb"; depends=[aqp lattice munsell splancs]; };
+  SoilR = derive { name="SoilR"; version="1.1-23"; sha256="1cryypgnbck5hvkc2izrd8r10q2b97f2p1s46x4dk8p099gck5wg"; depends=[deSolve RUnit]; };
+  soil_spec = derive { name="soil.spec"; version="2.1.3"; sha256="17fm4hyx8g6pj7qv11xlnx459x1s41fapz6ck4my9br734gcm4ns"; depends=[KernSmooth wavelets hexView pls]; };
+  soiltexture = derive { name="soiltexture"; version="1.2.13"; sha256="10f4fdvicm7gj5zizpw197avzsbzj9x1g92y1ibh6lpdx3qz0ba1"; depends=[sp MASS]; };
+  soilwater = derive { name="soilwater"; version="1.0.1"; sha256="08rz1i5dsgwfvfd4sl5x9j970v82v3kny0rqg1zbdnr53vp2xc7j"; depends=[]; };
+  solaR = derive { name="solaR"; version="0.38"; sha256="0cvza0d4kd47kr6749ysvw664kjja87ppn4jvan4hrklczbpdc9z"; depends=[lattice latticeExtra zoo]; };
+  SOLOMON = derive { name="SOLOMON"; version="1.0-1"; sha256="0z91wsrgdir25ks4dnirzsg4f1ngal7n40235m3w43j6y6dhkqrc"; depends=[]; };
+  solr = derive { name="solr"; version="0.1.4"; sha256="0b1f6mf8fi2ql8j06b0mkk7nyy5wj1zsg46lfxi6bp8n4ywbym9n"; depends=[plyr httr XML assertthat rjson]; };
+  som = derive { name="som"; version="0.3-5"; sha256="01xsysmqj0zhzifqpwcrs0mflh56ndv4q3nm5n5imx7wmzx2lrzp"; depends=[]; };
+  soma = derive { name="soma"; version="1.1.0"; sha256="0x1wnn22mf14kix3rpkshf585vnddappd8w035pdv8qfsh5zzw6f"; depends=[reportr]; };
+  somebm = derive { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
+  someKfwer = derive { name="someKfwer"; version="1.1"; sha256="023lrf62z3ik3g6qljmyjkg1lxs21q93ajj3hyjri14431ccc2pg"; depends=[]; };
+  someMTP = derive { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; };
+  somplot = derive { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
+  soobench = derive { name="soobench"; version="1.0-73"; sha256="1y2r061pd4kr0kdgp8db3qy2aj07jdiyvy2py4fmwg6b8pcf9y0l"; depends=[]; };
+  SortableHTMLTables = derive { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[testthat brew]; };
+  sortinghat = derive { name="sortinghat"; version="0.1"; sha256="1wrxwhdp3gj1ra0rgldnmc0w019bnjb6z9j20c5p1ab09x4dmlny"; depends=[MASS bdsmatrix mvtnorm]; };
+  sorvi = derive { name="sorvi"; version="0.6.23"; sha256="070g6kxnacqwzl4djhbb5zjvp71997xl2l53cfni05yf7mkm17as"; depends=[reshape pxR ggplot2 plyr RColorBrewer XML]; };
+  sos = derive { name="sos"; version="1.3-8"; sha256="0vcgq8hpgdnlmkxc7qh1jqigr0gvm9x3w4ijbhma7x4i5fx3c2il"; depends=[brew]; };
+  sos4R = derive { name="sos4R"; version="0.2-11"; sha256="0r4lficx8wr0bsd510z4cp6la32xf928rsiznbywpxghnypsrcgg"; depends=[XML RCurl sp]; };
+  sotkanet = derive { name="sotkanet"; version="0.9.03"; sha256="1h8jmwv99hcrl5hkd99ypphvl8hx6k765vb8aphzp8a0vh42pkl1"; depends=[ggplot2 rjson]; };
+  soundecology = derive { name="soundecology"; version="1.1.1"; sha256="0md33ipcqcsbl361s242c4wk9szsl8sywks6ikzljabrfpjy3bkp"; depends=[pracma oce ineq vegan tuneR seewave]; };
+  source_gist = derive { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; };
+  sp = derive { name="sp"; version="1.0-15"; sha256="1pzkh1zzp61x9qg7k466syip1bcmp8m2j9vr964nv0fha9cfq6aj"; depends=[lattice]; };
+  sp23design = derive { name="sp23design"; version="0.9"; sha256="1ihvcld19cxflq2h93m9k9yaidhwixvbn46fqqc1p3wxzplmh8bs"; depends=[mvtnorm survival]; };
+  spa = derive { name="spa"; version="2.0"; sha256="1np50qiiy3481xs8w0xfmyfl3aypikl1i1w8aa5n2qr16ksxrnq3"; depends=[cluster MASS]; };
+  SPA3G = derive { name="SPA3G"; version="1.0"; sha256="0fcbrg43c5r2n5p7bb8wslqzhl5h31paxr9rla583lkm0baxnmym"; depends=[]; };
+  spaa = derive { name="spaa"; version="0.2.1"; sha256="0qlfbfvv97avbnixm5dz9il3dmd40wnpvv33jh7fa0mh740bircy"; depends=[]; };
+  space = derive { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; };
+  SPACECAP = derive { name="SPACECAP"; version="1.1.0"; sha256="1m5x2rydppib6fj7wlc6pq4gyvyvhw49yx9qgy4c2rk648wxnhrj"; depends=[coda]; };
+  spaceExt = derive { name="spaceExt"; version="1.0"; sha256="0lp8qmb7vcgxqqpsi89zjy7kxpibg3x2mq205pjmsrbbh7saqzr4"; depends=[limSolve glasso]; };
+  spacejam = derive { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; };
+  spacetime = derive { name="spacetime"; version="1.1-0"; sha256="0hmwlvam57i58lhfy9328ld1w4c5ilif6s1wvz6l9zvh036169zi"; depends=[sp zoo xts intervals lattice rgeos]; };
+  spacodiR = derive { name="spacodiR"; version="0.13.0115"; sha256="0c0grrvillpwjzv6fixviizq9l33y7486ypxniwg7i5j6k36nkpl"; depends=[picante colorspace Rcpp]; };
+  spacom = derive { name="spacom"; version="1.0-4"; sha256="1jfsbgy7b0mwl4n2pgrkkghx9p8b0wipvg4c5jar6v8ydby6qg94"; depends=[spdep foreach iterators lme4 nlme Matrix]; };
+  spam = derive { name="spam"; version="0.41-0"; sha256="0pky172hycis2idq4274f9i4vhvj3lz7fpr869vm4qklb91j81sp"; depends=[]; };
+  spaMM = derive { name="spaMM"; version="1.2.0"; sha256="0q8gfy9f0hrf82yp4rnwmjpyh97dz4yx1bhxiww8lh3dsbaagjns"; depends=[Matrix MASS lpSolveAPI proxy geometry Rcpp]; };
+  SPAr = derive { name="SPAr"; version="0.1"; sha256="068jlsvaxx80ih6n86286m2r75cvy6w0m51vpj4gfclhh38py4p4"; depends=[]; };
+  sparc = derive { name="sparc"; version="0.9.0"; sha256="0jsirrkmvrfxav9sphk8a4n52fg0d1vnk3i8m804i4xl0s7lrg8s"; depends=[]; };
+  sparcl = derive { name="sparcl"; version="1.0.3"; sha256="1348pi8akx1k6b7cf4bhpm4jqr5v8l5k086c7s6rbi5p6qlpsrvz"; depends=[]; };
+  sparkTable = derive { name="sparkTable"; version="0.11.0"; sha256="1293w8xyav7fqrsicx61g4hfq4v4pcd00msi2rm9y5y51b313pm1"; depends=[Cairo gridExtra ggplot2 shiny xtable StatMatch Rglpk pixmap RGraphics]; };
+  sparktex = derive { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
+  SPARQL = derive { name="SPARQL"; version="1.16"; sha256="0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"; depends=[XML RCurl]; };
+  sparr = derive { name="sparr"; version="0.3-5"; sha256="0vyy4zvvmkdr285wmmd3c84mvkwsz367k44b2i1j0sfj62m9w7q2"; depends=[spatstat rgl MASS]; };
+  sparseBC = derive { name="sparseBC"; version="1.0"; sha256="16x581pm9fkbb4kp8lvz95mnckgrjbiwj9zin8hzyxdl1nrg4c3m"; depends=[glasso]; };
+  sparsediscrim = derive { name="sparsediscrim"; version="0.2"; sha256="0m8ccmqpg1np738njavf736qh917hd3blywyzc3vwa1xl59wqccl"; depends=[corpcor bdsmatrix mvtnorm]; };
+  SparseGrid = derive { name="SparseGrid"; version="0.8.2"; sha256="057xbj2bhjm9i32kn39iscnqqdsvsmq0b8c92l8hnf9avf1sx10x"; depends=[]; };
+  sparseHessianFD = derive { name="sparseHessianFD"; version="0.1.1"; sha256="15x9v7b40mxl1z9ncazxzfzz7igvzmck22wlgj2y7c2ja8jxi6n2"; depends=[Rcpp RcppEigen Matrix]; };
+  sparseLDA = derive { name="sparseLDA"; version="0.1-6"; sha256="0k9v2pjx4q4nhvpjhv496v4gfr5h19w0h2h7za7j6zqfn6aygvz6"; depends=[lars elasticnet MASS mda]; };
+  sparseLTSEigen = derive { name="sparseLTSEigen"; version="0.2.0"; sha256="11llmrkq0pnrdphgjvhmg269bq3xbbn4s7kd7xhvk62sigvspkcj"; depends=[robustHD Rcpp RcppEigen]; };
+  SparseM = derive { name="SparseM"; version="1.05"; sha256="041mkl0dlydlar0v0a66n9s1n0klayr08hwzpmwr2hsr05z0z380"; depends=[]; };
+  sparseMVN = derive { name="sparseMVN"; version="0.1.0"; sha256="1xcq1w80ypqdz4zxwhnnzc50lhja6qxfxxnrg5xkgzpmy1zvjbzq"; depends=[Matrix]; };
+  sparsenet = derive { name="sparsenet"; version="1.2"; sha256="106a2q4syrcnmicrx92gnbsf2i5ml7pidwghrpl6926glj59j248"; depends=[glmnet shape]; };
+  spartan = derive { name="spartan"; version="2.0"; sha256="05xzhmyfx6krdsrqy2x8rsybvh3pc88nrggk955lqy7vwrdpf1j7"; depends=[]; };
+  spatcounts = derive { name="spatcounts"; version="1.1"; sha256="0rp8054aiwc62r1m3l4v5dh3cavbs5h2yb01453bw9rwis1pj2qm"; depends=[]; };
+  spate = derive { name="spate"; version="1.3"; sha256="17aiqi5cd17y9kaqx9yssk772ghcldk9i4s8nyafq8zp8d4r85i1"; depends=[mvtnorm truncnorm]; };
+  spatgraphs = derive { name="spatgraphs"; version="2.62"; sha256="1h7sv6qc5zhaiaqlrzagrlc2mxlasdzilmi5q9nrd1vsdzsqxvb4"; depends=[]; };
+  spatial = derive { name="spatial"; version="7.3-8"; sha256="1vc6pc5i7nbazbh5y3hhr9kgaq0gd9xi89xc8ah4n0lrivjbxfa8"; depends=[]; };
+  spatialCovariance = derive { name="spatialCovariance"; version="0.6-8"; sha256="06z6jz9sadqc382w07ysnnlhqc96hxaasz9wncbhipd4cd1y4daa"; depends=[]; };
+  SpatialEpi = derive { name="SpatialEpi"; version="1.2.1"; sha256="02mvahpbrlcnxmf272fk46wykv9s2lcjqd5yhd80dfs78qjwly77"; depends=[sp Rcpp MASS maptools spdep]; };
+  SpatialExtremes = derive { name="SpatialExtremes"; version="2.0-0"; sha256="0fjh4cjzljwzxk4bhcrff9wnkskaiawbj7z6swrj1xl35mq4dljx"; depends=[]; };
+  spatial_gev_bma = derive { name="spatial.gev.bma"; version="1.0"; sha256="1rjn0gsbgiv69brhnm0zj25ya3nyfh4yf6jizng85mvss3viv3hj"; depends=[SpatialExtremes msm coda]; };
+  spatialkernel = derive { name="spatialkernel"; version="0.4-19"; sha256="0gbl6lrbaxzv2f975k0vd6ghrljgf1kjazld3hm7781kv1f87lji"; depends=[]; };
+  SpatialNP = derive { name="SpatialNP"; version="1.1-1"; sha256="108gxk0gbbjck9bgxvqb9h216ww21lmh2by0hrhzwx5r63hhcbmd"; depends=[]; };
+  SpatialPack = derive { name="SpatialPack"; version="0.2-3"; sha256="1gs0x3wj3hj663m6kszwhy3ibcx0lrslr127miy1rhz8683ij71c"; depends=[]; };
+  spatialprobit = derive { name="spatialprobit"; version="0.9-10"; sha256="1z88nss69pixazqk3b6rpyc7mjryfznrgw9swfyfxky0bsdfj6mv"; depends=[Matrix spdep mvtnorm tmvtnorm]; };
+  spatialsegregation = derive { name="spatialsegregation"; version="2.40"; sha256="0kpna2198nrj93bjsdgvj85wnjfj18psdq919fjnnhbzgzdkxs7l"; depends=[spatstat]; };
+  spatialTailDep = derive { name="spatialTailDep"; version="1.0"; sha256="070jsz86jc4qvwa8j9gfksy23hf0wgj307w7jd5107ng1f42047v"; depends=[cubature mvtnorm SpatialExtremes]; };
+  spatial_tools = derive { name="spatial.tools"; version="1.4.8"; sha256="0qnsjfx974na87p3n7sp711sc13v6dmpvb2kjpvscixs8rsy03y1"; depends=[iterators foreach rgdal raster mmap abind doParallel]; };
+  SpatialTools = derive { name="SpatialTools"; version="0.5.8"; sha256="18zchr8bfjqdr9j6vh6365mhrj2n0ns1ixvmas5s0ppiim59jl7j"; depends=[spBayes Rcpp]; };
+  SpatialVx = derive { name="SpatialVx"; version="0.2-1"; sha256="0j6m698nyd9nq0qx1s2ykk05q2scj9jb0m813r0xyymf0sl0l90a"; depends=[spatstat fields smoothie smatr turboEM distillery maps boot CircStats fastcluster waveslim]; };
+  SpatioTemporal = derive { name="SpatioTemporal"; version="1.1.7"; sha256="0rc5zf8cnjw59azgqmslfz2dl5i17dfmb7ls5c849qybp2gn2zdv"; depends=[Matrix MASS]; };
+  spatstat = derive { name="spatstat"; version="1.37-0"; sha256="1vz22y6k79xqbcl5qdbjn36qwlc7sh7jlcvrdq9v1sbmqvdj2j23"; depends=[mgcv deldir abind tensor polyclip]; };
+  spatsurv = derive { name="spatsurv"; version="0.9-6"; sha256="0gq0m27i96v3pasq8b4d6dyi6x3irxm648f3l2sw693dm12gcqrx"; depends=[survival sp iterators RandomFields fields rgl Matrix stringr]; };
+  spBayes = derive { name="spBayes"; version="0.3-8"; sha256="0pmriffqnblqyd1332a2pqrjr7y3wllb17swb403h7c9dph6mzzv"; depends=[coda magic abind Formula]; };
+  spBayesSurv = derive { name="spBayesSurv"; version="1.0.0"; sha256="17di7irh9sad3jviw8adp3z0v1qi8j6rsh2wv0y6k59milflsdn9"; depends=[Rcpp survival]; };
+  spc = derive { name="spc"; version="0.5.0"; sha256="0bh4a3dpavczckhpwqax1h5w73ai3mkf0nwq9nhlvkdrh6k6j6cy"; depends=[]; };
+  spcadjust = derive { name="spcadjust"; version="0.1-2"; sha256="1i64hbslsmnap6ljwpzygrbcb2q1zp0jsm02x2a29nyxq05wwrrv"; depends=[]; };
+  spcosa = derive { name="spcosa"; version="0.3-5"; sha256="15q0f2sfhm1b13zs5a50yfvqhgcn4fyncf0h5ivin2k9g5xvq4k4"; depends=[rJava ggplot2 sp]; };
+  spcov = derive { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; };
+  spcr = derive { name="spcr"; version="1.2"; sha256="0xixl6b4h3iawpbfgdni6z2v7ch3ydn7s9fyr8g0sjr4svzqbyiv"; depends=[]; };
+  spd = derive { name="spd"; version="2.0-0"; sha256="0aznzj68gynhx295gdb4sb7xxjiya4vbdg3gshfs0mwg1qzrhxy9"; depends=[KernSmooth]; };
+  spdep = derive { name="spdep"; version="0.5-74"; sha256="0f9ahp57dfincwjazx0fgqzk4i2nc6fxra7dlfa8xvzwrp1yll05"; depends=[sp Matrix LearnBayes deldir boot coda nlme MASS]; };
+  spdynmod = derive { name="spdynmod"; version="1.0"; sha256="0az4y95j1x0kid6smc0k20w1q2bnjnr267rw8fk0j41rrm7njcai"; depends=[deSolve raster animation]; };
+  spe = derive { name="spe"; version="1.1.2"; sha256="0xyx42n3gcsgqmy80nc9la6p6gq07anpzx0afwffyx9fv20fvys0"; depends=[]; };
+  speccalt = derive { name="speccalt"; version="0.1.1"; sha256="0j7rbidmmx78vgwsqvqjbjjh92fnkf2sdx0q79xlpjl2dph7d6l6"; depends=[]; };
+  SPECIES = derive { name="SPECIES"; version="1.0"; sha256="0p45llf2wjr467bqr4pbljfank9zz3fm42yl3i0r3jbkxgz0rjf0"; depends=[]; };
+  SpeciesMix = derive { name="SpeciesMix"; version="0.3.1"; sha256="0wl15k00d7n9pmnp1kr28p05z4vrziprcdndw77kwkcgv51cvllk"; depends=[MASS numDeriv]; };
+  specificity = derive { name="specificity"; version="0.1.1"; sha256="1gvlyx9crkzm3yyp1ln5j9czcg83k7grm6ijabhl919gjjr1p60n"; depends=[car]; };
+  SpecsVerification = derive { name="SpecsVerification"; version="0.1-1"; sha256="0bym4r2bz02v7cw0sn5bpsrnyvrm9jq2s9hz621x10d37iymc7m0"; depends=[]; };
+  spectralGP = derive { name="spectralGP"; version="1.3.1"; sha256="1bc8y4wk09spsvbv8cn1iqq2y9qdlvrcnpqh2s0b8j4nxx262gyb"; depends=[]; };
+  spectral_methods = derive { name="spectral.methods"; version="0.7.2.125"; sha256="06d7l3hv1yi887yd3ig63n2ajyxa7a0cpjaza8spif9yj5jia35d"; depends=[Rssa raster nnet abind RNetCDF ncdf_tools foreach JBTools DistributionUtils RColorBrewer]; };
+  speedglm = derive { name="speedglm"; version="0.2"; sha256="1vl3q67qhrvg01m2yaxrjz4rc3wh1mrmr3hdh0bbdg8rjq1khbl0"; depends=[Matrix]; };
+  speedRlibs = derive { name="speedRlibs"; version="1.1-36"; sha256="1q0kv07wgirfmvaqrnyfr6csz8yycjnpqlvxq9w2k5agsn86pbr8"; depends=[]; };
+  speedRlibTF = derive { name="speedRlibTF"; version="0.3-39"; sha256="061cnc9qy1zpfr0k9a57jfy3xf25gkl67f22sniykmk31v0vr60r"; depends=[]; };
+  speff2trial = derive { name="speff2trial"; version="1.0.4"; sha256="0dj5mh2sdp6j4ijgv14hjr39rasab8g83lx1d9y50av11yhbf2pw"; depends=[leaps survival]; };
+  SPEI = derive { name="SPEI"; version="1.6"; sha256="0mbz4nydnzwypfbi1d9fjy09x6133q096qbfrc913dbidzkvfpqv"; depends=[lmomco]; };
+  sperich = derive { name="sperich"; version="1.5-5"; sha256="0xwzyfx3z06lapvhzdzrfr9hw2hm8d0cyfmc29p5fcplmjm24idh"; depends=[]; };
+  sperrorest = derive { name="sperrorest"; version="0.2-1"; sha256="17jq8r98pq3hsyiinxg30lddxwpwi696srsvm3lfxrzk11076j6v"; depends=[ROCR rpart]; };
+  spfrontier = derive { name="spfrontier"; version="0.1.10"; sha256="0x1f8g8lg1f5kp9m2pnj8qbv5pjk40kh40yd3s6iwgny4hjsmg60"; depends=[moments ezsim tmvtnorm mvtnorm Matrix]; };
+  spgrass6 = derive { name="spgrass6"; version="0.8-3"; sha256="0syrm4fgyzslvl9k8szlha01iqkz02nla08whys3pvf4s9zjd4xl"; depends=[sp XML]; };
+  spgwr = derive { name="spgwr"; version="0.6-24"; sha256="10yiyq704gs51h7i2nrd5r8730np7hvkcfnn3mly5wgaanrcb6n4"; depends=[sp]; };
+  sphereplot = derive { name="sphereplot"; version="1.5"; sha256="1i1p20h95cgw5wqp9bwfs9nygm4dxzsggz08ncjs1xrsvhhq9air"; depends=[rgl]; };
+  SphericalCubature = derive { name="SphericalCubature"; version="1.0.1"; sha256="0j592zvs07yc6amahlxgdw0k1vqr89gvcq22vcwzkx62igvlf6pv"; depends=[cubature]; };
+  SpherWave = derive { name="SpherWave"; version="1.2.2"; sha256="1wd9pql97m1zl0axzpkfq9sxadrm5cfax0gxh0ncqadaq7w7lml4"; depends=[fields]; };
+  sphet = derive { name="sphet"; version="1.5"; sha256="00hgzashw5qdv7j2q0cz433k595d8dzlxr89kvz1z2cpb87pfv54"; depends=[nlme spdep Matrix sp]; };
+  spi = derive { name="spi"; version="1.1"; sha256="0gc504f7sji5x0kmsidnwfm7l5g4b1asl3jkn2jzsf2nvjnplx1z"; depends=[]; };
+  SPIAssay = derive { name="SPIAssay"; version="1.0.0"; sha256="1rwa2iicwdm7z8khlnly0ybrqiisw420anr2pcdd5chxa48h8apg"; depends=[]; };
+  spider = derive { name="spider"; version="1.3-0"; sha256="1p6f8mlm055xq3qwa4bqn9kvq60p8fn2w0cc6qcr22cblm5ww7jp"; depends=[ape pegas]; };
+  spikeslab = derive { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; };
+  spikeSlabGAM = derive { name="spikeSlabGAM"; version="1.1-7"; sha256="1hdclj3fq31n9hvyggj2rvz2m95kjszbcswa46vfi2vyiwbb2bia"; depends=[ggplot2 akima coda cluster gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; };
+  SPIn = derive { name="SPIn"; version="1.1"; sha256="109xxrg7bsmmfd6ik85kxrw2qclxbh5ipsh5mmrdl4hki3hnyp2s"; depends=[quadprog]; };
+  splancs = derive { name="splancs"; version="2.01-34"; sha256="0r7kn16mkpzyj52i28w40k0hngkf4i3si4qvkb8m5s641lw2jmpk"; depends=[sp]; };
+  splitstackshape = derive { name="splitstackshape"; version="1.2.0"; sha256="0p9av1zzzl6h5d3fprwcd8ng1g2s8wq7bzid7lqig3k8mcgzwm20"; depends=[data_table]; };
+  splm = derive { name="splm"; version="1.1-0"; sha256="1dhfasan5abr9gf6lfdl83cr47ckkj5sqjqgclnc6f6a2125q1fi"; depends=[MASS nlme spdep plm Matrix bdsmatrix spam ibdreg car lmtest Ecdat maxLik]; };
+  spls = derive { name="spls"; version="2.2-1"; sha256="0zgk9qd825zqgikpkg13jm8hi6ncg48qw5f985bi145nwy9j19xs"; depends=[MASS nnet pls]; };
+  splus2R = derive { name="splus2R"; version="1.2-0"; sha256="0kmyr1azyh0m518kzwvvgz7hv1x5myj37xn7w2gfn0vbn5xl8pv1"; depends=[]; };
+  splusTimeDate = derive { name="splusTimeDate"; version="2.5.0-135"; sha256="0hghggdcr70vfjx4npj37nmd96qvgrp1gpwa9bznvjkvyfawwy6i"; depends=[]; };
+  splusTimeSeries = derive { name="splusTimeSeries"; version="1.5.0-73"; sha256="1csk0ffgg1bi2k1m2bbxl6aqqqxf6i8sc8d4azip8ck7rn8vya46"; depends=[splusTimeDate]; };
+  spMC = derive { name="spMC"; version="0.3.1"; sha256="12ymyyy77y7azbg983y091dfqcv68c7lpz2rcnnn384jqp7b2c4v"; depends=[]; };
+  SPmlficmcm = derive { name="SPmlficmcm"; version="1.1"; sha256="02hg9dzfnxa8cz31kkq52707f7y5471cq78asfbrf397mfz82wbl"; depends=[numDeriv nleqslv boot]; };
+  SPMS = derive { name="SPMS"; version="2.0"; sha256="150kb4gjiksp3kc7p9j5zqc4955rq4fb27as71z89h23mkswz5r5"; depends=[Matrix]; };
+  spnet = derive { name="spnet"; version="0.9.0.1"; sha256="0fy19y155m1fmifdnsyb8y71xgnk3hyril28x68bwvn2v9d737k5"; depends=[sp shape]; };
+  spocc = derive { name="spocc"; version="0.2.0"; sha256="069yfksdk10779pb6xyg8cgq83ipbigi2zs9dymqyk8q6w1y8xhf"; depends=[ggplot2 rinat rbison rgbif ecoengine rebird AntWeb plyr ggmap maptools rworldmap sp rgeos lubridate RColorBrewer httr XML rgdal RJSONIO leafletR data_table assertthat whisker]; };
+  SPODT = derive { name="SPODT"; version="0.9"; sha256="0r5zr0h5dgbkpn6dlvpj58s2wp3ngb7zb1xdapq1j25msmhwn5yy"; depends=[rgdal sp tree]; };
+  sporm = derive { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; };
+  SportsAnalytics = derive { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; };
+  SPOT = derive { name="SPOT"; version="1.0.4184"; sha256="0rikfs2rha7q2xbycvky8si2ccgmamcn662g8ni105cr6m9hvvpc"; depends=[rpart emoa]; };
+  sprsmdl = derive { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; };
+  SPSL = derive { name="SPSL"; version="0.1-8"; sha256="1jg1nfhz8qml1wwqa4d0w7vkdmbgdy5xlfqx0h2pdw2z8iij3xxc"; depends=[]; };
+  spsmooth = derive { name="spsmooth"; version="1.1-3"; sha256="09b740586zyi8npq0bmy8qifs9rq0rzhs9c300fr6pjpc7134xn4"; depends=[mgcv]; };
+  spsurvey = derive { name="spsurvey"; version="2.6"; sha256="1s48acqi502mdabhymhn0jjsghnlh2w6wnrfaa9gv0a7xjvjkydq"; depends=[sp deldir foreign MASS rgeos]; };
+  spt = derive { name="spt"; version="1.13-8-8"; sha256="18s74pxfmsjaj92z2a34nq90caf61s84c616yv33a0xvfvp32qr5"; depends=[]; };
+  spTimer = derive { name="spTimer"; version="1.0-2"; sha256="1f0y0bzipk0j272w8d31rw8l0xvw5hj64d5j9cfvjzgbp9kzp56h"; depends=[coda forecast spacetime]; };
+  spuRs = derive { name="spuRs"; version="2.0.0"; sha256="0lbc3nny6idijdaxrxfkfrn40bxfyp9z3yl9mwb1k6cyd10v5mfj"; depends=[MASS lattice]; };
+  sqldf = derive { name="sqldf"; version="0.4-7.1"; sha256="03pg1wrkbhh6yi794rf5a96kls0zixqz50ralznvgd0zyvmd3cz2"; depends=[gsubfn proto RSQLite RSQLite_extfuns DBI chron]; };
+  sqliter = derive { name="sqliter"; version="0.1.0"; sha256="17jjljq60szz0m8p2wc5l56659aap7an5gknc848dp89ycjgj3zx"; depends=[stringr functional DBI RSQLite]; };
+  sqlshare = derive { name="sqlshare"; version="1.0.3"; sha256="1qy8vlzi6i4wsr53i71jlsv1b7ww254mbk2qzsvmcrranf42zbp8"; depends=[RCurl]; };
+  sqlutils = derive { name="sqlutils"; version="1.1.2"; sha256="1d3x4wid7f9h2y36avsajjvshzcszr2nby71ixfdq3iv8z01z4j3"; depends=[roxygen2 stringr DBI]; };
+  SQN = derive { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; };
+  SQUAREM = derive { name="SQUAREM"; version="2012.7-1"; sha256="17d5b9h7h8ayasi4zg790b3a11rka8dkfcmvhrjg4rvlggwjda5j"; depends=[]; };
+  squash = derive { name="squash"; version="1.0.6"; sha256="16iplngzzlif999z821a9bwx9jlmikdvwnk6p6d9w75b1fsbc0pz"; depends=[]; };
+  sra = derive { name="sra"; version="0.1"; sha256="165r1aiv17gdhln2374724nx04wjcdpillxwwkxgshz3kjyvajvj"; depends=[]; };
+  sROC = derive { name="sROC"; version="0.1-2"; sha256="0cp6frhk9ndffb454dqp8fzjrla76dbz0mn4y8zz1nbq1jzmz0d3"; depends=[]; };
+  SRPM = derive { name="SRPM"; version="0.1-7"; sha256="1c7mca1p0z48w5jbywqqfbdwzcimy24fm23h5n930mxbxgh51shk"; depends=[stashR filehash cacheSweave]; };
+  SRRS = derive { name="SRRS"; version="0.1.1"; sha256="0jv545a97q4pyl89lmhn3y0jhdzyq033mvx144x8lcgx59s7cyi3"; depends=[tcltk2 gtools]; };
+  ss3sim = derive { name="ss3sim"; version="0.8.2"; sha256="1gj3kf4ccd5n2jr4sm50gny5x1zq4brkhqgw0nww41spnimascfr"; depends=[plyr r4ss gtools lubridate reshape2]; };
+  ssanv = derive { name="ssanv"; version="1.0-2"; sha256="18ib0djqxjpp4xgvsffwqgxqljpwc24ysxj26phpr6p8kdl3hr2f"; depends=[]; };
+  SSDforR = derive { name="SSDforR"; version="1.4.6"; sha256="1ab4z7zm08wgy9vm1bbfgrxhizly5wpwzk8ikqzkfpvy43fgv80m"; depends=[psych]; };
+  sse = derive { name="sse"; version="0.5-1"; sha256="0g0bwmgc585haqbb13366s3pv1vdh793hwwibz7im0avjs2ldsjq"; depends=[lattice]; };
+  ssfit = derive { name="ssfit"; version="1.1"; sha256="1fais0msi2ppgfp0vbx3qri7s9zs51i7n90w36xkwwac4f46bq5y"; depends=[survey]; };
+  ssh_utils = derive { name="ssh.utils"; version="1.0"; sha256="08313zzzgcyvzkrkq0w0yf748ya1a9shx5xnan5891v0lah9v0b1"; depends=[stringr]; };
+  ssize_fdr = derive { name="ssize.fdr"; version="1.1"; sha256="00y00cb0bhsk0qcq9f96dcmmzmy88k1qyhx9ampws34n133cl509"; depends=[]; };
+  ssmrob = derive { name="ssmrob"; version="0.4"; sha256="1inndspir7571f54kalbj0h599v9k6dxdmp0n1l5r3a62vn45hd3"; depends=[sampleSelection robustbase mvtnorm MASS]; };
+  SSN = derive { name="SSN"; version="1.1.3"; sha256="0qn3yd5xg0irflh8dsifan455x4k7s63zva94843ihib12zf22cq"; depends=[RSQLite sp MASS igraph maptools lattice]; };
+  sspline = derive { name="sspline"; version="0.1-6"; sha256="0d6ms8szyn39c7v0397d5ar2hrl8v1l2b7m8hlj37hgp70b9s55h"; depends=[]; };
+  sss = derive { name="sss"; version="0.0-11"; sha256="0k7p1ws0w7wg9wyxcg1zpk8q6kr32l3jl6yd9r4qmzq04dwqrdgz"; depends=[plyr XML]; };
+  SSsimple = derive { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; };
+  ssvd = derive { name="ssvd"; version="1.0"; sha256="1fdpr38qi59ijrz16jixn6ii1hvmxfjirjqfcp7dxrqz9nx8x0sk"; depends=[]; };
+  ssym = derive { name="ssym"; version="1.3"; sha256="00bgqcf7l6mfjqxsvarh4g78hq21k4dq883c5yd7xkw609dp94pw"; depends=[GIGrvg numDeriv gsl normalp]; };
+  st = derive { name="st"; version="1.2.2"; sha256="0dbs95iaac3zvcgrndqic6rwchyvkbda641pv0dvj7h64c3k8w24"; depends=[sda fdrtool]; };
+  stab = derive { name="stab"; version="0.1.8"; sha256="1rbwfxdbdqb1l91xmnnz5z5m353z4rjihr0c1f7r77a0zl7sa3zj"; depends=[MASS reshape]; };
+  stabledist = derive { name="stabledist"; version="0.6-6"; sha256="0s59jp3y5ks4rfj7x76vb9g3slbbn98lvki54lv96yxdfr8i7ry5"; depends=[]; };
+  StableEstim = derive { name="StableEstim"; version="2.0"; sha256="080khfix88j4656hmdy9l0xpbk9zzw7z7d7f6yvwsbalk3ag18i5"; depends=[Matrix stabledist testthat numDeriv xtable fBasics MASS]; };
+  Stack = derive { name="Stack"; version="2.0-1"; sha256="09fgfhw9grxnpl5yg05p9gvlz38iw4prns1jn14nj3qx01k5rnxb"; depends=[plyr stringr ff ffbase bit]; };
+  stacomirtools = derive { name="stacomirtools"; version="0.3"; sha256="1lbbnvmilf3j3hyhvpkyjd4b4sf3zwygilb8x0kjn2jfhkxnx4c1"; depends=[RODBC xtable]; };
+  stam = derive { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; };
+  StAMPP = derive { name="StAMPP"; version="1.2"; sha256="0fd328byrcq11rpq4dvk65vs8gswaw0d9jb8di9hx5r7cdpka1g3"; depends=[pegas doParallel foreach adegenet]; };
+  StandardizeText = derive { name="StandardizeText"; version="1.0"; sha256="0s267k2b109pcdiyd26gm4ag5afikrnnb55d3cs6g2fvzp744hfp"; depends=[]; };
+  standGL = derive { name="standGL"; version="1.1"; sha256="1ffskpba30ih1sb1gscy4njgr4vv0642311hj1m7x7n5slisnysm"; depends=[]; };
+  STAR = derive { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[survival mgcv R2HTML gss codetools]; };
+  stargazer = derive { name="stargazer"; version="5.1"; sha256="0ar0qm289ncsns2pqkabpyjc90ws0il1q7fp5206wqghgsvqjcc0"; depends=[]; };
+  STARSEQ = derive { name="STARSEQ"; version="1.02"; sha256="1gb763bb7z871hb443d29r0vvyl2inr0df0q0xxxg16scl4p4yvb"; depends=[CompQuadForm numDeriv vcf2geno]; };
+  startupmsg = derive { name="startupmsg"; version="0.9"; sha256="1l75w4v1cf4kkb05akhgzk5n77zsj6h20ds8y0aa6kd2208zxd9f"; depends=[]; };
+  stashR = derive { name="stashR"; version="0.3-5"; sha256="1lnpi1vb043aj4b9vmmy56anj4344709986b27hqaqk5ajzq9c3w"; depends=[filehash digest]; };
+  Stat2Data = derive { name="Stat2Data"; version="1.6"; sha256="0pk68ffc6ffpddfpf9wi8ch39h6k3r80kldld3z5pnql18rc8nvx"; depends=[]; };
+  StatDA = derive { name="StatDA"; version="1.6.7"; sha256="140hqg56axwg5ckfr4n4rr453ppsgf5bmmd7kg4mai1xnj4wmg8b"; depends=[geoR sgeostat cluster e1071 MASS MBA mgcv rgl robustbase xtable]; };
+  StatDataML = derive { name="StatDataML"; version="1.0-25"; sha256="05s9kbrjl2wsfccgav34b02m06q62r3iyjd0ndr6xcqlw9x2w2ya"; depends=[XML]; };
+  StateTrace = derive { name="StateTrace"; version="1.0-4"; sha256="1nmdqmg4az1afhprjyqb9qqcvd0xa6xdb8gzar5jrcdldxxbsw35"; depends=[KernSmooth coda fgui]; };
+  statfi = derive { name="statfi"; version="0.9.8"; sha256="0kg9bj2mmd95ysg604rcg4szqx3whbqm14fwivnd110jgfy20gk2"; depends=[pxR]; };
+  StatMatch = derive { name="StatMatch"; version="1.2.2"; sha256="1ml88ssd2xrnxh6xbg25bbskqv9jrn5vczaq3a3v4bccimv65prh"; depends=[proxy clue survey RANN]; };
+  StatMethRank = derive { name="StatMethRank"; version="1.0"; sha256="0mcvwn1f3hylvyg46vigc5wnvhhig5v01ag3y9rap32v85f308zh"; depends=[MASS rjags pmr]; };
+  statmod = derive { name="statmod"; version="1.4.20"; sha256="11986yjry1lg28s09q6vv2671x51nnfin6j0mpscq2ygyi615jwz"; depends=[]; };
+  statnet = derive { name="statnet"; version="2014.2.0"; sha256="0xp8xnqb32wzkxfm7f34z6mnsd9id8an5829n16czwldj9vv6s10"; depends=[network ergm sna networkDynamic tergm ergm_count latentnet statnet_common]; };
+  statnet_common = derive { name="statnet.common"; version="3.1.1"; sha256="1fs38f4dxrvgm60xvn04jr2wwyrjg25h3rbdwrx7dx24fj7sx6wl"; depends=[]; };
+  StatRank = derive { name="StatRank"; version="0.0.4"; sha256="0s0jc4hvrry9a884fqfk3gp1w4ww5wif2kh3m0f22nn7qb49if9p"; depends=[truncdist plyr]; };
+  stellaR = derive { name="stellaR"; version="0.3-3"; sha256="098sz6b8pl3fyca3g6myp97nna368xhxf8krmibadnnsr49q5zs9"; depends=[]; };
+  Stem = derive { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[mvtnorm MASS]; };
+  STEPCAM = derive { name="STEPCAM"; version="1.0"; sha256="0lgikdj0mghz5hjm3rlrnnddjhvf9cmm0hwklbdyl3h816gq1jci"; depends=[vcd FD gtools MASS]; };
+  stepp = derive { name="stepp"; version="2.3-2"; sha256="1x7vbniwk83x9wn6a5ya053nkg9jmzqprqbg87zpp0fsn9z7qhyq"; depends=[cmprsk survival]; };
+  stepPlr = derive { name="stepPlr"; version="0.92"; sha256="16j32sk7ri4jdgss7vw5zz7s42rxk7rs376iyxzzpy1zcc9b64rv"; depends=[]; };
+  stepwise = derive { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; };
+  StereoMorph = derive { name="StereoMorph"; version="1.1"; sha256="0yin0x6lwjzc04497p6xv4hckp1s4mvzq5jhplrc13xyv5121vwv"; depends=[bezier rjson shiny]; };
+  stilt = derive { name="stilt"; version="1.0.1"; sha256="1vrbbic0vqzgy574kzcr38iqyhax4wa6zl6w74n65z15map2fyma"; depends=[fields]; };
+  stima = derive { name="stima"; version="1.1"; sha256="1i8l7pfnqxx660h3r2jf6a9bj5ikg9hw7v8apwk98ms8l7q77p5l"; depends=[rpart]; };
+  stinepack = derive { name="stinepack"; version="1.3"; sha256="0kjpcjqkwndqs7cyc6w62z1nnkqmhkifz2w0bi341jh0ybmak4fq"; depends=[]; };
+  stm = derive { name="stm"; version="0.6.24"; sha256="0hifw7m50sa2r82mj4zc65pfb0hcqr7wcqmps9a0q8y57k077y4a"; depends=[matrixStats slam lda stringr]; };
+  StMoSim = derive { name="StMoSim"; version="2.2"; sha256="127nr488a9xx3pjzrncbzw58ims87jifnzhpvqrr74px6wv0yisc"; depends=[]; };
+  stocc = derive { name="stocc"; version="1.23"; sha256="183rv1l1hpa691f3xf455bv8dzdw6ac79zg3v99zksli6i7c8jdz"; depends=[truncnorm coda Matrix fields]; };
+  stochprofML = derive { name="stochprofML"; version="1.1"; sha256="0pxx0ws4zklf38kjvp68rkk5qfzrxhk38f8d1ib8dd0chb7avb01"; depends=[MASS numDeriv]; };
+  stochvol = derive { name="stochvol"; version="0.8-4"; sha256="1s79anyiczci9jhwqc3nslvc2k4gqzbwijhinbr9703qhhnm5qx0"; depends=[coda Rcpp]; };
+  stockPortfolio = derive { name="stockPortfolio"; version="1.2"; sha256="0k5ss6lf9yhcvc4hwqmcfpdn6qkbq5kaw0arldkl46391kac3bd1"; depends=[]; };
+  stoichcalc = derive { name="stoichcalc"; version="1.1-3"; sha256="0z9fnapibfp070jxg27k74fdxpgszl07xiqfj448dkydpg8ydkrb"; depends=[]; };
+  Storm = derive { name="Storm"; version="1.1"; sha256="118l03d6las9cvhh4d845r7z6mlqff6ixxdfrdf025jsiqagm395"; depends=[rjson]; };
+  stosim = derive { name="stosim"; version="0.0.12"; sha256="0c4sj5iirm542hx782izfdmy2m3kl5q28l10xjj0ib4xn5y6yx3c"; depends=[tcltk2 Rcpp]; };
+  STPGA = derive { name="STPGA"; version="1.0"; sha256="1kqxzjrxf194n006dr3h5kprb4l7qy8bgm2n6251p0sswpvr70j1"; depends=[]; };
+  stpp = derive { name="stpp"; version="1.0-4"; sha256="04xl2745xr5r7yirbdmxaxqvl4gp73wr6xl08w21mcccsnpc3d1s"; depends=[splancs KernSmooth spatstat]; };
+  stppResid = derive { name="stppResid"; version="1.1"; sha256="0hgzsyy5y0sqd4d2agdr7p2kq0w51vs8f63dvj6j49h8cvgiws2x"; depends=[deldir splancs cubature]; };
+  StrainRanking = derive { name="StrainRanking"; version="1.1"; sha256="0q6k90if74320mrs2ccq2izynylr8zakciwbc2c6ms0v57aalwic"; depends=[]; };
+  strap = derive { name="strap"; version="1.3"; sha256="1f9whr9cg73q4lfqdygqd88f2lc08bb7qcalrr4dc00jjgy1r8rw"; depends=[ape geoscale]; };
+  stratification = derive { name="stratification"; version="2.2-3"; sha256="0mjv5x47rc7ci4ca949pg6ixmv6bfdfph6yz31syqk5xrgm8zmxq"; depends=[]; };
+  stratigraph = derive { name="stratigraph"; version="0.64"; sha256="1mi4s3wxbrmcxb7k18z02dy5dnvg7kka1dbg2hgyi4nm9y8casdl"; depends=[]; };
+  StratSel = derive { name="StratSel"; version="1.0"; sha256="1kr7bl2qrj2ra3szvw5z5y6ra6zz5q3v9vx81p8r5618zffa8q3b"; depends=[mnormt memisc Formula]; };
+  straweib = derive { name="straweib"; version="1.0"; sha256="0bh2f4n4i7fiki52sa57v96757qw1gn1lcn7vgxmc5hk5rzp2mi8"; depends=[]; };
+  stream = derive { name="stream"; version="1.0-3"; sha256="14l1fdqzbvy8vxq0rmrwm2afwd4h85khc0a22r6vk488355wn9ps"; depends=[hash proxy animation clue cluster clusterGeneration fpc MASS mlbench]; };
+  StreamingLm = derive { name="StreamingLm"; version="0.1"; sha256="079ks5gj6ydj2fqq8pwhkb24a0zbz2j400777fm6a39wjgbgdx1n"; depends=[biglm]; };
+  StreamMetabolism = derive { name="StreamMetabolism"; version="1.0"; sha256="03pr7i1c3qddqwibfc2x08d2nh8fih02k7a1xhqs1awfs43x56is"; depends=[zoo chron maptools]; };
+  streamMOA = derive { name="streamMOA"; version="0.1-1"; sha256="12x9i0cr56s54b2z3wfblrv6f36z8k2pgrr5gaqyshl8rgvyvrzz"; depends=[stream rJava]; };
+  streamR = derive { name="streamR"; version="0.2.1"; sha256="1ml33mj7zqlzfyyam23xk5d25jkm3qr7rfj2kc5j5vgsih6kr0gl"; depends=[RCurl rjson]; };
+  stremo = derive { name="stremo"; version="0.2"; sha256="13b9xnd8ykxrm8gnakh0ixbsb7yppqv3isga8dsz473wzy82y6h1"; depends=[lavaan numDeriv MASS]; };
+  stressr = derive { name="stressr"; version="1.0.0"; sha256="00b93gfh1jd5r7i3dhsfqjidrczf693kyqlsa1krdndg8f0jkyj7"; depends=[xts XML lattice latticeExtra]; };
+  StressStrength = derive { name="StressStrength"; version="1.0"; sha256="0m67rawgn6w49zh4mw951i3pk4ckp4bxz9yphw0klllazjxyd6qp"; depends=[]; };
+  stringdist = derive { name="stringdist"; version="0.8.0"; sha256="16bmf81dv8xbvy1b5c8rrj6vja00m00cb14v2zl9syxs923dq94i"; depends=[]; };
+  stringi = derive { name="stringi"; version="0.2-5"; sha256="0yyqdapn0gqrwynv0sikq42b5vv166qq96w099rm3fispc037yb8"; depends=[]; };
+  stringr = derive { name="stringr"; version="0.6.2"; sha256="0dv7dd0xsivlccnf9pr5kb7zirgqn9mc6lgw5hnmkbb0s1qrrz63"; depends=[]; };
+  strucchange = derive { name="strucchange"; version="1.5-0"; sha256="17ikp36ahnsx1q3avqkz5r2n2yagzq7j6m515vdm8rxgv0538is3"; depends=[zoo sandwich]; };
+  structSSI = derive { name="structSSI"; version="1.0.5"; sha256="0i832k8jf317m47kzzfhgla4qm8bqmj3azjm4iqndkym2ry3jiy4"; depends=[igraph Matrix RColorBrewer classInt]; };
+  strum = derive { name="strum"; version="0.4"; sha256="06y4bf2z55zl5k9snd7mgbrfx85irnbk316g9169m5mij4lca4g7"; depends=[pedigree MASS Rcpp]; };
+  strvalidator = derive { name="strvalidator"; version="1.3.0"; sha256="1sddiclnhdl935l27863617h8s2kgny68d80hnqw9a3ga0iri486"; depends=[gtable ggplot2 gWidgets plyr scales gridExtra]; };
+  stsm = derive { name="stsm"; version="1.4"; sha256="0j6kvsij6rsvkjc4q1m9vi9afvsib8x6zwjka1xwbp8g6fzamjq4"; depends=[KFKSDS stsm_class]; };
+  stsm_class = derive { name="stsm.class"; version="1.3"; sha256="19jrja5ff31gh5k2zqhqsyd7w2ivr4s6bkliash6x8fmd22h5zs8"; depends=[]; };
+  stylo = derive { name="stylo"; version="0.5.6"; sha256="0ga6kv4i0zsapnbiqinz4wy34c0kracxrd2cgyqp0dkhshsiw2jf"; depends=[tcltk2 ape pamr e1071 class lattice tsne]; };
+  SubCultCon = derive { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
+  subgroup = derive { name="subgroup"; version="1.1"; sha256="1n3qw7vih1rngmp4fwjbs050ngby840frj28i8x7d7aa52ha2syf"; depends=[]; };
+  SubLasso = derive { name="SubLasso"; version="1.0"; sha256="12m7ynlqhikjhavd12bhsd04s9cpv8aq5xgm875i10mb3ldpd1bd"; depends=[glmnet psych gplots]; };
+  subplex = derive { name="subplex"; version="1.1-4"; sha256="0c6y5ibyxh0mpn77f7kwrmkpb3mah10hbqhwqmz4i1lfv58mb4zk"; depends=[]; };
+  subselect = derive { name="subselect"; version="0.12-3"; sha256="1m1vk8jgmw0cb9gmzvvpzdpjaqp56kwhalb2b2il20kc57czmymr"; depends=[]; };
+  subsemble = derive { name="subsemble"; version="0.0.9"; sha256="0vzjmxpdwagqb9p2r4f2xyghmrprx3nk58bd6zfskdgj0ymfgz5z"; depends=[SuperLearner]; };
+  subtype = derive { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; };
+  sudoku = derive { name="sudoku"; version="2.6"; sha256="13j7m06m38s654wn75kbbrin5nqda4faiawlsharxgrljcibcbrk"; depends=[]; };
+  SUE = derive { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
+  sugaR = derive { name="sugaR"; version="0.0-5"; sha256="0lg0wm4fbf4f4vlsy2cnfwm18vnc3i6bd51pixpdb9m512pw761c"; depends=[]; };
+  summarytools = derive { name="summarytools"; version="0.1"; sha256="1qrn47z21ijgpp8kj20wviin2zldj8fpf4d759b05v3k0y3q27zr"; depends=[Hmisc pander timeDate]; };
+  Sunder = derive { name="Sunder"; version="0.0.2"; sha256="0fnxj4fi99f1jvlbir0wkqvf48msnz1rspzg17jsd1kp2ha5kq35"; depends=[RandomFields]; };
+  SunterSampling = derive { name="SunterSampling"; version="1.0"; sha256="07s5sd6kf2jg276b5q1ns3h7849b1h0rx77kb3vs4j1svn8k9wxy"; depends=[]; };
+  supclust = derive { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[rpart class]; };
+  superbiclust = derive { name="superbiclust"; version="0.1"; sha256="0hzihmjjwk3axgy1y95ckq6m5gmb7ybjj7zscplgsnihi5256jnk"; depends=[biclust Matrix]; };
+  superdiag = derive { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[coda boa]; };
+  SuperLearner = derive { name="SuperLearner"; version="2.0-15"; sha256="1sk45419awk8aahylmqbardx8lglx0d7hrwc0k2prnksk5r3549l"; depends=[nnls]; };
+  superMDS = derive { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
+  superpc = derive { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; };
+  SuppDists = derive { name="SuppDists"; version="1.1-9.1"; sha256="1jqsv1lzjblc7sdb4gh8pkww9ar174bpbjl7mmdi59fixymwz87s"; depends=[]; };
+  support_BWS = derive { name="support.BWS"; version="0.1-2"; sha256="14p5b4b84x66lzn7qz1xy7sbb5i3wqwcsf6r6ap612nj83srjmqa"; depends=[]; };
+  support_CEs = derive { name="support.CEs"; version="0.3-2"; sha256="0q8n4w3p682165lv20m30m8p9mhd3wzrzg8aqizf9zc2m5w9ffyd"; depends=[DoE_base MASS simex]; };
+  surface = derive { name="surface"; version="0.4-1"; sha256="0z7fh09hjmxfmqzi588gjwqqlpj1a475aixrnvy911lkx3zfk146"; depends=[ape ouch MASS geiger]; };
+  Surrogate = derive { name="Surrogate"; version="0.1-2"; sha256="07imwp725qwnxj4437qc2420n624vchnlaisd20ck8ygyvkb2mn0"; depends=[MASS nlme msm lme4]; };
+  suRtex = derive { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; };
+  surv2sampleComp = derive { name="surv2sampleComp"; version="1.0-4"; sha256="1ihz71vzrkd5ksy7421myrgkbww0z5k0ywcb2bfalxx2bd2cs2wf"; depends=[survival plotrix flexsurv survC1]; };
+  survAUC = derive { name="survAUC"; version="1.0-5"; sha256="0bcj982ib1h0sjql09zbvx3h1m96jy9q37krmk6kfzw25ms6bzzr"; depends=[survival]; };
+  survBayes = derive { name="survBayes"; version="0.2.2"; sha256="08fbb2kyy7gcqlbzbliy4njkyk6jhr4nlfb4nbmh2kfdfcb6q62v"; depends=[survival coda]; };
+  survC1 = derive { name="survC1"; version="1.0-2"; sha256="1bidjhq3k5ab7gqj1b2afngip7pp6c9c7q0m6ww7h7i2vg505l7v"; depends=[survival]; };
+  surveillance = derive { name="surveillance"; version="1.8-0"; sha256="043hdz4rfk5a50lzcb3q5sccn93r9r6ll79p1jxr0xhxlahgrp6i"; depends=[Rcpp sp xtable polyCub MASS Matrix spatstat]; };
+  survexp_fr = derive { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
+  survey = derive { name="survey"; version="3.29-5"; sha256="0qzg6h3m27d9v6iyh88pk7iq2glfnn8364jjl7z5d5cbw3ga3j81"; depends=[]; };
+  surveydata = derive { name="surveydata"; version="0.1-14"; sha256="1zcp3wb7yhsa59cl4bdw7p08vpviypvfa9hggwc60w7ashpky73i"; depends=[stringr plyr]; };
+  Survgini = derive { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
+  survIDINRI = derive { name="survIDINRI"; version="1.1-1"; sha256="03lsypx189zm28gv764gdq24a18jj3kpdk91ssa501qxj5jv7v29"; depends=[survival survC1]; };
+  survival = derive { name="survival"; version="2.37-7"; sha256="1ihs42gjbw06aj5hz128964lshpi934cyc8npv9c8ann4mc2r3b5"; depends=[]; };
+  survivalMPL = derive { name="survivalMPL"; version="0.1.0"; sha256="1nq316w88j7dg48683ka326b2y3f9jl73mig47n3y31z2x9hc8h0"; depends=[survival]; };
+  survivalROC = derive { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
+  survJamda = derive { name="survJamda"; version="1.1.2"; sha256="172mryz19n4nb9w20xh7yhn4pqaw9m98na2x235lps5rwcjk6x7b"; depends=[survival survivalROC ecodist survJamda_data]; };
+  survJamda_data = derive { name="survJamda.data"; version="1.0.1"; sha256="1b8vy59hawgvpjds96q5wscggv8hffkbjw7zwfwf5g3firhb4gnq"; depends=[]; };
+  survMisc = derive { name="survMisc"; version="0.4.2"; sha256="1mv503lrgjfbggasgsls2pqlxz3kj4hrw9qslgzxh3dizfqkb02c"; depends=[survival ggplot2 data_table rpart gridExtra combinat Hmisc zoo km_ci KMsurv gam]; };
+  survPresmooth = derive { name="survPresmooth"; version="1.1-8"; sha256="1qva7yx4vv99mgh3wqxdnbasa1gy0ixxyxpqrfbn6827whjzf91m"; depends=[]; };
+  survrec = derive { name="survrec"; version="1.2-2"; sha256="0b77ncr1wg2xqqg1bv1bvb48kmd9h3ja2dysiggvprzjrj7hdlmx"; depends=[boot]; };
+  SurvRegCensCov = derive { name="SurvRegCensCov"; version="1.3"; sha256="1sl17x984ww07aakz6dambn5kznw4hvj4b8ahy2r4mr6wf2dpg5a"; depends=[survival numDeriv]; };
+  survsim = derive { name="survsim"; version="1.1.2"; sha256="1pnzkw0hr0gpwh0v26k4fh7qjl0c6ps9y8gmfd46h8wz2fb25vqx"; depends=[eha statmod]; };
+  survSNP = derive { name="survSNP"; version="0.21-7"; sha256="0fanya7ghd61pw7a21xkaxz4mgzdwjwkh1wm41h40wq1c529dzph"; depends=[survival Rcpp lattice foreach xtable]; };
+  svapls = derive { name="svapls"; version="1.4"; sha256="12gk8wrgp556phdv89jqza22zmsnachsydr5vlz38s664d2lplbg"; depends=[class pls]; };
+  svcm = derive { name="svcm"; version="0.1.2"; sha256="1lkik65md8xdxzkmi990dvmbkc6zwkyxv8maypv2vbi2x534jkhl"; depends=[Matrix]; };
+  svd = derive { name="svd"; version="0.3.3-2"; sha256="064y4iq4rj2h35fhi6749wkffg37ppj29g9aw7h156c2rqvhxcln"; depends=[]; };
+  svDialogs = derive { name="svDialogs"; version="0.9-55"; sha256="0x1wzqypxir0322mr3zsax1v64y9jdz5sya98y20hc3619mpynwj"; depends=[svGUI]; };
+  svDialogstcltk = derive { name="svDialogstcltk"; version="0.9-4"; sha256="16166f8i6nsg7palqmnlp5b9s91d6ja9n0zm6rcvd2fwnw2ljkr4"; depends=[svDialogs svGUI]; };
+  svdvisual = derive { name="svdvisual"; version="1.1"; sha256="02mzh2cy4jzb62fd4m1iyq499fzwar99p12pyanbdnmqlx206mc2"; depends=[lattice]; };
+  svGUI = derive { name="svGUI"; version="0.9-55"; sha256="1fkkc12mhcbn3s2wzk0xdsp8jl2xmn48ys2an8jhxbww3gplk1rq"; depends=[]; };
+  svHttp = derive { name="svHttp"; version="0.9-55"; sha256="0qxsh6ifk3fszgzz497qwia4pxzplwraf2qnn5cqlv5l79nja5yq"; depends=[svMisc]; };
+  svIDE = derive { name="svIDE"; version="0.9-52"; sha256="19wsmi1i7nlnqdah1h2pxzsy8m50bnb282fdbj4219p86bb92a86"; depends=[svMisc XML]; };
+  svKomodo = derive { name="svKomodo"; version="0.9-62"; sha256="1af22nfbhmx5b3n45k5xfwq667w4cd7m0g5hx5dvv2vfikr613nx"; depends=[svMisc]; };
+  svMisc = derive { name="svMisc"; version="0.9-70"; sha256="1xprymz5hblbc929kmbaz0lj633xvgz6mm4snhhjib47cz5anl1w"; depends=[]; };
+  SVMMaj = derive { name="SVMMaj"; version="0.2-2"; sha256="01njc7drq01r3364081dv9gn37vrql52zbrb60gd559f3jshqx3m"; depends=[kernlab MASS]; };
+  svmpath = derive { name="svmpath"; version="0.953"; sha256="0hqga4cwy1az8cckh3nkknbq1ag67f4m5xdg271f2jxvnmhdv6wv"; depends=[]; };
+  svSocket = derive { name="svSocket"; version="0.9-57"; sha256="0id93b500iybza6sbn60ybm91mkh5cjpvhypqs4f3dv13m6blb9j"; depends=[svMisc]; };
+  svSweave = derive { name="svSweave"; version="0.9-8"; sha256="0zkng8lwdpjdbic9f6jnk2ndxbch2kjyz71ds1bksvd3kmk03lks"; depends=[knitr]; };
+  svTools = derive { name="svTools"; version="0.9-4"; sha256="0szr5dcxjsh5p1nkszvmj0vmi9x70d656hfvhmqf0wyjwv63vp90"; depends=[codetools svMisc]; };
+  svUnit = derive { name="svUnit"; version="0.7-12"; sha256="16iiryj3v34zbnk1x05g30paza7al1frqx52fkw8ka61icizsrf5"; depends=[]; };
+  svWidgets = derive { name="svWidgets"; version="0.9-44"; sha256="18k06wldcg6xpyf8nz9rdbig5nhvghn7zgf1316413kq3v90vz7b"; depends=[svMisc]; };
+  SvyNom = derive { name="SvyNom"; version="1.0"; sha256="07cgg97s2kpq7vak9l1a57gwmp1gsm864m4b9q42s2fbiid8jg83"; depends=[]; };
+  svyPVpack = derive { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; };
+  swamp = derive { name="swamp"; version="1.2.3"; sha256="1xpnq5yrmmsx3d48x411p7nx6zmwmfc9hz6m3v9avvpjkbc3glkg"; depends=[amap gplots MASS]; };
+  SWATmodel = derive { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; };
+  SweaveListingUtils = derive { name="SweaveListingUtils"; version="0.6.1"; sha256="04xl7sw14x3ia5nsmkj1fhxvycl9wpim3frx83dd6kh8i0hpip54"; depends=[startupmsg]; };
+  sweSCB = derive { name="sweSCB"; version="0.3.5"; sha256="1g6c73kqrnssycf4k239dpgkv8bvllbrxjwxga6fqdzb7jsnwh4y"; depends=[data_table stringr RJSONIO httr]; };
+  swfscMisc = derive { name="swfscMisc"; version="1.0.1"; sha256="0ya0ng6973mix9i0k817mgvfqwshpfqjlnn5xbs6vz2cw2xm8g6g"; depends=[mapdata maps]; };
+  swirl = derive { name="swirl"; version="2.2.15"; sha256="1r2hpkhcs040z3dmhc90cpznjjb1r4nnah27yz4vp58dx0aidcjl"; depends=[stringr testthat httr yaml RCurl digest]; };
+  SwissAir = derive { name="SwissAir"; version="1.1.4"; sha256="1avc32q7nbwjkcbml7z05car6khv1ghcz3miw0krm8i53w032c6f"; depends=[]; };
+  switchnpreg = derive { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[MASS fda expm HiddenMarkov]; };
+  sybil = derive { name="sybil"; version="1.2.6"; sha256="1d7q0dvpqxay86dy4zbllv78dsh0amr8n7wl0vkrb8jbakq4afip"; depends=[Matrix lattice]; };
+  sybilccFBA = derive { name="sybilccFBA"; version="1.0.0"; sha256="1fmhgyqzipddcqx2srms9bgigjmijasxhsmivv6c45ln23qjvgf5"; depends=[sybil Matrix]; };
+  sybilcycleFreeFlux = derive { name="sybilcycleFreeFlux"; version="1.0.1"; sha256="0ffmgnr239xz8864vmrqlhwwc97fqzzib6kwrsm7bszdnw1kkv3r"; depends=[sybil Matrix MASS]; };
+  sybilDynFBA = derive { name="sybilDynFBA"; version="0.0.2"; sha256="1sqk6dwwfrwvgkwk6mra0i1dszhhvcwm58ax6m89sxk8n0nbmr4b"; depends=[sybil]; };
+  sybilEFBA = derive { name="sybilEFBA"; version="1.0.1"; sha256="1advbbsyig49av7sbpbvs47xzg6f8czjb1938ynd0n2yq1bgq5xm"; depends=[sybil Matrix]; };
+  sybilSBML = derive { name="sybilSBML"; version="2.0.8"; sha256="1sxp0naws7d1ak0xna1sy87zzjrravwax0qvcd6vy4p0f39z06ci"; depends=[Matrix sybil]; };
+  symbolicDA = derive { name="symbolicDA"; version="0.4-1"; sha256="14lcxgbsizw0l1xcjrmz3jvfsbwlirkd0shp293hg3qi7gbzcms8"; depends=[clusterSim XML rgl shapes e1071 ade4]; };
+  symbols = derive { name="symbols"; version="1.1"; sha256="1234rx3divhg60p0h0zn11viqn51fm6b8876m6rip2i6z8vrg319"; depends=[shape]; };
+  symmoments = derive { name="symmoments"; version="1.2"; sha256="074k0285c0yri39zags420kjls6kjlvlhymg3r7y24h42zdy82d4"; depends=[mvtnorm cubature combinat multipol]; };
+  synbreed = derive { name="synbreed"; version="0.9-7"; sha256="0v81q18dqr7zrh7830xfk30jq6kzgn0kcrp9zq6swk5laalkkqg4"; depends=[doBy BLR regress abind lattice igraph MASS LDheatmap qtl synbreedData]; };
+  synbreedData = derive { name="synbreedData"; version="1.4"; sha256="0pfpvg4wvxfwpvxq8f93z1amfss98as66kwpj5mnvvlr33ffmka9"; depends=[]; };
+  synchronicity = derive { name="synchronicity"; version="1.1.4"; sha256="0hcxwgf1irswwabgl0b6vb9q09nhxc1ljsm195lc8ql49sfj9mfz"; depends=[bigmemory_sri]; };
+  synchrony = derive { name="synchrony"; version="0.2.3"; sha256="0fi9a3j8dfslf1nqx8d53fi635y3aq8isxw0dbjbpgk7rc71nzby"; depends=[]; };
+  SynchWave = derive { name="SynchWave"; version="1.1.1"; sha256="127hllvig8kcs9gr2q14crswzhacv6v2s4zrgj50qdyprj14is18"; depends=[fields]; };
+  SYNCSA = derive { name="SYNCSA"; version="1.3.2"; sha256="1m057lhfaf0n35rs3sipia04qgkp04hv7wf7rvnr7bhzic9f4vg3"; depends=[vegan mice FD]; };
+  SynergizeR = derive { name="SynergizeR"; version="0.2"; sha256="0z32ylrjjvp8kr6lghhg57yq1laf9r0h8l3adysvis8bbpz2q2sj"; depends=[RJSONIO RCurl]; };
+  SyNet = derive { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; };
+  synlik = derive { name="synlik"; version="0.1.1"; sha256="0g4n78amydihsq4jg2i9barjm9g40zczasb31fj10yn6wir1dhv7"; depends=[Rcpp Matrix]; };
+  Synth = derive { name="Synth"; version="1.1-5"; sha256="1cfvh91nz6skjk8jv04fhwv3ga9kcsfgq3mdy8lx75jkx16zr0pk"; depends=[kernlab optimx]; };
+  sysfonts = derive { name="sysfonts"; version="0.2"; sha256="15wzb7c89645xxbhn29bh0djys73iklq05228qnhd5gx5sr43dd0"; depends=[]; };
+  systemfit = derive { name="systemfit"; version="1.1-14"; sha256="0f33v96awyhxw3i6zr6whdz91hbfi7vwnfs0bz7xsrjcinqhm6h5"; depends=[Matrix car lmtest sandwich]; };
+  tab = derive { name="tab"; version="2.1.2"; sha256="0g3wjl83k61xshbp813zvkapqiwjf9lr7i1bpxrjify2lqwis8k7"; depends=[survey survival gee]; };
+  Table1Heatmap = derive { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; };
+  table1xls = derive { name="table1xls"; version="0.3.1"; sha256="0zd93wrdj4q0ph375qlgdhpqm3n8s941vks5h07ks9gc8id1bnx5"; depends=[XLConnect]; };
+  TableMonster = derive { name="TableMonster"; version="1.1"; sha256="1xflw719isy5hxvm0z67bip01cpafylnj76zssb3c174j912f7y3"; depends=[xtable]; };
+  tableone = derive { name="tableone"; version="0.6.2"; sha256="0jmii05kqd01bllc4wi9r38qa0dpxqlcpk572d3m7c009izsz8zl"; depends=[e1071 gmodels]; };
+  tableplot = derive { name="tableplot"; version="0.3-5"; sha256="1jkkl2jw7lwm5zkx2yaiwnq1s3li81vidjkyl393g1aqm9jf129l"; depends=[]; };
+  tables = derive { name="tables"; version="0.7.79"; sha256="05f23y5ff961ksx4fnmwpf6zvc9573if8s2cmz9bwki66h2g9xb7"; depends=[Hmisc]; };
+  TableToLongForm = derive { name="TableToLongForm"; version="1.3.0"; sha256="1dxis6gx0misvl18jzsaqxjajclc98xppgxil5xsz1lcq0fkn383"; depends=[]; };
+  tabplot = derive { name="tabplot"; version="1.1"; sha256="0vyc6b6h540sqwhrza2ijg7ghw2x8rla827b8qy2sh0ckm0ybjrx"; depends=[ffbase]; };
+  tabplotd3 = derive { name="tabplotd3"; version="0.3.3"; sha256="0mbj45vb17wlnndpkhvq7xaawsb814x7zxa4rqbfgidvbm1p3abv"; depends=[tabplot httpuv Rook brew RJSONIO]; };
+  tabuSearch = derive { name="tabuSearch"; version="1.1"; sha256="0bri03jksm314xy537dldbdvgyq6sywfmpmj2g2acdcli31kkpq0"; depends=[]; };
+  TAM = derive { name="TAM"; version="1.0-3"; sha256="122wn95hbi7w41k1dbmwbr1q4rsrcskcy39ff64dclak70ackblm"; depends=[MASS mvtnorm tensor sfsmisc GPArotation psych Rcpp]; };
+  TANOVA = derive { name="TANOVA"; version="1.0.0"; sha256="0c2mrahchwagisrkjl5l1s0mv0ny80kngq8dz0fjj9lwxwqwvwa5"; depends=[MASS]; };
+  TaoTeProgramming = derive { name="TaoTeProgramming"; version="1.0"; sha256="1b36s5mpm5vbhzcwmvm8g5pl7vpn6rsl5cnglfy8kgm1q9nnr7ff"; depends=[]; };
+  TapeR = derive { name="TapeR"; version="0.3.2"; sha256="070zl7hqv5zprhs464gy1kmz0am58l0vig8xvdq6pbz94nrhvpj0"; depends=[nlme pracma]; };
+  TAQMNGR = derive { name="TAQMNGR"; version="2014.01-2"; sha256="1szds8yyk3ldap785jxi8lj86rf4zlpzhd7rk2y8xwcq2fhs9h62"; depends=[]; };
+  taRifx = derive { name="taRifx"; version="1.0.6"; sha256="10kp06hkdx1qrzh2zs9mkrgcnn6d31cldjczmk5h9n98r34hmirx"; depends=[reshape2 plyr]; };
+  taRifx_geo = derive { name="taRifx.geo"; version="1.0.6"; sha256="0w7nwp3kvidqhwaxaiq267h99akkrj6xgkviwj0w01511m2lzghs"; depends=[taRifx sp rgdal RJSONIO rgeos RCurl]; };
+  tau = derive { name="tau"; version="0.0-18"; sha256="10akzwf0fi05vplgy4njzrb4jdqa079zhycri4014w8sihb5msan"; depends=[]; };
+  TauP_R = derive { name="TauP.R"; version="1.1"; sha256="10sjvcv70fjrsl5nnk9gm4sy7nhwm6aaq57gr37cb10v079ykmk1"; depends=[]; };
+  tawny = derive { name="tawny"; version="2.1.2"; sha256="0ihg3qlng8swak1dfpbnlx5xc45d1i9rgqawmqa97v5m91smfa71"; depends=[lambda_r lambda_tools futile_logger futile_matrix tawny_types zoo xts PerformanceAnalytics quantmod]; };
+  tawny_types = derive { name="tawny.types"; version="1.1.3"; sha256="1v0k6nn45rdczjn5ymsp2fqq0ijnlniyf3bc08ibd8yd1jcdyjnj"; depends=[lambda_r lambda_tools futile_logger futile_options zoo xts quantmod]; };
+  taxize = derive { name="taxize"; version="0.3.0"; sha256="1qixhiz92s0ys5sk61gjhq21855p739zih0sdxmhhah6x1m46agm"; depends=[XML RCurl stringr plyr httr RJSONIO foreach ape Taxonstand reshape2 data_table vegan assertthat]; };
+  Taxonstand = derive { name="Taxonstand"; version="1.3"; sha256="0qfvsl2ywkagqn18iyjs3208szs0wm3xi39mssaw2l6rwyrx3kvd"; depends=[]; };
+  tbart = derive { name="tbart"; version="0.9"; sha256="1iim4qshbazrb58ydhaxzp9xpy9w1ji2h4nh74scnmsxjdj3gfkg"; depends=[Rcpp sp]; };
+  tbdiag = derive { name="tbdiag"; version="0.1"; sha256="1wr2whgdk84426hb2pf8iiyradh9c61gyazvcrnbkgx2injkz65q"; depends=[]; };
+  TBEST = derive { name="TBEST"; version="3.0"; sha256="1c4zbp4jsl8qsbx7bnqm7z7njm60qcc1yhxdbg75mw326brfvw1z"; depends=[signal fdrtool]; };
+  TBSSurvival = derive { name="TBSSurvival"; version="1.1"; sha256="0hh0zpvwbkix8g9slf6bh4qzwmig5qif80q1ph6m5i496ywjcc80"; depends=[mcmc coda survival normalp R_utils BMS]; };
+  TcGSA = derive { name="TcGSA"; version="0.9.8"; sha256="19gp3pj4p2svrfyviccvv13q82qj7584nck8zbba90hzv9g4xy86"; depends=[lme4 ggplot2 GSA reshape2 gtools gplots cluster stringr]; };
+  tcltk2 = derive { name="tcltk2"; version="1.2-10"; sha256="0m648n028xc6gi3ypih0nyswczh787pwfq7ky2hsxabp958faflb"; depends=[]; };
+  TDD = derive { name="TDD"; version="0.4"; sha256="193y8brybkjsajrbnlx1sdnw1wyyn9rhlm5wvp4aamqhvi8z13vn"; depends=[signal RSEIS pracma]; };
+  tdm = derive { name="tdm"; version="3.0.2"; sha256="06k2dp5gf2k9q23mpswn2yh0525xaz0zznx6r7gn0gim2l7msbqj"; depends=[rjags coda png deSolve]; };
+  TDMR = derive { name="TDMR"; version="1.1"; sha256="15s1569435h7mlpvwg9k2584nk352sc4l6nqq2mk2hhj4brpa30l"; depends=[SPOT e1071]; };
+  tdthap = derive { name="tdthap"; version="1.1-7"; sha256="0lqcw4bzjd995pwn2yrmzay82gnkxnmxxsqplpbn5gg8p6sf5qqk"; depends=[]; };
+  TeachingDemos = derive { name="TeachingDemos"; version="2.9"; sha256="160xch4812darv77qk2xjblm6nfnna5x2rxy335bwdsdjzcx4x9m"; depends=[]; };
+  TeachingSampling = derive { name="TeachingSampling"; version="3.2.1"; sha256="1diw8qz6yi3g7d1ysklrvxwbzda9ybi039yr6agzw0w0b2b59jj4"; depends=[]; };
+  TeachNet = derive { name="TeachNet"; version="0.7"; sha256="1p39bsf846r7zwz4lrrv2bpyx9yrkqzrnacajwrz3jjqj6qpp6cn"; depends=[]; };
+  TED = derive { name="TED"; version="1.0"; sha256="0fzjfm9fjyn6h89vwgc912q8hx7ly4mqpacbz05iykhz3xdzfb9p"; depends=[foreach zoo fields animation geoR RcppArmadillo]; };
+  teigen = derive { name="teigen"; version="2.0.1"; sha256="1lsx7cb6frfi0i2pg1w228kydfymrbxqd535hnrhhq9j1shhykk4"; depends=[]; };
+  tempdisagg = derive { name="tempdisagg"; version="0.23"; sha256="1ym0cbvm8f1wvnkpdm34d5yzgbn3hig1kc3zv8b24pnx11ywv751"; depends=[]; };
+  tensor = derive { name="tensor"; version="1.5"; sha256="19mfsgr6vz4lgwidm80i4yw0y1dr3n8i6qz7g4n2xa0k74zc5pp1"; depends=[]; };
+  tensorA = derive { name="tensorA"; version="0.36"; sha256="1xpczn94a6vfkfibfvr71a7wccksg16pc22h0inpafna4qpygcwp"; depends=[]; };
+  TEQR = derive { name="TEQR"; version="5.0-0"; sha256="04r26qzps7nnvs4s2xpvjf6q456wa29alhsds07xvyqhi972xhs6"; depends=[]; };
+  TERAplusB = derive { name="TERAplusB"; version="1.0"; sha256="0mshx615awcf2arm39mgw2gzgpyn7a3f767484g7z4nqqlikwpgc"; depends=[]; };
+  tergm = derive { name="tergm"; version="3.1.4"; sha256="0w5s4ziacxp9zdylmb8f7xrwvql58c6c9jvv27wjxdxpaf9iyp8h"; depends=[statnet_common ergm network networkDynamic robustbase coda nlme]; };
+  termstrc = derive { name="termstrc"; version="1.3.7"; sha256="12bycwhjrhkadafcckc30jr0md0ssj21n4v75yjhy21yvqjx1d7a"; depends=[lmtest Rcpp rgl sandwich urca zoo]; };
+  ternvis = derive { name="ternvis"; version="1.1"; sha256="16q1a1ns7q0d46js2m1hr6zm8msg3ncgp8w7yrwch11xq0759sb4"; depends=[quadprog maps maptools mapdata dichromat]; };
+  TESS = derive { name="TESS"; version="1.2.1"; sha256="15wrbbhrzj66j0z6xhnbf560qg0dzm1yqfbpmx070n3lsa2rdyij"; depends=[ape coda deSolve]; };
+  tester = derive { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
+  testit = derive { name="testit"; version="0.3"; sha256="142q0zwlzx3w69j0fsd06s3pihr76kw9yg21596aalazh7c2yfgi"; depends=[]; };
+  TestScorer = derive { name="TestScorer"; version="1.6"; sha256="11125i0dwh961q5xbg57lli5bzzls3y482iw5f0qwalwkppk7sv0"; depends=[]; };
+  TestSurvRec = derive { name="TestSurvRec"; version="1.2.1"; sha256="05f5gc8hvz09hx015jzis6ikki9c1brdq7l7a9bxm9bqbcc9f2f9"; depends=[survrec boot]; };
+  testthat = derive { name="testthat"; version="0.8.1"; sha256="1nja6yfcqyxi6nfs8mcwasslfw8mzlacjwj3kr65zmg58pm82ga4"; depends=[digest]; };
+  texmex = derive { name="texmex"; version="2.1"; sha256="17x4xw2h4g9a10zk4mvi3jz3gf4rf81b29hg2g3gq6a6nrxsj8sy"; depends=[mvtnorm]; };
+  TExPosition = derive { name="TExPosition"; version="2.6.10"; sha256="12rgijlclaipwjjiyng7nwilzixdy6lsvncigcg0vjydhgk97jn1"; depends=[prettyGraphs ExPosition]; };
+  texreg = derive { name="texreg"; version="1.33"; sha256="14x8q35w0w6p2zkqycqkpkan1637r9z6dl68d1dn4n5im7f2n4kw"; depends=[]; };
+  textcat = derive { name="textcat"; version="1.0-2"; sha256="0m8jbw8k8h6m9q9x25gvx0glzwhhpy73pjv4zivivna5zxapgi23"; depends=[tau slam]; };
+  textir = derive { name="textir"; version="2.0-2"; sha256="19n14nqx7gcp5ypfqwmk80lxxwqc0dklm09z3f9czg68j6qv181i"; depends=[distrom gamlr Matrix]; };
+  textometry = derive { name="textometry"; version="0.1.3"; sha256="1a0dp1flx3yh7wqn0cmb5pq83qqnz94ynkqkmj4kw9ha5j8kcnwx"; depends=[]; };
+  TFDEA = derive { name="TFDEA"; version="0.9.4"; sha256="0376mzlfzf2ff6pnfsh4lf6gx9c1xdnl59pwm31zc73li4npy61h"; depends=[lpSolveAPI]; };
+  tfer = derive { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; };
+  TFMPvalue = derive { name="TFMPvalue"; version="0.0.5"; sha256="13bfcwfiyl61cv2ma23fcmv2cvbsyzdbg2pl6l6zg39l6scxf9na"; depends=[Rcpp]; };
+  tfplot = derive { name="tfplot"; version="2014.2-2"; sha256="1jrkzccvqmwghp6nhxay0m1qx8r5wa96zb9r8v6qihryi9m3amhs"; depends=[tframe]; };
+  tframe = derive { name="tframe"; version="2012.8-1"; sha256="0m6kwwn7y4n0vkk9zvwixn2jg67rsv9f9s2xma2mxdxl1f5lnfvh"; depends=[]; };
+  tframePlus = derive { name="tframePlus"; version="2013.9-1"; sha256="070ad1g7yv1d5by6xrvshgn43jjxpq8waa339xhzc1am2qzb6mqr"; depends=[tframe timeSeries]; };
+  TFX = derive { name="TFX"; version="0.1.0"; sha256="0xrjdbvg0ng4i0s8ql1pfyma10x4n045spilkb05750677r5j44p"; depends=[XML]; };
+  tgp = derive { name="tgp"; version="2.4-9"; sha256="0ghn7pmwipwmq6lch7jvzghks9mbj9jrdv5140550vq4w6mnf57q"; depends=[]; };
+  tgram = derive { name="tgram"; version="0.2-2"; sha256="091g6j5ry1gmjff1kprk5vi2lirl8zbynqxkkywaqpifz302p39q"; depends=[zoo]; };
+  TH_data = derive { name="TH.data"; version="1.0-3"; sha256="0f52x4ill5d4wpb1iyz0blj62jqzrzr6gl74bmy5hxh3f4f4kwq1"; depends=[]; };
+  thgenetics = derive { name="thgenetics"; version="0.3-4"; sha256="1316nx0s52y12j9499mvi050p3qvp6b8i01v82na01vidl54b9c2"; depends=[]; };
+  Thinknum = derive { name="Thinknum"; version="1.3.0"; sha256="0j48vgr4wsc2chm95aprq0xm0dk720xk5zmiijxasg92sfp0va6n"; depends=[RCurl RJSONIO]; };
+  threeboost = derive { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
+  ThreeWay = derive { name="ThreeWay"; version="1.1.2"; sha256="1vf71im3bs2b2v05j12l8qn181kah0mch4h13n71zqik1ykly6jf"; depends=[]; };
+  threg = derive { name="threg"; version="1.0.2"; sha256="0wb9waj0j83zrj763d3fdnp3lp52gfdyzv23yrvxvd6zmk5clgi2"; depends=[survival Formula]; };
+  ThresholdROC = derive { name="ThresholdROC"; version="1.0"; sha256="1w7bjw1w09skxyc5w3d72wivljlvnck6vbchihjx7m5k6djn7pxi"; depends=[]; };
+  tibbrConnector = derive { name="tibbrConnector"; version="1.5.0-71"; sha256="0d8gy126hzzardcwr9ydagdb0dy9bdw30l8s2wwi7zaxx2lpii6q"; depends=[RCurl rjson]; };
+  tictoc = derive { name="tictoc"; version="1.0"; sha256="1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7"; depends=[]; };
+  TiddlyWikiR = derive { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
+  Tides = derive { name="Tides"; version="1.0"; sha256="10k8cmpfj9jjpzayyklslgazgl96078vfbn71ncgrn9bb98ahyqs"; depends=[]; };
+  tidyr = derive { name="tidyr"; version="0.1"; sha256="1rcf2cmd0zbjkvazkdfiv4sy50rxzj0fs4ldgmkz89vlffy5kdgc"; depends=[reshape2 dplyr]; };
+  tiff = derive { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; };
+  tiger = derive { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin qualV klaR som lattice]; };
+  tigerstats = derive { name="tigerstats"; version="0.1.6"; sha256="18gvmc4gfwi2x5nqj6jm7lddzlqmjvj0bf4h6r0yzvrp07wayvan"; depends=[lattice MASS]; };
+  tightClust = derive { name="tightClust"; version="1.0"; sha256="0psyzk6d33qkql8v6hzkp8mfwb678r95vfycz2gh6fky7m5k3yyz"; depends=[]; };
+  tikzDevice = derive { name="tikzDevice"; version="0.7.0"; sha256="12r6qk5qp4yvi3vqvdxp02799y6fhmg21qv6abp1s620n8hgva6d"; depends=[filehash]; };
+  tileHMM = derive { name="tileHMM"; version="1.0-6"; sha256="18vqj7fdh4knnjk9s7yk2bgn3qwqz92fmm5fdny21gi0wl4qgdsd"; depends=[]; };
+  TilePlot = derive { name="TilePlot"; version="1.3.1"; sha256="0yfzjyzc743rv5piw9mb7y0rr558hkxszgz49lya2w3i1mqvxbzy"; depends=[]; };
+  tilting = derive { name="tilting"; version="1.0"; sha256="0s0lac39wnczjy6kb2a1an55fyndh61ya5cx4ic3799cgqvn8ba0"; depends=[mvtnorm]; };
+  timeDate = derive { name="timeDate"; version="3010.98"; sha256="12f4bdb9lv724p4p1490iznhnwznnn69c5b6wbljdvscl1yvys9a"; depends=[]; };
+  timeit = derive { name="timeit"; version="0.2.1"; sha256="0fsa67jyk4yizyd079265jg6fvjsifkb60y3fkkxsqm7ffqi6568"; depends=[microbenchmark]; };
+  timeline = derive { name="timeline"; version="0.9"; sha256="0zkanz3ac6cgsfl80sydgwnjrj9rm7pcfph7wzl3xkh4k0inyjq3"; depends=[ggplot2]; };
+  TimeMachine = derive { name="TimeMachine"; version="1.2"; sha256="1dz0j777wmd8mpkm2ryiahpcw6w88w429zjcw6m67pi20r1992cb"; depends=[]; };
+  timeordered = derive { name="timeordered"; version="0.9.6"; sha256="0h6y3asq1y788571c423bqkgdcx6k5i9jp6hp59x99g9l77y71sn"; depends=[igraph plyr]; };
+  TimeProjection = derive { name="TimeProjection"; version="0.2.0"; sha256="04yr4cg2khkw9n3y3qk0ni1327k4pxm09zz2xg8mpjdvgi4p9yi3"; depends=[lubridate timeDate Matrix]; };
+  timereg = derive { name="timereg"; version="1.8.5"; sha256="1ppmhx86cf276fl1nwmlpbjhh6ddvrcw2gc53ncqcyff0jg6r4c1"; depends=[survival prodlim]; };
+  timeROC = derive { name="timeROC"; version="0.2"; sha256="1ikd2wr5cja784hihqdyk7mwky18czz58sl0xrvmzhc67153a4jz"; depends=[pec mvtnorm timereg]; };
+  timesboot = derive { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; };
+  timeSeries = derive { name="timeSeries"; version="3010.97"; sha256="0iv1jkh1h2qamsi22m7l3pdx0mgz96lafwjdxc99i558l2gdp2s3"; depends=[timeDate]; };
+  timetools = derive { name="timetools"; version="1.6.0"; sha256="1ynapbzbnxyyqs1lkb482jp3yfjmnbqqv80ksc6vasi6gm0fmx7h"; depends=[]; };
+  TimeWarp = derive { name="TimeWarp"; version="1.0-7"; sha256="1qjr3kfdd1ym0fi4hgjqm32gigchbchxy4xyxmsyl8y7jh2jk9qj"; depends=[]; };
+  TIMP = derive { name="TIMP"; version="1.11.0"; sha256="0l8n3xg5ds1lbndd993nijny26s9p36n3j128527y53fs4915lxn"; depends=[fields vcd gplots colorspace gclus nnls deSolve minpack_lm MASS]; };
+  timsac = derive { name="timsac"; version="1.3.3"; sha256="0jg9mjzzfl94z4dqb2kz0aiccpclnbyf9p08x3a3cw1y6wqmzrmy"; depends=[]; };
+  Tinflex = derive { name="Tinflex"; version="1.0"; sha256="0zvh2nfx4kqf90mmrpdm2fzlzn7s7gs09i8zin604hqxjir6p3ny"; depends=[]; };
+  TInPosition = derive { name="TInPosition"; version="0.13.6"; sha256="1cxxrfpbiyknaivv6gyp79lz0rxwhrndcd054smksxq8zcfz0v7c"; depends=[prettyGraphs TExPosition ExPosition InPosition]; };
+  tipom = derive { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
+  tis = derive { name="tis"; version="1.23"; sha256="0k8g9r0ngiw5dnmg0vddcmfw2w7g69lamrpczabrd2jmvvy67npn"; depends=[]; };
+  titan = derive { name="titan"; version="1.0-16"; sha256="0x30a877vj99z3fh3cw9762j5ci56964j2466xfbwcywhn9njz5r"; depends=[MASS boot lattice]; };
+  tkrgl = derive { name="tkrgl"; version="0.7"; sha256="1kpq5p6izqrn1zr53firis3rmifq9lf6326lf3z7l1p82nf2yps5"; depends=[rgl]; };
+  tkrplot = derive { name="tkrplot"; version="0.0-23"; sha256="1cnyszn3rmr1kwvi5a178dr3074skdijfixf5ln8av5wwcy35947"; depends=[]; };
+  tlemix = derive { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
+  tlmec = derive { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; };
+  tlnise = derive { name="tlnise"; version="2.0"; sha256="1vh998vqj359249n9zmw04rsivb7nlbdfgzf20pgh2sndm3rh8qz"; depends=[]; };
+  tm = derive { name="tm"; version="0.6"; sha256="004hswgswz3gdrpa6j61hl4rls843bxnsp5qac5kyxvfmwalsgr8"; depends=[NLP slam]; };
+  tmap = derive { name="tmap"; version="0.6"; sha256="10aw79k3vdi3f20i4clsbvdlfylg34z02ah36wz5yj7y68fm5ijh"; depends=[rgeos gridBase sp rgdal classInt RColorBrewer igraph fields vegan]; };
+  tmle = derive { name="tmle"; version="1.2.0-4"; sha256="11hjp2vak1zv73326yzzv99wg8a2xyvfgvbyvx3jfxkgk33mybbm"; depends=[SuperLearner]; };
+  tmle_npvi = derive { name="tmle.npvi"; version="0.8.1"; sha256="1vxkhf17x3zsf4fvx458qyqn0xi460db6kw6zmaw6jhagjk5yaj0"; depends=[R_utils MASS sgeostat]; };
+  tm_plugin_alceste = derive { name="tm.plugin.alceste"; version="1.1"; sha256="0wid51bbbx01mjfhnaiv50vfyxxmjxw8alb73c1hq9wlsh3x3vjf"; depends=[NLP tm]; };
+  tm_plugin_dc = derive { name="tm.plugin.dc"; version="0.2-7"; sha256="1ikkxp5jdr385yqvhknvkvs97039jw964pcm6dl1k66nbdv1q59i"; depends=[DSL tm NLP slam]; };
+  tm_plugin_europresse = derive { name="tm.plugin.europresse"; version="1.1"; sha256="1rjpnr3x9nngvbx3vlzqsha9zg7ikqfxmqsalb3gvgph0bamdbbp"; depends=[NLP tm XML]; };
+  tm_plugin_factiva = derive { name="tm.plugin.factiva"; version="1.5"; sha256="06s75rwx9fzld1dw0nw6q5phc1h0zsdzhy1dcdcvmsf97d4s2qdr"; depends=[NLP tm XML]; };
+  tm_plugin_lexisnexis = derive { name="tm.plugin.lexisnexis"; version="1.1"; sha256="1hx0micnma1i6bys6jhwcxjsb7rlzac5kwwnrsgk7i1ynq7bh3zp"; depends=[NLP tm XML ISOcodes]; };
+  tm_plugin_mail = derive { name="tm.plugin.mail"; version="0.1"; sha256="0ca2w2p5zv3qr4zi0cj3lfz36g6xkgkbck8pdxq5k65kqi5ndzyp"; depends=[NLP tm]; };
+  tm_plugin_webmining = derive { name="tm.plugin.webmining"; version="1.2"; sha256="1qwzglv40vry2nsqnvpz2pr2bqyb3iibh3dx2yn51xshgqs3p2d8"; depends=[NLP tm boilerpipeR RCurl XML RJSONIO]; };
+  tmvtnorm = derive { name="tmvtnorm"; version="1.4-9"; sha256="1dacdhqv6bb29a81bmxp8hxy4hragpg8mb5kql4cp59q08zmizyi"; depends=[mvtnorm Matrix gmm]; };
+  tnet = derive { name="tnet"; version="3.0.11"; sha256="00hifb145w0a9f5qi3gx16lm1qg621jp523vswb8h86jqmxcczbc"; depends=[igraph survival]; };
+  toaster = derive { name="toaster"; version="0.2.5"; sha256="0yybv6lq22mzawyvywh1dpg5p5mx5qqqssdhgd3ff78cqp7j298r"; depends=[RODBC plyr reshape2 ggplot2 scales RColorBrewer wordcloud ggmap]; };
+  tolerance = derive { name="tolerance"; version="0.5.3"; sha256="058gl3vsqq4ylxrafj6fd70xsw4jbxjlxl30h8pd2dyv1h70b5zf"; depends=[rgl]; };
+  topicmodels = derive { name="topicmodels"; version="0.2-1"; sha256="1if1pdx4jnfx3xi37xs411qv3h449vkwxzzqd7krxaxbj3gqq7n9"; depends=[modeltools slam tm]; };
+  TopKLists = derive { name="TopKLists"; version="1.0.2"; sha256="0hsfa465rw7mjwgp9nk2aa9gqrwc61r867n4kfix6fbngqr11m5k"; depends=[Hmisc gplots]; };
+  topmodel = derive { name="topmodel"; version="0.7.2-2"; sha256="1nqa8fnpxcn373v6qcd9ma8qzcqwl2md347yql3c8bpqlm9ggz16"; depends=[]; };
+  topologyGSA = derive { name="topologyGSA"; version="1.4.4"; sha256="092f57gpm8jlb2y4j74a6dx1lwqjdgcm3yrm1yzy4511j6vg0axh"; depends=[gRbase fields]; };
+  topsis = derive { name="topsis"; version="1.0"; sha256="056cgi684qy2chh1rvhgkxwhfv9nnfd7dfzc05m24gy2wyypgxj3"; depends=[]; };
+  tosls = derive { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; };
+  tourr = derive { name="tourr"; version="0.5.3"; sha256="0jsj2r9lhy0pa4kxnfb1cpf28c8q26rcprssax765n5ip1w9ycra"; depends=[]; };
+  tourrGui = derive { name="tourrGui"; version="0.4"; sha256="1g9928q3x9rrd9k3k84r201wss3vjd2pngvbaflk5dqh9yf75jpq"; depends=[tourr colorspace RGtk2 gWidgets Cairo]; };
+  tpe = derive { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; };
+  TPmsm = derive { name="TPmsm"; version="1.1.1"; sha256="0fd4l1rzclq32l97g7rdvhdvfdylgwaf079y24arfvkyphs2xga4"; depends=[KernSmooth]; };
+  tpr = derive { name="tpr"; version="0.3-1"; sha256="0nxl0m39zaii6rwm35hxcdk6iy2f729jjmhc2cpr8h0mgvgqf19d"; depends=[lgtdl]; };
+  track = derive { name="track"; version="1.0-15"; sha256="05v6p2mfms59p3cs4vwpzvi9gaadrin50fc39l5kjqwqa9vhmkz7"; depends=[]; };
+  trackObjs = derive { name="trackObjs"; version="1.0-18"; sha256="0wwm9yx5wnmgvyd7zczkv8mdzixazb3kps112w19rdbnkiq1db3d"; depends=[]; };
+  TrackReconstruction = derive { name="TrackReconstruction"; version="1.1"; sha256="1f2l3nshb6qrhyczw5rxqqzmsjxf0rvv3y78j8d9lv1nnd9kxzq5"; depends=[fields RColorBrewer]; };
+  tractor_base = derive { name="tractor.base"; version="2.5.0"; sha256="17s4iyp67w7m8gslm87p3ic5r9iq7x1ifpxqrmnin3y5a3d04f5v"; depends=[reportr]; };
+  traitr = derive { name="traitr"; version="0.13"; sha256="0xn2w83w9mh2aal375snzv9r7yv7adly3axf8kchlcxs2kgrrn8f"; depends=[digest proto gWidgets]; };
+  TraMineR = derive { name="TraMineR"; version="1.8-8"; sha256="12zbk7bq4ff4dzq86zbh9pspl1b9a69k0rw9lg8sh3mmc0f09m8j"; depends=[RColorBrewer boot]; };
+  TraMineRextras = derive { name="TraMineRextras"; version="0.2.2"; sha256="0sb072ssg5q3kncb3b1a0nrnapjq8rly0ibh3gdrld9fdbdbjx68"; depends=[TraMineR RColorBrewer combinat survival]; };
+  TRAMPR = derive { name="TRAMPR"; version="1.0-7"; sha256="135ylhijhpdxpznfdbdzwfsvy8bhw1yx28c3520a3lyrqvinpawg"; depends=[]; };
+  translate = derive { name="translate"; version="0.1.2"; sha256="1w0xrg1xxwfdanlammmixf06hwq700ssbjlc3cfigl50p87dbc5x"; depends=[RCurl RJSONIO functional lisp]; };
+  translateR = derive { name="translateR"; version="1.0"; sha256="11kh9hjpsj5rfmzybnh345n1gzb0pdksrjp04nzlv948yc0mg5gm"; depends=[RJSONIO RCurl textcat httr]; };
+  transmission = derive { name="transmission"; version="0.2.0"; sha256="0cp3fb05kj3zj1x3i7icisaswdqbn9mhx5vi778x44r68h2lap17"; depends=[Rcpp ggplot2 reshape2 plyr]; };
+  transnet = derive { name="transnet"; version="0.1"; sha256="0apsb67dxcnnsjnldr1vsjpc7xwy4cipybk9d86rf86l6cmirci6"; depends=[rJava plyr reshape2]; };
+  transport = derive { name="transport"; version="0.6-2"; sha256="038p40jp654w0jbgzxy1sj4258g9lzdfzija1mfz6nc6ibycviyj"; depends=[]; };
+  trapezoid = derive { name="trapezoid"; version="2.0-0"; sha256="0f6rwmnn61bj97xxdgbydi94jizv1dbq0qycl60jb4dsxvif8l3n"; depends=[]; };
+  TreatmentSelection = derive { name="TreatmentSelection"; version="1.1.2"; sha256="1mvrb72yz51gmwqlfg5gsjbi65lqk5j24agddw1br53ymdvjgzq4"; depends=[ggplot2]; };
+  tree = derive { name="tree"; version="1.0-35"; sha256="1k8c2kjk53gix68frprlyx5ww7cm373vz1xg2r2jxbzxg1y4v691"; depends=[]; };
+  treebase = derive { name="treebase"; version="0.0-7.1"; sha256="0kj1cyk14j4qzm31f47a8g7qh4842rqkzr0fqh9i5c8kzrqxbc0g"; depends=[ape XML RCurl reshape2 data_table]; };
+  treeclim = derive { name="treeclim"; version="1.0.7"; sha256="1l2m4pq5wcb3wkxy9mkay87vzdcn8rxgsknsb72ahdb3zim0yg0v"; depends=[Rcpp abind plyr ggplot2 lmtest lmodel2 np boot]; };
+  treecm = derive { name="treecm"; version="1.2.1"; sha256="02al6iz25pay7y1qmbpy04nw8dj9c5r7km6q5k3v3jdkfal6cm6k"; depends=[plyr]; };
+  treelet = derive { name="treelet"; version="1.0"; sha256="16g4lmp4yrfg328d0qwrp101y1qnwcrff7kna60cjmqdpvg3wm15"; depends=[]; };
+  treemap = derive { name="treemap"; version="2.2"; sha256="0h4wkjw12n9awqsvrs72nmsxq3d5as3zjy8kyhw7715h1cvry769"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; };
+  TreePar = derive { name="TreePar"; version="3.0"; sha256="12i3y2wmja0xrq3h43fi4r8991q328l1p51q5nbz17crd44pds31"; depends=[ape Matrix subplex TreeSim deSolve]; };
+  TreeSim = derive { name="TreeSim"; version="2.0"; sha256="0kzmvay0ai0acjhcr4w7674gvln9sgg7n4qc3rg5kfcdqj4q8whp"; depends=[ape geiger laser]; };
+  TreeSimGM = derive { name="TreeSimGM"; version="1.2"; sha256="0y6hadwx3apw11jy5d4al3dav3his8b4xvkv7s5d5rd92l7yrw0r"; depends=[TreeSim]; };
+  treethresh = derive { name="treethresh"; version="0.1-7"; sha256="0757w8y7hqki9znn726h7ry1hdrhnfj9ps179jmh5cl0gb5p2qin"; depends=[EbayesThresh wavethresh]; };
+  TrialSize = derive { name="TrialSize"; version="1.3"; sha256="1hikhw2l7d3c7cg4p7zzrgdwhy9g4rv06znpw5mc6kwinyakp75q"; depends=[]; };
+  TRIANG = derive { name="TRIANG"; version="1.2"; sha256="09hfvfmqrmx8dphlk46ga0y9s986kb32qdhgiq95faqfhpirf0qa"; depends=[]; };
+  TRIANGG = derive { name="TRIANGG"; version="1.0"; sha256="1ycqyaijxmgi7v9rzdsq3gxx1wll51yfpdyxbjiyp9gpgmcs7h48"; depends=[]; };
+  triangle = derive { name="triangle"; version="0.8"; sha256="0jdphz1rf4cx4y28syfffaz7fbl41g3rw3mrv9dywycdznhxdnrp"; depends=[]; };
+  trifield = derive { name="trifield"; version="1.1"; sha256="0xk48fkd5xa3mfn3pwdya0ihpkwnh20sgj3rc7fmzjil47kqscvy"; depends=[]; };
+  TriMatch = derive { name="TriMatch"; version="0.9.1"; sha256="1207lnysdjd347m1lsbxy19lq73bjs1irqwk94y8idp1pcj4pfpd"; depends=[ggplot2 scales reshape2 ez psych PSAgraphics]; };
+  trimcluster = derive { name="trimcluster"; version="0.1-2"; sha256="0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2"; depends=[]; };
+  trioGxE = derive { name="trioGxE"; version="0.1-1"; sha256="1ra86l3i7fhb6nsy8izixyvm6z23shv7fcjmnnpil54995j15ax4"; depends=[msm mgcv gtools]; };
+  trip = derive { name="trip"; version="1.1-17"; sha256="1i1hc89bdws4k10w6yz0wqnkkk2mgbhkv0kdnx2q8ljir9p4gbyx"; depends=[sp maptools MASS spatstat]; };
+  tripack = derive { name="tripack"; version="1.3-6"; sha256="1dknz1arzfyknip04a9fxdhqmrkb0r0lr8hgria9s0d57hr1ay12"; depends=[]; };
+  tripEstimation = derive { name="tripEstimation"; version="0.0-41"; sha256="11cn9lz4vdcx8wb46cm5sj0rfjl9cs50z7zxfxrn79nz0pga4gwn"; depends=[lattice mgcv rgdal sp zoo]; };
+  TripleR = derive { name="TripleR"; version="1.2.1"; sha256="0ab0mb044594rixira088l2dr5r9jrbphiigi8nv8ggm6536sqf0"; depends=[reshape plyr]; };
+  trueskill = derive { name="trueskill"; version="0.1"; sha256="0mqvm64fcsxjlh789lqdk6l28q31yhh6jjirwjlgbpxxb90c5107"; depends=[]; };
+  truncdist = derive { name="truncdist"; version="1.0-1"; sha256="0aszs6rz8nydyf2dw1m4fj9fclb0r4vpgqywyaqjkdnhzmyn593g"; depends=[evd]; };
+  truncgof = derive { name="truncgof"; version="0.6-0"; sha256="0b499i9zjwvva5jfl9fj02jjrgy8myxqfjwa0cjg0jrpgxczgwg8"; depends=[MASS]; };
+  truncnorm = derive { name="truncnorm"; version="1.0-7"; sha256="1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"; depends=[]; };
+  truncreg = derive { name="truncreg"; version="0.2-1"; sha256="0qvdfj93phk1s2p4n0rmpf8x9gj5n1j75h4z424mrg10r24699rd"; depends=[maxLik]; };
+  truncSP = derive { name="truncSP"; version="1.2.2"; sha256="1hdi518j3sg9273g01l1jqlmqya3ppim82ma7zakwqpmsjmzw18q"; depends=[truncreg boot]; };
+  trust = derive { name="trust"; version="0.1-6"; sha256="1jghgwnazhqgyn2k0b3x4n8swncyy6dzlkv86chv98zw4s3bnlak"; depends=[]; };
+  trustOptim = derive { name="trustOptim"; version="0.8.3"; sha256="04pkni5053r9czmf81jaq3y1kvw902g237pa6d3jgkvlqaznqwg3"; depends=[Rcpp RcppEigen Matrix]; };
+  TSA = derive { name="TSA"; version="1.01"; sha256="0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"; depends=[leaps locfit mgcv tseries]; };
+  TSAgg = derive { name="TSAgg"; version="1.0.1"; sha256="01s0grwfbhhfipqdnc0932rjsz4k52rln2bs8dsvrk6f8wps7h1k"; depends=[lubridate]; };
+  tsbridge = derive { name="tsbridge"; version="1.1"; sha256="0mry3ia54cdfydpzm8asrq1ldj70gnpb5dqzj51w0jiyps2zlw6f"; depends=[mvtnorm tsbugs]; };
+  tsbugs = derive { name="tsbugs"; version="1.2"; sha256="130v4x6cfy7ddvhijsnvipm4ycrispkj1j0z5f326yb4v5lrk91x"; depends=[]; };
+  TSclust = derive { name="TSclust"; version="1.2.1"; sha256="1ixawrs686p5g8kdaiqpf4y8ndpz0vgz9ji1ahja8i6nscfzasd9"; depends=[wmtsa pdc cluster locpol KernSmooth dtw longitudinalData]; };
+  TScompare = derive { name="TScompare"; version="2013.9-1"; sha256="1gghr7xsg524sc9lhy1ymlhigaz6pi69fnccgn784ff2hl3w6d8w"; depends=[TSdbi tframe tfplot]; };
+  TSdata = derive { name="TSdata"; version="2013.9-1"; sha256="1r3x6w17517if2jpcz2mr8jk5i080dkx4nlffblrcsxjhfvlz0xh"; depends=[]; };
+  TSdbi = derive { name="TSdbi"; version="2013.9-1"; sha256="12v9dv7hrq626q44v3lws950m241fq5fsfsnmgvfbbyya5ixis86"; depends=[DBI tframe]; };
+  TSdist = derive { name="TSdist"; version="1.2"; sha256="103wv6wy5gjim2cf14d6afinyla85p6dncchi17fr0s4vqkmx3m5"; depends=[proxy zoo xts]; };
+  tsDyn = derive { name="tsDyn"; version="0.9-33"; sha256="080bzbxvjfwayq9j7r1ghalvjcql9sk7ryzj880k2by4179fhnkk"; depends=[mnormt mgcv nnet tseriesChaos tseries vars urca forecast MASS Matrix foreach]; };
+  TSEN = derive { name="TSEN"; version="1.0"; sha256="1pn313g2ylbjc37rqcakd797vffnh7v0rgg1xl5wjyvcgmm5mxix"; depends=[ncdf]; };
+  tseries = derive { name="tseries"; version="0.10-32"; sha256="0jz8a3z3hx2ps7krmpg6m10jvz5ddgmcrmnd38jpxb6ndnhh3pzw"; depends=[quadprog zoo]; };
+  tseriesChaos = derive { name="tseriesChaos"; version="0.1-13"; sha256="0f2hycxyvcaj3s1lmva1qy46xr6qi43k8fvnm4md5qj8jp2zkazg"; depends=[deSolve]; };
+  tsfa = derive { name="tsfa"; version="2014.2-2"; sha256="07g9qfdrhccl5dlsbpxn1ihavxljd9nq21hzbyn225cfi4bkx42h"; depends=[GPArotation dse EvalEst setRNG tframe tfplot]; };
+  TSfame = derive { name="TSfame"; version="2013.8-2"; sha256="19awl7jrx97y93wsms3h87w8qdgpdrkbbpsjsa2aqsnyq5vgy82l"; depends=[TSdbi DBI tframe tframePlus fame tis]; };
+  TSgetSymbol = derive { name="TSgetSymbol"; version="2013.9-1"; sha256="1hn78xrfdnwhjrgcnn71ihvdgv4qwdxhpjwcqp0pbkgbxj3q5w3k"; depends=[TSdbi quantmod DBI zoo tframe tframePlus]; };
+  TShistQuote = derive { name="TShistQuote"; version="2013.9-1"; sha256="06din7frxmbk4qxkpv0z5srh8nh0wkmrfl9lz17y7cwsmldl4hvr"; depends=[TSdbi DBI tframe tframePlus zoo tseries]; };
+  TSHRC = derive { name="TSHRC"; version="0.1-3"; sha256="18ygg7bqwg1pdqi52l1lf33gcd277895rlf5853yzh7ln2ivssmi"; depends=[]; };
+  tsintermittent = derive { name="tsintermittent"; version="1.3"; sha256="10ch3ssfgdxhxg0l5m4jp2mryj7s23crwnj0nwnc9w3yarl9mxjy"; depends=[MAPA]; };
+  TSjson = derive { name="TSjson"; version="2014.4-1"; sha256="1rkxc4dm7hdva0hiqbka8isfszjy26if9hnarsm51cflk8b60zhk"; depends=[TSdbi findpython DBI tframe tframePlus rjson]; };
+  tslars = derive { name="tslars"; version="1.0"; sha256="0ylpn4jxmrck7hna3j420kw2yhsrklrq2664w85z30xij3zrrrci"; depends=[]; };
+  tsModel = derive { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; };
+  TSMySQL = derive { name="TSMySQL"; version="2013.9-1"; sha256="1ls3mpp5xq707vgv8l14cfbw1vn4ygy4d9n19nw5mnl3izz4p0pk"; depends=[TSdbi RMySQL DBI tframe TSsql]; };
+  tsne = derive { name="tsne"; version="0.1-2"; sha256="12q5s79r2949zhm61byd4dbgw6sz3bmxzcwr8b0wlp8g1xg4bhy6"; depends=[]; };
+  TSodbc = derive { name="TSodbc"; version="2013.9-1"; sha256="0s0bgid5slvyqlsrc0jvybqd73qjbs7qb0klws4ynk51rw6rilml"; depends=[TSdbi RODBC DBI tframe tframePlus TSsql]; };
+  tsoutliers = derive { name="tsoutliers"; version="0.4"; sha256="08b8ssd8ha2n96la1kc64w2r1616c2d417vr6292g8m60fvlcq48"; depends=[forecast polynom stsm stsm_class KFKSDS]; };
+  TSP = derive { name="TSP"; version="1.0-9"; sha256="122y008gy7b2yscl9n2nwdb81fzjnpimipy3cvbnmk4i6v8nibjx"; depends=[]; };
+  Tsphere = derive { name="Tsphere"; version="1.0"; sha256="0xgxw2hfj40k5s0b54dcmz7savl8wy4midmmgc7lq4pyb8vd58xx"; depends=[glasso rms]; };
+  tspmeta = derive { name="tspmeta"; version="1.1"; sha256="11kr5avf67v2cxy3k1yrpv9lcbmiprd0w43w7zvizhsij58h13vm"; depends=[ggplot2 TSP MASS BBmisc fpc vegan stringr splancs]; };
+  TSPostgreSQL = derive { name="TSPostgreSQL"; version="2013.9-1"; sha256="0ihfz0q1faxb7mk4jm10czfb9fz168x4z8890vql98djsxzjxpz4"; depends=[TSdbi RPostgreSQL DBI tframe tframePlus TSsql]; };
+  TSsql = derive { name="TSsql"; version="2014.4-1"; sha256="10h83z0d9xjc1g0pnjvr4idz5c2vwf36x6qx1lpa48ybap50s215"; depends=[DBI tframe TSdbi]; };
+  TSSQLite = derive { name="TSSQLite"; version="2013.9-1"; sha256="0yw5whn95dvv3wbwmlhfgkapwp66nk94fjfl1r8irbqvrscmjin0"; depends=[TSdbi RSQLite DBI tframe tframePlus TSsql]; };
+  TSTutorial = derive { name="TSTutorial"; version="1.2.3"; sha256="0hpk6k3lc72p8pdz5aad04lcjsz9k443h5gs09dc3i10wqw3yhxs"; depends=[MASS]; };
+  TSxls = derive { name="TSxls"; version="2013.8-2"; sha256="1a0cmw41jf9jqibg25s4s04lawdb86c5r4bkxp8bznzkkhihpxn1"; depends=[TSdbi DBI tframe tframePlus gdata]; };
+  TSzip = derive { name="TSzip"; version="2013.9-1"; sha256="09fqjsppj7qmbiiy19s64j77kf6drqfiphk5dfz25w5df1lzdw0f"; depends=[TSdbi DBI tframe tframePlus gdata]; };
+  TTAinterfaceTrendAnalysis = derive { name="TTAinterfaceTrendAnalysis"; version="1.5.1"; sha256="1i9p5s7xj3py8465yjjaqs2m7krjxzzqd86lkpbgzxnxjdnxcx5i"; depends=[Hmisc pastecs reshape wq e1071 timeSeries fBasics relimp multcomp nlme lubridate tcltk2]; };
+  tth = derive { name="tth"; version="4.3-2"; sha256="1gs8xjljklvs0pavvn9f59y09hw7x2da58a46b5x01g08i0j8h1d"; depends=[]; };
+  TTR = derive { name="TTR"; version="0.22-0"; sha256="0aackwmmakjcynpq4nxi8xw1x3688rkg6kypgd5jiprzzdhsz5rq"; depends=[xts]; };
+  ttScreening = derive { name="ttScreening"; version="1.3"; sha256="1ixy3s0a1vwr5qf1w24n8bhbq6qbwraal8xb8ypbvpjkrl0d14z2"; depends=[matrixStats corpcor]; };
+  ttutils = derive { name="ttutils"; version="1.0-1"; sha256="18mk30070mcplybg320vjbk9v5flxnbqi5gx0yyr1z6ymjmnrxbc"; depends=[]; };
+  ttwa = derive { name="ttwa"; version="0.8.5.1"; sha256="1lhypcwssq0dspizvln3w4dg16ad6mz8cj4w34c5vsrayqid7fyn"; depends=[data_table]; };
+  TukeyC = derive { name="TukeyC"; version="1.1-4"; sha256="0p6wiyk6k2jabbf1s8fgzd547f3c0paf8d9hfa9aan5vwfcfyld6"; depends=[]; };
+  TunePareto = derive { name="TunePareto"; version="2.4"; sha256="0pljl3q5s9yqc4ph70y66ff9ci9w8gwj8jsy8srxqkgqvahc8arf"; depends=[]; };
+  tuneR = derive { name="tuneR"; version="1.2.1"; sha256="1f6mdkfwfy6r62sbwq37sylvcji6f3mj9w13sgicxjn6swbszf57"; depends=[signal]; };
+  tuple = derive { name="tuple"; version="0.3-06"; sha256="025fkyiv5gn5gajk0fdknp00vc6z2b9f7j9p025cl8jyxgpyv4xy"; depends=[]; };
+  turboEM = derive { name="turboEM"; version="2012.2-1"; sha256="1vv7bjkkqm96qkqqz6gzhz7ii4yzr252r8wf37dgv5qfh1jlbvp2"; depends=[numDeriv quantreg foreach]; };
+  turfR = derive { name="turfR"; version="0.8-4"; sha256="0fqzwnrwxlighxbapmnarxzh91s6khjbb26xs8gqzz3f8xwmj9dy"; depends=[dplyr]; };
+  turner = derive { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; };
+  TurtleGraphics = derive { name="TurtleGraphics"; version="1.0-4"; sha256="10zdwpfd2a0w995v4w2rvbvcczg53cb2kpm6bcyvrj8j5nqzmgqf"; depends=[]; };
+  TUWmodel = derive { name="TUWmodel"; version="0.1-2"; sha256="1k3gdsl8rv10ipa82rgyhjh4pqf4n2d2dj68s9r5pkv362kzk1ra"; depends=[]; };
+  tvm = derive { name="tvm"; version="0.2"; sha256="1fwa37xnp3idal8v1xxlc9gr25595f644i7a3h8xpd0k086sp1dg"; depends=[ggplot2 reshape2]; };
+  twang = derive { name="twang"; version="1.4-0"; sha256="0r9n0s421dhvsr3ppzhdxsq4viz18mbi9mglhyyl5r6slzyb4m0x"; depends=[gbm survey xtable latticeExtra]; };
+  tweedie = derive { name="tweedie"; version="2.2.1"; sha256="1fsi0qf901bvvwa8bb6qvp90fkx1svzswljlvw4zirdavy65w0iq"; depends=[]; };
+  twiddler = derive { name="twiddler"; version="0.5-0"; sha256="0r16nfk2afcw7w0j0n3g0sjs07dnafrp88abwcqg3jyvldp3kxnx"; depends=[]; };
+  twitteR = derive { name="twitteR"; version="1.1.7"; sha256="0zkz44brvkrsp1g7i90j2lvnj462vav706vqyxv0jfkp52f0s1z4"; depends=[ROAuth RCurl rjson]; };
+  TwoCop = derive { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; };
+  twoStageGwasPower = derive { name="twoStageGwasPower"; version="0.99.0"; sha256="1xvy6v444v47i29aw54y29xiizkmryv8p3mjha93xr3xq9bx2mq7"; depends=[]; };
+  twostageTE = derive { name="twostageTE"; version="1.2"; sha256="05k9lvkailv06cah71p71hnx8in045nxz6waplsccznplhgqg5ar"; depends=[isotone]; };
+  TwoStepCLogit = derive { name="TwoStepCLogit"; version="1.2.2"; sha256="0z3jg0hl7v2g1bral94gn3b1d11dzrlnzc912yh52vrcawbkmckq"; depends=[survival]; };
+  txtplot = derive { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; };
+  UBCRM = derive { name="UBCRM"; version="1.0"; sha256="1lkj0pg3pmj91s8i9xzs3bpizpmvjn85bs89wl54whjjhfnnfynk"; depends=[]; };
+  ucbthesis = derive { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
+  ucminf = derive { name="ucminf"; version="1.1-3"; sha256="19gmbz32rhrdagvhf2s901lvi1r6273wzznry5daryq6w1jx5z3v"; depends=[]; };
+  udunits2 = derive { name="udunits2"; version="0.6"; sha256="1dlxcx7yw7yqpimnfikdraqcmjsjz7js0j24li0879dzwrqa27ja"; depends=[]; };
+  ump = derive { name="ump"; version="0.5-4"; sha256="05nd9bnysp8gaw916h7hk425banffcm0xfygalbp7brl71q0zby6"; depends=[]; };
+  unbalanced = derive { name="unbalanced"; version="1.1"; sha256="0crkykmyxbag4ri2zikz4r22bf92r3v6q1lfdcvwdvv27slhyfn2"; depends=[FNN RANN]; };
+  unbalhaar = derive { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
+  Unicode = derive { name="Unicode"; version="0.1-4"; sha256="0ja0l8b95r2wgybbrpbdbbfjzdq2ns0kcvffv47sq29m516dasyh"; depends=[]; };
+  uniCox = derive { name="uniCox"; version="1.0"; sha256="1glgk6k8gwxk3haqaswd2gmr7a2hgwjkwk2i1qc5ya7gg8svyavv"; depends=[survival]; };
+  uniReg = derive { name="uniReg"; version="1.0"; sha256="1xl19dqnxxibgiiny9ysll2z8j1i70qrszf4xbacq1a6z31vm840"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; };
+  unmarked = derive { name="unmarked"; version="0.10-4"; sha256="1mb9c6h51y476y50q4bh9v6wx6d91b2npf18a66gjs406nra3yck"; depends=[reshape lattice Rcpp plyr]; };
+  untb = derive { name="untb"; version="1.7-2"; sha256="1ha0xj94sz1r325qb4sb5hla9hw1gbqr76703vk792x9696skhji"; depends=[Brobdingnag partitions polynom]; };
+  upclass = derive { name="upclass"; version="1.0"; sha256="0ga49pcxib4lp0pq1ljj1fjbrg7jz4vpjp5hq0c1v1hw2p7a3giy"; depends=[mclust classifly gclus]; };
+  uplift = derive { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[RItools MASS coin tables penalized]; };
+  urca = derive { name="urca"; version="1.2-8"; sha256="0gyjb99m6w6h701vmsav16jpfl5276vlyaagizax8k20ns9ddl4b"; depends=[nlme]; };
+  UScancer = derive { name="UScancer"; version="0.1-2"; sha256="0p1kxw1phqq598ljk3njznc9kmgscc8gmwdrvx1scba9rr6n61kl"; depends=[rgdal]; };
+  UScensus2000blkgrp = derive { name="UScensus2000blkgrp"; version="0.03"; sha256="196hpqrc3rq0m6ra6qinlhz1yknplx08pfp57l6yalni26c8pia0"; depends=[maptools sp foreign]; };
+  UScensus2000cdp = derive { name="UScensus2000cdp"; version="0.03"; sha256="143hqnzdla3p31n422ddzaaa34wc6xnnhil4y53m4qydyg407700"; depends=[maptools sp foreign]; };
+  UScensus2000tract = derive { name="UScensus2000tract"; version="0.03"; sha256="11ppw75k8zghj7xphx5xyl3azsdsyd142avp0la2g941w6f8l2n1"; depends=[maptools sp foreign]; };
+  UScensus2010 = derive { name="UScensus2010"; version="0.11"; sha256="1q06spkh8f4ijvfg557rl3176ki4i8a1y39cyqm3v7mnzwckyj3l"; depends=[maptools sp foreign]; };
+  usdm = derive { name="usdm"; version="1.1-12"; sha256="0padc9ppfisnjg1nzw5csv2zki6dby7487lis8pixf1hhbinsnci"; depends=[raster]; };
+  useful = derive { name="useful"; version="1.1.8"; sha256="1lzl7rr9qxqa0ga6ml7qi7wi02fd4isgpfskvi3igy10iw1zv3hb"; depends=[ggplot2 plyr scales]; };
+  userfriendlyscience = derive { name="userfriendlyscience"; version="0.1-2"; sha256="1b2ypga0kzf8qsl160by1vfp8p6z2mczn3w1qgk042y83kiaiawx"; depends=[ggplot2 plyr psych pwr fBasics e1071 ltm MBESS foreign knitr xtable GGally lavaan]; };
+  UsingR = derive { name="UsingR"; version="2.0-1"; sha256="1z6kiprivam0apdw5qfxyixjwcqpjlap6adccn35cwilgz7ab55i"; depends=[MASS HistData Hmisc aplpack quantreg]; };
+  usl = derive { name="usl"; version="1.3.1"; sha256="1d5xq0iwjp9zdn7xc6vjh74gb0w7fym50qyfd0fn362q5g3jsyk0"; depends=[nlmrt]; };
+  ustyc = derive { name="ustyc"; version="1.0.0"; sha256="1267bng2dz3229cbbq47w22i2yq2ydpw26ngqa1nbi3ma6hwqsv4"; depends=[XML plyr]; };
+  utility = derive { name="utility"; version="1.2"; sha256="10dwmf4gcz0jbakwnvgm475sjjilqj1gf3zisil22pk0rcm51kgj"; depends=[]; };
+  uuid = derive { name="uuid"; version="0.1-1"; sha256="1b35h2n86233zb6dwkgxxlvnlld8kmv0j6j3m31xjbpmc3ppr7w3"; depends=[]; };
+  UWHAM = derive { name="UWHAM"; version="1.0"; sha256="1qaj8anaxqnx4nc6vvzda9hhhzqk9qp8q7bxm26qgia4hgascnrv"; depends=[trust]; };
+  vacem = derive { name="vacem"; version="0.1-1"; sha256="0lh32hj4g1hsa45v6pmfyj1hw0klk8gr1k451lvs4hzpkkcwkqbn"; depends=[foreach]; };
+  varbvs = derive { name="varbvs"; version="1.0"; sha256="0ywgb6ibijffjjzqqb5lvh1lk5qznwwiq7kbsyzkwcxbp8xkabjw"; depends=[]; };
+  varComp = derive { name="varComp"; version="0.1-317"; sha256="16nmhipi0nlh0igc3g9jbv1pqvigmgxy8f395xx6hbzyg87x2ha9"; depends=[quadprog Matrix MASS CompQuadForm RLRsim SPA3G mvtnorm nlme]; };
+  varcompci = derive { name="varcompci"; version="1.0.1"; sha256="11fxb63479cha4apakfd1rs89ngrpfhy0h1412wxyn4k8kbibkk4"; depends=[]; };
+  vardiag = derive { name="vardiag"; version="0.2-0"; sha256="0avj900zx4nr67dk08n0n6arxx2cb2ymm0kd5xxnzsmyrmwm40mm"; depends=[]; };
+  vardpoor = derive { name="vardpoor"; version="0.2.0.9.2"; sha256="0snc0fcmkppca4rcgdyac0mzg235gm7zira5691mnmamrn4f7ikm"; depends=[data_table laeken reshape2 foreach lpSolve plyr gdata]; };
+  VarEff = derive { name="VarEff"; version="1.0"; sha256="0zp024z5xl43z2z67fq5ryfiamfvdbbbv1iaaiyw3shjbg2bp8dp"; depends=[mcmc]; };
+  VaRES = derive { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; };
+  VAR_etp = derive { name="VAR.etp"; version="0.4"; sha256="0pzxmm41l6sci2jcsnlljymb2vb9b6n9lmj3kjs177cfsd6lp9z1"; depends=[]; };
+  VariABEL = derive { name="VariABEL"; version="0.9-2"; sha256="0vlr6zxl75i49p35jxrc5fwfrb55n91hqdan2ikcix3r2k4qs5k0"; depends=[]; };
+  VarianceGamma = derive { name="VarianceGamma"; version="0.3-1"; sha256="01jv5qrfw8y8yyd3jy3058bpnfyzz7d0m4rx0iibs79gv2rvq5sn"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
+  vars = derive { name="vars"; version="1.5-2"; sha256="1q45z5b07ww4nafrvjl48z0w1zpck3cd8fssgwgh4pw84id3dyjh"; depends=[MASS strucchange urca lmtest sandwich]; };
+  varSelectIP = derive { name="varSelectIP"; version="0.2-1"; sha256="180lzsg48hnlcmhpk0a5yzmy2syw8yr7f5npnyspx3897hjag1vp"; depends=[MASS mvtnorm]; };
+  varSelRF = derive { name="varSelRF"; version="0.7-3"; sha256="11am1hdcaxh58mqa1v16siip6adg61pjxhdyl8mlgnnmffslnpq9"; depends=[randomForest]; };
+  VarSwapPrice = derive { name="VarSwapPrice"; version="1.0"; sha256="12q2wp2cqi9q47mzbb7sc250zkjqkhs9z0h93ik0h63dv339abgj"; depends=[]; };
+  vartors = derive { name="vartors"; version="0.2.6"; sha256="04dynqs903clllk9nyynh3dr7msxn5rr5jmw6ql86ppd5w3da0rl"; depends=[]; };
+  vbdm = derive { name="vbdm"; version="0.0.4"; sha256="1rbff0whhbfcf6q5wpr3ws1n4n2kcr79yifcni12vxg69a3v6dd3"; depends=[]; };
+  VBLPCM = derive { name="VBLPCM"; version="2.4.3"; sha256="0aibjkqlc8l3f17m52ifb25s639gkydvgdj2gkijk5mk0g681qdj"; depends=[ergm sna mclust]; };
+  VBmix = derive { name="VBmix"; version="0.2.17"; sha256="0fhx2vk5ffq147kfgsqjbqwgv64m7z9mbz4gchj90440ih7kyxa5"; depends=[lattice pixmap mnormt]; };
+  vbsr = derive { name="vbsr"; version="0.0.5"; sha256="1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b"; depends=[]; };
+  vcd = derive { name="vcd"; version="1.3-2"; sha256="1ww69sgg178aqcs90mm599nlr6hnxn54d2wzyhddgx1z3qxhzwjd"; depends=[MASS colorspace]; };
+  vcdExtra = derive { name="vcdExtra"; version="0.6-1"; sha256="11f7my59v4wkj1hbpx4vg1bim93i3ajix24iic5jsrk0gi0431x4"; depends=[vcd gnm MASS]; };
+  vcf2geno = derive { name="vcf2geno"; version="2.3"; sha256="1ib9g3162d4mlwrk77fhzsgkcbrbvygav0ycl8527nxbdiyb77f1"; depends=[]; };
+  VDA = derive { name="VDA"; version="1.3"; sha256="063mpwbyykx4f46wzfvrgnlq73ar7i06gxr4mjzbhqcfrsybi72b"; depends=[rgl]; };
+  vdg = derive { name="vdg"; version="1.0"; sha256="1agikw9w9rnn3b2q8lp9y3bxjrf8vx24j624wf19bvx5s3ghqc36"; depends=[ggplot2 quantreg proxy]; };
+  Vdgraph = derive { name="Vdgraph"; version="2.1-3"; sha256="1vyx6q7h2xj9qipyh7pdnd0mh6cs379irxqaylnn2m9rcrmj191q"; depends=[]; };
+  VdgRsm = derive { name="VdgRsm"; version="1.01"; sha256="01hywwjmyvl9ls6gn2vl5z5cv2zlnxl2rfr3k1pachz3gq0yhdc1"; depends=[DoE_wrapper AlgDesign permute]; };
+  vec2dtransf = derive { name="vec2dtransf"; version="1.0"; sha256="0hi7x38f3lyxqgwzjz86ld4snva4ci5rinbqhap04d5hcr2sdpzi"; depends=[sp]; };
+  vecsets = derive { name="vecsets"; version="1.0"; sha256="0jj02fri400pzdqvydcdm3z70wzcwi9zgh45g3rwz3rh5lg15778"; depends=[]; };
+  VecStatGraphs2D = derive { name="VecStatGraphs2D"; version="1.7"; sha256="08f9ixpiq8s5h8h608wrs9l16xk3c1xcrvwgvm5wqm6xfkj9gpfd"; depends=[MASS]; };
+  VecStatGraphs3D = derive { name="VecStatGraphs3D"; version="1.5"; sha256="04x2xqnbgkbi626y9ihs3nlxzf84jz44zlapsdlrxqlswiw4n0mw"; depends=[rgl misc3d MASS]; };
+  vectoptim = derive { name="vectoptim"; version="0.2"; sha256="1n19sipx5r0qy08jmrbsrf0kgwgl31np88wc1zyc2bkx8h1zkmf2"; depends=[foreach doParallel]; };
+  vegan = derive { name="vegan"; version="2.0-10"; sha256="06anm8q82qziqhc3x8cll2xshhjiqkdbwnq1cyn98mshmxlg8i4z"; depends=[permute lattice]; };
+  vegclust = derive { name="vegclust"; version="1.6.3"; sha256="0l6j4sgzfqvcypx2dszpnsd1sivk33pixlgf9abqifp45skpkwfg"; depends=[vegan sp]; };
+  vegdata = derive { name="vegdata"; version="0.6-6"; sha256="0fwilqdzfhmdp8v0i6swmd6600g7mf5pdmz7r5076k0qzapalb3r"; depends=[foreign XML]; };
+  vegetarian = derive { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; };
+  VennDiagram = derive { name="VennDiagram"; version="1.6.7"; sha256="0n291hg4qfjx9z5bhna6blzp7zwi6il2s3vg6600nd2rd7nfx98h"; depends=[]; };
+  venneuler = derive { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
+  verification = derive { name="verification"; version="1.40"; sha256="19nhpv41s024cqd3qzx0d2sc9234x73s6k8nfj6wf5jvbc5z0xv4"; depends=[fields boot CircStats MASS dtw]; };
+  VGAM = derive { name="VGAM"; version="0.9-4"; sha256="1mpi73vxz6dzmr1g7d1mnybb18zpn7klaqb7x3cq8j2c37b9ywq4"; depends=[]; };
+  VGAMdata = derive { name="VGAMdata"; version="0.9-4"; sha256="0swmq2pi987pln24pyxrrqr8smqk2290j06wfj1ldpa5g4yjzqmr"; depends=[]; };
+  VHDClassification = derive { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; };
+  VideoComparison = derive { name="VideoComparison"; version="0.11"; sha256="04jc9br4ddck2sh9bhy02jx34cqxvh904lr46sid6dnmaqfn80l7"; depends=[RJSONIO RCurl zoo pracma Rcpp]; };
+  VIF = derive { name="VIF"; version="1.0"; sha256="0yvg6ikrcs7mhg0pavhcywrfysv7ylvnhxpc5sam86dbp69flx9x"; depends=[]; };
+  VIM = derive { name="VIM"; version="4.0.0"; sha256="1w62x5vvbpn3h1zwh0jvvy3lpwai1d708jq18zq99bh1qn8n6bfg"; depends=[colorspace car robustbase sp vcd MASS nnet e1071 Rcpp glmnet]; };
+  VIMGUI = derive { name="VIMGUI"; version="0.9.0"; sha256="195lakyik597sjkq6c5v3881p35111gzmj2r5f5nr53vi6bn4pzm"; depends=[tkrplot VIM survey gWidgetsRGtk2 foreign RGtk2 Cairo Hmisc]; };
+  VineCopula = derive { name="VineCopula"; version="1.3"; sha256="1vxm7bk7p452p4kbm5q3ricxcd4f74zzlibxx13wj0cbza5p49nl"; depends=[MASS mvtnorm igraph copula]; };
+  vines = derive { name="vines"; version="1.1.0"; sha256="1cf06i2vci0hwszdlpcig90klxgd7l2k79dln71lc9y0xrzxz9lf"; depends=[copula ADGofTest cubature TSP]; };
+  violinmplot = derive { name="violinmplot"; version="0.2.1"; sha256="1j3hb03y988xa704kp25v1z1pmpxw5k1502zfqjaf8cy4lr3kzsc"; depends=[lattice]; };
+  vioplot = derive { name="vioplot"; version="0.2"; sha256="16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"; depends=[sm]; };
+  viopoints = derive { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; };
+  visova = derive { name="visova"; version="1.0"; sha256="1w547nbhd69k6y5k0wv51crykwnlzhms2v6xjwp62n8idjlg81ai"; depends=[RJSONIO]; };
+  visreg = derive { name="visreg"; version="2.0-5"; sha256="0pnq8irvsmcb0v77s0vhfldv7myg202fm3wdgssnpsihbz747gcc"; depends=[lattice]; };
+  visualFields = derive { name="visualFields"; version="0.4"; sha256="07pkaccnk8c9zzizpcdw82vcbqdng2bi9aczpa68i7fz24bvcfan"; depends=[gridBase flip matrixStats Hmisc]; };
+  visualizationTools = derive { name="visualizationTools"; version="0.2.05"; sha256="08ry8bz2278ncjx0sdrg19mv448i0n497l5abpv9f8xhsfsqyrpf"; depends=[]; };
+  visualize = derive { name="visualize"; version="4.2"; sha256="1jgk7j0f3p72wbqnmplrgpy7hlh7k2cmvx83gr2zfnbhygdi22mk"; depends=[]; };
+  VisuClust = derive { name="VisuClust"; version="1.1"; sha256="02jb8kg7bxakcn76zyl68z5ab2c9s2cdz3prrgzh95rf9k893sbc"; depends=[aplpack]; };
+  vitality = derive { name="vitality"; version="1.0"; sha256="0di72khz1mwqlirx78a86lwqhjmbbgmxm6vmlwq546dwvs6q071g"; depends=[IMIS]; };
+  VizOR = derive { name="VizOR"; version="0.7-9"; sha256="1xw06y86nsrwpri6asrwh8kccjsqzzidgbpld6d6l7vrglp8m6sr"; depends=[lattice rms]; };
+  VLF = derive { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; };
+  VLMC = derive { name="VLMC"; version="1.3-14"; sha256="073v7wvcfksc224994vp4xswpl5yl37mgrr2gl95566ncbgdm29q"; depends=[MASS]; };
+  VNM = derive { name="VNM"; version="1.0"; sha256="0wng71bxgi1z70cjrkn8dixg86bxhvbhimlrnqjxbwds6z3ds4pz"; depends=[]; };
+  Voss = derive { name="Voss"; version="0.1-4"; sha256="056izh1j26vqjhjh01fr7nwiz1l6vwr5z4fll87w99nc5wc4a467"; depends=[fields]; };
+  vowels = derive { name="vowels"; version="1.2"; sha256="07w2jv5sswwwzrsc9hdnjh5kj5lqqmpmjn5ihrdj0xpmnhcm4vhp"; depends=[]; };
+  vows = derive { name="vows"; version="0.2-1"; sha256="0aqk09y45l4p814x83l07smy1m2aypsf0c341j56di5bsc55vl2m"; depends=[fda gamm4 RLRsim Rniftilib rpanel shape stringr tkrplot]; };
+  VoxR = derive { name="VoxR"; version="0.5.1"; sha256="07lsp6lrkq0gv55m84dl9w7gz5246d9avypqnkz96n3rbbgd0w5z"; depends=[]; };
+  VPdtw = derive { name="VPdtw"; version="2.1-10"; sha256="1sipiqbk766czd1jxam3bc2hfq7wsn72x51j5ssn2s2q0gvpl7m1"; depends=[]; };
+  vrmlgen = derive { name="vrmlgen"; version="1.4.9"; sha256="0lifhhf41yml4k83wpkssl14jgn8jaw1lcknwbci1sd8s1c4478l"; depends=[]; };
+  vrtest = derive { name="vrtest"; version="0.97"; sha256="00hdgb0r18nwv3qay97b09kqqw9xqsbya06rrjyddqh9r6ggx1y0"; depends=[]; };
+  vscc = derive { name="vscc"; version="0.2"; sha256="1p14v8vd8kckd44g4dvzh51gdkd8jvsc4bkd2i4csx8vjiwrni5w"; depends=[teigen mclust]; };
+  VSURF = derive { name="VSURF"; version="0.8.2"; sha256="1d9irh8s49i8i9q8psmfl41jnr95wvm3libxin0ir8r297rq82z3"; depends=[randomForest rpart doParallel]; };
+  vwr = derive { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[stringdist lattice latticeExtra]; };
+  W2CWM2C = derive { name="W2CWM2C"; version="1.0"; sha256="14q1y4vpmrx8qz5nav8bbjkxqsqk646zcwr8h7yzi7cfa85b4cxz"; depends=[waveslim wavemulcor]; };
+  W3CMarkupValidator = derive { name="W3CMarkupValidator"; version="0.1-0"; sha256="1p2i45clmkygf8yxg3kmb4qbad2dnmbbldcxm8i6hhsc87mfb18g"; depends=[XML RCurl]; };
+  waffect = derive { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp]; };
+  waldwolf = derive { name="waldwolf"; version="0.1"; sha256="0gig3dqs8f44kdzr3abmm4wcnby2ifgqs72ck5wvny6gkwyfdvys"; depends=[]; };
+  walkscoreAPI = derive { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; };
+  WARN = derive { name="WARN"; version="1.0"; sha256="14gqcxvfh4z77z4qzk12mg0yhwg8gc06y7cn54az46vh4vmhg32y"; depends=[MASS]; };
+  wasim = derive { name="wasim"; version="1.1.2"; sha256="1zydzw7cihhdwv0474fnc4lgaq5fwrv8jinz79vkbidbgcy7i2fd"; depends=[MASS qualV tiger fast]; };
+  waterData = derive { name="waterData"; version="1.0.3"; sha256="1vwawyn1hzfd9mknpfnysf2whskyg88hl70sgny0zbd2fy1287q5"; depends=[lattice latticeExtra XML]; };
+  waterfall = derive { name="waterfall"; version="0.9.9.20121030"; sha256="140s5639ayd9qgn4i1s1qk541vi34ndzdcqpaps7q53g42n8akfw"; depends=[lattice]; };
+  Wats = derive { name="Wats"; version="0.2-16"; sha256="1wbyyllmjsmh8wb8npzizlfn3hsvfpqp9p3b5wx3zpsavqw839wy"; depends=[colorspace ggplot2 lubridate plyr RColorBrewer testit zoo]; };
+  waveband = derive { name="waveband"; version="4.6"; sha256="1y2qi2zb8l2ap6f8ihnpq2yavic464bl5mp5yv1dscbk0nmfn966"; depends=[wavethresh]; };
+  WaveCD = derive { name="WaveCD"; version="1.0"; sha256="0gracn8lknw96nnir1m8fg5va3f45vvbiy69rxx8vibnfdg1q3l9"; depends=[waveslim lattice]; };
+  waved = derive { name="waved"; version="1.1-2"; sha256="17pr9qhz0dbbcr78vwm964d9zd7yrfrqvadr1lwf756bsrscmlg3"; depends=[]; };
+  wavelets = derive { name="wavelets"; version="0.3-0"; sha256="141s7z7wxl5plxp7xp7wczswlcvb18a4h3n881l9qc4ny9p7gfpa"; depends=[]; };
+  wavemulcor = derive { name="wavemulcor"; version="1.2"; sha256="1039y5rakjkx2mvfmykg2z4jpkpbcj7rclyg7ab19wnxmdm8ls81"; depends=[waveslim]; };
+  waveslim = derive { name="waveslim"; version="1.7.3"; sha256="0lkq8lcg8cd4iw95jb0r5iwl2habngzzzwcxfic05gbpj5gfmapk"; depends=[]; };
+  wavethresh = derive { name="wavethresh"; version="4.6.6"; sha256="1ykhfw1bdibvq2b3rrgqszvwqmzkd3fgxqg7p36ms1cxph68g2r9"; depends=[MASS]; };
+  wbs = derive { name="wbs"; version="1.2"; sha256="1mnbx0ik4bakf818nbpgi4zgb8y4ljvz5yq602h3crsc4b32kq1k"; depends=[]; };
+  wccsom = derive { name="wccsom"; version="1.2.8"; sha256="0dnqcmrrnzqys4mr1md7f0k0h434x25mdc576j00s3pmjjjh873a"; depends=[class MASS]; };
+  WCQ = derive { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
+  WDI = derive { name="WDI"; version="2.4"; sha256="0ih6d9znq6b2prb4nvq5ypyjv1kpi1vylm3zvmkdjvx95z1qsinf"; depends=[RJSONIO]; };
+  weatherData = derive { name="weatherData"; version="0.4.1"; sha256="19ynb9w52ay15awaf4bqm9lj2w6pk70lyaipn46jrspwxqsvfhlc"; depends=[plyr]; };
+  weathermetrics = derive { name="weathermetrics"; version="1.0"; sha256="1ay4gcxpblqnn6zqkdnr0mgnm9r42wlmpb6k3smhbz4zca4kjfzy"; depends=[]; };
+  WebDevelopR = derive { name="WebDevelopR"; version="1.0"; sha256="0q4plv5nh6xp35j53xl207d7x0l8041ipi7k7rjrspv9vx7ncgvl"; depends=[]; };
+  webvis = derive { name="webvis"; version="0.0.2"; sha256="1cdn9jrpg2sbx4dsj0xf7m0daqr7fqiw3xy1lg0i0qn9cpvi348f"; depends=[]; };
+  WeightedCluster = derive { name="WeightedCluster"; version="1.2"; sha256="1d0df284fzfa34fi7b3d7f4zzm9ppyah46rj865446l5pjvl9np3"; depends=[TraMineR cluster RColorBrewer]; };
+  weightedKmeans = derive { name="weightedKmeans"; version="1.2.0"; sha256="140cvl1jwwqyvcsf7pbsxh9k4bynd7c1q159pp7ia1f1sgimxafb"; depends=[lattice latticeExtra clv]; };
+  WeightedPortTest = derive { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; };
+  weightedScores = derive { name="weightedScores"; version="0.9"; sha256="0rmfikdpc0m1rsflq2cdhl3bwk8w1wmwyhwc7di8dqf5vlqyh6ws"; depends=[mvtnorm rootSolve]; };
+  weights = derive { name="weights"; version="0.80"; sha256="147fgs99sg1agq081ikj2fhb4b2vzsppdg1h1w036bb92vsjb0g5"; depends=[Hmisc gdata]; };
+  weirs = derive { name="weirs"; version="0.23"; sha256="1kp49r5ba7ii1mr1nszbssx3fn0c2hcfpawm3a1kbh4rmhvy3frs"; depends=[]; };
+  wesanderson = derive { name="wesanderson"; version="0.3"; sha256="169phanzwz3mgzqncwxc5kdshhmj922nzlbq8gz6grvh51bc7aaa"; depends=[]; };
+  wfe = derive { name="wfe"; version="1.3"; sha256="16b39i60x10kw6yz44ff19h638s9lsgnz8azc76zl9b8s64jliya"; depends=[arm Matrix MASS]; };
+  wgaim = derive { name="wgaim"; version="1.4-0"; sha256="0rm9p7c7kxzzpakcm6wc7viisn2y6rwayc0r0hgpiv8fkv3n1sai"; depends=[qtl lattice]; };
+  WGCNA = derive { name="WGCNA"; version="1.41-1"; sha256="0ljqlxrkfxqb7fjdapfx9wrr7115z9rh7lms07vc94z3k1y2qdlw"; depends=[dynamicTreeCut flashClust matrixStats Hmisc foreach doParallel reshape]; };
+  wgsea = derive { name="wgsea"; version="1.8"; sha256="1114wik011sm2n12bwm2bhqvdxagbhbscif45k4pgxdkahy2abpi"; depends=[]; };
+  WhatIf = derive { name="WhatIf"; version="1.5-6"; sha256="02lqvirnf24jn8b2s08z5fjmpilp2z08lww1s793n3pn783adbky"; depends=[lpSolve]; };
+  whisker = derive { name="whisker"; version="0.3-2"; sha256="0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"; depends=[]; };
+  WhopGenome = derive { name="WhopGenome"; version="0.8.2"; sha256="145sn2ikjv1xykx5xv0djj4vainqj0v9c3lqnd1r7bygjl4n4v7c"; depends=[]; };
+  widals = derive { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; };
+  WideLM = derive { name="WideLM"; version="0.1-1"; sha256="0spxl960pgzh0cn1gkw2ayixpi982rr85qajcdqahmn9msk877h8"; depends=[Rcpp]; };
+  widenet = derive { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; };
+  wikibooks = derive { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
+  WikipediR = derive { name="WikipediR"; version="1.0.0"; sha256="01w9km1g0cynsgsq3bv6d8ggizym211c1ksyz7w3nkq25288fcds"; depends=[httr jsonlite]; };
+  WilcoxCV = derive { name="WilcoxCV"; version="1.0-2"; sha256="1kbb7ikgnlxybmvqrbn4cd8xnqrkwipk4xd6yja1xsi39a109xzl"; depends=[]; };
+  wild1 = derive { name="wild1"; version="1.09"; sha256="1ydjz3f4z6fdw4wynyd64bwwm68vh0xqxvg6zw8z7pdg8y2h89zl"; depends=[chron survival sp maptools spatstat ICSNP ks]; };
+  witness = derive { name="witness"; version="1.2"; sha256="1pccn7czm1q0w31zpmky5arkcbnfl94gh1nnkf8kmcccdrr3lxph"; depends=[]; };
+  wle = derive { name="wle"; version="0.9-9"; sha256="032zqfqg6ghg56zgr005g8q94zskmbzv1p08lxv227ikkbmnwn53"; depends=[circular]; };
+  WMCapacity = derive { name="WMCapacity"; version="0.9.6.6"; sha256="19x6l06srh59q1cnixisa5fgm5hkpq35h9zfmdnfaj3xl8pxhzyn"; depends=[gtools gWidgets gWidgetsRGtk2 coda cairoDevice RGtk2 XML]; };
+  WMDB = derive { name="WMDB"; version="1.0"; sha256="10wdjy3g2qg975yf1dhy09w9b8rs3w6iszhbzqx9igfqvi8isrr1"; depends=[]; };
+  wmtsa = derive { name="wmtsa"; version="2.0-0"; sha256="0y2bv166xwwpb1wf6897qybyf84f34qjsmygdbv90r637c050yk5"; depends=[splus2R ifultools MASS]; };
+  wnominate = derive { name="wnominate"; version="0.98"; sha256="1c3g89f7xl781m8lqy730vlb6p5dxq16vgll80jmsx8p7fsy6pb4"; depends=[pscl]; };
+  wombsoft = derive { name="wombsoft"; version="2.0"; sha256="11ri29vj1yg2lpr6vf1i45w20hqh8dswj04ylbq0vy27cwmxqljd"; depends=[]; };
+  wordcloud = derive { name="wordcloud"; version="2.5"; sha256="1ajqdkm8h1wid3d41zd8v7xzf2swid998w31zrghd45a5lcp7qcm"; depends=[RColorBrewer slam Rcpp]; };
+  wordmatch = derive { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
+  wordnet = derive { name="wordnet"; version="0.1-9"; sha256="1cwrdfdv1ma429na9y2yci9vrms8vfqqwj9qkcq8hzkm02yzkdsf"; depends=[rJava]; };
+  WordPools = derive { name="WordPools"; version="1.0-2"; sha256="1izs4cymf2xy1lax85rvsgsgi05ygf0ibi9gzxc96sbgvy4m78kf"; depends=[]; };
+  wpp2008 = derive { name="wpp2008"; version="1.0-1"; sha256="0gd3vjw1fpzhp3qlf1jpc24f76i0pxsjs5pb1v3k2si6df7q4msd"; depends=[]; };
+  wpp2010 = derive { name="wpp2010"; version="1.2-0"; sha256="1h87r1cn4lnx80dprvawsyzfkriscqjgr27gvv7n19wvsx8qd57k"; depends=[]; };
+  wpp2012 = derive { name="wpp2012"; version="2.2-0"; sha256="1wsdx1vywydbwd53fai4sapisln10qxi6jj9yvyy92gg14hcx3ff"; depends=[]; };
+  wppExplorer = derive { name="wppExplorer"; version="1.3-0"; sha256="0bki4s6ihl752d7y4ckvb056jlvcpqmp8fc7a7rvdbxw0d66sfh4"; depends=[shiny plyr reshape2 googleVis wpp2012 Hmisc ggplot2]; };
+  wq = derive { name="wq"; version="0.4-1"; sha256="0a46islpzpbkx6c7mbn6q787mh9mb6sy4k46lz8s63fh2h7p0szk"; depends=[zoo]; };
+  WrightMap = derive { name="WrightMap"; version="1.1"; sha256="0dmximp549gr37ps56vz8mnlii7753dc5v0wl3s78cymjmnmyr0z"; depends=[]; };
+  write_snns = derive { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
+  WriteXLS = derive { name="WriteXLS"; version="3.5.0"; sha256="0b5md3jy18wrigadqjzfnrpvm35nn0aa62zsq5d72k5fr7lbh3gr"; depends=[]; };
+  wrspathrow = derive { name="wrspathrow"; version="0.1"; sha256="1xkh12aal85qhk8d0pdj2qbi6pp4jnr6zbxkhdw2zwav57ly3f4i"; depends=[wrspathrowData sp raster rgeos rgdal]; };
+  wrspathrowData = derive { name="wrspathrowData"; version="1.0"; sha256="0a1aggcll0fmkwfg4h7rs4j5h3v1bh95dkbriwrb0bx0cikg63x3"; depends=[]; };
+  wskm = derive { name="wskm"; version="1.4.11"; sha256="1pmsir4msy95x080k463f34ms4vm8nayr21g2cd50mmzffbm5mwl"; depends=[lattice latticeExtra clv]; };
+  wsrf = derive { name="wsrf"; version="1.4.0"; sha256="1b9ifswv0civaavmpzi2r3fdbccxg4akzvklqri0hj49kr4cw5pa"; depends=[Rcpp]; };
+  wSVM = derive { name="wSVM"; version="0.1-7"; sha256="0c7rblzgagwfb8mmddkc0nd0f9rv6kapw8znpwapv3fv0j2qzq7h"; depends=[MASS quadprog]; };
+  wtcrsk = derive { name="wtcrsk"; version="1.3"; sha256="1viddyms2d9q2hb9z788fcs8vp7gp6vzlsszcnyxgganfjsd85zy"; depends=[]; };
+  WWGbook = derive { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
+  x12 = derive { name="x12"; version="1.5.0"; sha256="0z5hsq0rv71jl9102fqci2wyklmqxly0nc4h7ky845dpvqfrg9yv"; depends=[stringr]; };
+  x12GUI = derive { name="x12GUI"; version="0.12.0"; sha256="0vks6m0jck6sl17z9qcw1p1wv5iqdblnmssmfrfjqv626sb9jsn6"; depends=[x12 Hmisc RGtk2 cairoDevice lattice stringr]; };
+  XBRL = derive { name="XBRL"; version="0.99.12"; sha256="0n51hmhzgx2j1xff5v57p3n30sab580hwdjsqr0vaghqaa6xwpwg"; depends=[Rcpp]; };
+  xergm = derive { name="xergm"; version="1.1"; sha256="132g3gyzfasiv58dxni893ikj5dy1pzbff2rnjyqijd10zngw9rg"; depends=[ergm statnet statnet_common network sna texreg Matrix boot coda ROCR igraph vegan lme4]; };
+  xgobi = derive { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; };
+  xgrid = derive { name="xgrid"; version="1.0-1"; sha256="1xg3frzybck2lmqsxnw448rw4si55k3ygwdkn88d1zfc6llswz9p"; depends=[]; };
+  xhmmScripts = derive { name="xhmmScripts"; version="1.1"; sha256="1qryyb34jx9c64l8bnwp40b08y81agdj5w0icj8dk052x50ip1hl"; depends=[gplots plotrix]; };
+  XiMpLe = derive { name="XiMpLe"; version="0.03-21"; sha256="1j387jzxh0z9dmhvc0kpjjjzf781sgrw57nwzdqwx6bn09bw509d"; depends=[]; };
+  xkcd = derive { name="xkcd"; version="0.0.3"; sha256="086kdy4dp7312pxv7zpx3qf8rk91lv0snrhipzcmcn1m4q77q9z2"; depends=[Hmisc ggplot2]; };
+  XLConnect = derive { name="XLConnect"; version="0.2-8"; sha256="026ilqji5kck0azxi9zxry5032kakinjgqsmzxd8z0cwhgmfgq1k"; depends=[XLConnectJars rJava]; };
+  XLConnectJars = derive { name="XLConnectJars"; version="0.2-8"; sha256="1ak0wi07hk8bwi418jy43x5pq57a709xqg6njkc4f394jf8rr60s"; depends=[rJava]; };
+  xlsx = derive { name="xlsx"; version="0.5.7"; sha256="0qxkdpf1dvi0x7fy65abjx2j60rdx7fv5yi8l2wdm0f2631pnwin"; depends=[rJava xlsxjars]; };
+  xlsxjars = derive { name="xlsxjars"; version="0.6.0"; sha256="0mjfvd433iz742gn3avaq48172yi5hhd0ajc3v22y1j4k9w82pr7"; depends=[rJava]; };
+  Xmisc = derive { name="Xmisc"; version="0.1.0"; sha256="1iyv9gp7fw3r7s3v9srd799nhwgpn5851v3n2xfwpcvj9kczrd5r"; depends=[]; };
+  XML = derive { name="XML"; version="3.98-1.1"; sha256="0n9i6746211wihglbpsgalj2cyvggn4rv6a4fbavqwnjw3h1hwwl"; depends=[]; };
+  XML2R = derive { name="XML2R"; version="0.0.6"; sha256="0azfh950r2b7ck3n1vzk3mdll7zy844nx3mbk676jxnj8gg7nxk5"; depends=[XML RCurl plyr]; };
+  XNomial = derive { name="XNomial"; version="1.0.1"; sha256="134bwglqhgah7v3w6ir65dch2dwp5h4vldw521ba74l5v9b2j2h4"; depends=[]; };
+  xoi = derive { name="xoi"; version="0.61-1"; sha256="0ypy0rb0f0bns41vjzyln04k3hypgr3wysqbdi0b0r14ip5rb47k"; depends=[qtl]; };
+  xpose4 = derive { name="xpose4"; version="4.5.0"; sha256="136a1lq9raba731rxy55dy9mw8rs1rha0940b85ljr70mvpmzmqd"; depends=[lattice gam Hmisc survival]; };
+  xtable = derive { name="xtable"; version="1.7-3"; sha256="1rsfq0acf1pvpci3jq9fbhsv6ws4d46yap8m2xjk1cr463m9gdcc"; depends=[]; };
+  xtermStyle = derive { name="xtermStyle"; version="2.2-4"; sha256="0m1lwr7smym7aczcqqgqj5bx46j38ymmljilxl54bby188qhfcyz"; depends=[]; };
+  xts = derive { name="xts"; version="0.9-7"; sha256="163hzcnxrdb4lbsnwwv7qa00h4qlg4jm289acgvbg4jbiywpq7zi"; depends=[zoo]; };
+  yacca = derive { name="yacca"; version="1.1"; sha256="0wg2wgvh1najmccmgzyigj11mshrdb8w4r2pqq360dracpn0ak6x"; depends=[]; };
+  yaImpute = derive { name="yaImpute"; version="1.0-22"; sha256="1yg26f1q1i6vl1jvdff126025rimkvpj8dhr12d8ld8ryl1qghr3"; depends=[]; };
+  YaleToolkit = derive { name="YaleToolkit"; version="4.1"; sha256="1r1vf0gldvcfqa7ln87q5d4sc75d8b99v6zaynvbq02rggzzynmy"; depends=[lattice vcd MASS colorspace barcode gpairs]; };
+  yaml = derive { name="yaml"; version="2.1.13"; sha256="18kz5mfn7qpif5pn91w4vbrc5bkycsj85vwm5wxwzjlb02i9mxi6"; depends=[]; };
+  ycinterextra = derive { name="ycinterextra"; version="0.1"; sha256="0hr37izbbmxqkjy6a7q8vcn0vs8an1ck9y8xfjpl5z0rygi8xc1v"; depends=[mcGlobaloptim]; };
+  yhat = derive { name="yhat"; version="2.0-0"; sha256="0vdhkknmms7zy7iha894jn1hr1h5w67pr53r0q67m7p404w21iza"; depends=[yacca miscTools plotrix boot]; };
+  yhatr = derive { name="yhatr"; version="0.12.1"; sha256="1rps8y7i5fg0xrkjigjx0xa5cwj5b4xf9186dv8valzhbqkvvba1"; depends=[httr RCurl rjson plyr jsonlite stringr]; };
+  YieldCurve = derive { name="YieldCurve"; version="4.1"; sha256="0w47j8v2lvarrclnixwzaq98nv1xh2m48q5xvnmk7j9nsv2l3p68"; depends=[xts]; };
+  ykmeans = derive { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[plyr foreach]; };
+  YourCast = derive { name="YourCast"; version="1.6.1"; sha256="03aq01amg4cxnxcxnsd1hxkx63w323f8ldkibl1f826gd7lbcqf1"; depends=[ggplot2 gridExtra lattice foreign reshape2]; };
+  YplantQMC = derive { name="YplantQMC"; version="0.5"; sha256="0x3ndpamj1ayy1svh9q8pwmfnar9zyw5i6h1k1hqwc92h0k6jsmz"; depends=[rgl geometry LeafAngle devtools]; };
+  YPmodel = derive { name="YPmodel"; version="1.1"; sha256="036f5y8qrcxglblgnaa15xzlz9pxbhbysrbr2gl66h9dvcd6kavr"; depends=[]; };
+  YuGene = derive { name="YuGene"; version="1.1.2"; sha256="0sy0bh49l0fajh1z88mpb4f0k3hsf3kd1vxv731qhpxcrc3pz09b"; depends=[mixOmics]; };
+  yuima = derive { name="yuima"; version="1.0.24"; sha256="1lr43man9cv8xknwbmaqkz54p3g5znwqyvxjwd75hyj82fa63j60"; depends=[zoo expm]; };
+  zCompositions = derive { name="zCompositions"; version="1.0.1"; sha256="1kjg03cgpi6xjqg0hnjqragyn7yy56pzf2wfwpkrxb5vy92kyjpq"; depends=[MASS NADA truncnorm]; };
+  ZeBook = derive { name="ZeBook"; version="0.5"; sha256="1djwda6hzx6kpf4dbmw0fkfq39fqh80aa3q9c6p41qxzcpim27dw"; depends=[triangle deSolve]; };
+  Zelig = derive { name="Zelig"; version="4.2-1"; sha256="1hhr9jx25fdnkqwyj2bkgrvqlah4z2drphmb5mdn1an2p2g23v9z"; depends=[boot MASS sandwich]; };
+  ZeligChoice = derive { name="ZeligChoice"; version="0.8-1"; sha256="1ql9yq83ipf0vpv63fpckylwq4jrcbfjgjm77f5ndkd83gqjzrmg"; depends=[Zelig VGAM]; };
+  ZeligGAM = derive { name="ZeligGAM"; version="0.7-1"; sha256="1643ycx51mnlxwiarfkrwm8gr8clx00xi2llcaqsd3wsrr4z5j97"; depends=[Zelig mgcv]; };
+  ZeligMultilevel = derive { name="ZeligMultilevel"; version="0.7-1"; sha256="00zlambykds4z1c5kx3rpla1kllyp96cxwvbc5lalwdb9i48pp3s"; depends=[Zelig lme4]; };
+  zendeskR = derive { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; };
+  zic = derive { name="zic"; version="0.8.1"; sha256="05mn894qdx6k7158dbsjy2b49n0gz5xnmlixr2dhkxc12ydj6zs5"; depends=[Rcpp RcppArmadillo coda]; };
+  ZIM = derive { name="ZIM"; version="1.0.1"; sha256="1y3vlxw4ybl2s269r3sbi156y4ffg83kfs152fsxc8q4caygc379"; depends=[MASS]; };
+  zipcode = derive { name="zipcode"; version="1.0"; sha256="1lvlf1h5fv412idpdssjfh4fki933dm5nhr41ppl1mf45b9j7azn"; depends=[]; };
+  zipfR = derive { name="zipfR"; version="0.6-6"; sha256="1y3nqfjg5m89mdvcmqwjmwlc8p3hpcqnwv4ji1a7ggg4n63lwl3j"; depends=[]; };
+  zoeppritz = derive { name="zoeppritz"; version="1.0-4"; sha256="0mjg55jc5b8h2jj6cy8b34a4q7jhhx73xns0v2dpfkq4kmilsv5p"; depends=[]; };
+  zoib = derive { name="zoib"; version="1.0"; sha256="0mxd9j5sbwyv3bhhrly2ikbfqgk3cgkl6jzai9q6lq3lbg55mh9a"; depends=[rjags coda matrixcalc Formula]; };
+  zoo = derive { name="zoo"; version="1.7-11"; sha256="0fp726rp9mqsfmm391bmckk76lqsvzwd39ffvb355wf2spl8nzvf"; depends=[lattice]; };
+  zooimage = derive { name="zooimage"; version="3.0-5"; sha256="1r3slmyw0dyqfa40dr5xga814z09ibhmmby8p1cii5lh61xm4c39"; depends=[svMisc svDialogs mlearning filehash jpeg png]; };
+  zoom = derive { name="zoom"; version="2.0.4"; sha256="03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5"; depends=[]; };
+  zyp = derive { name="zyp"; version="0.10-1"; sha256="0f1fqqxysf3psnvn08s5qly2c958h1hhznjjj8mvpjr5g6hqlr1k"; depends=[Kendall]; };
+
+}; in self
diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix
new file mode 100644
index 00000000000..da63566f38b
--- /dev/null
+++ b/pkgs/development/r-modules/generic-builder.nix
@@ -0,0 +1,33 @@
+R:
+
+{ name, buildInputs ? [], ... } @ attrs:
+
+R.stdenv.mkDerivation ({
+  buildInputs = buildInputs ++ [R];
+
+  configurePhase = ''
+    runHook preConfigure
+    export R_LIBS_SITE="$R_LIBS_SITE''${R_LIBS_SITE:+:}$out/library"
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/library
+    R CMD INSTALL -l $out/library .
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    if test -e $out/nix-support/propagated-native-build-inputs; then
+        ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+  '';
+} // attrs // {
+  name = "r-" + name;
+})
diff --git a/pkgs/development/r-modules/generic/builder.sh b/pkgs/development/r-modules/generic/builder.sh
deleted file mode 100644
index 0c5d934c10c..00000000000
--- a/pkgs/development/r-modules/generic/builder.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-source $stdenv/setup
-
-export R_LIBS_SITE="$R_LIBS_SITE${R_LIBS_SITE:+:}$out/library"
-
-
-if test -n "$rPreHook"; then
-    eval "$rPreHook"
-fi
-
-installPhase() {
-	runHook preInstall
-	mkdir -p $out/library
-	R CMD INSTALL -l $out/library $src
-	runHook postInstall
-}
-
-postFixup() {
-    if test -e $out/nix-support/propagated-native-build-inputs; then
-        ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
-    fi
-}
-
-genericBuild
diff --git a/pkgs/development/r-modules/generic/default.nix b/pkgs/development/r-modules/generic/default.nix
deleted file mode 100644
index d405cc018d1..00000000000
--- a/pkgs/development/r-modules/generic/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-R:
-
-{ buildInputs ? [], ... } @ attrs:
-
-R.stdenv.mkDerivation (
-  {
-  }
-  //
-  attrs
-  //
-  {
-    name = "r-" + attrs.name;
-    builder = ./builder.sh;
-    buildInputs = buildInputs ++ [ R ];
-    phases = [ "installPhase" "fixupPhase" ];
-  }
-)
diff --git a/pkgs/development/r-modules/wrapper.nix b/pkgs/development/r-modules/wrapper.nix
new file mode 100644
index 00000000000..b4b4c562873
--- /dev/null
+++ b/pkgs/development/r-modules/wrapper.nix
@@ -0,0 +1,18 @@
+{ stdenv, R, makeWrapper, recommendedPackages, packages }:
+
+stdenv.mkDerivation {
+  name = R.name + "-wrapper";
+
+  buildInputs = [makeWrapper R] ++ recommendedPackages ++ packages;
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cd ${R}/bin
+    for exe in *; do
+      makeWrapper ${R}/bin/$exe $out/bin/$exe \
+        --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
+    done
+  '';
+}
diff --git a/pkgs/development/tools/analysis/cccc/cccc.patch b/pkgs/development/tools/analysis/cccc/cccc.patch
new file mode 100644
index 00000000000..9454e3b18ad
--- /dev/null
+++ b/pkgs/development/tools/analysis/cccc/cccc.patch
@@ -0,0 +1,24 @@
+diff --git a/cccc/cccc_tbl.cc b/cccc/cccc_tbl.cc
+index df98e2b..59f2572 100644
+--- a/cccc/cccc_tbl.cc
++++ b/cccc/cccc_tbl.cc
+@@ -96,7 +96,7 @@ bool CCCC_Table<T>::remove(T* old_item_ptr)
+   typename map_t::iterator value_iterator=map_t::find(old_item_ptr->key());
+   if(value_iterator!=map_t::end())
+     {
+-      erase(value_iterator);
++      map_t::erase(value_iterator);
+       retval=true;
+     }
+   return retval;
+diff --git a/makefile b/makefile
+index 23ad004..2cca469 100644
+--- a/makefile
++++ b/makefile
+@@ -20,5 +20,5 @@ test :
+ 	cd test ; make -f posix.mak
+ 
+ install : 
+-	cd install ; su root -c "make -f install.mak" 
++	cd install ; make -f install.mak
+ 
diff --git a/pkgs/development/tools/analysis/cccc/default.nix b/pkgs/development/tools/analysis/cccc/default.nix
new file mode 100644
index 00000000000..c672c7964e7
--- /dev/null
+++ b/pkgs/development/tools/analysis/cccc/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl }:
+
+let
+  name = "cccc";
+  version = "3.1.4";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${name}/${version}/${name}-${version}.tar.gz";
+    sha256 = "1gsdzzisrk95kajs3gfxks3bjvfd9g680fin6a9pjrism2lyrcr7";
+  };
+  patches = [ ./cccc.patch ];
+  preConfigure = ''
+    substituteInPlace install/install.mak --replace /usr/local/bin $out/bin
+    substituteInPlace install/install.mak --replace MKDIR=mkdir "MKDIR=mkdir -p"
+  '';
+
+  meta = {
+    description = "C and C++ Code Counter";
+    longDescription = ''
+      CCCC is a tool which analyzes C++ and Java files and generates a report
+      on various metrics of the code. Metrics supported include lines of code, McCabe's
+      complexity and metrics proposed by Chidamber&Kemerer and Henry&Kafura.
+    '';
+    homepage = "http://cccc.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.linquize ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch b/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch
new file mode 100644
index 00000000000..bcb3ac1d146
--- /dev/null
+++ b/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch
@@ -0,0 +1,33 @@
+From 6ab08bc1c889e4fb9a39432b1a654eaa19ee65eb Mon Sep 17 00:00:00 2001
+From: Austin Seipp <aseipp@pobox.com>
+Date: Fri, 2 May 2014 12:28:23 -0500
+Subject: [PATCH] Fix scan-build to use NIX_CFLAGS_COMPILE
+
+Signed-off-by: Austin Seipp <aseipp@pobox.com>
+---
+ tools/scan-build/ccc-analyzer | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/tools/scan-build/ccc-analyzer b/tools/scan-build/ccc-analyzer
+index b463ec0..9d39dd0 100755
+--- a/tools/scan-build/ccc-analyzer
++++ b/tools/scan-build/ccc-analyzer
+@@ -207,6 +207,15 @@ sub Analyze {
+       push @Args, "-Xclang", "-analyzer-viz-egraph-ubigraph";
+     }
+ 
++
++    # Add Nix flags to analysis
++    if (defined $ENV{'NIX_CFLAGS_COMPILE'}) {
++      my @nixArgs = split(/\s+/, $ENV{'NIX_CFLAGS_COMPILE'});
++      foreach my $nixArg (@nixArgs) {
++        push @Args, $nixArg;
++      }
++    }
++
+     my $AnalysisArgs = GetCCArgs("--analyze", \@Args);
+     @CmdArgs = @$AnalysisArgs;
+   }
+-- 
+1.8.3.2
+
diff --git a/pkgs/development/tools/analysis/clang-analyzer/default.nix b/pkgs/development/tools/analysis/clang-analyzer/default.nix
new file mode 100644
index 00000000000..50583f65f60
--- /dev/null
+++ b/pkgs/development/tools/analysis/clang-analyzer/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, clang, llvmPackages, perl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name    = "clang-analyzer-${version}";
+  version = "3.4";
+
+  src = fetchurl {
+    url    = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz";
+    sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92";
+  };
+
+  patches = [ ./0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch ];
+  buildInputs = [ clang llvmPackages.clang perl makeWrapper ];
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    cp -R tools/scan-view  $out/libexec
+    cp -R tools/scan-build $out/libexec
+
+    makeWrapper $out/libexec/scan-view/scan-view $out/bin/scan-view
+    makeWrapper $out/libexec/scan-build/scan-build $out/bin/scan-build \
+      --add-flags "--use-cc=${clang}/bin/clang" \
+      --add-flags "--use-c++=${clang}/bin/clang++" \
+      --add-flags "--use-analyzer='${llvmPackages.clang}/bin/clang'"
+  '';
+
+  meta = {
+    description = "Clang Static Analyzer";
+    homepage    = "http://clang-analyzer.llvm.org";
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/cov-build/default.nix b/pkgs/development/tools/analysis/cov-build/default.nix
new file mode 100644
index 00000000000..fef98f1e04a
--- /dev/null
+++ b/pkgs/development/tools/analysis/cov-build/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, requireFile }:
+
+let
+  message = ''
+    Register an account at https://scan.coverity.com, download the
+    build tools, and add it to the nix store with nix-prefetch-url
+  '';
+in
+stdenv.mkDerivation rec {
+  name    = "cov-build-${version}";
+  version = "7.0.2";
+
+  src =
+    if stdenv.system == "i686-linux"
+    then requireFile {
+      name = "cov-analysis-linux32-${version}.tar.gz";
+      sha256 = "0i06wbd7blgx9adh9w09by4i18vwmldfp9ix97a5dph2cjymsviy";
+      inherit message;
+    }
+    else requireFile {
+      name = "cov-analysis-linux64-${version}.tar.gz";
+      sha256 = "0iby75p0g8gv7b501xav47milr8m9781h0hcgm1ch6x3qj6irqd8";
+      inherit message;
+    };
+
+  dontStrip = true;
+  buildPhase = false;
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    mv * $out/libexec
+    for x in cov-build cov-capture cov-configure cov-emit cov-emit-java \
+      cov-export-cva cov-extract-scm cov-help cov-import-scm cov-link \
+      cov-internal-clang cov-internal-emit-clang cov-internal-nm \
+      cov-internal-emit-java-bytecode cov-internal-reduce cov-translate \
+      cov-preprocess cov-internal-pid-to-db cov-manage-emit \
+      cov-manage-history; do
+        ln -s $out/libexec/bin/$x $out/bin/$x;
+    done
+  '';
+
+  meta = {
+    description = "Coverity Scan build tools";
+    homepage    = "https://scan.coverity.com";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 8aea7bc8aa8..ca4176dbe1e 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -4,17 +4,21 @@
 
 let
   name = "cppcheck";
-  version = "1.53";
+  version = "1.65";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2";
-    sha256 = "878db83d3954d0c45135362308da951ec0670a160c76a7410466a9b539e8677f";
+    sha256 = "0rsxnqvjyiviqsq4y5x4p1jpvcmhf8hh7d710rsvnv5d4cj7lmqn";
   };
 
-  configurePhase = "makeFlags=PREFIX=$out";
+  configurePhase = ''
+    makeFlags="PREFIX=$out CFGDIR=$out/cfg"
+  '';
+
+  postInstall = "cp -r cfg $out/cfg";
 
   meta = {
     description = "Check C/C++ code for memory leaks, mismatching allocation-deallocation, buffer overrun and more";
diff --git a/pkgs/development/tools/analysis/findbugs/default.nix b/pkgs/development/tools/analysis/findbugs/default.nix
index 0623632936d..cf60f1af767 100644
--- a/pkgs/development/tools/analysis/findbugs/default.nix
+++ b/pkgs/development/tools/analysis/findbugs/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "findbugs-1.3.2";
+  name = "findbugs-2.0.3";
 
   src = fetchurl {
-    url = mirror://sourceforge/findbugs/findbugs-1.3.2.tar.gz;
-    sha256 = "0mbwxzz5m9vizxlbg0i6rh5ywywiiw9zpabq5li7map43768apvr";
+    url = mirror://sourceforge/findbugs/findbugs-2.0.3.tar.gz;
+    sha256 = "17s93vszc5s2b7pwi0yk8d6w54gandxrr7vflhzmpbl6sxj2mfjr";
   };
 
   buildPhase = ''
@@ -13,9 +13,25 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    mkdir -p $out
-    cp -prd bin lib plugin doc $out/
-    rm $out/bin/*.bat
+    d=$out/libexec/findbugs
+    mkdir -p $d $out/bin $out/nix-support
+
+    cp -prd bin lib plugin doc $d/
+    rm $d/bin/*.bat
+    for i in $d/bin/*; do
+      if [ -f $i ]; then ln -s $i $out/bin/; fi
+    done
+
+    # Get rid of unnecessary JARs.
+    rm $d/lib/ant.jar
+
+    # Make some JARs findable.
+    mkdir -p $out/share/java
+    ln -s $d/lib/{findbugs.jar,findbugs-ant.jar} $out/share/java/
+
+    cat <<EOF > $out/nix-support/setup-hook
+    export FINDBUGS_HOME=$d
+    EOF
   '';
 
   meta = {
diff --git a/pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch b/pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch
new file mode 100644
index 00000000000..798d17fd369
--- /dev/null
+++ b/pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch
@@ -0,0 +1,254 @@
+From: Mehdi Dogguy <mehdi@debian.org>
+Date: Sun, 27 Apr 2014 13:46:16 +0200
+Subject: Port to OCamlgraph 1.8.5
+
+---
+ src/impact/reason_graph.ml          |    2 +-
+ src/kernel/stmts_graph.ml           |   10 +++++-----
+ src/logic/property_status.ml        |    8 ++++----
+ src/misc/service_graph.ml           |    4 ++--
+ src/pdg_types/pdgTypes.ml           |    6 +++---
+ src/postdominators/print.ml         |    2 +-
+ src/semantic_callgraph/register.ml  |    4 ++--
+ src/slicing/printSlice.ml           |   10 +++++-----
+ src/syntactic_callgraph/register.ml |    4 ++--
+ src/wp/cil2cfg.ml                   |   12 ++++++------
+ 10 files changed, 31 insertions(+), 31 deletions(-)
+
+diff --git a/src/impact/reason_graph.ml b/src/impact/reason_graph.ml
+index eabacb0..ce19b4a 100644
+--- a/src/impact/reason_graph.ml
++++ b/src/impact/reason_graph.ml
+@@ -139,7 +139,7 @@ module Printer (X: AdditionalInfo) = struct
+ 
+   let graph_attributes _ = [`Label "Impact graph"]
+ 
+-  let default_vertex_attributes _g = [`Style [`Filled]; `Shape `Box]
++  let default_vertex_attributes _g = [`Style `Filled; `Shape `Box]
+   let default_edge_attributes _g = []
+ 
+   let vertex_attributes v =
+diff --git a/src/kernel/stmts_graph.ml b/src/kernel/stmts_graph.ml
+index a8fe121..16059c3 100644
+--- a/src/kernel/stmts_graph.ml
++++ b/src/kernel/stmts_graph.ml
+@@ -157,12 +157,12 @@ module TP = struct
+ 
+   let vertex_attributes s =
+     match s.skind with
+-    | Loop _ -> [`Color 0xFF0000; `Style [`Filled]]
+-    | If _ -> [`Color 0x00FF00; `Style [`Filled]; `Shape `Diamond]
+-    | Return _ -> [`Color 0x0000FF; `Style [`Filled]]
++    | Loop _ -> [`Color 0xFF0000; `Style `Filled]
++    | If _ -> [`Color 0x00FF00; `Style `Filled; `Shape `Diamond]
++    | Return _ -> [`Color 0x0000FF; `Style `Filled]
+     | Block _ -> [`Shape `Box; `Fontsize 8]
+-    | Goto _ -> [`Shape `Diamond; `Color 0x00FFFF ; `Style [`Filled]]
+-    | Instr (Skip _) -> [`Color 0x00FFFF ; `Style [`Filled]]
++    | Goto _ -> [`Shape `Diamond; `Color 0x00FFFF ; `Style `Filled]
++    | Instr (Skip _) -> [`Color 0x00FFFF ; `Style `Filled]
+     | _ -> []
+   let default_vertex_attributes _ = []
+ 
+diff --git a/src/logic/property_status.ml b/src/logic/property_status.ml
+index f7c278d..47485f6 100644
+--- a/src/logic/property_status.ml
++++ b/src/logic/property_status.ml
+@@ -1481,12 +1481,12 @@ module Consolidation_graph = struct
+                 let s = get_status p in
+ 		let color = status_color p s in
+                 let style = match s with
+-                  | Never_tried -> [`Style [`Bold]; `Width 0.8 ]
+-                  | _ -> [`Style [`Filled]]
++                  | Never_tried -> [`Style `Bold; `Width 0.8 ]
++                  | _ -> [`Style `Filled]
+                 in
+ 		style @ [ label v; `Color color; `Shape `Box ]
+               | Emitter _ as v -> 
+-		[ label v; `Shape `Diamond; `Color 0xb0c4de; `Style [`Filled] ]
++		[ label v; `Shape `Diamond; `Color 0xb0c4de; `Style `Filled ]
+               | Tuning_parameter _ as v ->
+ 		[ label v; (*`Style `Dotted;*) `Color 0xb0c4de;  ]
+ 	      (*| Correctness_parameter _ (*as v*) -> assert false (*[ label v; `Color 0xb0c4de ]*)*)
+@@ -1495,7 +1495,7 @@ module Consolidation_graph = struct
+ 	      | None -> []
+ 	      | Some s ->
+ 		let c = emitted_status_color s in
+-		[ `Color c; `Fontcolor c; `Style [`Bold] ]
++		[ `Color c; `Fontcolor c; `Style `Bold ]
+ 
+         let default_vertex_attributes _ = []
+         let default_edge_attributes _ = []
+diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml
+index 4f866c5..d158028 100644
+--- a/src/misc/service_graph.ml
++++ b/src/misc/service_graph.ml
+@@ -289,7 +289,7 @@ Src root:%s in %s (is_root:%b) Dst:%s in %s (is_root:%b) [2d case]"
+         color e
+       else
+         match CallG.E.label e with
+-        | Inter_services -> [ `Style [`Invis] ]
++        | Inter_services -> [ `Style `Invis ]
+         | Inter_functions | Both -> color e
+ 
+     let default_edge_attributes _ = []
+@@ -303,7 +303,7 @@ Src root:%s in %s (is_root:%b) Dst:%s in %s (is_root:%b) [2d case]"
+           sg_attributes =
+             [ `Label ("S " ^ cs);
+               `Color (Extlib.number_to_color id);
+-              `Style [`Bold] ] }
++              `Style `Bold ] }
+ 
+   end
+ 
+diff --git a/src/pdg_types/pdgTypes.ml b/src/pdg_types/pdgTypes.ml
+index 05754e4..74cdebf 100644
+--- a/src/pdg_types/pdgTypes.ml
++++ b/src/pdg_types/pdgTypes.ml
+@@ -626,7 +626,7 @@ module Pdg = struct
+ 
+     let graph_attributes _ = [`Rankdir `TopToBottom ]
+ 
+-    let default_vertex_attributes _ = [`Style [`Filled]]
++    let default_vertex_attributes _ = [`Style `Filled]
+     let vertex_name v = string_of_int (Node.id v)
+ 
+     let vertex_attributes v =
+@@ -711,13 +711,13 @@ module Pdg = struct
+         if Dpd.is_ctrl d then (`Arrowtail `Odot)::attrib else attrib
+       in
+       let attrib =
+-        if Dpd.is_addr d then (`Style [`Dotted])::attrib else attrib
++        if Dpd.is_addr d then (`Style `Dotted)::attrib else attrib
+       in
+         attrib
+ 
+     let get_subgraph v =
+       let mk_subgraph name attrib =
+-        let attrib = (`Style [`Filled]) :: attrib in
++        let attrib = (`Style `Filled) :: attrib in
+         Some { Graph.Graphviz.DotAttributes.sg_name= name;
+                sg_parent = None;
+                sg_attributes = attrib }
+diff --git a/src/postdominators/print.ml b/src/postdominators/print.ml
+index f2e3a25..15f4ff2 100644
+--- a/src/postdominators/print.ml
++++ b/src/postdominators/print.ml
+@@ -63,7 +63,7 @@ module Printer = struct
+ 
+   let graph_attributes (title, _) = [`Label title]
+ 
+-  let default_vertex_attributes _g = [`Style [`Filled]]
++  let default_vertex_attributes _g = [`Style `Filled]
+   let default_edge_attributes _g = []
+ 
+   let vertex_attributes (s, has_postdom) =
+diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml
+index 1c79dcc..071f061 100644
+--- a/src/semantic_callgraph/register.ml
++++ b/src/semantic_callgraph/register.ml
+@@ -102,8 +102,8 @@ module Service =
+          let name = Kernel_function.get_name
+          let attributes v =
+            [ `Style
+-               [if Kernel_function.is_definition v then `Bold
+-                else `Dotted] ]
++               (if Kernel_function.is_definition v then `Bold
++                else `Dotted) ]
+          let entry_point () =
+            try Some (fst (Globals.entry_point ()))
+            with Globals.No_such_entry_point _ -> None
+diff --git a/src/slicing/printSlice.ml b/src/slicing/printSlice.ml
+index c5363f9..211e0bb 100644
+--- a/src/slicing/printSlice.ml
++++ b/src/slicing/printSlice.ml
+@@ -227,7 +227,7 @@ module PrintProject = struct
+ 
+   let graph_attributes (name, _) = [`Label name]
+ 
+-  let default_vertex_attributes _ = [`Style [`Filled]]
++  let default_vertex_attributes _ = [`Style `Filled]
+ 
+   let vertex_name v = match v with
+     | Src fi -> SlicingMacros.fi_name fi
+@@ -280,16 +280,16 @@ module PrintProject = struct
+ 
+   let edge_attributes (e, call) =
+     let attrib = match e with
+-    | (Src _, Src _) -> [`Style [`Invis]]
+-    | (OptSliceCallers _, _) -> [`Style [`Invis]]
+-    | (_, OptSliceCallers _) -> [`Style [`Invis]]
++    | (Src _, Src _) -> [`Style `Invis]
++    | (OptSliceCallers _, _) -> [`Style `Invis]
++    | (_, OptSliceCallers _) -> [`Style `Invis]
+     | _ -> []
+     in match call with None -> attrib
+       | Some call -> (`Label (string_of_int call.sid)):: attrib
+ 
+   let get_subgraph v =
+     let mk_subgraph name attrib =
+-      let attrib = (*(`Label name) ::*) (`Style [`Filled]) :: attrib in
++      let attrib = (*(`Label name) ::*) (`Style `Filled) :: attrib in
+           Some { Graph.Graphviz.DotAttributes.sg_name= name;
+                  sg_parent = None;
+                  sg_attributes = attrib }
+diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml
+index d4669c4..d41980e 100644
+--- a/src/syntactic_callgraph/register.ml
++++ b/src/syntactic_callgraph/register.ml
+@@ -37,8 +37,8 @@ module Service =
+          let name v = nodeName v.cnInfo
+          let attributes v =
+            [ match v.cnInfo with
+-             | NIVar (_,b) when not !b -> `Style [`Dotted]
+-             | _ -> `Style [`Bold] ]
++             | NIVar (_,b) when not !b -> `Style `Dotted
++             | _ -> `Style `Bold ]
+          let equal v1 v2 = id v1 = id v2
+ 	 let compare v1 v2 = 
+ 	   let i1 = id v1 in
+diff --git a/src/wp/cil2cfg.ml b/src/wp/cil2cfg.ml
+index 6d8cf09..ba5f410 100644
+--- a/src/wp/cil2cfg.ml
++++ b/src/wp/cil2cfg.ml
+@@ -1278,9 +1278,9 @@ module Printer (PE : sig val edge_txt : edge -> string end) = struct
+       | Vstart | Vend | Vexit -> [`Color 0x0000FF; `Shape `Doublecircle]
+       | VfctIn | VfctOut -> [`Color 0x0000FF; `Shape `Box]
+       | VblkIn _ | VblkOut _ -> [`Shape `Box]
+-      | Vloop _ | Vloop2 _ -> [`Color 0xFF0000; `Style [`Filled]]
++      | Vloop _ | Vloop2 _ -> [`Color 0xFF0000; `Style `Filled]
+       | Vtest _ | Vswitch _ ->
+-        [`Color 0x00FF00; `Style [`Filled]; `Shape `Diamond]
++        [`Color 0x00FF00; `Style `Filled; `Shape `Diamond]
+       | Vcall _ | Vstmt _ -> []
+     in (`Label (String.escaped label))::attr
+ 
+@@ -1290,15 +1290,15 @@ module Printer (PE : sig val edge_txt : edge -> string end) = struct
+     let attr = [] in
+     let attr = (`Label (String.escaped (PE.edge_txt e)))::attr in
+     let attr =
+-      if is_back_edge e then (`Constraint false)::(`Style [`Bold])::attr
++      if is_back_edge e then (`Constraint false)::(`Style `Bold)::attr
+       else attr
+     in
+     let attr = match (edge_type e) with
+       | Ethen | EbackThen -> (`Color 0x00FF00)::attr
+       | Eelse | EbackElse -> (`Color 0xFF0000)::attr
+-      | Ecase [] -> (`Color 0x0000FF)::(`Style [`Dashed])::attr
++      | Ecase [] -> (`Color 0x0000FF)::(`Style `Dashed)::attr
+       | Ecase _ -> (`Color 0x0000FF)::attr
+-      | Enext -> (`Style [`Dotted])::attr
++      | Enext -> (`Style `Dotted)::attr
+       | Eback -> attr (* see is_back_edge above *)
+       | Enone -> attr
+     in
+@@ -1308,7 +1308,7 @@ module Printer (PE : sig val edge_txt : edge -> string end) = struct
+ 
+   let get_subgraph v =
+      let mk_subgraph name attrib =
+-      let attrib = (`Style [`Filled]) :: attrib in
++      let attrib = (`Style `Filled) :: attrib in
+           Some { Graph.Graphviz.DotAttributes.sg_name= name;
+                  sg_parent = None;
+                  sg_attributes = attrib }
+-- 
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
new file mode 100644
index 00000000000..baa63855a0a
--- /dev/null
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -0,0 +1,96 @@
+{ stdenv, fetchurl, ncurses, ocamlPackages, graphviz
+, ltl2ba, coq, alt-ergo, gmp, why3 }:
+
+stdenv.mkDerivation rec {
+  name    = "frama-c-${version}";
+  version = "20140301";
+  slang   = "Neon";
+
+  src = fetchurl {
+    url    = "http://frama-c.com/download/frama-c-${slang}-${version}.tar.gz";
+    sha256 = "0ca7ky7vs34did1j64v6d8gcp2irzw3rr5qgv47jhmidbipn1865";
+  };
+
+  why2 = fetchurl {
+    url    = "http://why.lri.fr/download/why-2.34.tar.gz";
+    sha256 = "1335bhq9v3h46m8aba2c5myi9ghm87q41in0m15xvdrwq5big1jg";
+  };
+
+  buildInputs = with ocamlPackages; [
+    ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph gmp
+    lablgtk coq graphviz zarith why3 zarith
+  ];
+
+
+  enableParallelBuilding = true;
+  configureFlags = [ "--disable-local-ocamlgraph" ];
+
+  unpackPhase = ''
+    tar xf $src
+    tar xf $why2
+  '';
+
+  buildPhase = ''
+    cd frama*
+    ./configure --prefix=$out
+    make -j$NIX_BUILD_CORES
+    make install
+    cd ../why*
+    FRAMAC=$out/bin/frama-c ./configure --prefix=$out
+    make
+    make install
+  '';
+
+
+  # Taken from Debian Sid
+  # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746091
+  patches = ./0004-Port-to-OCamlgraph-1.8.5.patch;
+
+  # Enter frama-c directory before patching
+  prePatch = ''cd frama*'';
+  postPatch = ''
+    # strip absolute paths to /usr/bin
+    for file in ./configure ./share/Makefile.common ./src/*/configure; do
+      substituteInPlace $file  --replace '/usr/bin/' ""
+    done
+
+    # find library paths
+    OCAMLGRAPH_HOME=`ocamlfind query ocamlgraph`
+    LABLGTK_HOME=`ocamlfind query lablgtk2`
+
+    # patch search paths
+    # ensure that the tests against the ocamlgraph version succeeds
+    # filter out the additional search paths from ocamldep
+    substituteInPlace ./configure \
+      --replace '$OCAMLLIB/ocamlgraph' "$OCAMLGRAPH_HOME" \
+      --replace '$OCAMLLIB/lablgtk2' "$LABLGTK_HOME" \
+      --replace '+ocamlgraph' "$OCAMLGRAPH_HOME" \
+    substituteInPlace ./Makefile --replace '+lablgtk2' "$LABLGTK_HOME" \
+      --replace '$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES))' \
+                '$(patsubst /%,.,$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES)))'
+
+    substituteInPlace ./src/aorai/aorai_register.ml --replace '"ltl2ba' '"${ltl2ba}/bin/ltl2ba'
+
+    cd ../why*
+    substituteInPlace ./frama-c-plugin/Makefile --replace 'shell frama-c' "shell $out/bin/frama-c"
+    substituteInPlace ./jc/jc_make.ml --replace ' why-dp '       " $out/bin/why-dp "
+    substituteInPlace ./jc/jc_make.ml --replace "?= why@\n"      "?= $out/bin/why@\n"
+    substituteInPlace ./jc/jc_make.ml --replace ' gwhy-bin@'     " $out/bin/gwhy-bin@"
+    substituteInPlace ./jc/jc_make.ml --replace ' why3 '         " ${why3}/bin/why3 "
+    substituteInPlace ./jc/jc_make.ml --replace ' why3ide '      " ${why3}/bin/why3ide "
+    substituteInPlace ./jc/jc_make.ml --replace ' why3replayer ' " ${why3}/bin/why3replayer "
+    substituteInPlace ./jc/jc_make.ml --replace ' why3ml '       " ${why3}/bin/why3ml "
+    substituteInPlace ./jc/jc_make.ml --replace ' coqdep@'       " ${coq}/bin/coqdep@"
+    substituteInPlace ./jc/jc_make.ml --replace 'coqc'           " ${coq}/bin/coqc"
+    substituteInPlace ./frama-c-plugin/register.ml --replace ' jessie ' " $out/bin/jessie "
+    cd ..
+  '';
+
+  meta = {
+    description = "Frama-C is an extensible tool for source-code analysis of C software";
+    homepage    = http://frama-c.com/;
+    license     = stdenv.lib.licenses.lgpl21;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice amiddelk ];
+    platforms   = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 21064ebe870..89a17d28a1b 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -1,16 +1,16 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "lcov-1.9";
+  name = "lcov-1.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/ltp/${name}.tar.gz";
-    sha256 = "1jhs1x2qy5la5gpdfl805zm11rsz6anla3b0wffk6wq79xfi4zn3";
+    sha256 = "13xq2ln4jjasslqzzhr5g11q1c19gwpng1jphzbzmylmrjz62ila";
   };
 
   patches =
-    [ ./find-source.patch ]
-    ++ (stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch);
+    [ ./lcov-except-unreach.patch ./no-warn-missing.patch ]
+    ++ stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch;
 
   preBuild = ''
     makeFlagsArray=(PREFIX=$out BIN_DIR=$out/bin MAN_DIR=$out/share/man)
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "LCOV, a code coverage tool that enhances GNU gcov";
 
     longDescription =
@@ -39,9 +39,9 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://ltp.sourceforge.net/coverage/lcov.php;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.mornfall ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/analysis/lcov/find-source.patch b/pkgs/development/tools/analysis/lcov/find-source.patch
deleted file mode 100644
index 428ae399d4e..00000000000
--- a/pkgs/development/tools/analysis/lcov/find-source.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- lcov-1.8/bin/geninfo	2010-01-29 11:14:46.000000000 +0100
-+++ lcov-1.8/bin/geninfo	2010-04-18 23:33:43.000000000 +0200
-@@ -51,6 +51,7 @@
- 
- use strict;
- use File::Basename; 
-+use Cwd qw(abs_path);
- use File::Spec::Functions qw /abs2rel catdir file_name_is_absolute splitdir
- 			      splitpath rel2abs/;
- use Getopt::Long;
-@@ -95,6 +96,7 @@ sub match_filename($@);
- sub solve_ambiguous_match($$$);
- sub split_filename($);
- sub solve_relative_path($$);
-+sub find_source_file($$);
- sub read_gcov_header($);
- sub read_gcov_file($);
- sub info(@);
-@@ -964,7 +966,7 @@ sub process_dafile($$)
- 
- 		if (defined($source))
- 		{
--			$source = solve_relative_path($base_dir, $source);
-+ 			$source = find_source_file($base_dir, $source);
- 		}
- 
- 		# gcov will happily create output even if there's no source code
-@@ -981,18 +983,9 @@ sub process_dafile($$)
- 			die("ERROR: could not read source file $source\n");
- 		}
- 
--		@matches = match_filename(defined($source) ? $source :
--					  $gcov_file, keys(%{$instr}));
-+		next if ! -r $source;
- 
--		# Skip files that are not mentioned in the graph file
--		if (!@matches)
--		{
--			warn("WARNING: cannot find an entry for ".$gcov_file.
--			     " in $graph_file_extension file, skipping ".
--			     "file!\n");
--			unlink($gcov_file);
--			next;
--		}
-+		@matches = ($source);
- 
- 		# Read in contents of gcov file
- 		@result = read_gcov_file($gcov_file);
-@@ -1242,6 +1235,25 @@ sub solve_relative_path($$)
- }
- 
- 
-+sub find_source_file($$)
-+{
-+        my ($base_dir, $source) = @_;
-+        my $dir = $base_dir;
-+
-+        # Hack to make absolute paths work on Nixpkgs coverage
-+        # reports.  The source is in /nix/store/<bla>/.build/<bla>.
-+        $source = $1 if $source =~ /^\/.*\/\.build\/(.*)$/;
-+        
-+        while (!-e "$dir/$source") {
-+                $dir = $dir . "/..";
-+                if (length $dir > 1000) {
-+                        return "$base_dir/$source";
-+                }
-+        }
-+        return abs_path("$dir/$source");
-+}
-+
-+
- #
- # match_filename(gcov_filename, list)
- #
-@@ -1918,7 +1930,7 @@ sub process_graphfile($$)
- 
- 	# Get path to data file in absolute and normalized form (begins with /,
- 	# contains no more ../ or ./)
--	$graph_filename = solve_relative_path($cwd, $graph_filename);
-+	$graph_filename = find_source_file($cwd, $graph_filename);
- 
- 	# Get directory and basename of data file
- 	($graph_dir, $graph_basename) = split_filename($graph_filename);
-
diff --git a/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch b/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch
new file mode 100644
index 00000000000..6c8d8664d02
--- /dev/null
+++ b/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch
@@ -0,0 +1,13 @@
+http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?r1=1.117&r2=1.118&view=patch
+
+--- a/bin/geninfo	2012/10/10 08:36:16	1.117
++++ b/bin/geninfo	2012/11/13 09:58:53	1.118
+@@ -1833,7 +1833,7 @@
+ 						push(@result, 0);
+ 					} else {
+ 						# Check for zero count
+-						if ($count eq "#####") {
++						if ($count =~ /^[#=]/) {
+ 							$count = 0;
+ 						}
+ 						push(@result, 1);
diff --git a/pkgs/development/tools/analysis/lcov/no-warn-missing.patch b/pkgs/development/tools/analysis/lcov/no-warn-missing.patch
new file mode 100644
index 00000000000..fa1f476fba0
--- /dev/null
+++ b/pkgs/development/tools/analysis/lcov/no-warn-missing.patch
@@ -0,0 +1,54 @@
+http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?view=log
+
+--- a/bin/geninfo	2013/01/10 09:02:32	1.119
++++ b/bin/geninfo	2013/02/22 14:09:08	1.120
+@@ -864,7 +864,6 @@
+ 	my $source;		# gcov source header information
+ 	my $object;		# gcov object header information
+ 	my @matches;		# List of absolute paths matching filename
+-	my @unprocessed;	# List of unprocessed source code files
+ 	my $base_dir;		# Base directory for current file
+ 	my @tmp_links;		# Temporary links to be cleaned up
+ 	my @result;
+@@ -1060,7 +1059,6 @@
+ 
+ 	# Traverse the list of generated .gcov files and combine them into a
+ 	# single .info file
+-	@unprocessed = keys(%{$instr});
+ 	foreach $gcov_file (sort(@gcov_list))
+ 	{
+ 		my $i;
+@@ -1143,16 +1141,6 @@
+ 						\@matches, \@gcov_content);
+ 		}
+ 
+-		# Remove processed file from list
+-		for ($index = scalar(@unprocessed) - 1; $index >= 0; $index--)
+-		{
+-			if ($unprocessed[$index] eq $source_filename)
+-			{
+-				splice(@unprocessed, $index, 1);
+-				last;
+-			}
+-		}
+-
+ 		# Skip external files if requested
+ 		if (!$opt_external) {
+ 			if (is_external($source_filename)) {
+@@ -1297,16 +1285,6 @@
+ 		unlink($gcov_file);
+ 	}
+ 
+-	# Check for files which show up in the graph file but were never
+-	# processed
+-	if (@unprocessed && @gcov_list)
+-	{
+-		foreach (@unprocessed)
+-		{
+-			warn("WARNING: no data found for $_\n");
+-		}
+-	}
+-
+ 	if (!($output_filename && ($output_filename eq "-")))
+ 	{
+ 		close(INFO_HANDLE);
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index d549bd8fb19..2ab8c05ebf8 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Free advanced command line hexadecimal editor";
     homepage = http://radare.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/development/tools/analysis/radare/ired.nix b/pkgs/development/tools/analysis/radare/ired.nix
index f7fb810410d..a2d135d4484 100644
--- a/pkgs/development/tools/analysis/radare/ired.nix
+++ b/pkgs/development/tools/analysis/radare/ired.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Interactive Raw Editor";
     homepage = http://radare.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix
index f860f05c36a..6d0e28f0ab2 100644
--- a/pkgs/development/tools/analysis/sparse/default.nix
+++ b/pkgs/development/tools/analysis/sparse/default.nix
@@ -1,38 +1,25 @@
-{ fetchurl, stdenv, pkgconfig }:
+{ fetchurl, stdenv, pkgconfig, libxml2, llvm }:
 
 stdenv.mkDerivation rec {
-  name = "sparse-0.4.4";
+  name = "sparse-0.5.0";
 
   src = fetchurl {
-    url = "mirror://kernel/software/devel/sparse/dist/${name}.tar.gz";
-    sha256 = "5ad02110130fd8f8d82f2b030de5f2db6f924fd805593a5b8be8072a620414c6";
+    url = "mirror://kernel/software/devel/sparse/dist/${name}.tar.xz";
+    sha256 = "1mc86jc5xdrdmv17nqj2cam2yqygnj6ar1iqkwsx2y37ij8wy7wj";
   };
 
   preConfigure = ''
-    sed -i "Makefile" \
-        -e "s|^PREFIX *=.*$|PREFIX = $out|g"
+    sed -i Makefile -e "s|^PREFIX=.*$|PREFIX=$out|g"
   '';
 
-  buildInputs = [ pkgconfig ];
-
+  buildInputs = [ pkgconfig libxml2 llvm ];
   doCheck = true;
 
   meta = {
     description = "Sparse, a semantic parser for C";
-
-    longDescription = ''
-      Sparse, the semantic parser, provides a compiler frontend
-      capable of parsing most of ANSI C as well as many GCC
-      extensions, and a collection of sample compiler backends,
-      including a static analyzer also called "sparse".  Sparse
-      provides a set of annotations designed to convey semantic
-      information about types, such as what address space pointers
-      point to, or what locks a function acquires or releases.
-    '';
-
-    homepage = http://www.kernel.org/pub/software/devel/sparse/;
-
-    # See http://www.opensource.org/licenses/osl.php .
-    license = "Open Software License v1.1";
+    homepage    = "https://git.kernel.org/cgit/devel/sparse/sparse.git/";
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index b4fdd4c09d4..06c04ca41b5 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -1,30 +1,25 @@
-{stdenv, fetchurl, flex, yacc, tk }:
+{stdenv, fetchurl, yacc }:
 
-stdenv.mkDerivation {
-  name = "spin-5.1.7";
+stdenv.mkDerivation rec {
+  version = "6.3.2";
+  name = "spin-${version}";
 
   src = fetchurl {
-    url = http://spinroot.com/spin/Src/spin517.tar.gz;
-    sha256 = "03c6bmar4z13jx7dddb029f0qnmgl8x4hyfwn3qijjyd4dbliiw6";
+    url = http://spinroot.com/spin/Src/spin632.tar.gz;
+    curlOpts = "--user-agent 'Mozilla/5.0'";
+    sha256 = "1llsv1mnwr99hvsm052i3wwpa3dm5j12s5p10hizi6i9hlp00b5y";
   };
 
-  buildInputs = [ flex yacc tk ];
+  buildInputs = [ yacc ];
 
-  patchPhase = ''
-    cd Src*
-    sed -i -e 's/-DNXT/-DNXT -DCPP="\\"gcc -E -x c\\""/' makefile
-  '';
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ../Xspin*/xsp* $out/bin/xspin
-    sed -i -e '1s@^#!/bin/sh@#!${tk}/bin/wish@' \
-      -e '/exec wish/d' $out/bin/xspin
-    cp spin $out/bin
-  '';
+  sourceRoot = "Spin/Src${version}";
+
+  installPhase = "install -D spin $out/bin/spin";
 
   meta = {
     description = "Formal verification tool for distributed software systems";
     homepage = http://spinroot.com/;
     license = "free";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 4592c1bb53f..5ffc287d114 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,24 +1,35 @@
 { stdenv, fetchurl, perl, gdb }:
 
-stdenv.mkDerivation (rec {
-  name = "valgrind-3.8.1";
+stdenv.mkDerivation rec {
+  name = "valgrind-3.9.0";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "1nsqk70ry3221sd62s4f0njcrncppszs4xxjcak13lxyfq2y0fs7";
+    sha256 = "1w6n5qvxy2ssbczcl1c2yd2ggjn3ipay2hvpn10laly2dfh73bz6";
   };
 
-  patches = [ ./glibc-2.17.patch ];
+  patches = [ ./glibc-2.19.patch ];
 
   # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
   nativeBuildInputs = [ perl ];
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) gdb;
 
+  enableParallelBuilding = true;
+
+  postPatch =
+    # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
+    ''
+      echo "getting rid of the \`-arch' GCC option..."
+      find -name Makefile\* -exec \
+        sed -i {} -e's/DARWIN\(.*\)-arch [^ ]\+/DARWIN\1/g' \;
+
+      sed -i coregrind/link_tool_exe_darwin.in \
+          -e 's/^my \$archstr = .*/my $archstr = "x86_64";/g'
+    '';
+
   configureFlags =
-    if (stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin")
-    then [ "--enable-only64bit" ]
-    else [];
+    stdenv.lib.optional (stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin") "--enable-only64bit";
 
   postInstall = ''
     for i in $out/lib/valgrind/*.supp; do
@@ -41,25 +52,9 @@ stdenv.mkDerivation (rec {
       Valgrind to build new tools.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ eelco ];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
-
-//
-
-(if stdenv.isDarwin
- then {
-   patchPhase =
-     # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
-     '' echo "getting rid of the \`-arch' GCC option..."
-        find -name Makefile\* -exec \
-          sed -i {} -e's/DARWIN\(.*\)-arch [^ ]\+/DARWIN\1/g' \;
-
-        sed -i coregrind/link_tool_exe_darwin.in \
-            -e 's/^my \$archstr = .*/my $archstr = "x86_64";/g'
-     '';
- }
- else {}))
diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch
deleted file mode 100644
index bee1abe71f1..00000000000
--- a/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-commit 3781ac11ff374b3517011c1710ec517d52f25cd2
-Author: tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Mon Jan 14 09:48:49 2013 +0000
-
-    Accept glibc 2.17 as valid.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13228 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/configure.in b/configure.in
-index e0fb12d..0f3b3df 100644
---- a/configure.in
-+++ b/configure.in
-@@ -906,6 +906,13 @@ case "${GLIBC_VERSION}" in
- 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- 	;;
-+     2.17)
-+	AC_MSG_RESULT(2.17 family)
-+	AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x])
-+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	;;
-      darwin)
- 	AC_MSG_RESULT(Darwin)
- 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
-@@ -919,7 +926,7 @@ case "${GLIBC_VERSION}" in
- 
-      *)
- 	AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
--	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16])
-+	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.17])
- 	AC_MSG_ERROR([or Darwin libc])
- 	;;
- esac
-diff -ur valgrind-3.8.1/config.h.in valgrind-3.8.1/config.h.in
---- valgrind-3.8.1/config.h.in	2013-01-16 17:15:33.531018561 +0100
-+++ valgrind-3.8.1/config.h.in	2013-01-16 17:19:21.000000000 +0100
-@@ -48,6 +48,9 @@
- /* Define to 1 if you're using glibc 2.16.x */
- #undef GLIBC_2_16
- 
-+/* Define to 1 if you're using glibc 2.17.x */
-+#undef GLIBC_2_17
-+
- /* Define to 1 if you're using glibc 2.2.x */
- #undef GLIBC_2_2
- 
-diff -ur valgrind-3.8.1/configure valgrind-3.8.1/configure
---- valgrind-3.8.1/configure	2013-01-16 17:15:33.563018480 +0100
-+++ valgrind-3.8.1/configure	2013-01-16 17:19:21.373643238 +0100
-@@ -6610,6 +6610,16 @@
- 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- 	;;
-+     2.17)
-+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.17 family" >&5
-+$as_echo "2.17 family" >&6; }
-+
-+$as_echo "#define GLIBC_2_17 1" >>confdefs.h
-+
-+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	;;
-      darwin)
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
- $as_echo "Darwin" >&6; }
-@@ -6630,7 +6640,7 @@
-      *)
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
- $as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
--	as_fn_error "Valgrind requires glibc version 2.2 - 2.16" "$LINENO" 5
-+	as_fn_error "Valgrind requires glibc version 2.2 - 2.17" "$LINENO" 5
- 	as_fn_error "or Darwin libc" "$LINENO" 5
- 	;;
- esac
diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch
new file mode 100644
index 00000000000..137b0a325b0
--- /dev/null
+++ b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch
@@ -0,0 +1,39 @@
+https://projects.archlinux.org/svntogit/packages.git/plain/trunk/valgrind-3.9.0-glibc-2.19.patch?h=packages/valgrind
+
+diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure
+--- valgrind-3.9.0-orig/configure	2013-11-01 09:33:32.000000000 +1000
++++ valgrind-3.9.0/configure	2014-02-08 09:28:06.063248544 +1000
+@@ -6689,6 +6689,16 @@
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.19)
++	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5
++$as_echo "2.19 family" >&6; }
++
++$as_echo "#define GLIBC_2_19 1" >>confdefs.h
++
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      darwin)
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
+ $as_echo "Darwin" >&6; }
+diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac
+--- valgrind-3.9.0-orig/configure.ac	2013-11-01 09:28:16.000000000 +1000
++++ valgrind-3.9.0/configure.ac	2014-02-08 09:27:38.870385366 +1000
+@@ -918,6 +918,13 @@
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.19)
++	AC_MSG_RESULT(2.19 family)
++	AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.x])
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      darwin)
+ 	AC_MSG_RESULT(Darwin)
+ 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
diff --git a/pkgs/development/tools/analysis/valkyrie/default.nix b/pkgs/development/tools/analysis/valkyrie/default.nix
index 3a0879d6edf..76becca74cf 100644
--- a/pkgs/development/tools/analysis/valkyrie/default.nix
+++ b/pkgs/development/tools/analysis/valkyrie/default.nix
@@ -15,9 +15,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.valgrind.org/;
     description = "Qt4-based GUI for the Valgrind 3.6.x series";
-
-    license = "GPLv2";
-
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
new file mode 100644
index 00000000000..23941653575
--- /dev/null
+++ b/pkgs/development/tools/apktool/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, makeWrapper, jre, buildTools }:
+
+stdenv.mkDerivation rec {
+  name = "apktool-${version}";
+  version = "1.5.2";
+
+  src = fetchurl {
+    url = "https://android-apktool.googlecode.com/files/apktool${version}.tar.bz2";
+    sha1 = "2dd828cf79467730c7406aa918f1da1bd21aaec8";
+  };
+
+  unpackCmd = ''
+    tar -xvf $src || true
+    cd apktool*
+  '';
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -D apktool.jar "$out/libexec/apktool/apktool.jar"
+    mkdir -p "$out/bin"
+    makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
+        --add-flags "-jar $out/libexec/apktool/apktool.jar" \
+        --prefix PATH : "${buildTools}/build-tools/android-4.3/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for reverse engineering Android apk files";
+    homepage    = https://code.google.com/p/android-apktool/;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ offline ];
+  };
+
+}
diff --git a/pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix b/pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix
deleted file mode 100644
index ca61f43c738..00000000000
--- a/pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-args: with args;
-
-stdenv.mkDerivation {
-  name = "ant-contrib-1.0b3";
-
-  installPhase = ''
-    mkdir -p $out
-    mv ant-contrib*.jar $out/
-  '';
-
-  phases = "unpackPhase installPhase";
-
-  src = fetchurl {
-    url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2;
-    sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
-  };
-}
diff --git a/pkgs/development/tools/build-managers/apache-ant/builder.sh b/pkgs/development/tools/build-managers/apache-ant/builder.sh
deleted file mode 100644
index 68aa89d475e..00000000000
--- a/pkgs/development/tools/build-managers/apache-ant/builder.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-source $stdenv/setup
-
-tar jxf $src || exit 1
-mkdir -p $out
-
-mv apache-ant-*/* $out || exit 1
-
-# add ant-contrib
-cp $antContrib/*.jar $out/lib
-
-# remove crap in the root directory
-
-for file in $out/*
-do
-  if test -f $file ; then
-    rm $file
-  fi
-done
-rm -rf $out/docs
-
-# prevent the use of hacky scripts. This will be handled in Nix.
-rm $out/bin/* || exit 1
-
-# add ant script. This script is to be invoked with all
-# appropiate variables and will try to be clever or user-friendly.
-
-cat >> $out/bin/ant <<EOF
-#! /bin/sh
-
-export JAVA_HOME=$jdk
-export JAVACMD=$jdk/bin/java
-export LANG="en_US"
-
-export ANT_HOME=$out
- 
-if [ -z "\$LOCALCLASSPATH" ] ; then
-    LOCALCLASSPATH=\$ANT_HOME/lib/ant-launcher.jar
-else
-    LOCALCLASSPATH=\$ANT_HOME/lib/ant-launcher.jar:\$LOCALCLASSPATH
-fi
-
-if [ -n "\$JIKESPATH" ]; then
-  exec "\$JAVACMD" \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" -Dant.home="\${ANT_HOME}" -Djikes.class.path="\$JIKESPATH" org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS -lib "$CLASSPATH" "\$@"
-else
-  exec "\$JAVACMD" \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" -Dant.home="\${ANT_HOME}" org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS -lib "$CLASSPATH" "\$@"
-  fi
-fi
-EOF
-
-chmod a+x $out/bin/ant
-
-ln -s $out/bin/ant $out/bin/antRun
-
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index c14e09e25b7..0dfb634c594 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,30 +1,106 @@
-{ fetchurl, stdenv, jdk }:
+{ fetchurl, stdenv, makeWrapper }:
 
-let
+let version = "1.9.3"; in
 
-  antContrib = import ./ant-contrib.nix {
-    inherit fetchurl stdenv;
+stdenv.mkDerivation {
+  name = "ant-${version}";
+
+  buildInputs = [ makeWrapper ];
+
+  src = fetchurl {
+    url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
+    sha1 = "efcf206e24b0dd1583c501182ad163af277951a4";
   };
 
-  version = "1.8.4";
+  contrib = fetchurl {
+    url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2;
+    sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
+  };
 
-in
+  installPhase =
+    ''
+      mkdir -p $out/bin $out/lib/ant
+      mv * $out/lib/ant/
 
-stdenv.mkDerivation {
-  name = "ant-${(builtins.parseDrvName jdk.name).name}-${version}";
+      # Get rid of the manual (35 MiB).  Maybe we should put this in a
+      # separate output.  Also get rid of the Ant scripts since we
+      # provide our own.
+      rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
 
-  builder = ./builder.sh;
-  
-  buildInputs = [ antContrib jdk ];
+      # Install ant-contrib.
+      unpackFile $contrib
+      cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/
 
-  inherit antContrib jdk;
+      cat >> $out/bin/ant <<EOF
+      #! ${stdenv.shell} -e
 
-  src = fetchurl {
-    url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha1 = "d9e3e83dd9664cfe1dcd4841c082db3f559af922";
-  };
+      ANT_HOME=$out/lib/ant
+
+      # Find the JDK by looking for javac.  As a fall-back, find the
+      # JRE by looking for java.  The latter allows just the JRE to be
+      # used with (say) ECJ as the compiler.  Finally, allow the GNU
+      # JVM.
+      if [ -z "\$JAVA_HOME" ]; then
+          for i in javac java gij; do
+              if p="\$(type -p \$i)"; then
+                  export JAVA_HOME="\$(dirname \$(dirname \$(readlink -f \$p)))"
+                  break
+              fi
+          done
+          if [ -z "\$JAVA_HOME" ]; then
+              echo "\$0: cannot find the JDK or JRE" >&2
+              exit 1
+          fi
+      fi
+
+      if [ -z \$NIX_JVM ]; then
+          if [ -e \$JAVA_HOME/bin/java ]; then
+              NIX_JVM=\$JAVA_HOME/bin/java
+          elif [ -e \$JAVA_HOME/bin/gij ]; then
+              NIX_JVM=\$JAVA_HOME/bin/gij
+          else
+              NIX_JVM=java
+          fi
+      fi
+
+      LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
+
+      exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
+          -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
+          org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
+          -cp "\$CLASSPATH" "\$@"
+      EOF
+
+      chmod +x $out/bin/ant
+    ''; # */
 
   meta = {
-    description = "Java-based build tool";
+    homepage = http://ant.apache.org/;
+    description = "A Java-based build tool";
+
+    longDescription = ''
+      Apache Ant is a Java-based build tool.  In theory, it is kind of like
+      Make, but without Make's wrinkles.
+
+      Why another build tool when there is already make, gnumake, nmake, jam,
+      and others? Because all those tools have limitations that Ant's
+      original author couldn't live with when developing software across
+      multiple platforms.  Make-like tools are inherently shell-based -- they
+      evaluate a set of dependencies, then execute commands not unlike what
+      you would issue in a shell.  This means that you can easily extend
+      these tools by using or writing any program for the OS that you are
+      working on.  However, this also means that you limit yourself to the
+      OS, or at least the OS type such as Unix, that you are working on.
+
+      Ant is different.  Instead of a model where it is extended with
+      shell-based commands, Ant is extended using Java classes.  Instead of
+      writing shell commands, the configuration files are XML-based, calling
+      out a target tree where various tasks get executed.  Each task is run
+      by an object that implements a particular Task interface.
+    '';
+
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/apache-ant/from-source.nix b/pkgs/development/tools/build-managers/apache-ant/from-source.nix
deleted file mode 100644
index 14213415ff8..00000000000
--- a/pkgs/development/tools/build-managers/apache-ant/from-source.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ stdenv, fetchurl, gcj, junit }:
-
-let version = "1.7.1"; in
-
-/* TODO: Once we have Icedtea, use this Nix expression to build Ant with
-   Sun's javac.  */
-
-stdenv.mkDerivation {
-  name = "ant-gcj-${version}";
-
-  src = fetchurl {
-    url = "mirror://apache/ant/source/apache-ant-${version}-src.tar.bz2";
-    sha256 = "19pvqvgkxgpgsqm4lvbki5sm0z84kxmykdqicvfad47gc1r9mi2d";
-  };
-
-  patches = [ ./use-gcj.patch ];
-
-  buildInputs = [ gcj junit ];
-
-  configurePhase = ''
-    mkdir -p "tool-aliases/bin"
-    cd "tool-aliases/bin"
-    cat > javac <<EOF
-#!/bin/sh
-opts="-C"
-echo 'running \`gcj '"\$opts \$@'..."
-exec "$(type -P gcj)" \$opts \$@
-EOF
-    chmod +x javac
-    ln -sv $(type -P gij) java
-    export PATH="$PWD:$PATH"
-
-    cd ../..
-    export JAVA_HOME="$PWD/tool-aliases"
-
-    # Make JUnit visible.
-    export CLASSPATH="$(find ${junit} -name \*.jar -printf "%p:")"
-  '';
-
-  # Note: We don't build the javadoc.
-  buildPhase = ''
-    mkdir -p "$out"
-    ./build.sh -Dant.install="$out" install-lite
-  '';
-
-  installPhase = ''
-    # Actually, everything is already installed at this point, so we just
-    # rearrange a few things.
-    rm -v "$out/bin/"*.bat
-
-    mkdir -p "$out/lib/java"
-    mv -v "$out/lib/"*.jar "$out/lib/java"
-    sed -i "$out/bin/ant" \
-        -e "s|^ANT_LIB=.*$|ANT_LIB=$out/lib/java|g ;
-            s|JAVACMD=java.*$|JAVACMD=${gcj}/lib/jvm/bin/java|g ;
-            /^ant_exec_command/i export ANT_HOME=$out"
-  '';
-
-  meta = {
-    description = "Java-based build tool";
-
-    longDescription = ''
-      Apache Ant is a Java-based build tool.  In theory, it is kind of like
-      Make, but without Make's wrinkles.
-
-      Why another build tool when there is already make, gnumake, nmake, jam,
-      and others? Because all those tools have limitations that Ant's
-      original author couldn't live with when developing software across
-      multiple platforms.  Make-like tools are inherently shell-based -- they
-      evaluate a set of dependencies, then execute commands not unlike what
-      you would issue in a shell.  This means that you can easily extend
-      these tools by using or writing any program for the OS that you are
-      working on.  However, this also means that you limit yourself to the
-      OS, or at least the OS type such as Unix, that you are working on.
-
-      Ant is different.  Instead of a model where it is extended with
-      shell-based commands, Ant is extended using Java classes.  Instead of
-      writing shell commands, the configuration files are XML-based, calling
-      out a target tree where various tasks get executed.  Each task is run
-      by an object that implements a particular Task interface.
-    '';
-
-    homepage = http://ant.apache.org/;
-
-    license = "APLv2";
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch b/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch
deleted file mode 100644
index db82d3ba689..00000000000
--- a/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Setting `java.compiler' or `build.compiler' in `build.properties' isn't enough.
-
---- apache-ant-1.7.1/build.xml	2008-06-27 07:05:23.000000000 +0200
-+++ apache-ant-1.7.1/build.xml	2009-09-24 15:10:53.000000000 +0200
-@@ -578,12 +578,7 @@
-       classname="com.jcraft.jsch.Session"
-       classpathref="classpath"/>
- 
--    <condition property="build.compiler" value="classic">
--      <not>
--        <isset property="jdk1.3+"/>
--      </not>
--    </condition>
--    <property name="build.compiler" value="modern"/>
-+    <property name="build.compiler" value="gcj"/>
- 
-     <!--check for XSD support in the parser-->
-     <condition property="xmlschema.present">
diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
index b28c4d9296f..870664c252a 100644
--- a/pkgs/development/tools/build-managers/buildbot-slave/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, coreutils, twisted }:
 
 buildPythonPackage (rec {
-  name = "buildbot-slave-0.8.7p1";
+  name = "buildbot-slave-0.8.8";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1p7a0srab6ifljh9vi25awvxfrxljj9s0hi1jipiiykyhjihgnxv";
+    sha256 = "1k1pk3y0rk6j01wc491jblryr4ajqg1ing9m3sjaw9s5sga34xcb";
   };
 
   patchPhase = ''
@@ -34,7 +34,7 @@ buildPythonPackage (rec {
   meta = with stdenv.lib; {
     homepage = http://buildbot.net/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     description = "Continuous integration system that automates the build/test cycle";
 
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index c872d67146b..ccbf74e528e 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -9,12 +9,12 @@
 assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
 
 buildPythonPackage (rec {
-  name = "buildbot-0.8.7p1";
+  name = "buildbot-0.8.8";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0xjpk8510fhryl1g4mczz319h62il8hw9rh1rzvsfmffgf43zvld";
+    sha256 = "1l1rsy82zv8582wypw00ac0k0wsr82ky74f3np4clbrxv3ry64sh";
   };
 
   patchPhase =
@@ -52,7 +52,7 @@ buildPythonPackage (rec {
   meta = with stdenv.lib; {
     homepage = http://buildbot.net/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     # Of course, we don't really need that on NixOS.  :-)
     description = "Continuous integration system that automates the build/test cycle";
diff --git a/pkgs/development/tools/build-managers/cmake/762-13887.patch b/pkgs/development/tools/build-managers/cmake/762-13887.patch
new file mode 100644
index 00000000000..3ef27a09b5c
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/762-13887.patch
@@ -0,0 +1,17 @@
+diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
+index e7491bb..57b4348 100644
+--- a/Source/CTest/cmCTestTestHandler.cxx
++++ b/Source/CTest/cmCTestTestHandler.cxx
+@@ -1303,10 +1303,9 @@ int cmCTestTestHandler::ExecuteCommands(std::vector<cmStdString>& vec)
+   for ( it = vec.begin(); it != vec.end(); ++it )
+     {
+     int retVal = 0;
+-    std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str());
+-    cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd
++    cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it
+       << std::endl);
+-    if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0,
++    if ( !cmSystemTools::RunSingleCommand((*it).c_str(), 0, &retVal, 0,
+                                           cmSystemTools::OUTPUT_MERGE
+         /*this->Verbose*/) || retVal != 0 )
+       {
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 640aa6c2d67..951a19cde90 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
+{ stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive
 , useNcurses ? false, ncurses, useQt4 ? false, qt4
 }:
 
@@ -7,7 +7,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "2.8";
-  minorVersion = "9";
+  minorVersion = "12.2";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -18,13 +18,26 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "1yg68ng732cfm5c0h91chqwhg06zdh45bybm353kd1myk5rwqgfw";
+    sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc";
   };
 
+  enableParallelBuilding = true;
+
   patches =
+    [(fetchpatch { # see http://www.cmake.org/Bug/view.php?id=13959
+      name = "FindFreetype-2.5.patch";
+      url = "http://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
+      sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
+    })] ++
     # Don't search in non-Nix locations such as /usr, but do search in
-    # Nixpkgs' Glibc.
-    optional (stdenv ? glibc) ./search-path.patch;
+    # Nixpkgs' Glibc. 
+    optional (stdenv ? glibc) ./search-path.patch ++
+    optional (stdenv ? cross) (fetchurl {
+      name = "fix-darwin-cross-compile.patch";
+      url = "http://public.kitware.com/Bug/file_download.php?"
+          + "file_id=4981&type=bug";
+      sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
+    });
 
   buildInputs = [ curl expat zlib bzip2 libarchive ]
     ++ optional useNcurses ncurses
@@ -51,6 +64,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
     platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/search-path.patch b/pkgs/development/tools/build-managers/cmake/search-path.patch
index ef8a9eef7c1..31c85d6f522 100644
--- a/pkgs/development/tools/build-managers/cmake/search-path.patch
+++ b/pkgs/development/tools/build-managers/cmake/search-path.patch
@@ -1,41 +1,43 @@
-diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/Linux.cmake cmake-2.8.5/Modules/Platform/Linux.cmake
---- cmake-2.8.5-orig/Modules/Platform/Linux.cmake	2011-07-08 14:21:44.000000000 +0200
-+++ cmake-2.8.5/Modules/Platform/Linux.cmake	2011-07-21 19:45:00.000000000 +0200
-@@ -36,13 +36,13 @@
+diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
+index fe8e003..378512c 100644
+--- a/Modules/Platform/Linux.cmake
++++ b/Modules/Platform/Linux.cmake
+@@ -36,13 +36,13 @@ else()
    # checking the platform every time.  This option is advanced enough
    # that only package maintainers should need to adjust it.  They are
    # capable of providing a setting on the command line.
--  IF(EXISTS "/etc/debian_version")
--    SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
+-  if(EXISTS "/etc/debian_version")
+-    set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
 -      "Install .so files without execute permission.")
--  ELSE(EXISTS "/etc/debian_version")
-+  #IF(EXISTS "/etc/debian_version")
-+  #  SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
-+  #    "Install .so files without execute permission.")
-+  #ELSE(EXISTS "/etc/debian_version")
-     SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
+-  else()
++  # if(EXISTS "/etc/debian_version")
++  #   set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
++  #     "Install .so files without execute permission.")
++  # else()
+     set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
        "Install .so files without execute permission.")
--  ENDIF(EXISTS "/etc/debian_version")
-+  #ENDIF(EXISTS "/etc/debian_version")
- ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
+-  endif()
++  # endif()
+ endif()
  
  # Match multiarch library directory names.
-@@ -52,6 +52,6 @@
+@@ -52,6 +52,6 @@ include(Platform/UnixPaths)
  
  # Debian has lib64 paths only for compatibility so they should not be
  # searched.
--IF(EXISTS "/etc/debian_version")
--  SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
--ENDIF(EXISTS "/etc/debian_version")
-+#IF(EXISTS "/etc/debian_version")
-+#  SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-+#ENDIF(EXISTS "/etc/debian_version")
-diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/Modules/Platform/UnixPaths.cmake
---- cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake	2011-07-08 14:21:44.000000000 +0200
-+++ cmake-2.8.5/Modules/Platform/UnixPaths.cmake	2011-07-21 19:50:52.000000000 +0200
-@@ -33,55 +33,18 @@
+-if(EXISTS "/etc/debian_version")
+-  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
+-endif()
++# if(EXISTS "/etc/debian_version")
++#  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
++#endif()
+diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
+index ccb2663..39834e6 100644
+--- a/Modules/Platform/UnixPaths.cmake
++++ b/Modules/Platform/UnixPaths.cmake
+@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
  # search types.
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
    # Standard
 -  /usr/local /usr /
 -
@@ -47,7 +49,7 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M
 -  )
 -
 -# List common include file locations not under the common prefixes.
--LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
 -  # Windows API on Cygwin
 -  /usr/include/w32api
 -
@@ -56,11 +58,11 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M
 -
 -  # Other
 -  /usr/pkg/include
--  /opt/csw/include /opt/include  
+-  /opt/csw/include /opt/include
 -  /usr/openwin/include
 -  )
 -
--LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
 -  # Windows API on Cygwin
 -  /usr/lib/w32api
 -
@@ -69,25 +71,25 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M
 -
 -  # Other
 -  /usr/pkg/lib
--  /opt/csw/lib /opt/lib 
+-  /opt/csw/lib /opt/lib
 -  /usr/openwin/lib
 -  )
 -
--LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
+-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
 -  /usr/pkg/bin
 +  "@glibc@"
    )
  
- LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
 -  /lib /usr/lib /usr/lib32 /usr/lib64
 +  "@glibc@/lib"
    )
  
- LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+ list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
 -  /usr/include
 +  "@glibc@/include"
    )
- LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+ list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
 -  /usr/include
 +  "@glibc@/include"
    )
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 175e538e519..39052fea6cb 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -47,7 +47,7 @@ cmakeConfigurePhase() {
     eval "$postConfigure"
 }
 
-if [ -z "$dontUseCmakeConfigure" -a ! -v configurePhase ]; then
+if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
     configurePhase=cmakeConfigurePhase
 fi
 
@@ -56,3 +56,20 @@ if [ -n "$crossConfig" ]; then
 else
     envHooks+=(addCMakeParams)
 fi
+
+makeCmakeFindLibs(){
+  for flag in $NIX_CFLAGS_COMPILE $NIX_LDFLAGS; do
+    case $flag in
+      -I*)
+        export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}"
+        ;;
+      -L*)
+        export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
+        ;;
+    esac
+  done
+}
+
+# not using setupHook, because it could be a setupHook adding additional
+# include flags to NIX_CFLAGS_COMPILE
+postHooks+=(makeCmakeFindLibs)
diff --git a/pkgs/development/tools/build-managers/colormake/default.nix b/pkgs/development/tools/build-managers/colormake/default.nix
index 25ef7ef0b24..edc901858b8 100644
--- a/pkgs/development/tools/build-managers/colormake/default.nix
+++ b/pkgs/development/tools/build-managers/colormake/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Simple wrapper around make to colorize the output";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/tools/build-managers/gnumake-3.80/default.nix b/pkgs/development/tools/build-managers/gnumake/3.80/default.nix
index b0926a7f531..b0926a7f531 100644
--- a/pkgs/development/tools/build-managers/gnumake-3.80/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/3.80/default.nix
diff --git a/pkgs/development/tools/build-managers/gnumake-3.80/log.patch b/pkgs/development/tools/build-managers/gnumake/3.80/log.patch
index fa90acfe8de..fa90acfe8de 100644
--- a/pkgs/development/tools/build-managers/gnumake-3.80/log.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.80/log.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/3.81.nix b/pkgs/development/tools/build-managers/gnumake/3.81.nix
deleted file mode 100644
index 56d2326c916..00000000000
--- a/pkgs/development/tools/build-managers/gnumake/3.81.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{stdenv, fetchurl}:
-
-let version = "3.81"; in
-stdenv.mkDerivation {
-  name = "gnumake-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnu/make/make-${version}.tar.bz2";
-    md5 = "354853e0b2da90c527e35aabb8d6f1e6";
-  };
-
-  doCheck = true;
-
-  patches =
-    [
-      # Provide nested log output for subsequent pretty-printing by
-      # nix-log2xml.
-      ./log-3.81.patch
-
-      # Purity: don't look for library dependencies (of the form
-      # `-lfoo') in /lib and /usr/lib.  It's a stupid feature anyway.
-      # Likewise, when searching for included Makefiles, don't look in
-      # /usr/include and friends.
-      ./impure-dirs.patch
-    ];
-  patchFlags = "-p0";
-
-  meta = {
-    description = "GNU Make, a program controlling the generation of non-source files from sources";
-
-    longDescription =
-      '' Make is a tool which controls the generation of executables and
-         other non-source files of a program from the program's source files.
-
-         Make gets its knowledge of how to build your program from a file
-         called the makefile, which lists each of the non-source files and
-         how to compute it from other files. When you write a program, you
-         should write a makefile for it, so that it is possible to use Make
-         to build and install the program.
-      '';
-
-    homepage = http://www.gnu.org/software/make/;
-
-    license = "GPLv2+";
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/gnumake/3.81/default.nix b/pkgs/development/tools/build-managers/gnumake/3.81/default.nix
new file mode 100644
index 00000000000..2a8c80e7db2
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/3.81/default.nix
@@ -0,0 +1,47 @@
+{stdenv, fetchurl}:
+
+let version = "3.81"; in
+stdenv.mkDerivation {
+  name = "gnumake-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/make/make-${version}.tar.bz2";
+    md5 = "354853e0b2da90c527e35aabb8d6f1e6";
+  };
+
+  doCheck = true;
+
+  patches =
+    [
+      # Provide nested log output for subsequent pretty-printing by
+      # nix-log2xml.
+      ./log-3.81.patch
+
+      # Purity: don't look for library dependencies (of the form
+      # `-lfoo') in /lib and /usr/lib.  It's a stupid feature anyway.
+      # Likewise, when searching for included Makefiles, don't look in
+      # /usr/include and friends.
+      ./impure-dirs.patch
+    ];
+  patchFlags = "-p0";
+
+  meta = {
+    description = "GNU Make, a program controlling the generation of non-source files from sources";
+
+    longDescription =
+      '' Make is a tool which controls the generation of executables and
+         other non-source files of a program from the program's source files.
+
+         Make gets its knowledge of how to build your program from a file
+         called the makefile, which lists each of the non-source files and
+         how to compute it from other files. When you write a program, you
+         should write a makefile for it, so that it is possible to use Make
+         to build and install the program.
+      '';
+
+    homepage = http://www.gnu.org/software/make/;
+
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch b/pkgs/development/tools/build-managers/gnumake/3.81/impure-dirs.patch
index f6646f1d012..f6646f1d012 100644
--- a/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.81/impure-dirs.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/log-3.81.patch b/pkgs/development/tools/build-managers/gnumake/3.81/log-3.81.patch
index b98d85a0826..b98d85a0826 100644
--- a/pkgs/development/tools/build-managers/gnumake/log-3.81.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.81/log-3.81.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/MAKEFLAGS-reexec.patch b/pkgs/development/tools/build-managers/gnumake/3.82/MAKEFLAGS-reexec.patch
index a2f59657d4c..a2f59657d4c 100644
--- a/pkgs/development/tools/build-managers/gnumake/MAKEFLAGS-reexec.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/MAKEFLAGS-reexec.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/archives-many-objs.patch b/pkgs/development/tools/build-managers/gnumake/3.82/archives-many-objs.patch
index 73c0381ced4..73c0381ced4 100644
--- a/pkgs/development/tools/build-managers/gnumake/archives-many-objs.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/archives-many-objs.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/construct-command-line.patch b/pkgs/development/tools/build-managers/gnumake/3.82/construct-command-line.patch
index aa4a1afe3fd..aa4a1afe3fd 100644
--- a/pkgs/development/tools/build-managers/gnumake/construct-command-line.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/construct-command-line.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/copy-on-expand.patch b/pkgs/development/tools/build-managers/gnumake/3.82/copy-on-expand.patch
index 3f202b4db96..3f202b4db96 100644
--- a/pkgs/development/tools/build-managers/gnumake/copy-on-expand.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/copy-on-expand.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/darwin-library_search-dylib.patch b/pkgs/development/tools/build-managers/gnumake/3.82/darwin-library_search-dylib.patch
index de7e4f61521..de7e4f61521 100644
--- a/pkgs/development/tools/build-managers/gnumake/darwin-library_search-dylib.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/darwin-library_search-dylib.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/3.82/default.nix b/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
new file mode 100644
index 00000000000..6b24df39be9
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
@@ -0,0 +1,63 @@
+{stdenv, fetchurl}:
+
+let version = "3.82"; in
+stdenv.mkDerivation {
+  name = "gnumake-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/make/make-${version}.tar.bz2";
+    sha256 = "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2";
+  };
+
+  /* On Darwin, there are 3 test failures that haven't been investigated
+     yet.  */
+  doCheck = !stdenv.isDarwin && !stdenv.isFreeBSD;
+
+  patches =
+    [
+      # Provide nested log output for subsequent pretty-printing by
+      # nix-log2xml.
+      ./log.patch
+
+      # Purity: don't look for library dependencies (of the form
+      # `-lfoo') in /lib and /usr/lib.  It's a stupid feature anyway.
+      # Likewise, when searching for included Makefiles, don't look in
+      # /usr/include and friends.
+      ./impure-dirs.patch
+
+      # a bunch of patches from Gentoo, mostly should be from upstream (unreleased)
+      ./archives-many-objs.patch
+      ./MAKEFLAGS-reexec.patch
+      ./memory-corruption.patch
+      ./glob-speedup.patch
+      ./copy-on-expand.patch
+      ./oneshell.patch
+      ./parallel-remake.patch
+      ./intermediate-parallel.patch
+      ./construct-command-line.patch
+      ./long-command-line.patch
+      ./darwin-library_search-dylib.patch
+    ];
+  patchFlags = "-p0";
+
+  meta = {
+    description = "GNU Make, a program controlling the generation of non-source files from sources";
+
+    longDescription =
+      '' Make is a tool which controls the generation of executables and
+         other non-source files of a program from the program's source files.
+
+         Make gets its knowledge of how to build your program from a file
+         called the makefile, which lists each of the non-source files and
+         how to compute it from other files. When you write a program, you
+         should write a makefile for it, so that it is possible to use Make
+         to build and install the program.
+      '';
+
+    homepage = http://www.gnu.org/software/make/;
+
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/gnumake/glob-speedup.patch b/pkgs/development/tools/build-managers/gnumake/3.82/glob-speedup.patch
index 45971f33590..45971f33590 100644
--- a/pkgs/development/tools/build-managers/gnumake/glob-speedup.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/glob-speedup.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/3.82/impure-dirs.patch b/pkgs/development/tools/build-managers/gnumake/3.82/impure-dirs.patch
new file mode 100644
index 00000000000..f6646f1d012
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/impure-dirs.patch
@@ -0,0 +1,34 @@
+diff -rc read.c read.c
+*** read.c	2006-03-17 15:24:20.000000000 +0100
+--- read.c	2007-05-24 17:16:31.000000000 +0200
+***************
+*** 99,107 ****
+--- 99,109 ----
+  #endif
+      INCLUDEDIR,
+  #ifndef _AMIGA
++ #if 0    
+      "/usr/gnu/include",
+      "/usr/local/include",
+      "/usr/include",
++ #endif    
+  #endif
+      0
+    };
+diff -rc reremake.c
+*** remake.c	2006-03-20 03:36:37.000000000 +0100
+--- remake.c	2007-05-24 17:06:54.000000000 +0200
+***************
+*** 1452,1460 ****
+--- 1452,1462 ----
+    static char *dirs[] =
+      {
+  #ifndef _AMIGA
++ #if 0
+        "/lib",
+        "/usr/lib",
+  #endif
++ #endif
+  #if defined(WINDOWS32) && !defined(LIBDIR)
+  /*
+   * This is completely up to the user at product install time. Just define
diff --git a/pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch b/pkgs/development/tools/build-managers/gnumake/3.82/intermediate-parallel.patch
index 9bb7add0bde..9bb7add0bde 100644
--- a/pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/intermediate-parallel.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/log.patch b/pkgs/development/tools/build-managers/gnumake/3.82/log.patch
index e6197fd8e78..e6197fd8e78 100644
--- a/pkgs/development/tools/build-managers/gnumake/log.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/log.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/long-command-line.patch b/pkgs/development/tools/build-managers/gnumake/3.82/long-command-line.patch
index 39ea05843bf..39ea05843bf 100644
--- a/pkgs/development/tools/build-managers/gnumake/long-command-line.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/long-command-line.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/memory-corruption.patch b/pkgs/development/tools/build-managers/gnumake/3.82/memory-corruption.patch
index b28c07353ec..b28c07353ec 100644
--- a/pkgs/development/tools/build-managers/gnumake/memory-corruption.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/memory-corruption.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/oneshell.patch b/pkgs/development/tools/build-managers/gnumake/3.82/oneshell.patch
index fbade127ce6..fbade127ce6 100644
--- a/pkgs/development/tools/build-managers/gnumake/oneshell.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/oneshell.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/parallel-remake.patch b/pkgs/development/tools/build-managers/gnumake/3.82/parallel-remake.patch
index a19fe7b7d62..a19fe7b7d62 100644
--- a/pkgs/development/tools/build-managers/gnumake/parallel-remake.patch
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/parallel-remake.patch
diff --git a/pkgs/development/tools/build-managers/gnumake/4.0/darwin-library_search-dylib.patch b/pkgs/development/tools/build-managers/gnumake/4.0/darwin-library_search-dylib.patch
new file mode 100644
index 00000000000..de7e4f61521
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.0/darwin-library_search-dylib.patch
@@ -0,0 +1,17 @@
+Fixed default libpatttern on Darwin, imported from prefix overlay.
+Got merged upstream:
+https://savannah.gnu.org/bugs/?37197
+--- default.c.orig	2009-05-02 12:25:24 +0200
++++ default.c	2009-05-02 12:25:58 +0200
+@@ -509,7 +509,11 @@
+ #ifdef __MSDOS__
+     ".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
+ #else
++#ifdef __APPLE__
++    ".LIBPATTERNS", "lib%.dylib lib%.a",
++#else
+     ".LIBPATTERNS", "lib%.so lib%.a",
++#endif
+ #endif
+ #endif
+ 
diff --git a/pkgs/development/tools/build-managers/gnumake/4.0/default.nix b/pkgs/development/tools/build-managers/gnumake/4.0/default.nix
new file mode 100644
index 00000000000..2da17490abf
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.0/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl}:
+
+let version = "4.0"; in
+stdenv.mkDerivation {
+  name = "gnumake-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/make/make-${version}.tar.bz2";
+    sha256 = "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6";
+  };
+
+  /* On Darwin, there are 3 test failures that haven't been investigated
+     yet.  */
+  doCheck = !stdenv.isDarwin && !stdenv.isFreeBSD;
+
+  patches =
+    [
+      # Purity: don't look for library dependencies (of the form
+      # `-lfoo') in /lib and /usr/lib.  It's a stupid feature anyway.
+      # Likewise, when searching for included Makefiles, don't look in
+      # /usr/include and friends.
+      ./impure-dirs.patch
+
+      # a bunch of patches from Gentoo, mostly should be from upstream (unreleased)
+      ./darwin-library_search-dylib.patch
+    ];
+  patchFlags = "-p0";
+
+  meta = {
+    description = "GNU Make, a program controlling the generation of non-source files from sources";
+
+    longDescription =
+      '' Make is a tool which controls the generation of executables and
+         other non-source files of a program from the program's source files.
+
+         Make gets its knowledge of how to build your program from a file
+         called the makefile, which lists each of the non-source files and
+         how to compute it from other files. When you write a program, you
+         should write a makefile for it, so that it is possible to use Make
+         to build and install the program.
+      '';
+
+    homepage = http://www.gnu.org/software/make/;
+
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/gnumake/4.0/impure-dirs.patch b/pkgs/development/tools/build-managers/gnumake/4.0/impure-dirs.patch
new file mode 100644
index 00000000000..f6646f1d012
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.0/impure-dirs.patch
@@ -0,0 +1,34 @@
+diff -rc read.c read.c
+*** read.c	2006-03-17 15:24:20.000000000 +0100
+--- read.c	2007-05-24 17:16:31.000000000 +0200
+***************
+*** 99,107 ****
+--- 99,109 ----
+  #endif
+      INCLUDEDIR,
+  #ifndef _AMIGA
++ #if 0    
+      "/usr/gnu/include",
+      "/usr/local/include",
+      "/usr/include",
++ #endif    
+  #endif
+      0
+    };
+diff -rc reremake.c
+*** remake.c	2006-03-20 03:36:37.000000000 +0100
+--- remake.c	2007-05-24 17:06:54.000000000 +0200
+***************
+*** 1452,1460 ****
+--- 1452,1462 ----
+    static char *dirs[] =
+      {
+  #ifndef _AMIGA
++ #if 0
+        "/lib",
+        "/usr/lib",
+  #endif
++ #endif
+  #if defined(WINDOWS32) && !defined(LIBDIR)
+  /*
+   * This is completely up to the user at product install time. Just define
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix
deleted file mode 100644
index 4f3c7defa48..00000000000
--- a/pkgs/development/tools/build-managers/gnumake/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{stdenv, fetchurl}:
-
-let version = "3.82"; in
-stdenv.mkDerivation {
-  name = "gnumake-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnu/make/make-${version}.tar.bz2";
-    sha256 = "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2";
-  };
-
-  /* On Darwin, there are 3 test failures that haven't been investigated
-     yet.  */
-  doCheck = !stdenv.isDarwin && !stdenv.isFreeBSD;
-
-  patches =
-    [
-      # Provide nested log output for subsequent pretty-printing by
-      # nix-log2xml.
-      ./log.patch
-
-      # Purity: don't look for library dependencies (of the form
-      # `-lfoo') in /lib and /usr/lib.  It's a stupid feature anyway.
-      # Likewise, when searching for included Makefiles, don't look in
-      # /usr/include and friends.
-      ./impure-dirs.patch
-
-      # a bunch of patches from Gentoo, mostly should be from upstream (unreleased)
-      ./archives-many-objs.patch
-      ./MAKEFLAGS-reexec.patch
-      ./memory-corruption.patch
-      ./glob-speedup.patch
-      ./copy-on-expand.patch
-      ./oneshell.patch
-      ./parallel-remake.patch
-      ./intermediate-parallel.patch
-      ./construct-command-line.patch
-      ./long-command-line.patch
-      ./darwin-library_search-dylib.patch
-    ];
-  patchFlags = "-p0";
-
-  meta = {
-    description = "GNU Make, a program controlling the generation of non-source files from sources";
-
-    longDescription =
-      '' Make is a tool which controls the generation of executables and
-         other non-source files of a program from the program's source files.
-
-         Make gets its knowledge of how to build your program from a file
-         called the makefile, which lists each of the non-source files and
-         how to compute it from other files. When you write a program, you
-         should write a makefile for it, so that it is possible to use Make
-         to build and install the program.
-      '';
-
-    homepage = http://www.gnu.org/software/make/;
-
-    license = "GPLv3+";
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 97b50d0019f..b7316fc17c4 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, jdk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "gradle-1.8";
+  name = "gradle-1.11";
 
   src = fetchurl {
     url = "http://services.gradle.org/distributions/${name}-bin.zip";
-    sha256 = "00spxad9b5vddshp02cic0ds8icgb1clknl7494f467x2pxbnhm3";
+    sha256 = "14a0qdzjiar97l9a0i3ds2y48p1lrqkj7skkkvhz0r29hbgkbqh7";
   };
 
   installPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper ${jdk}/bin/java $out/bin/gradle \
       --set JAVA_HOME ${jdk} \
-      --add-flags "-classpath $out/lib/gradle-launcher-1.8.jar org.gradle.launcher.GradleMain"
+      --add-flags "-classpath $out/lib/gradle-launcher-1.11.jar org.gradle.launcher.GradleMain"
   '';
 
   phases = "unpackPhase installPhase";
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
       build-by-convention behavior.
     '';
     homepage = http://www.gradle.org/;
-    license = "ASL2.0";
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
index 8d0924028cc..c28854ca089 100644
--- a/pkgs/development/tools/build-managers/leiningen/builder.sh
+++ b/pkgs/development/tools/build-managers/leiningen/builder.sh
@@ -1,16 +1,14 @@
 #!/bin/bash
 
-set -e
-
 source $stdenv/setup
 
-mkdir -pv $out/bin $out/lib
+mkdir -pv $out/bin $out/share/java
 
 out_bin=$out/bin/lein
 
 cp -v $src $out_bin
-cp -v $jarsrc $out/lib
-cp -v $clojure/lib/java/* $out/lib
+cp -v $jarsrc $out/share/java
+cp -v $clojure/share/java/* $out/share/java/
 
 for p in $patches;
 do
@@ -21,5 +19,6 @@ chmod -v 755 $out_bin
 patchShebangs $out
 
 wrapProgram $out_bin \
-    --prefix PATH ":" ${rlwrap}/bin \
-    --set LEIN_GPG ${gnupg}/bin/gpg
+    --prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \
+    --set LEIN_GPG ${gnupg}/bin/gpg \
+    --set JAVA_CMD ${jdk}/bin/java
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index b1664010550..99353a1a192 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -1,23 +1,24 @@
-{ stdenv, fetchurl, makeWrapper, jdk, rlwrap, clojure, gnupg }:
+{ stdenv, fetchurl, makeWrapper
+, coreutils, findutils, jdk, rlwrap, clojure, gnupg }:
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.3.2";
+  version = "2.4.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "1dpvs6b2n309ixglmdpw64k8fbz8n4rd61xp4jrih0z7dgvcql6h";
+    sha256 = "1qdq3v7wv9jacw4bipgx24knlipw6zdcx43yd1qyw6zwaad51ckw";
   };
 
   jarsrc = fetchurl {
-    url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar";
-    sha256 = "0g6sgmgl0azawwchi86qxqsknk753ffwiszsxg4idqb713ac6cda";
+    url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.jar";
+    sha256 = "0n4kpmzw9nvppq758lhnrr7xps5j6gwmdm98m772cj7j4vixsrzb";
   };
 
-  patches = ./lein_2.3.0.patch;
+  patches = [ ./lein-fix-jar-path.patch ];
 
-  inherit rlwrap clojure gnupg;
+  inherit rlwrap clojure gnupg findutils coreutils jdk;
 
   builder = ./builder.sh;
 
@@ -30,6 +31,6 @@ stdenv.mkDerivation rec {
     description = "Project automation for Clojure";
     license = "EPL";
     platforms = stdenv.lib.platforms.linux;
-    maintainer = with stdenv.lib.maintainers; [ the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch b/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch
new file mode 100644
index 00000000000..f7d5bc4d9a7
--- /dev/null
+++ b/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch
@@ -0,0 +1,4 @@
+46c47
+< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
+---
+> LEIN_JAR=$(find $(dirname $0)/../share/java -name *-standalone.jar | head -n 1)
diff --git a/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch b/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch
deleted file mode 100644
index 23f6b624776..00000000000
--- a/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch
+++ /dev/null
@@ -1,4 +0,0 @@
-46c47
-< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
----
-> LEIN_JAR=$(find $(dirname $0)/../lib -name *-standalone.jar | head -n 1)
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index ed9890150a3..d62e000fc2a 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ninja-${version}";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/martine/ninja/archive/v${version}.tar.gz";
-    sha256 = "05y3whnp0fvfv1wsp862x0w1vrn3yjzzg8ypvbpcv6y6qlrsn73h";
+    sha256 = "0z9rzay6ipy6q025n1f2im8d8jy6in9pcdsiqj30xpdlsjg7p9zv";
   };
 
   buildInputs = [ python asciidoc re2c ];
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://martine.github.io/ninja/;
     license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.thoughtpolice maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index ac695178541..d10d9d6d1a3 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchurl, erlang }:
 
+
+let
+  version = "2.5.1";
+in
 stdenv.mkDerivation {
-  name = "rebar-2.1.0-pre";
+  name = "rebar-${version}";
 
   src = fetchurl {
-    url = "https://github.com/basho/rebar/archive/2.1.0-pre.tar.gz";
-    sha256 = "0dsbk9ssvk1hx9275900dg4bz79kpwcid4gsz09ziiwzv0jjbrjn";
+    url = "https://github.com/rebar/rebar/archive/${version}.tar.gz";
+    sha256 = "1y9b0smw0g5q197xf4iklzmcf8ad6w52p6mwzpf7b0ib1nd89jw6";
   };
 
   buildInputs = [ erlang ];
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index ddd8927a9a4..93f7699481c 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "scons";
-  version = "2.1.0";
+  version = "2.3.2";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
-    sha256 = "4139ed14f60dd2ebcd47c59984d14705636180eb27b3d1b2949489e514b1921d";
+    sha256 = "1m29lhwz7p6k4f8wc8qjpwa89058lzq3vrycgxbfc5cmbq6354zr";
   };
 
   buildInputs = [python makeWrapper];
@@ -23,10 +23,12 @@ stdenv.mkDerivation {
   buildPhase = "python setup.py install --prefix=$out --install-data=$out/share --install-lib=$(toPythonPath $out) --symlink-scons -O1";
   installPhase = "for n in $out/bin/*-${version}; do wrapProgram $n --suffix PYTHONPATH ':' \"$(toPythonPath $out)\"; done";
 
+  pythonPath = [];
+
   meta = {
     homepage = "http://scons.org/";
     description = "An improved, cross-platform substitute for Make";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     longDescription = ''
       SCons is an Open Source software construction tool. Think of
       SCons as an improved, cross-platform substitute for the classic
diff --git a/pkgs/development/tools/build-managers/scons/default.upstream b/pkgs/development/tools/build-managers/scons/default.upstream
new file mode 100644
index 00000000000..f9dae2818c8
--- /dev/null
+++ b/pkgs/development/tools/build-managers/scons/default.upstream
@@ -0,0 +1,10 @@
+url http://sourceforge.net/projects/scons/files/scons/
+SF_version_dir
+version_link '[.]tar[.]gz/download$'
+SF_redirect
+ensure_hash
+
+do_overwrite() {
+  set_var_value version "$CURRENT_VERSION"
+  set_var_value sha256 "$CURRENT_HASH"
+}
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
index e446bf1c1eb..b54f894d8eb 100644
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
@@ -1,93 +1,30 @@
-{ stdenv, versionedDerivation, fetchurl, version ? "xsbt-0.12.3" }:
+{ stdenv, fetchurl, jre }:
 
-let
+stdenv.mkDerivation rec {
+  name = "sbt-${version}";
+  version = "0.13.5";
 
-      description = "A build tool for Scala";
-      longDescription = name: ''
-        ${name} is a simple build tool for Scala projects that aims to do the
-        basics well.
-
-        This package is the sbt launcher which automatically manages
-        and downloads dependencies, including the SBT package and the
-        Scala compiler.
-      '';
-
-      metaSBT = {
-        inherit description;
-        longDescription = longDescription "sbt";
-        homepage = http://code.google.com/p/simple-build-tool/;
-        license = "bsd";
-      };
-
-      metaXSBT = {
-        inherit description;
-        longDescription = longDescription "xsbt";
-        homepage = https://github.com/harrah/xsbt;
-        license = "bsd";
-      };
-
-in
-
-# Depends on a JRE at runtime.
-
-versionedDerivation "simple-build-tool" version {
-  "0.7.3" = let version = "0.7.3"; in {
-    name = "simple-build-tool-${version}";
-    src = fetchurl {
-      url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
-      sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6k";
-    };
-    meta = metaSBT;
-  };
-
-  "0.7.7" = let version = "0.7.7"; in {
-    name = "simple-build-tool-${version}";
-    src = fetchurl {
-      url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
-      # sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6j";
-      sha256 = "2720b033012a7509f7fbdfddfa69c07b105452a6f95bc410cb7dc34c1594ab3d";
-    };
-    meta = metaSBT;
+  src = fetchurl {
+    url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
+    sha256 = "05zvb3j7xxswpz7fz2nwbl4dwfdf0cyx5xzjis5fyi2dbzmfdrmp";
   };
 
-  "xsbt-0.11.2" = let version = "0.11.2"; in { # scala 2.9
-    name = "xsbt-${version}";
-
-    # scala needs much more PermGen space
-    javaArgs = "-Xmx1024M";
-    # from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
-    src = fetchurl {
-      url = http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar;
-      sha256 = "14fbzvb1s66wpbqznw65a7nn27qrq1i9pd7wlbydv8ffl49d262n";
-    };
-    meta = metaXSBT;
-  };
-
-  "xsbt-0.12.3" = let version = "0.12.3"; in {
-    name = "xsbt-${version}";
-
-    # Recommended java options from sbt Getting started guide
-    javaArgs = "-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M";
-    # from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
-    src = fetchurl {
-      url = http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.3/sbt-launch.jar;
-      sha256 = "11r26abjzmnmpn65ndbq60qg31s3ichkvzpmxyrq941s1n1dbxgh";
-    };
-    meta = metaXSBT;
-  };
-}
-{
+  phases = [ "installPhase" ];
 
   installPhase = ''
-    mkdir -pv "$out/lib/java"
-    cp $src "$out/lib/java/sbt-launch-${version}.jar"
-    mkdir -p "$out/bin"
-    cat > "$out/bin/sbt" <<EOF
-    #! /bin/sh
-    exec java $javaArgs -jar $out/lib/java/sbt-launch-${version}.jar "\$@"
+    mkdir -p $out/bin
+    cat > $out/bin/sbt << EOF
+    #!/bin/sh
+    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
+    ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
     EOF
-    chmod u+x "$out/bin/sbt"
+    chmod +x $out/bin/sbt
   '';
 
-  phases = "installPhase";
+  meta = {
+    homepage = http://www.scala-sbt.org/;
+    license = stdenv.lib.licenses.bsd3;
+    description = "A build tool for Scala, Java and more";
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
 }
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch b/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch
deleted file mode 100644
index b3a67515620..00000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/cdecl.c	2009-07-07 13:20:37.000000000 +0200
-+++ a/cdecl.c.new	2009-07-07 13:25:00.000000000 +0200
-@@ -91,7 +91,7 @@
- #ifdef USE_READLINE
- # include <readline/readline.h>
-   /* prototypes for functions related to readline() */
--  char * getline();
-+  char * mygetline();
-   char ** attempt_completion(char *, int, int);
-   char * keyword_completion(char *, int);
-   char * command_completion(char *, int);
-@@ -375,7 +375,7 @@
- static char *line_read = NULL;
- 
- /* Read a string, and return a pointer to it.  Returns NULL on EOF. */
--char * getline ()
-+char * mygetline ()
- {
-   /* If the buffer has already been allocated, return the memory
-      to the free pool. */
-@@ -887,7 +887,7 @@
- 
- 	if (!quiet) (void) printf("Type `help' or `?' for help\n");
- 	ret = 0;
--	while ((line = getline())) {
-+	while ((line = mygetline())) {
- 	    if (!strcmp(line, "quit") || !strcmp(line, "exit")) {
- 		free(line);
- 		return ret;
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch b/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch
deleted file mode 100644
index ee4949beb6e..00000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: cdecl-2.5/cdecl.c
-===================================================================
---- cdecl-2.5.orig/cdecl.c
-+++ cdecl-2.5/cdecl.c
-@@ -204,6 +204,7 @@ int DebugFlag = 0;		/* -d, output debugg
- #define ANSI	4	/* combo not allowed anymore in ANSI compiler */
- #define A	ANSI
- 
-+extern char **completion_matches PARAMS((char *, rl_compentry_func_t *));
- /* This is an lower left triangular array. If we needed */
- /* to save 9 bytes, the "long" row can be removed. */
- char crosscheck[9][9] = {
\ No newline at end of file
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
new file mode 100644
index 00000000000..ecdee5d544f
--- /dev/null
+++ b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 1643b74..8f1ae11 100644
+--- a/Makefile
++++ b/Makefile
+@@ -33,7 +33,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
+ 	rm -f cdecl
+ 
+ cdlex.c: cdlex.l
+-	lex cdlex.l && mv lex.yy.c cdlex.c
++	flex cdlex.l && mv lex.yy.c cdlex.c
+ 
+ cdgram.c: cdgram.y
+ 	yacc cdgram.y && mv y.tab.c cdgram.c
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5.patch b/pkgs/development/tools/cdecl/cdecl-2.5.patch
deleted file mode 100644
index 4b00849f372..00000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 9e85686..b8e6e02 100644
---- a/Makefile
-+++ b/Makefile
-@@ -15,13 +15,14 @@
- #
- # add -DUSE_READLINE	To compile in support for the GNU readline library.
- 
--CFLAGS= -s -O2 -DUSE_READLINE
-+CFLAGS=-DUSE_READLINE
- CC= gcc
--LIBS= -lreadline -ltermcap
-+LIBS= -lreadline -lncursesw
- ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++
--BINDIR= /usr/bin
--MANDIR= /usr/man/man1
--CATDIR= /usr/man/cat1
-+PREFIX?= /usr
-+BINDIR= $(PREFIX)/bin
-+MANDIR= $(PREFIX)/man/man1
-+CATDIR= $(PREFIX)/man/cat1
- INSTALL= install -c
- INSTALL_DATA= install -c -m 644
- 
-@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
- 	rm -f cdecl
- 
- cdlex.c: cdlex.l
--	lex cdlex.l && mv lex.yy.c cdlex.c
-+	flex cdlex.l && mv lex.yy.c cdlex.c
- 
- cdgram.c: cdgram.y
- 	yacc cdgram.y && mv y.tab.c cdgram.c
-@@ -43,8 +44,10 @@ test:
- 	./c++decl < testset++
- 
- install: cdecl
-+	$(INSTALL) -d $(BINDIR)
- 	$(INSTALL) cdecl $(BINDIR)
- 	ln $(BINDIR)/cdecl $(BINDIR)/c++decl
-+	$(INSTALL) -d $(MANDIR)
- 	$(INSTALL_DATA) cdecl.1 $(MANDIR)
- 	$(INSTALL_DATA) c++decl.1 $(MANDIR)
- 
-diff --git a/cdecl.c b/cdecl.c
-index f03f01e..1fdde9f 100644
---- a/cdecl.c
-+++ b/cdecl.c
-@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c	2.5 1/15/96";
- # include <stddef.h>
- # include <string.h>
- # include <stdarg.h>
-+# include <errno.h>
- #else
- # ifndef NOVARARGS
- #  include <varargs.h>
-@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3];
- 
- #if __STDC__
-   char *ds(char *), *cat(char *, ...), *visible(int);
--  int getopt(int,char **,char *);
-   int main(int, char **);
-   int yywrap(void);
-   int dostdin(void);
diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix
index a9eb323f9a8..d923fea8b59 100644
--- a/pkgs/development/tools/cdecl/default.nix
+++ b/pkgs/development/tools/cdecl/default.nix
@@ -1,22 +1,25 @@
-{stdenv, fetchurl, yacc, flex, readline, ncurses}:
+{stdenv, fetchurl, yacc, flex, readline, ncurses, gnused}:
 
 stdenv.mkDerivation {
   name = "cdecl-2.5";
   src = fetchurl {
-    url = ftp://metalab.unc.edu/pub/linux/devel/lang/c/cdecl-2.5.tar.gz;
-    md5 = "29895dab52e85b2474a59449e07b7996";
+    url = "http://cdecl.org/files/cdecl-blocks-2.5.tar.gz";
+    md5 = "c1927e146975b1c7524cbaf07a7c10f8";
   };
 
-  patches = [ ./cdecl-2.5-implicit-pointer.patch ./cdecl-2.5.patch ./cdecl-2.5-gentoo.patch ];
-  preBuild = "
-    makeFlags=\"PREFIX=$out\"
-  ";
+  patches = [ ./cdecl-2.5-lex.patch ];
+  preBuild = ''
+    ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c;
+    makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline);
+    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1";
+    mkdir -p $out/bin;
+  '';
   buildInputs = [yacc flex readline ncurses];
 
   meta = {
     description = "Translator English -- C/C++ declarations";
     license = "Public Domain";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [viric joelteon];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
new file mode 100644
index 00000000000..5194684261c
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "jenkins";
+  version = "1.550";
+
+  src = fetchurl {
+    url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
+    sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793";
+  };
+  meta = {
+    description = "An extendable open source continuous integration server.";
+    homepage = http://jenkins-ci.org;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.coconnor ];
+  };
+
+  buildCommand = "ln -s $src $out";
+}
diff --git a/pkgs/development/tools/documentation/docutils/default.nix b/pkgs/development/tools/documentation/docutils/default.nix
index f6edcf54463..cd01cf059d6 100644
--- a/pkgs/development/tools/documentation/docutils/default.nix
+++ b/pkgs/development/tools/documentation/docutils/default.nix
@@ -2,15 +2,15 @@ a :
 let 
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.10" a; 
+  version = a.lib.attrByPath ["version"] "0.11" a;
   buildInputs = with a; [
-    python pil makeWrapper 
+    python pil makeWrapper
   ];
 in
 rec {
   src = fetchurl {
     url = "http://prdownloads.sourceforge.net/docutils/docutils-${version}.tar.gz";
-    sha256 = "0gk0733w34zibzvi6paqqfbbajzaxajc4z5i5wpxlwv73gk281ip";
+    sha256 = "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s";
   };
 
   inherit buildInputs;
diff --git a/pkgs/development/tools/documentation/doxygen/1.7.nix b/pkgs/development/tools/documentation/doxygen/1.7.nix
deleted file mode 100644
index f530ed70e37..00000000000
--- a/pkgs/development/tools/documentation/doxygen/1.7.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchurl, perl, flex, bison, qt4 }:
-
-let
-  name = "doxygen-1.7.4";
-in
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchurl {
-    url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "0rnzyp5f8c454fdkgpg5hpxwmx642spgxcpw3blbvnyw8129jp44";
-  };
-
-  patches = [ ./tmake.patch ];
-
-  buildInputs =
-    [ perl flex bison ]
-    ++ stdenv.lib.optional (qt4 != null) qt4;
-
-  prefixKey = "--prefix ";
-
-  configureFlags =
-    [ "--dot dot" ]
-    ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard";
-
-  preConfigure = stdenv.lib.optionalString (qt4 != null)
-    ''
-      echo "using QTDIR=${qt4}..."
-      export QTDIR=${qt4}
-    '';
-
-  makeFlags = "MAN1DIR=share/man/man1";
-
-  enableParallelBuilding = true;
-
-  meta = {
-    license = "GPLv2+";
-    homepage = "http://doxygen.org/";
-    description = "Doxygen, a source code documentation generator tool";
-
-    longDescription = ''
-      Doxygen is a documentation system for C++, C, Java, Objective-C,
-      Python, IDL (CORBA and Microsoft flavors), Fortran, VHDL, PHP,
-      C\#, and to some extent D.  It can generate an on-line
-      documentation browser (in HTML) and/or an off-line reference
-      manual (in LaTeX) from a set of documented source files.
-    '';
-
-    maintainers = [stdenv.lib.maintainers.simons];
-    platforms = if qt4 != null then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index 4f2ef6df849..54509178b1a 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, perl, flex, bison, qt4 }:
+{ stdenv, fetchurl, perl, python, flex, bison, qt4 }:
 
 let
-  name = "doxygen-1.8.3.1";
+  name = "doxygen-1.8.6";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "0m9bwxg9g2h5fp9as0l0rmibm9ing39nssfrn3608v0v21l9yx0c";
+    sha256 = "0pskjlkbj76m9ka7zi66yj8ffjcv821izv3qxqyyphf0y0jqcwba";
   };
 
   patches = [ ./tmake.patch ];
 
   buildInputs =
-    [ perl flex bison ]
+    [ perl python flex bison ]
     ++ stdenv.lib.optional (qt4 != null) qt4;
 
   prefixKey = "--prefix ";
@@ -23,7 +23,10 @@ stdenv.mkDerivation {
     [ "--dot dot" ]
     ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard";
 
-  preConfigure = stdenv.lib.optionalString (qt4 != null)
+  preConfigure =
+    ''
+      patchShebangs .
+    '' + stdenv.lib.optionalString (qt4 != null)
     ''
       echo "using QTDIR=${qt4}..."
       export QTDIR=${qt4}
@@ -34,7 +37,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = {
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = "http://doxygen.org/";
     description = "Doxygen, a source code documentation generator tool";
 
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 374002e8d6c..b653c705478 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -2,11 +2,11 @@
 , makeWrapper, pythonPackages }:
 
 stdenv.mkDerivation {
-  name = "gnome-doc-utils-0.20.7";
+  name = "gnome-doc-utils-0.20.10";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.7.tar.xz;
-    sha256 = "01lcq6gm4q9awvg7lccq43qh8g4ibz49s2mgykin78mgph9h396q";
+    url = mirror://gnome/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz;
+    sha256 = "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb";
   };
 
   configureFlags = "--disable-scrollkeeper";
diff --git a/pkgs/development/tools/documentation/haddock/2.10.0.nix b/pkgs/development/tools/documentation/haddock/2.10.0.nix
index cfda3b66704..af9a72058b2 100644
--- a/pkgs/development/tools/documentation/haddock/2.10.0.nix
+++ b/pkgs/development/tools/documentation/haddock/2.10.0.nix
@@ -1,4 +1,4 @@
-{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml }:
+{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml, makeWrapper }:
 
 cabal.mkDerivation (self: {
   pname = "haddock";
@@ -6,15 +6,21 @@ cabal.mkDerivation (self: {
   sha256 = "045lmmna5nwj07si81vxms5xkkmqvjsiif20nny5mvlabshxn1yi";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ Cabal filepath ghcPaths xhtml ];
+  buildDepends = [ Cabal filepath ghcPaths xhtml makeWrapper ];
   testDepends = [ Cabal filepath ];
   buildTools = [ alex happy ];
   doCheck = false;
+
+  postInstall = ''
+   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
+  '';
+
   meta = {
     homepage = "http://www.haskell.org/haddock/";
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.11.0.nix b/pkgs/development/tools/documentation/haddock/2.11.0.nix
index 968efe2260b..d43e529585b 100644
--- a/pkgs/development/tools/documentation/haddock/2.11.0.nix
+++ b/pkgs/development/tools/documentation/haddock/2.11.0.nix
@@ -1,4 +1,4 @@
-{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml }:
+{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml, makeWrapper }:
 
 cabal.mkDerivation (self: {
   pname = "haddock";
@@ -6,15 +6,21 @@ cabal.mkDerivation (self: {
   sha256 = "0a29n6y9lmk5w78f6j8s7pg0m0k3wm7bx5r2lhk7bnzkr5f7rkcd";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ Cabal filepath ghcPaths xhtml ];
+  buildDepends = [ Cabal filepath ghcPaths xhtml makeWrapper ];
   testDepends = [ Cabal filepath ];
   buildTools = [ alex happy ];
   doCheck = false;
+
+  postInstall = ''
+   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
+  '';
+
   meta = {
     homepage = "http://www.haskell.org/haddock/";
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.12.0.nix b/pkgs/development/tools/documentation/haddock/2.12.0.nix
index 12907a64d21..b1249eee327 100644
--- a/pkgs/development/tools/documentation/haddock/2.12.0.nix
+++ b/pkgs/development/tools/documentation/haddock/2.12.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }:
 
 cabal.mkDerivation (self: {
@@ -15,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.13.2.1.nix b/pkgs/development/tools/documentation/haddock/2.13.2.1.nix
index 3cac6e13323..749fee28571 100644
--- a/pkgs/development/tools/documentation/haddock/2.13.2.1.nix
+++ b/pkgs/development/tools/documentation/haddock/2.13.2.1.nix
@@ -1,4 +1,4 @@
-{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }:
+{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml, makeWrapper }:
 
 cabal.mkDerivation (self: {
   pname = "haddock";
@@ -6,15 +6,21 @@ cabal.mkDerivation (self: {
   sha256 = "0kpk3bmlyd7cb6s39ix8s0ak65xhrln9mg481y3h24lf5syy5ky9";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml makeWrapper ];
   testDepends = [ Cabal deepseq filepath ];
   buildTools = [ alex happy ];
   doCheck = false;
+
+  postInstall = ''
+   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
+  '';
+
   meta = {
     homepage = "http://www.haskell.org/haddock/";
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.13.2.nix b/pkgs/development/tools/documentation/haddock/2.13.2.nix
index 95890f5bd43..aa5be90fbae 100644
--- a/pkgs/development/tools/documentation/haddock/2.13.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.13.2.nix
@@ -1,4 +1,4 @@
-{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }:
+{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml, makeWrapper }:
 
 cabal.mkDerivation (self: {
   pname = "haddock";
@@ -6,15 +6,21 @@ cabal.mkDerivation (self: {
   sha256 = "1qwj13ks3fzar14s587svv1pdiwk80m7x5pzn74v3jrqkn0xbrr5";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml makeWrapper ];
   testDepends = [ Cabal deepseq filepath ];
   buildTools = [ alex happy ];
   doCheck = false;
+
+  postInstall = ''
+   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
+  '';
+
   meta = {
     homepage = "http://www.haskell.org/haddock/";
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.14.2.nix b/pkgs/development/tools/documentation/haddock/2.14.2.nix
new file mode 100644
index 00000000000..c8ef4299f56
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.14.2.nix
@@ -0,0 +1,27 @@
+{ cabal, Cabal, deepseq, filepath, ghcPaths, hspec, QuickCheck
+, xhtml, makeWrapper
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.14.2";
+  sha256 = "0h96jj6y093h4gcqpiq0nyv7h5wjg8ji7z1im9ydivmsv0627prk";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml makeWrapper ];
+  testDepends = [ Cabal deepseq filepath hspec QuickCheck ];
+  doCheck = false;
+
+  postInstall = ''
+   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
+  '';
+
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/tools/documentation/haddock/2.14.3.nix b/pkgs/development/tools/documentation/haddock/2.14.3.nix
new file mode 100644
index 00000000000..a16994b1f2e
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.14.3.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, filepath, ghcPaths, hspec, QuickCheck
+, xhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.14.3";
+  sha256 = "031ikrsbkpmmwgdkgdr8s19dfx5y6n39rmyljjdfqygas17gcm6l";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
+  testDepends = [ Cabal deepseq filepath hspec QuickCheck ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/tools/documentation/haddock/2.4.2.nix b/pkgs/development/tools/documentation/haddock/2.4.2.nix
index 811ffd2855d..6493302218f 100644
--- a/pkgs/development/tools/documentation/haddock/2.4.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.4.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex, Cabal, filepath, ghcPaths, happy }:
 
 cabal.mkDerivation (self: {
@@ -14,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.7.2.nix b/pkgs/development/tools/documentation/haddock/2.7.2.nix
index fd31a96b291..53178aca0a1 100644
--- a/pkgs/development/tools/documentation/haddock/2.7.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.7.2.nix
@@ -5,7 +5,7 @@ cabal.mkDerivation (self : {
   version = "2.7.2"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
   name = self.fname;
   sha256 = "4eaaaf62785f0ba3d37ba356cfac4679faef91c0902d8cdbf42837cbe5daab82";
-  extraBuildInputs = [alex happy makeWrapper];
+  buildTools = [alex happy makeWrapper];
   propagatedBuildInputs = [ghcPaths];
   doCheck = false;
 
@@ -18,6 +18,7 @@ cabal.mkDerivation (self : {
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.9.2.nix b/pkgs/development/tools/documentation/haddock/2.9.2.nix
index fcae14d789e..2ed94ff072a 100644
--- a/pkgs/development/tools/documentation/haddock/2.9.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.9.2.nix
@@ -5,7 +5,7 @@ cabal.mkDerivation (self : {
   version = "2.9.2"; # Haskell Platform 2011.2.0.0
   name = self.fname;
   sha256 = "189vvp173pqc69zgzqqx6vyhvsc13p1s86ql60rs1j5qlhh8ajg8";
-  extraBuildInputs = [alex happy makeWrapper];
+  buildTools = [alex happy makeWrapper];
   propagatedBuildInputs = [ghcPaths xhtml];
   doCheck = false;
 
@@ -18,6 +18,7 @@ cabal.mkDerivation (self : {
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [
       self.stdenv.lib.maintainers.andres
     ];
diff --git a/pkgs/development/tools/documentation/haddock/2.9.4.nix b/pkgs/development/tools/documentation/haddock/2.9.4.nix
index 8a57dd851c2..80d7c623c1e 100644
--- a/pkgs/development/tools/documentation/haddock/2.9.4.nix
+++ b/pkgs/development/tools/documentation/haddock/2.9.4.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, alex, Cabal, filepath, ghcPaths, happy, regexCompat, xhtml
 }:
 
@@ -16,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/etcdctl/default.nix b/pkgs/development/tools/etcdctl/default.nix
new file mode 100644
index 00000000000..5e6438d0f5f
--- /dev/null
+++ b/pkgs/development/tools/etcdctl/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.3";
+  name = "etcdctl-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o etcdctl github.com/coreos/etcdctl
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv etcdctl $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple command line client for etcd";
+    homepage = http://coreos.com/using-coreos/etcd/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/etcdctl/deps.nix b/pkgs/development/tools/etcdctl/deps.nix
new file mode 100644
index 00000000000..98bdda95a43
--- /dev/null
+++ b/pkgs/development/tools/etcdctl/deps.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/coreos/etcdctl";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "etcdctl";
+        rev = "061135b2a02797a6b3c2b6c01183517c1bc76a2c";
+        sha256 = "1hl9cz9ygr2k4d67qj9q1xj0n64b28qjy5sv7zylgg9h9ag2j2p4";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/development/tools/exercism/default.nix b/pkgs/development/tools/exercism/default.nix
new file mode 100644
index 00000000000..6c909382522
--- /dev/null
+++ b/pkgs/development/tools/exercism/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "exercism-${version}";
+
+  version = "1.6.2";
+
+  src =
+    if stdenv.system == "x86_64-darwin" then
+      fetchurl {
+        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-darwin-amd64.tgz";
+        sha256 = "1w9jw52nhb5mlcj6ampzwjscdr9rja5mdn5ga2r4z2qzsqzwkpm2";
+      }
+    else if stdenv.system == "i686-darwin" then
+      fetchurl {
+        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-darwin-386.tgz";
+        sha256 = "1g5cy53mrdzq047b8hlkjrkc4bp7yhipvhf4lnw0x2jr50z73bzd";
+      }
+    else if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "https://github.com/exercism/cli/releases/download/v1.6.2/exercism-linux-386.tgz";
+        sha256 = "1akdggla9kn7v4dwkyz63bp84dihcgyph546zskiyh9bz67l5liz";
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "https://github.com/exercism/cli/releases/download/v1.6.2/exercism-linux-amd64.tgz";
+        sha256 = "00kp0r9xy9bw9b2854csy35pk9sxvbivxmwiy97wl9gh0acva5ng";
+      }
+    else throw "Platform: ${stdenv.system} not supported!";
+
+  buildPhase = "";
+
+  setSourceRoot = "sourceRoot=./";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a exercism $out/bin
+  '';
+
+  meta = {
+    description = "A Go based command line tool for exercism.io";
+    homepage    = http://exercism.io;
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.wjlroe ];
+  };
+}
diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix
index 0d298558e5e..2e5701375a4 100644
--- a/pkgs/development/tools/gnulib/default.nix
+++ b/pkgs/development/tools/gnulib/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation {
-  name = "gnulib-0.0-8015-gf0aab22";
+  name = "gnulib-0.1-83-g8008cac";
 
   src = fetchgit {
     url = "http://git.savannah.gnu.org/r/gnulib.git";
-    rev = "f0aab227265173908ecaa2353de6cf791cec3304";
-    sha256 = "162i39wvrmjhkg8w07i92vg9l0f0lk57zl1ynf0lvs70rkdd8a82";
+    rev = "8008cac0568ee76a4a9b7002f839e1abbad78af6";
+    sha256 = "1w8wh5ljh1qpssnj2lxizf45ggd7fgk5ggwhrnzjxxhn9m7rdvwm";
   };
 
   buildPhase = ":";
diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix
new file mode 100644
index 00000000000..30e4b79ee38
--- /dev/null
+++ b/pkgs/development/tools/gocode/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gocode";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o gocode github.com/nsf/gocode
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv gocode $out/bin
+  '';
+
+  meta = with lib; {
+    description = "An autocompletion daemon for the Go programming language";
+    homepage = https://github.com/nsf/gocode;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/gocode/deps.nix b/pkgs/development/tools/gocode/deps.nix
new file mode 100644
index 00000000000..4fd0578496d
--- /dev/null
+++ b/pkgs/development/tools/gocode/deps.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/nsf/gocode";
+      src = fetchFromGitHub {
+        owner = "nsf";
+        repo = "gocode";
+        rev = "9b760fdb16f18eafbe0cd274527efd2bd89dfa78";
+        sha256 = "0d1wl0x8jkaav6lcfzs70cr6gy0p88cbk5n3p19l6d0h9xz464ax";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/development/tools/guile/g-wrap/default.nix b/pkgs/development/tools/guile/g-wrap/default.nix
index 8698dc27b40..74e967686f3 100644
--- a/pkgs/development/tools/guile/g-wrap/default.nix
+++ b/pkgs/development/tools/guile/g-wrap/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       generating Guile wrappers for C functions.
     '';
     homepage = http://www.nongnu.org/g-wrap/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/tools/haskell/BNFC-meta/default.nix b/pkgs/development/tools/haskell/BNFC-meta/default.nix
deleted file mode 100644
index d39544342b3..00000000000
--- a/pkgs/development/tools/haskell/BNFC-meta/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, alexMeta, happyMeta, haskellSrcMeta, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "BNFC-meta";
-  version = "0.4.0.1";
-  sha256 = "0x31a25njbgd3r8shh7rrqa9qq66iqjhh82k538p9bd2hblg30ka";
-  buildDepends = [ alexMeta happyMeta haskellSrcMeta syb ];
-  meta = {
-    description = "Deriving Parsers and Quasi-Quoters from BNF Grammars";
-    license = self.stdenv.lib.licenses.gpl2;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix
index 3cb85b86acb..f335aebc570 100644
--- a/pkgs/development/tools/haskell/BNFC/default.nix
+++ b/pkgs/development/tools/haskell/BNFC/default.nix
@@ -1,4 +1,4 @@
-{ cabal, mtl, fetchurl }:
+{ cabal, mtl, fetchpatch, alex, happy }:
 
 cabal.mkDerivation (self: {
   pname = "BNFC";
@@ -7,8 +7,10 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl ];
-  patches = [ (fetchurl { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "103l04ylzswgxrmpv5zy6dd0jyr96z21mdkpgk1z4prvn8wjl624"; }) ];
+  buildTools = [ alex happy ];
+  patches = [ (fetchpatch { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "1i87crwva5m3v095lv3zxs38pr6nmly58krlr6sxpwnakpr0pxsp"; }) ];
   patchFlags = "-p2";
+  preConfigure = "runhaskell Setup.lhs clean";
   meta = {
     homepage = "http://bnfc.digitalgrammars.com/";
     description = "A compiler front-end generator";
diff --git a/pkgs/development/tools/haskell/DrIFT/default.nix b/pkgs/development/tools/haskell/DrIFT/default.nix
new file mode 100644
index 00000000000..6f0f8fb0c60
--- /dev/null
+++ b/pkgs/development/tools/haskell/DrIFT/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, random }:
+
+cabal.mkDerivation (self: {
+  pname = "DrIFT";
+  version = "2.4.2";
+  sha256 = "1w0wfmrjifidl2qz998ig07afd4p6yp890lwl8as57bay490nakl";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath random ];
+  meta = {
+    homepage = "http://repetae.net/computer/haskell/DrIFT/";
+    description = "Program to derive type class instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix
deleted file mode 100644
index f7d67f4be66..00000000000
--- a/pkgs/development/tools/haskell/HaRe/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ cabal, cmdtheline, deepseq, Diff, filepath, ghcMod, ghcPaths
-, ghcSybUtils, hslogger, hspec, HUnit, mtl, parsec, QuickCheck
-, rosezipper, silently, StrafunskiStrategyLib, stringbuilder, syb
-, syz, time, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HaRe";
-  version = "0.7.0.7";
-  sha256 = "0pgl5mav4sqc453by7nddf5fz7nj231072bklzj6crcph7qw4zy4";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    cmdtheline filepath ghcMod ghcPaths ghcSybUtils hslogger mtl parsec
-    rosezipper StrafunskiStrategyLib syb syz time transformers
-  ];
-  testDepends = [
-    deepseq Diff filepath ghcMod ghcPaths ghcSybUtils hslogger hspec
-    HUnit mtl QuickCheck rosezipper silently StrafunskiStrategyLib
-    stringbuilder syb syz time transformers
-  ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://www.cs.kent.ac.uk/projects/refactor-fp";
-    description = "the Haskell Refactorer";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/haskell/PastePipe/default.nix b/pkgs/development/tools/haskell/PastePipe/default.nix
new file mode 100644
index 00000000000..ce1c8a27c54
--- /dev/null
+++ b/pkgs/development/tools/haskell/PastePipe/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, HTTP, network }:
+
+cabal.mkDerivation (self: {
+  pname = "PastePipe";
+  version = "1.5";
+  sha256 = "1jqfk6d22vi0vrwx0whjkh4pxwagr4hmi79bid6bffn72c7ygm8f";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cmdargs HTTP network ];
+  meta = {
+    homepage = "http://github.com/creswick/pastepipe";
+    description = "CLI for pasting to lpaste.net";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix
new file mode 100644
index 00000000000..abfd386c82a
--- /dev/null
+++ b/pkgs/development/tools/haskell/SourceGraph/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, fgl, filepath, Graphalyze, graphviz, haskellSrcExts
+, mtl, multiset, random
+}:
+
+cabal.mkDerivation (self: {
+  pname = "SourceGraph";
+  version = "0.7.0.6";
+  sha256 = "03psglm6xyqvcgnbimidafy51kwpipk5q6s8ip5vhjm2d5makkhm";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal fgl filepath Graphalyze graphviz haskellSrcExts mtl multiset
+    random
+  ];
+  meta = {
+    description = "Static code analysis using graph-theoretic techniques";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/alex-meta/default.nix b/pkgs/development/tools/haskell/alex-meta/default.nix
deleted file mode 100644
index 5bb298e739a..00000000000
--- a/pkgs/development/tools/haskell/alex-meta/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, haskellSrcMeta, QuickCheck }:
-
-cabal.mkDerivation (self: {
-  pname = "alex-meta";
-  version = "0.3.0.5";
-  sha256 = "0f41q5l6z1dcpfx8rxacv4f544zcw7pgvq935mnzzha9fvsxqzk4";
-  buildDepends = [ haskellSrcMeta QuickCheck ];
-  meta = {
-    description = "Quasi-quoter for Alex lexers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix
new file mode 100644
index 00000000000..213ba6f9d13
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, cabalInstall, cabalLenses, cmdargs, either
+, filepath, Glob, lens, strict, tasty, tastyGolden, transformers
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-bounds";
+  version = "0.8.4";
+  sha256 = "00vj6ca9liqlqg69d4ziacsxz6x9365sbyc1ag6g18bhibyinsh2";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal cabalLenses cmdargs either lens strict transformers
+    unorderedContainers
+  ];
+  testDepends = [ filepath Glob tasty tastyGolden ];
+  buildTools = [ cabalInstall ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    description = "A command line program for managing the bounds/versions of the dependencies in a cabal file";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-db/default.nix b/pkgs/development/tools/haskell/cabal-db/default.nix
new file mode 100644
index 00000000000..234c158cf90
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal-db/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, Cabal, filepath, mtl, optparseApplicative
+, tar, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-db";
+  version = "0.1.9";
+  sha256 = "19mw5ycc2y5wkn1h7wkdm2gb29pq2sh0n8z52dbxlkf0rwcgjbfq";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    ansiWlPprint Cabal filepath mtl optparseApplicative tar utf8String
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/cabal-db";
+    description = "query tools for the local cabal database (revdeps, graph, info, search-by, license, bounds)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-delete/default.nix b/pkgs/development/tools/haskell/cabal-delete/default.nix
new file mode 100644
index 00000000000..7de6c0e6f1c
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal-delete/default.nix
@@ -0,0 +1,36 @@
+{ cabal, fetchgit, bytestring ? null, containers ? null, directory ? null,
+  filepath, process ? null, attoparsec, ghcPaths, transformers }:
+
+let
+  tag = "0.5.2.0";
+in
+
+cabal.mkDerivation (self: {
+  pname = "cabal-delete";
+  version = "${tag}";
+  src = fetchgit {
+    url = git://github.com/iquiw/cabal-delete.git;
+    rev = "refs/tags/v${tag}";
+    sha256 = "1ap319isjg8bafm4jz2krfwvvg11hj5yk0g99a3l1a3a36hpdgzw";
+  };
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+      bytestring
+      containers
+      directory
+      filepath
+      process
+      attoparsec
+      ghcPaths
+      transformers
+  ];
+  meta = {
+    homepage = "https://github.com/iquiw/cabal-delete";
+    description = "Uninstall packages installed by cabal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-dev/default.nix b/pkgs/development/tools/haskell/cabal-dev/default.nix
deleted file mode 100644
index fef9892bce8..00000000000
--- a/pkgs/development/tools/haskell/cabal-dev/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, Cabal, cabalInstall, filepath, HTTP, mtl, network, setenv
-, tar, transformers, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-dev";
-  version = "0.9.2";
-  sha256 = "1372bpn8s7d7nm01ggp3m98ldrynidbchk3p14yrjysvxwr3l6q8";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    Cabal filepath HTTP mtl network setenv tar transformers zlib
-  ];
-  buildTools = [ cabalInstall ];
-  meta = {
-    homepage = "http://github.com/creswick/cabal-dev";
-    description = "Manage sandboxed Haskell build environments";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/tools/haskell/cabal-ghci/default.nix b/pkgs/development/tools/haskell/cabal-ghci/default.nix
index dee25727384..389318978da 100644
--- a/pkgs/development/tools/haskell/cabal-ghci/default.nix
+++ b/pkgs/development/tools/haskell/cabal-ghci/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Set up ghci with options taken from a .cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/cabal-meta/default.nix b/pkgs/development/tools/haskell/cabal-meta/default.nix
new file mode 100644
index 00000000000..9dc0a4fb9af
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal-meta/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, shelly, systemFileio, systemFilepath, text }:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-meta";
+  version = "0.4.1.2";
+  sha256 = "17ln9j0n9rb0kbnp37fi9yaf932dacrdmf3jrp301r886kh2a7kk";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ shelly systemFileio systemFilepath text ];
+  testDepends = [ hspec shelly systemFilepath text ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.yesodweb.com/";
+    description = "build multiple packages at once";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal2ghci/default.nix b/pkgs/development/tools/haskell/cabal2ghci/default.nix
index f8adaee4671..deb9e8d18d9 100644
--- a/pkgs/development/tools/haskell/cabal2ghci/default.nix
+++ b/pkgs/development/tools/haskell/cabal2ghci/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, cmdargs, stylishHaskell, systemFileio
 , systemFilepath, text, unorderedContainers, yaml
 }:
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index cc44268f3a3..978ebde7e29 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -1,22 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, doctest, filepath, hackageDb, HTTP, mtl, regexPosix
 }:
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.55";
-  sha256 = "0rda8g595pr7vlhzyflw9kz6fw1iz76yimbl1zizgrnpnq3h11w3";
+  version = "1.68";
+  sha256 = "0w9ayvr3ljfxgi17yaayqvyxflbgf7b5245pc3m011lp3cfnj849";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
   testDepends = [ doctest ];
+  doCheck = self.stdenv.lib.versionOlder "7.6" self.ghc.version;
   meta = {
     homepage = "http://github.com/NixOS/cabal2nix";
     description = "Convert Cabal files into Nix build instructions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/tools/haskell/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix
new file mode 100644
index 00000000000..5b948f510bf
--- /dev/null
+++ b/pkgs/development/tools/haskell/cake3/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, deepseq, filepath, haskellSrcMeta
+, languageJavascript, mimeTypes, monadloc, mtl, optparseApplicative
+, parsec, syb, systemFilepath, text, textFormat
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cake3";
+  version = "0.5.1.0";
+  sha256 = "0kqx8xr0ynbn7fhfz11is7lbi32dfladsx32bcpspykqj1bjv954";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    attoparsec deepseq filepath haskellSrcMeta languageJavascript
+    mimeTypes monadloc mtl optparseApplicative parsec syb
+    systemFilepath text textFormat
+  ];
+  meta = {
+    homepage = "https://github.com/grwlf/cake3";
+    description = "Third cake the Makefile EDSL";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix
new file mode 100644
index 00000000000..fac145b14c2
--- /dev/null
+++ b/pkgs/development/tools/haskell/codex/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, downloadCurl, either, filepath, hackageDb, MissingH
+, monadLoops, tar, text, transformers, yaml, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "codex";
+  version = "0.1.0.3";
+  sha256 = "0sbkri6y9f4wws120kbb93sv1z0z75hjw9pw5r3wadmmd0lygsn9";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal downloadCurl either filepath hackageDb MissingH monadLoops
+    tar text transformers yaml zlib
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/aloiscochard/codex";
+    description = "A ctags file generator for cabal project dependencies";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/ghc-events-analyze/default.nix b/pkgs/development/tools/haskell/ghc-events-analyze/default.nix
new file mode 100644
index 00000000000..b58d8d1429b
--- /dev/null
+++ b/pkgs/development/tools/haskell/ghc-events-analyze/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, diagramsLib, diagramsSvg, filepath, ghcEvents, lens, mtl
+, optparseApplicative, parsec, SVGFonts, thLift, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-events-analyze";
+  version = "0.2.0";
+  sha256 = "04px1p0pnx54414m7sdpmdhj2dpsi1z8bjm8jq2yzh66854xiyh4";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    diagramsLib diagramsSvg filepath ghcEvents lens mtl
+    optparseApplicative parsec SVGFonts thLift transformers
+  ];
+  meta = {
+    description = "Analyze and visualize event logs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/tools/haskell/ghc-gc-tune/default.nix b/pkgs/development/tools/haskell/ghc-gc-tune/default.nix
new file mode 100644
index 00000000000..e5517854c34
--- /dev/null
+++ b/pkgs/development/tools/haskell/ghc-gc-tune/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-gc-tune";
+  version = "0.3";
+  sha256 = "0ghp3f86m91zi6kl8zq157717s2p73nwdgln4aiclq830m72ys9w";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath ];
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/ghc-gc-tune";
+    description = "Graph performance of Haskell programs with different GC flags";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/happy-meta/default.nix b/pkgs/development/tools/haskell/happy-meta/default.nix
index a3d885c6008..8241bf12103 100644
--- a/pkgs/development/tools/haskell/happy-meta/default.nix
+++ b/pkgs/development/tools/haskell/happy-meta/default.nix
@@ -1,14 +1,16 @@
-{ cabal, haskellSrcMeta, mtl }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happy, haskellSrcMeta, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "happy-meta";
-  version = "0.2.0.5";
-  sha256 = "103hi87azqv11l8lq1rv0v9v88sl227g31snvkn8db6b4cfrwrxk";
+  version = "0.2.0.7";
+  sha256 = "12599233lh0ffmvlim0gs5jzg8lly1g11i1cg44lb37bz3l7psh9";
   buildDepends = [ haskellSrcMeta mtl ];
+  buildTools = [ happy ];
   meta = {
     description = "Quasi-quoter for Happy parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/haskdogs/default.nix b/pkgs/development/tools/haskell/haskdogs/default.nix
index c05368c3980..27e4876ea09 100644
--- a/pkgs/development/tools/haskell/haskdogs/default.nix
+++ b/pkgs/development/tools/haskell/haskdogs/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HSH }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Generate ctags file for haskell project directory and it's deps";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix
new file mode 100644
index 00000000000..b9cd34c716e
--- /dev/null
+++ b/pkgs/development/tools/haskell/haskell-docs/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, Cabal, filepath, ghcPaths, haddock, monadLoops
+, text, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-docs";
+  version = "4.2.2";
+  sha256 = "0w52kzwjzd5jl8v55rjy5550cy2fcyj9j5b7b33vbwjyh06gfrk1";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson Cabal filepath ghcPaths haddock monadLoops text
+    unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/chrisdone/haskell-docs";
+    description = "A program to find and display the docs and type of a name";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix
index f1e1f639e80..36b3739a140 100644
--- a/pkgs/development/tools/haskell/hasktags/default.nix
+++ b/pkgs/development/tools/haskell/hasktags/default.nix
@@ -1,16 +1,18 @@
-{ cabal, filepath }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, json, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "hasktags";
-  version = "0.68.2";
-  sha256 = "0lb28vj8mhaskw3n7wpjgbj0311ywh76yc0ajczzsiqa3p6mypss";
-  isLibrary = false;
+  version = "0.69.0";
+  sha256 = "1bba6w5h5a5frc899cdlxcyshiqdni6lcqby618akr1917ih1qh8";
+  isLibrary = true;
   isExecutable = true;
-  buildDepends = [ filepath ];
+  buildDepends = [ filepath json utf8String ];
   meta = {
+    homepage = "http://github.com/MarcWeber/hasktags";
     description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/hdevtools/default.nix b/pkgs/development/tools/haskell/hdevtools/default.nix
new file mode 100644
index 00000000000..350ad216bca
--- /dev/null
+++ b/pkgs/development/tools/haskell/hdevtools/default.nix
@@ -0,0 +1,17 @@
+{ cabal, cmdargs, ghcPaths, network, syb, time, fetchurl }:
+
+cabal.mkDerivation (self: {
+  pname = "hdevtools";
+  version = "0.1.0.6-pre-github-schell-9e34f7dd";
+  sha256 = "1a218m817q35f52fv6mn28sfv136i6fm2mzgdidpm24pc0585gl7";
+  isLibrary = false;
+  isExecutable = true;
+  patches = [ (fetchurl { url = "https://github.com/ts468/hdevtools/pull/2.patch"; md5 = "256609d2d3f5b719caa0002ee579d169"; }) ];
+  buildDepends = [ cmdargs ghcPaths network syb time ];
+  meta = {
+    homepage = "https://github.com/bitc/hdevtools/";
+    description = "Persistent GHC powered background server for FAST haskell development tools";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index 73ab425ea8d..4fe5f01c3d1 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -1,22 +1,23 @@
-{ cabal, cpphs, filepath, haskellSrcExts, hscolour, transformers
-, uniplate
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, cpphs, filepath, haskellSrcExts, hscolour
+, transformers, uniplate
 }:
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.53";
-  sha256 = "1gnv9h909qgf80bpb769mr1paf8lzp3xlwmyw4nxdj84fn0y57q0";
+  version = "1.9.3";
+  sha256 = "1sdz981yq0amsw9q6hx0aqkd0ayrax5p77s3n3gz4bphpk37n09b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cpphs filepath haskellSrcExts hscolour transformers uniplate
+    cmdargs cpphs filepath haskellSrcExts hscolour transformers
+    uniplate
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://community.haskell.org/~ndm/hlint/";
     description = "Source code suggestions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/hobbes/default.nix b/pkgs/development/tools/haskell/hobbes/default.nix
new file mode 100644
index 00000000000..a9b48f922c8
--- /dev/null
+++ b/pkgs/development/tools/haskell/hobbes/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filemanip, filepath, fsnotify, systemFilepath, text }:
+
+cabal.mkDerivation (self: {
+  pname = "hobbes";
+  version = "0.2.2";
+  sha256 = "1pri63d59q918jv1hdp2ib06m6lzw9a2b6bjyn86b2qrrx2512xd";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filemanip filepath fsnotify systemFilepath text ];
+  meta = {
+    homepage = "http://github.com/jhickner/hobbes";
+    description = "A small file watcher for OSX";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hp2any-manager/default.nix b/pkgs/development/tools/haskell/hp2any-manager/default.nix
new file mode 100644
index 00000000000..537550e989f
--- /dev/null
+++ b/pkgs/development/tools/haskell/hp2any-manager/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, filepath, glade, glib, gtk, gtkglext, hp2anyCore
+, hp2anyGraph, OpenGL, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hp2any-manager";
+  version = "0.4.6";
+  sha256 = "143j3ylvzyq1s2l357vzqrwdcgg6rqhnmv0awb3nvm66c9smaarv";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cairo filepath glade glib gtk gtkglext hp2anyCore hp2anyGraph
+    OpenGL time
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Hp2any";
+    description = "A utility to visualise and compare heap profiles";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hscolour/default.nix b/pkgs/development/tools/haskell/hscolour/default.nix
new file mode 100644
index 00000000000..bb00ade3d4c
--- /dev/null
+++ b/pkgs/development/tools/haskell/hscolour/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "hscolour";
+  version = "1.20.3";
+  sha256 = "15ix93sw4p7g5ln2halcgqppdc0i0vmkzcjzxvqzkk9yp9pq3nrs";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    homepage = "http://code.haskell.org/~malcolm/hscolour/";
+    description = "Colourise Haskell code";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hscope/default.nix b/pkgs/development/tools/haskell/hscope/default.nix
new file mode 100644
index 00000000000..981e6120444
--- /dev/null
+++ b/pkgs/development/tools/haskell/hscope/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, cpphs, deepseq, haskellSrcExts, mtl, pureCdb
+, testSimple, uniplate, Unixutils, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hscope";
+  version = "0.4";
+  sha256 = "1jb2d61c1as6li54zw33jsyvfap214pqxpkr2m6lkzaizh8396hg";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cereal cpphs deepseq haskellSrcExts mtl pureCdb uniplate vector
+  ];
+  testDepends = [ mtl testSimple Unixutils ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bosu/hscope";
+    description = "cscope like browser for Haskell code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix
index a851b8912c7..43da5b21ca4 100644
--- a/pkgs/development/tools/haskell/hslogger/default.nix
+++ b/pkgs/development/tools/haskell/hslogger/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, network, time }:
 
 cabal.mkDerivation (self: {
   pname = "hslogger";
-  version = "1.2.3";
-  sha256 = "0rmijkrf24srcg8zgizf5vidpsgr4171wbzbwgrg66l704mkkb7m";
+  version = "1.2.4";
+  sha256 = "0r0c7wqz49lzxg7sakkw6nwmxnyzhqscxvnxiqwkwsgv3q2sh3wc";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl network time ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Versatile logging framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/jailbreak-cabal/default.nix b/pkgs/development/tools/haskell/jailbreak-cabal/default.nix
index ea61fd9b6ed..a6986c1cdc5 100644
--- a/pkgs/development/tools/haskell/jailbreak-cabal/default.nix
+++ b/pkgs/development/tools/haskell/jailbreak-cabal/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal }:
 
 cabal.mkDerivation (self: {
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index e6377a201fe..34bc45e7471 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -1,26 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive
-, conduit, dataDefault, filepath, fsnotify, httpConduit
-, httpReverseProxy, httpTypes, mtl, network, networkConduit
-, networkConduitTls, random, regexTdfa, stm, systemFileio
-, systemFilepath, tar, text, time, transformers, unixCompat
-, unixProcessConduit, unorderedContainers, vector, wai
-, waiAppStatic, waiExtra, warp, warpTls, yaml, zlib
+, conduit, conduitExtra, dataDefault, filepath, fsnotify, hspec
+, httpClient, httpConduit, httpReverseProxy, httpTypes, liftedBase
+, mtl, network, networkConduitTls, random, regexTdfa, stm
+, systemFileio, systemFilepath, tar, text, time, transformers
+, unixCompat, unorderedContainers, vector, wai, waiAppStatic
+, waiExtra, warp, warpTls, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.0.1.1";
-  sha256 = "1bcp9yxmh5z7cvap4nrj8gxnndwws21w6y352yasf35bf432nxa9";
+  version = "1.3.3";
+  sha256 = "1i4yjzqp8if0h88k8ga0dvqbrh57nvcr9dbfbj1sdw40pd74yb3i";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson async attoparsec blazeBuilder caseInsensitive conduit
-    dataDefault filepath fsnotify httpConduit httpReverseProxy
-    httpTypes mtl network networkConduit networkConduitTls random
-    regexTdfa stm systemFileio systemFilepath tar text time
-    transformers unixCompat unixProcessConduit unorderedContainers
-    vector wai waiAppStatic waiExtra warp warpTls yaml zlib
+    conduitExtra dataDefault filepath fsnotify httpClient httpConduit
+    httpReverseProxy httpTypes liftedBase mtl network networkConduitTls
+    random regexTdfa stm systemFileio systemFilepath tar text time
+    transformers unixCompat unorderedContainers vector wai waiAppStatic
+    waiExtra warp warpTls yaml zlib
   ];
+  testDepends = [ conduit hspec transformers ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Web application deployment manager, focusing on Haskell web frameworks";
diff --git a/pkgs/development/tools/haskell/packunused/default.nix b/pkgs/development/tools/haskell/packunused/default.nix
index 35d318d36ba..c68d5dec8b3 100644
--- a/pkgs/development/tools/haskell/packunused/default.nix
+++ b/pkgs/development/tools/haskell/packunused/default.nix
@@ -1,12 +1,18 @@
-{ cabal, Cabal, cmdargs, filepath, haskellSrcExts }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, haskellSrcExts, optparseApplicative
+, split
+}:
 
 cabal.mkDerivation (self: {
   pname = "packunused";
-  version = "0.1.0.1";
-  sha256 = "130717k4rknj5jl904cmb4h09msp4xjj84w6iwzc10lz736dk3jd";
+  version = "0.1.1.2";
+  sha256 = "1kp004lh6sa4gjqm37ldgk70jbncrnr76rk9c77464cnj6ajxmlm";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ Cabal cmdargs filepath haskellSrcExts ];
+  buildDepends = [
+    Cabal filepath haskellSrcExts optparseApplicative split
+  ];
   jailbreak = true;
   meta = {
     homepage = "https://github.com/hvr/packunused";
diff --git a/pkgs/development/tools/haskell/pointfree/default.nix b/pkgs/development/tools/haskell/pointfree/default.nix
new file mode 100644
index 00000000000..166105f22b6
--- /dev/null
+++ b/pkgs/development/tools/haskell/pointfree/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcExts, HUnit, QuickCheck, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "pointfree";
+  version = "1.0.4.7";
+  sha256 = "0jwql0ka01cr53ayjc4dpaci11i7r1y3b9gcbh3rlamb1mnfcqvl";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrcExts transformers ];
+  testDepends = [ haskellSrcExts HUnit QuickCheck transformers ];
+  jailbreak = true;
+  meta = {
+    description = "Tool for refactoring expressions into pointfree form";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/pointful/default.nix b/pkgs/development/tools/haskell/pointful/default.nix
new file mode 100644
index 00000000000..7f077d160a3
--- /dev/null
+++ b/pkgs/development/tools/haskell/pointful/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrc, mtl, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "pointful";
+  version = "1.0.2";
+  sha256 = "00xlxgdajkbi5d6gv88wdpwm16xdryshszz5qklryi0p65mmp99p";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrc mtl syb ];
+  meta = {
+    homepage = "http://github.com/23Skidoo/pointful";
+    description = "Pointful refactoring tool";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/profiteur/default.nix b/pkgs/development/tools/haskell/profiteur/default.nix
new file mode 100644
index 00000000000..b637e563ffb
--- /dev/null
+++ b/pkgs/development/tools/haskell/profiteur/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, filepath, text, unorderedContainers
+, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "profiteur";
+  version = "0.1.2.1";
+  sha256 = "1108hhh2ivhs85jkga4wps2yscgjnp211sw5w45j4wp9dgpz2hak";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsec filepath text unorderedContainers vector
+  ];
+  meta = {
+    homepage = "http://github.com/jaspervdj/profiteur";
+    description = "Treemap visualiser for GHC prof files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/tools/haskell/rehoo/default.nix b/pkgs/development/tools/haskell/rehoo/default.nix
new file mode 100644
index 00000000000..f7993feddf8
--- /dev/null
+++ b/pkgs/development/tools/haskell/rehoo/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, parallelIo, shelly, split, systemFilepath, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rehoo";
+  version = "0.3.1";
+  sha256 = "0pwmz1q2866yj8hxbvha4v1smhppkd3jsrrhbhmbxw137l54ijgf";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cmdargs parallelIo shelly split systemFilepath text
+  ];
+  meta = {
+    homepage = "https://github.com/jwiegley/rehoo";
+    description = "Rebuild default.hoo from many .hoo files in the current directory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/splot/default.nix b/pkgs/development/tools/haskell/splot/default.nix
index 4e99a1e68cd..0e984778579 100644
--- a/pkgs/development/tools/haskell/splot/default.nix
+++ b/pkgs/development/tools/haskell/splot/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bytestringLexing, cairo, colour, HUnit, mtl, strptime
 , time, vcsRevision
 }:
 
 cabal.mkDerivation (self: {
   pname = "splot";
-  version = "0.3.11";
-  sha256 = "0mpyfmafjjcf85v740h69p5mggyqsq3li8m1fa5c0z4rdd0395an";
+  version = "0.3.12";
+  sha256 = "0xk5p2ikrzrmhvl69cl36sskcqgfnhxbbdlyp7bzl5pny0l0h9in";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index 4928c40e129..892faca8e8c 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, binary, cairo, deepseq, filepath, ghcEvents, glib, gtk
 , mtl, pango, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "threadscope";
-  version = "0.2.2";
-  sha256 = "07cmza391hjq77lx8m9g2287bzsh5ffka3s07fr49v6x6hivsic3";
+  version = "0.2.4";
+  sha256 = "1208gp80vj3dngc4nrj1jk5y4h1181bgwq2qj764kcjvkaxch599";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -17,6 +19,7 @@ cabal.mkDerivation (self: {
     description = "A graphical tool for profiling parallel Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix
index 71a0835713c..4342b877a2e 100644
--- a/pkgs/development/tools/haskell/timeplot/default.nix
+++ b/pkgs/development/tools/haskell/timeplot/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, bytestringLexing, cairo, Chart, ChartCairo, colour
 , dataDefault, lens, regexTdfa, strptime, time, transformers
 , vcsRevision
@@ -5,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "timeplot";
-  version = "1.0.22";
-  sha256 = "1dp1prcx3d6a0fr3xrdj6flp27sy7qbng5bbdjgjbb7rq8497if9";
+  version = "1.0.25";
+  sha256 = "14zyzr53gpp0i7wx49zzdrndqdhsw3q4z3w5hdl8c4m541pr25fw";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/una/default.nix b/pkgs/development/tools/haskell/una/default.nix
new file mode 100644
index 00000000000..9b80f6d478a
--- /dev/null
+++ b/pkgs/development/tools/haskell/una/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, filepath, ioStorage }:
+
+cabal.mkDerivation (self: {
+  pname = "una";
+  version = "2.1.0";
+  sha256 = "0gpycwd0dgnw7cdicpn19wv1xb4jq3j9dfzry2ilv85h02zkwfvh";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ cmdargs filepath ioStorage ];
+  meta = {
+    homepage = "https://github.com/jwiegley/una";
+    description = "Universal un-archiver utility";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/uuagc/bootstrap.nix b/pkgs/development/tools/haskell/uuagc/bootstrap.nix
index d24d22f350a..5e954c526c4 100644
--- a/pkgs/development/tools/haskell/uuagc/bootstrap.nix
+++ b/pkgs/development/tools/haskell/uuagc/bootstrap.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, haskellSrcExts, mtl, uulib }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Attribute Grammar System of Universiteit Utrecht";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix
index 38be593a1f0..1a735a2471e 100644
--- a/pkgs/development/tools/haskell/uuagc/cabal.nix
+++ b/pkgs/development/tools/haskell/uuagc/cabal.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, mtl, uulib }:
 
 cabal.mkDerivation (self: {
@@ -10,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Cabal plugin for the Universiteit Utrecht Attribute Grammar System";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/uuagc/default.nix b/pkgs/development/tools/haskell/uuagc/default.nix
index 165ea131dd9..230174dccbc 100644
--- a/pkgs/development/tools/haskell/uuagc/default.nix
+++ b/pkgs/development/tools/haskell/uuagc/default.nix
@@ -1,9 +1,11 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, haskellSrcExts, mtl, uuagcCabal, uulib }:
 
 cabal.mkDerivation (self: {
   pname = "uuagc";
-  version = "0.9.50";
-  sha256 = "0vyydqgmyl590ry63ibwshfpj2w9dd2v0nmr4jqlfw0m0d9ff50j";
+  version = "0.9.51";
+  sha256 = "07nymg525x41y8pl94d0n990h1yz5km8v0fasiggqv94sd04j22w";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath haskellSrcExts mtl uuagcCabal uulib ];
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Attribute Grammar System of Universiteit Utrecht";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/java/fastjar/default.nix b/pkgs/development/tools/java/fastjar/default.nix
index cfcd8564b4c..c8bb94412ca 100644
--- a/pkgs/development/tools/java/fastjar/default.nix
+++ b/pkgs/development/tools/java/fastjar/default.nix
@@ -24,7 +24,7 @@ let version = "0.94"; in
 
       homepage = http://fastjar.sourceforge.net/;
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
 
       maintainers = [ ];
     };
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index f0c32fc0e9e..8194ffc22a8 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="jq";
-    version="1.3";
+    version="1.4";
     name="${baseName}-${version}";
-    hash="1mzy9cj3d19y1m56mwk6slls543gnlhz8302hmnxkhdzdb1j6gv2";
-    url="http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz";
-    sha256="1mzy9cj3d19y1m56mwk6slls543gnlhz8302hmnxkhdzdb1j6gv2";
+    hash="17dk17h7qj6xpnsbc09qwsqkm6r7jhqbfkjvwq246yxmpsx4334r";
+    url="http://stedolan.github.io/jq/download/source/jq-1.4.tar.gz";
+    sha256="17dk17h7qj6xpnsbc09qwsqkm6r7jhqbfkjvwq246yxmpsx4334r";
   };
   buildInputs = [
   ];
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+
+  # jq is linked to libjq:
+  configureFlags = [
+    "LDFLAGS=-Wl,-rpath,\\\${libdir}"
+  ];
   meta = {
     inherit (s) version;
     description = ''A lightweight and flexible command-line JSON processor'';
diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix
new file mode 100644
index 00000000000..c8905dcbafd
--- /dev/null
+++ b/pkgs/development/tools/libsigrok/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, libzip, glib, libusb1, libftdi, check
+, libserialport, librevisa
+}:
+
+stdenv.mkDerivation rec {
+  name = "libsigrok-0.3.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/libsigrok/${name}.tar.gz";
+    sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3";
+  };
+
+  buildInputs = [ pkgconfig libzip glib libusb1 libftdi check libserialport
+    librevisa
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Core library of the sigrok signal analysis software suite";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix
new file mode 100644
index 00000000000..87ecd637b4e
--- /dev/null
+++ b/pkgs/development/tools/libsigrokdecode/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }:
+
+stdenv.mkDerivation rec {
+  name = "libsigrokdecode-0.3.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
+    sha256 = "13s7ss52dqj7fccjgrkx10zkj41ygxn8ml1l0bs1vgczz4fvnkpf";
+  };
+
+  buildInputs = [ pkgconfig glib python3 libsigrok check ];
+
+  meta = with stdenv.lib; {
+    description = "Protocol decoding library for the sigrok signal analysis software suite";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/literate-programming/noweb/default.nix b/pkgs/development/tools/literate-programming/noweb/default.nix
index c173010928d..4f8691c40ad 100644
--- a/pkgs/development/tools/literate-programming/noweb/default.nix
+++ b/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -9,13 +9,15 @@ stdenv.mkDerivation {
     sha256 = "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9";
   };
   preBuild = ''
+    mkdir -p $out/lib/noweb
     cd src
-    makeFlags="BIN=$out/bin LIB=$out/lib MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex"
+    makeFlags="BIN=$out/bin LIB=$out/lib/noweb MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex"
   '';
   preInstall=''mkdir -p $out/share/texmf/tex/latex'';
   postInstall= ''
     substituteInPlace $out/bin/cpif --replace "PATH=/bin:/usr/bin" ""
-    for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} $out/lib/*; do
+    for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} \
+             $out/lib/noweb/{toroff,btdefn,totex,pipedoc,noidx,unmarkup,toascii,tohtml,emptydefn}; do
       substituteInPlace $f --replace "nawk" "${gawk}/bin/awk"
     done
   '';
diff --git a/pkgs/development/tools/misc/ShellCheck/default.nix b/pkgs/development/tools/misc/ShellCheck/default.nix
new file mode 100644
index 00000000000..8beca12325b
--- /dev/null
+++ b/pkgs/development/tools/misc/ShellCheck/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, json, mtl, parsec, QuickCheck, regexCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "ShellCheck";
+  version = "0.3.4";
+  sha256 = "07fw8c33p7h1kvg899dwnvqpxpywcidhbw9jhjd8xsma7kz471iw";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ json mtl parsec QuickCheck regexCompat ];
+  testDepends = [ json mtl parsec QuickCheck regexCompat ];
+  meta = {
+    homepage = "http://www.shellcheck.net/";
+    description = "Shell script analysis tool";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
new file mode 100644
index 00000000000..c4f4caa3b65
--- /dev/null
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchgit, php, flex, makeWrapper }:
+
+let
+  libphutil = fetchgit {
+    url    = "git://github.com/facebook/libphutil.git";
+    rev    = "49f08a756a54f12405d3704c0f978b71c7b13811";
+    sha256 = "b32267fe19c6e9532887388815b8553519e2844bc5b839b5ad35efeab6b07fb8";
+  };
+  arcanist = fetchgit {
+    url    = "git://github.com/facebook/arcanist.git";
+    rev    = "4c0edd296e3301fffdda33c447f6fcafe7d1de01";
+    sha256 = "a9f162fb6b47bcf628130e0e8988ab650278b3a6606fa425e4707241ed22dd3e";
+  };
+in
+stdenv.mkDerivation rec {
+  name    = "arcanist-${version}";
+  version = "20140812";
+
+  src = [ arcanist libphutil ];
+  buildInputs = [ php makeWrapper flex ];
+
+  unpackPhase = "true";
+  buildPhase = ''
+    ORIG=`pwd`
+    cp -R ${libphutil} libphutil
+    cp -R ${arcanist} arcanist
+    chmod +w -R libphutil arcanist
+    cd libphutil/support/xhpast
+    make clean all install
+    cd $ORIG
+  '';
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    cp -R libphutil $out/libexec/libphutil
+    cp -R arcanist  $out/libexec/arcanist
+
+    ln -s $out/libexec/arcanist/bin/arc $out/bin
+    wrapProgram $out/bin/arc \
+      --prefix PATH : "${php}/bin"
+  '';
+
+  meta = {
+    description = "Command line interface to Phabricator";
+    homepage    = "http://phabricator.org";
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index 6128406bbe5..c7cda38ef43 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "astyle";
-  version = "2.02.1";
+  version = "2.04";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}_${version}_linux.tar.gz";
-    sha256 = "0bece9a32887e51f42c57617cf7c4f9b63d0a386749fe3a094f5525b639ef953";
+    sha256 = "0q3b2579ng01glfwan75zcyvkggixdz9c4i6cgid2664ad47zcvh";
   };
 
   sourceRoot = "astyle/build/gcc";
diff --git a/pkgs/development/tools/misc/autobuild/default.nix b/pkgs/development/tools/misc/autobuild/default.nix
index 88246e4bb6e..b35ec4357c4 100644
--- a/pkgs/development/tools/misc/autobuild/default.nix
+++ b/pkgs/development/tools/misc/autobuild/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://josefsson.org/autobuild/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix
index 2d8169d408f..c3b44ca5686 100644
--- a/pkgs/development/tools/misc/autoconf/2.13.nix
+++ b/pkgs/development/tools/misc/autoconf/2.13.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
     description = "Part of the GNU Build System";
+    branch = "2.13";
 
     longDescription = ''
       GNU Autoconf is an extensible package of M4 macros that produce
@@ -30,6 +31,6 @@ stdenv.mkDerivation rec {
       can use, in the form of M4 macro calls.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index 08fcd95afb5..4dca332722b 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
   # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
   # details.
   # There are many test failures on `i386-pc-solaris2.11'.
-  doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
+  #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
+  doCheck = false;
 
   # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
   # "fixed" path in generated files!
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
       can use, in the form of M4 macro calls.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index cd4f19694b2..a26c1fdd199 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -1,13 +1,13 @@
 { fetchurl, stdenv, guile, which, libffi }:
 
-let version = "5.17"; in
+let version = "5.18"; in
 
   stdenv.mkDerivation {
     name = "autogen-${version}";
 
     src = fetchurl {
       url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.gz";
-      sha256 = "065mg9gfb605wxbsk3inf93528ygcjgg6j8ml51691f6ghj363ff";
+      sha256 = "1h2d3wpzkla42igxyisaqh2nwpq01vwad1wp9671xmm5ahvkw5f7";
     };
 
     buildInputs = [ guile which libffi ];
@@ -46,7 +46,7 @@ let version = "5.17"; in
         documentation of program options.
       '';
 
-      licenses = ["GPLv3+" "LGPLv3+" ];
+      license = ["GPLv3+" "LGPLv3+" ];
 
       homepage = http://www.gnu.org/software/autogen/;
 
diff --git a/pkgs/development/tools/misc/automake/automake-1.10.x.nix b/pkgs/development/tools/misc/automake/automake-1.10.x.nix
deleted file mode 100644
index 80b033425a1..00000000000
--- a/pkgs/development/tools/misc/automake/automake-1.10.x.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false}:
-
-stdenv.mkDerivation rec {
-  name = "automake-1.10.3";
-
-  builder = ./builder.sh;
-
-  setupHook = ./setup-hook.sh;
-
-  src = fetchurl {
-    url = "mirror://gnu/automake/${name}.tar.bz2";
-    sha256 = "1p0sgv8zl6ah6vwpqf7jkrjr3cw8ydpmnbi0ljb1dhrrp0xv92p9";
-  };
-
-  buildInputs = [perl autoconf makeWrapper];
-
-  inherit doCheck;
-
-  # Disable indented log output from Make, otherwise "make.test" will
-  # fail.
-  preCheck = "unset NIX_INDENT_MAKE";
-
-  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
-  # "fixed" path in generated files!
-  dontPatchShebangs = true;
-
-  meta = {
-    homepage = http://www.gnu.org/software/automake/;
-    description = "GNU standard-compliant makefile generator";
-
-    longDescription = ''
-      GNU Automake is a tool for automatically generating
-      `Makefile.in' files compliant with the GNU Coding
-      Standards.  Automake requires the use of Autoconf.
-    '';
-
-    license = "GPLv2+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-  };
-}
diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
index 0af9877c935..2cd80eb4bac 100644
--- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       Standards.  Automake requires the use of Autoconf.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/tools/misc/automake/automake-1.12.x.nix b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
index 8bee4790bcb..6a93cdc78fd 100644
--- a/pkgs/development/tools/misc/automake/automake-1.12.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
 
 stdenv.mkDerivation rec {
-  name = "automake-1.12.4";
+  name = "automake-1.12.6";
 
   # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
   # available upstream; see
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/automake/${name}.tar.xz";
-    sha256 = "0wppdm0wfizs6nmiwlkigcmh2pn33dywdkl7b407j3pvwn622vsi";
+    sha256 = "1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q";
   };
 
   buildInputs = [perl autoconf makeWrapper];
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
       Standards.  Automake requires the use of Autoconf.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/tools/misc/automake/automake-1.13.x.nix b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
index 96a93e8d60b..d4369787f1b 100644
--- a/pkgs/development/tools/misc/automake/automake-1.13.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.gnu.org/software/automake/";
     description = "GNU standard-compliant makefile generator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
       GNU Automake is a tool for automatically generating
diff --git a/pkgs/development/tools/misc/automake/automake-1.14.x.nix b/pkgs/development/tools/misc/automake/automake-1.14.x.nix
new file mode 100644
index 00000000000..0c6ed42825a
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/automake-1.14.x.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
+
+stdenv.mkDerivation rec {
+  name = "automake-1.14.1";
+
+  src = fetchurl {
+    url = "mirror://gnu/automake/${name}.tar.xz";
+    sha256 = "0s86rzdayj1licgj35q0mnynv5xa8f4p32m36blc5jk9id5z1d59";
+  };
+
+  buildInputs = [ perl autoconf ];
+
+  setupHook = ./setup-hook.sh;
+
+  # Disable indented log output from Make, otherwise "make.test" will
+  # fail.
+  preCheck = "unset NIX_INDENT_MAKE";
+  inherit doCheck;
+
+  # The test suite can run in parallel.
+  enableParallelBuilding = true;
+
+  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
+  # "fixed" path in generated files!
+  dontPatchShebangs = true;
+
+  meta = {
+    homepage = "http://www.gnu.org/software/automake/";
+    description = "GNU standard-compliant makefile generator";
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    longDescription = ''
+      GNU Automake is a tool for automatically generating
+      `Makefile.in' files compliant with the GNU Coding
+      Standards.  Automake requires the use of Autoconf.
+    '';
+
+    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/tools/misc/avrdude/default.nix b/pkgs/development/tools/misc/avrdude/default.nix
index 133e1c38194..2026e0ad2c8 100644
--- a/pkgs/development/tools/misc/avrdude/default.nix
+++ b/pkgs/development/tools/misc/avrdude/default.nix
@@ -1,31 +1,33 @@
-{ composableDerivation, fetchurl, yacc, flex, texLive, libusb }:
+{ stdenv, fetchurl, yacc, flex, libusb, libelf, libftdi1, readline
+# docSupport is a big dependency, disabled by default
+, docSupport ? false, texLive ? null, texinfo ? null, texi2html ? null
+}:
 
-let edf = composableDerivation.edf; in
+assert docSupport -> texLive != null && texinfo != null && texi2html != null;
 
-composableDerivation.composableDerivation {} rec {
-  name="avrdude-5.11";
+stdenv.mkDerivation rec {
+  name = "avrdude-6.1";
 
   src = fetchurl {
     url = "mirror://savannah/avrdude/${name}.tar.gz";
-    sha256 = "1mwmslqysak25a3x61pj97wygqgk79s5qpp50xzay6yb1zrz85v3";
+    sha256 = "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y";
   };
 
-  configureFlags = [ "--disable-dependency-tracking" ];
-
-  buildInputs = [ yacc flex libusb ];
-
-  flags =
-       edf { name = "doc"; enable = { buildInputs = texLive; configureFlags = ["--enable-doc"]; }; }
-    // edf { name = "parport"; };
-
-  cfg = {
-    docSupport = false; # untested
-    parportSupport = true;
-  };
-
-  meta = {
-    license = "GPL-2";
-    description = "AVR Downloader/UploaDEr";
-    homepage = http://savannah.nongnu.org/projects/avrdude;
+  configureFlags = stdenv.lib.optionalString docSupport "--enable-doc";
+
+  buildInputs = [ yacc flex libusb libelf libftdi1 readline ]
+    ++ stdenv.lib.optionals docSupport [ texLive texinfo texi2html ];
+
+  meta = with stdenv.lib; {
+    description = "Command-line tool for programming Atmel AVR microcontrollers";
+    longDescription = ''
+      AVRDUDE (AVR Downloader/UploaDEr) is an utility to
+      download/upload/manipulate the ROM and EEPROM contents of AVR
+      microcontrollers using the in-system programming technique (ISP).
+    '';
+    homepage = http://www.nongnu.org/avrdude/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
index d19bb24eb37..aa8e70b5edc 100644
--- a/pkgs/development/tools/misc/babeltrace/default.nix
+++ b/pkgs/development/tools/misc/babeltrace/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, libuuid, popt }:
 
 stdenv.mkDerivation rec {
-  name = "babeltrace-1.1.1";
+  name = "babeltrace-1.2.1";
 
   src = fetchurl {
     url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2";
-    sha256 = "04jc1yd3aaq59fmpzswzc78cywpq7wzjfqdlsg7xc76ivb8cggfz";
+    sha256 = "1pwg0y57iy4c8wynb6bj7f6bxaiclmxcm4f3nllpw9brhbdzygc1";
   };
 
   buildInputs = [ pkgconfig glib libuuid popt ];
diff --git a/pkgs/development/tools/misc/binutils-cross/builder.sh b/pkgs/development/tools/misc/binutils-cross/builder.sh
deleted file mode 100644
index 29d3b3779b6..00000000000
--- a/pkgs/development/tools/misc/binutils-cross/builder.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-source $stdenv/setup
-
-if test $cross = "arm-linux" ; then
-  configureFlags="--target=arm-linux"
-elif test $cross = "mips-linux" ; then
-  configureFlags="--target=mips-linux"
-elif test $cross = "mipsel-linux" ; then
-  configureFlags="--target=mipsel-linux"
-elif test $cross = "sparc-linux" ; then
-  configureFlags="--target=sparc-linux"
-elif test $cross = "powerpc-linux" ; then
-  configureFlags="--target=powerpc-linux"
-elif test $cross = "ppc-linux" ; then
-  configureFlags="--target=powerpc-linux"
-fi
-
-patchConfigure() {
-    # Clear the default library search path.
-    if test "$noSysDirs" = "1"; then
-        echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
-    fi
-}
-
-preConfigure=patchConfigure
-
-genericBuild
diff --git a/pkgs/development/tools/misc/binutils-cross/default.nix b/pkgs/development/tools/misc/binutils-cross/default.nix
deleted file mode 100644
index 7d77baced37..00000000000
--- a/pkgs/development/tools/misc/binutils-cross/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, noSysDirs, cross}:
-
-stdenv.mkDerivation {
-  name = "binutils-2.16.1";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://ftp.nluug.nl/gnu/binutils/binutils-2.16.1.tar.bz2;
-    md5 = "6a9d529efb285071dad10e1f3d2b2967";
-  };
-  inherit noSysDirs;
-  #configureFlags = if cross=="arm-linux" then "--target=arm-linux" else if cross=="mips-linux" then "--target=mips-linux" else if cross=="sparc-linux" then "--target=sparc-linux"; 
-  inherit cross;
-}
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 6b93240ba05..8d8fc5d464e 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,10 +1,13 @@
 { stdenv, fetchurl, noSysDirs, zlib
-, cross ? null, gold ? false, bison ? null, flex2535 ? null, bc ? null, dejagnu ? null
-, deterministic ? false }:
+, cross ? null, gold ? true, bison ? null
+}:
 
 let basename = "binutils-2.23.1"; in
+
+with { inherit (stdenv.lib) optional optionals optionalString; };
+
 stdenv.mkDerivation rec {
-  name = basename + stdenv.lib.optionalString (cross != null) "-${cross.config}";
+  name = basename + optionalString (cross != null) "-${cross.config}";
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
@@ -21,23 +24,31 @@ stdenv.mkDerivation rec {
     # That requires upstream changes for things to work. So we can patch it to
     # get the old behaviour by now.
     ./dtneeded.patch
-  ] ++ (stdenv.lib.optional deterministic ./deterministic.patch);
+
+    # Make binutils output deterministic by default.
+    ./deterministic.patch
+
+    # Always add PaX flags section to ELF files.
+    # This is needed, for instance, so that running "ldd" on a binary that is
+    # PaX-marked to disable mprotect doesn't fail with permission denied.
+    ./pt-pax-flags-20121023.patch
+  ];
 
   buildInputs =
     [ zlib ]
-    ++ stdenv.lib.optional gold bison;
+    ++ optional gold bison;
 
   inherit noSysDirs;
 
   preConfigure = ''
     # Clear the default library search path.
     if test "$noSysDirs" = "1"; then
-	echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
+        echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
     fi
 
     # Use symlinks instead of hard links to save space ("strip" in the
     # fixup phase strips each hard link separately).
-    for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in; do
+    for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do
         sed -i "$i" -e 's|ln |ln -s |'
     done
   '';
@@ -46,15 +57,15 @@ stdenv.mkDerivation rec {
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
   NIX_CFLAGS_COMPILE = "-static-libgcc";
 
-  configureFlags = "--disable-werror" # needed for dietlibc build
-      + stdenv.lib.optionalString (stdenv.system == "mips64el-linux")
-        " --enable-fix-loongson2f-nop"
-      + stdenv.lib.optionalString (cross != null) " --target=${cross.config}"
-      + stdenv.lib.optionalString gold " --enable-gold --enable-plugins"
-      + stdenv.lib.optionalString deterministic " --enable-deterministic-archives";
+  configureFlags =
+    [ "--enable-shared" "--enable-deterministic-archives" ]
+    ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
+    ++ optional (cross != null) "--target=${cross.config}"
+    ++ optionals gold [ "--enable-gold" "--enable-plugins" ]
+    ++ optional (stdenv.system == "i686-linux") "--enable-targets=x86_64-linux-gnu";
 
   enableParallelBuilding = true;
-      
+
   meta = {
     description = "GNU Binutils, tools for manipulating binaries (linker, assembler, etc.)";
 
@@ -67,7 +78,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/binutils/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     /* Give binutils a lower priority than gcc-wrapper to prevent a
        collision due to the ld/as wrappers/symlinks in the latter. */
diff --git a/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch b/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch
new file mode 100644
index 00000000000..bb0785fe192
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch
@@ -0,0 +1,1786 @@
+--- binutils-2.23/bfd/elf-bfd.h
++++ binutils-2.23/bfd/elf-bfd.h
+@@ -1577,6 +1577,9 @@ struct elf_obj_tdata
+   /* Segment flags for the PT_GNU_STACK segment.  */
+   unsigned int stack_flags;
+ 
++  /* Segment flags for the PT_PAX_FLAGS segment.  */
++  unsigned int pax_flags;
++
+   /* Symbol version definitions in external objects.  */
+   Elf_Internal_Verdef *verdef;
+ 
+--- binutils-2.23/bfd/elf.c
++++ binutils-2.23/bfd/elf.c
+@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
+     case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
+     case PT_GNU_STACK: pt = "STACK"; break;
+     case PT_GNU_RELRO: pt = "RELRO"; break;
++    case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
+     default: pt = NULL; break;
+     }
+   return pt;
+@@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
+     case PT_GNU_RELRO:
+       return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
+ 
++    case PT_PAX_FLAGS:
++      return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
++
+     default:
+       /* Check for any processor-specific program segment types.  */
+       bed = get_elf_backend_data (abfd);
+@@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
+       ++segs;
+     }
+ 
++    {
++      /* We need a PT_PAX_FLAGS segment.  */
++      ++segs;
++    }
++
+   for (s = abfd->sections; s != NULL; s = s->next)
+     {
+       if ((s->flags & SEC_LOAD) != 0
+@@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
+ 	    }
+ 	}
+ 
++    {
++      amt = sizeof (struct elf_segment_map);
++      m = bfd_zalloc (abfd, amt);
++      if (m == NULL)
++	goto error_return;
++      m->next = NULL;
++      m->p_type = PT_PAX_FLAGS;
++      m->p_flags = elf_tdata (abfd)->pax_flags;
++      m->p_flags_valid = 1;
++
++      *pm = m;
++      pm = &m->next;
++    }
++
+       free (sections);
+       elf_tdata (abfd)->segment_map = mfirst;
+     }
+@@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
+        6. PT_TLS segment includes only SHF_TLS sections.
+        7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
+        8. PT_DYNAMIC should not contain empty sections at the beginning
+-	  (with the possible exception of .dynamic).  */
++	  (with the possible exception of .dynamic).
++       9. PT_PAX_FLAGS segments do not include any sections.  */
+ #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed)		\
+   ((((segment->p_paddr							\
+       ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr)	\
+@@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
+      && (section->flags & SEC_ALLOC) != 0)				\
+     || IS_NOTE (segment, section))					\
+    && segment->p_type != PT_GNU_STACK					\
++   && segment->p_type != PT_PAX_FLAGS					\
+    && (segment->p_type != PT_TLS					\
+        || (section->flags & SEC_THREAD_LOCAL))				\
+    && (segment->p_type == PT_LOAD					\
+--- binutils-2.23/bfd/elflink.c
++++ binutils-2.23/bfd/elflink.c
+@@ -5545,16 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
+     return TRUE;
+ 
+   bed = get_elf_backend_data (output_bfd);
++
++  elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC;
++  if (info->execheap)
++    elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT;
++  else if (info->noexecheap)
++    elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT;
++
+   if (info->execstack)
+-    elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
++    {
++      elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
++      elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
++    }
+   else if (info->noexecstack)
+-    elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
++    {
++      elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
++      elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
++    }
+   else
+     {
+       bfd *inputobj;
+       asection *notesec = NULL;
+       int exec = 0;
+ 
++      elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
+       for (inputobj = info->input_bfds;
+ 	   inputobj;
+ 	   inputobj = inputobj->link_next)
+@@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
+ 	  if (s)
+ 	    {
+ 	      if (s->flags & SEC_CODE)
+-		exec = PF_X;
++		{
++		  elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP;
++		  elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
++		  exec = PF_X;
++		}
+ 	      notesec = s;
+ 	    }
+ 	  else if (bed->default_execstack)
+--- binutils-2.23/binutils/readelf.c
++++ binutils-2.23/binutils/readelf.c
+@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
+ 			return "GNU_EH_FRAME";
+     case PT_GNU_STACK:	return "GNU_STACK";
+     case PT_GNU_RELRO:  return "GNU_RELRO";
++    case PT_PAX_FLAGS:  return "PAX_FLAGS";
+ 
+     default:
+       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
+--- binutils-2.23/include/bfdlink.h
++++ binutils-2.23/include/bfdlink.h
+@@ -322,6 +322,14 @@ struct bfd_link_info
+   /* TRUE if PT_GNU_RELRO segment should be created.  */
+   unsigned int relro: 1;
+ 
++  /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
++     flags.  */
++  unsigned int execheap: 1;
++
++  /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
++     flags.  */
++  unsigned int noexecheap: 1;
++
+   /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
+      should be created.  */
+   unsigned int eh_frame_hdr: 1;
+--- binutils-2.23/include/elf/common.h
++++ binutils-2.23/include/elf/common.h
+@@ -429,6 +429,7 @@
+ #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME      /* Solaris uses the same value */
+ #define PT_GNU_STACK	(PT_LOOS + 0x474e551) /* Stack flags */
+ #define PT_GNU_RELRO	(PT_LOOS + 0x474e552) /* Read-only after relocation */
++#define PT_PAX_FLAGS	(PT_LOOS + 0x5041580) /* PaX flags */
+ 
+ /* Program segment permissions, in program header p_flags field.  */
+ 
+@@ -439,6 +440,21 @@
+ #define PF_MASKOS	0x0FF00000	/* New value, Oct 4, 1999 Draft */
+ #define PF_MASKPROC	0xF0000000	/* Processor-specific reserved bits */
+ 
++/* Flags to control PaX behavior.  */
++
++#define PF_PAGEEXEC	(1 << 4)	/* Enable  PAGEEXEC */
++#define PF_NOPAGEEXEC	(1 << 5)	/* Disable PAGEEXEC */
++#define PF_SEGMEXEC	(1 << 6)	/* Enable  SEGMEXEC */
++#define PF_NOSEGMEXEC	(1 << 7)	/* Disable SEGMEXEC */
++#define PF_MPROTECT	(1 << 8)	/* Enable  MPROTECT */
++#define PF_NOMPROTECT	(1 << 9)	/* Disable MPROTECT */
++#define PF_RANDEXEC	(1 << 10)	/* Enable  RANDEXEC */
++#define PF_NORANDEXEC	(1 << 11)	/* Disable RANDEXEC */
++#define PF_EMUTRAMP	(1 << 12)	/* Enable  EMUTRAMP */
++#define PF_NOEMUTRAMP	(1 << 13)	/* Disable EMUTRAMP */
++#define PF_RANDMMAP	(1 << 14)	/* Enable  RANDMMAP */
++#define PF_NORANDMMAP	(1 << 15)	/* Disable RANDMMAP */
++
+ /* Values for section header, sh_type field.  */
+ 
+ #define SHT_NULL	0		/* Section header table entry unused */
+--- binutils-2.23/ld/emultempl/elf32.em
++++ binutils-2.23/ld/emultempl/elf32.em
+@@ -2285,6 +2285,16 @@ fragment <<EOF
+ 	  link_info.noexecstack = TRUE;
+ 	  link_info.execstack = FALSE;
+ 	}
++      else if (strcmp (optarg, "execheap") == 0)
++	{
++	  link_info.execheap = TRUE;
++	  link_info.noexecheap = FALSE;
++	}
++      else if (strcmp (optarg, "noexecheap") == 0)
++	{
++	  link_info.noexecheap = TRUE;
++	  link_info.execheap = FALSE;
++	}
+ EOF
+ if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
+ fragment <<EOF
+@@ -2368,6 +2378,8 @@ fragment <<EOF
+   -z defs                     Report unresolved symbols in object files.\n"));
+   fprintf (file, _("\
+   -z execstack                Mark executable as requiring executable stack\n"));
++  fprintf (file, _("\
++  -z execheap                 Mark executable as requiring executable heap\n"));
+ EOF
+ 
+ if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
+@@ -2391,6 +2403,8 @@ fragment <<EOF
+ fragment <<EOF
+   fprintf (file, _("\
+   -z noexecstack              Mark executable as not requiring executable stack\n"));
++  fprintf (file, _("\
++  -z noexecheap               Mark executable as not requiring executable heap\n"));
+ EOF
+ if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
+ fragment <<EOF
+--- binutils-2.23/ld/ldgram.y
++++ binutils-2.23/ld/ldgram.y
+@@ -1119,6 +1119,8 @@ phdr_type:
+ 			    $$ = exp_intop (0x6474e550);
+ 			  else if (strcmp (s, "PT_GNU_STACK") == 0)
+ 			    $$ = exp_intop (0x6474e551);
++			  else if (strcmp (s, "PT_PAX_FLAGS") == 0)
++			    $$ = exp_intop (0x65041580);
+ 			  else
+ 			    {
+ 			      einfo (_("\
+--- binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd
++++ binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd
+@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ 
+ Program Headers:
+   Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+-  PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8
++  PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8
+   INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
+ .*Requesting program interpreter.*
+   LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
+   LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+   DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
+   TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
+--- binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd
++++ binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd
+@@ -42,6 +42,7 @@ Program Headers:
+  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+  +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
+--- binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd
++++ binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd
+@@ -38,6 +38,7 @@ Program Headers:
+  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+  +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
+  +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
+--- binutils-2.23/ld/testsuite/ld-elf/eh1.d
++++ binutils-2.23/ld/testsuite/ld-elf/eh1.d
+@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
+   DW_CFA_nop
+   DW_CFA_nop
+ 
+-00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
+-  DW_CFA_advance_loc: 0 to 00400078
++00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
++  DW_CFA_advance_loc: 0 to [0-9a-f]+
+   DW_CFA_def_cfa_offset: 16
+   DW_CFA_offset: r6 \(rbp\) at cfa-16
+-  DW_CFA_advance_loc: 0 to 00400078
++  DW_CFA_advance_loc: 0 to [0-9a-f]+
+   DW_CFA_def_cfa_register: r6 \(rbp\)
+ 
+ 00000038 ZERO terminator
+--- binutils-2.23/ld/testsuite/ld-elf/eh2.d
++++ binutils-2.23/ld/testsuite/ld-elf/eh2.d
+@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
+   DW_CFA_nop
+   DW_CFA_nop
+ 
+-00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
+-  DW_CFA_advance_loc: 0 to 00400078
++00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
++  DW_CFA_advance_loc: 0 to [0-9a-f]+
+   DW_CFA_def_cfa_offset: 16
+   DW_CFA_offset: r6 \(rbp\) at cfa-16
+-  DW_CFA_advance_loc: 0 to 00400078
++  DW_CFA_advance_loc: 0 to [0-9a-f]+
+   DW_CFA_def_cfa_register: r6 \(rbp\)
+ 
+ 00000038 ZERO terminator
+--- binutils-2.23/ld/testsuite/ld-elf/eh3.d
++++ binutils-2.23/ld/testsuite/ld-elf/eh3.d
+@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
+   DW_CFA_nop
+   DW_CFA_nop
+ 
+-00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
+-  DW_CFA_advance_loc: 0 to 00400078
++00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
++  DW_CFA_advance_loc: 0 to [0-9a-f]+
+   DW_CFA_def_cfa_offset: 16
+   DW_CFA_offset: r6 \(rbp\) at cfa-16
+-  DW_CFA_advance_loc: 0 to 00400078
++  DW_CFA_advance_loc: 0 to [0-9a-f]+
+   DW_CFA_def_cfa_register: r6 \(rbp\)
+ 
+ 00000038 ZERO terminator
+--- binutils-2.23/ld/testsuite/ld-elf/orphan-region.d
++++ binutils-2.23/ld/testsuite/ld-elf/orphan-region.d
+@@ -15,7 +15,9 @@
+ Program Headers:
+   Type.*
+   LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+   Segment Sections...
+    00     .text .rodata .moredata *
++   01 +
+--- binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd
++++ binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd
+@@ -44,6 +44,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -53,6 +54,7 @@ Program Headers:
+  +03 +.tdata .dynamic .got .got.plt *
+  +04 +.dynamic *
+  +05 +.tdata .tbss *
++ +06 +
+ 
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd
++++ binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd
+@@ -42,6 +42,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -51,6 +52,7 @@ Program Headers:
+  +03 +.tdata .dynamic .got .got.plt *
+  +04 +.dynamic *
+  +05 +.tdata .tbss *
++ +06 +
+ 
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd
++++ binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd
+@@ -39,6 +39,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -46,6 +47,7 @@ Program Headers:
+  +01 +.tdata .dynamic .got .got.plt *
+  +02 +.dynamic *
+  +03 +.tdata .tbss *
++ +04 +
+ 
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd
++++ binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd
+@@ -36,12 +36,14 @@ Program Headers:
+  +LOAD.*
+  +LOAD.*
+  +DYNAMIC.*
++ +PAX_FLAGS.*
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+  +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
+  +01 +.dynamic .got .got.plt *
+  +02 +.dynamic *
++ +03 +
+ 
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd
++++ binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd
+@@ -37,6 +37,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -44,6 +45,7 @@ Program Headers:
+  +01 +.dynamic .got .got.plt *
+  +02 +.dynamic *
+  +03 +.tbss *
++ +04 +
+ 
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.23/ld/testsuite/ld-i386/tlspic.rd
++++ binutils-2.23/ld/testsuite/ld-i386/tlspic.rd
+@@ -40,6 +40,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -47,6 +48,7 @@ Program Headers:
+  +01 +.tdata .dynamic .got .got.plt *
+  +02 +.dynamic *
+  +03 +.tdata .tbss *
++ +04 +
+ 
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.23/ld/testsuite/ld-ia64/merge1.d
++++ binutils-2.23/ld/testsuite/ld-ia64/merge1.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+ 
+ #...
+-0+1e0 <.text>:
++[a-f0-9]+ <.text>:
+ [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
+ [ 	]*[a-f0-9]+:	c0 c0 04 00 48 00 	            addl r12=24,r1
+ [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
+--- binutils-2.23/ld/testsuite/ld-ia64/merge2.d
++++ binutils-2.23/ld/testsuite/ld-ia64/merge2.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+ 
+ #...
+-0+1e0 <.text>:
++[a-f0-9]+ <.text>:
+ [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
+ [ 	]*[a-f0-9]+:	c0 c0 04 00 48 00 	            addl r12=24,r1
+ [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
+--- binutils-2.23/ld/testsuite/ld-ia64/merge3.d
++++ binutils-2.23/ld/testsuite/ld-ia64/merge3.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+ 
+ #...
+-0+210 <.text>:
++[a-f0-9]+ <.text>:
+ [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
+ [ 	]*[a-f0-9]+:	c0 40 05 00 48 00 	            addl r12=40,r1
+ [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
+--- binutils-2.23/ld/testsuite/ld-ia64/merge4.d
++++ binutils-2.23/ld/testsuite/ld-ia64/merge4.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+ 
+ #...
+-0+240 <.text>:
++[a-f0-9]+ <.text>:
+ [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
+ [ 	]*[a-f0-9]+:	c0 40 05 00 48 00 	            addl r12=40,r1
+ [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
+--- binutils-2.23/ld/testsuite/ld-ia64/merge5.d
++++ binutils-2.23/ld/testsuite/ld-ia64/merge5.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+ 
+ #...
+-0+270 <.text>:
++[a-f0-9]+ <.text>:
+ [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
+ [ 	]*[a-f0-9]+:	c0 40 05 00 48 00 	            addl r12=40,r1
+ [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
+--- binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd
++++ binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd
+@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ 
+ Program Headers:
+  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+- +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
+- +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
++ +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8
++ +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
+ .*Requesting program interpreter.*
+  +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
+  +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
+  +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
+  +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  +IA_64_UNWIND .* R +0x8
+ #...
+ 
+--- binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd
++++ binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd
+@@ -40,6 +40,7 @@ Program Headers:
+  +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
+  +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
+  +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
+ #...
+ 
+--- binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
++++ binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
+@@ -8,9 +8,9 @@
+ .*: +file format.*
+ 
+ Disassembly of section \.text:
+-004000b0 <[^>]*> 3c1c0043 	lui	gp,0x43
+-004000b4 <[^>]*> 279c9ff0 	addiu	gp,gp,-24592
+-004000b8 <[^>]*> afbc0008 	sw	gp,8\(sp\)
++004000d0 <[^>]*> 3c1c0043 	lui	gp,0x43
++004000d4 <[^>]*> 279c9ff0 	addiu	gp,gp,-24592
++004000d8 <[^>]*> afbc0008 	sw	gp,8\(sp\)
+ #...
+ 00408d60 <[^>]*> 3c1c0043 	lui	gp,0x43
+ 00408d64 <[^>]*> 279c2c98 	addiu	gp,gp,11416
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is DYN \(Shared object file\)
+ Entry point .*
+-There are 5 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -9,6 +9,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
+  * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -18,3 +19,4 @@ Program Headers:
+  *0*2 * \.data \.got *
+  *0*3 * \.dynamic *
+  *0*4 *
++ *0*5 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+  *0*5 *\.got \.data *
+  *0*6 *\.dynamic *
+  *0*7 *
++ *0*8 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+  *0*5 * \.got \.data \.bss *
+  *0*6 * \.dynamic *
+  *0*7 *
++ *0*8 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+  *0*5 * \.got \.data \.bss *
+  *0*6 * \.dynamic *
+  *0*7 *
++ *0*8 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+  *0*5 * \.got \.data \.bss *
+  *0*6 * \.dynamic *
+  *0*7 *
++ *0*8 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 7 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -12,6 +12,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -23,3 +24,4 @@ Program Headers:
+  *0*4 * \.got \.data \.bss *
+  *0*5 * \.dynamic *
+  *0*6 *
++ *0*7 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
+@@ -1,7 +1,7 @@
+ 
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+ 
+ Program Headers:
+  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
+  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+  * NULL * .*
+ 
+  *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+  *0*5 * \.got \.data \.bss *
+  *0*6 * \.dynamic *
+  *0*7 *
++ *0*8 *
+--- binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d
++++ binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d
+@@ -2,42 +2,42 @@
+ 
+ Disassembly of section .text:
+ 
+-004000d0 <__start>:
+-  4000d0:	3c1c0fc0 	lui	gp,0xfc0
+-  4000d4:	279c7f30 	addiu	gp,gp,32560
+-  4000d8:	0399e021 	addu	gp,gp,t9
+-  4000dc:	27bdfff0 	addiu	sp,sp,-16
+-  4000e0:	afbe0008 	sw	s8,8\(sp\)
+-  4000e4:	03a0f021 	move	s8,sp
+-  4000e8:	afbc0000 	sw	gp,0\(sp\)
+-  4000ec:	8f998018 	lw	t9,-32744\(gp\)
+-  4000f0:	27848028 	addiu	a0,gp,-32728
+-  4000f4:	0320f809 	jalr	t9
+-  4000f8:	00000000 	nop
+-  4000fc:	8fdc0000 	lw	gp,0\(s8\)
+-  400100:	00000000 	nop
+-  400104:	8f998018 	lw	t9,-32744\(gp\)
+-  400108:	27848020 	addiu	a0,gp,-32736
+-  40010c:	0320f809 	jalr	t9
+-  400110:	00000000 	nop
+-  400114:	8fdc0000 	lw	gp,0\(s8\)
+-  400118:	00401021 	move	v0,v0
+-  40011c:	3c030000 	lui	v1,0x0
+-  400120:	24638000 	addiu	v1,v1,-32768
+-  400124:	00621821 	addu	v1,v1,v0
+-  400128:	7c02283b 	rdhwr	v0,\$5
+-  40012c:	8f83801c 	lw	v1,-32740\(gp\)
+-  400130:	00000000 	nop
+-  400134:	00621821 	addu	v1,v1,v0
+-  400138:	7c02283b 	rdhwr	v0,\$5
+-  40013c:	3c030000 	lui	v1,0x0
+-  400140:	24639004 	addiu	v1,v1,-28668
+-  400144:	00621821 	addu	v1,v1,v0
+-  400148:	03c0e821 	move	sp,s8
+-  40014c:	8fbe0008 	lw	s8,8\(sp\)
+-  400150:	03e00008 	jr	ra
+-  400154:	27bd0010 	addiu	sp,sp,16
++00400[0-9a-f]{3} <__start>:
++  400[0-9a-f]{3}:	3c1c0fc0 	lui	gp,0xfc0
++  400[0-9a-f]{3}:	279c7f30 	addiu	gp,gp,32560
++  400[0-9a-f]{3}:	0399e021 	addu	gp,gp,t9
++  400[0-9a-f]{3}:	27bdfff0 	addiu	sp,sp,-16
++  400[0-9a-f]{3}:	afbe0008 	sw	s8,8\(sp\)
++  400[0-9a-f]{3}:	03a0f021 	move	s8,sp
++  400[0-9a-f]{3}:	afbc0000 	sw	gp,0\(sp\)
++  400[0-9a-f]{3}:	8f998018 	lw	t9,-32744\(gp\)
++  400[0-9a-f]{3}:	27848028 	addiu	a0,gp,-32728
++  400[0-9a-f]{3}:	0320f809 	jalr	t9
++  400[0-9a-f]{3}:	00000000 	nop
++  400[0-9a-f]{3}:	8fdc0000 	lw	gp,0\(s8\)
++  400[0-9a-f]{3}:	00000000 	nop
++  400[0-9a-f]{3}:	8f998018 	lw	t9,-32744\(gp\)
++  400[0-9a-f]{3}:	27848020 	addiu	a0,gp,-32736
++  400[0-9a-f]{3}:	0320f809 	jalr	t9
++  400[0-9a-f]{3}:	00000000 	nop
++  400[0-9a-f]{3}:	8fdc0000 	lw	gp,0\(s8\)
++  400[0-9a-f]{3}:	00401021 	move	v0,v0
++  400[0-9a-f]{3}:	3c030000 	lui	v1,0x0
++  400[0-9a-f]{3}:	24638000 	addiu	v1,v1,-32768
++  400[0-9a-f]{3}:	00621821 	addu	v1,v1,v0
++  400[0-9a-f]{3}:	7c02283b 	rdhwr	v0,\$5
++  400[0-9a-f]{3}:	8f83801c 	lw	v1,-32740\(gp\)
++  400[0-9a-f]{3}:	00000000 	nop
++  400[0-9a-f]{3}:	00621821 	addu	v1,v1,v0
++  400[0-9a-f]{3}:	7c02283b 	rdhwr	v0,\$5
++  400[0-9a-f]{3}:	3c030000 	lui	v1,0x0
++  400[0-9a-f]{3}:	24639004 	addiu	v1,v1,-28668
++  400[0-9a-f]{3}:	00621821 	addu	v1,v1,v0
++  400[0-9a-f]{3}:	03c0e821 	move	sp,s8
++  400[0-9a-f]{3}:	8fbe0008 	lw	s8,8\(sp\)
++  400[0-9a-f]{3}:	03e00008 	jr	ra
++  400[0-9a-f]{3}:	27bd0010 	addiu	sp,sp,16
+ 
+-00400158 <__tls_get_addr>:
+-  400158:	03e00008 	jr	ra
+-  40015c:	00000000 	nop
++00400[0-9a-f]{3} <__tls_get_addr>:
++  400[0-9a-f]{3}:	03e00008 	jr	ra
++  400[0-9a-f]{3}:	00000000 	nop
+--- binutils-2.23/ld/testsuite/ld-powerpc/tls.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tls.d
+@@ -9,45 +9,45 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+100000e8 <_start>:
+-    100000e8:	3c 6d 00 00 	addis   r3,r13,0
+-    100000ec:	60 00 00 00 	nop
+-    100000f0:	38 63 90 78 	addi    r3,r3,-28552
+-    100000f4:	3c 6d 00 00 	addis   r3,r13,0
+-    100000f8:	60 00 00 00 	nop
+-    100000fc:	38 63 10 00 	addi    r3,r3,4096
+-    10000100:	3c 6d 00 00 	addis   r3,r13,0
+-    10000104:	60 00 00 00 	nop
+-    10000108:	38 63 90 40 	addi    r3,r3,-28608
+-    1000010c:	3c 6d 00 00 	addis   r3,r13,0
+-    10000110:	60 00 00 00 	nop
+-    10000114:	38 63 10 00 	addi    r3,r3,4096
+-    10000118:	39 23 80 48 	addi    r9,r3,-32696
+-    1000011c:	3d 23 00 00 	addis   r9,r3,0
+-    10000120:	81 49 80 50 	lwz     r10,-32688\(r9\)
+-    10000124:	e9 22 80 10 	ld      r9,-32752\(r2\)
+-    10000128:	7d 49 18 2a 	ldx     r10,r9,r3
+-    1000012c:	3d 2d 00 00 	addis   r9,r13,0
+-    10000130:	a1 49 90 60 	lhz     r10,-28576\(r9\)
+-    10000134:	89 4d 90 68 	lbz     r10,-28568\(r13\)
+-    10000138:	3d 2d 00 00 	addis   r9,r13,0
+-    1000013c:	99 49 90 70 	stb     r10,-28560\(r9\)
+-    10000140:	3c 6d 00 00 	addis   r3,r13,0
+-    10000144:	60 00 00 00 	nop
+-    10000148:	38 63 90 00 	addi    r3,r3,-28672
+-    1000014c:	3c 6d 00 00 	addis   r3,r13,0
+-    10000150:	60 00 00 00 	nop
+-    10000154:	38 63 10 00 	addi    r3,r3,4096
+-    10000158:	f9 43 80 08 	std     r10,-32760\(r3\)
+-    1000015c:	3d 23 00 00 	addis   r9,r3,0
+-    10000160:	91 49 80 10 	stw     r10,-32752\(r9\)
+-    10000164:	e9 22 80 08 	ld      r9,-32760\(r2\)
+-    10000168:	7d 49 19 2a 	stdx    r10,r9,r3
+-    1000016c:	3d 2d 00 00 	addis   r9,r13,0
+-    10000170:	b1 49 90 60 	sth     r10,-28576\(r9\)
+-    10000174:	e9 4d 90 2a 	lwa     r10,-28632\(r13\)
+-    10000178:	3d 2d 00 00 	addis   r9,r13,0
+-    1000017c:	a9 49 90 30 	lha     r10,-28624\(r9\)
++0+10000[0-9a-f]{3} <_start>:
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 78 	addi    r3,r3,-28552
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 40 	addi    r3,r3,-28608
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++    10000[0-9a-f]{3}:	39 23 80 48 	addi    r9,r3,-32696
++    10000[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
++    10000[0-9a-f]{3}:	81 49 80 50 	lwz     r10,-32688\(r9\)
++    10000[0-9a-f]{3}:	e9 22 80 10 	ld      r9,-32752\(r2\)
++    10000[0-9a-f]{3}:	7d 49 18 2a 	ldx     r10,r9,r3
++    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
++    10000[0-9a-f]{3}:	a1 49 90 60 	lhz     r10,-28576\(r9\)
++    10000[0-9a-f]{3}:	89 4d 90 68 	lbz     r10,-28568\(r13\)
++    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
++    10000[0-9a-f]{3}:	99 49 90 70 	stb     r10,-28560\(r9\)
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 00 	addi    r3,r3,-28672
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++    10000[0-9a-f]{3}:	f9 43 80 08 	std     r10,-32760\(r3\)
++    10000[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
++    10000[0-9a-f]{3}:	91 49 80 10 	stw     r10,-32752\(r9\)
++    10000[0-9a-f]{3}:	e9 22 80 08 	ld      r9,-32760\(r2\)
++    10000[0-9a-f]{3}:	7d 49 19 2a 	stdx    r10,r9,r3
++    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
++    10000[0-9a-f]{3}:	b1 49 90 60 	sth     r10,-28576\(r9\)
++    10000[0-9a-f]{3}:	e9 4d 90 2a 	lwa     r10,-28632\(r13\)
++    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
++    10000[0-9a-f]{3}:	a9 49 90 30 	lha     r10,-28624\(r9\)
+ 
+-0+10000180 <\.__tls_get_addr>:
+-    10000180:	4e 80 00 20 	blr
++0+10000[0-9a-f]{3} <\.__tls_get_addr>:
++    10000[0-9a-f]{3}:	4e 80 00 20 	blr
+--- binutils-2.23/ld/testsuite/ld-powerpc/tls.g
++++ binutils-2.23/ld/testsuite/ld-powerpc/tls.g
+@@ -8,5 +8,5 @@
+ .*: +file format elf64-powerpc
+ 
+ Contents of section \.got:
+- 100101e0 00000000 100181e0 ffffffff ffff8018  .*
+- 100101f0 ffffffff ffff8058                    .*
++ 10010([0-9a-f]{3}) 00000000 10018\1 ffffffff ffff8018  .*
++ 10010[0-9a-f]{3} ffffffff ffff8058                    .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tls32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.d
+@@ -9,42 +9,42 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+1800094 <_start>:
+- 1800094:	3c 62 00 00 	addis   r3,r2,0
+- 1800098:	38 63 90 3c 	addi    r3,r3,-28612
+- 180009c:	3c 62 00 00 	addis   r3,r2,0
+- 18000a0:	38 63 10 00 	addi    r3,r3,4096
+- 18000a4:	3c 62 00 00 	addis   r3,r2,0
+- 18000a8:	38 63 90 20 	addi    r3,r3,-28640
+- 18000ac:	3c 62 00 00 	addis   r3,r2,0
+- 18000b0:	38 63 10 00 	addi    r3,r3,4096
+- 18000b4:	39 23 80 24 	addi    r9,r3,-32732
+- 18000b8:	3d 23 00 00 	addis   r9,r3,0
+- 18000bc:	81 49 80 28 	lwz     r10,-32728\(r9\)
+- 18000c0:	3d 22 00 00 	addis   r9,r2,0
+- 18000c4:	a1 49 90 30 	lhz     r10,-28624\(r9\)
+- 18000c8:	89 42 90 34 	lbz     r10,-28620\(r2\)
+- 18000cc:	3d 22 00 00 	addis   r9,r2,0
+- 18000d0:	99 49 90 38 	stb     r10,-28616\(r9\)
+- 18000d4:	3c 62 00 00 	addis   r3,r2,0
+- 18000d8:	38 63 90 00 	addi    r3,r3,-28672
+- 18000dc:	3c 62 00 00 	addis   r3,r2,0
+- 18000e0:	38 63 10 00 	addi    r3,r3,4096
+- 18000e4:	91 43 80 04 	stw     r10,-32764\(r3\)
+- 18000e8:	3d 23 00 00 	addis   r9,r3,0
+- 18000ec:	91 49 80 08 	stw     r10,-32760\(r9\)
+- 18000f0:	3d 22 00 00 	addis   r9,r2,0
+- 18000f4:	b1 49 90 30 	sth     r10,-28624\(r9\)
+- 18000f8:	a1 42 90 14 	lhz     r10,-28652\(r2\)
+- 18000fc:	3d 22 00 00 	addis   r9,r2,0
+- 1800100:	a9 49 90 18 	lha     r10,-28648\(r9\)
++0+1800[0-9a-f]{3} <_start>:
++ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
++ 1800[0-9a-f]{3}:	38 63 90 3c 	addi    r3,r3,-28612
++ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
++ 1800[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
++ 1800[0-9a-f]{3}:	38 63 90 20 	addi    r3,r3,-28640
++ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
++ 1800[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++ 1800[0-9a-f]{3}:	39 23 80 24 	addi    r9,r3,-32732
++ 1800[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
++ 1800[0-9a-f]{3}:	81 49 80 28 	lwz     r10,-32728\(r9\)
++ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
++ 1800[0-9a-f]{3}:	a1 49 90 30 	lhz     r10,-28624\(r9\)
++ 1800[0-9a-f]{3}:	89 42 90 34 	lbz     r10,-28620\(r2\)
++ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
++ 1800[0-9a-f]{3}:	99 49 90 38 	stb     r10,-28616\(r9\)
++ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
++ 1800[0-9a-f]{3}:	38 63 90 00 	addi    r3,r3,-28672
++ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
++ 1800[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++ 1800[0-9a-f]{3}:	91 43 80 04 	stw     r10,-32764\(r3\)
++ 1800[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
++ 1800[0-9a-f]{3}:	91 49 80 08 	stw     r10,-32760\(r9\)
++ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
++ 1800[0-9a-f]{3}:	b1 49 90 30 	sth     r10,-28624\(r9\)
++ 1800[0-9a-f]{3}:	a1 42 90 14 	lhz     r10,-28652\(r2\)
++ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
++ 1800[0-9a-f]{3}:	a9 49 90 18 	lha     r10,-28648\(r9\)
+ 
+-0+1800104 <__tls_get_addr>:
+- 1800104:	4e 80 00 20 	blr
++0+1800[0-9a-f]{3} <__tls_get_addr>:
++ 1800[0-9a-f]{3}:	4e 80 00 20 	blr
+ Disassembly of section \.got:
+ 
+-0+1810128 <_GLOBAL_OFFSET_TABLE_-0x4>:
+- 1810128:	4e 80 00 21 	blrl
++0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_-0x4>:
++ 1810[0-9a-f]{3}:	4e 80 00 21 	blrl
+ 
+-0+181012c <_GLOBAL_OFFSET_TABLE_>:
++0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_>:
+ 	\.\.\.
+--- binutils-2.23/ld/testsuite/ld-powerpc/tls32.g
++++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.g
+@@ -8,4 +8,4 @@
+ .*: +file format elf32-powerpc
+ 
+ Contents of section \.got:
+- 1810128 4e800021 00000000 00000000 00000000  .*
++ 18101[0-9a-f]{2} 4e800021 00000000 00000000 00000000  .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tls32.t
++++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.t
+@@ -8,5 +8,5 @@
+ .*: +file format elf32-powerpc
+ 
+ Contents of section \.tdata:
+- 1810108 12345678 23456789 3456789a 456789ab  .*
+- 1810118 56789abc 6789abcd 789abcde 00c0ffee  .*
++ 18101[0-9a-f]{2} 12345678 23456789 3456789a 456789ab  .*
++ 18101[0-9a-f]{2} 56789abc 6789abcd 789abcde 00c0ffee  .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.d
+@@ -44,4 +44,4 @@ Disassembly of section \.got:
+ .*:	4e 80 00 21 	blrl
+ 
+ .* <_GLOBAL_OFFSET_TABLE_>:
+-.*:	01 81 02 b8 00 00 00 00 00 00 00 00  .*
++.*:	01 81 02 [bd]8 00 00 00 00 00 00 00 00  .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.g
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.g
+@@ -8,4 +8,4 @@
+ 
+ Contents of section \.got:
+ .* 00000000 00000000 00000000 4e800021  .*
+-.* 018102b8 00000000 00000000           .*
++.* 018102[bd]8 00000000 00000000           .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r
+@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ 
+ Program Headers:
+  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
+- +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4
+- +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1
++ +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4
++ +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1
+  +\[Requesting program interpreter: .*\]
+  +LOAD .* R E 0x10000
+  +LOAD .* RWE 0x10000
+  +DYNAMIC .* RW +0x4
+  +TLS .* 0x0001c 0x00038 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections\.\.\.
+@@ -49,6 +50,7 @@ Program Headers:
+  +03 +\.tdata \.dynamic \.got \.plt 
+  +04 +\.dynamic 
+  +05 +\.tdata \.tbss 
++ +06 +
+ 
+ Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
+  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsmark.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsmark.d
+@@ -9,29 +9,29 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+100000e8 <_start>:
+-    100000e8:	48 00 00 18 	b       10000100 <_start\+0x18>
+-    100000ec:	60 00 00 00 	nop
+-    100000f0:	38 63 90 00 	addi    r3,r3,-28672
+-    100000f4:	e8 83 00 00 	ld      r4,0\(r3\)
+-    100000f8:	3c 6d 00 00 	addis   r3,r13,0
+-    100000fc:	48 00 00 0c 	b       10000108 <_start\+0x20>
+-    10000100:	3c 6d 00 00 	addis   r3,r13,0
+-    10000104:	4b ff ff e8 	b       100000ec <_start\+0x4>
+-    10000108:	60 00 00 00 	nop
+-    1000010c:	38 63 10 00 	addi    r3,r3,4096
+-    10000110:	e8 83 80 00 	ld      r4,-32768\(r3\)
+-    10000114:	3c 6d 00 00 	addis   r3,r13,0
+-    10000118:	48 00 00 0c 	b       10000124 <_start\+0x3c>
+-    1000011c:	3c 6d 00 00 	addis   r3,r13,0
+-    10000120:	48 00 00 14 	b       10000134 <_start\+0x4c>
+-    10000124:	60 00 00 00 	nop
+-    10000128:	38 63 90 04 	addi    r3,r3,-28668
+-    1000012c:	e8 a3 00 00 	ld      r5,0\(r3\)
+-    10000130:	4b ff ff ec 	b       1000011c <_start\+0x34>
+-    10000134:	60 00 00 00 	nop
+-    10000138:	38 63 10 00 	addi    r3,r3,4096
+-    1000013c:	e8 a3 80 04 	ld      r5,-32764\(r3\)
++0+10000[0-9a-f]{3} <_start>:
++    10000[0-9a-f]{3}:	48 00 00 18 	b       10000[0-9a-f]{3} <_start\+0x18>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 00 	addi    r3,r3,-28672
++    10000[0-9a-f]{3}:	e8 83 00 00 	ld      r4,0\(r3\)
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       10000[0-9a-f]{3} <_start\+0x20>
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	4b ff ff e8 	b       10000[0-9a-f]{3} <_start\+0x4>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++    10000[0-9a-f]{3}:	e8 83 80 00 	ld      r4,-32768\(r3\)
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       10000[0-9a-f]{3} <_start\+0x3c>
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	48 00 00 14 	b       10000[0-9a-f]{3} <_start\+0x4c>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 04 	addi    r3,r3,-28668
++    10000[0-9a-f]{3}:	e8 a3 00 00 	ld      r5,0\(r3\)
++    10000[0-9a-f]{3}:	4b ff ff ec 	b       10000[0-9a-f]{3} <_start\+0x34>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
++    10000[0-9a-f]{3}:	e8 a3 80 04 	ld      r5,-32764\(r3\)
+ 
+-0+10000140 <\.__tls_get_addr>:
+-    10000140:	4e 80 00 20 	blr
++0+10000[0-9a-f]{3} <\.__tls_get_addr>:
++    10000[0-9a-f]{3}:	4e 80 00 20 	blr
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsmark32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsmark32.d
+@@ -9,17 +9,17 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+1800094 <_start>:
+- 1800094:	48 00 00 14 	b       18000a8 <_start\+0x14>
+- 1800098:	38 63 90 00 	addi    r3,r3,-28672
+- 180009c:	80 83 00 00 	lwz     r4,0\(r3\)
+- 18000a0:	3c 62 00 00 	addis   r3,r2,0
+- 18000a4:	48 00 00 0c 	b       18000b0 <_start\+0x1c>
+- 18000a8:	3c 62 00 00 	addis   r3,r2,0
+- 18000ac:	4b ff ff ec 	b       1800098 <_start\+0x4>
+- 18000b0:	38 63 10 00 	addi    r3,r3,4096
+- 18000b4:	80 83 80 00 	lwz     r4,-32768\(r3\)
++0+18000[0-9a-f]{2} <_start>:
++ 18000[0-9a-f]{2}:	48 00 00 14 	b       18000[0-9a-f]{2} <_start\+0x14>
++ 18000[0-9a-f]{2}:	38 63 90 00 	addi    r3,r3,-28672
++ 18000[0-9a-f]{2}:	80 83 00 00 	lwz     r4,0\(r3\)
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	48 00 00 0c 	b       18000[0-9a-f]{2} <_start\+0x1c>
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	4b ff ff ec 	b       18000[0-9a-f]{2} <_start\+0x4>
++ 18000[0-9a-f]{2}:	38 63 10 00 	addi    r3,r3,4096
++ 18000[0-9a-f]{2}:	80 83 80 00 	lwz     r4,-32768\(r3\)
+ 
+-0+18000b8 <__tls_get_addr>:
+- 18000b8:	4e 80 00 20 	blr
+-#pass
+\ No newline at end of file
++0+18000[0-9a-f]{2} <__tls_get_addr>:
++ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
++#pass
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1.d
+@@ -9,17 +9,17 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+100000e8 <\.__tls_get_addr>:
+-    100000e8:	4e 80 00 20 	blr
++0+10000[0-9a-f]{3} <\.__tls_get_addr>:
++    10000[0-9a-f]{3}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.no_opt1:
+ 
+-0+100000ec <\.no_opt1>:
+-    100000ec:	38 62 80 08 	addi    r3,r2,-32760
+-    100000f0:	2c 24 00 00 	cmpdi   r4,0
+-    100000f4:	41 82 00 10 	beq-    .*
+-    100000f8:	4b ff ff f1 	bl      100000e8 <\.__tls_get_addr>
+-    100000fc:	60 00 00 00 	nop
+-    10000100:	48 00 00 0c 	b       .*
+-    10000104:	4b ff ff e5 	bl      100000e8 <\.__tls_get_addr>
+-    10000108:	60 00 00 00 	nop
++0+10000[0-9a-f]{3} <\.no_opt1>:
++    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
++    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
++    10000[0-9a-f]{3}:	41 82 00 10 	beq-    .*
++    10000[0-9a-f]{3}:	4b ff ff f1 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
++    10000[0-9a-f]{3}:	4b ff ff e5 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1_32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1_32.d
+@@ -9,16 +9,16 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+1800094 <__tls_get_addr>:
+- 1800094:	4e 80 00 20 	blr
++0+18000[0-9a-f]{2} <__tls_get_addr>:
++ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.no_opt1:
+ 
+-0+1800098 <\.no_opt1>:
+- 1800098:	38 6d ff f4 	addi    r3,r13,-12
+- 180009c:	2c 04 00 00 	cmpwi   r4,0
+- 18000a0:	41 82 00 0c 	beq-    .*
+- 18000a4:	4b ff ff f1 	bl      1800094 <__tls_get_addr>
+- 18000a8:	48 00 00 08 	b       .*
+- 18000ac:	4b ff ff e9 	bl      1800094 <__tls_get_addr>
++0+18000[0-9a-f]{2} <\.no_opt1>:
++ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
++ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
++ 18000[0-9a-f]{2}:	41 82 00 0c 	beq-    .*
++ 18000[0-9a-f]{2}:	4b ff ff f1 	bl      18000[0-9a-f]{2} <__tls_get_addr>
++ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
++ 18000[0-9a-f]{2}:	4b ff ff e9 	bl      18000[0-9a-f]{2} <__tls_get_addr>
+ #pass
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2.d
+@@ -9,15 +9,15 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+100000e8 <\.__tls_get_addr>:
+-    100000e8:	4e 80 00 20 	blr
++0+10000[0-9a-f]{3} <\.__tls_get_addr>:
++    10000[0-9a-f]{3}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.no_opt2:
+ 
+-0+100000ec <\.no_opt2>:
+-    100000ec:	38 62 80 08 	addi    r3,r2,-32760
+-    100000f0:	2c 24 00 00 	cmpdi   r4,0
+-    100000f4:	41 82 00 08 	beq-    .*
+-    100000f8:	38 62 80 08 	addi    r3,r2,-32760
+-    100000fc:	4b ff ff ed 	bl      100000e8 <\.__tls_get_addr>
+-    10000100:	60 00 00 00 	nop
++0+10000[0-9a-f]{3} <\.no_opt2>:
++    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
++    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
++    10000[0-9a-f]{3}:	41 82 00 08 	beq-    .*
++    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
++    10000[0-9a-f]{3}:	4b ff ff ed 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2_32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2_32.d
+@@ -9,15 +9,15 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+1800094 <__tls_get_addr>:
+- 1800094:	4e 80 00 20 	blr
++0+18000[0-9a-f]{2} <__tls_get_addr>:
++ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.no_opt2:
+ 
+-0+1800098 <\.no_opt2>:
+- 1800098:	38 6d ff f4 	addi    r3,r13,-12
+- 180009c:	2c 04 00 00 	cmpwi   r4,0
+- 18000a0:	41 82 00 08 	beq-    .*
+- 18000a4:	38 6d ff f4 	addi    r3,r13,-12
+- 18000a8:	4b ff ff ed 	bl      1800094 <__tls_get_addr>
++0+18000[0-9a-f]{2} <\.no_opt2>:
++ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
++ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
++ 18000[0-9a-f]{2}:	41 82 00 08 	beq-    .*
++ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
++ 18000[0-9a-f]{2}:	4b ff ff ed 	bl      18000[0-9a-f]{2} <__tls_get_addr>
+ #pass
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3.d
+@@ -9,18 +9,18 @@
+ 
+ Disassembly of section \.text:
+ 
+-00000000100000e8 <\.__tls_get_addr>:
+-    100000e8:	4e 80 00 20 	blr
++0000000010000[0-9a-f]{3} <\.__tls_get_addr>:
++    10000[0-9a-f]{3}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.no_opt3:
+ 
+-00000000100000ec <\.no_opt3>:
+-    100000ec:	38 62 80 08 	addi    r3,r2,-32760
+-    100000f0:	48 00 00 0c 	b       .*
+-    100000f4:	38 62 80 18 	addi    r3,r2,-32744
+-    100000f8:	48 00 00 10 	b       .*
+-    100000fc:	4b ff ff ed 	bl      100000e8 <\.__tls_get_addr>
+-    10000100:	60 00 00 00 	nop
+-    10000104:	48 00 00 0c 	b       .*
+-    10000108:	4b ff ff e1 	bl      100000e8 <\.__tls_get_addr>
+-    1000010c:	60 00 00 00 	nop
++0000000010000[0-9a-f]{3} <\.no_opt3>:
++    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
++    10000[0-9a-f]{3}:	38 62 80 18 	addi    r3,r2,-32744
++    10000[0-9a-f]{3}:	48 00 00 10 	b       .*
++    10000[0-9a-f]{3}:	4b ff ff ed 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
++    10000[0-9a-f]{3}:	4b ff ff e1 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3_32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3_32.d
+@@ -9,17 +9,17 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+1800094 <__tls_get_addr>:
+- 1800094:	4e 80 00 20 	blr
++0+18000[0-9a-f]{2} <__tls_get_addr>:
++ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.no_opt3:
+ 
+-0+1800098 <\.no_opt3>:
+- 1800098:	38 6d ff ec 	addi    r3,r13,-20
+- 180009c:	48 00 00 0c 	b       .*
+- 18000a0:	38 6d ff f4 	addi    r3,r13,-12
+- 18000a4:	48 00 00 0c 	b       .*
+- 18000a8:	4b ff ff ed 	bl      1800094 <__tls_get_addr>
+- 18000ac:	48 00 00 08 	b       .*
+- 18000b0:	4b ff ff e5 	bl      1800094 <__tls_get_addr>
++0+18000[0-9a-f]{2} <\.no_opt3>:
++ 18000[0-9a-f]{2}:	38 6d ff ec 	addi    r3,r13,-20
++ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
++ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
++ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
++ 18000[0-9a-f]{2}:	4b ff ff ed 	bl      18000[0-9a-f]{2} <__tls_get_addr>
++ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
++ 18000[0-9a-f]{2}:	4b ff ff e5 	bl      18000[0-9a-f]{2} <__tls_get_addr>
+ #pass
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4.d
+@@ -9,40 +9,40 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+100000e8 <\.__tls_get_addr>:
+-    100000e8:	4e 80 00 20 	blr
++0+10000[0-9a-f]{3} <\.__tls_get_addr>:
++    10000[0-9a-f]{3}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.opt1:
+ 
+-0+100000ec <\.opt1>:
+-    100000ec:	3c 6d 00 00 	addis   r3,r13,0
+-    100000f0:	2c 24 00 00 	cmpdi   r4,0
+-    100000f4:	41 82 00 10 	beq-    .*
+-    100000f8:	60 00 00 00 	nop
+-    100000fc:	38 63 90 10 	addi    r3,r3,-28656
+-    10000100:	48 00 00 0c 	b       .*
+-    10000104:	60 00 00 00 	nop
+-    10000108:	38 63 90 10 	addi    r3,r3,-28656
++0+10000[0-9a-f]{3} <\.opt1>:
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
++    10000[0-9a-f]{3}:	41 82 00 10 	beq-    .*
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
+ 
+ Disassembly of section \.opt2:
+ 
+-0+1000010c <\.opt2>:
+-    1000010c:	3c 6d 00 00 	addis   r3,r13,0
+-    10000110:	2c 24 00 00 	cmpdi   r4,0
+-    10000114:	41 82 00 08 	beq-    .*
+-    10000118:	3c 6d 00 00 	addis   r3,r13,0
+-    1000011c:	60 00 00 00 	nop
+-    10000120:	38 63 90 10 	addi    r3,r3,-28656
++0+10000[0-9a-f]{3} <\.opt2>:
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
++    10000[0-9a-f]{3}:	41 82 00 08 	beq-    .*
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
+ 
+ Disassembly of section \.opt3:
+ 
+-0+10000124 <\.opt3>:
+-    10000124:	3c 6d 00 00 	addis   r3,r13,0
+-    10000128:	48 00 00 0c 	b       .*
+-    1000012c:	3c 6d 00 00 	addis   r3,r13,0
+-    10000130:	48 00 00 10 	b       .*
+-    10000134:	60 00 00 00 	nop
+-    10000138:	38 63 90 10 	addi    r3,r3,-28656
+-    1000013c:	48 00 00 0c 	b       .*
+-    10000140:	60 00 00 00 	nop
+-    10000144:	38 63 90 08 	addi    r3,r3,-28664
++0+10000[0-9a-f]{3} <\.opt3>:
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
++    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
++    10000[0-9a-f]{3}:	48 00 00 10 	b       .*
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
++    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
++    10000[0-9a-f]{3}:	60 00 00 00 	nop
++    10000[0-9a-f]{3}:	38 63 90 08 	addi    r3,r3,-28664
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4_32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4_32.d
+@@ -9,36 +9,36 @@
+ 
+ Disassembly of section \.text:
+ 
+-0+1800094 <__tls_get_addr>:
+- 1800094:	4e 80 00 20 	blr
++0+18000[0-9a-f]{2} <__tls_get_addr>:
++ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
+ 
+ Disassembly of section \.opt1:
+ 
+-0+1800098 <\.opt1>:
+- 1800098:	3c 62 00 00 	addis   r3,r2,0
+- 180009c:	2c 04 00 00 	cmpwi   r4,0
+- 18000a0:	41 82 00 0c 	beq-    .*
+- 18000a4:	38 63 90 10 	addi    r3,r3,-28656
+- 18000a8:	48 00 00 08 	b       .*
+- 18000ac:	38 63 90 10 	addi    r3,r3,-28656
++0+18000[0-9a-f]{2} <\.opt1>:
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
++ 18000[0-9a-f]{2}:	41 82 00 0c 	beq-    .*
++ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
++ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
++ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
+ 
+ Disassembly of section \.opt2:
+ 
+-0+18000b0 <\.opt2>:
+- 18000b0:	3c 62 00 00 	addis   r3,r2,0
+- 18000b4:	2c 04 00 00 	cmpwi   r4,0
+- 18000b8:	41 82 00 08 	beq-    .*
+- 18000bc:	3c 62 00 00 	addis   r3,r2,0
+- 18000c0:	38 63 90 10 	addi    r3,r3,-28656
++0+18000[0-9a-f]{2} <\.opt2>:
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
++ 18000[0-9a-f]{2}:	41 82 00 08 	beq-    .*
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
+ 
+ Disassembly of section \.opt3:
+ 
+-0+18000c4 <\.opt3>:
+- 18000c4:	3c 62 00 00 	addis   r3,r2,0
+- 18000c8:	48 00 00 0c 	b       .*
+- 18000cc:	3c 62 00 00 	addis   r3,r2,0
+- 18000d0:	48 00 00 0c 	b       .*
+- 18000d4:	38 63 90 10 	addi    r3,r3,-28656
+- 18000d8:	48 00 00 08 	b       .*
+- 18000dc:	38 63 90 08 	addi    r3,r3,-28664
++0+18000[0-9a-f]{2} <\.opt3>:
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
++ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
++ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
++ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
++ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
++ 18000[0-9a-f]{2}:	38 63 90 08 	addi    r3,r3,-28664
+ #pass
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.d
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.d
+@@ -42,5 +42,5 @@ Disassembly of section \.got:
+ #...
+ .*:	4e 80 00 21 	blrl
+ .* <_GLOBAL_OFFSET_TABLE_>:
+-.*:	00 01 03 ec .*
++.*:	00 01 [0-9a-f]{2} [0-9a-f]{2} .*
+ #pass
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.g
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.g
+@@ -9,5 +9,5 @@
+ Contents of section \.got:
+ .* 00000000 00000000 00000000 00000000  .*
+ .* 00000000 00000000 00000000 00000000  .*
+-.* 00000000 4e800021 000103ec 00000000  .*
++.* 00000000 4e800021 00010[0-9a-f]{3} 00000000  .*
+ .* 00000000                             .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r
+@@ -35,6 +35,7 @@ Program Headers:
+  +LOAD .* RWE 0x10000
+  +DYNAMIC .* RW +0x4
+  +TLS .* 0x0+1c 0x0+38 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections\.\.\.
+@@ -42,6 +43,7 @@ Program Headers:
+  +01 +\.tdata \.dynamic \.got \.plt 
+  +02 +\.dynamic 
+  +03 +\.tdata \.tbss 
++ +04 +
+ 
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
+  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
+@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
+ [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
+ [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
+ [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
+-[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
+-[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
+-[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
++[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
++[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
++[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
+ [0-9a-f ]+R_PPC_DTPMOD32 +0
+ [0-9a-f ]+R_PPC_DTPREL32 +0
+ [0-9a-f ]+R_PPC_DTPMOD32 +0
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.g
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.g
+@@ -8,8 +8,8 @@
+ .*: +file format elf64-powerpc
+ 
+ Contents of section \.got:
+- 100101a0 00000000 00000001 00000000 00000000  .*
+- 100101b0 00000000 00000001 00000000 00000000  .*
+- 100101c0 00000000 00000001 00000000 00000000  .*
+- 100101d0 00000000 00000001 00000000 00000000  .*
+- 100101e0 ffffffff ffff8060 00000000 00000000  .*
++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
++ 10010[0-9a-f]{3} ffffffff ffff8060 00000000 00000000  .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.t
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.t
+@@ -8,7 +8,7 @@
+ .*: +file format elf64-powerpc
+ 
+ Contents of section \.tdata:
+- 10010148 00c0ffee 00000000 12345678 9abcdef0  .*
+- 10010158 23456789 abcdef01 3456789a bcdef012  .*
+- 10010168 456789ab cdef0123 56789abc def01234  .*
+- 10010178 6789abcd ef012345 789abcde f0123456  .*
++ 10010180 00c0ffee 00000000 12345678 9abcdef0  .*
++ 10010190 23456789 abcdef01 3456789a bcdef012  .*
++ 100101a0 456789ab cdef0123 56789abc def01234  .*
++ 100101b0 6789abcd ef012345 789abcde f0123456  .*
+--- binutils-2.23/ld/testsuite/ld-powerpc/tlstocso.g
++++ binutils-2.23/ld/testsuite/ld-powerpc/tlstocso.g
+@@ -7,7 +7,7 @@
+ .*: +file format elf64-powerpc
+ 
+ Contents of section \.got:
+-.* 00000000 000186c0 00000000 00000000  .*
++.* 00000000 000186f8 00000000 00000000  .*
+ .* 00000000 00000000 00000000 00000000  .*
+ .* 00000000 00000000 00000000 00000000  .*
+ .* 00000000 00000000 00000000 00000000  .*
+--- binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd
++++ binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd
+@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+  +LOAD .* RW +0x1000
+  +DYNAMIC .* RW +0x4
+  +TLS .* 0x0+60 0x0+a0 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -52,6 +53,7 @@ Program Headers:
+  +03 +.tdata .dynamic .got *
+  +04 +.dynamic *
+  +05 +.tdata .tbss *
++ +06 +
+ 
+ Relocation section '.rela.dyn' at offset .* contains 4 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd
++++ binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd
+@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+  +LOAD .* RW +0x1000
+  +DYNAMIC .* RW +0x8
+  +TLS .* 0x0+60 0x0+a0 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -52,6 +53,7 @@ Program Headers:
+  +03 +.tdata .dynamic .got *
+  +04 +.dynamic *
+  +05 +.tdata .tbss *
++ +06 +
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-s390/tlspic.rd
++++ binutils-2.23/ld/testsuite/ld-s390/tlspic.rd
+@@ -39,6 +39,7 @@ Program Headers:
+  +LOAD .* RW +0x1000
+  +DYNAMIC .* RW +0x4
+  +TLS .* 0x0+60 0x0+80 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -46,6 +47,7 @@ Program Headers:
+  +01 +.tdata .dynamic .got 
+  +02 +.dynamic 
+  +03 +.tdata .tbss 
++ +04 +
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd
++++ binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd
+@@ -39,6 +39,7 @@ Program Headers:
+  +LOAD .* RW +0x1000
+  +DYNAMIC .* RW +0x8
+  +TLS .* 0x0+60 0x0+80 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -46,6 +47,7 @@ Program Headers:
+  +01 +.tdata .dynamic .got *
+  +02 +.dynamic *
+  +03 +.tdata .tbss *
++ +04 +
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d
++++ binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d
+@@ -8,7 +8,9 @@
+ Program Headers:
+  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
+  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections\.\.\.
+  +00 +.text 
++ +01 +
+--- binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d
++++ binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d
+@@ -44,6 +44,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections\.\.\.
+@@ -53,6 +54,7 @@ Program Headers:
+  +03 +\.tdata \.dynamic \.got *
+  +04 +\.dynamic *
+  +05 +\.tdata \.tbss *
++ +06 +
+ 
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d
++++ binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d
+@@ -32,7 +32,7 @@ Key to Flags:
+ 
+ Elf file type is DYN \(Shared object file\)
+ Entry point 0x[0-9a-f]+
+-There are 4 program headers, starting at offset [0-9]+
++There are [0-9] program headers, starting at offset [0-9]+
+ 
+ Program Headers:
+  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+@@ -40,6 +40,7 @@ Program Headers:
+  +LOAD.*
+  +DYNAMIC.*
+  +TLS .* 0x0+18 0x0+20 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections\.\.\.
+@@ -47,6 +48,7 @@ Program Headers:
+  +01 +\.tdata \.dynamic \.got *
+  +02 +\.dynamic *
+  +03 +\.tdata \.tbss *
++ +04 +
+ 
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
+  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd
+@@ -31,6 +31,7 @@ Program Headers:
+  +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
+  +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
+  +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd
+@@ -31,6 +31,7 @@ Program Headers:
+  +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
+  +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
+  +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd
+@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ 
+ Program Headers:
+  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
+- +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4
+- +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1
++ +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4
++ +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1
+ .*Requesting program interpreter.*
+  +LOAD .* R E 0x10000
+  +LOAD .* RW +0x10000
+  +DYNAMIC .* RW +0x4
+  +TLS .* 0x0+1060 0x0+10a0 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd
+@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ 
+ Program Headers:
+  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+- +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8
+- +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1
++ +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8
++ +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1
+ .*Requesting program interpreter.*
+  +LOAD .* R E 0x100000
+  +LOAD .* RW +0x100000
+  +DYNAMIC .* RW +0x8
+  +TLS .* 0x0+60 0x0+a0 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd
+@@ -32,6 +32,7 @@ Program Headers:
+  +LOAD .* RW +0x10000
+  +DYNAMIC .* RW +0x4
+  +TLS .* 0x0+ 0x0+24 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd
+@@ -32,6 +32,7 @@ Program Headers:
+  +LOAD .* RW +0x100000
+  +DYNAMIC .* RW +0x8
+  +TLS .* 0x0+ 0x0+24 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd
+@@ -36,6 +36,7 @@ Program Headers:
+  +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
+  +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
+  +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+--- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd
++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd
+@@ -36,6 +36,7 @@ Program Headers:
+  +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
+  +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
+  +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+--- binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd
++++ binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd
+@@ -36,12 +36,14 @@ Program Headers:
+  +LOAD.*
+  +LOAD.*
+  +DYNAMIC.*
++ +PAX_FLAGS.*
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+  +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
+  +01 +.dynamic .got .got.plt *
+  +02 +.dynamic *
++ +03 +
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
+  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+--- binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd
++++ binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd
+@@ -40,6 +40,7 @@ Program Headers:
+  +LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000
+  +DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8
+  +TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ 
+  Section to Segment mapping:
+  +Segment Sections...
+@@ -47,6 +48,7 @@ Program Headers:
+  +01 +.tdata .dynamic .got .got.plt *
+  +02 +.dynamic *
+  +03 +.tdata .tbss *
++ +04 +
+ 
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
diff --git a/pkgs/development/tools/misc/cbrowser/default.nix b/pkgs/development/tools/misc/cbrowser/default.nix
index bf927db2793..2cc8e640631 100644
--- a/pkgs/development/tools/misc/cbrowser/default.nix
+++ b/pkgs/development/tools/misc/cbrowser/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tcl/Tk GUI front-end to cscope";
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://sourceforge.net/projects/cbrowser/;
 
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 05a0d9bbeb5..3dd634274f3 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -3,10 +3,10 @@
 let
   ccache =
 stdenv.mkDerivation {
-  name = "ccache-3.1.7";
+  name = "ccache-3.1.9";
   src = fetchurl {
-    url = http://samba.org/ftp/ccache/ccache-3.1.7.tar.gz;
-    sha256 = "04ax6ks49b6rn57hx4v9wbvmsfmw6ipn0wyfqwhh4lzw70flv3r7";
+    url = http://samba.org/ftp/ccache/ccache-3.1.9.tar.gz;
+    sha256 = "0ixlxqv1xyacwgg0k9b4a6by07c7k75y0xbr8dp76jvyada0c9x2";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index d9be5802fa9..53bc8ed78c8 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       produced flowcharts in Emacs.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/cflow/;
 
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index adabcec9898..09c9325d4ff 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://cgdb.sourceforge.net/;
 
-    license = "GPLv2+";
+    repositories.git = git://github.com/cgdb/cgdb.git;
+
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = with stdenv.lib.platforms; linux ++ cygwin;
     maintainers = with stdenv.lib.maintainers; [ viric ];
diff --git a/pkgs/development/tools/misc/chrpath/default.nix b/pkgs/development/tools/misc/chrpath/default.nix
new file mode 100644
index 00000000000..4170570e08a
--- /dev/null
+++ b/pkgs/development/tools/misc/chrpath/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "chrpath-0.16";
+
+  src = fetchurl {
+    url = "https://alioth.debian.org/frs/download.php/file/3979/chrpath-0.16.tar.gz";
+    sha256 = "0yvfq891mcdkf8g18gjjkn2m5rvs8z4z4cl1vwdhx6f2p9a4q3dv";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Command line tool to adjust the RPATH or RUNPATH of ELF binaries";
+    longDescription = ''
+      chrpath changes, lists or removes the rpath or runpath setting in a
+      binary. The rpath, or runpath if it is present, is where the runtime
+      linker should look for the libraries needed for a program.
+    '';
+    homepage = https://alioth.debian.org/projects/chrpath/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix
index 3978d96400c..d66ca9868f5 100644
--- a/pkgs/development/tools/misc/cl-launch/default.nix
+++ b/pkgs/development/tools/misc/cl-launch/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="cl-launch";
-    version="3.22.1";
+    version="4.0.5";
     name="${baseName}-${version}";
-    hash="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i";
-    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.22.1.tar.gz";
-    sha256="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i";
+    hash="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
+    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.5.tar.gz";
+    sha256="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/tools/misc/cl-launch/default.upstream b/pkgs/development/tools/misc/cl-launch/default.upstream
index 1ff5daca02c..ff7ee9446d2 100644
--- a/pkgs/development/tools/misc/cl-launch/default.upstream
+++ b/pkgs/development/tools/misc/cl-launch/default.upstream
@@ -1,2 +1,2 @@
 url http://common-lisp.net/project/xcvb/cl-launch/
-version_link '.-[0-9].*[0-9][.]tar[.].*'
+version_link '.-[0-9].*[0-9][.]tar[.][a-z0-9]*$'
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 122c256657f..0bf5bbce692 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -54,7 +54,7 @@ in stdenv.mkDerivation {
       '';
 
     homepage = http://coccinelle.lip6.fr/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/development/tools/misc/complexity/default.nix b/pkgs/development/tools/misc/complexity/default.nix
index 076a68b8137..9f1eca0fa13 100644
--- a/pkgs/development/tools/misc/complexity/default.nix
+++ b/pkgs/development/tools/misc/complexity/default.nix
@@ -19,6 +19,13 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  preBuild = ''
+    sed -i -e '/gets is a security/d' lib/stdio.in.h
+    sed -i '42 i\
+      #undef false\
+      #undef true' src/complexity.h
+  '';
+
   meta = {
     description = "GNU Complexity, C code complexity measurement tool";
 
@@ -28,7 +35,7 @@ stdenv.mkDerivation rec {
          addresses several issues not considered in that scoring scheme.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/complexity/;
 
diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix
index e5c9df96aab..f3a724f3039 100644
--- a/pkgs/development/tools/misc/cpphs/default.nix
+++ b/pkgs/development/tools/misc/cpphs/default.nix
@@ -1,16 +1,18 @@
-{ cabal }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, polyparse }:
 
 cabal.mkDerivation (self: {
   pname = "cpphs";
-  version = "1.17.1";
-  sha256 = "1xk1gk3skgiy6bc8rdhm7i3f6b5nqsm9nz6qswbxq94nxmw3pg9p";
+  version = "1.18.5";
+  sha256 = "0bqfz0wkfnxvv711fgmhmh6rbwffgna1pfqbj7whb6crqji9w7g7";
   isLibrary = true;
   isExecutable = true;
+  buildDepends = [ polyparse ];
   meta = {
-    homepage = "http://haskell.org/cpphs/";
+    homepage = "http://projects.haskell.org/cpphs/";
     description = "A liberalised re-implementation of cpp, the C pre-processor";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix
index f9246df9e56..500129c7c9d 100644
--- a/pkgs/development/tools/misc/cppi/default.nix
+++ b/pkgs/development/tools/misc/cppi/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
          to the level of nesting of that directive.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
new file mode 100644
index 00000000000..df5fdbfab5a
--- /dev/null
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
+, pango, gdk_pixbuf, atk, pep8, python, makeWrapper, gnome3
+, pygobject3, gobjectIntrospection, libwnck3 }:
+
+let
+  version = "${major}.8";
+  major = "0.3";
+in
+
+stdenv.mkDerivation rec {
+  name = "d-feet-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
+    sha256 = "e8423feb18fdff9b1465bf8442b78994ba13c12f8fa3b08e6a2f05768b4feee5";
+  };
+
+  buildInputs = [
+    pkgconfig libxml2 itstool intltool glib gtk3 pep8 python
+    gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    makeWrapper pygobject3 libwnck3
+  ];
+
+  preFixup =
+    ''
+      wrapProgram $out/bin/d-feet \
+        --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
+        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
+
+      rm $out/share/icons/hicolor/icon-theme.cache
+    '';
+
+  meta = {
+    description = "D-Feet is an easy to use D-Bus debugger";
+
+    longDescription = ''
+      D-Feet can be used to inspect D-Bus interfaces of running programs
+      and invoke methods on those interfaces.
+    '';
+
+    homepage = https://wiki.gnome.org/action/show/Apps/DFeet;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ktosiek ];
+  };
+}
diff --git a/pkgs/development/tools/misc/ddd/default.nix b/pkgs/development/tools/misc/ddd/default.nix
index 0a6895aff6b..91150255bda 100644
--- a/pkgs/development/tools/misc/ddd/default.nix
+++ b/pkgs/development/tools/misc/ddd/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
 	meta = {
 	  homepage = http://www.gnu.org/software/ddd;
 		description = "Graphical front-end for command-line debuggers";
-		license = "GPLv2";
+		license = stdenv.lib.licenses.gpl2;
 	};
 }
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index beed6032393..d3c2e7e6389 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "The DejaGNU testing framework";
+    description = "Framework for testing other programs";
 
     longDescription = ''
       DejaGnu is a framework for testing other programs.  Its purpose
@@ -47,9 +47,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/dejagnu/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
new file mode 100644
index 00000000000..2df687b8bc6
--- /dev/null
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libusb }:
+let
+  version = "0.7.0";
+in
+stdenv.mkDerivation rec {
+  name="dfu-programmer-${version}";
+
+  buildInputs = [ libusb ];
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dfu-programmer/${name}.tar.gz";
+    sha256 = "17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf";
+  };
+
+  configureFlags = [ "--disable-libusb_1_0" ];
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl2;
+    description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader.";
+    homepage = http://dfu-programmer.sourceforge.net/;
+    maintainers = [ maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/tools/misc/distcc/masq.nix b/pkgs/development/tools/misc/distcc/masq.nix
index 117480670c3..753c35b5d3a 100644
--- a/pkgs/development/tools/misc/distcc/masq.nix
+++ b/pkgs/development/tools/misc/distcc/masq.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   phases = [ "installPhase" ];
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
 
     bin=${gccRaw}/bin
 
diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix
new file mode 100644
index 00000000000..cb534d511ea
--- /dev/null
+++ b/pkgs/development/tools/misc/drush/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "drush-6.1.0";
+
+  meta = with stdenv.lib; {
+    description = "Command-line shell and Unix scripting interface for Drupal";
+    homepage    = http://github.com/drush-ops/drush;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.all;
+  };
+
+  src = fetchurl {
+    url    = https://github.com/drush-ops/drush/archive/6.1.0.tar.gz;
+    sha256 = "1jgnc4jjyapyn04iczvcz92ic0vq8d1w8xi55ismqyy5cxhqj6bp";
+  };
+
+  consoleTable = fetchurl {
+    url    = http://download.pear.php.net/package/Console_Table-1.1.3.tgz;
+    sha256 = "07gbjd7m1fj5dmavr0z20vkqwx1cz2522sj9022p257jifj1yl76";
+  };
+
+  buildInputs = [ php which makeWrapper ];
+
+  installPhase = ''
+    # install libraries
+    cd lib
+    tar -xf ${consoleTable}
+    cd ..
+
+    mkdir -p "$out"
+    cp -r . "$out/src"
+    mkdir "$out/bin"
+    wrapProgram "$out/src/drush" --prefix PATH : "${which}/bin:${php}/bin:${bash}/bin:${coreutils}/bin:${ncurses}/bin"
+    ln -s "$out/src/drush" "$out/bin/drush"
+  '';
+}
diff --git a/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch b/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch
new file mode 100644
index 00000000000..6553dea7b4c
--- /dev/null
+++ b/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch
@@ -0,0 +1,32 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=1085663
+
+Reported-by: Florian Weimer <fweimer at redhat.com>
+Signed-off-by: Mark Wielaard <mjw at redhat.com>
+---
+ libdw/dwarf_begin_elf.c |    8 +++++++-
+ 2 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
+index 79daeac..34ea373 100644
+--- a/libdw/dwarf_begin_elf.c
++++ b/libdw/dwarf_begin_elf.c
+@@ -1,5 +1,5 @@
+ /* Create descriptor from ELF descriptor for processing file.
+-   Copyright (C) 2002-2011 Red Hat, Inc.
++   Copyright (C) 2002-2011, 2014 Red Hat, Inc.
+    This file is part of elfutils.
+    Written by Ulrich Drepper <drepper at redhat.com>, 2002.
+ 
+@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
+ 	    memcpy (&size, data->d_buf + 4, sizeof size);
+ 	    size = be64toh (size);
+ 
++	    /* Check for unsigned overflow so malloc always allocated
++	       enough memory for both the Elf_Data header and the
++	       uncompressed section data.  */
++	    if (unlikely (sizeof (Elf_Data) + size < size))
++	      break;
++
+ 	    Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
+ 	    if (unlikely (zdata == NULL))
+ 	      break;
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 526a66e0280..53e4bd6821f 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -3,20 +3,21 @@
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   name = "elfutils-${version}";
-  version = "0.152";
-  
+  version = "0.158";
+
   src = fetchurl {
     urls = [
-      "https://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2"
+      "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2"
       "mirror://gentoo/distfiles/${name}.tar.bz2"
       ];
-    sha256 = "19mlgxyzcwiv64ynj2cibgkiw4qkm3n37kizvy6555dsmlaqfybq";
+    sha256 = "0z9rprmizd7rwb3xwfmz5liii7hbiv3g2arl23h56brm45fay9xy";
   };
 
   patches = [
+    ./CVE-2014-0172.patch
     (fetchurl {
-      url = https://fedorahosted.org/releases/e/l/elfutils/0.152/elfutils-portability.patch;
-      sha256 = "0q318w4cvvqv9ps4xcwphapj1gl31isgjyya4y9sm72qj68n61p0";
+      url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/elfutils-portability.patch";
+      sha256 = "0y2fyjis5xrd3g2pcbcm145q2kmh52n5c74w8dwv3hqdp5ky7igd";
     }) ];
 
   # We need bzip2 in NativeInputs because otherwise we can't unpack the src,
diff --git a/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch b/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch
deleted file mode 100644
index 1c16e1794ab..00000000000
--- a/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From: Mehdi Dogguy <mehdi@debian.org>
-Date: Wed, 16 May 2012 14:48:40 +0200
-Subject: Port to OCamlgraph 1.8.2
-
- o Graph.Topological: as of OCamlgraph 1.8.2, the input graph must
-   implement Sig.COMPARABLE instead of Sig.HASHABLE
----
- src/misc/service_graph.ml           |    2 +-
- src/misc/service_graph.mli          |    2 +-
- src/semantic_callgraph/register.ml  |    1 +
- src/syntactic_callgraph/register.ml |    1 +
- 4 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml
-index f30a1be..567698f 100644
---- a/src/misc/service_graph.ml
-+++ b/src/misc/service_graph.ml
-@@ -24,7 +24,7 @@ module Make
-   (G: sig
-      type t
-      module V: sig
--       include Graph.Sig.HASHABLE
-+       include Graph.Sig.COMPARABLE
-        val id: t -> int
-        val name: t -> string
-        val attributes: t -> Graph.Graphviz.DotAttributes.vertex list
-diff --git a/src/misc/service_graph.mli b/src/misc/service_graph.mli
-index 5ebb570..8006977 100644
---- a/src/misc/service_graph.mli
-+++ b/src/misc/service_graph.mli
-@@ -28,7 +28,7 @@ module Make
-   (G: sig
-      type t
-      module V: sig
--       include Graph.Sig.HASHABLE
-+       include Graph.Sig.COMPARABLE
-        val id: t -> int
-          (** assume is >= 0 and unique for each vertices of the graph *)
-        val name: t -> string
-diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml
-index 0b3b4df..064dca8 100644
---- a/src/semantic_callgraph/register.ml
-+++ b/src/semantic_callgraph/register.ml
-@@ -107,6 +107,7 @@ module Service =
-                (if Kernel_function.is_definition v then `Bold
-                 else `Dotted) ]
-          let equal = Kernel_function.equal
-+         let compare v1 v2 = Datatype.Int.compare (id v1) (id v2)
-          let hash = Kernel_function.hash
-          let entry_point () =
-            try Some (fst (Globals.entry_point ()))
-diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml
-index 4efb594..d9d78b9 100644
---- a/src/syntactic_callgraph/register.ml
-+++ b/src/syntactic_callgraph/register.ml
-@@ -41,6 +41,7 @@ module Service =
-              | NIVar (_,b) when not !b -> `Style `Dotted
-              | _ -> `Style `Bold ]
-          let equal v1 v2 = id v1 = id v2
-+         let compare v1 v2 = Datatype.Int.compare (id v1) (id v2)
-          let hash = id
-          let entry_point () = !entry_point_ref
-        end
--- 
diff --git a/pkgs/development/tools/misc/frama-c/default.nix b/pkgs/development/tools/misc/frama-c/default.nix
deleted file mode 100644
index ede316b4b7b..00000000000
--- a/pkgs/development/tools/misc/frama-c/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-# Note on a potential dependency-bloat:
-# Frama-c ships with several plugins that have dependencies on other
-# software. Not providing the dependencies has as effect that certain
-# plugins will not be available.
-# I've included the dependencies that are well-supported by nixpkgs
-# and seem useful in general. Not included are:
-#   alt-ergo, ltl2ba, otags, why-dp
-
-{ stdenv, fetchurl, ncurses, ocamlPackages, coq, graphviz }:
-
-let
-
-  version = "20111001";
-  sha256 = "8afad848321c958fab265045cd152482e77ce7c175ee7c9af2d4bec57a1bc671";
-
-in stdenv.mkDerivation {
-  name = "frama-c-${version}";
-
-  src = fetchurl {
-    url = "http://frama-c.com/download/frama-c-Nitrogen-${version}.tar.gz";
-    inherit sha256;
-  };
-
-  buildInputs = with ocamlPackages; [
-    ncurses ocaml findlib ocamlgraph
-    lablgtk coq graphviz  # optional dependencies
-  ];
-
-  patches = [
-    # this patch comes from the debian frama-c package, and was
-    # posted on the frama-c issue tracker.
-    ./0007-Port-to-OCamlgraph-1.8.2.patch
-  ];
-
-  postPatch = ''
-    # strip absolute paths to /usr/bin
-    for file in ./configure ./share/Makefile.common ./src/*/configure; do
-      substituteInPlace $file  --replace '/usr/bin/' ""
-    done
-
-    # find library paths
-    OCAMLGRAPH_HOME=`ocamlfind query ocamlgraph`
-    LABLGTK_HOME=`ocamlfind query lablgtk2`
-
-    # patch search paths
-    # ensure that the tests against the ocamlgraph version succeeds
-    # filter out the additional search paths from ocamldep
-    substituteInPlace ./configure \
-      --replace '$OCAMLLIB/ocamlgraph' "$OCAMLGRAPH_HOME" \
-      --replace '$OCAMLLIB/lablgtk2' "$LABLGTK_HOME" \
-      --replace '+ocamlgraph' "$OCAMLGRAPH_HOME" \
-      --replace '1.8)' '*)'
-    substituteInPlace ./Makefile --replace '+lablgtk2' "$LABLGTK_HOME" \
-      --replace '$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES))' \
-                '$(patsubst /%,.,$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES)))'
-  '';
-
-  meta = {
-    description = "Frama-C is an extensible tool for source-code analysis of C software";
-
-    homepage = http://frama-c.com/;
-    license = "GPLv2";
-
-    maintainers = [ stdenv.lib.maintainers.amiddelk ];
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 4dd83f63c7d..2b5ced78063 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.6";
+  basename = "gdb-7.7";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -27,9 +27,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    md5 = "fda57170e4d11cdde74259ca575412a8";
+    sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104";
   };
 
+  patches = [ ./edit-signals.patch ];
+
   # I think python is not a native input, but I leave it
   # here while I will not need it cross building
   nativeBuildInputs = [ texinfo python ]
@@ -76,9 +78,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/gdb/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
-    platforms = with platforms; linux ++ cygwin;
+    platforms = with platforms; linux ++ cygwin ++ darwin;
     maintainers = with maintainers; [ pierron ];
   };
 }
diff --git a/pkgs/development/tools/misc/gdb/edit-signals.patch b/pkgs/development/tools/misc/gdb/edit-signals.patch
new file mode 100644
index 00000000000..e9da8035ef5
--- /dev/null
+++ b/pkgs/development/tools/misc/gdb/edit-signals.patch
@@ -0,0 +1,25 @@
+Patch adapted from
+https://www.sourceware.org/ml/gdb-patches/2012-08/msg00439.html
+
+Without it, spawning a terminal 'vim' from gdb 'edit' cmd, makes
+all gdb grazy.
+
+diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
+index 7ea0fec..be5455c 100644
+--- a/gdb/tui/tui-win.c
++++ b/gdb/tui/tui-win.c
+@@ -831,11 +831,12 @@ void
+ tui_initialize_win (void)
+ {
+ #ifdef SIGWINCH
+-#ifdef HAVE_SIGACTION
++#if defined (HAVE_SIGACTION) && defined (SA_RESTART)
+   struct sigaction old_winch;
+ 
+-  memset (&old_winch, 0, sizeof (old_winch));
++  sigemptyset (&old_winch.sa_mask);
+   old_winch.sa_handler = &tui_sigwinch_handler;
++  old_winch.sa_flags = SA_RESTART;
+   sigaction (SIGWINCH, &old_winch, NULL);
+ #else
+   signal (SIGWINCH, &tui_sigwinch_handler);
diff --git a/pkgs/development/tools/misc/gengetopt/default.nix b/pkgs/development/tools/misc/gengetopt/default.nix
index dc7a467fb0c..9926dd6cd33 100644
--- a/pkgs/development/tools/misc/gengetopt/default.nix
+++ b/pkgs/development/tools/misc/gengetopt/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gengetopt-2.22.5";
+  name = "gengetopt-2.22.6";
 
   src = fetchurl {
     url = "mirror://gnu/gengetopt/${name}.tar.gz";
-    sha256 = "0dr1xmlgk9q8za17wnpgghb5ifnbca5vb0w5bc6fpc2j0cjb6vrv";
+    sha256 = "1xq1kcfs6hri101ss4dhym0jn96z4v6jdvx288mfywadc245mc1h";
   };
 
   doCheck = true;
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/gengetopt/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 91cf2be4f73..d6abf8d10bd 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libtool, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "global-6.2.2";
+  name = "global-6.2.12";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "0a41d3wc22f05fqi5zpx1r22annsi4whdkjdmw50nidjca1vq5pj";
+    sha256 = "05jkhya1cs6yqhkf8nw5x56adkxxrqyga7sq7hx44dbf7alczwfa";
   };
 
   buildInputs = [ libtool ncurses ];
@@ -37,11 +37,11 @@ stdenv.mkDerivation rec {
       operating system like GNU and BSD.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/global/;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index d1b0d0e376e..67688254a40 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "gnum4-1.4.16";
+stdenv.mkDerivation rec {
+  name = "gnum4-1.4.17";
 
   src = fetchurl {
-    url = mirror://gnu/m4/m4-1.4.16.tar.bz2;
-    sha256 = "035r7ma272j2cwni2961jp22k6bn3n9xwn3b3qbcn2yrvlghql22";
+    url = "mirror://gnu/m4/m4-1.4.17.tar.bz2";
+    sha256 = "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf";
   };
 
   doCheck = !stdenv.isDarwin
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     && !stdenv.isSunOS;                    # XXX: `test-setlocale2.sh' fails
 
   # Upstream is aware of it; it may be in the next release.
-  patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ./no-gets.patch ];
+  patches = [ ./s_isdir.patch ];
 
   meta = {
     homepage = http://www.gnu.org/software/m4/;
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
       compiler or as a macro processor in its own right.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 
 }
diff --git a/pkgs/development/tools/misc/gnum4/no-gets.patch b/pkgs/development/tools/misc/gnum4/no-gets.patch
deleted file mode 100644
index 456c08b56c3..00000000000
--- a/pkgs/development/tools/misc/gnum4/no-gets.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-devel/m4/files/m4-1.4.16-no-gets.patch?revision=1.1
-
-https://bugs.gentoo.org/424978
-
-hack until m4 pulls a newer gnulib version
-
-From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
-From: Eric Blake <eblake@redhat.com>
-Date: Thu, 29 Mar 2012 13:30:41 -0600
-Subject: [PATCH] stdio: don't assume gets any more
-
-Gnulib intentionally does not have a gets module, and now that C11
-and glibc have dropped it, we should be more proactive about warning
-any user on a platform that still has a declaration of this dangerous
-interface.
-
---- a/lib/stdio.in.h
-+++ b/lib/stdio.in.h
-@@ -125,7 +125,6 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch b/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch
deleted file mode 100644
index dd371584a79..00000000000
--- a/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Newer Linux kernels would return EINVAL instead of ENOENT.
-The patch below, taken from Gnulib, allows the test to pass when
-these Linux versions are in use:
-https://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00308.html .
-
-diff --git a/tests/test-readlink.h b/tests/test-readlink.h
-index 08d5662..7247fc4 100644
---- a/tests/test-readlink.h
-+++ b/tests/test-readlink.h
-@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print)
-   ASSERT (errno == ENOENT);
-   errno = 0;
-   ASSERT (func ("", buf, sizeof buf) == -1);
--  ASSERT (errno == ENOENT);
-+  ASSERT (errno == ENOENT || errno == EINVAL);
-   errno = 0;
-   ASSERT (func (".", buf, sizeof buf) == -1);
-   ASSERT (errno == EINVAL);
diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix
index c86a65f33b6..a434e54bba9 100644
--- a/pkgs/development/tools/misc/gob2/default.nix
+++ b/pkgs/development/tools/misc/gob2/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl_gnome, pkgconfig, glib, bison, flex }:
+{ stdenv, fetchurlGnome, pkgconfig, glib, bison, flex }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
-  src = fetchurl_gnome {
+  src = fetchurlGnome {
     project = "gob2";
     major = "2"; minor = "0"; patchlevel = "18"; extension = "gz";
     sha256 = "1r242s3rsxyqiw2ic2gdpvvrx903jgjd1aa4mkl26in5k9zk76fa";
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Preprocessor for making GObjects with inline C code";
     homepage = http://www.jirka.org/gob.html;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/gperf/default.nix b/pkgs/development/tools/misc/gperf/default.nix
index 478d2162b33..e25998e5420 100644
--- a/pkgs/development/tools/misc/gperf/default.nix
+++ b/pkgs/development/tools/misc/gperf/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       employed by gperf.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/gperf/;
   };
diff --git a/pkgs/development/tools/misc/grafana/default.nix b/pkgs/development/tools/misc/grafana/default.nix
new file mode 100644
index 00000000000..b1566684cf0
--- /dev/null
+++ b/pkgs/development/tools/misc/grafana/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip, conf ? null }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "grafana-${version}";
+  version = "1.5.4";
+
+  src = fetchurl {
+    url = "http://grafanarel.s3.amazonaws.com/${name}.zip";
+    sha256 = "fee7334efba967142955be2fa39ecae7bca0cc9b7a76c301430746be4fc7ec6d";
+  };
+
+  buildInputs = [ unzip ];
+
+  phases = ["unpackPhase" "installPhase"];
+  installPhase = ''
+    mkdir -p $out && cp -R * $out
+    ${optionalString (conf!=null) ''cp ${conf} $out/config.js''}
+  '';
+
+  meta = {
+    description = "A Graphite & InfluxDB Dashboard and Graph Editor";
+    homepage = http://grafana.org/;
+    license = licenses.asl20;
+
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix
index b447cf918cf..cd8ad0d64cd 100644
--- a/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://gtkdialog.googlecode.com/;
     description = "Small utility for fast and easy GUI building from many scripted and compiled languages";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index edbc37e76a6..23bd35c8739 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.40.8";
+  name = "help2man-1.44.1";
 
   src = fetchurl {
-    url = "mirror://gnu/help2man/${name}.tar.gz";
-    sha256 = "0s6phazn8jgvpbsby8kj2m58rj1zjghi1aipvamh8af226ssqfzj";
+    url = "mirror://gnu/help2man/${name}.tar.xz";
+    sha256 = "1yyyfw9zrfdvslnv91bnhyqmazwx243wmkc9wdaz888rfx36ipi2";
   };
 
   buildInputs = [ makeWrapper perl gettext LocaleGettext ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/help2man/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index caa277bfbf5..0940bcca191 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Hydra, the Nix-based continuous integration system";
     homepage = http://nixos.org/hydra/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/icon-naming-utils/default.nix b/pkgs/development/tools/misc/icon-naming-utils/default.nix
index 7a03eb7b128..7f8dafad4af 100644
--- a/pkgs/development/tools/misc/icon-naming-utils/default.nix
+++ b/pkgs/development/tools/misc/icon-naming-utils/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl, XMLSimple}:
+{stdenv, fetchurl, perl, XMLSimple, librsvg}:
 
 stdenv.mkDerivation rec {
   name = "icon-naming-utils-0.8.90";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "071fj2jm5kydlz02ic5sylhmw6h2p3cgrm3gwdfabinqkqcv4jh4";
   };
   
-  buildInputs = [perl XMLSimple];
+  buildInputs = [perl XMLSimple librsvg];
 
   postInstall =
     ''
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
           --replace '/bin/perl' '/bin/perl -I${XMLSimple}/lib/perl5/site_perl'
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://tango.freedesktop.org/Standard_Icon_Naming_Specification;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/indent/default.nix b/pkgs/development/tools/misc/indent/default.nix
index 0c82c2cd275..17714b7a9d4 100644
--- a/pkgs/development/tools/misc/indent/default.nix
+++ b/pkgs/development/tools/misc/indent/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.gnu.org/software/indent/;
     description = "A source code reformatter";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/inotify-tools/default.nix b/pkgs/development/tools/misc/inotify-tools/default.nix
index 0465b6d90a8..3402c2060e7 100644
--- a/pkgs/development/tools/misc/inotify-tools/default.nix
+++ b/pkgs/development/tools/misc/inotify-tools/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "inotify-tools-3.13";
+stdenv.mkDerivation rec {
+  name = "inotify-tools-${version}";
+  version = "3.14";
 
   src = fetchurl {
-    url = mirror://sourceforge/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz;
+    url = "http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-${version}.tar.gz";
     sha256 = "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6";
   };
 
-  meta = {
-    homepage = http://sourceforge.net/projects/inotify-tools/;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rvoicilas/inotify-tools/wiki;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ marcweber pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
new file mode 100644
index 00000000000..14bfe74821d
--- /dev/null
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev, libX11, libXext, libXv, libXrandr, glib, bison }:
+
+stdenv.mkDerivation rec {
+  name = "intel-gpu-tools-1.7";
+
+  src = fetchurl {
+    url = "http://xorg.freedesktop.org/archive/individual/app/${name}.tar.bz2";
+    sha256 = "0yi0024kr1xzglkkhyjpxr081bmwvdakb61az6wiidfrpd1j6q92";
+  };
+
+  configureFlags = [ "--disable-tests" ];
+
+  buildInputs = [ pkgconfig libdrm libpciaccess cairo dri2proto udev libX11 libXext libXv libXrandr glib bison ];
+
+  meta = with stdenv.lib; {
+    homepage = https://01.org/linuxgraphics/;
+    description = "Tools for development and testing of the Intel DRM driver";
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index b2a400a6189..c9bb661935a 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     homepage = "http://launchpad.net/intltool/";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     inherit (s) version;
   };
 }
diff --git a/pkgs/development/tools/misc/jscoverage/default.nix b/pkgs/development/tools/misc/jscoverage/default.nix
index c7f790b7d50..07ef5ffc082 100644
--- a/pkgs/development/tools/misc/jscoverage/default.nix
+++ b/pkgs/development/tools/misc/jscoverage/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://siliconforks.com/jscoverage/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix
index 78cd15e04bd..5eee9ead5d6 100644
--- a/pkgs/development/tools/misc/libtool/default.nix
+++ b/pkgs/development/tools/misc/libtool/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/libtool/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index 0252750bf12..98d22dcf42b 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/libtool/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index bdd35dc50f0..ec3a5e9bcbf 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation {
   
   preBuild = "sed -i Makefile -e 's/^CFGF=/&	-DHASIPv6=1/;';";
   
-  configurePhase = "./Configure -n linux;";
+  configurePhase = if stdenv.isDarwin
+    then "./Configure -n darwin;"
+    else "./Configure -n linux;";
   
   installPhase = ''
     mkdir -p $out/bin $out/man/man8
@@ -28,5 +30,6 @@ stdenv.mkDerivation {
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
       from it).
     '';
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix
index a436f29df14..1d20d8eef45 100644
--- a/pkgs/development/tools/misc/ltrace/default.nix
+++ b/pkgs/development/tools/misc/ltrace/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl, elfutils }:
 
 stdenv.mkDerivation rec {
-  name = "ltrace-0.5.3";
+  name = "ltrace-0.7.3";
 
   src = fetchurl {
-    url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.3.orig.tar.gz;
-    sha256 = "0cmyw8zyw8b1gszrwizcm53cr0mig1iw3kv18v5952m9spb2frjw";
+    url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.7.3.orig.tar.bz2;
+    sha256 = "00wmbdghqbz6x95m1mcdd3wd46l6hgcr4wggdp049dbifh3qqvqf";
   };
 
   buildInputs = [ elfutils ];
 
-  preBuild =
+  preConfigure =
     ''
+      configureFlags="--disable-werror"
       makeFlagsArray=(INSTALL="install -c")
     '';
 
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 42d11ebe7c5..5758500d86f 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl, popt, libuuid, liburcu, lttngUst }:
+{ stdenv, fetchurl, popt, libuuid, liburcu, lttng-ust, kmod }:
 
 stdenv.mkDerivation rec {
-  name = "lttng-tools-2.3.0";
+  name = "lttng-tools-2.4.1";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "16j55xqrh00mjbcvdmdkfxchavi7jsxlpnfjqc1g1d3x65ss9wri";
+    sha256 = "1v9f7a3c2shwgn4g759bblgr27h9ql9sfq71r1mbkf8rd235g2jr";
   };
 
-  buildInputs = [ popt libuuid liburcu lttngUst ];
+  buildInputs = [ popt libuuid liburcu lttng-ust ];
 
-  patches = [ ./lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch ];
+  prePatch = ''
+    sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|g" \
+        -i src/bin/lttng-sessiond/modprobe.c
+  '';
 
   meta = with stdenv.lib; {
     description = "Tracing tools (kernel + user space) for Linux";
diff --git a/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch b/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch
deleted file mode 100644
index 7d9edbda97a..00000000000
--- a/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From daba2e936571a236817022b760d91c48b730c30b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
-Date: Tue, 9 Jul 2013 23:47:47 +0200
-Subject: [PATCH] Change modprobe path from "/sbin/modprobe" to "modprobe"
- (rely on PATH lookup)
-
----
- src/bin/lttng-sessiond/modprobe.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/bin/lttng-sessiond/modprobe.c b/src/bin/lttng-sessiond/modprobe.c
-index 7e06dad..4075efe 100644
---- a/src/bin/lttng-sessiond/modprobe.c
-+++ b/src/bin/lttng-sessiond/modprobe.c
-@@ -90,7 +90,7 @@ void modprobe_remove_lttng_control(void)
- 
- 	for (i = ARRAY_SIZE(kern_modules_control) - 1; i >= 0; i--) {
- 		ret = snprintf(modprobe, sizeof(modprobe),
--				"/sbin/modprobe -r -q %s",
-+				"modprobe -r -q %s",
- 				kern_modules_control[i].name);
- 		if (ret < 0) {
- 			PERROR("snprintf modprobe -r");
-@@ -125,7 +125,7 @@ void modprobe_remove_lttng_data(void)
- 
- 	for (i = ARRAY_SIZE(kern_modules_list) - 1; i >= 0; i--) {
- 		ret = snprintf(modprobe, sizeof(modprobe),
--				"/sbin/modprobe -r -q %s",
-+				"modprobe -r -q %s",
- 				kern_modules_list[i].name);
- 		if (ret < 0) {
- 			PERROR("snprintf modprobe -r");
-@@ -169,7 +169,7 @@ int modprobe_lttng_control(void)
- 
- 	for (i = 0; i < ARRAY_SIZE(kern_modules_control); i++) {
- 		ret = snprintf(modprobe, sizeof(modprobe),
--				"/sbin/modprobe %s%s",
-+				"modprobe %s%s",
- 				kern_modules_control[i].required ? "" : "-q ",
- 				kern_modules_control[i].name);
- 		if (ret < 0) {
-@@ -205,7 +205,7 @@ int modprobe_lttng_data(void)
- 
- 	for (i = 0; i < ARRAY_SIZE(kern_modules_list); i++) {
- 		ret = snprintf(modprobe, sizeof(modprobe),
--				"/sbin/modprobe %s%s",
-+				"modprobe %s%s",
- 				kern_modules_list[i].required ? "" : "-q ",
- 				kern_modules_list[i].name);
- 		if (ret < 0) {
--- 
-1.8.2.3
-
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index 014a97a9158..0cba211f28b 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -12,11 +12,11 @@
 # Debian builds with std.h (systemtap).
 
 stdenv.mkDerivation rec {
-  name = "lttng-ust-2.3.0";
+  name = "lttng-ust-2.4.1";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2";
-    sha256 = "1hazjybrppyaakvfp1bs92vx0n2sgcsw0m6i5hwq7xq8vij7cj4q";
+    sha256 = "1nx9b1haiylajzjy03wgfcy85nwg578c6gy8ip55y8cabjrw0hp1";
   };
 
   buildInputs = [ liburcu ];
diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix
index df9f81d02e6..0096cbdbabf 100644
--- a/pkgs/development/tools/misc/lttv/default.nix
+++ b/pkgs/development/tools/misc/lttv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk2, popt, babeltrace }:
 
 stdenv.mkDerivation rec {
-  name = "lttv-1.5-beta1";
+  name = "lttv-1.5";
 
   src = fetchurl {
     url = "http://lttng.org/files/packages/${name}.tar.bz2";
-    sha256 = "0cz69q189wndwpvic0l6wvzl1nsfqadbrigaaxgzij72r7n89sfc";
+    sha256 = "1faldxnh9dld5k0vxckwpqw241ya1r2zv286l6rpgqr500zqw7r1";
   };
 
   buildInputs = [ pkgconfig glib gtk2 popt babeltrace ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     homepage = http://lttng.org/;
     # liblttvtraceread (ltt/ directory) is distributed under the GNU LGPL v2.1.
     # The rest of the LTTV package is distributed under the GNU GPL v2.
-    license = with licenses; [ gpl2 lgpl21 ];
+    # TODO license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index d905d078d40..4a38762a3ff 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, lua, curl}:
+{stdenv, fetchurl, lua, curl, makeWrapper, which}:
 let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.1.0";
+    version="2.2.0";
     name="${baseName}-${version}";
-    hash="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c";
-    url="http://luarocks.org/releases/luarocks-2.1.0-rc3.tar.gz";
-    sha256="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c";
+    hash="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
+    url="http://luarocks.org/releases/luarocks-2.2.0-rc1.tar.gz";
+    sha256="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
   };
   buildInputs = [
-    lua curl
+    lua curl makeWrapper which
   ];
 in
 stdenv.mkDerivation {
@@ -19,6 +19,29 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  preConfigure = ''
+    lua -e "" || {
+        luajit -e "" && {
+	    export LUA_SUFFIX=jit
+	    configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX"
+	}
+    }
+    lua_inc="$(echo "${lua}/include"/*/)"
+    if test -n "$lua_inc"; then
+        configureFlags="$configureFlags --with-lua-include=$lua_inc"
+    fi
+  '';
+  postInstall = ''
+    sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
+    for i in "$out"/bin/*; do
+        test -L "$i" || {
+	    wrapProgram "$i" \
+	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
+	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+
+	}
+    done
+  '';
   meta = {
     inherit (s) version;
     description = ''A package manager for Lua'';
diff --git a/pkgs/development/tools/misc/ninka/default.nix b/pkgs/development/tools/misc/ninka/default.nix
index a5410204340..dc7eb5cabfd 100644
--- a/pkgs/development/tools/misc/ninka/default.nix
+++ b/pkgs/development/tools/misc/ninka/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A sentence based license detector";
     homepage = "http://ninka.turingmachine.org/";
-    license = "AGPLv3+";
+    license = stdenv.lib.licenses.agpl3Plus;
   };
 }
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
new file mode 100644
index 00000000000..d38c862ecfb
--- /dev/null
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, jre, ctags, makeWrapper, coreutils, git }:
+
+stdenv.mkDerivation rec {
+  name = "opengrok-0.12.1";
+
+  src = fetchurl {
+    url = "http://java.net/projects/opengrok/downloads/download/${name}.tar.gz";
+    sha256 = "0ihaqgf1z2gsjmy2q96m0s07dpnh92j3ss3myiqjdsh9957fwg79";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -a * $out/
+    substituteInPlace $out/bin/OpenGrok --replace /bin/uname ${coreutils}/bin/uname
+    wrapProgram $out/bin/OpenGrok \
+      --prefix PATH : "${ctags}/bin:${git}/bin" \
+      --set JAVA_HOME "${jre}" \
+      --set OPENGROK_TOMCAT_BASE "/var/tomcat"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Source code search and cross reference engine";
+    homepage = http://opengrok.github.io/OpenGrok/;
+    license = licenses.cddl;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index e0da284887c..7334fa8754f 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -1,38 +1,52 @@
-{stdenv, fetchurl, libftdi, libusb1 }:
+{ stdenv, fetchurl, libftdi, libusb1, pkgconfig }:
+
+# TODO: Add "hidapi" as dependency to gain access to CMSIS-DAP debuggers.
+# Support should be auto-detected, but if not, pass "--enable-cmsis-dap" to
+# configure.
 
 stdenv.mkDerivation rec {
   name = "openocd-${version}";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/openocd/openocd-${version}.tar.bz2";
-    sha256 = "0qwfyd821sy5p0agz0ybgn5nd7vplipw4mhm485ldj1hcmw7n8sj";
+    sha256 = "0byk7hnccgmhw0f84qlkfhps38gp2xp628bfrsc03vq08hr6q1sv";
   };
 
-  configureFlags = [ "--enable-ft2232_libftdi"
-                     "--enable-jlink"
-                     "--enable-rlink"
-                     "--enable-ulink"
-                     "--enable-stlink" ];
-
-  buildInputs = [ libftdi libusb1 ];
+  buildInputs = [ libftdi libusb1 pkgconfig ];
 
-  meta = {
-    homepage = http://openocd.sourceforge.net/;
-    description = "OpenOCD, an on-chip debugger";
+  configureFlags = [
+    "--enable-jtag_vpi"
+    "--enable-usb_blaster_libftdi"
+    "--enable-amtjtagaccel"
+    "--enable-gw16012"
+    "--enable-presto_libftdi"
+    "--enable-openjtag_ftdi"
+    "--enable-oocd_trace"
+    "--enable-buspirate"
+    "--enable-sysfsgpio"
+    "--enable-remote-bitbang"
+  ];
 
-    longDescription =
-      '' OpenOCD provides on-chip programming and debugging support with a
-         layered architecture of JTAG interface and TAP support, debug target
-         support (e.g. ARM, MIPS), and flash chip drivers (e.g. CFI, NAND,
-         etc.).  Several network interfaces are available for interactiving
-         with OpenOCD: HTTP, telnet, TCL, and GDB.  The GDB server enables
-         OpenOCD to function as a "remote target" for source-level debugging
-         of embedded systems using the GNU GDB program.
-      '';
+  postInstall = ''
+    mkdir -p "$out/etc/udev/rules.d"
+    ln -s "$out/share/openocd/contrib/99-openocd.rules" "$out/etc/udev/rules.d/99-openocd.rules"
+  '';
 
-    license = "GPLv2+";
-    maintainers = with stdenv.lib.maintainers; [ viric bjornfor ];
-    platforms = with stdenv.lib.platforms; linux;
+  meta = with stdenv.lib; {
+    description = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing";
+    longDescription = ''
+      OpenOCD provides on-chip programming and debugging support with a layered
+      architecture of JTAG interface and TAP support, debug target support
+      (e.g. ARM, MIPS), and flash chip drivers (e.g. CFI, NAND, etc.).  Several
+      network interfaces are available for interactiving with OpenOCD: HTTP,
+      telnet, TCL, and GDB.  The GDB server enables OpenOCD to function as a
+      "remote target" for source-level debugging of embedded systems using the
+      GNU GDB program.
+    '';
+    homepage = http://openocd.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric bjornfor ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 65edd1a5187..32da8e40c92 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "patchelf-0.6";
+  name = "patchelf-0.8";
 
   src = fetchurl {
     url = "http://nixos.org/releases/patchelf/${name}/${name}.tar.bz2";
-    sha256 = "fc7e7fa95f282fc37a591a802629e0e1ed07bc2a8bf162228d9a69dd76127c01";
+    sha256 = "c99f84d124347340c36707089ec8f70530abd56e7827c54d506eb4cc097a17e7";
   };
 
   doCheck = true;
@@ -14,5 +14,7 @@ stdenv.mkDerivation rec {
     homepage = http://nixos.org/patchelf.html;
     license = "GPL";
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
deleted file mode 100644
index aa8418496ea..00000000000
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "patchelf-0.7pre160_1c057cd";
-
-  src = fetchurl {
-    url = http://hydra.nixos.org/build/2961500/download/2/patchelf-0.7pre160_1c057cd.tar.bz2;
-    sha256 = "bbc46169f6b6803410e0072cf57e631481e3d5f1dde234f4eacbccb6562c5f4f";
-  };
-
-  meta = {
-    homepage = http://nixos.org/patchelf.html;
-    license = "GPL";
-    description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
-  };
-}
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index 49b2cbfe66e..2ce1fd7b6e4 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -1,15 +1,17 @@
 {stdenv, fetchurl, automake, vanilla ? false}:
 
 stdenv.mkDerivation (rec {
-  name = "pkg-config-0.23";
+  name = "pkg-config-0.28";
   
   setupHook = ./setup-hook.sh;
   
   src = fetchurl {
     url = "http://pkgconfig.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "0lrvk17724mc2nzpaa0vwybarrl50r7qdnr4h6jijm50srrf1808";
+    sha256 = "0igqq5m204w71m11y0nipbdf5apx87hwfll6axs12hn4dqfb6vkb";
   };
 
+  configureFlags = [ "--with-internal-glib" ];
+
   patches = if vanilla then [] else [
     # Process Requires.private properly, see
     # http://bugs.freedesktop.org/show_bug.cgi?id=4738.
diff --git a/pkgs/development/tools/misc/pkgconfig/requires-private.patch b/pkgs/development/tools/misc/pkgconfig/requires-private.patch
index f5dee097d60..d40aa980137 100644
--- a/pkgs/development/tools/misc/pkgconfig/requires-private.patch
+++ b/pkgs/development/tools/misc/pkgconfig/requires-private.patch
@@ -1,221 +1,17 @@
-diff -rc pkg-config-0.23-orig/main.c pkg-config-0.23/main.c
-*** pkg-config-0.23-orig/main.c	2008-01-16 23:06:48.000000000 +0100
---- pkg-config-0.23/main.c	2008-10-14 13:04:04.000000000 +0200
-***************
-*** 431,436 ****
---- 431,454 ----
-    else
-      disable_private_libs();
-  
-+   /* Only process Requires field if cflags or libs wanted */
-+   if (want_libs ||
-+       want_cflags ||
-+       want_l_libs ||
-+       want_L_libs ||
-+       want_other_libs ||
-+       want_I_cflags ||
-+       want_other_cflags)
-+     enable_requires();
-+   else
-+     disable_requires();
-+ 
-+   /* Only process Requires.private if static libs wanted */
-+   if (want_static_lib_list)
-+     enable_requires_private();
-+   else
-+     disable_requires_private();
-+ 
-    if (want_my_version)
-      {
-        printf ("%s\n", VERSION);
-diff -rc pkg-config-0.23-orig/parse.c pkg-config-0.23/parse.c
-*** pkg-config-0.23-orig/parse.c	2008-01-16 21:42:49.000000000 +0100
---- pkg-config-0.23/parse.c	2008-10-13 14:41:42.000000000 +0200
-***************
-*** 913,919 ****
-  #endif
-  
-  static void
-! parse_line (Package *pkg, const char *untrimmed, const char *path, gboolean ignore_requires, gboolean ignore_private_libs)
-  {
-    char *str;
-    char *p;
---- 913,921 ----
-  #endif
-  
-  static void
-! parse_line (Package *pkg, const char *untrimmed, const char *path,
-!             gboolean ignore_requires, gboolean ignore_requires_private,
-!             gboolean ignore_private_libs)
-  {
-    char *str;
-    char *p;
-***************
-*** 956,970 ****
-          parse_description (pkg, p, path);
-        else if (strcmp (tag, "Version") == 0)
-          parse_version (pkg, p, path);
-!       else if (strcmp (tag, "Requires.private") == 0)
-! 	parse_requires_private (pkg, p, path);
-!       else if (strcmp (tag, "Requires") == 0)
-! 	{
-!           if (ignore_requires == FALSE)
-! 	    parse_requires (pkg, p, path);
-!           else
-! 	    goto cleanup;
-!         }
-        else if ((strcmp (tag, "Libs.private") == 0) && 
-                 ignore_private_libs == FALSE)
-          parse_libs_private (pkg, p, path);
---- 958,969 ----
-          parse_description (pkg, p, path);
-        else if (strcmp (tag, "Version") == 0)
-          parse_version (pkg, p, path);
-!       else if ((strcmp (tag, "Requires.private") == 0) &&
-!                ignore_requires_private == FALSE)
-!         parse_requires_private (pkg, p, path);
-!       else if ((strcmp (tag, "Requires") == 0) &&
-!                ignore_requires == FALSE)
-!         parse_requires (pkg, p, path);
-        else if ((strcmp (tag, "Libs.private") == 0) && 
-                 ignore_private_libs == FALSE)
-          parse_libs_private (pkg, p, path);
-***************
-*** 1067,1073 ****
-  }
-  
-  Package*
-! parse_package_file (const char *path, gboolean ignore_requires, gboolean ignore_private_libs)
-  {
-    FILE *f;
-    Package *pkg;
---- 1066,1074 ----
-  }
-  
-  Package*
-! parse_package_file (const char *path, gboolean ignore_requires,
-!                     gboolean ignore_requires_private,
-!                     gboolean ignore_private_libs)
-  {
-    FILE *f;
-    Package *pkg;
-***************
-*** 1104,1110 ****
-      {
-        one_line = TRUE;
-        
-!       parse_line (pkg, str->str, path, ignore_requires, ignore_private_libs);
-  
-        g_string_truncate (str, 0);
-      }
---- 1105,1112 ----
-      {
-        one_line = TRUE;
-        
-!       parse_line (pkg, str->str, path, ignore_requires,
-!                   ignore_requires_private, ignore_private_libs);
-  
-        g_string_truncate (str, 0);
-      }
-diff -rc pkg-config-0.23-orig/parse.h pkg-config-0.23/parse.h
-*** pkg-config-0.23-orig/parse.h	2008-01-16 21:42:49.000000000 +0100
---- pkg-config-0.23/parse.h	2008-10-13 14:41:42.000000000 +0200
-***************
-*** 23,28 ****
---- 23,29 ----
-  #include "pkg.h"
-  
-  Package *parse_package_file (const char *path, gboolean ignore_requires,
-+                              gboolean ignore_requires_private,
-                               gboolean ignore_private_libs);
-  
-  Package *get_compat_package (const char *name);
-diff -rc pkg-config-0.23-orig/pkg.c pkg-config-0.23/pkg.c
-*** pkg-config-0.23-orig/pkg.c	2008-01-16 22:59:49.000000000 +0100
---- pkg-config-0.23/pkg.c	2008-10-13 14:41:42.000000000 +0200
-***************
-*** 55,60 ****
---- 55,61 ----
-  
-  gboolean disable_uninstalled = FALSE;
-  gboolean ignore_requires = FALSE;
-+ gboolean ignore_requires_private = FALSE;
-  gboolean ignore_private_libs = TRUE;
-  
-  void
-***************
-*** 337,343 ****
-      }
-  
-    debug_spew ("Reading '%s' from file '%s'\n", name, location);
-!   pkg = parse_package_file (location, ignore_requires, ignore_private_libs);
-    
-    if (pkg == NULL)
-      {
---- 338,345 ----
-      }
-  
-    debug_spew ("Reading '%s' from file '%s'\n", name, location);
-!   pkg = parse_package_file (location, ignore_requires, ignore_requires_private,
-!                             ignore_private_libs);
-    
-    if (pkg == NULL)
-      {
-***************
-*** 1506,1511 ****
---- 1508,1514 ----
-    int mlen = 0;
-    
-    ignore_requires = TRUE;
-+   ignore_requires_private = TRUE;
-  
-    g_hash_table_foreach (locations, max_len_foreach, &mlen);
-    g_hash_table_foreach (locations, packages_foreach, GINT_TO_POINTER (mlen + 1));
-***************
-*** 1522,1524 ****
---- 1525,1551 ----
-  {
-    ignore_private_libs = TRUE;
-  }
-+ 
-+ void
-+ enable_requires(void)
-+ {
-+   ignore_requires = FALSE;
-+ }
-+ 
-+ void
-+ disable_requires(void)
-+ {
-+   ignore_requires = TRUE;
-+ }
-+ 
-+ void
-+ enable_requires_private(void)
-+ {
-+   ignore_requires_private = FALSE;
-+ }
-+ 
-+ void
-+ disable_requires_private(void)
-+ {
-+   ignore_requires_private = TRUE;
-+ }
-diff -rc pkg-config-0.23-orig/pkg.h pkg-config-0.23/pkg.h
-*** pkg-config-0.23-orig/pkg.h	2008-01-16 22:27:19.000000000 +0100
---- pkg-config-0.23/pkg.h	2008-10-13 14:41:42.000000000 +0200
-***************
-*** 120,125 ****
---- 120,131 ----
-  void enable_private_libs(void);
-  void disable_private_libs(void);
-  
-+ void enable_requires(void);
-+ void disable_requires(void);
-+ 
-+ void enable_requires_private(void);
-+ void disable_requires_private(void);
-+ 
-  /* If TRUE, do not automatically prefer uninstalled versions */
-  extern gboolean disable_uninstalled;
-  
+diff --git a/main.c b/main.c
+index b61ca34..5a420c2 100644
+--- a/main.c
++++ b/main.c
+@@ -602,10 +602,10 @@ main (int argc, char **argv)
+   else
+     disable_private_libs();
+ 
+-  /* honor Requires.private if any Cflags are requested or any static
++  /* honor Requires.private if any any static
+    * libs are requested */
+ 
+-  if (pkg_flags & CFLAGS_ANY || want_requires_private || want_exists ||
++  if (want_requires_private ||
+       (want_static_lib_list && (pkg_flags & LIBS_ANY)))
+     enable_requires_private();
+ 
diff --git a/pkgs/development/tools/misc/pmccabe/default.nix b/pkgs/development/tools/misc/pmccabe/default.nix
index 10cf371f13a..a71afd5d472 100644
--- a/pkgs/development/tools/misc/pmccabe/default.nix
+++ b/pkgs/development/tools/misc/pmccabe/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "McCabe-style function complexity and line counting for C and C++";
     homepage = http://www.parisc-linux.org/~bame/pmccabe/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
       pmccabe calculates McCabe-style cyclomatic complexity for C and
diff --git a/pkgs/development/tools/misc/prelink/default.nix b/pkgs/development/tools/misc/prelink/default.nix
new file mode 100644
index 00000000000..15abc1f48c1
--- /dev/null
+++ b/pkgs/development/tools/misc/prelink/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libelf }:
+
+let
+  version = "20130503";
+in
+stdenv.mkDerivation rec {
+  name = "prelink-${version}";
+
+  buildInputs = [ libelf ];
+
+  src = fetchurl {
+    url = "http://people.redhat.com/jakub/prelink/prelink-${version}.tar.bz2";
+    sha256 = "1w20f6ilqrz8ca51qhrn1n13h7q1r34k09g33d6l2vwvbrhcffb3";
+  };
+
+  meta = {
+    homepage = http://people.redhat.com/jakub/prelink/;
+    license = "GPL";
+    description = "ELF prelinking utility to speed up dynamic linking";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index 8dce23aa959..770c8071095 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unzip}:
+{ stdenv, fetchurl, unzip }:
 
 let baseName = "premake";
   version  = "4.3";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn";
   };
 
-  buildInputs = [unzip];
+  buildInputs = [ unzip ];
 
   buildPhase = ''
     make -C build/gmake.unix/
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
     description = "A simple build configuration and project generation tool using lua";
     license = stdenv.lib.licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix
index 8fcf254e8ca..2fa7194cf07 100644
--- a/pkgs/development/tools/misc/saleae-logic/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic/default.nix
@@ -3,6 +3,8 @@
 # Suggested udev rules to be able to access the Logic device without being root:
 #   SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="0666"
 #   SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1001", MODE="0666"
+#
+# In NixOS, simply add this package to services.udev.packages.
 
 { stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft
 , fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor
@@ -79,6 +81,10 @@ stdenv.mkDerivation rec {
     # Copy the generated .desktop file
     mkdir -p "$out/share/applications"
     cp "$desktopItem"/share/applications/* "$out/share/applications/"
+
+    # Install provided udev rules
+    mkdir -p "$out/etc/udev/rules.d"
+    cp Drivers/99-SaleaeLogic.rules "$out/etc/udev/rules.d/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/sloccount/default.nix b/pkgs/development/tools/misc/sloccount/default.nix
index 9dc50abf3f7..455305be749 100644
--- a/pkgs/development/tools/misc/sloccount/default.nix
+++ b/pkgs/development/tools/misc/sloccount/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
       the Perl CPAN library using this tool suite.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://www.dwheeler.com/sloccount/;
 
diff --git a/pkgs/development/tools/misc/srecord/default.nix b/pkgs/development/tools/misc/srecord/default.nix
index 25140093f51..e316b4a628e 100644
--- a/pkgs/development/tools/misc/srecord/default.nix
+++ b/pkgs/development/tools/misc/srecord/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, boost, libtool, groff, ghostscript }:
 
 stdenv.mkDerivation rec {
-  name = "srecord-1.62";
+  name = "srecord-1.63";
 
   src = fetchurl {
     url = "mirror://sourceforge/srecord/${name}.tar.gz";
-    sha256 = "0bfbmhsm9mbwiik3yrhm95q8bgx1k4mh2ai412k8zjyi8f5f3904";
+    sha256 = "06mzj9lrk8lzfzhnfyh8xm4p92j242jik6zm37ihcia20inwgzkq";
   };
 
   buildInputs = [ boost libtool groff ghostscript ];
diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix
index 675f8f7f2af..13796453eba 100644
--- a/pkgs/development/tools/misc/stlink/default.nix
+++ b/pkgs/development/tools/misc/stlink/default.nix
@@ -8,11 +8,12 @@
 # SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0666", SYMLINK+="stlinkv2_%n"
 
 stdenv.mkDerivation {
-  name = "stlink-git20130306";
+  name = "stlink-20130306";
 
   src = fetchgit {
     url = git://github.com/texane/stlink.git;
     rev = "5be889e3feb75fc7f594012c4855b4dc16940050";
+    sha256 = "1xbfr1kz4k6hhl0xpqn1vi83fdynjxx3ymn9gb7b0pb7h6ncjcyr";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig libusb1 ];
@@ -22,6 +23,6 @@ stdenv.mkDerivation {
     description = "In-circuit debug and programming for ST-Link devices";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/stm32flash/default.nix b/pkgs/development/tools/misc/stm32flash/default.nix
index 6b99a5755e4..6b06bf385b3 100644
--- a/pkgs/development/tools/misc/stm32flash/default.nix
+++ b/pkgs/development/tools/misc/stm32flash/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Open source flash program for the STM32 ARM processors using the ST bootloader";
     homepage = https://code.google.com/p/stm32flash/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = platforms.all; # Should work on all platforms
     maintainers = [ maintainers.the-kenny ];
   };
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index bdf3a7d0561..732423da5cd 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     description = "A system call tracer for Linux";
     license = licenses.bsd3;
     platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/development/tools/misc/swig/2.x.nix b/pkgs/development/tools/misc/swig/2.x.nix
index f56598e2f0f..b51ce0f2d5a 100644
--- a/pkgs/development/tools/misc/swig/2.x.nix
+++ b/pkgs/development/tools/misc/swig/2.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "swig-2.0.4";
+  name = "swig-2.0.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/swig/${name}.tar.gz";
-    sha256 = "12pcw4whi36vd41c43v8c62bn7vnq331hmvzsrg8wvyj61vi2fkn";
+    sha256 = "0kj21b6syp62vx68r1j6azv9033kng68pxm1k79pm4skkzr0ny33";
   };
 
   buildInputs = [ pcre ];
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     # Licensing is a mess: http://www.swig.org/Release/LICENSE .
     license = "BSD-style";
 
+    platforms = stdenv.lib.platforms.linux;
+
     maintainers = with stdenv.lib.maintainers; [ urkud ];
   };
 }
diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix
new file mode 100644
index 00000000000..653fb061603
--- /dev/null
+++ b/pkgs/development/tools/misc/swig/3.x.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pcre }:
+
+stdenv.mkDerivation rec {
+  name = "swig-3.0.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/swig/${name}.tar.gz";
+    sha256 = "99cab1055877d00280509f0e04c1fe76643ec3792e9b8e7efcc9aa6e247229df";
+  };
+
+  buildInputs = [ pcre ];
+
+  meta = {
+    description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
+
+    longDescription = ''
+       SWIG is an interface compiler that connects programs written in C and
+       C++ with languages such as Perl, Python, Ruby, Scheme, and Tcl.  It
+       works by taking the declarations found in C/C++ header files and using
+       them to generate the wrapper code that scripting languages need to
+       access the underlying C/C++ code.  In addition, SWIG provides a variety
+       of customization features that let you tailor the wrapping process to
+       suit your application.
+    '';
+
+    homepage = http://swig.org/;
+
+    # Licensing is a mess: http://www.swig.org/Release/LICENSE .
+    license = "BSD-style";
+
+    platforms = stdenv.lib.platforms.linux;
+
+    maintainers = with stdenv.lib.maintainers; [ urkud ];
+  };
+}
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index 1f37fd87f8a..09978b5ad65 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost }:
+{ stdenv, fetchurl, boost, tcl }:
 
 stdenv.mkDerivation rec {
   name = "swig-1.3.40";
@@ -8,18 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "02dc8g8wy75nd2is1974rl24c6mdl0ai1vszs1xpg9nd7dlv6i8r";
   };
 
-  #buildInputs = [ boost ]; # needed for `make check'
+  doCheck = true;
+  # 'make check' uses boost and tcl
+  buildInputs = stdenv.lib.optionals doCheck [ boost tcl ];
 
-  /* The test suite fails this way:
-
-      building python_cpp
-      python: tpp.c:63: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed.
-      /bin/sh: line 1: 32101 Aborted                 env LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH PYTHONPATH=.:$PYTHONPATH python ./li_boost_shared_ptr_runme.py
-      make[1]: *** [li_boost_shared_ptr.cpptest] Error 134
-
-     This may be an uninitialized mutex or mutexattr or something.
-   */
-  doCheck = false;
+  configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ccache";
 
   meta = {
     description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
@@ -39,6 +32,8 @@ stdenv.mkDerivation rec {
     # Licensing is a mess: http://www.swig.org/Release/LICENSE .
     license = "BSD-style";
 
+    platforms = stdenv.lib.platforms.all;
+
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index e3acf620c73..1b4cab361ce 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Modular, cross-platform and multi-threaded benchmark tool";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/tcptrack/default.nix b/pkgs/development/tools/misc/tcptrack/default.nix
index 43ff8df70d2..645bd061177 100644
--- a/pkgs/development/tools/misc/tcptrack/default.nix
+++ b/pkgs/development/tools/misc/tcptrack/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.rhythm.cx/~steve/devel/tcptrack/; # dead link
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/teensy/default.nix b/pkgs/development/tools/misc/teensy/default.nix
new file mode 100644
index 00000000000..9902cd03453
--- /dev/null
+++ b/pkgs/development/tools/misc/teensy/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, unzip, libusb }:
+let
+  version = "2.1";
+in
+stdenv.mkDerivation {
+  name = "teensy-loader-${version}";
+  src = fetchurl {
+    url = "http://www.pjrc.com/teensy/teensy_loader_cli.2.1.zip";
+    sha256 = "0iidj3q0l2hds1gaadnwgni4qdgk6r0nv101986jxda8cw6h9zfs";
+  };
+
+  buildInputs = [ unzip libusb ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -v teensy_loader_cli $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl3;
+    description = "Firmware uploader for the Teensy microcontroller board";
+    homepage = http://www.pjrc.com/teensy/;
+    maintainers = with maintainers; [ the-kenny ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix
index 7fa604e4af6..1f36a14fa97 100644
--- a/pkgs/development/tools/misc/texi2html/default.nix
+++ b/pkgs/development/tools/misc/texi2html/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "Perl script which converts Texinfo source files to HTML output";
     homepage = http://www.nongnu.org/texi2html/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix
index 9a41d296342..5131d381412 100644
--- a/pkgs/development/tools/misc/texinfo/4.13a.nix
+++ b/pkgs/development/tools/misc/texinfo/4.13a.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       well-integrated with GNU Emacs.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/texinfo/;
   };
diff --git a/pkgs/development/tools/misc/texinfo/4.9.nix b/pkgs/development/tools/misc/texinfo/4.9.nix
deleted file mode 100644
index fd42093e561..00000000000
--- a/pkgs/development/tools/misc/texinfo/4.9.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl, ncurses}:
-
-stdenv.mkDerivation {
-  name = "texinfo-4.9";
-  src = fetchurl {
-    url = mirror://gnu/texinfo/texinfo-4.9.tar.bz2;
-    sha256 = "0h7q9h405m88fjj067brzniiv8306ryl087pgjpmbpd2jci9h6g7";
-  };
-  buildInputs = [ncurses];
-}
diff --git a/pkgs/development/tools/misc/texinfo/5.1.nix b/pkgs/development/tools/misc/texinfo/5.1.nix
deleted file mode 100644
index 2f318f18d54..00000000000
--- a/pkgs/development/tools/misc/texinfo/5.1.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, ncurses, perl }:
-
-stdenv.mkDerivation rec {
-  name = "texinfo-5.1";
-
-  src = fetchurl {
-    url = "mirror://gnu/texinfo/${name}.tar.xz";
-    sha256 = "0864v5i488x3mb3v5p6nhy2kw0mqkzpa3b0453iibj81zlpq078q";
-  };
-
-  buildInputs = [ ncurses perl ];
-
-  preInstall = ''
-    installFlags="TEXMF=$out/texmf-dist";
-    installTargets="install install-tex";
-  '';
-
-  doCheck = true;
-
-  meta = {
-    homepage = "http://www.gnu.org/software/texinfo/";
-    description = "GNU Texinfo, the GNU documentation system";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    longDescription = ''
-      Texinfo is the official documentation format of the GNU project.
-      It was invented by Richard Stallman and Bob Chassell many years
-      ago, loosely based on Brian Reid's Scribe and other formatting
-      languages of the time.  It is used by many non-GNU projects as
-      well.
-
-      Texinfo uses a single source file to produce output in a number
-      of formats, both online and printed (dvi, html, info, pdf, xml,
-      etc.).  This means that instead of writing different documents
-      for online information and another for a printed manual, you
-      need write only one document.  And when the work is revised, you
-      need revise only that one document.  The Texinfo system is
-      well-integrated with GNU Emacs.
-    '';
-  };
-}
diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix
new file mode 100644
index 00000000000..804e7a2527f
--- /dev/null
+++ b/pkgs/development/tools/misc/texinfo/5.2.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }:
+
+stdenv.mkDerivation rec {
+  name = "texinfo-5.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/texinfo/${name}.tar.xz";
+    sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal";
+  };
+
+  buildInputs = [ perl xz ]
+    ++ stdenv.lib.optional interactive ncurses;
+
+  preInstall = ''
+    installFlags="TEXMF=$out/texmf-dist";
+    installTargets="install install-tex";
+  '';
+
+  doCheck = !stdenv.isDarwin;
+
+  meta = {
+    homepage = "http://www.gnu.org/software/texinfo/";
+    description = "GNU Texinfo, the GNU documentation system";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.all;
+
+    longDescription = ''
+      Texinfo is the official documentation format of the GNU project.
+      It was invented by Richard Stallman and Bob Chassell many years
+      ago, loosely based on Brian Reid's Scribe and other formatting
+      languages of the time.  It is used by many non-GNU projects as
+      well.
+
+      Texinfo uses a single source file to produce output in a number
+      of formats, both online and printed (dvi, html, info, pdf, xml,
+      etc.).  This means that instead of writing different documents
+      for online information and another for a printed manual, you
+      need write only one document.  And when the work is revised, you
+      need revise only that one document.  The Texinfo system is
+      well-integrated with GNU Emacs.
+    '';
+  };
+}
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
new file mode 100644
index 00000000000..67ef086941e
--- /dev/null
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, cmake, pkgconfig, python, cheetahTemplate, orc, libusb1, boost }:
+
+# You need these udev rules to not have to run as root (copied from
+# ${uhd}/share/uhd/utils/uhd-usrp.rules):
+#
+#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666"
+#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
+
+stdenv.mkDerivation rec {
+  name = "uhd-${version}";
+  version = "3.7.0";
+
+  # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
+  # and xxx.yyy.zzz. Hrmpf...
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/EttusResearch/uhd/archive/release_003_007_000.tar.gz";
+    sha256 = "0x9imfy63s6wlbilr2n82c15nd33ix0mbap0q1xwh2pj1mk4d5jk";
+  };
+
+  cmakeFlags = "-DLIBUSB_INCLUDE_DIRS=${libusb1}/include/libusb-1.0";
+
+  buildInputs = [ cmake pkgconfig python cheetahTemplate orc libusb1 boost ];
+
+  # Build only the host software
+  preConfigure = "cd host";
+
+  # Firmware images are downloaded (pre-built)
+  uhdImagesName = "uhd-images_003.007.000-release";
+  uhdImagesSrc = fetchurl {
+    url = "http://files.ettus.com/binaries/maint_images/archive/${uhdImagesName}.tar.gz";
+    sha256 = "0vb0rc5ji8n6l6ycvd7pbazxzm0ihvkmqm77jflqrd3kky8r722d";
+  };
+
+  postPhases = [ "installFirmware" ];
+
+  installFirmware = ''
+    tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "USRP Hardware Driver (for Software Defined Radio)";
+    longDescription = ''
+      The USRP Hardware Driver (UHD) software is the hardware driver for all
+      USRP (Universal Software Radio Peripheral) devices.
+
+      USRP devices are designed and sold by Ettus Research, LLC and its parent
+      company, National Instruments.
+    '';
+    homepage = http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/misc/uisp/default.nix b/pkgs/development/tools/misc/uisp/default.nix
index 732d3ab92c1..234ff82b50a 100644
--- a/pkgs/development/tools/misc/uisp/default.nix
+++ b/pkgs/development/tools/misc/uisp/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Tool for AVR microcontrollers which can interface to many hardware in-system programmers";
-    license = "GPL-2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://savannah.nongnu.org/projects/uisp;
   };
 }
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 48a823c3c65..bba7ef7fad0 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, libusb }:
+{ stdenv, fetchurl, pkgconfig, libusb1 }:
 
-stdenv.mkDerivation {
-  name = "usb-modeswitch-1.1.2";
+stdenv.mkDerivation rec {
+  name = "usb-modeswitch-2.2.0";
 
   src =fetchurl {
-    url = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.2.tar.bz2";
-    sha256 = "1wzhd0r49nh5y43qrvsi3c7a29206zwd6v8xlpb8dqm40xg3j9nz";
+    url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2";
+    sha256 = "0flaj3mq0xhzk72kkpclwglf77kcw5rkwvkaimn5zvbiw4yi0li7";
   };
 
   # make clean: we always build from source. It should be necessary on x86_64 only
@@ -16,10 +16,10 @@ stdenv.mkDerivation {
     makeFlags="DESTDIR=$out PREFIX=$out"
   '';
 
-  buildInputs = [ libusb ];
+  buildInputs = [ pkgconfig libusb1 ];
 
   meta = {
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/tools/misc/xxdiff/default.nix b/pkgs/development/tools/misc/xxdiff/default.nix
index 36047210a92..1d7e6b33042 100644
--- a/pkgs/development/tools/misc/xxdiff/default.nix
+++ b/pkgs/development/tools/misc/xxdiff/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://furius.ca/xxdiff/";
     description = "graphical file and directories comparator and merge tool";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [];
diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix
index 384e724dfad..5b66ea75f65 100644
--- a/pkgs/development/tools/neoload/default.nix
+++ b/pkgs/development/tools/neoload/default.nix
@@ -13,9 +13,9 @@ if !licenseAccepted then throw ''
 else assert licenseAccepted;
 
 # the installer is very picky and demands 1.7.0.07
-let dotInstall4j = writeTextFile { name = "dot-install4j"; text = ''
-      JRE_VERSION	${jre}	1	7	0	7
-      JRE_INFO	${jre}	94
+let dotInstall4j = path: writeTextFile { name = "dot-install4j"; text = ''
+      JRE_VERSION	${jre}${path}	1	7	0	7
+      JRE_INFO	${jre}${path}	94
     ''; };
 
     responseVarfile = writeTextFile { name = "response.varfile"; text = ''
@@ -31,15 +31,15 @@ let dotInstall4j = writeTextFile { name = "dot-install4j"; text = ''
     ''; };
 
 in stdenv.mkDerivation rec {
-  name = "neoload-4.1.3";
+  name = "neoload-4.1.4";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then
-      { url = http://www.neotys.com/documents/download/neoload/v4.1/neoload_4_1_3_linux_x64.sh;
-        sha256 = "0qqp7iy6xpaqg535hk21yqmxi0inin5v160sa7nwxh41dq0li5xx"; }
+      { url = http://neoload.installers.neotys.com/documents/download/neoload/v4.1/neoload_4_1_4_linux_x64.sh;
+        sha256 = "199jcf5a0nwfm8wfld2rcjgq64g91vvz2bkmki8dxfzf1yasifcd"; }
     else
-      { url = http://www.neotys.com/documents/download/neoload/v4.1/neoload_4_1_3_linux_x86.sh;
-        sha256 = "0rvy6l9znha3wf8cn406lwvv2qshqnls9kasi68r4wgysr1hh662"; } );
+      { url = http://neoload.installers.neotys.com/documents/download/neoload/v4.1/neoload_4_1_4_linux_x86.sh;
+        sha256 = "1z66jiwcxixsqqwa0f4q8m2p5kna4knq6lic8y8l74dgv25mw912"; } );
 
   buildInputs = [ makeWrapper ];
   phases = [ "installPhase" ];
@@ -48,7 +48,6 @@ in stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/lib/neoload
-    ln -s ${jre} $out/lib/neoload/jre
 
     # the installer wants to use its internal JRE
     # disable this. The extra spaces are needed because the installer carries
@@ -56,7 +55,7 @@ in stdenv.mkDerivation rec {
     sed -e 's/^if \[ -f jre.tar.gz/if false          /' $src > installer
     chmod a+x installer
 
-    cp ${dotInstall4j} .install4j
+    cp ${dotInstall4j ""} .install4j
     chmod u+w .install4j
 
     sed -e "s|INSTALLDIR|$out|" ${responseVarfile} > response.varfile
@@ -65,8 +64,10 @@ in stdenv.mkDerivation rec {
     export INSTALL4J_JAVA_HOME=${jre}
     bash -ic './installer -q -varfile response.varfile'
 
+    sed -i 's/Xmx450m/Xmx900m/;s/Xss192k/Xss384k/' $out/lib/neoload/conf/agent.properties
+
     for i in $out/bin/*; do
-      wrapProgram $i --run 'cp ${dotInstall4j} ~/.install4j' \
+      wrapProgram $i --run 'cp ${dotInstall4j "/lib/openjdk/jre"} ~/.install4j' \
                      --run 'chmod u+w ~/.install4j'
     done
 
@@ -75,7 +76,7 @@ in stdenv.mkDerivation rec {
       name=$(basename "$i")
       sed -e 's|/lib/neoload/bin|/bin|' "$i" > "$out/share/applications/$name"
     done
-    rm $out/lib/neoload/*.desktop $out/lib/neoload/uninstall
+    rm -r $out/lib/neoload/*.desktop $out/lib/neoload/uninstall
 
   '';
 
diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix
new file mode 100644
index 00000000000..1f101776064
--- /dev/null
+++ b/pkgs/development/tools/node-webkit/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, buildEnv, makeWrapper
+, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}:
+let
+  bits = if stdenv.system == "x86_64-linux" then "x64"
+         else "ia32";
+
+  nwEnv = buildEnv {
+    name = "node-webkit-env";
+    paths = [
+      xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
+      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext
+      xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc
+    ];
+  };
+
+in stdenv.mkDerivation rec {
+  name = "node-webkit-${version}";
+  version = "0.9.2";
+
+  src = fetchurl {
+    url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
+    sha256 = if bits == "x64" then
+      "04b9hgrxxnvrzyc7kmlabvrfbzj9d6lif7z69zgsbn3x25nxxd2n" else
+      "0icwdl564sbx27124js1l4whfld0n6nbysdd522frzk1759dzgri";
+  };
+
+  patchPhase = ''
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot
+  '';
+
+  installPhase = let
+    LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit";
+  in ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/node-webkit
+    cp -R * $out/share/node-webkit
+
+    ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
+
+    makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+    makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+  '';
+
+  buildInputs = [ makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "An app runtime based on Chromium and node.js";
+    homepage = https://github.com/rogerwang/node-webkit;
+    platforms = ["i686-linux" "x86_64-linux"];
+    maintainers = [ maintainers.offline ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 74b3368293c..8691e1b9d11 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -7,11 +7,11 @@ in
 
 stdenv.mkDerivation {
 
-  name = "camlp5${if transitional then "_transitional" else ""}-6.06";
+  name = "camlp5${if transitional then "_transitional" else ""}-6.11";
 
   src = fetchurl {
-    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.06.tgz;
-    sha256 = "763f89ee6cde4ca063a50708c3fe252d55ea9f8037e3ae9801690411ea6180c5";
+    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.11.tgz;
+    sha256 = "0dxb5id6imq502sic75l786q94dhplqx6yyhjkkw19kf64fiqlk5";
   };
 
   buildInputs = [ ocaml ];
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
new file mode 100644
index 00000000000..04475959f3d
--- /dev/null
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, ocaml, findlib}:
+let
+  pname = "cppo";
+  version = "0.9.4";
+  webpage = "http://mjambon.com/${pname}.html";
+in
+stdenv.mkDerivation rec {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    sha256 = "1m7cbja7cf74l45plqnmjrjjz55v8x65rvx0ikk9mg1ak8lcmvxa";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  makeFlags = "PREFIX=$(out)";
+
+  preBuild = ''
+    mkdir $out/bin
+  '';
+
+  meta = {
+    description = "The C preprocessor for OCaml";
+    longDescription = ''
+      Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.
+    '';
+    homepage = "${webpage}";
+    license = "bsd";
+  };
+}
+
+
+
diff --git a/pkgs/development/tools/ocaml/deriving/default.nix b/pkgs/development/tools/ocaml/deriving/default.nix
index d53f41b5da5..55bbf3748ea 100644
--- a/pkgs/development/tools/ocaml/deriving/default.nix
+++ b/pkgs/development/tools/ocaml/deriving/default.nix
@@ -52,7 +52,7 @@ versionedDerivation "ocaml-deriving" version {
     # not all tests compile !?
     # (cd tests; make)
 
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp -a lib $out/
     cp -a syntax $out
 
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index aee0040f815..4c0176de7e8 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocaml-findlib-1.3.3";
+  name = "ocaml-findlib-1.4.1";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/findlib-1.3.3.tar.gz;
-    sha256 = "981f5c67118a2be015efa79f3af3cb0063376b93123b5d695e7cb5c586b1d45c";
+    url = http://download.camlcity.org/download/findlib-1.4.1.tar.gz;
+    sha256 = "0cdbr716r5686zvf86b9zm5ikdz0dw727m67b1f4rjjisp5v2zyf";
   };
 
   buildInputs = [m4 ncurses ocaml];
@@ -49,10 +49,11 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://projects.camlcity.org/projects/findlib.html;
     description = "O'Caml library manager";
-    license = "MIT/X11";
+    license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.vbmithr
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
new file mode 100644
index 00000000000..c0882439f5c
--- /dev/null
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}:
+stdenv.mkDerivation {
+
+  name = "merlin-1.6";
+
+  src = fetchurl {
+    url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz";
+    sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy";
+  };
+
+  buildInputs = [ ocaml findlib biniou yojson menhir easy-format ];
+
+  prefixKey = "--prefix ";
+
+  meta = {
+    description = "An editor-independant tool to ease the developpement of programs in OCaml";
+    homepage = "http://the-lambda-church.github.io/merlin/";
+    license = stdenv.lib.licenses.mit;
+  };
+}
+
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
new file mode 100644
index 00000000000..3ab935705a2
--- /dev/null
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, ocaml_typeconv,
+ ocamlmod, ocamlify, ounit, expect}:
+
+stdenv.mkDerivation {
+  name = "ocaml-oasis-0.4.1";
+
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1355/oasis-0.4.1.tar.gz;
+    sha256 = "1lsnw9f1jh6106kphxg40qp0sia6cbkbb9ahs5y6ifnfkmllkjhj";
+  };
+
+  createFindlibDestdir = true;
+
+  buildInputs =
+    [
+      ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit
+    ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase     = "ocaml setup.ml -build";
+  installPhase   = "ocaml setup.ml -install";
+
+  meta = {
+    homepage = http://oasis.forge.ocamlcore.org/;
+    description = "Configure, build and install system for OCaml projects";
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [
+      z77z
+    ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix
new file mode 100644
index 00000000000..88b7451e0f0
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, ocaml, findlib, ounit}:
+
+stdenv.mkDerivation {
+  name = "ocamlify-0.0.2";
+
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1209/ocamlify-0.0.2.tar.gz;
+    sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii";
+  };
+
+  buildInputs = [ocaml findlib ounit];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase     = "ocaml setup.ml -build";
+  installPhase   = "ocaml setup.ml -install";
+
+  meta = {
+    homepage = http://forge.ocamlcore.org/projects/ocamlmod/ocamlmod;
+    description = "Generate OCaml modules from source files";
+    platforms = ocaml.meta.platforms;
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = with stdenv.lib.maintainers; [
+      z77z
+    ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
new file mode 100644
index 00000000000..d72df18f899
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib, ounit}:
+
+stdenv.mkDerivation {
+  name = "ocamlmod-0.0.7";
+
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1350/ocamlmod-0.0.7.tar.gz;
+    sha256 = "11kg7wh0gy492ma5c6bcjh6frv1a9lh9f26hiys2i0d1ky8s0ad3";
+  };
+
+  buildInputs = [ocaml findlib ounit];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase     = "ocaml setup.ml -build";
+  installPhase   = "ocaml setup.ml -install";
+
+  meta = {
+    homepage = http://forge.ocamlcore.org/projects/ocamlmod/ocamlmod;
+    description = "Generate OCaml modules from source files";
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [
+      z77z
+    ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/opam/1.0.0.nix b/pkgs/development/tools/ocaml/opam/1.0.0.nix
new file mode 100644
index 00000000000..f8f680ef4a5
--- /dev/null
+++ b/pkgs/development/tools/ocaml/opam/1.0.0.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
+
+let
+  srcs = {
+    cudf = fetchurl {
+      url = "https://gforge.inria.fr/frs/download.php/31910/cudf-0.6.3.tar.gz";
+      sha256 = "6e9f1bafe859df85c854679e2904a8172945d2bf2d676c8ae3ecb72fe6de0665";
+    };
+    extlib = fetchurl {
+      url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
+      sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
+    };
+    ocaml_re = fetchurl {
+      url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
+      sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
+    };
+    ocamlgraph = fetchurl {
+      url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz";
+      sha256 = "ba6388ffc2c15139b0f26330ef6dd922f0ff0f364eee99a3202bf1cd93512b43";
+    };
+    dose3 = fetchurl {
+      url = "https://gforge.inria.fr/frs/download.php/31595/dose3-3.1.2.tar.gz";
+      sha256 = "3a07a08345be157c98cb26021d7329c72c2b95c99cfdff79887690656ec9f1a3";
+    };
+    cmdliner = fetchurl {
+      url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.3.tbz";
+      sha256 = "5421559aa12b4debffef947f7e1039c22e9dffd87a4aa68445a687a20764ae81";
+    };
+    opam = fetchurl {
+      url = "https://github.com/OCamlPro/opam/archive/1.0.0.zip";
+      sha256 = "f8d94a91c2b8d110fa5e3b0a87c512a860acbae110654498a164c5c888c40bda";
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  name = "opam-1.0.0";
+
+  buildInputs = [unzip curl ncurses ocaml];
+
+  src = srcs.opam;
+
+  postUnpack = ''
+    ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
+    ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
+    ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
+    ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
+    ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
+    ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
+  '';
+
+  makeFlags = ["HOME=$(TMPDIR)"];
+
+  doCheck = false;
+
+  meta = {
+    maintainers = stdenv.lib.maintainers.orbitz;
+    description = "A package manager for OCaml";
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/opam/1.1.nix b/pkgs/development/tools/ocaml/opam/1.1.nix
new file mode 100644
index 00000000000..2c71f8ba49f
--- /dev/null
+++ b/pkgs/development/tools/ocaml/opam/1.1.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
+
+# Opam 1.1 only works with ocaml >= 3.12.1 according to ./configure
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+
+let
+  srcs = {
+    cudf = fetchurl {
+      url = "https://gforge.inria.fr/frs/download.php/31910/cudf-0.6.3.tar.gz";
+      sha256 = "6e9f1bafe859df85c854679e2904a8172945d2bf2d676c8ae3ecb72fe6de0665";
+    };
+    extlib = fetchurl {
+      url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
+      sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
+    };
+    ocaml_re = fetchurl {
+      url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
+      sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
+    };
+    ocamlgraph = fetchurl {
+      url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz";
+      sha256 = "ba6388ffc2c15139b0f26330ef6dd922f0ff0f364eee99a3202bf1cd93512b43";
+    };
+    dose3 = fetchurl {
+      url = "https://gforge.inria.fr/frs/download.php/31595/dose3-3.1.2.tar.gz";
+      sha256 = "3a07a08345be157c98cb26021d7329c72c2b95c99cfdff79887690656ec9f1a3";
+    };
+    cmdliner = fetchurl {
+      url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.3.tbz";
+      sha256 = "5421559aa12b4debffef947f7e1039c22e9dffd87a4aa68445a687a20764ae81";
+    };
+    opam = fetchurl {
+      url = "https://github.com/ocaml/opam/archive/1.1.1.zip";
+      sha256 = "9c69eeb448af5a38950b2664446401ce240b9f028e0b4d26b6ac1a96938a5f03";
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  name = "opam-1.1.1";
+
+  buildInputs = [unzip curl ncurses ocaml];
+
+  src = srcs.opam;
+
+  postUnpack = ''
+    ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
+    ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
+    ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
+    ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
+    ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
+    ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
+  '';
+
+  # Dirty, but apparently ocp-build requires a TERM
+  makeFlags = ["TERM=screen"];
+
+  doCheck = false;
+
+  meta = {
+    maintainers = [stdenv.lib.maintainers.orbitz];
+    description = "A package manager for OCaml";
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
deleted file mode 100644
index c36d0004992..00000000000
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
-
-let
-  srcs = {
-    cudf = fetchurl {
-      url = "https://gforge.inria.fr/frs/download.php/31910/cudf-0.6.3.tar.gz";
-      sha256 = "6e9f1bafe859df85c854679e2904a8172945d2bf2d676c8ae3ecb72fe6de0665";
-    };
-    extlib = fetchurl {
-      url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
-      sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
-    };
-    ocaml_re = fetchurl {
-      url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
-      sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
-    };
-    ocamlgraph = fetchurl {
-      url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz";
-      sha256 = "ba6388ffc2c15139b0f26330ef6dd922f0ff0f364eee99a3202bf1cd93512b43";
-    };
-    dose3 = fetchurl {
-      url = "https://gforge.inria.fr/frs/download.php/31595/dose3-3.1.2.tar.gz";
-      sha256 = "3a07a08345be157c98cb26021d7329c72c2b95c99cfdff79887690656ec9f1a3";
-    };
-    cmdliner = fetchurl {
-      url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.3.tbz";
-      sha256 = "5421559aa12b4debffef947f7e1039c22e9dffd87a4aa68445a687a20764ae81";
-    };
-    opam = fetchurl {
-      url = "https://github.com/OCamlPro/opam/archive/1.0.0.zip";
-      sha256 = "f8d94a91c2b8d110fa5e3b0a87c512a860acbae110654498a164c5c888c40bda";
-    };
-  };
-in
-stdenv.mkDerivation rec {
-  name = "opam-1.0.0";
-
-  buildInputs = [unzip curl ncurses ocaml];
-
-  src = srcs.opam;
-
-  postUnpack = ''
-    ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
-    ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
-    ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
-    ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
-    ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
-    ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
-  '';
-
-  makeFlags = ["HOME=$(TMPDIR)"];
-
-  doCheck = false;
-
-  meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
-    description = "A package manager for ocaml";
-    platforms   = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
new file mode 100644
index 00000000000..073de5137f8
--- /dev/null
+++ b/pkgs/development/tools/packer/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, gox, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "packer-0.6.0";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ gox ];
+
+  installPhase = ''
+    export GOPATH=$src
+    XC_ARCH=$(go env GOARCH)
+    XC_OS=$(go env GOOS)
+
+    mkdir -p $out/bin
+
+    cd $src/src/github.com/mitchellh/packer
+    gox \
+        -os="''${XC_OS}" \
+        -arch="''${XC_ARCH}" \
+        -output "$out/bin/packer-{{.Dir}}" \
+        ./...
+    mv $out/bin/packer{*packer*,}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
+    homepage    = "http://www.packer.io";
+    license     = licenses.mpl20;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/packer/deps.nix b/pkgs/development/tools/packer/deps.nix
new file mode 100644
index 00000000000..ce56ecad8a2
--- /dev/null
+++ b/pkgs/development/tools/packer/deps.nix
@@ -0,0 +1,307 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/mitchellh/packer";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "packer";
+        rev = "12e28f257f66299e3bb13a053bf06ccd236e7efd";
+        sha256 = "1r5j864kr7lx137c23kk5s82znk11hsrgq98zfz5r8sbzq1xpbzw";
+      };
+    }
+    {
+      root = "code.google.com/p/go.crypto";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.crypto";
+        rev = "199";
+        sha256 = "0ibrpc6kknzl6a2g2fkxn03mvrd635lcnvf4a9rk1dfrpjbpcixh";
+      };
+    }
+    {
+      root = "code.google.com/p/goauth2";
+      src = fetchhg {
+        url = "http://code.google.com/p/goauth2";
+        rev = "67";
+        sha256 = "053vajj8hd9869by7z9qfgzn84h6avpcjvyxcyw5jml8dsln4bah";
+      };
+    }
+    {
+      root = "code.google.com/p/google-api-go-client";
+      src = fetchhg {
+        url = "http://code.google.com/p/google-api-go-client";
+        rev = "111";
+        sha256 = "1ib8i1c2mb86lkrr5w7bgwb70gkqmp860wa3h1j8080gxdx3yy16";
+      };
+    }
+    {
+      root = "code.google.com/p/gosshold";
+      src = fetchhg {
+        url = "http://code.google.com/p/gosshold";
+        rev = "2";
+        sha256 = "1ljl8pcxxfz5rv89b2ajd31gxxzifl57kzpksvdhyjdxh98gkvg8";
+      };
+    }
+    {
+      root = "github.com/ActiveState/tail";
+      src = fetchFromGitHub {
+        owner = "ActiveState";
+        repo = "tail";
+        rev = "8dcd1ad3e57aa8ce5614a837cbbdb21945fbb55a";
+        sha256 = "1jxj576dd7mawawwg5nzwf6k7sks0r3lp2x8f6kxaps50n3k1wiz";
+      };
+    }
+    {
+      root = "github.com/howeyc/fsnotify";
+      src = fetchFromGitHub {
+        owner = "howeyc";
+        repo = "fsnotify";
+        rev = "441bbc86b167f3c1f4786afae9931403b99fdacf";
+        sha256 = "1v5vrwhmidxjj6sppinyizf85v60zrmn7i6c9xk0pvx6k0kw2mr2";
+      };
+    }
+    {
+      root = "launchpad.net/tomb";
+      src = fetchbzr {
+        url = "https://launchpad.net/tomb";
+        rev = "17";
+        sha256 = "1cjw0sr9hald1darq6n8akfpkzcgrk3mcq59hga3ibf2lrg35ha0";
+      };
+    }
+    {
+      root = "github.com/going/toolkit";
+      src = fetchFromGitHub {
+        owner = "going";
+        repo = "toolkit";
+        rev = "6185c1893604d52d36a97dd6bb1247ace93a9b80";
+        sha256 = "1kzy5yppalcidsmv5yxmr6lpqplqj07kdqpn77fdp6fbb0y0sg11";
+      };
+    }
+    {
+      root = "code.google.com/p/goprotobuf";
+      src = fetchhg {
+        url = "http://code.google.com/p/goprotobuf";
+        rev = "246";
+        sha256 = "0k4wcv1dnkwcp0gdrajj6kr25f1lg4lgpbi0h5v9l9n7sdwzplf4";
+      };
+    }
+    {
+      root = "github.com/bmizerany/assert";
+      src = fetchFromGitHub {
+        owner = "bmizerany";
+        repo = "assert";
+        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
+        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
+      };
+    }
+    {
+      root = "github.com/kr/pretty";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "pretty";
+        rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f";
+        sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl";
+      };
+    }
+    {
+      root = "github.com/kr/text";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "text";
+        rev = "6807e777504f54ad073ecef66747de158294b639";
+        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
+      };
+    }
+    {
+      root = "github.com/kr/pty";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "pty";
+        rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
+        sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
+      };
+    }
+    {
+      root = "github.com/xiocode/toolkit";
+      src = fetchFromGitHub {
+        owner = "xiocode";
+        repo = "toolkit";
+        rev = "352fd7c6700074a81056cdfc9e82b3e8c5681ac5";
+        sha256 = "0p33zh57xpxyk2wyp9xahdxyrkq48ysihpr0n9kj713q0dh7x4a3";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-version";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-version";
+        rev = "bb92dddfa9792e738a631f04ada52858a139bcf7";
+        sha256 = "0fl5a6j6nk1xsxwjdpa24a24fxvgnvm3jjlgpyrnmbdn380zil3m";
+      };
+    }
+    {
+      root = "github.com/mitchellh/go-fs";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "go-fs";
+        rev = "faaa223588dd7005e49bf66fa2d19e35c8c4d761";
+        sha256 = "19jsvy35g14f18ckymzxasy0zfd6n99zlqg6grpj1yqdfxfvqn9b";
+      };
+    }
+    {
+      root = "github.com/mitchellh/go-vnc";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "go-vnc";
+        rev = "fc93dd80f5da4ccde0a9d97f0c73e56e04e0cf72";
+        sha256 = "03rwsp1frvfx6c7yxr711lq7jdgsr1gcwg14jw26xvbzzxwjvnsf";
+      };
+    }
+    {
+      root = "github.com/mitchellh/goamz";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "goamz";
+        rev = "c3ff5f734c89f1ea1f290c6aadbbceeeb19a623c";
+        sha256 = "1nyi1p5yh21r161icnwkcgmj2y38b4m1jis47vvjbqinrp45w1gq";
+      };
+    }
+    {
+      root = "github.com/motain/gocheck";
+      src = fetchFromGitHub {
+        owner = "motain";
+        repo = "gocheck";
+        rev = "9beb271d26e640863a5bf4a3c5ea40ccdd466b84";
+        sha256 = "07arpwfdb51b5f7kzqnm5s5ndfmxv5j793hpn30nbdcya46diwjd";
+      };
+    }
+    {
+      root = "github.com/mitchellh/iochan";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "iochan";
+        rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
+        sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
+      };
+    }
+    {
+      root = "github.com/mitchellh/mapstructure";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "mapstructure";
+        rev = "743fcf103ac7cdbc159e540d9d0e3a7889b87d68";
+        sha256 = "1qqxsnxabd7c04n0ip1wmpr2g913qchqrbmblq0shrf5p1hnszgn";
+      };
+    }
+    {
+      root = "github.com/mitchellh/multistep";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "multistep";
+        rev = "162146fc57112954184d90266f4733e900ed05a5";
+        sha256 = "0ydhbxziy9204qr43pjdh88y2jg34g2mhzdapjyfpf8a1rin6dn3";
+      };
+    }
+    {
+      root = "github.com/mitchellh/osext";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "osext";
+        rev = "0dd3f918b21bec95ace9dc86c7e70266cfc5c702";
+        sha256 = "02pczqml6p1mnfdrygm3rs02g0r65qx8v1bi3x24dx8wv9dr5y23";
+      };
+    }
+    {
+      root = "github.com/mitchellh/panicwrap";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "panicwrap";
+        rev = "1aedff2aaa8b8ff7f65ab58e94ef9f593e2e3bf4";
+        sha256 = "05brbpc7kizzbs1a128fmjddh7rdyg0jzzxgbvrl58cgklh4yzaa";
+      };
+    }
+    {
+      root = "github.com/rackspace/gophercloud";
+      src = fetchFromGitHub {
+        owner = "rackspace";
+        repo = "gophercloud";
+        rev = "2285a429874c1365ef6c6d3ceb08b1d428e26aca";
+        sha256 = "0py3h64r4wkl2r9j7xlh81nazpg2b0r5ba9iblh6d1380yk4fa7f";
+      };
+    }
+    {
+      root = "github.com/racker/perigee";
+      src = fetchFromGitHub {
+        owner = "racker";
+        repo = "perigee";
+        rev = "01db3191866051f2ec854c2d876ac1a179d3049c";
+        sha256 = "05pmlgwjynbr59bw50zhrklzhr5pgnij9ym5hqvijjrpw3qd9ivf";
+      };
+    }
+    {
+      root = "github.com/ugorji/go";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/msgpack";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "msgpack";
+        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
+        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "launchpad.net/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo";
+        rev = "2";
+        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/bufio";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "bufio";
+        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
+        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
index 82d998c2fcb..b3d4c125bb9 100644
--- a/pkgs/development/tools/parsing/Ebnf2ps/default.nix
+++ b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, happy }:
 
 cabal.mkDerivation (self: {
@@ -12,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Peter's Syntax Diagram Drawing Tool";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/2.3.1.nix b/pkgs/development/tools/parsing/alex/2.3.1.nix
index 7dc17cd4153..83138e2e0ff 100644
--- a/pkgs/development/tools/parsing/alex/2.3.1.nix
+++ b/pkgs/development/tools/parsing/alex/2.3.1.nix
@@ -8,11 +8,13 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildTools = [ perl ];
   doCheck = false;
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/2.3.2.nix b/pkgs/development/tools/parsing/alex/2.3.2.nix
index 5d10dbd6995..0bc13d16017 100644
--- a/pkgs/development/tools/parsing/alex/2.3.2.nix
+++ b/pkgs/development/tools/parsing/alex/2.3.2.nix
@@ -8,11 +8,13 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildTools = [ perl ];
   doCheck = false;
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/2.3.3.nix b/pkgs/development/tools/parsing/alex/2.3.3.nix
index bbe413d478f..ccef30058c5 100644
--- a/pkgs/development/tools/parsing/alex/2.3.3.nix
+++ b/pkgs/development/tools/parsing/alex/2.3.3.nix
@@ -8,11 +8,13 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildTools = [ perl ];
   doCheck = false;
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/2.3.5.nix b/pkgs/development/tools/parsing/alex/2.3.5.nix
index 3fb843e6955..d8e7e759e76 100644
--- a/pkgs/development/tools/parsing/alex/2.3.5.nix
+++ b/pkgs/development/tools/parsing/alex/2.3.5.nix
@@ -8,11 +8,13 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildTools = [ perl ];
   doCheck = false;
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.0.1.nix b/pkgs/development/tools/parsing/alex/3.0.1.nix
index cdcaead8635..7dc18c63c91 100644
--- a/pkgs/development/tools/parsing/alex/3.0.1.nix
+++ b/pkgs/development/tools/parsing/alex/3.0.1.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, perl, QuickCheck }:
 
 cabal.mkDerivation (self: {
@@ -14,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.0.2.nix b/pkgs/development/tools/parsing/alex/3.0.2.nix
index 9011db12c7d..c18c5d89d1b 100644
--- a/pkgs/development/tools/parsing/alex/3.0.2.nix
+++ b/pkgs/development/tools/parsing/alex/3.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, perl, QuickCheck }:
 
 cabal.mkDerivation (self: {
@@ -14,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.0.5.nix b/pkgs/development/tools/parsing/alex/3.0.5.nix
index f85aa42d165..af32598ee47 100644
--- a/pkgs/development/tools/parsing/alex/3.0.5.nix
+++ b/pkgs/development/tools/parsing/alex/3.0.5.nix
@@ -1,4 +1,4 @@
-{ cabal, fetchurl, perl, QuickCheck }:
+{ cabal, fetchpatch, perl, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "alex";
@@ -8,12 +8,13 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ QuickCheck ];
   buildTools = [ perl ];
-  patches = [ (fetchurl { url="https://github.com/simonmar/alex/pull/21.patch"; sha256="0apv3rk00gwkf5rqw3467bg6pnamr07zdksbp9khhzzi73k9aq4f"; }) ];
+  patches = [ (fetchpatch { url="http://github.com/simonmar/alex/pull/21.patch"; sha256="050psfwmjlxhyxiy65jsn3v6b9rnfzy8x5q9mmhzwbirqwi0zkfm"; }) ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.1.0.nix b/pkgs/development/tools/parsing/alex/3.1.0.nix
deleted file mode 100644
index b6d46bea58e..00000000000
--- a/pkgs/development/tools/parsing/alex/3.1.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, perl, QuickCheck }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "3.1.0";
-  sha256 = "1d2kdn4g3zyc3ijiscbqayzg1apy0iih603dv90pr9w2f36djrkh";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ QuickCheck ];
-  buildTools = [ perl ];
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/alex/3.1.3.nix b/pkgs/development/tools/parsing/alex/3.1.3.nix
new file mode 100644
index 00000000000..172c90d96cc
--- /dev/null
+++ b/pkgs/development/tools/parsing/alex/3.1.3.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happy, perl, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "alex";
+  version = "3.1.3";
+  sha256 = "14hajxpqb6va5mclp2k682bgw9sbmd372vw41kq5aq815bkschcd";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ QuickCheck ];
+  buildTools = [ happy perl ];
+  meta = {
+    homepage = "http://www.haskell.org/alex/";
+    description = "Alex is a tool for generating lexical analysers in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch b/pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch
new file mode 100644
index 00000000000..1e5942bfbef
--- /dev/null
+++ b/pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch
@@ -0,0 +1,12 @@
+diff -ubr alex-2.3.5-orig/Setup.lhs alex-2.3.5/Setup.lhs
+--- alex-2.3.5-orig/Setup.lhs	2013-04-19 12:00:15.812606335 +0000
++++ alex-2.3.5/Setup.lhs	2013-04-19 12:05:41.635450321 +0000
+@@ -25,7 +25,7 @@
+ -- hack to turn cpp-style '# 27 "GenericTemplate.hs"' into 
+ -- '{-# LINE 27 "GenericTemplate.hs" #-}'.
+ crazy_perl_regexp =
+- "s/^#\\s+(\\d+)\\s+(\"[^\"]*\")/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g"
++ "s/^#\\s+(\\d+)\\s+(\"[^\"]*\").*/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g"
+ 
+ myPostBuild _ flags _ lbi = do
+   let runProgram p = rawSystemProgramConf (buildVerbose flags) p (withPrograms lbi)
diff --git a/pkgs/development/tools/parsing/antlr/2.7.7.nix b/pkgs/development/tools/parsing/antlr/2.7.7.nix
index 8d68479dd0e..23141185f68 100644
--- a/pkgs/development/tools/parsing/antlr/2.7.7.nix
+++ b/pkgs/development/tools/parsing/antlr/2.7.7.nix
@@ -8,4 +8,17 @@ stdenv.mkDerivation {
   };
   patches = [ ./2.7.7-fixes.patch ];
   buildInputs = [jdk python];
+
+  meta = with stdenv.lib; {
+    description = "Powerful parser generator";
+    longDescription = ''
+      ANTLR (ANother Tool for Language Recognition) is a powerful parser
+      generator for reading, processing, executing, or translating structured
+      text or binary files. It's widely used to build languages, tools, and
+      frameworks. From a grammar, ANTLR generates a parser that can build and
+      walk parse trees.
+    '';
+    homepage = http://www.antlr.org/;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/development/tools/parsing/antlr/default.nix b/pkgs/development/tools/parsing/antlr/default.nix
index deb8040256b..e866f61f25a 100644
--- a/pkgs/development/tools/parsing/antlr/default.nix
+++ b/pkgs/development/tools/parsing/antlr/default.nix
@@ -8,4 +8,17 @@ stdenv.mkDerivation {
     md5 = "6a7e70ccece8149b735cc3aaa24241cc";
   };
   inherit jre;
+
+  meta = with stdenv.lib; {
+    description = "Powerful parser generator";
+    longDescription = ''
+      ANTLR (ANother Tool for Language Recognition) is a powerful parser
+      generator for reading, processing, executing, or translating structured
+      text or binary files. It's widely used to build languages, tools, and
+      frameworks. From a grammar, ANTLR generates a parser that can build and
+      walk parse trees.
+    '';
+    homepage = http://www.antlr.org/;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/development/tools/parsing/bison/2.x.nix b/pkgs/development/tools/parsing/bison/2.x.nix
index 77ba164f07a..5bf5d7c2e8c 100644
--- a/pkgs/development/tools/parsing/bison/2.x.nix
+++ b/pkgs/development/tools/parsing/bison/2.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, m4, perl }:
 
 stdenv.mkDerivation rec {
-  name = "bison-2.6.5";
+  name = "bison-2.7";
 
   src = fetchurl {
-    url = "mirror://gnu/bison/${name}.tar.xz";
-    sha256 = "8640d5b51aad462db6863711f333a9159836853e0b1e79fdef708c6efb5cd52b";
+    url = "mirror://gnu/bison/${name}.tar.gz";
+    sha256 = "0cd8s2g7zjshya7kwjc9rh3drsssl4hiq4sccnkgf0nn9wvygfqr";
   };
 
   nativeBuildInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl;
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.gnu.org/software/bison/";
     description = "GNU Bison, a Yacc-compatible parser generator";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
       Bison is a general-purpose parser generator that converts an
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 9b1499c1537..5947f85343c 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,22 +1,20 @@
-{ stdenv, fetchurl, m4, perl, flex }:
+{ stdenv, fetchurl, m4, perl }:
 
 stdenv.mkDerivation rec {
-  name = "bison-3.0";
+  name = "bison-3.0.2";
 
   src = fetchurl {
-    url = "mirror://gnu/bison/${name}.tar.xz";
-    sha256 = "1j14fqgi9wzqgsy4fhkcdrv4hv6rrvhvn84axs520w9b022mbb79";
+    url = "mirror://gnu/bison/${name}.tar.gz";
+    sha256 = "1vc17y6242jlwp0gdj7wsim3nvc1ws7q3j0v3065nz8g9hd9vwnd";
   };
 
-  nativeBuildInputs = [ m4 ] ++ stdenv.lib.optionals doCheck [perl flex];
+  nativeBuildInputs = [ m4 perl ];
   propagatedBuildInputs = [ m4 ];
 
-  doCheck = true;
-
   meta = {
     homepage = "http://www.gnu.org/software/bison/";
     description = "GNU Bison, a Yacc-compatible parser generator";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
       Bison is a general-purpose parser generator that converts an
diff --git a/pkgs/development/tools/parsing/flex/2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix
new file mode 100644
index 00000000000..8047080a125
--- /dev/null
+++ b/pkgs/development/tools/parsing/flex/2.5.35.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, bison, m4 }:
+
+stdenv.mkDerivation {
+  name = "flex-2.5.35";
+
+  src = fetchurl {
+    url = mirror://sourceforge/flex/flex-2.5.35.tar.bz2;
+    sha256 = "0ysff249mwhq0053bw3hxh58djc0gy7vjan2z1krrf9n5d5vvv0b";
+  };
+
+  buildInputs = [ bison ];
+
+  propagatedNativeBuildInputs = [ m4 ];
+
+  crossAttrs = {
+    preConfigure = ''
+      export ac_cv_func_malloc_0_nonnull=yes
+      export ac_cv_func_realloc_0_nonnull=yes
+    '';
+  };
+
+  meta = {
+    homepage = http://flex.sourceforge.net/;
+    description = "A fast lexical analyser generator";
+  };
+}
diff --git a/pkgs/development/tools/parsing/flex/2.5.39.nix b/pkgs/development/tools/parsing/flex/2.5.39.nix
new file mode 100644
index 00000000000..f12f89f6e24
--- /dev/null
+++ b/pkgs/development/tools/parsing/flex/2.5.39.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, bison, m4 }:
+
+stdenv.mkDerivation {
+  name = "flex-2.5.39";
+
+  src = fetchurl {
+    url = mirror://sourceforge/flex/flex-2.5.39.tar.bz2;
+    sha256 = "0zv15giw3gma03y2bzw78hjfy49vyir7vbcgnh9bb3637dgvblmd";
+  };
+
+  buildInputs = [ bison ];
+
+  propagatedNativeBuildInputs = [ m4 ];
+
+  postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i Makefile -e 's/-no-undefined//;'
+  '';
+
+  crossAttrs = {
+    preConfigure = ''
+      export ac_cv_func_malloc_0_nonnull=yes
+      export ac_cv_func_realloc_0_nonnull=yes
+    '';
+  };
+
+  meta = {
+    homepage = http://flex.sourceforge.net/;
+    description = "A fast lexical analyser generator";
+  };
+}
diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.33.nix b/pkgs/development/tools/parsing/flex/flex-2.5.33.nix
deleted file mode 100644
index 9be98689aea..00000000000
--- a/pkgs/development/tools/parsing/flex/flex-2.5.33.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# !!! this should be moved to default.nix eventually (but I delay
-# doing that since it would cause a rebuild of lots of stuff).
-
-{stdenv, fetchurl, yacc, m4}:
-
-assert yacc != null && m4 != null;
-
-stdenv.mkDerivation {
-  name = "flex-2.5.33";
-  src = fetchurl {
-    url = mirror://sourceforge/flex/flex-2.5.33.tar.bz2;
-    md5 = "343374a00b38d9e39d1158b71af37150";
-  };
-  buildInputs = [yacc];
-  propagatedBuildInputs = [m4];
-
-  meta = {
-    description = "A fast lexical analyser generator";
-  };
-}
diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.34.nix b/pkgs/development/tools/parsing/flex/flex-2.5.34.nix
deleted file mode 100644
index d56cf0c88a2..00000000000
--- a/pkgs/development/tools/parsing/flex/flex-2.5.34.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This should be moved to default.nix eventually (?)
-
-{stdenv, fetchurl, yacc, m4}:
-
-assert yacc != null && m4 != null;
-
-stdenv.mkDerivation {
-  name = "flex-2.5.34";
-  src = fetchurl {
-    url = mirror://sourceforge/flex/flex-2.5.34.tar.bz2;
-    sha256 = "1c8e64f32508841b0441ddfb139c4cfd25fee3728cadb63f5f351c6eb9b224a6";
-  };
-  buildInputs = [yacc];
-  propagatedBuildInputs = [m4];
-
-  meta = {
-    description = "A fast lexical analyser generator";
-  };
-}
diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.35.nix b/pkgs/development/tools/parsing/flex/flex-2.5.35.nix
deleted file mode 100644
index 21180e7d185..00000000000
--- a/pkgs/development/tools/parsing/flex/flex-2.5.35.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# This should be moved to default.nix eventually (?)
-
-{stdenv, fetchurl, yacc, m4}:
-
-assert yacc != null && m4 != null;
-
-stdenv.mkDerivation {
-  name = "flex-2.5.35";
-  src = fetchurl {
-    url = mirror://sourceforge/flex/flex-2.5.35.tar.bz2;
-    sha256 = "0ysff249mwhq0053bw3hxh58djc0gy7vjan2z1krrf9n5d5vvv0b";
-  };
-  buildInputs = [yacc];
-  propagatedNativeBuildInputs = [m4];
-
-  crossAttrs = {
-    preConfigure = ''
-      export ac_cv_func_malloc_0_nonnull=yes
-      export ac_cv_func_realloc_0_nonnull=yes
-    '';
-  };
-
-  meta = {
-    description = "A fast lexical analyser generator";
-  };
-}
diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix b/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix
deleted file mode 100644
index 13bb6834979..00000000000
--- a/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, yacc}:
-
-assert yacc != null;
-
-stdenv.mkDerivation {
-  name = "flex-2.5.4a";
-  src = fetchurl {
-    url = mirror://sourceforge/flex/flex-2.5.4a.tar.gz;
-    md5 = "bd8753d0b22e1f4ec87a553a73021adf";
-  };
-  buildInputs = [yacc];
-}
diff --git a/pkgs/development/tools/parsing/happy/1.18.10.nix b/pkgs/development/tools/parsing/happy/1.18.10.nix
index d342d3381c8..187fd3628e8 100644
--- a/pkgs/development/tools/parsing/happy/1.18.10.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.10.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, perl }:
 
 cabal.mkDerivation (self: {
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.11.nix b/pkgs/development/tools/parsing/happy/1.18.11.nix
deleted file mode 100644
index 41f6d5c49a4..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.11.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.11";
-  sha256 = "1hssiihzl7xipmn5bz71q30wbq2sj92lh2f7z4jarckhldwcqfi9";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.18.4.nix b/pkgs/development/tools/parsing/happy/1.18.4.nix
index 401c4d1475c..c7e3f919568 100644
--- a/pkgs/development/tools/parsing/happy/1.18.4.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.4.nix
@@ -8,11 +8,12 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ mtl ];
   buildTools = [ perl ];
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/happy/";
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.5.nix b/pkgs/development/tools/parsing/happy/1.18.5.nix
index d64d8983e9c..f66f2089351 100644
--- a/pkgs/development/tools/parsing/happy/1.18.5.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.5.nix
@@ -8,11 +8,12 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ mtl ];
   buildTools = [ perl ];
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/happy/";
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.6.nix b/pkgs/development/tools/parsing/happy/1.18.6.nix
index fdc483fe571..7919908681e 100644
--- a/pkgs/development/tools/parsing/happy/1.18.6.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.6.nix
@@ -8,11 +8,12 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ mtl ];
   buildTools = [ perl ];
+  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
   meta = {
     homepage = "http://www.haskell.org/happy/";
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.8.nix b/pkgs/development/tools/parsing/happy/1.18.8.nix
deleted file mode 100644
index decc992809a..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.8.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.8";
-  sha256 = "1mqdawxszmdk71fbl8ljxz7jyhai00sflaw0gahp039n44mrspam";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.18.9.nix b/pkgs/development/tools/parsing/happy/1.18.9.nix
index b1f752ae35f..4ad9bf546b5 100644
--- a/pkgs/development/tools/parsing/happy/1.18.9.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.9.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, mtl, perl }:
 
 cabal.mkDerivation (self: {
@@ -13,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.19.0.nix b/pkgs/development/tools/parsing/happy/1.19.0.nix
deleted file mode 100644
index 2ff2950591e..00000000000
--- a/pkgs/development/tools/parsing/happy/1.19.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.19.0";
-  sha256 = "1phk44crr1zi4sd3slxj1ik5ll799zl48k69z1miws3mxq6w076z";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.19.4.nix b/pkgs/development/tools/parsing/happy/1.19.4.nix
new file mode 100644
index 00000000000..979d4bc52e3
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/1.19.4.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, perl }:
+
+cabal.mkDerivation (self: {
+  pname = "happy";
+  version = "1.19.4";
+  sha256 = "0vcklr1y6yjf8z4wip4al2zw4qlfxcahbdxwpf6c9y31dkv9kr3b";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ mtl ];
+  buildTools = [ perl ];
+  meta = {
+    homepage = "http://www.haskell.org/happy/";
+    description = "Happy is a parser generator for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch b/pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch
new file mode 100644
index 00000000000..8bc4db0f405
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch
@@ -0,0 +1,12 @@
+diff -ubr happy-1.18.6-orig/Setup.lhs happy-1.18.6/Setup.lhs
+--- happy-1.18.6-orig/Setup.lhs	2013-04-19 14:17:10.865999210 +0200
++++ happy-1.18.6/Setup.lhs	2013-04-19 14:17:15.285214809 +0200
+@@ -25,7 +25,7 @@
+ -- hack to turn cpp-style '# 27 "GenericTemplate.hs"' into 
+ -- '{-# LINE 27 "GenericTemplate.hs" #-}'.
+ crazy_perl_regexp =
+- "s/^#\\s+(\\d+)\\s+(\"[^\"]*\")/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g"
++ "s/^#\\s+(\\d+)\\s+(\"[^\"]*\").*/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g"
+ 
+ myPostBuild _ flags _ lbi = do
+   let runProgram p = rawSystemProgramConf (buildVerbose flags) p (withPrograms lbi)
diff --git a/pkgs/development/tools/parsing/jikespg/builder.sh b/pkgs/development/tools/parsing/jikespg/builder.sh
deleted file mode 100644
index e63ec9808f2..00000000000
--- a/pkgs/development/tools/parsing/jikespg/builder.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-source $stdenv/setup
-
-set -e
-
-configurePhase() {
-  tar zxvf $src 
-  cd jikespg/src
-}
-
-installPhase() {
-  mkdir -p $out/bin
-  cp jikespg $out/bin
-}
-
-genericBuild
diff --git a/pkgs/development/tools/parsing/jikespg/default.nix b/pkgs/development/tools/parsing/jikespg/default.nix
index 290e9a3a003..ea66204d9cd 100644
--- a/pkgs/development/tools/parsing/jikespg/default.nix
+++ b/pkgs/development/tools/parsing/jikespg/default.nix
@@ -2,9 +2,22 @@
 
 stdenv.mkDerivation {
   name = "jikespg-1.3";
-  builder = ./builder.sh;
+
   src = fetchurl {
     url = mirror://sourceforge/jikes/jikespg-1.3.tar.gz;
     md5 = "eba183713d9ae61a887211be80eeb21f";
   };
+
+  sourceRoot = "jikespg/src";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp jikespg $out/bin
+    '';
+
+  meta = {
+    homepage = http://jikes.sourceforge.net/;
+    description = "The Jikes Parser Generator";
+  };
 }
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 2dec606254b..247daacf161 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -1,4 +1,4 @@
-{composableDerivation, fetchurl, transfig, texLive}:
+{stdenv, composableDerivation, fetchurl, transfig, texLive}:
 
 let
   version = "6.3";
@@ -37,6 +37,6 @@ composableDerivation.composableDerivation {} {
   meta = {
     homepage = http://www.complang.org/ragel;
     description = "State machine compiler";
-    license = "GPL-2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index e603768b8cc..5ff4f8ec9db 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -1,13 +1,19 @@
 {stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "re2c-0.13.5";
+stdenv.mkDerivation rec {
+  name = "re2c-${version}";
+  version = "0.13.7.4";
+
   src = fetchurl {
-    url = mirror://sourceforge/re2c/re2c/0.13.5/re2c-0.13.5.tar.gz;
-    sha256 = "1336c54b3cacjxg3grxdraq6a00yidr04z90605fhxglk89rbagk";
+    url    = "mirror://sourceforge/re2c/re2c/${version}/${name}.tar.gz";
+    sha256 = "0j42s2gpz0rgiadwyb7ksqgc7i02l0q2qnmiyaj5f1w5rfa2c7yy";
   };
 
   meta = {
     description = "Tool for writing very fast and very flexible scanners";
+    homepage    = "http://re2c.org";
+    license     = stdenv.lib.licenses.publicDomain;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix
index 7eea3bedcef..6fc53595efb 100644
--- a/pkgs/development/tools/phantomjs/default.nix
+++ b/pkgs/development/tools/phantomjs/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, freetype, fontconfig, openssl }:
+{ stdenv, fetchurl, freetype, fontconfig, openssl, unzip }:
 
-assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" ];
+assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
 
 stdenv.mkDerivation rec {
-  name = "phantomjs-1.9.2";
+  name = "phantomjs-1.9.7";
 
   # I chose to use the binary build for now.
   # The source version is quite nasty to compile
@@ -12,16 +12,24 @@ stdenv.mkDerivation rec {
 
   src = if stdenv.system == "i686-linux" then
           fetchurl {
-            url = "http://phantomjs.googlecode.com/files/${name}-linux-i686.tar.bz2";
-            sha256 = "1nywb9xhcfjark6zfjlnrljc08r5185vv25vfcc65jzla8hy75qp";
+            url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-linux-i686.tar.bz2";
+            sha256 = "1ffd5544wnkww5cgwsims4bk4bymvm6pm19p32nbhwabxqhbnj9a";
           }
-        else # x86_64-linux
-          fetchurl {
-            url = "http://phantomjs.googlecode.com/files/${name}-linux-x86_64.tar.bz2";
-            sha256 = "1xsjx4j6rwkq27y4iqdn0ai4yrq70a3g9309blywki0g976phccg";
-          };
+        else
+          if stdenv.system == "x86_64-linux" then
+            fetchurl {
+              url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-linux-x86_64.tar.bz2";
+              sha256 = "06mhvj8rx298j0mrijw48zfm28hqgy81vdr1vv0jp4ncxbvijfs7";
+            }
+          else # x86_64-darwin
+            fetchurl {
+              url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-macosx.zip";
+              sha256 = "0vsagvx181gnypi6kgmxp4br6hnvd81vyy3cbz5pxccdys7iywvj";
+            };
+
+  buildInputs = if stdenv.isDarwin then [ unzip ] else [];
 
-  buildPhase = ''
+  buildPhase = if stdenv.isDarwin then "" else ''
     patchelf \
       --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
       --set-rpath "${freetype}/lib:${fontconfig}/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${openssl}/lib" \
@@ -55,6 +63,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = ["i686-linux" "x86_64-linux" ];
+    platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/tools/profiling/oprofile/default.nix b/pkgs/development/tools/profiling/oprofile/default.nix
index c0056697743..e301fe8431a 100644
--- a/pkgs/development/tools/profiling/oprofile/default.nix
+++ b/pkgs/development/tools/profiling/oprofile/default.nix
@@ -6,11 +6,11 @@
 assert withGUI -> qt4 != null;
 
 stdenv.mkDerivation rec {
-  name = "oprofile-0.9.8";
+  name = "oprofile-0.9.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/oprofile/${name}.tar.gz";
-    sha256 = "1g31lwgpacql6w5z1z2f31pgwzn14rgsbh7kmmdmsgm2l47r0idb";
+    sha256 = "15vm24jhw4xfd55pfw1rlpzfsh4bl1vyjsajs78bi9xbv8038lhy";
   };
 
   patchPhase = ''
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
       is profiled: hardware and software interrupt handlers, kernel
       modules, the kernel, shared libraries, and applications.
     '';
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://oprofile.sourceforge.net/;
 
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index b6750f88937..457a5d1dcaa 100644
--- a/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/pkgs/development/tools/profiling/sysprof/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sysprof.com/;
     description = "Sysprof, a system-wide profiler for Linux";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
       Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 293ff66f29d..66dda8f43ef 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -1,9 +1,9 @@
-{ fetchurl, stdenv, linux, elfutils, latex2html, xmlto, docbook_xml_dtd_412
+{ fetchurl, stdenv, elfutils, latex2html, xmlto, docbook_xml_dtd_412
 , libxml2, docbook_xsl, libxslt, texLive, texLiveExtra, ghostscript, pkgconfig
 , gtkmm, libglademm, boost, perl, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "systemtap-1.2-${linux.version}";
+  name = "systemtap-1.2";
 
   src = fetchurl {
     url = "http://sources.redhat.com/systemtap/ftp/releases/${name}.tar.gz";
@@ -65,9 +65,10 @@ stdenv.mkDerivation rec {
 
     homepage = http://sourceware.org/systemtap/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/pydb/default.nix b/pkgs/development/tools/pydb/default.nix
index 23f0dea4453..baa816589ca 100644
--- a/pkgs/development/tools/pydb/default.nix
+++ b/pkgs/development/tools/pydb/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Python debugger with GDB-like commands and Emacs bindings";
     homepage = http://bashdb.sourceforge.net/pydb/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/tools/quilt/default.nix b/pkgs/development/tools/quilt/default.nix
new file mode 100644
index 00000000000..7ac4f6d39b7
--- /dev/null
+++ b/pkgs/development/tools/quilt/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgs}:
+
+with pkgs;
+
+stdenv.mkDerivation rec {
+  name = "quilt-0.63";
+
+  src = fetchurl {
+    url = "mirror://savannah/quilt/${name}.tar.gz";
+    sha256 = "2846788221aa8844c54f10239c7cbc5e88031859162bcc285449446c3cfffe52";
+  };
+
+  buildInputs = [ makeWrapper perl bash diffutils patch findutils diffstat ];
+
+  postInstall = ''
+    wrapProgram $out/bin/quilt --prefix PATH : \
+      ${perl}/bin:${bash}/bin:${diffstat}/bin:${diffutils}/bin:${findutils}/bin:${patch}/bin
+  '';
+
+  meta = {
+    homepage = http://savannah.nongnu.org/projects/quilt;
+    description = "Easily manage large numbers of patches";
+
+    longDescription = ''
+      Quilt allows you to easily manage large numbers of
+      patches by keeping track of the changes each patch
+      makes. Patches can be applied, un-applied, refreshed,
+      and more.
+    '';
+
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index bccaa70ead7..30430671342 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, cairo, fontconfig, freetype, gdk_pixbuf, glib
 , glibc, gtk, libX11, makeWrapper, nspr, nss, pango, unzip, gconf
-, libXrender, libXext
+, libXi, libXrender, libXext
 }:
 
 # note: there is a i686 version available as well
 assert stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
-  name = "chromedriver_linux64_2.0";
+  name = "chromedriver_linux64";
 
   src = fetchurl {
-    url = "http://chromedriver.googlecode.com/files/${name}.zip";
-    sha256 = "165dq5550fs6262qa2jnjvm9smwjvws2zkkz7z5v4ibfg2j3409m";
+    url = "http://chromedriver.storage.googleapis.com/2.10/${name}.zip";
+    sha256 = "1949lhrv4hrmgapvypsgwzyr75w7vpy7nkkkwjkjxn61dkwmx4jw";
   };
 
   buildInputs = [ unzip makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     mv chromedriver $out/bin
     patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
     wrapProgram "$out/bin/chromedriver" \
-      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:\$LD_LIBRARY_PATH"
+      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH"
   '';
 
   meta = with stdenv.lib; {
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     description = "A WebDriver server for running Selenium tests on Chrome";
     license = licenses.bsd3;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
new file mode 100644
index 00000000000..efb1e85c2d7
--- /dev/null
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "selenium-server-standalone-${version}";
+  version = "2.39.0";
+
+  src = fetchurl {
+    url = "https://selenium.googlecode.com/files/${name}.jar";
+    sha256 = "11ixh5x5f9kia2va8wssd3n7y57dkv3snw6xvk85y4qhzg64b65f";
+  };
+
+  unpack = "";
+
+  buildCommand = ''
+    mkdir -p $out/share/lib/${name}
+    cp $src $out/share/lib/${name}/${name}.jar
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://code.google.com/p/selenium;
+    description = "Selenium Server for remote WebDriver.";
+    maintainers = [ maintainers.coconnor ];
+    platforms = platforms.all;
+    hydraPlatforms = [];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/sigrok-cli/default.nix b/pkgs/development/tools/sigrok-cli/default.nix
new file mode 100644
index 00000000000..b2e6dea09e6
--- /dev/null
+++ b/pkgs/development/tools/sigrok-cli/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, libsigrok, libsigrokdecode }:
+
+stdenv.mkDerivation rec {
+  name = "sigrok-cli-0.5.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/sigrok-cli/${name}.tar.gz";
+    sha256 = "0g3jzspq9iwz2szzxil9ilim1and85qd605f4jbc04sva80hb8vk";
+  };
+
+  buildInputs = [ pkgconfig glib libsigrok libsigrokdecode ];
+
+  meta = with stdenv.lib; {
+    description = "Command-line frontend for the sigrok signal analysis software suite";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 0fe10a0003a..9741b0930d2 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,12 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="git-2013-10-31";
+    version="0.9.1";
     name="${baseName}-${version}";
-    hash="643a9d2f97f238bbd9debb17c010946d507a3b740079d9398939e7fdd70256b9";
-    url="https://github.com/laurentj/slimerjs";
-    rev="fdeb7364d3e29b47391ed0651176c1aedcb5277f";
-    sha256="643a9d2f97f238bbd9debb17c010946d507a3b740079d9398939e7fdd70256b9";
+    hash="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k";
+    url="http://download.slimerjs.org/v0.9/0.9.1/slimerjs-0.9.1.zip";
+    sha256="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k";
   };
   buildInputs = [
     unzip zip
@@ -17,12 +16,12 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   inherit buildInputs;
-  # src = fetchurl {
-  #   inherit (s) url sha256;
-  # };
-  src = fetchgit {
-    inherit (s) url sha256 rev;
-  };
+   src = fetchurl {
+     inherit (s) url sha256;
+   };
+  #src = fetchgit {
+  #  inherit (s) url sha256 rev;
+  #};
   preConfigure = ''
     test -d src && cd src
     test -f omni.ja || zip omni.ja -r */
diff --git a/pkgs/development/tools/sqsh/default.nix b/pkgs/development/tools/sqsh/default.nix
new file mode 100644
index 00000000000..a0f7922b1aa
--- /dev/null
+++ b/pkgs/development/tools/sqsh/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, freetds, readline }:
+
+stdenv.mkDerivation rec {
+  version = "2.5.16.1";
+  name = "sqsh-${version}";
+
+  src = fetchurl {
+    url = "http://www.mirrorservice.org/sites/downloads.sourceforge.net/s/sq/sqsh/sqsh/sqsh-2.5/${name}.tgz";
+    sha256 = "1wi0hdmhk7l8nrz4j3kaa177mmxyklmzhj7sq1gj4q6fb8v1yr6n";
+  };
+
+  preConfigure =
+    ''
+    export SYBASE=${freetds}
+    '';
+
+  buildInputs = [ 
+    freetds 
+    readline
+  ];
+
+  meta = {
+    description = "SQSH is command line tool for querying Sybase/MSSQL databases";
+    longDescription = 
+      ''
+      Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell),
+      it is intended as a replacement for the venerable 'isql' program supplied
+      by Sybase.
+      '';
+    homepage = "http://www.cs.washington.edu/~rose/sqsh/sqsh.html";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
new file mode 100644
index 00000000000..072b8eeff5c
--- /dev/null
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -0,0 +1,93 @@
+{ stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, rubyLibs, libiconv
+, libxml2, libxslt }:
+
+assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
+
+stdenv.mkDerivation rec {
+  name = "vagrant-1.6.3";
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_x86_64.deb;
+        sha256 = "1gmdg92dw7afnvpji0wg4nzr7vhk8mrmcqk3hcrkwscby2f2bhqg";
+      }
+    else
+      fetchurl {
+        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_i686.deb;
+        sha256 = "1z26b6yghqgx8jbi2igf4kk4h6rzy869gli2vj7ayl7vbqdfvb60";
+      };
+
+  meta = with stdenv.lib; {
+    description = "A tool for building complete development environments";
+    homepage    = http://vagrantup.com;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.linux;
+  };
+
+  unpackPhase = ''
+    ${dpkg}/bin/dpkg-deb -x ${src} .
+  '';
+
+  buildPhase = false;
+
+  installPhase = ''
+    sed -i "s|/opt|$out/opt|" usr/bin/vagrant
+
+    # overwrite embedded binaries
+
+    # curl: curl
+    rm opt/vagrant/embedded/bin/curl
+    ln -s ${curl}/bin/curl opt/vagrant/embedded/bin
+
+    # libarchive: bsdtar, bsdcpio
+    rm opt/vagrant/embedded/bin/{bsdtar,bsdcpio}
+    ln -s ${libarchive}/bin/bsdtar opt/vagrant/embedded/bin
+    ln -s ${libarchive}/bin/bsdcpio opt/vagrant/embedded/bin
+
+    # openssl: c_rehash, openssl
+    rm opt/vagrant/embedded/bin/{c_rehash,openssl}
+    ln -s ${openssl}/bin/c_rehash opt/vagrant/embedded/bin
+    ln -s ${openssl}/bin/openssl opt/vagrant/embedded/bin
+
+    # ruby: erb, gem, irb, rake, rdoc, ri, ruby, testrb
+    rm opt/vagrant/embedded/bin/{erb,gem,irb,rake,rdoc,ri,ruby,testrb}
+    ln -s ${ruby}/bin/erb opt/vagrant/embedded/bin
+    ln -s ${ruby}/bin/gem opt/vagrant/embedded/bin
+    ln -s ${ruby}/bin/irb opt/vagrant/embedded/bin
+    ln -s ${rubyLibs.rake}/bin/rake opt/vagrant/embedded/bin
+    ln -s ${ruby}/bin/rdoc opt/vagrant/embedded/bin
+    ln -s ${ruby}/bin/ri opt/vagrant/embedded/bin
+    ln -s ${ruby}/bin/ruby opt/vagrant/embedded/bin
+    ln -s ${ruby}/bin/testrb opt/vagrant/embedded/bin
+
+    # libiconv: iconv
+    rm opt/vagrant/embedded/bin/iconv
+    ln -s ${libiconv}/bin/iconv opt/vagrant/embedded/bin
+
+    # libxml: xml2-config, xmlcatalog, xmllint
+    rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint}
+    ln -s ${libxml2}/bin/xml2-config opt/vagrant/embedded/bin
+    ln -s ${libxml2}/bin/xmlcatalog opt/vagrant/embedded/bin
+    ln -s ${libxml2}/bin/xmllint opt/vagrant/embedded/bin
+
+    # libxslt: xslt-config, xsltproc
+    rm opt/vagrant/embedded/bin/{xslt-config,xsltproc}
+    ln -s ${libxslt}/bin/xslt-config opt/vagrant/embedded/bin
+    ln -s ${libxslt}/bin/xsltproc opt/vagrant/embedded/bin
+
+    mkdir -p "$out"
+    cp -r opt "$out"
+    cp -r usr/bin "$out"
+  '';
+
+  preFixup = ''
+    # 'hide' the template file from shebang-patching
+    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+  '';
+
+  postFixup = ''
+    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+  '';
+}
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
new file mode 100644
index 00000000000..6db164131f7
--- /dev/null
+++ b/pkgs/development/tools/watchman/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, config, fetchFromGitHub, autoconf, automake, pcre
+, confFile ? config.watchman.confFile or null
+}:
+
+stdenv.mkDerivation rec {
+  name = "watchman-${version}";
+
+  version = "2.9.8";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "watchman";
+    rev = "v${version}";
+    sha256 = "196d71ci7ki4p6xx49w55cqd0bqrx19nf79na3a91mrfa6f22sp6";
+  };
+
+  buildInputs = [ autoconf automake pcre ];
+
+  configureFlags = [
+      "--enable-lenient"
+      "--enable-conffile=${if confFile == null then "no" else confFile}"
+      "--with-pcre=yes"
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with lib; {
+    description = "Watches files and takes action when they change";
+    homepage    = https://facebook.github.io/watchman;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = with platforms; linux ++ darwin;
+    license     = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/yuicompressor/default.nix b/pkgs/development/tools/yuicompressor/default.nix
new file mode 100644
index 00000000000..1a5485af541
--- /dev/null
+++ b/pkgs/development/tools/yuicompressor/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "yuicompressor";
+  version = "2.4.8";
+  src = fetchurl {
+    url = "http://github.com/yui/yuicompressor/releases/download/v${version}/${name}-${version}.jar";
+    sha256 = "1qjxlak9hbl9zd3dl5ks0w4zx5z64wjsbk7ic73r1r45fasisdrh";
+  };
+
+  meta = {
+    description = "A JavaScript and CSS minifier";
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
+    platforms = stdenv.lib.platforms.all;
+    homepage = http://yui.github.io/yuicompressor/;
+    license = stdenv.lib.licenses.bsd3;
+  };
+
+  buildCommand = ''
+    mkdir -p $out/lib
+    ln -s $src $out/lib/yuicompressor.jar
+  '';
+}
diff --git a/pkgs/development/web/csslint/default.nix b/pkgs/development/web/csslint/default.nix
index 668ff6a7f4a..4a6cdc3aa34 100644
--- a/pkgs/development/web/csslint/default.nix
+++ b/pkgs/development/web/csslint/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, nodejs }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
+  version = "0.10.0";
   name = "csslint-${version}";
 
   src = fetchurl {
     url = "http://registry.npmjs.org/csslint/-/${name}.tgz";
-    sha256 = "ee7a79c8f2af1c228d4b7869b6681d0d02a93568774dbf51c7a45aa1ffa1da14";
+    sha256 = "1gq2x0pf2p4jhccvn3y3kjhm1lmb4jsfdbzjdh924w8m3sr9jdid";
   };
 
   # node is the interpreter used to run this script
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index 217c81d4317..84b0da1674c 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -1,6 +1,6 @@
 { stdenv, runCommand, nodejs, neededNatives}:
 
-args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], ... }:
+args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], preShellHook ? "",  postShellHook ? "", ... }:
 
 with stdenv.lib;
 
@@ -8,29 +8,36 @@ let
   npmFlags = concatStringsSep " " (map (v: "--${v}") flags);
 
   sources = runCommand "node-sources" {} ''
-    tar xf ${nodejs.src}
+    tar --no-same-owner -xf ${nodejs.src}
     mv *node* $out
   '';
+
+  peerDeps = listToAttrs (concatMap (dep: map (name: {
+    inherit name;
+    value = dep;
+  }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
 in
 stdenv.mkDerivation ({
   unpackPhase = "true";
 
+  inherit src;
+
   configurePhase = ''
     runHook preConfigure
     mkdir node_modules
     ${concatStrings (concatMap (dep: map (name: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
     '') dep.names) deps)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     export HOME=$(pwd)
     runHook postConfigure
   '';
 
   buildPhase = ''
     runHook preBuild
-    npm --registry http://www.example.com --nodedir=${sources} install ${concatStringsSep " " src} ${npmFlags}
+    npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
     runHook postBuild
   '';
 
@@ -51,9 +58,9 @@ stdenv.mkDerivation ({
         done
       fi
     '') args.passthru.names)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       mv node_modules/${name} $out/lib/node_modules
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
     mv node_modules $out/.dependent-node-modules
     if [ -d "$out/lib/node_modules/.bin" ]; then
@@ -73,6 +80,16 @@ stdenv.mkDerivation ({
   preFixup = concatStringsSep "\n" (map (src: ''
     find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
   '') src);
+
+  shellHook = ''
+    ${preShellHook}
+    export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
+    mkdir -p node_modules
+    ${concatStrings (concatMap (dep: map (name: ''
+      ln -sfv ${dep}/lib/node_modules/${name} node_modules/
+    '') dep.names) deps)}
+    ${postShellHook}
+  '';
 } // args // {
   # Run the node setup hook when this package is a build input
   propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 62665fe4935..57968bfe8f4 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http_parser, c-ares, pkgconfig, runCommand }:
+{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares, pkgconfig, runCommand, which }:
 
 let
   dtrace = runCommand "dtrace-native" {} ''
@@ -6,13 +6,16 @@ let
     ln -sv /usr/sbin/dtrace $out/bin
   '';
 
-  version = "0.10.21";
+  version = "0.10.30";
 
   # !!! Should we also do shared libuv?
   deps = {
-    inherit v8 openssl zlib;
+    inherit openssl zlib http-parser;
     cares = c-ares;
-    http-parser = http_parser;
+
+    # disabled system v8 because v8 3.14 no longer receives security fixes
+    # we fall back to nodejs' internal v8 copy which receives backports for now
+    # inherit v8
   };
 
   sharedConfigureFlags = name: [
@@ -27,7 +30,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "038l4j0ilrsmc6m2z2qprqs82z7p4940scb8597hcmhp5kr5n4kw";
+    sha256 = "1li5hs8dada2lj9j82xas39kr1fs0wql9qbly5p2cpszgwqbvz1x";
   };
 
   configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
@@ -52,6 +55,6 @@ in stdenv.mkDerivation {
     homepage = http://nodejs.org;
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu maintainers.shlevy ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/web/nodejs/no-xcode.patch b/pkgs/development/web/nodejs/no-xcode.patch
index 47a37bfaf3c..e88168b68a7 100644
--- a/pkgs/development/web/nodejs/no-xcode.patch
+++ b/pkgs/development/web/nodejs/no-xcode.patch
@@ -1,78 +1,93 @@
-diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
-index 806f92b..5256856 100644
---- a/tools/gyp/pylib/gyp/xcode_emulation.py
-+++ b/tools/gyp/pylib/gyp/xcode_emulation.py
-@@ -224,8 +224,7 @@ class XcodeSettings(object):
+diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
+--- a/tools/gyp/pylib/gyp/xcode_emulation.py	2014-01-23 06:05:51.000000000 +0100
++++ b/tools/gyp/pylib/gyp/xcode_emulation.py	2014-02-04 17:49:48.000000000 +0100
+@@ -302,10 +302,17 @@
  
-   def _GetSdkVersionInfoItem(self, sdk, infoitem):
-     job = subprocess.Popen(['xcodebuild', '-version', '-sdk', sdk, infoitem],
--                           stdout=subprocess.PIPE,
--                           stderr=subprocess.STDOUT)
-+                           stdout=subprocess.PIPE)
-     out = job.communicate()[0]
-     if job.returncode != 0:
-       sys.stderr.write(out + '\n')
-@@ -234,9 +233,17 @@ class XcodeSettings(object):
- 
-   def _SdkPath(self):
-     sdk_root = self.GetPerTargetSetting('SDKROOT', default='macosx')
-+    if sdk_root.startswith('/'):
-+      return sdk_root
+   def _XcodeSdkPath(self, sdk_root):
      if sdk_root not in XcodeSettings._sdk_path_cache:
--      XcodeSettings._sdk_path_cache[sdk_root] = self._GetSdkVersionInfoItem(
--          sdk_root, 'Path')
+-      sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path')
+-      XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
+-      if sdk_root:
+-        XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
 +      try:
-+        XcodeSettings._sdk_path_cache[sdk_root] = self._GetSdkVersionInfoItem(
-+            sdk_root, 'Path')
++        sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path')
++        XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
++        if sdk_root:
++          XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
 +      except:
 +        # if this fails it's because xcodebuild failed, which means
 +        # the user is probably on a CLT-only system, where there
 +        # is no valid SDK root
 +        XcodeSettings._sdk_path_cache[sdk_root] = None
++        
      return XcodeSettings._sdk_path_cache[sdk_root]
  
    def _AppendPlatformVersionMinFlags(self, lst):
-@@ -339,10 +346,11 @@ class XcodeSettings(object):
- 
-     cflags += self._Settings().get('WARNING_CFLAGS', [])
- 
+@@ -420,10 +427,12 @@
+       framework_root = sdk_root
+     else:
+       framework_root = ''
 -    config = self.spec['configurations'][self.configname]
 -    framework_dirs = config.get('mac_framework_dirs', [])
 -    for directory in framework_dirs:
--      cflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
+-      cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
++    
 +    if 'SDKROOT' in self._Settings():
 +      config = self.spec['configurations'][self.configname]
 +      framework_dirs = config.get('mac_framework_dirs', [])
 +      for directory in framework_dirs:
-+        cflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
++        cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
  
      self.configname = None
      return cflags
-@@ -572,10 +580,11 @@ class XcodeSettings(object):
-     for rpath in self._Settings().get('LD_RUNPATH_SEARCH_PATHS', []):
-       ldflags.append('-Wl,-rpath,' + rpath)
- 
+@@ -673,10 +682,12 @@
+     sdk_root = self._SdkPath()
+     if not sdk_root:
+       sdk_root = ''
 -    config = self.spec['configurations'][self.configname]
 -    framework_dirs = config.get('mac_framework_dirs', [])
 -    for directory in framework_dirs:
--      ldflags.append('-F' + directory.replace('$(SDKROOT)', self._SdkPath()))
+-      ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
++    
 +    if 'SDKROOT' in self._Settings():
 +      config = self.spec['configurations'][self.configname]
 +      framework_dirs = config.get('mac_framework_dirs', [])
 +      for directory in framework_dirs:
-+        ldflags.append('-F' + directory.replace('$(SDKROOT)', self._SdkPath()))
++        ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
  
      self.configname = None
      return ldflags
-@@ -700,7 +709,10 @@ class XcodeSettings(object):
-         l = '-l' + m.group(1)
-       else:
-         l = library
--    return l.replace('$(SDKROOT)', self._SdkPath())
+@@ -863,7 +874,11 @@
+     sdk_root = self._SdkPath(config_name)
+     if not sdk_root:
+       sdk_root = ''
+-    return l.replace('$(SDKROOT)', sdk_root)
++    
 +    if self._SdkPath():
-+      return l.replace('$(SDKROOT)', self._SdkPath())
++      return l.replace('$(SDKROOT)', sdk_root)
 +    else:
 +      return l
  
-   def AdjustLibraries(self, libraries):
+   def AdjustLibraries(self, libraries, config_name=None):
      """Transforms entries like 'Cocoa.framework' in libraries into entries like
+@@ -1018,12 +1033,16 @@
+     # Since the value returned by this function is only used when ARCHS is not
+     # set, then on iOS we return "i386", as the default xcode project generator
+     # does not set ARCHS if it is not set in the .gyp file.
+-    if self.isIOS:
++    
++    try:
++      if self.isIOS:
++        return 'i386'
++      version, build = self._XcodeVersion()
++      if version >= '0500':
++        return 'x86_64'
+       return 'i386'
+-    version, build = self._XcodeVersion()
+-    if version >= '0500':
++    except:
+       return 'x86_64'
+-    return 'i386'
+ 
+ class MacPrefixHeader(object):
+   """A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
new file mode 100644
index 00000000000..08987617334
--- /dev/null
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, lib, fetchgit, fetchurl, nodejs, nodePackages }:
+
+with lib;
+
+let
+
+  # highlight.js is a git submodule of remark
+  highlightjs = fetchgit {
+    url = https://github.com/isagalaev/highlight.js;
+    rev = "10b9500b67983f0a9c42d8ce8bf8e8c469f7078c";
+    sha256 = "1yy8by15kfklw8lwh17z1swpj067q0skjjih12yawbryraig41m0";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "remarkjs-${version}";
+
+  version = "0.6.5";
+
+  src = fetchurl {
+    url = "https://github.com/gnab/remark/archive/v${version}.tar.gz";
+    sha256 = "1bh3hmhq99qqd3qg747xwjqkyppc9vf3b5nhi56556rwc02cn17p";
+  };
+
+  buildInputs = with nodePackages; [
+    nodejs
+    marked
+    browserify
+    uglify-js
+    less
+    mocha
+    mocha-phantomjs
+    phantomjs
+    should
+    sinon
+    jshint
+    shelljs
+  ];
+
+  configurePhase = ''
+    mkdir -p node_modules/.bin
+    ${concatStrings (map (dep: ''
+      test -d ${dep}/bin && (for b in $(ls ${dep}/bin); do
+        ln -sv -t node_modules/.bin ${dep}/bin/$b
+      done)
+    '') buildInputs)}
+  '';
+
+  buildPhase = ''
+    substituteInPlace make.js --replace "target.test();" ""
+    substituteInPlace make.js --replace vendor/highlight.js ${highlightjs}
+    node make all
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v out/* $out/lib/
+  '';
+
+  meta = {
+    homepage = http://remarkjs.com;
+    description = "A simple, in-browser, markdown-driven slideshow tool.";
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/web/xmlindent/default.nix b/pkgs/development/web/xmlindent/default.nix
new file mode 100644
index 00000000000..f0966357d93
--- /dev/null
+++ b/pkgs/development/web/xmlindent/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, flex }:
+
+stdenv.mkDerivation rec {
+  name = "xmlindent-${version}";
+  version = "0.2.17";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/xmlindent/xmlindent/${version}/${name}.tar.gz";
+    sha256 = "0k15rxh51a5r4bvfm6c4syxls8al96cx60a9mn6pn24nns3nh3rs";
+  };
+
+  buildInputs = [ flex ];
+
+  preConfigure = ''
+    substituteInPlace Makefile --replace "PREFIX=/usr/local" "PREFIX=$out"
+  '';
+
+  meta = {
+    description = "XML stream reformatter";
+    homepage = http://xmlindent.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+  };
+}
diff --git a/pkgs/games/0ad/data.nix b/pkgs/games/0ad/data.nix
new file mode 100644
index 00000000000..6f3c85183da
--- /dev/null
+++ b/pkgs/games/0ad/data.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, version, releaseType }:
+
+stdenv.mkDerivation rec {
+  name = "0ad-data-${version}";
+
+  src = fetchurl {
+    url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-data.tar.xz";
+    sha256 = "0f16d41e81d7349fb16490f3abbfd38bcb3f2b89648355b2b281c5045ddafadc";
+  };
+
+  patchPhase = ''
+    rm binaries/data/tools/fontbuilder/fonts/*.txt
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/0ad
+    cp -r binaries/data/* $out/share/0ad/
+  '';
+}
diff --git a/pkgs/games/0ad/default.nix b/pkgs/games/0ad/default.nix
new file mode 100644
index 00000000000..78b76f1ac36
--- /dev/null
+++ b/pkgs/games/0ad/default.nix
@@ -0,0 +1,121 @@
+{ stdenv, callPackage, fetchurl, python27
+, pkgconfig, spidermonkey_24, boost, icu, libxml2, libpng
+, libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
+, openalSoft, mesa, xproto, libX11, libXcursor, nspr, SDL
+, gloox, nvidia-texture-tools
+, withEditor ? true, wxGTK ? null
+}:
+
+assert withEditor -> wxGTK != null;
+
+let
+  version = "0.0.16";
+
+  releaseType = "alpha";
+
+  zeroadData = callPackage ./data.nix { inherit version releaseType; };
+
+  archForPremake =
+    if stdenv.lib.hasPrefix "x86_64-" stdenv.system then "x64" else
+    if stdenv.lib.hasPrefix "i686-" stdenv.system then "x32" else "ERROR";
+
+in
+stdenv.mkDerivation rec {
+  name = "0ad-${version}";
+
+  src = fetchurl {
+    url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-build.tar.xz";
+    sha256 = "cb965ef7e292bc3a2f1f598a9695e16ff4d786398f384a1ec7d5f9bfe2626de5";
+  };
+
+  buildInputs = [
+    zeroadData python27 pkgconfig spidermonkey_24 boost icu
+    libxml2 libpng libjpeg zlib curl libogg libvorbis enet
+    miniupnpc openalSoft mesa xproto libX11 libXcursor nspr
+    SDL gloox nvidia-texture-tools
+  ] ++ stdenv.lib.optional withEditor wxGTK;
+
+  NIX_CFLAGS_COMPILE = [
+    "-I${xproto}/include/X11"
+    "-I${libX11}/include/X11"
+    "-I${libXcursor}/include/X11"
+  ];
+
+  configurePhase = ''
+    # Delete shipped libraries which we don't need.
+    rm -rf libraries/source/{enet,miniupnpc,nvtt,spidermonkey}
+
+    # Build shipped premake.
+    make -C build/premake/premake4/build/gmake.unix
+
+    # Run premake.
+    pushd build/premake
+    ./premake4/bin/release/premake4 \
+      --file="premake4.lua" \
+      --outpath="../workspaces/gcc/" \
+      --platform=${archForPremake} \
+      --os=linux \
+      --with-system-nvtt \
+      --with-system-enet \
+      --with-system-miniupnpc \
+      --with-system-mozjs24 \
+      ${ if withEditor then "--atlas" else "" } \
+      --collada \
+      --bindir="$out"/bin \
+      --libdir="$out"/lib/0ad \
+      --datadir="$out"/share/0ad \
+      gmake
+    popd
+  '';
+
+  buildPhase = ''
+    # Build bundled fcollada.
+    make -C libraries/source/fcollada/src
+
+    # Build 0ad.
+    make -C build/workspaces/gcc verbose=1
+  '';
+
+  installPhase = ''
+    # Copy executables.
+    mkdir -p "$out"/bin
+    cp binaries/system/pyrogenesis "$out"/bin/
+    ((${ toString withEditor })) && cp binaries/system/ActorEditor "$out"/bin/
+
+    # Copy l10n data.
+    mkdir -p "$out"/share/0ad
+    cp -r binaries/data/l10n "$out"/share/0ad/
+
+    # Copy libraries.
+    mkdir -p "$out"/lib/0ad
+    cp binaries/system/libCollada.so "$out"/lib/0ad/
+    ((${ toString withEditor })) && cp binaries/system/libAtlasUI.so "$out"/lib/0ad/
+
+    # Create links to data files.
+    ln -s -t "$out"/share/0ad "${zeroadData}"/share/0ad/*
+
+    # Copy icon.
+    mkdir -p "$out"/share/icons
+    cp build/resources/0ad.png "$out"/share/icons/
+
+    # Copy/fix desktop item.
+    mkdir -p "$out"/share/applications
+    while read LINE; do
+      if [[ $LINE = "Exec=0ad" ]]; then
+        echo "Exec=$out/bin/pyrogenesis"
+      elif [[ $LINE = "Icon=0ad" ]]; then
+        echo "Icon=$out/share/icons/0ad.png"
+      else
+        echo "$LINE"
+      fi
+    done <build/resources/0ad.desktop >"$out"/share/applications/0ad.desktop
+  '';
+
+  meta = {
+    description = "A free, open-source game of ancient warfare";
+    homepage = "http://wildfiregames.com/0ad/";
+    license = [ "GPLv2" "LGPLv2.1" "MIT" "CC BY-SA 3.0" "zlib" ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    broken = true;
+  };
+}
diff --git a/pkgs/games/Allure/default.nix b/pkgs/games/Allure/default.nix
new file mode 100644
index 00000000000..532ef092f09
--- /dev/null
+++ b/pkgs/games/Allure/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, enummapsetTh, filepath, LambdaHack, text }:
+
+cabal.mkDerivation (self: {
+  pname = "Allure";
+  version = "0.4.99.0";
+  sha256 = "1i4v1h4ynx4aap0nmf8qn2qx22wqfgypr83l7bh38fd4qibsvx3q";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ enummapsetTh filepath LambdaHack text ];
+  testDepends = [ enummapsetTh filepath LambdaHack text ];
+  meta = {
+    homepage = "http://allureofthestars.com";
+    description = "Near-future Sci-Fi roguelike and tactical squad game";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index 4f276d50105..eb4edf2b36a 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -1,23 +1,33 @@
-{ cabal, binary, ConfigFile, deepseq, enummapset, filepath, gtk
-, hashable, keys, miniutter, mtl, random, stm, text, transformers
-, unorderedContainers, zlib
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, assertFailure, async, binary, deepseq, enummapsetTh
+, filepath, gtk, hashable, hsini, keys, miniutter, mtl, prettyShow
+, random, stm, text, transformers, unorderedContainers, vector
+, vectorBinaryInstances, x11, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "LambdaHack";
-  version = "0.2.8";
-  sha256 = "0dwv6ljigwc46czyivn4ivszfiykvhjx6n4agv7lwx8faan7kax3";
+  version = "0.4.99.0";
+  sha256 = "1mcz44akf706a0q1xr4h7hlf1gj60570bi8im6jpg73k728314cp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary ConfigFile deepseq enummapset filepath gtk hashable keys
-    miniutter mtl random stm text transformers unorderedContainers zlib
+    assertFailure async binary deepseq enummapsetTh filepath gtk
+    hashable hsini keys miniutter mtl prettyShow random stm text
+    transformers unorderedContainers vector vectorBinaryInstances zlib
+  ];
+  testDepends = [
+    assertFailure async binary deepseq enummapsetTh filepath hashable
+    hsini keys miniutter mtl prettyShow random stm text transformers
+    unorderedContainers vector vectorBinaryInstances zlib
   ];
+  pkgconfigDepends = [ gtk x11 ];
   meta = {
-    homepage = "http://github.com/kosmikus/LambdaHack";
-    description = "A roguelike game engine in early and active development";
+    homepage = "http://github.com/LambdaHack/LambdaHack";
+    description = "A game engine library for roguelike dungeon crawlers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/games/MazesOfMonad/default.nix b/pkgs/games/MazesOfMonad/default.nix
deleted file mode 100644
index 0e2abf6d7c7..00000000000
--- a/pkgs/games/MazesOfMonad/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, filepath, HUnit, mtl, random, regexPosix, time }:
-
-cabal.mkDerivation (self: {
-  pname = "MazesOfMonad";
-  version = "1.0.7";
-  sha256 = "1zk6bckll03b40iq8z13753glkmcan6439w8cc6rn5h2fhp189v9";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ filepath HUnit mtl random regexPosix time ];
-  meta = {
-    description = "Console-based Role Playing Game";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
new file mode 100644
index 00000000000..e83f50df1b7
--- /dev/null
+++ b/pkgs/games/adom/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, patchelf, zlib, libmad, libpng12, libcaca, mesa, alsaLib, pulseaudio
+, xlibs, plowshare }:
+
+let
+
+  inherit (xlibs) libXext libX11;
+
+  lpath = "${stdenv.gcc.gcc}/lib64:" + stdenv.lib.makeSearchPath "lib" [
+      zlib libmad libpng12 libcaca libXext libX11 mesa alsaLib pulseaudio];
+
+in
+assert stdenv.is64bit;
+stdenv.mkDerivation rec {
+
+  name = "adom-1.2.0-noteye";
+
+  # couldn't make fetchurl appear non-robot, even with --user-agent
+  src = stdenv.mkDerivation {
+    name = "adom-1.2.0-noteye.tar.gz";
+    buildCommand = ''
+      ${plowshare}/bin/plowdown "http://www30.zippyshare.com/v/39200582/file.html"
+      F=`ls *tar.gz`
+      mv $F $out
+    '';
+    outputHashAlgo = "sha256";
+    outputHash = "1f825845d5007e676a4d1a3ccd887904b959bdddbcb9f241c42c2dac34037669";
+  };
+
+  buildCommand = ''
+    . $stdenv/setup
+
+    unpackPhase
+
+    mkdir -pv $out
+    cp -r -t $out adom/*
+
+    chmod u+w $out/lib
+    for l in $out/lib/*so* ; do
+      chmod u+w $l
+      ${patchelf}/bin/patchelf \
+        --set-rpath "$out/lib:${lpath}" \
+        $l
+    done
+
+    ${patchelf}/bin/patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath "$out/lib:${lpath}" \
+      $out/adom
+
+    mkdir $out/bin
+    cat >$out/bin/adom <<EOF
+    #! ${stdenv.shell}
+    (cd $out; $out/adom ; )
+    EOF
+    chmod +x $out/bin/adom
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A rogue-like game with nice graphical interface";
+    homepage = http://adom.de/;
+    license = licenses.unfreeRedistributable;
+    maintainers = [maintainers.smironov];
+
+    # Please, notify me (smironov) if you need the x86 version
+    platforms = ["x86_64-linux"];
+  };
+}
+
+
diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix
index d9852971adf..b3c2dd14718 100644
--- a/pkgs/games/alienarena/default.nix
+++ b/pkgs/games/alienarena/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     # Engine is under GPLv2, everything else is under
     license = [ "unfree-redistributable" ];
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/andyetitmoves/default.nix b/pkgs/games/andyetitmoves/default.nix
index cf3f6e1563b..ae04c57aa26 100644
--- a/pkgs/games/andyetitmoves/default.nix
+++ b/pkgs/games/andyetitmoves/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   phases = "unpackPhase installPhase";
 
   installPhase = ''
-    ensureDir $out/{opt/andyetitmoves,bin}
+    mkdir -p $out/{opt/andyetitmoves,bin}
     cp -r * $out/opt/andyetitmoves/
 
     fullPath=${stdenv.gcc.gcc}/lib64
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.andyetitmoves.net/;
 
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
 
     maintainers = with stdenv.lib.maintainers; [bluescreen303];
   };
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index 7437e2e2262..1925c73b2e4 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -6,13 +6,13 @@
 
 let
     py = pythonPackages;
+    version = "2.0.28";
 in
-
 stdenv.mkDerivation rec {
-    name = "anki-2.0.12";
+    name = "anki-${version}";
     src = fetchurl {
       url = "http://ankisrs.net/download/mirror/${name}.tgz";
-      sha256 = "1pccws3rgfpyxdx5xph5x72c4a46is0alfz73icn9ppgjdizzipr";
+      sha256 = "0dj33mlc23y982kcl4h0aganb4fy70rl28mpj2mbcfphykzkv05s";
     };
 
     pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ]
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
         decrease your time spent studying, or greatly increase the amount you learn.
 
         Anyone who needs to remember things in their daily life can benefit from
-        Anki. Since it is content-agnostic and supports images, audio, videos and 
+        Anki. Since it is content-agnostic and supports images, audio, videos and
         scientific markup (via LaTeX), the possibilities are endless. For example:
 
         * learning a language
@@ -65,7 +65,8 @@ stdenv.mkDerivation rec {
         * mastering long poems
         * even practicing guitar chords!
       '';
-      license = "GPLv3";
+      license = stdenv.lib.licenses.gpl3;
+      maintainers = with stdenv.lib.maintainers; [ the-kenny ];
       platforms = stdenv.lib.platforms.mesaPlatforms;
     };
 }
diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix
index 86cf929aede..93297171bcb 100644
--- a/pkgs/games/asc/default.nix
+++ b/pkgs/games/asc/default.nix
@@ -10,6 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "1r011l4gsliky6szjvda8xzyhkkc50ahrr7p14911v5ydar0w3hh";
   };
 
+  configureFlags = [ "--disable-paragui" "--disable-paraguitest" ];
+
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # I'm too lazy to catch all gcc47-related problems
+
   buildInputs = [
     SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost expat freetype
     libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng
@@ -26,7 +30,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.asc-hq.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
new file mode 100644
index 00000000000..a2897a795e8
--- /dev/null
+++ b/pkgs/games/astromenace/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv, cmake, x11, mesa, SDL, openal, freealut, libogg, libvorbis }:
+
+stdenv.mkDerivation rec {
+  version = "1.3.2";
+  name = "astromenace-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/openastromenace/astromenace-src-${version}.tar.bz2";
+    sha256 = "1rkz6lwjcd5mwv72kf07ghvx6z46kf3xs250mjbmnmjpn7r5sxwv";
+  };
+
+  buildInputs = [ cmake x11 mesa SDL openal freealut libogg libvorbis ];
+
+  buildPhase = ''
+    cmake ./
+    make
+    ./AstroMenace --pack --rawdata=../RAW_VFS_DATA
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp AstroMenace $out
+    cp gamedata.vfs $out
+    cat > $out/bin/AstroMenace << EOF 
+    #!/bin/bash
+    $out/AstroMenace --dir=$out
+    EOF
+    chmod 755 $out/bin/AstroMenace
+  '';
+
+  meta = {
+    description = "Hardcore 3D space shooter with spaceship upgrade possibilities.";
+    homepage = http://www.viewizard.com/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/games/atanks/default.nix b/pkgs/games/atanks/default.nix
index 211e388b871..587fefe600b 100644
--- a/pkgs/games/atanks/default.nix
+++ b/pkgs/games/atanks/default.nix
@@ -11,17 +11,17 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="atanks";
-    version="4.7";
+    version = "6.0";
     name="${baseName}-${version}";
     project="${baseName}";
     url="mirror://sourceforge/project/${project}/${baseName}/${name}/${name}.tar.gz";
-    hash="0kd98anwb785irv4qm1gqpk2xnh1q0fxnfazkjqpwjvgrliyj2rh";
+    sha256 = "0460zwzd800vcgsmd1dzb7j5wcy3lf9hsdw152f6p2mbd0nq5pds";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   inherit (sourceInfo) name version;
@@ -35,6 +35,7 @@ rec {
   fixInstall = a.fullDepEntry (''
     sed -e "s@INSTALL=.*bin/install @INSTALL=install @" -i Makefile
     sed -e "s@-g 0 -m ... -o 0@@" -i Makefile
+    sed -e 's@/usr/@'"$out"'@g' -i Makefile
   '') ["doUnpack" "minInit"];
       
   meta = {
@@ -45,11 +46,8 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/atanks/files/atanks/";
-    };
+    downloadPage = "http://sourceforge.net/projects/atanks/files/atanks/";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/games/atanks/default.upstream b/pkgs/games/atanks/default.upstream
new file mode 100644
index 00000000000..f52364b3427
--- /dev/null
+++ b/pkgs/games/atanks/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/atanks/files/atanks/
+version_link 'atanks[-][0-9.]+/$'
+version_link '[.]tar[.][a-z0-9]+/download'
+SF_redirect
+do_overwrite () { do_overwrite_just_version; }
diff --git a/pkgs/games/ball-and-paddle/default.nix b/pkgs/games/ball-and-paddle/default.nix
index c923f089405..4a7eb9376da 100644
--- a/pkgs/games/ball-and-paddle/default.nix
+++ b/pkgs/games/ball-and-paddle/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       with Guile.  Follow the example level sets and the documentation.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/ballandpaddle/;
 
diff --git a/pkgs/games/banner/default.nix b/pkgs/games/banner/default.nix
index 3bb17b3e02f..b4e61b6d1d1 100644
--- a/pkgs/games/banner/default.nix
+++ b/pkgs/games/banner/default.nix
@@ -37,7 +37,7 @@ mkDerivation "banner-1.3.2" "0dc0ac0667b2e884a7f5ad3e467af68cd0fd5917f8c9aa19188
   meta = {
     homepage = "http://shh.thathost.com/pub-unix/";
     description = "print large banners to ASCII terminals";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       An implementation of the traditional Unix-program used to display
diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix
index 252f881c375..57cd67fbb7b 100644
--- a/pkgs/games/bitsnbots/default.nix
+++ b/pkgs/games/bitsnbots/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Simple puzzle game with moving robots";
     homepage = "http://moikmellah.org/blog/?page_id=19";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/games/blackshadeselite/default.nix b/pkgs/games/blackshadeselite/default.nix
index 0f4904bfed9..d7e2cf4894d 100644
--- a/pkgs/games/blackshadeselite/default.nix
+++ b/pkgs/games/blackshadeselite/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://home.gna.org/blackshadeselite/;
     description = "Fork of Black Shades";
-    license = "GPLv2+"; # Says its gna.org project page
+    license = stdenv.lib.licenses.gpl2Plus; # Says its gna.org project page
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index faf7366f249..801b7ea7277 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -1,17 +1,18 @@
-{stdenv, fetchurl, SDL, SDL_image, mesa, cmake, physfs, boost, zip, zlib}:
+{stdenv, fetchurl, SDL2, SDL2_image, mesa, cmake, physfs, boost, zip, zlib
+, pkgconfig}:
 stdenv.mkDerivation rec {
-  version = "1.0-rc3";
+  version = "1.0";
   name = "blobby-volley-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/blobby/Blobby%20Volley%202%20%28Linux%29/1.0RC3/blobby2-linux-1.0rc3.tar.gz";
-    sha256 = "10f50b2ygw8cb9mp33wpdwv9p6lc10qlwc1xd44bbcby1d9v5ga5";
+    url = "http://softlayer-ams.dl.sourceforge.net/project/blobby/Blobby%20Volley%202%20%28Linux%29/1.0/blobby2-linux-1.0.tar.gz";
+    sha256 = "1qpmbdlyhfbrdsq4vkb6cb3b8mh27fpizb71q4a21ala56g08yms";
   };
 
-  buildInputs = [SDL SDL_image mesa cmake physfs boost zip zlib];
+  buildInputs = [SDL2 SDL2_image mesa cmake physfs boost zip zlib pkgconfig];
 
-  preConfigure = ''
-    sed -re '1i#include <cassert>' -i src/CrossCorrelation.h
+  preConfigure=''
+    sed -e '1i#include <iostream>' -i src/NetworkMessage.cpp
   '';
 
   meta = {
@@ -19,5 +20,8 @@ stdenv.mkDerivation rec {
     license = with stdenv.lib.licenses; bsd3;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
+    homepage = "http://blobby.sourceforge.net/";
+    downloadPage = "http://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/";
+    inherit version;
   };
 }
diff --git a/pkgs/games/blobby/default.upstream b/pkgs/games/blobby/default.upstream
new file mode 100644
index 00000000000..e9ab417f5d2
--- /dev/null
+++ b/pkgs/games/blobby/default.upstream
@@ -0,0 +1,8 @@
+url http://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/
+SF_version_dir
+version_link '[.]tar[.][^.]+/download$'
+SF_redirect
+do_overwrite(){
+  do_overwrite_just_version
+  set_var_value url $CURRENT_URL
+}
diff --git a/pkgs/games/btanks/default.nix b/pkgs/games/btanks/default.nix
index 085c7c4082c..46f5b3d0183 100644
--- a/pkgs/games/btanks/default.nix
+++ b/pkgs/games/btanks/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sourceforge.net/projects/btanks/;
     description = "Fast 2d tank arcade game";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index d15c25cef3c..0798173a64d 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, curl, SDL, mesa, glew, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "bzflag-2.0.16";
+  name = "bzflag-2.4.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/bzflag/bzflag-2.0.16.tar.bz2;
-    sha256 = "13v0ibiyq59j3xf23yf7s8blkmacagl8w48v2580k5bzkswa0vzy";
+    url = mirror://sourceforge/bzflag/bzflag-2.4.2.tar.bz2;
+    sha256 = "04f8c83hfwwh4i74gxqqdbgc2r5hn9ayam986py3jjychhicaysg";
   };
 
   buildInputs = [ curl SDL mesa glew ncurses ];
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Multiplayer 3D Tank game";
     homepage = http://bzflag.org/;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/games/chessdb/default.nix b/pkgs/games/chessdb/default.nix
new file mode 100644
index 00000000000..381e35632a6
--- /dev/null
+++ b/pkgs/games/chessdb/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, tcl, tk, libX11, makeWrapper }:
+
+stdenv.mkDerivation {
+  name = "chessdb-3.6.19-beta-1";
+  
+  src = fetchurl {
+    url = mirror://sourceforge/chessdb/ChessDB-3.6.19-beta-1.tar.gz;
+    sha256 = "0brc3wln3bxp979iqj2w1zxpfd0pch8zzazhdmwf7acww4hrsz62";
+  };
+
+  buildInputs = [ tcl tk libX11 makeWrapper ];
+
+  makeFlags = [
+    "BINDIR=$(out)/bin"
+    "SHAREDIR=$(out)/share/chessdb"
+    "SOUNDSDIR=$(out)/share/chessdb/sounds"
+    "TBDIR=$(out)/share/chessdb/tablebases"
+    "MANDIR=$(out)/man"
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/chessdb --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
+  '';
+
+  meta = {
+    homepage = http://chessdb.sourceforge.net/;
+    description = "ChessDB is a free chess database";
+  };
+}
diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix
index 4de74bde5a1..57d055ed3d3 100644
--- a/pkgs/games/construo/default.nix
+++ b/pkgs/games/construo/default.nix
@@ -25,6 +25,5 @@ stdenv.mkDerivation rec {
 		(textClosure localDefs ["preConfigure" "doConfigure" "doMakeInstall" "doForceShare" "doPropagate"]);
 	meta = {
 		description = "Construo masses and springs simulation";
-		inherit src;
 	};
 }
diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix
index 99bf2d41fd6..538efebf833 100644
--- a/pkgs/games/crack-attack/default.nix
+++ b/pkgs/games/crack-attack/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     description = "A fast-paced puzzle game inspired by the classic Super NES title Tetris Attack!";
     homepage = http://www.nongnu.org/crack-attack/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.piotr ];
   };
diff --git a/pkgs/games/crafty/default.nix b/pkgs/games/crafty/default.nix
new file mode 100644
index 00000000000..0e2796df22d
--- /dev/null
+++ b/pkgs/games/crafty/default.nix
@@ -0,0 +1,667 @@
+{ stdenv, fetchurl, unzip, fullVariant ? false }:
+
+stdenv.mkDerivation rec {
+  name = "crafty-${version}";
+  version = "23.4";
+  
+  src = fetchurl {
+    url = "http://www.craftychess.com/crafty-${version}.zip";
+    sha256 = "0rhf4pfxcwj8hqd7bqj98fpdd80v6ss1jnc9kgwx2fw4ksdi37pl";
+  };
+
+  bookBin = fetchurl {
+    url = http://www.craftychess.com/book.bin;
+    sha256 = "1j8f33iks4xf19bpv2mpvxrnlm5w1f5fbnxcrxasg9p7w600wyb8";
+  };
+
+  startPgn = fetchurl {
+    url = http://www.cis.uab.edu/hyatt/crafty/pgn/start.pgn;
+    sha256 = "08c066acqwgr19jkaizdbzdpcm3ld5nsixv5wp9pnc37b8w9f0vm";
+  };
+
+  enormousPgn = stdenv.lib.optionalString fullVariant (fetchurl {
+    url = http://www.cis.uab.edu/hyatt/crafty/pgn/enormous.zip;
+    sha256 = "001574gz3881xfvhlc2wy6pg66c4sh0q2ms42swwvq0l80syz6y2";
+  });
+
+  tableBases345 =
+    let root = http://www.cis.uab.edu/hyatt/crafty/TB/3-4-5/;
+    in stdenv.lib.optionals fullVariant (map fetchurl [
+      { url = root + "kbbbk.nbb.emd";
+        sha256 = "1yssskq32x22ki67ja7azvlglz0vgq6d6awdz4avj1k72nbcs90g"; }
+      { url = root + "kbbbk.nbw.emd";
+        sha256 = "0n0hy09pnp0ldxkrvs1gz1ch7px0hzj1ni7iicfy7y9zhsqaky2r"; }
+      { url = root + "kbbk.nbb.emd";
+        sha256 = "1gyd2p546rapisbzjpqm1kbdlsj77yw46lr5wx28sng11wkz8xnk"; }
+      { url = root + "kbbk.nbw.emd";
+        sha256 = "1gvl0vw9k22wkas8mzdik2ynnykgiisp8smyf97i0v7h1y7bxsx5"; }
+      { url = root + "kbbkb.nbb.emd";
+        sha256 = "0zk12q2d3xfbj7zv9jkk0p1gzj7n640jynx7nkcfhmpz9qvjz5d1"; }
+      { url = root + "kbbkb.nbw.emd";
+        sha256 = "1kw68pbs12cjf0gg40j5b694zdyffprjblf56czgyj8xpfz219x9"; }
+      { url = root + "kbbkn.nbb.emd";
+        sha256 = "0gibrw89zlz93sdi8bkhy0pkfcgl4sswbm3vg6fgp752cwsvksiv"; }
+      { url = root + "kbbkn.nbw.emd";
+        sha256 = "0v781yid5g57y3raw5pqhr2cb8zm0rscim0zszypp4piz22pb60h"; }
+      { url = root + "kbbkp.nbb.emd";
+        sha256 = "1y2nxqqd7fhk7x2fc3dxidqlcrgcbwd9gkk4bggay3xds9m5nhrg"; }
+      { url = root + "kbbkp.nbw.emd";
+        sha256 = "0py5adrciqbs0cdwh1lz5q8ldkyvqbc7rx4995k6kvlq4nh95qam"; }
+      { url = root + "kbbkq.nbb.emd";
+        sha256 = "141jkx0ifb91b5nwps4xssvvcm1fny8ng1zxqsjb1n9dgsigsna7"; }
+      { url = root + "kbbkq.nbw.emd";
+        sha256 = "0iknfd1rjm4ar4gycg0yzw5dbf7hs3y1fnb3s9abypk8pkn8ga9d"; }
+      { url = root + "kbbkr.nbb.emd";
+        sha256 = "0jpp1f0rgglrn7gc36v7y38rivwl68s6gr2p15lqdvngismmyp13"; }
+      { url = root + "kbbkr.nbw.emd";
+        sha256 = "0gqs5bxg6kv4nw0sl0drfs9p043q10ic6d9il0rlvs6qds6d9bv0"; }
+      { url = root + "kbbnk.nbb.emd";
+        sha256 = "0x7q6clkhfv3scqyyj42b8r7jkd99v396pmih2f10a4scca3glxc"; }
+      { url = root + "kbbnk.nbw.emd";
+        sha256 = "1qry3mpl1rjsjasayfxhh6abnm7arfdljnz9q2n5v769kaqx1bx3"; }
+      { url = root + "kbbpk.nbb.emd";
+        sha256 = "1y2vx6i351nbfrbg5qkjyp9ys8vkb45i5101gz8fx1w3pkxq9312"; }
+      { url = root + "kbbpk.nbw.emd";
+        sha256 = "16jkjb1ljyck5k4mr3pwxasxb1l08h7mcc0iigjlgzrnvsc38nrb"; }
+      { url = root + "kbk.nbb.emd";
+        sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; }
+      { url = root + "kbk.nbw.emd";
+        sha256 = "1lks1fccaikrc455cadkw1h1012jk6nqfmqzi40ilmlckc3i7pnj"; }
+      { url = root + "kbkb.nbb.emd";
+        sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; }
+      { url = root + "kbkb.nbw.emd";
+        sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; }
+      { url = root + "kbkn.nbb.emd";
+        sha256 = "1cwzqb64q7br94pc1wbp86k4fpcii14wcsj3f7l5n9mmgrzk3y9k"; }
+      { url = root + "kbkn.nbw.emd";
+        sha256 = "17wnagdkc25d6daqa3cmr0923k4d98jjzpw1h4g70r19zrnczjn5"; }
+      { url = root + "kbkp.nbb.emd";
+        sha256 = "05mcmbwwrp4iljlw0ba7d6vgh0w1pl5a1vsmvsg56k4npx6npc95"; }
+      { url = root + "kbkp.nbw.emd";
+        sha256 = "1jsh96mrhshj07x9sv3prl4zzhpl2xmdr6znxshyr461481b6g7m"; }
+      { url = root + "kbnk.nbb.emd";
+        sha256 = "0k6bn47hdj36szqcbh66wcbv3ygxv6cm0zj36rl9n1c7rc9j7p4g"; }
+      { url = root + "kbnk.nbw.emd";
+        sha256 = "0rhkzsw9zw36zckjic6dd95psx90fr4d8rzbhkqskh8l945cyxky"; }
+      { url = root + "kbnkb.nbb.emd";
+        sha256 = "10mblq1n0m0ipfs4zdnnay6dmwafshb8l5mynfrn5wiaf26jysvz"; }
+      { url = root + "kbnkb.nbw.emd";
+        sha256 = "0h90b4a6m7pp0qfc1anm30ffqwmaj3h1zslsbivw4k8i0jnpfqax"; }
+      { url = root + "kbnkn.nbb.emd";
+        sha256 = "009rw6czd9zagly7nz43rd9vq60h57mfrlzx02cchn1ydsr6cnj2"; }
+      { url = root + "kbnkn.nbw.emd";
+        sha256 = "03harm479g91s2lb5ixk27n50kj15qjz8784nn1rmmcicisj4z7c"; }
+      { url = root + "kbnkp.nbb.emd";
+        sha256 = "0y737si4zrf8ac9jmn9sbwylcd1yvcxn5ihn128p2kan3956fpdv"; }
+      { url = root + "kbnkp.nbw.emd";
+        sha256 = "1902fn3pwrslxi4rv8lrahwq3hakz9kfq70b8c0hqshf44h06ggi"; }
+      { url = root + "kbnkq.nbb.emd";
+        sha256 = "112chi9pw5fqrpv4q4a9p8jc5zld8wkiwd9y71rky09z7zng4vy5"; }
+      { url = root + "kbnkq.nbw.emd";
+        sha256 = "1m1pdsq9zl9g2fs2gjp76za3qmdrv0k1ngxvz3cjyh3p08lixca0"; }
+      { url = root + "kbnkr.nbb.emd";
+        sha256 = "13nkcvcn70g3q5fgrhbc8qs0i0fl7k78m5pxdgmijbkax52kpfgl"; }
+      { url = root + "kbnkr.nbw.emd";
+        sha256 = "0kjplgzbza4wp8aqf7b4k9nqg0vzdj0q6nj90sg7ssiw2w95z1jz"; }
+      { url = root + "kbnnk.nbb.emd";
+        sha256 = "1v3a5fi2fnh9mr9j59dv8jw2inx55jsfg9ypn92dgdmmlwg688yr"; }
+      { url = root + "kbnnk.nbw.emd";
+        sha256 = "096l2zpi7ywrqsapkz47pcivkh2igsdmxb8szd9gq8ylylrsma37"; }
+      { url = root + "kbnpk.nbb.emd";
+        sha256 = "1011x2w59fjn89nd8yqhvjcxdwla4chifwvx3hml2g82rfqgmw5r"; }
+      { url = root + "kbnpk.nbw.emd";
+        sha256 = "1nvqwv6akdr5acs9cdcf1zircw351fmf433niyc7blzqa0nng7n1"; }
+      { url = root + "kbpk.nbb.emd";
+        sha256 = "1bbyr59kapp6f2r4mn1b79668b6gf1j0pwh6f3fcym7xms7gg28k"; }
+      { url = root + "kbpk.nbw.emd";
+        sha256 = "0bn70m7g225mpbs1s7vpw5swd12wwziryp25sv2z5xpg03y7zm10"; }
+      { url = root + "kbpkb.nbb.emd";
+        sha256 = "0clwycpzqklasqw5igk74sm9w6wqwx6h8dbqajpccq3l6ipf2ylx"; }
+      { url = root + "kbpkb.nbw.emd";
+        sha256 = "0w7sf6q3m2hn9ix7lyg1c8casz3qxnzqvfvsbsda46xx5chrp7wh"; }
+      { url = root + "kbpkn.nbb.emd";
+        sha256 = "052fi7b56qq46pc4hvr5wpxkr0gv7wq0cnp5550qbr7an446nbri"; }
+      { url = root + "kbpkn.nbw.emd";
+        sha256 = "1lbwj845qff7y51iw4fybqvpcbh9r5jlfphmhidzdkjhd2gflb0j"; }
+      { url = root + "kbpkp.nbb.emd";
+        sha256 = "1ybzqw8fjqal6n6isy2m9rhhykd8g81slvc5m55ccald63zalk43"; }
+      { url = root + "kbpkp.nbw.emd";
+        sha256 = "139dm4709pvzxn6aixfsbv88ly0cjn6dk7khr1sjf2x17c21mj69"; }
+      { url = root + "kbpkq.nbb.emd";
+        sha256 = "0640xw9hasgif9cxyskpp397dzvhwnpkcfyn33d4vbi4r0cbdv81"; }
+      { url = root + "kbpkq.nbw.emd";
+        sha256 = "13yhn55y65pl6bh67hlfjlwj3mm4w6gy1y34qypgc7kck0rrygn6"; }
+      { url = root + "kbpkr.nbb.emd";
+        sha256 = "03avk4igjdyh6ayh3xm0ds8agmqhagyxmv3s8g8830qk3a6frkz3"; }
+      { url = root + "kbpkr.nbw.emd";
+        sha256 = "0vqkywgxkys0dxnx0sv35kzx9fxhqzbnk4qskjzd1fw9ck21pnad"; }
+      { url = root + "kbppk.nbb.emd";
+        sha256 = "0i4zgsp7izp789chl1vlp93dy567schz96my19vgki1y3ifx4wkz"; }
+      { url = root + "kbppk.nbw.emd";
+        sha256 = "0ki9a0f5cp7ma9zrabjrz5alk6d3xihl388j1h9ii4g52g1zci3v"; }
+      { url = root + "knk.nbb.emd";
+        sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; }
+      { url = root + "knk.nbw.emd";
+        sha256 = "0irmycxkah9j5qf9inmrz6cvjv8i894vzg5378qmazkpgpmzvix8"; }
+      { url = root + "knkn.nbb.emd";
+        sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; }
+      { url = root + "knkn.nbw.emd";
+        sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; }
+      { url = root + "knkp.nbb.emd";
+        sha256 = "1cfav9xgsmvs44j4irw1mx04phszlasz96i26ik8lw8wjdl8x6vx"; }
+      { url = root + "knkp.nbw.emd";
+        sha256 = "0p560zfmixmcizy60f13lz5a3yd83w7bz06cac0nj0myv4m4s6yp"; }
+      { url = root + "knnk.nbb.emd";
+        sha256 = "1w1dh6lmmrxjfi6srmznqvc7frzxhrs48f5g0jijb410y2c26y0l"; }
+      { url = root + "knnk.nbw.emd";
+        sha256 = "1a9nvqk0w2xhwx5d2ia35z8g2xcsg2kh59ca1jwbvx9sh438b2xh"; }
+      { url = root + "knnkb.nbb.emd";
+        sha256 = "1r8g6ml0hi6fxmff396wjnff76csrq47si1s0qsy1cdfkvax7yyn"; }
+      { url = root + "knnkb.nbw.emd";
+        sha256 = "1v74lhr44s0plxab7qhn4crf55hhp4j7w2mr090sfxz0bzk7cb78"; }
+      { url = root + "knnkn.nbb.emd";
+        sha256 = "1fy4ksqncjv0iqf0papy8hb353di0k39aq0jqh5jvshl9vmspz15"; }
+      { url = root + "knnkn.nbw.emd";
+        sha256 = "1qgprlkaqfwfjkmc048faz2j8y1n46mqp3dfpdnn9ps1x3iqvs0f"; }
+      { url = root + "knnkp.nbb.emd";
+        sha256 = "1xhsjq79nb7zgqgyjp0v6n0g8r37x2csa5svyz8ndsax9hrxc1r7"; }
+      { url = root + "knnkp.nbw.emd";
+        sha256 = "08pxmb0sdppims2lfl0zi42rsh3dlrdbl7vq2rs8v0b470q4j5jx"; }
+      { url = root + "knnkq.nbb.emd";
+        sha256 = "00y7vv6ajzr9kgwx8gk7wap7ncb9dg086iv3lwki6qcwvy14bxql"; }
+      { url = root + "knnkq.nbw.emd";
+        sha256 = "09brsqvzwx4fmf7a6ljqcabx2isqfv1mmvsjb453wmhx98fkglj3"; }
+      { url = root + "knnkr.nbb.emd";
+        sha256 = "01df21j4zdwb4dfngjrr4797b1ipdajs1730i4gajcbm4hqigi69"; }
+      { url = root + "knnkr.nbw.emd";
+        sha256 = "0q0jxmqc57s22vlbk98dbb7c2zmzs6g6chlg42sw156j9414jdfb"; }
+      { url = root + "knnnk.nbb.emd";
+        sha256 = "0jxlaqkbdxhw45p8y4g5ggryzc6l7s159fdlw0bi5ipcp40afpvg"; }
+      { url = root + "knnnk.nbw.emd";
+        sha256 = "0782r7r4b4qmy3afrdmj5l0vlp5sgr33v0h0cigxghfmf19xhgdl"; }
+      { url = root + "knnpk.nbb.emd";
+        sha256 = "0cxj1mxdz8hmjlzhnc7j4cdi5jkcj1l0xfrz4l4z4az7f4ad91ci"; }
+      { url = root + "knnpk.nbw.emd";
+        sha256 = "13y2picx7c814hfsq3bb95js9s3bng85mblhhb7i12yqhddrzyx0"; }
+      { url = root + "knpk.nbb.emd";
+        sha256 = "03xah0j9n427nvqwym0ay84zg831v26x3gnp1zkpg1072r78d2p2"; }
+      { url = root + "knpk.nbw.emd";
+        sha256 = "10lv54gs3pgqqmndlihvjfbrfiqzgzfl7a127nchfyb12f9y91zz"; }
+      { url = root + "knpkb.nbb.emd";
+        sha256 = "1jiihs0cd5jx2hwv99vb3n3iahqwz6ja60zk5nbr17cxzhw0g2ng"; }
+      { url = root + "knpkb.nbw.emd";
+        sha256 = "19jxzp7v90hd1j6i109z03vdq81cndmlvmbb65fm2mc4ffrwms83"; }
+      { url = root + "knpkn.nbb.emd";
+        sha256 = "1yqjxxhc0fq2jvsqifw8my8lzfs2fgn6z8c2lgvak8ag2mi57ka8"; }
+      { url = root + "knpkn.nbw.emd";
+        sha256 = "1kh8sh9vscig0kkwvz79i3gk582xrgll8f4jlqw219f80ckh2ry6"; }
+      { url = root + "knpkp.nbb.emd";
+        sha256 = "1sd46as18ciml1nyzwh8v5qm5slhchbv15yv4qhcaga7cmljy9w5"; }
+      { url = root + "knpkp.nbw.emd";
+        sha256 = "0p8cwryphz16j2yihg7c1szx20s9mxzbgc7y6ddigvhafa19fc1d"; }
+      { url = root + "knpkq.nbb.emd";
+        sha256 = "03vaswq917maa1wxfkilcxjxvm9srnwzmzq1sq36q3h3dlcv23mp"; }
+      { url = root + "knpkq.nbw.emd";
+        sha256 = "1wmnipmacrbwggr1n63zdivvy9haqs96rkn458xswpmvks5fbyqj"; }
+      { url = root + "knpkr.nbb.emd";
+        sha256 = "1ngpj8iaz6si5i3vxri8k8ajpaim71caldxal28djkpmw91yqil6"; }
+      { url = root + "knpkr.nbw.emd";
+        sha256 = "1hqm6xp361iqdn7ayw6zvdk068iz2mwdz6sr087cr7gc0mim2ndw"; }
+      { url = root + "knppk.nbb.emd";
+        sha256 = "1mphpswq01v7d0pxij12nd1lpiz683gp0zgwnz0nyninwsmpq08v"; }
+      { url = root + "knppk.nbw.emd";
+        sha256 = "1m8l9jy96nxvqk48y73yj8b996q2gza1h448rrl00hjn1apbmjf3"; }
+      { url = root + "kpk.nbb.emd";
+        sha256 = "1xgbahdym0nbj63rc6rwgiwzss8xw3ra4lg03z46666hwykx8gxp"; }
+      { url = root + "kpk.nbw.emd";
+        sha256 = "1clkwzf3nb8lzrrs3gg4m9j5wh7z66ihra8gyz8majpjbhcz86an"; }
+      { url = root + "kpkp.nbb.emd";
+        sha256 = "06jsna3795gjlymnrxmscgxnz9ic1i648hr6v5vfagf8lmqi9nq4"; }
+      { url = root + "kpkp.nbw.emd";
+        sha256 = "1gplq6ksq4kvwramx137ncl6giwcm8rg3q8xmyqk1mq10dwcjfbp"; }
+      { url = root + "kppk.nbb.emd";
+        sha256 = "11xlmyw2hx26mkca4bid4qg62yxd0pspgmb40l9kf6h0yjzq4q07"; }
+      { url = root + "kppk.nbw.emd";
+        sha256 = "0j4dmlsm5i7rwrw7kkiq8j7zmcwvb6w38g41kfslm4sv6nm5mvjs"; }
+      { url = root + "kppkb.nbb.emd";
+        sha256 = "0w2yzi0l3jdnr88my8gcsqy72crkm9ppyiy8wl629lpcbrwj75x6"; }
+      { url = root + "kppkb.nbw.emd";
+        sha256 = "06f1h0x6rcsq9kag1fcz9z47hpffr4w9q171rkspd8ffpfzqq7za"; }
+      { url = root + "kppkn.nbb.emd";
+        sha256 = "0wmkn2i8z7m4j93hid2z2ns31kg4yhn939lfkvglfdvrgqjn1kh9"; }
+      { url = root + "kppkn.nbw.emd";
+        sha256 = "1ky4zcwyv5rn4g0h490s6l8vin6rwdv156ial7iczaq8hf70yhkm"; }
+      { url = root + "kppkp.nbb.emd";
+        sha256 = "1ivfxjphcld71cg4rvvq9rvnkpidh6apd52jf2cv42fvx313d9mq"; }
+      { url = root + "kppkp.nbw.emd";
+        sha256 = "1ymvp0z6jhrqi2hz87c81r54m9sdjpm91pvxwbx061yfbdpv230z"; }
+      { url = root + "kppkq.nbb.emd";
+        sha256 = "018cy2q2dvhxjh80prjxg6fx1lal50qc5mzzbfy0xlkk1l1y4sk5"; }
+      { url = root + "kppkq.nbw.emd";
+        sha256 = "0k4jlzcn213h8303jl3hkdapd9z8dhazsa22zac0bg52488r07gj"; }
+      { url = root + "kppkr.nbb.emd";
+        sha256 = "187pjqvp7kzyxkncp51c3vi26khimabkw5b3nyaj498jqjjlfa23"; }
+      { url = root + "kppkr.nbw.emd";
+        sha256 = "0mkrap8dizwxhhiij2xzlvbn8q9hrlsfvkcfcxajn8azaxnhx3ck"; }
+      { url = root + "kpppk.nbb.emd";
+        sha256 = "10spzc39zks7pwa2qy8aps5hk0z4xsxq1lpfwd61qwm5hazci391"; }
+      { url = root + "kpppk.nbw.emd";
+        sha256 = "1wx48xyb1xl5v7gjrahby8psig1gs9dipsj6iq44d052qr56513j"; }
+      { url = root + "kqbbk.nbb.emd";
+        sha256 = "1zvacin043njqws2nwiylch5dan28yis3ybcjb3zvmkdxyy8qzrh"; }
+      { url = root + "kqbbk.nbw.emd";
+        sha256 = "1s5likpps43bxplsv5yrqqnh2xzakibcknn6jh67xwdvl2v4jfz5"; }
+      { url = root + "kqbk.nbb.emd";
+        sha256 = "1814l1cgfphzl4v7k3hnwi21ydzfzyr7xzbh05dw3mnm0dsg9gzk"; }
+      { url = root + "kqbk.nbw.emd";
+        sha256 = "0xpmqr99qscrqjk5rzb7cgkjpcz4cmp6gngfsy8hq7530a4nknxk"; }
+      { url = root + "kqbkb.nbb.emd";
+        sha256 = "1jpl4nx4ddwnz455433508ibxywsrccb098infn992gs7wqqjsi2"; }
+      { url = root + "kqbkb.nbw.emd";
+        sha256 = "0krx6irqv0gvdy7hknhwa6gj2zwiv9rnjk2qlf2cy6xsldzn6af7"; }
+      { url = root + "kqbkn.nbb.emd";
+        sha256 = "09xsg79xajh1g2d9nvms61pjgb13x6fc0nhw58nnfg28nbvjzz1n"; }
+      { url = root + "kqbkn.nbw.emd";
+        sha256 = "0gb8pdsd77fmjd09h7ri1z8rrparqn5xa56dwi4yd4hhwsb8c4fq"; }
+      { url = root + "kqbkp.nbb.emd";
+        sha256 = "07h1zzaic2qh2140wvcq0hvhmkv0j9h7rchm3avsk7m6ma98d7zi"; }
+      { url = root + "kqbkp.nbw.emd";
+        sha256 = "13lffpplxis2a5949wnq998262idiydg2b2pz5np3mxyppc48r61"; }
+      { url = root + "kqbkq.nbb.emd";
+        sha256 = "09l20wcjcvmncz97j4107q3ch81dgzmx7i86m6pzifhy8mrn2cll"; }
+      { url = root + "kqbkq.nbw.emd";
+        sha256 = "0vra23shpwlsiyzd8wd2m2ayrs4ig2943l90ps9xh1p6igjv1n9d"; }
+      { url = root + "kqbkr.nbb.emd";
+        sha256 = "0gmzhzr1m751djfp6b71yrah04r89lq41nshvw02qp531aqp1xyq"; }
+      { url = root + "kqbkr.nbw.emd";
+        sha256 = "1zz0fdfn463xa76xd8hg2hz8a1kaljka9l01z64vsqvn73nkd5fm"; }
+      { url = root + "kqbnk.nbb.emd";
+        sha256 = "1m7krpj5sd6mvrsks39jyxkg8mvz7g15rwnn55kql2flpsw481q4"; }
+      { url = root + "kqbnk.nbw.emd";
+        sha256 = "1q6jvhxjzcani3ls402n3ylhhmf8kd482in19d2ny0q7pqcimvy7"; }
+      { url = root + "kqbpk.nbb.emd";
+        sha256 = "1pdc8kd3q9f8vgfqxymar3vkg1h9qbsfr614lhgbmpmpmn4zxqdj"; }
+      { url = root + "kqbpk.nbw.emd";
+        sha256 = "0dcyxa92200g0dgq7lk018grhvwxzrhh6wrwqdk6g3v02g63h38d"; }
+      { url = root + "kqk.nbb.emd";
+        sha256 = "1f0cdqyakzck0ng11smhk9kdkch9hbm3azniqv2wjg2wp9aj9s1n"; }
+      { url = root + "kqk.nbw.emd";
+        sha256 = "0gzxgkxzfnlri5ypvx67k2mwq4xnwkm4hn4n9mqpl7fjwdj733w2"; }
+      { url = root + "kqkb.nbb.emd";
+        sha256 = "0j3w39l4mnwm5nrrw0zcd4icdj8hgds792nhick2mfn40injwna6"; }
+      { url = root + "kqkb.nbw.emd";
+        sha256 = "0q30gjvlfmx1ld4i0x2xj97i4i3w6q1vhl2q91w8dd84bw1cy1k8"; }
+      { url = root + "kqkn.nbb.emd";
+        sha256 = "15aivg3vpc6y1g3gcnmssjnww9l7npy3g5xxq3wq99ai1mbgik7p"; }
+      { url = root + "kqkn.nbw.emd";
+        sha256 = "1qqi3r6a5d74108xgdxx9qx4cxv7fkr9jpkrcizirzv30dp3cb4z"; }
+      { url = root + "kqkp.nbb.emd";
+        sha256 = "0hlsmjn9baa1bplnwygxvgnkfn15fm9fhc6k39bfiacy7ai0zkka"; }
+      { url = root + "kqkp.nbw.emd";
+        sha256 = "0ibx6xp2v980626xffb7khz8lfnxb9577w5zc6mlc892kinaf4gf"; }
+      { url = root + "kqkq.nbb.emd";
+        sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; }
+      { url = root + "kqkq.nbw.emd";
+        sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; }
+      { url = root + "kqkr.nbb.emd";
+        sha256 = "13fabjhiq5psyvg2a1cbx16471g35il0lm3fsfdy4dpl9zr2pw58"; }
+      { url = root + "kqkr.nbw.emd";
+        sha256 = "0hwy21k0a3qa6b1093904krdqrqrz5iwqsb0qxqqnwljpz8kr1zl"; }
+      { url = root + "kqnk.nbb.emd";
+        sha256 = "0dy9d9fwaqvmr3x796a7vq5ynqnpw8b4l0zsm7nkvvd5sak1blxj"; }
+      { url = root + "kqnk.nbw.emd";
+        sha256 = "0zdzqhg0ww4b79w3w3hjpwfar0r8fhk2yc8jknwzcc9q9rv9a78n"; }
+      { url = root + "kqnkb.nbb.emd";
+        sha256 = "04zvc8s2rwcgr9chx3rmvr3shs47i75pwh1wph9wiy33jx5gw846"; }
+      { url = root + "kqnkb.nbw.emd";
+        sha256 = "1v22rln9plikvchdxqii4m9kh9s0mahrxnsqs6i2kzcfphiqp3ns"; }
+      { url = root + "kqnkn.nbb.emd";
+        sha256 = "0kwz1390brs60ri0mrvf3f64ax0yncnp6kpaf7nrw5v29s5cxpyz"; }
+      { url = root + "kqnkn.nbw.emd";
+        sha256 = "0gvsx71nf0bhggk338rsmvbpajwa6j1ja09gchny6i9gvg9l0frs"; }
+      { url = root + "kqnkp.nbb.emd";
+        sha256 = "169llq4dv4fsh8hvvwwrbc2b1iwklnqwqmhzv77q862cxs8rbcsa"; }
+      { url = root + "kqnkp.nbw.emd";
+        sha256 = "1b1mgfh7hgiqv9a0dv1f7vr180g1mjxcg3nlx4zmpj0mzgwka39g"; }
+      { url = root + "kqnkq.nbb.emd";
+        sha256 = "02za7wp2z1h1sd55mmkaa6i0bh3piwiz5ybpdrxk2amm54kvjmsj"; }
+      { url = root + "kqnkq.nbw.emd";
+        sha256 = "0s9c4zfw4slp7lv373nkhlyafn3hpw9pv4543mm69c6cdnl04xhk"; }
+      { url = root + "kqnkr.nbb.emd";
+        sha256 = "0nffvkdfs17b6n2hmy9i7ha793dn8an7ff9nd97z62zxxm63gmyp"; }
+      { url = root + "kqnkr.nbw.emd";
+        sha256 = "1jqmbna1i5wqahqz2lalviv61y6ak379fhjcc9xg651dxfnjnmwh"; }
+      { url = root + "kqnnk.nbb.emd";
+        sha256 = "1dlhfqmv5g3f9lvfgvy4h7x0xfkbn9pcsplb9kjlqg7qhkimcvbg"; }
+      { url = root + "kqnnk.nbw.emd";
+        sha256 = "0zlg34ff2bp88q8bws2isswwa8ls0qncpzyzc3d1j6avkprwkq2i"; }
+      { url = root + "kqnpk.nbb.emd";
+        sha256 = "0i436sxh5093zy03v6rjf6r0ydjmkmfj5fkxqk2qjjps2gc6jwsn"; }
+      { url = root + "kqnpk.nbw.emd";
+        sha256 = "0yf7il0maiw8c9gam9cvnjgvywjk5k3pjvmgcy377yf31hgi209g"; }
+      { url = root + "kqpk.nbb.emd";
+        sha256 = "11vl1p9qwqsdbxdppqg3n73868kd69kqhl6h6q1p47a4dq9lqldy"; }
+      { url = root + "kqpk.nbw.emd";
+        sha256 = "02ik15sm3mdhyn76rnx8jvg7fma1m7njm55h6mqqqgqgbji0zzvi"; }
+      { url = root + "kqpkb.nbb.emd";
+        sha256 = "0s7k9dh87s6msmqpv43csax632i5w5gzc2s4ijiy38kg0d3cgz31"; }
+      { url = root + "kqpkb.nbw.emd";
+        sha256 = "115y0gshq2g6p6mfclxag1lvba3pz2rlyw8b6d5rykkapm299yvb"; }
+      { url = root + "kqpkn.nbb.emd";
+        sha256 = "1i3wx9c7dk1sdig6kv4h3pa2m9ir1gd6qz7jyan9q18wvrpag12l"; }
+      { url = root + "kqpkn.nbw.emd";
+        sha256 = "0iqxrgr1x2k3mfvhgckz9dya92wj8vddpv746gz86yi6n05wp373"; }
+      { url = root + "kqpkp.nbb.emd";
+        sha256 = "0ifxixayrfhdp3yq04h55kjcgbly4390ghrhpvllc3mf6yrcg3sh"; }
+      { url = root + "kqpkp.nbw.emd";
+        sha256 = "1hf8b4lvci0lm4skvxsw83c521q2x1i7yij8ih9j8ijyg64fivp8"; }
+      { url = root + "kqpkq.nbb.emd";
+        sha256 = "0vy9ihcl80q2ml7lilgi007d7zx4r9knsyn8f63fqfa8x3m5rs6b"; }
+      { url = root + "kqpkq.nbw.emd";
+        sha256 = "0xqngdyq8anfz1xqyg24nvwds7k7027j1l5pjwl22x0ipi7hda98"; }
+      { url = root + "kqpkr.nbb.emd";
+        sha256 = "1c3xbrvsmyjz0ydc3xpw5hcxky20742d2jqwf7rrx5q223y11mlv"; }
+      { url = root + "kqpkr.nbw.emd";
+        sha256 = "0fsi0d0czwvi2az56v2a4r0k78drybyqdda264gqjs53j65h02bp"; }
+      { url = root + "kqppk.nbb.emd";
+        sha256 = "0995h6li6ixljxfs4xxy1bvmzj589h675bg8pkhbrmvimhja2nrf"; }
+      { url = root + "kqppk.nbw.emd";
+        sha256 = "18hh8080s90qdacy6svhymfs4nw27x0p0s8km8p090rwk5si860a"; }
+      { url = root + "kqqbk.nbb.emd";
+        sha256 = "15n425kcfjypwbxj1ck9v4rzd24lmd36kczhsi1cp2y6955vz9vp"; }
+      { url = root + "kqqbk.nbw.emd";
+        sha256 = "1mjkgcblgsga7vib0410mdcjqh3dkc3xq8nx17p1hapinj987w8s"; }
+      { url = root + "kqqk.nbb.emd";
+        sha256 = "0ihmqjiqycybci4zczrdv4c3a1bdz7l2qln0g43rbzwbkjsplykx"; }
+      { url = root + "kqqk.nbw.emd";
+        sha256 = "0m0359yb17azb8s482i63fvqqy1b9idgklrj82rpbidasz41gj0m"; }
+      { url = root + "kqqkb.nbb.emd";
+        sha256 = "0b9hm4pw01dal7lazb1qakjbgg5wg3nrn2bdjmkabfjgbrnh4hbm"; }
+      { url = root + "kqqkb.nbw.emd";
+        sha256 = "1msk54xzbn41rhlyx9qkragihmg7yw2r5jc97lkvb7d8lwg6s59r"; }
+      { url = root + "kqqkn.nbb.emd";
+        sha256 = "18d8nc25h33gd1qr6jmsbka3qmd8xjb2q1545959x6b4ch93cbsy"; }
+      { url = root + "kqqkn.nbw.emd";
+        sha256 = "0i2mzllfklvv8bw0g6rjjrjkw71mvn8hsvqg6m7hhdq8lg5ajhyp"; }
+      { url = root + "kqqkp.nbb.emd";
+        sha256 = "14y51vjw0r605pbjz0gvhc0x2w14ijxn3nilvpd5sdcnfh79kaax"; }
+      { url = root + "kqqkp.nbw.emd";
+        sha256 = "11m1034gb608czhzrrj3fgpixq4rlvr92bzv7ga5r8wypwwycbdp"; }
+      { url = root + "kqqkq.nbb.emd";
+        sha256 = "1cxyavw61qqpy15vrq51a0sjsd2lhya60cf33nnh9vb370amwqj9"; }
+      { url = root + "kqqkq.nbw.emd";
+        sha256 = "1lrv2757bivjs9bsyh7ghj53halg3jz29xhnx7xhjrf48rpv6nxw"; }
+      { url = root + "kqqkr.nbb.emd";
+        sha256 = "1m2r0myc2piqn4pcd3b9ngivrjg1j5viwsi9740dlb730dbvkzna"; }
+      { url = root + "kqqkr.nbw.emd";
+        sha256 = "1767n2993dw5akbd3h6w570nbs5bncd8qid1dhgzfs9yxxzjplns"; }
+      { url = root + "kqqnk.nbb.emd";
+        sha256 = "047950dbkh0mzpfb1klm51lmqzx1d90w6j7r4z8mc1nw4knh5cpp"; }
+      { url = root + "kqqnk.nbw.emd";
+        sha256 = "0yd35ra0s0qckqymzi634bxp127arbrqzyj3s3xww82qsn6lbm07"; }
+      { url = root + "kqqpk.nbb.emd";
+        sha256 = "08wbdhpa8vna39i226hg71r8a7ydp2vd2gh5prskr39vqj0k5pa3"; }
+      { url = root + "kqqpk.nbw.emd";
+        sha256 = "1vyd4pvb8mhbdkm85njnqxg755biw0y68ylxfbnar8wna4dl27ds"; }
+      { url = root + "kqqqk.nbb.emd";
+        sha256 = "0l0ichgik395z90h37zj6x4kcxpf0121zw57s8s0y51iwz61ikg9"; }
+      { url = root + "kqqqk.nbw.emd";
+        sha256 = "0jmkd9n96al6sggva1kmdax8vxqprai9hhkxxvsk35wivcp8akk8"; }
+      { url = root + "kqqrk.nbb.emd";
+        sha256 = "02wahvwixy5l3q9h57ayr2mxqs79zg8m2qh8cv3mms39csa9axzh"; }
+      { url = root + "kqqrk.nbw.emd";
+        sha256 = "05rypafy4lgb53x8zx2qlvdrjm91aqr61hc7iwlpfikqqcbiksiw"; }
+      { url = root + "kqrbk.nbb.emd";
+        sha256 = "0bk77dvdg5qx86rss0q9v8zl079g85p7snfgjpr30jpfv2z0a6p6"; }
+      { url = root + "kqrbk.nbw.emd";
+        sha256 = "0mgamh4fqr6g063ic5qapdjng6jw35f82f0wjq8j9gv5w83s0vqs"; }
+      { url = root + "kqrk.nbb.emd";
+        sha256 = "0vsadlphh4b6cgs4pizw44nfw4lhpq65dws44fc9z74sf32q0ibr"; }
+      { url = root + "kqrk.nbw.emd";
+        sha256 = "1qq8jqzqzkcarhnc7ad6xp3s2f8r4crrxgj0ajciz2pkyc98xdh6"; }
+      { url = root + "kqrkb.nbb.emd";
+        sha256 = "0bxmkjmqx7gjdaz78d31sbk7v67crx24dpbhswfg6b3xkhi8cy3f"; }
+      { url = root + "kqrkb.nbw.emd";
+        sha256 = "0hhz4yxrcwvvc4b36ixlh3g8gdm4krhvip80xazcy538dwl26b29"; }
+      { url = root + "kqrkn.nbb.emd";
+        sha256 = "13h7qa2zy9akdrvrwl7wmlpncgljjamc7asa9vpd76bi5mp0wrap"; }
+      { url = root + "kqrkn.nbw.emd";
+        sha256 = "0ihcp5wh61cgq439nh5rn3qqhpyjl5h4xz9ayyma298fm2xw7w89"; }
+      { url = root + "kqrkp.nbb.emd";
+        sha256 = "1wjrcrjgq1gj0jqbw0mi8ah79qv80zp921bzjxsx9vjm35hdbbhl"; }
+      { url = root + "kqrkp.nbw.emd";
+        sha256 = "0qwc76wyy60vicxyxx80gm6f40fw3izs6xndhhkfh86cj7sjl3l5"; }
+      { url = root + "kqrkq.nbb.emd";
+        sha256 = "0drzfjrm6mh8q1vb36ycvfsipp6z4ij4a200zxypaxaimnxssq3x"; }
+      { url = root + "kqrkq.nbw.emd";
+        sha256 = "0n12rixcd2k3bgm00k2z9cnlzx1av5y62r8adnx6h2grlgcyd26j"; }
+      { url = root + "kqrkr.nbb.emd";
+        sha256 = "0zvzx89gp4saggjb062nafy3xncv01fmbymsmnlswmq80xdkcn4d"; }
+      { url = root + "kqrkr.nbw.emd";
+        sha256 = "0by6f36850d4fdraqj8rqv7ryaplqxlmkm00prm0pcmlb3y5czc7"; }
+      { url = root + "kqrnk.nbb.emd";
+        sha256 = "0z5599ci1n7qgpn3inch8zc3ciyy1b5gjbix78k3b5ig4ra2idv6"; }
+      { url = root + "kqrnk.nbw.emd";
+        sha256 = "18a5bm0rlh4wf5im54acq0w0l6lnjjk4dxaxcph67q4smfbfacv3"; }
+      { url = root + "kqrpk.nbb.emd";
+        sha256 = "10rbm2j3rz04jv0s70aink3y7h303zvnf29b9pim8b8pv23pwvy3"; }
+      { url = root + "kqrpk.nbw.emd";
+        sha256 = "1jqvxfj3fnm456livvfbp3v750mm86js2qb7va5nq9wilif13chb"; }
+      { url = root + "kqrrk.nbb.emd";
+        sha256 = "0h2g8v9i6ic2fmjgzwh1hcwaka2m8n8l28nvbbkq3447hrwl8sba"; }
+      { url = root + "kqrrk.nbw.emd";
+        sha256 = "137iicxbws20rv93b5qas6dpk5a7qj18rcbj632117hkiw3ddjly"; }
+      { url = root + "krbbk.nbb.emd";
+        sha256 = "1i0yjbvkrqz4m61qk6flz88zsb3nwskj6rrn3bz4fzv63m0yhcpk"; }
+      { url = root + "krbbk.nbw.emd";
+        sha256 = "00rna709hpxw06sg5cnzn9xzgn2pib4n5yyffjz638sgivgh62k4"; }
+      { url = root + "krbk.nbb.emd";
+        sha256 = "1xq45jiwg96084jm0qkacjmxl86v0mp1nrr6k85dpn99bmyzx5xw"; }
+      { url = root + "krbk.nbw.emd";
+        sha256 = "0jnxrpwad8cpl6yp31bs5g0h89jjr8061lj69n8wdmmwhvjafvk0"; }
+      { url = root + "krbkb.nbb.emd";
+        sha256 = "0gdwy9q7xf35fpb78g02jn07d969p7zzhnn4asbk5y3fmix209l2"; }
+      { url = root + "krbkb.nbw.emd";
+        sha256 = "0kryfbjli1l05nqarz96q6fnviwzgjvmbljbmapirw40ma68nx4r"; }
+      { url = root + "krbkn.nbb.emd";
+        sha256 = "01fll6vvqiyxpmn6qmwhrzd7f3j3irpbdvc2jn2hqzjdmsr0kz59"; }
+      { url = root + "krbkn.nbw.emd";
+        sha256 = "13yipfw7v5w2hcgmnml3ka1rq1g5djcf81nkanrlmrkqaksxbc0m"; }
+      { url = root + "krbkp.nbb.emd";
+        sha256 = "1bpa5x4zm9nap62hf3iiyzzwcp0fsh5bww0sdnvlzaclw9mbc1g8"; }
+      { url = root + "krbkp.nbw.emd";
+        sha256 = "0y157ai66amm5lryigc7nizj79mfbcny925qqcsgbi8l2yhl7hk1"; }
+      { url = root + "krbkq.nbb.emd";
+        sha256 = "199gckvazpsv1f3jkfxw9p3hyfshpvqm2i9wqjgzlm69dckbbj4x"; }
+      { url = root + "krbkq.nbw.emd";
+        sha256 = "1m72pzaxlrppwpaqgdcxcjr9n5cnyxs8p0kxybgkl17vfvpc5jmw"; }
+      { url = root + "krbkr.nbb.emd";
+        sha256 = "04wpcfq3y4nx1q57vina4z75lv3mrzljfzw5s73s5m0fhfq54i9v"; }
+      { url = root + "krbkr.nbw.emd";
+        sha256 = "1wii5h5cyxxxgjp53ap43v0wnpj7amxyd8kg9bxsamcfz3wj1v70"; }
+      { url = root + "krbnk.nbb.emd";
+        sha256 = "0s2jrbyjn4d2kik7ic4i1d4w6yx2841cdwb7lalpw3jf74ag2cv4"; }
+      { url = root + "krbnk.nbw.emd";
+        sha256 = "1py0lnsahky21dvk5kdcfgbrca1cks7ihjslpvins91l58yzldh9"; }
+      { url = root + "krbpk.nbb.emd";
+        sha256 = "1v3j61j125i9hbmqm11ay2ng65djq55mwxfr5v8173whqjk9cjc5"; }
+      { url = root + "krbpk.nbw.emd";
+        sha256 = "1zvinpcr9mzm6jgicq6y6jfl6dsd7pyn648bfayszfgndyr2b125"; }
+      { url = root + "krk.nbb.emd";
+        sha256 = "042qliismf63y6vims4bg31lj1w9r2y45p32frqxgk79hvb567yv"; }
+      { url = root + "krk.nbw.emd";
+        sha256 = "1fam4n038dg4g1nc1zn55lyjagv4j4lkbq28rhiaz7mhj3z4r3zz"; }
+      { url = root + "krkb.nbb.emd";
+        sha256 = "0y44rbly8ggzjg2i5vhxibia551ii28dnpyzls3b74a6078zy0wy"; }
+      { url = root + "krkb.nbw.emd";
+        sha256 = "12bqs411yhv6k0b2jhil1l7hpk4cj3i8x0bcj168jnmikzhprvgq"; }
+      { url = root + "krkn.nbb.emd";
+        sha256 = "1wcghsgr9g09pbyhak1hyxw3rvfis6zplc3zgzx3qphp69rivk3k"; }
+      { url = root + "krkn.nbw.emd";
+        sha256 = "1jkwz4kjl91kxxascg21zj6c6qgx9s0k91jjbic6ybsmpv4wj4qc"; }
+      { url = root + "krkp.nbb.emd";
+        sha256 = "1jmaansnxspb7x2ka8y44vssgk78wfcrmdczj60zyzg1bj3n5fl8"; }
+      { url = root + "krkp.nbw.emd";
+        sha256 = "14yi4fsax0w9sd5bv463ajs6r4q0wxj3n19np9anc1zfvb3yk846"; }
+      { url = root + "krkr.nbb.emd";
+        sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; }
+      { url = root + "krkr.nbw.emd";
+        sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; }
+      { url = root + "krnk.nbb.emd";
+        sha256 = "0gvm4y8p5a9769nqhgnx6xj6nlldgrh75k3z8c8hj2xd9cyj01pp"; }
+      { url = root + "krnk.nbw.emd";
+        sha256 = "0p7j4x0xdq5krsvmj44qkcaqmww7rplrjdr08ix3jyjf31kk2x13"; }
+      { url = root + "krnkb.nbb.emd";
+        sha256 = "0w9gybr4i7d8zjpbbyg1m4263bx2gpmnh91vd0xmpwi0ykrxrl57"; }
+      { url = root + "krnkb.nbw.emd";
+        sha256 = "19wp8swng0q2wzxwx89km5fqlqfb4vcamky9h7pvas2sgh8frfmq"; }
+      { url = root + "krnkn.nbb.emd";
+        sha256 = "0g3b48symag31lcgbimpmmqsqdmihsr6g9k5a15l0mfkisfwadlf"; }
+      { url = root + "krnkn.nbw.emd";
+        sha256 = "1vryhaw1aj4bhv2ghb10zxyx930s2f4xqg7v9cxfnr9q5w2qv7xh"; }
+      { url = root + "krnkp.nbb.emd";
+        sha256 = "13b8vahj7hj4f12kiaigx1nphdrf8z30j68zav9n617kpf5s35i0"; }
+      { url = root + "krnkp.nbw.emd";
+        sha256 = "1qcnjwkg0pxp1hq4xws9dgq4bx6pxn0am3mcj1n837qcmv46mf7c"; }
+      { url = root + "krnkq.nbb.emd";
+        sha256 = "150d9z4v6fk16sdxq1w96gl2pl9nsf0jimy8kdgc8a19i1ab1rjc"; }
+      { url = root + "krnkq.nbw.emd";
+        sha256 = "13dn9hgk4i26axwymv0gvdkl0zr5shggvm5lpwa15gigmrva73bh"; }
+      { url = root + "krnkr.nbb.emd";
+        sha256 = "14ja7chmg7aklg6swlc3lpik4akj8zv3x2qppsip0vi3j05lnqyv"; }
+      { url = root + "krnkr.nbw.emd";
+        sha256 = "04qxh0kzk2p7m5zdrzg0faqva91qals4njnwf4vgfr65lmd4hyfn"; }
+      { url = root + "krnnk.nbb.emd";
+        sha256 = "1f35pqprkf1clx0mzzkgx9mn8ncqdiyc2cbxcp5a4x1kzli7zp34"; }
+      { url = root + "krnnk.nbw.emd";
+        sha256 = "16y28mqjl7fbl8rlwv51bn17sx0fpvfi0izyq1f5043l7fmpshfr"; }
+      { url = root + "krnpk.nbb.emd";
+        sha256 = "097rmr9zb550qn41kn11c15qp8l5582wqncg5li46iq9mfxcskiw"; }
+      { url = root + "krnpk.nbw.emd";
+        sha256 = "0hj3bhqvgdd64qa47irwx08nz4fqxhm0ddmpjq0jb757wlqw5f05"; }
+      { url = root + "krpk.nbb.emd";
+        sha256 = "1qz218amn2ii66g2fr2ifq6csr0n5n9ip9jcjxkxgpmawiwjhcm1"; }
+      { url = root + "krpk.nbw.emd";
+        sha256 = "19vh7k73gjyjwqzdpf0pv2i7zrqb2ns6a6r3n4jgwwd2n35inr1i"; }
+      { url = root + "krpkb.nbb.emd";
+        sha256 = "1y6kknnkb0ikk7az6syc3drhp4v3avpffa5pghpr2pm6i8xzx3nm"; }
+      { url = root + "krpkb.nbw.emd";
+        sha256 = "0fnbyhgjlnrnddkpbbyabyg31nmi61w9ra8ylicv6ysgyn4bcps4"; }
+      { url = root + "krpkn.nbb.emd";
+        sha256 = "08cn0pa6y1hxq7clgj70hdxm13a6zi9c8z2mmf3qgsjjkrj2wgc5"; }
+      { url = root + "krpkn.nbw.emd";
+        sha256 = "16ybnwl7sf832z546igrwclahhymp734dcg6rhrakxabrv0y144z"; }
+      { url = root + "krpkp.nbb.emd";
+        sha256 = "125qzj83kc5y5rx6jn078pjj6lph1gslmglx24n5n399382kllkn"; }
+      { url = root + "krpkp.nbw.emd";
+        sha256 = "1kbahpn99r37syb1yypabw55g4diwbp6q99nr6f6rn19wp0b44mk"; }
+      { url = root + "krpkq.nbb.emd";
+        sha256 = "1wsxy8ycz8l6wn6c58w4n0gdsdb8lik6b046q132qjw8mnn07gv1"; }
+      { url = root + "krpkq.nbw.emd";
+        sha256 = "0l8sg8sv6yy2wsrg7p9j2w5s61sd3jak09z1i347k0g0190m77m8"; }
+      { url = root + "krpkr.nbb.emd";
+        sha256 = "1mv4jcgkilsw3d4m879r2cwslz71v0rg5hwk9r6lhpg22qam3kz1"; }
+      { url = root + "krpkr.nbw.emd";
+        sha256 = "1nj906wq21h9xfzihc3wcp9s2bwgy7c68j4a6vlxq3zy1c8k53yx"; }
+      { url = root + "krppk.nbb.emd";
+        sha256 = "0x63qm3zwp70y3a33s29bv7lhg1vjnvi4gkxxgh6s0590y7s8pj4"; }
+      { url = root + "krppk.nbw.emd";
+        sha256 = "1z4nhf2gygbdgk6j3bdxhllx154ajkrrz3j0y715r20m0fxfl6x8"; }
+      { url = root + "krrbk.nbb.emd";
+        sha256 = "0gxam25i89sqmmmd781yyk2k2zyj76l9w9hngqkzagiz0fhh9ycz"; }
+      { url = root + "krrbk.nbw.emd";
+        sha256 = "1v7rfv5b4wjsgfy21fi3xyxbfj76mvkxhfz52612p4rnzp78bb56"; }
+      { url = root + "krrk.nbb.emd";
+        sha256 = "0ms9cjndxiflssymcx7aakf6bjwb5043nz5i4jvix89wvp6lgfa1"; }
+      { url = root + "krrk.nbw.emd";
+        sha256 = "18bh2y3v2ak6j1q1rlnkp02vijbbqr69i4cg1pvj943c83xz18l3"; }
+      { url = root + "krrkb.nbb.emd";
+        sha256 = "0hdr8v5bgybma3sdl8mk0v3msjvdva89zs1wd52m6jbdgwb5hzca"; }
+      { url = root + "krrkb.nbw.emd";
+        sha256 = "1g8bkyzq585az5rrglxd71ydj2fhhgqzdfmkgihbi7ncjym9kpw7"; }
+      { url = root + "krrkn.nbb.emd";
+        sha256 = "0bz8np2sqj8viwszx4jj9wxj774kv548pjzrmc6xh11p0sfjx3rj"; }
+      { url = root + "krrkn.nbw.emd";
+        sha256 = "1qf4d6zlvwlgrq0f732wafpznkqd3qnf7na4bgd4p1pb105ickg4"; }
+      { url = root + "krrkp.nbb.emd";
+        sha256 = "1kw434r77f61b5agly6lqkvn4b1rwssd511lcv16mvvf56xlqnb4"; }
+      { url = root + "krrkp.nbw.emd";
+        sha256 = "1yzqpp01gckk25zjy8j820y37m4vj6rgc6zpphwll45rn1ahwk0p"; }
+      { url = root + "krrkq.nbb.emd";
+        sha256 = "1ynhjzzmjpd6yw0d2w5xhlms3sqjc8gksfqgq3wmx7ym23wya2qq"; }
+      { url = root + "krrkq.nbw.emd";
+        sha256 = "01wil4pbcnrqynj1xpkglk2r36b36cz9gjr2g76rrz5xhdy5q8vj"; }
+      { url = root + "krrkr.nbb.emd";
+        sha256 = "0iyqadmpddy9i330nv1qrsjfkk2vlkxfxjphx3q349lplq6a9s16"; }
+      { url = root + "krrkr.nbw.emd";
+        sha256 = "1fg4byzzmjlzz8hs2vhpysmf8py9ylkf5pdw3rv88dxr4cp1wciq"; }
+      { url = root + "krrnk.nbb.emd";
+        sha256 = "1jb8rq7sy28c9wr7yih8w5bi8jbcf4xzf8sccanz32qxp0159f0h"; }
+      { url = root + "krrnk.nbw.emd";
+        sha256 = "17g7l0szgqczykjgxdhpihs5hh2snc35cy3hggnvah3j8bv6ksb4"; }
+      { url = root + "krrpk.nbb.emd";
+        sha256 = "1q7vk3pawab9nbpdn3cw2kf205yx6lznr6gkd9qbjj3754s9zswh"; }
+      { url = root + "krrpk.nbw.emd";
+        sha256 = "0wl23j0a67mm01655p4ivjrlsacvm7lxglhrg6cni61qkdqr6vqz"; }
+      { url = root + "krrrk.nbb.emd";
+        sha256 = "1ggm5q38wc65rkp87n5d2l71kcl7nqjkvwa31hmlagq2735vd0gd"; }
+      { url = root + "krrrk.nbw.emd";
+        sha256 = "1h7psv25a4wajg6ggk2q0cllf5mng4qjas3yi9nvi7kc766p85ax"; }
+    ]);
+
+  patches = [ ./strcpy.patch ./malloc.patch ];
+
+  buildInputs = [ unzip ];
+
+  buildPhase =
+    if stdenv.isDarwin
+    then "make darwin"
+    else if stdenv.isLinux
+           then "make linux-amd64"
+           else "make";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -p ./crafty $out/bin
+
+    mkdir -p $out/share/crafty
+    cd $out/share/crafty
+
+    $out/bin/crafty "books create ${startPgn} 60"
+    rm -f *.001
+
+    ${if fullVariant then ''
+        unzip ${enormousPgn}
+        $out/bin/crafty "book create enormous.pgn 60"
+        rm -f *.001 enormous.pgn
+        
+        mkdir -p $out/share/crafty/TB
+        ${stdenv.lib.fold
+          (tb: acc: acc + "\nln -s "
+                        + toString tb
+                        + " $out/share/crafty/TB/`echo "
+                        + toString tb
+                        + " | sed 's/.*-//'`")
+          ""
+          tableBases345}
+      ''
+      else ''
+        cp -p ${bookBin} $out/share/crafty/book.bin
+      ''}
+
+    mv $out/bin/crafty $out/bin/.crafty-wrapped
+    cat - > $out/bin/crafty <<EOF
+    #! ${stdenv.shell}
+    exec $out/bin/.crafty-wrapped bookpath=$out/share/crafty ${stdenv.lib.optionalString fullVariant "egtb=on tbpath=$out/share/crafty/TB"} "\$@"
+    EOF
+    chmod +x $out/bin/crafty
+  '';
+
+  meta = {
+    homepage = http://www.craftychess.com/;
+    description = "Crafty is a free, open-source computer chess program developed by Dr. Robert M. Hyatt";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
+  };
+}
diff --git a/pkgs/games/crafty/malloc.patch b/pkgs/games/crafty/malloc.patch
new file mode 100644
index 00000000000..39b5afe8dda
--- /dev/null
+++ b/pkgs/games/crafty/malloc.patch
@@ -0,0 +1,11 @@
+--- a/chess.h
++++ b/chess.h
+@@ -25,7 +25,7 @@
+ #include <assert.h>
+ #include <stdlib.h>
+ #if !defined(IPHONE)
+-#  include <malloc.h>
++#  include <sys/malloc.h>
+ #endif
+ #include <string.h>
+ #if !defined(TYPES_INCLUDED)
diff --git a/pkgs/games/crafty/strcpy.patch b/pkgs/games/crafty/strcpy.patch
new file mode 100644
index 00000000000..d4d424d23da
--- /dev/null
+++ b/pkgs/games/crafty/strcpy.patch
@@ -0,0 +1,21 @@
+--- a/utility.c
++++ b/utility.c
+@@ -2144,7 +2144,7 @@ int ReadPGN(FILE * input, int option) {
+         char *skip;
+ 
+         strcpy(temp, input_buffer);
+-        skip = strstr(input_buffer, buffer) + strlen(buffer);
++        skip = strstr(temp, buffer) + strlen(buffer);
+         if (skip)
+           strcpy(input_buffer, skip);
+       }
+@@ -2241,7 +2241,7 @@ int ReadPGN(FILE * input, int option) {
+             }
+           }
+           strcpy(temp, input_buffer);
+-          skip = strstr(input_buffer, buffer) + strlen(buffer);
++          skip = strstr(temp, buffer) + strlen(buffer);
+           strcpy(input_buffer, skip);
+       } else {
+         int skip;
+
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
new file mode 100644
index 00000000000..6cb48d85f85
--- /dev/null
+++ b/pkgs/games/crawl/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, sqlite, lua, which, zlib, pkgconfig, dejavu_fonts,
+  libpng, perl, SDL, SDL_image, ncurses, mesa}:
+
+stdenv.mkDerivation rec {
+   name = "crawl-0.14.1";
+   src = fetchurl {
+      url = "http://downloads.sourceforge.net/project/crawl-ref/Stone%20Soup/0.14.1/stone_soup-0.14.1-nodeps.tar.xz";
+      sha256 = "91726d0224b93ba26b5d4bd3762bc5aabe1f02974ea6c937be89dc6c6ab7a4dd";
+      };
+
+   patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch
+               ./makefile_rltiles.patch ./makefile_rltiles2.patch
+               ./makefile_misc.patch ./makefile_prefix.patch
+   ];
+
+   buildInputs = [stdenv pkgconfig lua zlib sqlite which libpng perl SDL
+                  dejavu_fonts SDL_image ncurses mesa];
+
+   preBuild = "cd source";
+
+   makeFlags = "TILES=y";
+
+   inherit dejavu_fonts sqlite SDL_image SDL;
+}
diff --git a/pkgs/games/crawl/makefile_fonts.patch b/pkgs/games/crawl/makefile_fonts.patch
new file mode 100644
index 00000000000..6c73407b65c
--- /dev/null
+++ b/pkgs/games/crawl/makefile_fonts.patch
@@ -0,0 +1,20 @@
+--- old/source/Makefile	2013-11-28 01:03:54.000000000 +0000
++++ new/source/Makefile	2014-02-05 14:04:32.531838188 +0000
+@@ -880,7 +880,7 @@
+     INSTALL_FONTS += $(PROPORTIONAL_FONT)
+   endif
+ else
+-  SYS_PROPORTIONAL_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
++  SYS_PROPORTIONAL_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
+   ifeq (,$(SYS_PROPORTIONAL_FONT))
+     SYS_PROPORTIONAL_FONT = $(shell dir=/usr/local/share/fonts ; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
+   endif
+@@ -903,7 +903,7 @@
+     INSTALL_FONTS += $(MONOSPACED_FONT)
+   endif
+ else
+-  SYS_MONOSPACED_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
++  SYS_MONOSPACED_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
+   ifeq (,$(SYS_MONOSPACED_FONT))
+     SYS_MONOSPACED_FONT = $(shell dir=/usr/local/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
+   endif
diff --git a/pkgs/games/crawl/makefile_misc.patch b/pkgs/games/crawl/makefile_misc.patch
new file mode 100644
index 00000000000..3849e79234b
--- /dev/null
+++ b/pkgs/games/crawl/makefile_misc.patch
@@ -0,0 +1,39 @@
+--- old/source/Makefile	2014-05-05 23:22:48.051952484 +0200
++++ new/source/Makefile	2014-05-05 23:20:46.576617833 +0200
+@@ -71,6 +71,9 @@
+ 
+ GAME = crawl
+ 
++
++CFLAGS := $(NIX_CFLAGS_COMPILE)
++
+ # Disable GNU Make implicit rules and variables. Leaving them enabled will slow
+ # down MinGW and Cygwin builds by a very VERY noticeable degree. Besides, we have
+ # _explicit_ rules defined for everything. So we don't need them.
+@@ -979,7 +983,7 @@
+ ifdef ANDROID
+ CFLAGS   := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
+ else
+-CFLAGS   := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN)
++CFLAGS   := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
+ endif
+ CFLAGS_L := $(CFOPTIMIZE_L) $(DEFINES_L) $(CFWARN_L) $(INCLUDES_L) $(CFOTHERS_L)
+ ALL_CFLAGS := $(CFLAGS) $(CFLAGS_L)
+@@ -1392,7 +1396,7 @@
+ 	$(RM) -r $(DOXYGEN_HTML_GEN)
+ 
+ $(GAME): $(OBJECTS) $(EXTRA_OBJECTS) $(CONTRIB_LIBS) dat/dlua/tags.lua
+-	+$(QUIET_LINK)$(CXX) $(LDFLAGS) $(EXTRA_OBJECTS) $(OBJECTS) -o $(GAME) $(LIBS)
++	g++ $(LDFLAGS) $(EXTRA_OBJECTS) $(OBJECTS) -o $(GAME) $(LIBS)
+ 
+ debug: all
+ debug-lite: all
+@@ -1492,7 +1496,7 @@
+ 	$(QUIET_GEN)util/gen-luatags.pl
+ 
+ mi-enum.h: mon-info.h util/gen-mi-enum
+-	$(QUIET_GEN)util/gen-mi-enum
++	perl util/gen-mi-enum
+ 
+ $(RLTILES)/dc-unrand.txt: art-data.h
+ 
diff --git a/pkgs/games/crawl/makefile_prefix.patch b/pkgs/games/crawl/makefile_prefix.patch
new file mode 100644
index 00000000000..869d703b125
--- /dev/null
+++ b/pkgs/games/crawl/makefile_prefix.patch
@@ -0,0 +1,11 @@
+--- old/source/Makefile	2014-05-06 08:52:24.752163702 +0200
++++ new/source/Makefile	2014-05-06 09:08:01.992018819 +0200
+@@ -344,7 +344,7 @@
+ endif
+ 
+ chroot_prefix :=
+-prefix        :=
++prefix        := $(out)
+ 
+ ifeq ($(patsubst %/local,%,$(patsubst %/,%,$(prefix))),/usr)
+ FHS := yes
diff --git a/pkgs/games/crawl/makefile_rltiles.patch b/pkgs/games/crawl/makefile_rltiles.patch
new file mode 100644
index 00000000000..e08859c989b
--- /dev/null
+++ b/pkgs/games/crawl/makefile_rltiles.patch
@@ -0,0 +1,21 @@
+--- old/source/rltiles/Makefile	2014-04-17 10:17:31.596400123 +0000
++++ new/source/rltiles/Makefile	2014-04-17 14:36:07.263108690 +0000
+@@ -20,7 +20,8 @@
+ 
+ ifdef TILES
+   ifndef CONTRIB_SDL
+-    SDL_CFLAGS := $(shell sdl-config --cflags 2> /dev/null || echo "-I../contrib/install/$(ARCH)/include/SDL")
++    SDL_CFLAGS := $(shell sdl-config --cflags 2> /dev/null)
++    SDL_IMG_CFLAGS := $(shell pkg-config --cflags-only-I SDL_image 2> /dev/null)
+     SDL_LDFLAGS := $(shell sdl-config --libs 2> /dev/null && echo "-lSDL_image" || echo "../contrib/install/$(ARCH)/lib/libSDL.a ../contrib/install/$(ARCH)/lib/libSDLmain.a ../contrib/install/$(ARCH)/lib/libSDL_image.a")
+   else
+     SDL_CFLAGS := -I../contrib/install/$(ARCH)/include/SDL
+@@ -35,7 +36,7 @@
+     PNG_LIB := ../contrib/install/$(ARCH)/lib/libpng.a ../contrib/install/$(ARCH)/lib/libz.a
+   endif
+ 
+-  CFLAGS += $(SDL_CFLAGS) $(PNG_INCLUDE)
++  CFLAGS += $(SDL_CFLAGS) $(SDL_IMG_CFLAGS) $(PNG_INCLUDE) -I$(SDL_image)/include -I$(SDL)/include
+   LDFLAGS += $(SDL_LDFLAGS) $(PNG_LIB)
+ 
+   CFLAGS += -DUSE_TILE
diff --git a/pkgs/games/crawl/makefile_rltiles2.patch b/pkgs/games/crawl/makefile_rltiles2.patch
new file mode 100644
index 00000000000..2508ad0a54c
--- /dev/null
+++ b/pkgs/games/crawl/makefile_rltiles2.patch
@@ -0,0 +1,10 @@
+--- old/source/rltiles/Makefile	2014-05-05 23:22:48.054952469 +0200
++++ new/source/rltiles/Makefile	2014-05-05 22:45:07.742667726 +0200
+@@ -142,6 +128,6 @@
+ 	$(QUIET_HOSTCXX)$(HOSTCXX) $(CFLAGS) -MMD -c $< -o $@
+ 
+ $(TILEGEN): $(OBJECTS)
+-	$(QUIET_HOSTLINK)$(HOSTCXX) $(OBJECTS) -o $@ $(LDFLAGS)
++	g++ $(OBJECTS) -o $@ $(LDFLAGS)
+ 
+ .PHONY: all clean distclean
diff --git a/pkgs/games/crawl/makefile_sdlimg.patch b/pkgs/games/crawl/makefile_sdlimg.patch
new file mode 100644
index 00000000000..e6c7101de72
--- /dev/null
+++ b/pkgs/games/crawl/makefile_sdlimg.patch
@@ -0,0 +1,19 @@
+--- old/source/Makefile	2014-04-14 13:00:22.331058910 +0000
++++ new/source/Makefile	2014-04-14 13:02:11.102204544 +0000
+@@ -672,6 +672,7 @@
+ FREETYPE_LDFLAGS := $(shell $(PKGCONFIG) freetype2 --libs-only-L) $(shell $(PKGCONFIG) freetype2 --libs-only-l)
+ 
+ SDL_INCLUDE := $(shell $(PKGCONFIG) sdl --cflags-only-I)
++SDL_IMG_INCLUDE := $(shell $(PKGCONFIG) SDL_image --cflags-only-I)
+ SDL_CFLAGS  := $(shell $(PKGCONFIG) sdl --cflags-only-other)
+ SDL_LDFLAGS := $(shell $(PKGCONFIG) sdl --libs-only-L) $(shell $(PKGCONFIG) sdl --libs-only-l)
+ 
+@@ -694,7 +695,7 @@
+ endif
+ 
+ DEFINES_L += $(PNG_CFLAGS) $(FREETYPE_CFLAGS) $(SDL_CFLAGS)
+-INCLUDES_L += $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE)
++INCLUDES_L += $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE) $(SDL_IMG_INCLUDE)
+ 
+ endif # TILES
+ 
diff --git a/pkgs/games/crawl/makefile_sqlite.patch b/pkgs/games/crawl/makefile_sqlite.patch
new file mode 100644
index 00000000000..fbcb925d608
--- /dev/null
+++ b/pkgs/games/crawl/makefile_sqlite.patch
@@ -0,0 +1,11 @@
+--- old/source/Makefile	2014-04-14 12:46:35.401956673 +0000
++++ new/source/Makefile	2014-04-14 12:47:12.757006254 +0000
+@@ -259,7 +259,7 @@
+ LIBZ := contrib/install/$(ARCH)/lib/libz.a
+ 
+ ifndef CROSSHOST
+-	SQLITE_INCLUDE_DIR := /usr/include
++	SQLITE_INCLUDE_DIR := ${sqlite}/include
+ else
+ 	# This is totally wrong, works only with some old-style setups, and
+ 	# on some architectures of Debian/new FHS multiarch -- excluding, for
diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix
index 080265e1395..b50aa704048 100644
--- a/pkgs/games/crrcsim/default.nix
+++ b/pkgs/games/crrcsim/default.nix
@@ -1,48 +1,23 @@
-x@{builderDefsPackage
-  , mesa, SDL, SDL_mixer, plib, libjpeg
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="crrcsim";
-    version="0.9.11";
-    name="${baseName}-${version}";
-    url="http://download.berlios.de/${baseName}/${name}.tar.gz";
-    hash="16z9gixp60920lqckij8kdw90jys0llls4lw5c8vqgk14ck5hhiz";
-  };
+{ stdenv, fetchurl, mesa, SDL, SDL_mixer, plib, libjpeg }:
+let
+  version = "0.9.12";
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "crrcsim-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/crrcsim/${name}.tar.gz";
+    sha256 = "1yx3cn7ilwj92v6rk3zm565ap92vmky4r39na814lfglkzn6l5id";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [
+    mesa SDL SDL_mixer plib libjpeg
+  ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
     description = "A model-airplane flight simulator";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "GPLv2";
+    maintainers = with stdenv.lib.maintainers; [ raskin the-kenny ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://crrcsim.berlios.de/wiki/index.php?n=CRRCsim.DownLoad";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/games/d1x-rebirth/default.nix b/pkgs/games/d1x-rebirth/default.nix
index 471eca78cf1..ca348592d1d 100644
--- a/pkgs/games/d1x-rebirth/default.nix
+++ b/pkgs/games/d1x-rebirth/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, scons, pkgconfig, SDL, mesa, physfs, SDL_mixer }:
 
 stdenv.mkDerivation rec {
-  name = "d1x-rebirth-0.57.3";
+  name = "d1x-rebirth-0.58.1";
   src = fetchurl {
-    url = "http://www.dxx-rebirth.com/download/dxx/d1x-rebirth_v0.57.3-src.tar.gz";
-    sha256 = "07dbjza5flsczdsas0adb5xhn13gmhlpixa8ycp8hjm20y9kw1za";
+    url = "http://www.dxx-rebirth.com/download/dxx/d1x-rebirth_v0.58.1-src.tar.gz";
+    sha256 = "13p3nfqaa78h6bl0k8mdsn90ai99wbqaj6qlsjsgsn8imficivsv";
   };
 
   buildInputs = [ scons pkgconfig SDL mesa physfs SDL_mixer ];
diff --git a/pkgs/games/d2x-rebirth/default.nix b/pkgs/games/d2x-rebirth/default.nix
index b52e2995198..644c2703599 100644
--- a/pkgs/games/d2x-rebirth/default.nix
+++ b/pkgs/games/d2x-rebirth/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, scons, pkgconfig, SDL, mesa, physfs, SDL_mixer }:
 
 stdenv.mkDerivation rec {
-  name = "d2x-rebirth-0.57.3";
+  name = "d2x-rebirth-0.58.1";
   src = fetchurl {
-    url = "http://www.dxx-rebirth.com/download/dxx/d2x-rebirth_v0.57.3-src.tar.gz";
-    sha256 = "0yyandmxz12bbpnd746nddjlqh5i7dylwm006shixis3w3giz77c";
+    url = "http://www.dxx-rebirth.com/download/dxx/d2x-rebirth_v0.58.1-src.tar.gz";
+    sha256 = "08mg831afc1v068c0ds70lhmxk8a54494jls7s9hwf02ffhv3sx8";
   };
 
   buildInputs = [ scons pkgconfig SDL mesa physfs SDL_mixer ];
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index 6036d7fabd5..f0d885c1f88 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://github.com/dhewm/dhewm3;
     description = "Doom 3 port to SDL";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 
 }
diff --git a/pkgs/games/dwarf-fortress/df2014.nix b/pkgs/games/dwarf-fortress/df2014.nix
new file mode 100644
index 00000000000..6a0d30ea89f
--- /dev/null
+++ b/pkgs/games/dwarf-fortress/df2014.nix
@@ -0,0 +1,82 @@
+{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile
+, copyDataDirectory ? false }:
+
+assert stdenv.system == "i686-linux";
+
+stdenv.mkDerivation rec {
+  name = "dwarf-fortress-0.40.05";
+
+  src = fetchurl {
+    url = "http://www.bay12games.com/dwarves/df_40_05_linux.tar.bz2";
+    sha256 = "1b9nd33yz5a945v9jyqii1k4s71i701m2d0h7fw6f5g9p6nvx43s";
+  };
+
+  phases = "unpackPhase patchPhase installPhase";
+
+  /* :TODO: Game options should be configurable by patching the default configuration files */
+
+  permission = ./df_permission;
+
+  installPhase = ''
+    set -x
+    mkdir -p $out/bin
+    mkdir -p $out/share/df_linux
+    cp -r * $out/share/df_linux
+    cp $permission $out/share/df_linux/nix_permission
+
+    patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress
+    ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/
+
+    cat > $out/bin/dwarf-fortress << EOF
+    #!${stdenv.shell}
+    export DF_DIR="\$HOME/.config/df_linux"
+    if [ -n "\$XDG_DATA_HOME" ]
+     then export DF_DIR="\$XDG_DATA_HOME/df_linux"
+    fi
+
+    # Recreate a directory structure reflecting the original
+    # distribution in the user directory (for modding support)
+    ${if copyDataDirectory then ''
+      if [ ! -d "\$DF_DIR" ];
+      then
+        mkdir -p \$DF_DIR
+        cp -r $out/share/df_linux/* \$DF_DIR/
+        chmod -R u+rw \$DF_DIR/
+      fi
+    '' else ''
+      # Link in the static stuff
+      mkdir -p \$DF_DIR
+      ln -sf $out/share/df_linux/libs \$DF_DIR/
+      ln -sf $out/share/df_linux/raw \$DF_DIR/
+      ln -sf $out/share/df_linux/df \$DF_DIR/
+
+      # Delete old data directory
+      rm -rf \$DF_DIR/data
+
+      # Link in the static data directory
+      mkdir \$DF_DIR/data
+      for i in $out/share/df_linux/data/*
+      do
+       ln -s \$i \$DF_DIR/data/
+      done
+
+      # link in persistant data
+      mkdir -p \$DF_DIR/save
+      ln -s \$DF_DIR/save \$DF_DIR/data/
+    ''}
+
+    # now run Dwarf Fortress!
+    export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/
+    \$DF_DIR/df "\$@"
+    EOF
+
+    chmod +x $out/bin/dwarf-fortress
+  '';
+
+  meta = {
+      description = "control a dwarven outpost or an adventurer in a randomly generated, persistent world";
+      homepage = http://www.bay12games.com/dwarves;
+      license = "unfree-redistributable";
+      maintainers = [stdenv.lib.maintainers.roconnor];
+  };
+}
diff --git a/pkgs/games/dwarf-therapist/default.nix b/pkgs/games/dwarf-therapist/default.nix
index d8f39ceeea4..8cc1b9933cd 100644
--- a/pkgs/games/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-therapist/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchhg {
     url = "https://code.google.com/r/splintermind-attributes/";
-    tag = rev;
+    inherit rev;
     sha256 = "0a9m967q6p2q3plrl6qysg1xrdmg65jzil6awjh2wr3g10x2x15z";
   };
 
@@ -53,8 +53,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tool to manage dwarves in in a running game of Dwarf Fortress";
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
-    license = "MIT";
-    platforms = stdenv.lib.platforms.none;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
     homepage = https://code.google.com/r/splintermind-attributes/;
   };
 }
diff --git a/pkgs/games/eboard/default.nix b/pkgs/games/eboard/default.nix
new file mode 100644
index 00000000000..1decee4264a
--- /dev/null
+++ b/pkgs/games/eboard/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, gtk }:
+
+stdenv.mkDerivation {
+  name = "eboard-1.1.1";
+  
+  src = fetchurl {
+    url = mirror://sourceforge/eboard/eboard-1.1.1.tar.bz2;
+    sha256 = "0vm25j1s2zg1lipwjv9qrcm877ikfmk1yh34i8f5l3bwd63115xd";
+  };
+
+  patches = [ ./eboard.patch ];
+
+  buildInputs = [ pkgconfig gtk ];
+
+  meta = {
+    homepage = http://www.bergo.eng.br/eboard/;
+    description = "eboard is a chess interface for Unix-like systems";
+  };
+}
diff --git a/pkgs/games/eboard/eboard.patch b/pkgs/games/eboard/eboard.patch
new file mode 100644
index 00000000000..f80c1b2f78d
--- /dev/null
+++ b/pkgs/games/eboard/eboard.patch
@@ -0,0 +1,16 @@
+--- a/cimg.cc	2014-05-25 02:41:58.000000000 -0500
++++ b/cimg.cc	2014-05-25 02:42:31.000000000 -0500
+@@ -94,11 +94,11 @@
+       ct == PNG_COLOR_TYPE_GRAY_ALPHA)
+     png_set_gray_to_rgb(pngp);
+
+-  alloc(pngp->width,pngp->height);
++  alloc(png_get_image_width(pngp, infp),png_get_image_height(pngp, infp));
+   if (!ok) { fclose(f); return; }
+   ok = 0;
+
+-  for(i=0;i<pngp->height;i++) {
++  for(i=0;i<png_get_image_height(pngp, infp);i++) {
+     png_read_row(pngp, (png_bytep) (&data[i*rowlen]), NULL);
+   }
+
diff --git a/pkgs/games/egoboo/default.nix b/pkgs/games/egoboo/default.nix
index 1f879393868..96ff52446ec 100644
--- a/pkgs/games/egoboo/default.nix
+++ b/pkgs/games/egoboo/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     description = "3D dungeon crawling adventure";
 
     homepage = http://www.freedink.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     # I take it out of hydra as it does not work as well as I'd like
     # maintainers = [ stdenv.lib.maintainers.bjg ];
diff --git a/pkgs/games/exult/64bits.patch b/pkgs/games/exult/64bits.patch
deleted file mode 100644
index 49c67cd2f05..00000000000
--- a/pkgs/games/exult/64bits.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru exult-1.2-orig/usecode/useval.cc exult-1.2/usecode/useval.cc
---- exult-1.2-orig/usecode/useval.cc	2004-05-23 07:07:11.000000000 +0200
-+++ exult-1.2/usecode/useval.cc	2008-06-25 17:27:15.000000000 +0200
-@@ -464,7 +464,7 @@
- 		if (buflen < 5)
- 			return -1;
- 		*ptr++ = type;
--		Write4(ptr, (int)value.ptr);
-+		Write4(ptr, 0);
- 		break;
- 	case string_type:
- 		{
-@@ -525,7 +525,7 @@
- 	case pointer_type:
- 		if (buflen < 5)
- 			return false;
--		value.ptr = (Game_object*)Read4(ptr); //DON'T dereference this pointer!
-+		value.ptr = 0; //DON'T dereference this pointer!
- 		// Maybe add a new type "serialized_pointer" to prevent "accidents"?
- 		return true;
- 	case string_type:
diff --git a/pkgs/games/exult/arch.patch b/pkgs/games/exult/arch.patch
new file mode 100644
index 00000000000..70de34184a2
--- /dev/null
+++ b/pkgs/games/exult/arch.patch
@@ -0,0 +1,123 @@
+diff -aur exult-1.4.9rc1.orig/desktop/exult.desktop exult-1.4.9rc1/desktop/exult.desktop
+--- exult-1.4.9rc1.orig/desktop/exult.desktop	2008-07-11 05:41:06.000000000 +0600
++++ exult-1.4.9rc1/desktop/exult.desktop	2012-05-19 13:15:30.616084585 +0600
+@@ -1,9 +1,8 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+ Name=Exult
+ Comment=Exult Ultima 7 Engine
+ Exec=exult
+-Icon=exult.png
++Icon=exult
+ Terminal=false
+ Type=Application
+-Categories=Application;Game;RolePlaying;
++Categories=Game;RolePlaying;
+diff -aur exult-1.4.9rc1.orig/files/databuf.h exult-1.4.9rc1/files/databuf.h
+--- exult-1.4.9rc1.orig/files/databuf.h	2010-03-10 09:07:05.000000000 +0500
++++ exult-1.4.9rc1/files/databuf.h	2012-05-19 12:50:16.856076030 +0600
+@@ -18,6 +18,7 @@
+ #define DATA_H
+ 
+ #include <cstdio>
++#include <cstddef>
+ #include <cstring>
+ #include <cassert>
+ #include <fstream>
+diff -aur exult-1.4.9rc1.orig/files/U7obj.h exult-1.4.9rc1/files/U7obj.h
+--- exult-1.4.9rc1.orig/files/U7obj.h	2010-02-25 07:52:07.000000000 +0500
++++ exult-1.4.9rc1/files/U7obj.h	2012-05-19 12:50:35.916076137 +0600
+@@ -26,6 +26,7 @@
+ #include <string>
+ #include <vector>
+ #include <cstring>
++#include <cstddef>
+ #include "common_types.h"
+ #include "utils.h"
+ 
+diff -aur exult-1.4.9rc1.orig/imagewin/manip.h exult-1.4.9rc1/imagewin/manip.h
+--- exult-1.4.9rc1.orig/imagewin/manip.h	2010-08-29 20:26:00.000000000 +0600
++++ exult-1.4.9rc1/imagewin/manip.h	2012-05-19 13:02:45.159413596 +0600
+@@ -319,7 +319,7 @@
+ 	static uintD copy(uintS src)
+ 	{
+ 		unsigned int r, g, b;
+-		split_source(src,r,g,b);
++		ManipBaseSrc<color_s,color_d>::split_source(src,r,g,b);
+ 		return ManipBaseDest<color_d>::rgb(r,g,b);
+ 	}
+ 	static void copy(uintD& dest, uintS src)
+diff -aur exult-1.4.9rc1.orig/istring.h exult-1.4.9rc1/istring.h
+--- exult-1.4.9rc1.orig/istring.h	2005-06-07 15:55:39.000000000 +0600
++++ exult-1.4.9rc1/istring.h	2012-05-19 13:01:14.886079750 +0600
+@@ -162,19 +162,19 @@
+ 
+ 	_Myt& operator+=(const _Myt& _Right)
+ 		{	// append _Right
+-		append(_Right);
++		this->append(_Right);
+ 		return (*this);
+ 		}
+ 
+ 	_Myt& operator+=(const _Elem *_Ptr)
+ 		{	// append [_Ptr, <null>)
+-		append(_Ptr);
++		this->append(_Ptr);
+ 		return (*this);
+ 		}
+ 
+ 	_Myt& operator+=(_Elem _Ch)
+ 		{	// append 1 * _Ch
+-		append(static_cast<size_type>(1), _Ch);
++		this->append(static_cast<size_type>(1), _Ch);
+ 		return (*this);
+ 		}
+ 
+diff -aur exult-1.4.9rc1.orig/shapes/pngio.cc exult-1.4.9rc1/shapes/pngio.cc
+--- exult-1.4.9rc1.orig/shapes/pngio.cc	2010-02-15 18:48:11.000000000 -0200
++++ exult-1.4.9rc1/shapes/pngio.cc	2013-09-22 20:56:37.809763588 -0300
+@@ -26,6 +26,7 @@
+ #ifdef HAVE_CONFIG_H
+ #  include <config.h>
+ #endif
++#include <string.h>
+ 
+ #ifdef HAVE_PNG_H
+ 
+@@ -79,7 +80,7 @@
+ 		}
+ 					// Allocate info. structure.
+ 	png_infop info = png_create_info_struct(png);
+-	if (setjmp(png->jmpbuf))	// Handle errors.
++	if (setjmp(png_jmpbuf(png)))	// Handle errors.
+ 		{
+ 		png_destroy_read_struct(&png, &info, 0);
+ 		fclose(fp);
+@@ -208,7 +209,7 @@
+ 		}
+ 					// Allocate info. structure.
+ 	png_infop info = png_create_info_struct(png);
+-	if (setjmp(png->jmpbuf))	// Handle errors.
++	if (setjmp(png_jmpbuf(png)))	// Handle errors.
+ 		{
+ 		png_destroy_write_struct(&png, &info);
+ 		fclose(fp);
+@@ -306,7 +307,7 @@
+ 		}
+ 					// Allocate info. structure.
+ 	png_infop info = png_create_info_struct(png);
+-	if (setjmp(png->jmpbuf))	// Handle errors.
++	if (setjmp(png_jmpbuf(png)))	// Handle errors.
+ 		{
+ 		png_destroy_read_struct(&png, &info, 0);
+ 		fclose(fp);
+@@ -395,7 +396,7 @@
+ 		}
+ 					// Allocate info. structure.
+ 	png_infop info = png_create_info_struct(png);
+-	if (setjmp(png->jmpbuf))	// Handle errors.
++	if (setjmp(png_jmpbuf(png)))	// Handle errors.
+ 		{
+ 		png_destroy_write_struct(&png, &info);
+ 		fclose(fp);
+
diff --git a/pkgs/games/exult/default.nix b/pkgs/games/exult/default.nix
index e784cc109f5..a79b6f8d5d8 100644
--- a/pkgs/games/exult/default.nix
+++ b/pkgs/games/exult/default.nix
@@ -1,56 +1,45 @@
-{stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, unzip}:
+{ stdenv, fetchurl, pkgconfig, SDL, libogg, libvorbis, zlib, unzip }:
 
 let
 
   # Digital recordings of the music on an original Roland MT-32.  So
   # we don't need actual MIDI playback capability.
-  musicFiles =
-    [ (fetchurl {
-        url = mirror://sourceforge/exult/U7MusicOGG_1of2.zip;
-        md5 = "7746d1a9164fd67509107797496553bf";
-      })
-      (fetchurl {
-        url = mirror://sourceforge/exult/U7MusicOGG_2of2.zip;
-        md5 = "cdae5956d7c52f35e90317913a660123";
-      })
-    ];
+  audio = fetchurl {
+    url = mirror://sourceforge/exult/exult_audio.zip;
+    sha256 = "0s5wvgy9qja06v38g0qwzpaw76ff96vzd6gb1i3lb9k4hvx0xqbj";
+  };
 
 in
 
-stdenv.mkDerivation {
-  name = "exult-1.2";
-  
+stdenv.mkDerivation rec {
+  name = "exult-1.4.9rc1";
+
   src = fetchurl {
-    url = mirror://sourceforge/exult/exult-1.2.tar.gz;
-    md5 = "0fc88dee74a91724d25373ba0a8670ba";
+    url = "mirror://sourceforge/exult/${name}.tar.gz";
+    sha256 = "0a03a2l3ji6h48n106d4w55l8v6lni1axniafnvvv5c5n3nz5bgd";
   };
 
-  # Patches for building on x86_64 and gcc 4.x.
-  patches = [
-    (fetchurl {
-      url = "http://www.rocklinux.net/sources/package/stf/exult/exult-gcc4.patch";
-      sha256 = "1jlikxcpsi3yfchan3jbyi66fcyr18m7kfmsa946lwh3kzckszm7";
-    })
+  configureFlags = "--disable-tools";
 
-    # From http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/games-engines/exult/files/exult-1.2-64bits.patch?rev=1.1
-    ./64bits.patch
-  ];
+  patches =
+    [ # Arch Linux patch set.
+      ./arch.patch
+    ];
+
+  buildInputs = [ pkgconfig SDL libogg libvorbis zlib unzip ];
 
-  buildInputs = [SDL SDL_mixer zlib libpng unzip];
-  
-  NIX_CFLAGS_COMPILE = "-I${SDL_mixer}/include/SDL";
+  enableParallelBuilding = true;
 
   postInstall =
     ''
       mkdir -p $out/share/exult/music
-      for i in $musicFiles; do
-          unzip -o -d $out/share/exult/music $i
-      done
-    '';
-  
+      unzip -o -d $out/share/exult ${audio}
+      chmod 644 $out/share/exult/*.flx
+    ''; # */
+
   meta = {
     homepage = http://exult.sourceforge.net/;
     description = "A reimplementation of the Ultima VII game engine";
-    maintainers = [stdenv.lib.maintainers.eelco];
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 71183d0ea2a..31ae3aa3aa4 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -6,17 +6,17 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.12.0";
+  version = "3.0.0";
   name = "flightgear-${version}";
 
   src = fetchurl {
     url = "http://ftp.linux.kiev.ua/pub/fgfs/Source/${name}.tar.bz2";
-    sha256 = "0h9ka4pa2njxbvy5jlmnsjy5ynzms504ygqn7hd80g3c58drsjc4";
+    sha256 = "1sd6ic9rrcgrqvc6ywkasj2pnmmmdv1i2rlyac2a882rh8i1kgz4";
   };
 
   datasrc = fetchurl {
-    url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz";
-    sha256 = "0qjvcj2cz7ypa91v95lws44fg8c1p0pazv24ljkai2m2r0jgsv8k";
+    url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz2";
+    sha256 = "0mq5hkh8zgm129mg1ij3rrk7h2xs9ijxa7d7hipjlp6mcyhlk0q4";
   };
 
   # Of all the files in the source and data archives, there doesn't seem to be
@@ -47,17 +47,18 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    mkdir -p "$out/share/FlightGear"
-    tar xvf "${datasrc}" -C "$out/share/FlightGear/" --strip-components=1
-
     mkdir -p "$out/share/applications/"
     cp "${desktopItem}"/share/applications/* "$out/share/applications/"
+
+    mkdir -p "$out/share/FlightGear"
+    tar xvf "${datasrc}" -C "$out/share/FlightGear/" --strip-components=1
   '';
 
   meta = with stdenv.lib; {
     description = "Flight simulator";
-    maintainers = with maintainers; [ raskin ];
-    #platforms = platforms.linux; # disabled from hydra because it's so big
+    maintainers = with maintainers; [ raskin the-kenny ];
+    platforms = platforms.linux;
+    hydraPlatforms = []; # disabled from hydra because it's so big
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/games/freedink/default.nix b/pkgs/games/freedink/default.nix
index a30ff7e2f87..94451ef8930 100644
--- a/pkgs/games/freedink/default.nix
+++ b/pkgs/games/freedink/default.nix
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.freedink.org/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index 7a9dc110540..a4579ad2ae3 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
     sed -e '
       s@currentProbIndex != 100@0@;
     ' -i MainFrame.cpp
+    sed -re '/ctrans_prob/s/energy\[center][+]energy\[other]/(int)(fmin(energy[center]+energy[other],99))/g' -i Canvas.cpp
   '';
 
   installPhase = ''
diff --git a/pkgs/games/gav/default.nix b/pkgs/games/gav/default.nix
index d83358cd69d..d26dfc2401c 100644
--- a/pkgs/games/gav/default.nix
+++ b/pkgs/games/gav/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Remake of AV Arcade Volleyball";
     homepage = http://gav.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/gemrb/default.nix b/pkgs/games/gemrb/default.nix
index aae7241cf88..31e8ae05d00 100644
--- a/pkgs/games/gemrb/default.nix
+++ b/pkgs/games/gemrb/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.gcc.libc != null;
 
 stdenv.mkDerivation rec {
-  name = "gemrb-0.6.1";
+  name = "gemrb-0.8.0.1";
   
   src = fetchurl {
     url = "mirror://sourceforge/gemrb/${name}.tar.gz";
-    sha256 = "1jnid5nrasy0lglnx71zkvv2p59cxsnhvagy7r8lsmjild1k5l93";
+    sha256 = "0v9iypls4iawnfkc91hcdnmc4vyg3ix7v7lmw3knv73q145v0ksd";
   };
 
   buildInputs = [ cmake python openal SDL zlib libpng libvorbis ];
diff --git a/pkgs/games/glestae/default.nix b/pkgs/games/glestae/default.nix
index 89790bfacec..2fa9cd35f76 100644
--- a/pkgs/games/glestae/default.nix
+++ b/pkgs/games/glestae/default.nix
@@ -40,14 +40,11 @@ rec {
       
   meta = {
     description = "A 3D RTS - fork of inactive Glest project";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = [ a.lib.maintainers.raskin ];
+    platforms = a.lib.platforms.linux;
     # Note that some data seems to be under separate redistributable licenses
     license = a.lib.licenses.gpl2Plus;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/games/gltron/default.nix b/pkgs/games/gltron/default.nix
index b58654f1f42..d925c8810bf 100644
--- a/pkgs/games/gltron/default.nix
+++ b/pkgs/games/gltron/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.gltron.org/;
     description = "Game based on the movie Tron";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix
index 8a4bfe5f6ec..90a4a069c2a 100644
--- a/pkgs/games/gnuchess/default.nix
+++ b/pkgs/games/gnuchess/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="gnuchess";
-    version="6.0.3";
+    version="6.1.2";
     name="${baseName}-${version}";
-    hash="01ff8qd8pk39c6pv24wbcqkx78kvay8rxvgxqq9cqp9gqv39jfkw";
-    url="mirror://gnu/chess/gnuchess-6.0.3.tar.gz";
-    sha256="01ff8qd8pk39c6pv24wbcqkx78kvay8rxvgxqq9cqp9gqv39jfkw";
+    hash="15k6w9gycp566i0pa7ccajj9v3pw1mz1v62g1ni7czgs3j7i588l";
+    url="http://ftp.gnu.org/gnu/chess/gnuchess-6.1.2.tar.gz";
+    sha256="15k6w9gycp566i0pa7ccajj9v3pw1mz1v62g1ni7czgs3j7i588l";
   };
   buildInputs = [
     flex
diff --git a/pkgs/games/gnugo/default.nix b/pkgs/games/gnugo/default.nix
index 21c4195b28b..3f1d52c5fc0 100644
--- a/pkgs/games/gnugo/default.nix
+++ b/pkgs/games/gnugo/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   meta = {
     description = "GNU Go - A computer go player";
     homepage = "http://http://www.gnu.org/software/gnugo/";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 
 }
diff --git a/pkgs/games/gsb/default.nix b/pkgs/games/gsb/default.nix
index 52c3830c22a..757d3cf7681 100644
--- a/pkgs/games/gsb/default.nix
+++ b/pkgs/games/gsb/default.nix
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
     + ":" + stdenv.gcc.gcc + "/lib64";
 
   installPhase = ''
-    ensureDir $out/libexec/positech/GSB/
-    ensureDir $out/bin
+    mkdir -p $out/libexec/positech/GSB/
+    mkdir -p $out/bin
 
     patchelf \
       --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index 19567918377..3db7aecfe1a 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation {
-  name = "gtypist-2.9.3";
+  name = "gtypist-2.9.4";
 
   src = fetchurl {
-    url = "mirror://gnu/gtypist/gtypist-2.9.3.tar.xz";
-    sha256 = "0srwa841caci69hzqb47xfbxxf7fvz3640qka083p72vm8z9hsxw";
+    url = "mirror://gnu/gtypist/gtypist-2.9.4.tar.xz";
+    sha256 = "18f54lh7ihhfvgwk3xd9d087kmganrgi2jd7avhvwn5gcc31vrqq";
   };
 
   buildInputs = [ncurses];
diff --git a/pkgs/games/icbm3d/default.nix b/pkgs/games/icbm3d/default.nix
index ee792ef1e4d..7bdcc7afecd 100644
--- a/pkgs/games/icbm3d/default.nix
+++ b/pkgs/games/icbm3d/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.newbreedsoftware.com/icbm3d/;
     description = "3D vector-based clone of the atari game Missile Command";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index 6ab6b8d79d7..8668de26a19 100644
--- a/pkgs/games/instead/default.nix
+++ b/pkgs/games/instead/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Simple text adventure interpreter for Unix and Windows";
     homepage = http://instead.syscall.ru/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix
index 6d6370bb97b..c7b40db5caf 100644
--- a/pkgs/games/klavaro/default.nix
+++ b/pkgs/games/klavaro/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, curl, gtk, gtkdatabox }:
 
 stdenv.mkDerivation rec {
-  name = "klavaro-1.9.5";
+  name = "klavaro-2.00";
 
   src = fetchurl {
     url = "mirror://sourceforge/klavaro/${name}.tar.bz2";
-    sha256 = "06c35247866fb74f7c1a52a2350b352fdb44dace7216fdbebc1fa54990d14fc9";
+    sha256 = "1w94r7r132sg7554xhcgvymxxxgfas99lkgv6j3nmxa8m2fzhwlq";
   };
 
   buildInputs = [ pkgconfig intltool curl gtk gtkdatabox ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Just another free touch typing tutor program";
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix
index 70288e549a4..8fe7591cde0 100644
--- a/pkgs/games/kobodeluxe/default.nix
+++ b/pkgs/games/kobodeluxe/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://olofson.net/kobodl/;
     description = "Enhanced version of Akira Higuchi's game XKobo  for Un*x systems with X11";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix
index 4e886466777..8807831ef01 100644
--- a/pkgs/games/lincity/ng.nix
+++ b/pkgs/games/lincity/ng.nix
@@ -8,7 +8,9 @@ let s = # Generated upstream information
     version="2.0";
     name="lincity-2.0";
     hash="01k6n304qj0z5zmqr49gqirp0jmx2b0cpisgkxk1ga67vyjhdcm6";
-    url="http://download.berlios.de/lincity-ng/lincity-ng-2.0.tar.bz2";
+    url="http://pkgs.fedoraproject.org/repo/pkgs/lincity-ng/lincity-ng-2.0.tar.bz2"
+      + "/1bd0f58e0f2b131d70044f4230600ed1/lincity-ng-2.0.tar.bz2";
+      # berlios shut down; I found no better mirror
     sha256="01k6n304qj0z5zmqr49gqirp0jmx2b0cpisgkxk1ga67vyjhdcm6";
   };
   buildInputs = [zlib jam pkgconfig gettext libxml2 libxslt xproto libX11 mesa 
diff --git a/pkgs/games/liquidwar/default.nix b/pkgs/games/liquidwar/default.nix
index 292aa2ff190..cd7478d99c8 100644
--- a/pkgs/games/liquidwar/default.nix
+++ b/pkgs/games/liquidwar/default.nix
@@ -6,16 +6,16 @@ let
     expat gettext perl
     SDL SDL_image SDL_mixer SDL_ttf
     curl sqlite 
-    libogg libvorbis
-    libXrender
+    libogg libvorbis csound
+    libXrender libcaca cunit
   ];
 in
 rec {
-  name = "liquidwar6-0.0.13beta";
+  name = "liquidwar6-${meta.version}";
 
   src = a.fetchurl {
     url = "mirror://gnu/liquidwar6/${name}.tar.gz";
-    sha256 = "1jjf7wzb8jf02hl3473vz1q74fhmxn0szbishgi1f1j6a7234wx2";
+    sha256 = "1q58liqm5cgp494yjj6rfc2xj5b4gm8r8yvi46jzwqll353mabwl";
   };
 
   inherit buildInputs;
@@ -35,5 +35,8 @@ rec {
     ];
     platforms = with a.lib.platforms; 
       linux;
+  homepage = "http://www.gnu.org/software/liquidwar6/";
+  version = "0.4.3681";
+  updateWalker=true;
   };
 }
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
new file mode 100644
index 00000000000..12497579bdc
--- /dev/null
+++ b/pkgs/games/minecraft-server/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, jre }:
+
+with import <nixpkgs> {};
+
+stdenv.mkDerivation rec {
+  name    = "minecraft-server-${version}";
+  version = "1.7.10";
+
+  src  = fetchurl {
+    url    = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar";
+    sha256 = "1z7kf8wm27yq10rnlwlig7c2vc45x3sfbxslw4lxh9201kq70267";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib/minecraft
+    cp -v $src $out/lib/minecraft/server.jar
+
+    cat > $out/bin/minecraft-server << EOF
+    #!/bin/sh
+    exec ${jre}/bin/java \$@ -jar $out/lib/minecraft/server.jar nogui
+    EOF
+
+    chmod +x $out/bin/minecraft-server
+  '';
+
+  phases = "installPhase";
+
+  meta = {
+    description = "Minecraft Server";
+    homepage    = "https://minecraft.net";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 1f80998da92..9f79dd70c6a 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -1,12 +1,14 @@
-{stdenv, fetchurl, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm
+{ stdenv, fetchurl, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm
 , mesa, openal, alsaOss }:
 
+assert jre ? architecture;
+
 stdenv.mkDerivation {
-  name = "minecraft-1.4.7";
+  name = "minecraft-2013.07.01";
 
   src = fetchurl {
-    url = "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar";
-    sha256 = "92db974aa759a3f17f3cd61550fa5010e335c57dd813dad9e39b9cc013420a49";
+    url = "https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar";
+    sha256 = "04pj4l5q0a64jncm2kk45r7nxnxa2z9n110dcxbbahdi6wk0png8";
   };
 
   phases = "installPhase";
@@ -30,7 +32,7 @@ stdenv.mkDerivation {
   meta = {
       description = "A sandbox-building game";
       homepage = http://www.minecraft.net;
-      maintainers = [ stdenv.lib.maintainers.page stdenv.lib.maintainers.shlevy ];
+      maintainers = [ stdenv.lib.maintainers.page ];
       license = "unfree-redistributable";
   };
 }
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index f2ac737486c..f19596789ce 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -35,6 +35,6 @@ in stdenv.mkDerivation {
   meta = {
     homepage = "http://minetest.net/";
     description = "Infinite-world block sandbox game";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix
new file mode 100644
index 00000000000..1d23640ce8b
--- /dev/null
+++ b/pkgs/games/mnemosyne/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, fetchurl
+, buildPythonPackage
+, pyqt4
+, matplotlib
+, cherrypy
+, sqlite3
+}:
+let 
+  version = "2.2.1";
+in buildPythonPackage rec {
+  name = "mnemosyne-${version}";
+  src = fetchurl {
+    url    = "http://sourceforge.net/projects/mnemosyne-proj/files/mnemosyne/${name}/Mnemosyne-${version}.tar.gz";
+    sha256 = "7f5dd06a879b9ab059592355412182ee286e78e124aa25d588cacf9e4ab7c423";
+  };
+  pythonPath = [
+    pyqt4
+    matplotlib
+    cherrypy
+    sqlite3
+  ];
+  preConfigure = ''
+    substituteInPlace setup.py --replace /usr $out
+    find . -type f -exec grep -H sys.exec_prefix {} ';' | cut -d: -f1 | xargs sed -i s,sys.exec_prefix,\"$out\",
+  '';
+  installCommand = "python setup.py install --prefix=$out";
+  meta = {
+    homepage = "http://mnemosyne-proj.org/";
+    description = "Spaced-repetition software.";
+    longDescription = ''
+      The Mnemosyne Project has two aspects:
+
+        * It's a free flash-card tool which optimizes your learning process.
+        * It's a research project into the nature of long-term memory.
+
+      We strive to provide a clear, uncluttered piece of software, easy to use
+      and to understand for newbies, but still infinitely customisable through
+      plugins and scripts for power users.
+
+      ## Efficient learning
+
+      Mnemosyne uses a sophisticated algorithm to schedule the best time for
+      a card to come up for review. Difficult cards that you tend to forget
+      quickly will be scheduled more often, while Mnemosyne won't waste your
+      time on things you remember well.
+
+      ## Memory research
+
+      If you want, anonymous statistics on your learning process can be
+      uploaded to a central server for analysis. This data will be valuable to
+      study the behaviour of our memory over a very long time period. The
+      results will be used to improve the scheduling algorithms behind the
+      software even further.  
+    '';
+  };
+}
diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix
index 4516afaef6d..580b27ab21d 100644
--- a/pkgs/games/naev/default.nix
+++ b/pkgs/games/naev/default.nix
@@ -34,8 +34,9 @@ stdenv.mkDerivation {
   meta = {
     description = "2D action/rpg space game";
     homepage = http://www.naev.org;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/neverball/default.nix b/pkgs/games/neverball/default.nix
index 1ebb4b69b6e..2bec14a11c1 100644
--- a/pkgs/games/neverball/default.nix
+++ b/pkgs/games/neverball/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "19hdgdmv20y56xvbj4vk0zdmyaa8kv7df85advkchw7cdsgwlcga";
   };
 
-  buildInputs = [ SDL mesa libpng libjpeg SDL_ttf libvorbis gettext physfs];
+  buildInputs = [ libpng SDL mesa libjpeg SDL_ttf libvorbis gettext physfs];
 
   dontPatchElf = true;
 
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
new file mode 100644
index 00000000000..e40dec3c23f
--- /dev/null
+++ b/pkgs/games/nexuiz/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, fetchurl
+, # required for both
+  unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora
+, libogg, libmodplug
+, # glx
+  libX11, mesa, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
+, # sdl
+  SDL
+}:
+
+let
+  version = "2.5.2";
+
+  version_short = stdenv.lib.replaceChars [ "." ] [ "" ] "${version}";
+in stdenv.mkDerivation {
+  name = "nexuiz-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/nexuiz/nexuiz-${version_short}.zip";
+    sha256 = "0010jrxc68qqinkvdh1qn2b8z3sa5v1kcd8d1m4llp3pr6y7xqm5";
+  };
+
+  buildInputs = [
+    # required for both
+    unzip
+    # glx
+    libX11 mesa libXpm libXext libXxf86vm libXxf86dga alsaLib
+    # sdl
+    SDL
+  ];
+
+  postUnpack = ''
+    cd Nexuiz/sources/
+    unzip enginesource*.zip
+    cd ../../
+  '';
+
+  NIX_LDFLAGS = ''
+    -rpath ${zlib}/lib
+    -rpath ${curl}/lib
+    -rpath ${libjpeg}/lib
+    -rpath ${libpng}/lib
+    -rpath ${libvorbis}/lib
+    -rpath ${libtheora}/lib
+    -rpath ${libogg}/lib
+    -rpath ${libmodplug}/lib
+  '';
+
+  buildPhase = ''
+    cd sources/darkplaces/
+    DP_FS_BASEDIR="$out/share/nexuiz"
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
+    cd ../../
+  '';
+
+  installPhase = ''
+    mkdir -pv "$out/bin/"
+    cp -v sources/darkplaces/darkplaces-glx "$out/bin/nexuiz-glx"
+    cp -v sources/darkplaces/darkplaces-sdl "$out/bin/nexuiz-sdl"
+    cp -v sources/darkplaces/darkplaces-dedicated "$out/bin/nexuiz-dedicated"
+    mkdir -pv "$out/share/nexuiz/"
+    cp -rv data/ "$out/share/nexuiz/"
+    ln -s "$out/bin/nexuiz-sdl" "$out/bin/nexuiz"
+  '';
+
+  dontPatchELF = true;
+
+  meta = {
+    description = "A free fast-paced first-person shooter";
+    homepage = "http://www.alientrap.org/games/nexuiz";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/games/njam/default.nix b/pkgs/games/njam/default.nix
index 4062405407b..88cfbe98851 100644
--- a/pkgs/games/njam/default.nix
+++ b/pkgs/games/njam/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://trackballs.sourceforge.net/;
     description = "Cross-platform pacman-like game";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index b96fd7c3e9f..49dbb7ba82b 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -67,9 +67,10 @@ stdenv.mkDerivation {
       of Tower Defense. 
     '';
     homepage = http://oilrush-game.com/;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
     #maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 
 }
diff --git a/pkgs/games/openlierox/default.nix b/pkgs/games/openlierox/default.nix
index 0c7e46ae074..2dc4dece75f 100644
--- a/pkgs/games/openlierox/default.nix
+++ b/pkgs/games/openlierox/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir $out/bin $out/share/OpenLieroX
+    mkdir -p $out/bin $out/share/OpenLieroX
     cp bin/* $out/bin
     cp -R ../share/gamedir/* $out/share/OpenLieroX
   '';
@@ -34,6 +34,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://openlierox.net;
     description = "Real-time game with Worms-like shooting";
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix
new file mode 100644
index 00000000000..35057a5de75
--- /dev/null
+++ b/pkgs/games/openra/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, mono, makeWrapper, lua
+, SDL2, freetype, openal, systemd, pkgconfig
+}:
+
+let
+  version = "20140608";
+in stdenv.mkDerivation rec {
+  name = "openra-${version}";
+
+  meta = with stdenv.lib; {
+    description = "Real Time Strategy game engine recreates the C&C titles";
+    homepage    = "http://www.open-ra.org/";
+    license     = licenses.gpl3;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/OpenRA/OpenRA/archive/release-${version}.tar.gz";
+    sha256 = "0k7siysxb2nk7zzrl7vz1cwky4nla46ixzgxgc8rq6ilmlidh96b";
+  };
+
+  dontStrip = true;
+
+  buildInputs = [ lua ];
+  nativeBuildInputs = [ mono makeWrapper lua pkgconfig ];
+
+  patchPhase = ''
+    sed -i 's/^VERSION.*/VERSION = release-${version}/g' Makefile
+    substituteInPlace configure --replace /bin/bash "$shell" --replace /usr/local/lib "${lua}/lib"
+  '';
+
+  preConfigure = ''
+    makeFlags="prefix=$out"
+    make version
+  '';
+
+  postInstall = with stdenv.lib; let
+    runtime = makeLibraryPath [ SDL2 freetype openal systemd lua ];
+  in ''
+    wrapProgram $out/lib/openra/launch-game.sh \
+      --prefix PATH : "${mono}/bin" \
+      --set PWD $out/lib/openra/ \
+      --prefix LD_LIBRARY_PATH : "${runtime}"
+      
+    mkdir -p $out/bin
+    echo "cd $out/lib/openra && $out/lib/openra/launch-game.sh" > $out/bin/openra
+    chmod +x $out/bin/openra
+  '';
+}
diff --git a/pkgs/games/openspades/default.nix b/pkgs/games/openspades/default.nix
new file mode 100644
index 00000000000..7f11fc82903
--- /dev/null
+++ b/pkgs/games/openspades/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, cmake, curl, glew, makeWrapper, mesa, SDL2,
+  SDL2_image, unzip, wget, zlib, withOpenal ? true, openal ? null }:
+
+assert withOpenal -> openal != null;
+
+stdenv.mkDerivation rec {
+  name = "openspades-${version}";
+  version = "0.0.12";
+
+  src = fetchurl {
+    url = "https://github.com/yvt/openspades/archive/v${version}.tar.gz";
+    sha256 = "1aa848cck8qrp67ha9vrkzm3k24r2aiv1v4dxla6pi22rw98yxzm";
+  };
+
+  nativeBuildInputs = 
+    with stdenv.lib;
+    [ cmake curl glew makeWrapper mesa SDL2 SDL2_image unzip wget zlib ]
+    ++ optional withOpenal openal;
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DOPENSPADES_INSTALL_BINARY=bin" ];
+
+  # OpenAL is loaded dynamicly
+  postInstall = 
+    if withOpenal then ''
+      wrapProgram "$out/bin/openspades" \
+        --prefix LD_LIBRARY_PATH : "${openal}/lib"
+    '' 
+    else null;
+
+  meta = with stdenv.lib; {
+    description = "OpenSpades is a compatible client of Ace of Spades 0.75";
+    homepage    = "https://github.com/yvt/openspades/";
+    license     = licenses.gpl3;
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index bf9f6d1060e..1b6b7f26a41 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.3.2";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "02r7xfq9a5x1y2wpdhqyczaj48z0qan33hs4i2liahsg1k6w1vzn";
+    sha256 = "0gkmf2jj1rab81y10dp8cirr90kv9dpr3ww4wb06j8cvgapy7b0z";
   };
 
   buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ];
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
         - observe as spectators
     '';
     homepage = http://www.openttd.org/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ jcumming the-kenny ];
   };
diff --git a/pkgs/games/opentyrian/default.nix b/pkgs/games/opentyrian/default.nix
index 260b146217c..cfae6a4bb3e 100644
--- a/pkgs/games/opentyrian/default.nix
+++ b/pkgs/games/opentyrian/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchhg {
     url = "https://opentyrian.googlecode.com/hg/";
-    tag = "13ef8ce47362";
+    rev = "13ef8ce47362";
     md5 = "95c8f9e7ff3d4207f1c692c7cec6c9b0";
   };
 
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
   ";
   buildPhase = "make release";
   installPhase = "
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp ./opentyrian $out/bin
-    ensureDir $out/share/opentyrian/data
+    mkdir -p $out/share/opentyrian/data
     unzip -j $data -d $out/share/opentyrian/data
   ";
 
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
new file mode 100644
index 00000000000..19aff03daca
--- /dev/null
+++ b/pkgs/games/openxcom/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, cmake, mesa, zlib, openssl, libyamlcpp, boostHeaders
+, SDL, SDL_image, SDL_mixer, SDL_gfx }:
+
+let version = "1.0.0"; in
+stdenv.mkDerivation {
+  name = "openxcom-${version}";
+  src = fetchurl {
+    url = http://openxcom.org/file/1726/;
+    sha256 = "1rmg10nklvf86ckbbssyvbg5cd4p7in5zq3mas2yyffdjk9i40v6";
+    name = "openxcom-${version}.tar.gz";
+  };
+
+  buildInputs = [ cmake mesa zlib openssl libyamlcpp boostHeaders
+    SDL SDL_image SDL_mixer SDL_gfx ];
+
+  meta = {
+    description = "Open source clone of UFO: Enemy Unknown";
+    homepage = http://openxcom.org;
+    repositories.git = https://github.com/SupSuper/OpenXcom.git;
+    maintainers = [ stdenv.lib.maintainers.page ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/games/orbit/default.nix b/pkgs/games/orbit/default.nix
index 9769e6f5d67..de4c84f010c 100644
--- a/pkgs/games/orbit/default.nix
+++ b/pkgs/games/orbit/default.nix
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
 			[ customBuild doForceShare doPropagate]);
 	meta = {
 		description = "Orbit space flight simulator";
-		inherit src;
 	};
 }
 
diff --git a/pkgs/games/pioneers/default.nix b/pkgs/games/pioneers/default.nix
index 77e8ab3b92e..af9900cede5 100644
--- a/pkgs/games/pioneers/default.nix
+++ b/pkgs/games/pioneers/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://pio.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Addicting game based on The Settlers of Catan";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/games/planetaryannihilation/default.nix b/pkgs/games/planetaryannihilation/default.nix
new file mode 100755
index 00000000000..7c58b4ca1e8
--- /dev/null
+++ b/pkgs/games/planetaryannihilation/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, config, fetchurl, patchelf, makeWrapper, xlibs, gtk, glib, udev, alsaLib, atk
+, nspr, fontconfig, cairo, pango, nss, freetype, gnome3, gdk_pixbuf, curl, systemd, xorg }:
+
+# TODO: use dynamic attributes once Nix 1.7 is out
+assert ((config.planetary_annihilation or null).url or null) != null;
+assert ((config.planetary_annihilation or null).sha256 or null) != null;
+
+/* to setup:
+ $ cat ~/.nixpkgs/config.nix
+ {
+  planetary_annihilation = {
+    url = "file:///home/user/PA_Linux_62857.tar.bz2";
+    sha256 = "0imi3k5144dsn3ka9khx3dj76klkw46ga7m6rddqjk4yslwabh3k";
+  };
+}
+*/
+
+stdenv.mkDerivation {
+  name = "planetary-annihalation";
+
+  src = fetchurl {
+    inherit (config.planetary_annihilation) url sha256;
+  };
+
+  buildInputs = [ patchelf makeWrapper ];
+ 
+  installPhase = ''
+    mkdir -p $out/{bin,lib}
+
+    cp -R * $out/
+    mv $out/*.so $out/lib
+    rm $out/libstdc++.so.6
+    ln -s $out/PA $out/bin/PA
+
+    ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0
+
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" "$out/PA"
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc xlibs.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xlibs.libXext pango udev xlibs.libX11 xlibs.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xlibs.libXrender ]}:{stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host.bin" 
+
+    wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc xlibs.libX11 xlibs.libXcursor gtk glib curl "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64"
+
+    for f in $out/lib/*; do
+      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc curl xlibs.libX11 stdenv.glibc xlibs.libXcursor "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" $f
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.uberent.com/pa/;
+    description = "next-generation RTS that takes the genre to a planetary scale";
+    license = stdenv.lib.licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/games/pong3d/default.nix b/pkgs/games/pong3d/default.nix
index d5f9ca6ee23..98cf0dbeed8 100644
--- a/pkgs/games/pong3d/default.nix
+++ b/pkgs/games/pong3d/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.newbreedsoftware.com/3dpong/;
     description = "One or two player 3d sports game based on Pong from Atari";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/racer/default.nix b/pkgs/games/racer/default.nix
index 8969b613ceb..06e43fd273f 100644
--- a/pkgs/games/racer/default.nix
+++ b/pkgs/games/racer/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Car racing game";
     homepage = http://hippo.nipax.cz/download.en.php;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index 90ebab92942..26c7e0a3667 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -52,8 +52,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "3D simulator game where you can drive, fly and sail various vehicles";
     homepage = http://rigsofrods.sourceforge.net/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [viric raskin];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix
index 934213279fa..fbf47653af9 100644
--- a/pkgs/games/rili/default.nix
+++ b/pkgs/games/rili/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   
   meta = {
     homepage = http://ri-li.sourceforge.net;
-    license = "GPL2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "A children's train game";
     longDescription = ''
      Ri-li is an arcade game licensed under the GPL (General Public License).
diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix
index 8bec0f7b1a9..8f3fb53f7e3 100644
--- a/pkgs/games/sauerbraten/default.nix
+++ b/pkgs/games/sauerbraten/default.nix
@@ -12,10 +12,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="sauerbraten";
-    version="3331";
+    version="5000";
     name="${baseName}-r${version}";
     url="https://svn.code.sf.net/p/sauerbraten/code";
-    hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y";
+    hash="17libj7dslprlwppdk3vyxdcigbsa4czln8gdyz9j264m11z1cbh";
   };
 in
 rec {
@@ -66,7 +66,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
+    hydraPlatforms =
       # raskin: tested amd64-linux;
       # not setting platforms because it is 0.5+ GiB of game data
       [];
diff --git a/pkgs/games/scorched3d/default.nix b/pkgs/games/scorched3d/default.nix
index 3848f22ed20..cf55bcd597e 100644
--- a/pkgs/games/scorched3d/default.nix
+++ b/pkgs/games/scorched3d/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://scorched3d.co.uk/;
     description = "3D Clone of the classic Scorched Earth";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index 9c51db1ac98..42fa98e372d 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib }:
 
-stdenv.mkDerivation {
-  name = "scummvm-1.2.1";
+stdenv.mkDerivation rec {
+  name = "scummvm-1.7.0";
   
   src = fetchurl {
-    url = mirror://sourceforge/scummvm/scummvm-1.2.1.tar.bz2;
-    sha256 = "029abzvpz85accwk7x79w255wr83gnkqg3yc5n6ryl28zg00z3j8";
+    url = "mirror://sourceforge/scummvm/${name}.tar.bz2";
+    sha256 = "d9ff0e8cf911afa466d5456d28fef692a17d47ddecfd428bf2fef591237c2e66";
   };
   
   buildInputs = [ SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ];
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
index 645312dd54e..acc72449018 100644
--- a/pkgs/games/sdlmame/default.nix
+++ b/pkgs/games/sdlmame/default.nix
@@ -3,17 +3,17 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  version = "0.150.u0-1";
+  version = "0.151.u0-1";
   name    = "sdlmame-${version}";
 
   src = if stdenv.system == "x86_64-linux"
     then fetchurl {
       url    = "ftp://ftp.archlinux.org/community/os/x86_64/${name}-x86_64.pkg.tar.xz";
-      sha256 = "0393xnzrzq53szmicn96lvapm66wmlykdxaa1n7smx8a0mcz0kah";
+      sha256 = "1j9vjxhrhsskrlk5wr7al4wk2hh3983kcva42mqal09bmc8qg3m9";
     }
     else fetchurl {
       url    = "ftp://ftp.archlinux.org/community/os/i686/${name}-i686.pkg.tar.xz";
-      sha256 = "0js67w2szd0qs7ycgxb3bbmcdziv1fywyd9ihra2f6bq5rhcs2jp";
+      sha256 = "1i38j9ml66pyxzm0zzf1fv4lb40f6w47cdgaw846q91pzakkkqn7";
     };
 
   buildPhase = ''
diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix
index 65a61cb6cab..403fc88cb4a 100644
--- a/pkgs/games/simutrans/default.nix
+++ b/pkgs/games/simutrans/default.nix
@@ -4,7 +4,7 @@ let
   result = withPak (mkPak pak128);
 
   ver_1 = "112";
-  ver_2 = "1";
+  ver_2 = "3";
   ver_h2 = "${ver_1}-${ver_2}";
 
   # "pakset" of objects, images, text, music, etc.
@@ -23,11 +23,11 @@ let
   };
   pak64 = fetchurl {
     url = "mirror://sourceforge/simutrans/pak64/${ver_h2}/simupak64-${ver_h2}.zip";
-    sha256 = "1197rl2534wx9wdafarlr42qjw6pyghz4bynq2g68pi10h8csypw";
+    sha256 = "1ng963n2gvnwmsj73iy3gp9i5iqf5g6qk1gh1jnfm86gnjrsrq4m";
   };
   pak128 = fetchurl {
-    url = "mirror://sourceforge/simutrans/pak128/pak128%20for%20${ver_1}/pak128-2.2.0--${ver_1}.0.zip";
-    sha256 = "13rwv9q3fa3ac0k11ds7zkpd00k4mn14rb0cknknvyz46icb9n80";
+    url = "mirror://sourceforge/simutrans/pak128/pak128%20for%20${ver_1}/pak128-2.3.0--${ver_1}.2.zip";
+    sha256 = "0jcif6mafsvpvxh1njyd6z2f6sab0fclq3f3nlg765yp3i1bfgff";
   };
 
   withPak = pak: stdenv.mkDerivation {
@@ -44,7 +44,13 @@ let
 
     src = fetchurl {
       url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simutrans-src-${ver_h2}.zip";
-      sha256 = "1xrxpd5m2dc9bk8w21smfj28r41ji1qaihjwkwrifgz6rhg19l5c";
+      sha256 = "0jdq2krfj3qsh8dks9ixsdvpyjq9yi80p58b0xjpsn35mkbxxaca";
+    };
+
+    # this resource is needed since 112.2 because the folders in simutrans directory has been removed from source code
+    resources = fetchurl {
+      url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simulinux-${ver_h2}.zip";
+      sha256 = "14ly341pdkr8r3cd0q49w424m79iz38iaxfi9l1yfcxl8idkga1c";
     };
     sourceRoot = ".";
 
@@ -72,6 +78,7 @@ let
     installPhase = ''
       mkdir -p $out/share/
       mv simutrans $out/share/
+      unzip -o ${resources} -d $out/share/
 
       mkdir -p $out/bin/
       mv build/default/sim $out/bin/simutrans
@@ -87,7 +94,7 @@ let
       '';
 
       homepage = http://www.simutrans.com/;
-      license = "Artistic";
+      license = "perl";
       maintainers = [ stdenv.lib.maintainers.kkallio ];
       platforms = stdenv.lib.platforms.linux;
     };
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 811d8d432ce..a61d2f370d0 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -46,6 +46,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "free-noncopyleft";
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index e920b8c633e..e6105eab95b 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Car racing game - TORCS fork with more experimental approach";
     homepage = http://speed-dreams.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric raskin];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 109cb239d2b..539be06bf7f 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -1,35 +1,43 @@
 { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip
 , openal, libvorbis, glew, freetype, xlibs, SDL, mesa, binutils
-, jdk ? null, python ? null
+, asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper
+, jdk ? null, python ? null, systemd
 , withAI ? true # support for AI Interfaces and Skirmish AIs
 }:
+
 stdenv.mkDerivation rec {
 
   name = "spring-${version}";
-  version = "94.1";
+  version = "96.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma";
-    sha256 = "19myqwpz4mi4zdlcv8318dps0ymmw7qpawhq1rgk73ycmaiyaaka";
+    sha256 = "1axyqkxgv3a0zg0afzlc7j3lyi412zd551j317ci41yqz2qzf0px";
   };
 
-  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL
-    xlibs.libX11 xlibs.libXcursor mesa glew ]
+  cmakeFlags = ["-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON"
+                "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON"
+                "-DPREFER_STATIC_LIBS:BOOL=OFF"];
+
+  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL 
+    xlibs.libX11 xlibs.libXcursor mesa glew asciidoc libxslt docbook_xsl curl makeWrapper
+    docbook_xsl_ns systemd ]
     ++ stdenv.lib.optional withAI jdk
     ++ stdenv.lib.optional withAI python;
 
-  prePatch = ''
-    substituteInPlace cont/base/make_gamedata_arch.sh --replace "#!/bin/sh" "#!${stdenv.shell}/bin/sh" \
-      --replace "which" "type -p"
-  '';
+  # reported upstream http://springrts.com/mantis/view.php?id=4305
+  #enableParallelBuilding = true; # occasionally missing generated files on Hydra
 
-  enableParallelBuilding = true;
+  postInstall = ''
+    wrapProgram "$out/bin/spring" \
+      --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib::${systemd}/lib"
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://springrts.com/;
     description = "A powerful real-time strategy (RTS) game engine";
     license = licenses.gpl2;
-    maintainers = [ maintainers.phreedom maintainers.qknight ];
+    maintainers = [ maintainers.phreedom maintainers.qknight maintainers.iElectric ];
     platforms = platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index b78fd7d7788..35fdbc0a19e 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -1,16 +1,19 @@
 { stdenv, fetchurl, cmake, wxGTK, openal, pkgconfig, curl, libtorrentRasterbar, libpng, libX11
-, gettext, bash, gawk, boost}:
+, gettext, bash, gawk, boost, libnotify, gtk, doxygen, spring, makeWrapper }:
 stdenv.mkDerivation rec {
 
   name = "springlobby-${version}";
-  version = "0.169";
+  version = "0.195";
 
   src = fetchurl {
     url = "http://www.springlobby.info/tarballs/springlobby-${version}.tar.bz2";
-    sha256 = "1wr8q2ha3wh718rr5rg7l6v404nf1rgkg4wkja77rfqy7r18zn7g";
+    sha256 = "0hxxm97c74rvm78vlfn2byn0zjlrhankxdrs2hz73rdq6451h10b";
   };
 
-  buildInputs = [ cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11 ];
+  buildInputs = [
+    cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11
+    libnotify gtk doxygen makeWrapper
+  ];
 
   prePatch = ''
     substituteInPlace tools/regen_config_header.sh --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
@@ -23,13 +26,18 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  #buildPhase = "make VERBOSE=1";
+  postInstall = ''
+    wrapProgram $out/bin/springlobby \
+      --prefix PATH : "${spring}/bin" \
+      --set SPRING_BUNDLE_DIR "${spring}/lib"
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://springlobby.info/;
+    repositories.git = git://github.com/springlobby/springlobby.git;
     description = "Cross-platform lobby client for the Spring RTS project";
     license = licenses.gpl2;
-    maintainers = [ maintainers.phreedom maintainers.qknight];
+    maintainers = with maintainers; [ phreedom qknight iElectric ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index 80be4ec8595..c1273e9a20f 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   name = "steam-${version}";
 
   src = fetchurl {
-    url = "http://repo.steampowered.com/steam/archive/precise/steam-launcher_${version}_all.deb";
+    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam-launcher_${version}_all.deb";
     sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk";
   };
 
@@ -94,31 +94,28 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A digital distribution platform";
     homepage = http://store.steampowered.com/;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
 */
 
-{stdenv, fetchurl, dpkg}:
+{stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "steam-1.0.0.42";
+  name = "steam-1.0.0.48";
   src = fetchurl {
-    url = http://repo.steampowered.com/steam/archive/precise/steam-launcher_1.0.0.42_all.deb;
-    sha256 = "1jyvk0h1z78sdpvl4hs1kdvr6z2kwamf09vjgjx1f6j04kgqrfbw";
+    url = http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.48.tar.gz;
+    sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52";
   };
-  buildInputs = [ dpkg ];
-  unpackPhase = "true";
   installPhase = ''
-    mkdir -p $out
-    dpkg -x $src $out
-    cp -av $out/usr/* $out
-    rm -Rf $out/usr
+    make DESTDIR=$out install
+    mv $out/usr/* $out #*/
+    rmdir $out/usr
   '';
   
   meta = {
     description = "A digital distribution platform";
     homepage = http://store.steampowered.com/;
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
new file mode 100644
index 00000000000..6a54dd7512f
--- /dev/null
+++ b/pkgs/games/stepmania/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchhg, zlib, bzip2, pkgconfig, alsaLib, pulseaudio, libmad, libtheora,
+  libvorbis, libpng, libjpeg, mesa, gtk, ffmpeg, automake, autoconf, glew }:
+
+stdenv.mkDerivation rec {
+  name = "stepmania-5";
+
+  src = fetchhg {
+    url = "https://code.google.com/p/sm-ssc/";
+    # revision = "5fdf515a180e";
+    sha256 = "05v19giq7d956islr2r8350zfwc4h8sq89xlj93ccii8rp94cvvf";
+  };
+
+  buildInputs = [ zlib bzip2 pkgconfig alsaLib pulseaudio libmad libtheora
+                  libvorbis libpng libjpeg mesa gtk ffmpeg automake autoconf glew ];
+
+  preConfigure = "./autogen.sh";
+  postInstall = ''
+    mv "$out/stepmania 5/"* $out/
+    rmdir "$out/stepmania 5"
+    mkdir -p $out/bin
+    echo "#\!/bin/sh" > $out/bin/stepmania
+    echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${alsaLib}/lib' >> $out/bin/stepmania
+    echo "exec $out/stepmania" >> $out/bin/stepmania
+    chmod +x $out/bin/stepmania
+  '';
+
+  meta = with stdenv.lib; {
+      platforms = platforms.linux;
+      maintainers = maintainers.mornfall;
+  };
+}
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index 31fd25a5150..7b258deef8a 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Stunt Rally game with Track Editor, based on VDrift and OGRE";
     homepage = http://code.google.com/p/vdrift-ogre/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 46f22d332cc..29d3b4e4557 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     echo Building internal Irrlicht
     cd lib/irrlicht/source/Irrlicht/
+    cp "${mesa}"/include/GL/{gl,glx,wgl}ext.h .
     NDEBUG=1 make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
     cd -
   '';
@@ -35,6 +36,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://supertuxkart.sourceforge.net/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/super-tux/default.nix b/pkgs/games/super-tux/default.nix
index 945eaa7fbf8..c8e0d3f097f 100644
--- a/pkgs/games/super-tux/default.nix
+++ b/pkgs/games/super-tux/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   name = "supertux-${version}";
 
   src = fetchurl {
-    url = "http://download.berlios.de/supertux/supertux-${version}.tar.bz2";
+    url = "mirror://sourceforge/supertux.berlios/supertux-${version}.tar.bz2";
     sha256 = "15xdq99jy4hayr96jpqcp15rbr9cs5iamjirafajcrkpa61mi4h0";
   };
 
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
 
     homepage = http://supertux.lethargik.org/index.html;
 
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/games/teetertorture/default.nix b/pkgs/games/teetertorture/default.nix
index 18a911d563b..e5d9e5e9751 100644
--- a/pkgs/games/teetertorture/default.nix
+++ b/pkgs/games/teetertorture/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.newbreedsoftware.com/teetertorture/;
     description = "Simple shooting game with your cannon is sitting atop a teeter totter";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/tennix/default.nix b/pkgs/games/tennix/default.nix
index e06aec68b1a..83b2c62870e 100644
--- a/pkgs/games/tennix/default.nix
+++ b/pkgs/games/tennix/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://icculus.org/tennix/;
     description = "Tennix 2009 World Tennis Championship Tour";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix
index 979fcd1a48c..44d07cf3ffd 100644
--- a/pkgs/games/the-butterfly-effect/default.nix
+++ b/pkgs/games/the-butterfly-effect/default.nix
@@ -3,9 +3,9 @@ x@{builderDefsPackage
   ,fetchsvn
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     ["fetchsvn"];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -54,7 +54,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "GPLv2";
+    license = a.stdenv.lib.licenses.gpl2;
   };
   passthru = {
     inherit srcDrv;
@@ -63,4 +63,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
new file mode 100644
index 00000000000..a2355ba9d1e
--- /dev/null
+++ b/pkgs/games/tibia/default.nix
@@ -0,0 +1,57 @@
+{stdenv, fetchurl, patchelf, glibc, libX11, mesa}:
+
+with stdenv.lib;
+assert stdenv.isi686;
+stdenv.mkDerivation {
+  name = "tibia-10.41";
+
+  src = fetchurl {
+    url = http://static.tibia.com/download/tibia1041.tgz;
+    sha256 = "1hmqn9c6qaa79ldcnl4ws9dm6rd3ymy48fw254pl6g601amn7b8v";
+  };
+
+  shell = stdenv.shell;
+
+  # These binaries come stripped already and trying to strip after the
+  # files are in $out/res and after patchelf just breaks them.
+  # Strangely it works if the files are in $out but then nix doesn't
+  # put them in our PATH. We set all the files to $out/res because
+  # we'll be using a wrapper to start the program which will go into
+  # $out/bin.
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -pv $out/res
+    cp -r ./* $out/res
+
+    patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
+             --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${mesa}/lib \
+             "$out/res/Tibia"
+
+    # We've patchelf'd the files. The main ‘Tibia’ binary is a bit
+    # dumb so it looks for ‘./Tibia.dat’. This requires us to be in
+    # the same directory as the file itself but that's very tedious,
+    # especially with nix which changes store hashes. Here we generate
+    # a simple wrapper that we put in $out/bin which will do the
+    # directory changing for us.
+
+    mkdir -pv $out/bin
+
+    # The wrapper script itself. We use $LD_LIBRARY_PATH for libGL.
+    cat << EOF > "$out/bin/Tibia"
+    #!${stdenv.shell}
+    cd $out/res
+    ${glibc}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@"
+    EOF
+
+    chmod +x $out/bin/Tibia
+
+  '';
+
+  meta = {
+    description = "Top-down MMORPG set in a fantasy world";
+    homepage = "http://tibia.com";
+    license = stdenv.lib.licenses.unfree;
+    platforms = ["i686-linux"];
+  };
+}
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
new file mode 100644
index 00000000000..c2bc9d37b4f
--- /dev/null
+++ b/pkgs/games/tintin/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, zlib, pcre }:
+
+stdenv.mkDerivation rec {
+  name = "tintin-2.00.9";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/tintin/${name}.tar.gz";
+    sha256 = "0x8jakxx7hh7b0z6vjcxyrda0afbz2s2yy7mvrbxjffyc2dyxzna";
+  };
+
+  buildInputs = [ zlib pcre ];
+
+  preConfigure = ''
+    cd src
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free MUD client for Mac OS X, Linux and Windows";
+    homepage    = http://tintin.sourceforge.net;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/games/torcs/default.nix b/pkgs/games/torcs/default.nix
index f5b713ae337..e6370d6e7c6 100644
--- a/pkgs/games/torcs/default.nix
+++ b/pkgs/games/torcs/default.nix
@@ -3,11 +3,11 @@ libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, libvorbis,
 libpng, zlib, bash }:
 
 stdenv.mkDerivation rec {
-  name = "torcs-1.3.2";
+  name = "torcs-1.3.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/torcs/${name}.tar.bz2";
-    sha256 = "0171ixhnd9cs8jkwa5awrxklfgyykcbc9m8270b8cw30lsx7qhp1";
+    sha256 = "170ff98smkkv1sk4nbz9w0alhmmbr32djmgbc08lcfhf0lj2ni38";
   };
 
   patchPhase = ''
@@ -24,8 +24,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Car racing game";
     homepage = http://torcs.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index bef4b63b0cc..5c175be8af0 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -73,5 +73,6 @@ stdenv.mkDerivation rec {
     license = [ "GPLv2" ];  # media under cc by-sa 2.5
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix
index 2a25c290b2d..a5ae8ec8b6d 100644
--- a/pkgs/games/trigger/default.nix
+++ b/pkgs/games/trigger/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Rally";
     homepage = http://trigger-rally.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/games/typespeed/default.nix b/pkgs/games/typespeed/default.nix
new file mode 100644
index 00000000000..169c74621d7
--- /dev/null
+++ b/pkgs/games/typespeed/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation {
+  name = "typespeed-0.6.5";
+  buildInputs = [ ncurses ];
+  src = fetchurl {
+    url = http://typespeed.sourceforge.net/typespeed-0.6.5.tar.gz;
+    sha256 = "5c860385ceed8a60f13217cc0192c4c2b4705c3e80f9866f7d72ff306eb72961";
+  };
+
+  patches = [ ./typespeed-config-in-home.patch ];
+
+  configureFlags = "--datadir=\${out}/share/";
+
+  meta = {
+    description = "A curses based typing game.";
+    homepage = http://typespeed.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/games/typespeed/typespeed-config-in-home.patch b/pkgs/games/typespeed/typespeed-config-in-home.patch
new file mode 100644
index 00000000000..fe313a4392e
--- /dev/null
+++ b/pkgs/games/typespeed/typespeed-config-in-home.patch
@@ -0,0 +1,148 @@
+diff --git a/src/file.c b/src/file.c
+index d1d1982..1655f6f 100644
+--- a/src/file.c
++++ b/src/file.c
+@@ -125,6 +125,8 @@ int			 hcompar(const void *, const void *);
+ int			 loadscores(char *);
+ static int		 parseline(char *, char **, char **);
+ void			 readconfig(void);
++void			 mkconfig(char *filename);
++void			 mkscore(char *filename);
+ static void		 readfile(char *, int);
+ static void		 setoptions(char *, char *, int);
+ 
+@@ -1125,7 +1127,7 @@ void
+ readconfig(void)
+ {
+ 	char *envhome;
+-	char userhigh[MAXPATHLEN], userconf[MAXPATHLEN];
++	char userhigh[MAXPATHLEN], userconf[MAXPATHLEN], confdir[MAXPATHLEN];
+ 	struct stat sb;
+ 
+ 	if (xsnprintf(ruledir, sizeof(ruledir), "%s", RULEDIR)) {
+@@ -1140,18 +1142,33 @@ readconfig(void)
+ 	readfile(CONFIGFILE, 1);
+ 
+ 	if ((envhome = getenv("HOME")) == NULL)
+-		return;
++		xerr(1, "readconfig: environment variable HOME not set");
+ 
+ 	if (xsnprintf(userconf, sizeof(userconf), "%s/.typespeed/config",
+-	    envhome))
+-		return;
++				envhome))
++		xerr(1, "readconfig: string error");
++	if (xsnprintf(userhigh, sizeof(userhigh), "%s/.typespeed/score",
++				envhome))
++		xerr(1, "readconfig: string error");
+ 
+ 	if (stat(userconf, &sb) || (sb.st_mode & S_IFMT) != S_IFREG)
+-		return;
+-
+-	if (xsnprintf(userhigh, sizeof(userhigh), "%s/.typespeed/score",
+-	    envhome))
+-		return;
++	{
++		if (xsnprintf(confdir, sizeof(confdir), "%s/.typespeed",
++					envhome))
++			xerr(1, "readconfig: string error");
++		if(stat(confdir, &sb) == -1)
++			if(mkdir(confdir, S_IRWXU | S_IRWXG | S_IRWXO))
++				xerr(1, "readconfig: could not create config directory %s",
++					confdir);
++		/* create the user configuration with default values */
++		mkconfig(userconf);
++	}
++  /* check for the high score file */
++	if (stat(userhigh, &sb) || (sb.st_mode & S_IFMT) != S_IFREG)
++	{
++		/* create a blank high score file */
++		mkscore(userhigh);
++	}
+ 
+ 	/*
+ 	 * Open a user writable high score.
+@@ -1159,14 +1176,48 @@ readconfig(void)
+ 	 * file. Protect system-wide high score file with group
+ 	 * write permissions: privileged gid already dropped.
+ 	 */
+-	if (close(hfd) == -1)
+-		xerr(1, "readconfig: close");
+-	if ((hfd = open(userhigh, O_RDWR, 0)) == -1)
++	if ((hfd = open(userhigh, O_RDWR)) == -1)
+ 		xerr(1, "readconfig: open: %s", userhigh);
+ 
+ 	readfile(userconf, 1);
+ }
+ 
++#define DEFAULT_CONFIG	"cheat = no\n" \
++			"highorder = score cps tcps\n" \
++			"ruledir = " RULEDIR "\n" \
++			"worddir = " WORDDIR "\n"
++
++/*
++ * Create the user configuration, with default values, at the given path.
++ */
++void
++mkconfig(char *filename)
++{
++	int cfd;
++
++	if((cfd = open(filename, O_WRONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO)) == -1)
++		xerr(1, "mkconfig: open: %s", filename);
++	if(write(cfd, DEFAULT_CONFIG, sizeof(DEFAULT_CONFIG)/sizeof(DEFAULT_CONFIG[0]) - 1) == -1)
++		xerr(1, "mkconfig: write: %s", filename);
++	if(close(cfd) == -1)
++		xerr(1, "mkconfig: close: %s", filename);
++}
++
++/*
++ * Create the user high score file, which is just a blank file.
++ */
++void
++mkscore(char *filename)
++{
++	int sfd;
++	if((sfd = open(filename, O_WRONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO)) == -1)
++		xerr(1, "mkscore: open: %s", filename);
++	if(write(sfd, "", 0) == -1)
++		xerr(1, "mkconfig: write: %s", filename);
++	if(close(sfd) == -1)
++		xerr(1, "mkconfig: close: %s", filename);
++}
++
+ /*
+  * Function used to open configuration and game rule files and to
+  * set options with function setoptions.
+diff --git a/src/typespeed.c b/src/typespeed.c
+index 7ac5ee2..77e9acb 100644
+--- a/src/typespeed.c
++++ b/src/typespeed.c
+@@ -319,8 +319,13 @@ main(int argc, char **argv)
+ 		progname++;
+ 
+ 	/* just open high score file while being setgid games */
+-	if ((hfd = open(HIGHFILE, O_RDWR, 0)) == -1)
+-		xerr(1, "main: open: %s", HIGHFILE);
++  /*
++   * For NixOS, a global high score file doesn't make sense, so we just comment
++   * this out. A high score file in the user's home directory will be opened
++   * later in readconfig().
++   */
++/*	if ((hfd = open(HIGHFILE, O_RDWR, 0)) == -1)
++		xerr(1, "main: open: %s", HIGHFILE);  */
+ 
+ #ifndef WIN32
+ 	/* drop privileges */
+@@ -348,9 +353,9 @@ main(int argc, char **argv)
+ #endif /* WIN32 */
+ 
+ 	/* check file descriptors for consistency */
+-	if (hfd == STDIN_FILENO || hfd == STDOUT_FILENO ||
++/*	if (hfd == STDIN_FILENO || hfd == STDOUT_FILENO ||
+ 	    hfd == STDERR_FILENO)
+-		exit(1);
++		exit(1);  */
+ 	if (!isatty(STDIN_FILENO) || !isatty(STDOUT_FILENO) ||
+ 	    !isatty(STDERR_FILENO))
+ 		xerrx(1, "not fully connected to a terminal");
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index d9955aec3eb..0d909e1c43c 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://ufoai.org;
     description = "A squad-based tactical strategy game in the tradition of X-Com";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix
index dc221f37dd6..c90972db66e 100644
--- a/pkgs/games/ultimatestunts/default.nix
+++ b/pkgs/games/ultimatestunts/default.nix
@@ -10,10 +10,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL mesa SDL_image freealut openal libvorbis pkgconfig ];
 
+  postPatch = ''
+    sed -e '1i#include <unistd.h>' -i $(find . -name '*.c' -o -name '*.cpp')
+  '';
+
   meta = {
     homepage = http://www.ultimatestunts.nl/;
     description = "Remake of the popular racing DOS-game Stunts";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 710d14cb86c..47fcd2dc4cf 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
   # The fpc is not properly wrapped to add -rpath. I add this manually.
   # I even do a trick on lib/lib64 for libgcc, that I expect it will work.
   preBuild = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL}/lib -rpath ${SDL_image}/lib -rpath ${libpng}/lib -rpath ${freetype}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg}/lib -rpath ${zlib}/lib -rpath ${sqlite}/lib -rpath ${libX11}/lib -rpath ${pcre}/lib -rpath ${stdenv.gcc.gcc}/lib64 -rpath ${stdenv.gcc.gcc}/lib"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL}/lib -rpath ${SDL_image}/lib -rpath ${libpng}/lib -rpath ${freetype}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg}/lib -rpath ${zlib}/lib -rpath ${sqlite}/lib -rpath ${libX11}/lib -rpath ${pcre}/lib -rpath ${lua}/lib -rpath ${stdenv.gcc.gcc}/lib64 -rpath ${stdenv.gcc.gcc}/lib"
+
+    sed -i 414,424d Makefile
   '';
 
   # dlopened libgcc requires the rpath not to be shrinked
@@ -24,6 +26,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://ultrastardx.sourceforge.net/;
     description = "Free and open source karaoke game";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
index 2768d2fad9e..9ba3a442eb7 100644
--- a/pkgs/games/unvanquished/default.nix
+++ b/pkgs/games/unvanquished/default.nix
@@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
     homepage = http://unvanquished.net;
     #license = "unknown";
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    platforms = stdenv.lib.platforms.linux;
     # This package can take a lot of disk space, so unavailable from channel
-    #platforms = with stdenv.lib.platforms; linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 07055c41558..9d233d38338 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -102,7 +102,7 @@ in stdenv.mkDerivation rec {
       - to adapt the code so that people can more easily make their own spin-offs, thereby making zillions more people happy!
     '';
     homepage = http://sc2.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with maintainers; [ jcumming aszlig ];
   };
 }
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 535e575fdc4..c7144b96a3d 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, unzip, SDL, mesa, openal, curl }:
 stdenv.mkDerivation rec {
   name = "urbanterror-${version}";
-  version = "4.2.009";
+  version = "4.2.018";
   srcs =
     [ (fetchurl {
-         url = "http://download.urbanterror.info/urt/42/zips/UrbanTerror42_full_009.zip";
-         sha256 = "0m423zy6l1z4kxz55knlh1ypnqq58ghh08i8ziv4lm00ygm6mx2i";
+         url = "http://mirror.urtstats.net/urbanterror/UrbanTerror42_full018.zip";
+         sha256 = "10710c5b762687a75a7abd3cc56de005ce12dcb7ac14c08f40bcb4e9d96f4e83";
        })
       (fetchurl {
-         url = "https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-4.2.007.tar.gz";
-         sha256 = "1299j0i94697m2bbcgraxfbb7q1g6nc43l1xqlgqvcsjp799mwwn";
+         url = "https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-4.2.018.tar.gz";
+         sha256 = "c1fb3eb3a1e526247352b1c6abb5432b8a9b8730731ef917e4e5d21a152fb494";
        })
     ];
   buildInputs = [ unzip SDL mesa openal curl ];
-  sourceRoot = "ioq3-for-UrbanTerror-4-release-4.2.007";
+  sourceRoot = "ioq3-for-UrbanTerror-4-release-4.2.018";
   configurePhase = ''
     echo "USE_OPENAL = 1" > Makefile.local
     echo "USE_OPENAL_DLOPEN = 0" >> Makefile.local
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.urbanterror.net;
     license = [ "unfree-redistributable" ];
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index 97bd1ab432d..bba7823f663 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -29,8 +29,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Car racing game";
     homepage = http://vdrift.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/vectoroids/default.nix b/pkgs/games/vectoroids/default.nix
index 6f0fb48f0a5..f87633e299b 100644
--- a/pkgs/games/vectoroids/default.nix
+++ b/pkgs/games/vectoroids/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.newbreedsoftware.com/vectoroids/;
     description = "Clone of the classic arcade game Asteroids by Atari";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/vessel/default.nix b/pkgs/games/vessel/default.nix
index 9b9dd6c1f43..8a92490b6e0 100644
--- a/pkgs/games/vessel/default.nix
+++ b/pkgs/games/vessel/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
     + ":" + stdenv.lib.makeLibraryPath [ SDL pulseaudio alsaLib ] ;
 
   installPhase = ''
-    ensureDir $out/libexec/strangeloop/vessel/
-    ensureDir $out/bin
+    mkdir -p $out/libexec/strangeloop/vessel/
+    mkdir -p $out/bin
 
     # allow scripting of the mojoinstaller
     gcc -fPIC -shared -o isatty.so $ld_preload
diff --git a/pkgs/games/warmux/default.nix b/pkgs/games/warmux/default.nix
index ff2ce6bb819..ad633d15a8c 100644
--- a/pkgs/games/warmux/default.nix
+++ b/pkgs/games/warmux/default.nix
@@ -30,10 +30,12 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
 
   configureFlags = "CFLAGS=\"-include ${zlib}/include/zlib.h\"";
 
+  patches = [ ./gcc-fix.patch ];
+
   meta = {
     description = "Ballistics turn-based battle game between teams";
     maintainers = with a.lib.maintainers;
diff --git a/pkgs/games/warmux/gcc-fix.patch b/pkgs/games/warmux/gcc-fix.patch
new file mode 100644
index 00000000000..1ac476b92a3
--- /dev/null
+++ b/pkgs/games/warmux/gcc-fix.patch
@@ -0,0 +1,36 @@
+## i-love-you-lordheavy.patch [diff]
+diff -ru warmux-11.04/lib/warmux/action/action.cpp warmux-11.04-new/lib/warmux/action/action.cpp
+--- warmux-11.04/lib/warmux/action/action.cpp	2011-04-28 21:03:14.000000000 +0200
++++ warmux-11.04-new/lib/warmux/action/action.cpp	2012-01-29 09:51:16.680251815 +0100
+@@ -81,7 +81,7 @@
+ }
+ 
+ // Build an action from a network packet
+-Action::Action(const char *buffer, DistantComputer* _creator)
++Action::Action(char *buffer, DistantComputer* _creator)
+ {
+   m_creator = _creator;
+ 
+diff -ru warmux-11.04/lib/warmux/include/WARMUX_action.h warmux-11.04-new/lib/warmux/include/WARMUX_action.h
+--- warmux-11.04/lib/warmux/include/WARMUX_action.h	2011-04-28 21:03:13.000000000 +0200
++++ warmux-11.04-new/lib/warmux/include/WARMUX_action.h	2012-01-29 09:52:14.246921833 +0100
+@@ -168,7 +168,7 @@
+   Action(Action_t type, Double value1, Double value2);
+ 
+   // Build an action from a network packet
+-  Action(const char* buffer, DistantComputer* _creator);
++  Action(char* buffer, DistantComputer* _creator);
+ 
+   ~Action();
+ 
+Description: Fix FTBFS with gcc 4.7.
+Author: Felix Geyer <debfx-pkg@fobos.de>
+
+--- warmux-11.04.1+repack.orig/tools/list_games/main.cpp
++++ warmux-11.04.1+repack/tools/list_games/main.cpp
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <unistd.h>
+ #include <WARMUX_types.h>
+ #include <WARMUX_network.h>
+ #include <WARMUX_index_server.h>
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 7468ccdd2b8..284d420fe7f 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -1,23 +1,35 @@
-{ stdenv, fetchurl, bison, flex, gettext, pkgconfig, SDL, libpng, libtheora
-, openal, popt, physfs, mesa, quesoglc, zip, unzip, which
+{ stdenv, fetchurl, bison, flex, gettext, pkgconfig, libpng
+, libtheora, openalSoft, physfs, mesa, fribidi, fontconfig
+, freetype, qt4, glew, libogg, libvorbis, zlib, libX11
+, libXrandr, zip, unzip, which
+, withVideos ? false
 }:
 stdenv.mkDerivation rec {
   pname = "warzone2100";
-  version = "2.3.9";
+  version = "3.1.1";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "1nvs4slnl75b64pf9gwcpbra56jzcbxyv83fis5pki69aavkp14y";
+    url = "mirror://sourceforge/${pname}/releases/${version}/${name}.tar.xz";
+    sha256 = "c937a2e2c7afdad00b00767636234bbec4d8b18efb008073445439d32edb76cf";
   };
-  buildInputs = [ bison flex gettext pkgconfig SDL libpng libtheora openal
-                  popt physfs mesa quesoglc zip unzip
+  sequences_src = fetchurl {
+    url = "mirror://sourceforge/${pname}/warzone2100/Videos/high-quality-en/sequences.wz";
+    sha256 = "90ff552ca4a70e2537e027e22c5098ea4ed1bc11bb7fc94138c6c941a73d29fa";
+  };
+  buildInputs = [ bison flex gettext pkgconfig libpng libtheora openalSoft
+                  physfs mesa fribidi fontconfig freetype qt4
+                  glew libogg libvorbis zlib libX11 libXrandr zip
+                  unzip
                 ];
   patchPhase = ''
     substituteInPlace lib/exceptionhandler/dumpinfo.cpp \
                       --replace "which %s" "${which}/bin/which %s"
-    substituteInPlace lib/exceptionhandler/exceptionhandler.c \
+    substituteInPlace lib/exceptionhandler/exceptionhandler.cpp \
                       --replace "which %s" "${which}/bin/which %s"
   '';
+  configureFlags = "--with-backend=qt --with-distributor=NixOS";
+  postInstall = []
+    ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
   meta = {
     description = "A free RTS game, originally developed by Pumpkin Studios";
     longDescription = ''
diff --git a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch
deleted file mode 100644
index f008be35e37..00000000000
--- a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- widelands-build17-src.old/CMakeLists.txt	2012-04-23 02:46:49.000000000 -0700
-+++ widelands-build17-src/CMakeLists.txt	2012-07-14 19:49:14.000000000 -0700
-@@ -140,8 +140,6 @@
- else (WL_UNIT_TESTS)
-   message(STATUS "Disabled Unit Tests")
-   set (Boost_FIND_COMPONENTS signals)
--  set (Boost_USE_STATIC_LIBS   ON)
--  set (Boost_USE_MULTITHREADED ON)
-   set (Boost_DETAILED_FAILURE_MSG ON)
-   find_package(Boost 1.35.0 COMPONENTS signals REQUIRED)
- endif (WL_UNIT_TESTS)
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index e20adc8faa7..b6008bd7e76 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -1,76 +1,46 @@
-x@{builderDefsPackage
-  , libjpeg, boost, SDL, SDL_gfx, SDL_image, SDL_net, SDL_ttf, SDL_sound
-  , gettext, zlib, libiconv, libpng, python, expat, lua5, glew, doxygen
-  , cmake, ggz_base_libs, mesa, SDL_mixer
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, cmake, python, gettext
+, boost, libpng, zlib, glew, lua
+, SDL, SDL_image, SDL_mixer, SDL_net, SDL_ttf, SDL_gfx
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="widelands";
-    version="build17";
-    name="${baseName}-${version}";
-    project="${baseName}";
-    url="https://launchpadlibrarian.net/102893896/widelands-build17-src.tar.bz2";
-    hash="be48b3b8f342a537b39a3aec2f7702250a6a47e427188ba3bece67d7d90f3cc5";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["killBuildDir" "doPatch"  "doCmake" "doMakeInstall" "createScript"];
-
-  patches = [ ./boost_and_cmake_die_die_die.patch ]; 
-      
-  killBuildDir = a.fullDepEntry ''
-    rm -r build
-  '' ["minInit" "doUnpack"];
-
-  cmakeFlags = [
-    "-DLUA_LIBRARIES=-llua"
-    "-DWL_PORTABLE=true"
-  ];
-
-  createScript = a.fullDepEntry ''
-    mkdir -p "$out/bin"
-    echo '#! ${a.stdenv.shell}' >> "$out/bin/widelands"
-    echo "cd \"$out/share/games/widelands\"" >> "$out/bin/widelands"
-    echo "\"$out/games/widelands\" \"\$@\"" >> "$out/bin/widelands"
-    chmod a+x "$out/bin/widelands"
-  '' ["minInit"];
+stdenv.mkDerivation {
+  name = "widelands-18";
 
-  meta = {
-    description = "Widelands RTS with multiple-goods economy";
+  meta = with stdenv.lib; {
+    description = "RTS with multiple-goods economy";
+    homepage    = "http://widelands.org/";
     longDescription = ''
       Widelands is a real time strategy game based on "The Settlers" and "The
       Settlers II". It has a single player campaign mode, as well as a networked
-      multiplayer mode. 
+      multiplayer mode.
     '';
-
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-      jcumming
-    ];
-    #platforms = a.lib.platforms.linux;
-    license = a.lib.licenses.gpl2Plus;
+    license        = licenses.gpl2Plus;
+    platforms      = platforms.linux;
+    maintainers    = with maintainers; [ raskin jcumming ];
+    hydraPlatforms = [];
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "https://launchpad.net/widelands/+download";
-    };
+
+
+  src = fetchurl {
+    url = "https://launchpad.net/widelands/build18/build-18/+download/"
+        + "widelands-build18-src.tar.bz2";
+    sha256 = "1qvx1cwkf61iwq0qkngvg460dsxqsfvk36qc7jf7mzwkiwbxkzvd";
   };
-}) x
 
+  preConfigure = ''
+    cmakeFlags="
+      -DWL_INSTALL_PREFIX=$out
+      -DWL_INSTALL_BINDIR=bin
+      -DWL_INSTALL_DATADIR=share/widelands
+    "
+  '';
+
+  nativeBuildInputs = [ cmake python gettext ];
+
+  buildInputs = [
+    boost libpng zlib glew lua
+    SDL SDL_image SDL_mixer SDL_net SDL_ttf SDL_gfx
+  ];
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 13e7e487c8f..c39ffb1de05 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -50,8 +50,8 @@ stdenv.mkDerivation rec {
     + ":" + stdenv.gcc.gcc + "/lib64";
 
   installPhase = ''
-    ensureDir $out/libexec/2dboy/WorldOfGoo/
-    ensureDir $out/bin
+    mkdir -p $out/libexec/2dboy/WorldOfGoo/
+    mkdir -p $out/bin
 
     patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath $libPath ./WorldOfGoo.bin64
 
diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix
index 45411263876..97414c07bda 100644
--- a/pkgs/games/xboard/default.nix
+++ b/pkgs/games/xboard/default.nix
@@ -5,11 +5,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="xboard";
-    version="4.7.2";
+    version="4.7.3";
     name="${baseName}-${version}";
-    hash="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv";
-    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.2.tar.gz";
-    sha256="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv";
+    hash="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z";
+    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.3.tar.gz";
+    sha256="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z";
   };
   buildInputs = [
     libX11 xproto libXt libXaw libSM libICE libXmu 
diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix
index ed37227bb03..5695bb5b429 100644
--- a/pkgs/games/xmoto/default.nix
+++ b/pkgs/games/xmoto/default.nix
@@ -15,7 +15,11 @@ rec {
   configureFlags = [];
 
   /* doConfigure should be removed if not needed */
-  phaseNames = [ "doConfigure" "doMakeInstall"];
+  phaseNames = [ "patchIncludes" "doConfigure" "doMakeInstall"];
+  patchIncludes = a.fullDepEntry ''
+    sed -e '1i#include <sys/types.h>' -i src/helpers//System.cpp
+    sed -e '1i#include <unistd.h>' -i src/helpers//System.cpp
+  '' ["doUnpack" "minInit"];
 
   meta = {
     description = "X-Moto - obstacled race game";
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 957d7b2c7f4..9db82d722d2 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -1,16 +1,28 @@
-{ stdenv, fetchurl, unzip, SDL, libjpeg, zlib, libvorbis, curl }:
+{ stdenv, fetchurl
+, # required for both
+  unzip, libjpeg, zlib, libvorbis, curl
+, # glx
+  libX11, mesa, libXpm, libXext, libXxf86vm, alsaLib
+, # sdl
+  SDL
+}:
 
 stdenv.mkDerivation rec {
-  name = "xonotic-0.5.0";
+  name = "xonotic-0.7.0";
 
   src = fetchurl {
     url = "http://dl.xonotic.org/${name}.zip";
-    sha256 = "03vkbddffnz6ws3gkwc3qvi6icfsyiqq0dqw2vw5hj2kidm25rsq";
+    sha256 = "21a5fb5493c269cd3843789cb8598f952d4196e8bc71804b9bd5808b646542c6";
   };
 
-  # Commented out things needed to build cl-release because of errors.
-  #buildInputs = [ libX11 libXpm libXext xf86dgaproto libXxf86dga libXxf86vm mesa ];
-  buildInputs = [ unzip SDL libjpeg ];
+  buildInputs = [
+    # required for both
+    unzip libjpeg
+    # glx
+    libX11 mesa libXpm libXext libXxf86vm alsaLib
+    # sdl
+    SDL
+  ];
 
   sourceRoot = "Xonotic/source/darkplaces";
 
@@ -27,7 +39,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     DP_FS_BASEDIR="$out/share/xonotic"
-    #make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
     make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
     make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
   '';
@@ -36,9 +48,13 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/bin"
     cp darkplaces-dedicated "$out/bin/xonotic-dedicated"
     cp darkplaces-sdl "$out/bin/xonotic-sdl"
+    cp darkplaces-glx "$out/bin/xonotic-glx"
     cd ../..
     mkdir -p "$out/share/xonotic"
     mv data "$out/share/xonotic"
+
+    # default to sdl
+    ln -s "$out/bin/xonotic-sdl" "$out/bin/xonotic"
   '';
 
   dontPatchELF = true;
@@ -56,6 +72,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.xonotic.org;
     license = with stdenv.lib.licenses; gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix
index d9fcb47bcc3..0b344873734 100644
--- a/pkgs/games/zod/default.nix
+++ b/pkgs/games/zod/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Multiplayer remake of ZED";
     homepage = http://zod.sourceforge.net/;
-    license = "GPLv3+"; /* Says the web */
+    license = stdenv.lib.licenses.gpl3Plus; /* Says the web */
   };
 }
diff --git a/pkgs/games/zoom/default.nix b/pkgs/games/zoom/default.nix
index fdf3aa91e2b..cb9974580d8 100644
--- a/pkgs/games/zoom/default.nix
+++ b/pkgs/games/zoom/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl, expat, x11, freetype}:
+{ stdenv, fetchurl, perl, expat, x11, freetype }:
 
 # !!! assert freetype == xlibs.freetype
 
@@ -10,8 +10,21 @@ stdenv.mkDerivation {
     sha256 = "1g6van7f7sg3zfcz80mncnnbccyg2hnm0hq4x558vpsm0lf7z5pj";
   };
   
-  buildInputs = [perl expat x11 freetype];
+  buildInputs = [ perl expat x11 freetype ];
   
   # Zoom doesn't add the right directory in the include path.
-  CFLAGS = ["-I" (freetype + "/include/freetype2")];
+  CFLAGS = [ "-I" (freetype + "/include/freetype2") ];
+
+  meta = with stdenv.lib; {
+    description = "Player for Z-Code, TADS and HUGO stories or games, usually text adventures ('interactive fiction')";
+    longDescription = ''
+      Zoom is a player for Z-Code, TADS and HUGO stories or games. These are
+      usually text adventures ('interactive fiction'), and were first created
+      by Infocom with the Zork series of games. Throughout the 80's, Infocom
+      released many interactive fiction stories before their ambitions to enter
+      the database market finally brought them low.
+    '';
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/misc/beep/default.nix b/pkgs/misc/beep/default.nix
new file mode 100644
index 00000000000..b5e4adfa0b9
--- /dev/null
+++ b/pkgs/misc/beep/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+# this package is working only as root
+# in order to work as a non privileged user you would need to suid the bin
+
+stdenv.mkDerivation {
+  name = "beep-1.3";
+  src = fetchurl {
+    url = http://www.johnath.com/beep/beep-1.3.tar.gz;
+    md5 = "49c340ceb95dbda3f97b2daafac7892a";
+  };
+
+  makeFlags = "INSTALL_DIR=\${out}/bin/ MAN_DIR=\${out}/man/man1/";
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+  '';
+  meta = {
+    description = "The advanced PC speaker beeper";
+    homepage = http://www.johnath.com/beep/;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index 483ec7aab97..1ed74c57435 100644
--- a/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cups}:
 
 stdenv.mkDerivation rec {
-  name = "cups-bjnp-0.5.4";
+  name = "cups-bjnp-1.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/cups-bjnp/${name}.tar.gz";
-    sha256 = "1q5npis0jgs44yvczrr6pz87glk1d9lv3vr2s4nqrk3l0q4xplf6";
+    sha256 = "0fjpp0mmmwfcr790hfjs0brsxxb7dz7v2xab6wc30rwzkqmgz95x";
   };
 
   preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"'';
diff --git a/pkgs/misc/cups/pdf-filter.nix b/pkgs/misc/cups/pdf-filter.nix
index 8a08eadc6a4..e99ad03212c 100644
--- a/pkgs/misc/cups/pdf-filter.nix
+++ b/pkgs/misc/cups/pdf-filter.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.cups.org/;
     description = "Image and pdf filters for CUPS";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.urkud ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index ff03770014d..f618a28b4d6 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, perl, cups, dbus }:
 
 stdenv.mkDerivation rec {
-  name = "foomatic-filters-4.0.12";
+  name = "foomatic-filters-4.0.17";
 
   src = fetchurl {
     url = "http://www.openprinting.org/download/foomatic/${name}.tar.gz";
-    sha256 = "17w26r15094j4fqifa7f7i7jad4gsy9zdlq69kffrykcw31qx3q8";
+    sha256 = "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2";
   };
 
   buildInputs = [ pkgconfig perl cups dbus ];
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 79b819c12a7..ebec9867a61 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -1,9 +1,9 @@
 # this package was called gimp-print in the past
 { fetchurl, stdenv, pkgconfig, composableDerivation, cups
-, libtiff, libpng, openssl, gimp }:
+, libtiff, libpng, makeWrapper, openssl, gimp }:
 
 let
-   version = "5.2.7";
+   version = "5.2.9";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -12,11 +12,11 @@ composableDerivation.composableDerivation {} {
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
-    sha256 = "1lgf7d9vsszv0bzgsd8j3x5smby1lpk07d8x7isv1sz34y98jk0i";
+    sha256 = "185wai9hk0z0144hpxn5mqncy6xikc4bdv49vxqh5lrjdzqf89sb";
   };
 
   # gimp, gui is still not working (TODO)
-  buildInputs = [ openssl pkgconfig ];
+  buildInputs = [ makeWrapper openssl pkgconfig ];
 
   configureFlags = ["--enable-static-genppd"];
   NIX_CFLAGS_COMPILE="-include stdio.h";
@@ -37,6 +37,10 @@ composableDerivation.composableDerivation {} {
 
   installPhase = ''
     eval "make install $installArgs"
+    mkdir -p $out/lib/cups
+    ln -s $out/filter $out/lib/cups/
+    wrapProgram $out/filter/rastertogutenprint.5.2 --prefix LD_LIBRARY_PATH : $out/lib
+    wrapProgram $out/sbin/cups-genppd.5.2 --prefix LD_LIBRARY_PATH : $out/lib
   '';
 
   meta = { 
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 5b9ef87a129..a4d2ca621a1 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -1,26 +1,34 @@
-{stdenv, fetchurl, cups, zlib, libjpeg, libusb, pythonPackages, saneBackends, dbus
-, pkgconfig, polkit, qtSupport ? true, qt4, pythonDBus, pyqt4, net_snmp
+{ stdenv, fetchurl, automake, pkgconfig
+, cups, zlib, libjpeg, libusb1, pythonPackages, saneBackends, dbus
+, polkit, qtSupport ? true, qt4, pythonDBus, pyqt4, net_snmp
+, withPlugin ? false
 }:
 
 stdenv.mkDerivation rec {
-  name = "hplip-3.11.1";
+  name = "hplip-3.14.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "0y68s4xm5d0kv7p5j41qq0xglp4vdbjwbrjs89b4a21wwn69hp9g";
+    sha256 = "1j8h44f8igl95wqypj4rk9awcw513hlps980jmcnkx60xghc4l6f";
   };
 
-  #preBuild=''
-  #  makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model"
-  #'';
+  plugin = fetchurl {
+    url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
+    sha256 = "0k1vpmy7babbm3c5v4dcbhq0jgyr8as722nylfs8zx0dy7kr8874";
+  };
+
+  hplip_state = ./hplip.state;
 
   prePatch = ''
-    sed -i s,/etc/sane.d,$out/etc/sane.d/, Makefile.in
-    sed -i s,/etc/hp/,$out/etc/hp/, base/g.py
+    # HPLIP hardcodes absolute paths everywhere. Nuke from orbit.
+    find . -type f -exec sed -i s,/etc/hp,$out/etc/hp, {} \;
+    find . -type f -exec sed -i s,/etc/sane.d,$out/etc/sane.d, {} \;
+    find . -type f -exec sed -i s,/usr/include/libusb-1.0,${libusb1}/include/libusb-1.0, {} \;
+    find . -type f -exec sed -i s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor, {} \;
+    find . -type f -exec sed -i s,/usr/lib/systemd/system,$out/lib/systemd/system, {} \;
+    find . -type f -exec sed -i s,/var/lib/hp,$out/var/lib/hp, {} \;
   '';
 
-  # --disable-network-build Until we have snmp
-
   preConfigure = ''
     export configureFlags="$configureFlags
       --with-cupsfilterdir=$out/lib/cups/filter
@@ -33,23 +41,64 @@ stdenv.mkDerivation rec {
 
     export makeFlags="
       halpredir=$out/share/hal/fdi/preprobe/10osvendor
-      hplip_statedir=$out/var
       rulesdir=$out/etc/udev/rules.d
       policykit_dir=$out/share/polkit-1/actions
       policykit_dbus_etcdir=$out/etc/dbus-1/system.d
       policykit_dbus_sharedir=$out/share/dbus-1/system-services
       hplip_confdir=$out/etc/hp
+      hplip_statedir=$out/var/lib/hp
     ";
   '';
 
-  postInstall = ''
+  postInstall =
+    ''
     wrapPythonPrograms
-    '';
+    ''
+    + (stdenv.lib.optionalString withPlugin
+    (let hplip_arch =
+          if stdenv.system == "i686-linux" then "x86_32"
+          else if stdenv.system == "x86_64-linux" then "x86_64"
+          else abort "Platform must be i686-linux or x86_64-linux!";
+    in
+    ''
+    sh ${plugin} --noexec --keep
+    cd plugin_tmp
+
+    cp plugin.spec $out/share/hplip/
+
+    mkdir -p $out/share/hplip/data/firmware
+    cp *.fw.gz $out/share/hplip/data/firmware
+
+    mkdir -p $out/share/hplip/data/plugins
+    cp license.txt $out/share/hplip/data/plugins
+
+    mkdir -p $out/share/hplip/prnt/plugins
+    for plugin in lj hbpl1; do
+      cp $plugin-${hplip_arch}.so $out/share/hplip/prnt/plugins
+      ln -s $out/share/hplip/prnt/plugins/$plugin-${hplip_arch}.so \
+        $out/share/hplip/prnt/plugins/$plugin.so
+    done
+
+    mkdir -p $out/share/hplip/scan/plugins
+    for plugin in bb_soap bb_marvell bb_soapht fax_marvell; do
+      cp $plugin-${hplip_arch}.so $out/share/hplip/scan/plugins
+      ln -s $out/share/hplip/scan/plugins/$plugin-${hplip_arch}.so \
+        $out/share/hplip/scan/plugins/$plugin.so
+    done
+
+    mkdir -p $out/var/lib/hp
+    cp ${hplip_state} $out/var/lib/hp/hplip.state
+
+    mkdir -p $out/etc/sane.d/dll.d
+    mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf
+
+    rm $out/etc/udev/rules.d/56-hpmud.rules
+    ''));
 
   buildInputs = [
       libjpeg
       cups
-      libusb
+      libusb1
       pythonPackages.python
       pythonPackages.wrapPython
       saneBackends
@@ -59,15 +108,18 @@ stdenv.mkDerivation rec {
     ] ++ stdenv.lib.optional qtSupport qt4;
 
   pythonPath = with pythonPackages; [
+      pillow
       pythonDBus
       pygobject
       recursivePthLoader
+      reportlab
     ] ++ stdenv.lib.optional qtSupport pyqt4;
 
   meta = with stdenv.lib; {
     description = "Print, scan and fax HP drivers for Linux";
     homepage = http://hplipopensource.com/;
-    license = "free"; # MIT/BSD/GPL
+    license = if withPlugin then licenses.unfree else "free"; # MIT/BSD/GPL
     platforms = platforms.linux;
+    maintainers = with maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/misc/drivers/hplip/hplip.state b/pkgs/misc/drivers/hplip/hplip.state
new file mode 100644
index 00000000000..52679963f06
--- /dev/null
+++ b/pkgs/misc/drivers/hplip/hplip.state
@@ -0,0 +1,4 @@
+[plugin]
+installed=1
+eula=1
+version=3.14.4
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
new file mode 100644
index 00000000000..7164f7d6f15
--- /dev/null
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, scons, libX11, pkgconfig
+, libusb1, boost, glib, dbus_glib }:
+
+let
+  version = "0.8.5";
+in stdenv.mkDerivation {
+  name = "xboxdrv-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Grumbel/xboxdrv/archive/v${version}.tar.gz";
+    sha256 = "0xg2dhfsk3i693rgwr1pr532b3hk3zmjxlx55g6bplslr94bibi2";
+  };
+
+  patchPhase = ''
+    substituteInPlace Makefile --replace /usr/local "$out"
+  '';
+
+  buildInputs = [ scons libX11 pkgconfig libusb1 boost glib dbus_glib];
+
+  meta = with stdenv.lib; {
+    homepage = "http://pingus.seul.org/~grumbel/xboxdrv/";
+    description =
+      "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace.";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.fuuzetsu ];
+  };
+
+}
diff --git a/pkgs/misc/emulators/VisualBoyAdvance/default.nix b/pkgs/misc/emulators/VisualBoyAdvance/default.nix
index 95f7d9433f9..015c61e461e 100644
--- a/pkgs/misc/emulators/VisualBoyAdvance/default.nix
+++ b/pkgs/misc/emulators/VisualBoyAdvance/default.nix
@@ -13,11 +13,12 @@ stdenv.mkDerivation {
     sed -i -e "s|char \* p = strrchr|const char * p = strrchr|g" src/Util.cpp
   '';
   buildInputs = [ zlib libpng SDL ] ++ stdenv.lib.optional (stdenv.system == "i686-linux") nasm;
-  
+
   meta = {
     description = "A Game Boy/Game Boy Color/Game Boy Advance Emulator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
     homepage = http://vba.ngemu.com;
+    broken = true;
   };
 }
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 4e499a499fd..5b1576bd97c 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, unzip, zlib, SDL}:
 
 stdenv.mkDerivation {
-  name = "atari800-2.0.2";
+  name = "atari800-2.2.1";
   builder = ./builder.sh;
   src = fetchurl {
-    url = mirror://sourceforge/atari800/atari800-2.0.2.tar.gz;
-    md5 = "a81f8a5ace5fd89eb6094faef7c936af";
+    url = mirror://sourceforge/atari800/atari800-2.2.1.tar.gz;
+    sha256 = "0gkhlb3jc0rd7fcqjm41877fsqr7als3a0n552qmnjzrlcczf5yz";
   };
   rom = fetchurl {
     url = mirror://sourceforge/atari800/xf25.zip;
diff --git a/pkgs/misc/emulators/bsod/default.nix b/pkgs/misc/emulators/bsod/default.nix
index 181a89b6667..526ea25a04e 100644
--- a/pkgs/misc/emulators/bsod/default.nix
+++ b/pkgs/misc/emulators/bsod/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   buildInputs = [ ncurses ];
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp bsod $out/bin
   '';
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
       blue screen of death on the console.  Errors and drivers causing the
       error are selected randomly from a large set of examples.";
     homepage = "http://www.vanheusden.com/bsod/";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.antono ];
   };
diff --git a/pkgs/misc/emulators/dlx/default.nix b/pkgs/misc/emulators/dlx/default.nix
index c23b60c29b3..60854f8550b 100644
--- a/pkgs/misc/emulators/dlx/default.nix
+++ b/pkgs/misc/emulators/dlx/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.davidviner.com/dlx.php";
     description = "DLX Simulator";
-    license = "GPL-2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix
index e3c9dbc84e5..5462f772703 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/misc/emulators/fakenes/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://fakenes.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Portable Open Source NES Emulator";
   };
 }
diff --git a/pkgs/misc/emulators/fceux/default.nix b/pkgs/misc/emulators/fceux/default.nix
new file mode 100644
index 00000000000..48860f17aaf
--- /dev/null
+++ b/pkgs/misc/emulators/fceux/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, scons, zlib, SDL, lua5, pkgconfig}:
+
+stdenv.mkDerivation {
+  name = "fceux-2.2.2";
+
+  src = fetchurl {
+    url = mirror://sourceforge/fceultra/Source%20Code/2.2.2%20src/fceux-2.2.2.src.tar.gz;
+    sha256 = "1qg5bygla8ka30b7wqvq6dv84xc7pq0jspffh2jz75d1njyi2kc0";
+  };
+
+  buildInputs = [
+    scons zlib SDL lua5 pkgconfig
+  ];
+
+  phases = "unpackPhase buildPhase";
+
+  # sed allows scons to find libraries in nix.
+  # mkdir is a hack to make scons succeed.  It still doesn't
+  # actually put the files in there due to a bug in the SConstruct file.
+  # OPENGL doesn't work because fceux dlopens the library.
+  buildPhase = ''
+    sed -e 's/env *= *Environment *.*/&; env['"'"'ENV'"'"']=os.environ;/' -i SConstruct
+    export CC="gcc"
+    export CXX="g++"
+    mkdir -p "$out" "$out/share/applications" "$out/share/pixmaps"
+    scons --prefix="$out" OPENGL=false GTK=false CREATE_AVI=false LOGO=false SYSTEM_LUA=false install
+  '';
+
+  meta = {
+    description = "A Nintendo Entertainment System (NES) Emulator";
+    license = stdenv.lib.licenses.gpl2;
+    homepage = http://www.fceux.com/;
+  };
+}
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index 150b45dd727..5c9138ed2e2 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://hatari.tuxfamily.org/";
     description = "Atari ST/STE/TT/Falcon emulator";
-    license = "GPLv2+";
-    platforms = with stdenv.lib.platforms; all;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
new file mode 100644
index 00000000000..e3bb3965739
--- /dev/null
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig
+, libX11, mesa, freeglut
+, jack2, libcdio, libsndfile, libsamplerate
+, SDL, SDL_net, zlib
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "mednafen-${version}";
+  version = "0.9.36.3";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/mednafen/Mednafen/${version}/${name}.tar.bz2";
+    sha256 = "00byql2p28l4476mvzmv5ysclb6yv9f4qrf6vz0x7ii648rp97in";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig libX11 mesa freeglut jack2 libcdio libsndfile libsamplerate SDL SDL_net zlib ];
+  
+
+  # Install docs
+  postInstall = ''
+    mkdir -p $out/share/doc/$name
+    cd Documentation
+    install -m 644 -t $out/share/doc/$name *.css *.def *.html *.php *.png *.txt
+  '';
+
+  meta = {
+    description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
+    homepage = http://mednafen.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/misc/emulators/mednafen/server.nix
new file mode 100644
index 00000000000..d4515b7db03
--- /dev/null
+++ b/pkgs/misc/emulators/mednafen/server.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+
+  name = "mednafen-server-${version}";
+  version = "0.5.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/mednafen/Mednafen-Server/${version}/${name}.tar.gz";
+    sha256="0c5wvg938y3h4n5lb0dl8pvmjzphhkbba34r6ikpvdahq166ps4j";
+  };
+
+  postInstall = ''
+    mkdir -p $out/share/$name 
+    install -m 644 -t $out/share/$name standard.conf
+  '';
+
+  meta = {
+    description = "Netplay server for Mednafen";
+    homepage = http://mednafen.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/mupen64plus/1.5.nix b/pkgs/misc/emulators/mupen64plus/1.5.nix
index d67121fe430..571e14347b4 100644
--- a/pkgs/misc/emulators/mupen64plus/1.5.nix
+++ b/pkgs/misc/emulators/mupen64plus/1.5.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   
   meta = {
     description = "A Nintendo 64 Emulator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://code.google.com/p/mupen64plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
diff --git a/pkgs/misc/emulators/mupen64plus/default.nix b/pkgs/misc/emulators/mupen64plus/default.nix
index d67121fe430..571e14347b4 100644
--- a/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/pkgs/misc/emulators/mupen64plus/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   
   meta = {
     description = "A Nintendo 64 Emulator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://code.google.com/p/mupen64plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix
new file mode 100644
index 00000000000..ced8e1344da
--- /dev/null
+++ b/pkgs/misc/emulators/ppsspp/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, zlib, libpng, qt4, pkgconfig
+, withGamepads ? true, SDL # SDL is used for gamepad functionality
+}:
+
+let
+  version = "0.9.9";
+  fstat = x: fn: "-D" + fn + "=" + (if x then "ON" else "OFF");
+in stdenv.mkDerivation {
+  name = "PPSSPP-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/hrydgard/ppsspp.git";
+    sha256 = "1m7awac87wrwys22qwbr0589im1ilm0dv30wp945xg30793rivvj";
+    rev = "b421e29391b34d997b2c99ce2bdc74a0df5bb472";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ zlib libpng pkgconfig qt4 ]
+                ++ (if withGamepads then [ SDL ] else [ ]);
+
+  configurePhase = "cd Qt && qmake PPSSPPQt.pro";
+  installPhase = "mkdir -p $out/bin && cp PPSSPPQt $out/bin";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.ppsspp.org/";
+    description = "A PSP emulator, the Qt4 version.";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.fuuzetsu ];
+    platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index a98e6db2db4..8bc53da8f0c 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,27 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, which
+{ stdenv, fetchgit, pkgconfig, which
 , SDL, mesa, alsaLib
+, libXxf86vm, libXinerama, libXv
 }:
 
 stdenv.mkDerivation rec {
-  name = "retroarch-0.9.9";
+  name = "retroarch-0.9.9.7";
 
-  src = fetchurl {
-    url = "http://themaister.net/retroarch-dl/${name}.tar.gz";
-    sha256 = "08xlndpl14c4ccgp752ixx3a7ajf3xp93nawhinwxq0cw801prda";
+  src = fetchgit {
+    url = "https://github.com/libretro/RetroArch.git";
+    rev = "ea0c4880556e0f9d1fe8253ddc713bc743b00e1b";
+    sha256 = "1jhyh7f8ijy67fxslxqsp8pjl2lwayjljp06hp4n5cn33yajpbd7";
   };
 
   buildInputs = [
     pkgconfig which SDL mesa alsaLib
+    libXxf86vm libXinerama libXv
   ];
 
   preConfigure = ''
     configureFlags="--global-config-dir=$out/etc"
   '';
-
+ 
   meta = {
-    description = "A cross-platform multi-system emulator";
-    homepage = "http://themaister.net/retroarch.html";
+    description = "Modular multi-system game/emulator system";
+    homepage = "http://www.libretro.com/";
     license = stdenv.lib.licenses.gpl3Plus;
-    platform = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 }
diff --git a/pkgs/misc/emulators/snes9x-gtk/default.nix b/pkgs/misc/emulators/snes9x-gtk/default.nix
new file mode 100644
index 00000000000..760821e3654
--- /dev/null
+++ b/pkgs/misc/emulators/snes9x-gtk/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, nasm, SDL, zlib, libpng, ncurses, mesa, intltool, gtk, pkgconfig, libxml2, x11, pulseaudio}:
+
+stdenv.mkDerivation rec {
+  name = "snes9x-gtk-${version}";
+  version = "1.53";
+
+  src = fetchurl {
+    url = "http://files.ipherswipsite.com/snes9x/snes9x-${version}-src.tar.bz2";
+    sha256 = "9f7c5d2d0fa3fe753611cf94e8879b73b8bb3c0eab97cdbcb6ab7376efa78dc3";
+  };
+
+  buildInputs = [ nasm SDL zlib libpng ncurses mesa intltool gtk pkgconfig libxml2 x11 pulseaudio];
+
+  sourceRoot = "snes9x-${version}-src/gtk";
+
+  configureFlags = "--prefix=$out/ --with-opengl";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp snes9x-gtk $out/bin
+  '';
+
+  meta = {
+    description = "a portable, freeware Super Nintendo Entertainment System (SNES) emulator";
+    longDescription = "Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) emulator. It basically allows you to play most games designed for the SNES and Super Famicom Nintendo game systems on your PC or Workstation; which includes some real gems that were only ever released in Japan.";
+    license = stdenv.lib.licenses.lgpl2;
+    maintainers = [ stdenv.lib.maintainers.qknight ];
+    homepage = http://www.snes9x.com/;
+  };
+}
diff --git a/pkgs/misc/emulators/uae/default.nix b/pkgs/misc/emulators/uae/default.nix
index 9f93c9957d6..0fa5a08d2dc 100644
--- a/pkgs/misc/emulators/uae/default.nix
+++ b/pkgs/misc/emulators/uae/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   
   meta = {
     description = "Ultimate/Unix/Unusuable Amiga Emulator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.amigaemulator.org;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix
index 8323ca082b7..b869143ff1c 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/misc/emulators/vice/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Commodore 64, 128 and other emulators";
     homepage = http://www.viceteam.org;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix
index 9c1f7fd24ae..60b4e24cf2c 100644
--- a/pkgs/misc/emulators/wine/stable.nix
+++ b/pkgs/misc/emulators/wine/stable.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib
-, ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge
+{ stdenv, fetchurl, pkgconfig, xlibs, flex, bison, mesa, mesa_noglu, alsaLib
+, ncurses, libpng, libjpeg, lcms2, freetype, fontconfig, fontforge
 , libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper
 }:
 
 assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
-let 
-    version = "1.6";
+let
+    version = "1.6.2";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1";
+      sha256 = "1gmc0ljgfz3qy50mdxcwwjcr2yrpz54jcs2hdszsrk50wpnrxazh";
     };
 
     gecko = fetchurl {
@@ -34,10 +34,11 @@ in stdenv.mkDerivation rec {
   inherit version name src;
 
   buildInputs = [
-    xlibs.xlibs flex bison xlibs.libXi mesa
+    pkgconfig
+    xlibs.xlibs flex bison xlibs.libXi mesa mesa_noglu.osmesa
     xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr
     xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite
-    alsaLib ncurses libpng libjpeg lcms fontforge
+    alsaLib ncurses libpng libjpeg lcms2 fontforge
     libxml2 libxslt openssl gnutls cups makeWrapper
   ];
 
@@ -45,7 +46,7 @@ in stdenv.mkDerivation rec {
   # them to the RPATH so that the user doesn't have to set them in
   # LD_LIBRARY_PATH.
   NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
-    freetype fontconfig stdenv.gcc.gcc mesa libdrm
+    freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
     xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
     xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
     openssl gnutls cups
@@ -61,6 +62,9 @@ in stdenv.mkDerivation rec {
     install -D ${gecko} $out/share/wine/gecko/${gecko64.name}
   '' + ''
     install -D ${mono} $out/share/wine/mono/${mono.name}
+
+    paxmark psmr $out/bin/wine{,-preloader}
+
     wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib
   '';
 
@@ -71,7 +75,7 @@ in stdenv.mkDerivation rec {
     license = "LGPL";
     inherit version;
     description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
-    maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons];
+    maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index 02ce076ce0f..cd5c5a8b479 100644
--- a/pkgs/misc/emulators/wine/unstable.nix
+++ b/pkgs/misc/emulators/wine/unstable.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib
+{ stdenv, fetchurl, pkgconfig, xlibs, flex, bison, mesa, mesa_noglu, alsaLib
 , ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge
 , libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper
 }:
@@ -6,35 +6,36 @@
 assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
-let 
-    version = "1.7.4";
+let
+    version = "1.7.23";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "0sb9zfrvlrjx1icfb94clgac239i9yfhyv48zv9iddgmvdjk8ysi";
+      sha256 = "012ww1yifayakw9n2m23sx83dc3i2xiq3bn5n9iprppdhwxpp76v";
     };
 
     gecko = fetchurl {
-      url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi";
-      sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh";
+      url = "mirror://sourceforge/wine/wine_gecko-2.24-x86.msi";
+      sha256 = "0b10f55q3sldlcywscdlw3kd7vl9izlazw7jx30y4rpahypaqf3f";
     };
 
     gecko64 = fetchurl {
-      url = "mirror://sourceforge/wine/wine_gecko-2.21-x86_64.msi";
-      sha256 = "0grc86dkq90i59zw43hakh62ra1ajnk11m64667xjrlzi7f0ndxw";
+      url = "mirror://sourceforge/wine/wine_gecko-2.24-x86_64.msi";
+      sha256 = "1j4wdlhzvjrabzr9igcnx0ivm5mcb8kp7bwkpfpfsanbifk7sma7";
     };
 
     mono = fetchurl {
-      url = "mirror://sourceforge/wine/wine-mono-0.0.8.msi";
-      sha256 = "00jl24qp7vh3hlqv7wsw1s529lr5p0ybif6s73jy85chqaxj7z1x";
+      url = "mirror://sourceforge/wine/wine-mono-4.5.2.msi";
+      sha256 = "1bgasysf3qacxgh5rlk7qlw47ar5zgd1k9gb22pihi5s87dlw4nr";
     };
 
 in stdenv.mkDerivation rec {
   inherit version name src;
 
   buildInputs = [
-    xlibs.xlibs flex bison xlibs.libXi mesa
+    pkgconfig
+    xlibs.xlibs flex bison xlibs.libXi mesa mesa_noglu.osmesa
     xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr
     xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite
     alsaLib ncurses libpng libjpeg lcms fontforge
@@ -45,7 +46,7 @@ in stdenv.mkDerivation rec {
   # them to the RPATH so that the user doesn't have to set them in
   # LD_LIBRARY_PATH.
   NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
-    freetype fontconfig stdenv.gcc.gcc mesa libdrm
+    freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
     xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
     xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
     openssl gnutls cups
@@ -71,7 +72,7 @@ in stdenv.mkDerivation rec {
     license = "LGPL";
     inherit version;
     description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
-    maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons];
+    maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix
index 71cc2767f69..8103ff9c43f 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/misc/emulators/wine/winetricks.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchsvn, wine, perl, which, coreutils, zenity, curl, cabextract, unzip, p7zip } :
+{ stdenv, fetchsvn, wine, perl, which, coreutils, zenity, curl
+, cabextract, unzip, p7zip, gnused, gnugrep, bash } :
 
 stdenv.mkDerivation rec {
-  rev = "939";
+  rev = "1199";
   name = "winetricks-${rev}";
 
   src = fetchsvn {
     url = "http://winetricks.googlecode.com/svn/trunk";
     inherit rev;
-    sha256 = "01v13qw4sxmfm09g9amqycnzy743gdrhvv23rjr9255dzlrj1s8f";
+    sha256 = "1kji1n6ps09g8xnl9m7vqk3vkl03abzwnc43c52i8p0adnv06khb";
   };
 
   buildInputs = [ perl which ];
 
   pathAdd = stdenv.lib.concatStringsSep "/bin:" # coreutils is for sha1sum
-    [ wine perl which coreutils zenity curl cabextract unzip p7zip ]
+    [ wine perl which coreutils zenity curl cabextract unzip p7zip gnused gnugrep bash ]
     + "/bin";
 
   patch = ./winetricks.patch;
@@ -22,8 +23,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A script to install DLLs needed to work around problems in Wine";
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
     homepage = http://code.google.com/p/winetricks/;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
-
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
index a85d0fb389e..0366b9dd22c 100644
--- a/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   
   meta = {
     description = "GUI for the Mupen64Plus 2.0 emulator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = https://bitbucket.org/auria/wxmupen64plus/wiki/Home;
   };
 }
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix
index 0b34fc0f9fe..bca81a4b6b3 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/misc/emulators/zsnes/default.nix
@@ -2,37 +2,32 @@
 
 stdenv.mkDerivation {
   name = "zsnes-1.51";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/zsnes/zsnes151src.tar.bz2;
     sha256 = "08s64qsxziv538vmfv38fg1rfrz5k95dss5zdkbfxsbjlbdxwmi8";
   };
 
+  # copied from arch linux, fixes gcc-4.8 compatibility
+  patches = [ ./zsnes.patch ];
+
+  postPatch = ''
+    patch -p0 < ${./zsnes-1.51-libpng15.patch}
+  '';
+
   buildInputs = [ nasm SDL zlib libpng ncurses mesa ];
-  
+
   preConfigure = ''
     cd src
-    
-    # Fix for undefined strncasecmp()
-    echo '#include <strings.h>' > tmp.cpp 
-    cat tmp.cpp tools/strutil.h > tools/strutil.h.new
-    mv tools/strutil.h.new tools/strutil.h
-    
-    # Fix for undefined system()
-    echo '#include <stdlib.h>' > tmp.cpp
-    cat tmp.cpp tools/depbuild.cpp > tools/depbuild.cpp.new
-    mv tools/depbuild.cpp.new tools/depbuild.cpp
-    
-    # Fix for lots of undefined strcmp, strncmp etc.
-    echo '#include <string.h>' > tmp.cpp 
-    cat tmp.cpp parsegen.cpp > parsegen.cpp.new
-    mv parsegen.cpp.new parsegen.cpp
+    sed -i "/^STRIP/d" configure
   '';
-  
+
+  configureFlags = "--enable-release";
+
   meta = {
     description = "A Super Nintendo Entertainment System Emulator";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
     homepage = http://www.zsnes.com;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch b/pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch
new file mode 100644
index 00000000000..b32c3096754
--- /dev/null
+++ b/pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch
@@ -0,0 +1,12 @@
+Use existing png_set_IHDR() and stop accessing PNG structure members directly
+
+--- src/zip/zpng.c
++++ src/zip/zpng.c
+@@ -129,7 +129,6 @@
+         png_set_IHDR(png_ptr, info_ptr, width, height, 8,
+                      PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
+                      PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+-        info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+ 
+         //Allocate an array of scanline pointers
+         row_pointers = (png_bytep*)malloc(height*sizeof(png_bytep));
diff --git a/pkgs/misc/emulators/zsnes/zsnes.patch b/pkgs/misc/emulators/zsnes/zsnes.patch
new file mode 100644
index 00000000000..d5d681ae67a
--- /dev/null
+++ b/pkgs/misc/emulators/zsnes/zsnes.patch
@@ -0,0 +1,80 @@
+diff -aur zsnes_1_51//src/Makefile.in zsnes_1_51_new//src/Makefile.in
+--- zsnes_1_51//src/Makefile.in	2007-01-24 21:54:12.000000000 +0100
++++ zsnes_1_51_new//src/Makefile.in	2010-09-06 00:03:04.715810431 +0200
+@@ -95,7 +95,7 @@
+ %.o: %.cpp
+ 	@CXX@ @CXXFLAGS@ -o $@ -c $<
+ %.o %.h: %.psr $(PSR)
+-	./$(PSR) @PSRFLAGS@ -gcc @CC@ -compile -flags "@CFLAGS@ -O1" -cheader $*.h -fname $* $*.o $<
++	./$(PSR) @PSRFLAGS@ -gcc "@CC@" -compile -flags "@CFLAGS@ -O1 -D_FORTIFY_SOURCE=0" -cheader $*.h -fname $* $*.o $<
+ 
+ default: main
+ all: main tools
+@@ -133,7 +133,7 @@
+ 
+ include makefile.dep
+ makefile.dep: $(TOOL_D)/depbuild Makefile
+-	$(TOOL_D)/depbuild @CC@ "@CFLAGS@" @NASMPATH@ "@NFLAGS@" $(Z_OBJS) > makefile.dep
++	$(TOOL_D)/depbuild "@CC@" "@CFLAGS@" "@NASMPATH@" "@NFLAGS@" $(Z_OBJS) > makefile.dep
+ 
+ Makefile: Makefile.in config.status
+ 	./config.status
+diff -aur zsnes_1_51//src/parsegen.cpp zsnes_1_51_new//src/parsegen.cpp
+--- zsnes_1_51//src/parsegen.cpp	2007-10-31 05:30:26.000000000 +0100
++++ zsnes_1_51_new//src/parsegen.cpp	2010-09-05 15:48:36.903333444 +0200
+@@ -19,6 +19,9 @@
+ Config file handler creator by Nach (C) 2005-2007
+ */
+ 
++#include <cstring>
++#include <cstdlib>
++
+ #if !defined(__GNUC__) && !defined(_MSC_VER)
+ #error You are using an unsupported compiler
+ #endif
+@@ -1822,7 +1825,7 @@
+   }
+ }
+ 
+-int main(size_t argc, const char *const *const argv)
++int main(int argc, const char *const *const argv)
+ {
+   const char *cheader_file = 0;
+   bool compile = false;
+diff -aur zsnes_1_51//src/tools/depbuild.cpp zsnes_1_51_new//src/tools/depbuild.cpp
+--- zsnes_1_51//src/tools/depbuild.cpp	2006-12-27 12:04:05.000000000 +0100
++++ zsnes_1_51_new//src/tools/depbuild.cpp	2010-09-05 15:48:36.903333444 +0200
+@@ -183,7 +183,7 @@
+   }
+ }
+ 
+-int main(size_t argc, const char *const *const argv)
++int main(int argc, const char *const *const argv)
+ {
+   if (argc < 5)
+   {
+diff -aur zsnes_1_51//src/tools/strutil.h zsnes_1_51_new//src/tools/strutil.h
+--- zsnes_1_51//src/tools/strutil.h	2006-12-27 12:04:05.000000000 +0100
++++ zsnes_1_51_new//src/tools/strutil.h	2010-09-05 15:48:36.903333444 +0200
+@@ -15,6 +15,9 @@
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
++#include <cstring>
++#include <cstdlib>
++
+ /*
+ This is part of a toolkit used to assist in ZSNES development
+ */
+diff -u -r zsnes_1_51/src/tools/depbuild.cpp zsnes_1_51-fix/src/tools/depbuild.cpp
+--- zsnes_1_51/src/tools/depbuild.cpp	2006-12-27 12:04:05.000000000 +0100
++++ zsnes_1_51-fix/src/tools/depbuild.cpp	2012-07-14 16:20:17.759886250 +0200
+@@ -26,6 +26,8 @@
+ #include <cstdio>
+ using namespace std;
+ 
++#include <unistd.h>
++
+ #include "fileutil.h"
+ #include "strutil.h"
+ 
diff --git a/pkgs/misc/foldingathome/default.nix b/pkgs/misc/foldingathome/default.nix
index ef8cb7d0a92..945d6556837 100644
--- a/pkgs/misc/foldingathome/default.nix
+++ b/pkgs/misc/foldingathome/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://folding.stanford.edu/;
     description = "Folding@home distributed computing client";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/misc/freestyle/default.nix b/pkgs/misc/freestyle/default.nix
index fa2c36cf2c2..bb3520e300a 100644
--- a/pkgs/misc/freestyle/default.nix
+++ b/pkgs/misc/freestyle/default.nix
@@ -48,6 +48,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Non-Photorealistic Line Drawing rendering from 3D scenes";
     homepage = http://freestyle.sourceforge.net;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 142c75aeb0f..275b93e01b8 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -23,7 +23,7 @@ let
       of output drivers for various file formats and printers.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.viric ];
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 826924b8e8e..4f9f071094b 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -5,7 +5,7 @@
 assert firewireSupport -> ffado != null;
 
 stdenv.mkDerivation rec {
-  name = "jackdbus-${version}";
+  name = "jack2-${version}";
   version = "1.9.9.5";
 
   src = fetchurl {
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index 540735ab810..d424452ecd5 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, alsaLib
+{ stdenv, fetchurl, pkgconfig, alsaLib, db, libuuid
 , firewireSupport ? false, ffado ? null }:
 
 assert firewireSupport -> ffado != null;
 
 stdenv.mkDerivation rec {
-  name = "jack-${version}";
-  version = "0.121.3";
+  name = "jack1-${version}";
+  version = "0.124.1";
 
   src = fetchurl {
     url = "http://jackaudio.org/downloads/jack-audio-connection-kit-${version}.tar.gz";
-    sha256 = "1ypa3gjwy4vmaskin0vczmmdwybckkl42wmkfabx3v5yx8yms2dp";
+    sha256 = "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb";
   };
   
   preBuild = "echo ok";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = 
-    [ pkgconfig alsaLib
+    [ pkgconfig alsaLib db libuuid
     ] ++ (stdenv.lib.optional firewireSupport ffado);
   
   meta = {
diff --git a/pkgs/misc/lilypond/default.nix b/pkgs/misc/lilypond/default.nix
index 2b6606faf3b..3f1c1a9a57b 100644
--- a/pkgs/misc/lilypond/default.nix
+++ b/pkgs/misc/lilypond/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, ghostscript, texinfo, imagemagick, texi2html, guile
 , python, gettext, flex, perl, bison, pkgconfig, texLive, dblatex
-, fontconfig, freetype, pango, fontforge, help2man, zip, netpbm, groff 
-, fetchsvn, makeWrapper }:
+, fontconfig, freetype, pango, fontforge, help2man, zip, netpbm, groff
+, fetchsvn, makeWrapper, t1utils
+}:
 
 stdenv.mkDerivation rec{
   majorVersion="2.16";
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec{
   '';
 
   postInstall = ''
-    for f in "$out"/bin/*; do
+    for f in "$out/bin/"*; do
         wrapProgram "$f" --set GUILE_AUTO_COMPILE 0 \
                          --set PATH "${ghostscript}/bin"
     done
@@ -35,10 +36,10 @@ stdenv.mkDerivation rec{
   buildInputs =
     [ ghostscript texinfo imagemagick texi2html guile dblatex zip netpbm
       python gettext flex perl bison pkgconfig texLive fontconfig freetype pango
-      fontforge help2man groff makeWrapper
+      fontforge help2man groff makeWrapper t1utils
     ];
 
-  meta = { 
+  meta = {
     description = "Music typesetting system";
     homepage = http://lilypond.org/;
     license = "GPL";
diff --git a/pkgs/misc/maven/default.nix b/pkgs/misc/maven/default.nix
index ec2b57e222a..b7cb84fbb3c 100644
--- a/pkgs/misc/maven/default.nix
+++ b/pkgs/misc/maven/default.nix
@@ -1,15 +1,24 @@
-{stdenv, fetchurl, jdk, makeWrapper}:
+{ stdenv, fetchurl, jdk, makeWrapper }:
 
 assert jdk != null;
 
 stdenv.mkDerivation {
-	name = "apache-maven-3.0.4";
-	builder = ./builder.sh;
-	src = fetchurl {
-		url = mirror://apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz;
-		sha256 = "0bxa7x8ifm8590nxifhsh3sxzm6aicbczyx21vibg3606ih8fnnk";
-	};
-	
-        buildInputs = [makeWrapper]; 
-	inherit jdk;
+  name = "apache-maven-3.1.1";
+
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = mirror://apache/maven/binaries/apache-maven-3.1.1-bin.tar.gz;
+    sha256 = "06ymc5y8bp5crcz74z2m9pf58aid5q11v2klnjmxb4ar8mkd8zh7";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  inherit jdk;
+
+  meta = with stdenv.lib; {
+    description = "Build automation tool (used primarily for Java projects)";
+    homepage = http://maven.apache.org/;
+    license = licenses.asl20;
+  };
 }
diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh
index 6752d1c03b5..1aab4ac0208 100644
--- a/pkgs/misc/my-env/loadenv.sh
+++ b/pkgs/misc/my-env/loadenv.sh
@@ -6,9 +6,14 @@ source @myenvpath@
 
 PATH="$PATH:$OLDPATH"
 export PS1="\n@name@:[\u@\h:\w]\$ "
+export NIX_MYENV_NAME="@name@"
 export buildInputs
 export NIX_STRIP_DEBUG=0
 export TZ="$OLDTZ"
 
-@shell@
+if test $# -gt 0; then
+    exec "$@"
+else
+    exec @shell@
+fi
 
diff --git a/pkgs/misc/screensavers/slock/default.nix b/pkgs/misc/screensavers/slock/default.nix
index b33ca25fb10..c88be58abb2 100644
--- a/pkgs/misc/screensavers/slock/default.nix
+++ b/pkgs/misc/screensavers/slock/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, xproto, libX11, libXext }:
 stdenv.mkDerivation rec {
-  name = "slock-1.0";
+  name = "slock-1.1";
   src = fetchurl {
     url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "b4e44ff1660f6f7eb270a0575d6ae1e0fbffcf0cdd96860a1695d57e89ae2df9";
+    sha256 = "1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0";
   };
   buildInputs = [ xproto libX11 libXext	];
   installFlags = "DESTDIR=\${out} PREFIX=";
diff --git a/pkgs/misc/screensavers/vlock/default.nix b/pkgs/misc/screensavers/vlock/default.nix
index f2cea3f257b..012fef1b5b0 100644
--- a/pkgs/misc/screensavers/vlock/default.nix
+++ b/pkgs/misc/screensavers/vlock/default.nix
@@ -16,7 +16,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ pam ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Virtual console locking program";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.lethalman ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index b3c71c89191..7e750d9c9b3 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
 
-  name = "xlockmore-5.38";
+  name = "xlockmore-5.43";
   src = fetchurl {
     url = "http://www.tux.org/~bagleyd/xlock/${name}/${name}.tar.bz2";
-    sha256 = "15x5l43zdjn881xf2m9psz9s2hvd2l8py2kzdhdh1v9m4ml20nf4";
+    sha256 = "1l36n8x51j7lwdalv6yi37cil290vzd3djjqydhsm0pnm8hiz499";
   };
 
   # Optionally, it can use GTK+.
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index e3932744286..04791749810 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pkgconfig, bc, perl, pam, libXext, libXScrnSaver, libX11
 , libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, mesa, gtk
-, libxml2, libglade
+, libxml2, libglade, intltool
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.19";
+  version = "5.29";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "fd62ea0f996abe1bea3770dd7141681454521b49302f9bced8af9c2ee428c0e0";
+    sha256 = "157jy1mh84h6p4mpzsgcadv6c660c212rmjgdpgpidcn0rsza664";
   };
 
   buildInputs =
     [ pkgconfig bc perl libjpeg mesa gtk libxml2 libglade pam
       libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
-      libXxf86misc
+      libXxf86misc intltool
     ];
 
   patchPhase =
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.jwz.org/xscreensaver/";
     description = "A set of screensavers";
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
new file mode 100644
index 00000000000..d6c08e99a51
--- /dev/null
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -0,0 +1,41 @@
+{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala, python, intltool, fuse, ccnet}:
+
+stdenv.mkDerivation rec
+{
+  version = "3.0.4";
+  name = "seafile-shared-${version}";
+
+  src = fetchurl
+  {
+    url = "https://github.com/haiwen/seafile/archive/v${version}.tar.gz";
+    sha256 = "0a0yj9k2rr3q42swwzn1js3r8bld9wcysw6p9415rw5jabcm1af0";
+  };
+
+  buildInputs = [ which automake autoconf pkgconfig libtool vala python intltool fuse ];
+  propagatedBuildInputs = [ ccnet ];
+
+  preConfigure = ''
+  sed -ie 's|/bin/bash|/bin/sh|g' ./autogen.sh
+  ./autogen.sh
+  '';
+
+  configureFlags = "--disable-server --disable-console";
+
+  buildPhase = "make -j1";
+
+  postInstall = ''
+  # Remove seafile binary
+  rm -rf "$out/bin/seafile"
+  # Remove cli client binary
+  rm -rf "$out/bin/seaf-cli"
+  '';
+
+  meta =
+  {
+    homepage = "https://github.com/haiwen/seafile";
+    description = "Shared components of Seafile: seafile-daemon, libseafile, libseafile python bindings, manuals, and icons";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix
index 0449f72c997..9426684165d 100644
--- a/pkgs/misc/solfege/default.nix
+++ b/pkgs/misc/solfege/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "solfege-3.22.0";
+  name = "solfege-3.22.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/solfege/${name}.tar.gz";
-    sha256 = "10klrhdb1n67xd4bndk6z6idyf0pvwz7hcdg9ibalms7ywl3b23x";
+    sha256 = "1r4g93ka7i8jh5glii5nza0zq0wy4sw0gfzpvkcrhj9yr1h0jsp4";
   };
 
   buildInputs = [ pkgconfig python pygtk gettext texinfo
@@ -28,17 +28,16 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
       set -x
-      find "${librsvg}" "${gdk_pixbuf}" -name loaders.cache -print0 | xargs -0 cat > "$out/gdk-pixbuf.loaders"
       wrapProgram "$out/bin/solfege" \
           --prefix PYTHONPATH ':' "$PYTHONPATH" \
-          --set GDK_PIXBUF_MODULE_FILE "$out/gdk-pixbuf.loaders"
+          --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Ear training program";
     homepage = http://www.solfege.org/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ bjornfor ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/misc/source-and-tags/default.nix b/pkgs/misc/source-and-tags/default.nix
index ece31bbaa74..981c01e2b4a 100644
--- a/pkgs/misc/source-and-tags/default.nix
+++ b/pkgs/misc/source-and-tags/default.nix
@@ -56,8 +56,13 @@ args: with args; {
                  tagCmd = "
                    srcs=\"`find . -type f -name \"*.*hs\"; find . -type f -name \"*.*hs*\";`\"
                    [ -z \"$srcs\" ] || {
-                    ${toString hasktags}/bin/hasktags-modified --ignore-close-implementation --ctags $srcs
-                    sort tags > \$TAG_FILE
+                    # without this creating tag files for lifted-base fails
+                    export LC_ALL=en_US.UTF-8
+                    export LANG=en_US.UTF-8
+                    ${if args.stdenv.isLinux then "export LOCALE_ARCHIVE=${args.pkgs.glibcLocales}/lib/locale/locale-archive;" else ""}
+ 
+                    ${toString hasktags}/bin/hasktags --ignore-close-implementation --ctags .
+                    mv tags \$TAG_FILE
                    }";
               }
           ];
diff --git a/pkgs/misc/themes/gnome-themes-standard/default.nix b/pkgs/misc/themes/gnome-themes-standard/default.nix
deleted file mode 100644
index f52b94138a4..00000000000
--- a/pkgs/misc/themes/gnome-themes-standard/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
-stdenv.mkDerivation {
-  name = "gnome-themes-standard";
-  src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/3.7/gnome-themes-standard-3.7.92.tar.xz";
-    sha256 = "0a1ed83c07f57b5b45b8f3817ca0ca14feecb56de505243c086fb306c88da8de";
-  };
-  
-  buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
-
-  preConfigure = ''
-    cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > loaders.cache
-    export GDK_PIXBUF_MODULE_FILE=`readlink -e loaders.cache`
-  '';
-}
\ No newline at end of file
diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
index 3a619220bcf..c3d846c566c 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.4";
+  version = "1.4.5";
   name = "oxygen-gtk2-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2";
-    sha256 = "02q46kq0hhrmzwbjngg31ydl2198ls5bxgnz2si4amdmqii1nlmj";
+    sha256 = "00ykq4aafakdkvww7kz84bvg9wc2gdji4m7z87f49hj1jxm84v2v";
   };
 
   buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk;
     license = licenses.lgpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/themes/mate-icon-theme/default.nix b/pkgs/misc/themes/mate-icon-theme/default.nix
index 65965e46b32..ba732c6521f 100644
--- a/pkgs/misc/themes/mate-icon-theme/default.nix
+++ b/pkgs/misc/themes/mate-icon-theme/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk2, iconnamingutils }:
 
 stdenv.mkDerivation {
-  name = "mate-icon-theme-1.6.1";
+  name = "mate-icon-theme-1.6.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/1.6/mate-icon-theme-1.6.1.tar.xz";
-    sha256 = "154x0mcsvjmz84vi94kjh8hpydny3ab9lbg58wxh1lskmbc2473x";
+    url = "http://pub.mate-desktop.org/releases/1.6/mate-icon-theme-1.6.3.tar.xz";
+    sha256 = "1r3qkx4k9svmxdg453r9d3hs47cgagxsngzi8rp6yry0c9bw5r5w";
   };
 
   buildInputs = [ pkgconfig intltool gtk2 iconnamingutils ];
diff --git a/pkgs/misc/themes/mate-themes/default.nix b/pkgs/misc/themes/mate-themes/default.nix
index 0f0f41af638..f7559ee2126 100644
--- a/pkgs/misc/themes/mate-themes/default.nix
+++ b/pkgs/misc/themes/mate-themes/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }:
 
 stdenv.mkDerivation {
-  name = "mate-themes-1.6.1";
+  name = "mate-themes-1.6.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/1.6/mate-themes-1.6.1.tar.xz";
-    sha256 = "0lm2kvlwj0rpznb0n2g1sh1r6nz0p45i7flbnxivl9gi632wdmfp";
+    url = "http://pub.mate-desktop.org/releases/1.6/mate-themes-1.6.3.tar.xz";
+    sha256 = "1wakr9z3byw1yvnbaxg8cpfhp1bp1fmnaz742738m0fx6bzznj9i";
   };
 
   buildInputs = [ pkgconfig intltool iconnamingutils gtk2 ];
diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/misc/themes/qtcurve/default.nix
new file mode 100644
index 00000000000..e63f6846002
--- /dev/null
+++ b/pkgs/misc/themes/qtcurve/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, cmake, gettext, pkgconfig # Build tools
+, gtk2, kde_workspace, kdelibs # Toolkit dependencies
+, libpthreadstubs, libXdmcp, libxcb, xlibs # X11 dependencies
+}:
+
+stdenv.mkDerivation {
+  name = "qtcurve-1.8.18";
+  src = fetchurl {
+    url = "https://github.com/QtCurve/qtcurve/archive/1.8.18.tar.gz";
+    sha256 = "19kk11hgi6md1cl0hr0pklcczbl66jczahlkf5fr8j59ljgpr6c5";
+  };
+
+  buildInputs = [
+    cmake
+    gettext
+    gtk2
+    kde_workspace
+    kdelibs
+    libpthreadstubs
+    libXdmcp
+    libxcb
+    pkgconfig
+    xlibs.libxshmfence
+  ];
+
+  patches = [
+    ./qtcurve-1.8.18-install-paths.patch
+    ./qtcurve-1.8.18-toolbar-alpha.patch
+  ];
+
+  cmakeFlags = ''
+    -DENABLE_QT5=OFF
+    -DQTC_QT4_ENABLE_KWIN=ON
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/QtCurve/qtcurve;
+    description = "Widget styles for Qt4/KDE4 and gtk2";
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch
new file mode 100644
index 00000000000..345ac25bbbb
--- /dev/null
+++ b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b2be588..4cb9115 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -116,6 +116,7 @@ if(ENABLE_GTK2)
+   find_package(PkgConfig REQUIRED)
+   unset(__pkg_config_checked_GTK2 CACHE)
+   pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
++  set(GTK2_THEME_PREFIX "${CMAKE_INSTALL_PREFIX}")
+   if(GTK2_THEME_PREFIX)
+     set(GTK2_PREFIX "${GTK2_THEME_PREFIX}")
+   elseif(NOT GTK2_PREFIX)
+diff --git a/gtk2/style/CMakeLists.txt b/gtk2/style/CMakeLists.txt
+index 01e8891..a2c767e 100644
+--- a/gtk2/style/CMakeLists.txt
++++ b/gtk2/style/CMakeLists.txt
+@@ -88,6 +88,6 @@ target_link_libraries(qtcurve-gtk2
+   qtcurve-utils qtcurve-cairo m)
+ 
+ install(TARGETS qtcurve-gtk2 LIBRARY DESTINATION
+-  ${GTK2_LIBDIR}/gtk-2.0/${GTK2_BIN_VERSION}/engines)
++  lib/gtk-2.0/${GTK2_BIN_VERSION}/engines)
+ install(FILES gtkrc icons3 icons4 map_kde_icons.pl kdeglobals
+   DESTINATION ${GTK2_THEME_DIR}/gtk-2.0)
diff --git a/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch
new file mode 100644
index 00000000000..85400e6f0f6
--- /dev/null
+++ b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch
@@ -0,0 +1,34 @@
+diff --git a/qt4/style/qtcurve.cpp b/qt4/style/qtcurve.cpp
+index d7659f5..aede882 100644
+--- a/qt4/style/qtcurve.cpp
++++ b/qt4/style/qtcurve.cpp
+@@ -12436,7 +12436,12 @@ Style::drawMenuOrToolBarBackground(const QWidget *widget, QPainter *p,
+     if (!qtcIsCustomBgnd(&opts) || !qtcIsFlat(app) ||
+         (menu && SHADE_NONE != opts.shadeMenubars)) {
+         p->save();
++#if 0
++        // Revert for now
++        // This is necessary for correct opacity on the menubar but may
++        // break transparent gradient.
+         p->setCompositionMode(QPainter::CompositionMode_Source);
++#endif
+         QRect rx(r);
+         QColor col(menu && (option->state & State_Enabled ||
+                             SHADE_NONE != opts.shadeMenubars) ?
+diff --git a/qt5/style/qtcurve.cpp b/qt5/style/qtcurve.cpp
+index c43b8a3..135eddc 100644
+--- a/qt5/style/qtcurve.cpp
++++ b/qt5/style/qtcurve.cpp
+@@ -3398,7 +3398,12 @@ Style::drawMenuOrToolBarBackground(const QWidget *widget, QPainter *p,
+     if (!qtcIsCustomBgnd(&opts) || !qtcIsFlat(app) ||
+         (menu && opts.shadeMenubars != SHADE_NONE)) {
+         p->save();
++#if 0
++        // Revert for now
++        // This is necessary for correct opacity on the menubar but may
++        // break transparent gradient.
+         p->setCompositionMode(QPainter::CompositionMode_Source);
++#endif
+         QRect rx(r);
+         QColor col(menu && (option->state & State_Enabled ||
+                             opts.shadeMenubars != SHADE_NONE) ?
diff --git a/pkgs/misc/uboot/guruplug.nix b/pkgs/misc/uboot/guruplug.nix
index b1f4cab7b73..258ba999bf8 100644
--- a/pkgs/misc/uboot/guruplug.nix
+++ b/pkgs/misc/uboot/guruplug.nix
@@ -10,7 +10,7 @@ let
   rev = "f106056095049c2c748c2a2797e5353295240e04";
 in
 stdenv.mkDerivation {
-  name = "uboot-guruplug-0.0pre${rev}";
+  name = "uboot-guruplug-0.0-pre-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "git://git.denx.de/u-boot-marvell.git";
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 01ce5f423c3..648ddb1b430 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip, which }:
+{ fetchurl, bash, stdenv, python, cmake, vim, perl, ruby, unzip, which, fetchgit, clang }:
 
 /*
 About Vim and plugins
@@ -88,8 +88,8 @@ let vimHelpTags = ''
     inherit buildPhase;
 
     installPhase = ''
-      target=$out/vim-plugins/$path
-      ensureDir $out/vim-plugins
+      target=$out/share/vim-plugins/${path}
+      mkdir -p $out/share/vim-plugins
       cp -r . $target
       ${vimHelpTags}
       vimHelpTags $target
@@ -109,23 +109,28 @@ in rec
   };
 
   YouCompleteMe = stdenv.mkDerivation {
-    # REGION AUTO UPDATE: { name="youcompleteme"; type="git"; url="git://github.com/Valloric/YouCompleteMe"; }
-    src = (fetchurl { url = "http://mawercer.de/~nix/repos/youcompleteme-git-97306.tar.bz2"; sha256 = "b9b892f5a723370c2034491dc72a4ca722c6cf1e5de4d60501141bba151bc719"; });
-    name = "youcompleteme-git-97306";
-    # END
-    buildInputs = [ python cmake ];
+    src = fetchgit {
+      url = "https://github.com/Valloric/YouCompleteMe.git";
+      rev = "67288080ea7057ea3111cb4c863484e3b150e738";
+      sha256 = "1a3rwdl458z1yrp50jdwp629j4al0zld21n15sad28g51m8gw5ka";
+     };
+
+    name = "youcompleteme-git-6728808";
+    buildInputs = [ python cmake clang.clang ];
 
     configurePhase = ":";
 
     buildPhase = ''
-      target=$out/vim-plugins/YouCompleteMe
+      target=$out/share/vim-plugins/YouCompleteMe
       mkdir -p $target
       cp -a ./ $target
 
+
       mkdir $target/build
       cd $target/build
-      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}}
+      cmake -G "Unix Makefiles" . $target/third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
+      make ycm_support_libs -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
+      ${bash}/bin/bash $target/install.sh --clang-completer
 
       ${vimHelpTags}
       vimHelpTags $target
@@ -145,12 +150,12 @@ in rec
   };
 
   syntastic = simpleDerivation rec {
-    version = "3.1.0";
+    version = "3.4.0";
     name    = "vim-syntastic-${version}";
 
     src = fetchurl {
       url    = "https://github.com/scrooloose/syntastic/archive/${version}.tar.gz";
-      sha256 = "155zfb5z0gmd1xrpna4varqf502lq0cr41gmxq5v71r6kmb7ql82";
+      sha256 = "0h8vfs6icpfwc41qx6n6rc1m35haxp2gaswg9fhcki2w2ikp6knb";
     };
 
     path = "syntastic";
@@ -165,11 +170,12 @@ in rec
     path = "vim-coffee-script";
   };
 
-  command_T = simpleDerivation {
-    name = "vim-command-t-1.4";
+  command_T = simpleDerivation rec {
+    version = "1.8";
+    name = "vim-command-t-${version}";
     src = fetchurl {
-      url    = "https://github.com/wincent/Command-T/archive/1.4.tar.gz";
-      sha256 = "1ka9hwx9n0vj1dd5qsd2l1wq0kriwl76jmmdjzh7zaf0p547v98s";
+      url    = "https://github.com/wincent/Command-T/archive/${version}.tar.gz";
+      sha256 = "ad8664292e6eee40fbe195d856d20d93a8630e8c0149317ad72cc39423630800";
     };
     path = "Command-T";
     buildInputs = [ perl ruby ];
@@ -181,10 +187,11 @@ in rec
     '';
   };
 
-  eighties = simpleDerivation {
-    name = "vim-eighties-1.0.4";
+  eighties = simpleDerivation rec {
+    version = "1.0.4";
+    name = "vim-eighties-${version}";
     src = fetchurl {
-      url    = "https://github.com/justincampbell/vim-eighties/archive/1.0.4.tar.gz";
+      url    = "https://github.com/justincampbell/vim-eighties/archive/${version}.tar.gz";
       sha256 = "0cjd9hbg2qd7jjkvyi15f9ysp7m3aa2sg8nvbf80yb890rfkwaqr";
     };
     path = "eighties";
@@ -197,6 +204,23 @@ in rec
     };
   };
 
+  golang = simpleDerivation {
+    name = "vim-golang-20131127";
+    src = fetchgit {
+      url = "https://github.com/jnwhiteh/vim-golang.git";
+      rev = "832d64e5a813511ed52217aa24f0255c49671bab";
+      sha256 = "6858eb674be132477c5dc7f7d3cbe550371f90d1aba480547a614965412a7b3c";
+    };
+    path = "golang";
+    meta = with stdenv.lib; {
+      description = "Vim plugins for Go";
+      homepage    = https://github.com/jnwhiteh/vim-golang;
+      license     = licenses.publicDomain;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+  };
+
   ipython = simpleDerivation {
     name = "vim-ipython-ff8f88f3fe518851a91dc88aaa5a75f8f352a960";
     src = fetchurl {
@@ -239,7 +263,7 @@ in rec
   };
 
   tagbar = simpleDerivation rec {
-    version = "2.5";
+    version = "2.6.1";
     name    = "vim-tagbar-${version}";
 
     meta = with stdenv.lib; {
@@ -252,7 +276,7 @@ in rec
 
     src = fetchurl {
       url    = "https://github.com/majutsushi/tagbar/archive/v${version}.tar.gz";
-      sha256 = "1s4aic3qbk2ra2cif06g16d0avlmpxhrm96dksrw9qnv4hcjqqxr";
+      sha256 = "c061a7e0a45a166f4558b31e6c47b9fd701f5fa1319527b65a268ea054dea5fb";
     };
 
     path = "tagbar";
@@ -290,7 +314,7 @@ in rec
 
     preBuild = ''
       sed -ie '1 i\
-      set runtimepath+=${vimproc}/vim-plugins/vimproc\
+      set runtimepath+=${vimproc}/share/vim-plugins/vimproc\
       ' autoload/vimshell.vim
     '';
 
@@ -298,7 +322,7 @@ in rec
   };
 
   vimproc = simpleDerivation rec {
-    version = "5cf4c6bfe9bf0649159b5648d736d54c96e99b3e";
+    version = "7788b5f934bc7460c1e9134b51fe5690b21de83c";
     name    = "vimproc-${version}";
 
     meta = with stdenv.lib; {
@@ -310,10 +334,11 @@ in rec
       platforms   = platforms.unix;
     };
 
-    src = fetchurl {
-      url    = "${meta.homepage}/archive/${version}.tar.gz";
-      sha256 = "0f76mc7v3656sf9syaq1rxzk3dqz6i5w190wgj15sjjnapzd956p";
-    };
+    src = fetchgit {
+      url = "https://github.com/Shougo/vimproc.vim.git";
+      rev = "${version}";
+      sha256 = "0ahmnzccf5rv8rwg7b6pfgxh8pcmq955aznjv64slyh0mjqmh6jl";
+     };
 
     buildInputs = [ which ];
 
@@ -324,4 +349,300 @@ in rec
 
     path = "vimproc";
   };
+
+  colorsamplerpack = simpleDerivation rec {
+    version = "2012.10.28";
+    name    = "vim-colorsamplerpack-${version}";
+
+    setSourceRoot = "sourceRoot=.";
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=18915";
+      name   = "colorsamplerpack.zip";
+      sha256 = "1wsrb3vpqn9fncnalfpvc8r92wk1mcskm4shb3s2h9x5dyihf2rd";
+    };
+
+    buildInputs = [ unzip ];
+
+    path = "colorsamplerpack";
+  };
+
+  yankring = simpleDerivation rec {
+    version = "18.0";
+    name    = "vim-yankring-${version}";
+
+    setSourceRoot = "sourceRoot=.";
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=20842";
+      name   = "yankring_180.zip";
+      sha256 = "0bsq4pxagy12jqxzs7gcf25k5ahwif13ayb9k8clyhm0jjdkf0la";
+    };
+
+    buildInputs = [ unzip ];
+
+    path = "yankring";
+  };
+
+  ctrlp = simpleDerivation rec {
+    version = "1.79";
+    name    = "vim-ctrlp-${version}";
+
+    setSourceRoot = "sourceRoot=.";
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=19448";
+      name   = "ctrlp_180.zip";
+      sha256 = "1x9im8g0g27mxc3c9k7v0jg5bb1dmnbjygmqif5bizab5g69n2mi";
+    };
+
+    buildInputs = [ unzip ];
+
+    path = "ctrlp";
+  };
+
+  alternate = stdenv.mkDerivation rec {
+    version = "2.18";
+    name    = "vim-a-${version}";
+
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=7218";
+      name   = "a.vim";
+      sha256 = "1q22vfkv60sshp9yj3mmfc8azavgzz7rpmaf72iznzq4wccy6gac";
+    };
+    unpackPhase = ":";
+    installPhase = ''
+      mkdir -p $out/share/vim-plugins/vim-a
+      cp ${src} $out/share/vim-plugins/vim-a/a.vim
+    '';
+  };
+
+  vundle = simpleDerivation {
+    name = "vundle-vim-git-0b28e334";
+    src = fetchgit {
+      url = "https://github.com/gmarik/Vundle.vim.git";
+      rev = "0b28e334e65b6628b0a61c412fcb45204a2f2bab";
+      sha256 = "9681d471d1391626cb9ad22b2b469003d9980cd23c5c3a8d34666376447e6204";
+     };
+    path = "vundle";
+  };
+
+  tslime = simpleDerivation {
+    name = "tslime-vim-git-e801a32b";
+    src = fetchgit {
+      url = "https://github.com/jgdavey/tslime.vim.git";
+      rev = "e801a32b27d83cb5d91afbf7c3d71bb6220f32bd";
+      sha256 = "47fb7165c1dcc444285cdff6fa89bbd4ace82ca79ec14ba0da6091c5f78d1251";
+     };
+    path = "tslime";
+  };
+
+  supertab = simpleDerivation {
+    name = "supertab-git-23db5585";
+    src = fetchgit {
+      url = "https://github.com/ervandew/supertab.git";
+      rev = "23db558596d4a73e4afa8fbedcde23b95bf72251";
+      sha256 = "21fa675969f4cfd2686ab3b63cba632fa55d62481e61d36193403bea9c02ebde";
+     };
+    path = "supertab";
+    buildInputs = [ vim ];
+  };
+
+  fugitive = simpleDerivation {
+    name = "vim-fugitive-git-90ee6fb5";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-fugitive.git";
+      rev = "90ee6fb5d255d14d9f12f2469f92ee50149f5b44";
+      sha256 = "0297512f7fee62af601a99a68617591ecb2e244475ff0d79ebee9c7e6eff2eaf";
+     };
+    path = "fugitive";
+  };
+
+  extradite = simpleDerivation {
+    name = "vim-extradite-git-af4f3a51";
+    src = fetchgit {
+      url = "https://github.com/int3/vim-extradite.git";
+      rev = "af4f3a51b6b654d655121b93c0cd9d8fe9a0c85d";
+      sha256 = "d1d29cfbc654134be383747f2cd6b14b7a87de75f997af6a041f14d7ef61ade6";
+     };
+    path = "extradite";
+  };
+
+  nerdtree = simpleDerivation {
+    name = "nerdtree-git-4f1e6ecb";
+    src = fetchgit {
+      url = "https://github.com/scrooloose/nerdtree.git";
+      rev = "4f1e6ecb057fc0bac189171c1430d71ef25f6bb1";
+      sha256 = "67ff2e7b9a7f39e58e9e334b1b79343a4c11aae10a657ab4fece289d8fe59300";
+     };
+    path = "nerdtree";
+  };
+
+  airline = simpleDerivation {
+    name = "vim-airline-git-2114e702";
+    src = fetchgit {
+      url = "https://github.com/bling/vim-airline.git";
+      rev = "2114e7025188a941e5c63b1f942d576adb98d8a4";
+      sha256 = "b6fc4d0545f8b7e107c5f80b94cf536a2b1fdd55d9f2484a29a007911e96130f";
+     };
+    path = "airline";
+  };
+
+  ultisnips = simpleDerivation {
+    name = "ultisnips-git-279d6e63";
+    src = fetchgit {
+      url = "https://github.com/SirVer/ultisnips.git";
+      rev = "279d6e63c9a8dbaa20ffc43c3c5f057dfc8f1121";
+      sha256 = "f8d93849ef2bce798aa599ba860694ced37d12450010a48dd6bd3004bc52b503";
+     };
+    path = "ultisnips";
+  };
+
+  align = simpleDerivation {
+    name = "align-git-787662fe";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/Align.git";
+      rev = "787662fe90cd057942bc5b682fd70c87e1a9dd77";
+      sha256 = "f7b5764357370f03546556bd45558837f3790b0e86afadb63cd04d714a668a29";
+     };
+    path = "align";
+  };
+
+  gundo = simpleDerivation {
+    name = "gundo-git-f443470b";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/Gundo.git";
+      rev = "f443470b96364c24a775629418a6b2562ec9173e";
+      sha256 = "b7a949167e59c936d6eae0d23635b87491b2cd2f46a197683b171d30165a90f9";
+     };
+    path = "gundo";
+  };
+
+  commentary = simpleDerivation {
+    name = "vim-commentary-git-8b4df6ca";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-commentary.git";
+      rev = "8b4df6ca0ba9cd117d97a8fd26b44b2439d5e3f1";
+      sha256 = "5496ed31706552957d4caa76669ecd04e9b2853cf7a7e40bd0164726b21fcca0";
+     };
+    path = "commentary";
+  };
+
+  tabular = simpleDerivation {
+    name = "tabular-git-60f25648";
+    src = fetchgit {
+      url = "https://github.com/godlygeek/tabular.git";
+      rev = "60f25648814f0695eeb6c1040d97adca93c4e0bb";
+      sha256 = "28c860ad621587f2c3213fae47d1a3997746527c17d51e9ab94c209eb7bfeb0f";
+     };
+    path = "tabular";
+  };
+
+  vim2hs = simpleDerivation {
+    name = "vim2hs-git-f2afd557";
+    src = fetchgit {
+      url = "https://github.com/dag/vim2hs.git";
+      rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
+      sha256 = "485fc58595bb4e50f2239bec5a4cbb0d8f5662aa3f744e42c110cd1d66b7e5b0";
+     };
+    path = "vim2hs";
+  };
+
+  hasksyn = simpleDerivation {
+    name = "hasksyn-git-175cd460";
+    src = fetchgit {
+      url = "https://github.com/travitch/hasksyn.git";
+      rev = "175cd4605afa5d9b9c75758112c8159fd118c631";
+      sha256 = "3488e38d1f45a9a3363da62c1c946591621151a0a9cdaedd22b3fe8f666bbdb9";
+     };
+    path = "hasksyn";
+  };
+
+  haskellConceal = simpleDerivation {
+    name = "vim-haskellConceal-git-73a8d712";
+    src = fetchgit {
+      url = "https://github.com/begriffs/vim-haskellConceal.git";
+      rev = "73a8d712d3342b2ffdc087b12924f1cf81053860";
+      sha256 = "be60ca030e2d39e972a8c71c0ab3b75b893589d26d5dd78a20cd6779f1f5cfa8";
+     };
+    path = "haskellConceal";
+  };
+
+  ghcmod = simpleDerivation {
+    name = "ghcmod-vim-git-0c4e9428";
+    src = fetchgit {
+      url = "https://github.com/eagletmt/ghcmod-vim.git";
+      rev = "0c4e94281e57c475752e799adc261f7d5e4ab124";
+      sha256 = "f6a085f7b8198747fae3fff0bc38e4d030e5c97aaeb84958fbf96fa658bbe862";
+     };
+    path = "ghcmod";
+  };
+
+  necoGhc = simpleDerivation {
+    name = "neco-ghc-git-0311f31b";
+    src = fetchgit {
+      url = "https://github.com/eagletmt/neco-ghc.git";
+      rev = "0311f31b3acaccec5b651ae7089d627a3a49239b";
+      sha256 = "302f29f54c56e9cee647745a8355aeafe323c4efe2f3593d5e4f586acc1c06a5";
+     };
+    path = "neco-ghc";
+  };
+
+  hoogle = simpleDerivation {
+    name = "vim-hoogle-git-81f28318";
+    src = fetchgit {
+      url = "https://github.com/Twinside/vim-hoogle.git";
+      rev = "81f28318b0d4174984c33df99db7752891c5c4e9";
+      sha256 = "0f96f3badb6218cac87d0f7027ff032ecc74f08ad3ada542898278ce11cbd5a0";
+     };
+    path = "hoogle";
+  };
+
+  hdevtools = simpleDerivation {
+    name = "vim-hdevtools-git-474947c5";
+    src = fetchgit {
+      url = "https://github.com/bitc/vim-hdevtools.git";
+      rev = "474947c52ff9c93dd36f3c49de90bd9a78f0baa1";
+      sha256 = "bf5f096b665c51ce611c6c1bfddc3267c4b2f94af84b04482b07272a6a5a92f3";
+     };
+    path = "hdevtools";
+  };
+
+  stylishHaskell = simpleDerivation {
+    name = "vim-stylish-haskell-git-453fd203";
+    src = fetchgit {
+      url = "https://github.com/nbouscal/vim-stylish-haskell.git";
+      rev = "453fd203aee3d7305ea8e4088ff53bd1f5933d75";
+      sha256 = "c0e5010e1e8e56b179ce500387afb569f051c45b37ce92feb4350f293df96a8c";
+     };
+    path = "stylish-haskell";
+  };
+
+  wombat256 = simpleDerivation {
+    name = "wombat256-vim-git-8734ba45";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/wombat256.vim.git";
+      rev = "8734ba45dcf5e38c4d2686b35c94f9fcb30427e2";
+      sha256 = "2feb7d57ab0a9f2ea44ccd606e540db64ab3285956398a50ecc562d7b8dbcd05";
+     };
+    path = "wombat256";
+  };
+
+  tmuxNavigator = simpleDerivation {
+    name = "vim-tmux-navigator-git-3de98bfc";
+    src = fetchgit {
+      url = "https://github.com/christoomey/vim-tmux-navigator.git";
+      rev = "3de98bfcee1289ce8edc6daf9a18f243180c7168";
+      sha256 = "3843f92e0a21fe5ccf613f8a561abd06c822b2ee98bd82c98937548144e4e8df";
+     };
+    path = "tmux-navigator";
+  };
+
+  pathogen = simpleDerivation {
+    name = "vim-pathogen-git-3de98bfc";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-pathogen.git";
+      rev = "91e6378908721d20514bbe5d18d292a0a15faf0c";
+      sha256 = "24c1897d6b58576b2189c90050a7f8ede72a51343c752e9d030e833dbe5cac6f";
+     };
+    path = "pathogen";
+  };
+
 }
diff --git a/pkgs/os-specific/darwin/cctools-port/default.nix b/pkgs/os-specific/darwin/cctools-port/default.nix
new file mode 100644
index 00000000000..cdc259c1e2a
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools-port/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, cross, fetchurl, autoconf, automake, libtool
+, libcxx, llvm, clang, openssl, libuuid
+, maloader, makeWrapper, xctoolchain
+}:
+
+stdenv.mkDerivation rec {
+  name = "cctools-port-${version}";
+  version = "845";
+
+  src = fetchurl {
+    url = "https://github.com/tpoechtrager/cctools-port/archive/"
+        + "cctools-${version}-ld64-136-1.tar.gz";
+    sha256 = "06pg6h1g8avgx4j6cfykdpggf490li796gzhhyqn27jsagli307i";
+  };
+
+  buildInputs = [
+    autoconf automake libtool libcxx llvm clang openssl libuuid makeWrapper
+  ];
+
+  patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ];
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    patchShebangs tools
+    sed -i -e 's/which/type -P/' tools/*.sh
+    sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh
+
+    # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157
+    cat > cctools/include/unistd.h <<EOF
+    #ifdef __block
+    #  undef __block
+    #  include_next "unistd.h"
+    #  define __block __attribute__((__blocks__(byref)))
+    #else
+    #  include_next "unistd.h"
+    #endif
+    EOF
+  '';
+
+  preConfigure = ''
+    cd cctools
+    sh autogen.sh
+  '';
+
+  configureFlags = [
+    "CXXFLAGS=-I${libcxx}/include/c++/v1"
+    "--target=${cross.config}"
+  ];
+
+  postInstall = ''
+    for tool in dyldinfo dwarfdump dsymutil; do
+      makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \
+        --add-flags "${xctoolchain}/bin/$tool"
+      ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool"
+    done
+  '';
+
+  meta = {
+    homepage = "http://www.opensource.apple.com/source/cctools/";
+    description = "Mac OS X Compiler Tools (cross-platform port)";
+    license = stdenv.lib.licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch b/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch
new file mode 100644
index 00000000000..fc87f69ac32
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch
@@ -0,0 +1,16 @@
+diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
+index 2565518..9250016 100644
+--- a/cctools/ld64/src/ld/Options.cpp
++++ b/cctools/ld64/src/ld/Options.cpp
+@@ -2522,6 +2522,11 @@ void Options::parse(int argc, const char* argv[])
+ 					throw "missing argument to -rpath";
+ 				fRPaths.push_back(path);
+ 			}
++			else if ( strcmp(arg, "-rpath-link") == 0 ) {
++				const char* path = argv[++i];
++				if ( path == NULL )
++					throw "missing argument to -rpath-link";
++			}
+ 			else if ( strcmp(arg, "-read_only_stubs") == 0 ) {
+ 				fReadOnlyx86Stubs = true;
+ 			}
diff --git a/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch
new file mode 100644
index 00000000000..265d0d30477
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch
@@ -0,0 +1,31 @@
+diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
+index 9250016..91d54ec 100644
+--- a/cctools/ld64/src/ld/Options.cpp
++++ b/cctools/ld64/src/ld/Options.cpp
+@@ -4175,23 +4175,9 @@ void Options::checkIllegalOptionCombinations()
+ 		throw "-r and -dead_strip cannot be used together";
+ 
+ 	// can't use -rpath unless targeting 10.5 or later
+-	if ( fRPaths.size() > 0 ) {
+-		if ( !minOS(ld::mac10_5, ld::iOS_2_0) )
+-			throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
+-		switch ( fOutputKind ) {
+-			case Options::kDynamicExecutable:
+-			case Options::kDynamicLibrary:
+-			case Options::kDynamicBundle:
+-				break;
+-			case Options::kStaticExecutable:
+-			case Options::kObjectFile:
+-			case Options::kDyld:
+-			case Options::kPreload:
+-			case Options::kKextBundle:
+-				throw "-rpath can only be used when creating a dynamic final linked image";
+-		}
+-	}
+-	
++	if ( fRPaths.size() > 0 && !minOS(ld::mac10_5, ld::iOS_2_0) )
++		throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
++
+ 	if ( fPositionIndependentExecutable ) {
+ 		switch ( fOutputKind ) {
+ 			case Options::kDynamicExecutable:
diff --git a/pkgs/os-specific/darwin/htop/default.nix b/pkgs/os-specific/darwin/htop/default.nix
new file mode 100644
index 00000000000..65e8b09db34
--- /dev/null
+++ b/pkgs/os-specific/darwin/htop/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, ncurses, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "htop-0.8.2.2";
+
+  src = fetchurl {
+    url = "https://github.com/max-horvath/htop-osx/archive/0.8.2.2.tar.gz";
+    sha256 = "0qxibadn2lfqn10a5jmkv8r5ljfs0vaaa4j6psd7ppxa2w6bx5li";
+  };
+
+  buildInputs = [ autoconf automake ncurses ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = {
+    description = "An interactive process viewer for Mac OS X";
+    homepage = "https://github.com/max-horvath/htop-osx";
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ joelteon ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/maloader/default.nix b/pkgs/os-specific/darwin/maloader/default.nix
new file mode 100644
index 00000000000..f5bfe890735
--- /dev/null
+++ b/pkgs/os-specific/darwin/maloader/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, opencflite, clang, libcxx }:
+
+stdenv.mkDerivation {
+  name = "maloader-0git";
+
+  src = fetchgit {
+    url = "git://github.com/shinh/maloader.git";
+    rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
+    sha256 = "07j9b7n0grrbxxyn2h8pnk6pa8b370wq5z5zwbds8dlhi7q37rhn";
+  };
+
+  postPatch = ''
+    sed -i \
+      -e '/if.*loadLibMac.*mypath/s|mypath|"'"$out/lib/"'"|' \
+      -e 's|libCoreFoundation\.so|${opencflite}/lib/&|' \
+      ld-mac.cc
+  '';
+
+  NIX_CFLAGS_COMPILE = "-I${libcxx}/include/c++/v1";
+  buildInputs = [ clang libcxx ];
+  buildFlags = [ "USE_LIBCXX=1" "release" ];
+
+  installPhase = ''
+    install -vD libmac.so "$out/lib/libmac.so"
+
+    for bin in extract macho2elf ld-mac; do
+      install -vD "$bin" "$out/bin/$bin"
+    done
+  '';
+
+  meta = {
+    description = "Mach-O loader for Linux";
+    homepage = "https://github.com/shinh/maloader";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
index cee03741dce..3844912f6ba 100644
--- a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
+++ b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
 
   builder = writeScript "${name}-builder.sh" ''
     /bin/mkdir -p $out
-    /bin/ln -sv /usr/X11/{bin,lib,include,share} $out/
+    /bin/mkdir $out/lib
+    /bin/ln -sv /usr/X11/lib/{*.dylib,X11,xorg} $out/lib
+    /bin/mkdir $out/lib/pkgconfig
+    /bin/ln -sv /usr/X11/lib/pkgconfig/{x*.pc,gl*.pc} $out/lib/pkgconfig
+    /bin/ln -sv /usr/X11/{bin,include,share} $out/
   '';
 }
diff --git a/pkgs/os-specific/darwin/opencflite/default.nix b/pkgs/os-specific/darwin/opencflite/default.nix
new file mode 100644
index 00000000000..a2408bfc5c8
--- /dev/null
+++ b/pkgs/os-specific/darwin/opencflite/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, icu, libuuid, tzdata }:
+
+stdenv.mkDerivation rec {
+  name = "opencflite-${version}";
+  version = "476.19.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/opencflite/${name}.tar.gz";
+    sha256 = "0jgmzs0ycl930hmzcvx0ykryik56704yw62w394q1q3xw5kkjn9v";
+  };
+
+  configureFlags = [ "--with-uuid=${libuuid}" ];
+  buildInputs = [ icu tzdata.lib ];
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Cross platform port of the OS X CoreFoundation";
+    homepage = "http://sourceforge.net/projects/opencflite/";
+    license = stdenv.lib.licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/otool/default.nix b/pkgs/os-specific/darwin/otool/default.nix
index 671e51542d0..e0793664a9c 100644
--- a/pkgs/os-specific/darwin/otool/default.nix
+++ b/pkgs/os-specific/darwin/otool/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Object file displaying tool";
     homepage    = https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/otool.1.html;
-    license     = with licenses; [ apsl20 gpl2Plus ];
+    # TODO license     = with licenses; [ apsl20 gpl2Plus ];
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.darwin;
 
diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix
new file mode 100644
index 00000000000..2a48590154e
--- /dev/null
+++ b/pkgs/os-specific/darwin/xcode/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, requireFile, xpwn }:
+
+with stdenv.lib;
+
+let
+  osxVersion = "10.9";
+in stdenv.mkDerivation rec {
+  name = "xcode-${version}";
+  version = "5.1";
+
+  src = requireFile {
+    name = "xcode_${version}.dmg";
+    url = meta.homepage;
+    sha256 = "70bb550cc14eca80b9825f4ae9bfbf7f076bb75777311be428bc30a7eb7a6f7e";
+  };
+
+  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
+  outputs = [ "out" "toolchain" ];
+
+
+  unpackCmd = let
+    basePath = "Xcode.app/Contents/Developer/Platforms/MacOSX.platform";
+    sdkPath = "${basePath}/Developer/SDKs";
+  in ''
+    ${xpwn}/bin/dmg extract "$curSrc" main.hfs > /dev/null
+    ${xpwn}/bin/hfsplus main.hfs extractall "${sdkPath}" > /dev/null
+  '';
+
+  setSourceRoot = "sourceRoot=MacOSX${osxVersion}.sdk";
+
+  patches = optional (osxVersion == "10.9") ./gcc-fix-enum-attributes.patch;
+
+  installPhase = ''
+    mkdir -p "$out/share/sysroot"
+    cp -a * "$out/share/sysroot/"
+    ln -s "$out/share/sysroot/usr/lib" "$out/lib"
+    ln -s "$out/share/sysroot/usr/include" "$out/include"
+
+    mkdir -p "$toolchain"
+    pushd "$toolchain"
+    ${xpwn}/bin/hfsplus "$(dirs +1)/../main.hfs" extractall \
+      Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr \
+      > /dev/null
+    popd
+  '';
+
+  meta = {
+    homepage = "https://developer.apple.com/downloads/";
+    description = "Apple's XCode SDK";
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch b/pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch
new file mode 100644
index 00000000000..1e1895c2894
--- /dev/null
+++ b/pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch
@@ -0,0 +1,13 @@
+diff --git a/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h b/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h
+index fa0c290..7da7e0c 100644
+--- a/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h
++++ b/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h
+@@ -13,7 +13,7 @@ typedef NS_ENUM(NSInteger, NSUserNotificationActivationType) {
+     NSUserNotificationActivationTypeNone = 0,
+     NSUserNotificationActivationTypeContentsClicked = 1,
+     NSUserNotificationActivationTypeActionButtonClicked = 2,
+-    NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3
++    NSUserNotificationActivationTypeReplied = 3
+ } NS_ENUM_AVAILABLE(10_8, NA);
+ 
+ NS_CLASS_AVAILABLE(10_8, NA)
diff --git a/pkgs/os-specific/gnu/default.nix b/pkgs/os-specific/gnu/default.nix
index 27b1cdd3e8a..94bfec0a18e 100644
--- a/pkgs/os-specific/gnu/default.nix
+++ b/pkgs/os-specific/gnu/default.nix
@@ -82,7 +82,7 @@ let
     mig = callPackage ./mig {
       # Build natively, but force use of a 32-bit environment because we're
       # targeting `i586-pc-gnu'.
-      stdenv = (forceSystem "i686-linux").stdenv;
+      stdenv = (forceSystem "i686-linux" "i386").stdenv;
     };
 
     # XXX: Use this one for its `.crossDrv'.  Using the one above from
diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix
index 0c9059a3008..4bdb6e132fb 100644
--- a/pkgs/os-specific/gnu/hurd/default.nix
+++ b/pkgs/os-specific/gnu/hurd/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation ({
          kernels (such as Linux).
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://www.gnu.org/software/hurd/;
 
diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix
index 3eaa6336ec2..4b16652ba05 100644
--- a/pkgs/os-specific/gnu/libpthread/default.nix
+++ b/pkgs/os-specific/gnu/libpthread/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation ({
   meta = {
     description = "GNU Hurd's libpthread";
 
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix
index 54c6429955b..6d2d20687bc 100644
--- a/pkgs/os-specific/gnu/mach/default.nix
+++ b/pkgs/os-specific/gnu/mach/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation ({
          were added using glue code, i.e., a Linux emulation layer in Mach.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html;
 
diff --git a/pkgs/os-specific/gnu/mig/default.nix b/pkgs/os-specific/gnu/mig/default.nix
index 9ee188b0c8c..34426b45d55 100644
--- a/pkgs/os-specific/gnu/mig/default.nix
+++ b/pkgs/os-specific/gnu/mig/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
          Mach-based inter-process communication.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html;
 
diff --git a/pkgs/os-specific/gnu/smbfs/default.nix b/pkgs/os-specific/gnu/smbfs/default.nix
index 4897c0c0af8..6f3d719d816 100644
--- a/pkgs/os-specific/gnu/smbfs/default.nix
+++ b/pkgs/os-specific/gnu/smbfs/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.nongnu.org/hurdextras/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/os-specific/gnu/unionfs/default.nix b/pkgs/os-specific/gnu/unionfs/default.nix
index 946e4c0c109..5e2f428130c 100644
--- a/pkgs/os-specific/gnu/unionfs/default.nix
+++ b/pkgs/os-specific/gnu/unionfs/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/hurd/hurd/translator/unionfs.html;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 9fd8168948d..63c55341b14 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchgit, kernelDev }:
+{ stdenv, fetchgit, kernel }:
 
 stdenv.mkDerivation {
-  name = "acpi-call-${kernelDev.version}";
+  name = "acpi-call-${kernel.version}";
 
   src = fetchgit {
     url = "git://github.com/mkottman/acpi_call.git";
-    rev = "46dd97e115ddc7219c88b0818c4d5b235162fe6e";
-    sha256 = "1bi0azd7xxhrivjhnmxllj2sfj12br56mxii20mnqdpqwyz0rhni";
+    rev = "ac67445bc75ec4fcf46ceb195fb84d74ad350d51";
+    sha256 = "0jl19irz9x9pxab2qp4z8c3jijv2m30zhmnzi6ygbrisqqlg4c75";
   };
   
   preBuild = ''
     sed -e 's/break/true/' -i examples/turn_off_gpu.sh
     sed -e 's@/bin/bash@.bin/sh@' -i examples/turn_off_gpu.sh
-    sed -e "s@/lib/modules/\$(.*)@${kernelDev}/lib/modules/${kernelDev.modDirVersion}@" -i Makefile
+    sed -e "s@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@" -i Makefile
   '';
  
   installPhase = ''
-    mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
-    cp acpi_call.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
+    mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
+    cp acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc
     mkdir -p $out/bin
     cp examples/turn_off_gpu.sh $out/bin/test_discrete_video_off.sh
     chmod a+x $out/bin/test_discrete_video_off.sh
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index d694a9e5ed2..0fc79922515 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "acpi-${version}";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/acpiclient/${version}/${name}.tar.gz";
-    sha256 = "0cawznhkzb51yxa599d1xkw05nklmjrrmd79vmjkkzf4002d4qgd";
+    sha256 = "01ahldvf0gc29dmbd5zi4rrnrw2i1ajnf30sx2vyaski3jv099fp";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Show battery status and other ACPI information";
     longDescription = ''
       Linux ACPI client is a small command-line
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
       battery and thermal information.
     '';
     homepage = http://sourceforge.net/projects/acpiclient/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index 7f3440d8f59..c9d45835cfd 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "acpid-2.0.17";
+  name = "acpid-2.0.22";
 
   src = fetchurl {
-    url = "http://tedfelix.com/linux/${name}.tar.xz";
-    sha256 = "0gksl6z3sb6yyk7bdmldxsrncvprd3rny0i8ggl4m95nvv3x5drn";
+    url = "mirror://sourceforge/acpid2/${name}.tar.xz";
+    sha256 = "0cdbcy5xjdcyp2x6hzgpv6a9vg9bbxmypmfvv1qzgj43897la49x";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/acpitool/default.nix b/pkgs/os-specific/linux/acpitool/default.nix
index c7f96206eab..6fc3bbe7c08 100644
--- a/pkgs/os-specific/linux/acpitool/default.nix
+++ b/pkgs/os-specific/linux/acpitool/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A small, convenient command-line ACPI client with a lot of features";
     homepage = http://freeunix.dyndns.org:8000/site2/acpitool.shtml;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.guibert ];
   };
 }
diff --git a/pkgs/os-specific/linux/afuse/default.nix b/pkgs/os-specific/linux/afuse/default.nix
index 06af0c9228a..70c8f36105c 100644
--- a/pkgs/os-specific/linux/afuse/default.nix
+++ b/pkgs/os-specific/linux/afuse/default.nix
@@ -13,9 +13,8 @@ stdenv.mkDerivation {
   meta = { 
     description = "Automounter in userspace";
     homepage = http://sourceforge.net/projects/afuse;
-    license = "GPL-v2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/os-specific/linux/alienfx/default.nix b/pkgs/os-specific/linux/alienfx/default.nix
new file mode 100644
index 00000000000..93d77819e57
--- /dev/null
+++ b/pkgs/os-specific/linux/alienfx/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, libusb1, fetchgit}:
+
+
+let
+  rev = "85ee5eeaca59a1c92659c3f49b148b0447d78f16";
+in
+
+stdenv.mkDerivation {
+  name = "alienfx-1.0.0";
+  src = fetchgit {
+    inherit rev;
+    url = https://github.com/tibz/alienfx.git;
+
+    sha256 = "47501a3b4e08d39edee4cd829ae24259a7e740b9798db76b846fa872989f8fb1";
+  };
+
+  prePatch = ''
+    substituteInPlace Makefile --replace /usr/ $out/
+    substituteInPlace Makefile --replace "install -o root -g root" "install"
+  '';
+ 
+  patches = [./unistd.patch];
+  buildInputs = [ libusb1 ];
+  makeFlags = "build";
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+  '';
+  installTargets = "install";
+  postInstall = ''cp alienfx.1 $out/man/man1'';
+  
+  meta = {
+    description = "Controls AlienFX lighting";
+    homepage = "https://github.com/tibz/alienfx";
+    maintainers = [stdenv.lib.maintainers.tomberek];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/os-specific/linux/alienfx/unistd.patch b/pkgs/os-specific/linux/alienfx/unistd.patch
new file mode 100644
index 00000000000..546a27892f0
--- /dev/null
+++ b/pkgs/os-specific/linux/alienfx/unistd.patch
@@ -0,0 +1,12 @@
+diff --git a/alienfx.cpp b/alienfx.cpp
+index 5981039..aea8992 100644
+--- a/alienfx.cpp
++++ b/alienfx.cpp
+@@ -13,6 +13,7 @@
+ #include <string.h>
+ #include <iostream>
+ #include <libusb-1.0/libusb.h>
++#include <unistd.h>
+ 
+ using namespace std;
+ 
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 26d32594fba..f46e54448b9 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,17 +1,24 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.0.26";
+  name = "alsa-lib-1.0.28";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
      "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
     ];
-    sha256 = "0zbfkwqn7ixa71lsna9llq6i2gic540h8r8r0rjdphrwc1hq37wc";
+    sha256 = "0vaafg5q1q1mqcsgin5v7xlmngl3cnbmg5a9xxw0xcz1vn2ln1rw";
   };
 
-  configureFlags = "--disable-xmlto";
+  patches = [
+    /* allow specifying alternatives alsa plugin locations using
+       export ALSA_PLUGIN_DIRS=$(nix-build -A alsaPlugins)/lib/alsa-lib
+       This patch should be improved:
+       See http://thread.gmane.org/gmane.linux.distributions.nixos/3435
+    */
+    ./alsa-plugin-dirs.patch
+  ];
 
   # Fix pcm.h file in order to prevent some compilation bugs
   # 2: see http://stackoverflow.com/questions/3103400/how-to-overcome-u-int8-t-vs-uint8-t-issue-efficiently
@@ -29,7 +36,8 @@ stdenv.mkDerivation rec {
     '';
   };
 
-  meta = {
+  meta = with stdenv.lib; {
+    homepage = http://www.alsa-project.org/;
     description = "ALSA, the Advanced Linux Sound Architecture libraries";
 
     longDescription = ''
@@ -37,20 +45,7 @@ stdenv.mkDerivation rec {
       MIDI functionality to the Linux-based operating system.
     '';
 
-    homepage = http://www.alsa-project.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
   };
-
-  patches = [
-    /* allow specifying alternatives alsa plugin locations using
-       export ALSA_PLUGIN_DIRS=$(nix-build -A alsaPlugins)/lib/alsa-lib
-       This patch should be improved:
-       See http://thread.gmane.org/gmane.linux.distributions.nixos/3435
-    */
-    ./alsa-plugin-dirs.patch
-
-    /* patch provided by larsc on irc.
-       it may be a compiler problem on mips; without this, alsa does not build
-       on mips, because lacks some symbols atomic_add/atomic_sub  */
-    ./mips-atomic.patch
-  ];
 }
diff --git a/pkgs/os-specific/linux/alsa-lib/mips-atomic.patch b/pkgs/os-specific/linux/alsa-lib/mips-atomic.patch
deleted file mode 100644
index 3af7c5d4deb..00000000000
--- a/pkgs/os-specific/linux/alsa-lib/mips-atomic.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/include/iatomic.h b/include/iatomic.h
-index e92dbfd..364bc5c 100644
---- a/include/iatomic.h
-+++ b/include/iatomic.h
-@@ -720,7 +720,7 @@ typedef struct { volatile int counter; } atomic_t;
-  * Atomically adds @i to @v.  Note that the guaranteed useful range
-  * of an atomic_t is only 24 bits.
-  */
--extern __inline__ void atomic_add(int i, atomic_t * v)
-+static __inline__ void atomic_add(int i, atomic_t * v)
- {
- 	unsigned long temp;
- 
-@@ -744,7 +744,7 @@ extern __inline__ void atomic_add(int i, atomic_t * v)
-  * Atomically subtracts @i from @v.  Note that the guaranteed
-  * useful range of an atomic_t is only 24 bits.
-  */
--extern __inline__ void atomic_sub(int i, atomic_t * v)
-+static __inline__ void atomic_sub(int i, atomic_t * v)
- {
- 	unsigned long temp;
- 
-@@ -763,7 +763,7 @@ extern __inline__ void atomic_sub(int i, atomic_t * v)
- /*
-  * Same as above, but return the result value
-  */
--extern __inline__ int atomic_add_return(int i, atomic_t * v)
-+static __inline__ int atomic_add_return(int i, atomic_t * v)
- {
- 	unsigned long temp, result;
- 
-@@ -784,7 +784,7 @@ extern __inline__ int atomic_add_return(int i, atomic_t * v)
- 	return result;
- }
- 
--extern __inline__ int atomic_sub_return(int i, atomic_t * v)
-+static __inline__ int atomic_sub_return(int i, atomic_t * v)
- {
- 	unsigned long temp, result;
diff --git a/pkgs/os-specific/linux/alsa-oss/default.nix b/pkgs/os-specific/linux/alsa-oss/default.nix
index 98bf4374b4f..0d02daebe1d 100644
--- a/pkgs/os-specific/linux/alsa-oss/default.nix
+++ b/pkgs/os-specific/linux/alsa-oss/default.nix
@@ -1,12 +1,14 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-oss-1.0.25";
+  name = "alsa-oss-1.0.28";
 
   src = fetchurl {
-    url = "ftp://ftp.alsa-project.org/pub/oss-lib/${name}.tar.bz2";
-    # url = "http://alsa.cybermirror.org/oss-lib/${name}.tar.bz2";
-    sha256 = "ed823b8e42599951d896c1709615d4cf7cb1cb3a7c55c75ccee82e24ccaf28e3";
+    urls = [
+      "ftp://ftp.alsa-project.org/pub/oss-lib/${name}.tar.bz2"
+      "http://alsa.cybermirror.org/oss-lib/${name}.tar.bz2"
+    ];
+    sha256 = "1mbabiywxjjlvdh257j3a0v4vvy69mwwnvc3xlq7pg50i2m2rris";
   };
 
   buildInputs = [ alsaLib ncurses libsamplerate ];
@@ -21,6 +23,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
+    homepage = http://www.alsa-project.org/;
     description = "ALSA, the Advanced Linux Sound Architecture alsa-oss emulation";
 
     longDescription = ''
@@ -28,6 +31,6 @@ stdenv.mkDerivation rec {
       MIDI functionality to the Linux-based operating system.
     '';
 
-    homepage = http://www.alsa-project.org/;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index fb17b47b506..0bb96c343df 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -1,26 +1,27 @@
-{ stdenv, fetchurl, lib, pkgconfig, alsaLib, pulseaudio ? null, jackaudio ? null }:
+{ stdenv, fetchurl, lib, pkgconfig, alsaLib, libogg, pulseaudio ? null, jack2 ? null }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-plugins-1.0.26";
+  name = "alsa-plugins-1.0.28";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2"
       "http://alsa.cybermirror.org/plugins/${name}.tar.bz2"
     ];
-    sha256 = "07wz3kl6isabk15ddpzz820pqlgvw6q0m7knnbgv9780s8s52l83";
+    sha256 = "081is33afhykb4ysll8s6gh0d6nm1cglslj9ck0disbyl3qqlvs2";
   };
 
+  # ToDo: a52, etc.?
   buildInputs =
-    [ pkgconfig alsaLib ]
-    ++ stdenv.lib.optional (pulseaudio != null) pulseaudio
-    ++ stdenv.lib.optional (jackaudio != null) jackaudio;
+    [ pkgconfig alsaLib libogg ]
+    ++ lib.optional (pulseaudio != null) pulseaudio
+    ++ lib.optional (jack2 != null) jack2;
 
-  meta = { 
+  meta = with lib; {
     description = "Various plugins for ALSA";
     homepage = http://alsa-project.org/;
-    license = "GPL2.1";
-    maintainers = [lib.maintainers.marcweber];
-    platforms = lib.platforms.linux;
+    license = licenses.lgpl21;
+    maintainers = [maintainers.marcweber];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index c121b227eee..7ab4a919786 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -1,12 +1,14 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-utils-1.0.26";
+  name = "alsa-utils-1.0.28";
 
   src = fetchurl {
-    # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2";
-    url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2";
-    sha256 = "1rw1n3w8syqky9i7kwy5xd2rzfdbihxas32vwfxpb177lqx2lpzq";
+    urls = [
+      "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"
+      "http://alsa.cybermirror.org/utils/${name}.tar.bz2"
+    ];
+    sha256 = "1k1ach1jv0bf71klj9sqaijnw9wjrjad0g5in6bpfnhjn24lrzzk";
   };
 
   buildInputs = [ alsaLib ncurses libsamplerate ];
@@ -16,13 +18,8 @@ stdenv.mkDerivation rec {
 
   installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy";
 
-  preConfigure =
-    ''
-      # Ensure that ‘90-alsa-restore.rules.in’ gets rebuilt.
-      rm alsactl/90-alsa-restore.rules
-    '';
-
   meta = {
+    homepage = http://www.alsa-project.org/;
     description = "ALSA, the Advanced Linux Sound Architecture utils";
 
     longDescription = ''
@@ -30,6 +27,6 @@ stdenv.mkDerivation rec {
       MIDI functionality to the Linux-based operating system.
     '';
 
-    homepage = http://www.alsa-project.org/;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 858be431a91..8048419a93b 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -5,11 +5,11 @@
 stdenv.mkDerivation rec {
 
   name = "apparmor-${version}";
-  version = "2.8.1";
+  version = "2.8.3";
 
   src = fetchurl {
     url = "http://launchpad.net/apparmor/2.8/${version}/+download/${name}.tar.gz";
-    sha256 = "1r0a5k14jbiik28m5gql0f3dbxl252jya7i120rrsbzqqnvw6nw7";
+    sha256 = "0zjwhkq9wh76m59zmrzfp68sjy4fnz4h23r7asxyaw6inrzwmhl4";
   };
 
   buildInputs = [
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     make
     make check
     make install
-    ensureDir $out/lib/perl5/site_perl/
+    mkdir -p $out/lib/perl5/site_perl/
     cp swig/perl/LibAppArmor.pm $out/lib/perl5/site_perl/
     cp swig/perl/LibAppArmor.bs $out/lib/perl5/site_perl/
     # this is automatically copied elsewhere....
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
     homepage = http://apparmor.net/;
     description = "Linux application security system";
     license = licenses.gpl2;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = [ maintainers.phreedom maintainers.thoughtpolice ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/atheros/0.9.4.nix b/pkgs/os-specific/linux/atheros/0.9.4.nix
deleted file mode 100644
index 341bdc3f1bb..00000000000
--- a/pkgs/os-specific/linux/atheros/0.9.4.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, builderDefs, kernelDev }:
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-		  url = http://downloads.sourceforge.net/madwifi/madwifi-0.9.4.tar.gz;
-		  sha256 = "06jd5b8rfw7rmiva6jgmrb7n26g5plcg9marbnnmg68gbcqbr3xh";
-		};
-
-		buildInputs = [];
-		configureFlags = [];
-		makeFlags = [''KERNELPATH=${kernelDev}/lib/modules/*/build'' ''DESTDIR=$out''];
-	};
-	in with localDefs;
-let 
-postInstall = fullDepEntry (''
-	ln -s $out/usr/local/bin $out/bin
-'') [minInit doMakeInstall];
-in
-stdenv.mkDerivation rec {
-	name = "atheros-0.9.4-${kernelDev.version}";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doMakeInstall 
-			postInstall doForceShare doPropagate]);
-	meta = {
-		description = "Atheros WiFi driver";
-		inherit src;
-	};
-}
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index 2a20aa29fcc..d1ca1b35452 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -8,7 +8,7 @@ die(){ echo $@; exit 1; }
 
 # custom unpack:
 unzip $src
-run_file=$(echo amd-driver-installer-*)
+run_file=$(echo amd-catalyst-*)
 sh $run_file --extract .
 
 eval "$patchPhase"
@@ -181,6 +181,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   # make xorg use the ati version
   ln -s $out/lib/xorg/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
 
+  # libstdc++ and gcc are needed by some libs
+  patchelf --set-rpath $gcc/$lib_arch $out/lib/libatiadlxx.so
 }
 
 { # build samples
@@ -190,6 +192,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   cd samples
   tar xfz ../common/usr/src/ati/fglrx_sample_source.tgz
 
+  eval "$patchPhaseSamples"
 
   ( # build and install fgl_glxgears
     cd fgl_glxgears; 
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 326de9ed81a..0aa67dba237 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelDev, xlibs, which, imake
+{ stdenv, fetchurl, kernel, xlibs, which, imake
 , mesa # for fgl_glxgears
 , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
 , xorg, makeWrapper, glibc, patchelf
@@ -13,39 +13,45 @@
 # See http://thread.gmane.org/gmane.linux.distributions.nixos/4145 for a
 # workaround (TODO)
 
-# The gentoo ebuild contains much more magic..
+# The gentoo ebuild contains much more magic and is usually a great resource to
+# find patches :)
 
 # http://wiki.cchtml.com/index.php/Main_Page
 
 # There is one issue left:
 # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so
 
+# You eventually have to blacklist radeon module (?)
+
 assert stdenv.system == "x86_64-linux";
 
-stdenv.mkDerivation rec {
-  name = "ati-drivers-${version}-${kernel.version}";
-  version = "13.4";
+stdenv.mkDerivation {
+  name = "ati-drivers-13.12-${kernel.version}";
 
   builder = ./builder.sh;
 
   inherit libXxf86vm xf86vidmodeproto;
+  gcc = stdenv.gcc.gcc;
 
   src = fetchurl {
-    url = http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-13-4-linux-x86.x86_64.zip;
-    sha256 = "1914ikdich0kg047bqh89ai5z4dyryj5mlw5i46n90fsfiaxa532";
+    url = http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip;
+    sha256 = "1c3fn328340by4qn99dgfj8c2q34fxdb2alcak0vnyc6bw7l5sms";
+    curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64";
   };
 
-  patchPhase = "patch -p0 < ${./gentoo-patches.patch}";
+  # most patches are taken from gentoo
+  patchPhase = "patch -p1 < ${./gentoo-patches.patch}";
+  patchPhaseSamples = "patch -p2 < ${./patch-samples.patch}";
 
   buildInputs =
-    [ xlibs.libXext xlibs.libX11
+    [ xlibs.libXext xlibs.libX11 xlibs.libXinerama
       xlibs.libXrandr which imake makeWrapper
       patchelf
       unzip
       mesa
     ];
 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   inherit glibc /* glibc only used for setting interpreter */;
 
@@ -54,21 +60,23 @@ stdenv.mkDerivation rec {
       "${xorg.libXrender}/lib"
       "${xorg.libXext}/lib"
       "${xorg.libX11}/lib"
+      "${xorg.libXinerama}/lib"
     ];
 
   # without this some applications like blender don't start, but they start
   # with nvidia. This causes them to be symlinked to $out/lib so that they
   # appear in /run/opengl-driver/lib which get's added to LD_LIBRARY_PATH
- extraDRIlibs = [ xorg.libXext ];
+  extraDRIlibs = [ xorg.libXext ];
 
   inherit mesa; # only required to build examples
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "ATI drivers";
     homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx;
-    license = "unfree";
-    maintainers = [stdenv.lib.maintainers.marcweber];
-    #platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [marcweber offline];
+    platforms = [ "x86_64-linux" ];
+    hydraPlatforms = [];
   };
 
   # moved assertions here because the name is evaluated when the NixOS manual is generated
diff --git a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
index ce4871c0658..392c2a8c29e 100644
--- a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
+++ b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
@@ -1,293 +1,51 @@
-diff -Nur common/lib/modules/fglrx/build_mod/drmP.h common-r1/lib/modules/fglrx/build_mod/drmP.h
---- common/lib/modules/fglrx/build_mod/drmP.h	2013-05-15 09:26:23.555752577 +0300
-+++ common-r1/lib/modules/fglrx/build_mod/drmP.h	2013-05-16 10:39:17.496212055 +0300
-@@ -901,10 +901,6 @@
- int                   DRM(stub_unregister)(int minor);
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index d3ad3ce..9362b58 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -34,6 +34,11 @@
+ #include <linux/autoconf.h>
+ #endif
  
- 				/* Proc support (drm_proc.h) */
--extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev,
--					     int minor,
--					     struct proc_dir_entry *root,
--					     struct proc_dir_entry **dev_root);
- extern int            DRM(proc_cleanup)(int minor,
- 					struct proc_dir_entry *root,
- 					struct proc_dir_entry *dev_root);
-diff -Nur common/lib/modules/fglrx/build_mod/drm_proc.h common-r1/lib/modules/fglrx/build_mod/drm_proc.h
---- common/lib/modules/fglrx/build_mod/drm_proc.h	2013-05-15 09:26:23.555752577 +0300
-+++ common-r1/lib/modules/fglrx/build_mod/drm_proc.h	2013-05-19 02:16:16.584406160 +0300
-@@ -75,61 +75,6 @@
- #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0]))
- 
- /**
-- * Initialize the DRI proc filesystem for a device.
-- *
-- * \param dev DRM device.
-- * \param minor device minor number.
-- * \param root DRI proc dir entry.
-- * \param dev_root resulting DRI device proc dir entry.
-- * \return root entry pointer on success, or NULL on failure.
-- * 
-- * Create the DRI proc root entry "/proc/ati", the device proc root entry
-- * "/proc/ati/%minor%/", and each entry in proc_list as
-- * "/proc/ati/%minor%/%name%".
-- */
--struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor,
--				      struct proc_dir_entry *root,
--				      struct proc_dir_entry **dev_root)
--{
--	struct proc_dir_entry *ent;
--	int		      i, j;
--	char                  name[64];
--
--	if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL);
--	if (!root) {
--		DRM_ERROR("Cannot create /proc/ati\n");
--		return NULL;
--	}
--
--	sprintf(name, "%d", minor);
--	*dev_root = create_proc_entry(name, S_IFDIR, root);
--	if (!*dev_root) {
--		DRM_ERROR("Cannot create /proc/ati/%s\n", name);
--		return NULL;
--	}
--
--	for (i = 0; i < DRM_PROC_ENTRIES; i++) {
--		ent = create_proc_entry(DRM(proc_list)[i].name,
--					S_IFREG|S_IRUGO, *dev_root);
--		if (!ent) {
--			DRM_ERROR("Cannot create /proc/ati/%s/%s\n",
--				  name, DRM(proc_list)[i].name);
--			for (j = 0; j < i; j++)
--				remove_proc_entry(DRM(proc_list)[i].name,
--						  *dev_root);
--			remove_proc_entry(name, root);
--			if (!minor) remove_proc_entry("dri", NULL);
--			return NULL;
--		}
--		ent->read_proc = DRM(proc_list)[i].f;
--		ent->data      = dev;
--	}
--
--	return root;
--}
--
--
--/**
-  * Cleanup the proc filesystem resources.
-  *
-  * \param minor device minor number.
-diff -Nur common/lib/modules/fglrx/build_mod/firegl_public.c common-r1/lib/modules/fglrx/build_mod/firegl_public.c
---- common/lib/modules/fglrx/build_mod/firegl_public.c	2013-05-15 09:26:23.545752925 +0300
-+++ common-r1/lib/modules/fglrx/build_mod/firegl_public.c	2013-05-19 03:07:10.236552522 +0300
-@@ -583,6 +583,202 @@
-     { "NULL",           NULL,                       NULL} // Terminate List!!!
- };
- 
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
-+typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data);
-+typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data);
-+#else
-+#define PDE_DATA(inode) (PDE((inode))->data)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++#include <linux/uidgid.h>
 +#endif
 +
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
-+typedef struct {
-+	read_proc_t *read_func;
-+	write_proc_t *write_func;
-+	void *data;
-+} gentoo_proc_wrapper_t;
-+
-+#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305
-+
-+static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) {
-+	int is_eof=0, retval;
-+	char *start, *usebuffer=NULL;
-+	gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
-+	if (PAGE_SIZE<*offset) {
-+		printk(KERN_ERR "Trying to read beyond 4k on proc\n");
-+		return -EIO;
-+	}
-+	//printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func);
-+	
-+	usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL);
-+	if (!usebuffer)
-+		return -ENOMEM;
-+	((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC;
-+
-+	retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data);
-+
-+	BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]);
-+
-+	if (0 > retval)
-+	{
-+		printk(KERN_ERR "Proc read failed with %d", retval);
-+		goto out;
-+	}
-+
-+	if (copy_to_user(buffer, start, retval)) {
-+		printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n");
-+		retval=-EFAULT;
-+		goto out;
-+	}
-+	*offset+=retval;
-+	
-+out:
-+	if (usebuffer)
-+		kfree(usebuffer);
-+	return retval;
-+}
-+static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) {
-+	gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
-+	int retval=0;
-+	void *usebuffer=NULL;
-+
-+	BUG_ON(*offset);
-+	if (!wrapper_data->write_func)
-+		return -EPERM;
-+	
-+	usebuffer=kmalloc(count, GFP_KERNEL);
-+	if (!usebuffer)
-+		return -ENOMEM;
-+	if (copy_from_user(usebuffer, buffer, count)) {
-+		printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n");
-+		retval=-EFAULT;
-+		goto out;
-+	}
-+	
-+	retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data);
-+	*offset+=retval;
-+out:
-+	if (usebuffer)
-+		kfree(usebuffer);
-+	return retval;
-+}
-+static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) {
-+	myfile->private_data=PDE_DATA(myinode);
-+	return generic_file_open(myinode, myfile);
-+}
-+struct file_operations gentoo_proc_fops = {
-+	.read=gentoo_proc_wrapper_read,
-+	.write=gentoo_proc_wrapper_write,
-+	.open=gentoo_proc_wrapper_open,
-+};
-+	
-+static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) {
-+	gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL);
-+	if (!retval)
-+		return retval;
-+	retval->read_func=reader;
-+	retval->write_func=writer;
-+	retval->data=mydata;
-+	return retval;
-+}
-+
-+static struct proc_dir_entry *firegl_proc_init( device_t *dev,
-+                                                int minor,
-+                                                struct proc_dir_entry *root,
-+                                                struct proc_dir_entry **dev_root,
-+                                                kcl_proc_list_t *proc_list ) // proc_list must be terminated!
-+{
-+    struct proc_dir_entry *ent;
-+    char    name[64];
-+    kcl_proc_list_t *list = proc_list;
-+	void *tempdata;
-+    KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
-+    if (!minor)
-+    {
-+        root = proc_mkdir("ati", NULL);
-+    }
-+
-+    if (!root)
-+    {
-+        KCL_DEBUG_ERROR("Cannot create /proc/ati\n");
-+        return NULL;
-+    }
-+
-+    if (minor == 0)
-+    {
-+        // Global major debice number entry
-+		tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL);
-+		if (!tempdata)
-+			return NULL;
-+        ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
-+        if (!ent)
-+        {
-+            remove_proc_entry("ati", NULL);
-+            KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n");
-+            return NULL;
-+        }
-+    }
-+
-+    sprintf(name, "%d", minor);
-+    *dev_root = proc_mkdir(name, root);
-+    if (!*dev_root) {
-+        remove_proc_entry("major", root);
-+        remove_proc_entry("ati", NULL);
-+        KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name);
-+        return NULL;
-+    }
-+
-+    while (list->f || list->fops)
-+    {
-+		struct file_operations *my_fops = &gentoo_proc_fops;
-+        if (list->fops)
-+        {
-+            my_fops = (struct file_operations*)list->fops;
-+			tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev);
-+        }
-+		else {
-+			BUG_ON(!list->f);
-+			tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) );
-+			if (!tempdata)
-+				return NULL;
-+		}
-+		//printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata);
-+        ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata);
-+
-+        if (!ent)
-+        {
-+            KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name);
-+            while (proc_list != list)
-+            {
-+                remove_proc_entry(proc_list->name, *dev_root);
-+                proc_list++;
-+            }
-+            remove_proc_entry(name, root);
-+            if (!minor)
-+            {
-+                remove_proc_entry("major", root);
-+                remove_proc_entry("ati", NULL);
-+            }
-+            return NULL;
-+        }
-+
-+        list++;
-+    }
 +
-+    if (minor == 0)
-+    {
-+        // Global debug entry, only create it once
-+		tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev);
-+		if (!tempdata)
-+			return NULL;
-+        ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
-+		if (!ent)
-+			return NULL;
+ #if !defined(CONFIG_X86) 
+ #if !defined(CONFIG_X86_PC) 
+ #if !defined(CONFIG_X86_XEN) 
+@@ -1543,9 +1548,17 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void)
+ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
+ {
+ #ifdef current_euid
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++    return __kuid_val(current_euid());
++# else
+     return current_euid();
++# endif
+ #else
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++    return __kuid_val(current->euid);
++# else
+     return current->euid;
++# endif
+ #endif
+ }
+ 
+
+diff -urN a/common/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2013-12-27 13:32:34.734832283 +0100
++++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2013-12-27 13:33:31.849831765 +0100
+@@ -1002,7 +1002,11 @@
+ #endif
+     {
+         return KCL_ACPI_ERROR;
+-    }    
 +    }
-+
-+    return root;
-+}
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
++    ((acpi_tbl_table_handler)handler)(hdr);
 +#else
- static struct proc_dir_entry *firegl_proc_init( device_t *dev,
-                                                 int minor,
-                                                 struct proc_dir_entry *root,
-@@ -677,6 +873,7 @@
- 
-     return root;
- }
+     ((acpi_table_handler)handler)(hdr);
 +#endif
- 
- static int firegl_proc_cleanup( int minor,
-                                 struct proc_dir_entry *root,
+     return KCL_ACPI_OK;
+ }
diff --git a/pkgs/os-specific/linux/ati-drivers/patch-samples.patch b/pkgs/os-specific/linux/ati-drivers/patch-samples.patch
new file mode 100644
index 00000000000..8bd24b1d022
--- /dev/null
+++ b/pkgs/os-specific/linux/ati-drivers/patch-samples.patch
@@ -0,0 +1,26 @@
+diff --git a/samples/fgl_glxgears/fgl_glxgears.c b/samples/fgl_glxgears/fgl_glxgears.c
+index 6c8e313..2b8d035 100644
+--- a/samples/fgl_glxgears/fgl_glxgears.c
++++ b/samples/fgl_glxgears/fgl_glxgears.c
+@@ -1096,8 +1096,6 @@ static void event_loop(void)
+                   view_rotx -= 5.0;
+                }
+                else {
+-                  r = XLookupString(&event.xkey, buffer, sizeof(buffer),
+-                                    NULL, NULL);
+                   if (buffer[0] == 27) {
+                      /* escape */
+                      return;
+
+
+diff -Nur a/samples/fgl_glxgears/fgl_glxgears.c b/samples/fgl_glxgears/fgl_glxgears.c
+--- a/samples/fgl_glxgears/fgl_glxgears.c	2012-08-29 09:59:03.000000000 +0300
++++ b/samples/fgl_glxgears/fgl_glxgears.c	2013-09-07 09:26:11.034723135 +0300
+@@ -78,7 +78,6 @@
+ #endif // _WIN32
+ 
+ #define INT_PTR ptrdiff_t
+-#include <GL/glATI.h>
+ 
+ #ifdef _WIN32
+ #include <GL/wglATI.h>
diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix
index 39ba5dc3973..fd4b6df9552 100644
--- a/pkgs/os-specific/linux/atop/default.nix
+++ b/pkgs/os-specific/linux/atop/default.nix
@@ -35,5 +35,8 @@ stdenv.mkDerivation rec {
     longDescription = ''
       Atop is an ASCII full-screen performance monitor that is capable of reporting the activity of all processes (even if processes have finished during the interval), daily logging of system and process activity for long-term analysis, highlighting overloaded system resources by using colors, etc. At regular intervals, it shows system-level activity related to the CPU, memory, swap, disks and network layers, and for every active process it shows the CPU utilization, memory growth, disk utilization, priority, username, state, and exit code.
     '';
+    inherit version;
+    downloadPage = http://atoptool.nl/downloadatop.php;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
new file mode 100644
index 00000000000..9de84e228c4
--- /dev/null
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, openldap
+, enablePython ? false, python ? null
+}:
+
+assert enablePython -> python != null;
+
+stdenv.mkDerivation rec {
+  name = "audit-2.3.2";
+
+  src = fetchurl {
+    url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
+    sha256 = "0a8x10wz0xfj0iq1wgjl6hdhxvq58cb3906vc687i21876sy0wl8";
+  };
+
+  buildInputs = [ openldap ]
+            ++ stdenv.lib.optional enablePython python;
+
+  configureFlags = ''
+    ${if enablePython then "--with-python" else "--without-python"}
+  '';
+
+  meta = {
+    description = "Audit Library";
+    homepage = "http://people.redhat.com/sgrubb/audit/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/aufs-util/2.nix b/pkgs/os-specific/linux/aufs-util/2.nix
deleted file mode 100644
index e4968b92048..00000000000
--- a/pkgs/os-specific/linux/aufs-util/2.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, kernelDev, aufs }:
-
-assert aufs != null;
-
-let version = "20100506"; in
-
-stdenv.mkDerivation {
-  name = "aufs2-util-${version}-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/aufs2-util-git-${version}.tar.bz2";
-    sha256 = "0ly0c3p8fjxqbk8k5rmm1a91wg8wcrvhi1lv4aawalkkk8rqbnwk";
-  };
-
-  buildInputs = [ aufs ];
-
-  makeFlags =
-    [ "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build"
-      "Install=install"
-      "DESTDIR=$(out)"
-    ];
-
-  postInstall =
-    ''
-      mv $out/usr/* $out
-      rmdir $out/usr
-
-      cp aufs.shlib $out/lib/
-
-      substituteInPlace $out/bin/aubrsync \
-        --replace /sbin/mount $out/sbin/mount \
-        --replace /usr/lib/aufs.shlib $out/lib/aufs.shlib
-    '';
-
-  meta = {
-    description = "Utilities for AUFS2";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/aufs-util/3.nix b/pkgs/os-specific/linux/aufs-util/3.nix
deleted file mode 100644
index 9997c2743a5..00000000000
--- a/pkgs/os-specific/linux/aufs-util/3.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchgit, kernelDev, aufs }:
-
-assert aufs != null;
-
-stdenv.mkDerivation {
-  name = "aufs3-util-${aufs.patch.version}-${kernelDev.version}";
-
-  src = fetchgit {
-    url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
-    rev = aufs.patch.utilRev;
-    sha256 = aufs.patch.utilHash;
-  };
-
-  buildInputs = [ aufs ];
-
-  makeFlags =
-    [ "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
-      "Install=install"
-      "DESTDIR=$(out)"
-    ];
-
-  postInstall =
-    ''
-      mv $out/usr/* $out
-      rmdir $out/usr
-
-      cp aufs.shlib $out/lib/
-
-      substituteInPlace $out/bin/aubrsync \
-        --replace /sbin/mount $out/sbin/mount \
-        --replace /usr/lib/aufs.shlib $out/lib/aufs.shlib
-    '';
-
-  meta = {
-    description = "Utilities for AUFS3";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco  ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/aufs/2.nix b/pkgs/os-specific/linux/aufs/2.nix
deleted file mode 100644
index a4a40823f7a..00000000000
--- a/pkgs/os-specific/linux/aufs/2.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, kernelDev, perl, fetchgit }:
-
-assert kernelDev.features ? aufsBase;
-
-let version = "20100522"; in
-
-stdenv.mkDerivation {
-  name = "aufs2-${version}-${kernelDev.version}";
-
-  src = 
-  if (builtins.lessThan (builtins.compareVersions kernelDev.version "2.6.35") 0) then
-    fetchurl {
-      url = "http://tarballs.nixos.org/aufs2-standalone-git-${version}.tar.bz2";
-      sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6";
-    }
-  else
-    fetchgit {
-      url = "http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git";
-      rev = "d950eef373ff1e0448ad3945b734da6ab050571d";
-      sha256 = "816145b0341bd7862df50c058144cf6ebc25c05d2976f781ff0fe10d4559b853";
-    };
-
-  buildInputs = [ perl ];
-
-  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build";
-
-  installPhase =
-    ''
-      mkdir -p $out/lib/modules/${kernelDev.version}/misc
-      cp aufs.ko $out/lib/modules/${kernelDev.version}/misc
-
-      # Install the headers because aufs2-util requires them.
-      cp -prvd include $out/
-    '';
-
-  meta = {
-    description = "Another Unionfs implementation for Linux (second generation)";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco
-                    stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/aufs/3.nix b/pkgs/os-specific/linux/aufs/3.nix
deleted file mode 100644
index 2f566d3abff..00000000000
--- a/pkgs/os-specific/linux/aufs/3.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, kernelDev, perl }:
-
-let
-
-  aufsPredicate = x:
-    if x ? features then
-      (if x.features ? aufs3 then x.features.aufs3 else false)
-    else false;
-  featureAbort = abort "This kernel does not have aufs 3 support";
-  patch = stdenv.lib.findFirst aufsPredicate featureAbort kernelDev.kernelPatches;
-
-in
-
-stdenv.mkDerivation {
-  name = "aufs3-${patch.version}-${kernelDev.version}";
-
-  src = patch.patch.src;
-
-  buildInputs = [ perl ];
-
-  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
-
-  NIX_CFLAGS_COMPILE="-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
-
-  installPhase =
-    ''
-      mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
-      cp -v aufs.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
-
-      # Install the headers because aufs3-util requires them.
-      mkdir -p $out/include/linux
-      cp -v usr/include/linux/aufs_type.h $out/include/linux
-    '';
-
-  passthru = { inherit patch; };
-
-  meta = {
-    description = "Another Unionfs implementation for Linux (third generation)";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco
-                    stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/autofs/autofs-v5.nix b/pkgs/os-specific/linux/autofs/autofs-v5.nix
index 731b383e711..5c5c2f026af 100644
--- a/pkgs/os-specific/linux/autofs/autofs-v5.nix
+++ b/pkgs/os-specific/linux/autofs/autofs-v5.nix
@@ -4,17 +4,17 @@ let
   baseURL = mirror://kernel/linux/daemons/autofs/v5;
 in
 stdenv.mkDerivation {
-  name = "autofs-5.0.5";
+  name = "autofs-5.0.8";
 
   src = fetchurl {
-    url = "${baseURL}/autofs-5.0.5.tar.bz2";
-    sha256 = "00k0k3jkbr29gn1wnzqjyc9iqq5bwjyip1isc79wf51wph0kxiv8";
+    url = "${baseURL}/autofs-5.0.8.tar.bz2";
+    sha256 = "0zczihrqdamj43401v2pczf7zi94f8qk20gc6l92nxmpak3443if";
   };
 
   patches = import ./patches-v5.nix fetchurl;
 
   preConfigure = ''
-    configureFlags="--with-path=$PATH"
+    configureFlags="--disable-move-mount --with-path=$PATH"
     export MOUNT=/var/run/current-system/sw/bin/mount
     export UMOUNT=/var/run/current-system/sw/bin/umount
     export MODPROBE=/var/run/current-system/sw/sbin/modprobe
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
   meta = { 
     description="Kernel based automounter";
     homepage="http://www.linux-consulting.com/Amd_AutoFS/autofs.html";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     executables = [ "automount" ];
   };
 }
diff --git a/pkgs/os-specific/linux/autofs/create-patches-v5.sh b/pkgs/os-specific/linux/autofs/create-patches-v5.sh
index 781c59a324a..1fe6b503288 100644
--- a/pkgs/os-specific/linux/autofs/create-patches-v5.sh
+++ b/pkgs/os-specific/linux/autofs/create-patches-v5.sh
@@ -1,10 +1,10 @@
 #!/bin/sh
 #
 # Use this script with the upstream sorted list of patches
-# curl ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/patch_order-5.0.5 |
+# curl ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/patches-5.0.{x+1}/patch_order-5.0.x | 
 #   grep -v '^#' | sh create-patches-v5.sh
 
-BASEURL=mirror://kernel/linux/daemons/autofs/v5;
+BASEURL=mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9;
 
 echo '# File created automatically' > patches-v5.nix
 echo 'fetchurl :' >> patches-v5.nix
diff --git a/pkgs/os-specific/linux/autofs/patches-v5.nix b/pkgs/os-specific/linux/autofs/patches-v5.nix
index 0598102fb2a..a577beefbe7 100644
--- a/pkgs/os-specific/linux/autofs/patches-v5.nix
+++ b/pkgs/os-specific/linux/autofs/patches-v5.nix
@@ -1,32 +1,7 @@
 # File created automatically
 fetchurl :
 [
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-included-map-read-fail-handling.patch; sha256 = "1a8yhy898zp8hn6ihnz8scannjx74am6ys6dkahds4ga3zjg0k27"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-refactor-ldap-sasl-bind.patch; sha256 = "0c4izyvg4mrn0h4g18vk7d10zyb6b1sh40bjrm0xc6ga7n7z89x1"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.4-add-mount-wait-parameter.patch; sha256 = "1a8wd8lyx4bh9v6yw0360vbzjwvr1w838k2g3xrg374z6fmj4n3f"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-special-case-cifs-escapes.patch; sha256 = "0cb4kaipdmqlx11nw1l9c6ccssl01q5zg3f9zaarhv6ha91jag63"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-libxml2-workaround-configure.patch; sha256 = "1fb5ksyqc7706j48hwjarsk83047np360kln6lll8plmrg2539rc"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-more-code-analysis-corrections.patch; sha256 = "1lhx6iblmi4b8jx5sd94jlj8pwkhfy9f7dxnx45af0c251rcqxi9"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-backwards-ifndef-INET6.patch; sha256 = "0k2cbr2651w6hf720qm68l66d3jr5y6yp80igr7ym60q68pxkwfk"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-stale-init-for-file-map-instance.patch; sha256 = "1h128fj8bgwg8ym0066dl9qp5yfv8jrjnrhsdsmfx2qdq2shyj42"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-ext4-fsck-at-mount.patch; sha256 = "1w92iykwnpvz6sbn98nmc9qa8wwar2qidqln3f14wfic9jrs2x6n"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-use-master_lex_destroy-to-clear-parse-buffer.patch; sha256 = "1rq2xqj3jqibbknnssd3ji0ymdw8jq7fv2a4s15m63rd8q3b2mci"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-make-documentation-for-set-log-priority-clearer.patch; sha256 = "0ly5zkhsx49b98vzrq863ksj9f8024vrzivlhwa45p47kzza9p9b"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-timeout-in-connect_nb.patch; sha256 = "1fhy7rmvk14ikxnavlznx8qya0y5gm73y8gs1v1piwmig0g3y8hf"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-pidof-init-script-usage.patch; sha256 = "1rqpdjn99wqr8j591qsn231chwi3s25jma3raqmpsip3vz75rfy8"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-check-for-path-mount-location-in-generic-module.patch; sha256 = "17lccz000ajclm29v7cv6i2dxs7lgb0p6dg9xdp84h58h6x94n0l"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-fail-mount-on-access-fail.patch; sha256 = "0sssai921nkin77gi6n62qsxp97f49xa7cwb51dwy8216qcn5fkr"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-rpc-large-export-list.patch; sha256 = "1k4574pkmnp55jkqg83f3pyw3vqf0pv8fyhwb6ndrzfmgrmbcqar"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-memory-leak-on-reload.patch; sha256 = "15qc61akl0gvs33anz6vif2cb4g1v47s9n6v9j0sdw4sw45292gv"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-update-kernel-patches-2.6.18-and-2.6.19.patch; sha256 = "0rlb3k2bq5f18jrwa7xnfq3rxngqv9i07xcpyfq8yv3lj6qrb5qc"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-connect-at-ldap-lookup-module-init.patch; sha256 = "0dvfvim2riasa3dcf4ifkjg9bssaq8am4asrxfl9gkxqa3lp0drh"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-random-selection-option.patch; sha256 = "0ignn2m4syk491awkrzjj07vyfmlj4fyigk8fd3larn06vpcy0kx"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-disable-timeout.patch; sha256 = "0d66pm2kmc9pz6k0shsd1gx0m8jhf71ik6wa7nzdijwpzzmbdagc"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-strdup-return-value-check.patch; sha256 = "0k0xqs1k12nxiaidf3j2w8iywycpbx14bmxc00ra0nc2i3shd6cz"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-reconnect-get-base-dn.patch; sha256 = "1yn5fcb1xqzycmnbv6l7ghjy34vlacbnr5yz37sfgz7w81qr7xgk"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-sasl-mutex-callbacks.patch; sha256 = "18kkznkg2p5f0gq4hncis37j75pg72h7la9q71xpl0ci875j35r8"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-get-qdn-fail.patch; sha256 = "0sd6k7fcwvql1p3vhhfjiw4rbrqyr36fvjv37dyap7p6sahn84n9"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-ampersand-escape-in-auto-smb.patch; sha256 = "1imsxa4rdbkdy8lx7sibm6g91f05lidhfzwf2k4fbkiz9232872r"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-locality-as-valid-ldap-master-map-attribute.patch; sha256 = "1r3azgm8y5i42p9hmp4mn88wz0ks6fyrjb80nj3npv6x3qy8cryv"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-locality-as-valid-ldap-master-map-attribute-fix.patch; sha256 = "026gbbffadl4ly5n5z73mzf2ga14m9ya09agbxrpsf24f4h65cw4"; })
+(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-undefined-authtype_requires_creds-err-if-ldap-en.patch; sha256 = "11v1a32rx57ylp8scswpk41jl9n4kfx55nvdlzhvfs4rhws18rpx"; })
+(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-master-map-type-check.patch; sha256 = "1nkq0y6j7dc6214af3q9bxvy7pv9kak0q9chijxcj6zkhfzwrjy3"; })
+(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-task-manager-not-getting-signaled.patch; sha256 = "17h06wk4x0rqiky6pm9dglbc5ycxxrd3438a9snnlysl4zzgrqhx"; })
 ]
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index 2ff9d214bbb..6e57e7651c4 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl}:
 
 let
-  ver = "2013.2.0";
+  ver = "2013.4.0";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha1 = "0ba6520c813c9dd2e59e6205e8ea2e60a0c85f52";
+    sha256 = "0k6b695h38m92a8wn5gvb3z746m3fm0ygv58yyn163adcsvf7sjd";
   };
 
   preBuild = ''
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.open-mesh.org/projects/batman-adv/wiki/Wiki;
     description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2, control tool";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index e4b4d1104b0..fee955bcca2 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2013.2.0"; in
+let base = "batman-adv-2013.4.0"; in
 
 stdenv.mkDerivation rec {
-  name = "${base}-${kernelDev.version}";
+  name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha1 = "7d2aff2ad118cbc5452de43f7e9da8374521ec0e";
+    sha1 = "870a85df5410b3b5623be69e75297e642c91a7d4";
   };
 
   preBuild = ''
-    makeFlags="KERNELPATH=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
+    makeFlags="KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," \
       -e /depmod/d Makefile
   '';
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.open-mesh.org/projects/batman-adv/wiki/Wiki;
     description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index 675fe7695af..6c7d6d5330e 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 let
   baseName = "bbswitch";
-  version = "0.7";
-  name = "${baseName}-${version}-${kernelDev.version}";
+  version = "0.8";
+  name = "${baseName}-${version}-${kernel.version}";
 
 in
 
@@ -12,20 +12,20 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/Bumblebee-Project/${baseName}/archive/v${version}.tar.gz";
-    sha256 = "0na6gfnvmp5fjbm430ms342hmrsbr6cf78n6hldqb8js2ry3f8dw";
+    sha256 = "0xql1nv8dafnrcg54f3jsi3ny3cd2ca9iv73pxpgxd2gfczvvjkn";
   };
 
   preBuild = ''
     substituteInPlace Makefile \
-      --replace "\$(shell uname -r)" "${kernelDev.modDirVersion}" \
-      --replace "/lib/modules" "${kernelDev}/lib/modules"
+      --replace "\$(shell uname -r)" "${kernel.modDirVersion}" \
+      --replace "/lib/modules" "${kernel.dev}/lib/modules"
   '';
 
   installPhase = ''
-    ensureDir $out/lib/modules/${kernelDev.modDirVersion}/misc
-    cp bbswitch.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
+    mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
+    cp bbswitch.ko $out/lib/modules/${kernel.modDirVersion}/misc
 
-    ensureDir $out/bin
+    mkdir -p $out/bin
     tee $out/bin/discrete_vga_poweroff << EOF
     #!/bin/sh
 
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index d0d81abb244..43673c899b4 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, kernelDev, perl, makeWrapper }:
+{ stdenv, fetchurl, kernel, perl, makeWrapper }:
 
 # BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x)
 # BLCR 0.8.5 should works for kernel version up to 3.7.1
 
 assert stdenv.isLinux;
-assert builtins.compareVersions "3.7.2" kernelDev.version == 1;
+assert builtins.compareVersions "3.7.2" kernel.version == 1;
 
 stdenv.mkDerivation {
-  name = "blcr_${kernelDev.version}-0.8.5";
+  name = "blcr_${kernel.version}-0.8.5";
 
   src = fetchurl {
     url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz;
@@ -18,9 +18,9 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     configureFlagsArray=(
-      --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
-      --with-kmod-dir=$out/lib/modules/${kernelDev.modDirVersion}
-      --with-system-map=${kernelDev}/System.map
+      --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
+      --with-kmod-dir=$out/lib/modules/${kernel.modDirVersion}
+      --with-system-map=${kernel}/System.map
     )
   '';
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)";
     homepage = https://ftg.lbl.gov/projects/CheckpointRestart/;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [
       z77z
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index 6bc0759c1a2..2a87611a680 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python,
+{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python,
   pythonPackages, pythonDBus, readline, libsndfile, udev, libical,
   systemd }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.8";
+  name = "bluez-5.22";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "1l33lq1lpg7hy26138ir5dj4gl3mql2qxpj20rjnnwyckc3jk700";
+    sha256 = "10h8p89jnhxhjw4x53j4r53i999qjaz82l5591q6q48qb98ndf78";
   };
 
   pythonPath = with pythonPackages;
-    [ pythonDBus pygobject3 recursivePthLoader ];
+    [ pythonDBus pygobject pygobject3 recursivePthLoader ];
 
   buildInputs =
-    [ pkgconfig dbus.libs glib libusb alsaLib python pythonPackages.wrapPython
+    [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython
       readline libsndfile udev libical
       # Disables GStreamer; not clear what it gains us other than a
       # zillion extra dependencies.
@@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.bluez.org/;
+    repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git;
     description = "Bluetooth support for Linux";
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/default.nix b/pkgs/os-specific/linux/broadcom-sta-v6/default.nix
deleted file mode 100644
index db4337c0ff2..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta-v6/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchurl, kernelDev }:
-let
-  version = "6_30_223_141";
-in
-stdenv.mkDerivation {
-  name = "broadcom-sta-${version}-${kernelDev.version}";
-
-  src = if stdenv.system == "i686-linux" then (
-    fetchurl {
-      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-${version}.tar.gz";
-      sha256 = "19wra62dpm0x0byksh871yxr128b4v13kzkzqv56igjfpzv36z6m";
-    } ) else (
-    fetchurl {
-      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-${version}.tar.gz";
-      sha256 = "0jlvch7d3khmmg5kp80x4ka33hidj8yykqjcqq6j56z2g6wb4dsz";
-    }
-  );
-
-  buildInputs = [ kernelDev ];
-  patches = [
-    ./linux-recent.patch
-    ./license.patch
-  ];
-
-  makeFlags = "KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}";
-
-  unpackPhase = ''
-      sourceRoot=broadcom-sta
-      mkdir "$sourceRoot"
-      tar xvf "$src" -C "$sourceRoot"
-  '';
-
-  installPhase =
-    ''
-      binDir="$out/lib/modules/${kernelDev.modDirVersion}/kernel/net/wireless/"
-      docDir="$out/share/doc/broadcom-sta/"
-      mkdir -p "$binDir" "$docDir"
-      cp wl.ko "$binDir"
-      cp lib/LICENSE.txt "$docDir"
-    '';
-
-  meta = {
-    description = "Kernel module driver for some Broadcom's wireless cards";
-    homepage = http://www.broadcom.com/support/802.11/linux_sta.php;
-    license = "unfree-redistributable";
-    maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/license.patch b/pkgs/os-specific/linux/broadcom-sta-v6/license.patch
deleted file mode 100644
index aebb4636519..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta-v6/license.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c
---- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c	2009-04-23 02:48:59.000000000 +0900
-+++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c	2009-05-08 00:48:20.000000000 +0900
-@@ -171,6 +171,8 @@
- static void wl_free_if(wl_info_t *wl, wl_if_t *wlif);
- static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info);
- 
-+MODULE_LICENSE("MIXED/Proprietary");
-+
- #if defined(WL_CONFIG_RFKILL)
- #include <linux/rfkill.h>
- static int wl_init_rfkill(wl_info_t *wl);
-
diff --git a/pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch b/pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch
new file mode 100644
index 00000000000..5596c0ebcf2
--- /dev/null
+++ b/pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch
@@ -0,0 +1,17 @@
+Add channel parameter to cfg80211_ibss_joined call
+
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -1841,7 +1841,12 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+ 			wl_get_assoc_ies(wl);
+ 			memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
+ 			wl_update_bss_info(wl);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
+ 			cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
++#else
++			cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid,
++			                     &wl->conf->channel, GFP_KERNEL);
++#endif
+ 			set_bit(WL_STATUS_CONNECTED, &wl->status);
+ 			wl->profile->active = true;
+ 		}
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 816a099e243..1ed13c2e450 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -1,38 +1,38 @@
-{ stdenv, fetchurl, kernelDev }:
-
-let version = "5_100_82_112";
-    bits = if stdenv.system == "i686-linux" then "32" else
-      assert stdenv.system == "x86_64-linux"; "64";
+{ stdenv, fetchurl, kernel }:
+let
+  version = "6_30_223_141";
 in
-
 stdenv.mkDerivation {
-  name = "broadcom-sta-${version}-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_${bits}-v${version}.tar.gz";
-    sha256 = if bits == "32"
-      then "1rvhw9ngw0djxyyjx5m01c0js89zs3xiwmra03al6f9q7cbf7d45"
-      else "1qsarnry10f5m8a73wbr9cg2ifs00sqg6x0ay59l72vl9hb2zlww";
-  };
-
-  buildInputs = [ kernelDev ];
-  patches =
-    [ ./makefile.patch ./linux-2.6.39.patch ./linux-3.2.patch
-      ./linux-3.4.patch ./license.patch
-    ];
-
-  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
-
-  unpackPhase =
-    ''
+  name = "broadcom-sta-${version}-${kernel.version}";
+
+  src = if stdenv.system == "i686-linux" then (
+    fetchurl {
+      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-${version}.tar.gz";
+      sha256 = "19wra62dpm0x0byksh871yxr128b4v13kzkzqv56igjfpzv36z6m";
+    } ) else (
+    fetchurl {
+      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-${version}.tar.gz";
+      sha256 = "0jlvch7d3khmmg5kp80x4ka33hidj8yykqjcqq6j56z2g6wb4dsz";
+    }
+  );
+
+  patches = [
+    ./linux-recent.patch
+    ./license.patch
+    ./cfg80211_ibss_joined-channel-parameter.patch
+  ];
+
+  makeFlags = "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
+
+  unpackPhase = ''
       sourceRoot=broadcom-sta
       mkdir "$sourceRoot"
       tar xvf "$src" -C "$sourceRoot"
-    '';
+  '';
 
   installPhase =
     ''
-      binDir="$out/lib/modules/${kernelDev.modDirVersion}/kernel/net/wireless/"
+      binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
       docDir="$out/share/doc/broadcom-sta/"
       mkdir -p "$binDir" "$docDir"
       cp wl.ko "$binDir"
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
     description = "Kernel module driver for some Broadcom's wireless cards";
     homepage = http://www.broadcom.com/support/802.11/linux_sta.php;
     license = "unfree-redistributable";
-    maintainers = [ stdenv.lib.maintainers.vcunat ];
+    maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/broadcom-sta/license.patch b/pkgs/os-specific/linux/broadcom-sta/license.patch
index b320d977e8b..aebb4636519 100644
--- a/pkgs/os-specific/linux/broadcom-sta/license.patch
+++ b/pkgs/os-specific/linux/broadcom-sta/license.patch
@@ -1,12 +1,13 @@
 diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c
 --- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c	2009-04-23 02:48:59.000000000 +0900
 +++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c	2009-05-08 00:48:20.000000000 +0900
-@@ -163,6 +163,8 @@
+@@ -171,6 +171,8 @@
  static void wl_free_if(wl_info_t *wl, wl_if_t *wlif);
  static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info);
  
 +MODULE_LICENSE("MIXED/Proprietary");
 +
- static struct pci_device_id wl_id_table[] = {
- 	{ PCI_VENDOR_ID_BROADCOM, 0x4311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 
- 	{ PCI_VENDOR_ID_BROADCOM, 0x4312, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 
+ #if defined(WL_CONFIG_RFKILL)
+ #include <linux/rfkill.h>
+ static int wl_init_rfkill(wl_info_t *wl);
+
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch b/pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch
deleted file mode 100644
index ca07c918c36..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/src/wl/sys/wl_cfg80211.c
-+++ new/src/wl/sys/wl_cfg80211.c
-@@ -1811,7 +1811,7 @@
- 	notif_bss_info->frame_len = offsetof(struct ieee80211_mgmt, u.beacon.variable) +
- 	                            wl_get_ielen(wl);
- 	freq = ieee80211_channel_to_frequency(notif_bss_info->channel 
--#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
- 		,(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ
- #endif
- 	);
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch b/pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch
deleted file mode 100644
index b491537cb86..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur broadcom-sta-5.100.82.112.orig/src/wl/sys/wl_linux.c broadcom-sta-5.100.82.112/src/wl/sys/wl_linux.c
---- broadcom-sta-5.100.82.112.orig/src/wl/sys/wl_linux.c	2011-10-23 01:56:55.000000000 +0900
-+++ broadcom-sta-5.100.82.112/src/wl/sys/wl_linux.c	2011-11-22 00:56:07.021520421 +0900
-@@ -385,7 +385,9 @@
- #endif
- 	.ndo_get_stats = wl_get_stats,
- 	.ndo_set_mac_address = wl_set_mac_address,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
- 	.ndo_set_multicast_list = wl_set_multicast_list,
-+#endif
- 	.ndo_do_ioctl = wl_ioctl
- };
- 
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch b/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch
deleted file mode 100644
index 854131c641b..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- broadcom-sta.orig/src/wl/sys/wl_linux.c
-+++ broadcom-sta.new/src/wl/sys/wl_linux.c
-@@ -40,7 +40,9 @@
- #include <linux/pci_ids.h>
- #define WLC_MAXBSSCFG          1
- 
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
- #include <asm/system.h>
-+#endif
- #include <asm/io.h>
- #include <asm/irq.h>
- #include <asm/pgtable.h>
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/linux-recent.patch b/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
index 97a331a2bd7..97a331a2bd7 100644
--- a/pkgs/os-specific/linux/broadcom-sta-v6/linux-recent.patch
+++ b/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
diff --git a/pkgs/os-specific/linux/broadcom-sta/makefile.patch b/pkgs/os-specific/linux/broadcom-sta/makefile.patch
deleted file mode 100644
index 6ba8527e267..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta/makefile.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- src/Makefile	2010-10-08 00:32:59.000000000 +0200
-+++ src/Makefile	2010-11-09 11:06:28.832999850 +0100
-@@ -27,10 +27,10 @@
- EXTRA_LDFLAGS      := $(src)/lib/wlc_hybrid.o_shipped
- 
- all:
--	KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
-+	KBUILD_NOPEDANTIC=1 make -C ${KDIR} M=`pwd`
- 
- clean:
--	KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` clean
-+	KBUILD_NOPEDANTIC=1 make -C ${KDIR} clean
- 
- install:
--	install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko
-+	install -D -m 755 wl.ko $out/lib/modules/${kernelVersion}/kernel/drivers/net/wireless/wl.ko
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index a24e0fd2307..98fedb2d3f4 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -28,6 +28,10 @@ let
   nixConfig = ''
     CONFIG_PREFIX "$out"
     CONFIG_INSTALL_NO_USR y
+
+    # Use the external mount.cifs program.
+    CONFIG_FEATURE_MOUNT_CIFS n
+    CONFIG_FEATURE_MOUNT_HELPERS y
   '';
 
   staticConfig = stdenv.lib.optionalString enableStatic ''
@@ -37,23 +41,20 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.20.2";
+  name = "busybox-1.22.1";
 
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "10k8kgrprll9hxfm9gc3jl7kkq79g6l2pygn5snqwqg5v80zy4zb";
+    sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf";
   };
 
-  # Remove this patch after the next busybox update.
-  patches = [ ./include-missing-sys-resource-header.patch ];
-
   configurePhase = ''
     make defconfig
     ${configParser}
     cat << EOF | parseconfig
     ${staticConfig}
-    ${extraConfig}
     ${nixConfig}
+    ${extraConfig}
     $extraCrossConfig
     EOF
     make oldconfig
@@ -73,7 +74,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tiny versions of common UNIX utilities in a single small executable";
     homepage = http://busybox.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/os-specific/linux/can-utils/default.nix b/pkgs/os-specific/linux/can-utils/default.nix
new file mode 100644
index 00000000000..6a3fbd33d68
--- /dev/null
+++ b/pkgs/os-specific/linux/can-utils/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "can-utils-${version}";
+  # There are no releases (source archives or git tags), so use the date of the
+  # latest commit in git master as version number.
+  version = "20140227";
+
+  src = fetchgit {
+    url = "https://git.gitorious.org/linux-can/can-utils.git";
+    rev = "67a2bdcd336e6becfa5784742e18c88dbeddc973";
+    sha256 = "0pnnjl141wf3kbf256m6qz9mxz0144z36qqb43skialzcnlhga38";
+  };
+
+  preConfigure = ''makeFlagsArray+=(PREFIX="$out")'';
+
+  meta = with stdenv.lib; {
+    description = "CAN userspace utilities and tools (for use with Linux SocketCAN)";
+    homepage = "https://gitorious.org/linux-can/can-utils";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 9125c84bd7a..1f06fb66218 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,17 +2,20 @@
 stdenv.mkDerivation rec {
 
   name = "checkpolicy-${version}";
-  version = "2.1.11";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/checkpolicy-${version}.tar.gz";
-    sha256 = "1wahs32l4jjlg0s3lyihdhvwmsy7yyvq5pk96q9lsiilc5vvrb06";
+    sha256 = "0yr0r2cxz9lbj7i0wqgcd4wjvc6zf1fmqk0xjybnkdpcmw8jsqwh";
   };
 
   buildInputs = [ libsepol libselinux bison flex ];
 
-  preBuild = '' makeFlags="$makeFlags LEX=flex LIBDIR=${libsepol}/lib PREFIX=$out" '';
+  preBuild = ''
+    makeFlags="$makeFlags LEX=flex LIBDIR=${libsepol}/lib PREFIX=$out"
+    sed -e 's@[.]o$@& ../lex.yy.o@' -i test/Makefile
+  '';
 
   meta = with stdenv.lib; {
     description = "SELinux policy compiler";
diff --git a/pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch b/pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch
new file mode 100644
index 00000000000..2caf52f3c0a
--- /dev/null
+++ b/pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch
@@ -0,0 +1,27 @@
+From 6503848d9e0eb009e5f462116a963beacb208930 Mon Sep 17 00:00:00 2001
+From: Austin Seipp <aseipp@pobox.com>
+Date: Thu, 20 Feb 2014 00:11:44 -0600
+Subject: [PATCH] attempt to 'modprobe config' before checking kernel
+
+Signed-off-by: Austin Seipp <aseipp@pobox.com>
+---
+ checksec.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/checksec.sh b/checksec.sh
+index dd1f72e..63acc29 100644
+--- a/checksec.sh
++++ b/checksec.sh
+@@ -337,7 +337,8 @@ kernelcheck() {
+   printf "  userspace processes, this option lists the status of kernel configuration\n"
+   printf "  options that harden the kernel itself against attack.\n\n"
+   printf "  Kernel config: "
+- 
++
++  modprobe configs 2> /dev/null
+   if [ -f /proc/config.gz ] ; then
+     kconfig="zcat /proc/config.gz"
+     printf "\033[32m/proc/config.gz\033[m\n\n"
+-- 
+1.8.3.2
+
diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix
new file mode 100644
index 00000000000..4701d774dfd
--- /dev/null
+++ b/pkgs/os-specific/linux/checksec/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, file, findutils, elfutils, glibc }:
+
+stdenv.mkDerivation rec {
+  name = "checksec-${version}";
+  version = "1.5";
+  src = fetchurl {
+    url    = "http://www.trapkit.de/tools/checksec.sh";
+    sha256 = "0iq9v568mk7g7ksa1939g5f5sx7ffq8s8n2ncvphvlckjgysgf3p";
+  };
+
+  patches = [ ./0001-attempt-to-modprobe-config-before-checking-kernel.patch ];
+
+  unpackPhase = ''
+    mkdir ${name}-${version}
+    cp $src ${name}-${version}/checksec.sh
+    cd ${name}-${version}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp checksec.sh $out/bin/checksec
+    chmod +x $out/bin/checksec
+    substituteInPlace $out/bin/checksec --replace /bin/bash ${stdenv.shell}
+    substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc}/lib/libc.so.6
+    substituteInPlace $out/bin/checksec --replace find ${findutils}/bin/find
+    substituteInPlace $out/bin/checksec --replace "file $" "${file}/bin/file $"
+    substituteInPlace $out/bin/checksec --replace "xargs file" "xargs ${file}/bin/file"
+    substituteInPlace $out/bin/checksec --replace " readelf -" " ${elfutils}/bin/readelf -"
+    substituteInPlace $out/bin/checksec --replace "(readelf -" "(${elfutils}/bin/readelf -"
+    substituteInPlace $out/bin/checksec --replace "command_exists readelf" "command_exists ${elfutils}/bin/readelf"
+  '';
+
+  phases = "unpackPhase patchPhase installPhase";
+
+  meta = {
+    description = "A tool for checking security bits on executables";
+    homepage    = "http://www.trapkit.de/tools/checksec.html";
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index 0f8801ef58e..ce609c5be47 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cifs-utils-5.6";
+  name = "cifs-utils-6.3";
 
   src = fetchurl {
     url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "0f619nw1163bcmfc83mmqj31qdkl68wfm81vynx3d8q0m0k1ll7i";
+    sha256 = "0nrpd3ibzfhdxgq1pw0jhzx163z5jvq4qcjxl35qlqj74lm3pxzz";
   };
 
-  patches = [ ./find-systemd-ask-password-via-path.patch ];
-
   makeFlags = "root_sbindir=$(out)/sbin";
 
   meta = {
diff --git a/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch b/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch
deleted file mode 100644
index 428cb75edad..00000000000
--- a/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ubr cifs-utils-5.9-orig/mount.cifs.c cifs-utils-5.9/mount.cifs.c
---- cifs-utils-5.9-orig/mount.cifs.c	2013-03-05 10:53:19.375464790 +0100
-+++ cifs-utils-5.9/mount.cifs.c	2013-03-05 11:41:40.704946110 +0100
-@@ -1634,7 +1634,7 @@
- }
- 
- /*
-- * If systemd is running and /bin/systemd-ask-password --
-+ * If systemd is running and systemd-ask-password --
-  * is available, then use that else fallback on getpass(..)
-  *
-  * Returns: @input or NULL on error
-@@ -1657,7 +1657,7 @@
- 		FILE *ask_pass_fp = NULL;
- 
- 		cmd = ret = NULL;
--		if (asprintf(&cmd, "/bin/systemd-ask-password \"%s\"", prompt) >= 0) {
-+		if (asprintf(&cmd, "/run/current-system/sw/bin/systemd-ask-password \"%s\"", prompt) >= 0) {
- 			ask_pass_fp = popen (cmd, "re");
- 			free (cmd);
- 		}
-Only in cifs-utils-5.9/: mount.cifs.c.orig
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index 086b792b4cd..92b97ffb592 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -1,5 +1,33 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, curl, wirelesstools, glib, openssl
-, ncurses }:
+{ stdenv, fetchurl, pkgconfig
+
+# dependencies
+, glib, ncurses
+
+# optional features without extra dependencies
+, mpdSupport   ? true
+
+# optional features with extra dependencies
+, x11Support   ? false, x11           ? null
+, xdamage      ? false, libXdamage    ? null
+, wireless     ? false, wirelesstools ? null
+, luaSupport   ? false, lua5          ? null
+
+, rss          ? false
+, weatherMetar ? false
+, weatherXoap  ? false
+, curl ? null, libxml2 ? null
+}:
+
+assert luaSupport -> lua5          != null;
+assert wireless   -> wirelesstools != null;
+assert x11Support -> x11           != null;
+assert xdamage    -> x11Support && libXdamage != null;
+
+assert rss          -> curl != null && libxml2 != null;
+assert weatherMetar -> curl != null;
+assert weatherXoap  -> curl != null && libxml2 != null;
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "conky-1.9.0";
@@ -9,17 +37,37 @@ stdenv.mkDerivation rec {
     sha256 = "0vxvjmi3cdvnp994sv5zcdyncfn0mlxa71p2wm9zpyrmy58bbwds";
   };
 
-  patches = [ ./stdbool.patch ];
+  NIX_LDFLAGS = "-lgcc_s";
+
+  buildInputs = [ pkgconfig glib ncurses ]
+    ++ optional  luaSupport   lua5
+    ++ optional  wireless     wirelesstools
+    ++ optional  x11Support   x11
+    ++ optional  xdamage      libXdamage
+
+    ++ optionals rss          [ curl libxml2 ]
+    ++ optional  weatherMetar curl
+    ++ optionals weatherXoap  [ curl libxml2 ]
+    ;
 
-  buildInputs = [ pkgconfig libxml2 curl wirelesstools glib openssl ncurses ];
   configureFlags =
-    (map (x: "--disable-${x}") [ "x11" "xdamage" "own-window" "xft" "lua" ])
-    ++ (map (x: "--enable-${x}") [ "mpd" "double-buffer" "wlan" "rss"
-                                   "weather-metar" "weather-xoap" ]);
+    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
+                                      else map (x: "--disable-${x}") flags;
+     in flag mpdSupport   [ "mpd" ]
+
+     ++ flag luaSupport   [ "lua" ]
+     ++ flag wireless     [ "wlan" ]
+     ++ flag x11Support   [ "x11" "xft" "argb" "double-buffer" "own-window" ] # conky won't compile without --enable-own-window
+     ++ flag xdamage      [ "xdamage" ]
+
+     ++ flag rss          [ "rss" ]
+     ++ flag weatherMetar [ "weather-metar" ]
+     ++ flag weatherXoap  [ "weather-xoap" ]
+     ;
 
   meta = {
     homepage = http://conky.sourceforge.net/;
-    description = "Conky is an advanced, highly configurable system monitor complied without X based on torsmo";
+    description = "Conky is an advanced, highly configurable system monitor based on torsmo";
     maintainers = [ stdenv.lib.maintainers.guibert ];
     license = stdenv.lib.licenses.gpl3Plus;
   };
diff --git a/pkgs/os-specific/linux/conky/stdbool.patch b/pkgs/os-specific/linux/conky/stdbool.patch
deleted file mode 100644
index 3f0b714a1f0..00000000000
--- a/pkgs/os-specific/linux/conky/stdbool.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/conky.c b/src/conky.c
-index 5848b61..69a3d45 100644
---- a/src/conky.c
-+++ b/src/conky.c
-@@ -34,6 +34,7 @@
- #include "common.h"
- #include "timed_thread.h"
- #include <stdarg.h>
-+#include <stdbool.h>
- #include <math.h>
- #include <time.h>
- #include <locale.h>
diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix
index 537cc386402..f8be37edfe2 100644
--- a/pkgs/os-specific/linux/consoletools/default.nix
+++ b/pkgs/os-specific/linux/consoletools/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchgit, SDL }:
+{ stdenv, fetchurl, SDL }:
 
 stdenv.mkDerivation rec {
   name = "linuxconsoletools-${version}";
-  version = "1.4.3";
+  version = "1.4.6";
 
-  src = fetchgit {
-    url = "git://linuxconsole.git.sourceforge.net/gitroot/linuxconsole/linuxconsole";
-    rev = "dac2cae0e5795ddc27b76a92767dd9e07a10621e";
-    sha256 = "350b008e614923dbd548fcaaf2842b39433acdcf595e2ce8aaf1599f076d331d";
+  src = fetchurl {
+    url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2";
+    sha256 = "0035yhjbjdis5wqmbdz67xq61065x7vrx5mb7kb1rhrx3ag43wcf";
   };
 
   buildInputs = [ SDL ];
diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix
index 44689cd5d62..d252d9ce162 100644
--- a/pkgs/os-specific/linux/conspy/default.nix
+++ b/pkgs/os-specific/linux/conspy/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="conspy";
-    version="1.8";
+    version="1.9";
     name="${baseName}-${version}";
-    hash=sha256;
-    url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.8.tar.gz";
-    sha256="1jc2maqp4w4mzlr3s8yni03w1p9sir5hb7gha3ffxj4n32nx42dq";
+    hash="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv";
+    url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.9.tar.gz";
+    sha256="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv";
   };
   buildInputs = [
     autoconf automake ncurses
diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix
index 85907ff0212..d056e60f2da 100644
--- a/pkgs/os-specific/linux/cpufrequtils/default.nix
+++ b/pkgs/os-specific/linux/cpufrequtils/default.nix
@@ -2,14 +2,19 @@
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "cpufrequtils-008";
 
   src = fetchurl {
-    url = http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-008.tar.gz;
-    md5 = "52d3e09e47ffef634833f7fab168eccf";
+    url = "http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/${name}.tar.gz";
+    sha256 = "127i38d4w1hv2dzdy756gmbhq25q3k34nqb2s0xlhsfhhdqs0lq0";
   };
 
+  patches = [
+    # I am not 100% sure that this is ok, but it breaks repeatable builds.
+    ./remove-pot-creation-date.patch
+  ];
+
   patchPhase = ''
     sed -e "s@= /usr/bin/@= @g" \
       -e "s@/usr/@$out/@" \
diff --git a/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch b/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch
new file mode 100644
index 00000000000..0116ed9eab0
--- /dev/null
+++ b/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch
@@ -0,0 +1,24 @@
+diff -u cpufrequtils-008/Makefile cpufrequtils-008.new/Makefile
+--- cpufrequtils-008/Makefile	2012-05-06 01:17:18.000000000 +0200
++++ cpufrequtils-008.new/Makefile	2013-08-16 20:52:29.961086536 +0200
+@@ -205,7 +205,8 @@
+ 	@xgettext --default-domain=$(PACKAGE) --add-comments \
+ 		--keyword=_ --keyword=N_ $(UTIL_SRC) && \
+ 	test -f $(PACKAGE).po && \
+-	mv -f $(PACKAGE).po po/$(PACKAGE).pot
++	mv -f $(PACKAGE).po po/$(PACKAGE).pot && \
++        sed -i -e'/POT-Creation/d' po/*.pot
+ 
+ update-gmo: po/$(PACKAGE).pot
+ 	 @for HLANG in $(LANGUAGES); do \
+@@ -217,6 +218,7 @@
+ 			echo "msgmerge for $$HLANG failed!"; \
+ 			rm -f po/$$HLANG.new.po; \
+ 		fi; \
++		sed -i -e'/POT-Creation/d' po/*.po; \
+ 		msgfmt --statistics -o po/$$HLANG.gmo po/$$HLANG.po; \
+ 	done;
+ 
+Common subdirectories: cpufrequtils-008/man and cpufrequtils-008.new/man
+Common subdirectories: cpufrequtils-008/po and cpufrequtils-008.new/po
+Common subdirectories: cpufrequtils-008/utils and cpufrequtils-008.new/utils
diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix
new file mode 100644
index 00000000000..bf6e8c36f3d
--- /dev/null
+++ b/pkgs/os-specific/linux/cpupower/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, kernel, coreutils, pciutils, gettext }:
+
+stdenv.mkDerivation {
+  name = "cpupower-${kernel.version}";
+
+  src = kernel.src;
+
+  buildInputs = [ coreutils pciutils gettext ];
+
+  configurePhase = ''
+    cd tools/power/cpupower
+    sed -i 's,/bin/true,${coreutils}/bin/true,' Makefile
+    sed -i 's,/bin/pwd,${coreutils}/bin/pwd,' Makefile
+    sed -i 's,/usr/bin/install,${coreutils}/bin/install,' Makefile
+  '';
+
+  buildPhase = ''
+    make
+  '';
+
+  installPhase = ''
+    make \
+      bindir="$out/bin" \
+      sbindir="$out/sbin" \
+      mandir="$out/share/man" \
+      includedir="$out/include" \
+      libdir="$out/lib" \
+      localedir="$out/share/locale" \
+      docdir="$out/share/doc/cpupower" \
+      confdir="$out/etc" \
+      install install-man
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Tool to examine and tune power saving features.";
+    homepage = https://www.kernel.org.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix
new file mode 100644
index 00000000000..433cc2c81d7
--- /dev/null
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, protobuf, protobufc, asciidoc
+, xmlto, utillinux, docbook_xsl, libpaper }:
+
+stdenv.mkDerivation rec {
+  name    = "criu-${version}";
+  version = "1.3-rc2";
+
+  src = fetchurl {
+    url    = "http://download.openvz.org/criu/${name}.tar.bz2";
+    sha256 = "1h9ii91aq8cja22j3520vg3qb3y9h6c064s4115s2ldylm8jmi0s";
+  };
+
+  enableParallelBuilding = true;
+  buildInputs = [ protobuf protobufc asciidoc xmlto libpaper ];
+
+  patchPhase = ''
+    chmod +w ./scripts/gen-offsets.sh
+    substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump
+    substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" ""
+    substituteInPlace ./Documentation/Makefile --replace "--skip-validation" "--skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
+  '';
+
+  configurePhase = "make config PREFIX=$out";
+  buildPhase     = "make PREFIX=$out";
+
+  installPhase = ''
+    mkdir -p $out/etc/logrotate.d
+    make install PREFIX=$out LIBDIR=$out/lib ASCIIDOC=${asciidoc}/bin/asciidoc XMLTO=${xmlto}/bin/xmlto
+  '';
+
+  meta = {
+    description = "userspace checkpoint/restore for Linux";
+    homepage    = "http://criu.org";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = [ "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
index e80256f7299..4ea9295ef4f 100644
--- a/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -1,21 +1,21 @@
-{ fetchurl, stdenv, kernelDev, onlyHeaders ? false }:
+{ fetchurl, stdenv, kernel, onlyHeaders ? false }:
 
 stdenv.mkDerivation rec {
-  pname = "cryptodev-linux-1.5";
-  name = "${pname}-${kernelDev.version}";
+  pname = "cryptodev-linux-1.6";
+  name = "${pname}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.gna.org/cryptodev-linux/${pname}.tar.gz";
-    sha256 = "13hybl5p0ck0vgi2gxmiwa2810gcfk78kdy17ai8nczj8il15mn0";
+    sha256 = "0bryzdb4xz3fp2q00a0mlqkj629md825lnlh4gjwmy51irf45wbm";
   };
 
   buildPhase = if !onlyHeaders then ''
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       SUBDIRS=`pwd` INSTALL_PATH=$out
   '' else ":";
 
   installPhase = stdenv.lib.optionalString (!onlyHeaders) ''
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
   '' + ''
     mkdir -p $out/include/crypto
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Device that allows access to Linux kernel cryptographic drivers";
     homepage = http://home.gna.org/cryptodev-linux/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 0eb4be30284..d3a0b827ed1 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "cryptsetup-1.5.1";
+  name = "cryptsetup-1.6.3";
 
   src = fetchurl {
     url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "0dib3nw6ifd7d7hr9k4iyaha3hz0pkzairqa38l3fndkr9w3zlhn";
+    sha256 = "1n1qk5chyjspbiianrdb55fhb4wl0vfyqz2br05vfb24v4qlgbx2";
   };
 
   configureFlags = [ "--enable-cryptsetup-reencrypt" ]
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://code.google.com/p/cryptsetup/;
     description = "LUKS for dm-crypt";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ viric chaoflow ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/os-specific/linux/disk-indicator/default.nix b/pkgs/os-specific/linux/disk-indicator/default.nix
new file mode 100644
index 00000000000..b60232a9b75
--- /dev/null
+++ b/pkgs/os-specific/linux/disk-indicator/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, libX11 }:
+
+stdenv.mkDerivation {
+  name = "disk-indicator";
+
+  src = fetchgit {
+    url = git://github.com/MeanEYE/Disk-Indicator.git;
+    rev = "51ef4afd8141b8d0659cbc7dc62189c56ae9c2da";
+    sha256 = "0f8mxl3wqlap8zajdk6r9liliayp8w4xs4jy8jbwanmmppwz0nb9";
+  };
+
+  buildInputs = [ libX11 ];
+
+  patchPhase = ''
+    substituteInPlace ./makefile --replace "COMPILER=c99" "COMPILER=gcc -std=c99"
+    substituteInPlace ./makefile --replace "COMPILE_FLAGS=" "COMPILE_FLAGS=-O2 "
+  '';
+
+  buildPhase = "make -f makefile";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp ./disk_indicator "$out/bin/"
+  '';
+
+  meta = {
+    homepage = https://github.com/MeanEYE/Disk-Indicator;
+    description = "A program that will turn a LED into a hard disk indicator";
+    longDescription = ''
+      Small program for Linux that will turn your Scroll, Caps or Num Lock LED
+      or LED on your ThinkPad laptop into a hard disk activity indicator.
+    '';
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix
index e6b5035bd8e..19d4092ba78 100644
--- a/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/pkgs/os-specific/linux/dmidecode/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dmidecode-2.11";
+  name = "dmidecode-2.12";
 
   src = fetchurl {
     url = "mirror://savannah/dmidecode/${name}.tar.bz2";
-    sha256 = "0l9v8985piykc98hmbg1cq5r4xwvp0jjl4li3avr3ddkg4s699bd";
+    sha256 = "122hgaw8mpqdfra159lfl6pyk3837giqx6vq42j64fjnbl2z6gwi";
   };
 
   makeFlags = "prefix=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.nongnu.org/dmidecode/;
     description = "A tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index 7129b685eb9..068e49d0190 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "drbd-8.4.0";
+  name = "drbd-8.4.4";
 
   src = fetchurl {
     url = "http://oss.linbit.com/drbd/8.4/${name}.tar.gz";
-    sha256 = "096njwxjpwvnl259gxq6cr6n0r6ba0h5aryvgk05hqi95jx927vg";
+    sha256 = "0hm1cnd7vsccyc22sg85f9aj48nijl2f1kgbvl5crv414ihv5giq";
   };
 
   patches = [ ./pass-force.patch ];
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index 138b4ff468f..c95532f1360 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://dag.wieers.com/home-made/dstat/;
     description = "Versatile resource statistics tool";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
diff --git a/pkgs/os-specific/linux/e1000e/default.nix b/pkgs/os-specific/linux/e1000e/default.nix
index e1abeea49b7..db5f88b935f 100644
--- a/pkgs/os-specific/linux/e1000e/default.nix
+++ b/pkgs/os-specific/linux/e1000e/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 stdenv.mkDerivation {
-  name = "e1000e-1.5.1-${kernelDev.version}";
+  name = "e1000e-2.5.4-${kernel.version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/e1000/e1000e-1.5.1.tar.gz";
-    sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw";
+    url = "mirror://sourceforge/e1000/e1000e-2.5.4.tar.gz";
+    sha256 = "0bmihkc7y37jzwi996ryqblnyflyhhbimbnrnmlk419vxlzg1pzi";
   };
 
-  buildInputs = [ kernelDev ];
-
   configurePhase = ''
     cd src
-    kernel_version=$( cd ${kernelDev}/lib/modules && echo * )
-    sed -i -e 's|/lib/modules|${kernelDev}/lib/modules|' Makefile
+    kernel_version=${kernel.modDirVersion}
+    sed -i -e 's|/lib/modules|${kernel.dev}/lib/modules|' Makefile
     export makeFlags="BUILD_KERNEL=$kernel_version"
   '';
 
diff --git a/pkgs/os-specific/linux/exmap/default.nix b/pkgs/os-specific/linux/exmap/default.nix
deleted file mode 100644
index 1b372ca3dbf..00000000000
--- a/pkgs/os-specific/linux/exmap/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ fetchurl, stdenv, kernelDev, pkgconfig, gtkmm, boost, pcre }:
-
-stdenv.mkDerivation rec {
-  name = "exmap-0.10-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://www.berthels.co.uk/exmap/download/${name}.tgz";
-    sha256 = "0z00dhl6bdmaz7p9wlvnj0izf0zlrlkv34fz449kxyislpzzxmgn";
-  };
-
-  patchPhase = ''
-    substituteInPlace "kernel/Makefile" \
-      --replace '/lib/modules/$(shell uname -r)/build' \
-                ${kernelDev}/lib/modules/*/build
-
-    # The `proc_root' variable (the root of `/proc') is no longer exported
-    # since 2.6.26.  Fortunately, one can pass `NULL' instead of `&proc_root'.
-    # See http://lkml.org/lkml/2008/3/30/57 .
-    substituteInPlace "kernel/exmap.c" \
-      --replace "&proc_root" "NULL"
-
-    substituteInPlace "src/Makefile" --replace "-Werror" ""
-  '';
-
-  buildInputs = [ kernelDev pkgconfig gtkmm boost pcre ];
-
-  buildPhase = "make build";
-
-  # XXX: The tests can only be run one the `exmap' module is loaded.
-  doCheck = false;
-  #checkPhase = "make test"
-
-  installPhase = ''
-    mkdir -p "$out/share/${name}"
-    cp kernel/*.ko "$out/share/${name}"
-
-    mkdir -p "$out/bin"
-    cp src/{gexmap,exmtool,elftool,showproc} "$out/bin"
-  '';
-
-  meta = {
-    description = "Exmap, a tool showing the physical memory usage of processes";
-
-    longDescription = ''
-      Exmap is a utility which takes a snapshot of how the physical
-      memory and swap space are currently used by all the processes on
-      your system.  It examines which page of memory are shared between
-      which processes, so that it can share the cost of the pages
-      fairly when calculating usage totals.
-    '';
-
-    homepage = http://www.berthels.co.uk/exmap/;
-
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index 834f98960df..e024a608a0b 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     description = "FireWire audio drivers";
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
new file mode 100644
index 00000000000..c1fa2c26205
--- /dev/null
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="firejail";
+    version="0.9.8.1";
+    name="${baseName}-${version}";
+    hash="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x";
+    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.8.1.tar.bz2";
+    sha256="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  preConfigure = ''
+    sed -e 's@/bin/bash@${stdenv.shell}@g' -i $( grep -lr /bin/bash .)
+    sed -e '/void fs_var_run(/achar *vrcs = get_link("/var/run/current-system")\;' -i ./src/firejail/fs_var.c
+    sed -e '/ \/run/iif(vrcs!=NULL){symlink(vrcs, "/var/run/current-system")\;free(vrcs)\;}' -i ./src/firejail/fs_var.c
+  '';
+
+  meta = {
+    inherit (s) version;
+    description = ''Namespace-based sandboxing tool for Linux'';
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://l3net.wordpress.com/projects/firejail/";
+    downloadPage = "http://sourceforge.net/projects/firejail/files/firejail/";
+  };
+}
diff --git a/pkgs/os-specific/linux/firejail/default.upstream b/pkgs/os-specific/linux/firejail/default.upstream
new file mode 100644
index 00000000000..4a0037e8aa4
--- /dev/null
+++ b/pkgs/os-specific/linux/firejail/default.upstream
@@ -0,0 +1,3 @@
+url http://sourceforge.net/projects/firejail/files/firejail/
+version_link '[.]tar[.][a-z0-9]+/download$'
+SF_redirect
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
index b6465c0d794..9d31fde2f0f 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "b43-fwcutter-015";
+  name = "b43-fwcutter-018";
 
   src = fetchurl {
     url = "http://bues.ch/b43/fwcutter/${name}.tar.bz2";
-    sha256 = "1sznw1jrhyfbx0ilwzrj6mzlgc96fzjbx56j4ji8lsypyp8m6sjc";
+    sha256 = "13v34pa0y1jf4hkhsh3zagyb7s8b8ymplffaayscwsd3s7f6kc2p";
   };
 
   patches = [ ./no-root-install.patch ];
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
     description = "Firmware extractor for cards supported by the b43 kernel module";
     homepage = http://wireless.kernel.org/en/users/Drivers/b43;
     license = "free-non-copyleft";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
 
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
index f941d9275c0..436f40712fc 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation {
     description = "Firmware for cards supported by the b43 kernel module";
     homepage = http://wireless.kernel.org/en/users/Drivers/b43;
     license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
 
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index f5efc565753..04823ffeda0 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -6,26 +6,27 @@
 { stdenv, fetchurl, dpkg }:
 
 let
-  version = "0.40";
+  version = "0.43";
 
   packages = [
-    { name = "adi"; sha256 = "0wwks9ff4n772435s57z1fjrffi4xl9nxnfn3v7xfcwdjb395d88"; }
-    { name = "atheros"; sha256 = "1gj7hfnyclzgyq06scynaclnfajhs6lw5i51j1w1hikv4yh20djz"; }
-    { name = "bnx2"; sha256 = "15qjj0sfjin5cbkpby29r5czn11xyiyyc4fmhwlqvgfgrnbp0aqk"; }
-    { name = "bnx2x"; sha256 = "08nvbln94ff47b2q0avxj1aa2wx4qih8sq8knbq54lp46kjf3k0h"; }
-    { name = "brcm80211"; sha256 = "1ndsw3s6xkr1n39nf9ig1xhnaglx5qvvvm8rh6ah41v644lzha79"; }
-    { name = "intelwimax"; sha256 = "1qwxmykh90v92asn4ivq0fak761hs7hd2zmz1dpkjidwsycrfyqn"; }
-    { name = "ipw2x00"; sha256 = "0a2nb17b5n3k1b6y4dbi5i8k1fm19ba2abq2jh2hjjmyyl3y388m"; }
-    { name = "ivtv"; sha256 = "1239gsjq16f4kd1yn77iq3ar8ndx3pzd16kpqafr1h2y0zwh452r"; }
-    { name = "iwlwifi"; sha256 = "03kmh5szd02pkbm1nlyz99fr2njhg88wiv73f1fz485m9rvgga43"; }
-    { name = "libertas"; sha256 = "0qjziwmwqbp83hxrjw7x3ralxg4ib9y23bcbn1g8yb5b6m84ca6b"; }
-    { name = "linux"; sha256 = "0ypidsrrfx4kvbfisdpgx2fzbil7g2jixgqhnv960iy5l348amrl"; }
-    { name = "linux-nonfree"; sha256 = "0p9ql3cdxljflh48r6z40kpyisbzp3s3g1qjb9f64n6cppllwjfr"; }
-    { name = "myricom"; sha256 = "12spfaq7z2bb93cy15zldlic1wx2v6h9sn7ny09nkzy4m26zds4q"; }
-    { name = "netxen"; sha256 = "03gmda16bdqw8a4x8x11ph41ksjh48hxydv0f0z3gi3czgbh7sn3"; }
-    { name = "qlogic"; sha256 = "1ah8rrwzi44p1l4q8qkql18djmn5kihsiinpy204xklm1csf3vs1"; }
-    { name = "ralink"; sha256 = "005549jk0wnyfnb247awv2wncsx5is05m1hdwcd33iq0dlbmm39b"; }
-    { name = "realtek"; sha256 = "1ai1klzrql8qxmb7945xiqlkfkyz8admrpb10b3r4ixvclkrvfi2"; }
+    { name = "adi"; sha256 = "13cwnbispivpd73k928l1i818ylhpahp6xh7d6pw59sswrsx6inw"; }
+    { name = "atheros"; sha256 = "0sw9d52k3ynx1cxg7cq49pmm8y6vlqyhb9843hbyf6nbmjqj72bx"; }
+    { name = "bnx2"; sha256 = "1r8scys27qj5shdbgl8ag9vi4hiidx4bp8yw4n4dcp288d9x7bbh"; }
+    { name = "bnx2x"; sha256 = "03jx4vnn8irlwswydf4h3ya1kf064jkaj67jry2hr6qwpd4l8pgq"; }
+    { name = "brcm80211"; sha256 = "01mkmjkg16kdd26pwlg4a1s1717fh0j602mwqhwh46k8zakg2lkh"; }
+    { name = "intelwimax"; sha256 = "1avls6sx0pbsffrcs267r2r2rqlx2xrv8j9znc7ix1bi8g4fx91v"; }
+    { name = "ipw2x00"; sha256 = "19zqc30hsz7snw020izm81qbap3xsygggnmbspxndw7jihz0amjs"; }
+    { name = "ivtv"; sha256 = "1f2004lpw5nr9rxj3cl4ba0jdm51wkvsrbiy4drakawpjwh5y4qw"; }
+    { name = "iwlwifi"; sha256 = "1538r751mx8nhg3xibnnrhnflvf3kl5y9rnm7rpl4wyrfgx61amd"; }
+    { name = "libertas"; sha256 = "0svkqlsiqgmh970r38nh0c1pjx41zdfql2k2k5djw99fscjklacd"; }
+    { name = "linux"; sha256 = "0j62v6vbh2287j3x5c9i0xspmhyh5k1z8dyajgix7k37xi4jvpy2"; }
+    { name = "linux-nonfree"; sha256 = "1f5x72rzicivwm0sn9l6wjkx7z9a0b8n6c9m60xrqg36ly7mizzp"; }
+    { name = "myricom"; sha256 = "17cdl885jlnja5m60l35xr2f84hv8z4cvg3d25vpp171s1vf1ks1"; }
+    { name = "netxen"; sha256 = "122nava9ld1v8gcnqbdpx0kffv0rxm9glp4xg09ssvldy4myfgl7"; }
+    { name = "qlogic"; sha256 = "02pgmprz1qwij7lw1lgmb8clgxj8v3mx0fyy1l4z7bffnpvip863"; }
+    { name = "ralink"; sha256 = "0yw9gf9gm3jxmsndr8kcsf6829smm88kshfb4c8jn0n6f4yy9l7x"; }
+    { name = "realtek"; sha256 = "0gay9x47pimdqj665sr1416l3bdyca9grsqpj0s9n6k1lmywrqx1"; }
+    { name = "ti-connectivity"; sha256 = "1m6yk0827991hs46l8pp8iiwh1ms0rwlmwn64k2wr725k5yzg29b"; }
   ];
 
   fetchPackage =
diff --git a/pkgs/os-specific/linux/frandom/default.nix b/pkgs/os-specific/linux/frandom/default.nix
index a28ba527218..80ad483b367 100644
--- a/pkgs/os-specific/linux/frandom/default.nix
+++ b/pkgs/os-specific/linux/frandom/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 let baseName = "frandom-1.1";
 in
 
 stdenv.mkDerivation rec {
-  name = "${baseName}-${kernelDev.version}";
+  name = "${baseName}-${kernel.version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/frandom/${baseName}.tar.gz";
@@ -12,18 +12,18 @@ stdenv.mkDerivation rec {
   };
 
   preBuild = ''
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
+    kernelVersion=${kernel.modDirVersion}
     substituteInPlace Makefile \
       --replace "\$(shell uname -r)" "$kernelVersion" \
-      --replace "/lib/modules" "${kernelDev}/lib/modules"
+      --replace "/lib/modules" "${kernel.dev}/lib/modules"
   '';
  
   installPhase = ''
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
-    ensureDir $out/lib/modules/$kernelVersion/misc
+    kernelVersion=${kernel.modDirVersion}
+    mkdir -p $out/lib/modules/$kernelVersion/misc
     cp frandom.ko $out/lib/modules/$kernelVersion/misc
 
-    ensureDir $out/lib/udev/rules.d
+    mkdir -p $out/lib/udev/rules.d
     tee $out/lib/udev/rules.d/10-frandom.rules <<-EOF
     #
     # These are the rules for the frandom devices. In theory, we could let
@@ -40,8 +40,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A very fast random number generator kernel module";
     homepage = http://frandom.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
   };
 }
-
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index bd2507ec1bc..d6513f7ebb5 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "fuse-2.9.2";
+  name = "fuse-2.9.3";
   
   builder = ./builder.sh;
   
   src = fetchurl {
     url = "mirror://sourceforge/fuse/${name}.tar.gz";
-    sha256 = "1z6fg593hy1j7mynhckx43gqkkg2nwpmwwv860337nl77zxji9w1";
+    sha256 = "071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb";
   };
   
   configureFlags = "--disable-kernel-module";
@@ -16,8 +16,10 @@ stdenv.mkDerivation rec {
   
   inherit utillinux;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://fuse.sourceforge.net/;
     description = "Kernel module and library that allows filesystems to be implemented in user space";
+    platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
index 09a449bbede..a627a8cbcc9 100644
--- a/pkgs/os-specific/linux/gogoclient/default.nix
+++ b/pkgs/os-specific/linux/gogoclient/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [openssl];
 
   preFixup = ''
-    ensureDir $out/share/${name}
+    mkdir -p $out/share/${name}
     chmod 444 $out/bin/gogoc.conf
     mv $out/bin/gogoc.conf $out/share/${name}/gogoc.conf.sample
     rm $out/bin/gogoc.conf.sample
diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix
index d7acc6778b4..0e38d94e1ed 100644
--- a/pkgs/os-specific/linux/google-authenticator/default.nix
+++ b/pkgs/os-specific/linux/google-authenticator/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pam }:
+{ stdenv, fetchurl, pam, qrencode }:
 
 stdenv.mkDerivation rec {
   name = "google-authenticator-1.0";
@@ -10,8 +10,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pam ];
 
+  preConfigure = ''
+    sed -i 's|libqrencode.so.3|${qrencode}/lib/libqrencode.so.3|' google-authenticator.c
+  '';
+
   installPhase = ''
-    ensureDir $out/bin $out/lib/security
+    mkdir -p $out/bin $out/lib/security
     cp pam_google_authenticator.so $out/lib/security
     cp google-authenticator $out/bin
   '';
@@ -19,6 +23,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://code.google.com/p/google-authenticator/;
     description = "Two-step verification, with pam module";
-    license = "ASL2.0";
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix
new file mode 100644
index 00000000000..87e8fa5b074
--- /dev/null
+++ b/pkgs/os-specific/linux/gradm/default.nix
@@ -0,0 +1,52 @@
+{ fetchurl, stdenv, bison, flex, pam,
+  gcc, coreutils, findutils, binutils, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "gradm-${version}";
+  version = "3.0-201405281853";
+
+  src  = fetchurl {
+    url    = "http://grsecurity.net/stable/${name}.tar.gz";
+    sha256 = "0yjmbjhm71cik5j8h2prgk40wki3sflwbf2zqmc4pwaqlvis9s2f";
+  };
+
+  buildInputs = [ gcc coreutils findutils binutils pam flex bison bash ];
+  preBuild = ''
+    substituteInPlace ./Makefile --replace "/usr/include/security/pam_" "${pam}/include/security/pam_"
+    substituteInPlace ./gradm_defs.h --replace "/sbin/grlearn"   "$out/sbin/grlearn"
+    substituteInPlace ./gradm_defs.h --replace "/sbin/gradm"     "$out/sbin/gradm"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/lib/udev/rules.d
+    cat > $out/lib/udev/rules.d/80-grsec.rules <<EOF
+    ACTION!="add|change", GOTO="permissions_end"
+    KERNEL=="grsec",          MODE="0622"
+    LABEL="permissions_end"
+    EOF
+
+    echo "inherit-learn /nix/store" >> $out/etc/grsec/learn_config
+  '';
+
+  makeFlags =
+    [ "DESTDIR=$(out)"
+      "CC=${gcc}/bin/gcc"
+      "FLEX=${flex}/bin/flex"
+      "BISON=${bison}/bin/bison"
+      "FIND=${findutils}/bin/find"
+      "STRIP=${binutils}/bin/strip"
+      "INSTALL=${coreutils}/bin/install"
+      "MANDIR=/share/man"
+      "MKNOD=true"
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "grsecurity RBAC administration and policy analysis utility";
+    homepage    = "https://grsecurity.net";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice wizeman ];
+  };
+}
diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix
new file mode 100644
index 00000000000..6e4a2caba18
--- /dev/null
+++ b/pkgs/os-specific/linux/guvcview/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, intltool, autoreconfHook, gettext, pkgconfig
+, gtk3, portaudio, libpng, SDL, ffmpeg, udev, libusb1, libv4l, alsaLib }:
+
+stdenv.mkDerivation rec {
+  version = "1.7.2";
+  rev = "ab84b0b1ed358f0504e1218a0ef792a02b307af8";
+  name = "guvcview-${version}_${rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "git://git.code.sf.net/p/guvcview/git-master";
+    sha256 = "08cpbxq3dh2mlsgzk5dj3vfrgap4q281n9h6xzpbsvyifcj1a9n1";
+  };
+
+  buildInputs =
+    [ SDL
+      alsaLib
+      autoreconfHook
+      ffmpeg
+      gtk3
+      intltool
+      libusb1
+      libv4l
+      pkgconfig
+      portaudio
+      udev
+    ];
+
+  preConfigure = ''
+    ./bootstrap.sh
+  '';
+
+  meta = {
+    description = "A simple interface for devices supported by the linux UVC driver";
+    homepage = http://guvcview.sourceforge.net;
+    maintainers = [ stdenv.lib.maintainers.coconnor ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index b627d664aef..bc83738acc8 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hdparm-9.39";
+  name = "hdparm-9.43";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "1siw9c2hrsck47jr9wpip9n677g31qd34y8whkq9dai68npm1mbj";
+    sha256 = "0amm2s67vzfgs0jv59jgj9pqkr6j9glj1chsj292263i94kr5gib";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/hibernate/default.nix b/pkgs/os-specific/linux/hibernate/default.nix
index 91dc9068103..6c5dd330f65 100644
--- a/pkgs/os-specific/linux/hibernate/default.nix
+++ b/pkgs/os-specific/linux/hibernate/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, gawk }:
 
-let version = "1.98.1";
+let version = "2.0";
 in
   stdenv.mkDerivation rec {
     name = "hibernate-${version}";
     src = fetchurl {
-      url = "http://www.tuxonice.net/downloads/all/hibernate-script-${version}.tar.gz";
-      sha256 = "1xpc2i16jczc3nhvxlkn6fb044srqrh528gnp92cwy4hxf2nzi1z";
+      url = "http://tuxonice.nigelcunningham.com.au/files/hibernate-script-${version}.tar.gz";
+      sha256 = "0ib5bac3spbcwmhf8f9apjbll8x7fgqj4k1s5q3srijh793rfifh";
     };
 
     patches = [ ./install.patch ./gen-manpages.patch ./hibernate.patch ];
@@ -38,7 +38,7 @@ in
 	it into "hibernation".  It works both with Linux swsusp and Tux-on-Ice.
       '';
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
       homepage = http://www.tuxonice.net/;
     };
   }
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index 410fa6a7ad6..a8988f0a452 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -2,11 +2,11 @@
 stdenv.mkDerivation rec {
 
   name = "hostapd-${version}";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchurl {
     url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
-    sha256 = "262ce394b930bccc3d65fb99ee380f28d36444978f524c845a98e8e29f4e9d35";
+    sha256 = "121gpcs1ws7m2v8jk091jhmz3pm2xmhwkv96gqkyb4k0bgsi0waw";
   };
 
   buildInputs = [ libnl openssl pkgconfig ];
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://hostap.epitest.fi;
+    repositories.git = git://w1.fi/hostap.git;
     description = "A user space daemon for access point and authentication servers";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
diff --git a/pkgs/os-specific/linux/htop/default.nix b/pkgs/os-specific/linux/htop/default.nix
index 613adb5f5d2..d35b5340e9d 100644
--- a/pkgs/os-specific/linux/htop/default.nix
+++ b/pkgs/os-specific/linux/htop/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "htop-1.0.2";
+  name = "htop-1.0.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/htop/${name}.tar.gz";
-    sha256 = "18fqrhvnm7h4c3939av8lpiwrwxbyw6hcly0jvq0vkjf0ixnaq7f";
+    url = "http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz";
+    sha256 = "0a8qbpsifzjwc4f45xfwm48jhm59g6q5hlib4bf7z13mgy95fp05";
   };
 
   buildInputs = [ ncurses ];
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "An interactive process viewer for Linux";
     homepage = "http://htop.sourceforge.net";
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.rob stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers; [ rob simons relrod ];
   };
 }
diff --git a/pkgs/os-specific/linux/hwdata/builder.sh b/pkgs/os-specific/linux/hwdata/builder.sh
deleted file mode 100644
index 50d11477324..00000000000
--- a/pkgs/os-specific/linux/hwdata/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-export DESTDIR=$out
-
-genericBuild
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 4c0a46f460c..325a44f97aa 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -1,10 +1,21 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "hwdata-0.172";
-  builder = ./builder.sh;
+  name = "hwdata-0.249";
+
   src = fetchurl {
-    url = ftp://ftp.nluug.nl/pub/os/Linux/distr/debian/pool/main/h/hwdata/hwdata_0.172.orig.tar.gz;
-    md5 = "1c6b7f4dfe489f881702176c5f8e5a2e";
+    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-0.249-1.tar.bz2";
+    sha256 = "1ak3h3psg3wk9yk0dqnzdzik3jadzja3ah22vjfmf71p3b5xc8ai";
+  };
+
+  preConfigure = "patchShebangs ./configure";
+
+  configureFlags = "--datadir=$(prefix)/data";
+
+  meta = {
+    homepage = "https://fedorahosted.org/hwdata/";
+    description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/i7z/default.nix b/pkgs/os-specific/linux/i7z/default.nix
index 33ac05aef47..1fe1f48f4ef 100644
--- a/pkgs/os-specific/linux/i7z/default.nix
+++ b/pkgs/os-specific/linux/i7z/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/sbin
+    mkdir -p $out/sbin
     make install prefix=$out
     install -Dm755 GUI/i7z_GUI $out/sbin/i7z-gui
   '';
@@ -29,8 +29,7 @@ stdenv.mkDerivation rec {
     description = "A better i7 (and now i3, i5) reporting tool for Linux";
     homepage = http://code.google.com/p/i7z;
     repositories.git = https://github.com/ajaiantilal/i7z.git;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
   };
 }
-
diff --git a/pkgs/os-specific/linux/i810switch/default.nix b/pkgs/os-specific/linux/i810switch/default.nix
index 63a056712ac..00f27a43e65 100644
--- a/pkgs/os-specific/linux/i810switch/default.nix
+++ b/pkgs/os-specific/linux/i810switch/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
   meta = {
     description = "A utility for switching between the LCD and external VGA display on Intel graphics cards";
     homepage = "http://www16.plala.or.jp/mano-a-mano/i810switch.html";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/ifenslave/default.nix b/pkgs/os-specific/linux/ifenslave/default.nix
new file mode 100644
index 00000000000..d8985003b41
--- /dev/null
+++ b/pkgs/os-specific/linux/ifenslave/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "ifenslave-${version}";
+  version = "1.1.0";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/i/ifenslave-2.6/ifenslave-2.6_${version}.orig.tar.gz";
+    sha256 = "0h9hrmy19zdksl7ys250r158b943ihbgkb95n8p4k8l0vqsby5vr";
+  };
+
+  buildPhase = ''
+    gcc -o ifenslave ifenslave.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a ifenslave $out/bin
+  '';
+
+  meta = {
+    description = "Utility for enslaving networking interfaces under a bond";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/iomelt/default.nix b/pkgs/os-specific/linux/iomelt/default.nix
new file mode 100644
index 00000000000..fccf7b6b1cd
--- /dev/null
+++ b/pkgs/os-specific/linux/iomelt/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchurl }:
+
+let version = "0.7";
+in stdenv.mkDerivation {
+  name = "iomelt-${version}";
+  src = fetchurl {
+    url = "http://iomelt.com/s/iomelt-${version}.tar.gz";
+    sha256 = "1jhrdm5b7f1bcbrdwcc4yzg26790jxl4d2ndqiwd9brl2g5537im";
+  };
+
+  preBuild = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+
+    substituteInPlace Makefile \
+      --replace /usr $out
+  '';
+
+  meta = with lib; {
+    description = "A simple yet effective way to benchmark disk IO in Linux systems";
+    homepage    = http://www.iomelt.com;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/os-specific/linux/iotop/default.nix b/pkgs/os-specific/linux/iotop/default.nix
index 8e181d3d5cf..7481edeee7b 100644
--- a/pkgs/os-specific/linux/iotop/default.nix
+++ b/pkgs/os-specific/linux/iotop/default.nix
@@ -11,12 +11,6 @@ buildPythonPackage rec {
 
   pythonPath = [ pythonPackages.curses ];
 
-  postInstall =
-    ''
-      # Put the man page in the right place.
-      mv $out/lib/python*/site-packages/iotop-*/share $out
-    '';
-
   doCheck = false;
 
   meta = {
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 4ea4152e30d..2cfbc2a1df1 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, flex, bison, db4, iptables, pkgconfig }:
+{ fetchurl, stdenv, flex, bison, db, iptables, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-3.8.0";
+  name = "iproute2-3.12.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "0kqy30wz2krbg4y7750hjq5218hgy2vj9pm5qzkn1bqskxs4b4ap";
+    sha256 = "04gi11gh087bg2nlxhj0lxrk8l9qxkpr88nsiil23917bm3h1xj4";
   };
 
-  patches = [ ./vpnc.patch ./no-werror.patch ];
+  patch = [ "vpnc.patch" ];
 
   preConfigure =
     ''
@@ -16,13 +16,11 @@ stdenv.mkDerivation rec {
       sed -e '/ARPDDIR/d' -i Makefile
     '';
 
-  postConfigure = "cat Config";
-
   makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin"
     + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}"
     + " MANDIR=$(out)/share/man";
 
-  buildInputs = [ db4 iptables ];
+  buildInputs = [ db iptables ];
   nativeBuildInputs = [ bison flex pkgconfig ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/iproute/no-werror.patch b/pkgs/os-specific/linux/iproute/no-werror.patch
deleted file mode 100644
index 593b56b8de0..00000000000
--- a/pkgs/os-specific/linux/iproute/no-werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ubr iproute2-3.8.0-orig/Makefile iproute2-3.8.0/Makefile
---- iproute2-3.8.0-orig/Makefile	2013-04-06 00:03:21.072827860 +0200
-+++ iproute2-3.8.0/Makefile	2013-04-06 00:03:25.353837862 +0200
-@@ -30,7 +30,7 @@
- HOSTCC = gcc
- DEFINES += -D_GNU_SOURCE
- CCOPTS = -O2
--WFLAGS := -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes
-+WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes
- WFLAGS += -Wmissing-declarations -Wold-style-definition
- 
- CFLAGS = $(WFLAGS) $(CCOPTS) -I../include $(DEFINES)
diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix
index b28320c0625..6a42784d1f0 100644
--- a/pkgs/os-specific/linux/ipsec-tools/default.nix
+++ b/pkgs/os-specific/linux/ipsec-tools/default.nix
@@ -7,17 +7,20 @@
 # the time being.
 
 stdenv.mkDerivation rec {
-  name = "ipsec-tools-0.8.1";
+  name = "ipsec-tools-0.8.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/ipsec-tools/${name}.tar.bz2";
-    sha256 = "1m1x2planqqxi0587g7d8xhy0gkyfaxs3ry4hhdh0bw46sxrajps";
+    sha256 = "0b9gfbz78k2nj0k7jdlm5kajig628ja9qm0z5yksiwz22s3v7dlf";
   };
 
   buildInputs = [ readline openssl flex krb5 pam ];
 
   patches = [ ./dont-create-localstatedir-during-install.patch ];
 
+  # fix build with newer gcc versions
+  preConfigure = ''substituteInPlace configure --replace "-Werror" "" '';
+
   configureFlags = ''
     --sysconfdir=/etc --localstatedir=/var
     --with-kernel-headers=${linuxHeaders}/include
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 78d8ee52fb1..0e022e0c4a1 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -1,24 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "iptables-1.4.16.2";
+  name = "iptables-1.4.21";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
-    md5 = "57220bb26866a713073e5614f88071fc";
+    sha256 = "1q6kg7sf0pgpq0qhab6sywl23cngxxfzc9zdzscsba8x09l4q02j";
   };
 
-  # Install header files required by miniupnpd.
-  postInstall =
-    ''
-      cp include/iptables.h $out/include
-      cp include/libiptc/libiptc.h include/libiptc/ipt_kernel_headers.h $out/include/libiptc
-      mkdir $out/include/iptables
-      cp include/iptables/internal.h $out/include/iptables
-      mkdir $out/include/net
-      cp -prd include/net/netfilter $out/include/net/netfilter
-      mkdir $out/include/linux
-    '';
+  configureFlags = ''
+    --enable-devel
+    --enable-shared
+  '';
 
   meta = {
     description = "A program to configure the Linux IP packet filtering ruleset";
diff --git a/pkgs/os-specific/linux/iscsitarget/default.nix b/pkgs/os-specific/linux/iscsitarget/default.nix
deleted file mode 100644
index e07409aa08d..00000000000
--- a/pkgs/os-specific/linux/iscsitarget/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, kernelDev, module_init_tools}:
-
-stdenv.mkDerivation rec {
-  name = "iscsitarget-1.4.20.2-${kernelDev.version}";
-  
-  src = fetchurl {
-    url = "mirror://sourceforge/iscsitarget/iscsitarget/1.4.20.2/${name}.tar.gz";
-    sha256 = "126kp0yc7vmvdbaw2xfav89340b0h91dvvyib5qbvyrq40n8wg0g";
-  };
-  
-  KSRC = "${kernelDev}/lib/modules/*/build";
-  
-  DESTDIR = "$(out)";
-  
-  preConfigure = ''
-    export PATH=$PATH:${module_init_tools}/sbin
-    sed -i 's|/usr/|/|' Makefile
-  '';
-  
-  buildInputs = [ module_init_tools ];
-  
-  meta = {
-    description = "iSCSI Enterprise Target (IET), software for building an iSCSI storage system on Linux";
-    license = "GPLv2+";
-    homepage = http://iscsitarget.sourceforge.net;
-  };
-}
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ac8d4824c62..ab01231f334 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/os-specific/linux/iw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libnl, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "iw-3.10";
+  name = "iw-3.14";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/iw/${name}.tar.xz";
-    sha256 = "1sagsrl2s0d3ar3q2yc5qxk2d47zgn551akwcs9f4a5prw9f4vj5";
+    sha256 = "16fr13cl02702d9yjqlgvnxvpv0w0mqn0acba39iwn2lln5b4747";
   };
 
   buildInputs = [ libnl pkgconfig ];
diff --git a/pkgs/os-specific/linux/iwlwifi/default.nix b/pkgs/os-specific/linux/iwlwifi/default.nix
deleted file mode 100644
index 1a28720f004..00000000000
--- a/pkgs/os-specific/linux/iwlwifi/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{stdenv, fetchurl, kernelDev}:
-
-let version = "1.2.25"; in
-
-stdenv.mkDerivation rec {
-  name = "iwlwifi-${version}-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-${version}.tgz";
-    sha256 = "09fjy0swcyd77fdp8x2825wj5cd73hwbzl8mz9sy2ha21p1qwq1d";
-  };
-
-  preBuild = ''
-    substituteInPlace scripts/generate_compatible \
-      --replace '/usr/bin/env /bin/bash' $shell
-    substituteInPlace Makefile \
-      --replace /sbin/depmod true
-
-    # Urgh, we need the complete kernel sources for some header
-    # files.  So unpack the original kernel source tarball and copy
-    # the configured include directory etc. on top of it.
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
-    kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernelDev.src}
-    kernelSource=$(echo $(pwd)/linux-*)
-    cp -prd $kernelBuild/* $kernelSource
-
-    makeFlags=KSRC=$kernelSource
-    make $makeFlags || true
-    make $makeFlags
-
-    installFlags=KMISC=$out/lib/modules/$kernelVersion/misc
-  ''; # */
-
-  meta = {
-    description = "Intel Wireless WiFi Link drivers for Linux";
-    homepage = http://www.intellinuxwireless.org/;
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/os-specific/linux/jujuutils/default.nix b/pkgs/os-specific/linux/jujuutils/default.nix
index 7c688943ea8..a47b59e9e56 100644
--- a/pkgs/os-specific/linux/jujuutils/default.nix
+++ b/pkgs/os-specific/linux/jujuutils/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://code.google.com/p/jujuutils/";
     description = "Utilities around FireWire devices connected to a Linux computer";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
deleted file mode 100644
index 1ba03010f8a..00000000000
--- a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{stdenv, fetchurl, perl, cross ? null}:
-
-assert cross == null -> stdenv.isLinux;
-
-let version = "2.6.28.5"; in
-
-stdenv.mkDerivation {
-  name = "linux-headers-${version}";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-    sha256 = "0hifjh75sinifr5138v22zwbpqln6lhn65k8b57a1dyzlqca7cl9";
-  };
-
-  targetConfig = if cross != null then cross.config else null;
-
-  platform =
-    if cross != null then cross.arch else
-    if stdenv.system == "i686-linux" then "i386" else
-    if stdenv.system == "x86_64-linux" then "x86_64" else
-    if stdenv.system == "powerpc-linux" then "powerpc" else
-    if stdenv.isArm then "arm" else
-    if stdenv.system == "mips64el-linux" then "mips" else
-    abort "don't know what the kernel include directory is called for this platform";
-
-  buildInputs = [perl];
-
-  extraIncludeDirs =
-    if cross != null then
-	(if cross.arch == "powerpc" then ["ppc"] else [])
-    else if stdenv.system == "powerpc-linux" then ["ppc"] else [];
-
-  patchPhase = ''
-    patch --verbose -p1 < "${./unifdef-getline.patch}"
-    sed -i '/scsi/d' include/Kbuild
-    sed -i 's|/ %/: prepare scripts FORCE|%/: prepare scripts FORCE|' Makefile
-  '';
-
-  buildPhase = ''
-    if test -n "$targetConfig"; then
-       export ARCH=$platform
-    fi
-    make mrproper headers_check
-  '';
-
-  installPhase = ''
-    make INSTALL_HDR_PATH=$out headers_install
-
-    # Some builds (e.g. KVM) want a kernel.release.
-    mkdir -p $out/include/config
-    echo "${version}-default" > $out/include/config/kernel.release
-  '';
-
-  # !!! hacky
-  fixupPhase = ''
-    ln -s asm $out/include/asm-$platform
-    if test "$platform" = "i386" -o "$platform" = "x86_64"; then
-      ln -s asm $out/include/asm-x86
-    fi
-  '';
-}
diff --git a/pkgs/os-specific/linux/kernel-headers/3.14.nix b/pkgs/os-specific/linux/kernel-headers/3.14.nix
new file mode 100644
index 00000000000..d9d0ce7e3b3
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel-headers/3.14.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, perl, cross ? null }:
+
+assert cross == null -> stdenv.isLinux;
+
+let
+
+  version = "3.14.1";
+
+  kernelHeadersBaseConfig =
+    if cross == null
+    then stdenv.platform.kernelHeadersBaseConfig
+    else cross.platform.kernelHeadersBaseConfig;
+
+in
+
+stdenv.mkDerivation {
+  name = "linux-headers-${version}";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "1njm8gvlj7cq0m1051yxszl4f63383a7sv1na13hkqkv36kipgqx";
+  };
+
+  targetConfig = if cross != null then cross.config else null;
+
+  platform =
+    if cross != null then cross.platform.kernelArch else
+    if stdenv.system == "i686-linux" then "i386" else
+    if stdenv.system == "x86_64-linux" then "x86_64" else
+    if stdenv.system == "powerpc-linux" then "powerpc" else
+    if stdenv.isArm then "arm" else
+    if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else
+    abort "don't know what the kernel include directory is called for this platform";
+
+  buildInputs = [perl];
+
+  extraIncludeDirs =
+    if cross != null then
+        (if cross.arch == "powerpc" then ["ppc"] else [])
+    else if stdenv.system == "powerpc-linux" then ["ppc"] else [];
+
+  buildPhase = ''
+    if test -n "$targetConfig"; then
+       export ARCH=$platform
+    fi
+    make ${kernelHeadersBaseConfig} SHELL=bash
+    make mrproper headers_check SHELL=bash
+  '';
+
+  installPhase = ''
+    make INSTALL_HDR_PATH=$out headers_install
+
+    # Some builds (e.g. KVM) want a kernel.release.
+    mkdir -p $out/include/config
+    echo "${version}-default" > $out/include/config/kernel.release
+  '';
+
+  # !!! hacky
+  fixupPhase = ''
+    ln -s asm $out/include/asm-$platform
+    if test "$platform" = "i386" -o "$platform" = "x86_64"; then
+      ln -s asm $out/include/asm-x86
+    fi
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Header files and scripts for Linux kernel";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel-headers/3.7.nix b/pkgs/os-specific/linux/kernel-headers/3.7.nix
index 4371bf7df9c..e6fbf9bb9bc 100644
--- a/pkgs/os-specific/linux/kernel-headers/3.7.nix
+++ b/pkgs/os-specific/linux/kernel-headers/3.7.nix
@@ -62,4 +62,10 @@ stdenv.mkDerivation {
       ln -s asm $out/include/asm-x86
     fi
   '';
+
+  meta = with stdenv.lib; {
+    description = "Header files and scripts for Linux kernel";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
new file mode 100644
index 00000000000..e4ce1945705
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, kernel, perl }:
+
+let
+  baseBuildFlags = [ "INSTALL_HDR_PATH=$(out)" "headers_install" ];
+in stdenv.mkDerivation {
+  name = "linux-headers-${kernel.version}";
+
+  inherit (kernel) src patches;
+
+  nativeBuildInputs = [ perl ];
+
+  buildFlags = [ "ARCH=${stdenv.platform.kernelArch}" ] ++ baseBuildFlags;
+
+  crossAttrs = {
+    inherit (kernel.crossDrv) src patches;
+    buildFlags = [ "ARCH=${stdenv.cross.platform.kernelArch}" ] ++ baseBuildFlags;
+  };
+
+  installPhase = ''
+    find $out \( -name ..install.cmd -o -name .install \) -print0 | xargs -0 rm
+  '';
+
+  # Headers shouldn't reference anything else
+  allowedReferences = [];
+}
diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
new file mode 100644
index 00000000000..b411f43298c
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
@@ -0,0 +1,553 @@
+From 125fccb600288968aa3395883c0a394c47176fcd Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Wed, 10 Aug 2011 22:02:39 -0700
+Subject: [PATCH 1/3] AppArmor: compatibility patch for v5 network controll
+
+Add compatibility for v5 network rules.
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+---
+ include/linux/lsm_audit.h          |    4 +
+ security/apparmor/Makefile         |   19 +++-
+ security/apparmor/include/net.h    |   40 +++++++++
+ security/apparmor/include/policy.h |    3 +
+ security/apparmor/lsm.c            |  112 ++++++++++++++++++++++++
+ security/apparmor/net.c            |  170 ++++++++++++++++++++++++++++++++++++
+ security/apparmor/policy.c         |    1 +
+ security/apparmor/policy_unpack.c  |   48 +++++++++-
+ 8 files changed, 394 insertions(+), 3 deletions(-)
+ create mode 100644 security/apparmor/include/net.h
+ create mode 100644 security/apparmor/net.c
+
+diff --git a/include/linux/lsm_audit.h b/include/linux/lsm_audit.h
+index 88e78de..c63979a 100644
+--- a/include/linux/lsm_audit.h
++++ b/include/linux/lsm_audit.h
+@@ -124,6 +124,10 @@ struct common_audit_data {
+ 					u32 denied;
+ 					uid_t ouid;
+ 				} fs;
++				struct {
++					int type, protocol;
++					struct sock *sk;
++				} net;
+ 			};
+ 		} apparmor_audit_data;
+ #endif
+diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
+index 2dafe50..7cefef9 100644
+--- a/security/apparmor/Makefile
++++ b/security/apparmor/Makefile
+@@ -4,9 +4,9 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o
+ 
+ apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \
+               path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \
+-              resource.o sid.o file.o
++              resource.o sid.o file.o net.o
+ 
+-clean-files := capability_names.h rlim_names.h
++clean-files := capability_names.h rlim_names.h af_names.h
+ 
+ 
+ # Build a lower case string table of capability names
+@@ -44,9 +44,24 @@ cmd_make-rlim = echo "static const char *rlim_names[] = {" > $@ ;\
+ 	sed -r -n "s/^\# ?define[ \t]+(RLIMIT_[A-Z0-9_]+).*/\1,/p" $< >> $@ ;\
+ 	echo "};" >> $@
+ 
++# Build a lower case string table of address family names.
++# Transform lines from
++# #define AF_INET		2	/* Internet IP Protocol 	*/
++# to
++# [2] = "inet",
++quiet_cmd_make-af = GEN     $@
++cmd_make-af = echo "static const char *address_family_names[] = {" > $@ ;\
++	sed $< >> $@ -r -n -e "/AF_MAX/d" -e "/AF_LOCAL/d" -e \
++	  's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+).*/[\2] = "\L\1",/p';\
++	echo "};" >> $@
++
++
+ $(obj)/capability.o : $(obj)/capability_names.h
+ $(obj)/resource.o : $(obj)/rlim_names.h
++$(obj)/net.o : $(obj)/af_names.h
+ $(obj)/capability_names.h : $(srctree)/include/linux/capability.h
+ 	$(call cmd,make-caps)
+ $(obj)/rlim_names.h : $(srctree)/include/asm-generic/resource.h
+ 	$(call cmd,make-rlim)
++$(obj)/af_names.h : $(srctree)/include/linux/socket.h
++	$(call cmd,make-af)
+\ No newline at end of file
+diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
+new file mode 100644
+index 0000000..3c7d599
+--- /dev/null
++++ b/security/apparmor/include/net.h
+@@ -0,0 +1,40 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor network mediation definitions.
++ *
++ * Copyright (C) 1998-2008 Novell/SUSE
++ * Copyright 2009-2010 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ */
++
++#ifndef __AA_NET_H
++#define __AA_NET_H
++
++#include <net/sock.h>
++
++/* struct aa_net - network confinement data
++ * @allowed: basic network families permissions
++ * @audit_network: which network permissions to force audit
++ * @quiet_network: which network permissions to quiet rejects
++ */
++struct aa_net {
++	u16 allow[AF_MAX];
++	u16 audit[AF_MAX];
++	u16 quiet[AF_MAX];
++};
++
++extern int aa_net_perm(int op, struct aa_profile *profile, u16 family,
++		       int type, int protocol, struct sock *sk);
++extern int aa_revalidate_sk(int op, struct sock *sk);
++
++static inline void aa_free_net_rules(struct aa_net *new)
++{
++	/* NOP */
++}
++
++#endif /* __AA_NET_H */
+diff --git a/security/apparmor/include/policy.h b/security/apparmor/include/policy.h
+index aeda5cf..6776929 100644
+--- a/security/apparmor/include/policy.h
++++ b/security/apparmor/include/policy.h
+@@ -27,6 +27,7 @@
+ #include "capability.h"
+ #include "domain.h"
+ #include "file.h"
++#include "net.h"
+ #include "resource.h"
+ 
+ extern const char *profile_mode_names[];
+@@ -145,6 +146,7 @@ struct aa_namespace {
+  * @size: the memory consumed by this profiles rules
+  * @file: The set of rules governing basic file access and domain transitions
+  * @caps: capabilities for the profile
++ * @net: network controls for the profile
+  * @rlimits: rlimits for the profile
+  *
+  * The AppArmor profile contains the basic confinement data.  Each profile
+@@ -181,6 +183,7 @@ struct aa_profile {
+ 
+ 	struct aa_file_rules file;
+ 	struct aa_caps caps;
++	struct aa_net net;
+ 	struct aa_rlimit rlimits;
+ };
+ 
+diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
+index 3783202..7459547 100644
+--- a/security/apparmor/lsm.c
++++ b/security/apparmor/lsm.c
+@@ -32,6 +32,7 @@
+ #include "include/context.h"
+ #include "include/file.h"
+ #include "include/ipc.h"
++#include "include/net.h"
+ #include "include/path.h"
+ #include "include/policy.h"
+ #include "include/procattr.h"
+@@ -621,6 +622,104 @@ static int apparmor_task_setrlimit(struct task_struct *task,
+ 	return error;
+ }
+ 
++static int apparmor_socket_create(int family, int type, int protocol, int kern)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	if (kern)
++		return 0;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile))
++		error = aa_net_perm(OP_CREATE, profile, family, type, protocol,
++				    NULL);
++	return error;
++}
++
++static int apparmor_socket_bind(struct socket *sock,
++				struct sockaddr *address, int addrlen)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_BIND, sk);
++}
++
++static int apparmor_socket_connect(struct socket *sock,
++				   struct sockaddr *address, int addrlen)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_CONNECT, sk);
++}
++
++static int apparmor_socket_listen(struct socket *sock, int backlog)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_LISTEN, sk);
++}
++
++static int apparmor_socket_accept(struct socket *sock, struct socket *newsock)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_ACCEPT, sk);
++}
++
++static int apparmor_socket_sendmsg(struct socket *sock,
++				   struct msghdr *msg, int size)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_SENDMSG, sk);
++}
++
++static int apparmor_socket_recvmsg(struct socket *sock,
++				   struct msghdr *msg, int size, int flags)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_RECVMSG, sk);
++}
++
++static int apparmor_socket_getsockname(struct socket *sock)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_GETSOCKNAME, sk);
++}
++
++static int apparmor_socket_getpeername(struct socket *sock)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_GETPEERNAME, sk);
++}
++
++static int apparmor_socket_getsockopt(struct socket *sock, int level,
++				      int optname)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_GETSOCKOPT, sk);
++}
++
++static int apparmor_socket_setsockopt(struct socket *sock, int level,
++				      int optname)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_SETSOCKOPT, sk);
++}
++
++static int apparmor_socket_shutdown(struct socket *sock, int how)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk);
++}
++
+ static struct security_operations apparmor_ops = {
+ 	.name =				"apparmor",
+ 
+@@ -652,6 +751,19 @@ static struct security_operations apparmor_ops = {
+ 	.getprocattr =			apparmor_getprocattr,
+ 	.setprocattr =			apparmor_setprocattr,
+ 
++	.socket_create =		apparmor_socket_create,
++	.socket_bind =			apparmor_socket_bind,
++	.socket_connect =		apparmor_socket_connect,
++	.socket_listen =		apparmor_socket_listen,
++	.socket_accept =		apparmor_socket_accept,
++	.socket_sendmsg =		apparmor_socket_sendmsg,
++	.socket_recvmsg =		apparmor_socket_recvmsg,
++	.socket_getsockname =		apparmor_socket_getsockname,
++	.socket_getpeername =		apparmor_socket_getpeername,
++	.socket_getsockopt =		apparmor_socket_getsockopt,
++	.socket_setsockopt =		apparmor_socket_setsockopt,
++	.socket_shutdown =		apparmor_socket_shutdown,
++
+ 	.cred_alloc_blank =		apparmor_cred_alloc_blank,
+ 	.cred_free =			apparmor_cred_free,
+ 	.cred_prepare =			apparmor_cred_prepare,
+diff --git a/security/apparmor/net.c b/security/apparmor/net.c
+new file mode 100644
+index 0000000..1765901
+--- /dev/null
++++ b/security/apparmor/net.c
+@@ -0,0 +1,170 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor network mediation
++ *
++ * Copyright (C) 1998-2008 Novell/SUSE
++ * Copyright 2009-2010 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ */
++
++#include "include/apparmor.h"
++#include "include/audit.h"
++#include "include/context.h"
++#include "include/net.h"
++#include "include/policy.h"
++
++#include "af_names.h"
++
++static const char *sock_type_names[] = {
++	"unknown(0)",
++	"stream",
++	"dgram",
++	"raw",
++	"rdm",
++	"seqpacket",
++	"dccp",
++	"unknown(7)",
++	"unknown(8)",
++	"unknown(9)",
++	"packet",
++};
++
++/* audit callback for net specific fields */
++static void audit_cb(struct audit_buffer *ab, void *va)
++{
++	struct common_audit_data *sa = va;
++
++	audit_log_format(ab, " family=");
++	if (address_family_names[sa->u.net.family]) {
++		audit_log_string(ab, address_family_names[sa->u.net.family]);
++	} else {
++		audit_log_format(ab, " \"unknown(%d)\"", sa->u.net.family);
++	}
++
++	audit_log_format(ab, " sock_type=");
++	if (sock_type_names[sa->aad.net.type]) {
++		audit_log_string(ab, sock_type_names[sa->aad.net.type]);
++	} else {
++		audit_log_format(ab, "\"unknown(%d)\"", sa->aad.net.type);
++	}
++
++	audit_log_format(ab, " protocol=%d", sa->aad.net.protocol);
++}
++
++/**
++ * audit_net - audit network access
++ * @profile: profile being enforced  (NOT NULL)
++ * @op: operation being checked
++ * @family: network family
++ * @type:   network type
++ * @protocol: network protocol
++ * @sk: socket auditing is being applied to
++ * @error: error code for failure else 0
++ *
++ * Returns: %0 or sa->error else other errorcode on failure
++ */
++static int audit_net(struct aa_profile *profile, int op, u16 family, int type,
++		     int protocol, struct sock *sk, int error)
++{
++	int audit_type = AUDIT_APPARMOR_AUTO;
++	struct common_audit_data sa;
++	if (sk) {
++		COMMON_AUDIT_DATA_INIT(&sa, NET);
++	} else {
++		COMMON_AUDIT_DATA_INIT(&sa, NONE);
++	}
++	/* todo fill in socket addr info */
++
++	sa.aad.op = op,
++	sa.u.net.family = family;
++	sa.u.net.sk = sk;
++	sa.aad.net.type = type;
++	sa.aad.net.protocol = protocol;
++	sa.aad.error = error;
++
++	if (likely(!sa.aad.error)) {
++		u16 audit_mask = profile->net.audit[sa.u.net.family];
++		if (likely((AUDIT_MODE(profile) != AUDIT_ALL) &&
++			   !(1 << sa.aad.net.type & audit_mask)))
++			return 0;
++		audit_type = AUDIT_APPARMOR_AUDIT;
++	} else {
++		u16 quiet_mask = profile->net.quiet[sa.u.net.family];
++		u16 kill_mask = 0;
++		u16 denied = (1 << sa.aad.net.type) & ~quiet_mask;
++
++		if (denied & kill_mask)
++			audit_type = AUDIT_APPARMOR_KILL;
++
++		if ((denied & quiet_mask) &&
++		    AUDIT_MODE(profile) != AUDIT_NOQUIET &&
++		    AUDIT_MODE(profile) != AUDIT_ALL)
++			return COMPLAIN_MODE(profile) ? 0 : sa.aad.error;
++	}
++
++	return aa_audit(audit_type, profile, GFP_KERNEL, &sa, audit_cb);
++}
++
++/**
++ * aa_net_perm - very course network access check
++ * @op: operation being checked
++ * @profile: profile being enforced  (NOT NULL)
++ * @family: network family
++ * @type:   network type
++ * @protocol: network protocol
++ *
++ * Returns: %0 else error if permission denied
++ */
++int aa_net_perm(int op, struct aa_profile *profile, u16 family, int type,
++		int protocol, struct sock *sk)
++{
++	u16 family_mask;
++	int error;
++
++	if ((family < 0) || (family >= AF_MAX))
++		return -EINVAL;
++
++	if ((type < 0) || (type >= SOCK_MAX))
++		return -EINVAL;
++
++	/* unix domain and netlink sockets are handled by ipc */
++	if (family == AF_UNIX || family == AF_NETLINK)
++		return 0;
++
++	family_mask = profile->net.allow[family];
++
++	error = (family_mask & (1 << type)) ? 0 : -EACCES;
++
++	return audit_net(profile, op, family, type, protocol, sk, error);
++}
++
++/**
++ * aa_revalidate_sk - Revalidate access to a sock
++ * @op: operation being checked
++ * @sk: sock being revalidated  (NOT NULL)
++ *
++ * Returns: %0 else error if permission denied
++ */
++int aa_revalidate_sk(int op, struct sock *sk)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	/* aa_revalidate_sk should not be called from interrupt context
++	 * don't mediate these calls as they are not task related
++	 */
++	if (in_interrupt())
++		return 0;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile))
++		error = aa_net_perm(op, profile, sk->sk_family, sk->sk_type,
++				    sk->sk_protocol, sk);
++
++	return error;
++}
+diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
+index 4f0eade..4d5ce13 100644
+--- a/security/apparmor/policy.c
++++ b/security/apparmor/policy.c
+@@ -745,6 +745,7 @@ static void free_profile(struct aa_profile *profile)
+ 
+ 	aa_free_file_rules(&profile->file);
+ 	aa_free_cap_rules(&profile->caps);
++	aa_free_net_rules(&profile->net);
+ 	aa_free_rlimit_rules(&profile->rlimits);
+ 
+ 	aa_free_sid(profile->sid);
+diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
+index 741dd13..ee8043e 100644
+--- a/security/apparmor/policy_unpack.c
++++ b/security/apparmor/policy_unpack.c
+@@ -190,6 +190,19 @@ fail:
+ 	return 0;
+ }
+ 
++static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name)
++{
++	if (unpack_nameX(e, AA_U16, name)) {
++		if (!inbounds(e, sizeof(u16)))
++			return 0;
++		if (data)
++			*data = le16_to_cpu(get_unaligned((u16 *) e->pos));
++		e->pos += sizeof(u16);
++		return 1;
++	}
++	return 0;
++}
++
+ static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name)
+ {
+ 	if (unpack_nameX(e, AA_U32, name)) {
+@@ -468,7 +481,8 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
+ {
+ 	struct aa_profile *profile = NULL;
+ 	const char *name = NULL;
+-	int error = -EPROTO;
++	size_t size = 0;
++	int i, error = -EPROTO;
+ 	kernel_cap_t tmpcap;
+ 	u32 tmp;
+ 
+@@ -559,6 +573,38 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
+ 	if (!unpack_rlimits(e, profile))
+ 		goto fail;
+ 
++	size = unpack_array(e, "net_allowed_af");
++	if (size) {
++
++		for (i = 0; i < size; i++) {
++			/* discard extraneous rules that this kernel will
++			 * never request
++			 */
++			if (i >= AF_MAX) {
++				u16 tmp;
++				if (!unpack_u16(e, &tmp, NULL) ||
++				    !unpack_u16(e, &tmp, NULL) ||
++				    !unpack_u16(e, &tmp, NULL))
++					goto fail;
++				continue;
++			}
++			if (!unpack_u16(e, &profile->net.allow[i], NULL))
++				goto fail;
++			if (!unpack_u16(e, &profile->net.audit[i], NULL))
++				goto fail;
++			if (!unpack_u16(e, &profile->net.quiet[i], NULL))
++				goto fail;
++		}
++		if (!unpack_nameX(e, AA_ARRAYEND, NULL))
++			goto fail;
++		/*
++		 * allow unix domain and netlink sockets they are handled
++		 * by IPC
++		 */
++	}
++	profile->net.allow[AF_UNIX] = 0xffff;
++	profile->net.allow[AF_NETLINK] = 0xffff;
++
+ 	/* get file rules */
+ 	profile->file.dfa = unpack_dfa(e);
+ 	if (IS_ERR(profile->file.dfa)) {
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch
new file mode 100644
index 00000000000..aa4b6b1109f
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch
@@ -0,0 +1,391 @@
+From 004192fb5223c7b81a949e36a080a5da56132826 Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Wed, 10 Aug 2011 22:02:40 -0700
+Subject: [PATCH 2/3] AppArmor: compatibility patch for v5 interface
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+---
+ security/apparmor/Kconfig              |    9 +
+ security/apparmor/Makefile             |    1 +
+ security/apparmor/apparmorfs-24.c      |  287 ++++++++++++++++++++++++++++++++
+ security/apparmor/apparmorfs.c         |   18 +-
+ security/apparmor/include/apparmorfs.h |    6 +
+ 5 files changed, 319 insertions(+), 2 deletions(-)
+ create mode 100644 security/apparmor/apparmorfs-24.c
+
+diff --git a/security/apparmor/Kconfig b/security/apparmor/Kconfig
+index 9b9013b..51ebf96 100644
+--- a/security/apparmor/Kconfig
++++ b/security/apparmor/Kconfig
+@@ -29,3 +29,12 @@ config SECURITY_APPARMOR_BOOTPARAM_VALUE
+ 	  boot.
+ 
+ 	  If you are unsure how to answer this question, answer 1.
++
++config SECURITY_APPARMOR_COMPAT_24
++	bool "Enable AppArmor 2.4 compatability"
++	depends on SECURITY_APPARMOR
++	default y
++	help
++	  This option enables compatability with AppArmor 2.4.  It is
++          recommended if compatability with older versions of AppArmor
++          is desired.
+diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
+index 7cefef9..0bb604b 100644
+--- a/security/apparmor/Makefile
++++ b/security/apparmor/Makefile
+@@ -5,6 +5,7 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o
+ apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \
+               path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \
+               resource.o sid.o file.o net.o
++apparmor-$(CONFIG_SECURITY_APPARMOR_COMPAT_24) += apparmorfs-24.o
+ 
+ clean-files := capability_names.h rlim_names.h af_names.h
+ 
+diff --git a/security/apparmor/apparmorfs-24.c b/security/apparmor/apparmorfs-24.c
+new file mode 100644
+index 0000000..dc8c744
+--- /dev/null
++++ b/security/apparmor/apparmorfs-24.c
+@@ -0,0 +1,287 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor /sys/kernel/secrutiy/apparmor interface functions
++ *
++ * Copyright (C) 1998-2008 Novell/SUSE
++ * Copyright 2009-2010 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ *
++ *
++ * This file contain functions providing an interface for <= AppArmor 2.4
++ * compatibility.  It is dependent on CONFIG_SECURITY_APPARMOR_COMPAT_24
++ * being set (see Makefile).
++ */
++
++#include <linux/security.h>
++#include <linux/vmalloc.h>
++#include <linux/module.h>
++#include <linux/seq_file.h>
++#include <linux/uaccess.h>
++#include <linux/namei.h>
++
++#include "include/apparmor.h"
++#include "include/audit.h"
++#include "include/context.h"
++#include "include/policy.h"
++
++
++/* apparmor/matching */
++static ssize_t aa_matching_read(struct file *file, char __user *buf,
++				size_t size, loff_t *ppos)
++{
++	const char matching[] = "pattern=aadfa audit perms=crwxamlk/ "
++	    "user::other";
++
++	return simple_read_from_buffer(buf, size, ppos, matching,
++				       sizeof(matching) - 1);
++}
++
++const struct file_operations aa_fs_matching_fops = {
++	.read = aa_matching_read,
++};
++
++/* apparmor/features */
++static ssize_t aa_features_read(struct file *file, char __user *buf,
++				size_t size, loff_t *ppos)
++{
++	const char features[] = "file=3.1 capability=2.0 network=1.0 "
++	    "change_hat=1.5 change_profile=1.1 " "aanamespaces=1.1 rlimit=1.1";
++
++	return simple_read_from_buffer(buf, size, ppos, features,
++				       sizeof(features) - 1);
++}
++
++const struct file_operations aa_fs_features_fops = {
++	.read = aa_features_read,
++};
++
++/**
++ * __next_namespace - find the next namespace to list
++ * @root: root namespace to stop search at (NOT NULL)
++ * @ns: current ns position (NOT NULL)
++ *
++ * Find the next namespace from @ns under @root and handle all locking needed
++ * while switching current namespace.
++ *
++ * Returns: next namespace or NULL if at last namespace under @root
++ * NOTE: will not unlock root->lock
++ */
++static struct aa_namespace *__next_namespace(struct aa_namespace *root,
++					     struct aa_namespace *ns)
++{
++	struct aa_namespace *parent;
++
++	/* is next namespace a child */
++	if (!list_empty(&ns->sub_ns)) {
++		struct aa_namespace *next;
++		next = list_first_entry(&ns->sub_ns, typeof(*ns), base.list);
++		read_lock(&next->lock);
++		return next;
++	}
++
++	/* check if the next ns is a sibling, parent, gp, .. */
++	parent = ns->parent;
++	while (parent) {
++		read_unlock(&ns->lock);
++		list_for_each_entry_continue(ns, &parent->sub_ns, base.list) {
++			read_lock(&ns->lock);
++			return ns;
++		}
++		if (parent == root)
++			return NULL;
++		ns = parent;
++		parent = parent->parent;
++	}
++
++	return NULL;
++}
++
++/**
++ * __first_profile - find the first profile in a namespace
++ * @root: namespace that is root of profiles being displayed (NOT NULL)
++ * @ns: namespace to start in   (NOT NULL)
++ *
++ * Returns: unrefcounted profile or NULL if no profile
++ */
++static struct aa_profile *__first_profile(struct aa_namespace *root,
++					  struct aa_namespace *ns)
++{
++	for ( ; ns; ns = __next_namespace(root, ns)) {
++		if (!list_empty(&ns->base.profiles))
++			return list_first_entry(&ns->base.profiles,
++						struct aa_profile, base.list);
++	}
++	return NULL;
++}
++
++/**
++ * __next_profile - step to the next profile in a profile tree
++ * @profile: current profile in tree (NOT NULL)
++ *
++ * Perform a depth first taversal on the profile tree in a namespace
++ *
++ * Returns: next profile or NULL if done
++ * Requires: profile->ns.lock to be held
++ */
++static struct aa_profile *__next_profile(struct aa_profile *p)
++{
++	struct aa_profile *parent;
++	struct aa_namespace *ns = p->ns;
++
++	/* is next profile a child */
++	if (!list_empty(&p->base.profiles))
++		return list_first_entry(&p->base.profiles, typeof(*p),
++					base.list);
++
++	/* is next profile a sibling, parent sibling, gp, subling, .. */
++	parent = p->parent;
++	while (parent) {
++		list_for_each_entry_continue(p, &parent->base.profiles,
++					     base.list)
++				return p;
++		p = parent;
++		parent = parent->parent;
++	}
++
++	/* is next another profile in the namespace */
++	list_for_each_entry_continue(p, &ns->base.profiles, base.list)
++		return p;
++
++	return NULL;
++}
++
++/**
++ * next_profile - step to the next profile in where ever it may be
++ * @root: root namespace  (NOT NULL)
++ * @profile: current profile  (NOT NULL)
++ *
++ * Returns: next profile or NULL if there isn't one
++ */
++static struct aa_profile *next_profile(struct aa_namespace *root,
++				       struct aa_profile *profile)
++{
++	struct aa_profile *next = __next_profile(profile);
++	if (next)
++		return next;
++
++	/* finished all profiles in namespace move to next namespace */
++	return __first_profile(root, __next_namespace(root, profile->ns));
++}
++
++/**
++ * p_start - start a depth first traversal of profile tree
++ * @f: seq_file to fill
++ * @pos: current position
++ *
++ * Returns: first profile under current namespace or NULL if none found
++ *
++ * acquires first ns->lock
++ */
++static void *p_start(struct seq_file *f, loff_t *pos)
++	__acquires(root->lock)
++{
++	struct aa_profile *profile = NULL;
++	struct aa_namespace *root = aa_current_profile()->ns;
++	loff_t l = *pos;
++	f->private = aa_get_namespace(root);
++
++
++	/* find the first profile */
++	read_lock(&root->lock);
++	profile = __first_profile(root, root);
++
++	/* skip to position */
++	for (; profile && l > 0; l--)
++		profile = next_profile(root, profile);
++
++	return profile;
++}
++
++/**
++ * p_next - read the next profile entry
++ * @f: seq_file to fill
++ * @p: profile previously returned
++ * @pos: current position
++ *
++ * Returns: next profile after @p or NULL if none
++ *
++ * may acquire/release locks in namespace tree as necessary
++ */
++static void *p_next(struct seq_file *f, void *p, loff_t *pos)
++{
++	struct aa_profile *profile = p;
++	struct aa_namespace *root = f->private;
++	(*pos)++;
++
++	return next_profile(root, profile);
++}
++
++/**
++ * p_stop - stop depth first traversal
++ * @f: seq_file we are filling
++ * @p: the last profile writen
++ *
++ * Release all locking done by p_start/p_next on namespace tree
++ */
++static void p_stop(struct seq_file *f, void *p)
++	__releases(root->lock)
++{
++	struct aa_profile *profile = p;
++	struct aa_namespace *root = f->private, *ns;
++
++	if (profile) {
++		for (ns = profile->ns; ns && ns != root; ns = ns->parent)
++			read_unlock(&ns->lock);
++	}
++	read_unlock(&root->lock);
++	aa_put_namespace(root);
++}
++
++/**
++ * seq_show_profile - show a profile entry
++ * @f: seq_file to file
++ * @p: current position (profile)    (NOT NULL)
++ *
++ * Returns: error on failure
++ */
++static int seq_show_profile(struct seq_file *f, void *p)
++{
++	struct aa_profile *profile = (struct aa_profile *)p;
++	struct aa_namespace *root = f->private;
++
++	if (profile->ns != root)
++		seq_printf(f, ":%s://", aa_ns_name(root, profile->ns));
++	seq_printf(f, "%s (%s)\n", profile->base.hname,
++		   COMPLAIN_MODE(profile) ? "complain" : "enforce");
++
++	return 0;
++}
++
++static const struct seq_operations aa_fs_profiles_op = {
++	.start = p_start,
++	.next = p_next,
++	.stop = p_stop,
++	.show = seq_show_profile,
++};
++
++static int profiles_open(struct inode *inode, struct file *file)
++{
++	return seq_open(file, &aa_fs_profiles_op);
++}
++
++static int profiles_release(struct inode *inode, struct file *file)
++{
++	return seq_release(inode, file);
++}
++
++const struct file_operations aa_fs_profiles_fops = {
++	.open = profiles_open,
++	.read = seq_read,
++	.llseek = seq_lseek,
++	.release = profiles_release,
++};
+diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
+index 69ddb47..867995c 100644
+--- a/security/apparmor/apparmorfs.c
++++ b/security/apparmor/apparmorfs.c
+@@ -187,7 +187,11 @@ void __init aa_destroy_aafs(void)
+ 		aafs_remove(".remove");
+ 		aafs_remove(".replace");
+ 		aafs_remove(".load");
+-
++#ifdef CONFIG_SECURITY_APPARMOR_COMPAT_24
++		aafs_remove("profiles");
++		aafs_remove("matching");
++		aafs_remove("features");
++#endif
+ 		securityfs_remove(aa_fs_dentry);
+ 		aa_fs_dentry = NULL;
+ 	}
+@@ -218,7 +222,17 @@ static int __init aa_create_aafs(void)
+ 		aa_fs_dentry = NULL;
+ 		goto error;
+ 	}
+-
++#ifdef CONFIG_SECURITY_APPARMOR_COMPAT_24
++	error = aafs_create("matching", 0444, &aa_fs_matching_fops);
++	if (error)
++		goto error;
++	error = aafs_create("features", 0444, &aa_fs_features_fops);
++	if (error)
++		goto error;
++#endif
++	error = aafs_create("profiles", 0440, &aa_fs_profiles_fops);
++	if (error)
++		goto error;
+ 	error = aafs_create(".load", 0640, &aa_fs_profile_load);
+ 	if (error)
+ 		goto error;
+diff --git a/security/apparmor/include/apparmorfs.h b/security/apparmor/include/apparmorfs.h
+index cb1e93a..14f955c 100644
+--- a/security/apparmor/include/apparmorfs.h
++++ b/security/apparmor/include/apparmorfs.h
+@@ -17,4 +17,10 @@
+ 
+ extern void __init aa_destroy_aafs(void);
+ 
++#ifdef CONFIG_SECURITY_APPARMOR_COMPAT_24
++extern const struct file_operations aa_fs_matching_fops;
++extern const struct file_operations aa_fs_features_fops;
++extern const struct file_operations aa_fs_profiles_fops;
++#endif
++
+ #endif /* __AA_APPARMORFS_H */
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch
new file mode 100644
index 00000000000..7dd55781fda
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch
@@ -0,0 +1,69 @@
+From e5d90918aa31f948ecec2f3c088567dbab30c90b Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Wed, 10 Aug 2011 22:02:41 -0700
+Subject: [PATCH 3/3] AppArmor: Allow dfa backward compatibility with broken
+ userspace
+
+The apparmor_parser when compiling policy could generate invalid dfas
+that did not have sufficient padding to avoid invalid references, when
+used by the kernel.  The kernels check to verify the next/check table
+size was broken meaning invalid dfas were being created by userspace
+and not caught.
+
+To remain compatible with old tools that are not fixed, pad the loaded
+dfas next/check table.  The dfa's themselves are valid except for the
+high padding for potentially invalid transitions (high bounds error),
+which have a maximimum is 256 entries.  So just allocate an extra null filled
+256 entries for the next/check tables.  This will guarentee all bounds
+are good and invalid transitions go to the null (0) state.
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+---
+ security/apparmor/match.c |   17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/security/apparmor/match.c b/security/apparmor/match.c
+index 94de6b4..081491e 100644
+--- a/security/apparmor/match.c
++++ b/security/apparmor/match.c
+@@ -57,8 +57,17 @@ static struct table_header *unpack_table(char *blob, size_t bsize)
+ 	if (bsize < tsize)
+ 		goto out;
+ 
++	/* Pad table allocation for next/check by 256 entries to remain
++	 * backwards compatible with old (buggy) tools and remain safe without
++	 * run time checks
++	 */
++	if (th.td_id == YYTD_ID_NXT || th.td_id == YYTD_ID_CHK)
++		tsize += 256 * th.td_flags;
++
+ 	table = kvmalloc(tsize);
+ 	if (table) {
++		/* ensure the pad is clear, else there will be errors */
++		memset(table, 0, tsize);
+ 		*table = th;
+ 		if (th.td_flags == YYTD_DATA8)
+ 			UNPACK_ARRAY(table->td_data, blob, th.td_lolen,
+@@ -134,11 +143,19 @@ static int verify_dfa(struct aa_dfa *dfa, int flags)
+ 		goto out;
+ 
+ 	if (flags & DFA_FLAG_VERIFY_STATES) {
++		int warning = 0;
+ 		for (i = 0; i < state_count; i++) {
+ 			if (DEFAULT_TABLE(dfa)[i] >= state_count)
+ 				goto out;
+ 			/* TODO: do check that DEF state recursion terminates */
+ 			if (BASE_TABLE(dfa)[i] + 255 >= trans_count) {
++				if (warning)
++					continue;
++				printk(KERN_WARNING "AppArmor DFA next/check "
++				       "upper bounds error fixed, upgrade "
++				       "user space tools \n");
++				warning = 1;
++			} else if (BASE_TABLE(dfa)[i] >= trans_count) {
+ 				printk(KERN_ERR "AppArmor DFA next/check upper "
+ 				       "bounds error\n");
+ 				goto out;
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch
new file mode 100644
index 00000000000..88a50ca780a
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch
@@ -0,0 +1,264 @@
+From 8de755e4dfdbc40bfcaca848ae6b5aeaf0ede0e8 Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Thu, 22 Jul 2010 02:32:02 -0700
+Subject: [PATCH 1/3] UBUNTU: SAUCE: AppArmor: Add profile introspection file
+ to interface
+
+Add the dynamic profiles file to the interace, to allow load policy
+introspection.
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+Acked-by: Kees Cook <kees@ubuntu.com>
+Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
+---
+ security/apparmor/apparmorfs.c |  227 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 227 insertions(+)
+
+diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
+index 16c15ec..89bdc62 100644
+--- a/security/apparmor/apparmorfs.c
++++ b/security/apparmor/apparmorfs.c
+@@ -182,6 +182,232 @@ const struct file_operations aa_fs_seq_file_ops = {
+ 	.release	= single_release,
+ };
+ 
++/**
++ * __next_namespace - find the next namespace to list
++ * @root: root namespace to stop search at (NOT NULL)
++ * @ns: current ns position (NOT NULL)
++ *
++ * Find the next namespace from @ns under @root and handle all locking needed
++ * while switching current namespace.
++ *
++ * Returns: next namespace or NULL if at last namespace under @root
++ * NOTE: will not unlock root->lock
++ */
++static struct aa_namespace *__next_namespace(struct aa_namespace *root,
++					     struct aa_namespace *ns)
++{
++	struct aa_namespace *parent;
++
++	/* is next namespace a child */
++	if (!list_empty(&ns->sub_ns)) {
++		struct aa_namespace *next;
++		next = list_first_entry(&ns->sub_ns, typeof(*ns), base.list);
++		read_lock(&next->lock);
++		return next;
++	}
++
++	/* check if the next ns is a sibling, parent, gp, .. */
++	parent = ns->parent;
++	while (parent) {
++		read_unlock(&ns->lock);
++		list_for_each_entry_continue(ns, &parent->sub_ns, base.list) {
++			read_lock(&ns->lock);
++			return ns;
++		}
++		if (parent == root)
++			return NULL;
++		ns = parent;
++		parent = parent->parent;
++	}
++
++	return NULL;
++}
++
++/**
++ * __first_profile - find the first profile in a namespace
++ * @root: namespace that is root of profiles being displayed (NOT NULL)
++ * @ns: namespace to start in   (NOT NULL)
++ *
++ * Returns: unrefcounted profile or NULL if no profile
++ */
++static struct aa_profile *__first_profile(struct aa_namespace *root,
++					  struct aa_namespace *ns)
++{
++	for ( ; ns; ns = __next_namespace(root, ns)) {
++		if (!list_empty(&ns->base.profiles))
++			return list_first_entry(&ns->base.profiles,
++						struct aa_profile, base.list);
++	}
++	return NULL;
++}
++
++/**
++ * __next_profile - step to the next profile in a profile tree
++ * @profile: current profile in tree (NOT NULL)
++ *
++ * Perform a depth first taversal on the profile tree in a namespace
++ *
++ * Returns: next profile or NULL if done
++ * Requires: profile->ns.lock to be held
++ */
++static struct aa_profile *__next_profile(struct aa_profile *p)
++{
++	struct aa_profile *parent;
++	struct aa_namespace *ns = p->ns;
++
++	/* is next profile a child */
++	if (!list_empty(&p->base.profiles))
++		return list_first_entry(&p->base.profiles, typeof(*p),
++					base.list);
++
++	/* is next profile a sibling, parent sibling, gp, subling, .. */
++	parent = p->parent;
++	while (parent) {
++		list_for_each_entry_continue(p, &parent->base.profiles,
++					     base.list)
++				return p;
++		p = parent;
++		parent = parent->parent;
++	}
++
++	/* is next another profile in the namespace */
++	list_for_each_entry_continue(p, &ns->base.profiles, base.list)
++		return p;
++
++	return NULL;
++}
++
++/**
++ * next_profile - step to the next profile in where ever it may be
++ * @root: root namespace  (NOT NULL)
++ * @profile: current profile  (NOT NULL)
++ *
++ * Returns: next profile or NULL if there isn't one
++ */
++static struct aa_profile *next_profile(struct aa_namespace *root,
++				       struct aa_profile *profile)
++{
++	struct aa_profile *next = __next_profile(profile);
++	if (next)
++		return next;
++
++	/* finished all profiles in namespace move to next namespace */
++	return __first_profile(root, __next_namespace(root, profile->ns));
++}
++
++/**
++ * p_start - start a depth first traversal of profile tree
++ * @f: seq_file to fill
++ * @pos: current position
++ *
++ * Returns: first profile under current namespace or NULL if none found
++ *
++ * acquires first ns->lock
++ */
++static void *p_start(struct seq_file *f, loff_t *pos)
++	__acquires(root->lock)
++{
++	struct aa_profile *profile = NULL;
++	struct aa_namespace *root = aa_current_profile()->ns;
++	loff_t l = *pos;
++	f->private = aa_get_namespace(root);
++
++
++	/* find the first profile */
++	read_lock(&root->lock);
++	profile = __first_profile(root, root);
++
++	/* skip to position */
++	for (; profile && l > 0; l--)
++		profile = next_profile(root, profile);
++
++	return profile;
++}
++
++/**
++ * p_next - read the next profile entry
++ * @f: seq_file to fill
++ * @p: profile previously returned
++ * @pos: current position
++ *
++ * Returns: next profile after @p or NULL if none
++ *
++ * may acquire/release locks in namespace tree as necessary
++ */
++static void *p_next(struct seq_file *f, void *p, loff_t *pos)
++{
++	struct aa_profile *profile = p;
++	struct aa_namespace *root = f->private;
++	(*pos)++;
++
++	return next_profile(root, profile);
++}
++
++/**
++ * p_stop - stop depth first traversal
++ * @f: seq_file we are filling
++ * @p: the last profile writen
++ *
++ * Release all locking done by p_start/p_next on namespace tree
++ */
++static void p_stop(struct seq_file *f, void *p)
++	__releases(root->lock)
++{
++	struct aa_profile *profile = p;
++	struct aa_namespace *root = f->private, *ns;
++
++	if (profile) {
++		for (ns = profile->ns; ns && ns != root; ns = ns->parent)
++			read_unlock(&ns->lock);
++	}
++	read_unlock(&root->lock);
++	aa_put_namespace(root);
++}
++
++/**
++ * seq_show_profile - show a profile entry
++ * @f: seq_file to file
++ * @p: current position (profile)    (NOT NULL)
++ *
++ * Returns: error on failure
++ */
++static int seq_show_profile(struct seq_file *f, void *p)
++{
++	struct aa_profile *profile = (struct aa_profile *)p;
++	struct aa_namespace *root = f->private;
++
++	if (profile->ns != root)
++		seq_printf(f, ":%s://", aa_ns_name(root, profile->ns));
++	seq_printf(f, "%s (%s)\n", profile->base.hname,
++		   COMPLAIN_MODE(profile) ? "complain" : "enforce");
++
++	return 0;
++}
++
++static const struct seq_operations aa_fs_profiles_op = {
++	.start = p_start,
++	.next = p_next,
++	.stop = p_stop,
++	.show = seq_show_profile,
++};
++
++static int profiles_open(struct inode *inode, struct file *file)
++{
++	return seq_open(file, &aa_fs_profiles_op);
++}
++
++static int profiles_release(struct inode *inode, struct file *file)
++{
++	return seq_release(inode, file);
++}
++
++const struct file_operations aa_fs_profiles_fops = {
++	.open = profiles_open,
++	.read = seq_read,
++	.llseek = seq_lseek,
++	.release = profiles_release,
++};
++
+ /** Base file system setup **/
+ 
+ static struct aa_fs_entry aa_fs_entry_file[] = {
+@@ -210,6 +436,7 @@ static struct aa_fs_entry aa_fs_entry_apparmor[] = {
+ 	AA_FS_FILE_FOPS(".load", 0640, &aa_fs_profile_load),
+ 	AA_FS_FILE_FOPS(".replace", 0640, &aa_fs_profile_replace),
+ 	AA_FS_FILE_FOPS(".remove", 0640, &aa_fs_profile_remove),
++	AA_FS_FILE_FOPS("profiles", 0640, &aa_fs_profiles_fops),
+ 	AA_FS_DIR("features", aa_fs_entry_features),
+ 	{ }
+ };
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch
new file mode 100644
index 00000000000..01316b9db78
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch
@@ -0,0 +1,603 @@
+From 423e2cb454d75d6185eecd0c1b5cf6ccc2d8482d Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Mon, 4 Oct 2010 15:03:36 -0700
+Subject: [PATCH 2/3] UBUNTU: SAUCE: AppArmor: basic networking rules
+
+Base support for network mediation.
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+---
+ security/apparmor/.gitignore       |    2 +-
+ security/apparmor/Makefile         |   42 +++++++++-
+ security/apparmor/apparmorfs.c     |    1 +
+ security/apparmor/include/audit.h  |    4 +
+ security/apparmor/include/net.h    |   44 ++++++++++
+ security/apparmor/include/policy.h |    3 +
+ security/apparmor/lsm.c            |  112 +++++++++++++++++++++++++
+ security/apparmor/net.c            |  162 ++++++++++++++++++++++++++++++++++++
+ security/apparmor/policy.c         |    1 +
+ security/apparmor/policy_unpack.c  |   46 ++++++++++
+ 10 files changed, 414 insertions(+), 3 deletions(-)
+ create mode 100644 security/apparmor/include/net.h
+ create mode 100644 security/apparmor/net.c
+
+diff --git a/security/apparmor/.gitignore b/security/apparmor/.gitignore
+index 4d995ae..d5b291e 100644
+--- a/security/apparmor/.gitignore
++++ b/security/apparmor/.gitignore
+@@ -1,6 +1,6 @@
+ #
+ # Generated include files
+ #
+-af_names.h
++net_names.h
+ capability_names.h
+ rlim_names.h
+diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
+index 806bd19..19daa85 100644
+--- a/security/apparmor/Makefile
++++ b/security/apparmor/Makefile
+@@ -4,9 +4,9 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o
+ 
+ apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \
+               path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \
+-              resource.o sid.o file.o
++              resource.o sid.o file.o net.o
+ 
+-clean-files := capability_names.h rlim_names.h
++clean-files := capability_names.h rlim_names.h net_names.h
+ 
+ 
+ # Build a lower case string table of capability names
+@@ -20,6 +20,38 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\
+ 	-e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\
+ 	echo "};" >> $@
+ 
++# Build a lower case string table of address family names
++# Transform lines from
++#    define AF_LOCAL	1	/* POSIX name for AF_UNIX	*/
++#    #define AF_INET		2	/* Internet IP Protocol 	*/
++# to
++#    [1] = "local",
++#    [2] = "inet",
++#
++# and build the securityfs entries for the mapping.
++# Transforms lines from
++#    #define AF_INET		2	/* Internet IP Protocol 	*/
++# to
++#    #define AA_FS_AF_MASK "local inet"
++quiet_cmd_make-af = GEN     $@
++cmd_make-af = echo "static const char *address_family_names[] = {" > $@ ;\
++	sed $< >>$@ -r -n -e "/AF_MAX/d" -e "/AF_LOCAL/d" -e \
++	 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+)(.*)/[\2] = "\L\1",/p';\
++	echo "};" >> $@ ;\
++	echo -n '\#define AA_FS_AF_MASK "' >> $@ ;\
++	sed -r -n 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+)(.*)/\L\1/p'\
++	 $< | tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
++
++# Build a lower case string table of sock type names
++# Transform lines from
++#    SOCK_STREAM	= 1,
++# to
++#    [1] = "stream",
++quiet_cmd_make-sock = GEN     $@
++cmd_make-sock = echo "static const char *sock_type_names[] = {" >> $@ ;\
++	sed $^ >>$@ -r -n \
++	-e 's/^\tSOCK_([A-Z0-9_]+)[\t]+=[ \t]+([0-9]+)(.*)/[\2] = "\L\1",/p';\
++	echo "};" >> $@
+ 
+ # Build a lower case string table of rlimit names.
+ # Transforms lines from
+@@ -56,6 +88,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \
+ 	    tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
+ 
+ $(obj)/capability.o : $(obj)/capability_names.h
++$(obj)/net.o : $(obj)/net_names.h
+ $(obj)/resource.o : $(obj)/rlim_names.h
+ $(obj)/capability_names.h : $(srctree)/include/linux/capability.h \
+ 			    $(src)/Makefile
+@@ -63,3 +96,8 @@ $(obj)/capability_names.h : $(srctree)/include/linux/capability.h \
+ $(obj)/rlim_names.h : $(srctree)/include/asm-generic/resource.h \
+ 		      $(src)/Makefile
+ 	$(call cmd,make-rlim)
++$(obj)/net_names.h : $(srctree)/include/linux/socket.h \
++		     $(srctree)/include/linux/net.h \
++		     $(src)/Makefile
++	$(call cmd,make-af)
++	$(call cmd,make-sock)
+diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
+index 89bdc62..c66315d 100644
+--- a/security/apparmor/apparmorfs.c
++++ b/security/apparmor/apparmorfs.c
+@@ -427,6 +427,7 @@ static struct aa_fs_entry aa_fs_entry_domain[] = {
+ static struct aa_fs_entry aa_fs_entry_features[] = {
+ 	AA_FS_DIR("domain",			aa_fs_entry_domain),
+ 	AA_FS_DIR("file",			aa_fs_entry_file),
++	AA_FS_DIR("network",                    aa_fs_entry_network),
+ 	AA_FS_FILE_U64("capability",		VFS_CAP_FLAGS_MASK),
+ 	AA_FS_DIR("rlimit",			aa_fs_entry_rlimit),
+ 	{ }
+diff --git a/security/apparmor/include/audit.h b/security/apparmor/include/audit.h
+index 3868b1e..c1ff09c 100644
+--- a/security/apparmor/include/audit.h
++++ b/security/apparmor/include/audit.h
+@@ -126,6 +126,10 @@ struct apparmor_audit_data {
+ 			u32 denied;
+ 			uid_t ouid;
+ 		} fs;
++		struct {
++			int type, protocol;
++			struct sock *sk;
++		} net;
+ 	};
+ };
+ 
+diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
+new file mode 100644
+index 0000000..cb8a121
+--- /dev/null
++++ b/security/apparmor/include/net.h
+@@ -0,0 +1,44 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor network mediation definitions.
++ *
++ * Copyright (C) 1998-2008 Novell/SUSE
++ * Copyright 2009-2012 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ */
++
++#ifndef __AA_NET_H
++#define __AA_NET_H
++
++#include <net/sock.h>
++
++#include "apparmorfs.h"
++
++/* struct aa_net - network confinement data
++ * @allowed: basic network families permissions
++ * @audit_network: which network permissions to force audit
++ * @quiet_network: which network permissions to quiet rejects
++ */
++struct aa_net {
++	u16 allow[AF_MAX];
++	u16 audit[AF_MAX];
++	u16 quiet[AF_MAX];
++};
++
++extern struct aa_fs_entry aa_fs_entry_network[];
++
++extern int aa_net_perm(int op, struct aa_profile *profile, u16 family,
++		       int type, int protocol, struct sock *sk);
++extern int aa_revalidate_sk(int op, struct sock *sk);
++
++static inline void aa_free_net_rules(struct aa_net *new)
++{
++	/* NOP */
++}
++
++#endif /* __AA_NET_H */
+diff --git a/security/apparmor/include/policy.h b/security/apparmor/include/policy.h
+index bda4569..eb13a73 100644
+--- a/security/apparmor/include/policy.h
++++ b/security/apparmor/include/policy.h
+@@ -27,6 +27,7 @@
+ #include "capability.h"
+ #include "domain.h"
+ #include "file.h"
++#include "net.h"
+ #include "resource.h"
+ 
+ extern const char *const profile_mode_names[];
+@@ -157,6 +158,7 @@ struct aa_policydb {
+  * @policy: general match rules governing policy
+  * @file: The set of rules governing basic file access and domain transitions
+  * @caps: capabilities for the profile
++ * @net: network controls for the profile
+  * @rlimits: rlimits for the profile
+  *
+  * The AppArmor profile contains the basic confinement data.  Each profile
+@@ -194,6 +196,7 @@ struct aa_profile {
+ 	struct aa_policydb policy;
+ 	struct aa_file_rules file;
+ 	struct aa_caps caps;
++	struct aa_net net;
+ 	struct aa_rlimit rlimits;
+ };
+ 
+diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
+index ad05d39..3cde194 100644
+--- a/security/apparmor/lsm.c
++++ b/security/apparmor/lsm.c
+@@ -32,6 +32,7 @@
+ #include "include/context.h"
+ #include "include/file.h"
+ #include "include/ipc.h"
++#include "include/net.h"
+ #include "include/path.h"
+ #include "include/policy.h"
+ #include "include/procattr.h"
+@@ -622,6 +623,104 @@ static int apparmor_task_setrlimit(struct task_struct *task,
+ 	return error;
+ }
+ 
++static int apparmor_socket_create(int family, int type, int protocol, int kern)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	if (kern)
++		return 0;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile))
++		error = aa_net_perm(OP_CREATE, profile, family, type, protocol,
++				    NULL);
++	return error;
++}
++
++static int apparmor_socket_bind(struct socket *sock,
++				struct sockaddr *address, int addrlen)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_BIND, sk);
++}
++
++static int apparmor_socket_connect(struct socket *sock,
++				   struct sockaddr *address, int addrlen)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_CONNECT, sk);
++}
++
++static int apparmor_socket_listen(struct socket *sock, int backlog)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_LISTEN, sk);
++}
++
++static int apparmor_socket_accept(struct socket *sock, struct socket *newsock)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_ACCEPT, sk);
++}
++
++static int apparmor_socket_sendmsg(struct socket *sock,
++				   struct msghdr *msg, int size)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_SENDMSG, sk);
++}
++
++static int apparmor_socket_recvmsg(struct socket *sock,
++				   struct msghdr *msg, int size, int flags)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_RECVMSG, sk);
++}
++
++static int apparmor_socket_getsockname(struct socket *sock)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_GETSOCKNAME, sk);
++}
++
++static int apparmor_socket_getpeername(struct socket *sock)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_GETPEERNAME, sk);
++}
++
++static int apparmor_socket_getsockopt(struct socket *sock, int level,
++				      int optname)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_GETSOCKOPT, sk);
++}
++
++static int apparmor_socket_setsockopt(struct socket *sock, int level,
++				      int optname)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_SETSOCKOPT, sk);
++}
++
++static int apparmor_socket_shutdown(struct socket *sock, int how)
++{
++	struct sock *sk = sock->sk;
++
++	return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk);
++}
++
+ static struct security_operations apparmor_ops = {
+ 	.name =				"apparmor",
+ 
+@@ -653,6 +752,19 @@ static struct security_operations apparmor_ops = {
+ 	.getprocattr =			apparmor_getprocattr,
+ 	.setprocattr =			apparmor_setprocattr,
+ 
++	.socket_create =		apparmor_socket_create,
++	.socket_bind =			apparmor_socket_bind,
++	.socket_connect =		apparmor_socket_connect,
++	.socket_listen =		apparmor_socket_listen,
++	.socket_accept =		apparmor_socket_accept,
++	.socket_sendmsg =		apparmor_socket_sendmsg,
++	.socket_recvmsg =		apparmor_socket_recvmsg,
++	.socket_getsockname =		apparmor_socket_getsockname,
++	.socket_getpeername =		apparmor_socket_getpeername,
++	.socket_getsockopt =		apparmor_socket_getsockopt,
++	.socket_setsockopt =		apparmor_socket_setsockopt,
++	.socket_shutdown =		apparmor_socket_shutdown,
++
+ 	.cred_alloc_blank =		apparmor_cred_alloc_blank,
+ 	.cred_free =			apparmor_cred_free,
+ 	.cred_prepare =			apparmor_cred_prepare,
+diff --git a/security/apparmor/net.c b/security/apparmor/net.c
+new file mode 100644
+index 0000000..084232b
+--- /dev/null
++++ b/security/apparmor/net.c
+@@ -0,0 +1,162 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor network mediation
++ *
++ * Copyright (C) 1998-2008 Novell/SUSE
++ * Copyright 2009-2012 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ */
++
++#include "include/apparmor.h"
++#include "include/audit.h"
++#include "include/context.h"
++#include "include/net.h"
++#include "include/policy.h"
++
++#include "net_names.h"
++
++struct aa_fs_entry aa_fs_entry_network[] = {
++	AA_FS_FILE_STRING("af_mask", AA_FS_AF_MASK),
++	{ }
++};
++
++/* audit callback for net specific fields */
++static void audit_cb(struct audit_buffer *ab, void *va)
++{
++	struct common_audit_data *sa = va;
++
++	audit_log_format(ab, " family=");
++	if (address_family_names[sa->u.net->family]) {
++		audit_log_string(ab, address_family_names[sa->u.net->family]);
++	} else {
++		audit_log_format(ab, "\"unknown(%d)\"", sa->u.net->family);
++	}
++	audit_log_format(ab, " sock_type=");
++	if (sock_type_names[sa->aad->net.type]) {
++		audit_log_string(ab, sock_type_names[sa->aad->net.type]);
++	} else {
++		audit_log_format(ab, "\"unknown(%d)\"", sa->aad->net.type);
++	}
++	audit_log_format(ab, " protocol=%d", sa->aad->net.protocol);
++}
++
++/**
++ * audit_net - audit network access
++ * @profile: profile being enforced  (NOT NULL)
++ * @op: operation being checked
++ * @family: network family
++ * @type:   network type
++ * @protocol: network protocol
++ * @sk: socket auditing is being applied to
++ * @error: error code for failure else 0
++ *
++ * Returns: %0 or sa->error else other errorcode on failure
++ */
++static int audit_net(struct aa_profile *profile, int op, u16 family, int type,
++		     int protocol, struct sock *sk, int error)
++{
++	int audit_type = AUDIT_APPARMOR_AUTO;
++	struct common_audit_data sa;
++	struct apparmor_audit_data aad = { };
++	struct lsm_network_audit net = { };
++	if (sk) {
++		COMMON_AUDIT_DATA_INIT(&sa, NET);
++	} else {
++		COMMON_AUDIT_DATA_INIT(&sa, NONE);
++	}
++	/* todo fill in socket addr info */
++	sa.aad = &aad;
++	sa.u.net = &net;
++	sa.aad->op = op,
++	sa.u.net->family = family;
++	sa.u.net->sk = sk;
++	sa.aad->net.type = type;
++	sa.aad->net.protocol = protocol;
++	sa.aad->error = error;
++
++	if (likely(!sa.aad->error)) {
++		u16 audit_mask = profile->net.audit[sa.u.net->family];
++		if (likely((AUDIT_MODE(profile) != AUDIT_ALL) &&
++			   !(1 << sa.aad->net.type & audit_mask)))
++			return 0;
++		audit_type = AUDIT_APPARMOR_AUDIT;
++	} else {
++		u16 quiet_mask = profile->net.quiet[sa.u.net->family];
++		u16 kill_mask = 0;
++		u16 denied = (1 << sa.aad->net.type) & ~quiet_mask;
++
++		if (denied & kill_mask)
++			audit_type = AUDIT_APPARMOR_KILL;
++
++		if ((denied & quiet_mask) &&
++		    AUDIT_MODE(profile) != AUDIT_NOQUIET &&
++		    AUDIT_MODE(profile) != AUDIT_ALL)
++			return COMPLAIN_MODE(profile) ? 0 : sa.aad->error;
++	}
++
++	return aa_audit(audit_type, profile, GFP_KERNEL, &sa, audit_cb);
++}
++
++/**
++ * aa_net_perm - very course network access check
++ * @op: operation being checked
++ * @profile: profile being enforced  (NOT NULL)
++ * @family: network family
++ * @type:   network type
++ * @protocol: network protocol
++ *
++ * Returns: %0 else error if permission denied
++ */
++int aa_net_perm(int op, struct aa_profile *profile, u16 family, int type,
++		int protocol, struct sock *sk)
++{
++	u16 family_mask;
++	int error;
++
++	if ((family < 0) || (family >= AF_MAX))
++		return -EINVAL;
++
++	if ((type < 0) || (type >= SOCK_MAX))
++		return -EINVAL;
++
++	/* unix domain and netlink sockets are handled by ipc */
++	if (family == AF_UNIX || family == AF_NETLINK)
++		return 0;
++
++	family_mask = profile->net.allow[family];
++
++	error = (family_mask & (1 << type)) ? 0 : -EACCES;
++
++	return audit_net(profile, op, family, type, protocol, sk, error);
++}
++
++/**
++ * aa_revalidate_sk - Revalidate access to a sock
++ * @op: operation being checked
++ * @sk: sock being revalidated  (NOT NULL)
++ *
++ * Returns: %0 else error if permission denied
++ */
++int aa_revalidate_sk(int op, struct sock *sk)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	/* aa_revalidate_sk should not be called from interrupt context
++	 * don't mediate these calls as they are not task related
++	 */
++	if (in_interrupt())
++		return 0;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile))
++		error = aa_net_perm(op, profile, sk->sk_family, sk->sk_type,
++				    sk->sk_protocol, sk);
++
++	return error;
++}
+diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
+index f1f7506..b8100a7 100644
+--- a/security/apparmor/policy.c
++++ b/security/apparmor/policy.c
+@@ -745,6 +745,7 @@ static void free_profile(struct aa_profile *profile)
+ 
+ 	aa_free_file_rules(&profile->file);
+ 	aa_free_cap_rules(&profile->caps);
++	aa_free_net_rules(&profile->net);
+ 	aa_free_rlimit_rules(&profile->rlimits);
+ 
+ 	aa_free_sid(profile->sid);
+diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
+index deab7c7..8f8e9c1 100644
+--- a/security/apparmor/policy_unpack.c
++++ b/security/apparmor/policy_unpack.c
+@@ -193,6 +193,19 @@ fail:
+ 	return 0;
+ }
+ 
++static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name)
++{
++	if (unpack_nameX(e, AA_U16, name)) {
++		if (!inbounds(e, sizeof(u16)))
++			return 0;
++		if (data)
++			*data = le16_to_cpu(get_unaligned((u16 *) e->pos));
++		e->pos += sizeof(u16);
++		return 1;
++	}
++	return 0;
++}
++
+ static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name)
+ {
+ 	if (unpack_nameX(e, AA_U32, name)) {
+@@ -471,6 +484,7 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
+ {
+ 	struct aa_profile *profile = NULL;
+ 	const char *name = NULL;
++	size_t size = 0;
+ 	int i, error = -EPROTO;
+ 	kernel_cap_t tmpcap;
+ 	u32 tmp;
+@@ -564,6 +578,38 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
+ 	if (!unpack_rlimits(e, profile))
+ 		goto fail;
+ 
++	size = unpack_array(e, "net_allowed_af");
++	if (size) {
++
++		for (i = 0; i < size; i++) {
++			/* discard extraneous rules that this kernel will
++			 * never request
++			 */
++			if (i >= AF_MAX) {
++				u16 tmp;
++				if (!unpack_u16(e, &tmp, NULL) ||
++				    !unpack_u16(e, &tmp, NULL) ||
++				    !unpack_u16(e, &tmp, NULL))
++					goto fail;
++				continue;
++			}
++			if (!unpack_u16(e, &profile->net.allow[i], NULL))
++				goto fail;
++			if (!unpack_u16(e, &profile->net.audit[i], NULL))
++				goto fail;
++			if (!unpack_u16(e, &profile->net.quiet[i], NULL))
++				goto fail;
++		}
++		if (!unpack_nameX(e, AA_ARRAYEND, NULL))
++			goto fail;
++	}
++	/*
++	 * allow unix domain and netlink sockets they are handled
++	 * by IPC
++	 */
++	profile->net.allow[AF_UNIX] = 0xffff;
++	profile->net.allow[AF_NETLINK] = 0xffff;
++
+ 	if (unpack_nameX(e, AA_STRUCT, "policydb")) {
+ 		/* generic policy dfa - optional and may be NULL */
+ 		profile->policy.dfa = unpack_dfa(e);
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch
new file mode 100644
index 00000000000..48b34343e0b
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch
@@ -0,0 +1,957 @@
+From a94d5e11c0484af59e5feebf144cc48c186892ad Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Wed, 16 May 2012 10:58:05 -0700
+Subject: [PATCH 3/3] UBUNTU: SAUCE: apparmor: Add the ability to mediate
+ mount
+
+Add the ability for apparmor to do mediation of mount operations. Mount
+rules require an updated apparmor_parser (2.8 series) for policy compilation.
+
+The basic form of the rules are.
+
+  [audit] [deny] mount [conds]* [device] [ -> [conds] path],
+  [audit] [deny] remount [conds]* [path],
+  [audit] [deny] umount [conds]* [path],
+  [audit] [deny] pivotroot [oldroot=<value>] <path>
+
+  remount is just a short cut for mount options=remount
+
+  where [conds] can be
+    fstype=<expr>
+    options=<expr>
+
+Example mount commands
+  mount,		# allow all mounts, but not umount or pivotroot
+
+  mount fstype=procfs,  # allow mounting procfs anywhere
+
+  mount options=(bind, ro) /foo -> /bar,  # readonly bind mount
+
+  mount /dev/sda -> /mnt,
+
+  mount /dev/sd** -> /mnt/**,
+
+  mount fstype=overlayfs options=(rw,upperdir=/tmp/upper/,lowerdir=/) -> /mnt/
+
+  umount,
+
+  umount /m*,
+
+See the apparmor userspace for full documentation
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+Acked-by: Kees Cook <kees@ubuntu.com>
+---
+ security/apparmor/Makefile           |    2 +-
+ security/apparmor/apparmorfs.c       |   13 +
+ security/apparmor/audit.c            |    4 +
+ security/apparmor/domain.c           |    2 +-
+ security/apparmor/include/apparmor.h |    3 +-
+ security/apparmor/include/audit.h    |   11 +
+ security/apparmor/include/domain.h   |    2 +
+ security/apparmor/include/mount.h    |   54 +++
+ security/apparmor/lsm.c              |   59 ++++
+ security/apparmor/mount.c            |  620 ++++++++++++++++++++++++++++++++++
+ 10 files changed, 767 insertions(+), 3 deletions(-)
+ create mode 100644 security/apparmor/include/mount.h
+ create mode 100644 security/apparmor/mount.c
+
+diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
+index 19daa85..63e0a4c 100644
+--- a/security/apparmor/Makefile
++++ b/security/apparmor/Makefile
+@@ -4,7 +4,7 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o
+ 
+ apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \
+               path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \
+-              resource.o sid.o file.o net.o
++              resource.o sid.o file.o net.o mount.o
+ 
+ clean-files := capability_names.h rlim_names.h net_names.h
+ 
+diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
+index c66315d..ff19009 100644
+--- a/security/apparmor/apparmorfs.c
++++ b/security/apparmor/apparmorfs.c
+@@ -424,10 +424,23 @@ static struct aa_fs_entry aa_fs_entry_domain[] = {
+ 	{ }
+ };
+ 
++static struct aa_fs_entry aa_fs_entry_mount[] = {
++	AA_FS_FILE_STRING("mask", "mount umount"),
++	{ }
++};
++
++static struct aa_fs_entry aa_fs_entry_namespaces[] = {
++	AA_FS_FILE_BOOLEAN("profile",           1),
++	AA_FS_FILE_BOOLEAN("pivot_root",        1),
++	{ }
++};
++
+ static struct aa_fs_entry aa_fs_entry_features[] = {
+ 	AA_FS_DIR("domain",			aa_fs_entry_domain),
+ 	AA_FS_DIR("file",			aa_fs_entry_file),
+ 	AA_FS_DIR("network",                    aa_fs_entry_network),
++	AA_FS_DIR("mount",                      aa_fs_entry_mount),
++	AA_FS_DIR("namespaces",                 aa_fs_entry_namespaces),
+ 	AA_FS_FILE_U64("capability",		VFS_CAP_FLAGS_MASK),
+ 	AA_FS_DIR("rlimit",			aa_fs_entry_rlimit),
+ 	{ }
+diff --git a/security/apparmor/audit.c b/security/apparmor/audit.c
+index cc3520d..b9f5ee9 100644
+--- a/security/apparmor/audit.c
++++ b/security/apparmor/audit.c
+@@ -44,6 +44,10 @@ const char *const op_table[] = {
+ 	"file_mmap",
+ 	"file_mprotect",
+ 
++	"pivotroot",
++	"mount",
++	"umount",
++
+ 	"create",
+ 	"post_create",
+ 	"bind",
+diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c
+index 6327685..dfdc47b 100644
+--- a/security/apparmor/domain.c
++++ b/security/apparmor/domain.c
+@@ -242,7 +242,7 @@ static const char *next_name(int xtype, const char *name)
+  *
+  * Returns: refcounted profile, or NULL on failure (MAYBE NULL)
+  */
+-static struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex)
++struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex)
+ {
+ 	struct aa_profile *new_profile = NULL;
+ 	struct aa_namespace *ns = profile->ns;
+diff --git a/security/apparmor/include/apparmor.h b/security/apparmor/include/apparmor.h
+index 40aedd9..e243d96 100644
+--- a/security/apparmor/include/apparmor.h
++++ b/security/apparmor/include/apparmor.h
+@@ -29,8 +29,9 @@
+ #define AA_CLASS_NET		4
+ #define AA_CLASS_RLIMITS	5
+ #define AA_CLASS_DOMAIN		6
++#define AA_CLASS_MOUNT		7
+ 
+-#define AA_CLASS_LAST		AA_CLASS_DOMAIN
++#define AA_CLASS_LAST		AA_CLASS_MOUNT
+ 
+ /* Control parameters settable through module/boot flags */
+ extern enum audit_mode aa_g_audit;
+diff --git a/security/apparmor/include/audit.h b/security/apparmor/include/audit.h
+index c1ff09c..7b90900c 100644
+--- a/security/apparmor/include/audit.h
++++ b/security/apparmor/include/audit.h
+@@ -73,6 +73,10 @@ enum aa_ops {
+ 	OP_FMMAP,
+ 	OP_FMPROT,
+ 
++	OP_PIVOTROOT,
++	OP_MOUNT,
++	OP_UMOUNT,
++
+ 	OP_CREATE,
+ 	OP_POST_CREATE,
+ 	OP_BIND,
+@@ -121,6 +125,13 @@ struct apparmor_audit_data {
+ 			unsigned long max;
+ 		} rlim;
+ 		struct {
++			const char *src_name;
++			const char *type;
++			const char *trans;
++			const char *data;
++			unsigned long flags;
++		} mnt;
++		struct {
+ 			const char *target;
+ 			u32 request;
+ 			u32 denied;
+diff --git a/security/apparmor/include/domain.h b/security/apparmor/include/domain.h
+index de04464..a3f70c5 100644
+--- a/security/apparmor/include/domain.h
++++ b/security/apparmor/include/domain.h
+@@ -23,6 +23,8 @@ struct aa_domain {
+ 	char **table;
+ };
+ 
++struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex);
++
+ int apparmor_bprm_set_creds(struct linux_binprm *bprm);
+ int apparmor_bprm_secureexec(struct linux_binprm *bprm);
+ void apparmor_bprm_committing_creds(struct linux_binprm *bprm);
+diff --git a/security/apparmor/include/mount.h b/security/apparmor/include/mount.h
+new file mode 100644
+index 0000000..bc17a53
+--- /dev/null
++++ b/security/apparmor/include/mount.h
+@@ -0,0 +1,54 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor file mediation function definitions.
++ *
++ * Copyright 2012 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ */
++
++#ifndef __AA_MOUNT_H
++#define __AA_MOUNT_H
++
++#include <linux/fs.h>
++#include <linux/path.h>
++
++#include "domain.h"
++#include "policy.h"
++
++/* mount perms */
++#define AA_MAY_PIVOTROOT	0x01
++#define AA_MAY_MOUNT		0x02
++#define AA_MAY_UMOUNT		0x04
++#define AA_AUDIT_DATA		0x40
++#define AA_CONT_MATCH		0x40
++
++#define AA_MS_IGNORE_MASK (MS_KERNMOUNT | MS_NOSEC | MS_ACTIVE | MS_BORN)
++
++int aa_remount(struct aa_profile *profile, struct path *path,
++	       unsigned long flags, void *data);
++
++int aa_bind_mount(struct aa_profile *profile, struct path *path,
++		  const char *old_name, unsigned long flags);
++
++
++int aa_mount_change_type(struct aa_profile *profile, struct path *path,
++			 unsigned long flags);
++
++int aa_move_mount(struct aa_profile *profile, struct path *path,
++		  const char *old_name);
++
++int aa_new_mount(struct aa_profile *profile, const char *dev_name,
++		 struct path *path, const char *type, unsigned long flags,
++		 void *data);
++
++int aa_umount(struct aa_profile *profile, struct vfsmount *mnt, int flags);
++
++int aa_pivotroot(struct aa_profile *profile, struct path *old_path,
++		  struct path *new_path);
++
++#endif /* __AA_MOUNT_H */
+diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
+index 3cde194..4512cc6 100644
+--- a/security/apparmor/lsm.c
++++ b/security/apparmor/lsm.c
+@@ -36,6 +36,7 @@
+ #include "include/path.h"
+ #include "include/policy.h"
+ #include "include/procattr.h"
++#include "include/mount.h"
+ 
+ /* Flag indicating whether initialization completed */
+ int apparmor_initialized __initdata;
+@@ -512,6 +513,60 @@ static int apparmor_file_mprotect(struct vm_area_struct *vma,
+ 			   !(vma->vm_flags & VM_SHARED) ? MAP_PRIVATE : 0);
+ }
+ 
++static int apparmor_sb_mount(char *dev_name, struct path *path, char *type,
++			     unsigned long flags, void *data)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	/* Discard magic */
++	if ((flags & MS_MGC_MSK) == MS_MGC_VAL)
++		flags &= ~MS_MGC_MSK;
++
++	flags &= ~AA_MS_IGNORE_MASK;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile)) {
++		if (flags & MS_REMOUNT)
++			error = aa_remount(profile, path, flags, data);
++		else if (flags & MS_BIND)
++			error = aa_bind_mount(profile, path, dev_name, flags);
++		else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE |
++				  MS_UNBINDABLE))
++			error = aa_mount_change_type(profile, path, flags);
++		else if (flags & MS_MOVE)
++			error = aa_move_mount(profile, path, dev_name);
++		else
++			error = aa_new_mount(profile, dev_name, path, type,
++					     flags, data);
++	}
++	return error;
++}
++
++static int apparmor_sb_umount(struct vfsmount *mnt, int flags)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile))
++		error = aa_umount(profile, mnt, flags);
++
++	return error;
++}
++
++static int apparmor_sb_pivotroot(struct path *old_path, struct path *new_path)
++{
++	struct aa_profile *profile;
++	int error = 0;
++
++	profile = __aa_current_profile();
++	if (!unconfined(profile))
++		error = aa_pivotroot(profile, old_path, new_path);
++
++	return error;
++}
++
+ static int apparmor_getprocattr(struct task_struct *task, char *name,
+ 				char **value)
+ {
+@@ -729,6 +784,10 @@ static struct security_operations apparmor_ops = {
+ 	.capget =			apparmor_capget,
+ 	.capable =			apparmor_capable,
+ 
++	.sb_mount =			apparmor_sb_mount,
++	.sb_umount =			apparmor_sb_umount,
++	.sb_pivotroot =			apparmor_sb_pivotroot,
++
+ 	.path_link =			apparmor_path_link,
+ 	.path_unlink =			apparmor_path_unlink,
+ 	.path_symlink =			apparmor_path_symlink,
+diff --git a/security/apparmor/mount.c b/security/apparmor/mount.c
+new file mode 100644
+index 0000000..63d8493
+--- /dev/null
++++ b/security/apparmor/mount.c
+@@ -0,0 +1,620 @@
++/*
++ * AppArmor security module
++ *
++ * This file contains AppArmor mediation of files
++ *
++ * Copyright (C) 1998-2008 Novell/SUSE
++ * Copyright 2009-2012 Canonical Ltd.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation, version 2 of the
++ * License.
++ */
++
++#include <linux/fs.h>
++#include <linux/mount.h>
++#include <linux/namei.h>
++
++#include "include/apparmor.h"
++#include "include/audit.h"
++#include "include/context.h"
++#include "include/domain.h"
++#include "include/file.h"
++#include "include/match.h"
++#include "include/mount.h"
++#include "include/path.h"
++#include "include/policy.h"
++
++
++static void audit_mnt_flags(struct audit_buffer *ab, unsigned long flags)
++{
++	if (flags & MS_RDONLY)
++		audit_log_format(ab, "ro");
++	else
++		audit_log_format(ab, "rw");
++	if (flags & MS_NOSUID)
++		audit_log_format(ab, ", nosuid");
++	if (flags & MS_NODEV)
++		audit_log_format(ab, ", nodev");
++	if (flags & MS_NOEXEC)
++		audit_log_format(ab, ", noexec");
++	if (flags & MS_SYNCHRONOUS)
++		audit_log_format(ab, ", sync");
++	if (flags & MS_REMOUNT)
++		audit_log_format(ab, ", remount");
++	if (flags & MS_MANDLOCK)
++		audit_log_format(ab, ", mand");
++	if (flags & MS_DIRSYNC)
++		audit_log_format(ab, ", dirsync");
++	if (flags & MS_NOATIME)
++		audit_log_format(ab, ", noatime");
++	if (flags & MS_NODIRATIME)
++		audit_log_format(ab, ", nodiratime");
++	if (flags & MS_BIND)
++		audit_log_format(ab, flags & MS_REC ? ", rbind" : ", bind");
++	if (flags & MS_MOVE)
++		audit_log_format(ab, ", move");
++	if (flags & MS_SILENT)
++		audit_log_format(ab, ", silent");
++	if (flags & MS_POSIXACL)
++		audit_log_format(ab, ", acl");
++	if (flags & MS_UNBINDABLE)
++		audit_log_format(ab, flags & MS_REC ? ", runbindable" :
++				 ", unbindable");
++	if (flags & MS_PRIVATE)
++		audit_log_format(ab, flags & MS_REC ? ", rprivate" :
++				 ", private");
++	if (flags & MS_SLAVE)
++		audit_log_format(ab, flags & MS_REC ? ", rslave" :
++				 ", slave");
++	if (flags & MS_SHARED)
++		audit_log_format(ab, flags & MS_REC ? ", rshared" :
++				 ", shared");
++	if (flags & MS_RELATIME)
++		audit_log_format(ab, ", relatime");
++	if (flags & MS_I_VERSION)
++		audit_log_format(ab, ", iversion");
++	if (flags & MS_STRICTATIME)
++		audit_log_format(ab, ", strictatime");
++	if (flags & MS_NOUSER)
++		audit_log_format(ab, ", nouser");
++}
++
++/**
++ * audit_cb - call back for mount specific audit fields
++ * @ab: audit_buffer  (NOT NULL)
++ * @va: audit struct to audit values of  (NOT NULL)
++ */
++static void audit_cb(struct audit_buffer *ab, void *va)
++{
++	struct common_audit_data *sa = va;
++
++	if (sa->aad->mnt.type) {
++		audit_log_format(ab, " fstype=");
++		audit_log_untrustedstring(ab, sa->aad->mnt.type);
++	}
++	if (sa->aad->mnt.src_name) {
++		audit_log_format(ab, " srcname=");
++		audit_log_untrustedstring(ab, sa->aad->mnt.src_name);
++	}
++	if (sa->aad->mnt.trans) {
++		audit_log_format(ab, " trans=");
++		audit_log_untrustedstring(ab, sa->aad->mnt.trans);
++	}
++	if (sa->aad->mnt.flags || sa->aad->op == OP_MOUNT) {
++		audit_log_format(ab, " flags=\"");
++		audit_mnt_flags(ab, sa->aad->mnt.flags);
++		audit_log_format(ab, "\"");
++	}
++	if (sa->aad->mnt.data) {
++		audit_log_format(ab, " options=");
++		audit_log_untrustedstring(ab, sa->aad->mnt.data);
++	}
++}
++
++/**
++ * audit_mount - handle the auditing of mount operations
++ * @profile: the profile being enforced  (NOT NULL)
++ * @gfp: allocation flags
++ * @op: operation being mediated (NOT NULL)
++ * @name: name of object being mediated (MAYBE NULL)
++ * @src_name: src_name of object being mediated (MAYBE_NULL)
++ * @type: type of filesystem (MAYBE_NULL)
++ * @trans: name of trans (MAYBE NULL)
++ * @flags: filesystem idependent mount flags
++ * @data: filesystem mount flags
++ * @request: permissions requested
++ * @perms: the permissions computed for the request (NOT NULL)
++ * @info: extra information message (MAYBE NULL)
++ * @error: 0 if operation allowed else failure error code
++ *
++ * Returns: %0 or error on failure
++ */
++static int audit_mount(struct aa_profile *profile, gfp_t gfp, int op,
++		       const char *name, const char *src_name,
++		       const char *type, const char *trans,
++		       unsigned long flags, const void *data, u32 request,
++		       struct file_perms *perms, const char *info, int error)
++{
++	int audit_type = AUDIT_APPARMOR_AUTO;
++	struct common_audit_data sa;
++	struct apparmor_audit_data aad = { };
++
++	if (likely(!error)) {
++		u32 mask = perms->audit;
++
++		if (unlikely(AUDIT_MODE(profile) == AUDIT_ALL))
++			mask = 0xffff;
++
++		/* mask off perms that are not being force audited */
++		request &= mask;
++
++		if (likely(!request))
++			return 0;
++		audit_type = AUDIT_APPARMOR_AUDIT;
++	} else {
++		/* only report permissions that were denied */
++		request = request & ~perms->allow;
++
++		if (request & perms->kill)
++			audit_type = AUDIT_APPARMOR_KILL;
++
++		/* quiet known rejects, assumes quiet and kill do not overlap */
++		if ((request & perms->quiet) &&
++		    AUDIT_MODE(profile) != AUDIT_NOQUIET &&
++		    AUDIT_MODE(profile) != AUDIT_ALL)
++			request &= ~perms->quiet;
++
++		if (!request)
++			return COMPLAIN_MODE(profile) ?
++				complain_error(error) : error;
++	}
++
++	COMMON_AUDIT_DATA_INIT(&sa, NONE);
++	sa.aad = &aad;
++	sa.aad->op = op;
++	sa.aad->name = name;
++	sa.aad->mnt.src_name = src_name;
++	sa.aad->mnt.type = type;
++	sa.aad->mnt.trans = trans;
++	sa.aad->mnt.flags = flags;
++	if (data && (perms->audit & AA_AUDIT_DATA))
++		sa.aad->mnt.data = data;
++	sa.aad->info = info;
++	sa.aad->error = error;
++
++	return aa_audit(audit_type, profile, gfp, &sa, audit_cb);
++}
++
++/**
++ * match_mnt_flags - Do an ordered match on mount flags
++ * @dfa: dfa to match against
++ * @state: state to start in
++ * @flags: mount flags to match against
++ *
++ * Mount flags are encoded as an ordered match. This is done instead of
++ * checking against a simple bitmask, to allow for logical operations
++ * on the flags.
++ *
++ * Returns: next state after flags match
++ */
++static unsigned int match_mnt_flags(struct aa_dfa *dfa, unsigned int state,
++				    unsigned long flags)
++{
++	unsigned int i;
++
++	for (i = 0; i <= 31 ; ++i) {
++		if ((1 << i) & flags)
++			state = aa_dfa_next(dfa, state, i + 1);
++	}
++
++	return state;
++}
++
++/**
++ * compute_mnt_perms - compute mount permission associated with @state
++ * @dfa: dfa to match against (NOT NULL)
++ * @state: state match finished in
++ *
++ * Returns: mount permissions
++ */
++static struct file_perms compute_mnt_perms(struct aa_dfa *dfa,
++					   unsigned int state)
++{
++	struct file_perms perms;
++
++	perms.kill = 0;
++	perms.allow = dfa_user_allow(dfa, state);
++	perms.audit = dfa_user_audit(dfa, state);
++	perms.quiet = dfa_user_quiet(dfa, state);
++	perms.xindex = dfa_user_xindex(dfa, state);
++
++	return perms;
++}
++
++static const char const *mnt_info_table[] = {
++	"match succeeded",
++	"failed mntpnt match",
++	"failed srcname match",
++	"failed type match",
++	"failed flags match",
++	"failed data match"
++};
++
++/*
++ * Returns 0 on success else element that match failed in, this is the
++ * index into the mnt_info_table above
++ */
++static int do_match_mnt(struct aa_dfa *dfa, unsigned int start,
++			const char *mntpnt, const char *devname,
++			const char *type, unsigned long flags,
++			void *data, bool binary, struct file_perms *perms)
++{
++	unsigned int state;
++
++	state = aa_dfa_match(dfa, start, mntpnt);
++	state = aa_dfa_null_transition(dfa, state);
++	if (!state)
++		return 1;
++
++	if (devname)
++		state = aa_dfa_match(dfa, state, devname);
++	state = aa_dfa_null_transition(dfa, state);
++	if (!state)
++		return 2;
++
++	if (type)
++		state = aa_dfa_match(dfa, state, type);
++	state = aa_dfa_null_transition(dfa, state);
++	if (!state)
++		return 3;
++
++	state = match_mnt_flags(dfa, state, flags);
++	if (!state)
++		return 4;
++	*perms = compute_mnt_perms(dfa, state);
++	if (perms->allow & AA_MAY_MOUNT)
++		return 0;
++
++	/* only match data if not binary and the DFA flags data is expected */
++	if (data && !binary && (perms->allow & AA_CONT_MATCH)) {
++		state = aa_dfa_null_transition(dfa, state);
++		if (!state)
++			return 4;
++
++		state = aa_dfa_match(dfa, state, data);
++		if (!state)
++			return 5;
++		*perms = compute_mnt_perms(dfa, state);
++		if (perms->allow & AA_MAY_MOUNT)
++			return 0;
++	}
++
++	/* failed at end of flags match */
++	return 4;
++}
++
++/**
++ * match_mnt - handle path matching for mount
++ * @profile: the confining profile
++ * @mntpnt: string for the mntpnt (NOT NULL)
++ * @devname: string for the devname/src_name (MAYBE NULL)
++ * @type: string for the dev type (MAYBE NULL)
++ * @flags: mount flags to match
++ * @data: fs mount data (MAYBE NULL)
++ * @binary: whether @data is binary
++ * @perms: Returns: permission found by the match
++ * @info: Returns: infomation string about the match for logging
++ *
++ * Returns: 0 on success else error
++ */
++static int match_mnt(struct aa_profile *profile, const char *mntpnt,
++		     const char *devname, const char *type,
++		     unsigned long flags, void *data, bool binary,
++		     struct file_perms *perms, const char **info)
++{
++	int pos;
++
++	if (!profile->policy.dfa)
++		return -EACCES;
++
++	pos = do_match_mnt(profile->policy.dfa,
++			   profile->policy.start[AA_CLASS_MOUNT],
++			   mntpnt, devname, type, flags, data, binary, perms);
++	if (pos) {
++		*info = mnt_info_table[pos];
++		return -EACCES;
++	}
++
++	return 0;
++}
++
++static int path_flags(struct aa_profile *profile, struct path *path)
++{
++	return profile->path_flags |
++		S_ISDIR(path->dentry->d_inode->i_mode) ? PATH_IS_DIR : 0;
++}
++
++int aa_remount(struct aa_profile *profile, struct path *path,
++	       unsigned long flags, void *data)
++{
++	struct file_perms perms = { };
++	const char *name, *info = NULL;
++	char *buffer = NULL;
++	int binary, error;
++
++	binary = path->dentry->d_sb->s_type->fs_flags & FS_BINARY_MOUNTDATA;
++
++	error = aa_path_name(path, path_flags(profile, path), &buffer, &name,
++			     &info);
++	if (error)
++		goto audit;
++
++	error = match_mnt(profile, name, NULL, NULL, flags, data, binary,
++			  &perms, &info);
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, NULL, NULL,
++			    NULL, flags, data, AA_MAY_MOUNT, &perms, info,
++			    error);
++	kfree(buffer);
++
++	return error;
++}
++
++int aa_bind_mount(struct aa_profile *profile, struct path *path,
++		  const char *dev_name, unsigned long flags)
++{
++	struct file_perms perms = { };
++	char *buffer = NULL, *old_buffer = NULL;
++	const char *name, *old_name = NULL, *info = NULL;
++	struct path old_path;
++	int error;
++
++	if (!dev_name || !*dev_name)
++		return -EINVAL;
++
++	flags &= MS_REC | MS_BIND;
++
++	error = aa_path_name(path, path_flags(profile, path), &buffer, &name,
++			     &info);
++	if (error)
++		goto audit;
++
++	error = kern_path(dev_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path);
++	if (error)
++		goto audit;
++
++	error = aa_path_name(&old_path, path_flags(profile, &old_path),
++			     &old_buffer, &old_name, &info);
++	path_put(&old_path);
++	if (error)
++		goto audit;
++
++	error = match_mnt(profile, name, old_name, NULL, flags, NULL, 0,
++			  &perms, &info);
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, old_name,
++			    NULL, NULL, flags, NULL, AA_MAY_MOUNT, &perms,
++			    info, error);
++	kfree(buffer);
++	kfree(old_buffer);
++
++	return error;
++}
++
++int aa_mount_change_type(struct aa_profile *profile, struct path *path,
++			 unsigned long flags)
++{
++	struct file_perms perms = { };
++	char *buffer = NULL;
++	const char *name, *info = NULL;
++	int error;
++
++	/* These are the flags allowed by do_change_type() */
++	flags &= (MS_REC | MS_SILENT | MS_SHARED | MS_PRIVATE | MS_SLAVE |
++		  MS_UNBINDABLE);
++
++	error = aa_path_name(path, path_flags(profile, path), &buffer, &name,
++			     &info);
++	if (error)
++		goto audit;
++
++	error = match_mnt(profile, name, NULL, NULL, flags, NULL, 0, &perms,
++			  &info);
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, NULL, NULL,
++			    NULL, flags, NULL, AA_MAY_MOUNT, &perms, info,
++			    error);
++	kfree(buffer);
++
++	return error;
++}
++
++int aa_move_mount(struct aa_profile *profile, struct path *path,
++		  const char *orig_name)
++{
++	struct file_perms perms = { };
++	char *buffer = NULL, *old_buffer = NULL;
++	const char *name, *old_name = NULL, *info = NULL;
++	struct path old_path;
++	int error;
++
++	if (!orig_name || !*orig_name)
++		return -EINVAL;
++
++	error = aa_path_name(path, path_flags(profile, path), &buffer, &name,
++			     &info);
++	if (error)
++		goto audit;
++
++	error = kern_path(orig_name, LOOKUP_FOLLOW, &old_path);
++	if (error)
++		goto audit;
++
++	error = aa_path_name(&old_path, path_flags(profile, &old_path),
++			     &old_buffer, &old_name, &info);
++	path_put(&old_path);
++	if (error)
++		goto audit;
++
++	error = match_mnt(profile, name, old_name, NULL, MS_MOVE, NULL, 0,
++			  &perms, &info);
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, old_name,
++			    NULL, NULL, MS_MOVE, NULL, AA_MAY_MOUNT, &perms,
++			    info, error);
++	kfree(buffer);
++	kfree(old_buffer);
++
++	return error;
++}
++
++int aa_new_mount(struct aa_profile *profile, const char *orig_dev_name,
++		 struct path *path, const char *type, unsigned long flags,
++		 void *data)
++{
++	struct file_perms perms = { };
++	char *buffer = NULL, *dev_buffer = NULL;
++	const char *name = NULL, *dev_name = NULL, *info = NULL;
++	int binary = 1;
++	int error;
++
++	dev_name = orig_dev_name;
++	if (type) {
++		int requires_dev;
++		struct file_system_type *fstype = get_fs_type(type);
++		if (!fstype)
++			return -ENODEV;
++
++		binary = fstype->fs_flags & FS_BINARY_MOUNTDATA;
++		requires_dev = fstype->fs_flags & FS_REQUIRES_DEV;
++		put_filesystem(fstype);
++
++		if (requires_dev) {
++			struct path dev_path;
++
++			if (!dev_name || !*dev_name) {
++				error = -ENOENT;
++				goto out;
++			}
++
++			error = kern_path(dev_name, LOOKUP_FOLLOW, &dev_path);
++			if (error)
++				goto audit;
++
++			error = aa_path_name(&dev_path,
++					     path_flags(profile, &dev_path),
++					     &dev_buffer, &dev_name, &info);
++			path_put(&dev_path);
++			if (error)
++				goto audit;
++		}
++	}
++
++	error = aa_path_name(path, path_flags(profile, path), &buffer, &name,
++			     &info);
++	if (error)
++		goto audit;
++
++	error = match_mnt(profile, name, dev_name, type, flags, data, binary,
++			  &perms, &info);
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name,  dev_name,
++			    type, NULL, flags, data, AA_MAY_MOUNT, &perms, info,
++			    error);
++	kfree(buffer);
++	kfree(dev_buffer);
++
++out:
++	return error;
++
++}
++
++int aa_umount(struct aa_profile *profile, struct vfsmount *mnt, int flags)
++{
++	struct file_perms perms = { };
++	char *buffer = NULL;
++	const char *name, *info = NULL;
++	int error;
++
++	struct path path = { mnt, mnt->mnt_root };
++	error = aa_path_name(&path, path_flags(profile, &path), &buffer, &name,
++			     &info);
++	if (error)
++		goto audit;
++
++	if (!error && profile->policy.dfa) {
++		unsigned int state;
++		state = aa_dfa_match(profile->policy.dfa,
++				     profile->policy.start[AA_CLASS_MOUNT],
++				     name);
++		perms = compute_mnt_perms(profile->policy.dfa, state);
++	}
++
++	if (AA_MAY_UMOUNT & ~perms.allow)
++		error = -EACCES;
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_UMOUNT, name, NULL, NULL,
++			    NULL, 0, NULL, AA_MAY_UMOUNT, &perms, info, error);
++	kfree(buffer);
++
++	return error;
++}
++
++int aa_pivotroot(struct aa_profile *profile, struct path *old_path,
++		  struct path *new_path)
++{
++	struct file_perms perms = { };
++	struct aa_profile *target = NULL;
++	char *old_buffer = NULL, *new_buffer = NULL;
++	const char *old_name, *new_name = NULL, *info = NULL;
++	int error;
++
++	error = aa_path_name(old_path, path_flags(profile, old_path),
++			     &old_buffer, &old_name, &info);
++	if (error)
++		goto audit;
++
++	error = aa_path_name(new_path, path_flags(profile, new_path),
++			     &new_buffer, &new_name, &info);
++	if (error)
++		goto audit;
++
++	if (profile->policy.dfa) {
++		unsigned int state;
++		state = aa_dfa_match(profile->policy.dfa,
++				     profile->policy.start[AA_CLASS_MOUNT],
++				     new_name);
++		state = aa_dfa_null_transition(profile->policy.dfa, state);
++		state = aa_dfa_match(profile->policy.dfa, state, old_name);
++		perms = compute_mnt_perms(profile->policy.dfa, state);
++	}
++
++	if (AA_MAY_PIVOTROOT & perms.allow) {
++		if ((perms.xindex & AA_X_TYPE_MASK) == AA_X_TABLE) {
++			target = x_table_lookup(profile, perms.xindex);
++			if (!target)
++				error = -ENOENT;
++			else
++				error = aa_replace_current_profile(target);
++		}
++	} else
++		error = -EACCES;
++
++audit:
++	error = audit_mount(profile, GFP_KERNEL, OP_PIVOTROOT, new_name,
++			    old_name, NULL, target ? target->base.name : NULL,
++			    0, NULL,  AA_MAY_PIVOTROOT, &perms, info, error);
++	aa_put_profile(target);
++	kfree(old_buffer);
++	kfree(new_buffer);
++
++	return error;
++}
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh
deleted file mode 100644
index 8fb5e9f91eb..00000000000
--- a/pkgs/os-specific/linux/kernel/builder.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-source $stdenv/setup
-
-
-makeFlags="ARCH=$arch SHELL=/bin/sh KBUILD_BUILD_VERSION=1-NixOS $makeFlags"
-if [ -n "$crossConfig" ]; then
-  makeFlags="$makeFlags CROSS_COMPILE=$crossConfig-"
-fi
-
-postPatch() {
-    # Makefiles are full of /bin/pwd, /bin/false, /bin/bash, etc.
-    # Patch these away, assuming the tools are in $PATH.
-    for mf in $(find -name Makefile); do
-        echo "stripping FHS paths in \`$mf'..."
-        sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g'
-    done
-}
-
-configurePhase() {
-    if test -n "$preConfigure"; then
-        eval "$preConfigure"
-    fi
-
-    export INSTALL_PATH=$out
-    export INSTALL_MOD_PATH=$out
-
-    # Set our own localversion, if specified.
-    rm -f localversion*
-    if test -n "$localVersion"; then
-        echo "$localVersion" > localversion-nix
-    fi
-
-    # Patch kconfig to print "###" after every question so that
-    # generate-config.pl can answer them.
-    sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
-
-    # Get a basic config file for later refinement with $generateConfig.
-    make $kernelBaseConfig ARCH=$arch
-
-    # Create the config file.
-    echo "generating kernel configuration..."
-    echo "$kernelConfig" > kernel-config
-    DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \
-        perl -w $generateConfig
-}
-
-
-installPhase() {
-
-    mkdir -p $out
-
-    # New kernel versions have a combined tree for i386 and x86_64.
-    archDir=$arch
-    if test -e arch/x86 -a \( "$arch" = i386 -o "$arch" = x86_64 \); then
-        archDir=x86
-    fi
-
-
-    # Copy the bzImage and System.map.
-    cp System.map $out
-    if test "$arch" = um; then
-        mkdir -p $out/bin
-        cp linux $out/bin
-    elif test "$kernelTarget" != "vmlinux"; then
-        # In any case we copy the 'vmlinux' ELF in the next lines
-        cp arch/$archDir/boot/$kernelTarget $out
-    fi
-
-    cp vmlinux $out
-
-    if grep -q "CONFIG_MODULES=y" .config; then
-        # Install the modules in $out/lib/modules.
-        make modules_install \
-            DEPMOD=$kmod/sbin/depmod \
-            $makeFlags "${makeFlagsArray[@]}" \
-            $installFlags "${installFlagsArray[@]}"
-
-        if test -z "$dontStrip"; then
-            # Strip the kernel modules.
-        echo "Stripping kernel modules..."
-        if [ -z "$crossConfig" ]; then
-                find $out -name "*.ko" -print0 | xargs -0 strip -S
-        else
-                find $out -name "*.ko" -print0 | xargs -0 $crossConfig-strip -S
-        fi
-        fi
-
-        # move this to install later on
-        # largely copied from early FC3 kernel spec files
-        version=$(cd $out/lib/modules && ls -d *)
-
-        # remove symlinks and create directories
-        rm -f $out/lib/modules/$version/build
-        rm -f $out/lib/modules/$version/source
-        mkdir $out/lib/modules/$version/build
-
-        # copy config
-        cp .config $out/lib/modules/$version/build/.config
-        ln -s $out/lib/modules/$version/build/.config $out/config
-
-        if test "$arch" != um; then
-            # copy all Makefiles and Kconfig files
-            ln -s $out/lib/modules/$version/build $out/lib/modules/$version/source
-            cp --parents `find  -type f -name Makefile -o -name "Kconfig*"` $out/lib/modules/$version/build
-            cp Module.symvers $out/lib/modules/$version/build
-
-        if test "$dontStrip" = "1"; then
-            # copy any debugging info that can be found
-            cp --parents -rv `find -name \*.debug -o -name debug.a`     \
-               "$out/lib/modules/$version/build"
-        fi
-
-            # weed out unneeded stuff
-            rm -rf $out/lib/modules/$version/build/Documentation
-            rm -rf $out/lib/modules/$version/build/scripts
-            rm -rf $out/lib/modules/$version/build/include
-
-            # copy architecture dependent files
-            cp -a arch/$archDir/scripts $out/lib/modules/$version/build/ || true
-            cp -a arch/$archDir/*lds $out/lib/modules/$version/build/ || true
-            cp -a arch/$archDir/Makefile*.cpu $out/lib/modules/$version/build/arch/$archDir/ || true
-            cp -a --parents arch/$archDir/kernel/asm-offsets.s $out/lib/modules/$version/build/arch/$archDir/kernel/ || true
-
-            # copy scripts
-            rm -f scripts/*.o
-            rm -f scripts/*/*.o
-            cp -a scripts $out/lib/modules/$version/build
-
-            # copy include files
-            includeDir=$out/lib/modules/$version/build/include
-            mkdir -p $includeDir
-            (cd include && cp -a * $includeDir)
-        (cd arch/$archDir/include && cp -a * $includeDir || true)
-        (cd arch/$archDir/include && cp -a asm/* $includeDir/asm/ || true)
-        (cd arch/$archDir/include && cp -a generated/asm/* $includeDir/asm/ || true)
-        (cd arch/$archDir/include/asm/mach-generic && cp -a * $includeDir/ || true)
-            # include files for special arm architectures 
-            if [ "$archDir" == "arm" ]; then
-                cp -a --parents arch/arm/mach-*/include $out/lib/modules/$version/build
-            fi
-        fi
-    fi
-
-    if test -n "$postInstall"; then
-        eval "$postInstall";
-    fi
-}
-
-
-genericBuild
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 01a605aac30..7a6ba94eb9f 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -1,4 +1,4 @@
-{ stdenv, version, kernelPlatform, extraConfig }:
+{ stdenv, version, kernelPlatform, extraConfig, features }:
 
 with stdenv.lib;
 
@@ -16,7 +16,9 @@ with stdenv.lib;
   DEBUG_DEVRES n
   DEBUG_NX_TEST n
   DEBUG_STACK_USAGE n
-  DEBUG_STACKOVERFLOW n
+  ${optionalString (!(features.grsecurity or true)) ''
+    DEBUG_STACKOVERFLOW n
+  ''}
   RCU_TORTURE_TEST n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
@@ -63,7 +65,9 @@ with stdenv.lib;
 
   # Networking options.
   IP_PNP n
+  ${optionalString (versionOlder version "3.13") ''
   IPV6_PRIVACY y
+  ''}
   NETFILTER_ADVANCED y
   IP_VS_PROTO_TCP y
   IP_VS_PROTO_UDP y
@@ -74,17 +78,17 @@ with stdenv.lib;
   CLS_U32_MARK y
 
   # Wireless networking.
-  CFG80211_WEXT y # Without it, ipw2200 drivers don't build
-  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
+  CFG80211_WEXT? y # Without it, ipw2200 drivers don't build
+  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
   ${optionalString (versionAtLeast version "3.2") ''
-    B43_PHY_HT y
+    B43_PHY_HT? y
   ''}
-  BCMA_HOST_PCI y
+  BCMA_HOST_PCI? y
 
   # Enable various FB devices.
   FB y
@@ -106,12 +110,13 @@ with stdenv.lib;
   # Enable KMS for devices whose X.org driver supports it.
   DRM_I915_KMS y
   ${optionalString (versionOlder version "3.9") ''
-    DRM_RADEON_KMS y
+    DRM_RADEON_KMS? y
   ''}
   # Hybrid graphics support
   VGA_SWITCHEROO y
 
   # Sound.
+  SND_DYNAMIC_MINORS y
   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
@@ -136,22 +141,31 @@ with stdenv.lib;
   # ACLs for all filesystems that support them.
   EXT2_FS_XATTR y
   EXT2_FS_POSIX_ACL y
-  EXT2_FS_SECURITY y # Ext2 Security Labels
+  EXT2_FS_SECURITY y
   EXT2_FS_XIP y # Ext2 execute in place support
+  EXT3_FS_POSIX_ACL y
+  EXT3_FS_SECURITY y
   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
+  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
+  UBIFS_FS_ADVANCED_COMPR? y
+  ${optionalString (versionAtLeast version "3.6") ''
+    NFS_SWAP y
+  ''}
+  ${optionalString (versionAtLeast version "3.11") ''
+    NFS_V4_1 y  # NFSv4.1 client support
+    NFS_V4_2 y
+  ''}
   NFSD_V2_ACL y
   NFSD_V3 y
   NFSD_V3_ACL y
@@ -164,29 +178,37 @@ with stdenv.lib;
   # Security related features.
   STRICT_DEVMEM y # Filter access to /dev/mem
   SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
-  DEVKMEM n # Disable /dev/kmem
-  CC_STACKPROTECTOR y # Detect buffer overflows on the stack
+  DEVKMEM? n # Disable /dev/kmem
+  ${if versionOlder version "3.14" then ''
+    CC_STACKPROTECTOR? y # Detect buffer overflows on the stack
+  '' else ''
+    CC_STACKPROTECTOR_REGULAR? y
+  ''}
   ${optionalString (versionAtLeast version "3.12") ''
     USER_NS y # Support for user namespaces
   ''}
 
+  # AppArmor support
+  SECURITY_APPARMOR y
+  DEFAULT_SECURITY_APPARMOR y
+
   # Misc. options.
   8139TOO_8129 y
   8139TOO_PIO n # PIO is slower
   AIC79XX_DEBUG_ENABLE n
   AIC7XXX_DEBUG_ENABLE n
   AIC94XX_DEBUG n
-  ${optionalString (versionAtLeast version "3.3") ''
+  ${optionalString (versionAtLeast version "3.3" && versionOlder version "3.13") ''
     AUDIT_LOGINUID_IMMUTABLE y
   ''}
-  B43_PCMCIA 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_HCIUART_BCSP? y
+  BT_HCIUART_H4? y # UART (H4) protocol support
+  BT_HCIUART_LL? y
   BT_RFCOMM_TTY? y # RFCOMM TTY support
   CRASH_DUMP? n
   ${optionalString (versionOlder version "3.1") ''
@@ -200,10 +222,10 @@ with stdenv.lib;
   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
+  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
@@ -225,7 +247,7 @@ with stdenv.lib;
   SLIP_COMPRESSED y # CSLIP compressed headers
   SLIP_SMART y
   THERMAL_HWMON y # Hardware monitoring support
-  USB_DEBUG n
+  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
@@ -269,17 +291,17 @@ with stdenv.lib;
   ''}
 
   # Virtualisation.
-  PARAVIRT y
+  PARAVIRT? y
   ${if versionAtLeast version "3.10" then ''
-    HYPERVISOR_GUEST y
+    HYPERVISOR_GUEST? y
   '' else ''
-    PARAVIRT_GUEST y
+    PARAVIRT_GUEST? y
   ''}
-  KVM_GUEST y
+  KVM_GUEST? y
   ${optionalString (versionOlder version "3.7") ''
-    KVM_CLOCK y
+    KVM_CLOCK? y
   ''}
-  XEN y
+  XEN? y
   XEN_DOM0? y
   KSM y
   ${optionalString (!stdenv.is64bit) ''
@@ -302,8 +324,19 @@ with stdenv.lib;
   ''}
 
   # Enable the 9P cache to speed up NixOS VM tests.
-  9P_FSCACHE y
-  9P_FS_POSIX_ACL y
+  9P_FSCACHE? y
+  9P_FS_POSIX_ACL? y
+
+  # Enable transparent support for huge pages.
+  TRANSPARENT_HUGEPAGE? y
+  TRANSPARENT_HUGEPAGE_ALWAYS? n
+  TRANSPARENT_HUGEPAGE_MADVISE? y
+
+  # zram support (e.g for in-memory compressed swap)
+  ${optionalString (versionAtLeast version "3.4") ''
+    ZSMALLOC y
+  ''}
+  ZRAM m
 
   ${kernelPlatform.kernelExtraConfig or ""}
   ${extraConfig}
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index 78663098fb3..20abe1015c3 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -11,6 +11,9 @@
 
 use strict;
 use IPC::Open2;
+use Cwd;
+
+my $wd = getcwd;
 
 my $debug = $ENV{'DEBUG'};
 my $autoModules = $ENV{'AUTO_MODULES'};
@@ -36,7 +39,7 @@ close ANSWERS;
 sub runConfig {
 
     # Run `make config'.
-    my $pid = open2(\*IN, \*OUT, "make config SHELL=bash ARCH=$ENV{ARCH}");
+    my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$wd config SHELL=bash ARCH=$ENV{ARCH}");
 
     # Parse the output, look for questions and then send an
     # appropriate answer.
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 1ade2473627..08611e44856 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, mktemp, kmod, bc
+{ stdenv, perl, buildLinux
 
 , # The kernel source tarball.
   src
@@ -23,26 +23,10 @@
   # symbolic name and `patch' is the actual patch.  The patch may
   # optionally be compressed with gzip or bzip2.
   kernelPatches ? []
-
-, # Allows you to set your own kernel version suffix (e.g.,
-  # "-my-kernel").
-  localVersion ? ""
-
-, preConfigure ? ""
 , extraMeta ? {}
-, ubootChooser ? null
-, postInstall ? ""
-
-, # After the builder did a 'make all' (kernel + modules)
-  # we force building the target asked: bzImage/zImage/uImage/...
-  postBuild ? "make $makeFlags $kernelTarget; make $makeFlags -C scripts unifdef"
-
 , ...
 }:
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
-  || stdenv.isArm || stdenv.system == "mips64el-linux";
-
 assert stdenv.platform.name == "sheevaplug" -> stdenv.platform.uboot != null;
 
 let
@@ -55,93 +39,96 @@ let
         map ({extraConfig ? "", ...}: extraConfig) kernelPatches;
     in lib.concatStringsSep "\n" ([baseConfig] ++ configFromPatches);
 
-  configWithPlatform = kernelPlatform:
-    import ./common-config.nix { inherit stdenv version kernelPlatform extraConfig; };
+  configfile = stdenv.mkDerivation {
+    name = "linux-config-${version}";
 
-  config = configWithPlatform stdenv.platform;
-  configCross = configWithPlatform stdenv.cross.platform;
+    generateConfig = ./generate-config.pl;
 
-in
+    kernelConfig = kernelConfigFun config;
 
-stdenv.mkDerivation {
-  name = "linux-${version}";
+    ignoreConfigErrors = stdenv.platform.name != "pc";
 
-  enableParallelBuilding = true;
+    nativeBuildInputs = [ perl ];
 
-  passthru = {
-    inherit version modDirVersion kernelPatches;
-    # Combine the `features' attribute sets of all the kernel patches.
-    features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches;
-  };
+    platformName = stdenv.platform.name;
+    kernelBaseConfig = stdenv.platform.kernelBaseConfig;
+    kernelTarget = stdenv.platform.kernelTarget;
+    autoModules = stdenv.platform.kernelAutoModules;
+    arch = stdenv.platform.kernelArch;
+
+    crossAttrs = let
+        cp = stdenv.cross.platform;
+      in {
+        arch = cp.kernelArch;
+        platformName = cp.name;
+        kernelBaseConfig = cp.kernelBaseConfig;
+        kernelTarget = cp.kernelTarget;
+        autoModules = cp.kernelAutoModules;
+
+        # Just ignore all options that don't apply (We are lazy).
+        ignoreConfigErrors = true;
 
-  builder = ./builder.sh;
+        kernelConfig = kernelConfigFun configCross;
 
-  generateConfig = ./generate-config.pl;
+        inherit (kernel.crossDrv) src patches preUnpack;
+      };
 
-  inherit preConfigure src kmod localVersion postInstall postBuild;
+    prePatch = kernel.prePatch + ''
+      # Patch kconfig to print "###" after every question so that
+      # generate-config.pl from the generic builder can answer them.
+      sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
+    '';
 
-  patches = map (p: p.patch) kernelPatches;
+    inherit (kernel) src patches preUnpack;
 
-  kernelConfig = kernelConfigFun config;
+    buildPhase = ''
+      cd $buildRoot
 
-  # For UML and non-PC, just ignore all options that don't apply (We are lazy).
-  ignoreConfigErrors = stdenv.platform.name != "pc";
+      # Get a basic config file for later refinement with $generateConfig.
+      make -C ../$sourceRoot O=$PWD $kernelBaseConfig ARCH=$arch
 
-  nativeBuildInputs = [ perl mktemp bc ];
+      # Create the config file.
+      echo "generating kernel configuration..."
+      echo "$kernelConfig" > kernel-config
+      DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \
+           SRC=../$sourceRoot perl -w $generateConfig
+    '';
 
-  buildInputs = lib.optional (stdenv.platform.uboot != null)
-    (ubootChooser stdenv.platform.uboot);
+    installPhase = "mv .config $out";
 
-  platformName = stdenv.platform.name;
-  kernelBaseConfig = stdenv.platform.kernelBaseConfig;
-  kernelTarget = stdenv.platform.kernelTarget;
-  autoModules = stdenv.platform.kernelAutoModules;
+    enableParallelBuilding = true;
+  };
+
+  kernel = buildLinux {
+    inherit version modDirVersion src kernelPatches;
 
-  # Should we trust platform.kernelArch? We can only do
-  # that once we differentiate i686/x86_64 in platforms.
-  arch =
-    if stdenv.system == "i686-linux" then "i386" else
-    if stdenv.system == "x86_64-linux" then "x86_64" else
-    if stdenv.isArm then "arm" else
-    if stdenv.system == "mips64el-linux" then "mips" else
-    abort "Platform ${stdenv.system} is not supported.";
+    configfile = configfile.nativeDrv or configfile;
 
-  crossAttrs = let
-      cp = stdenv.cross.platform;
-    in
-      assert cp.name == "sheevaplug" -> cp.uboot != null;
-    {
-      arch = cp.kernelArch;
-      platformName = cp.name;
-      kernelBaseConfig = cp.kernelBaseConfig;
-      kernelTarget = cp.kernelTarget;
-      autoModules = cp.kernelAutoModules;
+    crossConfigfile = configfile.crossDrv or configfile;
 
-      # Just ignore all options that don't apply (We are lazy).
-      ignoreConfigErrors = true;
+    config = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; };
+
+    crossConfig = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; };
+  };
 
-      kernelConfig = kernelConfigFun configCross;
+  passthru = {
+    # Combine the `features' attribute sets of all the kernel patches.
+    features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches;
 
-      # The substitution of crossAttrs happens *after* the stdenv cross adapter sets
-      # the parameters for the usual stdenv. Thus, we need to specify
-      # the ".crossDrv" in the buildInputs here.
-      buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
+    meta = kernel.meta // extraMeta;
+
+    passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]);
+  };
+
+  configWithPlatform = kernelPlatform: import ./common-config.nix
+    { inherit stdenv version kernelPlatform extraConfig;
+      features = passthru.features; # Ensure we know of all extra patches, etc.
     };
 
-  meta = {
-    description =
-      "The Linux kernel" +
-      (if kernelPatches == [] then "" else
-        " (with patches: "
-        + lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches))
-        + ")");
-    license = "GPLv2";
-    homepage = http://www.kernel.org/;
-    maintainers = [
-      lib.maintainers.eelco
-      lib.maintainers.chaoflow
-    ];
-    platforms = lib.platforms.linux;
-  } // extraMeta;
-}
+  config = configWithPlatform stdenv.platform;
+  configCross = configWithPlatform stdenv.cross.platform;
+
+  nativeDrv = lib.addPassthru kernel.nativeDrv passthru;
 
+  crossDrv = lib.addPassthru kernel.crossDrv passthru;
+in if kernel ? crossDrv then nativeDrv // { inherit nativeDrv crossDrv; } else lib.addPassthru kernel passthru
diff --git a/pkgs/os-specific/linux/kernel/grsec-path.patch b/pkgs/os-specific/linux/kernel/grsec-path.patch
new file mode 100644
index 00000000000..6f59cf8d80b
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/grsec-path.patch
@@ -0,0 +1,17 @@
+diff --git a/kernel/kmod.c b/kernel/kmod.c
+index 67f7981..03f127d 100644
+--- a/kernel/kmod.c
++++ b/kernel/kmod.c
+@@ -246,9 +246,9 @@ static int ____call_usermodehelper(void *data)
+ 	   out the path to be used prior to this point and are now operating
+ 	   on that copy
+ 	*/
+-	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) &&
+-	     strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) &&
+-	     strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) {
++	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
++	     strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) ||
++	     strstr(sub_info->path, "..")) {
+ 		printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path);
+ 		retval = -EPERM;
+ 		goto fail;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
deleted file mode 100644
index 30b70035dfa..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.0.99";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1p31gq9kzwfks980y6rb2mjyagj8lrh6y156a550v7mk0bd4fzdi";
-  };
-
-  features.iwlwifi = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 65660619857..8fa684e407c 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.15";
+  version = "3.10.53";
+  extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "07wjh58sylbbw9hwxd5xvbz3dxd05iar8ahzk90lki38m5157ffk";
+    sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix
deleted file mode 100644
index 6531895d8a7..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.11.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.11.6";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0klbyx6qy3ifwrwh5w7yzk6m6jd32flkk73z95bih3ihmbnbzlvs";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index f0929af1d29..291e43a98e5 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12-rc3";
+  version = "3.12.26";
+  extraMeta.branch = "3.12";
 
   src = fetchurl {
-    url = "https://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-${version}.tar.xz";
-    sha256 = "1rayb0f4n81yp9ghcws0v36dpqyl9ks3naf37p2qy7jvrwagmj28";
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "1gp6brk2ix30g8dznd5yv1fq7yx82295va6cn7lwv6jj9w287s6c";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
new file mode 100644
index 00000000000..74d83345ec1
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "3.14.17";
+  extraMeta.branch = "3.14";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.15.nix b/pkgs/os-specific/linux/kernel/linux-3.15.nix
new file mode 100644
index 00000000000..cb2463ebfdc
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.15.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "3.15.10";
+  extraMeta.branch = "3.15";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "1x057a1pfr4rqzmjdb3x1bwwl6gzr6im8dg8f6anwz9fnps6vv5d";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix
new file mode 100644
index 00000000000..be2e68ab81e
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.16.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "3.16.1";
+  extraMeta.branch = "3.16";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index ae065499c65..13205e048ca 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -1,12 +1,27 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.2.52";
+  version = "3.2.62";
+  extraMeta.branch = "3.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1wpr5xs6vg0xjlzrlbkv7bjvv34psw57crkdh4lybghi4rgrmkzl";
+    sha256 = "1yrmar14p5y9xaj9df388xwjmwz8fnsxnid6rkxxk7dni5di8nqf";
   };
 
-  features.iwlwifi = true;
-})
+  # We don't provide these patches if grsecurity is enabled, because
+  # the grsec 3.2 -stable patchset already includes them.
+  kernelPatches = args.kernelPatches ++ (
+    stdenv.lib.optionals (!(args.features.grsecurity or false))
+      [ { name = "0001-AppArmor-compatibility-patch-for-v5-network-controll";
+          patch = ./apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch;
+        }
+        { name = "0002-AppArmor-compatibility-patch-for-v5-interface";
+          patch = ./apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch;
+        }
+        { name = "0003-AppArmor-Allow-dfa-backward-compatibility-with-broke";
+          patch = ./apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch;
+        }]);
+
+  features.iwlwifi  = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 47393b0ae74..30bb873501b 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,13 +1,25 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.67";
+  version = "3.4.103";
+  extraMeta.branch = "3.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1ndzlwhxvlm4lr86240h3ysxhmdkgdcp0n6qhid5nwrmxf5fpb1d";
+    sha256 = "1ldga9l7dydwv5zvl3xgk8833cjv73yasyy2qmgimkbs03s8q4ig";
   };
 
+  kernelPatches = args.kernelPatches ++
+    [ { name = "0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file";
+        patch = ./apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch;
+      }
+      { name = "0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules";
+        patch = ./apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch;
+      }
+      { name = "0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou";
+        patch = ./apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch;
+      }];
+
   features.iwlwifi = true;
   features.efiBootStub = true;
   features.needsCifsUtils = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix
deleted file mode 100644
index 51bcf35b3fe..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.9.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.9.11";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0d5j7kg1ifzwipicbi4g26plzbzn1rlvgj1hs4zip6sxj8ifbffl";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
index fdf2f139c33..6d28c376078 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
@@ -15,5 +15,5 @@ in import ./generic.nix (args // rec {
 
   features.iwlwifi = true;
 
-  extraMeta.platforms = [];
+  extraMeta.hydraPlatforms = [];
 })
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
new file mode 100644
index 00000000000..f44f3d32792
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  # Reason to add:  RTL8192EE
+  version = "3.16-rc3";
+  modDirVersion = "3.16.0-rc3";
+  extraMeta.branch = "3.16";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz";
+    sha256 = "17jgv1hnx2im68f8721x11yfg8mpas7lsxg0j00qxv2fc6km2glm";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+
+  # Should the testing kernels ever be built on Hydra?
+  extraMeta.hydraPlatforms = [];
+
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 29eb170287a..6d9baed7f2d 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,45 +1,16 @@
-{ stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile }:
-
-with stdenv.lib;
+{ stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile, ubootChooser }:
 
 let
-
-  # Function to parse the config file into a nix expression
-  readConfig = configFile:
-    let
-      configAttrs = import "${runCommand "config.nix" {} ''
-        echo "{" > "$out"
-        while IFS='=' read key val; do
-          [ "x''${key#CONFIG_}" != "x$key" ] || continue
-          no_firstquote="''${val#\"}";
-          echo '  "'"$key"'" = "'"''${no_firstquote%\"}"'";' >> "$out"
-        done < "${configFile}"
-        echo "}" >> $out
-      ''}";
-
-      config = configAttrs // rec {
-        attrName = attr: "CONFIG_" + attr;
-
-        isSet = attr: hasAttr (attrName attr) config;
-
-        getValue = attr: if isSet attr then getAttr (attrName attr) config else null;
-
-        isYes = attr: (isSet attr) && ((getValue attr) == "y");
-
-        isNo = attr: (isSet attr) && ((getValue attr) == "n");
-
-        isModule = attr: (isSet attr) && ((getValue attr) == "m");
-
-        isEnabled = attr: (isModule attr) || (isYes attr);
-
-        isDisabled = attr: (!(isSet attr)) || (isNo attr);
-      };
-    in
-      config;
-
-in
-
-{
+  readConfig = configfile: import (runCommand "config.nix" {} ''
+    echo "{" > "$out"
+    while IFS='=' read key val; do
+      [ "x''${key#CONFIG_}" != "x$key" ] || continue
+      no_firstquote="''${val#\"}";
+      echo '  "'"$key"'" = "'"''${no_firstquote%\"}"'";' >> "$out"
+    done < "${configfile}"
+    echo "}" >> $out
+  '').outPath;
+in {
   # The kernel version
   version,
   # The version of the kernel module directory
@@ -48,127 +19,220 @@ in
   src,
   # Any patches
   kernelPatches ? [],
-  # The kernel .config file
+  # Patches for native compiling only
+  nativeKernelPatches ? [],
+  # Patches for cross compiling only
+  crossKernelPatches ? [],
+  # The native kernel .config file
   configfile,
+  # The cross kernel .config file
+  crossConfigfile ? configfile,
   # Manually specified nixexpr representing the config
   # If unspecified, this will be autodetected from the .config
-  config ? optionalAttrs allowImportFromDerivation (readConfig configfile),
+  config ? stdenv.lib.optionalAttrs allowImportFromDerivation (readConfig configfile),
+  # Cross-compiling config
+  crossConfig ? if allowImportFromDerivation then (readConfig crossConfigfile) else config,
   # Whether to utilize the controversial import-from-derivation feature to parse the config
   allowImportFromDerivation ? false
 }:
 
 let
-  installkernel = name: writeTextFile { name = "installkernel"; executable=true; text = ''
-    #!/bin/sh
-    mkdir $4
-    cp -av $2 $4/${name}
-    cp -av $3 $4
-  '';};
-
-  isModular = config.isYes "MODULES";
+  inherit (stdenv.lib)
+    hasAttr getAttr optional optionalString optionalAttrs maintainers platforms;
 
-  installsFirmware = (config.isEnabled "FW_LOADER") &&
-    (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
+  installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
+    #!${stdenv.shell} -e
+    mkdir -p $4
+    cp -av $2 $4
+    cp -av $3 $4
+  ''; };
 
   commonMakeFlags = [
     "O=$(buildRoot)"
-    "INSTALL_PATH=$(out)"
-  ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
-  ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
+  ];
 
-  sourceRoot = stdenv.mkDerivation {
-    name = "linux-${version}-source";
+  drvAttrs = config_: platform: kernelPatches: configfile:
+    let
+      config = let attrName = attr: "CONFIG_" + attr; in {
+        isSet = attr: hasAttr (attrName attr) config;
 
-    inherit src;
+        getValue = attr: if config.isSet attr then getAttr (attrName attr) config else null;
 
-    patches = map (p: p.patch) kernelPatches;
+        isYes = attr: (config.getValue attr) == "y";
 
-    phases = [ "unpackPhase" "patchPhase" "installPhase" ]; 
+        isNo = attr: (config.getValue attr) == "n";
 
-    prePatch = ''
-      for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
-          echo "stripping FHS paths in \`$mf'..."
-          sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
-      done
-      sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
-    '';
+        isModule = attr: (config.getValue attr) == "m";
 
-    installPhase = ''
-      cd ..
-      mv $sourceRoot $out
-    '';
-  };
-in
-
-stdenv.mkDerivation {
-  name = "linux-${version}";
+        isEnabled = attr: (config.isModule attr) || (config.isYes attr);
 
-  enableParallelBuilding = true;
+        isDisabled = attr: (!(config.isSet attr)) || (config.isNo attr);
+      } // config_;
 
-  outputs = if isModular then [ "out" "dev" ] else null;
+      isModular = config.isYes "MODULES";
 
-  passthru = {
-    inherit version modDirVersion config kernelPatches src;
-  };
+      installsFirmware = (config.isEnabled "FW_LOADER") &&
+        (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
+    in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // {
+      passthru = {
+        inherit version modDirVersion config kernelPatches;
+      };
 
-  inherit sourceRoot;
+      inherit src;
+
+      preUnpack = ''
+        mkdir build
+        export buildRoot="$(pwd)/build"
+      '';
+
+      patches = map (p: p.patch) kernelPatches;
+
+      prePatch = ''
+        for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
+            echo "stripping FHS paths in \`$mf'..."
+            sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
+        done
+        sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
+      '';
+
+      configurePhase = ''
+        runHook preConfigure
+        ln -sv ${configfile} $buildRoot/.config
+        make $makeFlags "''${makeFlagsArray[@]}" oldconfig
+        runHook postConfigure
+
+        buildFlagsArray+=("KBUILD_BUILD_TIMESTAMP=Thu Jan 1 00:00:01 UTC 1970")
+      '';
+
+      buildFlags = [
+        "KBUILD_BUILD_VERSION=1-NixOS"
+        platform.kernelTarget
+      ] ++ optional isModular "modules";
+
+      installFlags = [
+        "INSTALLKERNEL=${installkernel}"
+        "INSTALL_PATH=$(out)"
+      ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
+      ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
+
+      # Some image types need special install targets (e.g. uImage is installed with make uinstall)
+      installTargets = [ (if platform.kernelTarget == "uImage" then "uinstall" else "install") ];
+
+      postInstall = optionalString installsFirmware ''
+        mkdir -p $out/lib/firmware
+      '' + (if isModular then ''
+        make modules_install $makeFlags "''${makeFlagsArray[@]}" \
+          $installFlags "''${installFlagsArray[@]}"
+        unlink $out/lib/modules/${modDirVersion}/build
+        unlink $out/lib/modules/${modDirVersion}/source
+
+        mkdir -p $dev/lib/modules/${modDirVersion}
+        cd ..
+        mv $sourceRoot $dev/lib/modules/${modDirVersion}/source
+        cd $dev/lib/modules/${modDirVersion}/source
+
+        mv $buildRoot/.config $buildRoot/Module.symvers $TMPDIR
+        rm -fR $buildRoot
+        mkdir $buildRoot
+        mv $TMPDIR/.config $TMPDIR/Module.symvers $buildRoot
+        make modules_prepare $makeFlags "''${makeFlagsArray[@]}"
+        mv $buildRoot $dev/lib/modules/${modDirVersion}/build
+
+        # !!! No documentation on how much of the source tree must be kept
+        # If/when kernel builds fail due to missing files, you can add
+        # them here. Note that we may see packages requiring headers
+        # from drivers/ in the future; it adds 50M to keep all of its
+        # headers on 3.10 though.
+
+        chmod +w -R ../source
+        arch=`cd $dev/lib/modules/${modDirVersion}/build/arch; ls`
+
+        # Remove unusued arches
+        mv arch/$arch .
+        rm -fR arch
+        mkdir arch
+        mv $arch arch
+
+        # Remove all driver-specific code (50M of which is headers)
+        rm -fR drivers
+
+        # Keep all headers
+        find .  -type f -name '*.h' -print0 | xargs -0 chmod -w
+
+        # Keep root and arch-specific Makefiles
+        chmod -w Makefile
+        chmod -w arch/$arch/Makefile*
+
+        # Keep whole scripts dir
+        chmod -w -R scripts
+
+        # Delete everything not kept
+        find . -type f -perm -u=w -print0 | xargs -0 rm
+
+        # Delete empty directories
+        find -empty -type d -delete
+
+        # Remove reference to kmod
+        sed -i Makefile -e 's|= ${kmod}/sbin/depmod|= depmod|'
+      '' else optionalString installsFirmware ''
+        make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
+          $installFlags "''${installFlagsArray[@]}"
+      '');
+
+      # !!! This leaves references to gcc in $dev
+      # that we might be able to avoid
+      postFixup = if isModular then ''
+        if [ -z "$dontStrip" ]; then
+            find $out -name "*.ko" -print0 | xargs -0 -r ''${crossConfig+$crossConfig-}strip -S
+        fi
+        # !!! Should this be part of stdenv? Also patchELF should take an argument...
+        prefix=$dev
+        patchELF
+        prefix=$out
+      '' else null;
+
+      meta = {
+        description =
+          "The Linux kernel" +
+          (if kernelPatches == [] then "" else
+            " (with patches: "
+            + stdenv.lib.concatStrings (stdenv.lib.intersperse ", " (map (x: x.name) kernelPatches))
+            + ")");
+        license = stdenv.lib.licenses.gpl2;
+        homepage = http://www.kernel.org/;
+        repositories.git = https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;
+        maintainers = [
+          maintainers.shlevy
+          maintainers.thoughtpolice
+        ];
+        platforms = platforms.linux;
+      };
+    };
+in
 
-  unpackPhase = ''
-    mkdir build
-    export buildRoot="$(pwd)/build"
-    cd ${sourceRoot}
-  '';
+stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKernelPatches) configfile) // {
+  name = "linux-${version}";
 
-  configurePhase = ''
-    runHook preConfigure
-    ln -sv ${configfile} $buildRoot/.config
-    make $makeFlags "''${makeFlagsArray[@]}" oldconfig
-    runHook postConfigure
-  '';
+  enableParallelBuilding = true;
 
-  nativeBuildInputs = [ perl bc nettools ];
+  nativeBuildInputs = [ perl bc nettools ] ++ optional (stdenv.platform.uboot != null)
+    (ubootChooser stdenv.platform.uboot);
 
   makeFlags = commonMakeFlags ++ [
-   "INSTALLKERNEL=${installkernel stdenv.platform.kernelTarget}"
+    "ARCH=${stdenv.platform.kernelArch}"
   ];
 
-  crossAttrs = {
-    makeFlags = commonMakeFlags ++ [
-     "INSTALLKERNEL=${installkernel stdenv.cross.platform.kernelTarget}"
-    ];
-  };
-
-  postInstall = optionalString installsFirmware ''
-    mkdir -p $out/lib/firmware
-  '' + (if isModular then ''
-    make modules_install $makeFlags "''${makeFlagsArray[@]}" \
-      $installFlags "''${installFlagsArray[@]}"
-    rm -f $out/lib/modules/${modDirVersion}/build
-    mkdir -p $dev/lib/modules/${modDirVersion}
-    mv $out/lib/modules/${modDirVersion}/source $dev/lib/modules/${modDirVersion}/source
-    mv $buildRoot $dev/lib/modules/${modDirVersion}/build
-  '' else optionalString installsFirmware ''
-    make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
-      $installFlags "''${installFlagsArray[@]}"
-  '');
-
-  postFixup = if isModular then ''
-    if [ -z "$dontStrip" ]; then
-        find $out -name "*.ko" -print0 | xargs -0 -r strip -S
-        # Remove all references to the source directory to avoid unneeded
-        # runtime dependencies
-        find $out -name "*.ko" -print0 | xargs -0 -r sed -i \
-          "s|${sourceRoot}|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${sourceRoot.name}|g"
-    fi
-  '' else null;
-
-  meta = {
-    description = "The Linux kernel";
-    license = "GPLv2";
-    homepage = http://www.kernel.org/;
-    maintainers = [
-      maintainers.shlevy
-    ];
-    platforms = lib.platforms.linux;
+  crossAttrs = let cp = stdenv.cross.platform; in
+    (drvAttrs crossConfig cp (kernelPatches ++ crossKernelPatches) crossConfigfile) // {
+      makeFlags = commonMakeFlags ++ [
+        "ARCH=${cp.kernelArch}"
+        "CROSS_COMPILE=$(crossConfig)-"
+      ];
+
+      # !!! uboot has messed up cross-compiling, nativeDrv builds arm tools on x86,
+      # crossDrv builds x86 tools on x86 (but arm uboot). If this is fixed, uboot
+      # can just go into buildInputs (but not nativeBuildInputs since cp.uboot
+      # may be different from stdenv.platform.uboot)
+      buildInputs = optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
   };
-}
+})
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 613f40c6fc9..cfe006fbe4b 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -3,7 +3,7 @@
 let
 
   makeTuxonicePatch = { version, kernelVersion, sha256,
-    url ? "http://tuxonice.net/files/tuxonice-${version}-for-${kernelVersion}.patch.bz2" }:
+    url ? "http://tuxonice.nigelcunningham.com.au/downloads/all/tuxonice-for-linux-${kernelVersion}-${version}.patch.bz2" }:
     { name = "tuxonice-${kernelVersion}";
       patch = stdenv.mkDerivation {
         name = "tuxonice-${version}-for-${kernelVersion}.patch";
@@ -18,98 +18,20 @@ let
       };
     };
 
-  makeAufs3StandalonePatch = {version, rev, sha256}:
-
-    stdenv.mkDerivation {
-      name = "aufs3-standalone-${version}.patch";
-
-      src = fetchgit {
-        url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
-        inherit sha256 rev;
+  grsecPatch = { grversion ? "3.0", kversion, revision, branch, sha256 }:
+    { name = "grsecurity-${grversion}-${kversion}";
+      inherit grversion kversion revision;
+      patch = fetchurl {
+        url = "http://grsecurity.net/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch";
+        inherit sha256;
       };
-
-      phases = [ "unpackPhase" "installPhase" ];
-
-      # Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
-      installPhase = ''
-        cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
-      '';
+      features.grsecurity = true;
     };
 
-  makeAppArmorPatch = {apparmor, version}:
-    stdenv.mkDerivation {
-      name = "apparmor-${version}.patch";
-      phases = ["installPhase"];
-      installPhase = ''
-        cat ${apparmor}/kernel-patches/${version}/* > $out
-      '';
-    };
 in
 
 rec {
 
-  apparmor_3_2 = rec {
-    version = "3.2";
-    name = "apparmor-${version}";
-    patch = makeAppArmorPatch { inherit apparmor version; };
-    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;
-      features.secPermPatch = true;
-    };
-
-  aufs3_0 = rec {
-    name = "aufs3.0";
-    version = "3.0.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "0627c706d69778f5c74be982f28c746153b8cdf7";
-      sha256 = "7008ff64f5adc2b3a30fcbb090bcbfaac61b778af38493b6144fc7d768a6514d";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
-  aufs3_2 = rec {
-    name = "aufs3.2";
-    version = "3.2.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "0bf50c3b82f98e2ddc4c9ba0657f28ebfa8d15cb";
-      sha256 = "bc4b65cb77c62744db251da98488fdf4962f14a144c045cea6cbbbd42718ff89";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
-  aufs3_4 = rec {
-    name = "aufs3.4";
-    version = "3.4.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "2faacd9baffb37df3b9062cc554353eebe68df1e";
-      sha256 = "3ecf97468f5e85970d9fd2bfc61e38c7f5ae2c6dde0045d5a17de085c411d452";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
   no_xsave =
     { name = "no-xsave";
       patch = ./no-xsave.patch;
@@ -131,14 +53,28 @@ rec {
       patch = ./mips-ext3-n32.patch;
     };
 
-  grsecurity_2_9_1_3_2_52 =
-    { name = "grsecurity-2.9.1-3.2.52";
-      patch = fetchurl {
-        url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.52-201310271550.patch;
-        sha256 = "08y4y323y2lfvdj67gmg3ca8gaf3snhr3pyrmgvj877avaz0475m";
-      };
-      # The grsec kernel patch seems to include the apparmor patches as of 2.9.1-3.2.52
-      features.apparmor = true;
+  tuxonice_3_10 = makeTuxonicePatch {
+    version = "2013-11-07";
+    kernelVersion = "3.10.18";
+    sha256 = "00b1rqgd4yr206dxp4mcymr56ymbjcjfa4m82pxw73khj032qw3j";
+  };
+
+  grsecurity_stable = grsecPatch
+    { kversion  = "3.14.10";
+      revision  = "201407012152";
+      branch    = "stable";
+      sha256    = "1119044lzkr9wpr1gpl1g0bz67c2xpdd9bkddllij7ja24jv8sx1";
     };
 
+  grsecurity_unstable = grsecPatch
+    { kversion  = "3.15.3";
+      revision  = "201407012153";
+      branch    = "test";
+      sha256    = "0bccayakprc77530crxfr9v2hbs6hlcf290pj1ywlh1p861ljgbm";
+    };
+
+  grsec_fix_path =
+    { name = "grsec-fix-path";
+      patch = ./grsec-path.patch;
+    };
 }
diff --git a/pkgs/os-specific/linux/kernel/perf.diff b/pkgs/os-specific/linux/kernel/perf.diff
new file mode 100644
index 00000000000..88d0381784f
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/perf.diff
@@ -0,0 +1,18 @@
+--- perf/config/utilities.mak.orig	2014-01-25 14:55:32.573320370 +0000
++++ perf/config/utilities.mak	2014-01-25 15:13:34.174337760 +0000
+@@ -186,9 +186,14 @@
+ endif
+ TRY_CC_MSG=echo "    CHK $(3)" 1>&2;
+ 
++define newline
++
++
++endef
++
+ try-cc = $(shell sh -c						  \
+ 	'TMP="$(OUTPUT)$(TMPOUT).$$$$";				  \
+ 	 $(TRY_CC_MSG)						  \
+-	 echo "$(1)" |						  \
++	 echo -e "$(subst $(newline),\\n,$(1))" | tee _test.c |   \
+ 	 $(CC) -x c - $(2) -o "$$TMP" $(TRY_CC_OUTPUT) && echo y; \
+ 	 rm -f "$$TMP"')
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 04924f013a4..8b8f7e1e78d 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,17 +1,21 @@
-{ stdenv, kernelDev, elfutils, python, perl, newt, slang, asciidoc, xmlto
+{ lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
 , withGtk ? false, gtk ? null }:
 
+with lib;
+
 assert withGtk -> gtk != null;
+assert versionAtLeast kernel.version "3.12";
 
 stdenv.mkDerivation {
-  name = "perf-linux-${kernelDev.version}";
+  name = "perf-linux-${kernel.version}";
 
-  inherit (kernelDev) src patches;
+  inherit (kernel) src patches;
 
   preConfigure = ''
     cd tools/perf
     sed -i s,/usr/include/elfutils,$elfutils/include/elfutils, Makefile
+    ${optionalString (versionOlder kernel.version "3.13") "patch -p1 < ${./perf.diff}"}
     [ -f bash_completion ] && sed -i 's,^have perf,_have perf,' bash_completion
     export makeFlags="DESTDIR=$out $makeFlags"
   '';
@@ -31,6 +35,7 @@ stdenv.mkDerivation {
     propagatedBuildInputs = [ elfutils.crossDrv newt.crossDrv ];
     makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-";
     elfutils = elfutils.crossDrv;
+    inherit (kernel.crossDrv) src patches;
   };
 
   meta = {
diff --git a/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch b/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch
deleted file mode 100644
index de9b29949c3..00000000000
--- a/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: linux-2.6.24-rc3/security/security.c
-===================================================================
-RCS file: /ext1/sysadm/transparent/repository/linux-2.6.24-rc3/security/security.c,v
-retrieving revision 1.1
-retrieving revision 1.2
-diff -u -p -r1.1 -r1.2
---- linux-2.6.24-rc3/security/security.c	21 Nov 2007 13:03:11 -0000	1.1
-+++ linux-2.6.24-rc3/security/security.c	21 Nov 2007 13:07:55 -0000	1.2
-@@ -409,6 +409,7 @@ int security_inode_permission(struct ino
- 		return 0;
- 	return security_ops->inode_permission(inode, mask, nd);
- }
-+EXPORT_SYMBOL(security_inode_permission);
- 
- int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
- {
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 43c580c2528..d1eb38df6da 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -1,25 +1,28 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl, gnumake, file }:
 
 stdenv.mkDerivation rec {
-  name = "keyutils-1.2";
-  
+  name = "keyutils-1.5.9";
+
   src = fetchurl {
-    url = http://people.redhat.com/dhowells/keyutils/keyutils-1.2.tar.bz2;
-    sha256 = "0gcv47crbaw6crgn02j1w75mknhnwgkhmfcmwq2qi9iwiwprnv9h";
+    url = "http://people.redhat.com/dhowells/keyutils/${name}.tar.bz2";
+    sha256 = "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd";
   };
 
+  buildInputs = [ file ];
+
   patchPhase = ''
-    sed -i -e "s, /etc, $out/etc," \
-        -e "s, /bin, $out/bin," \
-        -e "s, /sbin, $out/sbin," \
-        -e "s, /lib, $out/lib," \
-        -e "s,/usr,$out," \
+    sed -i -e "s, /usr/bin/make, ${gnumake}/bin/make," \
+        -e "s, /usr, ," \
+        -e "s,\$(LNS) \$(LIBDIR)/\$(SONAME),\$(LNS) \$(SONAME)," \
         Makefile
   '';
-  
-  meta = {
+
+  installPhase = "make install DESTDIR=$out";
+
+  meta = with stdenv.lib; {
     homepage = http://people.redhat.com/dhowells/keyutils/;
     description = "Tools used to control the Linux kernel key management system";
-    license = "GPLv2+";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index 97bdd9ebacb..df44cb68d8b 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -1,74 +1,48 @@
-{ stdenv, fetchurl, perl, bison, mktemp, linuxHeaders, linuxHeadersCross, kernelDev ? null }:
-
-assert stdenv.isLinux;
+{ stdenv, fetchurl, kernelHeaders, kernel, perl }:
 
 let
-  version = "1.5.24";
-  baseMakeFlags = ["V=1" "prefix=$out" "SHLIBDIR=$out/lib"];
+  version = "2.0.3";
+
+  commonMakeFlags = [
+    "prefix=$(out)"
+    "SHLIBDIR=$(out)/lib"
+  ];
 in
 
 stdenv.mkDerivation {
-  name = "klibc-${version}${stdenv.lib.optionalString (kernelDev != null) "-${kernelDev.version}"}";
+  name = "klibc-${version}-${kernel.version}";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
-    sha256 = "18lm32dlj9k2ky9wwk274zmc3jndgrb41b6qm82g3lza6wlw3yki";
+    url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
+    sha256 = "02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa";
   };
 
-  # Trick to make this build on nix. It expects to have the kernel sources
-  # instead of only the linux kernel headers.
-  # So it cannot run the 'make headers_install' it wants to run.
-  # We don't install the headers, so klibc will not be useful as libc, but
-  # usually in nixpkgs we only use the userspace tools comming with klibc.
-  prePatch = stdenv.lib.optionalString (kernelDev == null) ''
-    sed -i -e /headers_install/d scripts/Kbuild.install
-  '';
-  
-  makeFlags = baseMakeFlags;
+  patches = [ ./no-reinstall-kernel-headers.patch ];
 
-  inherit linuxHeaders;
+  nativeBuildInputs = [ perl ];
 
-  crossAttrs = {
-    makeFlags = baseMakeFlags ++ [ "CROSS_COMPILE=${stdenv.cross.config}-"
-        "KLIBCARCH=${stdenv.cross.arch}" ];
+  makeFlags = commonMakeFlags ++ [
+    "KLIBCARCH=${stdenv.platform.kernelArch}"
+    "KLIBCKERNELSRC=${kernelHeaders}"
+  ] ++ stdenv.lib.optional (stdenv.platform.kernelArch == "arm") "CONFIG_AEABI=y";
 
-    patchPhase = ''
-      sed -i 's/-fno-pic -mno-abicalls/& -mabi=32/' usr/klibc/arch/mips/MCONFIG
-      sed -i /KLIBCKERNELSRC/d scripts/Kbuild.install
-      # Wrong check for __mips64 in klibc
-      sed -i s/__mips64__/__mips64/ usr/include/fcntl.h
-    '';
-
-    linuxHeaders = linuxHeadersCross;
+  crossAttrs = {
+    makeFlags = commonMakeFlags ++ [
+      "KLIBCARCH=${stdenv.cross.platform.kernelArch}"
+      "KLIBCKERNELSRC=${kernelHeaders.crossDrv}"
+      "CROSS_COMPILE=${stdenv.cross.config}-"
+    ] ++ stdenv.lib.optional (stdenv.cross.platform.kernelArch == "arm") "CONFIG_AEABI=y";
   };
-  
-  # The AEABI option concerns only arm systems, and does not affect the build for
-  # other systems.
-  preBuild = ''
-    sed -i /CONFIG_AEABI/d defconfig
-    echo "CONFIG_AEABI=y" >> defconfig
-    makeFlags=$(eval "echo $makeFlags")
 
-  '' + (if kernelDev == null then ''
-    mkdir linux
-    cp -prsd $linuxHeaders/include linux/
-    chmod -R u+w linux/include/
-  '' else ''
-    tar xvf ${kernelDev.src}
-    mv linux* linux
-    cd linux
-    ln -sv ${kernelDev}/config .config
-    make prepare
-    cd ..
-  '');
-  
   # Install static binaries as well.
   postInstall = ''
     dir=$out/lib/klibc/bin.static
     mkdir $dir
     cp $(find $(find . -name static) -type f ! -name "*.g" -a ! -name ".*") $dir/
     cp usr/dash/sh $dir/
+
+    for file in ${kernelHeaders}/include/*; do
+      ln -sv $file $out/lib/klibc/include
+    done
   '';
-  
-  nativeBuildInputs = [ perl bison mktemp ];
 }
diff --git a/pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch b/pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch
new file mode 100644
index 00000000000..d3e55fc8731
--- /dev/null
+++ b/pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch
@@ -0,0 +1,11 @@
+diff -Naur klibc-2.0.3-orig/scripts/Kbuild.install klibc-2.0.3/scripts/Kbuild.install
+--- klibc-2.0.3-orig/scripts/Kbuild.install	2013-12-03 13:53:46.000000000 -0500
++++ klibc-2.0.3/scripts/Kbuild.install	2014-01-04 18:17:09.342609021 -0500
+@@ -95,7 +95,6 @@
+ 	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ 	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+ 	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+-	$(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
+ 	$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+ 	$(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ 	$(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
diff --git a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
new file mode 100644
index 00000000000..682c36401de
--- /dev/null
+++ b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, gnugrep, findutils }:
+let
+  version = "3ubuntu1"; # Saucy
+in
+stdenv.mkDerivation {
+  name = "kmod-blacklist-${version}";
+
+  src = fetchurl {
+    url = "http://archive.ubuntu.com/ubuntu/pool/main/k/kmod/kmod_9-${version}.debian.tar.gz";
+    sha256 = "0h6h0zw2490iqj9xa2sz4309jyfmcc50jdvkhxa1nw90npxglp67";
+  };
+
+  installPhase = ''
+    mkdir "$out"
+    for f in modprobe.d/*.conf; do
+      echo "''\n''\n## file: "`basename "$f"`"''\n''\n" >> "$out"/modprobe.conf
+      cat "$f" >> "$out"/modprobe.conf
+    done
+
+    substituteInPlace "$out"/modprobe.conf \
+      --replace /sbin/lsmod /run/booted-system/sw/bin/lsmod \
+      --replace /sbin/rmmod /run/booted-system/sw/sbin/rmmod \
+      --replace /sbin/modprobe /run/booted-system/sw/sbin/modprobe \
+      --replace " grep " " ${gnugrep}/bin/grep " \
+      --replace " xargs " " ${findutils}/bin/xargs "
+  '';
+
+  meta = {
+    homepage = http://packages.ubuntu.com/source/saucy/kmod;
+    description = "Linux kernel module blacklists from Ubuntu";
+  };
+}
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 96d756bc7d2..380b4a35f1c 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "kmod-12";
+  name = "kmod-17";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "c6189dd8c5a1e8d9224e8506bd188c0cd5dfa119fd6b7e5869b3640cbe8bf92f";
+    sha256 = "1yid3a9b64a60ybj66fk2ysrq5klnl0ijl4g624cl16y8404g9rv";
   };
 
   # Disable xz/zlib support to prevent needing them in the initrd.
diff --git a/pkgs/os-specific/linux/kmod/module-dir.patch b/pkgs/os-specific/linux/kmod/module-dir.patch
index 95d08da4580..0c4ab4bd4c4 100644
--- a/pkgs/os-specific/linux/kmod/module-dir.patch
+++ b/pkgs/os-specific/linux/kmod/module-dir.patch
@@ -1,7 +1,7 @@
-diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c
---- kmod-7-orig/libkmod/libkmod.c	2012-03-15 08:19:16.750010226 -0400
-+++ kmod-7/libkmod/libkmod.c	2012-04-04 15:21:29.532074313 -0400
-@@ -200,7 +200,7 @@
+diff -ru -x '*~' kmod-17-orig/libkmod/libkmod.c kmod-17/libkmod/libkmod.c
+--- kmod-17-orig/libkmod/libkmod.c	2014-04-01 12:40:37.161940089 +0200
++++ kmod-17/libkmod/libkmod.c	2014-04-17 13:47:15.871441987 +0200
+@@ -201,7 +201,7 @@
  static char *get_kernel_release(const char *dirname)
  {
  	struct utsname u;
@@ -10,7 +10,7 @@ diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c
  
  	if (dirname != NULL)
  		return path_make_absolute_cwd(dirname);
-@@ -208,7 +208,10 @@
+@@ -209,7 +209,10 @@
  	if (uname(&u) < 0)
  		return NULL;
  
@@ -22,3 +22,39 @@ diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c
  		return NULL;
  
  	return p;
+diff -ru -x '*~' kmod-17-orig/tools/static-nodes.c kmod-17/tools/static-nodes.c
+--- kmod-17-orig/tools/static-nodes.c	2013-12-17 22:05:42.159047316 +0100
++++ kmod-17/tools/static-nodes.c	2014-04-17 13:51:17.945974320 +0200
+@@ -159,6 +159,7 @@
+ 	FILE *in = NULL, *out = NULL;
+ 	const struct static_nodes_format *format = &static_nodes_format_human;
+ 	int r, ret = EXIT_SUCCESS;
++	char *dirname_prefix;
+ 
+ 	for (;;) {
+ 		int c, idx = 0, valid;
+@@ -211,16 +212,19 @@
+ 		goto finish;
+ 	}
+ 
+-	snprintf(modules, sizeof(modules), "/lib/modules/%s/modules.devname", kernel.release);
++	if ((dirname_prefix = getenv("MODULE_DIR")) == NULL)
++		dirname_prefix = "/lib/modules";
++
++	snprintf(modules, sizeof(modules), "%s/%s/modules.devname", dirname_prefix, kernel.release);
+ 	in = fopen(modules, "re");
+ 	if (in == NULL) {
+ 		if (errno == ENOENT) {
+-			fprintf(stderr, "Warning: /lib/modules/%s/modules.devname not found - ignoring\n",
+-				kernel.release);
++			fprintf(stderr, "Warning: %s/%s/modules.devname not found - ignoring\n",
++				dirname_prefix, kernel.release);
+ 			ret = EXIT_SUCCESS;
+ 		} else {
+-			fprintf(stderr, "Error: could not open /lib/modules/%s/modules.devname - %m\n",
+-				kernel.release);
++			fprintf(stderr, "Error: could not open %s/%s/modules.devname - %m\n",
++				dirname_prefix, kernel.release);
+ 			ret = EXIT_FAILURE;
+ 		}
+ 		goto finish;
diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix
new file mode 100644
index 00000000000..4f9b872ce1c
--- /dev/null
+++ b/pkgs/os-specific/linux/kmscon/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, fetchurl
+, libtsm
+, systemd
+, libxkbcommon
+, libdrm
+, mesa
+, pango
+, pixman
+, pkgconfig
+, docbook_xsl
+, libxslt
+}:
+
+stdenv.mkDerivation rec {
+  name = "kmscon-8";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/kmscon/releases/${name}.tar.xz";
+    sha256 = "0axfwrp3c8f4gb67ap2sqnkn75idpiw09s35wwn6kgagvhf1rc0a";
+  };
+
+  buildInputs = [
+    libtsm
+    systemd
+    libxkbcommon
+    libdrm
+    mesa
+    pango
+    pixman
+    pkgconfig
+    docbook_xsl
+    libxslt
+  ];
+
+  configureFlags = [
+    "--enable-multi-seat"
+    "--disable-debug"
+    "--enable-optimizations"
+    "--with-renderers=bbulk,gltex,pixman"
+  ];
+
+  meta = {
+    description = "KMS/DRM based System Console";
+    homepage = "http://www.freedesktop.org/wiki/Software/kmscon/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/ktap/default.nix b/pkgs/os-specific/linux/ktap/default.nix
new file mode 100644
index 00000000000..a82804cb837
--- /dev/null
+++ b/pkgs/os-specific/linux/ktap/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, kernel, useFFI ? false }:
+
+let
+  ffiArgs = stdenv.lib.optionalString useFFI "FFI=1";
+in
+stdenv.mkDerivation rec {
+  name = "ktap-${version}";
+  version = "0.5-e7a38ef0";
+  src = fetchgit {
+    url    = "https://github.com/ktap/ktap.git";
+    rev    = "e7a38ef06bec9a651c9e8bdb3ad66a104210d475";
+    sha256 = "07acf20e1926d3afd89b13855154b8cc792c57261e7d3cae2da70cb08844f9c8";
+  };
+
+  buildPhase = ''
+    make ${ffiArgs} KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
+  '';
+
+  installPhase = ''
+    mkdir -p $out/sbin
+    cp ktap $out/sbin
+    make modules_install KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build INSTALL_MOD_PATH=$out
+  '';
+
+  meta = {
+    description = "A lightweight script-based dynamic tracing tool for Linux.";
+    homepage    = "http://www.ktap.org";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/os-specific/linux/latencytop/default.nix b/pkgs/os-specific/linux/latencytop/default.nix
index eb776dcb86d..163ac189050 100644
--- a/pkgs/os-specific/linux/latencytop/default.nix
+++ b/pkgs/os-specific/linux/latencytop/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://latencytop.org;
     description = "Tool to show kernel reports on latencies (LATENCYTOP option)";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
new file mode 100644
index 00000000000..c5e94ed81e9
--- /dev/null
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchgit, udev, utillinux, mountPath ? "/media/" }:
+
+assert mountPath != "";
+
+let
+  version = "0.5";
+  git = https://github.com/LemonBoy/ldm.git;
+in
+stdenv.mkDerivation rec {
+  name = "ldm-${version}";
+
+  # There is a stable release, but we'll use the lvm branch, which
+  # contains important fixes for LVM setups.
+  src = fetchgit {
+    url = meta.repositories.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "0kkby3a0xgh1lmkbzpsi4am2rqjv3ccgdpic99aw1c76y0ca837y";
+  };
+
+  buildInputs = [ udev utillinux ];
+
+  preBuild = ''
+    substituteInPlace ldm.c \
+      --replace "/mnt/" "${mountPath}"
+  '';
+
+  buildPhase = "make ldm";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -v ldm $out/bin
+  '';
+
+  meta = {
+    description = "A lightweight device mounter, with libudev as only dependency";
+    license = stdenv.lib.licenses.mit;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+    repositories.git = git;
+  };
+}
diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix
index 57137400b2f..bf30530e9ad 100644
--- a/pkgs/os-specific/linux/libaio/default.nix
+++ b/pkgs/os-specific/linux/libaio/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
   name = "libaio-0.3.109";
 
-  src = fetchurl {
-    url = "mirror://kernel/linux/libs/aio/${name}.tar.bz2";
-    sha256 = "15772ki2wckf2mj4gm1vhrsmpd6rq20983nhlkfghjfblghgrkmm";
+  src = fetchgit {
+    url = https://git.fedorahosted.org/git/libaio.git;
+    rev = "refs/tags/${name}";
+    sha256 = "1wbziq0hqvnbckpxrz1cgr8dlw3mifs4xpy3qhnagbrrsmrq2rhi";
   };
 
   makeFlags = "prefix=$(out)";
diff --git a/pkgs/os-specific/linux/libatasmart/default.nix b/pkgs/os-specific/linux/libatasmart/default.nix
index 86dffde4b55..7fe0a2be10f 100644
--- a/pkgs/os-specific/linux/libatasmart/default.nix
+++ b/pkgs/os-specific/linux/libatasmart/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libatasmart-0.17";
+  name = "libatasmart-0.19";
 
   src = fetchurl {
-    url = "http://0pointer.de/public/${name}.tar.gz";
-    sha256 = "1zazxnqsirlv9gkzij6z31b21gv2nv7gkpja0wpxwb7kfh9a2qid";
+    url = "http://0pointer.de/public/${name}.tar.xz";
+    sha256 = "138gvgdwk6h4ljrjsr09pxk1nrki4b155hqdzyr8mlk3bwsfmw31";
   };
 
   buildInputs = [ pkgconfig udev ];
diff --git a/pkgs/os-specific/linux/libcap-ng/default.nix b/pkgs/os-specific/linux/libcap-ng/default.nix
index bbeb2851ea3..3670f06e543 100644
--- a/pkgs/os-specific/linux/libcap-ng/default.nix
+++ b/pkgs/os-specific/linux/libcap-ng/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     description = "Library for working with POSIX capabilities";
     homepage = http://people.redhat.com/sgrubb/libcap-ng/;
     platforms = stdenv.lib.platforms.linux;
-    license = "LGPLv2.1";
+    license = stdenv.lib.licenses.lgpl21;
   };
 }
diff --git a/pkgs/os-specific/linux/libnl/3.2.19.nix b/pkgs/os-specific/linux/libnl/3.2.19.nix
new file mode 100644
index 00000000000..ea508c088e7
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/3.2.19.nix
@@ -0,0 +1,20 @@
+
+{stdenv, fetchurl, bison, flex}:
+
+stdenv.mkDerivation rec {
+  name = "libnl-3.2.19";
+
+  src = fetchurl {
+    url = "${meta.homepage}files/${name}.tar.gz";
+    sha256 = "12q97cw680hg4rylyd8j3d7azwwia4ndsv3kybd1ajp8hjni39ip";
+  };
+
+  buildInputs = [ bison flex ];
+
+  meta = {
+    homepage = "http://www.infradead.org/~tgr/libnl/";
+    description = "Linux NetLink interface library";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix
index 6fe31c63178..093a00ed9a5 100644
--- a/pkgs/os-specific/linux/libnl/default.nix
+++ b/pkgs/os-specific/linux/libnl/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, bison, flex}:
 
 stdenv.mkDerivation rec {
-  name = "libnl-3.2.13";
+  name = "libnl-3.2.23";
 
   src = fetchurl {
     url = "${meta.homepage}files/${name}.tar.gz";
-    sha256 = "1ydw42lsd572qwrfgws97n76hyvjdpanwrxm03lysnhfxkna1ssd";
+    sha256 = "1czj2bpb799bih6ighqwbvv9pvbpcw7vmccv9cwavfwcmalwvhlc";
   };
 
   buildInputs = [ bison flex ];
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 01935e76632..746f49b519d 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -8,38 +8,30 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libselinux-${version}";
-  version = "2.1.12";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
-    sha256 = "17navgvljgq35bljzcdwjdj3khajc27s15binr51xkp0h29qgbcd";
+    sha256 = "1ckpiv6m5c07rp5vawlhv02w5rq8kc0n95fh2ckq2jnqxi1hn7hb";
   };
 
-  patch_src = fetchurl {
-    url = "http://dev.gentoo.org/~swift/patches/libselinux/patchbundle-${name}-r2.tar.gz";
-    sha256 = "08zaas8iwyf4w9ll1ylyv4gril1nfarckd5h1l53563sxzyf7dqh";
-  };
-
-  patches = [ ./fPIC.patch ]; # libsemanage seems to need -fPIC everywhere
-
   buildInputs = [ pkgconfig libsepol pcre ]
              ++ optionals enablePython [ swig python ];
 
-  prePatch = ''
-    tar xvf ${patch_src}
-    for p in gentoo-patches/*.patch; do
-      patch -p1 < "$p"
-    done
-  '';
-
   postPatch = optionalString enablePython ''
     sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
   '';
 
-  installFlags = [ "PREFIX=$(out)" "DESTDIR=$(out)" "LIBSEPOLDIR=${libsepol}" ];
+  installFlags = [ "PREFIX=$(out)" "DESTDIR=$(out)" ];
   installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
 
+  # TODO: Figure out why the build incorrectly links libselinux.so
+  postInstall = ''
+    rm $out/lib/libselinux.so
+    ln -s libselinux.so.1 $out/lib/libselinux.so
+  '';
+
   meta = {
     inherit (libsepol.meta) homepage platforms maintainers;
   };
diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix
index 28908189cf3..599da9e4b3c 100644
--- a/pkgs/os-specific/linux/libsemanage/default.nix
+++ b/pkgs/os-specific/linux/libsemanage/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, libsepol, libselinux, ustr, bzip2, bison, flex }:
+{ stdenv, fetchurl, libsepol, libselinux, ustr, bzip2, bison, flex, audit }:
 stdenv.mkDerivation rec {
 
   name = "libsemanage-${version}";
-  version = "2.1.9";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsemanage-${version}.tar.gz";
-    sha256 = "1k1my3n1pj30c5887spykcdk1brgxfpxmrz6frxjyhaijxzx20bg";
+    sha256 = "0jrf66df80mvjhrsbxcnb60j69pg4dh2pydy8vj8dhhiwqsrxq03";
   };
 
   makeFlags = "PREFIX=$(out) DESTDIR=$(out)";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   NIX_CFLAGS_LINK = "-lsepol";
 
-  buildInputs = [ libsepol libselinux ustr bzip2 bison flex ];
+  buildInputs = [ libsepol libselinux ustr bzip2 bison flex audit ];
 
   meta = with stdenv.lib; {
     inherit (libsepol.meta) homepage platforms maintainers;
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index d41d1cbe752..c469fe93493 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -2,23 +2,29 @@
 
 stdenv.mkDerivation rec {
   name = "libsepol-${version}";
-  version = "2.1.8";
-  se_release = "20120924";
+  version = "2.3";
+  se_release = "20140506";
   se_url = "${meta.homepage}/releases";
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
-    sha256 = "1w38q3lmha5m9aps9w844i51yw4b8q1vhpng2kdywn2n8cpdvvk3";
+    sha256 = "13z6xakc2qqyhlvnc5h53jy7lqmh5b5cnpfn51lmvfdpqd18d3fc";
   };
 
   preBuild = '' makeFlags="$makeFlags PREFIX=$out DESTDIR=$out" '';
 
-  passthru = { inherit se_release se_url meta; };
+  # TODO: Figure out why the build incorrectly links libsepol.so
+  postInstall = ''
+    rm $out/lib/libsepol.so
+    ln -s libsepol.so.1 $out/lib/libsepol.so
+  '';
+
+  passthru = { inherit se_release se_url; };
 
   meta = with stdenv.lib; {
     homepage = http://userspace.selinuxproject.org;
     platforms = platforms.linux;
     maintainers = [ maintainers.phreedom ];
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/libvolume_id/default.nix b/pkgs/os-specific/linux/libvolume_id/default.nix
index 3deaa7097c4..0a52df0bee7 100644
--- a/pkgs/os-specific/linux/libvolume_id/default.nix
+++ b/pkgs/os-specific/linux/libvolume_id/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
    
 stdenv.mkDerivation {
-  name = "libvolume_id-0.81.0";
+  name = "libvolume_id-0.81.1";
    
   src = fetchurl {
-    url = http://www.marcuscom.com/downloads/libvolume_id-0.81.0.tar.bz2;
-    sha256 = "1dpmp1kb40kb1jxj6flpi37wy789wf91dm4bax6jspd1jdc6hsrg";
+    url = http://www.marcuscom.com/downloads/libvolume_id-0.81.1.tar.bz2;
+    sha256 = "029z04vdxxsl8gycm9whcljhv6dy4b12ybsxdb99jr251gl1ifs5";
   };
 
   preBuild = "
diff --git a/pkgs/os-specific/linux/lm-sensors/default.nix b/pkgs/os-specific/linux/lm-sensors/default.nix
index 354027dbd71..388ec857b4a 100644
--- a/pkgs/os-specific/linux/lm-sensors/default.nix
+++ b/pkgs/os-specific/linux/lm-sensors/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, bison, flex, which, perl }:
 
-let version = "3.3.4"; in
+let version = "3.3.5"; in
 
 stdenv.mkDerivation rec {
   name = "lm-sensors-${version}";
   
   src = fetchurl {
     url = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2";
-    sha256 = "0vd7dgpcri7cbvgl5fwvja53lqz829vkbbp17x7b5r2xrc88cq5l";
+    sha256 = "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx";
   };
 
   buildInputs = [ bison flex which perl ];
diff --git a/pkgs/os-specific/linux/lockdep/default.nix b/pkgs/os-specific/linux/lockdep/default.nix
new file mode 100644
index 00000000000..1554715a613
--- /dev/null
+++ b/pkgs/os-specific/linux/lockdep/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "lockdep-${version}";
+  version = "3.16.1";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
+  };
+
+  preConfigure = "cd tools/lib/lockdep";
+  installPhase = ''
+    mkdir -p $out/bin $out/lib $out/include
+
+    cp -R include/liblockdep $out/include
+    make install DESTDIR=$out prefix=""
+
+    substituteInPlace $out/bin/lockdep --replace "./liblockdep.so" "$out/lib/liblockdep.so.$version"
+  '';
+
+  meta = {
+    description = "userspace locking validation tool built on the Linux kernel";
+    homepage    = "https://kernel.org/";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/os-specific/linux/lsiutil/default.nix b/pkgs/os-specific/linux/lsiutil/default.nix
index 700455d5f8b..93cab433c9c 100644
--- a/pkgs/os-specific/linux/lsiutil/default.nix
+++ b/pkgs/os-specific/linux/lsiutil/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.lsi.com/;
     description = "LSI Logic Fusion MPT command line management tool";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/os-specific/linux/lsscsi/default.nix b/pkgs/os-specific/linux/lsscsi/default.nix
index 886f6c799a4..70e82662b41 100644
--- a/pkgs/os-specific/linux/lsscsi/default.nix
+++ b/pkgs/os-specific/linux/lsscsi/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation {
-  name = "lsscsi-0.24";
+  name = "lsscsi-0.27";
 
   src = fetchurl {
-    url = "http://sg.danny.cz/scsi/lsscsi-0.24.tgz";
-    sha256 = "0c718w80vi9a0w48q8xmlnbyqzxfd8lax5dcbqg8gvg4l2zaba2c";
+    url = "http://sg.danny.cz/scsi/lsscsi-0.27.tgz";
+    sha256 = "1d6rl2jwpd6zlqymmp9z4ri5j43d44db2s71j0v0rzs1nbvm90kb";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index e58d61e426b..8e20bf1e3d3 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 stdenv.mkDerivation rec {
-  pname = "lttng-modules-2.3.0";
-  name = "${pname}-${kernelDev.version}";
+  pname = "lttng-modules-2.4.1";
+  name = "${pname}-${kernel.version}";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2";
-    sha256 = "0l9fbmpsjvm5pbrc6axy8chdp21j4b8fm0hmjhpk658ll0iixmpb";
+    sha256 = "1qn1qm8lwqw9ri9wfkf6k3d58gl9rwffmpbpkwx21v1fw95zi92k";
   };
 
   patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ];
 
   preConfigure = ''
-    export KERNELDIR="${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
+    export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     export INSTALL_MOD_PATH="$out"
   '';
 
@@ -23,9 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Linux kernel modules for LTTng tracing";
     homepage = http://lttng.org/;
-    # TODO: Add "mit" to the license list once the license attr set vs string
-    # decision has been made. (Having "mit" there breaks hydra evaluation.)
-    license = with licenses; [ lgpl21 gpl2 ];
+    # TODO license = with licenses; [ lgpl21 gpl2 mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 53127e4458c..9e2b0c90079 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }:
 
 let
-  v = "2.02.100";
+  v = "2.02.106";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz";
-    md5 = "9629cf5728544d7e637cafde1f73d777";
+    sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc";
   };
 
   configureFlags =
@@ -29,6 +29,8 @@ stdenv.mkDerivation {
       sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
     '';
 
+  enableParallelBuilding = true;
+
   #patches = [ ./purity.patch ];
 
   # To prevent make install from failing.
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 5a9b3587870..12305687c29 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -3,21 +3,25 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lxc-1.0.0.alpha1-92-g8111adf";
+  name = "lxc-1.0.3";
 
   src = fetchurl {
     url = "http://github.com/lxc/lxc/archive/${name}.tar.gz";
-    sha256 = "05hjrn79wyjnm4ynf8y0j7pk2hwfrzp4dzwynxq4z2wxlc1ficd5";
+    sha256 = "04k45jgj2i501yhm467s1a1yk7h7q0fjhspys158w1a2m1hari4z";
   };
 
   buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ];
 
   patches = [ ./install-localstatedir-in-store.patch ./support-db2x.patch ];
 
-  preConfigure = "export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
+  preConfigure = ''
+    export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml
+    substituteInPlace doc/rootfs/Makefile.am --replace '@LXCROOTFSMOUNT@' '$out/lib/lxc/rootfs'
+  '';
 
   configureFlags = [
     "--localstatedir=/var"
+    "--with-rootfs-path=/var/lib/lxc/rootfs"
     "--enable-doc"
     "--enable-tests"
     "--enable-apparmor"
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index b60b6134fdd..463722d2c96 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -10,7 +10,7 @@
 let
 
   rev = "7fa99818367a6d17014b36d6f918ad848cbe7ce2";
-  version = "1.0pre-${rev}"; 
+  version = "1.0pre-${stdenv.lib.strings.substring 0 7 rev}"; 
   sha256 = "15eea3acd76190c7922c71028b31963221a2eefd8afa713879e191a26bc22ae7";
 
 in stdenv.mkDerivation {
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
   makeFlags = "prefix=$(out) etcprefix=$(out) DOCDIR=$(out)/share/doc";
 
   preInstall = ''
-    ensureDir $out/share/doc
+    mkdir -p $out/share/doc
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 1653c018ce1..48e1c178490 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -1,16 +1,13 @@
 { stdenv, fetchurl, groff }:
 
 stdenv.mkDerivation rec {
-  name = "mdadm-3.1.2";
+  name = "mdadm-3.3";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2";
-    sha256 = "0s2d2a01j8cizxqvbgd0sn5bpa1j46q8976078b3jq1q7i1ir0zz";
+    sha256 = "0igdqflihiq1dp5qlypzw0xfl44f4n3bckl7r2x2wfgkplcfa1ww";
   };
 
-  # Enable incremental activation of swraid arrays from udev.
-  patches = [ ./udev.patch ];
-
   nativeBuildInputs = [ groff ];
 
   preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile";
@@ -19,7 +16,7 @@ stdenv.mkDerivation rec {
   # /dev/.mdadm/map as a fallback).
   preBuild =
     ''
-      makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man VAR_RUN=/var/run/mdadm ALT_RUN=/dev/.mdadm)
+      makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man RUN_DIR=/dev/.mdadm)
       if [[ -n "$crossConfig" ]]; then
         makeFlagsArray+=(CROSS_COMPILE=$crossConfig-)
       fi
diff --git a/pkgs/os-specific/linux/mdadm/udev.patch b/pkgs/os-specific/linux/mdadm/udev.patch
deleted file mode 100644
index 5eb35f0c584..00000000000
--- a/pkgs/os-specific/linux/mdadm/udev.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --exclude '*~' -rc mdadm-3.1.2-orig/udev-md-raid.rules mdadm-3.1.2/udev-md-raid.rules
-*** mdadm-3.1.2-orig/udev-md-raid.rules	2010-02-22 21:14:58.000000000 +0100
---- mdadm-3.1.2/udev-md-raid.rules	2010-05-16 20:45:22.000000000 +0200
-***************
-*** 5,11 ****
-  ACTION=="change", GOTO="md_no_incr"
-  
-  # import data from a raid member and activate it
-! #ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
-  # import data from a raid set
-  LABEL="md_no_incr"
-  KERNEL!="md*", GOTO="md_end"
---- 5,11 ----
-  ACTION=="change", GOTO="md_no_incr"
-  
-  # import data from a raid member and activate it
-! ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
-  # import data from a raid set
-  LABEL="md_no_incr"
-  KERNEL!="md*", GOTO="md_end"
diff --git a/pkgs/os-specific/linux/microcode/converter.nix b/pkgs/os-specific/linux/microcode/converter.nix
index 49babc6ca57..da4d9677217 100644
--- a/pkgs/os-specific/linux/microcode/converter.nix
+++ b/pkgs/os-specific/linux/microcode/converter.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir "$out/bin"
+    mkdir -p "$out/bin"
     cp intel-microcode2ucode "$out/bin/"
   '';
 
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index d96a4943625..b72194548e0 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, microcode2ucode }:
 
-let version = "20130906"; in
+let version = "20140624"; in
 
 stdenv.mkDerivation {
   name = "microcode-intel-${version}";
 
   src = fetchurl {
-    url = "http://downloadmirror.intel.com/23166/eng/microcode-${version}.tgz";
-    sha256 = "11k327icvijadq2zkgkc3sqwzraip9cviqm25566g09523ds0svv";
+    url = "http://downloadmirror.intel.com/23984/eng/microcode-${version}.tgz";
+    sha256 = "0dza0bdlx7q88yhnynvfgkrhgf7ycrq6mlp6hwnpp2j3h33jlrml";
   };
 
   buildInputs = [ microcode2ucode ];
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
new file mode 100644
index 00000000000..97407c887ce
--- /dev/null
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "musl-${version}";
+  version = "1.1.4";
+
+  src = fetchurl {
+    url    = "http://www.musl-libc.org/releases/${name}.tar.gz";
+    sha256 = "1kgmi17zpzgjhywmmqxazj8qsx8cf9siwa65jqd2i6rs7jnnb335";
+  };
+
+  enableParallelBuilding = true;
+  configurePhase = ''
+    ./configure --enable-shared --enable-static --prefix=$out --syslibdir=$out/lib
+  '';
+
+  meta = {
+    description = "An efficient, small, quality libc implementation";
+    homepage    = "http://www.musl-libc.org";
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix
index e2db1a4106b..f95de433564 100644
--- a/pkgs/os-specific/linux/ndiswrapper/default.nix
+++ b/pkgs/os-specific/linux/ndiswrapper/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, kernelDev, perl }:
+{ stdenv, fetchurl, kernel, perl, kmod }:
 
 stdenv.mkDerivation {
-  name = "ndiswrapper-1.56-${kernelDev.version}";
+  name = "ndiswrapper-1.59-${kernel.version}";
+
+  patches = [ ./no-sbin.patch ];
 
   # need at least .config and include 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   buildPhase = "
     echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
     echo -n $kernel/lib/modules/*/build > kbuild_path
+    export PATH=${kmod}/sbin:$PATH
     make KBUILD=$(echo \$kernel/lib/modules/*/build);
   ";
 
@@ -23,14 +26,11 @@ stdenv.mkDerivation {
 
   # should we use unstable? 
   src = fetchurl {
-    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.56.tar.gz;
-    sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
+    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.59.tar.gz;
+    sha256 = "1g6lynccyg4m7gd7vhy44pypsn8ifmibq6rqgvc672pwngzx79b6";
   };
 
-  buildInputs = [ kernelDev perl ];
-
-  # this is a patch against svn head, not stable version
-  patches = [./prefix.patch];
+  buildInputs = [ perl ];
 
   meta = { 
     description = "Ndis driver wrapper for the Linux kernel";
diff --git a/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch b/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
new file mode 100644
index 00000000000..cfc048d772b
--- /dev/null
+++ b/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
@@ -0,0 +1,12 @@
+diff -Naur ndiswrapper-1.59-orig/driver/Makefile ndiswrapper-1.59/driver/Makefile
+--- ndiswrapper-1.59-orig/driver/Makefile	2013-11-28 14:42:35.000000000 -0500
++++ ndiswrapper-1.59/driver/Makefile	2014-01-04 18:31:43.242377375 -0500
+@@ -191,7 +191,7 @@
+ 	rm -rf .tmp_versions
+ 
+ install: config_check $(MODULE)
+-	@/sbin/modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
++	@modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
+ 		{ echo "$(MODULE)" is not for Linux $(KVERS); exit 1; }
+ 	mkdir -p -m 755 $(DESTDIR)$(INST_DIR)
+ 	install -m 0644 $(MODULE) $(DESTDIR)$(INST_DIR)
diff --git a/pkgs/os-specific/linux/ndiswrapper/prefix.patch b/pkgs/os-specific/linux/ndiswrapper/prefix.patch
deleted file mode 100644
index ec77f4cae79..00000000000
--- a/pkgs/os-specific/linux/ndiswrapper/prefix.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -r -u ndiswrapper-1.53/driver/loader.c ndiswrapper-1.53/driver/loader.c
---- ndiswrapper-1.53/driver/loader.c	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/loader.c	2008-06-15 17:05:07.000000000 +0400
-@@ -100,7 +100,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			ERROR("couldn't load driver %s; check system log "
-@@ -262,7 +262,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			ERROR("couldn't load file %s/%s; check system log "
-@@ -698,7 +698,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			TRACE1("couldn't load device %04x:%04x; check system "
-diff -r -u ndiswrapper-1.53/driver/Makefile ndiswrapper-1.53/driver/Makefile
---- ndiswrapper-1.53/driver/Makefile	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/Makefile	2008-06-15 17:03:31.000000000 +0400
-@@ -95,6 +95,10 @@
- EXTRA_CFLAGS += -DWRAP_PREEMPT
- endif
- 
-+ifdef DIST_DESTDIR
-+EXTRA_CFLAGS += -DPREFIX=\"$(DIST_DESTDIR)\"
-+endif
-+
- OBJS = crt.o hal.o iw_ndis.o loader.o ndis.o ntoskernel.o ntoskernel_io.o \
- 	pe_linker.o pnp.o proc.o rtl.o wrapmem.o wrapndis.o wrapper.o
- 
-diff -r -u ndiswrapper-1.53/driver/ndiswrapper.h ndiswrapper-1.53/driver/ndiswrapper.h
---- ndiswrapper-1.53/driver/ndiswrapper.h	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/ndiswrapper.h	2008-06-15 17:06:37.000000000 +0400
-@@ -19,8 +19,17 @@
- #define DRIVER_VERSION "1.53"
- #define UTILS_VERSION "1.9"
- 
-+#ifndef PREFIX
-+#define PREFIX
-+#endif
-+
- #define DRIVER_NAME "ndiswrapper"
--#define DRIVER_CONFIG_DIR "/etc/ndiswrapper"
-+
-+#ifndef DRIVER_CONFIG_DIR
-+#  define DRIVER_CONFIG_DIR PREFIX "/etc/ndiswrapper"
-+#endif
-+
-+#define USERMOD_HELPER PREFIX "/sbin/loadndisdriver"
- 
- #define SSID_MAX_WPA_IE_LEN 40
- #define NDIS_ESSID_MAX_SIZE 32
diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix
index 9386b50969f..76f4661ecfc 100644
--- a/pkgs/os-specific/linux/net-tools/default.nix
+++ b/pkgs/os-specific/linux/net-tools/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.tazenda.demon.co.uk/phil/net-tools/;
     description = "A set of tools for controlling the network subsystem in Linux";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index 9a34c503f6d..c77faa6a9e7 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernelDev, zlib }:
+{ stdenv, fetchurl, kernel, zlib }:
 
 stdenv.mkDerivation {
-  name = "netatop-${kernelDev.version}-0.3";
+  name = "netatop-${kernel.version}-0.3";
 
   src = fetchurl {
     url = http://www.atoptool.nl/download/netatop-0.3.tar.gz;
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     patchShebangs mkversion
-    sed -i -e 's,^KERNDIR.*,KERNDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build,' \
+    sed -i -e 's,^KERNDIR.*,KERNDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build,' \
         */Makefile
-    sed -i -e 's,/lib/modules.*extra,'$out'/lib/modules/${kernelDev.modDirVersion}/extra,' \
+    sed -i -e 's,/lib/modules.*extra,'$out'/lib/modules/${kernel.modDirVersion}/extra,' \
         -e s,/usr,$out, \
         -e /init.d/d \
         -e /depmod/d \
@@ -22,14 +22,14 @@ stdenv.mkDerivation {
   '';
 
   preInstall = ''
-    ensureDir $out/bin $out/sbin $out/share/man/man{4,8}
-    ensureDir $out/lib/modules/${kernelDev.modDirVersion}/extra
+    mkdir -p $out/bin $out/sbin $out/share/man/man{4,8}
+    mkdir -p $out/lib/modules/${kernel.modDirVersion}/extra
   '';
       
   meta = {
     description = "Network monitoring module for atop";
     homepage = http://www.atoptool.nl/downloadnetatop.php;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 42bacd41be0..bb85acf4dcb 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://nfs.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.ludo ];
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
index 6062566cbfb..7d39dd31189 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
@@ -29,11 +29,10 @@ buildPhase() {
 
         # Create the module.
         kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        sysSource=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        # Hack necessary to compile on 2.6.28.
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default"
-        make SYSSRC=$sysSrc module
+        make SYSSRC=$sysSource SYSOUT=$sysOut module
         cd ../../..
     fi
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
index bb8beab29c5..7771fb988f5 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
@@ -14,11 +14,10 @@ buildPhase() {
         echo "Building linux driver against kernel: $kernel";
         cd kernel
         kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        # Hack necessary to compile on 2.6.28.
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default -I$sysSrc/include/generated"
-        make SYSSRC=$sysSrc module
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
         cd ..
     fi
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 28e2bd5642c..4291116f4ef 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -16,11 +16,13 @@ buildPhase() {
         echo "Building linux driver against kernel: $kernel";
         cd kernel
         kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        # Hack necessary to compile on 2.6.28.
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default -I$sysSrc/include/generated"
-        make SYSSRC=$sysSrc module
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
+        cd uvm
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
+        cd ..
         cd ..
     fi
 }
@@ -28,35 +30,11 @@ buildPhase() {
 
 installPhase() {
 
-    # Install libGL and friends.
-    mkdir -p $out/lib/vendors
-
-    for f in \
-      libcuda libGL libnvcuvid libnvidia-cfg libnvidia-compiler \
-      libnvidia-encode libnvidia-glcore libnvidia-ml libnvidia-opencl \
-      libnvidia-tls libOpenCL libnvidia-tls libvdpau_nvidia
-    do
-      cp -prd $f.* $out/lib/
-      ln -snf $f.so.$versionNumber $out/lib/$f.so
-      ln -snf $f.so.$versionNumber $out/lib/$f.so.1
-    done
-
-    cp -p nvidia.icd $out/lib/vendors/
-    cp -prd tls $out/lib/
-    cp -prd libOpenCL.so.1.0.0 $out/lib/
-    ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so
-    ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so.1
-
-    patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
-    patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
-    patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
-    patchelf --set-rpath $openclPath $out/lib/libnvidia-opencl.so.*.*
-
     if test -z "$libsOnly"; then
-
         # Install the kernel module.
         mkdir -p $out/lib/modules/$kernelVersion/misc
         cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc
+        cp kernel/uvm/nvidia-uvm.ko $out/lib/modules/$kernelVersion/misc
 
         # Install the X driver.
         mkdir -p $out/lib/xorg/modules
@@ -66,18 +44,15 @@ installPhase() {
         mkdir -p $out/lib/xorg/modules/extensions
         cp -p libglx.so.* $out/lib/xorg/modules/extensions
 
-        ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1
-        ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so
-
-        patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
+        #patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
 
         # Install the programs.
         mkdir -p $out/bin
 
-        for i in nvidia-settings nvidia-smi 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
+        for i in nvidia-settings nvidia-smi; do
+            cp $i $out/bin/$i
+            patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+                --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
         done
 
         # Header files etc.
@@ -86,6 +61,7 @@ installPhase() {
 
         mkdir -p $out/share/man/man1
         cp -p *.1.gz $out/share/man/man1
+        rm $out/share/man/man1/nvidia-xconfig.1.gz
 
         mkdir -p $out/share/applications
         cp -p *.desktop $out/share/applications
@@ -97,7 +73,34 @@ installPhase() {
         substituteInPlace $out/share/applications/nvidia-settings.desktop \
             --replace '__UTILS_PATH__' $out/bin \
             --replace '__PIXMAP_PATH__' $out/share/pixmaps
+
+        # Test a bit.
+        $out/bin/nvidia-settings --version
     fi
+
+
+    # Install libGL and friends.
+    mkdir -p "$out/lib/vendors"
+    cp -p nvidia.icd $out/lib/vendors/
+
+    cp -prd *.so.* tls "$out/lib/"
+    rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
+
+    for libname in `find "$out/lib/" -name '*.so.*'`
+    do
+      # I'm lazy to differentiate needed libs per-library, as the closure is the same.
+      # Unfortunately --shrink-rpath would strip too much.
+      patchelf --set-rpath "$out/lib:$allLibPath" "$libname"
+
+      libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
+      ln -srnf "$libname" "$libname_short"
+      ln -srnf "$libname" "$libname_short.1"
+    done
+
+    #patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
+    #patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
+    #patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
+    #patchelf --set-rpath $openclPath $out/lib/libnvidia-opencl.so.*.*
 }
 
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 35595a7b8f4..c89846db72c 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
 , gtk, atk, pango, glib, gdk_pixbuf
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
@@ -8,55 +8,54 @@
 
 with stdenv.lib;
 
+assert (!libsOnly) -> kernel != null;
+
 let
 
-  versionNumber = "319.60";
+  versionNumber = "340.32";
 
+  inherit (stdenv.lib) makeLibraryPath;
 in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
 
   builder = ./builder.sh;
 
-  patches =
-    [ ./version-test.patch ]
-    ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.11") ./nvidia-drivers-linux-3.11-incremental.patch
-    ;
-
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0kjidkwd2b5aik74663mxk3ffq4a3fmaybq2aq1lcbfhvvh49j6j";
+        sha256 = "1xcm8czz4bmnlzkl3al58flw6jmbrg1y77cxjjdjqcsvbk1qj10x";
       }
     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 = "0fhrxcfsw2jaycnz9gr04c9w585wydx8kpm6rjjbw19wkf8hlq3z";
+        sha256 = "1nfrpx73817y1z0wkqqh02xjg65r0f05h9801mqm8ki2gxqv9vq0";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
   inherit versionNumber libsOnly;
 
-  kernel = if libsOnly then null else kernelDev;
+  kernel = if libsOnly then null else kernel.dev;
 
   dontStrip = true;
 
-  glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
-
-  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
-
-  openclPath = stdenv.lib.makeLibraryPath [zlib];
+  glPath      = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
+  cudaPath    = makeLibraryPath [zlib stdenv.gcc.gcc];
+  openclPath  = makeLibraryPath [zlib];
+  allLibPath  = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.gcc.gcc];
 
-  programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath
+  programPath = optionalString (!libsOnly) (makeLibraryPath
     [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] );
 
   buildInputs = [ perl ];
 
-  meta = {
+  meta = with stdenv.lib.meta; {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "X.org driver and kernel module for NVIDIA graphics cards";
-    license = stdenv.lib.licenses.unfreeRedistributable;
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
index a03e3d4ca7e..0014a5d2ee5 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
+{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
 
 let 
 
-  versionNumber = "173.14.36";
+  versionNumber = "173.14.39";
 
 in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
+  name = "nvidia-x11-${versionNumber}-${kernel.version}";
   
   builder = ./builder-legacy.sh;
   
@@ -15,16 +15,16 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "19wnikms9wradf1kmaywnp7hykrdm4xqz2ka7az66s3ma096y95c";
+        sha256 = "08xb7s7cxmj4zv4i3645kjhlhhwxiq6km9ixmsw3vv91f7rkb6d0";
       }
     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}-pkg0.run";
-        sha256 = "1xf1w6qvqw0a3vd807hp3cgqmzm1wkpz2by52p0qgpjqld421k2s";
+        sha256 = "1p2ls0xj81l8v4n6dbjj3p5wlw1iyhgzyvqcv4h5fdxhhs2cb3md";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   inherit versionNumber;
 
@@ -39,6 +39,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "X.org driver and kernel module for Legacy NVIDIA graphics cards";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
index e2739b291d4..9acaee797f0 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
 , gtk, atk, pango, glib, gdk_pixbuf
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
@@ -8,10 +8,10 @@
 
 with stdenv.lib;
 
-let versionNumber = "304.84"; in
+let versionNumber = "304.123"; in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
 
   builder = ./builder-legacy304.sh;
 
@@ -19,18 +19,18 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "14hfx3rhf3vf3x3klkhz5qkjrg51r22nqqdzffilcwkxdjfg10j1";
+        sha256 = "09gljwxw14img7hw0xdxd24cvpvlymdxssmxa9gikdrw2w04j0ym";
       }
     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 = "1ixxkykl78g874g537apvxalggp3kw0mm5q69rl99jlw6jibbm80";
+        sha256 = "0vxw4gp78g06h5inwkhl989p9mq0m8rqipz9a67rdc4s364r243s";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
   inherit versionNumber libsOnly;
 
-  kernel = if libsOnly then null else kernelDev;
+  kernel = if libsOnly then null else kernel.dev;
 
   dontStrip = true;
 
@@ -46,6 +46,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "X.org driver and kernel module for NVIDIA graphics cards";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
deleted file mode 100644
index 32fc3632b05..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib}:
-
-let 
-
-  versionNumber = "96.43.23";
-
-in
-
-stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
-  
-  builder = ./builder-legacy.sh;
-  
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "0hi10h26l51mknr57zsdg0zaxcqdz1lp3hsz0hi1c1vkpbsavrji";
-      }
-    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}-pkg0.run";
-        sha256 = "09vynha40rsxpklj1m0qjfg853ckdpi9g87h06irikh405x57kzp";
-      }
-    else throw "nvidia-x11 does not support platform ${stdenv.system}";
-
-  kernel = kernelDev;
-
-  inherit versionNumber;
-
-  dontStrip = true;
-
-  glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
-
-  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
-
-  programPath = stdenv.lib.makeLibraryPath [ gtk atk pango glib xlibs.libXv ];
-
-  meta = {
-    homepage = http://www.nvidia.com/object/unix.html;
-    description = "X.org driver and kernel module for Legacy NVIDIA graphics cards";
-    license = "unfree";
-  };
-}
diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch
deleted file mode 100644
index bb6fad932e3..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8a8647ad942c8ac5161e1335f7f3e9dbb34dbf9e Mon Sep 17 00:00:00 2001
-From: Lukas Elsner <open@mindrunner.de>
-Date: Wed, 17 Jul 2013 01:16:04 +0200
-Subject: [PATCH] replace num_physpages with totalram_pages
-
----
- kernel/nv-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
-index 4e5ed89..46c51ec 100644
---- a/kernel/nv-linux.h
-+++ b/kernel/nv-linux.h
-@@ -957,7 +957,7 @@ static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info)
- #endif
- 
- #if !defined(NV_VMWARE)
--#define NV_NUM_PHYSPAGES                num_physpages
-+#define NV_NUM_PHYSPAGES                totalram_pages
- #define NV_GET_CURRENT_PROCESS()        current->tgid
- #define NV_IN_ATOMIC()                  in_atomic()
- #define NV_LOCAL_BH_DISABLE()           local_bh_disable()
--- 
-1.8.3.2
-
diff --git a/pkgs/os-specific/linux/nvidia-x11/version-test.patch b/pkgs/os-specific/linux/nvidia-x11/version-test.patch
deleted file mode 100644
index 9b6908ee5c0..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/version-test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh NVIDIA-patched/kernel/conftest.sh
---- NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh	2013-01-14 18:11:17.000000000 -0430
-+++ NVIDIA-patched/kernel/conftest.sh	2013-02-05 14:44:50.757999124 -0430
-@@ -1699,11 +1699,13 @@
-                 # kernel older than 2.6.6, that's all we require to
-                 # build the module.
-                 #
-+                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
-                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
-                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
- 
--                if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
--                        -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
-+                if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" \
-+                     -a "$VERSION" -ge 3 -o "$VERSION" -eq 2 -a "$PATCHLEVEL" -ge 7 \
-+                     -o "$PATCHLEVEL" -eq 6 -a "$SUBLEVEL" -ge 6 ]; then 
-                     SELECTED_MAKEFILE=Makefile.kbuild
-                     RET=0
-                 fi
diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix
new file mode 100644
index 00000000000..6260134bf11
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidiabl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, kernel }:
+
+stdenv.mkDerivation {
+  name = "nvidiabl-0.85-${kernel.version}";
+
+  src = fetchurl {
+    url = "https://github.com/guillaumezin/nvidiabl/archive/v0.85.tar.gz";
+    sha256 = "1c7ar39wc8jpqh67sw03lwnyp0m9l6dad469ybqrgcywdiwxspwj";
+  };
+
+  preConfigure = ''
+    sed -i 's|/sbin/depmod|#/sbin/depmod|' Makefile
+  '';
+
+  makeFlags = [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "DESTDIR=$(out)"
+  ];
+
+  meta = {
+    description = "Linux driver for setting the backlight brightness on laptops using NVIDIA GPU";
+    homepage = https://github.com/guillaumezin/nvidiabl;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 60e0e4d189c..88ab08e6c3d 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, kernelDev}:
-
-stdenv.mkDerivation rec {
-  name = "open-iscsi-2.0-871-${kernelDev.version}";
+{ stdenv, fetchurl, kernel}:
+let
+  pname = "open-iscsi-2.0-871";
+in stdenv.mkDerivation {
+  name = "${pname}-${kernel.version}";
   
   src = fetchurl {
-    url = "http://www.open-iscsi.org/bits/${name}.tar.gz";
+    url = "http://www.open-iscsi.org/bits/${pname}.tar.gz";
     sha256 = "1jvx1agybaj4czhz41bz37as076spicsmlh5pjksvwl2mr38gsmw";
   };
   
-  KSRC = "${kernelDev}/lib/modules/*/build";
+  KSRC = "${kernel.dev}/lib/modules/*/build";
   DESTDIR = "$(out)";
   
   preConfigure = ''
@@ -19,7 +20,8 @@ stdenv.mkDerivation rec {
   
   meta = {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.open-iscsi.org;
+    broken = true;
   };
 }
diff --git a/pkgs/os-specific/linux/otpw/default.nix b/pkgs/os-specific/linux/otpw/default.nix
index fe5f938b75b..27d0510a657 100644
--- a/pkgs/os-specific/linux/otpw/default.nix
+++ b/pkgs/os-specific/linux/otpw/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin $out/lib/security $out/share/man/man{1,8}
+    mkdir -p $out/bin $out/lib/security $out/share/man/man{1,8}
     cp pam_*.so $out/lib/security
     cp otpw-gen $out/bin
     cp *.1 $out/share/man/man1
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.cl.cam.ac.uk/~mgk25/otpw.html;
     description = "A one-time password login package";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/os-specific/linux/pam/CVE-2014-2583.patch b/pkgs/os-specific/linux/pam/CVE-2014-2583.patch
new file mode 100644
index 00000000000..25b1f7549fa
--- /dev/null
+++ b/pkgs/os-specific/linux/pam/CVE-2014-2583.patch
@@ -0,0 +1,49 @@
+From 9dcead87e6d7f66d34e7a56d11a30daca367dffb Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Wed, 26 Mar 2014 22:17:23 +0000
+Subject: pam_timestamp: fix potential directory traversal issue (ticket #27)
+
+pam_timestamp uses values of PAM_RUSER and PAM_TTY as components of
+the timestamp pathname it creates, so extra care should be taken to
+avoid potential directory traversal issues.
+
+* modules/pam_timestamp/pam_timestamp.c (check_tty): Treat
+"." and ".." tty values as invalid.
+(get_ruser): Treat "." and ".." ruser values, as well as any ruser
+value containing '/', as invalid.
+
+Fixes CVE-2014-2583.
+
+Reported-by: Sebastian Krahmer <krahmer@suse.de>
+
+diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
+index 5193733..b3f08b1 100644
+--- a/modules/pam_timestamp/pam_timestamp.c
++++ b/modules/pam_timestamp/pam_timestamp.c
+@@ -158,7 +158,7 @@ check_tty(const char *tty)
+ 		tty = strrchr(tty, '/') + 1;
+ 	}
+ 	/* Make sure the tty wasn't actually a directory (no basename). */
+-	if (strlen(tty) == 0) {
++	if (!strlen(tty) || !strcmp(tty, ".") || !strcmp(tty, "..")) {
+ 		return NULL;
+ 	}
+ 	return tty;
+@@ -243,6 +243,17 @@ get_ruser(pam_handle_t *pamh, char *ruserbuf, size_t ruserbuflen)
+ 		if (pwd != NULL) {
+ 			ruser = pwd->pw_name;
+ 		}
++	} else {
++		/*
++		 * This ruser is used by format_timestamp_name as a component
++		 * of constructed timestamp pathname, so ".", "..", and '/'
++		 * are disallowed to avoid potential path traversal issues.
++		 */
++		if (!strcmp(ruser, ".") ||
++		    !strcmp(ruser, "..") ||
++		    strchr(ruser, '/')) {
++			ruser = NULL;
++		}
+ 	}
+ 	if (ruser == NULL || strlen(ruser) >= ruserbuflen) {
+ 		*ruserbuf = '\0';
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index 5545b5c16d6..8423ea6f123 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, flex, cracklib }:
 
 stdenv.mkDerivation rec {
-  name = "linux-pam-1.1.6";
+  name = "linux-pam-1.1.8";
 
   src = fetchurl {
-    url = https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-1.1.6.tar.bz2;
-    sha256 = "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s";
+    url = http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.bz2;
+    sha256 = "0m8ygb40l1c13nsd4hkj1yh4p1ldawhhg8pyjqj9w5kd4cxg5cf4";
   };
 
+  patches = [ ./CVE-2014-2583.patch ];
+
   outputs = [ "out" "doc" "man" "modules" ];
 
   nativeBuildInputs = [ flex ];
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index 5f95811e0f6..ad60e63c263 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
       pam_krb5 can optionally convert Kerberos 5 credentials to Kerberos IV
       credentials and/or use them to set up AFS tokens for a user's session.
     '';
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/os-specific/linux/pam_usb/default.nix b/pkgs/os-specific/linux/pam_usb/default.nix
index b5672728b53..f5fdc567087 100644
--- a/pkgs/os-specific/linux/pam_usb/default.nix
+++ b/pkgs/os-specific/linux/pam_usb/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://pamusb.org/;
     description = "Authentication using USB Flash Drives";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
new file mode 100644
index 00000000000..83f0dc1e82d
--- /dev/null
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -0,0 +1,24 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "pax-utils-${version}";
+  version = "0.8.1";
+
+  src = fetchurl {
+    url = "http://dev.gentoo.org/~vapier/dist/${name}.tar.xz";
+    sha256 = "1fgm70s52x48dxjihs0rcwmpfsi2dxbjzcilxy9fzg0i39dz4kw4";
+  };
+
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A suite of tools for PaX/grsecurity";
+    homepage    = "http://dev.gentoo.org/~vapier/dist/";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice wizeman ];
+  };
+}
diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix
new file mode 100644
index 00000000000..8e70ddd8434
--- /dev/null
+++ b/pkgs/os-specific/linux/paxctl/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "paxctl-${version}";
+  version = "0.8";
+
+  src = fetchurl {
+    url = "http://pax.grsecurity.net/${name}.tar.gz";
+    sha256 = "107gmriq5icsk9yni5q949rnjapjkcs0823pw6zra6h1xml2f0mm";
+  };
+
+  preBuild = ''
+    sed "s|--owner 0 --group 0||g" -i Makefile
+  '';
+
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "MANDIR=share/man/man1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A tool for controlling PaX flags on a per binary basis";
+    homepage    = "https://pax.grsecurity.net";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice wizeman ];
+  };
+}
diff --git a/pkgs/os-specific/linux/pcmciautils/default.nix b/pkgs/os-specific/linux/pcmciautils/default.nix
index b53c61c754a..787b72fde48 100644
--- a/pkgs/os-specific/linux/pcmciautils/default.nix
+++ b/pkgs/os-specific/linux/pcmciautils/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
       the PCMCIA subsystem to behave (almost) as every other
       hotpluggable bus system.
     ";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix
index bf3da195467..a04407ba5c2 100644
--- a/pkgs/os-specific/linux/plymouth/default.nix
+++ b/pkgs/os-specific/linux/plymouth/default.nix
@@ -1,56 +1,51 @@
-{ stdenv, fetchurl, cairo, gtk, libdrm, libpng, makeWrapper, pango, pkgconfig }:
+{ stdenv, fetchurl, autoconf, automake, cairo, docbook_xsl, gtk
+, libdrm, libpng , libtool, libxslt, makeWrapper, pango, pkgconfig
+, udev
+}:
 
 stdenv.mkDerivation rec {
   name = "plymouth-${version}";
-  version = "0.8.8";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/plymouth/releases/${name}.tar.bz2";
-    sha256 = "16vm3llgci7h63jaclfskj1ii61d8psq7ny2mncml6m3sghs9b8v";
+    sha256 = "0kfdwv179brg390ma003pmdqfvqlbybqiyp9fxrxx0wa19sjxqnk";
   };
 
-  buildInputs = [ cairo gtk libdrm libpng makeWrapper pango pkgconfig ];
+  buildInputs = [
+    autoconf automake cairo docbook_xsl gtk libdrm libpng libtool
+    libxslt makeWrapper pango pkgconfig udev
+  ];
+
+  prePatch = ''
+    sed -e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \
+      -i configure.ac
+  '';
 
   configurePhase = ''
-    export DESTDIR=$out
     ./configure \
+      --prefix=$out \
       -bindir=$out/bin \
       -sbindir=$out/sbin \
-      --prefix=$out \
       --exec-prefix=$out \
       --libdir=$out/lib \
       --libexecdir=$out/lib \
-      --enable-tracing \
-      --sysconfdir=/etc \
+      --sysconfdir=$out/etc \
       --localstatedir=/var \
+      --with-log-viewer \
       --without-system-root-install \
+      --without-rhgb-compat-link \
+      --enable-tracing \
+      --enable-systemd-integration \
+      --enable-pango \
       --enable-gtk
   '';
-#      --enable-systemd-integration
-#      -datadir=/share \
-#      --with-rhgb-compat-link \
-
-  preInstall = "mkdir -p $out/bin $out/sbin";
-
-  postInstall = ''
-    cd $out/$out
-    mv bin/* $out/bin
-    mv sbin/* $out/sbin
-
-    rmdir bin
-    rmdir sbin
-    mv * $out/
-    sed -e "s#> $output##" \
-      -e "s#> /dev/stderr##" \
-      -i $out/lib/plymouth/plymouth-populate-initrd
-    wrapProgram $out/lib/plymouth/plymouth-populate-initrd \
-      --set PATH $PATH:$out/bin:$out/sbin
-  '';
 
   meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/Plymouth;
     description = "A graphical boot animation";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/pm-utils/default.nix b/pkgs/os-specific/linux/pm-utils/default.nix
index e3b6168be9b..4fb7fc8cb0b 100644
--- a/pkgs/os-specific/linux/pm-utils/default.nix
+++ b/pkgs/os-specific/linux/pm-utils/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://pm-utils.freedesktop.org/wiki/;
     description = "A small collection of scripts that handle suspend and resume on behalf of HAL";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/pmount/default.nix b/pkgs/os-specific/linux/pmount/default.nix
index 4d555f59c37..c1049d78f42 100644
--- a/pkgs/os-specific/linux/pmount/default.nix
+++ b/pkgs/os-specific/linux/pmount/default.nix
@@ -8,10 +8,11 @@
 assert stdenv.lib.hasSuffix "/" mediaDir;
 
 stdenv.mkDerivation rec {
-  name = "pmount-0.9.23";
+  name = "pmount-${version}";
+  version = "0.9.23";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/3310/${name}.tar.gz";
+    url = "mirror://debian/pool/main/p/pmount/pmount_${version}.orig.tar.bz2";
     sha256 = "db38fc290b710e8e9e9d442da2fb627d41e13b3ee80326c15cc2595ba00ea036";
   };
 
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://pmount.alioth.debian.org/;
     description = "Mount removable devices as normal user";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/pmtools/default.nix b/pkgs/os-specific/linux/pmtools/default.nix
index 13a6e87319e..7fa32ce4c94 100644
--- a/pkgs/os-specific/linux/pmtools/default.nix
+++ b/pkgs/os-specific/linux/pmtools/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.lesswatts.org/projects/acpi/utilities.php;
     description = "Linux ACPI utilities";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/os-specific/linux/policycoreutils/default.nix b/pkgs/os-specific/linux/policycoreutils/default.nix
index e49525a42bf..d312e25fc2e 100644
--- a/pkgs/os-specific/linux/policycoreutils/default.nix
+++ b/pkgs/os-specific/linux/policycoreutils/default.nix
@@ -1,23 +1,24 @@
 { stdenv, fetchurl, intltool, pcre, libcap_ng, libcgroup
-, libsepol, libselinux, libsemanage
+, libsepol, libselinux, libsemanage, setools
 , python, sepolgen }:
 stdenv.mkDerivation rec {
 
   name = "policycoreutils-${version}";
-  version = "2.1.13";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
-    sha256 = "1145nbpwndmhma08vvj1j75bjd8xhjal0vjpazlrw78iyc30y11l";
+    sha256 = "1lpwxr5hw3dwhlp2p7y8jcr18mvfcrclwd8c2idz3lmmb3pglk46";
   };
 
   patchPhase = ''
     substituteInPlace po/Makefile --replace /usr/bin/install install
+    find . -type f -exec sed -i 's,/usr/bin/python,${python}/bin/python,' {} \;
   '';
 
   buildInputs = [ intltool pcre libcap_ng libcgroup
-    libsepol libselinux  libsemanage
+    libsepol libselinux libsemanage setools
     python sepolgen # ToDo? these are optional
   ];
 
@@ -25,6 +26,11 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib" && cp -s "${libsepol}/lib/libsepol.a" "$out/lib"
   '';
 
+  # Creation of the system-config-selinux directory is broken
+  preInstall = ''
+    mkdir -p $out/share/system-config-selinux
+  '';
+
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   NIX_LDFLAGS = "-lsepol -lpcre";
 
diff --git a/pkgs/os-specific/linux/pommed/default.nix b/pkgs/os-specific/linux/pommed/default.nix
index d6c06eca12f..b4b4569def4 100644
--- a/pkgs/os-specific/linux/pommed/default.nix
+++ b/pkgs/os-specific/linux/pommed/default.nix
@@ -74,7 +74,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A tool to handle hotkeys on Apple laptop keyboards";
     homepage = http://www.technologeek.org/projects/pommed/index.html;
-    license = "gplv2";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 4de8ad6db0f..630fe04e226 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "powertop-2.2";
+  name = "powertop-2.6.1";
 
   src = fetchurl {
-    url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.gz";
-    sha256 = "0a5haxawcjrlwwxx4j5kd4ad05gjmcr13v8gswfwfxcn7fyf2f8k";
+    url = "https://01.org/sites/default/files/downloads/powertop/${name}.tar.gz";
+    sha256 = "1r103crmkdk617qrxqjzy2mlhaacbpg5q795546zwcxlbdnxwk03";
   };
 
   buildInputs = [ gettext libnl ncurses pciutils pkgconfig zlib ];
 
   meta = {
     description = "Analyze power consumption on Intel-based laptops";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index 6099505f1d6..cd8a8eaec13 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation {
-  name = "procps-ng-3.3.6";
+  name = "procps-3.3.9";
 
   src = fetchurl {
-    url = mirror://sourceforge/procps-ng/procps-ng-3.3.6.tar.xz;
-    sha256 = "0k0j3ilzfpw8n3y058ymgfmafdfqqqwpqm7nh7a35xlk6zgw96nh";
+    url = mirror://sourceforge/procps-ng/procps-ng-3.3.9.tar.xz;
+    sha256 = "0qw69v7wx8hilwylyk9455k3h1xg8sc13vxh0pvdss7rml7wpw00";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/os-specific/linux/procps/watch.nix b/pkgs/os-specific/linux/procps/watch.nix
new file mode 100644
index 00000000000..2547e26def4
--- /dev/null
+++ b/pkgs/os-specific/linux/procps/watch.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation {
+  name = "watch-0.2.0";
+
+  src = fetchurl {
+    url = http://procps.sourceforge.net/procps-3.2.8.tar.gz;
+    sha256 = "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i";
+  };
+
+  buildInputs = [ ncurses ];
+
+  makeFlags = "watch usrbin_execdir=$(out)/bin" +
+              (if stdenv.isDarwin then " PKG_LDFLAGS=" else "");
+
+  enableParallelBuilding = true;
+
+  crossAttrs = {
+    CC = stdenv.cross.config + "-gcc";
+  };
+
+  installPhase = "mkdir $out; mkdir -p $out/bin; cp -p watch $out/bin";
+
+  meta = {
+    homepage = http://sourceforge.net/projects/procps/;
+    description = "Utility for watch the output of a given command at intervals";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch b/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch
new file mode 100644
index 00000000000..2bb93955aea
--- /dev/null
+++ b/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch
@@ -0,0 +1,44 @@
+From 3638cc55b4d08851faba46635d737b24d016665b Mon Sep 17 00:00:00 2001
+From: Brad Jorsch <anomie@users.sourceforge.net>
+Date: Fri, 28 Feb 2014 21:55:02 +1100
+Subject: [PATCH] Typo in fuser makes -M on all the time
+
+Brad found that fuser had the -M option on all the time.
+A simple but significant typo caused this, thanks the the patch.
+
+Bug-Debian: http://bugs.debian.org/740275
+
+Signed-off-by: Craig Small <csmall@enc.com.au>
+---
+ ChangeLog   | 4 ++++
+ src/fuser.c | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index fd1cccf..e5f784c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++Changes in 22.22
++================
++	* Fixed typo in fuser which has -M on Debian #740275
++
+ Changes in 22.21
+ ================
+ 	* Missing comma in fuser(1) added Debian #702391
+diff --git a/src/fuser.c b/src/fuser.c
+index b485f65..389b302 100644
+--- a/src/fuser.c
++++ b/src/fuser.c
+@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[])
+ 		usage(_("No process specification given"));
+ 
+ 	/* Check if -M flag was used and if so check mounts */
+-	if (opts * OPT_ISMOUNTPOINT) {
++	if (opts & OPT_ISMOUNTPOINT) {
+ 	    check_mountpoints(&mounts, &names_head, &names_tail);
+ 	}
+ 
+-- 
+1.9.2
+
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index dd6c70127bf..5cf5e9a542d 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -3,15 +3,18 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "psmisc-22.19";
+  name = "psmisc-22.21";
 
   src = fetchurl {
     url = "mirror://sourceforge/psmisc/${name}.tar.gz";
-    sha256 = "e112ccadd4694c98f5ea4a02cd6944fdc5a2a1985f20e2b3f74f4dbca83a2a31";
+    sha256 = "0nhlm1vrrwn4a845p6y4nnnb4liq70n74zbdd5dq844jc6nkqclp";
   };
 
   buildInputs = [ncurses];
 
+  # From upstream, will be in next release.
+  patches = [ ./0001-Typo-in-fuser-makes-M-on-all-the-time.patch ];
+
   meta = {
     homepage = http://psmisc.sourceforge.net/;
     description = "A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree)";
diff --git a/pkgs/os-specific/linux/psmouse-alps/default.nix b/pkgs/os-specific/linux/psmouse-alps/default.nix
index 834acd72ef2..9dd78f5885a 100644
--- a/pkgs/os-specific/linux/psmouse-alps/default.nix
+++ b/pkgs/os-specific/linux/psmouse-alps/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, kernelDev, zlib }:
+{ stdenv, fetchurl, kernel, zlib }:
 
 /* Only useful for kernels 3.2 to 3.5.
    Fails to build in 3.8.
    3.9 upstream already includes a proper alps driver for this */
 
+assert builtins.compareVersions "3.8" kernel.version == 1;
+
 let
   ver = "1.3";
   bname = "psmouse-alps-${ver}";
 in
 stdenv.mkDerivation {
-  name = "psmouse-alps-${kernelDev.version}-${ver}";
+  name = "psmouse-alps-${kernel.version}-${ver}";
 
   src = fetchurl {
     url = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/at_download/file;
@@ -19,19 +21,19 @@ stdenv.mkDerivation {
 
   buildPhase = ''
     cd src/${bname}/src
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       SUBDIRS=`pwd` INSTALL_PATH=$out
   '';
 
   installPhase = ''
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
   '';
       
   meta = {
     description = "ALPS dlkm driver with all known touchpads";
     homepage = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/view;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/os-specific/linux/radeontools/default.nix b/pkgs/os-specific/linux/radeontools/default.nix
index 4dbe7e54247..92e00ffad3f 100644
--- a/pkgs/os-specific/linux/radeontools/default.nix
+++ b/pkgs/os-specific/linux/radeontools/default.nix
@@ -24,9 +24,9 @@ stdenv.mkDerivation {
     cp radeontool lightwatch.pl $out/bin
   '';
 
-  meta = { 
+  meta = {
     description = "Control the backlight and external video output of ATI Radeon Mobility graphics cards";
     homepage = http://fdd.com/software/radeon/;
-    license = "ZLIB";
+    license = stdenv.lib.licenses.zlib;
   };
 }
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
index 573f1a578c7..e5e579081f6 100644
--- a/pkgs/os-specific/linux/reptyr/default.nix
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchgit}:
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation rec {
-  version = "0.4";
+  version = "0.5";
   name = "reptyr-${version}";
-  src = fetchgit {
-    url = "https://github.com/nelhage/reptyr.git";
-    rev = "refs/tags/${name}";
-    sha256 = "2d2814c210e4bde6f9bcf3aa20477287d7e4a5aa7ee09110b37d2eaaf7e5ecae";
+  src = fetchurl {
+    url = "https://github.com/nelhage/reptyr/archive/reptyr-${version}.tar.gz";
+    sha256 = "077cvjjf534nxh7qqisw27a0wa61mdgyik43k50f8v090rggz2xm";
   };
   makeFlags = ["PREFIX=$(out)"];
   meta = {
diff --git a/pkgs/os-specific/linux/rfkill/default.nix b/pkgs/os-specific/linux/rfkill/default.nix
index 0e0f5a3ff0c..48be4fbc343 100644
--- a/pkgs/os-specific/linux/rfkill/default.nix
+++ b/pkgs/os-specific/linux/rfkill/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "rfkill-0.4";
-  
+  name = "rfkill-0.5";
+
   src = fetchurl {
-    url = "http://wireless.kernel.org/download/rfkill/${name}.tar.bz2";
-    sha256 = "1hb884vgyldci648azbx17w83gzynn0svrmfjgh3c2jzga1f846a";
+    url = "mirror://kernel/software/network/rfkill/${name}.tar.bz2";
+    sha256 = "01zs7p9kd92pxgcgwl5w46h3iyx4acfg6m1j5fgnflsaa350q5iy";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
index d07c7298183..bf6e679660c 100755
--- a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
+++ b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
@@ -10,10 +10,10 @@ if [ -z "$RFKILL_STATE" ]; then
   exit 1
 fi
 
-if [ -x /var/run/current-system/etc/rfkill.hook ]; then
-  exec /var/run/current-system/etc/rfkill.hook
+if [ -x /run/current-system/etc/rfkill.hook ]; then
+  exec /run/current-system/etc/rfkill.hook
 elif [ ! -z "$RFKILL_HOOK" ]; then
   exec $RFKILL_HOOK
 else
   echo "rfkill-hook: $RFKILL_STATE"
-fi
\ No newline at end of file
+fi
diff --git a/pkgs/os-specific/linux/rfkill/udev.nix b/pkgs/os-specific/linux/rfkill/udev.nix
index 6cf6e4adfa0..054ed471eaa 100644
--- a/pkgs/os-specific/linux/rfkill/udev.nix
+++ b/pkgs/os-specific/linux/rfkill/udev.nix
@@ -31,12 +31,12 @@ stdenv.mkDerivation {
   dontBuild = true;
 
   installPhase = ''
-    ensureDir "$out/etc/udev/rules.d/";
+    mkdir -p "$out/etc/udev/rules.d/";
     cat > "$out/etc/udev/rules.d/90-rfkill.rules" << EOF
       SUBSYSTEM=="rfkill", ATTR{type}=="wlan", RUN+="$out/bin/rfkill-hook.sh" 
     EOF
 
-    ensureDir "$out/bin/";
+    mkdir -p "$out/bin/";
     cp ${./rfkill-hook.sh} "$out/bin/rfkill-hook.sh"
     chmod +x "$out/bin/rfkill-hook.sh";
   '';
diff --git a/pkgs/os-specific/linux/rtkit/default.nix b/pkgs/os-specific/linux/rtkit/default.nix
index 05ebd0bf845..fe392fb0841 100644
--- a/pkgs/os-specific/linux/rtkit/default.nix
+++ b/pkgs/os-specific/linux/rtkit/default.nix
@@ -1,15 +1,19 @@
 { stdenv, fetchurl, pkgconfig, dbus, libcap }:
 
 stdenv.mkDerivation rec {
-  name = "rtkit-0.10";
+  name = "rtkit-0.11";
   
   src = fetchurl {
-    url = "http://0pointer.de/public/${name}.tar.gz";
-    sha256 = "08118ya3pkxd6gbbshas23xwj483169fqmxzhp5sgmfr16n97skl";
+    url = "http://0pointer.de/public/${name}.tar.xz";
+    sha256 = "1l5cb1gp6wgpc9vq6sx021qs6zb0nxg3cn1ba00hjhgnrw4931b8";
   };
 
+  configureFlags = [
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+  ];
+
   buildInputs = [ pkgconfig dbus libcap ];
-  
+
   meta = {
     homepage = http://0pointer.de/blog/projects/rtkit;
     descriptions = "A daemon that hands out real-time priority to processes";
diff --git a/pkgs/os-specific/linux/sdparm/default.nix b/pkgs/os-specific/linux/sdparm/default.nix
index 8389728f22d..2a796c1b3a9 100644
--- a/pkgs/os-specific/linux/sdparm/default.nix
+++ b/pkgs/os-specific/linux/sdparm/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "sdparm-1.03";
+  name = "sdparm-1.08";
 
   src = fetchurl {
-    url = http://sg.danny.cz/sg/p/sdparm-1.03.tgz;
-    sha256 = "067bdhq2qc7h7ykf1yv86s9x12zscpqnsdlnr636a0nv0di2wymq";
+    url = http://sg.danny.cz/sg/p/sdparm-1.08.tgz;
+    sha256 = "0msy8anggdand1yr50vg2azcfgks7sbfpnqk7xzw9adi2jj7hsrp";
   };
 
   meta = {
diff --git a/pkgs/os-specific/linux/sepolgen/default.nix b/pkgs/os-specific/linux/sepolgen/default.nix
index 7139ec98c28..812b100699f 100644
--- a/pkgs/os-specific/linux/sepolgen/default.nix
+++ b/pkgs/os-specific/linux/sepolgen/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "sepolgen-${version}";
-  version = "1.1.8";
+  version = "1.2.1";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/sepolgen-${version}.tar.gz";
-    sha256 = "1sssc9d4wz7l23yczlzplsmdr891sqr9w34ccn1bfwlnc4q63xdm";
+    sha256 = "1c41hz4a64mjvbfhgc7c7plydahsc161z0qn46qz2g3bvimj9323";
   };
 
   makeFlags = "PREFIX=$(out) DESTDIR=$(out) PYTHONLIBDIR=lib/${python.libPrefix}/site-packages";
diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix
new file mode 100644
index 00000000000..63a43b2b5e9
--- /dev/null
+++ b/pkgs/os-specific/linux/setools/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, bison, flex
+, python, swig2, tcl, libsepol, libselinux, libxml2, sqlite, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "setools-3.3.8";
+
+  src = fetchurl {
+    url = "http://oss.tresys.com/projects/setools/chrome/site/dists/${name}/${name}.tar.bz2";
+    sha256 = "16g987ijaxabc30zyjzia4nafq49rm038y1pm4vca7i3kb67wf24";
+  };
+
+  patches = [ ./ftbfs-invalid-operands-of-types.patch ];
+
+  # SWIG-TCL is broken in 3.3.8
+  configureFlags = ''
+    --with-tcl=${tcl}/lib
+    --with-sepol-devel=${libsepol}
+    --with-selinux-devel=${libselinux}
+    --disable-gui
+    --disable-swig-tcl
+  '';
+
+  buildInputs = [ autoreconfHook pkgconfig bison flex python swig2 ];
+
+  nativeBuildInputs = [ tcl libsepol libselinux libxml2 sqlite bzip2 ];
+
+  meta = {
+    description = "SELinux Tools";
+    homepage = "http://oss.tresys.com/projects/setools/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch b/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch
new file mode 100644
index 00000000000..97a5727f05b
--- /dev/null
+++ b/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch
@@ -0,0 +1,15 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750331
+
+Index: setools-git/secmds/replcon.cc
+===================================================================
+--- setools-git.orig/secmds/replcon.cc
++++ setools-git/secmds/replcon.cc
+@@ -60,7 +60,7 @@ static struct option const longopts[] =
+ 	{NULL, 0, NULL, 0}
+ };
+ 
+-extern int lsetfilecon_raw(const char *, security_context_t) __attribute__ ((weak));
++extern int lsetfilecon_raw(const char *, const char *) __attribute__ ((weak));
+ 
+ /**
+  * As that setools must work with older libselinux versions that may
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 1055fccd8aa..b52801cacff 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -26,19 +26,28 @@ stdenv.mkDerivation rec {
 
   patches = [ ./keep-path.patch dots_in_usernames ];
 
+  outputs = [ "out" "su" ];
+
   # Assume System V `setpgrp (void)', which is the default on GNU variants
   # (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
-  preConfigure = "export ac_cv_func_setpgrp_void=yes";
+  preConfigure = ''
+    export ac_cv_func_setpgrp_void=yes
+    export shadow_cv_logdir=/var/log
+  '';
 
   preBuild = assert glibc != null;
     ''
       substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd
     '';
 
-  # Don't install ‘groups’, since coreutils already provides it.
   postInstall =
     ''
+      # Don't install ‘groups’, since coreutils already provides it.
       rm $out/bin/groups $out/share/man/man1/groups.*
+
+      # Move the su binary into the su package
+      mkdir -p $su/bin
+      mv $out/bin/su $su/bin
     '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/spl/const.patch b/pkgs/os-specific/linux/spl/const.patch
new file mode 100644
index 00000000000..3bfcaa22b13
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/const.patch
@@ -0,0 +1,13 @@
+diff --git a/module/spl/spl-proc.c b/module/spl/spl-proc.c
+index f25239a..b731123 100644
+--- a/module/spl/spl-proc.c
++++ b/module/spl/spl-proc.c
+@@ -38,7 +38,7 @@
+ 
+ #define SS_DEBUG_SUBSYS SS_PROC
+ 
+-#if defined(CONSTIFY_PLUGIN) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
++#if defined(CONSTIFY_PLUGIN)
+ typedef struct ctl_table __no_const spl_ctl_table;
+ #else
+ typedef struct ctl_table spl_ctl_table;
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 6a9a4cc963f..944fb6ff554 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, kernelDev, perl, autoconf, automake, libtool, coreutils, gawk }:
+{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
 
 stdenv.mkDerivation {
-  name = "spl-0.6.2-${kernelDev.version}";
+  name = "spl-0.6.3-${kernel.version}";
   src = fetchurl {
-    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.2.tar.gz;
-    sha256 = "196scl8q0bkkak6m0p1l1fz254cgsizqm73bf9wk3iynamq7qmrw";
+    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.3.tar.gz;
+    sha256 = "1qqzyj2if5wai4jiwml4i8s6v8k7hbi7jmiph800lhkk5j8s72l9";
   };
 
-  patches = [ ./install_prefix.patch ];
+  patches = [ ./install_prefix.patch ./const.patch ];
 
-  buildInputs = [ perl kernelDev autoconf automake libtool ];
+  buildInputs = [ perl autoconf automake libtool ];
 
   preConfigure = ''
     ./autogen.sh
 
     substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod 
+    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod
 
     substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
     substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
   '';
 
   configureFlags = ''
-     --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
-     --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
+     --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source
+     --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
   '';
 
   enableParallelBuilding = true;
@@ -34,12 +34,12 @@ stdenv.mkDerivation {
 
     longDescription = ''
       This kernel module is a porting layer for ZFS to work inside the linux
-      kernel. 
+      kernel.
     '';
 
     homepage = http://zfsonlinux.org/;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+    maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ];
   };
 }
diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix
new file mode 100644
index 00000000000..d3ed285ccfe
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/git.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchgit, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
+
+stdenv.mkDerivation {
+  name = "spl-0.6.3-${kernel.version}";
+  src = fetchgit {
+    url = git://github.com/zfsonlinux/spl.git;
+    rev = "31cb5383bff0fddc5058973e32a6f2c446d45e59";
+    sha256 = "0mcivbddms8kbapbs9x6achqyvh5i6h1rd2b3jm8g5yjn0flc5gl";
+  };
+
+  patches = [ ./install_prefix.patch ./const.patch ];
+
+  buildInputs = [ perl autoconf automake libtool ];
+
+  preConfigure = ''
+    ./autogen.sh
+
+    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
+    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod
+
+    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
+    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+  '';
+
+  configureFlags = ''
+     --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source
+     --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
+
+    longDescription = ''
+      This kernel module is a porting layer for ZFS to work inside the linux
+      kernel.
+    '';
+
+    homepage = http://zfsonlinux.org/;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+  };
+}
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
new file mode 100644
index 00000000000..d5e2ed3ff94
--- /dev/null
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -0,0 +1,43 @@
+{stdenv, fetchurl, cmake, luajit, kernel, zlib}:
+let
+  inherit (stdenv.lib) optional optionalString;
+  s = rec {
+    baseName="sysdig";
+    version="0.1.87";
+    name="${baseName}-${version}";
+    url="https://github.com/draios/sysdig/archive/${version}.tar.gz";
+    sha256="0xfildaj8kzbngpza47zqm363i6q87m97a18qlmdisrxmz11s32b";
+  };
+  buildInputs = [
+    cmake zlib luajit
+  ] ++ optional (kernel != null) kernel;
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  cmakeFlags = [
+    "-DUSE_BUNDLED_LUAJIT=OFF"
+    "-DUSE_BUNDLED_ZLIB=OFF"
+  ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF";
+  preConfigure = ''
+    export INSTALL_MOD_PATH="$out"
+  '' + optionalString (kernel != null) ''
+    export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  '';
+  postInstall = optionalString (kernel != null) ''
+    make install_driver
+  '';
+
+  meta = with stdenv.lib; {
+    inherit (s) version;
+    description = ''A tracepoint-based system tracing tool for Linux (with clients for other OSes)'';
+    license = licenses.gpl2;
+    maintainers = [maintainers.raskin];
+    platforms = platforms.linux ++ platforms.darwin;
+    downloadPage = "https://github.com/draios/sysdig/releases";
+  };
+}
diff --git a/pkgs/os-specific/linux/sysdig/default.upstream b/pkgs/os-specific/linux/sysdig/default.upstream
new file mode 100644
index 00000000000..485de5741d7
--- /dev/null
+++ b/pkgs/os-specific/linux/sysdig/default.upstream
@@ -0,0 +1,8 @@
+url https://github.com/draios/sysdig/releases
+ensure_choice
+version '.*/([0-9.]+)[.]tar[.].*' '\1'
+do_overwrite () {
+  ensure_hash
+  set_var_value sha256 $CURRENT_HASH
+  set_var_value version $CURRENT_VERSION
+}
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index 98917f943f5..734613c44ac 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nasm, perl, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "syslinux-4.06";
+  name = "syslinux-6.02";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/boot/syslinux/4.xx/${name}.tar.bz2";
-    sha256 = "09md61npd5z64rv5s3knl4qsn2bqsn57irm5izk6snf46r77gdyv";
+    url = "mirror://kernel/linux/utils/boot/syslinux/${name}.tar.xz";
+    sha256 = "0y2ld2s64s6vc5pf8rj36w71rq2cfax3c1iafp0w1qbjpxy1p8xg";
   };
 
   patches = [ ./perl-deps.patch ];
@@ -14,15 +14,27 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preBuild =
-    ''
-      substituteInPlace gpxe/src/Makefile.housekeeping --replace /bin/echo $(type -P echo)
-      substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl)
-      makeFlagsArray=(BINDIR=$out/bin SBINDIR=$out/sbin LIBDIR=$out/lib INCDIR=$out/include DATADIR=$out/share MANDIR=$out/share/man PERL=perl)
-    '';
+  preBuild = ''
+    substituteInPlace Makefile --replace /bin/pwd $(type -P pwd)
+    substituteInPlace gpxe/src/Makefile.housekeeping --replace /bin/echo $(type -P echo)
+    substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl)
+  '';
 
-  meta = {
+  makeFlags = [
+    "BINDIR=$(out)/bin"
+    "SBINDIR=$(out)/sbin"
+    "LIBDIR=$(out)/lib"
+    "INCDIR=$(out)/include"
+    "DATADIR=$(out)/share"
+    "MANDIR=$(out)/share/man"
+    "PERL=perl"
+    "bios"
+  ];
+
+  meta = with stdenv.lib; {
     homepage = http://www.syslinux.org/;
     description = "A lightweight bootloader";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index 2b4888f89cd..ec504bd9235 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sebastien.godard.pagesperso-orange.fr/;
     description = "A collection of performance monitoring tools for Linux (such as sar, iostat and pidstat)";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 4e6c64d4c7b..9942218be6c 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,33 +1,38 @@
 { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod
 , xz, pam, acl, cryptsetup, libuuid, m4, utillinux
 , glib, kbd, libxslt, coreutils, libgcrypt, sysvtools, docbook_xsl
-, kexectools
+, kexectools, libmicrohttpd, linuxHeaders
+, pythonPackages ? null, pythonSupport ? false
+, autoreconfHook
 }:
 
 assert stdenv.isLinux;
 
+assert pythonSupport -> pythonPackages != null;
+
 stdenv.mkDerivation rec {
-  version = "203";
+  version = "212";
   name = "systemd-${version}";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
-    sha256 = "07gvn3rpski8sh1nz16npjf2bvj0spsjdwc5px9685g2pi6kxcb1";
+    sha256 = "1hpjcc42svrs06q3isjm3m5aphgkpfdylmvpnif71zh46ys0cab5";
   };
 
   outputs = [ "out" "man" "libudev" ];
 
   patches =
     [ # These are all changes between upstream and
-      # https://github.com/edolstra/systemd/tree/nixos-v203.
+      # https://github.com/edolstra/systemd/tree/nixos-v212.
       ./fixes.patch
-    ]
-    ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch;
+    ];
 
   buildInputs =
-    [ pkgconfig intltool gperf libcap dbus.libs kmod xz pam acl
+    [ pkgconfig intltool gperf libcap kmod xz pam acl
       /* cryptsetup */ libuuid m4 glib libxslt libgcrypt docbook_xsl
-    ];
+      libmicrohttpd linuxHeaders
+      autoreconfHook
+    ] ++ stdenv.lib.optionals pythonSupport [pythonPackages.python pythonPackages.lxml];
 
   configureFlags =
     [ "--localstatedir=/var"
@@ -42,15 +47,19 @@ stdenv.mkDerivation rec {
       "--with-dbussessionservicedir=$(out)/share/dbus-1/services"
       "--with-firmware-path=/root/test-firmware:/run/current-system/firmware"
       "--with-tty-gid=3" # tty in NixOS has gid 3
+      "--disable-networkd" # enable/use eventually
+      "--enable-compat-libs" # get rid of this eventually
+      "--disable-tests"
     ];
 
   preConfigure =
     ''
       # FIXME: patch this in systemd properly (and send upstream).
       # FIXME: use sulogin from util-linux once updated.
-      for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c src/core/shutdown.c; do
+      for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do
         test -e $i
         substituteInPlace $i \
+          --replace /usr/bin/getent ${stdenv.glibc.bin}/bin/getent \
           --replace /bin/mount ${utillinux.bin}/bin/mount \
           --replace /bin/umount ${utillinux.bin}/bin/umount \
           --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \
@@ -68,6 +77,10 @@ stdenv.mkDerivation rec {
       export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib"
     '';
 
+  # This is needed because systemd uses the gold linker, which doesn't
+  # yet have the wrapper script to add rpath flags automatically.
+  NIX_LDFLAGS = "-rpath ${pam}/lib -rpath ${libcap}/lib -rpath ${acl}/lib -rpath ${stdenv.gcc.gcc}/lib";
+
   PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python
 
   NIX_CFLAGS_COMPILE =
@@ -76,10 +89,6 @@ stdenv.mkDerivation rec {
       "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
       "-fno-stack-protector"
 
-      # Work around our kernel headers being too old.  FIXME: remove
-      # this after the next stdenv update.
-      "-DFS_NOCOW_FL=0x00800000"
-
       # Set the release_agent on /sys/fs/cgroup/systemd to the
       # currently running systemd (/run/current-system/systemd) so
       # that we don't use an obsolete/garbage-collected release agent.
@@ -93,7 +102,12 @@ stdenv.mkDerivation rec {
   # /var is mounted.
   makeFlags = "hwdb_bin=/var/lib/udev/hwdb.bin";
 
-  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc sysvinitdir=$(TMPDIR)/etc/init.d";
+  installFlags =
+    [ "localstatedir=$(TMPDIR)/var"
+      "sysconfdir=$(out)/etc"
+      "sysvinitdir=$(TMPDIR)/etc/init.d"
+      "pamconfdir=$(out)/etc/pam.d"
+    ];
 
   # Get rid of configuration-specific data.
   postInstall =
@@ -102,6 +116,8 @@ stdenv.mkDerivation rec {
       mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
       mv $out/lib/systemd/{system,user} $out/example/systemd
 
+      rm -rf $out/etc/systemd/system
+
       # Install SysV compatibility commands.
       mkdir -p $out/sbin
       ln -s $out/lib/systemd/systemd $out/sbin/telinit
@@ -137,19 +153,6 @@ stdenv.mkDerivation rec {
   # runtime; otherwise we can't and we need to reboot.
   passthru.interfaceVersion = 2;
 
-  passthru.headers = stdenv.mkDerivation {
-    name = "systemd-headers-${version}";
-    inherit src;
-
-    phases = [ "unpackPhase" "installPhase" ];
-
-    # some are needed by dbus.libs, which is needed for systemd :-)
-    installPhase = ''
-      mkdir -p "$out/include/systemd"
-      mv src/systemd/*.h "$out/include/systemd"
-    '';
-  };
-
   meta = {
     homepage = "http://www.freedesktop.org/wiki/Software/systemd";
     description = "A system and service manager for Linux";
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 0ad420cd35c..72cf0e92bb8 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -1,144 +1,408 @@
-diff --git a/man/systemd.special.xml b/man/systemd.special.xml
-index 7164b1e..29401eb 100644
---- a/man/systemd.special.xml
-+++ b/man/systemd.special.xml
-@@ -381,7 +381,7 @@
-                                         this unit during
-                                         installation. This is best
-                                         configured via
--                                        <varname>WantedBy=multi-uer.target</varname>
-+                                        <varname>WantedBy=multi-user.target</varname>
-                                         in the unit's
-                                         <literal>[Install]</literal>
-                                         section.</para>
-diff --git a/rules/80-net-name-slot.rules b/rules/80-net-name-slot.rules
-index 15b5bc4..c5f1b38 100644
---- a/rules/80-net-name-slot.rules
-+++ b/rules/80-net-name-slot.rules
-@@ -1,6 +1,6 @@
- # do not edit this file, it will be overwritten on update
- 
--ACTION=="remove", GOTO="net_name_slot_end"
-+ACTION!="add", GOTO="net_name_slot_end"
- SUBSYSTEM!="net", GOTO="net_name_slot_end"
- NAME!="", GOTO="net_name_slot_end"
+diff --git a/Makefile.am b/Makefile.am
+index 3d9e5c1..46487f6 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1095,7 +1095,7 @@ BUILT_SOURCES += \
+ 
+ src/shared/errno-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }'  > $@
++	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }'  > $@
+ 
+ src/shared/errno-from-name.gperf: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+@@ -1107,7 +1107,7 @@ src/shared/errno-from-name.h: src/shared/errno-from-name.gperf
+ 
+ src/shared/errno-to-name.h: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
++	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
+ 
+ src/shared/af-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+@@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \
+ endif
+ 
+ SYSINIT_TARGET_WANTS += \
+-	systemd-tmpfiles-setup-dev.service \
++	systemd-tmpfiles-setup-dev.service
++
++MULTI_USER_TARGET_WANTS += \
+ 	systemd-tmpfiles-setup.service
+ 
+ dist_zshcompletion_DATA += \
+@@ -1961,6 +1963,7 @@ systemd_cgls_SOURCES = \
+ 	src/cgls/cgls.c
+ 
+ systemd_cgls_LDADD = \
++	libsystemd-internal.la \
+ 	libsystemd-shared.la
+ 
+ # ------------------------------------------------------------------------------
+diff --git a/TODO b/TODO
+index e2ca1e6..d7efdd5 100644
+--- a/TODO
++++ b/TODO
+@@ -1,4 +1,6 @@
+ Bugfixes:
++* Should systemctl status \* work on all unit types, not just .service?
++
+ * enabling an instance unit creates a pointless link, and
+   the unit will be started with getty@getty.service:
+     $ systemctl enable getty@.service
+diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
+index c675b5b..4c300da 100644
+--- a/rules/42-usb-hid-pm.rules
++++ b/rules/42-usb-hid-pm.rules
+@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!=
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ 
+-# Catch-all for Avocent HID devices. Keyed off interface in order to only
+-# trigger on HID class devices.
+-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"
+-
+ # Dell DRAC 4
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"
  
 diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
-index d17bdd9..040b10e 100644
+index db72373..2875958 100644
 --- a/rules/99-systemd.rules.in
 +++ b/rules/99-systemd.rules.in
 @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
- SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd"
- SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
+ SUBSYSTEM=="block", KERNEL!="ram*", TAG+="systemd"
+ SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
  
 -# Ignore encrypted devices with no identified superblock on it, since
 -# we are probably still calling mke2fs or mkswap on it.
--SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
+-SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
 -
  # Ignore raid devices that are not yet assembled and started
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
-diff --git a/src/core/cgroup-semantics.c b/src/core/cgroup-semantics.c
-index 82b02bb..7df9d01 100644
---- a/src/core/cgroup-semantics.c
-+++ b/src/core/cgroup-semantics.c
-@@ -255,7 +255,7 @@ static int map_blkio(const CGroupSemantics *s, const char *value, char **ret) {
- }
+@@ -43,7 +39,7 @@ SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsys
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k"
+ 
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target"
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
+ SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target"
+ 
+ SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target"
+diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
+index b8e275d..1840594 100644
+--- a/src/cgls/cgls.c
++++ b/src/cgls/cgls.c
+@@ -35,6 +35,10 @@
+ #include "build.h"
+ #include "output-mode.h"
+ #include "fileio.h"
++#include "sd-bus.h"
++#include "bus-util.h"
++#include "bus-error.h"
++#include "unit-name.h"
+ 
+ static bool arg_no_pager = false;
+ static bool arg_kernel_threads = false;
+@@ -127,6 +131,7 @@ int main(int argc, char *argv[]) {
+         int r = 0, retval = EXIT_FAILURE;
+         int output_flags;
+         char _cleanup_free_ *root = NULL;
++        _cleanup_bus_unref_ sd_bus *bus = NULL;
+ 
+         log_parse_environment();
+         log_open();
+@@ -151,6 +156,12 @@ int main(int argc, char *argv[]) {
+                 arg_all * OUTPUT_SHOW_ALL |
+                 (arg_full > 0) * OUTPUT_FULL_WIDTH;
+ 
++        r = bus_open_transport(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
++        if (r < 0) {
++                log_error("Failed to create bus connection: %s", strerror(-r));
++                goto finish;
++        }
++
+         if (optind < argc) {
+                 int i;
+ 
+@@ -189,8 +200,52 @@ int main(int argc, char *argv[]) {
+                 } else {
+                         if (arg_machine) {
+                                 char *m;
++                                const char *cgroup;
++                                _cleanup_free_ char *scope = NULL;
++                                _cleanup_free_ char *path = NULL;
++                                _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
++                                _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
++
+                                 m = strappenda("/run/systemd/machines/", arg_machine);
+-                                r = parse_env_file(m, NEWLINE, "CGROUP", &root, NULL);
++                                r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL);
++                                if (r < 0) {
++                                        log_error("Failed to get machine path: %s", strerror(-r));
++                                        goto finish;
++                                }
++
++                                path = unit_dbus_path_from_name(scope);
++                                if (!path) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
++                                r = sd_bus_get_property(
++                                                bus,
++                                                "org.freedesktop.systemd1",
++                                                path,
++                                                "org.freedesktop.systemd1.Scope",
++                                                "ControlGroup",
++                                                &error,
++                                                &reply,
++                                                "s");
++
++                                if (r < 0) {
++                                        log_error("Failed to query ControlGroup: %s", bus_error_message(&error, -r));
++                                        goto finish;
++                                }
++
++                                r = sd_bus_message_read(reply, "s", &cgroup);
++                                if (r < 0) {
++                                        bus_log_parse_error(r);
++                                        goto finish;
++                                }
++
++                                root = strdup(cgroup);
++                                if (!root) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
+                         } else
+                                 r = cg_get_root_path(&root);
+                         if (r < 0) {
+diff --git a/src/core/cgroup.c b/src/core/cgroup.c
+index 3dd4c91..4201e1e 100644
+--- a/src/core/cgroup.c
++++ b/src/core/cgroup.c
+@@ -871,7 +871,7 @@ int manager_setup_cgroup(Manager *m) {
+         safe_close(m->pin_cgroupfs_fd);
+ 
+         m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
+-        if (r < 0) {
++        if (m->pin_cgroupfs_fd < 0) {
+                 log_error("Failed to open pin file: %m");
+                 return -errno;
+         }
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 775825b..5b1c4e3 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -173,6 +173,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_CPUACCT;
+                         unit_write_drop_in_private(u, mode, name, b ? "CPUAccounting=yes" : "CPUAccounting=no");
+                 }
  
- static const CGroupSemantics semantics[] = {
--        { "cpu",     "cpu.shares",                 "CPUShare",              false, parse_cpu_shares,          NULL,       NULL },
-+        { "cpu",     "cpu.shares",                 "CPUShares",             false, parse_cpu_shares,          NULL,       NULL },
-         { "memory",  "memory.soft_limit_in_bytes", "MemorySoftLimit",       false, parse_memory_limit,        NULL,       NULL },
-         { "memory",  "memory.limit_in_bytes",      "MemoryLimit",           false, parse_memory_limit,        NULL,       NULL },
-         { "devices", "devices.allow",              "DeviceAllow",           true,  parse_device,              map_device, NULL },
-diff --git a/src/core/dbus-execute.h b/src/core/dbus-execute.h
-index 91d70e5..698102f 100644
---- a/src/core/dbus-execute.h
-+++ b/src/core/dbus-execute.h
-@@ -63,7 +63,7 @@
-         "  <property name=\"CPUSchedulingPolicy\" type=\"i\" access=\"read\"/>\n" \
-         "  <property name=\"CPUSchedulingPriority\" type=\"i\" access=\"read\"/>\n" \
-         "  <property name=\"CPUAffinity\" type=\"ay\" access=\"read\"/>\n" \
--        "  <property name=\"TimerSlackNS\" type=\"t\" access=\"read\"/>\n" \
-+        "  <property name=\"TimerSlackNSec\" type=\"t\" access=\"read\"/>\n" \
-         "  <property name=\"CPUSchedulingResetOnFork\" type=\"b\" access=\"read\"/>\n" \
-         "  <property name=\"NonBlocking\" type=\"b\" access=\"read\"/>\n" \
-         "  <property name=\"StandardInput\" type=\"s\" access=\"read\"/>\n" \
-diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
-index 56b02a1..2b6d799 100644
---- a/src/core/dbus-manager.c
-+++ b/src/core/dbus-manager.c
-@@ -1550,7 +1550,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
-                 _cleanup_strv_free_ char **l = NULL;
-                 char **e = NULL;
- 
--                SELINUX_ACCESS_CHECK(connection, message, "reboot");
-+                SELINUX_ACCESS_CHECK(connection, message, "reload");
- 
-                 r = bus_parse_strv(message, &l);
-                 if (r == -ENOMEM)
-@@ -1577,7 +1577,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
-                 _cleanup_strv_free_ char **l = NULL;
-                 char **e = NULL;
- 
--                SELINUX_ACCESS_CHECK(connection, message, "reboot");
-+                SELINUX_ACCESS_CHECK(connection, message, "reload");
- 
-                 r = bus_parse_strv(message, &l);
-                 if (r == -ENOMEM)
-@@ -1605,7 +1605,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
-                 char **f = NULL;
-                 DBusMessageIter iter;
- 
--                SELINUX_ACCESS_CHECK(connection, message, "reboot");
-+                SELINUX_ACCESS_CHECK(connection, message, "reload");
- 
-                 if (!dbus_message_iter_init(message, &iter))
-                         goto oom;
-diff --git a/src/core/dbus-swap.c b/src/core/dbus-swap.c
-index 2e99fba..e72749a 100644
---- a/src/core/dbus-swap.c
-+++ b/src/core/dbus-swap.c
-@@ -93,6 +93,7 @@ static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_swap_append_swap_result, swap_result,
- static const BusProperty bus_swap_properties[] = {
-         { "What",       bus_property_append_string, "s", offsetof(Swap, what),  true },
-         { "Priority",   bus_swap_append_priority,   "i", 0 },
-+        { "TimeoutUSec",bus_property_append_usec,   "t", offsetof(Swap, timeout_usec)},
-         BUS_EXEC_COMMAND_PROPERTY("ExecActivate",   offsetof(Swap, exec_command[SWAP_EXEC_ACTIVATE]),   false),
-         BUS_EXEC_COMMAND_PROPERTY("ExecDeactivate", offsetof(Swap, exec_command[SWAP_EXEC_DEACTIVATE]), false),
-         { "ControlPID", bus_property_append_pid,    "u", offsetof(Swap, control_pid) },
-diff --git a/src/core/main.c b/src/core/main.c
-index 7fc06be..101ce79 100644
---- a/src/core/main.c
-+++ b/src/core/main.c
-@@ -1590,14 +1590,14 @@ int main(int argc, char *argv[]) {
-                         log_error("Failed to adjust timer slack: %m");
+@@ -192,6 +193,7 @@ int bus_cgroup_set_property(
  
-         if (arg_capability_bounding_set_drop) {
--                r = capability_bounding_set_drop(arg_capability_bounding_set_drop, true);
-+                r = capability_bounding_set_drop_usermode(arg_capability_bounding_set_drop);
-                 if (r < 0) {
--                        log_error("Failed to drop capability bounding set: %s", strerror(-r));
-+                        log_error("Failed to drop capability bounding set of usermode helpers: %s", strerror(-r));
-                         goto finish;
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_shares = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_CPU;
+                         unit_write_drop_in_private_format(u, mode, name, "CPUShares=%lu", ul);
                  }
--                r = capability_bounding_set_drop_usermode(arg_capability_bounding_set_drop);
-+                r = capability_bounding_set_drop(arg_capability_bounding_set_drop, true);
-                 if (r < 0) {
--                        log_error("Failed to drop capability bounding set of usermode helpers: %s", strerror(-r));
-+                        log_error("Failed to drop capability bounding set: %s", strerror(-r));
-                         goto finish;
+ 
+@@ -206,6 +208,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private(u, mode, name, b ? "BlockIOAccounting=yes" : "BlockIOAccounting=no");
+                 }
+ 
+@@ -225,6 +228,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_weight = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private_format(u, mode, name, "BlockIOWeight=%lu", ul);
+                 }
+ 
+@@ -294,6 +298,8 @@ int bus_cgroup_set_property(
+                                                 cgroup_context_free_blockio_device_bandwidth(c, a);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -375,6 +381,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -398,6 +406,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private(u, mode, name, b ? "MemoryAccounting=yes" : "MemoryAccounting=no");
+                 }
+ 
+@@ -412,6 +421,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_limit = limit;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private_format(u, mode, name, "%s=%" PRIu64, name, limit);
+                 }
+ 
+@@ -433,6 +443,7 @@ int bus_cgroup_set_property(
+                         char *buf;
+ 
+                         c->device_policy = p;
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
+ 
+                         buf = strappenda("DevicePolicy=", policy);
+                         unit_write_drop_in_private(u, mode, name, buf);
+@@ -511,6 +522,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_device_allow(c, c->device_allow);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 13b3d0d..37d4154 100644
+--- a/src/core/dbus-execute.c
++++ b/src/core/dbus-execute.c
+@@ -842,7 +842,7 @@ int bus_exec_context_set_transient_property(
+                         strv_free(c->environment);
+                         c->environment = e;
+ 
+-                        joined = strv_join(c->environment, " ");
++                        joined = strv_join_quoted(c->environment);
+                         if (!joined)
+                                 return -ENOMEM;
+ 
+diff --git a/src/core/job.c b/src/core/job.c
+index 35a9de6..dc4f441 100644
+--- a/src/core/job.c
++++ b/src/core/job.c
+@@ -1060,6 +1060,9 @@ int job_coldplug(Job *j) {
+         if (r < 0)
+                 return r;
+ 
++        if (j->state == JOB_WAITING)
++                job_add_to_run_queue(j);
++
+         if (j->begin_usec == 0 || j->unit->job_timeout == 0)
+                 return 0;
+ 
+diff --git a/src/core/killall.c b/src/core/killall.c
+index 57ed41c..eab48f7 100644
+--- a/src/core/killall.c
++++ b/src/core/killall.c
+@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
+                         continue;
+ 
+                 if (sig == SIGKILL) {
+-                        _cleanup_free_ char *s;
++                        _cleanup_free_ char *s = NULL;
+ 
+                         get_process_comm(pid, &s);
+                         log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
+diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
+index d459afe..2a58e48 100644
+--- a/src/core/machine-id-setup.c
++++ b/src/core/machine-id-setup.c
+@@ -93,32 +93,9 @@ static int generate(char id[34], const char *root) {
                  }
          }
-@@ -1650,6 +1650,7 @@ int main(int argc, char *argv[]) {
-         /* This will close all file descriptors that were opened, but
-          * not claimed by any unit. */
-         fdset_free(fds);
-+        fds = NULL;
  
-         if (serialization) {
-                 fclose(serialization);
-@@ -1857,7 +1858,7 @@ finish:
+-        /* If that didn't work, see if we are running in qemu/kvm and a
+-         * machine ID was passed in via -uuid on the qemu/kvm command
+-         * line */
+-
+-        r = detect_vm(&vm_id);
+-        if (r > 0 && streq(vm_id, "kvm")) {
+-                char uuid[37];
+-
+-                fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
+-                if (fd >= 0) {
+-                        k = loop_read(fd, uuid, 36, false);
+-                        safe_close(fd);
+-
+-                        if (k >= 36) {
+-                                r = shorten_uuid(id, uuid);
+-                                if (r >= 0) {
+-                                        log_info("Initializing machine ID from KVM UUID.");
+-                                        return 0;
+-                                }
+-                        }
+-                }
+-        }
+-
+-        /* If that didn't work either, see if we are running in a
+-         * container, and a machine ID was passed in via
+-         * $container_uuid the way libvirt/LXC does it */
++        /* If that didn't work, see if we are running in a container,
++         * and a machine ID was passed in via $container_uuid the way
++         * libvirt/LXC does it */
+         r = detect_container(NULL);
+         if (r > 0) {
+                 _cleanup_free_ char *e = NULL;
+@@ -133,6 +110,30 @@ static int generate(char id[34], const char *root) {
+                                 }
+                         }
+                 }
++
++        } else {
++                /* If we are not running in a container, see if we are
++                 * running in qemu/kvm and a machine ID was passed in
++                 * via -uuid on the qemu/kvm command line */
++
++                r = detect_vm(&vm_id);
++                if (r > 0 && streq(vm_id, "kvm")) {
++                        char uuid[37];
++
++                        fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
++                        if (fd >= 0) {
++                                k = loop_read(fd, uuid, 36, false);
++                                safe_close(fd);
++
++                                if (k >= 36) {
++                                        r = shorten_uuid(id, uuid);
++                                        if (r >= 0) {
++                                                log_info("Initializing machine ID from KVM UUID.");
++                                                return 0;
++                                        }
++                                }
++                        }
++                }
+         }
+ 
+         /* If that didn't work, generate a random machine id */
+diff --git a/src/core/main.c b/src/core/main.c
+index 41605ee..c65701d 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1840,6 +1840,7 @@ finish:
+         if (reexecute) {
+                 const char **args;
+                 unsigned i, args_size;
++                sigset_t ss;
+ 
+                 /* Close and disarm the watchdog, so that the new
+                  * instance can reinitialize it, but doesn't get
+@@ -1883,7 +1884,7 @@ finish:
                          char_array_0(sfd);
  
                          i = 0;
@@ -147,69 +411,252 @@ index 7fc06be..101ce79 100644
                          if (switch_root_dir)
                                  args[i++] = "--switched-root";
                          args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
+@@ -1923,6 +1924,13 @@ finish:
+                 args[i++] = NULL;
+                 assert(i <= args_size);
+ 
++                /* reenable any blocked signals, especially important
++                 * if we switch from initial ramdisk to init=... */
++                reset_all_signal_handlers();
++
++                assert_se(sigemptyset(&ss) == 0);
++                assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
++
+                 if (switch_root_init) {
+                         args[0] = switch_root_init;
+                         execv(args[0], (char* const*) args);
 diff --git a/src/core/manager.c b/src/core/manager.c
-index c7f8f20..0508628 100644
+index 224106c..7342095 100644
 --- a/src/core/manager.c
 +++ b/src/core/manager.c
-@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) {
+@@ -422,7 +422,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
+                 return -ENOMEM;
  
-                 case SIGINT:
-                         if (m->running_as == SYSTEMD_SYSTEM) {
--                                manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE);
-+                                manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY);
-                                 break;
-                         }
+ #ifdef ENABLE_EFI
+-        if (detect_container(NULL) <= 0)
++        if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0)
+                 boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
+ #endif
+ 
+@@ -2129,9 +2129,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
+                 if (u->id != t)
+                         continue;
+ 
+-                if (!unit_can_serialize(u))
+-                        continue;
+-
+                 /* Start marker */
+                 fputs(u->id, f);
+                 fputc('\n', f);
+diff --git a/src/core/namespace.c b/src/core/namespace.c
+index 9f15211..e41cf5b 100644
+--- a/src/core/namespace.c
++++ b/src/core/namespace.c
+@@ -42,6 +42,7 @@
+ #include "mkdir.h"
+ #include "dev-setup.h"
+ #include "def.h"
++#include "label.h"
+ 
+ typedef enum MountMode {
+         /* This is ordered by priority! */
+@@ -68,6 +69,7 @@ static int append_mounts(BindMount **p, char **strv, MountMode mode) {
+         STRV_FOREACH(i, strv) {
+ 
+                 (*p)->ignore = false;
++                (*p)->done = false;
+ 
+                 if ((mode == INACCESSIBLE || mode == READONLY || mode == READWRITE) && (*i)[0] == '-') {
+                         (*p)->ignore = true;
+@@ -217,7 +219,10 @@ static int mount_dev(BindMount *m) {
+                         goto fail;
+                 }
  
++                label_context_set(d, st.st_mode);
+                 r = mknod(dn, st.st_mode, st.st_rdev);
++                label_context_clear();
++
+                 if (r < 0) {
+                         r = -errno;
+                         goto fail;
+@@ -350,7 +355,7 @@ int setup_namespace(
+                 private_dev;
+ 
+         if (n > 0) {
+-                m = mounts = (BindMount *) alloca(n * sizeof(BindMount));
++                m = mounts = (BindMount *) alloca0(n * sizeof(BindMount));
+                 r = append_mounts(&m, read_write_dirs, READWRITE);
+                 if (r < 0)
+                         return r;
 diff --git a/src/core/service.c b/src/core/service.c
-index 3617c24..4d0e2ad 100644
+index ae3695a..6b3aa45 100644
 --- a/src/core/service.c
 +++ b/src/core/service.c
-@@ -2642,6 +2642,9 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) {
-         if (s->exec_context.var_tmp_dir)
-                 unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir);
+@@ -1096,11 +1096,6 @@ static int service_verify(Service *s) {
+                 return -EINVAL;
+         }
+ 
+-        if (s->type == SERVICE_ONESHOT && s->restart != SERVICE_RESTART_NO) {
+-                log_error_unit(UNIT(s)->id, "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id);
+-                return -EINVAL;
+-        }
+-
+         if (s->type == SERVICE_DBUS && !s->bus_name) {
+                 log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id);
+                 return -EINVAL;
+diff --git a/src/core/socket.c b/src/core/socket.c
+index 7c18a2b..1a560a6 100644
+--- a/src/core/socket.c
++++ b/src/core/socket.c
+@@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) {
+                 int k;
+ 
+                 k = getpeercred(fd, &ucred);
+-                if (k < 0)
++                if (k == -ENODATA) {
++                        /* This handles the case where somebody is
++                         * connecting from another pid/uid namespace
++                         * (e.g. from outside of our container). */
++                        if (asprintf(&r,
++                                     "%u-unknown",
++                                     nr) < 0)
++                                return -ENOMEM;
++                }
++                else if (k < 0)
+                         return k;
+-
+-                if (asprintf(&r,
+-                             "%u-%lu-%lu",
+-                             nr,
+-                             (unsigned long) ucred.pid,
+-                             (unsigned long) ucred.uid) < 0)
+-                        return -ENOMEM;
+-
++                else {
++                        if (asprintf(&r,
++                                     "%u-%lu-%lu",
++                                     nr,
++                                     (unsigned long) ucred.pid,
++                                     (unsigned long) ucred.uid) < 0)
++                                return -ENOMEM;
++                }
+                 break;
+         }
+ 
+@@ -1242,6 +1251,8 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) {
+                        NULL,
+                        s->exec_runtime,
+                        &pid);
++        if (r < 0)
++                goto fail;
  
-+        if (s->forbid_restart)
-+                unit_serialize_item(u, f, "forbid-restart", yes_no(s->forbid_restart));
+         strv_free(argv);
+         if (r < 0)
+@@ -1497,6 +1508,12 @@ static void socket_enter_running(Socket *s, int cfd) {
+                         }
+ 
+                 if (!pending) {
++                        if (!UNIT_ISSET(s->service)) {
++                                log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
++                                r = -ENOENT;
++                                goto fail;
++                        }
 +
-         return 0;
+                         r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
+                         if (r < 0)
+                                 goto fail;
+diff --git a/src/core/timer.c b/src/core/timer.c
+index 6c85304..720b8af 100644
+--- a/src/core/timer.c
++++ b/src/core/timer.c
+@@ -111,6 +111,23 @@ static int timer_add_default_dependencies(Timer *t) {
+         return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
  }
  
-@@ -2776,6 +2779,14 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
-                         return log_oom();
- 
-                 s->exec_context.var_tmp_dir = t;
-+        } else if (streq(key, "forbid-restart")) {
-+                int b;
++static void update_stampfile(Timer *t, usec_t timestamp) {
++        _cleanup_close_ int fd = -1;
 +
-+                b = parse_boolean(value);
-+                if (b < 0)
-+                        log_debug_unit(u->id, "Failed to parse forbid-restart value %s", value);
-+                else
-+                        s->forbid_restart = b;
-         } else
-                 log_debug_unit(u->id, "Unknown serialization key '%s'", key);
- 
-diff --git a/src/core/snapshot.c b/src/core/snapshot.c
-index a63eccd..a6807eb 100644
---- a/src/core/snapshot.c
-+++ b/src/core/snapshot.c
-@@ -217,8 +217,10 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, DBusError *e, Sn
-                         if (asprintf(&n, "snapshot-%u.snapshot", ++ m->n_snapshots) < 0)
-                                 return -ENOMEM;
++        mkdir_parents_label(t->stamp_path, 0755);
++
++        /* Update the file atime + mtime, if we can */
++        fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
++        if (fd >= 0) {
++                struct timespec ts[2];
++
++                timespec_store(&ts[0], timestamp);
++                ts[1] = ts[0];
++
++                futimens(fd, ts);
++        }
++}
++
+ static int timer_setup_persistent(Timer *t) {
+         int r;
  
--                        if (!manager_get_unit(m, n))
-+                        if (!manager_get_unit(m, n)) {
-+                                name = n;
-                                 break;
-+                        }
+@@ -131,7 +148,7 @@ static int timer_setup_persistent(Timer *t) {
  
-                         free(n);
-                 }
+                 e = getenv("XDG_DATA_HOME");
+                 if (e)
+-                        t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL);
++                        t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL);
+                 else {
+ 
+                         _cleanup_free_ char *h = NULL;
+@@ -496,22 +513,8 @@ static void timer_enter_running(Timer *t) {
+ 
+         dual_timestamp_get(&t->last_trigger);
+ 
+-        if (t->stamp_path) {
+-                _cleanup_close_ int fd = -1;
+-
+-                mkdir_parents_label(t->stamp_path, 0755);
+-
+-                /* Update the file atime + mtime, if we can */
+-                fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
+-                if (fd >= 0) {
+-                        struct timespec ts[2];
+-
+-                        timespec_store(&ts[0], t->last_trigger.realtime);
+-                        ts[1] = ts[0];
+-
+-                        futimens(fd, ts);
+-                }
+-        }
++        if (t->stamp_path)
++                update_stampfile(t, t->last_trigger.realtime);
+ 
+         timer_set_state(t, TIMER_RUNNING);
+         return;
+@@ -539,6 +542,11 @@ static int timer_start(Unit *u) {
+ 
+                 if (stat(t->stamp_path, &st) >= 0)
+                         t->last_trigger.realtime = timespec_load(&st.st_atim);
++                else if (errno == ENOENT)
++                        /* The timer has never run before,
++                         * make sure a stamp file exists.
++                         */
++                        update_stampfile(t, now(CLOCK_REALTIME));
+         }
+ 
+         t->result = TIMER_SUCCESS;
+diff --git a/src/core/transaction.c b/src/core/transaction.c
+index d00f427..2befc32 100644
+--- a/src/core/transaction.c
++++ b/src/core/transaction.c
+@@ -378,7 +378,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
+                                       "Found dependency on %s/%s",
+                                       k->unit->id, job_type_to_string(k->type));
+ 
+-                        if (!delete &&
++                        if (!delete && hashmap_get(tr->jobs, k->unit) &&
+                             !unit_matters_to_anchor(k->unit, k)) {
+                                 /* Ok, we can drop this one, so let's
+                                  * do so. */
 diff --git a/src/core/umount.c b/src/core/umount.c
-index 1e95ad7..9f0e471 100644
+index d1258f0..0311812 100644
 --- a/src/core/umount.c
 +++ b/src/core/umount.c
-@@ -435,6 +435,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
+@@ -404,6 +404,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
                   * anyway, since we are running from it. They have
                   * already been remounted ro. */
                  if (path_equal(m->path, "/")
@@ -218,285 +665,986 @@ index 1e95ad7..9f0e471 100644
  #ifndef HAVE_SPLIT_USR
                      || path_equal(m->path, "/usr")
  #endif
+diff --git a/src/core/unit.c b/src/core/unit.c
+index 153b79b..ed52694 100644
+--- a/src/core/unit.c
++++ b/src/core/unit.c
+@@ -2287,25 +2287,25 @@ bool unit_can_serialize(Unit *u) {
+ }
+ 
+ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) {
+-        ExecRuntime *rt;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+-        r = UNIT_VTABLE(u)->serialize(u, f, fds);
+-        if (r < 0)
+-                return r;
++        if (unit_can_serialize(u)) {
++                ExecRuntime *rt;
+ 
+-        rt = unit_get_exec_runtime(u);
+-        if (rt) {
+-                r = exec_runtime_serialize(rt, u, f, fds);
++                r = UNIT_VTABLE(u)->serialize(u, f, fds);
+                 if (r < 0)
+                         return r;
++
++                rt = unit_get_exec_runtime(u);
++                if (rt) {
++                        r = exec_runtime_serialize(rt, u, f, fds);
++                        if (r < 0)
++                                return r;
++                }
+         }
+ 
+         dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp);
+@@ -2367,17 +2367,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) {
+ }
+ 
+ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+-        size_t offset;
+         ExecRuntime **rt = NULL;
++        size_t offset;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+         offset = UNIT_VTABLE(u)->exec_runtime_offset;
+         if (offset > 0)
+                 rt = (ExecRuntime**) ((uint8_t*) u + offset);
+@@ -2487,24 +2484,34 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+                         if (!s)
+                                 return -ENOMEM;
+ 
+-                        free(u->cgroup_path);
+-                        u->cgroup_path = s;
++                        if (u->cgroup_path) {
++                                void *p;
+ 
++                                p = hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
++                                log_info("Removing cgroup_path %s from hashmap (%p)",
++                                         u->cgroup_path, p);
++                                free(u->cgroup_path);
++                        }
++
++                        u->cgroup_path = s;
+                         assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1);
++
+                         continue;
+                 }
+ 
+-                if (rt) {
+-                        r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                if (unit_can_serialize(u)) {
++                        if (rt) {
++                                r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                                if (r < 0)
++                                        return r;
++                                if (r > 0)
++                                        continue;
++                        }
++
++                        r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+                         if (r < 0)
+                                 return r;
+-                        if (r > 0)
+-                                continue;
+                 }
+-
+-                r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+-                if (r < 0)
+-                        return r;
+         }
+ }
+ 
 diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
-index 81b7708..edd0b40 100644
+index 75d56dd..be8fb2f 100644
 --- a/src/cryptsetup/cryptsetup-generator.c
 +++ b/src/cryptsetup/cryptsetup-generator.c
-@@ -111,6 +111,7 @@ static int create_disk(
-                 "Conflicts=umount.target\n"
-                 "DefaultDependencies=no\n"
-                 "BindsTo=dev-mapper-%i.device\n"
-+                "IgnoreOnIsolate=true\n"
-                 "After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
-                 f);
- 
-diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
-index c17299f..6b3e67e 100644
---- a/src/fstab-generator/fstab-generator.c
-+++ b/src/fstab-generator/fstab-generator.c
-@@ -351,7 +351,7 @@ static int add_mount(
- 
-         if (automount && !path_equal(where, "/")) {
-                 automount_name = unit_name_from_path(where, ".automount");
--                if (!name)
-+                if (!automount_name)
+@@ -29,6 +29,7 @@
+ #include "mkdir.h"
+ #include "strv.h"
+ #include "fileio.h"
++#include "path-util.h"
+ 
+ static const char *arg_dest = "/tmp";
+ static bool arg_enabled = true;
+@@ -144,16 +145,19 @@ static int create_disk(
+                         if (!uu)
+                                 return log_oom();
+ 
+-                        if (is_device_path(uu)) {
+-                                _cleanup_free_ char *dd;
++                        if (!path_equal(uu, "/dev/null")) {
+ 
+-                                dd = unit_name_from_path(uu, ".device");
+-                                if (!dd)
+-                                        return log_oom();
++                                if (is_device_path(uu)) {
++                                        _cleanup_free_ char *dd;
+ 
+-                                fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
+-                        } else
+-                                fprintf(f, "RequiresMountsFor=%s\n", password);
++                                        dd = unit_name_from_path(uu, ".device");
++                                        if (!dd)
++                                                return log_oom();
++
++                                        fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
++                                } else
++                                        fprintf(f, "RequiresMountsFor=%s\n", password);
++                        }
+                 }
+         }
+ 
+@@ -287,7 +291,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
+         } else if (STR_IN_SET(key, "luks.key", "rd.luks.key") && value) {
+ 
+                 free(arg_keyfile);
+-                arg_keyfile = strdup(key);
++                arg_keyfile = strdup(value);
+                 if (!arg_keyfile)
                          return log_oom();
  
-                 automount_unit = strjoin(arg_dest, "/", automount_name, NULL);
-@@ -596,9 +596,9 @@ static int parse_proc_cmdline(void) {
-                 } else if (startswith(word, "rd.fstab=")) {
- 
-                         if (in_initrd()) {
--                                r = parse_boolean(word + 6);
-+                                r = parse_boolean(word + 9);
-                                 if (r < 0)
--                                        log_warning("Failed to parse fstab switch %s. Ignoring.", word + 6);
-+                                        log_warning("Failed to parse fstab switch %s. Ignoring.", word + 9);
-                                 else
-                                         arg_enabled = r;
-                         }
-diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
-index 38499a6..bb80905 100644
---- a/src/journal/journal-file.c
-+++ b/src/journal/journal-file.c
-@@ -907,6 +907,8 @@ static int journal_file_append_field(
+diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
+index 9b9074c..ad6c76c 100644
+--- a/src/cryptsetup/cryptsetup.c
++++ b/src/cryptsetup/cryptsetup.c
+@@ -88,6 +88,13 @@ static int parse_one_option(const char *option) {
+                         return 0;
+                 }
  
-         osize = offsetof(Object, field.payload) + size;
-         r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p);
-+        if (r < 0)
++                if (arg_key_size % 8) {
++                        log_error("size= not a multiple of 8, ignoring.");
++                        return 0;
++                }
++
++                arg_key_size /= 8;
++
+         } else if (startswith(option, "key-slot=")) {
+ 
+                 arg_type = CRYPT_LUKS1;
+@@ -404,7 +411,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
+                 /* for CRYPT_PLAIN limit reads
+                  * from keyfile to key length, and
+                  * ignore keyfile-size */
+-                arg_keyfile_size = arg_key_size / 8;
++                arg_keyfile_size = arg_key_size;
+ 
+                 /* In contrast to what the name
+                  * crypt_setup() might suggest this
+@@ -567,7 +574,7 @@ int main(int argc, char *argv[]) {
+                 else
+                         until = 0;
+ 
+-                arg_key_size = (arg_key_size > 0 ? arg_key_size : 256);
++                arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));
+ 
+                 if (key_file) {
+                         struct stat st;
+diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
+index 18f2aca..2a2b1ea 100644
+--- a/src/fsck/fsck.c
++++ b/src/fsck/fsck.c
+@@ -285,7 +285,7 @@ int main(int argc, char *argv[]) {
+ 
+         type = udev_device_get_property_value(udev_device, "ID_FS_TYPE");
+         if (type) {
+-                const char *checker = strappenda("/sbin/fsck.", type);
++                const char *checker = strappenda("/run/current-system/sw/sbin/fsck.", type);
+                 r = access(checker, X_OK);
+                 if (r < 0) {
+                         if (errno == ENOENT) {
+@@ -302,7 +302,7 @@ int main(int argc, char *argv[]) {
+                         return EXIT_FAILURE;
+                 }
+ 
+-        cmdline[i++] = "/sbin/fsck";
++        cmdline[i++] = "/run/current-system/sw/sbin/fsck";
+         cmdline[i++] = "-a";
+         cmdline[i++] = "-T";
+         cmdline[i++] = "-l";
+diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
+index 6a4aa2c..700e90a 100644
+--- a/src/getty-generator/getty-generator.c
++++ b/src/getty-generator/getty-generator.c
+@@ -72,7 +72,7 @@ static int add_serial_getty(const char *tty) {
+ 
+         log_debug("Automatically adding serial getty for /dev/%s.", tty);
+ 
+-        n = unit_name_replace_instance("serial-getty@.service", tty);
++        n = unit_name_from_path_instance("serial-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+@@ -86,7 +86,7 @@ static int add_container_getty(const char *tty) {
+ 
+         log_debug("Automatically adding container getty for /dev/pts/%s.", tty);
+ 
+-        n = unit_name_replace_instance("container-getty@.service", tty);
++        n = unit_name_from_path_instance("container-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 3ed0b7e..02dedc4 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -103,7 +103,7 @@ static int finish_item(
+                 const char *payload) {
+ 
+         ssize_t offset;
+-        CatalogItem *i;
++        _cleanup_free_ CatalogItem *i = NULL;
+         int r;
+ 
+         assert(h);
+@@ -126,13 +126,14 @@ static int finish_item(
+         i->offset = htole64((uint64_t) offset);
+ 
+         r = hashmap_put(h, i, i);
+-        if (r == EEXIST) {
++        if (r == -EEXIST) {
+                 log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
+                             SD_ID128_FORMAT_VAL(id), language ? language : "C");
+-                free(i);
+                 return 0;
+-        }
++        } else if (r < 0)
 +                return r;
  
-         o->field.hash = htole64(hash);
-         memcpy(o->field.payload, field, size);
++        i = NULL;
+         return 0;
+ }
+ 
+@@ -383,8 +384,8 @@ error:
+ int catalog_update(const char* database, const char* root, const char* const* dirs) {
+         _cleanup_strv_free_ char **files = NULL;
+         char **f;
+-        Hashmap *h;
+         struct strbuf *sb = NULL;
++        _cleanup_hashmap_free_free_ Hashmap *h = NULL;
+         _cleanup_free_ CatalogItem *items = NULL;
+         CatalogItem *i;
+         Iterator j;
+@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di
+         }
+ 
+         STRV_FOREACH(f, files) {
+-                log_debug("reading file '%s'", *f);
+-                catalog_import_file(h, sb, *f);
++                log_debug("Reading file '%s'", *f);
++                r = catalog_import_file(h, sb, *f);
++                if (r < 0) {
++                        log_error("Failed to import file '%s': %s.",
++                                  *f, strerror(-r));
++                        goto finish;
++                }
+         }
+ 
+         if (hashmap_size(h) <= 0) {
+                 log_info("No items in catalog.");
+-                r = 0;
+                 goto finish;
+         } else
+                 log_debug("Found %u items in catalog.", hashmap_size(h));
+@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di
+                 log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
+                           database, n, sb->len, r);
+ 
+-        r = 0;
+-
+ finish:
+-        if (h)
+-                hashmap_free_free(h);
+         if (sb)
+                 strbuf_cleanup(sb);
+ 
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index f2f1f35..fd9d2a8 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -274,12 +274,6 @@ static int journal_file_verify_header(JournalFile *f) {
+             !VALID64(le64toh(f->header->entry_array_offset)))
+                 return -ENODATA;
+ 
+-        if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size))
+-                return -ENODATA;
+-
+         if (f->writable) {
+                 uint8_t state;
+                 sd_id128_t machine_id;
+diff --git a/src/journal/journal-remote-parse.c b/src/journal/journal-remote-parse.c
+index 142de0e..239ff38 100644
+--- a/src/journal/journal-remote-parse.c
++++ b/src/journal/journal-remote-parse.c
+@@ -40,7 +40,7 @@ void source_free(RemoteSource *source) {
+ 
+ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         ssize_t n, remain;
+-        char *c;
++        char *c = NULL;
+         char *newbuf = NULL;
+         size_t newsize = 0;
+ 
+@@ -49,7 +49,9 @@ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         assert(source->filled <= source->size);
+         assert(source->buf == NULL || source->size > 0);
+ 
+-        c = memchr(source->buf, '\n', source->filled);
++        if (source->buf)
++                c = memchr(source->buf, '\n', source->filled);
++
+         if (c != NULL)
+                 goto docopy;
+ 
+diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
+index 35948ea..48725e4 100644
+--- a/src/journal/journald-kmsg.c
++++ b/src/journal/journald-kmsg.c
+@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
+                 /* Did we lose any? */
+                 if (serial > *s->kernel_seqnum)
+                         server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages",
+-                                              serial - *s->kernel_seqnum - 1);
++                                              serial - *s->kernel_seqnum);
+ 
+                 /* Make sure we never read this one again. Note that
+                  * we always store the next message serial we expect
 diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
-index 88163c0..e09ba4c 100644
+index 6da81e7..b6f8e7e 100644
 --- a/src/journal/journald-server.c
 +++ b/src/journal/journald-server.c
-@@ -333,8 +333,10 @@ void server_rotate(Server *s) {
-                 if (r < 0)
-                         if (f)
-                                 log_error("Failed to rotate %s: %s", f->path, strerror(-r));
--                        else
-+                        else {
-                                 log_error("Failed to create user journal: %s", strerror(-r));
-+                                hashmap_remove(s->user_journals, k);
-+                        }
-                 else {
-                         hashmap_replace(s->user_journals, k, f);
-                         server_fix_perms(s, f, PTR_TO_UINT32(k));
-@@ -975,7 +977,8 @@ int process_event(Server *s, struct epoll_event *ev) {
-                 ssize_t n;
- 
-                 if (ev->events != EPOLLIN) {
--                        log_error("Got invalid event from epoll.");
-+                        log_error("Got invalid event from epoll for %s: %"PRIx32,
-+                                  "signal fd", ev->events);
-                         return -EIO;
-                 }
+@@ -67,6 +67,7 @@
+ #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE)
+ #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC)
+ #define DEFAULT_RATE_LIMIT_BURST 1000
++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH
  
-@@ -1024,8 +1027,12 @@ int process_event(Server *s, struct epoll_event *ev) {
-         } else if (ev->data.fd == s->dev_kmsg_fd) {
-                 int r;
+ #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC)
  
--                if (ev->events != EPOLLIN) {
--                        log_error("Got invalid event from epoll.");
-+                if (ev->events & EPOLLERR)
-+                        log_warning("/dev/kmsg buffer overrun, some messages lost.");
+@@ -1473,6 +1474,8 @@ int server_init(Server *s) {
+         s->forward_to_syslog = true;
+         s->forward_to_wall = true;
+ 
++        s->max_file_usec = DEFAULT_MAX_FILE_USEC;
 +
-+                if (!(ev->events & EPOLLIN)) {
-+                        log_error("Got invalid event from epoll for %s: %"PRIx32,
-+                                  "/dev/kmsg", ev->events);
-                         return -EIO;
-                 }
+         s->max_level_store = LOG_DEBUG;
+         s->max_level_syslog = LOG_DEBUG;
+         s->max_level_kmsg = LOG_NOTICE;
+diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c
+index f693e0f..9a8d5c6 100644
+--- a/src/journal/microhttpd-util.c
++++ b/src/journal/microhttpd-util.c
+@@ -129,7 +129,7 @@ void log_func_gnutls(int level, const char *message) {
+         if (0 <= level && level < (int) ELEMENTSOF(log_level_map))
+                 ourlevel = log_level_map[level];
+         else
+-                level = LOG_DEBUG;
++                ourlevel = LOG_DEBUG;
+ 
+         log_meta(ourlevel, NULL, 0, NULL, "gnutls: %s", message);
+ }
+diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c
+index b087a8b..967ab67 100644
+--- a/src/journal/test-catalog.c
++++ b/src/journal/test-catalog.c
+@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) {
+ 
+         setlocale(LC_ALL, "de_DE.UTF-8");
+ 
+-        log_set_max_level(LOG_DEBUG);
++        log_parse_environment();
++        log_open();
+ 
+         test_catalog_file_lang();
+ 
+diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
+index 84a8ffa..e79b318 100644
+--- a/src/libsystemd/sd-rtnl/rtnl-message.c
++++ b/src/libsystemd/sd-rtnl/rtnl-message.c
+@@ -335,24 +335,28 @@ int sd_rtnl_message_link_get_flags(sd_rtnl_message *m, unsigned *flags) {
+ /* If successful the updated message will be correctly aligned, if
+    unsuccessful the old message is untouched. */
+ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) {
+-        uint32_t rta_length, message_length;
++        uint32_t rta_length;
++        size_t message_length, padding_length;
+         struct nlmsghdr *new_hdr;
+         struct rtattr *rta;
+         char *padding;
+         unsigned i;
++        int offset;
+ 
+         assert(m);
+         assert(m->hdr);
+         assert(!m->sealed);
+         assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len);
+-        assert(!data || data_length > 0);
+-        assert(data || m->n_containers < RTNL_CONTAINER_DEPTH);
++        assert(!data || data_length);
++
++        /* get offset of the new attribute */
++        offset = m->hdr->nlmsg_len;
+ 
+         /* get the size of the new rta attribute (with padding at the end) */
+         rta_length = RTA_LENGTH(data_length);
+ 
+         /* get the new message size (with padding at the end) */
+-        message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length);
++        message_length = offset + RTA_ALIGN(rta_length);
+ 
+         /* realloc to fit the new attribute */
+         new_hdr = realloc(m->hdr, message_length);
+@@ -361,32 +365,35 @@ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data,
+         m->hdr = new_hdr;
+ 
+         /* get pointer to the attribute we are about to add */
+-        rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len);
++        rta = (struct rtattr *) ((uint8_t *) m->hdr + offset);
+ 
+         /* if we are inside containers, extend them */
+         for (i = 0; i < m->n_containers; i++)
+-                GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len;
++                GET_CONTAINER(m, i)->rta_len += message_length - offset;
+ 
+         /* fill in the attribute */
+         rta->rta_type = type;
+         rta->rta_len = rta_length;
+-        if (!data) {
+-                /* this is the start of a new container */
+-                m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len;
+-        } else {
++        if (data)
+                 /* we don't deal with the case where the user lies about the type
+                  * and gives us too little data (so don't do that)
+-                */
++                 */
+                 padding = mempcpy(RTA_DATA(rta), data, data_length);
+-                /* make sure also the padding at the end of the message is initialized */
+-                memzero(padding,
+-                        (uint8_t *) m->hdr + message_length - (uint8_t *) padding);
++        else {
++                /* if no data was passed, make sure we still initialize the padding
++                   note that we can have data_length > 0 (used by some containers) */
++                padding = RTA_DATA(rta);
++                data_length = 0;
+         }
  
-@@ -1039,7 +1046,9 @@ int process_event(Server *s, struct epoll_event *ev) {
-                    ev->data.fd == s->syslog_fd) {
++        /* make sure also the padding at the end of the message is initialized */
++        padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding;
++        memzero(padding, padding_length);
++
+         /* update message size */
+         m->hdr->nlmsg_len = message_length;
  
-                 if (ev->events != EPOLLIN) {
--                        log_error("Got invalid event from epoll.");
-+                        log_error("Got invalid event from epoll for %s: %"PRIx32,
-+                                  ev->data.fd == s->native_fd ? "native fd" : "syslog fd",
-+                                  ev->events);
-                         return -EIO;
-                 }
+-        return 0;
++        return offset;
+ }
  
-@@ -1140,12 +1149,7 @@ int process_event(Server *s, struct epoll_event *ev) {
-                                 char *e;
+ int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) {
+@@ -761,22 +768,29 @@ int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) {
  
-                                 if (n > 0 && n_fds == 0) {
--                                        e = memchr(s->buffer, '\n', n);
--                                        if (e)
--                                                *e = 0;
--                                        else
--                                                s->buffer[n] = 0;
--
-+                                        s->buffer[n] = 0;
-                                         server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len);
-                                 } else if (n_fds > 0)
-                                         log_warning("Got file descriptors via syslog socket. Ignoring.");
-@@ -1167,7 +1171,8 @@ int process_event(Server *s, struct epoll_event *ev) {
-         } else if (ev->data.fd == s->stdout_fd) {
- 
-                 if (ev->events != EPOLLIN) {
--                        log_error("Got invalid event from epoll.");
-+                        log_error("Got invalid event from epoll for %s: %"PRIx32,
-+                                  "stdout fd", ev->events);
-                         return -EIO;
-                 }
+         assert_return(m, -EINVAL);
+         assert_return(!m->sealed, -EPERM);
++        assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE);
  
-@@ -1178,6 +1183,8 @@ int process_event(Server *s, struct epoll_event *ev) {
-                 StdoutStream *stream;
+         sd_rtnl_message_get_type(m, &rtm_type);
  
-                 if ((ev->events|EPOLLIN|EPOLLHUP) != (EPOLLIN|EPOLLHUP)) {
-+                        log_error("Got invalid event from epoll for %s: %"PRIx32,
-+                                  "stdout stream", ev->events);
-                         log_error("Got invalid event from epoll.");
-                         return -EIO;
-                 }
-diff --git a/src/journal/mmap-cache.c b/src/journal/mmap-cache.c
-index 54bf114..bd197d0 100644
---- a/src/journal/mmap-cache.c
-+++ b/src/journal/mmap-cache.c
-@@ -308,9 +308,13 @@ static void mmap_cache_free(MMapCache *m) {
-         while ((c = hashmap_first(m->contexts)))
-                 context_free(c);
++        int r = -ENOTSUP;
++
+         if (rtnl_message_type_is_link(rtm_type)) {
+ 
+                 if ((type == IFLA_LINKINFO && m->n_containers == 0) ||
+                     (type == IFLA_INFO_DATA && m->n_containers == 1 &&
+                      GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO))
+-                        return add_rtattr(m, type, NULL, 0);
++                        r = add_rtattr(m, type, NULL, 0);
+                 else if (type == VETH_INFO_PEER && m->n_containers == 2 &&
+                          GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA &&
+                          GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)
+-                        return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
++                        r=  add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
+         }
  
-+        hashmap_free(m->contexts);
+-        return -ENOTSUP;
++        if (r < 0) return r;
 +
-         while ((f = hashmap_first(m->fds)))
-                 fd_free(f);
++        m->container_offsets[m->n_containers ++] = r;
++
++        return 0;
+ }
+ 
+ int sd_rtnl_message_close_container(sd_rtnl_message *m) {
+diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
+index ba1b04d..85b1e40 100644
+--- a/src/libudev/libudev-monitor.c
++++ b/src/libudev/libudev-monitor.c
+@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev)
+ 
+ /* we consider udev running when /dev is on devtmpfs */
+ static bool udev_has_devtmpfs(struct udev *udev) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+         int mount_id;
+         _cleanup_fclose_ FILE *f = NULL;
+         char line[LINE_MAX], *e;
+         int r;
  
-+        hashmap_free(m->fds);
+-        h = alloca(MAX_HANDLE_SZ);
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0);
++        r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0);
+         if (r < 0)
+                 return false;
+ 
+diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules
+index e1cf897..57f619d 100644
+--- a/src/login/70-uaccess.rules
++++ b/src/login/70-uaccess.rules
+@@ -12,7 +12,7 @@ ENV{MAJOR}=="", GOTO="uaccess_end"
+ SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
+ 
+ # Digicams with proprietary protocol
+-ENV{ID_GPHOTO2}=="*?", TAG+="uaccess"
++ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
+ 
+ # SCSI and USB scanners
+ ENV{libsane_matched}=="yes", TAG+="uaccess"
+@@ -49,13 +49,13 @@ SUBSYSTEM=="drm", KERNEL=="card*|renderD*", TAG+="uaccess"
+ SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
+ 
+ # smart-card readers
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="uaccess"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
+ 
+ # (USB) authentication devices
+-ENV{ID_SECURITY_TOKEN}=="*?", TAG+="uaccess"
++ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
+ 
+ # PDA devices
+-ENV{ID_PDA}=="*?", TAG+="uaccess"
++ENV{ID_PDA}=="?*", TAG+="uaccess"
+ 
+ # Programmable remote control
+ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+@@ -64,10 +64,10 @@ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+ SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
+ 
+ # color measurement devices
+-ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="uaccess"
++ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # DDC/CI device, usually high-end monitors such as the DreamColor
+-ENV{DDC_DEVICE}=="*?", TAG+="uaccess"
++ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # media player raw devices (for user-mode drivers, Android SDK, etc.)
+ SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
+diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
+index dc86f0f..4bbeb64 100644
+--- a/src/login/logind-acl.c
++++ b/src/login/logind-acl.c
+@@ -279,7 +279,9 @@ int devnode_acl_all(struct udev *udev,
+ 
+                 log_debug("Fixing up ACLs at %s for seat %s", n, seat);
+                 k = devnode_acl(n, flush, del, old_uid, add, new_uid);
+-                if (k < 0)
++                if (k == -ENOENT)
++                        log_debug("Device %s disappeared while setting ACLs", n);
++                else if (k < 0)
+                         r = k;
+         }
+ 
+diff --git a/src/login/logind-action.c b/src/login/logind-action.c
+index 1928f43..d69c7ad 100644
+--- a/src/login/logind-action.c
++++ b/src/login/logind-action.c
+@@ -79,14 +79,12 @@ int manager_handle_action(
+                         return 0;
+                 }
+ 
+-                /* If we have more than one or no displays connected,
+-                 * don't react to lid closing. The no display case we
+-                 * treat like this under the assumption that there is
+-                 * no modern drm driver available. */
++                /* If we have more than one display connected,
++                 * don't react to lid closing. */
+                 n = manager_count_displays(m);
+                 if (n < 0)
+                         log_warning("Display counting failed: %s", strerror(-n));
+-                else if (n != 1) {
++                else if (n > 1) {
+                         log_debug("Ignoring lid switch request, %i displays connected.", n);
+                         return 0;
+                 }
+diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
+index 3f5efdc..1ee6ced 100644
+--- a/src/login/logind-seat.c
++++ b/src/login/logind-seat.c
+@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
+         if (!num)
+                 return -EINVAL;
+ 
+-        if (num >= s->position_count || !s->positions[num])
++        if (num >= s->position_count || !s->positions[num]) {
++                /* allow switching to unused VTs to trigger auto-activate */
++                if (seat_has_vts(s) && num < 64)
++                        return chvt(num);
 +
-         while (m->unused)
-                 window_free(m->unused);
+                 return -EINVAL;
++        }
  
-diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c
-index 0e66f3d..cac948e 100644
---- a/src/libsystemd-bus/bus-internal.c
-+++ b/src/libsystemd-bus/bus-internal.c
-@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) {
+         return session_activate(s->positions[num]);
+ }
+diff --git a/src/login/logind-session.c b/src/login/logind-session.c
+index 4ca6b5d..02a780d 100644
+--- a/src/login/logind-session.c
++++ b/src/login/logind-session.c
+@@ -213,7 +213,6 @@ int session_save(Session *s) {
+ 
+         if (s->scope)
+                 fprintf(f, "SCOPE=%s\n", s->scope);
+-
+         if (s->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", s->scope_job);
  
- bool interface_name_is_valid(const char *p) {
-         const char *q;
--        bool dot, found_dot;
-+        bool dot, found_dot = false;
+@@ -229,17 +228,54 @@ int session_save(Session *s) {
+         if (s->display)
+                 fprintf(f, "DISPLAY=%s\n", s->display);
  
-         if (isempty(p))
-                 return false;
-@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) {
+-        if (s->remote_host)
+-                fprintf(f, "REMOTE_HOST=%s\n", s->remote_host);
++        if (s->remote_host) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_host);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_HOST=%s\n", escaped);
++        }
++
++        if (s->remote_user) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_user);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_USER=%s\n", escaped);
++        }
++
++        if (s->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->remote_user)
+-                fprintf(f, "REMOTE_USER=%s\n", s->remote_user);
++                escaped = cescape(s->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
  
- bool service_name_is_valid(const char *p) {
-         const char *q;
--        bool dot, found_dot, unique;
-+        bool dot, found_dot = false, unique;
+-        if (s->service)
+-                fprintf(f, "SERVICE=%s\n", s->service);
++        if (s->desktop) {
++                _cleanup_free_ char *escaped;
  
-         if (isempty(p))
-                 return false;
-diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
-index 7d6d848..b0eb2f1 100644
---- a/src/libsystemd-bus/sd-bus.c
-+++ b/src/libsystemd-bus/sd-bus.c
-@@ -1088,11 +1088,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) {
-                 if (r == 0)
-                         return ret;
- 
--                r = 1;
-+                ret = 1;
-         } while (!z);
- 
-         *m = z;
--        return 1;
-+        return ret;
+-        if (s->desktop)
+-                fprintf(f, "DESKTOP=%s\n", s->desktop);
++
++                escaped = cescape(s->desktop);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "DESKTOP=%s\n", escaped);
++        }
+ 
+         if (s->seat && seat_has_vts(s->seat))
+                 fprintf(f, "VTNR=%u\n", s->vtnr);
+@@ -972,6 +1008,10 @@ void session_mute_vt(Session *s) {
+         if (vt < 0)
+                 return;
+ 
++        r = fchown(vt, s->user->uid, -1);
++        if (r < 0)
++                goto error;
++
+         r = ioctl(vt, KDSKBMODE, K_OFF);
+         if (r < 0)
+                 goto error;
+@@ -1026,6 +1066,8 @@ void session_restore_vt(Session *s) {
+         mode.mode = VT_AUTO;
+         ioctl(vt, VT_SETMODE, &mode);
+ 
++        fchown(vt, 0, -1);
++
+         s->vtfd = safe_close(s->vtfd);
  }
  
- int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) {
-diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c
-index 5ccaabd..100c1fb 100644
---- a/src/libudev/libudev-enumerate.c
-+++ b/src/libudev/libudev-enumerate.c
-@@ -299,7 +299,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume
-                         /* skip to be delayed devices, and move the to
-                          * the point where the prefix changes. We can
-                          * only move one item at a time. */
--                        if (!move_later) {
-+                        if (move_later == -1) {
-                                 move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath);
- 
-                                 if (move_later_prefix > 0) {
-@@ -718,6 +718,8 @@ static bool match_subsystem(struct udev_enumerate *udev_enumerate, const char *s
- {
-         struct udev_list_entry *list_entry;
+diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in
+index b96d32d..b8e90f1 100644
+--- a/src/login/org.freedesktop.login1.policy.in
++++ b/src/login/org.freedesktop.login1.policy.in
+@@ -254,7 +254,7 @@
+                 <defaults>
+                         <allow_any>auth_admin_keep</allow_any>
+                         <allow_inactive>auth_admin_keep</allow_inactive>
+-                        <allow_active>auth_admin_keep</allow_active>
++                        <allow_active>yes</allow_active>
+                 </defaults>
+                 <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.hibernate</annotate>
+         </action>
+diff --git a/src/login/pam-module.c b/src/login/pam-module.c
+index 9873dd5..1259457 100644
+--- a/src/login/pam-module.c
++++ b/src/login/pam-module.c
+@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
+         }
  
-+        subsystem = subsystem ? : "";
+         if (session_fd >= 0) {
+-                session_fd = dup(session_fd);
++                session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3);
+                 if (session_fd < 0) {
+                         pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m");
+                         return PAM_SESSION_ERR;
+diff --git a/src/machine/machine.c b/src/machine/machine.c
+index 9a5cc9a..de701ad 100644
+--- a/src/machine/machine.c
++++ b/src/machine/machine.c
+@@ -123,17 +123,42 @@ int machine_save(Machine *m) {
+                 "NAME=%s\n",
+                 m->name);
+ 
+-        if (m->unit)
+-                fprintf(f, "SCOPE=%s\n", m->unit); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        if (m->unit) {
++                _cleanup_free_ char *escaped;
 +
-         udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_nomatch_list)) {
-                 if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0)
-                         return false;
-@@ -826,23 +828,27 @@ nomatch:
- static int parent_add_child(struct udev_enumerate *enumerate, const char *path)
- {
-         struct udev_device *dev;
-+        int r = 0;
++                escaped = cescape(m->unit);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SCOPE=%s\n", escaped); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        }
+ 
+         if (m->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", m->scope_job);
+ 
+-        if (m->service)
+-                fprintf(f, "SERVICE=%s\n", m->service);
++        if (m->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (m->root_directory)
+-                fprintf(f, "ROOT=%s\n", m->root_directory);
++                escaped = cescape(m->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
++
++        if (m->root_directory) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->root_directory);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "ROOT=%s\n", escaped);
++        }
+ 
+         if (!sd_id128_equal(m->id, SD_ID128_NULL))
+                 fprintf(f, "ID=" SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(m->id));
+@@ -330,16 +355,18 @@ static int machine_stop_scope(Machine *m) {
+         if (!m->unit)
+                 return 0;
+ 
+-        r = manager_stop_unit(m->manager, m->unit, &error, &job);
+-        if (r < 0) {
+-                log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
+-                return r;
++        if (!m->registered) {
++                r = manager_stop_unit(m->manager, m->unit, &error, &job);
++                if (r < 0) {
++                        log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
++                        return r;
++                }
+         }
  
-         dev = udev_device_new_from_syspath(enumerate->udev, path);
-         if (dev == NULL)
-                 return -ENODEV;
+         free(m->scope_job);
+         m->scope_job = job;
  
-         if (!match_subsystem(enumerate, udev_device_get_subsystem(dev)))
--                return 0;
-+                goto nomatch;
-         if (!match_sysname(enumerate, udev_device_get_sysname(dev)))
--                return 0;
-+                goto nomatch;
-         if (!match_property(enumerate, dev))
--                return 0;
-+                goto nomatch;
-         if (!match_sysattr(enumerate, dev))
--                return 0;
-+                goto nomatch;
+-        return r;
++        return 0;
+ }
  
-         syspath_add(enumerate, udev_device_get_syspath(dev));
-+        r = 1;
+ int machine_stop(Machine *m) {
+@@ -415,6 +442,8 @@ int machine_kill(Machine *m, KillWho who, int signo) {
+ 
+                 if (kill(m->leader, signo) < 0)
+                         return -errno;
 +
-+nomatch:
-         udev_device_unref(dev);
--        return 1;
-+        return r;
++                return 0;
+         }
+ 
+         /* Otherwise make PID 1 do it for us, for the entire cgroup */
+diff --git a/src/machine/machine.h b/src/machine/machine.h
+index f4aefc5..de3536d 100644
+--- a/src/machine/machine.h
++++ b/src/machine/machine.h
+@@ -72,6 +72,7 @@ struct Machine {
+ 
+         bool in_gc_queue:1;
+         bool started:1;
++        bool registered:1;
+ 
+         sd_bus_message *create_message;
+ 
+diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
+index 9473105..154a335 100644
+--- a/src/machine/machined-dbus.c
++++ b/src/machine/machined-dbus.c
+@@ -241,6 +241,7 @@ static int method_create_or_register_machine(Manager *manager, sd_bus_message *m
+         m->leader = leader;
+         m->class = c;
+         m->id = id;
++        m->registered = true;
+ 
+         if (!isempty(service)) {
+                 m->service = strdup(service);
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index 9a9ed9d..c3e6d23 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) {
+         return 0;
  }
  
- static int parent_crawl_children(struct udev_enumerate *enumerate, const char *path, int maxdepth)
-diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
-index 8e09430..1e6f885 100644
---- a/src/libudev/libudev.sym
-+++ b/src/libudev/libudev.sym
-@@ -109,5 +109,6 @@ global:
- } LIBUDEV_189;
- 
- LIBUDEV_199 {
-+global:
-         udev_device_set_sysattr_value;
- } LIBUDEV_196;
-diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c
-index 7b19ee0..49ee420 100644
---- a/src/modules-load/modules-load.c
-+++ b/src/modules-load/modules-load.c
-@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) {
- 
-                 STRV_FOREACH(i, arg_proc_cmdline_modules) {
-                         k = load_module(ctx, *i);
--                        if (k < 0)
--                                r = EXIT_FAILURE;
-+                        if (k < 0 && r == 0)
-+                                r = k;
++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) {
++
++        snprintf(s, 37,
++                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
++                 SD_ID128_FORMAT_VAL(id));
++
++        return s;
++}
++
+ static int setup_boot_id(const char *dest) {
+         _cleanup_free_ char *from = NULL, *to = NULL;
+         sd_id128_t rnd = {};
+@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) {
+                 return r;
+         }
+ 
+-        snprintf(as_uuid, sizeof(as_uuid),
+-                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+-                 SD_ID128_FORMAT_VAL(rnd));
+-        char_array_0(as_uuid);
++        id128_format_as_uuid(rnd, as_uuid);
+ 
+         r = write_string_file(from, as_uuid);
+         if (r < 0) {
+@@ -2378,7 +2384,7 @@ static int change_uid_gid(char **_home) {
+         _cleanup_fclose_ FILE *f = NULL;
+         _cleanup_close_ int fd = -1;
+         unsigned n_uids = 0;
+-        size_t sz, l;
++        size_t sz = 0, l;
+         uid_t uid;
+         gid_t gid;
+         pid_t pid;
+@@ -2667,6 +2673,7 @@ int main(int argc, char *argv[]) {
+                                 goto finish;
+                         }
+                 } else {
++#if 0
+                         const char *p;
+ 
+                         p = strappenda(arg_directory,
+@@ -2676,6 +2683,7 @@ int main(int argc, char *argv[]) {
+                                 goto finish;
+ 
+                         }
++#endif
                  }
+         } else {
+                 char template[] = "/tmp/nspawn-root-XXXXXX";
+@@ -2748,8 +2756,6 @@ int main(int argc, char *argv[]) {
+                 goto finish;
+         }
  
-                 r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
+-        sd_notify(0, "READY=1");
+-
+         assert_se(sigemptyset(&mask) == 0);
+         sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
+         assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
+@@ -2966,7 +2972,9 @@ int main(int argc, char *argv[]) {
+                         }
+ 
+                         if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) {
+-                                if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) {
++                                char as_uuid[37];
++
++                                if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) {
+                                         log_oom();
+                                         goto child_fail;
+                                 }
+@@ -3086,6 +3094,8 @@ int main(int argc, char *argv[]) {
+                 if (r < 0)
+                         goto finish;
+ 
++                sd_notify(0, "READY=1");
++
+                 /* Notify the child that the parent is ready with all
+                  * its setup, and thtat the child can now hand over
+                  * control to the code to run inside the container. */
+@@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) {
+ 
+                         if (!arg_quiet)
+                                 log_info("Container %s is being rebooted.", arg_machine);
++                        if (getenv("EXIT_ON_REBOOT") != 0) {
++                                r = 10;
++                                break;
++                        }
+                         continue;
+                 } else if (status.si_code == CLD_KILLED ||
+                            status.si_code == CLD_DUMPED) {
 diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
-index b1ef912..4f2ab5c 100644
+index d61ecdf..228a3a4 100644
 --- a/src/nss-myhostname/netlink.c
 +++ b/src/nss-myhostname/netlink.c
-@@ -113,6 +113,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) {
+@@ -112,6 +112,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) {
                      ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
                          continue;
  
@@ -507,174 +1655,1006 @@ index b1ef912..4f2ab5c 100644
                  if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
                          continue;
  
-diff --git a/src/shared/efivars.c b/src/shared/efivars.c
-index 8d004ba..99340c9 100644
---- a/src/shared/efivars.c
-+++ b/src/shared/efivars.c
-@@ -383,7 +383,8 @@ int efi_get_boot_options(uint16_t **options) {
-                 list[count ++] = id;
+diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
+index 059b904..9a19a10 100644
+--- a/src/python-systemd/_reader.c
++++ b/src/python-systemd/_reader.c
+@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) {
+         sd_id128_t id;
+         _cleanup_free_ char *msg = NULL;
+ 
+-        assert(!self);
+         assert(args);
+ 
+         if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
+diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
+index 9c7e004..dd1f229 100644
+--- a/src/python-systemd/journal.py
++++ b/src/python-systemd/journal.py
+@@ -293,7 +293,7 @@ class Reader(_Reader):
+             monotonic = monotonic.totalseconds()
+         monotonic = int(monotonic * 1000000)
+         if isinstance(bootid, _uuid.UUID):
+-            bootid = bootid.get_hex()
++            bootid = bootid.hex
+         return super(Reader, self).seek_monotonic(monotonic, bootid)
+ 
+     def log_level(self, level):
+@@ -314,7 +314,7 @@ class Reader(_Reader):
+         Equivalent to add_match(MESSAGE_ID=`messageid`).
+         """
+         if isinstance(messageid, _uuid.UUID):
+-            messageid = messageid.get_hex()
++            messageid = messageid.hex
+         self.add_match(MESSAGE_ID=messageid)
+ 
+     def this_boot(self, bootid=None):
+@@ -346,7 +346,7 @@ class Reader(_Reader):
+ 
+ def get_catalog(mid):
+     if isinstance(mid, _uuid.UUID):
+-        mid = mid.get_hex()
++        mid = mid.hex
+     return _get_catalog(mid)
+ 
+ def _make_line(field, value):
+diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c
+index 5ffa88b..49679fc 100644
+--- a/src/readahead/readahead-common.c
++++ b/src/readahead/readahead-common.c
+@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) {
+         if (major(st.st_dev) == 0) {
+                 _cleanup_fclose_ FILE *f = NULL;
+                 int mount_id;
+-                struct file_handle *h;
++                union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+ 
+                 /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd.
+                  *
+@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) {
+                  * and then lookup the mount ID in mountinfo to find
+                  * the mount options. */
+ 
+-                h = alloca(MAX_HANDLE_SZ);
+-                h->handle_bytes = MAX_HANDLE_SZ;
+-                r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW);
++                r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW);
+                 if (r < 0)
+                         return false;
+ 
+diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
+index d27b1b7..905a2e1 100644
+--- a/src/shared/conf-parser.c
++++ b/src/shared/conf-parser.c
+@@ -336,8 +336,8 @@ int config_parse(const char *unit,
+         if (!f) {
+                 f = ours = fopen(filename, "re");
+                 if (!f) {
+-                        log_error("Failed to open configuration file '%s': %m", filename);
+-                        return -errno;
++                        log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename);
++                        return errno == ENOENT ? 0 : -errno;
+                 }
          }
  
--        qsort(list, count, sizeof(uint16_t), cmp_uint16);
-+        if (list)
-+                qsort(list, count, sizeof(uint16_t), cmp_uint16);
+diff --git a/src/shared/generator.c b/src/shared/generator.c
+index 6110303..e679cb1 100644
+--- a/src/shared/generator.c
++++ b/src/shared/generator.c
+@@ -48,7 +48,7 @@ int generator_write_fsck_deps(
+                 const char *checker;
+                 int r;
+ 
+-                checker = strappenda("/sbin/fsck.", fstype);
++                checker = strappenda("/run/current-system/sw/sbin/fsck.", fstype);
+                 r = access(checker, X_OK);
+                 if (r < 0) {
+                         log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
+diff --git a/src/shared/install.c b/src/shared/install.c
+index 7409046..4517c9c 100644
+--- a/src/shared/install.c
++++ b/src/shared/install.c
+@@ -560,7 +560,7 @@ int unit_file_mask(
+                 unsigned *n_changes) {
+ 
+         char **i;
+-        _cleanup_free_ char *prefix;
++        _cleanup_free_ char *prefix = NULL;
+         int r;
+ 
+         assert(scope >= 0);
+diff --git a/src/shared/log.c b/src/shared/log.c
+index a4b3b68..890a9fa 100644
+--- a/src/shared/log.c
++++ b/src/shared/log.c
+@@ -878,6 +878,9 @@ void log_parse_environment(void) {
+                         if (l == 5 && startswith(w, "debug")) {
+                                 log_set_max_level(LOG_DEBUG);
+                                 break;
++                        } else if (l == 5 && startswith(w, "quiet")) {
++                                log_set_max_level(LOG_WARNING);
++                                break;
+                         }
+                 }
+         }
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index 9d14933..b0b66f6 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -547,7 +547,9 @@ static int output_export(
+                     startswith(data, "_BOOT_ID="))
+                         continue;
  
-         *options = list;
-         return count;
-diff --git a/src/shared/env-util.c b/src/shared/env-util.c
-index 6a52fb9..598222c 100644
---- a/src/shared/env-util.c
-+++ b/src/shared/env-util.c
-@@ -406,7 +406,9 @@ char **strv_env_clean_log(char **e, const char *message) {
-                 e[k++] = *p;
+-                if (!utf8_is_printable(data, length)) {
++                if (utf8_is_printable_newline(data, length, false))
++                        fwrite(data, length, 1, f);
++                else {
+                         const char *c;
+                         uint64_t le64;
+ 
+@@ -562,8 +564,7 @@ static int output_export(
+                         le64 = htole64(length - (c - (const char*) data) - 1);
+                         fwrite(&le64, sizeof(le64), 1, f);
+                         fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f);
+-                } else
+-                        fwrite(data, length, 1, f);
++                }
+ 
+                 fputc('\n', f);
          }
+diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
+index 6c167b4..d0e71f2 100644
+--- a/src/shared/unit-name.c
++++ b/src/shared/unit-name.c
+@@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) {
+ }
+ 
+ bool unit_name_is_template(const char *n) {
+-        const char *p;
++        const char *p, *e;
  
--        e[k] = NULL;
-+        if (e)
-+                e[k] = NULL;
+         assert(n);
+ 
+@@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] == '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
 +
-         return e;
++        return e == p + 1;
  }
  
-diff --git a/src/shared/log.c b/src/shared/log.c
-index 27317f7..8f4995a 100644
---- a/src/shared/log.c
-+++ b/src/shared/log.c
-@@ -115,16 +115,20 @@ void log_close_syslog(void) {
+ bool unit_name_is_instance(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] != '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e > p + 1;
+ }
  
- static int create_log_socket(int type) {
-         int fd;
-+        struct timeval tv;
+ char *unit_name_replace_instance(const char *f, const char *i) {
+diff --git a/src/shared/utf8.c b/src/shared/utf8.c
+index 0b524d8..c559c13 100644
+--- a/src/shared/utf8.c
++++ b/src/shared/utf8.c
+@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) {
+         return unichar;
+ }
+ 
+-bool utf8_is_printable(const char* str, size_t length) {
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
+         const uint8_t *p;
  
--        /* All output to the syslog/journal fds we do asynchronously,
--         * and if the buffers are full we just drop the messages */
+         assert(str);
+@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) {
+                 int encoded_len = utf8_encoded_valid_unichar((const char *)p);
+                 int val = utf8_encoded_to_unichar((const char*)p);
+ 
+-                if (encoded_len < 0 || val < 0 || is_unicode_control(val))
++                if (encoded_len < 0 || val < 0 || is_unicode_control(val) ||
++                    (!newline && val == '\n'))
+                         return false;
+ 
+                 length -= encoded_len;
+diff --git a/src/shared/utf8.h b/src/shared/utf8.h
+index c0eb73a..c087995 100644
+--- a/src/shared/utf8.h
++++ b/src/shared/utf8.h
+@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_;
+ char *ascii_is_valid(const char *s) _pure_;
+ char *utf8_escape_invalid(const char *s);
+ 
+-bool utf8_is_printable(const char* str, size_t length) _pure_;
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
++        return utf8_is_printable_newline(str, length, true);
++}
+ 
+ char *utf16_to_utf8(const void *s, size_t length);
+ 
+diff --git a/src/shared/util.c b/src/shared/util.c
+index ffe6624..2a2b2b2 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -166,19 +166,19 @@ int close_nointr(int fd) {
+ 
+         assert(fd >= 0);
+         r = close(fd);
 -
--        fd = socket(AF_UNIX, type|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
-+        fd = socket(AF_UNIX, type|SOCK_CLOEXEC, 0);
-         if (fd < 0)
+-        /* Just ignore EINTR; a retry loop is the wrong
+-         * thing to do on Linux.
+-         *
+-         * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
+-         * https://bugzilla.gnome.org/show_bug.cgi?id=682819
+-         * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
+-         * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
+-         */
+-        if (_unlikely_(r < 0 && errno == EINTR))
+-                return 0;
+-        else if (r >= 0)
++        if (r >= 0)
+                 return r;
++        else if (errno == EINTR)
++                /*
++                 * Just ignore EINTR; a retry loop is the wrong
++                 * thing to do on Linux.
++                 *
++                 * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
++                 * https://bugzilla.gnome.org/show_bug.cgi?id=682819
++                 * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
++                 * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
++                 */
++                return 0;
+         else
                  return -errno;
+ }
+@@ -195,7 +195,13 @@ int safe_close(int fd) {
  
-         fd_inc_sndbuf(fd, SNDBUF_SIZE);
- 
-+        /* We need a blocking fd here since we'd otherwise lose
-+        messages way too early. However, let's not hang forever in the
-+        unlikely case of a deadlock. */
-+        timeval_store(&tv, 1*USEC_PER_MINUTE);
-+        setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
+         if (fd >= 0) {
+                 PROTECT_ERRNO;
+-                assert_se(close_nointr(fd) == 0);
 +
-         return fd;
++                /* The kernel might return pretty much any error code
++                 * via close(), but the fd will be closed anyway. The
++                 * only condition we want to check for here is whether
++                 * the fd was invalid at all... */
++
++                assert_se(close_nointr(fd) != -EBADF);
+         }
+ 
+         return -1;
+@@ -1365,7 +1371,7 @@ bool ignore_file(const char *filename) {
+         assert(filename);
+ 
+         if (endswith(filename, "~"))
+-                return false;
++                return true;
+ 
+         return ignore_file_allow_backup(filename);
  }
+@@ -1495,6 +1501,7 @@ bool fstype_is_network(const char *fstype) {
+         static const char table[] =
+                 "cifs\0"
+                 "smbfs\0"
++                "sshfs\0"
+                 "ncpfs\0"
+                 "ncp\0"
+                 "nfs\0"
+@@ -1581,8 +1588,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
+                 if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0)
+                         return -ETIMEDOUT;
+ 
++        errno = 0;
+         if (!fgets(line, sizeof(line), f))
+-                return -EIO;
++                return errno ? -errno : -EIO;
+ 
+         truncate_nl(line);
+ 
+@@ -5327,6 +5335,9 @@ bool string_is_safe(const char *p) {
+                 if (*t > 0 && *t < ' ')
+                         return false;
  
-diff --git a/src/shared/polkit.c b/src/shared/polkit.c
-index cea7074..1c5e9e3 100644
---- a/src/shared/polkit.c
-+++ b/src/shared/polkit.c
-@@ -38,12 +38,8 @@ int verify_polkit(
- 
- #ifdef ENABLE_POLKIT
-         DBusMessage *m = NULL, *reply = NULL;
--        const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = "";
-+        const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = "";
-         uint32_t flags = interactive ? 1 : 0;
--        pid_t pid_raw;
--        uint32_t pid_u32;
--        unsigned long long starttime_raw;
--        uint64_t starttime_u64;
-         DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant;
-         int r;
-         dbus_bool_t authorized = FALSE, challenge = FALSE;
-@@ -68,14 +64,6 @@ int verify_polkit(
++                if (*t == 127)
++                        return false;
++
+                 if (strchr("\\\"\'", *t))
+                         return false;
+         }
+@@ -5343,10 +5354,14 @@ bool string_has_cc(const char *p) {
  
- #ifdef ENABLE_POLKIT
+         assert(p);
  
--        pid_raw = bus_get_unix_process_id(c, sender, error);
--        if (pid_raw == 0)
--                return -EINVAL;
--
--        r = get_starttime_of_pid(pid_raw, &starttime_raw);
--        if (r < 0)
--                return r;
--
-         m = dbus_message_new_method_call(
-                         "org.freedesktop.PolicyKit1",
-                         "/org/freedesktop/PolicyKit1/Authority",
-@@ -86,22 +74,13 @@ int verify_polkit(
+-        for (t = p; *t; t++)
++        for (t = p; *t; t++) {
+                 if (*t > 0 && *t < ' ' && *t != '\t')
+                         return true;
  
-         dbus_message_iter_init_append(m, &iter_msg);
++                if (*t == 127)
++                        return true;
++        }
++
+         return false;
+ }
  
--        pid_u32 = (uint32_t) pid_raw;
--        starttime_u64 = (uint64_t) starttime_raw;
--
-         if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) ||
--            !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) ||
-+            !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) ||
-             !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) ||
-             !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) ||
--            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) ||
--            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) ||
--            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) ||
--            !dbus_message_iter_close_container(&iter_dict, &iter_variant) ||
--            !dbus_message_iter_close_container(&iter_array, &iter_dict) ||
--            !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) ||
--            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) ||
--            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) ||
--            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) ||
-+            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) ||
-+            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) ||
-+            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) ||
-             !dbus_message_iter_close_container(&iter_dict, &iter_variant) ||
-             !dbus_message_iter_close_container(&iter_array, &iter_dict) ||
-             !dbus_message_iter_close_container(&iter_struct, &iter_array) ||
+@@ -6391,3 +6406,19 @@ void hexdump(FILE *f, const void *p, size_t s) {
+                 s -= 16;
+         }
+ }
++
++int update_reboot_param_file(const char *param)
++{
++        int r = 0;
++
++        if (param) {
++
++                r = write_string_file(REBOOT_PARAM_FILE, param);
++                if (r < 0)
++                        log_error("Failed to write reboot param to "
++                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        } else
++                unlink(REBOOT_PARAM_FILE);
++
++        return r;
++}
+diff --git a/src/shared/util.h b/src/shared/util.h
+index 90464c9..122ac91 100644
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -22,6 +22,7 @@
+ ***/
+ 
+ #include <alloca.h>
++#include <fcntl.h>
+ #include <inttypes.h>
+ #include <time.h>
+ #include <sys/time.h>
+@@ -922,3 +923,10 @@ uint64_t physical_memory(void);
+ char* mount_test_option(const char *haystack, const char *needle);
+ 
+ void hexdump(FILE *f, const void *p, size_t s);
++
++union file_handle_union {
++        struct file_handle handle;
++        char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
++};
++
++int update_reboot_param_file(const char *param);
+diff --git a/src/shared/virt.c b/src/shared/virt.c
+index ec2ddcf..f03e790 100644
+--- a/src/shared/virt.c
++++ b/src/shared/virt.c
+@@ -149,7 +149,7 @@ static int detect_vm_dmi(const char **_id) {
+ 
+ /* Returns a short identifier for the various VM implementations */
+ int detect_vm(const char **id) {
+-        _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
++        _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
+         static thread_local int cached_found = -1;
+         static thread_local const char *cached_id = NULL;
+         const char *_id = NULL;
+@@ -163,17 +163,37 @@ int detect_vm(const char **id) {
+                 return cached_found;
+         }
+ 
+-        /* Try high-level hypervisor sysfs file first:
++        /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file:
+          *
+-         * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
+-        r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++         * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */
++        r = read_one_line_file("/proc/xen/capabilities", &domcap);
+         if (r >= 0) {
+-                if (streq(hvtype, "xen")) {
++                char *cap, *i = domcap;
++
++                while ((cap = strsep(&i, ",")))
++                        if (streq(cap, "control_d"))
++                                break;
++
++                if (!i)  {
+                         _id = "xen";
+                         r = 1;
+-                        goto finish;
+                 }
+-        } else if (r != -ENOENT)
++
++                goto finish;
++
++        } else if (r == -ENOENT) {
++                _cleanup_free_ char *hvtype = NULL;
++
++                r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++                if (r >= 0) {
++                        if (streq(hvtype, "xen")) {
++                                _id = "xen";
++                                r = 1;
++                                goto finish;
++                        }
++                } else if (r != -ENOENT)
++                        return r;
++        } else
+                 return r;
+ 
+         /* this will set _id to "other" and return 0 for unknown hypervisors */
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 3cca861..f6052dd 100644
+index 0887bc3..d02ee2b 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
-@@ -1482,7 +1482,7 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
- 
-         } else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
-                 uint32_t id;
--                const char *path, *result, *unit;
-+                const char *path, *result, *unit, *r;
- 
-                 if (dbus_message_get_args(message, &error,
-                                           DBUS_TYPE_UINT32, &id,
-@@ -1491,7 +1491,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
-                                           DBUS_TYPE_STRING, &result,
-                                           DBUS_TYPE_INVALID)) {
- 
--                        free(set_remove(d->set, (char*) path));
-+                        r = set_remove(d->set, (char*) path);
-+                        if (!r)
-+                                return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-+
-+                        free(r);
- 
-                         if (!isempty(result))
-                                 d->result = strdup(result);
-@@ -1511,7 +1515,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
-                         /* Compatibility with older systemd versions <
-                          * 183 during upgrades. This should be dropped
-                          * one day. */
--                        free(set_remove(d->set, (char*) path));
-+                        r = set_remove(d->set, (char*) path);
-+                        if (!r)
-+                                return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-+
-+                        free(r);
- 
-                         if (*result)
-                                 d->result = strdup(result);
-@@ -1867,7 +1875,7 @@ static int start_unit_one(
-                         return log_oom();
+@@ -461,7 +461,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
+                 }
+ 
+                 if (circle_len > 0)
+-                        printf("%s%s%s", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : "  ", off_circle);
++                        printf("%s%s%s ", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle);
+ 
+                 printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s",
+                        on_active, id_len, id, off_active,
+@@ -2561,7 +2561,7 @@ static int start_unit_one(
  
+                 log_debug("Adding %s to the set", p);
                  r = set_consume(s, p);
+-                if (r < 0)
++                if (r < 0 && r != -EEXIST)
+                         return log_oom();
+         }
+ 
+@@ -4240,7 +4240,7 @@ static int show_all(
+         _cleanup_free_ UnitInfo *unit_infos = NULL;
+         const UnitInfo *u;
+         unsigned c;
+-        int r;
++        int r, ret = 0;
+ 
+         r = get_unit_list(bus, NULL, NULL, &unit_infos, 0, &reply);
+         if (r < 0)
+@@ -4262,9 +4262,11 @@ static int show_all(
+                 r = show_one(verb, bus, p, show_properties, new_line, ellipsized);
+                 if (r < 0)
+                         return r;
++                else if (r > 0 && ret == 0)
++                        ret = r;
+         }
+ 
+-        return 0;
++        return ret;
+ }
+ 
+ static int show_system_status(sd_bus *bus) {
+@@ -4386,7 +4388,12 @@ static int show(sd_bus *bus, char **args) {
+                                 }
+                         }
+ 
+-                        show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                        r = show_one(args[0], bus, unit, show_properties,
++                                     &new_line, &ellipsized);
++                        if (r < 0)
++                                return r;
++                        else if (r > 0 && ret == 0)
++                                ret = r;
+                 }
+ 
+                 if (!strv_isempty(patterns)) {
+@@ -4403,7 +4410,12 @@ static int show(sd_bus *bus, char **args) {
+                                 if (!unit)
+                                         return log_oom();
+ 
+-                                show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                                r = show_one(args[0], bus, unit, show_properties,
++                                             &new_line, &ellipsized);
++                                if (r < 0)
++                                        return r;
++                                else if (r > 0 && ret == 0)
++                                        ret = r;
+                         }
+                 }
+         }
+@@ -5403,15 +5415,15 @@ static int systemctl_help(void) {
+                "                                  otherwise restart if active\n"
+                "  isolate NAME                    Start one unit and stop all others\n"
+                "  kill NAME...                    Send signal to processes of a unit\n"
+-               "  is-active NAME...               Check whether units are active\n"
+-               "  is-failed NAME...               Check whether units are failed\n"
+-               "  status [NAME...|PID...]         Show runtime status of one or more units\n"
+-               "  show [NAME...|JOB...]           Show properties of one or more\n"
++               "  is-active PATTERN...            Check whether units are active\n"
++               "  is-failed PATTERN...            Check whether units are failed\n"
++               "  status [PATTERN...|PID...]      Show runtime status of one or more units\n"
++               "  show [PATTERN...|JOB...]        Show properties of one or more\n"
+                "                                  units/jobs or the manager\n"
+-               "  cat NAME...                     Show files and drop-ins of one or more units\n"
++               "  cat PATTERN...                  Show files and drop-ins of one or more units\n"
+                "  set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n"
+-               "  help NAME...|PID...             Show manual for one or more units\n"
+-               "  reset-failed [NAME...]          Reset failed state for all, one, or more\n"
++               "  help PATTERN...|PID...          Show manual for one or more units\n"
++               "  reset-failed [PATTERN...]       Reset failed state for all, one, or more\n"
+                "                                  units\n"
+                "  list-dependencies [NAME]        Recursively show units which are required\n"
+                "                                  or wanted by this unit or by which this\n"
+@@ -5973,13 +5985,10 @@ static int halt_parse_argv(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        if (arg_action == ACTION_REBOOT && argc == optind + 1) {
+-                r = write_string_file(REBOOT_PARAM_FILE, argv[optind]);
 -                if (r < 0) {
-+                if (r < 0 && r != -EEXIST) {
-                         log_error("Failed to add path to set.");
+-                        log_error("Failed to write reboot param to "
+-                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        if (arg_action == ACTION_REBOOT && (argc == optind || argc == optind + 1)) {
++                r = update_reboot_param_file(argc == optind + 1 ? argv[optind] : NULL);
++                if (r < 0)
                          return r;
+-                }
+         } else if (optind < argc) {
+                 log_error("Too many arguments.");
+                 return -EINVAL;
+diff --git a/src/test/test-udev.c b/src/test/test-udev.c
+index b064744..b057cc8 100644
+--- a/src/test/test-udev.c
++++ b/src/test/test-udev.c
+@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) {
                  }
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
+-        if (err == 0)
+-                udev_event_execute_run(event, NULL);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_run(event, NULL);
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+                 close(event->fd_signal);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 33e7cbc..04b472d 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) {
+ }
+ 
+ static int dir_is_mount_point(DIR *d, const char *subdir) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ };
+         int mount_id_parent, mount_id;
+         int r_p, r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0);
++        r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0);
+         if (r_p < 0)
+                 r_p = -errno;
+ 
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0);
++        h.handle.handle_bytes = MAX_HANDLE_SZ;
++        r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0);
+         if (r < 0)
+                 r = -errno;
+ 
+diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
+index 1d067af..3203474 100644
+--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
+@@ -432,7 +432,7 @@ static int wall_tty_block(void) {
+ 
+         r = get_ctty_devnr(0, &devnr);
+         if (r < 0)
+-                return -r;
++                return r;
+ 
+         if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
+                 return -ENOMEM;
+diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
+index 925d38d..32adf27 100644
+--- a/src/udev/accelerometer/accelerometer.c
++++ b/src/udev/accelerometer/accelerometer.c
+@@ -180,7 +180,7 @@ get_prev_orientation(struct udev_device *dev)
+         return string_to_orientation(value);
+ }
+ 
+-#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } }
++#define READ_AXIS(axis, var) { memzero(&abs_info, sizeof(abs_info)); r = ioctl(fd, EVIOCGABS(axis), &abs_info); if (r < 0) return; var = abs_info.value; }
+ 
+ /* accelerometers */
+ static void test_orientation(struct udev *udev,
+@@ -189,10 +189,9 @@ static void test_orientation(struct udev *udev,
+ {
+         OrientationUp old, new;
+         _cleanup_close_ int fd = -1;
+-        struct input_event ev[64];
+-        bool got_syn = false;
+-        bool got_x = false, got_y = false, got_z = false;
++        struct input_absinfo abs_info;
+         int x = 0, y = 0, z = 0;
++        int r;
+         char text[64];
+ 
+         old = get_prev_orientation(dev);
+@@ -201,30 +200,10 @@ static void test_orientation(struct udev *udev,
+         if (fd < 0)
+                 return;
+ 
+-        while (1) {
+-                int i, r;
+-
+-                r = read(fd, ev, sizeof(struct input_event) * 64);
+-
+-                if (r < (int) sizeof(struct input_event))
+-                        return;
+-
+-                for (i = 0; i < r / (int) sizeof(struct input_event); i++) {
+-                        if (got_syn) {
+-                                if (ev[i].type == EV_ABS) {
+-                                        SET_AXIS(x, ABS_X);
+-                                        SET_AXIS(y, ABS_Y);
+-                                        SET_AXIS(z, ABS_Z);
+-                                }
+-                        }
+-                        if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT)
+-                                got_syn = true;
+-                        if (got_x && got_y && got_z)
+-                                goto read_dev;
+-                }
+-        }
++        READ_AXIS(ABS_X, x);
++        READ_AXIS(ABS_Y, y);
++        READ_AXIS(ABS_Z, z);
+ 
+-read_dev:
+         new = orientation_calc(old, x, y, z);
+         snprintf(text, sizeof(text),
+                  "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index 5bb6b02..b31ad80 100644
+--- a/src/udev/net/link-config.c
++++ b/src/udev/net/link-config.c
+@@ -184,7 +184,7 @@ failure:
+ }
+ 
+ static bool enable_name_policy(void) {
+-        _cleanup_free_ char *line;
++        _cleanup_free_ char *line = NULL;
+         char *w, *state;
+         int r;
+         size_t l;
+@@ -391,7 +391,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_PERSISTENT:
+                         if (!mac_is_permanent(device)) {
+                                 r = get_mac(device, false, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+@@ -399,7 +401,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_RANDOM:
+                         if (!mac_is_random(device)) {
+                                 r = get_mac(device, true, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 5998be2..5213a4a 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -771,18 +771,17 @@ static int rename_netif(struct udev_event *event)
+                 log_error("error changing net interface name %s to %s: %s",
+                           oldname, name, strerror(-r));
+         else
+-                print_kmsg("renamed network interface %s to %s", oldname, name);
++                print_kmsg("renamed network interface %s to %s\n", oldname, name);
+ 
+         return r;
+ }
+ 
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
+ {
+         struct udev_device *dev = event->dev;
+-        int err = 0;
+ 
+         if (udev_device_get_subsystem(dev) == NULL)
+-                return -1;
++                return;
+ 
+         if (streq(udev_device_get_action(dev), "remove")) {
+                 udev_device_read_db(dev, NULL);
+@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                     event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
+                         char syspath[UTIL_PATH_SIZE];
+                         char *pos;
++                        int r;
+ 
+-                        err = rename_netif(event);
+-                        if (err == 0) {
++                        r = rename_netif(event);
++                        if (r >= 0) {
+                                 log_debug("renamed netif to '%s'", event->name);
+ 
+                                 /* remember old name */
+@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                 udev_device_unref(event->dev_db);
+                 event->dev_db = NULL;
+         }
+-        return err;
+ }
+ 
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 2630264..17f47f2 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -2555,10 +2555,15 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         struct stat stats;
+ 
+                         /* we assure, that the permissions tokens are sorted before the static token */
++
+                         if (mode == 0 && uid == 0 && gid == 0 && tags == NULL)
+                                 goto next;
+ 
+                         strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
++                        if (stat(device_node, &stats) != 0)
++                                break;
++                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
++                                break;
+ 
+                         /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
+                         if (tags) {
+@@ -2588,11 +2593,6 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         if (mode == 0 && uid == 0 && gid == 0)
+                                 break;
+ 
+-                        if (stat(device_node, &stats) != 0)
+-                                break;
+-                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
+-                                break;
+-
+                         if (mode == 0) {
+                                 if (gid > 0)
+                                         mode = 0660;
+diff --git a/src/udev/udev.h b/src/udev/udev.h
+index 936adfb..62538bc 100644
+--- a/src/udev/udev.h
++++ b/src/udev/udev.h
+@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
+ int udev_event_spawn(struct udev_event *event,
+                      const char *cmd, char **envp, const sigset_t *sigmask,
+                      char *result, size_t ressize);
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
+ int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
+ 
+diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c
+index 6cd311b..6a2f548 100644
+--- a/src/udev/udevadm-test.c
++++ b/src/udev/udevadm-test.c
+@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+         _cleanup_udev_device_unref_ struct udev_device *dev = NULL;
+         _cleanup_udev_event_unref_ struct udev_event *event = NULL;
+         sigset_t mask, sigmask_orig;
+-        int err;
+         int rc = 0, c;
+ 
+         static const struct option options[] = {
+@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+                 goto out;
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
+ 
+         udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
+                 printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
+ 
+-        if (err == 0) {
+-                udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
+-                        char program[UTIL_PATH_SIZE];
++        udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
++                char program[UTIL_PATH_SIZE];
+ 
+-                        udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
+-                        printf("run: '%s'\n", program);
+-                }
++                udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
++                printf("run: '%s'\n", program);
+         }
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index f21c227..93afca1 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -288,10 +288,9 @@ static void worker_new(struct event *event)
+                                 udev_event->exec_delay = exec_delay;
+ 
+                         /* apply rules, create node, symlinks */
+-                        err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
++                        udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ 
+-                        if (err == 0)
+-                                udev_event_execute_run(udev_event, &sigmask_orig);
++                        udev_event_execute_run(udev_event, &sigmask_orig);
+ 
+                         /* apply/restore inotify watch */
+                         if (err == 0 && udev_event->inotify_watch) {
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index 0f2b706..645b1e6 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
+  */
+ static void font_copy_to_all_vcs(int fd) {
+         struct vt_stat vcs = {};
++        unsigned char map8[E_TABSZ];
++        unsigned short map16[E_TABSZ];
++        struct unimapdesc unimapd;
++        struct unipair unipairs[USHRT_MAX];
+         int i, r;
+ 
+         /* get active, and 16 bit mask of used VT numbers */
+@@ -209,17 +213,35 @@ static void font_copy_to_all_vcs(int fd) {
+                 cfo.op = KD_FONT_OP_COPY;
+                 cfo.height = vcs.v_active-1; /* tty1 == index 0 */
+                 ioctl(vcfd, KDFONTOP, &cfo);
++
++                /* copy map of 8bit chars */
++                if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
++                    ioctl(vcfd, PIO_SCRNMAP, map8);
++
++                /* copy map of 8bit chars -> 16bit Unicode values */
++                if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
++                    ioctl(vcfd, PIO_UNISCRNMAP, map16);
++
++                /* copy unicode translation table */
++                /* unimapd is a ushort count and a pointer to an
++                   array of struct unipair { ushort, ushort } */
++                unimapd.entries  = unipairs;
++                unimapd.entry_ct = USHRT_MAX;
++                if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
++                        struct unimapinit adv = { 0, 0, 0 };
++
++                        ioctl(vcfd, PIO_UNIMAPCLR, &adv);
++                        ioctl(vcfd, PIO_UNIMAP, &unimapd);
++                }
+         }
+ }
+ 
+ int main(int argc, char **argv) {
+         const char *vc;
+-        char *vc_keymap = NULL;
+-        char *vc_keymap_toggle = NULL;
+-        char *vc_font = NULL;
+-        char *vc_font_map = NULL;
+-        char *vc_font_unimap = NULL;
+-        int fd = -1;
++        _cleanup_free_ char
++                *vc_keymap = NULL, *vc_keymap_toggle = NULL,
++                *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
++        _cleanup_close_ int fd = -1;
+         bool utf8;
+         pid_t font_pid = 0, keymap_pid = 0;
+         bool font_copy = false;
+@@ -241,12 +263,12 @@ int main(int argc, char **argv) {
+         fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
+         if (fd < 0) {
+                 log_error("Failed to open %s: %m", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         if (!is_vconsole(fd)) {
+                 log_error("Device %s is not a virtual console.", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         utf8 = is_locale_utf8();
+@@ -281,27 +303,27 @@ int main(int argc, char **argv) {
+         else
+                 disable_utf8(fd);
+ 
+-        r = EXIT_FAILURE;
+-        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
+-            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
+-                r = EXIT_SUCCESS;
+-
+-finish:
+-        if (keymap_pid > 0)
+-                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
++        r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r));
++                return EXIT_FAILURE;
++        }
+ 
+-        if (font_pid > 0) {
++        if (font_pid > 0)
+                 wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
+-                if (font_copy)
+-                        font_copy_to_all_vcs(fd);
++
++        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r));
++                return EXIT_FAILURE;
+         }
+ 
+-        free(vc_keymap);
+-        free(vc_font);
+-        free(vc_font_map);
+-        free(vc_font_unimap);
++        if (keymap_pid > 0)
++                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
+ 
+-        safe_close(fd);
++        /* Only copy the font when we started setfont successfully */
++        if (font_copy && font_pid > 0)
++                font_copy_to_all_vcs(fd);
+ 
+-        return r;
++        return EXIT_SUCCESS;
+ }
+diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
+index 7c6d6b9..c470045 100644
+--- a/tmpfiles.d/systemd.conf
++++ b/tmpfiles.d/systemd.conf
+@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root -
+ d /run/systemd/shutdown 0755 root root -
+ 
+ m /var/log/journal 2755 root systemd-journal - -
+-m /var/log/journal/%m 2755 root systemd-journal - -
++Z /var/log/journal/%m 2755 root systemd-journal - -
+ m /run/log/journal 2755 root systemd-journal - -
+-m /run/log/journal/%m 2755 root systemd-journal - -
++Z /run/log/journal/%m 2755 root systemd-journal - -
+diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in
+index 8ac51a4..cae9fb5 100644
+--- a/units/console-getty.service.m4.in
++++ b/units/console-getty.service.m4.in
+@@ -15,7 +15,6 @@ After=rc-local.service
+ Before=getty.target
+ 
+ [Service]
+-ExecStart=-/sbin/agetty --noclear --keep-baud console 115200,38400,9600 $TERM
+ Type=idle
+ Restart=always
+ RestartSec=0
+diff --git a/units/container-getty@.service.m4.in b/units/container-getty@.service.m4.in
+index 4f7794b..bad2a9a 100644
+--- a/units/container-getty@.service.m4.in
++++ b/units/container-getty@.service.m4.in
+@@ -16,7 +16,6 @@ Before=getty.target
+ IgnoreOnIsolate=yes
+ 
+ [Service]
+-ExecStart=-/sbin/agetty --noclear --keep-baud pts/%I 115200,38400,9600 $TERM
+ Type=idle
+ Restart=always
+ RestartSec=0
 diff --git a/units/emergency.service.in b/units/emergency.service.in
-index 442f0e0..6b7eafd 100644
+index 94c090f..0d20640 100644
 --- a/units/emergency.service.in
 +++ b/units/emergency.service.in
 @@ -15,7 +15,6 @@ Before=shutdown.target
@@ -685,30 +2665,61 @@ index 442f0e0..6b7eafd 100644
  ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
  ExecStart=-/sbin/sulogin
  ExecStopPost=@SYSTEMCTL@ --fail --no-block default
+diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
+index aa853b8..8bcc647 100644
+--- a/units/getty@.service.m4
++++ b/units/getty@.service.m4
+@@ -23,11 +23,12 @@ IgnoreOnIsolate=yes
+ # On systems without virtual consoles, don't start any getty. Note
+ # that serial gettys are covered by serial-getty@.service, not this
+ # unit.
+-ConditionPathExists=/dev/tty0
++ConditionPathExists=|/dev/tty0
++ConditionVirtualization=|lxc
++ConditionVirtualization=|lxc-libvirt
+ 
+ [Service]
+ # the VT is cleared by TTYVTDisallocate
+-ExecStart=-/sbin/agetty --noclear %I $TERM
+ Type=idle
+ Restart=always
+ RestartSec=0
+diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
+index 368f980..d0c1bd2 100644
+--- a/units/kmod-static-nodes.service.in
++++ b/units/kmod-static-nodes.service.in
+@@ -10,7 +10,6 @@ Description=Create list of required static device nodes for the current kernel
+ DefaultDependencies=no
+ Before=sysinit.target systemd-tmpfiles-setup-dev.service
+ ConditionCapability=CAP_MKNOD
+-ConditionPathExists=/lib/modules/%v/modules.devname
+ 
+ [Service]
+ Type=oneshot
 diff --git a/units/local-fs.target b/units/local-fs.target
-index 18c3d74..a09054c 100644
+index ae3cedc..0e36840 100644
 --- a/units/local-fs.target
 +++ b/units/local-fs.target
-@@ -11,3 +11,5 @@ Documentation=man:systemd.special(7)
- After=local-fs-pre.target
+@@ -13,3 +13,5 @@ DefaultDependencies=no
+ Conflicts=shutdown.target
  OnFailure=emergency.target
- OnFailureIsolate=no
+ OnFailureJobMode=replace-irreversibly
 +
 +X-StopOnReconfiguration=yes
 diff --git a/units/remote-fs.target b/units/remote-fs.target
-index 09213e8..47b4cf5 100644
+index 43ffa5c..156a681 100644
 --- a/units/remote-fs.target
 +++ b/units/remote-fs.target
-@@ -10,5 +10,7 @@ Description=Remote File Systems
- Documentation=man:systemd.special(7)
- After=remote-fs-pre.target
+@@ -12,5 +12,7 @@ After=remote-fs-pre.target
+ DefaultDependencies=no
+ Conflicts=shutdown.target
  
 +X-StopOnReconfiguration=yes
 +
  [Install]
  WantedBy=multi-user.target
 diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in
-index 269797a..2c640f4 100644
+index 552ef89..af3915f 100644
 --- a/units/rescue.service.m4.in
 +++ b/units/rescue.service.m4.in
 @@ -16,7 +16,6 @@ Before=shutdown.target
@@ -719,6 +2730,21 @@ index 269797a..2c640f4 100644
  ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.'
  ExecStart=-/sbin/sulogin
  ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
+diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
+index 4ac51e7..96daa5c 100644
+--- a/units/serial-getty@.service.m4
++++ b/units/serial-getty@.service.m4
+@@ -22,10 +22,8 @@ Before=getty.target
+ IgnoreOnIsolate=yes
+ 
+ [Service]
+-ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
+ Type=idle
+ Restart=always
+-RestartSec=0
+ UtmpIdentifier=%I
+ TTYPath=/dev/%I
+ TTYReset=yes
 diff --git a/units/sysinit.target b/units/sysinit.target
 index 8f4fb8f..e0f0147 100644
 --- a/units/sysinit.target
@@ -731,11 +2757,35 @@ index 8f4fb8f..e0f0147 100644
 -After=local-fs.target swap.target emergency.service emergency.target
 +After=emergency.service emergency.target
  RefuseManualStart=yes
+diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in
+index e945d87..77728f2 100644
+--- a/units/systemd-backlight@.service.in
++++ b/units/systemd-backlight@.service.in
+@@ -19,3 +19,4 @@ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=@rootlibexecdir@/systemd-backlight load %i
+ ExecStop=@rootlibexecdir@/systemd-backlight save %i
++X-RestartIfChanged=false
+diff --git a/units/systemd-journal-flush.service.in b/units/systemd-journal-flush.service.in
+index 503e8a6..fe23b8b 100644
+--- a/units/systemd-journal-flush.service.in
++++ b/units/systemd-journal-flush.service.in
+@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal to Persistent Storage
+ Documentation=man:systemd-journald.service(8) man:journald.conf(5)
+ DefaultDependencies=no
+ Requires=systemd-journald.service
+-After=systemd-journald.service local-fs.target remote-fs.target
++After=systemd-journald.service
+ Before=systemd-user-sessions.service
++RequiresMountsFor=/var/log/journal
+ 
+ [Service]
+ ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service
 diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
-index ab2e50c..9563a7d 100644
+index de93879..c9a49f3 100644
 --- a/units/systemd-journald.service.in
 +++ b/units/systemd-journald.service.in
-@@ -24,3 +24,8 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C
+@@ -25,3 +25,8 @@ WatchdogSec=1min
  # Increase the default a bit in order to allow many simultaneous
  # services being run since we keep one fd open per service.
  LimitNOFILE=16384
@@ -744,6 +2794,67 @@ index ab2e50c..9563a7d 100644
 +# journald to stop logging (see
 +# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
 +X-RestartIfChanged=no
+diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in
+index ff36e90..e373628 100644
+--- a/units/systemd-nspawn@.service.in
++++ b/units/systemd-nspawn@.service.in
+@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1)
+ 
+ [Service]
+ ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i
++KillMode=mixed
+ Type=notify
+ 
+ [Install]
+diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in
+index 1879b2f..9b895b9 100644
+--- a/units/systemd-random-seed.service.in
++++ b/units/systemd-random-seed.service.in
+@@ -19,3 +19,4 @@ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=@rootlibexecdir@/systemd-random-seed load
+ ExecStop=@rootlibexecdir@/systemd-random-seed save
++X-RestartIfChanged=false
+diff --git a/units/systemd-rfkill@.service.in b/units/systemd-rfkill@.service.in
+index 9d264a2..c505535 100644
+--- a/units/systemd-rfkill@.service.in
++++ b/units/systemd-rfkill@.service.in
+@@ -19,3 +19,4 @@ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=@rootlibexecdir@/systemd-rfkill load %I
+ ExecStop=@rootlibexecdir@/systemd-rfkill save %I
++X-RestartIfChanged=false
+diff --git a/units/systemd-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in
+index 01043b7..507f820 100644
+--- a/units/systemd-tmpfiles-setup.service.in
++++ b/units/systemd-tmpfiles-setup.service.in
+@@ -12,7 +12,7 @@ DefaultDependencies=no
+ Wants=local-fs.target
+ Conflicts=shutdown.target
+ After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target
+-Before=sysinit.target shutdown.target
++Before=shutdown.target
+ ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d
+ ConditionDirectoryNotEmpty=|/lib/tmpfiles.d
+ ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d
+diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in
+index da7dda7..e638145 100644
+--- a/units/systemd-update-utmp.service.in
++++ b/units/systemd-update-utmp.service.in
+@@ -11,7 +11,7 @@ Documentation=man:systemd-update-utmp.service(8) man:utmp(5)
+ DefaultDependencies=no
+ RequiresMountsFor=/var/log/wtmp
+ Conflicts=shutdown.target
+-After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
++After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service auditd.service
+ Before=sysinit.target shutdown.target
+ 
+ [Service]
+@@ -19,3 +19,4 @@ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=@rootlibexecdir@/systemd-update-utmp reboot
+ ExecStop=@rootlibexecdir@/systemd-update-utmp shutdown
++X-RestartIfChanged=false
 diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in
 index 0869e73..b6ed958 100644
 --- a/units/systemd-user-sessions.service.in
diff --git a/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch b/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch
deleted file mode 100644
index 7cde2260189..00000000000
--- a/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Based on a patch for udev in
-nixpkgs(upstart)/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch
-
-It was taken from:
-https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch
-
-Basically, ARM implemented accept4() only in 2.6.36. Nixpkgs now uses
-linux headers from 2.6.35. And the particular nixpkgs glibc version had a bug,
-not checking about 2.6.36 for accept4 on arm.
-
-diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c
-index 7b88f74..a9f7b62 100644
---- a/src/journal/journald-stream.c
-+++ b/src/journal/journald-stream.c
-@@ -347,10 +347,12 @@ int stdout_stream_new(Server *s) {
-         int fd, r;
-         socklen_t len;
-         struct epoll_event ev;
-+        int flgs;
- 
-         assert(s);
- 
--        fd = accept4(s->stdout_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC);
-+        //fd = accept4(s->stdout_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC);
-+        fd = accept(s->stdout_fd, NULL, NULL);
-         if (fd < 0) {
-                 if (errno == EAGAIN)
-                         return 0;
-@@ -359,6 +361,11 @@ int stdout_stream_new(Server *s) {
-                 return -errno;
-         }
- 
-+        // Since we don't have accept4
-+        flgs = fcntl(fd, F_GETFL, NULL);
-+        if(flgs >= 0) fcntl(fd, F_SETFL, flgs | O_NONBLOCK);
-+        fcntl(fd, F_SETFD, FD_CLOEXEC);
-+
-         if (s->n_stdout_streams >= STDOUT_STREAMS_MAX) {
-                 log_warning("Too many stdout streams, refusing connection.");
-                 close_nointr_nofail(fd);
-diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c
-index a235912..c05e4b4 100644
---- a/src/udev/udev-ctrl.c
-+++ b/src/udev/udev-ctrl.c
-@@ -15,6 +15,7 @@
- #include <stddef.h>
- #include <string.h>
- #include <unistd.h>
-+#include <fcntl.h>
- #include <sys/types.h>
- #include <sys/poll.h>
- #include <sys/socket.h>
-@@ -181,6 +182,7 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl)
-         struct ucred ucred;
-         socklen_t slen;
-         const int on = 1;
-+        int flgs;
- 
-         conn = calloc(1, sizeof(struct udev_ctrl_connection));
-         if (conn == NULL)
-@@ -188,13 +190,19 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl)
-         conn->refcount = 1;
-         conn->uctrl = uctrl;
- 
--        conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
-+        //conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
-+        conn->sock = accept(uctrl->sock, NULL, NULL);
-         if (conn->sock < 0) {
-                 if (errno != EINTR)
-                         log_error("unable to receive ctrl connection: %m\n");
-                 goto err;
-         }
- 
-+        // Since we don't have accept4
-+        flgs = fcntl(conn->sock, F_GETFL, NULL);
-+        if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
-+        fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
-+
-         /* check peer credential of connection */
-         slen = sizeof(ucred);
-         if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index 140021605ea..40d9e7c1068 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -1,23 +1,21 @@
-{stdenv, fetchurl, kernelDev}:
+{stdenv, fetchurl, kernel}:
 
 stdenv.mkDerivation {
-  name = "tp_smapi-0.41-${kernelDev.version}";
+  name = "tp_smapi-0.41-${kernel.version}";
 
   src = fetchurl {
     url = "https://github.com/downloads/evgeni/tp_smapi/tp_smapi-0.41.tar.gz";
     sha256 = "6aef02b92d10360ac9be0db29ae390636be55017990063a092a285c70b54e666";
   };
 
-  buildInputs = [ kernelDev ];
-
   makeFlags = [
-    "KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}"
+    "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}"
     "SHELL=/bin/sh"
   ];
 
   installPhase = ''
-    install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
-    install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
+    install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
+    install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
   '';
 
   dontStrip = true;
diff --git a/pkgs/os-specific/linux/tunctl/default.nix b/pkgs/os-specific/linux/tunctl/default.nix
index 8ea3599ff19..fe79c23dc44 100644
--- a/pkgs/os-specific/linux/tunctl/default.nix
+++ b/pkgs/os-specific/linux/tunctl/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://tunctl.sourceforge.net/;
     description = "Utility to set up and maintain TUN/TAP network interfaces";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix
index e7cce315e8c..a0df3d526f5 100644
--- a/pkgs/os-specific/linux/uclibc/default.nix
+++ b/pkgs/os-specific/linux/uclibc/default.nix
@@ -96,6 +96,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.uclibc.org/;
     description = "A small implementation of the C library";
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix
index b53af52755f..09731d54ab7 100644
--- a/pkgs/os-specific/linux/udisks/1-default.nix
+++ b/pkgs/os-specific/linux/udisks/1-default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5";
   };
 
-  patches = [ ./purity.patch ./no-pci-db.patch ];
+  patches = [ ./purity.patch ./no-pci-db.patch ./cve-2014-0004.patch ];
 
   postPatch =
     ''
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index 28cdbe18978..6c9b743fe17 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "udisks-2.1.0";
+  name = "udisks-2.1.3";
 
   src = fetchurl {
     url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2";
-    sha256 = "1a0mipihilscv9jwy59xrqn2kkri9p12a09anpjdld83l7jhh0ii";
+    sha256 = "0bb3403pa23j317b7z9ikdigr6ll5cl93l4hiy4afjgfa7b2zjaw";
   };
 
   patches = [ ./force-path.patch ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--localstatedir=/var"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--with-udevdir=$(out)/lib/udev"
   ];
 
diff --git a/pkgs/os-specific/linux/udisks/cve-2014-0004.patch b/pkgs/os-specific/linux/udisks/cve-2014-0004.patch
new file mode 100644
index 00000000000..ce907507538
--- /dev/null
+++ b/pkgs/os-specific/linux/udisks/cve-2014-0004.patch
@@ -0,0 +1,82 @@
+commit ebf61ed8471a45cf8bce7231de00cb1bbc140708
+Author: Martin Pitt <martin.pitt@ubuntu.com>
+Date:   Wed Mar 5 14:07:44 2014 +0100
+
+    Fix buffer overflow in mount path parsing
+    
+    In the mount monitor we parse mount points from /proc/self/mountinfo.  Ensure
+    that we don't overflow the buffers on platforms where mount paths could be
+    longer than PATH_MAX (unknown if that can actually happen), as at least the
+    mount paths for hotpluggable devices are somewhat user-controlled.
+    
+    Thanks to Florian Weimer for discovering this bug, and to David Zeuthen
+    for his initial patch!
+    
+    CVE-2014-0004
+
+Index: udisks-1.0.4/src/mount-monitor.c
+===================================================================
+--- udisks-1.0.4.orig/src/mount-monitor.c	2011-08-25 20:27:33.000000000 +0200
++++ udisks-1.0.4/src/mount-monitor.c	2014-03-10 13:38:18.309406561 +0100
+@@ -39,6 +39,11 @@
+ #include "mount.h"
+ #include "private.h"
+ 
++/* build a %Ns format string macro with N == PATH_MAX */
++#define xstr(s) str(s)
++#define str(s) #s
++#define PATH_MAX_FMT "%" xstr(PATH_MAX) "s"
++
+ /*--------------------------------------------------------------------------------------------------------------*/
+ 
+ enum
+@@ -320,8 +325,8 @@ mount_monitor_ensure (MountMonitor *moni
+       guint mount_id;
+       guint parent_id;
+       guint major, minor;
+-      gchar encoded_root[PATH_MAX];
+-      gchar encoded_mount_point[PATH_MAX];
++      gchar encoded_root[PATH_MAX + 1];
++      gchar encoded_mount_point[PATH_MAX + 1];
+       gchar *mount_point;
+       dev_t dev;
+ 
+@@ -329,7 +334,7 @@ mount_monitor_ensure (MountMonitor *moni
+         continue;
+ 
+       if (sscanf (lines[n],
+-                  "%d %d %d:%d %s %s",
++                  "%d %d %d:%d " PATH_MAX_FMT " " PATH_MAX_FMT,
+                   &mount_id,
+                   &parent_id,
+                   &major,
+@@ -340,6 +345,8 @@ mount_monitor_ensure (MountMonitor *moni
+           g_warning ("Error parsing line '%s'", lines[n]);
+           continue;
+         }
++      encoded_root[sizeof encoded_root - 1] = '\0';
++      encoded_mount_point[sizeof encoded_mount_point - 1] = '\0';
+ 
+       /* ignore mounts where only a subtree of a filesystem is mounted */
+       if (g_strcmp0 (encoded_root, "/") != 0)
+@@ -358,15 +365,17 @@ mount_monitor_ensure (MountMonitor *moni
+           sep = strstr (lines[n], " - ");
+           if (sep != NULL)
+             {
+-              gchar fstype[PATH_MAX];
+-              gchar mount_source[PATH_MAX];
++              gchar fstype[PATH_MAX + 1];
++              gchar mount_source[PATH_MAX + 1];
+               struct stat statbuf;
+ 
+-              if (sscanf (sep + 3, "%s %s", fstype, mount_source) != 2)
++              if (sscanf (sep + 3, PATH_MAX_FMT " " PATH_MAX_FMT, fstype, mount_source) != 2)
+                 {
+                   g_warning ("Error parsing things past - for '%s'", lines[n]);
+                   continue;
+                 }
++              fstype[sizeof fstype - 1] = '\0';
++              mount_source[sizeof mount_source - 1] = '\0';
+ 
+               if (g_strcmp0 (fstype, "btrfs") != 0)
+                 continue;
diff --git a/pkgs/os-specific/linux/upower/0.99.nix b/pkgs/os-specific/linux/upower/0.99.nix
new file mode 100644
index 00000000000..c42fea16d35
--- /dev/null
+++ b/pkgs/os-specific/linux/upower/0.99.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit
+, intltool, libxslt, docbook_xsl, udev, libusb1, pmutils
+, useSystemd ? true, systemd, gobjectIntrospection
+}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "upower-0.99.0";
+
+  src = fetchurl {
+    url = "http://upower.freedesktop.org/releases/${name}.tar.xz";
+    sha256 = "189rd8j5czy4fs7imxvr38icjh9vlgdz6ki2h08v530h96clndaz";
+  };
+
+  buildInputs =
+    [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 gobjectIntrospection ]
+    ++ stdenv.lib.optional useSystemd systemd;
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  preConfigure =
+    ''
+      substituteInPlace src/linux/up-backend.c \
+        --replace /usr/bin/pm- ${pmutils}/bin/pm- \
+        --replace /usr/sbin/pm- ${pmutils}/sbin/pm-
+      substituteInPlace src/notify-upower.sh \
+        --replace /usr/bin/dbus-send ${dbus_tools}/bin/dbus-send
+    '';
+
+  configureFlags =
+    [ "--with-backend=linux" "--localstatedir=/var"
+      "--enable-deprecated" # needed for Xfce (Nov 2013)
+    ]
+    ++ stdenv.lib.optional useSystemd
+    [ "--enable-systemd"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
+      "--with-udevrulesdir=$(out)/lib/udev/rules.d"
+    ];
+
+  NIX_CFLAGS_LINK = "-lgcc_s";
+
+  installFlags = "historydir=$(TMPDIR)/foo";
+
+  meta = {
+    homepage = http://upower.freedesktop.org/;
+    description = "A D-Bus service for power management";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index d5dc292ac33..605d3d7adc5 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -1,32 +1,38 @@
-{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit
+{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit
 , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils
-, useSystemd ? true, systemd
+, useSystemd ? true, systemd, gobjectIntrospection
 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "upower-0.9.19";
+  name = "upower-0.9.23";
 
   src = fetchurl {
     url = "http://upower.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "053yahks5c7nwdxwx8q6nqp3mxbqldmc844mzyvc3ws9635zmisl";
+    sha256 = "06wqhab2mn0j4biiwh7mn4kxbxnfnzjkxvhpgvnlpaz9m2q54cj3";
   };
 
+  patches = [
+    (fetchpatch rec {
+      url = "http://anonscm.debian.org/gitweb/?p=pkg-utopia/upower.git;"
+        + "a=blob_plain;f=debian/patches/${name};hb=b424b2763fbbba95df8c6ab3feeb57d072a9ddf7";
+      sha256 = "0iq991abrn745icyz6x0wyixrjli01vbmbd9lnwwgyil58h3z8sp";
+      name = "no_deprecation_define.patch";
+    })
+    (fetchpatch {
+      url = "http://cgit.freedesktop.org/upower/patch/?id=22da1a0bc5943b683189418d8b0f766e91b2bdbe";
+      sha256 = "0yfgg6pw4bwskannvdwjxr75lgdrjpxhsskwlzm0frp8v5jy4k4z";
+      name = "clamp-battery-percentages.patch";
+    })
+  ];
+
   buildInputs =
-    [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ]
+    [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 gobjectIntrospection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
   nativeBuildInputs = [ pkgconfig ];
 
-  configureFlags =
-    [ "--with-backend=linux" "--localstatedir=/var" ]
-    ++ stdenv.lib.optional useSystemd
-    [ "--enable-systemd"
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
-    ];
-
   preConfigure =
     ''
       substituteInPlace src/linux/up-backend.c \
@@ -36,6 +42,17 @@ stdenv.mkDerivation rec {
         --replace /usr/bin/dbus-send ${dbus_tools}/bin/dbus-send
     '';
 
+  configureFlags =
+    [ "--with-backend=linux" "--localstatedir=/var"
+      "--enable-deprecated" # needed for Xfce (Nov 2013)
+    ]
+    ++ stdenv.lib.optional useSystemd
+    [ "--enable-systemd"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
+      "--with-udevrulesdir=$(out)/lib/udev/rules.d"
+    ];
+
   NIX_CFLAGS_LINK = "-lgcc_s";
 
   installFlags = "historydir=$(TMPDIR)/foo";
diff --git a/pkgs/os-specific/linux/usermount/default.nix b/pkgs/os-specific/linux/usermount/default.nix
new file mode 100644
index 00000000000..9bf8692d1ce
--- /dev/null
+++ b/pkgs/os-specific/linux/usermount/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, pkgconfig, dbus, libnotify, udisks2, gdk_pixbuf }:
+
+stdenv.mkDerivation {
+  name = "usermount-0.1";
+
+  src = fetchgit {
+    url = "https://github.com/tom5760/usermount.git";
+    rev = "0d6aba3c1f8fec80de502f5b92fd8b28041cc8e4";
+    sha256 = "1bzxwq83ikljnv0f55siyd6rd0gs9v7jl9947lw6s1npa63x3b55";
+  };
+
+  buildInputs = [ pkgconfig dbus libnotify udisks2 gdk_pixbuf ];
+
+  NIX_CFLAGS_COMPILE = [ "-DENABLE_NOTIFICATIONS" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv usermount $out/bin/
+  '';
+
+  meta = {
+    homepage = https://github.com/tom5760/usermount;
+    description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus.";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+  };
+}
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 84cb42693f1..03b4f2a894a 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }:
 
 stdenv.mkDerivation rec {
-  name = "util-linux-2.22.2";
+  name = "util-linux-2.24.2";
 
   src = fetchurl {
-    url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.22/${name}.tar.bz2";
-    sha256 = "0vf3ifb45gr4cd27pmmxk8y5b3r0920mv16fv0vfwz5705xa2qvl";
+    url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.24/${name}.tar.xz";
+    sha256 = "1w0g8q5aj5pjdf8l52g0mxyvlk62f4dch51q9jm3hnqwgz0dchqj";
   };
 
   outputs = [ "dev" "out" "bin" ];
@@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
   # (/sbin/mount.*) through an environment variable, but that's
   # somewhat risky because we have to consider that mount can setuid
   # root...
-  # --enable-libmount-mount  fixes the behaviour being /etc/mtab a symlink to /proc/monunts
-  #     http://pl.digipedia.org/usenet/thread/19513/1924/
   configureFlags = ''
     --enable-write
     --enable-last
@@ -38,6 +36,10 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (ncurses != null) ncurses
     ++ stdenv.lib.optional (perl != null) perl;
 
+  postInstall = ''
+    rm $out/bin/su # su should be supplied by the su package (shadow)
+  '';
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index 8e6584465d0..c220d2d2dd0 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -4,11 +4,11 @@
 assert withQt4 -> qt4 != null;
 
 stdenv.mkDerivation rec {
-  name = "v4l-utils-0.9.3";
+  name = "v4l-utils-1.0.0";
 
   src = fetchurl {
     url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2";
-    sha256 = "0gaag38x47wlvmp4j60wgf9ma1rxzfyg7i12zxxxi4m3cpcb0bah";
+    sha256 = "0c2z500ijxr1ldzb4snasfpwi2icp04f8pk7akiqjkp0k4h8iqqx";
   };
 
   buildInputs = [ which ];
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
new file mode 100644
index 00000000000..5b88d4c7556
--- /dev/null
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, kernel, kmod }:
+
+stdenv.mkDerivation rec {
+  name = "v4l2loopback-${version}-${kernel.version}";
+  version = "0.8.0";
+
+  src = fetchurl {
+    url = "https://github.com/umlaeute/v4l2loopback/archive/v${version}.tar.gz";
+    sha256 = "1rhsgc4prrj8s6njixic7fs5m3gs94v9hhf3am6lnfh5yv6yab9h";
+  };
+  
+  preBuild = ''
+    substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install"
+    sed -i '/depmod/d' Makefile
+    export PATH=${kmod}/sbin:$PATH
+  '';
+  
+  buildInputs = [ kmod ];
+  
+  makeFlags = [
+    "KERNELRELEASE=${kernel.modDirVersion}"
+    "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A kernel module to create V4L2 loopback devices";
+    homepage = https://github.com/umlaeute/v4l2loopback;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.iElectric ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index 698a7ab4ec8..2ad3087d6a1 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, klibc, kernelDev, withKlibc ? true}:
+{stdenv, fetchurl, klibc, kernel, withKlibc ? true}:
 
 stdenv.mkDerivation rec {
-  name = "v86d-${version}-${kernelDev.version}";
+  name = "v86d-${version}-${kernel.version}";
   version = "0.1.10";
 
   src = fetchurl {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = if withKlibc then [ "--with-klibc" ] else [ "--default" ];
 
   makeFlags = [
-    "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/source"
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
     "DESTDIR=$(out)"
   ];
 
diff --git a/pkgs/os-specific/linux/wis-go7007/default.nix b/pkgs/os-specific/linux/wis-go7007/default.nix
index 7f27196ba6b..53868672025 100644
--- a/pkgs/os-specific/linux/wis-go7007/default.nix
+++ b/pkgs/os-specific/linux/wis-go7007/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, kernelDev, ncurses, fxload}:
+{stdenv, fetchurl, kernel, ncurses, fxload}:
 
 let
 
@@ -12,7 +12,7 @@ let
 in   
 
 stdenv.mkDerivation {
-  name = "wis-go7007-0.9.8-${kernelDev.version}";
+  name = "wis-go7007-0.9.8-${kernel.version}";
 
   src = fetchurl {
     url = http://gentoo.osuosl.org/distfiles/wis-go7007-linux-0.9.8.tar.bz2;
@@ -47,16 +47,6 @@ stdenv.mkDerivation {
   '';
 
   preBuild = ''
-    # Urgh, we need the complete kernel sources for some header
-    # files.  So unpack the original kernel source tarball and copy
-    # the configured include directory etc. on top of it.
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
-    kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernelDev.src}
-    kernelSource=$(echo $(pwd)/linux-*)
-    cp -prd $kernelBuild/* $kernelSource
-
-    #includeDir=$out/lib/modules/$kernelVersion/source/include/linux
     includeDir=$TMPDIR/scratch
     substituteInPlace Makefile \
         --replace '$(DESTDIR)$(KSRC)/include/linux' $includeDir \
@@ -65,7 +55,7 @@ stdenv.mkDerivation {
     mkdir -p $out/etc/hotplug/usb
     mkdir -p $out/etc/udev/rules.d
  
-    makeFlagsArray=(KERNELSRC=$kernelSource \
+    makeFlagsArray=(KERNELSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source \
         FIRMWARE_DIR=$out/firmware FXLOAD=${fxload}/sbin/fxload \
         DESTDIR=$out SKIP_DEPMOD=1 \
         USE_UDEV=y)
@@ -79,5 +69,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Kernel module for the Micronas GO7007, used in a number of USB TV devices";
     homepage = http://oss.wischip.com/;
+    broken = true;
   };
 }
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index ec2c704cfb5..937f65089e9 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -5,13 +5,13 @@
 assert readlineSupport -> readline != null;
 
 stdenv.mkDerivation rec {
-  version = "2.0";
+  version = "2.2";
 
   name = "wpa_supplicant-${version}";
 
   src = fetchurl {
     url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
-    sha256 = "02cy6wrs4nzm7wbq9mc1vby8lnj58k4sb10h718ks8mmzc4mc49c";
+    sha256 = "1vf8jc4yyksbxf86narvsli3vxfbm8nbnim2mdp66nd6d3yvin70";
   };
 
   extraConfig =
@@ -42,14 +42,14 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mkdir -p $out/share/man/man5 $out/share/man/man8
-    cp -v doc/docbook/*.5 $out/share/man/man5/
-    cp -v doc/docbook/*.8 $out/share/man/man8/
+    cp -v "doc/docbook/"*.5 $out/share/man/man5/
+    cp -v "doc/docbook/"*.8 $out/share/man/man8/
     mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system
-    cp -v dbus/*service $out/share/dbus-1/system-services
-    sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/*
+    cp -v "dbus/"*service $out/share/dbus-1/system-services
+    sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"*
     cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d
-    cp -v systemd/*.service $out/etc/systemd/system
-  ''; # */
+    cp -v "systemd/"*.service $out/etc/systemd/system
+  '';
 
   meta = {
     homepage = http://hostap.epitest.fi/wpa_supplicant/;
diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 29591bf0335..59a3c51c4d6 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Qt-based GUI for wpa_supplicant";
-    inherit (qt4.meta) platforms;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/wvdial/default.nix b/pkgs/os-specific/linux/wvdial/default.nix
index eb9d09d2a11..7decd42b376 100644
--- a/pkgs/os-specific/linux/wvdial/default.nix
+++ b/pkgs/os-specific/linux/wvdial/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     export makeFlags="prefix=$out"
     # not sure about this line
     sed -i 's@/etc/ppp/peers@$out/etc/ppp/peers@' Makefile.in
+
+    sed -e '1i#include <unistd.h>' -i $(find . -name '*.cc')
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix
index 6cd2a431a60..eaec63f98bf 100644
--- a/pkgs/os-specific/linux/x86info/default.nix
+++ b/pkgs/os-specific/linux/x86info/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pciutils python ];
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp x86info lsmsr $out/bin
   '';
 
diff --git a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix
index 4f74ce57ea8..a4fd00e4911 100644
--- a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix
@@ -44,9 +44,6 @@ stdenv.mkDerivation {
 
     description = "An Xorg driver for multitouch trackpads";
 
-    license = "gplv2";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = stdenv.lib.licenses.gpl2;
   };
 }
-
diff --git a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
index c5cc5f3b68f..7abf6d7c828 100644
--- a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
@@ -45,9 +45,6 @@ stdenv.mkDerivation {
 
     description = "Brings multitouch gestures to the Linux desktop";
 
-    license = "gplv2";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = stdenv.lib.licenses.gpl2;
   };
 }
-
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 4350694c13a..d4786037b5a 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.20.0";
+  name = "xf86-input-wacom-0.25.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "1408zjqsakcyx6v81qwh4q7m49cc6vcaad54jaw8ycw4i832jvjq";
+    sha256 = "06kwcxmgja0xwc5glzwmxm237bsv9fk52k2d6ffq4naqfzn2k31k";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
deleted file mode 100644
index 8ac5cdb6969..00000000000
--- a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv
-, fetchurl
-, autoconf
-, automake
-, libtool
-, xorgserver, xproto, fontsproto, xf86driproto, renderproto, videoproto, pixman
-, utilmacros
-, libdrm
-, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "xf86-video-nouveau-1.0.7";
-
-  src = fetchurl {
-    url = "mirror://xorg/individual/driver/${name}.tar.bz2";
-    sha256 = "0cg1q9dz9ksfp593x707gr10s8p7z00zdws1r4lshg42w5ccd1yi";
-  };
-
-
-  buildInputs = [
-    xorgserver xproto fontsproto xf86driproto renderproto videoproto pixman
-    utilmacros
-    libdrm
-    pkgconfig
-  ];
-
-
-  meta = {
-    homepage = http://nouveau.freedesktop.org/wiki/;
-
-    description = "The xorg driver for nouveau-driven video cards";
-
-    license = "gplv2";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-  };
-}
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 06615d170a1..0242c586cea 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, kernelDev, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
 
 stdenv.mkDerivation {
-  name = "zfs-0.6.2-${kernelDev.version}";
+  name = "zfs-0.6.3-${kernel.version}";
 
   src = fetchurl {
-    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.2.tar.gz;
-    sha256 = "18b5f18k8mwb17r5ippsilmp1a2sqjw9fwn0z82159dkhsadg33b";
+    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.3.tar.gz;
+    sha256 = "06rrip9fxn13x6qnyp6br68r9pcygb95lld25hnnj88m2vagvg19";
   };
 
   patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ];
 
-  buildInputs = [ kernelDev spl perl autoconf automake libtool zlib libuuid coreutils ];
+  buildInputs = [ spl perl autoconf automake libtool zlib libuuid coreutils ];
 
   # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
@@ -27,11 +27,14 @@ stdenv.mkDerivation {
     substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/zdb"     "$out/sbin/zdb"
   '';
 
-  configureFlags = ''
-    --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
-    --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
-    --with-spl=${spl}/libexec/spl
-  '';
+  configureFlags = [
+    "--disable-systemd"
+    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "--with-spl=${spl}/libexec/spl"
+    "--with-dracutdir=$(out)/lib/dracut"
+    "--with-udevdir=$(out)/lib/udev"
+  ];
 
   enableParallelBuilding = true;
 
@@ -45,6 +48,6 @@ stdenv.mkDerivation {
     homepage = http://zfsonlinux.org/;
     license = stdenv.lib.licenses.cddl;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+    maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ];
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix
new file mode 100644
index 00000000000..e88cb9d6130
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/git.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchgit, kernel, spl_git, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+
+stdenv.mkDerivation {
+  name = "zfs-0.6.3-${kernel.version}";
+
+  src = fetchgit {
+    url = git://github.com/zfsonlinux/zfs.git;
+    rev = "07dabd234dd51a1e5adc5bd21cddf5b5fdc70732";
+    sha256 = "1yqsfdhyzh33aisfvwqd692n5kfgnlz7yjixd2gqn8vx9bv0dz0b";
+  };
+
+  patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ];
+
+  buildInputs = [ spl_git perl autoconf automake libtool zlib libuuid coreutils ];
+
+  # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
+  NIX_CFLAGS_LINK = "-lgcc_s";
+
+  preConfigure = ''
+    ./autogen.sh
+
+    substituteInPlace ./module/zfs/zfs_ctldir.c    --replace "umount -t zfs"     "${utillinux}/bin/umount -t zfs"
+    substituteInPlace ./module/zfs/zfs_ctldir.c    --replace "mount -t zfs"      "${utillinux}/bin/mount -t zfs"
+    substituteInPlace ./lib/libzfs/libzfs_mount.c  --replace "/bin/umount"       "${utillinux}/bin/umount"
+    substituteInPlace ./lib/libzfs/libzfs_mount.c  --replace "/bin/mount"        "${utillinux}/bin/mount"
+    substituteInPlace ./udev/rules.d/*             --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
+    substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/ztest"   "$out/sbin/ztest"
+    substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/zdb"     "$out/sbin/zdb"
+  '';
+
+  configureFlags = [
+    "--disable-systemd"
+    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "--with-spl=${spl_git}/libexec/spl"
+    "--with-dracutdir=$(out)/lib/dracut"
+    "--with-udevdir=$(out)/lib/udev"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "ZFS Filesystem Linux Kernel module";
+    longDescription = ''
+      ZFS is a filesystem that combines a logical volume manager with a
+      Copy-On-Write filesystem with data integrity detection and repair,
+      snapshotting, cloning, block devices, deduplication, and more.
+      '';
+    homepage = http://zfsonlinux.org/;
+    license = stdenv.lib.licenses.cddl;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+  };
+}
diff --git a/pkgs/os-specific/windows/cygwin-setup/default.nix b/pkgs/os-specific/windows/cygwin-setup/default.nix
new file mode 100644
index 00000000000..d0995ffc662
--- /dev/null
+++ b/pkgs/os-specific/windows/cygwin-setup/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchcvs, autoconf, automake, libtool, flex, bison, pkgconfig
+, zlib, bzip2, lzma, libgcrypt_1_6
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "cygwin-setup-${version}";
+  version = "20131101";
+
+  src = fetchcvs {
+    cvsRoot = ":pserver:anoncvs@cygwin.com:/cvs/cygwin-apps";
+    module = "setup";
+    date = version;
+    sha256 = "024wxaaxkf7p1i78bh5xrsqmfz7ss2amigbfl2r5w9h87zqn9aq3";
+  };
+
+  nativeBuildInputs = [ autoconf automake libtool flex bison pkgconfig ];
+
+  buildInputs = let
+    mkStatic = flip overrideDerivation (o: {
+      dontDisableStatic = true;
+      configureFlags = toList (o.configureFlags or []) ++ [ "--enable-static" ];
+      buildInputs = map mkStatic (o.buildInputs or []);
+      propagatedBuildInputs = map mkStatic (o.propagatedBuildInputs or []);
+    });
+  in map mkStatic [ zlib bzip2 lzma libgcrypt_1_6 ];
+
+  configureFlags = "--disable-shared";
+
+  dontDisableStatic = true;
+
+  preConfigure = ''
+    autoreconf -vfi
+  '';
+
+  installPhase = ''
+    install -vD setup.exe "$out/bin/setup.exe"
+  '';
+
+  meta = {
+    homepage = https://sourceware.org/cygwin-apps/setup.html;
+    description = "A tool for installing Cygwin";
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix
index 8f8477d1864..4b118a5a7cd 100644
--- a/pkgs/os-specific/windows/jom/default.nix
+++ b/pkgs/os-specific/windows/jom/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://qt-project.org/wiki/jom;
     description = "Clone of nmake supporting multiple independent commands in parallel";
-    license = "GPLv2+"; # Explicitly, GPLv2 or GPLv3, but not later.
+    license = stdenv.lib.licenses.gpl2Plus; # Explicitly, GPLv2 or GPLv3, but not later.
   };
 }
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index c358565c455..bf15b208e1a 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -1,30 +1,30 @@
-{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}:
+{ stdenv, fetchurl, binutilsCross ? null, gccCross ? null
+, onlyHeaders ? false
+, onlyPthreads ? false
+}:
 
 let
-  name = "mingw-w64-2.0.3";
+  name = "mingw-w64-3.1.0";
 in
 stdenv.mkDerivation (rec {
   inherit name;
 
   src = fetchurl {
-    url = "mirror://sourceforge/mingw-w64/mingw-w64-v2.0.3.tar.gz";
-    sha256 = "043jk6z90f9pxs9kfn6ckh2vlnbgcv6yfbp5ybahrj3z58dcijp5";
+    url = "mirror://sourceforge/mingw-w64/mingw-w64-v3.1.0.tar.bz2";
+    sha256 = "1lhpw381gc59w8b1r9zzdwa9cdi2wx6qx7s6rvajapmbw7ksgrzc";
   };
-
-  # I don't know what's that $host directory about, I put the
-  # files inside include as usual.
-  postInstall = ''
-    rmdir $out/include
-    mv $out/x86_64-w64-mingw32/* $out
-    rm -R $out/x86_64-w64-mingw32
-  '';
 } //
 (if onlyHeaders then {
   name = name + "-headers";
-  preConfingure = ''
+  preConfigure = ''
     cd mingw-w64-headers
   '';
-  configureFlags = "--without-crt --host=x86_64-w64-mingw32";
+  configureFlags = "--without-crt";
+} else if onlyPthreads then {
+  name = name + "-pthreads";
+  preConfigure = ''
+    cd mingw-w64-libraries/winpthreads
+  '';
 } else {
   buildInputs = [ gccCross binutilsCross ];
 
diff --git a/pkgs/os-specific/windows/pthread-w32/default.nix b/pkgs/os-specific/windows/pthread-w32/default.nix
index cd417eb9ad0..dde4f5d7371 100644
--- a/pkgs/os-specific/windows/pthread-w32/default.nix
+++ b/pkgs/os-specific/windows/pthread-w32/default.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation {
 
     homepage = http://sourceware.org/pthreads-win32/;
 
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index 9fc3520002c..69c0a3dff41 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -1,22 +1,17 @@
-{ stdenv, fetchurl, cmake, python, boost, libuuid }:
+{ stdenv, fetchurl, cmake, python, boost, libuuid, ruby }:
 
 stdenv.mkDerivation rec {
   name = "${project}-cpp-${version}";
 
   project = "qpid";
-  version = "0.24";
+  version = "0.26";
 
   src = fetchurl {
     url = "mirror://apache/${project}/${version}/${name}.tar.gz";
-    sha256 = "08nfks5jjipy5i4b6mz62ijrz5ryq32c478ix7l3fzmaim3cy8b8";
+    sha256 = "1c03yi19d5h5h78h37add9csmy0mzvvmvn7zkcalwszabdhsb5yk";
   };
 
-  buildInputs = [ cmake python boost libuuid ];
-
-  # workaround this
-  #/nix/store/n38ns73bm4iv62fihd9ih5b39w54yyaf-boost-1.54.0/include/boost/ptr_container/detail/map_iterator.hpp:52:48:
-  #error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
-  cmakeFlags = "-DENABLE_WARNINGS=OFF";
+  buildInputs = [ cmake python boost libuuid ruby ];
 
   # the subdir managementgen wants to install python stuff in ${python} and
   # the installation tries to create some folders in /var
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 59788be15d1..09b091b323c 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
 
-  version = "3.0.3";
+  version = "3.3.4";
 
   src = fetchurl {
     url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz";
-    sha256 = "07mp57xvszdrlgw8rgn9r9dpa6vdqdjk7f1dyh6a9sdg8s9fby38";
+    sha256 = "13nnsn34b44mz8w4b69bcpxmq4daqnxzd0lppg0f138pcssha43l";
   };
 
   buildInputs =
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       patchShebangs .
     '';
 
-  installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man";
+  installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man DOC_INSTALL_DIR=$(out)/share/doc";
 
   preInstall =
     ''
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.rabbitmq.com/;
     description = "An implementation of the AMQP messaging protocol";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
index 4ccb1b069c9..ad8685d3d42 100644
--- a/pkgs/servers/apcupsd/default.nix
+++ b/pkgs/servers/apcupsd/default.nix
@@ -2,13 +2,15 @@
 , enableCgiScripts ? true, gd
 }:
 
+assert enableCgiScripts -> gd != null;
+
 stdenv.mkDerivation rec {
   pname = "apcupsd";
-  name = "${pname}-3.14.10";
+  name = "${pname}-3.14.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0ci0xyg1hzj8lnmm3vxfsvgpb3wdgh1ii3gb8jgdxyqnk7nba1q7";
+    sha256 = "0h54ahj65nqrgmdcg81h1gp0zlxg9hwwhg8pmx6z9zcwn4y70kqv";
   };
 
   buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd;
diff --git a/pkgs/servers/beanstalkd/default.nix b/pkgs/servers/beanstalkd/default.nix
new file mode 100644
index 00000000000..264e6ff749a
--- /dev/null
+++ b/pkgs/servers/beanstalkd/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  version = "1.10";
+  name = "beanstalkd-${version}";
+
+  installPhase=''make install "PREFIX=$out"'';
+
+  src = fetchurl {
+    url = "https://github.com/kr/beanstalkd/archive/v${version}.tar.gz";
+    sha256 = "0n9dlmiddcfl7i0f1lwfhqiwyvf26493fxfcmn8jm30nbqciwfwj";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://kr.github.io/beanstalkd/;
+    description = "Beanstalk is a simple, fast work queue.";
+    license = licenses.mit;
+    maintainers = [ maintainers.zimbatm ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index ae50091add1..585228af2b4 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, flex, bison, readline }:
 
 stdenv.mkDerivation rec {
-  name = "bird-1.3.11";
+  name = "bird-1.4.0";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${name}.tar.gz";
-    sha256 = "15c4d9cyd6l8jdlrvmzvwmpga81llm8zxqvbsir9gvwgzn6zbmna";
+    sha256 = "1ickqvzpnyycq4a0l4d0kvf25pvq2vjayc0whqfv1233nb5426ys";
   };
 
   buildInputs = [ flex bison readline ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "";
     homepage = http://bird.network.cz;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
new file mode 100644
index 00000000000..5282541e2f9
--- /dev/null
+++ b/pkgs/servers/consul/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  version = "0.3.0";
+in
+
+stdenv.mkDerivation {
+  name = "consul-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o consul github.com/hashicorp/consul
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp consul $out/bin
+  '';
+
+  meta = with lib; {
+    homepage    = http://www.consul.io/;
+    description = "A tool for service discovery, monitoring and configuration";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mpl20 ;
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
new file mode 100644
index 00000000000..c1ebcf80928
--- /dev/null
+++ b/pkgs/servers/consul/deps.nix
@@ -0,0 +1,239 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/go.net";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.net";
+        rev = "134";
+        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
+      };
+    }
+    {
+      root = "code.google.com/p/go.text";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.text";
+        rev = "85";
+        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
+      };
+    }
+    {
+      root = "github.com/armon/circbuf";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "circbuf";
+        rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
+        sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
+      };
+    }
+    {
+      root = "github.com/armon/go-metrics";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-metrics";
+        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
+        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+      };
+    }
+    {
+      root = "github.com/armon/gomdb";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "gomdb";
+        rev = "a8e036c4dabe7437014ecf9dbc03c6f6f0766ef8";
+        sha256 = "0hiw5qkkyfd22v291w7rbnlrb4kraqzbkjfx2dvl7rqchkb0hv68";
+      };
+    }
+    {
+      root = "github.com/armon/mdns";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "mdns";
+        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
+        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+      };
+    }
+    {
+      root = "github.com/hashicorp/consul";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "consul";
+        rev = "441d613e1bd96254c78c46ee7c1b35c161fc7295";
+        sha256 = "1v06ygzsvc9c02yxpxnnm407kd30fc46b2146k5zrk1v8lq0f91j";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-syslog";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-syslog";
+        rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
+        sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
+      };
+    }
+    {
+      root = "github.com/hashicorp/logutils";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "logutils";
+        rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
+        sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
+      };
+    }
+    {
+      root = "github.com/hashicorp/memberlist";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "memberlist";
+        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
+        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+      };
+    }
+    {
+      root = "github.com/hashicorp/raft";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "raft";
+        rev = "8bdafd1e83e7d85ffeb5dc8f0857dbddd61edba5";
+        sha256 = "1yv3v0vhw5hgqqhh20jhyba2lpkkmmj80lfgf7v4vgjb0y3jqy6x";
+      };
+    }
+    {
+      root = "github.com/hashicorp/raft-mdb";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "raft-mdb";
+        rev = "70e1c88f4b6fb06fc94cc02109243160a443609d";
+        sha256 = "1031yqgb91ch79m41gl8prrymlh4y4k9yklmbv3qvxkfqirdv247";
+      };
+    }
+    {
+      root = "github.com/hashicorp/serf";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "serf";
+        rev = "83f220b4faa0614f49649156118b750b5b12fafb";
+        sha256 = "144a4g5yfcjv1jnl3mi4jcwy4cd970h1924cdas2s7bcdx6kpnv4";
+      };
+    }
+    {
+      root = "github.com/hashicorp/yamux";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "yamux";
+        rev = "35417c7dfab4085d7c921b33e4d5ea6cf9ceef65";
+        sha256 = "02pk30dgjmp0zz5g3dcll6lf7izmpfh6fw2rp13al7771vaziqyl";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/muxado";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "muxado";
+        rev = "f693c7e88ba316d1a0ae3e205e22a01aa3ec2848";
+        sha256 = "1vgiwwxhgx9c899f6ikvrs0w6vfsnypzalcqyr0mqm2w816r9hhs";
+      };
+    }
+    {
+      root = "github.com/miekg/dns";
+      src = fetchFromGitHub {
+        owner = "miekg";
+        repo = "dns";
+        rev = "05cfaca9f0712f44206ecbfa65a6769434164e7a";
+        sha256 = "1qc12v5yqlsi1mg18i10pvz9g4a5diqzp73q5n4m00gyk41q855j";
+      };
+    }
+    {
+      root = "github.com/mitchellh/cli";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "cli";
+        rev = "975a7477b1507ea6bb888c48108e05d26fb30434";
+        sha256 = "0gxjizg8pf5p3zj04k7cpkwf8l2q9j1j270j2bw0wv2d2pgn6z5l";
+      };
+    }
+    {
+      root = "github.com/mitchellh/mapstructure";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "mapstructure";
+        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
+        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+      };
+    }
+    {
+      root = "github.com/ryanuber/columnize";
+      src = fetchFromGitHub {
+        owner = "ryanuber";
+        repo = "columnize";
+        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
+      };
+    }
+    {
+      root = "github.com/ugorji/go";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/bufio";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "bufio";
+        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
+        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/msgpack";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "msgpack";
+        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
+        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      };
+    }
+    {
+      root = "launchpad.net/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo";
+        rev = "2";
+        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
new file mode 100644
index 00000000000..d1c04f959cb
--- /dev/null
+++ b/pkgs/servers/consul/ui.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "0.3.0";
+  meta = with stdenv.lib; {
+    homepage = http://www.consul.io/intro/getting-started/ui.html;
+    description = "The static files for Consul's UI (used via -ui-dir)";
+    maintainers = with maintainers; [ cstrahan ];
+    license = licenses.mpl20 ;
+    platforms = platforms.all;
+  };
+in (fetchzip {
+  name = "consul-ui-${version}";
+  url = "https://dl.bintray.com/mitchellh/consul/${version}_web_ui.zip";
+  sha256 = "0p4mhlrqidd6p3899wd3i9p41bdbb5avbz5986mnxg9f7dvhjdrc";
+}) // { inherit meta; }
+
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index d711d8a75ca..ca4980f5a6c 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, libtool, gettext, zlib, readline, gsasl
-, guile, python, pcre }:
+, guile, python, pcre, libffi }:
 
 stdenv.mkDerivation rec {
   name = "dico-2.2";
@@ -10,12 +10,22 @@ stdenv.mkDerivation rec {
   };
 
   # XXX: Add support for GNU SASL.
-  buildInputs = [ libtool gettext zlib readline gsasl guile python pcre ];
+  buildInputs =
+    [ libtool gettext zlib readline gsasl guile python pcre libffi ];
 
-  doCheck = true;
+  # dicod fails to load modules, so the tests fail
+  doCheck = false;
 
-  meta = {
+  preBuild = ''
+    sed -i -e '/gets is a security/d' gnu/stdio.in.h
+  '';
+
+  meta = with stdenv.lib; {
     description = "GNU Dico, a flexible dictionary server and client implementing RFC 2229";
+    homepage    = http://www.gnu.org/software/dico/;
+    license     = "GPLv3+";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
 
     longDescription = ''
       GNU Dico is a flexible modular implementation of DICT server
@@ -36,9 +46,5 @@ stdenv.mkDerivation rec {
       The package also includes a console client program for querying
       remote dictionary servers.
     '';
-
-    homepage = http://www.gnu.org/software/dico/;
-
-    license = "GPLv3+";
   };
 }
diff --git a/pkgs/servers/dict/buildfix.diff b/pkgs/servers/dict/buildfix.diff
new file mode 100644
index 00000000000..e30fcb2b038
--- /dev/null
+++ b/pkgs/servers/dict/buildfix.diff
@@ -0,0 +1,11 @@
+--- Makefile.in~	2011-03-06 18:52:54.000000000 +0100
++++ Makefile.in	2014-01-29 19:04:51.384844897 +0100
+@@ -123,7 +123,7 @@
+ 
+ %: %.o
+ 	$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ -static \
+-		$^ $(OBJS) $(LDFLAGS) -lz ${LIBS}
++	    $(^:.o=.lo) $(OBJS) $(LDFLAGS) -lz ${LIBS}
+ 
+ include $(srcdir)/deps
+ 
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index 0b78bb9ae94..1fb7c24418f 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchurl, which, bison, flex }:
+{ stdenv, fetchurl, which, bison, flex, libmaa, zlib, libtool }:
 
-stdenv.mkDerivation {
-  name = "dictd-1.9.15";
+stdenv.mkDerivation rec {
+  version = "1.12.1";
+  name = "dictd-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/dict/dictd-1.9.15.tar.gz;
-    sha256 = "0p41yf72l0igmshz6vxy3hm51z25600vrnb9j2jpgws4c03fqnac";
+    url = "mirror://sourceforge/dict/dictd-${version}.tar.gz";
+    sha256 = "0min6v60b6z5mrymyjfwzx8nv6rdm8pd8phlwl6v2jl5vkngcdx2";
   };
 
-  buildInputs = [ flex bison which ];
-  
+  buildInputs = [ flex bison which libmaa zlib libtool ];
+
+  patchPhase = "patch -p0 < ${./buildfix.diff}";
   configureFlags = "--datadir=/var/run/current-system/share/dictd";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Dict protocol server and client";
+    maintainers = maintainers.mornfall;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dict/dictd-db.nix b/pkgs/servers/dict/dictd-db.nix
index c6c0bc73a08..5f109c58e6e 100644
--- a/pkgs/servers/dict/dictd-db.nix
+++ b/pkgs/servers/dict/dictd-db.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
 			[doInstall doForceShare doPropagate]);
 	meta = {
 		description = "${name} dictionary for dictd";
-		inherit src;
 	};
 };
 # Probably a bug in some FreeDict release files, but easier to trivially
diff --git a/pkgs/servers/dict/dictd-wiktionary.nix b/pkgs/servers/dict/dictd-wiktionary.nix
index 48aaf187605..370bfd39137 100644
--- a/pkgs/servers/dict/dictd-wiktionary.nix
+++ b/pkgs/servers/dict/dictd-wiktionary.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, python, dict, glibcLocales, writeScript}:
 
 stdenv.mkDerivation rec {
-  version = "20121021";
+  version = "20140118";
   name = "dict-db-wiktionary-${version}";
   data = fetchurl {
     url = "http://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
-    sha256 = "1i4xwdpc2bx58495iy62iz0kn50c3qmnh4qribi82f2rd4qkfjd2";
+    sha256 = "892c9fc16b248a31e2d3e42590267161c1b899b31fe923eb1ede1deb6d24cfa8";
   };
 
   convert = ./wiktionary2dict.py;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   builder = writeScript "wiktionary-builder.sh" ''
     source $stdenv/setup
 
-    ensureDir $out/share/dictd/
+    mkdir -p $out/share/dictd/
     cd $out/share/dictd
 
     export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
diff --git a/pkgs/servers/dict/dictd-wordnet.nix b/pkgs/servers/dict/dictd-wordnet.nix
index 063868ddc6e..b6680e8b21c 100644
--- a/pkgs/servers/dict/dictd-wordnet.nix
+++ b/pkgs/servers/dict/dictd-wordnet.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   builder = writeScript "builder.sh" ''
     . ${stdenv}/setup
-    ensureDir $out/share/dictd/
+    mkdir -p $out/share/dictd/
     cd $out/share/dictd
 
     for i in ${wordnet}/dict/data.*; do
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
new file mode 100644
index 00000000000..c63306e1ff4
--- /dev/null
+++ b/pkgs/servers/dict/libmaa.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libtool }:
+
+stdenv.mkDerivation rec {
+  version = "1.3.2";
+  name = "libmaa-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dict/libmaa-${version}.tar.gz";
+    sha256 = "1idi4c30pi79g5qfl7rr9s17krbjbg93bi8f2qrbsdlh78ga19ar";
+  };
+
+  buildInputs = [ libtool ];
+  # configureFlags = "--datadir=/var/run/current-system/share/dictd";
+
+  meta = with stdenv.lib; {
+    description = "Dict protocol server and client";
+    maintainers = maintainers.mornfall;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix
index 3b7e7f068af..0753df43be5 100644
--- a/pkgs/servers/diod/default.nix
+++ b/pkgs/servers/diod/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "diod-${version}";
-  version = "1.0.21";
+  version = "1.0.22";
 
   src = fetchurl {
-    url = "https://github.com/chaos/diod/archive/${version}.tar.gz";
-    sha256 = "1864i42a4rm3f1q68nc19kcshc0hcf6zfgsdq0ppmmwry4mrvij0";
+    url = "https://github.com/chaos/diod/releases/download/${version}/${name}.tar.gz";
+    sha256 = "0h92zadbkq4fjhqjzq17cl3x7bdkz2yakpcl0nccv4ml0gwfbx27";
   };
 
   buildInputs = [ munge lua5 libcap perl ncurses ];
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 6c4841dc8af..921d8e907f1 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-P2"; in
+let version = "9.9.5-W1"; 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 = "0y66ns28n3bcq8hp8srgpaxi9ix7myh2rlcsrr3qpwvkgdnb12jy";
+    sha256 = "1b3ycb376b1j2fc0k6w16k8j9vgsfrzy3nlw1vxzzi41fgyqmcd3";
   };
 
   patchPhase = ''
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.isc;
 
     maintainers = with stdenv.lib.maintainers; [viric simons];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
new file mode 100644
index 00000000000..7279aa6d4ef
--- /dev/null
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -0,0 +1,34 @@
+{ config, stdenv, fetchurl, libevent, openssl
+}:
+
+stdenv.mkDerivation rec {
+  name = "nsd-4.0.3";
+
+  src = fetchurl {
+    url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
+    sha256 = "4bf05f2234e1b41899198aa1070f409201fc3c4980feef6567cd92c7074c4a8b";
+  };
+
+  buildInputs = [ libevent openssl ];
+
+  configureFlags =
+    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
+                                      else map (x: "--disable-${x}") flags;
+     in flag (config.nsd.bind8Stats       or false) [ "bind8-stats" ]
+     ++ flag (config.nsd.checking         or false) [ "checking" ]
+     ++ flag (config.nsd.ipv6             or true)  [ "ipv6" ]
+     ++ flag (config.nsd.mmap             or false) [ "mmap" ]
+     ++ flag (config.nsd.minimalResponses or true)  [ "minimal-responses" ]
+     ++ flag (config.nsd.nsec3            or true)  [ "nsec3" ]
+     ++ flag (config.nsd.ratelimit        or false) [ "ratelimit" ]
+     ++ flag (config.nsd.recvmmsg         or false) [ "recvmmsg" ]
+     ++ flag (config.nsd.rootServer       or false) [ "root-server" ]
+     ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
+
+  meta = {
+    description = "Authoritative only, high performance, simple and open source name server.";
+    license = "BSD";
+    homepage = http://www.nlnetlabs.nl;
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/elasticmq/default.nix b/pkgs/servers/elasticmq/default.nix
index 3d0324775f8..0fec6a5fe0e 100644
--- a/pkgs/servers/elasticmq/default.nix
+++ b/pkgs/servers/elasticmq/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
         $ELASTICMQ_DATA_PREFIX/conf/Default.scala.  You can use the
         Default.scala included in the distribution as a template.
       '';
-    license = "APLv2";
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix
new file mode 100644
index 00000000000..8b4903c8602
--- /dev/null
+++ b/pkgs/servers/etcd/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.3";
+  name = "etcd-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o etcd github.com/coreos/etcd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv etcd $out/bin/etcd
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A highly-available key value store for shared configuration and service discovery";
+    homepage = http://coreos.com/using-coreos/etcd/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/etcd/deps.nix b/pkgs/servers/etcd/deps.nix
new file mode 100644
index 00000000000..e9fd4a50d3e
--- /dev/null
+++ b/pkgs/servers/etcd/deps.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/coreos/etcd";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "etcd";
+        rev = "9970141f76241c909977af7bafe7b6f2c4923de8";
+        sha256 = "1bva46gfy4rkfw8k8pb3lsfzfg16csds01f0nvfrkh99pr7sp0sy";
+      };
+    }
+    {
+      root = "github.com/stathat/go";
+      src = fetchFromGitHub {
+        owner = "stathat";
+        repo = "go";
+        rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
+        sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
+      };
+    }
+    {
+      root = "github.com/stretchr/objx";
+      src = fetchFromGitHub {
+        owner = "stretchr";
+        repo = "objx";
+        rev = "cbeaeb16a013161a98496fad62933b1d21786672";
+        sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1";
+      };
+    }
+    {
+      root = "github.com/stretchr/testify";
+      src = fetchFromGitHub {
+        owner = "stretchr";
+        repo = "testify";
+        rev = "3e03dde72495487a4deb74152ac205d0619fbc8d";
+        sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/servers/evolution-data-server/default.nix b/pkgs/servers/evolution-data-server/default.nix
deleted file mode 100644
index 364bb55a5ee..00000000000
--- a/pkgs/servers/evolution-data-server/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-x@{builderDefsPackage
-  , pkgconfig, flex, bison, libtool, intltool, perl
-  , db4, krb5, openldap, glib, libxml2, GConf
-  , nss, gtk, libgnome, libsoup, gnome_keyring
-  , gtkdoc, sqlite, libgweather, libical, icu
-  , dbus_glib, gperf, nspr, gmp, nettle, libgdata_0_6
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    url = "mirror://gnome/sources/evolution-data-server/2.32/evolution-data-server-2.32.3.tar.bz2";
-    hash = "744026a745b711b3e393b61fed21c4926d1b10a3aa7da64f4b33a3e3bf5b085c";
-    version = "2.32.3";
-    name = "evolution-data-server-${version}";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-
-  configureFlags = [
-    "--with-nspr-includes=${nspr}/include/nspr"
-    "--with-nss-includes=${nss}/include/nss"
-  ];
-      
-  meta = {
-    description = "Evolution Data Server";
-    maintainers = with a.lib.maintainers;
-    [
-      /* I am only interested in it for libebook... */
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://projects.gnome.org/evolution/download.shtml";
-    };
-  };
-}) x
-
diff --git a/pkgs/servers/fcgiwrap/default.nix b/pkgs/servers/fcgiwrap/default.nix
new file mode 100644
index 00000000000..84deebcb8f5
--- /dev/null
+++ b/pkgs/servers/fcgiwrap/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, systemd, fcgi, autoreconfHook, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fcgiwrap-${version}";
+  version = "1.1.0";
+
+  src = fetchurl {
+    url = "http://github.com/gnosek/fcgiwrap/archive/${version}.tar.gz";
+    sha256 = "07y6s4mm86cv7p1ljz94sxnqa89y9amn3vzwsnbq5hrl4vdy0zac";
+  };
+
+  configureFlags = [ "--with-systemd" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
+
+  buildInputs = [ autoreconfHook systemd fcgi pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = https://nginx.localdomain.pl/wiki/FcgiWrap;
+    description = "Simple server for running CGI applications over FastCGI";
+    maintainers = with maintainers; [ lethalman ];
+  };
+}
diff --git a/pkgs/servers/fleet/default.nix b/pkgs/servers/fleet/default.nix
new file mode 100644
index 00000000000..e3a53c85052
--- /dev/null
+++ b/pkgs/servers/fleet/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.5.0";
+  name = "fleet-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o fleet github.com/coreos/fleet
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv fleet $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A distributed init system";
+    homepage = http://coreos.com/using-coreos/clustering/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/fleet/deps.nix b/pkgs/servers/fleet/deps.nix
new file mode 100644
index 00000000000..d0529db37a2
--- /dev/null
+++ b/pkgs/servers/fleet/deps.nix
@@ -0,0 +1,81 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/gogoprotobuf";
+      src = fetchgit {
+        url = "https://code.google.com/p/gogoprotobuf";
+        rev = "7fd1620f09261338b6b1ca1289ace83aee0ec946";
+        sha256 = "0f13y29zpxkv7b7kwnszygvg04fd5m9r8vpkl1wa3gxnc6az54i9";
+      };
+    }
+    {
+      root = "github.com/coreos/etcd";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "etcd";
+        rev = "1359d29fa451b059bb76b51260610d92853e7316";
+        sha256 = "0iz3vmf3nfp1i5r8al207wm0jvj68i47a814w90b1jl8g4f2amp7";
+      };
+    }
+    {
+      root = "github.com/coreos/fleet";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "fleet";
+        rev = "da0a02ed3b07d83b0b542dcdee56e08d2457ab9c";
+        sha256 = "0b8aq4ppyv1fjvf3f2qjq80mvjvf9r104bf4048wgsrs0pccs6s8";
+      };
+    }
+    {
+      root = "github.com/coreos/raft";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "raft";
+        rev = "67dca7288f1665b59860421673d46314f4348e45";
+        sha256 = "1l27kjkwcxgx89d2m537plagbp1wh6qlzxirza6lliblrgxry6mw";
+      };
+    }
+    {
+      root = "github.com/stathat/go";
+      src = fetchFromGitHub {
+        owner = "stathat";
+        repo = "go";
+        rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
+        sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
+      };
+    }
+    {
+      root = "github.com/stretchr/objx";
+      src = fetchFromGitHub {
+        owner = "stretchr";
+        repo = "objx";
+        rev = "cbeaeb16a013161a98496fad62933b1d21786672";
+        sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1";
+      };
+    }
+    {
+      root = "github.com/stretchr/testify";
+      src = fetchFromGitHub {
+        owner = "stretchr";
+        repo = "testify";
+        rev = "3e03dde72495487a4deb74152ac205d0619fbc8d";
+        sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
+
diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix
index 39b78958b03..3b9b32898e2 100644
--- a/pkgs/servers/ftp/vsftpd/default.nix
+++ b/pkgs/servers/ftp/vsftpd/default.nix
@@ -1,23 +1,29 @@
 { stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "vsftpd-3.0.2";
-  
+
   src = fetchurl {
     url = "https://security.appspot.com/downloads/${name}.tar.gz";
     sha256 = "0mjy345wszskz1vnk83360c1y37arwgap3gwz8hy13sjqpig0imy";
   };
 
+  preConfigure = stdenv.lib.optionalString sslEnable ''
+    echo "Will enable SSL"
+    sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
+  '';
+
   # The gcc-wrappers use -idirafter for glibc, and vsftpd also, and
   # their dummyinc come before those of glibc, then the build works bad.
   prePatch = ''
     sed -i -e 's/-idirafter.*//' Makefile
   '';
-  
-  preBuild = let
-      sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto " else "";
+
+  preBuild =
+    let
+      sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto" else "";
     in ''
-      makeFlagsArray=( "LIBS=${sslLibs}-lpam -lcap -fstack-protector" )
+      makeFlagsArray=( "LIBS=${sslLibs} -lpam -lcap -fstack-protector" )
     '';
 
   # It won't link without this flag, used in CFLAGS
@@ -35,11 +41,4 @@ stdenv.mkDerivation (rec {
     mkdir -pv $out/etc/xinetd.d
     install -v -m 644 xinetd.d/vsftpd $out/etc/xinetd.d/vsftpd
   '';
-} // (if sslEnable then {
-  preConfigure = ''
-    echo "Will enable SSL"
-    sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
-  '';
-
-} else { })
-)
+}
diff --git a/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch
new file mode 100644
index 00000000000..3a38340f43a
--- /dev/null
+++ b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch
@@ -0,0 +1,25 @@
+From d7e56abcae8bcb85dc935e94418a2f0e9956941b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Mon, 17 Feb 2014 20:52:50 +0000
+Subject: [PATCH 1/2] Import LD_LIBRARY_PATH to allow running 'scons check'
+ without 'chrpath'
+
+---
+ SConstruct | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/SConstruct b/SConstruct
+index 14e2f59..86b94bc 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -215,6 +215,7 @@ import_env = (
+     'PKG_CONFIG_LIBDIR',      # Pass more environment variables to pkg-config (required for crossbuilds)
+     'STAGING_DIR',     # Required by the OpenWRT and CeroWrt builds.
+     'STAGING_PREFIX',  # Required by the OpenWRT and CeroWrt builds.
++    'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath'
+     )
+ envs = {}
+ for var in import_env:
+-- 
+1.9.0
+
diff --git a/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch
new file mode 100644
index 00000000000..f12d7a52ba0
--- /dev/null
+++ b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch
@@ -0,0 +1,28 @@
+From aed93b6ada5b9b76b85d11d9bad732ca005295af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Sat, 15 Mar 2014 15:08:01 +0100
+Subject: [PATCH 2/2] Import XML_CATALOG_FILES to be able to validate the
+ manual
+
+In nixos/nixpkgs, 'xmlto' depends on $XML_CATALOG_FILES to be able to
+validate XML documents. Because without it, it'll try to go online to
+download DTD's and builders don't have network access...
+---
+ SConstruct | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/SConstruct b/SConstruct
+index 86b94bc..a0b3d25 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -216,6 +216,7 @@ import_env = (
+     'STAGING_DIR',     # Required by the OpenWRT and CeroWrt builds.
+     'STAGING_PREFIX',  # Required by the OpenWRT and CeroWrt builds.
+     'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath'
++    'XML_CATALOG_FILES', # Enables validating the manual with 'xmlto' using nix build system
+     )
+ envs = {}
+ for var in import_env:
+-- 
+1.9.0
+
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index 25051167ca5..62fbd3337f7 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -1,54 +1,87 @@
-{ fetchurl, stdenv, pythonPackages, pkgconfig, dbus, dbus_glib
+{ fetchurl, stdenv, scons, pythonFull, pkgconfig, dbus, dbus_glib
 , ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper
 , libusb1, docbook_xml_dtd_412, docbook_xsl, bc
-, libxslt, xmlto, gpsdUser ? "gpsd" }:
+, libxslt, xmlto, gpsdUser ? "gpsd", gpsdGroup ? "dialout"
+}:
+
+# TODO: the 'xgps' program doesn't work: "ImportError: No module named gobject"
+# TODO: put the X11 deps behind a guiSupport parameter for headless support
 
 stdenv.mkDerivation rec {
-  name = "gpsd-2.95";
+  name = "gpsd-3.10";
 
   src = fetchurl {
-    url = "http://download.berlios.de/gpsd/${name}.tar.gz";
-    sha256 = "1bjhyjg561kwp6zc2wg58njdvpnsj5yaa2slz8g3ga1176jl68w3";
+    url = "http://download-mirror.savannah.gnu.org/releases/gpsd/${name}.tar.gz";
+    sha256 = "0823hl5zgwnbgm0fq3i4z34lv76cpj0k6m0zjiygiyrxrz0w4vvh";
   };
 
-  nativeBuildInputs = [ makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl
-    xmlto bc pythonPackages.wrapPython ];
+  nativeBuildInputs = [
+    scons makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc
+    pythonFull
+  ];
 
-  pythonPath = [ pythonPackages.curses ];
+  buildInputs = [
+    pythonFull dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext
+    libxslt libusb1
+  ];
 
-  buildInputs = [ pythonPackages.python dbus dbus_glib ncurses libX11 libXt
-    libXpm libXaw libXext libxslt libusb1 ];
+  patches = [
+    ./0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch
+    ./0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch
+  ];
 
-  configureFlags = "--enable-static --enable-dbus --enable-gpsd-user=${gpsdUser}";
+  # - leapfetch=no disables going online at build time to fetch leap-seconds
+  #   info. See <gpsd-src>/build.txt for more info.
+  # - chrpath=no stops the build from using 'chrpath' (which we don't have).
+  #   'chrpath' is used to be able to run the tests from the source tree, but
+  #   we use $LD_LIBRARY_PATH instead.
+  buildPhase = ''
+    patchShebangs .
+    mkdir -p "$out"
+    sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.python.libPrefix}/site-packages\"|" -i SConstruct
+    scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \
+        systemd=yes udevdir="$out/lib/udev" chrpath=no
+  '';
 
-  doCheck = true;
+  doCheck = false;
 
-  postInstall = "wrapPythonPrograms";
+  checkPhase = ''
+    export LD_LIBRARY_PATH="$PWD"
+    scons check
+  '';
+
+  # TODO: the udev rules file and the hotplug script need fixes to work on NixOS
+  installPhase = ''
+    scons install
+    mkdir -p "$out/lib/udev/rules.d"
+    scons udev-install
+  '';
 
-  meta = {
-    description = "`gpsd', a GPS service daemon";
+  postInstall = "wrapPythonPrograms";
 
+  meta = with stdenv.lib; {
+    description = "GPS service daemon";
     longDescription = ''
-      gpsd is a service daemon that monitors one or more GPSes
-      attached to a host computer through serial or USB ports, making
-      all data on the location/course/velocity of the sensors
-      available to be queried on TCP port 2947 of the host computer.
-      With gpsd, multiple GPS client applications (such as
-      navigational and wardriving software) can share access to GPSes
-      without contention or loss of data.  Also, gpsd responds to
-      queries with a format that is substantially easier to parse than
-      the NMEA 0183 emitted by most GPSes.  The gpsd distribution
-      includes a linkable C service library, a C++ wrapper class, and
-      a Python module that developers of gpsd-aware applications can
-      use to encapsulate all communication with gpsd.
+      gpsd is a service daemon that monitors one or more GPSes or AIS
+      receivers attached to a host computer through serial or USB ports,
+      making all data on the location/course/velocity of the sensors
+      available to be queried on TCP port 2947 of the host computer. With
+      gpsd, multiple location-aware client applications (such as navigational
+      and wardriving software) can share access to receivers without
+      contention or loss of data. Also, gpsd responds to queries with a
+      format that is substantially easier to parse than the NMEA 0183 emitted
+      by most GPSes. The gpsd distribution includes a linkable C service
+      library, a C++ wrapper class, and a Python module that developers of
+      gpsd-aware applications can use to encapsulate all communication with
+      gpsd. Third-party client bindings for Java and Perl also exist.
 
       Besides gpsd itself, the project provides auxiliary tools for
-      diagnostic monitoring and profiling of GPSes and feeding
-      GPS-aware applications GPS logs for diagnostic purposes.
+      diagnostic monitoring and profiling of receivers and feeding
+      location-aware applications GPS/AIS logs for diagnostic purposes.
     '';
-
-    homepage = http://gpsd.berlios.de/;
-
+    homepage = http://catb.org/gpsd/;
     license = "BSD-style";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 784c1454322..bcbc5baf37b 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.25";
+  version = "2.2.27";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha1 = "e34222d1a8de38825397a1c70949bcc5836a1236";
+    sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90";
   };
 
   outputs = [ "dev" "out" "doc" ];
@@ -65,9 +65,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Apache HTTPD, the world's most popular web server";
+    branch      = "2.2";
     homepage    = http://httpd.apache.org/;
     license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ simons lovek323 ];
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ eelco simons lovek323 ];
   };
 }
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index bbf84a852b8..e164c21ec78 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.4";
+  version = "2.4.10";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0p35jy6mkb1q48bia719qxs5bwxv0wadyhxi61rsr93nrbgbvalj";
+    sha256 = "0slwcqw9f7fnb3kyz27hlsgh8j4wiza4yzqyp6vhfpvl3an4sv0p";
   };
 
   buildInputs = [perl] ++
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     description = "Apache HTTPD, the world's most popular web server";
     homepage    = http://httpd.apache.org/;
     license     = licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with maintainers; [ lovek323 simons ];
   };
 }
diff --git a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
new file mode 100644
index 00000000000..06f12820a10
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, apacheHttpd_2_2, apr, avahi }:
+
+stdenv.mkDerivation rec {
+  name = "mod_dnssd-0.6";
+
+  src = fetchurl {
+    url = "http://0pointer.de/lennart/projects/mod_dnssd/${name}.tar.gz";
+    sha256 = "2cd171d76eba398f03c1d5bcc468a1756f4801cd8ed5bd065086e4374997c5aa";
+  };
+
+  configureFlags = [ "--disable-lynx" ];
+
+  buildInputs = [ pkgconfig apacheHttpd_2_2 avahi apr ];
+
+  installPhase = ''
+    mkdir -p $out/modules
+    cp src/.libs/mod_dnssd.so $out/modules
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://0pointer.de/lennart/projects/mod_dnssd;
+    description = "Provide Zeroconf support via DNS-SD using Avahi";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lethalman ];
+  };
+}
+
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index c8f0da7040c..07dff1cf585 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, apacheHttpd, python }:
 
 stdenv.mkDerivation {
-  name = "mod_wsgi-3.3";
+  name = "mod_wsgi-3.4";
 
   src = fetchurl {
-    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz";
-    sha256 = "0hrjksym0dlqn1ka1yf3x6ar801zqxfykwcxazjwz104k5w10vnr";
+    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz";
+    sha256 = "1s5nnjssvcl6lzy7kxmrk47yz6sgfzk90i1y7jml0s0lks7ck1df";
   };
 
   buildInputs = [ apacheHttpd python ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://code.google.com/p/modwsgi/";
     description = "Host Python applications in Apache through the WSGI interface";
-    license = "ASL2.0";
+    license = stdenv.lib.licenses.asl20;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix
index 08bc45443a3..35d4ebbf89f 100644
--- a/pkgs/servers/http/couchdb/default.nix
+++ b/pkgs/servers/http/couchdb/default.nix
@@ -1,21 +1,38 @@
-args @ {stdenv, fetchurl, erlang, spidermonkey,
-	icu, getopt, curl, ...}:
-
-let s = import ./src-for-default.nix; in
+{ stdenv, fetchurl, erlang, icu, openssl, spidermonkey, curl, help2man, python
+, sphinx, which, file, pkgconfig, getopt }:
 
 stdenv.mkDerivation rec {
-  inherit (s) name;
+  name = "couchdb-${version}";
+  version = "1.6.0";
+
   src = fetchurl {
-    inherit (s) url;
-    sha256 = s.hash;
+    url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
+    sha256 = "0m4k7i3gibzzcabssysv42rmdr89myppc6765xr0jggwkwdxgxmx";
   };
 
-  buildInputs = [erlang spidermonkey icu curl];
+  buildInputs = [ erlang icu openssl spidermonkey curl help2man sphinx which
+    file pkgconfig ];
 
   postInstall = ''
     sed -i -e "s|\`getopt|\`${getopt}/bin/getopt|" $out/bin/couchdb
   '';
 
-  configureFlags = "--with-erlang=${erlang}/lib/erlang/usr/include --with-js-include=${spidermonkey}/include --with-js-lib=${spidermonkey}/lib";
+  /*
+  Versions of SpiderMonkey after the js185-1.0.0 release remove the optional
+  enforcement of preventing anonymous functions in a statement context. This
+  will most likely break your existing JavaScript code as well as render all
+  example code invalid.
 
+  If you wish to ignore this error pass --enable-js-trunk to ./configure.
+  */
+  configureFlags = ''
+    --enable-js-trunk
+  '';
+
+  meta = {
+    description = "Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API";
+    homepage = "http://couchdb.apache.org";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ viric garbas ];
+  };
 }
diff --git a/pkgs/servers/http/couchdb/src-for-default.nix b/pkgs/servers/http/couchdb/src-for-default.nix
deleted file mode 100644
index 6e07077d333..00000000000
--- a/pkgs/servers/http/couchdb/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="1.2.0";
-   name="couchdb-1.2.0";
-   hash="0dswinmg32zn217049dkbx3pab3qwihzmlbc7i6vq7a7lbg4s98g";
-   url="mirror://apache/couchdb/releases/1.2.0/apache-couchdb-${version}.tar.gz";
-   advertisedUrl="http://www.apache.org/dist/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz";
-  
-  
-}
diff --git a/pkgs/servers/http/couchdb/src-info-for-default.nix b/pkgs/servers/http/couchdb/src-info-for-default.nix
deleted file mode 100644
index 5904bdcb232..00000000000
--- a/pkgs/servers/http/couchdb/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  downloadPage = "http://couchdb.apache.org/downloads.html";
-  baseName = "couchdb";
-  choiceCommand = ''head -1 | sed -re "$skipRedirectApache" '';
-  mirrorSedScript = ''$apacheMirror'';
-}
-
diff --git a/pkgs/servers/http/jetty/6.1/default.nix b/pkgs/servers/http/jetty/6.1/default.nix
index 10913a65641..894a21fdece 100644
--- a/pkgs/servers/http/jetty/6.1/default.nix
+++ b/pkgs/servers/http/jetty/6.1/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "jetty-6.1.21";
+  name = "jetty-6.1.26";
 
   builder = ./bin-builder.sh;
   buildInputs = [unzip];
 
   src = fetchurl {
-    url = http://dist.codehaus.org/jetty/jetty-6.1.21/jetty-6.1.21.zip;
-    sha256 = "1nrjglrmf29m1j1c80nskngmlqmc5vc7c48fggczn605l722cwaw";
+    url = http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip;
+    sha256 = "11w1ciayv8zvxjg45xzs0kwc7k45x97sbnxkqb62sxy3gsw8xh4n";
   };
 }
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
index 6ca5caba944..f42ae81a700 100644
--- a/pkgs/servers/http/joseki/default.nix
+++ b/pkgs/servers/http/joseki/default.nix
@@ -105,8 +105,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      []; # Builder is just unpacking/mixing what is needed
+    hydraPlatforms = []; # Builder is just unpacking/mixing what is needed
     license = "free"; # mix of packages under different licenses
     homepage = "http://openjena.org/";
   };
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 61070ef22b6..899914b6446 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -1,22 +1,26 @@
 { stdenv, fetchurl, pkgconfig, pcre, libxml2, zlib, attr, bzip2, which, file
 , openssl, enableMagnet ? false, lua5 ? null
+, enableMysql ? false, mysql ? null
 }:
 
 assert enableMagnet -> lua5 != null;
+assert enableMysql -> mysql != null;
 
-stdenv.mkDerivation {
-  name = "lighttpd-1.4.32";
+stdenv.mkDerivation rec {
+  name = "lighttpd-1.4.35";
 
   src = fetchurl {
-    url = http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.32.tar.xz;
-    sha256 = "1hgd9bi4mrak732h57na89lqg58b1kkchnddij9gawffd40ghs0k";
+    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
+    sha256 = "18rh7xyx69xbwl20znnjma1dq5fay0ygjjvpn3gaa7dxrir9nghi";
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
-             ++ stdenv.lib.optional enableMagnet lua5;
+             ++ stdenv.lib.optional enableMagnet lua5
+             ++ stdenv.lib.optional enableMysql mysql;
 
   configureFlags = [ "--with-openssl" ]
-                ++ stdenv.lib.optional enableMagnet "--with-lua";
+                ++ stdenv.lib.optional enableMagnet "--with-lua"
+                ++ stdenv.lib.optional enableMysql "--with-mysql";
 
   preConfigure = ''
     sed -i "s:/usr/bin/file:${file}/bin/file:g" configure
@@ -27,6 +31,6 @@ stdenv.mkDerivation {
     homepage = http://www.lighttpd.net/;
     license = "BSD";
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/servers/http/myserver/default.nix b/pkgs/servers/http/myserver/default.nix
index 8c0118912f5..3e1c94e79b4 100644
--- a/pkgs/servers/http/myserver/default.nix
+++ b/pkgs/servers/http/myserver/default.nix
@@ -1,53 +1,50 @@
-{ fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
+{ lib, fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
 , libxml2, zlib, guile, texinfo, cppunit, psmisc }:
 
 let version = "0.11"; in
-  stdenv.mkDerivation (rec {
-    name = "myserver-${version}";
 
-    src = fetchurl {
-      url = "mirror://gnu/myserver/${version}/${name}.tar.xz";
-      sha256 = "02y3vv4hxpy5h710y79s8ipzshhc370gbz1wm85x0lnq5nqxj2ax";
-    };
+stdenv.mkDerivation rec {
+  name = "myserver-${version}";
 
-    patches =
-      [ ./disable-dns-lookup-in-chroot.patch ];
+  src = fetchurl {
+    url = "mirror://gnu/myserver/${version}/${name}.tar.xz";
+    sha256 = "02y3vv4hxpy5h710y79s8ipzshhc370gbz1wm85x0lnq5nqxj2ax";
+  };
 
-    buildInputs =
-      [ libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo ]
-      ++ stdenv.lib.optional doCheck cppunit;
+  patches =
+    [ ./disable-dns-lookup-in-chroot.patch ];
 
-    makeFlags = [ "V=1" ];
+  buildInputs =
+    [ libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo ]
+    ++ lib.optional doCheck cppunit;
 
-    doCheck = true;
+  makeFlags = [ "V=1" ];
 
-    enableParallelBuilding = true;
+  doCheck = true;
 
-    meta = {
-      description = "GNU MyServer, a powerful and easy to configure web server";
+  enableParallelBuilding = true;
 
-      longDescription = ''
-        GNU MyServer is a powerful and easy to configure web server.  Its
-        multi-threaded architecture makes it extremely scalable and usable in
-        large scale sites as well as in small networks, it has a lot of
-        built-in features.  Share your files in minutes!
-      '';
+  # On GNU/Linux the `test_suite' process sometimes stays around, so
+  # forcefully terminate it.
+  postCheck = lib.optionalString stdenv.isLinux "${psmisc}/bin/killall test_suite || true";
 
-      homepage = http://www.gnu.org/software/myserver/;
+  meta = {
+    description = "GNU MyServer, a powerful and easy to configure web server";
 
-      license = "GPLv3+";
+    longDescription = ''
+      GNU MyServer is a powerful and easy to configure web server.  Its
+      multi-threaded architecture makes it extremely scalable and usable in
+      large scale sites as well as in small networks, it has a lot of
+      built-in features.  Share your files in minutes!
+    '';
 
-      maintainers = [ ];
+    homepage = http://www.gnu.org/software/myserver/;
 
-      # libevent fails to build on Cygwin and Guile has troubles on Darwin.
-      platforms = stdenv.lib.platforms.gnu;
-    };
-  }
+    license = lib.licenses.gpl3Plus;
 
-  //
+    # libevent fails to build on Cygwin and Guile has troubles on Darwin.
+    platforms = lib.platforms.gnu;
 
-  # On GNU/Linux the `test_suite' process sometimes stays around, so
-  # forcefully terminate it.
-  (if stdenv.isLinux
-   then { postCheck = "${psmisc}/bin/killall test_suite || true"; }
-   else { }))
+    broken = true; # needs patch for gets()
+  };
+}
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 28390aa38da..903cf038d6e 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,45 +1,95 @@
-{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false, syslog ? false }:
+{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
+, gd, geoip
+, rtmp ? false
+, fullWebDAV ? false
+, syslog ? false
+, moreheaders ? false
+, echo ? false }:
+
+with stdenv.lib;
 
 let
+  version = "1.6.1";
+  mainSrc = fetchurl {
+    url = "http://nginx.org/download/nginx-${version}.tar.gz";
+    sha256 = "0rv0hds8dhanh8fz8qv5jj7p96q4sl158w6aq814dvxfl61fdkzm";
+  };
+
+  rtmp-ext = fetchgit {
+    url = https://github.com/arut/nginx-rtmp-module.git;
+    rev = "8c2229cce5d4d4574e8fb7b130281497f746f0fa";
+    sha256 = "6caea2a13161345c3fc963679730be54cebebddf1406ac7d4ef4ce72ac0b90b0";
+  };
+
   dav-ext = fetchgit {
-    url = git://github.com/arut/nginx-dav-ext-module.git;
-    rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d";
-    sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq";
+    url = "https://github.com/arut/nginx-dav-ext-module";
+    rev = "89d582d31ab624ff1c6a4cec0c1a52839507b323";
+    sha256 = "2175f83a291347504770d2a4bb5069999e9f7408697bd49464b6b54e994493e1";
   };
 
   syslog-ext = fetchgit {
     url = https://github.com/yaoweibin/nginx_syslog_patch.git;
-    rev = "165affd9741f0e30c4c8225da5e487d33832aca3";
-    sha256 = "14dkkafjnbapp6jnvrjg9ip46j00cr8pqc2g7374z9aj7hrvdvhs";
+    rev = "3ca5ba65541637f74467038aa032e2586321d0cb";
+    sha256 = "15z9r17lx42fdcw8lalddc86wpabgmc1rqi7f90v4mcirjzrpgyi";
   };
-in
 
-stdenv.mkDerivation rec {
-  name = "nginx-${meta.version}";
+  moreheaders-ext = fetchgit {
+    url = https://github.com/openresty/headers-more-nginx-module.git;
+    rev = "0c6e05d3125a97892a250e9ba8b7674163ba500b";
+    sha256 = "e121d97fd3c81c64e6cbf6902bbcbdb01be9ac985c6832d40434379d5e998eaf";
+  };
 
-  src = fetchurl {
-    url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "116yfy0k65mwxdkld0w7c3gly77jdqlvga5hpbsw79i3r62kh4mf";
+  echo-ext = fetchgit {
+    url = https://github.com/openresty/echo-nginx-module.git;
+    rev = "refs/tags/v0.53";
+    sha256 = "90d4e3a49c678019f4f335bc18529aa108fcc9cfe0747ea4e2f6084a70da2868";
   };
+in
+
+stdenv.mkDerivation rec {
+  name = "nginx-${version}";
+  src = mainSrc;
 
-  buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat;
+  buildInputs =
+    [ openssl zlib pcre libxml2 libxslt gd geoip
+    ] ++ optional fullWebDAV expat;
 
-  patches = if syslog then [ "${syslog-ext}/syslog_1.4.0.patch" ] else [];
+  patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
 
   configureFlags = [
     "--with-http_ssl_module"
+    "--with-http_spdy_module"
+    "--with-http_realip_module"
+    "--with-http_addition_module"
     "--with-http_xslt_module"
+    "--with-http_image_filter_module"
+    "--with-http_geoip_module"
     "--with-http_sub_module"
     "--with-http_dav_module"
+    "--with-http_flv_module"
+    "--with-http_mp4_module"
+    "--with-http_gunzip_module"
     "--with-http_gzip_static_module"
+    "--with-http_auth_request_module"
+    "--with-http_random_index_module"
     "--with-http_secure_link_module"
+    "--with-http_degradation_module"
+    "--with-http_stub_status_module"
+    "--with-ipv6"
     # Install destination problems
     # "--with-http_perl_module"
-  ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"
-    ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}";
+  ] ++ optional rtmp "--add-module=${rtmp-ext}"
+    ++ optional fullWebDAV "--add-module=${dav-ext}"
+    ++ optional syslog "--add-module=${syslog-ext}"
+    ++ optional moreheaders "--add-module=${moreheaders-ext}"
+    ++ optional echo "--add-module=${echo-ext}"
+    ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
+
+
+  additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations";
 
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
   '';
 
   postInstall = ''
@@ -48,8 +98,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A reverse proxy and lightweight webserver";
-    maintainers = [ stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.all;
-    version = "1.4.3";
+    homepage    = http://nginx.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice raskin ];
   };
 }
diff --git a/pkgs/servers/http/nginx/default.upstream b/pkgs/servers/http/nginx/default.upstream
index f6a12eedda4..c2013901743 100644
--- a/pkgs/servers/http/nginx/default.upstream
+++ b/pkgs/servers/http/nginx/default.upstream
@@ -4,5 +4,5 @@ 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
+  set_var_value sha256 "$CURRENT_HASH"
 }
diff --git a/pkgs/servers/http/nix-binary-cache/default.nix b/pkgs/servers/http/nix-binary-cache/default.nix
new file mode 100644
index 00000000000..b007c09b056
--- /dev/null
+++ b/pkgs/servers/http/nix-binary-cache/default.nix
@@ -0,0 +1,61 @@
+{stdenv, fetchurl
+, coreutils, findutils, nix, xz, bzip2, gnused, gnugrep, openssl
+, lighttpd, iproute }:
+stdenv.mkDerivation rec {
+  version = "2014-06-29-1";
+  name = "nix-binary-cache-${version}";
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    substitute "${./nix-binary-cache.cgi.in}" "$out"/bin/nix-binary-cache.cgi \
+      --replace @out@ "$out/bin" \
+      --replace @shell@ "${stdenv.shell}" \
+      --replace @coreutils@ "${coreutils}/bin" \
+      --replace @findutils@ "${findutils}/bin" \
+      --replace @nix@ "${nix}/bin" \
+      --replace @xz@ "${xz}/bin" \
+      --replace @bzip2@ "${bzip2}/bin" \
+      --replace @gnused@ "${gnused}/bin" \
+      --replace @gnugrep@ "${gnugrep}/bin" \
+      --replace @openssl@ "${openssl}/bin" \
+      --replace @lighttpd@ "${lighttpd}/sbin" \
+      --replace @iproute@ "${iproute}/sbin" \
+      --replace "xXxXx" "xXxXx"
+
+    chmod a+x "$out/bin/nix-binary-cache.cgi"
+
+    substitute "${./nix-binary-cache-start.in}" "$out"/bin/nix-binary-cache-start \
+      --replace @out@ "$out/bin" \
+      --replace @shell@ "${stdenv.shell}" \
+      --replace @coreutils@ "${coreutils}/bin" \
+      --replace @findutils@ "${findutils}/bin" \
+      --replace @nix@ "${nix}/bin" \
+      --replace @xz@ "${xz}/bin" \
+      --replace @bzip2@ "${bzip2}/bin" \
+      --replace @gnused@ "${gnused}/bin" \
+      --replace @gnugrep@ "${gnugrep}/bin" \
+      --replace @openssl@ "${openssl}/bin" \
+      --replace @lighttpd@ "${lighttpd}/sbin" \
+      --replace @iproute@ "${iproute}/sbin" \
+      --replace "xXxXx" "xXxXx"
+
+    chmod a+x "$out/bin/nix-binary-cache-start"
+  '';
+
+  meta = {
+    description = ''A set of scripts to serve the Nix store as a binary cache'';
+    longDescription = ''
+      This package installs a CGI script that serves Nix store path in the 
+      binary cache format. It also installs a launcher called 
+      nix-binary-cache-start that can be run without any setup to launch
+      a binary cache and get the example arguments for its usage.
+    '';
+    maintainers = [stdenv.lib.maintainers.raskin];
+    license = stdenv.lib.licenses.gpl2Plus;
+    inherit version;
+    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in b/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
new file mode 100644
index 00000000000..2a2356f39ab
--- /dev/null
+++ b/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
@@ -0,0 +1,105 @@
+#! @shell@
+
+parse_opts () {
+  while @coreutils@/test -n "$1" && @coreutils@/test "x$1" != x-- ; do 
+    case "$1" in
+      --store-dir)
+        shift;
+        echo "STORE_DIR='$1'"
+        shift;
+        ;;
+      --priority)
+        shift;
+        echo "PRIORITY=$1";
+        shift;
+        ;;
+      --compression)
+        shift;
+        echo "COMPRESSION=$1";
+        shift;
+        ;;
+      --key)
+        shift;
+        echo "KEY=${1#*:}"
+        echo "KEYNAME=${1%%:*}"
+        shift;
+        ;;
+      --nix-remote)
+        shift;
+        echo "NIX_REMOTE=$1"
+        shift;
+        ;;
+      --mass-query)
+        shift;
+        echo "MASS_QUERY=$1"
+        shift;
+        ;;
+      --port)
+        shift;
+        echo "PORT=$1"
+        shift;
+        ;;
+      --help)
+        cat <<EOF >&2
+"$0": start the Nix binary cache serving the Nix store dynamically.
+
+Recognized options:
+
+--port           server port
+--store-dir      served Nix store
+
+--priority       binary cache priority
+--mass-query     0 or 1 - whether binary cache expects queries for nix-env -qas
+
+--compression    compression to use: bzip2 or xz
+--key            name:/path/to/key - key to use for narinfo signing
+
+--nix-remote     'daemon' or empty string '' - whether to use daemon for store
+                   operations
+
+--help           show help and exit
+EOF
+	exit 1;
+        ;;
+      *) shift ;;
+    esac;
+  done
+}
+
+workingdir="$(@coreutils@/mktemp -d)"
+cd "$workingdir"
+
+PORT=8080
+(echo "STORE_DIR=${NIX_STORE_DIR:-/nix/store}"; parse_opts "$@" 
+  ) > nix-binary-cache.conf || exit
+. "$workingdir/nix-binary-cache.conf"
+
+echo "
+server.port = $PORT
+server.modules = ( \"mod_cgi\", \"mod_setenv\", )
+server.document-root = \"$workingdir\"
+cgi.assign = ( \".cgi\" => \"@shell@\" )
+setenv.add-request-header = ( \"NIX_BINARY_CACHE_CONFIG\" => \"$workingdir/nix-binary-cache.conf\" )
+" > lighttpd.conf
+
+cp @out@/nix-binary-cache.cgi . 
+cp @out@/nix-binary-cache.cgi ./nix-bc.cgi 
+
+ip="$(@iproute@/ip a | @gnugrep@/grep 'inet .* scope global' | @coreutils@/head -n 1)"
+ip="${ip%%/*}"
+ip="${ip##* }"
+
+url="http://$ip:$PORT/nix-bc.cgi?"
+
+echo "Working directory: $workingdir"
+echo
+echo "Address of the binary cache: $url"
+echo
+echo "Usage example: NIX_REMOTE= nix-store --option binary-caches '$url'"
+echo
+echo
+
+@lighttpd@/lighttpd -D -f "$workingdir/lighttpd.conf"
+
+cd /
+@coreutils@/rm -rf "$workingdir"
diff --git a/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in b/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
new file mode 100644
index 00000000000..219ab9763ad
--- /dev/null
+++ b/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
@@ -0,0 +1,97 @@
+#! @shell@
+
+STORE_DIR="${NIX_STORE_DIR:-/nix/store}"
+MASS_QUERY=0
+PRIORITY=75
+COMPRESSION=bzip2
+KEY=
+KEYNAME=na
+
+export NIX_REMOTE=daemon
+
+config="${NIX_BINARY_CACHE_CONFIG:-${HTTP_NIX_BINARY_CACHE_CONFIG:-/etc/nix/nix-binary-cache.cgi.conf}}"
+config="$(cd "$(@coreutils@/dirname "$config")"; 
+  @coreutils@/pwd)/$(@coreutils@/basename "$config")"
+@coreutils@/test -e "$config" && . "$config"
+
+header(){
+	echo "Content-Type: text/plain; charset=utf-8"
+	echo 
+}
+
+clean_path() {
+	@gnused@/sed -re "s@^$STORE_DIR/?@@" | @findutils@/xargs
+}
+
+storeq(){
+	@nix@/nix-store -q "$@"
+}
+
+sign(){
+	test -n "$1" && 
+	  @coreutils@/sha256sum | @gnused@/sed -e 's/ .*//' | 
+	  @openssl@/openssl rsautl -sign -inkey "$@" | @coreutils@/base64 -w 0
+}
+
+case "$QUERY_STRING" in 
+	"")
+		header
+		echo "Hello, this is a dynamically-generated Nix binary cache"
+		;;
+	/debug)
+		header
+		set
+		;;
+	/nix-cache-info)
+		header
+		echo "StoreDir: $STORE_DIR"
+		echo "WantMassQuery: $MASS_QUERY"
+		echo "Priority: $PRIORITY"
+		;;
+	*.narinfo)
+		hash=${QUERY_STRING%.narinfo}
+		hash=${hash#/}
+		path="$(echo "$STORE_DIR/$hash-"* )"
+		if [ -n "$path" ] && [ -e "$path" ]; then
+			header
+			info="$(
+			echo "StorePath: $path"
+			echo "URL: $(@coreutils@/basename "$path"
+			  ).nar.$COMPRESSION"
+			echo "Compression: $COMPRESSION"
+			echo "NarHash: $(storeq --hash "$path")"
+			echo "NarSize: $(storeq --size "$path")"
+			echo "References: $(storeq --references "$path" | 
+			  @coreutils@/tac | clean_path )"
+			echo "Deriver: $(storeq --deriver "$path" | 
+			  clean_path )"
+			)"
+			signature="$(echo "$info" | sign "$KEY")"
+
+			echo "$info"
+			echo "Signature: 1;$KEYNAME;$signature"
+
+		else
+			exit 1
+		fi
+		;;
+	*.nar.xz)
+		path="$STORE_DIR${QUERY_STRING%.nar.xz}"
+		if [ -n "$path" ] && [ -e "$path" ]; then
+			header
+			@nix@/nix-store --dump "$path" | @xz@/xz
+		else
+			exit 1
+		fi
+		;;
+	*.nar.bzip2)
+		path="$STORE_DIR${QUERY_STRING%.nar.bzip2}"
+		echo "$path" >&2;
+		if [ -n "$path" ] && [ -e "$path" ]; then
+			header
+			@nix@/nix-store --dump "$path" | @bzip2@/bzip2
+		else
+			exit 1
+		fi
+		;;
+esac
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
new file mode 100644
index 00000000000..f95272b7e8a
--- /dev/null
+++ b/pkgs/servers/http/openresty/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, gd, geoip
+, perl }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "openresty-${version}";
+  version = "1.7.4.1rc1";
+
+  src = fetchurl {
+    url = "http://openresty.org/download/ngx_openresty-${version}.tar.gz";
+    sha256 = "1j976kmbdv07j3n7bwkpdrjs8hlm13mzzdmfbsfwyxpnk034v0j1";
+  };
+
+  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ];
+
+  configureFlags = [
+    "--with-pcre-jit"
+    "--with-http_ssl_module"
+    "--with-http_spdy_module"
+    "--with-http_realip_module"
+    "--with-http_addition_module"
+    "--with-http_xslt_module"
+    "--with-http_image_filter_module"
+    "--with-http_geoip_module"
+    "--with-http_sub_module"
+    "--with-http_dav_module"
+    "--with-http_flv_module"
+    "--with-http_mp4_module"
+    "--with-http_gunzip_module"
+    "--with-http_gzip_static_module"
+    "--with-http_auth_request_module"
+    "--with-http_random_index_module"
+    "--with-http_secure_link_module"
+    "--with-http_degradation_module"
+    "--with-http_stub_status_module"
+    "--with-ipv6"
+  ];
+
+  postInstall = ''
+    mv $out/nginx/sbin $out/bin
+    ln -s $out/bin/nginx $out/bin/openresty
+    mv $out/luajit/bin/luajit-2.1.0-alpha $out/bin/luajit-openresty
+  '';
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
+    export PATH="$PATH:${stdenv.gcc.libc}/sbin"
+  '';
+
+  meta = {
+    description = "A fast web application server built on Nginx";
+    homepage    = http://openresty.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/servers/http/spawn-fcgi/default.nix b/pkgs/servers/http/spawn-fcgi/default.nix
new file mode 100644
index 00000000000..b39e2b8fbf7
--- /dev/null
+++ b/pkgs/servers/http/spawn-fcgi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchsvn, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "spawn-fcgi-${version}";
+  version = "1.6.4";
+
+  src = fetchsvn {
+    url = "svn://svn.lighttpd.net/spawn-fcgi/tags/spawn-fcgi-${version}";
+    sha256 = "07r6nwbg4881mdgp0hqh80c4x9wb7jg6cgc84ghwhfbd2abc2iq5";
+  };
+
+  buildInputs = [ automake autoconf ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = "http://redmine.lighttpd.net/projects/spawn-fcgi";
+    description = "Provides an interface to external programs that support the FastCGI interface";
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/servers/http/thttpd/default.nix b/pkgs/servers/http/thttpd/default.nix
index e03183cbe49..0bb3d96b37b 100644
--- a/pkgs/servers/http/thttpd/default.nix
+++ b/pkgs/servers/http/thttpd/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = ''
-    ensureDir "$out/man/man1"
+    mkdir -p "$out/man/man1"
     sed -i -e 's/-o bin -g bin *//' Makefile
     sed -i -e '/chgrp/d' extras/Makefile
   '';
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index 79393a5d7cf..ee0049ce08f 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "6.0.32"; in
+let version = "6.0.39"; in
 
 stdenv.mkDerivation rec {
   name = "apache-tomcat-${version}";
 
   src = fetchurl {
     url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz";
-    sha256 = "505e649d1ffcf746e66be8295c8244a2949349dedf678e9f2a659c4736968c5e";
+    sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy";
   };
 
   installPhase =
diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix
index 0208420d132..cf64ba2d3c6 100644
--- a/pkgs/servers/http/tomcat/axis2/default.nix
+++ b/pkgs/servers/http/tomcat/axis2/default.nix
@@ -1,13 +1,17 @@
 {stdenv, fetchurl, apacheAnt, jdk, unzip}:
 
 stdenv.mkDerivation {
-  name = "axis2-1.6.1";
+  name = "axis2-1.6.2";
 
   src = fetchurl {
-    url = http://apache.mirror.versatel.nl//axis/axis2/java/core/1.6.1/axis2-1.6.1-bin.zip;
-    sha256 = "1a0p85qh9924dv3y7zivf62hy1jzdaxnndqh93g6lndmacfhkk64";
+    url = http://apache.proserve.nl/axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip;
+    sha256 = "02i6fv11ksd5ql81i501bcb11ib5gyhq3zxwrz5jm4ic80r097fp";
   };
 
   buildInputs = [ unzip apacheAnt jdk ];
   builder = ./builder.sh;
+
+  meta = {
+    description = "Web Services / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack";
+  };
 }
diff --git a/pkgs/servers/http/winstone/default.nix b/pkgs/servers/http/winstone/default.nix
new file mode 100644
index 00000000000..8991a220a76
--- /dev/null
+++ b/pkgs/servers/http/winstone/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "winstone-${version}";
+  version = "0.9.10";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/winstone/${name}.jar";
+    sha256 = "17xvq3yk95335c6ag1bmbmxlvh7gqq35ifi64r2l6rnvrf6pqyan";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp $src $out/lib/winstone.jar
+  '';
+
+  meta = {
+    homepage = "http://winstone.sourceforge.net/";
+    description = "A simple Java Servlet container.";
+    license = stdenv.lib.licenses.cddl;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+}
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 7828cf84398..933df2d0e36 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yaws-${version}";
-  version = "1.95";
+  version = "1.98";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "01jlp6v8l95n9k5rbp4kvklnh95q7yv9lp2a6ahyixb1cn1sxvz4";
+    sha256 = "0c88da7gxha7an3c82j5a3r1y0j7cjq66zqfrzjihg8pwp618zfl";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://http://yaws.hyber.org;
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu the-kenny ];
   };
 
 }
diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix
new file mode 100644
index 00000000000..738881e2aaf
--- /dev/null
+++ b/pkgs/servers/irc/ngircd/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, zlib, openssl, pam, libiconvOrNull }:
+
+stdenv.mkDerivation rec {
+  name = "ngircd-21";
+
+  src = fetchurl {
+    url = "http://ngircd.barton.de/pub/ngircd/${name}.tar.xz";
+    sha256 = "19llx54zy6hc8k7kcs1f234qc20mqpnlnb30c663c42jxq5x6xii";
+  };
+
+  configureFlags = [
+    "--with-syslog"
+    "--with-zlib"
+    "--with-pam"
+    "--with-openssl"
+    "--enable-ipv6"
+    "--with-iconv"
+  ];
+
+  buildInputs = [ zlib pam openssl libiconvOrNull ];
+
+  meta = {
+    description = "Next Generation IRC Daemon";
+    homepage    = http://ngircd.barton.de;
+    license     = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/servers/kippo/default.nix b/pkgs/servers/kippo/default.nix
new file mode 100644
index 00000000000..cadf6e71691
--- /dev/null
+++ b/pkgs/servers/kippo/default.nix
@@ -0,0 +1,65 @@
+# This is the installation portion of kippo.
+# This is somewhat jumbled together. There is no "easy_install" for kippo,
+# and there isn't a way to regenerate the twistd plugin cache.
+#
+# Use the services.kippo options to properly configure if on NixOS.
+# On other platforms there is a problem with hardcoded paths.
+# Your best bet is to change kippo source to customise
+# or manually copy the proper filesystems.
+# At a minimum the following are required in  /var/lib/kippo:
+#     honeyfs/
+#     fs.pickle
+#     data/
+#     txtcmds/
+#
+# There is also benefit in preparing /var/log/kippo
+#     tty/
+#     dl/
+#
+# Most of these files need read/write permissions.
+#
+# Read only files: kippo.tac and kippo.cfg
+#
+# Execution may look like this:
+# twistd -y kippo.tac --syslog --pidfile=kippo.pid
+#
+# Use this package at your own risk.
+
+{stdenv, pkgs, config, fetchurl, ... }:
+
+stdenv.mkDerivation rec {
+    name = "kippo-${version}";
+    version = "0.8";
+    src = fetchurl {
+      url = "https://kippo.googlecode.com/files/kippo-${version}.tar.gz";
+      sha1 = "f57a5cf88171cb005afe44a4b33cb16f825c33d6";
+    };
+    buildInputs = with pkgs.pythonPackages; [ pycrypto pyasn1 twisted ];
+    installPhase = ''
+        substituteInPlace ./kippo.tac --replace "kippo.cfg" "$out/src/kippo.cfg"
+        substituteInPlace ./kippo.cfg --replace "log_path = log" "log_path = /var/log/kippo" \
+            --replace "download_path = dl" "download_path = /var/log/kippo/dl" \
+            --replace "contents_path = honeyfs" "filesystem_file = /var/lib/kippo/honeyfs" \
+            --replace "filesystem_file = fs.pickle" "filesystem_file = /var/lib/kippo/fs.pickle" \
+            --replace "data_path = data" "data_path = /var/lib/kippo/data" \
+            --replace "txtcmds_path = txtcmds" "txtcmds_path = /var/lib/kippo/txtcmds" \
+            --replace "public_key = public.key" "public_key = /var/lib/kippo/keys/public.key" \
+            --replace "private_key = private.key" "private_key = /var/lib/kippo/keys/private.key" 
+        mkdir -p $out/bin
+        mkdir -p $out/src
+        mv ./* $out/src 
+        mv $out/src/utils/* $out/bin
+        '';
+
+    meta = {
+      homepage = https://code.google.com/p/kippo;
+      description = "SSH Honeypot";
+      longDescription = ''
+        Default port is 2222. Recommend using something like this for port redirection to default SSH port:
+        networking.firewall.extraCommands = '''
+        iptables -t nat -A PREROUTING -i IN_IFACE -p tcp --dport 22 -j REDIRECT --to-port 2222''' '';
+      license = stdenv.lib.licenses.bsd3;
+      platforms = pkgs.stdenv.lib.platforms.linux;
+      maintainers = pkgs.stdenv.lib.maintainers.tomberek;
+    };
+}
diff --git a/pkgs/servers/mail/dovecot-pigeonhole/default.nix b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
index 5c0f39ca135..3ee73520d7a 100644
--- a/pkgs/servers/mail/dovecot-pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchurl {
-    url = "http://www.rename-it.nl/dovecot/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz";
-    sha256 = "04rybb7ipsrhqapcqfr787n60lwd56gb33ylq7yqjr5q6xqg1684";
+    url = "http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz";
+    sha256 = "0mypnkc980s3kd1bmy4f93dliwg6n8jfsac8r51jrpvv0ymz94nn";
   };  
 
   buildInputs = [ dovecot22 openssl ];
diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
index cce63fe250c..3ba11d41b1b 100644
--- a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
+++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
@@ -1,6 +1,6 @@
-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
+diff -ur dovecot-2.2.12-orig/src/auth/main.c dovecot-2.2.12/src/auth/main.c
+--- dovecot-2.2.12-orig/src/auth/main.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/auth/main.c	2014-03-14 09:28:17.642334838 +0100
 @@ -193,7 +193,7 @@
  	mod_set.debug = global_auth_settings->debug;
  	mod_set.filter_callback = auth_module_filter;
@@ -19,10 +19,10 @@ diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c
  					  &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 @@
+diff -ur dovecot-2.2.12-orig/src/config/all-settings.c dovecot-2.2.12/src/config/all-settings.c
+--- dovecot-2.2.12-orig/src/config/all-settings.c	2014-02-11 23:31:37.000000000 +0100
++++ dovecot-2.2.12/src/config/all-settings.c	2014-03-14 09:32:08.907608311 +0100
+@@ -773,7 +773,7 @@
  	.last_valid_gid = 0,
  
  	.mail_plugins = "",
@@ -31,18 +31,19 @@ diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/a
  
  	.mail_log_prefix = "%s(%u): ",
  
-@@ -3274,7 +3274,7 @@
+@@ -3304,7 +3304,7 @@
  	.base_dir = PKG_RUNDIR,
  	.libexec_dir = PKG_LIBEXECDIR,
  	.mail_plugins = "",
 -	.mail_plugin_dir = MODULEDIR,
 +	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 	.auth_socket_path = "auth-userdb",
  	.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
+Only in dovecot-2.2.12/src/config: all-settings.c.orig
+diff -ur dovecot-2.2.12-orig/src/config/config-parser.c dovecot-2.2.12/src/config/config-parser.c
+--- dovecot-2.2.12-orig/src/config/config-parser.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/config/config-parser.c	2014-03-14 09:28:17.645334840 +0100
 @@ -990,7 +990,7 @@
  
  	memset(&mod_set, 0, sizeof(mod_set));
@@ -52,9 +53,9 @@ diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/
  	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
+diff -ur dovecot-2.2.12-orig/src/dict/main.c dovecot-2.2.12/src/dict/main.c
+--- dovecot-2.2.12-orig/src/dict/main.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/dict/main.c	2014-03-14 09:28:17.645334840 +0100
 @@ -61,7 +61,7 @@
  	mod_set.abi_version = DOVECOT_ABI_VERSION;
  	mod_set.require_init_funcs = TRUE;
@@ -64,22 +65,23 @@ diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c
  	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 @@
+diff -ur dovecot-2.2.12-orig/src/doveadm/doveadm-settings.c dovecot-2.2.12/src/doveadm/doveadm-settings.c
+--- dovecot-2.2.12-orig/src/doveadm/doveadm-settings.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/doveadm/doveadm-settings.c	2014-03-14 09:32:56.540087069 +0100
+@@ -77,7 +77,7 @@
  	.base_dir = PKG_RUNDIR,
  	.libexec_dir = PKG_LIBEXECDIR,
  	.mail_plugins = "",
 -	.mail_plugin_dir = MODULEDIR,
 +	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 	.auth_socket_path = "auth-userdb",
  	.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 @@
+Only in dovecot-2.2.12/src/doveadm: doveadm-settings.c.orig
+diff -ur dovecot-2.2.12-orig/src/lib-fs/fs-api.c dovecot-2.2.12/src/lib-fs/fs-api.c
+--- dovecot-2.2.12-orig/src/lib-fs/fs-api.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/lib-fs/fs-api.c	2014-03-14 09:28:17.646334843 +0100
+@@ -89,7 +89,7 @@
  	mod_set.abi_version = DOVECOT_ABI_VERSION;
  	mod_set.ignore_missing = TRUE;
  
@@ -88,10 +90,11 @@ diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api.
  					     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 @@
+Only in dovecot-2.2.12/src/lib-fs: fs-api.c.orig
+diff -ur dovecot-2.2.12-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.12/src/lib-ssl-iostream/iostream-ssl.c
+--- dovecot-2.2.12-orig/src/lib-ssl-iostream/iostream-ssl.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/lib-ssl-iostream/iostream-ssl.c	2014-03-14 09:28:17.646334843 +0100
+@@ -30,7 +30,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>";
@@ -100,10 +103,11 @@ diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/sr
  
  	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 @@
+Only in dovecot-2.2.12/src/lib-ssl-iostream: iostream-ssl.c.orig
+diff -ur dovecot-2.2.12-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.12/src/lib-storage/mail-storage-settings.c
+--- dovecot-2.2.12-orig/src/lib-storage/mail-storage-settings.c	2014-02-11 23:23:37.000000000 +0100
++++ dovecot-2.2.12/src/lib-storage/mail-storage-settings.c	2014-03-14 09:28:17.646334843 +0100
+@@ -262,7 +262,7 @@
  	.last_valid_gid = 0,
  
  	.mail_plugins = "",
@@ -112,3 +116,4 @@ diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.
  
  	.mail_log_prefix = "%s(%u): ",
  
+Only in dovecot-2.2.12/src/lib-storage: mail-storage-settings.c.orig
diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix
index 06635e33954..0c12b6ba3db 100644
--- a/pkgs/servers/mail/dovecot/2.2.x.nix
+++ b/pkgs/servers/mail/dovecot/2.2.x.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap
-, inotifyTools }:
+, inotifyTools, clucene_core_2, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.2.6";
+  name = "dovecot-2.2.13";
 
-  buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools];
+  buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2 sqlite]
+    ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ];
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
-    sha256 = "1rfnsg0a57cv02pl68h3jhbd5v3071a75bvf9gs95fd41g72n9v2";
+    sha256 = "1klxbnlgqvq4v2inp18yv3x04xp0vf8nr67ci1k3yww1mb9g6g0k";
   };
 
   preConfigure = ''
@@ -16,6 +17,15 @@ stdenv.mkDerivation rec {
       "/usr/bin/env perl" "${perl}/bin/perl"
   '';
 
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change libclucene-shared.1.dylib \
+        ${clucene_core_2}/lib/libclucene-shared.1.dylib \
+        $out/lib/dovecot/lib21_fts_lucene_plugin.so
+    install_name_tool -change libclucene-core.1.dylib \
+        ${clucene_core_2}/lib/libclucene-core.1.dylib \
+        $out/lib/dovecot/lib21_fts_lucene_plugin.so
+  '';
+
   patches = [
     # Make dovecot look for plugins in /var/lib/dovecot/modules
     # so we can symlink plugins from several packages there
@@ -28,14 +38,20 @@ stdenv.mkDerivation rec {
     # 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"
+    "--with-lucene"
+    "--with-ssl=openssl"
+    "--with-sqlite"
+    "--with-zlib"
+    "--with-bzlib"
+  ] ++ stdenv.lib.optionals (stdenv.isLinux) [
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
   ];
 
   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;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index cb29c9ebc89..5f779c75472 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.1.8";
+  name = "dovecot-2.1.17";
 
   buildInputs = [openssl pam bzip2 zlib inotifyTools openldap];
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.1/${name}.tar.gz";
-    sha256 = "03801f4agcwdpqyg6dfxlga3750pnhk4gaf8m7sjq1qmz2277028";
+    sha256 = "06j2s5bcrmc0dhjsyavqiss3k65p6xn00a7sffpsv6w3yngv777m";
   };
 
   # It will hardcode this for /var/lib/dovecot.
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     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];
-    platforms = with stdenv.lib.platforms; linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 
 }
diff --git a/pkgs/servers/mail/freepops/default.nix b/pkgs/servers/mail/freepops/default.nix
index c80d0f04bda..a96e4cb37c0 100644
--- a/pkgs/servers/mail/freepops/default.nix
+++ b/pkgs/servers/mail/freepops/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     homepage = http://www.freepops.org/;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [ pierron ];
+    broken = true;
   };
 }
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index cda5dba32e0..6442c6f2621 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "mailman-2.1.16";
+  name = "mailman-2.1.17";
 
   src = fetchurl {
     url = "mirror://gnu/mailman/${name}.tgz";
-    sha256 = "0qsgnqjfi07kdiwzik0i78a5q3q5kcw1r61g48abix9qjc32n5ax";
+    sha256 = "1rws4ghpq78ldp1si3z4pmiv1k4l8g6i6hjb2y4cwsjlxssahc64";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index fc518e4f889..522d0b60f00 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libevent, zlib, openssl, db4, bison, pam }:
+{ stdenv, fetchurl, libevent, zlib, openssl, db, bison, pam }:
 
 stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  version = "201307151923p1";
+  version = "5.4.2p1";
 
-  buildInputs = [ libevent zlib openssl db4 bison pam ];
+  buildInputs = [ libevent zlib openssl db bison pam ];
 
   src = fetchurl {
     url = "http://www.opensmtpd.org/archives/${name}.tar.gz";
-    sha256 = "0cggq60zzz5mgj093pmgwjp4bm6znnhyv6ibp1vhkba7cxjavr4g";
+    sha256 = "18nrzfjhv9znb5dbhc5k3fi31a3vr1r8j36q3fzghkh47n6z9yjg";
   };  
 
   configureFlags = [ 
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     "--with-sock-dir=/run"
     "--with-privsep-user=smtpd"
     "--with-queue-user=smtpq"
+    "--with-ca-file=/etc/ssl/certs/ca-bundle.crt"
   ];  
 
   meta = {
diff --git a/pkgs/servers/mail/popa3d/default.nix b/pkgs/servers/mail/popa3d/default.nix
index 25ac0d5f9e3..3dcfa3a22db 100644
--- a/pkgs/servers/mail/popa3d/default.nix
+++ b/pkgs/servers/mail/popa3d/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "popa3d-1.0.2";
+  name = "popa3d-1.0.3";
 
   src = fetchurl {
     url = "http://www.openwall.com/popa3d/${name}.tar.gz";
-    sha256 = "0zvspgnlrx4jhhkb5b1p280nsf9d558jijgpvwfyvdp4q4v460z7";
+    sha256 = "1g48cd74sqhl496wmljhq44iyfpghaz363a1ip8nyhpjz7d57f03";
   };
 
   buildInputs = [ openssl ];
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.openwall.com/popa3d/";
-    description = "tiny POP3 daemon with security as the primary goal";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    description = "Tiny POP3 daemon with security as the primary goal";
   };
 }
diff --git a/pkgs/servers/mail/postfix/2.11.nix b/pkgs/servers/mail/postfix/2.11.nix
new file mode 100644
index 00000000000..3651b1b74a4
--- /dev/null
+++ b/pkgs/servers/mail/postfix/2.11.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, coreutils
+, findutils, gnugrep, gawk
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "postfix-${version}";
+
+  version = "2.11.1";
+
+  src = fetchurl {
+    url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
+    sha256 = "1ql9cifjcfhfi81lrf6zvk0r3spgcp01xwna16a7k9cm7fkrhzs8";
+  };
+
+  patches = [ ./postfix-2.11.0.patch ];
+
+  buildInputs = [ makeWrapper gnused db openssl cyrus_sasl ];
+
+  preBuild = ''
+    sed -e '/^PATH=/d' -i postfix-install
+
+    export command_directory=$out/sbin
+    export config_directory=$out/etc/postfix
+    export daemon_directory=$out/libexec/postfix
+    export data_directory=/var/lib/postfix
+    export html_directory=$out/share/postfix/doc/html
+    export mailq_path=$out/bin/mailq
+    export manpage_directory=$out/share/man
+    export newaliases_path=$out/bin/newaliases
+    export queue_directory=/var/spool/postfix
+    export readme_directory=$out/share/postfix/doc
+    export sendmail_path=$out/bin/sendmail
+
+    make makefiles \
+      CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl' \
+      AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl'
+  '';
+
+  installTargets = [ "non-interactive-package" ];
+
+  installFlags = [ " install_root=$out " ];
+
+  postInstall = ''
+    mkdir -p $out
+    mv -v ut/$out/* $out/
+    sed -e '/^PATH=/d' -i $out/libexec/postfix/post-install
+    wrapProgram $out/libexec/postfix/post-install \
+      --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin
+    wrapProgram $out/libexec/postfix/postfix-script \
+      --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin:${gawk}/bin:${gnused}/bin
+  '';
+
+  meta = {
+    homepage = "http://www.postfix.org/";
+    description = "A fast, easy to administer, and secure mail server";
+    license = stdenv.lib.licenses.bsdOriginal;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+
+}
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index a435eea8663..0bfc31580e1 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, db4, glibc, openssl, cyrus_sasl
+{ stdenv, fetchurl, db, glibc, openssl, cyrus_sasl
 , coreutils, findutils, gnused, gnugrep, bison, perl
 }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "11z07mjy53l1fnl7k4101yk4ilibgqr1164628mqcbmmr8bh2szl";
   };
 
-  buildInputs = [db4 openssl cyrus_sasl bison perl];
+  buildInputs = [db openssl cyrus_sasl bison perl];
 
   patches = [ ./postfix-2.2.9-db.patch  ./postfix-2.2.9-lib.patch ./db-linux3.patch ];
 
diff --git a/pkgs/servers/mail/postfix/postfix-2.11.0.patch b/pkgs/servers/mail/postfix/postfix-2.11.0.patch
new file mode 100644
index 00000000000..cdc4521c428
--- /dev/null
+++ b/pkgs/servers/mail/postfix/postfix-2.11.0.patch
@@ -0,0 +1,76 @@
+diff -ruN postfix-2.11.0-orig/makedefs postfix-2.11.0/makedefs
+--- postfix-2.11.0-orig/makedefs	2014-01-05 18:18:56.000000000 +0100
++++ postfix-2.11.0/makedefs	2014-04-24 09:27:58.193869491 +0200
+@@ -290,36 +290,6 @@
+ 		esac
+ 		;;
+     Linux.2*)	SYSTYPE=LINUX2
+-		case "$CCARGS" in
+-		 *-DNO_DB*) ;;
+-		 *-DHAS_DB*) ;;
+-		 *) if [ -f /usr/include/db.h ]
+-		    then
+-			: we are all set
+-		    elif [ -f /usr/include/db/db.h ]
+-		    then
+-			CCARGS="$CCARGS -I/usr/include/db"
+-		    else
+-			# No, we're not going to try db1 db2 db3 etc.
+-			# On a properly installed system, Postfix builds
+-			# by including <db.h> and by linking with -ldb
+-			echo "No <db.h> include file found." 1>&2
+-			echo "Install the appropriate db*-devel package first." 1>&2
+-			exit 1
+-		    fi
+-		    SYSLIBS="-ldb"
+-		    ;;
+-		esac
+-		for name in nsl resolv $GDBM_LIBS
+-		do
+-		    for lib in /usr/lib64 /lib64 /usr/lib /lib
+-		    do
+-			test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+-			    SYSLIBS="$SYSLIBS -l$name"
+-			    break
+-			}
+-		    done
+-		done
+ 		# Kernel 2.4 added IPv6
+ 		case "$RELEASE" in
+ 		2.[0-3].*) CCARGS="$CCARGS -DNO_IPV6";;
+@@ -363,35 +333,6 @@
+ 		esac
+ 		;;
+     Linux.3*)	SYSTYPE=LINUX3
+-		case "$CCARGS" in
+-		 *-DNO_DB*) ;;
+-		 *-DHAS_DB*) ;;
+-		 *) if [ -f /usr/include/db.h ]
+-		    then
+-			: we are all set
+-		    elif [ -f /usr/include/db/db.h ]
+-		    then
+-			CCARGS="$CCARGS -I/usr/include/db"
+-		    else
+-			# On a properly installed system, Postfix builds
+-			# by including <db.h> and by linking with -ldb
+-			echo "No <db.h> include file found." 1>&2
+-			echo "Install the appropriate db*-devel package first." 1>&2
+-			exit 1
+-		    fi
+-		    SYSLIBS="-ldb"
+-		    ;;
+-		esac
+-		for name in nsl resolv
+-		do
+-		    for lib in /usr/lib64 /lib64 /usr/lib /usr/lib/* /lib /lib/*
+-		    do
+-			test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+-			    SYSLIBS="$SYSLIBS -l$name"
+-			    break
+-			}
+-		    done
+-		done
+ 		;;
+      GNU.0*|GNU/kFreeBSD.[567]*)
+ 		SYSTYPE=GNU0
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index dc316267e6c..ea69d036f95 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -13,11 +13,11 @@
 #
 
 buildPerlPackage rec {
-  name = "SpamAssassin-3.3.2";
+  name = "SpamAssassin-3.4.0";
 
   src = fetchurl {
-    url = "http://apache.imsam.info/spamassassin/source/Mail-${name}.tar.bz2";
-    sha256 = "01d2jcpy423zfnhg123wlhzysih1hmb93nxfspiaajzh9r5rn8y7";
+    url = "mirror://apache/spamassassin/source/Mail-${name}.tar.bz2";
+    sha256 = "0527rv6m5qd41l756fqh9q7sm9m2xfhhy2jchlhbmd39x6x3jfsm";
   };
 
   buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM
diff --git a/pkgs/servers/mediatomb/default.nix b/pkgs/servers/mediatomb/default.nix
index e531f6160ff..d88e1dd9e14 100644
--- a/pkgs/servers/mediatomb/default.nix
+++ b/pkgs/servers/mediatomb/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl
 , sqlite, expat, spidermonkey, taglib, libexif, curl, ffmpeg, file }:
+
 stdenv.mkDerivation rec {
 
   name = "mediatomb-${version}";
@@ -18,9 +19,10 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://mediatomb.cc;
-    description = "UPnP MediaServer with a web user interface,";
+    description = "UPnP MediaServer with a web user interface";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 1c3c3f706e4..b45bef0cce8 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,17 +1,18 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
-stdenv.mkDerivation {
-  name = "memcached-1.4.15";
+stdenv.mkDerivation rec {
+  name = "memcached-1.4.17";
 
   src = fetchurl {
-    url = http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz;
-    sha256 = "1d7205cp49s379fdy2qz1gz2a5v4nnv18swzmvbascbmgamj35qn";
+    url = "http://memcached.org/files/${name}.tar.gz";
+    sha1 = "2b4fc706d39579cf355e3358cfd27b44d40bd79c";
   };
 
   buildInputs = [cyrus_sasl libevent];
 
   meta = {
     description = "A distributed memory object caching system";
+    repositories.git = https://github.com/memcached/memcached.git;
     homepage = http://memcached.org/;
     license = "bsd";
     maintainers = [ stdenv.lib.maintainers.coconnor ];
diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix
new file mode 100644
index 00000000000..0fdcf5f2f3b
--- /dev/null
+++ b/pkgs/servers/misc/taskserver/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cmake, libuuid, gnutls }:
+
+stdenv.mkDerivation rec {
+  name = "taskserver-${version}";
+  version = "1.0.0";
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = "http://www.taskwarrior.org/download/taskd-${version}.tar.gz";
+    sha256 = "162ef1eec48f8145870ef0dbe0121b78a6da99815bc18af77de07fbb0abe02d0";
+  };
+
+  nativeBuildInputs = [ cmake libuuid gnutls ];
+
+  meta = {
+    description = "Server for synchronising Taskwarrior clients";
+    homepage = http://taskwarrior.org;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 4f16ab35527..245c838607f 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages
-, python, ruby, openjdk, nettools }:
+, python, ruby, openjdk, nettools
+}:
 
 stdenv.mkDerivation rec {
-  version = "2.0.17";
+  version = "2.0.21";
   name = "munin-${version}";
 
   src = fetchurl {
     url = "https://github.com/munin-monitoring/munin/archive/${version}.tar.gz";
-    sha256 = "0xfml2r6nssn3lcfqcf3yshxfijyrf9frnhdp83mg6raaznlhx1z";
+    sha256 = "18ipk8n78iik07190h9r8mj5209ha6yhbiw7da0l4khw0y00cvf8";
   };
 
   buildInputs = [ 
@@ -67,7 +68,8 @@ stdenv.mkDerivation rec {
 
   preBuild = ''
     substituteInPlace "Makefile" \
-      --replace "/bin/pwd" "pwd"
+      --replace "/bin/pwd" "pwd" \
+      --replace "HTMLOld.3pm" "HTMLOld.3"
 
     # munin checks at build time if user/group exists, unpure
     sed -i '/CHECKUSER/d' Makefile
@@ -97,18 +99,17 @@ stdenv.mkDerivation rec {
         ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
     fi
 
-    # TODO: toPerlLibPath can be added to
-    # pkgs/development/interpreters/perl5.16/setup-hook.sh (and the other perl
-    # versions) just like for python. NOTE: it causes massive rebuilds.
-    # $(toPerlLibPath $out perlPackages.Log4Perl ...)
-
     for file in "$out"/bin/munindoc "$out"/sbin/munin-* "$out"/lib/munin-* "$out"/www/cgi/*; do
         # don't wrap .jar files
         case "$file" in
             *.jar) continue;;
         esac
         wrapProgram "$file" \
-          --set PERL5LIB "$out/lib/perl5/site_perl:${perlPackages.Log4Perl}/lib/perl5/site_perl:${perlPackages.IOSocketInet6}/lib/perl5/site_perl:${perlPackages.Socket6}/lib/perl5/site_perl:${perlPackages.URI}/lib/perl5/site_perl:${perlPackages.DBFile}/lib/perl5/site_perl:${perlPackages.DateManip}/lib/perl5/site_perl:${perlPackages.HTMLTemplate}/lib/perl5/site_perl:${perlPackages.FileCopyRecursive}/lib/perl5/site_perl:${perlPackages.FCGI}/lib/perl5/site_perl:${perlPackages.NetSNMP}/lib/perl5/site_perl:${perlPackages.NetServer}/lib/perl5/site_perl:${perlPackages.ListMoreUtils}/lib/perl5/site_perl:${perlPackages.TimeHiRes}/lib/perl5/site_perl:${rrdtool}/lib/perl:${perlPackages.DBDPg}/lib/perl5/site_perl:${perlPackages.LWPUserAgent}/lib/perl5/site_perl"
+          --set PERL5LIB "$out/lib/perl5/site_perl:${with perlPackages; stdenv.lib.makePerlPath [
+                Log4Perl IOSocketInet6 Socket6 URI DBFile DateManip
+                HTMLTemplate FileCopyRecursive FCGI NetSNMP NetServer
+                ListMoreUtils TimeHiRes DBDPg LWPUserAgent
+                ]}"
     done
   '';
 
diff --git a/pkgs/servers/monitoring/nagios/default.nix b/pkgs/servers/monitoring/nagios/default.nix
index dba063bb106..bf43a93a81b 100644
--- a/pkgs/servers/monitoring/nagios/default.nix
+++ b/pkgs/servers/monitoring/nagios/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchurl, perl, gdSupport ? false
-, gd ? null, libpng ? null, zlib ? null
-}:
+{ stdenv, fetchurl, perl, php, gd, libpng, zlib }:
 
-stdenv.mkDerivation {
-  name = "nagios-2.10";
+stdenv.mkDerivation rec {
+  name = "nagios-${version}";
+  version = "4.0.8";
 
   src = fetchurl {
-    url = mirror://sourceforge/nagios/nagios-2.10.tar.gz;
-    md5 = "8c3a29e138f2ff8c8abbd3dd8a40c4b6";
+    url = "mirror://sourceforge/nagios/nagios-4.x/${name}/${name}.tar.gz";
+    sha256 = "0jyad39wa318613awlnpczrrakvjcipz8qp1mdsig1cp1hjqs9lb";
   };
 
-  patches = [./nagios.patch];
-  buildInputs = [perl] ++ (if gdSupport then [gd libpng zlib] else []);
+  patches = [ ./nagios.patch ];
+  buildInputs = [ php perl gd libpng zlib ];
+
+  configureFlags = [ "--localstatedir=/var/lib/nagios" ];
   buildFlags = "all";
+
+  # Do not create /var directories
+  preInstall = ''
+    substituteInPlace Makefile --replace '$(MAKE) install-basic' ""
+  '';
   installTargets = "install install-config";
 
   meta = {
     description = "A host, service and network monitoring program";
-    homepage = http://www.nagios.org/;
-    license = "GPL";
+    homepage    = http://www.nagios.org/;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice relrod ];
   };
 }
diff --git a/pkgs/servers/monitoring/nagios/nagios.patch b/pkgs/servers/monitoring/nagios/nagios.patch
index 6fc27153617..cec4c4942b5 100644
--- a/pkgs/servers/monitoring/nagios/nagios.patch
+++ b/pkgs/servers/monitoring/nagios/nagios.patch
@@ -1,7 +1,7 @@
-diff -ruN nagios-2.6/configure nagios-2.6.new/configure
---- nagios-2.6/configure	2006-11-28 03:29:04.000000000 +0100
-+++ nagios-2.6.new/configure	2006-12-28 01:22:56.000000000 +0100
-@@ -4810,7 +4810,8 @@
+diff -ruN nagios-4.0.7.orig/configure nagios-4.0.7/configure
+--- nagios-4.0.7.orig/configure	2014-06-03 10:41:42.000000000 -0400
++++ nagios-4.0.7/configure	2014-06-12 00:30:17.516468583 -0400
+@@ -6014,7 +6014,8 @@
  #define DEFAULT_NAGIOS_GROUP "$nagios_grp"
  _ACEOF
  
@@ -11,3 +11,13 @@ diff -ruN nagios-2.6/configure nagios-2.6.new/configure
  
  
  
+@@ -6035,7 +6036,8 @@
+ 
+ 
+ 
+-COMMAND_OPTS="-o $command_user -g $command_grp"
++#COMMAND_OPTS="-o $command_user -g $command_grp"
++COMMAND_OPTS=""
+ 
+ 
+ MAIL_PROG=no
diff --git a/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix b/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix
new file mode 100644
index 00000000000..79180f17241
--- /dev/null
+++ b/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, openssh }:
+
+stdenv.mkDerivation rec {
+  name = "nagios-plugins-${version}";
+  version = "2.0.3";
+
+  src = fetchurl {
+    url = "http://nagios-plugins.org/download/${name}.tar.gz";
+    sha256 = "0jm0mn55hqwl8ffx8ww9mql2wrkhp1h2k8jw53q3h0ff5m22204g";
+  };
+
+  # !!! Awful hack. Grrr... this of course only works on NixOS.
+  # Anyway the check that configure performs to figure out the ping
+  # syntax is totally impure, because it runs an actual ping to
+  # localhost (which won't work for ping6 if IPv6 support isn't
+  # configured on the build machine).
+  preConfigure= "
+    configureFlagsArray=(
+      --with-ping-command='/var/setuid-wrappers/ping -n -U -w %d -c %d %s'
+      --with-ping6-command='/var/setuid-wrappers/ping6 -n -U -w %d -c %d %s'
+    )
+  ";
+
+  postInstall = "ln -s libexec $out/bin";
+
+  # !!! make openssh a runtime dependency only
+  buildInputs = [ openssh ];
+
+  meta = {
+    description = "Official plugins for Nagios";
+    homepage    = http://www.nagios.org/download/plugins;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice relrod ];
+  };
+}
diff --git a/pkgs/servers/monitoring/nagios/plugins/official/default.nix b/pkgs/servers/monitoring/nagios/plugins/official/default.nix
deleted file mode 100644
index 29eb7bbb7a0..00000000000
--- a/pkgs/servers/monitoring/nagios/plugins/official/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{stdenv, fetchurl, openssh}:
-
-stdenv.mkDerivation {
-  name = "nagios-plugins-1.4.10";
-
-  src = fetchurl {
-    url = mirror://sourceforge/nagiosplug/nagios-plugins-1.4.10.tar.gz;
-    sha256 = "0vm7sjiygxbfc5vbsi1g0dakpvynfzi86fhqx4yxd61brn0g8ghr";
-  };
-
-  # !!! Awful hack. Grrr... this of course only works on NixOS.
-  # Anyway the check that configure performs to figure out the ping
-  # syntax is totally impure, because it runs an actual ping to
-  # localhost (which won't work for ping6 if IPv6 support isn't
-  # configured on the build machine).
-  preConfigure= "
-    configureFlagsArray=(
-      --with-ping-command='/var/setuid-wrappers/ping -n -U -w %d -c %d %s'
-      --with-ping6-command='/var/setuid-wrappers/ping6 -n -U -w %d -c %d %s'
-    )
-  ";
-
-  postInstall = "ln -s libexec $out/bin";
-
-  buildInputs = [openssh]; # !!! make openssh a runtime dependency only
-
-  meta = {
-    description = "Official plugins for Nagios";
-    homepage = http://www.nagios.org/;
-    license = "GPL";
-  };
-}
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index a9d1578495a..30317d25cff 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, file, openssl, perl }:
+{ stdenv, fetchurl, autoreconfHook, file, openssl, perl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "net-snmp-5.7.2";
+  name = "net-snmp-5.7.2.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/net-snmp/${name}.tar.gz";
-    sha256 = "05mqrv22c65405d6v91cqf4hvczkkvvyy5lsxw8h8g0zrjs33v89";
+    url = "mirror://sourceforge/net-snmp/${name}.zip";
+    sha256 = "1nj3b2x4fhsh82nra99128vqp2lfw5wx91ka8nqwzxvik59hb4dc";
   };
 
   preConfigure =
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       "--with-persistent-directory=/var/lib/net-snmp"
     ];
 
-  buildInputs = [ file openssl perl ];
+  buildInputs = [ autoreconfHook file openssl perl unzip ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix
new file mode 100644
index 00000000000..e6e15129568
--- /dev/null
+++ b/pkgs/servers/monitoring/seyren/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+  name = "seyren-${version}";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "https://github.com/scobal/seyren/releases/download/${version}/seyren-${version}.jar";
+    sha256 = "14p97yzfyacvavfms8qs3q5515vpfkjlfvislbwrf7qa89xzz8x0";
+  };
+
+  phases = ["installPhase"];
+
+  buildInputs = [ makeWrapper jre src ];
+
+  installPhase = ''
+    mkdir -p "$out"/bin
+    makeWrapper "${jre}/bin/java" "$out"/bin/seyren --add-flags "-jar $src"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An alerting dashboard for Graphite";
+    homepage = https://github.com/scobal/seyren;
+    license = licenses.asl20;
+    maintainers = [ maintainers.offline ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index 1386e1609eb..399fb54875a 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -5,11 +5,12 @@ assert enableJabber -> minmay != null;
 
 let
 
-  version = "2.0.9";
+  version = "2.0.11";
+  branch = "2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "057fjqww0qzs56nm8m3c36kbrhwriysvjvqzgwm9j2bg9ylixvym";
+    sha256 = "1vqxlqwhnz02wrca08vrqbq8k19qp84hbdplmqk7d9699njim46i";
   };
 
   preConfigure =
@@ -61,6 +62,7 @@ in
       '';
 
     meta = {
+      inherit branch;
       description = "An enterprise-class open source distributed monitoring solution";
       homepage = http://www.zabbix.com/;
       license = "GPL";
@@ -77,11 +79,12 @@ in
     configureFlags = "--enable-agent";
 
     meta = {
+      inherit branch;
       description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
       homepage = http://www.zabbix.com/;
       license = "GPL";
       maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix
new file mode 100644
index 00000000000..424001ea377
--- /dev/null
+++ b/pkgs/servers/monitoring/zabbix/2.2.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext
+, enableJabber ? false, minmay ? null }:
+
+assert enableJabber -> minmay != null;
+
+let
+
+  version = "2.2.2";
+  branch = "2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
+    sha256 = "1gmjbjmajdllzd7akihb5kg4l2gf0ii9c16fq8mlla37sshzj3p0";
+  };
+
+  preConfigure =
+    ''
+      substituteInPlace ./configure \
+        --replace " -static" "" \
+        ${stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
+          --replace /usr/include/iconv.h ${stdenv.gcc.libc}/include/iconv.h
+        ''}
+    '';
+
+in
+
+{
+  recurseForDerivations = true;
+
+  server = stdenv.mkDerivation {
+    name = "zabbix-${version}";
+
+    inherit src preConfigure;
+
+    configureFlags = [
+      "--enable-agent"
+      "--enable-server"
+      "--with-postgresql"
+      "--with-libcurl"
+      "--with-gettext"
+    ] ++ 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 ];
+
+    postInstall =
+      ''
+        mkdir -p $out/share/zabbix
+        cp -prvd frontends/php $out/share/zabbix/php
+        mkdir -p $out/share/zabbix/db/data
+        cp -prvd database/postgresql/data.sql $out/share/zabbix/db/data/data.sql
+        cp -prvd database/postgresql/images.sql $out/share/zabbix/db/data/images_pgsql.sql
+        mkdir -p $out/share/zabbix/db/schema
+        cp -prvd database/postgresql/schema.sql $out/share/zabbix/db/schema/postgresql.sql
+      '';
+
+    meta = {
+      inherit branch;
+      description = "An enterprise-class open source distributed monitoring solution";
+      homepage = http://www.zabbix.com/;
+      license = "GPL";
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+  agent = stdenv.mkDerivation {
+    name = "zabbix-agent-${version}";
+
+    inherit src preConfigure;
+
+    configureFlags = "--enable-agent";
+
+    meta = {
+      inherit branch;
+      description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
+      homepage = http://www.zabbix.com/;
+      license = "GPL";
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    };
+  };
+
+}
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index b106921cdf6..1e46ffdbc85 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -2,11 +2,11 @@
 
 let
 
-  version = "1.8.18rc1";
+  version = "1.8.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "1pa4656dcl5r7r36nwk05zy38z49np6j717wjmmd8sqlz6szw01n";
+    sha256 = "0psdvzg5c3yhdqqmy5m1b0j3nrvcshjywhl56igy0j8vj16zxi86";
   };
 
   preConfigure =
@@ -62,7 +62,7 @@ in
       homepage = http://www.zabbix.com/;
       license = "GPL";
       maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
index 612ec0456f2..bbbe54b95fd 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -5,22 +5,22 @@ stdenv.mkDerivation rec {
   name = "libmpdclient-${version}";
 
   src = fetchurl {
-    url = "http://www.musicpd.org/download/libmpdclient/2/${name}.tar.bz2";
-    sha256 = "1qwjkb56rsbk0hwhg7fl15d6sf580a19gh778zcdg374j4yym3hh";
+    url = "http://www.musicpd.org/download/libmpdclient/2/${name}.tar.xz";
+    sha256 = "1jlrfqxqq3gscwrppr2h0xqxd5abl1ypwpwpwnpxs6p9c2jppjbw";
   };
 
   buildInputs = [ doxygen ];
 
   passthru = {
     majorVersion = "2";
-    minorVersion = "8";
+    minorVersion = "9";
   };
 
   meta = {
     description = "Client library for MPD (music player daemon)";
     homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
-    license = "GPLv2";
-    platforms = with stdenv.lib.platforms; linux;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; unix;
     maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 238176aadff..c8a6434cac3 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -8,17 +8,17 @@
 , shoutSupport ? true, libshout
 , sqliteSupport ? true, sqlite
 , curlSupport ? true, curl
-, soupSupport ? true, libsoup
 , audiofileSupport ? true, audiofile
 , bzip2Support ? true, bzip2
-, ffadoSupport ? true, ffado
 , ffmpegSupport ? true, ffmpeg
 , fluidsynthSupport ? true, fluidsynth
 , zipSupport ? true, zziplib
 , samplerateSupport ? true, libsamplerate
 , mmsSupport ? true, libmms
 , mpg123Support ? true, mpg123
-, aacSupport ? true, faad2 }:
+, aacSupport ? true, faad2
+, pulseaudioSupport ? true, pulseaudio
+}:
 
 let
 
@@ -27,10 +27,10 @@ let
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-0.17.4";
+  name = "mpd-0.18.12";
   src = fetchurl {
-    url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
-    sha256 = "06diyprg65xx0c0bgxdwlgrc5bhwy6cf39rabwnv9ikhimh94ir3";
+    url    = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
+    sha256 = "09qphjcpqcs2jn5d8ga1skhif2mj5qk1ix9li76z2gyq3lf0rpz6";
   };
 
   buildInputs = [ pkgconfig glib ]
@@ -46,17 +46,16 @@ in stdenv.mkDerivation rec {
     ++ opt shoutSupport libshout
     ++ opt sqliteSupport sqlite
     ++ opt curlSupport curl
-    ++ opt soupSupport libsoup
     ++ opt bzip2Support bzip2
     ++ opt audiofileSupport audiofile
-    ++ opt (!stdenv.isDarwin && ffadoSupport) ffado
     ++ opt ffmpegSupport ffmpeg
     ++ opt fluidsynthSupport fluidsynth
     ++ opt samplerateSupport libsamplerate
     ++ opt mmsSupport libmms
     ++ opt mpg123Support mpg123
     ++ opt aacSupport faad2
-    ++ opt zipSupport zziplib;
+    ++ opt zipSupport zziplib
+    ++ opt pulseaudioSupport pulseaudio;
 
   configureFlags =
     [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
@@ -69,10 +68,8 @@ in stdenv.mkDerivation rec {
       (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")
@@ -80,7 +77,10 @@ in stdenv.mkDerivation rec {
       (mkFlag mmsSupport "mms")
       (mkFlag mpg123Support "mpg123")
       (mkFlag aacSupport "aac")
-      "--enable-debugging" ]
+      (mkFlag pulseaudioSupport "pulse")
+      (mkFlag stdenv.isDarwin "osx")
+      "--enable-debug"
+    ]
     ++ opt stdenv.isLinux
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
 
diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix
new file mode 100644
index 00000000000..56d402397ec
--- /dev/null
+++ b/pkgs/servers/news/leafnode/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pcre }:
+
+stdenv.mkDerivation rec {
+  name = "leafnode-2.0.0.alpha20121101a.12";
+
+  src = fetchurl {
+    url = "http://home.pages.de/~mandree/leafnode/beta/leafnode-2.0.0.alpha20121101a.tar.bz2";
+    sha256 = "096w4gxj08m3vwmyv4sxpmbl8dn6mzqfmrhc32jgyca6qzlrdin8";
+  };
+
+  configureFlags = "--enable-runas-user=nobody";
+
+  postConfigure = ''
+      # The is_validfqdn is far too restrictive, and only allows
+      # Internet-facing servers to run.  In order to run leafnode via
+      # localhost only, we need to disable this check.
+      sed -i validatefqdn.c -e 's/int is_validfqdn(const char \*f) {/int is_validfqdn(const char *f) { return 1;/;'
+  '';
+
+  buildInputs = [ pcre];
+
+  meta = {
+    homepage = "http://leafnode.sourceforge.net/";
+    description = "Leafnode implements a store & forward NNTP proxy";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
new file mode 100644
index 00000000000..77852b6d2ed
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "influxdb-${version}";
+  version = "0.7.0";
+  arch = if stdenv.system == "x86_64-linux" then "amd64" else "386";
+
+  src = fetchurl {
+    url = "http://s3.amazonaws.com/influxdb/${name}.${arch}.tar.gz";
+    sha256 = if arch == "amd64" then
+        "1mvi21z83abnprzj0n8r64ly9s48i5l7ndcrci7nk96z8xab7w3q" else
+        "1zgxbfnam4r31g9yfwznhb7l4hf7s5sylhll92zr8q0qjhr4cj2b";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -D influxdb $out/bin/influxdb
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/influxdb
+    wrapProgram "$out/bin/influxdb" \
+        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64"
+
+    mkdir -p $out/share/influxdb
+    cp -R admin scripts config.toml $out/share/influxdb
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Scalable datastore for metrics, events, and real-time analytics";
+    homepage = http://influxdb.com/;
+    license = licenses.mit;
+
+    maintainers = [ maintainers.offline ];
+    platforms = ["i686-linux" "x86_64-linux"];
+  };
+}
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 11dff324420..aa9da965d17 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,35 +1,46 @@
-{ stdenv, fetchurl, scons, boost, v8, gperftools, pcre, snappy }:
-
-let version = "2.4.5"; in stdenv.mkDerivation rec {
+{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }:
+
+let version = "2.6.0";
+    system-libraries = [
+      "tcmalloc"
+      "pcre"
+      "boost"
+      "snappy"
+      # "v8"      -- mongo still bundles 3.12 and does not work with 3.15+
+      # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs)
+      # "yaml"    -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo
+    ];
+    system-lib-args = stdenv.lib.concatStringsSep " "
+                          (map (lib: "--use-system-${lib}") system-libraries);
+
+in stdenv.mkDerivation rec {
   name = "mongodb-${version}";
 
   src = fetchurl {
     url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
-    sha256 = "01c7lb3jdr51gy7459vg5rg002xxg0mj79vlhy54n50kr31cnxmm";
+    sha256 = "066kppjdmdpadjr09ildla3aw42anzsc9pa55iwp3wa4rgqd2i33";
   };
 
-  nativeBuildInputs = [ scons boost v8 gperftools pcre snappy ];
+  nativeBuildInputs = [ scons boost gperftools pcre snappy ];
 
   postPatch = ''
     substituteInPlace SConstruct \
-        --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" \
-        --replace 'CCFLAGS=["-Werror", "-pipe"]' 'CCFLAGS=["-pipe"]'
+        --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR"
   '';
 
   buildPhase = ''
-    export SCONSFLAGS="-j$NIX_BUILD_CORES"
-    scons all --use-system-all
+    scons all --release ${system-lib-args}
   '';
 
   installPhase = ''
     mkdir -p $out/lib
-    scons install --use-system-all --full --prefix=$out
+    scons install --release --prefix=$out ${system-lib-args}
   '';
 
   meta = {
     description = "a scalable, high-performance, open source NoSQL database";
     homepage = http://www.mongodb.org;
-    license = "AGPLv3";
+    license = stdenv.lib.licenses.agpl3;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 777fb31ac97..1a44aa6a804 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "redis-2.6.13";
+  name = "redis-2.8.9";
 
   src = fetchurl {
-    url = "http://redis.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0j79a5vmdy0c1df89ymqk37kz8q2iqlzg81qwnz0djjqdiikk51v";
+    url = "http://download.redis.io/releases/${name}.tar.gz";
+    sha256 = "7834c37f2ff186c46aef8e4a066dfbf1d6772a285aa31c19c58162f264f1007f";
   };
 
   makeFlags = "PREFIX=$(out)";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://redis.io;
     description = "An open source, advanced key-value store";
     license = "BSD";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.berdario ];
   };
 }
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
new file mode 100644
index 00000000000..3694547c2d9
--- /dev/null
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, python, m4 }:
+
+stdenv.mkDerivation rec {
+  name = "rethinkdb-1.12.4";
+
+  src = fetchurl {
+    url = "http://download.rethinkdb.com/dist/${name}.tgz";
+    sha256 = "1dq2vbgms016ic2hifclm1m58i4804khkn0lnvz47rkm7i0564if";
+  };
+
+  preConfigure = ''
+    export ALLOW_WARNINGS=1
+    patchShebangs .
+  '';
+
+  configureFlags = "--lib-path ${gperftools}/lib";
+
+  buildInputs = [ protobuf zlib boost ];
+
+  nativeBuildInputs = [ which m4 python ];
+
+  meta = {
+    description = "An open-source distributed database built with love";
+    longDescription = ''
+      RethinkDB is built to store JSON documents, and scale to multiple machines with very little
+      effort. It has a pleasant query language that supports really useful queries like table joins
+      and group by, and is easy to setup and learn.
+    '';
+    homepage = http://www.rethinkdb.com;
+    license = stdenv.lib.licenses.agpl3;
+
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix
index ccac6e331fd..96315c52f6b 100644
--- a/pkgs/servers/nosql/riak/1.3.1.nix
+++ b/pkgs/servers/nosql/riak/1.3.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, erlangR15B03 }:
+{ stdenv, fetchurl, unzip, erlangR15}:
 
 let
   srcs = {
@@ -15,7 +15,7 @@ in
 stdenv.mkDerivation rec {
   name = "riak-1.3.1";
 
-  buildInputs = [unzip erlangR15B03];
+  buildInputs = [unzip erlangR15];
 
   src = srcs.riak;
 
diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix
new file mode 100644
index 00000000000..4d32c3203c7
--- /dev/null
+++ b/pkgs/servers/nsq/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.28";
+  name = "nsq-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    apps=(nsq_pubsub nsq_stat nsq_tail nsq_to_file nsq_to_http nsq_to_nsq nsqd nsqlookupd)
+
+    mkdir build
+
+    go build -v -o build/nsqadmin github.com/bitly/nsq/nsqadmin
+    for app in "''${apps[@]}"; do
+      go build -v -o build/$app github.com/bitly/nsq/apps/$app
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv build/* $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A realtime distributed messaging platform";
+    homepage = http://nsq.io/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/nsq/deps.nix b/pkgs/servers/nsq/deps.nix
new file mode 100644
index 00000000000..bd98357ece6
--- /dev/null
+++ b/pkgs/servers/nsq/deps.nix
@@ -0,0 +1,134 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/snappy-go";
+      src = fetchhg {
+        url = "http://code.google.com/p/snappy-go";
+        rev = "14";
+        sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7";
+      };
+    }
+    {
+      root = "github.com/BurntSushi/toml";
+      src = fetchFromGitHub {
+        owner = "BurntSushi";
+        repo = "toml";
+        rev = "f87ce853111478914f0bcffa34d43a93643e6eda";
+        sha256 = "0g8203y9ycf34j2q3ymxb8nh4habgwdrjn9vdgrginllx73yq565";
+      };
+    }
+    {
+      root = "github.com/bitly/go-hostpool";
+      src = fetchFromGitHub {
+        owner = "bitly";
+        repo = "go-hostpool";
+        rev = "fed86fae5cacdc77e7399937e2f8836563620a2e";
+        sha256 = "0nbssfp5ksj4hhc0d8lfq54afd9nqv6qzk3vi6rinxr3fgplrj44";
+      };
+    }
+    {
+      root = "github.com/bitly/go-nsq";
+      src = fetchFromGitHub {
+        owner = "bitly";
+        repo = "go-nsq";
+        rev = "c79a282f05364e340eadc2ce2f862a3d44eea9c0";
+        sha256 = "19jlwj5419p5xwjzfnzlddjnbh5g7ifnqhd00i5p0b6ww1gk011p";
+      };
+    }
+    {
+      root = "github.com/bitly/go-simplejson";
+      src = fetchFromGitHub {
+        owner = "bitly";
+        repo = "go-simplejson";
+        rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5";
+        sha256 = "1d8x0himl58qn87lv418djy6mbs66p9ai3zpqq13nhkfl67fj3bi";
+      };
+    }
+    {
+      root = "github.com/bitly/nsq";
+      src = fetchFromGitHub {
+        owner = "bitly";
+        repo = "nsq";
+        rev = "048691a8242c9ec224fc46bf7d05f321026b69f8";
+        sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx";
+      };
+    }
+    {
+      root = "github.com/bmizerany/assert";
+      src = fetchFromGitHub {
+        owner = "bmizerany";
+        repo = "assert";
+        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
+        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
+      };
+    }
+    {
+      root = "github.com/bmizerany/perks";
+      src = fetchFromGitHub {
+        owner = "bmizerany";
+        repo = "perks";
+        rev = "aac9e2eab5a334037057336897fd10b0289a5ae8";
+        sha256 = "1d027jgc327qz5xmal0hrpqvsj45i9yqmm9pxk3xp3hancvz3l3k";
+      };
+    }
+    {
+      root = "github.com/kr/pretty";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "pretty";
+        rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f";
+        sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl";
+      };
+    }
+    {
+      root = "github.com/kr/pty";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "pty";
+        rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
+        sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
+      };
+    }
+    {
+      root = "github.com/kr/text";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "text";
+        rev = "6807e777504f54ad073ecef66747de158294b639";
+        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
+      };
+    }
+    {
+      root = "github.com/mreiferson/go-options";
+      src = fetchFromGitHub {
+        owner = "mreiferson";
+        repo = "go-options";
+        rev = "896a539cd709f4f39d787562d1583c016ce7517e";
+        sha256 = "0hg0n5grcjcj5719rqchz0plp39wfk3znqxw8y354k4jwsqwmn17";
+      };
+    }
+    {
+      root = "github.com/mreiferson/go-snappystream";
+      src = fetchFromGitHub {
+        owner = "mreiferson";
+        repo = "go-snappystream";
+        rev = "97c96e6648e99c2ce4fe7d169aa3f7368204e04d";
+        sha256 = "08ylvx9r6b1fi76v6cqjvny4yqsvcqjfsg93jdrgs7hi4mxvxynn";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 247628c30a6..47c8c12edef 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, which, autoconf, automake, flex, yacc,
-  kernelDev, glibc, ncurses, perl, krb5 }:
+  kernel, glibc, ncurses, perl, krb5 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation {
-  name = "openafs-1.6.1-${kernelDev.version}";
+  name = "openafs-1.6.6-${kernel.version}";
 
   src = fetchurl {
-    url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2;
-    sha256 = "1c7mid0dwl2x0sikr70bi5cs881y6pa4dfwkdmr3jscvx3wgfpnh";
+    url = http://www.openafs.org/dl/openafs/1.6.6/openafs-1.6.6-src.tar.bz2;
+    sha256 = "0xfa64hvz0avp89zgz8ksmp24s6ns0z3103m4mspshhhdlikypk3";
   };
 
   buildInputs = [ autoconf automake flex yacc ncurses perl which ];
 
   preConfigure = ''
-    ln -s ${kernelDev}/lib/modules/*/build $TMP/linux
+    ln -s ${kernel.dev}/lib/modules/*/build $TMP/linux
 
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
@@ -40,8 +40,6 @@ stdenv.mkDerivation {
     homepage = http://www.openafs.org;
     license = stdenv.lib.licenses.ipl10;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [
-      z77z
-    ];
+    maintainers = stdenv.lib.maintainers.z77z;
   };
 }
diff --git a/pkgs/servers/pies/default.nix b/pkgs/servers/pies/default.nix
index 898bfb711ff..958578138bc 100644
--- a/pkgs/servers/pies/default.nix
+++ b/pkgs/servers/pies/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
          native utilities).  Finally, it can replace the inetd utility!
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/pies/;
 
diff --git a/pkgs/servers/polipo/default.nix b/pkgs/servers/polipo/default.nix
index 80865478746..08ccbbd06c6 100644
--- a/pkgs/servers/polipo/default.nix
+++ b/pkgs/servers/polipo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, texinfo }:
-stdenv.mkDerivation rec {
 
+stdenv.mkDerivation rec {
   name = "polipo-${version}";
-  version = "1.0.4";
+  version = "1.1.1";
 
   src = fetchurl {
-    url = "http://freehaven.net/~chrisd/polipo/${name}.tar.gz";
-    sha256 = "0dh4kjj6vfb75nxv7q3y2kvxsq8cwrd8svsrypa810jln8x8lign";
+    url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/polipo/${name}.tar.gz";
+    sha256 = "05g09sg9qkkhnc2mxldm1w1xkxzs2ylybkjzs28w8ydbjc3pand2";
   };
 
   buildInputs = [ texinfo ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.pps.jussieu.fr/~jch/software/polipo/;
     description = "A small and fast caching web proxy";
     license = licenses.mit;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = with maintainers; [ phreedom emery ];
     platforms = platforms.all;
   };
 }
\ No newline at end of file
diff --git a/pkgs/servers/prayer/default.nix b/pkgs/servers/prayer/default.nix
index 8a23e480e1f..781fca1c33d 100644
--- a/pkgs/servers/prayer/default.nix
+++ b/pkgs/servers/prayer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, openssl, db4, zlib, uwimap, htmlTidy, pam}:
+{ stdenv, fetchurl, perl, openssl, db, zlib, uwimap, htmlTidy, pam}:
 
 let
   ssl = stdenv.lib.optionals uwimap.withSSL
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "135fjbxjn385b6cjys6qhbwfw61mdcl2akkll4jfpdzfvhbxlyda";
   };
 
-  buildInputs = [ openssl db4 zlib uwimap htmlTidy pam ];
+  buildInputs = [ openssl db zlib uwimap htmlTidy pam ];
   nativeBuildInputs = [ perl ];
 
   NIX_LDFLAGS = "-lpam";
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/;
     description = "Yet another Webmail interface for IMAP servers on Unix systems written in C";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 4b23cb4173c..2c6f6c10493 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, avahi
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gnum4, gdbm, libtool, glib, dbus, avahi
 , gconf, gtk, intltool, gettext, alsaLib, libsamplerate, libsndfile, speex
 , bluez, sbc, udev, libcap, json_c
-, jackaudioSupport ? false, jackaudio ? null
+, jackaudioSupport ? false, jack2 ? null
 , x11Support ? false, xlibs
 , useSystemd ? false, systemd ? null }:
 
-assert jackaudioSupport -> jackaudio != null;
+assert jackaudioSupport -> jack2 != null;
 
 stdenv.mkDerivation rec {
-  name = "pulseaudio-4.0";
+  name = "pulseaudio-5.0";
 
   src = fetchurl {
-    url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz";
-    sha256 = "1bndz4l8jxyq3zq128gzp3gryxl6yjs66j2y1d7yabw2n5mv7kim";
+    url = "http://freedesktop.org/software/pulseaudio/releases/${name}.tar.xz";
+    sha256 = "0fgrr8v7yfh0byhzdv4c87v9lkj8g7gpjm8r9xrbvpa92a5kmhcr";
   };
 
+  patches = [(fetchpatch {
+    name = "CVE-2014-3970.patch";
+    url = "http://cgit.freedesktop.org/pulseaudio/pulseaudio/patch/"
+      + "?id=26b9d22dd24c17eb118d0205bf7b02b75d435e3c";
+    sha256 = "13vxp6520djgfrfxkzy5qvabl94sga3yl5pj93xawbkgwzqymdyq";
+  })];
+
   # Since `libpulse*.la' contain `-lgdbm' and `-lcap', it must be propagated.
   propagatedBuildInputs
     = [ gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
@@ -22,7 +29,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ pkgconfig gnum4 libtool intltool glib dbus avahi libsamplerate libsndfile
       speex json_c ]
-    ++ stdenv.lib.optional jackaudioSupport jackaudio
+    ++ stdenv.lib.optional jackaudioSupport jack2
     ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ]
     ++ stdenv.lib.optional useSystemd systemd
     ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib bluez sbc udev ];
diff --git a/pkgs/servers/radius/default.nix b/pkgs/servers/radius/default.nix
index 5533469a1da..a8c991e12d3 100644
--- a/pkgs/servers/radius/default.nix
+++ b/pkgs/servers/radius/default.nix
@@ -25,9 +25,11 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/radius/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
+
+    broken = true;
   };
 }
diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix
index e817151e778..d6952e9700e 100644
--- a/pkgs/servers/restund/default.nix
+++ b/pkgs/servers/restund/default.nix
@@ -24,5 +24,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; bsd3;
+    inherit version;
+    downloadPage = "http://www.creytiv.com/pub/";
+    updateWalker = true;
+    downloadURLRegexp = "/restund-.*[.]tar[.]";
   };
 }
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
new file mode 100644
index 00000000000..66a0743b367
--- /dev/null
+++ b/pkgs/servers/rippled/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, scons, pkgconfig, openssl, protobuf, boost155, zlib}:
+
+stdenv.mkDerivation rec {
+  name = "rippled-${version}";
+  version = "0.23.0";
+
+  src = fetchurl {
+    url = "https://github.com/ripple/rippled/archive/${version}.tar.gz";
+    sha256 = "0js734sk11jn19fyp403mk6p62azlc6s9kyhr5jfg466fiak537p";
+  };
+
+  patches = [ ./scons-env.patch ];
+
+  buildInputs = [ scons pkgconfig openssl protobuf boost155 zlib ];
+
+  RIPPLED_BOOST_HOME = boost155.out;
+  RIPPLED_ZLIB_HOME = zlib.out;
+  buildPhase = "scons build/rippled";
+
+  installPhase = ''
+    mkdir -p $out/bin    
+    cp build/rippled $out/bin/
+  '';
+
+  meta = {
+    description = "Ripple P2P payment network reference server";
+    homepage = "https://ripple.com";
+    maintainers = stdenv.lib.maintainers.emery;
+    license = stdenv.lib.licenses.isc;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/rippled/scons-env.patch b/pkgs/servers/rippled/scons-env.patch
new file mode 100644
index 00000000000..5b80e77bb2e
--- /dev/null
+++ b/pkgs/servers/rippled/scons-env.patch
@@ -0,0 +1,46 @@
+diff --git a/SConstruct b/SConstruct
+index 8ba8bbd..95eab3b 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -24,6 +24,8 @@ USING_CLANG = OSX or os.environ.get('CC', None) == 'clang'
+ #
+ BOOST_HOME = os.environ.get("RIPPLED_BOOST_HOME", None)
+ 
++ZLIB_HOME = os.environ.get("RIPPLED_ZLIB_HOME", None)
++
+ 
+ if OSX or Ubuntu or Debian or Archlinux:
+     CTAGS = 'ctags'
+@@ -36,7 +38,7 @@ else:
+ # scons tools
+ #
+ 
+-HONOR_ENVS = ['CC', 'CXX', 'PATH']
++HONOR_ENVS = ['CC', 'CXX', 'PATH', 'PKG_CONFIG_PATH']
+ 
+ env = Environment(
+     tools = ['default', 'protoc'],
+@@ -156,8 +158,8 @@ INCLUDE_PATHS = [
+     'build/proto'
+     ]
+ 
+-# if BOOST_HOME:
+-#     INCLUDE_PATHS.append(BOOST_HOME)
++if BOOST_HOME:
++    INCLUDE_PATHS.append("%s/include" % BOOST_HOME)
+ 
+ #-------------------------------------------------------------------------------
+ #
+@@ -261,7 +263,11 @@ env.Append(
+ # such, as installed into `/usr/lib/`
+ if BOOST_HOME is not None:
+     env.Prepend(
+-        LIBPATH = ["%s/stage/lib" % BOOST_HOME])
++        LIBPATH = ["%s/lib" % BOOST_HOME])
++
++if ZLIB_HOME is not None:
++    env.Prepend(
++        LIBPATH = ["%s/lib" % ZLIB_HOME])
+ 
+ if not OSX:
+     env.Append(LINKFLAGS = [
diff --git a/pkgs/servers/sabnzbd/builder.sh b/pkgs/servers/sabnzbd/builder.sh
index c263500cde4..3a5c8adb421 100644
--- a/pkgs/servers/sabnzbd/builder.sh
+++ b/pkgs/servers/sabnzbd/builder.sh
@@ -9,8 +9,8 @@ echo "$python/bin/python $out/SABnzbd.py \$*" > $out/bin/sabnzbd
 chmod +x $out/bin/sabnzbd
 
 for i in $(cd $out/bin && ls); do
-  wrapProgram $out/bin/$i --prefix PYTHONPATH : "$(toPythonPath $python):$(toPythonPath $out):$(toPythonPath $cheetahTemplate)" \
-  			  --prefix PATH : "$par2cmdline/bin:$unzip/bin:$unrar/bin"
+  wrapProgram $out/bin/$i --prefix PYTHONPATH : "$(toPythonPath $python):$(toPythonPath $out):$(toPythonPath $cheetahTemplate):$(toPythonPath $sqlite3)" \
+                          --prefix PATH : "$par2cmdline/bin:$unzip/bin:$unrar/bin"
 done
 
 echo $out
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index ace96fbed63..09c0de9c74f 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -1,15 +1,16 @@
-{stdenv, fetchurl, python, cheetahTemplate, makeWrapper, par2cmdline, unzip, unrar}:
+{stdenv, fetchurl, python, pythonPackages, cheetahTemplate, makeWrapper, par2cmdline, unzip, unrar}:
 
-stdenv.mkDerivation {
-  name = "sabnzbd-0.4.12";
+stdenv.mkDerivation rec {
+  name = "sabnzbd-0.7.17";
   
   src = fetchurl {
-    url = mirro://sourceforge/sabnzbdplus/SABnzbd-0.4.12-src.tar.gz;
-    sha256 = "35ce4172688925ef608fba433ff676357dab7d2abdc1cf83112a1c99682fdd32";
+    url = mirror://sourceforge/sabnzbdplus/SABnzbd-0.7.17-src.tar.gz;
+    sha256 = "02gbh3q3qnbwy4xn1hw4i4fyw4j5nkrqy4ak46mxwqgip9ym20d5";
   };
 
-  buildInputs = [makeWrapper python cheetahTemplate];
+  buildInputs = [makeWrapper python sqlite3 cheetahTemplate];
   inherit stdenv python cheetahTemplate par2cmdline unzip unrar; 
+  inherit (pythonPackages) sqlite3;
 
   builder = ./builder.sh;
   
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index 568daf36773..08f12d97506 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -18,11 +18,11 @@
 assert useKerberos -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "samba-3.6.18";
+  name = "samba-3.6.24";
 
   src = fetchurl {
-    url = "http://us3.samba.org/samba/ftp/stable/${name}.tar.gz";
-    sha256 = "14lrb7724952wyc1sah4nsngd6cv8x8y96cm7f3awzjnfyxajwbd";
+    url = "http://samba.org/samba/ftp/stable/${name}.tar.gz";
+    sha256 = "19rln8m1k359bz6dhmlv39kzyjg7p296dz4y4mq1jwrlnw2bvl0i";
   };
 
   buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
@@ -64,6 +64,9 @@ stdenv.mkDerivation rec {
       mkdir -p $out
       mv $TMPDIR/inst/$out/* $out/
 
+      mkdir -p "$out/lib/pkgconfig"
+      cp pkgconfig/*.pc "$out/lib/pkgconfig"
+
       mkdir -pv $out/lib/cups/backend
       ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
       mkdir -pv $out/etc/openldap/schema
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index f99ecded098..967eae40bb1 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl, makeWrapper, jre, utillinux }:
+{ stdenv, fetchurl, makeWrapper, jre, utillinux, getopt }:
+
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  name = "elasticsearch-0.90.3";
+  name = "elasticsearch-1.2.2";
 
   src = fetchurl {
     url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
-    sha256 = "1l6rnp4yvlz4z6z4v3af08yd4sl91c4zz20a8yyif2p234lh3n2s";
+    sha256 = "1vpvxndcq48rcsgw2jnzdh4fwnf141hf5wjxrjs1g7p2qw0d0cy8";
   };
 
   patches = [ ./es-home.patch ];
 
-  buildInputs = [ makeWrapper jre utillinux ];
+  buildInputs = [ makeWrapper jre ] ++
+    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
 
   installPhase = ''
     mkdir -p $out
@@ -21,14 +25,18 @@ stdenv.mkDerivation rec {
     # set ES_CLASSPATH and JAVA_HOME
     wrapProgram $out/bin/elasticsearch \
       --prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*":"$out/lib/sigar/*" \
-      --prefix PATH : "${utillinux}/bin/" \
+      ${if (!stdenv.isDarwin)
+        then ''--prefix PATH : "${utillinux}/bin/"''
+        else ''--prefix PATH : "${getopt}/bin"''} \
       --set JAVA_HOME "${jre}"
     wrapProgram $out/bin/elasticsearch-plugin \
-      --prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*":"$out/lib/sigar/*" --set JAVA_HOME "${jre}"
+      --prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*":"$out/lib/sigar/*" \
+      --set JAVA_HOME "${jre}"
   '';
 
   meta = {
     description = "Open Source, Distributed, RESTful Search Engine";
-    license = "ASL2.0";
+    license = stdenv.lib.licenses.asl20;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/search/elasticsearch/es-home.patch b/pkgs/servers/search/elasticsearch/es-home.patch
index d75a5a8c052..9b96149e5ad 100644
--- a/pkgs/servers/search/elasticsearch/es-home.patch
+++ b/pkgs/servers/search/elasticsearch/es-home.patch
@@ -1,59 +1,38 @@
-diff -rc elasticsearch-0.90.3/bin/elasticsearch elasticsearch-0.90.3-new/bin/elasticsearch
-*** elasticsearch-0.90.3/bin/elasticsearch	2013-08-06 15:19:22.000000000 +0200
---- elasticsearch-0.90.3-new/bin/elasticsearch	2013-08-27 16:42:00.935880011 +0200
-***************
-*** 62,68 ****
-  done
-  
-  # determine elasticsearch home
-! ES_HOME=`dirname "$SCRIPT"`/..
-  
-  # make ELASTICSEARCH_HOME absolute
-  ES_HOME=`cd "$ES_HOME"; pwd`
---- 62,71 ----
-  done
-  
-  # determine elasticsearch home
-! if [ -z "$ES_HOME" ]; then
-!     echo "You must set the ES_HOME var" >&2
-!     exit 1
-! fi
-  
-  # make ELASTICSEARCH_HOME absolute
-  ES_HOME=`cd "$ES_HOME"; pwd`
-diff -rc elasticsearch-0.90.3/bin/plugin elasticsearch-0.90.3-new/bin/plugin
-*** elasticsearch-0.90.3/bin/plugin	2013-08-06 15:19:22.000000000 +0200
---- elasticsearch-0.90.3-new/bin/plugin	2013-08-27 16:49:01.024160295 +0200
-***************
-*** 16,22 ****
-  done
-  
-  # determine elasticsearch home
-! ES_HOME=`dirname "$SCRIPT"`/..
-  
-  # make ELASTICSEARCH_HOME absolute
-  ES_HOME=`cd "$ES_HOME"; pwd`
---- 16,25 ----
-  done
-  
-  # determine elasticsearch home
-! if [ -z "$ES_HOME" ]; then
-!     echo "You must set the ES_HOME var" >&2
-!     exit 1
-! fi
-  
-  # make ELASTICSEARCH_HOME absolute
-  ES_HOME=`cd "$ES_HOME"; pwd`
-***************
-*** 46,50 ****
-    shift
-  done
-  
-! exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
-  
---- 49,53 ----
-    shift
-  done
-  
-! exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args
-  
+diff --git a/bin/elasticsearch b/bin/elasticsearch
+index c7c9263..0fcecf6 100755
+--- a/bin/elasticsearch
++++ b/bin/elasticsearch
+@@ -76,7 +76,10 @@ while [ -h "$SCRIPT" ] ; do
+ done
+ 
+ # determine elasticsearch home
+-ES_HOME=`dirname "$SCRIPT"`/..
++if [ -z "$ES_HOME" ]; then
++    echo "You must set the ES_HOME var" >&2
++    exit 1
++fi
+ 
+ # make ELASTICSEARCH_HOME absolute
+ ES_HOME=`cd "$ES_HOME"; pwd`
+diff --git a/bin/plugin b/bin/plugin
+index a8c796a..daf7b99 100755
+--- a/bin/plugin
++++ b/bin/plugin
+@@ -16,7 +16,10 @@ while [ -h "$SCRIPT" ] ; do
+ done
+ 
+ # determine elasticsearch home
+-ES_HOME=`dirname "$SCRIPT"`/..
++if [ -z "$ES_HOME" ]; then
++    echo "You must set the ES_HOME var" >&2
++    exit 1
++fi
+ 
+ # make ELASTICSEARCH_HOME absolute
+ ES_HOME=`cd "$ES_HOME"; pwd`
+@@ -45,4 +48,4 @@ while [ $# -gt 0 ]; do
+   shift
+ done
+ 
+-exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
++exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
new file mode 100644
index 00000000000..c03a2feae5f
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -0,0 +1,53 @@
+{ pkgs,  stdenv, fetchurl, unzip, elasticsearch }:
+
+with pkgs.lib;
+
+let
+  esPlugin = a@{
+    pluginName, 
+    installPhase ? ''
+      mkdir -p $out
+      ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin --install ${pluginName} --url file://$src
+    '', 
+    ...
+  }:
+    stdenv.mkDerivation (a // {
+      inherit installPhase;
+      unpackPhase = "true";
+      buildInputs = [ unzip ];
+      meta = a.meta // {
+        platforms = elasticsearch.meta.platforms;
+        maintainers = (a.meta.maintainers or []) ++ [ maintainers.offline ];
+      };
+    });
+in {
+  elasticsearch_river_jdbc = esPlugin rec {
+    name = "elasticsearch-river-jdbc-${version}";
+    pluginName = "jdbc";
+    version = "1.2.1.1";
+    src = fetchurl {
+      url = "http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/${version}/${name}-plugin.zip";
+      sha1 = "68e7e1fdf45d0e5852b21610a84740595223ea11";
+    };
+    meta = {
+      homepage = "https://github.com/jprante/elasticsearch-river-jdbc";
+      description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch";
+      license = licenses.asl20;
+    };
+  };
+
+  elasticsearch_analisys_lemmagen = esPlugin rec {
+    name = "elasticsearch-analysis-lemmagen-${version}";
+    pluginName = "elasticsearch-analysis-lemmagen";
+    version = "0.1";
+    src = fetchurl {
+      url = "https://github.com/vhyza/elasticsearch-analysis-lemmagen/releases/download/v${version}/${name}-plugin.zip";
+      sha256 = "bf7bf5ce3ccdd3afecd0e18cd6fce1ef56f824e41f4ef50553ae598caa5c366d";
+    };
+    meta = {
+      homepage = "https://github.com/vhyza/elasticsearch-analysis-lemmagen";
+      description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter";
+      license = licenses.asl20;
+    };
+  };
+}
diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix
new file mode 100644
index 00000000000..443e7af71ad
--- /dev/null
+++ b/pkgs/servers/search/solr/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "solr-${version}";
+  version = "4.7.0";
+
+  src = fetchurl {
+    url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
+    sha256 = "0qm3pnhpfqjxdl0xiwffrcchp79q3ja5w5d278bkkxglc2y1y4xc";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp dist/${name}.war $out/lib/solr.war
+    cp -r example/lib/ext $out/lib/ext
+  '';
+
+  meta = {
+    homepage = "https://lucene.apache.org/solr/";
+    description = ''
+      Open source enterprise search platform from the Apache Lucene project
+    '';
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+
+}
diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix
new file mode 100644
index 00000000000..48e5f2cea22
--- /dev/null
+++ b/pkgs/servers/serfdom/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.6.3";
+  name = "serfdom-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o serf github.com/hashicorp/serf
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv serf $out/bin/serf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A service discovery and orchestration tool that is decentralized, highly available, and fault tolerant";
+    homepage = http://www.serfdom.io/;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ msackman cstrahan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/serfdom/deps.nix b/pkgs/servers/serfdom/deps.nix
new file mode 100644
index 00000000000..a4b4058a711
--- /dev/null
+++ b/pkgs/servers/serfdom/deps.nix
@@ -0,0 +1,185 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/go.net";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.net";
+        rev = "134";
+        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
+      };
+    }
+    {
+      root = "code.google.com/p/go.text";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.text";
+        rev = "85";
+        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
+      };
+    }
+    {
+      root = "github.com/armon/circbuf";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "circbuf";
+        rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
+        sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
+      };
+    }
+    {
+      root = "github.com/armon/go-metrics";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-metrics";
+        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
+        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+      };
+    }
+    {
+      root = "github.com/armon/mdns";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "mdns";
+        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
+        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-syslog";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-syslog";
+        rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
+        sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
+      };
+    }
+    {
+      root = "github.com/hashicorp/logutils";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "logutils";
+        rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
+        sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
+      };
+    }
+    {
+      root = "github.com/hashicorp/memberlist";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "memberlist";
+        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
+        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+      };
+    }
+    {
+      root = "github.com/hashicorp/serf";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "serf";
+        rev = "5e0771b8d61bee28986087a246f7611d6bd4a87a";
+        sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y";
+      };
+    }
+    {
+      root = "github.com/miekg/dns";
+      src = fetchFromGitHub {
+        owner = "miekg";
+        repo = "dns";
+        rev = "fc67c4b981930a377f8a26a5a1f2c0ccd5dd1514";
+        sha256 = "1csjmkx0gl34r4hmkhdbdxb0693f1p10yrjaj8f2jwli9p9sl4mg";
+      };
+    }
+    {
+      root = "github.com/mitchellh/cli";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "cli";
+        rev = "8262fe3f76f0da53b5674eb35c8c6436430794c3";
+        sha256 = "0pqkxh1q49kkxihggrfjs8174d927g4c5qqx00ggw8sqqsgrw6vn";
+      };
+    }
+    {
+      root = "github.com/mitchellh/mapstructure";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "mapstructure";
+        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
+        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+      };
+    }
+    {
+      root = "github.com/ryanuber/columnize";
+      src = fetchFromGitHub {
+        owner = "ryanuber";
+        repo = "columnize";
+        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
+      };
+    }
+    {
+      root = "github.com/ugorji/go";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/bufio";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "bufio";
+        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
+        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/msgpack";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "msgpack";
+        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
+        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      };
+    }
+    {
+      root = "launchpad.net/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo";
+        rev = "2";
+        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix
new file mode 100644
index 00000000000..2d827c737d8
--- /dev/null
+++ b/pkgs/servers/shellinabox/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pam, openssl, openssh, shadow }:
+
+stdenv.mkDerivation {
+  name = "shellinabox-2.14";
+
+  src = fetchurl {
+    url = "https://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz";
+    sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781";
+  };
+
+  buildInputs = [pam openssl openssh];
+
+  patches = [ ./shellinabox-minus.patch ];
+
+  # Disable GSSAPIAuthentication errors as well as correct hardcoded path. Take /usr/games's place. 
+  preConfigure = ''
+    substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" ""
+    substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin"
+    substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login"
+    substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login"
+    '';
+  meta = {
+    homepage = https://code.google.com/p/shellinabox;
+    description = "Web based AJAX terminal emulator";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [stdenv.lib.maintainers.tomberek];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/shellinabox/shellinabox-minus.patch b/pkgs/servers/shellinabox/shellinabox-minus.patch
new file mode 100644
index 00000000000..2e30bd9c8aa
--- /dev/null
+++ b/pkgs/servers/shellinabox/shellinabox-minus.patch
@@ -0,0 +1,28 @@
+diff -ru shellinabox-2.14/shellinabox/vt100.js shellinabox-2.14.new/shellinabox/vt100.js
+--- shellinabox-2.14/shellinabox/vt100.js	2012-04-21 21:30:44.000000000 +0400
++++ shellinabox-2.14.new/shellinabox/vt100.js	2014-03-27 16:33:31.012344164 +0400
+@@ -2676,6 +2676,7 @@
+       switch (key) {
+       case  33: /* Page Up      */ this.scrollBack();                   return;
+       case  34: /* Page Down    */ this.scrollFore();                   return;
++      case 173: /* _            */ ch = this.applyModifiers(95, event); break;
+       default:                                                          break;
+       }
+     }
+@@ -2738,6 +2739,7 @@
+       case 123: /* F12          */ ch = '\u001B[24~';                   break;
+       case 144: /* Num Lock     */                                      return;
+       case 145: /* Scroll Lock  */                                      return;
++      case 173: /* -            */ ch = this.applyModifiers(45, event); break;
+       case 186: /* ;            */ ch = this.applyModifiers(59, event); break;
+       case 187: /* =            */ ch = this.applyModifiers(61, event); break;
+       case 188: /* ,            */ ch = this.applyModifiers(44, event); break;
+@@ -2882,6 +2884,7 @@
+     case 109: /* - -> _ */ u = 45; s =  95; break;
+     case 111: /* / -> ? */ u = 47; s =  63; break;
+ 
++    case 173: /* - -> _ */ u = 45; s =  95; break;
+     case 186: /* ; -> : */ u = 59; s =  58; break;
+     case 187: /* = -> + */ u = 61; s =  43; break;
+     case 188: /* , -> < */ u = 44; s =  60; break;
+
diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix
index a5d31ca354d..2e0a4e84f6c 100644
--- a/pkgs/servers/shishi/default.nix
+++ b/pkgs/servers/shishi/default.nix
@@ -1,15 +1,13 @@
 { fetchurl, stdenv, libtasn1, libgcrypt, gnutls }:
 
 stdenv.mkDerivation rec {
-  name = "shishi-1.0.1";
+  name = "shishi-1.0.2";
 
   src = fetchurl {
     url = "mirror://gnu/shishi/${name}.tar.gz";
-    sha256 = "13c6w9rpaqb3am65nrn86byvmll5r78pld2vb0i68491vww4fzlx";
+    sha256 = "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d";
   };
 
-  patches = [ ./no-gets.patch ];
-
   buildInputs = [ libtasn1 libgcrypt gnutls ] ;
 
   NIX_CFLAGS_COMPILE
diff --git a/pkgs/servers/shishi/no-gets.patch b/pkgs/servers/shishi/no-gets.patch
deleted file mode 100644
index 12137204f45..00000000000
--- a/pkgs/servers/shishi/no-gets.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/gl/stdio.in.h b/gl/stdio.in.h
-index 06d9780..fa04a10 100644
---- a/gl/stdio.in.h
-+++ b/gl/stdio.in.h
-@@ -713,10 +713,13 @@ _GL_CXXALIAS_SYS (gets, char *, (char *s));
- # endif
- _GL_CXXALIASWARN (gets);
- /* It is very rare that the developer ever has full control of stdin,
--   so any use of gets warrants an unconditional warning.  Assume it is
--   always declared, since it is required by C89.  */
-+   so any use of gets warrants an unconditional warning; besides C11
-+   removed it.  */
-+#ifdef gets
-+#undef gets
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-+#endif
- 
- 
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
diff --git a/pkgs/servers/silc-server/default.nix b/pkgs/servers/silc-server/default.nix
index 2afec801961..fdb1dcbd1cf 100644
--- a/pkgs/servers/silc-server/default.nix
+++ b/pkgs/servers/silc-server/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://silcnet.org/;
     description = "Secure Internet Live Conferencing server";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index 90e71f5e47a..14cd91ee141 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Secure peer-to-peer VoIP server that uses the SIP protocol";
     homepage = http://www.gnu.org/software/sipwitch/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
new file mode 100644
index 00000000000..bb0c0bc8da8
--- /dev/null
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }:
+
+stdenv.mkDerivation rec {
+  name = "mariadb-${version}";
+  version = "10.0.13";
+
+  src = fetchurl {
+    url    = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
+    sha256 = "039wz89vs03a27anpshj5xaqknm7cqi7mrypvwingqkq26ns0mhs";
+  };
+
+  buildInputs = [ cmake ncurses openssl bison boost libxml2 libaio judy libevent groff ];
+
+  cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DINSTALL_SCRIPTDIR=bin" ];
+
+  enableParallelBuilding = true;
+
+  passthru.mysqlVersion = "5.5";
+
+  meta = {
+    description = "An enhanced, drop-in replacement for MySQL";
+    homepage    = https://mariadb.org/;
+    license     = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ shlevy thoughtpolice ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/servers/sql/mysql/5.1.x.nix b/pkgs/servers/sql/mysql/5.1.x.nix
index c210c996532..c309158a670 100644
--- a/pkgs/servers/sql/mysql/5.1.x.nix
+++ b/pkgs/servers/sql/mysql/5.1.x.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
       rm -rf $out/mysql-test $out/sql-bench $out/share/info
     '';
 
+  passthru.mysqlVersion = "5.1";
+
   meta = {
     homepage = http://www.mysql.com/;
     description = "The world's most popular open source database";
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index bd30b7db75f..7c31bd7c582 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -4,13 +4,18 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.34";
+  version = "5.5.37";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz";
-    md5 = "930970a42d51e48599deb7fe01778a4a";
+    md5 = "bf1d80c66d4822ec6036300399a33c03";
   };
 
+  preConfigure = stdenv.lib.optional stdenv.isDarwin ''
+    ln -s /bin/ps $TMPDIR/ps
+    export PATH=$PATH:$TMPDIR
+  '';
+
   buildInputs = [ cmake bison ncurses openssl readline zlib ]
      ++ stdenv.lib.optional stdenv.isDarwin perl;
 
@@ -28,6 +33,8 @@ stdenv.mkDerivation rec {
     rm -rf $out/mysql-test $out/sql-bench
   '';
 
+  passthru.mysqlVersion = "5.5";
+
   meta = {
     homepage = http://www.mysql.com/;
     description = "The world's most popular open source database";
diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix
index 424f6d02181..7fde706479d 100644
--- a/pkgs/servers/sql/mysql/jdbc/default.nix
+++ b/pkgs/servers/sql/mysql/jdbc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, ant, unzip}:
 
 stdenv.mkDerivation {
-  name = "mysql-connector-java-5.1.25";
+  name = "mysql-connector-java-5.1.31";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.25.zip;
-    sha256 = "1qwnha8w8xafcig8wdvbry93pbli2vmzks8ds6kbb9im2k0rrmrw";
+    url = http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.31.zip;
+    sha256 = "1j6jvpadlib2hb6n3kh7s9ygjyqvi5gawrmnk1dsvvdcbkk1v871";
   };
 
   buildInputs = [ unzip ant ];
diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
deleted file mode 100644
index b7f2d7d2a50..00000000000
--- a/pkgs/servers/sql/postgresql/8.3.x.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, zlib, ncurses, readline }:
-
-let version = "8.3.23"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1n8qj1bvyx83jsn2x2l8xzk53c014gkz8hwvswvnzcdyvlbnd90p";
-  };
-
-  buildInputs = [ zlib ncurses readline ];
-
-  LC_ALL = "en_US";
-
-  passthru = { inherit readline; };
-
-  meta = {
-    homepage = http://www.postgresql.org/;
-    description = "A powerful, open source object-relational database system";
-    license = "bsd";
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index a99d7536a8a..5151299e3b9 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,24 +1,28 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.18"; in
+let version = "8.4.21"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "c08e5e93dac9d484019a07ff91db9f224350b90ef4be1543e33282cc20daf872";
+    sha256 = "388f67e59f2a16c27e84f50656f5d755adf3d0a883138366d091aa0c727c1e2c";
   };
 
   buildInputs = [ zlib ncurses readline ];
 
   LC_ALL = "C";
 
+  patches = [ ./less-is-more.patch ];
+
   passthru = { inherit readline; };
 
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
     license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 3810eeba72c..97e98217f8a 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.0.14"; in
+let version = "9.0.18"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "de42b669cb891fc9b925406e71d1669ed5c856aae6d552ac6f14bf6dec0b79f1";
+    sha256 = "7c8a07d0ab78fe39522c6bb268a7b357f456d9d4796f57d7b43a004e4a9d3003";
   };
 
   buildInputs = [ zlib readline ];
 
   LC_ALL = "C";
 
+  patches = [ ./less-is-more.patch ];
+
   passthru = {
     inherit readline;
     psqlSchema = "9.0";
@@ -23,5 +25,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
     license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 65a969b4db0..92417dc730c 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.1.10"; in
+let version = "9.1.14"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "8329bcd160fcb76ee8c79676f6c979a94069ca5c108449fbb365e1ea98f92b77";
+    sha256 = "d0647ce563d18ae02bf68c5dd646a4c75e8b45b3a4fada64d481371fdc16f522";
   };
 
   buildInputs = [ zlib readline ];
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   LC_ALL = "C";
 
+  patches = [ ./less-is-more.patch ];
+
   postInstall =
     ''
       mkdir -p $out/share/man
@@ -31,5 +33,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
     license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index 46b7e7ff3c5..e5dbdd034d3 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.2.5"; in
+let version = "9.2.9"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "22c1edfd6a404bb15fba655863e94f09a10716ded1910a8bc98ee85f413007a4";
+    sha256 = "94ec6d330f125b6fc725741293073b07d7d20cc3e7b8ed127bc3d14ad2370197";
   };
 
   buildInputs = [ zlib readline ];
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "world" ];
 
+  patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ];
+
   installTargets = [ "install-world" ];
 
   LC_ALL = "C";
@@ -29,5 +31,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
     license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix
new file mode 100644
index 00000000000..6c6ef132e81
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/9.3.x.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, zlib, readline, libossp_uuid }:
+
+with stdenv.lib;
+
+let version = "9.3.5"; in
+
+stdenv.mkDerivation rec {
+  name = "postgresql-${version}";
+
+  src = fetchurl {
+    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+    sha256 = "14176ffb1f90a189e7626214365be08ea2bfc26f26994bafb4235be314b9b4b0";
+  };
+
+  buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [ "world" ];
+
+  configureFlags = optional (!stdenv.isDarwin)
+    ''
+      --with-ossp-uuid
+    '';
+
+  patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ];
+
+  installTargets = [ "install-world" ];
+
+  LC_ALL = "C";
+
+  passthru = {
+    inherit readline;
+    psqlSchema = "9.3";
+  };
+
+  meta = {
+    homepage = http://www.postgresql.org/;
+    description = "A powerful, open source object-relational database system";
+    license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
new file mode 100644
index 00000000000..3e6fd5e838a
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
@@ -0,0 +1,14 @@
+diff --git a/src/port/exec.c b/src/port/exec.c
+index c79e8ba..42c4091 100644
+--- a/src/port/exec.c
++++ b/src/port/exec.c
+@@ -216,6 +216,9 @@ find_my_exec(const char *argv0, char *retpath)
+ static int
+ resolve_symlinks(char *path)
+ {
++    // On NixOS we *want* stuff relative to symlinks.
++    return 0;
++
+ #ifdef HAVE_READLINK
+ 	struct stat buf;
+ 	char		orig_wd[MAXPGPATH],
diff --git a/pkgs/servers/sql/postgresql/jdbc/builder.sh b/pkgs/servers/sql/postgresql/jdbc/builder.sh
deleted file mode 100755
index 2fccb686629..00000000000
--- a/pkgs/servers/sql/postgresql/jdbc/builder.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-source $stdenv/setup
-
-set -e
-
-tar zxvf $src
-cd postgresql-jdbc-*
-ant
-
-mkdir -p $out/share/java
-cp jars/*.jar $out/share/java
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index e490a14bea6..61b12164f24 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/servers/sql/postgresql/jdbc/default.nix
@@ -1,15 +1,24 @@
-{ stdenv, fetchurl, ant }:
+{ stdenv, fetchurl, ant, jdk }:
+
+let version = "9.3-1100"; in
 
 stdenv.mkDerivation rec {
-  name = "postgresql-jdbc-9.1-902";
-  builder = ./builder.sh;
+  name = "postgresql-jdbc-${version}";
 
   src = fetchurl {
-    url = "http://jdbc.postgresql.org/download/${name}.src.tar.gz";
-    sha256 = "0sgwbiw5vfxcl0g1yzsndgxdha74cr8ag6y65i0jhgg5g8qc56bz";
+    url = "http://jdbc.postgresql.org/download/postgresql-jdbc-${version}.src.tar.gz";
+    sha256 = "0mbdzhzg4ws0i7ps98rg0q5n68lsrdm2klj7y7skaix0rpa57gp6";
   };
 
-  buildInputs = [ant];
+  buildInputs = [ ant jdk ];
+
+  buildPhase = "ant";
+
+  installPhase =
+    ''
+      mkdir -p $out/share/java
+      cp jars/*.jar $out/share/java
+    '';
 
   meta = {
     homepage = http://jdbc.postgresql.org/;
diff --git a/pkgs/servers/sql/postgresql/less-is-more.patch b/pkgs/servers/sql/postgresql/less-is-more.patch
new file mode 100644
index 00000000000..d640d24bdaa
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/less-is-more.patch
@@ -0,0 +1,12 @@
+diff -Naur postgresql-9.2.7-orig/src/bin/psql/print.h postgresql-9.2.7/src/bin/psql/print.h
+--- postgresql-9.2.7-orig/src/bin/psql/print.h	2014-02-17 14:38:15.000000000 -0500
++++ postgresql-9.2.7/src/bin/psql/print.h	2014-03-04 14:42:28.874014415 -0500
+@@ -178,7 +178,7 @@
+ extern const printTextFormat *get_line_style(const printTableOpt *opt);
+ 
+ #ifndef __CYGWIN__
+-#define DEFAULT_PAGER "more"
++#define DEFAULT_PAGER "less"
+ #else
+ #define DEFAULT_PAGER "less"
+ #endif
diff --git a/pkgs/servers/sql/virtuoso/7.x.nix b/pkgs/servers/sql/virtuoso/7.x.nix
index 630095782fa..0c310b18901 100644
--- a/pkgs/servers/sql/virtuoso/7.x.nix
+++ b/pkgs/servers/sql/virtuoso/7.x.nix
@@ -25,11 +25,12 @@ stdenv.mkDerivation rec {
     echo Removing jars and empty directories
     find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
     '';
-  
+
   meta = with stdenv.lib; {
     description = "SQL/RDF database used by, e.g., KDE-nepomuk";
     homepage = http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/;
-    platforms = platforms.all;
+    #configure: The current version [...] can only be build on 64bit platforms
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.urkud ];
   };
 }
diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix
index 22aba3e156f..a6552738ea6 100644
--- a/pkgs/servers/squid/squids.nix
+++ b/pkgs/servers/squid/squids.nix
@@ -16,28 +16,39 @@ rec {
     meta = {
       description = "http-proxy";
       homepage = "http://www.squid-cache.org";
-      license = "GPL2";
+      license = stdenv.lib.licenses.gpl2;
     };
 
   };
 
   squid31 = squid30.merge {
-    name = "squid-3.1.15";
+    name = "squid-3.1.23";
     src = args.fetchurl {
-      url = http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.15.tar.bz2;
-      sha256 = "1300f44dd4783697bacc262a7a9b32dbc9f550367fe82b70262864fdff715a35";
+      url = http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.23.tar.bz2;
+      sha256 = "13g4y0gg48xnlzrvpymb08gh25xi50y383faapkxws7i7v94305s";
     };
   };
 
   squid32 = squid30.merge rec {
-    name = "squid-3.2.2";
+    name = "squid-3.2.13";
     src = args.fetchurl {
       url = "http://www.squid-cache.org/Versions/v3/3.2/${name}.tar.bz2";
-      sha256 = "13jlx3d6rqq7ajxs8bgn8a0mh932jhq6aa8032q205nxnhqs0l4l";
+      sha256 = "0dafqv00dr3nyrm9k47d6r7gv2r3f9hjd1ykl3kkvjca11r4n54j";
     };
-    buildInputs = [openldap pam db4 cyrus_sasl libcap expat libxml2
+    buildInputs = [openldap pam db cyrus_sasl libcap expat libxml2
       libtool openssl];
   };
 
-  latest = squid32;
+  squid34 = squid30.merge rec {
+    name = "squid-3.4.5";
+    src = args.fetchurl {
+      url = "http://www.squid-cache.org/Versions/v3/3.4/${name}.tar.bz2";
+      sha256 = "1d17l27bszdxnvdr78l7yry8ka38cq7g4774m5876q25ny1q1bmr";
+    };
+    buildInputs = [openldap pam db cyrus_sasl libcap expat libxml2
+      libtool openssl];
+    configureFlags = ["--enable-ssl" "--enable-ssl-crtd"];
+  };
+
+  latest = squid34;
 }
diff --git a/pkgs/servers/unfs3/default.nix b/pkgs/servers/unfs3/default.nix
index 96073645cc1..ee566c32def 100644
--- a/pkgs/servers/unfs3/default.nix
+++ b/pkgs/servers/unfs3/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://unfs3.sourceforge.net/;
 
-    license = "BSD";                              # 3-clause BSD
+    license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
new file mode 100644
index 00000000000..8aa15ee9f82
--- /dev/null
+++ b/pkgs/servers/unifi/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "unifi-controller-${version}";
+  version = "3.2.1";
+
+  src = fetchurl {
+    url = "http://dl.ubnt.com/unifi/${version}/UniFi.unix.zip";
+    sha256 = "0x7s5k9wxkw0rcs4c2mdrmmjpcfmbh5pvvpj8brrwnkgx072n53c";
+  };
+
+  buildInputs = [ unzip ];
+
+  doConfigure = false;
+
+  buildPhase = ''
+    rm -rf bin conf readme.txt
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -ar * $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.ubnt.com/;
+    description = "Controller for Ubiquiti UniFi accesspoints";
+    license = licenses.unfree;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/servers/varnish/2.1.nix b/pkgs/servers/varnish/2.1.nix
new file mode 100644
index 00000000000..ef1b177054f
--- /dev/null
+++ b/pkgs/servers/varnish/2.1.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.5";
+  name = "varnish-${version}";
+
+  src = fetchurl {
+    url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
+    sha256 = "10zgwn482gfmfb7n6xwi7p841bs3j58jnk55wg83b85d2jz4k01d";
+  };
+
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
+
+  meta = {
+    description = "Web application accelerator also known as a caching HTTP reverse proxy";
+    homepage = "https://www.varnish-cache.org";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 8d0f3b306f2..8ff26a38808 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.3";
+  version = "3.0.5";
   name = "varnish-${version}";
 
   src = fetchurl {
     url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "1cla2igwfwcm07srvk0z9cqdxh74sga0c1rsmh4b4n1gjn6x2drd";
+    sha256 = "1dz2gazqczfzahh2n0aw71i5g9cpn5d98p9gj6ilqlkiqypxcbrh";
   };
 
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline ];
 
   meta = {
     description = "Web application accelerator also known as a caching HTTP reverse proxy";
diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix
new file mode 100644
index 00000000000..8f5885a4856
--- /dev/null
+++ b/pkgs/servers/x11/quartz-wm/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig }:
+
+let version = "1.3.1";
+in stdenv.mkDerivation {
+  name = "quartz-wm-${version}";
+  src = fetchurl {
+    url = "http://xquartz-dl.macosforge.org/src/quartz-wm-${version}.tar.xz";
+    sha256 = "1j8zd3p7rhay1s3sxq6anw78k5s59mx44xpqla2ianl62346a5g9";
+  };
+  patches = [
+    ./no_title_crash.patch
+    ./extern-patch.patch
+  ];
+  buildInputs = [
+    xorg.libXinerama
+    xorg.libAppleWM
+    xorg.applewmproto
+    xorg.libXrandr
+    xorg.libXext
+    pixman
+    pkgconfig
+  ];
+  meta = with lib; {
+    license = licenses.apsl20;
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/servers/x11/quartz-wm/extern-patch.patch b/pkgs/servers/x11/quartz-wm/extern-patch.patch
new file mode 100644
index 00000000000..cd7b47fc7b0
--- /dev/null
+++ b/pkgs/servers/x11/quartz-wm/extern-patch.patch
@@ -0,0 +1,13 @@
+diff --git a/src/x-list.h b/src/x-list.h
+index bb85c02..059c88b 100644
+--- a/src/x-list.h
++++ b/src/x-list.h
+@@ -39,7 +39,7 @@
+ #endif
+ 
+ #ifndef X_EXTERN
+-# define X_EXTERN __private_extern__
++# define X_EXTERN extern
+ #endif
+ 
+ X_EXTERN void X_PFX (list_free_1) (x_list *node);
diff --git a/pkgs/servers/x11/quartz-wm/no_title_crash.patch b/pkgs/servers/x11/quartz-wm/no_title_crash.patch
new file mode 100644
index 00000000000..751a35072bc
--- /dev/null
+++ b/pkgs/servers/x11/quartz-wm/no_title_crash.patch
@@ -0,0 +1,25 @@
+commit c28527b1340c51f2b492a31e49127106cebbfc5d
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date:   Fri Jun 1 10:38:37 2012 -0700
+
+    Fix a crash when minimizing windows without titles
+    
+    <rdar://problem/11575791>
+    
+    Regression-from: 21f210c923aa5d79400ce46275084f2636c92bd9
+    
+    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+diff --git a/src/x-window.m b/src/x-window.m
+index a210c6a..e3b9066 100644
+--- a/src/x-window.m
++++ b/src/x-window.m
+@@ -2139,7 +2139,7 @@ - (void) do_collapse
+     if (wid == XP_NULL_NATIVE_WINDOW_ID)
+         return;
+ 
+-    title_c = strdup([_title UTF8String]);
++    title_c = strdup([[self title] UTF8String]);
+     assert(title_c);
+ 
+     err = qwm_dock_minimize_item_with_title_async (wid, title_c);
diff --git a/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
new file mode 100644
index 00000000000..cd87e396d4f
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
@@ -0,0 +1,33 @@
+From ec6007e6f7772a90713c9c51c64359229961ce27 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sun, 6 Apr 2014 05:32:00 -0700
+Subject: [PATCH] XQuartz: Ensure we wait for the server thread to terminate
+
+AKA: XQuartz 2.7.5 doesn't delete its /tmp/.X$d-lock
+
+http://xquartz.macosforge.org/trac/ticket/823
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+---
+ hw/xquartz/X11Controller.m | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index 5445c6f..022e832 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -942,9 +942,8 @@ extern char *bundle_id_prefix;
+     /* shutdown the X server, it will exit () for us. */
+     DarwinSendDDXEvent(kXquartzQuit, 0);
+ 
+-    /* In case it doesn't, exit anyway after a while. */
+-    remain = 10000000;
+-    while ((remain = usleep(remain)) > 0) ;
++    /* In case it doesn't, exit anyway after 5s. */
++    [NSThread sleepForTimeInterval:5.0];
+ 
+     exit(1);
+ }
+-- 
+1.9.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch b/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
new file mode 100644
index 00000000000..450801c6f2f
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
@@ -0,0 +1,40 @@
+From d36a301fb3d0f2c7a3d81cbda3fd21d8d36038e5 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri, 13 Jan 2012 12:00:57 -0800
+Subject: [PATCH 5000/5004] sdksyms.sh: Use CPPFLAGS, not CFLAGS
+
+CFLAGS can include flags which are not useful to the preprocessor
+or can even cause it to fail.  This fixes a build issue on darwin
+when building for more than one architecture.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+Reviewed-by: Keith Packard <keithp@keithp.com>
+---
+ hw/xfree86/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
+index c3899b5..4f48b85 100644
+--- a/hw/xfree86/Makefile.am
++++ b/hw/xfree86/Makefile.am
+@@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
+ bin_PROGRAMS = Xorg
+ nodist_Xorg_SOURCES = sdksyms.c
+ 
+-AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
++AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
+ INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+ 	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
+ 	-I$(srcdir)/dri -I$(srcdir)/dri2
+@@ -115,7 +115,7 @@ CLEANFILES = sdksyms.c sdksyms.dep
+ EXTRA_DIST += sdksyms.sh
+ 
+ sdksyms.dep sdksyms.c: sdksyms.sh
+-	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
++	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) $(INCLUDES)
+ 
+ SDKSYMS_DEP = sdksyms.dep
+ include $(SDKSYMS_DEP)
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch b/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
new file mode 100644
index 00000000000..c9a5f7e0f5b
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
@@ -0,0 +1,165 @@
+From 9ca14507a31338fad40d430445a4a4cb8106bc9b Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri, 30 Apr 2010 13:08:25 -0700
+Subject: [PATCH 5001/5004] Workaround the GC clipping problem in miPaintWindow
+ and add some debugging output.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+ mi/miexpose.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 94 insertions(+), 10 deletions(-)
+
+diff --git a/mi/miexpose.c b/mi/miexpose.c
+index 8b7c93f..3e972f7 100644
+--- a/mi/miexpose.c
++++ b/mi/miexpose.c
+@@ -489,7 +489,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
+ void RootlessStartDrawing(WindowPtr pWin);
+ void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
+ Bool IsFramedWindow(WindowPtr pWin);
+-#endif
++#include "../fb/fb.h"
++#endif 
+ 
+ void
+ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -518,23 +519,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     Bool solid = TRUE;
+     DrawablePtr drawable = &pWin->drawable;
+ 
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("START %d BS %d (pR = %ld)\n", what, pWin->backgroundState, ParentRelative);
++    ErrorF("      Rgn: %d %d %d %d\n", prgn->extents.x1, prgn->extents.y1,
++	                               prgn->extents.x2 - prgn->extents.x1,
++	                               prgn->extents.y2 - prgn->extents.y1);
++    ErrorF("      Win: %d %d (%d %d) %d %d\n", pWin->origin.x, pWin->origin.y,
++	                                       pWin->winSize.extents.x1, pWin->winSize.extents.y1,
++	                                       pWin->winSize.extents.x2 - pWin->winSize.extents.x1,
++					       pWin->winSize.extents.y2 - pWin->winSize.extents.y1);
++    ErrorF("     Draw: %d %d %d %d\n", pWin->drawable.x, pWin->drawable.y,
++				       pWin->drawable.width, pWin->drawable.height);
++#endif
++
+ #ifdef ROOTLESS
+     if (!drawable || drawable->type == UNDRAWABLE_WINDOW)
+         return;
++#endif
++    
++    if (what == PW_BACKGROUND)
++    {
++#ifdef ROOTLESS
++        if(IsFramedWindow(pWin)) {
++            RootlessStartDrawing(pWin);
++            RootlessDamageRegion(pWin, prgn);
+ 
+-    if (IsFramedWindow(pWin)) {
+-        RootlessStartDrawing(pWin);
+-        RootlessDamageRegion(pWin, prgn);
+-
+-        if (pWin->backgroundState == ParentRelative) {
+-            if ((what == PW_BACKGROUND) ||
+-                (what == PW_BORDER && !pWin->borderIsPixel))
++            if(pWin->backgroundState == ParentRelative) {
+                 RootlessSetPixmapOfAncestors(pWin);
++            }
+         }
+-    }
+ #endif
+ 
+-    if (what == PW_BACKGROUND) {
+         while (pWin->backgroundState == ParentRelative)
+             pWin = pWin->parent;
+ 
+@@ -559,6 +574,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     else {
+         PixmapPtr pixmap;
+ 
++#ifdef ROOTLESS
++	if(IsFramedWindow(pWin)) {
++	    RootlessStartDrawing(pWin);
++	    RootlessDamageRegion(pWin, prgn);
++	    
++	    if(!pWin->borderIsPixel &&
++		pWin->backgroundState == ParentRelative) {
++		RootlessSetPixmapOfAncestors(pWin);
++	    }
++	}
++#endif
++
+         tile_x_off = drawable->x;
+         tile_y_off = drawable->y;
+ 
+@@ -567,6 +594,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+             return;
+         pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
+         drawable = &pixmap->drawable;
++
++#ifdef XQUARTZ_CLIP_DEBUG
++        ErrorF("     Draw: %d %d %d %d\n",
++               drawable->x, drawable->y, drawable->width, drawable->height);    
++#endif
++	
+ #ifdef COMPOSITE
+         draw_x_off = pixmap->screen_x;
+         draw_y_off = pixmap->screen_y;
+@@ -629,6 +662,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     ChangeGC(NullClient, pGC, gcmask, gcval);
+     ValidateGC(drawable, pGC);
+ 
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("       GC: %d %d %d %d\n",
++	   pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++	   pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++	   pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
++#endif
++    
++#ifdef XQUARTZ
++    /* Looks like our clipping isn't set right for some reason:
++     * http://xquartz.macosforge.org/trac/ticket/290
++     */
++    if(what == PW_BORDER) {
++
++#if 0
++	if(solid) {
++#if 1
++	    fbFillRegionSolid(&pWin->drawable,
++			      prgn,
++			      0,
++			      fbReplicatePixel(fill.pixel,
++					       pWin->drawable.bitsPerPixel));
++#else
++	    fbFillRegionSolid(drawable,
++			      prgn,
++			      0,
++			      fbReplicatePixel(fill.pixel,
++					       drawable->bitsPerPixel));
++#endif
++	    return;
++	}
++#endif
++    
++	pGC->pCompositeClip->extents.x1 += prgn->extents.x1;
++	pGC->pCompositeClip->extents.y1 += prgn->extents.y1;
++	pGC->pCompositeClip->extents.x2 += prgn->extents.x1;
++	pGC->pCompositeClip->extents.y2 += prgn->extents.y1;
++	
++	if(pGC->pCompositeClip->extents.x2 > drawable->pScreen->width)
++	    pGC->pCompositeClip->extents.x2 = drawable->pScreen->width;
++	if(pGC->pCompositeClip->extents.y2 > drawable->pScreen->height)
++	    pGC->pCompositeClip->extents.y2 = drawable->pScreen->height;
++    }
++#endif
++
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("       GC: %d %d %d %d\n",
++	   pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++	   pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++	   pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);    
++#endif
++
+     numRects = RegionNumRects(prgn);
+     pbox = RegionRects(prgn);
+     for (i = numRects; --i >= 0; pbox++, prect++) {
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
new file mode 100644
index 00000000000..9f99ab60335
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
@@ -0,0 +1,316 @@
+From 07f9e0beaf66ec9de1455a305c87ab642968f3f1 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri, 12 Feb 2010 19:48:52 -0800
+Subject: [PATCH 5002/5004] fb: Revert fb changes that broke XQuartz
+
+http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
+Revert "fb: Adjust transform or composite coordinates for pixman operations"
+
+http://bugs.freedesktop.org/26124
+
+This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
+This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+ fb/fb.h     |  3 +--
+ fb/fbpict.c | 82 ++++++++++++++++++-------------------------------------------
+ fb/fbtrap.c | 43 ++++++++++++++------------------
+ 3 files changed, 43 insertions(+), 85 deletions(-)
+
+diff --git a/fb/fb.h b/fb/fb.h
+index b869d12..895b148 100644
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1686,8 +1686,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
+                   RegionPtr pRegion, FbBits and, FbBits xor);
+ 
+ extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
+-                                                 Bool has_clip,
+-                                                 int *xoff, int *yoff);
++                                                 Bool has_clip);
+ 
+ extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
+ 
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index 2804ff4..80c2a91 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -46,23 +46,18 @@ fbComposite(CARD8 op,
+             INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
+ {
+     pixman_image_t *src, *mask, *dest;
+-    int src_xoff, src_yoff;
+-    int msk_xoff, msk_yoff;
+-    int dst_xoff, dst_yoff;
+-
+     miCompositeSourceValidate(pSrc);
+     if (pMask)
+         miCompositeSourceValidate(pMask);
+ 
+-    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+-    mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff);
+-    dest = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict(pSrc, TRUE);
++    mask = image_from_pict(pMask, TRUE);
++    dest = image_from_pict(pDst, TRUE);
+ 
+     if (src && dest && !(pMask && !mask)) {
+         pixman_image_composite(op, src, mask, dest,
+-                               xSrc + src_xoff, ySrc + src_yoff,
+-                               xMask + msk_xoff, yMask + msk_yoff,
+-                               xDst + dst_xoff, yDst + dst_yoff, width, height);
++                               xSrc, ySrc, xMask, yMask, xDst, yDst,
++                               width, height);
+     }
+ 
+     free_pixman_pict(pSrc, src);
+@@ -293,20 +288,22 @@ create_conical_gradient_image(PictGradient * gradient)
+ }
+ 
+ static pixman_image_t *
+-create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++create_bits_picture(PicturePtr pict, Bool has_clip)
+ {
+-    PixmapPtr pixmap;
+     FbBits *bits;
+     FbStride stride;
+-    int bpp;
++    int bpp, xoff, yoff;
+     pixman_image_t *image;
+ 
+-    fbGetDrawablePixmap(pict->pDrawable, pixmap, *xoff, *yoff);
+-    fbGetPixmapBitsData(pixmap, bits, stride, bpp);
++    fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
++
++    bits = (FbBits*)((CARD8*)bits +
++                     (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) +
++                     (pict->pDrawable->x + xoff) * (bpp / 8));
+ 
+     image = pixman_image_create_bits((pixman_format_code_t) pict->format,
+-                                     pixmap->drawable.width,
+-                                     pixmap->drawable.height, (uint32_t *) bits,
++                                     pict->pDrawable->width,
++                                     pict->pDrawable->height, (uint32_t *) bits,
+                                      stride * sizeof(FbStride));
+ 
+     if (!image)
+@@ -333,57 +330,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+         if (pict->clientClipType != CT_NONE)
+             pixman_image_set_has_client_clip(image, TRUE);
+ 
+-        if (*xoff || *yoff)
+-            pixman_region_translate(pict->pCompositeClip, *xoff, *yoff);
++        pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
+ 
+         pixman_image_set_clip_region(image, pict->pCompositeClip);
+ 
+-        if (*xoff || *yoff)
+-            pixman_region_translate(pict->pCompositeClip, -*xoff, -*yoff);
++        pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
+     }
+ 
+     /* Indexed table */
+     if (pict->pFormat->index.devPrivate)
+         pixman_image_set_indexed(image, pict->pFormat->index.devPrivate);
+ 
+-    /* Add in drawable origin to position within the image */
+-    *xoff += pict->pDrawable->x;
+-    *yoff += pict->pDrawable->y;
+-
+     return image;
+ }
+ 
+ static pixman_image_t *image_from_pict_internal(PicturePtr pict, Bool has_clip,
+-                                                int *xoff, int *yoff,
+                                                 Bool is_alpha_map);
+ 
+ static void
+-set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+-                     int *xoff, int *yoff, Bool is_alpha_map)
++set_image_properties(pixman_image_t * image, PicturePtr pict, Bool is_alpha_map)
+ {
+     pixman_repeat_t repeat;
+     pixman_filter_t filter;
+ 
+     if (pict->transform) {
+-        /* For source images, adjust the transform to account
+-         * for the drawable offset within the pixman image,
+-         * then set the offset to 0 as it will be used
+-         * to compute positions within the transformed image.
+-         */
+-        if (!has_clip) {
+-            struct pixman_transform adjusted;
+-
+-            adjusted = *pict->transform;
+-            pixman_transform_translate(&adjusted,
+-                                       NULL,
+-                                       pixman_int_to_fixed(*xoff),
+-                                       pixman_int_to_fixed(*yoff));
+-            pixman_image_set_transform(image, &adjusted);
+-            *xoff = 0;
+-            *yoff = 0;
+-        }
+-        else
+-            pixman_image_set_transform(image, pict->transform);
++        pixman_image_set_transform(image, pict->transform);
+     }
+ 
+     switch (pict->repeatType) {
+@@ -411,10 +382,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+      * as the alpha map for this operation
+      */
+     if (pict->alphaMap && !is_alpha_map) {
+-        int alpha_xoff, alpha_yoff;
+         pixman_image_t *alpha_map =
+-            image_from_pict_internal(pict->alphaMap, FALSE, &alpha_xoff,
+-                                     &alpha_yoff, TRUE);
++            image_from_pict_internal(pict->alphaMap, TRUE, TRUE);
+ 
+         pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
+                                    pict->alphaOrigin.y);
+@@ -448,8 +417,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+ }
+ 
+ static pixman_image_t *
+-image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+-                         Bool is_alpha_map)
++image_from_pict_internal(PicturePtr pict, Bool has_clip, Bool is_alpha_map)
+ {
+     pixman_image_t *image = NULL;
+ 
+@@ -457,7 +425,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+         return NULL;
+ 
+     if (pict->pDrawable) {
+-        image = create_bits_picture(pict, has_clip, xoff, yoff);
++        image = create_bits_picture(pict, has_clip);
+     }
+     else if (pict->pSourcePict) {
+         SourcePict *sp = pict->pSourcePict;
+@@ -475,19 +443,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+             else if (sp->type == SourcePictTypeConical)
+                 image = create_conical_gradient_image(gradient);
+         }
+-        *xoff = *yoff = 0;
+     }
+ 
+     if (image)
+-        set_image_properties(image, pict, has_clip, xoff, yoff, is_alpha_map);
+-
++        set_image_properties (image, pict, is_alpha_map);
+     return image;
+ }
+ 
+ pixman_image_t *
+-image_from_pict(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++image_from_pict (PicturePtr pict, Bool has_clip)
+ {
+-    return image_from_pict_internal(pict, has_clip, xoff, yoff, FALSE);
++    return image_from_pict_internal (pict, has_clip, FALSE);
+ }
+ 
+ void
+diff --git a/fb/fbtrap.c b/fb/fbtrap.c
+index bf82f8f..0145ce9 100644
+--- a/fb/fbtrap.c
++++ b/fb/fbtrap.c
+@@ -36,13 +36,12 @@ fbAddTraps(PicturePtr pPicture,
+            INT16 x_off, INT16 y_off, int ntrap, xTrap * traps)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
+-        return;
+-
+-    pixman_add_traps(image, x_off + dst_xoff, y_off + dst_yoff,
+-                     ntrap, (pixman_trap_t *) traps);
++    if (!(image = image_from_pict (pPicture, FALSE)))
++	return;
++    
++    pixman_add_traps(image, x_off, y_off,
++                     ntrap, (pixman_trap_t *)traps);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -52,13 +51,12 @@ fbRasterizeTrapezoid(PicturePtr pPicture,
+                      xTrapezoid * trap, int x_off, int y_off)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++    if (!(image = image_from_pict (pPicture, FALSE)))
+         return;
+ 
+-    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *) trap,
+-                               x_off + dst_xoff, y_off + dst_yoff);
++    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *)trap,
++                               x_off, y_off);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -68,14 +66,12 @@ fbAddTriangles(PicturePtr pPicture,
+                INT16 x_off, INT16 y_off, int ntri, xTriangle * tris)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++    if (!(image = image_from_pict (pPicture, FALSE)))
+         return;
+-
+-    pixman_add_triangles(image,
+-                         dst_xoff + x_off, dst_yoff + y_off,
+-                         ntri, (pixman_triangle_t *) tris);
++    
++    pixman_add_triangles(image, x_off, y_off, ntri,
++                         (pixman_triangle_t *)tris);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -98,13 +94,11 @@ fbShapes(CompositeShapesFunc composite,
+          int16_t ySrc, int nshapes, int shape_size, const uint8_t * shapes)
+ {
+     pixman_image_t *src, *dst;
+-    int src_xoff, src_yoff;
+-    int dst_xoff, dst_yoff;
+ 
+     miCompositeSourceValidate(pSrc);
+ 
+-    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+-    dst = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict(pSrc, FALSE);
++    dst = image_from_pict(pDst, TRUE);
+ 
+     if (src && dst) {
+         pixman_format_code_t format;
+@@ -121,9 +115,8 @@ fbShapes(CompositeShapesFunc composite,
+ 
+             for (i = 0; i < nshapes; ++i) {
+                 composite(op, src, dst, format,
+-                          xSrc + src_xoff,
+-                          ySrc + src_yoff,
+-                          dst_xoff, dst_yoff, 1, shapes + i * shape_size);
++                          xSrc, ySrc, 0, 0, 
++                          1, shapes + i * shape_size);
+             }
+         }
+         else {
+@@ -143,8 +136,8 @@ fbShapes(CompositeShapesFunc composite,
+             }
+ 
+             composite(op, src, dst, format,
+-                      xSrc + src_xoff,
+-                      ySrc + src_yoff, dst_xoff, dst_yoff, nshapes, shapes);
++                      xSrc, ySrc, 0, 0,
++                      nshapes, shapes);
+         }
+ 
+         DamageRegionProcessPending(pDst->pDrawable);
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
new file mode 100644
index 00000000000..0ff989258fb
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
@@ -0,0 +1,230 @@
+From 4a0444a2773bddc3abbf5305a344001ecfe9378c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Tue, 18 Dec 2012 01:03:38 -0800
+Subject: [PATCH 5003/5004] fb: Revert fb changes that broke XQuartz
+
+    http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
+
+This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
+---
+ configure.ac  |   2 +-
+ fb/fb.h       |   3 --
+ fb/fbpict.c   | 153 +---------------------------------------------------------
+ fb/fbscreen.c |   1 -
+ 4 files changed, 2 insertions(+), 157 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8797df5..99a1e62 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -811,7 +811,7 @@ LIBPCIACCESS="pciaccess >= 0.12.901"
+ LIBUDEV="libudev >= 143"
+ LIBSELINUX="libselinux >= 2.0.86"
+ LIBDBUS="dbus-1 >= 1.0"
+-LIBPIXMAN="pixman-1 >= 0.27.2"
++LIBPIXMAN="pixman-1 >= 0.21.8"
+ 
+ dnl Pixman is always required, but we separate it out so we can link
+ dnl specific modules against it
+diff --git a/fb/fb.h b/fb/fb.h
+index 895b148..cc5759c 100644
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1344,9 +1344,6 @@ extern _X_EXPORT void
+ extern _X_EXPORT Bool
+  fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
+ 
+-extern _X_EXPORT void
+-fbDestroyGlyphCache(void);
+-
+ /*
+  * fbpixmap.c
+  */
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index 80c2a91..dc0ca3c 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -65,156 +65,6 @@ fbComposite(CARD8 op,
+     free_pixman_pict(pDst, dest);
+ }
+ 
+-static pixman_glyph_cache_t *glyphCache;
+-
+-void
+-fbDestroyGlyphCache(void)
+-{
+-    if (glyphCache)
+-    {
+-	pixman_glyph_cache_destroy (glyphCache);
+-	glyphCache = NULL;
+-    }
+-}
+-
+-static void
+-fbUnrealizeGlyph(ScreenPtr pScreen,
+-		 GlyphPtr pGlyph)
+-{
+-    if (glyphCache)
+-	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
+-}
+-
+-static void
+-fbGlyphs(CARD8 op,
+-	 PicturePtr pSrc,
+-	 PicturePtr pDst,
+-	 PictFormatPtr maskFormat,
+-	 INT16 xSrc,
+-	 INT16 ySrc, int nlist,
+-	 GlyphListPtr list,
+-	 GlyphPtr *glyphs)
+-{
+-#define N_STACK_GLYPHS 512
+-    ScreenPtr pScreen = pDst->pDrawable->pScreen;
+-    pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
+-    pixman_glyph_t *pglyphs = stack_glyphs;
+-    pixman_image_t *srcImage, *dstImage;
+-    int srcXoff, srcYoff, dstXoff, dstYoff;
+-    GlyphPtr glyph;
+-    int n_glyphs;
+-    int x, y;
+-    int i, n;
+-    int xDst = list->xOff, yDst = list->yOff;
+-
+-    miCompositeSourceValidate(pSrc);
+-    
+-    n_glyphs = 0;
+-    for (i = 0; i < nlist; ++i)
+-	n_glyphs += list[i].len;
+-
+-    if (!glyphCache)
+-	glyphCache = pixman_glyph_cache_create();
+-
+-    pixman_glyph_cache_freeze (glyphCache);
+-    
+-    if (n_glyphs > N_STACK_GLYPHS) {
+-	if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
+-	    goto out;
+-    }
+-    
+-    i = 0;
+-    x = y = 0;
+-    while (nlist--) {
+-        x += list->xOff;
+-        y += list->yOff;
+-        n = list->len;
+-        while (n--) {
+-	    const void *g;
+-
+-            glyph = *glyphs++;
+-
+-	    if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
+-		pixman_image_t *glyphImage;
+-		PicturePtr pPicture;
+-		int xoff, yoff;
+-
+-		pPicture = GetGlyphPicture(glyph, pScreen);
+-		if (!pPicture) {
+-		    n_glyphs--;
+-		    goto next;
+-		}
+-
+-		if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
+-		    goto out;
+-
+-		g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
+-					      glyph->info.x,
+-					      glyph->info.y,
+-					      glyphImage);
+-
+-		free_pixman_pict(pPicture, glyphImage);
+-
+-		if (!g)
+-		    goto out;
+-	    }
+-
+-	    pglyphs[i].x = x;
+-	    pglyphs[i].y = y;
+-	    pglyphs[i].glyph = g;
+-	    i++;
+-
+-	next:
+-            x += glyph->info.xOff;
+-            y += glyph->info.yOff;
+-	}
+-	list++;
+-    }
+-
+-    if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
+-	goto out;
+-
+-    if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
+-	goto out_free_src;
+-
+-    if (maskFormat) {
+-	pixman_format_code_t format;
+-	pixman_box32_t extents;
+-	int x, y;
+-
+-	format = maskFormat->format | (maskFormat->depth << 24);
+-
+-	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
+-
+-	x = extents.x1;
+-	y = extents.y1;
+-
+-	pixman_composite_glyphs(op, srcImage, dstImage, format,
+-				xSrc + srcXoff + xDst, ySrc + srcYoff + yDst,
+-				x, y,
+-				x + dstXoff, y + dstYoff,
+-				extents.x2 - extents.x1,
+-				extents.y2 - extents.y1,
+-				glyphCache, n_glyphs, pglyphs);
+-    }
+-    else {
+-	pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
+-					xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
+-					dstXoff, dstYoff,
+-					glyphCache, n_glyphs, pglyphs);
+-    }
+-
+-    free_pixman_pict(pDst, dstImage);
+-
+-out_free_src:
+-    free_pixman_pict(pSrc, srcImage);
+-
+-out:
+-    pixman_glyph_cache_thaw(glyphCache);
+-    if (pglyphs != stack_glyphs)
+-	free(pglyphs);
+-}
+-
+ static pixman_image_t *
+ create_solid_fill_image(PicturePtr pict)
+ {
+@@ -473,8 +323,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+         return FALSE;
+     ps = GetPictureScreen(pScreen);
+     ps->Composite = fbComposite;
+-    ps->Glyphs = fbGlyphs;
+-    ps->UnrealizeGlyph = fbUnrealizeGlyph;
++    ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+     ps->Trapezoids = fbTrapezoids;
+diff --git a/fb/fbscreen.c b/fb/fbscreen.c
+index f9080a4..7c7d656 100644
+--- a/fb/fbscreen.c
++++ b/fb/fbscreen.c
+@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
+     int d;
+     DepthPtr depths = pScreen->allowedDepths;
+ 
+-    fbDestroyGlyphCache();
+     for (d = 0; d < pScreen->numDepths; d++)
+         free(depths[d].vids);
+     free(depths);
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch b/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
new file mode 100644
index 00000000000..f70ddf9e6af
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
@@ -0,0 +1,297 @@
+From bd9fce8b74f5358e4d7e5ce9b5cdd8fd195bb3fd Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 2 Nov 2013 11:00:23 -0700
+Subject: [PATCH 5004/5004] Use old miTrapezoids and miTriangles routines
+
+Reverts commits:
+    788ccb9a8bcf6a4fb4054c507111eec3338fb969
+    566f1931ee2916269e164e114bffaf2da1d039d1
+
+http://xquartz.macosforge.org/trac/ticket/525
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+---
+ fb/fbpict.c     |   2 -
+ render/mipict.c |   4 +-
+ render/mipict.h |  27 ++++++++++++++
+ render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ render/mitri.c  |  61 +++++++++++++++++++++++++++++++
+ 5 files changed, 201 insertions(+), 4 deletions(-)
+
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index dc0ca3c..276ff06 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -326,10 +326,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+-    ps->Trapezoids = fbTrapezoids;
+     ps->AddTraps = fbAddTraps;
+     ps->AddTriangles = fbAddTriangles;
+-    ps->Triangles = fbTriangles;
+ 
+     return TRUE;
+ }
+diff --git a/render/mipict.c b/render/mipict.c
+index 2e64b20..d21b58a 100644
+--- a/render/mipict.c
++++ b/render/mipict.c
+@@ -595,8 +595,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->Composite = 0;          /* requires DDX support */
+     ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+-    ps->Trapezoids = 0;
+-    ps->Triangles = 0;
++    ps->Trapezoids = miTrapezoids;
++    ps->Triangles = miTriangles;
+ 
+     ps->RasterizeTrapezoid = 0; /* requires DDX support */
+     ps->AddTraps = 0;           /* requires DDX support */
+diff --git a/render/mipict.h b/render/mipict.h
+index 9436228..7ee2991 100644
+--- a/render/mipict.h
++++ b/render/mipict.h
+@@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
+                  xRenderColor * color, int nRect, xRectangle *rects);
+ 
+ extern _X_EXPORT void
++miTriangles (CARD8	    op,
++	     PicturePtr	    pSrc,
++	     PicturePtr	    pDst,
++	     PictFormatPtr  maskFormat,
++	     INT16	    xSrc,
++	     INT16	    ySrc,
++	     int	    ntri,
++	     xTriangle	    *tris);
++
++extern _X_EXPORT void
+ 
+ miTriStrip(CARD8 op,
+            PicturePtr pSrc,
+@@ -137,10 +147,27 @@ miTriFan(CARD8 op,
+          PictFormatPtr maskFormat,
+          INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
+ 
++extern _X_EXPORT PicturePtr
++miCreateAlphaPicture (ScreenPtr	    pScreen, 
++		      PicturePtr    pDst,
++		      PictFormatPtr pPictFormat,
++		      CARD16	    width,
++		      CARD16	    height);
++
+ extern _X_EXPORT void
+  miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);
+ 
+ extern _X_EXPORT void
++miTrapezoids (CARD8        op,
++             PicturePtr    pSrc,
++             PicturePtr    pDst,
++             PictFormatPtr maskFormat,
++             INT16         xSrc,
++             INT16         ySrc,
++             int           ntrap,
++             xTrapezoid    *traps);
++
++extern _X_EXPORT void
+  miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds);
+ 
+ extern _X_EXPORT void
+diff --git a/render/mitrap.c b/render/mitrap.c
+index 17b6dcd..71c1857 100644
+--- a/render/mitrap.c
++++ b/render/mitrap.c
+@@ -34,6 +34,55 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+ 
++PicturePtr
++miCreateAlphaPicture (ScreenPtr	    pScreen, 
++		      PicturePtr    pDst,
++		      PictFormatPtr pPictFormat,
++		      CARD16	    width,
++		      CARD16	    height)
++{
++    PixmapPtr	    pPixmap;
++    PicturePtr	    pPicture;
++    GCPtr	    pGC;
++    int		    error;
++    xRectangle	    rect;
++
++    if (width > 32767 || height > 32767)
++	return 0;
++
++    if (!pPictFormat)
++    {
++	if (pDst->polyEdge == PolyEdgeSharp)
++	    pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++	else
++	    pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++	if (!pPictFormat)
++	    return 0;
++    }
++
++    pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 
++					pPictFormat->depth, 0);
++    if (!pPixmap)
++	return 0;
++    pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
++    if (!pGC)
++    {
++	(*pScreen->DestroyPixmap) (pPixmap);
++	return 0;
++    }
++    ValidateGC (&pPixmap->drawable, pGC);
++    rect.x = 0;
++    rect.y = 0;
++    rect.width = width;
++    rect.height = height;
++    (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
++    FreeScratchGC (pGC);
++    pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
++			      0, 0, serverClient, &error);
++    (*pScreen->DestroyPixmap) (pPixmap);
++    return pPicture;
++}
++
+ static xFixed
+ miLineFixedX(xLineFixed * l, xFixed y, Bool ceil)
+ {
+@@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box)
+             box->x2 = x2;
+     }
+ }
++
++
++void
++miTrapezoids (CARD8        op,
++             PicturePtr    pSrc,
++             PicturePtr    pDst,
++             PictFormatPtr maskFormat,
++             INT16         xSrc,
++             INT16         ySrc,
++             int           ntrap,
++             xTrapezoid    *traps)
++{
++    ScreenPtr          pScreen = pDst->pDrawable->pScreen;
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++
++    /*
++     * Check for solid alpha add
++     */
++    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++    {
++       for (; ntrap; ntrap--, traps++)
++           (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
++    } 
++    else if (maskFormat)
++    {
++       PicturePtr      pPicture;
++       BoxRec          bounds;
++       INT16           xDst, yDst;
++       INT16           xRel, yRel;
++       
++       xDst = traps[0].left.p1.x >> 16;
++       yDst = traps[0].left.p1.y >> 16;
++
++       miTrapezoidBounds (ntrap, traps, &bounds);
++       if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
++           return;
++       pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++                                        bounds.x2 - bounds.x1,
++                                        bounds.y2 - bounds.y1);
++       if (!pPicture)
++           return;
++       for (; ntrap; ntrap--, traps++)
++           (*ps->RasterizeTrapezoid) (pPicture, traps, 
++                                      -bounds.x1, -bounds.y1);
++       xRel = bounds.x1 + xSrc - xDst;
++       yRel = bounds.y1 + ySrc - yDst;
++       CompositePicture (op, pSrc, pPicture, pDst,
++                         xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++                         bounds.x2 - bounds.x1,
++                         bounds.y2 - bounds.y1);
++       FreePicture (pPicture, 0);
++    }
++    else
++    {
++       if (pDst->polyEdge == PolyEdgeSharp)
++           maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++       else
++           maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++       for (; ntrap; ntrap--, traps++)
++           miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
++    }
++}
+diff --git a/render/mitri.c b/render/mitri.c
+index 922f22a..bdca9ca 100644
+--- a/render/mitri.c
++++ b/render/mitri.c
+@@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds)
+ {
+     miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds);
+ }
++
++
++void
++miTriangles (CARD8	    op,
++	     PicturePtr	    pSrc,
++	     PicturePtr	    pDst,
++	     PictFormatPtr  maskFormat,
++	     INT16	    xSrc,
++	     INT16	    ySrc,
++	     int	    ntri,
++	     xTriangle	    *tris)
++{
++    ScreenPtr		pScreen = pDst->pDrawable->pScreen;
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++    
++    /*
++     * Check for solid alpha add
++     */
++    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++    {
++	(*ps->AddTriangles) (pDst, 0, 0, ntri, tris);
++    }
++    else if (maskFormat)
++    {
++	BoxRec		bounds;
++	PicturePtr	pPicture;
++	INT16		xDst, yDst;
++	INT16		xRel, yRel;
++	
++	xDst = tris[0].p1.x >> 16;
++	yDst = tris[0].p1.y >> 16;
++
++	miTriangleBounds (ntri, tris, &bounds);
++	if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1)
++	    return;
++	pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++					 bounds.x2 - bounds.x1,
++					 bounds.y2 - bounds.y1);
++	if (!pPicture)
++	    return;
++	(*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris);
++	
++	xRel = bounds.x1 + xSrc - xDst;
++	yRel = bounds.y1 + ySrc - yDst;
++	CompositePicture (op, pSrc, pPicture, pDst,
++			  xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++			  bounds.x2 - bounds.x1, bounds.y2 - bounds.y1);
++	FreePicture (pPicture, 0);
++    }
++    else
++    {
++	if (pDst->polyEdge == PolyEdgeSharp)
++	    maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++	else
++	    maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++	
++	for (; ntri; ntri--, tris++)
++	    miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris);
++    }
++}
++
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/bundle_main.patch b/pkgs/servers/x11/xorg/darwin/bundle_main.patch
new file mode 100644
index 00000000000..e60ca5738d1
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/bundle_main.patch
@@ -0,0 +1,118 @@
+cstrahan:
+
+This patch makes it possible (and necessary) to specify the default
+shell, xterm client, and startx script from environment variables. These
+defaults are used when launching the XQuartz.app, which in turn needs to know
+how to start the X server. I've patched `command_from_prefs' so that it ignores
+the preferences settings and immediately sets them to whatever the environment
+variables are.
+
+When developing an installable package for XQuartz/XQuartz.app, we'll need to
+set an `LSEnvironment' entry in the plist for the XQuartz.app, we'll also need
+to wrap the XQuartz.app/Contents/MacOS/X11 script (the Xquartz server will
+invoke this script during initialization. See stub.patch for more details.).
+
+diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
+index b403662..b1e2070 100644
+--- a/hw/xquartz/mach-startup/bundle-main.c
++++ b/hw/xquartz/mach-startup/bundle-main.c
+@@ -77,13 +77,7 @@ FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN;
+ 
+ extern int noPanoramiXExtension;
+ 
+-#define DEFAULT_CLIENT X11BINDIR "/xterm"
+-#define DEFAULT_STARTX X11BINDIR "/startx -- " X11BINDIR "/Xquartz"
+-#define DEFAULT_SHELL  "/bin/sh"
+-
+-#ifndef BUILD_DATE
+ #define BUILD_DATE ""
+-#endif
+ #ifndef XSERVER_VERSION
+ #define XSERVER_VERSION "?"
+ #endif
+@@ -718,14 +712,14 @@ main(int argc, char **argv, char **envp)
+         pid_t child1, child2;
+         int status;
+ 
+-        pref_app_to_run = command_from_prefs("app_to_run", DEFAULT_CLIENT);
++        pref_app_to_run = command_from_prefs("app_to_run", getenv("XQUARTZ_DEFAULT_CLIENT"));
+         assert(pref_app_to_run);
+ 
+-        pref_login_shell = command_from_prefs("login_shell", DEFAULT_SHELL);
++        pref_login_shell = command_from_prefs("login_shell", getenv("XQUARTZ_DEFAULT_SHELL"));
+         assert(pref_login_shell);
+ 
+         pref_startx_script = command_from_prefs("startx_script",
+-                                                DEFAULT_STARTX);
++                                                getenv("XQUARTZ_DEFAULT_STARTX"));
+         assert(pref_startx_script);
+ 
+         /* Do the fork-twice trick to avoid having to reap zombies */
+@@ -804,10 +798,12 @@ execute(const char *command)
+ static char *
+ command_from_prefs(const char *key, const char *default_value)
+ {
++    if (default_value == NULL)
++        return NULL;
++
+     char *command = NULL;
+ 
+     CFStringRef cfKey;
+-    CFPropertyListRef PlistRef;
+ 
+     if (!key)
+         return NULL;
+@@ -817,40 +813,24 @@ command_from_prefs(const char *key, const char *default_value)
+     if (!cfKey)
+         return NULL;
+ 
+-    PlistRef = CFPreferencesCopyAppValue(cfKey,
+-                                         kCFPreferencesCurrentApplication);
++    CFStringRef cfDefaultValue = CFStringCreateWithCString(
++        NULL, default_value, kCFStringEncodingASCII);
++    int len = strlen(default_value) + 1;
+ 
+-    if ((PlistRef == NULL) ||
+-        (CFGetTypeID(PlistRef) != CFStringGetTypeID())) {
+-        CFStringRef cfDefaultValue = CFStringCreateWithCString(
+-            NULL, default_value, kCFStringEncodingASCII);
+-        int len = strlen(default_value) + 1;
++    if (!cfDefaultValue)
++        goto command_from_prefs_out;
+ 
+-        if (!cfDefaultValue)
+-            goto command_from_prefs_out;
++    CFPreferencesSetAppValue(cfKey, cfDefaultValue,
++                             kCFPreferencesCurrentApplication);
++    CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
++    CFRelease(cfDefaultValue);
+ 
+-        CFPreferencesSetAppValue(cfKey, cfDefaultValue,
+-                                 kCFPreferencesCurrentApplication);
+-        CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
+-        CFRelease(cfDefaultValue);
+-
+-        command = (char *)malloc(len * sizeof(char));
+-        if (!command)
+-            goto command_from_prefs_out;
+-        strcpy(command, default_value);
+-    }
+-    else {
+-        int len = CFStringGetLength((CFStringRef)PlistRef) + 1;
+-        command = (char *)malloc(len * sizeof(char));
+-        if (!command)
+-            goto command_from_prefs_out;
+-        CFStringGetCString((CFStringRef)PlistRef, command, len,
+-                           kCFStringEncodingASCII);
+-    }
++    command = (char *)malloc(len * sizeof(char));
++    if (!command)
++        goto command_from_prefs_out;
++    strcpy(command, default_value);
+ 
+ command_from_prefs_out:
+-    if (PlistRef)
+-        CFRelease(PlistRef);
+     if (cfKey)
+         CFRelease(cfKey);
+     return command;
diff --git a/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h b/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h
new file mode 100644
index 00000000000..b012570ae13
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h
@@ -0,0 +1,1409 @@
+/*
+ * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+ * Copyright 2007-2008 Red Hat, Inc.
+ * (C) Copyright IBM Corporation 2004
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file dri_interface.h
+ *
+ * This file contains all the types and functions that define the interface
+ * between a DRI driver and driver loader.  Currently, the most common driver
+ * loader is the XFree86 libGL.so.  However, other loaders do exist, and in
+ * the future the server-side libglx.a will also be a loader.
+ * 
+ * \author Kevin E. Martin <kevin@precisioninsight.com>
+ * \author Ian Romanick <idr@us.ibm.com>
+ * \author Kristian Høgsberg <krh@redhat.com>
+ */
+
+#ifndef DRI_INTERFACE_H
+#define DRI_INTERFACE_H
+
+/* For archs with no drm.h */
+#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__)
+#ifndef __NOT_HAVE_DRM_H
+#define __NOT_HAVE_DRM_H
+#endif
+#endif
+
+#ifndef __NOT_HAVE_DRM_H
+#include <drm.h>
+#else
+typedef unsigned int drm_context_t;
+typedef unsigned int drm_drawable_t;
+typedef struct drm_clip_rect drm_clip_rect_t;
+#endif
+
+/**
+ * \name DRI interface structures
+ *
+ * The following structures define the interface between the GLX client
+ * side library and the DRI (direct rendering infrastructure).
+ */
+/*@{*/
+typedef struct __DRIdisplayRec		__DRIdisplay;
+typedef struct __DRIscreenRec		__DRIscreen;
+typedef struct __DRIcontextRec		__DRIcontext;
+typedef struct __DRIdrawableRec		__DRIdrawable;
+typedef struct __DRIconfigRec		__DRIconfig;
+typedef struct __DRIframebufferRec	__DRIframebuffer;
+typedef struct __DRIversionRec		__DRIversion;
+
+typedef struct __DRIcoreExtensionRec		__DRIcoreExtension;
+typedef struct __DRIextensionRec		__DRIextension;
+typedef struct __DRIcopySubBufferExtensionRec	__DRIcopySubBufferExtension;
+typedef struct __DRIswapControlExtensionRec	__DRIswapControlExtension;
+typedef struct __DRIframeTrackingExtensionRec	__DRIframeTrackingExtension;
+typedef struct __DRImediaStreamCounterExtensionRec	__DRImediaStreamCounterExtension;
+typedef struct __DRItexOffsetExtensionRec	__DRItexOffsetExtension;
+typedef struct __DRItexBufferExtensionRec	__DRItexBufferExtension;
+typedef struct __DRIlegacyExtensionRec		__DRIlegacyExtension;
+typedef struct __DRIswrastExtensionRec		__DRIswrastExtension;
+typedef struct __DRIbufferRec			__DRIbuffer;
+typedef struct __DRIdri2ExtensionRec		__DRIdri2Extension;
+typedef struct __DRIdri2LoaderExtensionRec	__DRIdri2LoaderExtension;
+typedef struct __DRI2flushExtensionRec	__DRI2flushExtension;
+typedef struct __DRI2throttleExtensionRec	__DRI2throttleExtension;
+
+
+typedef struct __DRIimageLoaderExtensionRec     __DRIimageLoaderExtension;
+typedef struct __DRIimageDriverExtensionRec     __DRIimageDriverExtension;
+
+/*@}*/
+
+
+/**
+ * Extension struct.  Drivers 'inherit' from this struct by embedding
+ * it as the first element in the extension struct.
+ *
+ * We never break API in for a DRI extension.  If we need to change
+ * the way things work in a non-backwards compatible manner, we
+ * introduce a new extension.  During a transition period, we can
+ * leave both the old and the new extension in the driver, which
+ * allows us to move to the new interface without having to update the
+ * loader(s) in lock step.
+ *
+ * However, we can add entry points to an extension over time as long
+ * as we don't break the old ones.  As we add entry points to an
+ * extension, we increase the version number.  The corresponding
+ * #define can be used to guard code that accesses the new entry
+ * points at compile time and the version field in the extension
+ * struct can be used at run-time to determine how to use the
+ * extension.
+ */
+struct __DRIextensionRec {
+    const char *name;
+    int version;
+};
+
+/**
+ * The first set of extension are the screen extensions, returned by
+ * __DRIcore::getExtensions().  This entry point will return a list of
+ * extensions and the loader can use the ones it knows about by
+ * casting them to more specific extensions and advertising any GLX
+ * extensions the DRI extensions enables.
+ */
+
+/**
+ * Used by drivers to indicate support for setting the read drawable.
+ */
+#define __DRI_READ_DRAWABLE "DRI_ReadDrawable"
+#define __DRI_READ_DRAWABLE_VERSION 1
+
+/**
+ * Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.
+ */
+#define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer"
+#define __DRI_COPY_SUB_BUFFER_VERSION 1
+struct __DRIcopySubBufferExtensionRec {
+    __DRIextension base;
+    void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h);
+};
+
+/**
+ * Used by drivers that implement the GLX_SGI_swap_control or
+ * GLX_MESA_swap_control extension.
+ */
+#define __DRI_SWAP_CONTROL "DRI_SwapControl"
+#define __DRI_SWAP_CONTROL_VERSION 1
+struct __DRIswapControlExtensionRec {
+    __DRIextension base;
+    void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval);
+    unsigned int (*getSwapInterval)(__DRIdrawable *drawable);
+};
+
+/**
+ * Used by drivers that implement the GLX_MESA_swap_frame_usage extension.
+ */
+#define __DRI_FRAME_TRACKING "DRI_FrameTracking"
+#define __DRI_FRAME_TRACKING_VERSION 1
+struct __DRIframeTrackingExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Enable or disable frame usage tracking.
+     * 
+     * \since Internal API version 20030317.
+     */
+    int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable);
+
+    /**
+     * Retrieve frame usage information.
+     * 
+     * \since Internal API version 20030317.
+     */
+    int (*queryFrameTracking)(__DRIdrawable *drawable,
+			      int64_t * sbc, int64_t * missedFrames,
+			      float * lastMissedUsage, float * usage);
+};
+
+
+/**
+ * Used by drivers that implement the GLX_SGI_video_sync extension.
+ */
+#define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter"
+#define __DRI_MEDIA_STREAM_COUNTER_VERSION 1
+struct __DRImediaStreamCounterExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Wait for the MSC to equal target_msc, or, if that has already passed,
+     * the next time (MSC % divisor) is equal to remainder.  If divisor is
+     * zero, the function will return as soon as MSC is greater than or equal
+     * to target_msc.
+     */
+    int (*waitForMSC)(__DRIdrawable *drawable,
+		      int64_t target_msc, int64_t divisor, int64_t remainder,
+		      int64_t * msc, int64_t * sbc);
+
+    /**
+     * Get the number of vertical refreshes since some point in time before
+     * this function was first called (i.e., system start up).
+     */
+    int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable,
+			  int64_t *msc);
+};
+
+
+#define __DRI_TEX_OFFSET "DRI_TexOffset"
+#define __DRI_TEX_OFFSET_VERSION 1
+struct __DRItexOffsetExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Method to override base texture image with a driver specific 'offset'.
+     * The depth passed in allows e.g. to ignore the alpha channel of texture
+     * images where the non-alpha components don't occupy a whole texel.
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.
+     */
+    void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
+			 unsigned long long offset, GLint depth, GLuint pitch);
+};
+
+
+/* Valid values for format in the setTexBuffer2 function below.  These
+ * values match the GLX tokens for compatibility reasons, but we
+ * define them here since the DRI interface can't depend on GLX. */
+#define __DRI_TEXTURE_FORMAT_NONE        0x20D8
+#define __DRI_TEXTURE_FORMAT_RGB         0x20D9
+#define __DRI_TEXTURE_FORMAT_RGBA        0x20DA
+
+#define __DRI_TEX_BUFFER "DRI_TexBuffer"
+#define __DRI_TEX_BUFFER_VERSION 2
+struct __DRItexBufferExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Method to override base texture image with the contents of a
+     * __DRIdrawable. 
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.  Deprecated in favor of
+     * setTexBuffer2 in version 2 of this interface
+     */
+    void (*setTexBuffer)(__DRIcontext *pDRICtx,
+			 GLint target,
+			 __DRIdrawable *pDraw);
+
+    /**
+     * Method to override base texture image with the contents of a
+     * __DRIdrawable, including the required texture format attribute.
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.
+     */
+    void (*setTexBuffer2)(__DRIcontext *pDRICtx,
+			  GLint target,
+			  GLint format,
+			  __DRIdrawable *pDraw);
+    /**
+     * Method to release texture buffer in case some special platform
+     * need this.
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.
+     */
+    void (*releaseTexBuffer)(__DRIcontext *pDRICtx,
+			GLint target,
+			__DRIdrawable *pDraw);
+};
+
+/**
+ * Used by drivers that implement DRI2
+ */
+#define __DRI2_FLUSH "DRI2_Flush"
+#define __DRI2_FLUSH_VERSION 4
+
+#define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */
+#define __DRI2_FLUSH_CONTEXT  (1 << 1) /* glFlush should be called */
+
+enum __DRI2throttleReason {
+   __DRI2_THROTTLE_SWAPBUFFER,
+   __DRI2_THROTTLE_COPYSUBBUFFER,
+   __DRI2_THROTTLE_FLUSHFRONT
+};
+
+struct __DRI2flushExtensionRec {
+    __DRIextension base;
+    void (*flush)(__DRIdrawable *drawable);
+
+    /**
+     * Ask the driver to call getBuffers/getBuffersWithFormat before
+     * it starts rendering again.
+     *
+     * \param drawable the drawable to invalidate
+     *
+     * \since 3
+     */
+    void (*invalidate)(__DRIdrawable *drawable);
+
+    /**
+     * This function reduces the number of flushes in the driver by combining
+     * several operations into one call.
+     *
+     * It can:
+     * - throttle
+     * - flush a drawable
+     * - flush a context
+     *
+     * \param context           the context
+     * \param drawable          the drawable to flush
+     * \param flags             a combination of _DRI2_FLUSH_xxx flags
+     * \param throttle_reason   the reason for throttling, 0 = no throttling
+     *
+     * \since 4
+     */
+    void (*flush_with_flags)(__DRIcontext *ctx,
+                             __DRIdrawable *drawable,
+                             unsigned flags,
+                             enum __DRI2throttleReason throttle_reason);
+};
+
+
+/**
+ * Extension that the driver uses to request
+ * throttle callbacks.
+ */
+
+#define __DRI2_THROTTLE "DRI2_Throttle"
+#define __DRI2_THROTTLE_VERSION 1
+
+struct __DRI2throttleExtensionRec {
+   __DRIextension base;
+   void (*throttle)(__DRIcontext *ctx,
+		    __DRIdrawable *drawable,
+		    enum __DRI2throttleReason reason);
+};
+
+/*@}*/
+
+/**
+ * The following extensions describe loader features that the DRI
+ * driver can make use of.  Some of these are mandatory, such as the
+ * getDrawableInfo extension for DRI and the DRI Loader extensions for
+ * DRI2, while others are optional, and if present allow the driver to
+ * expose certain features.  The loader pass in a NULL terminated
+ * array of these extensions to the driver in the createNewScreen
+ * constructor.
+ */
+
+typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension;
+typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension;
+typedef struct __DRIdamageExtensionRec __DRIdamageExtension;
+typedef struct __DRIloaderExtensionRec __DRIloaderExtension;
+typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension;
+
+
+/**
+ * Callback to getDrawableInfo protocol
+ */
+#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo"
+#define __DRI_GET_DRAWABLE_INFO_VERSION 1
+struct __DRIgetDrawableInfoExtensionRec {
+    __DRIextension base;
+
+    /**
+     * This function is used to get information about the position, size, and
+     * clip rects of a drawable.
+     */
+    GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable,
+	unsigned int * index, unsigned int * stamp,
+        int * x, int * y, int * width, int * height,
+        int * numClipRects, drm_clip_rect_t ** pClipRects,
+        int * backX, int * backY,
+	int * numBackClipRects, drm_clip_rect_t ** pBackClipRects,
+	void *loaderPrivate);
+};
+
+/**
+ * Callback to get system time for media stream counter extensions.
+ */
+#define __DRI_SYSTEM_TIME "DRI_SystemTime"
+#define __DRI_SYSTEM_TIME_VERSION 1
+struct __DRIsystemTimeExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Get the 64-bit unadjusted system time (UST).
+     */
+    int (*getUST)(int64_t * ust);
+
+    /**
+     * Get the media stream counter (MSC) rate.
+     * 
+     * Matching the definition in GLX_OML_sync_control, this function returns
+     * the rate of the "media stream counter".  In practical terms, this is
+     * the frame refresh rate of the display.
+     */
+    GLboolean (*getMSCRate)(__DRIdrawable *draw,
+			    int32_t * numerator, int32_t * denominator,
+			    void *loaderPrivate);
+};
+
+/**
+ * Damage reporting
+ */
+#define __DRI_DAMAGE "DRI_Damage"
+#define __DRI_DAMAGE_VERSION 1
+struct __DRIdamageExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Reports areas of the given drawable which have been modified by the
+     * driver.
+     *
+     * \param drawable which the drawing was done to.
+     * \param rects rectangles affected, with the drawable origin as the
+     *	      origin.
+     * \param x X offset of the drawable within the screen (used in the
+     *	      front_buffer case)
+     * \param y Y offset of the drawable within the screen.
+     * \param front_buffer boolean flag for whether the drawing to the
+     * 	      drawable was actually done directly to the front buffer (instead
+     *	      of backing storage, for example)
+     * \param loaderPrivate the data passed in at createNewDrawable time
+     */
+    void (*reportDamage)(__DRIdrawable *draw,
+			 int x, int y,
+			 drm_clip_rect_t *rects, int num_rects,
+			 GLboolean front_buffer,
+			 void *loaderPrivate);
+};
+
+#define __DRI_SWRAST_IMAGE_OP_DRAW	1
+#define __DRI_SWRAST_IMAGE_OP_CLEAR	2
+#define __DRI_SWRAST_IMAGE_OP_SWAP	3
+
+/**
+ * SWRast Loader extension.
+ */
+#define __DRI_SWRAST_LOADER "DRI_SWRastLoader"
+#define __DRI_SWRAST_LOADER_VERSION 1
+struct __DRIswrastLoaderExtensionRec {
+    __DRIextension base;
+
+    /*
+     * Drawable position and size
+     */
+    void (*getDrawableInfo)(__DRIdrawable *drawable,
+			    int *x, int *y, int *width, int *height,
+			    void *loaderPrivate);
+
+    /**
+     * Put image to drawable
+     */
+    void (*putImage)(__DRIdrawable *drawable, int op,
+		     int x, int y, int width, int height,
+		     char *data, void *loaderPrivate);
+
+    /**
+     * Get image from readable
+     */
+    void (*getImage)(__DRIdrawable *readable,
+		     int x, int y, int width, int height,
+		     char *data, void *loaderPrivate);
+};
+
+/**
+ * Invalidate loader extension.  The presence of this extension
+ * indicates to the DRI driver that the loader will call invalidate in
+ * the __DRI2_FLUSH extension, whenever the needs to query for new
+ * buffers.  This means that the DRI driver can drop the polling in
+ * glViewport().
+ *
+ * The extension doesn't provide any functionality, it's only use to
+ * indicate to the driver that it can use the new semantics.  A DRI
+ * driver can use this to switch between the different semantics or
+ * just refuse to initialize if this extension isn't present.
+ */
+#define __DRI_USE_INVALIDATE "DRI_UseInvalidate"
+#define __DRI_USE_INVALIDATE_VERSION 1
+
+typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension;
+struct __DRIuseInvalidateExtensionRec {
+   __DRIextension base;
+};
+
+/**
+ * The remaining extensions describe driver extensions, immediately
+ * available interfaces provided by the driver.  To start using the
+ * driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for
+ * the extension you need in the array.
+ */
+#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions"
+
+/**
+ * This symbol replaces the __DRI_DRIVER_EXTENSIONS symbol, and will be
+ * suffixed by "_drivername", allowing multiple drivers to be built into one
+ * library, and also giving the driver the chance to return a variable driver
+ * extensions struct depending on the driver name being loaded or any other
+ * system state.
+ *
+ * The function prototype is:
+ *
+ * const __DRIextension **__driDriverGetExtensions_drivername(void);
+ */
+#define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions"
+
+/**
+ * Tokens for __DRIconfig attribs.  A number of attributes defined by
+ * GLX or EGL standards are not in the table, as they must be provided
+ * by the loader.  For example, FBConfig ID or visual ID, drawable type.
+ */
+
+#define __DRI_ATTRIB_BUFFER_SIZE		 1
+#define __DRI_ATTRIB_LEVEL			 2
+#define __DRI_ATTRIB_RED_SIZE			 3
+#define __DRI_ATTRIB_GREEN_SIZE			 4
+#define __DRI_ATTRIB_BLUE_SIZE			 5
+#define __DRI_ATTRIB_LUMINANCE_SIZE		 6
+#define __DRI_ATTRIB_ALPHA_SIZE			 7
+#define __DRI_ATTRIB_ALPHA_MASK_SIZE		 8
+#define __DRI_ATTRIB_DEPTH_SIZE			 9
+#define __DRI_ATTRIB_STENCIL_SIZE		10
+#define __DRI_ATTRIB_ACCUM_RED_SIZE		11
+#define __DRI_ATTRIB_ACCUM_GREEN_SIZE		12
+#define __DRI_ATTRIB_ACCUM_BLUE_SIZE		13
+#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE		14
+#define __DRI_ATTRIB_SAMPLE_BUFFERS		15
+#define __DRI_ATTRIB_SAMPLES			16
+#define __DRI_ATTRIB_RENDER_TYPE		17
+#define __DRI_ATTRIB_CONFIG_CAVEAT		18
+#define __DRI_ATTRIB_CONFORMANT			19
+#define __DRI_ATTRIB_DOUBLE_BUFFER		20
+#define __DRI_ATTRIB_STEREO			21
+#define __DRI_ATTRIB_AUX_BUFFERS		22
+#define __DRI_ATTRIB_TRANSPARENT_TYPE		23
+#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE	24
+#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE	25
+#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE	26
+#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE	27
+#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE	28
+#define __DRI_ATTRIB_FLOAT_MODE			29
+#define __DRI_ATTRIB_RED_MASK			30
+#define __DRI_ATTRIB_GREEN_MASK			31
+#define __DRI_ATTRIB_BLUE_MASK			32
+#define __DRI_ATTRIB_ALPHA_MASK			33
+#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH		34
+#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT		35
+#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS		36
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH	37
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT	38
+#define __DRI_ATTRIB_VISUAL_SELECT_GROUP	39
+#define __DRI_ATTRIB_SWAP_METHOD		40
+#define __DRI_ATTRIB_MAX_SWAP_INTERVAL		41
+#define __DRI_ATTRIB_MIN_SWAP_INTERVAL		42
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB	43
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA	44
+#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE	45
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS	46
+#define __DRI_ATTRIB_YINVERTED			47
+#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE	48
+
+/* __DRI_ATTRIB_RENDER_TYPE */
+#define __DRI_ATTRIB_RGBA_BIT			0x01	
+#define __DRI_ATTRIB_COLOR_INDEX_BIT		0x02
+#define __DRI_ATTRIB_LUMINANCE_BIT		0x04
+#define __DRI_ATTRIB_FLOAT_BIT			0x08
+#define __DRI_ATTRIB_UNSIGNED_FLOAT_BIT		0x10
+
+/* __DRI_ATTRIB_CONFIG_CAVEAT */
+#define __DRI_ATTRIB_SLOW_BIT			0x01
+#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG	0x02
+
+/* __DRI_ATTRIB_TRANSPARENT_TYPE */
+#define __DRI_ATTRIB_TRANSPARENT_RGB		0x00
+#define __DRI_ATTRIB_TRANSPARENT_INDEX		0x01
+
+/* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS	 */
+#define __DRI_ATTRIB_TEXTURE_1D_BIT		0x01
+#define __DRI_ATTRIB_TEXTURE_2D_BIT		0x02
+#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT	0x04
+
+/**
+ * This extension defines the core DRI functionality.
+ */
+#define __DRI_CORE "DRI_Core"
+#define __DRI_CORE_VERSION 1
+
+struct __DRIcoreExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen, int fd,
+				    unsigned int sarea_handle,
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driverConfigs,
+				    void *loaderPrivate);
+
+    void (*destroyScreen)(__DRIscreen *screen);
+
+    const __DRIextension **(*getExtensions)(__DRIscreen *screen);
+
+    int (*getConfigAttrib)(const __DRIconfig *config,
+			   unsigned int attrib,
+			   unsigned int *value);
+
+    int (*indexConfigAttrib)(const __DRIconfig *config, int index,
+			     unsigned int *attrib, unsigned int *value);
+
+    __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+					const __DRIconfig *config,
+					unsigned int drawable_id,
+					unsigned int head,
+					void *loaderPrivate);
+
+    void (*destroyDrawable)(__DRIdrawable *drawable);
+
+    void (*swapBuffers)(__DRIdrawable *drawable);
+
+    __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+				      const __DRIconfig *config,
+				      __DRIcontext *shared,
+				      void *loaderPrivate);
+
+    int (*copyContext)(__DRIcontext *dest,
+		       __DRIcontext *src,
+		       unsigned long mask);
+
+    void (*destroyContext)(__DRIcontext *context);
+
+    int (*bindContext)(__DRIcontext *ctx,
+		       __DRIdrawable *pdraw,
+		       __DRIdrawable *pread);
+
+    int (*unbindContext)(__DRIcontext *ctx);
+};
+
+/**
+ * Stored version of some component (i.e., server-side DRI module, kernel-side
+ * DRM, etc.).
+ * 
+ * \todo
+ * There are several data structures that explicitly store a major version,
+ * minor version, and patch level.  These structures should be modified to
+ * have a \c __DRIversionRec instead.
+ */
+struct __DRIversionRec {
+    int    major;        /**< Major version number. */
+    int    minor;        /**< Minor version number. */
+    int    patch;        /**< Patch-level. */
+};
+
+/**
+ * Framebuffer information record.  Used by libGL to communicate information
+ * about the framebuffer to the driver's \c __driCreateNewScreen function.
+ * 
+ * In XFree86, most of this information is derrived from data returned by
+ * calling \c XF86DRIGetDeviceInfo.
+ *
+ * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen
+ *     __driUtilCreateNewScreen CallCreateNewScreen
+ *
+ * \bug This structure could be better named.
+ */
+struct __DRIframebufferRec {
+    unsigned char *base;    /**< Framebuffer base address in the CPU's
+			     * address space.  This value is calculated by
+			     * calling \c drmMap on the framebuffer handle
+			     * returned by \c XF86DRIGetDeviceInfo (or a
+			     * similar function).
+			     */
+    int size;               /**< Framebuffer size, in bytes. */
+    int stride;             /**< Number of bytes from one line to the next. */
+    int width;              /**< Pixel width of the framebuffer. */
+    int height;             /**< Pixel height of the framebuffer. */
+    int dev_priv_size;      /**< Size of the driver's dev-priv structure. */
+    void *dev_priv;         /**< Pointer to the driver's dev-priv structure. */
+};
+
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for legacy DRI functionality.  This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_LEGACY "DRI_Legacy"
+#define __DRI_LEGACY_VERSION 1
+
+struct __DRIlegacyExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen,
+				    const __DRIversion *ddx_version,
+				    const __DRIversion *dri_version,
+				    const __DRIversion *drm_version,
+				    const __DRIframebuffer *frame_buffer,
+				    void *pSAREA, int fd, 
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driver_configs,
+				    void *loaderPrivate);
+
+    __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+					const __DRIconfig *config,
+					drm_drawable_t hwDrawable,
+					int renderType, const int *attrs,
+					void *loaderPrivate);
+
+    __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+				      const __DRIconfig *config,
+				      int render_type,
+				      __DRIcontext *shared,
+				      drm_context_t hwContext,
+				      void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for swrast DRI functionality.  This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_SWRAST "DRI_SWRast"
+#define __DRI_SWRAST_VERSION 4
+
+struct __DRIswrastExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen,
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driver_configs,
+				    void *loaderPrivate);
+
+    __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+					const __DRIconfig *config,
+					void *loaderPrivate);
+
+   /* Since version 2 */
+   __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+                                           int api,
+                                           const __DRIconfig *config,
+                                           __DRIcontext *shared,
+                                           void *data);
+
+   /**
+    * Create a context for a particular API with a set of attributes
+    *
+    * \since version 3
+    *
+    * \sa __DRIdri2ExtensionRec::createContextAttribs
+    */
+   __DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
+					 int api,
+					 const __DRIconfig *config,
+					 __DRIcontext *shared,
+					 unsigned num_attribs,
+					 const uint32_t *attribs,
+					 unsigned *error,
+					 void *loaderPrivate);
+
+   /**
+    * createNewScreen() with the driver extensions passed in.
+    *
+    * \since version 4
+    */
+   __DRIscreen *(*createNewScreen2)(int screen,
+                                    const __DRIextension **loader_extensions,
+                                    const __DRIextension **driver_extensions,
+                                    const __DRIconfig ***driver_configs,
+                                    void *loaderPrivate);
+
+};
+
+/** Common DRI function definitions, shared among DRI2 and Image extensions
+ */
+
+typedef __DRIscreen *
+(*__DRIcreateNewScreen2Func)(int screen, int fd,
+                             const __DRIextension **extensions,
+                             const __DRIextension **driver_extensions,
+                             const __DRIconfig ***driver_configs,
+                             void *loaderPrivate);
+
+typedef __DRIdrawable *
+(*__DRIcreateNewDrawableFunc)(__DRIscreen *screen,
+                              const __DRIconfig *config,
+                              void *loaderPrivate);
+
+typedef __DRIcontext *
+(*__DRIcreateContextAttribsFunc)(__DRIscreen *screen,
+                                 int api,
+                                 const __DRIconfig *config,
+                                 __DRIcontext *shared,
+                                 unsigned num_attribs,
+                                 const uint32_t *attribs,
+                                 unsigned *error,
+                                 void *loaderPrivate);
+
+typedef unsigned int
+(*__DRIgetAPIMaskFunc)(__DRIscreen *screen);
+
+/**
+ * DRI2 Loader extension.
+ */
+#define __DRI_BUFFER_FRONT_LEFT		0
+#define __DRI_BUFFER_BACK_LEFT		1
+#define __DRI_BUFFER_FRONT_RIGHT	2
+#define __DRI_BUFFER_BACK_RIGHT		3
+#define __DRI_BUFFER_DEPTH		4
+#define __DRI_BUFFER_STENCIL		5
+#define __DRI_BUFFER_ACCUM		6
+#define __DRI_BUFFER_FAKE_FRONT_LEFT	7
+#define __DRI_BUFFER_FAKE_FRONT_RIGHT	8
+#define __DRI_BUFFER_DEPTH_STENCIL	9  /**< Only available with DRI2 1.1 */
+#define __DRI_BUFFER_HIZ		10
+
+/* Inofficial and for internal use. Increase when adding a new buffer token. */
+#define __DRI_BUFFER_COUNT		11
+
+struct __DRIbufferRec {
+    unsigned int attachment;
+    unsigned int name;
+    unsigned int pitch;
+    unsigned int cpp;
+    unsigned int flags;
+};
+
+#define __DRI_DRI2_LOADER "DRI_DRI2Loader"
+#define __DRI_DRI2_LOADER_VERSION 3
+struct __DRIdri2LoaderExtensionRec {
+    __DRIextension base;
+
+    __DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable,
+			       int *width, int *height,
+			       unsigned int *attachments, int count,
+			       int *out_count, void *loaderPrivate);
+
+    /**
+     * Flush pending front-buffer rendering
+     *
+     * Any rendering that has been performed to the
+     * \c __DRI_BUFFER_FAKE_FRONT_LEFT will be flushed to the
+     * \c __DRI_BUFFER_FRONT_LEFT.
+     *
+     * \param driDrawable    Drawable whose front-buffer is to be flushed
+     * \param loaderPrivate  Loader's private data that was previously passed
+     *                       into __DRIdri2ExtensionRec::createNewDrawable
+     */
+    void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
+
+
+    /**
+     * Get list of buffers from the server
+     *
+     * Gets a list of buffer for the specified set of attachments.  Unlike
+     * \c ::getBuffers, this function takes a list of attachments paired with
+     * opaque \c unsigned \c int value describing the format of the buffer.
+     * It is the responsibility of the caller to know what the service that
+     * allocates the buffers will expect to receive for the format.
+     *
+     * \param driDrawable    Drawable whose buffers are being queried.
+     * \param width          Output where the width of the buffers is stored.
+     * \param height         Output where the height of the buffers is stored.
+     * \param attachments    List of pairs of attachment ID and opaque format
+     *                       requested for the drawable.
+     * \param count          Number of attachment / format pairs stored in
+     *                       \c attachments.
+     * \param loaderPrivate  Loader's private data that was previously passed
+     *                       into __DRIdri2ExtensionRec::createNewDrawable.
+     */
+    __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable,
+					 int *width, int *height,
+					 unsigned int *attachments, int count,
+					 int *out_count, void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for DRI2.
+ */
+#define __DRI_DRI2 "DRI_DRI2"
+#define __DRI_DRI2_VERSION 4
+
+#define __DRI_API_OPENGL	0	/**< OpenGL compatibility profile */
+#define __DRI_API_GLES		1	/**< OpenGL ES 1.x */
+#define __DRI_API_GLES2		2	/**< OpenGL ES 2.x */
+#define __DRI_API_OPENGL_CORE	3	/**< OpenGL 3.2+ core profile */
+#define __DRI_API_GLES3		4	/**< OpenGL ES 3.x */
+
+#define __DRI_CTX_ATTRIB_MAJOR_VERSION		0
+#define __DRI_CTX_ATTRIB_MINOR_VERSION		1
+#define __DRI_CTX_ATTRIB_FLAGS			2
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_ATTRIB_RESET_STRATEGY		3
+
+#define __DRI_CTX_FLAG_DEBUG			0x00000001
+#define __DRI_CTX_FLAG_FORWARD_COMPATIBLE	0x00000002
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS	0x00000004
+
+/**
+ * \name Context reset strategies.
+ */
+/*@{*/
+#define __DRI_CTX_RESET_NO_NOTIFICATION		0
+#define __DRI_CTX_RESET_LOSE_CONTEXT		1
+/*@}*/
+
+/**
+ * \name Reasons that __DRIdri2Extension::createContextAttribs might fail
+ */
+/*@{*/
+/** Success! */
+#define __DRI_CTX_ERROR_SUCCESS			0
+
+/** Memory allocation failure */
+#define __DRI_CTX_ERROR_NO_MEMORY		1
+
+/** Client requested an API (e.g., OpenGL ES 2.0) that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_API			2
+
+/** Client requested an API version that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_VERSION		3
+
+/** Client requested a flag or combination of flags the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_FLAG		4
+
+/** Client requested an attribute the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE	5
+
+/** Client requested a flag the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_FLAG		6
+/*@}*/
+
+struct __DRIdri2ExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen, int fd,
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driver_configs,
+				    void *loaderPrivate);
+
+   __DRIcreateNewDrawableFunc   createNewDrawable;
+   __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+                                     const __DRIconfig *config,
+                                     __DRIcontext *shared,
+                                     void *loaderPrivate);
+
+   /* Since version 2 */
+   __DRIgetAPIMaskFunc          getAPIMask;
+
+   __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+					   int api,
+					   const __DRIconfig *config,
+					   __DRIcontext *shared,
+					   void *data);
+
+   __DRIbuffer *(*allocateBuffer)(__DRIscreen *screen,
+				  unsigned int attachment,
+				  unsigned int format,
+				  int width,
+				  int height);
+   void (*releaseBuffer)(__DRIscreen *screen,
+			 __DRIbuffer *buffer);
+
+   /**
+    * Create a context for a particular API with a set of attributes
+    *
+    * \since version 3
+    *
+    * \sa __DRIswrastExtensionRec::createContextAttribs
+    */
+   __DRIcreateContextAttribsFunc        createContextAttribs;
+
+   /**
+    * createNewScreen with the driver's extension list passed in.
+    *
+    * \since version 4
+    */
+   __DRIcreateNewScreen2Func            createNewScreen2;
+};
+
+
+/**
+ * This extension provides functionality to enable various EGLImage
+ * extensions.
+ */
+#define __DRI_IMAGE "DRI_IMAGE"
+#define __DRI_IMAGE_VERSION 8
+
+/**
+ * These formats correspond to the similarly named MESA_FORMAT_*
+ * tokens, except in the native endian of the CPU.  For example, on
+ * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to
+ * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian.
+ *
+ * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable
+ * by the driver (YUV planar formats) but serve as a base image for
+ * creating sub-images for the different planes within the image.
+ *
+ * R8, GR88 and NONE should not be used with createImageFormName or
+ * createImage, and are returned by query from sub images created with
+ * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88).
+ */
+#define __DRI_IMAGE_FORMAT_RGB565       0x1001
+#define __DRI_IMAGE_FORMAT_XRGB8888     0x1002
+#define __DRI_IMAGE_FORMAT_ARGB8888     0x1003
+#define __DRI_IMAGE_FORMAT_ABGR8888     0x1004
+#define __DRI_IMAGE_FORMAT_XBGR8888     0x1005
+#define __DRI_IMAGE_FORMAT_R8           0x1006 /* Since version 5 */
+#define __DRI_IMAGE_FORMAT_GR88         0x1007
+#define __DRI_IMAGE_FORMAT_NONE         0x1008
+#define __DRI_IMAGE_FORMAT_XRGB2101010  0x1009
+#define __DRI_IMAGE_FORMAT_ARGB2101010  0x100a
+#define __DRI_IMAGE_FORMAT_SARGB8       0x100b
+
+#define __DRI_IMAGE_USE_SHARE		0x0001
+#define __DRI_IMAGE_USE_SCANOUT		0x0002
+#define __DRI_IMAGE_USE_CURSOR		0x0004 /* Depricated */
+#define __DRI_IMAGE_USE_LINEAR		0x0008
+
+
+/**
+ * Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h
+ * and GBM_FORMAT_* from gbm.h, used with createImageFromNames.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_FOURCC_RGB565	0x36314752
+#define __DRI_IMAGE_FOURCC_ARGB8888	0x34325241
+#define __DRI_IMAGE_FOURCC_XRGB8888	0x34325258
+#define __DRI_IMAGE_FOURCC_ABGR8888	0x34324241
+#define __DRI_IMAGE_FOURCC_XBGR8888	0x34324258
+#define __DRI_IMAGE_FOURCC_YUV410	0x39565559
+#define __DRI_IMAGE_FOURCC_YUV411	0x31315559
+#define __DRI_IMAGE_FOURCC_YUV420	0x32315559
+#define __DRI_IMAGE_FOURCC_YUV422	0x36315559
+#define __DRI_IMAGE_FOURCC_YUV444	0x34325559
+#define __DRI_IMAGE_FOURCC_NV12		0x3231564e
+#define __DRI_IMAGE_FOURCC_NV16		0x3631564e
+#define __DRI_IMAGE_FOURCC_YUYV		0x56595559
+
+
+/**
+ * Queryable on images created by createImageFromNames.
+ *
+ * RGB and RGBA are may be usable directly as images but its still
+ * recommended to call fromPlanar with plane == 0.
+ *
+ * Y_U_V, Y_UV and Y_XUXV all requires call to fromPlanar to create
+ * usable sub-images, sampling from images return raw YUV data and
+ * color conversion needs to be done in the shader.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_COMPONENTS_RGB	0x3001
+#define __DRI_IMAGE_COMPONENTS_RGBA	0x3002
+#define __DRI_IMAGE_COMPONENTS_Y_U_V	0x3003
+#define __DRI_IMAGE_COMPONENTS_Y_UV	0x3004
+#define __DRI_IMAGE_COMPONENTS_Y_XUXV	0x3005
+
+
+/**
+ * queryImage attributes
+ */
+
+#define __DRI_IMAGE_ATTRIB_STRIDE	0x2000
+#define __DRI_IMAGE_ATTRIB_HANDLE	0x2001
+#define __DRI_IMAGE_ATTRIB_NAME		0x2002
+#define __DRI_IMAGE_ATTRIB_FORMAT	0x2003 /* available in versions 3+ */
+#define __DRI_IMAGE_ATTRIB_WIDTH	0x2004 /* available in versions 4+ */
+#define __DRI_IMAGE_ATTRIB_HEIGHT	0x2005
+#define __DRI_IMAGE_ATTRIB_COMPONENTS	0x2006 /* available in versions 5+ */
+#define __DRI_IMAGE_ATTRIB_FD           0x2007 /* available in versions
+                                                * 7+. Each query will return a
+                                                * new fd. */
+
+enum __DRIYUVColorSpace {
+   __DRI_YUV_COLOR_SPACE_UNDEFINED = 0,
+   __DRI_YUV_COLOR_SPACE_ITU_REC601 = 0x327F,
+   __DRI_YUV_COLOR_SPACE_ITU_REC709 = 0x3280,
+   __DRI_YUV_COLOR_SPACE_ITU_REC2020 = 0x3281
+};
+
+enum __DRISampleRange {
+   __DRI_YUV_RANGE_UNDEFINED = 0,
+   __DRI_YUV_FULL_RANGE = 0x3282,
+   __DRI_YUV_NARROW_RANGE = 0x3283
+};
+
+enum __DRIChromaSiting {
+   __DRI_YUV_CHROMA_SITING_UNDEFINED = 0,
+   __DRI_YUV_CHROMA_SITING_0 = 0x3284,
+   __DRI_YUV_CHROMA_SITING_0_5 = 0x3285
+};
+
+/**
+ * \name Reasons that __DRIimageExtensionRec::createImageFromTexture might fail
+ */
+/*@{*/
+/** Success! */
+#define __DRI_IMAGE_ERROR_SUCCESS       0
+
+/** Memory allocation failure */
+#define __DRI_IMAGE_ERROR_BAD_ALLOC     1
+
+/** Client requested an invalid attribute for a texture object  */
+#define __DRI_IMAGE_ERROR_BAD_MATCH     2
+
+/** Client requested an invalid texture object */
+#define __DRI_IMAGE_ERROR_BAD_PARAMETER 3
+/*@}*/
+
+typedef struct __DRIimageRec          __DRIimage;
+typedef struct __DRIimageExtensionRec __DRIimageExtension;
+struct __DRIimageExtensionRec {
+    __DRIextension base;
+
+    __DRIimage *(*createImageFromName)(__DRIscreen *screen,
+				       int width, int height, int format,
+				       int name, int pitch,
+				       void *loaderPrivate);
+
+    __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context,
+					       int renderbuffer,
+					       void *loaderPrivate);
+
+    void (*destroyImage)(__DRIimage *image);
+
+    __DRIimage *(*createImage)(__DRIscreen *screen,
+			       int width, int height, int format,
+			       unsigned int use,
+			       void *loaderPrivate);
+
+   GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value);
+
+   /**
+    * The new __DRIimage will share the content with the old one, see dup(2).
+    */
+   __DRIimage *(*dupImage)(__DRIimage *image, void *loaderPrivate);
+
+   /**
+    * Validate that a __DRIimage can be used a certain way.
+    *
+    * \since 2
+    */
+   GLboolean (*validateUsage)(__DRIimage *image, unsigned int use);
+
+   /**
+    * Unlike createImageFromName __DRI_IMAGE_FORMAT is not but instead
+    * __DRI_IMAGE_FOURCC and strides are in bytes not pixels. Stride is
+    * also per block and not per pixel (for non-RGB, see gallium blocks).
+    *
+    * \since 5
+    */
+   __DRIimage *(*createImageFromNames)(__DRIscreen *screen,
+                                       int width, int height, int fourcc,
+                                       int *names, int num_names,
+                                       int *strides, int *offsets,
+                                       void *loaderPrivate);
+
+   /**
+    * Create an image out of a sub-region of a parent image.  This
+    * entry point lets us create individual __DRIimages for different
+    * planes in a planar buffer (typically yuv), for example.  While a
+    * sub-image shares the underlying buffer object with the parent
+    * image and other sibling sub-images, the life times of parent and
+    * sub-images are not dependent.  Destroying the parent or a
+    * sub-image doesn't affect other images.  The underlying buffer
+    * object is free when no __DRIimage remains that references it.
+    *
+    * Sub-images may overlap, but rendering to overlapping sub-images
+    * is undefined.
+    *
+    * \since 5
+    */
+    __DRIimage *(*fromPlanar)(__DRIimage *image, int plane,
+                              void *loaderPrivate);
+
+    /**
+     * Create image from texture.
+     *
+     * \since 6
+     */
+   __DRIimage *(*createImageFromTexture)(__DRIcontext *context,
+                                         int target,
+                                         unsigned texture,
+                                         int depth,
+                                         int level,
+                                         unsigned *error,
+                                         void *loaderPrivate);
+   /**
+    * Like createImageFromNames, but takes a prime fd instead.
+    *
+    * \since 7
+    */
+   __DRIimage *(*createImageFromFds)(__DRIscreen *screen,
+                                     int width, int height, int fourcc,
+                                     int *fds, int num_fds,
+                                     int *strides, int *offsets,
+                                     void *loaderPrivate);
+
+   /**
+    * Like createImageFromFds, but takes additional attributes.
+    *
+    * For EGL_EXT_image_dma_buf_import.
+    *
+    * \since 8
+    */
+   __DRIimage *(*createImageFromDmaBufs)(__DRIscreen *screen,
+                                         int width, int height, int fourcc,
+                                         int *fds, int num_fds,
+                                         int *strides, int *offsets,
+                                         enum __DRIYUVColorSpace color_space,
+                                         enum __DRISampleRange sample_range,
+                                         enum __DRIChromaSiting horiz_siting,
+                                         enum __DRIChromaSiting vert_siting,
+                                         unsigned *error,
+                                         void *loaderPrivate);
+};
+
+
+/**
+ * This extension must be implemented by the loader and passed to the
+ * driver at screen creation time.  The EGLImage entry points in the
+ * various client APIs take opaque EGLImage handles and use this
+ * extension to map them to a __DRIimage.  At version 1, this
+ * extensions allows mapping EGLImage pointers to __DRIimage pointers,
+ * but future versions could support other EGLImage-like, opaque types
+ * with new lookup functions.
+ */
+#define __DRI_IMAGE_LOOKUP "DRI_IMAGE_LOOKUP"
+#define __DRI_IMAGE_LOOKUP_VERSION 1
+
+typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension;
+struct __DRIimageLookupExtensionRec {
+    __DRIextension base;
+
+    __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image,
+				  void *loaderPrivate);
+};
+
+/**
+ * This extension allows for common DRI2 options
+ */
+#define __DRI2_CONFIG_QUERY "DRI_CONFIG_QUERY"
+#define __DRI2_CONFIG_QUERY_VERSION 1
+
+typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension;
+struct __DRI2configQueryExtensionRec {
+   __DRIextension base;
+
+   int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val);
+   int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val);
+   int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val);
+};
+
+/**
+ * Robust context driver extension.
+ *
+ * Existence of this extension means the driver can accept the
+ * \c __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the
+ * \c __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in
+ * \c __DRIdri2ExtensionRec::createContextAttribs.
+ */
+#define __DRI2_ROBUSTNESS "DRI_Robustness"
+#define __DRI2_ROBUSTNESS_VERSION 1
+
+typedef struct __DRIrobustnessExtensionRec __DRIrobustnessExtension;
+struct __DRIrobustnessExtensionRec {
+   __DRIextension base;
+};
+
+/**
+ * DRI config options extension.
+ *
+ * This extension provides the XML string containing driver options for use by
+ * the loader in supporting the driconf application.
+ */
+#define __DRI_CONFIG_OPTIONS "DRI_ConfigOptions"
+#define __DRI_CONFIG_OPTIONS_VERSION 1
+
+typedef struct __DRIconfigOptionsExtensionRec {
+   __DRIextension base;
+   const char *xml;
+} __DRIconfigOptionsExtension;
+
+/**
+ * This extension provides a driver vtable to a set of common driver helper
+ * functions (driCoreExtension, driDRI2Extension) within the driver
+ * implementation, as opposed to having to pass them through a global
+ * variable.
+ *
+ * It is not intended to be public API to the actual loader, and the vtable
+ * layout may change at any time.
+ */
+#define __DRI_DRIVER_VTABLE "DRI_DriverVtable"
+#define __DRI_DRIVER_VTABLE_VERSION 1
+
+typedef struct __DRIDriverVtableExtensionRec {
+    __DRIextension base;
+    const struct __DriverAPIRec *vtable;
+} __DRIDriverVtableExtension;
+
+/**
+ * Query renderer driver extension
+ *
+ * This allows the window system layer (either EGL or GLX) to query aspects of
+ * hardware and driver support without creating a context.
+ */
+#define __DRI2_RENDERER_QUERY "DRI_RENDERER_QUERY"
+#define __DRI2_RENDERER_QUERY_VERSION 1
+
+#define __DRI2_RENDERER_VENDOR_ID                             0x0000
+#define __DRI2_RENDERER_DEVICE_ID                             0x0001
+#define __DRI2_RENDERER_VERSION                               0x0002
+#define __DRI2_RENDERER_ACCELERATED                           0x0003
+#define __DRI2_RENDERER_VIDEO_MEMORY                          0x0004
+#define __DRI2_RENDERER_UNIFIED_MEMORY_ARCHITECTURE           0x0005
+#define __DRI2_RENDERER_PREFERRED_PROFILE                     0x0006
+#define __DRI2_RENDERER_OPENGL_CORE_PROFILE_VERSION           0x0007
+#define __DRI2_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION  0x0008
+#define __DRI2_RENDERER_OPENGL_ES_PROFILE_VERSION             0x0009
+#define __DRI2_RENDERER_OPENGL_ES2_PROFILE_VERSION            0x000a
+
+typedef struct __DRI2rendererQueryExtensionRec __DRI2rendererQueryExtension;
+struct __DRI2rendererQueryExtensionRec {
+   __DRIextension base;
+
+   int (*queryInteger)(__DRIscreen *screen, int attribute, unsigned int *val);
+   int (*queryString)(__DRIscreen *screen, int attribute, const char **val);
+};
+
+/**
+ * Image Loader extension. Drivers use this to allocate color buffers
+ */
+
+enum __DRIimageBufferMask {
+   __DRI_IMAGE_BUFFER_BACK = (1 << 0),
+   __DRI_IMAGE_BUFFER_FRONT = (1 << 1)
+};
+
+struct __DRIimageList {
+   uint32_t image_mask;
+   __DRIimage *back;
+   __DRIimage *front;
+};
+
+#define __DRI_IMAGE_LOADER "DRI_IMAGE_LOADER"
+#define __DRI_IMAGE_LOADER_VERSION 1
+
+struct __DRIimageLoaderExtensionRec {
+    __DRIextension base;
+
+   /**
+    * Allocate color buffers.
+    *
+    * \param driDrawable
+    * \param width              Width of allocated buffers
+    * \param height             Height of allocated buffers
+    * \param format             one of __DRI_IMAGE_FORMAT_*
+    * \param stamp              Address of variable to be updated when
+    *                           getBuffers must be called again
+    * \param loaderPrivate      The loaderPrivate for driDrawable
+    * \param buffer_mask        Set of buffers to allocate
+    * \param buffers            Returned buffers
+    */
+   int (*getBuffers)(__DRIdrawable *driDrawable,
+                     unsigned int format,
+                     uint32_t *stamp,
+                     void *loaderPrivate,
+                     uint32_t buffer_mask,
+                     struct __DRIimageList *buffers);
+
+    /**
+     * Flush pending front-buffer rendering
+     *
+     * Any rendering that has been performed to the
+     * fake front will be flushed to the front
+     *
+     * \param driDrawable    Drawable whose front-buffer is to be flushed
+     * \param loaderPrivate  Loader's private data that was previously passed
+     *                       into __DRIdri2ExtensionRec::createNewDrawable
+     */
+    void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
+};
+
+/**
+ * DRI extension.
+ */
+
+#define __DRI_IMAGE_DRIVER           "DRI_IMAGE_DRIVER"
+#define __DRI_IMAGE_DRIVER_VERSION   1
+
+struct __DRIimageDriverExtensionRec {
+   __DRIextension               base;
+
+   /* Common DRI functions, shared with DRI2 */
+   __DRIcreateNewScreen2Func            createNewScreen2;
+   __DRIcreateNewDrawableFunc           createNewDrawable;
+   __DRIcreateContextAttribsFunc        createContextAttribs;
+   __DRIgetAPIMaskFunc                  getAPIMask;
+};
+
+#endif
diff --git a/pkgs/servers/x11/xorg/darwin/function-pointer-test.patch b/pkgs/servers/x11/xorg/darwin/function-pointer-test.patch
new file mode 100644
index 00000000000..e521a12ba80
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/function-pointer-test.patch
@@ -0,0 +1,46 @@
+These are functions, not function pointers, so they always evaluate to true.
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index 5445c6f..8574bf1 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -364,7 +364,6 @@ extern char *bundle_id_prefix;
+     }
+ 
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+-    if (asl_log_descriptor) {
+         char *asl_sender;
+         aslmsg amsg = asl_new(ASL_TYPE_MSG);
+         assert(amsg);
+@@ -394,7 +393,6 @@ extern char *bundle_id_prefix;
+         asl_log_descriptor(aslc, amsg, ASL_LEVEL_NOTICE, stderr_pipe[0], ASL_LOG_DESCRIPTOR_READ);
+ 
+         asl_free(amsg);
+-    }
+ #endif
+ 
+     /* Do the fork-twice trick to avoid having to reap zombies */
+@@ -414,11 +412,9 @@ extern char *bundle_id_prefix;
+ 
+         case 0:                                     /* child2 */
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+-            if (asl_log_descriptor) {
+                 /* Replace our stdout/stderr */
+                 dup2(stdout_pipe[1], STDOUT_FILENO);
+                 dup2(stderr_pipe[1], STDERR_FILENO);
+-            }
+ #endif
+ 
+             /* close all open files except for standard streams */
+@@ -443,11 +439,9 @@ extern char *bundle_id_prefix;
+     }
+ 
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+-    if (asl_log_descriptor) {
+         /* Close the write ends of the pipe */
+         close(stdout_pipe[1]);
+         close(stderr_pipe[1]);
+-    }
+ #endif
+ }
+ 
diff --git a/pkgs/servers/x11/xorg/darwin/private-extern.patch b/pkgs/servers/x11/xorg/darwin/private-extern.patch
new file mode 100644
index 00000000000..87af7865c37
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/private-extern.patch
@@ -0,0 +1,12 @@
+diff --git a/hw/xquartz/xpr/x-list.new.h b/hw/xquartz/xpr/x-list.h
+index 28385fd..71f9d26 100644
+--- a/hw/xquartz/xpr/x-list.new.h
++++ b/hw/xquartz/xpr/x-list.h
+@@ -45,6 +45,7 @@ struct x_list_struct {
+ #endif
+ 
+ #ifndef X_EXTERN
++#define __private_extern__ extern
+ #define X_EXTERN __private_extern__
+ #endif
+ 
diff --git a/pkgs/servers/x11/xorg/darwin/stub.patch b/pkgs/servers/x11/xorg/darwin/stub.patch
new file mode 100644
index 00000000000..db3215b498a
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/stub.patch
@@ -0,0 +1,80 @@
+cstrahan:
+
+When the X / Xquartz server initiallizes, it starts the XQuartz.app and
+hands-off the display FD. To start the XQuartz.app, Xquartz normally uses some
+system calls to get the path of the application by app bundle id, and then
+executes the Contents/MacOS/X11 script contained inside, which in turn executes
+Contents/MacOS/X11.bin (the actual app).
+
+This patch replaces that discovery technique with a simple call to
+`getenv'. In order to make Xquartz actually work, we'll need another wrapper
+that sets the `XQUARTZ_X11' environment variable to point to the `X11' script.
+
+diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
+index 756e4ef..3313a55 100644
+--- a/hw/xquartz/mach-startup/stub.c
++++ b/hw/xquartz/mach-startup/stub.c
+@@ -61,54 +61,16 @@ aslclient aslc;
+ static void
+ set_x11_path(void)
+ {
+-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
+-
+-    CFURLRef appURL = NULL;
+-    OSStatus osstatus =
+-        LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(
+-                                     kX11AppBundleId), nil, nil, &appURL);
+-
+-    switch (osstatus) {
+-    case noErr:
+-        if (appURL == NULL) {
+-            asl_log(
+-                aslc, NULL, ASL_LEVEL_ERR,
+-                "Xquartz: Invalid response from LSFindApplicationForInfo(%s)",
+-                kX11AppBundleId);
+-            exit(1);
+-        }
+-
+-        if (!CFURLGetFileSystemRepresentation(appURL, true,
+-                                              (unsigned char *)x11_path,
+-                                              sizeof(x11_path))) {
+-            asl_log(aslc, NULL, ASL_LEVEL_ERR,
+-                    "Xquartz: Error resolving URL for %s",
+-                    kX11AppBundleId);
+-            exit(3);
+-        }
+-
+-        strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path));
+-        asl_log(aslc, NULL, ASL_LEVEL_INFO, "Xquartz: X11.app = %s", x11_path);
+-        break;
+-
+-    case kLSApplicationNotFoundErr:
+-        asl_log(aslc, NULL, ASL_LEVEL_ERR,
+-                "Xquartz: Unable to find application for %s",
+-                kX11AppBundleId);
+-        exit(10);
+-
+-    default:
+-        asl_log(aslc, NULL, ASL_LEVEL_ERR,
+-                "Xquartz: Unable to find application for %s, error code = %d",
+-                kX11AppBundleId,
+-                (int)osstatus);
+-        exit(11);
++    char *xquartzX11 = getenv("XQUARTZ_X11");
++    if (xquartzX11) {
++        strlcpy(x11_path, xquartzX11,
++                sizeof(x11_path));
++    } else {
++        asl_log(
++            aslc, NULL, ASL_LEVEL_ERR,
++            "Xquartz: XQUARTZ_X11 environment variable not set");
++        exit(1);
+     }
+-#else
+-    /* TODO: Make Tiger smarter... but TBH, this should never get called on Tiger... */
+-    strlcpy(x11_path, "/Applications/Utilities/X11.app/Contents/MacOS/X11",
+-            sizeof(x11_path));
+-#endif
+ }
+ 
+ static int
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index ffbbabd3b29..519ea6a2f7a 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -3,13 +3,18 @@ args: with args;
 
 let
 
+  mkDerivation = name: attrs:
+    let newAttrs = (overrides."${name}" or (x: x)) attrs;
+        stdenv = newAttrs.stdenv or args.stdenv;
+    in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]);
+
   overrides = import ./overrides.nix {inherit args xorg;};
 
   xorg = rec {
 
   inherit pixman;
 
-  applewmproto = (stdenv.mkDerivation ((if overrides ? applewmproto then overrides.applewmproto else x: x) {
+  applewmproto = (mkDerivation "applewmproto" {
     name = "applewmproto-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -17,19 +22,19 @@ let
       sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  bdftopcf = (stdenv.mkDerivation ((if overrides ? bdftopcf then overrides.bdftopcf else x: x) {
-    name = "bdftopcf-1.0.3";
+  bdftopcf = (mkDerivation "bdftopcf" {
+    name = "bdftopcf-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2;
-      sha256 = "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w";
+      url = mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2;
+      sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga";
     };
     buildInputs = [pkgconfig libXfont ];
-  })) // {inherit libXfont ;};
+  }) // {inherit libXfont ;};
 
-  bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) {
+  bigreqsproto = (mkDerivation "bigreqsproto" {
     name = "bigreqsproto-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -37,9 +42,9 @@ let
       sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  compositeproto = (stdenv.mkDerivation ((if overrides ? compositeproto then overrides.compositeproto else x: x) {
+  compositeproto = (mkDerivation "compositeproto" {
     name = "compositeproto-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -47,9 +52,9 @@ let
       sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  damageproto = (stdenv.mkDerivation ((if overrides ? damageproto then overrides.damageproto else x: x) {
+  damageproto = (mkDerivation "damageproto" {
     name = "damageproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -57,9 +62,9 @@ let
       sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  dmxproto = (stdenv.mkDerivation ((if overrides ? dmxproto then overrides.dmxproto else x: x) {
+  dmxproto = (mkDerivation "dmxproto" {
     name = "dmxproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -67,9 +72,9 @@ let
       sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  dri2proto = (stdenv.mkDerivation ((if overrides ? dri2proto then overrides.dri2proto else x: x) {
+  dri2proto = (mkDerivation "dri2proto" {
     name = "dri2proto-2.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -77,9 +82,19 @@ let
       sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
+
+  dri3proto = (mkDerivation "dri3proto" {
+    name = "dri3proto-1.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/proto/dri3proto-1.0.tar.bz2;
+      sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1";
+    };
+    buildInputs = [pkgconfig ];
+  }) // {inherit ;};
 
-  encodings = (stdenv.mkDerivation ((if overrides ? encodings then overrides.encodings else x: x) {
+  encodings = (mkDerivation "encodings" {
     name = "encodings-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -87,9 +102,9 @@ let
       sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) {
+  fixesproto = (mkDerivation "fixesproto" {
     name = "fixesproto-5.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -97,9 +112,9 @@ let
       sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs";
     };
     buildInputs = [pkgconfig xextproto ];
-  })) // {inherit xextproto ;};
+  }) // {inherit xextproto ;};
 
-  fontadobe100dpi = (stdenv.mkDerivation ((if overrides ? fontadobe100dpi then overrides.fontadobe100dpi else x: x) {
+  fontadobe100dpi = (mkDerivation "fontadobe100dpi" {
     name = "font-adobe-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -107,9 +122,9 @@ let
       sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) {
+  fontadobe75dpi = (mkDerivation "fontadobe75dpi" {
     name = "font-adobe-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -117,9 +132,9 @@ let
       sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) {
+  fontadobeutopia100dpi = (mkDerivation "fontadobeutopia100dpi" {
     name = "font-adobe-utopia-100dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -127,9 +142,9 @@ let
       sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) {
+  fontadobeutopia75dpi = (mkDerivation "fontadobeutopia75dpi" {
     name = "font-adobe-utopia-75dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -137,9 +152,9 @@ let
       sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) {
+  fontadobeutopiatype1 = (mkDerivation "fontadobeutopiatype1" {
     name = "font-adobe-utopia-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -147,9 +162,9 @@ let
       sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontalias = (stdenv.mkDerivation ((if overrides ? fontalias then overrides.fontalias else x: x) {
+  fontalias = (mkDerivation "fontalias" {
     name = "font-alias-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -157,9 +172,9 @@ let
       sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fontarabicmisc = (stdenv.mkDerivation ((if overrides ? fontarabicmisc then overrides.fontarabicmisc else x: x) {
+  fontarabicmisc = (mkDerivation "fontarabicmisc" {
     name = "font-arabic-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -167,9 +182,9 @@ let
       sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontbh100dpi = (stdenv.mkDerivation ((if overrides ? fontbh100dpi then overrides.fontbh100dpi else x: x) {
+  fontbh100dpi = (mkDerivation "fontbh100dpi" {
     name = "font-bh-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -177,9 +192,9 @@ let
       sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) {
+  fontbh75dpi = (mkDerivation "fontbh75dpi" {
     name = "font-bh-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -187,9 +202,9 @@ let
       sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) {
+  fontbhlucidatypewriter100dpi = (mkDerivation "fontbhlucidatypewriter100dpi" {
     name = "font-bh-lucidatypewriter-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -197,9 +212,9 @@ let
       sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) {
+  fontbhlucidatypewriter75dpi = (mkDerivation "fontbhlucidatypewriter75dpi" {
     name = "font-bh-lucidatypewriter-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -207,9 +222,9 @@ let
       sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) {
+  fontbhttf = (mkDerivation "fontbhttf" {
     name = "font-bh-ttf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -217,9 +232,9 @@ let
       sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontbhtype1 = (stdenv.mkDerivation ((if overrides ? fontbhtype1 then overrides.fontbhtype1 else x: x) {
+  fontbhtype1 = (mkDerivation "fontbhtype1" {
     name = "font-bh-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -227,9 +242,9 @@ let
       sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontbitstream100dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream100dpi then overrides.fontbitstream100dpi else x: x) {
+  fontbitstream100dpi = (mkDerivation "fontbitstream100dpi" {
     name = "font-bitstream-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -237,9 +252,9 @@ let
       sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontbitstream75dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream75dpi then overrides.fontbitstream75dpi else x: x) {
+  fontbitstream75dpi = (mkDerivation "fontbitstream75dpi" {
     name = "font-bitstream-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -247,9 +262,9 @@ let
       sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontbitstreamtype1 = (stdenv.mkDerivation ((if overrides ? fontbitstreamtype1 then overrides.fontbitstreamtype1 else x: x) {
+  fontbitstreamtype1 = (mkDerivation "fontbitstreamtype1" {
     name = "font-bitstream-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -257,9 +272,9 @@ let
       sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontcronyxcyrillic = (stdenv.mkDerivation ((if overrides ? fontcronyxcyrillic then overrides.fontcronyxcyrillic else x: x) {
+  fontcronyxcyrillic = (mkDerivation "fontcronyxcyrillic" {
     name = "font-cronyx-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -267,9 +282,9 @@ let
       sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontcursormisc = (stdenv.mkDerivation ((if overrides ? fontcursormisc then overrides.fontcursormisc else x: x) {
+  fontcursormisc = (mkDerivation "fontcursormisc" {
     name = "font-cursor-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -277,9 +292,9 @@ let
       sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontdaewoomisc = (stdenv.mkDerivation ((if overrides ? fontdaewoomisc then overrides.fontdaewoomisc else x: x) {
+  fontdaewoomisc = (mkDerivation "fontdaewoomisc" {
     name = "font-daewoo-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -287,9 +302,9 @@ let
       sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontdecmisc = (stdenv.mkDerivation ((if overrides ? fontdecmisc then overrides.fontdecmisc else x: x) {
+  fontdecmisc = (mkDerivation "fontdecmisc" {
     name = "font-dec-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -297,9 +312,9 @@ let
       sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontibmtype1 = (stdenv.mkDerivation ((if overrides ? fontibmtype1 then overrides.fontibmtype1 else x: x) {
+  fontibmtype1 = (mkDerivation "fontibmtype1" {
     name = "font-ibm-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -307,9 +322,9 @@ let
       sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontisasmisc = (stdenv.mkDerivation ((if overrides ? fontisasmisc then overrides.fontisasmisc else x: x) {
+  fontisasmisc = (mkDerivation "fontisasmisc" {
     name = "font-isas-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -317,9 +332,9 @@ let
       sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontjismisc = (stdenv.mkDerivation ((if overrides ? fontjismisc then overrides.fontjismisc else x: x) {
+  fontjismisc = (mkDerivation "fontjismisc" {
     name = "font-jis-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -327,9 +342,9 @@ let
       sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontmicromisc = (stdenv.mkDerivation ((if overrides ? fontmicromisc then overrides.fontmicromisc else x: x) {
+  fontmicromisc = (mkDerivation "fontmicromisc" {
     name = "font-micro-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -337,9 +352,9 @@ let
       sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontmisccyrillic = (stdenv.mkDerivation ((if overrides ? fontmisccyrillic then overrides.fontmisccyrillic else x: x) {
+  fontmisccyrillic = (mkDerivation "fontmisccyrillic" {
     name = "font-misc-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -347,9 +362,9 @@ let
       sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontmiscethiopic = (stdenv.mkDerivation ((if overrides ? fontmiscethiopic then overrides.fontmiscethiopic else x: x) {
+  fontmiscethiopic = (mkDerivation "fontmiscethiopic" {
     name = "font-misc-ethiopic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -357,9 +372,9 @@ let
       sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontmiscmeltho = (stdenv.mkDerivation ((if overrides ? fontmiscmeltho then overrides.fontmiscmeltho else x: x) {
+  fontmiscmeltho = (mkDerivation "fontmiscmeltho" {
     name = "font-misc-meltho-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -367,9 +382,9 @@ let
       sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontmiscmisc = (stdenv.mkDerivation ((if overrides ? fontmiscmisc then overrides.fontmiscmisc else x: x) {
+  fontmiscmisc = (mkDerivation "fontmiscmisc" {
     name = "font-misc-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -377,9 +392,9 @@ let
       sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) {
+  fontmuttmisc = (mkDerivation "fontmuttmisc" {
     name = "font-mutt-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -387,9 +402,9 @@ let
       sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontschumachermisc = (stdenv.mkDerivation ((if overrides ? fontschumachermisc then overrides.fontschumachermisc else x: x) {
+  fontschumachermisc = (mkDerivation "fontschumachermisc" {
     name = "font-schumacher-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -397,9 +412,9 @@ let
       sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) {
+  fontscreencyrillic = (mkDerivation "fontscreencyrillic" {
     name = "font-screen-cyrillic-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -407,9 +422,9 @@ let
       sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontsonymisc = (stdenv.mkDerivation ((if overrides ? fontsonymisc then overrides.fontsonymisc else x: x) {
+  fontsonymisc = (mkDerivation "fontsonymisc" {
     name = "font-sony-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -417,9 +432,9 @@ let
       sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) {
+  fontsproto = (mkDerivation "fontsproto" {
     name = "fontsproto-2.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -427,9 +442,9 @@ let
       sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fontsunmisc = (stdenv.mkDerivation ((if overrides ? fontsunmisc then overrides.fontsunmisc else x: x) {
+  fontsunmisc = (mkDerivation "fontsunmisc" {
     name = "font-sun-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -437,9 +452,9 @@ let
       sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) {
+  fontutil = (mkDerivation "fontutil" {
     name = "font-util-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -447,9 +462,9 @@ let
       sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fontwinitzkicyrillic = (stdenv.mkDerivation ((if overrides ? fontwinitzkicyrillic then overrides.fontwinitzkicyrillic else x: x) {
+  fontwinitzkicyrillic = (mkDerivation "fontwinitzkicyrillic" {
     name = "font-winitzki-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -457,9 +472,9 @@ let
       sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontxfree86type1 = (stdenv.mkDerivation ((if overrides ? fontxfree86type1 then overrides.fontxfree86type1 else x: x) {
+  fontxfree86type1 = (mkDerivation "fontxfree86type1" {
     name = "font-xfree86-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -467,59 +482,69 @@ let
       sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  gccmakedep = (stdenv.mkDerivation ((if overrides ? gccmakedep then overrides.gccmakedep else x: x) {
-    name = "gccmakedep-1.0.2";
+  gccmakedep = (mkDerivation "gccmakedep" {
+    name = "gccmakedep-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2;
-      sha256 = "04dfamx3fvkvqfgs6xy2a6yqbxjrj4777ylxp38g60hhbdl4jg86";
+      url = mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2;
+      sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
+
+  glamoregl = (mkDerivation "glamoregl" {
+    name = "glamor-egl-0.6.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2;
+      sha256 = "1jg5clihklb9drh1jd7nhhdsszla6nv7xmbvm8yvakh5wrb1nlv6";
+    };
+    buildInputs = [pkgconfig dri2proto xorgserver ];
+  }) // {inherit dri2proto xorgserver ;};
 
-  glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) {
-    name = "glproto-1.4.16";
+  glproto = (mkDerivation "glproto" {
+    name = "glproto-1.4.17";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2;
-      sha256 = "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal";
+      url = mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2;
+      sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) {
-    name = "iceauth-1.0.5";
+  iceauth = (mkDerivation "iceauth" {
+    name = "iceauth-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2;
-      sha256 = "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl";
+      url = mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2;
+      sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx";
     };
     buildInputs = [pkgconfig libICE xproto ];
-  })) // {inherit libICE xproto ;};
+  }) // {inherit libICE xproto ;};
 
-  imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) {
-    name = "imake-1.0.5";
+  imake = (mkDerivation "imake" {
+    name = "imake-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/imake-1.0.5.tar.bz2;
-      sha256 = "1h8ww97aymm10l9qn21n1b9x5ypjrqr10qpf48jjcbc9fg77gklr";
+      url = mirror://xorg/individual/util/imake-1.0.7.tar.bz2;
+      sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) {
-    name = "inputproto-2.3";
+  inputproto = (mkDerivation "inputproto" {
+    name = "inputproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/inputproto-2.3.tar.bz2;
-      sha256 = "0by3aa8i1gki6i904i34vlrymv5p8il05gr83sf8x7v9ys9v29kx";
+      url = mirror://xorg/individual/proto/inputproto-2.3.1.tar.bz2;
+      sha256 = "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) {
+  kbproto = (mkDerivation "kbproto" {
     name = "kbproto-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -527,9 +552,9 @@ let
       sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  libAppleWM = (stdenv.mkDerivation ((if overrides ? libAppleWM then overrides.libAppleWM else x: x) {
+  libAppleWM = (mkDerivation "libAppleWM" {
     name = "libAppleWM-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -537,39 +562,39 @@ let
       sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y";
     };
     buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ];
-  })) // {inherit applewmproto libX11 libXext xextproto ;};
+  }) // {inherit applewmproto libX11 libXext xextproto ;};
 
-  libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) {
-    name = "libFS-1.0.5";
+  libFS = (mkDerivation "libFS" {
+    name = "libFS-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libFS-1.0.5.tar.bz2;
-      sha256 = "01v1z6hy702pcxz89kqb84w9gjjrvnjqsxc2zzvswlw0vl2k1sr2";
+      url = mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2;
+      sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh";
     };
     buildInputs = [pkgconfig fontsproto xproto xtrans ];
-  })) // {inherit fontsproto xproto xtrans ;};
+  }) // {inherit fontsproto xproto xtrans ;};
 
-  libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) {
-    name = "libICE-1.0.8";
+  libICE = (mkDerivation "libICE" {
+    name = "libICE-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2;
-      sha256 = "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94";
+      url = mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2;
+      sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g";
     };
     buildInputs = [pkgconfig xproto xtrans ];
-  })) // {inherit xproto xtrans ;};
+  }) // {inherit xproto xtrans ;};
 
-  libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) {
-    name = "libSM-1.2.1";
+  libSM = (mkDerivation "libSM" {
+    name = "libSM-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2;
-      sha256 = "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck";
+      url = mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2;
+      sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b";
     };
     buildInputs = [pkgconfig libICE libuuid xproto xtrans ];
-  })) // {inherit libICE libuuid xproto xtrans ;};
+  }) // {inherit libICE libuuid xproto xtrans ;};
 
-  libWindowsWM = (stdenv.mkDerivation ((if overrides ? libWindowsWM then overrides.libWindowsWM else x: x) {
+  libWindowsWM = (mkDerivation "libWindowsWM" {
     name = "libWindowsWM-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -577,20 +602,20 @@ let
       sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15";
     };
     buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ];
-  })) // {inherit windowswmproto libX11 libXext xextproto ;};
+  }) // {inherit windowswmproto libX11 libXext xextproto ;};
 
-  libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
-    name = "libX11-1.6.1";
+  libX11 = (mkDerivation "libX11" {
+    name = "libX11-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libX11-1.6.1.tar.bz2;
-      sha256 = "14hqf180dxax3xf65bq95psd4bx8az1q1l6lxsjzbd2qdg0lz98h";
+      url = mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2;
+      sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a";
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
-  })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
+  }) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
 
-  libXScrnSaver = (stdenv.mkDerivation ((if overrides ? libXScrnSaver then overrides.libXScrnSaver else x: x) {
+  libXScrnSaver = (mkDerivation "libXScrnSaver" {
     name = "libXScrnSaver-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -598,41 +623,41 @@ let
       sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg";
     };
     buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ];
-  })) // {inherit scrnsaverproto libX11 libXext xextproto ;};
+  }) // {inherit scrnsaverproto libX11 libXext xextproto ;};
 
-  libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) {
-    name = "libXau-1.0.7";
+  libXau = (mkDerivation "libXau" {
+    name = "libXau-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2;
-      sha256 = "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi";
+      url = mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2;
+      sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x";
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) {
-    name = "libXaw-1.0.11";
+  libXaw = (mkDerivation "libXaw" {
+    name = "libXaw-1.0.12";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2;
-      sha256 = "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47";
+      url = mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2;
+      sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
-  })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
+  }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
 
-  libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) {
-    name = "libXcomposite-0.4.3";
+  libXcomposite = (mkDerivation "libXcomposite" {
+    name = "libXcomposite-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2;
-      sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j";
+      url = mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2;
+      sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd";
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ];
-  })) // {inherit compositeproto libX11 libXfixes xproto ;};
+  }) // {inherit compositeproto libX11 libXfixes xproto ;};
 
-  libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) {
+  libXcursor = (mkDerivation "libXcursor" {
     name = "libXcursor-1.1.14";
     builder = ./builder.sh;
     src = fetchurl {
@@ -641,20 +666,20 @@ let
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ];
-  })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
+  }) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
 
-  libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) {
-    name = "libXdamage-1.1.3";
+  libXdamage = (mkDerivation "libXdamage" {
+    name = "libXdamage-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2;
-      sha256 = "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw";
+      url = mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2;
+      sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw";
     };
     outputs = [ "dev" "out" ];
     buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ];
-  })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
+  }) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
 
-  libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) {
+  libXdmcp = (mkDerivation "libXdmcp" {
     name = "libXdmcp-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -663,20 +688,20 @@ let
     };
     outputs = [ "dev" "out" "doc" ];
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) {
-    name = "libXext-1.3.2";
+  libXext = (mkDerivation "libXext" {
+    name = "libXext-1.3.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXext-1.3.2.tar.bz2;
-      sha256 = "1q1j0kjyhmy24wqr6mdkrrciffyqhmc8vn95za2w1ka6qrdhfagq";
+      url = mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2;
+      sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m";
     };
     outputs = [ "dev" "out" "man" "doc" ];
     buildInputs = [pkgconfig libX11 xextproto xproto ];
-  })) // {inherit libX11 xextproto xproto ;};
+  }) // {inherit libX11 xextproto xproto ;};
 
-  libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) {
+  libXfixes = (mkDerivation "libXfixes" {
     name = "libXfixes-5.0.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -685,41 +710,41 @@ let
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ];
-  })) // {inherit fixesproto libX11 xextproto xproto ;};
+  }) // {inherit fixesproto libX11 xextproto xproto ;};
 
-  libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) {
-    name = "libXfont-1.4.6";
+  libXfont = (mkDerivation "libXfont" {
+    name = "libXfont-1.4.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont-1.4.6.tar.bz2;
-      sha256 = "17vy2p8myxx8644yd05qsl2qvv9m3mhdbniw87mcw5ywai2zxjyh";
+      url = mirror://xorg/individual/lib/libXfont-1.4.8.tar.bz2;
+      sha256 = "01fh2hnnaby8x6mv57x78nsqwhls70gwykldzd8b43vrpzzd8s2m";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
-  })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
+  }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
 
-  libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) {
-    name = "libXft-2.3.1";
+  libXft = (mkDerivation "libXft" {
+    name = "libXft-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2;
-      sha256 = "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz";
+      url = mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2;
+      sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm";
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ];
-  })) // {inherit fontconfig freetype libX11 xproto libXrender ;};
+  }) // {inherit fontconfig freetype libX11 xproto libXrender ;};
 
-  libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
-    name = "libXi-1.7.2";
+  libXi = (mkDerivation "libXi" {
+    name = "libXi-1.7.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXi-1.7.2.tar.bz2;
-      sha256 = "03mj9i6h0n8icjkx5a16wh1gyyhfiayj02ydc6sy4i9nqqfph96z";
+      url = mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2;
+      sha256 = "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc";
     };
     outputs = [ "dev" "out" "man" "doc" ];
     buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ];
-  })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
+  }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
 
-  libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) {
+  libXinerama = (mkDerivation "libXinerama" {
     name = "libXinerama-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -728,19 +753,19 @@ let
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ];
-  })) // {inherit libX11 libXext xextproto xineramaproto ;};
+  }) // {inherit libX11 libXext xextproto xineramaproto ;};
 
-  libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) {
-    name = "libXmu-1.1.1";
+  libXmu = (mkDerivation "libXmu" {
+    name = "libXmu-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2;
-      sha256 = "1pbym8rrznxqd60zwf7w4xpf27sa72bky2knginqcfnca32q343h";
+      url = mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2;
+      sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
-  })) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) // {inherit libX11 libXext xextproto xproto libXt ;};
 
-  libXp = (stdenv.mkDerivation ((if overrides ? libXp then overrides.libXp else x: x) {
+  libXp = (mkDerivation "libXp" {
     name = "libXp-1.0.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -748,30 +773,30 @@ let
       sha256 = "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm";
     };
     buildInputs = [pkgconfig printproto libX11 libXau libXext xextproto ];
-  })) // {inherit printproto libX11 libXau libXext xextproto ;};
+  }) // {inherit printproto libX11 libXau libXext xextproto ;};
 
-  libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) {
-    name = "libXpm-3.5.10";
+  libXpm = (mkDerivation "libXpm" {
+    name = "libXpm-3.5.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2;
-      sha256 = "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6";
+      url = mirror://xorg/individual/lib/libXpm-3.5.11.tar.bz2;
+      sha256 = "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
-  })) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) // {inherit libX11 libXext xextproto xproto libXt ;};
 
-  libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) {
-    name = "libXrandr-1.4.1";
+  libXrandr = (mkDerivation "libXrandr" {
+    name = "libXrandr-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXrandr-1.4.1.tar.bz2;
-      sha256 = "01dr1wvyxq2y4yq4hilgglkjlvn551dmnl4l65nfm8nh1x4s056r";
+      url = mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2;
+      sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya";
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
-  })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
+  }) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
 
-  libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) {
+  libXrender = (mkDerivation "libXrender" {
     name = "libXrender-0.9.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -780,9 +805,9 @@ let
     };
     outputs = [ "dev" "out" "doc" ];
     buildInputs = [pkgconfig renderproto libX11 xproto ];
-  })) // {inherit renderproto libX11 xproto ;};
+  }) // {inherit renderproto libX11 xproto ;};
 
-  libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) {
+  libXres = (mkDerivation "libXres" {
     name = "libXres-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -790,9 +815,9 @@ let
       sha256 = "1rd0bzn67cpb2qkc946gch2183r4bdjfhs6cpqbipy47m9a91296";
     };
     buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ];
-  })) // {inherit resourceproto libX11 libXext xextproto xproto ;};
+  }) // {inherit resourceproto libX11 libXext xextproto xproto ;};
 
-  libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) {
+  libXt = (mkDerivation "libXt" {
     name = "libXt-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -800,29 +825,29 @@ let
       sha256 = "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4";
     };
     buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ];
-  })) // {inherit libICE kbproto libSM libX11 xproto ;};
+  }) // {inherit libICE kbproto libSM libX11 xproto ;};
 
-  libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) {
-    name = "libXtst-1.2.1";
+  libXtst = (mkDerivation "libXtst" {
+    name = "libXtst-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2;
-      sha256 = "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky";
+      url = mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2;
+      sha256 = "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg";
     };
     buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ];
-  })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
+  }) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
 
-  libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) {
-    name = "libXv-1.0.8";
+  libXv = (mkDerivation "libXv" {
+    name = "libXv-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXv-1.0.8.tar.bz2;
-      sha256 = "1mvkmypf9rsr3lr161hf9sjadlirb116jfp5lk70j29r8x9yn02g";
+      url = mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2;
+      sha256 = "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ];
-  })) // {inherit videoproto libX11 libXext xextproto xproto ;};
+  }) // {inherit videoproto libX11 libXext xextproto xproto ;};
 
-  libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) {
+  libXvMC = (mkDerivation "libXvMC" {
     name = "libXvMC-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -830,9 +855,9 @@ let
       sha256 = "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ];
-  })) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
+  }) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
 
-  libXxf86dga = (stdenv.mkDerivation ((if overrides ? libXxf86dga then overrides.libXxf86dga else x: x) {
+  libXxf86dga = (mkDerivation "libXxf86dga" {
     name = "libXxf86dga-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -840,9 +865,9 @@ let
       sha256 = "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ];
-  })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
+  }) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
 
-  libXxf86misc = (stdenv.mkDerivation ((if overrides ? libXxf86misc then overrides.libXxf86misc else x: x) {
+  libXxf86misc = (mkDerivation "libXxf86misc" {
     name = "libXxf86misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -850,9 +875,9 @@ let
       sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ];
-  })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
+  }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
 
-  libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) {
+  libXxf86vm = (mkDerivation "libXxf86vm" {
     name = "libXxf86vm-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -861,9 +886,9 @@ let
     };
     outputs = [ "dev" "out" "man" ];
     buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ];
-  })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
+  }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
 
-  libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) {
+  libdmx = (mkDerivation "libdmx" {
     name = "libdmx-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -871,19 +896,19 @@ let
       sha256 = "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9";
     };
     buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ];
-  })) // {inherit dmxproto libX11 libXext xextproto ;};
+  }) // {inherit dmxproto libX11 libXext xextproto ;};
 
-  libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) {
-    name = "libfontenc-1.1.1";
+  libfontenc = (mkDerivation "libfontenc" {
+    name = "libfontenc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2;
-      sha256 = "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny";
+      url = mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2;
+      sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959";
     };
     buildInputs = [pkgconfig xproto zlib ];
-  })) // {inherit xproto zlib ;};
+  }) // {inherit xproto zlib ;};
 
-  libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) {
+  libpciaccess = (mkDerivation "libpciaccess" {
     name = "libpciaccess-0.13.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -891,9 +916,9 @@ let
       sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb";
     };
     buildInputs = [pkgconfig zlib ];
-  })) // {inherit zlib ;};
+  }) // {inherit zlib ;};
 
-  libpthreadstubs = (stdenv.mkDerivation ((if overrides ? libpthreadstubs then overrides.libpthreadstubs else x: x) {
+  libpthreadstubs = (mkDerivation "libpthreadstubs" {
     name = "libpthread-stubs-0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -901,20 +926,20 @@ let
       sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) {
-    name = "libxcb-1.9.1";
+  libxcb = (mkDerivation "libxcb" {
+    name = "libxcb-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libxcb-1.9.1.tar.bz2;
-      sha256 = "0brn7vw66widc5mw7gynwy8dln3gmzym2fqqyzk6k58bxgs5yjnl";
+      url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2;
+      sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3";
     };
     outputs = [ "dev" "out" "doc" "man" ];
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
-  })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
+  }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
 
-  libxkbfile = (stdenv.mkDerivation ((if overrides ? libxkbfile then overrides.libxkbfile else x: x) {
+  libxkbfile = (mkDerivation "libxkbfile" {
     name = "libxkbfile-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -922,9 +947,19 @@ let
       sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca";
     };
     buildInputs = [pkgconfig kbproto libX11 ];
-  })) // {inherit kbproto libX11 ;};
+  }) // {inherit kbproto libX11 ;};
 
-  lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) {
+  libxshmfence = (mkDerivation "libxshmfence" {
+    name = "libxshmfence-1.1";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2;
+      sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv";
+    };
+    buildInputs = [pkgconfig xproto ];
+  }) // {inherit xproto ;};
+
+  lndir = (mkDerivation "lndir" {
     name = "lndir-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -932,9 +967,9 @@ let
       sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) {
+  luit = (mkDerivation "luit" {
     name = "luit-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -942,19 +977,19 @@ let
       sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h";
     };
     buildInputs = [pkgconfig libfontenc ];
-  })) // {inherit libfontenc ;};
+  }) // {inherit libfontenc ;};
 
-  makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) {
-    name = "makedepend-1.0.4";
+  makedepend = (mkDerivation "makedepend" {
+    name = "makedepend-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2;
-      sha256 = "1zpp2b9dfvlnfj2i1mzdyn785rpl7vih5lap7kcpiv80xspbhmmb";
+      url = mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2;
+      sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) {
+  mkfontdir = (mkDerivation "mkfontdir" {
     name = "mkfontdir-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -962,19 +997,29 @@ let
       sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) {
-    name = "mkfontscale-1.1.0";
+  mkfontscale = (mkDerivation "mkfontscale" {
+    name = "mkfontscale-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2;
-      sha256 = "1539h3ws66vcql6sf2831bcs0r4d9b05lcgpswkw33lvcxighmff";
+      url = mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2;
+      sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14";
     };
     buildInputs = [pkgconfig libfontenc freetype xproto zlib ];
-  })) // {inherit libfontenc freetype xproto zlib ;};
+  }) // {inherit libfontenc freetype xproto zlib ;};
+
+  presentproto = (mkDerivation "presentproto" {
+    name = "presentproto-1.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/proto/presentproto-1.0.tar.bz2;
+      sha256 = "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41";
+    };
+    buildInputs = [pkgconfig ];
+  }) // {inherit ;};
 
-  printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) {
+  printproto = (mkDerivation "printproto" {
     name = "printproto-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -982,9 +1027,9 @@ let
       sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j";
     };
     buildInputs = [pkgconfig libXau ];
-  })) // {inherit libXau ;};
+  }) // {inherit libXau ;};
 
-  randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) {
+  randrproto = (mkDerivation "randrproto" {
     name = "randrproto-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -992,9 +1037,9 @@ let
       sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) {
+  recordproto = (mkDerivation "recordproto" {
     name = "recordproto-1.14.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1002,9 +1047,9 @@ let
       sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  renderproto = (stdenv.mkDerivation ((if overrides ? renderproto then overrides.renderproto else x: x) {
+  renderproto = (mkDerivation "renderproto" {
     name = "renderproto-0.11.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1012,9 +1057,9 @@ let
       sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) {
+  resourceproto = (mkDerivation "resourceproto" {
     name = "resourceproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1022,9 +1067,9 @@ let
       sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) {
+  scrnsaverproto = (mkDerivation "scrnsaverproto" {
     name = "scrnsaverproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1032,19 +1077,19 @@ let
       sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) {
-    name = "sessreg-1.0.7";
+  sessreg = (mkDerivation "sessreg" {
+    name = "sessreg-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2;
-      sha256 = "0lifgjxdvc6lwyjk90slddnr12fsv88ldy6qhklr5av409cfwd47";
+      url = mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2;
+      sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) {
+  setxkbmap = (mkDerivation "setxkbmap" {
     name = "setxkbmap-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1052,9 +1097,9 @@ let
       sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
-  })) // {inherit libX11 libxkbfile ;};
+  }) // {inherit libX11 libxkbfile ;};
 
-  smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) {
+  smproxy = (mkDerivation "smproxy" {
     name = "smproxy-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1062,39 +1107,39 @@ let
       sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67";
     };
     buildInputs = [pkgconfig libICE libSM libXmu libXt ];
-  })) // {inherit libICE libSM libXmu libXt ;};
+  }) // {inherit libICE libSM libXmu libXt ;};
 
-  twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) {
-    name = "twm-1.0.7";
+  twm = (mkDerivation "twm" {
+    name = "twm-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/twm-1.0.7.tar.bz2;
-      sha256 = "0i6dbf5vafi5hm4bcmnj6r412cncjlv9hkkbr6bzlh15qvg56p8g";
+      url = mirror://xorg/individual/app/twm-1.0.8.tar.bz2;
+      sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n";
     };
     buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ];
-  })) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
+  }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
 
-  utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) {
-    name = "util-macros-1.17";
+  utilmacros = (mkDerivation "utilmacros" {
+    name = "util-macros-1.19.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2;
-      sha256 = "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx";
+      url = mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2;
+      sha256 = "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  videoproto = (stdenv.mkDerivation ((if overrides ? videoproto then overrides.videoproto else x: x) {
-    name = "videoproto-2.3.1";
+  videoproto = (mkDerivation "videoproto" {
+    name = "videoproto-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2;
-      sha256 = "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry";
+      url = mirror://xorg/individual/proto/videoproto-2.3.2.tar.bz2;
+      sha256 = "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  windowswmproto = (stdenv.mkDerivation ((if overrides ? windowswmproto then overrides.windowswmproto else x: x) {
+  windowswmproto = (mkDerivation "windowswmproto" {
     name = "windowswmproto-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1102,9 +1147,9 @@ let
       sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) {
+  x11perf = (mkDerivation "x11perf" {
     name = "x11perf-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1112,29 +1157,29 @@ let
       sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4";
     };
     buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ];
-  })) // {inherit libX11 libXext libXft libXmu libXrender ;};
+  }) // {inherit libX11 libXext libXft libXmu libXrender ;};
 
-  xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) {
-    name = "xauth-1.0.7";
+  xauth = (mkDerivation "xauth" {
+    name = "xauth-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2;
-      sha256 = "1382wdfiakgckbw1xxavzh1nm34q21b1zzy96qp7ws66xc48rxw4";
+      url = mirror://xorg/individual/app/xauth-1.0.9.tar.bz2;
+      sha256 = "13y2invb0894b1in03jbglximbz6v31y2kr4yjjgica8xciibkjn";
     };
-    buildInputs = [pkgconfig libX11 libXau libXext libXmu ];
-  })) // {inherit libX11 libXau libXext libXmu ;};
+    buildInputs = [pkgconfig libX11 libXau libXext libXmu xproto ];
+  }) // {inherit libX11 libXau libXext libXmu xproto ;};
 
-  xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) {
-    name = "xbacklight-1.2.0";
+  xbacklight = (mkDerivation "xbacklight" {
+    name = "xbacklight-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2;
-      sha256 = "199n9qszjiz82nbjz6ychh0xl15igm535mv0830wk4m59w9xclji";
+      url = mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2;
+      sha256 = "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp";
     };
     buildInputs = [pkgconfig libxcb xcbutil ];
-  })) // {inherit libxcb xcbutil ;};
+  }) // {inherit libxcb xcbutil ;};
 
-  xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) {
+  xbitmaps = (mkDerivation "xbitmaps" {
     name = "xbitmaps-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1142,19 +1187,19 @@ let
       sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) {
-    name = "xcb-proto-1.8";
+  xcbproto = (mkDerivation "xcbproto" {
+    name = "xcb-proto-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-proto-1.8.tar.bz2;
-      sha256 = "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93";
+      url = http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2;
+      sha256 = "0bp3f53l9fy5x3mn1rkj1g81aiyzl90wacwvqdgy831aa3kfxb5l";
     };
     buildInputs = [pkgconfig python ];
-  })) // {inherit python ;};
+  }) // {inherit python ;};
 
-  xcbutil = (stdenv.mkDerivation ((if overrides ? xcbutil then overrides.xcbutil else x: x) {
+  xcbutil = (mkDerivation "xcbutil" {
     name = "xcb-util-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1162,9 +1207,9 @@ let
       sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xcbutilimage = (stdenv.mkDerivation ((if overrides ? xcbutilimage then overrides.xcbutilimage else x: x) {
+  xcbutilimage = (mkDerivation "xcbutilimage" {
     name = "xcb-util-image-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1172,9 +1217,9 @@ let
       sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ];
-  })) // {inherit gperf m4 libxcb xcbutil xproto ;};
+  }) // {inherit gperf m4 libxcb xcbutil xproto ;};
 
-  xcbutilkeysyms = (stdenv.mkDerivation ((if overrides ? xcbutilkeysyms then overrides.xcbutilkeysyms else x: x) {
+  xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" {
     name = "xcb-util-keysyms-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1182,39 +1227,39 @@ let
       sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xcbutilrenderutil = (stdenv.mkDerivation ((if overrides ? xcbutilrenderutil then overrides.xcbutilrenderutil else x: x) {
-    name = "xcb-util-renderutil-0.3.8";
+  xcbutilrenderutil = (mkDerivation "xcbutilrenderutil" {
+    name = "xcb-util-renderutil-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.8.tar.bz2;
-      sha256 = "0lkl9ij9b447c0br2qc5qsynjn09c4fdz7sd6yp7pyi8az2sb2cp";
+      url = http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2;
+      sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) {
-    name = "xcb-util-wm-0.3.9";
+  xcbutilwm = (mkDerivation "xcbutilwm" {
+    name = "xcb-util-wm-0.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-util-wm-0.3.9.tar.bz2;
-      sha256 = "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3";
+      url = http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2;
+      sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) {
-    name = "xclock-1.0.6";
+  xclock = (mkDerivation "xclock" {
+    name = "xclock-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xclock-1.0.6.tar.bz2;
-      sha256 = "1l1zxr69p0734fnx9rdqw79ahr273hr050sm8xdc0n51n1bnzfr1";
+      url = mirror://xorg/individual/app/xclock-1.0.7.tar.bz2;
+      sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3";
     };
-    buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu libXrender libXt ];
-  })) // {inherit libX11 libXaw libXft libxkbfile libXmu libXrender libXt ;};
+    buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ];
+  }) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;};
 
-  xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) {
+  xcmiscproto = (mkDerivation "xcmiscproto" {
     name = "xcmiscproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1222,9 +1267,9 @@ let
       sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) {
+  xcmsdb = (mkDerivation "xcmsdb" {
     name = "xcmsdb-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1232,29 +1277,29 @@ let
       sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74";
     };
     buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+  }) // {inherit libX11 ;};
 
-  xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) {
-    name = "xcursorgen-1.0.5";
+  xcursorgen = (mkDerivation "xcursorgen" {
+    name = "xcursorgen-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2;
-      sha256 = "10f5wk1326mm45gvgpf4m2p0j80fcd0i4c52zikahb91zah72wdw";
+      url = mirror://xorg/individual/app/xcursorgen-1.0.6.tar.bz2;
+      sha256 = "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i";
     };
     buildInputs = [pkgconfig libpng libX11 libXcursor ];
-  })) // {inherit libpng libX11 libXcursor ;};
+  }) // {inherit libpng libX11 libXcursor ;};
 
-  xcursorthemes = (stdenv.mkDerivation ((if overrides ? xcursorthemes then overrides.xcursorthemes else x: x) {
-    name = "xcursor-themes-1.0.3";
+  xcursorthemes = (mkDerivation "xcursorthemes" {
+    name = "xcursor-themes-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2;
-      sha256 = "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr";
+      url = mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2;
+      sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3";
     };
     buildInputs = [pkgconfig libXcursor ];
-  })) // {inherit libXcursor ;};
+  }) // {inherit libXcursor ;};
 
-  xdm = (stdenv.mkDerivation ((if overrides ? xdm then overrides.xdm else x: x) {
+  xdm = (mkDerivation "xdm" {
     name = "xdm-1.1.11";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1262,19 +1307,19 @@ let
       sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl";
     };
     buildInputs = [pkgconfig libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ];
-  })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
+  }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
 
-  xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) {
-    name = "xdpyinfo-1.3.0";
+  xdpyinfo = (mkDerivation "xdpyinfo" {
+    name = "xdpyinfo-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2;
-      sha256 = "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3";
+      url = mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2;
+      sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf";
     };
-    buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
-  })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
+    buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
+  }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
 
-  xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) {
+  xdriinfo = (mkDerivation "xdriinfo" {
     name = "xdriinfo-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1282,29 +1327,29 @@ let
       sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim";
     };
     buildInputs = [pkgconfig glproto libX11 ];
-  })) // {inherit glproto libX11 ;};
+  }) // {inherit glproto libX11 ;};
 
-  xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) {
-    name = "xev-1.2.0";
+  xev = (mkDerivation "xev" {
+    name = "xev-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2;
-      sha256 = "13xk5z7vy87rnn4574z0jfzymdivyc7pl4axim81sx0pmdysg1ip";
+      url = mirror://xorg/individual/app/xev-1.2.1.tar.bz2;
+      sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr ];
-  })) // {inherit libX11 xproto libXrandr ;};
+  }) // {inherit libX11 xproto libXrandr ;};
 
-  xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) {
-    name = "xextproto-7.2.1";
+  xextproto = (mkDerivation "xextproto" {
+    name = "xextproto-7.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2;
-      sha256 = "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw";
+      url = mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2;
+      sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xeyes = (stdenv.mkDerivation ((if overrides ? xeyes then overrides.xeyes else x: x) {
+  xeyes = (mkDerivation "xeyes" {
     name = "xeyes-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1312,9 +1357,9 @@ let
       sha256 = "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp";
     };
     buildInputs = [pkgconfig libX11 libXext libXmu libXrender libXt ];
-  })) // {inherit libX11 libXext libXmu libXrender libXt ;};
+  }) // {inherit libX11 libXext libXmu libXrender libXt ;};
 
-  xf86bigfontproto = (stdenv.mkDerivation ((if overrides ? xf86bigfontproto then overrides.xf86bigfontproto else x: x) {
+  xf86bigfontproto = (mkDerivation "xf86bigfontproto" {
     name = "xf86bigfontproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1322,9 +1367,9 @@ let
       sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86dgaproto = (stdenv.mkDerivation ((if overrides ? xf86dgaproto then overrides.xf86dgaproto else x: x) {
+  xf86dgaproto = (mkDerivation "xf86dgaproto" {
     name = "xf86dgaproto-2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1332,9 +1377,9 @@ let
       sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86driproto = (stdenv.mkDerivation ((if overrides ? xf86driproto then overrides.xf86driproto else x: x) {
+  xf86driproto = (mkDerivation "xf86driproto" {
     name = "xf86driproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1342,19 +1387,19 @@ let
       sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) {
-    name = "xf86-input-evdev-2.7.3";
+  xf86inputevdev = (mkDerivation "xf86inputevdev" {
+    name = "xf86-input-evdev-2.8.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2;
-      sha256 = "01557w1kmsaqdsc42pxyypig10l5r5vh9axz9g22hg9cc09r8f7b";
+      url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2;
+      sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5";
     };
     buildInputs = [pkgconfig inputproto udev xorgserver xproto ];
-  })) // {inherit inputproto udev xorgserver xproto ;};
+  }) // {inherit inputproto udev xorgserver xproto ;};
 
-  xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) {
+  xf86inputjoystick = (mkDerivation "xf86inputjoystick" {
     name = "xf86-input-joystick-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1362,39 +1407,39 @@ let
       sha256 = "038mfqairyyqvz02rk7v3i070sab1wr0k6fkxvyvxdgkfbnqcfzf";
     };
     buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ];
-  })) // {inherit inputproto kbproto xorgserver xproto ;};
+  }) // {inherit inputproto kbproto xorgserver xproto ;};
 
-  xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) {
-    name = "xf86-input-keyboard-1.6.1";
+  xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" {
+    name = "xf86-input-keyboard-1.8.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2;
-      sha256 = "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma";
+      url = mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2;
+      sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
-  })) // {inherit inputproto xorgserver xproto ;};
+  }) // {inherit inputproto xorgserver xproto ;};
 
-  xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) {
-    name = "xf86-input-mouse-1.7.2";
+  xf86inputmouse = (mkDerivation "xf86inputmouse" {
+    name = "xf86-input-mouse-1.9.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2;
-      sha256 = "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark";
+      url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2;
+      sha256 = "1kn5kx3qyn9qqvd6s24a2l1wfgck2pgfvzl90xpl024wfxsx719l";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
-  })) // {inherit inputproto xorgserver xproto ;};
+  }) // {inherit inputproto xorgserver xproto ;};
 
-  xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) {
-    name = "xf86-input-synaptics-1.6.2";
+  xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" {
+    name = "xf86-input-synaptics-1.7.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2;
-      sha256 = "082rlbyw63sashjbwd7dd0a0smp5n8yv9bihy19c706lhnhddxy3";
+      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2;
+      sha256 = "0ls8f7gy92f54hdqsa19vypg0xm496jrgdhdn4qphycxwn3gwkbm";
     };
     buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
-  })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
+  }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
 
-  xf86inputvmmouse = (stdenv.mkDerivation ((if overrides ? xf86inputvmmouse then overrides.xf86inputvmmouse else x: x) {
+  xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" {
     name = "xf86-input-vmmouse-13.0.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1402,9 +1447,9 @@ let
       sha256 = "0b31ap9wp7nwpnihz8m7bz3p0hhaipxxhl652nw4v380cq1vdkq4";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
-  })) // {inherit inputproto randrproto xorgserver xproto ;};
+  }) // {inherit inputproto randrproto xorgserver xproto ;};
 
-  xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) {
+  xf86inputvoid = (mkDerivation "xf86inputvoid" {
     name = "xf86-input-void-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1412,9 +1457,9 @@ let
       sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
-  })) // {inherit xorgserver xproto ;};
+  }) // {inherit xorgserver xproto ;};
 
-  xf86miscproto = (stdenv.mkDerivation ((if overrides ? xf86miscproto then overrides.xf86miscproto else x: x) {
+  xf86miscproto = (mkDerivation "xf86miscproto" {
     name = "xf86miscproto-0.9.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1422,9 +1467,9 @@ let
       sha256 = "15dhcdpv61fyj6rhzrhnwri9hlw8rjfy05z1vik118lc99mfrf25";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) {
+  xf86videoark = (mkDerivation "xf86videoark" {
     name = "xf86-video-ark-0.7.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1432,79 +1477,79 @@ let
       sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
 
-  xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) {
-    name = "xf86-video-ast-0.97.0";
+  xf86videoast = (mkDerivation "xf86videoast" {
+    name = "xf86-video-ast-0.98.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ast-0.97.0.tar.bz2;
-      sha256 = "0xlfk64pa0vbg74m261fw8cn4vw6jw3nxm6wys9m4j3n2rwd9z18";
+      url = mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2;
+      sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
-  xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) {
-    name = "xf86-video-ati-7.1.0";
+  xf86videoati = (mkDerivation "xf86videoati" {
+    name = "xf86-video-ati-7.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ati-7.1.0.tar.bz2;
-      sha256 = "1k8hwszx1zj17z0657dna8q4k7x67adc163z44jiccyb3w2l9bn8";
+      url = mirror://xorg/individual/driver/xf86-video-ati-7.4.0.tar.bz2;
+      sha256 = "1nbnvxlyn75bcf23m39p7yw80kilgdxmjdvzgcs3walshnlhq8wn";
     };
-    buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
+  }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) {
-    name = "xf86-video-cirrus-1.5.1";
+  xf86videocirrus = (mkDerivation "xf86videocirrus" {
+    name = "xf86-video-cirrus-1.5.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2;
-      sha256 = "0my54x52fsa82bsh196hz79750xjlv8ddbvin7230ck7pnf44md9";
+      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2;
+      sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
-  xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) {
-    name = "xf86-video-dummy-0.3.6";
+  xf86videodummy = (mkDerivation "xf86videodummy" {
+    name = "xf86-video-dummy-0.3.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.6.tar.bz2;
-      sha256 = "16773lxa74d9v2x758bx0byrmxssplqygnjn09q3klr605j5ncs4";
+      url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2;
+      sha256 = "1046p64xap69vlsmsz5rjv0djc970yhvq44fmllmas0mqp5lzy2n";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
 
-  xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) {
-    name = "xf86-video-fbdev-0.4.3";
+  xf86videofbdev = (mkDerivation "xf86videofbdev" {
+    name = "xf86-video-fbdev-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2;
-      sha256 = "0ca8khgy3wv0fys7s4087apvnp8j86blxj5m5m70l10hs5x06yzz";
+      url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2;
+      sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
 
-  xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) {
-    name = "xf86-video-geode-2.11.14";
+  xf86videogeode = (mkDerivation "xf86videogeode" {
+    name = "xf86-video-geode-2.11.16";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.14.tar.bz2;
-      sha256 = "1k6gl1kq2fr0gj6sqrg2rypp59f8b8pr46c902m4z4rjr530nxac";
+      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2;
+      sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
-  xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) {
-    name = "xf86-video-glide-1.2.1";
+  xf86videoglide = (mkDerivation "xf86videoglide" {
+    name = "xf86-video-glide-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-glide-1.2.1.tar.bz2;
-      sha256 = "0vp9izdy7lgx09jfwr4ra9zvrx1hg15a5v2nhx00v31ffkh2aiyp";
+      url = mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2;
+      sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y";
     };
     buildInputs = [pkgconfig xextproto xorgserver xproto ];
-  })) // {inherit xextproto xorgserver xproto ;};
+  }) // {inherit xextproto xorgserver xproto ;};
 
-  xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) {
+  xf86videoglint = (mkDerivation "xf86videoglint" {
     name = "xf86-video-glint-1.2.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1512,9 +1557,9 @@ let
       sha256 = "08a2aark2yn9irws9c78d9q44dichr03i9zbk61jgr54ncxqhzv5";
     };
     buildInputs = [pkgconfig libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;};
 
-  xf86videoi128 = (stdenv.mkDerivation ((if overrides ? xf86videoi128 then overrides.xf86videoi128 else x: x) {
+  xf86videoi128 = (mkDerivation "xf86videoi128" {
     name = "xf86-video-i128-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1522,19 +1567,19 @@ let
       sha256 = "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
-  xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) {
-    name = "xf86-video-intel-2.21.9";
+  xf86videointel = (mkDerivation "xf86videointel" {
+    name = "xf86-video-intel-2.21.15";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.21.9.tar.bz2;
-      sha256 = "12gigzpgbrz6g2gf4q5nj2sqmjw8fczbh79dlpx898llwk4wnn8k";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2;
+      sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx";
     };
-    buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ];
-  })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;};
+    buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ];
+  }) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;};
 
-  xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) {
+  xf86videomach64 = (mkDerivation "xf86videomach64" {
     name = "xf86-video-mach64-6.9.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1542,29 +1587,39 @@ let
       sha256 = "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) {
-    name = "xf86-video-mga-1.6.2";
+  xf86videomga = (mkDerivation "xf86videomga" {
+    name = "xf86-video-mga-1.6.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-mga-1.6.2.tar.bz2;
-      sha256 = "0v6agqc9lxg8jgrksc1yksmhnv70j1vnhm09i7gg14za1qjwx29z";
+      url = mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2;
+      sha256 = "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) {
-    name = "xf86-video-neomagic-1.2.7";
+  xf86videomodesetting = (mkDerivation "xf86videomodesetting" {
+    name = "xf86-video-modesetting-0.9.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.7.tar.bz2;
-      sha256 = "0xnbk2y5pzs1g3w2rmjc4k3nyq6kazf67bv4q3dnbywalsgfh1lz";
+      url = mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2;
+      sha256 = "0p6pjn5bnd2wr3lmas4b12zcq12d9ilvssga93fzlg90fdahikwh";
     };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ];
+  }) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;};
+
+  xf86videoneomagic = (mkDerivation "xf86videoneomagic" {
+    name = "xf86-video-neomagic-1.2.8";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2;
+      sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash";
+    };
+    buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ];
+  }) // {inherit fontsproto libpciaccess xorgserver xproto ;};
 
-  xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) {
+  xf86videonewport = (mkDerivation "xf86videonewport" {
     name = "xf86-video-newport-0.2.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1572,9 +1627,19 @@ let
       sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
 
-  xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) {
+  xf86videonouveau = (mkDerivation "xf86videonouveau" {
+    name = "xf86-video-nouveau-1.0.10";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2;
+      sha256 = "17fvjplzfx86099sqys0bfl8lfbmjz8li84kzj2x95mf1cbb7fn1";
+    };
+    buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
+  }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+
+  xf86videonv = (mkDerivation "xf86videonv" {
     name = "xf86-video-nv-2.1.20";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1582,9 +1647,9 @@ let
       sha256 = "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
-  xf86videoopenchrome = (stdenv.mkDerivation ((if overrides ? xf86videoopenchrome then overrides.xf86videoopenchrome else x: x) {
+  xf86videoopenchrome = (mkDerivation "xf86videoopenchrome" {
     name = "xf86-video-openchrome-0.3.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1592,29 +1657,29 @@ let
       sha256 = "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4";
     };
     buildInputs = [pkgconfig fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ];
-  })) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
+  }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
 
-  xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) {
-    name = "xf86-video-r128-6.9.1";
+  xf86videor128 = (mkDerivation "xf86videor128" {
+    name = "xf86-video-r128-6.9.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-r128-6.9.1.tar.bz2;
-      sha256 = "0k746kk75h3hg3wmihqlmp14s52fg0svylqay02km7misflbmqwb";
+      url = mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2;
+      sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
 
-  xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) {
-    name = "xf86-video-savage-2.3.6";
+  xf86videosavage = (mkDerivation "xf86videosavage" {
+    name = "xf86-video-savage-2.3.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-savage-2.3.6.tar.bz2;
-      sha256 = "1mk3mpwl97clxhwzl990hj31z8qfh7fd4vs6qbl5i250ykc3x0a8";
+      url = mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2;
+      sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videosiliconmotion = (stdenv.mkDerivation ((if overrides ? xf86videosiliconmotion then overrides.xf86videosiliconmotion else x: x) {
+  xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" {
     name = "xf86-video-siliconmotion-1.7.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1622,9 +1687,9 @@ let
       sha256 = "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
 
-  xf86videosis = (stdenv.mkDerivation ((if overrides ? xf86videosis then overrides.xf86videosis else x: x) {
+  xf86videosis = (mkDerivation "xf86videosis" {
     name = "xf86-video-sis-0.10.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1632,9 +1697,9 @@ let
       sha256 = "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
 
-  xf86videosuncg6 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg6 then overrides.xf86videosuncg6 else x: x) {
+  xf86videosuncg6 = (mkDerivation "xf86videosuncg6" {
     name = "xf86-video-suncg6-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1642,9 +1707,9 @@ let
       sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
 
-  xf86videosunffb = (stdenv.mkDerivation ((if overrides ? xf86videosunffb then overrides.xf86videosunffb else x: x) {
+  xf86videosunffb = (mkDerivation "xf86videosunffb" {
     name = "xf86-video-sunffb-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1652,9 +1717,9 @@ let
       sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
 
-  xf86videotdfx = (stdenv.mkDerivation ((if overrides ? xf86videotdfx then overrides.xf86videotdfx else x: x) {
+  xf86videotdfx = (mkDerivation "xf86videotdfx" {
     name = "xf86-video-tdfx-1.4.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1662,9 +1727,9 @@ let
       sha256 = "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videotga = (stdenv.mkDerivation ((if overrides ? xf86videotga then overrides.xf86videotga else x: x) {
+  xf86videotga = (mkDerivation "xf86videotga" {
     name = "xf86-video-tga-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1672,9 +1737,9 @@ let
       sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
 
-  xf86videotrident = (stdenv.mkDerivation ((if overrides ? xf86videotrident then overrides.xf86videotrident else x: x) {
+  xf86videotrident = (mkDerivation "xf86videotrident" {
     name = "xf86-video-trident-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1682,9 +1747,9 @@ let
       sha256 = "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
 
-  xf86videov4l = (stdenv.mkDerivation ((if overrides ? xf86videov4l then overrides.xf86videov4l else x: x) {
+  xf86videov4l = (mkDerivation "xf86videov4l" {
     name = "xf86-video-v4l-0.2.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1692,29 +1757,29 @@ let
       sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb";
     };
     buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ];
-  })) // {inherit randrproto videoproto xorgserver xproto ;};
+  }) // {inherit randrproto videoproto xorgserver xproto ;};
 
-  xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) {
-    name = "xf86-video-vesa-2.3.2";
+  xf86videovesa = (mkDerivation "xf86videovesa" {
+    name = "xf86-video-vesa-2.3.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2;
-      sha256 = "1qqf97baii1dcsm3y8gqw674j4r8llhkbqsavhyn11iwmvzifjhl";
+      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2;
+      sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
 
-  xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) {
-    name = "xf86-video-vmware-13.0.1";
+  xf86videovmware = (mkDerivation "xf86videovmware" {
+    name = "xf86-video-vmware-13.0.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vmware-13.0.1.tar.bz2;
-      sha256 = "0ggyz3yl1ly0p9c9lva5z3892vm033z49py3svd2wh92bi0xlbc0";
+      url = mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2;
+      sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
 
-  xf86videovoodoo = (stdenv.mkDerivation ((if overrides ? xf86videovoodoo then overrides.xf86videovoodoo else x: x) {
+  xf86videovoodoo = (mkDerivation "xf86videovoodoo" {
     name = "xf86-video-voodoo-1.2.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1722,9 +1787,9 @@ let
       sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;};
 
-  xf86videowsfb = (stdenv.mkDerivation ((if overrides ? xf86videowsfb then overrides.xf86videowsfb else x: x) {
+  xf86videowsfb = (mkDerivation "xf86videowsfb" {
     name = "xf86-video-wsfb-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1732,9 +1797,9 @@ let
       sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
-  })) // {inherit xorgserver xproto ;};
+  }) // {inherit xorgserver xproto ;};
 
-  xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) {
+  xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" {
     name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1742,9 +1807,9 @@ let
       sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) {
+  xfs = (mkDerivation "xfs" {
     name = "xfs-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1752,9 +1817,9 @@ let
       sha256 = "1dwnf5gncpnjsbh9bdrc665kfnclhzzcpwpfnprvrnq4mlr4mx3v";
     };
     buildInputs = [pkgconfig libXfont xproto xtrans ];
-  })) // {inherit libXfont xproto xtrans ;};
+  }) // {inherit libXfont xproto xtrans ;};
 
-  xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) {
+  xgamma = (mkDerivation "xgamma" {
     name = "xgamma-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1762,19 +1827,19 @@ let
       sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3";
     };
     buildInputs = [pkgconfig libX11 libXxf86vm ];
-  })) // {inherit libX11 libXxf86vm ;};
+  }) // {inherit libX11 libXxf86vm ;};
 
-  xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) {
-    name = "xhost-1.0.5";
+  xhost = (mkDerivation "xhost" {
+    name = "xhost-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2;
-      sha256 = "0l483y6wfrjh37j16b41kpi2nc7ss5rvndafpbaylrs87ygx2w18";
+      url = mirror://xorg/individual/app/xhost-1.0.6.tar.bz2;
+      sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6";
     };
-    buildInputs = [pkgconfig libX11 libXau libXmu ];
-  })) // {inherit libX11 libXau libXmu ;};
+    buildInputs = [pkgconfig libX11 libXau libXmu xproto ];
+  }) // {inherit libX11 libXau libXmu xproto ;};
 
-  xineramaproto = (stdenv.mkDerivation ((if overrides ? xineramaproto then overrides.xineramaproto else x: x) {
+  xineramaproto = (mkDerivation "xineramaproto" {
     name = "xineramaproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1782,29 +1847,29 @@ let
       sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) {
-    name = "xinit-1.3.2";
+  xinit = (mkDerivation "xinit" {
+    name = "xinit-1.3.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xinit-1.3.2.tar.bz2;
-      sha256 = "0d821rlqwyn2js7bkzicyp894n9gqv1hahxs285pas1zm3d7z1m1";
+      url = mirror://xorg/individual/app/xinit-1.3.3.tar.bz2;
+      sha256 = "1bq0mqy7y305g2rds1g5443f3d2kgxzafqhmiyabbmg3ws6qgckl";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto ];
+  }) // {inherit libX11 xproto ;};
 
-  xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) {
-    name = "xinput-1.6.0";
+  xinput = (mkDerivation "xinput" {
+    name = "xinput-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2;
-      sha256 = "0zl4cdgnzh9shz20yn7hz889v4nkbyqwx0nb7dh6arn7abchgc2a";
+      url = mirror://xorg/individual/app/xinput-1.6.1.tar.bz2;
+      sha256 = "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ];
-  })) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
+  }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
 
-  xkbcomp = (stdenv.mkDerivation ((if overrides ? xkbcomp then overrides.xkbcomp else x: x) {
+  xkbcomp = (mkDerivation "xkbcomp" {
     name = "xkbcomp-1.2.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1812,9 +1877,9 @@ let
       sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i";
     };
     buildInputs = [pkgconfig libX11 libxkbfile xproto ];
-  })) // {inherit libX11 libxkbfile xproto ;};
+  }) // {inherit libX11 libxkbfile xproto ;};
 
-  xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) {
+  xkbevd = (mkDerivation "xkbevd" {
     name = "xkbevd-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1822,39 +1887,49 @@ let
       sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
-  })) // {inherit libX11 libxkbfile ;};
+  }) // {inherit libX11 libxkbfile ;};
+
+  xkbprint = (mkDerivation "xkbprint" {
+    name = "xkbprint-1.0.3";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2;
+      sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s";
+    };
+    buildInputs = [pkgconfig libX11 libxkbfile ];
+  }) // {inherit libX11 libxkbfile ;};
 
-  xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) {
-    name = "xkbutils-1.0.3";
+  xkbutils = (mkDerivation "xkbutils" {
+    name = "xkbutils-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2;
-      sha256 = "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4";
+      url = mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2;
+      sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj";
     };
     buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ];
-  })) // {inherit inputproto libX11 libXaw xproto libXt ;};
+  }) // {inherit inputproto libX11 libXaw xproto libXt ;};
 
-  xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) {
-    name = "xkeyboard-config-2.8";
+  xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
+    name = "xkeyboard-config-2.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.8.tar.bz2;
-      sha256 = "1bkq415qw4r3dl139mqgal9v585x7kh3km6z1lraz2j8im3ga72f";
+      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2;
+      sha256 = "0xkdyyi759hzls42hp4j3q2lc35n4j6b2g44ilx5qarci5h584p7";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) {
-    name = "xkill-1.0.3";
+  xkill = (mkDerivation "xkill" {
+    name = "xkill-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2;
-      sha256 = "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx";
+      url = mirror://xorg/individual/app/xkill-1.0.4.tar.bz2;
+      sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8";
     };
-    buildInputs = [pkgconfig libX11 libXmu ];
-  })) // {inherit libX11 libXmu ;};
+    buildInputs = [pkgconfig libX11 libXmu xproto ];
+  }) // {inherit libX11 libXmu xproto ;};
 
-  xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) {
+  xlsatoms = (mkDerivation "xlsatoms" {
     name = "xlsatoms-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1862,19 +1937,19 @@ let
       sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv";
     };
     buildInputs = [pkgconfig libxcb ];
-  })) // {inherit libxcb ;};
+  }) // {inherit libxcb ;};
 
-  xlsclients = (stdenv.mkDerivation ((if overrides ? xlsclients then overrides.xlsclients else x: x) {
-    name = "xlsclients-1.1.2";
+  xlsclients = (mkDerivation "xlsclients" {
+    name = "xlsclients-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2;
-      sha256 = "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w";
+      url = mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2;
+      sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx";
     };
     buildInputs = [pkgconfig libxcb ];
-  })) // {inherit libxcb ;};
+  }) // {inherit libxcb ;};
 
-  xmessage = (stdenv.mkDerivation ((if overrides ? xmessage then overrides.xmessage else x: x) {
+  xmessage = (mkDerivation "xmessage" {
     name = "xmessage-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1882,29 +1957,29 @@ let
       sha256 = "0s5bjlpxnmh8sxx6nfg9m0nr32r1sr3irr71wsnv76s33i34ppxw";
     };
     buildInputs = [pkgconfig libXaw libXt ];
-  })) // {inherit libXaw libXt ;};
+  }) // {inherit libXaw libXt ;};
 
-  xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) {
-    name = "xmodmap-1.0.7";
+  xmodmap = (mkDerivation "xmodmap" {
+    name = "xmodmap-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2;
-      sha256 = "1dg47lay4vhrl9mfq3cfc6741a0m2n8wd4ljagd21ix3qklys8pg";
+      url = mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2;
+      sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) {
-    name = "xorg-cf-files-1.0.4";
+  xorgcffiles = (mkDerivation "xorgcffiles" {
+    name = "xorg-cf-files-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2;
-      sha256 = "0s86h66b3w4623m88fg2csp41cnr08qc8i3gkj85k3wpwj1wxs9n";
+      url = mirror://xorg/individual/util/xorg-cf-files-1.0.5.tar.bz2;
+      sha256 = "1m3ypq0xcy46ghxc0svl1rbhpy3zvgmy0aa2mn7w7v7d8d8bh8zd";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) {
+  xorgdocs = (mkDerivation "xorgdocs" {
     name = "xorg-docs-1.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1912,19 +1987,19 @@ let
       sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) {
-    name = "xorg-server-1.13.4";
+  xorgserver = (mkDerivation "xorgserver" {
+    name = "xorg-server-1.14.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.13.4.tar.bz2;
-      sha256 = "1kwq5hqgl3qmm4nxh5iwpa0wwwzsj67fxqiiglzhyyrwgy46kjd2";
+      url = mirror://xorg/individual/xserver/xorg-server-1.14.7.tar.bz2;
+      sha256 = "07s54g9q1bry1050dsa7x6hy55yjvq9sxs6ks89pc8l6mnk6zxpw";
     };
     buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ];
-  })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;};
+  }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;};
 
-  xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) {
+  xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" {
     name = "xorg-sgml-doctools-1.11";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1932,9 +2007,9 @@ let
       sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xpr = (stdenv.mkDerivation ((if overrides ? xpr then overrides.xpr else x: x) {
+  xpr = (mkDerivation "xpr" {
     name = "xpr-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1942,69 +2017,69 @@ let
       sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy";
     };
     buildInputs = [pkgconfig libX11 libXmu xproto ];
-  })) // {inherit libX11 libXmu xproto ;};
+  }) // {inherit libX11 libXmu xproto ;};
 
-  xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) {
-    name = "xprop-1.2.1";
+  xprop = (mkDerivation "xprop" {
+    name = "xprop-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2;
-      sha256 = "18zi2any13zlb7f34fzyw6lkiwkd6k2scp3b800a1f4rj0c7m407";
+      url = mirror://xorg/individual/app/xprop-1.2.2.tar.bz2;
+      sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) {
-    name = "xproto-7.0.23";
+  xproto = (mkDerivation "xproto" {
+    name = "xproto-7.0.26";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2;
-      sha256 = "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d";
+      url = mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2;
+      sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) {
-    name = "xrandr-1.3.5";
+  xrandr = (mkDerivation "xrandr" {
+    name = "xrandr-1.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2;
-      sha256 = "03lq1c1q4w5cf2ijs4b34v008lshibha9zv5lw08xpyhk9xgyn8h";
+      url = mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2;
+      sha256 = "06xy0kr6ih7ilrwl6b5g6ay75vm2j4lxnv1d5xlj6sdqhqsaqm3i";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ];
-  })) // {inherit libX11 xproto libXrandr libXrender ;};
+  }) // {inherit libX11 xproto libXrandr libXrender ;};
 
-  xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) {
-    name = "xrdb-1.0.9";
+  xrdb = (mkDerivation "xrdb" {
+    name = "xrdb-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2;
-      sha256 = "1dza5a34nj68fzhlgwf18i5bk0n24ig28yihwpjy7vwn57hh2934";
+      url = mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2;
+      sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk";
     };
-    buildInputs = [pkgconfig libX11 libXmu ];
-  })) // {inherit libX11 libXmu ;};
+    buildInputs = [pkgconfig libX11 libXmu xproto ];
+  }) // {inherit libX11 libXmu xproto ;};
 
-  xrefresh = (stdenv.mkDerivation ((if overrides ? xrefresh then overrides.xrefresh else x: x) {
-    name = "xrefresh-1.0.4";
+  xrefresh = (mkDerivation "xrefresh" {
+    name = "xrefresh-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2;
-      sha256 = "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586";
+      url = mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2;
+      sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto ];
+  }) // {inherit libX11 xproto ;};
 
-  xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) {
-    name = "xset-1.2.2";
+  xset = (mkDerivation "xset" {
+    name = "xset-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2;
-      sha256 = "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1";
+      url = mirror://xorg/individual/app/xset-1.2.3.tar.bz2;
+      sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3";
     };
     buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ];
-  })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
+  }) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
 
-  xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) {
+  xsetroot = (mkDerivation "xsetroot" {
     name = "xsetroot-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2012,49 +2087,49 @@ let
       sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8";
     };
     buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ];
-  })) // {inherit libX11 xbitmaps libXcursor libXmu ;};
+  }) // {inherit libX11 xbitmaps libXcursor libXmu ;};
 
-  xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) {
-    name = "xtrans-1.2.7";
+  xtrans = (mkDerivation "xtrans" {
+    name = "xtrans-1.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2;
-      sha256 = "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz";
+      url = mirror://xorg/individual/lib/xtrans-1.3.4.tar.bz2;
+      sha256 = "0fjq9xa37k1czkidj3c5sads51gibrjvrxz9ag3hh9fmxzilwk85";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xvinfo = (stdenv.mkDerivation ((if overrides ? xvinfo then overrides.xvinfo else x: x) {
-    name = "xvinfo-1.1.1";
+  xvinfo = (mkDerivation "xvinfo" {
+    name = "xvinfo-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2;
-      sha256 = "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0";
+      url = mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2;
+      sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf";
     };
-    buildInputs = [pkgconfig libX11 libXv ];
-  })) // {inherit libX11 libXv ;};
+    buildInputs = [pkgconfig libX11 xproto libXv ];
+  }) // {inherit libX11 xproto libXv ;};
 
-  xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) {
-    name = "xwd-1.0.5";
+  xwd = (mkDerivation "xwd" {
+    name = "xwd-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2;
-      sha256 = "0fkg6msy2zg7rda2rpxb7j6vmrdmqmk72xsxnyhz97196ykjnx82";
+      url = mirror://xorg/individual/app/xwd-1.0.6.tar.bz2;
+      sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) {
-    name = "xwininfo-1.1.2";
+  xwininfo = (mkDerivation "xwininfo" {
+    name = "xwininfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2;
-      sha256 = "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg";
+      url = mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2;
+      sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1";
     };
     buildInputs = [pkgconfig libX11 libxcb xproto ];
-  })) // {inherit libX11 libxcb xproto ;};
+  }) // {inherit libX11 libxcb xproto ;};
 
-  xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) {
+  xwud = (mkDerivation "xwud" {
     name = "xwud-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2062,6 +2137,6 @@ let
       sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
 }; in xorg
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 2372df2701e..84795ed980b 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,9 +1,8 @@
 http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.9.1.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-proto-1.8.tar.bz2
+http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.8.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-wm-0.3.9.tar.bz2
-http://xorg.freedesktop.org/releases/individual/util/util-macros-1.17.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 04ee5f10961..9c6618d3b10 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -230,6 +230,11 @@ args: with args;
 
 let
 
+  mkDerivation = name: attrs:
+    let newAttrs = (overrides."\${name}" or (x: x)) attrs;
+        stdenv = newAttrs.stdenv or args.stdenv;
+    in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]);
+
   overrides = import ./overrides.nix {inherit args xorg;};
 
   xorg = rec {
@@ -261,7 +266,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
     $extraAttrs = "" unless defined $extraAttrs;
 
     print OUT <<EOF
-  $pkg = (stdenv.mkDerivation ((if overrides ? $pkg then overrides.$pkg else x: x) {
+  $pkg = (mkDerivation "$pkg" {
     name = "$pkgNames{$pkg}";
     builder = ./builder.sh;
     src = fetchurl {
@@ -269,7 +274,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
       sha256 = "$pkgHashes{$pkg}";
     };
     buildInputs = [pkgconfig $inputs];$extraAttrs
-  })) // {inherit $inputs;};
+  }) // {inherit $inputs;};
 
 EOF
 }
diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list
index 68c88594932..19cf79ca796 100644
--- a/pkgs/servers/x11/xorg/old.list
+++ b/pkgs/servers/x11/xorg/old.list
@@ -1,15 +1,15 @@
-mirror://xorg/individual/app/twm-1.0.7.tar.bz2
-mirror://xorg/individual/app/xclock-1.0.6.tar.bz2
+mirror://xorg/individual/app/twm-1.0.8.tar.bz2
+mirror://xorg/individual/app/xclock-1.0.7.tar.bz2
 mirror://xorg/individual/app/xdm-1.1.11.tar.bz2
 mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2
 mirror://xorg/individual/app/xfs-1.1.3.tar.bz2
-mirror://xorg/individual/app/xinit-1.3.2.tar.bz2
+mirror://xorg/individual/app/xinit-1.3.3.tar.bz2
 mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2
 mirror://xorg/individual/lib/libXp-1.0.2.tar.bz2
 mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2
 mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2
 mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2
-mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2
-mirror://xorg/individual/util/imake-1.0.5.tar.bz2
+mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2
+mirror://xorg/individual/util/imake-1.0.7.tar.bz2
 mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
-mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2
+mirror://xorg/individual/util/xorg-cf-files-1.0.5.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index fb8b5856ecb..a81b1a4ac22 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,6 +1,10 @@
 { args, xorg }:
 
 let
+  inherit (args) stdenv;
+  inherit (stdenv) lib isDarwin;
+  inherit (lib) overrideDerivation;
+
   setMalloc0ReturnsNullCrossCompiling = ''
     if test -n "$crossConfig"; then
       configureFlags="$configureFlags --enable-malloc0returnsnull";
@@ -37,6 +41,10 @@ in
       '';
   };
 
+  glamoregl = attrs: attrs // {
+    installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d";
+  };
+
   imake = attrs: attrs // {
     inherit (xorg) xorgcffiles;
     x11BuildHook = ./imake.sh;
@@ -69,6 +77,15 @@ in
       '';
   };
 
+  libXfont = attrs: attrs // {
+    propagatedBuildInputs = [ args.freetype ]; # propagate link reqs. like bzip2
+    # prevents "misaligned_stack_error_entering_dyld_stub_binder"
+    configureFlags = lib.optionals isDarwin [
+      "CFLAGS=-O0"
+    ];
+  };
+
+
   libXxf86vm = attrs: attrs // {
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
   };
@@ -86,6 +103,12 @@ in
     propagatedBuildInputs = [ xorg.libSM ];
   };
 
+  # See https://bugs.freedesktop.org/show_bug.cgi?id=47792
+  # Once the bug is fixed upstream, this can be removed.
+  luit = attrs: attrs // {
+    configureFlags = "--disable-selective-werror";
+  };
+
   compositeproto = attrs: attrs // {
     propagatedBuildInputs = [ xorg.fixesproto ];
   };
@@ -101,6 +124,10 @@ in
   libXft = attrs: attrs // {
     propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
+    # the include files need ft2build.h, and Requires.private isn't enough for us
+    postInstall = ''
+      sed "/^Requires:/s/$/, freetype2/" -i "$out/lib/pkgconfig/xft.pc"
+    '';
   };
 
   libXext = attrs: attrs // {
@@ -125,7 +152,7 @@ in
     postInstall =
       ''
         mkdir -p $out/share
-        ln -sfn ${args.xkeyboard_config}/etc/X11 $out/share/X11
+        ln -sfn ${xorg.xkeyboardconfig}/etc/X11 $out/share/X11
       '';
   };
 
@@ -142,13 +169,17 @@ in
     installFlags = "sdkdir=\${out}/include/xorg";
   };
 
+  xf86inputmouse = attrs: attrs // {
+    installFlags = "sdkdir=\${out}/include/xorg";
+  };
+
   xf86inputjoystick = attrs: attrs // {
     installFlags = "sdkdir=\${out}/include/xorg";
   };
 
   xf86inputsynaptics = attrs: attrs // {
     buildInputs = attrs.buildInputs ++ [args.mtdev];
-    installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg";
+    installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d";
   };
 
   xf86inputvmmouse = attrs: attrs // {
@@ -159,6 +190,17 @@ in
     ];
   };
 
+  xf86videoati = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.glamoregl}/include/xorg";
+  };
+
+  xf86videonv = attrs: attrs // {
+    patches = [( args.fetchpatch {
+      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/patch/?id=fc78fe98222b0204b8a2872a529763d6fe5048da;
+      sha256 = "0i2ddgqwj6cfnk8f4r73kkq3cna7hfnz7k3xj3ifx5v8mfiva6gw";
+    })];
+  };
+
   xf86videovmware = attrs: attrs // {
     buildInputs =  attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker
   };
@@ -176,23 +218,26 @@ in
   };
 
   xkeyboardconfig = attrs: attrs // {
+
     buildInputs = attrs.buildInputs ++ [args.intltool];
+
+    #TODO: resurrect patches for US_intl?
+    patches = [ ./xkeyboard-config-eo.patch ];
+
+    # 1: compatibility for X11/xkb location
+    # 2: I think pkgconfig/ is supposed to be in /lib/
+    postInstall = ''
+      ln -s share "$out/etc"
+      mkdir -p "$out/lib" && ln -s ../share/pkgconfig "$out/lib/"
+    '';
   };
 
-  xorgserver = with xorg; attrs: attrs // {
-    configureFlags = [
-      "--enable-xcsecurity" # enable SECURITY extension
-      "--with-default-font-path= "  # there were only paths containing "${prefix}",
-                                    # and there are no fonts in this package anyway
-    ];
-    patches =
-      [ ./xorgserver-dri-path.patch
-        ./xorgserver-xkbcomp-path.patch
-        ./xorgserver-cve-2013-4396.patch
-      ];
-    buildInputs = attrs.buildInputs ++ [ xtrans ];
-    propagatedBuildInputs =
-      [ args.zlib args.udev args.mesa args.dbus.libs
+  xorgserver = with xorg; attrs: attrs //
+    (let
+      version = (builtins.parseDrvName attrs.name).version;
+      commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
+      commonPropagatedBuildInputs = [
+        args.zlib args.mesa args.dbus.libs
         xf86bigfontproto glproto xf86driproto
         compositeproto scrnsaverproto resourceproto
         xf86dgaproto
@@ -202,14 +247,86 @@ in
         libpciaccess inputproto xextproto randrproto renderproto
         dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
       ];
-    postInstall =
-      ''
-        rm -fr $out/share/X11/xkb/compiled
-        ln -s /var/tmp $out/share/X11/xkb/compiled
-      '';
-    passthru.version = (builtins.parseDrvName attrs.name).version; # needed by virtualbox guest additions
-  };
-
+      commonPatches = [ ./xorgserver-xkbcomp-path.patch ];
+      # XQuartz requires two compilations: the first to get X / XQuartz,
+      # and the second to get Xvfb, Xnest, etc.
+      darwinOtherX = overrideDerivation xorgserver (oldAttrs: {
+        stdenv = args.stdenv;
+        configureFlags = oldAttrs.configureFlags ++ [
+          "--disable-xquartz"
+          "--enable-xorg"
+          "--enable-xvfb"
+          "--enable-xnest"
+          "--enable-kdrive"
+        ];
+        postInstall = ":"; # prevent infinite recursion
+      });
+    in
+      if (!isDarwin)
+      then {
+        buildInputs = commonBuildInputs;
+        propagatedBuildInputs = commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
+          args.udev
+        ];
+        patches = commonPatches;
+        configureFlags = [
+          "--enable-xcsecurity"         # enable SECURITY extension
+          "--with-default-font-path="   # there were only paths containing "${prefix}",
+                                        # and there are no fonts in this package anyway
+        ];
+        postInstall = ''
+          rm -fr $out/share/X11/xkb/compiled
+          ln -s /var/tmp $out/share/X11/xkb/compiled
+        '';
+        passthru.version = version; # needed by virtualbox guest additions
+      } else {
+        stdenv = args.clangStdenv;
+        name = "xorg-server-1.14.6";
+        src = args.fetchurl {
+          url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2;
+          sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8";
+        };
+        buildInputs = commonBuildInputs;
+        propagatedBuildInputs = commonPropagatedBuildInputs ++ [
+          libAppleWM applewmproto
+        ];
+        patches = commonPatches ++ [
+          ./darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
+          ./darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
+          ./darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
+          ./darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
+          ./darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
+          ./darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
+          ./darwin/private-extern.patch
+          ./darwin/bundle_main.patch
+          ./darwin/stub.patch
+          ./darwin/function-pointer-test.patch
+        ];
+        configureFlags = [
+          # note: --enable-xquartz is auto
+          "CPPFLAGS=-I${./darwin/dri}"
+          "--with-default-font-path="
+          "--with-apple-application-name=XQuartz"
+          "--with-apple-applications-dir=\${out}/Applications"
+          "--with-bundle-id-prefix=org.nixos.xquartz"
+          "--with-sha1=CommonCrypto"
+        ];
+        preConfigure = ''
+          ensureDir $out/Applications
+          export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
+        '';
+        postInstall = ''
+          rm -fr $out/share/X11/xkb/compiled
+          ln -s /var/tmp $out/share/X11/xkb/compiled
+
+          cp -rT ${darwinOtherX}/bin $out/bin
+          rm -f $out/bin/X
+          ln -s Xquartz $out/bin/X
+
+          cp ${darwinOtherX}/share/man -rT $out/share/man
+        '' ;
+        passthru.version = version;
+      });
 
   lndir = attrs: attrs // {
     preConfigure = ''
@@ -232,7 +349,14 @@ in
   };
 
   xinit = attrs: attrs // {
-    configureFlags = "--with-xserver=${xorg.xorgserver}/bin/X";
+    stdenv = if isDarwin then args.clangStdenv else stdenv;
+    configureFlags = [
+      "--with-xserver=${xorg.xorgserver}/bin/X"
+    ] ++ lib.optionals isDarwin [
+      "--with-bundle-id-prefix=org.nixos.xquartz"
+      "--with-launchdaemons-dir=\${out}/LaunchDaemons"
+      "--with-launchagents-dir=\${out}/LaunchAgents"
+    ];
     propagatedBuildInputs = [ xorg.xauth ];
     prePatch = ''
       sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
@@ -244,6 +368,6 @@ in
   };
 
   xwd = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [xorg.libXt];
+    buildInputs = with xorg; attrs.buildInputs ++ [libXt libxkbfile];
   };
 }
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 4464aeea9b8..d606f7daaa5 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -1,10 +1,12 @@
 mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2
-mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2
+mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2
 mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2
+mirror://xorg/individual/proto/dri3proto-1.0.tar.bz2
+mirror://xorg/individual/proto/presentproto-1.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2
@@ -44,100 +46,104 @@ mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2
-mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2
-mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2
-mirror://xorg/individual/proto/inputproto-2.3.tar.bz2
+mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2
+mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2
+mirror://xorg/individual/proto/inputproto-2.3.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2
 mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2
-mirror://xorg/individual/lib/libFS-1.0.5.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2
+mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2
+mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2
+mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2
+mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
 mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2
+mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
-mirror://xorg/individual/lib/libX11-1.6.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2
+mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2
+mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2
+mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2
+mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2
 mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2
+mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2
-mirror://xorg/individual/lib/libXext-1.3.2.tar.bz2
+mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2
-mirror://xorg/individual/lib/libXfont-1.4.6.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2
-mirror://xorg/individual/lib/libXi-1.7.2.tar.bz2
+mirror://xorg/individual/lib/libXfont-1.4.8.tar.bz2
+mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
+mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2
-mirror://xorg/individual/lib/libXrandr-1.4.1.tar.bz2
+mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2
+mirror://xorg/individual/lib/libXpm-3.5.11.tar.bz2
+mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2
 mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2
 mirror://xorg/individual/lib/libXres-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2
 mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2
-mirror://xorg/individual/lib/libXv-1.0.8.tar.bz2
+mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2
+mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2
 mirror://xorg/individual/lib/libXvMC-1.0.8.tar.bz2
 mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2
+mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2
-mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2
+mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2
 mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2
-mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2
+mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2
-mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2
-mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2
+mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2
+mirror://xorg/individual/proto/videoproto-2.3.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2
-mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2
+mirror://xorg/individual/app/xauth-1.0.9.tar.bz2
+mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2
+mirror://xorg/individual/app/xcursorgen-1.0.6.tar.bz2
+mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2
+mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2
+mirror://xorg/individual/app/xev-1.2.1.tar.bz2
+mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
-mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2
-mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2
+mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
+mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
-mirror://xorg/individual/driver/xf86-video-ast-0.97.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-ati-7.1.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2
-mirror://xorg/individual/driver/xf86-video-dummy-0.3.6.tar.bz2
-mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2
-mirror://xorg/individual/driver/xf86-video-geode-2.11.14.tar.bz2
-mirror://xorg/individual/driver/xf86-video-glide-1.2.1.tar.bz2
+mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-ati-7.4.0.tar.bz2
+mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2
+mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
+mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
+mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2
+mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
-mirror://xorg/individual/driver/xf86-video-intel-2.21.9.tar.bz2
+mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2
 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2
-mirror://xorg/individual/driver/xf86-video-mga-1.6.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-neomagic-1.2.7.tar.bz2
+mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2
+mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2
 mirror://xorg/individual/driver/xf86-video-openchrome-0.3.3.tar.bz2
-mirror://xorg/individual/driver/xf86-video-r128-6.9.1.tar.bz2
-mirror://xorg/individual/driver/xf86-video-savage-2.3.6.tar.bz2
+mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sis-0.10.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2
@@ -146,36 +152,37 @@ mirror://xorg/individual/driver/xf86-video-tdfx-1.4.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-vmware-13.0.1.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2
+mirror://xorg/individual/app/xhost-1.0.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2
+mirror://xorg/individual/app/xinput-1.6.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.8.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2
+mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2
+mirror://xorg/individual/app/xkill-1.0.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2
+mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
+mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.13.4.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.14.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2
+mirror://xorg/individual/app/xprop-1.2.2.tar.bz2
+mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2
+mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2
+mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2
+mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2
+mirror://xorg/individual/app/xset-1.2.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2
+mirror://xorg/individual/lib/xtrans-1.3.4.tar.bz2
+mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2
+mirror://xorg/individual/app/xwd-1.0.6.tar.bz2
+mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2
+mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2
diff --git a/pkgs/servers/x11/xorg/unichrome/default.nix b/pkgs/servers/x11/xorg/unichrome/default.nix
index 720ccd10158..bc1ebf4eb43 100644
--- a/pkgs/servers/x11/xorg/unichrome/default.nix
+++ b/pkgs/servers/x11/xorg/unichrome/default.nix
@@ -4,7 +4,7 @@ xextproto, xf86driproto, xorgserver, xproto, libXvMC, glproto, mesa, automake,
 autoconf, libtool, libXext, utilmacros, pixman}:
 
 stdenv.mkDerivation {
-  name = "xf86-video-unichrome-git";
+  name = "xf86-video-unichrome";
   src = fetchgit {
     url = "git://people.freedesktop.org/~libv/xf86-video-unichrome";
     md5 = "6e5e0f8ee204af2385a02e502d1ca8f1";
@@ -27,5 +27,6 @@ stdenv.mkDerivation {
     license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix b/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix
new file mode 100644
index 00000000000..bee394e9963
--- /dev/null
+++ b/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix
@@ -0,0 +1,14 @@
+{ stdenv, fetchurl, pkgconfig, libdrm, udev, xorg }:
+
+with xorg;
+
+(stdenv.mkDerivation ({
+  name = "xf86-video-intel-2.99.912";
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = mirror://xorg/individual/driver/xf86-video-intel-2.99.912.tar.bz2;
+    sha256 = "00cmvs5jxaqnl1pwqvj1rwir4kbvf5qfng89cjn4rwsr5m4zr3vw";
+  };
+  buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ];
+})) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ;}
+
diff --git a/pkgs/data/misc/xkeyboard-config/eo.patch b/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch
index f288a5c0f6d..f288a5c0f6d 100644
--- a/pkgs/data/misc/xkeyboard-config/eo.patch
+++ b/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch
diff --git a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch b/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch
deleted file mode 100644
index 4b6727e61c0..00000000000
--- a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <alan.coopersmith@oracle.com>
-Date: Mon, 16 Sep 2013 21:47:16 -0700
-Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText()
- [CVE-2013-4396]
-
-Save a pointer to the passed in closure structure before copying it
-and overwriting the *c pointer to point to our copy instead of the
-original.  If we hit an error, once we free(c), reset c to point to
-the original structure before jumping to the cleanup code that
-references *c.
-
-Since one of the errors being checked for is whether the server was
-able to malloc(c->nChars * itemSize), the client can potentially pass
-a number of characters chosen to cause the malloc to fail and the
-error path to be taken, resulting in the read from freed memory.
-
-Since the memory is accessed almost immediately afterwards, and the
-X server is mostly single threaded, the odds of the free memory having
-invalid contents are low with most malloc implementations when not using
-memory debugging features, but some allocators will definitely overwrite
-the memory there, leading to a likely crash.
-
-Reported-by: Pedro Ribeiro <pedrib@gmail.com>
-Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-Reviewed-by: Julien Cristau <jcristau@debian.org>
----
- dix/dixfonts.c |    5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/dix/dixfonts.c b/dix/dixfonts.c
-index feb765d..2e34d37 100644
---- a/dix/dixfonts.c
-+++ b/dix/dixfonts.c
-@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
-             GC *pGC;
-             unsigned char *data;
-             ITclosurePtr new_closure;
-+            ITclosurePtr old_closure;
- 
-             /* We're putting the client to sleep.  We need to
-                save some state.  Similar problem to that handled
-@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c)
-                 err = BadAlloc;
-                 goto bail;
-             }
-+            old_closure = c;
-             *new_closure = *c;
-             c = new_closure;
- 
-             data = malloc(c->nChars * itemSize);
-             if (!data) {
-                 free(c);
-+                c = old_closure;
-                 err = BadAlloc;
-                 goto bail;
-             }
-@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
-             if (!pGC) {
-                 free(c->data);
-                 free(c);
-+                c = old_closure;
-                 err = BadAlloc;
-                 goto bail;
-             }
-@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
-                 FreeScratchGC(pGC);
-                 free(c->data);
-                 free(c);
-+                c = old_closure;
-                 err = BadAlloc;
-                 goto bail;
-             }
--- 
-1.7.9.2
diff --git a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
deleted file mode 100644
index 3a5f061eb9a..00000000000
--- a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur xorg-server-1.12.2-orig/glx/glxdricommon.c xorg-server-1.12.2/glx/glxdricommon.c
---- xorg-server-1.12.2-orig/glx/glxdricommon.c	2012-05-17 13:09:02.000000000 -0400
-+++ xorg-server-1.12.2/glx/glxdricommon.c	2012-07-14 14:57:37.972791909 -0400
-@@ -219,10 +219,14 @@
-     int i;
-     void *driver;
-     char filename[PATH_MAX];
-+    char *real_dri_driver_path;
-     const __DRIextension **extensions;
- 
-+    real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH");
-+    if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path;
-+
-     snprintf(filename, sizeof filename, "%s/%s_dri.so",
--             dri_driver_path, driverName);
-+             real_dri_driver_path, driverName);
- 
-     driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-     if (driver == NULL) {
diff --git a/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch b/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch
deleted file mode 100644
index d85494f9029..00000000000
--- a/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@gmail.com>
-Date: Wed, 10 Apr 2013 06:09:01 +0000
-Subject: xf86: fix flush input to work with Linux evdev devices.
-
-So when we VT switch back and attempt to flush the input devices,
-we don't succeed because evdev won't return part of an event,
-since we were only asking for 4 bytes, we'd only get -EINVAL back.
-
-This could later cause events to be flushed that we shouldn't have
-gotten.
-
-This is a fix for CVE-2013-1940.
-
-Signed-off-by: Dave Airlie <airlied@redhat.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
-diff --git a/hw/xfree86/os-support/shared/posix_tty.c b/hw/xfree86/os-support/shared/posix_tty.c
-index ab3757a..4d08c1e 100644
---- a/hw/xfree86/os-support/shared/posix_tty.c
-+++ b/hw/xfree86/os-support/shared/posix_tty.c
-@@ -421,7 +421,8 @@ xf86FlushInput(int fd)
- {
-     fd_set fds;
-     struct timeval timeout;
--    char c[4];
-+    /* this needs to be big enough to flush an evdev event. */
-+    char c[256];
- 
-     DebugF("FlushingSerial\n");
-     if (tcflush(fd, TCIFLUSH) == 0)
---
-cgit v0.9.0.2-2-gbebe
diff --git a/pkgs/servers/x11/xquartz/X11 b/pkgs/servers/x11/xquartz/X11
new file mode 100755
index 00000000000..39bcce2c10b
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/X11
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+set "$(dirname "$0")"/X11.bin "${@}"
+
+export XQUARTZ_DEFAULT_CLIENT="@DEFAULT_CLIENT@"
+export XQUARTZ_DEFAULT_SHELL="@DEFAULT_SHELL@"
+export XQUARTZ_DEFAULT_STARTX="@DEFAULT_STARTX@"
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+
+if [ -x ~/.x11run ]; then
+    exec ~/.x11run "${@}"
+fi
+
+case $(basename "${SHELL}") in
+    bash)          exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;
+    ksh|sh|zsh)    exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;;
+    csh|tcsh)      exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;;
+    es|rc)         exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;;
+    *)             exec    "${@}" ;;
+esac
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
new file mode 100644
index 00000000000..98fe2a51cc2
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -0,0 +1,188 @@
+{ stdenv, lib, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, substituteAll, xterm, makeWrapper, ruby
+, openssl, quartz-wm, fontconfig, xkeyboard_config, xlsfonts, xfontsel
+, ttf_bitstream_vera, freefont_ttf, liberation_ttf
+, shell ? "${bashInteractive}/bin/bash"
+}:
+
+# ------------
+# Installation
+# ------------
+#
+# First, assuming you've previously installed XQuartz from macosforge.com,
+# unload and remove the existing launch agents:
+#
+#   $ sudo launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
+#   $ sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
+#   $ sudo rm /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
+#   $ sudo rm /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
+#
+# (You will need to log out for the above changes to take effect.)
+#
+# Then install xquartz from nixpkgs:
+#
+#   $ nix-env -i xquartz
+#   $ xquartz-install
+#
+# You'll also want to add the following to your shell's profile (after you
+# source nix.sh, so $NIX_LINK points to your user profile):
+#
+#   if [ "$(uname)" = "Darwin" -a -n "$NIX_LINK" -a -f $NIX_LINK/etc/X11/fonts.conf ]; then
+#     export FONTCONFIG_FILE=$NIX_LINK/etc/X11/fonts.conf
+#   fi
+
+# A note about dependencies:
+# Xquartz wants to exec XQuartz.app, XQuartz.app wants to exec xstart, and
+# xstart wants to exec Xquartz, so we must bundle all three to prevent a cycle.
+# Coincidentally, this also makes it trivial to install launch agents/daemons
+# that point into the user's profile.
+
+let
+  shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'";
+  installer = writeScript "xquartz-install" ''
+    NIX_LINK=$HOME/.nix-profile
+
+    tmpdir=$(/usr/bin/mktemp -d $TMPDIR/xquartz-installer-XXXXXXXX)
+    agentName=org.nixos.xquartz.startx.plist
+    daemonName=org.nixos.xquartz.privileged_startx.plist
+    sed=${gnused}/bin/sed
+
+    cp ${./org.nixos.xquartz.startx.plist} $tmpdir/$agentName
+    $sed -i "s|@LAUNCHD_STARTX@|$NIX_LINK/etc/X11/xinit/launchd_startx|" $tmpdir/$agentName
+    $sed -i "s|@STARTX@|$NIX_LINK/bin/startx|" $tmpdir/$agentName
+    $sed -i "s|@XQUARTZ@|$NIX_LINK/bin/Xquartz|" $tmpdir/$agentName
+
+    cp ${./org.nixos.xquartz.privileged_startx.plist} $tmpdir/$daemonName
+    $sed -i "s|@PRIVILEGED_STARTX@|$NIX_LINK/lib/X11/xinit/privileged_startx|" $tmpdir/$daemonName
+    $sed -i "s|@PRIVILEGED_STARTX_D@|$NIX_LINK/lib/X11/xinit/privileged_startx.d|" $tmpdir/$daemonName
+
+    sudo cp $tmpdir/$agentName /Library/LaunchAgents/$agentName
+    sudo cp $tmpdir/$daemonName /Library/LaunchDaemons/$daemonName
+    sudo launchctl load -w /Library/LaunchAgents/$agentName
+    sudo launchctl load -w /Library/LaunchDaemons/$daemonName
+  '';
+  fontDirs = [
+    xorg.fontbhttf
+    xorg.fontbhlucidatypewriter100dpi
+    xorg.fontbhlucidatypewriter75dpi
+    ttf_bitstream_vera
+    freefont_ttf
+    liberation_ttf
+    xorg.fontbh100dpi
+    xorg.fontmiscmisc
+    xorg.fontcursormisc
+  ];
+  fontsConf = makeFontsConf {
+    fontDirectories = fontDirs ++ [
+      "/Library/Fonts"
+      "~/Library/Fonts"
+    ];
+  };
+  fonts = import ./system-fonts.nix {
+    inherit stdenv xorg fontDirs;
+  };
+  # any X related programs expected to be available via $PATH
+  env = buildEnv {
+    name = "xquartz-env";
+    pathsToLink = [ "/bin" ];
+    paths = with xorg; [
+      # non-xorg
+      quartz-wm xterm fontconfig
+      # xorg
+      xlsfonts xfontsel
+      bdftopcf fontutil iceauth libXpm lndir luit makedepend mkfontdir
+      mkfontscale sessreg setxkbmap smproxy twm x11perf xauth xbacklight xclock
+      xcmsdb xcursorgen xdm xdpyinfo xdriinfo xev xeyes xfs xgamma xhost
+      xinput xkbcomp xkbevd xkbutils xkill xlsatoms xlsclients xmessage xmodmap
+      xpr xprop xrandr xrdb xrefresh xset xsetroot xvinfo xwd xwininfo xwud
+    ];
+  };
+in stdenv.mkDerivation {
+  name = "xquartz";
+  buildInputs = [ ruby makeWrapper ];
+  unpackPhase = "sourceRoot=.";
+  buildPhase = ":";
+  installPhase = ''
+    cp -rT ${xorg.xinit} $out
+    chmod -R u+w $out
+    cp -rT ${xorg.xorgserver} $out
+    chmod -R u+w $out
+
+    cp ${installer} $out/bin/xquartz-install
+
+    rm -r $out/LaunchAgents
+    rm -r $out/LaunchDaemons
+
+    fontsConfPath=$out/etc/X11/fonts.conf
+    cp ${fontsConf} $fontsConfPath
+
+    cp ${./startx} $out/bin/startx
+    substituteInPlace $out/bin/startx \
+      --replace "@PATH@"              "$out/bin:${env}" \
+      --replace "@XAUTH@"             "${xorg.xauth}/bin/xauth" \
+      --replace "@FONT_CACHE@"        "$out/bin/font_cache" \
+      --replace "@PRIVILEGED_STARTX@" "$out/lib/X11/xinit/privileged_startx" \
+      --replace "@DEFAULT_SERVER@"    "$out/bin/Xquartz" \
+      --replace "@DEFAULT_CLIENT@"    "${xterm}/bin/xterm" \
+      --replace "@XINIT@"             "$out/bin/xinit" \
+      --replace "@XINITRC@"           "$out/etc/X11/xinit/xinitrc" \
+      --replace "@XKEYBOARD_CONFIG@"  "${xkeyboard_config}/etc/X11/xkb" \
+      --replace "@FONTCONFIG_FILE@"   "$fontsConfPath"
+
+    wrapProgram $out/bin/Xquartz \
+      --set XQUARTZ_X11 $out/Applications/XQuartz.app/Contents/MacOS/X11 \
+      --set XKB_BINDIR "${xorg.xkbcomp}/bin"
+
+    defaultStartX="$out/bin/startx -- $out/bin/Xquartz"
+
+    ruby ${./patch_plist.rb} \
+      ${shellEscape (builtins.toXML {
+        XQUARTZ_DEFAULT_CLIENT = "${xterm}/bin/xterm";
+        XQUARTZ_DEFAULT_SHELL  = "${shell}";
+        XQUARTZ_DEFAULT_STARTX = "@STARTX@";
+        FONTCONFIG_FILE        = "@FONTCONFIG_FILE@";
+        XKB_BINDIR             = "${xorg.xkbcomp}/bin";
+      })} \
+      $out/Applications/XQuartz.app/Contents/Info.plist
+    substituteInPlace $out/Applications/XQuartz.app/Contents/Info.plist \
+      --replace "@STARTX@"          "$defaultStartX" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+
+    rm $out/lib/X11/xinit/privileged_startx.d/*
+    cp ${./privileged} $out/lib/X11/xinit/privileged_startx.d/privileged
+    substituteInPlace $out/lib/X11/xinit/privileged_startx.d/privileged \
+      --replace "@PATH@"            "$out/bin:${env}" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath" \
+      --replace "@FONT_CACHE@"      "$out/bin/font_cache"
+
+    cp ${./font_cache} $out/bin/font_cache
+    substituteInPlace $out/bin/font_cache \
+      --replace "@PATH@"            "$out/bin:${env}" \
+      --replace "@ENCODINGSDIR@"    "${xorg.encodings}/share/fonts/X11/encodings" \
+      --replace "@MKFONTDIR@"       "${xorg.mkfontdir}/bin/mkfontdir" \
+      --replace "@MKFONTSCALE@"     "${xorg.mkfontscale}/bin/mkfontscale" \
+      --replace "@FC_CACHE@"        "${fontconfig}/bin/fc-cache" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+
+    cp ${./xinitrc} $out/etc/X11/xinit/xinitrc
+    substituteInPlace $out/etc/X11/xinit/xinitrc \
+      --replace "@PATH@"            "$out/bin:${env}" \
+      --replace "@XSET@"            "${xorg.xset}/bin/xset" \
+      --replace "@XMODMAP@"         "${xorg.xmodmap}/bin/xmodmap" \
+      --replace "@XRDB@"            "${xorg.xrdb}/bin/xrdb" \
+      --replace "@SYSTEM_FONTS@"    "${fonts}/share/X11-fonts/" \
+      --replace "@QUARTZ_WM@"       "${quartz-wm}/bin/quartz-wm" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+
+    cp ${./X11} $out/Applications/XQuartz.app/Contents/MacOS/X11
+    substituteInPlace $out/Applications/XQuartz.app/Contents/MacOS/X11 \
+      --replace "@DEFAULT_SHELL@"   "${shell}" \
+      --replace "@DEFAULT_STARTX@"  "$defaultStartX" \
+      --replace "@DEFAULT_CLIENT@"  "${xterm}/bin/xterm" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+  '';
+  meta = with lib; {
+    platforms   = platforms.darwin;
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/x11/xquartz/font_cache b/pkgs/servers/x11/xquartz/font_cache
new file mode 100755
index 00000000000..12858af8bc6
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/font_cache
@@ -0,0 +1,240 @@
+#!/bin/bash
+
+export PATH=@PATH@:$PATH
+
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+ENCODINGSDIR="@ENCODINGSDIR@"
+FC_LOCKFILE=""
+
+# Are we caching system fonts or user fonts?
+system=0
+
+# Are we including OSX font dirs ({/,~/,/System/}Library/Fonts)
+osxfonts=1
+
+# Do we want to force a recache?
+force=0
+
+# How noisy are we?
+verbose=0
+
+# Check if the data in the given directory is newer than its cache
+check_dirty() {
+    local dir=$1
+    local fontfiles=""
+    local retval=1
+
+    # If the dir does not exist, we just exit
+    if [[ ! -d "${dir}" ]]; then
+        return 1
+    fi
+
+    # Create a list of all files in the dir
+    # Filter out config / cache files.  Ugly... counting down the day until
+    # xfs finally goes away
+    fontfiles="$(find ${dir}/ -maxdepth 1 -type f | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')"
+
+    # Fonts were deleted (or never there).  Kill off the caches
+    if [[ -z "${fontfiles}" ]] ; then
+        local f
+        for f in "${dir}"/fonts.* "${dir}"/encodings.dir; do
+            if [[ -f ${f} ]] ; then
+                rm -f "${f}"
+            fi
+        done
+        return 1
+    fi
+
+    # Force a recache
+    if [[ ${force} == 1 ]] ; then
+        retval=0
+    fi
+
+    # If we don't have our caches, we are dirty
+    if [[ ! -f "${dir}/fonts.list" || ! -f "${dir}/fonts.dir" || ! -f "${dir}/encodings.dir" ]]; then
+        retval=0
+    fi
+
+    # Check that no files were added or removed....
+    if [[ "${retval}" -ne 0 && "$(cat ${dir}/fonts.list)" != "${fontfiles}" ]] ; then
+        retval=0
+    fi
+
+    # Check that no files were updated....
+    if [[ "${retval}" -ne 0 ]] ; then
+        local changed="$(find ${dir}/ -type f -cnewer ${dir}/fonts.dir | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')"
+
+        if [[ -n "${changed}" ]] ; then
+            retval=0
+        fi
+    fi
+
+    # Recreate fonts.list since something changed
+    if [[ "${retval}" == 0 ]] ; then
+        echo "${fontfiles}" > "${dir}"/fonts.list
+    fi
+
+    return ${retval}
+}
+
+get_fontdirs() {
+    local d
+    if [[ $system == 1 ]] ; then
+        if [[ $osxfonts == 1 ]] ; then
+            find {/System/,/}Library/Fonts -type d
+        fi
+    else 
+        if [[ $osxfonts == 1 && -d "${HOME}/Library/Fonts" ]] ; then
+            find "${HOME}/Library/Fonts" -type d
+        fi
+
+        if [[ -d "${HOME}/.fonts" ]] ; then
+            find "${HOME}/.fonts" -type d
+        fi
+    fi
+}
+
+setup_fontdirs() {
+    local x=""
+    local fontdirs=""
+    local changed="no"
+
+    umask 022
+
+    if [[ $system == 1 ]] ; then
+        echo "font_cache: Scanning system font directories to generate X11 font caches"
+    else
+        echo "font_cache: Scanning user font directories to generate X11 font caches"
+    fi
+
+    OIFS=$IFS
+    IFS='
+'
+    for x in $(get_fontdirs) ; do
+        if [[ -d "${x}" ]] && check_dirty "${x}" ; then
+            if [[ -z "${fontdirs}" ]] ; then
+                fontdirs="${x}"
+            else
+                fontdirs="${fontdirs}${IFS}${x}"
+            fi
+        fi
+    done
+
+    if [[ -n "${fontdirs}" ]] ; then
+        echo "font_cache: Making fonts.dir for updated directories."
+        for x in ${fontdirs} ; do
+            if [[ $verbose == 1 ]] ; then
+                echo "font_cache:    ${x}"
+            fi
+
+            # First, generate fonts.scale for scaleable fonts that might be there
+            @MKFONTSCALE@ \
+                -a $ENCODINGSDIR/encodings.dir \
+                -a $ENCODINGSDIR/large/encodings.dir \
+                -- ${x}
+
+            # Next, generate fonts.dir
+            if [[ $verbose == 1 ]] ; then
+                @MKFONTDIR@ \
+                    -e $ENCODINGSDIR \
+                    -e $ENCODINGSDIR/large \
+                    -- ${x}
+            else
+                @MKFONTDIR@ \
+                    -e $ENCODINGSDIR \
+                    -e $ENCODINGSDIR/large \
+                    -- ${x} > /dev/null
+            fi
+        done
+    fi
+    IFS=$OIFS
+
+    # Finally, update fontconfig's cache
+    echo "font_cache: Updating FC cache"
+    if [[ $system == 1 ]] ; then
+        @FC_CACHE@ -s \
+            $([[ $force == 1 ]] && echo "-f -r") \
+            $([[ $verbose == 1 ]] && echo "-v")
+    else
+        @FC_CACHE@ \
+            $([[ $force == 1 ]] && echo "-f -r") \
+            $([[ $verbose == 1 ]] && echo "-v")
+    fi
+    echo "font_cache: Done"
+}
+
+do_usage() {
+    echo "font_cache [options]"
+    echo "    -f, --force        : Force cache recreation"
+    echo "    -n, --no-osxfonts  : Just cache X11 font directories"
+    echo "                         (-n just pertains to XFont cache, not fontconfig)"
+    echo "    -s, --system       : Cache system font dirs instead of user dirs"
+    echo "    -v, --verbose      : Verbose Output"
+}
+
+cleanup() {
+    [[ -r "${FC_LOCKFILE}" ]] && rm -f "${FC_LOCKFILE}"
+    exit 1
+}
+
+while [[ $# -gt 0 ]] ; do
+    case $1 in
+        -s|--system) system=1 ;;
+        -f|--force) force=1 ;;
+        -v|--verbose) verbose=1 ;;
+        -n|--no-osxfonts) osxfonts=0 ;;
+        --help) do_usage ; exit 0 ;;
+        *) do_usage ; exit 1 ;;
+    esac
+    shift
+done
+
+if [[ $system == 1 ]] ; then
+    FC_LOCKFILE="/tmp/font_cache.$UID.lock"
+elif [[ -w "${TMPDIR}" ]] ; then
+    FC_LOCKFILE="${TMPDIR}/font_cache.lock"
+elif [[ -w "/tmp" ]] ; then
+    FC_LOCKFILE="/tmp/font_cache.$UID.lock"
+else
+    FC_LOCKFILE="${HOME}/.font_cache.lock"
+fi
+
+if [[ -x /usr/bin/lockfile ]] ; then
+    if /usr/bin/lockfile -r 0 -l 240 -s 4 -! "${FC_LOCKFILE}" ; then
+            echo "font_cache is already running." >&2
+            echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2
+            exit 1
+    fi
+else
+    if [[ -r "${FC_LOCKFILE}" ]] ; then
+        read OLD_PID < "${FC_LOCKFILE}"
+        if kill -0 ${OLD_PID} >& /dev/null ; then
+            echo "font_cache is already running with PID ${OLD_PID}." >&2
+            echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2
+            exit 1
+        fi
+
+        echo "Removing stale ${FC_LOCKFILE}" >&2
+        rm -f "${FC_LOCKFILE}"
+    fi
+
+    echo $$ > "${FC_LOCKFILE}"
+
+    if [[ ! -r "${FC_LOCKFILE}" ]] ; then
+        echo "Unable to write to ${FC_LOCKFILE}." >&2
+        exit 1
+    fi
+
+    # Now make sure we didn't collide mid-air
+    read OLD_PID < "${FC_LOCKFILE}"
+    if [[ $$ != ${OLD_PID} ]] ; then
+        echo "font_cache is already running with PID ${OLD_PID}." >&2
+        exit 1
+    fi
+fi
+
+trap cleanup SIGINT SIGQUIT SIGABRT SIGTERM
+
+setup_fontdirs
+
+rm -f "${FC_LOCKFILE}"
diff --git a/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist b/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist
new file mode 100644
index 00000000000..190b383676d
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>Label</key>
+    <string>org.nixos.xquartz.privileged_startx</string>
+    <key>ProgramArguments</key>
+    <array>
+      <string>@PRIVILEGED_STARTX@</string>
+      <string>-d</string>
+      <string>@PRIVILEGED_STARTX_D@</string>
+    </array>
+    <key>MachServices</key>
+    <dict>
+      <key>org.nixos.xquartz.privileged_startx</key>
+      <true/>
+    </dict>
+    <key>TimeOut</key>
+    <integer>120</integer>
+    <key>EnableTransactions</key>
+    <true/>
+  </dict>
+</plist>
diff --git a/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist b/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist
new file mode 100644
index 00000000000..7a95916da16
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>Label</key>
+    <string>org.nixos.xquartz.startx</string>
+    <key>ProgramArguments</key>
+    <array>
+      <string>@LAUNCHD_STARTX@</string>
+      <string>@STARTX@</string>
+      <string>--</string>
+      <string>@XQUARTZ@</string>
+    </array>
+    <key>Sockets</key>
+    <dict>
+      <key>org.nixos.xquartz:0</key>
+      <dict>
+        <key>SecureSocketWithKey</key>
+        <string>DISPLAY</string>
+      </dict>
+    </dict>
+    <key>ServiceIPC</key>
+    <true/>
+    <key>EnableTransactions</key>
+    <true/>
+  </dict>
+</plist>
diff --git a/pkgs/servers/x11/xquartz/patch_plist.rb b/pkgs/servers/x11/xquartz/patch_plist.rb
new file mode 100644
index 00000000000..9b0f778426e
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/patch_plist.rb
@@ -0,0 +1,47 @@
+require 'rexml/document'
+
+# This script is for setting environment variables in OSX applications.
+# 
+# This script takes two arguments:
+# 1) A Nix attrset serialized via `builtins.toXML'
+# 2) The path to an OSX app's Info.plist file.
+
+def main(serialized_attrs, plist_path)
+  env          = attrs_to_hash(serialized_attrs)
+  doc          = REXML::Document.new(File.open(plist_path, &:read))
+  topmost_dict = doc.root.elements.detect { |e| e.name == "dict" }
+  topmost_dict.add_element("key").tap do |key|
+    key.text = "LSEnvironment"
+  end
+  topmost_dict.add_element(env_to_dict(env))
+
+  formatter = REXML::Formatters::Pretty.new(2)
+  formatter.compact = true
+  formatter.write(doc, File.open(plist_path, "w"))
+end
+
+# Convert a `builtins.toXML' serialized attrs to a hash.
+# This assumes the values are strings.
+def attrs_to_hash(serialized_attrs)
+  hash = {}
+  env_vars = REXML::Document.new(serialized_attrs)
+  env_vars.root.elements[1].elements.each do |attr|
+    name = attr.attribute("name")
+    value = attr.elements.first.attribute("value")
+    hash[name] = value
+  end
+  hash
+end
+
+def env_to_dict(env)
+  dict = REXML::Element.new("dict")
+  env.each do |k, v|
+    key = dict.add_element("key")
+    key.text = k
+    string = dict.add_element("string")
+    string.text = v
+  end
+  dict
+end
+
+main(ARGV[0], ARGV[1])
diff --git a/pkgs/servers/x11/xquartz/privileged b/pkgs/servers/x11/xquartz/privileged
new file mode 100755
index 00000000000..3eee9479411
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/privileged
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+export PATH=@PATH@:$PATH
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+
+# Our usage of mktemp fails with GNU, so prefer /usr/bin to hopefully
+# get BSD mktemp
+if [ -x /usr/bin/mktemp ] ; then
+    MKTEMP=/usr/bin/mktemp
+else
+    MKTEMP=mktemp
+fi
+
+STAT=/usr/bin/stat
+
+for dir in /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix ; do
+    success=0
+    for attempt in 1 2 3 4 5 ; do
+        check=`${STAT} -f '%#p %u %g' ${dir} 2> /dev/null`
+        if [ "${check}" = "041777 0 0" ] ; then
+            success=1
+            break
+        elif [ -n "${check}" ] ; then
+            saved=$(${MKTEMP} -d ${dir}-XXXXXXXX)
+            mv ${dir} ${saved}
+            echo "${dir} exists but is insecure.  It has been moved into ${saved}" >&2
+        fi
+
+        # if $dir exists and is a symlink (ie protect against a race)
+        if ${MKTEMP} -d ${dir} >& /dev/null ; then
+            chmod 1777 $dir
+            chown root:wheel $dir
+            success=1
+            break
+        fi
+    done
+
+    if [ "${success}" -eq 0 ] ; then
+        echo "Could not successfully create ${dir}" >&2
+    fi
+done
+
+@FONT_CACHE@ -s &
diff --git a/pkgs/servers/x11/xquartz/startx b/pkgs/servers/x11/xquartz/startx
new file mode 100755
index 00000000000..131fbc43b8b
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/startx
@@ -0,0 +1,232 @@
+#!/bin/sh
+
+# vim :set ts=4 sw=4 sts=4 et :
+
+#
+# This is just a sample implementation of a slightly less primitive
+# interface than xinit.  It looks for user .xinitrc and .xserverrc
+# files, then system xinitrc and xserverrc files, else lets xinit choose
+# its default.  The system xinitrc should probably do things like check
+# for .Xresources files and merge them in, start up a window manager,
+# and pop a clock and several xterms.
+#
+# Site administrators are STRONGLY urged to write nicer versions.
+#
+
+unset DBUS_SESSION_BUS_ADDRESS
+unset SESSION_MANAGER
+
+
+# Bourne shell does not automatically export modified environment variables
+# so export the new PATH just in case the user changes the shell
+export PATH=@PATH@:$PATH
+
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+
+userclientrc=$HOME/.xinitrc
+sysclientrc=@XINITRC@
+
+userserverrc=$HOME/.xserverrc
+sysserverrc=@XINITRC@
+defaultclient=@DEFAULT_CLIENT@ # xterm
+defaultserver=@DEFAULT_SERVER@
+defaultclientargs=""
+defaultserverargs=""
+defaultdisplay=":0"
+clientargs=""
+serverargs=""
+
+export X11_PREFS_DOMAIN=org.nixos.xquartz".X11"
+
+# Initialize defaults (this will cut down on "safe" error messages)
+if ! /usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts > /dev/null 2>&1 ; then
+    /usr/bin/defaults write $X11_PREFS_DOMAIN cache_fonts -bool true
+fi
+
+if ! /usr/bin/defaults read $X11_PREFS_DOMAIN no_auth > /dev/null 2>&1 ; then
+    /usr/bin/defaults write $X11_PREFS_DOMAIN no_auth -bool false
+fi
+
+if ! /usr/bin/defaults read $X11_PREFS_DOMAIN nolisten_tcp > /dev/null 2>&1 ; then
+    /usr/bin/defaults write $X11_PREFS_DOMAIN nolisten_tcp -bool true
+fi
+
+# First, start caching fonts
+if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts` = x1 ] ; then
+    @FONT_CACHE@ &
+fi
+
+# a race to create /tmp/.X11-unix
+@PRIVILEGED_STARTX@
+
+if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN no_auth` = x0 ] ; then
+    enable_xauth=1
+else
+    enable_xauth=0
+fi
+
+if [ x`defaults read $X11_PREFS_DOMAIN nolisten_tcp` = x1 ] ; then
+    defaultserverargs="$defaultserverargs -nolisten tcp"
+fi
+
+# The second check is the real one.  The first is to hopefully avoid
+# needless syslog spamming.
+if /usr/bin/defaults read $X11_PREFS_DOMAIN 2> /dev/null | grep -q 'dpi' && /usr/bin/defaults read $X11_PREFS_DOMAIN dpi > /dev/null 2>&1 ; then
+    defaultserverargs="$defaultserverargs -dpi `/usr/bin/defaults read $X11_PREFS_DOMAIN dpi`"
+fi
+
+# Automatically determine an unused $DISPLAY
+d=0
+while true ; do
+    [ -e /tmp/.X$d-lock ] || break
+    d=$(($d + 1))
+done
+defaultdisplay=":$d"
+unset d
+
+whoseargs="client"
+while [ x"$1" != x ]; do
+    case "$1" in
+    # '' required to prevent cpp from treating "/*" as a C comment.
+    /''*|\./''*)
+    if [ "$whoseargs" = "client" ]; then
+        if [ x"$client" = x ] && [ x"$clientargs" = x ]; then
+        client="$1"
+        else
+        clientargs="$clientargs $1"
+        fi
+    else
+        if [ x"$server" = x ] && [ x"$serverargs" = x ]; then
+        server="$1"
+        else
+        serverargs="$serverargs $1"
+        fi
+    fi
+    ;;
+    --)
+    whoseargs="server"
+    ;;
+    *)
+    if [ "$whoseargs" = "client" ]; then
+        clientargs="$clientargs $1"
+    else
+        # display must be the FIRST server argument
+        if [ x"$serverargs" = x ] && \
+         expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
+        display="$1"
+        else
+        serverargs="$serverargs $1"
+        fi
+    fi
+    ;;
+    esac
+    shift
+done
+
+# process client arguments
+if [ x"$client" = x ]; then
+    client=$defaultclient
+
+    # For compatibility reasons, only use startxrc if there were no client command line arguments
+    if [ x"$clientargs" = x ]; then
+        if [ -f "$userclientrc" ]; then
+            client=$userclientrc
+        elif [ -f "$sysclientrc" ]; then
+            client=$sysclientrc
+        fi
+    fi
+fi
+
+# if no client arguments, use defaults
+if [ x"$clientargs" = x ]; then
+    clientargs=$defaultclientargs
+fi
+
+# process server arguments
+if [ x"$server" = x ]; then
+    server=$defaultserver
+
+    # For compatibility reasons, only use xserverrc if there were no server command line arguments
+    if [ x"$serverargs" = x -a x"$display" = x ]; then
+      if [ -f "$userserverrc" ]; then
+          server=$userserverrc
+      elif [ -f "$sysserverrc" ]; then
+          server=$sysserverrc
+      fi
+    fi
+fi
+
+# if no server arguments, use defaults
+if [ x"$serverargs" = x ]; then
+    serverargs=$defaultserverargs
+fi
+
+# if no display, use default
+if [ x"$display" = x ]; then
+    display=$defaultdisplay
+fi
+
+if [ x"$enable_xauth" = x1 ] ; then
+    if [ x"$XAUTHORITY" = x ]; then
+        XAUTHORITY=$HOME/.Xauthority
+        export XAUTHORITY
+    fi
+
+    removelist=
+
+    # set up default Xauth info for this machine
+    hostname=`/bin/hostname`
+
+    authdisplay=${display:-:0}
+
+    mcookie=`/usr/bin/openssl rand -hex 16`
+
+    if test x"$mcookie" = x; then
+        echo "Couldn't create cookie"
+        exit 1
+    fi
+    dummy=0
+
+    # create a file with auth information for the server. ':0' is a dummy.
+    xserverauthfile=$HOME/.serverauth.$$
+    trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
+    @XAUTH@ -q -f "$xserverauthfile" << EOF
+add :$dummy . $mcookie
+EOF
+
+    xserverauthfilequoted=$(echo ${xserverauthfile} | sed "s/'/'\\\\''/g")
+    serverargs=${serverargs}" -auth '"${xserverauthfilequoted}"'"
+
+    # now add the same credentials to the client authority file
+    # if '$displayname' already exists do not overwrite it as another
+    # server man need it. Add them to the '$xserverauthfile' instead.
+    for displayname in $authdisplay $hostname$authdisplay; do
+        authcookie=`@XAUTH@ list "$displayname" \
+        | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
+        if [ "z${authcookie}" = "z" ] ; then
+            @XAUTH@ -q << EOF
+add $displayname . $mcookie
+EOF
+        removelist="$displayname $removelist"
+        else
+            dummy=$(($dummy+1));
+            @XAUTH@ -q -f "$xserverauthfile" << EOF
+add :$dummy . $authcookie
+EOF
+        fi
+    done
+fi
+
+eval @XINIT@ \"$client\" $clientargs -- \"$server\" $display $serverargs "-xkbdir" "@XKEYBOARD_CONFIG@"
+retval=$?
+
+if [ x"$enable_xauth" = x1 ] ; then
+    if [ x"$removelist" != x ]; then
+        @XAUTH@ remove $removelist
+    fi
+    if [ x"$xserverauthfile" != x ]; then
+        rm -f "$xserverauthfile"
+    fi
+fi
+
+exit $retval
diff --git a/pkgs/servers/x11/xquartz/system-fonts.nix b/pkgs/servers/x11/xquartz/system-fonts.nix
new file mode 100644
index 00000000000..cf24bb439b9
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/system-fonts.nix
@@ -0,0 +1,36 @@
+{ stdenv, xorg, fontDirs }:
+
+stdenv.mkDerivation {
+  name = "xquartz-system-fonts";
+  buildInputs = [
+    xorg.mkfontdir xorg.mkfontscale
+  ];
+  buildCommand = ''
+    source $stdenv/setup
+
+    for i in ${toString fontDirs} ; do
+      if [ -d $i/ ]; then
+        list="$list $i";
+      fi;
+    done
+    list=$(find $list -name fonts.dir -o -name '*.ttf' -o -name '*.otf');
+    fontDirs=''';
+    for i in $list ; do
+      fontDirs="$fontDirs $(dirname $i)";
+    done;
+    mkdir -p $out/share/X11-fonts/;
+    find $fontDirs -type f -o -type l | while read i; do
+      j="''${i##*/}"
+      if ! test -e "$out/share/X11-fonts/''${j}"; then
+        ln -s "$i" "$out/share/X11-fonts/''${j}";
+      fi;
+    done;
+    cd $out/share/X11-fonts/
+    rm fonts.dir
+    rm fonts.scale
+    rm fonts.alias
+    mkfontdir
+    mkfontscale
+    cat $( find ${xorg.fontalias}/ -name fonts.alias) >fonts.alias
+  '';
+}
diff --git a/pkgs/servers/x11/xquartz/xinitrc b/pkgs/servers/x11/xquartz/xinitrc
new file mode 100755
index 00000000000..1a0c2ccf1c0
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/xinitrc
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+export PATH=@PATH@:$PATH
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+
+# Fix ridiculously slow key repeat.
+@XSET@ r rate
+
+# merge in defaults and keymaps
+
+if [ -f "$userresources" ]; then
+    if [ -x /usr/bin/cpp ] ; then
+        @XRDB@ -merge "$userresources"
+    else
+        @XRDB@ -nocpp -merge "$userresources"
+    fi
+fi
+
+if [ -f "$usermodmap" ]; then
+    @XMODMAP@ "$usermodmap"
+fi
+
+fontpath="@SYSTEM_FONTS@"
+[ -e "$HOME"/.fonts/fonts.dir ] && fontpath="$fontpath,$HOME/.fonts"
+[ -e "$HOME"/Library/Fonts/fonts.dir ] && fontpath="$fontpath,$HOME/Library/Fonts"
+[ -e /Library/Fonts/fonts.dir ] && fontpath="$fontpath,/Library/Fonts"
+[ -e /System/Library/Fonts/fonts.dir ] && fontpath="$fontpath,/System/Library/Fonts"
+@XSET@ fp= "$fontpath"
+unset fontpath
+
+if [ -d "${HOME}/.xinitrc.d" ] ; then
+    for f in "${HOME}"/.xinitrc.d/*.sh ; do
+        [ -x "$f" ] && . "$f"
+    done
+    unset f
+fi
+
+exec @QUARTZ_WM@
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 788fe0d6ccb..5868125c97f 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, expat, erlang, zlib, openssl, pam, lib}:
 
 stdenv.mkDerivation rec {
-  version = "2.1.10";
-  name = "ejabberd-2.1.10";
+  version = "2.1.13";
+  name = "ejabberd-${version}";
   src = fetchurl {
-    url = http://www.process-one.net/downloads/ejabberd/2.1.10/ejabberd-2.1.10.tar.gz;
-    sha256 = "1gijv6d90w9fq0as2l0mp0fn65jihgd86nxry98pv6liks4fbhlx";
+    url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
+    sha256 = "0vf8mfrx7vr3c5h3nfp3qcgwf2kmzq20rjv1h9sk3nimwir1q3d8";
   };
   buildInputs = [ expat erlang zlib openssl pam ];
   patchPhase = ''
@@ -13,12 +13,12 @@ stdenv.mkDerivation rec {
   '';
   preConfigure = ''
     cd src
-  '';  
+  '';
   configureFlags = ["--enable-pam"];
-  
+
   meta = {
     description = "Open-source XMPP application server written in Erlang";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://www.ejabberd.im;
     maintainers = [ lib.maintainers.sander ];
   };
diff --git a/pkgs/servers/xmpp/openfire/default.nix b/pkgs/servers/xmpp/openfire/default.nix
index e5e5273783f..3fb89d7a222 100644
--- a/pkgs/servers/xmpp/openfire/default.nix
+++ b/pkgs/servers/xmpp/openfire/default.nix
@@ -1,36 +1,26 @@
-{ stdenv, fetchurl, builderDefs, jre }:
+{ stdenv, fetchurl, jre }:
 
-with builderDefs;
-  let 
-    version="3_6_3";
-    localDefs = builderDefs.passthru.function (rec {
-    src = /* put a fetchurl here */
-      fetchurl {
-        url = "http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_${version}.tar.gz";
-        sha256 = "0ibzhmh9qw4lmx45ir1i280p30npgwnj7vrkl432kj3zi7hp79q2";
-      };
+stdenv.mkDerivation rec {
+  name = "openfire-${version}";
+  version  = "3_6_3";
 
-    buildInputs = [jre];
-    configureFlags = [];
+  src = fetchurl {
+    url = "http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_${version}.tar.gz";
+    sha256 = "0ibzhmh9qw4lmx45ir1i280p30npgwnj7vrkl432kj3zi7hp79q2";
+  };
+
+  buildInputs = [ jre ];
+
+  installPhase = ''
+    sed -e 's@\(common_jvm_locations\)=.*@\1${jre}@' -i bin/openfire
+    cp -r . $out
+    rm -r $out/logs
+    mv $out/conf $out/conf.inst
+    ln -s /var/log/openfire $out/logs
+    ln -s /etc/openfire $out/conf
+  ''; 
 
-    installPhase = fullDepEntry (''
-      sed -e 's@\(common_jvm_locations\)=.*@\1${jre}@' -i bin/openfire
-      cp -r . $out
-      rm -r $out/logs
-      mv $out/conf $out/conf.inst
-      ln -s /var/log/openfire $out/logs
-      ln -s /etc/openfire $out/conf
-    '') 
-    ["minInit" "doUnpack" "addInputs"];
-  });
-  in with localDefs;
-stdenv.mkDerivation rec {
-  name = "openfire-"+version;
-  builder = writeScript (name + "-builder")
-    (textClosure localDefs 
-      [ installPhase doForceShare doPropagate]);
   meta = {
     description = "XMPP server in Java";
-    inherit src;
   };
 }
diff --git a/pkgs/shells/bash/bash-4.2-patches.nix b/pkgs/shells/bash/bash-4.2-patches.nix
index 52392f4b32c..567ec3c551c 100644
--- a/pkgs/shells/bash/bash-4.2-patches.nix
+++ b/pkgs/shells/bash/bash-4.2-patches.nix
@@ -43,4 +43,9 @@ patch: [
 (patch "040" "0v5a98ybibwsd4iyh18gy0kc51mx8qn9w2wfpjaiycn7yg5gjrdj")
 (patch "041" "1szmm8xv41hvbzgxfwrj6dg85wa7zy3781nnil428rlzpm8ikk05")
 (patch "042" "017kpdqy6v9sgi2a931wyzpix86n9mkalpm6n9cb45v58lgmraps")
+(patch "043" "0mswgjk3z80qm1mb93jmbql27nbczxk86cw5byf0m29y1y2869nw")
+(patch "044" "1rk6jywzfvg1crvhib1zk37rsps73minhr7l4vcb3vfdkin2vlqh")
+(patch "045" "0vcqn9rb26bahhrarbwhpa0ny0nrf4vyrzh97d44lfcxypqfzdyx")
+(patch "046" "0vc1ngkxkamwr022ww3vjp9ww9c647az4pjn175c1v60d0xk5hcm")
+(patch "047" "0ymgimqz65sx2izg1dvm1h5cc01arl3j9j5137212l1ls00r55y1")
 ]
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix
index 61f6478629d..6a6b8563a55 100644
--- a/pkgs/shells/bash/default.nix
+++ b/pkgs/shells/bash/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
       Bash without modification.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix
index 3918be2afc1..a66ab994c81 100644
--- a/pkgs/shells/dash/default.nix
+++ b/pkgs/shells/dash/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dash-0.5.6";
-  
+  name = "dash-0.5.7";
+
   src = fetchurl {
     url = "http://gondor.apana.org.au/~herbert/dash/files/${name}.tar.gz";
-    sha256 = "0qnqx14y70ay1mn0w0hrknpll9266pvj0426k8niww9s7fzv89w5";
+    sha256 = "0fafpbpq6jghs0fr392x525dybym9kq1s3kly2679ds526gzm2df";
   };
-  
+
   meta = {
     homepage = http://gondor.apana.org.au/~herbert/dash/;
     description = "A POSIX-compliant implementation of /bin/sh that aims to be as small as possible";
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 7beca2109ea..adfe44b3bac 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,33 +1,37 @@
-{ stdenv, fetchurl, autoconf, ncurses, which, groff, gettext }:
+{ stdenv, fetchurl, ncurses, python, which, groff, gettext, man_db, bc }:
 
 stdenv.mkDerivation rec {
-  name = "fish-2.0.0";
+  name = "fish-${version}";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = http://fishshell.com/files/2.0.0/fish-2.0.0.tar.gz;
-    sha1 = "2d28553e2ff975f8e5fed6b266f7a940493b6636";
+    url = "http://fishshell.com/files/${version}/${name}.tar.gz";
+    sha256 = "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg";
   };
 
-  nativeBuildInputs = [ autoconf ];
+  buildInputs = [ ncurses ];
 
-  buildInputs = [ ncurses which ];
-
-  preConfigure = ''
-    autoconf
-  '';
+  # Required binaries during execution
+  # Python: Autocompletion generated from manpages and config editing
+  propagatedBuildInputs = [ python which groff gettext man_db bc ];
 
   postInstall = ''
-    sed -i "s|which |command -v |" "$out/share/fish/functions/type.fish"
+    sed -i "s|bc|${bc}/bin/bc|" "$out/share/fish/functions/seq.fish"
+    sed -i "s|which |${which}/bin/which |" "$out/share/fish/functions/type.fish"
     sed -i "s|nroff |${groff}/bin/nroff |" "$out/share/fish/functions/__fish_print_help.fish"
     sed -e "s|gettext |${gettext}/bin/gettext |" \
-        -e "s|which |command -v |" \
+        -e "s|which |${which}/bin/which |" \
         -i "$out/share/fish/functions/_.fish"
+    sed -i "s|Popen(\['manpath'|Popen(\['${man_db}/bin/manpath'|" "$out/share/fish/tools/create_manpage_completions.py"
+    sed -i "s|/sbin /usr/sbin||" \
+           "$out/share/fish/functions/__fish_complete_subcommand_root.fish"
   '';
 
   meta = with stdenv.lib; {
     description = "Smart and user-friendly command line shell";
-    homepage = http://fishshell.com/;
+    homepage = "http://fishshell.com/";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ ocharles ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix
index b9b9129cb48..cb0cc95c4ce 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-1.1.0";
+  name = "ipython-2.0.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz";
-    sha256 = "1glivwy7k2dciy0y5i39syngip84nrqhpggn4glmpd2s49jllkkc";
+    sha256 = "0fl9sznx83y2ck8wh5zr8avzjm5hz6r0xz38ij2fil3gin7w10sf";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix
index 4354a3cd0b3..e9d0c61ee08 100644
--- a/pkgs/shells/rush/default.nix
+++ b/pkgs/shells/rush/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0fh0gbbp0iiq3wbkf503xb40r8ljk42vyj9bnlflbz82d6ipy1rm";
   };
 
+  patches = [ ./gets.patch ];
+
   doCheck = true;
 
   meta = {
@@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/rush/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/shells/rush/gets.patch b/pkgs/shells/rush/gets.patch
new file mode 100644
index 00000000000..94b1f5dd2f5
--- /dev/null
+++ b/pkgs/shells/rush/gets.patch
@@ -0,0 +1,13 @@
+--- rush-1.7/gnu/stdio.in.h.org	2010-06-13 19:14:59.000000000 +0200
++++ rush-1.7/gnu/stdio.in.h	2013-12-30 14:29:55.000000000 +0100
+@@ -138,8 +138,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets 
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 50a33700b3b..d187c50f251 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -2,13 +2,13 @@
 
 let
 
-  version = "5.0.2";
+  version = "5.0.5";
 
   documentation = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.bz2";
-    sha256 = "99ee08cfc91935af8714bd98db652f016d6c7a8a71ba7c6d6223910cd0b7fbf1";
+    sha256 = "1wljqii2lkz5kc4y3xs65isnahvnlj678b9zv31bn444mapjpwp4";
   };
-  
+
 in
 
 stdenv.mkDerivation {
@@ -16,9 +16,9 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}.tar.bz2";
-    sha256 = "eb220ae5a8076191ec6b4c6a5a2f18122d074a19f25b45f0320b44b8166c5a03";
+    sha256 = "1bwfz9n850pclzmzrb437icfhzv1s5pgh2dhs92f194gdkxx4936";
   };
-  
+
   buildInputs = [ ncurses coreutils ];
 
   preConfigure = ''
@@ -58,11 +58,18 @@ EOF
   # XXX: patch zsh to take zwc if newer _or equal_
 
   meta = {
-    description = "the Z shell";
-    longDescription = "Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor.  Of the standard shells, zsh most closely resembles ksh but includes many enhancements.  Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.";
+    description = "The Z shell";
+    longDescription = ''
+      Zsh is a UNIX command interpreter (shell) usable as an interactive login
+      shell and as a shell script command processor.  Of the standard shells,
+      zsh most closely resembles ksh but includes many enhancements.  Zsh has
+      command line editing, builtin spelling correction, programmable command
+      completion, shell functions (with autoloading), a history mechanism, and
+      a host of other features.
+    '';
     license = "MIT-like";
     homePage = "http://www.zsh.org/";
     maintainers = with stdenv.lib.maintainers; [ chaoflow ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 662f3307b46..09c92b552d4 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -2,27 +2,20 @@
    a new stdenv with different behaviour, e.g. using a different C
    compiler. */
 
-{dietlibc, fetchurl, runCommand}:
-
+pkgs:
 
 rec {
 
 
   # Override the compiler in stdenv for specific packages.
-  overrideGCC = stdenv: gcc: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // { NIX_GCC = gcc; });
-      inherit gcc;
-    };
+  overrideGCC = stdenv: gcc: stdenv.override { inherit gcc; };
 
 
   # Add some arbitrary packages to buildInputs for specific packages.
   # Used to override packages in stdenv like Make.  Should not be used
   # for other dependencies.
-  overrideInStdenv = stdenv: pkgs: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args //
-        { buildInputs = args.buildInputs or [] ++ pkgs; }
-      );
-    };
+  overrideInStdenv = stdenv: pkgs:
+    stdenv.override (prev: { extraBuildInputs = prev.extraBuildInputs or [] ++ pkgs; });
 
 
   # Override the setup script of stdenv.  Useful for testing new
@@ -33,7 +26,7 @@ rec {
   #   randomPkg = import ../bla { ...
   #     stdenv = overrideSetup stdenv ../stdenv/generic/setup-latest.sh;
   #   };
-  overrideSetup = stdenv: setup: stdenv.regenerate setup;
+  overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; };
 
 
   # Return a modified stdenv that uses dietlibc to create small
@@ -57,13 +50,13 @@ rec {
 
         NIX_GCC = import ../build-support/gcc-wrapper {
           inherit stdenv;
-          libc = dietlibc;
+          libc = pkgs.dietlibc;
           inherit (stdenv.gcc) gcc binutils nativeTools nativePrefix;
           nativeLibc = false;
         };
       });
       isDietLibC = true;
-    } // {inherit fetchurl;};
+    };
 
 
   # Return a modified stdenv that uses klibc to create small
@@ -80,7 +73,7 @@ rec {
         configureFlags =
           args.configureFlags or "" + " --disable-shared"; # brrr...
 
-        NIX_GCC = runCommand "klibc-wrapper" {} ''
+        NIX_GCC = pkgs.runCommand "klibc-wrapper" {} ''
           mkdir -p $out/bin
           ln -s ${klibc}/bin/klcc $out/bin/gcc
           ln -s ${klibc}/bin/klcc $out/bin/cc
@@ -90,7 +83,7 @@ rec {
       });
       isKlibc = true;
       isStatic = true;
-    } // {inherit fetchurl;};
+    };
 
 
   # Return a modified stdenv that tries to build statically linked
@@ -103,7 +96,7 @@ rec {
           + " --disable-shared"; # brrr...
       });
       isStatic = true;
-    } // {inherit fetchurl;};
+    };
 
 
   # Return a modified stdenv that builds static libraries instead of
@@ -115,7 +108,7 @@ rec {
           toString args.configureFlags or ""
           + " --enable-static --disable-shared";
       });
-    } // {inherit fetchurl;};
+    };
 
 
   # Return a modified stdenv that adds a cross compiler to the
@@ -194,76 +187,13 @@ rec {
     { mkDerivation = args: stdenv.mkDerivation (args // extraAttrs); };
 
 
-  /* Return a modified stdenv that performs the build under $out/.build
-     instead of in $TMPDIR.  Thus, the sources are kept available.
-     This is useful for things like debugging or generation of
-     dynamic analysis reports. */
-  keepBuildTree = stdenv:
-    addAttrsToDerivation
-      { prePhases = "moveBuildDir";
-
-        moveBuildDir =
-          ''
-            mkdir -p $out/.build
-            cd $out/.build
-          '';
-      } stdenv;
-
-
-  cleanupBuildTree = stdenv:
-    addAttrsToDerivation
-      { postPhases = "cleanupBuildDir";
-
-        # Get rid of everything that isn't a gcno file or a C source
-        # file.  This also includes the gcda files; we're not
-        # interested in coverage resulting from the package's own test
-        # suite.  Also strip the `.tmp_' prefix from gcno files.  (The
-        # Linux kernel creates these.)
-        cleanupBuildDir =
-          ''
-            find $out/.build/ -type f -a ! \
-              \( -name "*.c" -o -name "*.h" -o -name "*.gcno" \) \
-              | xargs rm -f --
-
-            for i in $(find $out/.build/ -name ".tmp_*.gcno"); do
-                mv "$i" "$(echo $i | sed s/.tmp_//)"
-            done
-          '';
-      } stdenv;
-
-
   /* Return a modified stdenv that builds packages with GCC's coverage
      instrumentation.  The coverage note files (*.gcno) are stored in
      $out/.build, along with the source code of the package, to enable
      programs like lcov to produce pretty-printed reports.
   */
   addCoverageInstrumentation = stdenv:
-    addAttrsToDerivation
-      {
-        postUnpack =
-          ''
-            # This is an uberhack to prevent libtool from removing gcno
-            # files.  This has been fixed in libtool, but there are
-            # packages out there with old ltmain.sh scripts.
-            # See http://www.mail-archive.com/libtool@gnu.org/msg10725.html
-            for i in $(find -name ltmain.sh); do
-                substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)'
-            done
-
-            export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage"
-          '';
-      }
-
-      # Object files instrumented with coverage analysis write
-      # runtime coverage data to <path>/<object>.gcda, where <path>
-      # is the location where gcc originally created the object
-      # file.  That would be /tmp/nix-build-<something>, which will
-      # be long gone by the time we run the program.  Furthermore,
-      # the <object>.gcno files created at compile time are also
-      # written there.  And to make nice coverage reports with lcov,
-      # we need the source code.  So we have to use the
-      # `keepBuildTree' adapter as well.
-      (cleanupBuildTree (keepBuildTree stdenv));
+    overrideInStdenv stdenv [ pkgs.enableGCOVInstrumentation pkgs.keepBuildTree ];
 
 
   /* Replace the meta.maintainers field of a derivation.  This is useful
@@ -277,7 +207,7 @@ rec {
   */
   replaceMaintainersField = stdenv: pkgs: maintainers: stdenv //
     { mkDerivation = args:
-        pkgs.lib.recursiveUpdate
+        stdenv.lib.recursiveUpdate
           (stdenv.mkDerivation args)
           { meta.maintainers = maintainers; };
     };
@@ -354,4 +284,19 @@ rec {
       });
     };
 
+
+  /* Modify a stdenv so that it uses the Gold linker. FIXME: should
+     use -fuse-ld=gold instead, but then the ld-wrapper won't be
+     invoked. */
+  useGoldLinker = stdenv:
+    let
+      binutils = stdenv.gcc.binutils;
+      binutils' = pkgs.runCommand "${binutils.name}-gold" { }
+        ''
+          mkdir -p $out/bin
+          ln -s ${binutils}/bin/* $out/bin/
+          ln -sfn ${binutils}/bin/ld.gold $out/bin/ld
+        ''; # */
+    in overrideGCC stdenv (stdenv.gcc.override { binutils = binutils'; });
+
 }
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index ca90b46192e..47d1fb6d9f7 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -5,14 +5,7 @@
 # Posix utilities, the GNU C compiler, and so on.  On other systems,
 # we use the native C library.
 
-
-# stdenvType exists to support multiple kinds of stdenvs on the same
-# system, e.g., cygwin and mingw builds on i686-cygwin.  Most people
-# can ignore it.
-
-{ system, stdenvType ? system, allPackages ? import ../.., platform, config }:
-
-assert system != "i686-cygwin" -> system == stdenvType;
+{ system, allPackages ? import ../.., platform, config }:
 
 
 rec {
@@ -45,22 +38,16 @@ rec {
   stdenvLinux = (import ./linux { inherit system allPackages platform config;}).stdenvLinux;
 
 
-  # MinGW/MSYS standard environment.
-  stdenvMinGW = import ./mingw {
-    inherit system;
-  };
-
-
   # Select the appropriate stdenv for the platform `system'.
   stdenv =
-    if stdenvType == "i686-linux" then stdenvLinux else
-    if stdenvType == "x86_64-linux" then stdenvLinux else
-    if stdenvType == "armv5tel-linux" then stdenvLinux else
-    if stdenvType == "armv6l-linux" then stdenvLinux else
-    if stdenvType == "armv7l-linux" then stdenvLinux else
-    if stdenvType == "mips64el-linux" then stdenvLinux else
-    if stdenvType == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
-    if stdenvType == "i686-mingw" then stdenvMinGW else
-    if stdenvType == "x86_64-darwin" then stdenvNix else
+    if system == "i686-linux" then stdenvLinux else
+    if system == "x86_64-linux" then stdenvLinux else
+    if system == "armv5tel-linux" then stdenvLinux else
+    if system == "armv6l-linux" then stdenvLinux else
+    if system == "armv7l-linux" then stdenvLinux else
+    if system == "mips64el-linux" then stdenvLinux else
+    if system == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
+    if system == "x86_64-darwin" then stdenvNix else
+    if system == "x86_64-solaris" then stdenvNix else
     stdenvNative;
 }
diff --git a/pkgs/stdenv/generic/builder.sh b/pkgs/stdenv/generic/builder.sh
index fd4c17ca251..60360e7b825 100644
--- a/pkgs/stdenv/generic/builder.sh
+++ b/pkgs/stdenv/generic/builder.sh
@@ -12,6 +12,7 @@ cat "$setup" >> $out/setup
 sed -e "s^@initialPath@^$initialPath^g" \
     -e "s^@gcc@^$gcc^g" \
     -e "s^@shell@^$shell^g" \
+    -e "s^@needsPax@^$needsPax^g" \
     < $out/setup > $out/setup.tmp
 mv $out/setup.tmp $out/setup
 
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index f8aff33a327..29e4455f7cb 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,161 +1,203 @@
+let lib = import ../../../lib; in lib.makeOverridable (
+
 { system, name ? "stdenv", preHook ? "", initialPath, gcc, shell
 , extraAttrs ? {}, overrides ? (pkgs: {}), config
 
 , # The `fetchurl' to use for downloading curl and its dependencies
   # (see all-packages.nix).
   fetchurlBoot
-}:
 
-if ! builtins ? langVersion then
+, setupScript ? ./setup.sh
 
-  abort "This version of Nixpkgs requires Nix >= 1.2, please upgrade!"
+, extraBuildInputs ? []
 
-else
+, skipPaxMarking ? false
+}:
 
 let
 
-  lib = import ../../../lib;
-
-  allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
-
-  stdenvGenerator = setupScript: rec {
-
-    # The stdenv that we are producing.
-    result =
-
-      derivation {
-        inherit system name;
-
-        builder = shell;
-
-        args = ["-e" ./builder.sh];
-
-        setup = setupScript;
-
-        inherit preHook initialPath gcc shell;
-
-        propagatedUserEnvPkgs = [gcc] ++
-          lib.filter lib.isDerivation initialPath;
-
-        __ignoreNulls = true;
-      }
-
-      // rec {
-
-        meta = {
-          description = "The default build environment for Unix packages in Nixpkgs";
-        };
-
-        # Add a utility function to produce derivations that use this
-        # stdenv and its shell.
-        mkDerivation = attrs:
-          if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then
-            throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
-          else
-            lib.addPassthru (derivation (
-              (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
-              // (let
-                buildInputs = attrs.buildInputs or [];
-                nativeBuildInputs = attrs.nativeBuildInputs or [];
-                propagatedBuildInputs = attrs.propagatedBuildInputs or [];
-                propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
-                crossConfig = attrs.crossConfig or null;
-              in
-              {
-                builder = attrs.realBuilder or shell;
-                args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
-                stdenv = result;
-                system = result.system;
-                userHook = config.stdenv.userHook or null;
-
-                # Inputs built by the cross compiler.
-                buildInputs = lib.optionals (crossConfig != null) buildInputs;
-                propagatedBuildInputs = lib.optionals (crossConfig != null)
-                    propagatedBuildInputs;
-                # Inputs built by the usual native compiler.
-                nativeBuildInputs = nativeBuildInputs ++ lib.optionals
-                  (crossConfig == null) buildInputs;
-                propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
-                  lib.optionals (crossConfig == null) propagatedBuildInputs;
-            }))) (
+  allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
+
+  # Alow granular checks to allow only some unfree packages
+  # Example:
+  # {pkgs, ...}:
+  # {
+  #   allowUnfree = false;
+  #   allowUnfreePredicate = (x: pkgs.lib.hasPrefix "flashplayero-" x.name);
+  # }
+  allowUnfreePredicate = config.allowUnfreePredicate or (x: false);
+
+  allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
+
+  forceEvalHelp = unfreeOrBroken:
+    assert (unfreeOrBroken == "Unfree" || unfreeOrBroken == "Broken");
+    ''
+      You can set
+        { nixpkgs.config.allow${unfreeOrBroken} = true; }
+      in configuration.nix to override this. If you use Nix standalone, you can add
+        { allow${unfreeOrBroken} = true; }
+      to ~/.nixpkgs/config.nix.
+    '';
+
+  unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null);
+
+  # The stdenv that we are producing.
+  result =
+
+    derivation {
+      inherit system name;
+
+      builder = shell;
+
+      args = ["-e" ./builder.sh];
+      /* TODO: special-cased @var@ substitutions are ugly.
+          However, using substituteAll* from setup.sh seems difficult,
+          as setup.sh can't be directly sourced.
+          Suggestion: split similar utility functions into a separate script.
+      */
+
+      setup = setupScript;
+
+      inherit preHook initialPath gcc shell;
+
+      # Whether we should run paxctl to pax-mark binaries
+      needsPax = result.isLinux && !skipPaxMarking;
+
+      propagatedUserEnvPkgs = [gcc] ++
+        lib.filter lib.isDerivation initialPath;
+    }
+
+    // rec {
+
+      meta = {
+        description = "The default build environment for Unix packages in Nixpkgs";
+      };
+
+      # Add a utility function to produce derivations that use this
+      # stdenv and its shell.
+      mkDerivation = attrs:
+        let
+          pos =
+            if attrs.meta.description or null != null then
+              unsafeGetAttrPos "description" attrs.meta
+            else
+              unsafeGetAttrPos "name" attrs;
+          pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»";
+        in
+        if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) && !(allowUnfreePredicate attrs) then
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate.
+            ${forceEvalHelp "Unfree"}''
+        else if !allowBroken && attrs.meta.broken or false then
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is marked as broken, refusing to evaluate.
+            ${forceEvalHelp "Broken"}''
+        else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’, refusing to evaluate.
+            ${forceEvalHelp "Broken"}''
+        else
+          lib.addPassthru (derivation (
+            (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
+            // (let
+              buildInputs = attrs.buildInputs or [];
+              nativeBuildInputs = attrs.nativeBuildInputs or [];
+              propagatedBuildInputs = attrs.propagatedBuildInputs or [];
+              propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
+              crossConfig = attrs.crossConfig or null;
+            in
             {
-              # The meta attribute is passed in the resulting attribute set,
-              # but it's not part of the actual derivation, i.e., it's not
-              # passed to the builder and is not a dependency.  But since we
-              # include it in the result, it *is* available to nix-env for
-              # queries.
-              meta = attrs.meta or {};
-              passthru = attrs.passthru or {};
-            } //
-            # Pass through extra attributes that are not inputs, but
-            # should be made available to Nix expressions using the
-            # derivation (e.g., in assertions).
-            (attrs.passthru or {}));
-
-        # Utility flags to test the type of platform.
-        isDarwin = result.system == "x86_64-darwin";
-        isLinux = result.system == "i686-linux"
-               || result.system == "x86_64-linux"
-               || result.system == "powerpc-linux"
-               || result.system == "armv5tel-linux"
-               || result.system == "armv6l-linux"
-               || result.system == "armv7l-linux"
-               || result.system == "mips64el-linux";
-        isGNU = result.system == "i686-gnu";      # GNU/Hurd
-        isGlibc = isGNU                           # useful for `stdenvNative'
-               || isLinux
-               || result.system == "x86_64-kfreebsd-gnu";
-        isSunOS = result.system == "i686-solaris"
-               || result.system == "x86_64-solaris";
-        isCygwin = result.system == "i686-cygwin";
-        isFreeBSD = result.system == "i686-freebsd"
-               || result.system == "x86_64-freebsd";
-        isOpenBSD = result.system == "i686-openbsd"
-               || result.system == "x86_64-openbsd";
-        isBSD = result.system == "i686-freebsd"
-               || result.system == "x86_64-freebsd"
-               || result.system == "i686-openbsd"
-               || result.system == "x86_64-openbsd";
-        isi686 = result.system == "i686-linux"
-               || result.system == "i686-gnu"
-               || result.system == "i686-freebsd"
-               || result.system == "i686-openbsd"
-               || result.system == "i386-sunos";
-        isx86_64 = result.system == "x86_64-linux"
-               || result.system == "x86_64-darwin"
-               || result.system == "x86_64-freebsd"
-               || result.system == "x86_64-openbsd";
-        is64bit = result.system == "x86_64-linux"
-                || result.system == "x86_64-darwin"
-                || result.system == "x86_64-freebsd"
-                || result.system == "x86_64-openbsd";
-        isMips = result.system == "mips-linux"
-                || result.system == "mips64el-linux";
-        isArm = result.system == "armv5tel-linux"
-             || result.system == "armv6l-linux"
-             || result.system == "armv7l-linux";
-
-        # Utility function: allow stdenv to be easily regenerated with
-        # a different setup script.  (See all-packages.nix for an
-        # example.)
-        regenerate = stdenvGenerator;
-
-        # For convenience, bring in the library functions in lib/ so
-        # packages don't have to do that themselves.
-        inherit lib;
-
-        inherit fetchurlBoot;
-
-        inherit overrides;
-      }
-
-      # Propagate any extra attributes.  For instance, we use this to
-      # "lift" packages like curl from the final stdenv for Linux to
-      # all-packages.nix for that platform (meaning that it has a line
-      # like curl = if stdenv ? curl then stdenv.curl else ...).
-      // extraAttrs;
-
-  }.result;
-
-
-in stdenvGenerator ./setup.sh
+              builder = attrs.realBuilder or shell;
+              args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
+              stdenv = result;
+              system = result.system;
+              userHook = config.stdenv.userHook or null;
+              __ignoreNulls = true;
+
+              # Inputs built by the cross compiler.
+              buildInputs = lib.optionals (crossConfig != null) (buildInputs ++ extraBuildInputs);
+              propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs;
+              # Inputs built by the usual native compiler.
+              nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) (buildInputs ++ extraBuildInputs);
+              propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
+                lib.optionals (crossConfig == null) propagatedBuildInputs;
+          }))) (
+          {
+            # The meta attribute is passed in the resulting attribute set,
+            # but it's not part of the actual derivation, i.e., it's not
+            # passed to the builder and is not a dependency.  But since we
+            # include it in the result, it *is* available to nix-env for
+            # queries.  We also a meta.position attribute here to
+            # identify the source location of the package.
+            meta = attrs.meta or {} // (if pos != null then {
+              position = pos.file + ":" + (toString pos.line);
+            } else {});
+            passthru = attrs.passthru or {};
+          } //
+          # Pass through extra attributes that are not inputs, but
+          # should be made available to Nix expressions using the
+          # derivation (e.g., in assertions).
+          (attrs.passthru or {}));
+
+      # Utility flags to test the type of platform.
+      isDarwin = system == "x86_64-darwin";
+      isLinux = system == "i686-linux"
+             || system == "x86_64-linux"
+             || system == "powerpc-linux"
+             || system == "armv5tel-linux"
+             || system == "armv6l-linux"
+             || system == "armv7l-linux"
+             || system == "mips64el-linux";
+      isGNU = system == "i686-gnu"; # GNU/Hurd
+      isGlibc = isGNU # useful for `stdenvNative'
+             || isLinux
+             || system == "x86_64-kfreebsd-gnu";
+      isSunOS = system == "i686-solaris"
+             || system == "x86_64-solaris";
+      isCygwin = system == "i686-cygwin"
+              || system == "x86_64-cygwin";
+      isFreeBSD = system == "i686-freebsd"
+              || system == "x86_64-freebsd";
+      isOpenBSD = system == "i686-openbsd"
+              || system == "x86_64-openbsd";
+      isBSD = system == "i686-freebsd"
+           || system == "x86_64-freebsd"
+           || system == "i686-openbsd"
+           || system == "x86_64-openbsd";
+      isi686 = system == "i686-linux"
+            || system == "i686-gnu"
+            || system == "i686-freebsd"
+            || system == "i686-openbsd"
+            || system == "i386-sunos";
+      isx86_64 = system == "x86_64-linux"
+              || system == "x86_64-darwin"
+              || system == "x86_64-freebsd"
+              || system == "x86_64-openbsd"
+              || system == "x86_64-solaris";
+      is64bit = system == "x86_64-linux"
+             || system == "x86_64-darwin"
+             || system == "x86_64-freebsd"
+             || system == "x86_64-openbsd"
+             || system == "x86_64-solaris";
+      isMips = system == "mips-linux"
+            || system == "mips64el-linux";
+      isArm = system == "armv5tel-linux"
+           || system == "armv6l-linux"
+           || system == "armv7l-linux";
+
+      # For convenience, bring in the library functions in lib/ so
+      # packages don't have to do that themselves.
+      inherit lib;
+
+      inherit fetchurlBoot;
+
+      inherit overrides;
+    }
+
+    # Propagate any extra attributes.  For instance, we use this to
+    # "lift" packages like curl from the final stdenv for Linux to
+    # all-packages.nix for that platform (meaning that it has a line
+    # like curl = if stdenv ? curl then stdenv.curl else ...).
+    // extraAttrs;
+
+in result)
diff --git a/pkgs/stdenv/generic/setup-repeatable.sh b/pkgs/stdenv/generic/setup-repeatable.sh
deleted file mode 100644
index 3b2e0151932..00000000000
--- a/pkgs/stdenv/generic/setup-repeatable.sh
+++ /dev/null
@@ -1,876 +0,0 @@
-# Run the named hook, either by calling the function with that name or
-# by evaluating the variable with that name.  This allows convenient
-# setting of hooks both from Nix expressions (as attributes /
-# environment variables) and from shell scripts (as functions).
-runHook() {
-    local hookName="$1"
-    case "$(type -t $hookName)" in
-        (function|alias|builtin) $hookName;;
-        (file) source $hookName;;
-        (keyword) :;;
-        (*) eval "${!hookName}";;
-    esac
-}
-
-
-exitHandler() {
-    exitCode=$?
-    set +e
-
-    closeNest
-
-    if [ -n "$showBuildStats" ]; then
-        times > "$NIX_BUILD_TOP/.times"
-        local -a times=($(cat "$NIX_BUILD_TOP/.times"))
-        # Print the following statistics:
-        # - user time for the shell
-        # - system time for the shell
-        # - user time for all child processes
-        # - system time for all child processes
-        echo "build time elapsed: " ${times[*]}
-    fi
-
-    if [ $exitCode != 0 ]; then
-        runHook failureHook
-
-        # If the builder had a non-zero exit code and
-        # $succeedOnFailure is set, create the file
-        # `$out/nix-support/failed' to signal failure, and exit
-        # normally.  Otherwise, return the original exit code.
-        if [ -n "$succeedOnFailure" ]; then
-            echo "build failed with exit code $exitCode (ignored)"
-            mkdir -p "$out/nix-support"
-            echo -n $exitCode > "$out/nix-support/failed"
-            exit 0
-        fi
-
-    else
-        runHook exitHook
-    fi
-
-    exit $exitCode
-}
-
-trap "exitHandler" EXIT
-
-
-######################################################################
-# Helper functions that might be useful in setup hooks.
-
-
-addToSearchPathWithCustomDelimiter() {
-    local delimiter=$1
-    local varName=$2
-    local dir=$3
-    if [ -d "$dir" ]; then
-        eval export ${varName}=${!varName}${!varName:+$delimiter}${dir}
-    fi
-}
-
-PATH_DELIMITER=':'
-
-addToSearchPath() {
-    addToSearchPathWithCustomDelimiter "${PATH_DELIMITER}" "$@"
-}
-
-
-######################################################################
-# Initialisation.
-
-set -e
-
-[ -z $NIX_GCC ] && NIX_GCC=@gcc@
-
-
-# Wildcard expansions that don't match should expand to an empty list.
-# This ensures that, for instance, "for i in *; do ...; done" does the
-# right thing.
-shopt -s nullglob
-
-
-# Set up the initial path.
-PATH=
-for i in $NIX_GCC @initialPath@; do
-    if [ "$i" = / ]; then i=; fi
-    addToSearchPath PATH $i/bin
-done
-
-if [ "$NIX_DEBUG" = 1 ]; then
-    echo "initial path: $PATH"
-fi
-
-
-# Execute the pre-hook.
-export SHELL=@shell@
-if [ -z "$shell" ]; then export shell=@shell@; fi
-runHook preHook
-
-
-# Check that the pre-hook initialised SHELL.
-if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi
-
-
-# Hack: run gcc's setup hook.
-envHooks=()
-crossEnvHooks=()
-if [ -f $NIX_GCC/nix-support/setup-hook ]; then
-    source $NIX_GCC/nix-support/setup-hook
-fi
-
-
-# Ensure that the given directories exists.
-ensureDir() {
-    local dir
-    for dir in "$@"; do
-        if ! [ -x "$dir" ]; then mkdir -p "$dir"; fi
-    done
-}
-
-installBin() {
-    mkdir -p $out/bin
-    cp "$@" $out/bin
-}
-
-
-# Allow the caller to augment buildInputs (it's not always possible to
-# do this before the call to setup.sh, since the PATH is empty at that
-# point; here we have a basic Unix environment).
-runHook addInputsHook
-
-
-# Recursively find all build inputs.
-findInputs() {
-    local pkg=$1
-    local var=$2
-    local propagatedBuildInputsFile=$3
-
-    case ${!var} in
-        *\ $pkg\ *)
-            return 0
-            ;;
-    esac
-
-    eval $var="'${!var} $pkg '"
-
-    if [ -f $pkg/nix-support/setup-hook ]; then
-        source $pkg/nix-support/setup-hook
-    fi
-
-    if [ -f $pkg/nix-support/$propagatedBuildInputsFile ]; then
-        for i in $(cat $pkg/nix-support/$propagatedBuildInputsFile); do
-            findInputs $i $var $propagatedBuildInputsFile
-        done
-    fi
-}
-
-crossPkgs=""
-for i in $buildInputs $propagatedBuildInputs; do
-    findInputs $i crossPkgs propagated-build-inputs
-done
-
-nativePkgs=""
-for i in $nativeBuildInputs $propagatedNativeBuildInputs; do
-    findInputs $i nativePkgs propagated-native-build-inputs
-done
-
-
-# Set the relevant environment variables to point to the build inputs
-# found above.
-addToNativeEnv() {
-    local pkg=$1
-
-    if [ -d $1/bin ]; then
-        addToSearchPath _PATH $1/bin
-    fi
-
-    # Run the package-specific hooks set by the setup-hook scripts.
-    for i in "${envHooks[@]}"; do
-        $i $pkg
-    done
-}
-
-for i in $nativePkgs; do
-    addToNativeEnv $i
-done
-
-addToCrossEnv() {
-    local pkg=$1
-
-    # Some programs put important build scripts (freetype-config and similar)
-    # into their crossDrv bin path. Intentionally these should go after
-    # the nativePkgs in PATH.
-    if [ -d $1/bin ]; then
-        addToSearchPath _PATH $1/bin
-    fi
-
-    # Run the package-specific hooks set by the setup-hook scripts.
-    for i in "${crossEnvHooks[@]}"; do
-        $i $pkg
-    done
-}
-
-for i in $crossPkgs; do
-    addToCrossEnv $i
-done
-
-
-# Add the output as an rpath.
-if [ "$NIX_NO_SELF_RPATH" != 1 ]; then
-    export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS"
-    if [ -n "$NIX_LIB64_IN_SELF_RPATH" ]; then
-        export NIX_LDFLAGS="-rpath $out/lib64 $NIX_LDFLAGS"
-    fi
-    if [ -n "$NIX_LIB32_IN_SELF_RPATH" ]; then
-        export NIX_LDFLAGS="-rpath $out/lib32 $NIX_LDFLAGS"
-    fi
-fi
-
-
-# Set the TZ (timezone) environment variable, otherwise commands like
-# `date' will complain (e.g., `Tue Mar 9 10:01:47 Local time zone must
-# be set--see zic manual page 2004').
-export TZ=UTC
-
-
-# Set the prefix.  This is generally $out, but it can be overriden,
-# for instance if we just want to perform a test build/install to a
-# temporary location and write a build report to $out.
-if [ -z "$prefix" ]; then
-    prefix="$out";
-fi
-
-if [ "$useTempPrefix" = 1 ]; then
-    prefix="$NIX_BUILD_TOP/tmp_prefix";
-fi
-
-
-PATH=$_PATH${_PATH:+:}$PATH
-if [ "$NIX_DEBUG" = 1 ]; then
-    echo "final path: $PATH"
-fi
-
-
-# Make GNU Make produce nested output.
-export NIX_INDENT_MAKE=1
-
-
-# Normalize the NIX_BUILD_CORES variable. The value might be 0, which
-# means that we're supposed to try and auto-detect the number of
-# available CPU cores at run-time.
-
-if [ -z "${NIX_BUILD_CORES:-}" ]; then
-  NIX_BUILD_CORES="1"
-elif [ "$NIX_BUILD_CORES" -le 0 ]; then
-  NIX_BUILD_CORES=$(nproc 2>/dev/null || true)
-  if expr >/dev/null 2>&1 "$NIX_BUILD_CORES" : "^[0-9][0-9]*$"; then
-    :
-  else
-    NIX_BUILD_CORES="1"
-  fi
-fi
-export NIX_BUILD_CORES
-
-
-######################################################################
-# Misc. helper functions.
-
-
-stripDirs() {
-    local dirs="$1"
-    local stripFlags="$2"
-    local dirsNew=
-
-    for d in ${dirs}; do
-        if [ -d "$prefix/$d" ]; then
-            dirsNew="${dirsNew} $prefix/$d "
-        fi
-    done
-    dirs=${dirsNew}
-
-    if [ -n "${dirs}" ]; then
-        header "stripping (with flags $stripFlags) in $dirs"
-        find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true
-        stopNest
-    fi
-}
-
-
-######################################################################
-# Textual substitution functions.
-
-
-substitute() {
-    local input="$1"
-    local output="$2"
-
-    local -a params=("$@")
-
-    local n p pattern replacement varName
-
-    local content="$(cat $input)"
-
-    for ((n = 2; n < ${#params[*]}; n += 1)); do
-        p=${params[$n]}
-
-        if [ "$p" = --replace ]; then
-            pattern="${params[$((n + 1))]}"
-            replacement="${params[$((n + 2))]}"
-            n=$((n + 2))
-        fi
-
-        if [ "$p" = --subst-var ]; then
-            varName="${params[$((n + 1))]}"
-            pattern="@$varName@"
-            replacement="${!varName}"
-            n=$((n + 1))
-        fi
-
-        if [ "$p" = --subst-var-by ]; then
-            pattern="@${params[$((n + 1))]}@"
-            replacement="${params[$((n + 2))]}"
-            n=$((n + 2))
-        fi
-
-        content="${content//"$pattern"/$replacement}"
-    done
-
-    # !!! This doesn't work properly if $content is "-n".
-    echo -n "$content" > "$output".tmp
-    if [ -x "$output" ]; then chmod +x "$output".tmp; fi
-    mv -f "$output".tmp "$output"
-}
-
-
-substituteInPlace() {
-    local fileName="$1"
-    shift
-    substitute "$fileName" "$fileName" "$@"
-}
-
-
-substituteAll() {
-    local input="$1"
-    local output="$2"
-
-    # Select all environment variables that start with a lowercase character.
-    for envVar in $(env | sed "s/^[^a-z].*//" | sed "s/^\([^=]*\)=.*/\1/"); do
-        if [ "$NIX_DEBUG" = "1" ]; then
-            echo "$envVar -> ${!envVar}"
-        fi
-        args="$args --subst-var $envVar"
-    done
-
-    substitute "$input" "$output" $args
-}
-
-
-substituteAllInPlace() {
-    local fileName="$1"
-    shift
-    substituteAll "$fileName" "$fileName" "$@"
-}
-
-
-######################################################################
-# What follows is the generic builder.
-
-
-nestingLevel=0
-
-startNest() {
-    nestingLevel=$(($nestingLevel + 1))
-    echo -en "\033[$1p"
-}
-
-stopNest() {
-    nestingLevel=$(($nestingLevel - 1))
-    echo -en "\033[q"
-}
-
-header() {
-    startNest "$2"
-    echo "$1"
-}
-
-# Make sure that even when we exit abnormally, the original nesting
-# level is properly restored.
-closeNest() {
-    while [ $nestingLevel -gt 0 ]; do
-        stopNest
-    done
-}
-
-
-# This function is useful for debugging broken Nix builds.  It dumps
-# all environment variables to a file `env-vars' in the build
-# directory.  If the build fails and the `-K' option is used, you can
-# then go to the build directory and source in `env-vars' to reproduce
-# the environment used for building.
-dumpVars() {
-    if [ "$noDumpEnvVars" != 1 ]; then
-        export > "$NIX_BUILD_TOP/env-vars"
-    fi
-}
-
-
-# Utility function: return the base name of the given path, with the
-# prefix `HASH-' removed, if present.
-stripHash() {
-    strippedName=$(basename $1);
-    if echo "$strippedName" | grep -q '^[a-z0-9]\{32\}-'; then
-        strippedName=$(echo "$strippedName" | cut -c34-)
-    fi
-}
-
-
-unpackFile() {
-    curSrc="$1"
-    local cmd
-
-    header "unpacking source archive $curSrc" 3
-
-    case "$curSrc" in
-        *.tar.xz | *.tar.lzma)
-            # Don't rely on tar knowing about .xz.
-            xz -d < $curSrc | tar xf -
-            ;;
-        *.tar | *.tar.* | *.tgz | *.tbz2)
-            # GNU tar can automatically select the decompression method
-            # (info "(tar) gzip").
-            tar xf $curSrc
-            ;;
-        *.zip)
-            unzip -qq $curSrc
-            ;;
-        *)
-            if [ -d "$curSrc" ]; then
-                stripHash $curSrc
-                cp -prd --no-preserve=timestamps $curSrc $strippedName
-            else
-                if [ -z "$unpackCmd" ]; then
-                    echo "source archive $curSrc has unknown type"
-                    exit 1
-                fi
-                runHook unpackCmd
-            fi
-            ;;
-    esac
-
-    stopNest
-}
-
-
-unpackPhase() {
-    runHook preUnpack
-
-    if [ -z "$srcs" ]; then
-        if [ -z "$src" ]; then
-            echo 'variable $src or $srcs should point to the source'
-            exit 1
-        fi
-        srcs="$src"
-    fi
-
-    # To determine the source directory created by unpacking the
-    # source archives, we record the contents of the current
-    # directory, then look below which directory got added.  Yeah,
-    # it's rather hacky.
-    local dirsBefore=""
-    for i in *; do
-        if [ -d "$i" ]; then
-            dirsBefore="$dirsBefore $i "
-        fi
-    done
-
-    # Unpack all source archives.
-    for i in $srcs; do
-        unpackFile $i
-    done
-
-    # Find the source directory.
-    if [ -n "$setSourceRoot" ]; then
-        runHook setSourceRoot
-    elif [ -z "$sourceRoot" ]; then
-        sourceRoot=
-        for i in *; do
-            if [ -d "$i" ]; then
-                case $dirsBefore in
-                    *\ $i\ *)
-                        ;;
-                    *)
-                        if [ -n "$sourceRoot" ]; then
-                            echo "unpacker produced multiple directories"
-                            exit 1
-                        fi
-                        sourceRoot="$i"
-                        ;;
-                esac
-            fi
-        done
-    fi
-
-    if [ -z "$sourceRoot" ]; then
-        echo "unpacker appears to have produced no directories"
-        exit 1
-    fi
-
-    echo "source root is $sourceRoot"
-
-    # By default, add write permission to the sources.  This is often
-    # necessary when sources have been copied from other store
-    # locations.
-    if [ "$dontMakeSourcesWritable" != 1 ]; then
-        chmod -R u+w "$sourceRoot"
-    fi
-
-    runHook postUnpack
-}
-
-
-patchPhase() {
-    runHook prePatch
-
-    for i in $patches; do
-        header "applying patch $i" 3
-        local uncompress=cat
-        case $i in
-            *.gz)
-                uncompress="gzip -d"
-                ;;
-            *.bz2)
-                uncompress="bzip2 -d"
-                ;;
-            *.lzma)
-                uncompress="lzma -d"
-                ;;
-        esac
-        $uncompress < $i | patch ${patchFlags:--p1}
-        stopNest
-    done
-
-    runHook postPatch
-}
-
-
-fixLibtool() {
-    sed -i -e 's^eval sys_lib_.*search_path=.*^^' "$1"
-}
-
-
-configurePhase() {
-    runHook preConfigure
-
-    if [ -z "$configureScript" ]; then
-        configureScript=./configure
-        if ! [ -x $configureScript ]; then
-            echo "no configure script, doing nothing"
-            return
-        fi
-    fi
-
-    if [ -z "$dontFixLibtool" ]; then
-        for i in $(find . -name "ltmain.sh"); do
-            echo "fixing libtool script $i"
-            fixLibtool $i
-        done
-    fi
-
-    if [ -z "$dontAddPrefix" ]; then
-        configureFlags="${prefixKey:---prefix=}$prefix $configureFlags"
-    fi
-
-    # Add --disable-dependency-tracking to speed up some builds.
-    if [ -z "$dontAddDisableDepTrack" ]; then
-        if grep -q dependency-tracking $configureScript; then
-            configureFlags="--disable-dependency-tracking $configureFlags"
-        fi
-    fi
-
-    # By default, disable static builds.
-    if [ -z "$dontDisableStatic" ]; then
-        if grep -q enable-static $configureScript; then
-            configureFlags="--disable-static $configureFlags"
-        fi
-    fi
-
-    echo "configure flags: $configureFlags ${configureFlagsArray[@]}"
-    $configureScript $configureFlags "${configureFlagsArray[@]}"
-
-    runHook postConfigure
-}
-
-
-buildPhase() {
-    runHook preBuild
-
-    if [ -z "$makeFlags" ] && ! [ -n "$makefile" -o -e "Makefile" -o -e "makefile" -o -e "GNUmakefile" ]; then
-        echo "no Makefile, doing nothing"
-        return
-    fi
-
-    echo "make flags: $makeFlags ${makeFlagsArray[@]} $buildFlags ${buildFlagsArray[@]}"
-    make ${makefile:+-f $makefile} \
-        ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \
-        $makeFlags "${makeFlagsArray[@]}" \
-        $buildFlags "${buildFlagsArray[@]}"
-
-    runHook postBuild
-}
-
-
-checkPhase() {
-    runHook preCheck
-
-    echo "check flags: $makeFlags ${makeFlagsArray[@]} $checkFlags ${checkFlagsArray[@]}"
-    make ${makefile:+-f $makefile} \
-        ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \
-        $makeFlags "${makeFlagsArray[@]}" \
-        ${checkFlags:-VERBOSE=y} "${checkFlagsArray[@]}" ${checkTarget:-check}
-
-    runHook postCheck
-}
-
-
-patchELF() {
-    # Patch all ELF executables and shared libraries.
-    header "patching ELF executables and libraries"
-    if [ -e "$prefix" ]; then
-        find "$prefix" \( \
-            \( -type f -a -name "*.so*" \) -o \
-            \( -type f -a -perm +0100 \) \
-            \) -print -exec patchelf --shrink-rpath {} \;
-    fi
-    stopNest
-}
-
-
-patchShebangs() {
-    # Rewrite all script interpreter file names (`#! /path') under the
-    # specified  directory tree to paths found in $PATH.  E.g.,
-    # /bin/sh will be rewritten to /nix/store/<hash>-some-bash/bin/sh.
-    # Interpreters that are already in the store are left untouched.
-    header "patching script interpreter paths"
-    local dir="$1"
-    local f
-    for f in $(find "$dir" -type f -perm +0100); do
-        local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
-        if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
-            local newPath=$(type -P $(basename $oldPath) || true)
-            if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
-                echo "$f: interpreter changed from $oldPath to $newPath"
-                sed -i -e "1 s,$oldPath,$newPath," "$f"
-            fi
-        fi
-    done
-    stopNest
-}
-
-
-installPhase() {
-    runHook preInstall
-
-    mkdir -p "$prefix"
-
-    installTargets=${installTargets:-install}
-    echo "install flags: $installTargets $makeFlags ${makeFlagsArray[@]} $installFlags ${installFlagsArray[@]}"
-    make ${makefile:+-f $makefile} $installTargets \
-        $makeFlags "${makeFlagsArray[@]}" \
-        $installFlags "${installFlagsArray[@]}"
-
-    runHook postInstall
-}
-
-
-# The fixup phase performs generic, package-independent, Nix-related
-# stuff, like running patchelf and setting the
-# propagated-build-inputs.  It should rarely be overriden.
-fixupPhase() {
-    runHook preFixup
-
-    # Put man/doc/info under $out/share.
-    forceShare=${forceShare:=man doc info}
-    if [ -n "$forceShare" ]; then
-        for d in $forceShare; do
-            if [ -d "$prefix/$d" ]; then
-                if [ -d "$prefix/share/$d" ]; then
-                    echo "both $d/ and share/$d/ exists!"
-                else
-                    echo "fixing location of $d/ subdirectory"
-                    mkdir -p $prefix/share
-                    if [ -w $prefix/share ]; then
-                        mv -v $prefix/$d $prefix/share
-                        ln -sv share/$d $prefix
-                    fi
-                fi
-            fi
-        done;
-    fi
-
-    if [ -z "$dontGzipMan" ]; then
-        GLOBIGNORE=.:..:*.gz:*.bz2
-        for f in $out/share/man/*/* $out/share/man/*/*/*; do
-            if [ -f $f ]; then
-                if gzip -c -n $f > $f.gz; then
-                    rm $f
-                else
-                    rm $f.gz
-                fi
-            fi
-        done
-        unset GLOBIGNORE
-    fi
-
-    # TODO: strip _only_ ELF executables, and return || fail here...
-    if [ -z "$dontStrip" ]; then
-        stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
-        if [ -n "$stripDebugList" ]; then
-            stripDirs "$stripDebugList" "${stripDebugFlags:--S --enable-deterministic-archives}"
-        fi
-
-        stripAllList=${stripAllList:-}
-        if [ -n "$stripAllList" ]; then
-            stripDirs "$stripAllList" "${stripAllFlags:--s --enable-deterministic-archives}"
-        fi
-    fi
-
-    if [ "$havePatchELF" = 1 -a -z "$dontPatchELF" ]; then
-        patchELF "$prefix"
-    fi
-
-    if [ -z "$dontPatchShebangs" ]; then
-        patchShebangs "$prefix"
-    fi
-
-    if [ -n "$propagatedBuildInputs" ]; then
-        mkdir -p "$out/nix-support"
-        echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs"
-    fi
-
-    if [ -n "$propagatedNativeBuildInputs" ]; then
-        mkdir -p "$out/nix-support"
-        echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs"
-    fi
-
-    if [ -n "$propagatedUserEnvPkgs" ]; then
-        mkdir -p "$out/nix-support"
-        echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages"
-    fi
-
-    if [ -n "$setupHook" ]; then
-        mkdir -p "$out/nix-support"
-        substituteAll "$setupHook" "$out/nix-support/setup-hook"
-    fi
-
-    runHook postFixup
-}
-
-
-installCheckPhase() {
-    runHook preInstallCheck
-
-    echo "installcheck flags: $makeFlags ${makeFlagsArray[@]} $installCheckFlags ${installCheckFlagsArray[@]}"
-    make ${makefile:+-f $makefile} \
-        ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \
-        $makeFlags "${makeFlagsArray[@]}" \
-        $installCheckFlags "${installCheckFlagsArray[@]}" ${installCheckTarget:-installcheck}
-
-    runHook postInstallCheck
-}
-
-
-distPhase() {
-    runHook preDist
-
-    echo "dist flags: $distFlags ${distFlagsArray[@]}"
-    make ${makefile:+-f $makefile} $distFlags "${distFlagsArray[@]}" ${distTarget:-dist}
-
-    if [ "$dontCopyDist" != 1 ]; then
-        mkdir -p "$out/tarballs"
-
-        # Note: don't quote $tarballs, since we explicitly permit
-        # wildcards in there.
-        cp -pvd ${tarballs:-*.tar.gz} $out/tarballs
-    fi
-
-    runHook postDist
-}
-
-
-showPhaseHeader() {
-    local phase="$1"
-    case $phase in
-        unpackPhase) header "unpacking sources";;
-        patchPhase) header "patching sources";;
-        configurePhase) header "configuring";;
-        buildPhase) header "building";;
-        checkPhase) header "running tests";;
-        installPhase) header "installing";;
-        fixupPhase) header "post-installation fixup";;
-        installCheckPhase) header "running install tests";;
-        *) header "$phase";;
-    esac
-}
-
-
-genericBuild() {
-    header "building $out"
-
-    if [ -n "$buildCommand" ]; then
-        eval "$buildCommand"
-        return
-    fi
-
-    if [ -z "$phases" ]; then
-        phases="$prePhases unpackPhase patchPhase $preConfigurePhases \
-            configurePhase $preBuildPhases buildPhase checkPhase \
-            $preInstallPhases installPhase fixupPhase installCheckPhase \
-            $preDistPhases distPhase $postPhases";
-    fi
-
-    for curPhase in $phases; do
-        if [ "$curPhase" = buildPhase -a -n "$dontBuild" ]; then continue; fi
-        if [ "$curPhase" = checkPhase -a -z "$doCheck" ]; then continue; fi
-        if [ "$curPhase" = installPhase -a -n "$dontInstall" ]; then continue; fi
-        if [ "$curPhase" = fixupPhase -a -n "$dontFixup" ]; then continue; fi
-        if [ "$curPhase" = installCheckPhase -a -z "$doInstallCheck" ]; then continue; fi
-        if [ "$curPhase" = distPhase -a -z "$doDist" ]; then continue; fi
-
-        if [ -n "$tracePhases" ]; then
-            echo
-            echo "@ phase-started $out $curPhase"
-        fi
-
-        showPhaseHeader "$curPhase"
-        dumpVars
-
-        # Evaluate the variable named $curPhase if it exists, otherwise the
-        # function named $curPhase.
-        eval "${!curPhase:-$curPhase}"
-
-        if [ "$curPhase" = unpackPhase ]; then
-            cd "${sourceRoot:-.}"
-        fi
-
-        if [ -n "$tracePhases" ]; then
-            echo
-            echo "@ phase-succeeded $out $curPhase"
-        fi
-
-        stopNest
-    done
-
-    stopNest
-}
-
-
-# Execute the post-hook.
-runHook postHook
-
-
-# Execute the global user hook (defined through the Nixpkgs
-# configuration option ‘stdenv.userHook’).  This can be used to set
-# global compiler optimisation flags, for instance.
-runHook userHook
-
-
-dumpVars
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 30ca0e125a3..25113bc91bb 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -93,6 +93,7 @@ PATH=
 for i in $NIX_GCC @initialPath@; do
     if [ "$i" = / ]; then i=; fi
     addToSearchPath PATH $i/bin
+    addToSearchPath PATH $i/sbin
 done
 
 if [ "$NIX_DEBUG" = 1 ]; then
@@ -102,6 +103,7 @@ fi
 
 # Execute the pre-hook.
 export SHELL=@shell@
+export CONFIG_SHELL="$SHELL"
 if [ -z "$shell" ]; then export shell=@shell@; fi
 runHook preHook
 
@@ -109,7 +111,6 @@ runHook preHook
 # Check that the pre-hook initialised SHELL.
 if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi
 
-
 # Hack: run gcc's setup hook.
 envHooks=()
 crossEnvHooks=()
@@ -120,6 +121,7 @@ fi
 
 # Ensure that the given directories exists.
 ensureDir() {
+    echo "warning: ‘ensureDir’ is deprecated; use ‘mkdir’ instead" >&2
     local dir
     for dir in "$@"; do
         if ! [ -x "$dir" ]; then mkdir -p "$dir"; fi
@@ -294,11 +296,23 @@ stripDirs() {
 
     for d in $subdirs; do
         if [ -d "$prefix/$d" ]; then
-            stripDir "$prefix/$d" "$stripFlags"
+            stripDir "$prefix/$d" "$commonStripFlags" "$stripFlags"
         fi
     done
 }
 
+# PaX-mark binaries
+paxmark() {
+    local flags="$1"
+    shift
+
+    if [ -z "@needsPax@" ]; then
+        return
+    fi
+
+    paxctl -c "$@"
+    paxctl -zex -${flags} "$@"
+}
 
 ######################################################################
 # Textual substitution functions.
@@ -310,9 +324,11 @@ substitute() {
 
     local -a params=("$@")
 
-    local n p pattern replacement varName
+    local n p pattern replacement varName content
 
-    local content="$(cat $input)"
+    # a slightly hacky way to keep newline at the end
+    content="$(cat $input; echo -n X)"
+    content="${content%X}"
 
     for ((n = 2; n < ${#params[*]}; n += 1)); do
         p=${params[$n]}
@@ -545,11 +561,15 @@ patchPhase() {
             *.bz2)
                 uncompress="bzip2 -d"
                 ;;
+            *.xz)
+                uncompress="xz -d"
+                ;;
             *.lzma)
                 uncompress="lzma -d"
                 ;;
         esac
-        $uncompress < $i | patch ${patchFlags:--p1}
+        # "2>&1" is a hack to make patch fail if the decompressor fails (nonexistent patch, etc.)
+        $uncompress < $i 2>&1 | patch ${patchFlags:--p1}
         stopNest
     done
 
@@ -574,7 +594,7 @@ configurePhase() {
     fi
 
     if [ -z "$dontFixLibtool" ]; then
-        for i in $(find . -name "ltmain.sh"); do
+        find . -iname "ltmain.sh" | while read i; do
             echo "fixing libtool script $i"
             fixLibtool $i
         done
@@ -641,6 +661,9 @@ buildPhase() {
         return
     fi
 
+    # See https://github.com/NixOS/nixpkgs/pull/1354#issuecomment-31260409
+    makeFlags="SHELL=$SHELL $makeFlags"
+
     echo "make flags: $makeFlags ${makeFlagsArray[@]} $buildFlags ${buildFlagsArray[@]}"
     make ${makefile:+-f $makefile} \
         ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \
@@ -672,7 +695,7 @@ patchELF() {
         find "$dir" \( \
             \( -type f -a -name "*.so*" \) -o \
             \( -type f -a -perm +0100 \) \
-            \) -print -exec patchelf --shrink-rpath {} \;
+            \) -print -exec patchelf --shrink-rpath '{}' \;
         stopNest
     fi
 }
@@ -682,20 +705,59 @@ patchShebangs() {
     # Rewrite all script interpreter file names (`#! /path') under the
     # specified  directory tree to paths found in $PATH.  E.g.,
     # /bin/sh will be rewritten to /nix/store/<hash>-some-bash/bin/sh.
+    # /usr/bin/env gets special treatment so that ".../bin/env python" is
+    # rewritten to /nix/store/<hash>/bin/python.
     # Interpreters that are already in the store are left untouched.
     local dir="$1"
     header "patching script interpreter paths in $dir"
     local f
-    for f in $(find "$dir" -type f -perm +0100); do
-        local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
+    local oldPath
+    local newPath
+    local arg0
+    local args
+    local oldInterpreterLine
+    local newInterpreterLine
+
+    find "$dir" -type f -perm +0100 | while read f; do
+        if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then
+            # missing shebang => not a script
+            continue
+        fi
+
+        oldInterpreterLine=$(head -1 "$f" | tail -c +3)
+        read -r oldPath arg0 args <<< "$oldInterpreterLine"
+
+        if $(echo "$oldPath" | grep -q "/bin/env$"); then
+            # Check for unsupported 'env' functionality:
+            # - options: something starting with a '-'
+            # - environment variables: foo=bar
+            if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
+                echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
+                exit 1
+            fi
+            newPath="$(command -v "$arg0" || true)"
+        else
+            if [ "$oldPath" = "" ]; then
+                # If no interpreter is specified linux will use /bin/sh. Set
+                # oldpath="/bin/sh" so that we get /nix/store/.../sh.
+                oldPath="/bin/sh"
+            fi
+            newPath="$(command -v "$(basename "$oldPath")" || true)"
+            args="$arg0 $args"
+        fi
+
+        newInterpreterLine="$newPath $args"
+
         if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
-            local newPath=$(type -P $(basename $oldPath) || true)
             if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
-                echo "$f: interpreter changed from $oldPath to $newPath"
-                sed -i -e "1 s,$oldPath,$newPath," "$f"
+                echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
+                # escape the escape chars so that sed doesn't interpret them
+                escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
+                sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
             fi
         fi
     done
+
     stopNest
 }
 
@@ -804,16 +866,22 @@ fixupPrefix() {
     fi
 
     if [ -z "$dontGzipMan" ]; then
+        echo "gzipping man pages"
         GLOBIGNORE=.:..:*.gz:*.bz2
-        for f in $prefix/share/man/*/* $prefix/share/man/*/*/*; do
-            if [ -f $f ]; then
-                if gzip -c $f > $f.gz; then
-                    rm $f
+        for f in "$prefix"/share/man/*/* "$prefix"/share/man/*/*/*; do
+            if [ -f "$f" -a ! -L "$f" ]; then
+                if gzip -c -n "$f" > "$f".gz; then
+                    rm "$f"
                 else
-                    rm $f.gz
+                    rm "$f".gz
                 fi
             fi
         done
+        for f in "$out"/share/man/*/* "$out"/share/man/*/*/*; do
+            if [ -L "$f" -a -f `readlink -f "$f"`.gz ]; then
+                ln -sf `readlink "$f"`.gz "$f".gz && rm "$f"
+            fi
+        done
         unset GLOBIGNORE
     fi
 
@@ -896,7 +964,7 @@ genericBuild() {
     if [ -z "$phases" ]; then
         phases="$prePhases unpackPhase patchPhase $preConfigurePhases \
             configurePhase $preBuildPhases buildPhase checkPhase \
-            $preInstallPhases installPhase fixupPhase installCheckPhase \
+            $preInstallPhases installPhase $preFixupPhases fixupPhase installCheckPhase \
             $preDistPhases distPhase $postPhases";
     fi
 
@@ -934,7 +1002,8 @@ genericBuild() {
 }
 
 
-# Execute the post-hook.
+# Execute the post-hooks.
+for i in "${postHooks[@]}"; do $i; done
 runHook postHook
 
 
diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel.nix b/pkgs/stdenv/linux/bootstrap/armv5tel.nix
new file mode 100644
index 00000000000..6d18b3bd8cb
--- /dev/null
+++ b/pkgs/stdenv/linux/bootstrap/armv5tel.nix
@@ -0,0 +1,44 @@
+let
+
+  fetch = { file, sha256 }: import <nix/fetchurl.nix> {
+    url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/${file}";
+    inherit sha256;
+    executable = true;
+  };
+
+in {
+  sh = fetch {
+    file = "sh";
+    sha256 = "1kv3gc8h209rjc5i0rzzc4pjxq23kzq25iff89in05c9vl20mn4n";
+  };
+
+  bzip2 = fetch {
+    file = "bzip2";
+    sha256 = "090jrj099wl33q0iq092iljilam39pv8acli59m2af0fa9z0d9f0";
+  };
+
+  mkdir = fetch {
+    file = "mkdir";
+    sha256 = "01s8myfvi559dsxvbanxw71vxzjv49k4gi1qh0ak6l0qx0xq602b";
+  };
+
+  cpio = fetch {
+    file = "cpio";
+    sha256 = "07snc8l0mn84w2xrvdmc5yfpmlbrvl2bar8wipbpvm43nzz2qbzs";
+  };
+
+  ln = fetch {
+    file = "ln";
+    sha256 = "0m9fz02bashpfgwfkxmrp4wa8a5r3il52bclvf6z36vsam0vx56d";
+  };
+
+  curl = fetch {
+    file = "curl.bz2";
+    sha256 = "19yqdjqi31zlnqn8ss2ml60iq2a1vrwfw6dmvjqp6qbxmh7yb8n8";
+  };
+
+  bootstrapTools = {
+    url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/bootstrap-tools.cpio.bz2";
+    sha256 = "1rn4n5kilqmv62dfjfcscbsm0w329k3gyb2v9155fsi1sl2cfzcb";
+  };
+}
diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/bzip2 b/pkgs/stdenv/linux/bootstrap/armv5tel/bzip2
deleted file mode 100755
index 5c9be292fe8..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/bzip2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/cpio b/pkgs/stdenv/linux/bootstrap/armv5tel/cpio
deleted file mode 100755
index 3d69f9e5bd8..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/cpio
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2 b/pkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2
deleted file mode 100755
index 1f2985bd347..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix b/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix
deleted file mode 100644
index 1d4d53a38ee..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  sh = ./sh;
-  bzip2 = ./bzip2;
-  mkdir = ./mkdir;
-  cpio = ./cpio;
-  ln = ./ln;
-  curl = ./curl.bz2;
-
-  bootstrapTools = {
-    url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/bootstrap-tools.cpio.bz2";
-    sha256 = "1rn4n5kilqmv62dfjfcscbsm0w329k3gyb2v9155fsi1sl2cfzcb";
-  };
-}
diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/ln b/pkgs/stdenv/linux/bootstrap/armv5tel/ln
deleted file mode 100755
index f2c0db16401..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/ln
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/mkdir b/pkgs/stdenv/linux/bootstrap/armv5tel/mkdir
deleted file mode 100755
index c551673d32a..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/mkdir
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/sh b/pkgs/stdenv/linux/bootstrap/armv5tel/sh
deleted file mode 100755
index 74d82aa94f2..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv5tel/sh
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/armv6l.nix b/pkgs/stdenv/linux/bootstrap/armv6l.nix
new file mode 100644
index 00000000000..85b86835905
--- /dev/null
+++ b/pkgs/stdenv/linux/bootstrap/armv6l.nix
@@ -0,0 +1,11 @@
+# Use the static tools for armv5tel-linux.
+(import ./armv5tel.nix) //
+
+{
+  bootstrapTools = {
+    # Built from make-bootstrap-tools-crosspi.nix
+    # nixpkgs rev eb0422e4c1263a65a9b2b954fe10a1e03d67db3e
+    url = http://viric.name/tmp/nix/pi/bootstrap-tools.cpio.bz2;
+    sha256 = "1zb27x5h54k51yrvn3sy4wb1qprx8iv2kfbgklxwc0mcxp9b7ccd";
+  };
+}
diff --git a/pkgs/stdenv/linux/bootstrap/armv6l/default.nix b/pkgs/stdenv/linux/bootstrap/armv6l/default.nix
deleted file mode 100644
index ecda6be8bd3..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv6l/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  sh = ../armv5tel/sh;
-  bzip2 = ../armv5tel/bzip2;
-  mkdir = ../armv5tel/mkdir;
-  cpio = ../armv5tel/cpio;
-  ln = ../armv5tel/ln;
-  curl = ../armv5tel/curl.bz2;
-
-  bootstrapTools = {
-    # Built from make-bootstrap-tools-crosspi.nix
-    # nixpkgs rev eb0422e4c1263a65a9b2b954fe10a1e03d67db3e
-    url = http://viric.name/tmp/nix/pi/bootstrap-tools.cpio.bz2;
-    sha256 = "1zb27x5h54k51yrvn3sy4wb1qprx8iv2kfbgklxwc0mcxp9b7ccd";
-  };
-}
diff --git a/pkgs/stdenv/linux/bootstrap/armv7l/default.nix b/pkgs/stdenv/linux/bootstrap/armv7l/default.nix
deleted file mode 100644
index 0fc2002068e..00000000000
--- a/pkgs/stdenv/linux/bootstrap/armv7l/default.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-# rely on ARM backward compatibility to build armv7l binaries with the
-# bootstrap tools of armv5tel.
-import ../armv5tel
\ No newline at end of file
diff --git a/pkgs/stdenv/linux/bootstrap/i686.nix b/pkgs/stdenv/linux/bootstrap/i686.nix
new file mode 100644
index 00000000000..7b6b3ee8034
--- /dev/null
+++ b/pkgs/stdenv/linux/bootstrap/i686.nix
@@ -0,0 +1,39 @@
+let
+
+  fetch = { file, sha256 }: import <nix/fetchurl.nix> {
+    url = "http://tarballs.nixos.org/stdenv-linux/i686/r24519/${file}";
+    inherit sha256;
+    executable = true;
+  };
+
+in {
+  sh = fetch {
+    file = "sh";
+    sha256 = "1l6sdhyqjlh4m5gj3pfpi8aisp1m012lpwxfcc4v1x8g429mflmy";
+  };
+
+  bzip2 = fetch {
+    file = "bzip2";
+    sha256 = "1p5nkrdn52jm6rsx8x3wwjpsh83f2qsjl1qckkgnkplwhj23zjp7";
+  };
+
+  mkdir = fetch {
+    file = "mkdir";
+    sha256 = "02ff7i9ph9ahiapsg2v9c3pwr7sl73sk4n7ic112ljkrgwkail33";
+  };
+
+  cpio = fetch {
+    file = "cpio";
+    sha256 = "046if3aqqramyhrn2yxrjf4bfkl8x1bcqxhvi7ml9nrv9smx8irg";
+  };
+
+  curl = fetch {
+    file = "curl.bz2";
+    sha256 = "1v0yfb4gcdyqpl2fxlxjh337r28c23iqm7vwck4p4643xd55di7q";
+  };
+
+  bootstrapTools = {
+    url = http://tarballs.nixos.org/stdenv-linux/i686/r24519/bootstrap-tools.cpio.bz2;
+    sha256 = "0imypaxy6piwbk8ff2y1nr7yk49pqmdgdbv6g8miq1zs5yfip6ij";
+  };
+}
diff --git a/pkgs/stdenv/linux/bootstrap/i686/bzip2 b/pkgs/stdenv/linux/bootstrap/i686/bzip2
deleted file mode 100755
index 6cd5273c333..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/bzip2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/i686/cpio b/pkgs/stdenv/linux/bootstrap/i686/cpio
deleted file mode 100755
index 387b67664f6..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/cpio
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/i686/curl.bz2 b/pkgs/stdenv/linux/bootstrap/i686/curl.bz2
deleted file mode 100755
index a6dd7502b5a..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/curl.bz2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/i686/default.nix b/pkgs/stdenv/linux/bootstrap/i686/default.nix
deleted file mode 100644
index dc4fee1becc..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  sh = ./sh;
-  bzip2 = ./bzip2;
-  mkdir = ./mkdir;
-  cpio = ./cpio;
-  ln = ./ln;
-  curl = ./curl.bz2;
-
-  bootstrapTools = {
-    url = http://tarballs.nixos.org/stdenv-linux/i686/r24519/bootstrap-tools.cpio.bz2;
-    sha256 = "0imypaxy6piwbk8ff2y1nr7yk49pqmdgdbv6g8miq1zs5yfip6ij";
-  };
-}
diff --git a/pkgs/stdenv/linux/bootstrap/i686/ln b/pkgs/stdenv/linux/bootstrap/i686/ln
deleted file mode 100755
index 57ddcf8dcf7..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/ln
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/i686/mkdir b/pkgs/stdenv/linux/bootstrap/i686/mkdir
deleted file mode 100755
index 18c35db0aff..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/mkdir
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/i686/sh b/pkgs/stdenv/linux/bootstrap/i686/sh
deleted file mode 100755
index 13e681ed1a9..00000000000
--- a/pkgs/stdenv/linux/bootstrap/i686/sh
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/loongson2f.nix b/pkgs/stdenv/linux/bootstrap/loongson2f.nix
new file mode 100644
index 00000000000..8e22a274974
--- /dev/null
+++ b/pkgs/stdenv/linux/bootstrap/loongson2f.nix
@@ -0,0 +1,44 @@
+let
+
+  fetch = { file, sha256 }: import <nix/fetchurl.nix> {
+    url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/${file}";
+    inherit sha256;
+    executable = true;
+  };
+
+in {
+  sh = fetch {
+    file = "sh";
+    sha256 = "02jjl49wdq85pgh61aqf78yaknn9mi3rcspbpk7hs9c4mida2rhf";
+  };
+
+  bzip2 = fetch {
+    file = "bzip2";
+    sha256 = "1qn27y3amj9c6mnjk2kyb59y0d2w4yv16z9apaxx91hyq19gf29z";
+  };
+
+  mkdir = fetch {
+    file = "mkdir";
+    sha256 = "1vbp2bv9hkyb2fwl8hjrffpywn1wrl1kc4yrwi2lirawlnc6kymh";
+  };
+
+  cpio = fetch {
+    file = "cpio";
+    sha256 = "0mqxwdx0sl7skxx6049mk35l7d0fnibqsv174284kdp4p7iixwa0";
+  };
+
+  ln = fetch {
+    file = "ln";
+    sha256 = "05lwx8qvga3yv8xhs8bjgsfygsfrcxsfck0lxw6gsdckx25fgi7s";
+  };
+
+  curl = fetch {
+    file = "curl.bz2";
+    sha256 = "0iblnz4my54gryac04i64fn3ksi9g3dx96yjq93fj39z6kx6151c";
+  };
+
+  bootstrapTools = {
+    url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/cross-bootstrap-tools.cpio.bz2";
+    sha256 = "00aavbk76qjj2gdlmpaaj66r8nzl4d7pyl8cv1gigyzgpbr5vv3j";
+  };
+}
diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2 b/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2
deleted file mode 100755
index f86964d119c..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/cpio b/pkgs/stdenv/linux/bootstrap/loongson2f/cpio
deleted file mode 100755
index bf6fd66be23..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/cpio
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2 b/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2
deleted file mode 100755
index f227a24bf71..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix b/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix
deleted file mode 100644
index b9a294e1332..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  sh = ./sh;
-  bzip2 = ./bzip2;
-  mkdir = ./mkdir;
-  cpio = ./cpio;
-  ln = ./ln;
-  curl = ./curl.bz2;
-
-  bootstrapTools = {
-    url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/cross-bootstrap-tools.cpio.bz2";
-    sha256 = "00aavbk76qjj2gdlmpaaj66r8nzl4d7pyl8cv1gigyzgpbr5vv3j";
-  };
-}
diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/ln b/pkgs/stdenv/linux/bootstrap/loongson2f/ln
deleted file mode 100755
index d8afd276424..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/ln
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/mkdir b/pkgs/stdenv/linux/bootstrap/loongson2f/mkdir
deleted file mode 100755
index 3a95ccf18d6..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/mkdir
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/sh b/pkgs/stdenv/linux/bootstrap/loongson2f/sh
deleted file mode 100755
index f8ef0a74d6b..00000000000
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/sh
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/powerpc/bash b/pkgs/stdenv/linux/bootstrap/powerpc/bash
deleted file mode 100755
index 7e3e0a5c79b..00000000000
--- a/pkgs/stdenv/linux/bootstrap/powerpc/bash
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/powerpc/bzip2 b/pkgs/stdenv/linux/bootstrap/powerpc/bzip2
deleted file mode 100755
index a9eb626e1ca..00000000000
--- a/pkgs/stdenv/linux/bootstrap/powerpc/bzip2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/powerpc/cp b/pkgs/stdenv/linux/bootstrap/powerpc/cp
deleted file mode 100755
index 972a653851c..00000000000
--- a/pkgs/stdenv/linux/bootstrap/powerpc/cp
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/powerpc/curl.bz2 b/pkgs/stdenv/linux/bootstrap/powerpc/curl.bz2
deleted file mode 100755
index 4f0d64341e8..00000000000
--- a/pkgs/stdenv/linux/bootstrap/powerpc/curl.bz2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/powerpc/default.nix b/pkgs/stdenv/linux/bootstrap/powerpc/default.nix
deleted file mode 100644
index d3569362b6c..00000000000
--- a/pkgs/stdenv/linux/bootstrap/powerpc/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  bash = ./bash;
-  bzip2 = ./bzip2;
-  cp = ./cp;
-  curl = ./curl.bz2;
-  tar = ./tar.bz2;
-
-  staticToolsURL = {
-    url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/static-tools.tar.bz2;
-    sha1 = "e4d1680e3dfa752e49a996a31140db53b10061cb";
-  };
-
-  binutilsURL = {
-    url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/binutils.tar.bz2;
-    sha1 = "2609f4d9277a60fcd178395d3d49911190e08f36";
-  };
-
-  gccURL = {
-    url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/gcc.tar.bz2;
-    sha1 = "71d79d736bfef6252208fe6239e528a591becbed";
-  };
-
-  glibcURL = {
-    url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/glibc.tar.bz2;
-    sha1 = "bf0245e16235800c8aa9c6a5de6565583a66e46d";
-  };
-}
diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/tar.bz2 b/pkgs/stdenv/linux/bootstrap/powerpc/tar.bz2
deleted file mode 100755
index c014e9cc044..00000000000
--- a/pkgs/stdenv/linux/bootstrap/powerpc/tar.bz2
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/linux/bootstrap/x86_64.nix b/pkgs/stdenv/linux/bootstrap/x86_64.nix
new file mode 100644
index 00000000000..71961e6961e
--- /dev/null
+++ b/pkgs/stdenv/linux/bootstrap/x86_64.nix
@@ -0,0 +1,10 @@
+# Use the static tools for i686-linux.  They work on x86_64-linux
+# machines as well.
+(import ./i686.nix) //
+
+{
+  bootstrapTools = {
+    url = http://tarballs.nixos.org/stdenv-linux/x86_64/r23302/bootstrap-tools.cpio.bz2;
+    sha256 = "0w89kqhx47yl0jifp2vffp073pyrqha5f312kp971smi4h41drna";
+  };
+}
diff --git a/pkgs/stdenv/linux/bootstrap/x86_64/default.nix b/pkgs/stdenv/linux/bootstrap/x86_64/default.nix
deleted file mode 100644
index eb8c1834a3a..00000000000
--- a/pkgs/stdenv/linux/bootstrap/x86_64/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-# Use the static tools for i686-linux.  They work on x86_64-linux
-# machines as well.
-(import ../i686) //
-
-{
-  bootstrapTools = {
-    url = http://tarballs.nixos.org/stdenv-linux/x86_64/r23302/bootstrap-tools.cpio.bz2;
-    sha256 = "0w89kqhx47yl0jifp2vffp073pyrqha5f312kp971smi4h41drna";
-  };
-}
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 8714afa0358..c6b2bb6ef0c 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -11,14 +11,15 @@
 
 rec {
 
+  lib = import ../../../lib;
+
   bootstrapFiles =
-    if system == "i686-linux" then import ./bootstrap/i686
-    else if system == "x86_64-linux" then import ./bootstrap/x86_64
-    else if system == "powerpc-linux" then import ./bootstrap/powerpc
-    else if system == "armv5tel-linux" then import ./bootstrap/armv5tel
-    else if system == "armv6l-linux" then import ./bootstrap/armv6l
-    else if system == "armv7l-linux" then import ./bootstrap/armv5tel
-    else if system == "mips64el-linux" then import ./bootstrap/loongson2f
+    if system == "i686-linux" then import ./bootstrap/i686.nix
+    else if system == "x86_64-linux" then import ./bootstrap/x86_64.nix
+    else if system == "armv5tel-linux" then import ./bootstrap/armv5tel.nix
+    else if system == "armv6l-linux" then import ./bootstrap/armv6l.nix
+    else if system == "armv7l-linux" then import ./bootstrap/armv6l.nix
+    else if system == "mips64el-linux" then import ./bootstrap/loongson2f.nix
     else abort "unsupported platform for the pure Linux stdenv";
 
 
@@ -38,19 +39,6 @@ rec {
   # of coreutils, GCC, etc.
 
 
-  # This function downloads a file.
-  download = {url, sha256}: derivation {
-    name = baseNameOf (toString url);
-    builder = bootstrapFiles.sh;
-    inherit system url;
-    inherit (bootstrapFiles) bzip2 mkdir curl cpio ln;
-    args = [ ./scripts/download.sh ];
-    outputHashAlgo = "sha256";
-    outputHash = sha256;
-    impureEnvVars = [ "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" ];
-  };
-
-
   # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...).
   bootstrapTools = derivation {
     name = "bootstrap-tools";
@@ -58,13 +46,15 @@ rec {
     builder = bootstrapFiles.sh;
 
     args =
-      if (system == "armv5tel-linux" || system == "armv6l-linux")
+      if system == "armv5tel-linux" || system == "armv6l-linux" 
+        || system == "armv7l-linux"
       then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
       else [ ./scripts/unpack-bootstrap-tools.sh ];
 
+    # FIXME: get rid of curl.
     inherit (bootstrapFiles) bzip2 mkdir curl cpio;
 
-    tarball = download {
+    tarball = import <nix/fetchurl.nix> {
       inherit (bootstrapFiles.bootstrapTools) url sha256;
     };
 
@@ -133,9 +123,9 @@ rec {
 
   # A helper function to call gcc-wrapper.
   wrapGCC =
-    {gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper"}:
+    { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }:
 
-    import ../../build-support/gcc-wrapper {
+    lib.makeOverridable (import ../../build-support/gcc-wrapper) {
       nativeTools = false;
       nativeLibc = false;
       inherit gcc binutils coreutils libc shell name;
@@ -165,12 +155,14 @@ rec {
     bootStdenv = stdenvLinuxBoot1;
   };
 
+  binutils1 = stdenvLinuxBoot1Pkgs.binutils.override { gold = false; };
 
-  # 3) 2nd stdenv that we will use to build only the glibc.
+
+  # 3) 2nd stdenv that we will use to build only Glibc.
   stdenvLinuxBoot2 = stdenvBootFun {
     gcc = wrapGCC {
       libc = bootstrapGlibc;
-      binutils = stdenvLinuxBoot1Pkgs.binutils;
+      binutils = binutils1;
       coreutils = bootstrapTools;
     };
     overrides = pkgs: {
@@ -181,7 +173,7 @@ rec {
 
 
   # 4) These are the packages that we can build with the 2nd
-  #    stdenv.  We only need Glibc (in step 5).
+  #    stdenv.
   stdenvLinuxBoot2Pkgs = allPackages {
     inherit system platform;
     bootStdenv = stdenvLinuxBoot2;
@@ -198,7 +190,7 @@ rec {
   #    binutils and the rest of the bootstrap tools, including GCC.
   stdenvLinuxBoot3 = stdenvBootFun {
     gcc = wrapGCC {
-      binutils = stdenvLinuxBoot1Pkgs.binutils;
+      binutils = binutils1;
       coreutils = bootstrapTools;
       libc = stdenvLinuxGlibc;
     };
@@ -215,6 +207,10 @@ rec {
       cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
     };
+    extraAttrs = {
+      glibc = stdenvLinuxGlibc;   # Required by gcc47 build
+    };
+    extraPath = [ stdenvLinuxBoot1Pkgs.paxctl ];
     inherit fetchurl;
   };
 
@@ -227,12 +223,11 @@ rec {
 
 
   # 8) Construct a fourth stdenv identical to the second, except that
-  #    this one uses the dynamically linked GCC and Binutils from step
-  #    5.  The other tools (e.g. coreutils) are still from the
-  #    bootstrap tools.
+  #    this one uses the new GCC from step 7.  The other tools
+  #    (e.g. coreutils) are still from the bootstrap tools.
   stdenvLinuxBoot4 = stdenvBootFun {
     gcc = wrapGCC rec {
-      inherit (stdenvLinuxBoot3Pkgs) binutils;
+      binutils = binutils1;
       coreutils = bootstrapTools;
       libc = stdenvLinuxGlibc;
       gcc = stdenvLinuxBoot3Pkgs.gcc.gcc;
@@ -254,9 +249,9 @@ rec {
   };
 
 
-  # 10) Construct the final stdenv.  It uses the Glibc, GCC and
-  #     Binutils built above, and adds in dynamically linked versions
-  #     of all other tools.
+  # 10) Construct the final stdenv.  It uses the Glibc and GCC, and
+  #     adds in a new binutils that doesn't depend on bootstrap-tools,
+  #     as well as dynamically linked versions of all other tools.
   #
   #     When updating stdenvLinux, make sure that the result has no
   #     dependency (`nix-store -qR') on bootstrapTools or the
@@ -264,15 +259,20 @@ rec {
   stdenvLinux = import ../generic rec {
     inherit system config;
 
-    preHook = commonPreHook;
+    preHook =
+      ''
+        # Make "strip" produce deterministic output, by setting
+        # timestamps etc. to a fixed value.
+        commonStripFlags="--enable-deterministic-archives"
+        ${commonPreHook}
+      '';
 
     initialPath =
       ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;})
-      ++ [stdenvLinuxBoot4Pkgs.patchelf];
+      ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ];
 
     gcc = wrapGCC rec {
-      inherit (stdenvLinuxBoot3Pkgs) binutils;
-      inherit (stdenvLinuxBoot4Pkgs) coreutils;
+      inherit (stdenvLinuxBoot4Pkgs) binutils coreutils;
       libc = stdenvLinuxGlibc;
       gcc = stdenvLinuxBoot4.gcc.gcc;
       shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
@@ -291,11 +291,12 @@ rec {
 
     overrides = pkgs: {
       inherit gcc;
-      inherit (stdenvLinuxBoot3Pkgs) binutils glibc;
+      inherit (stdenvLinuxBoot3Pkgs) glibc;
+      inherit (stdenvLinuxBoot4Pkgs) binutils;
       inherit (stdenvLinuxBoot4Pkgs)
         gzip bzip2 xz bash coreutils diffutils findutils gawk
         gnumake gnused gnutar gnugrep gnupatch patchelf
-        attr acl pcre;
+        attr acl pcre paxctl;
     };
   };
 
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
index 9b2949e3e36..3abffc46926 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
@@ -73,7 +73,7 @@ let
   patch = pkgs.patch.crossDrv;
   patchelf = pkgs.patchelf.crossDrv;
   replace = pkgs.replace.crossDrv;
-  gcc = pkgs.gcc47;
+  gcc = pkgs.gcc;
   gmp = pkgs.gmp.crossDrv;
   mpfr = pkgs.mpfr.crossDrv;
   ppl = pkgs.ppl.crossDrv;
@@ -83,7 +83,7 @@ let
   isl = pkgs.isl.crossDrv;
   mpc = pkgs.mpc.crossDrv;
   binutils = pkgs.binutils.crossDrv;
-  klibc = pkgs.klibc.crossDrv;
+  klibc = pkgs.linuxPackages.klibc.crossDrv;
 
 in
 
@@ -116,7 +116,7 @@ rec {
 
       buildCommand = ''
 	set -x
-        ensureDir $out/bin $out/lib $out/libexec
+        mkdir -p $out/bin $out/lib $out/libexec
 
         # Copy what we need of Glibc.
         cp -d ${glibc}/lib/ld-*.so* $out/lib
diff --git a/pkgs/stdenv/linux/scripts/download.sh b/pkgs/stdenv/linux/scripts/download.sh
deleted file mode 100644
index e7594f208ea..00000000000
--- a/pkgs/stdenv/linux/scripts/download.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-set -e
-
-$ln -s $curl curl.bz2
-$bzip2 -d -f curl.bz2
-./curl --version
-
-echo "downloading $out from $url"
-./curl --fail --location --max-redirs 20 "$url" > "$out"
diff --git a/pkgs/stdenv/mingw/builder.sh b/pkgs/stdenv/mingw/builder.sh
deleted file mode 100755
index 5a9f9749a4f..00000000000
--- a/pkgs/stdenv/mingw/builder.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# the other stdenv could change the SHELL variable,
-# so we have to remember its value.
-origShell=$SHELL
-origGcc=$GCC
-
-source $STDENV/setup
-
-mkdir $OUT
-
-SHELL=$origShell
-GCC=$origGcc
-
-export NIX_BUILD_TOP=$(pwd)
-
-substitute "$SETUP" "$OUT/setup" \
-    --subst-var INITIALPATH \
-    --subst-var GCC \
-    --subst-var SHELL
diff --git a/pkgs/stdenv/mingw/cygpath/builder.sh b/pkgs/stdenv/mingw/cygpath/builder.sh
deleted file mode 100755
index 3061900ee0c..00000000000
--- a/pkgs/stdenv/mingw/cygpath/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-mkdir $out
-result="$(cygpath --mixed $path)"
-echo "\"$result\"" > $out/default.nix
diff --git a/pkgs/stdenv/mingw/cygpath/default.nix b/pkgs/stdenv/mingw/cygpath/default.nix
deleted file mode 100644
index a0554c1d41d..00000000000
--- a/pkgs/stdenv/mingw/cygpath/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{stdenv}: path :
-
-import (
-  stdenv.mkDerivation {
-    name = "cygpath";
-    builder = ./builder.sh;
-    inherit path;
-  }
-)
diff --git a/pkgs/stdenv/mingw/default-builder.sh b/pkgs/stdenv/mingw/default-builder.sh
deleted file mode 100755
index 422699971ed..00000000000
--- a/pkgs/stdenv/mingw/default-builder.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-source $STDENV/setup
-genericBuild
diff --git a/pkgs/stdenv/mingw/default.nix b/pkgs/stdenv/mingw/default.nix
deleted file mode 100644
index 947db5f10a8..00000000000
--- a/pkgs/stdenv/mingw/default.nix
+++ /dev/null
@@ -1,233 +0,0 @@
-{system} :
-
-let {
-  body =
-    stdenvFinal;
-
-  /**
-   * Initial standard environment based on native Cygwin tools.
-   * GCC is not required.
-   * Required (approx): bash, mkdir, gnu tar, curl.
-   */
-  stdenvInit1 =
-    import ./simple-stdenv {
-      inherit system;
-      name = "stdenv-init1-mingw";
-      shell = "/bin/bash.exe";
-      path = ["/usr/bin" "/bin" "/usr/local/bin"];
-    };
-
-  /**
-   * Initial standard environment based on MSYS tools.
-   */
-  stdenvInit2 =
-    import ./simple-stdenv {
-      inherit system;
-      name = "stdenv-init2-mingw";
-      shell = msysShell;
-      path = [(msys + "/bin")];
-    };
-
-  /**
-   * Initial standard environment with the most basic MinGW packages.
-   */
-  stdenvInit3 =
-    (import ./simple-stdenv) {
-      inherit system;
-      name = "stdenv-init3-mingw";
-      shell = msysShell;
-      path = [
-        (make + "/bin")
-        (tar + "/bin")
-        (binutils + "/bin")
-        (gccFull + "/bin")
-        (mingwRuntimeBin + "/bin")
-        (w32apiBin + "/bin")
-        (msys + "/bin")
-      ];
-
-      extraEnv = {
-        C_INCLUDE_PATH = mingwRuntimeBin + "/include" + ":" + w32apiBin + "/include";
-        LIBRARY_PATH = mingwRuntimeBin + "/lib" + ":" + w32apiBin + "/lib";
-      };
-    };
-
-  /**
-   * Final standard environment, based on generic stdenv.
-   * It would be better to make the generic stdenv usable on
-   * MINGW (i.e. make all environment variables CAPS).
-   */
-  stdenvFinal =
-    let {
-      body =
-        stdenv // mkDerivationFun // {
-          inherit fetchurl;
-          overrides.pkgconfig = pkgconfigBin;
-        };
-
-      shell =
-        msys + "/bin/sh.exe";
-
-      stdenv =
-        stdenvInit2.mkDerivation {
-          name = "stdenv-mingw";
-          builder = ./builder.sh;
-          setup = ./setup.sh;
-
-          /**
-           * binutils is on the path because it contains dlltool, which
-           * is invoked on the PATH by some packages.
-           */
-          initialPath = [make tar binutils gccFull mingwRuntimeSrc w32apiSrc msys];
-          gcc = gccFull;
-          shell = msysShell;
-          inherit curl;
-          isDarwin = false;
-          isMinGW = true;
-        };
-
-      mkDerivationFun = {
-        mkDerivation = attrs:
-          (derivation (
-            (removeAttrs attrs ["meta"])
-            //
-            {
-              builder =
-                if attrs ? realBuilder then attrs.realBuilder else shell;
-              args =
-                if attrs ? args then
-                  attrs.args
-                 else
-                  ["-e"] ++ (
-                    if attrs ? builder then
-                      [./fix-builder.sh attrs.builder]
-                    else
-                      [./fix-builder.sh ./default-builder.sh]
-                    );
-              inherit stdenv system;
-              C_INCLUDE_PATH = mingwRuntimeSrc + "/include" + ":" + w32apiSrc + "/include";
-              CPLUS_INCLUDE_PATH = mingwRuntimeSrc + "/include" + ":" + w32apiSrc + "/include";
-              LIBRARY_PATH = mingwRuntimeSrc + "/lib" + ":" + w32apiSrc + "/lib";
-            })
-          )
-          // { meta = if attrs ? meta then attrs.meta else {}; };
-       };
-     };
-
-  /**
-   * fetchurl
-   */
-  fetchurlInit1 =
-    import ../../build-support/fetchurl {
-      stdenv = stdenvInit1;
-      curl =
-        (import ./pkgs).curl {
-          stdenv = stdenvInit1;
-        };
-    };
-
-  cygpath =
-    import ./cygpath {
-      stdenv = stdenvInit1;
-    };
-
-  /**
-   * Hack: we need the cygpath of the Cygwin chmod.
-   */
-  fetchurl =
-    import ./fetchurl {
-      stdenv = stdenvInit2;
-      curl = curl + "/bin/curl.exe";
-      chmod = cygpath "/usr/bin/chmod";
-    };
-
-  /**
-   * MSYS, installed using stdenvInit1
-   *
-   * @todo Maybe remove the make of msys?
-   */
-  msys =
-    stdenvInit1.mkDerivation {
-      name = "msys-1.0.11";
-      builder = ./msys-builder.sh;
-      src =
-        fetchurlInit1 {
-          url = ftp://ftp.strategoxt.org/pub/mingw/msys-1.0.11.tar.gz;
-          sha256 = "08qp4jk279i66q6ngksg58fx3cfv1r6p5n394h2kfrs56qs9zvz4";
-        };
-    };
-
-  msysShell = 
-    msys + "/bin/sh.exe";
-
-  /**
-   * Binary packages, based on stdenvInit2
-   */
-  curl =
-    (import ./pkgs).curl {
-      stdenv = stdenvInit2;
-    };
-
-  gccFull =
-    (import ./pkgs).gccFull {
-      stdenv = stdenvInit2;
-      inherit fetchurl;
-    };
-
-  make =
-   (import ./pkgs).make {
-     stdenv = stdenvInit2;
-     inherit fetchurl;
-   };
-
-  tar =
-   (import ./pkgs).tar {
-     stdenv = stdenvInit2;
-     inherit fetchurl;
-   };
-
-  binutils =
-   (import ./pkgs).binutils {
-     stdenv = stdenvInit2;
-     inherit fetchurl;
-    };
-
-  mingwRuntimeBin =
-    (import ./pkgs).mingwRuntimeBin {
-      stdenv = stdenvInit2;
-      inherit fetchurl;
-    };
-
-  w32apiBin =
-    (import ./pkgs).w32apiBin {
-      stdenv = stdenvInit2;
-      inherit fetchurl;
-    };
-
-  pkgconfigBin =
-    (import ./pkgs).pkgconfigBin {
-      stdenv = stdenvInit3;
-      inherit fetchurl;
-    };
-
-  /**
-   * Source packages, based on stdenvInit3
-   */
-  mingwRuntimeSrc =
-    (import ./pkgs).mingwRuntimeSrc {
-      stdenv = stdenvInit3;
-      inherit fetchurl;
-    };
-
-  w32apiSrc =
-    (import ./pkgs).w32apiSrc {
-      stdenv = stdenvInit3;
-      inherit fetchurl;
-    };
-
-  replace =
-    (import ./pkgs).replace {
-      stdenv = stdenvInit3;
-      inherit fetchurl;
-    };
-}
diff --git a/pkgs/stdenv/mingw/fetchurl/builder.sh b/pkgs/stdenv/mingw/fetchurl/builder.sh
deleted file mode 100755
index e9f2669a097..00000000000
--- a/pkgs/stdenv/mingw/fetchurl/builder.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-if test -z "$out"; then
-  stdenv="$STDENV"
-  url="$URL"
-  id="$ID"
-  outputHashAlgo="$OUTPUTHASHALGO"
-  outputHash="$OUTPUTHASH"
-  chmod=$CHMOD
-  curl=$CURL
-fi
-
-source $stdenv/setup
-
-if test -z "$out"; then
-  out="$OUT"
-fi
-
-header "downloading $out from $url"
-$curl --fail --location --max-redirs 20 "$url" > "$out"
-
-if test "$NIX_OUTPUT_CHECKED" != "1"; then
-    if test "$outputHashAlgo" != "md5"; then
-        echo "hashes other than md5 are unsupported in Nix <= 0.7, upgrade to Nix 0.8"
-        exit 1
-    fi
-    actual=$(md5sum -b "$out" | cut -c1-32)
-    if test "$actual" != "$id"; then
-        echo "hash is $actual, expected $id"
-        exit 1
-    fi
-fi
-
-$chmod a-x $out
-
-stopNest
diff --git a/pkgs/stdenv/mingw/fetchurl/default.nix b/pkgs/stdenv/mingw/fetchurl/default.nix
deleted file mode 100644
index b4d278b2686..00000000000
--- a/pkgs/stdenv/mingw/fetchurl/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{stdenv, curl, chmod}:
-
-{url, outputHash ? "", outputHashAlgo ? "", md5 ? "", sha1 ? "", sha256 ? ""}:
-
-assert (outputHash != "" && outputHashAlgo != "")
-    || md5 != "" || sha1 != "" || sha256 != "";
-
-stdenv.mkDerivation {
-  name = baseNameOf (toString url);
-  builder = ./builder.sh;
-
-  # Compatibility with Nix <= 0.7.
-  id = md5;
-
-  # New-style output content requirements.
-  outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else
-      if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
-  outputHash = if outputHash != "" then outputHash else
-      if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
-  
-  inherit url chmod curl;
-
-  # We borrow these environment variables from the caller to allow
-  # easy proxy configuration.  This is impure, but a fixed-output
-  # derivation like fetchurl is allowed to do so since its result is
-  # by definition pure.
-  impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
-}
diff --git a/pkgs/stdenv/mingw/fix-builder.sh b/pkgs/stdenv/mingw/fix-builder.sh
deleted file mode 100755
index 09d933bd17b..00000000000
--- a/pkgs/stdenv/mingw/fix-builder.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-# Workaround MSYS shell problem
-
-if test -z "$out"; then
-  buildInputs=$BUILDINPUTS
-  buildUtilities=$BUILDUTILITIES
-  configureFlags=$CONFIGUREFLAGS
-  doCheck=$DOCHECK
-  doCoverageAnalysis=$DOCOVERAGEANALYSIS
-  dontInstall=$DONTINSTALL
-  dontLogThroughTee=$DONTLOGTHROUGHTEE
-  lcov=$LCOV
-  logPhases=$LOGPHASES
-  out=$OUT
-  patches=$PATCHES
-  propagatedBuildInputs=$PROPAGATEDBUILDINPUTS
-  stdenv=$STDENV
-  src=$SRC
-  srcs=$SRCS
-  succeedOnFailure=$SUCCEEDONFAILURE
-  system=$SYSTEM
-fi
-
-source $@
diff --git a/pkgs/stdenv/mingw/msys-builder.sh b/pkgs/stdenv/mingw/msys-builder.sh
deleted file mode 100644
index a801e7fbcab..00000000000
--- a/pkgs/stdenv/mingw/msys-builder.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-source $stdenv/setup
-
-mkdir $out
-cd $out
-tar zxvf $src
-
-# Make the Nix store available to MSYS.
-# Hack: we are assuming that the stdenv is based on Cygwin.
-
-nixdir="$(cygpath --windows /nix)"
-mkdir $out/nix
-cat > $out/etc/fstab <<EOF
-#Win32_Path      Mount_Point
-$nixdir          /nix
-EOF
diff --git a/pkgs/stdenv/mingw/pkgs/bin-builder.sh b/pkgs/stdenv/mingw/pkgs/bin-builder.sh
deleted file mode 100644
index f4f21d50a45..00000000000
--- a/pkgs/stdenv/mingw/pkgs/bin-builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $STDENV/setup
-
-mkdir $OUT
-cd $OUT
-tar zxvf $SRC
diff --git a/pkgs/stdenv/mingw/pkgs/curl.exe b/pkgs/stdenv/mingw/pkgs/curl.exe
deleted file mode 100755
index 0a02fa0af5c..00000000000
--- a/pkgs/stdenv/mingw/pkgs/curl.exe
+++ /dev/null
Binary files differdiff --git a/pkgs/stdenv/mingw/pkgs/default.nix b/pkgs/stdenv/mingw/pkgs/default.nix
deleted file mode 100644
index 5add5b6546e..00000000000
--- a/pkgs/stdenv/mingw/pkgs/default.nix
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- * MinGW packages.
- */
-rec {
-
-  /**
-   * Curl, binary
-   */
-  curl =  {stdenv} :
-    stdenv.mkDerivation {
-      name = "curl-7.15.4";
-      exename = "curl.exe";
-      builder = ./single-exe-builder.sh;
-      src = ./curl.exe;
-    };
-
-  /**
-   * Make. Binary.
-   */
-  make = {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "mingw-make-3.81";
-      builder = ./bin-builder.sh;
-      src = 
-        fetchurl {
-          url = http://surfnet.dl.sourceforge.net/sourceforge/mingw/mingw32-make-3.81-1.tar.gz;
-          md5 = "74c2f44ecc699b318edeb07d838feae5";
-        };
-    };
-
-  /**
-   * Tar
-   */
-  tar = {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "mingw-tar";
-      builder = ./bin-builder.sh;
-      src = 
-        fetchurl {
-          url = ftp://ftp.strategoxt.org/pub/mingw/tar-1.22-1-msys-1.0.11-bin.tar.gz;
-          sha256 = "17rbv159g56q3bp8rh5vzv8hw8clxs7vk731cgqg0vy1fzls6yfq";
-        };
-    };
-
-  /**
-   * GCC. Binary
-   */
-  gccFull =  {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "gcc-full-4.4.0-mingw32";
-      builder = ./bin-builder.sh;
-      src = 
-        fetchurl {
-          url = ftp://ftp.strategoxt.org/pub/mingw/gcc-full-4.4.0-mingw32-bin-2.tar.gz;
-          sha256= "6c5a125591837817c940f4c66140cd7393b3f5837dd738c7ed315157e6270a60";
-        };
-    };
-
-  /**
-   * binutils. Binary.
-   */
-  binutils =  {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "binutils-2.19.1-mingw32";
-      builder = ./bin-builder.sh;
-      src = 
-        fetchurl {
-          url = http://surfnet.dl.sourceforge.net/sourceforge/mingw/files/GNU%20Binutils/Current%20Release_%20GNU%20binutils-2.19.1/binutils-2.19.1-mingw32-bin.tar.gz;
-          sha256 = "037vh2n9iv2vccvplk48vd3al91p7yhc73p5nkfsrb6sg977shj2";
-        };
-    };
-
-  mingwRuntimeBin = {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "mingwrt-3.16";
-      builder = ./bin-builder.sh;
-      src = 
-        fetchurl {
-          url = http://surfnet.dl.sourceforge.net/sourceforge/mingw/files/MinGW%20Runtime/mingwrt-3.16/mingwrt-3.16-mingw32-dev.tar.gz;
-          sha256 = "1xqpp7lvsj88grs6jlk0fnlkvis2y4avcqrpwsaxxrpjlg5bwzci";
-        };
-    };
-
-  mingwRuntimeSrc = {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "mingwrt-3.16-mingw32";
-      builder = ./src-builder.sh;
-      src =
-        fetchurl {
-          url = http://surfnet.dl.sourceforge.net/sourceforge/mingw/files/MinGW%20Runtime/mingwrt-3.16/mingwrt-3.16-mingw32-src.tar.gz;
-          sha256 = "0rljw3v94z9wzfa63b7lvyprms5l5jgf11lws8vm8z7x7q7h1k38";
-        };
-    };
-
-  w32apiBin = {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "w32api-3.13-mingw32";
-      builder = ./bin-builder.sh;
-      src = 
-        fetchurl {
-          url = http://surfnet.dl.sourceforge.net/sourceforge/mingw/files/MinGW%20API%20for%20MS-Windows/Current%20Release_%20w32api-3.13/w32api-3.13-mingw32-dev.tar.gz;
-          sha256 = "19jm2hdym5ixi9b874xmmilixlpxvfdpi5y3bx0bs88fdah03gvx";
-        };
-    };
-
-  w32apiSrc = {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "w32api-3.13-mingw32";
-      builder = ./src-builder.sh;
-      src = 
-        fetchurl {
-          url = http://surfnet.dl.sourceforge.net/sourceforge/mingw/files/MinGW%20API%20for%20MS-Windows/Current%20Release_%20w32api-3.13/w32api-3.13-mingw32-src.tar.gz;
-          sha256 = "1i1gpwilfc21s3yr4sx39i0w4g7lbij427wwxa34gjfgz0awdkh2";
-        };
-    };
-
-  /**
-   * We need a binary pkg-config to bootstrap the compilation of
-   * glib and pkg-config: pkg-config needs glib, glib needs pkg-config.
-   *
-   * This tarball contains pkg-config and all its dependencies. Once we
-   * have bootstrapped pkg-config we really need to use a statically linked
-   * pkg-config (and provide this .exe at the web: it is really missing
-   * on the web).
-   */
-  pkgconfigBin =  {stdenv, fetchurl} :
-    stdenv.mkDerivation {
-      name = "pkgconfig-0.23";
-      builder = ./pkgconfig-builder.sh;
-      setupHook = ../../../development/tools/misc/pkgconfig/setup-hook.sh;
-      src =
-        fetchurl {
-          url = ftp://ftp.strategoxt.org/pub/mingw/pkg-config-0.23.tar.gz;
-          sha256 = "1vab3rdnw16nhma1bln41bbrn6phbpcv9wiz79map8y5znaiv6mq";
-        };
-    };
-
-  replace = {stdenv, fetchurl} :
-    import ../../../tools/text/replace {
-      inherit fetchurl stdenv;
-    };
-
-  /*
-  pkgs.coreutils
-  pkgs.findutils
-  pkgs.diffutils
-  pkgs.gnused
-  pkgs.gnugrep
-  pkgs.gawk
-  pkgs.gnutar
-  pkgs.gzip
-  pkgs.bzip2
-  pkgs.gnumake
-  pkgs.bash
-  pkgs.patch
-  */
-}
diff --git a/pkgs/stdenv/mingw/pkgs/pkgconfig-builder.sh b/pkgs/stdenv/mingw/pkgs/pkgconfig-builder.sh
deleted file mode 100644
index c7f456951e3..00000000000
--- a/pkgs/stdenv/mingw/pkgs/pkgconfig-builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $STDENV/setup
-
-mkdir $OUT
-cd $OUT
-tar zxvf $SRC
-
-test -x $OUT/nix-support || mkdir $OUT/nix-support
-cp $SETUPHOOK $OUT/nix-support/setup-hook
diff --git a/pkgs/stdenv/mingw/pkgs/single-exe-builder.sh b/pkgs/stdenv/mingw/pkgs/single-exe-builder.sh
deleted file mode 100644
index 660f8175afc..00000000000
--- a/pkgs/stdenv/mingw/pkgs/single-exe-builder.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-if test -z "$out"; then
-  stdenv=$STDENV
-  out=$OUT
-  src=$SRC
-  exename=$EXENAME
-fi
-
-source $stdenv/setup
-
-mkdir $out
-mkdir $out/bin
-cp $src $out/bin/$exename
diff --git a/pkgs/stdenv/mingw/pkgs/src-builder.sh b/pkgs/stdenv/mingw/pkgs/src-builder.sh
deleted file mode 100644
index 09dbb152772..00000000000
--- a/pkgs/stdenv/mingw/pkgs/src-builder.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-source $STDENV/setup
-
-tar zxvf $SRC
-cd $NAME
-./configure --prefix=$OUT
-make
-make install
diff --git a/pkgs/stdenv/mingw/setup.sh b/pkgs/stdenv/mingw/setup.sh
deleted file mode 100755
index 592580a829e..00000000000
--- a/pkgs/stdenv/mingw/setup.sh
+++ /dev/null
@@ -1,759 +0,0 @@
-# Run the named hook, either by calling the function with that name or
-# by evaluating the variable with that name.  This allows convenient
-# setting of hooks both from Nix expressions (as attributes /
-# environment variables) and from shell scripts (as functions). 
-runHook() {
-    local hookName="$1"
-    if test "$(type -t $hookName)" = function; then
-        $hookName
-    else
-        eval "${!hookName}"
-    fi
-}
-
-
-exitHandler() {
-    exitCode=$?
-    set +e
-
-    closeNest
-
-    if test -n "$showBuildStats"; then
-        times > "$NIX_BUILD_TOP/.times"
-        local -a times=($(cat "$NIX_BUILD_TOP/.times"))
-        # Print the following statistics:
-        # - user time for the shell
-        # - system time for the shell
-        # - user time for all child processes
-        # - system time for all child processes
-        echo "build time elapsed: " ${times[*]}
-    fi
-    
-    if test $exitCode != 0; then
-        runHook failureHook
-    
-        # If the builder had a non-zero exit code and
-        # $succeedOnFailure is set, create the file
-        # `$out/nix-support/failed' to signal failure, and exit
-        # normally.  Otherwise, return the original exit code.
-        if test -n "$succeedOnFailure"; then
-            echo "build failed with exit code $exitCode (ignored)"
-            mkdir -p "$out/nix-support"
-            echo -n $exitCode > "$out/nix-support/failed"
-            exit 0
-        fi
-        
-    else
-        runHook exitHook
-    fi
-    
-    exit $exitCode
-}
-
-trap "exitHandler" EXIT
-
-
-######################################################################
-# Helper functions that might be useful in setup hooks.
-
-
-addToSearchPathWithCustomDelimiter() {
-    local delimiter=$1
-    local varName=$2
-    local dir=$3
-    if [ -d "$dir" ]; then
-        eval export ${varName}=${!varName}${!varName:+$delimiter}${dir}
-    fi
-}
-
-PATH_DELIMITER=':'
-
-addToSearchPath() {
-    addToSearchPathWithCustomDelimiter "${PATH_DELIMITER}" "$@"
-}
-
-
-######################################################################
-# Initialisation.
-
-set -e
-
-test -z $NIX_GCC && NIX_GCC=@GCC@
-
-
-# Wildcard expansions that don't match should expand to an empty list.
-# This ensures that, for instance, "for i in *; do ...; done" does the
-# right thing.
-shopt -s nullglob
-
-
-# Set up the initial path.
-PATH=
-for i in $NIX_GCC @INITIALPATH@; do
-    if test "$i" = /; then i=; fi
-    addToSearchPath PATH $i/bin
-done
-
-# Hack: the /tmp of Cygwin is different from the /tmp in MSYS
-if test -d $NIX_BUILD_TOP; then
-  echo "Nix build top already exists. Strange."
-else
-  mkdir $NIX_BUILD_TOP
-  cd $NIX_BUILD_TOP
-fi
-
-if test "$NIX_DEBUG" = "1"; then
-    echo "initial path: $PATH"
-fi
-
-
-# Execute the pre-hook.
-export SHELL=@SHELL@
-if test -z "$shell"; then
-    export shell=@SHELL@
-fi
-
-# Check that the pre-hook initialised SHELL.
-if test -z "$SHELL"; then echo "SHELL not set"; exit 1; fi
-
-
-# Hack: run gcc's setup hook.
-envHooks=()
-if test -f $NIX_GCC/nix-support/setup-hook; then
-    source $NIX_GCC/nix-support/setup-hook
-fi
-
-
-# Ensure that the given directories exists.
-ensureDir() {
-    local dir
-    for dir in "$@"; do
-        if ! test -x "$dir"; then mkdir -p "$dir"; fi
-    done
-}
-
-installBin() {
-    mkdir -p $out/bin
-    cp "$@" $out/bin
-}
-
-
-# Allow the caller to augment buildInputs (it's not always possible to
-# do this before the call to setup.sh, since the PATH is empty at that
-# point; here we have a basic Unix environment).
-runHook addInputsHook
-
-
-# Recursively find all build inputs.
-findInputs() {
-    local pkg=$1
-
-    case $pkgs in
-        *\ $pkg\ *)
-            return 0
-            ;;
-    esac
-
-    pkgs="$pkgs $pkg "
-
-    if test -f $pkg/nix-support/setup-hook; then
-        source $pkg/nix-support/setup-hook
-    fi
-
-    if test -f $pkg/nix-support/propagated-build-inputs; then
-        for i in $(cat $pkg/nix-support/propagated-build-inputs); do
-            findInputs $i
-        done
-    fi
-}
-
-pkgs=""
-for i in $buildInputs $propagatedBuildInputs; do
-    findInputs $i
-done
-
-
-# Set the relevant environment variables to point to the build inputs
-# found above.
-addToEnv() {
-    local pkg=$1
-
-    if test -d $1/bin; then
-        addToSearchPath _PATH $1/bin
-    fi
-
-    # Run the package-specific hooks set by the setup-hook scripts.
-    for i in "${envHooks[@]}"; do
-        $i $pkg
-    done
-}
-
-for i in $pkgs; do
-    addToEnv $i
-done
-
-
-# Add the output as an rpath.
-if test "$NIX_NO_SELF_RPATH" != "1"; then
-    export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS"
-    if test -n "$NIX_LIB64_IN_SELF_RPATH"; then
-        export NIX_LDFLAGS="-rpath $out/lib64 $NIX_LDFLAGS"
-    fi
-fi
-
-
-# Set the TZ (timezone) environment variable, otherwise commands like
-# `date' will complain (e.g., `Tue Mar 9 10:01:47 Local time zone must
-# be set--see zic manual page 2004').
-export TZ=UTC
-
-
-# Set the prefix.  This is generally $out, but it can be overriden,
-# for instance if we just want to perform a test build/install to a
-# temporary location and write a build report to $out.
-if test -z "$prefix"; then
-    prefix="$out";
-fi
-
-if test "$useTempPrefix" = "1"; then
-    prefix="$NIX_BUILD_TOP/tmp_prefix";
-fi
-
-
-PATH=$_PATH${_PATH:+:}$PATH
-if test "$NIX_DEBUG" = "1"; then
-    echo "final path: $PATH"
-fi
-
-
-# Make GNU Make produce nested output.
-export NIX_INDENT_MAKE=1
-
-
-######################################################################
-# Misc. helper functions.
-
-
-stripDirs() {
-    local dirs="$1"
-    local stripFlags="$2"
-    local dirsNew=
-
-    for d in ${dirs}; do
-        if test -d "$prefix/$d"; then
-            dirsNew="${dirsNew} $prefix/$d "
-        fi
-    done
-    dirs=${dirsNew}
-
-    if test -n "${dirs}"; then
-        header "stripping (with flags $stripFlags) in $dirs"
-        find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true
-        stopNest
-    fi
-}
-
-
-######################################################################
-# Textual substitution functions.
-
-
-substitute() {
-    local input="$1"
-    local output="$2"
-
-    local -a params=("$@")
-    local -a args=()
-
-    local n p pattern replacement varName
-
-    for ((n = 2; n < ${#params[*]}; n += 1)); do
-        p=${params[$n]}
-
-        if test "$p" = "--replace"; then
-            pattern="${params[$((n + 1))]}"
-            replacement="${params[$((n + 2))]}"
-            n=$((n + 2))
-        fi
-
-        if test "$p" = "--subst-var"; then
-            varName="${params[$((n + 1))]}"
-            pattern="@$varName@"
-            replacement="${!varName}"
-            n=$((n + 1))
-        fi
-
-        if test "$p" = "--subst-var-by"; then
-            pattern="@${params[$((n + 1))]}@"
-            replacement="${params[$((n + 2))]}"
-            n=$((n + 2))
-        fi
-
-        if test ${#args[@]} != 0; then
-            args[${#args[@]}]="-a"
-        fi
-        args[${#args[@]}]="$pattern"
-        args[${#args[@]}]="$replacement"
-    done
-
-    replace-literal -e -s -- "${args[@]}" < "$input" > "$output".tmp
-    if test -x "$output"; then
-        chmod +x "$output".tmp
-    fi
-    mv -f "$output".tmp "$output"
-}
-
-
-substituteInPlace() {
-    local fileName="$1"
-    shift
-    substitute "$fileName" "$fileName" "$@"
-}
-
-
-substituteAll() {
-    local input="$1"
-    local output="$2"
-
-    # Select all environment variables that start with a lowercase character.
-    for envVar in $(env | sed "s/^[^a-z].*//" | sed "s/^\([^=]*\)=.*/\1/"); do
-        if test "$NIX_DEBUG" = "1"; then
-            echo "$envVar -> ${!envVar}"
-        fi
-        args="$args --subst-var $envVar"
-    done
-
-    substitute "$input" "$output" $args
-}
-
-
-######################################################################
-# What follows is the generic builder.
-
-
-nestingLevel=0
-
-startNest() {
-    nestingLevel=$(($nestingLevel + 1))
-    echo -en "\e[$1p"
-}
-
-stopNest() {
-    nestingLevel=$(($nestingLevel - 1))
-    echo -en "\e[q"
-}
-
-header() {
-    startNest "$2"
-    echo "$1"
-}
-
-# Make sure that even when we exit abnormally, the original nesting
-# level is properly restored.
-closeNest() {
-    while test $nestingLevel -gt 0; do
-        stopNest
-    done
-}
-
-
-# This function is useful for debugging broken Nix builds.  It dumps
-# all environment variables to a file `env-vars' in the build
-# directory.  If the build fails and the `-K' option is used, you can
-# then go to the build directory and source in `env-vars' to reproduce
-# the environment used for building.
-dumpVars() {  
-    echo  "Dumping env-vars to $NIX_BUILD_TOP/env-vars"
-    if test "$noDumpEnvVars" != "1"; then
-        export > "$NIX_BUILD_TOP/env-vars"
-    fi
-}
-
-
-# Utility function: return the base name of the given path, with the
-# prefix `HASH-' removed, if present.
-stripHash() {
-    strippedName=$(basename $1);
-    if echo "$strippedName" | grep -q '^[a-z0-9]\{32\}-'; then
-        strippedName=$(echo "$strippedName" | cut -c34-)
-    fi
-}
-
-
-unpackFile() {
-    curSrc="$1"
-    local cmd
-
-    header "unpacking source archive $curSrc" 3
-
-    case "$curSrc" in
-        *.tar)
-            tar xvf $curSrc
-            ;;
-        *.tar.gz | *.tgz | *.tar.Z)
-            gzip -d < $curSrc | tar xvf -
-            ;;
-        *.tar.bz2 | *.tbz2)
-            bzip2 -d < $curSrc | tar xvf -
-            ;;
-        *.zip)
-            unzip $curSrc
-            ;;
-        *)
-            if test -d "$curSrc"; then
-                stripHash $curSrc
-                cp -prvd $curSrc $strippedName
-            else
-                if test -z "$unpackCmd"; then
-                    echo "source archive $curSrc has unknown type"
-                    exit 1
-                fi
-                runHook unpackCmd
-            fi
-            ;;
-    esac
-
-    stopNest
-}
-
-
-unpackPhase() {
-    runHook preUnpack
-    
-    if test -z "$srcs"; then
-        if test -z "$src"; then
-            echo 'variable $src or $srcs should point to the source'
-            exit 1
-        fi
-        srcs="$src"
-    fi
-
-    # To determine the source directory created by unpacking the
-    # source archives, we record the contents of the current
-    # directory, then look below which directory got added.  Yeah,
-    # it's rather hacky.
-    local dirsBefore=""
-    for i in *; do
-        if test -d "$i"; then
-            dirsBefore="$dirsBefore $i "
-        fi
-    done
-
-    # Unpack all source archives.
-    for i in $srcs; do
-        unpackFile $i
-    done
-
-    # Find the source directory.
-    if test -n "$setSourceRoot"; then
-        runHook setSourceRoot
-    elif test -z "$sourceRoot"; then
-        sourceRoot=
-        for i in *; do
-            if test -d "$i"; then
-                case $dirsBefore in
-                    *\ $i\ *)
-                        ;;
-                    *)
-                        if test -n "$sourceRoot"; then
-                            echo "unpacker produced multiple directories"
-                            exit 1
-                        fi
-                        sourceRoot="$i"
-                        ;;
-                esac
-            fi
-        done
-    fi
-
-    if test -z "$sourceRoot"; then
-        echo "unpacker appears to have produced no directories"
-        exit 1
-    fi
-
-    echo "source root is $sourceRoot"
-
-    # By default, add write permission to the sources.  This is often
-    # necessary when sources have been copied from other store
-    # locations.
-    if test "$dontMakeSourcesWritable" != 1; then
-        chmod -R u+w "$sourceRoot"
-    fi
-
-    runHook postUnpack
-}
-
-
-patchPhase() {
-    runHook prePatch
-
-    for i in $patches; do
-        header "applying patch $i" 3
-        local uncompress=cat
-        case $i in
-            *.gz)
-                uncompress="gzip -d"
-                ;;
-            *.bz2)
-                uncompress="bzip2 -d"
-                ;;
-        esac
-        $uncompress < $i | patch ${patchFlags:--p1}
-        stopNest
-    done
-
-    runHook postPatch
-}
-
-
-configurePhase() {
-    runHook preConfigure
-
-    if test -z "$configureScript"; then
-        configureScript=./configure
-        if ! test -x $configureScript; then
-            echo "no configure script, doing nothing"
-            return
-        fi
-    fi
-
-    if test -z "$dontAddPrefix"; then
-        configureFlags="${prefixKey:---prefix=}$prefix $configureFlags"
-    fi
-
-    # Add --disable-dependency-tracking to speed up some builds.
-    if test -z "$dontAddDisableDepTrack"; then
-        if grep -q dependency-tracking $configureScript; then
-            configureFlags="--disable-dependency-tracking $configureFlags"
-        fi
-    fi
-
-    # By default, disable static builds.
-    if test -z "$dontDisableStatic"; then
-        if grep -q enable-static $configureScript; then
-            configureFlags="--disable-static $configureFlags"
-        fi
-    fi
-
-    echo "configure flags: $configureFlags ${configureFlagsArray[@]}"
-    $configureScript $configureFlags "${configureFlagsArray[@]}"
-
-    runHook postConfigure
-}
-
-
-buildPhase() {
-    runHook preBuild
-
-    if test -z "$makeFlags" && ! test -n "$makefile" -o -e "Makefile" -o -e "makefile" -o -e "GNUmakefile"; then
-        echo "no Makefile, doing nothing"
-        return
-    fi
-
-    echo "make flags: $makeFlags ${makeFlagsArray[@]} $buildFlags ${buildFlagsArray[@]}"
-    make ${makefile:+-f $makefile} \
-        $makeFlags "${makeFlagsArray[@]}" \
-        $buildFlags "${buildFlagsArray[@]}"
-
-    runHook postBuild
-}
-
-
-checkPhase() {
-    runHook preCheck
-
-    echo "check flags: $makeFlags ${makeFlagsArray[@]} $checkFlags ${checkFlagsArray[@]}"
-    make ${makefile:+-f $makefile} \
-        $makeFlags "${makeFlagsArray[@]}" \
-        $checkFlags "${checkFlagsArray[@]}" ${checkTarget:-check}
-
-    runHook postCheck
-}
-
-
-patchELF() {
-    # Patch all ELF executables and shared libraries.
-    header "patching ELF executables and libraries"
-    if test -e "$prefix"; then
-        find "$prefix" \( \
-            \( -type f -a -name "*.so*" \) -o \
-            \( -type f -a -perm +0100 \) \
-            \) -print -exec patchelf --shrink-rpath {} \;
-    fi
-    stopNest
-}
-
-
-patchShebangs() {
-    # Rewrite all script interpreter file names (`#! /path') under the
-    # specified  directory tree to paths found in $PATH.  E.g.,
-    # /bin/sh will be rewritten to /nix/store/<hash>-some-bash/bin/sh.
-    # Interpreters that are already in the store are left untouched.
-    header "patching script interpreter paths"
-    local dir="$1"
-    local f
-    for f in $(find "$dir" -type f -perm +0100); do
-        local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
-        if test -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE"; then
-            local newPath=$(type -P $(basename $oldPath) || true)
-            if test -n "$newPath" -a "$newPath" != "$oldPath"; then
-                echo "$f: interpreter changed from $oldPath to $newPath"
-                sed -i -e "1 s,$oldPath,$newPath," "$f"
-            fi
-        fi
-    done
-    stopNest
-}
-
-
-installPhase() {
-    runHook preInstall
-
-    mkdir -p "$prefix"
-
-    installTargets=${installTargets:-install}
-    echo "install flags: $installTargets $makeFlags ${makeFlagsArray[@]} $installFlags ${installFlagsArray[@]}"
-    make ${makefile:+-f $makefile} $installTargets \
-        $makeFlags "${makeFlagsArray[@]}" \
-        $installFlags "${installFlagsArray[@]}"
-
-    runHook postInstall
-}
-
-
-# The fixup phase performs generic, package-independent, Nix-related
-# stuff, like running patchelf and setting the
-# propagated-build-inputs.  It should rarely be overriden.
-fixupPhase() {
-    runHook preFixup
-
-    # Put man/doc/info under $out/share.
-    forceShare=${forceShare:=man doc info}
-    if test -n "$forceShare"; then
-        for d in $forceShare; do
-            if test -d "$prefix/$d"; then
-                if test -d "$prefix/share/$d"; then
-                    echo "both $d/ and share/$d/ exists!"
-                else
-                    echo "fixing location of $d/ subdirectory"
-                    mkdir -p $prefix/share
-                    if test -w $prefix/share; then
-                        mv -v $prefix/$d $prefix/share
-                        ln -sv $prefix/share/$d $prefix/$d
-                    fi
-                fi
-            fi
-        done;
-    fi
-
-    # TODO: strip _only_ ELF executables, and return || fail here...
-    if test -z "$dontStrip"; then
-        stripDebugList=${stripDebugList:-lib lib64 libexec bin sbin}
-        if test -n "$stripDebugList"; then
-            stripDirs "$stripDebugList" "${stripDebugFlags:--S}"
-        fi
-        
-        stripAllList=${stripAllList:-}
-        if test -n "$stripAllList"; then
-            stripDirs "$stripAllList" "${stripAllFlags:--s}"
-        fi
-    fi
-
-    if test "$havePatchELF" = 1 -a -z "$dontPatchELF"; then
-        patchELF "$prefix"
-    fi
-
-    if test -z "$dontPatchShebangs"; then
-        patchShebangs "$prefix"
-    fi
-
-    if test -n "$propagatedBuildInputs"; then
-        mkdir -p "$out/nix-support"
-        echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs"
-    fi
-
-    if test -n "$setupHook"; then
-        mkdir -p "$out/nix-support"
-        substituteAll "$setupHook" "$out/nix-support/setup-hook"
-    fi
-
-    runHook postFixup
-}
-
-
-distPhase() {
-    runHook preDist
-
-    echo "dist flags: $distFlags ${distFlagsArray[@]}"
-    make ${makefile:+-f $makefile} $distFlags "${distFlagsArray[@]}" ${distTarget:-dist}
-
-    if test "$dontCopyDist" != 1; then
-        mkdir -p "$out/tarballs"
-
-        # Note: don't quote $tarballs, since we explicitly permit
-        # wildcards in there.
-        cp -pvd ${tarballs:-*.tar.gz} $out/tarballs
-    fi
-
-    runHook postDist
-}
-
-
-showPhaseHeader() {
-    local phase="$1"
-    case $phase in
-        unpackPhase) header "unpacking sources";;
-        patchPhase) header "patching sources";;
-        configurePhase) header "configuring";;
-        buildPhase) header "building";;
-        checkPhase) header "running tests";;
-        installPhase) header "installing";;
-        fixupPhase) header "post-installation fixup";;
-        *) header "$phase";;
-    esac
-}
-
-
-genericBuild() {
-    header "building $out"
-
-    if test -n "$buildCommand"; then
-        eval "$buildCommand"
-        return
-    fi
-
-    if test -z "$phases"; then
-        phases="$prePhases unpackPhase patchPhase $preConfigurePhases \
-            configurePhase $preBuildPhases buildPhase checkPhase \
-            $preInstallPhases installPhase fixupPhase \
-            $preDistPhases distPhase $postPhases";
-    fi
-
-    for curPhase in $phases; do
-        if test "$curPhase" = buildPhase -a -n "$dontBuild"; then continue; fi
-        if test "$curPhase" = checkPhase -a -z "$doCheck"; then continue; fi
-        if test "$curPhase" = installPhase -a -n "$dontInstall"; then continue; fi
-        if test "$curPhase" = fixupPhase -a -n "$dontFixup"; then continue; fi
-        if test "$curPhase" = distPhase -a -z "$doDist"; then continue; fi
-        
-        showPhaseHeader "$curPhase"
-        dumpVars
-        
-        # Evaluate the variable named $curPhase if it exists, otherwise the
-        # function named $curPhase.
-        eval "${!curPhase:-$curPhase}"
-
-        if test "$curPhase" = unpackPhase; then
-            cd "${sourceRoot:-.}"
-        fi
-        
-        stopNest
-    done
-
-    stopNest
-}
-
-
-
-
-dumpVars
diff --git a/pkgs/stdenv/mingw/simple-stdenv/builder.sh b/pkgs/stdenv/mingw/simple-stdenv/builder.sh
deleted file mode 100644
index 0cbc13e4fab..00000000000
--- a/pkgs/stdenv/mingw/simple-stdenv/builder.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-if test -z "$out"; then
-  out="$OUT"
-  initialPath="$INITIALPATH"
-  shell="$SHELL"
-fi
-
-setupPath=
-for i in $initialPath; do
-  setupPath=$setupPath${setupPath:+:}$i
-done
-
-PATH=$setupPath
-export PATH
-
-mkdir $out
-
-cat > $out/setup <<EOF
-PATH=$setupPath
-export PATH
-
-SHELL=$shell
-export SHELL
-
-# make fetchurl usable
-header() {
-  echo "\$1"
-}
-
-stopNest() {
-  echo "Nothing to do"
-}
-
-# !!! Awful copy&paste.
-substitute() {
-    local input="\$1"
-    local output="\$2"
-
-    local -a params=("\$@")
-
-    local sedScript=\$NIX_BUILD_TOP/.sedargs
-    rm -f \$sedScript
-    touch \$sedScript
-
-    local n p pattern replacement varName
-    
-    for ((n = 2; n < \${#params[*]}; n += 1)); do
-        p=\${params[\$n]}
-
-        if test "\$p" = "--replace"; then
-            pattern=\${params[\$((n + 1))]}
-            replacement=\${params[\$((n + 2))]}
-            n=\$((n + 2))
-            echo "s^\$pattern^\$replacement^g" >> \$sedScript
-            sedArgs=("\${sedArgs[@]}" "-e" )
-        fi
-
-        if test "\$p" = "--subst-var"; then
-            varName=\${params[\$((n + 1))]}
-            n=\$((n + 1))
-            echo "s^@\${varName}@^\${!varName}^g" >> \$sedScript
-        fi
-
-        if test "\$p" = "--subst-var-by"; then
-            varName=\${params[\$((n + 1))]}
-            replacement=\${params[\$((n + 2))]}
-            n=\$((n + 2))
-            echo "s^@\${varName}@^\$replacement^g" >> \$sedScript
-        fi
-
-    done
-
-    sed -f \$sedScript < "\$input" > "\$output".tmp
-    if test -x "\$output"; then
-        chmod +x "\$output".tmp
-    fi
-    mv -f "\$output".tmp "\$output"
-}
-EOF
-
-chmod +x $out/setup
diff --git a/pkgs/stdenv/mingw/simple-stdenv/default.nix b/pkgs/stdenv/mingw/simple-stdenv/default.nix
deleted file mode 100644
index 379cda0a598..00000000000
--- a/pkgs/stdenv/mingw/simple-stdenv/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ system
-, name
-, shell
-, path
-, extraEnv ? {}
-, extraShellOptions ? []
-}:
-
-let {
-  body = 
-    derivation ({
-      inherit system name;
-      initialPath = path;
-      builder = shell;
-      args = extraShellOptions ++ ["-e" ./builder.sh];
-    } // extraEnv)
-
-    // {
-      mkDerivation = attrs:
-        derivation ((removeAttrs attrs ["meta"]) // {
-          builder = shell;
-          args = extraShellOptions ++ ["-e" ] ++ [attrs.builder]; # (if attrs ? builder then [attrs.builder] else [ ../fix-builder.sh ../default-builder.sh] ) ;
-          stdenv = body;
-          system = body.system;
-        }
-
-        // extraEnv);
-
-      inherit shell;
-    };
-}
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 524b2a53337..715bc02758b 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -9,6 +9,7 @@ rec {
   path =
     (if system == "i686-solaris" then [ "/usr/gnu" ] else []) ++
     (if system == "i686-netbsd" then [ "/usr/pkg" ] else []) ++
+    (if system == "x86_64-solaris" then [ "/opt/local/gnu" ] else []) ++
     ["/" "/usr" "/usr/local"];
 
   prehookBase = ''
@@ -112,7 +113,7 @@ rec {
     name = "gcc-native";
     nativeTools = true;
     nativeLibc = true;
-    nativePrefix = if system == "i686-solaris" then "/usr/gnu" else "/usr";
+    nativePrefix = if system == "i686-solaris" then "/usr/gnu" else if system == "x86_64-solaris" then "/opt/local/gcc47" else "/usr";
     stdenv = stdenvBoot0;
   };
 
diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix
index d0f7d60f101..a496a819a6d 100644
--- a/pkgs/stdenv/nix/default.nix
+++ b/pkgs/stdenv/nix/default.nix
@@ -7,15 +7,18 @@ import ../generic rec {
     ''
       export NIX_ENFORCE_PURITY=1
       export NIX_IGNORE_LD_THROUGH_GCC=1
-
-      if [ "$system" = "i686-darwin" -o "$system" = "powerpc-darwin" -o "$system" = "x86_64-darwin" ]; then
-        export NIX_DONT_SET_RPATH=1
-        export NIX_NO_SELF_RPATH=1
-        dontFixLibtool=1
-        stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
-        xargsFlags=" "
-      fi
-    '';
+    '' + (if stdenv.isDarwin then ''
+      export NIX_ENFORCE_PURITY=
+      export NIX_DONT_SET_RPATH=1
+      export NIX_NO_SELF_RPATH=1
+      dontFixLibtool=1
+      stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
+      xargsFlags=" "
+      export MACOSX_DEPLOYMENT_TARGET=10.6
+      export SDKROOT=$(/usr/bin/xcrun --show-sdk-path 2> /dev/null || true)
+      export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT/usr/include -F$SDKROOT/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations"
+      export NIX_LDFLAGS_AFTER+=" -L$SDKROOT/usr/lib"
+    '' else "");
 
   initialPath = (import ../common-path.nix) {pkgs = pkgs;};
 
@@ -23,6 +26,7 @@ import ../generic rec {
 
   gcc = import ../../build-support/gcc-wrapper {
     nativeTools = false;
+    nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr";
     nativeLibc = true;
     inherit stdenv;
     binutils =
diff --git a/pkgs/tools/X11/autocutsel/default.nix b/pkgs/tools/X11/autocutsel/default.nix
index bc7679b1670..8506c9f38f3 100644
--- a/pkgs/tools/X11/autocutsel/default.nix
+++ b/pkgs/tools/X11/autocutsel/default.nix
@@ -1,14 +1,12 @@
 {stdenv, fetchurl, libX11, libXaw}:
 
-let
-  name = "autocutsel-0.9.0";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  version = "0.10.0";
+  name = "autocutsel-${version}";
  
   src = fetchurl {
-    url = "mirror://savannah/autocutsel/${name}.tar.gz";
-    sha256 = "0hp335qq57l0kp58pfwb0bk930zx5497frq8y0lzr4icvk1fpw5y";
+    url = "https://github.com/sigmike/autocutsel/releases/download/${version}/${name}.tar.gz";
+    sha256 = "0gsys2dzh4az51ndcsabhlbbrjn2nm75lnjr45kg6r8sm8q66dx2";
   };
  
   buildInputs = [ libX11 libXaw ];
@@ -18,9 +16,11 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    inherit version;
     homepage = "http://www.nongnu.org/autocutsel/";
     description = "Tracks changes in the server's cutbuffer and CLIPBOARD selection";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; all;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/X11/bgs/default.nix b/pkgs/tools/X11/bgs/default.nix
index 0c6951aa3e7..00cf9a54fb7 100644
--- a/pkgs/tools/X11/bgs/default.nix
+++ b/pkgs/tools/X11/bgs/default.nix
@@ -3,22 +3,21 @@
 stdenv.mkDerivation rec {
 
   name = "bgs-${version}";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchurl {
     url = "https://github.com/Gottox/bgs/archive/${version}.tar.gz";
-    sha256 = "67fe16e3483f30f940005856fbb3246e1f99cf58371470e0d6668a27acbaefb9";
+    sha256 = "19xwslh74686qln0ylaql28z3ng45c7srrb3cxxvfp35lz7hjpf0";
   };
 
   buildInputs = [ libX11 libXinerama imlib2 ];
 
   preConfigure = ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'';
 
-  meta = { 
+  meta = {
       description = "Extremely fast and small background setter for X";
-      license = "MIT";
-      platforms = with stdenv.lib.platforms; all;
-      maintainers = with stdenv.lib.maintainers; [pSub]; 
+      license = stdenv.lib.licenses.mit;
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = with stdenv.lib.maintainers; [pSub];
   };
 }
-
diff --git a/pkgs/tools/X11/bumblebee/config.patch b/pkgs/tools/X11/bumblebee/config.patch
deleted file mode 100644
index 61b671f80c1..00000000000
--- a/pkgs/tools/X11/bumblebee/config.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- bumblebee-3.0/src/driver.c.orig	2012-02-03 14:51:10.282464426 +0100
-+++ bumblebee-3.0/src/driver.c	2012-02-04 22:26:02.715498536 +0100
-@@ -23,6 +23,7 @@
- #include "module.h"
- #include "bblogger.h"
- #include "driver.h"
-+#include <stdlib.h>
- 
- /**
-  * Check what drivers are available and autodetect if possible. Driver, module
-@@ -30,6 +31,7 @@
-  */
- void driver_detect(void) {
-   /* determine driver to be used */
-+  set_string_value(&bb_config.driver, getenv("BUMBLEBEE_DRIVER"));
-   if (*bb_config.driver) {
-     bb_log(LOG_DEBUG, "Skipping auto-detection, using configured driver"
-             " '%s'\n", bb_config.driver);
-@@ -65,8 +67,8 @@
-     }
-   }
- 
--  if (strcmp(bb_config.driver, "nvidia")) {
--    set_string_value(&bb_config.ld_path, CONF_LDPATH_NVIDIA);
--    set_string_value(&bb_config.mod_path, CONF_MODPATH_NVIDIA);
-+  if (!strcmp(bb_config.driver, "nvidia")) {
-+    set_string_value(&bb_config.ld_path, getenv("BUMBLEBEE_LDPATH_NVIDIA"));
-+    set_string_value(&bb_config.mod_path, getenv("BUMBLEBEE_MODPATH_NVIDIA"));
-   }
- }
diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix
index 74e3e7b1f82..58db0c13abb 100644
--- a/pkgs/tools/X11/bumblebee/default.nix
+++ b/pkgs/tools/X11/bumblebee/default.nix
@@ -8,19 +8,7 @@
 
 # To test: make sure that the 'bbswitch' kernel module is installed,
 # then run 'bumblebeed' as root and 'optirun glxgears' as user.
-# To use at startup, add e.g. to configuration.nix:
-# jobs = {
-#   bumblebeed = {
-#     name = "bumblebeed";
-#     description = "Manages the Optimus video card";
-#     startOn = "started udev and started syslogd";
-#     stopOn = "starting shutdown";
-#     exec = "bumblebeed --use-syslog";
-#     path = [ pkgs.bumblebee ];
-#     environment = { MODULE_DIR = "${config.system.modulesTree}/lib/modules"; };
-#     respawn = true;
-#   };
-# };
+# To use at startup, see hardware.bumblebee options.
 
 # This nix expression supports for now only the native nvidia driver.
 # It should not be hard to generalize this approach to support the
@@ -34,7 +22,7 @@
 }:
 
 let
-  version = "3.0";
+  version = "3.2.1";
   name = "bumblebee-${version}";
 
   # isolated X11 environment with the nvidia module
@@ -61,22 +49,15 @@ let
     ignoreCollisions = true;
   };
 
-  # Custom X11 configuration for the additional xserver instance.
-  xorgConf = ./xorg.conf.nvidia;
-
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "http://github.com/downloads/Bumblebee-Project/Bumblebee/${name}.tar.gz";
-    sha256 = "a27ddb77b282ac8b972857fdb0dc5061cf0a0982b7ac3e1cfa698b4f786e49a1";
+    url = "http://bumblebee-project.org/${name}.tar.gz";
+    sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h";
   };
 
-  # 'config.patch' makes bumblebee read the active module and the nvidia configuration
-  # from the environment variables instead of the config file:
-  #   BUMBLEBEE_DRIVER, BUMBLEBEE_LDPATH_NVIDIA, BUMBLEBEE_MODPATH_NVIDIA
-  # These variables must be set when bumblebeed and optirun are executed.
-  patches = [ ./config.patch ./xopts.patch ];
+  patches = [ ./xopts.patch ];
 
   preConfigure = ''
     # Substitute the path to the actual modinfo program in module.c.
@@ -88,32 +69,25 @@ in stdenv.mkDerivation {
     # Don't use a special group, just reuse wheel.
     substituteInPlace configure \
       --replace 'CONF_GID="bumblebee"' 'CONF_GID="wheel"'
-
-    # Ensures that the config file ends up with a nonempty
-    # name of the nvidia module. This is needed, because the
-    # configuration handling code otherwise resets the
-    # data that we obtained from the environment (see config.patch)
-    export CONF_DRIVER_MODULE_NVIDIA=nvidia
   '';
 
   # Build-time dependencies of bumblebeed and optirun.
   # Note that it has several runtime dependencies.
   buildInputs = [ stdenv makeWrapper pkgconfig help2man libX11 glib libbsd ];
 
+  configureFlags = [
+    "--with-udev-rules=$out/lib/udev/rules.d"
+    "CONF_DRIVER=nvidia"
+    "CONF_DRIVER_MODULE_NVIDIA=nvidia"
+    "CONF_LDPATH_NVIDIA=${commonEnv}/lib"
+    "CONF_MODPATH_NVIDIA=${commonEnv}/lib/xorg/modules"
+  ];
+
   # create a wrapper environment for bumblebeed and optirun
   postInstall = ''
-    # remove some entries from the configuration file that would otherwise
-    # cause our environment variables to be ignored.
-    substituteInPlace "$out/etc/bumblebee/bumblebee.conf" \
-      --replace "LibraryPath=" "" \
-      --replace "XorgModulePath=" ""
-
     wrapProgram "$out/sbin/bumblebeed" \
       --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin:\$PATH" \
       --prefix LD_LIBRARY_PATH : "${commonEnv}/lib:\$LD_LIBRARY_PATH" \
-      --set BUMBLEBEE_DRIVER "nvidia" \
-      --set BUMBLEBEE_LDPATH_NVIDIA "${commonEnv}/lib" \
-      --set BUMBLEBEE_MODPATH_NVIDIA "${commonEnv}/lib/xorg/modules" \
       --set FONTCONFIG_FILE "/etc/fonts/fonts.conf" \
       --set XKB_BINDIR "${xorg.xkbcomp}/bin" \
       --set XKB_DIR "${xkeyboard_config}/etc/X11/xkb"
@@ -121,16 +95,11 @@ in stdenv.mkDerivation {
     wrapProgram "$out/bin/optirun" \
       --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin" \
       --prefix LD_LIBRARY_PATH : "${commonEnv}/lib" \
-      --set BUMBLEBEE_DRIVER "nvidia" \
-      --set BUMBLEBEE_LDPATH_NVIDIA "${commonEnv}/lib" \
-      --set BUMBLEBEE_MODPATH_NVIDIA "${commonEnv}/lib/xorg/modules"
-
-    cp ${xorgConf} "$out/etc/bumblebee/xorg.conf.nvidia"
   '';
 
   meta = {
     homepage = http://github.com/Bumblebee-Project/Bumblebee;
     description = "Daemon for managing Optimus videocards (power-on/off, spawns xservers)";
-    license = "free";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/X11/bumblebee/xopts.patch b/pkgs/tools/X11/bumblebee/xopts.patch
index 9e44a8e9fd1..f24b2a20562 100644
--- a/pkgs/tools/X11/bumblebee/xopts.patch
+++ b/pkgs/tools/X11/bumblebee/xopts.patch
@@ -5,7 +5,7 @@
        "-nolisten", "tcp",
        "-noreset",
 +      "-xkbdir", getenv("XKB_DIR"),
-+      "-logfile", "/dev/null",
++      "-logfile", "/var/log/X.bumblebee.log",
        "-verbose", "3",
        "-isolateDevice", pci_id,
        "-modulepath",
diff --git a/pkgs/tools/X11/bumblebee/xorg.conf.nvidia b/pkgs/tools/X11/bumblebee/xorg.conf.nvidia
deleted file mode 100644
index 31c417d6971..00000000000
--- a/pkgs/tools/X11/bumblebee/xorg.conf.nvidia
+++ /dev/null
@@ -1,49 +0,0 @@
-Section "DRI"
-    Mode 0666
-EndSection
-
-Section "ServerLayout"
-    Identifier "Layout0"
-    Screen "Screen1"
-    Option "AutoAddDevices" "false"
-EndSection
-
-Section "Module"
-    Load "dbe"
-    Load "extmod"
-    Load "glx"
-    Load "record"
-    Load "freetype"
-    Load "type1"
-EndSection
-
-Section "Files"
-EndSection
-
-Section "Device"
-    Identifier "Device1"
-    Driver "nvidia"
-    VendorName "NVIDIA Corporation"
-    Option "NoLogo" "true"
-    Option "UseEDID" "false"
-    Option "ConnectedMonitor" "CRT-0"
-EndSection
-
-Section "Screen"
-    Identifier "Screen1"
-    Device "Device1"
-    Monitor "Monitor0"
-    DefaultDepth 24
-    SubSection "Display"
-        Depth 24
-    EndSubSection
-EndSection
-
-Section "Extensions"
-    Option "Composite" "Enable"
-EndSection
-
-Section "Monitor"
-    Identifier "Monitor0"
-    Option "DPMS"
-EndSection
diff --git a/pkgs/tools/X11/hsetroot/default.nix b/pkgs/tools/X11/hsetroot/default.nix
index 96241bd02cd..d91f4bfdf65 100644
--- a/pkgs/tools/X11/hsetroot/default.nix
+++ b/pkgs/tools/X11/hsetroot/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation {
   meta = {
     description = "hsetroot allows you to compose wallpapers ('root pixmaps') for X";
     homepage = http://thegraveyard.org/hsetroot.html;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/X11/nitrogen/default.nix b/pkgs/tools/X11/nitrogen/default.nix
new file mode 100644
index 00000000000..dd8b496fe66
--- /dev/null
+++ b/pkgs/tools/X11/nitrogen/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, glib, gtk2, gtkmm }:
+
+let version = "1.5.2";
+in
+stdenv.mkDerivation rec {
+  name = "nitrogen-${version}";
+
+  src = fetchurl {
+    url = "http://projects.l3ib.org/nitrogen/files/nitrogen-${version}.tar.gz";
+    sha256 = "60a2437ce6a6c0ba44505fc8066c1973140d4bb48e1e5649f525c7b0b8bf9fd2";
+  };
+
+  buildInputs = [ glib gtk2 gtkmm pkgconfig ];
+
+  NIX_LDFLAGS = "-lX11";
+
+  patchPhase = "patchShebangs data/icon-theme-installer";
+
+  meta = {
+    description = "A wallpaper browser and setter for X11";
+    longDescription = ''
+      nitrogen is a lightweight utility that can set the root background on X11.
+      It operates independently of any desktop environment, and supports
+      multi-head with Xinerama. Wallpapers are browsable with a convenient GUI,
+      and settings are stored in a human-readable config file.
+    '';
+    homepage = http://projects.l3ib.org/nitrogen/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/tools/X11/vdpauinfo/default.nix b/pkgs/tools/X11/vdpauinfo/default.nix
index 23233861a06..0b1d889d700 100644
--- a/pkgs/tools/X11/vdpauinfo/default.nix
+++ b/pkgs/tools/X11/vdpauinfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, xlibs, libvdpau }:
 
 stdenv.mkDerivation rec {
-  name = "vdpauinfo-0.0.6";
-  
+  name = "vdpauinfo-0.1";
+
   src = fetchurl {
     url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz";
-    sha256 = "0m2llqjnwh3x6y56hik3znym2mfk1haq81a15p54m60ngf0mvfsj";
+    sha256 = "17q1spsrd5i4jzhpacbs0bb4blf74j8s45rpg0znyc1yjfk5dj5h";
   };
 
   buildInputs = [ pkgconfig xlibs.libX11 libvdpau ];
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
index bd160940b57..ad7ac7c64c8 100644
--- a/pkgs/tools/X11/winswitch/default.nix
+++ b/pkgs/tools/X11/winswitch/default.nix
@@ -29,17 +29,15 @@ let
       }' winswitch/util/distro_packaging_util.py
     '';
 
-    buildPhase = ''
-      python setup.py build
-    '';
-
-    installCommand = ''
-      PREFIX="$out" python ./setup.py install --prefix="$out"
+    preInstall = ''
+      # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+      python setup.py install_data --install-dir=$out --root=$out
+      sed -i '/data_files = data_files/d' setup.py
     '';
 
     doCheck = false;
 
-    meta.platforms = stdenv.lib.platforms.mesaPlatforms;
+    meta.platforms = stdenv.lib.platforms.linux;
   };
 in stdenv.lib.overrideDerivation base (b: {
   postFixup = b.postFixup + ''
diff --git a/pkgs/tools/X11/wmctrl/64-bit-data.patch b/pkgs/tools/X11/wmctrl/64-bit-data.patch
new file mode 100644
index 00000000000..3ec1c913ffe
--- /dev/null
+++ b/pkgs/tools/X11/wmctrl/64-bit-data.patch
@@ -0,0 +1,32 @@
+Description: Correct 64 Architecture implementation of 32 bit data
+Author: Chris Donoghue <cdonoghu@gmail.com>
+Bug-Debian: http://bugs.debian.org/362068
+
+--- wmctrl-1.07.orig/main.c
++++ wmctrl-1.07/main.c
+@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis
+      *
+      * long_length = Specifies the length in 32-bit multiples of the
+      *               data to be retrieved.
++     *
++     * NOTE:  see 
++     * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html
++     * In particular:
++     *
++     * 	When the X window system was ported to 64-bit architectures, a
++     * rather peculiar design decision was made. 32-bit quantities such
++     * as Window IDs, atoms, etc, were kept as longs in the client side
++     * APIs, even when long was changed to 64 bits.
++     *
+      */
+     if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False,
+             xa_prop_type, &xa_ret_type, &ret_format,     
+@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis
+ 
+     /* null terminate the result to make string handling easier */
+     tmp_size = (ret_format / 8) * ret_nitems;
++    /* Correct 64 Architecture implementation of 32 bit data */
++    if(ret_format==32) tmp_size *= sizeof(long)/4;
+     ret = g_malloc(tmp_size + 1);
+     memcpy(ret, ret_prop, tmp_size);
+     ret[tmp_size] = '\0';
diff --git a/pkgs/tools/X11/wmctrl/default.nix b/pkgs/tools/X11/wmctrl/default.nix
index f4705bdb0d4..3f691b8ecd4 100644
--- a/pkgs/tools/X11/wmctrl/default.nix
+++ b/pkgs/tools/X11/wmctrl/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
  
   buildInputs = [ libX11 libXmu glib pkgconfig ];
 
+  patches = [ ./64-bit-data.patch ];
+
   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";
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 23b0aaa55e8..a8c249116c0 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -22,12 +22,13 @@ stdenv.mkDerivation rec {
     substituteInPlace x11vnc/unixpw.c \
         --replace '"/bin/su"' '"/var/setuid-wrappers/su"' \
         --replace '"/bin/true"' '"${coreutils}/bin/true"'
-        
-    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:$PATH\\n"' -e 's|/bin/su|/var/setuid-wrappers/su|g' x11vnc/ssltools.h
+
+    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/var/setuid-wrappers/su|g' x11vnc/ssltools.h
   '';
 
   meta = {
     description = "A VNC server connected to a real X11 screen";
     homepage = http://www.karlrunge.com/x11vnc/;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/xbindkeys/default.nix b/pkgs/tools/X11/xbindkeys/default.nix
index dc79bd9e2d1..0d63c190b05 100644
--- a/pkgs/tools/X11/xbindkeys/default.nix
+++ b/pkgs/tools/X11/xbindkeys/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libX11, guile }:
 
-let version = "1.8.5"; in
+let version = "1.8.6"; in
 stdenv.mkDerivation {
   name = "xbindkeys-${version}";
   src = fetchurl {
     url = "http://www.nongnu.org/xbindkeys/xbindkeys-${version}.tar.gz";
-    sha256 = "10gwyvj69yyqgk1xxbrl37gx3c3jfpgr92mz62b1x5q6jiq7hbyn";
+    sha256 = "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc";
   };
 
   buildInputs = [ libX11 guile ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.nongnu.org/xbindkeys/xbindkeys.html;
     description = "Launch shell commands with your keyboard or your mouse under X Window";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/X11/xchainkeys/default.nix b/pkgs/tools/X11/xchainkeys/default.nix
index 42e26825e33..eab21f2d221 100644
--- a/pkgs/tools/X11/xchainkeys/default.nix
+++ b/pkgs/tools/X11/xchainkeys/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://code.google.com/p/xchainkeys/";
     description = "A standalone X11 program to create chained key bindings";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix
new file mode 100644
index 00000000000..8829427b79c
--- /dev/null
+++ b/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "xdg-user-dirs-0.15";
+  
+  src = fetchurl {
+    url = "http://user-dirs.freedesktop.org/releases/${name}.tar.gz";
+    sha256 = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916552786";
+  };
+
+  buildInputs = [ libxslt docbook_xsl makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/xdg-user-dirs-update" \
+      --prefix XDG_CONFIG_DIRS : "$out/etc/xdg"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://freedesktop.org/wiki/Software/xdg-user-dirs;
+    description = "A tool to help manage well known user directories like the desktop folder and the music folder";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lethalman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index ce439d22c21..0e92021b62c 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
          "macros", retype a file.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/xnee/;
 
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index b8995430f92..688c0e12d93 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, buildPythonPackage
 , python, cython, pkgconfig
 , xorg, gtk, glib, pango, cairo, gdk_pixbuf, pygtk, atk, pygobject, pycairo
-, ffmpeg_1, x264, libvpx, pil, libwebp }:
+, ffmpeg, x264, libvpx, pil, libwebp }:
 
 buildPythonPackage rec {
-  name = "xpra-0.9.5";
-  
+  name = "xpra-0.11.6";
+  namePrefix = "";
+
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.bz2";
-    sha256 = "1qr9gxmfnkays9hrw2qki1jdkyxhbbkjx71gy23x423cfsxsjmiw";
+    sha256 = "0n3lr8nrfmrll83lgi1nzalng902wv0dcmcyx4awnman848dxij0";
   };
 
-  buildInputs = [ 
-    python cython pkgconfig 
+  buildInputs = [
+    cython pkgconfig
 
     xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
     xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
@@ -21,10 +22,10 @@ buildPythonPackage rec {
 
     pango cairo gdk_pixbuf atk gtk glib
 
-    ffmpeg_1 libvpx x264 libwebp
+    ffmpeg libvpx x264 libwebp
   ];
 
-  propagatedBuildInputs = [ 
+  propagatedBuildInputs = [
     pil pygtk pygobject
   ];
 
@@ -32,14 +33,20 @@ buildPythonPackage rec {
   # they don't have automated testing out of the box? http://xpra.org/trac/ticket/177
   doCheck = false;
 
-  buildPhase = ''
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
-    python ./setup.py build --enable-Xdummy
+  preBuild = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
+  '';
+  setupPyBuildFlags = ["--enable-Xdummy"];
+
+  preInstall = ''
+    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
+    sed -i '/ = data_files/d' setup.py
   '';
-  
+
   meta = {
     homepage = http://xpra.org/;
     description = "Persistent remote applications for X";
-    platforms = stdenv.lib.platforms.mesaPlatforms;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/xtrace/default.nix b/pkgs/tools/X11/xtrace/default.nix
index 56f33e8330d..efc0647f5db 100644
--- a/pkgs/tools/X11/xtrace/default.nix
+++ b/pkgs/tools/X11/xtrace/default.nix
@@ -1,14 +1,19 @@
-{ stdenv, fetchurl, libX11, xauth, makeWrapper }:
+{ stdenv, autoreconfHook, fetchgit, libX11, xauth, makeWrapper }:
 
-let version = "1.0.2"; in
+let version = "1.3.1"; in
 stdenv.mkDerivation {
   name = "xtrace-${version}";
-  src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/3201/xtrace_${version}.orig.tar.gz";
-    sha256 = "0czywk2iwj9vifml0qjlbz8n9jnqjsm4zz22haii82bf4l5w3y04";
+  src = fetchgit {
+    url = "git://git.debian.org/xtrace/xtrace.git";
+    rev = "refs/tags/xtrace-1.3.1";
+    sha256 = "0csjw88ynzzcmx1jlb65c74r2sp9dzxn00airsxxfsipb74049d0";
   };
 
-  buildInputs = [ libX11 makeWrapper ];
+  buildInputs = [ libX11 makeWrapper autoreconfHook ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
 
   postInstall =
     '' wrapProgram "$out/bin/xtrace" \
@@ -18,7 +23,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://xtrace.alioth.debian.org/;
     description = "xtrace, a tool to trace X11 protocol connections";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/admin/analog/default.nix b/pkgs/tools/admin/analog/default.nix
index ec139e7240d..54dac32141f 100644
--- a/pkgs/tools/admin/analog/default.nix
+++ b/pkgs/tools/admin/analog/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.analog.cx/";
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2;
     description = "Powerful tool to generate web server statistics";
     maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index aa8361c737f..a2530319014 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -2,17 +2,21 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "awscli-${version}";
-  version = "0.8.3";
+  version = "1.2.13";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/aws/aws-cli/archive/${version}.tar.gz";
-    sha256 = "0v7igh00zja560v8qz315g3m7x9six1hprrrb10cpp9sy8n58xnn";
+    sha256 = "1mpy1q9y5qiq1fr2xc98sn1njx0p0b1g21p0rdh4ccsf9w7i0rpb";
   };
 
   propagatedBuildInputs = [ 
-    pythonPackages.argparse
     pythonPackages.botocore
+    pythonPackages.bcdoc
+    pythonPackages.six
     pythonPackages.colorama
+    pythonPackages.docutils
+    pythonPackages.rsa
+    pythonPackages.pyasn1
   ];
 }
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 1fda870d5fb..c502cee5415 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,62 +1,44 @@
-x@{builderDefsPackage
-  , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
-  , libffi, cyrus_sasl, intltool, perl, perlPackages, firefox36Pkgs
-  , kbproto, libX11, libXext, xextproto, pygobject, libgcrypt
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    ["perlPackages" "firefox36Pkgs"];
+{ stdenv, fetchurl, gobjectIntrospection
+, python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
+, libffi, cyrus_sasl, intltool, perl, perlPackages, pulseaudio
+, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt, gtk3, vala
+, pygobject3, libogg, enableGTK3 ? false }:
 
-  buildInputs = (map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
-    ++ [perlPackages.TextCSV firefox36Pkgs.xulrunner ];
-  sourceInfo = rec {
-    baseName="gtk-vnc";
-    majorVersion="0.4";
-    minorVersion="2";
-    version="${majorVersion}.${minorVersion}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.gz";
-    hash="1fkhzwpw50rnwp51lsbny16p2ckzx5rkcaiaqvkd90vwnm2cccls";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "gtk-vnc-${version}";
+  version = "0.5.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtk-vnc/0.5/${name}.tar.xz";
+    sha256 = "1bww2ihxb3zzvifdrcsy1lifr664pvikq17hmr1hsm8fyk4ad46l";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [
+    python gnutls cairo libtool pkgconfig glib libffi libgcrypt
+    intltool cyrus_sasl pulseaudio perl perlPackages.TextCSV
+    gobjectIntrospection libogg
+  ] ++ (if enableGTK3 then [ gtk3 vala pygobject3 ] else [ gtk pygtk pygobject ]);
 
+  NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   configureFlags = [
     "--with-python"
     "--with-examples"
+    (if enableGTK3 then "--with-gtk=3.0" else "--with-gtk=2.0")
   ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["fixMakefiles" "doConfigure" "doMakeInstall"];
+  makeFlags = stdenv.lib.optionalString (!enableGTK3)
+    "CODEGENDIR=${pygobject}/share/pygobject/2.0/codegen/ DEFSDIR=${pygtk}/share/pygtk/2.0/defs/";
 
-  fixMakefiles = a.fullDepEntry ''
-    find . -name 'Makefile*' -exec sed -i '{}' -e 's@=codegendir pygtk-2.0@=codegendir pygobject-2.0@' ';'
-  '' ["minInit" "doUnpack"];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GTK VNC widget";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.lgpl21;
+    maintainers = with maintainers; [ raskin offline ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/gtk-vnc";
     };
   };
-}) x
-
+}
diff --git a/pkgs/tools/admin/sec/default.nix b/pkgs/tools/admin/sec/default.nix
new file mode 100644
index 00000000000..d8c60c0ec3c
--- /dev/null
+++ b/pkgs/tools/admin/sec/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, perl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "sec-2.7.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/simple-evcorr/${name}.tar.gz";
+    sha256 = "1lrssln55p3bmn3d2hl8c5l5ix32bn8065w1cgycwsf7r6fww51p";
+  };
+
+  buildInputs = [ perl ];
+
+  configurePhase = ":";
+  buildPhase = ":";
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    cp sec $out/bin
+    cp sec.man $out/share/man/man1/sec.1
+  '';
+  doCheck = false;
+
+  meta = {
+    homepage = "http://simple-evcorr.sourceforge.net/";
+    license = "GPLv2";
+    description = "Simple Event Correlator";
+    maintainers = [ stdenv.lib.maintainers.tv ];
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index be42fb4d2a5..7393336f2be 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -4,22 +4,18 @@
 , fixesproto, damageproto, xcmiscproto, bigreqsproto, randrproto, renderproto
 , fontsproto, videoproto, compositeproto, scrnsaverproto, resourceproto
 , libxkbfile, libXfont, libpciaccess, cmake, libjpeg_turbo, libXft, fltk, libXinerama
-, xineramaproto, libXcursor, fetchsvn
+, xineramaproto, libXcursor
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  # Release version = "1.2.0";
-  revision = 5005;
-  version = "r${toString revision}";
+  version = "1.3.1";
   name = "tigervnc-${version}";
 
-  src = fetchsvn {
-    # Release url = "mirror://sourceforge/tigervnc/${version}/${name}.tar.gz";
-    url = "https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk";
-    rev = revision;
-    sha256 = "2401e0ede9a2d50a37caeb094e5e832d24878749239578f44ae2acd42de01b43";
+  src = fetchurl {
+    url = "https://github.com/TigerVNC/tigervnc/archive/v${version}.tar.gz";
+    sha256 = "161bhibic777g47lbjgdnvjhkkdzxrzmxz9rw9sim3q0gcbp0vz3";
   };
 
   inherit fontDirectories;
@@ -52,13 +48,12 @@ stdenv.mkDerivation rec {
     tar xf ${xorgserver.src}
     cp -R xorg*/* unix/xserver
     pushd unix/xserver
-    for a in $xorgPatches
+    for a in $xorgPatches ../xserver114.patch
     do
       patch -p1 < $a
     done
-    patch -p1 < ../xserver113.patch
     autoreconf -vfi
-    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out"
+    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out" --disable-unit-tests
     make TIGERVNC_SRCDIR=`pwd`/../..
     popd
   '';
@@ -92,7 +87,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.tigervnc.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Fork of tightVNC, made in cooperation with VirtualGL";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 187d3345e6b..acb8708ec14 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
 
   meta = {
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = "http://vnc-tight.sourceforge.net/";
     description = "TightVNC is an improved version of VNC";
 
diff --git a/pkgs/tools/archivers/atool/default.nix b/pkgs/tools/archivers/atool/default.nix
index f041f2050ea..1db7a7a42eb 100644
--- a/pkgs/tools/archivers/atool/default.nix
+++ b/pkgs/tools/archivers/atool/default.nix
@@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.nongnu.org/atool;
     description = "Archive command line helper";
-    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 1700f03d7bd..2f3a1b97487 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -1,24 +1,18 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "cpio-2.9";
-  
+  name = "cpio-2.11";
+
   src = fetchurl {
-    url = mirror://gnu/cpio/cpio-2.9.tar.bz2;
-    sha256 = "01s7f9hg8kgpis96j99hgkiqgdy53pm7qi7bhm3fzx58jfk5z6mv";
+    url = mirror://gnu/cpio/cpio-2.11.tar.bz2;
+    sha256 = "bb820bfd96e74fc6ce43104f06fe733178517e7f5d1cdee553773e8eff7d5bbd";
   };
 
-  patches = [
-    # Make it compile on GCC 4.3.
-    (fetchurl {
-      name = "cpio-2.9-gnu-inline.patch";
-      url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/app-arch/cpio/files/cpio-2.9-gnu-inline.patch?rev=1.1";
-      sha256 = "1167hrq64h9lh3qhgasm2rivfzkkgx6fik92b017qfa0q61ff8c3";
-    })
-  ];
+  patches = [ ./no-gets.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-fix.patch;
 
   meta = {
     homepage = http://www.gnu.org/software/cpio/;
     description = "A program to create or extract from cpio archives";
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/archivers/cpio/no-gets.patch b/pkgs/tools/archivers/cpio/no-gets.patch
new file mode 100644
index 00000000000..f7a9be324df
--- /dev/null
+++ b/pkgs/tools/archivers/cpio/no-gets.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/424974
+
+hack until gzip pulls a newer gnulib version
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- a/gnu/stdio.in.h
++++ b/gnu/stdio.in.h
+@@ -125,7 +125,6 @@
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ #undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index ad2269f2add..17b0b77f872 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, zlib, bzip2, openssl, attr, lzo, libgcrypt, e2fsprogs }:
 
 stdenv.mkDerivation rec {
-  name = "dar-2.4.6";
+  name = "dar-2.4.11";
   
   src = fetchurl {
     url = "mirror://sourceforge/dar/${name}.tar.gz";
-    sha256 = "1r83ad32wbdrwxifkw1gdki7z534ggm9hfbmc6jf5lgr5mgkrqbq";
+    sha256 = "0psahvnrkljqg9507dk0vq05w8vilpm98igjrcjkqdirqcfd2py1";
   };
 
-  buildInputs = [ zlib bzip2 openssl attr lzo libgcrypt e2fsprogs ];
+  buildInputs = [ zlib bzip2 openssl lzo libgcrypt ]
+    ++ stdenv.lib.optional stdenv.isLinux [ attr e2fsprogs ];
 
   configureFlags = "--disable-dar-static";
 
@@ -16,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://dar.linux.free.fr/;
     description = "Disk ARchiver, allows backing up files into indexed archives";
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index 24249e38395..87324ac80a2 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -1,18 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gnutar-1.26";
+  name = "gnutar-${version}";
+  version = "1.27.1";
 
   src = fetchurl {
-    url = "mirror://gnu/tar/tar-1.26.tar.bz2";
-    sha256 = "0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss";
+    url = "mirror://gnu/tar/tar-${version}.tar.bz2";
+    sha256 = "1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv";
   };
 
-  patches = [ ./gets-undeclared.patch ];
-
   # May have some issues with root compilation because the bootstrap tool
   # cannot be used as a login shell for now.
-  FORCE_UNSAFE_CONFIGURE = stdenv.lib.optionalString (stdenv.system == "armv7l-linux") "1";
+  FORCE_UNSAFE_CONFIGURE = stdenv.lib.optionalString (stdenv.system == "armv7l-linux" || stdenv.isSunOS) "1";
 
   meta = {
     homepage = http://www.gnu.org/software/tar/;
@@ -33,7 +32,7 @@ stdenv.mkDerivation rec {
       archives).
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/archivers/gnutar/gets-undeclared.patch b/pkgs/tools/archivers/gnutar/gets-undeclared.patch
deleted file mode 100644
index 301a09dde12..00000000000
--- a/pkgs/tools/archivers/gnutar/gets-undeclared.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-This patch is needed to allow builds with newer versions of
-the GNU libc (2.16+).
-
-This is a backport of this patch:
-
-commit 66712c23388e93e5c518ebc8515140fa0c807348
-Author: Eric Blake <eblake@redhat.com>
-Date:   Thu Mar 29 13:30:41 2012 -0600
-
-    stdio: don't assume gets any more
-    
---- tar-1.26/gnu/stdio.in.h	2012-07-02 14:28:45.000000000 +0200
-+++ tar-1.26/gnu/stdio.in.h	2012-07-02 14:28:50.000000000 +0200
-@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
-                  "use gnulib module fflush for portable POSIX compliance");
- #endif
- 
--/* It is very rare that the developer ever has full control of stdin,
--   so any use of gets warrants an unconditional warning.  Assume it is
--   always declared, since it is required by C89.  */
--#undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
--
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
- #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index ff51b28f34b..cd0cea13a14 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://p7zip.sourceforge.net/;
     description = "A port of the 7-zip archiver";
-    # license = "LGPLv2.1+"; + "unRAR restriction"
+    # license = stdenv.lib.licenses.lgpl21Plus; + "unRAR restriction"
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index 273b394881b..afd734fbae0 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/sharutils/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index c790f767f12..a88c0b345d7 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -1,28 +1,32 @@
 {stdenv, fetchurl}:
+
+let
+  version = "5.1.5";
+in
 stdenv.mkDerivation {
-  name = "unrar-3.9.10";
+  name = "unrar-${version}";
 
   src = fetchurl {
-    url = http://www.rarlab.com/rar/unrarsrc-3.9.10.tar.gz;
-    sha256 = "0yi0i2j4srca8cag96ajc80m5xb5328ydzjab6y8h1bhypc2fiiv";
+    url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
+    sha256 = "1jrla255911rbl953br2xbgvyw15kpi11r4lpqm3jlw553ccw912";
   };
 
-  # Add a missing objects to the library
-  #patchPhase = ''
-  #  sed -i 's/^\(LIB_OBJ=.*\)/\1 recvol.o rs.o/' makefile.unix
-  #'';
-
-  buildPhase = ''
-    make -f makefile.unix unrar
-    rm *.o
-    make -f makefile.unix lib CXXFLAGS="-fPIC -O2 -DSILENT";
+  patchPhase = ''
+    sed -i \
+      -e "/CXX=/d" \
+      -e "/CXXFLAGS=/d" \
+      makefile
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/lib
+    mkdir -p $out/bin
     cp unrar $out/bin
-    cp libunrar.so $out/lib
   '';
 
-  buildInputs = [];
+  meta = {
+    description = "Utility for RAR archives";
+    license = "freeware";
+    maintainers = [ stdenv.lib.maintainers.emery ];
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary
+  };
 }
diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix
new file mode 100644
index 00000000000..fc5b984bd90
--- /dev/null
+++ b/pkgs/tools/archivers/xarchiver/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, gtk2, pkgconfig, intltool }:
+
+stdenv.mkDerivation rec {
+  version = "0.5.3";
+  name = "xarchiver-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xarchiver/${name}.tar.bz2";
+    sha256 = "10bdq406xkl2q6rl6qvvipdr3ini5lnh1sjykgw66fp8jns9r2f5";
+  };
+
+  buildInputs = [ gtk2 pkgconfig intltool ];
+
+  meta = {
+    description = "GTK+2 only frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)";
+    homepage = http://sourceforge.net/projects/xarchiver/;
+    mainatainers = [ stdenv.lib.maintainers.iElectric ];
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index 2e3f111aba4..92d8a22fa47 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -22,8 +22,9 @@ stdenv.mkDerivation {
   buildInputs = if enableNLS then [ libnatspec ] else [];
 
   meta = {
+    description = "Compressor/archiver for creating and modifying zipfiles";
     homepage = http://www.info-zip.org;
     platforms = stdenv.lib.platforms.all;
-    maintainer = [ stdenv.lib.maintainers.urkud ];
+    maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix
index 3159bae1826..1ed5866a692 100644
--- a/pkgs/tools/archivers/zpaq/default.nix
+++ b/pkgs/tools/archivers/zpaq/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="zpaq";
-    version="642";
+    version="655";
     name="${baseName}-${version}";
-    hash="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5";
-    url="http://mattmahoney.net/dc/zpaq642.zip";
-    sha256="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5";
+    hash="09wjss6vbziwvfmcngb64xd2yih79z1ypgrn4ni7ag8cifx9257c";
+    url="http://mattmahoney.net/dc/zpaq655.zip";
+    sha256="09wjss6vbziwvfmcngb64xd2yih79z1ypgrn4ni7ag8cifx9257c";
   };
   buildInputs = [
     unzip
diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix
new file mode 100644
index 00000000000..69c62985154
--- /dev/null
+++ b/pkgs/tools/audio/gvolicon/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, makeWrapper, alsaLib, pkgconfig, fetchgit, gnome3, hicolor_icon_theme, gdk_pixbuf, librsvg }:
+
+stdenv.mkDerivation {
+  name = "gvolicon";
+  src = fetchgit {
+    url = "https://github.com/Unia/gvolicon";
+    rev = "26343415de836e0b05aa0b480c0c69cc2ed9e419";
+    sha256 = "68858840a45b5f74803e85116c6219f805d6d944c00354662889549910856cdd";
+  };
+
+  buildInputs = [ pkgconfig makeWrapper alsaLib gnome3.gtk ];
+  propagatedBuildInputs = [ gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic hicolor_icon_theme gdk_pixbuf librsvg ];
+  installPhase = ''
+    make install PREFIX=$out
+    wrapProgram "$out/bin/gvolicon" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gvolicon:$XDG_ICON_DIRS"
+    '';
+
+  meta = {
+    description = "A simple and lightweight volume icon that sits in your system tray.";
+    homepage = "https://github.com/Unia/gvolicon";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = stdenv.lib.maintainers.bennofs;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix
new file mode 100644
index 00000000000..61553566d6c
--- /dev/null
+++ b/pkgs/tools/audio/mpdcron/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, glib, libdaemon
+, mpd_clientlib, curl, sqlite, ruby, rubyLibs, libnotify }:
+
+stdenv.mkDerivation rec {
+  version = "20130809";
+  name    = "mpdcron-${version}";
+
+  src = fetchgit {
+    url    = https://github.com/alip/mpdcron.git;
+    rev    = "1dd16181c32f33e7754bbe21841c8e70b28f8ecd";
+    sha256 = "1h3n433jn9yg74i218pkxzrngsjpnf0z02lakfldl6j1s9di2pn3";
+  };
+
+  meta = {
+    description = "A cron like daemon for mpd.";
+    homepage    = http://alip.github.io/mpdcron/;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = with stdenv.lib.platforms; unix;
+    maintainers = [ stdenv.lib.maintainers.lovek323 ];
+  };
+
+  buildInputs =
+    [ autoconf automake libtool pkgconfig glib libdaemon
+      mpd_clientlib curl sqlite ruby rubyLibs.nokogiri libnotify ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ];
+}
diff --git a/pkgs/tools/audio/pa-applet/default.nix b/pkgs/tools/audio/pa-applet/default.nix
index c5b45743c34..6d5dd6ffca0 100644
--- a/pkgs/tools/audio/pa-applet/default.nix
+++ b/pkgs/tools/audio/pa-applet/default.nix
@@ -17,11 +17,13 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
+  # work around a problem related to gtk3 updates
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   postInstall = ''
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://projects.gnome.org/NetworkManager/;
     description = "";
     license = licenses.gpl2;
     maintainers = with maintainers; [ iElectric ];
diff --git a/pkgs/tools/backup/btar/default.nix b/pkgs/tools/backup/btar/default.nix
index 0258edb8a19..89f577e93ad 100644
--- a/pkgs/tools/backup/btar/default.nix
+++ b/pkgs/tools/backup/btar/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Tar-compatible block-based archiver";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     homepage = http://viric.name/cgi-bin/btar;
     platforms = with stdenv.lib.platforms; all;
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index e683df5a7fe..d1748cc252e 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -3,14 +3,16 @@
 
 assert par2Support -> par2cmdline != null;
 
+let rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58"; in
+
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "bup-0.25-rc1-107-g96c6fa2";
+  name = "bup-0.25-rc1-107-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "https://github.com/bup/bup.git";
-    rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58";
+    inherit rev;
     sha256 = "0d9hgyh1g5qcpdvnqv3a5zy67x79yx9qx557rxrnxyzqckp9v75n";
   };
 
@@ -53,7 +55,6 @@ stdenv.mkDerivation {
       Capable of doing *fast* incremental backups of virtual machine images.
     '';
 
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/backup/chunksync/default.nix b/pkgs/tools/backup/chunksync/default.nix
new file mode 100644
index 00000000000..baa0d617016
--- /dev/null
+++ b/pkgs/tools/backup/chunksync/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, openssl, perl }:
+
+stdenv.mkDerivation rec {
+  version = "0.3";
+  name = "chunksync-${version}";
+
+  src = fetchurl {
+    url = "http://chunksync.florz.de/chunksync_${version}.tar.gz";
+    sha256 = "e0c27f925c5cf811798466312a56772864b633728c433fb2fcce23c8712b52fc";
+  };
+
+  buildInputs = [openssl perl];
+
+  NIX_LDFLAGS = "-lgcc_s";
+
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+  '';
+
+  meta = {
+    description = "Space-efficient incremental backups of large files or block devices";
+    homepage = "http://chunksync.florz.de/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index e10b44d63c8..45d6cb83739 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper }:
+{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper, lockfile }:
 
+let
+  version = "0.6.23";
+in
 stdenv.mkDerivation {
-  name = "duplicity-0.6.21";
+  name = "duplicity-${version}";
 
   src = fetchurl {
-    url = "http://code.launchpad.net/duplicity/0.6-series/0.6.21/+download/duplicity-0.6.21.tar.gz";
-    sha256 = "01ppxzghnig7al9cwi8ap95y0d3j5n0vf3ag06iw3ysiq6k8lqm3";
+    url = "http://code.launchpad.net/duplicity/0.6-series/${version}/+download/duplicity-${version}.tar.gz";
+    sha256 = "0q0ckkmyq9z7xfbb1jajflmbzjwxpcjkkiab43rxrplm0ghz25vs";
   };
 
   installPhase = ''
     python setup.py install --prefix=$out
     wrapProgram $out/bin/duplicity \
-      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \
+      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
       --prefix PATH : "${gnupg}/bin:${ncftp}/bin"
     wrapProgram $out/bin/rdiffdir \
-      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \
+      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
   '';
 
   buildInputs = [ python librsync makeWrapper ];
@@ -22,7 +25,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Encrypted bandwidth-efficient backup using the rsync algorithm";
     homepage = "http://www.nongnu.org/duplicity";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric simons];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 5e95ede695c..73ef23059f4 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, coreutils, python, duplicity, gawk, gnupg1, bash
-, gnugrep, txt2man, makeWrapper }:
+, gnugrep, txt2man, makeWrapper
+}:
 
 stdenv.mkDerivation {
-  name = "duply-1.5.11";
+  name = "duply-1.7.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.5.x/duply_1.5.11.tgz";
-    sha256 = "07z4wl75z227v8y9xwc2pfdp307a5jzx4sif598vprqync0g6mmk";
+    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.7.x/duply_1.7.3.tgz";
+    sha256 = "1lq5gwz69l8g4ki4anvmjdngbs9nin124j1zb9kbcnqj0s5jkbp0";
   };
 
   buildInputs = [ txt2man makeWrapper ];
diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix
index c02a16d821a..4df142afe3a 100644
--- a/pkgs/tools/backup/httrack/default.nix
+++ b/pkgs/tools/backup/httrack/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib, openssl }:
 
 stdenv.mkDerivation rec {
-  version = "3.47.21";
+  version = "3.48.17";
   name = "httrack-${version}";
 
   src = fetchurl {
     url = "http://mirror.httrack.com/httrack-${version}.tar.gz";
-    sha256 = "1jqw0zx74jpi0svivvqhja3ixcrfkh9sbi9fwfw83jga27bc1sp0";
+    sha256 = "03q8sk7qihw9x4bfgfhv6523khgj13nilqps28qy7ndpzpggw9vn";
   };
 
   buildInputs = [ zlib openssl ];
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.httrack.com";
     description = "Easy-to-use offline browser utility";
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 6d550e95a9d..bf71f9397cb 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "obnam-${version}";
-  version = "1.4";
+  version = "1.8";
 
   namePrefix = "";
 
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz";
-    sha256 = "0gipbhh20p9n1x1cdpcil8vg3i20f1saa0xyz2wydb9xl4l2mjff";
+    sha256 = "0190yz65hfdq69xws4h1izxz59by0b437d7z1l4cf5ixkv16j17p";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/backup/ori/default.nix b/pkgs/tools/backup/ori/default.nix
new file mode 100644
index 00000000000..d95716864c8
--- /dev/null
+++ b/pkgs/tools/backup/ori/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, boost, pkgconfig, scons, utillinux, fuse, libevent, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "0.8.1";
+  name = "ori-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/orifs/ori/downloads/ori-0.8.1.tar.xz";
+    sha256 = "8ce1a3dfbb6d1538885e993616bdfe71be44711d48f7f6798ff6bc0a39b3deca";
+  };
+
+  buildInputs = [ 
+    boost pkgconfig scons utillinux fuse libevent openssl zlib
+  ];
+
+  buildPhase = ''
+    scons PREFIX=$out WITH_ORILOCAL=1 install
+  '';
+
+  installPhase = ":";
+
+  meta = with stdenv.lib; {
+    description = "A secure distributed file system";
+    homepage = http://ori.scs.stanford.edu/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index d52cbdebb67..58affe10e4e 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, python, librsync, gnused }:
 
 stdenv.mkDerivation {
-  name = "rdiff-backup-1.2.8";
+  name = "rdiff-backup-1.3.3";
 
   src = fetchurl {
-    url = mirror://savannah/rdiff-backup/rdiff-backup-1.2.8.tar.gz;
-    sha256 = "1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d";
+    url = mirror://savannah/rdiff-backup/rdiff-backup-1.3.3.tar.gz;
+    sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf";
   };
 
   phases = "unpackPhase installPhase";
@@ -15,11 +15,12 @@ stdenv.mkDerivation {
       "/import sys/ asys.path += [ \"$out/lib/python2.7/site-packages/\" ]"
   '';
 
-  buildInputs = [python librsync gnused ];
+  buildInputs = [ python librsync gnused ];
 
   meta = {
     description = "backup system trying to combine best a mirror and an incremental backup system";
     homepage = http://rdiff-backup.nongnu.org/;
-    license = "GPL-2";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/backup/rsnapshot/default.nix b/pkgs/tools/backup/rsnapshot/default.nix
index 9b147d68230..0bd19e2d6be 100644
--- a/pkgs/tools/backup/rsnapshot/default.nix
+++ b/pkgs/tools/backup/rsnapshot/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A filesystem snapshot utility for making backups of local and remote systems";
     homepage = http://rsnapshot.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix
index e9b98fec710..c986adeafdc 100644
--- a/pkgs/tools/backup/store-backup/default.nix
+++ b/pkgs/tools/backup/store-backup/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    ensureDir $out/scripts
+    mkdir -p $out/scripts
     mv * $out
     mv $out/_ATTENTION_ $out/doc
     mv $out/{correct.sh,cron-storebackup} $out/scripts
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
new file mode 100644
index 00000000000..c272f0e8378
--- /dev/null
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pythonPackages, lzop, postgresql, pv }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "wal-e-${version}";
+  version = "0.6.9";
+
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://github.com/wal-e/wal-e/archive/v${version}.tar.gz";
+    sha256 = "1yzz9hic8amq7mp0kh04hsmwisk5r374ddja5g8345bl8y3bzbgk";
+  };
+
+  # needs tox
+  doCheck = false;
+
+  propagatedBuildInputs = [
+    pythonPackages.boto
+    pythonPackages.gevent
+    postgresql
+    lzop
+    pv
+  ];
+
+  meta = {
+    description = "A Postgres WAL-shipping disaster recovery and replication toolkit";
+    homepage = https://github.com/wal-e/wal-e;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/bluetooth/bluedevil/default.nix b/pkgs/tools/bluetooth/bluedevil/default.nix
index b8b7510b882..e5a4f83ab0f 100644
--- a/pkgs/tools/bluetooth/bluedevil/default.nix
+++ b/pkgs/tools/bluetooth/bluedevil/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Bluetooth manager for KDE";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     inherit (kdelibs.meta) platforms;
     maintainers = [ maintainers.phreedom ];
   };
diff --git a/pkgs/tools/bluetooth/obex-data-server/default.nix b/pkgs/tools/bluetooth/obex-data-server/default.nix
index 790b57f4a76..53e854c34eb 100644
--- a/pkgs/tools/bluetooth/obex-data-server/default.nix
+++ b/pkgs/tools/bluetooth/obex-data-server/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus_glib, bluez, openobex }:
+{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus_glib, bluez, openobex, dbus_libs }:
    
 stdenv.mkDerivation rec {
   name = "obex-data-server-0.4.6";
@@ -8,7 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "0kq940wqs9j8qjnl58d6l3zhx0jaszci356xprx23l6nvdfld6dk";
   };
 
-  buildInputs = [ pkgconfig libusb glib dbus_glib bluez openobex ];
+  buildInputs = [ pkgconfig libusb glib dbus_glib bluez openobex dbus_libs ];
+
+  patches = [ ./obex-data-server-0.4.6-build-fixes-1.patch ];
+
+  preConfigure = ''
+  addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig
+  export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH"
+  '';
 
   meta = {
     homepage = http://wiki.muiline.com/obex-data-server;
diff --git a/pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch b/pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
new file mode 100644
index 00000000000..b5fde8db589
--- /dev/null
+++ b/pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
@@ -0,0 +1,56 @@
+Submitted By:            Armin K. <krejzi at email dot com>
+Date:                    2012-07-06
+Initial Package Version: 0.4.6
+Upstream Status:         Unknown
+Origin:                  Self
+Description:             Some build fixes.
+
+--- obex-data-server.orig/src/ods-obex.c	2011-02-10 10:14:42.000000000 +0100
++++ obex-data-server/src/ods-obex.c	2012-07-06 20:10:09.208712553 +0200
+@@ -412,7 +412,7 @@
+ 		goto err;
+ 	}
+ 
+-	interfaces_num = OBEX_FindInterfaces(obex_context->obex_handle, &obex_intf);
++	interfaces_num = OBEX_EnumerateInterfaces(obex_context->obex_handle);
+ 	if (intf_num >= interfaces_num) {
+ 		g_set_error (error, ODS_ERROR, ODS_ERROR_FAILED, "Invalid interface number");
+ 		goto err;
+@@ -1928,7 +1928,7 @@
+ 	gchar	*uname;
+ 	gsize	uname_len;
+ 
+-	if (action != OBEX_ACTION_SETPERM)
++	if (action != 0x03)
+ 		g_assert (src && dst);
+ 
+ 	object = OBEX_ObjectNew (obex_context->obex_handle, OBEX_CMD_ACTION);
+@@ -1974,7 +1974,7 @@
+ 	                      OBEX_HDR_ACTION_ID, hv, 1, 0);
+ 
+ 	/* permissions header */
+-	if (action == OBEX_ACTION_SETPERM) {
++	if (action == 0x03) {
+ 		hv.bq4 = perms;
+ 		ret = OBEX_ObjectAddHeader (obex_context->obex_handle, object,
+ 		                            OBEX_HDR_PERMISSIONS, hv, 4, 0);
+--- obex-data-server.orig/src/ods-session.c	2011-02-10 09:57:31.000000000 +0100
++++ obex-data-server/src/ods-session.c	2012-07-06 20:10:09.208712553 +0200
+@@ -1761,7 +1761,7 @@
+                          DBusGMethodInvocation *context)
+ {
+ 	return ods_session_remote_action (session, remote_source,
+-	                                  remote_destination, OBEX_ACTION_COPY,
++	                                  remote_destination, 0x00,
+ 	                                  context);
+ }
+ 
+@@ -1772,7 +1772,7 @@
+                          DBusGMethodInvocation *context)
+ {
+ 	return ods_session_remote_action (session, remote_source,
+-	                                  remote_destination, OBEX_ACTION_MOVE,
++	                                  remote_destination, 0x01,
+ 	                                  context);
+ }
+ 
diff --git a/pkgs/tools/cd-dvd/cdrkit/default.nix b/pkgs/tools/cd-dvd/cdrkit/default.nix
index 0d44624786b..bcf9ec2c0cc 100644
--- a/pkgs/tools/cd-dvd/cdrkit/default.nix
+++ b/pkgs/tools/cd-dvd/cdrkit/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     '';
     
     homepage = http://cdrkit.org/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index 0b97f03a9ad..516f0750807 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 = "585"; in
+let version = "603"; in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "unetbootin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz";
-    sha256 = "1jwwmh4bfrsy4clmnmk9y7h5cd9nh2z3bbm6qwd5p5aw0ich9vk3";
+    sha256 = "03nhy1w9q0ycpcni6w61ps1mji859nvmvr1bhnlzi04z0s5ldbwx";
   };
 
   sourceRoot = ".";
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://unetbootin.sourceforge.net/;
     description = "A tool to create bootable live USB drives from ISO images";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/cd-dvd/vobcopy/default.nix b/pkgs/tools/cd-dvd/vobcopy/default.nix
index fd0f131b8c2..f181ab71edf 100644
--- a/pkgs/tools/cd-dvd/vobcopy/default.nix
+++ b/pkgs/tools/cd-dvd/vobcopy/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Copies DVD .vob files to harddisk, decrypting them on the way";
     homepage = http://vobcopy.org/projects/c/c.shtml;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
new file mode 100644
index 00000000000..30ae07f9dbd
--- /dev/null
+++ b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, cmake, libtiff, pkgconfig, tesseract }:
+
+let rev = "b70b6f584e8151f70f9d90df054af0911ea7475e";
+    shortRev = builtins.substring 0 7 rev;
+in
+stdenv.mkDerivation {
+  name = "vobsub2srt-git-20140226-${shortRev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = https://github.com/ruediger/VobSub2SRT.git;
+    sha256 = "15437eba07e674cec66bc54cfa42ffe8b05816975401c9950bf9016e3881cd6a";
+  };
+
+  buildInputs = [ cmake libtiff pkgconfig ];
+  propagatedBuildInputs = [ tesseract ];
+
+  meta = {
+    homepage = https://github.com/ruediger/VobSub2SRT;
+    description = "Converts VobSub subtitles into SRT subtitles";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index 514b69a1992..88cca66efb1 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,16 +1,16 @@
-{ fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl }:
+{ fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl, attr }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.2.2";
+  name = "xorriso-1.3.4";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "0kw4fiqn24vya3zhay6minzrbz10zlxm8sjs272z7l5s2kwcjypx";
+    sha256 = "0wvxbvkpdydcbmqi9xz7nv8cna6vp9726ahmmxxyx56cz4xifr4x";
   };
 
   doCheck = true;
 
-  buildInputs = [ libcdio zlib bzip2 readline ]
+  buildInputs = [ libcdio zlib bzip2 readline attr ]
     ++ stdenv.lib.optional stdenv.isLinux acl;
 
   meta = {
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
          filesystems.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/xorriso/;
 
diff --git a/pkgs/tools/compression/bsdiff/builder.sh b/pkgs/tools/compression/bsdiff/builder.sh
deleted file mode 100644
index f2792a40a60..00000000000
--- a/pkgs/tools/compression/bsdiff/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-installFlags="PREFIX=$out INSTALL=install"
-
-mkdir -p "$out/bin"
-mkdir -p "$out/man/man1"
-
-genericBuild
diff --git a/pkgs/tools/compression/bsdiff/default.nix b/pkgs/tools/compression/bsdiff/default.nix
index 81210490883..1d693f781e6 100644
--- a/pkgs/tools/compression/bsdiff/default.nix
+++ b/pkgs/tools/compression/bsdiff/default.nix
@@ -1,14 +1,37 @@
-{stdenv, fetchurl, bzip2}:
+{ stdenv, fetchurl, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name    = "bsdiff-${version}";
+  version = "4.3";
 
-stdenv.mkDerivation {
-  name = "bsdiff-4.3";
-  builder = ./builder.sh;
   src = fetchurl {
-    url = http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz;
+    url    = "http://www.daemonology.net/bsdiff/${name}.tar.gz";
     sha256 = "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq";
   };
+
   buildInputs = [ bzip2 ];
-  patchPhase = ''
-    sed 's/^\.//g' -i Makefile
+  patches = [ ./include-systypes.patch ];
+
+  buildPhase = ''
+    cc -O3 -lbz2 bspatch.c -o bspatch
+    cc -O3 -lbz2 bsdiff.c  -o bsdiff
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+
+    cp bsdiff    $out/bin
+    cp bspatch   $out/bin
+    cp bsdiff.1  $out/share/man/man1
+    cp bspatch.1 $out/share/man/man1
   '';
+
+  meta = {
+    description = "An efficient binary diff/patch tool";
+    homepage    = "http://www.daemonology.net/bsdiff";
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
 }
diff --git a/pkgs/tools/compression/bsdiff/include-systypes.patch b/pkgs/tools/compression/bsdiff/include-systypes.patch
new file mode 100644
index 00000000000..d070a8bb0f8
--- /dev/null
+++ b/pkgs/tools/compression/bsdiff/include-systypes.patch
@@ -0,0 +1,12 @@
+diff --git a/bspatch.c b/bspatch.c
+index 643c60b..543379c 100644
+--- a/bspatch.c
++++ b/bspatch.c
+@@ -28,6 +28,7 @@
+ __FBSDID("$FreeBSD: src/usr.bin/bsdiff/bspatch/bspatch.c,v 1.1 2005/08/06 01:59:06 cperciva Exp $");
+ #endif
+ 
++#include <sys/types.h>
+ #include <bzlib.h>
+ #include <stdlib.h>
+ #include <stdio.h>
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index a431cd30a21..55fca6ca3cb 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
 
   crossAttrs = {
     patchPhase = ''
+      sed -i -e '/<sys\\stat\.h>/s|\\|/|' bzip2.c
       sed -i -e 's/CC=gcc/CC=${stdenv.cross.config}-gcc/' \
         -e 's/AR=ar/AR=${stdenv.cross.config}-ar/' \
         -e 's/RANLIB=ranlib/RANLIB=${stdenv.cross.config}-ranlib/' \
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index 0e674225344..b7bf9c59f49 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -1,13 +1,18 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, less }:
 
 stdenv.mkDerivation rec {
-  name = "gzip-1.5";
+  name = "gzip-1.6";
 
   src = fetchurl {
     url = "mirror://gnu/gzip/${name}.tar.xz";
-    sha256 = "0wx1nqk709kx75cwp2axachnbxryp4gyl06qxn5nl95184w0mhls";
+    sha256 = "0ivqnbhiwd12q8hp3qw6rpsrpw2jg5y2mymk8cn22lsx90dfvprp";
   };
 
+  enableParallelBuilding = true;
+
+  # In stdenv-linux, prevent a dependency on bootstrap-tools.
+  makeFlags = "SHELL=/bin/sh GREP=grep";
+
   meta = {
     homepage = http://www.gnu.org/software/gzip/;
     description = "Gzip, the GNU zip compression program";
@@ -24,8 +29,6 @@ stdenv.mkDerivation rec {
         is just a bonus.
       '';
 
-    license = "GPLv3+";
-
-    maintainers = [ ];
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix
new file mode 100644
index 00000000000..bff8068db60
--- /dev/null
+++ b/pkgs/tools/compression/kzipmix/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "kzipmix-20091108";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/kzipmix-20091108-linux.tar.gz;
+    sha256 = "19gyn8pblffdz1bf3xkbpzx8a8wn3xb0v411pqzmz5g5l6pm5gph";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp kzip zipmix $out/bin
+    
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/kzip
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/zipmix
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of Zip archives";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix
index 6fd1ae97d96..51f61fcf239 100644
--- a/pkgs/tools/compression/lrzip/default.nix
+++ b/pkgs/tools/compression/lrzip/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://ck.kolivas.org/apps/lrzip/;
     description = "The CK LRZIP compression program (LZMA + RZIP)";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     inherit version;
   };
 }
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index 03a8a7f169d..2c6907fa373 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "lzip-1.14";
+  name = "lzip-1.15";
 
   buildInputs = [ texinfo ];
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${name}.tar.gz";
-    sha256 = "1rybhk2pxpfh2789ck9mrkdv3bpx7b7miwndlshb5vb02m9crxbz";
+    sha256 = "1dh5vmj5apizfawnsm50y7z064yx7cz3313przph16gwd3dgrlvw";
   };
 
   configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3";
diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix
index 117e110aac3..ff6279973d1 100644
--- a/pkgs/tools/compression/pigz/default.nix
+++ b/pkgs/tools/compression/pigz/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, zlib, utillinux }:
 
 let name = "pigz";
-    version = "2.2.4";
+    version = "2.3.1";
 in
 stdenv.mkDerivation {
   name = name + "-" + version;
 
   src = fetchurl {
     url = "http://www.zlib.net/${name}/${name}-${version}.tar.gz";
-    sha256 = "7e7967c47f66c07be97cbfa25c8816b72f9d35258466ea31eddc7666c914160e";
+    sha256 = "0m5gw134wfqy1wwqzla0f6c88bxys1sq5gs22zrphf9a8bjhr6v2";
   };
 
   buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux utillinux;
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     homepage = "http://www.zlib.net/pigz/";
     description = "A parallel implementation of gzip for multi-core machines";
 
-    platforms = stdenv.lib.platforms.unix;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/tools/compression/rzip/default.nix b/pkgs/tools/compression/rzip/default.nix
index 8c4547753aa..ca8d356abb3 100644
--- a/pkgs/tools/compression/rzip/default.nix
+++ b/pkgs/tools/compression/rzip/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://rzip.samba.org/;
     description = "The RZIP compression program";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix
index 4df2947d137..c012be7c56d 100644
--- a/pkgs/tools/compression/upx/default.nix
+++ b/pkgs/tools/compression/upx/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, ucl, zlib}:
 
 stdenv.mkDerivation {
-  name = "upx-3.07";
+  name = "upx-3.91";
   src = fetchurl {
-    url = mirror://sourceforge/upx/upx-3.07-src.tar.bz2;
-    sha256 = "07pcgjn7x0a734mvhgqwz24qkm1rzqrkcp67pmagzz6i765cp7bs";
+    url = mirror://sourceforge/upx/upx-3.91-src.tar.bz2;
+    sha256 = "0g3aiinlcb37z1xhs202h2qrgbf8dygiyarmflbgahcq89byfz2j";
   };
 
   buildInputs = [ ucl zlib ];
@@ -29,6 +29,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://upx.sourceforge.net/;
     description = "The Ultimate Packer for eXecutables";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 52e0c61d3c1..c9b57bc4669 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "xz-5.0.4";
+  name = "xz-5.0.5";
 
   src = fetchurl {
     url = "http://tukaani.org/xz/${name}.tar.bz2";
-    sha256 = "14nf55b47335aakswqk0kqv1qsh4269rnb757dmkkbd1sdhb1naw";
+    sha256 = "1404i59bp6rzxya0br1q9njdv32z4sggyfrkjr7vq695hk94hv0n";
   };
 
   outputs = [ "out" "dev" "man" "doc" ];
 
   doCheck = true;
 
+  # In stdenv-linux, prevent a dependency on bootstrap-tools.
+  preHook = "unset CONFIG_SHELL";
+
   meta = {
     homepage = http://tukaani.org/xz/;
     description = "XZ, general-purpose data compression software, successor of LZMA";
@@ -30,7 +33,7 @@ stdenv.mkDerivation rec {
          bzip2.
       '';
 
-    licenses = [ "GPLv2+" "LGPLv2.1+" ];
+    license = [ "GPLv2+" "LGPLv2.1+" ];
     maintainers = with stdenv.lib.maintainers; [ sander ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix
index 8c7593121bb..5a43aa52a0e 100644
--- a/pkgs/tools/filesystems/archivemount/default.nix
+++ b/pkgs/tools/filesystems/archivemount/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pkgconfig, fuse, libarchive }:
 
 let
-  name = "archivemount-0.6.1";
+  name = "archivemount-0.8.3";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://www.cybernoia.de/software/archivemount/${name}.tar.gz";
-    sha256 = "9235d6377a70a7c25aa288dab6b0e8ef906d1d219d43e5b8fcdb8cf3ace98e01";
+    sha256 = "1zv1fvik76kpp1q5f2dz01f4fwg1m5a8rl168px47jy9nyl9k277";
   };
 
   buildInputs = [ pkgconfig fuse libarchive ];
 
   meta = {
     description = "Gateway between FUSE and libarchive: allows mounting of cpio, .tar.gz, .tar.bz2 archives";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix
new file mode 100644
index 00000000000..161383cb9de
--- /dev/null
+++ b/pkgs/tools/filesystems/bcache-tools/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, pkgconfig, utillinux, kmod }:
+
+stdenv.mkDerivation rec {
+  name = "bcache-tools-${version}";
+  version = "1.0.7";
+
+  src = fetchurl {
+    url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz";
+    sha256 = "1gbsh2qw0a7kgck6w0apydiy37nnz5xvdgipa0yqrfmghl86vmv4";
+  };
+
+  buildInputs = [ pkgconfig utillinux ];
+
+  # * Remove broken install rules (they ignore $PREFIX) for stuff we don't need
+  #   anyway (it's distro specific stuff).
+  # * Fixup absolute path to modprobe.
+  prePatch = ''
+    sed -e "/INSTALL.*initramfs\/hook/d" \
+        -e "/INSTALL.*initcpio\/install/d" \
+        -e "/INSTALL.*dracut\/module-setup.sh/d" \
+        -i Makefile
+
+    sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|" -i bcache-register
+  '';
+
+  preBuild = ''
+    export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\"";
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/sbin" "$out/lib/udev/rules.d" "$out/share/man/man8"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "User-space tools required for bcache (Linux block layer cache)";
+    longDescription = ''
+      Bcache is a Linux kernel block layer cache. It allows one or more fast
+      disk drives such as flash-based solid state drives (SSDs) to act as a
+      cache for one or more slower hard disk drives.
+      
+      This package contains the required user-space tools.
+
+      User documentation is in Documentation/bcache.txt in the Linux kernel
+      tree.
+    '';
+    homepage = http://bcache.evilpiepirate.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
new file mode 100644
index 00000000000..7d79eefb122
--- /dev/null
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, fuse, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "1.12.6";
+  name    = "bindfs-${version}";
+
+  src = fetchurl {
+    url    = "http://bindfs.org/downloads/${name}.tar.gz";
+    sha256 = "0s90n1n4rvpcg51ixr5wx8ixml1xnc7w28xlbnms34v19pzghm59";
+  };
+
+  dontStrip = true;
+
+  buildInputs = [ fuse pkgconfig ];
+
+  meta = {
+    description = "A FUSE filesystem for mounting a directory to another location";
+    homepage    = http://bindfs.org;
+    license     = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c b/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c
deleted file mode 100644
index 483ec5f8415..00000000000
--- a/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-btrfs receive currently mandates that incremental receives can only be performed on a parent subvolume
-that was also received. This means you cannot apply it to (snapshotted) subvolumes you still have on disk, 
-as they were not received themselves.
-
-This small utility allows you to set the received_uuid of a subvolume, tricking btrfs receive into using it.
-
-found on btrfs mailing list
-read the discussion here: http://comments.gmane.org/gmane.comp.file-systems.btrfs/21922
-*/
-
-#define _GNU_SOURCE
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <string.h>
-#include <uuid/uuid.h>
-#include <sys/ioctl.h>
-
-#include "ctree.h"
-#include "ioctl.h"
-#include "send-utils.h"
-
-#define CLEAR(var) memset(&var, 0, sizeof(var))
-
-
-int main(int argc, char **argv) {
-	int ret, fd;
-	struct subvol_uuid_search sus;
-	struct btrfs_ioctl_received_subvol_args rs_args;
-	struct subvol_info *si;
-	char uuidbuf[37], parent_uuidbuf[37], received_uuidbuf[37];
-
-
-	if (argc != 3 && argc != 4) {
-		printf("usage: btrfs-set-received-uuid btrfs-mountpoint src-subvolume-path-relative-to-mountpoint [dest-absolute-subvolume-path]\n");
-		exit(1);
-	}
-
-	printf("opening srcmnt %s\n", argv[1]);
-	fd = open(argv[1], O_RDONLY | O_NOATIME);
-	if (fd < 0) {
-		printf("failed to open srcmnt %s! %s\n", argv[1], strerror(errno));
-		exit(2);
-	}
-
-	puts("initializing sub search");
-	CLEAR(sus);
-	ret = subvol_uuid_search_init(fd, &sus);
-	if (ret < 0) {
-		printf("failed to initialize sub search! %s\n", strerror(-ret));
-		exit(3);
-	}
-	
-	printf("searching srcsub %s\n", argv[2]);
-	si = subvol_uuid_search(&sus, 0, NULL, 0, argv[2], subvol_search_by_path);
-	if (!si) {
-		puts("srcsub not found!");
-		exit(4);
-	}
-
-	uuid_unparse(si->uuid,                   uuidbuf);
-	uuid_unparse(si->parent_uuid,     parent_uuidbuf);
-	uuid_unparse(si->received_uuid, received_uuidbuf);
-
-	printf("\nsrcsub found:\n"
-	       "         uuid=%s\n"
-	       "  parent_uuid=%s\n"
-	       "received_uuid=%s\n"
-	       "ctransid=%Lu otransid=%Lu stransid=%Lu rtransid=%Lu\n\n",
-	       uuidbuf, parent_uuidbuf, received_uuidbuf,
-	       (unsigned long long)(si->ctransid),
-	       (unsigned long long)(si->otransid),
-	       (unsigned long long)(si->stransid),
-	       (unsigned long long)(si->rtransid));
-
-	if (argc == 3)
-		goto done;
-
-	printf("opening dst subvol %s\n", argv[3]);
-	fd = open(argv[3], O_RDONLY | O_NOATIME);
-	if (fd < 0) {
-		printf("failed to open dst subvol %s. %s\n", argv[3], strerror(errno));
-		exit(5);
-	}
-
-	printf("\nhere we go with BTRFS_IOC_SET_RECEIVED_SUBVOL:\n"
-	       "dstsub.received_uuid = srcsub.uuid == %s\n"
-	       "dstsub.stransid = srcsub.ctransid == %Lu\n\n",
-	       uuidbuf, (unsigned long long)(si->ctransid));
-
-	CLEAR(rs_args);
-	memcpy(rs_args.uuid, si->uuid, BTRFS_UUID_SIZE);
-	rs_args.stransid = si->ctransid;
-
-	ret = ioctl(fd, BTRFS_IOC_SET_RECEIVED_SUBVOL, &rs_args);
-	if (ret < 0) {
-		printf("BTRFS_IOC_SET_RECEIVED_SUBVOL failed: %s", strerror(-ret));
-		exit(6);
-	}
-
-done:
-	printf("done.\n");
-	exit(0);
-}
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 0661755d2e1..66152f9589b 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,35 +1,24 @@
-{ stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs, lzo }:
+{ stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo
+, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }:
 
-let version = "0.20pre20130705"; in
+let version = "3.14.2"; in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
-  src = fetchgit {
-    url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git";
-    rev = "194aa4a1bd6447bb545286d0bcb0b0be8204d79f";
-    sha256 = "07c6762c9873cdcc1b9b3be0b412ba14b83457d8f5608d3dd945953b5e06f0f2";
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz";
+    sha256 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh";
   };
 
-  buildInputs = [ zlib libuuid acl attr e2fsprogs lzo ];
+  buildInputs = [
+    attr acl zlib libuuid e2fsprogs lzo
+    asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
+  ];
 
   # for btrfs to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
 
-  postPatch = ''
-    cp ${./btrfs-set-received-uuid.c} btrfs-set-received-uuid.c
-  '';
-
-  postBuild = ''
-    gcc -Wall -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DBTRFS_FLAT_INCLUDES \
-        -fPIC -g -O1 -luuid -o btrfs-set-received-uuid rbtree.o send-utils.o btrfs-list.o \
-        btrfs-set-received-uuid.c
-  '';
-
-  postInstall = ''
-    cp btrfs-set-received-uuid $out/bin
-  '';
-
   makeFlags = "prefix=$(out)";
 
   meta = {
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
new file mode 100644
index 00000000000..7a8b85a8945
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchgit, libatomic_ops, autoconf, automake, boost, btrfsProgs, cryptopp, curl, expat,
+ fcgi, fuse, gperftools, keyutils, leveldb, libaio, libedit, libtool,
+ libuuid, linuxHeaders, openssl, pkgconfig, python, snappy, which, xfsprogs, xz}:
+
+stdenv.mkDerivation rec {
+  baseName="ceph";
+  version="0.79";
+  name="${baseName}-${version}";
+  buildInputs = [
+    fuse linuxHeaders pkgconfig libatomic_ops autoconf automake boost btrfsProgs cryptopp expat
+    fcgi fuse gperftools keyutils leveldb libaio libedit libtool libuuid openssl pkgconfig
+    python snappy which xfsprogs.lib xz
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  installFlags = "DESTDIR=\${out}";
+
+  enableParallelBuilding = true;
+  src = fetchgit {
+    url = "https://github.com/ceph/ceph";
+    rev = "4c2d73a5095f527c3a2168deb5fa54b3c8991a6e";
+    sha256 = "0850m817wqqmw2qdnwm5jvbdgifzlc7kcd05jv526pdvmq1x92rf";
+  };
+
+  meta = {
+    inherit version;
+    description = "Distributed storage system";
+    maintainers = [
+      stdenv.lib.maintainers.ak
+    ];
+    platforms = with stdenv.lib.platforms; 
+      linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/chunkfs/default.nix b/pkgs/tools/filesystems/chunkfs/default.nix
new file mode 100644
index 00000000000..d91525e348f
--- /dev/null
+++ b/pkgs/tools/filesystems/chunkfs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, perl, fuse }:
+
+stdenv.mkDerivation rec {
+  version = "0.7";
+  name = "chunkfs-${version}";
+
+  src = fetchurl {
+    url = "http://chunkfs.florz.de/chunkfs_${version}.tar.gz";
+    sha256 = "4c168fc2b265a6ba34afc565707ea738f34375325763c0596f2cfa1c9b8d40f1";
+  };
+
+  buildInputs = [perl fuse];
+
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+  '';
+
+  meta = {
+    description = "(Un)ChunkFS is a pair of FUSE filesystems for viewing chunksync-style directory trees as a block device and vice versa.";
+    homepage = "http://chunkfs.florz.de/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/ciopfs/default.nix b/pkgs/tools/filesystems/ciopfs/default.nix
index f944e591a12..97548442eba 100644
--- a/pkgs/tools/filesystems/ciopfs/default.nix
+++ b/pkgs/tools/filesystems/ciopfs/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.brain-dump.org/projects/ciopfs/;
     description = "A case-insensitive filesystem layered on top of any other filesystem";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index a98def32835..6bd6bfe368c 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dosfstools-3.0.21";
+  name = "dosfstools-3.0.26";
 
   src = fetchurl {
     url = "http://daniel-baumann.ch/files/software/dosfstools/${name}.tar.xz";
-    sha256 = "12c9ilcpknm7hg3czkc50azndd0yjdj4jjnvizhwqxy3g0gm2960";
+    sha256 = "0x9yi6s1419k678pr9h3a5bjccbrcxxpzmjwgl262ffrikz45126";
   };
 
   makeFlags = "PREFIX=$(out)";
 
   meta = {
     description = "Utilities for creating and checking FAT and VFAT file systems";
+    repositories.git = git://daniel-baumann.ch/git/software/dosfstools.git;
     homepage = http://www.daniel-baumann.ch/software/dosfstools/;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index c01342511cc..dcbf7235e49 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "e2fsprogs-1.42.8";
+  name = "e2fsprogs-1.42.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "b984aaf1fe888d6a4cf8c2e8d397207879599b5368f1d33232c1ec9d68d00c97";
+    sha256 = "00i83w22sbyq849as9vmaf2xcx1d06npvriyv8m0z81gx43ar4ig";
   };
 
   buildInputs = [ pkgconfig libuuid ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   # libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency).
-  configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck";
+  configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck --enable-symlink-install";
 
   enableParallelBuilding = true;
 
@@ -25,8 +25,6 @@ stdenv.mkDerivation rec {
 
   postInstall = "make install-libs";
 
-  dontGzipMan = true; # See issue #523
-
   meta = {
     homepage = http://e2fsprogs.sourceforge.net/;
     description = "Tools for creating and checking ext2/ext3/ext4 filesystems";
diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix
new file mode 100644
index 00000000000..f52ead32acd
--- /dev/null
+++ b/pkgs/tools/filesystems/f2fs-tools/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, libuuid }:
+
+stdenv.mkDerivation rec {
+  name = "f2fs-tools-${version}";
+  version = "1.3.0";
+
+  src = fetchgit {
+    url = git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "1r97k91qaf42jz623jqy0wm97yjq1ym034q4fdhfirq27s46sn6i";
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig libuuid ];
+
+  preConfigure = ''
+    sed -i '/AC_SUBST/d' configure.ac
+    autoreconf --install
+  '';
+
+  meta = {
+    homepage = "http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/";
+    description = "Userland tools for the f2fs filesystem";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.emery ];
+  };
+}
diff --git a/pkgs/tools/filesystems/fsfs/default.nix b/pkgs/tools/filesystems/fsfs/default.nix
index 0e72c45e31a..75e5280d391 100644
--- a/pkgs/tools/filesystems/fsfs/default.nix
+++ b/pkgs/tools/filesystems/fsfs/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://fsfs.sourceforge.net/;
     description = "Secure distributed file system in user space";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 9d4168b2d7d..69f3f7ef1ef 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,25 +1,37 @@
-{stdenv, fetchurl, fuse, bison, flex, openssl, python, ncurses, readline}:
+{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python, ncurses, readline,
+ autoconf, automake, libtool, pkgconfig, zlib, libaio}:
 let 
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.4.1";
+    version="3.5.2";
     name="${baseName}-${version}";
-    hash="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.1/glusterfs-3.4.1.tar.gz";
-    sha256="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm";
+    hash="1hvns9islr5jcy0r1cw5890ra246y12pl5nlhl3bvmhglrkv8n7g";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.2/glusterfs-3.5.2.tar.gz";
+    sha256="1hvns9islr5jcy0r1cw5890ra246y12pl5nlhl3bvmhglrkv8n7g";
   };
   buildInputs = [
-    fuse bison flex openssl python ncurses readline
+    fuse bison flex_2_5_35 openssl python ncurses readline
+    autoconf automake libtool pkgconfig zlib libaio
   ];
 in
 stdenv.mkDerivation
 rec {
   inherit (s) name version;
   inherit buildInputs;
+  preConfigure = ''
+    ./autogen.sh
+    '';
   configureFlags = [
     ''--with-mountutildir="$out/sbin"''
     ];
+  preInstall = ''
+    substituteInPlace api/examples/Makefile --replace '$(DESTDIR)' $out
+    substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out
+    substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out
+    substituteInPlace xlators/features/glupy/examples/Makefile --replace '$(DESTDIR)' $out
+    substituteInPlace xlators/features/glupy/src/Makefile --replace '$(DESTDIR)' $out
+    '';
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/tools/filesystems/grive/default.nix b/pkgs/tools/filesystems/grive/default.nix
index dce7757d23a..c6d2776f437 100644
--- a/pkgs/tools/filesystems/grive/default.nix
+++ b/pkgs/tools/filesystems/grive/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "an open source (experimental) Linux client for Google Drive";
     homepage = https://github.com/Grive/grive;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/filesystems/httpfs/default.nix b/pkgs/tools/filesystems/httpfs/default.nix
index bbb6d2efc7b..b0f7981ebb3 100644
--- a/pkgs/tools/filesystems/httpfs/default.nix
+++ b/pkgs/tools/filesystems/httpfs/default.nix
@@ -2,11 +2,11 @@
 , docbook_xml_dtd_45, docbook_xsl , libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "httpfs2-0.1.4";
+  name = "httpfs2-0.1.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/httpfs/httpfs2/${name}.tar.gz";
-    sha256 = "0vlp6i119lz4ybnrd26hvvwms3h5d7x3jly5nzyyfcw24ngvpk7p";
+    sha256 = "1h8ggvhw30n2r6w11n1s458ypggdqx6ldwd61ma4yd7binrlpjq1";
   };
 
   buildInputs =
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://httpfs.sourceforge.net/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
diff --git a/pkgs/tools/filesystems/jfsrec/default.nix b/pkgs/tools/filesystems/jfsrec/default.nix
index fb5b72d714a..5b5e7c8808e 100644
--- a/pkgs/tools/filesystems/jfsrec/default.nix
+++ b/pkgs/tools/filesystems/jfsrec/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, boost }:
 
 stdenv.mkDerivation {
-  name = "jfsrec-pre-svn-7";
-  
+  name = "jfsrec-0-pre-svn-7";
+
   src = fetchurl {
     url = mirror://sourceforge/jfsrec/jfsrec-svn-7.tar.gz;
     sha256 = "163z6ljr05vw2k5mj4fim2nlg4khjyibrii95370pvn474mg28vg";
@@ -14,10 +14,10 @@ stdenv.mkDerivation {
   preConfigure =
     ''
       sed -e '/[#]include [<]config.h[>]/a\#include <string.h>' -i src/unicode_to_utf8.cpp
-      cat src/unicode_to_utf8.cpp
     '';
 
   meta = {
     description = "JFS recovery tool";
+    homepage = http://jfsrec.sourceforge.net/;
   };
 }
diff --git a/pkgs/tools/filesystems/jmtpfs/default.nix b/pkgs/tools/filesystems/jmtpfs/default.nix
new file mode 100644
index 00000000000..5ee79397707
--- /dev/null
+++ b/pkgs/tools/filesystems/jmtpfs/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl
+, autoconf, automake
+, unzip, pkgconfig
+, file, fuse, libmtp }:
+
+stdenv.mkDerivation rec {
+  version = "0.5";
+  name = "jmtpfs-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/JasonFerrara/jmtpfs/archive/v0.5.zip";
+    sha256 = "09fw4g350mjz1mnga7ws5nvnsnfzs8s7cscl300mas1m9s6vmhz6";
+  };
+
+  buildInputs = [ autoconf automake file fuse libmtp pkgconfig unzip ];
+
+  meta = {
+    description = "A FUSE filesystem for MTP devices like Android phones.";
+    homepage = https://github.com/JasonFerrara/jmtpfs;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.coconnor ];
+  };
+}
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 4cb09d53adc..2a7d9672843 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Tools for MTD filesystems";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.linux-mtd.infradead.org/;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index f5c07b031b8..0b666f38942 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mtools-4.0.17";
+  name = "mtools-4.0.18";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${name}.tar.bz2";
-    sha256 = "1dpch2wsiwhyg7xhsdvmc1pws8biwqkmnqjc3mdj2bd76273bk0f";
+    sha256 = "119gdfnsxc6hzicnsf718k0fxgy2q14pxn7557rc96aki20czsar";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/filesystems/mtpfs/default.nix b/pkgs/tools/filesystems/mtpfs/default.nix
new file mode 100644
index 00000000000..7725b0d7af8
--- /dev/null
+++ b/pkgs/tools/filesystems/mtpfs/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, fuse, libmtp, glib, libmad, libid3tag }:
+
+stdenv.mkDerivation rec {
+  name = "mtpfs-1.1";
+
+  buildInputs = [ pkgconfig fuse libmtp glib libid3tag libmad ];
+
+  # adding LIBS is a hack, duno why it does not find libid3tag.so by adding buildInputs
+  preConfigure = ''
+    export MAD_CFLAGS=${libmad}/include
+    export MAD_LIBS=${libmad}/lib/libmad.so
+    export LIBS=${libid3tag}/lib/libid3tag.so
+  '';
+
+  src = fetchurl {
+    url = "http://www.adebenham.com/files/mtp/${name}.tar.gz";
+    sha256 = "07acrqb17kpif2xcsqfqh5j4axvsa4rnh6xwnpqab5b9w5ykbbqv";
+  };
+
+  meta = {
+    homepage = https://code.google.com/p/mtpfs/;
+    description = "FUSE Filesystem providing access to MTP devices";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.qknight ];
+  };
+}
diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix
index 21a93774758..850e1681248 100644
--- a/pkgs/tools/filesystems/netatalk/default.nix
+++ b/pkgs/tools/filesystems/netatalk/default.nix
@@ -1,17 +1,17 @@
-{ fetchurl, stdenv, pkgconfig, db48, libgcrypt, avahi, libiconv, pam, openssl }:
+{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "netatalk-3.0.5";
+  name = "netatalk-3.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/netatalk/netatalk/${name}.tar.bz2";
-    sha256 = "1adlcj509czxsx60r1s96qlznspp5nz7dxc5fws11danidr4fhl8";
+    sha256 = "1d8dc8ysslkis4yl1xab1w9p0pz7a1kg0i6fds4wxsp4fhb6wqhq";
   };
 
-  buildInputs = [ pkgconfig db48 libgcrypt avahi libiconv pam openssl ];
+  buildInputs = [ pkgconfig db libgcrypt avahi libiconv pam openssl ];
 
   configureFlags = [
-    "--with-bdb=${db48}"
+    "--with-bdb=${db}"
     "--with-openssl=${openssl}"
   ];
 
diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix
index f6177fd8976..718e941ec64 100644
--- a/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ntfs-3g";
-  version = "2012.1.15";
+  version = "2014.2.15";
   name = "${pname}-${version}";
 
   buildInputs = [libuuid] ++ stdenv.lib.optionals crypto [gnutls libgcrypt];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${version}.tgz";
-    sha256 = "09gvfgvqm4dswzxmwvg3r23bv39cp8y8b6qs2jcwmrqd032i25kg";
+    sha256 = "0mjv98m2j0kdzkjiqd2ra1akhb8milx8nwcx7hd26jxi1i09jc2c";
   };
 
   patchPhase = ''
@@ -34,10 +34,12 @@ stdenv.mkDerivation rec {
       ln -sv mount.ntfs-3g $out/sbin/mount.ntfs
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.tuxera.com/community/;
     description = "FUSE-base NTFS driver with full write support";
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.urkud ];
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus; # and (lib)fuse-lite under LGPL2+
   };
 }
+
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index 2c14bc624ae..0c5ec063b1a 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.namesys.com/;
     description = "ReiserFS utilities";
-    license = "GPL-2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/filesystems/relfs/default.nix b/pkgs/tools/filesystems/relfs/default.nix
index 56dad0c1e3d..6d803f72531 100644
--- a/pkgs/tools/filesystems/relfs/default.nix
+++ b/pkgs/tools/filesystems/relfs/default.nix
@@ -48,7 +48,6 @@ stdenv.mkDerivation rec {
 		(textClosure localDefs ["build" "doMakeInstall" "doForceShare" "doPropagate"]);
 	meta = {
 		description = "A relational filesystem on top of FUSE";
-		inherit src;
     		maintainers = [stdenv.lib.maintainers.raskin];
 		platforms = stdenv.lib.platforms.linux;
 	};
diff --git a/pkgs/tools/filesystems/s3backer/default.nix b/pkgs/tools/filesystems/s3backer/default.nix
index 3951a8d8bb7..89e49c9586c 100644
--- a/pkgs/tools/filesystems/s3backer/default.nix
+++ b/pkgs/tools/filesystems/s3backer/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://code.google.com/p/s3backer/;
     description = "FUSE-based single file backing store via Amazon S3";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 4befab17b6f..98cf3c533ae 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "sshfs-fuse-2.4";
+  name = "sshfs-fuse-2.5";
   
   src = fetchurl {
     url = "mirror://sourceforge/fuse/${name}.tar.gz";
-    sha256 = "1ladfxflg0pzd5br0p9n5790sf1975va7igr9z4r702n4a2vm4rw";
+    sha256 = "0gp6qr33l2p0964j0kds0dfmvyyf5lpgsn11daf0n5fhwm9185z9";
   };
   
   buildInputs = [ pkgconfig glib fuse ];
diff --git a/pkgs/tools/filesystems/svnfs/default.nix b/pkgs/tools/filesystems/svnfs/default.nix
index 4787ed77b59..b6a296e6bc7 100644
--- a/pkgs/tools/filesystems/svnfs/default.nix
+++ b/pkgs/tools/filesystems/svnfs/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   meta = {
     description = "SvnFs is a filesystem written using FUSE for accessing Subversion repositories";
     homepage = http://www.jmadden.eu/index.php/svnfs/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/filesystems/unionfs-fuse/default.nix b/pkgs/tools/filesystems/unionfs-fuse/default.nix
index 4da1a84e937..23340f88376 100644
--- a/pkgs/tools/filesystems/unionfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/unionfs-fuse/default.nix
@@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d";
   };
 
+  patches =
+    [ # Prevent the unionfs daemon from being killed during
+      # shutdown. See
+      # http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/
+      # for details.
+      ./prevent-kill-on-shutdown.patch
+    ];
+
   buildInputs = [ cmake fuse ];
 
   # Put the unionfs mount helper in place as mount.unionfs-fuse. This makes it
@@ -17,7 +25,7 @@ stdenv.mkDerivation rec {
   # This must be done in preConfigure because the build process removes
   # helper from the source directory during the build.
   preConfigure = ''
-    ensureDir $out/sbin
+    mkdir -p $out/sbin
     cp -a mount.unionfs $out/sbin/mount.unionfs-fuse
     substituteInPlace $out/sbin/mount.unionfs-fuse --replace mount.fuse ${fuse}/sbin/mount.fuse
     substituteInPlace $out/sbin/mount.unionfs-fuse --replace unionfs $out/bin/unionfs
diff --git a/pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch b/pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch
new file mode 100644
index 00000000000..0a98b83282b
--- /dev/null
+++ b/pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' unionfs-fuse-0.26-orig/src/unionfs.c unionfs-fuse-0.26/src/unionfs.c
+--- unionfs-fuse-0.26-orig/src/unionfs.c	2012-09-11 00:06:32.000000000 +0200
++++ unionfs-fuse-0.26/src/unionfs.c	2014-05-21 14:22:03.597861805 +0200
+@@ -831,6 +831,10 @@
+ 	}
+ #endif
+ 
++	/* Prevent systemd's shutdown from killing us. */
++	if (access("/etc/initrd-release", F_OK) >= 0)
++		argv[0][0] = '@';
++
+ 	umask(0);
+ 	int res = fuse_main(args.argc, args.argv, &unionfs_oper, NULL);
+ 	RETURN(uopt.doexit ? uopt.retval : res);
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 229802d1d78..7c9cd05009d 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,22 +1,37 @@
 { stdenv, fetchurl, libtool, gettext, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "xfsprogs-3.1.8";
+  name = "xfsprogs-3.1.11";
 
   src = fetchurl {
     urls = [ "ftp://oss.sgi.com/projects/xfs/cmd_tars/${name}.tar.gz" "ftp://oss.sgi.com/projects/xfs/previous/${name}.tar.gz" ];
-    sha256 = "1aryr6w76hyc1dznfzk0sc5rlr914rr0zh15vyclj1s86wp9wh3l";
+    sha256 = "1gnnyhy3khl08a24c5y0pyakz6nnwkiw1fc6rb0r1j5mfw0rix5d";
   };
 
   patchPhase = ''
     sed -i s,/bin/bash,`type -P bash`, install-sh
   '';
 
+  outputs = ["out" "lib"];
+
+  postInstall = ''
+    (cd include; make install-dev)
+    # The make install-dev target is broken when --disable-shared
+    mkdir -p $lib/lib $lib/include
+    cp ./libhandle/.libs/libhandle.a \
+       ./libxcmd/.libs/libxcmd.a \
+       ./libxlog/.libs/libxlog.a \
+       ./libxfs/.libs/libxfs.a $lib/lib
+    mv $out/include/* $lib/include
+  '';
+
+  enableParallelBuilding = true;
+
   buildInputs = [ libtool gettext libuuid ];
 
   configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ZIP=gzip AWK=gawk --disable-shared";
   preConfigure = ''
-    configureFlags="$configureFlags root_sbindir=$out/sbin root_libdir=$out/lib"
+    configureFlags="$configureFlags root_sbindir=$out/sbin root_libdir=$lib/lib"
   '';
   disableStatic = false;
 
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 6d1f863fdea..81be62b5159 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -69,6 +69,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.bsd3;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
new file mode 100644
index 00000000000..24dbae08fab
--- /dev/null
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, writeText, zlib, rpm, cpio, patchelf, which }:
+let
+  p = if stdenv.is64bit then {
+      arch = "x86_64";
+      gcclib = "${stdenv.gcc.gcc}/lib64";
+      sha256 = "1fmmlvvh97d60n9k08bn4k6ghwr3yhs8sib82025nwpw1sq08vim";
+    }
+    else {
+      arch = "i386";
+      gcclib = "${stdenv.gcc.gcc}/lib";
+      sha256 = "3940420bd9d1fe1ecec1a117bfd9d21d545bca59f5e0a4364304ab808c976f7f";
+    };
+in 
+stdenv.mkDerivation rec {
+
+  name = "yandex-disk-0.1.2.481";
+
+  src = fetchurl {
+    url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
+    sha256 = p.sha256;
+  };
+
+  builder = writeText "builder.sh" ''
+    . $stdenv/setup
+    mkdir -pv $out/bin
+    mkdir -pv $out/share
+    mkdir -pv $out/etc
+
+    mkdir -pv unpacked
+    cd unpacked
+    ${rpm}/bin/rpm2cpio $src | ${cpio}/bin/cpio -imd
+
+    cp -r -t $out/bin usr/bin/*
+    cp -r -t $out/share usr/share/*
+    cp -r -t $out/etc etc/*
+
+    sed -i 's@have@${which}/bin/which >/dev/null 2>\&1@' \
+      $out/etc/bash_completion.d/yandex-disk-completion.bash
+
+    ${patchelf}/bin/patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath "${zlib}/lib:${p.gcclib}" \
+      $out/bin/yandex-disk
+  '';
+
+  meta = {
+    homepage = http://help.yandex.com/disk/cli-clients.xml;
+    description = "Yandex.Disk is a free cloud file storage service";
+    maintainers = with stdenv.lib.maintainers; [smironov];
+    platforms = ["i686-linux" "x86_64-linux"];
+    license = stdenv.lib.licenses.unfree;
+    longDescription = ''
+      Yandex.Disk console client for Linux lets you manage files on Disk without
+      using a window interface or programs that support WebDAV. The advantages
+      of the console client compared to a WebDAV connection:
+       * low system resource requirements;
+       * faster file reading and writing speeds;
+       * faster syncing with Disk's server;
+       * no need to be constantly connected to work with files.
+    '';
+  };
+}
+
diff --git a/pkgs/tools/filesystems/zfstools/default.nix b/pkgs/tools/filesystems/zfstools/default.nix
new file mode 100644
index 00000000000..1c1be59f515
--- /dev/null
+++ b/pkgs/tools/filesystems/zfstools/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, ruby, zfs }:
+
+stdenv.mkDerivation rec {
+  name = "zfstools-${version}";
+
+  version = "0.3.1";
+
+  src = fetchgit {
+    url = https://github.com/bdrewery/zfstools.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "0bhs0gn1f4z1jm631vp26sbysy4crq489q56rxqfd8ns1xsp1f5j";
+  };
+
+  buildInputs = [ ruby ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/* $out/bin/
+
+    cp -R lib $out/
+
+    for f in $out/bin/*; do
+      substituteInPlace $f --replace "/usr/bin/env ruby" "ruby -I$out/lib"
+    done
+
+    sed -e 's|cmd.*=.*"zfs |cmd = "${zfs}/sbin/zfs |g' -i $out/lib/zfstools/{dataset,snapshot}.rb
+  '';
+
+  meta = {
+    homepage = https://github.com/bdrewery/zfstools;
+    description = "OpenSolaris-like and compatible auto snapshotting script for ZFS";
+    longDescription = ''
+      zfstools is an OpenSolaris-like and compatible auto snapshotting script
+      for ZFS, which also supports auto snapshotting mysql databases.
+    '';
+
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index e9f61228bed..5109bb45e30 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -1,7 +1,7 @@
 a @ {
   freeglut,ghostscriptX,imagemagick,fftw,
   boehmgc,mesa,ncurses,readline,gsl,libsigsegv,
-  python,zlib, perl, texLive, texinfo, lzma,
+  python,zlib, perl, texLive, texinfo, xz,
 
   noDepEntry, fullDepEntry, fetchUrlFromSrcInfo,
   lib,
@@ -11,16 +11,16 @@ let
   s = # Generated upstream information
   rec {
     baseName="asymptote";
-    version="2.24";
-    name="asymptote-2.24";
-    hash="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl";
-    url="mirror://sourceforge/project/asymptote/2.24/asymptote-2.24.src.tgz";
-    sha256="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl";
+    version="2.32";
+    name="${baseName}-${version}";
+    hash="19cgn5158p42igjbp8lf6xdbh3yjhlkdm22m5lqrhibp09g06d90";
+    url="mirror://sourceforge/project/asymptote/2.32/asymptote-2.32.src.tgz";
+    sha256="19cgn5158p42igjbp8lf6xdbh3yjhlkdm22m5lqrhibp09g06d90";
   };
   buildInputs = with a; [
     freeglut ghostscriptX imagemagick fftw boehmgc
     mesa ncurses readline gsl libsigsegv python zlib
-    perl texLive texinfo lzma
+    perl texLive texinfo xz
   ];
 in
 rec {
@@ -54,7 +54,7 @@ rec {
   '';
 
   extractTexinfoTex = a.fullDepEntry ''
-    lzma -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
+    xz -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
     cp texinfo-*/doc/texinfo.tex doc/
   '' ["minInit" "addInputs" "doUnpack"];
 
diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix
index 6f8ec54c4c0..60dc5a285da 100644
--- a/pkgs/tools/graphics/barcode/default.nix
+++ b/pkgs/tools/graphics/barcode/default.nix
@@ -9,11 +9,11 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="0.98";
+    version="0.99";
     baseName="barcode";
     name="${baseName}-${version}";
     url="mirror://gnu/${baseName}/${name}.tar.gz";
-    hash="0ddn17a6hz817bchgjxrjg76v64kzl5zlll8x73ply5rg69f2aa2";
+    hash="0r2b2lwg7a9i9ic5spkbnavy1ynrppmrldv46vsl44l1xgriq0vw";
   };
 in
 rec {
@@ -34,8 +34,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      all;
+    platforms = with a.lib.platforms; allBut darwin;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 959241d30ab..72b50bd4e77 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, libjpeg, lcms, gettext }:
+{stdenv, fetchurl, libjpeg, lcms2, gettext, jasper }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.04";
+  name = "dcraw-9.22";
 
   src = fetchurl {
     url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
-    sha256 = "1i9w35pldyzp5xjjcy20rps7p9wkxs6vj4wz43vhfyda93nij4y0";
+    sha256 = "00dz85fr5r9k3nlwdbdi30fpqr8wihamzpyair7l7zk0vkrax402";
   };
 
-  buildInputs = [ libjpeg lcms gettext ];
+  buildInputs = [ libjpeg lcms2 gettext jasper ];
 
   patchPhase = ''
     sed -i -e s@/usr/local@$out@ install
@@ -16,16 +16,14 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     mkdir -p $out/bin
-    set +e
     sh install
-    set -e
   '';
 
   meta = {
     homepage = http://www.cybercom.net/~dcoffin/dcraw/;
     description = "Decoder for many camera raw picture formats";
     license = "free";
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index b77d63d510d..6b65d3df0d3 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,37 +1,24 @@
-{stdenv, fetchurl, libtiff, libpng, lcms, libxmi, boost, mesa, freeglut
-, pkgconfig, perl, glew }:
+{ stdenv, fetchurl
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
+, pkgconfig, perl }:
 
 stdenv.mkDerivation rec {
-  name = "enblend-enfuse-4.0";
+  name = "enblend-enfuse-4.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/enblend/${name}.tar.gz";
-    sha256 = "1i2kq842zrncpadarhcikg447abmh5r7a5js3mzg553ql3148am1";
+    sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
   };
 
-  buildInputs = [ libtiff libpng lcms libxmi boost mesa freeglut glew ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  patches =
-    let
-      prefix = "http://enblend.hg.sourceforge.net/hgweb/enblend/enblend/raw-diff";
-    in map fetchurl [
-      {
-        url = "${prefix}/9d9b5f3a97cd/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "1nqhbbgphwi087qpazngg04c1whc1p4fwq19fx36jrir96xywgzg";
-      }
-      {
-        url = "${prefix}/101796703d73/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "14frqg4hab9ab6pdypkrmji43fmxjj918j7565rdwmifbm9i3005";
-      }
-    ];
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://enblend.sourceforge.net/;
     description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index 515858bd439..dc1a8b3abae 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchurl, xproto, libXt, libX11 }:
+{ stdenv, fetchurl, xproto, libXt, libX11, gifview ? false, static ? false }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "gifsicle-1.52";
+  name = "gifsicle-1.78";
 
   src = fetchurl {
-    url = http://www.lcdf.org/gifsicle/gifsicle-1.52.tar.gz;
-    sha256 = "1fp47grvk46bkj22zixrhgpgs3qbkmijicf3wkjk4y8fsx0idbgk";
+    url = http://www.lcdf.org/gifsicle/gifsicle-1.78.tar.gz;
+    sha256 = "0dzp5sg82klji4lbj1m4cyg9fb3l837gkipdx657clib97klyv53";
   };
 
-  buildInputs = [ xproto libXt libX11 ];
+  buildInputs = optional gifview [ xproto libXt libX11 ];
+
+  LDFLAGS = optional static "-static";
 
   meta = { 
     description = "Command-line tool for creating, editing, and getting information about GIF images and animations";
     homepage = http://www.lcdf.org/gifsicle/;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
new file mode 100644
index 00000000000..97fcd1addd0
--- /dev/null
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libjpeg, libpng12, xlibs, libX11, mesa, libdrm, python27 }:
+stdenv.mkDerivation rec {
+  name = "glmark2-${version}";
+  version = "2014.03";
+
+  src = fetchurl {
+    url = "https://launchpad.net/glmark2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1dgn7ln115ivk13d1yagpj06lgllpv2jrr41kcnhdkhqz6m43vdx";
+  };
+
+  buildInputs = [
+    pkgconfig libjpeg libpng12 xlibs.libxcb libX11 mesa libdrm python27
+  ];
+
+  buildPhase = ''
+    python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2
+    python2 ./waf
+  '';
+
+  installPhase = ''
+    python2 ./waf install --destdir="$pkgdir/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL (ES) 2.0 benchmark";
+    homepage = https://launchpad.net/glmark2;
+    license = licenses.gpl3Plus;
+    longDescription = ''
+      glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of
+      the OpenGL 2.0 API that is compatible with OpenGL ES 2.0.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.wmertens ];
+  };
+}
+
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 23d57f5b652..f92c82e3d74 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -1,38 +1,48 @@
-{ stdenv, fetchurl, zlib, gd, texinfo, makeWrapper, readline
-, texLive ? null
-, lua ? null
+{ lib, stdenv, fetchurl, zlib, gd, texinfo4, makeWrapper, readline
+, withTeXLive ? false, texLive
+, withLua ? false, lua
 , emacs ? null
 , libX11 ? null
 , libXt ? null
 , libXpm ? null
 , libXaw ? null
-, wxGTK ? null
+, aquaterm ? false
+, withWxGTK ? false, wxGTK ? null
 , pango ? null
 , cairo ? null
 , pkgconfig ? null
 , fontconfig ? null
 , gnused ? null
-, coreutils ? null }:
+, coreutils ? null
+, withQt ? false, qt4 }:
 
 assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
-
+let
+  withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
+in
 stdenv.mkDerivation rec {
-  name = "gnuplot-4.6.3";
+  name = "gnuplot-4.6.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz";
+    sha256 = "0bcsa5b33msddjs6mj0rhi81cs19h9p3ykixkkl70ifhqwqg0l75";
   };
 
   buildInputs =
-    [ zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw
-      pango cairo pkgconfig makeWrapper ]
+    [ zlib gd texinfo4 readline pango cairo pkgconfig makeWrapper ]
+    ++ lib.optional withTeXLive texLive
+    ++ lib.optional withLua lua
+    ++ lib.optionals withX [ libX11 libXpm libXt libXaw ]
+    ++ lib.optional withQt [ qt4 ]
     # compiling with wxGTK causes a malloc (double free) error on darwin
-    ++ stdenv.lib.optional (!stdenv.isDarwin) wxGTK;
+    ++ lib.optional (withWxGTK && !stdenv.isDarwin) wxGTK;
 
-  configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"];
+  configureFlags =
+    (if withX then ["--with-x"] else ["--without-x"])
+    ++ (if withQt then ["--enable-qt"] else ["--disable-qt"])
+    ++ (if aquaterm then ["--with-aquaterm"] else ["--without-aquaterm"]);
 
-  postInstall = stdenv.lib.optionalString (libX11 != null) ''
+  postInstall = lib.optionalString withX ''
     wrapProgram $out/bin/gnuplot \
        --prefix PATH : '${gnused}/bin' \
        --prefix PATH : '${coreutils}/bin' \
@@ -40,10 +50,10 @@ stdenv.mkDerivation rec {
        --run '. ${./set-gdfontpath-from-fontconfig.sh}'
   '';
 
-  meta = with stdenv.lib; {
-    homepage    = http://www.gnuplot.info;
+  meta = with lib; {
+    homepage = http://www.gnuplot.info/;
     description = "A portable command-line driven graphing utility for many platforms";
-    platforms   = platforms.all;
+    hydraPlatforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ lovek323 ];
   };
 }
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index c1aebd3dfe1..27883ca6037 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "graphviz-2.28.0";
+  name = "graphviz-2.36.0";
 
   src = fetchurl {
     url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
-    sha256 = "0xpwg99cd8sp0c6r8klsmc66h1pday64kmnr4v6f9jkqqmrpkank";
+    sha256 = "0qb30z5sxlbjni732ndad3j4x7l36vsxpxn4fmf5fn7ivvc6dz9p";
   };
 
   buildInputs =
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
     ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ]
     ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
 
-  patches = [ ./fix-broken-memcp-signature.patch ];
-
   CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo";
 
   configureFlags =
@@ -53,7 +51,7 @@ stdenv.mkDerivation rec {
       interfaces for other technical domains.
     '';
 
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ simons bjornfor ];
   };
 }
diff --git a/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch
deleted file mode 100644
index e93728d4850..00000000000
--- a/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ubr graphviz-2.28.0-orig/lib/cdt/cdt.h graphviz-2.28.0-new/lib/cdt/cdt.h
---- graphviz-2.28.0-orig/lib/cdt/cdt.h	2012-11-11 20:05:55.674397100 +0100
-+++ graphviz-2.28.0-new/lib/cdt/cdt.h	2012-11-11 20:06:28.069511092 +0100
-@@ -238,11 +238,6 @@
- extern int		dtstat _ARG_((Dt_t*, Dtstat_t*, int));
- extern unsigned int	dtstrhash _ARG_((unsigned int, Void_t*, int));
- 
--#if !_PACKAGE_ast
--extern int		memcmp _ARG_((const Void_t*, const Void_t*, size_t));
--extern int		strcmp _ARG_((const char*, const char*));
--#endif
--
- #undef extern
- _END_EXTERNS_
- 
diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
index 5abc909ea30..94a613078a4 100644
--- a/pkgs/tools/graphics/icoutils/default.nix
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "icoutils-0.29.1";
+  name = "icoutils-0.31.0";
 
   src = fetchurl {
     url = "mirror://savannah/icoutils/${name}.tar.bz2";
-    sha256 = "180yqv41yc3fi6ggx7azhmaciqzadj0ir87wajigmcpgxkjk6v34";
+    sha256 = "0wdgyfb1clrn3maq84vi4vkwjydy72p5hzk6kb9nb3a19bbxk5d8";
   };
 
   buildInputs = [ libpng ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.nongnu.org/icoutils/;
     description = "Set of  programs to deal with Microsoft Windows(R) icon and cursor files";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/graphics/logstalgica/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index bdde9daea9f..bdde9daea9f 100644
--- a/pkgs/tools/graphics/logstalgica/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
diff --git a/pkgs/tools/graphics/mscgen/default.nix b/pkgs/tools/graphics/mscgen/default.nix
index ed69327b752..36a75743ed8 100644
--- a/pkgs/tools/graphics/mscgen/default.nix
+++ b/pkgs/tools/graphics/mscgen/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.mcternan.me.uk/mscgen/;
     description = "Convert Message Sequence Chart descriptions into PNG, SVG, or EPS images";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Mscgen is a small program that parses Message Sequence Chart
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index 39e134ad906..2e3274ca0ff 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation {
     sha256 = "0csx6g0ci66nx1a6z0a9dkpfp66mdvcpp5r7g6zrx4jp18r9hzb2";
   };
 
+  postPatch = /* CVE-2005-2471, from Arch */ ''
+    substituteInPlace converter/other/pstopnm.c \
+      --replace '"-DSAFER"' '"-DPARANOIDSAFER"'
+  '';
+
   NIX_CFLAGS_COMPILE = "-fPIC"; # Gentoo adds this on every platform
 
   buildInputs = [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libX11 libtiff ];
@@ -18,9 +23,7 @@ stdenv.mkDerivation {
     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"
+        --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include"
   '';
 
   preBuild = ''
diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix
new file mode 100644
index 00000000000..13dc27921a4
--- /dev/null
+++ b/pkgs/tools/graphics/nifskope/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "nifskope-1.1.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/niftools/${name}.tar.bz2";
+    sha256 = "0fcvrcjyvivww10sjhxamcip797b9ykbf5p3rm2k24xhkwdaqp72";
+  };
+
+  buildInputs = [ qt4 ];
+
+  configurePhase =
+    ''
+      for i in *.cpp gl/*.cpp widgets/*.cpp; do
+        substituteInPlace $i --replace /usr/share/nifskope $out/share/nifskope
+      done
+
+      qmake -after TARGET=nifskope
+    ''; # */
+
+  enableParallelBuilding = true;
+
+  # Inspired by linux-install/nifskope.spec.in.
+  installPhase =
+    ''
+      d=$out/share/nifskope
+      mkdir -p $out/bin $out/share/applications $out/share/pixmaps $d/{shaders,doc,lang}
+      cp release/nifskope $out/bin/
+      cp nifskope.png $out/share/pixmaps/
+      cp nif.xml kfm.xml style.qss $d/
+      cp shaders/*.frag shaders/*.prog shaders/*.vert $d/shaders/
+      cp doc/*.html doc/docsys.css doc/favicon.ico $d/doc/
+      cp lang/*.ts lang/*.tm $d/lang/
+
+      substituteInPlace nifskope.desktop \
+        --replace 'Exec=nifskope' "Exec=$out/bin/nifskope" \
+        --replace 'Icon=nifskope' "Icon=$out/share/pixmaps/nifskope.png"
+      cp nifskope.desktop $out/share/applications/
+
+      find $out/share -type f -exec chmod -x {} \;
+    ''; # */
+
+  meta = {
+    homepage = http://niftools.sourceforge.net/;
+    description = "A tool for analyzing and editing NetImmerse/Gamebryo '*.nif' files";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/tools/graphics/optipng/default.nix b/pkgs/tools/graphics/optipng/default.nix
index 1b2fc6dbb90..1984ab7b1de 100644
--- a/pkgs/tools/graphics/optipng/default.nix
+++ b/pkgs/tools/graphics/optipng/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, libpng, static ? false }:
 
 # This package comes with its own copy of zlib, libpng and pngxtern
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "optipng-0.7.4";
 
@@ -10,6 +12,24 @@ stdenv.mkDerivation rec {
     sha256 = "1zrphbz17rhhfl1l95q5s979rrhifbwczl2xj1fdrnq5jid5s2sj";
   };
 
+  buildInputs = [ libpng ];
+
+  LDFLAGS = optional static "-static";
+  configureFlags = "--with-system-zlib --with-system-libpng";
+
+  crossAttrs = {
+    CC="${stdenv.cross.config}-gcc";
+    LD="${stdenv.cross.config}-gcc";
+    AR="${stdenv.cross.config}-ar";
+    RANLIB="${stdenv.cross.config}-ranlib";
+    configurePhase = ''
+      ./configure -prefix="$out" --with-system-zlib --with-system-libpng
+    '';
+    postInstall = optional (stdenv.cross.libc == "msvcrt") ''
+      mv "$out"/bin/optipng "$out"/bin/optipng.exe
+    '';
+  };
+
   meta = {
     homepage = http://optipng.sourceforge.net/;
     description = "A PNG optimizer";
diff --git a/pkgs/tools/graphics/panomatic/default.nix b/pkgs/tools/graphics/panomatic/default.nix
index 1a7c3317cf9..f14c16775f8 100644
--- a/pkgs/tools/graphics/panomatic/default.nix
+++ b/pkgs/tools/graphics/panomatic/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://aorlinsk2.free.fr/panomatic/;
     description = "Tool that automates the creation of control points in Hugin";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix
index 9b0a83725ea..fbd1778faef 100644
--- a/pkgs/tools/graphics/pfstools/default.nix
+++ b/pkgs/tools/graphics/pfstools/default.nix
@@ -2,11 +2,11 @@
 freeglut, bzip2, libX11, libpng, expat, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "pfstools-1.8.3";
+  name = "pfstools-1.8.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/pfstools/${name}.tar.gz";
-    sha256 = "1j3pzwpxvsx9220176bfjallc73jyda61xqkvnmlxqfd3n7ycgx1";
+    sha256 = "01kk2r8afrb3vrhm8abfjdhhan97lzpapc4n8w1mpdp3kv9miy9c";
   };
 
   configureFlags = "--with-moc=${qt4}/bin/moc";
diff --git a/pkgs/tools/graphics/ploticus/default.nix b/pkgs/tools/graphics/ploticus/default.nix
index 857a86d57af..92dce64dcfd 100644
--- a/pkgs/tools/graphics/ploticus/default.nix
+++ b/pkgs/tools/graphics/ploticus/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
       statistical capabilities.  It allows significant user control
       over colors, styles, options and details.'';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://ploticus.sourceforge.net/;
   };
 }
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index bb250b9d852..ae0c4d19731 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/plotutils/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [
       stdenv.lib.maintainers.marcweber
       stdenv.lib.maintainers.ludo
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index 60301b9b164..b27e5132804 100644
--- a/pkgs/tools/graphics/pngcrush/default.nix
+++ b/pkgs/tools/graphics/pngcrush/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pngcrush-1.7.50";
+  name = "pngcrush-1.7.76";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
-    sha256 = "1xabqjgvwsyazs0hw7bzzm256zbd7v33alwzp0lbawm521m3m651";
+    sha256 = "0jbv3ijc0nfhy6pkhv4dwbk2v488rwixd8rv1c7lfs59wblb44hv";
   };
 
   configurePhase = ''
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "A PNG optimizer";
     license = "free";
     platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix
new file mode 100644
index 00000000000..ff2a18c9fed
--- /dev/null
+++ b/pkgs/tools/graphics/pngout/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl}:
+
+let
+  folder = if stdenv.system == "i686-linux" then "i686"
+  else if stdenv.system == "x86_64-linux" then "x86_64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation {
+  name = "pngout-20130221";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/pngout-20130221-linux.tar.gz;
+    sha256 = "1qdzmgx7si9zr7wjdj8fgf5dqmmqw4zg19ypg0pdz7521ns5xbvi";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${folder}/pngout $out/bin
+    
+    ${if stdenv.system == "i686-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/pngout
+      '' else if stdenv.system == "x86_64-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/pngout
+      '' else ""}
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of PNG images";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/graphics/pngquant/default.nix b/pkgs/tools/graphics/pngquant/default.nix
index 560352c481e..77cc898ef2a 100644
--- a/pkgs/tools/graphics/pngquant/default.nix
+++ b/pkgs/tools/graphics/pngquant/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     description = "pngquant converts 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved";
     platforms = platforms.all;
     license = licenses.bsd2; # Not exactly bsd2, but alike
+    broken = true;
   };
 }
diff --git a/pkgs/tools/graphics/pngtoico/default.nix b/pkgs/tools/graphics/pngtoico/default.nix
index df1046cb750..fe01a9459ec 100644
--- a/pkgs/tools/graphics/pngtoico/default.nix
+++ b/pkgs/tools/graphics/pngtoico/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.kernel.org/pub/software/graphics/pngtoico/;
     description = "Small utility to convert a set of PNG images to Microsoft ICO format";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix
index 12f307ca9de..b4a1d1a7d67 100644
--- a/pkgs/tools/graphics/povray/default.nix
+++ b/pkgs/tools/graphics/povray/default.nix
@@ -1,21 +1,39 @@
-{stdenv, fetchurl}:
+{stdenv, fetchgit, autoconf, automake, boost149, zlib, libpng, libjpeg, libtiff}:
 
+let boost = boost149; in
 stdenv.mkDerivation {
-  name = "povray-3.6";
+  name = "povray-3.7";
 
-  src = fetchurl {
-    url = http://www.povray.org/redirect/www.povray.org/ftp/pub/povray/Official/Unix/povray-3.6.tar.bz2;
-    sha256 = "0wvsfgkybx28mj2p76nnsq9rdq50192g5qb7d0xk81s8skn7z2jf";
+  src = fetchgit {
+    url = "https://github.com/POV-Ray/povray.git";
+    rev = "39ce8a24e50651904010dda15872d63be15d7c37";
+    sha256 = "0d56631d9daacb8967ed359025f56acf0bd505d1d9e752859e8ff8656ae72d20";
   };
 
+
+  buildInputs = [ autoconf automake boost zlib libpng libjpeg libtiff ];
+
   # the installPhase wants to put files into $HOME. I let it put the files
   # to $TMPDIR, so they don't get into the $out
-  patchPhase = ''
-    sed -i -e 's/^povconfuser.*/povconfuser=$(TMPDIR)\/povray/' Makefile.{am,in};
+  postPatch = '' cd unix
+                 ./prebuild.sh
+                 cd ..
+                 sed -i -e 's/^povconfuser.*/povconfuser=$(TMPDIR)\/povray/' Makefile.{am,in}
+                 sed -i -e 's/^povuser.*/povuser=$(TMPDIR)\/.povray/' Makefile.{am,in}
+                 sed -i -e 's/^povowner.*/povowner=nobody/' Makefile.{am,in}
+                 sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in}
+               '';
+
+  configureFlags = "COMPILED_BY='nix' --with-boost-libdir=${boost}/lib --with-boost-includedir=${boost}/include";
+
+  preInstall = ''
+    mkdir "$TMP/bin"
+    for i in chown chgrp; do
+      echo '#!/bin/sh' >> "$TMP/bin/$i"
+      chmod +x "$TMP/bin/$i"
+      PATH="$TMP/bin:$PATH"
+    done
   '';
-  # I didn't use configureFlags because I couldn't pass the quotes properly
-  # for the COMPILED_BY.
-  configurePhase = "./configure --prefix=$out COMPILED_BY=\"nix\"";
   
   meta = {
     homepage = http://www.povray.org/;
diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix
index efdeffe1ad7..d4e977128cf 100644
--- a/pkgs/tools/graphics/pstoedit/default.nix
+++ b/pkgs/tools/graphics/pstoedit/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, ghostscript, gd, zlib, plotutils }:
 
 stdenv.mkDerivation {
-  name = "pstoedit-3.50";
+  name = "pstoedit-3.62";
 
   src = fetchurl {
-    url = mirror://sourceforge/pstoedit/pstoedit-3.50.tar.gz;
-    sha256 = "04ap21fxj2zn6vj9mv7zknj4svcbkb1gxwfzxkw5i0sksx969c92";
+    url = mirror://sourceforge/pstoedit/pstoedit-3.62.tar.gz;
+    sha256 = "0j410dm9nqwa7n03yiyz0jwvln0jlqc3n9iv4nls33yl6x3c8x40";
   };
 
   buildInputs = [ pkgconfig ghostscript gd zlib plotutils ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "translates PostScript and PDF graphics into other vector formats";
     homepage = http://www.helga-glunz.homepage.t-online.de/pstoedit;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix
index 3b83a18fd36..892ef54cdee 100644
--- a/pkgs/tools/graphics/qrencode/default.nix
+++ b/pkgs/tools/graphics/qrencode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qrencode-3.2.0";
+  name = "qrencode-3.4.3";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "13q6cz2lif8d7y95f8sgfqaxc1qr0sz9nl2xh71lfmx7v5ybri03";
+    sha256 = "163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/graphics/welkin/default.nix b/pkgs/tools/graphics/welkin/default.nix
index d02b38b4127..23c5ec11aaa 100644
--- a/pkgs/tools/graphics/welkin/default.nix
+++ b/pkgs/tools/graphics/welkin/default.nix
@@ -46,8 +46,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     license = "free-noncopyleft";
   };
   passthru = {
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index 83c9b157793..51dcc2a9c80 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -34,7 +34,14 @@ rec {
   configureFlags = ["--disable-video"];
       
   meta = {
-    description = "Bar code toolset";
+    description = "Bar code reader";
+    longDescription = ''
+      ZBar is an open source software suite for reading bar codes from various
+      sources, such as video streams, image files and raw intensity sensors. It
+      supports many popular symbologies (types of bar codes) including
+      EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR
+      Code.
+    '';
     maintainers = with a.lib.maintainers;
     [
       raskin
diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix
index 94d819680ab..2795b0d4d87 100644
--- a/pkgs/tools/inputmethods/fcitx/default.nix
+++ b/pkgs/tools/inputmethods/fcitx/default.nix
@@ -1,24 +1,33 @@
 { stdenv, fetchurl, pkgconfig, cmake, intltool, gettext
 , libxml2, enchant, isocodes, icu, libpthreadstubs
 , pango, cairo, libxkbfile, libXau, libXdmcp
+, dbus, gtk2, gtk3, qt4
 }:
 
 stdenv.mkDerivation rec {
   name = "fcitx-4.2.8.3";
+
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
     sha256 = "05dw6cbjh2jyjrkr4qx2bcq6nyhhrs0akf6fcjk5a72bgphhwqnb";
   };
 
-  buildInputs = [
+  patchPhase = ''
+    substituteInPlace src/frontend/qt/CMakeLists.txt \
+      --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins
+  '';
+
+  buildInputs = with stdenv.lib; [
     cmake enchant pango gettext libxml2 isocodes pkgconfig libxkbfile
     intltool cairo icu libpthreadstubs libXau libXdmcp
+    dbus gtk2 gtk3 qt4
   ];
 
   cmakeFlags = ''
-    -DENABLE_DBUS=OFF
-    -DENABLE_QT=OFF
-    -DENABLE_QT_IM_MODULE=OFF
+    -DENABLE_QT_IM_MODULE=ON
+    -DENABLE_GTK2_IM_MODULE=ON
+    -DENABLE_GTK3_IM_MODULE=ON
+    -DENABLE_GIR=OFF
     -DENABLE_OPENCC=OFF
     -DENABLE_PRESAGE=OFF
     -DENABLE_XDGAUTOSTART=OFF
@@ -27,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://code.google.com/p/fcitx/";
     description = "A Flexible Input Method Framework";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [iyzsong];
   };
diff --git a/pkgs/tools/misc/aescrypt/default.nix b/pkgs/tools/misc/aescrypt/default.nix
index bec0840490d..f39e466c78f 100644
--- a/pkgs/tools/misc/aescrypt/default.nix
+++ b/pkgs/tools/misc/aescrypt/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, libiconvOrEmpty }:
- 
+
 stdenv.mkDerivation rec {
   version = "3.0.9";
   name = "aescrypt-${version}";
-  
+
   src = fetchurl {
     url = "http://www.aescrypt.com/download/v3/linux/${name}.tgz";
     sha256 = "3f3590f9b7e50039611ba9c0cf1cae1b188a44bd39cfc41553db7ec5709c0882";
@@ -18,17 +18,17 @@ stdenv.mkDerivation rec {
     cp aescrypt $out/bin
     cp aescrypt_keygen $out/bin
   '';
- 
+
   buildInputs = [ libiconvOrEmpty ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
- 
+
   meta = with stdenv.lib; {
-    description = "A file encryption util that uses the industry standard Advanced Encryption Standard (AES) to easily and securely encrypt files";
+    description = "encrypt files with Advanced Encryption Standard (AES)";
     homepage    = http://www.aescrypt.com/;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 qknight ];
     platforms   = stdenv.lib.platforms.all;
+    hydraPlatforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/misc/apparix/default.nix b/pkgs/tools/misc/apparix/default.nix
new file mode 100644
index 00000000000..693ca27a88d
--- /dev/null
+++ b/pkgs/tools/misc/apparix/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "apparix-11-062";
+
+  src = fetchurl {
+    url = "http://micans.org/apparix/src/${name}.tar.gz";
+    sha256 = "211bb5f67b32ba7c3e044a13e4e79eb998ca017538e9f4b06bc92d5953615235";
+  };
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://micans.org/apparix;
+    description = "Add directory bookmarks, distant listing, and distant editing to the command line";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/appdata-tools/default.nix b/pkgs/tools/misc/appdata-tools/default.nix
new file mode 100644
index 00000000000..acacc4db15f
--- /dev/null
+++ b/pkgs/tools/misc/appdata-tools/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, m4
+, intltool, glib, libsoup, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  version = "0_1_7";
+  name = "appdata_tools-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/hughsie/appdata-tools/archive/appdata_tools_${version}.tar.gz";
+    sha256 = "1bzqg4gy8gqhbk2qjizsm0b78li9mv84fb3d8qwfpxh7c7p360x8";
+  };
+
+  buildInputs = [ pkgconfig autoconf automake m4 intltool glib
+                  libsoup gdk_pixbuf ];
+
+  configureScript = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    homepage = "http://people.freedesktop.org/~hughsient/appdata";
+    description = "CLI designed to validate AppData descriptions for standards compliance and to the style guide";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lethalman ];
+  };
+}
diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix
new file mode 100644
index 00000000000..219cb2139f5
--- /dev/null
+++ b/pkgs/tools/misc/apt-offline/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, bash, buildPythonPackage }:
+
+buildPythonPackage rec {
+  version = "1.3";
+  name = "apt-offline-${version}";
+
+  src = fetchurl {
+    #url = "https://alioth.debian.org/frs/download.php/file/3855/${name}.tar.gz";
+    # The above URL has two problems: it requires one to be logged in, and it
+    # uses a CA that curl doesn't know about.  Instead, we use this mirror:
+    url = "http://www.falsifian.org/a/cFi5/${name}.tar.gz";
+    sha256 = "1sp7ai2abzhbg9y84700qziybphvpzl2nk3mz1d1asivzyjvxlxy";
+  };
+
+  buildInputs = [ ];
+
+  doCheck = false;
+
+  # Requires python-qt4 (feel free to get it working).
+  preFixup = ''rm "$out/bin/apt-offline-gui"'';
+
+  meta = with stdenv.lib; {
+    description = "offline APT package manager";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.falsifian ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix
new file mode 100644
index 00000000000..f8adedc7c24
--- /dev/null
+++ b/pkgs/tools/misc/arp-scan/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, libpcap }:
+
+stdenv.mkDerivation rec {
+  name = "arp-scan-1.9";
+
+  src = fetchurl {
+    url = "http://www.nta-monitor.com/files/arp-scan/${name}.tar.gz";
+    sha256 = "14nqjzbmnlx2nac7lwa93y5m5iqk3layakyxyvfmvs283k3qm46f";
+  };
+
+  buildInputs = [ libpcap ];
+
+  meta = with stdenv.lib; {
+    description = "ARP scanning and fingerprinting tool";
+    longDescription = ''
+      Arp-scan is a command-line tool that uses the ARP protocol to discover
+      and fingerprint IP hosts on the local network.
+    '';
+    homepage = http://www.nta-monitor.com/tools-resources/security-tools/arp-scan;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 2c7505260a6..deb915c9a5e 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -16,6 +16,7 @@ in
     src = fetchgit {
       inherit rev;
       url = "https://github.com/wertarbyte/autorandr.git";
+      sha256 = "1x8agg6mf5jr0imw7dznr8kxyw970bf252bda9q7b0z4yksya2zd"; 
     };
 
     patchPhase = ''
@@ -35,6 +36,6 @@ in
     meta = {
       description = "Automatic display configuration selector based on connected devices";
       homepage = https://github.com/wertarbyte/autorandr;
-      maintainer = [ stdenv.lib.maintainers.coroa ];
+      maintainers = [ stdenv.lib.maintainers.coroa ];
     };
   }
diff --git a/pkgs/tools/misc/aws-mturk-clt/default.nix b/pkgs/tools/misc/aws-mturk-clt/default.nix
index f2fe1d95930..d2d29aae785 100644
--- a/pkgs/tools/misc/aws-mturk-clt/default.nix
+++ b/pkgs/tools/misc/aws-mturk-clt/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://requester.mturk.com/developer;
     description = "Command line tools for interacting with the Amazon Mechanical Turk";
-    license = "unfree-redistributable";
+    license = "unfree-redistributable"; # Amazon http://aws.amazon.com/asl/
 
     longDescription =
       ''
diff --git a/pkgs/tools/misc/bfr/default.nix b/pkgs/tools/misc/bfr/default.nix
index 024798a84e3..78383f4185d 100644
--- a/pkgs/tools/misc/bfr/default.nix
+++ b/pkgs/tools/misc/bfr/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     description = "general-purpose command-line pipe buffer";
     homepage = http://www.glines.org/wiki/bfr;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/bogofilter/default.nix b/pkgs/tools/misc/bogofilter/default.nix
index f23bd8993cf..52d80a8812e 100644
--- a/pkgs/tools/misc/bogofilter/default.nix
+++ b/pkgs/tools/misc/bogofilter/default.nix
@@ -1,16 +1,16 @@
-{fetchurl, stdenv, flex, bdb}:
+{fetchurl, stdenv, flex, db}:
 
 stdenv.mkDerivation rec {
-  name = "bogofilter-1.1.6";
+  name = "bogofilter-1.2.4";
   src = fetchurl {
     url = "mirror://sourceforge/bogofilter/${name}.tar.bz2";
-    sha256 = "11pbhw6cc2yjdgl7nq771mrcv0z19al8jvassxnvbw4pvr5kzn9j";
+    sha256 = "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1";
   };
 
   # FIXME: We would need `pax' as a "propagated build input" (for use
   # by the `bf_tar' script) but we don't have it currently.
 
-  buildInputs = [ flex bdb ];
+  buildInputs = [ flex db ];
 
   meta = {
     homepage = http://bogofilter.sourceforge.net/;
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
       classifications and corrections.  It is based on a Bayesian
       filter.
     '';
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 03b3719c9f0..909e44d9809 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "byobu-5.37";
+  name = "byobu-5.68";
 
   src = fetchurl {
-    url = "https://launchpad.net/byobu/trunk/5.37/+download/byobu_5.37.orig.tar.gz";
-    sha256 = "e9fec9c03ebdfbeb42d08e8e7a7e45d873e1a5d5f7984a39793e37fe7cc30688";
+    url = "https://launchpad.net/byobu/trunk/5.68/+download/byobu_5.68.orig.tar.gz";
+    sha256 = "1xf2m18zx3075c0qvx4fzvn5afm274j5dl0jps7p2lbaq4k1lyhm";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/colord-gtk/default.nix b/pkgs/tools/misc/colord-gtk/default.nix
new file mode 100644
index 00000000000..f46bf3ef7a4
--- /dev/null
+++ b/pkgs/tools/misc/colord-gtk/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, colord, intltool, glib, gtk3, pkgconfig, lcms2 }:
+
+stdenv.mkDerivation rec {
+  name = "colord-gtk-0.1.25";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
+    sha256 = "02hblw9rw24dhj0wqfw86pfq4y4icb6iaa92308a9jwa6k2923xx";
+  };
+
+  buildInputs = [ intltool colord glib gtk3 pkgconfig lcms2 ];
+
+  meta = {
+    homepage = http://www.freedesktop.org/software/colord/intro.html;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/colord-kde/default.nix b/pkgs/tools/misc/colord-kde/default.nix
new file mode 100644
index 00000000000..55260b269c6
--- /dev/null
+++ b/pkgs/tools/misc/colord-kde/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, cmake, colord, libX11, libXrandr, lcms2, pkgconfig, kdelibs}:
+
+stdenv.mkDerivation {
+  name = "colord-kde-0.3.0";
+
+  src = fetchurl {
+    url = http://download.kde.org/stable/colord-kde/0.3.0/src/colord-kde-0.3.0.tar.bz2;
+    sha256 = "ab3cdb7c8c98aa2ee8de32a92f87770e1fbd58eade6471f3f24d932b50b4cf09";
+  };
+
+  buildInputs = [ cmake colord libX11 libXrandr lcms2 pkgconfig kdelibs ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A colord front-end for KDE";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index e6787ec76c8..71ec1276c7c 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,50 +1,30 @@
-{ stdenv, fetchurl, fetchgit
+{ stdenv, fetchurl, fetchgit, bashCompletion
 , glib, polkit, pkgconfig, intltool, gusb, libusb1, lcms2, sqlite, systemd, dbus
+, automake, autoconf, libtool, gtk_doc, which, gobjectIntrospection }:
 
-, automake, autoconf, libtool, gtk_doc, which, gobjectIntrospection
-, version ? "git"
-}:
+stdenv.mkDerivation rec {
+  name = "colord-1.1.7";
 
-# colord wants to write to the etc/colord.conf and var/run/colord/mapping.db
-# thus they get symlinked to /etc and /var
-
-stdenv.mkDerivation (stdenv.lib.mergeAttrsByVersion "colord" version {
-  "0.1.33" = {
-    name = "colord-0.1.33";
-    src = fetchurl {
-      url = http://www.freedesktop.org/software/colord/releases/colord-0.1.32.tar.xz;
-      sha256 = "1smbkh4z1c2jjwxg626f12sslv7ff3yzak1zqrc493cl467ll0y7";
-    };
-  };
-  "git" = {
-    name = "colord-git-11dca";
-    src = fetchgit {
-      url = "https://github.com/hughsie/colord.git";
-      rev = "11dcaba034edff3955ceff53795df82c57c34adc";
-      sha256 = "1280q7zbfm5wqql872kcxmk5rmwjs7cv7cgz8nx0i9g4ac8j2mrf";
-    };
-
-    preConfigure = ''
-      ./autogen.sh
-    '';
-    buildInputs = [ automake autoconf libtool gtk_doc which gobjectIntrospection ];
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
+    sha256 = "295395526ee0be30917ae9c352e68bfeb20c7fc266a605725bef969f20547f44";
   };
-} {
 
   enableParallelBuilding = true;
 
-  preConfigure = ''
-    configureFlags="$configureFlags --with-udevrulesdir=$out/lib/udev/rules.d --with-systemdsystemunitdir=$out/lib/udev/rules.d"
-  '';
+  configureFlags = [
+    "--with-udevrulesdir=$out/lib/udev/rules.d"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--disable-bash-completion"
+  ];
 
-  buildInputs = [glib polkit pkgconfig intltool gusb libusb1 lcms2 sqlite systemd dbus];
+  buildInputs = [ glib polkit pkgconfig intltool gusb libusb1 lcms2 sqlite systemd dbus gobjectIntrospection
+                  bashCompletion ];
 
   postInstall = ''
-    sed -i '/usb_id\|usb-db/d' $out/lib/udev/rules.d/69-cd-sensors.rules
-    mv $out/etc/colord.conf{,.default}
-    ln -s /etc/colord.conf $out/etc/colord.conf
     rm -fr $out/var/lib/colord
-    ln -s /var/lib/colord $out/var/lib/colord
+    mkdir -p $out/etc/bash_completion.d
+    cp -v data/colormgr $out/etc/bash_completion.d
   '';
 
   meta = {
@@ -54,4 +34,4 @@ stdenv.mkDerivation (stdenv.lib.mergeAttrsByVersion "colord" version {
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
-})
+}
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index a4b84f13507..7db7ebf96d6 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "convmv-1.14";
+  name = "convmv-1.15";
 
   src = fetchurl {
     url = "http://www.j3e.de/linux/convmv/${name}.tar.gz";
-    sha256 = "1vvwrbys5kkfpn6kvn0sj3hls5v03d6gr7j7d5phbj8p9bigb5cn";
+    sha256 = "0daiiapsrca8zlbmlz2kw2fn4vmkh48cblb70h08idchhk3sw5f3";
   };
 
   preBuild=''
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ];
 
   meta = with stdenv.lib; {
+    description = "Converts filenames from one encoding to another";
     platforms = platforms.linux ++ platforms.freebsd ++ platforms.cygwin;
     maintainers = [ maintainers.urkud ];
   };
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 65a3bec555e..8844fe9c57c 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -18,6 +18,8 @@ let
       sha256 = "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd";
     };
 
+    patches = [ ./help2man.patch ];
+
     nativeBuildInputs = [ perl ];
     buildInputs = [ gmp ]
       ++ optional aclSupport acl
@@ -36,7 +38,7 @@ let
           for a in *.x; do
             touch `basename $a .x`.1
           done
-          popd; make ) 
+          popd; make )
       '';
 
       postInstall = ''
@@ -56,7 +58,9 @@ let
     # and {Open,Free}BSD.
     doCheck = stdenv ? glibc;
 
-    enableParallelBuilding = true;
+    # Saw random failures like ‘help2man: can't get '--help' info from
+    # man/sha512sum.td/sha512sum’.
+    enableParallelBuilding = false;
 
     NIX_LDFLAGS = optionalString selinuxSupport "-lsepol";
 
@@ -71,7 +75,7 @@ let
         operating system.
       '';
 
-      license = "GPLv3+";
+      license = stdenv.lib.licenses.gpl3Plus;
 
       maintainers = [ ];
     };
@@ -80,3 +84,6 @@ let
   });
 in
   self
+  // stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux" || stdenv.isSunOS) {
+    FORCE_UNSAFE_CONFIGURE = 1;
+  }
diff --git a/pkgs/tools/misc/coreutils/help2man.patch b/pkgs/tools/misc/coreutils/help2man.patch
new file mode 100644
index 00000000000..9f3cbaa40ff
--- /dev/null
+++ b/pkgs/tools/misc/coreutils/help2man.patch
@@ -0,0 +1,40 @@
+Although the above man pages depend on src/md5sum.c as a shared
+source, the build of the man pages directly requires their own
+executables to exist.
+
+* man/local.mk (man/sha1sum.1): Change the dependency from
+'src/md5sum' to 'src/sha1sum'.
+(man/sha224sum.1): s/md5sum/sha224sum/
+(man/sha256sum.1): s/md5sum/sha256sum/
+(man/sha384sum.1): s/md5sum/sha384sum/
+(man/sha512sum.1): s/md5sum/sha512sum/
+
+Reported by Pádraig Brady in
+http://lists.gnu.org/archive/html/coreutils/2013-11/msg00006.html
+---
+ man/local.mk | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/man/local.mk b/man/local.mk
+index 266b780..45dbcb9 100644
+--- a/man/local.mk
++++ b/man/local.mk
+@@ -131,11 +131,11 @@ man/rm.1:        src/rm
+ man/rmdir.1:     src/rmdir
+ man/runcon.1:    src/runcon
+ man/seq.1:       src/seq
+-man/sha1sum.1:   src/md5sum
+-man/sha224sum.1: src/md5sum
+-man/sha256sum.1: src/md5sum
+-man/sha384sum.1: src/md5sum
+-man/sha512sum.1: src/md5sum
++man/sha1sum.1:   src/sha1sum
++man/sha224sum.1: src/sha224sum
++man/sha256sum.1: src/sha256sum
++man/sha384sum.1: src/sha384sum
++man/sha512sum.1: src/sha512sum
+ man/shred.1:     src/shred
+ man/shuf.1:      src/shuf
+ man/sleep.1:     src/sleep
+-- 
+1.8.3.1
diff --git a/pkgs/tools/misc/cpuminer/default.nix b/pkgs/tools/misc/cpuminer/default.nix
new file mode 100644
index 00000000000..57bd21dff23
--- /dev/null
+++ b/pkgs/tools/misc/cpuminer/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, curl, jansson }:
+
+stdenv.mkDerivation rec {
+  name = "cpuminer-${version}";
+  version = "2.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/cpuminer/pooler-${name}.tar.gz";
+    sha256 = "0yl3ca31ck732f4551svxw6lx1lrjr7rhld5v09v0bgm3z07nnrx";
+  };
+
+  buildInputs = [ curl jansson ];
+
+  configureFlags = [ "CFLAGS=-O3" ];
+
+  meta = {
+    homepage = https://github.com/pooler/cpuminer;
+    description = "CPU miner for Litecoin and Bitcoin";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/cunit/default.nix b/pkgs/tools/misc/cunit/default.nix
index aa586945cb9..ac9685b83f5 100644
--- a/pkgs/tools/misc/cunit/default.nix
+++ b/pkgs/tools/misc/cunit/default.nix
@@ -19,9 +19,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://cunit.sourceforge.net/;
 
-    license = "lgpl";
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = stdenv.lib.licenses.lgpl2;
   };
 }
-
diff --git a/pkgs/tools/misc/cv/default.nix b/pkgs/tools/misc/cv/default.nix
new file mode 100644
index 00000000000..28c6347a63d
--- /dev/null
+++ b/pkgs/tools/misc/cv/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "cv-2014-07-20";
+
+  src = fetchFromGitHub {
+    owner = "Xfennec";
+    repo = "cv";
+    rev = "7441de974cc13f3b07903bb86c41be4e45c8e81b";
+    sha256 = "19ky88b52a8zcv7lx802y4zi3sp0cdhya08cnax0yvlwwq43w6x9";
+  };
+
+  buildInputs = [ ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Xfennec/cv;
+    description = "Tool that shows the progress of coreutils programs";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index ddf30f342d1..49e158ea2d0 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     description = ''Debian package maintenance scripts'';
-    license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only...
+    license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... TODO
     maintainers = with stdenv.lib.maintainers; [raskin];
   };
 }
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 388cfa14e41..16b1858e91d 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -20,7 +20,7 @@ let
     ];
     # TODO install man
     installPhase = ''
-      ensureDir $out/sbin
+      mkdir -p $out/sbin
       ls -l
       t=$out/sbin/MAKEDEV
       cp MAKEDEV $t
@@ -32,13 +32,13 @@ in
 
 stdenv.mkDerivation {
 
-  name = "debootstrap-1.0.42";
+  name = "debootstrap-1.0.60";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
-    url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42.tar.gz;
-    sha256 = "0a5azl22wz1q92b2c91zlpz6krd7wqyi63yk87vyczp363ml0nz0";
+    url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.60.tar.xz;
+    sha256 = "0jyxfmx466fsqak00m4n6b04zsdqym81ybah7yx2l081d0518sw8";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
@@ -78,7 +78,7 @@ stdenv.mkDerivation {
       functions
 
     d=$out/share/debootstrap
-    ensureDir $out/{share/debootstrap,bin}
+    mkdir -p $out/{share/debootstrap,bin}
 
     ${fakeroot}/bin/fakeroot -- make devices.tar.gz MAKEDEV=${makedev}/sbin/MAKEDEV
 
@@ -94,7 +94,7 @@ stdenv.mkDerivation {
     EOF
     chmod +x $out/bin/debootstrap
 
-    ensureDir $out/man/man8
+    mkdir -p $out/man/man8
     mv debootstrap.8 $out/man/man8
   '';
 
@@ -105,7 +105,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "Tool to create a Debian system in a chroot";
     homepage = http://packages.debian.org/de/lenny/debootstrap; # http://code.erisian.com.au/Wiki/debootstrap
-    license = "GPL-2"; # gentoo says so.. ?
+    license = stdenv.lib.licenses.gpl2; # gentoo says so.. ?
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/misc/desktop-file-utils/default.nix b/pkgs/tools/misc/desktop-file-utils/default.nix
index 285160e50d6..7c84d913157 100644
--- a/pkgs/tools/misc/desktop-file-utils/default.nix
+++ b/pkgs/tools/misc/desktop-file-utils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
 stdenv.mkDerivation rec {
-  name = "desktop-file-utils-0.16";
+  name = "desktop-file-utils-0.22";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/desktop-file-utils/releases/${name}.tar.bz2";
-    sha256 = "18y9am8n43rrnnldd1cy09ls39xz1gx3qczax2c4cjxayx5vwq3r";
+    url = "http://www.freedesktop.org/software/desktop-file-utils/releases/${name}.tar.xz";
+    sha256 = "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4";
   };
 
   buildInputs = [ pkgconfig glib ];
diff --git a/pkgs/tools/misc/detox/default.nix b/pkgs/tools/misc/detox/default.nix
index 435115ffc59..65a0047738b 100644
--- a/pkgs/tools/misc/detox/default.nix
+++ b/pkgs/tools/misc/detox/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
       (or CP-1252) characters in them.
     '';
     homepage = "http://detox.sourceforge.net/";
-    license = "bsd";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
new file mode 100644
index 00000000000..739908e3699
--- /dev/null
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -0,0 +1,37 @@
+{ fetchurl, stdenv, go }:
+
+let
+  version = "2.4.0";
+in
+stdenv.mkDerivation {
+  name = "direnv-${version}";
+  src = fetchurl {
+    url = "http://github.com/zimbatm/direnv/archive/v${version}.tar.gz";
+    name = "direnv-${version}.tar.gz";
+    sha256 = "aab8028cc1d68461dd1f6c3c9d000eef10273c52399fe5d1dd917f2f4a1a349a";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = "make";
+  installPhase = "make install DESTDIR=$out";
+
+  meta = {
+    description = "a shell extension that manages your environment";
+    longDescription = ''
+      Once hooked into your shell direnv is looking for an .envrc file in your
+      current directory before every prompt.
+
+      If found it will load the exported environment variables from that bash
+      script into your current environment, and unload them if the .envrc is
+      not reachable from the current path anymore.
+
+      In short, this little tool allows you to have project-specific
+      environment variables.
+    '';
+    homepage = http://direnv.net;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.zimbatm ];
+    platforms = go.meta.platforms;
+  };
+}
diff --git a/pkgs/tools/misc/disper/default.nix b/pkgs/tools/misc/disper/default.nix
index b4a159745d4..777f7b48675 100644
--- a/pkgs/tools/misc/disper/default.nix
+++ b/pkgs/tools/misc/disper/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, python}:
 
 stdenv.mkDerivation rec {
-  name = "disper-0.3.0";
+  name = "disper-0.3.1";
 
   buildInputs = [python];
 
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   '';
 
   src = fetchurl {
-    url = http://ppa.launchpad.net/disper-dev/ppa/ubuntu/pool/main/d/disper/disper_0.3.0.tar.gz;
-    sha256 = "1mfqidm5c89nknzksabqgjygdp57xpszz7hy2dxh39hpgrsk3l58";
+    url = http://ppa.launchpad.net/disper-dev/ppa/ubuntu/pool/main/d/disper/disper_0.3.1.tar.gz;
+    sha256 = "1l8brcpfn4iascb454ym0wrv5kqyz4f0h8k6db54nc3zhfwy7vvw";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/dmg2img/default.nix b/pkgs/tools/misc/dmg2img/default.nix
index 75a9a2037db..2030463885c 100644
--- a/pkgs/tools/misc/dmg2img/default.nix
+++ b/pkgs/tools/misc/dmg2img/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, bzip2, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "dmg2img-1.6.4";
+  name = "dmg2img-1.6.5";
 
   src = fetchurl {
     url = "http://vu1tur.eu.org/tools/${name}.tar.gz";
-    sha256 = "1vcrkphrxdn6dlna8j47a5zaxvdr74msf1sqnc4ldskf35k87fyb";
+    sha256 = "021ka05vq7lsdngsglmv93r2j0vfakrkx964xslzhaybwp5ic2j0";
   };
 
   buildInputs = [zlib bzip2 openssl];
diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix
new file mode 100644
index 00000000000..22bea399f03
--- /dev/null
+++ b/pkgs/tools/misc/dvtm/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "dvtm-0.12";
+
+  meta = {
+    description = "Dynamic virtual terminal manager";
+    homepage = http://www.brain-dump.org/projects/dvtm;
+    license = stdenv.lib.licenses.mit;
+    platfroms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/${name}.tar.gz";
+    sha256 = "0qcwsxhg738rq3bh4yid15nz2rrjc9k7ay6c1qv15c3gkw86zc3f";
+  };
+
+  buildInputs = [ ncurses ];
+
+  prePatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/share/terminfo $out/share/terminfo
+  '';
+
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+}
diff --git a/pkgs/tools/misc/emv/default.nix b/pkgs/tools/misc/emv/default.nix
new file mode 100644
index 00000000000..ee8b12ad89b
--- /dev/null
+++ b/pkgs/tools/misc/emv/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "emv-${version}";
+  version = "1.95";
+
+  src = fetchurl {
+    url = "http://www.i0i0.de/toolchest/emv";
+    sha256 = "7e0e12afa45ef5ed8025e5f2c6deea0ff5f512644a721f7b1b95b63406a8f7ce";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    cp $src $out/bin/emv
+    chmod +x $out/bin/emv
+  '';
+
+  meta = {
+    homepage = "http://www.i0i0.de/toolchest/emv";
+    description = "Editor Move: Rename files with your favourite text editor";
+    license = stdenv.lib.licenses.publicDomain;
+  };
+}
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 90d345daa13..1b6205db7ce 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ethtool-3.10";
+  name = "ethtool-3.14";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "0h0wvi0s6s80v26plkh66aiyybpfyi18sjg5pl9idrd0ccdr93gq";
+    sha256 = "01v7a757757bk68vvap2x0v6jbqicchnjxvh52w8dccixxq2nkj3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/fasd/default.nix b/pkgs/tools/misc/fasd/default.nix
new file mode 100644
index 00000000000..1cbbb9720c9
--- /dev/null
+++ b/pkgs/tools/misc/fasd/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, pandoc, ... } :
+
+let
+  rev = "287af2b80e0829b08dc6329b4fe8d8e5594d64b0";
+in
+stdenv.mkDerivation {
+
+  name = "fasd-1.0.1";
+
+  src = fetchgit {
+    url = "https://github.com/clvv/fasd.git";
+    inherit rev;
+    sha256 = "0kv9iyfdf916x0gab9fzs4vmsnkaqmb6kh4xna485nqij89xzkgs";
+  };
+
+  installPhase = ''
+    PREFIX=$out make install
+  '';
+
+  meta = {
+    homepage = "https://github.com/clvv/fasd";
+    description = "quick command-line access to files and directories for POSIX shells";
+    license = "free"; # https://github.com/clvv/fasd/blob/master/LICENSE
+
+    longDescription = ''
+      Fasd is a command-line productivity booster.
+      Fasd offers quick access to files and directories for POSIX shells. It is
+      inspired by tools like autojump, z and v. Fasd keeps track of files and
+      directories you have accessed, so that you can quickly reference them in the
+      command line.
+    '';
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index 14e6a2f6681..41c479e414b 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
       files within a set of directories.
     '';
     homepage = http://code.google.com/p/fdupes/;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.all;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/tools/misc/figlet/default.nix b/pkgs/tools/misc/figlet/default.nix
index 488f8020b63..7f22a35e8de 100644
--- a/pkgs/tools/misc/figlet/default.nix
+++ b/pkgs/tools/misc/figlet/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "figlet-2.2.4";
+  name = "figlet-2.2.5";
 
   # some tools can be found here ftp://ftp.figlet.org/pub/figlet/util/
   src = fetchurl {
-    url = ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-2.2.4.tar.gz;
-    sha256 = "19qcmm9cmf78w1z7gbpyj9wmrfjzjl25sax9f2j37sijznrh263f";
+    url = ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-2.2.5.tar.gz;
+    sha256 = "0za1ax15x7myjl8jz271ybly8ln9kb9zhm1gf6rdlxzhs07w925z";
   };
 
   installPhase = "make prefix=$out install";
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 8b141fea826..015820916c7 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "file-5.12";
+  name = "file-5.17";
 
   buildInputs = [ zlib ];
 
   src = fetchurl {
     url = "ftp://ftp.astron.com/pub/file/${name}.tar.gz";
-    sha256 = "08ix4xrvan0k80n0l5lqfmc4azjv5lyhvhwdxny4r09j5smhv78r";
+    sha256 = "1jl31jli87s5xnjq14r1fh72qc95562qbr5f63d68yrq3ca9gsrz";
   };
 
   meta = {
     homepage = "http://darwinsys.com/file";
     description = "A program that shows the type of files";
+    platforms = with stdenv.lib.platforms; allBut darwin;
   };
 }
diff --git a/pkgs/tools/misc/fileschanged/default.nix b/pkgs/tools/misc/fileschanged/default.nix
index d0a03f955a8..d6ae74e02b5 100644
--- a/pkgs/tools/misc/fileschanged/default.nix
+++ b/pkgs/tools/misc/fileschanged/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.nongnu.org/fileschanged/";
     description = "A command-line utility that reports when files have been altered";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
       This utility is a client to FAM (File Alteration Monitor) servers
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index 88cb2c313c0..a6ea96b77db 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
           * xargs - build and execute command lines from standard input.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/misc/g500-control/default.nix b/pkgs/tools/misc/g500-control/default.nix
index adccde71c46..9d42c7d68d5 100644
--- a/pkgs/tools/misc/g500-control/default.nix
+++ b/pkgs/tools/misc/g500-control/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, coreutils}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "g500-control-0.0.1";
 
   src = fetchurl {
@@ -8,10 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1xlg9lpxnk3228k81y1i6jjh4df1p4jh64g54w969g6a6v6dazvb";
   };
 
-  buildInputs = [ coreutils ];
-  
   unpackPhase = ''
-    mkdir -pv g500-control
+    mkdir -p g500-control
     tar -C g500-control/ -xf $src
   '';
 
@@ -21,15 +19,16 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -pv $out/bin/
+    mkdir -p $out/bin/
     cp g500-control $out/bin/
   '';
-  
+
   meta = {
     homepage = http://code.google.com/p/g500-control/;
     description = "Configure Logitech G500's internal profile under Linux";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
 
diff --git a/pkgs/tools/misc/gbdfed/Makefile.patch b/pkgs/tools/misc/gbdfed/Makefile.patch
new file mode 100644
index 00000000000..9c437deca07
--- /dev/null
+++ b/pkgs/tools/misc/gbdfed/Makefile.patch
@@ -0,0 +1,15 @@
+diff --git "a/Makefile.in" "b/Makefile.in"
+index b482958..472b8da 100644
+--- "a/Makefile.in"
++++ "b/Makefile.in"
+@@ -27,9 +27,7 @@ MKINSTALLDIRS = ./mkinstalldirs
+ CC = @CC@
+ CFLAGS = @XX_CFLAGS@ @CFLAGS@
+ 
+-DEFINES = @DEFINES@ -DG_DISABLE_DEPRECATED \
+-	-DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED \
+-	-DGTK_DISABLE_DEPRECATED
++DEFINES = @DEFINES@
+ 
+ SRCS = bdf.c \
+        bdfcons.c \
diff --git a/pkgs/tools/misc/gbdfed/default.nix b/pkgs/tools/misc/gbdfed/default.nix
new file mode 100644
index 00000000000..104d3fad8d0
--- /dev/null
+++ b/pkgs/tools/misc/gbdfed/default.nix
@@ -0,0 +1,29 @@
+ { stdenv, fetchurl, pkgconfig, freetype, gtk }:
+
+stdenv.mkDerivation rec {
+  version = "1.6";
+  name = "gbdfed-${version}";
+
+  src = fetchurl {
+    url = "http://sofia.nmsu.edu/~mleisher/Software/gbdfed/${name}.tar.bz2";
+    sha256 = "0g09k6wim58hngxncq2brr7mwjm92j3famp0vs4b3p48wr65vcjx";
+  };
+
+  buildInputs = [ pkgconfig freetype gtk ];
+
+  patches = [ ./Makefile.patch ];
+
+  meta = {
+    description = "Bitmap Font Editor";
+    longDescription = ''
+      gbdfed lets you interactively create new bitmap font files or modify existing ones.
+      It allows editing multiple fonts and multiple glyphs, 
+      it allows cut and paste operations between fonts and glyphs and editing font properties.
+      The editor works natively with BDF fonts. 
+    '';
+    homepage = http://sofia.nmsu.edu/~mleisher/Software/gbdfed/;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.linquize ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/gnuvd/default.nix b/pkgs/tools/misc/gnuvd/default.nix
index 122694af456..359f04673ea 100644
--- a/pkgs/tools/misc/gnuvd/default.nix
+++ b/pkgs/tools/misc/gnuvd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "gnuvd-1.0.10";
+  name = "gnuvd-1.0.12";
 
   src = fetchurl {
-    url = http://www.djcbsoftware.nl/code/gnuvd/gnuvd-1.0.10.tar.gz ;
-    sha256 = "07mlynarcaal74ibbpqrsd982jmw6xfwgvcp9n6191d4h56a000s";
+    url = http://www.djcbsoftware.nl/code/gnuvd/gnuvd-1.0.12.tar.gz ;
+    sha256 = "0mpy76a0pxy62zjiihlzmvl4752hiwxhfs8rm1v5zgdr78acxyxz";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
new file mode 100644
index 00000000000..56e18227d66
--- /dev/null
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, geoip, ncurses, glib }:
+
+let
+  version = "0.8";
+  mainSrc = fetchurl {
+    url = "http://tar.goaccess.prosoftcorp.com/goaccess-${version}.tar.gz";
+    sha256 = "a61215b1f3e82bdb50c892e843f1a85d6d85f882915d694a5672911fab955eea";
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "goaccess-${version}";
+  src = mainSrc;
+
+  configureFlags = [
+    "--enable-geoip"
+    "--enable-utf8"
+  ];
+
+  buildInputs = [ 
+    pkgconfig
+    geoip 
+    ncurses
+    glib
+  ];
+
+  meta = {
+    description = "GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.";
+    homepage    = http://goaccess.prosoftcorp.com;
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ ederoyd46 ];
+  };
+}
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 9e8b1f9e322..16c7f652dec 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig, gtkmm, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.15.0";
+  name = "gparted-0.18.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${name}.tar.bz2";
-    sha256 = "03s9dp2q281lkkfjgk9ahc8i6dk4d2a03z4bh2d19a7r3b2mmdww";
+    sha256 = "0slyf0sbv7a7xvdcpn9ibnixpy0w4s6zwpz6sklkxcyfybw1j7xz";
   };
 
   configureFlags = "--disable-doc";
@@ -15,10 +15,12 @@ stdenv.mkDerivation rec {
     parted gtk glib intltool gettext libuuid pkgconfig gtkmm libxml2
   ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     description = "Graphical disk partitioning tool";
     homepage = http://gparted.sourceforge.net;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index cd3ea6eda6f..03592440818 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   version = "1.4";
-  name    = "grc_${version}";
+  name    = "grc-${version}";
 
   src = fetchurl {
-    url    = "http://korpus.juls.savba.sk/~garabik/software/grc/${name}.tar.gz";
+    url    = "http://korpus.juls.savba.sk/~garabik/software/grc/grc_${version}.tar.gz";
     sha256 = "1l7lskxfjk32kkv4aaqw5qcxvh972nab3x2jzy67m1aa0zpcbzdv";
   };
 
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index 91933224467..b1877bdcf98 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -68,6 +68,10 @@ stdenv.mkDerivation rec {
   doCheck = false;
   enableParallelBuilding = true;
 
+  postInstall = ''
+    paxmark pms $out/sbin/grub-{probe,bios-setup}
+  '';
+
   meta = {
     description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)";
 
@@ -85,9 +89,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/grub/;
 
-    license = "GPLv3+";
-
-    maintainers = with stdenv.lib.maintainers; [ shlevy ];
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = if EFIsupport then
       [ "i686-linux" "x86_64-linux" ]
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
index 6cb528cca1d..5f21559d471 100644
--- a/pkgs/tools/misc/gsmartcontrol/default.nix
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
       It allows you to inspect the drive's SMART data to determine its health,
       as well as run various tests on it.
     '';
-    homepage = http://gsmartcontrol.berlios.de;
-    license = "GPLv2+";
+    homepage = http://gsmartcontrol.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/misc/gummiboot/default.nix b/pkgs/tools/misc/gummiboot/default.nix
index 1098e9d0920..2d0b0015f9d 100644
--- a/pkgs/tools/misc/gummiboot/default.nix
+++ b/pkgs/tools/misc/gummiboot/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gnu-efi, unzip, pkgconfig, utillinux, libxslt, docbook_xsl, docbook_xml_dtd_42 }:
 
 stdenv.mkDerivation rec {
-  name = "gummiboot-38";
+  name = "gummiboot-45";
 
   buildInputs = [ gnu-efi pkgconfig libxslt utillinux ];
 
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = http://pkgs.fedoraproject.org/repo/pkgs/gummiboot/gummiboot-38.tar.xz/0504791387e1998bf2075728c237f27e/gummiboot-38.tar.xz;
-    sha256 = "1aid2a29ym8dqldxpcihnrls7vrr9ijbla3dad0r8qwkca43d4lm";
+    url = http://pkgs.fedoraproject.org/repo/pkgs/gummiboot/gummiboot-45.tar.xz/5d4957390e959cb9f325b87712ddd3f1/gummiboot-45.tar.xz;
+    md5 = "5d4957390e959cb9f325b87712ddd3f1";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix
index f3c5dd02c7e..835ceb32881 100644
--- a/pkgs/tools/misc/hddtemp/default.nix
+++ b/pkgs/tools/misc/hddtemp/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Tool for displaying hard disk temperature";
     homepage = https://savannah.nongnu.org/projects/hddtemp/;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 01820aaf778..a7d03d1335f 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -1,14 +1,22 @@
 
 { stdenv
 , fetchurl
+, zlib ? null
+, szip ? null
 }:
-stdenv.mkDerivation {
-  name = "hdf5-1.8.10-patch1";
+stdenv.mkDerivation rec {
+  version = "1.8.13";
+  name = "hdf5-${version}-patch1";
   src = fetchurl {
-    url = http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.10-patch1.tar.gz;
-    sha256 = "08ad32fhnci6rdfn6mn3w9v1wcaxdcd326n3ljwkcq4dzhkh28qz";  			
+    url = "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-${version}.tar.gz";
+    sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2";  			
   };
-  buildInputs = [] ;
+
+  buildInputs = []
+    ++ stdenv.lib.optional (zlib != null) zlib
+    ++ stdenv.lib.optional (szip != null) szip;
+
+  configureFlags = if szip != null then "--with-szlib=${szip}" else "";
   
   patches = [./bin-mv.patch];
   
diff --git a/pkgs/tools/misc/heimdall/default.nix b/pkgs/tools/misc/heimdall/default.nix
index ab6102cf23c..227fba3d377 100644
--- a/pkgs/tools/misc/heimdall/default.nix
+++ b/pkgs/tools/misc/heimdall/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.glassechidna.com.au/products/heimdall/;
     description = "A cross-platform open-source tool suite used to flash firmware onto Samsung Galaxy S devices";
-    license = "bsd";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/misc/i3minator/default.nix b/pkgs/tools/misc/i3minator/default.nix
new file mode 100644
index 00000000000..08e012128c2
--- /dev/null
+++ b/pkgs/tools/misc/i3minator/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, buildPythonPackage, pythonPackages, python }:
+
+let
+  i3-py = buildPythonPackage rec {
+    version = "0.6.4";
+    name = "i3-py-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/i/i3-py/i3-py-${version}.tar.gz";
+      sha256 = "1sgl438jrb4cdyl7hbc3ymwsf7y3zy09g1gh7ynilxpllp37jc8y";
+    };
+
+    # no tests in tarball
+    doCheck = false;
+  };
+in buildPythonPackage rec {
+  name = "i3minator-${version}";
+  version = "0.0.4";
+
+  src = fetchurl {
+    url = "https://github.com/carlesso/i3minator/archive/${version}.tar.gz";
+    sha256 = "11dn062788kwfs8k2ry4v8zr2gn40r6lsw770s9g2gvhl5n469dw";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.pyyaml i3-py ];
+
+  meta = with stdenv.lib; {
+    description = "i3 project manager similar to tmuxinator";
+    longDescription = ''
+      A simple "workspace manager" for i3. It allows to quickly
+      manage workspaces defining windows and their layout. The
+      project is inspired by tmuxinator and uses i3-py.
+    '';
+    homepage = https://github.com/carlesso/i3minator;
+    license = "WTFPL"; # http://sam.zoy.org/wtfpl/
+    maintainers = with maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix
index e01a28ab185..2b2f3aeaca3 100644
--- a/pkgs/tools/misc/idutils/default.nix
+++ b/pkgs/tools/misc/idutils/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/idutils/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix
index 0a04886f64c..02cb65b1060 100644
--- a/pkgs/tools/misc/ised/default.nix
+++ b/pkgs/tools/misc/ised/default.nix
@@ -10,10 +10,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ised";
-    version="2.2.2";
+    version="2.5.0";
     name="${baseName}-${version}";
     url="mirror://sourceforge/project/ised/${name}.tar.bz2";
-    hash="1nb1cnsbs2k3j9cy2kc2kg01rd7wf3jwxm62rwn1rjlc46nwdlmn";
+    hash="1avfb4ivq6iz50rraci0pcxl0w94899sz6icdqc0l4954y4zs8qd";
   };
 in
 rec {
diff --git a/pkgs/tools/misc/jdiskreport/builder.sh b/pkgs/tools/misc/jdiskreport/builder.sh
index cdc5f94bde0..f95dafedd32 100644
--- a/pkgs/tools/misc/jdiskreport/builder.sh
+++ b/pkgs/tools/misc/jdiskreport/builder.sh
@@ -4,12 +4,12 @@ unzip $src
 
 jar=$(ls */*.jar)
 
-mkdir -p $out/lib/java
-mv $jar $out/lib/java
+mkdir -p $out/share/java
+mv $jar $out/share/java
 
 mkdir -p $out/bin
 cat > $out/bin/jdiskreport <<EOF
 #! $SHELL -e
-exec $jre/bin/java -jar $out/lib/java/$(basename $jar)
+exec $jre/bin/java -jar $out/share/java/$(basename $jar)
 EOF
 chmod +x $out/bin/jdiskreport
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index 2457668d5b0..2fa71223931 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, unzip, jre }:
 
 stdenv.mkDerivation rec {
-  name = "jdiskreport-1.4.0";
+  name = "jdiskreport-1.4.1";
 
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_0.zip;
-    sha256 = "0kx43480p89wlyza94lzqygqfafsdf964syc2c24q28y42psz4kd";
+    url = http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_1.zip;
+    sha256 = "0d5mzkwsbh9s9b1vyvpaawqc09b0q41l2a7pmwf7386b1fsx6d58";
   };
 
   buildInputs = [ unzip ];
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.jgoodies.com/freeware/jdiskreport/;
     description = "A graphical utility to visualize disk usage";
-    license = "unfree-redistributable";
+    license = "unfree-redistributable"; #TODO freedist, libs under BSD-3
   };
 }
diff --git a/pkgs/tools/misc/kalibrate-rtl/default.nix b/pkgs/tools/misc/kalibrate-rtl/default.nix
new file mode 100644
index 00000000000..19870b8de5b
--- /dev/null
+++ b/pkgs/tools/misc/kalibrate-rtl/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, fftw, rtl-sdr, libusb1 }:
+
+stdenv.mkDerivation rec {
+  name = "kalibrate-rtl-20131214";
+
+  # There are no tags/releases, so use the latest commit from git master.
+  # Currently, the latest commit is from 2013-12-14.
+  src = fetchgit {
+    url = "https://github.com/steve-m/kalibrate-rtl.git";
+    rev = "aae11c8a8dc79692a94ccfee39ba01e8c8c05d38";
+    sha256 = "1spbfflkqnw9s8317ppsf7b1nnkicqsmaqsnz1zf8i49ix70i6kn";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig fftw rtl-sdr libusb1 ];
+
+  meta = with stdenv.lib; {
+    description = "Calculate local oscillator frequency offset in RTL-SDR devices";
+    longDescription = ''
+      Kalibrate, or kal, can scan for GSM base stations in a given frequency
+      band and can use those GSM base stations to calculate the local
+      oscillator frequency offset.
+
+      This package is for RTL-SDR devices.
+    '';
+    homepage = https://github.com/steve-m/kalibrate-rtl;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/kde-gtk-config/default.nix b/pkgs/tools/misc/kde-gtk-config/default.nix
new file mode 100644
index 00000000000..873d2adde7f
--- /dev/null
+++ b/pkgs/tools/misc/kde-gtk-config/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, cmake, gettext, gtk2, gtk3, kdelibs
+, libxcb, libpthreadstubs, libXdmcp, pkgconfig, glib, gdk_pixbuf }:
+
+stdenv.mkDerivation {
+  name = "kde-gtk-config-2.2.1";
+  src = fetchurl {
+    url = "mirror://kde/stable/kde-gtk-config/2.2.1/src/kde-gtk-config-2.2.1.tar.xz";
+    sha256 = "11aw86jcjcg3ywnzrxy9x8dvd73my18k0if52fnvyvmb75z0v2cw";
+  };
+
+  buildInputs = [
+    cmake
+    gdk_pixbuf
+    gettext
+    glib
+    gtk2
+    gtk3
+    kdelibs
+    libxcb
+    libpthreadstubs
+    libXdmcp
+    pkgconfig
+  ];
+
+  patches = [ ./kde-gtk-config-2.2.1-install-paths.patch ];
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DKDE4_LIBEXEC_INSTALL_DIR=lib/kde4/libexec
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://projects.kde.org/projects/extragear/base/kde-gtk-config;
+    description = "GTK configuration module for KDE System Settings";
+    longDescription = ''
+      Configuration dialog to adapt GTK applications appearance to your taste under KDE.
+      Among its many features, it lets you:
+      - Choose which theme is used for GTK2 and GTK3 applications.
+      - Tweak some GTK applications behaviour.
+      - Select what icon theme to use in GTK applications.
+      - Select GTK applications default fonts.
+      - Easily browse and install new GTK2 and GTK3 themes.
+    '';
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-2.2.1-install-paths.patch b/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-2.2.1-install-paths.patch
new file mode 100644
index 00000000000..e6596ef0dcc
--- /dev/null
+++ b/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-2.2.1-install-paths.patch
@@ -0,0 +1,28 @@
+diff -ur kde-gtk-config-2.2.1-a/gtk3proxies/CMakeLists.txt kde-gtk-config-2.2.1-b/gtk3proxies/CMakeLists.txt
+--- kde-gtk-config-2.2.1-a/gtk3proxies/CMakeLists.txt	2013-03-18 06:02:39.000000000 -0500
++++ kde-gtk-config-2.2.1-b/gtk3proxies/CMakeLists.txt	2013-12-24 18:57:59.854264894 -0600
+@@ -6,4 +6,4 @@
+ 
+ add_executable(gtk3_preview preview3.c)
+ target_link_libraries(gtk3_preview ${GTK3_LIBRARY} ${GOBJECT2_LIBRARY} ${GLIB2_LIBRARY})
+-install(TARGETS gtk3_preview  RUNTIME DESTINATION "${KDE4_LIBEXEC_INSTALL_DIR}")
++install(TARGETS gtk3_preview  RUNTIME DESTINATION bin)
+diff -ur kde-gtk-config-2.2.1-a/gtkproxies/CMakeLists.txt kde-gtk-config-2.2.1-b/gtkproxies/CMakeLists.txt
+--- kde-gtk-config-2.2.1-a/gtkproxies/CMakeLists.txt	2013-03-18 06:02:39.000000000 -0500
++++ kde-gtk-config-2.2.1-b/gtkproxies/CMakeLists.txt	2013-12-24 18:57:40.967781611 -0600
+@@ -4,13 +4,13 @@
+ 
+ add_executable(reload_gtk_apps reload.c)
+ target_link_libraries(reload_gtk_apps ${GTK2_LIBRARIES})
+-install(TARGETS reload_gtk_apps RUNTIME DESTINATION "${KDE4_LIBEXEC_INSTALL_DIR}")
++install(TARGETS reload_gtk_apps RUNTIME DESTINATION bin)
+ 
+ add_definitions("-DDATA_DIR=\\\"${DATA_INSTALL_DIR}/kcm-gtk-module/\\\"")
+ 
+ add_executable(gtk_preview preview.c)
+ target_link_libraries(gtk_preview ${GTK2_LIBRARIES} ${GTK2_GIOMM_LIBRARY})
+-install(TARGETS gtk_preview RUNTIME DESTINATION "${KDE4_LIBEXEC_INSTALL_DIR}")
++install(TARGETS gtk_preview RUNTIME DESTINATION bin)
+ 
+ # preview file used for the gtk3 version too
+ install(FILES preview.ui
diff --git a/pkgs/tools/misc/kermit/default.nix b/pkgs/tools/misc/kermit/default.nix
index db2d6cffc40..ee521f04700 100644
--- a/pkgs/tools/misc/kermit/default.nix
+++ b/pkgs/tools/misc/kermit/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.columbia.edu/kermit/ck80.html";
     description = "Portable Scriptable Network and Serial Communication Software";
-    license = "free";
+    license = "free non-commercial"; #Kermit http://www.columbia.edu/kermit/ckfaq.html#license
   };
 }
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 881c65ef74b..2eb63f09216 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, coreutils, openssh, gnupg
+, procps, gnugrep, gawk, findutils, gnused }:
 
 stdenv.mkDerivation {
   name = "keychain-2.7.1";
@@ -8,17 +9,27 @@ stdenv.mkDerivation {
     sha256 = "14ai6wjwnj09xnl81ar2dlr5kwb8y1k5ck6nc549shpng0zzw1qi";
   };
 
-  phases = "unpackPhase buildPhase";
+  phases = [ "unpackPhase" "buildPhase" ];
 
-  buildPhase =
-    ''
-      mkdir -p $out/bin
-      cp keychain $out/bin
-    '';
+  buildInputs = [ makeWrapper ];
+
+  buildPhase = ''
+    mkdir -p $out/bin
+    cp keychain $out/bin
+    wrapProgram $out/bin/keychain \
+      --prefix PATH ":" "${coreutils}/bin" \
+      --prefix PATH ":" "${openssh}/bin" \
+      --prefix PATH ":" "${gnupg}/bin" \
+      --prefix PATH ":" "${gnugrep}/bin" \
+      --prefix PATH ":" "${gnused}/bin" \
+      --prefix PATH ":" "${findutils}/bin" \
+      --prefix PATH ":" "${gawk}/bin" \
+      --prefix PATH ":" "${procps}/bin"
+  '';
 
   meta = { 
     description = "Keychain management tool";
     homepage = "http://www.gentoo.org/proj/en/keychain/";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index a26348f8f0f..20830bad6bf 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     md5 = "a8e65f1400c90818ff324dc4fd67eba2";
   };
 
-  buildInputs = [ perl finger_bsd ];
+  buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) finger_bsd;
 
   meta = {
     homepage = "http://www.spinnaker.de/lbdb/";
diff --git a/pkgs/tools/misc/ldapvi/default.nix b/pkgs/tools/misc/ldapvi/default.nix
new file mode 100644
index 00000000000..28d9b4863d4
--- /dev/null
+++ b/pkgs/tools/misc/ldapvi/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, openldap, openssl, popt, glib, ncurses, readline, pkgconfig, cyrus_sasl, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "ldapvi-${version}";
+  version = "0lz1sb5r0y9ypy8d7hm0l2wfa8l69f8ll0i5c78c0apz40nyjqkg";
+
+  # use latest git, it includes some important patches since 2007 release
+  src = fetchgit {
+    url = "http://www.lichteblau.com/git/ldapvi.git";
+    sha256 = "3ef3103030ecb04d7fe80180e3fd490377cf81fb2af96782323fddabc3225030";
+  };
+
+  buildInputs = [ openldap openssl popt glib ncurses readline pkgconfig cyrus_sasl autoconf automake ];
+
+  setSourceRoot = ''
+    sourceRoot=git-export/ldapvi
+  '';
+ 
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "ldapvi is an interactive LDAP client for Unix terminals. Using it, you can update LDAP entries with a text editor";
+    homepage = http://www.lichteblau.com/ldapvi/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index b22e7521764..c51219839b2 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,13 +1,22 @@
-{stdenv, fetchurl, ncurses}:
- 
-stdenv.mkDerivation {
-  name = "less-436";
- 
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "less-462";
+
   src = fetchurl {
-    url = http://www.greenwoodsoftware.com/less/less-436.tar.gz;
-    sha256 = "1lilcx6qrfr2dqahv7r10j9h2v86w5sb7m8wrx2sza9ifkq6z8ap";
+    url = http://www.greenwoodsoftware.com/less/less-462.tar.gz;
+    sha256 = "1kv5izyrkds8lkkzd46c9gxsnjgxbr7w4ficzma95dprcn92m97a";
+  };
+
+  # Look for ‘sysless’ in /etc.
+  configureFlags = "--sysconfdir=/etc";
+
+  buildInputs = [ ncurses ];
+
+  meta = {
+    homepage = http://www.greenwoodsoftware.com/less/;
+    description = "A more advanced file pager than ‘more’";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
- 
-  buildInputs = [ncurses];
- 
 }
diff --git a/pkgs/tools/misc/lockfile-progs/default.nix b/pkgs/tools/misc/lockfile-progs/default.nix
index 41fca212158..308b5217a6f 100644
--- a/pkgs/tools/misc/lockfile-progs/default.nix
+++ b/pkgs/tools/misc/lockfile-progs/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   _name   = "lockfile-progs";
-  version = "0.1.16";
+  version = "0.1.17";
   name    = "${_name}-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.gz";
-    sha256 = "0sca19mg0lk68ms6idy4vfp8dyjpcbq9f143v9qzjyk86bb34lgr";
+    sha256 = "04f5cvhrld15w58wkg6k2azywszsc5xp9cbmfx4jylwrak90byq3";
   };
 
   buildInputs = [ liblockfile ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Programs for locking and unlocking files and mailboxes";
     homepage = http://packages.debian.org/sid/lockfile-progs;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/misc/logstash-forwarder/default.nix b/pkgs/tools/misc/logstash-forwarder/default.nix
new file mode 100644
index 00000000000..52180c75c98
--- /dev/null
+++ b/pkgs/tools/misc/logstash-forwarder/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchgit, go }:
+stdenv.mkDerivation {
+  name = "logstash-forwarder-20140410";
+  src = fetchgit {
+    url = https://github.com/elasticsearch/logstash-forwarder.git;
+    rev = "ec504792108ab6536b45bcf6dff6d26a6b56fef3";
+    sha256 = "309545ceaec171bee997cad260bef1433e041b9f3bfe617d475bcf79924f943d";
+  };
+  buildInputs = [ go ];
+  installPhase = ''
+    mkdir -p $out/bin
+    cp build/bin/logstash-forwarder $out/bin
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.asl20;
+    homepage = https://github.com/elasticsearch/logstash-forwarder;
+  };
+}
diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
index 6ee427bc506..7f43ccdb625 100644
--- a/pkgs/tools/misc/logstash/default.nix
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -1,11 +1,38 @@
-{ fetchurl }:
+{ stdenv, fetchurl }:
 
-let version = "1.2.1"; in
+stdenv.mkDerivation rec {
+  version = "1.4.2";
+  name = "logstash-${version}";
 
-fetchurl {
-  url = "https://logstash.objects.dreamhost.com/release/logstash-${version}-flatjar.jar";
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/logstash/logstash/logstash-${version}.tar.gz";
+    sha256 = "0sc0bwyf96fzs5h3d7ii65v9vvpfbm7w67vk1im9djnlz0d1ggnm";
+  };
 
-  name = "logstash-${version}.jar";
+  dontBuild    = true;
+  dontPatchELF = true;
+  dontStrip    = true;
+  dontPatchShebangs = true;
 
-  sha256 = "08zfhq6klhkqapqnyzbdikgryd8bj2fp0wdb5d6dawdan5psbf6h";
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/vendor
+    mkdir -p $out/lib
+    mkdir -p $out/locales
+    mkdir -p $out/patterns
+    cp -a bin $out
+    cp -a vendor $out
+    cp -a lib $out
+    cp -a locales $out
+    cp -a patterns $out
+    patchShebangs $out/bin
+  '';
+
+  meta = {
+    description = "Open Source, Distributed, RESTful Search Engine";
+    homepage    = http://www.elasticsearch.org;
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.wjlroe ];
+  };
 }
diff --git a/pkgs/tools/misc/lrzsz/default.nix b/pkgs/tools/misc/lrzsz/default.nix
new file mode 100644
index 00000000000..729faa7a95d
--- /dev/null
+++ b/pkgs/tools/misc/lrzsz/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "lrzsz-0.12.20";
+
+  src = fetchurl {
+    url = "https://ohse.de/uwe/releases/${name}.tar.gz";
+    sha256 = "1wcgfa9fsigf1gri74gq0pa7pyajk12m4z69x7ci9c6x9fqkd2y2";
+  };
+
+  configureFlags = [ "--program-transform-name=s/^l//" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://ohse.de/uwe/software/lrzsz.html;
+    description = "Communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 5374cb74361..f664bcc6917 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,32 +1,23 @@
-{stdenv, fetchurl, db4, groff}:
+{ stdenv, fetchurl, pkgconfig, libpipeline, db, groff }:
  
-stdenv.mkDerivation {
-  name = "man-db-2.5.1";
+stdenv.mkDerivation rec {
+  name = "man-db-2.6.6";
   
   src = fetchurl {
-    url = mirror://savannah/man-db/man-db-2.5.1.tar.gz;
-    sha256 = "178w1fk23ffh8vabj29cn0yyg5ps7bwy1zrrrcsw8aypbh3sfjy3";
+    url = "mirror://savannah/man-db/${name}.tar.xz";
+    sha256 = "1hv6byj6sg6cp3jyf08gbmdm4pwhvd5hzmb94xl0w7prin6hzabx";
   };
   
-  buildInputs = [db4 groff];
+  buildInputs = [ pkgconfig libpipeline db groff ];
   
   configureFlags = ''
     --disable-setuid
-    --with-nroff=${groff}/bin/nroff
-    --with-tbl=${groff}/bin/tbl
-    --with-eqn=${groff}/bin/eqn
-    --with-neqn=${groff}/bin/neqn
   '';
 
-  troff = "${groff}/bin/troff";
-  
-  patches = [
-    # Search in "share/man" relative to each path in $PATH (in addition to "man").
-    ./share.patch
-  ];
-
-  meta = {
-    homepage = http://www.nongnu.org/man-db/;
+  meta = with stdenv.lib; {
+    homepage = "http://man-db.nongnu.org";
     description = "An implementation of the standard Unix documentation system accessed using the man command";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/man-db/share.patch b/pkgs/tools/misc/man-db/share.patch
deleted file mode 100644
index 95582a50269..00000000000
--- a/pkgs/tools/misc/man-db/share.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff -rc man-db-2.5.1-orig/src/manp.c man-db-2.5.1/src/manp.c
-*** man-db-2.5.1-orig/src/manp.c	2008-01-07 03:23:11.000000000 +0100
---- man-db-2.5.1/src/manp.c	2008-02-07 14:20:20.000000000 +0100
-***************
-*** 96,102 ****
-  
-  static void mkcatdirs (const char *mandir, const char *catdir);
-  static inline char *get_manpath_from_path (const char *path);
-! static inline char *has_mandir (const char *p);
-  static inline char *fsstnd (const char *path);
-  static char *def_path (int flag);
-  static void add_dir_to_list (char **lp, const char *dir);
---- 96,102 ----
-  
-  static void mkcatdirs (const char *mandir, const char *catdir);
-  static inline char *get_manpath_from_path (const char *path);
-! static inline char *has_mandir (const char *p, const char *mandir);
-  static inline char *fsstnd (const char *path);
-  static char *def_path (int flag);
-  static void add_dir_to_list (char **lp, const char *dir);
-***************
-*** 928,934 ****
-  		} else {
-  			debug ("is not in the config file\n");
-  
-! 		 	t = has_mandir (p);
-  		 	if (t) {
-  				debug ("but does have a ../man or man "
-  				       "subdirectory\n");
---- 928,934 ----
-  		} else {
-  			debug ("is not in the config file\n");
-  
-! 		 	t = has_mandir (p, "man");
-  		 	if (t) {
-  				debug ("but does have a ../man or man "
-  				       "subdirectory\n");
-***************
-*** 938,943 ****
---- 938,952 ----
-  		 	} else
-  				debug ("and doesn't have ../man or man "
-  				       "subdirectories\n");
-+  
-+  		 	t = has_mandir (p, "share/man");
-+  		 	if (t) {
-+                                 debug ("but does have a ../share/man or share/man subdirectory\n");
-+  	
-+  				add_dir_to_list (tmplist, t);
-+  				free (t);
-+  		 	} else
-+  				debug ("and doesn't have ../share/man or share/man subdirectories\n");
-  		}
-  	}
-  
-***************
-*** 1013,1019 ****
-  
-  /* path does not exist in config file: check to see if path/../man or 
-     path/man exist.  If so return it, if not return NULL. */
-! static inline char *has_mandir (const char *path)
-  {
-  	char *newpath = NULL;
-  
---- 1022,1028 ----
-  
-  /* path does not exist in config file: check to see if path/../man or 
-     path/man exist.  If so return it, if not return NULL. */
-! static inline char *has_mandir (const char *path, const char *mandir)
-  {
-  	char *newpath = NULL;
-  
-***************
-*** 1023,1031 ****
-  	char *subdir = strrchr (path, '/');
-  	if (subdir) {
-  		const int prefix_len = subdir + 1 - path;
-! 		newpath = xmalloc (prefix_len + sizeof ("man") + 1);
-  		strncpy (newpath, path, prefix_len);
-! 		strcpy (newpath + prefix_len, "man");
-  
-  		if (is_directory (newpath) == 1)
-  			return newpath;
---- 1032,1040 ----
-  	char *subdir = strrchr (path, '/');
-  	if (subdir) {
-  		const int prefix_len = subdir + 1 - path;
-! 		newpath = xmalloc (prefix_len + strlen (mandir) + 2);
-  		strncpy (newpath, path, prefix_len);
-! 		strcpy (newpath + prefix_len, mandir);
-  
-  		if (is_directory (newpath) == 1)
-  			return newpath;
-***************
-*** 1033,1039 ****
-  			*newpath = '\0';
-  	}
-  
-! 	newpath = appendstr (newpath, path, "/man", NULL);
-  
-  	if (is_directory (newpath) == 1)
-  		return newpath;
---- 1042,1048 ----
-  			*newpath = '\0';
-  	}
-  
-! 	newpath = appendstr (newpath, path, "/", mandir, NULL);
-  
-  	if (is_directory (newpath) == 1)
-  		return newpath;
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index cc8fbacca6f..94c08fa9ba9 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -2,11 +2,11 @@
 , libX11, libICE, perl, zip, unzip, gettext, slang}:
 
 stdenv.mkDerivation rec {
-  name = "mc-4.8.0";
+  name = "mc-4.8.12";
   
   src = fetchurl {
-    url = http://www.midnight-commander.org/downloads/mc-4.8.0.tar.bz2;
-    sha256 = "dbf077b318c13fc6d465dc67bd43958f067b9ff7e21041975bd14927dfa31b52";
+    url = http://www.midnight-commander.org/downloads/mc-4.8.12.tar.bz2;
+    sha256 = "15lkwcis0labshq9k8c2fqdwv8az2c87qpdqwp5p31s8gb1gqm0h";
   };
   
   buildInputs = [ pkgconfig perl glib gpm slang zip unzip file gettext libX11 libICE e2fsprogs ];
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "File Manager and User Shell for the GNU Project";
     homepage = http://www.midnight-commander.org;
-    license = "GPLv2+";
+    repositories.git = git://github.com/MidnightCommander/mc.git;
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/tools/misc/mcrypt/default.nix b/pkgs/tools/misc/mcrypt/default.nix
index 761b2c5bdbf..ffd8966a80e 100644
--- a/pkgs/tools/misc/mcrypt/default.nix
+++ b/pkgs/tools/misc/mcrypt/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       ever-wider range of algorithms and modes.
     '';
     homepage = http://mcrypt.sourceforge.net;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.qknight ];
   };
diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix
index e7342d9b3e6..2805514965e 100644
--- a/pkgs/tools/misc/mdbtools/git.nix
+++ b/pkgs/tools/misc/mdbtools/git.nix
@@ -1,22 +1,25 @@
 { stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig,
-  libiconv, autoconf, automake, libtool }:
+  libiconv, autoconf, automake, libtool, which, txt2man, gnome_doc_utils,
+  scrollkeeper}:
 
 stdenv.mkDerivation {
   name = "mdbtools-git";
 
   src = fetchgit {
     url = "http://github.com/brianb/mdbtools.git";
-    rev = "5ac44b69d9375cca3e1055b70fd22abf7fbf17ab";
-    sha256 = "094e6b480c6fda3a000d0d8539b209d2d7c204a440660a21c11f2e1c9b3aa345";
+    rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b";
+    sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n";
   };
 
   buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake
-    libtool];
+    libtool which txt2man gnome_doc_utils scrollkeeper ];
 
   preConfigure = ''
     sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c
-    export NIX_LDFLAGS="$NIX_LDFLAGS -liconv"
-    ./autogen.sh
+    sed -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(HAVE_GNOME_DOC_UTILS, test x$enable_gtk_doc = xyes)' \
+    -e  '/ENABLE_GTK_DOC/aAM_CONDITIONAL(ENABLE_SK, test x$enable_scrollkeeper = xyes)'          \
+    -i configure.ac
+    autoreconf -i -f
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/megacli/default.nix b/pkgs/tools/misc/megacli/default.nix
index 2b15d4470c3..7fd6ce966d6 100644
--- a/pkgs/tools/misc/megacli/default.nix
+++ b/pkgs/tools/misc/megacli/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
        [ stdenv.gcc.gcc stdenv.gcc.libc ncurses ];
 
   buildCommand = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cd $out
     unzip ${src}
     rpm2cpio linux/MegaCli-8.07.07-1.noarch.rpm | cpio -idmv
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "CLI program for LSI MegaRAID cards, which also works with some Dell PERC RAID cards";
-    license = "unfree";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix
index 978bb2729f8..ebf0a89a707 100644
--- a/pkgs/tools/misc/memtest86/default.nix
+++ b/pkgs/tools/misc/memtest86/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "memtest86-4.1.0";
+  name = "memtest86-4.3.3";
   
   src = fetchurl {
-    url = http://www.memtest86.com/downloads/memtest86-4.1.0-src.tar.gz;
-    sha256 = "1kdvq16s8hvk7plprws33mfh7cnhmfl1m32sfgbmzygbhk5wqxxq";
+    url = http://www.memtest86.com/downloads/memtest86-4.3.3-src.tar.gz;
+    sha256 = "1fzpk0s97lx8h1wbv2bgr6m8v4ag8i58kzr8fa25bvwyl8hks9sl";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix
index 2ab1195020c..8ede3aa918b 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.6.2";
+  name = "minicom-2.7";
 
   src = fetchurl {
-    url = "http://alioth.debian.org/frs/download.php/file/3869/${name}.tar.gz";
-    sha256 = "0s4ibk8scspm8a0raf5s4zgp9b82c4bn529rir9abzqlg5gj3kzk";
+    url = "http://alioth.debian.org/frs/download.php/file/3977/${name}.tar.gz";
+    sha256 = "1x04m4k7c71j5cnhzpjrbz43dd96k4mpkd0l87v5skrgp1isdhws";
   };
 
   buildInputs = [ncurses];
diff --git a/pkgs/tools/misc/mktorrent/default.nix b/pkgs/tools/misc/mktorrent/default.nix
index f177e9e84c2..3200c7016b6 100644
--- a/pkgs/tools/misc/mktorrent/default.nix
+++ b/pkgs/tools/misc/mktorrent/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://mktorrent.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Command line utility to create BitTorrent metainfo files";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index 941d805a6ff..b7f7842680f 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
       windows and can scroll left and right. Why settle for less?
     '';
     homepage = http://www.jedsoft.org/most/index.html;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.gnu; # random choice
   };
 }
diff --git a/pkgs/tools/misc/mssys/default.nix b/pkgs/tools/misc/mssys/default.nix
index a9d32205cea..6d3634ea7af 100644
--- a/pkgs/tools/misc/mssys/default.nix
+++ b/pkgs/tools/misc/mssys/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://ms-sys.sourceforge.net/;
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2;
     description = "A program for writing Microsoft compatible boot records";
   };
 }
diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix
index 19bebcf2823..f3f90143bda 100644
--- a/pkgs/tools/misc/multitail/default.nix
+++ b/pkgs/tools/misc/multitail/default.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation {
-  name = "multitail-5.2.12";
+stdenv.mkDerivation rec {
+  name = "multitail-6.2.1";
 
   src = fetchurl {
-    url = http://www.vanheusden.com/multitail/multitail-5.2.12.tgz;
-    sha256 = "681d87cd49e11aab1d82ad7818ee639c88a3d305db8accf0859977beda6c493c";
+    url = "http://www.vanheusden.com/multitail/${name}.tgz";
+    sha256 = "049fv5cyl5f7vcc8n2q3z3i5k0sqv2k715ic0s4q1nrw5kb6qn0y";
   };
 
   buildInputs = [ ncurses ];
 
+  makeFlags = stdenv.lib.optionalString stdenv.isDarwin "-f makefile.macosx";
+
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp multitail $out/bin
   '';
 
diff --git a/pkgs/tools/misc/myhasktags/default.nix b/pkgs/tools/misc/myhasktags/default.nix
deleted file mode 100644
index 62d4ee2579f..00000000000
--- a/pkgs/tools/misc/myhasktags/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{fetchurl, stdenv, ghcPlain} :
-
-/* use case:
-
-   packageOverrides = {
-
-    haskellCollection =
-     let hp = haskellPackages;
-         install = [ hp.QuickCheck /* ... * /];
-      in
-      misc.collection {
-        name = "my-haskell-packages-collection";
-        list = install ++ (map (x : sourceWithTagsDerivation (sourceWithTagsFromDerivation (addHasktagsTaggingInfo x) ))
-                            (lib.filter (x : builtins.hasAttr "src" x) install ) );
-      };
-   };
-
-*/
-
-stdenv.mkDerivation {
-  name = "hasktags-modified";
-  version = "0.0"; # Haskell Platform 2009.0.0
-  src = fetchurl {
-    url = http://mawercer.de/~nix/hasktags.hs;
-    sha256 = "0zdin03n357viyyqbn2d029jxd83nyazhaxbxfc8v3jrz5pkwl2c";
-  };
-  phases="buildPhase";
-  buildPhase = ''
-    mkdir -p $out/bin
-    ghc --make $src -o $out/bin/hasktags-modified
-  '';
-  buildInputs = [ ghcPlain ];
-
-  meta = {
-    description = "my patched version of hasktags. Should be merged into hasktags?";
-  };
-}
diff --git a/pkgs/tools/misc/mysql2pgsql/default.nix b/pkgs/tools/misc/mysql2pgsql/default.nix
index 5d93ef44b36..0dad6c2d33f 100644
--- a/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "converts mysql dump files to psql loadable files ";
     homepage = http://pgfoundry.org/projects/mysql2pgsql/;
-    license = "GPL";
+    license = "BSD-Original";
   };
 }
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 47b96023ce0..ff751eb40da 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ncdu-${version}";
-  version = "1.8";
+  version = "1.10";
 
   src = fetchurl {
     url = "http://dev.yorhel.nl/download/${name}.tar.gz";
-    sha256 = "42aaf0418c05e725b39b220166a9c604a9c54c0fbf7692c9c119b36d0ed5d099";
+    sha256 = "0rqc5wpqcbfqpcwxgh3jxwa0yw2py0hv0acpsf0a9g6v9144m6gm";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix
index 971c42aac71..6435923b48a 100644
--- a/pkgs/tools/misc/ngrok/default.nix
+++ b/pkgs/tools/misc/ngrok/default.nix
@@ -3,36 +3,43 @@
 let
   go-websocket = fetchgit {
     url = "git://github.com/garyburd/go-websocket";
-    rev = "refs/heads/master";
-    sha256 = "1e4fcff29c961cd7433ba1b655412d466edfeb1f0829b41f578764857bc801fe";
+    rev = "4bad98c955";
+    sha256 = "1zh1r1xqar47awgv8a883zmxyvj65m0mbdm17d1xf74nkkrcykqy";
   };
   go-metrics = fetchgit {
     url = "https://github.com/inconshreveable/go-metrics";
+    rev = "60ba4ca70c";
     sha256 = "3dc8c229ce5123d86269c0c48401a9cdd2cde7558d85374c9dbc4bbd531e86d5";
   };
   termbox-go = fetchgit {
     url = "https://github.com/nsf/termbox-go";
-    sha256 = "6b23e8eabb1c7a99dc8c5a7dd5ecb2c2ae736c7f54e485548d08ac337b3a0400";
+    rev = "cea198fce7";
+    sha256 = "bde4190ae83d5c5870b8e11e16387cf03f2d44a8369f94674d4b9d0960c40693";
   };
   go-bindata = fetchgit {
     url = "https://github.com/inconshreveable/go-bindata";
+    rev = "99016b3cc0";
     sha256 = "518a5b61cfbe58f8bc55bd6139adcd69997b6ba474536a70b538879aaf118578";
   };
   go-update = fetchgit {
     url = "https://github.com/inconshreveable/go-update";
+    rev = "3f04666667";
     sha256 = "34647689a50b9d12e85a280d9034cc1772079163481c4778ee4b3e6c4b41e2f4";
   };
   goyaml = fetchbzr {
     url = "https://launchpad.net/goyaml";
     sha256 = "03is37cgw62cha316xrs5h7q97im46ry5qldkfvbhimjq3ww0swj";
-    revision = "branch:lp:goyaml";
+    # Branch: "branch:lp:goyaml"
+    rev = 47;
   };
   log4go = fetchhg {
     url = "https://code.google.com/p/log4go/";
+    rev = "c3294304d93f";
     sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
   };
   osext = fetchhg {
     url = "https://bitbucket.org/kardianos/osext";
+    rev = "364fb57";
     sha256 = "1w9x2zj716agfd5x5497ajb9nz3ljar74768vjidsyly143vzjws";
   };
 in stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/openopc/default.nix b/pkgs/tools/misc/openopc/default.nix
new file mode 100644
index 00000000000..2fce3807ca7
--- /dev/null
+++ b/pkgs/tools/misc/openopc/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pythonFull }:
+
+stdenv.mkDerivation rec {
+  name = "openopc-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/openopc/openopc/${version}/OpenOPC-${version}.source.tar.bz2";
+    sha256 = "0mm77fiipz5zy82l6pr3wk18bfril81milv2rdxr954c4gw5smyd";
+  };
+
+  # There is no setup.py or any other "build system" file in the source archive.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/doc/openopc"
+    mkdir -p "$out/${pythonFull.python.sitePackages}"
+    mkdir -p "$out/libexec/opc"
+
+    cp src/OpenOPC.py "$out/${pythonFull.python.sitePackages}"
+    cp src/opc.py "$out/libexec/opc/"
+
+    cat > "$out/bin/opc" << __EOF__
+    #!${stdenv.shell}
+    export PYTHONPATH="$out/${pythonFull.python.sitePackages}"
+    exec ${pythonFull}/bin/${pythonFull.python.executable} "$out/libexec/opc/opc.py" "\$@"
+    __EOF__
+    chmod a+x "$out/bin/opc"
+
+    cp -R *.txt doc/* "$out/share/doc/openopc/"
+
+    # Copy these MS Windows tools, for reference.
+    cp src/OpenOPCService.py src/SystemHealth.py "$out/libexec/opc/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OPC (OLE for Process Control) toolkit designed for use with Python";
+    homepage = http://openopc.sourceforge.net/;
+    # """OpenOPC for Python is freely available under the terms of the GNU GPL.
+    # However, the OpenOPC library module is licensed under the "GPL + linking
+    # exception" license, which generally means that programs written using the
+    # OpenOPC library may be licensed under any terms."""
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/pal/default.nix b/pkgs/tools/misc/pal/default.nix
index fbc6d607650..2a081b882ab 100644
--- a/pkgs/tools/misc/pal/default.nix
+++ b/pkgs/tools/misc/pal/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://palcal.sourceforge.net/;
     description = "Command-line calendar program that can keep track of events";
-    license = "BSD";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index d58b57196d2..df360bb9804 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20130422";
+  name = "parallel-20140222";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0aygc6d2sf2xrnyldv62a17masfs5am4zfm68k4fhvymwcfbp41h";
+    sha256 = "0zb3hg92br6a53jn0pzfl16ffc1hfw81jk7nzw5spkshsdrcqx3y";
   };
 
   patchPhase =
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/parallel/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/tools/misc/parcellite/default.nix b/pkgs/tools/misc/parcellite/default.nix
index 0eceea4a57e..d516e50124c 100644
--- a/pkgs/tools/misc/parcellite/default.nix
+++ b/pkgs/tools/misc/parcellite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "parcellite-1.1.6";
+  name = "parcellite-1.1.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/parcellite/${name}.tar.gz";
-    sha256 = "0nz951ykj162mfbcn3w9zk525ww6qcqn5yqdx13nx70fnn6rappi";
+    sha256 = "0pszw3yd4a08p6jsz7asayr7jir08bxbwvfb16k01cj7ya4kf3w7";
   };
 
   buildInputs = [ pkgconfig intltool gtk2 ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Lightweight GTK+ clipboard manager";
     homepage = "http://parcellite.sourceforge.net";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 1d0c4f2a9e7..108d4d5e040 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/parted/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [
       # Add your name here!
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix
index 19a0df26169..156f03dad87 100644
--- a/pkgs/tools/misc/partition-manager/default.nix
+++ b/pkgs/tools/misc/partition-manager/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Utility program to help you manage the disk devices";
     homepage = http://www.kde-apps.org/content/show.php/KDE+Partition+Manager?content=89595; # ?
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/pastebinit/default.nix b/pkgs/tools/misc/pastebinit/default.nix
new file mode 100644
index 00000000000..cf41de29c50
--- /dev/null
+++ b/pkgs/tools/misc/pastebinit/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  version = "1.4.1";
+  name = "pastebinit-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/pastebinit/trunk/${version}/+download/${name}.tar.bz2";
+    md5 = "b771872a9483cf92be90a3e4420fd3c9";
+  };
+
+  configurePhase = "export DETERMINISTIC_BUILD=1";
+
+  buildPhase = "";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/etc
+    cp -a pastebinit $out/bin
+    cp -a pastebin.d $out/etc
+    substituteInPlace $out/bin/pastebinit --replace "'/etc/pastebin.d" "'$out/etc/pastebin.d"
+  '';
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://launchpad.net/pastebinit;
+    description = "A software that lets you send anything you want directly to a pastebin from the command line";
+    maintainers = with maintainers; [ lethalman ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/pg_top/default.nix b/pkgs/tools/misc/pg_top/default.nix
index 4c183d9c402..392fcbcc8ff 100644
--- a/pkgs/tools/misc/pg_top/default.nix
+++ b/pkgs/tools/misc/pg_top/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, ncurses, postgresql}:
 
 stdenv.mkDerivation {
-  name = "pg_top-3.6.2";
+  name = "pg_top-3.7.0";
 
   src = fetchurl {
-    url = http://pgfoundry.org/frs/download.php/1781/pg_top-3.6.2.tar.gz;
+    url = http://pgfoundry.org/frs/download.php/1781/pg_top-3.7.0.tar.gz;
     sha256 = "17xrv0l58rv3an06gkajzw0gg6v810xx6vl137an1iykmhvfh7h2";
   };
 
diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix
index bb08091ad57..303fdb3dbe0 100644
--- a/pkgs/tools/misc/picocom/default.nix
+++ b/pkgs/tools/misc/picocom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, lrzsz }:
 
 stdenv.mkDerivation rec {
   name = "picocom-1.7";
@@ -8,16 +8,21 @@ stdenv.mkDerivation rec {
     sha256 = "17hjq713naq02xar711aw24qqd52p591mj1h5n97cni1ga7irwyh";
   };
 
+  buildInputs = [ makeWrapper ];
+
   installPhase = ''
-    ensureDir $out/bin $out/share/man/man8
+    mkdir -p $out/bin $out/share/man/man8
     cp picocom $out/bin
     cp picocom.8 $out/share/man/man8
+
+    wrapProgram $out/bin/picocom \
+      --prefix PATH ":" "${lrzsz}/bin"
   '';
 
   meta = {
     description = "Minimal dumb-terminal emulation program";
     homepage = http://code.google.com/p/picocom/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/misc/pk2cmd/default.nix b/pkgs/tools/misc/pk2cmd/default.nix
index 37636da7235..909ed0856bb 100644
--- a/pkgs/tools/misc/pk2cmd/default.nix
+++ b/pkgs/tools/misc/pk2cmd/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://www.microchip.com/pickit2;
-    license = "nonfree";
+    license = "nonfree"; #MicroChip-PK2
     description = "Microchip PIC programming software for the PICKit2 programmer";
   };
 }
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 10886e969a2..6ba3d9a4f59 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "7982";
+  version = "7991";
   name = "plantuml-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/plantuml.${version}.jar";
-    sha256 = "0hxs0whjgx36j5azdcna40rw2c7smhg0qm3kzld9vx88m0c51dgl";
+    sha256 = "0afhgiq2165ahj8ww0pmk69nqgpibllp9nhpk8wapg3zknh2hx5r";
   };
 
   # It's only a .jar file and a shell wrapper
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 199e709f16a..df5c8a77e82 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, makeWrapper, curl }:
+{ stdenv, fetchgit, makeWrapper, curl, spidermonkey }:
 
 stdenv.mkDerivation rec {
 
   name = "plowshare4-${version}";
 
-  version = "20121126.47e4480";
+  version = "20140714.0x5s0zn8";
 
-  src = fetchurl {
-    url = "http://plowshare.googlecode.com/files/plowshare4-snapshot-git${version}.tar.gz";
-    sha256 = "1p7bqqfbgcy41hiickgr8cilspyvrrql12rdmfasz0dmgf7nx1x6";
+  src = fetchgit {
+    url = "https://code.google.com/p/plowshare/";
+    rev = "0b67463ca8684c3e9c93bd8164c461a41538e99f";
+    sha256 = "0x5s0zn88w2h0740n4yms6fhwbb19kjwbhaj3k9wrnz4m3112s1m";
   };
 
   buildInputs = [ makeWrapper ];
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin:${spidermonkey}/bin"
     done
   '';
 
diff --git a/pkgs/tools/misc/ponysay/default.nix b/pkgs/tools/misc/ponysay/default.nix
index 1da0d70a14f..42495a45756 100644
--- a/pkgs/tools/misc/ponysay/default.nix
+++ b/pkgs/tools/misc/ponysay/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python3, texinfo, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "ponysay-3.0.1";
+  name = "ponysay-3.0.2";
 
   src = fetchurl {
-    url = "https://github.com/erkin/ponysay/archive/3.0.1.tar.gz";
-    sha256 = "ab281f43510263b2f42a1b0a9097ee7831b3e33a9034778ecb12ccb51f6915ee";
+    url = "https://github.com/erkin/ponysay/archive/3.0.2.tar.gz";
+    sha256 = "03avcbl96rv718lgg6yyrq5mvg3xxzccrnnb6brf4g9mcrwqmsb9";
   };
 
   buildInputs = [ python3 texinfo makeWrapper ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Cowsay reimplemention for ponies";
     homepage = http://terse.tk/ponysay/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ bodil ];
   };
 }
diff --git a/pkgs/tools/misc/proxytunnel/default.nix b/pkgs/tools/misc/proxytunnel/default.nix
index f5be7b8a46d..993a36ea909 100644
--- a/pkgs/tools/misc/proxytunnel/default.nix
+++ b/pkgs/tools/misc/proxytunnel/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation {
   meta = {
     description = "program that connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy";
     homepage = http://proxytunnel.sourceforge.net/download.php;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index bf0c44de141..a8b6e046a9b 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  name = "pv-1.4.12";
+  name = "pv-1.5.3";
 
   src = fetchurl {
     url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2";
-    sha256 = "0hnpv4l5kidfwxzba7ibm9wjs71ing9gzx0m80bgr3ia8k4s8nka";
+    sha256 = "03prg025kzivl1a5xqlf45szpnpqrmkzcvnf7lb2fc1v3jdrkwvn";
   };
 
   meta = {
     homepage = http://www.ivarch.com/programs/pv;
     description = "Tool for monitoring the progress of data through a pipeline";
-    license = "free";
+    license = "Artistic-2";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index e798ee669e2..f2f5f37ebe4 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/recutils/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix
deleted file mode 100644
index 6f4e031e441..00000000000
--- a/pkgs/tools/misc/refind/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, gnu-efi, unzip }:
-
-let version = "0.4.5"; in
-
-stdenv.mkDerivation {
-  name = "refind-${version}";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/refind/refind-src-${version}.zip";
-    sha256 = "05nbalsl5csgph0v2amzgay9k2vzm47z8n1n6blbh9hvb7j5vn2c";
-  };
-
-  buildInputs = [ unzip ];
-
-  buildFlags = [ "prefix=" "EFIINC=${gnu-efi}/include/efi" "GNUEFILIB=${gnu-efi}/lib" "EFILIB=${gnu-efi}/lib" "EFICRT0=${gnu-efi}/lib" "LOCAL_CFLAGS=-I${gnu-efi}/include" ];
-
-  installPhase = ''
-    mkdir -pv $out
-    install -v -m644 refind/refind*.efi refind.conf-sample $out
-    mv -v icons $out
-  '';
-
-  meta = {
-    description = "An EFI boot manager";
-
-    homepage = http://www.rodsbooks.com/refind/;
-
-    license = "GPLv3+";
-
-    maintainers = with stdenv.lib.maintainers; [ shlevy ];
-
-    platforms = [ "i686-linux" "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index b679218db79..fe0f3d646b8 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.roaringpenguin.com/products/remind;
     description = "Sophisticated calendar and alarm program for the console";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
new file mode 100644
index 00000000000..efdc21ad9b7
--- /dev/null
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, protobufc }:
+
+stdenv.mkDerivation rec {
+  name = "riemann-c-client-${version}";
+
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "https://github.com/algernon/riemann-c-client/archive/${name}.tar.gz";
+    sha256 = "132yd1m523inmv17sd48xf7xdqb7jj36v7is1xw7w9nny6qxkzwm";
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig file protobufc ];
+
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/algernon/riemann-c-client";
+    description = "A C client library for the Riemann monitoring system";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.rickynils ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/rkflashtool/default.nix b/pkgs/tools/misc/rkflashtool/default.nix
new file mode 100644
index 00000000000..6b74f9ac5d3
--- /dev/null
+++ b/pkgs/tools/misc/rkflashtool/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, libusb1 }:
+
+stdenv.mkDerivation rec {
+  name = "rkflashtool-5.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/rkflashtool/${name}-src.tar.bz2";
+    sha256 = "0dbp1crw7pjav9gffrnskhkf0gxlj4xgp65clqhvfmv32460xb9c";
+  };
+
+  versionh = fetchurl {
+    url = "mirror://sourceforge/rkflashtool/version.h";
+    sha256 = "1mkcy3yyfaddhzg524hjnhvmwdmdfzbavib8d9p5y38pcqy8xgdp";
+  };
+
+  buildInputs = [ libusb1 ];
+
+  preBuild = ''
+    cp $versionh version.h
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp rkunpack rkcrc rkflashtool $out/bin
+  '';
+
+  meta = {
+    homepage = http://sourceforge.net/projects/rkflashtool/;
+    description = "Tools for flashing Rockchip devices";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.viric ];
+  };
+}
diff --git a/pkgs/tools/misc/rockbox-utility/default.nix b/pkgs/tools/misc/rockbox-utility/default.nix
index adb2a456b88..eac12bae381 100644
--- a/pkgs/tools/misc/rockbox-utility/default.nix
+++ b/pkgs/tools/misc/rockbox-utility/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation  rec {
   name = "rockbox-utility-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "http://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2";
-    sha256 = "6c04b5c7eaad1762577908dedb9e40f5b0cee675150ae5ba844ea2c9bea294ca";
+    sha256 = "0k3ycga3b0jnj13whwiip2l0gx32l50pnbh7kfima87nq65aaa5w";
   };
 
   buildInputs = [ libusb1 qt4 ];
diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix
index 5270ddad35e..aa14087dfc8 100644
--- a/pkgs/tools/misc/rrdtool/default.nix
+++ b/pkgs/tools/misc/rrdtool/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://oss.oetiker.ch/rrdtool/;
     description = "High performance logging in Round Robin Databases";
-    license = "GPL";
-    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index c2c0a5aa534..6e3f8edbb9c 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,22 +1,19 @@
-{ stdenv, fetchurl, ncurses, pam }:
+{ stdenv, fetchurl, ncurses, pam ? null }:
 
 stdenv.mkDerivation rec {
-  name = "screen-4.0.3";
+  name = "screen-4.2.1";
 
   src = fetchurl {
     url = "mirror://gnu/screen/${name}.tar.gz";
-    sha256 = "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q";
+    sha256 = "105hp6qdd8rl71p81klmxiz4mlb60kh9r7czayrx40g38x858s2l";
   };
 
-  patches = [ ./screen-4.0.3-caption-colors.patch
-              ./screen-4.0.3-long-term.patch ];
-
   preConfigure = ''
     configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc"
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
-  buildInputs = [ ncurses pam ];
+  buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam;
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch b/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch
deleted file mode 100644
index 14365dc81c1..00000000000
--- a/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-# Source:
-# https://projects.archlinux.org/svntogit/packages.git/plain/screen/trunk/screen-4.0.3-caption-colors.patch
-# modified by hand for nixpkgs
-
-From e6a28cf8bfdac15faa6c267bf476ddcaddf48d67 Mon Sep 17 00:00:00 2001
-From: Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
-Date: Tue, 26 Jan 2010 20:17:26 +0000
-Subject: Accommodate more color changes in the caption.
-
----
-diff --git a/src/screen.c b/src/screen.c
-index b1c3dfb..2cceae0 100644
---- a/screen.c
-+++ b/screen.c
-@@ -2204,7 +2204,7 @@ static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
- #endif
- 
- static char winmsg_buf[MAXSTR];
--#define MAX_WINMSG_REND 16	/* rendition changes */
-+#define MAX_WINMSG_REND 256	/* rendition changes */
- static int winmsg_rend[MAX_WINMSG_REND];
- static int winmsg_rendpos[MAX_WINMSG_REND];
- static int winmsg_numrend;
---
-cgit v0.8.3.4
diff --git a/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch b/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch
deleted file mode 100644
index f94f9da8ac4..00000000000
--- a/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# Source:
-# https://projects.archlinux.org/svntogit/packages.git/plain/screen/trunk/screen-4.0.3-long-term.patch
-
-# This fixes long terminal names handling, e.g. TERM=rxvt-unicode-256colors works
-# as expected.
-diff -Naur screen-4.0.3-orig//display.h screen-4.0.3/display.h
---- screen-4.0.3-orig//display.h	2003-07-02 00:01:42.000000000 +1000
-+++ screen-4.0.3/display.h	2010-12-03 20:19:23.826671689 +1000
-@@ -85,7 +85,7 @@
-   struct win *d_other;		/* pointer to other window */
-   int   d_nonblock;		/* -1 don't block if obufmax reached */
- 				/* >0: block after nonblock secs */
--  char  d_termname[20 + 1];	/* $TERM */
-+  char  d_termname[40 + 1];	/* $TERM */
-   char	*d_tentry;		/* buffer for tgetstr */
-   char	d_tcinited;		/* termcap inited flag */
-   int	d_width, d_height;	/* width/height of the screen */
-diff -Naur screen-4.0.3-orig//screen.h screen-4.0.3/screen.h
---- screen-4.0.3-orig//screen.h	2003-08-22 22:28:43.000000000 +1000
-+++ screen-4.0.3/screen.h	2010-12-03 20:19:43.163338333 +1000
-@@ -202,7 +202,7 @@
- 	  char preselect[20];
- 	  int esc;		/* his new escape character unless -1 */
- 	  int meta_esc;		/* his new meta esc character unless -1 */
--	  char envterm[20 + 1];	/* terminal type */
-+	  char envterm[40 + 1];	/* terminal type */
- 	  int encoding;		/* encoding of display */
- 	}
-       attach;
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
new file mode 100644
index 00000000000..0ebc712fcf0
--- /dev/null
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, xdpyinfo, xprop }:
+
+let
+  version = "2014-05-27";
+in
+stdenv.mkDerivation {
+  name = "screenFetch-${version}";
+  pname = "screenfetch";
+
+  src = fetchgit {
+    url = git://github.com/KittyKatt/screenFetch.git;
+    rev = "69c46cb94b5765dbcb36905c5a35c42eb8e6e470";
+    sha256 = "0479na831120bpyrg5nb3nb1jr8p8ahkixk1znwg730q3vdcjd6j";
+  };
+
+  installPhase = ''
+    install -Dm 0755 $pname-dev $out/bin/$pname
+    install -Dm 0644 $pname.1 $out/man/man1/$pname.1
+  '';
+
+  meta = {
+    description = "Fetches system/theme information in terminal for Linux desktop screenshots.";
+    longDescription = ''
+    screenFetch is a "Bash Screenshot Information Tool". This handy Bash
+    script can be used to generate one of those nifty terminal theme
+    information + ASCII distribution logos you see in everyone's screenshots
+    nowadays. It will auto-detect your distribution and display an ASCII
+    version of that distribution's logo and some valuable information to the
+    right. There are options to specify no ascii art, colors, taking a
+    screenshot upon displaying info, and even customizing the screenshot
+    command! This script is very easy to add to and can easily be extended.
+    '';
+    license = stdenv.lib.licenses.gpl3;
+    homepage = http://git.silverirc.com/cgit.cgi/screenfetch-dev.git/;
+    maintainers = with stdenv.lib.maintainers; [relrod];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/sl/default.nix b/pkgs/tools/misc/sl/default.nix
index 14cc6c4260f..aa35461a7a9 100644
--- a/pkgs/tools/misc/sl/default.nix
+++ b/pkgs/tools/misc/sl/default.nix
@@ -15,13 +15,17 @@ stdenv.mkDerivation {
   buildInputs = [ ncurses ];
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp sl $out/bin
   '';
 
   meta = {
     homepage = http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html;
-    license = "unfree"; # I couldn't find its license, only a copyright.
+    license = rec {
+      shortName = "Toyoda Masashi's free software license";
+      fullName = shortName;
+      url = https://github.com/mtoyoda/sl/blob/master/LICENSE;
+    };
     description = "Steam Locomotive runs across your terminal when you type 'sl'";
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/misc/slsnif/default.nix b/pkgs/tools/misc/slsnif/default.nix
index c861fc6f73a..f3c1c278c76 100644
--- a/pkgs/tools/misc/slsnif/default.nix
+++ b/pkgs/tools/misc/slsnif/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Serial line sniffer";
     homepage = http://slsnif.sourceforge.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/smc/default.nix b/pkgs/tools/misc/smc/default.nix
new file mode 100644
index 00000000000..c7c389a3733
--- /dev/null
+++ b/pkgs/tools/misc/smc/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  name = "smc-6.3.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/smc/smc/6_3_0/smc_6_3_0.tgz";
+    sha256 = "0arzi8kc4vycp1ccf0v87p08cdpylwhx4za2pzvp08vkfwi8zc7z";
+  };
+
+  # Prebuilt Java package.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/smc"
+    mkdir -p "$out/share/smc/lib"
+    mkdir -p "$out/share/icons"
+    mkdir -p "$out/share/java"
+
+    cp bin/Smc.jar "$out/share/java/"
+    cp -r examples/ docs/ tools/ README.txt LICENSE.txt "$out/share/smc/"
+    cp -r lib/* "$out/share/smc/lib/"
+    cp misc/smc.ico "$out/share/icons/"
+
+    cat > "$out/bin/smc" << EOF
+    #!${stdenv.shell}
+    ${jre}/bin/java -jar "$out/share/java/Smc.jar" "\$@"
+    EOF
+    chmod a+x "$out/bin/smc"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Generate state machine code from text input (state diagram)";
+    longDescription = ''
+      SMC (State Machine Compiler) takes a text input file describing states,
+      events and actions of a state machine and generates source code that
+      implements the state machine.
+
+      SMC supports many target languages:
+      C, C++, DotNet, Groovy, java, Java, JavaScript, Lua, ObjC, Perl, Php,
+      Python, Ruby, Scala, Tcl.
+
+      SMC can also generate GraphViz state diagrams from the input file.
+    '';
+    homepage = http://smc.sourceforge.net/;
+    license = licenses.mpl11;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/stow/default.nix b/pkgs/tools/misc/stow/default.nix
index 58f30a021fa..a6afe475e3b 100644
--- a/pkgs/tools/misc/stow/default.nix
+++ b/pkgs/tools/misc/stow/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
       as .../share, .../man, and so on.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     homepage = http://www.gnu.org/software/stow/;
 
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
new file mode 100644
index 00000000000..6d2bee23813
--- /dev/null
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+   name = "sutils-0.1";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/sutils/archive/0.1.tar.gz";
+     sha256 = "0xqk42vl82chy458d64fj68a4md4bxaip8n3xw9skxz0a1sgvks8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Small command-line utilities.";
+     homepage = "https://github.com/baskerville/sutils";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index b0da497c322..51cb1d22a49 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--with-udev-rules"
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     ];
 
   postInstall =
diff --git a/pkgs/tools/misc/t1utils/default.nix b/pkgs/tools/misc/t1utils/default.nix
new file mode 100644
index 00000000000..5e473a5cd09
--- /dev/null
+++ b/pkgs/tools/misc/t1utils/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "t1utils-1.38";
+
+  src = fetchurl {
+    url = "http://www.lcdf.org/type/${name}.tar.gz";
+    sha256 = "1pnxpjabjyzfjrp319wsq4acxw99c8nnsaalbz7nwamj8kkim7zw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Collection of simple Type 1 font manipulation programs";
+    longDescription = ''
+      t1utils is a collection of simple type-1 font manipulation programs.
+      Together, they allow you to convert between PFA (ASCII) and PFB (binary)
+      formats, disassemble PFA or PFB files into human-readable form,
+      reassemble them into PFA or PFB format. Additionally you can extract font
+      resources from a Macintosh font file or create a Macintosh Type 1 font
+      file from a PFA or PFB font.
+    '';
+    homepage = http://www.lcdf.org/type/;
+    # README from tarball says "BSD-like" and points to non-existing LICENSE
+    # file...
+    license = "Click"; # MIT with extra clause, https://github.com/kohler/t1utils/blob/master/LICENSE
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix
index 47734b4cd69..fd237ac15f4 100644
--- a/pkgs/tools/misc/testdisk/default.nix
+++ b/pkgs/tools/misc/testdisk/default.nix
@@ -1,18 +1,20 @@
-{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid}:
+{ stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid, ntfs3g }:
 
 stdenv.mkDerivation {
-  name = "testdisk-6.13";
+  name = "testdisk-6.14";
 
   src = fetchurl {
-    url = http://www.cgsecurity.org/testdisk-6.13.tar.bz2;
-    sha256 = "087jrn41z3ymf1b6njl2bg99pr79v8l1f63f7rn5ni69vz6mq9s8";
+    url = http://www.cgsecurity.org/testdisk-6.14.tar.bz2;
+    sha256 = "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5";
   };
 
-  buildInputs = [ncurses libjpeg e2fsprogs zlib openssl libuuid];
+  buildInputs = [ ncurses libjpeg e2fsprogs zlib openssl libuuid ntfs3g ];
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.cgsecurity.org/wiki/TestDisk;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     longDescription = ''
diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix
index 05ab7cc7ae7..3a35e9a9f1c 100644
--- a/pkgs/tools/misc/time/default.nix
+++ b/pkgs/tools/misc/time/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
       `time' reports unavailable information as zero values.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.gnu.org/software/time/;
   };
 }
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 89ff6f4677f..afe75c572c0 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,4 +1,4 @@
-{ composableDerivation, stdenv, fetchurl, alsaLib, jackaudio, ncurses }:
+{ composableDerivation, stdenv, fetchurl, alsaLib, jack2, ncurses }:
 
 let inherit (composableDerivation) edf; in
 
@@ -30,8 +30,8 @@ composableDerivation.composableDerivation {} {
     };
     jack = {
       audioModes = "jack";
-      buildInputs = [jackaudio];
-      NIX_LDFLAGS = ["-ljack -L${jackaudio}/lib64"];
+      buildInputs = [jack2];
+      NIX_LDFLAGS = ["-ljack -L${jack2}/lib64"];
     };
   } // edf { name = "ncurses"; enable = { buildInputs = [ncurses]; };};
 
diff --git a/pkgs/tools/misc/tmpwatch/default.nix b/pkgs/tools/misc/tmpwatch/default.nix
new file mode 100644
index 00000000000..c19d58b9816
--- /dev/null
+++ b/pkgs/tools/misc/tmpwatch/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "tmpwatch-2.11";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/t/m/tmpwatch/tmpwatch-2.11.tar.bz2";
+    sha256 = "1m5859ngwx61l1i4s6fja2avf1hyv6w170by273w8nsin89825lk";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://fedorahosted.org/tmpwatch/;
+    description = "The tmpwatch utility recursively searches through specified directories and removes files which have not been accessed in a specified period of time.";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ vlstill ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 272656349f6..4acbabb50f9 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -2,18 +2,24 @@
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "1.8";
+  version = "1.9a";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "f265401ca890f8223e09149fcea5abcd6dfe75d597ab106e172b01e9d0c9cd44";
+    sha256 = "1x9k4wfd4l5jg6fh7xkr3yyilizha6ka8m5b1nr0kw8wj0mv5qy5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ ncurses libevent ];
 
+  postInstall =
+    ''
+      mkdir -p $out/etc/bash_completion.d
+      cp -v examples/bash_completion_tmux.sh $out/etc/bash_completion.d/tmux
+    '';
+
   meta = {
     homepage = http://tmux.sourceforge.net/;
     description = "tmux is a terminal multiplexer";
diff --git a/pkgs/tools/misc/ttmkfdir/default.nix b/pkgs/tools/misc/ttmkfdir/default.nix
index 12adb5318a8..3583b5b8f30 100644
--- a/pkgs/tools/misc/ttmkfdir/default.nix
+++ b/pkgs/tools/misc/ttmkfdir/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "ttf-mkfontdir-3.0.9-6";
 
   src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/t/ttmkfdir/ttmkfdir_3.0.9.orig.tar.gz;
+    url = http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9.orig.tar.gz;
     sha256 = "0n6bmmndmp4c1myisvv7cby559gzgvwsw4rfw065a3f92m87jxiq";
   };
     
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   # who knows more about C/C++ ..
   patches =
     [ (fetchurl {
-        url = http://ftp.de.debian.org/debian/pool/main/t/ttmkfdir/ttmkfdir_3.0.9-6.diff.gz;
+        url = http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9-6.diff.gz;
         sha256 = "141kxaf2by8nf87hqyszaxi0n7nnmswr1nh2i5r5bsvxxmaj9633";
       })
     
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index c609d2275da..84f0f63bd25 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -1,13 +1,14 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation {
-  name = "units-1.86";
+  name = "units-2.10";
 
   src = fetchurl {
-    url = mirror://gnu/units/units-1.86.tar.gz;
-    sha256 = "1syc4d3x1wb03hcxnz7rkgapk96biazfk2qqn2wfyx54bq829lhi";
+    url = mirror://gnu/units/units-2.10.tar.gz;
+    sha256 = "0fa4bk5aqyis5zisz6l8mqqk76njj6zgx3pbrjp5kvraz1dz78lc";
   };
 
   meta = {
     description = "Unit conversion tool";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/uucp/default.nix b/pkgs/tools/misc/uucp/default.nix
index f8ad1fd4d15..bf73dbcbf2f 100644
--- a/pkgs/tools/misc/uucp/default.nix
+++ b/pkgs/tools/misc/uucp/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/uucp/uucp.html;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/tools/misc/w3c-css-validator/default.nix b/pkgs/tools/misc/w3c-css-validator/default.nix
index 5cfe8737638..f08fe87202f 100644
--- a/pkgs/tools/misc/w3c-css-validator/default.nix
+++ b/pkgs/tools/misc/w3c-css-validator/default.nix
@@ -72,5 +72,6 @@ stdenv.mkDerivation {
     license = "w3c"; # http://www.w3.org/Consortium/Legal/ 
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/misc/wv2/default.nix b/pkgs/tools/misc/wv2/default.nix
index a3938c1af4c..1c2c94ff89c 100644
--- a/pkgs/tools/misc/wv2/default.nix
+++ b/pkgs/tools/misc/wv2/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Excellent MS Word filter lib, used in most Office suites";
-    license = "LGPLv2";
+    license = stdenv.lib.licenses.lgpl2;
     homepage = http://wvware.sourceforge.net;
   };
 }
diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix
index cc9f98a94f6..93a2707d1e9 100644
--- a/pkgs/tools/misc/xburst-tools/default.nix
+++ b/pkgs/tools/misc/xburst-tools/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Qi tools to access the Ben Nanonote USB_BOOT mode";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     homepage = http://www.linux-mtd.infradead.org/;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/misc/xclip/default.nix b/pkgs/tools/misc/xclip/default.nix
index 1014f11453b..4afcc0ac36d 100644
--- a/pkgs/tools/misc/xclip/default.nix
+++ b/pkgs/tools/misc/xclip/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = { 
     description = "Tool to access the X clipboard from a console application";
-    homepage = http://people.debian.org/~kims/xclip/;
-    license = "GPL-2";
+    homepage = http://sourceforge.net/projects/xclip/;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix
index 74ee8b5b548..79c6a743bce 100644
--- a/pkgs/tools/misc/xdaliclock/default.nix
+++ b/pkgs/tools/misc/xdaliclock/default.nix
@@ -12,11 +12,11 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="xdaliclock";
-    version="2.35";
+    version="2.40";
     name="${baseName}-${version}";
     project="${baseName}";
     url="http://www.jwz.org/${project}/${name}.tar.gz";
-    hash="0iybha2d0wqb4wkpw7l1zi3zhw57kqh3y7p4ja1k0fmvrzqc08g7";
+    hash="03i8vwi9vz3gr938wr4miiymwv283mg11wgfaf2jhl6aqbmz4id7";
   };
 in
 rec {
@@ -45,7 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux ++ freebsd;
-    license = "free";
+    license = "free"; #TODO BSD on Gentoo, looks like MIT
   };
   passthru = {
     updateInfo = {
@@ -53,4 +53,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
new file mode 100644
index 00000000000..9a059c9dbb5
--- /dev/null
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxcb, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+   name = "xdo-0.3";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xdo/archive/0.3.tar.gz";
+     sha256 = "128flaydag9ixsai87p85r84arg2pn1j9h3zgdjwlmbcpb8d4ia8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   buildInputs = [ libxcb xcbutilwm ];
+
+   meta = {
+     description = "Small X utility to perform elementary actions on windows";
+     homepage = "https://github.com/baskerville/xdo";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xdummy/default.nix b/pkgs/tools/misc/xdummy/default.nix
new file mode 100644
index 00000000000..30aba19930c
--- /dev/null
+++ b/pkgs/tools/misc/xdummy/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, writeText, writeScriptBin, xorg, xkeyboard_config }:
+
+let
+  xorgConfig = writeText "dummy-xorg.conf" ''
+    Section "ServerLayout"
+      Identifier     "dummy_layout"
+      Screen         0 "dummy_screen"
+      InputDevice    "dummy_keyboard" "CoreKeyboard"
+      InputDevice    "dummy_mouse" "CorePointer"
+    EndSection
+
+    Section "ServerFlags"
+      Option "DontVTSwitch" "true"
+      Option "AllowMouseOpenFail" "true"
+      Option "PciForceNone" "true"
+      Option "AutoEnableDevices" "false"
+      Option "AutoAddDevices" "false"
+    EndSection
+
+    Section "Files"
+      ModulePath "${xorg.xorgserver}/lib/xorg/modules"
+      ModulePath "${xorg.xf86videodummy}/lib/xorg/modules"
+      XkbDir "${xkeyboard_config}/share/X11/xkb"
+      FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi"
+      FontPath "${xorg.fontadobe100dpi}/lib/X11/fonts/100dpi"
+      FontPath "${xorg.fontbhlucidatypewriter75dpi}/lib/X11/fonts/75dpi"
+      FontPath "${xorg.fontbhlucidatypewriter100dpi}/lib/X11/fonts/100dpi"
+      FontPath "${xorg.fontbh100dpi}/lib/X11/fonts/100dpi"
+      FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc"
+      FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc"
+    EndSection
+
+    Section "Module"
+      Load           "dbe"
+      Load           "extmod"
+      Load           "freetype"
+      Load           "glx"
+    EndSection
+
+    Section "InputDevice"
+      Identifier     "dummy_mouse"
+      Driver         "void"
+    EndSection
+
+    Section "InputDevice"
+      Identifier     "dummy_keyboard"
+      Driver         "void"
+    EndSection
+
+    Section "Monitor"
+      Identifier     "dummy_monitor"
+      HorizSync       30.0 - 130.0
+      VertRefresh     50.0 - 250.0
+      Option         "DPMS"
+    EndSection
+
+    Section "Device"
+      Identifier     "dummy_device"
+      Driver         "dummy"
+      VideoRam       192000
+    EndSection
+
+    Section "Screen"
+      Identifier     "dummy_screen"
+      Device         "dummy_device"
+      Monitor        "dummy_monitor"
+      DefaultDepth    24
+      SubSection     "Display"
+        Depth       24
+        Modes      "1280x1024"
+      EndSubSection
+    EndSection
+  '';
+
+in writeScriptBin "xdummy" ''
+  #!${stdenv.shell}
+  export XKB_BINDIR="${xorg.xkbcomp}/bin"
+  exec ${xorg.xorgserver}/bin/Xorg \
+    -noreset \
+    -logfile /dev/null \
+    "$@" \
+    -config "${xorgConfig}"
+''
diff --git a/pkgs/tools/misc/xmltv/default.nix b/pkgs/tools/misc/xmltv/default.nix
index 4b8ba43f597..9d393940606 100644
--- a/pkgs/tools/misc/xmltv/default.nix
+++ b/pkgs/tools/misc/xmltv/default.nix
@@ -12,4 +12,5 @@ import ../../../development/perl-modules/generic perl {
     perlPackages.DateManip perlPackages.HTMLTree perlPackages.HTMLParser
     perlPackages.HTMLTagset perlPackages.URI perlPackages.LWP
   ];
+  meta.broken = true;
 }
diff --git a/pkgs/tools/misc/xsel/default.nix b/pkgs/tools/misc/xsel/default.nix
index 5c8d6f37c7c..74eadaf5e2e 100644
--- a/pkgs/tools/misc/xsel/default.nix
+++ b/pkgs/tools/misc/xsel/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, x11}:
 
 stdenv.mkDerivation {
-  name = "xsel-0.9.6";
+  name = "xsel-1.2.0";
   src = fetchurl {
-    url = http://www.vergenet.net/~conrad/software/xsel/download/xsel-0.9.6.tar.gz;
-    md5 = "cec2fb09a4101b7f2beab8094234e2f4";
+    url = http://www.vergenet.net/~conrad/software/xsel/download/xsel-1.2.0.tar.gz;
+    sha256 = "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr";
   };
 
   buildInputs = [x11];
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
new file mode 100644
index 00000000000..ca8be4c08ea
--- /dev/null
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
+
+stdenv.mkDerivation rec {
+   name = "xtitle-0.2";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xtitle/archive/0.2.tar.gz";
+     sha256 = "1wyhfwbwqnq4rn6i789gydxlg25ylc37xjrkq758bp55sdgb8fk2";
+   };
+
+
+   buildInputs = [ libxcb git xcbutil xcbutilwm ];
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Outputs X window titles";
+     homepage = "https://github.com/baskerville/xtitle";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
new file mode 100644
index 00000000000..fcdf5095d70
--- /dev/null
+++ b/pkgs/tools/misc/yad/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
+
+stdenv.mkDerivation rec {
+
+  name = "yad-0.25.1";
+
+  src = fetchurl {
+    url = "http://yad.googlecode.com/files/${name}.tar.xz";
+    sha256 = "1pljs9799xa2w3y2vjg93gqkv76z0pjh947djd7179yq3kryb57a";
+  };
+
+  configureFlags = [
+    "--enable-icon-browser"
+  ];
+
+  buildInputs = [ gtk2 ];
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://code.google.com/p/yad/";
+    description = "Yad (yet another dialog) is a GUI dialog tool for shell scripts";
+    longDescription = ''
+      Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a
+      fork of Zenity with many improvements, such as custom buttons, additional
+      dialogs, pop-up menu in notification icon and more.
+    '';
+
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ smironov ];
+  };
+}
+
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 86ef7617808..e237e0b25eb 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, zip }:
 
 let
-  version = "2013.10.23.2";
+  version = "2014.08.10";
 in
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "d3f4c9e0da165395856e690314caa5eef4382bd994dd46f041a520bf9747c35d";
+    sha256 = "1afa710vw0midpbv9pjw1b6h0x8kmdnj5dpipacnwsv3mbw1y4x1";
   };
 
   buildInputs = [ python ];
@@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://rg3.github.com/youtube-dl/";
+    repositories.git = https://github.com/rg3/youtube-dl.git;
     description = "Command-line tool to download videos from YouTube.com and other sites";
 
     platforms = with stdenv.lib.platforms; linux ++ darwin;
-    maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons ];
+    maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons phreedom ];
   };
 }
diff --git a/pkgs/tools/networking/ahcpd/default.nix b/pkgs/tools/networking/ahcpd/default.nix
index 635d94a3e86..df8677bfffa 100644
--- a/pkgs/tools/networking/ahcpd/default.nix
+++ b/pkgs/tools/networking/ahcpd/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/ahcp/";
     description = "Autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 networks";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index 1cc91f25660..ce2ded24f82 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools}:
+{ stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools, libnl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "aircrack-ng-1.2-beta1";
+  name = "aircrack-ng-1.2-beta3";
 
   src = fetchurl {
     url = "http://download.aircrack-ng.org/${name}.tar.gz";
-    sha256 = "19cfib7sqp2rdm3lc84jrzsa6r8443gkm1ifbmhygsqn6fnkj8zi";
+    sha256 = "13g9xz9djjgfc2xi88vnx7zhgy751hqb3739y7znyihd6q9sw8id";
   };
 
-  buildInputs = [libpcap openssl zlib];
+  buildInputs = [ libpcap openssl zlib libnl pkgconfig ];
 
   patchPhase = ''
     sed -e 's@^prefix.*@prefix = '$out@ -i common.mak
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Wireless encryption crackign tools";
     homepage = http://www.aircrack-ng.org/;
-    license = "GPL2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ maintainers.iElectric maintainers.viric maintainers.garbas maintainers.chaoflow ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/networking/altermime/default.nix b/pkgs/tools/networking/altermime/default.nix
index a80757faa1f..1c9dbfe6235 100644
--- a/pkgs/tools/networking/altermime/default.nix
+++ b/pkgs/tools/networking/altermime/default.nix
@@ -42,11 +42,9 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.pldaniels.com/altermime/";
-    };
+    downloadPage = "http://www.pldaniels.com/altermime/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
 
diff --git a/pkgs/tools/networking/aria/default.nix b/pkgs/tools/networking/aria/default.nix
deleted file mode 100644
index f6432f8aa22..00000000000
--- a/pkgs/tools/networking/aria/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-
-args : with args; 
-let version="0.14.0"; in
-rec {
-  src = /* Here a fetchurl expression goes */
-  fetchurl {
-    url = "mirror://sourceforge/aria2/aria2c-${version}.tar.bz2";
-    sha256 = "0d6vpy7f4228byahsg4dlhalfkbscx941klhdlxd0y5c3mxxwkfr";
-  };
-
-  buildInputs = [];
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  name = "aria-" + version;
-  meta = {
-    description = "Multiprotocol download manager";
-  };
-}
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 75b6492a851..72f3b5ec843 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, openssl, libxml2, sqlite, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "aria2-1.17.1";
+  name = "aria2-1.18.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/aria2/stable/${name}/${name}.tar.bz2";
-    sha256 = "0v0cdbv6v7fb4870rz5s9vscsj74fzbj70gsa2y4hysai4a0im3y";
+    sha256 = "0gyfp4zw7rlaxcxhb402azazf1fi83kk3qg4w0j8d2i7pfa1zqi5";
   };
 
   buildInputs = [ pkgconfig openssl libxml2 sqlite zlib ];
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 2136762e6e0..225c3c04f7a 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , readline, tcp_wrappers, pcre
+  , readline, tcp_wrappers, pcre, runCommand
   , ...}:
 builderDefsPackage
 (a :  
@@ -29,11 +29,15 @@ rec {
   /* doConfigure should be removed if not needed */
   phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
       
-  debianPatch = a.fetchurl {
-    url = http://patch-tracker.debian.org/patch/nondebian/dl/atftp/0.7.dfsg-10;
-    sha256 = "0vannjp0wxvk10xxlr3hirgf0g57n9dr4vhmsyfd8x4cwgxwfgsa";
+  debianPatchGz = a.fetchurl {
+    url = ftp://ftp.ru.debian.org/pub/debian/pool/main/a/atftp/atftp_0.7.dfsg-11.diff.gz;
+    sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd";
   };
 
+  debianPatch = a.runCommand "atftp-0.7.dfsg-11" {} ''
+    gunzip < "${debianPatchGz}" > "$out"
+  '';
+
   patches = [debianPatch];
 
   meta = {
diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix
index 0c32b1c1240..94c466612ef 100644
--- a/pkgs/tools/networking/autossh/default.nix
+++ b/pkgs/tools/networking/autossh/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssh}:
 
 stdenv.mkDerivation {
-  name = "autossh-1.4b";
+  name = "autossh-1.4c";
   
   src = fetchurl {
-    url = "http://www.harding.motd.ca/autossh/autossh-1.4b.tgz";
-    md5 = "8f9aa006f6f69e912d3c2f504622d6f7";
+    url = "http://www.harding.motd.ca/autossh/autossh-1.4c.tgz";
+    sha256 = "07gxqxfsk24msd0py0hirvmlblh9iyxkcrq86bwbsils81mbmjkg";
   };
   
   buildInputs = [ openssh ];
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index 8a6d63d164c..4103d17bfa2 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -3,8 +3,11 @@
 stdenv.mkDerivation {
   name = "axel-2.4";
   src = fetchurl {
-    url = https://alioth.debian.org/frs/download.php/3016/axel-2.4.tar.bz2;
-    sha256 = "ebc7d40e989c680d2afa632a17e5208101608924cf446da20814a6f3c3338612";
+    urls = [
+      #https://alioth.debian.org/frs/download.php/3016/axel-2.4.tar.bz2
+      mirror://debian/pool/main/a/axel/axel_2.4.orig.tar.gz
+    ];
+    sha256 = "0dl0r9byd2ps90cq2nj1y7ib6gnkb5y9f3a3fmhcnjrm9smmg6im";
   };
 
   meta = {
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 6f773cd1f7d..cfd72098261 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babeld-1.4.1";
+  name = "babeld-1.5.0";
 
   src = fetchurl {
     url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
-    sha256 = "0ykyvg9kkbv5pnkivcv9ncdcsb8bp3gfxv8swpq9jc7bh9aa2ckp";
+    sha256 = "0lpm1zras74b71y01fxndrcvfjzb1ny2hh62pjw6idaqpyrp797s";
   };
 
   preBuild = ''
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/babel/";
     description = "Loop-avoiding distance-vector routing protocol";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix
new file mode 100644
index 00000000000..64f669a480e
--- /dev/null
+++ b/pkgs/tools/networking/badvpn/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, cmake, openssl, nss, pkgconfig, nspr, bash}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="badvpn";
+    version="1.999.129";
+    name="${baseName}-${version}";
+    hash="078gax6yifkf9y9g01wn1p0dypvgiwcsdmzp1bhwwfi0fbpnzzgl";
+    url="https://github.com/ambrop72/badvpn/archive/1.999.129.tar.gz";
+    sha256="078gax6yifkf9y9g01wn1p0dypvgiwcsdmzp1bhwwfi0fbpnzzgl";
+  };
+  buildInputs = [
+    cmake openssl nss pkgconfig nspr
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  preConfigure = ''
+    find . -name '*.sh' -exec sed -e 's@#!/bin/sh@${stdenv.shell}@' -i '{}' ';'
+    find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
+  '';
+
+  meta = {
+    inherit (s) version;
+    description = ''A set of network-related (mostly VPN-related) tools'';
+    license = stdenv.lib.licenses.bsd3 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/badvpn/default.upstream b/pkgs/tools/networking/badvpn/default.upstream
new file mode 100644
index 00000000000..2a85ba7cb51
--- /dev/null
+++ b/pkgs/tools/networking/badvpn/default.upstream
@@ -0,0 +1,3 @@
+url https://github.com/ambrop72/badvpn/releases
+version_link '[0-9][.]tar[.][a-z0-9]+$'
+version '.*/([0-9.]+)[.]tar[.].*' '\1'
diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix
new file mode 100644
index 00000000000..89872548aa9
--- /dev/null
+++ b/pkgs/tools/networking/biosdevname/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchgit, automake, autoconf, zlib, pciutils}:
+let
+  version = "0.5.1";
+in
+stdenv.mkDerivation {
+  name = "biosdevname-${version}";
+  
+  src = fetchgit {
+    url = git://linux.dell.com/biosdevname.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "0qmgfyqv13qwh86140q0qdjxys76arg2d1slyvijx6r314ca4r7z";
+  };
+
+  buildInputs = [
+    automake
+    autoconf
+    zlib
+    pciutils
+  ];
+
+  preConfigure = ''
+    autoreconf -i
+  '';
+
+  # Don't install /lib/udev/rules.d/*-biosdevname.rules
+  patches = [ ./makefile.patch ];
+
+  configureFlags = [ "--sbindir=\${out}/bin" ];
+
+  meta = with stdenv.lib; {
+    description = "Udev helper for naming devices per BIOS names";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/networking/biosdevname/makefile.patch b/pkgs/tools/networking/biosdevname/makefile.patch
new file mode 100644
index 00000000000..0fc083f9096
--- /dev/null
+++ b/pkgs/tools/networking/biosdevname/makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.am b/Makefile.am
+index 14d9a92..9e324d2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,8 +8,6 @@ dist_noinst_DATA = biosdevname.rules.in biosdevname.spec.fedora biosdevname.spec
+ 
+ CLEANFILES = version src/bios_dev_name.h
+ install-data-local:
+-	mkdir -p $(DESTDIR)@RULEDIR@
+-	$(INSTALL_DATA) $(top_srcdir)/biosdevname.rules.in $(DESTDIR)@RULEDEST@
+ 
+ uninstall-local:
+ 	rm -f $(DESTDIR)@RULEDEST@
diff --git a/pkgs/tools/networking/bud/default.nix b/pkgs/tools/networking/bud/default.nix
new file mode 100644
index 00000000000..34e1a3964f6
--- /dev/null
+++ b/pkgs/tools/networking/bud/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchgit, python, gyp, utillinux }:
+
+stdenv.mkDerivation rec {
+  name = "bud-${version}";
+
+  version = "0.25.0";
+
+  src = fetchgit {
+    url = "https://github.com/indutny/bud.git";
+    rev = "f65b9c3531dac1a5b3c962e01f3bed1d41ab5621";
+    sha256 = "000wwc88hsf6ccz8wxjn2af6l0nxm6a2fcad71xw35ymmdp9n5xg";
+  };
+
+  buildInputs = [
+    python gyp
+  ] ++ lib.optional stdenv.isLinux utillinux;
+ 
+  buildPhase = ''
+    python ./gyp_bud -f make
+    make -C out
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp out/Release/bud $out/bin
+  '';
+
+  meta = with lib; {
+    description = "A TLS terminating proxy";
+    license     = licenses.mit;
+    platforms   = with platforms; linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/networking/bully/default.nix b/pkgs/tools/networking/bully/default.nix
new file mode 100644
index 00000000000..f667d772ac4
--- /dev/null
+++ b/pkgs/tools/networking/bully/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, openssl, libpcap}:
+
+stdenv.mkDerivation rec {
+  name = "bully-${version}";
+  version = "1.0-22";
+  src = fetchurl {
+    url = "https://github.com/bdpurcell/bully/archive/v${version}.tar.gz";
+    sha256 = "72f568f659fdcf70455a17f91f25dde65a53431c67c796517d3d3c4a4703ab68";
+  };
+  buildInputs = [ openssl libpcap ];
+
+  buildPhase = ''
+    cd src
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv bully $out/bin
+  '';
+
+  meta = {
+    description = "Retrieve WPA/WPA2 passphrase from a WPS enabled access point.";
+    homepage = "https://github.com/bdpurcell/bully";
+    maintainers = [ stdenv.lib.maintainers.edwtjo ];
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/cadaver/default.nix b/pkgs/tools/networking/cadaver/default.nix
new file mode 100644
index 00000000000..a37bf2d0a56
--- /dev/null
+++ b/pkgs/tools/networking/cadaver/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "cadaver-0.23.3";
+
+  src = fetchurl {
+    url = "http://www.webdav.org/cadaver/${name}.tar.gz";
+    sha256 = "1jizq69ifrjbjvz5y79wh1ny94gsdby4gdxwjad4bfih6a5fck7x";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A command-line WebDAV client for Unix";
+    homepage    = http://www.webdav.org/cadaver;
+    maintainers = with maintainers; [ ianwookim ];
+    license     = licenses.gpl2;
+    platforms   = with platforms; linux ++ freebsd ++ openbsd;
+  };
+}
diff --git a/pkgs/tools/networking/ccnet/default.nix b/pkgs/tools/networking/ccnet/default.nix
new file mode 100644
index 00000000000..8896156bd1c
--- /dev/null
+++ b/pkgs/tools/networking/ccnet/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala, python, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}:
+
+stdenv.mkDerivation rec
+{
+  version = "1.4.2";
+  seafileVersion = "3.0.4";
+  name = "ccnet-${version}";
+
+  src = fetchurl
+  {
+    url = "https://github.com/haiwen/ccnet/archive/v${seafileVersion}.tar.gz";
+    sha256 = "1y9x6k9ql8bj83016a1mi1m5ixxh8fm7p4qbd5mslnamvjln171q";
+  };
+
+  buildInputs = [ which automake autoconf pkgconfig libtool vala  python ];
+  propagatedBuildInputs = [ libsearpc libzdb libuuid libevent sqlite openssl ];
+
+  preConfigure = ''
+  sed -ie 's|/bin/bash|/bin/sh|g' ./autogen.sh
+  ./autogen.sh
+  '';
+
+  configureFlags = "--enable-server";
+
+  buildPhase = "make -j1";
+
+  meta =
+  {
+    homepage = "https://github.com/haiwen/ccnet";
+    description = "A framework for writing networked applications in C.";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.calrama ];
+  };
+}
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index d15559961f6..1e2b39869c5 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -1,22 +1,31 @@
-{ stdenv, fetchurl, libcap, readline }:
+{ stdenv, fetchurl, libcap, readline, texinfo }:
 
 assert stdenv.isLinux -> libcap != null;
 
 stdenv.mkDerivation rec {
-  name = "chrony-1.27";
+  name = "chrony-${version}";
+
+  version = "1.30";
   
   src = fetchurl {
     url = "http://download.tuxfamily.org/chrony/${name}.tar.gz";
-    sha256 = "17dfhcm5mrkg8ids0ajwscryr7fm7664kz10ygsa1ac047p3aj6l";
+    sha256 = "1pa6629nigcv95x2q9dnmzlrwhicxizq9z7ggy2c9cmyl1bakb23";
   };
   
-  buildInputs = [ readline ] ++ stdenv.lib.optional stdenv.isLinux libcap;
+  buildInputs = [ readline texinfo ] ++ stdenv.lib.optional stdenv.isLinux libcap;
+
+  configureFlags = [
+    "--sysconfdir=$(out)/etc"
+    "--chronyvardir=$(out)/var/lib/chrony"
+  ];
 
   meta = with stdenv.lib; {
     description = "Sets your computer's clock from time servers on the Net";
-    homepage = "http://chrony.tuxfamily.org/";
+    homepage = http://chrony.tuxfamily.org/;
+    repository.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git;
     license = licenses.gpl2;
-    platforms = platforms.unix;
+    platforms = with platforms; linux ++ freebsd ++ openbsd;
+    maintainers = [ maintainers.rickynils ];
 
     longDescription = ''
       Chronyd is a daemon which runs in background on the system. It obtains measurements via the network of the system clock’s offset relative to time servers on other systems and adjusts the system time accordingly. For isolated systems, the user can periodically enter the correct time by hand (using Chronyc). In either case, Chronyd determines the rate at which the computer gains or loses time, and compensates for this. Chronyd implements the NTP protocol and can act as either a client or a server.
diff --git a/pkgs/tools/networking/cjdns/builder.sh b/pkgs/tools/networking/cjdns/builder.sh
new file mode 100644
index 00000000000..c2e3701c046
--- /dev/null
+++ b/pkgs/tools/networking/cjdns/builder.sh
@@ -0,0 +1,9 @@
+source $stdenv/setup
+
+unpackPhase
+cd git-export
+
+bash do
+
+mkdir -p $out/sbin
+cp cjdroute $out/sbin
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index a76e351efc4..48e21f4507e 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -1,31 +1,27 @@
-{ stdenv, fetchgit, cmake }:
+{ stdenv, fetchgit, nodejs, which, python27 }:
 
 let
-  rev = "f7b02ac0cc";
+  date = "20140303";
+  rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb";
 in
 stdenv.mkDerivation {
-  name = "cjdns-git-20130620-${rev}";
+  name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
-    url = "https://github.com/cjdelisle/cjdns.git";
+    url = "git://github.com/cjdelisle/cjdns.git";
     inherit rev;
-    sha256 = "1580a62yhph62nv7q2jdqrbkyk9a9g5i17snibkxyykc7rili5zq";
+    sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8";
   };
 
-  preConfigure = ''
-    sed -i -e '/toolchain.*CACHE/d' CMakeLists.txt
-  '';
+  buildInputs = [ which python27 nodejs];
 
-  doCheck = true;
-  checkPhase = "ctest";
-
-  buildInputs = [ cmake ];
+  builder = ./builder.sh;
 
   meta = {
     homepage = https://github.com/cjdelisle/cjdns;
     description = "Encrypted networking for regular people";
-    license = "GPLv3+";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ viric emery ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/connect/default.nix b/pkgs/tools/networking/connect/default.nix
index c6291efad31..8723c53c322 100644
--- a/pkgs/tools/networking/connect/default.nix
+++ b/pkgs/tools/networking/connect/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     gcc -o $out/bin/connect connect.c
   '';
 
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
new file mode 100644
index 00000000000..c99af220a56
--- /dev/null
+++ b/pkgs/tools/networking/connman/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, openconnect, file,
+  openvpn, vpnc, glib, dbus, iptables, gnutls, policykit, polkit,
+  wpa_supplicant, readline6, pptp, ppp, tree }:
+
+stdenv.mkDerivation {
+  name = "connman-1.24";
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/network/connman/connman.git";
+    rev = "11b8a873988ab5fc3f360c5b6fb25a6761fe7683";
+    sha256 = "12z1krm5qnjyamc3qr2px7wvz7qkss7jk5brnmhyalqmcnkwcbrm";
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig openconnect polkit
+                  file openvpn vpnc glib dbus iptables gnutls policykit
+                  wpa_supplicant readline6 pptp ppp tree ];
+
+  preConfigure = ''
+    export WPASUPPLICANT=${wpa_supplicant}/sbin/wpa_supplicant
+    ./bootstrap
+    sed -i "s/\/usr\/bin\/file/file/g" ./configure
+    substituteInPlace configure --replace /usr/sbin/pptp ${pptp}/sbin/pptp
+    substituteInPlace configure --replace /usr/sbin/pppd ${ppp}/sbin/pppd
+  '';
+
+  configureFlags = [
+    "--sysconfdir=\${out}/etc"
+    "--localstatedir=/var"
+    "--with-dbusconfdir=\${out}/etc"
+    "--with-dbusdatadir=\${out}/usr/share"
+    "--disable-maintainer-mode"
+    "--enable-openconnect=builtin"
+    "--with-openconnect=${openconnect}/sbin/openconnect"
+    "--enable-openvpn=builtin"
+    "--with-openvpn=${openvpn}/sbin/openvpn"
+    "--enable-vpnc=builtin"
+    "--with-vpnc=${vpnc}/sbin/vpnc"
+    "--enable-session-policy-local=builtin"
+    "--enable-client"
+    "--enable-bluetooth"
+    "--enable-wifi"
+    "--enable-polkit"
+    "--enable-tools"
+    "--enable-datafiles"
+    "--enable-pptp"
+  ];
+
+  postInstall = ''
+    cp ./client/connmanctl $out/sbin/connmanctl
+  '';
+
+  meta = {
+    description = "The ConnMan project provides a daemon for managing internet connections";
+    homepage = "https://connman.net/";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    # tested only on linux, might work on others also
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/networking/connmanui/default.nix b/pkgs/tools/networking/connmanui/default.nix
new file mode 100644
index 00000000000..62be5bf14e5
--- /dev/null
+++ b/pkgs/tools/networking/connmanui/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, glib, gtk3, dbus, pkgconfig, file, intltool, connman }:
+
+stdenv.mkDerivation {
+  name = "connmanui-b838e640eddb83d296fb6d146ce756066d37c43b";
+  src = fetchgit {
+    url = "git://github.com/tbursztyka/connman-ui.git";
+    rev = "e4a8ddcca0870eb2ece5a7e3ea0296de9c86e5b2";
+    sha256 = "0rml52v81s7hr0g6qbj5bamli08kn66hay84qicx8sy8679wg443";
+  };
+
+  buildInputs = [ autoconf automake libtool glib gtk3 dbus pkgconfig file intltool connman ];
+
+  preConfigure = ''
+    set -e
+    ./autogen.sh
+    sed -i "s/\/usr\/bin\/file/file/g" ./configure
+  '';
+
+  configureScript = "./configure";
+
+  meta = {
+    description = "A full-featured GTK based trayicon UI for ConnMan";
+    homepage = "https://github.com/tbursztyka/connman-ui";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 40e2d970622..3d23d7950fb 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -13,11 +13,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.30.0";
+  name = "curl-7.36.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "04dgm9aqvplsx43n8xin5rkr8mwmc6mdd1gcp80jda5yhw1l273b";
+    sha256 = "1kfgygvmxgaakxl2f3h3jlar23n6xmvg03ybm36pqsydkfw85ghz";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
@@ -27,11 +27,15 @@ stdenv.mkDerivation rec {
     optional zlibSupport zlib ++
     optional gssSupport gss ++
     optional c-aresSupport c-ares ++
-    optional sslSupport openssl;
+    optional sslSupport openssl ++
+    optional scpSupport libssh2;
 
+  # for the second line see http://curl.haxx.se/mail/tracker-2014-03/0087.html
   preConfigure = ''
     sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
+    rm src/tool_hugehelp.c
   '';
+
   configureFlags = [
       ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
       ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
@@ -67,9 +71,10 @@ stdenv.mkDerivation rec {
     inherit sslSupport openssl;
   };
 
-  meta = {
-    homepage = "http://curl.haxx.se/";
+  meta = with stdenv.lib; {
     description = "A command line tool for transferring files with URL syntax";
-    platforms = stdenv.lib.platforms.all;
+    homepage    = http://curl.haxx.se/;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/cutter/default.nix b/pkgs/tools/networking/cutter/default.nix
new file mode 100644
index 00000000000..5d383f07210
--- /dev/null
+++ b/pkgs/tools/networking/cutter/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "cutter-1.03";
+
+  src = fetchurl {
+    url = "http://www.digitage.co.uk/digitage/files/cutter/${name}.tgz";
+    md5 = "50093db9b64277643969ee75b83ebbd1";
+  };
+
+  installPhase = ''
+    install -D -m 0755 cutter $out/bin/tcp-cutter
+  '';
+
+  meta = with stdenv.lib; {
+    description = "TCP/IP Connection cutting on Linux Firewalls and Routers";
+    homepage = http://www.digitage.co.uk/digitage/software/linux-security/cutter;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
index 91061a457d4..8ff45e733fb 100644
--- a/pkgs/tools/networking/dd-agent/default.nix
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -1,37 +1,42 @@
-{ stdenv, fetchurl, python, sysstat, unzip }:
+{ stdenv, fetchFromGitHub, python, pythonPackages, sysstat, unzip, tornado
+, makeWrapper }:
 
 stdenv.mkDerivation rec {
-    version = "3.8.0";
-    name = "dd-agent-${version}";
-
-    src = fetchurl {
-      url = "https://github.com/DataDog/dd-agent/archive/${version}.zip";
-      sha256 = "1mh22rbja07gc7ydn357hlij0dl2rygkqsya9ckynsvmkkzn2gyx";
-    };
-
-    buildInputs = [ python unzip ];
-    propagatedBuildInputs = [ python ];
-
-    postUnpack = "export sourceRoot=$sourceRoot/packaging";
-
-    makeFlags = [ "BUILD=$(out)" ];
-
-    installTargets = [ "install_base" "install_full" ];
-
-    postInstall = ''
-      mv $out/usr/* $out
-      rmdir $out/usr
-    '';
-
-    meta = {
-      description = "Event collector for the DataDog analysis service";
-
-      homepage = http://www.datadoghq.com;
-
-      maintainers = [ stdenv.lib.maintainers.shlevy stdenv.lib.maintainers.iElectric ];
-
-      license = stdenv.lib.licenses.bsd3;
-
-      platforms = stdenv.lib.platforms.all;
-    };
+  version = "4.3.1";
+  name = "dd-agent-${version}";
+
+  src = fetchFromGitHub {
+    owner = "DataDog";
+    repo = "dd-agent";
+    rev = version;
+    sha256 = "0z6b1s30fyd9ldahizrjwcxx7c7dd74xsqy19j3qykrb25j9cvmn";
+  };
+
+  buildInputs = [ python unzip makeWrapper pythonPackages.psycopg2 ];
+  propagatedBuildInputs = [ python tornado ];
+
+  postUnpack = "export sourceRoot=$sourceRoot/packaging";
+
+  makeFlags = [ "BUILD=$(out)" ];
+
+  installTargets = [ "install_base" "install_full" ];
+
+  postInstall = ''
+    mv $out/usr/* $out
+    rmdir $out/usr
+    wrapProgram $out/bin/dd-forwarder \
+      --prefix PYTHONPATH : $PYTHONPATH
+    wrapProgram $out/bin/dd-agent \
+      --prefix PYTHONPATH : $PYTHONPATH
+    wrapProgram $out/bin/dogstatsd \
+      --prefix PYTHONPATH : $PYTHONPATH
+  '';
+
+  meta = {
+    description = "Event collector for the DataDog analysis service";
+    homepage    = http://www.datadoghq.com;
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice iElectric ];
+  };
 }
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 22539657b1f..fdc5e145c4d 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,14 +1,14 @@
 {buildPerlPackage, fetchurl, perlPackages, iproute}:
 
 buildPerlPackage {
-  name = "ddclient-3.8.1";
+  name = "ddclient-3.8.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/ddclient/ddclient-3.8.1.tar.gz ;
-    sha256 = "f22ac7b0ec78e310d7b88a1cf636e5c00360b2ed9c087f231b3522ef3e6295f2";
+    url = mirror://sourceforge/ddclient/ddclient-3.8.2.tar.gz ;
+    sha256 = "17mcdqxcwa6c05m8xhxi4r37j4qvbp3wgbpvzqgmrmgwava5wcrw";
   };
 
-  buildInputs = [ perlPackages.IOSocketSSL ];
+  buildInputs = [ perlPackages.IOSocketSSL perlPackages.DigestSHA1 ];
 
   patches = [ ./ddclient-foreground.patch ];
 
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 2dac54577b8..07925ca110d 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
+{ stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
 
 stdenv.mkDerivation rec {
-  name = "dhcp-4.1-ESV-R6";
+  name = "dhcp-${version}";
+  version = "4.3.0";
   
   src = fetchurl {
-    url = http://ftp.isc.org/isc/dhcp/4.1-ESV-R6/dhcp-4.1-ESV-R6.tar.gz;
-    sha256 = "17md1vml07szl9dx4875gfg4sgnb3z73glpbq1si7p82mfhnddny";
+    url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
+    sha256 = "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7";
   };
 
   patches =
@@ -23,13 +24,15 @@ stdenv.mkDerivation rec {
   # Fixes "socket.c:591: error: invalid application of 'sizeof' to
   # incomplete type 'struct in6_pktinfo'".  See
   # http://www.mail-archive.com/blfs-book@linuxfromscratch.org/msg13013.html
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+  #
+  # Also adds the ability to run dhcpd as a non-root user / group
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE -DPARANOIA";
 
   # It would automatically add -Werror, which disables build in gcc 4.4
   # due to an uninitialized variable.
   CFLAGS = "-g -O2 -Wall";
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ perl makeWrapper ];
 
   postInstall =
     ''
@@ -42,11 +45,12 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
+      substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
       sed -i "includes/dhcpd.h" \
 	-"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Dynamic Host Configuration Protocol (DHCP) tools";
 
     longDescription = ''
@@ -57,6 +61,8 @@ stdenv.mkDerivation rec {
    '';
 
     homepage = http://www.isc.org/products/DHCP/;
-    license = "http://www.isc.org/sw/dhcp/dhcp-copyright.php";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 9b3b6238420..8e93c424cb1 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,13 +1,17 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "dhcpcd-5.6.8";
+  name = "dhcpcd-6.4.2";
 
   src = fetchurl {
     url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2";
-    sha256 = "1i7fv1l0n7q1mnia7g0789ch63x5zhwk5gsrwvs78dv2f2kmvcd3";
+    sha256 = "1dr08aqvazg4ncq5p93v6givwh7naj75dn2npgplf3dl2fg9zfzf";
   };
 
+  patches = [ /* ./lxc_ro_promote_secondaries.patch */ ];
+
+  buildInputs = [ pkgconfig udev ];
+
   configureFlags = "--sysconfdir=/etc";
 
   makeFlags = "PREFIX=\${out}";
@@ -16,6 +20,9 @@ stdenv.mkDerivation rec {
   # at runtime.
   installFlags = "DBDIR=\${TMPDIR}/db SYSCONFDIR=$(out)/etc";
 
+  # Check that the udev plugin got built.
+  postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]";
+
   meta = {
     description = "A client for the Dynamic Host Configuration Protocol (DHCP)";
     homepage = http://roy.marples.name/projects/dhcpcd;
diff --git a/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch b/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch
new file mode 100644
index 00000000000..066ea67db9e
--- /dev/null
+++ b/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch
@@ -0,0 +1,12 @@
+diff -rupN dhcpcd-6.1.0-old/if-linux.c dhcpcd-6.1.0/if-linux.c
+--- dhcpcd-6.1.0-old/if-linux.c	2013-09-20 12:27:24.000000000 +0200
++++ dhcpcd-6.1.0/if-linux.c	2013-12-13 09:50:24.183694744 +0100
+@@ -86,7 +86,7 @@ if_init(struct interface *iface)
+ 
+ 	fp = fopen(path, "w");
+ 	if (fp == NULL)
+-		return errno == ENOENT ? 0 : -1;
++		return (errno == ENOENT || errno == EROFS) ? 0 : -1;
+ 	n = fprintf(fp, "1");
+ 	fclose(fp);
+ 	return n == -1 ? -1 : 0;
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 20964213d53..cec4057a284 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.63";
+  name = "dnsmasq-2.71";
 
   src = fetchurl {
-    url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz";
-    sha256 = "043p8qjd1zx8bklcli9qnk3vzfz7j2kvl82abvipcg56qsyf71px";
+    url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
+    sha256 = "1fpzpzja7qr8b4kfdhh4i4sijp62c634yf0xvq2n4p7d5xbzn6a9";
   };
 
   makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = "GPL";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/dnstop/default.nix b/pkgs/tools/networking/dnstop/default.nix
index c9e1b58d2d2..00984a4ee70 100644
--- a/pkgs/tools/networking/dnstop/default.nix
+++ b/pkgs/tools/networking/dnstop/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpcap, ncurses }:
 
 stdenv.mkDerivation {
-  name = "dnstop-20110502";
+  name = "dnstop-20121017";
 
   src = fetchurl {
-    url = http://dns.measurement-factory.com/tools/dnstop/src/dnstop-20110502.tar.gz;
-    sha256 = "0ra3xjf7dwvq5xm6qbqd2al35vigibihy46rsz1860qrn3wycy12";
+    url = http://dns.measurement-factory.com/tools/dnstop/src/dnstop-20121017.tar.gz;
+    sha256 = "1xjrz4dzwshfrlc226s390sbwd10j0pl2al09d62955b6xh2vvba";
   };
 
   buildInputs = [ libpcap ncurses ];
diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix
index 1d51c4864a1..1f7c8a449f3 100644
--- a/pkgs/tools/networking/dropbear/default.nix
+++ b/pkgs/tools/networking/dropbear/default.nix
@@ -2,11 +2,11 @@
 sftpPath ? "/var/run/current-system/sw/libexec/sftp-server" }:
 
 stdenv.mkDerivation rec {
-  name = "dropbear-2013.58";
+  name = "dropbear-2013.62";
 
   src = fetchurl {
     url = "http://matt.ucc.asn.au/dropbear/releases/${name}.tar.bz2";
-    sha256 = "0m9fhabs78v35fhqmji5gkm66ahkyqbbdzmlmr9m7q8l3ndihrnq";
+    sha256 = "1ylz0zd68cxdgs4x4cpc2y8h75395y10bxb1qflv0m6cpc166rf6";
   };
 
   dontDisableStatic = enableStatic;
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://matt.ucc.asn.au/dropbear/dropbear.html;
     description = "An small footprint implementation of the SSH 2 protocol";
-    license = "mit";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix
index 99cfb92a18b..e49c32aac70 100644
--- a/pkgs/tools/networking/easyrsa/default.nix
+++ b/pkgs/tools/networking/easyrsa/default.nix
@@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
 
   # Make sane defaults and patch default config vars
   postInstall = ''
-    for prog in $(find "$out/share/easy-rsa" -executable); do
+    cp $out/share/easy-rsa/openssl-1.0.0.cnf $out/share/easy-rsa/openssl.cnf
+    for prog in $(find "$out/share/easy-rsa" -executable -type f); do
       makeWrapper "$prog" "$out/bin/$(basename $prog)" \
         --set EASY_RSA "$out/share/easy-rsa" \
         --set OPENSSL "${openssl}/bin/openssl" \
diff --git a/pkgs/tools/networking/filegive/default.nix b/pkgs/tools/networking/filegive/default.nix
index 443feee2ea0..d7d867cc8df 100644
--- a/pkgs/tools/networking/filegive/default.nix
+++ b/pkgs/tools/networking/filegive/default.nix
@@ -11,16 +11,13 @@ let
     sha256 = "1swwfyzaj3l40yh9np3x4fcracgs79nwryc85sxbdakx8wwxs2xb";
   };
 
-  version = "0.7.1";
-
 in
 stdenv.mkDerivation rec {
-  name = "filegive-${version}";
+  name = "filegive-0.7.4";
 
   src = fetchurl {
-    url = "http://viric.name/cgi-bin/filegive/tarball/${name}.tar.gz?uuid=v${version}";
-    name = "${name}.tar.gz";
-    sha256 = "14yyif6q89ihn28kliszaf19vywjg9f7192q1ak8823da1svbq8a";
+    url = "http://viric.name/soft/filegive/${name}.tar.gz";
+    sha256 = "1z3vyqfdp271qa5ah0i6jmn9gh3gb296wcm33sd2zfjqapyh12hy";
   };
 
   buildInputs = [ go ];
@@ -38,14 +35,14 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp filegive $out/bin
   '';
 
   meta = {
     homepage = http://viric.name/cgi-bin/filegive;
     description = "Easy p2p file sending program";
-    license = "AGPLv3+";
+    license = stdenv.lib.licenses.agpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/networking/flvstreamer/default.nix b/pkgs/tools/networking/flvstreamer/default.nix
index c9bc05658d0..f9322129612 100644
--- a/pkgs/tools/networking/flvstreamer/default.nix
+++ b/pkgs/tools/networking/flvstreamer/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
          stream audio or video content from all types of flash or rtmp servers.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://savannah.nongnu.org/projects/flvstreamer;
 
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index 4bda944c68a..10f31fb8297 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-3.4";
+  name = "fping-3.8";
 
   src = fetchurl {
     url = "http://www.fping.org/dist/${name}.tar.gz";
-    sha256 = "1zkawlk6lcqw6nakqnl3v0x1cwnxrx2lmg9q6j76mw9i96pjh9fl";
+    sha256 = "04iwj4x3wns09wp777mb3kwfi7ypb4m9m73p0s2y699px77hcx67";
   };
 
   meta = {
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 06e7789eca3..6d9666506b8 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "getmail-4.42.0";
+  name = "getmail-4.43.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0n6sxp8vwa19ffr7bagzwp0hvxfjiy43xpz9sa1qmsyjs7c3xdqj";
+    sha256 = "0abcj4d2jp9y56c85kq7265d8wcij91w9lpzib9q6j9lcs4la8hy";
   };
 
   doCheck = false;
 
-  installCommand = "python setup.py install --prefix=\"\$prefix\"";
-  
   meta = {
     description = "A program for retrieving mail";
     maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ];
diff --git a/pkgs/tools/networking/gftp/default.nix b/pkgs/tools/networking/gftp/default.nix
index e6b5cd9daab..e7aabcd9755 100644
--- a/pkgs/tools/networking/gftp/default.nix
+++ b/pkgs/tools/networking/gftp/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "GTK+-based FTP client";
     homepage = http://www.gftp.org;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix
index 8346be2ceb5..54f3e860e0c 100644
--- a/pkgs/tools/networking/gupnp-tools/default.nix
+++ b/pkgs/tools/networking/gupnp-tools/default.nix
@@ -1,11 +1,18 @@
-{fetchurl, stdenv, gupnp, gssdp, pkgconfig, glib, libxml2, libsoup, gtk, libglade, gnomeicontheme, e2fsprogs}:
+{fetchurl, stdenv, gupnp, gssdp, pkgconfig, gtk3, libuuid, intltool, gupnp_av, gnome3, makeWrapper}:
 
 stdenv.mkDerivation rec {
-  name = "gupnp-tools-0.6";
+  name = "gupnp-tools-${version}";
+  majorVersion = "0.8";
+  version = "${majorVersion}.8";
   src = fetchurl {
-    url = "http://www.gupnp.org/sources/gupnp-tools/gupnp-tools-0.6.tar.gz";
-    sha256 = "08fnggk85zqdcvm4np53yxw15b3ck25c2rmyfrh04g8j25qf50dj";
+    url = "mirror://gnome/sources/gupnp-tools/${majorVersion}/gupnp-tools-${version}.tar.xz";
+    sha256 = "160dgh9pmlb85qfavwqz46lqawpshs8514bx2b57f9rbiny8kbij";
   };
 
-  buildInputs = [gupnp gssdp pkgconfig glib libxml2 libsoup gtk libglade gnomeicontheme e2fsprogs];
+  buildInputs = [gupnp libuuid gssdp pkgconfig gtk3 intltool gupnp_av gnome3.gnome_icon_theme gnome3.gnome_themes_standard makeWrapper];
+
+  postInstall = ''
+    wrapProgram "$out/bin/gupnp-av-cp" --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gnome_icon_theme}/share:$out/share"
+    wrapProgram "$out/bin/gupnp-universal-cp" --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gnome_icon_theme}/share:$out/share"
+  '';
 }
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index e4a32e14260..5a634ffec66 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -1,12 +1,12 @@
 { stdenv, pkgs, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.24";
+  version = "1.4.25";
   name = "haproxy-${version}";
 
   src = fetchurl {
     url = "http://haproxy.1wt.eu/download/1.4/src/${name}.tar.gz";
-    sha256 = "1vy7jz7l8qdd6ah3y65zarz9x9pf3bs02icxnrckpgh1s3s2h2b8";
+    sha256 = "0qnvj6kbnrrc69nsp2dn5iv2z79adzkcgqssnk30iwvvwg0qwh44";
   };
 
   buildInputs = [ ];
@@ -29,9 +29,9 @@ stdenv.mkDerivation rec {
     homepage = http://haproxy.1wt.eu;
     maintainers = [ stdenv.lib.maintainers.garbas ];
     platforms = stdenv.lib.platforms.linux;
-    license = [
+    /* TODO license = [
        stdenv.lib.licenses.gpl2
        stdenv.lib.licenses.lgpl21
-    ];
+    ];*/
   };
 }
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix
index cdbb52fe739..a31511beeab 100644
--- a/pkgs/tools/networking/httpie/default.nix
+++ b/pkgs/tools/networking/httpie/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "httpie-0.4.1";
+  name = "httpie-0.8.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/h/httpie/${name}.tar.gz";
-    sha256 = "1qd03vd4657vdvkfhbd2wnlz4xh6hyw75m7wmfhgac5m2028y3cv";
+    sha256 = "16f3scm794plxbyw7a5b4541hb2psa85kfi98g83785i2qwz98ag";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pygments requests ];
+  propagatedBuildInputs = with pythonPackages; [ pygments requests2 ];
 
   doCheck = false;
 
   meta = {
     description = "A command line HTTP client whose goal is to make CLI human-friendly";
     homepage = http://httpie.org/;
-    license = "BSD";
-    maintainers = [ stdenv.lib.maintainers.antono ];
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ antono relrod ];
   };
 }
diff --git a/pkgs/tools/networking/hyenae/default.nix b/pkgs/tools/networking/hyenae/default.nix
index d0821a4f588..557fce6d94b 100644
--- a/pkgs/tools/networking/hyenae/default.nix
+++ b/pkgs/tools/networking/hyenae/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     description = "";
     homepage = http://sourceforge.net/projects/hyenae/;
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index a1f5026fb28..c40764866eb 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://ex-parrot.com/pdw/iftop/;
     platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/tools/networking/imapproxy/default.nix b/pkgs/tools/networking/imapproxy/default.nix
index 7af7f73aad9..29f09b8cc19 100644
--- a/pkgs/tools/networking/imapproxy/default.nix
+++ b/pkgs/tools/networking/imapproxy/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://imapproxy.org/;
     description = "It proxies IMAP transactions caching server connections";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/imapsync/default.nix b/pkgs/tools/networking/imapsync/default.nix
index c2c1320988a..1418ad63385 100644
--- a/pkgs/tools/networking/imapsync/default.nix
+++ b/pkgs/tools/networking/imapsync/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.linux-france.org/prj/imapsync/";
     description = "Mail folder synchronizer between IMAP servers";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index 99bc8488248..ce90bed3010 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://inadyn.sourceforge.net/;
     description = "Free dynamic DNS client";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix
index 24d73ff4d6f..20ee6da8a30 100644
--- a/pkgs/tools/networking/inetutils/default.nix
+++ b/pkgs/tools/networking/inetutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "inetutils-1.9.1";
+  name = "inetutils-1.9.2";
 
   src = fetchurl {
     url = "mirror://gnu/inetutils/${name}.tar.gz";
-    sha256 = "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82";
+    sha256 = "04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4";
   };
 
   buildInputs = [ ncurses /* for `talk' */ ];
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/inetutils/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix
index 66f600f7678..33d8ee2fd63 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "iperf-2.0.4";
+stdenv.mkDerivation rec {
+  name = "iperf-2.0.5";
 
   src = fetchurl {
-    url = mirror://sourceforge/iperf/iperf-2.0.4.tar.gz;
-    sha256 = "0i3r75prbyxs56rngjbrag8rg480ki3daaa924krrafng30z2liv";
+    url = "mirror://sourceforge/iperf/${name}.tar.gz";
+    sha256 = "0nr6c81x55ihs7ly2dwq19v9i1n6wiyad1gacw3aikii0kzlwsv3";
   };
 
-  meta = {
-    homepage = ""; 
-    description = "tool to measure IP bandwidth using UDP or TCP";
+  meta = with stdenv.lib; {
+    homepage = "http://sourceforge.net/projects/iperf/"; 
+    description = "Tool to measure IP bandwidth using UDP or TCP";
+    platforms = platforms.unix;
     license = "as-is";
   };
 }
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index 9587dfee613..2d3ffb2cb0a 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,22 +1,21 @@
-{ fetchurl, stdenv, openssl, pkgconfig, db4 }:
+{ fetchurl, stdenv, openssl, pkgconfig, db }:
 
 stdenv.mkDerivation rec {
-  name = "isync-1.0.6";
+  name = "isync-1.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${name}.tar.gz";
-    sha256 = "0bv3hw6mc9xi55q6lpyz1w3dyrk6rlxa8ny2x1b44mrnbrx7chz5";
+    sha256 = "14blgxhpl78bpr1291zb7n3y9g8jpgmnpdnbl0vp2qplw76zv9f3";
   };
 
-  patches = [ ./isync-recursice-imap.patch ]; # usefull patch to enable subfolders listing
-  buildInputs = [ openssl pkgconfig db4 ];
+  buildInputs = [ openssl pkgconfig db ];
 
   meta = {
     homepage = http://isync.sourceforge.net/;
     description = "Free IMAP and MailDir mailbox synchronizer";
-    licenses = [ "GPLv2+" ];
+    license = [ "GPLv2+" ];
 
-    maintainers = [ stdenv.lib.maintainers.viric ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny viric ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/jnettop/default.nix b/pkgs/tools/networking/jnettop/default.nix
index 132d1832a9d..49753d189d6 100644
--- a/pkgs/tools/networking/jnettop/default.nix
+++ b/pkgs/tools/networking/jnettop/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://jnettop.kubs.info/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 2bc575bbd02..51ab3478ac9 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, xz }:
+{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lftp-4.4.5";
+  name = "lftp-4.5.2";
 
   src = fetchurl {
-    url = "ftp://ftp.tuwien.ac.at/infosys/browsers/ftp/lftp/${name}.tar.xz";
-    sha256 = "1p3nxsd2an9pdwc3vgwxy8p5nnjrc7mhilikjaddy62cyvxdbpxq";
+    url = "http://lftp.yar.ru/ftp/${name}.tar.gz";
+    sha256 = "106llhq9lgvdxlf4r1p94r66fcy5ywfdfvins4dfn9irg0k5gzyv";
   };
 
   patches = [ ./no-gets.patch ];
 
   buildInputs = [ gnutls pkgconfig readline zlib ];
 
-  meta = {
-    homepage = http://lftp.yar.ru/;
+  meta = with stdenv.lib; {
     description = "A file transfer program supporting a number of network protocols";
-    license = "GPL";
+    homepage = http://lftp.yar.ru/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/networking/lsh/default.nix b/pkgs/tools/networking/lsh/default.nix
index ab43813f923..6be4119469e 100644
--- a/pkgs/tools/networking/lsh/default.nix
+++ b/pkgs/tools/networking/lsh/default.nix
@@ -41,8 +41,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.lysator.liu.se/~nisse/lsh/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/tools/networking/maildrop/default.nix b/pkgs/tools/networking/maildrop/default.nix
index b91282c9a2b..991d75c66ae 100644
--- a/pkgs/tools/networking/maildrop/default.nix
+++ b/pkgs/tools/networking/maildrop/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.courier-mta.org/maildrop/;
     description = "Mail filter/mail delivery agent that is used by the Courier Mail Server";
-    licenses = [ "GPLv3" ];
+    license = [ "GPLv3" ];
   };
 }
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 3a84516cd37..4c1001310ae 100644..100755
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, gettext, gdbm, libtool, pam, readline
-, ncurses, gnutls, mysql, guile, texinfo, gnum4, dejagnu }:
+, ncurses, gnutls, mysql, guile, texinfo, gnum4, dejagnu, sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
 /* TODO: Add GNU SASL, GNU GSSAPI, and FreeBidi.  */
 
@@ -13,12 +13,15 @@ stdenv.mkDerivation rec {
 
   patches = [ ./path-to-cat.patch ./no-gets.patch ];
 
+  configureFlags = "--with-path-sendmail=${sendmailPath}";
+
   buildInputs =
    [ gettext gdbm libtool pam readline ncurses
      gnutls mysql guile texinfo gnum4 ]
    ++ stdenv.lib.optional doCheck dejagnu;
 
-  doCheck = true;
+  # Tests fail since gcc 4.8
+  doCheck = false;
 
   meta = {
     description = "GNU Mailutils is a rich and powerful protocol-independent mail framework";
@@ -43,7 +46,7 @@ stdenv.mkDerivation rec {
       message handling system.
     '';
 
-    licenses = [ "LGPLv3+" /* libraries */  "GPLv3+" /* tools */ ];
+    license = [ "LGPLv3+" /* libraries */  "GPLv3+" /* tools */ ];
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
 
diff --git a/pkgs/tools/networking/megatools/default.nix b/pkgs/tools/networking/megatools/default.nix
index 25dbd634c8c..5c1910f1d6e 100644
--- a/pkgs/tools/networking/megatools/default.nix
+++ b/pkgs/tools/networking/megatools/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Command line client for Mega.co.nz";
     homepage = http://megatools.megous.com/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index b5002d22990..ef3db0a4a21 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,20 +1,16 @@
-{ stdenv, fetchurl, iptables, libnfnetlink, libnetfilter_conntrack }:
+{ stdenv, fetchurl, iptables, libnfnetlink }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-1.7.20121005";
+  name = "miniupnpd-1.8.20140401";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "03kaxj808hgj1zf2528pzilgywgh70mh0qivjb5nm3spziiq32sv";
+    sha256 = "1gfdbfqcw6ih830si51yzqbyymgcbwkiv9vk5dwnxs78b7xgyv88";
   };
 
-  buildInputs = [ iptables libnfnetlink libnetfilter_conntrack ];
-
-  patchPhase = ''
-    sed -i -e 's/upnputils\.o -lnfnetlink/upnputils.o/' Makefile.linux
-  '';
+  buildInputs = [ iptables libnfnetlink ];
 
   NIX_CFLAGS_COMPILE = "-DIPTABLES_143";
 
@@ -24,12 +20,9 @@ stdenv.mkDerivation rec {
 
   makeFlags = "LIBS=";
 
-  installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
+  buildFlags = "miniupnpd genuuid";
 
-  preInstall =
-    ''
-      mkdir -p $out/share/man/man8
-    '';
+  installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
 
   meta = {
     homepage = http://miniupnp.free.fr/;
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index bfa673eff09..0640f55bc9e 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -1,19 +1,30 @@
-{ stdenv, fetchurl_gnome, udev, polkit, dbus_glib, ppp, intltool, pkgconfig }:
+{ stdenv, fetchurl, udev, polkit, dbus_glib, ppp, intltool, pkgconfig, libmbim, libqmi }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "ModemManager-${version}";
+  version = "1.2.0";
 
-  src = fetchurl_gnome {
-    project = "ModemManager";
-    major = "0"; minor = "5"; patchlevel = "4.0"; extension = "xz";
-    sha256 = "1fdf5d5cc494825afe9f551248e00a2d91e220e88435b47f109ca2a707a40f1f";
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz";
+    sha256 = "1g08ciyhys9bi5m45z30kln17zni4r07i5byjaglmwq6np1xincb";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  buildInputs = [ udev polkit dbus_glib ppp ];
+  buildInputs = [ udev polkit dbus_glib ppp libmbim libqmi ];
 
-  configureFlags = "--with-polkit --with-udev-base-dir=$(out)/lib/udev";
+  configureFlags = [
+    "--with-polkit"
+    "--with-udev-base-dir=$(out)/lib/udev"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+  ];
+
+  postInstall = ''
+    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
+    # aliases ourselves.
+    ln -s $out/etc/systemd/system/ModemManager.service \
+      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
+  '';
 
   meta = {
     description = "WWAN modem manager, part of NetworkManager";
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 2708210af80..5209e58ff24 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
       Mosh is a replacement for SSH. It's more robust and responsive,
       especially over Wi-Fi, cellular, and long-distance links.
     '';
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index 45dcb087bd7..c463c94d610 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -10,10 +10,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="mtr";
-    version="0.82";
+    version="0.85";
     name="${baseName}-${version}";
     url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz";
-    hash="185nx4y6xn7vv6l3pbyc0ljmwfl4si4zszwad1jkbq1scb4mgd7k";
+    hash="1jqrz8mil3lraaqgc87dyvx8d4bf3vq232pfx9mksxnkbphp4qvd";
   };
 in
 rec {
@@ -25,9 +25,11 @@ rec {
   inherit (sourceInfo) name version;
   inherit buildInputs;
 
+  patches = [ ./edd425.patch ];
+
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
+  phaseNames = ["doConfigure" "doPatch" "doMakeInstall"];
+
   meta = {
     description = "A network diagnostics tool";
     maintainers = with a.lib.maintainers;
@@ -35,7 +37,7 @@ rec {
       raskin
     ];
     platforms = with a.lib.platforms;
-      linux;
+      unix;
     license = a.lib.licenses.gpl2;
   };
   passthru = {
diff --git a/pkgs/tools/networking/mtr/edd425.patch b/pkgs/tools/networking/mtr/edd425.patch
new file mode 100644
index 00000000000..b950cacd2e5
--- /dev/null
+++ b/pkgs/tools/networking/mtr/edd425.patch
@@ -0,0 +1,218 @@
+diff --git a/asn.c b/asn.c
+index eac8d5e..33622ca 100644
+--- a/asn.c
++++ b/asn.c
+@@ -16,6 +16,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
++#include "config.h"
++
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -35,7 +37,6 @@
+ #include <sys/socket.h>
+ #include <search.h>
+ 
+-#include "config.h"
+ #include "mtr.h"
+ #include "asn.h"
+ 
+diff --git a/curses.c b/curses.c
+index eacc40d..b96daee 100644
+--- a/curses.c
++++ b/curses.c
+@@ -16,7 +16,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <strings.h>
+ #include <unistd.h>
+ 
+diff --git a/display.c b/display.c
+index aa369ee..3545467 100644
+--- a/display.c
++++ b/display.c
+@@ -16,7 +16,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/types.h>
+diff --git a/dns.c b/dns.c
+index e89fd4b..4076b71 100644
+--- a/dns.c
++++ b/dns.c
+@@ -22,7 +22,8 @@
+     Released under GPL, as above.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/select.h>
+diff --git a/getopt.c b/getopt.c
+index 3d43e26..e2f8758 100644
+--- a/getopt.c
++++ b/getopt.c
+@@ -27,7 +27,7 @@
+ #endif
+ 
+ #ifdef HAVE_CONFIG_H
+-#include <config.h>
++#include "config.h"
+ #endif
+ 
+ #if !defined (__STDC__) || !__STDC__
+diff --git a/getopt1.c b/getopt1.c
+index bccf8b2..0a2d405 100644
+--- a/getopt1.c
++++ b/getopt1.c
+@@ -16,7 +16,7 @@
+    Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+ 
+ #ifdef HAVE_CONFIG_H
+-#include <config.h>
++#include "config.h"
+ #endif
+ 
+ #include "getopt.h"
+diff --git a/gtk.c b/gtk.c
+index 38ed507..7faa132 100644
+--- a/gtk.c
++++ b/gtk.c
+@@ -17,7 +17,7 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/mtr.c b/mtr.c
+index 50eb464..416b744 100644
+--- a/mtr.c
++++ b/mtr.c
+@@ -16,19 +16,21 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
++#include "config.h"
++
+ #include <sys/types.h>
+-#include <config.h>
+-#include <netdb.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <netinet/in.h>
+-#include <sys/socket.h>
+ #include <unistd.h>
+-#include <strings.h>
+-#include <time.h>
+ #include <errno.h>
+ #include <string.h>
++#include <strings.h>
++
++#include <netdb.h>
++#include <netinet/in.h>
++#include <sys/socket.h>
++#include <time.h>
+ #include <ctype.h>
+ #include <assert.h>
+ #include <fcntl.h>
+diff --git a/net.c b/net.c
+index 1c8d28f..d648804 100644
+--- a/net.c
++++ b/net.c
+@@ -16,7 +16,7 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
+ 
+ #if defined(HAVE_SYS_XTI_H)
+ #include <sys/xti.h>
+@@ -1562,4 +1562,4 @@ void net_harvest_fds(void)
+   net_add_fds(&writefd, &maxfd);
+   select(maxfd, NULL, &writefd, NULL, &tv);
+   net_process_fds(&writefd);
+-}
+\ No newline at end of file
++}
+diff --git a/raw.c b/raw.c
+index 8b0df47..0e1f4f4 100644
+--- a/raw.c
++++ b/raw.c
+@@ -18,7 +18,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+@@ -27,7 +28,6 @@
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ 
+-
+ #include "mtr.h"
+ #include "raw.h"
+ #include "net.h"
+diff --git a/report.c b/report.c
+index 71040e4..39b2fb2 100644
+--- a/report.c
++++ b/report.c
+@@ -16,7 +16,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <sys/types.h>
+ #include <stdio.h>
+ #include <netdb.h>
+diff --git a/select.c b/select.c
+index 31bfd5f..7553675 100644
+--- a/select.c
++++ b/select.c
+@@ -16,7 +16,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <stdlib.h>
+diff --git a/split.c b/split.c
+index 642353e..5ead235 100644
+--- a/split.c
++++ b/split.c
+@@ -20,7 +20,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+-#include <config.h>
++#include "config.h"
++
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdio.h>
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index e42dfee7cae..87f0db1946b 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -1,17 +1,24 @@
-{ fetchurl, stdenv, sqlite, pkgconfig, xapian, glib, gmime, texinfo, emacs, guile
-, gtk3, webkit, libsoup, icu }:
+{ fetchurl, stdenv, sqlite, pkgconfig, autoconf, automake
+, xapian, glib, gmime, texinfo , emacs, guile
+, gtk3, webkit, libsoup, icu, withMug ? false /* doesn't build with current gtk3 */ }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.9.5";
+  version = "0.9.9.6";
   name = "mu-${version}";
 
   src = fetchurl {
-    url = "https://mu0.googlecode.com/files/mu-${version}.tar.gz";
-    sha256 = "1hwkliyb8fjrz5sw9fcisssig0jkdxzhccw0ld0l9a10q1l9mqhp";
+    url = "https://github.com/djcb/mu/archive/v${version}.tar.gz";
+    sha256 = "1jr9ss29yi6d62hd4ap07p2abgf12hwqfhasv3gwdkrx8dzwmr2a";
   };
 
-  buildInputs = [ sqlite pkgconfig xapian glib gmime texinfo emacs guile
-                  gtk3 webkit libsoup icu ];
+  buildInputs =
+    [ sqlite pkgconfig autoconf automake xapian
+      glib gmime texinfo emacs guile libsoup icu ]
+    ++ stdenv.lib.optional withMug [ gtk3 webkit ];
+
+  preConfigure = ''
+    autoreconf -i
+  '';
 
   preBuild = ''
     # Fix mu4e-builddir (set it to $out)
@@ -24,14 +31,14 @@ stdenv.mkDerivation rec {
   '';
 
   # Install mug and msg2pdf
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString withMug ''
     cp -v toys/msg2pdf/msg2pdf $out/bin/
     cp -v toys/mug/mug $out/bin/
   '';
 
   meta = {
     description = "A collection of utilties for indexing and searching Maildirs";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     homepage = "http://www.djcbsoftware.nl/code/mu/";
     platforms = stdenv.lib.platforms.mesaPlatforms;
     maintainers = with stdenv.lib.maintainers; [ antono the-kenny ];
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index 653bec89747..dffafe5c816 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,21 +1,18 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
-let
-  name = "nbd-3.4";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "nbd-3.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/nbd/${name}.tar.bz2";
-    sha256 = "1krj185fagnqsqpcfig7zkqa3cqgyyn956241ix224wssvynsajm";
+    url = "mirror://sourceforge/nbd/${name}.tar.xz";
+    sha256 = "1qnkzrnc9m4n814ciqh95q9j8l7d6yd7sn36q8yn0dmi1rvj78j8";
   };
 
   buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders;
 
   postInstall = ''
     mkdir -p "$out/share/doc/${name}"
-    cp README "$out/share/doc/${name}/README"
+    cp README.md "$out/share/doc/${name}/"
   '';
 
   # The test suite doesn't succeed in chroot builds.
@@ -29,7 +26,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://nbd.sourceforge.net";
     description = "map arbitrary files as block devices over the network";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/tools/networking/ncftp/default.nix b/pkgs/tools/networking/ncftp/default.nix
index 515ea5edf88..2dcfd09bb77 100644
--- a/pkgs/tools/networking/ncftp/default.nix
+++ b/pkgs/tools/networking/ncftp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses, coreutils}:
+{ stdenv, fetchurl, ncurses, coreutils }:
 
 let version = "3.2.5"; in
 stdenv.mkDerivation {
diff --git a/pkgs/tools/networking/ndisc6/default.nix b/pkgs/tools/networking/ndisc6/default.nix
index 1d66d30aaba..5ea6c8f6895 100644
--- a/pkgs/tools/networking/ndisc6/default.nix
+++ b/pkgs/tools/networking/ndisc6/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "ndisc6-1.0.1";
+  name = "ndisc6-1.0.2";
 
   src = fetchurl {
     url = "http://www.remlab.net/files/ndisc6/archive/${name}.tar.bz2";
-    sha256 = "1pggc9x3zki1sv08rs8x4fm7pmd3sn1nwkan3szax19xg049xbqx";
+    sha256 = "0ynacanjhlib4japqmf7n2c0bv5f2qq6rx2nhk4kmylyrfhcikka";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/networking/ndjbdns/default.nix b/pkgs/tools/networking/ndjbdns/default.nix
new file mode 100644
index 00000000000..e2dc1fd1eaf
--- /dev/null
+++ b/pkgs/tools/networking/ndjbdns/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, systemd, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "1.05.9";
+  name = "ndjbdns-${version}";
+  src = fetchurl {
+    url = "http://pjp.dgplug.org/ndjbdns/${name}.tar.gz";
+    sha256 = "0gf3hlmr6grcn6dzflf83lqqfp6hk3ldhbc7z0a1rrh059m93ap5";
+  };
+
+  buildInputs = [ pkgconfig systemd ];
+
+  meta = with stdenv.lib; {
+    description = "N-DJBDNS is a brand new release of the Djbdns. Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein.";
+    homepage = http://pjp.dgplug.org/ndjbdns/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.msackman ];
+    platforms = platforms.linux;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/nethogs/default.nix b/pkgs/tools/networking/nethogs/default.nix
new file mode 100644
index 00000000000..9747dc58771
--- /dev/null
+++ b/pkgs/tools/networking/nethogs/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, ncurses, libpcap }:
+
+stdenv.mkDerivation rec {
+  name = "nethogs-${version}";
+
+  version = "0.8.1-git";
+
+  src = fetchgit {
+    url = git://github.com/raboof/nethogs.git;
+    rev = "f6f9e890ea731b8acdcb8906642afae4cd96baa8";
+    sha256 = "0dj5sdyxdlssbnjbdf8k7x896m2zgyyg31g12dl5n6irqdrb5scf";
+  };
+
+  buildInputs = [ ncurses libpcap ];
+
+  preConfigure = ''
+    substituteInPlace Makefile --replace "prefix := /usr/local" "prefix := $out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small 'net top' tool, grouping bandwidth by process";
+    longDescription = ''
+      NetHogs is a small 'net top' tool. Instead of breaking the traffic down
+      per protocol or per subnet, like most tools do, it groups bandwidth by
+      process. NetHogs does not rely on a special kernel module to be loaded.
+      If there's suddenly a lot of network traffic, you can fire up NetHogs
+      and immediately see which PID is causing this. This makes it easy to
+      identify programs that have gone wild and are suddenly taking up your
+      bandwidth.
+    '';
+    license = licenses.gpl2Plus;
+    homepage = http://nethogs.sourceforge.net/;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wizeman ];
+  };
+}
diff --git a/pkgs/tools/networking/netkit/tftp/default.nix b/pkgs/tools/networking/netkit/tftp/default.nix
index 16b8a1159b6..5752ff2a63c 100644
--- a/pkgs/tools/networking/netkit/tftp/default.nix
+++ b/pkgs/tools/networking/netkit/tftp/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Netkit TFTP client and server";
     homepage = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/";
-    license = "BSD";
+    license = "BSD-Original";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index a196c309197..850981c5d33 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf
-, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring, gnome_keyring
+{ stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
+, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring 
 , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
 , makeWrapper, networkmanager_openvpn, networkmanager_vpnc
-, networkmanager_openconnect, udev, hicolor_icon_theme }:
+, networkmanager_openconnect, networkmanager_pptp, udev, hicolor_icon_theme, dconf }:
 
 let
   pn = "network-manager-applet";
@@ -15,19 +15,17 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
-    sha256 = "130rdin3wh9vlwhscbgh3lsssi89p5n4maws4y3l9ja720llk27n";
+    sha256 = "1sx97cp9nb5p82kg2dl6dmqri7wichpjqchhx7bk77limngby7jq";
   };
 
   buildInputs = [
-    gtk libglade networkmanager libnotify libsecret dbus_glib
-    polkit isocodes makeWrapper udev GConf libgnome_keyring
+    gnome3.gtk libglade networkmanager libnotify libsecret dbus_glib gsettings_desktop_schemas
+    polkit isocodes makeWrapper udev gnome3.gconf gnome3.libgnome_keyring
   ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  propagatedUserEnvPkgs = [ GConf gnome_keyring hicolor_icon_theme ];
-
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+  propagatedUserEnvPkgs = [ gnome3.gconf gnome3.gnome_keyring hicolor_icon_theme ];
 
   makeFlags = [
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
@@ -38,19 +36,27 @@ stdenv.mkDerivation rec {
     ln -s ${networkmanager_openvpn}/etc/NetworkManager/VPN/nm-openvpn-service.name $out/etc/NetworkManager/VPN/nm-openvpn-service.name
     ln -s ${networkmanager_vpnc}/etc/NetworkManager/VPN/nm-vpnc-service.name $out/etc/NetworkManager/VPN/nm-vpnc-service.name
     ln -s ${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name $out/etc/NetworkManager/VPN/nm-openconnect-service.name
+    ln -s ${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name $out/etc/NetworkManager/VPN/nm-pptp-service.name
     mkdir -p $out/lib/NetworkManager
     ln -s ${networkmanager_openvpn}/lib/NetworkManager/* $out/lib/NetworkManager/
     ln -s ${networkmanager_vpnc}/lib/NetworkManager/* $out/lib/NetworkManager/
     ln -s ${networkmanager_openconnect}/lib/NetworkManager/* $out/lib/NetworkManager/
+    ln -s ${networkmanager_pptp}/lib/NetworkManager/* $out/lib/NetworkManager/
     mkdir -p $out/libexec
     ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/
     ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/
     ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/
+    ln -s ${networkmanager_pptp}/libexec/* $out/libexec/
+  '';
+
+  preFixup = ''
     wrapProgram "$out/bin/nm-applet" \
-      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" \
+      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
       --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \
-      --prefix PATH ":" "${GConf}/bin"
+      --prefix PATH ":" "${gnome3.gconf}/bin"
+    wrapProgram "$out/bin/nm-connection-editor" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 25494d75f0d..20102aedeb9 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz
 , udev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables
-, libgcrypt, dnsmasq, avahi, bind, perl, substituteAll }:
+, libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll
+, gobjectIntrospection, modemmanager, openresolv }:
 
 stdenv.mkDerivation rec {
   name = "network-manager-${version}";
-  version = "0.9.8.4";
+  version = "0.9.8.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
-    sha256 = "168dv290mc19szgv1l108i8gyha47wmyr41jlzwqvvibynmg17sc";
+    sha256 = "0mbsl6x3aavdnam8i87p0zz8fvvgi96g199s35wgg5r8rplks2la";
   };
 
   preConfigure = ''
@@ -26,15 +27,17 @@ stdenv.mkDerivation rec {
     "--with-dhcpcd=no"
     "--with-iptables=${iptables}/sbin/iptables"
     "--with-udev-dir=\${out}/lib/udev"
-    "--without-resolvconf"
+    "--with-resolvconf=${openresolv}/sbin/resolvconf"
     "--sysconfdir=/etc" "--localstatedir=/var"
     "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
     "--with-crypto=gnutls" "--disable-more-warnings"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--with-kernel-firmware-dir=/run/current-system/firmware"
-    "--with-session-tracking=systemd" ];
+    "--with-session-tracking=systemd"
+    "--with-modem-manager-1"
+  ];
 
-  buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz ];
+  buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz bluez5 gobjectIntrospection modemmanager ];
 
   propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ];
 
@@ -56,19 +59,21 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       mkdir -p $out/lib/NetworkManager
-      
+
       # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy
       substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"'
 
-      # As NixOS doesn't seem to handle systemd Aliases, we just rename the dispatcher service file
-      mv $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
+      # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
+      # aliases ourselves.
+      ln -s $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
+      ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
     '';
 
   meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/NetworkManager/;
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ phreedom urkud rickynils ];
+    maintainers = with maintainers; [ phreedom urkud rickynils iElectric ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index fc9a964004e..cc6532bac71 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager
-, withGnome ? true, gtk2, gconf, libgnome_keyring, procps, module_init_tools }:
+, withGnome ? true, gnome3, procps, module_init_tools }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname = "NetworkManager-openconnect";
-  version = networkmanager.version;
+  version = "0.9.8.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
@@ -12,12 +12,12 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ openconnect networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring gconf ];
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring gnome3.gconf ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
   configureFlags = [
-    "${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}"
+    "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
     "--disable-static"
   ];
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
      substituteInPlace "configure" \
        --replace "/sbin/sysctl" "${procps}/sbin/sysctl"
      substituteInPlace "src/nm-openconnect-service.c" \
-       --replace "/sbin/openconnect" "${openconnect}/sbin/openconnect" \
+       --replace "/usr/sbin/openconnect" "${openconnect}/sbin/openconnect" \
        --replace "/sbin/modprobe" "${module_init_tools}/sbin/modprobe"
   '';
 
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index b72312a1af2..bb837dc6b8f 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager
-, withGnome ? true, gtk2, libgnome_keyring, procps, module_init_tools }:
+, withGnome ? true, gnome3, procps, module_init_tools }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname = "NetworkManager-openvpn";
-  version = networkmanager.version;
+  version = "0.9.8.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
@@ -12,12 +12,12 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ openvpn networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring ];
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
   configureFlags = [
-    "${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}"
+    "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
     "--disable-static"
   ];
 
diff --git a/pkgs/tools/networking/network-manager/pptp-purity.patch b/pkgs/tools/networking/network-manager/pptp-purity.patch
index 55ade68dd41..88af666b658 100644
--- a/pkgs/tools/networking/network-manager/pptp-purity.patch
+++ b/pkgs/tools/networking/network-manager/pptp-purity.patch
@@ -2,7 +2,7 @@ diff --git a/src/nm-pptp-service.c b/src/nm-pptp-service.c
 index 68a5759..568bbfe 100644
 --- a/src/nm-pptp-service.c
 +++ b/src/nm-pptp-service.c
-@@ -729,9 +729,7 @@ nm_find_pppd (void)
+@@ -730,9 +730,7 @@ nm_find_pppd (void)
  {
  	static const char *pppd_binary_paths[] =
  		{
@@ -12,8 +12,8 @@ index 68a5759..568bbfe 100644
 +			"@ppp@/sbin/pppd",
  			NULL
  		};
- 
-@@ -751,9 +749,7 @@ nm_find_pptp (void)
+
+@@ -752,9 +750,7 @@ nm_find_pptp (void)
  {
  	static const char *pptp_binary_paths[] =
  		{
diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix
index dc2c800e797..6928db809a8 100644
--- a/pkgs/tools/networking/network-manager/pptp.nix
+++ b/pkgs/tools/networking/network-manager/pptp.nix
@@ -1,23 +1,23 @@
 { stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig, substituteAll
-, withGnome ? false, gtk, libgnome_keyring }:
+, withGnome ? true, gnome3 }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname = "NetworkManager-pptp";
-  version = networkmanager.version;
+  version = "0.9.8.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
-    sha256 = "7f46ea61376d13d03685eca3f26a26e0022f6e92e6f1fc356034ca9717eb6daa";
+    sha256 = "1s6wmznd6azvg028x8y3syniqy9j7nmx5j71w2wc6mk0f9pqzflp";
   };
 
   buildInputs = [ networkmanager pptp ppp ]
-    ++ stdenv.lib.optionals withGnome [ gtk libgnome_keyring ];
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
   configureFlags =
-    if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome";
+    if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome";
 
   postConfigure = "sed 's/-Werror//g' -i Makefile */Makefile";
 
diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix
index 10a497e0238..809970ff0fd 100644
--- a/pkgs/tools/networking/network-manager/vpnc.nix
+++ b/pkgs/tools/networking/network-manager/vpnc.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager
-, withGnome ? true, gtk2, libgnome_keyring, procps, module_init_tools }:
+, withGnome ? true, gnome3, procps, module_init_tools }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
@@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ vpnc networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring ];
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
   configureFlags = [
-    "${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}"
+    "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
     "--disable-static"
   ];
 
diff --git a/pkgs/tools/networking/ngrep/default.nix b/pkgs/tools/networking/ngrep/default.nix
new file mode 100644
index 00000000000..5c7840034b7
--- /dev/null
+++ b/pkgs/tools/networking/ngrep/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, libpcap }:
+
+stdenv.mkDerivation rec {
+  name = "ngrep-1.45";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ngrep/${name}.tar.bz2";
+    sha256 = "19rg8339z5wscw877mz0422wbsadds3mnfsvqx3ihy58glrxv9mf";
+  };
+
+  buildInputs = [ libpcap ];
+
+  preConfigure = ''
+    # Fix broken test for BPF header file
+    sed -i "s|BPF=.*|BPF=${libpcap}/include/pcap/bpf.h|" configure
+
+    configureFlags="$configureFlags --with-pcap-includes=${libpcap}/include"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Network packet analyzer";
+    longDescription = ''
+      ngrep strives to provide most of GNU grep's common features, applying
+      them to the network layer. ngrep is a pcap-aware tool that will allow you
+      to specify extended regular or hexadecimal expressions to match against
+      data payloads of packets. It currently recognizes IPv4/6, TCP, UDP,
+      ICMPv4/6, IGMP and Raw across Ethernet, PPP, SLIP, FDDI, Token Ring and
+      null interfaces, and understands BPF filter logic in the same fashion as
+      more common packet sniffing tools, such as tcpdump and snoop.
+    '';
+    homepage = http://ngrep.sourceforge.net/;
+    # <ngrep>/doc/README.txt says that ngrep itself is licensed under a
+    # 'BSD-like' license but that the 'regex' library (in the ngrep tarball) is
+    # GPLv2.
+    license = "ngrep";  # Some custom BSD-style, see LICENSE.txt
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/networking/nss-mdns/default.nix b/pkgs/tools/networking/nss-mdns/default.nix
index 7ef5eb17dc1..b3d4ec95e06 100644
--- a/pkgs/tools/networking/nss-mdns/default.nix
+++ b/pkgs/tools/networking/nss-mdns/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://0pointer.de/lennart/projects/nss-mdns/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
 
     # Supports both the GNU and FreeBSD NSS.
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.freebsd;
diff --git a/pkgs/tools/networking/ntop/default.nix b/pkgs/tools/networking/ntop/default.nix
index 48f2c9f0893..11e67ae6333 100644
--- a/pkgs/tools/networking/ntop/default.nix
+++ b/pkgs/tools/networking/ntop/default.nix
@@ -19,11 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Traffic analysis with NetFlow and sFlow support";
-
-    license = "GLPv3+";
-
+    license = stdenv.lib.licenses.gpl3Plus;
     homepage = http://www.ntop.org/products/ntop/;
-
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch b/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
new file mode 100644
index 00000000000..8bec643c6e5
--- /dev/null
+++ b/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
@@ -0,0 +1,24 @@
+From d0c56a14e0432faca1e9438b84e5e4090d293bb9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Tue, 3 Dec 2013 20:42:24 +0000
+Subject: [PATCH 1/2] Undo weird modification of data_dir
+
+---
+ Prefs.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Prefs.cpp b/Prefs.cpp
+index b4fde5f..ca04ca1 100644
+--- a/Prefs.cpp
++++ b/Prefs.cpp
+@@ -408,7 +408,6 @@ int Prefs::checkOptions() {
+ 			ntop->getTrace()->traceEvent(TRACE_ERROR, "Unable to create log %s", path);
+   }
+ 
+-  free(data_dir); data_dir = strdup(ntop->get_install_dir());
+   docs_dir      = ntop->getValidPath(docs_dir);
+   scripts_dir   = ntop->getValidPath(scripts_dir);
+   callbacks_dir = ntop->getValidPath(callbacks_dir);
+-- 
+1.8.4.3
+
diff --git a/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch b/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
new file mode 100644
index 00000000000..99467c37126
--- /dev/null
+++ b/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
@@ -0,0 +1,29 @@
+From d77b42003d13e2775be3255a26f380d6ccda8042 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Tue, 3 Dec 2013 21:10:06 +0000
+Subject: [PATCH 2/2] Remove requirement to have writeable callback dir
+
+* ntopng doesn't write anything to the callback dir
+* it seems to be a copy-paste leftover error from data_dir a couple of
+  lines above
+---
+ Ntop.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Ntop.cpp b/Ntop.cpp
+index 2fb027b..0b4881b 100644
+--- a/Ntop.cpp
++++ b/Ntop.cpp
+@@ -114,8 +114,7 @@ void Ntop::registerPrefs(Prefs *_prefs) {
+   }
+ 
+   if(stat(prefs->get_callbacks_dir(), &statbuf)
+-     || (!(statbuf.st_mode & S_IFDIR)) /* It's not a directory */
+-     || (!(statbuf.st_mode & S_IWRITE)) /* It's not writable    */) {
++     || (!(statbuf.st_mode & S_IFDIR))) { /* It's not a directory */
+     ntop->getTrace()->traceEvent(TRACE_ERROR, "Invalid directory %s specified",
+ 				 prefs->get_callbacks_dir());
+     exit(-1);
+-- 
+1.8.4.3
+
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
new file mode 100644
index 00000000000..3c33da1b661
--- /dev/null
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, libpcap, gnutls, libgcrypt, libxml2, glib, geoip, sqlite
+, which
+}:
+
+# ntopng includes LuaJIT, mongoose, rrdtool and zeromq in its third-party/
+# directory.
+
+stdenv.mkDerivation rec {
+  name = "ntopng-1.1_6932";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/ntop/ntopng/${name}.tgz";
+    sha256 = "0cdbmrsjp3bb7xzci0vfnnkmbyxwxbf47l4kbnk4ydd7xwhwdnzr";
+  };
+
+  patches = [
+    ./0001-Undo-weird-modification-of-data_dir.patch
+    ./0002-Remove-requirement-to-have-writeable-callback-dir.patch
+  ];
+
+  buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which ];
+
+  preBuild = ''
+    sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \
+        -e "s|/usr/local|$out|g" \
+        -e "s|/bin/rm|rm|g" \
+        -i Makefile
+
+    sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \
+        -e "s|/usr/local|$out|g" \
+        -e "s|/opt/local|/non-existing-dir|g" \
+        -i configure
+
+    sed -e "s|/usr/local|$out|g" \
+        -i Ntop.cpp
+
+    sed -e "s|\(#define CONST_DEFAULT_DATA_DIR\).*|\1 \"/var/lib/ntopng\"|g" \
+        -e "s|\(#define CONST_DEFAULT_DOCS_DIR\).*|\1 \"$out/share/ntopng/httpdocs\"|g" \
+        -e "s|\(#define CONST_DEFAULT_SCRIPTS_DIR\).*|\1 \"$out/share/ntopng/scripts\"|g" \
+        -e "s|\(#define CONST_DEFAULT_CALLBACKS_DIR\).*|\1 \"$out/share/ntopng/scripts/callbacks\"|g" \
+        -e "s|\(#define CONST_DEFAULT_INSTALL_DIR\).*|\1 \"$out/share/ntopng\"|g" \
+        -i ntop_defines.h
+  '';
+
+  meta = with stdenv.lib; {
+    description = "High-speed web-based traffic analysis and flow collection tool";
+    homepage = http://www.ntop.org/products/ntop/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index a3b347f6423..465f15184f1 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -1,24 +1,26 @@
-{stdenv, fetchurl, libcap}:
+{ stdenv, fetchurl, libcap }:
 
 assert stdenv.isLinux -> libcap != null;
- 
+
 stdenv.mkDerivation rec {
-  name = "ntp-4.2.6p4";
-  
+  name = "ntp-4.2.6p5";
+
   src = fetchurl {
     url = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${name}.tar.gz";
-    sha256 = "1ww1hpy0yfmj13vs46d80hs48hy8ig6kn6p6d8q2syym02khxhyy";
+    sha256 = "077r69a41hasl8zf5c44km7cqgfhrkaj6a4jnr75j7nkz5qq7ayn";
   };
-  
+
   configureFlags = ''
     --without-crypto
     ${if stdenv.isLinux then "--enable-linuxcaps" else ""}
   '';
-  
+
   buildInputs = stdenv.lib.optional stdenv.isLinux libcap;
 
   meta = {
     homepage = http://www.ntp.org/;
     description = "An implementation of the Network Time Protocol";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index c5386553f4f..ec14b8ee99a 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -2,11 +2,11 @@
 , gnutls, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "nzbget-9.0";
+  name = "nzbget-13.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/nzbget/${name}.tar.gz";
-    sha256 = "1r4ys5nmcz1ilkdjdh3r8lawaf96i8spk6hl02h823q9rppvmya0";
+    sha256 = "13lgwwrdv6ds25kj6hj0b5laqaf739n7l3j530x3640zyd254vv6";
   };
 
   buildInputs = [ pkgconfig libxml2 ncurses libsigcxx libpar2 gnutls libgcrypt ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://nzbget.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "A command line tool for downloading files from news servers";
   };
 }
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index fa1d2fb805a..2a100fd2873 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,14 +1,13 @@
 { pkgs, fetchurl, buildPythonPackage, sqlite3 }:
 
 buildPythonPackage rec {
-  version = "6.5.5-rc2";
+  version = "6.5.6";
   name = "offlineimap-${version}";
   namePrefix = "";
 
   src = fetchurl {
-    url = "https://github.com/OfflineIMAP/offlineimap/tarball/v${version}";
-    name = "${name}.tar.bz";
-    sha256 = "03w3irh8pxwvivi139xm5iaj2f8vmriak1ispq9d9f84z1098pd3";
+    url = "https://github.com/OfflineIMAP/offlineimap/archive/v${version}.tar.gz";
+    sha256 = "1hr8yxb6r8lmdzzly4hafa1l1z9pfx14rsgc8qiy2zxfpg6ijcn2";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/openconnect.nix b/pkgs/tools/networking/openconnect.nix
index 2cc52fe981b..c523e0004d7 100644
--- a/pkgs/tools/networking/openconnect.nix
+++ b/pkgs/tools/networking/openconnect.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, vpnc, openssl, libxml2 } :
 
 stdenv.mkDerivation rec {
-  name = "openconnect-5.01";
+  name = "openconnect-5.02";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.infradead.org/pub/openconnect/${name}.tar.gz"
     ];
-    sha256 = "1l90ks87iwmy7jprav11lhjr4n18ycy0d9fndspg50p9qd3jlvwi";
+    sha256 = "1y7dn42gd3763sgwv2j72xy9hsikd6y9x142g84kwdbn0y0psgi4";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index 2879c5cc1a1..b81c46c0b61 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "openresolv-3.5.4";
+  name = "openresolv-3.5.7";
 
   src = fetchurl {
     url = "http://roy.marples.name/downloads/openresolv/${name}.tar.bz2";
-    sha256 = "0in40iha4ghk12lr2p65v0by3h0jp7qsdajmj4vm7iis0plzr4db";
+    sha256 = "14n51wqnh49zdvx11l79s3fh1jhg7kg9cfny5vk7zsix78spmyx7";
   };
 
+  buildInputs = [ makeWrapper ];
+
   configurePhase =
     ''
       cat > config.mk <<EOF
@@ -23,9 +25,15 @@ stdenv.mkDerivation rec {
 
   installFlags = "SYSCONFDIR=$(out)/etc";
 
-  meta = { 
+  postInstall = ''
+    wrapProgram "$out/sbin/resolvconf" --set PATH "${coreutils}/bin"
+  '';
+
+  meta = {
     description = "A program to manage /etc/resolv.conf";
     homepage = http://roy.marples.name/projects/openresolv;
-    license = "bsd";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 35586031ef5..fec6679a14b 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -10,18 +10,19 @@ assert withKerberos -> kerberos != null;
 let
 
   hpnSrc = fetchurl {
-    url = http://tarballs.nixos.org/openssh-6.1p1-hpn13v14.diff.gz;
-    sha256 = "14das6lim6fxxnx887ssw76ywsbvx3s4q3n43afgh5rgvs4xmnnq";
+    url = mirror://sourceforge/hpnssh/openssh-6.3p1-hpnssh14v2.diff.gz;
+    sha256 = "1jldqjwry9qpxxzb3mikfmmmv90mfb7xkmcfdbvwqac6nl3r7bi3";
   };
+  optionalString = stdenv.lib.optionalString;
 
 in
 
 stdenv.mkDerivation rec {
-  name = "openssh-6.2p2";
+  name = "openssh-6.6p1";
 
   src = fetchurl {
-    url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
-    sha1 = "c2b4909eba6f5ec6f9f75866c202db47f3b501ba";
+    url = "http://ftp.nluug.nl/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
+    sha256 = "1fq3w86q05y5nn6z878wm312k0svaprw8k007188fd259dkg1ha8";
   };
 
   prePatch = stdenv.lib.optionalString hpnSupport
@@ -30,11 +31,20 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ];
+  patches = [
+    ./locale_archive.patch
+    (fetchurl {
+      name = "CVE-2014-2653.patch";
+      url = "http://anonscm.debian.org/gitweb/?p=pkg-ssh/openssh.git;a=blobdiff_plain;"
+        + "f=sshconnect.c;h=324f5e0a396a4da9885d121bbbef87f6ccf2b149;"
+        + "hp=87c3770c0fd5c7ff41227c45b4528985eaea54a6;hb=63d5fa28e16d96db6bac2dbe3fcecb65328f8966;"
+        + "hpb=9cbb60f5e4932634db04c330c88abc49cc5567bd";
+      sha256 = "160c434igl2r8q4cavhdlwvnbqizx444sjrhg98f997pyhz524h9";
+    })
+  ];
 
-  buildInputs = [ zlib openssl libedit pkgconfig pam ] ++
-    (if withKerberos then [ kerberos ] else [])
-  ;
+  buildInputs = [ zlib openssl libedit pkgconfig pam ]
+    ++ stdenv.lib.optional withKerberos [ kerberos ];
 
   # I set --disable-strip because later we strip anyway. And it fails to strip
   # properly when cross building.
@@ -44,8 +54,8 @@ stdenv.mkDerivation rec {
       --with-libedit=yes
       --disable-strip
       ${if pam != null then "--with-pam" else "--without-pam"}
-      ${if etcDir != null then "--sysconfdir=${etcDir}" else ""}
-      ${if withKerberos  then "--with-kerberos5=${kerberos}" else ""}
+      ${optionalString (etcDir != null) "--sysconfdir=${etcDir}"}
+      ${optionalString withKerberos "--with-kerberos5=${kerberos}"}
     '';
 
   preConfigure =
@@ -67,11 +77,12 @@ stdenv.mkDerivation rec {
 
   installTargets = "install-nosysconf";
 
-  meta = {
-    homepage = http://www.openssh.org/;
+  meta = with stdenv.lib; {
+    homepage = "http://www.openssh.org/";
     description = "An implementation of the SSH protocol";
-    license = "bsd";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = stdenv.lib.maintainers.eelco;
+    license = "bsd"; # multi BSD GPL-2
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ eelco ];
+    broken = hpnSupport; # cf. https://github.com/NixOS/nixpkgs/pull/1640
   };
 }
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 0db7c4b688f..591bf26ff0b 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -1,14 +1,18 @@
-{ stdenv, fetchurl, iproute, lzo, openssl, pam }:
+{ stdenv, fetchurl, iproute, lzo, openssl, pam, systemd }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "openvpn-2.3.1";
+  name = "openvpn-2.3.4";
 
   src = fetchurl {
     url = "http://swupdate.openvpn.net/community/releases/${name}.tar.gz";
-    sha256 = "0g7vf3f6z0h4kdqlqr8jd0gapi0ains6xcvlvfy8cicxnf2psbdx";
+    sha256 = "0nn8rrh6jadsydnym69r4s7rm6jzsgxb6p23yb9ai3sn91gnsl5g";
   };
 
-  buildInputs = [ iproute lzo openssl pam ];
+  patches = optional stdenv.isLinux ./systemd-notify.patch;
+
+  buildInputs = [ iproute lzo openssl pam ] ++ optional stdenv.isLinux systemd;
 
   configureFlags = ''
     --enable-password-save
@@ -31,10 +35,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  NIX_LDFLAGS = optionalString stdenv.isLinux "-lsystemd-daemon"; # hacky
+
   meta = {
     description = "A robust and highly flexible tunneling application";
     homepage = http://openvpn.net/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
new file mode 100644
index 00000000000..748f41c9053
--- /dev/null
+++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, makeWrapper,  coreutils, gawk, utillinux }:
+
+stdenv.mkDerivation rec {
+  name = "openvpn-learnaddress-19b03c3";
+
+  src = fetchgit {
+    url = https://gist.github.com/4058733.git;
+    rev = "19b03c3beb0190df46ea07bf4b68244acb8eae80";
+    sha256 = "16pcyvyhwsx34i0cjkkx906lmrwdd9gvznvqdwlad4ha8l8f8z42";
+  };
+
+  buildInputs = [ makeWrapper coreutils gawk utillinux ];
+
+  installPhase = ''
+    install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress
+
+    wrapProgram $out/libexec/openvpn/openvpn-learnaddress \
+        --prefix PATH : ${coreutils}/bin:${gawk}/bin:${utillinux}/bin
+  '';
+
+  meta = {
+    description = "Openvpn learn-address script to manage a hosts-like file";
+    homepage = https://gist.github.com/offlinehacker/4058733/;
+    maintainers = [ stdenv.lib.maintainers.offline ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/openvpn/systemd-notify.patch b/pkgs/tools/networking/openvpn/systemd-notify.patch
new file mode 100644
index 00000000000..9291f7a4664
--- /dev/null
+++ b/pkgs/tools/networking/openvpn/systemd-notify.patch
@@ -0,0 +1,22 @@
+diff -ru -x '*~' openvpn-2.3.1-orig/src/openvpn/init.c openvpn-2.3.1/src/openvpn/init.c
+--- openvpn-2.3.1-orig/src/openvpn/init.c	2013-03-20 09:28:14.000000000 +0100
++++ openvpn-2.3.1/src/openvpn/init.c	2014-04-22 13:02:21.351026640 +0200
+@@ -48,6 +48,8 @@
+ 
+ #include "occ-inline.h"
+ 
++#include <systemd/sd-daemon.h>
++
+ static struct context *static_context; /* GLOBAL */
+ 
+ /*
+@@ -1241,6 +1243,9 @@
+ {
+   static const char message[] = "Initialization Sequence Completed";
+ 
++  /* Tell systemd we're ready. */
++  sd_notify(0, "READY=1");
++
+   /* If we delayed UID/GID downgrade or chroot, do it now */
+   do_uid_gid_chroot (c, true);
+ 
diff --git a/pkgs/tools/networking/oslrd/default.nix b/pkgs/tools/networking/oslrd/default.nix
index 18fdae2a44f..44f32e93474 100644
--- a/pkgs/tools/networking/oslrd/default.nix
+++ b/pkgs/tools/networking/oslrd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "olsrd-0.6.5.4";
+  name = "olsrd-0.6.6.1";
 
   src = fetchurl {
     url = "http://www.olsr.org/releases/0.6/${name}.tar.bz2";
-    sha256 = "757327b9a22b066bd0cab2a8e1cdd1c462f474bb99864a175388aa5f0c70504c";
+    sha256 = "1fphbh9x724r83gxxrd13zv487s4svnr9jdy76h4f36xxb15pnp8";
   };
 
   buildInputs = [ bison flex ];
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index 44384507a79..45a73924758 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -1,7 +1,7 @@
 { monolithic ? true # build monolithic amule
 , daemon ? false # build amule daemon
 , httpServer ? false # build web interface for the daemon
-, client ? false # build amule remote gui 
+, client ? false # build amule remote gui
 , fetchurl, stdenv, zlib, wxGTK, perl, cryptopp, libupnp, gettext, libpng ? null
 , pkgconfig, makeWrapper }:
 
@@ -10,19 +10,21 @@ with stdenv;
 let
   # Enable/Disable Feature
   edf = enabled: flag: if enabled then "--enable-" + flag else "--disable-" + flag;
-in 
+in
 mkDerivation rec {
-  name = "aMule-2.2.6";
+  name = "aMule-2.3.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/amule/${name}.tar.bz2";
-    sha256 = "08l1931hcg1ia8yvhgx70hx64mknjnfn6l78m0ja44w13mgjpqvc";
+    url = "mirror://sourceforge/amule/${name}.tar.xz";
+    sha256 = "0hvpx3c005nvxsfand5bwfxxiq3mv0mpykajfm2lkygjh1rw2383";
   };
 
   buildInputs =
     [ zlib wxGTK perl cryptopp libupnp gettext pkgconfig makeWrapper ]
     ++ lib.optional httpServer libpng;
 
+  patches = [ ./gcc47.patch ]; # from Gentoo
+
   configureFlags = ''
     --with-crypto-prefix=${cryptopp}
     --disable-debug
@@ -59,7 +61,7 @@ mkDerivation rec {
       applications.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
     maintainers = [ stdenv.lib.maintainers.phreedom ];
diff --git a/pkgs/tools/networking/p2p/amule/gcc47.patch b/pkgs/tools/networking/p2p/amule/gcc47.patch
new file mode 100644
index 00000000000..e776dda3240
--- /dev/null
+++ b/pkgs/tools/networking/p2p/amule/gcc47.patch
@@ -0,0 +1,21 @@
+# http://code.google.com/p/amule/source/detail?r=10772
+diff -ur aMule-2.3.1.orig//src/ObservableQueue.h aMule-2.3.1/src/ObservableQueue.h
+--- aMule-2.3.1.orig//src/ObservableQueue.h	2012-04-22 19:40:05.560084120 +0200
++++ aMule-2.3.1/src/ObservableQueue.h	2012-04-22 19:40:32.479085322 +0200
+@@ -331,14 +331,14 @@
+ template <typename ValueType>
+ void CObservableQueue<ValueType>::ObserverAdded( ObserverType* o )
+ {
+-	NotifyObservers( EventType( EventType::STARTING ), o );
++	this->NotifyObservers( EventType( EventType::STARTING ), o );
+ }
+ 
+ 
+ template <typename ValueType>
+ void CObservableQueue<ValueType>::ObserverRemoved( ObserverType* o )
+ {
+-	NotifyObservers( EventType( EventType::STOPPING ), o );
++	this->NotifyObservers( EventType( EventType::STOPPING ), o );
+ }
+ 
+ 
\ No newline at end of file
diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
index e30192598cc..7eefb516e1c 100644
--- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
+++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "gtk-gnutella";
-  version = "0.97";
+  version = "1.0.1";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2";
-    sha256 = "0l2gdzp517hjk31318djq0sww6kzckzl9rfqvhgspihn874lm9hb";
+    sha256 = "010gzk2xqqkm309qnj5k28ghh9i92vvpnn8ly9apzb5gh8bqfm0g";
   };
 
   buildInputs = [pkgconfig glib gtk libxml2 bison gettext zlib];
@@ -23,7 +23,6 @@ stdenv.mkDerivation {
     homepage = "http://gtk-gnutella.sourceforge.net/";
     description = "a server/client for Gnutella";
     license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index fb0a889d3ee..132762c3b54 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libsigcxx }:
+{ stdenv, fetchurl, pkgconfig, openssl, libsigcxx, zlib }:
 
 let
-  version = "0.13.2";
+  version = "0.13.4";
 in
 stdenv.mkDerivation {
   name = "libtorrent-${version}";
 
   src = fetchurl {
     url = "http://libtorrent.rakshasa.no/downloads/libtorrent-${version}.tar.gz";
-    sha256 = "ed2f2dea16c29cac63fa2724f6658786d955f975861fa6811bcf1597ff8a5e4f";
+    sha256 = "0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh";
   };
 
-  buildInputs = [ pkgconfig openssl libsigcxx ];
+  buildInputs = [ pkgconfig openssl libsigcxx zlib ];
 
   meta = {
     homepage = "http://libtorrent.rakshasa.no/";
diff --git a/pkgs/tools/networking/p2p/rtorrent/default.nix b/pkgs/tools/networking/p2p/rtorrent/default.nix
index b503c1d9152..64d51835572 100644
--- a/pkgs/tools/networking/p2p/rtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/rtorrent/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchurl, libtorrent, ncurses, pkgconfig, libsigcxx, curl
-, zlib, openssl }:
+, zlib, openssl, xmlrpc_c
+}:
 
-let
-  version = "0.9.2";
-in
-stdenv.mkDerivation {
-  name = "rtorrent-${version}";
+stdenv.mkDerivation rec {
+  name = "rtorrent-0.9.4";
 
   src = fetchurl {
-    url = "http://libtorrent.rakshasa.no/downloads/rtorrent-${version}.tar.gz";
-    sha256 = "5c8f8c780bee376afce3c1cde2f5ecb928f40bac23b2b8171deed5cf3c888c3d";
+    url = "http://libtorrent.rakshasa.no/downloads/${name}.tar.gz";
+    sha256 = "113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw";
   };
 
-  buildInputs = [ libtorrent ncurses pkgconfig libsigcxx curl zlib openssl ];
+  buildInputs = [ libtorrent ncurses pkgconfig libsigcxx curl zlib openssl xmlrpc_c ];
+  configureFlags = "--with-xmlrpc-c";
 
-  postInstall = ''
-    mkdir -p $out/share/man/man1 $out/share/rtorrent
-    mv doc/rtorrent.1 $out/share/man/man1/rtorrent.1
-    mv doc/rtorrent.rc $out/share/rtorrent/rtorrent.rc
-  '';
+  # postInstall = ''
+  #   mkdir -p $out/share/man/man1 $out/share/rtorrent
+  #   mv doc/rtorrent.1 $out/share/man/man1/rtorrent.1
+  #   mv doc/rtorrent.rc $out/share/rtorrent/rtorrent.rc
+  # '';
 
   meta = {
     homepage = "http://libtorrent.rakshasa.no/";
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
index 43c189f36a9..8c707e2fcc7 100644
--- a/pkgs/tools/networking/p2p/seeks/default.nix
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -40,11 +40,12 @@ stdenv.mkDerivation {
          web indexes as users can push content directly to search groups.
       '';
 
-    license = "AGPLv3+";
+    license = stdenv.lib.licenses.agpl3Plus;
 
     homepage = http://www.seeks-project.info/;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 38adea8af8f..76a4a0eae62 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, lib, unzip, buildPythonPackage, twisted, foolscap, nevow
-, simplejson, zfec, pycryptopp, pysqlite, darcsver, setuptoolsTrial
+, simplejson, zfec, pycryptopp, sqlite3, darcsver, setuptoolsTrial
 , setuptoolsDarcs, numpy, nettools, pycrypto, pyasn1, mock }:
 
 # FAILURES: The "running build_ext" phase fails to compile Twisted
@@ -8,34 +8,18 @@
 # some loss of functionality because of it.
 
 let
-  name = "tahoe-lafs-1.9.2";
+  name = "tahoe-lafs-1.10.0";
 in
 buildPythonPackage {
   inherit name;
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://tahoe-lafs.org/source/tahoe-lafs/snapshots/allmydata-tahoe-1.9.2.tar.bz2";
-    sha256 = "0111gmavyrnglx10kj8z7wm7y97fyg9isv71c0gx9kq4c03knxq4";
+    url = "http://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-1.10.0.tar.bz2";
+    sha256 = "1qng7j1vykk8zl5da9yklkljvgxfnjky58gcay6dypz91xq1cmcw";
   };
 
-  # The patch doesn't apply cleanly to the current version.
-  patches = [ /* ./test-timeout.patch */ ];
-
   configurePhase = ''
-    echo "forcing the use of \`setuptools' 0.6c9 rather than an unreleased version"
-    for i in *setup.py
-    do
-      sed -i "$i" -es'/0.6c12dev/0.6c9/g'
-    done
-
-    # `find_exe()' returns a list like ['.../bin/python'
-    # '.../bin/twistd'], which doesn't work when `twistd' is not a
-    # Python script (e.g., when it's a script produced by
-    # `wrapProgram').
-    sed -i "src/allmydata/scripts/startstop_node.py" \
-        -es"|cmd = find_exe.find_exe('twistd')|cmd = ['${twisted}/bin/twistd']|g"
-
     sed -i "src/allmydata/util/iputil.py" \
         -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g"
 
@@ -50,9 +34,9 @@ buildPythonPackage {
   buildInputs = [ unzip ]
     ++ [ numpy ]; # Some tests want this + http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/mock-0.6.0.tar.bz2
 
-  # The `backup' command requires `pysqlite'.
+  # The `backup' command requires `sqlite3'.
   propagatedBuildInputs =
-    [ twisted foolscap nevow simplejson zfec pycryptopp pysqlite
+    [ twisted foolscap nevow simplejson zfec pycryptopp sqlite3
       darcsver setuptoolsTrial setuptoolsDarcs pycrypto pyasn1 mock
     ];
 
@@ -61,11 +45,6 @@ buildPythonPackage {
 
   postInstall = ''
     # Install the documentation.
-
-    # FIXME: Inkscape segfaults when run from here.  Setting $HOME to
-    # something writable doesn't help; providing $FONTCONFIG_FILE doesn't
-    # help either.  So we just don't run `make' under `docs/'.
-
     mkdir -p "$out/share/doc/${name}"
     cp -rv "docs/"* "$out/share/doc/${name}"
     find "$out/share/doc/${name}" -name Makefile -exec rm -v {} \;
@@ -88,7 +67,7 @@ buildPythonPackage {
 
     homepage = http://allmydata.org/;
 
-    license = [ "GPLv2+" /* or */ "TGPPLv1+" ];
+    # TODO license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
 
     maintainers = [ lib.maintainers.simons  ];
     platforms = lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix
index 4b111475e69..40d57cd65b6 100644
--- a/pkgs/tools/networking/pdnsd/default.nix
+++ b/pkgs/tools/networking/pdnsd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pdnsd-1.2.8-par";
+  name = "pdnsd-1.2.9a-par";
 
   src = fetchurl {
-    url = http://www.phys.uu.nl/~rombouts/pdnsd/releases/pdnsd-1.2.8-par.tar.gz;
-    sha256 = "0ki4xkklc5lqs2qfmww63dc2zax48x8acfw661206ps4kvhasg2z";
+    url = http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par.tar.gz;
+    sha256 = "0yragv5zk77a1hfkpnsh17vvsw8b14d6mzfng4bb7i58rb83an5v";
   };
 
   patchPhase = ''
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   meta = { 
     description = "Permanent DNS caching";
     homepage = http://www.phys.uu.nl/~rombouts/pdnsd.html;
-    license = "GPLv3+";
-    platforms = with stdenv.lib.platforms; linux;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix
index 80fc075107c..fa3fc4472f3 100644
--- a/pkgs/tools/networking/pdsh/default.nix
+++ b/pkgs/tools/networking/pdsh/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl, perl, readline, rsh, ssh, pam}:
 
 let
-  name = "pdsh-2.26";
+  name = "pdsh-2.29";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://pdsh.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "ada2f35509064bf9cd0fd5ca39a351108cdd6f5155b05f39f1711a271298469a";
+    sha256 = "1kvzz01fyaxfqmbh53f4ljfsgvxdykh5jyr6fh4f1bw2ywxr1w2p";
   };
 
   buildInputs = [perl readline ssh pam];
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://code.google.com/p/pdsh/";
     description = "High-performance, parallel remote shell utility";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Pdsh is a high-performance, parallel remote shell utility. It has
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
       while timeouts occur on some connections.
     '';
 
-    platforms = stdenv.lib.platforms.unix;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/tools/networking/plasma-nm/default.nix b/pkgs/tools/networking/plasma-nm/default.nix
new file mode 100644
index 00000000000..42c5ab3973a
--- /dev/null
+++ b/pkgs/tools/networking/plasma-nm/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, cmake, gettext, kdelibs, networkmanager, libnm-qt }:
+
+let
+  pname = "plasma-nm";
+  version = "0.9.3.3";
+  name = "${pname}-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/${pname}/${name}.tar.xz";
+    sha256 = "099cbe86eb989c4fda8cdcc0f8721dc3350cc6735c3f50bcdd94661e5930e326";
+  };
+
+  buildInputs = [
+    cmake
+    pkgconfig
+    gettext
+    kdelibs
+    networkmanager
+    libnm-qt
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://projects.kde.org/projects/kde/workspace/plasma-nm";
+    description = "Plasma applet written in QML for managing network connections";
+    license = licenses.lgpl21;
+    inherit (kdelibs.meta) platforms;
+    maintainers = [ maintainers.jgeerds ];
+  };
+}
diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix
index 8af67aed1d4..c6a57c238a4 100644
--- a/pkgs/tools/networking/privoxy/default.nix
+++ b/pkgs/tools/networking/privoxy/default.nix
@@ -1,19 +1,20 @@
-{stdenv, fetchurl, autoconf, automake, zlib, pcre, w3m}:
+{ stdenv, fetchurl, autoreconfHook, zlib, pcre, w3m, man }:
 
 stdenv.mkDerivation {
-  name = "privoxy-3.0.12";
+  name = "privoxy-3.0.21";
 
   src = fetchurl {
-    url = mirror://sourceforge/ijbswa/Sources/3.0.12%20%28stable%29/privoxy-3.0.12-stable-src.tar.gz;
-    sha256 = "16ngim1p4pb4zk8h7js4zjw280fxqxamasfngixikp2ivmzxl469";
+    url = mirror://sourceforge/ijbswa/Sources/3.0.21%20%28stable%29/privoxy-3.0.21-stable-src.tar.gz;
+    sha256 = "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy";
   };
 
-  buildInputs = [automake autoconf zlib pcre w3m];
+  buildInputs = [ autoreconfHook zlib pcre w3m man ];
 
-  patches = [./disable-user-error.patch];
-
-  preConfigure = ''
-    autoheader
-    autoconf
-  '';
+  meta = with stdenv.lib; {
+    homepage = http://www.privoxy.org/;
+    description = "Non-caching web proxy with advanced filtering capabilities";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.phreedom ];
+  };
 }
diff --git a/pkgs/tools/networking/privoxy/disable-user-error.patch b/pkgs/tools/networking/privoxy/disable-user-error.patch
deleted file mode 100644
index c2576409c6d..00000000000
--- a/pkgs/tools/networking/privoxy/disable-user-error.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -rc privoxy-3.0.12-stable/configure.in privoxy-3.0.12-stable-new/configure.in
-*** privoxy-3.0.12-stable/configure.in	2009-03-21 11:45:06.000000000 +0100
---- privoxy-3.0.12-stable-new/configure.in	2009-10-05 15:39:53.683884809 +0200
-***************
-*** 652,659 ****
-  AC_PROG_AWK
-  
-  AC_CHECK_PROG(GDB,gdb,yes,no)
-! AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
-! AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
-  AC_SUBST(ID)
-  AC_SUBST(BGROUPS)
-  
---- 652,659 ----
-  AC_PROG_AWK
-  
-  AC_CHECK_PROG(GDB,gdb,yes,no)
-! AC_PATH_PROG(BGROUPS,groups,no,$PATH)
-! AC_PATH_PROG(ID,id,no,$PATH)
-  AC_SUBST(ID)
-  AC_SUBST(BGROUPS)
-  
-***************
-*** 715,721 ****
-                      if test $? -eq 0 ; then
-                        USER=$with_user;
-                      else
-!                       AC_MSG_ERROR(There is no user '$with_user' on this system)
-                      fi
-                    fi
-                    else
---- 715,721 ----
-                      if test $? -eq 0 ; then
-                        USER=$with_user;
-                      else
-!                       AC_MSG_WARN(There is no user '$with_user' on this system)
-                      fi
-                    fi
-                    else
-***************
-*** 747,758 ****
-                      # FIXME: this fails if valid group, but not first group
-                      # listed.
-                        if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
-!                         AC_MSG_ERROR(The given value '$withval' does not match group entry)
-                        else
-                          GROUP=$with_group;
-                        fi
-                      else
-!                       AC_MSG_ERROR(There is no group entry for user '$USER')
-                      fi
-                    fi
-                  else
---- 747,758 ----
-                      # FIXME: this fails if valid group, but not first group
-                      # listed.
-                        if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
-!                         AC_MSG_WARN(The given value '$withval' does not match group entry)
-                        else
-                          GROUP=$with_group;
-                        fi
-                      else
-!                       AC_MSG_WARN(There is no group entry for user '$USER')
-                      fi
-                    fi
-                  else
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index 6778cf94907..2835c9016ab 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -10,6 +10,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Proxifier for SOCKS proxies";
     homepage = http://proxychains.sourceforge.net;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/pwnat/default.nix b/pkgs/tools/networking/pwnat/default.nix
index 63919edd505..e2da224cfdc 100644
--- a/pkgs/tools/networking/pwnat/default.nix
+++ b/pkgs/tools/networking/pwnat/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://samy.pl/pwnat/;
     description = "ICMP NAT to NAT client-server communication";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/networking/reaver-wps/default.nix b/pkgs/tools/networking/reaver-wps/default.nix
index a057985b48c..afce95fbd44 100644
--- a/pkgs/tools/networking/reaver-wps/default.nix
+++ b/pkgs/tools/networking/reaver-wps/default.nix
@@ -15,12 +15,12 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
   '';
 
   meta = {
     description = "Brute force attack against Wifi Protected Setup";
     homepage = http://code.google.com/p/reaver-wps;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/rp-pppoe/default.nix b/pkgs/tools/networking/rp-pppoe/default.nix
index 5079b951a64..fe7f9810026 100644
--- a/pkgs/tools/networking/rp-pppoe/default.nix
+++ b/pkgs/tools/networking/rp-pppoe/default.nix
@@ -2,7 +2,7 @@ a :
 let 
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "3.10" a; 
+  version = a.lib.attrByPath ["version"] "3.11" a;
   buildInputs = with a; [
     ppp   
   ];
@@ -10,7 +10,7 @@ in
 rec {
   src = fetchurl {
     url = "http://www.roaringpenguin.com/files/download/rp-pppoe-${version}.tar.gz";
-    sha256 = "1xj9rvsblvv2zi4n1bj8mkk00p1b24ch5hlr1gcc3b4l4m0ag73h";
+    sha256 = "083pfjsb8w7afqgygbvgndwajgwkfmcnqla5vnk4z9yf5zcs98c6";
   };
 
   inherit buildInputs;
diff --git a/pkgs/tools/networking/s3cmd/git.nix b/pkgs/tools/networking/s3cmd/git.nix
new file mode 100644
index 00000000000..6193137c8d4
--- /dev/null
+++ b/pkgs/tools/networking/s3cmd/git.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchgit, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "s3cmd-1.5-pre-81e3842f7a";
+
+  src  = fetchgit {
+    url    = "https://github.com/s3tools/s3cmd.git";
+    rev    = "81e3842f7afbc8c629f408f4d7dc22058f7bd536";
+    sha256 = "13jqw19ws5my8r856j1p7xydwpyp8agnzxkjv6pa7h72wl7rz90i";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ dateutil ];
+
+  meta = with stdenv.lib;  {
+    description = "Command line tool for managing Amazon S3 and CloudFront services";
+    homepage    = http://s3tools.org/s3cmd;
+    license     = licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/networking/s3sync/default.nix b/pkgs/tools/networking/s3sync/default.nix
index 48788d36884..8390c70a4d3 100644
--- a/pkgs/tools/networking/s3sync/default.nix
+++ b/pkgs/tools/networking/s3sync/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://s3sync.net/;
     description = "Command-line tools to manipulate Amazon S3 buckets";
-    license = "free-non-copyleft";
+    license = "free-non-copyleft"; # some custom as-is in file headers
   };
 }
diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix
index ebbfcb5d360..c88557262b2 100644
--- a/pkgs/tools/networking/siege/default.nix
+++ b/pkgs/tools/networking/siege/default.nix
@@ -1,51 +1,21 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, openssl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="siege";
-    version="2.70";
-    name="${baseName}-${version}";
-    url="ftp://ftp.joedog.org/pub/siege/${name}.tar.gz";
-    hash="14fxfmfsqwyahc91w4vn3n8hvclf78n4k1xllqsrpvjb5asvrd1w";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  name = "siege-3.0.6";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "http://www.joedog.org/pub/siege/${name}.tar.gz";
+    sha256 = "0nwcj2s804z7yd20pa0cl010m0qgf22a02305i9jwxynwdj9kdvq";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "createDirs" "doMakeInstall"];
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
-  createDirs = a.fullDepEntry ''
-    mkdir -p "$out/"{bin,lib,share/man,etc}
-  '' ["defEnsureDir"];
+  configureFlags = [ "--with-ssl=${openssl}" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "HTTP load tester";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl2Plus;
+    maintainers = with maintainers; [ ocharles raskin ];
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.joedog.org/index/siege-home";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/tools/networking/smbldaptools/default.nix b/pkgs/tools/networking/smbldaptools/default.nix
index 962799117a0..af1849565fe 100644
--- a/pkgs/tools/networking/smbldaptools/default.nix
+++ b/pkgs/tools/networking/smbldaptools/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, perl, NetLDAP, makeWrapper, CryptSmbHash, DigestSHA1}:
 
 let
-  version = "0.9.7";
+  version = "0.9.10";
 in
 stdenv.mkDerivation {
   name = "smbldap-tools-${version}";
   src = fetchurl {
     url = "http://download.gna.org/smbldap-tools/sources/${version}/smbldap-tools-${version}.tar.gz";
-    sha256 = "0y1k2j5qjxy66yvl36adbp9m1brapiz9ycaisdyy6093xvw1nh7j";
+    sha256 = "19hsvslfs61pk9nhyqdkd68gc95z26kpkmsj10b8zvzlhqmwdvy4";
   };
 
   buildInputs = [ perl NetLDAP makeWrapper CryptSmbHash DigestSHA1 ];
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://gna.org/projects/smbldap-tools/;
     description = "SAMBA LDAP tools";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/snx/default.nix b/pkgs/tools/networking/snx/default.nix
index 7a73314d0e3..b4cdd0d0b99 100644
--- a/pkgs/tools/networking/snx/default.nix
+++ b/pkgs/tools/networking/snx/default.nix
@@ -33,8 +33,5 @@ stdenv.mkDerivation rec {
     homepage = "https://www.checkpoint.com/";
     description = "Check Point SSL Network Extender";
     license = "unknown";
-
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/tools/networking/socat/2.0.0-b3.nix b/pkgs/tools/networking/socat/2.0.0-b3.nix
deleted file mode 100644
index 6567e5dfcc4..00000000000
--- a/pkgs/tools/networking/socat/2.0.0-b3.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args; 
-let 
-  version = "2.0.0-b3"; 
-  patches = [];
-in
-rec {
-  src = /* Here a fetchurl expression goes */
-        fetchurl {
-            url = http://www.dest-unreach.org/socat/download/socat-2.0.0-b3.tar.bz2;
-            sha256 = "0p4v8m898dzcardsw02xdda3y3b1rky7v956rm27x43783w5qmsx";
-        };
-
-  buildInputs = [openssl];
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
-      
-  name = "socat-" + version;
-  meta = {
-    description = "Socat - a different replacement for netcat";
-    longDesc = "
-        Socat, one more analogue of netcat, but not mimicking it.
-	'netcat++' (extended design, new implementation)
-";
-        homepage = "http://www.dest-unreach.org/socat/";
-	srcs = patches;
-  };
-}
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
new file mode 100644
index 00000000000..fbd24946381
--- /dev/null
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "socat-2.0.0-b7";
+
+  src = fetchurl {
+    url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
+    sha256 = "0h6k9ccrnziw03j0if7myrd28vcc97nwz1bifmbrkp5jkpk69ygk";
+  };
+
+  buildInputs = [ openssl ];
+
+  configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ip6";
+
+  meta = {
+    description = "A utility for bidirectional data transfer between two independent data channels";
+    homepage = http://www.dest-unreach.org/socat/;
+    repositories.git = git://repo.or.cz/socat.git;
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = stdenv.lib.maintainers.eelco;
+  };
+}
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 727bbe08605..84ba2106a26 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "socat-1.7.2.1";
+  name = "socat-1.7.2.4";
 
   src = fetchurl {
     url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
-    sha256 = "0xw2qmmixv7jwsrgx2vy54bq695d6my3pm3z4dcpmf9vqvb2xsps";
+    sha256 = "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb";
   };
 
   buildInputs = [ openssl ];
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A utility for bidirectional data transfer between two independent data channels";
     homepage = http://www.dest-unreach.org/socat/;
-    platforms = stdenv.lib.platforms.linux;
+    repositories.git = git://repo.or.cz/socat.git;
+    platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
     maintainers = stdenv.lib.maintainers.eelco;
   };
diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix
index 15ca99f47e9..f655639ceaf 100644
--- a/pkgs/tools/networking/speedtest-cli/default.nix
+++ b/pkgs/tools/networking/speedtest-cli/default.nix
@@ -1,21 +1,14 @@
-{ stdenv, fetchgit, pythonPackages }:
+{ stdenv, fetchurl, pythonPackages }:
 
-stdenv.mkDerivation rec {
-  name = "speedtest-cli-dev";
+pythonPackages.buildPythonPackage rec {
+  name = "speedtest-cli-${version}";
+  version = "0.3.1";
   
-  src = fetchgit {
-    url = "https://github.com/sivel/speedtest-cli.git";
-    rev = "fe0940c5744ebe74ca31ad44e6b181d82a89edab";
-    sha256 = "0iywcmgqi58bhldcf8qn1nr7mihypi5fp9s13d4vqc7797xvb28k";
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/s/speedtest-cli/speedtest-cli-${version}.tar.gz";
+    sha256 = "0ln2grbskh39ph79lhcim2axm7hp4xhzbrag8xfqbfihq7jdm6ya";
   };
 
-  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";
diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix
new file mode 100644
index 00000000000..ac2736ffb19
--- /dev/null
+++ b/pkgs/tools/networking/spiped/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, openssl, coreutils }:
+
+stdenv.mkDerivation rec {
+  name    = "spiped-${version}";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url    = "http://www.tarsnap.com/spiped/${name}.tgz";
+    sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a";
+  };
+
+  buildInputs = [ openssl ];
+  patches = [ ./no-dev-stderr.patch ];
+
+  postPatch = ''
+    substituteInPlace POSIX/posix-l.sh --replace "rm" "${coreutils}/bin/rm"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    make install BINDIR=$out/bin MAN1DIR=$out/share/man/man1
+  '';
+
+  meta = {
+    description = "utility for secure encrypted channels between sockets";
+    homepage    = "https://www.tarsnap.com/spiped.html";
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/networking/spiped/no-dev-stderr.patch b/pkgs/tools/networking/spiped/no-dev-stderr.patch
new file mode 100644
index 00000000000..742a2e483d4
--- /dev/null
+++ b/pkgs/tools/networking/spiped/no-dev-stderr.patch
@@ -0,0 +1,26 @@
+From 7a2bbb0d0098d7a33ad3794d0199879ad50e755a Mon Sep 17 00:00:00 2001
+From: Austin Seipp <aseipp@pobox.com>
+Date: Tue, 8 Apr 2014 06:21:41 -0500
+Subject: [PATCH] Remove use of /dev/stderr
+
+Signed-off-by: Austin Seipp <aseipp@pobox.com>
+---
+ POSIX/posix-l.sh | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/POSIX/posix-l.sh b/POSIX/posix-l.sh
+index b3f0e31..71d6fe8 100755
+--- a/POSIX/posix-l.sh
++++ b/POSIX/posix-l.sh
+@@ -7,8 +7,6 @@ for LIB in rt xnet; do
+ 		fi
+ 		printf "%s" "-l${LIB}";
+ 		FIRST=NO;
+-	else
+-		echo "WARNING: POSIX violation: make's CC doesn't understand -l${LIB}" >/dev/stderr
+ 	fi
+ 	rm -f a.out
+ done
+-- 
+1.8.3.2
+
diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix
new file mode 100644
index 00000000000..fa3221a7759
--- /dev/null
+++ b/pkgs/tools/networking/sproxy-web/default.nix
@@ -0,0 +1,26 @@
+{ cabal, aeson, blazeHtml, blazeMarkup, configurator, hflags
+, httpTypes, mtl, postgresqlSimple, resourcePool, scotty, text
+, waiExtra, waiMiddlewareStatic, fetchurl
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sproxy-web";
+  version = "0.1.0.2";
+  src = fetchurl {
+    url = "https://github.com/zalora/sproxy-web/archive/0.1.0.2.tar.gz";
+    sha256 = "1rdzglvsas0rdgq3j5c9ll411yk168x7v3l7w8zdjgafa947j4d4";
+  };
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    aeson blazeHtml blazeMarkup configurator hflags httpTypes mtl
+    postgresqlSimple resourcePool scotty text waiExtra
+    waiMiddlewareStatic
+  ];
+  meta = {
+    homepage = "http://bitbucket.org/zalorasea/sproxy-web";
+    description = "Web interface to sproxy";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/networking/sproxy/default.nix b/pkgs/tools/networking/sproxy/default.nix
new file mode 100644
index 00000000000..10ec9b40cd4
--- /dev/null
+++ b/pkgs/tools/networking/sproxy/default.nix
@@ -0,0 +1,39 @@
+{ cabal, aeson, attoparsec, caseInsensitive, certificate
+, concurrentExtra, conduit, connection, cryptoRandom, curl
+, dataDefault, hslogger, hspec, httpConduit, httpKit, httpTypes
+, interpolatedstringPerl6, mtl, network, optparseApplicative
+, postgresqlSimple, safe, SHA, split, stringConversions, time, tls
+, unorderedContainers, utf8String, wai, warp, x509, yaml, fetchurl
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sproxy";
+  version = "0.8.0";
+  src = fetchurl {
+    url = "https://github.com/zalora/sproxy/archive/0.8.0.tar.gz";
+    sha256 = "11xn4k509ck73pacyz2kh0924n2vy8rwakwd42dwbvhhysf47rdx";
+  };
+  isLibrary = false;
+  isExecutable = true;
+  patches = [ ./new-http-kit.patch ];
+  doCheck = false;
+  buildDepends = [
+    aeson attoparsec caseInsensitive certificate concurrentExtra
+    cryptoRandom curl dataDefault hslogger httpKit httpTypes
+    interpolatedstringPerl6 mtl network optparseApplicative
+    postgresqlSimple safe SHA split stringConversions time tls
+    unorderedContainers utf8String x509 yaml
+  ];
+  testDepends = [
+    aeson attoparsec caseInsensitive certificate concurrentExtra
+    conduit connection cryptoRandom curl dataDefault hslogger hspec
+    httpConduit httpKit httpTypes interpolatedstringPerl6 mtl network
+    optparseApplicative postgresqlSimple safe SHA split
+    stringConversions time tls unorderedContainers utf8String wai warp
+    x509 yaml
+  ];
+  meta = {
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/networking/sproxy/new-http-kit.patch b/pkgs/tools/networking/sproxy/new-http-kit.patch
new file mode 100644
index 00000000000..c15c3f3989a
--- /dev/null
+++ b/pkgs/tools/networking/sproxy/new-http-kit.patch
@@ -0,0 +1,224 @@
+From 383d2cbe240600a86ab99fdefcea4e913d171ec6 Mon Sep 17 00:00:00 2001
+From: Simon Hengel <sol@typeful.net>
+Date: Thu, 24 Apr 2014 22:51:02 +0800
+Subject: [PATCH] Depend on http-kit >= 0.2
+
+---
+ sproxy.cabal        |  2 +-
+ src/Authenticate.hs | 17 ++++++++---------
+ src/HTTP.hs         | 47 +++++++++--------------------------------------
+ src/Proxy.hs        | 32 ++++++++++++++------------------
+ 4 files changed, 32 insertions(+), 66 deletions(-)
+
+diff --git a/sproxy.cabal b/sproxy.cabal
+index 08e1d61..91adf5d 100644
+--- a/sproxy.cabal
++++ b/sproxy.cabal
+@@ -49,7 +49,7 @@ executable sproxy
+                        unix,
+                        utf8-string,
+                        x509,
+-                       http-kit,
++                       http-kit >= 0.2,
+                        yaml >= 0.8
+   default-language:    Haskell2010
+   ghc-options:         -Wall -threaded -O2
+diff --git a/src/Authenticate.hs b/src/Authenticate.hs
+index 7d4c218..15a69a9 100644
+--- a/src/Authenticate.hs
++++ b/src/Authenticate.hs
+@@ -30,8 +30,7 @@ import           System.Posix.Types (EpochTime)
+ import           System.Posix.Time (epochTime)
+ import           Data.Digest.Pure.SHA (hmacSha1, showDigest)
+ 
+-import           Network.HTTP.Toolkit.Header
+-import           Network.HTTP.Toolkit.Request
++import           Network.HTTP.Toolkit
+ 
+ import           Type
+ import           Cookies
+@@ -90,19 +89,19 @@ instance FromJSON UserInfo where
+ 
+ -- https://wiki.zalora.com/Main_Page -> https://wiki.zalora.com/
+ -- Note that this always uses https:
+-rootURI :: RequestHeader -> URI.URI
+-rootURI (MessageHeader _ headers) =
++rootURI :: Request a -> URI.URI
++rootURI (Request _ _ headers _) =
+   let host = cs $ fromMaybe (error "Host header not found") $ lookup "Host" headers
+   in URI.URI "https:" (Just $ URI.URIAuth "" host "") "/" "" ""
+ 
+-redirectForAuth :: AuthConfig -> RequestHeader -> SendData -> IO ()
+-redirectForAuth c request@(MessageHeader (_, path_) _) send = do
++redirectForAuth :: AuthConfig -> Request a -> SendData -> IO ()
++redirectForAuth c request@(Request _ path_ _ _) send = do
+   let redirectUri = rootURI request
+       path = urlEncode True path_
+       authURL = "https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&state=" ++ cs path ++ "&redirect_uri=" ++ (cs $ show $ redirectUri) ++ "&response_type=code&client_id=" ++ authConfigClientID c ++ "&approval_prompt=force&access_type=offline"
+-  sendResponse send found302 [("Location", UTF8.fromString $ authURL)] ""
++  sendResponse_ send found302 [("Location", UTF8.fromString $ authURL)] ""
+ 
+-authenticate :: AuthConfig -> SendData -> RequestHeader -> ByteString -> ByteString -> IO ()
++authenticate :: AuthConfig -> SendData -> Request a -> ByteString -> ByteString -> IO ()
+ authenticate config send request path code = do
+   tokenRes <- post "https://accounts.google.com/o/oauth2/token" ["code=" ++ UTF8.toString code, "client_id=" ++ clientID, "client_secret=" ++ clientSecret, "redirect_uri=" ++ (cs $ show $ rootURI request), "grant_type=authorization_code"]
+   case tokenRes of
+@@ -121,7 +120,7 @@ authenticate config send request path code = do
+                 Just userInfo -> do
+                   clientToken <- authToken authTokenKey (userEmail userInfo) (userGivenName userInfo, userFamilyName userInfo)
+                   let cookie = setCookie cookieDomain cookieName (show clientToken) authShelfLife
+-                  sendResponse send found302 [("Location", cs $ (show $ (rootURI request) {URI.uriPath = ""}) ++ cs (urlDecode False path)), ("Set-Cookie", UTF8.fromString cookie)] ""
++                  sendResponse_ send found302 [("Location", cs $ (show $ (rootURI request) {URI.uriPath = ""}) ++ cs (urlDecode False path)), ("Set-Cookie", UTF8.fromString cookie)] ""
+   where
+     cookieDomain = authConfigCookieDomain config
+     cookieName = authConfigCookieName config
+diff --git a/src/HTTP.hs b/src/HTTP.hs
+index 07038a0..dbcae71 100644
+--- a/src/HTTP.hs
++++ b/src/HTTP.hs
+@@ -1,19 +1,14 @@
+ {-# LANGUAGE OverloadedStrings #-}
+ module HTTP (
+-  sendRequest
+-, sendResponse
+-, sendResponse_
++  sendResponse_
+ , internalServerError
+ ) where
+ 
+-import           Data.Foldable (forM_)
+ import           Data.ByteString (ByteString)
+-import qualified Data.ByteString as B
+-import qualified Data.ByteString.Char8 as B8
+-import qualified Data.ByteString.UTF8 as UTF8
+-import qualified Data.CaseInsensitive as CI
++import qualified Data.ByteString.Char8 as B
+ import           Network.HTTP.Types
+-import           Network.HTTP.Toolkit.Body
++import           Network.HTTP.Toolkit
++import qualified Network.HTTP.Toolkit.Body as Body
+ 
+ import           Type
+ import qualified Log
+@@ -21,34 +16,10 @@ import qualified Log
+ internalServerError :: SendData -> String -> IO ()
+ internalServerError send err = do
+   Log.debug $ show err
+-  sendResponse send internalServerError500 [] "Internal Server Error"
++  sendResponse_ send internalServerError500 [] "Internal Server Error"
+ 
+-sendRequest :: SendData -> Method -> ByteString -> [Header] -> BodyReader -> IO ()
+-sendRequest send method path headers body = do
+-  sendHeader send startLine headers
+-  sendBody send body
++sendResponse_ :: SendData -> Status -> [Header] -> ByteString -> IO ()
++sendResponse_ send status headers_ body = do
++  Body.fromByteString body >>= sendResponse send . Response status headers
+   where
+-    startLine = B8.unwords [method, path, "HTTP/1.1"]
+-
+-sendResponse :: SendData -> Status -> [Header] -> ByteString -> IO ()
+-sendResponse send status headers_ body = do
+-  sendHeader send (statusLine status) headers
+-  send body
+-  where
+-    headers = ("Content-Length", UTF8.fromString $ show $ B.length body) : headers_
+-
+-sendResponse_ :: SendData -> Status -> [Header] -> BodyReader -> IO ()
+-sendResponse_ send status headers body = do
+-  sendHeader send (statusLine status) headers
+-  sendBody send body
+-
+-statusLine :: Status -> ByteString
+-statusLine status = B.concat ["HTTP/1.1 ", UTF8.fromString $ show (statusCode status), " ", statusMessage status]
+-
+-sendHeader :: SendData -> ByteString -> [Header] -> IO ()
+-sendHeader send startLine headers = do
+-  send startLine
+-  send "\r\n"
+-  forM_ headers $ \(k, v) -> do
+-    send $ B.concat [CI.original k, ": ", v, "\r\n"]
+-  send "\r\n"
++    headers = ("Content-Length", B.pack . show . B.length $ body) : headers_
+diff --git a/src/Proxy.hs b/src/Proxy.hs
+index aa320af..88b95d9 100644
+--- a/src/Proxy.hs
++++ b/src/Proxy.hs
+@@ -32,11 +32,7 @@ import qualified Network.URI as URI
+ import Options.Applicative hiding (action)
+ import System.IO
+ 
+-import Network.HTTP.Toolkit.Body
+-import Network.HTTP.Toolkit.Header
+-import Network.HTTP.Toolkit.Connection
+-import Network.HTTP.Toolkit.Request
+-import Network.HTTP.Toolkit.Response
++import Network.HTTP.Toolkit
+ 
+ import Type
+ import Util
+@@ -142,10 +138,10 @@ runProxy port config authConfig authorize = (listen port (serve config authConfi
+ redirectToHttps :: SockAddr -> Socket -> IO ()
+ redirectToHttps _ sock = do
+   conn <- makeConnection (Socket.recv sock 4096)
+-  (request, _) <- readRequest conn
+-  sendResponse (Socket.sendAll sock) seeOther303 [("Location", cs $ show $ requestURI request)] ""
++  request <- readRequest conn
++  sendResponse_ (Socket.sendAll sock) seeOther303 [("Location", cs $ show $ requestURI request)] ""
+   where
+-    requestURI (MessageHeader (_, path) headers) =
++    requestURI (Request _ path headers _) =
+       let host = fromMaybe (error "Host header not found") $ lookup "Host" headers
+       in fromJust $ URI.parseURI $ "https://" ++ cs host ++ cs path
+ 
+@@ -171,8 +167,8 @@ serve config authConfig withAuthorizeAction addr sock = do
+     serve_ send conn authorize = go
+       where
+         go :: IO ()
+-        go = forever $ readRequest conn >>= \(request, body) -> case request of
+-          MessageHeader (_, url) headers -> do
++        go = forever $ readRequest conn >>= \request -> case request of
++          Request _ url headers _ -> do
+             -- TODO: Don't loop for more input on Connection: close header.
+             -- Check if this is an authorization response.
+             case URI.parseURIReference $ BU.toString url of
+@@ -192,17 +188,17 @@ serve config authConfig withAuthorizeAction addr sock = do
+                         case auth of
+                           Nothing -> redirectForAuth authConfig request send
+                           Just token -> do
+-                            forwardRequest config send authorize cookies addr request body token
++                            forwardRequest config send authorize cookies addr request token
+ 
+ -- Check our access control list for this user's request and forward it to the backend if allowed.
+-forwardRequest :: Config -> SendData -> AuthorizeAction -> [(Name, Cookies.Value)] -> SockAddr -> RequestHeader -> BodyReader -> AuthToken -> IO ()
+-forwardRequest config send authorize cookies addr (MessageHeader (method, path) headers) body token = do
++forwardRequest :: Config -> SendData -> AuthorizeAction -> [(Name, Cookies.Value)] -> SockAddr -> Request BodyReader -> AuthToken -> IO ()
++forwardRequest config send authorize cookies addr request@(Request method path headers _) token = do
+     groups <- authorize (authEmail token) (maybe (error "No Host") cs $ lookup "Host" headers) path method
+     ip <- formatSockAddr addr
+     case groups of
+         [] -> do
+             -- TODO: Send back a page that allows the user to request authorization.
+-            sendResponse send forbidden403 [] "Access Denied"
++            sendResponse_ send forbidden403 [] "Access Denied"
+         _ -> do
+             -- TODO: Reuse connections to the backend server.
+             let downStreamHeaders =
+@@ -216,10 +212,10 @@ forwardRequest config send authorize cookies addr (MessageHeader (method, path)
+                     setCookies $
+                     fromList headers
+             bracket (connectTo host port) hClose $ \h -> do
+-              sendRequest (B.hPutStr h) method path downStreamHeaders body
+-              conn <- makeConnection (B.hGetSome h 4096)
+-              (MessageHeader status responseHeaders, responseBody) <- readResponse method conn
+-              sendResponse_ send status (removeConnectionHeader responseHeaders) responseBody
++              sendRequest (B.hPutStr h) request{requestHeaders = downStreamHeaders}
++              conn <- connectionFromHandle h
++              response <- readResponse method conn
++              sendResponse send response{responseHeaders = removeConnectionHeader (responseHeaders response)}
+   where
+     host = configBackendAddress config
+     port = PortNumber (configBackendPort config)
+-- 
+1.9.1
+
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index cb93e8a504b..15bd74ea387 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, openssl }:
 
-stdenv.mkDerivation {
-  name = "stunnel-4.56";
-  
+stdenv.mkDerivation rec {
+  name    = "stunnel-${version}";
+  version = "5.03";
+
   src = fetchurl {
-    url = http://www.stunnel.org/downloads/stunnel-4.56.tar.gz;
-    sha256 = "14qjhwfa0y17ipnd5mc970vfmralvgaxfl6fk0rl91vdwbxjrblw";
+    url    = "http://www.stunnel.org/downloads/${name}.tar.gz";
+    sha256 = "00yx7r46rad3yhdqfwk4grqs87wc6fiq055i91pnwxgscsa3c7ls";
   };
 
-  buildInputs = [openssl];
+  buildInputs = [ openssl ];
+  configureFlags = [ "--with-ssl=${openssl}" ];
 
-  configureFlags = [
-    "--with-ssl=${openssl}"
-  ];
-  
   meta = {
-    description = "Stunnel - Universal SSL wrapper";
-    homepage = http://www.stunnel.org/;
-    license = "GPLv2";
+    description = "universal tls/ssl wrapper";
+    homepage    = "http://www.stunnel.org/";
+    license     = stdenv.lib.licenses.gpl2Plus;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix
index bd3a1135a84..401e252a294 100644
--- a/pkgs/tools/networking/surfraw/default.nix
+++ b/pkgs/tools/networking/surfraw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "surfraw-2.2.8";
+  name = "surfraw-2.2.9";
 
   src = fetchurl {
-    url = "http://surfraw.alioth.debian.org/dist/surfraw-2.2.8.tar.gz";
-    sha256 = "925075e05637e39458b00e859193aacde306aafd9a962f44f5114f81713539ec";
+    url = "http://surfraw.alioth.debian.org/dist/surfraw-2.2.9.tar.gz";
+    sha256 = "1fy4ph5h9kp0jzj1m6pfylxnnmgdk0mmdppw76z9jhna4jndk5xa";
   };
 
   configureFlags = [
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     description = "Provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power";
     homepage = "http://surfraw.alioth.debian.org";
     maintainers = [];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/swec/default.nix b/pkgs/tools/networking/swec/default.nix
index bf0c2f80694..3e8f3ca3dc5 100644
--- a/pkgs/tools/networking/swec/default.nix
+++ b/pkgs/tools/networking/swec/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
          (well, not exactly true, SWEC will ignore robots.txt).
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index f987d6fa6ba..2e27c2b2dc3 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpcap, enableStatic ? false }:
 
 stdenv.mkDerivation rec {
-  name = "tcpdump-4.4.0";
+  name = "tcpdump-4.5.1";
 
   src = fetchurl {
     url = "http://www.tcpdump.org/release/${name}.tar.gz";
-    sha256 = "1g9h2p31xwpdg88v7wv9hc8calq8sjs25800vzd9i45q5knln9qj";
+    sha256 = "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql";
   };
 
   buildInputs = [ libpcap ];
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     description = "tcpdump, a famous network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/tools/networking/tcpflow/default.nix b/pkgs/tools/networking/tcpflow/default.nix
new file mode 100644
index 00000000000..9c5f6f44ae0
--- /dev/null
+++ b/pkgs/tools/networking/tcpflow/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, openssl, zlib, libpcap, boost, cairo}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="tcpflow";
+    version="1.4.4";
+    name="${baseName}-${version}";
+    hash="0k2lxlvn1x8avkrijc22scrj4p2g5agfskbgfc2d0w9zgrg61xdn";
+    url="http://www.digitalcorpora.org/downloads/tcpflow/tcpflow-1.4.4.tar.gz";
+    sha256="0k2lxlvn1x8avkrijc22scrj4p2g5agfskbgfc2d0w9zgrg61xdn";
+  };
+  buildInputs = [
+    openssl zlib libpcap boost cairo
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''TCP stream extractor'';
+    license = stdenv.lib.licenses.gpl3 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/tcpflow/default.upstream b/pkgs/tools/networking/tcpflow/default.upstream
new file mode 100644
index 00000000000..72802e4d046
--- /dev/null
+++ b/pkgs/tools/networking/tcpflow/default.upstream
@@ -0,0 +1 @@
+url http://www.digitalcorpora.org/downloads/tcpflow/
diff --git a/pkgs/tools/networking/telnet/default.nix b/pkgs/tools/networking/telnet/default.nix
index c0dbf710ffb..9827b62c6c4 100644
--- a/pkgs/tools/networking/telnet/default.nix
+++ b/pkgs/tools/networking/telnet/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation {
   name = "telnet-1.2";
 
   src = fetchurl {
-    url = ftp://ftp.suse.com/pub/people/kukuk/ipv6/telnet-bsd-1.2.tar.bz2;
+    #url = ftp://ftp.suse.com/pub/people/kukuk/ipv6/telnet-bsd-1.2.tar.bz2; # broken
+    url = mirror://gentoo/distfiles/telnet-bsd-1.2.tar.bz2;
     sha256 = "0cs7ks22dhcn5qfjv2vl6ikhw93x68gg33zdn5f5cxgg81kx5afn";
   };
 
diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix
index c2b25e863f2..f1f8801358c 100644
--- a/pkgs/tools/networking/tinc/default.nix
+++ b/pkgs/tools/networking/tinc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, lzo, openssl, zlib}:
 
 stdenv.mkDerivation rec {
-  version = "1.0.22";
+  version = "1.0.24";
   name = "tinc-${version}";
 
   src = fetchurl {
     url = "http://www.tinc-vpn.org/packages/tinc-${version}.tar.gz";
-    sha256 = "0b2w5jic0zs8smfq2a9w99ql7lspb7jph3psmqaflw0hq4gdsfa7";
+    sha256 = "11xnz6lz917hq0zb544dvbxl0smlyjx65kv3181j4fcyygwmi3j9";
   };
 
   buildInputs = [ lzo openssl zlib ];
diff --git a/pkgs/tools/networking/ucspi-tcp/default.nix b/pkgs/tools/networking/ucspi-tcp/default.nix
new file mode 100644
index 00000000000..0bcd35b21ef
--- /dev/null
+++ b/pkgs/tools/networking/ucspi-tcp/default.nix
@@ -0,0 +1,85 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "ucspi-tcp-0.88";
+
+  src = fetchurl {
+    url = "http://cr.yp.to/ucspi-tcp/${name}.tar.gz";
+    sha256 = "171yl9kfm8w7l17dfxild99mbf877a9k5zg8yysgb1j8nz51a1ja";
+  };
+
+  # Plain upstream tarball doesn't build, get patches from Debian
+  patches = [
+    (fetchurl {
+      url = "http://ftp.de.debian.org/debian/pool/main/u/ucspi-tcp/ucspi-tcp_0.88-3.diff.gz";
+      sha256 = "0mzmhz8hjkrs0khmkzs5i0s1kgmgaqz07h493bd5jj5fm5njxln6";
+    })
+  ];
+
+  # Apply Debian patches
+  postPatch = ''
+    for fname in debian/diff/*.diff; do
+        echo "Applying patch $fname"
+        patch < "$fname"
+    done
+  '';
+
+  # The build system is weird; 'make install' doesn't install anything, instead
+  # it builds an executable called ./install (from C code) which installs
+  # binaries to the directory given on line 1 in ./conf-home.
+  #
+  # Also, assume getgroups and setgroups work, instead of doing a build time
+  # test that breaks on NixOS (I think because nixbld users lack CAP_SETGID
+  # capability).
+  preBuild = ''
+    echo "$out" > conf-home
+
+    echo "main() { return 0; }" > chkshsgr.c
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/man/man1"
+
+    # run the newly built installer
+    ./install
+
+    # Install Debian man pages (upstream has none)
+    cp debian/ucspi-tcp-man/*.1 "$out/share/man/man1"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command-line tools for building TCP client-server applications";
+    longDescription = ''
+      tcpserver waits for incoming connections and, for each connection, runs a
+      program of your choice. Your program receives environment variables
+      showing the local and remote host names, IP addresses, and port numbers.
+
+      tcpserver offers a concurrency limit to protect you from running out of
+      processes and memory. When you are handling 40 (by default) simultaneous
+      connections, tcpserver smoothly defers acceptance of new connections.
+
+      tcpserver also provides TCP access control features, similar to
+      tcp-wrappers/tcpd's hosts.allow but much faster. Its access control rules
+      are compiled into a hashed format with cdb, so it can easily deal with
+      thousands of different hosts.
+
+      This package includes a recordio tool that monitors all the input and
+      output of a server.
+
+      tcpclient makes a TCP connection and runs a program of your choice. It
+      sets up the same environment variables as tcpserver.
+
+      This package includes several sample clients built on top of tcpclient:
+      who@, date@, finger@, http@, tcpcat, and mconnect.
+
+      tcpserver and tcpclient conform to UCSPI, the UNIX Client-Server Program
+      Interface, using the TCP protocol. UCSPI tools are available for several
+      different networks.
+    '';
+    homepage = http://cr.yp.to/ucspi-tcp.html;
+    license = licenses.publicDomain;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/networking/udptunnel/default.nix b/pkgs/tools/networking/udptunnel/default.nix
index 88ee926e406..b12ce573d1c 100644
--- a/pkgs/tools/networking/udptunnel/default.nix
+++ b/pkgs/tools/networking/udptunnel/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    ensureDir $out/bin $out/share/udptunnel
+    mkdir -p $out/bin $out/share/udptunnel
     cp udptunnel $out/bin
     cp README COPYING* $out/share/udptunnel
   '';
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://code.google.com/p/udptunnel/;
     description = "Tunnels TCP over UDP packets";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index ea9719dd9b2..376717bbf7a 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -1,22 +1,23 @@
-{ stdenv, fetchurl, openssl, expat, libevent, ldns }:
+{ stdenv, fetchurl, openssl, expat, libevent }:
 
 stdenv.mkDerivation rec {
-  name = "unbound-1.4.13";
+  name = "unbound-1.4.22";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "04r379gma1ghr9zjc1fmncpw8kka4f0mpcmrzidsp264aqkxriw3";
+    sha256 = "17yjly9c00zfgbzvllqzjh668a4yk6vrinf47yrcs3hrna0m1bqw";
   };
  
-  buildInputs = [openssl expat libevent ldns];
+  buildInputs = [openssl expat libevent];
 
   configureFlags = [ "--with-ssl=${openssl}" "--with-libexpat=${expat}"
     "--localstatedir=/var" ];
 
   meta = {
     description = "Validating, recursive, and caching DNS resolver";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     homepage = http://www.unbound.net;
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = [ stdenv.lib.maintainers.emery ];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index 54390d4f9ee..1da9ca96984 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.washington.edu/imap/;
     description = "UW IMAP toolkit - IMAP-supporting software developed by the UW";
-    license = "Apache2";
+    license = stdenv.lib.licenses.asl20;
     platforms = with stdenv.lib.platforms; linux;
   };
 
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 8619cd95409..1386f7133e5 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.unix-ag.uni-kl.de/~massar/vpnc/";
     description = "virtual private network (VPN) client for Cisco's VPN concentrators";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/tools/networking/vtun/default.nix b/pkgs/tools/networking/vtun/default.nix
index 3f3a0dc8993..e32ee43113e 100644
--- a/pkgs/tools/networking/vtun/default.nix
+++ b/pkgs/tools/networking/vtun/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
   meta = { 
       description="Virtual Tunnels over TCP/IP with traffic shaping, compression and encryption";
       homepage="http://vtun.sourceforge.net/";
-      license = "GPLv2";
+      license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/networking/wakelan/default.nix b/pkgs/tools/networking/wakelan/default.nix
index 837ab3627fa..4f8717e9a11 100644
--- a/pkgs/tools/networking/wakelan/default.nix
+++ b/pkgs/tools/networking/wakelan/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
          power on.
       '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index 13c5a5d9260..e9c102817e1 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -11,10 +11,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="wavemon";
-    version="0.7.2";
+    version="0.7.5";
     name="${baseName}-${version}";
     url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2";
-    hash="1w1nq082mpjkcj7q6qs80104vki9kddwqv1wch6nmwwh0l72dgma";
+    hash="0b1fx00aar2fsw49a10w5bpiyjpz8h8f4nrlwb1acfw36yi1pfkd";
   };
 in
 rec {
diff --git a/pkgs/tools/networking/webalizer/default.nix b/pkgs/tools/networking/webalizer/default.nix
index efa29e81407..99fde387129 100644
--- a/pkgs/tools/networking/webalizer/default.nix
+++ b/pkgs/tools/networking/webalizer/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, libpng, gd, geoip, db4}:
+{stdenv, fetchurl, zlib, libpng, gd, geoip, db}:
 
 stdenv.mkDerivation {
   name = "webalizer-2.23-05";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
         --replace "--static" "" 
     '';
 
-  buildInputs = [zlib libpng gd geoip db4]; 
+  buildInputs = [zlib libpng gd geoip db]; 
 
   configureFlags = "--enable-dns --enable-geoip --disable-static --enable-shared";
 }
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 3e3b74dfe90..6ff5439c4bc 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, gettext, perl, LWP, gnutls ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.14";
+  name = "wget-1.15";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.xz";
-    sha256 = "0yqllj3nv9p3vqbdm6j4nvpjcwf1y19rq8sd966nrbd2qvvxfq8p";
+    sha256 = "1yw0sk4mrs7bvga3c79rkbhxivmw8cs3b5wq3cglp1f9ai1mz2ni";
   };
 
+  patches = stdenv.lib.optional stdenv.isDarwin ./iri-test.patch;
+
   preConfigure = stdenv.lib.optionalString doCheck
     '' for i in "doc/texi2pod.pl" "tests/run-px" "util/rmold.pl"
        do
@@ -43,7 +45,7 @@ stdenv.mkDerivation rec {
          scripts, cron jobs, terminals without X-Windows support, etc.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/wget/;
 
diff --git a/pkgs/tools/networking/wget/iri-test.patch b/pkgs/tools/networking/wget/iri-test.patch
new file mode 100644
index 00000000000..c1f798ce372
--- /dev/null
+++ b/pkgs/tools/networking/wget/iri-test.patch
@@ -0,0 +1,12 @@
+diff -r --unified a/wget-1.14/tests/run-px b/wget-1.14/tests/run-px
+--- a/tests/run-px	2012-06-16 11:58:11.000000000 +0100
++++ b/tests/run-px	2013-11-02 14:06:14.000000000 +0000
+@@ -48,7 +48,7 @@
+     'Test-idn-robots-utf8.px',
+     'Test-iri.px',
+     'Test-iri-percent.px',
+-    'Test-iri-disabled.px',
++    #'Test-iri-disabled.px',
+     'Test-iri-forced-remote.px',
+     'Test-iri-list.px',
+     'Test-k.px',
diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix
index 524c93d218a..e0537c8e1fa 100644
--- a/pkgs/tools/networking/wicd/default.nix
+++ b/pkgs/tools/networking/wicd/default.nix
@@ -2,9 +2,6 @@
  wpa_supplicant, dhcp, dhcpcd, wirelesstools, nettools, openresolv, iproute, iputils,
  pythonPackages, locale ? "C" }:
 
-# Wicd has a ncurses interface that we do not build because it depends
-# on urwid which has not been packaged at this time (2009-12-27).
-
 stdenv.mkDerivation rec {
   name = "wicd-${version}";
   version = "1.7.2.4";
@@ -14,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "15ywgh60xzmp5z8l1kzics7yi95isrjg1paz42dvp7dlpdfzpzfw";
   };
 
-  buildInputs = [ python pythonPackages.Babel ];
+  buildInputs = [ python pythonPackages.Babel pythonPackages.urwid ];
 
   patches = [
     ./no-var-install.patch
@@ -83,7 +80,6 @@ stdenv.mkDerivation rec {
     --no-install-kde \
     --no-install-acpi \
     --no-install-pmutils \
-    --no-install-ncurses \
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/package-management/cabal-install/0.10.2.nix b/pkgs/tools/package-management/cabal-install/0.10.2.nix
index 16853cab7fc..3d7b2d72d71 100644
--- a/pkgs/tools/package-management/cabal-install/0.10.2.nix
+++ b/pkgs/tools/package-management/cabal-install/0.10.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HTTP, network, random, time, zlib }:
 
 cabal.mkDerivation (self: {
@@ -12,9 +14,7 @@ cabal.mkDerivation (self: {
     description = "The command-line interface for Cabal and Hackage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.14.0.nix b/pkgs/tools/package-management/cabal-install/0.14.0.nix
index 15fe5f1e22c..c5a67e61999 100644
--- a/pkgs/tools/package-management/cabal-install/0.14.0.nix
+++ b/pkgs/tools/package-management/cabal-install/0.14.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HTTP, mtl, network, random, time, zlib }:
 
 cabal.mkDerivation (self: {
@@ -18,6 +20,7 @@ cabal.mkDerivation (self: {
     description = "The command-line interface for Cabal and Hackage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.6.2.nix b/pkgs/tools/package-management/cabal-install/0.6.2.nix
index 140c3628405..3c79857f6e7 100644
--- a/pkgs/tools/package-management/cabal-install/0.6.2.nix
+++ b/pkgs/tools/package-management/cabal-install/0.6.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HTTP, network, random, zlib }:
 
 cabal.mkDerivation (self: {
@@ -12,9 +14,7 @@ cabal.mkDerivation (self: {
     description = "The command-line interface for Cabal and Hackage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.8.0.nix b/pkgs/tools/package-management/cabal-install/0.8.0.nix
index ed84d069d10..d27fbbca7d4 100644
--- a/pkgs/tools/package-management/cabal-install/0.8.0.nix
+++ b/pkgs/tools/package-management/cabal-install/0.8.0.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HTTP, network, random, time, zlib }:
 
 cabal.mkDerivation (self: {
@@ -12,9 +14,7 @@ cabal.mkDerivation (self: {
     description = "The command-line interface for Cabal and Hackage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.8.2.nix b/pkgs/tools/package-management/cabal-install/0.8.2.nix
index a53460b6319..6f8881b504b 100644
--- a/pkgs/tools/package-management/cabal-install/0.8.2.nix
+++ b/pkgs/tools/package-management/cabal-install/0.8.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HTTP, network, random, time, zlib }:
 
 cabal.mkDerivation (self: {
@@ -12,9 +14,7 @@ cabal.mkDerivation (self: {
     description = "The command-line interface for Cabal and Hackage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
index 8f28f57c18f..84dc12d3145 100644
--- a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
+++ b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, Cabal, filepath, HTTP, mtl, network, random, time, zlib }:
 
 cabal.mkDerivation (self: {
@@ -18,6 +20,7 @@ cabal.mkDerivation (self: {
     description = "The command-line interface for Cabal and Hackage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix b/pkgs/tools/package-management/cabal-install/1.18.0.2.nix
deleted file mode 100644
index 9b56f60546c..00000000000
--- a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck
-, random, stm, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, time, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "1.18.0.2";
-  sha256 = "0ah9yzp486p3cvs9b7nid0jmf0a56fg65s3jx2r8lb84pi50d92c";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    Cabal filepath HTTP mtl network random stm time zlib
-  ];
-  testDepends = [
-    Cabal filepath HTTP HUnit mtl network QuickCheck stm testFramework
-    testFrameworkHunit testFrameworkQuickcheck2 time zlib
-  ];
-  postInstall = ''
-    mkdir $out/etc
-    mv bash-completion $out/etc/bash_completion.d
-  '';
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/1.18.0.3.nix b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix
new file mode 100644
index 00000000000..52db3a6faf4
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix
@@ -0,0 +1,33 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck
+, random, stm, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-install";
+  version = "1.18.0.3";
+  sha256 = "0h01mz6p4fwl8h6k2ybrlp598f0j3n2zasrr63fy0vjbjibmgf41";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network random stm time zlib
+  ];
+  testDepends = [
+    Cabal filepath HTTP HUnit mtl network QuickCheck stm testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 time zlib
+  ];
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "The command-line interface for Cabal and Hackage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/tools/package-management/cabal-install/1.20.0.3.nix b/pkgs/tools/package-management/cabal-install/1.20.0.3.nix
new file mode 100644
index 00000000000..8c136dc9dbb
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/1.20.0.3.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck
+, random, stm, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-install";
+  version = "1.20.0.3";
+  sha256 = "050b9dc4khfc1fs283p1635zni25z4b55gi5ffwvg4mfpkrmdgfj";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network random stm time zlib
+  ];
+  testDepends = [
+    Cabal filepath HTTP HUnit mtl network QuickCheck stm testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 time zlib
+  ];
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "The command-line interface for Cabal and Hackage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix
index 2fbf5282ee1..1320720ed17 100644
--- a/pkgs/tools/package-management/checkinstall/default.nix
+++ b/pkgs/tools/package-management/checkinstall/default.nix
@@ -29,6 +29,9 @@ stdenv.mkDerivation {
 
     # Fix a `conflicting types for 'scandir'' error on Glibc 2.11.
     ./scandir.patch
+
+    # Fix a `conflicting types for 'readlink'' error since Glibc 2.19
+    ./readlink-types.patch
   ]
 
   ++ stdenv.lib.optional (stdenv.system == "x86_64-linux") 
diff --git a/pkgs/tools/package-management/checkinstall/readlink-types.patch b/pkgs/tools/package-management/checkinstall/readlink-types.patch
new file mode 100644
index 00000000000..a860607fcf6
--- /dev/null
+++ b/pkgs/tools/package-management/checkinstall/readlink-types.patch
@@ -0,0 +1,19 @@
+Extracted from Arch's patch
+https://projects.archlinux.org/svntogit/community.git/tree/trunk/build-fix.patch?h=packages/checkinstall
+diff -wbBur checkinstall-1.6.2/installwatch/installwatch.c checkinstall-1.6.2.my/installwatch/installwatch.c
+--- checkinstall-1.6.2/installwatch/installwatch.c	2008-11-16 19:20:53.000000000 +0300
++++ checkinstall-1.6.2.my/installwatch/installwatch.c	2010-01-15 18:55:50.112716628 +0300
+@@ -2938,13 +2938,8 @@
+ 	return result;
+ }
+ 
+-#if (GLIBC_MINOR <= 4)
+-int readlink(const char *path,char *buf,size_t bufsiz) {
+-	int result;
+-#else
+ ssize_t readlink(const char *path,char *buf,size_t bufsiz) {
+ 	ssize_t result;
+-#endif
+ 	instw_t instw;
+ 	int status;
+ 
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 4d03ec9ab66..291f7e36ce0 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
     url = http://hydra.nixos.org/build/910953/download/4/DisnixWebService-0.2.tar.bz2;
     sha256 = "1469l2ykhdjmplkw01x64f7aq9rms05ig9sagyb8l2zksjm6lla8";
   };
-  buildInputs = [ apacheAnt ];
+  buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
   AXIS2_LIB = "${axis2}/lib";
   AXIS2_WEBAPP = "${axis2}/webapps/axis2";
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   
   meta = {
     description = "A SOAP interface and client for Disnix";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 62a644e195a..61e998fd545 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, libintlOrEmpty, libiconvOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.3pre57b56b6b9d43b48ce72e4e47f6acfdb3b1cbe3ef";
+  name = "disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5576475/download/4/disnix-0.3pre57b56b6b9d43b48ce72e4e47f6acfdb3b1cbe3ef.tar.gz;
-    sha256 = "18sxs4c3a1sr2sldd6p7rmxg6541v1hsl987vzc7ij8mwkcnm1r0";
+    url = http://hydra.nixos.org/build/11773951/download/4/disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7.tar.gz;
+    sha256 = "19hdh2mrlyiq1g3z6lnnqqvripmfcdnm18jpm4anp5iarhnwh3y4";
   };
   
-  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty ];
+  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
 
   dontStrip = true;
   
   meta = {
     description = "A distributed deployment extension for Nix";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 80ac91b5489..65ae91f6e18 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, disnix, socat, pkgconfig }:
+{ stdenv, fetchurl, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.2pre77208b9bf296b2376bd95154b333db304b50bec0.tar.gz";
+  name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5578534/download/3/disnixos-0.2pre77208b9bf296b2376bd95154b333db304b50bec0.tar.gz;
-    sha256 = "0a9ah16rhq6kgknylq9dsv6mk8pp4vbahqls9hcg99ys9bn18d8z";
+    url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz;
+    sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2";
   };
   
-  buildInputs = [ socat pkgconfig disnix ];
+  buildInputs = [ socat pkgconfig disnix getopt ];
   
   dontStrip = true;
   
   meta = {
     description = "Provides complementary NixOS infrastructure deployment to Disnix";
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index de3690e3e20..a1914224dbd 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null
+, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null
 , enableApacheWebApplication ? false
 , enableAxis2WebService ? false
 , enableEjabberdDump ? false
@@ -7,19 +7,22 @@
 , enablePostgreSQLDatabase ? false
 , enableSubversionRepository ? false
 , enableTomcatWebApplication ? false
+, enableMongoDatabase ? false
 , catalinaBaseDir ? "/var/tomcat"
+, getopt
 }:
 
 assert enableMySQLDatabase -> mysql != null;
 assert enablePostgreSQLDatabase -> postgresql != null;
 assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
+assert enableMongoDatabase -> mongodb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.3pre7c81cc254a0f6966dd9ac55f945c458b45b3d428.tar.gz";
+  name = "dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5613342/download/1/dysnomia-0.3pre7c81cc254a0f6966dd9ac55f945c458b45b3d428.tar.gz;
-    sha256 = "0ll09vh94ygqkncq4ddb62s4c84n3pr5qy0gi1ywy0j30qk6zvsq";
+    url = http://hydra.nixos.org/build/11407191/download/1/dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82.tar.gz;
+    sha256 = "1i7yb299bq1z7cy4sk83m5faahj8inh73xn5bi6jcv492zv3kgwz";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
@@ -32,17 +35,19 @@ stdenv.mkDerivation {
      ${if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql"}
      ${if enableSubversionRepository then "--with-subversion" else "--without-subversion"}
      ${if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat"}
+     ${if enableMongoDatabase then "--with-mongodb" else "--without-mongodb"}
    '';
   
-  buildInputs = []
+  buildInputs = [ getopt ]
     ++ stdenv.lib.optional enableEjabberdDump ejabberd
     ++ stdenv.lib.optional enableMySQLDatabase mysql
     ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
-    ++ stdenv.lib.optional enableSubversionRepository subversion;
+    ++ stdenv.lib.optional enableSubversionRepository subversion
+    ++ stdenv.lib.optional enableMongoDatabase mongodb;
 
   meta = {
     description = "Automated deployment of mutable components and services for Disnix";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index e801bcfb2c2..01dea9c35e3 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -39,9 +39,10 @@ stdenv.mkDerivation {
       done # */
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The Debian package manager";
     homepage = http://wiki.debian.org/Teams/Dpkg;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
   };
 }
diff --git a/pkgs/tools/package-management/guix/default.nix b/pkgs/tools/package-management/guix/default.nix
index 7c4a098cad8..b4b3c98505e 100644
--- a/pkgs/tools/package-management/guix/default.nix
+++ b/pkgs/tools/package-management/guix/default.nix
@@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
       Guix is based on the Nix package manager.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
new file mode 100644
index 00000000000..84439136d49
--- /dev/null
+++ b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, makeWrapper, git, subversion, mercurial, bazaar, cvs, unzip, curl, gnused }:
+
+stdenv.mkDerivation {
+  name = "nix-prefetch-scripts";
+
+  buildInputs = [ makeWrapper ];
+
+  phases = [ "installPhase" "fixupPhase" ];
+  installPhase = ''
+    mkdir -p $out/bin
+    function copyScript {
+      local name=nix-prefetch-$1;
+      local src=$2;
+      local wrapArgs=""
+      cp $src $out/bin/$name;
+      for dep in ''${@:3}; do
+        wrapArgs="$wrapArgs --prefix PATH : $dep/bin"
+      done
+      wrapArgs="$wrapArgs --prefix PATH : ${gnused}/bin"
+      wrapProgram $out/bin/$name $wrapArgs
+    }
+
+    copyScript "hg" ${../../../build-support/fetchhg/nix-prefetch-hg} ${mercurial}
+    copyScript "git" ${../../../build-support/fetchgit/nix-prefetch-git} ${git}
+    copyScript "svn" ${../../../build-support/fetchsvn/nix-prefetch-svn} ${subversion}
+    copyScript "bzr" ${../../../build-support/fetchbzr/nix-prefetch-bzr} ${bazaar}
+    copyScript "cvs" ${../../../build-support/fetchcvs/nix-prefetch-cvs} ${cvs}
+    copyScript "zip" ${../../../build-support/fetchzip/nix-prefetch-zip} ${unzip} ${curl}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Collection of all the nix-prefetch-* scripts which may be used to obtain source hashes";
+    maintainers = with maintainers; [ bennofs ];
+    platforms = with stdenv.lib.platforms; unix;
+    # Quicker to build than to download, I hope
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix
index 648abe882c4..f812ea58a0b 100644
--- a/pkgs/tools/package-management/nix-repl/default.nix
+++ b/pkgs/tools/package-management/nix-repl/default.nix
@@ -7,8 +7,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = https://github.com/edolstra/nix-repl.git;
-    rev = "81d658fe4afda234028cd4551e12491db4303957";
-    sha256 = "067mj8as99n0hkrr2qss3y3hnr8c5zy4n8bqx3z900n3j43cwzyc";
+    rev = "1734e8a1491ef831c83c2620b6b0f4a590b67c1f";
+    sha256 = "12fld2780jh3ww2n59s9z7afwjkmfhwh4dqn3wjva4ff8fx3n0mf";
   };
 
   buildInputs = [ nix readline boehmgc ];
@@ -21,8 +21,9 @@ stdenv.mkDerivation rec {
       mkdir -p $out/bin
       g++ -O3 -Wall -std=c++0x \
         -o $out/bin/nix-repl nix-repl.cc \
-        -I${nix}/include/nix -L${nix}/lib/nix \
-        -lformat -lutil -lstore -lexpr -lmain -lreadline -lgc
+        -I${nix}/include/nix \
+        -lnixformat -lnixutil -lnixstore -lnixexpr -lnixmain -lreadline -lgc \
+        -DNIX_VERSION=${(builtins.parseDrvName nix.name).version}
     '';
 
   meta = {
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 9b0b8b3f24e..b2e86935b50 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.6.1";
+  name = "nix-1.7";
 
   src = fetchurl {
     url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-    sha256 = "31d15f99b2405924a4be278334cc973a71999303631e6798c1d294db9be4bf84";
+    sha256 = "349163654f2ae3e1a17fb3da7ed164a4cac153728bbe9a26764e17556d3dcc92";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The Nix Deployment System";
     homepage = http://nixos.org/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 7bdc8d1aefb..731965d9a7c 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,16 +5,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.7pre3267_2d9bb56";
+  name = "nix-1.8pre3748_02843ba";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/6611474/download/5/${name}.tar.xz";
-    sha256 = "f62b48910651c4651cd4473a0bb433d65cf60c93c0f80d589b26fec52b3b82b3";
+    url = "http://hydra.nixos.org/build/13483092/download/5/${name}.tar.xz";
+    sha256 = "074k5spq07bz6ljbiiwfzsnnnpqlwssigxirkyrcamcyjmig4v34";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  buildInputs = [ curl openssl boehmgc sqlite ];
+  buildInputs = [ curl openssl sqlite ];
+
+  propagatedBuildInputs = [ boehmgc ];
 
   # Note: bzip2 is not passed as a build input, because the unpack phase
   # would end up using the wrong bzip2 when cross-compiling.
@@ -68,7 +70,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The Nix Deployment System";
     homepage = http://nixos.org/;
-    license = "LGPLv2+";
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index b23c8139309..b85591b0695 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,12 +1,12 @@
 { lib, pythonPackages, fetchurl, libxslt, docbook5_xsl, openssh }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "nixops-1.1.1";
+  name = "nixops-1.2";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://nixos.org/releases/nixops/${name}/${name}.tar.bz2";
-    sha256 = "0hb77cf9l8qcjp6a1gzkzv7k10j5zvp23ilxgx5x6j93602d5jwb";
+    sha256 = "06cf54c62a810cac5013d57d31707f0a6381b409485503a94a57ce6d8a1ac12b";
   };
 
   buildInputs = [ libxslt ];
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
new file mode 100644
index 00000000000..93c671287d6
--- /dev/null
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -0,0 +1,29 @@
+{ lib, pythonPackages, git, fetchgit, makeWrapper, nix }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "nox-0.0.1";
+  namePrefix = "";
+
+  src = fetchgit {
+    url = "git://github.com/madjar/nox.git";
+    rev = "49e4bb7de473ac5e446a76c292bdaefa7e20a1c6";
+    sha256 = "1w1b2g44lj6nbs7f2j5dz5pijhfah3fyldspfb34zcv17j2nlv0b";
+    leaveDotGit = true; # required by pbr
+  };
+
+  buildInputs = [ git pythonPackages.pbr makeWrapper ];
+
+  pythonPath =
+    [ pythonPackages.dogpile_cache
+      pythonPackages.click
+    ];
+
+  postInstall = "wrapProgram $out/bin/nox --prefix PATH : ${nix}/bin";
+
+  meta = {
+    homepage = https://github.com/madjar/nox;
+    description = "Tools to make nix nicer to use";
+    maintainers = [ lib.maintainers.madjar ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index b0bb090b64d..6708cd1fbd1 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -1,10 +1,20 @@
-{stdenv, fetchurl, pkgconfig, curl, gpgme}:
+{ stdenv, fetchurl, pkgconfig, curl, gpgme }:
 
-stdenv.mkDerivation {
-  name = "opkg-0.1.8";
+stdenv.mkDerivation rec {
+  version = "0.2.2";
+  name = "opkg-${version}";
   src = fetchurl {
-    url = http://opkg.googlecode.com/files/opkg-0.1.8.tar.gz;
-    sha256 = "0q0w7hmc6zk7pnddamd5v8d76qnh3043lzh5np24jbb6plqbz57z";
+    url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
+    sha256 = "0ax10crp2grrpl20gl5iqfw37d5qz6h790lyyv2ali45agklqmda";
   };
+
   buildInputs = [ pkgconfig curl gpgme ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight package management system based upon ipkg";
+    homepage = http://code.google.com/p/opkg/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index b35d3b66ad8..7997603a706 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, nspr, nss, popt, db4, xz }:
+{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, nspr, nss, popt, db, xz, python }:
 
 stdenv.mkDerivation rec {
-  name = "rpm-4.7.2";
+  name = "rpm-4.11.2";
 
   src = fetchurl {
-    url = "http://rpm.org/releases/rpm-4.7.x/${name}.tar.bz2";
-    sha1 = "07b90f653775329ea726ce0005c4c82f56167ca0";
+    url = "http://rpm.org/releases/rpm-4.11.x/${name}.tar.bz2";
+    sha256 = "1m2859js0dwg26sg2mnbkpzhvx303b12kx26az74cf5k6bk8sgs0";
   };
 
-  buildInputs = [ cpio zlib bzip2 file nspr nss popt db4 xz ];
+  buildInputs = [ cpio zlib bzip2 file nspr nss popt db xz python ];
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
@@ -16,11 +16,12 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_LINK = "-L${elfutils}/lib";
   
-  configureFlags = "--with-external-db --without-lua";
+  configureFlags = "--with-external-db --without-lua --enable-python";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.rpm.org/;
-    license = "GPLv2";
+    license = licenses.gpl2;
     description = "The RPM Package Manager";
+    maintainers = with maintainers; [ mornfall ];
   };
 }
diff --git a/pkgs/tools/security/aespipe/default.nix b/pkgs/tools/security/aespipe/default.nix
index 9e4b8d12712..dbbdb8e57a6 100644
--- a/pkgs/tools/security/aespipe/default.nix
+++ b/pkgs/tools/security/aespipe/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "aespipe-${version}";
-  version = "v2.4c";
+  version = "2.4c";
 
   src = fetchurl {
-    url = "mirror://sourceforge/loop-aes/aespipe/${name}.tar.bz2";
+    url = "mirror://sourceforge/loop-aes/aespipe/aespipe-v${version}.tar.bz2";
     sha256 = "0pl49jnjczjvfxwm9lw576qsjm1lxh8gc4g776l904cixaz90096";
   };
 
   meta = {
     description = "AES encrypting or decrypting pipe";
     homepage = http://loop-aes.sourceforge.net/aespipe.README;
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = stdenv.lib.maintainers.goibhniu;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index 0e607092412..42af2e0b57e 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }:
 stdenv.mkDerivation rec {
-  name = "ccid-1.4.9";
+  version = "1.4.16";
+  name = "ccid-${version}";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/3866/${name}.tar.bz2";
-    sha256 = "1dj0cw4js4ab678l94rf9p8a8gppkf1hm66qhmq5ajra6r5nv3m9";
+    url = "http://ftp.de.debian.org/debian/pool/main/c/ccid/ccid_${version}.orig.tar.bz2";
+    sha256 = "0a0e6aa38863c79e38673c085254fa94fd0aa040b9622304a8d6d4222b7e7ea0";
   };
 
   patchPhase = ''
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "ccid drivers for pcsclite";
     homepage = http://pcsclite.alioth.debian.org/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/security/ccrypt/default.nix b/pkgs/tools/security/ccrypt/default.nix
index 5653af424d1..e6a63a2f288 100644
--- a/pkgs/tools/security/ccrypt/default.nix
+++ b/pkgs/tools/security/ccrypt/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation {
-  name = "ccrypt-1.9";
+  name = "ccrypt-1.10";
 
   src = fetchurl {
-    url = mirror://sourceforge/ccrypt/ccrypt-1.9.tar.gz;
-    sha256 = "1bzbfq19jnnlp221kilzxpy0l6w3hk9b1iqjz4haypzlyxswnf35";
+    url = mirror://sourceforge/ccrypt/ccrypt-1.10.tar.gz;
+    sha256 = "184v9676hx2w875cz04rd3a20wrcms33a1zwybvapb0g2yi6vml7";
   };
 
   nativeBuildInputs = [ perl ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://ccrypt.sourceforge.net/;
     description = "Utility for encrypting and decrypting files and streams with AES-256";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all; 
   };
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index ec00137b36f..fc43f01b344 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, bzip2, libiconv }:
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.97.5";
+  version = "0.98.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz";
-    sha256 = "039wm64wl2sx7k019g5ll5dkdlsq64fnd0ng0s00pjn8bqd5wv6v";
+    sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m";
   };
 
   buildInputs = [ zlib bzip2 libiconv ];
diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix
new file mode 100644
index 00000000000..a3aa417a4ea
--- /dev/null
+++ b/pkgs/tools/security/duo-unix/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pam, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "duo-unix-${version}";
+  version = "1.9.11";
+
+  src = fetchurl {
+    url    = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz";
+    sha256 = "0747avzmzzz1gaisahgjlpxyxxbrn04w1mip90lfj9wp2x6a9jgm";
+  };
+
+  buildInputs = [ pam openssl zlib ];
+  configureFlags =
+    [ "--with-pam=$(out)/lib/security"
+      "--prefix=$(out)"
+      "--sysconfdir=$(out)/etc/duo"
+      "--with-openssl=${openssl}"
+      "--enable-lib64=no"
+    ];
+
+  meta = {
+    description = "Duo Security Unix login integration";
+    homepage    = "https://duosecurity.com";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix
index d1ed6f420ec..13046aa0b2d 100644
--- a/pkgs/tools/security/ecryptfs/default.nix
+++ b/pkgs/tools/security/ecryptfs/default.nix
@@ -1,18 +1,37 @@
-{stdenv, fetchurl, fuse, python, perl, keyutils, pam, nss, nspr}:
+{ stdenv, fetchurl, pkgconfig, perl, keyutils, nss, nspr, python, pam
+, intltool, makeWrapper, coreutils, gettext, cryptsetup, lvm2, rsync, which }:
+
 stdenv.mkDerivation {
-  name = "ecryptfs-82";
+  name = "ecryptfs-104";
 
   src = fetchurl {
-    url = http://launchpad.net/ecryptfs/trunk/82/+download/ecryptfs-utils_82.orig.tar.gz;
-    sha256 = "1w3swispgp71prz8h56hqby2wwnvam5vllqvc69rn8cf605i69a6";
+    url = http://launchpad.net/ecryptfs/trunk/104/+download/ecryptfs-utils_104.orig.tar.gz;
+    sha256 = "0f3lzpjw97vcdqzzgii03j3knd6pgwn1y0lpaaf46iidaiv0282a";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
+  buildInputs = [ pkgconfig perl nss nspr python pam intltool makeWrapper ];
+  propagatedBuildInputs = [ coreutils gettext cryptsetup lvm2 rsync keyutils which ];
 
-  buildInputs = [ python perl keyutils pam nss nspr ];
+  postInstall = ''
+    FILES="$(grep -r '/bin/sh' $out/bin | sed 's,:.*,,' | uniq)"
+    for file in $FILES; do
+      sed -i $file -e "s,\(/sbin/u\?mount.ecryptfs\(_private\)\?\),$out\1," \
+        -e "s,\(/sbin/cryptsetup\),${cryptsetup}\1," \
+        -e "s,\(/sbin/dmsetup\),${lvm2}\1," \
+        -e 's,/sbin/\(unix_chkpwd\),\1,'
+      wrapProgram $file \
+        --prefix PATH ":" "${coreutils}/bin" \
+        --prefix PATH ":" "${gettext}/bin" \
+        --prefix PATH ":" "${rsync}/bin" \
+        --prefix PATH ":" "${keyutils}/bin" \
+        --prefix PATH ":" "${which}/bin" \
+        --prefix PATH ":" "$out/bin"
+    done
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Enterprise-class stacked cryptographic filesystem";
-    license = "GPLv2+";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 1a443fc18b6..6b5c69c3d2e 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pythonPackages, unzip, gamin }:
+{ stdenv, fetchurl, python, pythonPackages, unzip, systemd, gamin }:
 
-let version = "0.8.10"; in
+let version = "0.9"; in
 
 pythonPackages.buildPythonPackage {
   name = "fail2ban-${version}";
@@ -9,12 +9,12 @@ pythonPackages.buildPythonPackage {
   src = fetchurl {
     url    = "https://github.com/fail2ban/fail2ban/zipball/${version}";
     name   = "fail2ban-${version}.zip";
-    sha256 = "0zbjwnghpdnzan7hn40cjjh2r06p2ph5kblpm0w1r72djwsk67x9";
+    sha256 = "0dawl0vvdvpnkg1hc4l0c8sj8ikcr2l48d6khfx0174nq8yfcg93";
   };
 
   buildInputs = [ unzip ];
 
-  pythonPath = [ gamin ];
+  pythonPath = [ systemd python.modules.sqlite3 gamin ];
 
   preConfigure = ''
     substituteInPlace setup.cfg \
@@ -39,15 +39,11 @@ pythonPackages.buildPythonPackage {
 
   doCheck = false;
 
-  installCommand = ''
-    python setup.py install --prefix=$out
-  '';
-
   meta = with stdenv.lib; {
     homepage    = http://www.fail2ban.org/;
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ eelco lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/security/fprot/default.nix b/pkgs/tools/security/fprot/default.nix
index 2a8531a1795..b43ea402f6d 100644
--- a/pkgs/tools/security/fprot/default.nix
+++ b/pkgs/tools/security/fprot/default.nix
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp fpscan $out/bin
 
-    ensureDir $out/opt/f-prot
+    mkdir -p $out/opt/f-prot
     cp fpupdate $out/opt/f-prot
     cp product.data.default $out/opt/f-prot/product.data
     cp license.key $out/opt/f-prot/
@@ -23,12 +23,12 @@ stdenv.mkDerivation rec {
 
     patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/opt/f-prot/fpupdate
 
-    ensureDir $out/share/man/
-    ensureDir $out/share/man/man1
+    mkdir -p $out/share/man/
+    mkdir -p $out/share/man/man1
     cp doc/man/fpscan.1 $out/share/man/man1
-    ensureDir $out/share/man/man5
+    mkdir -p $out/share/man/man5
     cp doc/man/f-prot.conf.5 $out/share/man/man5
-    ensureDir $out/share/man/man8
+    mkdir -p $out/share/man/man8
     cp doc/man/fpupdate.8 $out/share/man/man8
   '';
 
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index f242c3f323a..9b8d33b6b69 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -13,11 +13,11 @@ assert useUsb -> (libusb != null);
 assert useCurl -> (curl != null);
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.0.22";
+  name = "gnupg-2.0.24";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3";
+    sha256 = "0ch2hbindk832cy7ca00a7whw84ndm0nhqrl24a5fw4ldkca2x6r";
   };
 
   buildInputs
diff --git a/pkgs/tools/security/gnupg/git.nix b/pkgs/tools/security/gnupg/git.nix
index 3d7db862dce..69a0a68319f 100644
--- a/pkgs/tools/security/gnupg/git.nix
+++ b/pkgs/tools/security/gnupg/git.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://gnupg.org/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
index 192970b5cae..53f784396a7 100644
--- a/pkgs/tools/security/gnupg1/default.nix
+++ b/pkgs/tools/security/gnupg1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, readline, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.15";
+  name = "gnupg-1.4.17";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha1 = "63ebf0ab375150903c65738070e4105200197fd4";
+    sha256 = "0nvv1bd8v13gh2m1429azws7ks0ix9y1yv87ak9k9i1dsqcrvpg6";
   };
 
   buildInputs = [ readline bzip2 ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "free implementation of the OpenPGP standard for encrypting and signing data";
     homepage = http://www.gnupg.org/;
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.gnu; # arbitrary choice
   };
 }
diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix
new file mode 100644
index 00000000000..5e173724190
--- /dev/null
+++ b/pkgs/tools/security/hashcat/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, p7zip, patchelf }:
+
+let
+  bits    = if stdenv.system == "x86_64-linux" then "64" else "32";
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
+
+  fixBin = x: ''
+    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath} ${x}
+  '';
+in
+stdenv.mkDerivation rec {
+  name    = "hashcat-${version}";
+  version = "0.47";
+
+  src = fetchurl {
+    url    = "http://hashcat.net/files/${name}.7z";
+    sha256 = "0mc4lv4qfxabp794xfzgr63fhwk7lvbg12pry8a96lldp0jwp6i3";
+  };
+
+  buildInputs = [ p7zip patchelf ];
+
+  unpackPhase = "7z x $src > /dev/null && cd ${name}";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    cp -R * $out/libexec
+
+    echo -n "/" > $out/bin/eula.accepted
+    ln -s $out/libexec/hashcat-cli${bits}.bin $out/bin/hashcat
+    ln -s $out/libexec/hashcat-cliXOP.bin $out/bin/hashcat-xop
+    ln -s $out/libexec/hashcat-cliAVX.bin $out/bin/hashcat-avx
+  '';
+
+  fixupPhase = ''
+    ${fixBin "$out/libexec/hashcat-cli${bits}.bin"}
+    ${fixBin "$out/libexec/hashcat-cliXOP.bin"}
+    ${fixBin "$out/libexec/hashcat-cliAVX.bin"}
+  '';
+
+  meta = {
+    description = "Fast password cracker";
+    homepage    = "http://hashcat.net/hashcat/";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
index 48f9727b3c0..1701d4cb46f 100644
--- a/pkgs/tools/security/haveged/default.nix
+++ b/pkgs/tools/security/haveged/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "haveged-${version}";
-  version = "1.7c";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "http://www.issihosts.com/haveged/haveged-${version}.tar.gz";
-    sha256 = "08gi3d9lbrllk5lyxw8l65py88xhia48w758lqjddh3gv7g7wfa0";
+    sha256 = "059pxlfd4l5dqhd6r3lynzfz4wby2f17294fy17pi9j2jpnn68ww";
   };
 
   meta = {
diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix
new file mode 100644
index 00000000000..f247f8c4e89
--- /dev/null
+++ b/pkgs/tools/security/jd-gui/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, gtk, atk, gdk_pixbuf, pango, makeWrapper }:
+
+let
+  dynlibPath = stdenv.lib.makeLibraryPath
+    [ gtk atk gdk_pixbuf pango ];
+in
+stdenv.mkDerivation rec {
+  name    = "jd-gui-${version}";
+  version = "0.3.5";
+
+  src = fetchurl {
+    url    = "http://jd.benow.ca/jd-gui/downloads/${name}.linux.i686.tar.gz";
+    sha256 = "0jrvzs2s836yvqi41c7fq0gfiwf187qg765b9r1il2bjc0mb3dqv";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = "unpackPhase installPhase";
+  unpackPhase = "tar xf ${src}";
+  installPhase = ''
+    mkdir -p $out/bin && mv jd-gui $out/bin
+    wrapProgram $out/bin/jd-gui \
+      --prefix LD_LIBRARY_PATH ":" "${dynlibPath}"
+  '';
+
+  meta = {
+    description = "Fast Java Decompiler with powerful GUI";
+    homepage    = "http://jd.benow.ca/";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = [ "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/meo/default.nix b/pkgs/tools/security/meo/default.nix
index e18b68c7593..be678b18dda 100644
--- a/pkgs/tools/security/meo/default.nix
+++ b/pkgs/tools/security/meo/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   
   src = fetchhg {
     url = http://oss.stamfest.net/hg/meo;
-    tag = "b48e5f16cff8";
+    rev = "b48e5f16cff8";
     sha256 = "0ifg7y28s89i9gwda6fyj1jbrykbcvq8bf1m6rxmdcv5afi3arbq";
   };
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp tools/{meo,p11} $out/bin
     cp meo-gui/meo-gui $out/bin
     cp meo-gui/meo-gui $out/bin
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://oss.stamfest.net/wordpress/meo-multiple-eyepairs-only;
     description = "Tools to use cryptography for things like four-eyes principles";
-    license = "AGPLv3+";
+    license = stdenv.lib.licenses.agpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix
index b27707a0015..8975ca4324d 100644
--- a/pkgs/tools/security/mkpasswd/default.nix
+++ b/pkgs/tools/security/mkpasswd/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl
-}:
-  
+{ stdenv, fetchFromGitHub }:
+
 stdenv.mkDerivation rec {
   name = "mkpasswd-${version}";
 
-  version = "5.0.26";
+  version = "5.1.1";
 
-  src = fetchurl {
-    url = "http://ftp.debian.org/debian/pool/main/w/whois/whois_${version}.tar.xz";
-    sha256 = "729625ef81425f4771e06492bb4f3e9f24bff75b8176044ce8d2f605f7ad6af5";
+  src = fetchFromGitHub {
+    owner = "rfc1036";
+    repo = "whois";
+    rev = "v${version}";
+    sha256 = "026x8byx8pcpkdxca64368p0nlspk4phw18jg4p04di6cg6nc1m5";
   };
 
   preConfigure = ''
@@ -19,10 +20,11 @@ stdenv.mkDerivation rec {
 
   installPhase = "make install-mkpasswd";
 
-  meta = {
-    homepage = http://ftp.debian.org/debian/pool/main/w/whois/;
-    description = ''
-      Overfeatured front end to crypt, from the Debian whois package.
-    '';
+  meta = with stdenv.lib; {
+    homepage = http://packages.qa.debian.org/w/whois.html;
+    description = "Overfeatured front-end to crypt, from the Debian whois package";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.cstrahan ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/munge/default.nix b/pkgs/tools/security/munge/default.nix
index 2b6cd224371..f94eaabd2a4 100644
--- a/pkgs/tools/security/munge/default.nix
+++ b/pkgs/tools/security/munge/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, gnused, perl, libgcrypt, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "munge-0.5.10";
+  name = "munge-0.5.11";
 
   src = fetchurl {
     url = "http://munge.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "1imbmpd70vkcpca8d9yd9ajkhf6ik057nr3jb1app1wm51f15q00";
+    sha256 = "19aijdrjij2g0xpqgl198jh131j94p4gvam047gsdc0wz0a5c1wf";
   };
 
   buildInputs = [ gnused perl libgcrypt zlib bzip2 ];
 
   preConfigure = ''
     # Remove the install-data stuff, since it tries to write to /var
-    sed -i '434,465d' src/etc/Makefile.in
+    sed -i '505,511d' src/etc/Makefile.in
   '';
 
   configureFlags = [
diff --git a/pkgs/tools/security/muscleframework/default.nix b/pkgs/tools/security/muscleframework/default.nix
index e2a87119dd9..97b0617d396 100644
--- a/pkgs/tools/security/muscleframework/default.nix
+++ b/pkgs/tools/security/muscleframework/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://muscleplugins.alioth.debian.org/;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/muscletool/default.nix b/pkgs/tools/security/muscletool/default.nix
index c9648fbe404..cc369835f25 100644
--- a/pkgs/tools/security/muscletool/default.nix
+++ b/pkgs/tools/security/muscletool/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation {
   meta = {
     description = "Smart card applications for use with MUSCLE plugins";
     homepage = http://muscleapps.alioth.debian.org/;
-    license = "BSD";
+    license = "BSD"; # http://anonscm.debian.org/viewvc/muscleapps/trunk/muscleTool/COPYING?view=markup
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 2280ff3cfbe..56964c1f692 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,23 +1,41 @@
-{ stdenv, fetchurl, libpcap, libX11, gtk, pkgconfig
-, openssl, python, pygtk, makeWrapper, pygobject
-, pycairo, pysqlite
+{ stdenv, fetchurl, libpcap, pkgconfig, openssl
+, graphicalSupport ? false
+, libX11 ? null
+, gtk ? null
+, python ? null
+, pygtk ? null
+, makeWrapper ? null
+, pygobject ? null
+, pycairo ? null
+, pysqlite ? null
 }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "nmap-5.50";
+  name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
+  version = "6.40";
 
   src = fetchurl {
     url = "http://nmap.org/dist/${name}.tar.bz2";
-    sha256 = "aa044113caa47e172c154daed73afc70ffa18d359eb47c22a9ea85ffcb14ffb8";
+    sha256 = "491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401";
   };
 
-  patches = [ ./zenmap.patch ];
+  patches = optional graphicalSupport ./zenmap.patch;
 
-  postInstall =
-    ''
+  postInstall = optionalString graphicalSupport ''
       wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0
-    '';
+  '';
 
-  buildInputs =
-    [ libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite ];
+  buildInputs = [ libpcap pkgconfig openssl ]
+    ++ optionals graphicalSupport [
+      libX11 gtk python pygtk makeWrapper pysqlite pygobject pycairo
+    ];
+
+  meta = {
+    description = "A free and open source utility for network discovery and security auditing.";
+    homepage    = "http://www.nmap.org";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ mornfall thoughtpolice ];
+  };
 }
diff --git a/pkgs/tools/security/opensc/0.11.7.nix b/pkgs/tools/security/opensc/0.11.7.nix
deleted file mode 100644
index e1885836301..00000000000
--- a/pkgs/tools/security/opensc/0.11.7.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{stdenv, fetchurl, libtool, readline, zlib, openssl, libiconv, pcsclite,
-  libassuan1, pkgconfig, libXt, pinentry}:
-
-stdenv.mkDerivation rec {
-  name = "opensc-0.11.7";
-
-  src = fetchurl {
-    url = "http://www.opensc-project.org/files/opensc/${name}.tar.gz";
-    sha256 = "0781qi0bsm01wdhkb1vd3ra9wkwgyjcm2w87jb2r53msply2gavd";
-  };
-
-  configureFlags = [ "--enable-pcsc" "--enable-nsplugin"
-    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1"
-    "--with-pinentry=${pinentry}/bin/pinentry" ];
-
-  buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig
-    libXt ] ++
-    stdenv.lib.optional (! stdenv.isLinux) libiconv;
-
-  meta = {
-    description = "Set of libraries and utilities to access smart cards";
-    homepage = http://www.opensc-project.org/opensc/;
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
new file mode 100644
index 00000000000..42303fc356a
--- /dev/null
+++ b/pkgs/tools/security/opensc/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, libtool, readline, zlib, openssl, libiconvOrNull, pcsclite
+, libassuan1, pkgconfig, libXt, docbook_xsl, libxslt, docbook_xml_dtd_412
+}:
+
+stdenv.mkDerivation rec {
+  name = "opensc-0.13.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/opensc/${name}.tar.gz";
+    sha256 = "054v11yc2lqlfqs556liw18klhkx9zyjylqcwirk4axiafp4dpmb";
+  };
+
+  buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig
+    libXt libxslt libiconvOrNull docbook_xml_dtd_412
+  ];
+
+  configureFlags = [
+    "--enable-doc"
+    "--enable-man"
+    "--enable-openssl"
+    "--enable-pcsc"
+    "--enable-readline"
+    "--enable-sm"
+    "--enable-zlib"
+    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1"
+    "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook"
+  ];
+
+  meta = {
+    description = "Set of libraries and utilities to access smart cards";
+    homepage = "https://github.com/OpenSC/OpenSC/wiki";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/ossec/default.nix b/pkgs/tools/security/ossec/default.nix
index f6f062011ab..df5bffe3dfb 100644
--- a/pkgs/tools/security/ossec/default.nix
+++ b/pkgs/tools/security/ossec/default.nix
@@ -34,7 +34,6 @@ yes
     description = "Open soruce host-based instrusion detection system";
     homepage = http://www.ossec.net;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
 
diff --git a/pkgs/tools/security/p0f/default.nix b/pkgs/tools/security/p0f/default.nix
new file mode 100644
index 00000000000..377639ce2e6
--- /dev/null
+++ b/pkgs/tools/security/p0f/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, libpcap, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "p0f-${version}";
+  version = "3.06b";
+
+  src = fetchurl {
+    url    = "http://lcamtuf.coredump.cx/p0f3/releases/${name}.tgz";
+    sha256 = "1rydqvr78a3rjp9iwfbw4bs7jfb4p22962makdgw8yjmw8dr6lfi";
+  };
+
+  buildInputs = [ libpcap ];
+
+  buildPhase = ''
+    substituteInPlace config.h --replace "p0f.fp" "$out/etc/p0f.fp"
+    substituteInPlace build.sh --replace "/bin/bash" "${bash}/bin/bash"
+    ./build.sh
+    cd tools && make && cd ..
+  '';
+
+  installPhase = ''
+    mkdir -p $out/sbin $out/etc
+
+    cp ./p0f                $out/sbin
+    cp ./p0f.fp             $out/etc
+
+    cp ./tools/p0f-client   $out/sbin
+    cp ./tools/p0f-sendsyn  $out/sbin
+    cp ./tools/p0f-sendsyn6 $out/sbin
+  '';
+
+  meta = {
+    description = "Passive network reconnaissance and fingerprinting tool";
+    homepage    = "http://lcamtuf.coredump.cx/p0f3/";
+    license     = stdenv.lib.licenses.lgpl21;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/paperkey/default.nix b/pkgs/tools/security/paperkey/default.nix
new file mode 100644
index 00000000000..c3b1d64c3a3
--- /dev/null
+++ b/pkgs/tools/security/paperkey/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+
+  version = "1.3";
+  name = "paperkey-${version}";
+  
+  src = fetchurl {
+    url = "http://www.jabberwocky.com/software/paperkey/${name}.tar.gz";
+    sha256 = "5b57d7522336fb65c4c398eec27bf44ec0aaa35926157b79a76423231792cbfb";
+  };
+
+  enableParallelBuilding = true;
+  
+  meta = with stdenv.lib; {
+    description = "Store OpenPGP or GnuPG on paper";
+    longDescription = ''
+      A reasonable way to achieve a long term backup of OpenPGP (GnuPG, PGP, etc)
+      keys is to print them out on paper. Paper and ink have amazingly long
+      retention qualities - far longer than the magnetic or optical means that
+      are generally used to back up computer data.
+    '';
+    homepage = "http://www.jabberwocky.com/software/paperkey/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.skeidel ];
+  };
+}
diff --git a/pkgs/tools/security/pass/darwin-getopt.patch b/pkgs/tools/security/pass/darwin-getopt.patch
new file mode 100644
index 00000000000..8cdcd67bc65
--- /dev/null
+++ b/pkgs/tools/security/pass/darwin-getopt.patch
@@ -0,0 +1,11 @@
+diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
+index 1b76c33..fa40104 100644
+--- a/src/platform/darwin.sh
++++ b/src/platform/darwin.sh
+@@ -31,5 +31,5 @@ tmpdir() {
+ 	mount -t hfs -o noatime -o nobrowse "$ramdisk_dev" "$SECURE_TMPDIR" || exit 1
+ }
+ 
+-GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || echo /usr/local)/bin/getopt"
++GETOPT="getopt"
+ SHRED="srm -f -z"
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index e78002837c7..3b44edcf1d3 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,16 +1,22 @@
 { stdenv, fetchurl
 , coreutils, gnused, getopt, pwgen, git, tree, gnupg
-, makeWrapper }:
+, makeWrapper
+, withX ? false, xclip ? null
+}:
+
+assert withX -> xclip != null;
 
 stdenv.mkDerivation rec {
-  version = "1.4.2";
+  version = "1.6.3";
   name    = "password-store-${version}";
 
   src = fetchurl {
     url    = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
-    sha256 = "00m3q6dihrhw8cxsrham3bdqg5841an8ch4s3a4k5fynlcb802m1";
+    sha256 = "1xs00c7ffqd0093i452kryw9sjip6dkp1pclx69zihb5l45d86fl";
   };
 
+  patches = [ ./darwin-getopt.patch ];
+
   buildInputs = [ makeWrapper ];
 
   meta = with stdenv.lib; {
@@ -30,21 +36,17 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    # link zsh and fish completions
-    sed -ie '22s/^#//' Makefile
-    sed -ie '25s/^#//' Makefile
-    sed -i 's/find /find -L /' contrib/pass.zsh-completion
+    mkdir -p "$out/share/bash-completion/completions"
     mkdir -p "$out/share/zsh/site-functions"
     mkdir -p "$out/share/fish/completions"
 
-    # use gnused
-    sed -i 's/sed -i ""/sed -i /' Makefile
+    # Install Emacs Mode. NOTE: We can't install the necessary
+    # dependencies (s.el and f.el) here. The user has to do this
+    # himself.
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
 
-    SYSCONFDIR="$out/etc" PREFIX="$out" make install
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # use nix-supplied getopt
-    sed -ie '34c GETOPT="${getopt}/bin/getopt"' \
-      "$out/lib/password-store.platform.sh"
+    PREFIX="$out" make install
   '';
 
   postFixup = ''
@@ -54,6 +56,6 @@ stdenv.mkDerivation rec {
 
     # Ensure all dependencies are in PATH
     wrapProgram $out/bin/pass \
-      --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin"
+      --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin${if withX then ":${xclip}/bin" else ""}"
   '';
 }
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index de0fef9b73f..2737cc43575 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,32 +1,30 @@
 { stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl }:
 
 stdenv.mkDerivation rec {
-  name = "pcsclite-1.8.8";
+  version = "1.8.11";
+  name = "pcsclite-${version}";
 
   src = fetchurl {
-    url = "http://alioth.debian.org/frs/download.php/3862/${name}.tar.bz2";
-    sha256 = "1rw5530vr2jf02ziyf32jbd98n5q8zjcfwp5nkw3x3bkgr53arpy";
+    url = "https://alioth.debian.org/frs/download.php/file/3991/pcsc-lite-${version}.tar.bz2";
+    sha256 = "945041c94c53959ae5a767616a4ec5099fe67f549bfd344e8bd0cfe7a3c71ac6";
   };
 
   # The OS should care on preparing the drivers into this location
   configureFlags = [
     "--enable-usbdropdir=/var/lib/pcsc/drivers"
-    "--with-systemdsystemunitdir=$out/lib/systemd/system" # probably
+    "--with-systemdsystemunitdir=$out/etc/systemd/system"
+    "--enable-confdir=$out/etc"
   ];
 
-  preConfigure = ''
-    configureFlags="$configureFlags --enable-confdir=$out/etc"
-  '';
-
   buildInputs = [ udev dbus_libs perl ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Middleware to access a smart card using SCard API (PC/SC)";
     homepage = http://pcsclite.alioth.debian.org/;
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [viric];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 543c5d81ba1..038044ad681 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,16 +1,16 @@
 { fetchurl, stdenv, pkgconfig, glib
-, useGtk ? true, gtk
+, useGtk ? !stdenv.isDarwin, gtk
 , useNcurses ? true, ncurses
 , useQt4 ? false, qt4 }:
 
 assert useGtk || useNcurses || useQt4;
 
 stdenv.mkDerivation rec {
-  name = "pinentry-0.8.2";
+  name = "pinentry-0.8.3";
 
   src = fetchurl {
     url = "mirror://gnupg/pinentry/${name}.tar.bz2";
-    sha256 = "1c9r99ck8072y7nkirddg3p372xadl95y65hyc1m6wn5mavbg12h";
+    sha256 = "1bd047crf7xb8g61mval8v6qww98rddlsw2dz6j8h8qbnl4hp2sn";
   };
 
   buildInputs = let opt = stdenv.lib.optional; in []
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://gnupg.org/aegypten2/";
     description = "GnuPG's interface to passphrase input";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
       Pinentry provides a console and a GTK+ GUI that allows users to
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index e693143e4c4..2a4995f4579 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
          to the process.
       '';
 
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu;
     maintainers = [ ];
diff --git a/pkgs/tools/security/prey/default.nix b/pkgs/tools/security/prey/default.nix
index fe71806301d..0333e931858 100644
--- a/pkgs/tools/security/prey/default.nix
+++ b/pkgs/tools/security/prey/default.nix
@@ -10,6 +10,7 @@ let
   modulesSrc = fetchgit {
     url = "git://github.com/prey/prey-bash-client-modules.git";
     rev = "aba260ef110834cb2e92923a31f50c15970639ee";
+    sha256 = "9cb1ad813d052a0a3e3bbdd329a8711ae3272e340379489511f7dd578d911e30";
   };
 in stdenv.mkDerivation rec {
   name = "prey-bash-client-${version}";
diff --git a/pkgs/tools/security/pwgen/default.nix b/pkgs/tools/security/pwgen/default.nix
index ef91e69428a..be96510eca0 100644
--- a/pkgs/tools/security/pwgen/default.nix
+++ b/pkgs/tools/security/pwgen/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation {
-  name = "pwgen-2.05";
+  name = "pwgen-2.06";
 
   src = fetchurl {
-    url = mirror://sourceforge/pwgen/pwgen-2.05.tar.gz;
-    sha256 = "1afxbkdl9b81760pyb972k18dmidrciy3vzcnspp3jg0aa316yn8";
+    url = mirror://sourceforge/pwgen/pwgen-2.06.tar.gz;
+    sha256 = "0m1lhkcyizisksr1vlqysjkickrca9qwqkkx6vkv4zhg7ag8qnb1";
   };
   meta = {
     description = "Password generator which creates passwords which can be easily memorized by a human";
diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix
new file mode 100644
index 00000000000..6a2710869bf
--- /dev/null
+++ b/pkgs/tools/security/rhash/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "rhash-1.3.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/rhash/${name}-src.tar.gz";
+    sha1 = "0981bdc98ba7ef923b1a6cd7fd8bb0374cff632e";
+  };
+
+  installFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://rhash.anz.ru;
+    description = "Console utility for computing and verifying hash sums of files";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix
index ca2c9f43dfc..fe2a19491d9 100644
--- a/pkgs/tools/security/scrypt/default.nix
+++ b/pkgs/tools/security/scrypt/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "The scrypt encryption utility";
-    homepage = https://www.tarsnap.com/scrypt.html;
-    license = "BSD";
-    platforms = stdenv.lib.platforms.all;
+    homepage    = https://www.tarsnap.com/scrypt.html;
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix
new file mode 100644
index 00000000000..c5c47441704
--- /dev/null
+++ b/pkgs/tools/security/ssdeep/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "ssdeep-${version}";
+  version = "2.10";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/ssdeep/${name}.tar.gz";
+    sha256 = "1p7dgchq8hgadnxz5qh95ay17k5j74l4qyd15wspc54lb603p2av";
+  };
+
+  postFixup = stdenv.lib.optionalString stdenv.isLinux ''
+    patchelf --set-rpath "$(patchelf --print-rpath $out/bin/ssdeep):$out/lib" $out/bin/ssdeep
+  '';
+
+  meta = {
+    description = "A program for calculating fuzzy hashes";
+    homepage    = "http://www.ssdeep.sf.net";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/steghide/default.nix b/pkgs/tools/security/steghide/default.nix
new file mode 100644
index 00000000000..bc87c091a58
--- /dev/null
+++ b/pkgs/tools/security/steghide/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, libjpeg, libmcrypt, zlib, libmhash, gettext, libtool}:
+
+  stdenv.mkDerivation rec {
+    buildInputs = [ libjpeg libmcrypt zlib libmhash gettext libtool ];
+    version = "0.5.1";
+    name = "steghide-${version}";
+
+    meta = with stdenv.lib; {
+        homepage = http://steghide.sourceforge.net/;
+        description = "Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files.";
+        license = licenses.gpl2;
+    };
+
+    src = fetchurl {
+      url = "mirror://sourceforge/steghide/steghide/${version}/steghide-${version}.tar.gz" ;
+      sha256 = "78069b7cfe9d1f5348ae43f918f06f91d783c2b3ff25af021e6a312cf541b47b";
+    };
+
+    patches = [
+      ./patches/steghide-0.5.1-gcc34.patch
+      ./patches/steghide-0.5.1-gcc4.patch
+      ./patches/steghide-0.5.1-gcc43.patch
+    ];
+
+    # AM_CXXFLAGS needed for automake
+    preConfigure = ''
+      export AM_CXXFLAGS="$CXXFLAGS -std=c++0x"
+    '';
+
+  }
diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch
new file mode 100644
index 00000000000..373316c7840
--- /dev/null
+++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch
@@ -0,0 +1,42 @@
+--- steghide-0.5.1.old/src/Makefile.am
++++ steghide-0.5.1.new/src/Makefile.am	2004-07-16 19:01:39.673947633 +0200
+@@ -33,5 +33,5 @@
+ WavPCMSampleValue.cc error.cc main.cc msg.cc SMDConstructionHeuristic.cc
+ LIBS = @LIBINTL@ @LIBS@
+ localedir = $(datadir)/locale
+-LIBTOOL = $(SHELL) libtool
++LIBTOOL = $(SHELL) libtool --tag=CXX
+ MAINTAINERCLEANFILES = Makefile.in
+--- steghide-0.5.1.old/src/AuSampleValues.cc
++++ steghide-0.5.1.new/src/AuSampleValues.cc	2004-07-16 18:59:18.934578427 +0200
+@@ -17,21 +17,21 @@
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+  *
+  */
+-
++#include "common.h"
+ #include "AuSampleValues.h"
+ 
+ // AuMuLawSampleValue
+-const BYTE AuMuLawSampleValue::MinValue = 0 ;
+-const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
++template<> const BYTE  AuMuLawSampleValue::MinValue = 0 ;
++template<> const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
+ 
+ // AuPCM8SampleValue
+-const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
+-const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
++template<> const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
++template<> const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
+ 
+ // AuPCM16SampleValue
+-const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
+-const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
++template<> const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
++template<> const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
+ 
+ // AuPCM32SampleValue
+-const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
+-const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
++template<> const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
++template<> const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch
new file mode 100644
index 00000000000..a8df1735e9d
--- /dev/null
+++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch
@@ -0,0 +1,46 @@
+diff -Naur steghide-0.5.1-orig/src/AuData.h steghide-0.5.1/src/AuData.h
+--- steghide-0.5.1-orig/src/AuData.h	2003-09-28 09:30:29.000000000 -0600
++++ steghide-0.5.1/src/AuData.h	2007-05-11 22:04:56.000000000 -0600
+@@ -26,22 +26,30 @@
+ 
+ // AuMuLawAudioData
+ typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData ;
++template<>
+ inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
++template<>
+ inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
+ 
+ // AuPCM8AudioData
+ typedef AudioDataImpl<AuPCM8,SBYTE> AuPCM8AudioData ;
++template<>
+ inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
++template<>
+ inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
+ 
+ // AuPCM16AudioData
+ typedef AudioDataImpl<AuPCM16,SWORD16> AuPCM16AudioData ;
++template<>
+ inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
++template<>
+ inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
+ 
+ // AuPCM32AudioData
+ typedef AudioDataImpl<AuPCM32,SWORD32> AuPCM32AudioData ;
++template<>
+ inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
++template<>
+ inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
+ 
+ #endif // ndef SH_AUDATA_H
+diff -Naur steghide-0.5.1-orig/src/MHashPP.cc steghide-0.5.1/src/MHashPP.cc
+--- steghide-0.5.1-orig/src/MHashPP.cc	2003-10-05 04:17:50.000000000 -0600
++++ steghide-0.5.1/src/MHashPP.cc	2007-05-11 22:07:01.000000000 -0600
+@@ -120,7 +120,7 @@
+ 
+ std::string MHashPP::getAlgorithmName (hashid id)
+ {
+-	char *name = mhash_get_hash_name (id) ;
++	char *name = (char *) mhash_get_hash_name (id) ;
+ 	std::string retval ;
+ 	if (name == NULL) {
+ 		retval = std::string ("<algorithm not found>") ;
diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch
new file mode 100644
index 00000000000..ca66b9c544f
--- /dev/null
+++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch
@@ -0,0 +1,349 @@
+--- steghide-0.5.1.old/configure.in	2003-10-15 09:48:52.000000000 +0200
++++ steghide-0.5.1.new/configure.in	2008-05-09 19:04:46.000000000 +0200
+@@ -7,27 +7,26 @@
+ dnl checks for programs.
+ AC_PROG_CXX
+ AC_PROG_INSTALL
+ AC_PROG_AWK
+ AC_PROG_LN_S
++AC_CXX_COMPILE_STDCXX_0X
+ 
+ dnl GNU gettext
+ AC_CHECK_FUNCS(strchr)
+ AM_GNU_GETTEXT
+ AM_CONDITIONAL(USE_INTLDIR, test "$nls_cv_use_gnu_gettext" = yes)
+ 
+ dnl check if debugging support is requested
+-AC_MSG_CHECKING([wether to enable debugging])
++AC_MSG_CHECKING([whether to enable debugging])
+ AC_ARG_ENABLE(debug,[  --enable-debug          enable debugging],
+ 	if test "$enableval" = yes ;
+ 	then
+ 		AC_MSG_RESULT([yes])
+ 		AC_DEFINE(DEBUG,1,[enable code used only for debugging])
+-		CXXFLAGS="-O2 -Wall -g"
+ 	else
+ 		AC_MSG_RESULT([no])
+-		CXXFLAGS="-O2 -Wall"
+ 	fi
+ 	,
+ 	AC_MSG_RESULT([no])
+ 	CXXFLAGS="-O2 -Wall"
+ )
+@@ -213,7 +212,18 @@
+ 	echo "libmhash can be downloaded from http://mhash.sourceforge.net/.";
+ 	echo "**********";
+ 	AC_MSG_ERROR([[libmhash not found]])
+ fi
+ 
++dnl Should we add std=c++0x?
++
++if test "$ac_cv_cxx_compile_cxx0x_cxx" = yes;
++then
++	CXXFLAGS="${CXXFLAGS} -std=c++0x -Wall -Wextra"
++else
++	CXXFLAGS="${CXXFLAGS} -Wall -Wextra"
++fi
++
++AC_SUBST(CXXFLAGS)
++
+ dnl create Makefiles
+ AC_OUTPUT([Makefile steghide.spec steghide.doxygen doc/Makefile po/Makefile.in src/Makefile tests/Makefile tests/data/Makefile m4/Makefile intl/Makefile])
+--- steghide-0.5.1.old/m4/ac_cxx_compile_stdcxx_0x.m4	1970-01-01 01:00:00.000000000 +0100
++++ steghide-0.5.1.new/m4/ac_cxx_compile_stdcxx_0x.m4	2008-05-09 19:04:46.000000000 +0200
+@@ -0,0 +1,107 @@
++# ===========================================================================
++#        http://autoconf-archive.cryp.to/ac_cxx_compile_stdcxx_0x.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AC_CXX_COMPILE_STDCXX_0X
++#
++# DESCRIPTION
++#
++#   Check for baseline language coverage in the compiler for the C++0x
++#   standard.
++#
++# LAST MODIFICATION
++#
++#   2008-04-17
++#
++# COPYLEFT
++#
++#   Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved.
++
++AC_DEFUN([AC_CXX_COMPILE_STDCXX_0X], [
++  AC_CACHE_CHECK(if g++ supports C++0x features without additional flags,
++  ac_cv_cxx_compile_cxx0x_native,
++  [AC_LANG_SAVE
++  AC_LANG_CPLUSPLUS
++  AC_TRY_COMPILE([
++  template <typename T>
++    struct check
++    {
++      static_assert(sizeof(int) <= sizeof(T), "not big enough");
++    };
++
++    typedef check<check<bool>> right_angle_brackets;
++
++    int a;
++    decltype(a) b;
++
++    typedef check<int> check_type;
++    check_type c;
++    check_type&& cr = c;],,
++  ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
++  AC_LANG_RESTORE
++  ])
++
++  AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x,
++  ac_cv_cxx_compile_cxx0x_cxx,
++  [AC_LANG_SAVE
++  AC_LANG_CPLUSPLUS
++  ac_save_CXXFLAGS="$CXXFLAGS"
++  CXXFLAGS="$CXXFLAGS -std=c++0x"
++  AC_TRY_COMPILE([
++  template <typename T>
++    struct check
++    {
++      static_assert(sizeof(int) <= sizeof(T), "not big enough");
++    };
++
++    typedef check<check<bool>> right_angle_brackets;
++
++    int a;
++    decltype(a) b;
++
++    typedef check<int> check_type;
++    check_type c;
++    check_type&& cr = c;],,
++  ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
++  CXXFLAGS="$ac_save_CXXFLAGS"
++  AC_LANG_RESTORE
++  ])
++
++  AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x,
++  ac_cv_cxx_compile_cxx0x_gxx,
++  [AC_LANG_SAVE
++  AC_LANG_CPLUSPLUS
++  ac_save_CXXFLAGS="$CXXFLAGS"
++  CXXFLAGS="$CXXFLAGS -std=gnu++0x"
++  AC_TRY_COMPILE([
++  template <typename T>
++    struct check
++    {
++      static_assert(sizeof(int) <= sizeof(T), "not big enough");
++    };
++
++    typedef check<check<bool>> right_angle_brackets;
++
++    int a;
++    decltype(a) b;
++
++    typedef check<int> check_type;
++    check_type c;
++    check_type&& cr = c;],,
++  ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
++  CXXFLAGS="$ac_save_CXXFLAGS"
++  AC_LANG_RESTORE
++  ])
++
++  if test "$ac_cv_cxx_compile_cxx0x_native" = yes ||
++     test "$ac_cv_cxx_compile_cxx0x_cxx" = yes ||
++     test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then
++    AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
++  fi
++])
+--- steghide-0.5.1.old/src/Arguments.cc	2003-10-11 23:25:04.000000000 +0200
++++ steghide-0.5.1.new/src/Arguments.cc	2008-05-09 19:04:44.000000000 +0200
+@@ -26,10 +26,12 @@
+ #include "Terminal.h"
+ #include "common.h"
+ #include "error.h"
+ #include "msg.h"
+ 
++float Arguments::Default_Goal = 100.0 ;
++
+ // the global Arguments object
+ Arguments Args ;
+ 
+ Arguments::Arguments (int argc, char* argv[])
+ {
+--- steghide-0.5.1.old/src/Arguments.h	2003-10-11 23:23:57.000000000 +0200
++++ steghide-0.5.1.new/src/Arguments.h	2008-05-09 19:04:44.000000000 +0200
+@@ -98,11 +98,11 @@
+ 	static const bool		Default_EmbedEmbFn = true ;
+ 	static const bool		Default_Force = false ;
+ 	static const VERBOSITY	Default_Verbosity = NORMAL ;
+ 	static const unsigned long	Default_Radius = 0 ; // there is no default radius for all file formats
+ 	static const unsigned int	Max_Algorithm = 3 ;
+-	static const float		Default_Goal = 100.0 ;
++	static float			Default_Goal ;
+ 	static const DEBUGCOMMAND	Default_DebugCommand = NONE ;
+ 	static const bool		Default_Check = false ;
+ 	static const unsigned int	Default_DebugLevel = 0 ;
+ 	static const unsigned int	Default_GmlGraphRecDepth = 0 ;
+ 	static const unsigned int	Default_GmlStartVertex = 0 ;
+--- steghide-0.5.1.old/src/EncryptionMode.h	2003-09-28 17:30:30.000000000 +0200
++++ steghide-0.5.1.new/src/EncryptionMode.h	2008-05-09 19:04:46.000000000 +0200
+@@ -69,11 +69,11 @@
+ 	static const unsigned int NumValues = 8 ;
+ 	IRep Value ;
+ 
+ 	typedef struct struct_Translation {
+ 		IRep	irep ;
+-		char*	srep ;
++		const char*	srep ;
+ 	} Translation ;
+ 	static const Translation Translations[] ;
+ } ;
+ 
+ #endif // ndef SH_ENCMODE_H
+--- steghide-0.5.1.old/src/Graph.cc	2003-10-11 23:54:26.000000000 +0200
++++ steghide-0.5.1.new/src/Graph.cc	2008-05-09 19:04:46.000000000 +0200
+@@ -20,10 +20,12 @@
+ 
+ #include <ctime>
+ #include <list>
+ #include <map>
+ #include <vector>
++#include <algorithm>
++#include <climits>
+ 
+ #include "BitString.h"
+ #include "CvrStgFile.h"
+ #include "Edge.h"
+ #include "Graph.h"
+--- steghide-0.5.1.old/src/Matching.cc	2003-10-11 23:54:30.000000000 +0200
++++ steghide-0.5.1.new/src/Matching.cc	2008-05-09 19:04:46.000000000 +0200
+@@ -16,10 +16,11 @@
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+  *
+  */
+ 
++#include <algorithm>
+ #include "Edge.h"
+ #include "Graph.h"
+ #include "Matching.h"
+ #include "ProgressOutput.h"
+ #include "common.h"
+--- steghide-0.5.1.old/src/ProgressOutput.cc	2003-10-11 11:20:51.000000000 +0200
++++ steghide-0.5.1.new/src/ProgressOutput.cc	2008-05-09 19:04:44.000000000 +0200
+@@ -21,10 +21,12 @@
+ #include <cmath>
+ 
+ #include "ProgressOutput.h"
+ #include "common.h"
+ 
++float ProgressOutput::NoAvgWeight = 1.0 ;
++
+ ProgressOutput::ProgressOutput ()
+ 	: Message("__nomessage__")
+ {
+ 	LastUpdate = time(NULL) - 1 ; // -1 to ensure that message is written first time
+ }
+--- steghide-0.5.1.old/src/ProgressOutput.h	2003-09-28 17:30:30.000000000 +0200
++++ steghide-0.5.1.new/src/ProgressOutput.h	2008-05-09 19:04:44.000000000 +0200
+@@ -60,13 +60,13 @@
+ 	/**
+ 	 * update the output appending rate, [average edge weight], "done" and a newline
+ 	 * \param rate the rate of matched vertices
+ 	 * \param avgweight the average edge weight (is not printed if not given)
+ 	 **/
+-	void done (float rate, float avgweight = NoAvgWeight) const ;
++	void done (float rate, float avgweight = 1.0) const ;
+ 
+-	static const float NoAvgWeight = -1.0 ;
++	static float NoAvgWeight ;
+ 
+ 	protected:
+ 	std::string vcompose (const char *msgfmt, va_list ap) const ;
+ 
+ 	private:
+--- steghide-0.5.1.old/src/SMDConstructionHeuristic.cc	2003-09-28 17:30:30.000000000 +0200
++++ steghide-0.5.1.new/src/SMDConstructionHeuristic.cc	2008-05-09 19:04:46.000000000 +0200
+@@ -16,10 +16,12 @@
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+  *
+  */
+ 
++#include <algorithm>
++
+ #include "Edge.h"
+ #include "Graph.h"
+ #include "Matching.h"
+ #include "SMDConstructionHeuristic.h"
+ #include "Vertex.h"
+--- steghide-0.5.1.old/src/WavFile.cc	2003-09-28 17:30:30.000000000 +0200
++++ steghide-0.5.1.new/src/WavFile.cc	2008-05-09 19:04:46.000000000 +0200
+@@ -19,10 +19,11 @@
+  */
+ 
+ #include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
++#include <algorithm>
+ 
+ #include "CvrStgFile.h"
+ #include "DFSAPHeuristic.h"
+ #include "SampleValueAdjacencyList.h"
+ #include "SMDConstructionHeuristic.h"
+--- steghide-0.5.1.old/src/wrapper_hash_map.h	2003-09-28 17:30:30.000000000 +0200
++++ steghide-0.5.1.new/src/wrapper_hash_map.h	2008-05-09 19:04:46.000000000 +0200
+@@ -25,17 +25,21 @@
+ 
+ #ifdef __GNUC__
+ # if __GNUC__ < 3
+ #  include <hash_map.h>
+     namespace sgi { using ::hash ; using ::hash_map ; } ;
+-# else
++# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 )
+ #  include <ext/hash_map>
+-#  if __GNUC_MINOR__ == 0
++#  if __GNUC__ == 3 &&  __GNUC_MINOR__ == 0
+     namespace sgi = std ;			// GCC 3.0
+ #  else
+     namespace sgi = __gnu_cxx ;	// GCC 3.1 and later
+ #  endif
++# else
++#  include <unordered_map>
++#  define hash_map unordered_map
++   namespace sgi = std ;
+ # endif
+ #else
+   namespace sgi = std ;
+ #endif
+ 
+--- steghide-0.5.1.old/src/wrapper_hash_set.h	2003-09-28 17:30:30.000000000 +0200
++++ steghide-0.5.1.new/src/wrapper_hash_set.h	2008-05-09 19:04:46.000000000 +0200
+@@ -26,17 +26,21 @@
+ 
+ #ifdef __GNUC__
+ # if __GNUC__ < 3
+ #  include <hash_set.h>
+     namespace sgi { using ::hash ; using ::hash_set ; } ;
+-# else
++# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 )
+ #  include <ext/hash_set>
+-#  if __GNUC_MINOR__ == 0
++#  if __GNUC__ == 3 && __GNUC_MINOR__ == 0
+     namespace sgi = std ;			// GCC 3.0
+ #  else
+     namespace sgi = ::__gnu_cxx ;	// GCC 3.1 and later
+ #  endif
++# else
++#  include <unordered_set>
++#  define hash_set unordered_set
++   namespace sgi = std ;
+ # endif
+ #else
+   namespace sgi = std ;
+ #endif
+ 
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index e361746c57b..ab46af5a1cd 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -1,52 +1,53 @@
 { stdenv, fetchurl, coreutils, pam, groff }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.6p7";
+  name = "sudo-1.8.10p3";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "0djh2b14d1b1knah46v971x940rz63hvnskz16fzami3nbnqj41h";
+    sha256 = "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf";
   };
 
-  postConfigure = ''
-    cat >> pathnames.h <<EOF
-    #undef  _PATH_SUDO_LOGFILE
-    #define _PATH_SUDO_LOGFILE "/var/log/sudo.log"
-    #undef  _PATH_SUDO_TIMEDIR
-    #define _PATH_SUDO_TIMEDIR "/run/sudo"
-    #undef  _PATH_VI
-    #define _PATH_VI "/run/current-system/sw/bin/nano"
-    #undef  _PATH_MV
-    #define _PATH_MV "${coreutils}/bin/mv"
+  configureFlags = [
+    "--with-env-editor"
+    "--with-editor=/run/current-system/sw/bin/nano"
+    "--with-rundir=/var/run"
+    "--with-vardir=/var/db/sudo"
+    "--with-logpath=/var/log/sudo.log"
+  ];
+
+  postConfigure =
+    ''
+    cat >> pathnames.h <<'EOF'
+      #undef _PATH_MV
+      #define _PATH_MV "${coreutils}/bin/mv"
     EOF
-
     makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
-    installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc timedir=$TMPDIR/dummy"
-  '';
+    installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy"
+    '';
 
   buildInputs = [ coreutils pam groff ];
 
   enableParallelBuilding = true;
 
-  postInstall = ''
-    # ‘visudo’ does not make sense on NixOS.
-    rm $out/sbin/visudo $out/share/man/man8/visudo.8
-
-    rm $out/share/doc/sudo/ChangeLog
-  '';
+  postInstall = 
+    ''
+    rm -f $out/share/doc/sudo/ChangeLog
+    '';
 
   meta = {
     description = "A command to run commands as root";
 
-    longDescription = ''
+    longDescription = 
+      ''
       Sudo (su "do") allows a system administrator to delegate
       authority to give certain users (or groups of users) the ability
       to run some (or all) commands as root or another user while
       providing an audit trail of the commands and their arguments.
-    '';
+      '';
 
     homepage = http://www.sudo.ws/;
 
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
new file mode 100644
index 00000000000..1c9967edc47
--- /dev/null
+++ b/pkgs/tools/security/tboot/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, trousers, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "tboot-1.8.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tboot/${name}.tar.gz";
+    sha256 = "1l9ccm7ik9fs7kzg1bjc5cjh0pcf4v0k1c84dmyr51r084i7p31m";
+  };
+
+  buildInputs = [ trousers openssl zlib ];
+
+  patches = [ ./tboot-add-well-known-secret-option-to-lcp_writepol.patch ];
+
+  configurePhase = ''
+    for a in lcptools utils tb_polgen; do
+      substituteInPlace $a/Makefile --replace /usr/sbin /sbin
+    done
+    substituteInPlace docs/Makefile --replace /usr/share /share
+  '';
+  installFlags = "DESTDIR=$(out)";
+
+  meta = with stdenv.lib; {
+    description = ''Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
+                    Intel(R) Trusted Execution Technology (Intel(R) TXT) to perform a measured
+                    and verified launch of an OS kernel/VMM.'';
+    homepage    = http://sourceforge.net/projects/tboot/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
new file mode 100644
index 00000000000..a16ba9f4fba
--- /dev/null
+++ b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
@@ -0,0 +1,50 @@
+diff -urp tboot-1.8.0.orig/lcptools/writepol.c tboot-1.8.0/lcptools/writepol.c
+--- tboot-1.8.0.orig/lcptools/writepol.c	2014-01-30 10:34:57.000000000 +0100
++++ tboot-1.8.0/lcptools/writepol.c	2014-02-12 01:48:51.523581057 +0100
+@@ -40,6 +40,7 @@
+ #include <getopt.h>
+ #include <trousers/tss.h>
+ #include <trousers/trousers.h>
++#include <tss/tss_defines.h>
+ 
+ #define PRINT   printf
+ #include "../include/uuid.h"
+@@ -51,14 +52,15 @@ static uint32_t index_value = 0;
+ static char *file_arg=NULL;
+ static uint32_t fLeng;
+ static unsigned char *policy_data = NULL;
+-static char *password = NULL;
++static const char *password = NULL;
+ static uint32_t passwd_length = 0;
++static const char well_known_secret[] = TSS_WELL_KNOWN_SECRET;
+ static int help_input = 0;
+ static unsigned char empty_pol_data[] = {0};
+ 
+-static const char *short_option = "ehi:f:p:";
++static const char *short_option = "ehi:f:p:Z";
+ static const char *usage_string = "lcp_writepol -i index_value "
+-                                  "[-f policy_file] [-e] [-p passwd] [-h]";
++                                  "[-f policy_file] [-e] [-p passwd|-Z] [-h]";
+ 
+ static const char *option_strings[] = {
+     "-i index value: uint32/string.\n"
+@@ -67,6 +69,7 @@ static const char *option_strings[] = {
+     "\tINDEX_AUX:0x50000002 or \"aux\"\n",
+     "-f file_name: string. File name of the policy data is stored. \n",
+     "-p password: string. \n",
++    "-Z use well known secret as password. \n",
+     "-e write 0 length data to the index.\n"
+     "\tIt will be used for some special index.\n"
+     "\tFor example, the index with permission WRITEDEFINE.\n",
+@@ -119,6 +122,11 @@ parse_cmdline(int argc, const char * arg
+                 fLeng = 0;
+                 break;
+ 
++            case 'Z':
++                password = well_known_secret;
++                passwd_length = sizeof(well_known_secret);
++                break;
++
+             case 'h':
+                 help_input = 1;
+                 break;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index e8c27c5f2b1..d71bbd891f9 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libevent, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.3.25";
+  name = "tor-0.2.4.23";
 
   src = fetchurl {
-    url = "http://www.torproject.org/dist/${name}.tar.gz";
-    sha256 = "bb2d6f1136f33e11d37e6e34184143bf191e59501613daf33ae3d6f78f3176a0";
+    url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
+    sha256 = "0a8l6d82hk4wbn7nlphd3c1maxhgdli8338wbg5r9dk6zcy7k8q5";
   };
 
   buildInputs = [ libevent openssl zlib ];
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.torproject.org/;
+    repositories.git = https://git.torproject.org/git/tor;
     description = "Tor, an anonymous network router to improve privacy on the Internet";
 
     longDescription=''
@@ -30,10 +31,7 @@ stdenv.mkDerivation rec {
 
     license="mBSD";
 
-    maintainers =
-      [ # Russell O’Connor <roconnor@theorem.ca> ?
-        stdenv.lib.maintainers.ludo
-      ];
+    maintainers = with stdenv.lib.maintainers; [ phreedom ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
new file mode 100644
index 00000000000..f220a46bddc
--- /dev/null
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, buildEnv
+, xlibs, alsaLib, dbus, dbus_glib, glib, gtk, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib}:
+let
+  bits = if stdenv.system == "x86_64-linux" then "64"
+         else "32";
+
+  # isolated tor environment
+  torEnv = buildEnv {
+    name = "tor-env";
+    paths = [
+      stdenv.gcc.gcc zlib glib alsaLib dbus dbus_glib gtk atk pango freetype
+      fontconfig gdk_pixbuf cairo xlibs.libXrender xlibs.libX11 xlibs.libXext
+      xlibs.libXt
+    ];
+  };
+
+  ldLibraryPath = if bits == "64" then torEnv+"/lib:"+torEnv+"/lib64"
+        else torEnv+"/lib";
+
+in stdenv.mkDerivation rec {
+  name = "tor-browser-${version}";
+  version = "3.6.2";
+
+  src = fetchurl {
+    url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz";
+    sha256 = if bits == "64" then
+      "1rfv59k9mia6hr1z1k4im20dy59ir7i054cgf78sfj1zsh08q7hf" else
+      "1klkk1k5r51pcx44r1z3sw08fqcl2f2v5iblf4yh83js482c37r8";
+  };
+
+  patchPhase = ''
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" Browser/firefox
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" Tor/tor
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    # Just do a simple test if all libraries get loaded by running help on
+    # firefox and tor
+    echo "Checking firefox..."
+    LD_LIBRARY_PATH=${ldLibraryPath} Browser/firefox --help 1> /dev/null
+    echo "Checking tor..."
+    LD_LIBRARY_PATH=${torEnv}/lib:Tor Tor/tor --help 1> /dev/null
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/tor-browser
+    mkdir -p $out/bin
+    cp -R * $out/share/tor-browser
+
+    cat > "$out/bin/tor-browser" << EOF
+      export HOME="\$HOME/.torbrowser"
+      if [ ! -d \$HOME ]; then
+        mkdir -p \$HOME && cp -R $out/share/tor-browser/Data \$HOME/ && chmod -R +w \$HOME
+        echo "pref(\"extensions.torlauncher.tordatadir_path\", \"\$HOME/Data/Tor/\");" >> \
+          ~/Data/Browser/profile.default/preferences/extension-overrides.js
+      fi
+      export LD_LIBRARY_PATH=${ldLibraryPath}:$out/share/tor-browser/Tor
+      $out/share/tor-browser/Browser/firefox -no-remote -profile ~/Data/Browser/profile.default "$@"
+    EOF
+    chmod +x $out/bin/tor-browser
+  '';
+
+  buildInputs = [ stdenv ];
+
+  meta = with stdenv.lib; {
+    description = "Tor Browser Bundle for GNU/Linux, everything you need to safely browse the Internet";
+    homepage = https://www.torproject.org/;
+    platforms = ["i686-linux" "x86_64-linux"];
+    maintainers = [ maintainers.offline maintainers.matejc ];
+  };
+}
diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix
index 0254b143edf..f8e76c4e83b 100644
--- a/pkgs/tools/security/tor/torsocks.nix
+++ b/pkgs/tools/security/tor/torsocks.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "use socks-friendly applications with Tor";
     homepage = http://code.google.com/p/torsocks/;
     repositories.git = https://git.torproject.org/torsocks.git;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/security/tpm-quote-tools/default.nix b/pkgs/tools/security/tpm-quote-tools/default.nix
new file mode 100644
index 00000000000..c178d401154
--- /dev/null
+++ b/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+stdenv.mkDerivation {
+  name = "tpm-quote-tools-1.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/tpmquotetools/1.0.2/tpm-quote-tools-1.0.2.tar.gz";
+    sha256 = "17bf9d1hiiaybx6rgl0sqcb0prjz6d2mv8fwp4bj1c0rsfw5dbk8";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''The TPM Quote Tools is a collection of programs that provide support
+                    for TPM based attestation using the TPM quote mechanism.  The manual
+                    page for tpm_quote_tools provides a usage overview.'';
+    homepage    = http://tpmquotetools.sourceforge.net/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
new file mode 100644
index 00000000000..95b3b6b51f7
--- /dev/null
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+let
+  version = "1.3.8";
+in
+stdenv.mkDerivation rec {
+  name = "tpm-tools-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/tpm-tools/${version}/${name}.tar.gz";
+    sha256 = "10za1gi89vi9m2lmm7jfzs281h55x1sbbm2bdgdh692ljpq4zsv6";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''tpm-tools is an open-source package designed to enable user and application
+                    enablement of Trusted Computing using a Trusted Platform Module (TPM),
+                    similar to a smart card environment.'';
+    homepage    = http://sourceforge.net/projects/trousers/files/tpm-tools/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
new file mode 100644
index 00000000000..774a14f72ba
--- /dev/null
+++ b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
@@ -0,0 +1,19 @@
+diff -ur trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c trousers-0.3.11.2/src/tcsd/tcsd_conf.c
+--- trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c	2013-07-12 18:27:37.000000000 +0200
++++ trousers-0.3.11.2/src/tcsd/tcsd_conf.c	2013-08-21 14:29:42.917231648 +0200
+@@ -763,6 +763,7 @@
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
+ 
++#ifndef ALLOW_NON_TSS_CONFIG_FILE
+ 	/* make sure user/group TSS owns the conf file */
+ 	if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) {
+ 		LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file,
+@@ -775,6 +776,7 @@
+ 		LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file);
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
++#endif
+ #endif /* SOLARIS */
+ 
+ 	if ((f = fopen(tcsd_config_file, "r")) == NULL) {
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
new file mode 100644
index 00000000000..4c2af359b96
--- /dev/null
+++ b/pkgs/tools/security/trousers/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, openssl }:
+
+let
+  ver_maj = "0.3.11";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "trousers-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/trousers/${ver_maj}/${name}.tar.gz";
+    sha256 = "1m9qi4452jr5yy4y9zyfi5ndwam5krq7ny8z2q3f91v1hcjgk5la";
+  };
+
+  buildInputs = [ openssl ];
+
+  patches = [ # ./double-installed-man-page.patch
+              ./disable-install-rule.patch
+              ./allow-non-tss-config-file-owner.patch
+            ];
+
+  NIX_CFLAGS_COMPILE = "-DALLOW_NON_TSS_CONFIG_FILE";
+  NIX_LDFLAGS = "-lgcc_s";
+
+  meta = with stdenv.lib; {
+    description = "TrouSerS is an CPL (Common Public License) licensed Trusted Computing Software Stack.";
+    homepage    = http://trousers.sourceforge.net/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/disable-install-rule.patch b/pkgs/tools/security/trousers/disable-install-rule.patch
new file mode 100644
index 00000000000..698beac9ffd
--- /dev/null
+++ b/pkgs/tools/security/trousers/disable-install-rule.patch
@@ -0,0 +1,27 @@
+--- trousers-0.3.11/dist/Makefile.in	2013-08-14 06:49:37.597558787 +0200
++++ trousers-0.3.11/dist/Makefile.in	2013-08-14 06:50:07.134510774 +0200
+@@ -363,16 +363,16 @@
+ 	uninstall uninstall-am uninstall-hook
+ 
+ install: install-exec-hook
+-	if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
+-	/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
+-	/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
++#	echo if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
++	echo /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
++	echo /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
+ 
+ install-exec-hook:
+-	/usr/sbin/groupadd tss || true
+-	/usr/sbin/useradd -r tss -g tss || true
+-	/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+-	/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+-	/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
++	echo /usr/sbin/groupadd tss || true
++	echo /usr/sbin/useradd -r tss -g tss || true
++	echo /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
++	echo /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
++	echo /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+ 
+ uninstall-hook:
+ 	/usr/sbin/userdel tss || true
diff --git a/pkgs/tools/security/trousers/double-installed-man-page.patch b/pkgs/tools/security/trousers/double-installed-man-page.patch
new file mode 100644
index 00000000000..6b40716120e
--- /dev/null
+++ b/pkgs/tools/security/trousers/double-installed-man-page.patch
@@ -0,0 +1,32 @@
+--- trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:57:47.018494495 +0200
++++ trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:58:10.353453471 +0200
+@@ -75,7 +75,6 @@
+ 	    Tspi_TPM_TakeOwnership.3 \
+ 	    Tspi_TPM_GetAuditDigest.3 \
+ 	    Tspi_TPM_OwnerGetSRKPubKey.3 \
+-	    Tspi_TPM_Quote.3 \
+ 	    Tspi_TPM_CMKSetRestrictions.3
+ if TSS_BUILD_DAA
+ man3_MANS += Tspi_DAA_IssueCredential.3 \
+--- trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:25.029490899 +0200
++++ trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:43.153457942 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
+--- trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:05.686414845 +0200
++++ trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:23.233381327 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
diff --git a/pkgs/tools/security/vidalia/default.nix b/pkgs/tools/security/vidalia/default.nix
index 6f34d61908e..f221a1b89e6 100644
--- a/pkgs/tools/security/vidalia/default.nix
+++ b/pkgs/tools/security/vidalia/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchurl, cmake, qt4 }:
+{ stdenv, fetchurl, cmake, qt4, doxygen }:
 stdenv.mkDerivation rec {
 
   name = "vidalia-${version}";
-  version = "0.2.21";
+  version = "0.3.1";
 
   src = fetchurl {
     url = "https://www.torproject.org/dist/vidalia/${name}.tar.gz";
-    sha256 = "1rqvvhdqgk6jqrd15invvc4r7p4nckd3b93hhr5dzpc1fxz8w064";
+    sha256 = "1mw3wnlh18rj20qjv7jxjk3a8mf75p5wzv358qfs3sm3lqgd68qm";
   };
 
-  buildInputs = [ cmake qt4 ];
+  buildInputs = [ cmake qt4 doxygen ];
+
+  patches = [ ./gcc-4.7.patch ];
 
   meta = with stdenv.lib; {
     homepage = https://www.torproject.org/projects/vidalia.html.en;
+    repositories.git = git://git.torproject.org/vidalia;
     description = "a cross-platform graphical controller for the Tor software, built using the Qt framework";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.phreedom ];
diff --git a/pkgs/tools/security/vidalia/gcc-4.7.patch b/pkgs/tools/security/vidalia/gcc-4.7.patch
new file mode 100644
index 00000000000..4c163af760c
--- /dev/null
+++ b/pkgs/tools/security/vidalia/gcc-4.7.patch
@@ -0,0 +1,12 @@
+diff -ru vidalia-0.3.1_orig/src/vidalia/plugin/PluginEngine.cpp vidalia-0.3.1/src/vidalia/plugin/PluginEngine.cpp
+--- vidalia-0.3.1_orig/src/vidalia/plugin/PluginEngine.cpp	2012-08-08 18:02:01.901732270 +0200
++++ vidalia-0.3.1/src/vidalia/plugin/PluginEngine.cpp	2012-08-08 18:03:26.241677875 +0200
+@@ -20,6 +20,8 @@
+ 
+ #include "Vidalia.h"
+ 
++#include <unistd.h>
++
+ PluginEngine::PluginEngine(QObject *parent)
+   : QScriptEngine(parent)
+ {
diff --git a/pkgs/tools/security/volatility/default.nix b/pkgs/tools/security/volatility/default.nix
new file mode 100644
index 00000000000..41e227cee7e
--- /dev/null
+++ b/pkgs/tools/security/volatility/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, buildPythonPackage, pycrypto }:
+
+buildPythonPackage rec {
+  namePrefix = "";
+  name = "volatility-2.3.1";
+
+  src = fetchurl {
+    url = "http://volatility.googlecode.com/files/${name}.tar.gz";
+    sha256 = "bb1411fc671e0bf550a31e534fb1991b2f940f1dce1ebe4ce2fb627aec40726c";
+  };
+
+  doCheck = false;
+
+  propagatedBuildInputs = [ pycrypto ];
+
+  meta = with stdenv.lib; {
+    homepage = https://code.google.com/p/volatility;
+    description = "advanced memory forensics framework";
+    maintainers = with maintainers; [ bosu ];
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/tools/system/acct/default.nix b/pkgs/tools/system/acct/default.nix
index 1095d702d25..0bea6bec354 100644
--- a/pkgs/tools/system/acct/default.nix
+++ b/pkgs/tools/system/acct/default.nix
@@ -1,15 +1,13 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "acct-6.5.5";
+  name = "acct-6.6.1";
 
   src = fetchurl {
     url = "mirror://gnu/acct/${name}.tar.gz";
-    sha256 = "1mbg18acrva5m7kxc9pzhaknsqm4r90nrp7ax9jkm9wjkrxwhqs1";
+    sha256 = "1jzz601cavml7894fjalw661gz28ia35002inw990agr3rhiaiam";
   };
 
-  patches = [ ./no-gets.patch ];
-
   doCheck = true;
 
   meta = {
@@ -22,11 +20,11 @@ stdenv.mkDerivation rec {
       execution statistics.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/acct/;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/tools/system/acct/no-gets.patch b/pkgs/tools/system/acct/no-gets.patch
deleted file mode 100644
index 3478b66de9d..00000000000
--- a/pkgs/tools/system/acct/no-gets.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-hack until acct pulls a newer gnulib version
-
-From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
-From: Eric Blake <eblake@redhat.com>
-Date: Thu, 29 Mar 2012 13:30:41 -0600
-Subject: [PATCH] stdio: don't assume gets any more
-
-Gnulib intentionally does not have a gets module, and now that C11
-and glibc have dropped it, we should be more proactive about warning
-any user on a platform that still has a declaration of this dangerous
-interface.
-
---- a/lib/stdio.in.h
-+++ b/lib/stdio.in.h
-@@ -125,7 +125,6 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/pkgs/tools/system/ansible/default.nix b/pkgs/tools/system/ansible/default.nix
new file mode 100644
index 00000000000..b3d40712926
--- /dev/null
+++ b/pkgs/tools/system/ansible/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, pythonPackages, python }:
+
+pythonPackages.buildPythonPackage rec {
+  version = "1.6.10";
+  name = "ansible-${version}";
+  namePrefix = "";
+  
+  src = fetchurl {
+    url = "https://github.com/ansible/ansible/archive/v${version}.tar.gz";
+    sha256 = "0j133353skzb6ydrqqgfkzbkkj1zaibl1x8sgl0arnfma8qky1g1";
+  };
+
+  prePatch = ''
+    sed -i "s,\/usr\/share\/ansible\/,$out/share/ansible," lib/ansible/constants.py 
+  '';
+
+  doCheck = false;
+  dontStrip = true;
+  dontPatchELF = true;
+  dontPatchShebangs = true;
+
+  propagatedBuildInputs = with pythonPackages; [
+    paramiko jinja2 pyyaml httplib2 boto
+  ];
+
+  postFixup = ''
+      wrapPythonProgramsIn $out/bin "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.ansible.com";
+    description = "A simple automation tool";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.joamaki ];
+    platforms = platforms.linux; # Only tested on Linux
+  };
+}
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index 252400bd7f4..2964db34e12 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, bison, flex, pam, ssmtp }:
 
 stdenv.mkDerivation {
-  name = "at-3.1.12";
+  name = "at-3.1.14";
 
   src = fetchurl {
     # Debian is apparently the last location where it can be found.
-    url = mirror://debian/pool/main/a/at/at_3.1.12.orig.tar.gz;
-    sha256 = "1wqqrj4lg2ix79ib5kz7lk4hbs1zpw72n6zkd2gdv2my9ymwcmbw";
+    url = mirror://debian/pool/main/a/at/at_3.1.14.orig.tar.gz;
+    sha256 = "cd092bf05d29c25b286f55a960ce8b8c3c5beb571d86ed8eb1dfb3b61291b3ae";
   };
 
   patches = [ ./install.patch ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = ''The classical Unix `at' job scheduling command'';
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://packages.qa.debian.org/at;
   };
 }
diff --git a/pkgs/tools/system/at/install.patch b/pkgs/tools/system/at/install.patch
index 9db336e9bfe..0297d680aa4 100644
--- a/pkgs/tools/system/at/install.patch
+++ b/pkgs/tools/system/at/install.patch
@@ -1,6 +1,6 @@
---- at-3.1.10.1/Makefile.in	2005-08-29 10:08:28.000000000 +0200
-+++ at-3.1.10.1/Makefile.in	2008-04-01 11:05:38.000000000 +0200
-@@ -88,35 +88,28 @@ atrun: atrun.in
+--- at-3.1.14/Makefile.in	2013-09-08 14:43:53.000000000 +0200
++++ at-3.1.14/Makefile.in	2014-07-27 20:42:04.017703443 +0200
+@@ -91,35 +91,28 @@
  	$(CC) -c $(CFLAGS) $(DEFS) $*.c
  
  install: all
@@ -15,7 +15,7 @@
 -	chmod 600 $(IROOT)$(LFILE)
 -	chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE)
 -	test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/
--	$(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at $(IROOT)$(bindir)
+-	$(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir)
 +	$(INSTALL) -m 755 -d $(IROOT)$(bindir)
 +	$(INSTALL) -m 755 -d $(IROOT)$(sbindir)
 +	$(INSTALL) -m 755 -d $(IROOT)$(docdir)
@@ -27,7 +27,7 @@
 -	$(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir)
 -	$(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir)
 -	$(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir)
--	$(INSTALL) -g root -o root -m 755 -s atd $(IROOT)$(sbindir)
+-	$(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir)
 -	$(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir)
 -	$(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/
 +	$(INSTALL) -m 755 batch $(IROOT)$(bindir)
@@ -44,12 +44,11 @@
 -	$(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
 +	$(INSTALL) -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
  	rm -f tmpman
--	$(INSTALL) -g root -o root -m 644 at_allow.5 $(IROOT)$(man5dir)/
-+	$(INSTALL) -m 644 at_allow.5 $(IROOT)$(man5dir)/
- 	cd $(IROOT)$(man5dir) && $(LN_S) -f at_allow.5 at_deny.5 
+-	$(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/
++	$(INSTALL) -m 644 at.allow.5 $(IROOT)$(man5dir)/
+ 	cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
 -	$(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir)
 +	$(INSTALL) -m 644 $(DOCS) $(IROOT)$(atdocdir)
  	rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
  		$(IROOT)$(mandir)/cat1/atq.1*
  	rm -f $(IROOT)$(mandir)/cat1/atd.8*
-
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 37283fc18a4..4210a0a04a5 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -1,19 +1,55 @@
-{stdenv, fetchurl }:
+{ stdenv, fetchurl
+# optional:
+, pkgconfig ? null  # most of the extra deps need pkgconfig to be found
+, curl ? null
+, iptables ? null
+, libcredis ? null
+, libdbi ? null
+, libgcrypt ? null
+, libmemcached ? null, cyrus_sasl ? null
+, libmodbus ? null
+, libnotify ? null, gdk_pixbuf ? null
+, liboping ? null
+, libpcap ? null
+, libsigrok ? null
+, libvirt ? null
+, libxml2 ? null
+, lm_sensors ? null
+, lvm2 ? null
+, mysql ? null
+, postgresql ? null
+, protobufc ? null
+, rabbitmq-c ? null
+, rrdtool ? null
+, varnish ? null
+, yajl ? null
+}:
 
 stdenv.mkDerivation rec {
-  name = "collectd-5.4.0";
-  
+  name = "collectd-5.4.1";
+
   src = fetchurl {
     url = "http://collectd.org/files/${name}.tar.bz2";
-    sha256 = "0gljf5c60q6i0nrii6addxy1p76qqixww8zy17a7a1zil6a3i5wh";
+    sha256 = "1q365zx6d1wyhv7n97bagfxqnqbhj2j14zz552nhmjviy8lj2ibm";
   };
 
   NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
 
-  meta = {
+  buildInputs = [
+    pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl
+    libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
+    lm_sensors libxml2 lvm2 mysql postgresql protobufc rabbitmq-c rrdtool
+    varnish yajl
+  ];
+
+  # for some reason libsigrok isn't auto-detected
+  configureFlags = stdenv.lib.optional (libsigrok != null) "--with-libsigrok";
+
+  meta = with stdenv.lib; {
+    description = "Daemon which collects system performance statistics periodically";
     homepage = http://collectd.org;
-    description = "collectd is a daemon which collects system performance statistics periodically";
-    platforms = stdenv.lib.platforms.linux;
-    license = "GPLv2";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix
index 57f9a1a57d5..9c7f0413421 100644
--- a/pkgs/tools/system/dd_rescue/default.nix
+++ b/pkgs/tools/system/dd_rescue/default.nix
@@ -1,63 +1,37 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, autoconf }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="dd_rescue";
-    version="1.22";
-    name="${baseName}-${version}";
+stdenv.mkDerivation rec {
+  name = "dd_rescue-1.42.1";
+
+  src = fetchurl {
+    sha256 = "0g2d292m1cnp8syy19hh5jvly3zy7lcvcj563wgjnf20ppm2diaq";
     url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.gz";
-    hash="0n0vs4cn5csdcsmlndg3z36ws68zlckj17zrbm6wynrbs8iirclp";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-  dd_rhelp_src = a.fetchurl {
-    url = "http://www.kalysto.org/pkg/dd_rhelp-0.1.2.tar.gz";
-    sha256 = "0fhzkflg1ygiaj5ha0bf594d76vlgjsfwlpcmwrbady9frxvlkvv";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  dd_rhelp_src = fetchurl {
+    url = "http://www.kalysto.org/pkg/dd_rhelp-0.3.0.tar.gz";
+    sha256 = "0br6fs23ybmic3i5s1w4k4l8c2ph85ax94gfp2lzjpxbvl73cz1g";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doMakeInstall" "install_dd_rhelp" "fixPaths"];
-  makeFlags=[
-    ''prefix="$out"''
-    ''DESTDIR="$out"''
-    ''INSTASROOT=''
-  ];
+  buildInputs = [ autoconf ];
 
-  fixPaths = a.doPatchShebangs ''$out/bin'';
+  preBuild = ''
+    substituteInPlace Makefile \
+      --replace "\$(DESTDIR)/usr" "$out" \
+      --replace "-o root" "" \
+      --replace "-g root" "" 
+  '';
+  makeFlags = [ "LIBDIR=$out" ];
 
-  install_dd_rhelp = a.fullDepEntry (''
+  postInstall = ''
     mkdir -p "$out/share/dd_rescue" "$out/bin"
     tar xf "${dd_rhelp_src}" -C "$out/share/dd_rescue"
     cp "$out/share/dd_rescue"/dd_rhelp*/dd_rhelp "$out/bin"
-  '') ["minInit" "defEnsureDir"];
+  '';
       
-  meta = {
+  meta = with stdenv.lib; {
     description = "A tool to copy data from a damaged block device";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.garloff.de/kurt/linux/ddrescue/";
-    };
+    maintainers = with maintainers; [ raskin iElectric ];
+    platforms = with platforms; linux;
   };
-}) x
-
+}
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index 9afad675bb9..e247c84dcf9 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lzip }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.16";
+  name = "ddrescue-1.18.1";
 
   src = fetchurl {
-    url = "mirror://gnu/ddrescue/${name}.tar.gz";
-    sha256 = "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn";
+    url = "mirror://gnu/ddrescue/${name}.tar.lz";
+    sha256 = "1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq";
   };
 
+  buildInputs = [ lzip ];
+
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNU ddrescue, a data recovery tool";
 
     longDescription =
@@ -38,9 +40,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/ddrescue/ddrescue.html;
 
-    license = "GPLv3+";
+    license = licenses.gpl3Plus;
 
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ iElectric ];
   };
 }
diff --git a/pkgs/tools/system/efibootmgr/arbitrary-filenames.patch b/pkgs/tools/system/efibootmgr/arbitrary-filenames.patch
deleted file mode 100644
index ae542ac8795..00000000000
--- a/pkgs/tools/system/efibootmgr/arbitrary-filenames.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur efibootmgr-0.5.4-orig/src/lib/efi.c efibootmgr-0.5.4/src/lib/efi.c
---- efibootmgr-0.5.4-orig/src/lib/efi.c	2008-01-03 15:34:01.000000000 +0100
-+++ efibootmgr-0.5.4/src/lib/efi.c	2012-03-13 22:25:51.000000000 +0100
-@@ -495,7 +495,8 @@
-     int rc, edd_version=0;
-     uint8_t mbr_type=0, signature_type=0;
-     uint64_t start=0, size=0;
--    efi_char16_t os_loader_path[40];
-+    efi_char16_t *os_loader_path;
-+    size_t os_loader_path_size;
- 
-     memset(signature, 0, sizeof(signature));
- 
-@@ -535,7 +536,9 @@
- 				     signature,
- 				     mbr_type, signature_type);
- 
--    efichar_from_char(os_loader_path, opts.loader, sizeof(os_loader_path));
-+    os_loader_path_size = sizeof(efi_char16_t) * (1 + strlen(opts.loader) / sizeof(char));
-+    os_loader_path = malloc(os_loader_path_size);
-+    efichar_from_char(os_loader_path, opts.loader, os_loader_path_size);
-     p += make_file_path_device_path (p, os_loader_path);
-     p += make_end_device_path       (p);
- 
diff --git a/pkgs/tools/system/efibootmgr/default.nix b/pkgs/tools/system/efibootmgr/default.nix
index 618454d87a4..67b97ea75b1 100644
--- a/pkgs/tools/system/efibootmgr/default.nix
+++ b/pkgs/tools/system/efibootmgr/default.nix
@@ -1,17 +1,15 @@
-{stdenv, fetchurl, pciutils, perl, zlib}:
+{ stdenv, fetchgit, perl, efivar, pciutils, zlib }:
 
-let version = "0.5.4"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "efibootmgr-${version}";
+  version = "0.7.0";
 
-  buildInputs = [ pciutils zlib perl ];
+  buildInputs = [ perl efivar pciutils zlib ];
 
-  patches = [ ./arbitrary-filenames.patch ];
-  
-  src = fetchurl {
-    url = "http://linux.dell.com/efibootmgr/permalink/efibootmgr-${version}.tar.gz";
-    sha256 = "0wcfgf8x4p4xfh38m9x3njwsxibm9bhnmvpjj94lj9sk9xxa8qmm";
+  src = fetchgit {
+    url = "git://github.com/vathpela/efibootmgr.git";
+    rev = "refs/tags/${name}";
+    sha256 = "1nazmqxppx2xa8clv4bjdb1b6gyyimgjdj85n2hmf1smqr8krrmz";
   };
 
   postPatch = ''
@@ -19,16 +17,13 @@ stdenv.mkDerivation {
       --replace "/usr/bin/perl" "${perl}/bin/perl"
   '';
 
-  preBuild = ''
-    export makeFlags="BINDIR=$out/sbin"
-  '';
+  installFlags = [ "BINDIR=$(out)/sbin" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
     homepage = http://linux.dell.com/efibootmgr/;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ shlevy ];
+    platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
new file mode 100644
index 00000000000..618623146ba
--- /dev/null
+++ b/pkgs/tools/system/efivar/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, popt }:
+
+stdenv.mkDerivation rec {
+  name = "efivar-${version}";
+  version = "0.10";
+
+  src = fetchgit {
+    url = "git://github.com/vathpela/efivar.git";
+    rev = "refs/tags/${version}";
+    sha256 = "04fznbmrf860b4d4i8rshx3mgwbx06v187wf1rddvxxnpkq8920w";
+  };
+
+  buildInputs = [ popt ];
+
+  installFlags = [
+    "libdir=$(out)/lib"
+    "mandir=$(out)/share/man"
+    "includedir=$(out)/include"
+    "bindir=$(out)/bin"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/vathpela/efivar;
+    description = "Tools and library to manipulate EFI variables";
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/tools/system/evemu/default.nix b/pkgs/tools/system/evemu/default.nix
new file mode 100644
index 00000000000..90833b83683
--- /dev/null
+++ b/pkgs/tools/system/evemu/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchgit, automake, autoconf, libtool, pkgconfig, pythonPackages
+, libevdev, linuxHeaders
+}:
+
+stdenv.mkDerivation rec {
+  name = "evemu-${version}";
+  version = "2.0.0";
+
+  # We could have downloaded a release tarball from cgit, but it changes hash
+  # each time it is downloaded :/
+  src = fetchgit {
+    url = git://git.freedesktop.org/git/evemu;
+    rev = "refs/tags/v${version}";
+    sha256 = "1509b524a2483054a45698c485968094dd8c0f857bba7333449e9d05acbfbd2c";
+  };
+
+  buildInputs = [
+    automake autoconf libtool pkgconfig pythonPackages.python
+    pythonPackages.evdev libevdev
+  ];
+
+  preConfigure = ''
+    ./autogen.sh --prefix=$out
+  '';
+
+  postPatch = ''
+    substituteInPlace src/make-event-names.py --replace "/usr/include/linux/input.h" "${linuxHeaders}/include/linux/input.h"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system";
+    homepage = http://www.freedesktop.org/wiki/Evemu/;
+    repositories.git = git://git.freedesktop.org/git/evemu;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.amorsillo ];
+  };
+}
diff --git a/pkgs/tools/system/fakechroot/default.nix b/pkgs/tools/system/fakechroot/default.nix
new file mode 100644
index 00000000000..a652a1e84ef
--- /dev/null
+++ b/pkgs/tools/system/fakechroot/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "fakechroot-${version}";
+  version = "2.17.2";
+
+  src = fetchurl {
+    url = "https://github.com/dex4er/fakechroot/archive/${version}.tar.gz";
+    md5 = "e614f62972efa4654fc780ae7e4affad";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dex4er/fakechroot;
+    description = "Give a fake chroot environment through LD_PRELOAD";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [offline];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index 1bf18ed867c..9764ae6ce0e 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://fakeroot.alioth.debian.org/;
     description = "Give a fake root environment through LD_PRELOAD";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/system/fcron/default.nix b/pkgs/tools/system/fcron/default.nix
index 5a70843ff6b..f546cd8f5ff 100644
--- a/pkgs/tools/system/fcron/default.nix
+++ b/pkgs/tools/system/fcron/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   meta = { 
     description="A command scheduler with extended capabilities over cron and anacron";
     homepage = http://fcron.free.fr;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/system/fdisk/default.nix b/pkgs/tools/system/fdisk/default.nix
index 111408d1339..9a4ac260ecc 100644
--- a/pkgs/tools/system/fdisk/default.nix
+++ b/pkgs/tools/system/fdisk/default.nix
@@ -20,11 +20,10 @@ stdenv.mkDerivation rec {
       cfdisk.  It uses GNU Parted.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/fdisk/;
 
-    maintainers = [ ];
-    #platforms = stdenv.lib.platforms.linux; # was failing for long without anyone complaining
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index b4ddca4371e..c408c0f34ea 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://git.kernel.dk/?p=fio.git;a=summary";
     description = "Flexible IO Tester - an IO benchmark tool";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 82377aa92f5..21a67dba305 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libgcrypt, readline }:
 
 stdenv.mkDerivation rec {
-  name = "freeipmi-1.1.3";
+  name = "freeipmi-1.3.4";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "11kawxzk8cp9g3q5hdm1sqgzanprc2gagjdnm33lyz5df8xjfkmk";
+    sha256 = "0gadf3yj019y3rvgf34pxk502p0p6nrhy6nwldvvir5rknndxh63";
   };
 
   buildInputs = [ libgcrypt readline ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/freeipmi/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index 7c8c2ec09ed..0fe4cbc986c 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libuuid, popt, icu, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "gptfdisk-0.8.6";
+  name = "gptfdisk-0.8.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/gptfdisk/${name}.tar.gz";
-    sha256 = "1cj7lribq8f3i4q6463q08bs42pvlzfj0iz2f2cnjn94hiacsya5";
+    sha256 = "16myqa72mp0wyhca8il299h1gd6k6sr7m52qcr97j840wk0fjcac";
   };
 
   buildInputs = [ libuuid popt icu ncurses ];
@@ -23,13 +23,12 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
 
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     homepage = http://www.rodsbooks.com/gdisk/;
 
-    maintainers = stdenv.lib.maintainers.shlevy;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
 
     platforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/system/gt5/default.nix b/pkgs/tools/system/gt5/default.nix
index ab682c60921..ea121b0e43c 100644
--- a/pkgs/tools/system/gt5/default.nix
+++ b/pkgs/tools/system/gt5/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A diff-capable 'du' browser";
     homepage = http://gt5.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/system/idle3tools/default.nix b/pkgs/tools/system/idle3tools/default.nix
index 1325b52b380..d1631776d39 100644
--- a/pkgs/tools/system/idle3tools/default.nix
+++ b/pkgs/tools/system/idle3tools/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://idle3-tools.sourceforge.net/;
     description = "Tool to get/set the infamous idle3 timer in WD HDDs";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix
index d721feb9d74..52d32b4e838 100644
--- a/pkgs/tools/system/ioping/default.nix
+++ b/pkgs/tools/system/ioping/default.nix
@@ -10,10 +10,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ioping";
-    version="0.4";
+    version="0.7";
     name="${baseName}-${version}";
     url="http://ioping.googlecode.com/files/${name}.tar.gz";
-    hash="064pfjhg2a4hj6ly0wc9z85awiqry55n6wpx8kxzl9qasls0q447";
+    hash="1c0k9gsq7rr9fqh6znn3i196l84zsm44nq3pl1b7grsnnbp2hki3";
   };
 in
 rec {
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 2b66bb2e081..6fa374ebe55 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -2,14 +2,14 @@
 
 let
   pkgname = "ipmitool";
-  version = "1.8.11";
+  version = "1.8.13";
 in
 stdenv.mkDerivation {
   name = "${pkgname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pkgname}/${pkgname}-${version}.tar.gz";
-    sha256 = "5612f4835d89a6f2cede588eef978a05d63435cf2646256300d9785d8020a13e";
+    sha256 = "0drkfa1spqh1vlzrx7jwm3cw1qar46a9xvqsgycn92ylgsr395n1";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index d5252116f64..c5f33c32359 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -1,55 +1,36 @@
-x@{builderDefsPackage
-  , openssl
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, openssl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="ipmiutil";
-    version="2.7.3";
-    name="${baseName}-${version}";
-    project="${baseName}";
-    url="mirror://sourceforge/project/${project}/${baseName}/${name}.tar.gz";
-    hash="0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  baseName = "ipmiutil";
+  version = "2.9.3";
+  name = "${baseName}-${version}";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
+    sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "fixMakefile" "doMakeInstall"];
+  buildInputs = [ openssl ];
 
-  fixMakefile = a .fullDepEntry ''
+  preBuild = ''
     sed -e "s@/usr@$out@g" -i Makefile */Makefile */*/Makefile
-    sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile
-    sed -e "s@/var@$out/var@g" -i Makefile */Makefile
-  '' ["minInit" "doConfigure"];
-      
-  meta = {
-    description = "IPMI utilities";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.bsd3;
+    sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile */*/Makefile
+    sed -e "s@/var@$out/var@g" -i Makefile */Makefile */*/Makefile
+  '';
+
+  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  meta = with stdenv.lib; {
+    description = "An easy-to-use IPMI server management utility";
+    homepage = http://ipmiutil.sourceforge.net/;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.bsd3;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
     };
   };
-}) x
-
+}
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index 7d15ade348c..88c9a4eecd1 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   _name   = "logcheck";
-  version = "1.3.15";
+  version = "1.3.16";
   name    = "${_name}-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.gz";
-    sha256 = "1rdrs12hkm5i5yyz89a6cwhf4fzjkbcd4q4zy6sk148aji9lg6xj";
+    url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.xz";
+    sha256 = "1rmq4s2fj86226ncw2kdjvjbi29375gd7vdq62fsbjxm4m6nzsiy";
   };
 
   preConfigure = ''
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
       Logcheck was part of the Abacus Project of security tools, but this version has been rewritten.
     '';
     homepage = http://logcheck.org;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index 784c8e75e76..964ee217108 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gzip, popt }:
 
 stdenv.mkDerivation rec {
-  name = "logrotate-3.8.3";
+  name = "logrotate-3.8.7";
 
   src = fetchurl {
     url = "https://fedorahosted.org/releases/l/o/logrotate/${name}.tar.gz";
-    sha256 = "0xqrz8xzs2c1vx8l5h9lp2ciwwifj7y52xsppb1vrvbi254vyxh7";
+    sha256 = "0r1bs40gwi8awx6rjq3n4lw9fgws97ww2li7z87683p380gnkfpn";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://fedorahosted.org/releases/l/o/logrotate/;
     description = "Rotates and compresses system logs";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix
index 930cb7b7bff..ccda9be9f03 100644
--- a/pkgs/tools/system/lshw/default.nix
+++ b/pkgs/tools/system/lshw/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
 
   name = "lshw-${version}";
-  version = "02.15b";
+  version = "02.17b";
 
   src = fetchurl {
-    url = http://ezix.org/software/files/lshw-B.02.15.tar.gz;
-    sha256 = "19im6yj1pmsbrwkvdmgshllhiw7jh6nzhr6dc777q1n99g3cw0gv";
+    url = http://ezix.org/software/files/lshw-B.02.17.tar.gz;
+    sha256 = "1728b96gyjmrp31knzips9azn6wkfdp5k5dnbil7h7hgz99w177b";
   };
 
   buildInputs = [] ++ stdenv.lib.optional withGUI [ gtk pkgconfig sqlite ];
diff --git a/pkgs/tools/system/mcron/default.nix b/pkgs/tools/system/mcron/default.nix
index 2b4f28fa868..4bf95895996 100644
--- a/pkgs/tools/system/mcron/default.nix
+++ b/pkgs/tools/system/mcron/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/mcron/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index b8b2e2cbcdc..41a94ff2f2e 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -1,30 +1,25 @@
-a :  
-let 
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
-    bison flex openssl
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{stdenv, fetchurl, openssl, bison, flex, pam, usePAM ? stdenv.isLinux }:
 
-  inherit (s) name;
-  inherit buildInputs;
+stdenv.mkDerivation rec {
+  name = "monit-5.8.1";
+  
+  src = fetchurl {
+    url = "${meta.homepage}dist/${name}.tar.gz";
+    sha256 = "1rbhr3aff8pbiz60r73607hci4yngv5xq1b6yjx9xhks4mwlnpm2";
+  };
+
+  nativeBuildInputs = [ bison flex ];
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals usePAM [ pam ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"];
   configureFlags = [
-    "--with-ssl-incl-dir=${a.openssl}/include"
-    "--with-ssl-lib-dir=${a.openssl}/lib"
-    ];
-  preConfigure = a.fullDepEntry (''
-    sed -e 's@/bin/@@' -i Makefile.in
-  '') ["doUnpack" "minInit"];
-      
+    "--with-ssl-incl-dir=${openssl}/include"
+    "--with-ssl-lib-dir=${openssl}/lib"
+  ] ++ stdenv.lib.optionals (! usePAM) [ "--without-pam" ];
+
   meta = {
+    homepage = http://mmonit.com/monit/;
     description = "Monitoring system";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
+    license = stdenv.lib.licenses.agpl3;
+    maintainers = with stdenv.lib.maintainers; [ raskin wmertens ];
   };
 }
diff --git a/pkgs/tools/system/monit/src-for-default.nix b/pkgs/tools/system/monit/src-for-default.nix
deleted file mode 100644
index b74958ae19a..00000000000
--- a/pkgs/tools/system/monit/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="5.5";
-   name="monit-5.5";
-   hash="0lvw9llsnaj72dp6di74sc4sxpa4q3g23m28jwy4brphndhb0xl2";
-   url="http://mmonit.com/monit/download/../dist/monit-${version}.tar.gz";
-   advertisedUrl="http://mmonit.com/monit/download/../dist/monit-5.5.tar.gz";
-  
-  
-}
diff --git a/pkgs/tools/system/monit/src-info-for-default.nix b/pkgs/tools/system/monit/src-info-for-default.nix
deleted file mode 100644
index 691984a9fd5..00000000000
--- a/pkgs/tools/system/monit/src-info-for-default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  downloadPage = "http://mmonit.com/monit/download/";
-  baseName = "monit";
-}
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 93486d3decf..25201ba97ab 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -8,16 +8,16 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "pciutils-3.2.0";
+  name = "pciutils-3.2.1"; # with database from 2013-11-10
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "0d9as9jzjjg5c1nwf58z1y1i7rf9fqxmww1civckhcvcn0xr85mq";
+    sha256 = "1pnwwc4sq0q7zz3mw2rsrc9j5rxwpdvxirqjmxcd0brf0hcjpm8j";
   };
 
   buildInputs = [ pkgconfig zlib kmod which ];
 
-  preBuild = "bunzip2 < ${pciids} > pci.ids";
+  #preBuild = "bunzip2 < ${pciids} > pci.ids";
 
   makeFlags = "SHARED=yes PREFIX=\${out}";
 
diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh
index bf5e6eeffa5..f97706fa719 100644
--- a/pkgs/tools/system/plan9port/builder.sh
+++ b/pkgs/tools/system/plan9port/builder.sh
@@ -2,48 +2,19 @@ source $stdenv/setup
 
 tar xvfz $src
 
-cd plan9
+cd plan9port
 
-export PLAN9=`pwd`
-export X11=/tmp
+cflags="echo \"CFLAGS='-I${libXt}/include'\" >> \$PLAN9/config"
 
-# Patch for the installation
-sed -i -e 's@`which echo`@echo@' lib/moveplan9.sh
+sed -i "43i\\${cflags}" INSTALL
 
-OLDPATH=$PATH
-PATH=`pwd`/bin:$PATH
+for p in $patches; do
+  echo "applying patch $p"
+  patch -p1 < $p
+done
 
-gcc lib/linux-isnptl.c -lpthread
-set +e 
-if ./a.out > /dev/null
-then
-  echo "SYSVERSION=2.6.x" >config
-else
-  echo "SYSVERSION=2.4.x" >config
-fi
-rm -f ./a.out
-set -e
+./INSTALL -r $out/plan9
 
-pushd src
-
-# Build mk
-../dist/buildmk 2>&1 | sed 's/^[+] //'
-
-# Build everything
-
-mk clean
-mk libs-nuke
-mk all || exit 1
-mk install || exit 1
-
-popd
-
-# Installation
-export PLAN9=$out
+export PLAN9=$out/plan9
 mkdir -p $PLAN9
-GLOBIGNORE='src:.*'
 cp -R * $PLAN9
-GLOBIGNORE=
-
-cd $PLAN9
-sh lib/moveplan9.sh `pwd`
diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix
index e1e515aaf01..39dba1c182d 100644
--- a/pkgs/tools/system/plan9port/default.nix
+++ b/pkgs/tools/system/plan9port/default.nix
@@ -1,20 +1,32 @@
-{stdenv, fetchurl, libX11, xproto, libXt, xextproto, libXext}:
+{stdenv, fetchurl, libX11, libXt
+, xproto ? null
+, xextproto ? null
+, libXext ? null }:
 
 stdenv.mkDerivation rec {
-  name = "plan9port-20110103";
-  
+  name = "plan9port-20140306";
+
+  patches = [ ./fontsrv.patch ];
+
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = "http://swtch.com/plan9port/${name}.tgz";
-    sha256 = "12hq3k03jgva72498qa1dyndakbhbfg0sc1jhcap9cxqj04xf0dc";
+    url = "https://plan9port.googlecode.com/files/${name}.tgz";
+    # Google code is much faster than swtch
+    # url = "http://swtch.com/plan9port/${name}.tgz";
+    sha256 = "1sza12j3db7i54r3pzli8wmby6aiyzmyfj8w0nidmawkwv6jdf6b";
   };
 
-  buildInputs = [ libX11 xproto libXt xextproto libXext ];
+  buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 xproto libXt xextproto libXext ];
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     homepage = "http://swtch.com/plan9port/";
     description = "Plan 9 from User Space";
-    license="free";
+    license = licenses.lpl-102;
+    platforms = platforms.unix;
   };
+
+  inherit libXt;
 }
diff --git a/pkgs/tools/system/plan9port/fontsrv.patch b/pkgs/tools/system/plan9port/fontsrv.patch
new file mode 100644
index 00000000000..49fd9c04231
--- /dev/null
+++ b/pkgs/tools/system/plan9port/fontsrv.patch
@@ -0,0 +1,14 @@
+diff -r dc0640f14d07 src/cmd/mkfile
+--- a/src/cmd/mkfile	Tue Mar 25 23:23:10 2014 -0400
++++ b/src/cmd/mkfile	Mon Apr 14 22:36:05 2014 +0530
+@@ -4,8 +4,8 @@
+ 
+ <$PLAN9/src/mkmany
+ 
+-BUGGERED='CVS|faces|factotum|fontsrv|lp|ip|mailfs|upas|vncv|mnihongo|mpm|index|u9fs|secstore|smugfs|snarfer'
+-DIRS=lex `ls -l |sed -n 's/^d.* //p' |egrep -v "^($BUGGERED)$"|egrep -v '^lex$'` $FONTSRV
++BUGGERED='CVS|faces|factotum|lp|ip|mailfs|upas|vncv|mnihongo|mpm|index|u9fs|secstore|smugfs|snarfer'
++DIRS=lex `ls -l |sed -n 's/^d.* //p' |egrep -v "^($BUGGERED)$"|egrep -v '^lex$'`
+ 
+ <$PLAN9/src/mkdirs
+ 
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 3b5c0648384..d18c2737854 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -1,21 +1,23 @@
-{stdenv, fetchurl, eventlog, pkgconfig, libestr, libee, json_c, libuuid, zlib, gnutls}:
+{stdenv, fetchurl, eventlog, pkgconfig, libestr, libee, json_c, libuuid, zlib, gnutls, libgcrypt, systemd, liblogging}:
 
 stdenv.mkDerivation {
-  name = "rsyslog-7.2.6";
+  name = "rsyslog-7.6.3";
 
   src = fetchurl {
-    url = http://www.rsyslog.com/files/download/rsyslog/rsyslog-7.2.6.tar.gz;
-    sha256 = "19a5c60816ebce6c86468eb8c5fe1c4cc1febf23c9167ce59d2327fe5e047ed9";
+    url = http://www.rsyslog.com/files/download/rsyslog/rsyslog-7.6.3.tar.gz;
+    sha256 = "1v7mi2jjyn3awrfxqvd3mg64m5r027dgpbzd511mlvlbbw1mjcq1";
   };
 
-  buildInputs = [pkgconfig libestr libee json_c libuuid zlib gnutls];
+  buildInputs = [pkgconfig libestr libee json_c libuuid zlib gnutls libgcrypt systemd liblogging];
 
-  configureFlags = "--enable-gnutls";
+  preConfigure = ''
+     export configureFlags="$configureFlags --enable-gnutls --enable-cached-man-pages --enable-imjournal --with-systemdsystemunitdir=$out/etc/systemd/system"
+  '';
 
   meta = {
     homepage = "http://www.rsyslog.com/";
     description = "Enhanced syslog implementation";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/safecopy/default.nix b/pkgs/tools/system/safecopy/default.nix
index a6a5fced879..304d8f21eb2 100644
--- a/pkgs/tools/system/safecopy/default.nix
+++ b/pkgs/tools/system/safecopy/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://safecopy.sourceforge.net;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
diff --git a/pkgs/tools/system/sizes/default.nix b/pkgs/tools/system/sizes/default.nix
new file mode 100644
index 00000000000..a20a40f701c
--- /dev/null
+++ b/pkgs/tools/system/sizes/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, deepseq, dlist, lens, parallelIo, regexPosix
+, systemFileio, systemFilepath, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "sizes";
+  version = "2.3.2";
+  sha256 = "0xns0xl3khks1jvsmxh0nqf1saxs7qscvkbcg4270pp7n6lziqdg";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cmdargs deepseq dlist lens parallelIo regexPosix systemFileio
+    systemFilepath text
+  ];
+  meta = {
+    homepage = "https://github.com/jwiegley/sizes";
+    description = "Recursively show space (size and i-nodes) used in subdirectories";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/system/storebrowse/default.nix b/pkgs/tools/system/storebrowse/default.nix
index c46372bcd4b..041dd96e1ca 100644
--- a/pkgs/tools/system/storebrowse/default.nix
+++ b/pkgs/tools/system/storebrowse/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   # This source has license BSD
   srcGoSqlite = fetchhg {
     url = "https://code.google.com/p/gosqlite/";
-    tag = "5baefb109e18";
+    rev = "5baefb109e18";
     sha256 = "0mqfnx06jj15cs8pq9msny2z18x99hgk6mchnaxpg343nzdiz4zk";
   };
 
@@ -34,12 +34,12 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp storebrowse $out/bin
   '';
 
   meta = {
     homepage = http://viric.name/cgi-bin/storebrowse;
-    license = "AGPLv3+";
+    license = stdenv.lib.licenses.agpl3Plus;
   };
 }
diff --git a/pkgs/tools/system/symlinks/default.nix b/pkgs/tools/system/symlinks/default.nix
new file mode 100644
index 00000000000..0c69bdd03c5
--- /dev/null
+++ b/pkgs/tools/system/symlinks/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "symlinks-${version}";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "http://www.ibiblio.org/pub/Linux/utils/file/${name}.tar.gz";
+    sha256 = "1683psyi8jwq6anhnkwwyaf7pfksf19v04fignd6vi52s2fnifxh";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man
+    cp symlinks $out/bin/
+    cp symlinks.8 $out/share/man/
+  '';
+
+  # No license is mentioned in the code but
+  # http://www.ibiblio.org/pub/Linux/utils/file/symlinks.lsm
+  # and other package managers list it as
+  # "(c) Mark Lord, freely distributable"
+  meta = with stdenv.lib; {
+    description = "A symbolic link maintenance utility";
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/tools/system/syslog-ng-incubator/default.nix b/pkgs/tools/system/syslog-ng-incubator/default.nix
new file mode 100644
index 00000000000..34a0f15ec1d
--- /dev/null
+++ b/pkgs/tools/system/syslog-ng-incubator/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, glib, syslogng
+, eventlog, perl, python, yacc, riemann_c_client, libivykis, protobufc }:
+
+stdenv.mkDerivation rec {
+  name = "syslog-ng-incubator-${version}";
+
+  version = "0.3.3";
+
+  src = fetchurl {
+    url = "https://github.com/balabit/syslog-ng-incubator/archive/${name}.tar.gz";
+    sha256 = "1yx2gdq1vhrcp113hxgl66z5df4ya9nznvq00nvy4v9yn8wf9fb8";
+  };
+
+  buildInputs = [
+    autoconf automake libtool pkgconfig glib syslogng eventlog perl python
+    yacc riemann_c_client libivykis protobufc
+  ];
+
+  preConfigure = "autoreconf -i";
+
+  configureFlags = [
+    "--without-ivykis"
+    "--with-riemann"
+    "--with-module-dir=$(out)/lib/syslog-ng"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/balabit/syslog-ng-incubator";
+    description = "A collection of tools and modules for syslog-ng";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.rickynils ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index f2cb221cb32..a62f81052ba 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,21 +1,27 @@
-{stdenv, fetchurl, eventlog, pkgconfig, glib}:
+{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl }:
 
-stdenv.mkDerivation {
-  name = "syslog-ng-3.1.2";
+stdenv.mkDerivation rec {
+  name = "syslog-ng-${version}";
+
+  version = "3.5.6";
 
   src = fetchurl {
-    url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/3.1.2/source/syslog-ng_3.1.2.tar.gz";
-    sha256 = "0a508l4j11336jn5kg65l70rf7xbpdxi2n477rvp5p48cc1adcg2";
+    url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/${version}/source/syslog-ng_${version}.tar.gz";
+    sha256 = "19i1idklpgn6mz0mg7194by5fjgvvh5n4v2a0rr1z0778l2038kc";
   };
 
-  buildInputs = [eventlog pkgconfig glib];
-  configureFlags = "--enable-dynamic-linking";
+  buildInputs = [ eventlog pkgconfig glib python systemd perl ];
+
+  configureFlags = [
+    "--enable-dynamic-linking"
+    "--enable-systemd"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.balabit.com/network-security/syslog-ng/";
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
-    license = "GPLv2";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    license = licenses.gpl2;
+    maintainers = [ maintainers.rickynils ];
   };
 }
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index 549cc449f02..e108589aaef 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl}:
 
 let
-  version = "1.6.0";
+  version = "1.7.0";
 
   # These settings are found in the Makefile, but there seems to be no
   # way to select one ore the other setting other than editing the file
   # manually, so we have to duplicate the know how here.
   systemFlags =
     if stdenv.isDarwin then ''
-      CFLAGS="-O2 -Wall -fomit-frame-pointer -no-cpp-precomp"
+      CFLAGS="-O2 -Wall -fomit-frame-pointer"
       LDFLAGS=
       EXTRA_OBJS=strverscmp.o
     '' else if stdenv.isCygwin then ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://mama.indstate.edu/users/ice/tree/src/tree-${version}.tgz";
-    sha256 = "4dc470a74880338b01da41701d8db90d0fb178877e526d385931a007d68d7591";
+    sha256 = "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9";
   };
 
   configurePhase = ''
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://mama.indstate.edu/users/ice/tree/";
     description = "command to produce a depth indented directory listing";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Tree is a recursive directory listing command that produces a
diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix
index a392ed0bcfd..6d1c6ad5e1f 100644
--- a/pkgs/tools/system/ts/default.nix
+++ b/pkgs/tools/system/ts/default.nix
@@ -1,8 +1,9 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl,
+sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
 
-  name = "ts-0.7.3";
+  name = "ts-0.7.4";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -10,9 +11,13 @@ stdenv.mkDerivation {
     makeFlags = "CC=${stdenv.cross.config}-gcc";
   };
 
+  patchPhase = ''
+    sed -i s,/usr/sbin/sendmail,${sendmailPath}, mail.c ts.1
+  '';
+
   src = fetchurl {
-    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.3.tar.gz;
-    sha256 = "1ajgk6y9y9bng5ssdqxwpzw44pmib30vn5284rgga6vr04ppakdy";
+    url = "http://viric.name/~viric/soft/ts/${name}.tar.gz";
+    sha256 = "042r9a09300v4fdrw4r60g5xi25v5m6g12kvvr6pcsm9qnfqyqqs";
   };
 
   meta = {
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index e1c4734bbda..087a3212fc2 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp build/cgpt/cgpt $out/bin
     cp build/utility/vbutil_kernel $out/bin
     cp build/utility/vbutil_key $out/bin
diff --git a/pkgs/tools/text/ascii/default.nix b/pkgs/tools/text/ascii/default.nix
index 769cf389426..071b9368329 100644
--- a/pkgs/tools/text/ascii/default.nix
+++ b/pkgs/tools/text/ascii/default.nix
@@ -2,24 +2,26 @@
 
 stdenv.mkDerivation rec {
   name = "ascii-${version}";
-  version = "3.12";
+  version = "3.14";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/ascii/${name}.tar.gz";
-    sha256 = "17jhmmdbhzzaai0lr5aslg0nmqchq1ygdxwd8pgl7qn2jnxhc6ci";
+    sha256 = "1ldwi4cs2d36r1fv3j13cfa8h2pc4yayq5qii91758qqwfzky3kz";
   };
 
   prePatch = ''
-    sed -i -e 's|$(DESTDIR)/usr|$(out)|g' Makefile
+    sed -i -e "s|^PREFIX = .*|PREFIX = $out|" Makefile
   '';
 
   preInstall = ''
     mkdir -vp "$out/bin" "$out/share/man/man1"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Interactive ASCII name and synonym chart";
     homepage = "http://www.catb.org/~esr/ascii/";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/text/catdoc/default.nix b/pkgs/tools/text/catdoc/default.nix
index 5880de7a735..2865e5b3482 100644
--- a/pkgs/tools/text/catdoc/default.nix
+++ b/pkgs/tools/text/catdoc/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-wordview";
 
   meta = with stdenv.lib; {
+    description = "MS-Word/Excel/PowerPoint to text converter";
     platforms = platforms.all;
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 06e15d07ff0..34221d80366 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -1,13 +1,23 @@
-{stdenv, fetchurl, perl /*, xmlto */}:
+{ stdenv, fetchurl, perl /*, xmlto */}:
 
 stdenv.mkDerivation {
-  name = "colordiff-1.0.9";
+  name = "colordiff-1.0.13";
+
   src = fetchurl {
-    url = http://colordiff.sourceforge.net/colordiff-1.0.9.tar.gz;
-    sha256 = "b2c25d81c10f22380798f146cc5b54ffc5aeb6e5ca1208be2b9508fec1d8e4a6";
+    url = http://www.colordiff.org/colordiff-1.0.13.tar.gz;
+    sha256 = "0akcz1p3klsjnhwcqdfq4grs6paljc5c0jzr3mqla5f862hhaa6f";
   };
 
   buildInputs = [ perl /* xmlto */ ];
+
   dontBuild = 1; # do not build doc yet.
+
   installPhase = ''make INSTALL_DIR=/bin MAN_DIR=/share/man/man1 DESTDIR="$out" install'';
+
+  meta = with stdenv.lib; {
+    description = "Wrapper for 'diff' that produces the same output but with pretty 'syntax' highlighting";
+    homepage = http://www.colordiff.org/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/tools/text/convertlit/default.nix b/pkgs/tools/text/convertlit/default.nix
index 05494e54a3e..aaa458b05cb 100644
--- a/pkgs/tools/text/convertlit/default.nix
+++ b/pkgs/tools/text/convertlit/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.convertlit.com/;
     description = "A tool for converting Microsoft Reader ebooks to more open formats";
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index d1d366ba599..e70dfaedddf 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,17 +1,23 @@
-{fetchurl, stdenv}:
+{ fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.45";
+  name = "diffstat-1.58";
 
   src = fetchurl {
-    url = "ftp://invisible-island.net/diffstat/"+ name +".tgz";
-    md5 = "cfe06ffcdbeaaa2fd296db867157ef78";
+    url = "ftp://invisible-island.net/diffstat/${name}.tgz";
+    sha256 = "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "Read output of diff and display a histogram of the changes";
+    longDescription = ''
+      diffstat reads the output of diff and displays a histogram of the
+      insertions, deletions, and modifications per-file. It is useful for
+      reviewing large, complex patch files.
+    '';
     homepage = http://invisible-island.net/diffstat/;
-    longDescription = "diffstat reads the output of diff and displays a
-istogram of the insertions, deletions, and modifications per-file. It
-s useful for reviewing large, complex patch files.";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix
index fc4293ad7cf..f8413b9a0d0 100644
--- a/pkgs/tools/text/diffutils/default.nix
+++ b/pkgs/tools/text/diffutils/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, coreutils ? null }:
 
-stdenv.mkDerivation {
-  name = "diffutils-3.2";
+stdenv.mkDerivation rec {
+  name = "diffutils-3.3";
 
   src = fetchurl {
-    url = mirror://gnu/diffutils/diffutils-3.2.tar.gz;
-    sha256 = "1lsf0ln0h3mnm2y0mwgrfk0lyfi7bnm4r886acvdrrsvc7pypaia";
+    url = "mirror://gnu/diffutils/${name}.tar.xz";
+    sha256 = "1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2";
   };
 
-  patches = [ ./gets-undeclared.patch ];
-
   /* If no explicit coreutils is given, use the one from stdenv. */
   nativeBuildInputs = [ coreutils ];
 
diff --git a/pkgs/tools/text/diffutils/gets-undeclared.patch b/pkgs/tools/text/diffutils/gets-undeclared.patch
deleted file mode 100644
index b6cdc77caa8..00000000000
--- a/pkgs/tools/text/diffutils/gets-undeclared.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-This patch is needed to allow builds with newer versions of
-the GNU libc (2.16+).
-
-
-commit 66712c23388e93e5c518ebc8515140fa0c807348
-Author: Eric Blake <eblake@redhat.com>
-Date:   Thu Mar 29 13:30:41 2012 -0600
-
-    stdio: don't assume gets any more
-    
-    Gnulib intentionally does not have a gets module, and now that C11
-    and glibc have dropped it, we should be more proactive about warning
-    any user on a platform that still has a declaration of this dangerous
-    interface.
-    
-    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
-    support.
-    * modules/stdio (Makefile.am): Likewise.
-    * lib/stdio-read.c (gets): Likewise.
-    * tests/test-stdio-c++.cc: Likewise.
-    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
-    * lib/stdio.in.h (gets): Make warning occur in more places.
-    * doc/posix-functions/gets.texi (gets): Update documentation.
-    Reported by Christer Solskogen.
-    
-    Signed-off-by: Eric Blake <eblake@redhat.com>
-
-diff --git a/lib/stdio.in.h b/lib/stdio.in.h
-index aa7b599..c377b6e 100644
---- a/lib/stdio.in.h
-+++ b/lib/stdio.in.h
-@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
- # endif
- #endif
- 
--#if @GNULIB_GETS@
--# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
--#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
--#   undef gets
--#   define gets rpl_gets
--#  endif
--_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
--_GL_CXXALIAS_RPL (gets, char *, (char *s));
--# else
--_GL_CXXALIAS_SYS (gets, char *, (char *s));
--#  undef gets
--# endif
--_GL_CXXALIASWARN (gets);
- /* It is very rare that the developer ever has full control of stdin,
--   so any use of gets warrants an unconditional warning.  Assume it is
--   always declared, since it is required by C89.  */
-+   so any use of gets warrants an unconditional warning; besides, C11
-+   removed it.  */
-+#undef gets
-+#if HAVE_RAW_DECL_GETS
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
- 
-@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
- # endif
- #endif
- 
--/* Some people would argue that sprintf should be handled like gets
--   (for example, OpenBSD issues a link warning for both functions),
--   since both can cause security holes due to buffer overruns.
-+/* Some people would argue that all sprintf uses should be warned about
-+   (for example, OpenBSD issues a link warning for it),
-+   since it can cause security holes due to buffer overruns.
-    However, we believe that sprintf can be used safely, and is more
-    efficient than snprintf in those safe cases; and as proof of our
-    belief, we use sprintf in several gnulib modules.  So this header
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index dcc4116813b..a87901eb5eb 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl, gettext }:
 
 stdenv.mkDerivation {
-  name = "dos2unix-5.3.1";
+  name = "dos2unix-6.0.5";
   
   src = fetchurl {
-    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz;
-    sha256 = "0bwqw3wi0j4f1x8d39xw5v57ac0bc58j41vjx8v2qm1smg9jyci1";
+    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.5.tar.gz;
+    sha256 = "13w5blhv0i473y9lyrxh4axz4niyrxcpj4v2qiq3w5kamyp20czx";
   };
 
   configurePhase = ''
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://waterlan.home.xs4all.nl/dos2unix.html;
     description = "Tools to transform text files from dos to unix formats and vicervesa";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/text/ebook-tools/default.nix b/pkgs/tools/text/ebook-tools/default.nix
index abb766928d7..2fafec02d81 100644
--- a/pkgs/tools/text/ebook-tools/default.nix
+++ b/pkgs/tools/text/ebook-tools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig, libxml2, libzip }:
 
 stdenv.mkDerivation rec {
-  name = "ebook-tools-0.2.1";
+  name = "ebook-tools-0.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/ebook-tools/${name}.tar.gz";
-    sha256 = "0wgwdsd3jwwfg36jyr5j0wayqjli3ia80lxzk10byd4cmkywnhy2";
+    sha256 = "1bi7wsz3p5slb43kj7lgb3r6lb91lvb6ldi556k4y50ix6b5khyb";
   };
 
   buildInputs = [ cmake pkgconfig libxml2 libzip ];
diff --git a/pkgs/tools/text/enca/default.nix b/pkgs/tools/text/enca/default.nix
index ce1c7401a4e..14014d06052 100644
--- a/pkgs/tools/text/enca/default.nix
+++ b/pkgs/tools/text/enca/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libiconv ? null }:
+{ stdenv, fetchurl, libiconvOrNull, recode }:
 
 stdenv.mkDerivation rec {
-  name = "enca-1.13";
+  name = "enca-1.15";
 
   src = fetchurl {
     url = "http://dl.cihar.com/enca/${name}.tar.bz2";
-    sha256 = "6c091455d524b3ddae3533fe9bb375092f60ad6fe252e0777c873bd7869c7432";
+    sha256 = "1iibfl2s420x7bc1hvxr1ys4cpz579brg2m2ln4rp677azmrr8mv";
   };
 
-  buildInputs = (stdenv.lib.optional (libiconv != null) libiconv);
+  buildInputs = [ recode libiconvOrNull ];
 
   meta = {
     homepage = http://freecode.com/projects/enca;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
         Unicode variants, independently on language.
     '';
 
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix
index 665336cbd36..fe11ec59246 100644
--- a/pkgs/tools/text/enscript/default.nix
+++ b/pkgs/tools/text/enscript/default.nix
@@ -1,13 +1,20 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "enscript-1.6.5.2";
+  name = "enscript-1.6.6";
 
   src = fetchurl {
     url = "mirror://gnu/enscript/${name}.tar.gz";
-    sha256 = "0xfblj3liwf1zxpx8bdcl2dwqi2lkfm1zsl6ld9757kgnfyk6gnv";
+    sha256 = "1fy0ymvzrrvs889zanxcaxjfcxarm2d3k43c9frmbl1ld7dblmkd";
   };
 
+  preBuild =
+    ''
+      # Fix building on Darwin with GCC.
+      substituteInPlace compat/regex.c --replace \
+         __private_extern__  '__attribute__ ((visibility ("hidden")))'
+    '';
+
   buildInputs = [ gettext ];
 
   doCheck = true;
@@ -26,11 +33,11 @@ stdenv.mkDerivation rec {
          it has many options that can be used to customize printouts.
       '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/enscript/;
 
-    maintainer = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index eba1dc2ac7f..8866888a736 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, libsigsegv }:
+{ stdenv, fetchurl, libsigsegv, readline, readlineSupport ? false }:
 
 stdenv.mkDerivation rec {
-  name = "gawk-4.0.2";
+  name = "gawk-4.1.0";
 
   src = fetchurl {
     url = "mirror://gnu/gawk/${name}.tar.xz";
-    sha256 = "04vd0axif762mf781pj3days6ilv2333b9zi9c50y5mma66g5q91";
+    sha256 = "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q";
   };
 
-  patches = [];
-
   doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1
 
-  buildInputs = [ libsigsegv ];
+  buildInputs = [ libsigsegv ]
+    ++ stdenv.lib.optional readlineSupport readline;
+
+  configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ]
+    ++ stdenv.lib.optional readlineSupport "--with-readline=${readline}"
+      # only darwin where reported, seems OK on non-chrooted Fedora (don't rebuild stdenv)
+    ++ stdenv.lib.optional (!readlineSupport && stdenv.isDarwin) "--without-readline";
 
-  configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ];
+  postInstall = "rm $out/bin/gawk-*";
 
   meta = {
     homepage = http://www.gnu.org/software/gawk/;
@@ -34,7 +38,7 @@ stdenv.mkDerivation rec {
       lines of code.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index 5a31d009610..6e83bd357b2 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation {
   buildInputs = [ pcre ]
     ++ stdenv.lib.optional (libiconv != null) libiconv;
 
+  patches = [ ./test-localeconv.patch ];
+
   NIX_LDFLAGS = stdenv.lib.optionalString (libiconv != null) "-L${libiconv}/lib -liconv";
 
   doCheck = !stdenv.isDarwin;
@@ -33,7 +35,7 @@ stdenv.mkDerivation {
       prints the matching lines.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/text/gnugrep/test-localeconv.patch b/pkgs/tools/text/gnugrep/test-localeconv.patch
new file mode 100644
index 00000000000..f5efaf22221
--- /dev/null
+++ b/pkgs/tools/text/gnugrep/test-localeconv.patch
@@ -0,0 +1,18 @@
+--- grep-2.14/gnulib-tests/test-localeconv.c.orig	2013-02-15 18:41:50.213433059 +0000
++++ grep-2.14/gnulib-tests/test-localeconv.c	2013-02-15 18:50:33.964751303 +0000
+@@ -37,13 +37,13 @@
+ 
+     ASSERT (STREQ (l->decimal_point, "."));
+     ASSERT (STREQ (l->thousands_sep, ""));
+-#if !defined __FreeBSD__
++#if !(defined __FreeBSD__ || defined __sun)
+     ASSERT (STREQ (l->grouping, ""));
+ #endif
+ 
+     ASSERT (STREQ (l->mon_decimal_point, ""));
+     ASSERT (STREQ (l->mon_thousands_sep, ""));
+-#if !defined __FreeBSD__
++#if !(defined __FreeBSD__ || defined __sun)
+     ASSERT (STREQ (l->mon_grouping, ""));
+ #endif
+     ASSERT (STREQ (l->positive_sign, ""));
diff --git a/pkgs/tools/text/gnupatch/bashishms.patch b/pkgs/tools/text/gnupatch/bashishms.patch
new file mode 100644
index 00000000000..1a2cfbd8e4a
--- /dev/null
+++ b/pkgs/tools/text/gnupatch/bashishms.patch
@@ -0,0 +1,67 @@
+http://lists.gnu.org/archive/html/bug-patch/2012-11/msg00001.html
+Tested on Illumos, where ksh is /bin/sh.
+
+--- patch-2.7.1/tests/test-lib.sh
++++ patch-2.7.1/tests/test-lib.sh
+@@ -118,7 +118,7 @@
+ }
+ 
+ if test -z "`echo -n`"; then
+-    if eval 'test -n "${BASH_LINENO[0]}" 2>/dev/null'; then
++    if (eval 'test -n "${BASH_LINENO[0]}"') 2>/dev/null; then
+ 	eval '
+ 	    _start_test() {
+ 		echo -n "[${BASH_LINENO[2]}] $* -- "
+
+--- patch-2.7.1/tests/crlf-handling
++++ patch-2.7.1/tests/crlf-handling
+@@ -14,7 +14,7 @@
+ use_tmpdir
+ 
+ lf2crlf() {
+-    while read l; do echo -e "$l\r"; done
++    while read l; do printf "%s\r\n" "$l"; done
+ }
+ 
+ echo 1 > a
+
+--- patch-2.7.1/tests/merge
++++ patch-2.7.1/tests/merge
+@@ -32,18 +32,20 @@
+     shift
+     done > a.sed
+     echo "$body" | sed -f a.sed > b
+-    shift
+-    while test $# -gt 0 ; do
+-	echo "$1"
++    if test $# -gt 0 ; then
+ 	shift
+-    done > b.sed
++    while test $# -gt 0 ; do
++	echo "$1"
++	shift
++    done
++    fi > b.sed
+     echo "$body" | sed -f b.sed > c
+     rm -f a.sed b.sed
+     output=`diff -u a b | patch $ARGS -f c`
+     status=$?
+     echo "$output" | sed -e '/^$/d' -e '/^patching file c$/d'
+     cat c
+-    test $status == 0 || echo "Status: $status"
++    test $status = 0 || echo "Status: $status"
+ }
+ 
+ x() {
+
+--- patch-2.7.1/tests/read-only-files
++++ patch-2.7.1/tests/read-only-files
+@@ -16,7 +16,7 @@
+
+ : > read-only
+ chmod a-w read-only
+-if : 2> /dev/null > read-only; then
++if (: > read-only) 2> /dev/null; then
+     echo "Files with read-only permissions are writable" \
+         "(probably running as superuser)" >&2
+     exit 77
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index e494eba13ce..7b38227cfcc 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
     configureFlags = [ "ac_cv_func_strnlen_working=yes" ];
   };
 
-  # Tests fail on FreeBSD due to a Bashism in the tests.
-  doCheck = !stdenv.isFreeBSD;
+  patches = [ ./bashishms.patch ];
+
+  doCheck = true;
 
   meta = {
     description = "GNU Patch, a program to apply differences to files";
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://savannah.gnu.org/projects/patch;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix
index d34ed00d436..b1c5910029d 100644
--- a/pkgs/tools/text/gnused/default.nix
+++ b/pkgs/tools/text/gnused/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "gnused-4.2.1";
+  name = "gnused-4.2.2";
 
   src = fetchurl {
-    url = mirror://gnu/sed/sed-4.2.1.tar.gz;
-    sha256 = "0q1hzjvr6pzhaagidg7pj76k1fzz5nl15np7p72w9zcpw0f58ww7";
+    url = mirror://gnu/sed/sed-4.2.2.tar.bz2;
+    sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7";
   };
 
   meta = {
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
       multiple occurrences of a string within a file.
     '';
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index f4d3169f2fa..97cc3c61173 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.gnu.org/software/groff/";
     description = "GNU Troff, a typesetting package that reads plain text and produces formatted output";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.all;
 
     longDescription = ''
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 40a3bcf78ea..9bca0a91d4f 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, getopt, lua, boost }:
         
 stdenv.mkDerivation rec {
-  name = "highlight-3.5";
+  name = "highlight-3.9";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/${name}.tar.bz2";
-    sha256 = "0jpidd2fwn5mbrgzjmh53qvfmqqp6g0mah7i5zsf9bd71ga1lp28";
+    sha256 = "1vysj34zz8gk5yhlzm7g6lbphb8y6zfbd9smfgsgwkyawfargrja";
   };
 
   buildInputs = [ getopt lua boost ];
diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
index ea06a625550..247cb67da56 100644
--- a/pkgs/tools/text/html-tidy/default.nix
+++ b/pkgs/tools/text/html-tidy/default.nix
@@ -32,7 +32,7 @@ let date = "2009-07-04"; in
         used to validate and fix HTML data.
       '';
 
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
 
       homepage = http://tidy.sourceforge.net/;
 
diff --git a/pkgs/tools/text/kakasi/default.nix b/pkgs/tools/text/kakasi/default.nix
new file mode 100644
index 00000000000..b73654da405
--- /dev/null
+++ b/pkgs/tools/text/kakasi/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "kakasi-2.3.6";
+
+  meta = with stdenv.lib; {
+    description = "Kanji Kana Simple Inverter";
+    longDescription = ''
+      KAKASI is the language processing filter to convert Kanji
+      characters to Hiragana, Katakana or Romaji and may be
+      helpful to read Japanese documents.
+    '';
+    homepage    = "http://kakasi.namazu.org/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://kakasi.namazu.org/stable/${name}.tar.xz";
+    sha256 = "1qry3xqb83pjgxp3my8b1sy77z4f0893h73ldrvdaky70cdppr9f";
+  };
+}
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 52781ed3792..eb8db0a44a5 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, kdelibs, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kdiff3-0.9.97";
+  name = "kdiff3-0.9.98";
   src = fetchurl {
     url = "mirror://sourceforge/kdiff3/${name}.tar.gz";
-    sha256 = "0ajsnzfr0aqzdiv5wqssxsgfv87v4g5c2zl16264v0cw8jxiddz3";
+    sha256 = "0s6n1whkf5ck2r8782a9l8b736cj2p05and1vjjh7d02pax1lb40";
   };
 
   buildInputs = [ kdelibs ];
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://kdiff3.sourceforge.net/;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Compares and merges 2 or 3 files or directories";
     maintainers = with stdenv.lib.maintainers; [viric urkud];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/text/mairix/default.nix b/pkgs/tools/text/mairix/default.nix
index feaf3afe52b..97fcd062984 100644
--- a/pkgs/tools/text/mairix/default.nix
+++ b/pkgs/tools/text/mairix/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, zlib, bzip2, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "mairix-0.22";
+  name = "mairix-0.23";
 
   src = fetchurl {
     url = "mirror://sourceforge/mairix/${name}.tar.gz";
-    sha256 = "0kwxq738nbv8ip5gkq2bw320qs1vg0pnv7wsc0p5cxwzxxrv47ql";
+    sha256 = "1yzjpmsih6c60ks0d0ia153z9g35nj7dmk98383m0crw31dj6kl0";
   };
 
   buildInputs = [ zlib bzip2 bison flex ];
 
   meta = {
     homepage = http://www.rc0.org.uk/mairix;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "Program for indexing and searching email messages stored in maildir, MH or mbox";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
diff --git a/pkgs/tools/text/multitran/data/default.nix b/pkgs/tools/text/multitran/data/default.nix
index dbf13a6332b..d0e39add665 100644
--- a/pkgs/tools/text/multitran/data/default.nix
+++ b/pkgs/tools/text/multitran/data/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran data english-russian";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/text/multitran/libbtree/default.nix b/pkgs/tools/text/multitran/libbtree/default.nix
index 45dcf922d8e..3abe03b2a4e 100644
--- a/pkgs/tools/text/multitran/libbtree/default.nix
+++ b/pkgs/tools/text/multitran/libbtree/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran lib: library for reading Multitran's BTREE database format";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/text/multitran/libfacet/default.nix b/pkgs/tools/text/multitran/libfacet/default.nix
index 6dab8f86c32..0f5032c4a17 100644
--- a/pkgs/tools/text/multitran/libfacet/default.nix
+++ b/pkgs/tools/text/multitran/libfacet/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran lib: enchanced locale facets";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/text/multitran/libmtquery/default.nix b/pkgs/tools/text/multitran/libmtquery/default.nix
index fe3e3b7317d..b3e5f12407d 100644
--- a/pkgs/tools/text/multitran/libmtquery/default.nix
+++ b/pkgs/tools/text/multitran/libmtquery/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran lib: main engine to query translations";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/text/multitran/libmtsupport/default.nix b/pkgs/tools/text/multitran/libmtsupport/default.nix
index 3c77b50bee8..e73ba43791a 100644
--- a/pkgs/tools/text/multitran/libmtsupport/default.nix
+++ b/pkgs/tools/text/multitran/libmtsupport/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran lib: basic useful functions";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/text/multitran/mtutils/default.nix b/pkgs/tools/text/multitran/mtutils/default.nix
index fb3856176d9..b03b1b110c4 100644
--- a/pkgs/tools/text/multitran/mtutils/default.nix
+++ b/pkgs/tools/text/multitran/mtutils/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran: simple command line utilities for dictionary maintainance";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/text/namazu/default.nix b/pkgs/tools/text/namazu/default.nix
index 9f019440775..fba52b69fba 100644
--- a/pkgs/tools/text/namazu/default.nix
+++ b/pkgs/tools/text/namazu/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "namazu-2.0.20";
+  name = "namazu-2.0.21";
 
   src = fetchurl {
     url = "http://namazu.org/stable/${name}.tar.gz";
-    sha256 = "1czw3l6wmz8887wfjpgds9di8hcg0hsmbc0mc6bkahj8g7lvrnyd";
+    sha256 = "1xvi7hrprdchdpzhg3fvk4yifaakzgydza5c0m50h1yvg6vay62w";
   };
 
   buildInputs = [ perl ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
       but also as a personal search system for email or other files.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://namazu.org/;
 
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index 1eae8c4d527..d5f8bb9ff35 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
 let
-  version = "5.6.1";
+  version = "5.8.1";
 in
 stdenv.mkDerivation {
   name = "numdiff-${version}";
   src = fetchurl {
     url = "mirror://savannah/numdiff/numdiff-${version}.tar.gz";
-    sha256 = "062byxp9vajj4flg1rqh0r2nwg9yx608mbsj5y25wkrzmkgcq3fx";
+    sha256 = "00zm9955gjsid0daa94sbw69klk0vrnrrh0ihijza99kysnvmblr";
   };
   meta = {
     description = ''
diff --git a/pkgs/tools/text/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix
index 0ab73142ea0..4df52eef669 100644
--- a/pkgs/tools/text/patchutils/default.nix
+++ b/pkgs/tools/text/patchutils/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "patchutils-0.3.0";
+stdenv.mkDerivation rec {
+  name = "patchutils-0.3.3";
 
   src = fetchurl {
-    url = http://cyberelk.net/tim/data/patchutils/stable/patchutils-0.3.0.tar.bz2;
-    sha256 = "08jzvprhpcgwvx0xlkwc8dbdd9ilvwyr3cwnq96xmbfipch69yi7";
+    url = "http://cyberelk.net/tim/data/patchutils/stable/${name}.tar.xz";
+    sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i";
   };
 
-  meta = { 
+  patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one
+
+  meta = with stdenv.lib; {
     description = "Tools to manipulate patch files";
     homepage = http://cyberelk.net/tim/software/patchutils;
-    license = "GPLv2";
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
     executables = [ "combinediff" "dehtmldiff" "editdiff" "espdiff"
       "filterdiff" "fixcvsdiff" "flipdiff" "grepdiff" "interdiff" "lsdiff"
       "recountdiff" "rediff" "splitdiff" "unwrapdiff" ];
diff --git a/pkgs/tools/text/patchutils/drop-comments.patch b/pkgs/tools/text/patchutils/drop-comments.patch
new file mode 100644
index 00000000000..e02693a5683
--- /dev/null
+++ b/pkgs/tools/text/patchutils/drop-comments.patch
@@ -0,0 +1,84 @@
+From 58987954647f51dc42fb13b7759923c6170dd905 Mon Sep 17 00:00:00 2001
+From: Tim Waugh <twaugh@redhat.com>
+Date: Fri, 9 May 2014 16:23:27 +0100
+Subject: Make --clean drop comments after '@@' lines as well (trac #29).
+
+
+diff --git a/Makefile.am b/Makefile.am
+index 99ad2a3..f3c6dbc 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -198,6 +198,7 @@ TESTS = tests/newline1/run-test \
+ 	tests/convert1/run-test \
+ 	tests/convert2/run-test \
+ 	tests/clean1/run-test \
++	tests/clean2/run-test \
+ 	tests/stdin/run-test
+ 
+ # These ones don't work yet.
+diff --git a/src/filterdiff.c b/src/filterdiff.c
+index 383e72b..6ca2316 100644
+--- a/src/filterdiff.c
++++ b/src/filterdiff.c
+@@ -2,7 +2,7 @@
+  * filterdiff - extract (or exclude) a diff from a diff file
+  * lsdiff - show which files are modified by a patch
+  * grepdiff - show files modified by a patch containing a regexp
+- * Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2011 Tim Waugh <twaugh@redhat.com>
++ * Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2011, 2013, 2014 Tim Waugh <twaugh@redhat.com>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -408,7 +408,8 @@ do_unified (FILE *f, char *header[2], int match, char **line,
+ 							 " Hunk #%lu, %s",
+ 							 hunknum, bestname);
+ 
+-					fputs (trailing, output_to);
++					fputs (clean_comments ? "\n" : trailing,
++					       output_to);
+ 					break;
+ 				case Before:
+ 					// Note the initial line number
+diff --git a/tests/clean2/run-test b/tests/clean2/run-test
+new file mode 100755
+index 0000000..42320df
+--- /dev/null
++++ b/tests/clean2/run-test
+@@ -0,0 +1,34 @@
++#!/bin/sh
++
++# This is a filterdiff(1) testcase.
++# Test: Make sure --clean removes hunk-level comments.
++
++
++. ${top_srcdir-.}/tests/common.sh
++
++cat << EOF > diff
++non-diff line
++--- a/file1
+++++ b/file1
++@@ -0,0 +1 @@ this is a hunk-level comment
+++a
++EOF
++
++${FILTERDIFF} --clean diff 2>errors >filtered || exit 1
++[ -s errors ] && exit 1
++
++cat << EOF | cmp - filtered || exit 1
++--- a/file1
+++++ b/file1
++@@ -0,0 +1 @@
+++a
++EOF
++
++${FILTERDIFF} --clean -x file1 diff 2>errors >filtered || exit 1
++[ -s errors ] && exit 1
++cat << EOF | cmp - filtered || exit 1
++--- a/file1
+++++ b/file1
++@@ -0,0 +1 @@
+++a
++EOF
+-- 
+cgit v0.10.1
+
diff --git a/pkgs/tools/text/peco/default.nix b/pkgs/tools/text/peco/default.nix
new file mode 100644
index 00000000000..be49ba50920
--- /dev/null
+++ b/pkgs/tools/text/peco/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, go, fetchgit }:
+
+let
+  go-flags = fetchgit {
+    url = "git://github.com/jessevdk/go-flags";
+    rev = "4f0ca1e2d1349e9662b633ea1b8b8d48e8a32533";
+    sha256 = "5f22f4c5a0529ff0da8e507462ad910bb73c513fde49d58dd4baf7332787ca3d";
+  };
+  go-runewidth = fetchgit {
+    url = "git://github.com/mattn/go-runewidth";
+    rev = "36f63b8223e701c16f36010094fb6e84ffbaf8e0";
+    sha256 = "718e9e04659441744b8d43bd3d7e806836194cf322962712a6e019311d407ecf";
+  };
+  termbox-go = fetchgit {
+    url = "git://github.com/nsf/termbox-go";
+    rev = "4e63c3a917c197694cb4fef6c55582500b3741e3";
+    sha256 = "00ecc0dcf0919a42ea06fe3bd93480a17241160c434ff3872b6f5e418eb18069";
+  };
+in stdenv.mkDerivation rec {
+  name = "peco-${version}";
+  version = "0.2.3";
+
+  src = fetchgit {
+    url = "git://github.com/peco/peco";
+    rev = "b8e0c8f37d3eed68e64c931b0edb77728f3723f9";
+    sha256 = "f178e01ab0536770b17eddcefd863e68c2d65b527b5da1fc3fb9efb19c12635f";
+  };
+
+  buildInputs = [ go ];
+
+  sourceRoot = ".";
+
+  buildPhase = ''
+    mkdir -p src/github.com/jessevdk/go-flags/
+    ln -s ${go-flags}/* src/github.com/jessevdk/go-flags
+
+    mkdir -p src/github.com/mattn/go-runewidth/
+    ln -s ${go-runewidth}/* src/github.com/mattn/go-runewidth
+
+    mkdir -p src/github.com/nsf/termbox-go/
+    ln -s ${termbox-go}/* src/github.com/nsf/termbox-go
+
+    mkdir -p src/github.com/peco/peco
+    ln -s ${src}/* src/github.com/peco/peco
+
+    export GOPATH=$PWD
+    go build -v -o peco src/github.com/peco/peco/cmd/peco/peco.go
+  ''; # */
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp peco $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simplistic interactive filtering tool";
+    homepage = https://github.com/peco/peco;
+    license = licenses.mit;
+    # peco should work on Windows or other POSIX platforms, but the go package
+    # declares only linux and darwin.
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix
index fc9e3785cf3..ccfeabaa73b 100644
--- a/pkgs/tools/text/podiff/default.nix
+++ b/pkgs/tools/text/podiff/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://puszcza.gnu.org.ua/software/podiff;
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/qshowdiff/default.nix b/pkgs/tools/text/qshowdiff/default.nix
index 7c76c7f1bca..a2d6e360a37 100644
--- a/pkgs/tools/text/qshowdiff/default.nix
+++ b/pkgs/tools/text/qshowdiff/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://qshowdiff.danfis.cz/;
     description = "Colourful diff viewer";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index db9ed5d30f3..21b35682e4e 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,14 +1,15 @@
 # XXX: this may need -liconv on non-glibc systems.. 
 
-{ stdenv, fetchgit, python, perl, autoconf, automake, libtool, intltool, flex }:
+{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex }:
 
 stdenv.mkDerivation rec {
-  name = "recode-3.7-pff85fdbd";
+  name = "recode-3.7-2fd838565";
 
-  src = fetchgit {
-    url = https://github.com/pinard/Recode.git;
+  src = fetchFromGitHub {
+    owner = "pinard";
+    repo = "Recode";
     rev = "2fd8385658e5a08700e3b916053f6680ff85fdbd";
-    sha256 = "1xhlfmqld6af16l444jli9crj9brym2jihg1n6lkxh2gar68f5l7";
+    sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03";
   };
 
   buildInputs = [ python perl autoconf automake libtool intltool flex ];
@@ -21,6 +22,9 @@ stdenv.mkDerivation rec {
     substituteInPlace src/Makefile.am --replace "ansi2knr" ""
 
     autoreconf -fi
+  ''
+  + stdenv.lib.optionalString stdenv.isDarwin ''
+    export LDFLAGS=-lintl
   '';
 
   #doCheck = true; # doesn't work yet
diff --git a/pkgs/tools/text/sgml/openjade/default.nix b/pkgs/tools/text/sgml/openjade/default.nix
index fc7ee9f6f06..a2920345afa 100644
--- a/pkgs/tools/text/sgml/openjade/default.nix
+++ b/pkgs/tools/text/sgml/openjade/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An implementation of DSSSL, an ISO standard for formatting SGML (and XML) documents";
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
     homepage = http://openjade.sourceforge.net/;
   };
 }
diff --git a/pkgs/tools/text/sgml/opensp/compat.nix b/pkgs/tools/text/sgml/opensp/compat.nix
index 3e9d9152d36..16498281181 100644
--- a/pkgs/tools/text/sgml/opensp/compat.nix
+++ b/pkgs/tools/text/sgml/opensp/compat.nix
@@ -1,9 +1,9 @@
 { stdenv, opensp }:
 
 stdenv.mkDerivation {
-  name = "sp-compat-${builtins.substring 7 100 opensp.name}";
+  name = "sp-compat-${stdenv.lib.getVersion opensp}";
 
-  phases = [ "fixupPhase" "installPhase" ];
+  phases = [ "installPhase" "fixupPhase" ];
 
   installPhase = ''
     mkdir -pv $out/bin
diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix
index e30567000dd..59b9b7bc13d 100644
--- a/pkgs/tools/text/sgml/opensp/default.nix
+++ b/pkgs/tools/text/sgml/opensp/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A suite of SGML/XML processing tools";
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
     homepage = http://openjade.sourceforge.net/;
   };
 }
diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix
new file mode 100644
index 00000000000..ba17d1865db
--- /dev/null
+++ b/pkgs/tools/text/silver-searcher/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchgit, autoreconfHook, pkgconfig, pcre, zlib, lzma}:
+
+let release = "0.24.1"; in
+stdenv.mkDerivation {
+  name = "silver-searcher-${release}";
+
+  src = fetchgit {
+    url = "https://github.com/ggreer/the_silver_searcher.git";
+    rev = "refs/tags/${release}";
+    sha256 = "1cwav217mkbwyg8isiak0wynydiil2j9gy4sx79harbcql0f3nl3";
+  };
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
+
+  buildInputs = [ autoreconfHook pkgconfig pcre zlib lzma ];
+
+  meta = {
+    homepage = https://github.com/ggreer/the_silver_searcher/;
+    description = "A code-searching tool similar to ack, but faster";
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index e5928e16256..a7d1ddb0f3b 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -8,21 +8,23 @@ stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
-      url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
-      sha256 = "1s49ld8cnpzhhwq0r7s0sfm3cg3nhhm0wla27lwraifrrl3y1cp1";
-    };
+    url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
+    sha256 = "1s49ld8cnpzhhwq0r7s0sfm3cg3nhhm0wla27lwraifrrl3y1cp1";
+  };
 
   configureFlags = [ "--with-boost=${boost}" ];
 
-  buildInputs = [boost];
+  buildInputs = [ boost ];
+
+  enableParallelBuilding = false;
+
   doCheck = true;
 
   meta = {
-    description = "source code renderer with syntax highlighting";
-    homepage = "http://www.gnu.org/software/src-highlite/";
-    license = "GPLv3+";
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    description = "Source code renderer with syntax highlighting";
+    homepage = http://www.gnu.org/software/src-highlite/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
     longDescription =
       ''
         GNU Source-highlight, given a source file, produces a document
diff --git a/pkgs/tools/text/uni2ascii/default.nix b/pkgs/tools/text/uni2ascii/default.nix
index b4573118a49..9e62b2b3d59 100644
--- a/pkgs/tools/text/uni2ascii/default.nix
+++ b/pkgs/tools/text/uni2ascii/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "uni2ascii-4.15";
+  name = "uni2ascii-4.18";
   src = fetchurl {
     url = "http://billposer.org/Software/Downloads/${name}.tar.gz";
-    sha256 = "0vlwsqrzmdsb2mx0hbhmw1dvzy56jk8779hphnj6yxijryva6g2v";
+    sha256 = "03lklnzr6ngs4wqiqa7rifd246f441gfvardbsaa5l6fn9pbn94y";
   };
 
   meta = {
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     homepage = http://billposer.org/Software/uni2ascii.html;
     description = "Converts between UTF-8 and many 7-bit ASCII equivalents and back";
 
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     similar ASCII characters, e.g. by stripping diacritics.
     '';
     maintainers = [ "cillian.deroiste@gmail.com" ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index 63de9c30693..e6fc3510cd4 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, fetchurl, which, screen }:
+{ stdenv, fetchurl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-1.1.2";
+  name = "wdiff-1.2.1";
 
   src = fetchurl {
     url = "mirror://gnu/wdiff/${name}.tar.gz";
-    sha256 = "0q78y5awvjjmsvizqilbpwany62shlmlq2ayxkjbygmdafpk1k8j";
+    sha256 = "1gb5hpiyikada9bwz63q3g96zs383iskiir0xsqynqnvq1vd4n41";
   };
 
-  # Required for the compile-time for the test suite.
-  buildInputs = [ which screen ];
-
-  doCheck = true;
+  buildInputs = [ texinfo ];
 
   meta = {
     homepage = http://www.gnu.org/software/wdiff/;
     description = "GNU wdiff, comparing files on a word by word basis";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
index a47eb2ddf9f..7635e042499 100644
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ b/pkgs/tools/text/wgetpaste/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, wget, bash, coreutils}:
   stdenv.mkDerivation rec {
-    version = "2.20";
+    version = "2.23";
     name = "wgetpaste-${version}";
       src = fetchurl {
         url = "http://wgetpaste.zlin.dk/${name}.tar.bz2";
-        sha256 = "7a53836d02e07cefc3c2978bb129a037fa1e1222ba0e275c4e818230a6d6fb9e";
+        sha256 = "1xam745f5pmqi16br72a866117hnmcfwjyvsw1jhg3npbdnm9x6n";
     };
     # currently zsh-autocompletion support is not installed
 
diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix
index 4f120601c8e..c67444838b2 100644
--- a/pkgs/tools/text/xml/basex/default.nix
+++ b/pkgs/tools/text/xml/basex/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
-  name = "basex-7.7";
+  name = "basex-7.8.2";
 
   src = fetchurl {
-    url = "http://files.basex.org/releases/7.7/BaseX77.zip";
-    sha256 = "1wnndq8lcnfx29bc3j2sgswk6dxgv2nln2chmwbf7h4a05fcavdj";
+    url = "http://files.basex.org/releases/7.8.2/BaseX782.zip";
+    sha256 = "0i9h7fsvn8cy1g44f23iyqndwamvx4kvyc4y3i00j15qm6qd2kbm";
   };
 
   buildInputs = [ unzip jre ];
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
index f52855dfc53..fd5a5dc5f8e 100644
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Utilities for manipulating HTML and XML files";
     homepage = http://www.w3.org/Tools/HTML-XML-utils/;
-    license = "free-non-copyleft";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    license = "free-non-copyleft"; #TODO W3C
   };
 }
diff --git a/pkgs/tools/text/xml/rxp/default.nix b/pkgs/tools/text/xml/rxp/default.nix
index ee66cf92377..6ec9758ed3a 100644
--- a/pkgs/tools/text/xml/rxp/default.nix
+++ b/pkgs/tools/text/xml/rxp/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     cp rxp $out/bin
   '';
   meta = {
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2Plus;
     description = "a validating XML parser written in C";
     homepage = "http://www.cogsci.ed.ac.uk/~richard/rxp.html";
   };
diff --git a/pkgs/tools/text/xml/xmlstarlet/default.nix b/pkgs/tools/text/xml/xmlstarlet/default.nix
index ffeb9a8cd7c..aea3ab2bd96 100644
--- a/pkgs/tools/text/xml/xmlstarlet/default.nix
+++ b/pkgs/tools/text/xml/xmlstarlet/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "xmlstarlet-1.0.2";
+  name = "xmlstarlet-1.5.0";
   
   src = fetchurl {
     url = "mirror://sourceforge/xmlstar/${name}.tar.gz";
-    sha256 = "07a5c3fhqpvyy07pggl3ky7ahvlcpsmppy71x4h4albvanfbpjwj";
+    sha256 = "1fmvqvzrzyfcg53j39sdz01v7klzyhd011m3y9br54525q2fvd27";
   };
 
   buildInputs = [ pkgconfig libxml2 libxslt ];
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A command line tool for manipulating and querying XML data";
     homepage = http://xmlstar.sourceforge.net/;
-    license = "bsd";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index aeeaf04e7ba..370f0efb32a 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -22,6 +22,10 @@
 , gnused ? null
 , coreutils ? null
 
+# if true, enable all the below filters and backends
+, enableExtraPlugins ? false
+
+# unzip is needed to extract filter and backend plugins
 , unzip ? null
 # filters
 , enableDitaaFilter ? false, jre ? null
@@ -58,17 +62,26 @@ assert enableStandardFeatures ->
   coreutils != null;
 
 # filters
-assert (enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter) -> unzip != null;
-assert enableDitaaFilter -> jre != null;
-assert enableMscgenFilter -> mscgen != null;
-assert enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
-assert enableMatplotlibFilter -> matplotlib != null && numpy != null;
-assert enableAafigureFilter -> aafigure != null && recursivePthLoader != null;
+assert enableExtraPlugins || enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter -> unzip != null;
+assert enableExtraPlugins || enableDitaaFilter -> jre != null;
+assert enableExtraPlugins || enableMscgenFilter -> mscgen != null;
+assert enableExtraPlugins || enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
+assert enableExtraPlugins || enableMatplotlibFilter -> matplotlib != null && numpy != null;
+assert enableExtraPlugins || enableAafigureFilter -> aafigure != null && recursivePthLoader != null;
 # backends
-assert (enableDeckjsBackend || enableOdfBackend) -> unzip != null;
+assert enableExtraPlugins || enableDeckjsBackend || enableOdfBackend -> unzip != null;
 
 let
 
+  _enableDitaaFilter = enableExtraPlugins || enableDitaaFilter;
+  _enableMscgenFilter = enableExtraPlugins || enableMscgenFilter;
+  _enableDiagFilter = enableExtraPlugins || enableDiagFilter;
+  _enableQrcodeFilter = enableExtraPlugins || enableQrcodeFilter;
+  _enableMatplotlibFilter = enableExtraPlugins || enableMatplotlibFilter;
+  _enableAafigureFilter = enableExtraPlugins || enableAafigureFilter;
+  _enableDeckjsBackend = enableExtraPlugins || enableDeckjsBackend;
+  _enableOdfBackend = enableExtraPlugins || enableOdfBackend;
+
   #
   # filters
   #
@@ -128,11 +141,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "asciidoc-8.6.8";
+  name = "asciidoc-8.6.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/asciidoc/${name}.tar.gz";
-    sha256 = "ffb67f59dccaf6f15db72fcd04fdf21a2f9b703d31f94fcd0c49a424a9fcfbc4";
+    sha256 = "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq";
   };
 
   buildInputs = [ python unzip ];
@@ -141,17 +154,17 @@ stdenv.mkDerivation rec {
   patchPhase = with stdenv.lib; ''
     mkdir -p "$out/etc/asciidoc/filters"
     mkdir -p "$out/etc/asciidoc/backends"
-  '' + optionalString enableDitaaFilter ''
+  '' + optionalString _enableDitaaFilter ''
     echo "Extracting ditaa filter"
     unzip -d "$out/etc/asciidoc/filters/ditaa" "${ditaaFilterSrc}"
     sed -i -e "s|java -jar|${jre}/bin/java -jar|" \
         "$out/etc/asciidoc/filters/ditaa/ditaa2img.py"
-  '' + optionalString enableMscgenFilter ''
+  '' + optionalString _enableMscgenFilter ''
     echo "Extracting mscgen filter"
     unzip -d "$out/etc/asciidoc/filters/mscgen" "${mscgenFilterSrc}"
     sed -i -e "s|filter-wrapper.py mscgen|filter-wrapper.py ${mscgen}/bin/mscgen|" \
         "$out/etc/asciidoc/filters/mscgen/mscgen-filter.conf"
-  '' + optionalString enableDiagFilter ''
+  '' + optionalString _enableDiagFilter ''
     echo "Extracting diag filter"
     unzip -d "$out/etc/asciidoc/filters/diag" "${diagFilterSrc}"
     sed -i \
@@ -161,12 +174,12 @@ stdenv.mkDerivation rec {
         -e "s|filter='nwdiag|filter=\'${nwdiag}/bin/nwdiag|" \
         -e "s|filter='packetdiag|filter=\'${nwdiag}/bin/packetdiag|" \
         "$out/etc/asciidoc/filters/diag/diag-filter.conf"
-  '' + optionalString enableQrcodeFilter ''
+  '' + optionalString _enableQrcodeFilter ''
     echo "Extracting qrcode filter"
     unzip -d "$out/etc/asciidoc/filters/qrcode" "${qrcodeFilterSrc}"
     sed -i -e "s|systemcmd('qrencode|systemcmd('${qrencode}/bin/qrencode|" \
         "$out/etc/asciidoc/filters/qrcode/qrcode2img.py"
-  '' + optionalString enableMatplotlibFilter ''
+  '' + optionalString _enableMatplotlibFilter ''
     echo "Extracting mpl (matplotlib) filter"
     mkdir -p "$out/etc/asciidoc/filters/mpl"
     tar xvf "${matplotlibFilterSrc}" -C "$out/etc/asciidoc/filters/mpl" --strip-components=1
@@ -177,7 +190,7 @@ stdenv.mkDerivation rec {
     numpy_path="$(toPythonPath ${numpy})"
     sed -i "/^import.*sys/asys.path.append(\"$matplotlib_path\"); sys.path.append(\"$numpy_path\");" \
         "$out/etc/asciidoc/filters/mpl/mplw.py"
-  '' + optionalString enableAafigureFilter ''
+  '' + optionalString _enableAafigureFilter ''
     echo "Extracting aafigure filter"
     unzip -d "$out/etc/asciidoc/filters/aafigure" "${aafigureFilterSrc}"
     # Add aafigure to sys.path (and it needs recursive-pth-loader)
@@ -185,10 +198,10 @@ stdenv.mkDerivation rec {
     aafigure_path="$(toPythonPath ${aafigure})"
     sed -i "/^import.*sys/asys.path.append(\"$pth_loader_path\"); sys.path.append(\"$aafigure_path\"); import sitecustomize" \
         "$out/etc/asciidoc/filters/aafigure/aafig2img.py"
-  '' + optionalString enableDeckjsBackend ''
+  '' + optionalString _enableDeckjsBackend ''
     echo "Extracting deckjs backend"
     unzip -d "$out/etc/asciidoc/backends/deckjs" "${deckjsBackendSrc}"
-  '' + optionalString enableOdfBackend ''
+  '' + optionalString _enableOdfBackend ''
     echo "Extracting odf backend (odt + odp)"
     unzip -d "$out/etc/asciidoc/backends/odt" "${odtBackendSrc}"
     unzip -d "$out/etc/asciidoc/backends/odp" "${odpBackendSrc}"
@@ -257,7 +270,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.methods.co.nz/asciidoc/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    hydraPlatforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
new file mode 100644
index 00000000000..1769a59520b
--- /dev/null
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, buildPerlPackage, autovivification, BusinessISBN
+, BusinessISMN, BusinessISSN, ConfigAutoConf, DataCompare, DataDump, DateSimple
+, EncodeEUCJPASCII, EncodeHanExtra, EncodeJIS2K, ExtUtilsLibBuilder
+, FileSlurp, IPCRun3, Log4Perl, LWPProtocolHttps, ListAllUtils, ListMoreUtils
+, ModuleBuild, MozillaCA, ReadonlyXS, RegexpCommon, TextBibTeX, UnicodeCollate
+, UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter }:
+
+let
+  version = "1.8";
+  pn = "biblatex-biber";
+in
+buildPerlPackage {
+  name = "biber-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/project/${pn}/${pn}/${version}/${pn}.tar.gz";
+    sha256 = "0ffry64pdvg5g487r7qab5b3cs4kq8rq8n3bymxrr1qh3mp79k4n";
+  };
+
+  buildInputs = [
+    autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
+    DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
+    ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils
+    ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX
+    UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
+  ];
+  preConfigure = "touch Makefile.PL";
+  buildPhase = "perl Build.PL --prefix=$out; ./Build build";
+  checkPhase = "./Build test";
+  installPhase = "./Build install";
+
+  # Tests seem to be broken
+  doCheck = false;
+
+  meta = {
+    description = "Backend for BibLaTeX";
+    license = "perl";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix
new file mode 100644
index 00000000000..5455df5f106
--- /dev/null
+++ b/pkgs/tools/typesetting/djvu2pdf/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, pkgconfig, djvulibre, ghostscript }:
+
+stdenv.mkDerivation rec {
+  version = "0.9.2";
+  name = "djvu2pdf-${version}";
+
+  src = fetchurl {
+    url = "http://0x2a.at/site/projects/djvu2pdf/djvu2pdf-${version}.tar.gz";
+    sha256 = "0v2ax30m7j1yi4m02nzn9rc4sn4vzqh5vywdh96r64j4pwvn5s5g";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedUserEnvPkgs = [ djvulibre ghostscript ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -p djvu2pdf $out/bin
+    mkdir -p $out/man/man1
+    cp -p djvu2pdf.1.gz $out/man/man1
+  '';
+
+  meta = {
+    description = "Creates djvu files from PDF files";
+    homepage = http://0x2a.at/s/projects/djvu2pdf;
+    license = stdenv.lib.licenses.gpl2;
+    inherit version;
+  };
+}
diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix
new file mode 100644
index 00000000000..90b2ff61f34
--- /dev/null
+++ b/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, perl, makeWrapper, zip, libxslt, PerlMagick }:
+
+stdenv.mkDerivation rec {
+  name = "docbook2odf-0.244";
+
+  src = fetchurl {
+    url = "http://open.comsultia.com/docbook2odf/dwn/${name}.tar.gz";
+    sha256 = "10k44g0qqa37k30pfj8vz95j6zdzz0nmnqjq1lyahfs2h4glzgwb";
+  };
+
+  buildInputs = [ perl makeWrapper ];
+
+  installPhase = ''
+    mkdir -p "$out/bin/"
+    mkdir -p "$out/share/docbook2odf/"
+    mkdir -p "$out/share/doc/docbook2odf/"
+    mkdir -p "$out/share/man/man1/"
+    mkdir -p "$out/share/applications/"
+
+    cp utils/docbook2odf "$out/bin/"
+    cp docs/docbook2odf.1 "$out/share/man/man1/"
+    cp -r examples/ "$out/share/doc/docbook2odf/"
+    cp -r xsl/ "$out/share/docbook2odf/"
+    cp bindings/desktop/docbook2odf.desktop "$out/share/applications/"
+
+    sed -i "s|/usr/share/docbook2odf|$out/share/docbook2odf|" "$out/bin/docbook2odf"
+
+    wrapProgram "$out/bin/docbook2odf" \
+      --prefix PATH : "${zip}/bin:${libxslt}/bin" \
+      --prefix PERL5PATH : "${stdenv.lib.makePerlPath [PerlMagick]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Convert DocBook to OpenDocument Format (ODF)";
+    longDescription = ''
+      Docbook2odf is a toolkit that automaticaly converts DocBook to OASIS
+      OpenDocument (ODF, the ISO standardized format used for texts,
+      spreadsheets and presentations). Conversion is based on a XSLT which
+      makes it easy to convert DocBook->ODF, ODT, ODS and ODP as all these
+      documents are XML based.
+    '';
+    homepage = http://open.comsultia.com/docbook2odf/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index d7d3f6f92a2..78dac0c6aa4 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
       into the traditional Unix man page format and the GNU Texinfo
       format.
     '';
-    license = "MIT-style";
+    license = stdenv.lib.licenses.mit;
     homepage = http://docbook2x.sourceforge.net/;
   };
 }
diff --git a/pkgs/tools/typesetting/fop/default.nix b/pkgs/tools/typesetting/fop/default.nix
index bc4486ed49c..473b23fe262 100644
--- a/pkgs/tools/typesetting/fop/default.nix
+++ b/pkgs/tools/typesetting/fop/default.nix
@@ -4,34 +4,28 @@ stdenv.mkDerivation rec {
   name = "fop-1.1";
 
   src = fetchurl {
-    url = "http://apache.uib.no/xmlgraphics/fop/source/${name}-src.tar.gz";
+    url = "mirror://apache/xmlgraphics/fop/source/${name}-src.tar.gz";
     sha256 = "08i56d57w5dl5bqchr34x9165hvi5h4bhiflxhi0a4wd56rlq5jq";
   };
 
   buildInputs = [ ant jdk ];
 
-  buildPhase = ''
-    ant
-  '';
+  buildPhase = "ant";
 
   installPhase = ''
-    mkdir -p "$out/bin"
-    mkdir -p "$out/lib"
-    mkdir -p "$out/share/doc/fop"
+    mkdir -p $out/bin $out/lib $out/share/doc/fop
 
-    cp build/*.jar lib/*.jar "$out/lib/"
-    cp -r README examples/ "$out/share/doc/fop/"
+    cp build/*.jar lib/*.jar $out/lib/
+    cp -r README examples/ $out/share/doc/fop/
 
     # There is a fop script in the source archive, but it has many impurities.
     # Instead of patching out 90 % of the script, we write our own.
     cat > "$out/bin/fop" <<EOF
     #!${stdenv.shell}
     java_exec_args="-Djava.awt.headless=true"
-    # Note the wildcard; it will be passed to java and java will expand it
-    LOCALCLASSPATH="$out/lib/*"
-    exec "${jdk}/bin/java" \$java_exec_args -classpath "\$LOCALCLASSPATH" org.apache.fop.cli.Main "\$@"
+    exec ${jdk.jre}/bin/java \$java_exec_args -classpath "$out/lib/*" org.apache.fop.cli.Main "\$@"
     EOF
-    chmod a+x "$out/bin/fop"
+    chmod a+x $out/bin/fop
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/typesetting/halibut/default.nix b/pkgs/tools/typesetting/halibut/default.nix
index 5a2c5fb2e06..48d1ebfc276 100644
--- a/pkgs/tools/typesetting/halibut/default.nix
+++ b/pkgs/tools/typesetting/halibut/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Documentation production system for software manuals";
     homepage = http://www.chiark.greenend.org.uk/~sgtatham/halibut/;
-    license = "free";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/typesetting/lhs2tex/default.nix b/pkgs/tools/typesetting/lhs2tex/default.nix
index ec1c9021522..35e609b440a 100644
--- a/pkgs/tools/typesetting/lhs2tex/default.nix
+++ b/pkgs/tools/typesetting/lhs2tex/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, mtl, regexCompat, texLive }:
 
 cabal.mkDerivation (self: {
@@ -16,8 +18,9 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://www.andres-loeh.de/lhs2tex/";
     description = "Preprocessor for typesetting Haskell sources with LaTeX";
-    license = "GPL";
+    license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.linux;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix
index 0d160214376..c0fc4336297 100644
--- a/pkgs/tools/typesetting/lout/default.nix
+++ b/pkgs/tools/typesetting/lout/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, ghostscript}:
 
 stdenv.mkDerivation rec {
-  name = "lout-3.39";
+  name = "lout-3.40";
 
   src = fetchurl {
     urls = [
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       # XXX: We could add the CTAN mirrors
       # (see http://www.ctan.org/tex-archive/support/lout/).
     ];
-    sha256 = "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq";
+    sha256 = "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix";
   };
 
   buildInputs = [ ghostscript ];
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     # Wiki: http://lout.wiki.sourceforge.net/
     homepage = http://savannah.nongnu.org/projects/lout/;
 
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.ludo ];
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
new file mode 100644
index 00000000000..e05e4d16a06
--- /dev/null
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "pdfgrep-${version}";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/pdfgrep/${version}/${name}.tar.gz";
+    sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437";
+  };
+
+  buildInputs = [ pkgconfig poppler poppler_data makeWrapper ];
+
+  patchPhase = ''
+    sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc
+    sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc
+  '';
+
+  # workarround since it can't be hardcoded in pdfgrep
+  preFixup = ''
+    wrapProgram "$out/bin/pdfgrep" \
+      --set POPPLER_DATADIR "${poppler_data}/share/poppler"
+  '';
+
+  meta = {
+    description = "a tool to search text in PDF files";
+    homepage = http://pdfgrep.sourceforge.net/;
+    license = "free";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/typesetting/pdfjam/default.nix b/pkgs/tools/typesetting/pdfjam/default.nix
index e9b46eaa985..426cef3c85d 100644
--- a/pkgs/tools/typesetting/pdfjam/default.nix
+++ b/pkgs/tools/typesetting/pdfjam/default.nix
@@ -5,4 +5,8 @@
     url = http://www.warwick.ac.uk/go/pdfjam/pdfjam_1.20.tgz;
     sha256 = "05g3mx7mb6h15ivbv0f53r369xphy8ad8a2xblpnk9mrnlrkaxy9";
   };
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = maintainers.mornfall;
+  };
 }
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix
index 28a43e69598..c71bc3ba77c 100644
--- a/pkgs/tools/typesetting/pdftk/default.nix
+++ b/pkgs/tools/typesetting/pdftk/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Simple tool for doing everyday things with PDF documents";
     homepage = http://www.accesspdf.com/pdftk/;
-    license = "free";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix
index 054632533a1..8344735606c 100644
--- a/pkgs/tools/typesetting/rubber/default.nix
+++ b/pkgs/tools/typesetting/rubber/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       of pdfLaTeX to produce PDF documents.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     homepage = http://www.pps.jussieu.fr/~beffara/soft/rubber/;
   };
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 3a8b41da660..b3c09952e43 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -2,7 +2,7 @@
  
 stdenv.mkDerivation ( rec {
   pname = "auctex";
-  version = "11.85";
+  version = "11.87";
   name = "${pname}-${version}";
 
   meta = {
@@ -12,7 +12,7 @@ stdenv.mkDerivation ( rec {
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${name}.tar.gz";
-    sha256 = "aebbea00431f8fd1e6be6519d9cc28e974942000737f956027da2c952a6d304e";
+    sha256 = "1wjwpmvhpj8q0zd78lj7vyzqhx4rbdhkflslylkzgnw5wllp5mb3";
   };
 
   buildInputs = [ emacs texLive ];
diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix
index 6993158291c..a68ab2d01b9 100644
--- a/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
     homepage = http://dblatex.sourceforge.net/;
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/pgf/1.x.nix b/pkgs/tools/typesetting/tex/pgf/1.x.nix
index 91948f995a0..032d9b5520e 100644
--- a/pkgs/tools/typesetting/tex/pgf/1.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf/1.x.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "pgf-1.10";
+  name = "pgf-1.18";
   
   src = fetchurl {
-    url = mirror://sourceforge/pgf/pgf-1.10.tar.gz;
-    sha256 = "1y605wmjxryphh0y5zgzvdq6xjxb2bjb95j36d4wg1a7n93ksswl";
+    url = mirror://sourceforge/pgf/pgf-1.18.tar.gz;
+    sha256 = "0s6b8rx9yfxcjjg18vx1mphnwbd28fl5lnq0dasjz40pp3ypwdjv";
   };
 
   buildPhase = "true";
diff --git a/pkgs/tools/typesetting/tex/pgfplots/default.nix b/pkgs/tools/typesetting/tex/pgfplots/default.nix
index bc47244a5fa..67739350c6f 100644
--- a/pkgs/tools/typesetting/tex/pgfplots/default.nix
+++ b/pkgs/tools/typesetting/tex/pgfplots/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildPhase = "true";
   
   installPhase = "
-    ensureDir $out/share/texmf-nix
+    mkdir -p $out/share/texmf-nix
     cp -prd * $out/share/texmf-nix
   ";
 }
diff --git a/pkgs/tools/typesetting/tex/tex4ht/default.nix b/pkgs/tools/typesetting/tex/tex4ht/default.nix
index f903ef5792f..69d02a275b3 100644
--- a/pkgs/tools/typesetting/tex/tex4ht/default.nix
+++ b/pkgs/tools/typesetting/tex/tex4ht/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://tug.org/tex4ht/";
     description = "a system to convert (La)TeX documents to HTML and various other formats";
-    license = "LPPL";		# LaTeX Project Public License
+    license = "LPPL-1.2";		# LaTeX Project Public License
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
index 2d1de93fed8..e001a36cab0 100644
--- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix
+++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
@@ -68,6 +68,8 @@ rec {
     done
   '' ) [ "minInit" "defEnsureDir" "addInputs" ];
 
+  preferLocalBuild = true;
+
   meta = {
     description = "TeX distribution directory";
     longDescription = ''
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index bf9079ab104..8b06cbb5a2b 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "texlive-beamer-2012";
+  name = "texlive-beamer-2013";
   src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.10.orig.tar.gz;
-    sha256 = "1vk7nr1lxinyj941nz5xzcpzircd60s8sgmq7jd2gqmf5ynd27nx";
+    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.24.orig.tar.gz;
+    sha256 = "0rzjlbs67kzmvlh7lwga4yxgddvrvfkkhhx1ajdn4lqy2w9zxiv8";
   };
 
   buildInputs = [texLive];
@@ -20,5 +20,6 @@ rec {
 
   meta = {
     description = "Extra components for TeXLive: beamer class";
+    maintainers = stdenv.lib.maintainers.mornfall;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
index 4d161c3e053..066796ed39c 100644
--- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix
+++ b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
@@ -30,6 +30,6 @@ rec {
     maintainers = [ args.lib.maintainers.raskin ];
 
     # Actually, arch-independent.. 
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 9119ded9c13..016b63dd3cf 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -1,23 +1,28 @@
 args : with args;
 rec {
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2013.20130729.30972.orig.tar.xz;
-    sha256 = "1idgyim6r4bi3id245k616qrdarfh65xv3gi2psarqqmsw504yhd";
+    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2014.20140528.34243.orig.tar.xz;
+    sha256 = "0nh8hfayyf60nm4z8zyclrbc3792c62azgsvrwxnl28iq223200s";
   };
 
+  texmfVersion = "2014.20140717";
   texmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20130918.orig.tar.xz;
-    sha256 = "0h7x49zsd2gs8fr28f4h04dv5m8p2mpgqxk2vvl5xlf4wwxxbm2p";
+    url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz";
+    sha256 = "08vhl6x742r8fl0gags2r6yspz8ynvz26vdjrqb4vyz5h7h3rzc9";
   };
 
+  langTexmfVersion = "2014.20140717";
   langTexmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131010.orig.tar.xz;
-    sha256 = "17wfd2qmyafv74ac3ssy9aga12g09l2q0r1p19fb4vvs0wrkwzbz";
+    url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz";
+    sha256 = "1x9aa3v2cg4lcb58lwksnfdsgrhi0sg968pjqsbndmbxhr1msbp7";
   };
 
+  passthru = { inherit texmfSrc langTexmfSrc; };
+
   setupHook = ./setup-hook.sh;
 
   doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin ''
+    export MACOSX_DEPLOYMENT_TARGET=10.9
     export DYLD_LIBRARY_PATH="${poppler}/lib"
   '' + ''
     mkdir -p $out
@@ -29,6 +34,9 @@ rec {
 
     sed -e s@/usr/bin/@@g -i $(grep /usr/bin/ -rl . )
 
+    sed -e 's@dehypht-x-2013-05-26@dehypht-x-2014-05-21@' -i $(grep 'dehypht-x' -rl $out )
+    sed -e 's@dehyphn-x-2013-05-26@dehyphn-x-2014-05-21@' -i $(grep 'dehyphn-x' -rl $out )
+
     sed -e 's@\<env ruby@${ruby}/bin/ruby@' -i $(grep 'env ruby' -rl . )
     sed -e 's@\<env perl@${perl}/bin/perl@' -i $(grep 'env perl' -rl . )
     sed -e 's@\<env python@${python}/bin/python@' -i $(grep 'env python' -rl . )
@@ -36,12 +44,12 @@ rec {
     sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
     sed -e 's/-lttf/-lfreetype/' -i $(find . -name configure)
 
-    sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
+    # sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
     sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
 
     NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout";
 
-    ./Build --prefix="$out" --datadir="$out/share" --mandir "$out/share/man" --infodir "$out/share/info" \
+    ./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \
       ${args.lib.concatStringsSep " " configureFlags}
     cd Work
   '' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ];
@@ -100,30 +108,38 @@ rec {
   patchShebangsInterimShareTexmfDist = doPatchShebangs ''$out/share/texmf-dist/scripts/'';
   patchShebangsInterimTexmfDist = doPatchShebangs ''$out/texmf-dist/scripts/'';
 
-  patchShebangsInterim = fullDepEntry ("") ["patchShebangsInterimBin" 
-    "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist" 
+  patchShebangsInterim = fullDepEntry ("") ["patchShebangsInterimBin"
+    "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist"
     "patchShebangsInterimShareTexmfDist"];
 
   buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto
     freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext
     xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig
-    poppler graphite2 lesstif zziplib harfbuzz texinfo ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ];
+    poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ]
+    ;
 
   configureFlags = [ "--with-x11" "--enable-ipc" "--with-mktexfmt"
     "--enable-shared" "--disable-native-texlive-build" "--with-system-zziplib"
-    "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2" 
-    "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2"
-    ]
-    ++ ( if stdenv.isDarwin
-         # ironically, couldn't get xetex compiling on darwin
-         then [ "--disable-xetex" "--disable-xdv2pdf" "--disable-xdvipdfmx" ]
-         # couldn't seem to get system icu working on darwin
-         else [ "--with-system-icu" ] );
+    "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2"
+    "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2" ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [
+      # TODO: We should be able to fix these tests
+      "--disable-devnag"
+
+      # jww (2014-06-02): The following fails with:
+      # FAIL: tests/dvisvgm
+      # ===================
+      #
+      # dyld: Library not loaded: libgs.dylib.9.06
+      #   Referenced from: .../Work/texk/dvisvgm/.libs/dvisvgm
+      #   Reason: image not found
+      "--disable-dvisvgm"
+    ];
 
   phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ];
 
-  name = "texlive-core-2013";
+  name = "texlive-core-2014";
 
   meta = with stdenv.lib; {
     description = "A TeX distribution";
@@ -133,4 +149,3 @@ rec {
     platforms   = platforms.unix;
   };
 }
-
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
index 6613578e2c6..4644ee3e50e 100644
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ b/pkgs/tools/typesetting/tex/texlive/extra.nix
@@ -1,9 +1,11 @@
 args: with args;
 rec {
-  name = "texlive-extra-2013";
+  name    = "texlive-extra-2014";
+  version = "2014.20140717";
+
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131010.orig.tar.xz;
-    sha256 = "1wciyjwp0swny22amwcnr6vvdwjy423856q7c3l1sd5b31xfbc18";
+    url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz";
+    sha256 = "1khxqdq9gagm6z8kbpjbraysfzibfjs2cgbrhjpncbd24sxpw13q";
   };
 
   buildInputs = [texLive xz];
@@ -18,7 +20,7 @@ rec {
     description = "Extra components for TeXLive";
     maintainers = [ args.lib.maintainers.raskin ];
 
-    # Actually, arch-independent.. 
-    platforms = [] ;
+    # Actually, arch-independent..
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
index 0ce1afbb41b..f4db43f21f2 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
@@ -21,6 +21,6 @@ rec {
     maintainers = [ args.lib.maintainers.simons ];
 
     # Actually, arch-independent..
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
index 4cb93794edf..f7d8f1254c5 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
@@ -24,6 +24,6 @@ rec {
     maintainers = [ args.lib.maintainers.simons ];
 
     # Actually, arch-independent..
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index c72192317b7..1b0602063e9 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -3,10 +3,10 @@
 , bash, getopt, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xmlto-0.0.23";
+  name = "xmlto-0.0.25";
   src = fetchurl {
     url = "http://fedorahosted.org/releases/x/m/xmlto/${name}.tar.bz2";
-    sha256 = "1i5iihx304vj52nik42drs7z6z58m9szahng113r4mgd1mvb5zx9";
+    sha256 = "0dp5nxq491gymq806za0dk4hngfmq65ysrqbn0ypajqbbl6vf71n";
   };
 
   patchPhase = ''
@@ -41,10 +41,7 @@ stdenv.mkDerivation rec {
       necessary post-processing.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = https://fedorahosted.org/xmlto/;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/video/dvgrab/default.nix b/pkgs/tools/video/dvgrab/default.nix
index e4c8e99efdb..faaea6aaffc 100644
--- a/pkgs/tools/video/dvgrab/default.nix
+++ b/pkgs/tools/video/dvgrab/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://kinodv.org/;
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.gnu;
     maintainers = [ ];
   };
diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix
index b70d8f4c9ba..33b497fa3eb 100644
--- a/pkgs/tools/video/mjpegtools/default.nix
+++ b/pkgs/tools/video/mjpegtools/default.nix
@@ -6,10 +6,10 @@
 # - libXxf86dga support? checking for XF86DGAQueryExtension in -lXxf86dga... no
 
 stdenv.mkDerivation rec {
-  name = "mjpegtools-2.0.0";
+  name = "mjpegtools-2.1.0";
   src = fetchurl {
     url = "mirror://sourceforge/mjpeg/${name}.tar.gz";
-    sha256 = "bf3541593e71602f7b440c2e7d81b433f53d0511e74642f35bea9b3feded7a97";
+    sha256 = "01y4xpfdvd4zgv6fmcjny9mr1gbfd4y2i4adp657ydw6fqyi8kw6";
   };
   buildInputs = [ gtk libdv libjpeg libpng libX11 pkgconfig SDL SDL_gfx ];
 }
diff --git a/pkgs/tools/video/rtmpdump/default.nix b/pkgs/tools/video/rtmpdump/default.nix
index 615f300aaf5..4dec3282fce 100644
--- a/pkgs/tools/video/rtmpdump/default.nix
+++ b/pkgs/tools/video/rtmpdump/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "rtmpdump-2.4";
   src = fetchgit {
     url = git://git.ffmpeg.org/rtmpdump;
-    rev = "c28f1bab7822de97353849e7787b59e50bbb1428";
-    sha256 = "927e7ea7a686adb7cbce9d0a0c710de1e0921bbb1f0c1b35d17bdb816e6c73d8";
+    rev = "79459a2b43f41ac44a2ec001139bcb7b1b8f7497";
+    sha256 = "5af22362004566794035f989879b13d721f85d313d752abd10a7e45806e3944c";
   };
 
   buildInputs = [ zlib gnutls libgcrypt ];
@@ -19,8 +19,8 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://rtmpdump.mplayerhq.hu/;
     description = "Toolkit for RTMP streams";
-    license = "GPLv2+";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; all;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers. viric ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/video/swfmill/default.nix b/pkgs/tools/video/swfmill/default.nix
index b48cc7cddcc..0f3b5f4d39d 100644
--- a/pkgs/tools/video/swfmill/default.nix
+++ b/pkgs/tools/video/swfmill/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "swfmill-0.3.2";
+  name = "swfmill-0.3.3";
 
   src = fetchurl {
     url = "http://swfmill.org/releases/${name}.tar.gz";
-    sha256 = "077agf62q0xz95dxj4cq9avcqwin94vldrpb80iqwjskvkwpz9gy";
+    sha256 = "15mcpql448vvgsbxs7wd0vdk1ln6rdcpnif6i2zjm5l4xng55s7r";
   };
 
   buildInputs = [ pkgconfig libxslt freetype libpng libxml2 ];
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An xml2swf and swf2xml processor with import functionalities";
     homepage = "http://swfmill.org";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
-
diff --git a/pkgs/tools/video/swftools/default.nix b/pkgs/tools/video/swftools/default.nix
index 806a0b21096..0a658a23e1c 100644
--- a/pkgs/tools/video/swftools/default.nix
+++ b/pkgs/tools/video/swftools/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
   meta = { 
     description = "Collection of SWF manipulation and creation utilities";
     homepage = http://www.swftools.org/about.html;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/virtualization/aws/default.nix b/pkgs/tools/virtualization/aws/default.nix
index 00cc4e7733f..123dbf647f0 100644
--- a/pkgs/tools/virtualization/aws/default.nix
+++ b/pkgs/tools/virtualization/aws/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchurl, perl, curl }:
 
 stdenv.mkDerivation {
   name = "aws-1.75";
@@ -15,13 +15,13 @@ stdenv.mkDerivation {
   installPhase =
     ''
       mkdir -p $out/bin
-      cp $src $out/bin/aws
+      sed 's|\[curl|[${curl}/bin/curl|g' $src > $out/bin/aws
       chmod +x $out/bin/aws
     '';
 
   meta = {
     homepage = http://www.timkay.com/aws/;
     description = "Command-line utility for working with Amazon EC2, S3, SQS, ELB, IAM and SDB";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
index e9b62886fce..cbe53326339 100644
--- a/pkgs/tools/virtualization/ec2-ami-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "ec2-ami-tools-1.4.0.9";
+  name = "ec2-ami-tools-${version}";
+
+  version = "1.5.3";
 
   buildInputs = [ unzip makeWrapper ];
 
   src = fetchurl {
-    url = "http://tarballs.nixos.org/${name}.zip";
-    sha256 = "0icpjr2ipch3f6cf4rg9x5z2y9k6a4rd85npsmw3a1ambs3dwxlq";
+    url = "http://s3.amazonaws.com/ec2-downloads/${name}.zip";
+    sha256 = "0n184nxc57alg25h5bslg0cs1z854sf7f52a820ihxxknrq2dy6i";
   };
 
   # Amazon EC2 requires that disk images are writable.  If they're
@@ -36,7 +38,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368&categoryID=88;
     description = "Command-line tools to create and manage Amazon EC2 virtual machine images";
-    license = "unfree-redistributable";
+    license = "unfree-redistributable"; # Amazon || (Ruby GPL-2)
   };
 
 }
diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix
index a80ad91c4c3..34cfa662c91 100644
--- a/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351;
     description = "Command-line tools to create and manage Amazon EC2 virtual machines";
-    license = "unfree-redistributable";
+    license = "unfree-redistributable"; #Amazon
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3889c77b90c..10fc3527a71 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8,15 +8,6 @@
 { # The system (e.g., `i686-linux') for which to build the packages.
   system ? builtins.currentSystem
 
-  # Usually, the system type uniquely determines the stdenv and thus
-  # how to build the packages.  But on some platforms we have
-  # different stdenvs, leading to different ways to build the
-  # packages.  For instance, on Windows we support both Cygwin and
-  # Mingw builds.  In both cases, `system' is `i686-cygwin'.  The
-  # attribute `stdenvType' is used to select the specific kind of
-  # stdenv to use, e.g., `i686-mingw'.
-, stdenvType ? system
-
 , # The standard environment to use.  Only used for bootstrapping.  If
   # null, the default standard environment is used.
   bootStdenv ? null
@@ -84,7 +75,9 @@ let
       if system == "armv6l-linux" then platforms.raspberrypi
       else if system == "armv5tel-linux" then platforms.sheevaplug
       else if system == "mips64el-linux" then platforms.fuloong2f_n32
-      else platforms.pc;
+      else if system == "x86_64-linux" then platforms.pc64
+      else if system == "i686-linux" then platforms.pc32
+      else platforms.pcBase;
 
   platform = if platform_ != null then platform_
     else config.platform or platformAuto;
@@ -95,7 +88,7 @@ let
     (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
 
   stdenvAdapters =
-    import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; };
+    import ../stdenv/adapters.nix pkgs;
 
 
   # Allow packages to be overriden globally via the `packageOverrides'
@@ -129,18 +122,16 @@ let
 
 
   # The package compositions.  Yes, this isn't properly indented.
-  pkgsFun = pkgs: __overrides:
+  pkgsFun = pkgs: overrides:
     with helperFunctions;
-    let defaultScope = pkgs // pkgs.xorg; in
-    helperFunctions // rec {
-
-  # `__overrides' is a magic attribute that causes the attributes in
-  # its value to be added to the surrounding `rec'.  We'll remove this
-  # eventually.
-  inherit __overrides pkgs;
+    let defaultScope = pkgs // pkgs.xorg; self = self_ // overrides;
+    self_ = with self; helperFunctions // {
 
   # Make some arguments passed to all-packages.nix available
-  inherit system stdenvType platform;
+  inherit system platform;
+
+  # Allow callPackage to fill in the pkgs argument
+  inherit pkgs;
 
 
   # We use `callPackage' to be able to omit function arguments that
@@ -153,15 +144,16 @@ let
 
 
   # Override system. This is useful to build i686 packages on x86_64-linux.
-  forceSystem = system: (import ./all-packages.nix) {
+  forceSystem = system: kernel: (import ./all-packages.nix) {
     inherit system;
+    platform = platform // { kernelArch = kernel; };
     inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config
-      crossSystem platform;
+      crossSystem;
   };
 
 
   # Used by wine, firefox with debugging version of Flash, ...
-  pkgsi686Linux = forceSystem "i686-linux";
+  pkgsi686Linux = forceSystem "i686-linux" "i386";
 
   callPackage_i686 = lib.callPackageWith (pkgsi686Linux // pkgsi686Linux.xorg);
 
@@ -172,7 +164,7 @@ let
 
   ### Symbolic names.
 
-  x11 = if stdenv.isDarwin then darwinX11AndOpenGL else xlibsWrapper;
+  x11 = xlibsWrapper;
 
   # `xlibs' is the set of X library components.  This used to be the
   # old modular X llibraries project (called `xlibs') but now it's just
@@ -213,7 +205,7 @@ let
 
 
   allStdenvs = import ../stdenv {
-    inherit system stdenvType platform config;
+    inherit system platform config;
     allPackages = args: import ./all-packages.nix ({ inherit config system; } // args);
   };
 
@@ -239,6 +231,8 @@ let
       else
         defaultStdenv;
 
+  stdenvApple = stdenvAdapters.overrideGCC allStdenvs.stdenvNative gccApple;
+
   forceNativeDrv = drv : if crossSystem == null then drv else
     (drv // { crossDrv = drv.nativeDrv; });
 
@@ -247,7 +241,7 @@ let
   # just the plain stdenv.
   stdenv_32bit = lowPrio (
     if system == "x86_64-linux" then
-      overrideGCC stdenv gcc46_multi
+      overrideGCC stdenv gcc48_multi
     else
       stdenv);
 
@@ -278,10 +272,17 @@ let
     dotnetfx = dotnetfx40;
   };
 
+  scatterOutputHook = makeSetupHook {} ../build-support/setup-hooks/scatter_output.sh;
+
   vsenv = callPackage ../build-support/vsenv {
     vs = vs90wrapper;
   };
 
+  fetchbower = import ../build-support/fetchbower {
+    inherit stdenv git;
+    inherit (nodePackages) fetch-bower;
+  };
+
   fetchbzr = import ../build-support/fetchbzr {
     inherit stdenv bazaar;
   };
@@ -298,10 +299,18 @@ let
     inherit stdenv git cacert;
   };
 
+  fetchgitPrivate = import ../build-support/fetchgit/private.nix {
+    inherit fetchgit writeScript openssh stdenv;
+  };
+
   fetchgitrevision = import ../build-support/fetchgitrevision runCommand git;
 
   fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {});
 
+  packer = callPackage ../development/tools/packer { };
+
+  fetchpatch = callPackage ../build-support/fetchpatch { };
+
   fetchsvn = import ../build-support/fetchsvn {
     inherit stdenv subversion openssh;
     sshSupport = true;
@@ -324,7 +333,7 @@ let
   };
 
   # A wrapper around fetchurl that generates miror://gnome URLs automatically
-  fetchurl_gnome = callPackage ../build-support/fetchurl/gnome.nix { };
+  fetchurlGnome = callPackage ../build-support/fetchurl/gnome.nix { };
 
   # fetchurlBoot is used for curl and its dependencies in order to
   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
@@ -333,11 +342,21 @@ let
   # linked curl in the case of stdenv-linux).
   fetchurlBoot = stdenv.fetchurlBoot;
 
+  fetchzip = import ../build-support/fetchzip { inherit lib fetchurl unzip; };
+
+  fetchFromGitHub = { owner, repo, rev, sha256 }: fetchzip {
+    name = "${repo}-${rev}-src";
+    url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz";
+    inherit sha256;
+  };
+
   resolveMirrorURLs = {url}: fetchurl {
     showURLs = true;
     inherit url;
   };
 
+  libredirect = callPackage ../build-support/libredirect { };
+
   makeDesktopItem = import ../build-support/make-desktopitem {
     inherit stdenv;
   };
@@ -349,7 +368,7 @@ let
 
   makeInitrd = {contents, compressor ? "gzip -9"}:
     import ../build-support/kernel/make-initrd.nix {
-      inherit stdenv perl cpio contents ubootChooser compressor;
+      inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor;
     };
 
   makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh;
@@ -387,18 +406,38 @@ let
 
   platforms = import ./platforms.nix;
 
+  setJavaClassPath = makeSetupHook { } ../build-support/setup-hooks/set-java-classpath.sh;
+
+  fixDarwinDylibNames = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-dylib-names.sh;
+
+  keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh;
+
+  enableGCOVInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh;
+
+  makeGCOVReport = makeSetupHook
+    { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; }
+    ../build-support/setup-hooks/make-coverage-analysis-report.sh;
+
 
   ### TOOLS
 
   acct = callPackage ../tools/system/acct { };
 
-  acoustidFingerprinter = callPackage
-    ../tools/audio/acoustid-fingerprinter { };
+  acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter {
+    ffmpeg = ffmpeg_1;
+  };
 
   actdiag = pythonPackages.actdiag;
 
+  adom = callPackage ../games/adom { };
+
   aefs = callPackage ../tools/filesystems/aefs { };
 
+  aegisub = callPackage ../applications/video/aegisub {
+    wxGTK = wxGTK30;
+    lua = lua5_1;
+  };
+
   aespipe = callPackage ../tools/security/aespipe { };
 
   aescrypt = callPackage ../tools/misc/aescrypt { };
@@ -409,10 +448,18 @@ let
 
   analog = callPackage ../tools/admin/analog {};
 
+  apktool = callPackage ../development/tools/apktool {
+    buildTools = androidenv.buildTools;
+  };
+
+  apt-offline = callPackage ../tools/misc/apt-offline { };
+
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
   arandr = callPackage ../tools/X11/arandr { };
 
+  arcanist = callPackage ../development/tools/misc/arcanist {};
+
   arduino_core = callPackage ../development/arduino/arduino-core {
     jdk = jdk;
     jre = jdk;
@@ -420,14 +467,16 @@ let
 
   argyllcms = callPackage ../tools/graphics/argyllcms {};
 
+  arp-scan = callPackage ../tools/misc/arp-scan { };
+
   ascii = callPackage ../tools/text/ascii { };
 
   asymptote = builderDefsPackage ../tools/graphics/asymptote {
     inherit freeglut ghostscriptX imagemagick fftw boehmgc
       mesa ncurses readline gsl libsigsegv python zlib perl
-      texinfo lzma;
+      texinfo xz;
     texLive = texLiveAggregationFun {
-      paths = [ texLive texLiveExtra ];
+      paths = [ texLive texLiveExtra texLiveCMSuper ];
     };
   };
 
@@ -462,7 +511,9 @@ let
 
   otool = callPackage ../os-specific/darwin/otool { };
 
-  pass = callPackage ../tools/security/pass { };
+  pass = callPackage ../tools/security/pass {
+    gnupg = gnupg1compat;
+  };
 
   setfile = callPackage ../os-specific/darwin/setfile { };
 
@@ -470,24 +521,15 @@ let
 
   xcodeenv = callPackage ../development/mobile/xcodeenv { };
 
-  titaniumenv_2_1 = import ../development/mobile/titaniumenv {
-    inherit pkgs;
-    pkgs_i686 = pkgsi686Linux;
-    version = "2.1";
-  };
-
-  titaniumenv_3_1 = import ../development/mobile/titaniumenv {
+  titaniumenv = callPackage ../development/mobile/titaniumenv {
     inherit pkgs;
     pkgs_i686 = pkgsi686Linux;
   };
 
-  titaniumenv = titaniumenv_3_1;
-
   inherit (androidenv) androidsdk_4_1;
 
-  aria = builderDefsPackage (import ../tools/networking/aria) { };
-
   aria2 = callPackage ../tools/networking/aria2 { };
+  aria = aria2;
 
   at = callPackage ../tools/system/at { };
 
@@ -517,23 +559,31 @@ let
 
   babeld = callPackage ../tools/networking/babeld { };
 
+  badvpn = callPackage ../tools/networking/badvpn {};
+
   banner = callPackage ../games/banner {};
 
   barcode = callPackage ../tools/graphics/barcode {};
 
   bc = callPackage ../tools/misc/bc { };
 
+  bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
+
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
 
   bfr = callPackage ../tools/misc/bfr { };
 
+  bindfs = callPackage ../tools/filesystems/bindfs { };
+
+  bitbucket-cli = pythonPackages.bitbucket-cli;
+
   blockdiag = pythonPackages.blockdiag;
 
   bmon = callPackage ../tools/misc/bmon { };
 
-  boomerang = callPackage ../development/tools/boomerang {
-    stdenv = overrideGCC stdenv gcc47;
-  };
+  bochs = callPackage ../applications/virtualization/bochs { };
+
+  boomerang = callPackage ../development/tools/boomerang { };
 
   bootchart = callPackage ../tools/system/bootchart { };
 
@@ -547,8 +597,25 @@ let
 
   byobu = callPackage ../tools/misc/byobu { };
 
+  capstone = callPackage ../development/libraries/capstone { };
+
   catdoc = callPackage ../tools/text/catdoc { };
 
+  ccnet = callPackage ../tools/networking/ccnet { };
+
+  consul = callPackage ../servers/consul { };
+  consul_ui = callPackage ../servers/consul/ui.nix { };
+
+  coprthr = callPackage ../development/libraries/coprthr {
+    flex = flex_2_5_35;
+  };
+
+  crawl = callPackage ../games/crawl { lua = lua5; };
+
+  cv = callPackage ../tools/misc/cv { };
+
+  direnv = callPackage ../tools/misc/direnv { };
+
   ditaa = callPackage ../tools/graphics/ditaa { };
 
   dlx = callPackage ../misc/emulators/dlx { };
@@ -557,25 +624,38 @@ let
 
   enca = callPackage ../tools/text/enca { };
 
+  fasd = callPackage ../tools/misc/fasd {
+    inherit (haskellPackages) pandoc;
+  };
+
   fop = callPackage ../tools/typesetting/fop { };
 
   mcrl = callPackage ../tools/misc/mcrl { };
 
   mcrl2 = callPackage ../tools/misc/mcrl2 { };
 
+  mpdcron = callPackage ../tools/audio/mpdcron { };
+
   syslogng = callPackage ../tools/system/syslog-ng { };
+
+  syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
+
   rsyslog = callPackage ../tools/system/rsyslog { };
 
   mcrypt = callPackage ../tools/misc/mcrypt { };
 
   mcelog = callPackage ../os-specific/linux/mcelog { };
 
+  apparix = callPackage ../tools/misc/apparix { };
+
+  appdata-tools = callPackage ../tools/misc/appdata-tools { };
+
   asciidoc = callPackage ../tools/typesetting/asciidoc {
     inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader;
     enableStandardFeatures = false;
   };
 
-  asciidocFull = appendToName "full" (asciidoc.override {
+  asciidoc-full = appendToName "full" (asciidoc.override {
     inherit (pythonPackages) pygments;
     enableStandardFeatures = true;
   });
@@ -584,8 +664,19 @@ let
 
   bacula = callPackage ../tools/backup/bacula { };
 
+  beanstalkd = callPackage ../servers/beanstalkd { };
+
   bgs = callPackage ../tools/X11/bgs { };
 
+  biber = callPackage ../tools/typesetting/biber {
+    inherit (perlPackages)
+      autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
+      DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
+      ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils
+      ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX
+      UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter;
+  };
+
   bibtextools = callPackage ../tools/typesetting/bibtex-tools {
     inherit (strategoPackages016) strategoxt sdf;
   };
@@ -604,26 +695,36 @@ let
     inherit unzip;
   };
 
-  bogofilter = callPackage ../tools/misc/bogofilter {
-    bdb = db4;
-  };
+  bogofilter = callPackage ../tools/misc/bogofilter { };
 
   bsdiff = callPackage ../tools/compression/bsdiff { };
 
   btar = callPackage ../tools/backup/btar { };
 
+  bud = callPackage ../tools/networking/bud {
+    inherit (pythonPackages) gyp;
+  };
+
   bup = callPackage ../tools/backup/bup {
     inherit (pythonPackages) pyxattr pylibacl setuptools fuse;
     inherit (haskellPackages) pandoc;
     par2Support = (config.bup.par2Support or false);
   };
 
+  ori = callPackage ../tools/backup/ori { };
+
   atool = callPackage ../tools/archivers/atool { };
 
   bzip2 = callPackage ../tools/compression/bzip2 { };
 
   cabextract = callPackage ../tools/archivers/cabextract { };
 
+  cadaver = callPackage ../tools/networking/cadaver { };
+
+  cantata = callPackage ../applications/audio/cantata { };
+
+  can-utils = callPackage ../os-specific/linux/can-utils { };
+
   ccid = callPackage ../tools/security/ccid { };
 
   ccrypt = callPackage ../tools/security/ccrypt { };
@@ -634,9 +735,10 @@ let
 
   cdrkit = callPackage ../tools/cd-dvd/cdrkit { };
 
+  ceph = callPackage ../tools/filesystems/ceph { };
+
   cfdg = builderDefsPackage ../tools/graphics/cfdg {
-    inherit libpng bison flex;
-    ffmpeg = ffmpeg_1;
+    inherit libpng bison flex ffmpeg;
   };
 
   checkinstall = callPackage ../tools/package-management/checkinstall { };
@@ -649,20 +751,34 @@ let
 
   chrony = callPackage ../tools/networking/chrony { };
 
+  chunkfs = callPackage ../tools/filesystems/chunkfs { };
+
+  chunksync = callPackage ../tools/backup/chunksync { };
+
   cjdns = callPackage ../tools/networking/cjdns { };
 
   cksfv = callPackage ../tools/networking/cksfv { };
 
+  clementine = callPackage ../applications/audio/clementine { };
+
   ciopfs = callPackage ../tools/filesystems/ciopfs { };
 
   colord = callPackage ../tools/misc/colord { };
 
+  colord-gtk = callPackage ../tools/misc/colord-gtk { };
+
   colordiff = callPackage ../tools/text/colordiff { };
 
+  concurrencykit = callPackage ../development/libraries/concurrencykit { };
+
   connect = callPackage ../tools/networking/connect { };
 
   conspy = callPackage ../os-specific/linux/conspy {};
 
+  connman = callPackage ../tools/networking/connman { };
+
+  connmanui = callPackage ../tools/networking/connmanui { };
+
   convertlit = callPackage ../tools/text/convertlit { };
 
   collectd = callPackage ../tools/system/collectd { };
@@ -671,6 +787,8 @@ let
 
   cowsay = callPackage ../tools/misc/cowsay { };
 
+  cpuminer = callPackage ../tools/misc/cpuminer { };
+
   cuetools = callPackage ../tools/cd-dvd/cuetools { };
 
   unifdef = callPackage ../development/tools/misc/unifdef { };
@@ -679,6 +797,8 @@ let
 
   usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { };
 
+  biosdevname = callPackage ../tools/networking/biosdevname { };
+
   clamav = callPackage ../tools/security/clamav { };
 
   cloc = callPackage ../tools/misc/cloc {
@@ -703,10 +823,16 @@ let
 
   cron = callPackage ../tools/system/cron { };
 
-  cudatoolkit = callPackage ../development/compilers/cudatoolkit {
+  cudatoolkit5 = callPackage ../development/compilers/cudatoolkit/5.5.nix {
+    python = python26;
+  };
+
+  cudatoolkit6 = callPackage ../development/compilers/cudatoolkit/6.0.nix {
     python = python26;
   };
 
+  cudatoolkit = cudatoolkit5;
+
   curl = callPackage ../tools/networking/curl rec {
     fetchurl = fetchurlBoot;
     zlibSupport = true;
@@ -723,6 +849,8 @@ let
 
   curlftpfs = callPackage ../tools/filesystems/curlftpfs { };
 
+  cutter = callPackage ../tools/networking/cutter { };
+
   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { };
 
   daq = callPackage ../applications/networking/ids/daq { };
@@ -755,12 +883,7 @@ let
 
   despotify = callPackage ../development/libraries/despotify { };
 
-  dev86 = callPackage ../development/compilers/dev86 {
-    /* Using GNU Make 3.82 leads to this:
-         make[4]: *** No rule to make target `__ldivmod.o)'
-       So use 3.81.  */
-    stdenv = overrideInStdenv stdenv [gnumake381];
-  };
+  dev86 = callPackage ../development/compilers/dev86 { };
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
@@ -780,11 +903,16 @@ let
 
   disper = callPackage ../tools/misc/disper { };
 
+  dmd = callPackage ../development/compilers/dmd { };
+
   dmg2img = callPackage ../tools/misc/dmg2img { };
 
+  docbook2odf = callPackage ../tools/typesetting/docbook2odf {
+    inherit (perlPackages) PerlMagick;
+  };
+
   docbook2x = callPackage ../tools/typesetting/docbook2x {
     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
-    texinfo = texinfo5;
   };
 
   dosfstools = callPackage ../tools/filesystems/dosfstools { };
@@ -797,8 +925,10 @@ let
 
   dtach = callPackage ../tools/misc/dtach { };
 
+  duo-unix = callPackage ../tools/security/duo-unix { };
+
   duplicity = callPackage ../tools/backup/duplicity {
-    inherit (pythonPackages) boto;
+    inherit (pythonPackages) boto lockfile;
     gnupg = gnupg1;
   };
 
@@ -808,6 +938,8 @@ let
 
   dvgrab = callPackage ../tools/video/dvgrab { };
 
+  dvtm = callPackage ../tools/misc/dvtm { };
+
   e2fsprogs = callPackage ../tools/filesystems/e2fsprogs { };
 
   easyrsa = callPackage ../tools/networking/easyrsa { };
@@ -825,20 +957,23 @@ let
 
   efibootmgr = callPackage ../tools/system/efibootmgr { };
 
+  efivar = callPackage ../tools/system/efivar { };
+
+  evemu = callPackage ../tools/system/evemu { };
+
   elasticsearch = callPackage ../servers/search/elasticsearch { };
 
-  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
-    boost = boost149;
-  };
+  elasticsearchPlugins = recurseIntoAttrs (
+    callPackage ../servers/search/elasticsearch/plugins.nix { }
+  );
+
+  emv = callPackage ../tools/misc/emv { };
+
+  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
 
   encfs = callPackage ../tools/filesystems/encfs { };
 
-  enscript = callPackage ../tools/text/enscript {
-    # fix syntax errors
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  enscript = callPackage ../tools/text/enscript { };
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
@@ -848,6 +983,10 @@ let
 
   evtest = callPackage ../applications/misc/evtest { };
 
+  exempi = callPackage ../development/libraries/exempi { };
+
+  exercism = callPackage ../development/tools/exercism { };
+
   exif = callPackage ../tools/graphics/exif { };
 
   exiftags = callPackage ../tools/graphics/exiftags { };
@@ -856,12 +995,20 @@ let
 
   expect = callPackage ../tools/misc/expect { };
 
+  f2fs-tools = callPackage ../tools/filesystems/f2fs-tools { };
+
   fabric = pythonPackages.fabric;
 
-  fail2ban = callPackage ../tools/security/fail2ban { };
+  fail2ban = callPackage ../tools/security/fail2ban {
+    systemd = systemd.override {
+      pythonSupport = true;
+    };
+  };
 
   fakeroot = callPackage ../tools/system/fakeroot { };
 
+  fakechroot = callPackage ../tools/system/fakechroot { };
+
   fcitx = callPackage ../tools/inputmethods/fcitx { };
 
   fcron = callPackage ../tools/system/fcron { };
@@ -882,6 +1029,10 @@ let
 
   fio = callPackage ../tools/system/fio { };
 
+  flashtool = callPackage_i686 ../development/mobile/flashtool {
+    platformTools = androidenv.platformTools;
+  };
+
   flpsed = callPackage ../applications/editors/flpsed { };
 
   flvstreamer = callPackage ../tools/networking/flvstreamer { };
@@ -890,6 +1041,8 @@ let
 
   lprof = callPackage ../tools/graphics/lprof { };
 
+  fdk_aac = callPackage ../development/libraries/fdk-aac { };
+
   flvtool2 = callPackage ../tools/video/flvtool2 { };
 
   fontforge = lowPrio (callPackage ../tools/misc/fontforge { });
@@ -940,8 +1093,19 @@ let
 
   g500-control = callPackage ../tools/misc/g500-control { };
 
+  galculator = callPackage ../applications/misc/galculator {
+    gtk = gtk3;
+  };
+
   gawk = callPackage ../tools/text/gawk { };
 
+  gawkInteractive = appendToName "interactive"
+    (gawk.override { readlineSupport = true; });
+
+  gbdfed = callPackage ../tools/misc/gbdfed {
+    gtk = gtk2;
+  };
+
   gdmap = callPackage ../tools/system/gdmap { };
 
   genext2fs = callPackage ../tools/filesystems/genext2fs { };
@@ -958,6 +1122,8 @@ let
 
   glusterfs = callPackage ../tools/filesystems/glusterfs { };
 
+  glmark2 = callPackage ../tools/graphics/glmark2 { };
+
   glxinfo = callPackage ../tools/graphics/glxinfo { };
 
   gmvault = callPackage ../tools/networking/gmvault { };
@@ -993,15 +1159,12 @@ let
     libassuan = libassuan2_1;
   });
 
-  gnuplot = callPackage ../tools/graphics/gnuplot {
-    texLive = null;
-    lua = null;
+  gnuplot = callPackage ../tools/graphics/gnuplot { };
 
-    # use gccApple to compile on darwin, seems to resolve a malloc error
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  gnuplot_qt = gnuplot.override { withQt = true; };
+
+  # must have AquaTerm installed separately
+  gnuplot_aquaterm = gnuplot.override { aquaterm = true; };
 
   gnused = callPackage ../tools/text/gnused { };
 
@@ -1009,12 +1172,20 @@ let
 
   gnuvd = callPackage ../tools/misc/gnuvd { };
 
+  goaccess = callPackage ../tools/misc/goaccess { };
+
   googleAuthenticator = callPackage ../os-specific/linux/google-authenticator { };
 
   gource = callPackage ../applications/version-management/gource {};
 
+  gpodder = callPackage ../applications/audio/gpodder { };
+
   gptfdisk = callPackage ../tools/system/gptfdisk { };
 
+  grafana = callPackage ../development/tools/misc/grafana { };
+
+  grafx2 = callPackage ../applications/graphics/grafx2 {};
+
   graphviz = callPackage ../tools/graphics/graphviz { };
 
   /* Readded by Michael Raskin. There are programs in the wild
@@ -1023,7 +1194,9 @@ let
    */
   graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
 
-  grive = callPackage ../tools/filesystems/grive { };
+  grive = callPackage ../tools/filesystems/grive {
+    json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable
+  };
 
   groff = callPackage ../tools/text/groff {
     ghostscript = null;
@@ -1033,7 +1206,7 @@ let
     buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
   };
 
-  grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; };
+  grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; };
 
   grub2_efi = grub2.override { EFIsupport = true; };
 
@@ -1043,6 +1216,8 @@ let
 
   gt5 = callPackage ../tools/system/gt5 { };
 
+  gtest = callPackage ../development/libraries/gtest {};
+
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
@@ -1051,22 +1226,24 @@ let
 
   gtmess = callPackage ../applications/networking/instant-messengers/gtmess { };
 
-  gummiboot = callPackage ../tools/misc/gummiboot { stdenv = overrideGCC stdenv gcc47; };
+  gummiboot = callPackage ../tools/misc/gummiboot { };
 
   gupnp = callPackage ../development/libraries/gupnp {
     inherit (gnome) libsoup;
   };
 
+  gupnp_av = callPackage ../development/libraries/gupnp-av {};
+
   gupnp_igd = callPackage ../development/libraries/gupnp-igd {};
 
-  gupnptools = callPackage ../tools/networking/gupnp-tools {
-    inherit (gnome) libsoup libglade gnomeicontheme;
-  };
+  gupnptools = callPackage ../tools/networking/gupnp-tools {};
 
   gvpe = builderDefsPackage ../tools/networking/gvpe {
     inherit openssl gmp nettools iproute;
   };
 
+  gvolicon = callPackage ../tools/audio/gvolicon {};
+
   gzip = callPackage ../tools/compression/gzip { };
 
   gzrt = callPackage ../tools/compression/gzrt { };
@@ -1083,11 +1260,15 @@ let
 
   hardlink = callPackage ../tools/system/hardlink { };
 
+  hashcat = callPackage ../tools/security/hashcat { };
+
   halibut = callPackage ../tools/typesetting/halibut { };
 
   hddtemp = callPackage ../tools/misc/hddtemp { };
 
-  hdf5 = callPackage ../tools/misc/hdf5 { };
+  hdf5 = callPackage ../tools/misc/hdf5 {
+    szip = null;
+  };
 
   heimdall = callPackage ../tools/misc/heimdall { };
 
@@ -1149,9 +1330,12 @@ let
   ised = callPackage ../tools/misc/ised {};
 
   isl = callPackage ../development/libraries/isl { };
+  isl_0_12 = callPackage ../development/libraries/isl/0.12.2.nix { };
 
   isync = callPackage ../tools/networking/isync { };
 
+  jd-gui = callPackage_i686 ../tools/security/jd-gui { };
+
   jdiskreport = callPackage ../tools/misc/jdiskreport { };
 
   jfsrec = callPackage ../tools/filesystems/jfsrec {
@@ -1164,6 +1348,8 @@ let
 
   jing = callPackage ../tools/text/xml/jing { };
 
+  jmtpfs = callPackage ../tools/filesystems/jmtpfs { };
+
   jnettop = callPackage ../tools/networking/jnettop { };
 
   jq = callPackage ../development/tools/jq {};
@@ -1172,6 +1358,10 @@ let
 
   jwhois = callPackage ../tools/networking/jwhois { };
 
+  kazam = callPackage ../applications/video/kazam { };
+
+  kalibrate-rtl = callPackage ../tools/misc/kalibrate-rtl { };
+
   kexectools = callPackage ../os-specific/linux/kexectools { };
 
   keychain = callPackage ../tools/misc/keychain { };
@@ -1184,9 +1374,17 @@ let
 
   logstash = callPackage ../tools/misc/logstash { };
 
+  logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { };
+
+  kippo = callPackage ../servers/kippo { };
+
   klavaro = callPackage ../games/klavaro {};
 
-  minidlna = callPackage ../tools/networking/minidlna { };
+  kzipmix = callPackage_i686 ../tools/compression/kzipmix { };
+
+  minidlna = callPackage ../tools/networking/minidlna {
+    ffmpeg = ffmpeg_0_10;
+  };
 
   mmv = callPackage ../tools/misc/mmv { };
 
@@ -1201,11 +1399,13 @@ let
   nodejs = callPackage ../development/web/nodejs {};
 
   nodePackages = recurseIntoAttrs (import ./node-packages.nix {
-    inherit pkgs stdenv nodejs fetchurl;
+    inherit pkgs stdenv nodejs fetchurl fetchgit;
     neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux;
     self = pkgs.nodePackages;
   });
 
+  ldapvi = callPackage ../tools/misc/ldapvi { };
+
   ldns = callPackage ../development/libraries/ldns { };
 
   lftp = callPackage ../tools/networking/lftp { };
@@ -1216,10 +1416,18 @@ let
 
   libestr = callPackage ../development/libraries/libestr { };
 
+  libevdev = callPackage ../development/libraries/libevdev { };
+
+  liboauth = callPackage ../development/libraries/liboauth { };
+
   libtirpc = callPackage ../development/libraries/ti-rpc { };
 
   libshout = callPackage ../development/libraries/libshout { };
 
+  libqmi = callPackage ../development/libraries/libqmi { };
+
+  libmbim = callPackage ../development/libraries/libmbim { };
+
   libtorrent = callPackage ../tools/networking/p2p/libtorrent { };
 
   logcheck = callPackage ../tools/system/logcheck {
@@ -1228,7 +1436,7 @@ let
 
   logrotate = callPackage ../tools/system/logrotate { };
 
-  logstalgica = callPackage ../tools/graphics/logstalgica {};
+  logstalgia = callPackage ../tools/graphics/logstalgia {};
 
   lout = callPackage ../tools/typesetting/lout { };
 
@@ -1242,7 +1450,7 @@ let
 
   lxc = callPackage ../os-specific/linux/lxc { };
 
-  lzip = callPackage ../tools/compression/lzip { texinfo = texinfo5; };
+  lzip = callPackage ../tools/compression/lzip { };
 
   lzma = xz;
 
@@ -1252,6 +1460,8 @@ let
 
   maildrop = callPackage ../tools/networking/maildrop { };
 
+  mailpile = callPackage ../applications/networking/mailreaders/mailpile { };
+
   mailutils = callPackage ../tools/networking/mailutils {
     guile = guile_1_8;
   };
@@ -1280,7 +1490,13 @@ let
 
   mdbtools = callPackage ../tools/misc/mdbtools { };
 
-  mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { };
+  mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix {
+    inherit (gnome) scrollkeeper;
+  };
+
+  mednafen = callPackage ../misc/emulators/mednafen { };
+
+  mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { };
 
   megacli = callPackage ../tools/misc/megacli { };
 
@@ -1288,6 +1504,8 @@ let
 
   minecraft = callPackage ../games/minecraft { };
 
+  minecraft-server = callPackage ../games/minecraft-server { };
+
   minetest = callPackage ../games/minetest {
     libpng = libpng12;
   };
@@ -1310,9 +1528,7 @@ let
 
   modemmanager = callPackage ../tools/networking/modemmanager {};
 
-  monit = builderDefsPackage ../tools/system/monit {
-    inherit openssl flex bison;
-  };
+  monit = callPackage ../tools/system/monit { };
 
   mosh = callPackage ../tools/networking/mosh {
     boost = boostHeaders;
@@ -1363,6 +1579,8 @@ let
 
   nbd = callPackage ../tools/networking/nbd { };
 
+  ndjbdns = callPackage ../tools/networking/ndjbdns { };
+
   netatalk = callPackage ../tools/filesystems/netatalk { };
 
   netcdf = callPackage ../development/libraries/netcdf { };
@@ -1383,6 +1601,8 @@ let
 
   netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { };
 
+  nethogs = callPackage ../tools/networking/nethogs { };
+
   netkittftp = callPackage ../tools/networking/netkit/tftp { };
 
   netpbm = callPackage ../tools/graphics/netpbm { };
@@ -1397,30 +1617,48 @@ let
 
   networkmanager_pptp = callPackage ../tools/networking/network-manager/pptp.nix { };
 
-  networkmanager_pptp_gnome = networkmanager_pptp.override { withGnome = true; };
-
   networkmanager_vpnc = callPackage ../tools/networking/network-manager/vpnc.nix { };
 
-  networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { gconf = gnome.GConf; };
+  networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { };
 
-  networkmanagerapplet = newScope gnome ../tools/networking/network-manager-applet { };
+  networkmanagerapplet = newScope gnome ../tools/networking/network-manager-applet { dconf = gnome3.dconf; };
 
   newsbeuter = callPackage ../applications/networking/feedreaders/newsbeuter { };
 
+  newsbeuter-dev = callPackage ../applications/networking/feedreaders/newsbeuter/dev.nix { };
+
+  ngrep = callPackage ../tools/networking/ngrep { };
+
   ngrok = callPackage ../tools/misc/ngrok { };
 
   mpack = callPackage ../tools/networking/mpack { };
 
   pa_applet = callPackage ../tools/audio/pa-applet { };
 
+  nifskope = callPackage ../tools/graphics/nifskope { };
+
   nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {};
 
+  nitrogen = callPackage ../tools/X11/nitrogen {};
+
   nlopt = callPackage ../development/libraries/nlopt {};
 
+  npapi_sdk = callPackage ../development/libraries/npapi-sdk {};
+
   npth = callPackage ../development/libraries/npth {};
 
-  nmap = callPackage ../tools/security/nmap {
+  nmap = callPackage ../tools/security/nmap { };
+
+  nmap_graphical = callPackage ../tools/security/nmap {
     inherit (pythonPackages) pysqlite;
+    graphicalSupport = true;
+  };
+
+  notbit = callPackage ../applications/networking/notbit { };
+
+  nox = callPackage ../tools/package-management/nox {
+    pythonPackages = python3Packages;
+    nix = nixUnstable;
   };
 
   nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {};
@@ -1432,6 +1670,8 @@ let
 
   ntop = callPackage ../tools/networking/ntop { };
 
+  ntopng = callPackage ../tools/networking/ntopng { };
+
   ntp = callPackage ../tools/networking/ntp { };
 
   numdiff = callPackage ../tools/text/numdiff { };
@@ -1466,17 +1706,27 @@ let
 
   opendkim = callPackage ../development/libraries/opendkim { };
 
+  opendylan = callPackage ../development/compilers/opendylan {
+    opendylan-bootstrap = opendylan_bin;
+  };
+
+  opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { };
+
   openjade = callPackage ../tools/text/sgml/openjade {
     perl = perl510;
   };
 
   openobex = callPackage ../tools/bluetooth/openobex { };
 
-  openresolv = callPackage ../tools/networking/openresolv { };
+  openopc = callPackage ../tools/misc/openopc {
+    pythonFull = python27Full.override {
+      extraLibs = [ python27Packages.pyro3 ];
+    };
+  };
 
-  opensc_0_11_7 = callPackage ../tools/security/opensc/0.11.7.nix { };
+  openresolv = callPackage ../tools/networking/openresolv { };
 
-  opensc = opensc_0_11_7;
+  opensc = callPackage ../tools/security/opensc { };
 
   opensc_dnie_wrapper = callPackage ../tools/security/opensc-dnie-wrapper { };
 
@@ -1487,7 +1737,10 @@ let
       etcDir = "/etc/ssh";
       pam = if stdenv.isLinux then pam else null;
     };
-  openssh_with_kerberos = lowPrio (pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }));
+
+  openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; });
+
+  openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; });
 
   opensp = callPackage ../tools/text/sgml/opensp { };
 
@@ -1495,7 +1748,11 @@ let
 
   openvpn = callPackage ../tools/networking/openvpn { };
 
-  optipng = callPackage ../tools/graphics/optipng { };
+  openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { };
+
+  optipng = callPackage ../tools/graphics/optipng {
+    libpng = libpng12;
+  };
 
   oslrd = callPackage ../tools/networking/oslrd { };
 
@@ -1519,6 +1776,16 @@ let
 
   parted = callPackage ../tools/misc/parted { hurd = null; };
 
+  pitivi = callPackage ../applications/video/pitivi {
+    gst = gst_all_1;
+    clutter-gtk = clutter_gtk;
+    inherit (gnome3) gnome_icon_theme gnome_icon_theme_symbolic;
+  };
+
+  p0f = callPackage ../tools/security/p0f { };
+
+  pngout = callPackage ../tools/graphics/pngout { };
+
   hurdPartedCross =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
     then (makeOverridable
@@ -1537,7 +1804,7 @@ let
            { hurd = gnu.hurdCrossIntermediate; })
     else null;
 
-  ipsecTools = callPackage ../os-specific/linux/ipsec-tools { };
+  ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; };
 
   patch = gnupatch;
 
@@ -1557,8 +1824,12 @@ let
 
   briss = callPackage ../tools/graphics/briss { };
 
+  bully = callPackage ../tools/networking/bully { };
+
   pdnsd = callPackage ../tools/networking/pdnsd { };
 
+  peco = callPackage ../tools/text/peco { };
+
   pg_top = callPackage ../tools/misc/pg_top { };
 
   pdsh = callPackage ../tools/networking/pdsh {
@@ -1618,12 +1889,16 @@ let
 
   prey-bash-client = callPackage ../tools/security/prey { };
 
+  projectm = callPackage ../applications/audio/projectm { };
+
   proxychains = callPackage ../tools/networking/proxychains { };
 
   proxytunnel = callPackage ../tools/misc/proxytunnel { };
 
   cntlm = callPackage ../tools/networking/cntlm { };
 
+  pastebinit = callPackage ../tools/misc/pastebinit { };
+
   psmisc = callPackage ../os-specific/linux/psmisc { };
 
   pstoedit = callPackage ../tools/graphics/pstoedit { };
@@ -1634,6 +1909,8 @@ let
 
   pwnat = callPackage ../tools/networking/pwnat { };
 
+  pycangjie = callPackage ../development/python-modules/pycangjie { };
+
   pydb = callPackage ../development/tools/pydb { };
 
   pystringtemplate = callPackage ../development/python-modules/stringtemplate { };
@@ -1656,8 +1933,12 @@ let
 
   qshowdiff = callPackage ../tools/text/qshowdiff { };
 
+  quilt = callPackage ../development/tools/quilt { };
+
   radvd = callPackage ../tools/networking/radvd { };
 
+  ranger = callPackage ../applications/misc/ranger { };
+
   privateer = callPackage ../games/privateer { };
 
   rtmpdump = callPackage ../tools/video/rtmpdump { };
@@ -1668,8 +1949,6 @@ let
 
   recoll = callPackage ../applications/search/recoll { };
 
-  refind = callPackage ../tools/misc/refind { };
-
   reiser4progs = callPackage ../tools/filesystems/reiser4progs { };
 
   reiserfsprogs = callPackage ../tools/filesystems/reiserfsprogs { };
@@ -1678,6 +1957,8 @@ let
     inherit (gnome) gnome_vfs GConf;
   };
 
+  remarkjs = callPackage ../development/web/remarkjs { };
+
   remind = callPackage ../tools/misc/remind { };
 
   remmina = callPackage ../applications/networking/remote/remmina {};
@@ -1690,8 +1971,16 @@ let
 
   rdiff_backup = callPackage ../tools/backup/rdiff-backup { };
 
+  rdmd = callPackage ../development/compilers/rdmd { };
+
+  rhash = callPackage ../tools/security/rhash { };
+
+  riemann_c_client = callPackage ../tools/misc/riemann-c-client { };
+
   ripmime = callPackage ../tools/networking/ripmime {};
 
+  rkflashtool = callPackage ../tools/misc/rkflashtool { };
+
   rmlint = callPackage ../tools/misc/rmlint {};
 
   rng_tools = callPackage ../tools/security/rng-tools { };
@@ -1710,9 +1999,7 @@ let
     inherit ppp;
   };
 
-  rpm = callPackage ../tools/package-management/rpm {
-    db4 = db45;
-  };
+  rpm = callPackage ../tools/package-management/rpm { };
 
   rrdtool = callPackage ../tools/misc/rrdtool { };
 
@@ -1728,6 +2015,8 @@ let
 
   s3cmd = callPackage ../tools/networking/s3cmd { };
 
+  s3cmd_15_pre_81e3842f7a = lowPrio (callPackage ../tools/networking/s3cmd/git.nix { });
+
   s3sync = callPackage ../tools/networking/s3sync {
     ruby = ruby18;
   };
@@ -1748,6 +2037,8 @@ let
 
   sdcv = callPackage ../applications/misc/sdcv { };
 
+  sec = callPackage ../tools/admin/sec { };
+
   seccure = callPackage ../tools/security/seccure { };
 
   setserial = builderDefsPackage (import ../tools/system/setserial) {
@@ -1756,18 +2047,28 @@ let
 
   seqdiag = pythonPackages.seqdiag;
 
+  screenfetch = callPackage ../tools/misc/screenfetch { };
+
   sg3_utils = callPackage ../tools/system/sg3_utils { };
 
   sharutils = callPackage ../tools/archivers/sharutils { };
 
+  shotwell = callPackage ../applications/graphics/shotwell { };
+
   shebangfix = callPackage ../tools/misc/shebangfix { };
 
+  shellinabox = callPackage ../servers/shellinabox { };
+
   siege = callPackage ../tools/networking/siege {};
 
   silc_client = callPackage ../applications/networking/instant-messengers/silc-client { };
 
   silc_server = callPackage ../servers/silc-server { };
 
+  silver-searcher = callPackage ../tools/text/silver-searcher { };
+
+  simplescreenrecorder = callPackage ../applications/video/simplescreenrecorder { };
+
   sleuthkit = callPackage ../tools/system/sleuthkit {};
 
   slimrat = callPackage ../tools/networking/slimrat {
@@ -1791,6 +2092,16 @@ let
     inherit (pkgsi686Linux.xlibs) libX11;
   };
 
+  solr = callPackage ../servers/search/solr { };
+
+  sparsehash = callPackage ../development/libraries/sparsehash { };
+
+  spiped = callPackage ../tools/networking/spiped { };
+
+  sproxy = haskellPackages.callPackage ../tools/networking/sproxy { };
+
+  sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { };
+
   stardict = callPackage ../applications/misc/stardict/stardict.nix {
     inherit (gnome) libgnomeui scrollkeeper;
   };
@@ -1803,14 +2114,14 @@ let
 
   socat = callPackage ../tools/networking/socat { };
 
+  socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { });
+
   sourceHighlight = callPackage ../tools/text/source-highlight {
     # Boost 1.54 causes the "test_regexranges" test to fail
-    boost = boost153;
+    boost = boost149;
   };
 
-  socat2pre = lowPrio (builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
-    inherit fetchurl stdenv openssl;
-  });
+  spaceFM = callPackage ../applications/misc/spacefm { };
 
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
@@ -1824,6 +2135,8 @@ let
 
   super = callPackage ../tools/security/super { };
 
+  ssdeep = callPackage ../tools/security/ssdeep { };
+
   ssmtp = callPackage ../tools/networking/ssmtp {
     tlsSupport = true;
   };
@@ -1838,7 +2151,7 @@ let
 
   stunnel = callPackage ../tools/networking/stunnel { };
 
-  su = shadow;
+  su = shadow.su;
 
   surfraw = callPackage ../tools/networking/surfraw { };
 
@@ -1856,16 +2169,20 @@ let
 
   sitecopy = callPackage ../tools/networking/sitecopy { };
 
-  privoxy = callPackage ../tools/networking/privoxy {
-    autoconf = autoconf213;
-  };
+  privoxy = callPackage ../tools/networking/privoxy { };
+
+  t1utils = callPackage ../tools/misc/t1utils { };
 
   tarsnap = callPackage ../tools/backup/tarsnap { };
 
   tcpcrypt = callPackage ../tools/security/tcpcrypt { };
 
+  tboot = callPackage ../tools/security/tboot { };
+
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
+  tcpflow = callPackage ../tools/networking/tcpflow { };
+
   teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { };
 
   # Work In Progress: it doesn't start unless running a daemon as root
@@ -1879,20 +2196,36 @@ let
     guile = guile_1_8;
   };
 
+  texmaker = callPackage ../applications/editors/texmaker { };
+
+  texstudio = callPackage ../applications/editors/texstudio { };
+
   tiled-qt = callPackage ../applications/editors/tiled-qt { qt = qt4; };
 
   tinc = callPackage ../tools/networking/tinc { };
 
+  tiny8086 = callPackage ../applications/virtualization/8086tiny { };
+
+  tmpwatch = callPackage ../tools/misc/tmpwatch  { };
+
   tmux = callPackage ../tools/misc/tmux { };
 
   tor = callPackage ../tools/security/tor { };
 
   torbutton = callPackage ../tools/security/torbutton { };
 
+  torbrowser = callPackage ../tools/security/tor/torbrowser.nix { };
+
   torsocks = callPackage ../tools/security/tor/torsocks.nix { };
 
+  tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { };
+
+  tpm-tools = callPackage ../tools/security/tpm-tools { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
+  trousers = callPackage ../tools/security/trousers { };
+
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
   ttysnoop = callPackage ../os-specific/linux/ttysnoop {};
@@ -1903,6 +2236,8 @@ let
 
   ucl = callPackage ../development/libraries/ucl { };
 
+  ucspi-tcp = callPackage ../tools/networking/ucspi-tcp { };
+
   udftools = callPackage ../tools/filesystems/udftools {};
 
   udptunnel = callPackage ../tools/networking/udptunnel { };
@@ -1916,13 +2251,15 @@ let
   unoconv = callPackage ../tools/text/unoconv { };
 
   upx = callPackage ../tools/compression/upx { };
- 
+
   urlview = callPackage ../applications/misc/urlview {};
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
 
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
+  volatility = callPackage ../tools/security/volatility { };
+
   vidalia = callPackage ../tools/security/vidalia { };
 
   vbetool = builderDefsPackage ../tools/system/vbetool {
@@ -1933,6 +2270,8 @@ let
 
   vboot_reference = callPackage ../tools/system/vboot_reference { };
 
+  vcsh = callPackage ../applications/version-management/vcsh { };
+
   verilog = callPackage ../applications/science/electronics/verilog {};
 
   vfdecrypt = callPackage ../tools/misc/vfdecrypt { };
@@ -1953,6 +2292,8 @@ let
 
   vobcopy = callPackage ../tools/cd-dvd/vobcopy { };
 
+  vobsub2srt = callPackage ../tools/cd-dvd/vobsub2srt { };
+
   vorbisgain = callPackage ../tools/misc/vorbisgain { };
 
   vpnc = callPackage ../tools/networking/vpnc { };
@@ -1961,6 +2302,10 @@ let
 
   vtun = callPackage ../tools/networking/vtun { };
 
+  wal_e = callPackage ../tools/backup/wal-e { };
+
+  watchman = callPackage ../development/tools/watchman { };
+
   wbox = callPackage ../tools/networking/wbox {};
 
   welkin = callPackage ../tools/graphics/welkin {};
@@ -1989,8 +2334,6 @@ let
 
   tkabber = callPackage ../applications/networking/instant-messengers/tkabber { };
 
-  tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { };
-
   qfsm = callPackage ../applications/science/electronics/qfsm { };
 
   tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix {
@@ -2030,6 +2373,10 @@ let
 
   xarchive = callPackage ../tools/archivers/xarchive { };
 
+  xarchiver = callPackage ../tools/archivers/xarchiver { };
+
+  xcruiser = callPackage ../applications/misc/xcruiser { };
+
   unarj = callPackage ../tools/archivers/unarj { };
 
   unshield = callPackage ../tools/archivers/unshield { };
@@ -2042,6 +2389,8 @@ let
 
   varnish = callPackage ../servers/varnish { };
 
+  varnish2 = callPackage ../servers/varnish/2.1.nix { };
+
   venus = callPackage ../tools/misc/venus {
     python = python27;
   };
@@ -2122,8 +2471,12 @@ let
 
   xclip = callPackage ../tools/misc/xclip { };
 
+  xtitle = callPackage ../tools/misc/xtitle { };
+
   xdelta = callPackage ../tools/compression/xdelta { };
 
+  xdummy = callPackage ../tools/misc/xdummy { };
+
   xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
 
   xmlroff = callPackage ../tools/typesetting/xmlroff {
@@ -2162,6 +2515,10 @@ let
 
   zdelta = callPackage ../tools/compression/zdelta { };
 
+  zfstools = callPackage ../tools/filesystems/zfstools {
+    zfs = linuxPackages.zfs;
+  };
+
   zile = callPackage ../applications/editors/zile { };
 
   zip = callPackage ../tools/archivers/zip { };
@@ -2180,14 +2537,15 @@ let
 
   bashInteractive = appendToName "interactive" (callPackage ../shells/bash {
     interactive = true;
-    texinfo = texinfo5;
   });
 
   bashCompletion = callPackage ../shells/bash-completion { };
 
   dash = callPackage ../shells/dash { };
 
-  fish = callPackage ../shells/fish { };
+  fish = callPackage ../shells/fish {
+    python = python27Full;
+  };
 
   tcsh = callPackage ../shells/tcsh { };
 
@@ -2209,8 +2567,11 @@ let
 
   aldor = callPackage ../development/compilers/aldor { };
 
+  aliceml = callPackage ../development/compilers/aliceml { };
+
   aspectj = callPackage ../development/compilers/aspectj { };
 
+  ats = callPackage ../development/compilers/ats { };
   ats2 = callPackage ../development/compilers/ats2 { };
 
   avra = callPackage ../development/compilers/avra { };
@@ -2221,16 +2582,37 @@ let
 
   ccl = builderDefsPackage ../development/compilers/ccl {};
 
-  clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix {
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
+  clang = wrapClang llvmPackages.clang;
+
+  clang_34 = wrapClang llvmPackages_34.clang;
+  clang_33 = wrapClang (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix);
+
+  clangAnalyzer = callPackage ../development/tools/analysis/clang-analyzer {
+    clang = clang_34;
+    llvmPackages = llvmPackages_34;
+  };
+
+  clangUnwrapped = llvm: pkg: callPackage pkg {
+    stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
+    inherit llvm;
   };
 
-  clang = wrapClang clangUnwrapped;
+  clangSelf = clangWrapSelf llvmPackagesSelf.clang;
+
+  clangWrapSelf = build: (import ../build-support/clang-wrapper) {
+    clang = build;
+    stdenv = clangStdenv;
+    libc = glibc;
+    binutils = binutils;
+    shell = bash;
+    inherit libcxx coreutils zlib;
+    nativeTools = false;
+    nativeLibc = false;
+  };
 
   #Use this instead of stdenv to build with clang
   clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang);
+  libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang);
 
   clean = callPackage ../development/compilers/clean { };
 
@@ -2238,7 +2620,17 @@ let
 
   cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { };
 
-  cython = callPackage ../development/interpreters/cython { };
+  compcert = callPackage ../development/compilers/compcert {};
+
+  cryptol1 = lowPrio (callPackage ../development/compilers/cryptol/1.8.x.nix {});
+  cryptol2 = with haskellPackages_ghc763; callPackage ../development/compilers/cryptol/2.0.x.nix {
+    Cabal = Cabal_1_18_1_3;
+    cabalInstall = cabalInstall_1_18_0_3;
+    process = process_1_2_0_0;
+  };
+
+  cython = pythonPackages.cython;
+  cython3 = python3Packages.cython;
 
   dylan = callPackage ../development/compilers/gwydion-dylan {
     dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix {  };
@@ -2255,7 +2647,7 @@ let
 
   gambit = callPackage ../development/compilers/gambit { };
 
-  gcc = gcc46;
+  gcc = gcc48;
 
   gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 {
     inherit fetchurl stdenv noSysDirs;
@@ -2265,35 +2657,9 @@ let
     inherit fetchurl stdenv noSysDirs;
   });
 
-  # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
-  # using Texinfo >= 4.10, just because it uses a stupid regexp that
-  # expects a single digit after the dot.  As a workaround, we feed
-  # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
-
-  gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2) {
-    inherit fetchurl stdenv noSysDirs;
-    profiledCompiler = false;
-  });
-
-  gcc43 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.3) {
-    inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
-    profiledCompiler = true;
-  }));
-
-  gcc43_realCross = makeOverridable (import ../development/compilers/gcc/4.3) {
-    inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
-    binutilsCross = binutilsCross;
-    libcCross = libcCross;
-    profiledCompiler = false;
-    enableMultilib = true;
-    crossStageStatic = false;
-    cross = assert crossSystem != null; crossSystem;
-  };
-
-  gcc44_realCross = lib.addMetaAttrs { platforms = []; }
-    (makeOverridable (import ../development/compilers/gcc/4.4) {
-      inherit stdenv fetchurl texinfo gmp mpfr /* ppl cloogppl */ noSysDirs
-          gettext which;
+  gcc48_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
+    (callPackage ../development/compilers/gcc/4.8 {
+      inherit noSysDirs;
       binutilsCross = binutilsCross;
       libcCross = libcCross;
       profiledCompiler = false;
@@ -2302,89 +2668,16 @@ let
       cross = assert crossSystem != null; crossSystem;
     });
 
-  gcc45 = gcc45_real;
-
-  wrapDeterministicGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
-    nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
-    nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
-    nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
-    gcc = baseGCC;
-    libc = glibc;
-    shell = bash;
-    binutils = binutils_deterministic;
-    inherit stdenv coreutils zlib;
-  };
-
-  wrapDeterministicGCC = wrapDeterministicGCCWith (import ../build-support/gcc-wrapper) glibc;
-
-  gcc46_deterministic = lowPrio (wrapDeterministicGCC (callPackage ../development/compilers/gcc/4.6 {
-    inherit noSysDirs;
-
-    # bootstrapping a profiled compiler does not work in the sheevaplug:
-    # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
-    profiledCompiler = !stdenv.isArm;
-
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
-    libcCross = if crossSystem != null then libcCross else null;
-    libpthreadCross =
-      if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-      then gnu.libpthreadCross
-      else null;
-  }));
-
-  gcc46 = gcc46_real;
-
-  gcc47 = gcc47_real;
-
-  gcc45_realCross = lib.addMetaAttrs { platforms = []; }
-    (makeOverridable (import ../development/compilers/gcc/4.5) {
-      inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
-        ppl cloogppl gettext which noSysDirs;
-      binutilsCross = binutilsCross;
-      libcCross = libcCross;
-      profiledCompiler = false;
-      enableMultilib = false;
-      crossStageStatic = false;
-      cross = assert crossSystem != null; crossSystem;
-    });
-
-  gcc46_realCross = lib.addMetaAttrs { platforms = []; }
-    (makeOverridable (import ../development/compilers/gcc/4.6) {
-      inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
-        cloog ppl gettext which noSysDirs;
-      binutilsCross = binutilsCross;
-      libcCross = libcCross;
-      profiledCompiler = false;
-      enableMultilib = false;
-      crossStageStatic = false;
-      cross = assert crossSystem != null; crossSystem;
-    });
-
-  gcc47_realCross = lib.addMetaAttrs { platforms = []; }
-    (makeOverridable (import ../development/compilers/gcc/4.7) {
-      inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
-        cloog ppl gettext which noSysDirs;
-      binutilsCross = binutilsCross;
-      libcCross = libcCross;
-      profiledCompiler = false;
-      enableMultilib = false;
-      crossStageStatic = false;
-      cross = assert crossSystem != null; crossSystem;
-    });
-
-  gcc_realCross = gcc47_realCross;
+  gcc_realCross = gcc48_realCross;
 
   gccCrossStageStatic = let
-      isMingw = (stdenv.cross.libc == "msvcrt");
-      isMingw64 = isMingw && stdenv.cross.config == "x86_64-w64-mingw32";
-      libcCross1 = if isMingw64 then windows.mingw_w64_headers else
-                   if isMingw then windows.mingw_headers1 else null;
+      libcCross1 =
+        if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers
+        else if stdenv.cross.libc == "libSystem" then darwin.xcode
+        else null;
     in
       wrapGCCCross {
-      gcc = forceNativeDrv (lib.addMetaAttrs { platforms = []; } (
+      gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } (
         gcc_realCross.override {
           crossStageStatic = true;
           langCC = false;
@@ -2423,15 +2716,20 @@ let
   };
 
   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) {
-    inherit fetchurl stdenv texinfo gmp mpfr /* ppl cloogppl */
+    inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */
       gettext which noSysDirs;
+    texinfo = texinfo4;
     profiledCompiler = true;
   }));
 
-  gcc45_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.5) {
-    inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib perl
-      ppl cloogppl
+  gcc45 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 {
+    inherit fetchurl stdenv gmp mpfr mpc libelf zlib perl
       gettext which noSysDirs;
+    texinfo = texinfo4;
+
+    ppl = null;
+    cloogppl = null;
+
     # bootstrapping a profiled compiler does not work in the sheevaplug:
     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
     profiledCompiler = !stdenv.isArm;
@@ -2447,12 +2745,15 @@ let
       else null;
   }));
 
-  gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 {
+  gcc46 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 {
     inherit noSysDirs;
 
+    ppl = null;
+    cloog = null;
+
     # bootstrapping a profiled compiler does not work in the sheevaplug:
     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
-    profiledCompiler = !stdenv.isArm;
+    profiledCompiler = false;
 
     # When building `gcc.crossDrv' (a "Canadian cross", with host == target
     # and host != build), `cross' must be null but the cross-libc must still
@@ -2466,30 +2767,46 @@ let
     texinfo = texinfo413;
   }));
 
-  # A non-stripped version of GCC.
-  gcc46_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 {
-    stripped = false;
-
+  gcc48 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 {
     inherit noSysDirs;
+
+    # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
+    profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
+
+    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
+    # and host != build), `cross' must be null but the cross-libc must still
+    # be passed.
     cross = null;
-    libcCross = null;
-    binutilsCross = null;
+    libcCross = if crossSystem != null then libcCross else null;
+    libpthreadCross =
+      if crossSystem != null && crossSystem.config == "i586-pc-gnu"
+      then gnu.libpthreadCross
+      else null;
   }));
 
-  gcc46_multi =
+  gcc48_multi =
     if system == "x86_64-linux" then lowPrio (
-      wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc46.gcc.override {
+      wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc48.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}’";
 
-  gcc47_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 {
+  gcc48_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 {
+    stripped = false;
+
     inherit noSysDirs;
-    # I'm not sure if profiling with enableParallelBuilding helps a lot.
-    # We can enable it back some day. This makes the *gcc* builds faster now.
-    profiledCompiler = false;
+    cross = null;
+    libcCross = null;
+    binutilsCross = null;
+  }));
+
+  gcc49 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.9 {
+    inherit noSysDirs;
+
+    # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
+    profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     # When building `gcc.crossDrv' (a "Canadian cross", with host == target
     # and host != build), `cross' must be null but the cross-libc must still
@@ -2502,15 +2819,6 @@ let
       else null;
   }));
 
-  gcc47_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 {
-    stripped = false;
-
-    inherit noSysDirs;
-    cross = null;
-    libcCross = null;
-    binutilsCross = null;
-  }));
-
   gccApple =
     assert stdenv.isDarwin;
     wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) {
@@ -2521,17 +2829,9 @@ let
       stdenv = allStdenvs.stdenvNative;
     });
 
-  gfortran = gfortran46;
+  gfortran = gfortran48;
 
-  gfortran42 = wrapGCC (gcc42.gcc.override {
-    name = "gfortran";
-    langFortran = true;
-    langCC = false;
-    langC = false;
-    inherit gmp mpfr;
-  });
-
-  gfortran43 = wrapGCC (gcc43.gcc.override {
+  gfortran48 = wrapGCC (gcc48.gcc.override {
     name = "gfortran";
     langFortran = true;
     langCC = false;
@@ -2539,65 +2839,13 @@ let
     profiledCompiler = false;
   });
 
-  gfortran44 = wrapGCC (gcc44.gcc.override {
-    name = "gfortran";
-    langFortran = true;
-    langCC = false;
-    langC = false;
-    profiledCompiler = false;
-  });
+  gcj = gcj48;
 
-  gfortran45 = wrapGCC (gcc45_real.gcc.override {
-    name = "gfortran";
-    langFortran = true;
-    langCC = false;
-    langC = false;
-    profiledCompiler = false;
-  });
-
-  gfortran46 = wrapGCC (gcc46_real.gcc.override {
-    name = "gfortran";
-    langFortran = true;
-    langCC = false;
-    langC = false;
-    profiledCompiler = false;
-  });
-
-  gcj = gcj45;
-
-  gcj44 = wrapGCC (gcc44.gcc.override {
-    name = "gcj";
-    langJava = true;
-    langFortran = false;
-    langCC = true;
-    langC = false;
-    profiledCompiler = false;
-    inherit zip unzip zlib boehmgc gettext pkgconfig;
-    inherit gtk;
-    inherit (gnome) libart_lgpl;
-    inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
-      libXrandr xproto renderproto xextproto inputproto randrproto;
-  });
-
-  gcj45 = wrapGCC (gcc45.gcc.override {
-    name = "gcj";
-    langJava = true;
-    langFortran = false;
-    langCC = true;
-    langC = false;
-    profiledCompiler = false;
-    inherit zip unzip zlib boehmgc gettext pkgconfig perl;
-    inherit gtk;
-    inherit (gnome) libart_lgpl;
-    inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
-      libXrandr xproto renderproto xextproto inputproto randrproto;
-  });
-
-  gcj46 = wrapGCC (gcc46.gcc.override {
+  gcj48 = wrapGCC (gcc48.gcc.override {
     name = "gcj";
     langJava = true;
     langFortran = false;
-    langCC = true;
+    langCC = false;
     langC = false;
     profiledCompiler = false;
     inherit zip unzip zlib boehmgc gettext pkgconfig perl;
@@ -2609,20 +2857,7 @@ let
 
   gnat = gnat45;
 
-  gnat44 = wrapGCC (gcc44.gcc.override {
-    name = "gnat";
-    langCC = false;
-    langC = true;
-    langAda = true;
-    profiledCompiler = false;
-    inherit gnatboot;
-    # We can't use the ppl stuff, because we would have
-    # libstdc++ problems.
-    cloogppl = null;
-    ppl = null;
-  });
-
-  gnat45 = wrapGCC (gcc45_real.gcc.override {
+  gnat45 = wrapGCC (gcc45.gcc.override {
     name = "gnat";
     langCC = false;
     langC = true;
@@ -2635,7 +2870,7 @@ let
     ppl = null;
   });
 
-  gnat46 = wrapGCC (gcc46_real.gcc.override {
+  gnat46 = wrapGCC (gcc46.gcc.override {
     name = "gnat";
     langCC = false;
     langC = true;
@@ -2652,10 +2887,9 @@ let
     inherit fetchurl stdenv;
   });
 
-  # gccgo46 does not work. I set 4.7 then.
-  gccgo = gccgo47;
+  gccgo = gccgo48;
 
-  gccgo47 = wrapGCC (gcc47_real.gcc.override {
+  gccgo48 = wrapGCC (gcc48.gcc.override {
     name = "gccgo";
     langCC = true; #required for go.
     langC = true;
@@ -2663,7 +2897,8 @@ let
   });
 
   ghdl = wrapGCC (import ../development/compilers/gcc/4.3 {
-    inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat;
+    inherit stdenv fetchurl gmp mpfr noSysDirs gnat;
+    texinfo = texinfo4;
     name = "ghdl";
     langVhdl = true;
     langCC = false;
@@ -2672,17 +2907,7 @@ let
     enableMultilib = false;
   });
 
-  # Not officially supported version for ghdl
-  ghdl_gcc44 = lowPrio (wrapGCC (import ../development/compilers/gcc/4.4 {
-    inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat gettext which
-      ppl cloogppl;
-    name = "ghdl";
-    langVhdl = true;
-    langCC = false;
-    langC = false;
-    profiledCompiler = false;
-    enableMultilib = false;
-  }));
+  ghdl_mcode = callPackage ../development/compilers/ghdl { };
 
   gcl = builderDefsPackage ../development/compilers/gcl {
     inherit mpfr m4 binutils fetchcvs emacs zlib which
@@ -2699,15 +2924,30 @@ let
   };
 
   jhc = callPackage ../development/compilers/jhc {
-    inherit (haskellPackages_ghc6123) ghc binary zlib utf8String readline fgl
-    regexCompat HsSyck random;
+    inherit (haskellPackages_ghc763) ghc binary zlib utf8String readline fgl
+      regexCompat HsSyck random;
+  };
+
+  gcc-arm-embedded-4_7 = callPackage_i686 ../development/compilers/gcc-arm-embedded {
+    version = "4.7-2013q3-20130916";
+    releaseType = "update";
+    sha256 = "1bd9bi9q80xn2rpy0rn1vvj70rh15kb7dmah0qs4q2rv78fqj40d";
   };
+  gcc-arm-embedded-4_8 = callPackage_i686 ../development/compilers/gcc-arm-embedded {
+    version = "4.8-2014q1-20140314";
+    releaseType = "update";
+    sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577";
+  };
+  gcc-arm-embedded = gcc-arm-embedded-4_8;
 
   # Haskell and GHC
 
   # Import Haskell infrastructure.
 
-  haskell = callPackage ./haskell-defaults.nix { inherit pkgs; };
+  haskell = let pkgs_       = pkgs // { gmp = gmp.override { withStatic = true; }; };
+                callPackage = newScope pkgs_;
+                newScope    = extra: lib.callPackageWith (pkgs_ // pkgs_.xorg // extra);
+            in callPackage ./haskell-defaults.nix { pkgs = pkgs_; inherit callPackage newScope; };
 
   # Available GHC versions.
 
@@ -2717,43 +2957,34 @@ let
   # NOTE (recurseIntoAttrs): After discussion, we originally decided to
   # enable it for all GHC versions. However, this is getting too much,
   # particularly in connection with Hydra builds for all these packages.
-  # So we enable it for selected versions only.
-
-  # Current default version: 7.6.3.
-  haskellPackages = haskellPackages_ghc763;
-  # Current Haskell Platform: 2013.2.0.0
-  haskellPlatform = haskellPackages.haskellPlatform;
-
-  haskellPackages_ghc6104             =                   haskell.packages_ghc6104;
-  haskellPackages_ghc6121             =                   haskell.packages_ghc6121;
-  haskellPackages_ghc6122             =                   haskell.packages_ghc6122;
-  haskellPackages_ghc6123             =                   haskell.packages_ghc6123;
-  haskellPackages_ghc701              =                   haskell.packages_ghc701;
-  haskellPackages_ghc702              =                   haskell.packages_ghc702;
-  haskellPackages_ghc703              =                   haskell.packages_ghc703;
-  haskellPackages_ghc704              =                   haskell.packages_ghc704;
-  haskellPackages_ghc721              =                   haskell.packages_ghc721;
-  haskellPackages_ghc722              =                   haskell.packages_ghc722;
-  haskellPackages_ghc741              =                   haskell.packages_ghc741;
-  haskellPackages_ghc742              =                   haskell.packages_ghc742;
-  haskellPackages_ghc761              =                   haskell.packages_ghc761;
-  haskellPackages_ghc762              =                   haskell.packages_ghc762;
-  # For the default version, we build profiling versions of the libraries, too.
-  # The following three lines achieve that: the first two make Hydra build explicit
-  # profiling and non-profiling versions; the final respects the user-configured
-  # default setting.
-  haskellPackages_ghc763_no_profiling = recurseIntoAttrs (haskell.packages_ghc763.noProfiling);
-  haskellPackages_ghc763_profiling    = recurseIntoAttrs (haskell.packages_ghc763.profiling);
-  haskellPackages_ghc763              = recurseIntoAttrs (haskell.packages_ghc763.highPrio);
-  # Reasonably current HEAD snapshot.
-  haskellPackages_ghcHEAD             =                   haskell.packages_ghcHEAD;
+  # So we enable it for selected versions only. We build all ghcs, though
+
+  ghc = recurseIntoAttrs (lib.mapAttrs' (name: value:
+    lib.nameValuePair (builtins.substring (builtins.stringLength "packages_") (builtins.stringLength name) name) value.ghc
+  ) (lib.filterAttrs (name: value:
+    builtins.substring 0 (builtins.stringLength "packages_") name == "packages_"
+  ) haskell));
+
+  haskellPackages = haskellPackages_ghc783;
+  haskellPlatform = haskellPlatformPackages."2013_2_0_0";
+
+  haskellPackages_ghc6104 = haskell.packages_ghc6104;
+  haskellPackages_ghc6123 = haskell.packages_ghc6123;
+  haskellPackages_ghc704  = haskell.packages_ghc704;
+  haskellPackages_ghc722  = haskell.packages_ghc722;
+  haskellPackages_ghc742  = haskell.packages_ghc742;
+  haskellPackages_ghc763  = haskell.packages_ghc763;
+  haskellPackages_ghc783_no_profiling = recurseIntoAttrs haskell.packages_ghc783.noProfiling;
+  haskellPackages_ghc783_profiling    = recurseIntoAttrs haskell.packages_ghc783.profiling;
+  haskellPackages_ghc783              = recurseIntoAttrs haskell.packages_ghc783.highPrio;
+  haskellPackages_ghcHEAD = haskell.packages_ghcHEAD;
+
+  haskellPlatformPackages = recurseIntoAttrs (import ../development/libraries/haskell/haskell-platform { inherit pkgs; });
 
   haxe = callPackage ../development/compilers/haxe { };
 
-  hiphopvm = callPackage ../development/interpreters/hiphopvm {
-    libevent = libevent14;
-    boost = boost149;
-  };
+  hhvm = callPackage ../development/compilers/hhvm { };
+  hiphopvm = hhvm; /* Compatibility alias */
 
   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
     inherit cmake;
@@ -2769,12 +3000,31 @@ let
     else
       callPackage ../development/compilers/go/1.1.nix { };
 
-  go = go_1_1;
+  go_1_2 = callPackage ../development/compilers/go/1.2.nix { };
+
+  go_1_3 = callPackage ../development/compilers/go/1.3.nix { };
+
+  go = go_1_3;
+
+  gox = callPackage ../development/compilers/go/gox.nix { };
 
   gprolog = callPackage ../development/compilers/gprolog { };
 
   gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { };
 
+  icedtea7_jdk = callPackage ../development/compilers/icedtea rec {
+    jdk = openjdk;
+    jdkPath = "${openjdk}/lib/openjdk";
+  } // { outputs = [ "out" ]; };
+
+  icedtea7_jre = (lib.setName "icedtea7-${lib.getVersion pkgs.icedtea7_jdk.jre}" (lib.addMetaAttrs
+    { description = "Free Java runtime environment based on OpenJDK 7.0 and the IcedTea project"; }
+    pkgs.icedtea7_jdk.jre)) // { outputs = [ "jre" ]; };
+
+  icedtea7_web = callPackage ../development/compilers/icedtea-web {
+    jdk = "${icedtea7_jdk}/lib/icedtea";
+  };
+
   ikarus = callPackage ../development/compilers/ikarus { };
 
   hugs = callPackage ../development/compilers/hugs { };
@@ -2786,31 +3036,35 @@ let
       callPackage ../development/compilers/openjdk-darwin { }
     else
       let
-        openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix {};
-        openjdkStage1 = callPackage ../development/compilers/openjdk {
-          jdk = openjdkBootstrap;
-          ant = pkgs.ant.override { jdk = openjdkBootstrap; };
-        };
-      in callPackage ../development/compilers/openjdk {
-        jdk = openjdkStage1;
-        ant = pkgs.ant.override { jdk = openjdkStage1; };
-      };
+        openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { };
+      in (callPackage ../development/compilers/openjdk {
+        jdk = openjdkBootstrap;
+      }) // { outputs = [ "out" ]; };
 
-  openjre = pkgs.openjdk.override {
-    jreOnly = true;
-  };
+  # FIXME: Need a way to set per-output meta attributes.
+  openjre = (lib.setName "openjre-${lib.getVersion pkgs.openjdk.jre}" (lib.addMetaAttrs
+    { description = "The open-source Java Runtime Environment"; }
+    pkgs.openjdk.jre)) // { outputs = [ "jre" ]; };
 
   jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
     then pkgs.openjdk
     else pkgs.oraclejdk;
-  jre = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
+  jre = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
     then pkgs.openjre
     else pkgs.oraclejre;
 
   oraclejdk = pkgs.jdkdistro true false;
 
+  oraclejdk7 = pkgs.oraclejdk7distro true false;
+
+  oraclejdk8 = pkgs.oraclejdk8distro true false;
+
   oraclejre = lowPrio (pkgs.jdkdistro false false);
 
+  oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false);
+
+  oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false);
+
   jrePlugin = lowPrio (pkgs.jdkdistro false true);
 
   supportsJDK =
@@ -2819,17 +3073,30 @@ let
 
   jdkdistro = installjdk: pluginSupport:
     assert supportsJDK;
-    (if pluginSupport then appendToName "plugin" else x: x)
-      (callPackage ../development/compilers/jdk/jdk6-linux.nix { });
+    (if pluginSupport then appendToName "with-plugin" else x: x)
+      (callPackage ../development/compilers/oraclejdk/jdk6-linux.nix { });
+
+  oraclejdk7distro = installjdk: pluginSupport:
+    assert supportsJDK;
+    (if pluginSupport then appendToName "with-plugin" else x: x)
+      (callPackage ../development/compilers/oraclejdk/jdk7-linux.nix { inherit installjdk; });
+
+  oraclejdk8distro = installjdk: pluginSupport:
+    assert supportsJDK;
+    (if pluginSupport then appendToName "with-plugin" else x: x)
+      (callPackage ../development/compilers/oraclejdk/jdk8-linux.nix { inherit installjdk; });
 
   jikes = callPackage ../development/compilers/jikes { };
 
-  julia = callPackage ../development/compilers/julia {
+  juliaGit = callPackage ../development/compilers/julia/git-20131013.nix {
+    liblapack = liblapack.override {shared = true;};
+    llvm = llvm_33;
+  };
+  julia021 = callPackage ../development/compilers/julia/0.2.1.nix {
     liblapack = liblapack.override {shared = true;};
-    mpfr = mpfr_3_1_2;
-    fftw = fftw.override {pthreads = true;};
-    fftwSinglePrec = fftwSinglePrec.override {pthreads = true;};
+    llvm = llvm_33;
   };
+  julia = julia021;
 
   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
     inherit makeWrapper gtk glib pango atk gdk_pixbuf;
@@ -2839,16 +3106,35 @@ let
 
   lessc = callPackage ../development/compilers/lessc { };
 
-  llvm = callPackage ../development/compilers/llvm {
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
+  llvm = llvmPackages.llvm;
+
+  llvm_34 = llvmPackages_34.llvm;
+  llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix;
+
+  llvm_v = path: callPackage path {
+    stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
+  };
+
+  llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // {
+    # until someone solves build problems with _34
+    llvm = llvm_33;
+    clang = clang_33;
   };
 
+  llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 {
+    inherit stdenv newScope fetchurl;
+    isl = isl_0_12;
+  });
+  llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; };
+
+  manticore = callPackage ../development/compilers/manticore { };
+
   mentorToolchains = recurseIntoAttrs (
     callPackage_i686 ../development/compilers/mentor {}
   );
 
+  mercury = callPackage ../development/compilers/mercury { };
+
   mitscheme = callPackage ../development/compilers/mit-scheme { };
 
   mlton = callPackage ../development/compilers/mlton { };
@@ -2867,7 +3153,7 @@ let
 
   nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { };
 
-  ocaml = ocaml_3_12_1;
+  ocaml = ocamlPackages.ocaml;
 
   ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { };
 
@@ -2915,14 +3201,21 @@ let
 
     camlimages = callPackage ../development/ocaml-modules/camlimages {
       libpng = libpng12;
+      giflib = giflib_4_1;
     };
 
+    biniou = callPackage ../development/ocaml-modules/biniou { };
+
     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
 
+    cppo = callPackage ../development/tools/ocaml/cppo { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     deriving = callPackage ../development/tools/ocaml/deriving { };
 
+    easy-format = callPackage ../development/ocaml-modules/easy-format { };
+
     findlib = callPackage ../development/tools/ocaml/findlib { };
 
     dypgen = callPackage ../development/ocaml-modules/dypgen { };
@@ -2943,34 +3236,44 @@ let
 
     menhir = callPackage ../development/ocaml-modules/menhir { };
 
+    merlin = callPackage ../development/tools/ocaml/merlin { };
+
     mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
 
     mlgmp =  callPackage ../development/ocaml-modules/mlgmp { };
 
-    ocaml_batteries = callPackage ../development/ocaml-modules/batteries {
-      camomile = camomile_0_8_2;
-    };
+    ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
 
     ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
 
+    ocaml_data_notation = callPackage ../development/ocaml-modules/odn { };
+
     ocaml_expat = callPackage ../development/ocaml-modules/expat { };
 
     ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
 
     ocaml_http = callPackage ../development/ocaml-modules/http { };
 
+    ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
+
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
+    ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
+
     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
 
     ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
 
+    ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
+
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {
       inherit pcre;
     };
 
     ocaml_react = callPackage ../development/ocaml-modules/react { };
 
+    ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };
+
     ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
 
     ocaml_ssl = callPackage ../development/ocaml-modules/ssl { };
@@ -2985,60 +3288,63 @@ let
 
     ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { };
 
+    ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { };
+
     ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { };
 
     ocaml_extlib = callPackage ../development/ocaml-modules/extlib { };
 
     pycaml = callPackage ../development/ocaml-modules/pycaml { };
 
-    opam = callPackage ../development/tools/ocaml/opam { };
+    opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
+    opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
+    opam = opam_1_1;
+
+    yojson = callPackage ../development/ocaml-modules/yojson { };
+
+    zarith = callPackage ../development/ocaml-modules/zarith { };
   };
 
-  ocamlPackages = recurseIntoAttrs ocamlPackages_3_12_1;
+  ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;
   ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0;
   ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2;
   ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1;
   ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1;
+  ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0;
+  ocamlPackages_latest = ocamlPackages_4_01_0;
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  opa = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/compilers/opa { };
+  opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { };
 
   ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };
 
-  opencxx = callPackage ../development/compilers/opencxx {
-    gcc = gcc33;
-  };
-
   qcmm = callPackage ../development/compilers/qcmm {
     lua   = lua4;
     ocaml = ocaml_3_08_0;
   };
 
-  deterministicStdenv = lowPrio (
-    overrideInStdenv (
-      stdenvAdapters.overrideGCC
-        (stdenvAdapters.overrideSetup stdenv ../stdenv/generic/setup-repeatable.sh )
-      gcc46_deterministic
-    )
-    [ binutils_deterministic ]
-  );
-
   roadsend = callPackage ../development/compilers/roadsend { };
 
-  # TODO: the corresponding nix file is missing
-  # rust = pkgsi686Linux.callPackage ../development/compilers/rust {};
+  rustc       = callPackage ../development/compilers/rustc/0.11.nix {};
+  rustcMaster = callPackage ../development/compilers/rustc/head.nix {};
 
-  sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
-    inherit makeWrapper clisp;
-  };
+  rust = rustc;
 
-  scala = callPackage ../development/compilers/scala { };
 
-  sdcc = callPackage ../development/compilers/sdcc {
-    boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53
+  sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
+  sbcl = callPackage ../development/compilers/sbcl {
+    clisp = clisp;
   };
 
+  scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
+  scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { };
+  scala_2_11 = callPackage ../development/compilers/scala { };
+  scala = scala_2_11;
+
+  sdcc = callPackage ../development/compilers/sdcc { };
+
+  smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
   smlnj = callPackage_i686 ../development/compilers/smlnj { };
 
   stalin = callPackage ../development/compilers/stalin { };
@@ -3067,13 +3373,7 @@ let
 
   urweb = callPackage ../development/compilers/urweb { };
 
-  vala = vala19;
-
-  vala15 = callPackage ../development/compilers/vala/15.2.nix { };
-
-  vala16 = callPackage ../development/compilers/vala/16.1.nix { };
-
-  vala19 = callPackage ../development/compilers/vala/default.nix { };
+  vala = callPackage ../development/compilers/vala/default.nix { };
 
   visualcpp = callPackage ../development/compilers/visual-c++ { };
 
@@ -3094,9 +3394,9 @@ let
   };
 
   wrapClangWith = clangWrapper: glibc: baseClang: clangWrapper {
-    nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
-    nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
-    nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
+    nativeTools = stdenv.gcc.nativeTools or false;
+    nativeLibc = stdenv.gcc.nativeLibc or false;
+    nativePrefix = stdenv.gcc.nativePrefix or "";
     clang = baseClang;
     libc = glibc;
     shell = bash;
@@ -3104,9 +3404,9 @@ let
     inherit stdenv coreutils zlib;
   };
 
-  wrapClang = wrapClangWith (import ../build-support/clang-wrapper) glibc;
+  wrapClang = wrapClangWith (makeOverridable (import ../build-support/clang-wrapper)) glibc;
 
-  wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
+  wrapGCC = wrapGCCWith (makeOverridable (import ../build-support/gcc-wrapper)) glibc;
 
   wrapGCCCross =
     {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}:
@@ -3142,24 +3442,13 @@ let
 
   clojure = callPackage ../development/interpreters/clojure { };
 
-  clojureUnstable = callPackage ../development/interpreters/clojure { version = "1.5.0-RC1"; };
-
-  clojure_binary = callPackage ../development/interpreters/clojure/binary.nix { };
+  clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
 
-  clojure_wrapper = callPackage ../development/interpreters/clojure/wrapper.nix {
-    #clojure = clojure_binary;
-  };
-
-  clooj_standalone_binary = callPackage ../development/interpreters/clojure/clooj.nix { };
-
-  clooj_wrapper = callPackage ../development/interpreters/clojure/clooj-wrapper.nix {
-    clooj = clooj_standalone_binary;
-  };
-
-  erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { };
-  erlangR15B03 = callPackage ../development/interpreters/erlang/R15B03.nix { };
-  erlangR16B01 = callPackage ../development/interpreters/erlang/R16B01.nix { };
-  erlang = erlangR16B01;
+  erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { };
+  erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { };
+  erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { };
+  erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { };
+  erlang = erlangR17;
 
   rebar = callPackage ../development/tools/build-managers/rebar { };
 
@@ -3181,33 +3470,72 @@ let
 
   jmeter = callPackage ../applications/networking/jmeter {};
 
-  kaffe = callPackage ../development/interpreters/kaffe { };
+  davmail = callPackage ../applications/networking/davmail {};
+
+  lxappearance = callPackage ../applications/misc/lxappearance {};
 
   kona = callPackage ../development/interpreters/kona {};
 
-  love = callPackage ../development/interpreters/love {};
+  love = callPackage ../development/interpreters/love {lua=lua5;};
+  love_luajit = callPackage ../development/interpreters/love {lua=luajit;};
+  love_0_9 = callPackage ../development/interpreters/love/0.9.nix { };
 
   lua4 = callPackage ../development/interpreters/lua-4 { };
   lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { };
   lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { };
   lua5_2 = callPackage ../development/interpreters/lua-5/5.2.nix { };
+  lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix {
+    compat = true;
+  };
   lua5 = lua5_1;
+  lua = lua5;
+
+  lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {};
+  lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {};
+  lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {};
+  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix {};
 
   luarocks = callPackage ../development/tools/misc/luarocks {
      lua = lua5;
   };
 
+  luajit = callPackage ../development/interpreters/luajit {};
+
   lush2 = callPackage ../development/interpreters/lush {};
 
-  maude = callPackage ../development/interpreters/maude { };
+  maude = callPackage ../development/interpreters/maude {
+    bison = bison2;
+    flex = flex_2_5_35;
+  };
+
+  mesos = callPackage ../applications/networking/cluster/mesos {
+    sasl = cyrus_sasl;
+    automake = automake114x;
+    inherit (pythonPackages) python boto setuptools distutils-cfg wrapPython;
+    pythonProtobuf = pythonPackages.protobuf;
+  };
 
   octave = callPackage ../development/interpreters/octave {
     fltk = fltk13;
-  };
+    qt = null;
+    ghostscript = null;
+    llvm = null;
+    hdf5 = null;
+    glpk = null;
+    suitesparse = null;
+    openjdk = null;
+    gnuplot = null;
+  };
+  octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
+    fltk = fltk13;
+    qt = qt4;
+  }));
 
   # mercurial (hg) bleeding edge version
   octaveHG = callPackage ../development/interpreters/octave/hg.nix { };
 
+  ocropus = callPackage ../applications/misc/ocropus { };
+
   perl58 = callPackage ../development/interpreters/perl/5.8 {
     impureLibcPath = if stdenv.isLinux then null else "/usr";
   };
@@ -3220,25 +3548,28 @@ let
     fetchurl = fetchurlBoot;
   };
 
+  perl520 = callPackage ../development/interpreters/perl/5.20 { };
+
   perl = if system != "i686-cygwin" then perl516 else sysPerl;
 
   php = php54;
 
-  php53 = callPackage ../development/interpreters/php/5.3.nix { };
-
-  php54 = callPackage ../development/interpreters/php/5.4.nix { };
-
-  php_apc = callPackage ../development/libraries/php-apc { };
-
-  php_xcache = callPackage ../development/libraries/php-xcache { };
-
-  phpXdebug_5_3 = lowPrio (callPackage ../development/interpreters/php-xdebug {
-    php = php53;
+  phpPackages = recurseIntoAttrs (import ./php-packages.nix {
+    inherit php pkgs;
   });
 
-  phpXdebug_5_4 = callPackage ../development/interpreters/php-xdebug { };
+  php53 = callPackage ../development/interpreters/php/5.3.nix { };
+
+  php_fpm53 = callPackage ../development/interpreters/php/5.3.nix {
+    config = config // {
+      php = (config.php or {}) // {
+        fpm = true;
+        apxs2 = false;
+      };
+    };
+  };
 
-  phpXdebug = phpXdebug_5_4;
+  php54 = callPackage ../development/interpreters/php/5.4.nix { };
 
   picolisp = callPackage ../development/interpreters/picolisp {};
 
@@ -3246,28 +3577,39 @@ let
 
   polyml = callPackage ../development/compilers/polyml { };
 
-  pure = callPackage ../development/interpreters/pure {};
+  pure = callPackage ../development/interpreters/pure {
+    llvm = llvm_33 ;
+  };
 
-  python3 = hiPrio (callPackage ../development/interpreters/python/3.3 { });
-  python33 = callPackage ../development/interpreters/python/3.3 { };
-  python32 = callPackage ../development/interpreters/python/3.2 { };
+  python = python2;
+  python2 = python27;
+  python3 = python34;
 
-  python = python27;
-  python26 = callPackage ../development/interpreters/python/2.6 { };
-  python27 = callPackage ../development/interpreters/python/2.7 {
-    libX11 = xlibs.libX11;
-  };
+  # pythonPackages further below, but assigned here because they need to be in sync
+  pythonPackages = python2Packages;
+  python2Packages = python27Packages;
+  python3Packages = python34Packages;
+
+  pythonFull = python2Full;
+  python2Full = python27Full;
+
+  python26 = callPackage ../development/interpreters/python/2.6 { db = db47; };
+  python27 = callPackage ../development/interpreters/python/2.7 { };
+  python32 = callPackage ../development/interpreters/python/3.2 { };
+  python33 = callPackage ../development/interpreters/python/3.3 { };
+  python34 = hiPrio (callPackage ../development/interpreters/python/3.4 { });
 
-  pypy = callPackage ../development/interpreters/pypy/2.1 { };
+  pypy = callPackage ../development/interpreters/pypy/2.3 { };
 
-  pythonFull = python27Full;
   python26Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = lib.attrValues python26.modules;
+    extraLibs = [];
+    postBuild = "";
     python = python26;
     inherit (python26Packages) recursivePthLoader;
   };
   python27Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = lib.attrValues python27.modules;
+    extraLibs = [];
+    postBuild = "";
     python = python27;
     inherit (python27Packages) recursivePthLoader;
   };
@@ -3290,10 +3632,13 @@ let
 
   racket = callPackage ../development/interpreters/racket { };
 
-  regina = callPackage ../development/interpreters/regina {};
+  rakudo = callPackage ../development/interpreters/rakudo { };
+
+  rascal = callPackage ../development/interpreters/rascal { };
+
+  regina = callPackage ../development/interpreters/regina { };
 
   renpy = callPackage ../development/interpreters/renpy {
-    ffmpeg = ffmpeg_1;
     wrapPython = pythonPackages.wrapPython;
   };
 
@@ -3318,20 +3663,33 @@ let
 
   scsh = callPackage ../development/interpreters/scsh { };
 
+  scheme48 = callPackage ../development/interpreters/scheme48 { };
+
+  spark = callPackage ../applications/networking/cluster/spark { };
+
   spidermonkey = callPackage ../development/interpreters/spidermonkey { };
   spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { };
   spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { };
+  spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { };
+  spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { };
+
+  supercollider = callPackage ../development/interpreters/supercollider {
+    qt = qt4;
+    fftw = fftwSinglePrec;
+  };
+
+  supercollider_scel = supercollider.override { useSCEL = true; };
 
   sysPerl = callPackage ../development/interpreters/perl/sys-perl { };
 
   tcl = callPackage ../development/interpreters/tcl { };
 
-  xulrunnerWrapper = {application, launcher}:
-    import ../development/interpreters/xulrunner/wrapper {
-      inherit stdenv application launcher xulrunner;
-    };
+  xulrunner = callPackage ../development/interpreters/xulrunner {
+    inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+  };
 
-  xulrunner = pkgs.firefoxPkgs.xulrunner;
+  xulrunner_30 = firefox30Pkgs.xulrunner;
 
 
   ### DEVELOPMENT / MISC
@@ -3357,7 +3715,10 @@ let
     samples = true;
   };
 
-  avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {};
+  avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {
+    gcc = gcc46;
+    stdenv = overrideGCC stdenv gcc46;
+  };
 
   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
 
@@ -3382,6 +3743,10 @@ let
 
   guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { };
 
+  guile-xcb = callPackage ../development/guile-modules/guile-xcb { };
+
+  pharo-vm = callPackage_i686 ../development/pharo/vm { };
+
   srecord = callPackage ../development/tools/misc/srecord { };
 
   windowssdk = (
@@ -3392,6 +3757,8 @@ let
 
   ### DEVELOPMENT / TOOLS
 
+  ansible = callPackage ../tools/system/ansible { };
+
   antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
 
   antlr3 = callPackage ../development/tools/parsing/antlr { };
@@ -3400,14 +3767,6 @@ let
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
-  apacheAntOpenJDK = apacheAnt.override { jdk = openjdk; };
-  apacheAntOracleJDK = ant.override { jdk = pkgs.oraclejdk; };
-
-  apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix {
-    # must be either pre-built or built with GCJ *alone*
-    gcj = gcj.gcc; # use the raw GCJ, which has ${gcj}/lib/jvm
-  };
-
   astyle = callPackage ../development/tools/misc/astyle { };
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
@@ -3420,14 +3779,14 @@ let
 
   automake = automake112x;
 
-  automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { };
-
   automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { };
 
   automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { };
 
   automake113x = callPackage ../development/tools/misc/automake/automake-1.13.x.nix { };
 
+  automake114x = callPackage ../development/tools/misc/automake/automake-1.14.x.nix { };
+
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
@@ -3442,25 +3801,22 @@ let
     inherit noSysDirs;
   };
 
-  binutils_deterministic = lowPrio (callPackage ../development/tools/misc/binutils {
+  binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils {
     inherit noSysDirs;
-    deterministic = true;
+    gold = false;
   });
 
-  binutils_gold = lowPrio (callPackage ../development/tools/misc/binutils {
-    inherit noSysDirs;
-    gold = true;
-  });
-
-  binutilsCross = lowPrio (forceNativeDrv (import ../development/tools/misc/binutils {
-    inherit stdenv fetchurl zlib;
-    noSysDirs = true;
-    cross = assert crossSystem != null; crossSystem;
-  }));
+  binutilsCross =
+    if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools
+    else lowPrio (forceNativeDrv (import ../development/tools/misc/binutils {
+      inherit stdenv fetchurl zlib bison;
+      noSysDirs = true;
+      cross = assert crossSystem != null; crossSystem;
+    }));
 
   bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { };
-  bison3 = lowPrio (callPackage ../development/tools/parsing/bison/3.x.nix { });
-  bison = bison2;
+  bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { };
+  bison = bison3;
 
   buildbot = callPackage ../development/tools/build-managers/buildbot {
     inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate;
@@ -3497,10 +3853,14 @@ let
      wrapGCC (ccache.links extraConfig)) {};
   ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper);
 
+  cccc = callPackage ../development/tools/analysis/cccc { };
+
   cgdb = callPackage ../development/tools/misc/cgdb { };
 
   chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome.GConf; };
 
+  chrpath = callPackage ../development/tools/misc/chrpath { };
+
   "cl-launch" = callPackage ../development/tools/misc/cl-launch {};
 
   complexity = callPackage ../development/tools/misc/complexity { };
@@ -3521,7 +3881,7 @@ let
 
   coccinelle = callPackage ../development/tools/misc/coccinelle { };
 
-  framac = callPackage ../development/tools/misc/frama-c { };
+  framac = callPackage ../development/tools/analysis/frama-c { };
 
   cppi = callPackage ../development/tools/misc/cppi { };
 
@@ -3529,6 +3889,8 @@ let
 
   cflow = callPackage ../development/tools/misc/cflow { };
 
+  cov-build = callPackage ../development/tools/analysis/cov-build {};
+
   cppcheck = callPackage ../development/tools/analysis/cppcheck { };
 
   cscope = callPackage ../development/tools/misc/cscope { };
@@ -3536,9 +3898,20 @@ let
   csslint = callPackage ../development/web/csslint { };
 
   libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; };
+  libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; };
+
+  libsigrok = callPackage ../development/tools/libsigrok { };
+
+  libsigrokdecode = callPackage ../development/tools/libsigrokdecode { };
 
   dejagnu = callPackage ../development/tools/misc/dejagnu { };
 
+  dfeet = callPackage ../development/tools/misc/d-feet {
+    inherit (pythonPackages) pep8;
+  };
+
+  dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { };
+
   ddd = callPackage ../development/tools/misc/ddd { };
 
   distcc = callPackage ../development/tools/misc/distcc { };
@@ -3569,15 +3942,13 @@ let
     inherit python pil makeWrapper;
   };
 
-  doxygen = lowPrio (doxygen_gui.override { qt4 = null; });
-
-  /* XXX: The LaTeX output with Doxygen 1.8.0 makes LaTeX barf.
-     See <https://bugzilla.gnome.org/show_bug.cgi?id=670973>.  */
-  doxygen_1_7 = callPackage ../development/tools/documentation/doxygen/1.7.nix {
+  doxygen = callPackage ../development/tools/documentation/doxygen {
     qt4 = null;
   };
 
-  doxygen_gui = callPackage ../development/tools/documentation/doxygen { };
+  doxygen_gui = lowPrio (doxygen.override { inherit qt4; });
+
+  drush = callPackage ../development/tools/misc/drush { };
 
   eggdbus = callPackage ../development/tools/misc/eggdbus { };
 
@@ -3595,19 +3966,9 @@ let
 
   checkstyle = callPackage ../development/tools/analysis/checkstyle { };
 
-  flex = flex2535;
-
-  flex2535 = callPackage ../development/tools/parsing/flex/flex-2.5.35.nix { };
-
-  flex2534 = callPackage ../development/tools/parsing/flex/flex-2.5.34.nix { };
-
-  flex2533 = callPackage ../development/tools/parsing/flex/flex-2.5.33.nix { };
-
-  # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting
-  # alphabetically, hence the low priority.
-  flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix {
-    inherit fetchurl stdenv yacc;
-  });
+  flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { };
+  flex_2_5_39 = callPackage ../development/tools/parsing/flex/2.5.39.nix { };
+  flex = flex_2_5_39;
 
   m4 = gnum4;
 
@@ -3617,10 +3978,11 @@ let
 
   gnum4 = callPackage ../development/tools/misc/gnum4 { };
 
-  gnumake = callPackage ../development/tools/build-managers/gnumake { };
-
-  gnumake380 = callPackage ../development/tools/build-managers/gnumake-3.80 { };
-  gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81.nix { };
+  gnumake380 = callPackage ../development/tools/build-managers/gnumake/3.80 { };
+  gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81 { };
+  gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { };
+  gnumake40  = callPackage ../development/tools/build-managers/gnumake/4.0  { };
+  gnumake = gnumake382;
 
   gob2 = callPackage ../development/tools/misc/gob2 { };
 
@@ -3642,6 +4004,8 @@ let
 
   hyenae = callPackage ../tools/networking/hyenae { };
 
+  ibus = callPackage ../development/libraries/ibus { };
+
   iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils {
     inherit (perlPackages) XMLSimple;
   };
@@ -3652,7 +4016,9 @@ let
 
   inotifyTools = callPackage ../development/tools/misc/inotify-tools { };
 
-  intelgen4asm = callPackage ../development/misc/intelgen4asm { };
+  intel-gpu-tools = callPackage ../development/tools/misc/intel-gpu-tools {
+    inherit (xorg) libpciaccess dri2proto libX11 libXext libXv libXrandr;
+  };
 
   ired = callPackage ../development/tools/analysis/radare/ired.nix { };
 
@@ -3662,6 +4028,8 @@ let
 
   jikespg = callPackage ../development/tools/parsing/jikespg { };
 
+  jenkins = callPackage ../development/tools/continuous-integration/jenkins { };
+
   lcov = callPackage ../development/tools/analysis/lcov { };
 
   leiningen = callPackage ../development/tools/build-managers/leiningen { };
@@ -3676,9 +4044,9 @@ let
 
   ltrace = callPackage ../development/tools/misc/ltrace { };
 
-  lttngTools = callPackage ../development/tools/misc/lttng-tools { };
+  lttng-tools = callPackage ../development/tools/misc/lttng-tools { };
 
-  lttngUst = callPackage ../development/tools/misc/lttng-ust { };
+  lttng-ust = callPackage ../development/tools/misc/lttng-ust { };
 
   lttv = callPackage ../development/tools/misc/lttv { };
 
@@ -3690,22 +4058,30 @@ let
 
   ninja = callPackage ../development/tools/build-managers/ninja { };
 
+  node_webkit = callPackage ../development/tools/node-webkit {
+    gconf = pkgs.gnome.GConf;
+  };
+
   noweb = callPackage ../development/tools/literate-programming/noweb { };
 
   omake = callPackage ../development/tools/ocaml/omake { };
   omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
 
+  opengrok = callPackage ../development/tools/misc/opengrok { };
+
   openocd = callPackage ../development/tools/misc/openocd { };
 
   oprofile = callPackage ../development/tools/profiling/oprofile { };
 
   patchelf = callPackage ../development/tools/misc/patchelf { };
 
-  patchelfUnstable = callPackage ../development/tools/misc/patchelf/unstable.nix { };
-
   peg = callPackage ../development/tools/parsing/peg { };
 
-  phantomjs = callPackage ../development/tools/phantomjs { };
+  phantomjs = callPackage ../development/tools/phantomjs {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   pmccabe = callPackage ../development/tools/misc/pmccabe { };
 
@@ -3718,6 +4094,8 @@ let
   pkgconfig = forceNativeDrv (callPackage ../development/tools/misc/pkgconfig { });
   pkgconfigUpstream = lowPrio (pkgconfig.override { vanilla = true; });
 
+  prelink = callPackage ../development/tools/misc/prelink { };
+
   premake3 = callPackage ../development/tools/misc/premake/3.nix { };
 
   premake4 = callPackage ../development/tools/misc/premake { };
@@ -3741,17 +4119,21 @@ let
 
   remake = callPackage ../development/tools/build-managers/remake { };
 
-  saleaeLogic = callPackage ../development/tools/misc/saleae-logic { };
+  saleae-logic = callPackage ../development/tools/misc/saleae-logic { };
 
   # couldn't find the source yet
   seleniumRCBin = callPackage ../development/tools/selenium/remote-control {
     jre = jdk;
   };
 
+  selenium-server-standalone = callPackage ../development/tools/selenium/server { };
+
   scons = callPackage ../development/tools/build-managers/scons { };
 
   simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { };
 
+  sigrok-cli = callPackage ../development/tools/sigrok-cli { };
+
   slimerjs = callPackage ../development/tools/slimerjs {};
 
   sloccount = callPackage ../development/tools/misc/sloccount { };
@@ -3761,13 +4143,17 @@ let
     buildc2xml = false;
   };
 
+  smc = callPackage ../tools/misc/smc { };
+
   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 { };
+  splint = callPackage ../development/tools/analysis/splint {
+    flex = flex_2_5_35;
+  };
 
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
 
@@ -3777,6 +4163,8 @@ let
 
   swig2 = callPackage ../development/tools/misc/swig/2.x.nix { };
 
+  swig3 = callPackage ../development/tools/misc/swig/3.x.nix { };
+
   swigWithJava = swig;
 
   swfmill = callPackage ../tools/video/swfmill { };
@@ -3785,17 +4173,28 @@ let
 
   tcptrack = callPackage ../development/tools/misc/tcptrack { };
 
+  teensy-loader = callPackage ../development/tools/misc/teensy { };
+
   texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { };
-  texinfo49 = callPackage ../development/tools/misc/texinfo/4.9.nix { };
-  texinfo5 = callPackage ../development/tools/misc/texinfo/5.1.nix { };
-  texinfo = texinfo413;
+  texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { };
+  texinfo4 = texinfo413;
+  texinfo = texinfo5;
+  texinfoInteractive = appendToName "interactive" (
+    texinfo.override { interactive = true; }
+  );
 
   texi2html = callPackage ../development/tools/misc/texi2html { };
 
+  uhd = callPackage ../development/tools/misc/uhd { };
+
   uisp = callPackage ../development/tools/misc/uisp { };
 
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
 
+  vagrant = callPackage ../development/tools/vagrant {
+    ruby = ruby2;
+  };
+
   gdb = callPackage ../development/tools/misc/gdb {
     hurd = gnu.hurdCross;
     inherit (gnu) mig;
@@ -3818,7 +4217,13 @@ let
 
   xc3sprog = callPackage ../development/tools/misc/xc3sprog { };
 
-  xxdiff = callPackage ../development/tools/misc/xxdiff { };
+  xmlindent = callPackage ../development/web/xmlindent {};
+
+  xpwn = callPackage ../development/mobile/xpwn {};
+
+  xxdiff = callPackage ../development/tools/misc/xxdiff {
+    bison = bison2;
+  };
 
   yacc = bison;
 
@@ -3833,6 +4238,8 @@ let
 
   aalib = callPackage ../development/libraries/aalib { };
 
+  accountsservice = callPackage ../development/libraries/accountsservice { };
+
   acl = callPackage ../development/libraries/acl { };
 
   activemq = callPackage ../development/libraries/apache-activemq { };
@@ -3845,6 +4252,8 @@ let
 
   allegro = callPackage ../development/libraries/allegro {};
   allegro5 = callPackage ../development/libraries/allegro/5.nix {};
+  allegro5unstable = callPackage
+    ../development/libraries/allegro/5-unstable.nix {};
 
   amrnb = callPackage ../development/libraries/amrnb { };
 
@@ -3874,15 +4283,15 @@ let
 
   attr = callPackage ../development/libraries/attr { };
 
+  at_spi2_core = callPackage ../development/libraries/at-spi2-core { };
+
+  at_spi2_atk = callPackage ../development/libraries/at-spi2-atk { };
+
   aqbanking = callPackage ../development/libraries/aqbanking { };
 
   aubio = callPackage ../development/libraries/aubio { };
 
-  audiofile = callPackage ../development/libraries/audiofile {
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  audiofile = callPackage ../development/libraries/audiofile { };
 
   axis = callPackage ../development/libraries/axis { };
 
@@ -3898,13 +4307,13 @@ let
 
   boost144 = callPackage ../development/libraries/boost/1.44.nix { };
   boost149 = callPackage ../development/libraries/boost/1.49.nix { };
-  boost153 = callPackage ../development/libraries/boost/1.53.nix { };
-  boost154 = callPackage ../development/libraries/boost/1.54.nix { };
-  boost = boost154;
+  boost155 = callPackage ../development/libraries/boost/1.55.nix { };
+  boost = boost155;
 
   boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { };
 
   botan = callPackage ../development/libraries/botan { };
+  botanUnstable = callPackage ../development/libraries/botan/unstable.nix { };
 
   box2d = callPackage ../development/libraries/box2d { };
   box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { };
@@ -3919,6 +4328,8 @@ let
 
   caelum = callPackage ../development/libraries/caelum { };
 
+  capnproto = callPackage ../development/libraries/capnproto { };
+
   scmccid = callPackage ../development/libraries/scmccid { };
 
   ccrtp = callPackage ../development/libraries/ccrtp { };
@@ -3967,12 +4378,18 @@ let
 
   clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { };
 
-  clucene_core = callPackage ../development/libraries/clucene-core { };
+  clucene_core_1 = callPackage ../development/libraries/clucene-core { };
 
-  cluceneCore = clucene_core; # !!! remove this
+  clucene_core = clucene_core_1;
 
   clutter = callPackage ../development/libraries/clutter { };
 
+  clutter_1_18 = callPackage ../development/libraries/clutter/1.18.nix {
+    cogl = cogl_1_18;
+  };
+
+  clutter-gst = callPackage ../development/libraries/clutter-gst { };
+
   clutter_gtk = callPackage ../development/libraries/clutter-gtk { };
   clutter_gtk_0_10 = callPackage ../development/libraries/clutter-gtk/0.10.8.nix { };
 
@@ -3980,6 +4397,8 @@ let
 
   cogl = callPackage ../development/libraries/cogl { };
 
+  cogl_1_18 = callPackage ../development/libraries/cogl/1.18.nix { };
+
   coin3d = callPackage ../development/libraries/coin3d { };
 
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
@@ -3990,6 +4409,8 @@ let
 
   ctl = callPackage ../development/libraries/ctl { };
 
+  cpp-netlib = callPackage ../development/libraries/cpp-netlib { };
+
   cppunit = callPackage ../development/libraries/cppunit { };
 
   cppnetlib = callPackage ../development/libraries/cppnetlib {
@@ -4002,37 +4423,45 @@ let
 
   cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { };
 
-  db4 = db45;
-
-  db44 = callPackage ../development/libraries/db4/db4-4.4.nix { };
-
-  db45 = callPackage ../development/libraries/db4/db4-4.5.nix { };
-
-  db47 = callPackage ../development/libraries/db4/db4-4.7.nix { };
-
-  db48 = callPackage ../development/libraries/db4/db4-4.8.nix { };
+  # Make bdb5 the default as it is the last release under the custom
+  # bsd-like license
+  db = db5;
+  db4 = db48;
+  db44 = callPackage ../development/libraries/db/db-4.4.nix { };
+  db45 = callPackage ../development/libraries/db/db-4.5.nix { };
+  db47 = callPackage ../development/libraries/db/db-4.7.nix { };
+  db48 = callPackage ../development/libraries/db/db-4.8.nix { };
+  db5 = db53;
+  db53 = callPackage ../development/libraries/db/db-5.3.nix { };
+  db6 = db60;
+  db60 = callPackage ../development/libraries/db/db-6.0.nix { };
 
   dbus = callPackage ../development/libraries/dbus { };
   dbus_cplusplus  = callPackage ../development/libraries/dbus-cplusplus { };
   dbus_glib       = callPackage ../development/libraries/dbus-glib { };
   dbus_java       = callPackage ../development/libraries/java/dbus-java { };
   dbus_python     = callPackage ../development/python-modules/dbus { };
+
   # Should we deprecate these? Currently there are many references.
-  dbus_tools = dbus.tools;
-  dbus_libs = dbus.libs;
-  dbus_daemon = dbus.daemon;
+  dbus_tools = pkgs.dbus.tools;
+  dbus_libs = pkgs.dbus.libs;
+  dbus_daemon = pkgs.dbus.daemon;
 
   dhex = callPackage ../applications/editors/dhex { };
 
   dclib = callPackage ../development/libraries/dclib { };
 
+  dillo = callPackage ../applications/networking/browsers/dillo {
+    fltk = fltk13;
+  };
+
   directfb = callPackage ../development/libraries/directfb { };
 
   dotconf = callPackage ../development/libraries/dotconf { };
 
   dssi = callPackage ../development/libraries/dssi {};
 
-  dragonegg = callPackage ../development/compilers/llvm/dragonegg.nix { };
+  dragonegg = llvmPackages.dragonegg;
 
   dxflib = callPackage ../development/libraries/dxflib {};
 
@@ -4046,6 +4475,10 @@ let
 
   enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { };
 
+  epoxy = callPackage ../development/libraries/epoxy {
+    inherit (xorg) utilmacros libX11;
+  };
+
   esdl = callPackage ../development/libraries/esdl { };
 
   exiv2 = callPackage ../development/libraries/exiv2 { };
@@ -4070,36 +4503,43 @@ let
 
   farsight2 = callPackage ../development/libraries/farsight2 { };
 
-  farstream = callPackage ../development/libraries/farstream { };
+  farstream = callPackage ../development/libraries/farstream {
+    inherit (gst_all_1)
+      gstreamer gst-plugins-base gst-python gst-plugins-good gst-plugins-bad
+      gst-libav;
+  };
 
   fcgi = callPackage ../development/libraries/fcgi { };
 
-  ffmpeg = callPackage ../development/libraries/ffmpeg {
+  ffmpeg_0_6 = callPackage ../development/libraries/ffmpeg/0.6.nix {
     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 {
     vpxSupport = !stdenv.isMips;
   };
 
+  ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix {
+    vpxSupport = !stdenv.isMips;
+
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
+
   ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix {
     vpxSupport = !stdenv.isMips;
-    texinfo = texinfo5;
   };
 
-  ffms = callPackage ../development/libraries/ffms { };
+  ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { };
 
-  fftw = callPackage ../development/libraries/fftw {
-    singlePrecision = false;
-  };
+  ffmpeg = ffmpeg_2;
 
-  fftwSinglePrec = callPackage ../development/libraries/fftw {
-    singlePrecision = true;
-  };
+  ffms = callPackage ../development/libraries/ffms { };
+
+  fftw = callPackage ../development/libraries/fftw { };
+  fftwSinglePrec = fftw.override { precision = "single"; };
+  fftwFloat = fftwSinglePrec; # the configure option is just an alias
 
   flann = callPackage ../development/libraries/flann { };
 
@@ -4126,11 +4566,12 @@ let
 
   freealut = callPackage ../development/libraries/freealut { };
 
-  freeglut = if stdenv.isDarwin then darwinX11AndOpenGL else
-    callPackage ../development/libraries/freeglut { };
+  freeglut = callPackage ../development/libraries/freeglut { };
 
   freetype = callPackage ../development/libraries/freetype { };
 
+  frei0r = callPackage ../development/libraries/frei0r { };
+
   fribidi = callPackage ../development/libraries/fribidi { };
 
   funambol = callPackage ../development/libraries/funambol { };
@@ -4139,6 +4580,8 @@ let
 
   gamin = callPackage ../development/libraries/gamin { };
 
+  ganv = callPackage ../development/libraries/ganv { };
+
   gav = callPackage ../games/gav { };
 
   gsb = callPackage ../games/gsb { };
@@ -4160,13 +4603,9 @@ let
 
   geoclue = callPackage ../development/libraries/geoclue {};
 
-  geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {
-    libsoup = libsoup_2_40;
-  };
+  geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {};
 
-  geoip = builderDefsPackage ../development/libraries/geoip {
-    inherit zlib;
-  };
+  geoip = callPackage ../development/libraries/geoip { };
 
   geoipjava = callPackage ../development/libraries/java/geoipjava { };
 
@@ -4189,32 +4628,11 @@ let
 
   glew = callPackage ../development/libraries/glew { };
 
-  glfw = callPackage ../development/libraries/glfw { };
-
-  glibcCross = glibc217Cross;
-
-  glibc213 = (callPackage ../development/libraries/glibc/2.13 {
-    kernelHeaders = linuxHeaders;
-    installLocales = config.glibc.locales or false;
-    machHeaders = null;
-    hurdHeaders = null;
-    gccCross = null;
-  }) // (if crossSystem != null then { crossDrv = glibc213Cross; } else {});
-
-  glibc213Cross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.13)
-    (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu";
-     in {
-       inherit stdenv fetchurl;
-       gccCross = gccCrossStageStatic;
-       kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross;
-       installLocales = config.glibc.locales or false;
-     }
-     // lib.optionalAttrs crossGNU {
-        inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig;
-        inherit fetchgit;
-      }));
+  glfw = glfw3;
+  glfw2 = callPackage ../development/libraries/glfw/2.x.nix { };
+  glfw3 = callPackage ../development/libraries/glfw/3.x.nix { };
 
-  glibc = callPackage ../development/libraries/glibc/2.17 {
+  glibc = callPackage ../development/libraries/glibc/2.19 {
     kernelHeaders = linuxHeaders;
     installLocales = config.glibc.locales or false;
     machHeaders = null;
@@ -4222,13 +4640,13 @@ let
     gccCross = null;
   };
 
-  glibc_memusage = callPackage ../development/libraries/glibc/2.17 {
+  glibc_memusage = callPackage ../development/libraries/glibc/2.19 {
     kernelHeaders = linuxHeaders;
     installLocales = false;
     withGd = true;
   };
 
-  glibc217Cross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.17)
+  glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19)
     (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu";
      in {
        inherit stdenv fetchurl;
@@ -4245,9 +4663,8 @@ let
   # We can choose:
   libcCrossChooser = name : if name == "glibc" then glibcCross
     else if name == "uclibc" then uclibcCross
-    else if name == "msvcrt" && stdenv.cross.config == "x86_64-w64-mingw32" then
-      windows.mingw_w64
-    else if name == "msvcrt" then windows.mingw_headers3
+    else if name == "msvcrt" then windows.mingw_w64
+    else if name == "libSystem" then darwin.xcode
     else throw "Unknown libc";
 
   libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc;
@@ -4257,9 +4674,9 @@ let
     installLocales = config.glibc.locales or false;
   };
 
-  glibcLocales = callPackage ../development/libraries/glibc/2.17/locales.nix { };
+  glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { };
 
-  glibcInfo = callPackage ../development/libraries/glibc/2.17/info.nix { };
+  glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { };
 
   glibc_multi =
     runCommand "${glibc.name}-multi"
@@ -4276,6 +4693,15 @@ let
         ln -s $glibc32/lib $out/lib/32
         ln -s lib $out/lib64
 
+        # fixing ldd RLTDLIST
+        rm $out/bin
+        cp -rs $glibc64/bin $out
+        chmod u+w $out/bin
+        rm $out/bin/ldd
+        sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \
+            $glibc64/bin/ldd > $out/bin/ldd
+        chmod 555 $out/bin/ldd
+
         rm $out/include
         cp -rs $glibc32/include $out
         chmod -R u+w $out/include
@@ -4283,11 +4709,18 @@ let
       '' # */
       ;
 
+  glm = callPackage ../development/libraries/glm { };
+
+  glog = callPackage ../development/libraries/glog { };
+
+  gloox = callPackage ../development/libraries/gloox { };
+
   glpk = callPackage ../development/libraries/glpk { };
 
   glsurf = callPackage ../applications/science/math/glsurf {
     inherit (ocamlPackages) lablgl findlib camlimages ocaml_mysql mlgmp;
     libpng = libpng12;
+    giflib = giflib_4_1;
   };
 
   gmime = callPackage ../development/libraries/gmime { };
@@ -4295,38 +4728,29 @@ let
   gmm = callPackage ../development/libraries/gmm { };
 
   gmp = gmp5;
+  gmp5 = gmp51;
 
   gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; });
 
   # The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x.
   gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { };
 
-  gmp5 = callPackage ../development/libraries/gmp/5.0.5.nix { };
+  gmp51 = callPackage ../development/libraries/gmp/5.1.x.nix { };
 
-  gmp51 = callPackage ../development/libraries/gmp/5.1.1.nix { };
+  #GMP ex-satellite, so better keep it near gmp
+  mpfr = callPackage ../development/libraries/mpfr/default.nix { };
 
   gobjectIntrospection = callPackage ../development/libraries/gobject-introspection { };
 
-  goffice = callPackage ../development/libraries/goffice {
-    inherit (gnome) libglade libgnomeui;
-    gconf = gnome.GConf;
-    libart = gnome.libart_lgpl;
-  };
-
-  goffice_0_10 = callPackage ../development/libraries/goffice/0.10.nix {
-    inherit (gnome) libglade libgnomeui;
-    gconf = gnome.GConf;
-    libart = gnome.libart_lgpl;
-    gtk = gtk3;
-  };
-
   goocanvas = callPackage ../development/libraries/goocanvas { };
 
+  google-gflags = callPackage ../development/libraries/google-gflags { };
+
   gperftools = callPackage ../development/libraries/gperftools { };
 
-  #GMP ex-satellite, so better keep it near gmp
-  mpfr = callPackage ../development/libraries/mpfr { };
-  mpfr_3_1_2 = callPackage ../development/libraries/mpfr/3.1.2.nix { };
+  gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
+    callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_10; });
+  });
 
   gst_all = {
     inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer;
@@ -4337,48 +4761,49 @@ let
     gstFfmpeg = pkgs.gst_ffmpeg;
   };
 
-  gstreamer = callPackage ../development/libraries/gstreamer/gstreamer {};
+  gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer {
+    bison = bison2;
+  };
+
+  gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {};
 
-  gst_plugins_base = callPackage ../development/libraries/gstreamer/gst-plugins-base {};
+  gst_plugins_good = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-good {};
 
-  gst_plugins_good = callPackage ../development/libraries/gstreamer/gst-plugins-good {};
+  gst_plugins_bad = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-bad {};
 
-  gst_plugins_bad = callPackage ../development/libraries/gstreamer/gst-plugins-bad {};
+  gst_plugins_ugly = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-ugly {};
 
-  gst_plugins_ugly = callPackage ../development/libraries/gstreamer/gst-plugins-ugly {};
+  gst_ffmpeg = callPackage ../development/libraries/gstreamer/legacy/gst-ffmpeg {
+    ffmpeg = ffmpeg_0_10;
+  };
 
-  gst_ffmpeg = callPackage ../development/libraries/gstreamer/gst-ffmpeg {};
+  gst_python = callPackage ../development/libraries/gstreamer/legacy/gst-python {};
 
-  gst_python = callPackage ../development/libraries/gstreamer/gst-python {};
+  gstreamermm = callPackage ../development/libraries/gstreamer/legacy/gstreamermm { };
 
-  gnonlin = callPackage ../development/libraries/gstreamer/gnonlin {};
+  gnonlin = callPackage ../development/libraries/gstreamer/legacy/gnonlin {};
 
   gusb = callPackage ../development/libraries/gusb {
     inherit (gnome) gtkdoc;
   };
 
-  qt_gstreamer = callPackage ../development/libraries/gstreamer/qt-gstreamer {};
+  qt_gstreamer = callPackage ../development/libraries/gstreamer/legacy/qt-gstreamer {};
 
   gnet = callPackage ../development/libraries/gnet { };
 
-  gnu-efi = callPackage ../development/libraries/gnu-efi {
-    stdenv = overrideGCC stdenv gcc47;
-  };
+  gnu-efi = callPackage ../development/libraries/gnu-efi { };
 
-  gnutls = callPackage ../development/libraries/gnutls {
-    guileBindings = config.gnutls.guile or true;
-  };
+  gnutls = gnutls32;
 
-  gnutls2 = callPackage ../development/libraries/gnutls/2.12.nix {
-    guileBindings = config.gnutls.guile or true;
+  gnutls31 = callPackage ../development/libraries/gnutls/3.1.nix {
+    guileBindings = config.gnutls.guile or false;
   };
 
   gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix {
-    guileBindings = config.gnutls.guile or true;
+    guileBindings = config.gnutls.guile or false;
   };
 
-  gnutls_without_guile = lowPrio (gnutls.override { guileBindings = false; });
-  gnutls2_without_guile = lowPrio (gnutls2.override { guileBindings = false; });
+  gnutls_with_guile = lowPrio (gnutls.override { guileBindings = true; });
 
   gpac = callPackage ../applications/video/gpac { };
 
@@ -4407,10 +4832,9 @@ let
       gtkmm;
   };
 
-  glib = callPackage ../development/libraries/glib {
-    stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv;
-    automake = automake113x;
-  };
+  glib = callPackage ../development/libraries/glib { };
+
+  glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles
 
   glibmm = callPackage ../development/libraries/glibmm { };
 
@@ -4427,27 +4851,26 @@ let
       !stdenv.isArm && !stdenv.isMips);
   };
 
-  cairo_1_12_2 = callPackage ../development/libraries/cairo/1.12.2.nix { };
 
   cairomm = callPackage ../development/libraries/cairomm { };
 
   pango = callPackage ../development/libraries/pango { };
-
-  pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix {
-    cairo = cairo_1_12_2;
-  };
+  pangomm = callPackage ../development/libraries/pangomm { };
 
   pangox_compat = callPackage ../development/libraries/pangox-compat { };
 
-  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
+  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf {
+    # workaround signal 10 in gdk_pixbuf tests
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
 
   gtk2 = callPackage ../development/libraries/gtk+/2.x.nix {
     cupsSupport = config.gtk2.cups or stdenv.isLinux;
   };
 
-  gtk3 = lowPrio (callPackage ../development/libraries/gtk+/3.x.nix {
-    inherit (gnome3) at_spi2_atk;
-  });
+  gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { };
 
   gtk = pkgs.gtk2;
 
@@ -4477,23 +4900,22 @@ let
 
   gtkspell = callPackage ../development/libraries/gtkspell { };
 
-  gts = callPackage ../development/libraries/gts { };
+  gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
 
-  gurobi = callPackage ../development/libraries/gurobi {};
+  gts = callPackage ../development/libraries/gts { };
 
-  gvfs = callPackage ../development/libraries/gvfs { };
+  gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; };
 
   gwenhywfar = callPackage ../development/libraries/gwenhywfar { };
 
+  hamlib = callPackage ../development/libraries/hamlib { };
+
   # TODO : Add MIT Kerberos and let admin choose.
   kerberos = heimdal;
 
   heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
 
-  harfbuzz = callPackage ../development/libraries/harfbuzz {
-    icu = null;
-    graphite2 = null;
-  };
+  harfbuzz = callPackage ../development/libraries/harfbuzz { };
 
   hawknl = callPackage ../development/libraries/hawknl { };
 
@@ -4505,7 +4927,7 @@ let
 
   hsqldb = callPackage ../development/libraries/java/hsqldb { };
 
-  http_parser = callPackage ../development/libraries/http_parser { inherit (pythonPackages) gyp; };
+  http-parser = callPackage ../development/libraries/http-parser { inherit (pythonPackages) gyp; };
 
   hunspell = callPackage ../development/libraries/hunspell { };
 
@@ -4515,14 +4937,6 @@ let
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
-  icedtea = callPackage ../development/libraries/java/icedtea {
-    ant = apacheAntGcj;
-    xerces = xercesJava;
-    xulrunner = icecatXulrunner3;
-    inherit (xlibs) libX11 libXp libXtst libXinerama libXt
-      libXrender xproto;
-  };
-
   icu = callPackage ../development/libraries/icu { };
 
   id3lib = callPackage ../development/libraries/id3lib { };
@@ -4531,6 +4945,8 @@ let
 
   ilbc = callPackage ../development/libraries/ilbc { };
 
+  ilixi = callPackage ../development/libraries/ilixi { };
+
   ilmbase = callPackage ../development/libraries/ilmbase { };
 
   imlib = callPackage ../development/libraries/imlib {
@@ -4545,8 +4961,6 @@ let
 
   iniparser = callPackage ../development/libraries/iniparser { };
 
-  inteltbb = callPackage ../development/libraries/intel-tbb { };
-
   intltool = callPackage ../development/tools/misc/intltool { };
 
   irrlicht3843 = callPackage ../development/libraries/irrlicht { };
@@ -4573,6 +4987,7 @@ let
 
   json_glib = callPackage ../development/libraries/json-glib { };
 
+  json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; # vulnerable
   json_c = callPackage ../development/libraries/json-c { };
 
   jsoncpp = callPackage ../development/libraries/jsoncpp { };
@@ -4581,6 +4996,16 @@ let
 
   judy = callPackage ../development/libraries/judy { };
 
+  keybinder = callPackage ../development/libraries/keybinder {
+    automake = automake111x;
+    lua = lua5_1;
+  };
+
+  keybinder3 = callPackage ../development/libraries/keybinder3 {
+    automake = automake111x;
+    lua = lua5_1;
+  };
+
   krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
 
   lcms = lcms1;
@@ -4603,6 +5028,10 @@ let
     libpng = libpng12;
   };
 
+  lgi = callPackage ../development/libraries/lgi {
+    lua = lua5_1;
+  };
+
   lib3ds = callPackage ../development/libraries/lib3ds { };
 
   libaacs = callPackage ../development/libraries/libaacs { };
@@ -4623,9 +5052,11 @@ let
 
   libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { };
 
-  libav = libav_9;
+  libatomic_ops = callPackage ../development/libraries/libatomic_ops {};
+
+  libav = libav_10;
   libav_all = callPackage ../development/libraries/libav { };
-  inherit (libav_all) libav_9 libav_0_8;
+  inherit (libav_all) libav_0_8 libav_9 libav_10;
 
   libavc1394 = callPackage ../development/libraries/libavc1394 { };
 
@@ -4650,6 +5081,7 @@ let
   libcddb = callPackage ../development/libraries/libcddb { };
 
   libcdio = callPackage ../development/libraries/libcdio { };
+  libcdio082 = callPackage ../development/libraries/libcdio/0.82.nix { };
 
   libcdr = callPackage ../development/libraries/libcdr { lcms = lcms2; };
 
@@ -4665,6 +5097,10 @@ let
 
   inherit (gnome3) libcroco;
 
+  libcangjie = callPackage ../development/libraries/libcangjie { };
+
+  libcredis = callPackage ../development/libraries/libcredis { };
+
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
   libcue = callPackage ../development/libraries/libcue { };
@@ -4724,18 +5160,25 @@ let
 
   libelf = callPackage ../development/libraries/libelf { };
 
+  libfm = callPackage ../development/libraries/libfm { };
+
   libgadu = callPackage ../development/libraries/libgadu { };
 
-  libgdata = (newScope gnome) ../development/libraries/libgdata {};
-  libgdata_0_6 = (newScope gnome) ../development/libraries/libgdata/0.6.nix {};
+  libgdata = gnome3.libgdata;
 
   libgig = callPackage ../development/libraries/libgig { };
 
   libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { };
   libgnome_keyring3 = gnome3.libgnome_keyring;
 
+  libgnurl = callPackage ../development/libraries/libgnurl { };
+
+  libseccomp = callPackage ../development/libraries/libseccomp { };
+
   libsecret = callPackage ../development/libraries/libsecret { };
 
+  libserialport = callPackage ../development/libraries/libserialport { };
+
   libgtop = callPackage ../development/libraries/libgtop {};
 
   liblo = callPackage ../development/libraries/liblo { };
@@ -4744,6 +5187,9 @@ let
 
   liblscp = callPackage ../development/libraries/liblscp { };
 
+  libe-book = callPackage ../development/libraries/libe-book {};
+  libe-book_00 = callPackage ../development/libraries/libe-book/0.0.nix {};
+
   libev = builderDefsPackage ../development/libraries/libev { };
 
   libevent14 = callPackage ../development/libraries/libevent/1.4.nix { };
@@ -4777,12 +5223,16 @@ let
 
   libftdi = callPackage ../development/libraries/libftdi { };
 
+  libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { };
+
   libgcrypt = callPackage ../development/libraries/libgcrypt { };
 
-  libgcrypt_git = lowPrio (callPackage ../development/libraries/libgcrypt/git.nix { });
+  libgcrypt_1_6 = lowPrio (callPackage ../development/libraries/libgcrypt/1.6.nix { });
 
   libgdiplus = callPackage ../development/libraries/libgdiplus { };
 
+  libgksu = callPackage ../development/libraries/libgksu { };
+
   libgpgerror = callPackage ../development/libraries/libgpg-error { };
 
   libgphoto2 = callPackage ../development/libraries/libgphoto2 { };
@@ -4805,6 +5255,8 @@ let
     useGTK = config.libiodbc.gtk or false;
   };
 
+  libivykis = callPackage ../development/libraries/libivykis { };
+
   liblastfmSF = callPackage ../development/libraries/liblastfmSF { };
 
   liblastfm = callPackage ../development/libraries/liblastfm { };
@@ -4813,18 +5265,26 @@ let
 
   liblockfile = callPackage ../development/libraries/liblockfile { };
 
+  liblogging = callPackage ../development/libraries/liblogging { };
+
   libmcrypt = callPackage ../development/libraries/libmcrypt {};
 
   libmhash = callPackage ../development/libraries/libmhash {};
 
+  libmodbus = callPackage ../development/libraries/libmodbus {};
+
   libmtp = callPackage ../development/libraries/libmtp { };
 
+  libmsgpack = callPackage ../development/libraries/libmsgpack { };
+
   libnatspec = callPackage ../development/libraries/libnatspec { };
 
   libnfsidmap = callPackage ../development/libraries/libnfsidmap { };
 
   libnice = callPackage ../development/libraries/libnice { };
 
+  liboping = callPackage ../development/libraries/liboping { };
+
   libplist = callPackage ../development/libraries/libplist { };
 
   libQGLViewer = callPackage ../development/libraries/libqglviewer { };
@@ -4832,9 +5292,13 @@ let
   libre = callPackage ../development/libraries/libre {};
   librem = callPackage ../development/libraries/librem {};
 
-  libsamplerate = callPackage ../development/libraries/libsamplerate {
-    stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv;
-  };
+  libresample = callPackage ../development/libraries/libresample {};
+
+  librevenge = callPackage ../development/libraries/librevenge {};
+
+  librevisa = callPackage ../development/libraries/librevisa { };
+
+  libsamplerate = callPackage ../development/libraries/libsamplerate { };
 
   libspectre = callPackage ../development/libraries/libspectre { };
 
@@ -4849,6 +5313,9 @@ let
     then null
     else libiconv;
 
+  # The logic behind this attribute is broken: libiconvOrNull==null does
+  # NOT imply libiconv=glibc! On Darwin, for example, we have a native
+  # libiconv library which is not glibc.
   libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv;
 
   # On non-GNU systems we need GNU Gettext for libintl.
@@ -4905,11 +5372,13 @@ let
 
   libmilter = callPackage ../development/libraries/libmilter { };
 
+  libmkv = callPackage ../development/libraries/libmkv { };
+
   libmms = callPackage ../development/libraries/libmms { };
 
   libmowgli = callPackage ../development/libraries/libmowgli { };
 
-  libmng = callPackage ../development/libraries/libmng { lcms = lcms2; };
+  libmng = callPackage ../development/libraries/libmng { };
 
   libmnl = callPackage ../development/libraries/libmnl { };
 
@@ -4917,6 +5386,8 @@ let
 
   libmpcdec = callPackage ../development/libraries/libmpcdec { };
 
+  libmp3splt = callPackage ../development/libraries/libmp3splt { };
+
   libmrss = callPackage ../development/libraries/libmrss { };
 
   libmsn = callPackage ../development/libraries/libmsn { };
@@ -4929,8 +5400,15 @@ let
 
   libmusicbrainz3 = callPackage ../development/libraries/libmusicbrainz { };
 
+  libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { };
+
   libmusicbrainz = libmusicbrainz3;
 
+  libmwaw = callPackage ../development/libraries/libmwaw { };
+  libmwaw_02 = callPackage ../development/libraries/libmwaw/0.2.nix { };
+
+  libmx = callPackage ../development/libraries/libmx { };
+
   libnet = callPackage ../development/libraries/libnet { };
 
   libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { };
@@ -4945,6 +5423,8 @@ let
 
   libnxml = callPackage ../development/libraries/libnxml { };
 
+  libodfgen = callPackage ../development/libraries/libodfgen { };
+
   libofa = callPackage ../development/libraries/libofa { };
 
   libofx = callPackage ../development/libraries/libofx { };
@@ -4959,11 +5439,15 @@ let
 
   libopus = callPackage ../development/libraries/libopus { };
 
+  libosinfo = callPackage ../development/libraries/libosinfo {};
+
   libosip = callPackage ../development/libraries/osip {};
 
   libosip_3 = callPackage ../development/libraries/osip/3.nix {};
 
-  libotr = callPackage ../development/libraries/libotr { };
+  libotr = callPackage ../development/libraries/libotr {
+    libgcrypt = libgcrypt_1_6;
+  };
 
   libotr_3_2 = callPackage ../development/libraries/libotr/3.2.nix { };
 
@@ -4973,6 +5457,8 @@ let
 
   libpcap = callPackage ../development/libraries/libpcap { };
 
+  libpipeline = callPackage ../development/libraries/libpipeline { };
+
   libpng = callPackage ../development/libraries/libpng { };
   libpng_apng = libpng.override { apngSupport = true; };
   libpng12 = callPackage ../development/libraries/libpng/12.nix { };
@@ -4980,10 +5466,16 @@ let
 
   libpaper = callPackage ../development/libraries/libpaper { };
 
-  libproxy = callPackage ../development/libraries/libproxy { };
+  libproxy = callPackage ../development/libraries/libproxy {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gcc
+      else stdenv;
+  };
 
   libpseudo = callPackage ../development/libraries/libpseudo { };
 
+  libpwquality = callPackage ../development/libraries/libpwquality { };
+
   libqalculate = callPackage ../development/libraries/libqalculate { };
 
   librsvg = callPackage ../development/libraries/librsvg {
@@ -4992,6 +5484,8 @@ let
 
   librsync = callPackage ../development/libraries/librsync { };
 
+  libsearpc = callPackage ../development/libraries/libsearpc { };
+
   libsigcxx = callPackage ../development/libraries/libsigcxx { };
 
   libsigcxx12 = callPackage ../development/libraries/libsigcxx/1.2.nix { };
@@ -5001,14 +5495,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 {
-    stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv;
-  };
+  libsndfile = callPackage ../development/libraries/libsndfile { };
 
   libsodium = callPackage ../development/libraries/libsodium { };
 
   libsoup = callPackage ../development/libraries/libsoup { };
-  libsoup_2_40 = callPackage ../development/libraries/libsoup/2.40.nix { };
 
   libssh = callPackage ../development/libraries/libssh { };
 
@@ -5039,10 +5530,14 @@ let
 
   libtoxcore = callPackage ../development/libraries/libtoxcore { };
 
+  libtsm = callPackage ../development/libraries/libtsm { };
+
   libtunepimp = callPackage ../development/libraries/libtunepimp { };
 
   libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { };
 
+  libtxc_dxtn_s2tc = callPackage ../development/libraries/libtxc_dxtn_s2tc { };
+
   libgeotiff = callPackage ../development/libraries/libgeotiff { };
 
   libunistring = callPackage ../development/libraries/libunistring { };
@@ -5050,29 +5545,28 @@ let
   libupnp = callPackage ../development/libraries/pupnp { };
 
   giflib = callPackage ../development/libraries/giflib { };
+  giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { };
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
 
-  libunibreak = callPackage ../development/libraries/libunibreak/default.nix { };
+  libunibreak = callPackage ../development/libraries/libunibreak { };
 
   libunique = callPackage ../development/libraries/libunique/default.nix { };
 
   liburcu = callPackage ../development/libraries/liburcu { };
 
-  libusb = callPackage ../development/libraries/libusb {
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  libusb = callPackage ../development/libraries/libusb {};
 
   libusb1 = callPackage ../development/libraries/libusb1 {
-    stdenv = if stdenv.isDarwin # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50909
-      then overrideGCC stdenv gccApple
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
       else stdenv;
   };
 
   libunwind = callPackage ../development/libraries/libunwind { };
 
+  libuvVersions = callPackage ../development/libraries/libuv { };
+
   libv4l = lowPrio (v4l_utils.override {
     withQt4 = false;
   });
@@ -5083,6 +5577,8 @@ let
 
   libvirt = callPackage ../development/libraries/libvirt { };
 
+  libvirt-glib = callPackage ../development/libraries/libvirt-glib { };
+
   libvisio = callPackage ../development/libraries/libvisio { };
 
   libvisual = callPackage ../development/libraries/libvisual { };
@@ -5101,7 +5597,8 @@ let
 
   libwmf = callPackage ../development/libraries/libwmf { };
 
-  libwnck = callPackage ../development/libraries/libwnck { };
+  libwnck = libwnck2;
+  libwnck2 = callPackage ../development/libraries/libwnck { };
   libwnck3 = callPackage ../development/libraries/libwnck/3.x.nix { };
 
   libwpd = callPackage ../development/libraries/libwpd { };
@@ -5130,6 +5627,8 @@ let
 
   libxmlxx = callPackage ../development/libraries/libxmlxx { };
 
+  libxmp = callPackage ../development/libraries/libxmp { };
+
   libxslt = callPackage ../development/libraries/libxslt { };
 
   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
@@ -5141,13 +5640,19 @@ let
   libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
   libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { };
 
+  libyubikey = callPackage ../development/libraries/libyubikey {};
+
   libzip = callPackage ../development/libraries/libzip { };
 
+  libzdb = callPackage ../development/libraries/libzdb { };
+
   libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { };
   libzrtpcpp_1_6 = callPackage ../development/libraries/libzrtpcpp/1.6.nix {
     ccrtp = ccrtp_1_8;
   };
 
+  libwacom = callPackage ../development/libraries/libwacom { };
+
   lightning = callPackage ../development/libraries/lightning { };
 
   lirc = callPackage ../development/libraries/lirc { };
@@ -5158,7 +5663,7 @@ let
       expat gettext perl
       SDL SDL_image SDL_mixer SDL_ttf
       curl sqlite
-      libogg libvorbis
+      libogg libvorbis libcaca csound cunit
       ;
     guile = guile_1_8;
     libpng = libpng15; # 0.0.13 needs libpng 1.2--1.5
@@ -5174,27 +5679,35 @@ let
 
   lzo = callPackage ../development/libraries/lzo { };
 
+  mdds_0_7_1 = callPackage ../development/libraries/mdds/0.7.1.nix { };
   mdds = callPackage ../development/libraries/mdds { };
 
   # failed to build
-  mediastreamer = callPackage ../development/libraries/mediastreamer {
-    ffmpeg = ffmpeg_1;
-  };
+  mediastreamer = callPackage ../development/libraries/mediastreamer { };
+
+  menu-cache = callPackage ../development/libraries/menu-cache { };
 
   mesaSupported = lib.elem system lib.platforms.mesaPlatforms;
 
-  mesa_original = callPackage ../development/libraries/mesa { };
-  mesa_noglu = if stdenv.isDarwin
-    then darwinX11AndOpenGL // { driverLink = mesa_noglu; }
-    else mesa_original;
-  mesa_drivers = mesa_original.drivers;
-  mesa_glu = callPackage ../development/libraries/mesa-glu { };
-  mesa = if stdenv.isDarwin then darwinX11AndOpenGL
-    else buildEnv {
-      name = "mesa-${mesa_noglu.version}";
-      paths = [ mesa_glu mesa_noglu ];
+  mesaDarwinOr = alternative: if stdenv.isDarwin
+    then callPackage ../development/libraries/mesa-darwin { }
+    else alternative;
+  mesa_noglu = mesaDarwinOr (callPackage ../development/libraries/mesa {
+    # makes it slower, but during runtime we link against just mesa_drivers
+    # through /run/opengl-driver*, which is overriden according to config.grsecurity
+    grsecEnabled = true;
+  });
+  mesa_glu =  mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
+  mesa_drivers = mesaDarwinOr (
+    let mo = mesa_noglu.override {
+      grsecEnabled = config.grsecurity or false;
     };
-  darwinX11AndOpenGL = callPackage ../os-specific/darwin/native-x11-and-opengl { };
+    in mo.drivers
+  );
+  mesa = mesaDarwinOr (buildEnv {
+    name = "mesa-${mesa_noglu.version}";
+    paths = [ mesa_noglu mesa_glu ];
+  });
 
   metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec {
     sdfLibrary    = callPackage ../development/libraries/sdf-library { aterm = aterm28; };
@@ -5215,6 +5728,8 @@ let
 
   ming = callPackage ../development/libraries/ming { };
 
+  minizip = callPackage ../development/libraries/minizip { };
+
   minmay = callPackage ../development/libraries/minmay { };
 
   miro = callPackage ../applications/video/miro {
@@ -5223,10 +5738,20 @@ let
 
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
-  mlt = callPackage ../development/libraries/mlt {
-    ffmpeg = ffmpeg_1;
+  mlt-qt4 = callPackage ../development/libraries/mlt {
+    qt = qt4;
+    SDL = SDL_pulseaudio;
+  };
+
+  mlt-qt5 = callPackage ../development/libraries/mlt {
+    qt = qt5;
+    SDL = SDL_pulseaudio;
   };
 
+  movit = callPackage ../development/libraries/movit { };
+
+  mps = callPackage ../development/libraries/mps { };
+
   libmpeg2 = callPackage ../development/libraries/libmpeg2 { };
 
   mpeg2dec = libmpeg2;
@@ -5241,10 +5766,16 @@ let
 
   mtdev = callPackage ../development/libraries/mtdev { };
 
-  mu = callPackage ../tools/networking/mu { };
+  mtpfs = callPackage ../tools/filesystems/mtpfs { };
+
+  mu = callPackage ../tools/networking/mu {
+    texinfo = texinfo4;
+  };
 
   muparser = callPackage ../development/libraries/muparser { };
 
+  mygpoclient = callPackage ../development/python-modules/mygpoclient { };
+
   mygui = callPackage ../development/libraries/mygui {};
 
   myguiSvn = callPackage ../development/libraries/mygui/svn.nix {};
@@ -5253,25 +5784,11 @@ let
 
   mythes = callPackage ../development/libraries/mythes { };
 
-  ncurses_5_4 = makeOverridable (import ../development/libraries/ncurses/5_4.nix) {
-    inherit fetchurl;
-    unicode = system != "i686-cygwin";
-    stdenv = if stdenv.isDarwin
-      then allStdenvs.stdenvNative
-      else stdenv;
-  };
-  ncurses_5_9 = makeOverridable (import ../development/libraries/ncurses) {
-    inherit fetchurl;
+  nanomsg = callPackage ../development/libraries/nanomsg { };
+
+  ncurses = callPackage ../development/libraries/ncurses {
     unicode = system != "i686-cygwin";
-    stdenv =
-      # On Darwin, NCurses uses `-no-cpp-precomp', which is specific to
-      # Apple-GCC.  Since NCurses is part of stdenv, always use
-      # `stdenvNative' to build it.
-      if stdenv.isDarwin
-      then allStdenvs.stdenvNative
-      else stdenv;
   };
-  ncurses = ncurses_5_9;
 
   neon = callPackage ../development/libraries/neon {
     compressionSupport = true;
@@ -5286,6 +5803,10 @@ let
 
   newt = callPackage ../development/libraries/newt { };
 
+  nix-plugins = callPackage ../development/libraries/nix-plugins {
+    nix = pkgs.nixUnstable;
+  };
+
   nspr = callPackage ../development/libraries/nspr { };
 
   nss = lowPrio (callPackage ../development/libraries/nss { });
@@ -5296,6 +5817,8 @@ let
 
   ntrack = callPackage ../development/libraries/ntrack { };
 
+  nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { };
+
   ode = builderDefsPackage (import ../development/libraries/ode) { };
 
   ogre = callPackage ../development/libraries/ogre {};
@@ -5324,12 +5847,9 @@ let
 
   openct = callPackage ../development/libraries/openct { };
 
-  opencv = callPackage ../development/libraries/opencv {
-    ffmpeg = ffmpeg_0_6_90;
-  };
+  opencv = callPackage ../development/libraries/opencv { };
 
   opencv_2_1 = callPackage ../development/libraries/opencv/2.1.nix {
-    ffmpeg = ffmpeg_0_6_90;
     libpng = libpng12;
   };
 
@@ -5342,9 +5862,7 @@ let
 
   openlierox = callPackage ../games/openlierox { };
 
-  libopensc_dnie = callPackage ../development/libraries/libopensc-dnie {
-    opensc = opensc_0_11_7;
-  };
+  libopensc_dnie = callPackage ../development/libraries/libopensc-dnie { };
 
   opencolorio = callPackage ../development/libraries/opencolorio { };
 
@@ -5354,7 +5872,16 @@ let
 
   openjpeg = callPackage ../development/libraries/openjpeg { lcms = lcms2; };
 
-  openscenegraph = callPackage ../development/libraries/openscenegraph {};
+  openscenegraph = callPackage ../development/libraries/openscenegraph {
+    giflib = giflib_4_1;
+    ffmpeg = ffmpeg_0_10;
+  };
+
+  openspades = callPackage ../games/openspades {};
+
+  libressl = callPackage ../development/libraries/libressl { };
+
+  boringssl = callPackage ../development/libraries/boringssl { };
 
   openssl = callPackage ../development/libraries/openssl {
     fetchurl = fetchurlBoot;
@@ -5370,6 +5897,8 @@ let
 
   p11_kit = callPackage ../development/libraries/p11-kit { };
 
+  paperkey = callPackage ../tools/security/paperkey { };
+
   pangoxsl = callPackage ../development/libraries/pangoxsl { };
 
   pcl = callPackage ../development/libraries/pcl {
@@ -5400,7 +5929,9 @@ let
 
   podofo = callPackage ../development/libraries/podofo { };
 
-  polkit = callPackage ../development/libraries/polkit { };
+  polkit = callPackage ../development/libraries/polkit {
+    spidermonkey = spidermonkey_185;
+  };
 
   polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { };
 
@@ -5409,13 +5940,6 @@ let
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
   popplerQt4 = poppler.poppler_qt4;
 
-  poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix {
-    lcms = lcms2;
-    glibSupport = true;
-    gtk3Support = false;
-    qt4Support  = false;
-  };
-
   popt = callPackage ../development/libraries/popt { };
 
   portaudio = callPackage ../development/libraries/portaudio {
@@ -5478,6 +6002,51 @@ let
     docs = true;
     demos = true;
     examples = true;
+    developerBuild = true;
+  };
+
+  qt4SDK = qtcreator.override {
+    sdkBuild = true;
+    qtLib = qt48Full;
+  };
+
+  qt53Full = qt53.override {
+    buildDocs = true;
+    buildExamples = true;
+    buildTests = true;
+    developerBuild = true;
+  };
+
+  qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix {
+    mesa = mesa_noglu;
+    cups = if stdenv.isLinux then cups else null;
+    # GNOME dependencies are not used unless gtkStyle == true
+    inherit (gnome) libgnomeui GConf gnome_vfs;
+    bison = bison2; # error: too few arguments to function 'int yylex(...
+  };
+
+  qt5 = callPackage ../development/libraries/qt-5 {
+    mesa = mesa_noglu;
+    cups = if stdenv.isLinux then cups else null;
+    # GNOME dependencies are not used unless gtkStyle == true
+    inherit (gnome) libgnomeui GConf gnome_vfs;
+    bison = bison2; # error: too few arguments to function 'int yylex(...
+  };
+
+  qt5Full = qt5.override {
+    buildDocs = true;
+    buildExamples = true;
+    buildTests = true;
+    developerBuild = true;
+  };
+
+  qt5SDK = qtcreator.override {
+    sdkBuild = true;
+    qtLib = qt5Full;
+  };
+
+  qtcreator = callPackage ../development/qtcreator {
+    qtLib = qt48.override { developerBuild = true; };
   };
 
   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
@@ -5486,20 +6055,20 @@ let
 
   qwt = callPackage ../development/libraries/qwt {};
 
-  readline = readline6;
+  qwt6 = callPackage ../development/libraries/qwt/6.nix { };
 
-  readline4 = callPackage ../development/libraries/readline/readline4.nix { };
+  rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {};
 
-  readline5 = callPackage ../development/libraries/readline/readline5.nix { };
+  rabbitmq-java-client = callPackage ../development/libraries/rabbitmq-java-client {};
 
-  readline6 = callPackage ../development/libraries/readline/readline6.nix {
-    stdenv =
-      # On Darwin, Readline uses `-arch_only', which is specific to
-      # Apple-GCC.  So give it what it expects.
-      if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  raul = callPackage ../development/libraries/audio/raul { };
+
+  readline = readline6;
+  readline6 = readline63;
+
+  readline62 = callPackage ../development/libraries/readline/readline6.nix { };
+
+  readline63 = callPackage ../development/libraries/readline/readline6.3.nix { };
 
   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
 
@@ -5515,12 +6084,13 @@ let
 
   lv2 = callPackage ../development/libraries/audio/lv2 { };
 
+  lvtk = callPackage ../development/libraries/audio/lvtk { };
+
   qrupdate = callPackage ../development/libraries/qrupdate { };
 
   redland = pkgs.librdf_redland;
 
   rhino = callPackage ../development/libraries/java/rhino {
-    ant = apacheAntGcj;
     javac = gcj;
     jvm = gcj;
   };
@@ -5548,6 +6118,9 @@ let
       else stdenv;
   };
 
+  # Fixes major problems with choppy sound in MLT / Kdenlive / Shotcut
+  SDL_pulseaudio = SDL.override { pulseaudioSupport = true; };
+
   SDL_gfx = callPackage ../development/libraries/SDL_gfx { };
 
   SDL_image = callPackage ../development/libraries/SDL_image {
@@ -5580,6 +6153,8 @@ let
 
   serd = callPackage ../development/libraries/serd {};
 
+  serf = callPackage ../development/libraries/serf {};
+
   silgraphite = callPackage ../development/libraries/silgraphite {};
   graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {};
 
@@ -5591,6 +6166,7 @@ let
 
   slibGuile = callPackage ../development/libraries/slib {
     scheme = guile_1_8;
+    texinfo = texinfo4; # otherwise erros: must be after `@defun' to use `@defunx'
   };
 
   smpeg = callPackage ../development/libraries/smpeg { };
@@ -5627,6 +6203,8 @@ let
     inherit (pythonPackages) pyparsing;
   };
 
+  spice_gtk = callPackage ../development/libraries/spice-gtk { };
+
   spice_protocol = callPackage ../development/libraries/spice-protocol { };
 
   sratom = callPackage ../development/libraries/audio/sratom { };
@@ -5644,6 +6222,11 @@ let
     inherit readline ncurses;
   });
 
+  sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher {
+    readline = null;
+    ncurses = null;
+  });
+
   stfl = callPackage ../development/libraries/stfl {
     stdenv = if stdenv.isDarwin
       then overrideGCC stdenv gccApple
@@ -5652,14 +6235,22 @@ let
 
   stlink = callPackage ../development/tools/misc/stlink { };
 
+  steghide = callPackage ../tools/security/steghide {};
+
+  stepmania = callPackage ../games/stepmania {};
+
   stlport = callPackage ../development/libraries/stlport { };
 
   strigi = callPackage ../development/libraries/strigi { clucene_core = clucene_core_2; };
 
+  subtitleeditor = callPackage ../applications/video/subtitleeditor { };
+
   suil = callPackage ../development/libraries/audio/suil { };
 
   suitesparse = callPackage ../development/libraries/suitesparse { };
 
+  sutils = callPackage ../tools/misc/sutils { };
+
   sword = callPackage ../development/libraries/sword { };
 
   szip = callPackage ../development/libraries/szip { };
@@ -5690,13 +6281,13 @@ let
 
   telepathy_qt = callPackage ../development/libraries/telepathy/qt { };
 
+  thrift = callPackage ../development/libraries/thrift { };
+
   tinyxml = tinyxml2;
 
   tinyxml2 = callPackage ../development/libraries/tinyxml/2.6.2.nix { };
 
-  tk = callPackage ../development/libraries/tk {
-    libX11 = xlibs.libX11;
-  };
+  tk = callPackage ../development/libraries/tk { };
 
   tnt = callPackage ../development/libraries/tnt { };
 
@@ -5720,8 +6311,16 @@ let
 
   ustr = callPackage ../development/libraries/ustr { };
 
+  usbredir = callPackage ../development/libraries/usbredir {
+    libusb = libusb1;
+  };
+
   ucommon = callPackage ../development/libraries/ucommon { };
 
+  v8 = callPackage ../development/libraries/v8 {
+    inherit (pythonPackages) gyp;
+  };
+
   vaapiIntel = callPackage ../development/libraries/vaapi-intel { };
 
   vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { };
@@ -5742,7 +6341,7 @@ let
 
   vtk = callPackage ../development/libraries/vtk { };
 
-  vtkWithQt4 = vtk.override { useQt4 = true; };
+  vtkWithQt4 = vtk.override { qtLib = qt4; };
 
   vxl = callPackage ../development/libraries/vxl {
     libpng = libpng12;
@@ -5750,26 +6349,19 @@ let
 
   wayland = callPackage ../development/libraries/wayland { };
 
-  webkit =
-    builderDefsPackage ../development/libraries/webkit {
-      inherit gtk2; # for plugins etc. even with gtk3, see Gentoo ebuild
-      inherit gtk3 glib atk cairo pango fontconfig freetype;
-      inherit (gnome) gtkdoc libsoup;
-      inherit pkgconfig libtool intltool autoconf automake gperf bison flex
-        libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
-        which libproxy geoclue enchant python ruby perl mesa xlibs;
-      inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good;
-    };
+  webkit = webkitgtk;
 
-  webkit_gtk2 =
-    builderDefsPackage ../development/libraries/webkit/gtk2.nix {
-      inherit gtk2 glib atk cairo pango fontconfig freetype;
-      inherit (gnome) gtkdoc libsoup;
-      inherit pkgconfig libtool intltool autoconf automake gperf bison flex
-        libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
-        which libproxy geoclue enchant python ruby perl mesa xlibs;
-      inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good;
+  webkitgtk = callPackage ../development/libraries/webkitgtk {
+    harfbuzz = harfbuzz.override {
+      withIcu = true;
     };
+    gst-plugins-base = gst_all_1.gst-plugins-base;
+  };
+
+  webkitgtk2 = webkitgtk.override {
+    withGtk2 = true;
+    enableIntrospection = false;
+  };
 
   wildmidi = callPackage ../development/libraries/wildmidi { };
 
@@ -5792,6 +6384,16 @@ let
       else stdenv;
   };
 
+  wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix {
+    inherit (gnome) GConf;
+    withMesa = lib.elem system lib.platforms.mesaPlatforms;
+
+    # use for Objective-C++ compiler
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
+
   wtk = callPackage ../development/libraries/wtk { };
 
   x264 = callPackage ../development/libraries/x264 { };
@@ -5810,18 +6412,18 @@ let
 
   xbase = callPackage ../development/libraries/xbase { };
 
-  xineLib = callPackage ../development/libraries/xine-lib { };
+  xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
+
+  xdo = callPackage ../tools/misc/xdo { };
+
+  xineLib = callPackage ../development/libraries/xine-lib {
+    ffmpeg = ffmpeg_1;
+  };
 
   xautolock = callPackage ../misc/screensavers/xautolock { };
 
   xercesc = callPackage ../development/libraries/xercesc {};
 
-  xercesJava = callPackage ../development/libraries/java/xerces {
-    ant   = apacheAntGcj;  # for bootstrap purposes
-    javac = gcj;
-    jvm   = gcj;
-  };
-
   xlibsWrapper = callPackage ../development/libraries/xlibs-wrapper {
     packages = [
       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
@@ -5832,14 +6434,20 @@ let
 
   xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { };
 
+  xmlsec = callPackage ../development/libraries/xmlsec { };
+
   xvidcore = callPackage ../development/libraries/xvidcore { };
 
+  xylib = callPackage ../development/libraries/xylib { };
+
   yajl = callPackage ../development/libraries/yajl { };
 
   zangband = builderDefsPackage (import ../games/zangband) {
     inherit ncurses flex bison autoconf automake m4 coreutils;
   };
 
+  zeitgeist = callPackage ../development/libraries/zeitgeist { };
+
   zlib = callPackage ../development/libraries/zlib {
     fetchurl = fetchurlBoot;
   };
@@ -5850,6 +6458,9 @@ let
 
   zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {};
   zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {};
+  zeromq4 = callPackage ../development/libraries/zeromq/4.x.nix {};
+
+  zziplib = callPackage ../development/libraries/zziplib { };
 
 
   ### DEVELOPMENT / LIBRARIES / JAVA
@@ -5888,7 +6499,9 @@ let
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
 
-  junit = callPackage ../development/libraries/java/junit { };
+  junit = callPackage ../development/libraries/java/junit { antBuild = releaseTools.antBuild; };
+
+  junixsocket = callPackage ../development/libraries/java/junixsocket { };
 
   jzmq = callPackage ../development/libraries/java/jzmq { };
 
@@ -5910,43 +6523,39 @@ let
     inherit (gnome) libsoup;
   };
 
-  v8 = callPackage ../development/libraries/v8 { inherit (pythonPackages) gyp; };
-
-  xalanj = xalanJava;
-  xalanJava = callPackage ../development/libraries/java/xalanj {
-    ant    = apacheAntGcj;  # for bootstrap purposes
-    javac  = gcj;
-    jvm    = gcj;
-    xerces = xercesJava;  };
-
-  xmlsec = callPackage ../development/libraries/xmlsec { };
-
-  zziplib = callPackage ../development/libraries/zziplib { };
-
 
   ### DEVELOPMENT / LIBRARIES / JAVASCRIPT
 
   jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
 
+  yuicompressor = callPackage ../development/tools/yuicompressor { };
+
   ### DEVELOPMENT / LISP MODULES
 
-  asdf = callPackage ../development/lisp-modules/asdf {};
+  asdf = callPackage ../development/lisp-modules/asdf {
+    texLive = null;
+  };
+
   clwrapperFunction = callPackage ../development/lisp-modules/clwrapper;
-  wrapLisp = lisp: clwrapperFunction {lisp=lisp;};
-  lispPackagesFor = clwrapper: callPackage ../development/lisp-modules/lisp-packages.nix{
+
+  wrapLisp = lisp: clwrapperFunction { inherit lisp; };
+
+  lispPackagesFor = clwrapper: callPackage ../development/lisp-modules/lisp-packages.nix {
     inherit clwrapper;
   };
+
   lispPackagesClisp = lispPackagesFor (wrapLisp clisp);
   lispPackagesSBCL = lispPackagesFor (wrapLisp sbcl);
   lispPackages = recurseIntoAttrs lispPackagesSBCL;
 
+
   ### DEVELOPMENT / PERL MODULES
 
   buildPerlPackage = import ../development/perl-modules/generic perl;
 
   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
     inherit pkgs;
-    __overrides = (config.perlPackageOverrides or (p: {})) pkgs;
+    overrides = (config.perlPackageOverrides or (p: {})) pkgs;
   });
 
   perl510Packages = import ./perl-packages.nix {
@@ -5954,7 +6563,7 @@ let
       perl = perl510;
       buildPerlPackage = import ../development/perl-modules/generic perl510;
     };
-    __overrides = (config.perl510PackageOverrides or (p: {})) pkgs;
+    overrides = (config.perl510PackageOverrides or (p: {})) pkgs;
   };
 
   perl514Packages = import ./perl-packages.nix {
@@ -5962,56 +6571,56 @@ let
       perl = perl514;
       buildPerlPackage = import ../development/perl-modules/generic perl514;
     };
-    __overrides = (config.perl514PackageOverrides or (p: {})) pkgs;
+    overrides = (config.perl514PackageOverrides or (p: {})) pkgs;
   };
 
   perlXMLParser = perlPackages.XMLParser;
 
   ack = perlPackages.ack;
 
+  perlArchiveCpio = perlPackages.ArchiveCpio;
+
   perlcritic = perlPackages.PerlCritic;
 
+  planetary_annihilation = callPackage ../games/planetaryannihilation { };
+
 
   ### DEVELOPMENT / PYTHON MODULES
 
   # python function with default python interpreter
   buildPythonPackage = pythonPackages.buildPythonPackage;
 
-  pythonPackages = python27Packages;
-
   # `nix-env -i python-nose` installs for 2.7, the default python.
   # Therefore we do not recurse into attributes here, in contrast to
   # python27Packages. `nix-env -iA python26Packages.nose` works
   # regardless.
   python26Packages = import ./python-packages.nix {
     inherit pkgs;
-    inherit (lib) lowPrio;
     python = python26;
   };
 
-  python3Packages = python33Packages;
-
-  python33Packages = recurseIntoAttrs (import ./python-packages.nix {
+  python27Packages = lib.hiPrioSet (recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs;
-    inherit (lib) lowPrio;
-    python = python33;
-  });
+    python = python27;
+  }));
 
   python32Packages = import ./python-packages.nix {
     inherit pkgs;
-    inherit (lib) lowPrio;
     python = python32;
   };
 
-  python27Packages = recurseIntoAttrs (import ./python-packages.nix {
+  python33Packages = recurseIntoAttrs (import ./python-packages.nix {
+    inherit pkgs;
+    python = python33;
+  });
+
+  python34Packages = recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs;
-    inherit (lib) lowPrio;
-    python = python27;
+    python = python34;
   });
 
   pypyPackages = recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs;
-    inherit (lib) lowPrio;
     python = pypy;
   });
 
@@ -6019,6 +6628,8 @@ let
 
   bsddb3 = callPackage ../development/python-modules/bsddb3 { };
 
+  ecdsa = callPackage ../development/python-modules/ecdsa { };
+
   numeric = callPackage ../development/python-modules/numeric { };
 
   pil = pythonPackages.pil;
@@ -6027,6 +6638,8 @@ let
 
   pycairo = pythonPackages.pycairo;
 
+  pycapnp = pythonPackages.pycapnp;
+
   pycrypto = pythonPackages.pycrypto;
 
   pycups = callPackage ../development/python-modules/pycups { };
@@ -6051,9 +6664,9 @@ let
 
   rhpl = callPackage ../development/python-modules/rhpl { };
 
-  sip = callPackage ../development/python-modules/python-sip { };
+  sip = callPackage ../development/python-modules/sip { };
 
-  pyqt4 = callPackage ../development/python-modules/pyqt {
+  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     stdenv = if stdenv.isDarwin
       then clangStdenv
       else stdenv;
@@ -6077,6 +6690,8 @@ let
 
   setuptools = pythonPackages.setuptools;
 
+  slowaes = callPackage ../development/python-modules/slowaes { };
+
   wxPython = pythonPackages.wxPython;
   wxPython28 = pythonPackages.wxPython28;
 
@@ -6086,12 +6701,25 @@ let
 
   ### DEVELOPMENT / R MODULES
 
-  buildRPackage = import ../development/r-modules/generic R;
+  R = callPackage ../applications/science/math/R {
+    inherit (xlibs) libX11 libXt;
+    texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra ]; };
+    withRecommendedPackages = false;
+  };
 
-  rPackages = recurseIntoAttrs (import ./r-packages.nix {
+  rWrapper = callPackage ../development/r-modules/wrapper.nix {
+    # Those packages are usually installed as part of the R build.
+    recommendedPackages = with rPackages; [ MASS lattice Matrix nlme
+      survival boot cluster codetools foreign KernSmooth rpart class
+      nnet spatial mgcv ];
+    # Override this attribute to register additional libraries.
+    packages = [];
+  };
+
+  rPackages = import ../development/r-modules/cran-packages.nix {
     inherit pkgs;
-    __overrides = (config.rPackageOverrides or (p: {})) pkgs;
-  });
+    overrides = (config.rPackageOverrides or (p: {})) pkgs;
+  };
 
   ### SERVERS
 
@@ -6117,11 +6745,16 @@ let
 
   couchdb = callPackage ../servers/http/couchdb {
     spidermonkey = spidermonkey_185;
+    python = python27;
+    sphinx = python27Packages.sphinx;
+    erlang = erlangR16;
   };
 
   dico = callPackage ../servers/dico { };
 
-  dict = callPackage ../servers/dict { };
+  dict = callPackage ../servers/dict {
+      libmaa = callPackage ../servers/dict/libmaa.nix {};
+  };
 
   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
     inherit builderDefs;
@@ -6145,10 +6778,18 @@ let
 
   dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { };
 
-  ejabberd = callPackage ../servers/xmpp/ejabberd { };
+  etcd = callPackage ../servers/etcd { };
+
+  ejabberd = callPackage ../servers/xmpp/ejabberd {
+    erlang = erlangR16;
+  };
 
   elasticmq = callPackage ../servers/elasticmq { };
 
+  etcdctl = callPackage ../development/tools/etcdctl { };
+
+  fcgiwrap = callPackage ../servers/fcgiwrap { };
+
   felix = callPackage ../servers/felix { };
 
   felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { };
@@ -6158,6 +6799,8 @@ let
   firebird = callPackage ../servers/firebird { icu = null; };
   firebirdSuper = callPackage ../servers/firebird { superServer = true; };
 
+  fleet = callPackage ../servers/fleet { };
+
   freepops = callPackage ../servers/mail/freepops { };
 
   freeswitch = callPackage ../servers/sip/freeswitch { };
@@ -6178,16 +6821,18 @@ let
 
   joseki = callPackage ../servers/http/joseki {};
 
+  leafnode = callPackage ../servers/news/leafnode { };
+
   lighttpd = callPackage ../servers/http/lighttpd { };
 
   mailman = callPackage ../servers/mail/mailman { };
 
-  mediatomb = callPackage ../servers/mediatomb {
-    ffmpeg = ffmpeg_0_6_90;
-  };
+  mediatomb = callPackage ../servers/mediatomb { };
 
   memcached = callPackage ../servers/memcached {};
 
+  mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { };
+
   mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
 
   mod_python = callPackage ../servers/http/apache-modules/mod_python { };
@@ -6197,10 +6842,8 @@ let
   mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
 
   mpd = callPackage ../servers/mpd {
-    # resolve the "stray '@' in program" errors
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
+    aacSupport    = config.mpd.aacSupport or true;
+    ffmpegSupport = config.mpd.ffmpegSupport or true;
   };
 
   mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
@@ -6209,7 +6852,22 @@ let
 
   myserver = callPackage ../servers/http/myserver { };
 
-  nginx = callPackage ../servers/http/nginx { };
+  nginx = callPackage ../servers/http/nginx {
+    rtmp        = true;
+    fullWebDAV  = true;
+    syslog      = true;
+    moreheaders = true;
+  };
+
+  ngircd = callPackage ../servers/irc/ngircd { };
+
+  nix-binary-cache = callPackage ../servers/http/nix-binary-cache {};
+
+  nsd = callPackage ../servers/dns/nsd { };
+
+  nsq = callPackage ../servers/nsq { };
+
+  openresty = callPackage ../servers/http/openresty { };
 
   opensmtpd = callPackage ../servers/mail/opensmtpd { };
 
@@ -6219,6 +6877,8 @@ let
 
   postfix = callPackage ../servers/mail/postfix { };
 
+  postfix211 = callPackage ../servers/mail/postfix/2.11.nix { };
+
   pulseaudio = callPackage ../servers/pulseaudio {
     gconf = gnome.GConf;
     # The following are disabled in the default build, because if this
@@ -6227,6 +6887,12 @@ let
     bluez = null;
     avahi = null;
   };
+  pulseaudioFull = pulseaudio.override {
+    bluez = bluez5;
+    avahi = avahi;
+    jackaudioSupport = true;
+    x11Support = true;
+  };
 
   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
 
@@ -6238,10 +6904,14 @@ let
 
   #monetdb = callPackage ../servers/sql/monetdb { };
 
+  mariadb = callPackage ../servers/sql/mariadb {};
+
   mongodb = callPackage ../servers/nosql/mongodb { };
 
   riak = callPackage ../servers/nosql/riak/1.3.1.nix { };
 
+  influxdb = callPackage ../servers/nosql/influxdb { };
+
   mysql51 = import ../servers/sql/mysql/5.1.x.nix {
     inherit fetchurl ncurses zlib perl openssl stdenv;
     ps = procps; /* !!! Linux only */
@@ -6253,13 +6923,11 @@ let
 
   mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
 
-  nagios = callPackage ../servers/monitoring/nagios {
-    gdSupport = true;
-  };
+  nagios = callPackage ../servers/monitoring/nagios { };
 
   munin = callPackage ../servers/monitoring/munin { };
 
-  nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official { };
+  nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official-2.x.nix { };
 
   net_snmp = callPackage ../servers/monitoring/net-snmp { };
 
@@ -6273,8 +6941,6 @@ let
 
   postgresql = postgresql92;
 
-  postgresql83 = callPackage ../servers/sql/postgresql/8.3.x.nix { };
-
   postgresql84 = callPackage ../servers/sql/postgresql/8.4.x.nix { };
 
   postgresql90 = callPackage ../servers/sql/postgresql/9.0.x.nix { };
@@ -6283,6 +6949,8 @@ let
 
   postgresql92 = callPackage ../servers/sql/postgresql/9.2.x.nix { };
 
+  postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { };
+
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
   psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
@@ -6301,17 +6969,16 @@ let
 
   radius = callPackage ../servers/radius { };
 
-  redis = callPackage ../servers/nosql/redis {
-    stdenv =
-      if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  redis = callPackage ../servers/nosql/redis { };
 
   redstore = callPackage ../servers/http/redstore { };
 
   restund = callPackage ../servers/restund {};
 
+  rethinkdb = callPackage ../servers/nosql/rethinkdb { };
+
+  rippled = callPackage ../servers/rippled { };
+
   spamassassin = callPackage ../servers/mail/spamassassin {
     inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile
       HTTPDate MailDKIM LWP IOSocketSSL;
@@ -6330,13 +6997,19 @@ let
     libunwind = null;
   });
 
+  serfdom = callPackage ../servers/serfdom { };
+
+  seyren = callPackage ../servers/monitoring/seyren { };
+
   shishi = callPackage ../servers/shishi { };
 
   sipwitch = callPackage ../servers/sip/sipwitch { };
 
+  spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
+
   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
     inherit fetchurl stdenv perl lib composableDerivation
-      openldap pam db4 cyrus_sasl kerberos libcap expat libxml2 libtool
+      openldap pam db cyrus_sasl kerberos libcap expat libxml2 libtool
       openssl;
   });
   squid = squids.squid31; # has ipv6 support
@@ -6353,6 +7026,8 @@ let
 
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
+  unifi = callPackage ../servers/unifi { };
+
   virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix { };
 
   virtuoso7 = callPackage ../servers/sql/virtuoso/7.x.nix { };
@@ -6361,15 +7036,23 @@ let
 
   vsftpd = callPackage ../servers/ftp/vsftpd { };
 
+  winstone = callPackage ../servers/http/winstone { };
+
   xinetd = callPackage ../servers/xinetd { };
 
+  xquartz = callPackage ../servers/x11/xquartz { };
+  quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; };
+
   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
-    inherit fetchurl fetchgit stdenv pkgconfig intltool freetype fontconfig
-      libxslt expat libdrm libpng zlib perl mesa_drivers
-      xkeyboard_config dbus libuuid openssl gperf m4
-      autoconf libtool xmlto asciidoc udev flex bison python mtdev pixman;
-    automake = automake110x;
+    inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig
+      libxslt expat libpng zlib perl mesa_drivers
+      dbus libuuid openssl gperf m4
+      autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman;
     mesa = mesa_noglu;
+    udev = if stdenv.isLinux then udev else null;
+    libdrm = if stdenv.isLinux then libdrm else null;
+  } // {
+    xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { };
   });
 
   xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { };
@@ -6383,6 +7066,7 @@ let
   });
 
   zabbix20 = callPackage ../servers/monitoring/zabbix/2.0.nix { };
+  zabbix22 = callPackage ../servers/monitoring/zabbix/2.2.nix { };
 
 
   ### OS-SPECIFIC
@@ -6403,10 +7087,12 @@ let
 
   acpitool = callPackage ../os-specific/linux/acpitool { };
 
+  alienfx = callPackage ../os-specific/linux/alienfx { };
+
   alsaLib = callPackage ../os-specific/linux/alsa-lib { };
 
   alsaPlugins = callPackage ../os-specific/linux/alsa-plugins {
-    jackaudio = null;
+    jack2 = null;
   };
 
   alsaPluginWrapper = callPackage ../os-specific/linux/alsa-plugins/wrapper.nix { };
@@ -6420,10 +7106,13 @@ let
 
   apparmor = callPackage ../os-specific/linux/apparmor {
     inherit (perlPackages) LocaleGettext TermReadKey RpcXML;
+    bison = bison2;
   };
 
   atop = callPackage ../os-specific/linux/atop { };
 
+  audit = callPackage ../os-specific/linux/audit { };
+
   b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { };
 
   b43FirmwareCutter = callPackage ../os-specific/linux/firmware/b43-firmware-cutter { };
@@ -6438,6 +7127,8 @@ let
 
   bluez = bluez4;
 
+  inherit (pythonPackages) bedup;
+
   beret = callPackage ../games/beret { };
 
   bridge_utils = callPackage ../os-specific/linux/bridge-utils { };
@@ -6446,20 +7137,51 @@ let
 
   checkpolicy = callPackage ../os-specific/linux/checkpolicy { };
 
+  checksec = callPackage ../os-specific/linux/checksec { };
+
   cifs_utils = callPackage ../os-specific/linux/cifs-utils { };
 
-  conky = callPackage ../os-specific/linux/conky { };
+  conky = callPackage ../os-specific/linux/conky {
+    mpdSupport   = config.conky.mpdSupport   or true;
+    x11Support   = config.conky.x11Support   or false;
+    xdamage      = config.conky.xdamage      or false;
+    wireless     = config.conky.wireless     or false;
+    luaSupport   = config.conky.luaSupport   or false;
+    rss          = config.conky.rss          or false;
+    weatherMetar = config.conky.weatherMetar or false;
+    weatherXoap  = config.conky.weatherXoap  or false;
+  };
 
   cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
 
   cryopid = callPackage ../os-specific/linux/cryopid { };
 
+  criu = callPackage ../os-specific/linux/criu { };
+
   cryptsetup = callPackage ../os-specific/linux/cryptsetup { };
 
   cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
 
+  darwin = rec {
+    cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port {
+      cross = assert crossSystem != null; crossSystem;
+      inherit maloader;
+      xctoolchain = xcode.toolchain;
+    });
+
+    maloader = callPackage ../os-specific/darwin/maloader {
+      inherit opencflite;
+    };
+
+    opencflite = callPackage ../os-specific/darwin/opencflite {};
+
+    xcode = callPackage ../os-specific/darwin/xcode {};
+  };
+
   devicemapper = lvm2;
 
+  disk_indicator = callPackage ../os-specific/linux/disk-indicator { };
+
   dmidecode = callPackage ../os-specific/linux/dmidecode { };
 
   dmtcp = callPackage ../os-specific/linux/dmtcp { };
@@ -6481,6 +7203,8 @@ let
     python = pythonFull;
   };
 
+  libossp_uuid = callPackage ../development/libraries/libossp-uuid { };
+
   libuuid =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
     then (utillinux // {
@@ -6510,6 +7234,8 @@ let
 
   fbterm = callPackage ../os-specific/linux/fbterm { };
 
+  firejail = callPackage ../os-specific/linux/firejail {};
+
   fuse = callPackage ../os-specific/linux/fuse { };
 
   fxload = callPackage ../os-specific/linux/fxload { };
@@ -6518,13 +7244,22 @@ let
 
   gpm = callPackage ../servers/gpm { };
 
+  gradm = callPackage ../os-specific/linux/gradm {
+    flex = flex_2_5_35;
+  };
+
   hdparm = callPackage ../os-specific/linux/hdparm { };
 
   hibernate = callPackage ../os-specific/linux/hibernate { };
 
   hostapd = callPackage ../os-specific/linux/hostapd { };
 
-  htop = callPackage ../os-specific/linux/htop { };
+  htop =
+    if stdenv.isLinux then
+      callPackage ../os-specific/linux/htop { }
+    else if stdenv.isDarwin then
+      callPackage ../os-specific/darwin/htop { }
+    else null;
 
   # GNU/Hurd core packages.
   gnu = recurseIntoAttrs (callPackage ../os-specific/gnu {
@@ -6537,6 +7272,8 @@ let
 
   ifplugd = callPackage ../os-specific/linux/ifplugd { };
 
+  iomelt = callPackage ../os-specific/linux/iomelt { };
+
   iotop = callPackage ../os-specific/linux/iotop { };
 
   iproute = callPackage ../os-specific/linux/iproute { };
@@ -6554,8 +7291,12 @@ let
 
   kbd = callPackage ../os-specific/linux/kbd { };
 
+  kmscon = callPackage ../os-specific/linux/kmscon { };
+
   latencytop = callPackage ../os-specific/linux/latencytop { };
 
+  ldm = callPackage ../os-specific/linux/ldm { };
+
   libaio = callPackage ../os-specific/linux/libaio { };
 
   libatasmart = callPackage ../os-specific/linux/libatasmart { };
@@ -6563,25 +7304,28 @@ let
   libcgroup = callPackage ../os-specific/linux/libcgroup { };
 
   libnl = callPackage ../os-specific/linux/libnl { };
-
-  linuxHeaders = linuxHeaders37;
+  libnl_3_2_19 = callPackage ../os-specific/linux/libnl/3.2.19.nix { };
 
   linuxConsoleTools = callPackage ../os-specific/linux/consoletools { };
 
-  linuxHeaders26 = callPackage ../os-specific/linux/kernel-headers/2.6.32.nix { };
+  # -- Linux kernel expressions ------------------------------------------------
 
-  linuxHeaders37 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { };
+  linuxHeaders = linuxHeaders_3_7;
 
-  linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
+  linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix {
     inherit stdenv fetchurl perl;
     cross = assert crossSystem != null; crossSystem;
   });
 
-  linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix {
+  linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
     inherit stdenv fetchurl perl;
     cross = assert crossSystem != null; crossSystem;
   });
 
+  linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { };
+
+  linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { };
+
   # We can choose:
   linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross
     else if ver == "2.6" then linuxHeaders26Cross
@@ -6590,56 +7334,13 @@ let
   linuxHeadersCross = assert crossSystem != null;
     linuxHeadersCrossChooser crossSystem.platform.kernelMajor;
 
-  linuxHeaders_2_6_28 = callPackage ../os-specific/linux/kernel-headers/2.6.28.nix { };
-
   kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
 
-  linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_0
-      ];
-  };
-
   linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_2
-      ];
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = [];
   };
 
-  # Note: grsec is not enabled automatically, you need to specify which kernel
-  # config options you need (e.g. by overriding extraConfig). See list of options here:
-  # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options
-  linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: {
-    kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_52 ];
-  })) (args: {
-    # Install gcc plugins. These are needed for compiling dependant packages.
-    postInstall = ''
-      ${args.postInstall or ""}
-      cp tools/gcc/*.so $out/lib/modules/$version/build/tools/gcc/
-    '';
-    # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins)
-    # include libgmp headers, so we need these extra tweaks
-    buildInputs = args.buildInputs ++ [ gmp ];
-    preConfigure = ''
-      ${args.preConfigure or ""}
-      sed -i 's|-I|-I${gmp}/include -I|' scripts/gcc-plugin.sh
-      sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile
-      sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile
-    '';
-  }));
-
-  linux_3_2_apparmor = lowPrio (linux_3_2.override {
-    kernelPatches = [ kernelPatches.apparmor_3_2 ];
-    extraConfig = ''
-      SECURITY_APPARMOR y
-      DEFAULT_SECURITY_APPARMOR y
-    '';
-  });
-
   linux_3_2_xen = lowPrio (linux_3_2.override {
     extraConfig = ''
       XEN_DOM0 y
@@ -6647,76 +7348,104 @@ let
   });
 
   linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_4
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
       ];
   };
 
-  linux_3_4_apparmor = lowPrio (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) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl buildLinux;
   };
 
-  linux_3_9 = makeOverridable (import ../os-specific/linux/kernel/linux-3.9.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+  linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
       ];
   };
 
-  linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+  linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
       ];
   };
 
-  linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+  linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
       ];
   };
 
-  linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+  linux_3_15 = makeOverridable (import ../os-specific/linux/kernel/linux-3.15.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
+  linux_3_16 = makeOverridable (import ../os-specific/linux/kernel/linux-3.16.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
       ];
   };
 
+  linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
+  /* grsec configuration
+
+     We build several flavors of 'default' grsec kernels. These are
+     built by default with Hydra. If the user selects a matching
+     'default' flavor, then the pre-canned package set can be
+     chosen. Typically, users will make very basic choices like
+     'security' + 'server' or 'performance' + 'desktop' with
+     virtualisation support. These will then be picked.
+
+     Note: Xen guest kernels are included for e.g. NixOps deployments
+     to EC2, where Xen is the Hypervisor.
+  */
+
+  grFlavors = import ../build-support/grsecurity/flavors.nix;
+
+  mkGrsecurity = opts:
+    (import ../build-support/grsecurity {
+      grsecOptions = opts;
+      inherit pkgs lib;
+    });
+
+  grKernel  = opts: (mkGrsecurity opts).grsecKernel;
+  grPackage = opts: recurseIntoAttrs (mkGrsecurity opts).grsecPackage;
+
+  # Stable kernels
+  linux_grsec_stable_desktop    = grKernel grFlavors.linux_grsec_stable_desktop;
+  linux_grsec_stable_server     = grKernel grFlavors.linux_grsec_stable_server;
+  linux_grsec_stable_server_xen = grKernel grFlavors.linux_grsec_stable_server_xen;
+
+  # Testing kernels
+  linux_grsec_testing_desktop = grKernel grFlavors.linux_grsec_testing_desktop;
+  linux_grsec_testing_server  = grKernel grFlavors.linux_grsec_testing_server;
+  linux_grsec_testing_server_xen = grKernel grFlavors.linux_grsec_testing_server_xen;
 
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
@@ -6727,8 +7456,6 @@ let
   linuxPackagesFor = kernel: self: let callPackage = newScope self; in {
     inherit kernel;
 
-    kernelDev = kernel.dev or kernel;
-
     acpi_call = callPackage ../os-specific/linux/acpi-call {};
 
     batman_adv = callPackage ../os-specific/linux/batman-adv {};
@@ -6737,45 +7464,28 @@ let
 
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
-    aufs =
-      if self.kernel.features ? aufs2 then
-        callPackage ../os-specific/linux/aufs/2.nix { }
-      else if self.kernel.features ? aufs3 then
-        callPackage ../os-specific/linux/aufs/3.nix { }
-      else null;
-
-    aufs_util =
-      if self.kernel.features ? aufs2 then
-        callPackage ../os-specific/linux/aufs-util/2.nix { }
-      else if self.kernel.features ? aufs3 then
-        callPackage ../os-specific/linux/aufs-util/3.nix { }
-      else null;
-
     blcr = callPackage ../os-specific/linux/blcr { };
 
     cryptodev = callPackage ../os-specific/linux/cryptodev { };
 
+    cpupower = callPackage ../os-specific/linux/cpupower { };
+
     e1000e = callPackage ../os-specific/linux/e1000e {};
 
-    exmap = callPackage ../os-specific/linux/exmap { };
+    v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };
 
     frandom = callPackage ../os-specific/linux/frandom { };
 
-    iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
+    ktap = callPackage ../os-specific/linux/ktap { };
 
-    iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
-
-    lttngModules = callPackage ../os-specific/linux/lttng-modules { };
-
-    atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
+    lttng-modules = callPackage ../os-specific/linux/lttng-modules { };
 
     broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
 
-    broadcom_sta6 = callPackage ../os-specific/linux/broadcom-sta-v6/default.nix { };
+    nvidiabl = callPackage ../os-specific/linux/nvidiabl { };
 
     nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
 
-    nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
     nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
     nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
 
@@ -6785,9 +7495,12 @@ let
 
     wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
 
-    klibc = callPackage ../os-specific/linux/klibc {
-      linuxHeaders = glibc.kernelHeaders;
-    };
+    kernelHeaders = callPackage ../os-specific/linux/kernel-headers { };
+
+    klibc = callPackage ../os-specific/linux/klibc { };
+
+    klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
+
 
     /* compiles but has to be integrated into the kernel somehow
        Let's have it uncommented and finish it..
@@ -6800,16 +7513,10 @@ let
 
     psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { };
 
-    spl = callPackage ../os-specific/linux/spl/default.nix { };
+    spl = callPackage ../os-specific/linux/spl { };
+    spl_git = callPackage ../os-specific/linux/spl/git.nix { };
 
-    sysprof = callPackage ../development/tools/profiling/sysprof {
-      inherit (gnome) libglade;
-    };
-
-    systemtap = callPackage ../development/tools/profiling/systemtap {
-      linux = self.kernelDev;
-      inherit (gnome) libglademm;
-    };
+    sysdig = callPackage ../os-specific/linux/sysdig {};
 
     tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
@@ -6823,32 +7530,46 @@ let
 
     virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
 
-    zfs = callPackage ../os-specific/linux/zfs/default.nix { };
+    zfs = callPackage ../os-specific/linux/zfs { };
+    zfs_git = callPackage ../os-specific/linux/zfs/git.nix { };
   };
 
+  # The current default kernel / kernel modules.
+  linux = linuxPackages.kernel;
+  linuxPackages = linuxPackages_3_12;
+
+  # Update this when adding the newest kernel major version!
+  linux_latest = pkgs.linux_3_16;
+  linuxPackages_latest = pkgs.linuxPackages_3_16;
+
   # Build the kernel modules for the some of the kernels.
-  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
-  linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor;
-  linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity;
   linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen;
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
-  linuxPackages_3_4_apparmor = 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_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_9 linuxPackages_3_9);
+  linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi;
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
-  linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11);
+  linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice;
   linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12);
-  # Update this when adding a new version!
-  linuxPackages_latest = pkgs.linuxPackages_3_11;
-
-  # The current default kernel / kernel modules.
-  linux = linuxPackages.kernel;
-  linuxPackages = linuxPackages_3_4;
+  linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14);
+  linuxPackages_3_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_15 linuxPackages_3_15);
+  linuxPackages_3_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_16 linuxPackages_3_16);
+  linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing);
+
+  # grsecurity flavors
+  # Stable kernels
+  linuxPackages_grsec_stable_desktop    = grPackage grFlavors.linux_grsec_stable_desktop;
+  linuxPackages_grsec_stable_server     = grPackage grFlavors.linux_grsec_stable_server;
+  linuxPackages_grsec_stable_server_xen = grPackage grFlavors.linux_grsec_stable_server_xen;
+
+  # Testing kernels
+  linuxPackages_grsec_testing_desktop = grPackage grFlavors.linux_grsec_testing_desktop;
+  linuxPackages_grsec_testing_server  = grPackage grFlavors.linux_grsec_testing_server;
+  linuxPackages_grsec_testing_server_xen = grPackage grFlavors.linux_grsec_testing_server_xen;
 
   # A function to build a manually-configured kernel
-  linuxManualConfig = import ../os-specific/linux/kernel/manual-config.nix {
-    inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile;
+  linuxManualConfig = pkgs.buildLinux;
+  buildLinux = import ../os-specific/linux/kernel/manual-config.nix {
+    inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile ubootChooser;
   };
 
   keyutils = callPackage ../os-specific/linux/keyutils { };
@@ -6857,6 +7578,8 @@ let
 
   libsemanage = callPackage ../os-specific/linux/libsemanage { };
 
+  libraw = callPackage ../development/libraries/libraw { };
+
   libraw1394 = callPackage ../development/libraries/libraw1394 { };
 
   libsexy = callPackage ../development/libraries/libsexy { };
@@ -6867,16 +7590,14 @@ let
 
   lm_sensors = callPackage ../os-specific/linux/lm-sensors { };
 
-  lsiutil = callPackage ../os-specific/linux/lsiutil { };
-
-  klibc = callPackage ../os-specific/linux/klibc {
-    linuxHeaders = glibc.kernelHeaders;
-  };
+  lockdep = callPackage ../os-specific/linux/lockdep { };
 
-  klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
+  lsiutil = callPackage ../os-specific/linux/lsiutil { };
 
   kmod = callPackage ../os-specific/linux/kmod { };
 
+  kmod-blacklist-ubuntu = callPackage ../os-specific/linux/kmod-blacklist-ubuntu { };
+
   kvm = qemu_kvm;
 
   libcap = callPackage ../os-specific/linux/libcap { };
@@ -6912,6 +7633,8 @@ let
 
   multipath_tools = callPackage ../os-specific/linux/multipath-tools { };
 
+  musl = callPackage ../os-specific/linux/musl { };
+
   nettools = callPackage ../os-specific/linux/net-tools { };
 
   neverball = callPackage ../games/neverball {
@@ -6920,6 +7643,8 @@ let
 
   numactl = callPackage ../os-specific/linux/numactl { };
 
+  gocode = callPackage ../development/tools/gocode { };
+
   gogoclient = callPackage ../os-specific/linux/gogoclient { };
 
   nss_ldap = callPackage ../os-specific/linux/nss_ldap { };
@@ -6928,9 +7653,7 @@ let
 
   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
 
-  pam_ccreds = callPackage ../os-specific/linux/pam_ccreds {
-    db = db4;
-  };
+  pam_ccreds = callPackage ../os-specific/linux/pam_ccreds { };
 
   pam_console = callPackage ../os-specific/linux/pam_console {
     libtool = libtool_1_5;
@@ -6948,12 +7671,18 @@ let
 
   pam_usb = callPackage ../os-specific/linux/pam_usb { };
 
+  paxctl = callPackage ../os-specific/linux/paxctl { };
+
+  pax-utils = callPackage ../os-specific/linux/pax-utils { };
+
   pcmciaUtils = callPackage ../os-specific/linux/pcmciautils {
     firmware = config.pcmciaUtils.firmware or [];
     config = config.pcmciaUtils.config or null;
   };
 
-  plymouth = callPackage ../os-specific/linux/plymouth { };
+  plymouth = callPackage ../os-specific/linux/plymouth {
+    automake = automake113x;
+  };
 
   pmount = callPackage ../os-specific/linux/pmount { };
 
@@ -6967,9 +7696,13 @@ let
 
   prayer = callPackage ../servers/prayer { };
 
-  procps = callPackage ../os-specific/linux/procps { };
+  procps = procps-ng;
 
-  "procps-ng" = callPackage ../os-specific/linux/procps-ng { };
+  procps-old = lowPrio (callPackage ../os-specific/linux/procps { });
+
+  procps-ng = callPackage ../os-specific/linux/procps-ng { };
+
+  watch = callPackage ../os-specific/linux/procps/watch.nix { };
 
   qemu_kvm = lowPrio (qemu.override { x86Only = true; });
 
@@ -6991,12 +7724,22 @@ let
 
   sepolgen = callPackage ../os-specific/linux/sepolgen { };
 
+  setools = callPackage ../os-specific/linux/setools { };
+
   shadow = callPackage ../os-specific/linux/shadow { };
 
   statifier = builderDefsPackage (import ../os-specific/linux/statifier) { };
 
+  sysdig = callPackage ../os-specific/linux/sysdig {
+    kernel = null;
+  }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor
+
   sysfsutils = callPackage ../os-specific/linux/sysfsutils { };
 
+  sysprof = callPackage ../development/tools/profiling/sysprof {
+    inherit (gnome) libglade;
+  };
+
   # Provided with sysfsutils.
   libsysfs = sysfsutils;
   systool = sysfsutils;
@@ -7007,7 +7750,13 @@ let
 
   sysstat = callPackage ../os-specific/linux/sysstat { };
 
-  systemd = callPackage ../os-specific/linux/systemd { };
+  systemd = callPackage ../os-specific/linux/systemd {
+    linuxHeaders = linuxHeaders_3_14;
+  };
+
+  systemtap = callPackage ../development/tools/profiling/systemtap {
+    inherit (gnome) libglademm;
+  };
 
   # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get
   # LVM2 working in systemd.
@@ -7069,14 +7818,16 @@ let
 
   untie = callPackage ../os-specific/linux/untie { };
 
-  upower = callPackage ../os-specific/linux/upower {
-    libusb1 = callPackage ../development/libraries/libusb1/1_0_9.nix {};
-  };
+  upower = callPackage ../os-specific/linux/upower { };
+
+  upower_99 = callPackage ../os-specific/linux/upower/0.99.nix { };
 
   upstart = callPackage ../os-specific/linux/upstart { };
 
   usbutils = callPackage ../os-specific/linux/usbutils { };
 
+  usermount = callPackage ../os-specific/linux/usermount { };
+
   utillinux = lowPrio (callPackage ../os-specific/linux/util-linux {
     ncurses = null;
     perl = null;
@@ -7091,6 +7842,8 @@ let
   };
 
   windows = rec {
+    cygwinSetup = callPackage ../os-specific/windows/cygwin-setup { };
+
     jom = callPackage ../os-specific/windows/jom { };
 
     w32api = callPackage ../os-specific/windows/w32api {
@@ -7135,6 +7888,10 @@ let
       onlyHeaders = true;
     };
 
+    mingw_w64_pthreads = callPackage ../os-specific/windows/mingw-w64 {
+      onlyPthreads = true;
+    };
+
     pthreads = callPackage ../os-specific/windows/pthread-w32 {
       mingw_headers = mingw_headers3;
     };
@@ -7165,10 +7922,7 @@ let
     inherit (xorg) fontsproto renderproto utilmacros xorgserver;
   };
 
-  xf86_video_nouveau = callPackage ../os-specific/linux/xf86-video-nouveau {
-    inherit (xorg) xorgserver xproto fontsproto xf86driproto renderproto
-      videoproto utilmacros;
-  };
+  xf86_video_nouveau = xorg.xf86videonouveau;
 
   xmoto = builderDefsPackage (import ../games/xmoto) {
     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
@@ -7189,6 +7943,8 @@ let
 
   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { };
 
+  aurulent-sans = callPackage ../data/fonts/aurulent-sans { };
+
   bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { };
 
   cacert = callPackage ../data/misc/cacert { };
@@ -7236,6 +7992,8 @@ let
 
   dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { };
 
+  eb-garamond = callPackage ../data/fonts/eb-garamond { };
+
   freefont_ttf = callPackage ../data/fonts/freefont-ttf { };
 
   freepats = callPackage ../data/misc/freepats { };
@@ -7250,8 +8008,14 @@ let
 
   inconsolata = callPackage ../data/fonts/inconsolata {};
 
+  ipafont = callPackage ../data/fonts/ipafont {};
+
   junicode = callPackage ../data/fonts/junicode { };
 
+  kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
+
+  kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
+
   liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { };
 
   libertine = builderDefsPackage (import ../data/fonts/libertine) {
@@ -7262,6 +8026,8 @@ let
 
   lmodern = callPackage ../data/fonts/lmodern { };
 
+  lohit-fonts = callPackage ../data/fonts/lohit-fonts { };
+
   manpages = callPackage ../data/documentation/man-pages { };
 
   miscfiles = callPackage ../data/misc/miscfiles { };
@@ -7270,8 +8036,14 @@ let
 
   mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { };
 
+  nafees = callPackage ../data/fonts/nafees { };
+
   oldstandard = callPackage ../data/fonts/oldstandard { };
 
+  opensans-ttf = callPackage ../data/fonts/opensans-ttf { };
+
+  poly = callPackage ../data/fonts/poly { };
+
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
 
   pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { };
@@ -7282,6 +8054,8 @@ let
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
+  symbola = callPackage ../data/fonts/symbola { };
+
   iana_etc = callPackage ../data/misc/iana-etc { };
 
   poppler_data = callPackage ../data/misc/poppler-data { };
@@ -7292,6 +8066,17 @@ let
 
   r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { };
 
+  source-code-pro = callPackage ../data/fonts/source-code-pro {};
+
+  source-sans-pro = callPackage ../data/fonts/source-sans-pro { };
+
+  source-serif-pro = callPackage ../data/fonts/source-serif-pro { };
+
+  source-han-sans-japanese = callPackage ../data/fonts/source-han-sans/japanese.nix {};
+  source-han-sans-korean = callPackage ../data/fonts/source-han-sans/korean.nix {};
+  source-han-sans-simplified-chinese = callPackage ../data/fonts/source-han-sans/simplified-chinese.nix {};
+  source-han-sans-traditional-chinese = callPackage ../data/fonts/source-han-sans/traditional-chinese.nix {};
+
   tango-icon-theme = callPackage ../data/icons/tango-icon-theme { };
 
   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
@@ -7318,19 +8103,19 @@ let
 
   vistafonts = callPackage ../data/fonts/vista-fonts { };
 
+  wqy_microhei = callPackage ../data/fonts/wqy-microhei { };
+
   wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { };
 
   xhtml1 = callPackage ../data/sgml+xml/schemas/xml-dtd/xhtml1 { };
 
-  xkeyboard_config = callPackage ../data/misc/xkeyboard-config { };
+  xkeyboard_config = xorg.xkeyboardconfig;
 
 
   ### APPLICATIONS
 
   a2jmidid = callPackage ../applications/audio/a2jmidid { };
 
-  aangifte2005 = callPackage_i686 ../applications/taxes/aangifte-2005 { };
-
   aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { };
 
   aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { };
@@ -7345,8 +8130,11 @@ let
 
   aangifte2012 = callPackage_i686 ../applications/taxes/aangifte-2012 { };
 
+  aangifte2013 = callPackage_i686 ../applications/taxes/aangifte-2013 { };
+
   abcde = callPackage ../applications/audio/abcde {
     inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID;
+    libcdio = libcdio082;
   };
 
   abiword = callPackage ../applications/office/abiword {
@@ -7355,32 +8143,41 @@ let
 
   abook = callPackage ../applications/misc/abook { };
 
-  adobeReader = callPackage_i686 ../applications/misc/adobe-reader { };
+  adobe-reader = callPackage_i686 ../applications/misc/adobe-reader { };
 
   aewan = callPackage ../applications/editors/aewan { };
 
   alchemy = callPackage ../applications/graphics/alchemy { };
 
+  ams-lv2 = callPackage ../applications/audio/ams-lv2 { };
+
   amsn = callPackage ../applications/networking/instant-messengers/amsn { };
 
   antiword = callPackage ../applications/office/antiword {};
 
-  ardour = callPackage ../applications/audio/ardour {
-    inherit (gnome) libgnomecanvas libgnomecanvasmm;
-  };
+  ardour = ardour3;
 
-  ardour3 =  lowPrio (callPackage ../applications/audio/ardour/ardour3.nix {
+  ardour3 =  lowPrio (callPackage ../applications/audio/ardour {
     inherit (gnome) libgnomecanvas libgnomecanvasmm;
-    boost = boost149;
   });
 
   arora = callPackage ../applications/networking/browsers/arora { };
 
-  aseprite = callPackage ../applications/editors/aseprite { };
+  atom = callPackage ../applications/editors/atom {
+    gconf = gnome.GConf;
+  };
+
+  aseprite = callPackage ../applications/editors/aseprite {
+    giflib = giflib_4_1;
+  };
 
   audacious = callPackage ../applications/audio/audacious { };
 
-  audacity = callPackage ../applications/audio/audacity { };
+  audacity = callPackage ../applications/audio/audacity {
+    ffmpeg = ffmpeg_0_10;
+  };
+
+  milkytracker = callPackage ../applications/audio/milkytracker { };
 
   aumix = callPackage ../applications/audio/aumix {
     gtkGUI = false;
@@ -7394,14 +8191,27 @@ let
     eigen = eigen2;
   };
 
+  avrdudess = callPackage ../applications/misc/avrdudess { };
+
   avxsynth = callPackage ../applications/video/avxsynth { };
 
-  awesome = callPackage ../applications/window-managers/awesome {
+  awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix {
     lua = lua5;
     cairo = cairo.override { xcbSupport = true; };
   };
+  awesome-3-5 = callPackage ../applications/window-managers/awesome {
+    lua   = lua5_1;
+    cairo = cairo.override { xcbSupport = true; };
+  };
+  awesome = awesome-3-5;
 
-  baresip = callPackage ../applications/networking/instant-messengers/baresip {};
+  inherit (gnome3) baobab;
+
+  bar = callPackage ../applications/window-managers/bar { };
+
+  baresip = callPackage ../applications/networking/instant-messengers/baresip {
+    ffmpeg = ffmpeg_1;
+  };
 
   batik = callPackage ../applications/graphics/batik { };
 
@@ -7418,23 +8228,21 @@ let
 
   bibletime = callPackage ../applications/misc/bibletime { };
 
-  bitcoin = callPackage ../applications/misc/bitcoin {
-    db4 = db48;
-  };
+  bitcoin = callPackage ../applications/misc/bitcoin { };
 
   bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee {
-    # For some reason, TLS support is broken when using GnuTLS 3.0 (can't
-    # connect to jabber.org, for instance.)
-    gnutls = gnutls2;
+    gnutls = gnutls;
     libotr = libotr_3_2;
   };
 
   blender = callPackage  ../applications/misc/blender {
-    python = python3;
+    python = python34;
   };
 
   bristol = callPackage ../applications/audio/bristol { };
 
+  bspwm = callPackage ../applications/window-managers/bspwm { };
+
   bvi = callPackage ../applications/editors/bvi { };
 
   calf = callPackage ../applications/audio/calf {
@@ -7443,6 +8251,8 @@ let
 
   calibre = callPackage ../applications/misc/calibre { };
 
+  camlistore = callPackage ../applications/misc/camlistore { };
+
   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
@@ -7471,14 +8281,13 @@ let
     amdappsdk = amdappsdk28;
   };
 
-  chatzilla = callPackage ../applications/networking/irc/chatzilla {
-    xulrunner = firefox36Pkgs.xulrunner;
-  };
+  chatzilla = callPackage ../applications/networking/irc/chatzilla { };
 
   chromium = lowPrio (callPackage ../applications/networking/browsers/chromium {
     channel = "stable";
-    gconf = gnome.GConf;
     pulseSupport = config.pulseaudio or true;
+    enablePepperFlash = config.chromium.enablePepperFlash or false;
+    enablePepperPDF = config.chromium.enablePepperPDF or false;
   });
 
   chromiumBeta = lowPrio (chromium.override { channel = "beta"; });
@@ -7509,6 +8318,9 @@ let
     libpng = libpng12;
   };
 
+  codeblocks = callPackage ../applications/editors/codeblocks { };
+  codeblocksFull = callPackage ../applications/editors/codeblocks { contribPlugins = true; };
+
   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
     inherit makeWrapper;
     python = pythonFull;
@@ -7517,6 +8329,7 @@ let
   comical = callPackage ../applications/graphics/comical { };
 
   conkeror = callPackage ../applications/networking/browsers/conkeror { };
+
   conkerorWrapper = wrapFirefox {
     browser = conkeror;
     browserName = "conkeror";
@@ -7536,20 +8349,20 @@ let
 
   d4x = callPackage ../applications/misc/d4x { };
 
-  darcs = haskellPackages.darcs.override {
-    # A variant of the Darcs derivation that containts only the executable and
-    # thus has no dependencies on other Haskell packages.
-    cabal = { mkDerivation = x: rec { final = haskellPackages.cabal.mkDerivation (self: (x final) // {
-              isLibrary = false;
-              configureFlags = "-f-library"; }); }.final;
-            };
+  darcs = with haskellPackages_ghc763; callPackage ../applications/version-management/darcs {
+    cabal = cabal.override {
+      extension = self : super : {
+        isLibrary = false;
+        configureFlags = "-f-library " + super.configureFlags or "";
+      };
+    };
   };
 
   darktable = callPackage ../applications/graphics/darktable {
     inherit (gnome) GConf libglade;
   };
 
-  "dd-agent" = callPackage ../tools/networking/dd-agent { };
+  dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
 
   dia = callPackage ../applications/graphics/dia {
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
@@ -7561,6 +8374,8 @@ let
 
   djvulibre = callPackage ../applications/misc/djvulibre { };
 
+  djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { };
+
   djview = callPackage ../applications/graphics/djview { };
   djview4 = pkgs.djview;
 
@@ -7575,6 +8390,8 @@ let
     inherit (xlibs) libX11;
   };
 
+  docker = callPackage ../applications/virtualization/docker { };
+
   doodle = callPackage ../applications/search/doodle { };
 
   dunst = callPackage ../applications/misc/dunst { };
@@ -7583,70 +8400,60 @@ let
 
   dvdauthor = callPackage ../applications/video/dvdauthor { };
 
-  dvswitch = callPackage ../applications/video/dvswitch { };
+  dwb = callPackage ../applications/networking/browsers/dwb { dconf = gnome3.dconf; };
 
-  dwb = callPackage ../applications/networking/browsers/dwb { };
+  dwbWrapper = wrapFirefox
+    { browser = dwb; browserName = "dwb"; desktopName = "dwb";
+    };
 
   dwm = callPackage ../applications/window-managers/dwm {
     patches = config.dwm.patches or [];
   };
 
+  dzen2 = callPackage ../applications/window-managers/dzen2 { };
+
   eaglemode = callPackage ../applications/misc/eaglemode { };
 
   eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { });
 
   ed = callPackage ../applications/editors/ed { };
 
+  ekho = callPackage ../applications/audio/ekho { };
+
+  electrum = callPackage ../applications/misc/electrum { };
+
   elinks = callPackage ../applications/networking/browsers/elinks { };
 
   elvis = callPackage ../applications/editors/elvis { };
 
   emacs = emacs24;
 
-  emacs23 = callPackage ../applications/editors/emacs-23 {
-    stdenv =
-      if stdenv.isDarwin
-      /* On Darwin, use Apple-GCC, otherwise:
-           configure: error: C preprocessor "cc -E -no-cpp-precomp" fails sanity check */
-      then overrideGCC stdenv gccApple
-      else stdenv;
-
-    # use override to select the appropriate gui toolkit
-    libXaw = if stdenv.isDarwin then xlibs.libXaw else null;
-    Xaw3d = null;
-    gtk = if stdenv.isDarwin then null else gtk;
-    # TODO: these packages don't build on Darwin.
-    gconf = null /* if stdenv.isDarwin then null else gnome.GConf */;
-    librsvg = null /* if stdenv.isDarwin then null else librsvg */;
-  };
-
   emacs24 = callPackage ../applications/editors/emacs-24 {
     # use override to enable additional features
-    libXaw = if stdenv.isDarwin then xlibs.libXaw else null;
+    libXaw = xlibs.libXaw;
     Xaw3d = null;
     gconf = null;
     librsvg = null;
     alsaLib = null;
     imagemagick = null;
-    texinfo = texinfo5;
-
-    # use clangStdenv on darwin to deal with: unexec: 'my_edata is not in
-    # section __data'
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   emacs24-nox = lowPrio (appendToName "nox" (emacs24.override {
     withX = false;
   }));
 
+  emacs24Macport = lowPrio (callPackage ../applications/editors/emacs-24/macport.nix {
+    stdenv = pkgs.clangStdenv;
+  });
+
   emacsPackages = emacs: self: let callPackage = newScope self; in rec {
     inherit emacs;
 
     autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { };
 
-    bbdb = callPackage ../applications/editors/emacs-modes/bbdb { texinfo = texinfo5; };
+    bbdb = callPackage ../applications/editors/emacs-modes/bbdb { };
+
+    bbdb3 = callPackage ../applications/editors/emacs-modes/bbdb/3.nix {};
 
     cedet = callPackage ../applications/editors/emacs-modes/cedet { };
 
@@ -7656,8 +8463,12 @@ let
 
     colorTheme = callPackage ../applications/editors/emacs-modes/color-theme { };
 
+    cryptol = callPackage ../applications/editors/emacs-modes/cryptol { };
+
     cua = callPackage ../applications/editors/emacs-modes/cua { };
 
+    darcsum = callPackage ../applications/editors/emacs-modes/darcsum { };
+
     # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
 
     jabber = callPackage ../applications/editors/emacs-modes/jabber { };
@@ -7666,9 +8477,9 @@ let
 
     emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { };
 
-    emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { texinfo = texinfo5; };
+    emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { };
 
-    emms = callPackage ../applications/editors/emacs-modes/emms { texinfo = texinfo5; };
+    emms = callPackage ../applications/editors/emacs-modes/emms { };
 
     ess = callPackage ../applications/editors/emacs-modes/ess { };
 
@@ -7680,6 +8491,8 @@ let
 
     gist = callPackage ../applications/editors/emacs-modes/gist { };
 
+    idris = callPackage ../applications/editors/emacs-modes/idris { };
+
     jade = callPackage ../applications/editors/emacs-modes/jade { };
 
     jdee = callPackage ../applications/editors/emacs-modes/jdee {
@@ -7694,6 +8507,10 @@ let
 
     ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
 
+    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
+      inherit (haskellPackages) cabal haskellSrcExts;
+    };
+
     tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
 
     hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
@@ -7704,15 +8521,19 @@ let
 
     loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { };
 
-    magit = callPackage ../applications/editors/emacs-modes/magit { texinfo = texinfo5; };
+    magit = callPackage ../applications/editors/emacs-modes/magit { };
 
     maudeMode = callPackage ../applications/editors/emacs-modes/maude { };
 
+    metaweblog = callPackage ../applications/editors/emacs-modes/metaweblog { };
+
     notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { });
 
+    offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
+
     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
     # we want it to have higher precedence.
-    org = hiPrio (callPackage ../applications/editors/emacs-modes/org { texinfo = texinfo5; });
+    org = hiPrio (callPackage ../applications/editors/emacs-modes/org { });
 
     org2blog = callPackage ../applications/editors/emacs-modes/org2blog { };
 
@@ -7722,11 +8543,19 @@ let
 
     prologMode = callPackage ../applications/editors/emacs-modes/prolog { };
 
-    proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral {
+    proofgeneral_4_2 = callPackage ../applications/editors/emacs-modes/proofgeneral/4.2.nix {
+      texinfo = texinfo4 ;
+      texLive = pkgs.texLiveAggregationFun {
+        paths = [ pkgs.texLive pkgs.texLiveCMSuper ];
+      };
+    };
+    proofgeneral_4_3_pre = callPackage ../applications/editors/emacs-modes/proofgeneral/4.3pre.nix {
+      texinfo = texinfo4 ;
       texLive = pkgs.texLiveAggregationFun {
         paths = [ pkgs.texLive pkgs.texLiveCMSuper ];
       };
     };
+    proofgeneral = self.proofgeneral_4_2;
 
     quack = callPackage ../applications/editors/emacs-modes/quack { };
 
@@ -7736,18 +8565,26 @@ let
 
     rudel = callPackage ../applications/editors/emacs-modes/rudel { };
 
-    scalaMode = callPackage ../applications/editors/emacs-modes/scala-mode { };
+    sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { };
+
+    scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { };
+    scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { };
 
     sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { };
 
+    writeGood = callPackage ../applications/editors/emacs-modes/writegood { };
+
     xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { };
   };
 
-  emacs23Packages = emacsPackages emacs23 pkgs.emacs23Packages;
   emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages);
 
+  inherit (gnome3) empathy;
+
   epdfview = callPackage ../applications/misc/epdfview { };
 
+  inherit (gnome3) epiphany;
+
   espeak = callPackage ../applications/audio/espeak { };
 
   espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
@@ -7761,11 +8598,12 @@ let
   evopedia = callPackage ../applications/misc/evopedia { };
 
   keepassx = callPackage ../applications/misc/keepassx { };
+  keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { };
 
   inherit (gnome3) evince;
-  keepass = callPackage ../applications/misc/keepass { };
+  evolution_data_server = gnome3.evolution_data_server;
 
-  evolution_data_server = newScope (gnome) ../servers/evolution-data-server { };
+  keepass = callPackage ../applications/misc/keepass { };
 
   exrdisplay = callPackage ../applications/graphics/exrdisplay {
     fltk = fltk20;
@@ -7779,6 +8617,8 @@ let
     inherit stdenv fetchurl openssl;
   };
 
+  fldigi = callPackage ../applications/audio/fldigi { };
+
   fluidsynth = callPackage ../applications/audio/fluidsynth { };
 
   fossil = callPackage ../applications/version-management/fossil { };
@@ -7789,12 +8629,23 @@ let
 
   geany = callPackage ../applications/editors/geany { };
 
+  gksu = callPackage ../applications/misc/gksu { };
+
+  gnuradio = callPackage ../applications/misc/gnuradio {
+    inherit (pythonPackages) lxml numpy scipy matplotlib pyopengl;
+    fftw = fftwFloat;
+  };
+
+  gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { };
+
   goldendict = callPackage ../applications/misc/goldendict { };
 
   google-musicmanager = callPackage ../applications/audio/google-musicmanager { };
 
   gpicview = callPackage ../applications/graphics/gpicview { };
 
+  gqrx = callPackage ../applications/misc/gqrx { };
+
   grass = import ../applications/misc/grass {
     inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm
       libXaw libXrender;
@@ -7802,8 +8653,9 @@ let
       lib flex bison cairo fontconfig
       gdal zlib ncurses gdbm proj pkgconfig swig
       blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python
-      readline sqlite tcl tk libtiff freetype ffmpeg makeWrapper wxGTK;
+      readline sqlite tcl tk libtiff freetype makeWrapper wxGTK;
     fftw = fftwSinglePrec;
+    ffmpeg = ffmpeg_0_10;
     motif = lesstif;
     opendwg = libdwg;
     wxPython = wxPython28;
@@ -7815,10 +8667,14 @@ let
 
   gtimelog = pythonPackages.gtimelog;
 
+  inherit (gnome3) gucharmap;
+
   guitarix = callPackage ../applications/audio/guitarix {
     fftw = fftwSinglePrec;
   };
 
+  photivo = callPackage ../applications/graphics/photivo { };
+
   wavesurfer = callPackage ../applications/misc/audio/wavesurfer { };
 
   wireshark = callPackage ../applications/networking/sniffers/wireshark { };
@@ -7833,37 +8689,41 @@ let
 
   filezilla = callPackage ../applications/networking/ftp/filezilla { };
 
-  firefox = pkgs.firefoxPkgs.firefox;
-
-  firefox36Pkgs = callPackage ../applications/networking/browsers/firefox/3.6.nix {
+  firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix {
     inherit (gnome) libIDL;
   };
 
-  firefox36Wrapper = wrapFirefox { browser = firefox36Pkgs.firefox; };
+  firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; };
 
-  firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix {
+  firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix {
     inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+    libpng = libpng_apng;
   };
 
-  firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; });
-
-  firefoxPkgs = callPackage ../applications/networking/browsers/firefox {
+  firefox = callPackage ../applications/networking/browsers/firefox {
     inherit (gnome) libIDL;
     inherit (pythonPackages) pysqlite;
-    libpng = libpng.override { apngSupport = true; };
   };
 
-  firefoxWrapper = wrapFirefox { browser = firefoxPkgs.firefox; };
+  firefoxWrapper = wrapFirefox { browser = pkgs.firefox; };
+
+  firefox-bin = callPackage ../applications/networking/browsers/firefox-bin {
+    gconf = pkgs.gnome.GConf;
+    inherit (pkgs.gnome) libgnome libgnomeui;
+    inherit (pkgs.xlibs) libX11 libXScrnSaver libXext
+      libXinerama libXrender libXt;
+  };
 
   flac = callPackage ../applications/audio/flac { };
 
   flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 {
     debug = config.flashplayer.debug or false;
-    # !!! Fix the dependency on two different builds of nss.
   };
 
   freecad = callPackage ../applications/graphics/freecad {
     opencascade = opencascade_6_5;
+    inherit (pythonPackages) matplotlib pycollada;
   };
 
   freemind = callPackage ../applications/misc/freemind {
@@ -7878,33 +8738,33 @@ let
   xfontsel = callPackage ../applications/misc/xfontsel { };
   xlsfonts = callPackage ../applications/misc/xlsfonts { };
 
-  freerdp = callPackage ../applications/networking/remote/freerdp { };
+  freerdp = callPackage ../applications/networking/remote/freerdp {
+    ffmpeg = ffmpeg_1;
+  };
 
   freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix { };
 
-  freicoin = callPackage ../applications/misc/freicoin {
-    db4 = db48;
-  };
+  freicoin = callPackage ../applications/misc/freicoin { };
 
   fspot = callPackage ../applications/graphics/f-spot {
     inherit (gnome) libgnome libgnomeui;
     gtksharp = gtksharp1;
   };
 
-  get_iplayer = callPackage ../applications/misc/get_iplayer {};
+  fuze = callPackage ../applications/networking/instant-messengers/fuze {};
 
-  gimp_2_6 = callPackage ../applications/graphics/gimp {
-    inherit (gnome) libart_lgpl;
-    libpng = libpng12;
-  };
+  gcolor2 = callPackage ../applications/graphics/gcolor2 { };
+
+  get_iplayer = callPackage ../applications/misc/get_iplayer {};
 
   gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix {
     inherit (gnome) libart_lgpl;
     webkit = null;
     lcms = lcms2;
+    wrapPython = pythonPackages.wrapPython;
   };
 
-  gimp = gimp_2_6;
+  gimp = gimp_2_8;
 
   gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins {
     inherit pkgs gimp;
@@ -7917,6 +8777,14 @@ let
   gitFull = gitAndTools.gitFull;
   gitSVN = gitAndTools.gitSVN;
 
+  gitRepo = callPackage ../applications/version-management/git-repo {
+    python = python27;
+  };
+
+  gitolite = callPackage ../applications/version-management/gitolite { };
+
+  inherit (gnome3) gitg;
+
   giv = callPackage ../applications/graphics/giv {
     pcre = pcre.override { unicodeSupport = true; };
   };
@@ -7928,8 +8796,18 @@ let
     gconf = gnome2.GConf;
     guile = guile_1_8;
     slibGuile = slibGuile.override { scheme = guile_1_8; };
+    goffice = goffice_0_8;
   };
 
+  goffice_0_8 = callPackage ../desktops/gnome-3/3.10/misc/goffice/0.8.nix {
+    inherit (gnome2) libglade libgnomeui;
+    gconf = gnome2.GConf;
+    libart = gnome2.libart_lgpl;
+  }; # latest version: gnome3.goffice
+
+  ideas = recurseIntoAttrs (  (callPackage ../applications/editors/idea { })
+                           // (callPackage ../applications/editors/idea/pycharm.nix { }));
+
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
   mi2ly = callPackage ../applications/audio/mi2ly {};
@@ -7947,7 +8825,6 @@ let
   gmu = callPackage ../applications/audio/gmu { };
 
   gnash = callPackage ../applications/video/gnash {
-    xulrunner = firefoxPkgs.xulrunner;
     inherit (gnome) gtkglext;
   };
 
@@ -7956,14 +8833,15 @@ let
   };
 
   gnumeric = callPackage ../applications/office/gnumeric {
-    goffice = goffice_0_10;
-    inherit (gnome) libglade scrollkeeper;
+    inherit (gnome3) goffice gnome_icon_theme;
   };
 
-  gnunet = callPackage ../applications/networking/p2p/gnunet { };
+  gnunet = callPackage ../applications/networking/p2p/gnunet {
+    libgcrypt = libgcrypt_1_6;
+  };
 
   gnunet_svn = lowPrio (callPackage ../applications/networking/p2p/gnunet/svn.nix {
-    libgcrypt = libgcrypt_git;
+    libgcrypt = libgcrypt_1_6;
   });
 
   gocr = callPackage ../applications/graphics/gocr { };
@@ -7979,6 +8857,7 @@ let
   };
 
   graphicsmagick = callPackage ../applications/graphics/graphicsmagick { };
+  graphicsmagick_q16 = callPackage ../applications/graphics/graphicsmagick { quantumdepth = 16; };
 
   graphicsmagick137 = callPackage ../applications/graphics/graphicsmagick/1.3.7.nix {
     libpng = libpng12;
@@ -8016,10 +8895,6 @@ let
     inherit (gnome) GConf;
   };
 
-  gnome_terminator = callPackage ../applications/misc/gnome_terminator {
-    vte = gnome.vte.override { pythonSupport = true; };
-  };
-
   googleearth = callPackage_i686 ../applications/misc/googleearth { };
 
   google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin {
@@ -8040,13 +8915,17 @@ let
 
   gv = callPackage ../applications/misc/gv { };
 
+  guvcview = callPackage ../os-specific/linux/guvcview { };
+
   hello = callPackage ../applications/misc/hello/ex-2 { };
 
   herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
 
+  hexchat = callPackage ../applications/networking/irc/hexchat { };
+
   hexedit = callPackage ../applications/editors/hexedit { };
 
-  hipchat = callPackage_i686 ../applications/networking/instant-messengers/hipchat { };
+  hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
 
   homebank = callPackage ../applications/office/homebank { };
 
@@ -8065,6 +8944,8 @@ let
     cairo = cairo.override { xcbSupport = true; };
   };
 
+  i3minator = callPackage ../tools/misc/i3minator { };
+
   i3status = callPackage ../applications/window-managers/i3/status.nix { };
 
   i810switch = callPackage ../os-specific/linux/i810switch { };
@@ -8093,6 +8974,8 @@ let
 
   id3v2 = callPackage ../applications/audio/id3v2 { };
 
+  ifenslave = callPackage ../os-specific/linux/ifenslave { };
+
   ii = callPackage ../applications/networking/irc/ii { };
 
   ike = callPackage ../applications/ike { };
@@ -8117,6 +9000,8 @@ let
     inherit (pythonPackages) pyopengl;
   };
 
+  inferno = callPackage_i686 ../applications/inferno { };
+
   inkscape = callPackage ../applications/graphics/inkscape {
     inherit (pythonPackages) lxml;
     lcms = lcms2;
@@ -8157,6 +9042,8 @@ let
 
   jigdo = callPackage ../applications/misc/jigdo { };
 
+  jitsi = callPackage ../applications/networking/instant-messengers/jitsi { };
+
   joe = callPackage ../applications/editors/joe { };
 
   jbrout = callPackage ../applications/graphics/jbrout {
@@ -8197,6 +9084,8 @@ let
 
   lastwatch = callPackage ../applications/audio/lastwatch { };
 
+  lastfmsubmitd = callPackage ../applications/audio/lastfmsubmitd { };
+
   lbdb = callPackage ../tools/misc/lbdb { };
 
   lci = callPackage ../applications/science/logic/lci {};
@@ -8213,16 +9102,18 @@ let
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2 gnome_vfs;
     zip = zip.override { enableNLS = false; };
-    boost = boost149;
+    boost = boost155;
     jdk = openjdk;
     fontsConf = makeFontsConf {
       fontDirectories = [
         freefont_ttf xorg.fontmiscmisc xorg.fontbhttf
       ];
     };
-    poppler = poppler_0_18;
     clucene_core = clucene_core_2;
     lcms = lcms2;
+    harfbuzz = harfbuzz.override {
+      withIcu = true; withGraphite2 = true;
+    };
   };
 
   liferea = callPackage ../applications/networking/newsreaders/liferea { };
@@ -8236,6 +9127,8 @@ let
   ledger = callPackage ../applications/office/ledger/2.6.3.nix { };
   ledger3 = callPackage ../applications/office/ledger/3.0.nix { };
 
+  lighttable = callPackage ../applications/editors/lighttable {};
+
   links2 = callPackage ../applications/networking/browsers/links2 { };
 
   linphone = callPackage ../applications/networking/instant-messengers/linphone rec {
@@ -8244,12 +9137,22 @@ let
     libosip = libosip_3;
   };
 
-  linuxsampler = callPackage ../applications/audio/linuxsampler { };
+  linuxsampler = callPackage ../applications/audio/linuxsampler {
+    bison = bison2;
+  };
+
+  llpp = callPackage ../applications/misc/llpp { inherit (ocamlPackages) lablgl; };
 
   lmms = callPackage ../applications/audio/lmms { };
 
+  lrzsz = callPackage ../tools/misc/lrzsz { };
+
+  luminanceHDR = callPackage ../applications/graphics/luminance-hdr { };
+
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
+  handbrake = callPackage ../applications/video/handbrake { };
+
   lynx = callPackage ../applications/networking/browsers/lynx { };
 
   lyx = callPackage ../applications/misc/lyx { };
@@ -8258,6 +9161,8 @@ let
 
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
+  mcpp = callPackage ../development/compilers/mcpp { };
+
   mda_lv2 = callPackage ../applications/audio/mda-lv2 { };
 
   meld = callPackage ../applications/version-management/meld {
@@ -8272,7 +9177,7 @@ let
     guiSupport = false; # use mercurialFull to get hgk GUI
   };
 
-  mercurialFull = lowPrio (appendToName "full" (pkgs.mercurial.override { guiSupport = true; }));
+  mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
 
   merkaartor = callPackage ../applications/misc/merkaartor { };
 
@@ -8282,15 +9187,7 @@ let
 
   mid2key = callPackage ../applications/audio/mid2key { };
 
-  midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
-    inherit imagemagick intltool python pkgconfig webkit libxml2
-      which gettext makeWrapper file libidn sqlite docutils libnotify
-      vala dbus_glib glib_networking;
-    inherit gtk3 glib;
-    inherit (gnome) gtksourceview;
-    inherit (webkit.passthru.args) libsoup;
-    inherit (xlibs) kbproto xproto libXScrnSaver scrnsaverproto;
-  };
+  midori = callPackage ../applications/networking/browsers/midori { };
 
   midoriWrapper = wrapFirefox
     { browser = midori; browserName = "midori"; desktopName = "Midori";
@@ -8301,6 +9198,8 @@ let
 
   minicom = callPackage ../tools/misc/minicom { };
 
+  minimodem = callPackage ../applications/audio/minimodem { };
+
   minidjvu = callPackage ../applications/graphics/minidjvu { };
 
   mirage = callPackage ../applications/graphics/mirage {};
@@ -8311,6 +9210,8 @@ let
 
   mmex = callPackage ../applications/office/mmex { };
 
+  moc = callPackage ../applications/audio/moc { };
+
   monkeysAudio = callPackage ../applications/audio/monkeys-audio { };
 
   monodevelop = callPackage ../applications/editors/monodevelop {
@@ -8336,6 +9237,10 @@ let
 
   mopidy = callPackage ../applications/audio/mopidy { };
 
+  mopidy-spotify = callPackage ../applications/audio/mopidy-spotify { };
+
+  mopidy-moped = callPackage ../applications/audio/mopidy-moped { };
+
   mozilla = callPackage ../applications/networking/browsers/mozilla {
     inherit (gnome) libIDL;
   };
@@ -8349,6 +9254,8 @@ let
 
   mp3info = callPackage ../applications/audio/mp3info { };
 
+  mp3splt = callPackage ../applications/audio/mp3splt { };
+
   mpc123 = callPackage ../applications/audio/mpc123 { };
 
   mpg123 = callPackage ../applications/audio/mpg123 { };
@@ -8357,16 +9264,19 @@ let
 
   mpc_cli = callPackage ../applications/audio/mpc { };
 
+  ncmpc = callPackage ../applications/audio/ncmpc { };
+
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
 
   normalize = callPackage ../applications/audio/normalize { };
 
   mplayer = callPackage ../applications/video/mplayer {
     pulseSupport = config.pulseaudio or false;
+    vdpauSupport = config.mplayer.vdpauSupport or false;
   };
 
   mplayer2 = callPackage ../applications/video/mplayer2 {
-    ffmpeg = ffmpeg_1;
+    ffmpeg = libav_9; # see https://trac.macports.org/ticket/44386
   };
 
   MPlayerPlugin = browser:
@@ -8377,6 +9287,13 @@ let
       # !!! should depend on MPlayer
     };
 
+  mpv = callPackage ../applications/video/mpv {
+    lua = lua5_1;
+    bs2bSupport = true;
+    quviSupport = true;
+    cacaSupport = true;
+  };
+
   mrxvt = callPackage ../applications/misc/mrxvt { };
 
   multisync = callPackage ../applications/misc/multisync {
@@ -8388,10 +9305,20 @@ let
       withLibdnssdCompat = true;
     };
     jackSupport = config.mumble.jackSupport or false;
+    speechdSupport = config.mumble.speechdSupport or false;
+  };
+
+  murmur = callPackage ../applications/networking/mumble/murmur.nix {
+    avahi = avahi.override {
+      withLibdnssdCompat = true;
+    };
+    iceSupport = config.murmur.iceSupport or true;
   };
 
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
 
+  pcmanfm = callPackage ../applications/misc/pcmanfm { };
+
   ruby_gpgme = callPackage ../development/libraries/ruby_gpgme {
     ruby = ruby19;
     hoe = rubyLibs.hoe;
@@ -8399,6 +9326,8 @@ let
 
   ruby_ncursesw_sup = callPackage ../development/libraries/ruby_ncursesw_sup { };
 
+  shotcut = callPackage ../applications/video/shotcut { mlt = mlt-qt5; };
+
   smplayer = callPackage ../applications/video/smplayer { };
 
   sup = with rubyLibs; callPackage ../applications/networking/mailreaders/sup {
@@ -8406,15 +9335,28 @@ let
       cursesSupport = true;
     };
 
-    inherit gettext highline iconv locale lockfile mime_types rmail_sup text
-      trollop unicode xapian_ruby which;
+    inherit gettext highline iconv locale lockfile rmail_sup
+      text trollop unicode xapian_ruby which;
+
+    # See https://github.com/NixOS/nixpkgs/issues/1804 and
+    # https://github.com/NixOS/nixpkgs/issues/2146
+    bundler = pkgs.lib.overrideDerivation pkgs.rubyLibs.bundler (
+      oldAttrs: {
+        dontPatchShebangs = 1;
+      }
+    );
 
     chronic      = chronic_0_9_1;
     gpgme        = ruby_gpgme;
+    mime_types   = mime_types_1_25;
     ncursesw_sup = ruby_ncursesw_sup;
-    rake         = rake_10_1_0;
+    rake         = rubyLibs.rake_10_1_0;
   };
 
+  synfigstudio = callPackage ../applications/graphics/synfigstudio { };
+
+  sxhkd = callPackage ../applications/window-managers/sxhkd { };
+
   msmtp = callPackage ../applications/networking/msmtp { };
 
   imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix {
@@ -8441,6 +9383,8 @@ let
 
   ncdu = callPackage ../tools/misc/ncdu { };
 
+  ncdc = callPackage ../applications/networking/p2p/ncdc { };
+
   nedit = callPackage ../applications/editors/nedit {
     motif = lesstif;
   };
@@ -8469,9 +9413,7 @@ let
 
   ogmtools = callPackage ../applications/video/ogmtools { };
 
-  omxplayer = callPackage ../applications/video/omxplayer {
-    stdenv = overrideGCC stdenv gcc47;
-  };
+  omxplayer = callPackage ../applications/video/omxplayer { };
 
   oneteam = callPackage ../applications/networking/instant-messengers/oneteam {};
 
@@ -8487,8 +9429,12 @@ let
     inherit (pkgs.kde4) kdelibs;
   };
 
+  opusfile = callPackage ../applications/audio/opusfile { };
+
   opusTools = callPackage ../applications/audio/opus-tools { };
 
+  pamixer = callPackage ../applications/audio/pamixer { };
+
   pan = callPackage ../applications/networking/newsreaders/pan {
     spellChecking = false;
   };
@@ -8499,11 +9445,14 @@ let
 
   paraview = callPackage ../applications/graphics/paraview { };
 
+  pencil = callPackage ../applications/graphics/pencil { };
+
   petrifoo = callPackage ../applications/audio/petrifoo {
     inherit (gnome) libgnomecanvas;
   };
 
   pdftk = callPackage ../tools/typesetting/pdftk { };
+  pdfgrep  = callPackage ../tools/typesetting/pdfgrep { };
 
   pianobar = callPackage ../applications/audio/pianobar { };
 
@@ -8517,7 +9466,7 @@ let
     openssl = if config.pidgin.openssl or true then openssl else null;
     gnutls = if config.pidgin.gnutls or false then gnutls else null;
     libgcrypt = if config.pidgin.gnutls or false then libgcrypt else null;
-    inherit (gnome) startupnotification;
+    startupnotification = libstartup_notification;
   };
 
   pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex {
@@ -8548,6 +9497,10 @@ let
     inherit (xorg) libXpm;
   };
 
+  potrace = callPackage ../applications/graphics/potrace {};
+
+  posterazor = callPackage ../applications/misc/posterazor { };
+
   pqiv = callPackage ../applications/graphics/pqiv { };
 
   qiv = callPackage ../applications/graphics/qiv { };
@@ -8558,13 +9511,17 @@ let
 
   pstree = callPackage ../applications/misc/pstree { };
 
+  pulseview = callPackage ../applications/science/electronics/pulseview { };
+
   puredata = callPackage ../applications/audio/puredata { };
 
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
-  qemu = callPackage ../applications/virtualization/qemu { };
+  qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
+
+  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { };
 
-  qemuImage = callPackage ../applications/virtualization/qemu/linux-img { };
+  qemu = callPackage ../applications/virtualization/qemu { };
 
   qmmp = callPackage ../applications/audio/qmmp { };
 
@@ -8572,8 +9529,6 @@ let
 
   qsynth = callPackage ../applications/audio/qsynth { };
 
-  qtcreator = callPackage ../development/qtcreator { };
-
   qtpfsgui = callPackage ../applications/graphics/qtpfsgui { };
 
   qtractor = callPackage ../applications/audio/qtractor { };
@@ -8582,6 +9537,12 @@ let
     inherit (pythonPackages) mutagen;
   };
 
+  quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet {
+    inherit (pythonPackages) mutagen;
+    withGstPlugins = true;
+    gst_plugins_bad = null;
+  };
+
   rakarrack = callPackage ../applications/audio/rakarrack {
     inherit (xorg) libXpm libXft;
     fltk = fltk13;
@@ -8594,7 +9555,7 @@ let
   ratpoison = callPackage ../applications/window-managers/ratpoison { };
 
   rawtherapee = callPackage ../applications/graphics/rawtherapee {
-    fftw = fftw.override {float = true;};
+    fftw = fftwSinglePrec;
   };
 
   rcs = callPackage ../applications/version-management/rcs { };
@@ -8607,11 +9568,17 @@ let
     qt = qt4;
   };
 
+  retroshare06 = lowPrio (callPackage ../applications/networking/p2p/retroshare/0.6.nix {
+    qt = qt4;
+  });
+
   rsync = callPackage ../applications/networking/sync/rsync {
     enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD);
     enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false);
   };
 
+  rtl-sdr = callPackage ../applications/misc/rtl-sdr { };
+
   rubyripper = callPackage ../applications/audio/rubyripper {};
 
   rxvt = callPackage ../applications/misc/rxvt { };
@@ -8620,6 +9587,7 @@ let
   rxvt_unicode = callPackage ../applications/misc/rxvt_unicode {
     perlSupport = true;
     gdkPixbufSupport = true;
+    unicode3Support = true;
   };
 
   sakura = callPackage ../applications/misc/sakura {
@@ -8628,10 +9596,14 @@ let
 
   sbagen = callPackage ../applications/misc/sbagen { };
 
+  scite = callPackage ../applications/editors/scite { };
+
   scribus = callPackage ../applications/office/scribus {
     inherit (gnome) libart_lgpl;
   };
 
+  seafile-client = callPackage ../applications/networking/seafile-client { };
+
   seeks = callPackage ../tools/networking/p2p/seeks {
     opencv = opencv_2_1;
   };
@@ -8642,26 +9614,36 @@ let
 
   seq24 = callPackage ../applications/audio/seq24 { };
 
+  setbfree = callPackage ../applications/audio/setbfree { };
+
   sflphone = callPackage ../applications/networking/instant-messengers/sflphone {
     gtk = gtk3;
   };
 
   siproxd = callPackage ../applications/networking/siproxd { };
 
-  skype = callPackage_i686 ../applications/networking/instant-messengers/skype {
-    usePulseAudio = config.pulseaudio or true;
-  };
+  skype = callPackage_i686 ../applications/networking/instant-messengers/skype { };
 
   skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { };
 
   skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { };
 
+  slrn = callPackage ../applications/networking/newsreaders/slrn { };
+
+  spideroak = callPackage ../applications/networking/spideroak { };
+
   ssvnc = callPackage ../applications/networking/remote/ssvnc { };
 
   st = callPackage ../applications/misc/st {
     conf = config.st.conf or null;
   };
 
+  sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d { })
+                                 // (callPackage ../applications/misc/sweethome3d/editors.nix {
+                                      sweethome3dApp = sweethome3d.application;
+                                    })
+                                 );
+
   sxiv = callPackage ../applications/graphics/sxiv { };
 
   bittorrentSync = callPackage ../applications/networking/bittorrentsync { };
@@ -8676,27 +9658,23 @@ let
 
   # 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;
+    perlPackages = perl514Packages;
     perl = perl514;
   };
 
+  curaengine = callPackage ../applications/misc/curaengine { };
+
+  cura = callPackage ../applications/misc/cura { };
+
+  printrun = callPackage ../applications/misc/printrun { };
+
   slim = callPackage ../applications/display-managers/slim {
     libpng = libpng12;
   };
 
-  sndBase = lowPrio (builderDefsPackage (import ../applications/audio/snd) {
-    inherit fetchurl stdenv stringsWithDeps lib fftw;
-    inherit pkgconfig gmp gettext;
-    inherit (xlibs) libXpm libX11;
-    inherit gtk glib;
-  });
+  smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
-  snd = sndBase.passthru.function {
-    inherit mesa libtool jackaudio alsaLib;
-    guile = guile_1_8;
-  };
+  snd = callPackage ../applications/audio/snd { };
 
   shntool = callPackage ../applications/audio/shntool { };
 
@@ -8721,33 +9699,34 @@ let
 
   stalonetray = callPackage ../applications/window-managers/stalonetray {};
 
+  stp = callPackage ../applications/science/logic/stp {};
+
   stumpwm = lispPackages.stumpwm;
 
   sublime = callPackage ../applications/editors/sublime { };
 
+  sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
+
   subversion = callPackage ../applications/version-management/subversion/default.nix {
     bdbSupport = true;
     httpServer = false;
     httpSupport = true;
-    sslSupport = true;
     pythonBindings = false;
     perlBindings = false;
     javahlBindings = false;
     saslSupport = false;
-    compressionSupport = true;
     httpd = apacheHttpd;
     sasl = cyrus_sasl;
   };
 
-  subversionClient = lowPrio (appendToName "client" (subversion.override {
+  subversionClient = appendToName "client" (subversion.override {
     bdbSupport = false;
     perlBindings = true;
     pythonBindings = true;
-  }));
+  });
 
   surf = callPackage ../applications/misc/surf {
-    libsoup = gnome.libsoup;
-    webkit = webkit_gtk2;
+    webkit = webkitgtk2;
   };
 
   svk = perlPackages.SVK;
@@ -8759,6 +9738,10 @@ let
     gpgSupport = true;
   };
 
+  symlinks = callPackage ../tools/system/symlinks { };
+
+  syncthing = callPackage ../applications/networking/syncthing { };
+
   # linux only by now
   synergy = callPackage ../applications/misc/synergy { };
 
@@ -8766,7 +9749,7 @@ let
 
   tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
-      pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
+      pycryptopp sqlite3 darcsver setuptoolsTrial setuptoolsDarcs
       numpy pyasn1 mock;
   };
 
@@ -8779,14 +9762,17 @@ let
   };
 
   teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
+  teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
   taskjuggler = callPackage ../applications/misc/taskjuggler { };
 
   taskwarrior = callPackage ../applications/misc/taskwarrior { };
 
-  telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble {
-    inherit (pkgs.gnome) libsoup;
-  };
+  taskserver = callPackage ../servers/misc/taskserver { };
+
+  telegram-cli = callPackage ../applications/networking/instant-messengers/telegram-cli/default.nix { };
+
+  telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { };
 
   telepathy_haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {};
 
@@ -8798,28 +9784,48 @@ let
 
   telepathy_salut = callPackage ../applications/networking/instant-messengers/telepathy/salut {};
 
+  terminator = callPackage ../applications/misc/terminator {
+    vte = gnome.vte.override { pythonSupport = true; };
+    inherit (pythonPackages) notify;
+  };
+
   tesseract = callPackage ../applications/graphics/tesseract { };
 
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
 
   thunderbird = callPackage ../applications/networking/mailreaders/thunderbird {
     inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+    libpng = libpng_apng;
+  };
+
+  thunderbird-bin = callPackage ../applications/networking/mailreaders/thunderbird-bin {
+    gconf = pkgs.gnome.GConf;
+    inherit (pkgs.gnome) libgnome libgnomeui;
+    inherit (pkgs.xlibs) libX11 libXScrnSaver libXext
+      libXinerama libXrender libXt;
   };
 
   tig = gitAndTools.tig;
 
   timidity = callPackage ../tools/misc/timidity { };
 
+  tint2 = callPackage ../applications/misc/tint2 { };
+
   tkcvs = callPackage ../applications/version-management/tkcvs { };
 
   tla = callPackage ../applications/version-management/arch { };
 
+  todo-txt-cli = callPackage ../applications/office/todo.txt-cli { };
+
   torchat = callPackage ../applications/networking/instant-messengers/torchat {
     wrapPython = pythonPackages.wrapPython;
   };
 
   toxic = callPackage ../applications/networking/instant-messengers/toxic { };
 
+  transcode = callPackage ../applications/audio/transcode { };
+
   transmission = callPackage ../applications/networking/p2p/transmission { };
   transmission_gtk = transmission.override { enableGTK3 = true; };
 
@@ -8827,20 +9833,15 @@ let
 
   trayer = callPackage ../applications/window-managers/trayer { };
 
-  tree = callPackage ../tools/system/tree {
-    # use gccApple to compile on darwin as the configure script adds a
-    # -no-cpp-precomp flag, which is not compatible with the default gcc
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  tree = callPackage ../tools/system/tree {};
 
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
-  twinkle = callPackage ../applications/networking/instant-messengers/twinkle {
-    ccrtp = ccrtp_1_8;
-    libzrtpcpp = libzrtpcpp_1_6;
-  };
+  twister = callPackage ../applications/networking/p2p/twister { };
+
+  twmn = callPackage ../applications/misc/twmn { };
+
+  twinkle = callPackage ../applications/networking/instant-messengers/twinkle { };
 
   umurmur = callPackage ../applications/networking/umurmur { };
 
@@ -8853,18 +9854,18 @@ let
 
   uwimap = callPackage ../tools/networking/uwimap { };
 
-  uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
-    inherit pkgconfig webkit makeWrapper glib_networking python3;
-    inherit glib pango cairo gdk_pixbuf atk;
-    inherit (xlibs) libX11 kbproto;
-    inherit (gnome) libsoup;
-    gtk = gtk3;
+  uzbl = callPackage ../applications/networking/browsers/uzbl {
+    webkit = webkitgtk2;
   };
 
+  uTox = callPackage ../applications/networking/instant-messengers/utox { };
+
   vanitygen = callPackage ../applications/misc/vanitygen { };
 
   vbindiff = callPackage ../applications/editors/vbindiff { };
 
+  vcprompt = callPackage ../applications/version-management/vcprompt { };
+
   vdpauinfo = callPackage ../tools/X11/vdpauinfo { };
 
   veracity = callPackage ../applications/version-management/veracity {};
@@ -8876,17 +9877,14 @@ let
     flup = pythonPackages.flup;
   };
 
-  vim = callPackage ../applications/editors/vim {
-    # for Objective-C compilation
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  vim = callPackage ../applications/editors/vim { };
+
+  macvim = callPackage ../applications/editors/vim/macvim.nix { };
 
   vimHugeX = vim_configurable;
 
   vim_configurable = callPackage ../applications/editors/vim/configurable.nix {
-    inherit (pkgs) fetchurl stdenv ncurses pkgconfig gettext
+    inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext
       composableDerivation lib config glib gtk python perl tcl ruby;
     inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
       libICE;
@@ -8904,10 +9902,31 @@ let
 
   vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; });
 
-  virtviewer = callPackage ../applications/virtualization/virt-viewer {};
+  qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix {
+    inherit (pkgs) fetchgit stdenv ncurses pkgconfig gettext
+      composableDerivation lib config python perl tcl ruby qt4;
+    inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
+      libICE;
+
+    inherit (pkgs) stdenvAdapters gccApple;
+
+    features = "huge"; # one of  tiny, small, normal, big or huge
+    lua = pkgs.lua5;
+    flags = [ "python" "X11" ]; # only flag "X11" by now
+  });
+
+  vimpc = callPackage ../applications/audio/vimpc { };
+
+  virtviewer = callPackage ../applications/virtualization/virt-viewer {
+    gtkvnc = gtkvnc.override { enableGTK3 = true; };
+    spice_gtk = spice_gtk.override { enableGTK3 = true; };
+  };
   virtmanager = callPackage ../applications/virtualization/virt-manager {
     inherit (gnome) gnome_python;
-    vte = gnome.vte.override { pythonSupport = true; };
+    vte = gnome3.vte;
+    dconf = gnome3.dconf;
+    gtkvnc = gtkvnc.override { enableGTK3 = true; };
+    spice_gtk = spice_gtk.override { enableGTK3 = true; };
   };
 
   virtinst = callPackage ../applications/virtualization/virtinst {};
@@ -8920,15 +9939,17 @@ let
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc {
-    ffmpeg = ffmpeg_1;
-  };
+  vlc = callPackage ../applications/video/vlc { };
+
+  vmpk = callPackage ../applications/audio/vmpk { };
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
   vorbisTools = callPackage ../applications/audio/vorbis-tools { };
 
-  vue = callPackage ../applications/misc/vue {};
+  vue = callPackage ../applications/misc/vue {
+    jre = icedtea7_jre;
+  };
 
   vwm = callPackage ../applications/window-managers/vwm { };
 
@@ -8936,24 +9957,19 @@ let
     graphicsSupport = false;
   };
 
-  weechat = callPackage ../applications/networking/irc/weechat {
-    # weechat crashes on /exit when using gnutls 3.1.x. gnutls 3.2.x works.
-    gnutls = gnutls32;
-  };
+  weechat = callPackage ../applications/networking/irc/weechat { };
 
-  weston = callPackage ../applications/window-managers/weston {
-    cairo = cairo.override {
-      glSupport = true;
-    };
-  };
+  weechatDevel = lowPrio (callPackage ../applications/networking/irc/weechat/devel.nix { });
+
+  weston = callPackage ../applications/window-managers/weston { };
 
   windowmaker = callPackage ../applications/window-managers/windowmaker { };
 
   winswitch = callPackage ../tools/X11/winswitch { };
 
   wings = callPackage ../applications/graphics/wings {
-    erlang = erlangR14B04;
-    esdl = esdl.override { erlang = erlangR14B04; };
+    erlang = erlangR14;
+    esdl = esdl.override { erlang = erlangR14; };
   };
 
   wmname = callPackage ../applications/misc/wmname { };
@@ -8985,10 +10001,10 @@ let
 
   wrapFirefox =
     { browser, browserName ? "firefox", desktopName ? "Firefox", nameSuffix ? ""
-    , icon ? "${browser}/lib/${browser.name}/icons/mozicon128.png" }:
+    , icon ? "${browser}/lib/${browser.name}/browser/icons/mozicon128.png" }:
     let
       cfg = stdenv.lib.attrByPath [ browserName ] {} config;
-      enableAdobeFlash = cfg.enableAdobeFlash or true;
+      enableAdobeFlash = cfg.enableAdobeFlash or false;
       enableGnash = cfg.enableGnash or false;
     in
     import ../applications/networking/browsers/firefox/wrapper.nix {
@@ -9004,11 +10020,10 @@ let
           ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin
           ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
           ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
+          ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell
          );
-      libs =
-        if cfg.enableQuakeLive or false
-        then with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]
-        else [ ];
+      libs = [ gstreamer gst_plugins_base ] ++ lib.optionals (cfg.enableQuakeLive or false)
+             (with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]);
       gtk_modules = [ libcanberra ];
     };
 
@@ -9028,7 +10043,9 @@ let
 
   xbindkeys = callPackage ../tools/X11/xbindkeys { };
 
-  xbmc = callPackage ../applications/video/xbmc { };
+  xbmc = callPackage ../applications/video/xbmc {
+    ffmpeg = ffmpeg_1;
+  };
 
   xca = callPackage ../applications/misc/xca { };
 
@@ -9048,11 +10065,15 @@ let
 
   xdaliclock = callPackage ../tools/misc/xdaliclock {};
 
+  xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { };
+
   xdg_utils = callPackage ../tools/X11/xdg-utils { };
 
   xdotool = callPackage ../tools/X11/xdotool { };
 
-  xen = callPackage ../applications/virtualization/xen { };
+  xen = callPackage ../applications/virtualization/xen {
+    stdenv = overrideGCC stdenv gcc45;
+  };
 
   xfe = callPackage ../applications/misc/xfe {
     fox = fox_1_6;
@@ -9097,6 +10118,8 @@ let
 
   xterm = callPackage ../applications/misc/xterm { };
 
+  finalterm = callPackage ../applications/misc/finalterm { };
+
   xtrace = callPackage ../tools/X11/xtrace { };
 
   xlaunch = callPackage ../tools/X11/xlaunch { };
@@ -9105,6 +10128,8 @@ let
 
   xmove = callPackage ../applications/misc/xmove { };
 
+  xmp = callPackage ../applications/audio/xmp { };
+
   xnee = callPackage ../tools/X11/xnee {
     # Work around "missing separator" error.
     stdenv = overrideInStdenv stdenv [ gnumake381 ];
@@ -9116,22 +10141,41 @@ let
 
   yate = callPackage ../applications/misc/yate { };
 
+  inherit (gnome3) yelp;
+
   qgis = callPackage ../applications/misc/qgis {};
 
+  qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
+
+  ykpers = callPackage ../applications/misc/ykpers {};
+
   yoshimi = callPackage ../applications/audio/yoshimi {
     fltk = fltk13;
   };
 
   zathuraCollection = recurseIntoAttrs
     (let callPackage = newScope pkgs.zathuraCollection; in
-      import ../applications/misc/zathura { inherit callPackage pkgs fetchurl; });
+      import ../applications/misc/zathura {
+        inherit callPackage pkgs fetchurl;
+        useMupdf = config.zathura.useMupdf or false;
+      });
 
   zathura = zathuraCollection.zathuraWrapper;
 
-  girara = callPackage ../applications/misc/girara { };
+  zed = callPackage ../applications/editors/zed { };
+
+  zeroc_ice = callPackage ../development/libraries/zeroc-ice { };
+
+  girara = callPackage ../applications/misc/girara {
+    gtk = gtk3;
+  };
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
+  zotero = callPackage ../applications/office/zotero {
+    xulrunner = xulrunner_30;
+  };
+
   zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
 
 
@@ -9148,6 +10192,8 @@ let
     libsigcxx = libsigcxx12;
   };
 
+  astromenace = callPackage ../games/astromenace { };
+
   atanks = callPackage ../games/atanks {};
 
   ballAndPaddle = callPackage ../games/ball-and-paddle {
@@ -9162,9 +10208,7 @@ let
 
   blackshadeselite = callPackage ../games/blackshadeselite { };
 
-  blobby = callPackage ../games/blobby {
-    boost = boost149;
-  };
+  blobby = callPackage ../games/blobby { };
 
   bsdgames = callPackage ../games/bsdgames { };
 
@@ -9174,6 +10218,8 @@ let
 
   castle_combat = callPackage ../games/castle-combat { };
 
+  chessdb = callPackage ../games/chessdb { };
+
   construoBase = lowPrio (callPackage ../games/construo {
     mesa = null;
     freeglut = null;
@@ -9185,6 +10231,9 @@ let
 
   crack_attack = callPackage ../games/crack-attack { };
 
+  crafty = callPackage ../games/crafty { };
+  craftyFull = appendToName "full" (crafty.override { fullVariant = true; });
+
   crrcsim = callPackage ../games/crrcsim {};
 
   dhewm3 = callPackage ../games/dhewm3 {};
@@ -9197,26 +10246,33 @@ let
     };
   };
 
+  dwarf_fortress_2014 = callPackage_i686 ../games/dwarf-fortress/df2014.nix {
+    SDL_image = pkgsi686Linux.SDL_image.override {
+      libpng = pkgsi686Linux.libpng12;
+    };
+  };
+
   dwarf_fortress_modable = appendToName "moddable" (dwarf_fortress.override {
     copyDataDirectory = true;
   });
 
+  dwarf_fortress_2014_modable = appendToName "moddable" (dwarf_fortress_2014.override {
+    copyDataDirectory = true;
+  });
+
   dwarf-therapist = callPackage ../games/dwarf-therapist { };
 
   d1x_rebirth = callPackage ../games/d1x-rebirth { };
 
   d2x_rebirth = callPackage ../games/d2x-rebirth { };
 
-  eduke32 = callPackage ../games/eduke32 {
-    stdenv = overrideGCC stdenv gcc47;
-  };
+  eboard = callPackage ../games/eboard { };
+
+  eduke32 = callPackage ../games/eduke32 { };
 
   egoboo = callPackage ../games/egoboo { };
 
-  exult = callPackage ../games/exult {
-    stdenv = overrideGCC stdenv gcc42;
-    libpng = libpng12;
-  };
+  exult = callPackage ../games/exult { };
 
   flightgear = callPackage ../games/flightgear { };
 
@@ -9259,6 +10315,8 @@ let
 
   icbm3d = callPackage ../games/icbm3d { };
 
+  ingen = callPackage ../applications/audio/ingen { };
+
   instead = callPackage ../games/instead {
     lua = lua5;
   };
@@ -9277,18 +10335,28 @@ let
 
   micropolis = callPackage ../games/micropolis { };
 
+  mnemosyne = callPackage ../games/mnemosyne {
+    inherit (pythonPackages) matplotlib cherrypy sqlite3;
+  };
+
   naev = callPackage ../games/naev { };
 
+  nexuiz = callPackage ../games/nexuiz { };
+
   njam = callPackage ../games/njam { };
 
   oilrush = callPackage ../games/oilrush { };
 
+  openra = callPackage ../games/openra { };
+
   openttd = callPackage ../games/openttd {
     zlib = zlibStatic;
   };
 
   opentyrian = callPackage ../games/opentyrian { };
 
+  openxcom = callPackage ../games/openxcom { };
+
   pingus = callPackage ../games/pingus {};
 
   pioneers = callPackage ../games/pioneers { };
@@ -9312,8 +10380,8 @@ let
 
   racer = callPackage ../games/racer { };
 
-  residualvm = callPackage ../games/residualvm { 
-    openglSupport = mesaSupported; 
+  residualvm = callPackage ../games/residualvm {
+    openglSupport = mesaSupported;
   };
 
   rigsofrods = callPackage ../games/rigsofrods {
@@ -9376,6 +10444,10 @@ let
 
   tennix = callPackage ../games/tennix { };
 
+  tibia = callPackage ../games/tibia { };
+
+  tintin = callPackage ../games/tintin { };
+
   tpm = callPackage ../games/thePenguinMachine { };
 
   tremulous = callPackage ../games/tremulous { };
@@ -9395,11 +10467,14 @@ let
 
   trigger = callPackage ../games/trigger { };
 
+  typespeed = callPackage ../games/typespeed { };
+
   ufoai = callPackage ../games/ufoai { };
 
   ultimatestunts = callPackage ../games/ultimatestunts { };
 
   ultrastardx = callPackage ../games/ultrastardx {
+    ffmpeg = ffmpeg_0_6;
     lua = lua5;
   };
 
@@ -9426,7 +10501,7 @@ let
   warzone2100 = callPackage ../games/warzone2100 { };
 
   widelands = callPackage ../games/widelands {
-    libpng = libpng12;
+    lua = lua5_1;
   };
 
   worldofgoo_demo = callPackage ../games/worldofgoo {
@@ -9456,9 +10531,29 @@ let
 
   keen4 = callPackage ../games/keen4 { };
 
+  zeroad = callPackage ../games/0ad { };
 
   ### DESKTOP ENVIRONMENTS
 
+  cinnamon = recurseIntoAttrs rec {
+    callPackage = newScope pkgs.cinnamon;
+    inherit (gnome3) gnome_common libgnomekbd gnome-menus zenity;
+
+    muffin = callPackage ../desktops/cinnamon/muffin.nix { } ;
+
+    cinnamon-control-center = callPackage ../desktops/cinnamon/cinnamon-control-center.nix{ };
+
+    cinnamon-settings-daemon = callPackage ../desktops/cinnamon/cinnamon-settings-daemon.nix{ };
+
+    cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ;
+
+    cinnamon-desktop = callPackage ../desktops/cinnamon/cinnamon-desktop.nix { };
+
+    cinnamon-translations = callPackage ../desktops/cinnamon/cinnamon-translations.nix { };
+
+    cjs = callPackage ../desktops/cinnamon/cjs.nix { };
+  };
+
   enlightenment = callPackage ../desktops/enlightenment { };
 
   e17 = recurseIntoAttrs (
@@ -9466,6 +10561,11 @@ let
     import ../desktops/e17 { inherit callPackage pkgs; }
   );
 
+  e18 = recurseIntoAttrs (
+    let callPackage = newScope pkgs.e18; in
+    import ../desktops/e18 { inherit callPackage pkgs; }
+  );
+
   gnome2 = callPackage ../desktops/gnome-2 {
     callPackage = pkgs.newScope pkgs.gnome2;
     self = pkgs.gnome2;
@@ -9474,34 +10574,30 @@ let
     inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils;
   };
 
-  gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 {
+  gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.10 {
     callPackage = pkgs.newScope pkgs.gnome3;
     self = pkgs.gnome3;
   });
 
+  gnome3_12 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.12 {
+    callPackage = pkgs.newScope pkgs.gnome3_12;
+  });
+
   gnome = recurseIntoAttrs gnome2;
 
   hsetroot = callPackage ../tools/X11/hsetroot { };
 
-  kde4 = recurseIntoAttrs pkgs.kde410;
+  kakasi = callPackage ../tools/text/kakasi { };
 
-  kde410 = kdePackagesFor (pkgs.kde410 // {
-      boost = boost149;
-      eigen = eigen2;
-      libotr = libotr_3_2;
-      libusb = libusb1;
-      ffmpeg = ffmpeg_1;
-      libcanberra = libcanberra_kde;
-    }) ../desktops/kde-4.10;
+  kde4 = recurseIntoAttrs pkgs.kde412;
 
- kde411 = kdePackagesFor (pkgs.kde411 // {
-      boost = boost149;
+  kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 );
+
+  kde412 = kdePackagesFor (pkgs.kde412 // {
       eigen = eigen2;
-      libotr = libotr_3_2;
       libusb = libusb1;
-      ffmpeg = ffmpeg_1;
       libcanberra = libcanberra_kde;
-    }) ../desktops/kde-4.11;
+    }) ../desktops/kde-4.12;
 
   kdePackagesFor = self: dir:
     let callPackageOrig = callPackage; in
@@ -9529,6 +10625,8 @@ let
 
       calligra = callPackage ../applications/office/calligra { };
 
+      colord-kde = callPackage ../tools/misc/colord-kde { };
+
       digikam = if builtins.compareVersions "4.9" kde4.release == 1 then
           callPackage ../applications/graphics/digikam/2.nix { }
         else
@@ -9542,9 +10640,13 @@ let
 
       kbibtex = callPackage ../applications/office/kbibtex { };
 
+      kde_gtk_config = callPackage ../tools/misc/kde-gtk-config { };
+
       kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { };
 
-      kdenlive = callPackage ../applications/video/kdenlive { };
+      kdeconnect = callPackage ../applications/misc/kdeconnect { };
+
+      kdenlive = callPackage ../applications/video/kdenlive { mlt = mlt-qt4; };
 
       kdesvn = callPackage ../applications/version-management/kdesvn { };
 
@@ -9584,24 +10686,34 @@ let
 
       liblikeback = callPackage ../development/libraries/liblikeback { };
 
+      libmm-qt = callPackage ../development/libraries/libmm-qt { };
+
+      libnm-qt = callPackage ../development/libraries/libnm-qt { };
+
       networkmanagement = callPackage ../tools/networking/networkmanagement { };
 
       partitionManager = callPackage ../tools/misc/partition-manager { };
 
+      plasma-nm = callPackage ../tools/networking/plasma-nm { };
+
       polkit_kde_agent = callPackage ../tools/security/polkit-kde-agent { };
 
       psi = callPackage ../applications/networking/instant-messengers/psi { };
 
-      quassel = callPackage ../applications/networking/irc/quassel { };
+      qtcurve = callPackage ../misc/themes/qtcurve { };
+
+      quassel = callPackage ../applications/networking/irc/quassel { dconf = gnome3.dconf; };
 
-      quasselDaemon = appendToName "daemon" (self.quassel.override {
+      quasselDaemon = (self.quassel.override {
         monolithic = false;
         daemon = true;
+        tag = "-daemon";
       });
 
-      quasselClient = appendToName "client" (self.quassel.override {
+      quasselClient = (self.quassel.override {
         monolithic = false;
         client = true;
+        tag = "-client";
       });
 
       rekonq = callPackage ../applications/networking/browsers/rekonq { };
@@ -9637,7 +10749,7 @@ let
 
   gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { };
 
-  gnome_themes_standard = callPackage ../misc/themes/gnome-themes-standard { };
+  gnome_themes_standard = gnome3.gnome_themes_standard;
 
   mate-icon-theme = callPackage ../misc/themes/mate-icon-theme { };
 
@@ -9649,25 +10761,6 @@ let
 
   ### SCIENCE
 
-  celestia = callPackage ../applications/science/astronomy/celestia {
-    lua = lua5_1;
-    inherit (xlibs) libXmu;
-    inherit (pkgs.gnome) gtkglext;
-  };
-
-  xplanet = callPackage ../applications/science/astronomy/xplanet { };
-
-  gravit = callPackage ../applications/science/astronomy/gravit { };
-
-  spyder = callPackage ../applications/science/spyder {
-    inherit (pythonPackages) pyflakes rope sphinx numpy scipy matplotlib; # recommended
-    inherit (pythonPackages) ipython pep8; # optional
-    inherit pylint;
-  };
-
-  stellarium = callPackage ../applications/science/astronomy/stellarium { };
-
-
   ### SCIENCE/GEOMETRY
 
   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
@@ -9687,7 +10780,6 @@ let
 
   arb = callPackage ../applications/science/biology/arb {
     lesstif = lesstif93;
-    stdenv = overrideGCC stdenv gcc42;
   };
 
   archimedes = callPackage ../applications/science/electronics/archimedes { };
@@ -9715,6 +10807,8 @@ let
 
   ### SCIENCE/MATH
 
+  arpack = callPackage ../development/libraries/science/math/arpack { };
+
   atlas = callPackage ../development/libraries/science/math/atlas {
     # The build process measures CPU capabilities and optimizes the
     # library to perform best on that particular machine. That is a
@@ -9735,10 +10829,14 @@ let
 
   liblapack = callPackage ../development/libraries/science/math/liblapack { };
 
+  liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { };
+
   openblas = callPackage ../development/libraries/science/math/openblas { };
 
   mathematica = callPackage ../applications/science/math/mathematica { };
 
+  sage = callPackage ../applications/science/math/sage { };
+
   ### SCIENCE/MOLECULAR-DYNAMICS
 
   gromacs = callPackage ../applications/science/molecular-dynamics/gromacs {
@@ -9756,11 +10854,20 @@ let
 
   ### SCIENCE/LOGIC
 
+  abc-verifier = callPackage ../applications/science/logic/abc {};
+
+  alt-ergo = callPackage ../applications/science/logic/alt-ergo {};
+
   coq = callPackage ../applications/science/logic/coq {
     inherit (ocamlPackages) findlib lablgtk;
     camlp5 = ocamlPackages.camlp5_transitional;
   };
 
+  coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
+    inherit (ocamlPackages) findlib lablgtk;
+    camlp5 = ocamlPackages.camlp5_transitional;
+  };
+
   coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
     inherit (ocamlPackages) findlib lablgtk;
     camlp5 = ocamlPackages.camlp5_transitional;
@@ -9798,6 +10905,8 @@ let
 
   logisim = callPackage ../applications/science/logic/logisim {};
 
+  ltl2ba = callPackage ../applications/science/logic/ltl2ba {};
+
   matita = callPackage ../applications/science/logic/matita {
     ocaml = ocaml_3_11_2;
     inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http
@@ -9818,6 +10927,11 @@ let
 
   picosat = callPackage ../applications/science/logic/picosat {};
 
+  prooftree = callPackage ../applications/science/logic/prooftree {
+    inherit (ocamlPackages) findlib lablgtk;
+    camlp5 = ocamlPackages.camlp5_transitional;
+  };
+
   prover9 = callPackage ../applications/science/logic/prover9 { };
 
   satallax = callPackage ../applications/science/logic/satallax {};
@@ -9830,6 +10944,25 @@ let
 
   tptp = callPackage ../applications/science/logic/tptp {};
 
+  twelf = callPackage ../applications/science/logic/twelf {
+    smlnj = if stdenv.isDarwin
+      then smlnjBootstrap
+      else smlnj;
+  };
+
+  verifast = callPackage ../applications/science/logic/verifast {};
+
+  why3 = callPackage ../applications/science/logic/why3 {};
+
+  yices = callPackage ../applications/science/logic/yices {};
+
+  z3 = callPackage ../applications/science/logic/z3 {};
+
+  boolector   = boolector15;
+  boolector15 = callPackage ../applications/science/logic/boolector {};
+  boolector16 = lowPrio (callPackage ../applications/science/logic/boolector {
+    useV16 = true;
+  });
 
   ### SCIENCE / ELECTRONICS
 
@@ -9854,7 +10987,11 @@ let
 
   ecm = callPackage ../applications/science/math/ecm { };
 
-  eukleides = callPackage ../applications/science/math/eukleides { };
+  eukleides = callPackage ../applications/science/math/eukleides {
+    texinfo = texinfo4;
+  };
+
+  fricas = callPackage ../applications/science/math/fricas { };
 
   gap = callPackage ../applications/science/math/gap { };
 
@@ -9868,11 +11005,6 @@ let
     inherit (gnome) libglade gtksourceview;
   };
 
-  R = callPackage ../applications/science/math/R {
-    inherit (xlibs) libX11 libXt;
-    texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra ]; };
-  };
-
   singular = callPackage ../applications/science/math/singular {};
 
   scilab = callPackage ../applications/science/math/scilab {
@@ -9887,6 +11019,8 @@ let
 
   weka = callPackage ../applications/science/math/weka { };
 
+  yad = callPackage ../tools/misc/yad { };
+
   yacas = callPackage ../applications/science/math/yacas { };
 
   speedcrunch = callPackage ../applications/science/math/speedcrunch {
@@ -9899,14 +11033,37 @@ let
 
   boinc = callPackage ../applications/science/misc/boinc { };
 
+  celestia = callPackage ../applications/science/astronomy/celestia {
+    lua = lua5_1;
+    inherit (xlibs) libXmu;
+    inherit (pkgs.gnome) gtkglext;
+  };
+
+  fityk = callPackage ../applications/science/misc/fityk { };
+
+  gravit = callPackage ../applications/science/astronomy/gravit { };
+
   golly = callPackage ../applications/science/misc/golly { };
 
+  megam = callPackage ../applications/science/misc/megam { };
+
+  root = callPackage ../applications/science/misc/root { };
+
   simgrid = callPackage ../applications/science/misc/simgrid { };
 
+  spyder = callPackage ../applications/science/spyder {
+    inherit (pythonPackages) pyflakes rope sphinx numpy scipy matplotlib; # recommended
+    inherit (pythonPackages) ipython pep8; # optional
+    inherit pylint;
+  };
+
+  stellarium = callPackage ../applications/science/astronomy/stellarium { };
+
   tulip = callPackage ../applications/science/misc/tulip { };
 
   vite = callPackage ../applications/science/misc/vite { };
 
+  xplanet = callPackage ../applications/science/astronomy/xplanet { };
 
   ### MISC
 
@@ -9916,9 +11073,9 @@ let
 
   auctex = callPackage ../tools/typesetting/tex/auctex { };
 
-  cups = callPackage ../misc/cups {
-    libusb = libusb1;
-  };
+  beep = callPackage ../misc/beep { };
+
+  cups = callPackage ../misc/cups { libusb = libusb1; };
 
   cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { };
 
@@ -9950,6 +11107,8 @@ let
 
   fakenes = callPackage ../misc/emulators/fakenes { };
 
+  fceux = callPackage ../misc/emulators/fceux { };
+
   foldingathome = callPackage ../misc/foldingathome { };
 
   foo2zjs = callPackage ../misc/drivers/foo2zjs {};
@@ -9960,11 +11119,13 @@ let
 
   gajim = callPackage ../applications/networking/instant-messengers/gajim { };
 
+  gammu = callPackage ../applications/misc/gammu { };
+
   gensgs = callPackage_i686 ../misc/emulators/gens-gs { };
 
   ghostscript = callPackage ../misc/ghostscript {
     x11Support = false;
-    cupsSupport = config.ghostscript.cups or true;
+    cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin);
     gnuFork = config.ghostscript.gnu or false;
   };
 
@@ -9980,10 +11141,12 @@ let
 
   hplip = callPackage ../misc/drivers/hplip { };
 
+  hplipWithPlugin = hplip.override { withPlugin = true; };
+
   # using the new configuration style proposal which is unstable
-  jack1d = callPackage ../misc/jackaudio/jack1.nix { };
+  jack1 = callPackage ../misc/jackaudio/jack1.nix { };
 
-  jackaudio = callPackage ../misc/jackaudio { };
+  jack2 = callPackage ../misc/jackaudio { };
 
   keynav = callPackage ../tools/X11/keynav { };
 
@@ -10011,16 +11174,15 @@ 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 { };
 
+  nix-prefetch-scripts = callPackage ../tools/package-management/nix-prefetch-scripts { };
+
   nix-repl = callPackage ../tools/package-management/nix-repl { };
 
   nut = callPackage ../applications/misc/nut { };
@@ -10056,6 +11218,8 @@ let
     inherit (pythonPackages) pexpect paramiko;
   };
 
+  robomongo = callPackage ../applications/misc/robomongo { };
+
   opkg = callPackage ../tools/package-management/opkg { };
 
   pgadmin = callPackage ../applications/misc/pgadmin { };
@@ -10074,6 +11238,8 @@ let
 
   polytable = callPackage ../tools/typesetting/tex/polytable { };
 
+  PPSSPP = callPackage ../misc/emulators/ppsspp { };
+
   uae = callPackage ../misc/emulators/uae { };
 
   putty = callPackage ../applications/networking/remote/putty { };
@@ -10088,33 +11254,44 @@ let
     inherit fetchurl stdenv;
     inherit cups ghostscript glibc patchelf;
     gcc = import ../development/compilers/gcc/4.4 {
-      inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gettext which;
+      inherit stdenv fetchurl gmp mpfr noSysDirs gettext which;
+      texinfo = texinfo4;
       profiledCompiler = true;
     };
   };
 
   saneBackends = callPackage ../applications/graphics/sane/backends.nix {
     gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    snapscanFirmware = config.sane.snapscanFirmware or null;
     hotplugSupport = config.sane.hotplugSupport or true;
     libusb = libusb1;
   };
 
   saneBackendsGit = callPackage ../applications/graphics/sane/backends-git.nix {
     gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    snapscanFirmware = config.sane.snapscanFirmware or null;
     hotplugSupport = config.sane.hotplugSupport or true;
   };
 
+  mkSaneConfig = callPackage ../applications/graphics/sane/config.nix { };
+
   saneFrontends = callPackage ../applications/graphics/sane/frontends.nix { };
 
+  seafile-shared = callPackage ../misc/seafile-shared { };
+
   slock = callPackage ../misc/screensavers/slock { };
 
   sourceAndTags = import ../misc/source-and-tags {
     inherit pkgs stdenv unzip lib ctags;
-    hasktags = haskellPackages.myhasktags;
+    hasktags = haskellPackages.hasktags;
   };
 
   splix = callPackage ../misc/cups/drivers/splix { };
 
+  streamripper = callPackage ../applications/audio/streamripper { };
+
+  sqsh = callPackage ../development/tools/sqsh { };
+
   tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; };
 
   tex4ht = callPackage ../tools/typesetting/tex/tex4ht { };
@@ -10122,20 +11299,21 @@ let
   texFunctions = import ../tools/typesetting/tex/nix pkgs;
 
   texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) {
-    inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby
+    inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby potrace
       gd t1lib freetype icu perl expat curl xz pkgconfig zziplib texinfo
-      libjpeg bison python fontconfig flex poppler graphite2 makeWrapper;
+      libjpeg bison python fontconfig flex poppler libpaper graphite2
+      makeWrapper;
     inherit (xlibs) libXaw libX11 xproto libXt libXpm
       libXmu libXext xextproto libSM libICE;
     ghostscript = ghostscriptX;
     harfbuzz = harfbuzz.override {
-      inherit icu graphite2;
+      withIcu = true; withGraphite2 = true;
     };
   };
 
   texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun {
     paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor
-              texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo5
+              texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo
               texLiveModerntimeline ];
   });
 
@@ -10193,30 +11371,44 @@ let
 
   vice = callPackage ../misc/emulators/vice {
     libX11 = xlibs.libX11;
+    giflib = giflib_4_1;
   };
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
-  vimPlugins = callPackage ../misc/vim-plugins { };
+  vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins { });
 
   vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 {
-    inherit (gnome) libsoup;
-    webkit = webkit_gtk2;
+    webkit = webkitgtk2;
   };
 
   vimprobable2Wrapper = wrapFirefox
     { browser = vimprobable2; browserName = "vimprobable2"; desktopName = "Vimprobable2";
     };
 
+  vimb = callPackage ../applications/networking/browsers/vimb {
+    webkit = webkitgtk2;
+  };
+
+  vimbWrapper = wrapFirefox {
+    browser = vimb;
+    browserName = "vimb";
+    desktopName = "Vimb";
+  };
+
   VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { };
 
   # Wine cannot be built in 64-bit; use a 32-bit build instead.
-  wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { };
-  wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { });
+  wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix {
+    bison = bison2;
+  };
+
+  wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix {
+    bison = bison2;
+  });
+
   wine = wineStable;
 
-  # winetricks is a shell script with no binary components. Safe to just use the current platforms
-  # build instead of the i686 specific build.
   winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
     inherit (gnome2) zenity;
   };
@@ -10225,6 +11417,8 @@ let
 
   x2x = callPackage ../tools/X11/x2x { };
 
+  xboxdrv = callPackage ../misc/drivers/xboxdrv { };
+
   xosd = callPackage ../misc/xosd { };
 
   xsane = callPackage ../applications/graphics/sane/xsane.nix {
@@ -10234,6 +11428,8 @@ let
 
   yafc = callPackage ../applications/networking/yafc { };
 
+  yandex-disk = callPackage ../tools/filesystems/yandex-disk { };
+
   myEnvFun = import ../misc/my-env {
     inherit substituteAll pkgs;
     inherit (stdenv) mkDerivation;
@@ -10257,9 +11453,9 @@ let
        LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib
        export LD_LIBRARY_PATH
     '';
-   };
+  };
 
-   patoline = PatolineEnv ocamlPackages_4_00_1;
+  patoline = PatolineEnv ocamlPackages_4_00_1;
 
   znc = callPackage ../applications/networking/znc { };
 
@@ -10267,9 +11463,9 @@ let
     callPackage ../applications/networking/znc/modules.nix { }
   );
 
-  zsnes = callPackage_i686 ../misc/emulators/zsnes {
-    libpng = libpng12;
-  };
+  zsnes = callPackage_i686 ../misc/emulators/zsnes { };
+
+  snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
 
   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
 
@@ -10281,4 +11477,12 @@ let
 
   mg = callPackage ../applications/editors/mg { };
 
-}; in pkgs
+
+  # Attributes for backward compatibility.
+  adobeReader = adobe-reader;
+  asciidocFull = asciidoc-full;  # added 2014-06-22
+  lttngTools = lttng-tools;  # added 2014-07-31
+  lttngUst = lttng-ust;  # added 2014-07-31
+
+
+}; in self; in pkgs
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index d2cfbf38f98..20f695a0d23 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -8,161 +8,152 @@
 # The actual Haskell packages are composed in haskell-packages.nix. There is
 # more documentation in there.
 
-{ makeOverridable, lowPrio, stdenv, pkgs, newScope, config, callPackage } : rec {
-
-  # Preferences functions.
-  #
-  # Change these if you want to change the default versions of packages being used
-  # for a particular GHC version.
-
-  ghcHEADPrefs =
-    self : self.haskellPlatformArgs_future self // {
-      haskellPlatform = null;
-      extensibleExceptions = self.extensibleExceptions_0_1_1_4;
-    };
-
-  ghc763Prefs =
-    self : self.haskellPlatformArgs_2013_2_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2013_2_0_0;
-      extensibleExceptions = self.extensibleExceptions_0_1_1_4;
-    };
-
-  ghc742Prefs =
-    self : self.haskellPlatformArgs_2012_4_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2012_4_0_0;
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; };
-      bmp = self.bmp_1_2_2_1;
-    };
-
-  ghc741Prefs =
-    self : self.haskellPlatformArgs_2012_2_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2012_2_0_0;
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; };
-      bmp = self.bmp_1_2_2_1;
-    };
-
-  ghc722Prefs =
-    self : self.haskellPlatformArgs_2012_2_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2012_2_0_0;
-      deepseq = self.deepseq_1_3_0_1;
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; };
-      bmp = self.bmp_1_2_2_1;
-    };
-
-  ghc721Prefs = ghc722Prefs;
-
-  ghc704Prefs =
-    self : self.haskellPlatformArgs_2011_4_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2011_4_0_0;
-      cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; };
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; };
-      monadPar = self.monadPar_0_1_0_3;
-      jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
-      prettyShow = self.prettyShow_1_2;
-      bmp = self.bmp_1_2_2_1;
-    };
-
-  ghc703Prefs =
-    self : self.haskellPlatformArgs_2011_2_0_1 self // {
-      haskellPlatform = self.haskellPlatform_2011_2_0_1;
-      cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; };
-      monadPar = self.monadPar_0_1_0_3;
-      jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
-      prettyShow = self.prettyShow_1_2;
-      bmp = self.bmp_1_2_2_1;
-    };
-
-  ghc702Prefs = ghc701Prefs;
-
-  ghc701Prefs =
-    self : self.haskellPlatformArgs_2011_2_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2011_2_0_0;
-      cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; };
-      monadPar = self.monadPar_0_1_0_3;
-      jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
-      prettyShow = self.prettyShow_1_2;
-      bmp = self.bmp_1_2_2_1;
-    };
-
-  ghc6123Prefs = ghc6122Prefs;
-
-  ghc6122Prefs =
-    self : self.haskellPlatformArgs_2010_2_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2010_2_0_0;
-      mtl1 = self.mtl_1_1_0_2;
-      monadPar = self.monadPar_0_1_0_3;
-      deepseq = self.deepseq_1_1_0_2;
-      # deviating from Haskell platform here, to make some packages (notably statistics) compile
-      jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
-      cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; };
-      bmp = self.bmp_1_2_2_1;
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override {
-        Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3;
-        mtl = self.mtl_2_1_2;
-        HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; };
+{ makeOverridable, lowPrio, hiPrio, stdenv, pkgs, newScope, config, callPackage } : rec {
+
+  # haskell-packages.nix provides the latest possible version of every package,
+  # and this file overrides those version choices per compiler when appropriate.
+  # Older compilers inherit the overrides from newer ones.
+
+  ghcHEADPrefs = self : super : super // {
+    cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = null; };
+    mtl = self.mtl_2_2_1;
+    transformersCompat = super.transformersCompat_0_3_3;
+  };
+
+  ghc783Prefs = self : super : ghcHEADPrefs self super // {
+    cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = self.Cabal_1_20_0_2; };
+    codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_2; }; };
+    mtl = self.mtl_2_1_2;
+  };
+
+  ghc763Prefs = self : super : ghc783Prefs self super // {
+    aeson = self.aeson_0_7_0_4;
+    ariadne = super.ariadne.override {
+      haskellNames = self.haskellNames.override {
+        haskellPackages = self.haskellPackages.override { Cabal = self.Cabal_1_18_1_3; };
       };
     };
-
-  ghc6121Prefs =
-    self : self.haskellPlatformArgs_2010_1_0_0 self // {
-      haskellPlatform = self.haskellPlatform_2010_1_0_0;
-      mtl1 = self.mtl_1_1_0_2;
-      extensibleExceptions = self.extensibleExceptions_0_1_1_0;
-      deepseq = self.deepseq_1_1_0_2;
-      monadPar = self.monadPar_0_1_0_3;
-      # deviating from Haskell platform here, to make some packages (notably statistics) compile
-      jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
-      cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; };
-      bmp = self.bmp_1_2_2_1;
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override {
-        Cabal = self.Cabal_1_16_0_3;
-        zlib = self.zlib_0_5_3_3;
-        mtl = self.mtl_2_1_2;
-        HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; };
-      };
-    };
-
-  ghc6104Prefs =
-    self : self.haskellPlatformArgs_2009_2_0_2 self // {
-      haskellPlatform = self.haskellPlatform_2009_2_0_2;
-      mtl = self.mtl_1_1_0_2;
-      mtl1 = self.mtl_1_1_0_2;
-      extensibleExceptions = self.extensibleExceptions_0_1_1_0;
-      text = self.text_0_11_0_6;
-      deepseq = self.deepseq_1_1_0_2;
-      monadPar = self.monadPar_0_1_0_3;
-      # deviating from Haskell platform here, to make some packages (notably statistics) compile
-      jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
-      bmp = self.bmp_1_2_2_1;
-      binary = self.binary_0_6_0_0;
-      cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override {
-        Cabal = self.Cabal_1_16_0_3;
-        zlib = self.zlib_0_5_3_3;
-        mtl = self.mtl_2_1_2;
-        HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; };
+    attoparsec = self.attoparsec_0_11_3_1;
+    binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_1; };
+    bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_1; }; };
+    criterion = super.criterion.override {
+      statistics = self.statistics.override {
+        vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_2_1; };
       };
     };
+    Elm = super.Elm.override { pandoc = self.pandoc.override { zipArchive = self.zipArchive.override { binary = self.binary_0_7_2_1; }; }; };
+    gloss = null;                       # requires base >= 4.7
+    haddock = self.haddock_2_13_2;
+    modularArithmetic = null;           # requires base >= 4.7
+    pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_1; };
+    rank1dynamic = super.rank1dynamic.override { binary = self.binary_0_7_2_1; };
+    distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_1; };
+    networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_1; };
+    distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_1; };
+    scientific = self.scientific_0_2_0_2;
+    singletons = null;                  # requires base >= 4.7
+    transformers = self.transformers_0_3_0_0; # core packagen in ghc > 7.6.x
+    zipArchive = super.zipArchive_0_2_2_1;    # works without binary 0.7.x
+  };
+
+  ghc742Prefs = self : super : ghc763Prefs self super // {
+    aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; };
+    extensibleExceptions = null;        # core package in ghc <= 7.4.x
+    hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; };
+    haddock = self.haddock_2_11_0;
+    haskeline = super.haskeline.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    shelly = self.shelly_0_15_4_1;
+  };
+
+  ghc722Prefs = self : super : ghc742Prefs self super // {
+    caseInsensitive = self.caseInsensitive_1_0_0_1;
+    deepseq = self.deepseq_1_3_0_2;
+    DrIFT = null;                       # doesn't compile with old GHC versions
+    haddock = self.haddock_2_9_4;
+    syb = self.syb_0_4_0;
+  };
+
+  ghc704Prefs = self : super : ghc722Prefs self super // {
+    binary = self.binary_0_7_2_1;       # core package in ghc >= 7.2.2
+    caseInsensitive = super.caseInsensitive; # undo the override from ghc 7.2.2
+    haddock = self.haddock_2_9_2.override { alex = self.alex_2_3_5; };
+    HsSyck = self.HsSyck_0_51;
+    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_16_0_3; };
+    random = null;                      # core package in ghc <= 7.0.x
+  };
+
+  ghc6123Prefs = self : super : ghc704Prefs self super // {
+    alex = self.alex_3_1_3;
+    async = self.async_2_0_1_4;
+    attoparsec = self.attoparsec_0_10_4_0;
+    cabalInstall = self.cabalInstall_1_16_0_2;
+    cgi = self.cgi_3001_1_7_5;
+    deepseq = self.deepseq_1_2_0_1;
+    dlist = super.dlist.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    exceptions = null;                  # none of our versions compile
+    haddock = self.haddock_2_7_2;
+    logict = super.logict.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    monadPar = self.monadPar_0_1_0_3;
+    nats = null;                        # none of our versions compile
+    parallel = self.parallel_3_2_0_3;
+    primitive = self.primitive_0_5_0_1;
+    reflection = super.reflection.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    scientific = null;                  # none of our versions compile
+    split = self.split_0_1_4_3;
+    stm = self.stm_2_4_2;
+    syb = null;                         # core package in ghc < 7
+    tagged = super.tagged.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    temporary = null;                   # none of our versions compile
+    vectorAlgorithms = super.vectorAlgorithms.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+  };
+
+  ghc6104Prefs = self : super : ghc6123Prefs self super // {
+    alex = self.alex_2_3_5.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    async = null;                       # none of our versions compile
+    attoparsec = null;                  # none of our versions compile
+    binary = super.binary_0_7_2_1.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    caseInsensitive = super.caseInsensitive.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    GLUT = self.GLUT_2_2_2_1;
+    haddock = self.haddock_2_4_2;
+    happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
+    OpenGL = self.OpenGL_2_6_0_1;
+    QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    systemFilepath = super.systemFilepath.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    systemFileio = super.systemFileio.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    tar = super.tar.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    text = self.text_0_11_2_3.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    time = self.time_1_1_2_4.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    zlib = super.zlib.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+ };
 
   # Abstraction for Haskell packages collections
   packagesFun = makeOverridable
    ({ ghcPath
     , ghcBinary ? ghc6101Binary
     , prefFun
-    , extraPrefs ? (x : {})
+    , extension ? (self : super : {})
     , profExplicit ? false, profDefault ? false
     , modifyPrio ? lowPrio
+    , extraArgs ? {}
     } :
-      import ./haskell-packages.nix {
-        inherit pkgs newScope modifyPrio;
-        prefFun = self : super : self // prefFun super // extraPrefs super;
-        # prefFun = self : super : self;
-        enableLibraryProfiling =
-          if profExplicit then profDefault
-                          else config.cabal.libraryProfiling or profDefault;
-        ghc = callPackage ghcPath { ghc = ghcBinary; };
-      });
+    let haskellPackagesClass = import ./haskell-packages.nix {
+          inherit pkgs newScope modifyPrio;
+          enableLibraryProfiling =
+            if profExplicit then profDefault
+                            else config.cabal.libraryProfiling or profDefault;
+          ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs);
+        };
+        haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super;
+        haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super;
+        haskellPackages = haskellPackagesExtensionClass haskellPackages;
+    in haskellPackages);
 
   defaultVersionPrioFun =
     profDefault :
@@ -172,7 +163,7 @@
 
   packages = args : let r = packagesFun args;
                     in  r // { lowPrio     = r.override { modifyPrio   = lowPrio; };
-                               highPrio    = r.override { modifyPrio   = x : x; };
+                               highPrio    = r.override { modifyPrio   = hiPrio; };
                                noProfiling = r.override { profDefault  = false;
                                                           profExplicit = true;
                                                           modifyPrio   = defaultVersionPrioFun false; };
@@ -185,16 +176,6 @@
   #
   # GHC binaries are around for bootstrapping purposes
 
-  # If we'd want to reactivate the 6.6 and 6.8 series of ghc, we'd
-  # need to reenable an old binary such as this.
-  /*
-  ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
-    inherit fetchurl stdenv ncurses gmp;
-    readline = if stdenv.system == "i686-linux" then readline4 else readline5;
-    perl = perl58;
-  });
-  */
-
   ghc6101Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.1-binary.nix {
     gmp = pkgs.gmp4;
   });
@@ -223,68 +204,32 @@
   # Here, we associate compiler versions with bootstrap compiler versions and
   # preference functions.
 
-  packages_ghc6104 =
-    packages { ghcPath = ../development/compilers/ghc/6.10.4.nix;
-               prefFun = ghc6104Prefs;
-             };
-
-  packages_ghc6121 =
-    packages { ghcPath =  ../development/compilers/ghc/6.12.1.nix;
-               prefFun = ghc6121Prefs;
-             };
-
-  packages_ghc6122 =
-    packages { ghcPath = ../development/compilers/ghc/6.12.2.nix;
-               prefFun = ghc6122Prefs;
-             };
-
-  packages_ghc6123 =
-    packages { ghcPath = ../development/compilers/ghc/6.12.3.nix;
-               prefFun = ghc6123Prefs;
-             };
-
-  # Will never make it into a platform release, severe bugs; leave at lowPrio.
-  packages_ghc701 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.1.nix;
-               prefFun = ghc701Prefs;
-             };
-
-  packages_ghc702 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.2.nix;
-               prefFun = ghc702Prefs;
+  packages_ghcHEAD =
+    packages { ghcPath = ../development/compilers/ghc/head.nix;
+               ghcBinary = pkgs.haskellPackages.ghcPlain;
+               prefFun = ghcHEADPrefs;
+               extraArgs = {
+                 happy = pkgs.haskellPackages.happy;
+                 alex = pkgs.haskellPackages.alex;
+               };
              };
 
-  packages_ghc703 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.3.nix;
-               prefFun = ghc703Prefs;
+  packages_ghc783 =
+    packages { ghcPath = ../development/compilers/ghc/7.8.3.nix;
+               ghcBinary = ghc742Binary;
+               prefFun = ghc783Prefs;
              };
 
-  # The following items are a bit convoluted, but they serve the
-  # following purpose:
-  #   - for the default version of GHC, both profiling and
-  #     non-profiling versions should be built by Hydra --
-  #     therefore, the _no_profiling and _profiling calls;
-  #   - however, if a user just upgrades a profile, then the
-  #     cabal/libraryProfiling setting should be respected; i.e.,
-  #     the versions not matching the profiling config setting
-  #     should have low priority -- therefore, the use of
-  #     defaultVersionPrioFun;
-  #   - it should be possible to select library versions that
-  #     respect the config setting using the standard
-  #     packages_ghc704 path -- therefore, the additional
-  #     call in packages_ghc704, without recurseIntoAttrs,
-  #     so that Hydra doesn't build these.
-
-  packages_ghc704 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.4.nix;
-               ghcBinary = ghc6101BinaryDarwin;
-               prefFun = ghc704Prefs;
+  packages_ghc763 =
+    packages { ghcPath = ../development/compilers/ghc/7.6.3.nix;
+               ghcBinary = ghc704Binary;
+               prefFun = ghc763Prefs;
              };
 
-  packages_ghc721 =
-    packages { ghcPath = ../development/compilers/ghc/7.2.1.nix;
+  packages_ghc742 =
+    packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
                ghcBinary = ghc6121BinaryDarwin;
-               prefFun = ghc721Prefs;
+               prefFun = ghc742Prefs;
              };
 
   packages_ghc722 =
@@ -293,41 +238,20 @@
                prefFun = ghc722Prefs;
              };
 
-  packages_ghc741 =
-    packages { ghcPath = ../development/compilers/ghc/7.4.1.nix;
-               ghcBinary = ghc6121BinaryDarwin;
-               prefFun = ghc741Prefs;
-             };
-
-  packages_ghc742 =
-    packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
-               prefFun = ghc742Prefs;
-             };
-
-  packages_ghc761 =
-    packages { ghcPath = ../development/compilers/ghc/7.6.1.nix;
-               ghcBinary = ghc704Binary;
-               prefFun = ghc763Prefs;
-             };
-
-  packages_ghc762 =
-    packages { ghcPath = ../development/compilers/ghc/7.6.2.nix;
-               ghcBinary = ghc704Binary;
-               prefFun = ghc763Prefs;
+  packages_ghc704 =
+    packages { ghcPath = ../development/compilers/ghc/7.0.4.nix;
+               ghcBinary = ghc6101BinaryDarwin;
+               prefFun = ghc704Prefs;
              };
 
-  packages_ghc763 =
-    packages { ghcPath = ../development/compilers/ghc/7.6.3.nix;
-               ghcBinary = ghc704Binary;
-               prefFun = ghc763Prefs;
+  packages_ghc6123 =
+    packages { ghcPath = ../development/compilers/ghc/6.12.3.nix;
+               prefFun = ghc6123Prefs;
              };
 
-  # Reasonably current HEAD snapshot. Should *always* be lowPrio.
-  packages_ghcHEAD =
-    packages { ghcPath = ../development/compilers/ghc/head.nix;
-               ghcBinary = ghc742Binary;
-               prefFun = ghcHEADPrefs;
+  packages_ghc6104 =
+    packages { ghcPath = ../development/compilers/ghc/6.10.4.nix;
+               prefFun = ghc6104Prefs;
              };
 
 }
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index be07da47393..be427ec90e8 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1,20 +1,5 @@
 # Haskell packages in Nixpkgs
 #
-# If you have any questions about the packages defined here or how to
-# contribute, please contact Andres Loeh.
-#
-# This file defines all packages that depend on GHC, the Glasgow Haskell
-# compiler. They are usually distributed via Hackage, the central Haskell
-# package repository. Since at least the libraries are incompatible between
-# different compiler versions, the whole file is parameterized by the GHC
-# that is being used. GHC itself is composed in haskell-defaults.nix.
-#
-# Note that next to the packages defined here, there is another way to build
-# arbitrary packages from HackageDB in Nix, using the hack-nix tool that is
-# developed by Marc Weber.
-# -> http://github.com/MarcWeber/hack-nix. Read its README file.
-#
-#
 # This file defines a function parameterized by the following:
 #
 #    pkgs:
@@ -58,28 +43,25 @@
 #
 # For most packages, however, we keep only one version, and use default.nix.
 
-{ pkgs, newScope, ghc, prefFun, modifyPrio ? (x : x)
+{ pkgs, newScope, ghc, modifyPrio ? (x : x)
 , enableLibraryProfiling ? false
-, enableSharedLibraries ? false
-, enableSharedExecutables ? false
+, enableSharedLibraries ? pkgs.stdenv.lib.versionOlder "7.7" ghc.version
+, enableSharedExecutables ? pkgs.stdenv.lib.versionOlder "7.7" ghc.version
 , enableCheckPhase ? pkgs.stdenv.lib.versionOlder "7.4" ghc.version
+, enableStaticLibraries ? true
 }:
 
 # We redefine callPackage to take into account the new scope. The optional
 # modifyPrio argument can be set to lowPrio to make all Haskell packages have
 # low priority.
 
-let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x y);
-                 self = (prefFun result) result; in
+self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
 # Indentation deliberately broken at this point to keep the bulk
 # of this file at a low indentation level.
 
 {
-
-  finalReturn = self;
-
-  callPackage = callPackage;
+  inherit callPackage;
 
   # GHC and its wrapper
   #
@@ -102,19 +84,23 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   # argument to this function.
 
   ghcWithPackages = pkgs : callPackage ../development/compilers/ghc/with-packages.nix {
-    ghc = ghc; # refers to ghcPlain
+    ghc = ghc;                  # refers to ghcPlain
     packages = pkgs self;
+    ignoreCollisions = false;
   };
 
+  ghcWithPackagesOld = pkgs : (self.ghcWithPackages pkgs).override { ignoreCollisions = true; };
+
   # This is the Cabal builder, the function we use to build most Haskell
   # packages. It isn't the Cabal library, which is spelled "Cabal".
 
   cabal = callPackage ../build-support/cabal {
-    inherit enableLibraryProfiling;
-    inherit enableSharedLibraries;
-    inherit enableSharedExecutables;
-    inherit enableCheckPhase;
+    Cabal = null;               # prefer the Cabal version shipped with the compiler
+    hscolour = self.hscolourBootstrap;
+    inherit enableLibraryProfiling enableCheckPhase
+      enableStaticLibraries enableSharedLibraries enableSharedExecutables;
     glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null;
+    extension = self : super : {};
   };
 
   # A variant of the cabal build driver that disables unit testing.
@@ -125,383 +111,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   # Convenience helper function.
   disableTest = x: x.override { cabal = self.cabalNoTest; };
 
-  # Haskell Platform
-  #
-  # We try to support several platform versions. For these, we set all
-  # versions explicitly.
-  #
-  # DO NOT CHANGE THE VERSIONS LISTED HERE from the actual Haskell
-  # Platform defaults. If you must update the defaults for a particular
-  # GHC version, change the "preferences function" for that GHC version
-  # in haskell-defaults.nix.
-
-  # NOTE: 2013.2.0.0 is the current default.
-
-  haskellPlatformArgs_future = self : {
-    inherit (self) cabal ghc;
-    async        = self.async_2_0_1_4;
-    attoparsec   = self.attoparsec_0_10_4_0;
-    caseInsensitive = self.caseInsensitive_1_1_0_1;
-    cgi          = self.cgi_3001_1_7_5;
-    fgl          = self.fgl_5_4_2_4;
-    GLUT         = self.GLUT_2_5_0_1;
-    GLURaw       = self.GLURaw_1_4_0_0;
-    haskellSrc   = self.haskellSrc_1_0_1_5;
-    hashable     = self.hashable_1_2_1_0;
-    html         = self.html_1_0_1_2;
-    HTTP         = self.HTTP_4000_2_8;
-    HUnit        = self.HUnit_1_2_5_2;
-    mtl          = self.mtl_2_1_2;
-    network      = self.network_2_4_2_0;
-    OpenGL       = self.OpenGL_2_9_1_0;
-    OpenGLRaw    = self.OpenGLRaw_1_4_0_0;
-    parallel     = self.parallel_3_2_0_3;
-    parsec       = self.parsec_3_1_3;
-    QuickCheck   = self.QuickCheck_2_6;
-    random       = self.random_1_0_1_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_95_1;
-    regexPosix   = self.regexPosix_0_95_2;
-    split        = self.split_0_2_2;
-    stm          = self.stm_2_4_2;
-    syb          = self.syb_0_4_1;
-    text         = self.text_0_11_3_1;
-    transformers = null;                        # this has become a core package in GHC 7.7
-    unorderedContainers = self.unorderedContainers_0_2_3_3;
-    vector       = self.vector_0_10_9_1;
-    xhtml        = self.xhtml_3000_2_1;
-    zlib         = self.zlib_0_5_4_1;
-    cabalInstall = self.cabalInstall_1_18_0_2;
-    alex         = self.alex_3_1_0;
-    haddock      = self.haddock_2_13_2;
-    happy        = self.happy_1_19_0;
-    primitive    = self.primitive_0_5_1_0;      # semi-official, but specified
-  };
-
-  haskellPlatformArgs_2013_2_0_0 = self : {
-    inherit (self) cabal ghc;
-    async        = self.async_2_0_1_4;
-    attoparsec   = self.attoparsec_0_10_4_0;
-    caseInsensitive = self.caseInsensitive_1_0_0_1;
-    cgi          = self.cgi_3001_1_7_5;
-    fgl          = self.fgl_5_4_2_4;
-    GLUT         = self.GLUT_2_4_0_0;
-    GLURaw       = self.GLURaw_1_3_0_0;
-    haskellSrc   = self.haskellSrc_1_0_1_5;
-    hashable     = self.hashable_1_1_2_5;
-    html         = self.html_1_0_1_2;
-    HTTP         = self.HTTP_4000_2_8;
-    HUnit        = self.HUnit_1_2_5_2;
-    mtl          = self.mtl_2_1_2;
-    network      = self.network_2_4_1_2;
-    OpenGL       = self.OpenGL_2_8_0_0;
-    OpenGLRaw    = self.OpenGLRaw_1_3_0_0;
-    parallel     = self.parallel_3_2_0_3;
-    parsec       = self.parsec_3_1_3;
-    QuickCheck   = self.QuickCheck_2_6;
-    random       = self.random_1_0_1_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_95_1;
-    regexPosix   = self.regexPosix_0_95_2;
-    split        = self.split_0_2_2;
-    stm          = self.stm_2_4_2;
-    syb          = self.syb_0_4_0;
-    text         = self.text_0_11_3_1;
-    transformers = self.transformers_0_3_0_0;
-    unorderedContainers = self.unorderedContainers_0_2_3_0;
-    vector       = self.vector_0_10_0_1;
-    xhtml        = self.xhtml_3000_2_1;
-    zlib         = self.zlib_0_5_4_1;
-    cabalInstall = self.cabalInstall_1_16_0_2;
-    alex         = self.alex_3_0_5;
-    haddock      = self.haddock_2_13_2;
-    happy        = self.happy_1_18_10;
-    primitive    = self.primitive_0_5_0_1;      # semi-official, but specified
-  };
-
-  haskellPlatform_2013_2_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2013.2.0.0.nix
-      (self.haskellPlatformArgs_2013_2_0_0 self);
-
-  haskellPlatformArgs_2012_4_0_0 = self : {
-    inherit (self) cabal ghc;
-    async        = self.async_2_0_1_3;
-    cgi          = self.cgi_3001_1_7_4;
-    fgl          = self.fgl_5_4_2_4;
-    GLUT         = self.GLUT_2_1_2_1;
-    haskellSrc   = self.haskellSrc_1_0_1_5;
-    html         = self.html_1_0_1_2;
-    HTTP         = self.HTTP_4000_2_5;
-    HUnit        = self.HUnit_1_2_5_1;
-    mtl          = self.mtl_2_1_2;
-    network      = self.network_2_3_1_0;
-    OpenGL       = self.OpenGL_2_2_3_1;
-    parallel     = self.parallel_3_2_0_3;
-    parsec       = self.parsec_3_1_3;
-    QuickCheck   = self.QuickCheck_2_5_1_1;
-    random       = self.random_1_0_1_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_95_1;
-    regexPosix   = self.regexPosix_0_95_2;
-    split        = self.split_0_2_1_1;
-    stm          = self.stm_2_4;
-    syb          = self.syb_0_3_7;
-    text         = self.text_0_11_2_3;
-    transformers = self.transformers_0_3_0_0;
-    vector       = self.vector_0_10_0_1;
-    xhtml        = self.xhtml_3000_2_1;
-    zlib         = self.zlib_0_5_4_0;
-    cabalInstall = self.cabalInstall_0_14_0;
-    alex         = self.alex_3_0_2;
-    haddock      = self.haddock_2_11_0;
-    happy        = self.happy_1_18_10;
-    primitive    = self.primitive_0_5_0_1; # semi-official, but specified
-  };
-
-  haskellPlatform_2012_4_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2012.4.0.0.nix
-      (self.haskellPlatformArgs_2012_4_0_0 self);
-
-  haskellPlatformArgs_2012_2_0_0 = self : {
-    inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_7_4;         # 7.4.1 ok
-    fgl          = self.fgl_5_4_2_4;            # 7.4.1 ok
-    GLUT         = self.GLUT_2_1_2_1;           # 7.4.1 ok
-    haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.4.1 ok
-    html         = self.html_1_0_1_2;           # 7.4.1 ok
-    HTTP         = self.HTTP_4000_2_3;          # 7.4.1 ok
-    HUnit        = self.HUnit_1_2_4_2;          # 7.4.1 ok
-    mtl          = self.mtl_2_1_1;              # 7.4.1 ok
-    network      = self.network_2_3_0_13;       # 7.4.1 ok
-    OpenGL       = self.OpenGL_2_2_3_1;         # 7.4.1 ok
-    parallel     = self.parallel_3_2_0_2;       # 7.4.1 ok
-    parsec       = self.parsec_3_1_2;           # 7.4.1 ok
-    QuickCheck   = self.QuickCheck_2_4_2;       # 7.4.1 ok
-    random       = self.random_1_0_1_1;         # 7.4.1 ok
-    regexBase    = self.regexBase_0_93_2;       # 7.4.1 ok
-    regexCompat  = self.regexCompat_0_95_1;     # 7.4.1 ok
-    regexPosix   = self.regexPosix_0_95_1;      # 7.4.1 ok
-    stm          = self.stm_2_3;                # 7.4.1 ok
-    syb          = self.syb_0_3_6_1;            # 7.4.1 ok
-    text         = self.text_0_11_2_0;          # 7.4.1 ok
-    transformers = self.transformers_0_3_0_0;   # 7.4.1 ok
-    xhtml        = self.xhtml_3000_2_1;         # 7.4.1 ok
-    zlib         = self.zlib_0_5_3_3;           # 7.4.1 ok
-    cabalInstall = self.cabalInstall_0_14_0;    # 7.4.1 ok
-    alex         = self.alex_3_0_1;             # 7.4.1 ok
-    haddock      = self.haddock_2_10_0;         # 7.4.1 ok
-    happy        = self.happy_1_18_9;           # 7.4.1 ok
-  };
-
-  haskellPlatform_2012_2_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2012.2.0.0.nix
-      (self.haskellPlatformArgs_2012_2_0_0 self);
-
-  haskellPlatformArgs_2011_4_0_0 = self : {
-    inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_7_4;
-    fgl          = self.fgl_5_4_2_4;
-    GLUT         = self.GLUT_2_1_2_1;
-    haskellSrc   = self.haskellSrc_1_0_1_4;
-    html         = self.html_1_0_1_2;
-    HUnit        = self.HUnit_1_2_4_2;
-    network      = self.network_2_3_0_5;
-    OpenGL       = self.OpenGL_2_2_3_0;
-    parallel     = self.parallel_3_1_0_1;
-    parsec       = self.parsec_3_1_1;
-    QuickCheck   = self.QuickCheck_2_4_1_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_95_1;
-    regexPosix   = self.regexPosix_0_95_1;
-    stm          = self.stm_2_2_0_1;
-    syb          = self.syb_0_3_3;
-    xhtml        = self.xhtml_3000_2_0_4;
-    zlib         = self.zlib_0_5_3_1;
-    HTTP         = self.HTTP_4000_1_2;
-    deepseq      = self.deepseq_1_1_0_2;
-    text         = self.text_0_11_1_5;
-    transformers = self.transformers_0_2_2_0;
-    mtl          = self.mtl_2_0_1_0;
-    cabalInstall = self.cabalInstall_0_10_2;
-    alex         = self.alex_2_3_5;
-    happy        = self.happy_1_18_6;
-    haddock      = self.haddock_2_9_2;
-  };
-
-  haskellPlatform_2011_4_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2011.4.0.0.nix
-      (self.haskellPlatformArgs_2011_4_0_0 self);
-
-  haskellPlatformArgs_2011_2_0_1 = self : {
-    inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_7_4;
-    fgl          = self.fgl_5_4_2_3;
-    GLUT         = self.GLUT_2_1_2_1;
-    haskellSrc   = self.haskellSrc_1_0_1_4;
-    html         = self.html_1_0_1_2;
-    HUnit        = self.HUnit_1_2_2_3;
-    network      = self.network_2_3_0_2;
-    OpenGL       = self.OpenGL_2_2_3_0;
-    parallel     = self.parallel_3_1_0_1;
-    parsec       = self.parsec_3_1_1;
-    QuickCheck   = self.QuickCheck_2_4_0_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_93_1;
-    regexPosix   = self.regexPosix_0_94_4;
-    stm          = self.stm_2_2_0_1;
-    syb          = self.syb_0_3;
-    xhtml        = self.xhtml_3000_2_0_1;
-    zlib         = self.zlib_0_5_3_1;
-    HTTP         = self.HTTP_4000_1_1;
-    deepseq      = self.deepseq_1_1_0_2;
-    text         = self.text_0_11_0_6;
-    transformers = self.transformers_0_2_2_0;
-    mtl          = self.mtl_2_0_1_0;
-    cabalInstall = self.cabalInstall_0_10_2;
-    alex         = self.alex_2_3_5;
-    happy        = self.happy_1_18_6;
-    haddock      = self.haddock_2_9_2;
-  };
-
-  haskellPlatform_2011_2_0_1 =
-    callPackage ../development/libraries/haskell/haskell-platform/2011.2.0.1.nix
-      (self.haskellPlatformArgs_2011_2_0_1 self);
-
-  haskellPlatformArgs_2011_2_0_0 = self : {
-    inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_7_4;
-    fgl          = self.fgl_5_4_2_3;
-    GLUT         = self.GLUT_2_1_2_1;
-    haskellSrc   = self.haskellSrc_1_0_1_4;
-    html         = self.html_1_0_1_2;
-    HUnit        = self.HUnit_1_2_2_3;
-    network      = self.network_2_3_0_2;
-    OpenGL       = self.OpenGL_2_2_3_0;
-    parallel     = self.parallel_3_1_0_1;
-    parsec       = self.parsec_3_1_1;
-    QuickCheck   = self.QuickCheck_2_4_0_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_93_1;
-    regexPosix   = self.regexPosix_0_94_4;
-    stm          = self.stm_2_2_0_1;
-    syb          = self.syb_0_3;
-    xhtml        = self.xhtml_3000_2_0_1;
-    zlib         = self.zlib_0_5_3_1;
-    HTTP         = self.HTTP_4000_1_1;
-    deepseq      = self.deepseq_1_1_0_2;
-    text         = self.text_0_11_0_5;
-    transformers = self.transformers_0_2_2_0;
-    mtl          = self.mtl_2_0_1_0;
-    cabalInstall = self.cabalInstall_0_10_2;
-    alex         = self.alex_2_3_5;
-    happy        = self.happy_1_18_6;
-    haddock      = self.haddock_2_9_2;
-  };
-
-  haskellPlatform_2011_2_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2011.2.0.0.nix
-      (self.haskellPlatformArgs_2011_2_0_0 self);
-
-  haskellPlatformArgs_2010_2_0_0 = self : {
-    inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_7_3;
-    fgl          = self.fgl_5_4_2_3;
-    GLUT         = self.GLUT_2_1_2_1;
-    haskellSrc   = self.haskellSrc_1_0_1_3;
-    html         = self.html_1_0_1_2;
-    HUnit        = self.HUnit_1_2_2_1;
-    mtl          = self.mtl_1_1_0_2;
-    network      = self.network_2_2_1_7;
-    OpenGL       = self.OpenGL_2_2_3_0;
-    parallel     = self.parallel_2_2_0_1;
-    parsec       = self.parsec_2_1_0_1;
-    QuickCheck   = self.QuickCheck_2_1_1_1;
-    regexBase    = self.regexBase_0_93_2;
-    regexCompat  = self.regexCompat_0_93_1;
-    regexPosix   = self.regexPosix_0_94_2;
-    stm          = self.stm_2_1_2_1;
-    xhtml        = self.xhtml_3000_2_0_1;
-    zlib         = self.zlib_0_5_2_0;
-    HTTP         = self.HTTP_4000_0_9;
-    deepseq      = self.deepseq_1_1_0_0;
-    cabalInstall = self.cabalInstall_0_8_2;
-    alex         = self.alex_2_3_3;
-    happy        = self.happy_1_18_5;
-    haddock      = self.haddock_2_7_2;
-  };
-
-  haskellPlatform_2010_2_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2010.2.0.0.nix
-      (self.haskellPlatformArgs_2010_2_0_0 self);
-
-  haskellPlatformArgs_2010_1_0_0 = self : {
-    inherit (self) cabal ghc;
-    haskellSrc   = self.haskellSrc_1_0_1_3;
-    html         = self.html_1_0_1_2;
-    fgl          = self.fgl_5_4_2_2;
-    cabalInstall = self.cabalInstall_0_8_0;
-    GLUT         = self.GLUT_2_1_2_1;
-    OpenGL       = self.OpenGL_2_2_3_0;
-    zlib         = self.zlib_0_5_2_0;
-    alex         = self.alex_2_3_2;
-    cgi          = self.cgi_3001_1_7_2;
-    QuickCheck   = self.QuickCheck_2_1_1_1;
-    HTTP         = self.HTTP_4000_0_9;
-    HUnit        = self.HUnit_1_2_2_1;
-    network      = self.network_2_2_1_7;
-    parallel     = self.parallel_2_2_0_1;
-    parsec       = self.parsec_2_1_0_1;
-    regexBase    = self.regexBase_0_93_1;
-    regexCompat  = self.regexCompat_0_92;
-    regexPosix   = self.regexPosix_0_94_1;
-    stm          = self.stm_2_1_1_2;
-    xhtml        = self.xhtml_3000_2_0_1;
-    haddock      = self.haddock_2_7_2;
-    happy        = self.happy_1_18_4;
-  };
-
-  haskellPlatform_2010_1_0_0 =
-    callPackage ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix
-      (self.haskellPlatformArgs_2010_1_0_0 self);
-
-  haskellPlatformArgs_2009_2_0_2 = self : {
-    inherit (self) cabal ghc;
-    time         = self.time_1_1_2_4;
-    haddock      = self.haddock_2_4_2;
-    cgi          = self.cgi_3001_1_7_1;
-    editline     = self.editline_0_2_1_0;
-    fgl          = self.fgl_5_4_2_2;
-    GLUT         = self.GLUT_2_1_1_2;
-    haskellSrc   = self.haskellSrc_1_0_1_3;
-    html         = self.html_1_0_1_2;
-    HUnit        = self.HUnit_1_2_0_3;
-    network      = self.network_2_2_1_4;
-    OpenGL       = self.OpenGL_2_2_1_1;
-    parallel     = self.parallel_1_1_0_1;
-    parsec       = self.parsec_2_1_0_1;
-    QuickCheck   = self.QuickCheck_1_2_0_0;
-    regexBase    = self.regexBase_0_72_0_2;
-    regexCompat  = self.regexCompat_0_71_0_1;
-    regexPosix   = self.regexPosix_0_72_0_3;
-    stm          = self.stm_2_1_1_2;
-    xhtml        = self.xhtml_3000_2_0_1;
-    zlib         = self.zlib_0_5_0_0;
-    HTTP         = self.HTTP_4000_0_6;
-    cabalInstall = self.cabalInstall_0_6_2;
-    alex         = self.alex_2_3_1;
-    happy        = self.happy_1_18_4;
-  };
-
-  haskellPlatform_2009_2_0_2 =
-    callPackage ../development/libraries/haskell/haskell-platform/2009.2.0.2.nix
-      (self.haskellPlatformArgs_2009_2_0_2 self);
-
   # Haskell libraries.
 
   acidState = callPackage ../development/libraries/haskell/acid-state {};
 
-  Agda = callPackage ../development/libraries/haskell/Agda {};
-
   accelerate = callPackage ../development/libraries/haskell/accelerate {};
 
   accelerateCuda = callPackage ../development/libraries/haskell/accelerate-cuda {};
@@ -518,46 +131,79 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   abstractDeque = callPackage ../development/libraries/haskell/abstract-deque {};
 
+  abstractDequeTests = callPackage ../development/libraries/haskell/abstract-deque-tests {};
+
   abstractPar = callPackage ../development/libraries/haskell/abstract-par {};
 
-  aeson = callPackage ../development/libraries/haskell/aeson {};
+  ad = callPackage ../development/libraries/haskell/ad {};
+
+  adjunctions = callPackage ../development/libraries/haskell/adjunctions {};
+
+  AES = callPackage ../development/libraries/haskell/AES {};
+
+  aeson_0_7_0_4 = callPackage ../development/libraries/haskell/aeson/0.7.0.4.nix { blazeBuilder = null; };
+  aeson_0_7_0_6 = callPackage ../development/libraries/haskell/aeson/0.7.0.6.nix { blazeBuilder = null; };
+  aeson_0_8_0_0 = callPackage ../development/libraries/haskell/aeson/0.8.0.0.nix { blazeBuilder = null; };
+  aeson = self.aeson_0_8_0_0;
 
   aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {};
 
-  alternativeIo = callPackage ../development/libraries/haskell/alternative-io {};
+  aesonQq = callPackage ../development/libraries/haskell/aeson-qq {};
+
+  aesonUtils = callPackage ../development/libraries/haskell/aeson-utils {};
+
+  algebra = callPackage ../development/libraries/haskell/algebra {};
 
   alsaCore = callPackage ../development/libraries/haskell/alsa-core {};
 
+  alsaMixer = callPackage ../development/libraries/haskell/alsa-mixer {};
+
   alsaPcm = callPackage ../development/libraries/haskell/alsa-pcm {};
 
   amqp = callPackage ../development/libraries/haskell/amqp {};
 
+  annotatedWlPprint = callPackage ../development/libraries/haskell/annotated-wl-pprint {};
+
   appar = callPackage ../development/libraries/haskell/appar {};
 
   ansiTerminal = callPackage ../development/libraries/haskell/ansi-terminal {};
 
   ansiWlPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {};
 
+  applicativeQuoters = callPackage ../development/libraries/haskell/applicative-quoters {};
+
+  ariadne = callPackage ../development/libraries/haskell/ariadne {};
+
   arithmoi = callPackage ../development/libraries/haskell/arithmoi {};
 
   arrows = callPackage ../development/libraries/haskell/arrows {};
 
+  assertFailure = callPackage ../development/libraries/haskell/assert-failure {};
+
   asn1Data = callPackage ../development/libraries/haskell/asn1-data {};
 
-  asn1Types = callPackage ../development/libraries/haskell/asn1-types {};
+  asn1Encoding = callPackage ../development/libraries/haskell/asn1-encoding {};
 
-  AspectAG = callPackage ../development/libraries/haskell/AspectAG {};
+  asn1Parse = callPackage ../development/libraries/haskell/asn1-parse {};
+
+  asn1Types = callPackage ../development/libraries/haskell/asn1-types {};
 
   async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {};
   async_2_0_1_4 = callPackage ../development/libraries/haskell/async/2.0.1.4.nix {};
-  async = self.async_2_0_1_4;
+  async_2_0_1_5 = callPackage ../development/libraries/haskell/async/2.0.1.5.nix {};
+  async = self.async_2_0_1_5;
 
   atomicPrimops = callPackage ../development/libraries/haskell/atomic-primops {};
 
   attempt = callPackage ../development/libraries/haskell/attempt {};
 
+  attoLisp = callPackage ../development/libraries/haskell/atto-lisp {};
+
   attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {};
-  attoparsec = self.attoparsec_0_10_4_0;
+  attoparsec_0_11_3_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.1.nix {};
+  attoparsec_0_11_3_4 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.4.nix {};
+  attoparsec_0_12_1_1 = callPackage ../development/libraries/haskell/attoparsec/0.12.1.1.nix {};
+  attoparsec = self.attoparsec_0_12_1_1;
 
   attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {};
 
@@ -565,38 +211,52 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec-enumerator {};
 
+  autoUpdate = callPackage ../development/libraries/haskell/auto-update {};
+
+  aws = callPackage ../development/libraries/haskell/aws {};
+
   authenticate = callPackage ../development/libraries/haskell/authenticate {};
 
   authenticateOauth = callPackage ../development/libraries/haskell/authenticate-oauth {};
 
   base16Bytestring = callPackage ../development/libraries/haskell/base16-bytestring {};
 
+  base32Bytestring = callPackage ../development/libraries/haskell/base32-bytestring {};
+
   base64String = callPackage ../development/libraries/haskell/base64-string {};
 
   base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {};
 
-  base64Conduit = callPackage ../development/libraries/haskell/base64-conduit {};
-
   baseCompat = callPackage ../development/libraries/haskell/base-compat {};
 
   baseUnicodeSymbols = callPackage ../development/libraries/haskell/base-unicode-symbols {};
 
+  basePrelude = callPackage ../development/libraries/haskell/base-prelude {};
+
   basicPrelude = callPackage ../development/libraries/haskell/basic-prelude {};
 
   benchpress = callPackage ../development/libraries/haskell/benchpress {};
 
+  bencoding = callPackage ../development/libraries/haskell/bencoding {};
+
+  bert = callPackage ../development/libraries/haskell/bert {};
+
   bifunctors = callPackage ../development/libraries/haskell/bifunctors {};
 
   bimap = callPackage ../development/libraries/haskell/bimap {};
 
-  binary_0_6_0_0 = callPackage ../development/libraries/haskell/binary/0.6.0.0.nix {};
-  binary_0_7_1_0 = callPackage ../development/libraries/haskell/binary/0.7.1.0.nix {};
-  binary = self.binary_0_7_1_0;
+  binary_0_6_1_0 = callPackage ../development/libraries/haskell/binary/0.6.1.0.nix {};
+  binary_0_7_2_1 = callPackage ../development/libraries/haskell/binary/0.7.2.1.nix {};
+  binary = null;                # core package since ghc >= 7.2.x
+
+  binaryConduit = callPackage ../development/libraries/haskell/binary-conduit {};
 
   binaryShared = callPackage ../development/libraries/haskell/binary-shared {};
 
   bindingsDSL = callPackage ../development/libraries/haskell/bindings-DSL {};
 
+  bindingsGLFW = callPackage ../development/libraries/haskell/bindings-GLFW {};
+
   bindingsLibusb = callPackage ../development/libraries/haskell/bindings-libusb {
     libusb = pkgs.libusb1;
   };
@@ -609,6 +269,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   bitsAtomic = callPackage ../development/libraries/haskell/bits-atomic {};
 
+  bitsExtras = callPackage ../development/libraries/haskell/bits-extras {};
+
   bktrees = callPackage ../development/libraries/haskell/bktrees {};
 
   blazeBuilder = callPackage ../development/libraries/haskell/blaze-builder {};
@@ -617,6 +279,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   blazeBuilderEnumerator = callPackage ../development/libraries/haskell/blaze-builder-enumerator {};
 
+  blazeFromHtml = callPackage ../development/libraries/haskell/blaze-from-html {};
+
   blazeHtml = callPackage ../development/libraries/haskell/blaze-html {};
 
   blazeMarkup = callPackage ../development/libraries/haskell/blaze-markup {};
@@ -625,48 +289,74 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   blazeTextual = callPackage ../development/libraries/haskell/blaze-textual {};
 
+  BlogLiterately = callPackage ../development/libraries/haskell/BlogLiterately {};
+
   bloomfilter = callPackage ../development/libraries/haskell/bloomfilter {};
 
-  bmp_1_2_2_1 = callPackage ../development/libraries/haskell/bmp/1.2.2.1.nix {};
-  bmp_1_2_5_2 = callPackage ../development/libraries/haskell/bmp/1.2.5.2.nix {};
-  bmp = self.bmp_1_2_5_2;
+  bmp = callPackage ../development/libraries/haskell/bmp {
+    binary = self.binary_0_7_2_1;
+  };
 
   Boolean = callPackage ../development/libraries/haskell/Boolean {};
 
+  boolExtras = callPackage ../development/libraries/haskell/bool-extras {};
+
+  boundingboxes_0_1_1 = callPackage ../development/libraries/haskell/boundingboxes/0.1.1.nix {};
+  boundingboxes_0_2 = callPackage ../development/libraries/haskell/boundingboxes/0.2.nix {};
+  boundingboxes = self.boundingboxes_0_2;
+
+  BoundedChan = callPackage ../development/libraries/haskell/BoundedChan {};
+
+  boxes = callPackage ../development/libraries/haskell/boxes {};
+
   brainfuck = callPackage ../development/libraries/haskell/brainfuck {};
 
   bson = callPackage ../development/libraries/haskell/bson {};
 
   boomerang = callPackage ../development/libraries/haskell/boomerang {};
 
+  bound = callPackage ../development/libraries/haskell/bound {};
+
+  bv = callPackage ../development/libraries/haskell/bv {};
+
   byteable = callPackage ../development/libraries/haskell/byteable {};
 
   bytedump = callPackage ../development/libraries/haskell/bytedump {};
 
   byteorder = callPackage ../development/libraries/haskell/byteorder {};
 
+  bytes = callPackage ../development/libraries/haskell/bytes {};
+
   bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {};
 
   bytestringLexing = callPackage ../development/libraries/haskell/bytestring-lexing {};
 
   bytestringMmap = callPackage ../development/libraries/haskell/bytestring-mmap {};
 
+  bytestringShow = callPackage ../development/libraries/haskell/bytestring-show {};
+
   bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {};
 
   bytestringProgress = callPackage ../development/libraries/haskell/bytestring-progress {};
 
+  bzlib = callPackage ../development/libraries/haskell/bzlib {};
+
   c2hs = callPackage ../development/libraries/haskell/c2hs {};
 
-  Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
-  Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; };
-  Cabal_1_18_1_2 = callPackage ../development/libraries/haskell/Cabal/1.18.1.2.nix {
-    cabal = self.cabal.override { Cabal = null; };
-    deepseq = self.deepseq_1_3_0_1;
-  };
-  Cabal = null; # core package in GHC
+  c2hsc = callPackage ../development/libraries/haskell/c2hsc {};
+
+  Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix {};
+  Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix {};
+  Cabal_1_18_1_3 = callPackage ../development/libraries/haskell/Cabal/1.18.1.3.nix {};
+  Cabal_1_20_0_2 = callPackage ../development/libraries/haskell/Cabal/1.20.0.2.nix {};
+  Cabal = null;                 # core package since forever
+
+  cabalCargs = callPackage ../development/libraries/haskell/cabal-cargs {};
 
   cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {};
 
+  cabalLenses = callPackage ../development/libraries/haskell/cabal-lenses {};
+
   cabalMacosx = callPackage ../development/libraries/haskell/cabal-macosx {};
 
   cairo = callPackage ../development/libraries/haskell/cairo {
@@ -676,12 +366,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   carray = callPackage ../development/libraries/haskell/carray {};
 
+  categories = callPackage ../development/libraries/haskell/categories {};
+
+  cassava = callPackage ../development/libraries/haskell/cassava {};
+
   caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {};
-  caseInsensitive_1_1_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.1.nix {};
-  caseInsensitive = self.caseInsensitive_1_1_0_1;
+  caseInsensitive_1_1_0_3 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.3.nix {};
+  caseInsensitive_1_2_0_0 = callPackage ../development/libraries/haskell/case-insensitive/1.2.0.0.nix {};
+  caseInsensitive = self.caseInsensitive_1_2_0_0;
 
   cautiousFile = callPackage ../development/libraries/haskell/cautious-file {};
 
+  CCdelcont = callPackage ../development/libraries/haskell/CC-delcont {};
+
   cereal = callPackage ../development/libraries/haskell/cereal {};
 
   cerealConduit = callPackage ../development/libraries/haskell/cereal-conduit {};
@@ -693,23 +390,36 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {};
   cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {};
   cgi_3001_1_7_5 = callPackage ../development/libraries/haskell/cgi/3001.1.7.5.nix {};
-  cgi_3001_1_8_4 = callPackage ../development/libraries/haskell/cgi/3001.1.8.4.nix {};
-  cgi = self.cgi_3001_1_8_4;
+  cgi_3001_1_8_5 = callPackage ../development/libraries/haskell/cgi/3001.1.8.5.nix {};
+  cgi = self.cgi_3001_1_8_5;
+
+  cgrep = callPackage ../development/libraries/haskell/cgrep {};
 
   charset = callPackage ../development/libraries/haskell/charset {};
 
   Chart = callPackage ../development/libraries/haskell/Chart {};
   ChartCairo = callPackage ../development/libraries/haskell/Chart-cairo {};
+  ChartDiagrams = callPackage ../development/libraries/haskell/Chart-diagrams {};
   ChartGtk = callPackage ../development/libraries/haskell/Chart-gtk {};
 
-  ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms {};
+  ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms { QuickCheck = self.QuickCheck_2_6; };
+
+  cheapskate = callPackage ../development/libraries/haskell/cheapskate {};
 
-  checkers = callPackage ../development/libraries/haskell/checkers {};
+  checkers = callPackage ../development/libraries/haskell/checkers { QuickCheck = self.QuickCheck_2_6; };
+
+  chell = callPackage ../development/libraries/haskell/chell {};
+
+  chellQuickcheck = callPackage ../development/libraries/haskell/chell-quickcheck {};
+
+  chunkedData = callPackage ../development/libraries/haskell/chunked-data {};
 
   citeprocHs = callPackage ../development/libraries/haskell/citeproc-hs {};
 
   cipherAes = callPackage ../development/libraries/haskell/cipher-aes {};
 
+  cipherAes128 = callPackage ../development/libraries/haskell/cipher-aes128 {};
+
   cipherBlowfish = callPackage ../development/libraries/haskell/cipher-blowfish {};
 
   cipherCamellia = callPackage ../development/libraries/haskell/cipher-camellia {};
@@ -724,6 +434,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   classyPreludeConduit = callPackage ../development/libraries/haskell/classy-prelude-conduit {};
 
+  clay = callPackage ../development/libraries/haskell/clay {};
+
   clientsession = callPackage ../development/libraries/haskell/clientsession {};
 
   clock = callPackage ../development/libraries/haskell/clock {};
@@ -734,8 +446,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   cmdtheline = callPackage ../development/libraries/haskell/cmdtheline {};
 
+  codeBuilder = callPackage ../development/libraries/haskell/code-builder {};
+
+  CodecImageDevIL = callPackage ../development/libraries/haskell/codec-image-devil {};
+
   colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {};
 
+  colors = callPackage ../development/libraries/haskell/colors {};
+
   colour = callPackage ../development/libraries/haskell/colour {};
 
   comonad = callPackage ../development/libraries/haskell/comonad {};
@@ -746,10 +464,26 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {};
 
+  compdata = if (pkgs.stdenv.lib.versionOlder "7.8" ghc.version)
+               then callPackage ../development/libraries/haskell/compdata {}
+               else null;
+
+  composition = callPackage ../development/libraries/haskell/composition {};
+
+  compressed = callPackage ../development/libraries/haskell/compressed {};
+
   concatenative = callPackage ../development/libraries/haskell/concatenative {};
 
+  concreteTyperep = callPackage ../development/libraries/haskell/concreteTyperep {};
+
+  cond = callPackage ../development/libraries/haskell/cond {};
+
   conduit = callPackage ../development/libraries/haskell/conduit {};
 
+  conduitCombinators = callPackage ../development/libraries/haskell/conduit-combinators {};
+
+  conduitExtra = callPackage ../development/libraries/haskell/conduit-extra {};
+
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
 
   configurator = callPackage ../development/libraries/haskell/configurator {};
@@ -758,7 +492,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   constraints = callPackage ../development/libraries/haskell/constraints {};
 
-  convertible = callPackage ../development/libraries/haskell/convertible {};
+  controlBool = callPackage ../development/libraries/haskell/control-bool {};
+
+  controlMonadFree = callPackage ../development/libraries/haskell/control-monad-free {};
+
+  controlMonadLoop = callPackage ../development/libraries/haskell/control-monad-loop {};
+
+  convertible_1_0_11_1 = callPackage ../development/libraries/haskell/convertible/1.0.11.1.nix {};
+  convertible_1_1_0_0 = callPackage ../development/libraries/haskell/convertible/1.1.0.0.nix {};
+  convertible = self.convertible_1_1_0_0;
 
   continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {};
 
@@ -770,6 +512,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   cookie = callPackage ../development/libraries/haskell/cookie {};
 
+  coroutineObject = callPackage ../development/libraries/haskell/coroutine-object {};
+
   cprngAes = callPackage ../development/libraries/haskell/cprng-aes {};
 
   criterion = callPackage ../development/libraries/haskell/criterion {};
@@ -788,6 +532,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   cryptohash = callPackage ../development/libraries/haskell/cryptohash {};
 
+  cryptohashConduit = callPackage ../development/libraries/haskell/cryptohash-conduit {};
+
   cryptohashCryptoapi = callPackage ../development/libraries/haskell/cryptohash-cryptoapi {};
 
   cryptoNumbers = callPackage ../development/libraries/haskell/crypto-numbers {};
@@ -820,6 +566,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   dataAccessorTransformers = callPackage ../development/libraries/haskell/data-accessor/data-accessor-transformers.nix {};
 
+  dataAccessorMtl = callPackage ../development/libraries/haskell/data-accessor/data-accessor-mtl.nix {};
+
   dataBinaryIeee754 = callPackage ../development/libraries/haskell/data-binary-ieee754 {};
 
   dataDefault = callPackage ../development/libraries/haskell/data-default {};
@@ -832,37 +580,51 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   dataenc = callPackage ../development/libraries/haskell/dataenc {};
 
+  dataFin = callPackage ../development/libraries/haskell/data-fin {};
+
+  dataFix = callPackage ../development/libraries/haskell/data-fix {};
+
+  dataHash = callPackage ../development/libraries/haskell/data-hash {};
+
   dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {};
 
   dataLens = callPackage ../development/libraries/haskell/data-lens {};
 
+  dataLensLight = callPackage ../development/libraries/haskell/data-lens-light {};
+
   dataLensTemplate = callPackage ../development/libraries/haskell/data-lens-template {};
 
   dataMemocombinators = callPackage ../development/libraries/haskell/data-memocombinators {};
 
+  dataOrdlist = callPackage ../development/libraries/haskell/data-ordlist {};
+
   dataPprint = callPackage ../development/libraries/haskell/data-pprint {};
 
   dataReify = callPackage ../development/libraries/haskell/data-reify {};
 
   dateCache = callPackage ../development/libraries/haskell/date-cache {};
 
+  dataChecked = callPackage ../development/libraries/haskell/data-checked {};
+
   datetime = callPackage ../development/libraries/haskell/datetime {};
 
   DAV = callPackage ../development/libraries/haskell/DAV {};
 
+  dbmigrations = callPackage ../development/libraries/haskell/dbmigrations {};
+
   dbus = callPackage ../development/libraries/haskell/dbus {};
 
   deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
   deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {};
   deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {};
-  deepseq_1_3_0_1 = callPackage ../development/libraries/haskell/deepseq/1.3.0.1.nix {};
-  deepseq = null; # a core package in recent GHCs
+  deepseq_1_3_0_2 = callPackage ../development/libraries/haskell/deepseq/1.3.0.2.nix {};
+  deepseq = null;               # core package since ghc >= 7.4.x
+
+  deepseqGenerics = callPackage ../development/libraries/haskell/deepseq-generics {};
 
   deepseqTh = callPackage ../development/libraries/haskell/deepseq-th {};
 
-  derive = callPackage ../development/libraries/haskell/derive {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
-  };
+  derive = callPackage ../development/libraries/haskell/derive {};
 
   dependentMap = callPackage ../development/libraries/haskell/dependent-map {};
 
@@ -879,36 +641,59 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {};
   diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {};
   diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {};
+  diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {};
   diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {};
 
   Diff = callPackage ../development/libraries/haskell/Diff {};
 
+  diff3 = callPackage ../development/libraries/haskell/diff3 {};
+
   digest = callPackage ../development/libraries/haskell/digest {
     inherit (pkgs) zlib;
   };
 
   digestiveFunctors = callPackage ../development/libraries/haskell/digestive-functors {};
 
+  digestiveFunctorsAeson = callPackage ../development/libraries/haskell/digestive-functors-aeson {};
+
   digestiveFunctorsHeist = callPackage ../development/libraries/haskell/digestive-functors-heist {};
 
   digestiveFunctorsSnap = callPackage ../development/libraries/haskell/digestive-functors-snap {};
 
+  digits = callPackage ../development/libraries/haskell/digits {};
+
   dimensional = callPackage ../development/libraries/haskell/dimensional {};
 
   dimensionalTf = callPackage ../development/libraries/haskell/dimensional-tf {};
 
+  directSqlite = callPackage ../development/libraries/haskell/direct-sqlite {};
+
   directoryTree = callPackage ../development/libraries/haskell/directory-tree {};
 
   distributedStatic = callPackage ../development/libraries/haskell/distributed-static {};
 
+  distributedProcess = callPackage ../development/libraries/haskell/distributed-process {};
+
   distributive = callPackage ../development/libraries/haskell/distributive {};
 
+  djinn = callPackage ../development/libraries/haskell/djinn {};
+
+  djinnGhc = callPackage ../development/libraries/haskell/djinn-ghc {};
+
+  djinnLib = callPackage ../development/libraries/haskell/djinn-lib {};
+
   dlist = callPackage ../development/libraries/haskell/dlist {};
 
+  dlistInstances = callPackage ../development/libraries/haskell/dlist-instances {};
+
   dns = callPackage ../development/libraries/haskell/dns {};
 
   doctest = callPackage ../development/libraries/haskell/doctest {};
 
+  doctestProp = callPackage ../development/libraries/haskell/doctest-prop {};
+
+  domSelector = callPackage ../development/libraries/haskell/dom-selector {};
+
   dotgen = callPackage ../development/libraries/haskell/dotgen {};
 
   doubleConversion = callPackage ../development/libraries/haskell/double-conversion {};
@@ -917,20 +702,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   downloadCurl = callPackage ../development/libraries/haskell/download-curl {};
 
-  DSH = callPackage ../development/libraries/haskell/DSH {};
+  DRBG = callPackage ../development/libraries/haskell/DRBG {};
+
+  dsp = callPackage ../development/libraries/haskell/dsp {};
 
   dstring = callPackage ../development/libraries/haskell/dstring {};
 
   dualTree = callPackage ../development/libraries/haskell/dual-tree {};
 
+  dynamicCabal = callPackage ../development/libraries/haskell/dynamic-cabal {};
+
   dyre = callPackage ../development/libraries/haskell/dyre {};
 
+  easyFile = callPackage ../development/libraries/haskell/easy-file {};
+
   editDistance = callPackage ../development/libraries/haskell/edit-distance {};
 
   editline_0_2_1_0 = callPackage ../development/libraries/haskell/editline/0.2.1.0.nix {};
   editline_0_2_1_1 = callPackage ../development/libraries/haskell/editline/0.2.1.1.nix {};
   editline = self.editline_0_2_1_1;
 
+  ekg = callPackage ../development/libraries/haskell/ekg {};
+  ekgCarbon = callPackage ../development/libraries/haskell/ekg-carbon {};
+  ekgCore = callPackage ../development/libraries/haskell/ekg-core {};
+
   elerea = callPackage ../development/libraries/haskell/elerea {};
 
   Elm = callPackage ../development/compilers/elm/elm.nix {};
@@ -939,49 +734,87 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   emailValidate = callPackage ../development/libraries/haskell/email-validate {};
 
+  enclosedExceptions = callPackage ../development/libraries/haskell/enclosed-exceptions {};
+
   encoding = callPackage ../development/libraries/haskell/encoding {};
 
+  engineIo = callPackage ../development/libraries/haskell/engine-io {};
+  engineIoSnap = callPackage ../development/libraries/haskell/engine-io-snap {};
+
   enumerator = callPackage ../development/libraries/haskell/enumerator {};
 
   enummapset = callPackage ../development/libraries/haskell/enummapset {};
 
+  enummapsetTh = callPackage ../development/libraries/haskell/enummapset-th {};
+
+  enumset = callPackage ../development/libraries/haskell/enumset {};
+
   entropy = callPackage ../development/libraries/haskell/entropy {};
 
+  equivalence_0_2_3 = callPackage ../development/libraries/haskell/equivalence/0.2.3.nix {};
+  equivalence_0_2_5 = callPackage ../development/libraries/haskell/equivalence/0.2.5.nix {};
+  equivalence = self.equivalence_0_2_5;
+
   erf = callPackage ../development/libraries/haskell/erf {};
 
+  errorcallEqInstance = callPackage ../development/libraries/haskell/errorcall-eq-instance {};
+
   errors = callPackage ../development/libraries/haskell/errors {};
 
   either = callPackage ../development/libraries/haskell/either {};
 
+  EitherT = callPackage ../development/libraries/haskell/EitherT {};
+
   esqueleto = callPackage ../development/libraries/haskell/esqueleto {};
 
+  eventList = callPackage ../development/libraries/haskell/event-list {};
+
+  exPool = callPackage ../development/libraries/haskell/ex-pool { };
+
   exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {};
 
   exceptionTransformers = callPackage ../development/libraries/haskell/exception-transformers {};
 
-  exceptions = callPackage ../development/libraries/haskell/exceptions {
-    QuickCheck = self.QuickCheck_2_5_1_1;
-  };
+  exceptions = callPackage ../development/libraries/haskell/exceptions {};
 
   explicitException = callPackage ../development/libraries/haskell/explicit-exception {};
 
   executablePath = callPackage ../development/libraries/haskell/executable-path {};
 
-  filepath_1_3_0_0 = callPackage ../development/libraries/haskell/filepath {};
-  filepath = null; # a core package in recent GHCs
+  Extra = callPackage ../development/libraries/haskell/Extra {};
+
+  fay = callPackage ../development/libraries/haskell/fay {};
+
+  fayBase = callPackage ../development/libraries/haskell/fay-base {};
+
+  fayText = callPackage ../development/libraries/haskell/fay-text {};
+
+  fdoNotify = callPackage ../development/libraries/haskell/fdo-notify {};
+
+  filepath = null;              # core package since forever
 
   fileLocation = callPackage ../development/libraries/haskell/file-location {};
 
+  fmlist = callPackage ../development/libraries/haskell/fmlist {};
+
+  ftphs = callPackage ../development/libraries/haskell/ftphs {};
+
+  extensibleEffects = callPackage ../development/libraries/haskell/extensible-effects {};
+
   extensibleExceptions_0_1_1_0 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.0.nix {};
   extensibleExceptions_0_1_1_2 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.2.nix {};
   extensibleExceptions_0_1_1_3 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.3.nix {};
   extensibleExceptions_0_1_1_4 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.4.nix {};
-  extensibleExceptions = null; # a core package in recent GHCs
+  extensibleExceptions = self.extensibleExceptions_0_1_1_4;
 
   failure = callPackage ../development/libraries/haskell/failure {};
 
+  fastcgi = callPackage ../development/libraries/haskell/fastcgi {};
+
   fastLogger = callPackage ../development/libraries/haskell/fast-logger {};
 
+  fb = callPackage ../development/libraries/haskell/fb {};
+
   fclabels = callPackage ../development/libraries/haskell/fclabels {};
 
   FerryCore = callPackage ../development/libraries/haskell/FerryCore {};
@@ -992,6 +825,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   fileEmbed = callPackage ../development/libraries/haskell/file-embed {};
 
+  filemanip = callPackage ../development/libraries/haskell/filemanip {};
+
   flexibleDefaults = callPackage ../development/libraries/haskell/flexible-defaults {};
 
   filestore = callPackage ../development/libraries/haskell/filestore {};
@@ -1003,18 +838,33 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {};
   fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {};
   fgl_5_4_2_4 = callPackage ../development/libraries/haskell/fgl/5.4.2.4.nix {};
-  fgl = self.fgl_5_4_2_4;
+  fgl_5_5_0_1 = callPackage ../development/libraries/haskell/fgl/5.5.0.1.nix {};
+  fgl = self.fgl_5_5_0_1;
 
   fglVisualize = callPackage ../development/libraries/haskell/fgl-visualize {};
 
   fingertree = callPackage ../development/libraries/haskell/fingertree {};
 
+  focus = callPackage ../development/libraries/haskell/focus {};
+
+  foldl = callPackage ../development/libraries/haskell/foldl {};
+
+  folds = callPackage ../development/libraries/haskell/folds {};
+
   forceLayout = callPackage ../development/libraries/haskell/force-layout {};
 
+  formatting = callPackage ../development/libraries/haskell/formatting {};
+
   free = callPackage ../development/libraries/haskell/free {};
 
+  freeGame = callPackage ../development/libraries/haskell/free-game {};
+
   fsnotify = callPackage ../development/libraries/haskell/fsnotify {};
 
+  freetype2 = callPackage ../development/libraries/haskell/freetype2 {};
+
+  fuzzcheck = callPackage ../development/libraries/haskell/fuzzcheck {};
+
   gamma = callPackage ../development/libraries/haskell/gamma {};
 
   geniplate = callPackage ../development/libraries/haskell/geniplate {};
@@ -1025,20 +875,38 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   gdiff = callPackage ../development/libraries/haskell/gdiff {};
 
+  genericAeson = callPackage ../development/libraries/haskell/generic-aeson {};
+
   genericDeriving = callPackage ../development/libraries/haskell/generic-deriving {};
 
+  genericsSop = callPackage ../development/libraries/haskell/generics-sop {};
+
   ghcCore = callPackage ../development/libraries/haskell/ghc-core {};
 
   ghcEvents = callPackage ../development/libraries/haskell/ghc-events {};
 
+  ghcEventsAnalyze = callPackage ../development/tools/haskell/ghc-events-analyze {};
+
+  ghcGcTune = callPackage ../development/tools/haskell/ghc-gc-tune {};
+
   ghcHeapView = callPackage ../development/libraries/haskell/ghc-heap-view {
     cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled
   };
 
-  ghcMod = callPackage ../development/libraries/haskell/ghc-mod {
+  ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
+
+  ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
+
+  ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix {
     inherit (pkgs) emacs;
   };
 
+  ghcMod_5_0_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.nix {
+    inherit (pkgs) emacs;
+  };
+
+  ghcMod = self.ghcMod_4_1_6;
+
   ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {};
 
   ghcPaths = callPackage ../development/libraries/haskell/ghc-paths {};
@@ -1053,10 +921,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   gio = callPackage ../development/libraries/haskell/gio {};
 
+  gitDate = callPackage ../development/libraries/haskell/git-date {};
+
   github = callPackage ../development/libraries/haskell/github {};
 
   gitit = callPackage ../development/libraries/haskell/gitit {};
 
+  gitlib = callPackage ../development/libraries/haskell/gitlib {};
+
+  gitlibLibgit2 = callPackage ../development/libraries/haskell/gitlib-libgit2 {};
+
+  gitlibTest = callPackage ../development/libraries/haskell/gitlib-test {};
+
   glade = callPackage ../development/libraries/haskell/glade {
     inherit (pkgs.gnome) libglade;
     gtkC = pkgs.gtk;
@@ -1065,6 +941,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   GLFW = callPackage ../development/libraries/haskell/GLFW {};
 
+  GLFWB = callPackage ../development/libraries/haskell/GLFW-b {};
+
   glib = callPackage ../development/libraries/haskell/glib {
     glib = pkgs.glib;
     libc = pkgs.stdenv.gcc.libc;
@@ -1076,31 +954,43 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   gloss = callPackage ../development/libraries/haskell/gloss {};
 
+  glossAccelerate = callPackage ../development/libraries/haskell/gloss-accelerate {};
+
+  glossRaster = callPackage ../development/libraries/haskell/gloss-raster {};
+
+  glossRasterAccelerate = callPackage ../development/libraries/haskell/gloss-raster-accelerate {};
+
   glpkHs = callPackage ../development/libraries/haskell/glpk-hs {};
 
-  GLURaw_1_3_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.3.0.0.nix {};
-  GLURaw_1_4_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.4.0.0.nix {};
-  GLURaw = self.GLURaw_1_4_0_0;
+  GLURaw_1_3_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.3.0.0.nix { OpenGLRaw = self.OpenGLRaw_1_3_0_0; };
+  GLURaw_1_4_0_1 = callPackage ../development/libraries/haskell/GLURaw/1.4.0.1.nix {};
+  GLURaw = self.GLURaw_1_4_0_1;
 
   GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {};
   GLUT_2_1_2_1 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {};
   GLUT_2_1_2_2 = callPackage ../development/libraries/haskell/GLUT/2.1.2.2.nix {};
   GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix {
-    OpenGL = self.OpenGL_2_4_0_2;
+    OpenGL = self.OpenGL_2_6_0_1;
   };
   GLUT_2_3_1_0 = callPackage ../development/libraries/haskell/GLUT/2.3.1.0.nix {
-    OpenGL = self.OpenGL_2_6_0_1;
+    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
+    OpenGL = self.OpenGL_2_6_0_1.override { OpenGLRaw = self.OpenGLRaw_1_3_0_0; GLURaw = self.GLURaw_1_3_0_0; };
   };
   GLUT_2_4_0_0 = callPackage ../development/libraries/haskell/GLUT/2.4.0.0.nix {
-    OpenGL = self.OpenGL_2_8_0_0;
+    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
+    OpenGL = self.OpenGL_2_8_0_0.override { OpenGLRaw = self.OpenGLRaw_1_3_0_0; GLURaw = self.GLURaw_1_3_0_0; };
   };
-  GLUT_2_5_0_1 = callPackage ../development/libraries/haskell/GLUT/2.5.0.1.nix {
-    OpenGL = self.OpenGL_2_9_0_1;
+  GLUT_2_5_1_1 = callPackage ../development/libraries/haskell/GLUT/2.5.1.1.nix {
+    OpenGL = self.OpenGL_2_9_2_0;
   };
-  GLUT = self.GLUT_2_5_0_1;
+  GLUT = self.GLUT_2_5_1_1;
+
+  GLUtil = callPackage ../development/libraries/haskell/GLUtil {};
 
   gnuidn = callPackage ../development/libraries/haskell/gnuidn {};
 
+  gnuplot = callPackage ../development/libraries/haskell/gnuplot {};
+
   gnutls = callPackage ../development/libraries/haskell/gnutls { inherit (pkgs) gnutls; };
 
   gsasl = callPackage ../development/libraries/haskell/gsasl { inherit (pkgs) gsasl; };
@@ -1110,16 +1000,31 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     libc = pkgs.stdenv.gcc.libc;
   };
 
+  gtk3 = callPackage ../development/libraries/haskell/gtk3 {
+    inherit (pkgs) gtk3;
+  };
+
+  gtkglext = callPackage ../development/libraries/haskell/gtkglext { gtkglext = pkgs.gnome2.gtkglext; };
+
   gtk2hsBuildtools = callPackage ../development/libraries/haskell/gtk2hs-buildtools {};
-  gtk2hsC2hs = self.gtk2hsBuildtools;
 
   gtksourceview2 = callPackage ../development/libraries/haskell/gtksourceview2 {
     inherit (pkgs.gnome) gtksourceview;
     libc = pkgs.stdenv.gcc.libc;
   };
 
+  gtkTraymanager = callPackage ../development/libraries/haskell/gtk-traymanager {};
+
+  Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {};
+
   graphviz = callPackage ../development/libraries/haskell/graphviz {};
 
+  graphSCC = callPackage ../development/libraries/haskell/graphscc {};
+
+  graphWrapper = callPackage ../development/libraries/haskell/graph-wrapper {};
+
+  groom = callPackage ../development/libraries/haskell/groom {};
+
   groups = callPackage ../development/libraries/haskell/groups {};
 
   groupoids = callPackage ../development/libraries/haskell/groupoids {};
@@ -1134,39 +1039,83 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   happstackLite = callPackage ../development/libraries/haskell/happstack/happstack-lite.nix {};
 
+  happstackFastCGI = callPackage ../development/libraries/haskell/happstack/happstack-fastcgi.nix {};
+
   hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {};
-  hashable_1_2_1_0 = callPackage ../development/libraries/haskell/hashable/1.2.1.0.nix {};
-  hashable = self.hashable_1_2_1_0;
+  hashable_1_2_2_0 = callPackage ../development/libraries/haskell/hashable/1.2.2.0.nix {};
+  hashable = self.hashable_1_2_2_0;
+
+  hashableExtras = callPackage ../development/libraries/haskell/hashable-extras {};
 
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
   hashtables = callPackage ../development/libraries/haskell/hashtables {};
 
+  haskelldb = callPackage ../development/libraries/haskell/haskelldb {};
+
   haskeline = callPackage ../development/libraries/haskell/haskeline {};
 
   haskelineClass = callPackage ../development/libraries/haskell/haskeline-class {};
 
+  haskellGenerate = callPackage ../development/libraries/haskell/haskell-generate {};
+
   haskellLexer = callPackage ../development/libraries/haskell/haskell-lexer {};
 
   haskellMpi = callPackage ../development/libraries/haskell/haskell-mpi {
     mpi = pkgs.openmpi;
   };
 
+  haskellNames = callPackage ../development/libraries/haskell/haskell-names {};
+
+  HaskellNet = callPackage ../development/libraries/haskell/HaskellNet {};
+  HaskellNetSSL = callPackage ../development/libraries/haskell/HaskellNet-SSL {};
+
+  haskellPackages = callPackage ../development/libraries/haskell/haskell-packages {};
+
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
   haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
   haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {};
-  haskellSrc = self.haskellSrc_1_0_1_5;
+  haskellSrc_1_0_1_6 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.6.nix {};
+  haskellSrc = self.haskellSrc_1_0_1_6;
 
-  haskellSrcExts_1_13_5 = callPackage ../development/libraries/haskell/haskell-src-exts/1.13.5.nix {};
-  haskellSrcExts_1_14_0 = callPackage ../development/libraries/haskell/haskell-src-exts/1.14.0.nix {};
-  haskellSrcExts = self.haskellSrcExts_1_14_0;
+  haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts {};
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
+  haskintex = callPackage ../development/libraries/haskell/haskintex {};
+
+  haskoin = callPackage ../development/libraries/haskell/haskoin {};
+
+  haskore = callPackage ../development/libraries/haskell/haskore {};
+
   hastache = callPackage ../development/libraries/haskell/hastache {};
 
+  hasteCompiler = callPackage ../development/libraries/haskell/haste-compiler {};
+
+  hastePerch = callPackage ../development/libraries/haskell/haste-perch {};
+
+  HaTeX = callPackage ../development/libraries/haskell/HaTeX {};
+
+  hcltest = callPackage ../development/libraries/haskell/hcltest {};
+
+  hedis = callPackage ../development/libraries/haskell/hedis {};
+
+  heredoc = callPackage ../development/libraries/haskell/heredoc {};
+
   hexpat = callPackage ../development/libraries/haskell/hexpat {};
 
+  hex = callPackage ../development/libraries/haskell/hex {};
+
+  hgal = callPackage ../development/libraries/haskell/hgal {};
+
+  hourglass = callPackage ../development/libraries/haskell/hourglass {};
+
+  hplayground = callPackage ../development/libraries/haskell/hplayground {};
+
+  hseCpp = callPackage ../development/libraries/haskell/hse-cpp {};
+
+  hsimport = callPackage ../development/libraries/haskell/hsimport {};
+
   HTF = callPackage ../development/libraries/haskell/HTF {};
 
   HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {};
@@ -1178,22 +1127,39 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {};
   HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {};
   HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {};
-  HTTP = self.HTTP_4000_2_8;
+  HTTP_4000_2_17 = callPackage ../development/libraries/haskell/HTTP/4000.2.17.nix {};
+  HTTP = self.HTTP_4000_2_17;
 
   httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {};
 
+  httpClient = callPackage ../development/libraries/haskell/http-client {};
+
+  httpClientConduit = callPackage ../development/libraries/haskell/http-client-conduit {};
+
+  httpClientMultipart = callPackage ../development/libraries/haskell/http-client-multipart {};
+
+  httpClientTls = callPackage ../development/libraries/haskell/http-client-tls {};
+
+  httpCommon = callPackage ../development/libraries/haskell/http-common {};
+
+  httpKit = callPackage ../development/libraries/haskell/http-kit {};
+
   httpReverseProxy = callPackage ../development/libraries/haskell/http-reverse-proxy {};
 
   hackageDb = callPackage ../development/libraries/haskell/hackage-db {};
 
   haskellForMaths = callPackage ../development/libraries/haskell/HaskellForMaths {};
 
+  haxl = callPackage ../development/libraries/haskell/haxl {};
+
   haxr = callPackage ../development/libraries/haskell/haxr {};
 
   haxr_th = callPackage ../development/libraries/haskell/haxr-th {};
 
   HaXml = callPackage ../development/libraries/haskell/HaXml {};
 
+  hdaemonize = callPackage ../development/libraries/haskell/hdaemonize {};
+
   HDBC = callPackage ../development/libraries/haskell/HDBC/HDBC.nix {};
 
   HDBCOdbc = callPackage ../development/libraries/haskell/HDBC/HDBC-odbc.nix {
@@ -1204,19 +1170,23 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   HDBCSqlite3 = callPackage ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {};
 
+  HPDF = callPackage ../development/libraries/haskell/HPDF {};
+
   heist = callPackage ../development/libraries/haskell/heist {};
 
   hflags = callPackage ../development/libraries/haskell/hflags {};
 
+  hfsevents = callPackage ../development/libraries/haskell/hfsevents {};
+
   HFuse = callPackage ../development/libraries/haskell/HFuse {};
 
   highlightingKate = callPackage ../development/libraries/haskell/highlighting-kate {};
 
   hinotify = callPackage ../development/libraries/haskell/hinotify {};
 
-  hint = callPackage ../development/libraries/haskell/hint {};
+  hi = callPackage ../development/libraries/haskell/hi {};
 
-  Hipmunk = callPackage ../development/libraries/haskell/Hipmunk {};
+  hint = callPackage ../development/libraries/haskell/hint {};
 
   hit = callPackage ../development/libraries/haskell/hit {};
 
@@ -1228,14 +1198,35 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   hledgerIrr = callPackage ../applications/office/hledger-irr {};
   hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
 
+  hlibgit2 = callPackage ../development/libraries/haskell/hlibgit2 {};
+
   HList = callPackage ../development/libraries/haskell/HList {};
 
-  hmatrix = callPackage ../development/libraries/haskell/hmatrix {};
+  hmatrix = callPackage ../development/libraries/haskell/hmatrix {
+    liblapack = pkgs.liblapack.override { shared = true; };
+  };
+
+  hmatrixSpecial = callPackage ../development/libraries/haskell/hmatrix-special {};
 
   hoauth = callPackage ../development/libraries/haskell/hoauth {};
 
-  hoogle = callPackage ../development/libraries/haskell/hoogle {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
+  hoauth2 = callPackage ../development/libraries/haskell/hoauth2 {};
+
+  hoodle = callPackage ../applications/graphics/hoodle {};
+
+  hoodleBuilder = callPackage ../development/libraries/haskell/hoodle-builder {};
+
+  hoodleCore = callPackage ../development/libraries/haskell/hoodle-core {};
+
+  hoodleParser = callPackage ../development/libraries/haskell/hoodle-parser {};
+
+  hoodleRender = callPackage ../development/libraries/haskell/hoodle-render {};
+
+  hoodleTypes = callPackage ../development/libraries/haskell/hoodle-types {};
+
+  hoogle = callPackage ../development/libraries/haskell/hoogle {};
+  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {
+    parallel = pkgs.parallel;
   };
 
   hopenssl = callPackage ../development/libraries/haskell/hopenssl {};
@@ -1250,11 +1241,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   hsBibutils = callPackage ../development/libraries/haskell/hs-bibutils {};
 
-  hscolour = callPackage ../development/libraries/haskell/hscolour {};
-
   hsdns = callPackage ../development/libraries/haskell/hsdns {};
 
-  hsemail = callPackage ../development/libraries/haskell/hsemail {};
+  hsemail = if (pkgs.stdenv.lib.versionOlder ghc.version "7") then null else
+    callPackage ../development/libraries/haskell/hsemail {};
 
   hslua = callPackage ../development/libraries/haskell/hslua {
     lua = pkgs.lua5_1;
@@ -1262,7 +1252,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   HSH = callPackage ../development/libraries/haskell/HSH {};
 
-  HsSyck = callPackage ../development/libraries/haskell/HsSyck {};
+  hsini = callPackage ../development/libraries/haskell/hsini {};
+
+  HsSyck_0_51 = callPackage ../development/libraries/haskell/HsSyck/0.51.nix {};
+  HsSyck_0_52 = callPackage ../development/libraries/haskell/HsSyck/0.52.nix {};
+  HsSyck = self.HsSyck_0_52;
 
   HsOpenSSL = callPackage ../development/libraries/haskell/HsOpenSSL {};
 
@@ -1276,8 +1270,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   hspec = callPackage ../development/libraries/haskell/hspec {};
 
+  hspecAttoparsec = callPackage ../development/libraries/haskell/hspec-attoparsec {};
+
+  hspecWai = callPackage ../development/libraries/haskell/hspec-wai {};
+
+  hspec2 = callPackage ../development/libraries/haskell/hspec2 {};
+
   hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {};
 
+  hspecExpectationsLens = callPackage ../development/libraries/haskell/hspec-expectations-lens {};
+
   hspecMeta = callPackage ../development/libraries/haskell/hspec-meta {};
 
   hstatsd = callPackage ../development/libraries/haskell/hstatsd {};
@@ -1295,8 +1297,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   httpDate = callPackage ../development/libraries/haskell/http-date {};
 
+  httpStreams = callPackage ../development/libraries/haskell/http-streams {};
+
   httpTypes = callPackage ../development/libraries/haskell/http-types {};
 
+  holyProject = callPackage ../development/libraries/haskell/holy-project {};
+
   HUnit_1_2_0_3 = callPackage ../development/libraries/haskell/HUnit/1.2.0.3.nix {};
   HUnit_1_2_2_1 = callPackage ../development/libraries/haskell/HUnit/1.2.2.1.nix {};
   HUnit_1_2_2_3 = callPackage ../development/libraries/haskell/HUnit/1.2.2.3.nix {};
@@ -1306,34 +1312,72 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   HUnit_1_2_5_2 = callPackage ../development/libraries/haskell/HUnit/1.2.5.2.nix {};
   HUnit = self.HUnit_1_2_5_2;
 
+  HUnitApprox = callPackage ../development/libraries/haskell/HUnit-approx {};
+
+  hweblib = callPackage ../development/libraries/haskell/hweblib/default.nix {};
+
   hxt = callPackage ../development/libraries/haskell/hxt {};
 
   hxtCharproperties = callPackage ../development/libraries/haskell/hxt-charproperties {};
 
+  hxtHttp = callPackage ../development/libraries/haskell/hxt-http {};
+
+  hxtPickleUtils = callPackage ../development/libraries/haskell/hxt-pickle-utils {};
+
   hxtRegexXmlschema = callPackage ../development/libraries/haskell/hxt-regex-xmlschema {};
 
+  hxtTagsoup = callPackage ../development/libraries/haskell/hxt-tagsoup {};
+
   hxtUnicode = callPackage ../development/libraries/haskell/hxt-unicode {};
 
+  hxtXpath = callPackage ../development/libraries/haskell/hxt-xpath {};
+
+  hybridVectors = callPackage ../development/libraries/haskell/hybrid-vectors {};
+
+  iCalendar = callPackage ../development/libraries/haskell/iCalendar {};
+
   idna = callPackage ../development/libraries/haskell/idna {};
 
   IfElse = callPackage ../development/libraries/haskell/IfElse {};
 
   ieee754 = callPackage ../development/libraries/haskell/ieee754 {};
 
+  imm = callPackage ../development/libraries/haskell/imm {};
+
+  implicit = callPackage ../development/libraries/haskell/implicit {};
+
   indents = callPackage ../development/libraries/haskell/indents {};
 
+  indexed = callPackage ../development/libraries/haskell/indexed {};
+
+  indexedFree = callPackage ../development/libraries/haskell/indexed-free {};
+
   instantGenerics = callPackage ../development/libraries/haskell/instant-generics {};
 
+  interlude = callPackage ../development/libraries/haskell/interlude {};
+
+  interpolate = callPackage ../development/libraries/haskell/interpolate {};
+
+  interpolatedstringPerl6 = callPackage ../development/libraries/haskell/interpolatedstring-perl6 {};
+
   intervals = callPackage ../development/libraries/haskell/intervals {};
 
+  IntervalMap = callPackage ../development/libraries/haskell/IntervalMap {};
+
   ioChoice = callPackage ../development/libraries/haskell/io-choice {};
 
+  ioMemoize = callPackage ../development/libraries/haskell/io-memoize {};
+
   IORefCAS = callPackage ../development/libraries/haskell/IORefCAS {};
 
   IOSpec = callPackage ../development/libraries/haskell/IOSpec {};
 
   ioStorage = callPackage ../development/libraries/haskell/io-storage {};
 
+  ioStreams = callPackage ../development/libraries/haskell/io-streams {};
+
+  ipprint = callPackage ../development/libraries/haskell/ipprint {};
+
   iproute = callPackage ../development/libraries/haskell/iproute {};
 
   irc = callPackage ../development/libraries/haskell/irc {};
@@ -1342,21 +1386,39 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   ivor = callPackage ../development/libraries/haskell/ivor {};
 
+  ixdopp = callPackage ../development/libraries/haskell/ixdopp {
+    preprocessorTools = self.preprocessorTools_0_1_3;
+  };
+
+  ixset = callPackage ../development/libraries/haskell/ixset {};
+
   ixShapable = callPackage ../development/libraries/haskell/ix-shapable {};
 
+  jack = callPackage ../development/libraries/haskell/jack {};
+
   JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {};
 
-  jpeg = callPackage ../development/libraries/haskell/jpeg {};
+  jmacro = callPackage ../development/libraries/haskell/jmacro {};
+  jmacroRpc = callPackage ../development/libraries/haskell/jmacro-rpc {};
+  jmacroRpcHappstack = callPackage ../development/libraries/haskell/jmacro-rpc-happstack {};
+  jmacroRpcSnap = callPackage ../development/libraries/haskell/jmacro-rpc-snap {};
 
-  JsContracts = callPackage ../development/libraries/haskell/JsContracts {
-    WebBits = self.WebBits_1_0;
-    WebBitsHtml = self.WebBitsHtml_1_0_1;
-  };
+  jpeg = callPackage ../development/libraries/haskell/jpeg {};
 
   json = callPackage ../development/libraries/haskell/json {};
 
+  jsonAssertions = callPackage ../development/libraries/haskell/json-assertions {};
+
+  jsonRpc = callPackage ../development/libraries/haskell/json-rpc {};
+
+  jsonSchema = callPackage ../development/libraries/haskell/json-schema {};
+
   jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {};
 
+  JuicyPixelsUtil = callPackage ../development/libraries/haskell/JuicyPixels-util {};
+
+  kanExtensions = callPackage ../development/libraries/haskell/kan-extensions {};
+
   kansasLava = callPackage ../development/libraries/haskell/kansas-lava {};
 
   keys = callPackage ../development/libraries/haskell/keys {};
@@ -1365,10 +1427,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   languageC = callPackage ../development/libraries/haskell/language-c {};
 
+  languageCInline = callPackage ../development/libraries/haskell/language-c-inline {};
+
   languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {};
 
   languageEcmascript = callPackage ../development/libraries/haskell/language-ecmascript {};
 
+  languageGlsl = callPackage ../development/libraries/haskell/language-glsl {};
+
   languageJava = callPackage ../development/libraries/haskell/language-java {};
 
   languageJavascript = callPackage ../development/libraries/haskell/language-javascript {};
@@ -1377,6 +1443,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   lambdabot = callPackage ../development/libraries/haskell/lambdabot {};
 
+  lambdabotWrapper = callPackage ../development/libraries/haskell/lambdabot/wrapper.nix {
+    mueval = self.muevalWrapper.override {
+      additionalPackages = [ self.lambdabot ];
+    };
+  };
+
   lambdabotUtils = callPackage ../development/libraries/haskell/lambdabot-utils {};
 
   lambdacubeEngine = callPackage ../development/libraries/haskell/lambdacube-engine {};
@@ -1385,60 +1457,96 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   lazysmallcheck = callPackage ../development/libraries/haskell/lazysmallcheck {};
 
-  leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {};
-
   lens = callPackage ../development/libraries/haskell/lens {};
 
   lensDatetime = callPackage ../development/libraries/haskell/lens-datetime {};
 
+  lensFamilyCore = callPackage ../development/libraries/haskell/lens-family-core {};
+
   lenses = callPackage ../development/libraries/haskell/lenses {};
 
+  leveldbHaskell = callPackage ../development/libraries/haskell/leveldb-haskell {};
+
   libffi = callPackage ../development/libraries/haskell/libffi {
     libffi = pkgs.libffi;
   };
 
+  libjenkins = callPackage ../development/libraries/haskell/libjenkins {};
+
   libmpd = callPackage ../development/libraries/haskell/libmpd {};
 
   liblastfm = callPackage ../development/libraries/haskell/liblastfm {};
 
+  libsystemdJournal = callPackage ../development/libraries/haskell/libsystemd-journal {
+    systemd-journal = pkgs.systemd;
+  };
+
   libxmlSax = callPackage ../development/libraries/haskell/libxml-sax {};
 
+  liftedAsync = callPackage ../development/libraries/haskell/lifted-async {};
+
   liftedBase = callPackage ../development/libraries/haskell/lifted-base {};
 
   linear = callPackage ../development/libraries/haskell/linear {};
 
   List = callPackage ../development/libraries/haskell/List {};
 
+  lists = callPackage ../development/libraries/haskell/lists {};
+
+  listExtras = callPackage ../development/libraries/haskell/listExtras {};
+
   listTries = callPackage ../development/libraries/haskell/list-tries {};
 
   ListLike = callPackage ../development/libraries/haskell/ListLike {};
 
   ListZipper = callPackage ../development/libraries/haskell/ListZipper {};
 
-  llvmGeneral = callPackage ../development/libraries/haskell/llvm-general {
+  # Needed for idris for now
+  llvmGeneral_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general/3.3.8.2.nix {
+    llvmConfig = pkgs.llvm_33;
+    llvmGeneralPure = self.llvmGeneralPure_3_3_8_2;
+  };
+  llvmGeneral_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general/3.4.2.2.nix {
     llvmConfig = pkgs.llvm;
   };
+  llvmGeneral = self.llvmGeneral_3_4_2_2;
 
-  llvmGeneralPure = callPackage ../development/libraries/haskell/llvm-general-pure {};
+  llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix { };
+  llvmGeneralPure_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.2.2.nix {};
+  llvmGeneralPure = self.llvmGeneralPure_3_4_2_2;
 
   lrucache = callPackage ../development/libraries/haskell/lrucache {};
 
-  ltk = callPackage ../development/libraries/haskell/ltk {};
+  lochTh = callPackage ../development/libraries/haskell/loch-th {};
 
   lockfreeQueue = callPackage ../development/libraries/haskell/lockfree-queue {};
 
   logfloat = callPackage ../development/libraries/haskell/logfloat {};
 
+  logging = callPackage ../development/libraries/haskell/logging {};
+
   logict = callPackage ../development/libraries/haskell/logict {};
 
+  loop = callPackage ../development/libraries/haskell/loop {};
+
+  lushtags = callPackage ../development/libraries/haskell/lushtags {};
+
+  lzmaEnumerator = callPackage ../development/libraries/haskell/lzma-enumerator {};
+
   maccatcher = callPackage ../development/libraries/haskell/maccatcher {};
 
+  machines = callPackage ../development/libraries/haskell/machines {};
+
   markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {};
 
   mathFunctions = callPackage ../development/libraries/haskell/math-functions {};
 
   mainlandPretty = callPackage ../development/libraries/haskell/mainland-pretty {};
 
+  markovChain = callPackage ../development/libraries/haskell/markov-chain {};
+
+  matrix = callPackage ../development/libraries/haskell/matrix {};
+
   maude = callPackage ../development/libraries/haskell/maude {};
 
   MaybeT = callPackage ../development/libraries/haskell/MaybeT {};
@@ -1447,9 +1555,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   mersenneRandomPure64 = callPackage ../development/libraries/haskell/mersenne-random-pure64 {};
 
+  MFlow = callPackage ../development/libraries/haskell/MFlow {};
+
+  midi = callPackage ../development/libraries/haskell/midi {};
+
+  mime = callPackage ../development/libraries/haskell/mime {};
+
   minimorph = callPackage ../development/libraries/haskell/minimorph {};
 
-  miniutter = callPackage ../development/libraries/haskell/miniutter {};
+  minioperational = callPackage ../development/libraries/haskell/minioperational {};
+
+  miniutter = callPackage ../development/libraries/haskell/miniutter {
+    binary = self.binary_0_7_2_1;
+  };
 
   mimeMail = callPackage ../development/libraries/haskell/mime-mail {};
 
@@ -1457,9 +1575,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   misfortune = callPackage ../development/libraries/haskell/misfortune {};
 
-  MissingH = callPackage ../development/libraries/haskell/MissingH {
-    testpack = null;
-  };
+  missingForeign = callPackage ../development/libraries/haskell/missing-foreign {};
+
+  MissingH = callPackage ../development/libraries/haskell/MissingH { testpack = null; };
 
   mmap = callPackage ../development/libraries/haskell/mmap {};
 
@@ -1471,15 +1589,29 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   monadControl = callPackage ../development/libraries/haskell/monad-control {};
 
+  monadCoroutine = callPackage ../development/libraries/haskell/monad-coroutine {};
+
   monadcryptorandom = callPackage ../development/libraries/haskell/monadcryptorandom {};
 
+  monadExtras = callPackage ../development/libraries/haskell/monad-extras {};
+
+  monadJournal = callPackage ../development/libraries/haskell/monad-journal {};
+
+  monadLib = callPackage ../development/libraries/haskell/monadlib {};
+
+  monadloc = callPackage ../development/libraries/haskell/monadloc {};
+
+  monadlocPp = callPackage ../development/libraries/haskell/monadloc-pp {};
+
   monadLoops = callPackage ../development/libraries/haskell/monad-loops {};
 
   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_5 = callPackage ../development/libraries/haskell/monad-par/0.3.4.5.nix {};
-  monadPar = self.monadPar_0_3_4_5;
+  monadPar_0_3_4_6 = callPackage ../development/libraries/haskell/monad-par/0.3.4.6.nix {};
+  monadPar = self.monadPar_0_3_4_6;
+
+  monadParallel = callPackage ../development/libraries/haskell/monad-parallel {};
 
   monadParExtras = callPackage ../development/libraries/haskell/monad-par-extras {};
 
@@ -1489,10 +1621,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   MonadRandom = callPackage ../development/libraries/haskell/MonadRandom {};
 
+  monadStm = callPackage ../development/libraries/haskell/monad-stm {};
+
+  monadSupply = callPackage ../development/libraries/haskell/monad-supply {};
+
   monadsTf = callPackage ../development/libraries/haskell/monads-tf {};
 
+  monadUnify = callPackage ../development/libraries/haskell/monad-unify {};
+
   monoidExtras = callPackage ../development/libraries/haskell/monoid-extras {};
 
+  monoidTransformer = callPackage ../development/libraries/haskell/monoid-transformer {};
+
   mongoDB = callPackage ../development/libraries/haskell/mongoDB {};
 
   monoTraversable = callPackage ../development/libraries/haskell/mono-traversable {};
@@ -1501,36 +1641,43 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   mpppc = callPackage ../development/libraries/haskell/mpppc {};
 
+  msgpack = callPackage ../development/libraries/haskell/msgpack {};
+
   mtl_1_1_0_2 = callPackage ../development/libraries/haskell/mtl/1.1.0.2.nix {};
-  mtl_1_1_1_1 = callPackage ../development/libraries/haskell/mtl/1.1.1.1.nix {};
   mtl_2_0_1_0 = callPackage ../development/libraries/haskell/mtl/2.0.1.0.nix {};
-  mtl_2_1_1 = callPackage ../development/libraries/haskell/mtl/2.1.1.nix {
-    transformers = self.transformers_0_3_0_0;
-  };
-  mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix {
-    transformers = self.transformers_0_3_0_0;
-  };
-  mtl = self.mtl_2_1_2;
+  mtl_2_1_1 = callPackage ../development/libraries/haskell/mtl/2.1.1.nix {};
+  mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix {};
+  mtl_2_2_1 = callPackage ../development/libraries/haskell/mtl/2.2.1.nix {};
+  mtl = null; # tightly coupled with 'transformers' which is a core package
 
   mtlparse = callPackage ../development/libraries/haskell/mtlparse {};
 
   mueval = callPackage ../development/libraries/haskell/mueval {};
 
+  muevalWrapper = callPackage ../development/libraries/haskell/mueval/wrapper.nix {};
+
   multiarg = callPackage ../development/libraries/haskell/multiarg {};
 
+  multimap = callPackage ../development/libraries/haskell/multimap {};
+
+  multipart = callPackage ../development/libraries/haskell/multipart {};
+
   multiplate = callPackage ../development/libraries/haskell/multiplate {};
 
   multirec = callPackage ../development/libraries/haskell/multirec {};
 
-  multiset_0_2_1 = callPackage ../development/libraries/haskell/multiset/0.2.1.nix {};
-  multiset_0_2_2 = callPackage ../development/libraries/haskell/multiset/0.2.2.nix {};
-  multiset = self.multiset_0_2_1;   # later versions work only with ghc 7.6 and beyond
+  multiset = callPackage ../development/libraries/haskell/multiset {};
 
   murmurHash = callPackage ../development/libraries/haskell/murmur-hash {};
 
   mwcRandom = callPackage ../development/libraries/haskell/mwc-random {};
 
-  NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {};
+  mysql = callPackage ../development/libraries/haskell/mysql {
+    mysqlConfig = pkgs.mysql;
+    inherit (pkgs) zlib;
+  };
+
+  mysqlSimple = callPackage ../development/libraries/haskell/mysql-simple {};
 
   nanospec = callPackage ../development/libraries/haskell/nanospec {};
 
@@ -1557,14 +1704,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
   network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
   network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {};
-  network_2_4_2_0 = callPackage ../development/libraries/haskell/network/2.4.2.0.nix {};
-  network = self.network_2_4_2_0;
+  network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {};
+  network = self.network_2_5_0_0;
+
+  networkCarbon = callPackage ../development/libraries/haskell/network-carbon {};
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
   networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {};
 
   networkInfo = callPackage ../development/libraries/haskell/network-info {};
 
+  networkMetrics = callPackage ../development/libraries/haskell/network-metrics {};
+
   networkMulticast = callPackage ../development/libraries/haskell/network-multicast {};
 
   networkProtocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {};
@@ -1577,6 +1728,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   networkTransportTests = callPackage ../development/libraries/haskell/network-transport-tests {};
 
+  networkUri = callPackage ../development/libraries/haskell/network-uri {};
+
   newtype = callPackage ../development/libraries/haskell/newtype {};
 
   nonNegative = callPackage ../development/libraries/haskell/non-negative {};
@@ -1607,19 +1760,28 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
   OpenGL_2_6_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.6.0.1.nix {};
   OpenGL_2_8_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.8.0.0.nix {};
-  OpenGL_2_9_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.9.1.0.nix {};
-  OpenGL = self.OpenGL_2_9_1_0;
+  OpenGL_2_9_2_0 = callPackage ../development/libraries/haskell/OpenGL/2.9.2.0.nix {};
+  OpenGL = self.OpenGL_2_9_2_0;
 
   OpenGLRaw_1_3_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.3.0.0.nix {};
   OpenGLRaw_1_4_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.4.0.0.nix {};
-  OpenGLRaw = self.OpenGLRaw_1_4_0_0;
+  OpenGLRaw_1_5_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.5.0.0.nix {};
+  OpenGLRaw = self.OpenGLRaw_1_5_0_0;
+
+  opensslStreams = callPackage ../development/libraries/haskell/openssl-streams {};
 
   operational = callPackage ../development/libraries/haskell/operational {};
 
+  opml = callPackage ../development/libraries/haskell/opml {};
+
+  options = callPackage ../development/libraries/haskell/options {};
+
   optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {};
 
   pathPieces = callPackage ../development/libraries/haskell/path-pieces {};
 
+  patience = callPackage ../development/libraries/haskell/patience {};
+
   pandoc = callPackage ../development/libraries/haskell/pandoc {};
 
   pandocCiteproc = callPackage ../development/libraries/haskell/pandoc-citeproc {};
@@ -1636,7 +1798,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parallel_3_1_0_1 = callPackage ../development/libraries/haskell/parallel/3.1.0.1.nix {};
   parallel_3_2_0_2 = callPackage ../development/libraries/haskell/parallel/3.2.0.2.nix {};
   parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {};
-  parallel = self.parallel_3_2_0_3;
+  parallel_3_2_0_4 = callPackage ../development/libraries/haskell/parallel/3.2.0.4.nix {};
+  parallel = self.parallel_3_2_0_4;
 
   parallelIo = callPackage ../development/libraries/haskell/parallel-io {};
 
@@ -1646,20 +1809,23 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parsec_3_1_1   = callPackage ../development/libraries/haskell/parsec/3.1.1.nix {};
   parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
   parsec_3_1_3   = callPackage ../development/libraries/haskell/parsec/3.1.3.nix {};
-  parsec2 = self.parsec_2_1_0_1;
-  parsec3 = self.parsec_3_1_3;
-  parsec  = self.parsec3;
+  parsec_3_1_5   = callPackage ../development/libraries/haskell/parsec/3.1.5.nix {};
+  parsec = self.parsec_3_1_5;
 
-  parsers_0_9 = callPackage ../development/libraries/haskell/parsers/0.9.nix {};
-  parsers_0_10 = callPackage ../development/libraries/haskell/parsers/0.10.nix {};
-  parsers = self.parsers_0_10;
+  parsers_0_10_3 = callPackage ../development/libraries/haskell/parsers/0.10.3.nix {};
+  parsers_0_12_1 = callPackage ../development/libraries/haskell/parsers/0.12.1.nix {};
+  parsers = self.parsers_0_12_1;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
-  Pathfinder = callPackage ../development/libraries/haskell/Pathfinder {};
+  PastePipe = callPackage ../development/tools/haskell/PastePipe {};
 
   pathtype = callPackage ../development/libraries/haskell/pathtype {};
 
+  patternArrows = callPackage ../development/libraries/haskell/pattern-arrows {};
+
+  pbkdf = callPackage ../development/libraries/haskell/pbkdf {};
+
   pcap = callPackage ../development/libraries/haskell/pcap {};
 
   pcapEnumerator = callPackage ../development/libraries/haskell/pcap-enumerator {};
@@ -1672,6 +1838,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   persistent = callPackage ../development/libraries/haskell/persistent {};
 
+  persistentMysql = callPackage ../development/libraries/haskell/persistent-mysql {};
+
   persistentPostgresql = callPackage ../development/libraries/haskell/persistent-postgresql {};
 
   persistentSqlite = callPackage ../development/libraries/haskell/persistent-sqlite {};
@@ -1686,26 +1854,51 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   pipesAttoparsec = callPackage ../development/libraries/haskell/pipes-attoparsec {};
 
+  pipesBinary = callPackage ../development/libraries/haskell/pipes-binary {};
+
   pipesBytestring = callPackage ../development/libraries/haskell/pipes-bytestring {};
 
   pipesConcurrency = callPackage ../development/libraries/haskell/pipes-concurrency {};
 
+  pipesCsv = callPackage ../development/libraries/haskell/pipes-csv {};
+
+  pipesHttp = callPackage ../development/libraries/haskell/pipes-http {};
+
   pipesNetwork = callPackage ../development/libraries/haskell/pipes-network {};
 
+  pipesGroup = callPackage ../development/libraries/haskell/pipes-group {};
+
   pipesParse = callPackage ../development/libraries/haskell/pipes-parse {};
 
+  pipesPostgresqlSimple = callPackage ../development/libraries/haskell/pipes-postgresql-simple {};
+
   pipesSafe = callPackage ../development/libraries/haskell/pipes-safe {};
 
+  pipesText = callPackage ../development/libraries/haskell/pipes-text {};
+
   pipesZlib = callPackage ../development/libraries/haskell/pipes-zlib {};
 
+  placeholders = callPackage ../development/libraries/haskell/placeholders {};
+
+  plugins= callPackage ../development/libraries/haskell/plugins {};
+
   polyparse = callPackage ../development/libraries/haskell/polyparse {};
 
   pointed = callPackage ../development/libraries/haskell/pointed {};
 
+  pointedlist = callPackage ../development/libraries/haskell/pointedlist {};
+
   poolConduit = callPackage ../development/libraries/haskell/pool-conduit {};
 
   pop3client = callPackage ../development/libraries/haskell/pop3-client {};
 
+  poppler = callPackage ../development/libraries/haskell/poppler {
+    popplerGlib = pkgs.poppler.poppler_glib;
+    libc = pkgs.stdenv.gcc.libc;
+  };
+
+  posixPaths = callPackage ../development/libraries/haskell/posix-paths {};
+
   postgresqlLibpq = callPackage ../development/libraries/haskell/postgresql-libpq {
     inherit (pkgs) postgresql;
   };
@@ -1714,33 +1907,55 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   ppm = callPackage ../development/libraries/haskell/ppm {};
 
-  prettyShow_1_2 = callPackage ../development/libraries/haskell/pretty-show/1.2.nix {};
-  prettyShow_1_6_1 = callPackage ../development/libraries/haskell/pretty-show/1.6.1.nix {};
-  prettyShow = self.prettyShow_1_6_1;
+  pqueue = callPackage ../development/libraries/haskell/pqueue {};
+
+  process_1_2_0_0 = callPackage ../development/libraries/haskell/process/1.2.0.0.nix {};
+  process = null;      # core package since forever
+
+  profiteur = callPackage ../development/tools/haskell/profiteur {};
+
+  preludeExtras = callPackage ../development/libraries/haskell/prelude-extras {};
+
+  preludeSafeenum = callPackage ../development/libraries/haskell/prelude-safeenum {};
+
+  preprocessorTools_0_1_3 = callPackage ../development/libraries/haskell/preprocessor-tools/0.1.3.nix {};
+  preprocessorTools_1_0_1 = callPackage ../development/libraries/haskell/preprocessor-tools/1.0.1.nix {};
+  preprocessorTools = self.preprocessorTools_1_0_1;
+
+  presburger = callPackage ../development/libraries/haskell/presburger {};
+
+  prettyclass = callPackage ../development/libraries/haskell/prettyclass {};
+
+  prettyShow = callPackage ../development/libraries/haskell/pretty-show {};
 
   punycode = callPackage ../development/libraries/haskell/punycode {};
 
-  primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix   {};
-  primitive_0_5_1_0 = callPackage ../development/libraries/haskell/primitive/0.5.1.0.nix   {};
-  primitive = self.primitive_0_5_1_0;
+  pureCdb = callPackage ../development/libraries/haskell/pure-cdb { testSimple = null; };
 
-  profunctors = callPackage ../development/libraries/haskell/profunctors {};
+  primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {};
+  primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {};
+  primitive_0_5_3_0 = callPackage ../development/libraries/haskell/primitive/0.5.3.0.nix {};
+  primitive = self.primitive_0_5_3_0;
+
+  probability = callPackage ../development/libraries/haskell/probability {};
 
-  profunctorExtras = callPackage ../development/libraries/haskell/profunctor-extras {};
+  profunctors = callPackage ../development/libraries/haskell/profunctors {};
 
   projectTemplate = callPackage ../development/libraries/haskell/project-template {};
 
-  processExtras = callPackage ../development/libraries/haskell/process-extras {};
+  processConduit = callPackage ../development/libraries/haskell/process-conduit {};
 
-  processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {};
+  processExtras = callPackage ../development/libraries/haskell/process-extras {};
 
   prolog = callPackage ../development/libraries/haskell/prolog {};
-  prologGraphLib = callPackage ../development/libraries/haskell/prolog-graph-lib {
-    fgl = self.fgl_5_4_2_4;
-  };
-  prologGraph = callPackage ../development/libraries/haskell/prolog-graph {
-    fgl = self.fgl_5_4_2_4;
-  };
+  prologGraphLib = callPackage ../development/libraries/haskell/prolog-graph-lib {};
+  prologGraph = callPackage ../development/libraries/haskell/prolog-graph {};
+
+  protobuf = callPackage ../development/libraries/haskell/protobuf {};
+
+  protocolBuffers = callPackage ../development/libraries/haskell/protocol-buffers {};
+
+  protocolBuffersDescriptor = callPackage ../development/libraries/haskell/protocol-buffers-descriptor {};
 
   PSQueue = callPackage ../development/libraries/haskell/PSQueue {};
 
@@ -1748,6 +1963,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {};
 
+  purescript = callPackage ../development/libraries/haskell/purescript {};
+
   pwstoreFast = callPackage ../development/libraries/haskell/pwstore-fast {};
 
   QuickCheck_1_2_0_0 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.0.nix {};
@@ -1758,12 +1975,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   QuickCheck_2_4_2 = callPackage ../development/libraries/haskell/QuickCheck/2.4.2.nix {};
   QuickCheck_2_5_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.5.1.1.nix {};
   QuickCheck_2_6 = callPackage ../development/libraries/haskell/QuickCheck/2.6.nix {};
-  QuickCheck1 = self.QuickCheck_1_2_0_1;
-  QuickCheck2 = self.QuickCheck_2_6;
-  QuickCheck  = self.QuickCheck2;
+  QuickCheck_2_7_5 = callPackage ../development/libraries/haskell/QuickCheck/2.7.5.nix {};
+  QuickCheck_2_7_6 = callPackage ../development/libraries/haskell/QuickCheck/2.7.6.nix {};
+  QuickCheck = self.QuickCheck_2_7_6;
+
+  quickcheckAssertions = callPackage ../development/libraries/haskell/quickcheck-assertions {};
+
+  quickcheckInstances = callPackage ../development/libraries/haskell/quickcheck-instances {};
 
   quickcheckIo = callPackage ../development/libraries/haskell/quickcheck-io {};
 
+  quickcheckPropertyMonad = callPackage ../development/libraries/haskell/quickcheck-property-monad {};
+
   qrencode = callPackage ../development/libraries/haskell/qrencode {
     inherit (pkgs) qrencode;
   };
@@ -1771,7 +1994,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
 
   random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {};
-  random = null; # core package until ghc-7.2.1
+  random = self.random_1_0_1_1;
 
   randomFu = callPackage ../development/libraries/haskell/random-fu {};
 
@@ -1797,21 +2020,26 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   recaptcha = callPackage ../development/libraries/haskell/recaptcha {};
 
+  recursionSchemes = callPackage ../development/libraries/haskell/recursion-schemes {};
+
   reducers = callPackage ../development/libraries/haskell/reducers {};
 
   reflection = callPackage ../development/libraries/haskell/reflection {};
 
+  RefSerialize = callPackage ../development/libraries/haskell/RefSerialize {};
+
+  regexApplicative = callPackage ../development/libraries/haskell/regex-applicative {};
+
   regexBase_0_72_0_2 = callPackage ../development/libraries/haskell/regex-base/0.72.0.2.nix {};
-  regexBase_0_93_1   = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix   {};
-  regexBase_0_93_2   = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix   {};
+  regexBase_0_93_1   = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix {};
+  regexBase_0_93_2   = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix {};
   regexBase = self.regexBase_0_93_2;
 
   regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {};
-  regexCompat_0_92     = callPackage ../development/libraries/haskell/regex-compat/0.92.nix     {};
-  regexCompat_0_93_1   = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix   {};
-  regexCompat_0_95_1   = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix   {};
-  regexCompat93 = self.regexCompat_0_93_1;
-  regexCompat = self.regexCompat_0_71_0_1;
+  regexCompat_0_92     = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {};
+  regexCompat_0_93_1   = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {};
+  regexCompat_0_95_1   = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {};
+  regexCompat = self.regexCompat_0_95_1;
 
   regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {};
 
@@ -1823,18 +2051,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {};
   regexPosix = self.regexPosix_0_95_2;
 
-  regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {};
-  regexTdfa = self.regexTDFA;
+  regexTdfa = callPackage ../development/libraries/haskell/regex-tdfa {};
+
+  regexTdfaRc = callPackage ../development/libraries/haskell/regex-tdfa-rc {};
 
   regexTdfaText = callPackage ../development/libraries/haskell/regex-tdfa-text {};
 
-  regexPCRE = callPackage ../development/libraries/haskell/regex-pcre {};
-  regexPcre = self.regexPCRE;
+  regexPcre = callPackage ../development/libraries/haskell/regex-pcre {};
 
   regexpr = callPackage ../development/libraries/haskell/regexpr {};
 
   regular = callPackage ../development/libraries/haskell/regular {};
 
+  regularXmlpickler = callPackage ../development/libraries/haskell/regular-xmlpickler {};
+
   remote = callPackage ../development/libraries/haskell/remote {};
 
   repa = callPackage ../development/libraries/haskell/repa {};
@@ -1848,10 +2078,36 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   resourcePool = callPackage ../development/libraries/haskell/resource-pool {};
 
+  resourcePoolCatchio = callPackage ../development/libraries/haskell/resource-pool-catchio {};
+
   resourcet = callPackage ../development/libraries/haskell/resourcet {};
 
+  restClient = callPackage ../development/libraries/haskell/rest-client {};
+
+  restCore = callPackage ../development/libraries/haskell/rest-core {};
+
+  restGen = callPackage ../development/libraries/haskell/rest-gen {};
+
+  restHappstack = callPackage ../development/libraries/haskell/rest-happstack {};
+
+  restSnap = callPackage ../development/libraries/haskell/rest-snap {};
+
+  restStringmap = callPackage ../development/libraries/haskell/rest-stringmap {};
+
+  restTypes = callPackage ../development/libraries/haskell/rest-types {};
+
+  restWai = callPackage ../development/libraries/haskell/rest-wai {};
+
+  retry = callPackage ../development/libraries/haskell/retry {};
+
+  rethinkdb = callPackage ../development/libraries/haskell/rethinkdb {};
+
+  rex = callPackage ../development/libraries/haskell/rex {};
+
   rfc5051 = callPackage ../development/libraries/haskell/rfc5051 {};
 
+  robotsTxt = callPackage ../development/libraries/haskell/robots-txt {};
+
   rosezipper = callPackage ../development/libraries/haskell/rosezipper {};
 
   RSA = callPackage ../development/libraries/haskell/RSA {};
@@ -1864,8 +2120,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   SafeSemaphore = callPackage ../development/libraries/haskell/SafeSemaphore {};
 
+  sbv = callPackage ../development/libraries/haskell/sbv {};
+
+  scientific_0_2_0_2 = callPackage ../development/libraries/haskell/scientific/0.2.0.2.nix {};
+  scientific_0_3_3_0 = callPackage ../development/libraries/haskell/scientific/0.3.3.0.nix {};
+  scientific = self.scientific_0_3_3_0;
+
   scotty = callPackage ../development/libraries/haskell/scotty {};
 
+  scottyHastache = callPackage ../development/libraries/haskell/scotty-hastache {};
+
+  scrypt = callPackage ../development/libraries/haskell/scrypt {};
+
   securemem = callPackage ../development/libraries/haskell/securemem {};
 
   sendfile = callPackage ../development/libraries/haskell/sendfile {};
@@ -1878,12 +2144,25 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   setenv = callPackage ../development/libraries/haskell/setenv {};
 
-  shelly = callPackage ../development/libraries/haskell/shelly {};
+  setlocale = callPackage ../development/libraries/haskell/setlocale {};
+
+
+  shellish = callPackage ../development/libraries/haskell/shellish {};
+
+  shellmate = callPackage ../development/libraries/haskell/shellmate {};
+
+  shelly_0_15_4_1 = callPackage ../development/libraries/haskell/shelly/0.15.4.1.nix {};
+  shelly_1_5_3_1 = callPackage ../development/libraries/haskell/shelly {};
+  shelly = self.shelly_1_5_3_1;
+
+  simpleConduit = callPackage ../development/libraries/haskell/simple-conduit {};
 
   simpleReflect = callPackage ../development/libraries/haskell/simple-reflect {};
 
   simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {};
 
+  simpleSqlParser = callPackage ../development/libraries/haskell/simple-sql-parser {};
+
   silently = callPackage ../development/libraries/haskell/silently {};
 
   sizedTypes = callPackage ../development/libraries/haskell/sized-types {};
@@ -1892,26 +2171,58 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   smallcheck = callPackage ../development/libraries/haskell/smallcheck {};
 
+  smtLib = callPackage ../development/libraries/haskell/smtLib {};
+
   smtpMail = callPackage ../development/libraries/haskell/smtp-mail {};
 
+  smtpsGmail = callPackage ../development/libraries/haskell/smtps-gmail {};
+
   snap = callPackage ../development/libraries/haskell/snap/snap.nix {};
 
   snapletAcidState = callPackage ../development/libraries/haskell/snaplet-acid-state {};
 
+  snapletPostgresqlSimple = callPackage ../development/libraries/haskell/snaplet-postgresql-simple {};
+
+  snapletRedis = callPackage ../development/libraries/haskell/snaplet-redis {};
+
+  snapletStripe = callPackage ../development/libraries/haskell/snaplet-stripe {};
+
+  snapBlaze = callPackage ../development/libraries/haskell/snap-blaze/default.nix {};
+
   snapCore = callPackage ../development/libraries/haskell/snap/core.nix {};
 
+  snapCORS = callPackage ../development/libraries/haskell/snap-cors {};
+
   snapLoaderDynamic = callPackage ../development/libraries/haskell/snap/loader-dynamic.nix {};
 
   snapLoaderStatic = callPackage ../development/libraries/haskell/snap/loader-static.nix {};
 
   snapServer = callPackage ../development/libraries/haskell/snap/server.nix {};
 
+  snapWebRoutes = callPackage ../development/libraries/haskell/snap-web-routes {};
+
+  snowball = callPackage ../development/libraries/haskell/snowball {};
+
   socks = callPackage ../development/libraries/haskell/socks {};
 
+  socketIo = callPackage ../development/libraries/haskell/socket-io {};
+
+  sodium = callPackage ../development/libraries/haskell/sodium {};
+
+  sparse = callPackage ../development/libraries/haskell/sparse {};
+
+  spawn = callPackage ../development/libraries/haskell/spawn {};
+
+  speculation = callPackage ../development/libraries/haskell/speculation {};
+
+  spoon = callPackage ../development/libraries/haskell/spoon {};
+
   srcloc = callPackage ../development/libraries/haskell/srcloc {};
 
   stateref = callPackage ../development/libraries/haskell/stateref {};
 
+  statestack = callPackage ../development/libraries/haskell/statestack {};
+
   StateVar = callPackage ../development/libraries/haskell/StateVar {};
 
   statistics = callPackage ../development/libraries/haskell/statistics {};
@@ -1920,6 +2231,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   StrafunskiStrategyLib = callPackage ../development/libraries/haskell/Strafunski-StrategyLib {};
 
+  streamingCommons = callPackage ../development/libraries/haskell/streaming-commons {};
+
   streamproc = callPackage ../development/libraries/haskell/streamproc {};
 
   strict = callPackage ../development/libraries/haskell/strict {};
@@ -1928,6 +2241,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   stringCombinators = callPackage ../development/libraries/haskell/string-combinators {};
 
+  stringConversions = callPackage ../development/libraries/haskell/string-conversions {};
+
   stringprep = callPackage ../development/libraries/haskell/stringprep {};
 
   stringQq = callPackage ../development/libraries/haskell/string-qq {};
@@ -1936,25 +2251,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   strptime = callPackage ../development/libraries/haskell/strptime {};
 
-  stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
-  };
+  stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {};
 
-  syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
   syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {};
   syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {};
   syb_0_3_6_1 = callPackage ../development/libraries/haskell/syb/0.3.6.1.nix {};
-  syb_0_3_6_2 = callPackage ../development/libraries/haskell/syb/0.3.6.2.nix {};
   syb_0_3_7 = callPackage ../development/libraries/haskell/syb/0.3.7.nix {};
   syb_0_4_0 = callPackage ../development/libraries/haskell/syb/0.4.0.nix {};
-  syb_0_4_1 = callPackage ../development/libraries/haskell/syb/0.4.1.nix {};
-  syb = null;  # by default, we assume that syb ships with GHC, which is
-               # true for the older GHC versions
+  syb_0_4_2 = callPackage ../development/libraries/haskell/syb/0.4.2.nix {};
+  syb = self.syb_0_4_2;
 
   sybWithClass = callPackage ../development/libraries/haskell/syb/syb-with-class.nix {};
 
   sybWithClassInstancesText = callPackage ../development/libraries/haskell/syb/syb-with-class-instances-text.nix {};
 
+  syntactic = callPackage ../development/libraries/haskell/syntactic {};
+
   syz = callPackage ../development/libraries/haskell/syz {};
 
   SDLImage = callPackage ../development/libraries/haskell/SDL-image {};
@@ -1969,6 +2281,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   SHA = callPackage ../development/libraries/haskell/SHA {};
 
+  SHA2 = callPackage ../development/libraries/haskell/SHA2 {};
+
   shake = callPackage ../development/libraries/haskell/shake {};
 
   shakespeare = callPackage ../development/libraries/haskell/shakespeare {};
@@ -1985,12 +2299,21 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   show = callPackage ../development/libraries/haskell/show {};
 
+  singletons = callPackage ../development/libraries/haskell/singletons {};
+
   SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {};
 
+  socketActivation = callPackage ../development/libraries/haskell/socket-activation {};
+
+  sourcemap = callPackage ../development/libraries/haskell/sourcemap {};
+
+  split_0_1_4_3 = callPackage ../development/libraries/haskell/split/0.1.4.3.nix {};
   split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {};
   split_0_2_2 = callPackage ../development/libraries/haskell/split/0.2.2.nix {};
   split = self.split_0_2_2;
 
+  sqliteSimple = callPackage ../development/libraries/haskell/sqlite-simple/default.nix {};
+
   stbImage = callPackage ../development/libraries/haskell/stb-image {};
 
   stm_2_1_1_2 = callPackage ../development/libraries/haskell/stm/2.1.1.2.nix {};
@@ -1999,26 +2322,39 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {};
   stm_2_4 = callPackage ../development/libraries/haskell/stm/2.4.nix {};
   stm_2_4_2 = callPackage ../development/libraries/haskell/stm/2.4.2.nix {};
-  stm = self.stm_2_4_2;
+  stm_2_4_3 = callPackage ../development/libraries/haskell/stm/2.4.3.nix {};
+  stm = self.stm_2_4_3;
 
   stmChans = callPackage ../development/libraries/haskell/stm-chans {};
 
   stmConduit = callPackage ../development/libraries/haskell/stm-conduit {};
 
+  stmContainers = callPackage ../development/libraries/haskell/stm-containers {};
+
+  STMonadTrans = callPackage ../development/libraries/haskell/STMonadTrans {};
+
+  stmStats = callPackage ../development/libraries/haskell/stm-stats {};
+
   storableComplex = callPackage ../development/libraries/haskell/storable-complex {};
 
+  storableEndian = callPackage ../development/libraries/haskell/storable-endian {};
+
   storableRecord = callPackage ../development/libraries/haskell/storable-record {};
 
   Stream = callPackage ../development/libraries/haskell/Stream {};
 
-  strictConcurrency = callPackage ../development/libraries/haskell/strictConcurrency {};
+  strictConcurrency = callPackage ../development/libraries/haskell/strict-concurrency {};
 
   stringbuilder = callPackage ../development/libraries/haskell/stringbuilder {};
 
+  stripe = callPackage ../development/libraries/haskell/stripe {};
+
   svgcairo = callPackage ../development/libraries/haskell/svgcairo {
     libc = pkgs.stdenv.gcc.libc;
   };
 
+  SVGFonts = callPackage ../development/libraries/haskell/SVGFonts {};
+
   symbol = callPackage ../development/libraries/haskell/symbol {};
 
   systemFilepath = callPackage ../development/libraries/haskell/system-filepath {};
@@ -2027,109 +2363,195 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   systemPosixRedirect = callPackage ../development/libraries/haskell/system-posix-redirect {};
 
+  systemTimeMonotonic = callPackage ../development/libraries/haskell/system-time-monotonic {};
+
   TableAlgebra = callPackage ../development/libraries/haskell/TableAlgebra {};
 
+  tables = callPackage ../development/libraries/haskell/tables {};
+
   tabular = callPackage ../development/libraries/haskell/tabular {};
 
   tagged = callPackage ../development/libraries/haskell/tagged {};
 
+  taggy = callPackage ../development/libraries/haskell/taggy {};
+
+  taggyLens = callPackage ../development/libraries/haskell/taggy-lens {};
+
+  tagshare = callPackage ../development/libraries/haskell/tagshare {};
+
   tagsoup = callPackage ../development/libraries/haskell/tagsoup {};
 
   tagstreamConduit = callPackage ../development/libraries/haskell/tagstream-conduit {};
 
   tasty = callPackage ../development/libraries/haskell/tasty {};
 
+  tastyAntXml = callPackage ../development/libraries/haskell/tasty-ant-xml {};
+
+  tastyGolden = callPackage ../development/libraries/haskell/tasty-golden {};
+
+  tastyHspec = callPackage ../development/libraries/haskell/tasty-hspec {};
+
   tastyHunit = callPackage ../development/libraries/haskell/tasty-hunit {};
 
+  tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck {};
+
+  tastyRerun = callPackage ../development/libraries/haskell/tasty-rerun {};
+
   tastySmallcheck = callPackage ../development/libraries/haskell/tasty-smallcheck {};
 
+  tastyTh = callPackage ../development/libraries/haskell/tasty-th {};
+
+  TCache = callPackage ../development/libraries/haskell/TCache {};
+
+  tcacheAWS = callPackage ../development/libraries/haskell/tcache-AWS {};
+
+  template = callPackage ../development/libraries/haskell/template {};
+
   templateDefault = callPackage ../development/libraries/haskell/template-default {};
 
   temporary = callPackage ../development/libraries/haskell/temporary {};
 
+  temporaryRc = callPackage ../development/libraries/haskell/temporary-rc {};
+
   Tensor = callPackage ../development/libraries/haskell/Tensor {};
 
   terminalProgressBar = callPackage ../development/libraries/haskell/terminal-progress-bar {};
 
-  terminfo = callPackage ../development/libraries/haskell/terminfo {
-    inherit (pkgs) ncurses;
-  };
+  terminalSize = callPackage ../development/libraries/haskell/terminal-size {};
+
+  terminfo_0_3_2_6 = callPackage ../development/libraries/haskell/terminfo/0.3.2.6.nix { inherit (pkgs) ncurses; };
+  terminfo_0_4_0_0 = callPackage ../development/libraries/haskell/terminfo/0.4.0.0.nix { inherit (pkgs) ncurses; };
+  terminfo = self.terminfo_0_4_0_0;
 
   testFramework = callPackage ../development/libraries/haskell/test-framework {};
 
   testFrameworkHunit = callPackage ../development/libraries/haskell/test-framework-hunit {};
 
   testFrameworkQuickcheck = callPackage ../development/libraries/haskell/test-framework-quickcheck {
-    QuickCheck = self.QuickCheck1;
+    QuickCheck = self.QuickCheck_1_2_0_1; # doesn't support version 2.x
   };
 
   testFrameworkQuickcheck2 = callPackage ../development/libraries/haskell/test-framework-quickcheck2 {};
 
+  testFrameworkSmallcheck = callPackage ../development/libraries/haskell/test-framework-smallcheck {};
+
   testFrameworkTh = callPackage ../development/libraries/haskell/test-framework-th {};
 
   testFrameworkThPrime = callPackage ../development/libraries/haskell/test-framework-th-prime {};
 
+  testingFeat = callPackage ../development/libraries/haskell/testing-feat {};
+
   texmath = callPackage ../development/libraries/haskell/texmath {};
 
   text_0_11_0_5 = callPackage ../development/libraries/haskell/text/0.11.0.5.nix {};
   text_0_11_0_6 = callPackage ../development/libraries/haskell/text/0.11.0.6.nix {};
   text_0_11_1_5 = callPackage ../development/libraries/haskell/text/0.11.1.5.nix {};
-  text_0_11_1_13 = callPackage ../development/libraries/haskell/text/0.11.1.13.nix {};
   text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {};
   text_0_11_2_3 = callPackage ../development/libraries/haskell/text/0.11.2.3.nix {};
   text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {};
-  text = self.text_0_11_3_1;
+  text_1_1_1_3 = callPackage ../development/libraries/haskell/text/1.1.1.3.nix {};
+  text = self.text_1_1_1_3;
 
   textFormat = callPackage ../development/libraries/haskell/text-format {};
 
   textIcu = callPackage ../development/libraries/haskell/text-icu {};
 
+  textStreamDecode = callPackage ../development/libraries/haskell/text-stream-decode {};
+
+  tfRandom = if (pkgs.stdenv.lib.versionOlder ghc.version "7") then null else
+    callPackage ../development/libraries/haskell/tf-random {};
+
+  these = callPackage ../development/libraries/haskell/these {};
+
   thespian = callPackage ../development/libraries/haskell/thespian {};
 
+  thDesugar = callPackage ../development/libraries/haskell/th-desugar {};
+
+  thExpandSyns = callPackage ../development/libraries/haskell/th-expand-syns {};
+
   thExtras = callPackage ../development/libraries/haskell/th-extras {};
 
   thLift = callPackage ../development/libraries/haskell/th-lift {};
 
+  thLiftInstances = callPackage ../development/libraries/haskell/th-lift-instances {};
+
   thOrphans = callPackage ../development/libraries/haskell/th-orphans {};
 
   threadmanager = callPackage ../development/libraries/haskell/threadmanager {};
 
   threads = callPackage ../development/libraries/haskell/threads {};
 
+  Thrift = callPackage ../development/libraries/haskell/Thrift {};
+
   thyme = callPackage ../development/libraries/haskell/thyme {};
 
+  threepennyGui = callPackage ../development/libraries/haskell/threepenny-gui {};
+
   time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {};
-  time_1_4_1 = callPackage ../development/libraries/haskell/time/1.4.1.nix {};
-  # time is in the core package set. It should only be necessary to
-  # pass it explicitly in rare circumstances.
-  time = null;
+  time_1_4_2 = callPackage ../development/libraries/haskell/time/1.4.2.nix {};
+  time = null;                  # core package since ghc >= 6.12.x
+
+  timerep = callPackage ../development/libraries/haskell/timerep {};
+
+  timeparsers = callPackage ../development/libraries/haskell/timeparsers {};
+
+  timeRecurrence = callPackage ../development/libraries/haskell/time-recurrence {};
+
+  timezoneOlson = callPackage ../development/libraries/haskell/timezone-olson {};
+
+  timezoneSeries = callPackage ../development/libraries/haskell/timezone-series {};
 
   timeCompat = callPackage ../development/libraries/haskell/time-compat {};
 
-  tls = callPackage ../development/libraries/haskell/tls {};
+  tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {};
+  tls_1_2_8 = callPackage ../development/libraries/haskell/tls/1.2.8.nix {};
+  tls = self.tls_1_2_8;
 
-  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {};
+  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {
+    tls = self.tls_1_1_5;
+  };
+
+  tostring = callPackage ../development/libraries/haskell/tostring {};
 
   transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
   transformers_0_3_0_0 = callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {};
-  transformers = self.transformers_0_3_0_0;
+  transformers_0_4_1_0 = callPackage ../development/libraries/haskell/transformers/0.4.1.0.nix {};
+  transformers = null;          # core package since ghc >= 7.8.x
 
   transformersBase = callPackage ../development/libraries/haskell/transformers-base {};
 
-  transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {};
+  transformersCompat_0_3_3 = callPackage ../development/libraries/haskell/transformers-compat/0.3.3.nix {};
+  transformersCompat_0_3_3_4 = callPackage ../development/libraries/haskell/transformers-compat/0.3.3.4.nix {};
+  transformersCompat = self.transformersCompat_0_3_3_4;
 
-  trifecta_1_1 = callPackage ../development/libraries/haskell/trifecta/1.1.nix {
-    parsers = self.parsers_0_9;
-  };
-  trifecta_1_2 = callPackage ../development/libraries/haskell/trifecta/1.2.nix {};
-  trifecta = self.trifecta_1_2;
+  transformersFree = callPackage ../development/libraries/haskell/transformers-free {};
+
+  traverseWithClass = callPackage ../development/libraries/haskell/traverse-with-class {};
+
+  treeView = callPackage ../development/libraries/haskell/tree-view {};
+
+  trifecta = callPackage ../development/libraries/haskell/trifecta {};
 
   tuple = callPackage ../development/libraries/haskell/tuple {};
 
+  twitterConduit = callPackage ../development/libraries/haskell/twitter-conduit {};
+
+  twitterTypes = callPackage ../development/libraries/haskell/twitter-types {};
+
+  TypeCompose = callPackage ../development/libraries/haskell/TypeCompose {};
+
+  typeEq = callPackage ../development/libraries/haskell/type-eq {};
+
   typeEquality = callPackage ../development/libraries/haskell/type-equality {};
 
   typeLevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {};
 
+  tz = callPackage ../development/libraries/haskell/tz {
+    pkgs_tzdata = pkgs.tzdata;
+  };
+
+  tzdata = callPackage ../development/libraries/haskell/tzdata {};
+
   unbound = callPackage ../development/libraries/haskell/unbound {};
 
   unboundedDelays = callPackage ../development/libraries/haskell/unbounded-delays {};
@@ -2138,21 +2560,32 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   uniplate = callPackage ../development/libraries/haskell/uniplate {};
 
+  units = callPackage ../development/libraries/haskell/units {};
+
   uniqueid = callPackage ../development/libraries/haskell/uniqueid {};
 
   unixBytestring = callPackage ../development/libraries/haskell/unix-bytestring {};
 
   unixCompat = callPackage ../development/libraries/haskell/unix-compat {};
 
+  unixMemory = callPackage ../development/libraries/haskell/unix-memory {};
+
   unixProcessConduit = callPackage ../development/libraries/haskell/unix-process-conduit {};
 
   unixTime = callPackage ../development/libraries/haskell/unix-time {};
 
+  Unixutils = callPackage ../development/libraries/haskell/Unixutils {};
+
   unlambda = callPackage ../development/libraries/haskell/unlambda {};
 
   unorderedContainers_0_2_3_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.3.0.nix {};
-  unorderedContainers_0_2_3_3 = callPackage ../development/libraries/haskell/unordered-containers/0.2.3.3.nix {};
-  unorderedContainers = self.unorderedContainers_0_2_3_3;
+  unorderedContainers_0_2_4_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.4.0.nix {};
+  unorderedContainers_0_2_5_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.5.0.nix {};
+  unorderedContainers = self.unorderedContainers_0_2_5_0;
+
+  uri = callPackage ../development/libraries/haskell/uri {};
+
+  uriEncode = callPackage ../development/libraries/haskell/uri-encode {};
 
   url = callPackage ../development/libraries/haskell/url {};
 
@@ -2180,17 +2613,26 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   vacuumCairo = callPackage ../development/libraries/haskell/vacuum-cairo {};
 
+  vacuumGraphviz = callPackage ../development/libraries/haskell/vacuum-graphviz {};
+
+  vado = callPackage ../development/libraries/haskell/vado {};
+
   vault = callPackage ../development/libraries/haskell/vault {};
 
+  vcsgui = callPackage ../development/libraries/haskell/vcsgui {};
+
   vcsRevision = callPackage ../development/libraries/haskell/vcs-revision {};
 
+  vcswrapper = callPackage ../development/libraries/haskell/vcswrapper {};
+
   Vec = callPackage ../development/libraries/haskell/Vec {};
 
   vect = callPackage ../development/libraries/haskell/vect {};
 
-  vector_0_10_0_1  = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix  {};
-  vector_0_10_9_1  = callPackage ../development/libraries/haskell/vector/0.10.9.1.nix  {};
-  vector = self.vector_0_10_9_1;
+  vector_0_10_0_1  = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix {};
+  vector_0_10_9_3  = callPackage ../development/libraries/haskell/vector/0.10.9.3.nix {};
+  vector_0_10_11_0  = callPackage ../development/libraries/haskell/vector/0.10.11.0.nix {};
+  vector = self.vector_0_10_11_0;
 
   vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {};
 
@@ -2204,44 +2646,60 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   vectorThUnbox = callPackage ../development/libraries/haskell/vector-th-unbox {};
 
+  vinyl = callPackage ../development/libraries/haskell/vinyl {};
+
   void = callPackage ../development/libraries/haskell/void {};
 
-  vty = callPackage ../development/libraries/haskell/vty {};
+  vty_4_7_5 = callPackage ../development/libraries/haskell/vty/4.7.5.nix {};
+  vty_5_1_4 = callPackage ../development/libraries/haskell/vty/5.1.4.nix {};
+  vty = self.vty_5_1_4;
 
-  vtyUi = callPackage ../development/libraries/haskell/vty-ui {};
+  vtyUi = callPackage ../development/libraries/haskell/vty-ui {
+    vty = self.vty_4_7_5;
+  };
 
   wai = callPackage ../development/libraries/haskell/wai {};
 
   waiAppStatic = callPackage ../development/libraries/haskell/wai-app-static {};
 
+  waiConduit = callPackage ../development/libraries/haskell/wai-conduit {};
+
   waiExtra = callPackage ../development/libraries/haskell/wai-extra {};
 
   waiHandlerLaunch = callPackage ../development/libraries/haskell/wai-handler-launch {};
 
+  waiHandlerFastcgi = callPackage ../development/libraries/haskell/wai-handler-fastcgi { inherit (pkgs) fcgi; };
+
   waiLogger = callPackage ../development/libraries/haskell/wai-logger {};
 
+  waiMiddlewareStatic = callPackage ../development/libraries/haskell/wai-middleware-static {};
+
   waiTest = callPackage ../development/libraries/haskell/wai-test {};
 
+  waiWebsockets = callPackage ../development/libraries/haskell/wai-websockets {};
+
   warp = callPackage ../development/libraries/haskell/warp {};
 
   warpTls = callPackage ../development/libraries/haskell/warp-tls {};
 
-  WebBits_1_0 = callPackage ../development/libraries/haskell/WebBits/1.0.nix {
-    parsec = self.parsec2;
-  };
-  WebBits_2_0 = callPackage ../development/libraries/haskell/WebBits/2.0.nix {
-    parsec = self.parsec2;
-  };
-  WebBits_2_2 = callPackage ../development/libraries/haskell/WebBits/2.2.nix {};
-  WebBits = self.WebBits_2_2;
+  wcwidth = callPackage ../development/libraries/haskell/wcwidth {};
 
-  WebBitsHtml_1_0_1 = callPackage ../development/libraries/haskell/WebBits-Html/1.0.1.nix {
-    WebBits = self.WebBits_2_0;
+  webdriver = callPackage ../development/libraries/haskell/webdriver {};
+
+  webkit = callPackage ../development/libraries/haskell/webkit {
+    webkit = pkgs.webkitgtk2;
   };
-  WebBitsHtml_1_0_2 = callPackage ../development/libraries/haskell/WebBits-Html/1.0.2.nix {
-    WebBits = self.WebBits_2_0;
+
+  webRoutes = callPackage ../development/libraries/haskell/web-routes {};
+
+  webRoutesBoomerang = callPackage ../development/libraries/haskell/web-routes-boomerang {};
+
+  websockets = callPackage ../development/libraries/haskell/websockets {
+    testFrameworkQuickcheck2 = self.testFrameworkQuickcheck2.override { QuickCheck = self.QuickCheck_2_6; };
+    QuickCheck = self.QuickCheck_2_6;
   };
-  WebBitsHtml = self.WebBitsHtml_1_0_2;
+
+  websocketsSnap = callPackage ../development/libraries/haskell/websockets-snap {};
 
   CouchDB = callPackage ../development/libraries/haskell/CouchDB {};
 
@@ -2253,8 +2711,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   wlPprintText = callPackage ../development/libraries/haskell/wl-pprint-text {};
 
+  wizards = callPackage ../development/libraries/haskell/wizards {};
+
   word8 = callPackage ../development/libraries/haskell/word8 {};
 
+  Workflow = callPackage ../development/libraries/haskell/Workflow {};
+
+  wreq = callPackage ../development/libraries/haskell/wreq {};
+
   wx = callPackage ../development/libraries/haskell/wxHaskell/wx.nix {};
 
   wxc = callPackage ../development/libraries/haskell/wxHaskell/wxc.nix {
@@ -2267,6 +2731,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   wxdirect = callPackage ../development/libraries/haskell/wxHaskell/wxdirect.nix {};
 
+  x509 = callPackage ../development/libraries/haskell/x509 {};
+
+  x509Store = callPackage ../development/libraries/haskell/x509-store {};
+
+  x509System = callPackage ../development/libraries/haskell/x509-system {};
+
+  x509Validation = callPackage ../development/libraries/haskell/x509-validation {};
+
   X11 = callPackage ../development/libraries/haskell/X11 {};
 
   X11Xft = callPackage ../development/libraries/haskell/X11-xft {};
@@ -2285,20 +2757,36 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {};
 
+  xmlConduitWriter = callPackage ../development/libraries/haskell/xml-conduit-writer {};
+
   xmlgen = callPackage ../development/libraries/haskell/xmlgen {};
 
   xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {};
 
   xmlhtml = callPackage ../development/libraries/haskell/xmlhtml {};
 
+  xmlHtmlConduitLens = callPackage ../development/libraries/haskell/xml-html-conduit-lens {};
+
+  xmlLens = callPackage ../development/libraries/haskell/xml-lens {};
+
   xmlTypes = callPackage ../development/libraries/haskell/xml-types {};
 
+  xorshift = callPackage ../development/libraries/haskell/xorshift {};
+
+  xournalParser = callPackage ../development/libraries/haskell/xournal-parser {};
+
+  xournalTypes = callPackage ../development/libraries/haskell/xournal-types {};
+
   xtest = callPackage ../development/libraries/haskell/xtest {};
 
   xssSanitize = callPackage ../development/libraries/haskell/xss-sanitize {};
 
+  Yampa = callPackage ../development/libraries/haskell/Yampa {};
+
   yaml = callPackage ../development/libraries/haskell/yaml {};
 
+  yamlLight = callPackage ../development/libraries/haskell/yaml-light {};
+
   yap = callPackage ../development/libraries/haskell/yap {};
 
   yeganesh = callPackage ../applications/misc/yeganesh {};
@@ -2319,8 +2807,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   yesodPersistent = callPackage ../development/libraries/haskell/yesod-persistent {};
 
-  yesodPlatform = callPackage ../development/libraries/haskell/yesod-platform {};
-
   yesodRoutes = callPackage ../development/libraries/haskell/yesod-routes {};
 
   yesodStatic = callPackage ../development/libraries/haskell/yesod-static {};
@@ -2333,28 +2819,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   zeromq3Haskell = callPackage ../development/libraries/haskell/zeromq3-haskell { zeromq = pkgs.zeromq3; };
 
-  zipArchive = callPackage ../development/libraries/haskell/zip-archive {};
+  zeromq4Haskell = callPackage ../development/libraries/haskell/zeromq4-haskell { zeromq = pkgs.zeromq4; };
+
+  zipArchive_0_2_2_1 = callPackage ../development/libraries/haskell/zip-archive/0.2.2.1.nix {};
+  zipArchive_0_2_3_4 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.4.nix {};
+  zipArchive = self.zipArchive_0_2_3_4;
 
   zipper = callPackage ../development/libraries/haskell/zipper {};
 
-  zlib_0_5_0_0 = callPackage ../development/libraries/haskell/zlib/0.5.0.0.nix {
-    inherit (pkgs) zlib;
-  };
-  zlib_0_5_2_0 = callPackage ../development/libraries/haskell/zlib/0.5.2.0.nix {
-    inherit (pkgs) zlib;
-  };
-  zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix {
-    inherit (pkgs) zlib;
-  };
-  zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix {
-    inherit (pkgs) zlib;
-  };
-  zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix {
-    inherit (pkgs) zlib;
-  };
-  zlib_0_5_4_1 = callPackage ../development/libraries/haskell/zlib/0.5.4.1.nix {
-    inherit (pkgs) zlib;
-  };
+  zippers = callPackage ../development/libraries/haskell/zippers {};
+
+  zlib_0_5_0_0 = callPackage ../development/libraries/haskell/zlib/0.5.0.0.nix { inherit (pkgs) zlib; };
+  zlib_0_5_2_0 = callPackage ../development/libraries/haskell/zlib/0.5.2.0.nix { inherit (pkgs) zlib; };
+  zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix { inherit (pkgs) zlib; };
+  zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix { inherit (pkgs) zlib; };
+  zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix { inherit (pkgs) zlib; };
+  zlib_0_5_4_1 = callPackage ../development/libraries/haskell/zlib/0.5.4.1.nix { inherit (pkgs) zlib;};
   zlib = self.zlib_0_5_4_1;
 
   zlibBindings = callPackage ../development/libraries/haskell/zlib-bindings {};
@@ -2363,18 +2843,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   zlibEnum = callPackage ../development/libraries/haskell/zlib-enum {};
 
-  Zwaluw = callPackage ../development/libraries/haskell/Zwaluw {};
-
   # Compilers.
 
-  AgdaExecutable = callPackage ../development/compilers/Agda-executable {};
+  Agda = callPackage ../development/compilers/agda {};
+  AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {};
 
   uhc = callPackage ../development/compilers/uhc {};
 
   epic = callPackage ../development/compilers/epic {};
 
-  flapjax = callPackage ../development/compilers/flapjax {};
-
   pakcs = callPackage ../development/compilers/pakcs {};
 
   # Development tools.
@@ -2386,54 +2863,78 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   alex_3_0_1 = callPackage ../development/tools/parsing/alex/3.0.1.nix {};
   alex_3_0_2 = callPackage ../development/tools/parsing/alex/3.0.2.nix {};
   alex_3_0_5 = callPackage ../development/tools/parsing/alex/3.0.5.nix {};
-  alex_3_1_0 = callPackage ../development/tools/parsing/alex/3.1.0.nix {};
-  alex = self.alex_3_1_0;
-
-  alexMeta = callPackage ../development/tools/haskell/alex-meta {};
+  alex_3_1_3 = callPackage ../development/tools/parsing/alex/3.1.3.nix {};
+  alex = self.alex_3_1_3;
 
   BNFC = callPackage ../development/tools/haskell/BNFC {};
 
-  BNFCMeta = callPackage ../development/tools/haskell/BNFC-meta {};
+  cake3 = callPackage ../development/tools/haskell/cake3 {};
 
   cpphs = callPackage ../development/tools/misc/cpphs {};
 
-  Ebnf2ps = callPackage ../development/tools/parsing/Ebnf2ps {};
+  DrIFT = callPackage ../development/tools/haskell/DrIFT {};
 
-  haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/2.4.2.nix {};
-  haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix {};
+  haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/2.4.2.nix { Cabal = null; };
+  haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix { alex = self.alex_2_3_5; };
   haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {};
   haddock_2_9_4 = callPackage ../development/tools/documentation/haddock/2.9.4.nix {};
   haddock_2_10_0 = callPackage ../development/tools/documentation/haddock/2.10.0.nix {};
   haddock_2_11_0 = callPackage ../development/tools/documentation/haddock/2.11.0.nix {};
   haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {};
   haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {};
-  haddock_2_13_2_1 = callPackage ../development/tools/documentation/haddock/2.13.2.1.nix {};
-  haddock = self.haddock_2_13_2_1;
+  haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {};
+  haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {};
+  haddock = self.haddock_2_14_3;
+
+  haddockLibrary = callPackage ../development/libraries/haskell/haddock-library {};
+
+  HandsomeSoup = callPackage ../development/libraries/haskell/HandsomeSoup {};
 
   happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {};
   happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {};
   happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {};
-  happy_1_18_8 = callPackage ../development/tools/parsing/happy/1.18.8.nix {};
   happy_1_18_9 = callPackage ../development/tools/parsing/happy/1.18.9.nix {};
   happy_1_18_10 = callPackage ../development/tools/parsing/happy/1.18.10.nix {};
-  happy_1_18_11 = callPackage ../development/tools/parsing/happy/1.18.11.nix {};
-  happy_1_19_0 = callPackage ../development/tools/parsing/happy/1.19.0.nix {};
-  happy = self.happy_1_19_0;
+  happy_1_19_4 = callPackage ../development/tools/parsing/happy/1.19.4.nix {};
+  happy = self.happy_1_19_4;
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
-  HaRe = callPackage ../development/tools/haskell/HaRe {};
+  haskellDocs = callPackage ../development/tools/haskell/haskell-docs {};
 
   haskdogs = callPackage ../development/tools/haskell/haskdogs {};
 
   hasktags = callPackage ../development/tools/haskell/hasktags {};
 
-  hlint = callPackage ../development/tools/haskell/hlint {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
+  hdevtools = callPackage ../development/tools/haskell/hdevtools {};
+
+  hlint = callPackage ../development/tools/haskell/hlint {};
+
+  hp2anyManager = callPackage ../development/tools/haskell/hp2any-manager {};
+
+  hscolour = callPackage ../development/tools/haskell/hscolour {};
+  hscolourBootstrap = self.hscolour.override {
+    cabal = self.cabal.override {
+      extension = self : super : {
+        hyperlinkSource = false;
+        configureFlags = super.configureFlags or "" +
+          pkgs.lib.optionalString (pkgs.stdenv.lib.versionOlder "6.12" ghc.version) " --ghc-option=-rtsopts";
+      };
+    };
   };
 
+  hscope = callPackage ../development/tools/haskell/hscope { testSimple = null; };
+
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
+  pointfree = callPackage ../development/tools/haskell/pointfree {};
+
+  pointful = callPackage ../development/tools/haskell/pointful {};
+
+  ShellCheck = callPackage ../development/tools/misc/ShellCheck { };
+
+  SourceGraph = callPackage ../development/tools/haskell/SourceGraph {};
+
   tar = callPackage ../development/libraries/haskell/tar {};
 
   threadscope = callPackage ../development/tools/haskell/threadscope {};
@@ -2446,19 +2947,27 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   arbtt = callPackage ../applications/misc/arbtt {};
 
-  darcs = callPackage ../applications/version-management/darcs {};
-
   idris_plain = callPackage ../development/compilers/idris {
-    parsers = self.parsers_0_9;
-    trifecta = self.trifecta_1_1;
+    llvmGeneral = self.llvmGeneral_3_3_8_2;
+    llvmGeneralPure = self.llvmGeneralPure_3_3_8_2;
   };
 
   idris = callPackage ../development/compilers/idris/wrapper.nix {};
 
-  leksah = callPackage ../applications/editors/leksah {
-    QuickCheck = self.QuickCheck2;
+  nc-indicators = callPackage ../applications/misc/nc-indicators {};
+
+  sloane = callPackage ../applications/science/math/sloane {};
+
+  taffybar = callPackage ../applications/misc/taffybar {};
+
+  yi = callPackage ../applications/editors/yi/yi.nix {
+    vty = self.vty_4_7_5;
   };
 
+  yiContrib = callPackage ../applications/editors/yi/yi-contrib.nix {};
+
+  xlsx = callPackage ../development/libraries/haskell/xlsx {};
+
   xmobar = callPackage ../applications/misc/xmobar {};
 
   xmonad = callPackage ../applications/window-managers/xmonad {};
@@ -2469,51 +2978,96 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   # Tools.
 
+  cabalDb = callPackage ../development/tools/haskell/cabal-db {};
+
   cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
 
-  cabalDev = callPackage ../development/tools/haskell/cabal-dev {};
+  # Build a cabal package given a local .cabal file
+  buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let
+    cabalExpr = pkgs.stdenv.mkDerivation ({
+      name = "${name}.nix";
+
+      buildCommand = ''
+      ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
+          | grep -v FILTERME | sed \
+            -e 's/licenses.proprietary/licenses.unfree/' \
+            -e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
+            -e 's/cabal.mkDerivation (self: {/cabal.mkDerivation (self: cabalDrvArgs \/\/ {/' \
+            -e 's/buildDepends = \[/buildDepends = \[ cabalInstall/' \
+            -e 's/pname = \([^\n]*\)/pname = \1\n  inherit src;\n/'  > $out
+      '';
+
+    } // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
+      LANG = "en_US.UTF-8";
+      LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+    });
+  in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
+
+  buildLocalCabal = src: name: self.buildLocalCabalWithArgs { inherit src name; };
+
+  cabalDelete = callPackage ../development/tools/haskell/cabal-delete {};
+
+  cabalBounds = callPackage ../development/tools/haskell/cabal-bounds {
+    Cabal = self.Cabal_1_20_0_2;
+    cabalLenses = self.cabalLenses.override {
+      Cabal = self.Cabal_1_20_0_2;
+    };
+  };
+
+  cabalMeta = callPackage ../development/tools/haskell/cabal-meta {};
 
   cabal2Ghci = callPackage ../development/tools/haskell/cabal2ghci {};
 
   cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {};
 
-  cabalInstall_0_6_2  = callPackage ../tools/package-management/cabal-install/0.6.2.nix  {};
-  cabalInstall_0_8_0  = callPackage ../tools/package-management/cabal-install/0.8.0.nix  {};
-  cabalInstall_0_8_2  = callPackage ../tools/package-management/cabal-install/0.8.2.nix  {};
+  cabalInstall_0_6_2  = callPackage ../tools/package-management/cabal-install/0.6.2.nix {};
+  cabalInstall_0_8_0  = callPackage ../tools/package-management/cabal-install/0.8.0.nix {};
+  cabalInstall_0_8_2  = callPackage ../tools/package-management/cabal-install/0.8.2.nix {};
   cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {};
   cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {};
-  cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {};
-  cabalInstall_1_18_0_2 = callPackage ../tools/package-management/cabal-install/1.18.0.2.nix {
-    Cabal = self.Cabal_1_18_1_2;
-  };
-  cabalInstall = self.cabalInstall_1_18_0_2;
+  cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix { Cabal = self.Cabal_1_16_0_3; };
+  cabalInstall_1_18_0_3 = callPackage ../tools/package-management/cabal-install/1.18.0.3.nix { Cabal = self.Cabal_1_18_1_3; };
+  cabalInstall_1_20_0_3 = callPackage ../tools/package-management/cabal-install/1.20.0.3.nix { Cabal = self.Cabal_1_20_0_2; };
+  cabalInstall = self.cabalInstall_1_20_0_3;
+
+  codex = callPackage ../development/tools/haskell/codex {};
+
+  commandQq = callPackage ../development/libraries/haskell/command-qq {};
 
   gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {};
 
   githubBackup = callPackage ../applications/version-management/git-and-tools/github-backup {};
 
+  hobbes = callPackage ../development/tools/haskell/hobbes {};
+
   jailbreakCabal = callPackage ../development/tools/haskell/jailbreak-cabal {};
 
   keter = callPackage ../development/tools/haskell/keter {};
 
   lhs2tex = callPackage ../tools/typesetting/lhs2tex {};
 
-  myhasktags = callPackage ../tools/misc/myhasktags {};
-
   packunused = callPackage ../development/tools/haskell/packunused {};
 
+  rehoo = callPackage ../development/tools/haskell/rehoo {};
+
+  sizes = callPackage ../tools/system/sizes {};
+
   splot = callPackage ../development/tools/haskell/splot {};
 
   timeplot = callPackage ../development/tools/haskell/timeplot {};
 
+  una = callPackage ../development/tools/haskell/una {};
+
   # Games.
 
-  LambdaHack = callPackage ../games/LambdaHack {};
+  LambdaHack = callPackage ../games/LambdaHack {
+    vectorBinaryInstances = self.vectorBinaryInstances.override {
+      binary = self.binary_0_7_2_1; # the miniutter build input requires this version
+    };
+  };
 
-  MazesOfMonad = callPackage ../games/MazesOfMonad {};
+  Allure = callPackage ../games/Allure {};
 
 # End of the main part of the file.
 
-};
-
-in result.finalReturn
+}
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index b50f064af0c..70330f4304f 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -46,8 +46,18 @@ releaseTools.sourceTarball rec {
     export NIX_STATE_DIR=$TMPDIR
     nix-store --init
 
+    # Make sure that derivation paths do not depend on the Nixpkgs path.
+    mkdir $TMPDIR/foo
+    ln -s $(readlink -f .) $TMPDIR/foo/bar
+    p1=$(nix-instantiate pkgs/top-level/all-packages.nix --dry-run -A firefox)
+    p2=$(nix-instantiate $TMPDIR/foo/bar/pkgs/top-level/all-packages.nix --dry-run -A firefox)
+    if [ "$p1" != "$p2" ]; then
+        echo "Nixpkgs evaluation depends on Nixpkgs path ($p1 vs $p2)!"
+        exit 1
+    fi
+
     # Run the regression tests in `lib'.
-    res="$(nix-instantiate --eval-only --strict --show-trace lib/tests.nix)"
+    res="$(nix-instantiate --eval --strict --show-trace lib/tests.nix)"
     if test "$res" != "[ ]"; then
         echo "regression tests for lib failed, got: $res"
         exit 1
@@ -56,20 +66,22 @@ releaseTools.sourceTarball rec {
     # Check that all-packages.nix evaluates on a number of platforms.
     for platform in i686-linux x86_64-linux x86_64-darwin i686-freebsd x86_64-freebsd; do
         header "checking pkgs/top-level/all-packages.nix on $platform"
-        nix-env --readonly-mode -f pkgs/top-level/all-packages.nix \
+        nix-env -f pkgs/top-level/all-packages.nix \
             --show-trace --argstr system "$platform" \
             -qa \* --drv-path --system-filter \* --system --meta --xml > /dev/null
         stopNest
     done
 
     header "checking eval-release.nix"
-    nix-instantiate --eval-only --strict --show-trace ./maintainers/scripts/eval-release.nix > /dev/null
+    nix-instantiate --eval --strict --show-trace ./maintainers/scripts/eval-release.nix > /dev/null
+    stopNest
+
+    header "checking find-tarballs.nix"
+    nix-instantiate --eval --strict --show-trace ./maintainers/scripts/find-tarballs.nix > /dev/null
     stopNest
   '';
 
   distPhase = ''
-    find . -name "\.svn" -exec rm -rvf {} \; -prune
-
     mkdir -p $out/tarballs
     mkdir ../$releaseName
     cp -prd . ../$releaseName
diff --git a/pkgs/top-level/mingw.nix b/pkgs/top-level/mingw.nix
deleted file mode 100644
index 6c744bfd861..00000000000
--- a/pkgs/top-level/mingw.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-let {
-  pkgs =
-    import ./all-packages.nix {
-      stdenvType = "i686-mingw";
-    };
-
-  body = {
-    inherit (pkgs)
-      aterm
-      getopt
-      pkgconfig
-      realCurl
-      strategoLibraries
-      zlib;
-#    inherit profileTest;
-  };
-
-#  profileTest =
-#    pkgs.stdenv.mkDerivation {
-#      name = "profile-test";
-#      src = ./char-test.c;
-#      builder = ./profile-builder.sh;
-#      strlib = pkgs.strategoLibraries;
-#      aterm = pkgs.aterm;
-#      buildInputs = [pkgs.aterm pkgs.strategoLibraries];
-#    };
-}
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 18ec19437db..e250085f730 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,15715 +1,20052 @@
-{ self, fetchurl, lib }:
+{ self, fetchurl, fetchgit ? null, lib }:
 
 {
-  full."CSSselect"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "CSSselect-0.3.11";
+  by-spec."Base64"."~0.2.0" =
+    self.by-version."Base64"."0.2.1";
+  by-version."Base64"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-Base64-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.3.11.tgz";
-        sha1 = "0779a069d12da9ff5875dd125a0287599c05b6a5";
+        url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz";
+        name = "Base64-0.2.1.tgz";
+        sha1 = "ba3a4230708e186705065e66babdd4c35cf60028";
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSselect"."0.x" or []);
+      (self.nativeDeps."Base64" or []);
     deps = [
-      self.full."CSSwhat"."0.4"
-      self.full."domutils"."1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "Base64" ];
+  };
+  by-spec."CSSselect"."0.x" =
+    self.by-version."CSSselect"."0.7.0";
+  by-version."CSSselect"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-CSSselect-0.7.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.7.0.tgz";
+        name = "CSSselect-0.7.0.tgz";
+        sha1 = "e4054c67b467465f3c9500c0da0aa7878c4babd2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."CSSselect" or []);
+    deps = [
+      self.by-version."CSSwhat"."0.4.5"
+      self.by-version."domutils"."1.4.3"
+      self.by-version."boolbase"."1.0.0"
+      self.by-version."nth-check"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSselect" ];
   };
-  full."CSSwhat"."0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "CSSwhat-0.4.1";
+  by-spec."CSSselect"."~0.4.0" =
+    self.by-version."CSSselect"."0.4.1";
+  by-version."CSSselect"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-CSSselect-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.1.tgz";
-        sha1 = "fe6580461b2a3ad550d2a7785a051234974dfca7";
+        url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
+        name = "CSSselect-0.4.1.tgz";
+        sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSwhat"."0.4" or []);
+      (self.nativeDeps."CSSselect" or []);
+    deps = [
+      self.by-version."CSSwhat"."0.4.5"
+      self.by-version."domutils"."1.4.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "CSSselect" ];
+  };
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.5";
+  by-version."CSSwhat"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-CSSwhat-0.4.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.5.tgz";
+        name = "CSSwhat-0.4.5.tgz";
+        sha1 = "85d7b2799ff3d98055353c802949e39913e16a62";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."CSSwhat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSwhat" ];
   };
-  full."abbrev"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
+  by-spec."JSONStream"."~0.6.4" =
+    self.by-version."JSONStream"."0.6.4";
+  by-version."JSONStream"."0.6.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-JSONStream-0.6.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+        url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz";
+        name = "JSONStream-0.6.4.tgz";
+        sha1 = "4b2c8063f8f512787b2375f7ee9db69208fa2dcb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."1" or []);
+      (self.nativeDeps."JSONStream" or []);
     deps = [
+      self.by-version."jsonparse"."0.0.5"
+      self.by-version."through"."2.2.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "abbrev" ];
+    passthru.names = [ "JSONStream" ];
   };
-  full."abbrev"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
+  by-spec."JSONStream"."~0.7.1" =
+    self.by-version."JSONStream"."0.7.2";
+  by-version."JSONStream"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-JSONStream-0.7.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+        url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.7.2.tgz";
+        name = "JSONStream-0.7.2.tgz";
+        sha1 = "27f4d7fe1918dc08ee72aed9c794e32ce80618f7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."1.0.x" or []);
+      (self.nativeDeps."JSONStream" or []);
     deps = [
+      self.by-version."jsonparse"."0.0.5"
+      self.by-version."through"."2.3.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "abbrev" ];
+    passthru.names = [ "JSONStream" ];
   };
-  full."abbrev"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
+  by-spec."StringScanner"."~0.0.3" =
+    self.by-version."StringScanner"."0.0.3";
+  by-version."StringScanner"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-StringScanner-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+        url = "http://registry.npmjs.org/StringScanner/-/StringScanner-0.0.3.tgz";
+        name = "StringScanner-0.0.3.tgz";
+        sha1 = "bf06ecfdc90046711f4e6175549243b78ceb38aa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."~1.0.4" or []);
+      (self.nativeDeps."StringScanner" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "abbrev" ];
+    passthru.names = [ "StringScanner" ];
   };
-  full."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "active-x-obfuscator-0.0.1";
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.5";
+  by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-abbrev-1.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
-        sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
+        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
+        name = "abbrev-1.0.5.tgz";
+        sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03";
       })
     ];
     buildInputs =
-      (self.nativeDeps."active-x-obfuscator"."0.0.1" or []);
+      (self.nativeDeps."abbrev" or []);
     deps = [
-      self.full."zeparser"."0.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "active-x-obfuscator" ];
+    passthru.names = [ "abbrev" ];
   };
-  full."addressparser"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "addressparser-0.1.3";
+  by-spec."abbrev"."1.0.x" =
+    self.by-version."abbrev"."1.0.5";
+  by-spec."abbrev"."~1.0.4" =
+    self.by-version."abbrev"."1.0.5";
+  by-spec."accepts"."1.0.0" =
+    self.by-version."accepts"."1.0.0";
+  by-version."accepts"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-accepts-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
-        sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz";
+        name = "accepts-1.0.0.tgz";
+        sha1 = "3604c765586c3b9cf7877b6937cdbd4587f947dc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."addressparser"."~0.1" or []);
+      (self.nativeDeps."accepts" or []);
     deps = [
+      self.by-version."mime"."1.2.11"
+      self.by-version."negotiator"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "addressparser" ];
+    passthru.names = [ "accepts" ];
   };
-  full."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "adm-zip-0.2.1";
+  by-spec."active-x-obfuscator"."0.0.1" =
+    self.by-version."active-x-obfuscator"."0.0.1";
+  by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-active-x-obfuscator-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
-        sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
+        url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
+        name = "active-x-obfuscator-0.0.1.tgz";
+        sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."0.2.1" or []);
+      (self.nativeDeps."active-x-obfuscator" or []);
     deps = [
+      self.by-version."zeparser"."0.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "adm-zip" ];
+    passthru.names = [ "active-x-obfuscator" ];
   };
-  full."adm-zip"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "adm-zip-0.4.3";
+  by-spec."addressparser"."~0.2.0" =
+    self.by-version."addressparser"."0.2.1";
+  by-version."addressparser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-addressparser-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.3.tgz";
-        sha1 = "28d6a3809abb7845a0ffa38f9fff455c2c6f6f6c";
+        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz";
+        name = "addressparser-0.2.1.tgz";
+        sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607";
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."~0.4.3" or []);
+      (self.nativeDeps."addressparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "adm-zip" ];
+    passthru.names = [ "addressparser" ];
   };
-  full."almond"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "almond-0.2.6";
+  by-spec."adm-zip"."0.2.1" =
+    self.by-version."adm-zip"."0.2.1";
+  by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-adm-zip-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/almond/-/almond-0.2.6.tgz";
-        sha1 = "7165a9246894239efe74ec4a41d6c97898eafc05";
+        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
+        name = "adm-zip-0.2.1.tgz";
+        sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."almond"."*" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "almond" ];
+    passthru.names = [ "adm-zip" ];
   };
-  "almond" = self.full."almond"."*";
-  full."ambi"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "ambi-2.1.4";
+  by-spec."adm-zip"."^0.4.3" =
+    self.by-version."adm-zip"."0.4.4";
+  by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-adm-zip-0.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ambi/-/ambi-2.1.4.tgz";
-        sha1 = "1c0bafb3b1058754e1c3f9d7383948fc1b7c6926";
+        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz";
+        name = "adm-zip-0.4.4.tgz";
+        sha1 = "a61ed5ae6905c3aea58b3a657d25033091052736";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ambi"."~2.1.4" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
-      self.full."typechecker"."~2.0.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ambi" ];
+    passthru.names = [ "adm-zip" ];
   };
-  full."amdefine"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "amdefine-0.1.0";
+  by-spec."adm-zip"."~0.4.3" =
+    self.by-version."adm-zip"."0.4.4";
+  by-spec."almond"."*" =
+    self.by-version."almond"."0.2.9";
+  by-version."almond"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-almond-0.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
-        sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
+        url = "http://registry.npmjs.org/almond/-/almond-0.2.9.tgz";
+        name = "almond-0.2.9.tgz";
+        sha1 = "ee4543d653a2306d682091c11050d441034f5ed8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine"."*" or []);
+      (self.nativeDeps."almond" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "amdefine" ];
+    passthru.names = [ "almond" ];
   };
-  "amdefine" = self.full."amdefine"."*";
-  full."amdefine".">=0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "amdefine-0.1.0";
+  "almond" = self.by-version."almond"."0.2.9";
+  by-spec."amdefine"."*" =
+    self.by-version."amdefine"."0.1.0";
+  by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-amdefine-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
+        name = "amdefine-0.1.0.tgz";
         sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine".">=0.0.4" or []);
+      (self.nativeDeps."amdefine" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "amdefine" ];
   };
-  full."ansi"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-0.1.2";
+  "amdefine" = self.by-version."amdefine"."0.1.0";
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."0.1.0";
+  by-spec."ansi"."~0.2.1" =
+    self.by-version."ansi"."0.2.1";
+  by-version."ansi"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ansi-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ansi/-/ansi-0.1.2.tgz";
-        sha1 = "2627e29498f06e2a1c2ece9c21e28fd494430827";
+        url = "http://registry.npmjs.org/ansi/-/ansi-0.2.1.tgz";
+        name = "ansi-0.2.1.tgz";
+        sha1 = "3ab568ec18cd0ab7753c83117d57dad684a1c017";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi"."~0.1.2" or []);
+      (self.nativeDeps."ansi" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi" ];
   };
-  full."ansi-remover"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-remover-0.0.2";
+  by-spec."ansi-remover"."*" =
+    self.by-version."ansi-remover"."0.0.2";
+  by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansi-remover-0.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
+        name = "ansi-remover-0.0.2.tgz";
         sha1 = "7020086289f10e195d85d828de065ccdd50e6e66";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-remover"."*" or []);
+      (self.nativeDeps."ansi-remover" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-remover" ];
   };
-  "ansi-remover" = self.full."ansi-remover"."*";
-  full."ansi-styles"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-styles-0.1.2";
+  "ansi-remover" = self.by-version."ansi-remover"."0.0.2";
+  by-spec."ansi-styles"."~0.1.0" =
+    self.by-version."ansi-styles"."0.1.2";
+  by-version."ansi-styles"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansi-styles-0.1.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz";
+        name = "ansi-styles-0.1.2.tgz";
         sha1 = "5bab27c2e0bbe944ee42057cf23adee970abc7c6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.1.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansi-styles"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-styles-0.2.0";
+  by-spec."ansi-styles"."~0.2.0" =
+    self.by-version."ansi-styles"."0.2.0";
+  by-version."ansi-styles"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansi-styles-0.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-0.2.0.tgz";
+        name = "ansi-styles-0.2.0.tgz";
         sha1 = "359ab4b15dcd64ba6d74734b72c36360a9af2c19";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.2.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansicolors"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ansicolors-0.2.1";
+  by-spec."ansi-styles"."~1.0.0" =
+    self.by-version."ansi-styles"."1.0.0";
+  by-version."ansi-styles"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansi-styles-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
+        name = "ansi-styles-1.0.0.tgz";
+        sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ansi-styles" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ansi-styles" ];
+  };
+  by-spec."ansicolors"."~0.2.1" =
+    self.by-version."ansicolors"."0.2.1";
+  by-version."ansicolors"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansicolors-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz";
+        name = "ansicolors-0.2.1.tgz";
         sha1 = "be089599097b74a5c9c4a84a0cdbcdb62bd87aef";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansicolors"."~0.2.1" or []);
+      (self.nativeDeps."ansicolors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansicolors" ];
   };
-  full."apparatus".">= 0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "apparatus-0.0.7";
+  by-spec."ansicolors"."~0.3.2" =
+    self.by-version."ansicolors"."0.3.2";
+  by-version."ansicolors"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansicolors-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.7.tgz";
-        sha1 = "033f355507b6851ebeb1bd9475ede23c802327fe";
+        url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
+        name = "ansicolors-0.3.2.tgz";
+        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
       })
     ];
     buildInputs =
-      (self.nativeDeps."apparatus".">= 0.0.4" or []);
+      (self.nativeDeps."ansicolors" or []);
     deps = [
-      self.full."sylvester".">= 0.0.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "apparatus" ];
+    passthru.names = [ "ansicolors" ];
   };
-  full."archiver"."~0.4.6" = lib.makeOverridable self.buildNodePackage {
-    name = "archiver-0.4.10";
+  by-spec."ansistyles"."~0.1.3" =
+    self.by-version."ansistyles"."0.1.3";
+  by-version."ansistyles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ansistyles-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz";
-        sha1 = "df0feac8f1d1295e5eceb3a205559072d21f4747";
+        url = "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
+        name = "ansistyles-0.1.3.tgz";
+        sha1 = "5de60415bda071bb37127854c864f41b23254539";
       })
     ];
     buildInputs =
-      (self.nativeDeps."archiver"."~0.4.6" or []);
+      (self.nativeDeps."ansistyles" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
-      self.full."iconv-lite"."~0.2.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "archiver" ];
+    passthru.names = [ "ansistyles" ];
   };
-  full."archy"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "archy-0.0.2";
+  by-spec."apparatus".">= 0.0.6" =
+    self.by-version."apparatus"."0.0.8";
+  by-version."apparatus"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-apparatus-0.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
-        sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
+        url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz";
+        name = "apparatus-0.0.8.tgz";
+        sha1 = "14e8aeb84189208b7f8d77f09d9f0307778b079a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."archy"."0" or []);
+      (self.nativeDeps."apparatus" or []);
     deps = [
+      self.by-version."sylvester"."0.0.21"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "archy" ];
+    passthru.names = [ "apparatus" ];
   };
-  full."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "archy-0.0.2";
+  by-spec."archiver"."~0.5.2" =
+    self.by-version."archiver"."0.5.2";
+  by-version."archiver"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-archiver-0.5.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/archiver/-/archiver-0.5.2.tgz";
+        name = "archiver-0.5.2.tgz";
+        sha1 = "4e021b1fea5d902201f4886fca6a19fcc760083b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."archiver" or []);
+    deps = [
+      self.by-version."readable-stream"."1.0.27-1"
+      self.by-version."zip-stream"."0.1.4"
+      self.by-version."lazystream"."0.1.0"
+      self.by-version."file-utils"."0.1.5"
+      self.by-version."lodash"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "archiver" ];
+  };
+  by-spec."archy"."0" =
+    self.by-version."archy"."0.0.2";
+  by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-archy-0.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
+        name = "archy-0.0.2.tgz";
         sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."archy"."0.0.2" or []);
+      (self.nativeDeps."archy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archy" ];
   };
-  full."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "argparse-0.1.15";
+  by-spec."archy"."0.0.2" =
+    self.by-version."archy"."0.0.2";
+  by-spec."argparse"."0.1.15" =
+    self.by-version."argparse"."0.1.15";
+  by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+    name = "node-argparse-0.1.15";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
+        name = "argparse-0.1.15.tgz";
         sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."argparse"."0.1.15" or []);
+      (self.nativeDeps."argparse" or []);
     deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."underscore.string"."2.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "argparse" ];
   };
-  full."argparse"."~ 0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "argparse-0.1.15";
+  by-spec."argparse"."~ 0.1.11" =
+    self.by-version."argparse"."0.1.15";
+  by-spec."array-filter"."~0.0.0" =
+    self.by-version."array-filter"."0.0.1";
+  by-version."array-filter"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-filter-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-        sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+        url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+        name = "array-filter-0.0.1.tgz";
+        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."argparse"."~ 0.1.11" or []);
+      (self.nativeDeps."array-filter" or []);
     deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "argparse" ];
+    passthru.names = [ "array-filter" ];
   };
-  full."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "asn1-0.1.11";
+  by-spec."array-map"."~0.0.0" =
+    self.by-version."array-map"."0.0.0";
+  by-version."array-map"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-map-0.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+        url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+        name = "array-map-0.0.0.tgz";
+        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
       })
     ];
     buildInputs =
-      (self.nativeDeps."asn1"."0.1.11" or []);
+      (self.nativeDeps."array-map" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "asn1" ];
+    passthru.names = [ "array-map" ];
   };
-  full."assert"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-0.4.9";
+  by-spec."array-reduce"."~0.0.0" =
+    self.by-version."array-reduce"."0.0.0";
+  by-version."array-reduce"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-reduce-0.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/assert/-/assert-0.4.9.tgz";
-        sha1 = "45faff1a58f718508118873dead940c8b51db939";
+        url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+        name = "array-reduce-0.0.0.tgz";
+        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert"."*" or []);
+      (self.nativeDeps."array-reduce" or []);
     deps = [
-      self.full."util".">= 0.4.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "assert" ];
+    passthru.names = [ "array-reduce" ];
   };
-  "assert" = self.full."assert"."*";
-  full."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-plus-0.1.2";
+  by-spec."asap"."^1.0.0" =
+    self.by-version."asap"."1.0.0";
+  by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-asap-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
-        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+        url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
+        name = "asap-1.0.0.tgz";
+        sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert-plus"."0.1.2" or []);
+      (self.nativeDeps."asap" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "assert-plus" ];
+    passthru.names = [ "asap" ];
   };
-  full."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "assertion-error-1.0.0";
+  by-spec."ascii-json"."~0.2" =
+    self.by-version."ascii-json"."0.2.0";
+  by-version."ascii-json"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ascii-json-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
-        sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b";
+        url = "http://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz";
+        name = "ascii-json-0.2.0.tgz";
+        sha1 = "10ddb361fd48f72595309fd10a6ea2e7bf2c9218";
       })
     ];
     buildInputs =
-      (self.nativeDeps."assertion-error"."1.0.0" or []);
+      (self.nativeDeps."ascii-json" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "assertion-error" ];
+    passthru.names = [ "ascii-json" ];
   };
-  full."async"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."ascli"."*" =
+    self.by-version."ascli"."0.3.0";
+  by-version."ascli"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ascli-0.3.0";
+    src = [
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/ascli/-/ascli-0.3.0.tgz";
+        name = "ascli-0.3.0.tgz";
+        sha1 = "5e66230e5219fe3e8952a4efb4f20fae596a813a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ascli" or []);
+    deps = [
+      self.by-version."colour"."0.7.1"
+      self.by-version."optjs"."3.2.1-boom"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ascli" ];
+  };
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-asn1-0.1.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        name = "asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."*" or []);
+      (self.nativeDeps."asn1" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "async" ];
+    passthru.names = [ "asn1" ];
   };
-  "async" = self.full."async"."*";
-  full."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.15";
+  by-spec."assert"."*" =
+    self.by-version."assert"."1.1.1";
+  by-version."assert"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-assert-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.15.tgz";
-        sha1 = "2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3";
+        url = "http://registry.npmjs.org/assert/-/assert-1.1.1.tgz";
+        name = "assert-1.1.1.tgz";
+        sha1 = "766549ef4a6014b1e19c7c53f9816eabda440760";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.15" or []);
+      (self.nativeDeps."assert" or []);
     deps = [
+      self.by-version."util"."0.10.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "async" ];
+    passthru.names = [ "assert" ];
   };
-  full."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
+  "assert" = self.by-version."assert"."1.1.1";
+  by-spec."assert"."~1.1.0" =
+    self.by-version."assert"."1.1.1";
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-assert-plus-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+        name = "assert-plus-0.1.2.tgz";
+        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.22" or []);
+      (self.nativeDeps."assert-plus" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "async" ];
+    passthru.names = [ "assert-plus" ];
   };
-  full."async"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
+  by-spec."assertion-error"."1.0.0" =
+    self.by-version."assertion-error"."1.0.0";
+  by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-assertion-error-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+        url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
+        name = "assertion-error-1.0.0.tgz";
+        sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.x" or []);
+      (self.nativeDeps."assertion-error" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "async" ];
+    passthru.names = [ "assertion-error" ];
   };
-  full."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."astw"."~1.1.0" =
+    self.by-version."astw"."1.1.0";
+  by-version."astw"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-astw-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+        url = "http://registry.npmjs.org/astw/-/astw-1.1.0.tgz";
+        name = "astw-1.1.0.tgz";
+        sha1 = "f394778ab01c4ea467e64a614ed896ace0321a34";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."astw" or []);
+    deps = [
+      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "astw" ];
+  };
+  by-spec."async"."*" =
+    self.by-version."async"."0.7.0";
+  by-version."async"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.7.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.7.0.tgz";
+        name = "async-0.7.0.tgz";
+        sha1 = "4429e0e62f5de0a54f37458c49f0b897eb52ada5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.2.9" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  "async" = self.by-version."async"."0.7.0";
+  by-spec."async"."0.1.15" =
+    self.by-version."async"."0.1.15";
+  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.1.15";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+        url = "http://registry.npmjs.org/async/-/async-0.1.15.tgz";
+        name = "async-0.1.15.tgz";
+        sha1 = "2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.2.x" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
+  by-spec."async"."0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.1.22";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
+        name = "async-0.1.22.tgz";
         sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.1.22" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."async"."0.1.x" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.2.9";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
+        name = "async-0.2.9.tgz";
         sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.2.6" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.2.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+        url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        name = "async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.2.7" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."async"."^0.2.10" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.10" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.6" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.7" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.8" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.4" =
+    self.by-version."async"."0.4.1";
+  by-version."async"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+        url = "http://registry.npmjs.org/async/-/async-0.4.1.tgz";
+        name = "async-0.4.1.tgz";
+        sha1 = "1985abade017df906bfaa8d77d424b25366b3a5b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.2.8" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."async"."~0.6.2" =
+    self.by-version."async"."0.6.2";
+  by-version."async"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-async-0.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+        url = "http://registry.npmjs.org/async/-/async-0.6.2.tgz";
+        name = "async-0.6.2.tgz";
+        sha1 = "41fd038a3812c0a8bc1842ecf08ba63eb0392bef";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.2.9" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."aws-sdk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
+  by-spec."aws-sdk"."*" =
+    self.by-version."aws-sdk"."2.0.0-rc9";
+  by-version."aws-sdk"."2.0.0-rc9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-aws-sdk-2.0.0-rc9";
     src = [
-      (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.0-rc9.tgz";
+        name = "aws-sdk-2.0.0-rc9.tgz";
+        sha1 = "caa7653837f7886e7f9e4da5df3b3c8324d7d0ab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sdk"."*" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.full."aws-sdk"."*";
-  full."aws-sdk".">=1.2.0 <2" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.0-rc9";
+  by-spec."aws-sdk".">=1.2.0 <2" =
+    self.by-version."aws-sdk"."1.18.0";
+  by-version."aws-sdk"."1.18.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-aws-sdk-1.18.0";
     src = [
-      (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz";
+        name = "aws-sdk-1.18.0.tgz";
+        sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sdk".">=1.2.0 <2" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  full."aws-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sign-0.2.0";
+  by-spec."aws-sign"."~0.2.0" =
+    self.by-version."aws-sign"."0.2.0";
+  by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-aws-sign-0.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
+        name = "aws-sign-0.2.0.tgz";
         sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.2.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."aws-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sign-0.3.0";
+  by-spec."aws-sign"."~0.3.0" =
+    self.by-version."aws-sign"."0.3.0";
+  by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-aws-sign-0.3.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
+        name = "aws-sign-0.3.0.tgz";
         sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.3.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."backbone"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "backbone-1.1.0";
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-aws-sign2-0.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/backbone/-/backbone-1.1.0.tgz";
-        sha1 = "a3c845ea707dc210aa12b0dc16fceca4bbc18a3e";
+        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        name = "aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
       })
     ];
     buildInputs =
-      (self.nativeDeps."backbone"."*" or []);
+      (self.nativeDeps."aws-sign2" or []);
     deps = [
-      self.full."underscore".">=1.4.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "aws-sign2" ];
+  };
+  by-spec."backbone"."*" =
+    self.by-version."backbone"."1.1.2";
+  by-version."backbone"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-backbone-1.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/backbone/-/backbone-1.1.2.tgz";
+        name = "backbone-1.1.2.tgz";
+        sha1 = "c2c04c66bf87268fb82c177acebeff7d37ba6f2d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."backbone" or []);
+    deps = [
+      self.by-version."underscore"."1.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backbone" ];
   };
-  "backbone" = self.full."backbone"."*";
-  full."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "backoff-2.1.0";
+  "backbone" = self.by-version."backbone"."1.1.2";
+  by-spec."backoff"."2.1.0" =
+    self.by-version."backoff"."2.1.0";
+  by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-backoff-2.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
+        name = "backoff-2.1.0.tgz";
         sha1 = "19b4e9f9fb75c122ad7bb1c6c376d6085d43ea09";
       })
     ];
     buildInputs =
-      (self.nativeDeps."backoff"."2.1.0" or []);
+      (self.nativeDeps."backoff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backoff" ];
   };
-  full."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "base64id-0.1.0";
+  by-spec."base62"."0.1.1" =
+    self.by-version."base62"."0.1.1";
+  by-version."base62"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-base62-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz";
+        name = "base62-0.1.1.tgz";
+        sha1 = "7b4174c2f94449753b11c2651c083da841a7b084";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."base62" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "base62" ];
+  };
+  by-spec."base64-js"."~0.0.4" =
+    self.by-version."base64-js"."0.0.6";
+  by-version."base64-js"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-base64-js-0.0.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz";
+        name = "base64-js-0.0.6.tgz";
+        sha1 = "7b859f79f0bbbd55867ba67a7fab397e24a20947";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."base64-js" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "base64-js" ];
+  };
+  by-spec."base64id"."0.1.0" =
+    self.by-version."base64id"."0.1.0";
+  by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-base64id-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
+        name = "base64id-0.1.0.tgz";
         sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."base64id"."0.1.0" or []);
+      (self.nativeDeps."base64id" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "base64id" ];
   };
-  full."bcrypt"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "bcrypt-0.7.7";
+  by-spec."basic-auth-connect"."1.0.0" =
+    self.by-version."basic-auth-connect"."1.0.0";
+  by-version."basic-auth-connect"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-basic-auth-connect-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
+        name = "basic-auth-connect-1.0.0.tgz";
+        sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."basic-auth-connect" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "basic-auth-connect" ];
+  };
+  by-spec."batch"."0.5.0" =
+    self.by-version."batch"."0.5.0";
+  by-version."batch"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-batch-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
+        name = "batch-0.5.0.tgz";
+        sha1 = "fd2e05a7a5d696b4db9314013e285d8ff3557ec3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."batch" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "batch" ];
+  };
+  by-spec."bcrypt"."*" =
+    self.by-version."bcrypt"."0.7.7";
+  by-version."bcrypt"."0.7.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bcrypt-0.7.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.7.7.tgz";
+        name = "bcrypt-0.7.7.tgz";
         sha1 = "966a2e709b8cf62c2e05408baf7c5ed663b3c868";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bcrypt"."*" or []);
+      (self.nativeDeps."bcrypt" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bcrypt" ];
   };
-  "bcrypt" = self.full."bcrypt"."*";
-  full."binary"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "binary-0.3.0";
+  "bcrypt" = self.by-version."bcrypt"."0.7.7";
+  by-spec."binary"."~0.3.0" =
+    self.by-version."binary"."0.3.0";
+  by-version."binary"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-binary-0.3.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/binary/-/binary-0.3.0.tgz";
+        name = "binary-0.3.0.tgz";
         sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
       })
     ];
     buildInputs =
-      (self.nativeDeps."binary"."~0.3.0" or []);
+      (self.nativeDeps."binary" or []);
     deps = [
-      self.full."chainsaw"."~0.1.0"
-      self.full."buffers"."~0.1.1"
+      self.by-version."chainsaw"."0.1.0"
+      self.by-version."buffers"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "binary" ];
   };
-  full."bindings"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "bindings-1.1.1";
+  by-spec."bindings"."*" =
+    self.by-version."bindings"."1.2.0";
+  by-version."bindings"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bindings-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
-        sha1 = "951f7ae010302ffc50b265b124032017ed2bf6f3";
+        url = "http://registry.npmjs.org/bindings/-/bindings-1.2.0.tgz";
+        name = "bindings-1.2.0.tgz";
+        sha1 = "c224fc5b349a84043779f97a6271d9d70da7636f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."*" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bindings-1.0.0";
+  by-spec."bindings"."1.0.0" =
+    self.by-version."bindings"."1.0.0";
+  by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bindings-1.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
+        name = "bindings-1.0.0.tgz";
         sha1 = "c3ccde60e9de6807c6f1aa4ef4843af29191c828";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."1.0.0" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."block-stream"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.7";
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-block-stream-0.0.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+        name = "block-stream-0.0.7.tgz";
         sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
       })
     ];
     buildInputs =
-      (self.nativeDeps."block-stream"."*" or []);
+      (self.nativeDeps."block-stream" or []);
     deps = [
-      self.full."inherits"."~2.0.0"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "block-stream" ];
   };
-  full."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.7";
+  by-spec."block-stream"."0.0.7" =
+    self.by-version."block-stream"."0.0.7";
+  by-spec."blueimp-md5"."~1.1.0" =
+    self.by-version."blueimp-md5"."1.1.0";
+  by-version."blueimp-md5"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-blueimp-md5-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
-        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+        url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz";
+        name = "blueimp-md5-1.1.0.tgz";
+        sha1 = "041ed794862f3c5f2847282a7481329f1d2352cd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."block-stream"."0.0.7" or []);
+      (self.nativeDeps."blueimp-md5" or []);
     deps = [
-      self.full."inherits"."~2.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "block-stream" ];
+    passthru.names = [ "blueimp-md5" ];
   };
-  full."blueimp-md5"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "blueimp-md5-1.0.3";
+  by-spec."body-parser"."~1.0.1" =
+    self.by-version."body-parser"."1.0.2";
+  by-version."body-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-body-parser-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.0.3.tgz";
-        sha1 = "932f8fa56652701823cee46cecc0477c88333ab2";
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.0.2.tgz";
+        name = "body-parser-1.0.2.tgz";
+        sha1 = "3461479a3278fe00fcaebec3314bb54fc4f7b47c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."blueimp-md5"."~1.0.3" or []);
+      (self.nativeDeps."body-parser" or []);
     deps = [
+      self.by-version."type-is"."1.1.0"
+      self.by-version."raw-body"."1.1.4"
+      self.by-version."qs"."0.6.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "blueimp-md5" ];
+    passthru.names = [ "body-parser" ];
+  };
+  by-spec."boolbase"."~1.0.0" =
+    self.by-version."boolbase"."1.0.0";
+  by-version."boolbase"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-boolbase-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
+        name = "boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."boolbase" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "boolbase" ];
   };
-  full."boom"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "boom-0.3.8";
+  by-spec."boom"."0.3.x" =
+    self.by-version."boom"."0.3.8";
+  by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-boom-0.3.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
+        name = "boom-0.3.8.tgz";
         sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.3.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."boom"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "boom-0.4.2";
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-boom-0.4.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        name = "boom-0.4.2.tgz";
         sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.4.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."bower"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
-        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bower"."*" or []);
-    deps = [
-      self.full."abbrev"."~1.0.4"
-      self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.5.0"
-      self.full."bower-endpoint-parser"."~0.2.0"
-      self.full."bower-json"."~0.4.0"
-      self.full."bower-logger"."~0.2.1"
-      self.full."bower-registry-client"."~0.1.4"
-      self.full."cardinal"."~0.4.0"
-      self.full."chalk"."~0.2.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."fstream"."~0.1.22"
-      self.full."fstream-ignore"."~0.0.6"
-      self.full."glob"."~3.2.1"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.3.0"
-      self.full."junk"."~0.2.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.7.0"
-      self.full."nopt"."~2.1.1"
-      self.full."lru-cache"."~2.3.0"
-      self.full."open"."~0.0.3"
-      self.full."osenv"."0.0.3"
-      self.full."promptly"."~0.2.0"
-      self.full."q"."~0.9.2"
-      self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.3.0"
-      self.full."retry"."~0.6.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."semver"."~2.1.0"
-      self.full."stringify-object"."~0.1.4"
-      self.full."sudo-block"."~0.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."tmp"."~0.0.20"
-      self.full."unzip"."~0.1.7"
-      self.full."update-notifier"."~0.1.3"
-      self.full."which"."~1.0.5"
+  by-spec."bower"."*" =
+    self.by-version."bower"."1.3.2";
+  by-version."bower"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.3.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower/-/bower-1.3.2.tgz";
+        name = "bower-1.3.2.tgz";
+        sha1 = "ae1eeea5c3ba9300e10e55b193e9d2fd5407fb7b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower" or []);
+    deps = [
+      self.by-version."abbrev"."1.0.5"
+      self.by-version."archy"."0.0.2"
+      self.by-version."bower-config"."0.5.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-json"."0.4.0"
+      self.by-version."bower-logger"."0.2.2"
+      self.by-version."bower-registry-client"."0.1.6"
+      self.by-version."cardinal"."0.4.4"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."decompress-zip"."0.0.6"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."glob"."3.2.9"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."handlebars"."1.3.0"
+      self.by-version."inquirer"."0.4.1"
+      self.by-version."junk"."0.2.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mout"."0.9.1"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lru-cache"."2.5.0"
+      self.by-version."open"."0.0.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."promptly"."0.2.0"
+      self.by-version."q"."1.0.1"
+      self.by-version."request"."2.33.0"
+      self.by-version."request-progress"."0.3.1"
+      self.by-version."retry"."0.6.0"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."semver"."2.2.1"
+      self.by-version."stringify-object"."0.2.0"
+      self.by-version."tar"."0.1.19"
+      self.by-version."tmp"."0.0.23"
+      self.by-version."update-notifier"."0.1.8"
+      self.by-version."which"."1.0.5"
+      self.by-version."p-throttler"."0.0.1"
+      self.by-version."insight"."0.3.1"
+      self.by-version."is-root"."0.1.0"
+      self.by-version."shell-quote"."1.4.1"
+      self.by-version."lockfile"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  "bower" = self.full."bower"."*";
-  full."bower".">=0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
-        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bower".">=0.9.0" or []);
-    deps = [
-      self.full."abbrev"."~1.0.4"
-      self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.5.0"
-      self.full."bower-endpoint-parser"."~0.2.0"
-      self.full."bower-json"."~0.4.0"
-      self.full."bower-logger"."~0.2.1"
-      self.full."bower-registry-client"."~0.1.4"
-      self.full."cardinal"."~0.4.0"
-      self.full."chalk"."~0.2.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."fstream"."~0.1.22"
-      self.full."fstream-ignore"."~0.0.6"
-      self.full."glob"."~3.2.1"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.3.0"
-      self.full."junk"."~0.2.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.7.0"
-      self.full."nopt"."~2.1.1"
-      self.full."lru-cache"."~2.3.0"
-      self.full."open"."~0.0.3"
-      self.full."osenv"."0.0.3"
-      self.full."promptly"."~0.2.0"
-      self.full."q"."~0.9.2"
-      self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.3.0"
-      self.full."retry"."~0.6.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."semver"."~2.1.0"
-      self.full."stringify-object"."~0.1.4"
-      self.full."sudo-block"."~0.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."tmp"."~0.0.20"
-      self.full."unzip"."~0.1.7"
-      self.full."update-notifier"."~0.1.3"
-      self.full."which"."~1.0.5"
+  "bower" = self.by-version."bower"."1.3.2";
+  by-spec."bower".">=0.9.0" =
+    self.by-version."bower"."1.3.2";
+  by-spec."bower".">=1.2.8 <2" =
+    self.by-version."bower"."1.3.2";
+  by-spec."bower"."~1.2.0" =
+    self.by-version."bower"."1.2.8";
+  by-version."bower"."1.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.2.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower/-/bower-1.2.8.tgz";
+        name = "bower-1.2.8.tgz";
+        sha1 = "f63c0804a267d5ffaf2fd3fd488367e73dce202f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower" or []);
+    deps = [
+      self.by-version."abbrev"."1.0.5"
+      self.by-version."archy"."0.0.2"
+      self.by-version."bower-config"."0.5.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-json"."0.4.0"
+      self.by-version."bower-logger"."0.2.2"
+      self.by-version."bower-registry-client"."0.1.6"
+      self.by-version."cardinal"."0.4.4"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."decompress-zip"."0.0.6"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."glob"."3.2.9"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."junk"."0.2.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mout"."0.7.1"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."open"."0.0.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."promptly"."0.2.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-progress"."0.3.1"
+      self.by-version."retry"."0.6.0"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."semver"."2.1.0"
+      self.by-version."stringify-object"."0.1.8"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."tar"."0.1.19"
+      self.by-version."tmp"."0.0.23"
+      self.by-version."update-notifier"."0.1.8"
+      self.by-version."which"."1.0.5"
+      self.by-version."p-throttler"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  full."bower-config"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-config-0.4.5";
+  by-spec."bower-config"."~0.4.3" =
+    self.by-version."bower-config"."0.4.5";
+  by-version."bower-config"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-config-0.4.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz";
+        name = "bower-config-0.4.5.tgz";
         sha1 = "baa7cee382f53b13bb62a4afaee7c05f20143c13";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.4.3" or []);
+      (self.nativeDeps."bower-config" or []);
     deps = [
-      self.full."graceful-fs"."~2.0.0"
-      self.full."mout"."~0.6.0"
-      self.full."optimist"."~0.6.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-config"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-config-0.5.0";
+  by-spec."bower-config"."~0.5.0" =
+    self.by-version."bower-config"."0.5.0";
+  by-version."bower-config"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-config-0.5.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz";
+        name = "bower-config-0.5.0.tgz";
         sha1 = "d081d43008816b1beb876dee272219851dd4c89c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.5.0" or []);
+      (self.nativeDeps."bower-config" or []);
     deps = [
-      self.full."graceful-fs"."~2.0.0"
-      self.full."mout"."~0.6.0"
-      self.full."optimist"."~0.6.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-endpoint-parser"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-endpoint-parser-0.2.1";
+  by-spec."bower-endpoint-parser"."0.2.1" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-version."bower-endpoint-parser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-endpoint-parser-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz";
+        name = "bower-endpoint-parser-0.2.1.tgz";
         sha1 = "8c4010a2900cdab07ea5d38f0bd03e9bbccef90f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-endpoint-parser"."~0.2.0" or []);
+      (self.nativeDeps."bower-endpoint-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-endpoint-parser" ];
   };
-  full."bower-json"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-json-0.4.0";
+  by-spec."bower-endpoint-parser"."~0.2.0" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-spec."bower-json"."0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-version."bower-json"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-json-0.4.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz";
+        name = "bower-json-0.4.0.tgz";
         sha1 = "a99c3ccf416ef0590ed0ded252c760f1c6d93766";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-json"."~0.4.0" or []);
+      (self.nativeDeps."bower-json" or []);
     deps = [
-      self.full."deep-extend"."~0.2.5"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."intersect"."~0.0.3"
+      self.by-version."deep-extend"."0.2.8"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."intersect"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-json" ];
   };
-  full."bower-logger"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-logger-0.2.1";
+  by-spec."bower-json"."~0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-spec."bower-logger"."0.2.1" =
+    self.by-version."bower-logger"."0.2.1";
+  by-version."bower-logger"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-logger-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.1.tgz";
+        name = "bower-logger-0.2.1.tgz";
         sha1 = "0c1817c48063a88d96cc3d516c55e57fff5d9ecb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-logger"."~0.2.1" or []);
+      (self.nativeDeps."bower-logger" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-logger" ];
   };
-  full."bower-registry-client"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-registry-client-0.1.5";
+  by-spec."bower-logger"."~0.2.1" =
+    self.by-version."bower-logger"."0.2.2";
+  by-version."bower-logger"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-logger-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.5.tgz";
-        sha1 = "1c64d70bfca833c95121ffc23da48a54527912d3";
+        url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz";
+        name = "bower-logger-0.2.2.tgz";
+        sha1 = "39be07e979b2fc8e03a94634205ed9422373d381";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-registry-client"."~0.1.4" or []);
+      (self.nativeDeps."bower-logger" or []);
     deps = [
-      self.full."async"."~0.2.8"
-      self.full."bower-config"."~0.4.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."lru-cache"."~2.3.0"
-      self.full."request"."~2.27.0"
-      self.full."request-replay"."~0.2.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."mkdirp"."~0.3.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-logger" ];
+  };
+  by-spec."bower-logger"."~0.2.2" =
+    self.by-version."bower-logger"."0.2.2";
+  by-spec."bower-registry-client"."~0.1.4" =
+    self.by-version."bower-registry-client"."0.1.6";
+  by-version."bower-registry-client"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bower-registry-client-0.1.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.6.tgz";
+        name = "bower-registry-client-0.1.6.tgz";
+        sha1 = "c3ae74a98f24f50a373bbcb0ef443558be01d4b7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-registry-client" or []);
+    deps = [
+      self.by-version."async"."0.2.10"
+      self.by-version."bower-config"."0.4.5"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-replay"."0.2.0"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."mkdirp"."0.3.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-registry-client" ];
   };
-  full."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "broadway-0.2.7";
+  by-spec."bower2nix"."*" =
+    self.by-version."bower2nix"."2.1.0";
+  by-version."bower2nix"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bower2nix-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
-        sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.1.0.tgz";
+        name = "bower2nix-2.1.0.tgz";
+        sha1 = "213f507a729b20a1c3cb48f995a034f9c05f53e6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."broadway"."0.2.7" or []);
+      (self.nativeDeps."bower2nix" or []);
     deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
+      self.by-version."temp"."0.6.0"
+      self.by-version."fs.extra"."1.2.1"
+      self.by-version."bower-json"."0.4.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-logger"."0.2.1"
+      self.by-version."bower"."1.3.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."clone"."0.1.11"
+      self.by-version."semver"."2.2.1"
+      self.by-version."fetch-bower"."2.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "broadway" ];
+    passthru.names = [ "bower2nix" ];
   };
-  full."broadway"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "broadway-0.2.7";
+  "bower2nix" = self.by-version."bower2nix"."2.1.0";
+  by-spec."broadway"."0.2.9" =
+    self.by-version."broadway"."0.2.9";
+  by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-broadway-0.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
-        sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.9.tgz";
+        name = "broadway-0.2.9.tgz";
+        sha1 = "887008b2257f4171089de5cb9b656969b6c8c9e8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."broadway"."0.2.x" or []);
+      (self.nativeDeps."broadway" or []);
     deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."eventemitter2"."0.4.12"
+      self.by-version."nconf"."0.6.9"
+      self.by-version."winston"."0.7.2"
+      self.by-version."utile"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
-  full."browserchannel"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "browserchannel-1.0.8";
+  by-spec."broadway"."0.2.x" =
+    self.by-version."broadway"."0.2.9";
+  by-spec."browser-pack"."~2.0.0" =
+    self.by-version."browser-pack"."2.0.1";
+  by-version."browser-pack"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "browser-pack-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.0.8.tgz";
-        sha1 = "96da83d139d8943f5bd616c334f148bd008dbac4";
+        url = "http://registry.npmjs.org/browser-pack/-/browser-pack-2.0.1.tgz";
+        name = "browser-pack-2.0.1.tgz";
+        sha1 = "5d1c527f56c582677411c4db2a128648ff6bf150";
       })
     ];
     buildInputs =
-      (self.nativeDeps."browserchannel"."*" or []);
+      (self.nativeDeps."browser-pack" or []);
     deps = [
-      self.full."hat"."*"
-      self.full."connect"."~2"
-      self.full."request"."~2"
+      self.by-version."JSONStream"."0.6.4"
+      self.by-version."through"."2.3.4"
+      self.by-version."combine-source-map"."0.3.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "browser-pack" ];
+  };
+  by-spec."browser-resolve"."~1.2.1" =
+    self.by-version."browser-resolve"."1.2.4";
+  by-version."browser-resolve"."1.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-browser-resolve-1.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.4.tgz";
+        name = "browser-resolve-1.2.4.tgz";
+        sha1 = "59ae7820a82955ecd32f5fb7c468ac21c4723806";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."browser-resolve" or []);
+    deps = [
+      self.by-version."resolve"."0.6.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "browser-resolve" ];
+  };
+  by-spec."browser-resolve"."~1.2.2" =
+    self.by-version."browser-resolve"."1.2.4";
+  by-spec."browserchannel"."*" =
+    self.by-version."browserchannel"."1.2.0";
+  by-version."browserchannel"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-browserchannel-1.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.2.0.tgz";
+        name = "browserchannel-1.2.0.tgz";
+        sha1 = "207ce6eb844e00febfdf32084f10d4757cbcf97c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."browserchannel" or []);
+    deps = [
+      self.by-version."hat"."0.0.3"
+      self.by-version."connect"."2.14.4"
+      self.by-version."request"."2.34.0"
+      self.by-version."ascii-json"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "browserchannel" ];
   };
-  "browserchannel" = self.full."browserchannel"."*";
-  full."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "bson-0.1.8";
+  "browserchannel" = self.by-version."browserchannel"."1.2.0";
+  by-spec."browserify"."*" =
+    self.by-version."browserify"."3.44.2";
+  by-version."browserify"."3.44.2" = lib.makeOverridable self.buildNodePackage {
+    name = "browserify-3.44.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/browserify/-/browserify-3.44.2.tgz";
+        name = "browserify-3.44.2.tgz";
+        sha1 = "ffa2788d06e8073ffd734d94c3ae272ca3dd630a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."browserify" or []);
+    deps = [
+      self.by-version."JSONStream"."0.7.2"
+      self.by-version."assert"."1.1.1"
+      self.by-version."browser-pack"."2.0.1"
+      self.by-version."browser-resolve"."1.2.4"
+      self.by-version."browserify-zlib"."0.1.4"
+      self.by-version."buffer"."2.1.13"
+      self.by-version."builtins"."0.0.3"
+      self.by-version."commondir"."0.0.1"
+      self.by-version."concat-stream"."1.4.5"
+      self.by-version."console-browserify"."1.0.3"
+      self.by-version."constants-browserify"."0.0.1"
+      self.by-version."crypto-browserify"."1.0.9"
+      self.by-version."deep-equal"."0.1.2"
+      self.by-version."defined"."0.0.0"
+      self.by-version."deps-sort"."0.1.1"
+      self.by-version."derequire"."0.8.0"
+      self.by-version."domain-browser"."1.1.1"
+      self.by-version."duplexer"."0.1.1"
+      self.by-version."events"."1.0.0"
+      self.by-version."glob"."3.2.9"
+      self.by-version."http-browserify"."1.3.2"
+      self.by-version."https-browserify"."0.0.0"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."insert-module-globals"."5.0.1"
+      self.by-version."module-deps"."1.10.0"
+      self.by-version."os-browserify"."0.1.2"
+      self.by-version."parents"."0.0.2"
+      self.by-version."path-browserify"."0.0.0"
+      self.by-version."punycode"."1.2.4"
+      self.by-version."querystring-es3"."0.2.0"
+      self.by-version."resolve"."0.6.3"
+      self.by-version."shallow-copy"."0.0.1"
+      self.by-version."shell-quote"."0.0.1"
+      self.by-version."stream-browserify"."0.1.3"
+      self.by-version."stream-combiner"."0.0.4"
+      self.by-version."string_decoder"."0.0.1"
+      self.by-version."subarg"."0.0.1"
+      self.by-version."syntax-error"."1.1.0"
+      self.by-version."through2"."0.4.1"
+      self.by-version."timers-browserify"."1.0.1"
+      self.by-version."tty-browserify"."0.0.0"
+      self.by-version."umd"."2.0.0"
+      self.by-version."url"."0.10.1"
+      self.by-version."util"."0.10.3"
+      self.by-version."vm-browserify"."0.0.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "browserify" ];
+  };
+  "browserify" = self.by-version."browserify"."3.44.2";
+  by-spec."browserify"."~3.38.0" =
+    self.by-version."browserify"."3.38.1";
+  by-version."browserify"."3.38.1" = lib.makeOverridable self.buildNodePackage {
+    name = "browserify-3.38.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/browserify/-/browserify-3.38.1.tgz";
+        name = "browserify-3.38.1.tgz";
+        sha1 = "4790937ec5b01f1c340e83521e36c4e3aaf3d7ba";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."browserify" or []);
+    deps = [
+      self.by-version."JSONStream"."0.7.2"
+      self.by-version."assert"."1.1.1"
+      self.by-version."browser-pack"."2.0.1"
+      self.by-version."browser-resolve"."1.2.4"
+      self.by-version."buffer"."2.1.13"
+      self.by-version."builtins"."0.0.3"
+      self.by-version."commondir"."0.0.1"
+      self.by-version."concat-stream"."1.4.5"
+      self.by-version."console-browserify"."1.0.3"
+      self.by-version."constants-browserify"."0.0.1"
+      self.by-version."crypto-browserify"."1.0.9"
+      self.by-version."deep-equal"."0.1.2"
+      self.by-version."defined"."0.0.0"
+      self.by-version."deps-sort"."0.1.1"
+      self.by-version."derequire"."0.8.0"
+      self.by-version."domain-browser"."1.1.1"
+      self.by-version."duplexer"."0.1.1"
+      self.by-version."events"."1.0.0"
+      self.by-version."glob"."3.2.9"
+      self.by-version."http-browserify"."1.3.2"
+      self.by-version."https-browserify"."0.0.0"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."insert-module-globals"."5.0.1"
+      self.by-version."module-deps"."1.8.1"
+      self.by-version."os-browserify"."0.1.2"
+      self.by-version."parents"."0.0.2"
+      self.by-version."path-browserify"."0.0.0"
+      self.by-version."punycode"."1.2.4"
+      self.by-version."querystring-es3"."0.2.0"
+      self.by-version."resolve"."0.6.3"
+      self.by-version."shallow-copy"."0.0.1"
+      self.by-version."shell-quote"."0.0.1"
+      self.by-version."stream-browserify"."0.1.3"
+      self.by-version."stream-combiner"."0.0.4"
+      self.by-version."string_decoder"."0.0.1"
+      self.by-version."subarg"."0.0.1"
+      self.by-version."syntax-error"."1.1.0"
+      self.by-version."through2"."0.4.1"
+      self.by-version."timers-browserify"."1.0.1"
+      self.by-version."tty-browserify"."0.0.0"
+      self.by-version."umd"."2.0.0"
+      self.by-version."url"."0.7.9"
+      self.by-version."util"."0.10.3"
+      self.by-version."vm-browserify"."0.0.4"
+      self.by-version."zlib-browserify"."0.0.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "browserify" ];
+  };
+  by-spec."browserify-zlib"."~0.1.2" =
+    self.by-version."browserify-zlib"."0.1.4";
+  by-version."browserify-zlib"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-browserify-zlib-0.1.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
+        name = "browserify-zlib-0.1.4.tgz";
+        sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."browserify-zlib" or []);
+    deps = [
+      self.by-version."pako"."0.2.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "browserify-zlib" ];
+  };
+  by-spec."bson"."0.1.8" =
+    self.by-version."bson"."0.1.8";
+  by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bson-0.1.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
+        name = "bson-0.1.8.tgz";
         sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.1.8" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "bson-0.2.2";
+  by-spec."bson"."0.2.2" =
+    self.by-version."bson"."0.2.2";
+  by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bson-0.2.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.2.2.tgz";
+        name = "bson-0.2.2.tgz";
         sha1 = "3dbf984acb9d33a6878b46e6fb7afbd611856a60";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.2.2" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.1.1";
+  by-spec."bson"."0.2.5" =
+    self.by-version."bson"."0.2.5";
+  by-version."bson"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bson-0.2.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
-        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.5.tgz";
+        name = "bson-0.2.5.tgz";
+        sha1 = "500d26d883ddc8e02f2c88011627636111c105c5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.1.1" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "buffer-crc32" ];
+    passthru.names = [ "bson" ];
   };
-  full."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.2.1";
+  by-spec."bson"."0.2.7" =
+    self.by-version."bson"."0.2.7";
+  by-version."bson"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bson-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.7.tgz";
+        name = "bson-0.2.7.tgz";
+        sha1 = "6793161c40e5a9757091d7ee7d52a4717950236b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.2.1" or []);
+      (self.nativeDeps."bson" or []);
+    deps = [
+      self.by-version."nan"."0.8.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bson" ];
+  };
+  by-spec."buffer"."~2.1.4" =
+    self.by-version."buffer"."2.1.13";
+  by-version."buffer"."2.1.13" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffer-2.1.13";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer/-/buffer-2.1.13.tgz";
+        name = "buffer-2.1.13.tgz";
+        sha1 = "c88838ebf79f30b8b4a707788470bea8a62c2355";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer" or []);
+    deps = [
+      self.by-version."base64-js"."0.0.6"
+      self.by-version."ieee754"."1.1.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffer" ];
+  };
+  by-spec."buffer-crc32"."0.1.1" =
+    self.by-version."buffer-crc32"."0.1.1";
+  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffer-crc32-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
+        name = "buffer-crc32-0.1.1.tgz";
+        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffer-crc32"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.2.1";
+  by-spec."buffer-crc32"."0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffer-crc32-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
+        name = "buffer-crc32-0.2.1.tgz";
         sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."~0.2.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffers"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffers-0.1.1";
+  by-spec."buffer-crc32"."~0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-spec."buffers"."~0.1.1" =
+    self.by-version."buffers"."0.1.1";
+  by-version."buffers"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffers-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz";
+        name = "buffers-0.1.1.tgz";
         sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffers"."~0.1.1" or []);
+      (self.nativeDeps."buffers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffers" ];
   };
-  full."buffertools"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "buffertools-1.1.1";
+  by-spec."buffertools"."*" =
+    self.by-version."buffertools"."2.1.2";
+  by-version."buffertools"."2.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffertools-2.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
-        sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+        url = "http://registry.npmjs.org/buffertools/-/buffertools-2.1.2.tgz";
+        name = "buffertools-2.1.2.tgz";
+        sha1 = "d667afc1ef8b9932e90a25f2e3a66a929d42daab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools"."*" or []);
+      (self.nativeDeps."buffertools" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
-  "buffertools" = self.full."buffertools"."*";
-  full."buffertools".">=1.1.1 <2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "buffertools-1.1.1";
+  "buffertools" = self.by-version."buffertools"."2.1.2";
+  by-spec."buffertools".">=1.1.1 <2.0.0" =
+    self.by-version."buffertools"."1.1.1";
+  by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffertools-1.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
+        name = "buffertools-1.1.1.tgz";
         sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools".">=1.1.1 <2.0.0" or []);
+      (self.nativeDeps."buffertools" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
-  full."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."builtins"."~0.0.3" =
+    self.by-version."builtins"."0.0.3";
+  by-version."builtins"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-builtins-0.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/builtins/-/builtins-0.0.3.tgz";
+        name = "builtins-0.0.3.tgz";
+        sha1 = "5d006166da71610bc2bcf73019f0f0cc43309755";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."builtins" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "builtins" ];
+  };
+  by-spec."bunyan"."0.21.1" =
+    self.by-version."bunyan"."0.21.1";
+  by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
     name = "bunyan-0.21.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+        name = "bunyan-0.21.1.tgz";
         sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bunyan"."0.21.1" or []);
+      (self.nativeDeps."bunyan" or []);
     deps = [
-      self.full."mv"."0.0.5"
-      self.full."dtrace-provider"."0.2.8"
+      self.by-version."mv"."0.0.5"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bunyan" ];
   };
-  full."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-0.2.0";
+  by-spec."bytebuffer".">=2.2 <3" =
+    self.by-version."bytebuffer"."2.3.1";
+  by-version."bytebuffer"."2.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytebuffer-2.3.1";
+    src = [
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/bytebuffer/-/bytebuffer-2.3.1.tgz";
+        name = "bytebuffer-2.3.1.tgz";
+        sha1 = "17c2c290bfed534b06aadd6513aa5a0096ca2639";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytebuffer" or []);
+    deps = [
+      self.by-version."long"."1.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytebuffer" ];
+  };
+  by-spec."bytes"."0.1.0" =
+    self.by-version."bytes"."0.1.0";
+  by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+        name = "bytes-0.1.0.tgz";
+        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."0.2.0" =
+    self.by-version."bytes"."0.2.0";
+  by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-0.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
+        name = "bytes-0.2.0.tgz";
         sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bytes"."0.2.0" or []);
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."0.2.1" =
+    self.by-version."bytes"."0.2.1";
+  by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-0.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
+        name = "bytes-0.2.1.tgz";
+        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."0.3.0" =
+    self.by-version."bytes"."0.3.0";
+  by-version."bytes"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz";
+        name = "bytes-0.3.0.tgz";
+        sha1 = "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
   };
-  full."cardinal"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cardinal-0.4.2";
+  by-spec."bytes"."~0.2.0" =
+    self.by-version."bytes"."0.2.1";
+  by-spec."bytes"."~0.2.1" =
+    self.by-version."bytes"."0.2.1";
+  by-spec."bytes"."~0.3.0" =
+    self.by-version."bytes"."0.3.0";
+  by-spec."callsite"."~1.0.0" =
+    self.by-version."callsite"."1.0.0";
+  by-version."callsite"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-callsite-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cardinal/-/cardinal-0.4.2.tgz";
-        sha1 = "b6563a882f58a56c1abd574baec64b5d0b7ef942";
+        url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
+        name = "callsite-1.0.0.tgz";
+        sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cardinal"."~0.4.0" or []);
+      (self.nativeDeps."callsite" or []);
     deps = [
-      self.full."redeyed"."~0.4.0"
-      self.full."ansicolors"."~0.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "callsite" ];
+  };
+  by-spec."cardinal"."~0.4.0" =
+    self.by-version."cardinal"."0.4.4";
+  by-version."cardinal"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "cardinal-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz";
+        name = "cardinal-0.4.4.tgz";
+        sha1 = "ca5bb68a5b511b90fe93b9acea49bdee5c32bfe2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cardinal" or []);
+    deps = [
+      self.by-version."redeyed"."0.4.4"
+      self.by-version."ansicolors"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cardinal" ];
   };
-  full."chai"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "chai-1.8.1";
+  by-spec."chai"."*" =
+    self.by-version."chai"."1.9.1";
+  by-version."chai"."1.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chai-1.9.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chai/-/chai-1.8.1.tgz";
-        sha1 = "cc77866d5e7ebca2bd75144b1edc370a88785f72";
+        url = "http://registry.npmjs.org/chai/-/chai-1.9.1.tgz";
+        name = "chai-1.9.1.tgz";
+        sha1 = "3711bb6706e1568f34c0b36098bf8f19455c81ae";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chai"."*" or []);
+      (self.nativeDeps."chai" or []);
     deps = [
-      self.full."assertion-error"."1.0.0"
-      self.full."deep-eql"."0.1.3"
+      self.by-version."assertion-error"."1.0.0"
+      self.by-version."deep-eql"."0.1.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chai" ];
   };
-  "chai" = self.full."chai"."*";
-  full."chainsaw"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "chainsaw-0.1.0";
+  "chai" = self.by-version."chai"."1.9.1";
+  by-spec."chainsaw"."~0.1.0" =
+    self.by-version."chainsaw"."0.1.0";
+  by-version."chainsaw"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chainsaw-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz";
+        name = "chainsaw-0.1.0.tgz";
         sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chainsaw"."~0.1.0" or []);
+      (self.nativeDeps."chainsaw" or []);
     deps = [
-      self.full."traverse".">=0.3.0 <0.4"
+      self.by-version."traverse"."0.3.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chainsaw" ];
   };
-  full."chalk"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.1.1";
+  by-spec."chalk"."^0.4.0" =
+    self.by-version."chalk"."0.4.0";
+  by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chalk-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
-        sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
+        url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
+        name = "chalk-0.4.0.tgz";
+        sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.1.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
+      self.by-version."has-color"."0.1.7"
+      self.by-version."ansi-styles"."1.0.0"
+      self.by-version."strip-ansi"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."chalk"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.1.1";
+  by-spec."chalk"."~0.1.1" =
+    self.by-version."chalk"."0.1.1";
+  by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chalk-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
+        name = "chalk-0.1.1.tgz";
         sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.1.1" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
+      self.by-version."has-color"."0.1.7"
+      self.by-version."ansi-styles"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."chalk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.2.1";
+  by-spec."chalk"."~0.2.0" =
+    self.by-version."chalk"."0.2.1";
+  by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chalk-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz";
+        name = "chalk-0.2.1.tgz";
         sha1 = "7613e1575145b21386483f7f485aa5ffa8cbd10c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.2.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.2.0"
+      self.by-version."has-color"."0.1.7"
+      self.by-version."ansi-styles"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "character-parser-1.2.0";
+  by-spec."chalk"."~0.3.0" =
+    self.by-version."chalk"."0.3.0";
+  by-version."chalk"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chalk-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz";
-        sha1 = "94134d6e5d870a39be359f7d22460935184ddef6";
+        url = "http://registry.npmjs.org/chalk/-/chalk-0.3.0.tgz";
+        name = "chalk-0.3.0.tgz";
+        sha1 = "1c98437737f1199ebcc1d4c48fd41b9f9c8e8f23";
       })
     ];
     buildInputs =
-      (self.nativeDeps."character-parser"."1.2.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
+      self.by-version."has-color"."0.1.7"
+      self.by-version."ansi-styles"."0.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "character-parser" ];
+    passthru.names = [ "chalk" ];
   };
-  full."cheerio"."~0.10.8" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.10.8";
+  by-spec."chalk"."~0.4.0" =
+    self.by-version."chalk"."0.4.0";
+  by-spec."character-parser"."1.2.0" =
+    self.by-version."character-parser"."1.2.0";
+  by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-character-parser-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.10.8.tgz";
-        sha1 = "ece5ad0c8baa9b9adc87394bbdb1c68bc4552ba0";
+        url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz";
+        name = "character-parser-1.2.0.tgz";
+        sha1 = "94134d6e5d870a39be359f7d22460935184ddef6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.10.8" or []);
+      (self.nativeDeps."character-parser" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."2.x"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "cheerio" ];
+    passthru.names = [ "character-parser" ];
   };
-  full."cheerio"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
+  by-spec."cheerio"."~0.12.0" =
+    self.by-version."cheerio"."0.12.4";
+  by-version."cheerio"."0.12.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cheerio-0.12.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.4.tgz";
+        name = "cheerio-0.12.4.tgz";
+        sha1 = "c199626e9e1eb0d4233a91a4793e7f8aaa69a18b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.0" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."3.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.5.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio"."~0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
+  by-spec."cheerio"."~0.13.0" =
+    self.by-version."cheerio"."0.13.1";
+  by-version."cheerio"."0.13.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cheerio-0.13.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.13.1.tgz";
+        name = "cheerio-0.13.1.tgz";
+        sha1 = "48af1134561b3527f83d9156c4f9a8ebd82b06ec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.1" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."htmlparser2"."3.4.0"
+      self.by-version."underscore"."1.5.2"
+      self.by-version."entities"."0.5.0"
+      self.by-version."CSSselect"."0.4.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio-select"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-select-0.0.3";
+  by-spec."cheerio-select"."*" =
+    self.by-version."cheerio-select"."0.0.3";
+  by-version."cheerio-select"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cheerio-select-0.0.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cheerio-select/-/cheerio-select-0.0.3.tgz";
+        name = "cheerio-select-0.0.3.tgz";
         sha1 = "3f2420114f3ccb0b1b075c245ccfaae5d617a388";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio-select"."*" or []);
+      (self.nativeDeps."cheerio-select" or []);
     deps = [
-      self.full."CSSselect"."0.x"
+      self.by-version."CSSselect"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio-select" ];
   };
-  full."child-process-close"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "child-process-close-0.1.1";
+  by-spec."child-process-close"."~0.1.1" =
+    self.by-version."child-process-close"."0.1.1";
+  by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-child-process-close-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
+        name = "child-process-close-0.1.1.tgz";
         sha1 = "c153ede7a5eb65ac69e78a38973b1a286377f75f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."child-process-close"."~0.1.1" or []);
+      (self.nativeDeps."child-process-close" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "child-process-close" ];
   };
-  full."chmodr"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "chmodr-0.1.0";
+  by-spec."chmodr"."~0.1.0" =
+    self.by-version."chmodr"."0.1.0";
+  by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chmodr-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
+        name = "chmodr-0.1.0.tgz";
         sha1 = "e09215a1d51542db2a2576969765bcf6125583eb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chmodr"."~0.1.0" or []);
+      (self.nativeDeps."chmodr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chmodr" ];
   };
-  full."chokidar"."~0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "chokidar-0.6.3";
+  by-spec."chokidar".">=0.8.2" =
+    self.by-version."chokidar"."0.8.2";
+  by-version."chokidar"."0.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chokidar-0.8.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.6.3.tgz";
-        sha1 = "e85968fa235f21773d388c617af085bf2104425a";
+        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.2.tgz";
+        name = "chokidar-0.8.2.tgz";
+        sha1 = "767e2509aaa040fd8a23cc46225a783dc1bfc899";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chokidar"."~0.6" or []);
+      (self.nativeDeps."chokidar" or []);
     deps = [
+      self.by-version."fsevents"."0.2.0"
+      self.by-version."recursive-readdir"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chokidar" ];
   };
-  full."chownr"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "chownr-0.0.1";
+  by-spec."chownr"."0" =
+    self.by-version."chownr"."0.0.1";
+  by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-chownr-0.0.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
+        name = "chownr-0.0.1.tgz";
         sha1 = "51d18189d9092d5f8afd623f3288bfd1c6bf1a62";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chownr"."0" or []);
+      (self.nativeDeps."chownr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chownr" ];
   };
-  full."clean-css"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-1.1.3";
+  by-spec."circular-json"."0.1.x" =
+    self.by-version."circular-json"."0.1.6";
+  by-version."circular-json"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-circular-json-0.1.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/circular-json/-/circular-json-0.1.6.tgz";
+        name = "circular-json-0.1.6.tgz";
+        sha1 = "fd692b65f8bce4f2900bea14f74ad681ab294c7f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."circular-json" or []);
+    deps = [
+      self.by-version."wru"."0.2.7"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "circular-json" ];
+  };
+  by-spec."class-extend"."~0.1.0" =
+    self.by-version."class-extend"."0.1.1";
+  by-version."class-extend"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-class-extend-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/class-extend/-/class-extend-0.1.1.tgz";
+        name = "class-extend-0.1.1.tgz";
+        sha1 = "0feb1e59f4ace7bc163b509745f3282c4c7e528a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."class-extend" or []);
+    deps = [
+      self.by-version."lodash"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "class-extend" ];
+  };
+  by-spec."clean-css"."2.1.x" =
+    self.by-version."clean-css"."2.1.8";
+  by-version."clean-css"."2.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.1.3.tgz";
-        sha1 = "5442cbf45643e09bdcfae25f2b5d8eb36e168ae1";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz";
+        name = "clean-css-2.1.8.tgz";
+        sha1 = "2b4b2fd60f32441096216ae25a21faa74580dc83";
       })
     ];
     buildInputs =
-      (self.nativeDeps."clean-css"."~1.1.1" or []);
+      (self.nativeDeps."clean-css" or []);
     deps = [
-      self.full."commander"."2.0.x"
+      self.by-version."commander"."2.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clean-css" ];
   };
-  full."cli"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "cli-0.4.5";
+  by-spec."clean-css"."~2.1.0" =
+    self.by-version."clean-css"."2.1.8";
+  by-spec."cli"."0.4.x" =
+    self.by-version."cli"."0.4.5";
+  by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cli-0.4.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cli/-/cli-0.4.5.tgz";
+        name = "cli-0.4.5.tgz";
         sha1 = "78f9485cd161b566e9a6c72d7170c4270e81db61";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli"."0.4.x" or []);
+      (self.nativeDeps."cli" or []);
     deps = [
-      self.full."glob".">= 3.1.4"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli" ];
   };
-  full."cli-color"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cli-color-0.2.3";
+  by-spec."cli-color"."*" =
+    self.by-version."cli-color"."0.2.3";
+  by-version."cli-color"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cli-color-0.2.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz";
+        name = "cli-color-0.2.3.tgz";
         sha1 = "0a25ceae5a6a1602be7f77d28563c36700274e88";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-color"."~0.2.2" or []);
+      (self.nativeDeps."cli-color" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."memoizee"."~0.2.5"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."memoizee"."0.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-color" ];
   };
-  full."cli-table"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cli-table-0.2.0";
+  by-spec."cli-color"."~0.2.2" =
+    self.by-version."cli-color"."0.2.3";
+  by-spec."cli-color"."~0.2.3" =
+    self.by-version."cli-color"."0.2.3";
+  by-spec."cli-log"."~0.0.8" =
+    self.by-version."cli-log"."0.0.8";
+  by-version."cli-log"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cli-log-0.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cli-table/-/cli-table-0.2.0.tgz";
-        sha1 = "34c63eb532c206e9e5e4ae0cb0104bd1fd27317c";
+        url = "http://registry.npmjs.org/cli-log/-/cli-log-0.0.8.tgz";
+        name = "cli-log-0.0.8.tgz";
+        sha1 = "af738d7f5fcda8aab21bd4dbcd904ee5137c1ad0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-table"."~0.2.0" or []);
+      (self.nativeDeps."cli-log" or []);
     deps = [
-      self.full."colors"."0.3.0"
+      self.by-version."cli-color"."0.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "cli-table" ];
+    passthru.names = [ "cli-log" ];
   };
-  full."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "cliff-0.1.8";
+  by-spec."cliff"."0.1.8" =
+    self.by-version."cliff"."0.1.8";
+  by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cliff-0.1.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
+        name = "cliff-0.1.8.tgz";
         sha1 = "43ca8ad9fe3943489693ab62dce0cae22509d272";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cliff"."0.1.8" or []);
+      (self.nativeDeps."cliff" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."eyes"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."colors"."0.6.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cliff" ];
   };
-  full."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "clone-0.1.5";
+  by-spec."clone"."0.1.11" =
+    self.by-version."clone"."0.1.11";
+  by-version."clone"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-clone-0.1.11";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/clone/-/clone-0.1.11.tgz";
+        name = "clone-0.1.11.tgz";
+        sha1 = "408b7d1773eb0dfbf2ddb156c1c47170c17e3a96";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."clone" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "clone" ];
+  };
+  by-spec."clone"."0.1.5" =
+    self.by-version."clone"."0.1.5";
+  by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-clone-0.1.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
+        name = "clone-0.1.5.tgz";
         sha1 = "46f29143d0766d663dbd7f80b7520a15783d2042";
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.5" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "clone-0.1.6";
+  by-spec."clone"."0.1.6" =
+    self.by-version."clone"."0.1.6";
+  by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-clone-0.1.6";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
+        name = "clone-0.1.6.tgz";
         sha1 = "4af2296d4a23a64168c2f5fb0a2aa65e80517000";
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.6" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."cmd-shim"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cmd-shim-1.0.1";
+  by-spec."cmd-shim"."~1.1.1" =
+    self.by-version."cmd-shim"."1.1.1";
+  by-version."cmd-shim"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cmd-shim-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.0.1.tgz";
-        sha1 = "75e917c2185240854718c686346770640083d7bc";
+        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.1.tgz";
+        name = "cmd-shim-1.1.1.tgz";
+        sha1 = "348b292db32ed74c8283fcf6c48549b84c6658a7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.0.1" or []);
+      (self.nativeDeps."cmd-shim" or []);
     deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cmd-shim" ];
   };
-  full."cmd-shim"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cmd-shim-1.1.1";
+  by-spec."coffee-script"."*" =
+    self.by-version."coffee-script"."1.7.1";
+  by-version."coffee-script"."1.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-1.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.1.tgz";
-        sha1 = "348b292db32ed74c8283fcf6c48549b84c6658a7";
+        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz";
+        name = "coffee-script-1.7.1.tgz";
+        sha1 = "62996a861780c75e6d5069d13822723b73404bfc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.1.0" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
+      self.by-version."mkdirp"."0.3.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "cmd-shim" ];
+    passthru.names = [ "coffee-script" ];
   };
-  full."coffee-script"."*" = lib.makeOverridable self.buildNodePackage {
+  "coffee-script" = self.by-version."coffee-script"."1.7.1";
+  by-spec."coffee-script"."1.6.3" =
+    self.by-version."coffee-script"."1.6.3";
+  by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.6.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
+        name = "coffee-script-1.6.3.tgz";
         sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."*" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  "coffee-script" = self.full."coffee-script"."*";
-  full."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
+  by-spec."coffee-script".">= 0.0.1" =
+    self.by-version."coffee-script"."1.7.1";
+  by-spec."coffee-script".">=1.2.0" =
+    self.by-version."coffee-script"."1.7.1";
+  by-spec."coffee-script"."~1.3.3" =
+    self.by-version."coffee-script"."1.3.3";
+  by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-1.3.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
+        name = "coffee-script-1.3.3.tgz";
+        sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."1.6.3" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  full."coffee-script".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
+  by-spec."coffee-script-redux"."=2.0.0-beta8" =
+    self.by-version."coffee-script-redux"."2.0.0-beta8";
+  by-version."coffee-script-redux"."2.0.0-beta8" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-redux-2.0.0-beta8";
+    src = [
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/coffee-script-redux/-/coffee-script-redux-2.0.0-beta8.tgz";
+        name = "coffee-script-redux-2.0.0-beta8.tgz";
+        sha1 = "0fd7b8417340dd0d339e8f6fd8b4b8716956e8d5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."coffee-script-redux" or []);
+    deps = [
+      self.by-version."StringScanner"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."esmangle"."0.0.17"
+      self.by-version."source-map"."0.1.11"
+      self.by-version."escodegen"."0.0.28"
+      self.by-version."cscodegen"."0.1.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "coffee-script-redux" ];
+  };
+  by-spec."collections"."^2.0.0" =
+    self.by-version."collections"."2.0.1";
+  by-version."collections"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-collections-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+        url = "http://registry.npmjs.org/collections/-/collections-2.0.1.tgz";
+        name = "collections-2.0.1.tgz";
+        sha1 = "ee201b142bd1ee5b37a95d62fe13062d87d83db0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script".">= 0.0.1" or []);
+      (self.nativeDeps."collections" or []);
     deps = [
+      self.by-version."weak-map"."1.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "coffee-script" ];
+    passthru.names = [ "collections" ];
   };
-  full."coffee-script".">=1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
+  by-spec."color"."~0.5.0" =
+    self.by-version."color"."0.5.0";
+  by-version."color"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-color-0.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+        url = "http://registry.npmjs.org/color/-/color-0.5.0.tgz";
+        name = "color-0.5.0.tgz";
+        sha1 = "4d283d8bfe4cbc7006de6b6d25a3c26f00e3ee6d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script".">=1.2.0" or []);
+      (self.nativeDeps."color" or []);
     deps = [
+      self.by-version."color-convert"."0.2.1"
+      self.by-version."color-string"."0.1.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "coffee-script" ];
+    passthru.names = [ "color" ];
   };
-  full."coffee-script"."~1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.3.3";
+  by-spec."color-convert"."0.2.x" =
+    self.by-version."color-convert"."0.2.1";
+  by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-color-convert-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
-        sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
+        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz";
+        name = "color-convert-0.2.1.tgz";
+        sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."~1.3.3" or []);
+      (self.nativeDeps."color-convert" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "coffee-script" ];
+    passthru.names = [ "color-convert" ];
   };
-  full."coffee-script"."~1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
+  by-spec."color-string"."0.1.x" =
+    self.by-version."color-string"."0.1.3";
+  by-version."color-string"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-color-string-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+        url = "http://registry.npmjs.org/color-string/-/color-string-0.1.3.tgz";
+        name = "color-string-0.1.3.tgz";
+        sha1 = "e865d2e3e59f665c3af0de14383f6bf0705685f3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."~1.6" or []);
+      (self.nativeDeps."color-string" or []);
     deps = [
+      self.by-version."color-convert"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "coffee-script" ];
+    passthru.names = [ "color-string" ];
   };
-  full."color"."~0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "color-0.4.4";
+  by-spec."colors"."0.5.x" =
+    self.by-version."colors"."0.5.1";
+  by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-colors-0.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color/-/color-0.4.4.tgz";
-        sha1 = "f8bae8a848854616328704e64ce4a94ab336b7b5";
+        url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
+        name = "colors-0.5.1.tgz";
+        sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
       })
     ];
     buildInputs =
-      (self.nativeDeps."color"."~0.4.4" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
-      self.full."color-string"."0.1.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "color" ];
+    passthru.names = [ "colors" ];
   };
-  full."color-convert"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "color-convert-0.2.1";
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-colors-0.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz";
-        sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c";
+        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+        name = "colors-0.6.2.tgz";
+        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-convert"."0.2.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "color-convert" ];
+    passthru.names = [ "colors" ];
   };
-  full."color-string"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "color-string-0.1.2";
+  by-spec."colors"."0.x.x" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.0-1" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.2" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colour"."*" =
+    self.by-version."colour"."0.7.1";
+  by-version."colour"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-colour-0.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color-string/-/color-string-0.1.2.tgz";
-        sha1 = "a413fb7dd137162d5d4ea784cbeb36d931ad9b4a";
+        url = "http://registry.npmjs.org/colour/-/colour-0.7.1.tgz";
+        name = "colour-0.7.1.tgz";
+        sha1 = "9cb169917ec5d12c0736d3e8685746df1cadf778";
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-string"."0.1.x" or []);
+      (self.nativeDeps."colour" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "color-string" ];
+    passthru.names = [ "colour" ];
   };
-  full."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.3.0";
+  by-spec."columnify"."0.1.2" =
+    self.by-version."columnify"."0.1.2";
+  by-version."columnify"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-columnify-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.3.0.tgz";
-        sha1 = "c247d64d34db0ca4dc8e43f3ecd6da98d0af94e7";
+        url = "http://registry.npmjs.org/columnify/-/columnify-0.1.2.tgz";
+        name = "columnify-0.1.2.tgz";
+        sha1 = "ab1a1f1e37b26ba4b87c6920fb717fe51c827042";
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.3.0" or []);
+      (self.nativeDeps."columnify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "colors" ];
+    passthru.names = [ "columnify" ];
   };
-  full."colors"."0.5.x" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.5.1";
+  by-spec."combine-source-map"."~0.3.0" =
+    self.by-version."combine-source-map"."0.3.0";
+  by-version."combine-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-combine-source-map-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
-        sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
+        url = "http://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz";
+        name = "combine-source-map-0.3.0.tgz";
+        sha1 = "d9e74f593d9cd43807312cb5d846d451efaa9eb7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.5.x" or []);
+      (self.nativeDeps."combine-source-map" or []);
     deps = [
+      self.by-version."inline-source-map"."0.3.0"
+      self.by-version."convert-source-map"."0.3.3"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "colors" ];
+    passthru.names = [ "combine-source-map" ];
   };
-  full."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.0-1";
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.4";
+  by-version."combined-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-combined-stream-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz";
-        sha1 = "6dbb68ceb8bc60f2b313dcc5ce1599f06d19e67a";
+        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz";
+        name = "combined-stream-0.0.4.tgz";
+        sha1 = "2d1a43347dbe9515a4a2796732e5b88473840b22";
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.6.0-1" or []);
+      (self.nativeDeps."combined-stream" or []);
     deps = [
+      self.by-version."delayed-stream"."0.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "colors" ];
+    passthru.names = [ "combined-stream" ];
   };
-  full."colors"."0.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-0.6.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        name = "commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.6.x" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "colors" ];
+    passthru.names = [ "commander" ];
   };
-  full."colors"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
+  by-spec."commander"."1.2.x" =
+    self.by-version."commander"."1.2.0";
+  by-version."commander"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+        url = "http://registry.npmjs.org/commander/-/commander-1.2.0.tgz";
+        name = "commander-1.2.0.tgz";
+        sha1 = "fd5713bfa153c7d6cc599378a5ab4c45c535029e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.x.x" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
+      self.by-version."keypress"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "colors" ];
+    passthru.names = [ "commander" ];
   };
-  full."colors"."~0.6.0-1" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
+  by-spec."commander"."1.3.1" =
+    self.by-version."commander"."1.3.1";
+  by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+        url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
+        name = "commander-1.3.1.tgz";
+        sha1 = "02443e02db96f4b32b674225451abb6e9510000e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."~0.6.0-1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
+      self.by-version."keypress"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "colors" ];
+    passthru.names = [ "commander" ];
   };
-  full."combined-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "combined-stream-0.0.4";
+  by-spec."commander"."1.3.2" =
+    self.by-version."commander"."1.3.2";
+  by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz";
-        sha1 = "2d1a43347dbe9515a4a2796732e5b88473840b22";
+        url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        name = "commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."combined-stream"."~0.0.4" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
-      self.full."delayed-stream"."0.0.5"
+      self.by-version."keypress"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "combined-stream" ];
+    passthru.names = [ "commander" ];
   };
-  full."commander"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
+  by-spec."commander"."2.0.0" =
+    self.by-version."commander"."2.0.0";
+  by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-2.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
+        name = "commander-2.0.0.tgz";
         sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."*" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.5.1";
+  by-spec."commander"."2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.5.1.tgz";
-        sha1 = "08477afb326d1adf9d4ee73af7170c70caa14f95";
+        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        name = "commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.5.1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.6.1";
+  by-spec."commander"."2.1.x" =
+    self.by-version."commander"."2.1.0";
+  by-spec."commander"."~0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-spec."commander"."~2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-spec."commondir"."0.0.1" =
+    self.by-version."commondir"."0.0.1";
+  by-version."commondir"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commondir-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+        url = "http://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz";
+        name = "commondir-0.0.1.tgz";
+        sha1 = "89f00fdcd51b519c578733fec563e6a6da7f5be2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.6.1" or []);
+      (self.nativeDeps."commondir" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "commander" ];
+    passthru.names = [ "commondir" ];
   };
-  full."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
+  by-spec."compressible"."1.0.0" =
+    self.by-version."compressible"."1.0.0";
+  by-version."compressible"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-compressible-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
+        url = "http://registry.npmjs.org/compressible/-/compressible-1.0.0.tgz";
+        name = "compressible-1.0.0.tgz";
+        sha1 = "f83e49c1cb61421753545125a8011d68b492427d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."2.0.0" or []);
+      (self.nativeDeps."compressible" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "commander" ];
+    passthru.names = [ "compressible" ];
   };
-  full."commander"."2.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
+  by-spec."compression"."1.0.0" =
+    self.by-version."compression"."1.0.0";
+  by-version."compression"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-compression-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
+        url = "http://registry.npmjs.org/compression/-/compression-1.0.0.tgz";
+        name = "compression-1.0.0.tgz";
+        sha1 = "8aeb85d48db5145d38bc8b181b6352d8eab26020";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."2.0.x" or []);
+      (self.nativeDeps."compression" or []);
     deps = [
+      self.by-version."bytes"."0.2.1"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."compressible"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "commander" ];
+    passthru.names = [ "compression" ];
   };
-  full."commander"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.6.1";
+  by-spec."concat-stream"."^1.4.1" =
+    self.by-version."concat-stream"."1.4.5";
+  by-version."concat-stream"."1.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-concat-stream-1.4.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+        url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.5.tgz";
+        name = "concat-stream-1.4.5.tgz";
+        sha1 = "cbf6ffd17c15d58f0baeacbb47d927cf566446a6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."~0.6.1" or []);
+      (self.nativeDeps."concat-stream" or []);
     deps = [
+      self.by-version."inherits"."2.0.1"
+      self.by-version."typedarray"."0.0.5"
+      self.by-version."readable-stream"."1.1.13-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "commander" ];
+    passthru.names = [ "concat-stream" ];
   };
-  full."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
-    name = "config-0.4.15";
+  by-spec."concat-stream"."~1.4.1" =
+    self.by-version."concat-stream"."1.4.5";
+  by-spec."config"."0.4.15" =
+    self.by-version."config"."0.4.15";
+  by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
+    name = "node-config-0.4.15";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
+        name = "config-0.4.15.tgz";
         sha1 = "d43ddf58b8df5637fdd1314fc816ccae7bfbcd18";
       })
     ];
     buildInputs =
-      (self.nativeDeps."config"."0.4.15" or []);
+      (self.nativeDeps."config" or []);
     deps = [
-      self.full."js-yaml"."0.3.x"
-      self.full."coffee-script".">=1.2.0"
-      self.full."vows".">=0.5.13"
+      self.by-version."js-yaml"."0.3.7"
+      self.by-version."coffee-script"."1.7.1"
+      self.by-version."vows"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config" ];
   };
-  full."config-chain"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "config-chain-1.1.8";
+  by-spec."config-chain"."~1.1.1" =
+    self.by-version."config-chain"."1.1.8";
+  by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-config-chain-1.1.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz";
+        name = "config-chain-1.1.8.tgz";
         sha1 = "0943d0b7227213a20d4eaff4434f4a1c0a052cad";
       })
     ];
     buildInputs =
-      (self.nativeDeps."config-chain"."~1.1.1" or []);
+      (self.nativeDeps."config-chain" or []);
     deps = [
-      self.full."proto-list"."~1.2.1"
-      self.full."ini"."1"
+      self.by-version."proto-list"."1.2.2"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config-chain" ];
   };
-  full."configstore"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "configstore-0.1.5";
+  by-spec."config-chain"."~1.1.8" =
+    self.by-version."config-chain"."1.1.8";
+  by-spec."configstore"."~0.2.1" =
+    self.by-version."configstore"."0.2.3";
+  by-version."configstore"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-configstore-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/configstore/-/configstore-0.1.5.tgz";
-        sha1 = "807cfd60ef69c87f4a7b60561d940190a438503e";
+        url = "http://registry.npmjs.org/configstore/-/configstore-0.2.3.tgz";
+        name = "configstore-0.2.3.tgz";
+        sha1 = "b1bdc4ad823a25423dc15d220fcc1ae1d7efab02";
       })
     ];
     buildInputs =
-      (self.nativeDeps."configstore"."~0.1.0" or []);
+      (self.nativeDeps."configstore" or []);
     deps = [
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."js-yaml"."~2.1.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."js-yaml"."3.0.2"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."object-assign"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
-  full."connect"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-1.9.2";
+  by-spec."configstore"."~0.2.2" =
+    self.by-version."configstore"."0.2.3";
+  by-spec."connect"."1.x" =
+    self.by-version."connect"."1.9.2";
+  by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-1.9.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
+        name = "connect-1.9.2.tgz";
         sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."1.x" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs".">= 0.4.0"
-      self.full."mime".">= 0.0.1"
-      self.full."formidable"."1.0.x"
+      self.by-version."qs"."0.6.6"
+      self.by-version."mime"."1.2.11"
+      self.by-version."formidable"."1.0.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.11" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.11";
+  by-spec."connect"."2.11.0" =
+    self.by-version."connect"."2.11.0";
+  by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
-        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
+        url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
+        name = "connect-2.11.0.tgz";
+        sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.11" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.1"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.6.5"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."debug"."0.8.1"
+      self.by-version."methods"."0.0.1"
+      self.by-version."raw-body"."0.0.3"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.5";
+  by-spec."connect"."2.14.1" =
+    self.by-version."connect"."2.14.1";
+  by-version."connect"."2.14.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.14.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
-        sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
+        url = "http://registry.npmjs.org/connect/-/connect-2.14.1.tgz";
+        name = "connect-2.14.1.tgz";
+        sha1 = "e6fd676a5735ca703a89eb970f3d283fadecc2c7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.5" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.0"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."basic-auth-connect"."1.0.0"
+      self.by-version."cookie-parser"."1.0.1"
+      self.by-version."cookie-signature"."1.0.3"
+      self.by-version."compression"."1.0.0"
+      self.by-version."connect-timeout"."1.0.0"
+      self.by-version."csurf"."1.0.0"
+      self.by-version."errorhandler"."1.0.0"
+      self.by-version."express-session"."1.0.2"
+      self.by-version."fresh"."0.2.2"
+      self.by-version."method-override"."1.0.0"
+      self.by-version."morgan"."1.0.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."response-time"."1.0.0"
+      self.by-version."serve-index"."1.0.1"
+      self.by-version."serve-static"."1.0.2"
+      self.by-version."static-favicon"."1.0.0"
+      self.by-version."vhost"."1.0.0"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.8.1"
+      self.by-version."raw-body"."1.1.3"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.6";
+  by-spec."connect"."2.3.x" =
+    self.by-version."connect"."2.3.9";
+  by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.3.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
-        sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
+        url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
+        name = "connect-2.3.9.tgz";
+        sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.6" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.4.2"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."crc"."0.2.0"
+      self.by-version."cookie"."0.0.4"
+      self.by-version."bytes"."0.1.0"
+      self.by-version."send"."0.0.3"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
+  by-spec."connect"."2.7.5" =
+    self.by-version."connect"."2.7.5";
+  by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.7.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
+        url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
+        name = "connect-2.7.5.tgz";
+        sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.9.1" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
+  by-spec."connect"."2.7.6" =
+    self.by-version."connect"."2.7.6";
+  by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.7.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
+        url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
+        name = "connect-2.7.6.tgz";
+        sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."~2" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."~2.8.4" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.8.8";
+  by-spec."connect"."~2" =
+    self.by-version."connect"."2.14.4";
+  by-version."connect"."2.14.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.14.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.8.8.tgz";
-        sha1 = "b9abf8caf0bd9773cb3dea29344119872582446d";
+        url = "http://registry.npmjs.org/connect/-/connect-2.14.4.tgz";
+        name = "connect-2.14.4.tgz";
+        sha1 = "40e74de3947a5278035c12f21535604555609a5a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."~2.8.4" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
+      self.by-version."basic-auth-connect"."1.0.0"
+      self.by-version."cookie-parser"."1.0.1"
+      self.by-version."cookie-signature"."1.0.3"
+      self.by-version."compression"."1.0.0"
+      self.by-version."connect-timeout"."1.0.0"
+      self.by-version."csurf"."1.1.0"
+      self.by-version."errorhandler"."1.0.0"
+      self.by-version."express-session"."1.0.2"
+      self.by-version."fresh"."0.2.2"
+      self.by-version."method-override"."1.0.0"
+      self.by-version."morgan"."1.0.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."response-time"."1.0.0"
+      self.by-version."setimmediate"."1.0.1"
+      self.by-version."serve-index"."1.0.1"
+      self.by-version."serve-static"."1.0.4"
+      self.by-version."static-favicon"."1.0.2"
+      self.by-version."vhost"."1.0.0"
+      self.by-version."bytes"."0.3.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.8.1"
+      self.by-version."raw-body"."1.1.3"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect-flash"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-flash-0.1.1";
+  by-spec."connect"."~2.12.0" =
+    self.by-version."connect"."2.12.0";
+  by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-2.12.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect/-/connect-2.12.0.tgz";
+        name = "connect-2.12.0.tgz";
+        sha1 = "31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect" or []);
+    deps = [
+      self.by-version."batch"."0.5.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."debug"."0.8.1"
+      self.by-version."methods"."0.1.0"
+      self.by-version."raw-body"."1.1.2"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."multiparty"."2.2.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect" ];
+  };
+  by-spec."connect-flash"."*" =
+    self.by-version."connect-flash"."0.1.1";
+  by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-flash-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
+        name = "connect-flash-0.1.1.tgz";
         sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."*" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  "connect-flash" = self.full."connect-flash"."*";
-  full."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-flash-0.1.0";
+  "connect-flash" = self.by-version."connect-flash"."0.1.1";
+  by-spec."connect-flash"."0.1.0" =
+    self.by-version."connect-flash"."0.1.0";
+  by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-flash-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
+        name = "connect-flash-0.1.0.tgz";
         sha1 = "82b381d61a12b651437df1c259c1f1c841239b88";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."0.1.0" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  full."connect-jade-static"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-jade-static-0.1.1";
+  by-spec."connect-jade-static"."*" =
+    self.by-version."connect-jade-static"."0.1.3";
+  by-version."connect-jade-static"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-jade-static-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.1.tgz";
-        sha1 = "11d16fa00aca28cb004e89cd0a7d6b0fa0342cdb";
+        url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.3.tgz";
+        name = "connect-jade-static-0.1.3.tgz";
+        sha1 = "ad0e0538c9124355d6da03de13fae63f7b5e0b1b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-jade-static"."*" or []);
+      (self.nativeDeps."connect-jade-static" or []);
     deps = [
-      self.full."jade"."*"
+      self.by-version."jade"."1.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-jade-static" ];
   };
-  "connect-jade-static" = self.full."connect-jade-static"."*";
-  full."connect-mongo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-mongo-0.3.3";
+  "connect-jade-static" = self.by-version."connect-jade-static"."0.1.3";
+  by-spec."connect-mongo"."*" =
+    self.by-version."connect-mongo"."0.4.0";
+  by-version."connect-mongo"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-mongo-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.3.3.tgz";
-        sha1 = "aeaa1ca8c947599131bd90e1a024cdb789fe0100";
+        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.0.tgz";
+        name = "connect-mongo-0.4.0.tgz";
+        sha1 = "4cb33728334a8f10f2d9e43d31369dbc2f856336";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-mongo"."*" or []);
+      (self.nativeDeps."connect-mongo" or []);
     deps = [
-      self.full."mongodb"."1.2.x"
+      self.by-version."mongodb"."1.3.23"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-mongo" ];
   };
-  "connect-mongo" = self.full."connect-mongo"."*";
-  full."console-browserify"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "console-browserify-0.1.6";
+  "connect-mongo" = self.by-version."connect-mongo"."0.4.0";
+  by-spec."connect-timeout"."1.0.0" =
+    self.by-version."connect-timeout"."1.0.0";
+  by-version."connect-timeout"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connect-timeout-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.0.0.tgz";
+        name = "connect-timeout-1.0.0.tgz";
+        sha1 = "12054799f90bb9566f8b274efe7842d6465d10bb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect-timeout" or []);
+    deps = [
+      self.by-version."debug"."0.8.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect-timeout" ];
+  };
+  by-spec."connection-parse"."0.0.x" =
+    self.by-version."connection-parse"."0.0.7";
+  by-version."connection-parse"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-connection-parse-0.0.7";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
+        name = "connection-parse-0.0.7.tgz";
+        sha1 = "18e7318aab06a699267372b10c5226d25a1c9a69";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connection-parse" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "connection-parse" ];
+  };
+  by-spec."console-browserify"."0.1.x" =
+    self.by-version."console-browserify"."0.1.6";
+  by-version."console-browserify"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-console-browserify-0.1.6";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz";
+        name = "console-browserify-0.1.6.tgz";
         sha1 = "d128a3c0bb88350eb5626c6e7c71a6f0fd48983c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."console-browserify"."0.1.x" or []);
+      (self.nativeDeps."console-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "console-browserify" ];
   };
-  full."constantinople"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "constantinople-1.0.2";
+  by-spec."console-browserify"."~1.0.1" =
+    self.by-version."console-browserify"."1.0.3";
+  by-version."console-browserify"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-console-browserify-1.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.0.3.tgz";
+        name = "console-browserify-1.0.3.tgz";
+        sha1 = "d3898d2c3a93102f364197f8874b4f92b5286a8e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."console-browserify" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "console-browserify" ];
+  };
+  by-spec."constantinople"."~1.0.1" =
+    self.by-version."constantinople"."1.0.2";
+  by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-constantinople-1.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz";
+        name = "constantinople-1.0.2.tgz";
         sha1 = "0e64747dc836644d3f659247efd95231b48c3e71";
       })
     ];
     buildInputs =
-      (self.nativeDeps."constantinople"."~1.0.1" or []);
+      (self.nativeDeps."constantinople" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
+      self.by-version."uglify-js"."2.4.13"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
   };
-  full."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-0.0.5";
+  by-spec."constantinople"."~1.0.2" =
+    self.by-version."constantinople"."1.0.2";
+  by-spec."constantinople"."~2.0.0" =
+    self.by-version."constantinople"."2.0.0";
+  by-version."constantinople"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-constantinople-2.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/constantinople/-/constantinople-2.0.0.tgz";
+        name = "constantinople-2.0.0.tgz";
+        sha1 = "0558c3f340095a43acf2386149e5537074330e49";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."constantinople" or []);
+    deps = [
+      self.by-version."uglify-js"."2.4.13"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "constantinople" ];
+  };
+  by-spec."constants-browserify"."~0.0.1" =
+    self.by-version."constants-browserify"."0.0.1";
+  by-version."constants-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-constants-browserify-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz";
+        name = "constants-browserify-0.0.1.tgz";
+        sha1 = "92577db527ba6c4cf0a4568d84bc031f441e21f2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."constants-browserify" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "constants-browserify" ];
+  };
+  by-spec."convert-source-map"."~0.3.0" =
+    self.by-version."convert-source-map"."0.3.3";
+  by-version."convert-source-map"."0.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-convert-source-map-0.3.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.3.tgz";
+        name = "convert-source-map-0.3.3.tgz";
+        sha1 = "f77f130ded4e611d313a1bcf78f988990831c69b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."convert-source-map" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "convert-source-map" ];
+  };
+  by-spec."cookie"."0.0.4" =
+    self.by-version."cookie"."0.0.4";
+  by-version."cookie"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
+        name = "cookie-0.0.4.tgz";
+        sha1 = "5456bd47aee2666eac976ea80a6105940483fe98";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie"."0.0.5" =
+    self.by-version."cookie"."0.0.5";
+  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.0.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+        name = "cookie-0.0.5.tgz";
         sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.0.5" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-0.1.0";
+  by-spec."cookie"."0.1.0" =
+    self.by-version."cookie"."0.1.0";
+  by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
+        name = "cookie-0.1.0.tgz";
         sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.1.0" or []);
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie"."0.1.1" =
+    self.by-version."cookie"."0.1.1";
+  by-version."cookie"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.1.tgz";
+        name = "cookie-0.1.1.tgz";
+        sha1 = "cbd4b537aa65f800b6c66ead2520ba8d6afbdf54";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie-jar"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-jar-0.2.0";
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        name = "cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie-jar"."~0.2.0" =
+    self.by-version."cookie-jar"."0.2.0";
+  by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-jar-0.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
+        name = "cookie-jar-0.2.0.tgz";
         sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.2.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-jar"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-jar-0.3.0";
+  by-spec."cookie-jar"."~0.3.0" =
+    self.by-version."cookie-jar"."0.3.0";
+  by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-jar-0.3.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
+        name = "cookie-jar-0.3.0.tgz";
         sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.3.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-1.0.0";
+  by-spec."cookie-parser"."1.0.1" =
+    self.by-version."cookie-parser"."1.0.1";
+  by-version."cookie-parser"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-parser-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz";
+        name = "cookie-parser-1.0.1.tgz";
+        sha1 = "17bd622c9717cd0858a912a9fef4c0362360a7b0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-parser" or []);
+    deps = [
+      self.by-version."cookie"."0.1.0"
+      self.by-version."cookie-signature"."1.0.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-parser" ];
+  };
+  by-spec."cookie-parser"."~1.0.1" =
+    self.by-version."cookie-parser"."1.0.1";
+  by-spec."cookie-signature"."1.0.0" =
+    self.by-version."cookie-signature"."1.0.0";
+  by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-signature-1.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
+        name = "cookie-signature-1.0.0.tgz";
         sha1 = "0044f332ac623df851c914e88eacc57f0c9704fe";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.0" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-1.0.1";
+  by-spec."cookie-signature"."1.0.1" =
+    self.by-version."cookie-signature"."1.0.1";
+  by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-signature-1.0.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
+        name = "cookie-signature-1.0.1.tgz";
         sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.1" or []);
+      (self.nativeDeps."cookie-signature" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."cookie-signature"."1.0.3" =
+    self.by-version."cookie-signature"."1.0.3";
+  by-version."cookie-signature"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-signature-1.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
+        name = "cookie-signature-1.0.3.tgz";
+        sha1 = "91cd997cc51fb641595738c69cda020328f50ff9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cookiejar-1.3.0";
+  by-spec."cookiejar"."1.3.0" =
+    self.by-version."cookiejar"."1.3.0";
+  by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookiejar-1.3.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz";
+        name = "cookiejar-1.3.0.tgz";
         sha1 = "dd00b35679021e99cbd4e855b9ad041913474765";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookiejar"."1.3.0" or []);
+      (self.nativeDeps."cookiejar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
   };
-  full."cookies".">= 0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookies-0.3.6";
+  by-spec."cookies".">= 0.2.2" =
+    self.by-version."cookies"."0.4.0";
+  by-version."cookies"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookies-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cookies/-/cookies-0.3.6.tgz";
-        sha1 = "1b5e4bd66fc732ea2e8b5087a8fb3718b4ec8597";
+        url = "http://registry.npmjs.org/cookies/-/cookies-0.4.0.tgz";
+        name = "cookies-0.4.0.tgz";
+        sha1 = "c5d1f8b76217ed653135afe32bdad747c2fa9190";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookies".">= 0.2.2" or []);
+      (self.nativeDeps."cookies" or []);
     deps = [
+      self.by-version."keygrip"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookies" ];
   };
-  full."core-util-is"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "core-util-is-1.0.0";
+  by-spec."copy-paste"."~0.2.0" =
+    self.by-version."copy-paste"."0.2.0";
+  by-version."copy-paste"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-copy-paste-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.0.tgz";
-        sha1 = "740c74c400e72707b95cc75d509543f8ad7f83de";
+        url = "http://registry.npmjs.org/copy-paste/-/copy-paste-0.2.0.tgz";
+        name = "copy-paste-0.2.0.tgz";
+        sha1 = "6a83a3a073fc144adfa83cd03adb8db35953c424";
       })
     ];
     buildInputs =
-      (self.nativeDeps."core-util-is"."~1.0.0" or []);
+      (self.nativeDeps."copy-paste" or []);
     deps = [
+      self.by-version."execSync"."1.0.1-pre"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "core-util-is" ];
+    passthru.names = [ "copy-paste" ];
   };
-  full."couch-login"."~0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "couch-login-0.1.18";
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-core-util-is-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.18.tgz";
-        sha1 = "a69fa40dd43d1f98d97e560f18187a578a116056";
+        url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+        name = "core-util-is-1.0.1.tgz";
+        sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
       })
     ];
     buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.15" or []);
+      (self.nativeDeps."core-util-is" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "couch-login" ];
+    passthru.names = [ "core-util-is" ];
   };
-  full."couch-login"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "couch-login-0.1.18";
+  by-spec."couch-login"."~0.1.15" =
+    self.by-version."couch-login"."0.1.20";
+  by-version."couch-login"."0.1.20" = lib.makeOverridable self.buildNodePackage {
+    name = "node-couch-login-0.1.20";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.18.tgz";
-        sha1 = "a69fa40dd43d1f98d97e560f18187a578a116056";
+        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
+        name = "couch-login-0.1.20.tgz";
+        sha1 = "007c70ef80089dbae6f59eeeec37480799b39595";
       })
     ];
     buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.18" or []);
+      (self.nativeDeps."couch-login" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
+      self.by-version."request"."2.34.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
   };
-  full."coveralls"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "coveralls-2.3.0";
+  by-spec."coveralls"."*" =
+    self.by-version."coveralls"."2.10.0";
+  by-version."coveralls"."2.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "coveralls-2.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.3.0.tgz";
-        sha1 = "9eda569c115214acb7f58ca3a28401e866485144";
+        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.10.0.tgz";
+        name = "coveralls-2.10.0.tgz";
+        sha1 = "03f0c54070f30e0d336c79ef2b16a5c53728a7e5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coveralls"."*" or []);
+      (self.nativeDeps."coveralls" or []);
     deps = [
-      self.full."yaml"."0.2.3"
-      self.full."request"."2.16.2"
-      self.full."lcov-parse"."0.0.4"
-      self.full."log-driver"."1.2.1"
+      self.by-version."js-yaml"."3.0.1"
+      self.by-version."request"."2.16.2"
+      self.by-version."lcov-parse"."0.0.6"
+      self.by-version."log-driver"."1.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coveralls" ];
   };
-  "coveralls" = self.full."coveralls"."*";
-  full."crossroads"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "crossroads-0.12.0";
+  "coveralls" = self.by-version."coveralls"."2.10.0";
+  by-spec."crc"."0.2.0" =
+    self.by-version."crc"."0.2.0";
+  by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-crc-0.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
+        name = "crc-0.2.0.tgz";
+        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crc" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "crc" ];
+  };
+  by-spec."crossroads"."~0.12.0" =
+    self.by-version."crossroads"."0.12.0";
+  by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-crossroads-0.12.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crossroads/-/crossroads-0.12.0.tgz";
+        name = "crossroads-0.12.0.tgz";
         sha1 = "24114f9de3abfa0271df66b4ec56c3b984b7f56e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."crossroads"."~0.12.0" or []);
+      (self.nativeDeps."crossroads" or []);
     deps = [
-      self.full."signals"."<2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "crossroads" ];
   };
-  full."cryptiles"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "cryptiles-0.1.3";
+  by-spec."cryptiles"."0.1.x" =
+    self.by-version."cryptiles"."0.1.3";
+  by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cryptiles-0.1.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
+        name = "cryptiles-0.1.3.tgz";
         sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.1.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.3.x"
+      self.by-version."boom"."0.3.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."cryptiles"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "cryptiles-0.2.2";
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cryptiles-0.2.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        name = "cryptiles-0.2.2.tgz";
         sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.2.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.4.x"
+      self.by-version."boom"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."css"."~1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "css-1.0.8";
+  by-spec."crypto"."0.0.3" =
+    self.by-version."crypto"."0.0.3";
+  by-version."crypto"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-crypto-0.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
+        name = "crypto-0.0.3.tgz";
+        sha1 = "470a81b86be4c5ee17acc8207a1f5315ae20dbb0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crypto" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "crypto" ];
+  };
+  by-spec."crypto-browserify"."~1.0.9" =
+    self.by-version."crypto-browserify"."1.0.9";
+  by-version."crypto-browserify"."1.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-crypto-browserify-1.0.9";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz";
+        name = "crypto-browserify-1.0.9.tgz";
+        sha1 = "cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crypto-browserify" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "crypto-browserify" ];
+  };
+  by-spec."cscodegen"."git://github.com/michaelficarra/cscodegen.git#73fd7202ac086c26f18c9d56f025b18b3c6f5383" =
+    self.by-version."cscodegen"."0.1.0";
+  by-version."cscodegen"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "cscodegen-0.1.0";
+    src = [
+      (fetchgit {
+        url = "git://github.com/michaelficarra/cscodegen.git";
+        rev = "73fd7202ac086c26f18c9d56f025b18b3c6f5383";
+        sha256 = "cb527b00ac305ebc6ab3f59ff4e99def7646b417fdd9e35f0186c8ee41cd0829";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cscodegen" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cscodegen" ];
+  };
+  by-spec."css"."~1.0.8" =
+    self.by-version."css"."1.0.8";
+  by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-css-1.0.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
+        name = "css-1.0.8.tgz";
         sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."css"."~1.0.8" or []);
+      (self.nativeDeps."css" or []);
     deps = [
-      self.full."css-parse"."1.0.4"
-      self.full."css-stringify"."1.0.5"
+      self.by-version."css-parse"."1.0.4"
+      self.by-version."css-stringify"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css" ];
   };
-  full."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "css-parse-1.0.4";
+  by-spec."css-parse"."1.0.4" =
+    self.by-version."css-parse"."1.0.4";
+  by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-css-parse-1.0.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
+        name = "css-parse-1.0.4.tgz";
         sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-parse"."1.0.4" or []);
+      (self.nativeDeps."css-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
   };
-  full."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "css-stringify-1.0.5";
+  by-spec."css-parse"."1.7.x" =
+    self.by-version."css-parse"."1.7.0";
+  by-version."css-parse"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-css-parse-1.7.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
+        name = "css-parse-1.7.0.tgz";
+        sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."css-parse" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "css-parse" ];
+  };
+  by-spec."css-stringify"."1.0.5" =
+    self.by-version."css-stringify"."1.0.5";
+  by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-css-stringify-1.0.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+        name = "css-stringify-1.0.5.tgz";
         sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-stringify"."1.0.5" or []);
+      (self.nativeDeps."css-stringify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-stringify" ];
   };
-  full."cssom"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "cssom-0.2.5";
+  by-spec."csurf"."1.0.0" =
+    self.by-version."csurf"."1.0.0";
+  by-version."csurf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-csurf-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz";
-        sha1 = "2682709b5902e7212df529116ff788cd5b254894";
+        url = "http://registry.npmjs.org/csurf/-/csurf-1.0.0.tgz";
+        name = "csurf-1.0.0.tgz";
+        sha1 = "a68d5718b988032e270abf1f4b34f272753d745b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cssom"."0.2.x" or []);
+      (self.nativeDeps."csurf" or []);
     deps = [
+      self.by-version."uid2"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "cssom" ];
+    passthru.names = [ "csurf" ];
   };
-  full."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ctype-0.5.0";
+  by-spec."csurf"."1.1.0" =
+    self.by-version."csurf"."1.1.0";
+  by-version."csurf"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-csurf-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz";
+        name = "csurf-1.1.0.tgz";
+        sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."csurf" or []);
+    deps = [
+      self.by-version."uid2"."0.0.3"
+      self.by-version."scmp"."0.0.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "csurf" ];
+  };
+  by-spec."ctype"."0.5.0" =
+    self.by-version."ctype"."0.5.0";
+  by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ctype-0.5.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
+        name = "ctype-0.5.0.tgz";
         sha1 = "672673ec67587eb495c1ed694da1abb964ff65e3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.0" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ctype-0.5.2";
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ctype-0.5.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+        name = "ctype-0.5.2.tgz";
         sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.2" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."cycle"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "cycle-1.0.2";
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.3";
+  by-version."cycle"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cycle-1.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cycle/-/cycle-1.0.2.tgz";
-        sha1 = "269aca6f1b8d2baeefc8ccbc888b459f322c4e60";
+        url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+        name = "cycle-1.0.3.tgz";
+        sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cycle"."1.0.x" or []);
+      (self.nativeDeps."cycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cycle" ];
   };
-  full."dargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "dargs-0.1.0";
+  by-spec."dargs"."~0.1.0" =
+    self.by-version."dargs"."0.1.0";
+  by-version."dargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-dargs-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dargs/-/dargs-0.1.0.tgz";
+        name = "dargs-0.1.0.tgz";
         sha1 = "2364ad9f441f976dcd5fe9961e21715665a5e3c3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."dargs"."~0.1.0" or []);
+      (self.nativeDeps."dargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dargs" ];
   };
-  full."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "dateformat-1.0.2-1.2.3";
+  by-spec."dateformat"."1.0.2-1.2.3" =
+    self.by-version."dateformat"."1.0.2-1.2.3";
+  by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-dateformat-1.0.2-1.2.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
+        name = "dateformat-1.0.2-1.2.3.tgz";
         sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."1.0.2-1.2.3" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."dateformat"."~1.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "dateformat-1.0.6-1.2.3";
+  by-spec."dateformat"."~1.0.6" =
+    self.by-version."dateformat"."1.0.7-1.2.3";
+  by-version."dateformat"."1.0.7-1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-dateformat-1.0.7-1.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.6-1.2.3.tgz";
-        sha1 = "6b3de9f974f698d8b2d3ff9094bbaac8d696c16b";
+        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz";
+        name = "dateformat-1.0.7-1.2.3.tgz";
+        sha1 = "ebb561bb7214ee57a8dc2687adab1d555de9419c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."~1.0.6" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."debug"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug"."*" =
+    self.by-version."debug"."0.8.1";
+  by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-debug-0.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
+        name = "debug-0.8.1.tgz";
+        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."*" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.0";
+  by-spec."debug"."0.5.0" =
+    self.by-version."debug"."0.5.0";
+  by-version."debug"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-debug-0.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.0.tgz";
-        sha1 = "f5be05ec0434c992d79940e50b2695cfb2e01b08";
+        url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
+        name = "debug-0.5.0.tgz";
+        sha1 = "9d48c946fb7d7d59807ffe07822f515fd76d7a9e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."0.7.0" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug"."0.7.4" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-debug-0.7.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+        name = "debug-0.7.4.tgz";
+        sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."~0.7.0" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."~0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug".">= 0.7.3 < 1" =
+    self.by-version."debug"."0.8.1";
+  by-spec."debug"."~0.7.0" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.8" =
+    self.by-version."debug"."0.8.1";
+  by-spec."decompress"."^0.2.0" =
+    self.by-version."decompress"."0.2.3";
+  by-version."decompress"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "decompress-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/decompress/-/decompress-0.2.3.tgz";
+        name = "decompress-0.2.3.tgz";
+        sha1 = "ad471a0fc51b7193b72f60c9e040ce1a7a4b9fcc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."~0.7.2" or []);
+      (self.nativeDeps."decompress" or []);
     deps = [
+      self.by-version."adm-zip"."0.4.4"
+      self.by-version."extname"."0.1.2"
+      self.by-version."get-stdin"."0.1.0"
+      self.by-version."map-key"."0.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."stream-combiner"."0.0.4"
+      self.by-version."tar"."0.1.19"
+      self.by-version."tempfile"."0.1.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "debug" ];
+    passthru.names = [ "decompress" ];
   };
-  full."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "debuglog-0.0.2";
+  by-spec."decompress-zip"."~0.0.3" =
+    self.by-version."decompress-zip"."0.0.6";
+  by-version."decompress-zip"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "decompress-zip-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz";
-        sha1 = "83f4cd091f955f5da7053789727ad506f1010f1c";
+        url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.6.tgz";
+        name = "decompress-zip-0.0.6.tgz";
+        sha1 = "263ef05b304cdcd1172858af453561c53ae017bb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debuglog"."0.0.2" or []);
+      (self.nativeDeps."decompress-zip" or []);
     deps = [
+      self.by-version."q"."1.0.1"
+      self.by-version."mkpath"."0.1.0"
+      self.by-version."binary"."0.3.0"
+      self.by-version."touch"."0.0.2"
+      self.by-version."readable-stream"."1.1.13-1"
+      self.by-version."nopt"."2.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "debuglog" ];
+    passthru.names = [ "decompress-zip" ];
   };
-  full."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-eql-0.1.3";
+  by-spec."deep-eql"."0.1.3" =
+    self.by-version."deep-eql"."0.1.3";
+  by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-deep-eql-0.1.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
+        name = "deep-eql-0.1.3.tgz";
         sha1 = "ef558acab8de25206cd713906d74e56930eb69f2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-eql"."0.1.3" or []);
+      (self.nativeDeps."deep-eql" or []);
     deps = [
-      self.full."type-detect"."0.1.1"
+      self.by-version."type-detect"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-eql" ];
   };
-  full."deep-equal"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-equal-0.1.0";
+  by-spec."deep-equal"."*" =
+    self.by-version."deep-equal"."0.2.1";
+  by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-deep-equal-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.1.0.tgz";
-        sha1 = "81fcefc84551d9d67cccdd80e1fced7f355e146f";
+        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
+        name = "deep-equal-0.2.1.tgz";
+        sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."*" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-equal-0.0.0";
+  by-spec."deep-equal"."0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-deep-equal-0.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+        name = "deep-equal-0.0.0.tgz";
         sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."0.0.0" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-extend"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-extend-0.2.6";
+  by-spec."deep-equal"."~0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-spec."deep-equal"."~0.1.0" =
+    self.by-version."deep-equal"."0.1.2";
+  by-version."deep-equal"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-deep-equal-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
-        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
+        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz";
+        name = "deep-equal-0.1.2.tgz";
+        sha1 = "b246c2b80a570a47c11be1d9bd1070ec878b87ce";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.5" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "deep-extend" ];
+    passthru.names = [ "deep-equal" ];
   };
-  full."deep-extend"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-extend-0.2.6";
+  by-spec."deep-extend"."~0.2.5" =
+    self.by-version."deep-extend"."0.2.8";
+  by-version."deep-extend"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-deep-extend-0.2.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
-        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
+        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.8.tgz";
+        name = "deep-extend-0.2.8.tgz";
+        sha1 = "6d2893a805286e46d8243137c32fb991b50f4299";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.6" or []);
+      (self.nativeDeps."deep-extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-extend" ];
   };
-  full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "delayed-stream-0.0.5";
+  by-spec."deep-extend"."~0.2.8" =
+    self.by-version."deep-extend"."0.2.8";
+  by-spec."deepmerge"."*" =
+    self.by-version."deepmerge"."0.2.7";
+  by-version."deepmerge"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-deepmerge-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+        url = "http://registry.npmjs.org/deepmerge/-/deepmerge-0.2.7.tgz";
+        name = "deepmerge-0.2.7.tgz";
+        sha1 = "3a5ab8d37311c4d1aefb22209693afe0a91a0563";
       })
     ];
     buildInputs =
-      (self.nativeDeps."delayed-stream"."0.0.5" or []);
+      (self.nativeDeps."deepmerge" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "delayed-stream" ];
+    passthru.names = [ "deepmerge" ];
   };
-  full."di"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "di-0.0.1";
+  "deepmerge" = self.by-version."deepmerge"."0.2.7";
+  by-spec."defined"."~0.0.0" =
+    self.by-version."defined"."0.0.0";
+  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-defined-0.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz";
-        sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
+        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
+        name = "defined-0.0.0.tgz";
+        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."di"."~0.0.1" or []);
+      (self.nativeDeps."defined" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "di" ];
+    passthru.names = [ "defined" ];
   };
-  full."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-delayed-stream-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
+        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        name = "delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."1.0.7" or []);
+      (self.nativeDeps."delayed-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "diff" ];
+    passthru.names = [ "delayed-stream" ];
   };
-  full."diff"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
+  by-spec."deps-sort"."~0.1.1" =
+    self.by-version."deps-sort"."0.1.1";
+  by-version."deps-sort"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "deps-sort-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
+        url = "http://registry.npmjs.org/deps-sort/-/deps-sort-0.1.1.tgz";
+        name = "deps-sort-0.1.1.tgz";
+        sha1 = "940d9da1f84a3891c7218ad240ec5ed6084bc8d6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."~1.0.3" or []);
+      (self.nativeDeps."deps-sort" or []);
     deps = [
+      self.by-version."through"."2.3.4"
+      self.by-version."JSONStream"."0.6.4"
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "diff" ];
+    passthru.names = [ "deps-sort" ];
   };
-  full."diff"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
+  by-spec."derequire"."~0.8.0" =
+    self.by-version."derequire"."0.8.0";
+  by-version."derequire"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-derequire-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
+        url = "http://registry.npmjs.org/derequire/-/derequire-0.8.0.tgz";
+        name = "derequire-0.8.0.tgz";
+        sha1 = "c1f7f1da2cede44adede047378f03f444e9c4c0d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."~1.0.4" or []);
+      (self.nativeDeps."derequire" or []);
     deps = [
+      self.by-version."estraverse"."1.5.0"
+      self.by-version."esrefactor"."0.1.0"
+      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "diff" ];
+    passthru.names = [ "derequire" ];
   };
-  full."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "director-1.1.10";
+  by-spec."detective"."~3.1.0" =
+    self.by-version."detective"."3.1.0";
+  by-version."detective"."3.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-detective-3.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
-        sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
+        url = "http://registry.npmjs.org/detective/-/detective-3.1.0.tgz";
+        name = "detective-3.1.0.tgz";
+        sha1 = "77782444ab752b88ca1be2e9d0a0395f1da25eed";
       })
     ];
     buildInputs =
-      (self.nativeDeps."director"."1.1.10" or []);
+      (self.nativeDeps."detective" or []);
     deps = [
+      self.by-version."escodegen"."1.1.0"
+      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "director" ];
+    passthru.names = [ "detective" ];
   };
-  full."domelementtype"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "domelementtype-1.1.1";
+  by-spec."di"."~0.0.1" =
+    self.by-version."di"."0.0.1";
+  by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-di-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz";
-        sha1 = "7887acbda7614bb0a3dbe1b5e394f77a8ed297cf";
+        url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz";
+        name = "di-0.0.1.tgz";
+        sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."domelementtype"."1" or []);
+      (self.nativeDeps."di" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "domelementtype" ];
+    passthru.names = [ "di" ];
   };
-  full."domhandler"."2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "domhandler-2.0.3";
+  by-spec."diff"."1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-diff-1.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domhandler/-/domhandler-2.0.3.tgz";
-        sha1 = "889f8df626403af0788e29d66d5d5c6f7ebf0fd6";
+        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
+        name = "diff-1.0.7.tgz";
+        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."domhandler"."2.0" or []);
+      (self.nativeDeps."diff" or []);
     deps = [
-      self.full."domelementtype"."1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "domhandler" ];
+    passthru.names = [ "diff" ];
   };
-  full."domutils"."1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "domutils-1.0.1";
+  by-spec."diff"."~1.0.3" =
+    self.by-version."diff"."1.0.8";
+  by-version."diff"."1.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-diff-1.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domutils/-/domutils-1.0.1.tgz";
-        sha1 = "58b58d774774911556c16b8b02d99c609d987869";
+        url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
+        name = "diff-1.0.8.tgz";
+        sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.0" or []);
+      (self.nativeDeps."diff" or []);
     deps = [
-      self.full."domelementtype"."1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "domutils" ];
+    passthru.names = [ "diff" ];
   };
-  full."domutils"."1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "domutils-1.1.6";
+  by-spec."diff"."~1.0.4" =
+    self.by-version."diff"."1.0.8";
+  by-spec."diff"."~1.0.7" =
+    self.by-version."diff"."1.0.8";
+  by-spec."director"."1.1.10" =
+    self.by-version."director"."1.1.10";
+  by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
+    name = "node-director-1.1.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz";
-        sha1 = "bddc3de099b9a2efacc51c623f28f416ecc57485";
+        url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
+        name = "director-1.1.10.tgz";
+        sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.1" or []);
+      (self.nativeDeps."director" or []);
     deps = [
-      self.full."domelementtype"."1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "domutils" ];
+    passthru.names = [ "director" ];
   };
-  full."domutils"."1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "domutils-1.2.1";
+  by-spec."dkim-signer"."~0.1.0" =
+    self.by-version."dkim-signer"."0.1.0";
+  by-version."dkim-signer"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-dkim-signer-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domutils/-/domutils-1.2.1.tgz";
-        sha1 = "6ced9837e63d2c3a06eb46d1150f0058a13178d1";
+        url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.0.tgz";
+        name = "dkim-signer-0.1.0.tgz";
+        sha1 = "c57c29b238029fbb08622afc2729ad596bcb417b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.2" or []);
+      (self.nativeDeps."dkim-signer" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."punycode"."1.2.4"
+      self.by-version."mimelib"."0.2.14"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "domutils" ];
+    passthru.names = [ "dkim-signer" ];
   };
-  full."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "dtrace-provider-0.2.8";
+  by-spec."domain-browser"."~1.1.0" =
+    self.by-version."domain-browser"."1.1.1";
+  by-version."domain-browser"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domain-browser-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
-        sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
+        url = "http://registry.npmjs.org/domain-browser/-/domain-browser-1.1.1.tgz";
+        name = "domain-browser-1.1.1.tgz";
+        sha1 = "0123c1b9afe3bb7c8a9e856177b2059440957de0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."dtrace-provider"."0.2.8" or []);
+      (self.nativeDeps."domain-browser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "dtrace-provider" ];
+    passthru.names = [ "domain-browser" ];
   };
-  full."editor"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "editor-0.0.4";
+  by-spec."domelementtype"."1" =
+    self.by-version."domelementtype"."1.1.1";
+  by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domelementtype-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/editor/-/editor-0.0.4.tgz";
-        sha1 = "478920f77bca6c1c1749d5e3edde4bd5966efda8";
+        url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz";
+        name = "domelementtype-1.1.1.tgz";
+        sha1 = "7887acbda7614bb0a3dbe1b5e394f77a8ed297cf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."editor"."0.0.4" or []);
+      (self.nativeDeps."domelementtype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "editor" ];
+    passthru.names = [ "domelementtype" ];
   };
-  full."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "ejs-0.8.3";
+  by-spec."domhandler"."2.0" =
+    self.by-version."domhandler"."2.0.3";
+  by-version."domhandler"."2.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domhandler-2.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
-        sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
+        url = "http://registry.npmjs.org/domhandler/-/domhandler-2.0.3.tgz";
+        name = "domhandler-2.0.3.tgz";
+        sha1 = "889f8df626403af0788e29d66d5d5c6f7ebf0fd6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ejs"."0.8.3" or []);
+      (self.nativeDeps."domhandler" or []);
     deps = [
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ejs" ];
+    passthru.names = [ "domhandler" ];
   };
-  full."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "emitter-component-0.0.6";
+  by-spec."domhandler"."2.1" =
+    self.by-version."domhandler"."2.1.0";
+  by-version."domhandler"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domhandler-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/emitter-component/-/emitter-component-0.0.6.tgz";
-        sha1 = "c155d82f6d0c01b5bee856d58074a4cc59795bca";
+        url = "http://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz";
+        name = "domhandler-2.1.0.tgz";
+        sha1 = "d2646f5e57f6c3bab11cf6cb05d3c0acf7412594";
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."0.0.6" or []);
+      (self.nativeDeps."domhandler" or []);
     deps = [
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "emitter-component" ];
+    passthru.names = [ "domhandler" ];
   };
-  full."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "emitter-component-1.0.0";
+  by-spec."domhandler"."2.2" =
+    self.by-version."domhandler"."2.2.0";
+  by-version."domhandler"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domhandler-2.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz";
-        sha1 = "f04dd18fc3dc3e9a74cbc0f310b088666e4c016f";
+        url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz";
+        name = "domhandler-2.2.0.tgz";
+        sha1 = "ac9febfa988034b43f78ba056ebf7bd373416476";
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."1.0.0" or []);
+      (self.nativeDeps."domhandler" or []);
     deps = [
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "emitter-component" ];
+    passthru.names = [ "domhandler" ];
   };
-  full."encoding"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "encoding-0.1.7";
+  by-spec."domutils"."1.1" =
+    self.by-version."domutils"."1.1.6";
+  by-version."domutils"."1.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domutils-1.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/encoding/-/encoding-0.1.7.tgz";
-        sha1 = "25cc19b34e9225d120c2ea769f9136c91cecc908";
+        url = "http://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz";
+        name = "domutils-1.1.6.tgz";
+        sha1 = "bddc3de099b9a2efacc51c623f28f416ecc57485";
       })
     ];
     buildInputs =
-      (self.nativeDeps."encoding"."~0.1" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "encoding" ];
+    passthru.names = [ "domutils" ];
   };
-  full."entities"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "entities-0.3.0";
+  by-spec."domutils"."1.3" =
+    self.by-version."domutils"."1.3.0";
+  by-version."domutils"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domutils-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/entities/-/entities-0.3.0.tgz";
-        sha1 = "6ccead6010fee0c5a06f538d242792485cbfa256";
+        url = "http://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz";
+        name = "domutils-1.3.0.tgz";
+        sha1 = "9ad4d59b5af6ca684c62fe6d768ef170e70df192";
       })
     ];
     buildInputs =
-      (self.nativeDeps."entities"."0.x" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "entities" ];
+    passthru.names = [ "domutils" ];
   };
-  full."es5-ext"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "es5-ext-0.9.2";
+  by-spec."domutils"."1.4" =
+    self.by-version."domutils"."1.4.3";
+  by-version."domutils"."1.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-domutils-1.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz";
-        sha1 = "d2e309d1f223b0718648835acf5b8823a8061f8a";
+        url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
+        name = "domutils-1.4.3.tgz";
+        sha1 = "0865513796c6b306031850e175516baf80b72a6f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."es5-ext"."~0.9.2" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "es5-ext" ];
+    passthru.names = [ "domutils" ];
   };
-  full."escape-html"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "escape-html-1.0.0";
+  by-spec."download"."~0.1.6" =
+    self.by-version."download"."0.1.16";
+  by-version."download"."0.1.16" = lib.makeOverridable self.buildNodePackage {
+    name = "download-0.1.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.0.tgz";
-        sha1 = "fedcd79564444ddaf2bd85b22c9961b3a3a38bf5";
+        url = "http://registry.npmjs.org/download/-/download-0.1.16.tgz";
+        name = "download-0.1.16.tgz";
+        sha1 = "46783e7f590d1c0d49eb1915ab8941c74cb45e99";
       })
     ];
     buildInputs =
-      (self.nativeDeps."escape-html"."*" or []);
+      (self.nativeDeps."download" or []);
     deps = [
+      self.by-version."decompress"."0.2.3"
+      self.by-version."each-async"."0.1.2"
+      self.by-version."get-stdin"."0.1.0"
+      self.by-version."get-urls"."0.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."request"."2.34.0"
+      self.by-version."through2"."0.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "escape-html" ];
+    passthru.names = [ "download" ];
   };
-  "escape-html" = self.full."escape-html"."*";
-  full."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
-    name = "escodegen-0.0.23";
+  by-spec."dox"."~0.4.4" =
+    self.by-version."dox"."0.4.4";
+  by-version."dox"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "dox-0.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.23.tgz";
-        sha1 = "9acf978164368e42276571f18839c823b3a844df";
+        url = "http://registry.npmjs.org/dox/-/dox-0.4.4.tgz";
+        name = "dox-0.4.4.tgz";
+        sha1 = "4f898abbb88cd879c7c49a4973abc95b7f384823";
       })
     ];
     buildInputs =
-      (self.nativeDeps."escodegen"."0.0.23" or []);
+      (self.nativeDeps."dox" or []);
     deps = [
-      self.full."esprima"."~1.0.2"
-      self.full."estraverse"."~0.0.4"
-      self.full."source-map".">= 0.1.2"
+      self.by-version."github-flavored-markdown"."1.0.1"
+      self.by-version."commander"."0.6.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "escodegen" ];
+    passthru.names = [ "dox" ];
   };
-  full."esprima"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."dtrace-provider"."0.2.8" =
+    self.by-version."dtrace-provider"."0.2.8";
+  by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-dtrace-provider-0.2.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
+        name = "dtrace-provider-0.2.8.tgz";
+        sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."1.0.x" or []);
+      (self.nativeDeps."dtrace-provider" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "dtrace-provider" ];
   };
-  full."esprima"."~ 1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."duplexer"."~0.1.1" =
+    self.by-version."duplexer"."0.1.1";
+  by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-duplexer-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+        name = "duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~ 1.0.2" or []);
+      (self.nativeDeps."duplexer" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "duplexer" ];
   };
-  full."esprima"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."each-async"."^0.1.1" =
+    self.by-version."each-async"."0.1.2";
+  by-version."each-async"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-each-async-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/each-async/-/each-async-0.1.2.tgz";
+        name = "each-async-0.1.2.tgz";
+        sha1 = "d5b900bd92705ed5b8cad3307a6536adb0f134c6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~1.0.0" or []);
+      (self.nativeDeps."each-async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "each-async" ];
   };
-  full."esprima"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."editor"."0.0.5" =
+    self.by-version."editor"."0.0.5";
+  by-version."editor"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-editor-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/editor/-/editor-0.0.5.tgz";
+        name = "editor-0.0.5.tgz";
+        sha1 = "8c38877781f2547011c1aeffdbe50cafcc59794a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~1.0.2" or []);
+      (self.nativeDeps."editor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "editor" ];
   };
-  full."estraverse"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "estraverse-0.0.4";
+  by-spec."ejs"."0.8.3" =
+    self.by-version."ejs"."0.8.3";
+  by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ejs-0.8.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz";
-        sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
+        url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
+        name = "ejs-0.8.3.tgz";
+        sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."estraverse"."~0.0.4" or []);
+      (self.nativeDeps."ejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "estraverse" ];
+    passthru.names = [ "ejs" ];
   };
-  full."event-emitter"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "event-emitter-0.2.2";
+  by-spec."emitter-component"."0.0.6" =
+    self.by-version."emitter-component"."0.0.6";
+  by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-emitter-component-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz";
-        sha1 = "c81e3724eb55407c5a0d5ee3299411f700f54291";
+        url = "http://registry.npmjs.org/emitter-component/-/emitter-component-0.0.6.tgz";
+        name = "emitter-component-0.0.6.tgz";
+        sha1 = "c155d82f6d0c01b5bee856d58074a4cc59795bca";
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-emitter"."~0.2.2" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "event-emitter" ];
+    passthru.names = [ "emitter-component" ];
   };
-  full."event-stream"."~0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "event-stream-0.5.3";
+  by-spec."emitter-component"."1.0.0" =
+    self.by-version."emitter-component"."1.0.0";
+  by-version."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-emitter-component-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
-        sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
+        url = "http://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz";
+        name = "emitter-component-1.0.0.tgz";
+        sha1 = "f04dd18fc3dc3e9a74cbc0f310b088666e4c016f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-stream"."~0.5" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
-      self.full."optimist"."0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "event-stream" ];
+    passthru.names = [ "emitter-component" ];
   };
-  full."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
-    name = "eventemitter2-0.4.11";
+  by-spec."encoding"."~0.1" =
+    self.by-version."encoding"."0.1.7";
+  by-version."encoding"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-encoding-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz";
-        sha1 = "8bbf2b6ac7b31e2eea0c8d8f533ef41f849a9e2c";
+        url = "http://registry.npmjs.org/encoding/-/encoding-0.1.7.tgz";
+        name = "encoding-0.1.7.tgz";
+        sha1 = "25cc19b34e9225d120c2ea769f9136c91cecc908";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."0.4.11" or []);
+      (self.nativeDeps."encoding" or []);
     deps = [
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "eventemitter2" ];
+    passthru.names = [ "encoding" ];
   };
-  full."eventemitter2"."~0.4.11" = lib.makeOverridable self.buildNodePackage {
-    name = "eventemitter2-0.4.13";
+  by-spec."entities"."0.x" =
+    self.by-version."entities"."0.5.0";
+  by-version."entities"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-entities-0.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz";
-        sha1 = "0a8ab97f9c1b563361b8927f9e80606277509153";
+        url = "http://registry.npmjs.org/entities/-/entities-0.5.0.tgz";
+        name = "entities-0.5.0.tgz";
+        sha1 = "f611cb5ae221050e0012c66979503fd7ae19cc49";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.11" or []);
+      (self.nativeDeps."entities" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "eventemitter2" ];
+    passthru.names = [ "entities" ];
   };
-  full."eventemitter2"."~0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "eventemitter2-0.4.13";
+  by-spec."envify"."~1.2.0" =
+    self.by-version."envify"."1.2.1";
+  by-version."envify"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "envify-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz";
-        sha1 = "0a8ab97f9c1b563361b8927f9e80606277509153";
+        url = "http://registry.npmjs.org/envify/-/envify-1.2.1.tgz";
+        name = "envify-1.2.1.tgz";
+        sha1 = "ac34e3676f9035d59518fef57d9914a24a18767a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.9" or []);
+      (self.nativeDeps."envify" or []);
     deps = [
+      self.by-version."xtend"."2.1.2"
+      self.by-version."through"."2.3.4"
+      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
+      self.by-version."jstransform"."3.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "eventemitter2" ];
+    passthru.names = [ "envify" ];
   };
-  full."events.node".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "events.node-0.4.9";
+  by-spec."errorhandler"."1.0.0" =
+    self.by-version."errorhandler"."1.0.0";
+  by-version."errorhandler"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-errorhandler-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
-        sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
+        url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.0.0.tgz";
+        name = "errorhandler-1.0.0.tgz";
+        sha1 = "d74b37e8dc38c99afb3f5a79edcebaea022d042a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."events.node".">= 0.4.0" or []);
+      (self.nativeDeps."errorhandler" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "events.node" ];
+    passthru.names = [ "errorhandler" ];
   };
-  full."express"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."es5-ext"."~0.9.2" =
+    self.by-version."es5-ext"."0.9.2";
+  by-version."es5-ext"."0.9.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-es5-ext-0.9.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz";
+        name = "es5-ext-0.9.2.tgz";
+        sha1 = "d2e309d1f223b0718648835acf5b8823a8061f8a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."*" or []);
+      (self.nativeDeps."es5-ext" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "es5-ext" ];
   };
-  "express" = self.full."express"."*";
-  full."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
-    name = "express-2.5.11";
+  by-spec."escape-html"."*" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-escape-html-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
-        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
+        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        name = "escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."2.5.11" or []);
+      (self.nativeDeps."escape-html" or []);
     deps = [
-      self.full."connect"."1.x"
-      self.full."mime"."1.2.4"
-      self.full."qs"."0.4.x"
-      self.full."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "escape-html" ];
   };
-  full."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.2.0";
+  "escape-html" = self.by-version."escape-html"."1.0.1";
+  by-spec."escape-html"."1.0.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-spec."escodegen"."1.3.x" =
+    self.by-version."escodegen"."1.3.2";
+  by-version."escodegen"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
-        sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.2.tgz";
+        name = "escodegen-1.3.2.tgz";
+        sha1 = "bb0f434dbd594f2060639a79b4b06259dd5372de";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.2.0" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
-      self.full."connect"."2.7.6"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."esutils"."1.0.0"
+      self.by-version."estraverse"."1.5.0"
+      self.by-version."esprima"."1.1.1"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "escodegen" ];
   };
-  full."express"."3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.2.6";
+  by-spec."escodegen"."~ 0.0.28" =
+    self.by-version."escodegen"."0.0.28";
+  by-version."escodegen"."0.0.28" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-0.0.28";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.6.tgz";
-        sha1 = "d8a9fe065adc23c5b41ec2c689c672b261430ffc";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz";
+        name = "escodegen-0.0.28.tgz";
+        sha1 = "0e4ff1715f328775d6cab51ac44a406cd7abffd3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.2.6" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
-      self.full."connect"."2.7.11"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.4"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."1.3.2"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "escodegen" ];
   };
-  full."express"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."escodegen"."~0.0.24" =
+    self.by-version."escodegen"."0.0.28";
+  by-spec."escodegen"."~1.1.0" =
+    self.by-version."escodegen"."1.1.0";
+  by-version."escodegen"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz";
+        name = "escodegen-1.1.0.tgz";
+        sha1 = "c663923f6e20aad48d0c0fa49f31c6d4f49360cf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.x" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."1.5.0"
+      self.by-version."esutils"."1.0.0"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "escodegen" ];
   };
-  full."express"."~3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.1.2";
+  by-spec."escope"."~ 1.0.0" =
+    self.by-version."escope"."1.0.1";
+  by-version."escope"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-escope-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
-        sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
+        url = "http://registry.npmjs.org/escope/-/escope-1.0.1.tgz";
+        name = "escope-1.0.1.tgz";
+        sha1 = "59b04cdccb76555608499ed13502b9028fe73dd8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."~3.1.1" or []);
+      (self.nativeDeps."escope" or []);
     deps = [
-      self.full."connect"."2.7.5"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.0"
-      self.full."debug"."*"
+      self.by-version."estraverse"."1.5.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "escope" ];
   };
-  full."express"."~3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."escope"."~0.0.13" =
+    self.by-version."escope"."0.0.16";
+  by-version."escope"."0.0.16" = lib.makeOverridable self.buildNodePackage {
+    name = "node-escope-0.0.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/escope/-/escope-0.0.16.tgz";
+        name = "escope-0.0.16.tgz";
+        sha1 = "418c7a0afca721dafe659193fd986283e746538f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."~3.4" or []);
+      (self.nativeDeps."escope" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."estraverse"."1.5.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "escope" ];
   };
-  full."express-form"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-form-0.8.1";
+  by-spec."esmangle"."~0.0.8" =
+    self.by-version."esmangle"."0.0.17";
+  by-version."esmangle"."0.0.17" = lib.makeOverridable self.buildNodePackage {
+    name = "esmangle-0.0.17";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-form/-/express-form-0.8.1.tgz";
-        sha1 = "14299158646a796fac584cb5980d63e587c02019";
+        url = "http://registry.npmjs.org/esmangle/-/esmangle-0.0.17.tgz";
+        name = "esmangle-0.0.17.tgz";
+        sha1 = "4c5c93607cde5d1276bad396e836229dba68d90c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-form"."*" or []);
+      (self.nativeDeps."esmangle" or []);
     deps = [
-      self.full."validator"."0.4.x"
-      self.full."object-additions".">= 0.5.0"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."escope"."1.0.1"
+      self.by-version."escodegen"."0.0.28"
+      self.by-version."estraverse"."1.3.2"
+      self.by-version."source-map"."0.1.33"
+      self.by-version."esshorten"."0.0.2"
+      self.by-version."optimist"."0.6.1"
     ];
     peerDependencies = [
-      self.full."express"."3.x"
     ];
-    passthru.names = [ "express-form" ];
+    passthru.names = [ "esmangle" ];
   };
-  "express-form" = self.full."express-form"."*";
-  full."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "express-partials-0.0.6";
+  by-spec."esprima"."1.1.x" =
+    self.by-version."esprima"."1.1.1";
+  by-version."esprima"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "esprima-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
-        sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
+        url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
+        name = "esprima-1.1.1.tgz";
+        sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-partials"."0.0.6" or []);
+      (self.nativeDeps."esprima" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express-partials" ];
+    passthru.names = [ "esprima" ];
   };
-  full."extend"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "extend-1.2.1";
+  by-spec."esprima"."~ 1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "esprima-1.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
-        sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
+        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+        name = "esprima-1.0.4.tgz";
+        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
       })
     ];
     buildInputs =
-      (self.nativeDeps."extend"."*" or []);
+      (self.nativeDeps."esprima" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "extend" ];
+    passthru.names = [ "esprima" ];
   };
-  "extend" = self.full."extend"."*";
-  full."extract-opts"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "extract-opts-2.2.0";
+  by-spec."esprima"."~1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.4" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.1.1" =
+    self.by-version."esprima"."1.1.1";
+  by-spec."esprima-fb"."3001.1.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+  by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = lib.makeOverridable self.buildNodePackage {
+    name = "esprima-fb-3001.1.0-dev-harmony-fb";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
-        sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
+        url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz";
+        name = "esprima-fb-3001.1.0-dev-harmony-fb.tgz";
+        sha1 = "b77d37abcd38ea0b77426bb8bc2922ce6b426411";
       })
     ];
     buildInputs =
-      (self.nativeDeps."extract-opts"."~2.2.0" or []);
+      (self.nativeDeps."esprima-fb" or []);
     deps = [
-      self.full."typechecker"."~2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "extract-opts" ];
+    passthru.names = [ "esprima-fb" ];
   };
-  full."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "extsprintf-1.0.0";
+  by-spec."esprima-fb"."^3001.1.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+  by-spec."esprima-fb"."~3001.1.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+  by-spec."esrefactor"."~0.1.0" =
+    self.by-version."esrefactor"."0.1.0";
+  by-version."esrefactor"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-esrefactor-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
-        sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
+        url = "http://registry.npmjs.org/esrefactor/-/esrefactor-0.1.0.tgz";
+        name = "esrefactor-0.1.0.tgz";
+        sha1 = "d142795a282339ab81e936b5b7a21b11bf197b13";
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.0" or []);
+      (self.nativeDeps."esrefactor" or []);
     deps = [
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."0.0.4"
+      self.by-version."escope"."0.0.16"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "extsprintf" ];
+    passthru.names = [ "esrefactor" ];
   };
-  full."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "extsprintf-1.0.2";
+  by-spec."esshorten"."~ 0.0.2" =
+    self.by-version."esshorten"."0.0.2";
+  by-version."esshorten"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-esshorten-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
-        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+        url = "http://registry.npmjs.org/esshorten/-/esshorten-0.0.2.tgz";
+        name = "esshorten-0.0.2.tgz";
+        sha1 = "28a652f1efd40c8e227f8c6de7dbe6b560ee8129";
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.2" or []);
+      (self.nativeDeps."esshorten" or []);
     deps = [
+      self.by-version."escope"."1.0.1"
+      self.by-version."estraverse"."1.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "extsprintf" ];
+    passthru.names = [ "esshorten" ];
   };
-  full."eyes"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "eyes-0.1.8";
+  by-spec."estraverse".">= 0.0.2" =
+    self.by-version."estraverse"."1.5.0";
+  by-version."estraverse"."1.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-estraverse-1.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.0.tgz";
+        name = "estraverse-1.5.0.tgz";
+        sha1 = "248ec3f0d4bf39a940109c92a05ceb56d59e53ee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eyes"."0.1.x" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "eyes" ];
+    passthru.names = [ "estraverse" ];
   };
-  full."eyes".">=0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "eyes-0.1.8";
+  by-spec."estraverse"."~ 1.2.0" =
+    self.by-version."estraverse"."1.2.0";
+  by-version."estraverse"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-estraverse-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.2.0.tgz";
+        name = "estraverse-1.2.0.tgz";
+        sha1 = "6a3dc8a46a5d6766e5668639fc782976ce5660fd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eyes".">=0.1.6" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "eyes" ];
+    passthru.names = [ "estraverse" ];
   };
-  full."faye-websocket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "faye-websocket-0.7.0";
+  by-spec."estraverse"."~ 1.3.2" =
+    self.by-version."estraverse"."1.3.2";
+  by-version."estraverse"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-estraverse-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz";
-        sha1 = "c16c50ec0d483357a8eafd1ec6fcc313d027f5be";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz";
+        name = "estraverse-1.3.2.tgz";
+        sha1 = "37c2b893ef13d723f276d878d60d8535152a6c42";
       })
     ];
     buildInputs =
-      (self.nativeDeps."faye-websocket"."*" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
-      self.full."websocket-driver".">=0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "faye-websocket" ];
+    passthru.names = [ "estraverse" ];
   };
-  "faye-websocket" = self.full."faye-websocket"."*";
-  full."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "faye-websocket-0.7.0";
+  by-spec."estraverse"."~0.0.4" =
+    self.by-version."estraverse"."0.0.4";
+  by-version."estraverse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-estraverse-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz";
-        sha1 = "c16c50ec0d483357a8eafd1ec6fcc313d027f5be";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz";
+        name = "estraverse-0.0.4.tgz";
+        sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."faye-websocket"."0.7.0" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
-      self.full."websocket-driver".">=0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "faye-websocket" ];
+    passthru.names = [ "estraverse" ];
   };
-  full."fileset"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "fileset-0.1.5";
+  by-spec."estraverse"."~1.3.0" =
+    self.by-version."estraverse"."1.3.2";
+  by-spec."estraverse"."~1.5.0" =
+    self.by-version."estraverse"."1.5.0";
+  by-spec."esutils"."~1.0.0" =
+    self.by-version."esutils"."1.0.0";
+  by-version."esutils"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-esutils-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
-        sha1 = "acc423bfaf92843385c66bf75822264d11b7bd94";
+        url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
+        name = "esutils-1.0.0.tgz";
+        sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fileset"."0.1.x" or []);
+      (self.nativeDeps."esutils" or []);
     deps = [
-      self.full."minimatch"."0.x"
-      self.full."glob"."3.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fileset" ];
+    passthru.names = [ "esutils" ];
   };
-  full."findup-sync"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "findup-sync-0.1.2";
+  by-spec."event-emitter"."~0.2.2" =
+    self.by-version."event-emitter"."0.2.2";
+  by-version."event-emitter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-event-emitter-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz";
-        sha1 = "da2b96ca9f800e5a13d0a11110f490b65f62e96d";
+        url = "http://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz";
+        name = "event-emitter-0.2.2.tgz";
+        sha1 = "c81e3724eb55407c5a0d5ee3299411f700f54291";
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.0" or []);
+      (self.nativeDeps."event-emitter" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
+      self.by-version."es5-ext"."0.9.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "findup-sync" ];
+    passthru.names = [ "event-emitter" ];
   };
-  full."findup-sync"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "findup-sync-0.1.2";
+  by-spec."event-stream"."~0.5" =
+    self.by-version."event-stream"."0.5.3";
+  by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-event-stream-0.5.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz";
-        sha1 = "da2b96ca9f800e5a13d0a11110f490b65f62e96d";
+        url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
+        name = "event-stream-0.5.3.tgz";
+        sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.2" or []);
+      (self.nativeDeps."event-stream" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
+      self.by-version."optimist"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "findup-sync" ];
+    passthru.names = [ "event-stream" ];
   };
-  full."flatiron"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "flatiron-0.3.8";
+  by-spec."eventemitter2"."0.4.12" =
+    self.by-version."eventemitter2"."0.4.12";
+  by-version."eventemitter2"."0.4.12" = lib.makeOverridable self.buildNodePackage {
+    name = "node-eventemitter2-0.4.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.8.tgz";
-        sha1 = "235d691f19154eff033610c12bcd51f304ff09c6";
+        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
+        name = "eventemitter2-0.4.12.tgz";
+        sha1 = "6cf14249fdc8799be7416e871e73fd2bb89e35e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."*" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.11"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "flatiron" ];
+    passthru.names = [ "eventemitter2" ];
   };
-  "flatiron" = self.full."flatiron"."*";
-  full."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "flatiron-0.3.5";
+  by-spec."eventemitter2"."~0.4.11" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-version."eventemitter2"."0.4.13" = lib.makeOverridable self.buildNodePackage {
+    name = "node-eventemitter2-0.4.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.5.tgz";
-        sha1 = "a91fe730f6a7fc1ea655a0ca48eaa977bef64625";
+        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz";
+        name = "eventemitter2-0.4.13.tgz";
+        sha1 = "0a8ab97f9c1b563361b8927f9e80606277509153";
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."0.3.5" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.9"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "flatiron" ];
+    passthru.names = [ "eventemitter2" ];
   };
-  full."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "follow-redirects-0.0.3";
+  by-spec."eventemitter2"."~0.4.13" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-spec."events"."~1.0.0" =
+    self.by-version."events"."1.0.0";
+  by-version."events"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-events-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
-        sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
+        url = "http://registry.npmjs.org/events/-/events-1.0.0.tgz";
+        name = "events-1.0.0.tgz";
+        sha1 = "63c0f80c74d1435e8eb03b54306a9d8e8f6f9da0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."follow-redirects"."0.0.3" or []);
+      (self.nativeDeps."events" or []);
     deps = [
-      self.full."underscore"."*"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "follow-redirects" ];
+    passthru.names = [ "events" ];
   };
-  full."forEachAsync"."~2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "forEachAsync-2.2.0";
+  by-spec."events.node".">= 0.4.0" =
+    self.by-version."events.node"."0.4.9";
+  by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-events.node-0.4.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.0.tgz";
-        sha1 = "093b32ce868cb69f5166dcf331fae074adc71cee";
+        url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
+        name = "events.node-0.4.9.tgz";
+        sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forEachAsync"."~2.2" or []);
+      (self.nativeDeps."events.node" or []);
     deps = [
-      self.full."sequence".">= 2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forEachAsync" ];
+    passthru.names = [ "events.node" ];
   };
-  full."forever"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-0.10.9";
+  by-spec."everyauth"."0.4.5" =
+    self.by-version."everyauth"."0.4.5";
+  by-version."everyauth"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-everyauth-0.4.5";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever/-/forever-0.10.9.tgz";
-        sha1 = "e4849f459ec27d5a6524fd466e67dfd6222bd9bb";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
+        name = "everyauth-0.4.5.tgz";
+        sha1 = "282d358439d91c30fb4aa2320dc362edac7dd189";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever"."*" or []);
+      (self.nativeDeps."everyauth" or []);
     deps = [
-      self.full."colors"."0.6.0-1"
-      self.full."cliff"."0.1.8"
-      self.full."flatiron"."0.3.5"
-      self.full."forever-monitor"."1.2.3"
-      self.full."nconf"."0.6.7"
-      self.full."nssocket"."~0.5.1"
-      self.full."optimist"."0.4.0"
-      self.full."pkginfo"."0.3.0"
-      self.full."timespan"."2.0.1"
-      self.full."watch"."0.7.0"
-      self.full."utile"."0.1.7"
-      self.full."winston"."0.7.1"
+      self.by-version."oauth"."0.9.11"
+      self.by-version."request"."2.9.203"
+      self.by-version."connect"."2.3.9"
+      self.by-version."openid"."0.5.8"
+      self.by-version."xml2js"."0.4.2"
+      self.by-version."node-swt"."0.1.1"
+      self.by-version."node-wsfederation"."0.1.1"
+      self.by-version."debug"."0.5.0"
+      self.by-version."express"."3.5.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forever" ];
+    passthru.names = [ "everyauth" ];
   };
-  "forever" = self.full."forever"."*";
-  full."forever-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-agent-0.2.0";
+  by-spec."execSync"."~1.0.0" =
+    self.by-version."execSync"."1.0.1-pre";
+  by-version."execSync"."1.0.1-pre" = lib.makeOverridable self.buildNodePackage {
+    name = "node-execSync-1.0.1-pre";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
-        sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
+        url = "http://registry.npmjs.org/execSync/-/execSync-1.0.1-pre.tgz";
+        name = "execSync-1.0.1-pre.tgz";
+        sha1 = "8fa8deb748eecdafe61feea49921bb9b7a410d1e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.2.0" or []);
+      (self.nativeDeps."execSync" or []);
     deps = [
+      self.by-version."temp"."0.5.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forever-agent" ];
+    passthru.names = [ "execSync" ];
   };
-  full."forever-agent"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-agent-0.5.0";
+  by-spec."exit"."0.1.x" =
+    self.by-version."exit"."0.1.2";
+  by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-exit-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.0.tgz";
-        sha1 = "0c1647a74f3af12d76a07a99490ade7c7249c8f0";
+        url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+        name = "exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.5.0" or []);
+      (self.nativeDeps."exit" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forever-agent" ];
+    passthru.names = [ "exit" ];
   };
-  full."forever-monitor"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.2.3";
+  by-spec."exit"."~0.1.1" =
+    self.by-version."exit"."0.1.2";
+  by-spec."express"."*" =
+    self.by-version."express"."4.0.0";
+  by-version."express"."4.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-4.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
-        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
+        url = "http://registry.npmjs.org/express/-/express-4.0.0.tgz";
+        name = "express-4.0.0.tgz";
+        sha1 = "274dc82933c9f574cc38a0ce5ea8172be9c6b094";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."*" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."parseurl"."1.0.1"
+      self.by-version."accepts"."1.0.0"
+      self.by-version."type-is"."1.0.0"
+      self.by-version."range-parser"."1.0.0"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.2"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.2.0"
+      self.by-version."cookie-signature"."1.0.3"
+      self.by-version."merge-descriptors"."0.0.2"
+      self.by-version."utils-merge"."1.0.0"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."qs"."0.6.6"
+      self.by-version."serve-static"."1.0.1"
+      self.by-version."path-to-regexp"."0.1.2"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forever-monitor" ];
+    passthru.names = [ "express" ];
   };
-  "forever-monitor" = self.full."forever-monitor"."*";
-  full."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.1.0";
+  "express" = self.by-version."express"."4.0.0";
+  by-spec."express"."2.5.11" =
+    self.by-version."express"."2.5.11";
+  by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
+    name = "express-2.5.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
-        sha1 = "439ce036f999601cff551aea7f5151001a869ef9";
+        url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
+        name = "express-2.5.11.tgz";
+        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."1.1.0" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.0.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."connect"."1.9.2"
+      self.by-version."mime"."1.2.4"
+      self.by-version."qs"."0.4.2"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forever-monitor" ];
+    passthru.names = [ "express" ];
   };
-  full."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.2.3";
+  by-spec."express"."3.2.0" =
+    self.by-version."express"."3.2.0";
+  by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
-        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
+        url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
+        name = "express-3.2.0.tgz";
+        sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."1.2.3" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."connect"."2.7.6"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "forever-monitor" ];
+    passthru.names = [ "express" ];
   };
-  full."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.0.8";
+  by-spec."express"."3.4.4" =
+    self.by-version."express"."3.4.4";
+  by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.0.8.tgz";
-        sha1 = "0890cd1005c5ccecc0b9d24a88052c92442d0db5";
+        url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
+        name = "express-3.4.4.tgz";
+        sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."0.0.8" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."connect"."2.11.0"
+      self.by-version."commander"."1.3.2"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "form-data" ];
+    passthru.names = [ "express" ];
   };
-  full."form-data"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.0.10";
+  by-spec."express"."3.x" =
+    self.by-version."express"."3.5.1";
+  by-version."express"."3.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
-        sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
+        url = "http://registry.npmjs.org/express/-/express-3.5.1.tgz";
+        name = "express-3.5.1.tgz";
+        sha1 = "4b333e1117faca336a538f4c724140b9ce1a87e7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.0.3" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."connect"."2.14.1"
+      self.by-version."commander"."1.3.2"
+      self.by-version."range-parser"."1.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.1.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.2"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.2.0"
+      self.by-version."cookie-signature"."1.0.3"
+      self.by-version."merge-descriptors"."0.0.2"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "form-data" ];
+    passthru.names = [ "express" ];
   };
-  full."form-data"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.1.2";
+  by-spec."express".">=3.0.0" =
+    self.by-version."express"."4.0.0";
+  by-spec."express"."~3.1.1" =
+    self.by-version."express"."3.1.2";
+  by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
-        sha1 = "1143c21357911a78dd7913b189b4bab5d5d57445";
+        url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
+        name = "express-3.1.2.tgz";
+        sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.1.0" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.11"
-      self.full."async"."~0.2.9"
+      self.by-version."connect"."2.7.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."debug"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "form-data" ];
+    passthru.names = [ "express" ];
   };
-  full."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.11";
+  by-spec."express"."~3.5" =
+    self.by-version."express"."3.5.1";
+  by-spec."express"."~4.0.0-rc4" =
+    self.by-version."express"."4.0.0";
+  by-spec."express-form"."*" =
+    self.by-version."express-form"."0.12.2";
+  by-version."express-form"."0.12.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-form-0.12.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
-        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+        url = "http://registry.npmjs.org/express-form/-/express-form-0.12.2.tgz";
+        name = "express-form-0.12.2.tgz";
+        sha1 = "c23ed4f233df09a1c61bcc698b8e4089dda54c1a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.11" or []);
+      (self.nativeDeps."express-form" or []);
     deps = [
+      self.by-version."validator"."0.4.28"
+      self.by-version."object-additions"."0.5.1"
+      self.by-version."async"."0.2.10"
     ];
     peerDependencies = [
+      self.by-version."express"."4.0.0"
     ];
-    passthru.names = [ "formidable" ];
+    passthru.names = [ "express-form" ];
   };
-  full."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.13";
+  "express-form" = self.by-version."express-form"."0.12.2";
+  by-spec."express-partials"."0.0.6" =
+    self.by-version."express-partials"."0.0.6";
+  by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-partials-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
-        sha1 = "70caf0f9d69692a77e04021ddab4f46b01c82aea";
+        url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
+        name = "express-partials-0.0.6.tgz";
+        sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.13" or []);
+      (self.nativeDeps."express-partials" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "formidable" ];
+    passthru.names = [ "express-partials" ];
   };
-  full."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.14";
+  by-spec."express-session"."1.0.2" =
+    self.by-version."express-session"."1.0.2";
+  by-version."express-session"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-session-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.0.2.tgz";
+        name = "express-session-1.0.2.tgz";
+        sha1 = "004478c742561774411ceb79733155a56b6d49eb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.14" or []);
+      (self.nativeDeps."express-session" or []);
     deps = [
+      self.by-version."utils-merge"."1.0.0"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."cookie-signature"."1.0.3"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "formidable" ];
+    passthru.names = [ "express-session" ];
   };
-  full."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.9";
+  by-spec."express-session"."~1.0.2" =
+    self.by-version."express-session"."1.0.3";
+  by-version."express-session"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-session-1.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
-        sha1 = "419e3bccead3e8874d539f5b3e72a4c503b31a98";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.0.3.tgz";
+        name = "express-session-1.0.3.tgz";
+        sha1 = "a45ec65dda263f74f3b5b9c6da0ac74c36ac0639";
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.9" or []);
+      (self.nativeDeps."express-session" or []);
     deps = [
+      self.by-version."utils-merge"."1.0.0"
+      self.by-version."cookie"."0.1.2"
+      self.by-version."cookie-signature"."1.0.3"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "formidable" ];
+    passthru.names = [ "express-session" ];
   };
-  full."formidable"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.14";
+  by-spec."ext-list"."^0.1.0" =
+    self.by-version."ext-list"."0.1.0";
+  by-version."ext-list"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ext-list-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+        url = "http://registry.npmjs.org/ext-list/-/ext-list-0.1.0.tgz";
+        name = "ext-list-0.1.0.tgz";
+        sha1 = "a266915887ed6b87056eeb76b8c29e61d84ebc39";
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.x" or []);
+      (self.nativeDeps."ext-list" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "formidable" ];
+    passthru.names = [ "ext-list" ];
   };
-  full."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "fresh-0.1.0";
+  by-spec."extend"."*" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-extend-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+        url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+        name = "extend-1.2.1.tgz";
+        sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.1.0" or []);
+      (self.nativeDeps."extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fresh" ];
+    passthru.names = [ "extend" ];
   };
-  full."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "fresh-0.2.0";
+  "extend" = self.by-version."extend"."1.2.1";
+  by-spec."extend"."~1.2.1" =
+    self.by-version."extend"."1.2.1";
+  by-spec."extname"."^0.1.1" =
+    self.by-version."extname"."0.1.2";
+  by-version."extname"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "extname-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
-        sha1 = "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7";
+        url = "http://registry.npmjs.org/extname/-/extname-0.1.2.tgz";
+        name = "extname-0.1.2.tgz";
+        sha1 = "de821aa0f01449d4b4043d4aeefa89a456bf3239";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.2.0" or []);
+      (self.nativeDeps."extname" or []);
     deps = [
+      self.by-version."ext-list"."0.1.0"
+      self.by-version."map-key"."0.1.1"
+      self.by-version."underscore.string"."2.3.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fresh" ];
+    passthru.names = [ "extname" ];
   };
-  full."fs-walk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "fs-walk-0.0.1";
+  by-spec."extract-opts"."~2.2.0" =
+    self.by-version."extract-opts"."2.2.0";
+  by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-extract-opts-2.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
-        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
+        url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
+        name = "extract-opts-2.2.0.tgz";
+        sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fs-walk"."*" or []);
+      (self.nativeDeps."extract-opts" or []);
     deps = [
-      self.full."async"."*"
+      self.by-version."typechecker"."2.0.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fs-walk" ];
+    passthru.names = [ "extract-opts" ];
   };
-  "fs-walk" = self.full."fs-walk"."*";
-  full."fstream"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."extsprintf"."1.0.0" =
+    self.by-version."extsprintf"."1.0.0";
+  by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-extsprintf-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
+        name = "extsprintf-1.0.0.tgz";
+        sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."0" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "extsprintf" ];
   };
-  full."fstream"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."extsprintf"."1.0.2" =
+    self.by-version."extsprintf"."1.0.2";
+  by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-extsprintf-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
+        name = "extsprintf-1.0.2.tgz";
+        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.17" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "extsprintf" ];
   };
-  full."fstream"."~0.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-eyes-0.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+        name = "eyes-0.1.8.tgz";
+        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.21" or []);
+      (self.nativeDeps."eyes" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "eyes" ];
   };
-  full."fstream"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."eyes".">=0.1.6" =
+    self.by-version."eyes"."0.1.8";
+  by-spec."faye-websocket"."*" =
+    self.by-version."faye-websocket"."0.7.2";
+  by-version."faye-websocket"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-faye-websocket-0.7.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.2.tgz";
+        name = "faye-websocket-0.7.2.tgz";
+        sha1 = "799970386f87105592397434b02abfa4f07bdf70";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.22" or []);
+      (self.nativeDeps."faye-websocket" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."websocket-driver"."0.3.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "faye-websocket" ];
   };
-  full."fstream"."~0.1.23" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  "faye-websocket" = self.by-version."faye-websocket"."0.7.2";
+  by-spec."faye-websocket"."0.7.0" =
+    self.by-version."faye-websocket"."0.7.0";
+  by-version."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-faye-websocket-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz";
+        name = "faye-websocket-0.7.0.tgz";
+        sha1 = "c16c50ec0d483357a8eafd1ec6fcc313d027f5be";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.23" or []);
+      (self.nativeDeps."faye-websocket" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."websocket-driver"."0.3.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "faye-websocket" ];
   };
-  full."fstream"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."fetch-bower"."*" =
+    self.by-version."fetch-bower"."2.0.0";
+  by-version."fetch-bower"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fetch-bower-2.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fetch-bower/-/fetch-bower-2.0.0.tgz";
+        name = "fetch-bower-2.0.0.tgz";
+        sha1 = "c027feb75a512001d1287bbfb3ffaafba67eb92f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.8" or []);
+      (self.nativeDeps."fetch-bower" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-logger"."0.2.1"
+      self.by-version."bower"."1.3.2"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fetch-bower" ];
   };
-  full."fstream-ignore"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-ignore-0.0.7";
+  "fetch-bower" = self.by-version."fetch-bower"."2.0.0";
+  by-spec."fetch-bower".">=2 <3" =
+    self.by-version."fetch-bower"."2.0.0";
+  by-spec."fields"."~0.1.11" =
+    self.by-version."fields"."0.1.12";
+  by-version."fields"."0.1.12" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fields-0.1.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
-        sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
+        url = "http://registry.npmjs.org/fields/-/fields-0.1.12.tgz";
+        name = "fields-0.1.12.tgz";
+        sha1 = "ded2dfe1e0aad3576aed554bfb8f65a7e7404bc1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.5" or []);
+      (self.nativeDeps."fields" or []);
     deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
+      self.by-version."colors"."0.6.2"
+      self.by-version."keypress"."0.1.0"
+      self.by-version."sprintf"."0.1.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream-ignore" ];
+    passthru.names = [ "fields" ];
   };
-  full."fstream-ignore"."~0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-ignore-0.0.7";
+  by-spec."file-utils"."~0.1.1" =
+    self.by-version."file-utils"."0.1.5";
+  by-version."file-utils"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-file-utils-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
-        sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
+        url = "http://registry.npmjs.org/file-utils/-/file-utils-0.1.5.tgz";
+        name = "file-utils-0.1.5.tgz";
+        sha1 = "dc8153c855387cb4dacb0a1725531fa444a6b48c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.6" or []);
+      (self.nativeDeps."file-utils" or []);
     deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
+      self.by-version."lodash"."2.1.0"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."glob"."3.2.9"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."findup-sync"."0.1.3"
+      self.by-version."isbinaryfile"."0.1.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream-ignore" ];
+    passthru.names = [ "file-utils" ];
   };
-  full."fstream-npm"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-npm-0.1.6";
+  by-spec."file-utils"."~0.1.5" =
+    self.by-version."file-utils"."0.1.5";
+  by-spec."fileset"."0.1.x" =
+    self.by-version."fileset"."0.1.5";
+  by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fileset-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.6.tgz";
-        sha1 = "1369323075d9bd85cfcc9409f33f0d6fe5be104d";
+        url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
+        name = "fileset-0.1.5.tgz";
+        sha1 = "acc423bfaf92843385c66bf75822264d11b7bd94";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-npm"."~0.1.3" or []);
+      (self.nativeDeps."fileset" or []);
     deps = [
-      self.full."fstream-ignore"."~0.0.5"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream-npm" ];
+    passthru.names = [ "fileset" ];
   };
-  full."generator-angular"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-angular-0.5.0";
+  by-spec."findit".">=1.1.0 <2.0.0" =
+    self.by-version."findit"."1.1.1";
+  by-version."findit"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-findit-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.5.0.tgz";
-        sha1 = "f637a6c42984fd949678358be369e413a2e7c6e2";
+        url = "http://registry.npmjs.org/findit/-/findit-1.1.1.tgz";
+        name = "findit-1.1.1.tgz";
+        sha1 = "b460e2f7633d78ed2c217c77c4209ecacaf8262a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-angular"."*" or []);
+      (self.nativeDeps."findit" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
     ];
     peerDependencies = [
-      self.full."generator-karma"."~0.5.0"
-      self.full."yo".">=1.0.0-rc.1.1"
     ];
-    passthru.names = [ "generator-angular" ];
+    passthru.names = [ "findit" ];
   };
-  "generator-angular" = self.full."generator-angular"."*";
-  full."generator-karma"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-karma-0.5.0";
+  by-spec."findup"."~0.1.3" =
+    self.by-version."findup"."0.1.5";
+  by-version."findup"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "findup-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.5.0.tgz";
-        sha1 = "3b9dc1154e232a135c0e4598834540977038617d";
+        url = "http://registry.npmjs.org/findup/-/findup-0.1.5.tgz";
+        name = "findup-0.1.5.tgz";
+        sha1 = "8ad929a3393bac627957a7e5de4623b06b0e2ceb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-karma"."~0.5.0" or []);
+      (self.nativeDeps."findup" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."colors"."0.6.2"
+      self.by-version."commander"."2.1.0"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
     ];
-    passthru.names = [ "generator-karma" ];
+    passthru.names = [ "findup" ];
   };
-  full."generator-mocha"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-mocha-0.1.1";
+  by-spec."findup-sync"."~0.1.0" =
+    self.by-version."findup-sync"."0.1.3";
+  by-version."findup-sync"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-findup-sync-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-mocha/-/generator-mocha-0.1.1.tgz";
-        sha1 = "818f7028a1c149774a882a0e3c7c04ba9852d7d1";
+        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
+        name = "findup-sync-0.1.3.tgz";
+        sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-mocha"."~0.1.1" or []);
+      (self.nativeDeps."findup-sync" or []);
     deps = [
-      self.full."yeoman-generator"."~0.10.0"
+      self.by-version."glob"."3.2.9"
+      self.by-version."lodash"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "generator-mocha" ];
+    passthru.names = [ "findup-sync" ];
   };
-  full."generator-webapp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-webapp-0.4.3";
+  by-spec."findup-sync"."~0.1.2" =
+    self.by-version."findup-sync"."0.1.3";
+  by-spec."flatiron"."*" =
+    self.by-version."flatiron"."0.3.11";
+  by-version."flatiron"."0.3.11" = lib.makeOverridable self.buildNodePackage {
+    name = "flatiron-0.3.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.3.tgz";
-        sha1 = "c0ad11753e0f4403d1d7fad1b298e52bfa5e231b";
+        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.11.tgz";
+        name = "flatiron-0.3.11.tgz";
+        sha1 = "1cb0190fc2bd9d860f018e04d95fd35f9bd12555";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-webapp"."*" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.1"
-      self.full."cheerio"."~0.12.1"
+      self.by-version."broadway"."0.2.9"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."prompt"."0.2.11"
+      self.by-version."director"."1.1.10"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
-      self.full."generator-mocha"."~0.1.1"
     ];
-    passthru.names = [ "generator-webapp" ];
+    passthru.names = [ "flatiron" ];
   };
-  "generator-webapp" = self.full."generator-webapp"."*";
-  full."getmac"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "getmac-1.0.5";
+  "flatiron" = self.by-version."flatiron"."0.3.11";
+  by-spec."flatiron"."~0.3.11" =
+    self.by-version."flatiron"."0.3.11";
+  by-spec."follow-redirects"."0.0.3" =
+    self.by-version."follow-redirects"."0.0.3";
+  by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-follow-redirects-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.5.tgz";
-        sha1 = "4ce0468a83e5fc2f2d337fc0c3c9be2c94a6344f";
+        url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
+        name = "follow-redirects-0.0.3.tgz";
+        sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
       })
     ];
     buildInputs =
-      (self.nativeDeps."getmac"."~1.0.5" or []);
+      (self.nativeDeps."follow-redirects" or []);
     deps = [
-      self.full."extract-opts"."~2.2.0"
-      self.full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0"
-      self.full."joe-reporter-console"."~1.2.1"
+      self.by-version."underscore"."1.6.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "getmac" ];
+    passthru.names = [ "follow-redirects" ];
   };
-  full."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "github-url-from-git-1.1.1";
+  by-spec."forEachAsync"."~2.2" =
+    self.by-version."forEachAsync"."2.2.1";
+  by-version."forEachAsync"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forEachAsync-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+        url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz";
+        name = "forEachAsync-2.2.1.tgz";
+        sha1 = "e3723f00903910e1eb4b1db3ad51b5c64a319fec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."1.1.1" or []);
+      (self.nativeDeps."forEachAsync" or []);
     deps = [
+      self.by-version."sequence"."2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "forEachAsync" ];
   };
-  full."github-url-from-git"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "github-url-from-git-1.1.1";
+  by-spec."forever"."*" =
+    self.by-version."forever"."0.11.0";
+  by-version."forever"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "forever-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+        url = "http://registry.npmjs.org/forever/-/forever-0.11.0.tgz";
+        name = "forever-0.11.0.tgz";
+        sha1 = "97de678915c64dacce2ccbfb94620723b308d44f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."~1.1.1" or []);
+      (self.nativeDeps."forever" or []);
     deps = [
+      self.by-version."colors"."0.6.2"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."flatiron"."0.3.11"
+      self.by-version."forever-monitor"."1.2.3"
+      self.by-version."nconf"."0.6.9"
+      self.by-version."nssocket"."0.5.1"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."timespan"."2.3.0"
+      self.by-version."watch"."0.8.0"
+      self.by-version."utile"."0.2.1"
+      self.by-version."winston"."0.7.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "forever" ];
   };
-  full."glob"."3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  "forever" = self.by-version."forever"."0.11.0";
+  by-spec."forever-agent"."~0.2.0" =
+    self.by-version."forever-agent"."0.2.0";
+  by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forever-agent-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
+        name = "forever-agent-0.2.0.tgz";
+        sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "forever-agent" ];
   };
-  full."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.3";
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forever-agent-0.5.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
-        sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
+        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        name = "forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3.2.3" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "forever-agent" ];
   };
-  full."glob"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."forever-monitor"."*" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forever-monitor-1.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
+        name = "forever-monitor-1.2.3.tgz";
+        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3.x" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."broadway"."0.2.9"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "forever-monitor" ];
   };
-  full."glob".">= 3.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  "forever-monitor" = self.by-version."forever-monitor"."1.2.3";
+  by-spec."forever-monitor"."1.1.0" =
+    self.by-version."forever-monitor"."1.1.0";
+  by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forever-monitor-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
+        name = "forever-monitor-1.1.0.tgz";
+        sha1 = "439ce036f999601cff551aea7f5151001a869ef9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob".">= 3.1.4" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."broadway"."0.2.9"
+      self.by-version."minimatch"."0.0.5"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "forever-monitor" ];
   };
-  full."glob"."~3.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.1.21";
+  by-spec."forever-monitor"."1.2.3" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-spec."form-data"."~0.0.3" =
+    self.by-version."form-data"."0.0.10";
+  by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage {
+    name = "node-form-data-0.0.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
-        sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
+        name = "form-data-0.0.10.tgz";
+        sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.1.21" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~1.2.0"
-      self.full."inherits"."1"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.10"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "form-data" ];
   };
-  full."glob"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.2";
+  by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-form-data-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
+        name = "form-data-0.1.2.tgz";
+        sha1 = "1143c21357911a78dd7913b189b4bab5d5d57445";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.2.0" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.10"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "form-data" ];
   };
-  full."glob"."~3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."formatio"."~1.0" =
+    self.by-version."formatio"."1.0.2";
+  by-version."formatio"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-formatio-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz";
+        name = "formatio-1.0.2.tgz";
+        sha1 = "e7991ca144ff7d8cff07bb9ac86a9b79c6ba47ef";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.2.1" or []);
+      (self.nativeDeps."formatio" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."samsam"."1.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "formatio" ];
   };
-  full."glob"."~3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."formidable"."1.0.11" =
+    self.by-version."formidable"."1.0.11";
+  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-formidable-1.0.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
+        name = "formidable-1.0.11.tgz";
+        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.2.6" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "formidable" ];
   };
-  full."graceful-fs"."1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
+  by-spec."formidable"."1.0.13" =
+    self.by-version."formidable"."1.0.13";
+  by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
+    name = "node-formidable-1.0.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
+        name = "formidable-1.0.13.tgz";
+        sha1 = "70caf0f9d69692a77e04021ddab4f46b01c82aea";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."1.2" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "formidable" ];
   };
-  full."graceful-fs"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
+  by-spec."formidable"."1.0.14" =
+    self.by-version."formidable"."1.0.14";
+  by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-formidable-1.0.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
+        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
+        name = "formidable-1.0.14.tgz";
+        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."2" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "formidable" ];
   };
-  full."graceful-fs"."~1" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
+  by-spec."formidable"."1.0.9" =
+    self.by-version."formidable"."1.0.9";
+  by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-formidable-1.0.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
+        name = "formidable-1.0.9.tgz";
+        sha1 = "419e3bccead3e8874d539f5b3e72a4c503b31a98";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "formidable" ];
   };
-  full."graceful-fs"."~1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.1.14";
+  by-spec."formidable"."1.0.x" =
+    self.by-version."formidable"."1.0.14";
+  by-spec."fresh"."0.1.0" =
+    self.by-version."fresh"."0.1.0";
+  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fresh-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz";
-        sha1 = "07078db5f6377f6321fceaaedf497de124dc9465";
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+        name = "fresh-0.1.0.tgz";
+        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.1" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "fresh" ];
   };
-  full."graceful-fs"."~1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
+  by-spec."fresh"."0.2.0" =
+    self.by-version."fresh"."0.2.0";
+  by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fresh-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
+        name = "fresh-0.2.0.tgz";
+        sha1 = "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "fresh" ];
   };
-  full."graceful-fs"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
+  by-spec."fresh"."0.2.2" =
+    self.by-version."fresh"."0.2.2";
+  by-version."fresh"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fresh-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
+        name = "fresh-0.2.2.tgz";
+        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.1" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "fresh" ];
   };
-  full."graceful-fs"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
+  by-spec."fresh"."~0.2.1" =
+    self.by-version."fresh"."0.2.2";
+  by-spec."fs-extra"."~0.6.1" =
+    self.by-version."fs-extra"."0.6.4";
+  by-version."fs-extra"."0.6.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fs-extra-0.6.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+        url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
+        name = "fs-extra-0.6.4.tgz";
+        sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.2" or []);
+      (self.nativeDeps."fs-extra" or []);
     deps = [
+      self.by-version."ncp"."0.4.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."jsonfile"."1.0.1"
+      self.by-version."rimraf"."2.2.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "fs-extra" ];
   };
-  full."graceful-fs"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
+  by-spec."fs-walk"."*" =
+    self.by-version."fs-walk"."0.0.1";
+  by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fs-walk-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
+        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
+        name = "fs-walk-0.0.1.tgz";
+        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~2" or []);
+      (self.nativeDeps."fs-walk" or []);
     deps = [
+      self.by-version."async"."0.7.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "fs-walk" ];
   };
-  full."graceful-fs"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
+  "fs-walk" = self.by-version."fs-walk"."0.0.1";
+  by-spec."fs.extra".">=1.2.0 <2.0.0" =
+    self.by-version."fs.extra"."1.2.1";
+  by-version."fs.extra"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fs.extra-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
+        url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz";
+        name = "fs.extra-1.2.1.tgz";
+        sha1 = "060bf20264f35e39ad247e5e9d2121a2a75a1733";
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~2.0.0" or []);
+      (self.nativeDeps."fs.extra" or []);
     deps = [
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."fs-extra"."0.6.4"
+      self.by-version."walk"."2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "graceful-fs" ];
+    passthru.names = [ "fs.extra" ];
   };
-  full."gridfs-stream"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "gridfs-stream-0.4.0";
+  by-spec."fs.extra".">=1.2.1 <2" =
+    self.by-version."fs.extra"."1.2.1";
+  by-spec."fsevents"."0.2.0" =
+    self.by-version."fsevents"."0.2.0";
+  by-version."fsevents"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fsevents-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.4.0.tgz";
-        sha1 = "f76f791e0d1b22649e11beeacddf8e62bd89ca2a";
+        url = "http://registry.npmjs.org/fsevents/-/fsevents-0.2.0.tgz";
+        name = "fsevents-0.2.0.tgz";
+        sha1 = "1de161da042818f45bfbe11a853da8e5c6ca5d83";
       })
     ];
     buildInputs =
-      (self.nativeDeps."gridfs-stream"."*" or []);
+      (self.nativeDeps."fsevents" or []);
     deps = [
+      self.by-version."nan"."0.8.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "gridfs-stream" ];
+    passthru.names = [ "fsevents" ];
   };
-  "gridfs-stream" = self.full."gridfs-stream"."*";
-  full."growl"."1.7.x" = lib.makeOverridable self.buildNodePackage {
-    name = "growl-1.7.0";
+  by-spec."fstream"."0" =
+    self.by-version."fstream"."0.1.25";
+  by-version."fstream"."0.1.25" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-0.1.25";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
-        sha1 = "de2d66136d002e112ba70f3f10c31cf7c350b2da";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz";
+        name = "fstream-0.1.25.tgz";
+        sha1 = "deef2db7c7898357c2b37202212a9e5b36abc732";
       })
     ];
     buildInputs =
-      (self.nativeDeps."growl"."1.7.x" or []);
+      (self.nativeDeps."fstream" or []);
     deps = [
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "growl" ];
+    passthru.names = [ "fstream" ];
   };
-  full."grunt"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."fstream"."~0.1.17" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream"."~0.1.22" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream"."~0.1.25" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream"."~0.1.8" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream-ignore"."~0.0.5" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-version."fstream-ignore"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-ignore-0.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
+        name = "fstream-ignore-0.0.7.tgz";
+        sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."0.4.x" or []);
+      (self.nativeDeps."fstream-ignore" or []);
     deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "grunt" ];
+    passthru.names = [ "fstream-ignore" ];
   };
-  full."grunt"."~0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."fstream-ignore"."~0.0.6" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-spec."fstream-npm"."~0.1.6" =
+    self.by-version."fstream-npm"."0.1.6";
+  by-version."fstream-npm"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-npm-0.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.6.tgz";
+        name = "fstream-npm-0.1.6.tgz";
+        sha1 = "1369323075d9bd85cfcc9409f33f0d6fe5be104d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."~0.4" or []);
+      (self.nativeDeps."fstream-npm" or []);
     deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "grunt" ];
+    passthru.names = [ "fstream-npm" ];
   };
-  full."grunt"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."generator-angular"."*" =
+    self.by-version."generator-angular"."0.8.0";
+  by-version."generator-angular"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-generator-angular-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.8.0.tgz";
+        name = "generator-angular-0.8.0.tgz";
+        sha1 = "c2115b1a7a304b884b7f8857cade77dc36b63d13";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."~0.4.0" or []);
+      (self.nativeDeps."generator-angular" or []);
     deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."wiredep"."1.0.0"
+      self.by-version."yeoman-generator"."0.16.0"
     ];
     peerDependencies = [
+      self.by-version."generator-karma"."0.7.0"
+      self.by-version."yo"."1.1.2"
     ];
-    passthru.names = [ "grunt" ];
+    passthru.names = [ "generator-angular" ];
   };
-  full."grunt-cli"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-cli-0.1.9";
+  "generator-angular" = self.by-version."generator-angular"."0.8.0";
+  by-spec."generator-karma".">=0.6.0" =
+    self.by-version."generator-karma"."0.7.0";
+  by-version."generator-karma"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-generator-karma-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.7.0.tgz";
+        name = "generator-karma-0.7.0.tgz";
+        sha1 = "aaa2b6d8905b687343fe6a10b15279afd984048d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."*" or []);
+      (self.nativeDeps."generator-karma" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."yeoman-generator"."0.16.0"
     ];
     peerDependencies = [
+      self.by-version."yo"."1.1.2"
     ];
-    passthru.names = [ "grunt-cli" ];
+    passthru.names = [ "generator-karma" ];
   };
-  "grunt-cli" = self.full."grunt-cli"."*";
-  full."grunt-cli"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-cli-0.1.9";
+  by-spec."generator-mocha".">=0.1.0" =
+    self.by-version."generator-mocha"."0.1.3";
+  by-version."generator-mocha"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-generator-mocha-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/generator-mocha/-/generator-mocha-0.1.3.tgz";
+        name = "generator-mocha-0.1.3.tgz";
+        sha1 = "d54977bc0839b30c9b15fdd900e0ecd42afe14c8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."~0.1.7" or []);
+      (self.nativeDeps."generator-mocha" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."yeoman-generator"."0.14.2"
     ];
     peerDependencies = [
+      self.by-version."yo"."1.1.2"
     ];
-    passthru.names = [ "grunt-cli" ];
+    passthru.names = [ "generator-mocha" ];
   };
-  full."grunt-contrib-cssmin"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-cssmin-0.6.2";
+  by-spec."generator-webapp"."*" =
+    self.by-version."generator-webapp"."0.4.9";
+  by-version."generator-webapp"."0.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-generator-webapp-0.4.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.6.2.tgz";
-        sha1 = "2804dc0e81f98e8a54d61eee84a1d3fe1a3af8e2";
+        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.9.tgz";
+        name = "generator-webapp-0.4.9.tgz";
+        sha1 = "df8aa10af9bac7fd59f4072b9cdf0f120e8bb611";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-cssmin"."*" or []);
+      (self.nativeDeps."generator-webapp" or []);
     deps = [
-      self.full."clean-css"."~1.1.1"
-      self.full."grunt-lib-contrib"."~0.6.0"
+      self.by-version."yeoman-generator"."0.16.0"
+      self.by-version."cheerio"."0.13.1"
+      self.by-version."chalk"."0.4.0"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."yo"."1.1.2"
+      self.by-version."generator-mocha"."0.1.3"
     ];
-    passthru.names = [ "grunt-contrib-cssmin" ];
+    passthru.names = [ "generator-webapp" ];
   };
-  "grunt-contrib-cssmin" = self.full."grunt-contrib-cssmin"."*";
-  full."grunt-contrib-jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-jshint-0.6.4";
+  "generator-webapp" = self.by-version."generator-webapp"."0.4.9";
+  by-spec."get-stdin"."^0.1.0" =
+    self.by-version."get-stdin"."0.1.0";
+  by-version."get-stdin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-get-stdin-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.4.tgz";
-        sha1 = "c5a0e56c13d3f758cf1b5d0786dcb4a7d4b4d748";
+        url = "http://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz";
+        name = "get-stdin-0.1.0.tgz";
+        sha1 = "5998af24aafc802d15c82c685657eeb8b10d4a91";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-jshint"."*" or []);
+      (self.nativeDeps."get-stdin" or []);
     deps = [
-      self.full."jshint"."~2.1.10"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
     ];
-    passthru.names = [ "grunt-contrib-jshint" ];
+    passthru.names = [ "get-stdin" ];
   };
-  "grunt-contrib-jshint" = self.full."grunt-contrib-jshint"."*";
-  full."grunt-contrib-less"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-less-0.7.0";
+  by-spec."get-urls"."^0.1.1" =
+    self.by-version."get-urls"."0.1.1";
+  by-version."get-urls"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "get-urls-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.7.0.tgz";
-        sha1 = "35f6513e47ec5f3c99188d46efa9dcf378207be8";
+        url = "http://registry.npmjs.org/get-urls/-/get-urls-0.1.1.tgz";
+        name = "get-urls-0.1.1.tgz";
+        sha1 = "f94aa79c9e5d99cb843e44c5f67e24954e08fb59";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-less"."*" or []);
+      (self.nativeDeps."get-urls" or []);
     deps = [
-      self.full."less"."~1.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
     ];
-    passthru.names = [ "grunt-contrib-less" ];
+    passthru.names = [ "get-urls" ];
   };
-  "grunt-contrib-less" = self.full."grunt-contrib-less"."*";
-  full."grunt-contrib-requirejs"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-requirejs-0.4.1";
+  by-spec."getmac"."~1.0.6" =
+    self.by-version."getmac"."1.0.6";
+  by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "getmac-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.1.tgz";
-        sha1 = "862ba167141b8a8f36af5444feab3272bb8cf4bd";
+        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
+        name = "getmac-1.0.6.tgz";
+        sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-requirejs"."*" or []);
+      (self.nativeDeps."getmac" or []);
     deps = [
-      self.full."requirejs"."~2.1.0"
+      self.by-version."extract-opts"."2.2.0"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
     ];
-    passthru.names = [ "grunt-contrib-requirejs" ];
+    passthru.names = [ "getmac" ];
   };
-  "grunt-contrib-requirejs" = self.full."grunt-contrib-requirejs"."*";
-  full."grunt-contrib-uglify"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-uglify-0.2.4";
+  by-spec."getobject"."~0.1.0" =
+    self.by-version."getobject"."0.1.0";
+  by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-getobject-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.4.tgz";
-        sha1 = "51113f28a72432521e35e63f7f18a251fda2fd49";
+        url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
+        name = "getobject-0.1.0.tgz";
+        sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-uglify"."*" or []);
+      (self.nativeDeps."getobject" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
     ];
-    passthru.names = [ "grunt-contrib-uglify" ];
+    passthru.names = [ "getobject" ];
   };
-  "grunt-contrib-uglify" = self.full."grunt-contrib-uglify"."*";
-  full."grunt-karma"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-karma-0.7.1";
+  by-spec."gh"."*" =
+    self.by-version."gh"."1.9.1";
+  by-version."gh"."1.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "gh-1.9.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.7.1.tgz";
-        sha1 = "7fb8c40988b8e88da454afb821a7a925ed05ff81";
+        url = "http://registry.npmjs.org/gh/-/gh-1.9.1.tgz";
+        name = "gh-1.9.1.tgz";
+        sha1 = "1862071cddc13cfd31545c64256ab731bb334194";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-karma"."*" or []);
+      (self.nativeDeps."gh" or []);
     deps = [
-      self.full."optimist"."~0.6.0"
+      self.by-version."async"."0.2.10"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."cli-log"."0.0.8"
+      self.by-version."github"."0.1.16"
+      self.by-version."copy-paste"."0.2.0"
+      self.by-version."handlebars"."1.3.0"
+      self.by-version."inquirer"."0.4.1"
+      self.by-version."moment"."2.5.1"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."open"."0.0.5"
+      self.by-version."truncate"."1.0.2"
+      self.by-version."update-notifier"."0.1.8"
+      self.by-version."userhome"."0.1.0"
+      self.by-version."which"."1.0.5"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
-      self.full."grunt"."0.4.x"
-      self.full."karma"."~0.10.0"
     ];
-    passthru.names = [ "grunt-karma" ];
+    passthru.names = [ "gh" ];
   };
-  "grunt-karma" = self.full."grunt-karma"."*";
-  full."grunt-lib-contrib"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-lib-contrib-0.6.1";
+  "gh" = self.by-version."gh"."1.9.1";
+  by-spec."github"."~0.1.15" =
+    self.by-version."github"."0.1.16";
+  by-version."github"."0.1.16" = lib.makeOverridable self.buildNodePackage {
+    name = "node-github-0.1.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz";
-        sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb";
+        url = "http://registry.npmjs.org/github/-/github-0.1.16.tgz";
+        name = "github-0.1.16.tgz";
+        sha1 = "895d2a85b0feb7980d89ac0ce4f44dcaa03f17b5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.0" or []);
+      (self.nativeDeps."github" or []);
     deps = [
-      self.full."zlib-browserify"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "grunt-lib-contrib" ];
+    passthru.names = [ "github" ];
   };
-  full."grunt-lib-contrib"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-lib-contrib-0.6.1";
+  by-spec."github-flavored-markdown".">= 0.0.1" =
+    self.by-version."github-flavored-markdown"."1.0.1";
+  by-version."github-flavored-markdown"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-github-flavored-markdown-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz";
-        sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb";
+        url = "http://registry.npmjs.org/github-flavored-markdown/-/github-flavored-markdown-1.0.1.tgz";
+        name = "github-flavored-markdown-1.0.1.tgz";
+        sha1 = "93361b87a31c25790d9c81a1b798214a737eab38";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.1" or []);
+      (self.nativeDeps."github-flavored-markdown" or []);
     deps = [
-      self.full."zlib-browserify"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "grunt-lib-contrib" ];
+    passthru.names = [ "github-flavored-markdown" ];
   };
-  full."grunt-sed"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-sed-0.1.1";
+  by-spec."github-url-from-git"."1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-github-url-from-git-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
-        sha1 = "2613d486909319b3f8f4bd75dafb46a642ec3f82";
+        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
+        name = "github-url-from-git-1.1.1.tgz";
+        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-sed"."*" or []);
+      (self.nativeDeps."github-url-from-git" or []);
     deps = [
-      self.full."replace"."~0.2.4"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4"
     ];
-    passthru.names = [ "grunt-sed" ];
+    passthru.names = [ "github-url-from-git" ];
   };
-  "grunt-sed" = self.full."grunt-sed"."*";
-  full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " = lib.makeOverridable self.buildNodePackage {
-    name = "guifi-earth-0.2.1";
+  by-spec."github-url-from-git"."~1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-spec."github-url-from-username-repo"."0.0.2" =
+    self.by-version."github-url-from-username-repo"."0.0.2";
+  by-version."github-url-from-username-repo"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-github-url-from-username-repo-0.0.2";
     src = [
       (fetchurl {
-        url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
-        sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
+        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.0.2.tgz";
+        name = "github-url-from-username-repo-0.0.2.tgz";
+        sha1 = "0d9ee8e2bca36d5f065a1bcd23eb3f1fa3d636bd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " or []);
+      (self.nativeDeps."github-url-from-username-repo" or []);
     deps = [
-      self.full."coffee-script".">= 0.0.1"
-      self.full."jade".">= 0.0.1"
-      self.full."q".">= 0.0.1"
-      self.full."xml2js".">= 0.0.1"
-      self.full."msgpack".">= 0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "guifi-earth" ];
+    passthru.names = [ "github-url-from-username-repo" ];
   };
-  "guifi-earth" = self.full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 ";
-  full."gzippo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "gzippo-0.2.0";
+  by-spec."glob"."3" =
+    self.by-version."glob"."3.2.9";
+  by-version."glob"."3.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-glob-3.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
-        sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.9.tgz";
+        name = "glob-3.2.9.tgz";
+        sha1 = "56af2289aa43d07d7702666480373eb814d91d40";
       })
     ];
     buildInputs =
-      (self.nativeDeps."gzippo"."*" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."send"."*"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "gzippo" ];
+    passthru.names = [ "glob" ];
   };
-  "gzippo" = self.full."gzippo"."*";
-  full."handlebars"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "handlebars-1.0.12";
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-glob-3.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz";
-        sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc";
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
+        name = "glob-3.2.3.tgz";
+        sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
       })
     ];
     buildInputs =
-      (self.nativeDeps."handlebars"."1.0.x" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "handlebars" ];
+    passthru.names = [ "glob" ];
   };
-  full."handlebars"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "handlebars-1.0.12";
+  by-spec."glob"."3.2.x" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."3.x" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob".">= 3.1.4" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob".">=3.2.7 <4" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."~3.1.21" =
+    self.by-version."glob"."3.1.21";
+  by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
+    name = "node-glob-3.1.21";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz";
-        sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc";
+        url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
+        name = "glob-3.1.21.tgz";
+        sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."handlebars"."~1.0.11" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."inherits"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "handlebars" ];
+    passthru.names = [ "glob" ];
   };
-  full."has-color"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "has-color-0.1.1";
+  by-spec."glob"."~3.2.0" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."~3.2.1" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."~3.2.6" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."~3.2.7" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."~3.2.8" =
+    self.by-version."glob"."3.2.9";
+  by-spec."glob"."~3.2.9" =
+    self.by-version."glob"."3.2.9";
+  by-spec."graceful-fs"."2" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-graceful-fs-2.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/has-color/-/has-color-0.1.1.tgz";
-        sha1 = "28cc90127bc5448f99e76096dc97470a94a66720";
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+        name = "graceful-fs-2.0.3.tgz";
+        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."has-color"."~0.1.0" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "has-color" ];
+    passthru.names = [ "graceful-fs" ];
   };
-  full."hasher"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "hasher-1.1.4";
+  by-spec."graceful-fs"."~1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-graceful-fs-1.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hasher/-/hasher-1.1.4.tgz";
-        sha1 = "cb0a6c480bfa402adfbd4208452c64c684da9490";
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+        name = "graceful-fs-1.2.3.tgz";
+        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hasher"."~1.1.4" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
-      self.full."signals".">0.7 <2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hasher" ];
+    passthru.names = [ "graceful-fs" ];
   };
-  full."hat"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "hat-0.0.3";
+  by-spec."graceful-fs"."~1.1" =
+    self.by-version."graceful-fs"."1.1.14";
+  by-version."graceful-fs"."1.1.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-graceful-fs-1.1.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
-        sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz";
+        name = "graceful-fs-1.1.14.tgz";
+        sha1 = "07078db5f6377f6321fceaaedf497de124dc9465";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hat"."*" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hat" ];
+    passthru.names = [ "graceful-fs" ];
   };
-  full."hawk"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.10.2";
+  by-spec."graceful-fs"."~1.2.0" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~2" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-spec."graceful-fs"."~2.0.1" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-spec."graceful-fs"."~2.0.2" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-spec."gridfs-stream"."*" =
+    self.by-version."gridfs-stream"."0.4.1";
+  by-version."gridfs-stream"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gridfs-stream-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+        url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.4.1.tgz";
+        name = "gridfs-stream-0.4.1.tgz";
+        sha1 = "1bcccb1b05b57946363b5e53fbe2bc95dd8877bb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.0" or []);
+      (self.nativeDeps."gridfs-stream" or []);
     deps = [
-      self.full."hoek"."0.7.x"
-      self.full."boom"."0.3.x"
-      self.full."cryptiles"."0.1.x"
-      self.full."sntp"."0.1.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hawk" ];
+    passthru.names = [ "gridfs-stream" ];
   };
-  full."hawk"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.10.2";
+  "gridfs-stream" = self.by-version."gridfs-stream"."0.4.1";
+  by-spec."growl"."1.7.x" =
+    self.by-version."growl"."1.7.0";
+  by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-growl-1.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+        url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
+        name = "growl-1.7.0.tgz";
+        sha1 = "de2d66136d002e112ba70f3f10c31cf7c350b2da";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.2" or []);
+      (self.nativeDeps."growl" or []);
     deps = [
-      self.full."hoek"."0.7.x"
-      self.full."boom"."0.3.x"
-      self.full."cryptiles"."0.1.x"
-      self.full."sntp"."0.1.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hawk" ];
+    passthru.names = [ "growl" ];
   };
-  full."hawk"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.13.1";
+  by-spec."grunt"."0.4.x" =
+    self.by-version."grunt"."0.4.4";
+  by-version."grunt"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-0.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
-        sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
+        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.4.tgz";
+        name = "grunt-0.4.4.tgz";
+        sha1 = "f37fa46e2e52e37f9a0370542a74281c09c73f53";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.13.0" or []);
+      (self.nativeDeps."grunt" or []);
     deps = [
-      self.full."hoek"."0.8.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."coffee-script"."1.3.3"
+      self.by-version."colors"."0.6.2"
+      self.by-version."dateformat"."1.0.2-1.2.3"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."findup-sync"."0.1.3"
+      self.by-version."glob"."3.1.21"
+      self.by-version."hooker"."0.2.3"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."lodash"."0.9.2"
+      self.by-version."underscore.string"."2.2.1"
+      self.by-version."which"."1.0.5"
+      self.by-version."js-yaml"."2.0.5"
+      self.by-version."exit"."0.1.2"
+      self.by-version."getobject"."0.1.0"
+      self.by-version."grunt-legacy-util"."0.1.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hawk" ];
+    passthru.names = [ "grunt" ];
   };
-  full."hawk"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.0.0";
+  by-spec."grunt"."^0.4.0" =
+    self.by-version."grunt"."0.4.4";
+  by-spec."grunt"."~0.4" =
+    self.by-version."grunt"."0.4.4";
+  by-spec."grunt"."~0.4.0" =
+    self.by-version."grunt"."0.4.4";
+  by-spec."grunt"."~0.4.1" =
+    self.by-version."grunt"."0.4.4";
+  by-spec."grunt-bower-task"."*" =
+    self.by-version."grunt-bower-task"."0.3.4";
+  by-version."grunt-bower-task"."0.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-bower-task-0.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+        url = "http://registry.npmjs.org/grunt-bower-task/-/grunt-bower-task-0.3.4.tgz";
+        name = "grunt-bower-task-0.3.4.tgz";
+        sha1 = "6f713725ae96bb22ed60b1173cf4c522bbb8583b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~1.0.0" or []);
+      (self.nativeDeps."grunt-bower-task" or []);
     deps = [
-      self.full."hoek"."0.9.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."bower"."1.2.8"
+      self.by-version."lodash"."0.10.0"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."wrench"."1.4.4"
+      self.by-version."colors"."0.6.2"
+      self.by-version."async"."0.1.22"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hawk" ];
+    passthru.names = [ "grunt-bower-task" ];
   };
-  full."hiredis"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "hiredis-0.1.15";
+  "grunt-bower-task" = self.by-version."grunt-bower-task"."0.3.4";
+  by-spec."grunt-cli"."*" =
+    self.by-version."grunt-cli"."0.1.13";
+  by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-cli-0.1.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.15.tgz";
-        sha1 = "00eb2205c85dcf50de838203e513896dc304dd49";
+        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz";
+        name = "grunt-cli-0.1.13.tgz";
+        sha1 = "e9ebc4047631f5012d922770c39378133cad10f4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hiredis"."*" or []);
+      (self.nativeDeps."grunt-cli" or []);
     deps = [
-      self.full."bindings"."*"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."findup-sync"."0.1.3"
+      self.by-version."resolve"."0.3.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hiredis" ];
+    passthru.names = [ "grunt-cli" ];
   };
-  full."hoek"."0.7.x" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-0.7.6";
+  "grunt-cli" = self.by-version."grunt-cli"."0.1.13";
+  by-spec."grunt-cli"."~0.1.7" =
+    self.by-version."grunt-cli"."0.1.13";
+  by-spec."grunt-contrib-cssmin"."*" =
+    self.by-version."grunt-contrib-cssmin"."0.9.0";
+  by-version."grunt-contrib-cssmin"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-contrib-cssmin-0.9.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
-        sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
+        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.9.0.tgz";
+        name = "grunt-contrib-cssmin-0.9.0.tgz";
+        sha1 = "27241f0160a8866659dab40dc8c2776c01ec7ce2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.7.x" or []);
+      (self.nativeDeps."grunt-contrib-cssmin" or []);
     deps = [
+      self.by-version."chalk"."0.4.0"
+      self.by-version."clean-css"."2.1.8"
+      self.by-version."maxmin"."0.1.0"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
     ];
-    passthru.names = [ "hoek" ];
+    passthru.names = [ "grunt-contrib-cssmin" ];
   };
-  full."hoek"."0.8.x" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-0.8.5";
+  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.9.0";
+  by-spec."grunt-contrib-jshint"."*" =
+    self.by-version."grunt-contrib-jshint"."0.10.0";
+  by-version."grunt-contrib-jshint"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-contrib-jshint-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.8.5.tgz";
-        sha1 = "1e9fd770ef7ebe0274adfcb5b0806a025a5e4e9f";
+        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz";
+        name = "grunt-contrib-jshint-0.10.0.tgz";
+        sha1 = "57ebccca87e8f327af6645d8a3c586d4845e4d81";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.8.x" or []);
+      (self.nativeDeps."grunt-contrib-jshint" or []);
     deps = [
+      self.by-version."jshint"."2.5.0"
+      self.by-version."hooker"."0.2.3"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
     ];
-    passthru.names = [ "hoek" ];
+    passthru.names = [ "grunt-contrib-jshint" ];
   };
-  full."hoek"."0.9.x" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-0.9.1";
+  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.10.0";
+  by-spec."grunt-contrib-less"."*" =
+    self.by-version."grunt-contrib-less"."0.11.0";
+  by-version."grunt-contrib-less"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-contrib-less-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.11.0.tgz";
+        name = "grunt-contrib-less-0.11.0.tgz";
+        sha1 = "601cbdda0591f7fde7fe50278cd904fedede90ed";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.9.x" or []);
+      (self.nativeDeps."grunt-contrib-less" or []);
     deps = [
+      self.by-version."less"."1.7.0"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."maxmin"."0.1.0"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."async"."0.2.10"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
     ];
-    passthru.names = [ "hoek" ];
+    passthru.names = [ "grunt-contrib-less" ];
   };
-  full."hooker"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "hooker-0.2.3";
+  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.11.0";
+  by-spec."grunt-contrib-requirejs"."*" =
+    self.by-version."grunt-contrib-requirejs"."0.4.3";
+  by-version."grunt-contrib-requirejs"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-contrib-requirejs-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
-        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+        url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.3.tgz";
+        name = "grunt-contrib-requirejs-0.4.3.tgz";
+        sha1 = "ac243dc312af5c85cd095169da1b3177bfe89c59";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooker"."~0.2.3" or []);
+      (self.nativeDeps."grunt-contrib-requirejs" or []);
     deps = [
+      self.by-version."requirejs"."2.1.11"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
     ];
-    passthru.names = [ "hooker" ];
+    passthru.names = [ "grunt-contrib-requirejs" ];
   };
-  full."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "hooks-0.2.1";
+  "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.3";
+  by-spec."grunt-contrib-uglify"."*" =
+    self.by-version."grunt-contrib-uglify"."0.4.0";
+  by-version."grunt-contrib-uglify"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-contrib-uglify-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
-        sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
+        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.4.0.tgz";
+        name = "grunt-contrib-uglify-0.4.0.tgz";
+        sha1 = "6a4df3e85ccf4bbae484b0328cc71c9f102e80be";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooks"."0.2.1" or []);
+      (self.nativeDeps."grunt-contrib-uglify" or []);
     deps = [
+      self.by-version."uglify-js"."2.4.13"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."maxmin"."0.1.0"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
     ];
-    passthru.names = [ "hooks" ];
+    passthru.names = [ "grunt-contrib-uglify" ];
   };
-  full."htdigest"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "htdigest-1.0.7";
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.4.0";
+  by-spec."grunt-karma"."*" =
+    self.by-version."grunt-karma"."0.8.2";
+  by-version."grunt-karma"."0.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-karma-0.8.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/htdigest/-/htdigest-1.0.7.tgz";
-        sha1 = "0c55ba3a018855e134fd82f7a4aa6235167181b2";
+        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.2.tgz";
+        name = "grunt-karma-0.8.2.tgz";
+        sha1 = "0f422d357e4556fb96ab68c6d9a2be46908f1c84";
       })
     ];
     buildInputs =
-      (self.nativeDeps."htdigest"."1.0.7" or []);
+      (self.nativeDeps."grunt-karma" or []);
     deps = [
-      self.full."commander"."0.5.1"
+      self.by-version."lodash"."2.4.1"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
+      self.by-version."karma"."0.12.9"
     ];
-    passthru.names = [ "htdigest" ];
+    passthru.names = [ "grunt-karma" ];
   };
-  full."htmlparser2"."2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "htmlparser2-2.6.0";
+  "grunt-karma" = self.by-version."grunt-karma"."0.8.2";
+  by-spec."grunt-legacy-util"."~0.1.2" =
+    self.by-version."grunt-legacy-util"."0.1.2";
+  by-version."grunt-legacy-util"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-legacy-util-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-2.6.0.tgz";
-        sha1 = "b28564ea9d1ba56a104ace6a7b0fdda2f315836f";
+        url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.1.2.tgz";
+        name = "grunt-legacy-util-0.1.2.tgz";
+        sha1 = "be84d337ef4a0137dc8566092a46528fd8957ebd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."2.x" or []);
+      (self.nativeDeps."grunt-legacy-util" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.0"
-      self.full."domelementtype"."1"
+      self.by-version."hooker"."0.2.3"
+      self.by-version."async"."0.1.22"
+      self.by-version."lodash"."0.9.2"
+      self.by-version."exit"."0.1.2"
+      self.by-version."underscore.string"."2.2.1"
+      self.by-version."getobject"."0.1.0"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "htmlparser2" ];
+    passthru.names = [ "grunt-legacy-util" ];
   };
-  full."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "htmlparser2-3.1.4";
+  by-spec."grunt-sed"."*" =
+    self.by-version."grunt-sed"."0.1.1";
+  by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-sed-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.1.4.tgz";
-        sha1 = "72cbe7d5d56c01acf61fcf7b933331f4e45b36f0";
+        url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
+        name = "grunt-sed-0.1.1.tgz";
+        sha1 = "2613d486909319b3f8f4bd75dafb46a642ec3f82";
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."3.1.4" or []);
+      (self.nativeDeps."grunt-sed" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.1"
-      self.full."domelementtype"."1"
-      self.full."readable-stream"."1.0"
+      self.by-version."replace"."0.2.9"
     ];
     peerDependencies = [
+      self.by-version."grunt"."0.4.4"
     ];
-    passthru.names = [ "htmlparser2" ];
+    passthru.names = [ "grunt-sed" ];
   };
-  full."htpasswd"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "htpasswd-1.1.0";
+  "grunt-sed" = self.by-version."grunt-sed"."0.1.1";
+  by-spec."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " =
+    self.by-version."guifi-earth"."0.2.1";
+  by-version."guifi-earth"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "guifi-earth-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/htpasswd/-/htpasswd-1.1.0.tgz";
-        sha1 = "4e9e6a2203405005aa1ae7dee80d3b6d6a8d93d6";
+        url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
+        name = "guifi-earth-0.2.1.tgz";
+        sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."htpasswd"."1.1.0" or []);
+      (self.nativeDeps."guifi-earth" or []);
     deps = [
-      self.full."commander"."0.5.1"
+      self.by-version."coffee-script"."1.7.1"
+      self.by-version."jade"."1.3.1"
+      self.by-version."q"."2.0.1"
+      self.by-version."xml2js"."0.4.2"
+      self.by-version."msgpack"."0.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "htpasswd" ];
+    passthru.names = [ "guifi-earth" ];
   };
-  full."http-auth"."1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "http-auth-1.2.7";
+  "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
+  by-spec."gzip-size"."^0.1.0" =
+    self.by-version."gzip-size"."0.1.1";
+  by-version."gzip-size"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "gzip-size-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-auth/-/http-auth-1.2.7.tgz";
-        sha1 = "d15b9c08646c9fdcc4f92edb9888f57cb6cf9ca7";
+        url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz";
+        name = "gzip-size-0.1.1.tgz";
+        sha1 = "ae33483b6fc8224e8342296de108ef93757f76e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-auth"."1.2.7" or []);
+      (self.nativeDeps."gzip-size" or []);
     deps = [
-      self.full."node-uuid"."1.2.0"
-      self.full."htpasswd"."1.1.0"
-      self.full."htdigest"."1.0.7"
+      self.by-version."concat-stream"."1.4.5"
+      self.by-version."zlib-browserify"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "http-auth" ];
+    passthru.names = [ "gzip-size" ];
   };
-  full."http-proxy"."~0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "http-proxy-0.10.3";
+  by-spec."gzippo"."*" =
+    self.by-version."gzippo"."0.2.0";
+  by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gzippo-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.3.tgz";
-        sha1 = "72ca9d503a75e064650084c58ca11b82e4b0196d";
+        url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
+        name = "gzippo-0.2.0.tgz";
+        sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-proxy"."~0.10" or []);
+      (self.nativeDeps."gzippo" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."utile"."~0.1.7"
+      self.by-version."send"."0.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "http-proxy" ];
+    passthru.names = [ "gzippo" ];
   };
-  full."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.9.11";
+  "gzippo" = self.by-version."gzippo"."0.2.0";
+  by-spec."handlebars"."1.3.0" =
+    self.by-version."handlebars"."1.3.0";
+  by-version."handlebars"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "handlebars-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz";
+        name = "handlebars-1.3.0.tgz";
+        sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."0.9.11" or []);
+      (self.nativeDeps."handlebars" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-js"."2.3.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "http-signature" ];
+    passthru.names = [ "handlebars" ];
   };
-  full."http-signature"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.10.0";
+  by-spec."handlebars"."1.3.x" =
+    self.by-version."handlebars"."1.3.0";
+  by-spec."handlebars"."~1.0.11" =
+    self.by-version."handlebars"."1.0.12";
+  by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage {
+    name = "handlebars-1.0.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
-        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz";
+        name = "handlebars-1.0.12.tgz";
+        sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."~0.10.0" or []);
+      (self.nativeDeps."handlebars" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-js"."2.3.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "http-signature" ];
+    passthru.names = [ "handlebars" ];
   };
-  full."http-signature"."~0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.9.11";
+  by-spec."handlebars"."~1.3.0" =
+    self.by-version."handlebars"."1.3.0";
+  by-spec."has-color"."~0.1.0" =
+    self.by-version."has-color"."0.1.7";
+  by-version."has-color"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-has-color-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+        url = "http://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
+        name = "has-color-0.1.7.tgz";
+        sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."~0.9.11" or []);
+      (self.nativeDeps."has-color" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "http-signature" ];
+    passthru.names = [ "has-color" ];
   };
-  full."i"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "i-0.3.2";
+  by-spec."hasher"."~1.2.0" =
+    self.by-version."hasher"."1.2.0";
+  by-version."hasher"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hasher-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz";
-        sha1 = "b2e2d6ef47900bd924e281231ff4c5cc798d9ea8";
+        url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
+        name = "hasher-1.2.0.tgz";
+        sha1 = "8b5341c3496124b0724ac8555fbb8ca363ebbb73";
       })
     ];
     buildInputs =
-      (self.nativeDeps."i"."0.3.x" or []);
+      (self.nativeDeps."hasher" or []);
     deps = [
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "i" ];
+    passthru.names = [ "hasher" ];
   };
-  full."i18next"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "i18next-1.7.1";
+  by-spec."hashring"."1.0.1" =
+    self.by-version."hashring"."1.0.1";
+  by-version."hashring"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hashring-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/i18next/-/i18next-1.7.1.tgz";
-        sha1 = "39616a1fe88258edbdd0da918b9ee49a1bd1e124";
+        url = "http://registry.npmjs.org/hashring/-/hashring-1.0.1.tgz";
+        name = "hashring-1.0.1.tgz";
+        sha1 = "b6a7b8c675a0c715ac0d0071786eb241a28d0a7c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."i18next"."*" or []);
+      (self.nativeDeps."hashring" or []);
     deps = [
-      self.full."cookies".">= 0.2.2"
+      self.by-version."connection-parse"."0.0.7"
+      self.by-version."simple-lru-cache"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "i18next" ];
+    passthru.names = [ "hashring" ];
   };
-  "i18next" = self.full."i18next"."*";
-  full."iconv-lite"."~0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
+  by-spec."hat"."*" =
+    self.by-version."hat"."0.0.3";
+  by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hat-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+        url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
+        name = "hat-0.0.3.tgz";
+        sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.10" or []);
+      (self.nativeDeps."hat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "iconv-lite" ];
+    passthru.names = [ "hat" ];
   };
-  full."iconv-lite"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
+  by-spec."hawk"."~0.10.0" =
+    self.by-version."hawk"."0.10.2";
+  by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hawk-0.10.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
+        name = "hawk-0.10.2.tgz";
+        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.11" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
+      self.by-version."hoek"."0.7.6"
+      self.by-version."boom"."0.3.8"
+      self.by-version."cryptiles"."0.1.3"
+      self.by-version."sntp"."0.1.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "iconv-lite" ];
+    passthru.names = [ "hawk" ];
   };
-  full."iconv-lite"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
+  by-spec."hawk"."~0.10.2" =
+    self.by-version."hawk"."0.10.2";
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hawk-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        name = "hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.5" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
+      self.by-version."hoek"."0.9.1"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "iconv-lite" ];
+    passthru.names = [ "hawk" ];
   };
-  full."inherits"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
+  by-spec."he"."~0.3.6" =
+    self.by-version."he"."0.3.6";
+  by-version."he"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "he-0.3.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+        url = "http://registry.npmjs.org/he/-/he-0.3.6.tgz";
+        name = "he-0.3.6.tgz";
+        sha1 = "9d7bc446e77963933301dd602d5731cb861135e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."1" or []);
+      (self.nativeDeps."he" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inherits" ];
+    passthru.names = [ "he" ];
   };
-  full."inherits"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
+  by-spec."hipache"."*" =
+    self.by-version."hipache"."0.2.9";
+  by-version."hipache"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "hipache-0.2.9";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/hipache/-/hipache-0.2.9.tgz";
+        name = "hipache-0.2.9.tgz";
+        sha1 = "48a7fa7170be328b264d6e413bfb76d130e03b2a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."1.x" or []);
+      (self.nativeDeps."hipache" or []);
     deps = [
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."redis"."0.8.6"
+      self.by-version."lru-cache"."2.2.4"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inherits" ];
+    passthru.names = [ "hipache" ];
   };
-  full."inherits"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
+  "hipache" = self.by-version."hipache"."0.2.9";
+  by-spec."hiredis"."*" =
+    self.by-version."hiredis"."0.1.16";
+  by-version."hiredis"."0.1.16" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hiredis-0.1.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+        url = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.16.tgz";
+        name = "hiredis-0.1.16.tgz";
+        sha1 = "f6cee1add2589b8b71cef3c4d3936a9fcd638640";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."2" or []);
+      (self.nativeDeps."hiredis" or []);
     deps = [
+      self.by-version."bindings"."1.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inherits" ];
+    passthru.names = [ "hiredis" ];
   };
-  full."inherits"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
+  by-spec."hoek"."0.7.x" =
+    self.by-version."hoek"."0.7.6";
+  by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hoek-0.7.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+        url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
+        name = "hoek-0.7.6.tgz";
+        sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."~1.0.0" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inherits" ];
+    passthru.names = [ "hoek" ];
   };
-  full."inherits"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hoek-0.9.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        name = "hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."~2.0.0" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inherits" ];
+    passthru.names = [ "hoek" ];
   };
-  full."ini"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
+  by-spec."hooker"."~0.2.3" =
+    self.by-version."hooker"."0.2.3";
+  by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hooker-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+        url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
+        name = "hooker-0.2.3.tgz";
+        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ini"."1" or []);
+      (self.nativeDeps."hooker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ini" ];
+    passthru.names = [ "hooker" ];
   };
-  full."ini"."1.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
+  by-spec."hooks"."0.2.1" =
+    self.by-version."hooks"."0.2.1";
+  by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-hooks-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+        url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
+        name = "hooks-0.2.1.tgz";
+        sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ini"."1.x.x" or []);
+      (self.nativeDeps."hooks" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ini" ];
+    passthru.names = [ "hooks" ];
   };
-  full."ini"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
+  by-spec."htmlparser2"."3.1.4" =
+    self.by-version."htmlparser2"."3.1.4";
+  by-version."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-htmlparser2-3.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+        url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.1.4.tgz";
+        name = "htmlparser2-3.1.4.tgz";
+        sha1 = "72cbe7d5d56c01acf61fcf7b933331f4e45b36f0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ini"."~1.1.0" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.1.6"
+      self.by-version."domelementtype"."1.1.1"
+      self.by-version."readable-stream"."1.0.27-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ini" ];
+    passthru.names = [ "htmlparser2" ];
   };
-  full."init-package-json"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "init-package-json-0.0.10";
+  by-spec."htmlparser2"."3.3.x" =
+    self.by-version."htmlparser2"."3.3.0";
+  by-version."htmlparser2"."3.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-htmlparser2-3.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.10.tgz";
-        sha1 = "7baf10535227e0878105a04e44b78f132475da6a";
+        url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz";
+        name = "htmlparser2-3.3.0.tgz";
+        sha1 = "cc70d05a59f6542e43f0e685c982e14c924a9efe";
       })
     ];
     buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.10" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
+      self.by-version."domhandler"."2.1.0"
+      self.by-version."domutils"."1.1.6"
+      self.by-version."domelementtype"."1.1.1"
+      self.by-version."readable-stream"."1.0.27-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "init-package-json" ];
+    passthru.names = [ "htmlparser2" ];
   };
-  full."init-package-json"."0.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "init-package-json-0.0.11";
+  by-spec."htmlparser2"."~3.4.0" =
+    self.by-version."htmlparser2"."3.4.0";
+  by-version."htmlparser2"."3.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-htmlparser2-3.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.11.tgz";
-        sha1 = "71914631d091bb1f73a4bddbe6d7985e929859ce";
+        url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.4.0.tgz";
+        name = "htmlparser2-3.4.0.tgz";
+        sha1 = "a1cd65f5823ad285e19d63b085ad722d0a51eae7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.11" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
+      self.by-version."domhandler"."2.2.0"
+      self.by-version."domutils"."1.3.0"
+      self.by-version."domelementtype"."1.1.1"
+      self.by-version."readable-stream"."1.1.13-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "init-package-json" ];
+    passthru.names = [ "htmlparser2" ];
   };
-  full."inquirer"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.2.5";
+  by-spec."http-auth"."2.0.7" =
+    self.by-version."http-auth"."2.0.7";
+  by-version."http-auth"."2.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-http-auth-2.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.2.5.tgz";
-        sha1 = "6b49a9cbe03de776122211f174ef9fe2822c08f6";
+        url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
+        name = "http-auth-2.0.7.tgz";
+        sha1 = "aa1a61a4d6baae9d64436c6f0ef0f4de85c430e3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.4" or []);
+      (self.nativeDeps."http-auth" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."node-uuid"."1.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inquirer" ];
+    passthru.names = [ "http-auth" ];
   };
-  full."inquirer"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
+  by-spec."http-browserify"."~1.3.1" =
+    self.by-version."http-browserify"."1.3.2";
+  by-version."http-browserify"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-http-browserify-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
+        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.3.2.tgz";
+        name = "http-browserify-1.3.2.tgz";
+        sha1 = "b562c34479349a690d7a6597df495aefa8c604f5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.0" or []);
+      (self.nativeDeps."http-browserify" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."Base64"."0.2.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inquirer" ];
+    passthru.names = [ "http-browserify" ];
   };
-  full."inquirer"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
+  by-spec."http-proxy"."git+https://github.com/samalba/node-http-proxy.git" =
+    self.by-version."http-proxy"."0.10.3";
+  by-version."http-proxy"."0.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "http-proxy-0.10.3";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
+      (fetchgit {
+        url = "https://github.com/samalba/node-http-proxy.git";
+        rev = "8e277989d2d05edaee65e524fb4fba9142c52aa5";
+        sha256 = "8ce0e05c73e517eefc6d9bf8b61349351aee119c2fb60763f23170607cc0e41f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.1" or []);
+      (self.nativeDeps."http-proxy" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."colors"."0.6.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inquirer" ];
+    passthru.names = [ "http-proxy" ];
   };
-  full."insight"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "insight-0.2.0";
+  by-spec."http-proxy"."~0.10" =
+    self.by-version."http-proxy"."0.10.4";
+  by-version."http-proxy"."0.10.4" = lib.makeOverridable self.buildNodePackage {
+    name = "http-proxy-0.10.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/insight/-/insight-0.2.0.tgz";
-        sha1 = "3b430f3c903558d690d1b96c7479b6f1b9186a5e";
+        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz";
+        name = "http-proxy-0.10.4.tgz";
+        sha1 = "14ba0ceaa2197f89fa30dea9e7b09e19cd93c22f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."insight"."~0.2.0" or []);
+      (self.nativeDeps."http-proxy" or []);
     deps = [
-      self.full."chalk"."~0.2.0"
-      self.full."request"."~2.27.0"
-      self.full."configstore"."~0.1.0"
-      self.full."async"."~0.2.9"
-      self.full."lodash"."~1.3.1"
-      self.full."inquirer"."~0.2.4"
+      self.by-version."colors"."0.6.2"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."utile"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "insight" ];
+    passthru.names = [ "http-proxy" ];
   };
-  full."intersect"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "intersect-0.0.3";
+  by-spec."http-signature"."0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-http-signature-0.9.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz";
-        sha1 = "c1a4a5e5eac6ede4af7504cc07e0ada7bc9f4920";
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
+        name = "http-signature-0.9.11.tgz";
+        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
       })
     ];
     buildInputs =
-      (self.nativeDeps."intersect"."~0.0.3" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "intersect" ];
+    passthru.names = [ "http-signature" ];
   };
-  full."ironhorse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ironhorse-0.0.9";
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-http-signature-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.9.tgz";
-        sha1 = "9cfaf75e464a0bf394d511a05c0a8b8de080a1d9";
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+        name = "http-signature-0.10.0.tgz";
+        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ironhorse"."*" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."underscore"."~1.5.2"
-      self.full."winston"."*"
-      self.full."nconf"."*"
-      self.full."fs-walk"."*"
-      self.full."async"."*"
-      self.full."express"."*"
-      self.full."jade"."*"
-      self.full."passport"."*"
-      self.full."passport-http"."*"
-      self.full."js-yaml"."*"
-      self.full."mongoose"."*"
-      self.full."gridfs-stream"."*"
-      self.full."temp"."*"
-      self.full."kue"."*"
-      self.full."redis"."*"
-      self.full."hiredis"."*"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ironhorse" ];
+    passthru.names = [ "http-signature" ];
   };
-  "ironhorse" = self.full."ironhorse"."*";
-  full."is-promise"."~1" = lib.makeOverridable self.buildNodePackage {
-    name = "is-promise-1.0.0";
+  by-spec."https-browserify"."~0.0.0" =
+    self.by-version."https-browserify"."0.0.0";
+  by-version."https-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-https-browserify-0.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.0.tgz";
-        sha1 = "b998d17551f16f69f7bd4828f58f018cc81e064f";
+        url = "http://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz";
+        name = "https-browserify-0.0.0.tgz";
+        sha1 = "b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."is-promise"."~1" or []);
+      (self.nativeDeps."https-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "is-promise" ];
+    passthru.names = [ "https-browserify" ];
   };
-  full."isbinaryfile"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "isbinaryfile-0.1.9";
+  by-spec."humanize"."~0.0.9" =
+    self.by-version."humanize"."0.0.9";
+  by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-humanize-0.0.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz";
-        sha1 = "15eece35c4ab708d8924da99fb874f2b5cc0b6c4";
+        url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
+        name = "humanize-0.0.9.tgz";
+        sha1 = "1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."isbinaryfile"."~0.1.8" or []);
+      (self.nativeDeps."humanize" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "isbinaryfile" ];
+    passthru.names = [ "humanize" ];
   };
-  full."istanbul"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.1.44";
+  by-spec."i"."0.3.x" =
+    self.by-version."i"."0.3.2";
+  by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-i-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
-        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
+        url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz";
+        name = "i-0.3.2.tgz";
+        sha1 = "b2e2d6ef47900bd924e281231ff4c5cc798d9ea8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."istanbul"."*" or []);
+      (self.nativeDeps."i" or []);
     deps = [
-      self.full."esprima"."1.0.x"
-      self.full."escodegen"."0.0.23"
-      self.full."handlebars"."1.0.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."nopt"."2.1.x"
-      self.full."fileset"."0.1.x"
-      self.full."which"."1.0.x"
-      self.full."async"."0.2.x"
-      self.full."abbrev"."1.0.x"
-      self.full."wordwrap"."0.0.x"
-      self.full."resolve"."0.5.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "istanbul" ];
+    passthru.names = [ "i" ];
   };
-  "istanbul" = self.full."istanbul"."*";
-  full."istanbul"."~0.1.41" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.1.44";
+  by-spec."i18next"."*" =
+    self.by-version."i18next"."1.7.3";
+  by-version."i18next"."1.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-i18next-1.7.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
-        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
+        url = "http://registry.npmjs.org/i18next/-/i18next-1.7.3.tgz";
+        name = "i18next-1.7.3.tgz";
+        sha1 = "8a064866c8e6e87b4664a32fe81b9be34b4a3894";
       })
     ];
     buildInputs =
-      (self.nativeDeps."istanbul"."~0.1.41" or []);
+      (self.nativeDeps."i18next" or []);
     deps = [
-      self.full."esprima"."1.0.x"
-      self.full."escodegen"."0.0.23"
-      self.full."handlebars"."1.0.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."nopt"."2.1.x"
-      self.full."fileset"."0.1.x"
-      self.full."which"."1.0.x"
-      self.full."async"."0.2.x"
-      self.full."abbrev"."1.0.x"
-      self.full."wordwrap"."0.0.x"
-      self.full."resolve"."0.5.x"
+      self.by-version."cookies"."0.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "istanbul" ];
+    passthru.names = [ "i18next" ];
   };
-  full."jade"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.35.0";
+  "i18next" = self.by-version."i18next"."1.7.3";
+  by-spec."ibrik"."~1.1.1" =
+    self.by-version."ibrik"."1.1.1";
+  by-version."ibrik"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ibrik-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
-        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
+        url = "http://registry.npmjs.org/ibrik/-/ibrik-1.1.1.tgz";
+        name = "ibrik-1.1.1.tgz";
+        sha1 = "c9bd04c5137e967a2f0dbc9e4eb31dbfa04801b5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."*" or []);
+      (self.nativeDeps."ibrik" or []);
     deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."coffee-script-redux"."2.0.0-beta8"
+      self.by-version."istanbul"."0.2.7"
+      self.by-version."estraverse"."1.5.0"
+      self.by-version."escodegen"."1.1.0"
+      self.by-version."which"."1.0.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."optimist"."0.6.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jade" ];
+    passthru.names = [ "ibrik" ];
   };
-  "jade" = self.full."jade"."*";
-  full."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.26.3";
+  by-spec."iconv-lite"."~0.2.10" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-iconv-lite-0.2.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
-        sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
+        name = "iconv-lite-0.2.11.tgz";
+        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.26.3" or []);
+      (self.nativeDeps."iconv-lite" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jade" ];
+    passthru.names = [ "iconv-lite" ];
   };
-  full."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.27.0";
+  by-spec."iconv-lite"."~0.2.11" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-spec."ieee754"."~1.1.1" =
+    self.by-version."ieee754"."1.1.3";
+  by-version."ieee754"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ieee754-1.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
-        sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
+        url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.3.tgz";
+        name = "ieee754-1.1.3.tgz";
+        sha1 = "1d4baae872e15ba69f6ab7588a965e09d485ec50";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.27.0" or []);
+      (self.nativeDeps."ieee754" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jade" ];
+    passthru.names = [ "ieee754" ];
   };
-  full."jade".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.35.0";
+  by-spec."indexof"."0.0.1" =
+    self.by-version."indexof"."0.0.1";
+  by-version."indexof"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-indexof-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
-        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
+        url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+        name = "indexof-0.0.1.tgz";
+        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade".">= 0.0.1" or []);
+      (self.nativeDeps."indexof" or []);
     deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jade" ];
+    passthru.names = [ "indexof" ];
   };
-  full."jayschema"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jayschema-0.2.0";
+  by-spec."inherits"."1" =
+    self.by-version."inherits"."1.0.0";
+  by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inherits-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.0.tgz";
-        sha1 = "ab250dd51224ef36ac8119ce143e0525300d99d4";
+        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+        name = "inherits-1.0.0.tgz";
+        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jayschema"."*" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
-      self.full."when"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jayschema" ];
+    passthru.names = [ "inherits" ];
   };
-  "jayschema" = self.full."jayschema"."*";
-  full."joe"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
+  by-spec."inherits"."1.x" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inherits-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        name = "inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."joe"."1.x" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
-      self.full."taskgroup"."~3.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "joe" ];
+    passthru.names = [ "inherits" ];
   };
-  full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
+  by-spec."inherits"."2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."inherits"."~1.0.0" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ini"."1" =
+    self.by-version."ini"."1.1.0";
+  by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ini-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+        name = "ini-1.1.0.tgz";
+        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
       })
     ];
     buildInputs =
-      (self.nativeDeps."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" or []);
+      (self.nativeDeps."ini" or []);
     deps = [
-      self.full."taskgroup"."~3.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "joe" ];
+    passthru.names = [ "ini" ];
   };
-  full."joe"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
+  by-spec."ini"."1.x.x" =
+    self.by-version."ini"."1.1.0";
+  by-spec."ini"."~1.1.0" =
+    self.by-version."ini"."1.1.0";
+  by-spec."init-package-json"."0.0.15" =
+    self.by-version."init-package-json"."0.0.15";
+  by-version."init-package-json"."0.0.15" = lib.makeOverridable self.buildNodePackage {
+    name = "node-init-package-json-0.0.15";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.15.tgz";
+        name = "init-package-json-0.0.15.tgz";
+        sha1 = "d40f0201e4de6aa2b3fdc4208ae162766703ebed";
       })
     ];
     buildInputs =
-      (self.nativeDeps."joe"."~1.3.0" or []);
+      (self.nativeDeps."init-package-json" or []);
     deps = [
-      self.full."taskgroup"."~3.2.0"
+      self.by-version."promzard"."0.2.1"
+      self.by-version."read"."1.0.5"
+      self.by-version."read-package-json"."1.1.8"
+      self.by-version."semver"."2.2.1"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "joe" ];
+    passthru.names = [ "init-package-json" ];
   };
-  full."joe-reporter-console"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-reporter-console-1.2.1";
+  by-spec."inline-source-map"."~0.3.0" =
+    self.by-version."inline-source-map"."0.3.0";
+  by-version."inline-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inline-source-map-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/joe-reporter-console/-/joe-reporter-console-1.2.1.tgz";
-        sha1 = "6887fa067121b0e67b571672aa63b358055eddc1";
+        url = "http://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz";
+        name = "inline-source-map-0.3.0.tgz";
+        sha1 = "ad2acca97d82fcb9d0a56221ee72e8043116424a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."joe-reporter-console"."~1.2.1" or []);
+      (self.nativeDeps."inline-source-map" or []);
     deps = [
-      self.full."cli-color"."~0.2.2"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
-      self.full."joe"."1.x"
     ];
-    passthru.names = [ "joe-reporter-console" ];
+    passthru.names = [ "inline-source-map" ];
   };
-  full."js-yaml"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.3";
+  by-spec."inquirer"."~0.3.0" =
+    self.by-version."inquirer"."0.3.5";
+  by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inquirer-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz";
-        sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz";
+        name = "inquirer-0.3.5.tgz";
+        sha1 = "a78be064ac9abf168147c02169a931d9a483a9f6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."*" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.10"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
+    passthru.names = [ "inquirer" ];
   };
-  "js-yaml" = self.full."js-yaml"."*";
-  full."js-yaml"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-0.3.7";
+  by-spec."inquirer"."~0.3.1" =
+    self.by-version."inquirer"."0.3.5";
+  by-spec."inquirer"."~0.4.0" =
+    self.by-version."inquirer"."0.4.1";
+  by-version."inquirer"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inquirer-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
-        sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.4.1.tgz";
+        name = "inquirer-0.4.1.tgz";
+        sha1 = "6cf74eb1a347f97a1a207bea8ad1c987d0ff4b81";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."0.3.x" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
+      self.by-version."lodash"."2.4.1"
+      self.by-version."async"."0.2.10"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.4"
+      self.by-version."through"."2.3.4"
+      self.by-version."readline2"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
+    passthru.names = [ "inquirer" ];
   };
-  full."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.0";
+  by-spec."inquirer"."~0.4.1" =
+    self.by-version."inquirer"."0.4.1";
+  by-spec."insert-module-globals"."~5.0.1" =
+    self.by-version."insert-module-globals"."5.0.1";
+  by-version."insert-module-globals"."5.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "insert-module-globals-5.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
-        sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
+        url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-5.0.1.tgz";
+        name = "insert-module-globals-5.0.1.tgz";
+        sha1 = "eec9c0dfad30380e8eda313a094165dc2f2350d2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."2.1.0" or []);
+      (self.nativeDeps."insert-module-globals" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."JSONStream"."0.7.2"
+      self.by-version."concat-stream"."1.4.5"
+      self.by-version."lexical-scope"."1.1.0"
+      self.by-version."process"."0.6.0"
+      self.by-version."through"."2.3.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
+    passthru.names = [ "insert-module-globals" ];
   };
-  full."js-yaml"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.0.5";
+  by-spec."insight"."~0.3.0" =
+    self.by-version."insight"."0.3.1";
+  by-version."insight"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-insight-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
-        sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
+        url = "http://registry.npmjs.org/insight/-/insight-0.3.1.tgz";
+        name = "insight-0.3.1.tgz";
+        sha1 = "1a14f32c06115c0850338c38a253d707b611d448";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.0.2" or []);
+      (self.nativeDeps."insight" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.2.3"
+      self.by-version."async"."0.2.10"
+      self.by-version."inquirer"."0.4.1"
+      self.by-version."object-assign"."0.1.2"
+      self.by-version."lodash.debounce"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
+    passthru.names = [ "insight" ];
   };
-  full."js-yaml"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.3";
+  by-spec."intersect"."~0.0.3" =
+    self.by-version."intersect"."0.0.3";
+  by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-intersect-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz";
-        sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c";
+        url = "http://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz";
+        name = "intersect-0.0.3.tgz";
+        sha1 = "c1a4a5e5eac6ede4af7504cc07e0ada7bc9f4920";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.1.0" or []);
+      (self.nativeDeps."intersect" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
+    passthru.names = [ "intersect" ];
   };
-  full."jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.2.0";
+  by-spec."ironhorse"."*" =
+    self.by-version."ironhorse"."0.0.9";
+  by-version."ironhorse"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ironhorse-0.0.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.2.0.tgz";
-        sha1 = "9cd120e17c6635a5bfd6339531b088ed33eb5af2";
+        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.9.tgz";
+        name = "ironhorse-0.0.9.tgz";
+        sha1 = "9cfaf75e464a0bf394d511a05c0a8b8de080a1d9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jshint"."*" or []);
+      (self.nativeDeps."ironhorse" or []);
     deps = [
-      self.full."shelljs"."0.1.x"
-      self.full."underscore"."1.4.x"
-      self.full."cli"."0.4.x"
-      self.full."minimatch"."0.x.x"
-      self.full."console-browserify"."0.1.x"
+      self.by-version."underscore"."1.5.2"
+      self.by-version."winston"."0.7.3"
+      self.by-version."nconf"."0.6.9"
+      self.by-version."fs-walk"."0.0.1"
+      self.by-version."async"."0.7.0"
+      self.by-version."express"."4.0.0"
+      self.by-version."jade"."1.3.1"
+      self.by-version."passport"."0.2.0"
+      self.by-version."passport-http"."0.2.2"
+      self.by-version."js-yaml"."3.0.2"
+      self.by-version."mongoose"."3.8.8"
+      self.by-version."gridfs-stream"."0.4.1"
+      self.by-version."temp"."0.7.0"
+      self.by-version."kue"."0.7.5"
+      self.by-version."redis"."0.10.1"
+      self.by-version."hiredis"."0.1.16"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jshint" ];
+    passthru.names = [ "ironhorse" ];
   };
-  "jshint" = self.full."jshint"."*";
-  full."jshint"."~2.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.1.11";
+  "ironhorse" = self.by-version."ironhorse"."0.0.9";
+  by-spec."is-promise"."~1" =
+    self.by-version."is-promise"."1.0.0";
+  by-version."is-promise"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-is-promise-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz";
-        sha1 = "eb5108fef9ba5ddebb830983f572d242e49e3f96";
+        url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.0.tgz";
+        name = "is-promise-1.0.0.tgz";
+        sha1 = "b998d17551f16f69f7bd4828f58f018cc81e064f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jshint"."~2.1.10" or []);
+      (self.nativeDeps."is-promise" or []);
     deps = [
-      self.full."shelljs"."0.1.x"
-      self.full."underscore"."1.4.x"
-      self.full."cli"."0.4.x"
-      self.full."minimatch"."0.x.x"
-      self.full."console-browserify"."0.1.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jshint" ];
+    passthru.names = [ "is-promise" ];
   };
-  full."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "json-schema-0.2.2";
+  by-spec."is-root"."~0.1.0" =
+    self.by-version."is-root"."0.1.0";
+  by-version."is-root"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-is-root-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
-        sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
+        url = "http://registry.npmjs.org/is-root/-/is-root-0.1.0.tgz";
+        name = "is-root-0.1.0.tgz";
+        sha1 = "825e394ab593df2d73c5d0092fce507270b53dcb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-schema"."0.2.2" or []);
+      (self.nativeDeps."is-root" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "json-schema" ];
+    passthru.names = [ "is-root" ];
   };
-  full."json-stringify-safe"."~3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-3.0.0";
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-isarray-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
-        sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
+        url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        name = "isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~3.0.0" or []);
+      (self.nativeDeps."isarray" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "json-stringify-safe" ];
+    passthru.names = [ "isarray" ];
   };
-  full."json-stringify-safe"."~4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-4.0.0";
+  by-spec."isbinaryfile"."~0.1.8" =
+    self.by-version."isbinaryfile"."0.1.9";
+  by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-isbinaryfile-0.1.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-4.0.0.tgz";
-        sha1 = "77c271aaea54302e68efeaccb56abbf06a9b1a54";
+        url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz";
+        name = "isbinaryfile-0.1.9.tgz";
+        sha1 = "15eece35c4ab708d8924da99fb874f2b5cc0b6c4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~4.0.0" or []);
+      (self.nativeDeps."isbinaryfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "json-stringify-safe" ];
+    passthru.names = [ "isbinaryfile" ];
   };
-  full."json-stringify-safe"."~5.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-5.0.0";
+  by-spec."isbinaryfile"."~0.1.9" =
+    self.by-version."isbinaryfile"."0.1.9";
+  by-spec."isbinaryfile"."~2.0.0" =
+    self.by-version."isbinaryfile"."2.0.1";
+  by-version."isbinaryfile"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-isbinaryfile-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
-        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+        url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.1.tgz";
+        name = "isbinaryfile-2.0.1.tgz";
+        sha1 = "b92369bfdaf616027133e077c5ba145f36699d55";
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~5.0.0" or []);
+      (self.nativeDeps."isbinaryfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "json-stringify-safe" ];
+    passthru.names = [ "isbinaryfile" ];
   };
-  full."jsontool"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jsontool-6.0.0";
+  by-spec."istanbul"."*" =
+    self.by-version."istanbul"."0.2.7";
+  by-version."istanbul"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "istanbul-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jsontool/-/jsontool-6.0.0.tgz";
-        sha1 = "dc2a535b2aa8a10b0b7359c76fa8920cdb92ce6d";
+        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.7.tgz";
+        name = "istanbul-0.2.7.tgz";
+        sha1 = "bb482e1d06a0fea00993a10b2ee266fc740642bc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsontool"."*" or []);
+      (self.nativeDeps."istanbul" or []);
     deps = [
+      self.by-version."esprima"."1.1.1"
+      self.by-version."escodegen"."1.3.2"
+      self.by-version."handlebars"."1.3.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."fileset"."0.1.5"
+      self.by-version."which"."1.0.5"
+      self.by-version."async"."0.2.10"
+      self.by-version."abbrev"."1.0.5"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."resolve"."0.6.3"
+      self.by-version."js-yaml"."3.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jsontool" ];
+    passthru.names = [ "istanbul" ];
   };
-  "jsontool" = self.full."jsontool"."*";
-  full."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jsprim-0.3.0";
+  "istanbul" = self.by-version."istanbul"."0.2.7";
+  by-spec."istanbul"."~0.2.3" =
+    self.by-version."istanbul"."0.2.7";
+  by-spec."istanbul"."~0.2.4" =
+    self.by-version."istanbul"."0.2.7";
+  by-spec."jade"."*" =
+    self.by-version."jade"."1.3.1";
+  by-version."jade"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
-        sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
+        url = "http://registry.npmjs.org/jade/-/jade-1.3.1.tgz";
+        name = "jade-1.3.1.tgz";
+        sha1 = "7483d848b8714dc50a40da98b0409790b374216b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsprim"."0.3.0" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
-      self.full."json-schema"."0.2.2"
-      self.full."verror"."1.3.3"
+      self.by-version."commander"."2.1.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."transformers"."2.1.0"
+      self.by-version."character-parser"."1.2.0"
+      self.by-version."monocle"."1.1.51"
+      self.by-version."with"."3.0.0"
+      self.by-version."constantinople"."2.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jsprim" ];
+    passthru.names = [ "jade" ];
   };
-  full."junk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "junk-0.2.1";
+  "jade" = self.by-version."jade"."1.3.1";
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-0.26.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/junk/-/junk-0.2.1.tgz";
-        sha1 = "e8a4c42c421746da34b354d0510507cb79f3c583";
+        url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
+        name = "jade-0.26.3.tgz";
+        sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."junk"."~0.2.0" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "junk" ];
+    passthru.names = [ "jade" ];
   };
-  full."karma"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."jade"."0.27.0" =
+    self.by-version."jade"."0.27.0";
+  by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-0.27.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
+        name = "jade-0.27.0.tgz";
+        sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."*" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "jade" ];
   };
-  "karma" = self.full."karma"."*";
-  full."karma".">=0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."jade"."1.1.5" =
+    self.by-version."jade"."1.1.5";
+  by-version."jade"."1.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-1.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/jade/-/jade-1.1.5.tgz";
+        name = "jade-1.1.5.tgz";
+        sha1 = "e884d3d3565807e280f5ba760f68addb176627a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma".">=0.9" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."commander"."2.1.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."transformers"."2.1.0"
+      self.by-version."character-parser"."1.2.0"
+      self.by-version."monocle"."1.1.51"
+      self.by-version."with"."2.0.0"
+      self.by-version."constantinople"."1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "jade" ];
   };
-  full."karma".">=0.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."jade".">= 0.0.1" =
+    self.by-version."jade"."1.3.1";
+  by-spec."jade"."~0.35.0" =
+    self.by-version."jade"."0.35.0";
+  by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-0.35.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
+        name = "jade-0.35.0.tgz";
+        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma".">=0.9.3" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."commander"."2.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."transformers"."2.1.0"
+      self.by-version."character-parser"."1.2.0"
+      self.by-version."monocle"."1.1.50"
+      self.by-version."with"."1.1.1"
+      self.by-version."constantinople"."1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "jade" ];
   };
-  full."karma"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.10.2";
+  by-spec."jayschema"."*" =
+    self.by-version."jayschema"."0.2.7";
+  by-version."jayschema"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "jayschema-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.10.2.tgz";
-        sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.7.tgz";
+        name = "jayschema-0.2.7.tgz";
+        sha1 = "99d653a0c6ceec4f2c5932c5d73c835bb8911062";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."~0.10.0" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."jayschema" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."when"."3.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "jayschema" ];
   };
-  full."karma-chrome-launcher"."*" = self.full."karma"."~0.10.0";
-  "karma-chrome-launcher" = self.full."karma-chrome-launcher"."*";
-  full."karma-coffee-preprocessor"."*" = self.full."karma"."~0.10.0";
-  full."karma-coverage"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-coverage-0.1.0";
+  "jayschema" = self.by-version."jayschema"."0.2.7";
+  by-spec."js-yaml"."*" =
+    self.by-version."js-yaml"."3.0.2";
+  by-version."js-yaml"."3.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-3.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.0.tgz";
-        sha1 = "6d5d03352cbe2d529807e558688dceea55f9dbb0";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.2.tgz";
+        name = "js-yaml-3.0.2.tgz";
+        sha1 = "9937865f8e897a5e894e73c2c5cf2e89b32eb771";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-coverage"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."istanbul"."~0.1.41"
-      self.full."dateformat"."~1.0.6"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
     ];
-    passthru.names = [ "karma-coverage" ];
+    passthru.names = [ "js-yaml" ];
   };
-  "karma-coverage" = self.full."karma-coverage"."*";
-  full."karma-firefox-launcher"."*" = self.full."karma"."~0.10.0";
-  full."karma-html2js-preprocessor"."*" = self.full."karma"."~0.10.0";
-  full."karma-jasmine"."*" = self.full."karma"."~0.10.0";
-  full."karma-junit-reporter"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-junit-reporter-0.1.0";
+  "js-yaml" = self.by-version."js-yaml"."3.0.2";
+  by-spec."js-yaml"."0.3.x" =
+    self.by-version."js-yaml"."0.3.7";
+  by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-js-yaml-0.3.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.1.0.tgz";
-        sha1 = "7af72b64d7e9f192d1a40f4ef063ffbcf9e7bba5";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
+        name = "js-yaml-0.3.7.tgz";
+        sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-junit-reporter"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
     ];
-    passthru.names = [ "karma-junit-reporter" ];
+    passthru.names = [ "js-yaml" ];
   };
-  "karma-junit-reporter" = self.full."karma-junit-reporter"."*";
-  full."karma-mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-mocha-0.1.0";
+  by-spec."js-yaml"."2.1.0" =
+    self.by-version."js-yaml"."2.1.0";
+  by-version."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.0.tgz";
-        sha1 = "451cfef48c51850e45db9d119927502e6a2feb40";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
+        name = "js-yaml-2.1.0.tgz";
+        sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-mocha"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
-      self.full."mocha"."*"
     ];
-    passthru.names = [ "karma-mocha" ];
+    passthru.names = [ "js-yaml" ];
   };
-  "karma-mocha" = self.full."karma-mocha"."*";
-  full."karma-phantomjs-launcher"."*" = self.full."karma"."~0.10.0";
-  full."karma-requirejs"."*" = self.full."karma"."~0.10.0";
-  "karma-requirejs" = self.full."karma-requirejs"."*";
-  full."karma-sauce-launcher"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-sauce-launcher-0.1.1";
+  by-spec."js-yaml"."3.0.1" =
+    self.by-version."js-yaml"."3.0.1";
+  by-version."js-yaml"."3.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-3.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.1.1.tgz";
-        sha1 = "34b82b8cb285c239b0fede1a8363488cc02f429b";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
+        name = "js-yaml-3.0.1.tgz";
+        sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-sauce-launcher"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."wd"."~0.1.5"
-      self.full."sauce-connect-launcher"."~0.1.10"
-      self.full."q"."~0.9.6"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
     ];
-    passthru.names = [ "karma-sauce-launcher" ];
+    passthru.names = [ "js-yaml" ];
   };
-  "karma-sauce-launcher" = self.full."karma-sauce-launcher"."*";
-  full."karma-script-launcher"."*" = self.full."karma"."~0.10.0";
-  full."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "keen.io-0.0.3";
+  by-spec."js-yaml"."3.x" =
+    self.by-version."js-yaml"."3.0.2";
+  by-spec."js-yaml"."~2.0.5" =
+    self.by-version."js-yaml"."2.0.5";
+  by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-2.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/keen.io/-/keen.io-0.0.3.tgz";
-        sha1 = "2d6ae2baa6d24b618f378b2a44413e1283fbcb63";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
+        name = "js-yaml-2.0.5.tgz";
+        sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."keen.io"."0.0.3" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."superagent"."~0.13.0"
-      self.full."underscore"."~1.4.4"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "keen.io" ];
+    passthru.names = [ "js-yaml" ];
   };
-  full."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "keep-alive-agent-0.0.1";
+  by-spec."js-yaml"."~3.0.1" =
+    self.by-version."js-yaml"."3.0.2";
+  by-spec."jsesc"."0.4.3" =
+    self.by-version."jsesc"."0.4.3";
+  by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "jsesc-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
-        sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
+        url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
+        name = "jsesc-0.4.3.tgz";
+        sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."keep-alive-agent"."0.0.1" or []);
+      (self.nativeDeps."jsesc" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "keep-alive-agent" ];
+    passthru.names = [ "jsesc" ];
   };
-  full."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "kerberos-0.0.3";
+  by-spec."jsesc"."~0.4.3" =
+    self.by-version."jsesc"."0.4.3";
+  by-spec."jshint"."*" =
+    self.by-version."jshint"."2.5.0";
+  by-version."jshint"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
-        sha1 = "4285d92a0748db2784062f5adcec9f5956cb818a";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.0.tgz";
+        name = "jshint-2.5.0.tgz";
+        sha1 = "82fd1a235ffce75fad1b40b2a38bef47beac8c54";
       })
     ];
     buildInputs =
-      (self.nativeDeps."kerberos"."0.0.3" or []);
+      (self.nativeDeps."jshint" or []);
     deps = [
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."cli"."0.4.5"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."htmlparser2"."3.3.0"
+      self.by-version."console-browserify"."0.1.6"
+      self.by-version."exit"."0.1.2"
+      self.by-version."strip-json-comments"."0.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "kerberos" ];
+    passthru.names = [ "jshint" ];
   };
-  full."kew"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "kew-0.1.7";
+  "jshint" = self.by-version."jshint"."2.5.0";
+  by-spec."jshint"."~2.5.0" =
+    self.by-version."jshint"."2.5.0";
+  by-spec."json-schema"."0.2.2" =
+    self.by-version."json-schema"."0.2.2";
+  by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-json-schema-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
-        sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
+        url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
+        name = "json-schema-0.2.2.tgz";
+        sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
       })
     ];
     buildInputs =
-      (self.nativeDeps."kew"."~0.1.7" or []);
+      (self.nativeDeps."json-schema" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "kew" ];
+    passthru.names = [ "json-schema" ];
   };
-  full."knox"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "knox-0.8.6";
+  by-spec."json-stringify-safe"."~3.0.0" =
+    self.by-version."json-stringify-safe"."3.0.0";
+  by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-json-stringify-safe-3.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/knox/-/knox-0.8.6.tgz";
-        sha1 = "244e7c643c4c9ea2eb37e215dd02b07c8e138e3a";
+        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
+        name = "json-stringify-safe-3.0.0.tgz";
+        sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."knox"."*" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
-      self.full."mime"."*"
-      self.full."xml2js"."0.2.x"
-      self.full."debug"."~0.7.0"
-      self.full."stream-counter"."~0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "knox" ];
+    passthru.names = [ "json-stringify-safe" ];
   };
-  "knox" = self.full."knox"."*";
-  full."kue"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "kue-0.6.2";
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-json-stringify-safe-5.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kue/-/kue-0.6.2.tgz";
-        sha1 = "9a6a95081842cf4ee3da5c61770bc23616a943f2";
+        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+        name = "json-stringify-safe-5.0.0.tgz";
+        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."kue"."*" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
-      self.full."redis"."0.7.2"
-      self.full."express"."~3.1.1"
-      self.full."jade"."0.26.3"
-      self.full."stylus"."0.27.2"
-      self.full."nib"."0.5.0"
-      self.full."reds"."0.1.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "kue" ];
+    passthru.names = [ "json-stringify-safe" ];
   };
-  "kue" = self.full."kue"."*";
-  full."lazy"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "lazy-1.0.11";
+  by-spec."jsonfile"."~1.0.1" =
+    self.by-version."jsonfile"."1.0.1";
+  by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-jsonfile-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
-        sha1 = "daa068206282542c088288e975c297c1ae77b690";
+        url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
+        name = "jsonfile-1.0.1.tgz";
+        sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lazy"."~1.0.11" or []);
+      (self.nativeDeps."jsonfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lazy" ];
+    passthru.names = [ "jsonfile" ];
   };
-  full."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "lcov-parse-0.0.4";
+  by-spec."jsonify"."~0.0.0" =
+    self.by-version."jsonify"."0.0.0";
+  by-version."jsonify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-jsonify-0.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.4.tgz";
-        sha1 = "3853a4f132f04581db0e74c180542d90f0d1c66b";
+        url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+        name = "jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-parse"."0.0.4" or []);
+      (self.nativeDeps."jsonify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lcov-parse" ];
+    passthru.names = [ "jsonify" ];
   };
-  full."lcov-result-merger"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "lcov-result-merger-0.0.2";
+  by-spec."jsonparse"."0.0.5" =
+    self.by-version."jsonparse"."0.0.5";
+  by-version."jsonparse"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-jsonparse-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-0.0.2.tgz";
-        sha1 = "72a538c09f76e5c79b511bcd1053948d4aa98f10";
+        url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";
+        name = "jsonparse-0.0.5.tgz";
+        sha1 = "330542ad3f0a654665b778f3eb2d9a9fa507ac64";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-result-merger"."*" or []);
+      (self.nativeDeps."jsonparse" or []);
     deps = [
-      self.full."glob"."~3.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lcov-result-merger" ];
+    passthru.names = [ "jsonparse" ];
   };
-  "lcov-result-merger" = self.full."lcov-result-merger"."*";
-  full."less"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "less-1.4.2";
+  by-spec."jsontool"."*" =
+    self.by-version."jsontool"."7.0.2";
+  by-version."jsontool"."7.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "jsontool-7.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.4.2.tgz";
-        sha1 = "b7deefe98a3a87bee364411b3df2d1efe5a412d0";
+        url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz";
+        name = "jsontool-7.0.2.tgz";
+        sha1 = "e29d3d1b0766ba4e179a18a96578b904dca43207";
       })
     ];
     buildInputs =
-      (self.nativeDeps."less"."~1.4.0" or []);
+      (self.nativeDeps."jsontool" or []);
     deps = [
-      self.full."mime"."1.2.x"
-      self.full."request".">=2.12.0"
-      self.full."mkdirp"."~0.3.4"
-      self.full."ycssmin".">=1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "less" ];
+    passthru.names = [ "jsontool" ];
   };
-  full."libxmljs"."~0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "libxmljs-0.8.1";
+  "jsontool" = self.by-version."jsontool"."7.0.2";
+  by-spec."jsprim"."0.3.0" =
+    self.by-version."jsprim"."0.3.0";
+  by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-jsprim-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.8.1.tgz";
-        sha1 = "b8b1d3962a92dbc5be9dc798bac028e09db8d630";
+        url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
+        name = "jsprim-0.3.0.tgz";
+        sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."libxmljs"."~0.8.1" or []);
+      (self.nativeDeps."jsprim" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
+      self.by-version."json-schema"."0.2.2"
+      self.by-version."verror"."1.3.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "libxmljs" ];
+    passthru.names = [ "jsprim" ];
   };
-  full."libyaml"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "libyaml-0.2.2";
+  by-spec."jstransform"."~3.0.0" =
+    self.by-version."jstransform"."3.0.0";
+  by-version."jstransform"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-jstransform-3.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.2.tgz";
-        sha1 = "a22d5f699911b6b622d6dc323fb62320c877c9c8";
+        url = "http://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz";
+        name = "jstransform-3.0.0.tgz";
+        sha1 = "a2591ab6cee8d97bf3be830dbfa2313b87cd640b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."libyaml"."*" or []);
+      (self.nativeDeps."jstransform" or []);
     deps = [
+      self.by-version."base62"."0.1.1"
+      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "libyaml" ];
+    passthru.names = [ "jstransform" ];
   };
-  "libyaml" = self.full."libyaml"."*";
-  full."lockfile"."~0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.3.4";
+  by-spec."junk"."~0.2.0" =
+    self.by-version."junk"."0.2.2";
+  by-version."junk"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-junk-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.3.4.tgz";
-        sha1 = "932b63546e4915f81b71924b36187740358eda03";
+        url = "http://registry.npmjs.org/junk/-/junk-0.2.2.tgz";
+        name = "junk-0.2.2.tgz";
+        sha1 = "d595eb199b37930cecd1f2c52820847e80e48ae7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.3.2" or []);
+      (self.nativeDeps."junk" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lockfile" ];
+    passthru.names = [ "junk" ];
   };
-  full."lockfile"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.4.2";
+  by-spec."karma"."*" =
+    self.by-version."karma"."0.12.9";
+  by-version."karma"."0.12.9" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.12.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz";
-        sha1 = "ab91f5d3745bc005ae4fa34d078910d1f2b9612d";
+        url = "http://registry.npmjs.org/karma/-/karma-0.12.9.tgz";
+        name = "karma-0.12.9.tgz";
+        sha1 = "9431735e50fcbd8ca04963a0e4da0b6550b41998";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.4.0" or []);
+      (self.nativeDeps."karma" or []);
     deps = [
+      self.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.8.2"
+      self.by-version."glob"."3.2.9"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."http-proxy"."0.10.4"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.2"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.14"
+      self.by-version."useragent"."2.0.8"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."connect"."2.12.0"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lockfile" ];
+    passthru.names = [ "karma" ];
   };
-  full."lodash"."~0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-0.9.2";
+  "karma" = self.by-version."karma"."0.12.9";
+  by-spec."karma".">=0.11.11" =
+    self.by-version."karma"."0.12.9";
+  by-spec."karma".">=0.9" =
+    self.by-version."karma"."0.12.9";
+  by-spec."karma".">=0.9.3" =
+    self.by-version."karma"."0.12.9";
+  by-spec."karma"."~0.12.0" =
+    self.by-version."karma"."0.12.9";
+  by-spec."karma-chrome-launcher"."*" =
+    self.by-version."karma-chrome-launcher"."0.1.3";
+  by-version."karma-chrome-launcher"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-chrome-launcher-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
-        sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
+        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.3.tgz";
+        name = "karma-chrome-launcher-0.1.3.tgz";
+        sha1 = "b7f82dd9c83c84d26355bf31159739706973a3ec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~0.9.0" or []);
+      (self.nativeDeps."karma-chrome-launcher" or []);
     deps = [
     ];
     peerDependencies = [
+      self.by-version."karma"."0.12.9"
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "karma-chrome-launcher" ];
   };
-  full."lodash"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.0.1";
+  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.3";
+  by-spec."karma-coverage"."*" =
+    self.by-version."karma-coverage"."0.2.1";
+  by-version."karma-coverage"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-coverage-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz";
-        sha1 = "57945732498d92310e5bd4b1ff4f273a79e6c9fc";
+        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.2.1.tgz";
+        name = "karma-coverage-0.2.1.tgz";
+        sha1 = "3b1bce268711a631e008e108930906eceae0a623";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.0.1" or []);
+      (self.nativeDeps."karma-coverage" or []);
     deps = [
+      self.by-version."istanbul"."0.2.7"
+      self.by-version."ibrik"."1.1.1"
+      self.by-version."dateformat"."1.0.7-1.2.3"
     ];
     peerDependencies = [
+      self.by-version."karma"."0.12.9"
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "karma-coverage" ];
   };
-  full."lodash"."~1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.1.1";
+  "karma-coverage" = self.by-version."karma-coverage"."0.2.1";
+  by-spec."karma-junit-reporter"."*" =
+    self.by-version."karma-junit-reporter"."0.2.2";
+  by-version."karma-junit-reporter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-junit-reporter-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
+        url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.2.tgz";
+        name = "karma-junit-reporter-0.2.2.tgz";
+        sha1 = "4cdd4e21affd3e090e7ba73e3c766ea9e13c45ba";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.1" or []);
+      (self.nativeDeps."karma-junit-reporter" or []);
     deps = [
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
+      self.by-version."karma"."0.12.9"
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "karma-junit-reporter" ];
   };
-  full."lodash"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.1.1";
+  "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.2";
+  by-spec."karma-mocha"."*" =
+    self.by-version."karma-mocha"."0.1.3";
+  by-version."karma-mocha"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-mocha-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
+        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.3.tgz";
+        name = "karma-mocha-0.1.3.tgz";
+        sha1 = "396e44be8ddb4abf28bfca0387924c3aeddbce1a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.1.1" or []);
+      (self.nativeDeps."karma-mocha" or []);
     deps = [
     ];
     peerDependencies = [
+      self.by-version."karma"."0.12.9"
+      self.by-version."mocha"."1.18.2"
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "karma-mocha" ];
   };
-  full."lodash"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.2.1";
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.3";
+  by-spec."karma-requirejs"."*" =
+    self.by-version."karma-requirejs"."0.2.1";
+  by-version."karma-requirejs"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-requirejs-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz";
-        sha1 = "ed47b16e46f06b2b40309b68e9163c17e93ea304";
+        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.1.tgz";
+        name = "karma-requirejs-0.2.1.tgz";
+        sha1 = "7f3ac5df67bccd9d832a928ec658d733ec983c5d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.2.1" or []);
+      (self.nativeDeps."karma-requirejs" or []);
     deps = [
     ];
     peerDependencies = [
+      self.by-version."karma"."0.12.9"
+      self.by-version."requirejs"."2.1.11"
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "karma-requirejs" ];
   };
-  full."lodash"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.3.1";
+  "karma-requirejs" = self.by-version."karma-requirejs"."0.2.1";
+  by-spec."karma-sauce-launcher"."*" =
+    self.by-version."karma-sauce-launcher"."0.2.7";
+  by-version."karma-sauce-launcher"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-sauce-launcher-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.7.tgz";
+        name = "karma-sauce-launcher-0.2.7.tgz";
+        sha1 = "a87a0b2e3612b298f3f6c2a96839940af85ac849";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.0" or []);
+      (self.nativeDeps."karma-sauce-launcher" or []);
     deps = [
+      self.by-version."wd"."0.2.19"
+      self.by-version."sauce-connect-launcher"."0.4.2"
+      self.by-version."q"."0.9.7"
+      self.by-version."saucelabs"."0.1.1"
     ];
     peerDependencies = [
+      self.by-version."karma"."0.12.9"
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "karma-sauce-launcher" ];
   };
-  full."lodash"."~1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.3.1";
+  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.7";
+  by-spec."keen.io"."~0.0.4" =
+    self.by-version."keen.io"."0.0.4";
+  by-version."keen.io"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-keen.io-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+        url = "http://registry.npmjs.org/keen.io/-/keen.io-0.0.4.tgz";
+        name = "keen.io-0.0.4.tgz";
+        sha1 = "041caa79371a6bec51288e222f3bb2e05c7e6b25";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.1" or []);
+      (self.nativeDeps."keen.io" or []);
     deps = [
+      self.by-version."superagent"."0.13.0"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash" ];
+    passthru.names = [ "keen.io" ];
   };
-  full."lodash._arraypool"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._arraypool-2.2.1";
+  by-spec."keep-alive-agent"."0.0.1" =
+    self.by-version."keep-alive-agent"."0.0.1";
+  by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-keep-alive-agent-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.2.1.tgz";
-        sha1 = "09c741461dde7a7bc467d826ee50c8b1216427f4";
+        url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
+        name = "keep-alive-agent-0.0.1.tgz";
+        sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._arraypool"."~2.2.1" or []);
+      (self.nativeDeps."keep-alive-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._arraypool" ];
+    passthru.names = [ "keep-alive-agent" ];
   };
-  full."lodash._basecreatecallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._basecreatecallback-2.2.1";
+  by-spec."kerberos"."0.0.3" =
+    self.by-version."kerberos"."0.0.3";
+  by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-kerberos-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.2.1.tgz";
-        sha1 = "486940419a6f195996cb0f7644af71341c608ce4";
+        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
+        name = "kerberos-0.0.3.tgz";
+        sha1 = "4285d92a0748db2784062f5adcec9f5956cb818a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._basecreatecallback"."~2.2.1" or []);
+      (self.nativeDeps."kerberos" or []);
     deps = [
-      self.full."lodash.bind"."~2.2.1"
-      self.full."lodash.identity"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._basecreatecallback" ];
+    passthru.names = [ "kerberos" ];
   };
-  full."lodash._baseisequal"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._baseisequal-2.2.1";
+  by-spec."kew"."~0.1.7" =
+    self.by-version."kew"."0.1.7";
+  by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-kew-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-2.2.1.tgz";
-        sha1 = "8bd0156ad5c47d927b58d54456329922b24ce0e7";
+        url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
+        name = "kew-0.1.7.tgz";
+        sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._baseisequal"."~2.2.1" or []);
+      (self.nativeDeps."kew" or []);
     deps = [
-      self.full."lodash.forin"."~2.2.1"
-      self.full."lodash._getarray"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-      self.full."lodash._releasearray"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._baseisequal" ];
+    passthru.names = [ "kew" ];
   };
-  full."lodash._createbound"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createbound-2.2.1";
+  by-spec."keygrip"."~1.0.0" =
+    self.by-version."keygrip"."1.0.0";
+  by-version."keygrip"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-keygrip-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createbound/-/lodash._createbound-2.2.1.tgz";
-        sha1 = "27218a40dc73eaf7a1bc90c3f86b0bf79c272ccc";
+        url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.0.tgz";
+        name = "keygrip-1.0.0.tgz";
+        sha1 = "b771120e8e697b8692b76866a84cdff3912fc379";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._createbound"."~2.2.1" or []);
+      (self.nativeDeps."keygrip" or []);
     deps = [
-      self.full."lodash._createobject"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._createbound" ];
+    passthru.names = [ "keygrip" ];
   };
-  full."lodash._createobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createobject-2.2.1";
+  by-spec."keypress"."0.1.x" =
+    self.by-version."keypress"."0.1.0";
+  by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-keypress-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createobject/-/lodash._createobject-2.2.1.tgz";
-        sha1 = "8c38ad5d83de703537c863330b97059417fbfee9";
+        url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
+        name = "keypress-0.1.0.tgz";
+        sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._createobject"."~2.2.1" or []);
+      (self.nativeDeps."keypress" or []);
     deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._createobject" ];
+    passthru.names = [ "keypress" ];
   };
-  full."lodash._getarray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._getarray-2.2.1";
+  by-spec."keypress"."~0.1.0" =
+    self.by-version."keypress"."0.1.0";
+  by-spec."knockout"."~3.1.0" =
+    self.by-version."knockout"."3.1.0";
+  by-version."knockout"."3.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-knockout-3.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.2.1.tgz";
-        sha1 = "aa5caa269f1649a186811d5be4a78e56e70e9699";
+        url = "http://registry.npmjs.org/knockout/-/knockout-3.1.0.tgz";
+        name = "knockout-3.1.0.tgz";
+        sha1 = "8960ecfafa20e1d5795badfbf6256693f17b7bf5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._getarray"."~2.2.1" or []);
+      (self.nativeDeps."knockout" or []);
     deps = [
-      self.full."lodash._arraypool"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._getarray" ];
+    passthru.names = [ "knockout" ];
   };
-  full."lodash._maxpoolsize"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._maxpoolsize-2.2.1";
+  by-spec."knox"."*" =
+    self.by-version."knox"."0.8.9";
+  by-version."knox"."0.8.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-knox-0.8.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.2.1.tgz";
-        sha1 = "1e8b6d433271db7c12ec953d49604ea098542fa7";
+        url = "http://registry.npmjs.org/knox/-/knox-0.8.9.tgz";
+        name = "knox-0.8.9.tgz";
+        sha1 = "b96ec0b4ec1be75d8006f80cb302bfa818d7001c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._maxpoolsize"."~2.2.1" or []);
+      (self.nativeDeps."knox" or []);
     deps = [
+      self.by-version."mime"."1.2.11"
+      self.by-version."xml2js"."0.2.8"
+      self.by-version."debug"."0.7.4"
+      self.by-version."stream-counter"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._maxpoolsize" ];
+    passthru.names = [ "knox" ];
   };
-  full."lodash._noop"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._noop-2.2.1";
+  "knox" = self.by-version."knox"."0.8.9";
+  by-spec."kue"."*" =
+    self.by-version."kue"."0.7.5";
+  by-version."kue"."0.7.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-kue-0.7.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._noop/-/lodash._noop-2.2.1.tgz";
-        sha1 = "f790734f9f683c9fda8da9f4d8a8000a2201c6e9";
+        url = "http://registry.npmjs.org/kue/-/kue-0.7.5.tgz";
+        name = "kue-0.7.5.tgz";
+        sha1 = "d815a8a35b22dd28df3f54f0b874403a257dc807";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._noop"."~2.2.1" or []);
+      (self.nativeDeps."kue" or []);
     deps = [
+      self.by-version."redis"."0.10.1"
+      self.by-version."express"."3.1.2"
+      self.by-version."jade"."1.1.5"
+      self.by-version."stylus"."0.42.2"
+      self.by-version."nib"."0.5.0"
+      self.by-version."reds"."0.2.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._noop" ];
+    passthru.names = [ "kue" ];
   };
-  full."lodash._objecttypes"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._objecttypes-2.2.1";
+  "kue" = self.by-version."kue"."0.7.5";
+  by-spec."lazy"."~1.0.11" =
+    self.by-version."lazy"."1.0.11";
+  by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lazy-1.0.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.2.1.tgz";
-        sha1 = "c72d42a5dec0b55664f82162ed74c5f3f94942ba";
+        url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
+        name = "lazy-1.0.11.tgz";
+        sha1 = "daa068206282542c088288e975c297c1ae77b690";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._objecttypes"."~2.2.1" or []);
+      (self.nativeDeps."lazy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._objecttypes" ];
+    passthru.names = [ "lazy" ];
   };
-  full."lodash._releasearray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._releasearray-2.2.1";
+  by-spec."lazystream"."~0.1.0" =
+    self.by-version."lazystream"."0.1.0";
+  by-version."lazystream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lazystream-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.2.1.tgz";
-        sha1 = "81626c89e26ce2fbc90a11ce8f6ef26ea15c4b28";
+        url = "http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz";
+        name = "lazystream-0.1.0.tgz";
+        sha1 = "1b25d63c772a4c20f0a5ed0a9d77f484b6e16920";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._releasearray"."~2.2.1" or []);
+      (self.nativeDeps."lazystream" or []);
     deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-      self.full."lodash._maxpoolsize"."~2.2.1"
+      self.by-version."readable-stream"."1.0.27-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._releasearray" ];
+    passthru.names = [ "lazystream" ];
   };
-  full."lodash._renative"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._renative-2.2.1";
+  by-spec."lcov-parse"."0.0.6" =
+    self.by-version."lcov-parse"."0.0.6";
+  by-version."lcov-parse"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lcov-parse-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._renative/-/lodash._renative-2.2.1.tgz";
-        sha1 = "ab77d711371ebae8ffdcf5c83b576d558d6bb522";
+        url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
+        name = "lcov-parse-0.0.6.tgz";
+        sha1 = "819e5da8bf0791f9d3f39eea5ed1868187f11175";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._renative"."~2.2.1" or []);
+      (self.nativeDeps."lcov-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._renative" ];
+    passthru.names = [ "lcov-parse" ];
   };
-  full."lodash._setbinddata"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._setbinddata-2.2.1";
+  by-spec."lcov-result-merger"."*" =
+    self.by-version."lcov-result-merger"."0.0.2";
+  by-version."lcov-result-merger"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "lcov-result-merger-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.2.1.tgz";
-        sha1 = "df1d5228229c71e28185aae4f828f3b5e78f0904";
+        url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-0.0.2.tgz";
+        name = "lcov-result-merger-0.0.2.tgz";
+        sha1 = "72a538c09f76e5c79b511bcd1053948d4aa98f10";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._setbinddata"."~2.2.1" or []);
+      (self.nativeDeps."lcov-result-merger" or []);
     deps = [
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._setbinddata" ];
+    passthru.names = [ "lcov-result-merger" ];
   };
-  full."lodash._shimkeys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._shimkeys-2.2.1";
+  "lcov-result-merger" = self.by-version."lcov-result-merger"."0.0.2";
+  by-spec."less"."*" =
+    self.by-version."less"."1.7.0";
+  by-version."less"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.2.1.tgz";
-        sha1 = "ed4e4b5d61214b2685400b185a59fabf59343455";
+        url = "http://registry.npmjs.org/less/-/less-1.7.0.tgz";
+        name = "less-1.7.0.tgz";
+        sha1 = "6f1293bac1f402c932c2ce21ba7337f7c635ba84";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash._shimkeys"."~2.2.1" or []);
+      (self.nativeDeps."less" or []);
     deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."request"."2.34.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."clean-css"."2.1.8"
+      self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash._shimkeys" ];
+    passthru.names = [ "less" ];
   };
-  full."lodash.bind"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.bind-2.2.1";
+  "less" = self.by-version."less"."1.7.0";
+  by-spec."less"."^1.7.0" =
+    self.by-version."less"."1.7.0";
+  by-spec."less"."~1.7.0" =
+    self.by-version."less"."1.7.0";
+  by-spec."lexical-scope"."~1.1.0" =
+    self.by-version."lexical-scope"."1.1.0";
+  by-version."lexical-scope"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lexical-scope-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.bind/-/lodash.bind-2.2.1.tgz";
-        sha1 = "4c24fe00b4c6fa277e4058d353edcf399b3755c2";
+        url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz";
+        name = "lexical-scope-1.1.0.tgz";
+        sha1 = "899f36c4ec9c5af19736361aae290a6ef2af0800";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.bind"."~2.2.1" or []);
+      (self.nativeDeps."lexical-scope" or []);
     deps = [
-      self.full."lodash._createbound"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
+      self.by-version."astw"."1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.bind" ];
+    passthru.names = [ "lexical-scope" ];
   };
-  full."lodash.createcallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.createcallback-2.2.1";
+  by-spec."libxmljs"."~0.8.1" =
+    self.by-version."libxmljs"."0.8.1";
+  by-version."libxmljs"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-libxmljs-0.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.createcallback/-/lodash.createcallback-2.2.1.tgz";
-        sha1 = "bb5291c473202a391c1a495a0806bf4b1d1842d2";
+        url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.8.1.tgz";
+        name = "libxmljs-0.8.1.tgz";
+        sha1 = "b8b1d3962a92dbc5be9dc798bac028e09db8d630";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.createcallback"."~2.2.1" or []);
+      (self.nativeDeps."libxmljs" or []);
     deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._baseisequal"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.createcallback" ];
+    passthru.names = [ "libxmljs" ];
   };
-  full."lodash.debounce"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
+  by-spec."libyaml"."*" =
+    self.by-version."libyaml"."0.2.3";
+  by-version."libyaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-libyaml-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
+        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.3.tgz";
+        name = "libyaml-0.2.3.tgz";
+        sha1 = "c07e7fefcad6e09218ebf9ff814bbd520172add6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.0" or []);
+      (self.nativeDeps."libyaml" or []);
     deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.debounce" ];
+    passthru.names = [ "libyaml" ];
   };
-  full."lodash.debounce"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
+  "libyaml" = self.by-version."libyaml"."0.2.3";
+  by-spec."lockfile"."~0.4.0" =
+    self.by-version."lockfile"."0.4.2";
+  by-version."lockfile"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lockfile-0.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
+        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz";
+        name = "lockfile-0.4.2.tgz";
+        sha1 = "ab91f5d3745bc005ae4fa34d078910d1f2b9612d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.1" or []);
+      (self.nativeDeps."lockfile" or []);
     deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.debounce" ];
+    passthru.names = [ "lockfile" ];
   };
-  full."lodash.find"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.find-2.2.1";
+  by-spec."lockfile"."~0.4.2" =
+    self.by-version."lockfile"."0.4.2";
+  by-spec."lodash"."^2.4.1" =
+    self.by-version."lodash"."2.4.1";
+  by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.find/-/lodash.find-2.2.1.tgz";
-        sha1 = "768cc2149a589d2fd7b7203c6abe34bcb724d01a";
+        url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz";
+        name = "lodash-2.4.1.tgz";
+        sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.find"."~2.2.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
-      self.full."lodash.createcallback"."~2.2.1"
-      self.full."lodash.forown"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.find" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.forin"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forin-2.2.1";
+  by-spec."lodash"."~0.10.0" =
+    self.by-version."lodash"."0.10.0";
+  by-version."lodash"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forin/-/lodash.forin-2.2.1.tgz";
-        sha1 = "d96a47f547002f322dcdc533b0f9e914cba7d050";
+        url = "http://registry.npmjs.org/lodash/-/lodash-0.10.0.tgz";
+        name = "lodash-0.10.0.tgz";
+        sha1 = "5254bbc2c46c827f535a27d631fd4f2bff374ce7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.forin"."~2.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.forin" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.forown"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forown-2.2.1";
+  by-spec."lodash"."~0.9.2" =
+    self.by-version."lodash"."0.9.2";
+  by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-0.9.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forown/-/lodash.forown-2.2.1.tgz";
-        sha1 = "77ee0877c135b603dafe8f2d9ceff215b16458ea";
+        url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
+        name = "lodash-0.9.2.tgz";
+        sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.forown"."~2.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.forown" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.identity"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.identity-2.2.1";
+  by-spec."lodash"."~1.2.1" =
+    self.by-version."lodash"."1.2.1";
+  by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.identity/-/lodash.identity-2.2.1.tgz";
-        sha1 = "63518772143d450a772511f6671e23038c67bcae";
+        url = "http://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz";
+        name = "lodash-1.2.1.tgz";
+        sha1 = "ed47b16e46f06b2b40309b68e9163c17e93ea304";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.identity"."~2.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.identity" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.isfunction"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isfunction-2.2.1";
+  by-spec."lodash"."~1.3.0" =
+    self.by-version."lodash"."1.3.1";
+  by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.2.1.tgz";
-        sha1 = "fcfa79b7b2c072b320468ecdc0244bbbac5e49c0";
+        url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
+        name = "lodash-1.3.1.tgz";
+        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.isfunction"."~2.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.isfunction" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.isobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isobject-2.2.1";
+  by-spec."lodash"."~1.3.1" =
+    self.by-version."lodash"."1.3.1";
+  by-spec."lodash"."~2.1.0" =
+    self.by-version."lodash"."2.1.0";
+  by-version."lodash"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.2.1.tgz";
-        sha1 = "cbce101e3e3b718cb51b1113e4597d6e8e038831";
+        url = "http://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz";
+        name = "lodash-2.1.0.tgz";
+        sha1 = "0637eaaa36a8a1cfc865c3adfb942189bfb0998d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.isobject"."~2.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.isobject" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.keys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.keys-2.2.1";
+  by-spec."lodash"."~2.2.1" =
+    self.by-version."lodash"."2.2.1";
+  by-version."lodash"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.2.1.tgz";
-        sha1 = "f372597e6f411d7537e32ba0efc85b5f874d5cca";
+        url = "http://registry.npmjs.org/lodash/-/lodash-2.2.1.tgz";
+        name = "lodash-2.2.1.tgz";
+        sha1 = "ca935fd14ab3c0c872abacf198b9cda501440867";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.keys"."~2.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._shimkeys"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.keys" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash.support"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.support-2.2.1";
+  by-spec."lodash"."~2.4.1" =
+    self.by-version."lodash"."2.4.1";
+  by-spec."lodash-node"."~2.4.1" =
+    self.by-version."lodash-node"."2.4.1";
+  by-version."lodash-node"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash-node-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.support/-/lodash.support-2.2.1.tgz";
-        sha1 = "5b6c267c6fc5302011f0c14e4529c7fbc08e94ce";
+        url = "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";
+        name = "lodash-node-2.4.1.tgz";
+        sha1 = "ea82f7b100c733d1a42af76801e506105e2a80ec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.support"."~2.2.1" or []);
+      (self.nativeDeps."lodash-node" or []);
     deps = [
-      self.full."lodash._renative"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.support" ];
+    passthru.names = [ "lodash-node" ];
   };
-  full."lodash.throttle"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.throttle-2.2.1";
+  by-spec."lodash._isnative"."~2.4.1" =
+    self.by-version."lodash._isnative"."2.4.1";
+  by-version."lodash._isnative"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash._isnative-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash.throttle/-/lodash.throttle-2.2.1.tgz";
-        sha1 = "ae49bd6173b0cfb4e09d9645fdac507db77211f0";
+        url = "http://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz";
+        name = "lodash._isnative-2.4.1.tgz";
+        sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash.throttle"."~2.2.0" or []);
+      (self.nativeDeps."lodash._isnative" or []);
     deps = [
-      self.full."lodash.debounce"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lodash.throttle" ];
+    passthru.names = [ "lodash._isnative" ];
   };
-  full."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "log-driver-1.2.1";
+  by-spec."lodash._objecttypes"."~2.4.1" =
+    self.by-version."lodash._objecttypes"."2.4.1";
+  by-version."lodash._objecttypes"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash._objecttypes-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.1.tgz";
-        sha1 = "ada8202a133e99764306652e195e28268b0bea5b";
+        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz";
+        name = "lodash._objecttypes-2.4.1.tgz";
+        sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11";
       })
     ];
     buildInputs =
-      (self.nativeDeps."log-driver"."1.2.1" or []);
+      (self.nativeDeps."lodash._objecttypes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "log-driver" ];
+    passthru.names = [ "lodash._objecttypes" ];
   };
-  full."log4js"."~0.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "log4js-0.6.9";
+  by-spec."lodash._shimkeys"."~2.4.1" =
+    self.by-version."lodash._shimkeys"."2.4.1";
+  by-version."lodash._shimkeys"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash._shimkeys-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.9.tgz";
-        sha1 = "2e327189c1c0dec17448ec5255f58cd0fddf4596";
+        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz";
+        name = "lodash._shimkeys-2.4.1.tgz";
+        sha1 = "6e9cc9666ff081f0b5a6c978b83e242e6949d203";
       })
     ];
     buildInputs =
-      (self.nativeDeps."log4js"."~0.6.3" or []);
+      (self.nativeDeps."lodash._shimkeys" or []);
     deps = [
-      self.full."async"."0.1.15"
-      self.full."semver"."~1.1.4"
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."lodash._objecttypes"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "log4js" ];
+    passthru.names = [ "lodash._shimkeys" ];
   };
-  full."lru-cache"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
+  by-spec."lodash.debounce"."~2.4.1" =
+    self.by-version."lodash.debounce"."2.4.1";
+  by-version."lodash.debounce"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.debounce-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz";
+        name = "lodash.debounce-2.4.1.tgz";
+        sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2" or []);
+      (self.nativeDeps."lodash.debounce" or []);
     deps = [
+      self.by-version."lodash.isfunction"."2.4.1"
+      self.by-version."lodash.isobject"."2.4.1"
+      self.by-version."lodash.now"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "lodash.debounce" ];
   };
-  full."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.2.0";
+  by-spec."lodash.defaults"."~2.4.1" =
+    self.by-version."lodash.defaults"."2.4.1";
+  by-version."lodash.defaults"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.defaults-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
-        sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
+        url = "http://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz";
+        name = "lodash.defaults-2.4.1.tgz";
+        sha1 = "a7e8885f05e68851144b6e12a8f3678026bc4c54";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.0" or []);
+      (self.nativeDeps."lodash.defaults" or []);
     deps = [
+      self.by-version."lodash.keys"."2.4.1"
+      self.by-version."lodash._objecttypes"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "lodash.defaults" ];
   };
-  full."lru-cache"."2.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.2.4";
+  by-spec."lodash.isfunction"."~2.4.1" =
+    self.by-version."lodash.isfunction"."2.4.1";
+  by-version."lodash.isfunction"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.isfunction-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
-        sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
+        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz";
+        name = "lodash.isfunction-2.4.1.tgz";
+        sha1 = "2cfd575c73e498ab57e319b77fa02adef13a94d1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.x" or []);
+      (self.nativeDeps."lodash.isfunction" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "lodash.isfunction" ];
   };
-  full."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.0";
+  by-spec."lodash.isobject"."~2.4.1" =
+    self.by-version."lodash.isobject"."2.4.1";
+  by-version."lodash.isobject"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.isobject-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
-        sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz";
+        name = "lodash.isobject-2.4.1.tgz";
+        sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.3.0" or []);
+      (self.nativeDeps."lodash.isobject" or []);
     deps = [
+      self.by-version."lodash._objecttypes"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "lodash.isobject" ];
   };
-  full."lru-cache"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-1.0.6";
+  by-spec."lodash.keys"."~2.4.1" =
+    self.by-version."lodash.keys"."2.4.1";
+  by-version."lodash.keys"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.keys-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
-        sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
+        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz";
+        name = "lodash.keys-2.4.1.tgz";
+        sha1 = "48dea46df8ff7632b10d706b8acb26591e2b3727";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~1.0.2" or []);
+      (self.nativeDeps."lodash.keys" or []);
     deps = [
+      self.by-version."lodash._isnative"."2.4.1"
+      self.by-version."lodash.isobject"."2.4.1"
+      self.by-version."lodash._shimkeys"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "lodash.keys" ];
   };
-  full."lru-cache"."~2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
+  by-spec."lodash.now"."~2.4.1" =
+    self.by-version."lodash.now"."2.4.1";
+  by-version."lodash.now"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.now-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+        url = "http://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz";
+        name = "lodash.now-2.4.1.tgz";
+        sha1 = "6872156500525185faf96785bb7fe7fe15b562c6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.0" or []);
+      (self.nativeDeps."lodash.now" or []);
     deps = [
+      self.by-version."lodash._isnative"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "lodash.now" ];
   };
-  full."lru-cache"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
+  by-spec."log-driver"."1.2.1" =
+    self.by-version."log-driver"."1.2.1";
+  by-version."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-log-driver-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+        url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.1.tgz";
+        name = "log-driver-1.2.1.tgz";
+        sha1 = "ada8202a133e99764306652e195e28268b0bea5b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.1" or []);
+      (self.nativeDeps."log-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lru-cache" ];
+    passthru.names = [ "log-driver" ];
   };
-  full."mailcomposer".">= 0.1.27" = lib.makeOverridable self.buildNodePackage {
-    name = "mailcomposer-0.2.2";
+  by-spec."log4js"."~0.6.3" =
+    self.by-version."log4js"."0.6.14";
+  by-version."log4js"."0.6.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-log4js-0.6.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.2.tgz";
-        sha1 = "ce93bdea7cb51e60eb76491b6a64c39f382c20e5";
+        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.14.tgz";
+        name = "log4js-0.6.14.tgz";
+        sha1 = "7c26a0a25536b42bafa17fd937b87536fad3b229";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mailcomposer".">= 0.1.27" or []);
+      (self.nativeDeps."log4js" or []);
     deps = [
-      self.full."mimelib"."~0.2"
-      self.full."mime"."1.2.9"
+      self.by-version."async"."0.1.15"
+      self.by-version."semver"."1.1.4"
+      self.by-version."readable-stream"."1.0.27-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mailcomposer" ];
+    passthru.names = [ "log4js" ];
   };
-  full."match-stream"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "match-stream-0.0.2";
+  by-spec."long"."*" =
+    self.by-version."long"."1.1.2";
+  by-version."long"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-long-1.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz";
-        sha1 = "99eb050093b34dffade421b9ac0b410a9cfa17cf";
+        url = "http://registry.npmjs.org/long/-/long-1.1.2.tgz";
+        name = "long-1.1.2.tgz";
+        sha1 = "eaef5951ca7551d96926b82da242db9d6b28fb53";
       })
     ];
     buildInputs =
-      (self.nativeDeps."match-stream"."~0.0.2" or []);
+      (self.nativeDeps."long" or []);
     deps = [
-      self.full."buffers"."~0.1.1"
-      self.full."readable-stream"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "match-stream" ];
+    passthru.names = [ "long" ];
   };
-  full."meat"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "meat-0.2.5";
+  by-spec."longjohn"."~0.2.2" =
+    self.by-version."longjohn"."0.2.4";
+  by-version."longjohn"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-longjohn-0.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/meat/-/meat-0.2.5.tgz";
-        sha1 = "8f277ec68f51794365e271166c7b7bba8d046869";
+        url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.4.tgz";
+        name = "longjohn-0.2.4.tgz";
+        sha1 = "48436a1f359e7666f678e2170ee1f43bba8f8b4c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."meat"."*" or []);
+      (self.nativeDeps."longjohn" or []);
     deps = [
-      self.full."express"."2.5.11"
-      self.full."jade"."0.27.0"
-      self.full."open"."0.0.2"
-      self.full."winston"."0.6.2"
-      self.full."mkdirp"."0.3.0"
-      self.full."node.extend"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "meat" ];
+    passthru.names = [ "longjohn" ];
   };
-  "meat" = self.full."meat"."*";
-  full."memoizee"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "memoizee-0.2.6";
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.5.0";
+  by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lru-cache-2.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz";
-        sha1 = "bb45a7ad02530082f1612671dab35219cd2e0741";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+        name = "lru-cache-2.5.0.tgz";
+        sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."memoizee"."~0.2.5" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."event-emitter"."~0.2.2"
-      self.full."next-tick"."0.1.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "memoizee" ];
+    passthru.names = [ "lru-cache" ];
   };
-  full."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "methods-0.0.1";
+  by-spec."lru-cache"."2.2.0" =
+    self.by-version."lru-cache"."2.2.0";
+  by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lru-cache-2.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
-        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
+        name = "lru-cache-2.2.0.tgz";
+        sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
       })
     ];
     buildInputs =
-      (self.nativeDeps."methods"."0.0.1" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "methods" ];
+    passthru.names = [ "lru-cache" ];
   };
-  full."mime"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."lru-cache"."2.2.x" =
+    self.by-version."lru-cache"."2.2.4";
+  by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lru-cache-2.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
+        name = "lru-cache-2.2.4.tgz";
+        sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."*" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "lru-cache" ];
   };
-  full."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.4";
+  by-spec."lru-cache"."2.3.0" =
+    self.by-version."lru-cache"."2.3.0";
+  by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lru-cache-2.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
-        sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
+        name = "lru-cache-2.3.0.tgz";
+        sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.4" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "lru-cache" ];
   };
-  full."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.5";
+  by-spec."lru-cache"."~1.0.2" =
+    self.by-version."lru-cache"."1.0.6";
+  by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lru-cache-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
-        sha1 = "9eed073022a8bf5e16c8566c6867b8832bfbfa13";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
+        name = "lru-cache-1.0.6.tgz";
+        sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.5" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "lru-cache" ];
   };
-  full."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.6";
+  by-spec."lru-cache"."~2.3.0" =
+    self.by-version."lru-cache"."2.3.1";
+  by-version."lru-cache"."2.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lru-cache-2.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
-        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
+        name = "lru-cache-2.3.1.tgz";
+        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.6" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "lru-cache" ];
   };
-  full."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.9";
+  by-spec."lru-cache"."~2.5.0" =
+    self.by-version."lru-cache"."2.5.0";
+  by-spec."lsmod"."~0.0.3" =
+    self.by-version."lsmod"."0.0.3";
+  by-version."lsmod"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lsmod-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
-        sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+        url = "http://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz";
+        name = "lsmod-0.0.3.tgz";
+        sha1 = "17e13d4e1ae91750ea5653548cd89e7147ad0244";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.9" or []);
+      (self.nativeDeps."lsmod" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "lsmod" ];
   };
-  full."mime"."1.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."mailcomposer".">= 0.1.27" =
+    self.by-version."mailcomposer"."0.2.9";
+  by-version."mailcomposer"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mailcomposer-0.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.9.tgz";
+        name = "mailcomposer-0.2.9.tgz";
+        sha1 = "2b6417a4fb5de8ffcaf1a27e1b024463903f908e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.x" or []);
+      (self.nativeDeps."mailcomposer" or []);
     deps = [
+      self.by-version."mimelib"."0.2.14"
+      self.by-version."mime"."1.2.11"
+      self.by-version."he"."0.3.6"
+      self.by-version."punycode"."1.2.4"
+      self.by-version."follow-redirects"."0.0.3"
+      self.by-version."dkim-signer"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "mailcomposer" ];
   };
-  full."mime".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."map-key"."^0.1.1" =
+    self.by-version."map-key"."0.1.1";
+  by-version."map-key"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-map-key-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/map-key/-/map-key-0.1.1.tgz";
+        name = "map-key-0.1.1.tgz";
+        sha1 = "cf0d6ad80ae145477d25904c9eb44b23ac471c8b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime".">= 0.0.1" or []);
+      (self.nativeDeps."map-key" or []);
     deps = [
+      self.by-version."mout"."0.9.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "map-key" ];
   };
-  full."mime"."~1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."marked"."*" =
+    self.by-version."marked"."0.3.2";
+  by-version."marked"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "marked-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/marked/-/marked-0.3.2.tgz";
+        name = "marked-0.3.2.tgz";
+        sha1 = "015db158864438f24a64bdd61a0428b418706d09";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2" or []);
+      (self.nativeDeps."marked" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "marked" ];
   };
-  full."mime"."~1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  "marked" = self.by-version."marked"."0.3.2";
+  by-spec."maxmin"."^0.1.0" =
+    self.by-version."maxmin"."0.1.0";
+  by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-maxmin-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz";
+        name = "maxmin-0.1.0.tgz";
+        sha1 = "95d81c5289e3a9d30f7fc7dc559c024e5030c9d0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2.11" or []);
+      (self.nativeDeps."maxmin" or []);
     deps = [
+      self.by-version."gzip-size"."0.1.1"
+      self.by-version."pretty-bytes"."0.1.0"
+      self.by-version."chalk"."0.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "maxmin" ];
   };
-  full."mime"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."maxmin"."~0.1.0" =
+    self.by-version."maxmin"."0.1.0";
+  by-spec."meat"."*" =
+    self.by-version."meat"."0.2.5";
+  by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "meat-0.2.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/meat/-/meat-0.2.5.tgz";
+        name = "meat-0.2.5.tgz";
+        sha1 = "8f277ec68f51794365e271166c7b7bba8d046869";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2.2" or []);
+      (self.nativeDeps."meat" or []);
     deps = [
+      self.by-version."express"."2.5.11"
+      self.by-version."jade"."0.27.0"
+      self.by-version."open"."0.0.2"
+      self.by-version."winston"."0.6.2"
+      self.by-version."mkdirp"."0.3.0"
+      self.by-version."node.extend"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "meat" ];
   };
-  full."mime"."~1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  "meat" = self.by-version."meat"."0.2.5";
+  by-spec."memoizee"."~0.2.5" =
+    self.by-version."memoizee"."0.2.6";
+  by-version."memoizee"."0.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-memoizee-0.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz";
+        name = "memoizee-0.2.6.tgz";
+        sha1 = "bb45a7ad02530082f1612671dab35219cd2e0741";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2.7" or []);
+      (self.nativeDeps."memoizee" or []);
     deps = [
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."event-emitter"."0.2.2"
+      self.by-version."next-tick"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "memoizee" ];
   };
-  full."mime"."~1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."merge-descriptors"."0.0.2" =
+    self.by-version."merge-descriptors"."0.0.2";
+  by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-merge-descriptors-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        name = "merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2.9" or []);
+      (self.nativeDeps."merge-descriptors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mime" ];
+    passthru.names = [ "merge-descriptors" ];
   };
-  full."mimelib"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mimelib-0.2.13";
+  by-spec."method-override"."1.0.0" =
+    self.by-version."method-override"."1.0.0";
+  by-version."method-override"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-method-override-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.13.tgz";
-        sha1 = "0668eb85e870c510be747a67ece43b9bbf8e20b0";
+        url = "http://registry.npmjs.org/method-override/-/method-override-1.0.0.tgz";
+        name = "method-override-1.0.0.tgz";
+        sha1 = "9e5bfbd80f3b9e043801dd3fe60bbab0f15b5f61";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mimelib"."~0.2" or []);
+      (self.nativeDeps."method-override" or []);
     deps = [
-      self.full."encoding"."~0.1"
-      self.full."addressparser"."~0.1"
+      self.by-version."methods"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mimelib" ];
+    passthru.names = [ "method-override" ];
   };
-  full."minimatch"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."methods"."*" =
+    self.by-version."methods"."0.1.0";
+  by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-methods-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
+        name = "methods-0.1.0.tgz";
+        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0" or []);
+      (self.nativeDeps."methods" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "methods" ];
   };
-  full."minimatch"."0.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.0.5";
+  by-spec."methods"."0.0.1" =
+    self.by-version."methods"."0.0.1";
+  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-methods-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
-        sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
+        url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+        name = "methods-0.0.1.tgz";
+        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.0.x" or []);
+      (self.nativeDeps."methods" or []);
     deps = [
-      self.full."lru-cache"."~1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "methods" ];
   };
-  full."minimatch"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."methods"."0.1.0" =
+    self.by-version."methods"."0.1.0";
+  by-spec."mime"."*" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-1.2.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        name = "mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.2.x" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "mime" ];
   };
-  full."minimatch"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."mime"."1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."1.2.4" =
+    self.by-version."mime"."1.2.4";
+  by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-1.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
+        name = "mime-1.2.4.tgz";
+        sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.x" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "mime" ];
   };
-  full."minimatch"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."mime"."1.2.5" =
+    self.by-version."mime"."1.2.5";
+  by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-1.2.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
+        name = "mime-1.2.5.tgz";
+        sha1 = "9eed073022a8bf5e16c8566c6867b8832bfbfa13";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.x.x" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "mime" ];
   };
-  full."minimatch".">=0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."mime"."1.2.6" =
+    self.by-version."mime"."1.2.6";
+  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-1.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
+        name = "mime-1.2.6.tgz";
+        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch".">=0.2.4" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "mime" ];
   };
-  full."minimatch"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."mime"."1.2.9" =
+    self.by-version."mime"."1.2.9";
+  by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-1.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
+        name = "mime-1.2.9.tgz";
+        sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."~0.2" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "mime" ];
   };
-  full."minimatch"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."mime"."1.2.x" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime".">= 0.0.1" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.7" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mimelib"."~0.2.14" =
+    self.by-version."mimelib"."0.2.14";
+  by-version."mimelib"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mimelib-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz";
+        name = "mimelib-0.2.14.tgz";
+        sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.0" or []);
+      (self.nativeDeps."mimelib" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."encoding"."0.1.7"
+      self.by-version."addressparser"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "mimelib" ];
   };
-  full."minimatch"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."minimatch"."0" =
+    self.by-version."minimatch"."0.2.14";
+  by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-minimatch-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+        name = "minimatch-0.2.14.tgz";
+        sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.11" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."2.5.0"
+      self.by-version."sigmund"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."~0.2.12" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."minimatch"."0.0.x" =
+    self.by-version."minimatch"."0.0.5";
+  by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-minimatch-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
+        name = "minimatch-0.0.5.tgz";
+        sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.12" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."1.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."minimatch"."0.2.x" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."0.x" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."0.x.x" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch".">=0.2.4" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."~0.2" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."~0.2.0" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."~0.2.12" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."~0.2.14" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimatch"."~0.2.9" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-minimist-0.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        name = "minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.6" or []);
+      (self.nativeDeps."minimist" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "minimist" ];
   };
-  full."minimatch"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
+  by-spec."minimist"."~0.0.5" =
+    self.by-version."minimist"."0.0.8";
+  by-spec."minimist"."~0.0.7" =
+    self.by-version."minimist"."0.0.8";
+  by-spec."ministyle"."~0.1.3" =
+    self.by-version."ministyle"."0.1.3";
+  by-version."ministyle"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ministyle-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+        url = "http://registry.npmjs.org/ministyle/-/ministyle-0.1.3.tgz";
+        name = "ministyle-0.1.3.tgz";
+        sha1 = "d7a639f29e9450b9d5ebf2255d1fa8d1d9d89900";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.9" or []);
+      (self.nativeDeps."ministyle" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "ministyle" ];
   };
-  full."minimist"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "minimist-0.0.5";
+  by-spec."miniwrite"."~0.1.3" =
+    self.by-version."miniwrite"."0.1.3";
+  by-version."miniwrite"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-miniwrite-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz";
-        sha1 = "d7aa327bcecf518f9106ac6b8f003fa3bcea8566";
+        url = "http://registry.npmjs.org/miniwrite/-/miniwrite-0.1.3.tgz";
+        name = "miniwrite-0.1.3.tgz";
+        sha1 = "9e893efb435f853454ca0321b86a44378e8c50c6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimist"."~0.0.1" or []);
+      (self.nativeDeps."miniwrite" or []);
     deps = [
+      self.by-version."mkdirp"."0.3.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "minimist" ];
+    passthru.names = [ "miniwrite" ];
   };
-  full."mkdirp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."mkdirp"."*" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mkdirp-0.3.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        name = "mkdirp-0.3.5.tgz";
         sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."*" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  "mkdirp" = self.full."mkdirp"."*";
-  full."mkdirp"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  "mkdirp" = self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mkdirp-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+        name = "mkdirp-0.3.0.tgz";
+        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."mkdirp"."0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.x.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."^0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.4" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkpath"."~0.1.0" =
+    self.by-version."mkpath"."0.1.0";
+  by-version."mkpath"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mkpath-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz";
+        name = "mkpath-0.1.0.tgz";
+        sha1 = "7554a6f8d871834cc97b5462b122c4c124d6de91";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3" or []);
+      (self.nativeDeps."mkpath" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "mkpath" ];
   };
-  full."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.0";
+  by-spec."mocha"."*" =
+    self.by-version."mocha"."1.18.2";
+  by-version."mocha"."1.18.2" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-1.18.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.18.2.tgz";
+        name = "mocha-1.18.2.tgz";
+        sha1 = "800848f8f7884c61eefcfa2a27304ba9e5446d0b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.0" or []);
+      (self.nativeDeps."mocha" or []);
     deps = [
+      self.by-version."commander"."2.0.0"
+      self.by-version."growl"."1.7.0"
+      self.by-version."jade"."0.26.3"
+      self.by-version."diff"."1.0.7"
+      self.by-version."debug"."0.8.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "mocha" ];
   };
-  full."mkdirp"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.4";
+  "mocha" = self.by-version."mocha"."1.18.2";
+  by-spec."mocha"."1.13.x" =
+    self.by-version."mocha"."1.13.0";
+  by-version."mocha"."1.13.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-1.13.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz";
-        sha1 = "f8c81d213b7299a031f193a57d752a17d2f6c7d8";
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.13.0.tgz";
+        name = "mocha-1.13.0.tgz";
+        sha1 = "8d8fa4e310b94cc6efeb3ed26aeca96dea93307c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.4" or []);
+      (self.nativeDeps."mocha" or []);
     deps = [
+      self.by-version."commander"."0.6.1"
+      self.by-version."growl"."1.7.0"
+      self.by-version."jade"."0.26.3"
+      self.by-version."diff"."1.0.7"
+      self.by-version."debug"."0.8.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "mocha" ];
   };
-  full."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."mocha-phantomjs"."*" =
+    self.by-version."mocha-phantomjs"."3.3.2";
+  by-version."mocha-phantomjs"."3.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-phantomjs-3.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-3.3.2.tgz";
+        name = "mocha-phantomjs-3.3.2.tgz";
+        sha1 = "2d7cc9926f0fbbeb341697d7f2a031151c601722";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.5" or []);
+      (self.nativeDeps."mocha-phantomjs" or []);
     deps = [
+      self.by-version."mocha"."1.13.0"
+      self.by-version."commander"."1.2.0"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "mocha-phantomjs" ];
   };
-  full."mkdirp"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  "mocha-phantomjs" = self.by-version."mocha-phantomjs"."3.3.2";
+  by-spec."mocha-unfunk-reporter"."*" =
+    self.by-version."mocha-unfunk-reporter"."0.4.0";
+  by-version."mocha-unfunk-reporter"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mocha-unfunk-reporter-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz";
+        name = "mocha-unfunk-reporter-0.4.0.tgz";
+        sha1 = "59eda97aec6ae6e26d7af4173490a65b7b082d20";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.x" or []);
+      (self.nativeDeps."mocha-unfunk-reporter" or []);
     deps = [
+      self.by-version."jsesc"."0.4.3"
+      self.by-version."unfunk-diff"."0.0.2"
+      self.by-version."miniwrite"."0.1.3"
+      self.by-version."ministyle"."0.1.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "mocha-unfunk-reporter" ];
   };
-  full."mkdirp"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.4.0";
+  by-spec."module-deps"."~1.10.0" =
+    self.by-version."module-deps"."1.10.0";
+  by-version."module-deps"."1.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "module-deps-1.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/module-deps/-/module-deps-1.10.0.tgz";
+        name = "module-deps-1.10.0.tgz";
+        sha1 = "57a9cac9dbd092428ec5249f6cf37fb249d77db6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.x.x" or []);
+      (self.nativeDeps."module-deps" or []);
     deps = [
+      self.by-version."JSONStream"."0.7.2"
+      self.by-version."browser-resolve"."1.2.4"
+      self.by-version."concat-stream"."1.4.5"
+      self.by-version."detective"."3.1.0"
+      self.by-version."minimist"."0.0.8"
+      self.by-version."parents"."0.0.2"
+      self.by-version."resolve"."0.6.3"
+      self.by-version."through"."2.3.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "module-deps" ];
   };
-  full."mkdirp"."~0.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."module-deps"."~1.8.0" =
+    self.by-version."module-deps"."1.8.1";
+  by-version."module-deps"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "module-deps-1.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/module-deps/-/module-deps-1.8.1.tgz";
+        name = "module-deps-1.8.1.tgz";
+        sha1 = "9d603b286f87cf62aad9e3f7b65a2f8bfa21de5b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.3" or []);
+      (self.nativeDeps."module-deps" or []);
     deps = [
+      self.by-version."JSONStream"."0.7.2"
+      self.by-version."browser-resolve"."1.2.4"
+      self.by-version."concat-stream"."1.4.5"
+      self.by-version."detective"."3.1.0"
+      self.by-version."minimist"."0.0.8"
+      self.by-version."parents"."0.0.2"
+      self.by-version."resolve"."0.6.3"
+      self.by-version."through"."2.3.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "module-deps" ];
   };
-  full."mkdirp"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."moment"."2.1.0" =
+    self.by-version."moment"."2.1.0";
+  by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-moment-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+        name = "moment-2.1.0.tgz";
+        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.4" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "moment" ];
   };
-  full."mkdirp"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."moment"."~2.4.0" =
+    self.by-version."moment"."2.4.0";
+  by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-moment-2.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
+        name = "moment-2.4.0.tgz";
+        sha1 = "06dd8dfbbfdb53a03510080ac788163c9490e75d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.5" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "moment" ];
   };
-  full."mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-1.13.0";
+  by-spec."moment"."~2.5.1" =
+    self.by-version."moment"."2.5.1";
+  by-version."moment"."2.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-moment-2.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.13.0.tgz";
-        sha1 = "8d8fa4e310b94cc6efeb3ed26aeca96dea93307c";
+        url = "http://registry.npmjs.org/moment/-/moment-2.5.1.tgz";
+        name = "moment-2.5.1.tgz";
+        sha1 = "7146a3900533064ca799d5e792f4e480ee0e82bc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mocha"."*" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."growl"."1.7.x"
-      self.full."jade"."0.26.3"
-      self.full."diff"."1.0.7"
-      self.full."debug"."*"
-      self.full."mkdirp"."0.3.5"
-      self.full."glob"."3.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mocha" ];
+    passthru.names = [ "moment" ];
   };
-  "mocha" = self.full."mocha"."*";
-  full."mocha-unfunk-reporter"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-unfunk-reporter-0.2.3";
+  by-spec."mongodb"."*" =
+    self.by-version."mongodb"."1.4.2";
+  by-version."mongodb"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongodb-1.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.2.3.tgz";
-        sha1 = "41c2aa001dc44eef80d073404728d2e4d4a09c90";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.2.tgz";
+        name = "mongodb-1.4.2.tgz";
+        sha1 = "68b5a5ac7ee146dcbdf17d01f60ffe88e61e76aa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mocha-unfunk-reporter"."*" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
+      self.by-version."bson"."0.2.7"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mocha-unfunk-reporter" ];
+    passthru.names = [ "mongodb" ];
   };
-  "mocha-unfunk-reporter" = self.full."mocha-unfunk-reporter"."*";
-  full."moment"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.0.0";
+  "mongodb" = self.by-version."mongodb"."1.4.2";
+  by-spec."mongodb"."1.2.14" =
+    self.by-version."mongodb"."1.2.14";
+  by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongodb-1.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.0.0.tgz";
-        sha1 = "2bbc5b44c321837693ab6efcadbd46ed946211fe";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
+        name = "mongodb-1.2.14.tgz";
+        sha1 = "269665552066437308d0942036646e6795c3a9a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.0.0" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
+      self.by-version."bson"."0.1.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "moment" ];
+    passthru.names = [ "mongodb" ];
   };
-  full."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.1.0";
+  by-spec."mongodb"."1.3.19" =
+    self.by-version."mongodb"."1.3.19";
+  by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongodb-1.3.19";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
-        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
+        name = "mongodb-1.3.19.tgz";
+        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.1.0" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
+      self.by-version."bson"."0.2.2"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "moment" ];
+    passthru.names = [ "mongodb" ];
   };
-  full."mongodb"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.3.19";
+  by-spec."mongodb"."1.3.23" =
+    self.by-version."mongodb"."1.3.23";
+  by-version."mongodb"."1.3.23" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongodb-1.3.23";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.23.tgz";
+        name = "mongodb-1.3.23.tgz";
+        sha1 = "874a5212162b16188aeeaee5e06067766c8e9e86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."*" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
+      self.by-version."bson"."0.2.5"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  "mongodb" = self.full."mongodb"."*";
-  full."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.2.14";
+  by-spec."mongodb"."1.3.x" =
+    self.by-version."mongodb"."1.3.23";
+  by-spec."mongoose"."*" =
+    self.by-version."mongoose"."3.8.8";
+  by-version."mongoose"."3.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongoose-3.8.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-        sha1 = "269665552066437308d0942036646e6795c3a9a3";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.8.tgz";
+        name = "mongoose-3.8.8.tgz";
+        sha1 = "ab046f1fa17b0bdf090a04b6d034d87d240a47c2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.14" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."bson"."0.1.8"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.23"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.4.3"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
+      self.by-version."mquery"."0.5.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongodb" ];
+    passthru.names = [ "mongoose" ];
   };
-  full."mongodb"."1.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.2.14";
+  by-spec."mongoose"."3.6.7" =
+    self.by-version."mongoose"."3.6.7";
+  by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongoose-3.6.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-        sha1 = "269665552066437308d0942036646e6795c3a9a3";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
+        name = "mongoose-3.6.7.tgz";
+        sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.x" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."bson"."0.1.8"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.2.14"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.3"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongodb" ];
+    passthru.names = [ "mongoose" ];
   };
-  full."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.3.19";
+  by-spec."mongoose"."3.6.x" =
+    self.by-version."mongoose"."3.6.20";
+  by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongoose-3.6.20";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
+        name = "mongoose-3.6.20.tgz";
+        sha1 = "47263843e6b812ea207eec104c40a36c8d215f53";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.3.19" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongodb" ];
+    passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.7.4";
+  "mongoose" = self.by-version."mongoose"."3.6.20";
+  by-spec."mongoose-lifecycle"."1.0.0" =
+    self.by-version."mongoose-lifecycle"."1.0.0";
+  by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongoose-lifecycle-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.7.4.tgz";
-        sha1 = "5ed8cdbc91c92b18ab49ac3526c7ac5264c7b292";
+        url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
+        name = "mongoose-lifecycle-1.0.0.tgz";
+        sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."*" or []);
+      (self.nativeDeps."mongoose-lifecycle" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.3.0"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
-      self.full."mquery"."0.3.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongoose" ];
+    passthru.names = [ "mongoose-lifecycle" ];
   };
-  full."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.6.7";
+  by-spec."mongoose-schema-extend"."*" =
+    self.by-version."mongoose-schema-extend"."0.1.7";
+  by-version."mongoose-schema-extend"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mongoose-schema-extend-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
-        sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
+        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz";
+        name = "mongoose-schema-extend-0.1.7.tgz";
+        sha1 = "50dc366ba63227d00c4cd3db9bb8bf95e9629910";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.7" or []);
+      (self.nativeDeps."mongoose-schema-extend" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.2.14"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.3"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
+      self.by-version."owl-deepcopy"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongoose" ];
+    passthru.names = [ "mongoose-schema-extend" ];
   };
-  full."mongoose"."3.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.6.20";
+  "mongoose-schema-extend" = self.by-version."mongoose-schema-extend"."0.1.7";
+  by-spec."monocle"."1.1.50" =
+    self.by-version."monocle"."1.1.50";
+  by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
+    name = "node-monocle-1.1.50";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
-        sha1 = "47263843e6b812ea207eec104c40a36c8d215f53";
+        url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz";
+        name = "monocle-1.1.50.tgz";
+        sha1 = "e21b059d99726d958371f36240c106b8a067fa7d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.x" or []);
+      (self.nativeDeps."monocle" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."readdirp"."0.2.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongoose" ];
+    passthru.names = [ "monocle" ];
   };
-  "mongoose" = self.full."mongoose"."3.6.x";
-  full."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-lifecycle-1.0.0";
+  by-spec."monocle"."1.1.51" =
+    self.by-version."monocle"."1.1.51";
+  by-version."monocle"."1.1.51" = lib.makeOverridable self.buildNodePackage {
+    name = "node-monocle-1.1.51";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
-        sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
+        url = "http://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz";
+        name = "monocle-1.1.51.tgz";
+        sha1 = "22ed16e112e9b056769c5ccac920e375249d89c0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-lifecycle"."1.0.0" or []);
+      (self.nativeDeps."monocle" or []);
     deps = [
+      self.by-version."readdirp"."0.2.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongoose-lifecycle" ];
+    passthru.names = [ "monocle" ];
   };
-  full."mongoose-schema-extend"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-schema-extend-0.1.5";
+  by-spec."morgan"."1.0.0" =
+    self.by-version."morgan"."1.0.0";
+  by-version."morgan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-morgan-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.5.tgz";
-        sha1 = "d2ab3d2005033daaa215a806bbd3f6637c9c96c3";
+        url = "http://registry.npmjs.org/morgan/-/morgan-1.0.0.tgz";
+        name = "morgan-1.0.0.tgz";
+        sha1 = "83cf74b9f2d841901f1a9a6b8fa7a468d2e47a8d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-schema-extend"."*" or []);
+      (self.nativeDeps."morgan" or []);
     deps = [
-      self.full."owl-deepcopy"."~0.0.1"
+      self.by-version."bytes"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongoose-schema-extend" ];
+    passthru.names = [ "morgan" ];
   };
-  "mongoose-schema-extend" = self.full."mongoose-schema-extend"."*";
-  full."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
-    name = "monocle-1.1.50";
+  by-spec."mout"."^0.9.0" =
+    self.by-version."mout"."0.9.1";
+  by-version."mout"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mout-0.9.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz";
-        sha1 = "e21b059d99726d958371f36240c106b8a067fa7d";
+        url = "http://registry.npmjs.org/mout/-/mout-0.9.1.tgz";
+        name = "mout-0.9.1.tgz";
+        sha1 = "84f0f3fd6acc7317f63de2affdcc0cee009b0477";
       })
     ];
     buildInputs =
-      (self.nativeDeps."monocle"."1.1.50" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
-      self.full."readdirp"."~0.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "monocle" ];
+    passthru.names = [ "mout" ];
   };
-  full."mout"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mout-0.6.0";
+  by-spec."mout"."~0.6.0" =
+    self.by-version."mout"."0.6.0";
+  by-version."mout"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mout-0.6.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mout/-/mout-0.6.0.tgz";
+        name = "mout-0.6.0.tgz";
         sha1 = "ce7abad8130d796b09d7fb509bcc73b09be024a6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.6.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mout"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mout-0.7.1";
+  by-spec."mout"."~0.7.0" =
+    self.by-version."mout"."0.7.1";
+  by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mout-0.7.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mout/-/mout-0.7.1.tgz";
+        name = "mout-0.7.1.tgz";
         sha1 = "218de2b0880b220d99f4fbaee3fc0c3a5310bda8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.7.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mpath-0.1.1";
+  by-spec."mout"."~0.9.0" =
+    self.by-version."mout"."0.9.1";
+  by-spec."mpath"."0.1.1" =
+    self.by-version."mpath"."0.1.1";
+  by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mpath-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
+        name = "mpath-0.1.1.tgz";
         sha1 = "23da852b7c232ee097f4759d29c0ee9cd22d5e46";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpath"."0.1.1" or []);
+      (self.nativeDeps."mpath" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpath" ];
   };
-  full."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mpromise-0.2.1";
+  by-spec."mpromise"."0.2.1" =
+    self.by-version."mpromise"."0.2.1";
+  by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mpromise-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
+        name = "mpromise-0.2.1.tgz";
         sha1 = "fbbdc28cb0207e49b8a4eb1a4c0cea6c2de794c8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.2.1" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.4"
+      self.by-version."sliced"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mpromise-0.3.0";
+  by-spec."mpromise"."0.4.3" =
+    self.by-version."mpromise"."0.4.3";
+  by-version."mpromise"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mpromise-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mpromise/-/mpromise-0.3.0.tgz";
-        sha1 = "cb864c2f642eb2192765087e3692e1dc152afe4b";
+        url = "http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz";
+        name = "mpromise-0.4.3.tgz";
+        sha1 = "edc47a75a2a177b0e9382735db52dbec3808cc33";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.3.0" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mquery-0.3.2";
+  by-spec."mquery"."0.5.3" =
+    self.by-version."mquery"."0.5.3";
+  by-version."mquery"."0.5.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mquery-0.5.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mquery/-/mquery-0.3.2.tgz";
-        sha1 = "074cb82c51ec1b15897d8afb80a7b3567a2f8eca";
+        url = "http://registry.npmjs.org/mquery/-/mquery-0.5.3.tgz";
+        name = "mquery-0.5.3.tgz";
+        sha1 = "b8a04d096ecf90bf17a81cc39b80dd4e5abcecec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mquery"."0.3.2" or []);
+      (self.nativeDeps."mquery" or []);
     deps = [
-      self.full."sliced"."0.0.5"
-      self.full."debug"."0.7.0"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."debug"."0.7.4"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mquery" ];
   };
-  full."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ms-0.1.0";
+  by-spec."ms"."0.1.0" =
+    self.by-version."ms"."0.1.0";
+  by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ms-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
+        name = "ms-0.1.0.tgz";
         sha1 = "f21fac490daf1d7667fd180fe9077389cc9442b2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ms"."0.1.0" or []);
+      (self.nativeDeps."ms" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
   };
-  full."msgpack".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "msgpack-0.2.1";
+  by-spec."msgpack".">= 0.0.1" =
+    self.by-version."msgpack"."0.2.3";
+  by-version."msgpack"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "msgpack-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.1.tgz";
-        sha1 = "5da246daa2138b4163640e486c00c4f3961e92ac";
+        url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.3.tgz";
+        name = "msgpack-0.2.3.tgz";
+        sha1 = "0739ab7eaa0a5ba0ff7da2061c72ab806b6afe5f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."msgpack".">= 0.0.1" or []);
+      (self.nativeDeps."msgpack" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "msgpack" ];
   };
-  full."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "multiparty-2.2.0";
+  by-spec."multiparty"."2.2.0" =
+    self.by-version."multiparty"."2.2.0";
+  by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-multiparty-2.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
+        name = "multiparty-2.2.0.tgz";
         sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."multiparty"."2.2.0" or []);
+      (self.nativeDeps."multiparty" or []);
     deps = [
-      self.full."readable-stream"."~1.1.9"
-      self.full."stream-counter"."~0.2.0"
+      self.by-version."readable-stream"."1.1.13-1"
+      self.by-version."stream-counter"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
   };
-  full."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "muri-0.3.1";
+  by-spec."muri"."0.3.1" =
+    self.by-version."muri"."0.3.1";
+  by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-muri-0.3.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
+        name = "muri-0.3.1.tgz";
         sha1 = "861889c5c857f1a43700bee85d50731f61727c9a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."muri"."0.3.1" or []);
+      (self.nativeDeps."muri" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "muri" ];
   };
-  full."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mute-stream-0.0.3";
+  by-spec."mute-stream"."0.0.3" =
+    self.by-version."mute-stream"."0.0.3";
+  by-version."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mute-stream-0.0.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz";
+        name = "mute-stream-0.0.3.tgz";
         sha1 = "f09c090d333b3063f615cbbcca71b349893f0152";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."0.0.3" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mute-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mute-stream-0.0.4";
+  by-spec."mute-stream"."0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mute-stream-0.0.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
+        name = "mute-stream-0.0.4.tgz";
         sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."~0.0.4" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mv-0.0.5";
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-spec."mv"."0.0.5" =
+    self.by-version."mv"."0.0.5";
+  by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mv-0.0.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
+        name = "mv-0.0.5.tgz";
         sha1 = "15eac759479884df1131d6de56bce20b654f5391";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mv"."0.0.5" or []);
+      (self.nativeDeps."mv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mv" ];
   };
-  full."nan"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "nan-0.3.2";
+  by-spec."nan"."~0.3.0" =
+    self.by-version."nan"."0.3.2";
+  by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nan-0.3.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
+        name = "nan-0.3.2.tgz";
         sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nan"."~0.3.0" or []);
+      (self.nativeDeps."nan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
   };
-  full."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
-    name = "natural-0.0.69";
+  by-spec."nan"."~0.6.0" =
+    self.by-version."nan"."0.6.0";
+  by-version."nan"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nan-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/natural/-/natural-0.0.69.tgz";
-        sha1 = "60d9ce23797a54ec211600eb721cc66779b954d3";
+        url = "http://registry.npmjs.org/nan/-/nan-0.6.0.tgz";
+        name = "nan-0.6.0.tgz";
+        sha1 = "a54ebe59717b467c77425302bd7c17574c887aaa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."natural"."0.0.69" or []);
+      (self.nativeDeps."nan" or []);
     deps = [
-      self.full."sylvester".">= 0.0.12"
-      self.full."apparatus".">= 0.0.4"
-      self.full."underscore"."*"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "natural" ];
+    passthru.names = [ "nan" ];
   };
-  full."nconf"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nconf-0.6.7";
+  by-spec."nan"."~0.8.0" =
+    self.by-version."nan"."0.8.0";
+  by-version."nan"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nan-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
-        sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+        url = "http://registry.npmjs.org/nan/-/nan-0.8.0.tgz";
+        name = "nan-0.8.0.tgz";
+        sha1 = "022a8fa5e9fe8420964ac1fb3dc94e17f449f5fd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."*" or []);
+      (self.nativeDeps."nan" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "nconf" ];
+    passthru.names = [ "nan" ];
   };
-  "nconf" = self.full."nconf"."*";
-  full."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
-    name = "nconf-0.6.7";
+  by-spec."natural"."0.1.17" =
+    self.by-version."natural"."0.1.17";
+  by-version."natural"."0.1.17" = lib.makeOverridable self.buildNodePackage {
+    name = "node-natural-0.1.17";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
-        sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+        url = "http://registry.npmjs.org/natural/-/natural-0.1.17.tgz";
+        name = "natural-0.1.17.tgz";
+        sha1 = "0ff654cd30aeb2aa298ab0580e6f7ea9f40954e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."0.6.7" or []);
+      (self.nativeDeps."natural" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."sylvester"."0.0.21"
+      self.by-version."apparatus"."0.0.8"
+      self.by-version."underscore"."1.6.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "natural" ];
+  };
+  by-spec."nconf"."*" =
+    self.by-version."nconf"."0.6.9";
+  by-version."nconf"."0.6.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nconf-0.6.9";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
+        name = "nconf-0.6.9.tgz";
+        sha1 = "9570ef15ed6f9ae6b2b3c8d5e71b66d3193cd661";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nconf" or []);
+    deps = [
+      self.by-version."async"."0.2.9"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  full."ncp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  "nconf" = self.by-version."nconf"."0.6.9";
+  by-spec."nconf"."0.6.9" =
+    self.by-version."nconf"."0.6.9";
+  by-spec."nconf"."~0.6.9" =
+    self.by-version."nconf"."0.6.9";
+  by-spec."ncp"."0.2.x" =
+    self.by-version."ncp"."0.2.7";
+  by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.2.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
+        name = "ncp-0.2.7.tgz";
         sha1 = "46fac2b7dda2560a4cb7e628677bd5f64eac5be1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.2.x" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
+        name = "ncp-0.4.2.tgz";
         sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.4.2" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "negotiator-0.2.5";
+  by-spec."ncp"."0.4.x" =
+    self.by-version."ncp"."0.4.2";
+  by-spec."ncp"."~0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-spec."negotiator"."0.2.5" =
+    self.by-version."negotiator"."0.2.5";
+  by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-negotiator-0.2.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
+        name = "negotiator-0.2.5.tgz";
         sha1 = "12ec7b4a9f3b4c894c31d8c4ec015925ba547eec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."negotiator"."0.2.5" or []);
+      (self.nativeDeps."negotiator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
   };
-  full."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "net-ping-1.1.7";
+  by-spec."negotiator"."0.3.0" =
+    self.by-version."negotiator"."0.3.0";
+  by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-negotiator-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
+        name = "negotiator-0.3.0.tgz";
+        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
+  by-spec."negotiator"."0.4.2" =
+    self.by-version."negotiator"."0.4.2";
+  by-version."negotiator"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-negotiator-0.4.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz";
+        name = "negotiator-0.4.2.tgz";
+        sha1 = "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
+  by-spec."negotiator"."~0.3.0" =
+    self.by-version."negotiator"."0.3.0";
+  by-spec."net-ping"."1.1.7" =
+    self.by-version."net-ping"."1.1.7";
+  by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-net-ping-1.1.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
+        name = "net-ping-1.1.7.tgz";
         sha1 = "49f5bca55a30a3726d69253557f231135a637075";
       })
     ];
     buildInputs =
-      (self.nativeDeps."net-ping"."1.1.7" or []);
+      (self.nativeDeps."net-ping" or []);
     deps = [
-      self.full."raw-socket"."*"
+      self.by-version."raw-socket"."1.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "net-ping" ];
   };
-  full."next-tick"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "next-tick-0.1.0";
+  by-spec."next-tick"."0.1.x" =
+    self.by-version."next-tick"."0.1.0";
+  by-version."next-tick"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-next-tick-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/next-tick/-/next-tick-0.1.0.tgz";
+        name = "next-tick-0.1.0.tgz";
         sha1 = "1912cce8eb9b697d640fbba94f8f00dec3b94259";
       })
     ];
     buildInputs =
-      (self.nativeDeps."next-tick"."0.1.x" or []);
+      (self.nativeDeps."next-tick" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "next-tick" ];
   };
-  full."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "nib-0.5.0";
+  by-spec."nib"."0.5.0" =
+    self.by-version."nib"."0.5.0";
+  by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nib-0.5.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
+        name = "nib-0.5.0.tgz";
         sha1 = "ad0a7dfa2bca8680c8cb8adaa6ab68c80e5221e5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nib"."0.5.0" or []);
+      (self.nativeDeps."nib" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nib" ];
   };
-  full."nijs"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nijs-0.0.12";
+  by-spec."nijs"."*" =
+    self.by-version."nijs"."0.0.14";
+  by-version."nijs"."0.0.14" = lib.makeOverridable self.buildNodePackage {
+    name = "nijs-0.0.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.12.tgz";
-        sha1 = "23bb40746b409e8556f9a4fe97ca314410a685df";
+        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.14.tgz";
+        name = "nijs-0.0.14.tgz";
+        sha1 = "e4851865ee94567e33c7c7e6d7d92c031e8f1eab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nijs"."*" or []);
+      (self.nativeDeps."nijs" or []);
     deps = [
-      self.full."optparse".">= 1.0.3"
+      self.by-version."optparse"."1.0.5"
+      self.by-version."slasp"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nijs" ];
   };
-  "nijs" = self.full."nijs"."*";
-  full."node-expat"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-expat-2.0.0";
+  "nijs" = self.by-version."nijs"."0.0.14";
+  by-spec."node-appc"."0.2.0" =
+    self.by-version."node-appc"."0.2.0";
+  by-version."node-appc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-appc-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-expat/-/node-expat-2.0.0.tgz";
-        sha1 = "a10271b3463484fa4b59895df61693a1de4ac735";
+        url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.0.tgz";
+        name = "node-appc-0.2.0.tgz";
+        sha1 = "7bc7ec2a9c65e2e0b55a42669fae383329d51609";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-expat"."*" or []);
+      (self.nativeDeps."node-appc" or []);
     deps = [
+      self.by-version."adm-zip"."0.4.4"
+      self.by-version."async"."0.2.10"
+      self.by-version."colors"."0.6.2"
+      self.by-version."diff"."1.0.8"
+      self.by-version."dox"."0.4.4"
+      self.by-version."jade"."0.35.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."semver"."2.1.0"
+      self.by-version."sprintf"."0.1.3"
+      self.by-version."temp"."0.6.0"
+      self.by-version."wrench"."1.5.8"
+      self.by-version."uglify-js"."2.3.6"
+      self.by-version."xmldom"."0.1.19"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-expat" ];
+    passthru.names = [ "node-appc" ];
   };
-  "node-expat" = self.full."node-expat"."*";
-  full."node-gyp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  by-spec."node-expat"."*" =
+    self.by-version."node-expat"."2.1.4";
+  by-version."node-expat"."2.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-expat-2.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-expat/-/node-expat-2.1.4.tgz";
+        name = "node-expat-2.1.4.tgz";
+        sha1 = "e55a82249b71afbce09ffa880705ec37553c5121";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."*" or []);
+      (self.nativeDeps."node-expat" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."nan"."0.6.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-gyp" ];
+    passthru.names = [ "node-expat" ];
   };
-  "node-gyp" = self.full."node-gyp"."*";
-  full."node-gyp"."~0.10.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-expat" = self.by-version."node-expat"."2.1.4";
+  by-spec."node-gyp"."*" =
+    self.by-version."node-gyp"."0.13.0";
+  by-version."node-gyp"."0.13.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-0.13.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.13.0.tgz";
+        name = "node-gyp-0.13.0.tgz";
+        sha1 = "84e216991a64ce5f03d50c95518bd72ca9e10f1e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.10" or []);
+      (self.nativeDeps."node-gyp" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."glob"."3.2.9"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."request"."2.34.0"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."semver"."2.2.1"
+      self.by-version."tar"."0.1.19"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
-  full."node-gyp"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-gyp" = self.by-version."node-gyp"."0.13.0";
+  by-spec."node-gyp"."~0.13.0" =
+    self.by-version."node-gyp"."0.13.0";
+  by-spec."node-inspector"."*" =
+    self.by-version."node-inspector"."0.7.3";
+  by-version."node-inspector"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inspector-0.7.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.7.3.tgz";
+        name = "node-inspector-0.7.3.tgz";
+        sha1 = "988317f9a7e645d1bb78e40bb2289db82a077e73";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.2" or []);
+      (self.nativeDeps."node-inspector" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."express"."3.5.1"
+      self.by-version."async"."0.4.1"
+      self.by-version."glob"."3.2.9"
+      self.by-version."rc"."0.3.5"
+      self.by-version."strong-data-uri"."0.1.1"
+      self.by-version."debug"."0.8.1"
+      self.by-version."ws"."0.4.31"
+      self.by-version."opener"."1.3.0"
+      self.by-version."yargs"."1.1.3"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-gyp" ];
+    passthru.names = [ "node-inspector" ];
   };
-  full."node-inspector"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inspector-0.5.0";
+  "node-inspector" = self.by-version."node-inspector"."0.7.3";
+  by-spec."node-protobuf"."*" =
+    self.by-version."node-protobuf"."1.0.10";
+  by-version."node-protobuf"."1.0.10" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-protobuf-1.0.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.5.0.tgz";
-        sha1 = "3104821cb4d6436212331ef3f3539943fd370603";
+        url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.0.10.tgz";
+        name = "node-protobuf-1.0.10.tgz";
+        sha1 = "a8a02d55129efe1776bc3e038d7e6c676c001fcd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-inspector"."*" or []);
+      (self.nativeDeps."node-protobuf" or []);
     deps = [
-      self.full."socket.io"."~0.9.14"
-      self.full."express"."~3.4"
-      self.full."async"."~0.2.8"
-      self.full."glob"."~3.2.1"
-      self.full."rc"."~0.3.0"
-      self.full."strong-data-uri"."~0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-inspector" ];
+    passthru.names = [ "node-protobuf" ];
   };
-  "node-inspector" = self.full."node-inspector"."*";
-  full."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-syslog-1.1.3";
+  "node-protobuf" = self.by-version."node-protobuf"."1.0.10";
+  by-spec."node-swt".">=0.1.1" =
+    self.by-version."node-swt"."0.1.1";
+  by-version."node-swt"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-swt-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.3.tgz";
-        sha1 = "dce11e3091d39889a2af166501e67e0098a0bb64";
+        url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
+        name = "node-swt-0.1.1.tgz";
+        sha1 = "af0903825784be553b93dbae57d99d59060585dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-syslog"."1.1.3" or []);
+      (self.nativeDeps."node-swt" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-syslog" ];
+    passthru.names = [ "node-swt" ];
   };
-  full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uptime-3.2.0";
+  by-spec."node-syslog"."1.1.7" =
+    self.by-version."node-syslog"."1.1.7";
+  by-version."node-syslog"."1.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-syslog-1.1.7";
     src = [
       (fetchurl {
-        url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-        sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
+        url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.7.tgz";
+        name = "node-syslog-1.1.7.tgz";
+        sha1 = "f2b1dfce095c39f5a6d056659862ca134a08a4cb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" or []);
+      (self.nativeDeps."node-syslog" or []);
     deps = [
-      self.full."mongoose"."3.6.7"
-      self.full."mongoose-lifecycle"."1.0.0"
-      self.full."express"."3.2.0"
-      self.full."express-partials"."0.0.6"
-      self.full."connect-flash"."0.1.0"
-      self.full."ejs"."0.8.3"
-      self.full."config"."0.4.15"
-      self.full."async"."0.1.22"
-      self.full."socket.io"."0.9.14"
-      self.full."semver"."1.1.0"
-      self.full."moment"."2.1.0"
-      self.full."nodemailer"."0.3.35"
-      self.full."net-ping"."1.1.7"
-      self.full."js-yaml"."2.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-uptime" ];
+    passthru.names = [ "node-syslog" ];
   };
-  "node-uptime" = self.full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-  full."node-uuid"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
+  by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
+    self.by-version."node-uptime"."3.2.0";
+  by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-uptime-3.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+        url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
+        name = "node-uptime-3.2.0.tgz";
+        sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."*" or []);
+      (self.nativeDeps."node-uptime" or []);
     deps = [
+      self.by-version."mongoose"."3.6.7"
+      self.by-version."mongoose-lifecycle"."1.0.0"
+      self.by-version."express"."3.2.0"
+      self.by-version."express-partials"."0.0.6"
+      self.by-version."connect-flash"."0.1.0"
+      self.by-version."ejs"."0.8.3"
+      self.by-version."config"."0.4.15"
+      self.by-version."async"."0.1.22"
+      self.by-version."socket.io"."0.9.14"
+      self.by-version."semver"."1.1.0"
+      self.by-version."moment"."2.1.0"
+      self.by-version."nodemailer"."0.3.35"
+      self.by-version."net-ping"."1.1.7"
+      self.by-version."js-yaml"."2.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-uuid" ];
+    passthru.names = [ "node-uptime" ];
   };
-  "node-uuid" = self.full."node-uuid"."*";
-  full."node-uuid"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.2.0";
+  "node-uptime" = self.by-version."node-uptime"."3.2.0";
+  by-spec."node-uuid"."*" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-uuid-1.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.2.0.tgz";
-        sha1 = "81a9fe32934719852499b58b2523d2cd5fdfd65b";
+        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+        name = "node-uuid-1.4.1.tgz";
+        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.2.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.3.3";
+  "node-uuid" = self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."1.3.3" =
+    self.by-version."node-uuid"."1.3.3";
+  by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-uuid-1.3.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
+        name = "node-uuid-1.3.3.tgz";
         sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.3.3" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.0";
+  by-spec."node-uuid"."1.4.0" =
+    self.by-version."node-uuid"."1.4.0";
+  by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-uuid-1.4.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
+        name = "node-uuid-1.4.0.tgz";
         sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.4.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
+  by-spec."node-uuid"."1.4.1" =
+    self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."~1.4.1" =
+    self.by-version."node-uuid"."1.4.1";
+  by-spec."node-wsfederation".">=0.1.1" =
+    self.by-version."node-wsfederation"."0.1.1";
+  by-version."node-wsfederation"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node-wsfederation-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+        url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
+        name = "node-wsfederation-0.1.1.tgz";
+        sha1 = "9abf1dd3b20a3ab0a38f899c882c218d734e8a7b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."~1.4.0" or []);
+      (self.nativeDeps."node-wsfederation" or []);
     deps = [
+      self.by-version."xml2js"."0.4.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-uuid" ];
+    passthru.names = [ "node-wsfederation" ];
   };
-  full."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node.extend-1.0.0";
+  by-spec."node.extend"."1.0.0" =
+    self.by-version."node.extend"."1.0.0";
+  by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-node.extend-1.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz";
+        name = "node.extend-1.0.0.tgz";
         sha1 = "ab83960c477280d01ba5554a0d8fd3acfe39336e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node.extend"."1.0.0" or []);
+      (self.nativeDeps."node.extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node.extend" ];
   };
-  full."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nodemailer"."0.3.35" =
+    self.by-version."nodemailer"."0.3.35";
+  by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
     name = "nodemailer-0.3.35";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
+        name = "nodemailer-0.3.35.tgz";
         sha1 = "4d38cdc0ad230bdf88cc27d1256ef49fcb422e19";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemailer"."0.3.35" or []);
+      (self.nativeDeps."nodemailer" or []);
     deps = [
-      self.full."mailcomposer".">= 0.1.27"
-      self.full."simplesmtp".">= 0.1.22"
-      self.full."optimist"."*"
+      self.by-version."mailcomposer"."0.2.9"
+      self.by-version."simplesmtp"."0.3.25"
+      self.by-version."optimist"."0.6.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemailer" ];
   };
-  full."nodemon"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nodemon-0.7.10";
+  by-spec."nodemon"."*" =
+    self.by-version."nodemon"."1.0.17";
+  by-version."nodemon"."1.0.17" = lib.makeOverridable self.buildNodePackage {
+    name = "nodemon-1.0.17";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.7.10.tgz";
-        sha1 = "695a01b9458b115b03bbe01696d361bd50b4fb9b";
+        url = "http://registry.npmjs.org/nodemon/-/nodemon-1.0.17.tgz";
+        name = "nodemon-1.0.17.tgz";
+        sha1 = "910a3f3cb66c06a3499498455cf4e0119f75799c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemon"."*" or []);
+      (self.nativeDeps."nodemon" or []);
     deps = [
+      self.by-version."update-notifier"."0.1.8"
+      self.by-version."minimatch"."0.2.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
   };
-  "nodemon" = self.full."nodemon"."*";
-  full."nomnom"."1.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nomnom-1.6.1";
+  "nodemon" = self.by-version."nodemon"."1.0.17";
+  by-spec."nomnom"."1.6.x" =
+    self.by-version."nomnom"."1.6.2";
+  by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nomnom-1.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.1.tgz";
-        sha1 = "bfed4506642d81278738e891c557e80694c1e0c9";
+        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+        name = "nomnom-1.6.2.tgz";
+        sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nomnom"."1.6.x" or []);
+      (self.nativeDeps."nomnom" or []);
     deps = [
-      self.full."colors"."0.5.x"
-      self.full."underscore"."~1.4.4"
+      self.by-version."colors"."0.5.1"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nomnom" ];
   };
-  full."nopt"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
+  by-spec."nopt"."2" =
+    self.by-version."nopt"."2.2.0";
+  by-version."nopt"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "nopt-2.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+        url = "http://registry.npmjs.org/nopt/-/nopt-2.2.0.tgz";
+        name = "nopt-2.2.0.tgz";
+        sha1 = "3d106676f3607ac466af9bf82bd707b1501d3bd5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.0.0" =
+    self.by-version."nopt"."2.0.0";
+  by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
+        name = "nopt-2.0.0.tgz";
         sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2.0.0" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."2.1.x" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~1.0.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.2.x" =
+    self.by-version."nopt"."2.2.0";
+  by-spec."nopt"."^2.2.0" =
+    self.by-version."nopt"."2.2.0";
+  by-spec."nopt"."~1.0.10" =
+    self.by-version."nopt"."1.0.10";
+  by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-1.0.10";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+        name = "nopt-1.0.10.tgz";
         sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~1.0.10" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."~2.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."~2.1.1" =
+    self.by-version."nopt"."2.1.2";
+  by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
+        name = "nopt-2.1.2.tgz";
         sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~2.1.1" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."~2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
+  by-spec."nopt"."~2.1.2" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~2.2.0" =
+    self.by-version."nopt"."2.2.0";
+  by-spec."normalize-package-data"."~0.2.9" =
+    self.by-version."normalize-package-data"."0.2.12";
+  by-version."normalize-package-data"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "node-normalize-package-data-0.2.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.12.tgz";
+        name = "normalize-package-data-0.2.12.tgz";
+        sha1 = "c8284cf0cb0466ea60ee64276b9070722c1da768";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~2.1.2" or []);
+      (self.nativeDeps."normalize-package-data" or []);
     deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."normalize-package-data"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "normalize-package-data-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.6.tgz";
-        sha1 = "830bda1412f7ccae09b903fc080edbcdbb0947c0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."normalize-package-data"."~0.2" or []);
-    deps = [
-      self.full."semver"."2"
-      self.full."github-url-from-git"."~1.1.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
-  full."npm"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.11.tgz";
-        sha1 = "4bf7f005fe1038c4fe9207603b961c97bd0ba5a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."*" or []);
-    deps = [
-      self.full."semver"."~2.1.0"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.5"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.2"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.27.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.18"
-      self.full."fstream"."~0.1.23"
-      self.full."block-stream"."0.0.7"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.1"
-      self.full."node-gyp"."~0.10.10"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.4"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.28"
-      self.full."read-package-json"."~1.1.3"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.6"
-      self.full."init-package-json"."0.0.11"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.4.0"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.2"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.0.1"
-      self.full."sha"."~1.2.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-      self.full."github-url-from-git"."1.1.1"
+  by-spec."npm"."*" =
+    self.by-version."npm"."1.4.7";
+  by-version."npm"."1.4.7" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-1.4.7";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/npm/-/npm-1.4.7.tgz";
+        name = "npm-1.4.7.tgz";
+        sha1 = "7e3c4385973ffb58c9bf15eebe2668c0ce3fafe0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."npm" or []);
+    deps = [
+      self.by-version."abbrev"."1.0.5"
+      self.by-version."ansi"."0.2.1"
+      self.by-version."ansicolors"."0.3.2"
+      self.by-version."ansistyles"."0.1.3"
+      self.by-version."archy"."0.0.2"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."child-process-close"."0.1.1"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."cmd-shim"."1.1.1"
+      self.by-version."columnify"."0.1.2"
+      self.by-version."editor"."0.0.5"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."fstream-npm"."0.1.6"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
+      self.by-version."glob"."3.2.9"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."ini"."1.1.0"
+      self.by-version."init-package-json"."0.0.15"
+      self.by-version."lockfile"."0.4.2"
+      self.by-version."lru-cache"."2.5.0"
+      self.by-version."minimatch"."0.2.14"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."node-gyp"."0.13.0"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."npm-install-checks"."1.0.0"
+      self.by-version."npm-registry-client"."0.4.7"
+      self.by-version."npm-user-validate"."0.0.3"
+      self.by-version."npmconf"."0.1.14"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."once"."1.3.0"
+      self.by-version."opener"."1.3.0"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."path-is-inside"."1.0.1"
+      self.by-version."read"."1.0.5"
+      self.by-version."read-installed"."2.0.2"
+      self.by-version."read-package-json"."1.1.8"
+      self.by-version."request"."2.30.0"
+      self.by-version."retry"."0.6.0"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."semver"."2.2.1"
+      self.by-version."sha"."1.2.3"
+      self.by-version."slide"."1.1.5"
+      self.by-version."sorted-object"."1.0.0"
+      self.by-version."tar"."0.1.19"
+      self.by-version."text-table"."0.2.0"
+      self.by-version."uid-number"."0.0.5"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  "npm" = self.full."npm"."*";
-  full."npm"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.1.tgz";
-        sha1 = "c64f1c82362254cd4804a3dea5efbe6ec396460c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."1.3.1" or []);
-    deps = [
-      self.full."semver"."~2.0.8"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.4"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~1.2.2"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.1"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.21.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.17"
-      self.full."fstream"."~0.1.22"
-      self.full."block-stream"."*"
-      self.full."inherits"."1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.0"
-      self.full."node-gyp"."~0.10.2"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.3"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.25"
-      self.full."read-package-json"."~1.1.0"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.1"
-      self.full."init-package-json"."0.0.10"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.3.2"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.1"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.1.0"
-      self.full."sha"."~1.0.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm" ];
-  };
-  full."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.27";
+  "npm" = self.by-version."npm"."1.4.7";
+  by-spec."npm-install-checks"."~1.0.0" =
+    self.by-version."npm-install-checks"."1.0.0";
+  by-version."npm-install-checks"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npm-install-checks-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
-        sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
+        url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.0.tgz";
+        name = "npm-install-checks-1.0.0.tgz";
+        sha1 = "7e1469b5e0c693b2ae2a8830b5fc4e7bf76c88fd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."0.2.27" or []);
+      (self.nativeDeps."npm-install-checks" or []);
     deps = [
-      self.full."request"."2 >=2.20.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.0.5"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.15"
-      self.full."npmlog"."*"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."semver"."2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npm-registry-client" ];
+    passthru.names = [ "npm-install-checks" ];
   };
-  full."npm-registry-client"."~0.2.25" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
+  by-spec."npm-registry-client"."0.2.27" =
+    self.by-version."npm-registry-client"."0.2.27";
+  by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npm-registry-client-0.2.27";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
+        name = "npm-registry-client-0.2.27.tgz";
+        sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.25" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.34.0"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."semver"."2.0.11"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.20"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-registry-client"."~0.2.28" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
+  by-spec."npm-registry-client"."~0.4.7" =
+    self.by-version."npm-registry-client"."0.4.7";
+  by-version."npm-registry-client"."0.4.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npm-registry-client-0.4.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.4.7.tgz";
+        name = "npm-registry-client-0.4.7.tgz";
+        sha1 = "f4369b59890da7882527eb7c427dd95d43707afb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.28" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.34.0"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."retry"."0.6.0"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-user-validate-0.0.3";
+  by-spec."npm-user-validate"."0.0.3" =
+    self.by-version."npm-user-validate"."0.0.3";
+  by-version."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npm-user-validate-0.0.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.0.3.tgz";
+        name = "npm-user-validate-0.0.3.tgz";
         sha1 = "818eca4312d13da648f9bc1d7f80bb4f151e0c2e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-user-validate"."0.0.3" or []);
+      (self.nativeDeps."npm-user-validate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-user-validate" ];
   };
-  full."npm2nix"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.1.0";
+  by-spec."npm2nix"."*" =
+    self.by-version."npm2nix"."5.6.0";
+  by-version."npm2nix"."5.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "npm2nix-5.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.1.0.tgz";
-        sha1 = "a6b21174d57fdc31cf67849ffc72083bcae0e2ed";
+        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.6.0.tgz";
+        name = "npm2nix-5.6.0.tgz";
+        sha1 = "75680a36a24fe7f434a18199552cd3e7a576e875";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm2nix"."*" or []);
+      (self.nativeDeps."npm2nix" or []);
     deps = [
-      self.full."semver".">=2.0.10 <3.0.0"
-      self.full."argparse"."0.1.15"
-      self.full."npm-registry-client"."0.2.27"
-      self.full."npmconf"."0.1.1"
-      self.full."tar"."0.1.17"
+      self.by-version."semver"."2.2.1"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."npm-registry-client"."0.2.27"
+      self.by-version."npmconf"."0.1.1"
+      self.by-version."tar"."0.1.17"
+      self.by-version."temp"."0.6.0"
+      self.by-version."fs.extra"."1.2.1"
+      self.by-version."findit"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm2nix" ];
   };
-  "npm2nix" = self.full."npm2nix"."*";
-  full."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.0.24";
+  "npm2nix" = self.by-version."npm2nix"."5.6.0";
+  by-spec."npmconf"."0.0.24" =
+    self.by-version."npmconf"."0.0.24";
+  by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npmconf-0.0.24";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
+        name = "npmconf-0.0.24.tgz";
         sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.0.24" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."~1.1.0"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."semver"."1.1.4"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.1";
+  by-spec."npmconf"."0.1.1" =
+    self.by-version."npmconf"."0.1.1";
+  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npmconf-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
+        name = "npmconf-0.1.1.tgz";
         sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
+  by-spec."npmconf"."~0.1.13" =
+    self.by-version."npmconf"."0.1.14";
+  by-version."npmconf"."0.1.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npmconf-0.1.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.14.tgz";
+        name = "npmconf-0.1.14.tgz";
+        sha1 = "aea4bc12c5a84191a32cd350e325da4fe8b127e7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."once"."1.3.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.2.0"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
+  by-spec."npmconf"."~0.1.14" =
+    self.by-version."npmconf"."0.1.14";
+  by-spec."npmconf"."~0.1.2" =
+    self.by-version."npmconf"."0.1.14";
+  by-spec."npmlog"."*" =
+    self.by-version."npmlog"."0.0.6";
+  by-version."npmlog"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-npmlog-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
+        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.6.tgz";
+        name = "npmlog-0.0.6.tgz";
+        sha1 = "685043fe71aa1665d6e3b2acef180640caf40873";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.2" or []);
+      (self.nativeDeps."npmlog" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."ansi"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npmconf" ];
+    passthru.names = [ "npmlog" ];
   };
-  full."npmlog"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
+  by-spec."npmlog"."0" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."npmlog"."0.0.6" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."nssocket"."~0.5.1" =
+    self.by-version."nssocket"."0.5.1";
+  by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nssocket-0.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+        url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
+        name = "nssocket-0.5.1.tgz";
+        sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."*" or []);
+      (self.nativeDeps."nssocket" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."lazy"."1.0.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npmlog" ];
+    passthru.names = [ "nssocket" ];
   };
-  full."npmlog"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
+  by-spec."nth-check"."~1.0.0" =
+    self.by-version."nth-check"."1.0.0";
+  by-version."nth-check"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nth-check-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+        url = "http://registry.npmjs.org/nth-check/-/nth-check-1.0.0.tgz";
+        name = "nth-check-1.0.0.tgz";
+        sha1 = "02fc1277aa2bf8e6083be456104d6a646101a49d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0" or []);
+      (self.nativeDeps."nth-check" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
+      self.by-version."boolbase"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npmlog" ];
+    passthru.names = [ "nth-check" ];
   };
-  full."npmlog"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.3";
+  by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
+    self.by-version."oauth"."0.9.11";
+  by-version."oauth"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-oauth-0.9.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.3.tgz";
-        sha1 = "c424ad1531af402eef8da201fc3d63bdbd37dacb";
+        url = "https://github.com/ciaranj/node-oauth/tarball/master";
+        name = "oauth-0.9.11.tgz";
+        sha256 = "14cc7a064e3eda0948ac8db72fae140cb7b0fdbe031375d02cd6d0359c8b8faa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0.0.3" or []);
+      (self.nativeDeps."oauth" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npmlog" ];
+    passthru.names = [ "oauth" ];
   };
-  full."npmlog"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
+  by-spec."oauth-sign"."~0.2.0" =
+    self.by-version."oauth-sign"."0.2.0";
+  by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-oauth-sign-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
+        name = "oauth-sign-0.2.0.tgz";
+        sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0.0.4" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npmlog" ];
+    passthru.names = [ "oauth-sign" ];
   };
-  full."nssocket"."~0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "nssocket-0.5.1";
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-oauth-sign-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
-        sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        name = "oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nssocket"."~0.5.1" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
-      self.full."eventemitter2"."~0.4.11"
-      self.full."lazy"."~1.0.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "nssocket" ];
+    passthru.names = [ "oauth-sign" ];
   };
-  full."oauth-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-sign-0.2.0";
+  by-spec."object-additions".">= 0.5.0" =
+    self.by-version."object-additions"."0.5.1";
+  by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-object-additions-0.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
-        sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
+        url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
+        name = "object-additions-0.5.1.tgz";
+        sha1 = "ac624e0995e696c94cc69b41f316462b16a3bda4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.2.0" or []);
+      (self.nativeDeps."object-additions" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "oauth-sign" ];
+    passthru.names = [ "object-additions" ];
   };
-  full."oauth-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-sign-0.3.0";
+  by-spec."object-assign"."~0.1.1" =
+    self.by-version."object-assign"."0.1.2";
+  by-version."object-assign"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-object-assign-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+        url = "http://registry.npmjs.org/object-assign/-/object-assign-0.1.2.tgz";
+        name = "object-assign-0.1.2.tgz";
+        sha1 = "036992f073aff7b2db83d06b3fb3155a5ccac37f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.3.0" or []);
+      (self.nativeDeps."object-assign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "oauth-sign" ];
+    passthru.names = [ "object-assign" ];
   };
-  full."object-additions".">= 0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "object-additions-0.5.1";
+  by-spec."object-assign"."~0.1.2" =
+    self.by-version."object-assign"."0.1.2";
+  by-spec."object-keys"."~0.4.0" =
+    self.by-version."object-keys"."0.4.0";
+  by-version."object-keys"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-object-keys-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
-        sha1 = "ac624e0995e696c94cc69b41f316462b16a3bda4";
+        url = "http://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
+        name = "object-keys-0.4.0.tgz";
+        sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
       })
     ];
     buildInputs =
-      (self.nativeDeps."object-additions".">= 0.5.0" or []);
+      (self.nativeDeps."object-keys" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "object-additions" ];
+    passthru.names = [ "object-keys" ];
   };
-  full."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.1.1";
+  by-spec."once"."1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-once-1.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
+        name = "once-1.1.1.tgz";
         sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."once"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.1.1";
+  by-spec."once"."~1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-spec."once"."~1.3.0" =
+    self.by-version."once"."1.3.0";
+  by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-once-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+        url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
+        name = "once-1.3.0.tgz";
+        sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."~1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "open-0.0.2";
+  by-spec."open"."0.0.2" =
+    self.by-version."open"."0.0.2";
+  by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-open-0.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/open/-/open-0.0.2.tgz";
+        name = "open-0.0.2.tgz";
         sha1 = "0a620ba2574464742f51e69f8ba8eccfd97b5dfc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.2" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "open-0.0.4";
+  by-spec."open"."0.0.4" =
+    self.by-version."open"."0.0.4";
+  by-version."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-open-0.0.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/open/-/open-0.0.4.tgz";
+        name = "open-0.0.4.tgz";
         sha1 = "5de46a0858b9f49f9f211aa8f26628550657f262";
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.4" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "open-0.0.4";
+  by-spec."open"."~0.0.3" =
+    self.by-version."open"."0.0.5";
+  by-version."open"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-open-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/open/-/open-0.0.4.tgz";
-        sha1 = "5de46a0858b9f49f9f211aa8f26628550657f262";
+        url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz";
+        name = "open-0.0.5.tgz";
+        sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."~0.0.3" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."opener"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."~0.0.4" =
+    self.by-version."open"."0.0.5";
+  by-spec."opener"."~1.3.0" =
+    self.by-version."opener"."1.3.0";
+  by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "opener-1.3.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
+        name = "opener-1.3.0.tgz";
         sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."opener"."~1.3.0" or []);
+      (self.nativeDeps."opener" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "opener" ];
   };
-  full."optimist"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
+  by-spec."openid".">=0.2.0" =
+    self.by-version."openid"."0.5.8";
+  by-version."openid"."0.5.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-openid-0.5.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
+        url = "http://registry.npmjs.org/openid/-/openid-0.5.8.tgz";
+        name = "openid-0.5.8.tgz";
+        sha1 = "e1e3b26235cb8964ef850c074529b9d031550e85";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."*" or []);
+      (self.nativeDeps."openid" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optimist" ];
+    passthru.names = [ "openid" ];
   };
-  "optimist" = self.full."optimist"."*";
-  full."optimist"."0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.2.8";
+  by-spec."optimist"."*" =
+    self.by-version."optimist"."0.6.1";
+  by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-optimist-0.6.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
-        sha1 = "e981ab7e268b457948593b55674c099a815cac31";
+        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        name = "optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.2" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap".">=0.0.1 <0.1.0"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.5";
+  "optimist" = self.by-version."optimist"."0.6.1";
+  by-spec."optimist"."0.2" =
+    self.by-version."optimist"."0.2.8";
+  by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-optimist-0.2.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.5.tgz";
-        sha1 = "03654b52417030312d109f39b159825b60309304";
+        url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
+        name = "optimist-0.2.8.tgz";
+        sha1 = "e981ab7e268b457948593b55674c099a815cac31";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.5" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
+  by-spec."optimist"."0.3.x" =
+    self.by-version."optimist"."0.3.7";
+  by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-optimist-0.3.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+        name = "optimist-0.3.7.tgz";
         sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.x" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.4.0.tgz";
-        sha1 = "cb8ec37f2fe3aa9864cb67a275250e7e19620a25";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."0.4.0" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
+  by-spec."optimist"."0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-optimist-0.6.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
+        name = "optimist-0.6.0.tgz";
         sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.6.0" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."~0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
+  by-spec."optimist"."0.6.x" =
+    self.by-version."optimist"."0.6.1";
+  by-spec."optimist"."~0.3" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.5" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.6.0" =
+    self.by-version."optimist"."0.6.1";
+  by-spec."optimist"."~0.6.1" =
+    self.by-version."optimist"."0.6.1";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.5";
+  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-options-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+        url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
+        name = "options-0.0.5.tgz";
+        sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."~0.3" or []);
+      (self.nativeDeps."options" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optimist" ];
+    passthru.names = [ "options" ];
   };
-  full."optimist"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
+  by-spec."optjs"."*" =
+    self.by-version."optjs"."3.2.1-boom";
+  by-version."optjs"."3.2.1-boom" = lib.makeOverridable self.buildNodePackage {
+    name = "node-optjs-3.2.1-boom";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+        url = "http://registry.npmjs.org/optjs/-/optjs-3.2.1-boom.tgz";
+        name = "optjs-3.2.1-boom.tgz";
+        sha1 = "bc0af6c8647db5eec511c4ca2d264f9646add758";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."~0.3.4" or []);
+      (self.nativeDeps."optjs" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optimist" ];
+    passthru.names = [ "optjs" ];
   };
-  full."optimist"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
+  by-spec."optparse"."*" =
+    self.by-version."optparse"."1.0.5";
+  by-version."optparse"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-optparse-1.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
+        name = "optparse-1.0.5.tgz";
+        sha1 = "75e75a96506611eb1c65ba89018ff08a981e2c16";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."~0.3.5" or []);
+      (self.nativeDeps."optparse" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optimist" ];
+    passthru.names = [ "optparse" ];
   };
-  full."optimist"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
+  "optparse" = self.by-version."optparse"."1.0.5";
+  by-spec."optparse".">= 1.0.3" =
+    self.by-version."optparse"."1.0.5";
+  by-spec."os-browserify"."~0.1.1" =
+    self.by-version."os-browserify"."0.1.2";
+  by-version."os-browserify"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-os-browserify-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
+        url = "http://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
+        name = "os-browserify-0.1.2.tgz";
+        sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."~0.6.0" or []);
+      (self.nativeDeps."os-browserify" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optimist" ];
+    passthru.names = [ "os-browserify" ];
   };
-  full."options".">=0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "options-0.0.5";
+  by-spec."osenv"."0" =
+    self.by-version."osenv"."0.0.3";
+  by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-osenv-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
-        sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
+        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+        name = "osenv-0.0.3.tgz";
+        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."options".">=0.0.5" or []);
+      (self.nativeDeps."osenv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "options" ];
+    passthru.names = [ "osenv" ];
   };
-  full."optparse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "optparse-1.0.4";
+  by-spec."osenv"."0.0.3" =
+    self.by-version."osenv"."0.0.3";
+  by-spec."osenv"."~0.0.3" =
+    self.by-version."osenv"."0.0.3";
+  by-spec."owl-deepcopy"."*" =
+    self.by-version."owl-deepcopy"."0.0.4";
+  by-version."owl-deepcopy"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-owl-deepcopy-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
-        sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
+        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz";
+        name = "owl-deepcopy-0.0.4.tgz";
+        sha1 = "665f3aeafab74302d98ecaeeb7b3e764ae21f369";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optparse"."*" or []);
+      (self.nativeDeps."owl-deepcopy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optparse" ];
+    passthru.names = [ "owl-deepcopy" ];
   };
-  "optparse" = self.full."optparse"."*";
-  full."optparse".">= 1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "optparse-1.0.4";
+  "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.4";
+  by-spec."owl-deepcopy"."~0.0.1" =
+    self.by-version."owl-deepcopy"."0.0.4";
+  by-spec."p-throttler"."~0.0.1" =
+    self.by-version."p-throttler"."0.0.1";
+  by-version."p-throttler"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-p-throttler-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
-        sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
+        url = "http://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz";
+        name = "p-throttler-0.0.1.tgz";
+        sha1 = "c341e3589ec843852a035e6f88e6c1e96150029b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."optparse".">= 1.0.3" or []);
+      (self.nativeDeps."p-throttler" or []);
     deps = [
+      self.by-version."q"."0.9.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "optparse" ];
+    passthru.names = [ "p-throttler" ];
   };
-  full."osenv"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "osenv-0.0.3";
+  by-spec."pako"."~0.2.0" =
+    self.by-version."pako"."0.2.0";
+  by-version."pako"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-pako-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+        url = "http://registry.npmjs.org/pako/-/pako-0.2.0.tgz";
+        name = "pako-0.2.0.tgz";
+        sha1 = "bb93787e8c60587c8b13cd3cd8802e9d6f5dd8d5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."osenv"."0" or []);
+      (self.nativeDeps."pako" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "osenv" ];
+    passthru.names = [ "pako" ];
   };
-  full."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "osenv-0.0.3";
+  by-spec."parents"."0.0.2" =
+    self.by-version."parents"."0.0.2";
+  by-version."parents"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "parents-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+        url = "http://registry.npmjs.org/parents/-/parents-0.0.2.tgz";
+        name = "parents-0.0.2.tgz";
+        sha1 = "67147826e497d40759aaf5ba4c99659b6034d302";
       })
     ];
     buildInputs =
-      (self.nativeDeps."osenv"."0.0.3" or []);
+      (self.nativeDeps."parents" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "osenv" ];
+    passthru.names = [ "parents" ];
   };
-  full."over"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "over-0.0.5";
+  by-spec."parents"."~0.0.1" =
+    self.by-version."parents"."0.0.2";
+  by-spec."parseurl"."1.0.1" =
+    self.by-version."parseurl"."1.0.1";
+  by-version."parseurl"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-parseurl-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/over/-/over-0.0.5.tgz";
-        sha1 = "f29852e70fd7e25f360e013a8ec44c82aedb5708";
+        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
+        name = "parseurl-1.0.1.tgz";
+        sha1 = "2e57dce6efdd37c3518701030944c22bf388b7b4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."over"."~0.0.5" or []);
+      (self.nativeDeps."parseurl" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "over" ];
+    passthru.names = [ "parseurl" ];
   };
-  full."owl-deepcopy"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "owl-deepcopy-0.0.2";
+  by-spec."passport"."*" =
+    self.by-version."passport"."0.2.0";
+  by-version."passport"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-passport-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
-        sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
+        url = "http://registry.npmjs.org/passport/-/passport-0.2.0.tgz";
+        name = "passport-0.2.0.tgz";
+        sha1 = "ae5ebc5611300d51fdc44032c7ca442a548dbca5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."owl-deepcopy"."*" or []);
+      (self.nativeDeps."passport" or []);
     deps = [
+      self.by-version."passport-strategy"."1.0.0"
+      self.by-version."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "owl-deepcopy" ];
+    passthru.names = [ "passport" ];
   };
-  "owl-deepcopy" = self.full."owl-deepcopy"."*";
-  full."owl-deepcopy"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "owl-deepcopy-0.0.2";
+  "passport" = self.by-version."passport"."0.2.0";
+  by-spec."passport"."~0.1.3" =
+    self.by-version."passport"."0.1.18";
+  by-version."passport"."0.1.18" = lib.makeOverridable self.buildNodePackage {
+    name = "node-passport-0.1.18";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
-        sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
+        url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz";
+        name = "passport-0.1.18.tgz";
+        sha1 = "c8264479dcb6414cadbb66752d12b37e0b6525a1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."owl-deepcopy"."~0.0.1" or []);
+      (self.nativeDeps."passport" or []);
     deps = [
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "owl-deepcopy" ];
+    passthru.names = [ "passport" ];
   };
-  full."passport"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
+  by-spec."passport"."~0.2.0" =
+    self.by-version."passport"."0.2.0";
+  by-spec."passport-http"."*" =
+    self.by-version."passport-http"."0.2.2";
+  by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-passport-http-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+        url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
+        name = "passport-http-0.2.2.tgz";
+        sha1 = "2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."*" or []);
+      (self.nativeDeps."passport-http" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.18"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport" ];
+    passthru.names = [ "passport-http" ];
   };
-  "passport" = self.full."passport"."*";
-  full."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
+  "passport-http" = self.by-version."passport-http"."0.2.2";
+  by-spec."passport-local"."*" =
+    self.by-version."passport-local"."1.0.0";
+  by-version."passport-local"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-passport-local-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+        url = "http://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
+        name = "passport-local-1.0.0.tgz";
+        sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."0.1.17" or []);
+      (self.nativeDeps."passport-local" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
+      self.by-version."passport-strategy"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport" ];
+    passthru.names = [ "passport-local" ];
   };
-  full."passport"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
+  "passport-local" = self.by-version."passport-local"."1.0.0";
+  by-spec."passport-local"."~1.0.0" =
+    self.by-version."passport-local"."1.0.0";
+  by-spec."passport-strategy"."1.x.x" =
+    self.by-version."passport-strategy"."1.0.0";
+  by-version."passport-strategy"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-passport-strategy-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+        url = "http://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
+        name = "passport-strategy-1.0.0.tgz";
+        sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."~0.1.1" or []);
+      (self.nativeDeps."passport-strategy" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport" ];
+    passthru.names = [ "passport-strategy" ];
   };
-  full."passport"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
+  by-spec."path-browserify"."~0.0.0" =
+    self.by-version."path-browserify"."0.0.0";
+  by-version."path-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-path-browserify-0.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+        url = "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
+        name = "path-browserify-0.0.0.tgz";
+        sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."~0.1.3" or []);
+      (self.nativeDeps."path-browserify" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport" ];
+    passthru.names = [ "path-browserify" ];
   };
-  full."passport-http"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-http-0.2.2";
+  by-spec."path-is-inside"."~1.0.0" =
+    self.by-version."path-is-inside"."1.0.1";
+  by-version."path-is-inside"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-path-is-inside-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
-        sha1 = "2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6";
+        url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz";
+        name = "path-is-inside-1.0.1.tgz";
+        sha1 = "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-http"."*" or []);
+      (self.nativeDeps."path-is-inside" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport-http" ];
+    passthru.names = [ "path-is-inside" ];
   };
-  "passport-http" = self.full."passport-http"."*";
-  full."passport-local"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-local-0.1.6";
+  by-spec."path-to-regexp"."0.1.2" =
+    self.by-version."path-to-regexp"."0.1.2";
+  by-version."path-to-regexp"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-path-to-regexp-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
-        sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
+        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.tgz";
+        name = "path-to-regexp-0.1.2.tgz";
+        sha1 = "9b2b151f9cc3018c9eea50ca95729e05781712b4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-local"."*" or []);
+      (self.nativeDeps."path-to-regexp" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport-local" ];
+    passthru.names = [ "path-to-regexp" ];
   };
-  "passport-local" = self.full."passport-local"."*";
-  full."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-local-0.1.6";
+  by-spec."pause"."0.0.1" =
+    self.by-version."pause"."0.0.1";
+  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-pause-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
-        sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
+        url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        name = "pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-local"."0.1.6" or []);
+      (self.nativeDeps."pause" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport-local" ];
+    passthru.names = [ "pause" ];
   };
-  full."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "pause-0.0.1";
+  by-spec."phantomjs"."*" =
+    self.by-version."phantomjs"."1.9.7-4";
+  by-version."phantomjs"."1.9.7-4" = lib.makeOverridable self.buildNodePackage {
+    name = "phantomjs-1.9.7-4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-4.tgz";
+        name = "phantomjs-1.9.7-4.tgz";
+        sha1 = "975b84f17b4b3bb28161d28303cb793b98c9d0dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pause"."0.0.1" or []);
+      (self.nativeDeps."phantomjs" or []);
     deps = [
+      self.by-version."adm-zip"."0.2.1"
+      self.by-version."kew"."0.1.7"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."npmconf"."0.0.24"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pause" ];
+    passthru.names = [ "phantomjs" ];
   };
-  full."phantomjs"."~1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-2";
+  "phantomjs" = self.by-version."phantomjs"."1.9.7-4";
+  by-spec."phantomjs"."~1.9.1-2" =
+    self.by-version."phantomjs"."1.9.7-4";
+  by-spec."pkginfo"."0.2.x" =
+    self.by-version."pkginfo"."0.2.3";
+  by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-pkginfo-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
-        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
+        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
+        name = "pkginfo-0.2.3.tgz";
+        sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "phantomjs" ];
+    passthru.names = [ "pkginfo" ];
   };
-  full."phantomjs"."~1.9.1-2" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-2";
+  by-spec."pkginfo"."0.3.0" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-pkginfo-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
-        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
+        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+        name = "pkginfo-0.3.0.tgz";
+        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
       })
     ];
     buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9.1-2" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "phantomjs" ];
+    passthru.names = [ "pkginfo" ];
   };
-  full."pkginfo"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.2.3";
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."pkginfo"."0.x.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."plist-native"."*" =
+    self.by-version."plist-native"."0.2.3";
+  by-version."plist-native"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-plist-native-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
-        sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
+        url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.3.tgz";
+        name = "plist-native-0.2.3.tgz";
+        sha1 = "76843a2da80d587b75dcbcc1634c6f3968a2af17";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.2.x" or []);
+      (self.nativeDeps."plist-native" or []);
     deps = [
+      self.by-version."libxmljs"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pkginfo" ];
+    passthru.names = [ "plist-native" ];
   };
-  full."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
+  "plist-native" = self.by-version."plist-native"."0.2.3";
+  by-spec."policyfile"."0.0.4" =
+    self.by-version."policyfile"."0.0.4";
+  by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-policyfile-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+        url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
+        name = "policyfile-0.0.4.tgz";
+        sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.0" or []);
+      (self.nativeDeps."policyfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pkginfo" ];
+    passthru.names = [ "policyfile" ];
   };
-  full."pkginfo"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
+  by-spec."posix"."*" =
+    self.by-version."posix"."1.0.3";
+  by-version."posix"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-posix-1.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+        url = "http://registry.npmjs.org/posix/-/posix-1.0.3.tgz";
+        name = "posix-1.0.3.tgz";
+        sha1 = "f0efae90d59c56c4509c8f0ed222b421caa8188a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.x" or []);
+      (self.nativeDeps."posix" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pkginfo" ];
+    passthru.names = [ "posix" ];
   };
-  full."pkginfo"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
+  "posix" = self.by-version."posix"."1.0.3";
+  by-spec."posix-getopt"."1.0.0" =
+    self.by-version."posix-getopt"."1.0.0";
+  by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-posix-getopt-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+        url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
+        name = "posix-getopt-1.0.0.tgz";
+        sha1 = "42a90eca6119014c78bc4b9b70463d294db1aa87";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.x.x" or []);
+      (self.nativeDeps."posix-getopt" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pkginfo" ];
+    passthru.names = [ "posix-getopt" ];
   };
-  full."plist-native"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "plist-native-0.2.2";
+  by-spec."pretty-bytes"."^0.1.0" =
+    self.by-version."pretty-bytes"."0.1.0";
+  by-version."pretty-bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "pretty-bytes-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.2.tgz";
-        sha1 = "6abde856b07a52f0d6bc027f7750f4d97ff93858";
+        url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.0.tgz";
+        name = "pretty-bytes-0.1.0.tgz";
+        sha1 = "2cad1cdd7838fe59018ae5e0ccf7cae741942f8e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."plist-native"."*" or []);
+      (self.nativeDeps."pretty-bytes" or []);
     deps = [
-      self.full."libxmljs"."~0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "plist-native" ];
+    passthru.names = [ "pretty-bytes" ];
   };
-  "plist-native" = self.full."plist-native"."*";
-  full."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "policyfile-0.0.4";
+  by-spec."process"."~0.5.1" =
+    self.by-version."process"."0.5.2";
+  by-version."process"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-process-0.5.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
-        sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
+        url = "http://registry.npmjs.org/process/-/process-0.5.2.tgz";
+        name = "process-0.5.2.tgz";
+        sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."policyfile"."0.0.4" or []);
+      (self.nativeDeps."process" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "policyfile" ];
+    passthru.names = [ "process" ];
   };
-  full."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "posix-getopt-1.0.0";
+  by-spec."process"."~0.6.0" =
+    self.by-version."process"."0.6.0";
+  by-version."process"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-process-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
-        sha1 = "42a90eca6119014c78bc4b9b70463d294db1aa87";
+        url = "http://registry.npmjs.org/process/-/process-0.6.0.tgz";
+        name = "process-0.6.0.tgz";
+        sha1 = "7dd9be80ffaaedd4cb628f1827f1cbab6dc0918f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."posix-getopt"."1.0.0" or []);
+      (self.nativeDeps."process" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "posix-getopt" ];
+    passthru.names = [ "process" ];
   };
-  full."promise"."~2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "promise-2.0.0";
+  by-spec."promise"."~2.0" =
+    self.by-version."promise"."2.0.0";
+  by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-promise-2.0.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+        name = "promise-2.0.0.tgz";
         sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."promise"."~2.0" or []);
+      (self.nativeDeps."promise" or []);
     deps = [
-      self.full."is-promise"."~1"
+      self.by-version."is-promise"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promise" ];
   };
-  full."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "prompt-0.2.11";
+  by-spec."prompt"."0.2.11" =
+    self.by-version."prompt"."0.2.11";
+  by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-prompt-0.2.11";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz";
+        name = "prompt-0.2.11.tgz";
         sha1 = "26d455af4b7fac15291dfcdddf2400328c1fa446";
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.11" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.2.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.7"
+      self.by-version."utile"."0.2.1"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "prompt-0.2.9";
+  by-spec."promptly"."~0.2.0" =
+    self.by-version."promptly"."0.2.0";
+  by-version."promptly"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-promptly-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/prompt/-/prompt-0.2.9.tgz";
-        sha1 = "fdd01e3f9654d0c44fbb8671f8d3f6ca009e3c16";
+        url = "http://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz";
+        name = "promptly-0.2.0.tgz";
+        sha1 = "73ef200fa8329d5d3a8df41798950b8646ca46d9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.9" or []);
+      (self.nativeDeps."promptly" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "prompt" ];
+    passthru.names = [ "promptly" ];
   };
-  full."promptly"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "promptly-0.2.0";
+  by-spec."promzard"."~0.2.0" =
+    self.by-version."promzard"."0.2.1";
+  by-version."promzard"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-promzard-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz";
-        sha1 = "73ef200fa8329d5d3a8df41798950b8646ca46d9";
+        url = "http://registry.npmjs.org/promzard/-/promzard-0.2.1.tgz";
+        name = "promzard-0.2.1.tgz";
+        sha1 = "c4c7cbe5182465c13b43540be9daf47098b4e75b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."promptly"."~0.2.0" or []);
+      (self.nativeDeps."promzard" or []);
     deps = [
-      self.full."read"."~1.0.4"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "promptly" ];
+    passthru.names = [ "promzard" ];
   };
-  full."promzard"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "promzard-0.2.0";
+  by-spec."proto-list"."~1.2.1" =
+    self.by-version."proto-list"."1.2.2";
+  by-version."proto-list"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-proto-list-1.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/promzard/-/promzard-0.2.0.tgz";
-        sha1 = "766f33807faadeeecacf8057024fe5f753cfa3c1";
+        url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz";
+        name = "proto-list-1.2.2.tgz";
+        sha1 = "48b88798261ec2c4a785720cdfec6200d57d3326";
       })
     ];
     buildInputs =
-      (self.nativeDeps."promzard"."~0.2.0" or []);
+      (self.nativeDeps."proto-list" or []);
     deps = [
-      self.full."read"."1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "promzard" ];
+    passthru.names = [ "proto-list" ];
   };
-  full."proto-list"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "proto-list-1.2.2";
+  by-spec."protobufjs".">= 1.1.4" =
+    self.by-version."protobufjs"."2.0.5";
+  by-version."protobufjs"."2.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "protobufjs-2.0.5";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz";
-        sha1 = "48b88798261ec2c4a785720cdfec6200d57d3326";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/protobufjs/-/protobufjs-2.0.5.tgz";
+        name = "protobufjs-2.0.5.tgz";
+        sha1 = "7f351178c959b333d2327b773325ca4b2627a242";
       })
     ];
     buildInputs =
-      (self.nativeDeps."proto-list"."~1.2.1" or []);
+      (self.nativeDeps."protobufjs" or []);
     deps = [
+      self.by-version."bytebuffer"."2.3.1"
+      self.by-version."ascli"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "proto-list" ];
+    passthru.names = [ "protobufjs" ];
   };
-  full."ps-tree"."0.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "ps-tree-0.0.3";
+  by-spec."ps-tree"."0.0.x" =
+    self.by-version."ps-tree"."0.0.3";
+  by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ps-tree-0.0.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
+        name = "ps-tree-0.0.3.tgz";
         sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ps-tree"."0.0.x" or []);
+      (self.nativeDeps."ps-tree" or []);
     deps = [
-      self.full."event-stream"."~0.5"
+      self.by-version."event-stream"."0.5.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ps-tree" ];
   };
-  full."pullstream"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "pullstream-0.4.0";
+  by-spec."punycode"."1.2.4" =
+    self.by-version."punycode"."1.2.4";
+  by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-punycode-1.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pullstream/-/pullstream-0.4.0.tgz";
-        sha1 = "919f15ef376433b331351f116565dc17c6fcda77";
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz";
+        name = "punycode-1.2.4.tgz";
+        sha1 = "54008ac972aec74175def9cba6df7fa9d3918740";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pullstream"."~0.4.0" or []);
+      (self.nativeDeps."punycode" or []);
     deps = [
-      self.full."over"."~0.0.5"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."slice-stream"."0.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pullstream" ];
+    passthru.names = [ "punycode" ];
   };
-  full."q"."0.9.x" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.2.4";
+  by-spec."punycode".">=1.0.0 <1.1.0" =
+    self.by-version."punycode"."1.0.0";
+  by-version."punycode"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-punycode-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.0.0.tgz";
+        name = "punycode-1.0.0.tgz";
+        sha1 = "ce9e6c6e9c1db5827174fceb12ff4938700a1bd3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."q"."0.9.x" or []);
+      (self.nativeDeps."punycode" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "q" ];
+    passthru.names = [ "punycode" ];
   };
-  full."q".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
+  by-spec."punycode"."~1.2.3" =
+    self.by-version."punycode"."1.2.4";
+  by-spec."pure-css"."git://github.com/yui/pure.git#v0.5.0-rc-1" =
+    self.by-version."pure-css"."0.5.0-rc-1";
+  by-version."pure-css"."0.5.0-rc-1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-pure-0.5.0-rc-1";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
+      (fetchgit {
+        url = "git://github.com/yui/pure.git";
+        rev = "f5ce3ae4b48ce252adac7b6ddac50c9518729a2d";
+        sha256 = "049ac2ef812771852978d11cd5aecac2dd561e97bb16ad89c79eb1e10aa57672";
       })
     ];
     buildInputs =
-      (self.nativeDeps."q".">= 0.0.1" or []);
+      (self.nativeDeps."pure" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "q" ];
+    passthru.names = [ "pure" ];
   };
-  full."q"."~0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
+  "pure-css" = self.by-version."pure-css"."0.5.0-rc-1";
+  by-spec."q".">= 0.0.1" =
+    self.by-version."q"."2.0.1";
+  by-version."q"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-q-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
+        url = "http://registry.npmjs.org/q/-/q-2.0.1.tgz";
+        name = "q-2.0.1.tgz";
+        sha1 = "ae9dc1edd970e72820a1ca716ecc1b0fc96c1c5a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."q"."~0.9" or []);
+      (self.nativeDeps."q" or []);
     deps = [
+      self.by-version."asap"."1.0.0"
+      self.by-version."collections"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
   };
-  full."q"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
+  by-spec."q"."~0.9.2" =
+    self.by-version."q"."0.9.7";
+  by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-q-0.9.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
+        name = "q-0.9.7.tgz";
         sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
       })
     ];
     buildInputs =
-      (self.nativeDeps."q"."~0.9.2" or []);
+      (self.nativeDeps."q" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
   };
-  full."q"."~0.9.6" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
+  by-spec."q"."~0.9.6" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.7" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~1.0.0" =
+    self.by-version."q"."1.0.1";
+  by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-q-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
+        url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
+        name = "q-1.0.1.tgz";
+        sha1 = "11872aeedee89268110b10a718448ffb10112a14";
       })
     ];
     buildInputs =
-      (self.nativeDeps."q"."~0.9.6" or []);
+      (self.nativeDeps."q" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
   };
-  full."qs"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.4.2";
+  by-spec."q"."~1.0.1" =
+    self.by-version."q"."1.0.1";
+  by-spec."qs"."0.4.2" =
+    self.by-version."qs"."0.4.2";
+  by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.4.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
+        name = "qs-0.4.2.tgz";
         sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.4.x" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.1";
+  by-spec."qs"."0.4.x" =
+    self.by-version."qs"."0.4.2";
+  by-spec."qs"."0.5.1" =
+    self.by-version."qs"."0.5.1";
+  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.5.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
+        name = "qs-0.5.1.tgz";
         sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.1" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.2";
+  by-spec."qs"."0.5.2" =
+    self.by-version."qs"."0.5.2";
+  by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.5.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.2.tgz";
+        name = "qs-0.5.2.tgz";
         sha1 = "e5734acb7009fb918e800fd5c60c2f5b94a7ff43";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.2" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.5";
+  by-spec."qs"."0.5.5" =
+    self.by-version."qs"."0.5.5";
+  by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.5.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
+        name = "qs-0.5.5.tgz";
         sha1 = "b07f0d7ffe3efc6fc2fcde6c66a20775641423f3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
+  by-spec."qs"."0.6.5" =
+    self.by-version."qs"."0.6.5";
+  by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.6.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
+        name = "qs-0.6.5.tgz";
         sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.6.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
+  by-spec."qs"."0.6.6" =
+    self.by-version."qs"."0.6.6";
+  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.6.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        name = "qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs".">= 0.4.0" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.6";
+  by-spec."qs".">= 0.4.0" =
+    self.by-version."qs"."0.6.6";
+  by-spec."qs"."~0.5.0" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-0.5.6";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
+        name = "qs-0.5.6.tgz";
         sha1 = "31b1ad058567651c526921506b9a8793911a0384";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.5.0" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."~0.5.4" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.6";
+  by-spec."qs"."~0.5.4" =
+    self.by-version."qs"."0.5.6";
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.6";
+  by-spec."qs"."~0.6.6" =
+    self.by-version."qs"."0.6.6";
+  by-spec."querystring".">=0.1.0 <0.2.0" =
+    self.by-version."querystring"."0.1.0";
+  by-version."querystring"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-querystring-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-        sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+        url = "http://registry.npmjs.org/querystring/-/querystring-0.1.0.tgz";
+        name = "querystring-0.1.0.tgz";
+        sha1 = "cb76a26cda0a10a94163fcdb3e132827f04b7b10";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.5.4" or []);
+      (self.nativeDeps."querystring" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "qs" ];
+    passthru.names = [ "querystring" ];
   };
-  full."qs"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
+  by-spec."querystring-es3"."0.2.0" =
+    self.by-version."querystring-es3"."0.2.0";
+  by-version."querystring-es3"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-querystring-es3-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+        url = "http://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.0.tgz";
+        name = "querystring-es3-0.2.0.tgz";
+        sha1 = "c365a08a69c443accfeb3a9deab35e3f0abaa476";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.6.0" or []);
+      (self.nativeDeps."querystring-es3" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "qs" ];
+    passthru.names = [ "querystring-es3" ];
   };
-  full."rai"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "rai-0.1.7";
+  by-spec."rai"."~0.1" =
+    self.by-version."rai"."0.1.9";
+  by-version."rai"."0.1.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rai-0.1.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rai/-/rai-0.1.7.tgz";
-        sha1 = "1b50f1dcb4a493a67ef7a0a8c72167d789df52a0";
+        url = "http://registry.npmjs.org/rai/-/rai-0.1.9.tgz";
+        name = "rai-0.1.9.tgz";
+        sha1 = "0f71aac1b8787828b0e0bdae73ec4fe64bad11fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rai"."~0.1" or []);
+      (self.nativeDeps."rai" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rai" ];
   };
-  full."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "range-parser-0.0.4";
+  by-spec."range-parser"."0.0.4" =
+    self.by-version."range-parser"."0.0.4";
+  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-range-parser-0.0.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+        name = "range-parser-0.0.4.tgz";
         sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."range-parser"."0.0.4" or []);
+      (self.nativeDeps."range-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
   };
-  full."raw-socket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-socket-1.2.2";
+  by-spec."range-parser"."1.0.0" =
+    self.by-version."range-parser"."1.0.0";
+  by-version."range-parser"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-range-parser-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
-        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
+        name = "range-parser-1.0.0.tgz";
+        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."raw-socket"."*" or []);
+      (self.nativeDeps."range-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "raw-socket" ];
+    passthru.names = [ "range-parser" ];
   };
-  full."rbytes"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "rbytes-1.0.0";
+  by-spec."range-parser"."~1.0.0" =
+    self.by-version."range-parser"."1.0.0";
+  by-spec."raven"."~0.6.3" =
+    self.by-version."raven"."0.6.3";
+  by-version."raven"."0.6.3" = lib.makeOverridable self.buildNodePackage {
+    name = "raven-0.6.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
-        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
+        url = "http://registry.npmjs.org/raven/-/raven-0.6.3.tgz";
+        name = "raven-0.6.3.tgz";
+        sha1 = "3e7c72d45e0dff93ecc54978661331755c637320";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rbytes"."*" or []);
+      (self.nativeDeps."raven" or []);
     deps = [
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."stack-trace"."0.0.7"
+      self.by-version."lsmod"."0.0.3"
+      self.by-version."cookie"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rbytes" ];
+    passthru.names = [ "raven" ];
   };
-  "rbytes" = self.full."rbytes"."*";
-  full."rc"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.0";
+  by-spec."raw-body"."0.0.3" =
+    self.by-version."raw-body"."0.0.3";
+  by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.0.tgz";
-        sha1 = "caffdaafc17e8608e50db0c6ee63f1c344d9ac58";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
+        name = "raw-body-0.0.3.tgz";
+        sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."0.3.0" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-body" ];
   };
-  full."rc"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.1";
+  by-spec."raw-body"."1.1.2" =
+    self.by-version."raw-body"."1.1.2";
+  by-version."raw-body"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-1.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.1.tgz";
-        sha1 = "1da1bef8cf8201cafd3725bd82b31d1cf7321248";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz";
+        name = "raw-body-1.1.2.tgz";
+        sha1 = "c74b3004dea5defd1696171106ac740ec31d62be";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."~0.3.0" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
+      self.by-version."bytes"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-body" ];
   };
-  full."read"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."raw-body"."1.1.3" =
+    self.by-version."raw-body"."1.1.3";
+  by-version."raw-body"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-1.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.3.tgz";
+        name = "raw-body-1.1.3.tgz";
+        sha1 = "3d2f91e2449259cc67b8c3ce9f061db5b987935b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."bytes"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "raw-body" ];
   };
-  full."read"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."raw-body"."~1.1.2" =
+    self.by-version."raw-body"."1.1.4";
+  by-version."raw-body"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-1.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz";
+        name = "raw-body-1.1.4.tgz";
+        sha1 = "f0b5624388d031f63da07f870c86cb9ccadcb67d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1.0.x" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."bytes"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "raw-body" ];
   };
-  full."read"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."raw-socket"."*" =
+    self.by-version."raw-socket"."1.2.2";
+  by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-socket-1.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
+        name = "raw-socket-1.2.2.tgz";
+        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.1" or []);
+      (self.nativeDeps."raw-socket" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "raw-socket" ];
   };
-  full."read"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."rbytes"."*" =
+    self.by-version."rbytes"."1.0.0";
+  by-version."rbytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rbytes-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
+        name = "rbytes-1.0.0.tgz";
+        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.4" or []);
+      (self.nativeDeps."rbytes" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rbytes" ];
   };
-  full."read-installed"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "read-installed-0.2.4";
+  "rbytes" = self.by-version."rbytes"."1.0.0";
+  by-spec."rc"."~0.3.0" =
+    self.by-version."rc"."0.3.5";
+  by-version."rc"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "rc-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.4.tgz";
-        sha1 = "9a45ca0a8ae1ecdb05972f362b63bc59450b572d";
+        url = "http://registry.npmjs.org/rc/-/rc-0.3.5.tgz";
+        name = "rc-0.3.5.tgz";
+        sha1 = "fce2220593be57aa1296685a7e37ed003dfcc728";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-installed"."~0.2.2" or []);
+      (self.nativeDeps."rc" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."slide"."~1.1.3"
-      self.full."read-package-json"."1"
-      self.full."graceful-fs"."~2"
+      self.by-version."minimist"."0.0.8"
+      self.by-version."deep-extend"."0.2.8"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read-installed" ];
+    passthru.names = [ "rc" ];
   };
-  full."read-package-json"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  by-spec."rc"."~0.3.4" =
+    self.by-version."rc"."0.3.5";
+  by-spec."react"."*" =
+    self.by-version."react"."0.10.0";
+  by-version."react"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-react-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/react/-/react-0.10.0.tgz";
+        name = "react-0.10.0.tgz";
+        sha1 = "8c82753593d3f325ca99d820f7400ab02f1ee1f8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."1" or []);
+      (self.nativeDeps."react" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
     ];
     peerDependencies = [
+      self.by-version."envify"."1.2.1"
     ];
-    passthru.names = [ "read-package-json" ];
+    passthru.names = [ "react" ];
   };
-  full."read-package-json"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  "react" = self.by-version."react"."0.10.0";
+  by-spec."read"."1" =
+    self.by-version."read"."1.0.5";
+  by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-read-1.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+        name = "read-1.0.5.tgz";
+        sha1 = "007a3d169478aa710a491727e453effb92e76203";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.0" or []);
+      (self.nativeDeps."read" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
+      self.by-version."mute-stream"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read-package-json" ];
+    passthru.names = [ "read" ];
   };
-  full."read-package-json"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  by-spec."read"."1.0.x" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.1" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.4" =
+    self.by-version."read"."1.0.5";
+  by-spec."read-installed"."~2.0.1" =
+    self.by-version."read-installed"."2.0.2";
+  by-version."read-installed"."2.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-read-installed-2.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/read-installed/-/read-installed-2.0.2.tgz";
+        name = "read-installed-2.0.2.tgz";
+        sha1 = "e69e7e1946af932b2fa454465639ebea4d63773c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.3" or []);
+      (self.nativeDeps."read-installed" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
+      self.by-version."read-package-json"."1.1.8"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."util-extend"."1.0.1"
+      self.by-version."graceful-fs"."2.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read-package-json" ];
+    passthru.names = [ "read-installed" ];
   };
-  full."readable-stream"."1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
+  by-spec."read-package-json"."1" =
+    self.by-version."read-package-json"."1.1.8";
+  by-version."read-package-json"."1.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-read-package-json-1.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
+        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.8.tgz";
+        name = "read-package-json-1.1.8.tgz";
+        sha1 = "234928819444283fd63f9d93ce03ba00668e94f9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."1.0" or []);
+      (self.nativeDeps."read-package-json" or []);
     deps = [
+      self.by-version."glob"."3.2.9"
+      self.by-version."lru-cache"."2.5.0"
+      self.by-version."normalize-package-data"."0.2.12"
+      self.by-version."graceful-fs"."2.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "readable-stream" ];
+    passthru.names = [ "read-package-json" ];
   };
-  full."readable-stream"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
+  by-spec."read-package-json"."~1.1.8" =
+    self.by-version."read-package-json"."1.1.8";
+  by-spec."readable-stream"."1.0" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-version."readable-stream"."1.0.27-1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-readable-stream-1.0.27-1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+        name = "readable-stream-1.0.27-1.tgz";
+        sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.0" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
+      self.by-version."core-util-is"."1.0.1"
+      self.by-version."isarray"."0.0.1"
+      self.by-version."string_decoder"."0.10.25"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
+  by-spec."readable-stream"."1.1" =
+    self.by-version."readable-stream"."1.1.13-1";
+  by-version."readable-stream"."1.1.13-1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-readable-stream-1.1.13-1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz";
+        name = "readable-stream-1.1.13-1.tgz";
+        sha1 = "fc6f04f3366bf37bae21bec2e411c1b4d2cf1a46";
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.2" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
+      self.by-version."core-util-is"."1.0.1"
+      self.by-version."isarray"."0.0.1"
+      self.by-version."string_decoder"."0.10.25"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.1.9";
+  by-spec."readable-stream"."~1.0.17" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-spec."readable-stream"."~1.0.2" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-spec."readable-stream"."~1.0.24" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-spec."readable-stream"."~1.1.8" =
+    self.by-version."readable-stream"."1.1.13-1";
+  by-spec."readable-stream"."~1.1.9" =
+    self.by-version."readable-stream"."1.1.13-1";
+  by-spec."readdirp"."~0.2.3" =
+    self.by-version."readdirp"."0.2.5";
+  by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-readdirp-0.2.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz";
-        sha1 = "d87130fbf8f9ee9c3b4058b3c58a3e30db2fcfdd";
+        url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
+        name = "readdirp-0.2.5.tgz";
+        sha1 = "c4c276e52977ae25db5191fe51d008550f15d9bb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.8" or []);
+      (self.nativeDeps."readdirp" or []);
     deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
+      self.by-version."minimatch"."0.2.14"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "readable-stream" ];
+    passthru.names = [ "readdirp" ];
   };
-  full."readable-stream"."~1.1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.1.9";
+  by-spec."readline2"."~0.1.0" =
+    self.by-version."readline2"."0.1.0";
+  by-version."readline2"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-readline2-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz";
-        sha1 = "d87130fbf8f9ee9c3b4058b3c58a3e30db2fcfdd";
+        url = "http://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz";
+        name = "readline2-0.1.0.tgz";
+        sha1 = "6a272ef89731225b448e4c6799b6e50d5be12b98";
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.9" or []);
+      (self.nativeDeps."readline2" or []);
     deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
+      self.by-version."mute-stream"."0.0.4"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."chalk"."0.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "readable-stream" ];
+    passthru.names = [ "readline2" ];
   };
-  full."readdirp"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "readdirp-0.2.5";
+  by-spec."recursive-readdir"."0.0.2" =
+    self.by-version."recursive-readdir"."0.0.2";
+  by-version."recursive-readdir"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-recursive-readdir-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
-        sha1 = "c4c276e52977ae25db5191fe51d008550f15d9bb";
+        url = "http://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz";
+        name = "recursive-readdir-0.0.2.tgz";
+        sha1 = "0bc47dc4838e646dccfba0507b5e57ffbff35f7c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."readdirp"."~0.2.3" or []);
+      (self.nativeDeps."recursive-readdir" or []);
     deps = [
-      self.full."minimatch".">=0.2.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "readdirp" ];
+    passthru.names = [ "recursive-readdir" ];
   };
-  full."redeyed"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "redeyed-0.4.2";
+  by-spec."redeyed"."~0.4.0" =
+    self.by-version."redeyed"."0.4.4";
+  by-version."redeyed"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-redeyed-0.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redeyed/-/redeyed-0.4.2.tgz";
-        sha1 = "f0133b990cb972bdbcf2d2dce0aec36595f419bc";
+        url = "http://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz";
+        name = "redeyed-0.4.4.tgz";
+        sha1 = "37e990a6f2b21b2a11c2e6a48fd4135698cba97f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redeyed"."~0.4.0" or []);
+      (self.nativeDeps."redeyed" or []);
     deps = [
-      self.full."esprima"."~1.0.0"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redeyed" ];
   };
-  full."redis"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.9.0";
+  by-spec."redis"."*" =
+    self.by-version."redis"."0.10.1";
+  by-version."redis"."0.10.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-redis-0.10.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.9.0.tgz";
-        sha1 = "b0f5b9c5619b4f1784837718677212c1af33ee67";
+        url = "http://registry.npmjs.org/redis/-/redis-0.10.1.tgz";
+        name = "redis-0.10.1.tgz";
+        sha1 = "4f09258931d961377239fdbd495e1d99a263a8ec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."*" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  "redis" = self.full."redis"."*";
-  full."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.7.2";
+  "redis" = self.by-version."redis"."0.10.1";
+  by-spec."redis"."0.7.2" =
+    self.by-version."redis"."0.7.2";
+  by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-redis-0.7.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz";
+        name = "redis-0.7.2.tgz";
         sha1 = "fa557fef4985ab3e3384fdc5be6e2541a0bb49af";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.2" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
-      self.full."hiredis"."*"
+      self.by-version."hiredis"."0.1.16"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.7.3";
+  by-spec."redis"."0.7.3" =
+    self.by-version."redis"."0.7.3";
+  by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-redis-0.7.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
+        name = "redis-0.7.3.tgz";
         sha1 = "ee57b7a44d25ec1594e44365d8165fa7d1d4811a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.3" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis".">= 0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.9.0";
+  by-spec."redis"."0.8.x" =
+    self.by-version."redis"."0.8.6";
+  by-version."redis"."0.8.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-redis-0.8.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.9.0.tgz";
-        sha1 = "b0f5b9c5619b4f1784837718677212c1af33ee67";
+        url = "http://registry.npmjs.org/redis/-/redis-0.8.6.tgz";
+        name = "redis-0.8.6.tgz";
+        sha1 = "a7ae8f0d6fad24bdeaffe28158d6cd1f1c9d30b8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis".">= 0.6.6" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "reds-0.1.4";
+  by-spec."redis"."~0.10.0" =
+    self.by-version."redis"."0.10.1";
+  by-spec."reds"."~0.2.4" =
+    self.by-version."reds"."0.2.4";
+  by-version."reds"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-reds-0.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/reds/-/reds-0.1.4.tgz";
-        sha1 = "a97819180c30f6ecd01cad03cecb574eaabb4bee";
+        url = "http://registry.npmjs.org/reds/-/reds-0.2.4.tgz";
+        name = "reds-0.2.4.tgz";
+        sha1 = "a82dcaaa52319635bc6eee3ef9c1ac074411de3c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."reds"."0.1.4" or []);
+      (self.nativeDeps."reds" or []);
     deps = [
-      self.full."natural"."0.0.69"
-      self.full."redis".">= 0.6.6"
+      self.by-version."natural"."0.1.17"
+      self.by-version."redis"."0.7.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "reds" ];
   };
-  full."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "regexp-clone-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
-        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."regexp-clone"."0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "regexp-clone" ];
-  };
-  full."replace"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "replace-0.2.7";
+  by-spec."reduce-component"."1.0.1" =
+    self.by-version."reduce-component"."1.0.1";
+  by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-reduce-component-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/replace/-/replace-0.2.7.tgz";
-        sha1 = "e22d08a9e2e6764337bb530166a4dd89c2558fda";
+        url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+        name = "reduce-component-1.0.1.tgz";
+        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
       })
     ];
     buildInputs =
-      (self.nativeDeps."replace"."~0.2.4" or []);
+      (self.nativeDeps."reduce-component" or []);
     deps = [
-      self.full."nomnom"."1.6.x"
-      self.full."colors"."0.5.x"
-      self.full."minimatch"."~0.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "replace" ];
+    passthru.names = [ "reduce-component" ];
   };
-  full."request"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."regexp-clone"."0.0.1" =
+    self.by-version."regexp-clone"."0.0.1";
+  by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-regexp-clone-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
+        name = "regexp-clone-0.0.1.tgz";
+        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2" or []);
+      (self.nativeDeps."regexp-clone" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "regexp-clone" ];
   };
-  full."request"."2 >=2.20.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."replace"."~0.2.4" =
+    self.by-version."replace"."0.2.9";
+  by-version."replace"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "replace-0.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/replace/-/replace-0.2.9.tgz";
+        name = "replace-0.2.9.tgz";
+        sha1 = "64428de4451717e8cc34965d2d133dd86dace404";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.20.0" or []);
+      (self.nativeDeps."replace" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."nomnom"."1.6.2"
+      self.by-version."colors"."0.5.1"
+      self.by-version."minimatch"."0.2.14"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "replace" ];
   };
-  full."request"."2 >=2.25.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."request"."2" =
+    self.by-version."request"."2.34.0";
+  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.34.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
+        name = "request-2.34.0.tgz";
+        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.25.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."tough-cookie"."0.12.1"
+      self.by-version."form-data"."0.1.2"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign2"."0.5.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.16.2";
+  by-spec."request"."2 >=2.20.0" =
+    self.by-version."request"."2.34.0";
+  by-spec."request"."2 >=2.25.0" =
+    self.by-version."request"."2.34.0";
+  by-spec."request"."2.16.2" =
+    self.by-version."request"."2.16.2";
+  by-version."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.16.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.16.2.tgz";
+        name = "request-2.16.2.tgz";
         sha1 = "83a028be61be4a05163e7e2e7a4b40e35df1bcb9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.2" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.0"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.x" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.16.6";
+  by-spec."request"."2.16.x" =
+    self.by-version."request"."2.16.6";
+  by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.16.6";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
+        name = "request-2.16.6.tgz";
         sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.x" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.4"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.9.x" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.9.203";
+  by-spec."request"."2.9.x" =
+    self.by-version."request"."2.9.203";
+  by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.9.203";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
+        name = "request-2.9.203.tgz";
         sha1 = "6c1711a5407fb94a114219563e44145bcbf4723a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.9.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request".">=2.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request".">=2.12.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."request".">=2.33.0" =
+    self.by-version."request"."2.34.0";
+  by-spec."request"."^2.34.0" =
+    self.by-version."request"."2.34.0";
+  by-spec."request"."~2" =
+    self.by-version."request"."2.34.0";
+  by-spec."request"."~2.27.0" =
+    self.by-version."request"."2.27.0";
+  by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.27.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
+        name = "request-2.27.0.tgz";
         sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.2"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.16.6";
+  by-spec."request"."~2.30.0" =
+    self.by-version."request"."2.30.0";
+  by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.30.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
-        sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
+        url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz";
+        name = "request-2.30.0.tgz";
+        sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.16.6" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.4"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."tough-cookie"."0.9.15"
+      self.by-version."form-data"."0.1.2"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign2"."0.5.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.21.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.21.0";
+  by-spec."request"."~2.33.0" =
+    self.by-version."request"."2.33.0";
+  by-version."request"."2.33.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-2.33.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.21.0.tgz";
-        sha1 = "5728ab9c45e5a87c99daccd530298b6673a868d7";
+        url = "http://registry.npmjs.org/request/-/request-2.33.0.tgz";
+        name = "request-2.33.0.tgz";
+        sha1 = "5167878131726070ec633752ea230a2379dc65ff";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.21.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.9.11"
-      self.full."hawk"."~0.13.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."0.0.8"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."tough-cookie"."0.12.1"
+      self.by-version."form-data"."0.1.2"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign2"."0.5.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.22.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.22.0";
+  by-spec."request-progress"."~0.3.0" =
+    self.by-version."request-progress"."0.3.1";
+  by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-progress-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.22.0.tgz";
-        sha1 = "b883a769cc4a909571eb5004b344c43cf7e51592";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.22.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~0.13.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."0.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.25.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.25.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
-        sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+        url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
+        name = "request-progress-0.3.1.tgz";
+        sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.25.0" or []);
+      (self.nativeDeps."request-progress" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."throttleit"."0.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "request-progress" ];
   };
-  full."request"."~2.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."request-replay"."~0.2.0" =
+    self.by-version."request-replay"."0.2.0";
+  by-version."request-replay"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-request-replay-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz";
+        name = "request-replay-0.2.0.tgz";
+        sha1 = "9b693a5d118b39f5c596ead5ed91a26444057f60";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.27.0" or []);
+      (self.nativeDeps."request-replay" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."retry"."0.6.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "request-replay" ];
   };
-  full."request-progress"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-progress-0.3.1";
+  by-spec."requirejs"."~2.1" =
+    self.by-version."requirejs"."2.1.11";
+  by-version."requirejs"."2.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "requirejs-2.1.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
-        sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
+        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.11.tgz";
+        name = "requirejs-2.1.11.tgz";
+        sha1 = "0eafaa6b46ca9b5b1e13406f119c020190a24442";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-progress"."~0.3.0" or []);
+      (self.nativeDeps."requirejs" or []);
     deps = [
-      self.full."throttleit"."~0.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request-progress" ];
+    passthru.names = [ "requirejs" ];
   };
-  full."request-replay"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-replay-0.2.0";
+  by-spec."requirejs"."~2.1.0" =
+    self.by-version."requirejs"."2.1.11";
+  by-spec."resolve"."0.6.3" =
+    self.by-version."resolve"."0.6.3";
+  by-version."resolve"."0.6.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-resolve-0.6.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz";
-        sha1 = "9b693a5d118b39f5c596ead5ed91a26444057f60";
+        url = "http://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz";
+        name = "resolve-0.6.3.tgz";
+        sha1 = "dd957982e7e736debdf53b58a4dd91754575dd46";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-replay"."~0.2.0" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
-      self.full."retry"."~0.6.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request-replay" ];
+    passthru.names = [ "resolve" ];
   };
-  full."requirejs"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "requirejs-2.1.9";
+  by-spec."resolve"."0.6.x" =
+    self.by-version."resolve"."0.6.3";
+  by-spec."resolve"."~0.3.0" =
+    self.by-version."resolve"."0.3.1";
+  by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-resolve-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.9.tgz";
-        sha1 = "624e10d22863e8db9aebfb8f21809ca59da42344";
+        url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";
+        name = "resolve-0.3.1.tgz";
+        sha1 = "34c63447c664c70598d1c9b126fc43b2a24310a4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."requirejs"."~2.1.0" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "requirejs" ];
+    passthru.names = [ "resolve" ];
   };
-  full."resolve"."0.5.x" = lib.makeOverridable self.buildNodePackage {
-    name = "resolve-0.5.1";
+  by-spec."resolve"."~0.3.1" =
+    self.by-version."resolve"."0.3.1";
+  by-spec."resolve"."~0.6.0" =
+    self.by-version."resolve"."0.6.3";
+  by-spec."resolve"."~0.6.1" =
+    self.by-version."resolve"."0.6.3";
+  by-spec."response-time"."1.0.0" =
+    self.by-version."response-time"."1.0.0";
+  by-version."response-time"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-response-time-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/resolve/-/resolve-0.5.1.tgz";
-        sha1 = "15e4a222c4236bcd4cf85454412c2d0fb6524576";
+        url = "http://registry.npmjs.org/response-time/-/response-time-1.0.0.tgz";
+        name = "response-time-1.0.0.tgz";
+        sha1 = "c2bc8d08f3c359f97eae1d6da86eead175fabdc9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."0.5.x" or []);
+      (self.nativeDeps."response-time" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "resolve" ];
+    passthru.names = [ "response-time" ];
   };
-  full."resolve"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "resolve-0.3.1";
+  by-spec."restify"."2.4.1" =
+    self.by-version."restify"."2.4.1";
+  by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "restify-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";
-        sha1 = "34c63447c664c70598d1c9b126fc43b2a24310a4";
+        url = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
+        name = "restify-2.4.1.tgz";
+        sha1 = "35790a052bd0927e7f6a06cc3d079e56fabc9371";
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."~0.3.1" or []);
+      (self.nativeDeps."restify" or []);
     deps = [
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."backoff"."2.1.0"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."deep-equal"."0.0.0"
+      self.by-version."formidable"."1.0.13"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."keep-alive-agent"."0.0.1"
+      self.by-version."lru-cache"."2.3.0"
+      self.by-version."mime"."1.2.9"
+      self.by-version."negotiator"."0.2.5"
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."qs"."0.5.5"
+      self.by-version."semver"."1.1.4"
+      self.by-version."spdy"."1.7.1"
+      self.by-version."verror"."1.3.6"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "resolve" ];
+    passthru.names = [ "restify" ];
   };
-  full."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "restify-2.4.1";
+  by-spec."rethinkdb"."*" =
+    self.by-version."rethinkdb"."1.12.0-0";
+  by-version."rethinkdb"."1.12.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rethinkdb-1.12.0-0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
-        sha1 = "35790a052bd0927e7f6a06cc3d079e56fabc9371";
+        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.12.0-0.tgz";
+        name = "rethinkdb-1.12.0-0.tgz";
+        sha1 = "cad01e869bd12dcd09f235c5ec8f5ccf26cc6f81";
       })
     ];
     buildInputs =
-      (self.nativeDeps."restify"."2.4.1" or []);
+      (self.nativeDeps."rethinkdb" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."backoff"."2.1.0"
-      self.full."bunyan"."0.21.1"
-      self.full."deep-equal"."0.0.0"
-      self.full."formidable"."1.0.13"
-      self.full."http-signature"."0.9.11"
-      self.full."keep-alive-agent"."0.0.1"
-      self.full."lru-cache"."2.3.0"
-      self.full."mime"."1.2.9"
-      self.full."negotiator"."0.2.5"
-      self.full."node-uuid"."1.4.0"
-      self.full."once"."1.1.1"
-      self.full."qs"."0.5.5"
-      self.full."semver"."1.1.4"
-      self.full."spdy"."1.7.1"
-      self.full."verror"."1.3.6"
-      self.full."dtrace-provider"."0.2.8"
+      self.by-version."protobufjs"."2.0.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "restify" ];
+    passthru.names = [ "rethinkdb" ];
   };
-  full."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "retry-0.6.0";
+  "rethinkdb" = self.by-version."rethinkdb"."1.12.0-0";
+  by-spec."retry"."0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-retry-0.6.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
+        name = "retry-0.6.0.tgz";
         sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
       })
     ];
     buildInputs =
-      (self.nativeDeps."retry"."0.6.0" or []);
+      (self.nativeDeps."retry" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
   };
-  full."retry"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "retry-0.6.0";
+  by-spec."retry"."~0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-spec."revalidator"."0.1.x" =
+    self.by-version."revalidator"."0.1.7";
+  by-version."revalidator"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-revalidator-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+        url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.7.tgz";
+        name = "revalidator-0.1.7.tgz";
+        sha1 = "f0b68b01bc5c5e0e9e6d864154d7098f24fec1db";
       })
     ];
     buildInputs =
-      (self.nativeDeps."retry"."~0.6.0" or []);
+      (self.nativeDeps."revalidator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "retry" ];
+    passthru.names = [ "revalidator" ];
   };
-  full."revalidator"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "revalidator-0.1.5";
+  by-spec."rfile"."~1.0" =
+    self.by-version."rfile"."1.0.0";
+  by-version."rfile"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rfile-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.5.tgz";
-        sha1 = "205bc02e4186e63e82a0837498f29ba287be3861";
+        url = "http://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz";
+        name = "rfile-1.0.0.tgz";
+        sha1 = "59708cf90ca1e74c54c3cfc5c36fdb9810435261";
       })
     ];
     buildInputs =
-      (self.nativeDeps."revalidator"."0.1.x" or []);
+      (self.nativeDeps."rfile" or []);
     deps = [
+      self.by-version."callsite"."1.0.0"
+      self.by-version."resolve"."0.3.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "revalidator" ];
+    passthru.names = [ "rfile" ];
   };
-  full."rimraf"."1.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-1.0.9";
+  by-spec."rfile"."~1.0.0" =
+    self.by-version."rfile"."1.0.0";
+  by-spec."rimraf"."1.x.x" =
+    self.by-version."rimraf"."1.0.9";
+  by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rimraf-1.0.9";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
+        name = "rimraf-1.0.9.tgz";
         sha1 = "be4801ff76c2ba6f1c50c78e9700eb1d21f239f1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."1.x.x" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.2.6";
+  by-version."rimraf"."2.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz";
+        name = "rimraf-2.2.6.tgz";
+        sha1 = "c59597569b14d956ad29cacc42bdddf5f0ea4f4c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."2" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."2.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
+  by-spec."rimraf"."2.x.x" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."^2.2.2" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2.0.2" =
+    self.by-version."rimraf"."2.0.3";
+  by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rimraf-2.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz";
+        name = "rimraf-2.0.3.tgz";
+        sha1 = "f50a2965e7144e9afd998982f15df706730f56a9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."2.x.x" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
+      self.by-version."graceful-fs"."1.1.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
+  by-spec."rimraf"."~2.1.4" =
+    self.by-version."rimraf"."2.1.4";
+  by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-rimraf-2.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
+        name = "rimraf-2.1.4.tgz";
+        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
+      self.by-version."graceful-fs"."1.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.0.3";
+  by-spec."rimraf"."~2.2.0" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2.2.2" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2.2.5" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2.2.6" =
+    self.by-version."rimraf"."2.2.6";
+  by-spec."ruglify"."~1.0.0" =
+    self.by-version."ruglify"."1.0.0";
+  by-version."ruglify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ruglify-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz";
-        sha1 = "f50a2965e7144e9afd998982f15df706730f56a9";
+        url = "http://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz";
+        name = "ruglify-1.0.0.tgz";
+        sha1 = "dc8930e2a9544a274301cc9972574c0d0986b675";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.0.2" or []);
+      (self.nativeDeps."ruglify" or []);
     deps = [
-      self.full."graceful-fs"."~1.1"
+      self.by-version."rfile"."1.0.0"
+      self.by-version."uglify-js"."2.2.5"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rimraf" ];
+    passthru.names = [ "ruglify" ];
   };
-  full."rimraf"."~2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.1.4";
+  by-spec."s3http"."*" =
+    self.by-version."s3http"."0.0.5";
+  by-version."s3http"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "s3http-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+        url = "http://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz";
+        name = "s3http-0.0.5.tgz";
+        sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.1" or []);
+      (self.nativeDeps."s3http" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."aws-sdk"."1.18.0"
+      self.by-version."commander"."2.0.0"
+      self.by-version."http-auth"."2.0.7"
+      self.by-version."express"."3.4.4"
+      self.by-version."everyauth"."0.4.5"
+      self.by-version."string"."1.6.1"
+      self.by-version."util"."0.4.9"
+      self.by-version."crypto"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rimraf" ];
+    passthru.names = [ "s3http" ];
   };
-  full."rimraf"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.1.4";
+  "s3http" = self.by-version."s3http"."0.0.5";
+  by-spec."samsam"."~1.1" =
+    self.by-version."samsam"."1.1.1";
+  by-version."samsam"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-samsam-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+        url = "http://registry.npmjs.org/samsam/-/samsam-1.1.1.tgz";
+        name = "samsam-1.1.1.tgz";
+        sha1 = "48d64ee2a7aecaaeccebe2f0a68a49687d3a49b1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.1.4" or []);
+      (self.nativeDeps."samsam" or []);
     deps = [
-      self.full."graceful-fs"."~1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rimraf" ];
+    passthru.names = [ "samsam" ];
   };
-  full."rimraf"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
+  by-spec."sauce-connect-launcher"."~0.4.0" =
+    self.by-version."sauce-connect-launcher"."0.4.2";
+  by-version."sauce-connect-launcher"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sauce-connect-launcher-0.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+        url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.4.2.tgz";
+        name = "sauce-connect-launcher-0.4.2.tgz";
+        sha1 = "a24b9fde59e3b29ca2011174c5c08ef8f74e44b9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.2.0" or []);
+      (self.nativeDeps."sauce-connect-launcher" or []);
     deps = [
-      self.full."graceful-fs"."~2"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."async"."0.2.10"
+      self.by-version."adm-zip"."0.4.4"
+      self.by-version."rimraf"."2.2.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rimraf" ];
+    passthru.names = [ "sauce-connect-launcher" ];
   };
-  full."s3http"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "s3http-0.0.2";
+  by-spec."saucelabs"."~0.1.0" =
+    self.by-version."saucelabs"."0.1.1";
+  by-version."saucelabs"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-saucelabs-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/s3http/-/s3http-0.0.2.tgz";
-        sha1 = "e0c8bdee66981c6ddef2dfc41bb1fe51765984e5";
+        url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz";
+        name = "saucelabs-0.1.1.tgz";
+        sha1 = "5e0ea1cf3d735d6ea15fde94b5bda6bc15d2c06d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."s3http"."*" or []);
+      (self.nativeDeps."saucelabs" or []);
     deps = [
-      self.full."aws-sdk".">=1.2.0 <2"
-      self.full."commander"."0.5.1"
-      self.full."http-auth"."1.2.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "s3http" ];
+    passthru.names = [ "saucelabs" ];
   };
-  "s3http" = self.full."s3http"."*";
-  full."sauce-connect-launcher"."~0.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "sauce-connect-launcher-0.1.11";
+  by-spec."sax"."0.5.x" =
+    self.by-version."sax"."0.5.8";
+  by-version."sax"."0.5.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sax-0.5.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.1.11.tgz";
-        sha1 = "71ac88bdab7bd8396a3f7d9feb165a4e457c3ecd";
+        url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
+        name = "sax-0.5.8.tgz";
+        sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sauce-connect-launcher"."~0.1.10" or []);
+      (self.nativeDeps."sax" or []);
     deps = [
-      self.full."lodash"."~1.3.1"
-      self.full."async"."~0.2.9"
-      self.full."adm-zip"."~0.4.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sauce-connect-launcher" ];
+    passthru.names = [ "sax" ];
   };
-  full."sax"."0.5.x" = lib.makeOverridable self.buildNodePackage {
-    name = "sax-0.5.5";
+  by-spec."sax".">=0.4.2" =
+    self.by-version."sax"."0.6.0";
+  by-version."sax"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sax-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.5.5.tgz";
-        sha1 = "b1ec13d77397248d059bcc18bb9530d8210bb5d3";
+        url = "http://registry.npmjs.org/sax/-/sax-0.6.0.tgz";
+        name = "sax-0.6.0.tgz";
+        sha1 = "7a155519b712e3ec56f102ab984f15e15d3859f0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sax"."0.5.x" or []);
+      (self.nativeDeps."sax" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
   };
-  full."sax".">=0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "sax-0.5.5";
+  by-spec."scmp"."~0.0.3" =
+    self.by-version."scmp"."0.0.3";
+  by-version."scmp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-scmp-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.5.5.tgz";
-        sha1 = "b1ec13d77397248d059bcc18bb9530d8210bb5d3";
+        url = "http://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
+        name = "scmp-0.0.3.tgz";
+        sha1 = "3648df2d7294641e7f78673ffc29681d9bad9073";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sax".">=0.4.2" or []);
+      (self.nativeDeps."scmp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sax" ];
+    passthru.names = [ "scmp" ];
   };
-  full."selenium-webdriver"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "selenium-webdriver-2.37.0";
+  by-spec."selenium-webdriver"."*" =
+    self.by-version."selenium-webdriver"."2.41.0";
+  by-version."selenium-webdriver"."2.41.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-selenium-webdriver-2.41.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.37.0.tgz";
-        sha1 = "02a8c9240203c22d0400d466253d4af3f63748b8";
+        url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.41.0.tgz";
+        name = "selenium-webdriver-2.41.0.tgz";
+        sha1 = "d084dfbc73bdf33aedc7d731eaab028affad7f16";
       })
     ];
     buildInputs =
-      (self.nativeDeps."selenium-webdriver"."*" or []);
+      (self.nativeDeps."selenium-webdriver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
   };
-  "selenium-webdriver" = self.full."selenium-webdriver"."*";
-  full."semver"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.41.0";
+  by-spec."semver"."*" =
+    self.by-version."semver"."2.2.1";
+  by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+        name = "semver-2.2.1.tgz";
+        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."*" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  "semver" = self.full."semver"."*";
-  full."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "semver" = self.by-version."semver"."2.2.1";
+  by-spec."semver"."1.1.0" =
+    self.by-version."semver"."1.1.0";
+  by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
+        name = "semver-1.1.0.tgz";
         sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
+        name = "semver-1.1.4.tgz";
         sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.4" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  by-spec."semver"."2" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."2.x" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver".">=2.0.10 <3.0.0" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver".">=2.2.1 <3" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."^2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."~1.1.0" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~2.0.5" =
+    self.by-version."semver"."2.0.11";
+  by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.0.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+        name = "semver-2.0.11.tgz";
+        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."2" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.8";
+  by-spec."semver"."~2.1.0" =
+    self.by-version."semver"."2.1.0";
+  by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.8.tgz";
-        sha1 = "f5c28ba4a6d56bd1d9dbe34aed288d69366a73c6";
+        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
+        name = "semver-2.1.0.tgz";
+        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."2.0.8" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  by-spec."semver"."~2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."send"."*" =
+    self.by-version."send"."0.2.0";
+  by-version."send"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/send/-/send-0.2.0.tgz";
+        name = "send-0.2.0.tgz";
+        sha1 = "067abf45cff8bffb29cbdb7439725b32388a2c58";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."2.x" or []);
+      (self.nativeDeps."send" or []);
     deps = [
+      self.by-version."debug"."0.8.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."fresh"."0.2.2"
+      self.by-version."range-parser"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "send" ];
   };
-  full."semver".">=2.0.10 <3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  by-spec."send"."0.0.3" =
+    self.by-version."send"."0.0.3";
+  by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz";
+        name = "send-0.0.3.tgz";
+        sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver".">=2.0.10 <3.0.0" or []);
+      (self.nativeDeps."send" or []);
     deps = [
+      self.by-version."debug"."0.8.1"
+      self.by-version."mime"."1.2.6"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "send" ];
   };
-  full."semver"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
+  by-spec."send"."0.1.0" =
+    self.by-version."send"."0.1.0";
+  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
+        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+        name = "send-0.1.0.tgz";
+        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~1.1.0" or []);
+      (self.nativeDeps."send" or []);
     deps = [
+      self.by-version."debug"."0.8.1"
+      self.by-version."mime"."1.2.6"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "send" ];
   };
-  full."semver"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
+  by-spec."send"."0.1.4" =
+    self.by-version."send"."0.1.4";
+  by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
+        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
+        name = "send-0.1.4.tgz";
+        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~1.1.4" or []);
+      (self.nativeDeps."send" or []);
     deps = [
+      self.by-version."debug"."0.8.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "send" ];
   };
-  full."semver"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
+  by-spec."send"."0.2.0" =
+    self.by-version."send"."0.2.0";
+  by-spec."sequence"."2.2.1" =
+    self.by-version."sequence"."2.2.1";
+  by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sequence-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
+        name = "sequence-2.2.1.tgz";
+        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.0.0" or []);
+      (self.nativeDeps."sequence" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "sequence" ];
   };
-  full."semver"."~2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
+  by-spec."sequence"."2.x" =
+    self.by-version."sequence"."2.2.1";
+  by-spec."serve-index"."1.0.1" =
+    self.by-version."serve-index"."1.0.1";
+  by-version."serve-index"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-index-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+        url = "http://registry.npmjs.org/serve-index/-/serve-index-1.0.1.tgz";
+        name = "serve-index-1.0.1.tgz";
+        sha1 = "2782ee8ede6cccaae54957962c4715e8ce1921a6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.0.5" or []);
+      (self.nativeDeps."serve-index" or []);
     deps = [
+      self.by-version."batch"."0.5.0"
+      self.by-version."negotiator"."0.4.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "serve-index" ];
   };
-  full."semver"."~2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
+  by-spec."serve-static"."1.0.1" =
+    self.by-version."serve-static"."1.0.1";
+  by-version."serve-static"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-static-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz";
+        name = "serve-static-1.0.1.tgz";
+        sha1 = "10dcbfd44b3e0291a131fc9ab4ab25a9f5a78a42";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.0.8" or []);
+      (self.nativeDeps."serve-static" or []);
     deps = [
+      self.by-version."send"."0.1.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "serve-static" ];
   };
-  full."semver"."~2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  by-spec."serve-static"."1.0.2" =
+    self.by-version."serve-static"."1.0.2";
+  by-version."serve-static"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-static-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.2.tgz";
+        name = "serve-static-1.0.2.tgz";
+        sha1 = "4129f6727b09fb031134fa6d185683e30bfbef54";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.1" or []);
+      (self.nativeDeps."serve-static" or []);
     deps = [
+      self.by-version."send"."0.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "serve-static" ];
   };
-  full."semver"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  by-spec."serve-static"."1.0.4" =
+    self.by-version."serve-static"."1.0.4";
+  by-version."serve-static"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-static-1.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.4.tgz";
+        name = "serve-static-1.0.4.tgz";
+        sha1 = "426fedebe77bad21f373f1efcae09746639fba06";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.1.0" or []);
+      (self.nativeDeps."serve-static" or []);
     deps = [
+      self.by-version."parseurl"."1.0.1"
+      self.by-version."send"."0.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "semver" ];
+    passthru.names = [ "serve-static" ];
   };
-  full."send"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.4";
+  by-spec."serve-static"."~1.0.3" =
+    self.by-version."serve-static"."1.0.4";
+  by-spec."setimmediate"."1.0.1" =
+    self.by-version."setimmediate"."1.0.1";
+  by-version."setimmediate"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-setimmediate-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
-        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
+        url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz";
+        name = "setimmediate-1.0.1.tgz";
+        sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."*" or []);
+      (self.nativeDeps."setimmediate" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "send" ];
+    passthru.names = [ "setimmediate" ];
   };
-  full."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.0";
+  by-spec."sha"."~1.2.1" =
+    self.by-version."sha"."1.2.3";
+  by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sha-1.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
-        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+        url = "http://registry.npmjs.org/sha/-/sha-1.2.3.tgz";
+        name = "sha-1.2.3.tgz";
+        sha1 = "3a96ef3054a0fe0b87c9aa985824a6a736fc0329";
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.0" or []);
+      (self.nativeDeps."sha" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."1.2.6"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."graceful-fs"."2.0.3"
+      self.by-version."readable-stream"."1.0.27-1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "send" ];
+    passthru.names = [ "sha" ];
   };
-  full."send"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.1";
+  by-spec."shallow-copy"."0.0.1" =
+    self.by-version."shallow-copy"."0.0.1";
+  by-version."shallow-copy"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-shallow-copy-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.1.tgz";
-        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
+        url = "http://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
+        name = "shallow-copy-0.0.1.tgz";
+        sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.1" or []);
+      (self.nativeDeps."shallow-copy" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "send" ];
+    passthru.names = [ "shallow-copy" ];
   };
-  full."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.4";
+  by-spec."shell-quote"."~0.0.1" =
+    self.by-version."shell-quote"."0.0.1";
+  by-version."shell-quote"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-shell-quote-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
-        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
+        url = "http://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";
+        name = "shell-quote-0.0.1.tgz";
+        sha1 = "1a41196f3c0333c482323593d6886ecf153dd986";
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.4" or []);
+      (self.nativeDeps."shell-quote" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "send" ];
+    passthru.names = [ "shell-quote" ];
   };
-  full."sequence"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "sequence-2.2.1";
+  by-spec."shell-quote"."~1.4.1" =
+    self.by-version."shell-quote"."1.4.1";
+  by-version."shell-quote"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-shell-quote-1.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
+        url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.1.tgz";
+        name = "shell-quote-1.4.1.tgz";
+        sha1 = "ae18442b536a08c720239b079d2f228acbedee40";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sequence"."*" or []);
+      (self.nativeDeps."shell-quote" or []);
     deps = [
+      self.by-version."jsonify"."0.0.0"
+      self.by-version."array-filter"."0.0.1"
+      self.by-version."array-reduce"."0.0.0"
+      self.by-version."array-map"."0.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sequence" ];
+    passthru.names = [ "shell-quote" ];
   };
-  full."sequence".">= 2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sequence-2.2.1";
+  by-spec."shelljs"."*" =
+    self.by-version."shelljs"."0.2.6";
+  by-version."shelljs"."0.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "shelljs-0.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
+        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz";
+        name = "shelljs-0.2.6.tgz";
+        sha1 = "90492d72ffcc8159976baba62fb0f6884f0c3378";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sequence".">= 2.2.1" or []);
+      (self.nativeDeps."shelljs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sequence" ];
+    passthru.names = [ "shelljs" ];
   };
-  full."setimmediate"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "setimmediate-1.0.1";
+  "shelljs" = self.by-version."shelljs"."0.2.6";
+  by-spec."shelljs"."0.1.x" =
+    self.by-version."shelljs"."0.1.4";
+  by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "shelljs-0.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz";
-        sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7";
+        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
+        name = "shelljs-0.1.4.tgz";
+        sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."setimmediate"."~1.0.1" or []);
+      (self.nativeDeps."shelljs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "setimmediate" ];
+    passthru.names = [ "shelljs" ];
   };
-  full."sha"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sha-1.0.1";
+  by-spec."shelljs"."~0.2.6" =
+    self.by-version."shelljs"."0.2.6";
+  by-spec."should"."*" =
+    self.by-version."should"."3.3.1";
+  by-version."should"."3.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-should-3.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sha/-/sha-1.0.1.tgz";
-        sha1 = "9b87a92113103e7406f7e7ef00006f3fa1975122";
+        url = "http://registry.npmjs.org/should/-/should-3.3.1.tgz";
+        name = "should-3.3.1.tgz";
+        sha1 = "28c93a522ba001146af96078f0a88bf5ac929522";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sha"."~1.0.1" or []);
+      (self.nativeDeps."should" or []);
     deps = [
-      self.full."graceful-fs"."1.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sha" ];
+    passthru.names = [ "should" ];
   };
-  full."sha"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sha-1.2.3";
+  "should" = self.by-version."should"."3.3.1";
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sigmund-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sha/-/sha-1.2.3.tgz";
-        sha1 = "3a96ef3054a0fe0b87c9aa985824a6a736fc0329";
+        url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+        name = "sigmund-1.0.0.tgz";
+        sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sha"."~1.2.1" or []);
+      (self.nativeDeps."sigmund" or []);
     deps = [
-      self.full."graceful-fs"."2"
-      self.full."readable-stream"."1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sha" ];
+    passthru.names = [ "sigmund" ];
   };
-  full."shelljs"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "shelljs-0.1.4";
+  by-spec."signals"."<2.0" =
+    self.by-version."signals"."1.0.0";
+  by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-signals-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
-        sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
+        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
+        name = "signals-1.0.0.tgz";
+        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
       })
     ];
     buildInputs =
-      (self.nativeDeps."shelljs"."0.1.x" or []);
+      (self.nativeDeps."signals" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "shelljs" ];
+    passthru.names = [ "signals" ];
   };
-  full."shelljs"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "shelljs-0.1.4";
+  by-spec."signals".">0.7 <2.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."signals"."~1.0.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."simple-lru-cache"."0.0.x" =
+    self.by-version."simple-lru-cache"."0.0.1";
+  by-version."simple-lru-cache"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-simple-lru-cache-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
-        sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
+        url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.1.tgz";
+        name = "simple-lru-cache-0.0.1.tgz";
+        sha1 = "0334171e40ed4a4861ac29250eb1db23300be4f0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."shelljs"."~0.1.4" or []);
+      (self.nativeDeps."simple-lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "shelljs" ];
+    passthru.names = [ "simple-lru-cache" ];
   };
-  full."should"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "should-2.0.1";
+  by-spec."simplesmtp".">= 0.1.22" =
+    self.by-version."simplesmtp"."0.3.25";
+  by-version."simplesmtp"."0.3.25" = lib.makeOverridable self.buildNodePackage {
+    name = "node-simplesmtp-0.3.25";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/should/-/should-2.0.1.tgz";
-        sha1 = "d244c90bb919f3e51dca472ef7d93c244eb7b79a";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.25.tgz";
+        name = "simplesmtp-0.3.25.tgz";
+        sha1 = "09b6ac292b7dae8053cfba11da09a0458eb8af39";
       })
     ];
     buildInputs =
-      (self.nativeDeps."should"."*" or []);
+      (self.nativeDeps."simplesmtp" or []);
     deps = [
+      self.by-version."rai"."0.1.9"
+      self.by-version."xoauth2"."0.1.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "should" ];
+    passthru.names = [ "simplesmtp" ];
   };
-  "should" = self.full."should"."*";
-  full."sigmund"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "sigmund-1.0.0";
+  by-spec."sinon"."*" =
+    self.by-version."sinon"."1.9.1";
+  by-version."sinon"."1.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sinon-1.9.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
-        sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+        url = "http://registry.npmjs.org/sinon/-/sinon-1.9.1.tgz";
+        name = "sinon-1.9.1.tgz";
+        sha1 = "0dac622bd3f0e6f9662a7431baf65f58c3459d69";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sigmund"."~1.0.0" or []);
+      (self.nativeDeps."sinon" or []);
     deps = [
+      self.by-version."formatio"."1.0.2"
+      self.by-version."util"."0.10.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sigmund" ];
+    passthru.names = [ "sinon" ];
   };
-  full."signals"."<2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
+  "sinon" = self.by-version."sinon"."1.9.1";
+  by-spec."slasp"."*" =
+    self.by-version."slasp"."0.0.3";
+  by-version."slasp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-slasp-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
+        url = "http://registry.npmjs.org/slasp/-/slasp-0.0.3.tgz";
+        name = "slasp-0.0.3.tgz";
+        sha1 = "fb9aba74f30fc2f012d0ff2d34d4b5c678c11f9f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals"."<2.0" or []);
+      (self.nativeDeps."slasp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "signals" ];
+    passthru.names = [ "slasp" ];
   };
-  full."signals".">0.7 <2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
+  "slasp" = self.by-version."slasp"."0.0.3";
+  by-spec."slasp"."0.0.3" =
+    self.by-version."slasp"."0.0.3";
+  by-spec."sliced"."0.0.3" =
+    self.by-version."sliced"."0.0.3";
+  by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sliced-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
+        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
+        name = "sliced-0.0.3.tgz";
+        sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals".">0.7 <2.0" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "signals" ];
+    passthru.names = [ "sliced" ];
   };
-  full."signals"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
+  by-spec."sliced"."0.0.4" =
+    self.by-version."sliced"."0.0.4";
+  by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sliced-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
+        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
+        name = "sliced-0.0.4.tgz";
+        sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals"."~1.0.0" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "signals" ];
+    passthru.names = [ "sliced" ];
   };
-  full."simplesmtp".">= 0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "simplesmtp-0.3.10";
+  by-spec."sliced"."0.0.5" =
+    self.by-version."sliced"."0.0.5";
+  by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sliced-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.10.tgz";
-        sha1 = "f395f4b118de45f82ac4fdae4bd88f12dc326f5d";
+        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
+        name = "sliced-0.0.5.tgz";
+        sha1 = "5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."simplesmtp".">= 0.1.22" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
-      self.full."rai"."~0.1"
-      self.full."xoauth2"."~0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "simplesmtp" ];
+    passthru.names = [ "sliced" ];
   };
-  full."slice-stream"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "slice-stream-0.0.0";
+  by-spec."slide"."~1.1.3" =
+    self.by-version."slide"."1.1.5";
+  by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-slide-1.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slice-stream/-/slice-stream-0.0.0.tgz";
-        sha1 = "8183df87ad44ae0b48c0625134eac6e349747860";
+        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
+        name = "slide-1.1.5.tgz";
+        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."slice-stream"."0.0.0" or []);
+      (self.nativeDeps."slide" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "slice-stream" ];
+    passthru.names = [ "slide" ];
   };
-  full."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "sliced-0.0.3";
+  by-spec."slide"."~1.1.5" =
+    self.by-version."slide"."1.1.5";
+  by-spec."smartdc"."*" =
+    self.by-version."smartdc"."7.2.1";
+  by-version."smartdc"."7.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "smartdc-7.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
-        sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
+        url = "http://registry.npmjs.org/smartdc/-/smartdc-7.2.1.tgz";
+        name = "smartdc-7.2.1.tgz";
+        sha1 = "6fce690557f6b563c061d6adee161d6b33d06148";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.3" or []);
+      (self.nativeDeps."smartdc" or []);
     deps = [
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."lru-cache"."2.2.0"
+      self.by-version."nopt"."2.0.0"
+      self.by-version."restify"."2.4.1"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."clone"."0.1.6"
+      self.by-version."smartdc-auth"."1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sliced" ];
+    passthru.names = [ "smartdc" ];
   };
-  full."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "sliced-0.0.4";
+  "smartdc" = self.by-version."smartdc"."7.2.1";
+  by-spec."smartdc-auth"."1.0.1" =
+    self.by-version."smartdc-auth"."1.0.1";
+  by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-smartdc-auth-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
-        sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
+        url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
+        name = "smartdc-auth-1.0.1.tgz";
+        sha1 = "520bbf918313bdf2da372927d33756d46356b87b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.4" or []);
+      (self.nativeDeps."smartdc-auth" or []);
     deps = [
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."clone"."0.1.5"
+      self.by-version."ssh-agent"."0.2.1"
+      self.by-version."once"."1.1.1"
+      self.by-version."vasync"."1.3.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sliced" ];
+    passthru.names = [ "smartdc-auth" ];
   };
-  full."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "sliced-0.0.5";
+  by-spec."sntp"."0.1.x" =
+    self.by-version."sntp"."0.1.4";
+  by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sntp-0.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
-        sha1 = "5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f";
+        url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
+        name = "sntp-0.1.4.tgz";
+        sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.5" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sliced" ];
+    passthru.names = [ "sntp" ];
   };
-  full."slide"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sntp-0.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
+        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        name = "sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
       })
     ];
     buildInputs =
-      (self.nativeDeps."slide"."~1.1.3" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "slide" ];
+    passthru.names = [ "sntp" ];
   };
-  full."slide"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
+  by-spec."socket.io"."0.9.14" =
+    self.by-version."socket.io"."0.9.14";
+  by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-socket.io-0.9.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
+        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
+        name = "socket.io-0.9.14.tgz";
+        sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
       })
     ];
     buildInputs =
-      (self.nativeDeps."slide"."~1.1.4" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
+      self.by-version."socket.io-client"."0.9.11"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "slide" ];
+    passthru.names = [ "socket.io" ];
   };
-  full."slide"."~1.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
+  by-spec."socket.io"."~0.9.13" =
+    self.by-version."socket.io"."0.9.16";
+  by-version."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+    name = "node-socket.io-0.9.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
+        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
+        name = "socket.io-0.9.16.tgz";
+        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
       })
     ];
     buildInputs =
-      (self.nativeDeps."slide"."~1.1.5" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
+      self.by-version."socket.io-client"."0.9.16"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "slide" ];
+    passthru.names = [ "socket.io" ];
   };
-  full."smartdc"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "smartdc-7.1.1";
+  by-spec."socket.io"."~0.9.16" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io-client"."0.9.11" =
+    self.by-version."socket.io-client"."0.9.11";
+  by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-socket.io-client-0.9.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/smartdc/-/smartdc-7.1.1.tgz";
-        sha1 = "acc4378e0967b43dd8ded8c67f99e6508277bfb9";
+        url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
+        name = "socket.io-client-0.9.11.tgz";
+        sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc"."*" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."lru-cache"."2.2.0"
-      self.full."nopt"."2.0.0"
-      self.full."restify"."2.4.1"
-      self.full."bunyan"."0.21.1"
-      self.full."clone"."0.1.6"
-      self.full."smartdc-auth"."1.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "smartdc" ];
+    passthru.names = [ "socket.io-client" ];
   };
-  "smartdc" = self.full."smartdc"."*";
-  full."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "smartdc-auth-1.0.1";
+  by-spec."socket.io-client"."0.9.16" =
+    self.by-version."socket.io-client"."0.9.16";
+  by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+    name = "node-socket.io-client-0.9.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
-        sha1 = "520bbf918313bdf2da372927d33756d46356b87b";
+        url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
+        name = "socket.io-client-0.9.16.tgz";
+        sha1 = "4da7515c5e773041d1b423970415bcc430f35fc6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc-auth"."1.0.1" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."clone"."0.1.5"
-      self.full."ssh-agent"."0.2.1"
-      self.full."once"."1.1.1"
-      self.full."vasync"."1.3.3"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "smartdc-auth" ];
+    passthru.names = [ "socket.io-client" ];
   };
-  full."sntp"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "sntp-0.1.4";
+  by-spec."sockjs"."*" =
+    self.by-version."sockjs"."0.3.8";
+  by-version."sockjs"."0.3.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sockjs-0.3.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
-        sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
+        url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.8.tgz";
+        name = "sockjs-0.3.8.tgz";
+        sha1 = "c083cb0505db1ea1a949d3bd12d8a1ea385a456c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.1.x" or []);
+      (self.nativeDeps."sockjs" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."node-uuid"."1.3.3"
+      self.by-version."faye-websocket"."0.7.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sntp" ];
+    passthru.names = [ "sockjs" ];
   };
-  full."sntp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "sntp-0.2.4";
+  "sockjs" = self.by-version."sockjs"."0.3.8";
+  by-spec."sorted-object"."~1.0.0" =
+    self.by-version."sorted-object"."1.0.0";
+  by-version."sorted-object"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sorted-object-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+        url = "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz";
+        name = "sorted-object-1.0.0.tgz";
+        sha1 = "5d1f4f9c1fb2cd48965967304e212eb44cfb6d05";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.2.x" or []);
+      (self.nativeDeps."sorted-object" or []);
     deps = [
-      self.full."hoek"."0.9.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sntp" ];
+    passthru.names = [ "sorted-object" ];
   };
-  full."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.14";
+  by-spec."source-map"."*" =
+    self.by-version."source-map"."0.1.33";
+  by-version."source-map"."0.1.33" = lib.makeOverridable self.buildNodePackage {
+    name = "node-source-map-0.1.33";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
-        sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.33.tgz";
+        name = "source-map-0.1.33.tgz";
+        sha1 = "c659297a73af18c073b0aa2e7cc91e316b5c570c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.14" or []);
+      (self.nativeDeps."source-map" or []);
     deps = [
-      self.full."socket.io-client"."0.9.11"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."amdefine"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "socket.io" ];
+    passthru.names = [ "source-map" ];
   };
-  full."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
+  "source-map" = self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."0.1.11" =
+    self.by-version."source-map"."0.1.11";
+  by-version."source-map"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "node-source-map-0.1.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.11.tgz";
+        name = "source-map-0.1.11.tgz";
+        sha1 = "2eef2fd65a74c179880ae5ee6975d99ce21eb7b4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.16" or []);
+      (self.nativeDeps."source-map" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."amdefine"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "socket.io" ];
+    passthru.names = [ "source-map" ];
   };
-  full."socket.io"."~0.9.13" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
+  by-spec."source-map"."0.1.31" =
+    self.by-version."source-map"."0.1.31";
+  by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "node-source-map-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
+        name = "source-map-0.1.31.tgz";
+        sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.13" or []);
+      (self.nativeDeps."source-map" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."amdefine"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "socket.io" ];
+    passthru.names = [ "source-map" ];
   };
-  full."socket.io"."~0.9.14" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
+  by-spec."source-map"."0.1.x" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."source-map".">= 0.1.2" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~ 0.1.8" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~0.1.30" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~0.1.31" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~0.1.33" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~0.1.7" =
+    self.by-version."source-map"."0.1.33";
+  by-spec."spdy"."1.7.1" =
+    self.by-version."spdy"."1.7.1";
+  by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-spdy-1.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
+        url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
+        name = "spdy-1.7.1.tgz";
+        sha1 = "4fde77e602b20c4ecc39ee8619373dd9bf669152";
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.14" or []);
+      (self.nativeDeps."spdy" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "socket.io" ];
+    passthru.names = [ "spdy" ];
   };
-  full."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-client-0.9.11";
+  by-spec."sprintf"."~0.1.2" =
+    self.by-version."sprintf"."0.1.3";
+  by-version."sprintf"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sprintf-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
-        sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
+        url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.3.tgz";
+        name = "sprintf-0.1.3.tgz";
+        sha1 = "530fc31405d47422f6edb40f29bdafac599ede11";
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.11" or []);
+      (self.nativeDeps."sprintf" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "socket.io-client" ];
+    passthru.names = [ "sprintf" ];
   };
-  full."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-client-0.9.16";
+  by-spec."sprintf"."~0.1.3" =
+    self.by-version."sprintf"."0.1.3";
+  by-spec."ssh-agent"."0.2.1" =
+    self.by-version."ssh-agent"."0.2.1";
+  by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ssh-agent-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
-        sha1 = "4da7515c5e773041d1b423970415bcc430f35fc6";
+        url = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
+        name = "ssh-agent-0.2.1.tgz";
+        sha1 = "3044e9eaeca88a9e6971dd7deb19bdcc20012929";
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.16" or []);
+      (self.nativeDeps."ssh-agent" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."ctype"."0.5.0"
+      self.by-version."posix-getopt"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "socket.io-client" ];
+    passthru.names = [ "ssh-agent" ];
   };
-  full."sockjs"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "sockjs-0.3.8";
+  by-spec."stack-trace"."0.0.7" =
+    self.by-version."stack-trace"."0.0.7";
+  by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stack-trace-0.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.8.tgz";
-        sha1 = "c083cb0505db1ea1a949d3bd12d8a1ea385a456c";
+        url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
+        name = "stack-trace-0.0.7.tgz";
+        sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sockjs"."*" or []);
+      (self.nativeDeps."stack-trace" or []);
     deps = [
-      self.full."node-uuid"."1.3.3"
-      self.full."faye-websocket"."0.7.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sockjs" ];
+    passthru.names = [ "stack-trace" ];
   };
-  "sockjs" = self.full."sockjs"."*";
-  full."source-map"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.9";
+  by-version."stack-trace"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stack-trace-0.0.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
+        url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+        name = "stack-trace-0.0.9.tgz";
+        sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
       })
     ];
     buildInputs =
-      (self.nativeDeps."source-map"."*" or []);
+      (self.nativeDeps."stack-trace" or []);
     deps = [
-      self.full."amdefine".">=0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "source-map" ];
+    passthru.names = [ "stack-trace" ];
   };
-  "source-map" = self.full."source-map"."*";
-  full."source-map".">= 0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
+  by-spec."stackdriver-statsd-backend"."*" =
+    self.by-version."stackdriver-statsd-backend"."0.2.1";
+  by-version."stackdriver-statsd-backend"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stackdriver-statsd-backend-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
+        url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.1.tgz";
+        name = "stackdriver-statsd-backend-0.2.1.tgz";
+        sha1 = "3109661288821e79259b4d750a25d7159265dd8e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."source-map".">= 0.1.2" or []);
+      (self.nativeDeps."stackdriver-statsd-backend" or []);
     deps = [
-      self.full."amdefine".">=0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "source-map" ];
+    passthru.names = [ "stackdriver-statsd-backend" ];
   };
-  full."source-map"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
+  "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.2.1";
+  by-spec."static-favicon"."1.0.0" =
+    self.by-version."static-favicon"."1.0.0";
+  by-version."static-favicon"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-static-favicon-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
+        url = "http://registry.npmjs.org/static-favicon/-/static-favicon-1.0.0.tgz";
+        name = "static-favicon-1.0.0.tgz";
+        sha1 = "2e58dcfe58957a2d53337ef7a38cf9ad6c13c0d0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."source-map"."~0.1.7" or []);
+      (self.nativeDeps."static-favicon" or []);
     deps = [
-      self.full."amdefine".">=0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "source-map" ];
+    passthru.names = [ "static-favicon" ];
   };
-  full."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "spdy-1.7.1";
+  by-spec."static-favicon"."1.0.2" =
+    self.by-version."static-favicon"."1.0.2";
+  by-version."static-favicon"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-static-favicon-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
-        sha1 = "4fde77e602b20c4ecc39ee8619373dd9bf669152";
+        url = "http://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz";
+        name = "static-favicon-1.0.2.tgz";
+        sha1 = "7c15920dda2bf33f414b0e60aebbd65cdd2a1d2f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."spdy"."1.7.1" or []);
+      (self.nativeDeps."static-favicon" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "spdy" ];
+    passthru.names = [ "static-favicon" ];
   };
-  full."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ssh-agent-0.2.1";
+  by-spec."statsd"."*" =
+    self.by-version."statsd"."0.7.1";
+  by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "statsd-0.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
-        sha1 = "3044e9eaeca88a9e6971dd7deb19bdcc20012929";
+        url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz";
+        name = "statsd-0.7.1.tgz";
+        sha1 = "b3a5124948ea5558e59eb26536ccfdedb9ba2a70";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh-agent"."0.2.1" or []);
+      (self.nativeDeps."statsd" or []);
     deps = [
-      self.full."ctype"."0.5.0"
-      self.full."posix-getopt"."1.0.0"
+      self.by-version."node-syslog"."1.1.7"
+      self.by-version."hashring"."1.0.1"
+      self.by-version."winser"."0.1.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ssh-agent" ];
+    passthru.names = [ "statsd" ];
   };
-  full."ssh2"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "ssh2-0.2.8";
+  "statsd" = self.by-version."statsd"."0.7.1";
+  by-spec."statsd-librato-backend"."*" =
+    self.by-version."statsd-librato-backend"."0.1.2";
+  by-version."statsd-librato-backend"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-statsd-librato-backend-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.8.tgz";
-        sha1 = "50acd6d7a7fb4da18ef4364737bb9a5066bf689d";
+        url = "http://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.2.tgz";
+        name = "statsd-librato-backend-0.1.2.tgz";
+        sha1 = "228718018361ef352109bb69e2e6b3af9ab7d12d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh2"."0.2.8" or []);
+      (self.nativeDeps."statsd-librato-backend" or []);
     deps = [
-      self.full."streamsearch"."0.1.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ssh2" ];
+    passthru.names = [ "statsd-librato-backend" ];
   };
-  full."stack-trace"."0.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "stack-trace-0.0.7";
+  "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.2";
+  by-spec."stream-browserify"."~0.1.0" =
+    self.by-version."stream-browserify"."0.1.3";
+  by-version."stream-browserify"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stream-browserify-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
-        sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
+        url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-0.1.3.tgz";
+        name = "stream-browserify-0.1.3.tgz";
+        sha1 = "95cf1b369772e27adaf46352265152689c6c4be9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stack-trace"."0.0.x" or []);
+      (self.nativeDeps."stream-browserify" or []);
     deps = [
+      self.by-version."inherits"."2.0.1"
+      self.by-version."process"."0.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "stack-trace" ];
+    passthru.names = [ "stream-browserify" ];
   };
-  full."statsd"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "statsd-0.6.0";
+  by-spec."stream-combiner"."^0.0.4" =
+    self.by-version."stream-combiner"."0.0.4";
+  by-version."stream-combiner"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stream-combiner-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/statsd/-/statsd-0.6.0.tgz";
-        sha1 = "9902dba319c46726f0348ced9b7b3e20184de1c4";
+        url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
+        name = "stream-combiner-0.0.4.tgz";
+        sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
       })
     ];
     buildInputs =
-      (self.nativeDeps."statsd"."*" or []);
+      (self.nativeDeps."stream-combiner" or []);
     deps = [
-      self.full."node-syslog"."1.1.3"
-      self.full."winser"."=0.0.11"
+      self.by-version."duplexer"."0.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "statsd" ];
+    passthru.names = [ "stream-combiner" ];
   };
-  "statsd" = self.full."statsd"."*";
-  full."stream-counter"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "stream-counter-0.1.0";
+  by-spec."stream-combiner"."~0.0.2" =
+    self.by-version."stream-combiner"."0.0.4";
+  by-spec."stream-counter"."~0.1.0" =
+    self.by-version."stream-counter"."0.1.0";
+  by-version."stream-counter"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stream-counter-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.1.0.tgz";
+        name = "stream-counter-0.1.0.tgz";
         sha1 = "a035e429361fb57f361606e17fcd8a8b9677327b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.1.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."readable-stream"."1.0.27-1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-counter"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "stream-counter-0.2.0";
+  by-spec."stream-counter"."~0.2.0" =
+    self.by-version."stream-counter"."0.2.0";
+  by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stream-counter-0.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
+        name = "stream-counter-0.2.0.tgz";
         sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.2.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.1.8"
+      self.by-version."readable-stream"."1.1.13-1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-splitter-transform"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "stream-splitter-transform-0.0.3";
+  by-spec."stream-splitter-transform"."*" =
+    self.by-version."stream-splitter-transform"."0.0.4";
+  by-version."stream-splitter-transform"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stream-splitter-transform-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.3.tgz";
-        sha1 = "5ccd3bd497ffee4c2fc7c1cc9d7b697b54c42eef";
+        url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz";
+        name = "stream-splitter-transform-0.0.4.tgz";
+        sha1 = "0de54e94680633a8d703b252b20fa809ed99331c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-splitter-transform"."*" or []);
+      (self.nativeDeps."stream-splitter-transform" or []);
     deps = [
-      self.full."buffertools".">=1.1.1 <2.0.0"
+      self.by-version."buffertools"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-splitter-transform" ];
   };
-  "stream-splitter-transform" = self.full."stream-splitter-transform"."*";
-  full."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "streamsearch-0.1.2";
+  "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.4";
+  by-spec."string"."1.6.1" =
+    self.by-version."string"."1.6.1";
+  by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-string-1.6.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz";
-        sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
+        url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz";
+        name = "string-1.6.1.tgz";
+        sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55";
       })
     ];
     buildInputs =
-      (self.nativeDeps."streamsearch"."0.1.2" or []);
+      (self.nativeDeps."string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "streamsearch" ];
+    passthru.names = [ "string" ];
   };
-  full."stringify-object"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "stringify-object-0.1.7";
+  by-spec."string_decoder"."~0.0.0" =
+    self.by-version."string_decoder"."0.0.1";
+  by-version."string_decoder"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-string_decoder-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.7.tgz";
-        sha1 = "bb54d1ceed118b428c1256742b40a53f03599581";
+        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz";
+        name = "string_decoder-0.0.1.tgz";
+        sha1 = "f5472d0a8d1650ec823752d24e6fd627b39bf141";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stringify-object"."~0.1.4" or []);
+      (self.nativeDeps."string_decoder" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "string_decoder" ];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.25";
+  by-version."string_decoder"."0.10.25" = lib.makeOverridable self.buildNodePackage {
+    name = "node-string_decoder-0.10.25";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25.tgz";
+        name = "string_decoder-0.10.25.tgz";
+        sha1 = "668c9da4f8efbdc937a4a6b6bf1cfbec4e9a82e2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."string_decoder" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "string_decoder" ];
+  };
+  by-spec."stringify-object"."~0.1.4" =
+    self.by-version."stringify-object"."0.1.8";
+  by-version."stringify-object"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stringify-object-0.1.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz";
+        name = "stringify-object-0.1.8.tgz";
+        sha1 = "463348f38fdcd4fec1c011084c24a59ac653c1ee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."stringify-object" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stringify-object" ];
   };
-  full."strong-data-uri"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "strong-data-uri-0.1.0";
+  by-spec."stringify-object"."~0.2.0" =
+    self.by-version."stringify-object"."0.2.0";
+  by-version."stringify-object"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stringify-object-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.0.tgz";
-        sha1 = "a41235806b8c3bf0f6f324dc57dfe85bbab681a0";
+        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.2.0.tgz";
+        name = "stringify-object-0.2.0.tgz";
+        sha1 = "832996ea55ab2aaa7570cc9bc0d5774adfc2c585";
       })
     ];
     buildInputs =
-      (self.nativeDeps."strong-data-uri"."~0.1.0" or []);
+      (self.nativeDeps."stringify-object" or []);
     deps = [
-      self.full."truncate"."~1.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "stringify-object" ];
+  };
+  by-spec."strip-ansi"."~0.1.0" =
+    self.by-version."strip-ansi"."0.1.1";
+  by-version."strip-ansi"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-ansi-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
+        name = "strip-ansi-0.1.1.tgz";
+        sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."strip-ansi" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "strip-ansi" ];
+  };
+  by-spec."strip-json-comments"."0.1.x" =
+    self.by-version."strip-json-comments"."0.1.1";
+  by-version."strip-json-comments"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-json-comments-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz";
+        name = "strip-json-comments-0.1.1.tgz";
+        sha1 = "eb5a750bd4e8dc82817295a115dc11b63f01d4b0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."strip-json-comments" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "strip-json-comments" ];
+  };
+  by-spec."strong-data-uri"."~0.1.0" =
+    self.by-version."strong-data-uri"."0.1.1";
+  by-version."strong-data-uri"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-strong-data-uri-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.1.tgz";
+        name = "strong-data-uri-0.1.1.tgz";
+        sha1 = "8660241807461d1d2dd247c70563f2f33e66c8ab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."strong-data-uri" or []);
+    deps = [
+      self.by-version."truncate"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "strong-data-uri" ];
   };
-  full."stylus"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.38.0";
+  by-spec."stylus"."*" =
+    self.by-version."stylus"."0.44.0-beta3";
+  by-version."stylus"."0.44.0-beta3" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.44.0-beta3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.38.0.tgz";
-        sha1 = "6bd0581db0ee0491251639d338685f7232ca0610";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.44.0-beta3.tgz";
+        name = "stylus-0.44.0-beta3.tgz";
+        sha1 = "a602b30f57f1692cf0f1fb664e60a14e26102cff";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."*" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
-      self.full."sax"."0.5.x"
+      self.by-version."css-parse"."1.7.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.8.1"
+      self.by-version."sax"."0.5.8"
+      self.by-version."glob"."3.2.9"
+      self.by-version."circular-json"."0.1.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.full."stylus"."*";
-  full."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.27.2";
+  "stylus" = self.by-version."stylus"."0.44.0-beta3";
+  by-spec."stylus"."0.42.2" =
+    self.by-version."stylus"."0.42.2";
+  by-version."stylus"."0.42.2" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.42.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.27.2.tgz";
-        sha1 = "1121f7f8cd152b0f8a4aa6a24a9adea10c825117";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.42.2.tgz";
+        name = "stylus-0.42.2.tgz";
+        sha1 = "bed29107803129bed1983efc4c7e33f4fd34fee7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."0.27.2" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
+      self.by-version."css-parse"."1.7.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.8.1"
+      self.by-version."sax"."0.5.8"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  full."sudo-block"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "sudo-block-0.2.1";
+  by-spec."subarg"."0.0.1" =
+    self.by-version."subarg"."0.0.1";
+  by-version."subarg"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-subarg-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz";
+        name = "subarg-0.0.1.tgz";
+        sha1 = "3d56b07dacfbc45bbb63f7672b43b63e46368e3a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."subarg" or []);
+    deps = [
+      self.by-version."minimist"."0.0.8"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "subarg" ];
+  };
+  by-spec."sudo-block"."~0.2.0" =
+    self.by-version."sudo-block"."0.2.1";
+  by-version."sudo-block"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sudo-block-0.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz";
+        name = "sudo-block-0.2.1.tgz";
         sha1 = "b394820741b66c0fe06f97b334f0674036837ba5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sudo-block"."~0.2.0" or []);
+      (self.nativeDeps."sudo-block" or []);
     deps = [
-      self.full."chalk"."~0.1.1"
+      self.by-version."chalk"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sudo-block" ];
   };
-  full."superagent"."0.14.7" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.14.7";
+  by-spec."sudo-block"."~0.3.0" =
+    self.by-version."sudo-block"."0.3.0";
+  by-version."sudo-block"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sudo-block-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.14.7.tgz";
-        sha1 = "5740625d9c6343381b03b2ff95a3c988415fc406";
+        url = "http://registry.npmjs.org/sudo-block/-/sudo-block-0.3.0.tgz";
+        name = "sudo-block-0.3.0.tgz";
+        sha1 = "aec27fbde8763ee32e3e47b8ba3c70584da7eb9c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."0.14.7" or []);
+      (self.nativeDeps."sudo-block" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
+      self.by-version."chalk"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "superagent" ];
+    passthru.names = [ "sudo-block" ];
   };
-  full."superagent"."0.15.1" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.15.1";
+  by-spec."superagent"."0.17.0" =
+    self.by-version."superagent"."0.17.0";
+  by-version."superagent"."0.17.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-superagent-0.17.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.15.1.tgz";
-        sha1 = "f0df9954c2b90f29e4ae54ad308e4a2b432cc56a";
+        url = "http://registry.npmjs.org/superagent/-/superagent-0.17.0.tgz";
+        name = "superagent-0.17.0.tgz";
+        sha1 = "aadcd50fbe5a93e71991118d79bf0714d625bba8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."0.15.1" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-      self.full."debug"."~0.7.2"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."1.0.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
+      self.by-version."debug"."0.7.4"
+      self.by-version."reduce-component"."1.0.1"
+      self.by-version."extend"."1.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."superagent"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.13.0";
+  by-spec."superagent"."~0.13.0" =
+    self.by-version."superagent"."0.13.0";
+  by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-superagent-0.13.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.13.0.tgz";
+        name = "superagent-0.13.0.tgz";
         sha1 = "ddfbfa5c26f16790f9c5bce42815ccbde2ca36f2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."~0.13.0" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.5.2"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."0.0.6"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
+      self.by-version."qs"."0.5.2"
+      self.by-version."formidable"."1.0.9"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."0.0.6"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."supertest"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "supertest-0.8.0";
+  by-spec."superagent"."~0.17.0" =
+    self.by-version."superagent"."0.17.0";
+  by-spec."supertest"."*" =
+    self.by-version."supertest"."0.11.0";
+  by-version."supertest"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-supertest-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.0.tgz";
-        sha1 = "c8dd008358ed60175cfd4dfab0ab1af81d0dc55b";
+        url = "http://registry.npmjs.org/supertest/-/supertest-0.11.0.tgz";
+        name = "supertest-0.11.0.tgz";
+        sha1 = "f8496b9f05cac1ea2fcec1d21adeca7167f42460";
       })
     ];
     buildInputs =
-      (self.nativeDeps."supertest"."*" or []);
+      (self.nativeDeps."supertest" or []);
     deps = [
-      self.full."superagent"."0.15.1"
-      self.full."methods"."0.0.1"
+      self.by-version."superagent"."0.17.0"
+      self.by-version."methods"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "supertest" ];
   };
-  "supertest" = self.full."supertest"."*";
-  full."swig"."0.14.x" = lib.makeOverridable self.buildNodePackage {
-    name = "swig-0.14.0";
+  "supertest" = self.by-version."supertest"."0.11.0";
+  by-spec."swig"."0.14.x" =
+    self.by-version."swig"."0.14.0";
+  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-swig-0.14.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+        name = "swig-0.14.0.tgz";
         sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."swig"."0.14.x" or []);
+      (self.nativeDeps."swig" or []);
     deps = [
-      self.full."underscore".">=1.1.7"
+      self.by-version."underscore"."1.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "swig" ];
   };
-  "swig" = self.full."swig"."0.14.x";
-  full."sylvester".">= 0.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "sylvester-0.0.21";
+  "swig" = self.by-version."swig"."0.14.0";
+  by-spec."sylvester".">= 0.0.12" =
+    self.by-version."sylvester"."0.0.21";
+  by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
+    name = "node-sylvester-0.0.21";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
+        name = "sylvester-0.0.21.tgz";
         sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.12" or []);
+      (self.nativeDeps."sylvester" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sylvester" ];
   };
-  full."sylvester".">= 0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "sylvester-0.0.21";
+  by-spec."sylvester".">= 0.0.8" =
+    self.by-version."sylvester"."0.0.21";
+  by-spec."syntax-error"."~1.1.0" =
+    self.by-version."syntax-error"."1.1.0";
+  by-version."syntax-error"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-syntax-error-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
-        sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+        url = "http://registry.npmjs.org/syntax-error/-/syntax-error-1.1.0.tgz";
+        name = "syntax-error-1.1.0.tgz";
+        sha1 = "8bc3b08141b4e5084dfc66c74e15928db9f34e85";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.8" or []);
+      (self.nativeDeps."syntax-error" or []);
     deps = [
+      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sylvester" ];
+    passthru.names = [ "syntax-error" ];
   };
-  full."tar"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
+  by-spec."tape"."~0.2.2" =
+    self.by-version."tape"."0.2.2";
+  by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "tape-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+        url = "http://registry.npmjs.org/tape/-/tape-0.2.2.tgz";
+        name = "tape-0.2.2.tgz";
+        sha1 = "64ccfa4b7ecf4a0060007e61716d424781671637";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."*" or []);
+      (self.nativeDeps."tape" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."jsonify"."0.0.0"
+      self.by-version."deep-equal"."0.0.0"
+      self.by-version."defined"."0.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "tar" ];
+    passthru.names = [ "tape" ];
   };
-  "tar" = self.full."tar"."*";
-  full."tar"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
+  by-spec."tar"."*" =
+    self.by-version."tar"."0.1.19";
+  by-version."tar"."0.1.19" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tar-0.1.19";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+        url = "http://registry.npmjs.org/tar/-/tar-0.1.19.tgz";
+        name = "tar-0.1.19.tgz";
+        sha1 = "fe45941799e660ce1ea52d875d37481b4bf13eac";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."0" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.25"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  full."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.17";
+  "tar" = self.by-version."tar"."0.1.19";
+  by-spec."tar"."0" =
+    self.by-version."tar"."0.1.19";
+  by-spec."tar"."0.1.17" =
+    self.by-version."tar"."0.1.17";
+  by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tar-0.1.17";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
+        name = "tar-0.1.17.tgz";
         sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."0.1.17" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."1.x"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.25"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  full."tar"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
+  by-spec."tar"."^0.1.18" =
+    self.by-version."tar"."0.1.19";
+  by-spec."tar"."~0.1.17" =
+    self.by-version."tar"."0.1.19";
+  by-spec."tar"."~0.1.19" =
+    self.by-version."tar"."0.1.19";
+  by-spec."temp"."*" =
+    self.by-version."temp"."0.7.0";
+  by-version."temp"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-temp-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+        url = "http://registry.npmjs.org/temp/-/temp-0.7.0.tgz";
+        name = "temp-0.7.0.tgz";
+        sha1 = "d34bdc8e7f955da2a6a473fea07ad601d68ba78f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."~0.1.17" or []);
+      (self.nativeDeps."temp" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."rimraf"."2.2.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "tar" ];
+    passthru.names = [ "temp" ];
   };
-  full."tar"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
+  "temp" = self.by-version."temp"."0.7.0";
+  by-spec."temp"."0.6.0" =
+    self.by-version."temp"."0.6.0";
+  by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-temp-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
+        name = "temp-0.6.0.tgz";
+        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."~0.1.18" or []);
+      (self.nativeDeps."temp" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "tar" ];
+    passthru.names = [ "temp" ];
   };
-  full."taskgroup"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "taskgroup-3.2.3";
+  by-spec."temp"."~0.5.1" =
+    self.by-version."temp"."0.5.1";
+  by-version."temp"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-temp-0.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.2.3.tgz";
-        sha1 = "5bbfa9fb0312f04251140f2f858f8f4ee0086958";
+        url = "http://registry.npmjs.org/temp/-/temp-0.5.1.tgz";
+        name = "temp-0.5.1.tgz";
+        sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df";
       })
     ];
     buildInputs =
-      (self.nativeDeps."taskgroup"."~3.2.0" or []);
+      (self.nativeDeps."temp" or []);
     deps = [
-      self.full."ambi"."~2.1.4"
+      self.by-version."rimraf"."2.1.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "taskgroup" ];
+    passthru.names = [ "temp" ];
   };
-  full."temp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "temp-0.6.0";
+  by-spec."temp"."~0.6.0" =
+    self.by-version."temp"."0.6.0";
+  by-spec."temp"."~0.7.0" =
+    self.by-version."temp"."0.7.0";
+  by-spec."tempfile"."^0.1.2" =
+    self.by-version."tempfile"."0.1.3";
+  by-version."tempfile"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tempfile-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
+        url = "http://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz";
+        name = "tempfile-0.1.3.tgz";
+        sha1 = "7d6b710047339d39f847327a056dadf183103010";
       })
     ];
     buildInputs =
-      (self.nativeDeps."temp"."*" or []);
+      (self.nativeDeps."tempfile" or []);
     deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
+      self.by-version."uuid"."1.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "temp" ];
+    passthru.names = [ "tempfile" ];
   };
-  "temp" = self.full."temp"."*";
-  full."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "temp-0.6.0";
+  by-spec."text-table"."~0.2.0" =
+    self.by-version."text-table"."0.2.0";
+  by-version."text-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-text-table-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
+        url = "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        name = "text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."temp"."0.6.0" or []);
+      (self.nativeDeps."text-table" or []);
     deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "temp" ];
+    passthru.names = [ "text-table" ];
   };
-  full."text-table"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "text-table-0.1.1";
+  by-spec."throttleit"."~0.0.2" =
+    self.by-version."throttleit"."0.0.2";
+  by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-throttleit-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/text-table/-/text-table-0.1.1.tgz";
-        sha1 = "9aa4347a39b6950cd24190264576f62db6e52d93";
+        url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
+        name = "throttleit-0.0.2.tgz";
+        sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."text-table"."~0.1.1" or []);
+      (self.nativeDeps."throttleit" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "text-table" ];
+    passthru.names = [ "throttleit" ];
   };
-  full."throttleit"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "throttleit-0.0.2";
+  by-spec."through".">=2.2.7 <3" =
+    self.by-version."through"."2.3.4";
+  by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-through-2.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
-        sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
+        url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
+        name = "through-2.3.4.tgz";
+        sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
       })
     ];
     buildInputs =
-      (self.nativeDeps."throttleit"."~0.0.2" or []);
+      (self.nativeDeps."through" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "throttleit" ];
+    passthru.names = [ "through" ];
   };
-  full."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "timespan-2.0.1";
+  by-spec."through"."~2.2.7" =
+    self.by-version."through"."2.2.7";
+  by-version."through"."2.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-through-2.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/timespan/-/timespan-2.0.1.tgz";
-        sha1 = "479b45875937e14d0f4be1625f2abd08d801f68a";
+        url = "http://registry.npmjs.org/through/-/through-2.2.7.tgz";
+        name = "through-2.2.7.tgz";
+        sha1 = "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."timespan"."2.0.1" or []);
+      (self.nativeDeps."through" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "through" ];
+  };
+  by-spec."through"."~2.3.4" =
+    self.by-version."through"."2.3.4";
+  by-spec."through2"."^0.4.0" =
+    self.by-version."through2"."0.4.1";
+  by-version."through2"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-through2-0.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/through2/-/through2-0.4.1.tgz";
+        name = "through2-0.4.1.tgz";
+        sha1 = "afd849c65af513c2541a98a7cfbcfec3a15a9686";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."through2" or []);
+    deps = [
+      self.by-version."readable-stream"."1.0.27-1"
+      self.by-version."xtend"."2.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "through2" ];
+  };
+  by-spec."through2"."~0.4.1" =
+    self.by-version."through2"."0.4.1";
+  by-spec."timers-browserify"."~1.0.1" =
+    self.by-version."timers-browserify"."1.0.1";
+  by-version."timers-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-timers-browserify-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.1.tgz";
+        name = "timers-browserify-1.0.1.tgz";
+        sha1 = "7c93257b543cb1e3003d3663b57d560ee1d27057";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."timers-browserify" or []);
+    deps = [
+      self.by-version."process"."0.5.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "timers-browserify" ];
+  };
+  by-spec."timespan"."~2.3.0" =
+    self.by-version."timespan"."2.3.0";
+  by-version."timespan"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-timespan-2.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz";
+        name = "timespan-2.3.0.tgz";
+        sha1 = "4902ce040bd13d845c8f59b27e9d59bad6f39929";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."timespan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timespan" ];
   };
-  full."timezone"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "timezone-0.0.23";
+  by-spec."timezone"."*" =
+    self.by-version."timezone"."0.0.30";
+  by-version."timezone"."0.0.30" = lib.makeOverridable self.buildNodePackage {
+    name = "node-timezone-0.0.30";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/timezone/-/timezone-0.0.23.tgz";
-        sha1 = "5e89359e0c01c92b495c725e81ecce6ddbdb9bac";
+        url = "http://registry.npmjs.org/timezone/-/timezone-0.0.30.tgz";
+        name = "timezone-0.0.30.tgz";
+        sha1 = "f83e46d35c017a33a684a4d8bb8fac3debed49bf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."timezone"."*" or []);
+      (self.nativeDeps."timezone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timezone" ];
   };
-  "timezone" = self.full."timezone"."*";
-  full."tinycolor"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "tinycolor-0.0.1";
+  "timezone" = self.by-version."timezone"."0.0.30";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tinycolor-0.0.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        name = "tinycolor-0.0.1.tgz";
         sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tinycolor"."0.x" or []);
+      (self.nativeDeps."tinycolor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tinycolor" ];
   };
-  full."tmp"."~0.0.20" = lib.makeOverridable self.buildNodePackage {
-    name = "tmp-0.0.21";
+  by-spec."titanium"."3.2.1" =
+    self.by-version."titanium"."3.2.1";
+  by-version."titanium"."3.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "titanium-3.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1.tgz";
+        name = "titanium-3.2.1.tgz";
+        sha1 = "b1d432c6c853c22096fb3ed03626e8263b27e39e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."titanium" or []);
+    deps = [
+      self.by-version."async"."0.2.10"
+      self.by-version."colors"."0.6.2"
+      self.by-version."fields"."0.1.12"
+      self.by-version."humanize"."0.0.9"
+      self.by-version."jade"."0.35.0"
+      self.by-version."longjohn"."0.2.4"
+      self.by-version."moment"."2.4.0"
+      self.by-version."node-appc"."0.2.0"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."semver"."2.2.1"
+      self.by-version."sprintf"."0.1.3"
+      self.by-version."temp"."0.6.0"
+      self.by-version."winston"."0.6.2"
+      self.by-version."wrench"."1.5.8"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "titanium" ];
+  };
+  "titanium" = self.by-version."titanium"."3.2.1";
+  by-spec."tmp"."~0.0.20" =
+    self.by-version."tmp"."0.0.23";
+  by-version."tmp"."0.0.23" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tmp-0.0.23";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz";
-        sha1 = "6d263fede6570dc4d4510ffcc2efc640223b1153";
+        url = "http://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz";
+        name = "tmp-0.0.23.tgz";
+        sha1 = "de874aa5e974a85f0a32cdfdbd74663cb3bd9c74";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tmp"."~0.0.20" or []);
+      (self.nativeDeps."tmp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tmp" ];
   };
-  full."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "transformers-2.1.0";
+  by-spec."touch"."0.0.2" =
+    self.by-version."touch"."0.0.2";
+  by-version."touch"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-touch-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/touch/-/touch-0.0.2.tgz";
+        name = "touch-0.0.2.tgz";
+        sha1 = "a65a777795e5cbbe1299499bdc42281ffb21b5f4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."touch" or []);
+    deps = [
+      self.by-version."nopt"."1.0.10"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "touch" ];
+  };
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."0.12.1";
+  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tough-cookie-0.12.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+        name = "tough-cookie-0.12.1.tgz";
+        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tough-cookie" or []);
+    deps = [
+      self.by-version."punycode"."1.2.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tough-cookie" ];
+  };
+  by-spec."tough-cookie"."~0.9.15" =
+    self.by-version."tough-cookie"."0.9.15";
+  by-version."tough-cookie"."0.9.15" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tough-cookie-0.9.15";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
+        name = "tough-cookie-0.9.15.tgz";
+        sha1 = "75617ac347e3659052b0350131885829677399f6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tough-cookie" or []);
+    deps = [
+      self.by-version."punycode"."1.2.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tough-cookie" ];
+  };
+  by-spec."transformers"."2.1.0" =
+    self.by-version."transformers"."2.1.0";
+  by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-transformers-2.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
+        name = "transformers-2.1.0.tgz";
         sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."transformers"."2.1.0" or []);
+      (self.nativeDeps."transformers" or []);
     deps = [
-      self.full."promise"."~2.0"
-      self.full."css"."~1.0.8"
-      self.full."uglify-js"."~2.2.5"
+      self.by-version."promise"."2.0.0"
+      self.by-version."css"."1.0.8"
+      self.by-version."uglify-js"."2.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "transformers" ];
   };
-  full."traverse".">=0.3.0 <0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "traverse-0.3.9";
+  by-spec."traverse".">=0.3.0 <0.4" =
+    self.by-version."traverse"."0.3.9";
+  by-version."traverse"."0.3.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-traverse-0.3.9";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz";
+        name = "traverse-0.3.9.tgz";
         sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."traverse".">=0.3.0 <0.4" or []);
+      (self.nativeDeps."traverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "traverse" ];
   };
-  full."truncate"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "truncate-1.0.2";
+  by-spec."truncate"."~1.0.2" =
+    self.by-version."truncate"."1.0.2";
+  by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-truncate-1.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/truncate/-/truncate-1.0.2.tgz";
+        name = "truncate-1.0.2.tgz";
         sha1 = "3221c41f6e747f83e8613f5466c8bfb596226a66";
       })
     ];
     buildInputs =
-      (self.nativeDeps."truncate"."~1.0.2" or []);
+      (self.nativeDeps."truncate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "truncate" ];
   };
-  full."tunnel-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tunnel-agent-0.2.0";
+  by-spec."tty-browserify"."~0.0.0" =
+    self.by-version."tty-browserify"."0.0.0";
+  by-version."tty-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tty-browserify-0.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        name = "tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tty-browserify" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tty-browserify" ];
+  };
+  by-spec."tunnel-agent"."~0.2.0" =
+    self.by-version."tunnel-agent"."0.2.0";
+  by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tunnel-agent-0.2.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
+        name = "tunnel-agent-0.2.0.tgz";
         sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.2.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."tunnel-agent"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tunnel-agent-0.3.0";
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tunnel-agent-0.3.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+        name = "tunnel-agent-0.3.0.tgz";
         sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.3.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "type-detect-0.1.1";
+  by-spec."type-detect"."0.1.1" =
+    self.by-version."type-detect"."0.1.1";
+  by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-type-detect-0.1.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
+        name = "type-detect-0.1.1.tgz";
         sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822";
       })
     ];
     buildInputs =
-      (self.nativeDeps."type-detect"."0.1.1" or []);
+      (self.nativeDeps."type-detect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "type-detect" ];
   };
-  full."typechecker"."~2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
+  by-spec."type-is"."1.0.0" =
+    self.by-version."type-is"."1.0.0";
+  by-version."type-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-type-is-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz";
+        name = "type-is-1.0.0.tgz";
+        sha1 = "4ff424e97349a1ee1910b4bfc488595ecdc443fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.1" or []);
+      (self.nativeDeps."type-is" or []);
     deps = [
+      self.by-version."mime"."1.2.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "typechecker" ];
+    passthru.names = [ "type-is" ];
   };
-  full."typechecker"."~2.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
+  by-spec."type-is"."~1.1.0" =
+    self.by-version."type-is"."1.1.0";
+  by-version."type-is"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-type-is-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.1.0.tgz";
+        name = "type-is-1.1.0.tgz";
+        sha1 = "d0245ec8b2676668d59dd0cf3255060676a57db6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.6" or []);
+      (self.nativeDeps."type-is" or []);
+    deps = [
+      self.by-version."mime"."1.2.11"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "type-is" ];
+  };
+  by-spec."typechecker"."~2.0.1" =
+    self.by-version."typechecker"."2.0.8";
+  by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-typechecker-2.0.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
+        name = "typechecker-2.0.8.tgz";
+        sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."typechecker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "typechecker" ];
   };
-  full."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."typedarray"."~0.0.5" =
+    self.by-version."typedarray"."0.0.5";
+  by-version."typedarray"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-typedarray-0.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.5.tgz";
+        name = "typedarray-0.0.5.tgz";
+        sha1 = "c4158fcd96c8ef91ef03cc72584c95e032877664";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."typedarray" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "typedarray" ];
+  };
+  by-spec."typescript"."*" =
+    self.by-version."typescript"."1.0.1";
+  by-version."typescript"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "typescript-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz";
+        name = "typescript-1.0.1.tgz";
+        sha1 = "e8eacde3084a091d3fe29b60ac5862252662a25a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."typescript" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "typescript" ];
+  };
+  "typescript" = self.by-version."typescript"."1.0.1";
+  by-spec."uglify-js"."*" =
+    self.by-version."uglify-js"."2.4.13";
+  by-version."uglify-js"."2.4.13" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.13";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.13.tgz";
+        name = "uglify-js-2.4.13.tgz";
+        sha1 = "18debc9e6ecfc20db1a5ea035f839d436a605aba";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uglify-js" or []);
+    deps = [
+      self.by-version."async"."0.2.10"
+      self.by-version."source-map"."0.1.33"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "uglify-js" ];
+  };
+  "uglify-js" = self.by-version."uglify-js"."2.4.13";
+  by-spec."uglify-js"."1.2.5" =
+    self.by-version."uglify-js"."1.2.5";
+  by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-1.2.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
+        name = "uglify-js-1.2.5.tgz";
         sha1 = "b542c2c76f78efb34b200b20177634330ff702b6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."1.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."2.4.0" =
+    self.by-version."uglify-js"."2.4.0";
+  by-version."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
+        name = "uglify-js-2.4.0.tgz";
         sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."2.4.0" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
-      self.full."uglify-to-browserify"."~1.0.0"
+      self.by-version."async"."0.2.10"
+      self.by-version."source-map"."0.1.33"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."^2.4.0" =
+    self.by-version."uglify-js"."2.4.13";
+  by-spec."uglify-js"."~2.2" =
+    self.by-version."uglify-js"."2.2.5";
+  by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.2.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
+        name = "uglify-js-2.2.5.tgz";
         sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."source-map"."0.1.33"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.2.5" =
+    self.by-version."uglify-js"."2.2.5";
+  by-spec."uglify-js"."~2.3" =
+    self.by-version."uglify-js"."2.3.6";
+  by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.3.6";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+        name = "uglify-js-2.3.6.tgz";
         sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.3" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."async"."0.2.10"
+      self.by-version."source-map"."0.1.33"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.0";
+  by-spec."uglify-js"."~2.3.6" =
+    self.by-version."uglify-js"."2.3.6";
+  by-spec."uglify-js"."~2.4.0" =
+    self.by-version."uglify-js"."2.4.13";
+  by-spec."uglify-js"."~2.4.12" =
+    self.by-version."uglify-js"."2.4.13";
+  by-spec."uglify-to-browserify"."~1.0.0" =
+    self.by-version."uglify-to-browserify"."1.0.2";
+  by-version."uglify-to-browserify"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uglify-to-browserify-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
-        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
+        url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        name = "uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.4.0" or []);
+      (self.nativeDeps."uglify-to-browserify" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
-      self.full."uglify-to-browserify"."~1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "uglify-js" ];
+    passthru.names = [ "uglify-to-browserify" ];
   };
-  full."uglify-to-browserify"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-to-browserify-1.0.1";
+  by-spec."uid-number"."0.0.5" =
+    self.by-version."uid-number"."0.0.5";
+  by-version."uid-number"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uid-number-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.1.tgz";
-        sha1 = "0e9ada5d4ca358a59a00bb33c8061e2f40ef97d2";
+        url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
+        name = "uid-number-0.0.5.tgz";
+        sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-to-browserify"."~1.0.0" or []);
+      (self.nativeDeps."uid-number" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "uglify-to-browserify" ];
+    passthru.names = [ "uid-number" ];
   };
-  full."uid-number"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "uid-number-0.0.3";
+  by-spec."uid2"."0.0.3" =
+    self.by-version."uid2"."0.0.3";
+  by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uid2-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz";
-        sha1 = "cefb0fa138d8d8098da71a40a0d04a8327d6e1cc";
+        url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
+        name = "uid2-0.0.3.tgz";
+        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid-number"."0" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "uid-number" ];
+    passthru.names = [ "uid2" ];
   };
-  full."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "uid2-0.0.2";
+  by-spec."uid2"."~0.0.2" =
+    self.by-version."uid2"."0.0.3";
+  by-spec."umd"."~2.0.0" =
+    self.by-version."umd"."2.0.0";
+  by-version."umd"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "umd-2.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz";
-        sha1 = "107fb155c82c1136620797ed4c88cf2b08f6aab8";
+        url = "http://registry.npmjs.org/umd/-/umd-2.0.0.tgz";
+        name = "umd-2.0.0.tgz";
+        sha1 = "749683b0d514728ae0e1b6195f5774afc0ad4f8f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid2"."0.0.2" or []);
+      (self.nativeDeps."umd" or []);
     deps = [
+      self.by-version."rfile"."1.0.0"
+      self.by-version."ruglify"."1.0.0"
+      self.by-version."through"."2.3.4"
+      self.by-version."uglify-js"."2.4.13"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "uid2" ];
+    passthru.names = [ "umd" ];
   };
-  full."underscore"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  by-spec."underscore"."*" =
+    self.by-version."underscore"."1.6.0";
+  by-version."underscore"."1.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-underscore-1.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+        name = "underscore-1.6.0.tgz";
+        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."*" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  "underscore" = self.full."underscore"."*";
-  full."underscore"."1.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
+  "underscore" = self.by-version."underscore"."1.6.0";
+  by-spec."underscore"."1.4.x" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-underscore-1.4.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        name = "underscore-1.4.4.tgz";
         sha1 = "61a6a32010622afa07963bf325203cf12239d604";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."1.4.x" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore".">=1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  by-spec."underscore".">=1.1.7" =
+    self.by-version."underscore"."1.6.0";
+  by-spec."underscore".">=1.3.1" =
+    self.by-version."underscore"."1.6.0";
+  by-spec."underscore".">=1.5.0" =
+    self.by-version."underscore"."1.6.0";
+  by-spec."underscore"."~1.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.3" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.5" =
+    self.by-version."underscore"."1.5.2";
+  by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-underscore-1.5.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
+        name = "underscore-1.5.2.tgz";
         sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.1.7" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore".">=1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  by-spec."underscore"."~1.5.2" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore.string"."~2.2.1" =
+    self.by-version."underscore.string"."2.2.1";
+  by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-underscore.string-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
+        name = "underscore.string-2.2.1.tgz";
+        sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.4.3" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "underscore.string" ];
   };
-  full."underscore"."~1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
+  by-spec."underscore.string"."~2.3.1" =
+    self.by-version."underscore.string"."2.3.3";
+  by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-underscore.string-2.3.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
+        name = "underscore.string-2.3.3.tgz";
+        sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.4" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "underscore.string" ];
   };
-  full."underscore"."~1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
+  by-spec."underscore.string"."~2.3.3" =
+    self.by-version."underscore.string"."2.3.3";
+  by-spec."unfunk-diff"."~0.0.1" =
+    self.by-version."unfunk-diff"."0.0.2";
+  by-version."unfunk-diff"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-unfunk-diff-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+        url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz";
+        name = "unfunk-diff-0.0.2.tgz";
+        sha1 = "8560d6b5cb3dcb1ed4d541e7fe59cea514697578";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.4.3" or []);
+      (self.nativeDeps."unfunk-diff" or []);
     deps = [
+      self.by-version."diff"."1.0.8"
+      self.by-version."jsesc"."0.4.3"
+      self.by-version."ministyle"."0.1.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "unfunk-diff" ];
   };
-  full."underscore"."~1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
+  by-spec."ungit"."*" =
+    self.by-version."ungit"."0.8.0";
+  by-version."ungit"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ungit-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.8.0.tgz";
+        name = "ungit-0.8.0.tgz";
+        sha1 = "ca1f166ee65fbfe54469459d51f77ca502f1c6a4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.4.4" or []);
+      (self.nativeDeps."ungit" or []);
     deps = [
+      self.by-version."express"."4.0.0"
+      self.by-version."superagent"."0.17.0"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."temp"."0.7.0"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."moment"."2.5.1"
+      self.by-version."async"."0.6.2"
+      self.by-version."rc"."0.3.5"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."winston"."0.7.3"
+      self.by-version."passport"."0.2.0"
+      self.by-version."passport-local"."1.0.0"
+      self.by-version."semver"."2.2.1"
+      self.by-version."forever-monitor"."1.1.0"
+      self.by-version."open"."0.0.4"
+      self.by-version."optimist"."0.6.1"
+      self.by-version."crossroads"."0.12.0"
+      self.by-version."signals"."1.0.0"
+      self.by-version."hasher"."1.2.0"
+      self.by-version."blueimp-md5"."1.1.0"
+      self.by-version."color"."0.5.0"
+      self.by-version."keen.io"."0.0.4"
+      self.by-version."getmac"."1.0.6"
+      self.by-version."deep-extend"."0.2.8"
+      self.by-version."raven"."0.6.3"
+      self.by-version."knockout"."3.1.0"
+      self.by-version."npm-registry-client"."0.4.7"
+      self.by-version."npmconf"."0.1.14"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."less"."1.7.0"
+      self.by-version."browserify"."3.38.1"
+      self.by-version."body-parser"."1.0.2"
+      self.by-version."cookie-parser"."1.0.1"
+      self.by-version."express-session"."1.0.3"
+      self.by-version."serve-static"."1.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "ungit" ];
   };
-  full."underscore"."~1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  "ungit" = self.by-version."ungit"."0.8.0";
+  by-spec."update-notifier"."~0.1.3" =
+    self.by-version."update-notifier"."0.1.8";
+  by-version."update-notifier"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-update-notifier-0.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.8.tgz";
+        name = "update-notifier-0.1.8.tgz";
+        sha1 = "ebf5c698375f5c232031a419634fab66cc0322a6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.5.2" or []);
+      (self.nativeDeps."update-notifier" or []);
     deps = [
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.2.3"
+      self.by-version."semver"."2.1.0"
+      self.by-version."chalk"."0.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "update-notifier" ];
   };
-  full."underscore.string"."~2.2.0rc" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore.string-2.2.1";
+  by-spec."update-notifier"."~0.1.7" =
+    self.by-version."update-notifier"."0.1.8";
+  by-spec."url"."~0.10.1" =
+    self.by-version."url"."0.10.1";
+  by-version."url"."0.10.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-url-0.10.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
-        sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
+        url = "http://registry.npmjs.org/url/-/url-0.10.1.tgz";
+        name = "url-0.10.1.tgz";
+        sha1 = "d8eba8f267cec7645ddd93d2cdcf2320c876d25b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.2.0rc" or []);
+      (self.nativeDeps."url" or []);
     deps = [
+      self.by-version."punycode"."1.2.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore.string" ];
+    passthru.names = [ "url" ];
   };
-  full."underscore.string"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore.string-2.3.3";
+  by-spec."url"."~0.7.9" =
+    self.by-version."url"."0.7.9";
+  by-version."url"."0.7.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-url-0.7.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
-        sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+        url = "http://registry.npmjs.org/url/-/url-0.7.9.tgz";
+        name = "url-0.7.9.tgz";
+        sha1 = "1959b1a8b361fc017b59513a7c7fa9827f5e4ed0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.3.1" or []);
+      (self.nativeDeps."url" or []);
     deps = [
+      self.by-version."querystring"."0.1.0"
+      self.by-version."punycode"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore.string" ];
+    passthru.names = [ "url" ];
   };
-  full."ungit"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.3.2";
+  by-spec."useragent"."~2.0.4" =
+    self.by-version."useragent"."2.0.8";
+  by-version."useragent"."2.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-useragent-2.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.3.2.tgz";
-        sha1 = "bb52c4af06280e81c6499cc92f13436e0fefa0d8";
+        url = "http://registry.npmjs.org/useragent/-/useragent-2.0.8.tgz";
+        name = "useragent-2.0.8.tgz";
+        sha1 = "32caa86d3f404e92d7d4183831dd103ebc1a3125";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ungit"."*" or []);
+      (self.nativeDeps."useragent" or []);
     deps = [
-      self.full."express"."3.2.6"
-      self.full."superagent"."0.14.7"
-      self.full."lodash.debounce"."~2.2.0"
-      self.full."lodash.find"."~2.2.0"
-      self.full."lodash.throttle"."~2.2.0"
-      self.full."temp"."0.6.0"
-      self.full."socket.io"."0.9.16"
-      self.full."moment"."2.0.0"
-      self.full."async"."0.2.9"
-      self.full."ssh2"."0.2.8"
-      self.full."rc"."0.3.0"
-      self.full."uuid"."1.4.1"
-      self.full."winston"."0.7.1"
-      self.full."passport"."0.1.17"
-      self.full."passport-local"."0.1.6"
-      self.full."npm"."1.3.1"
-      self.full."semver"."2.0.8"
-      self.full."forever-monitor"."1.1.0"
-      self.full."open"."0.0.4"
-      self.full."optimist"."0.6.0"
-      self.full."crossroads"."~0.12.0"
-      self.full."signals"."~1.0.0"
-      self.full."hasher"."~1.1.4"
-      self.full."blueimp-md5"."~1.0.3"
-      self.full."color"."~0.4.4"
-      self.full."keen.io"."0.0.3"
-      self.full."getmac"."~1.0.5"
-      self.full."deep-extend"."~0.2.6"
+      self.by-version."lru-cache"."2.2.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ungit" ];
+    passthru.names = [ "useragent" ];
   };
-  "ungit" = self.full."ungit"."*";
-  full."unzip"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "unzip-0.1.9";
+  by-spec."userhome"."~0.1.0" =
+    self.by-version."userhome"."0.1.0";
+  by-version."userhome"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-userhome-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/unzip/-/unzip-0.1.9.tgz";
-        sha1 = "12ac4d05c0a19fc4546df4c50ae0a7f4706a9424";
+        url = "http://registry.npmjs.org/userhome/-/userhome-0.1.0.tgz";
+        name = "userhome-0.1.0.tgz";
+        sha1 = "bd2067d90b3f7ac6c026d87612c579d88fb89f86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."unzip"."~0.1.7" or []);
+      (self.nativeDeps."userhome" or []);
     deps = [
-      self.full."fstream"."~0.1.21"
-      self.full."pullstream"."~0.4.0"
-      self.full."binary"."~0.3.0"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."match-stream"."~0.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "unzip" ];
+    passthru.names = [ "userhome" ];
   };
-  full."update-notifier"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "update-notifier-0.1.6";
+  by-spec."util"."0.10.2" =
+    self.by-version."util"."0.10.2";
+  by-version."util"."0.10.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-util-0.10.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.6.tgz";
-        sha1 = "c814e7eabaadaba789f75c3f652366db8efec471";
+        url = "http://registry.npmjs.org/util/-/util-0.10.2.tgz";
+        name = "util-0.10.2.tgz";
+        sha1 = "8180519cf690fb88bc56480fe55087531f446304";
       })
     ];
     buildInputs =
-      (self.nativeDeps."update-notifier"."~0.1.3" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."request"."~2.22.0"
-      self.full."configstore"."~0.1.0"
-      self.full."semver"."~2.0.0"
-      self.full."chalk"."~0.1.0"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "update-notifier" ];
+    passthru.names = [ "util" ];
   };
-  full."useragent"."~2.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "useragent-2.0.7";
+  by-spec."util"."0.4.9" =
+    self.by-version."util"."0.4.9";
+  by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "node-util-0.4.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz";
-        sha1 = "a44c07d157a15e13d73d4af4ece6aab70f298224";
+        url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
+        name = "util-0.4.9.tgz";
+        sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."useragent"."~2.0.4" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."lru-cache"."2.2.x"
+      self.by-version."events.node"."0.4.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "useragent" ];
+    passthru.names = [ "util" ];
   };
-  full."util".">= 0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "util-0.4.9";
+  by-spec."util".">=0.10.3 <1" =
+    self.by-version."util"."0.10.3";
+  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-util-0.10.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
-        sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
+        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        name = "util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."util".">= 0.4.9" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."events.node".">= 0.4.0"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
   };
-  full."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
+  by-spec."util"."~0.10.1" =
+    self.by-version."util"."0.10.3";
+  by-spec."util-extend"."^1.0.1" =
+    self.by-version."util-extend"."1.0.1";
+  by-version."util-extend"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-util-extend-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+        url = "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz";
+        name = "util-extend-1.0.1.tgz";
+        sha1 = "bb703b79480293ddcdcfb3c6a9fea20f483415bc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.1.7" or []);
+      (self.nativeDeps."util-extend" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "utile" ];
+    passthru.names = [ "util-extend" ];
   };
-  full."utile"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
+  by-spec."utile"."0.1.x" =
+    self.by-version."utile"."0.1.7";
+  by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-utile-0.1.7";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
+        name = "utile-0.1.7.tgz";
         sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.1.x" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."deep-equal"."0.2.1"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.2.7"
+      self.by-version."rimraf"."1.0.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."utile"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.2.0";
+  by-spec."utile"."0.2.1" =
+    self.by-version."utile"."0.2.1";
+  by-version."utile"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-utile-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.2.0.tgz";
-        sha1 = "91a2423ca2eb3322390e211ee3d71cf4fa193aea";
+        url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
+        name = "utile-0.2.1.tgz";
+        sha1 = "930c88e99098d6220834c356cbd9a770522d90d7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.2.x" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."2.x.x"
+      self.by-version."async"."0.2.10"
+      self.by-version."deep-equal"."0.2.1"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."rimraf"."2.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."utile"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
+  by-spec."utile"."0.2.x" =
+    self.by-version."utile"."0.2.1";
+  by-spec."utile"."~0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-spec."utile"."~0.2.1" =
+    self.by-version."utile"."0.2.1";
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-utils-merge-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        name = "utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."~0.1.7" or []);
+      (self.nativeDeps."utils-merge" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "utile" ];
+    passthru.names = [ "utils-merge" ];
   };
-  full."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "uuid-1.4.1";
+  by-spec."uuid"."1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uuid-1.4.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz";
+        name = "uuid-1.4.1.tgz";
         sha1 = "a337828580d426e375b8ee11bd2bf901a596e0b8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uuid"."1.4.1" or []);
+      (self.nativeDeps."uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uuid" ];
   };
-  full."validator"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "validator-0.4.28";
+  by-spec."uuid"."~1.4.0" =
+    self.by-version."uuid"."1.4.1";
+  by-spec."uuid"."~1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-spec."validator"."0.4.x" =
+    self.by-version."validator"."0.4.28";
+  by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
+    name = "node-validator-0.4.28";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz";
+        name = "validator-0.4.28.tgz";
         sha1 = "311d439ae6cf3fbe6f85da6ebaccd0c7007986f4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."validator"."0.4.x" or []);
+      (self.nativeDeps."validator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "validator" ];
   };
-  full."vargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "vargs-0.1.0";
+  by-spec."vargs"."~0.1.0" =
+    self.by-version."vargs"."0.1.0";
+  by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vargs-0.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
+        name = "vargs-0.1.0.tgz";
         sha1 = "6b6184da6520cc3204ce1b407cac26d92609ebff";
       })
     ];
     buildInputs =
-      (self.nativeDeps."vargs"."~0.1.0" or []);
+      (self.nativeDeps."vargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vargs" ];
   };
-  full."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "vasync-1.3.3";
+  by-spec."vasync"."1.3.3" =
+    self.by-version."vasync"."1.3.3";
+  by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vasync-1.3.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
+        name = "vasync-1.3.3.tgz";
         sha1 = "84917680717020b67e043902e63bc143174c8728";
       })
     ];
     buildInputs =
-      (self.nativeDeps."vasync"."1.3.3" or []);
+      (self.nativeDeps."vasync" or []);
     deps = [
-      self.full."jsprim"."0.3.0"
-      self.full."verror"."1.1.0"
+      self.by-version."jsprim"."0.3.0"
+      self.by-version."verror"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
   };
-  full."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "verror-1.1.0";
+  by-spec."verror"."1.1.0" =
+    self.by-version."verror"."1.1.0";
+  by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-verror-1.1.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
+        name = "verror-1.1.0.tgz";
         sha1 = "2a4b4eb14a207051e75a6f94ee51315bf173a1b0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.1.0" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "verror-1.3.3";
+  by-spec."verror"."1.3.3" =
+    self.by-version."verror"."1.3.3";
+  by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-verror-1.3.3";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
+        name = "verror-1.3.3.tgz";
         sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.3" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "verror-1.3.6";
+  by-spec."verror"."1.3.6" =
+    self.by-version."verror"."1.3.6";
+  by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-verror-1.3.6";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
+        name = "verror-1.3.6.tgz";
         sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.6" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.2"
+      self.by-version."extsprintf"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."view-helpers"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "view-helpers-0.1.3";
+  by-spec."vhost"."1.0.0" =
+    self.by-version."vhost"."1.0.0";
+  by-version."vhost"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vhost-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.3.tgz";
-        sha1 = "97b061548a753eff5b432e6c1598cb10417bff02";
+        url = "http://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz";
+        name = "vhost-1.0.0.tgz";
+        sha1 = "654513f289a4f898aab745bbd633e40180c9c4c0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."view-helpers"."*" or []);
+      (self.nativeDeps."vhost" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "vhost" ];
+  };
+  by-spec."view-helpers"."*" =
+    self.by-version."view-helpers"."0.1.4";
+  by-version."view-helpers"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-view-helpers-0.1.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.4.tgz";
+        name = "view-helpers-0.1.4.tgz";
+        sha1 = "aeadfbcc2c21343d2b0ef4d4f20f805764286cee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."view-helpers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "view-helpers" ];
   };
-  "view-helpers" = self.full."view-helpers"."*";
-  full."vows".">=0.5.13" = lib.makeOverridable self.buildNodePackage {
+  "view-helpers" = self.by-version."view-helpers"."0.1.4";
+  by-spec."vm-browserify"."~0.0.1" =
+    self.by-version."vm-browserify"."0.0.4";
+  by-version."vm-browserify"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vm-browserify-0.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
+        name = "vm-browserify-0.0.4.tgz";
+        sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."vm-browserify" or []);
+    deps = [
+      self.by-version."indexof"."0.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "vm-browserify" ];
+  };
+  by-spec."vows".">=0.5.13" =
+    self.by-version."vows"."0.7.0";
+  by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "vows-0.7.0";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
+        name = "vows-0.7.0.tgz";
         sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
       })
     ];
     buildInputs =
-      (self.nativeDeps."vows".">=0.5.13" or []);
+      (self.nativeDeps."vows" or []);
     deps = [
-      self.full."eyes".">=0.1.6"
-      self.full."diff"."~1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."diff"."1.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vows" ];
   };
-  full."walk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "walk-2.2.1";
+  by-spec."walk"."*" =
+    self.by-version."walk"."2.3.1";
+  by-version."walk"."2.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-walk-2.3.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/walk/-/walk-2.3.1.tgz";
+        name = "walk-2.3.1.tgz";
+        sha1 = "015e0ef7a636ac43185661a9673d459572a44050";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."walk" or []);
+    deps = [
+      self.by-version."forEachAsync"."2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "walk" ];
+  };
+  "walk" = self.by-version."walk"."2.3.1";
+  by-spec."walk"."~2.2.1" =
+    self.by-version."walk"."2.2.1";
+  by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-walk-2.2.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz";
+        name = "walk-2.2.1.tgz";
         sha1 = "5ada1f8e49e47d4b7445d8be7a2e1e631ab43016";
       })
     ];
     buildInputs =
-      (self.nativeDeps."walk"."*" or []);
+      (self.nativeDeps."walk" or []);
     deps = [
-      self.full."forEachAsync"."~2.2"
+      self.by-version."forEachAsync"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
   };
-  "walk" = self.full."walk"."*";
-  full."watch"."0.5.x" = lib.makeOverridable self.buildNodePackage {
-    name = "watch-0.5.1";
+  by-spec."watch"."0.5.x" =
+    self.by-version."watch"."0.5.1";
+  by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-watch-0.5.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
+        name = "watch-0.5.1.tgz";
         sha1 = "50ea3a056358c98073e0bca59956de4afd20b213";
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.5.x" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "watch-0.7.0";
+  by-spec."watch"."~0.8.0" =
+    self.by-version."watch"."0.8.0";
+  by-version."watch"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-watch-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/watch/-/watch-0.7.0.tgz";
-        sha1 = "3d6e715648af867ec7f1149302b526479e726856";
+        url = "http://registry.npmjs.org/watch/-/watch-0.8.0.tgz";
+        name = "watch-0.8.0.tgz";
+        sha1 = "1bb0eea53defe6e621e9c8c63c0358007ecbdbcc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.7.0" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."wd"."~0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "wd-0.1.5";
+  by-spec."wd"."~0.2.12" =
+    self.by-version."wd"."0.2.19";
+  by-version."wd"."0.2.19" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.2.19";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.1.5.tgz";
-        sha1 = "c0a9c8fb5f62ed6628a6f6e1d1958f9316dadfec";
+        url = "http://registry.npmjs.org/wd/-/wd-0.2.19.tgz";
+        name = "wd-0.2.19.tgz";
+        sha1 = "347ae75adebc15ad642baec118742344d749f169";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wd"."~0.1.5" or []);
+      (self.nativeDeps."wd" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."vargs"."~0.1.0"
-      self.full."q"."0.9.x"
-      self.full."request"."~2.21.0"
-      self.full."archiver"."~0.4.6"
-      self.full."lodash"."~1.3.1"
+      self.by-version."async"."0.2.10"
+      self.by-version."vargs"."0.1.0"
+      self.by-version."q"."1.0.1"
+      self.by-version."request"."2.33.0"
+      self.by-version."archiver"."0.5.2"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."underscore.string"."2.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wd" ];
   };
-  full."webdrvr"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "webdrvr-2.35.0-6";
+  by-spec."weak-map"."^1.0.4" =
+    self.by-version."weak-map"."1.0.4";
+  by-version."weak-map"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-weak-map-1.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/weak-map/-/weak-map-1.0.4.tgz";
+        name = "weak-map-1.0.4.tgz";
+        sha1 = "1acddee2cc90eb30950860b7415c79cefc5f07c9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."weak-map" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "weak-map" ];
+  };
+  by-spec."webdrvr"."*" =
+    self.by-version."webdrvr"."2.40.0";
+  by-version."webdrvr"."2.40.0" = lib.makeOverridable self.buildNodePackage {
+    name = "webdrvr-2.40.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.35.0-6.tgz";
-        sha1 = "1dffadb2960c82c7b9baba6512cd6f35f6e8d706";
+        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.40.0.tgz";
+        name = "webdrvr-2.40.0.tgz";
+        sha1 = "689f5d3fad5008ffc7b273d607eea9dd7d26ca42";
       })
     ];
     buildInputs =
-      (self.nativeDeps."webdrvr"."*" or []);
+      (self.nativeDeps."webdrvr" or []);
     deps = [
-      self.full."adm-zip"."~0.4.3"
-      self.full."kew"."~0.1.7"
-      self.full."mkdirp"."~0.3.5"
-      self.full."npmconf"."~0.1.2"
-      self.full."phantomjs"."~1.9.1-2"
-      self.full."tmp"."~0.0.20"
-      self.full."follow-redirects"."0.0.3"
+      self.by-version."adm-zip"."0.4.4"
+      self.by-version."kew"."0.1.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."npmconf"."0.1.14"
+      self.by-version."phantomjs"."1.9.7-4"
+      self.by-version."tmp"."0.0.23"
+      self.by-version."follow-redirects"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "webdrvr" ];
   };
-  "webdrvr" = self.full."webdrvr"."*";
-  full."websocket-driver".">=0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "websocket-driver-0.3.0";
+  "webdrvr" = self.by-version."webdrvr"."2.40.0";
+  by-spec."websocket-driver".">=0.3.0" =
+    self.by-version."websocket-driver"."0.3.2";
+  by-version."websocket-driver"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-websocket-driver-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.0.tgz";
-        sha1 = "497b258c508b987249ab9b6f79f0c21dd3467c64";
+        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.2.tgz";
+        name = "websocket-driver-0.3.2.tgz";
+        sha1 = "f177ef6611390e2401ae47f35e8386dda987daca";
       })
     ];
     buildInputs =
-      (self.nativeDeps."websocket-driver".">=0.3.0" or []);
+      (self.nativeDeps."websocket-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  full."when"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "when-2.2.1";
+  by-spec."websocket-driver".">=0.3.1" =
+    self.by-version."websocket-driver"."0.3.2";
+  by-spec."when"."~3.1.0" =
+    self.by-version."when"."3.1.0";
+  by-version."when"."3.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-when-3.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/when/-/when-2.2.1.tgz";
-        sha1 = "b1def994017350b8087f6e9a7596ab2833bdc712";
+        url = "http://registry.npmjs.org/when/-/when-3.1.0.tgz";
+        name = "when-3.1.0.tgz";
+        sha1 = "a2479659ca15f725541ecf52ebae091b781ee134";
       })
     ];
     buildInputs =
-      (self.nativeDeps."when"."~2.2.1" or []);
+      (self.nativeDeps."when" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "when" ];
   };
-  full."which"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."1" =
+    self.by-version."which"."1.0.5";
+  by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
+        name = "which-1.0.5.tgz";
         sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
       })
     ];
     buildInputs =
-      (self.nativeDeps."which"."1" or []);
+      (self.nativeDeps."which" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "which" ];
   };
-  full."which"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
+  by-spec."which"."1.0.x" =
+    self.by-version."which"."1.0.5";
+  by-spec."which"."~1.0.5" =
+    self.by-version."which"."1.0.5";
+  by-spec."winser"."=0.1.6" =
+    self.by-version."winser"."0.1.6";
+  by-version."winser"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "winser-0.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
+        url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
+        name = "winser-0.1.6.tgz";
+        sha1 = "08663dc32878a12bbce162d840da5097b48466c9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."which"."1.0.x" or []);
+      (self.nativeDeps."winser" or []);
     deps = [
+      self.by-version."sequence"."2.2.1"
+      self.by-version."commander"."1.3.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "which" ];
+    passthru.names = [ "winser" ];
   };
-  full."which"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
+  by-spec."winston"."*" =
+    self.by-version."winston"."0.7.3";
+  by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-winston-0.7.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
+        url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
+        name = "winston-0.7.3.tgz";
+        sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
       })
     ];
     buildInputs =
-      (self.nativeDeps."which"."~1.0.5" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
+      self.by-version."async"."0.2.10"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "which" ];
+    passthru.names = [ "winston" ];
   };
-  full."winser"."=0.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "winser-0.0.11";
+  "winston" = self.by-version."winston"."0.7.3";
+  by-spec."winston"."0.6.2" =
+    self.by-version."winston"."0.6.2";
+  by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-winston-0.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/winser/-/winser-0.0.11.tgz";
-        sha1 = "38474086a89ac72f90f9c6762e23375d12046c7c";
+        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
+        name = "winston-0.6.2.tgz";
+        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."winser"."=0.0.11" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."sequence"."*"
-      self.full."commander"."*"
+      self.by-version."async"."0.1.22"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."request"."2.9.203"
+      self.by-version."stack-trace"."0.0.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "winser" ];
+    passthru.names = [ "winston" ];
   };
-  full."winston"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.7.2";
+  by-spec."winston"."0.6.x" =
+    self.by-version."winston"."0.6.2";
+  by-spec."winston"."0.7.2" =
+    self.by-version."winston"."0.7.2";
+  by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-winston-0.7.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
+        name = "winston-0.7.2.tgz";
         sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."*" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.10"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  "winston" = self.full."winston"."*";
-  full."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.6.2";
+  by-spec."winston"."~0.7.2" =
+    self.by-version."winston"."0.7.3";
+  by-spec."winston"."~0.7.3" =
+    self.by-version."winston"."0.7.3";
+  by-spec."wiredep"."~1.0.0" =
+    self.by-version."wiredep"."1.0.0";
+  by-version."wiredep"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-wiredep-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+        url = "http://registry.npmjs.org/wiredep/-/wiredep-1.0.0.tgz";
+        name = "wiredep-1.0.0.tgz";
+        sha1 = "2e570465657b97e7494abf62978a3e52fc37ac52";
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.6.2" or []);
+      (self.nativeDeps."wiredep" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."chalk"."0.1.1"
+      self.by-version."glob"."3.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "winston" ];
+    passthru.names = [ "wiredep" ];
   };
-  full."winston"."0.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.6.2";
+  by-spec."with"."~1.1.0" =
+    self.by-version."with"."1.1.1";
+  by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-with-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+        url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
+        name = "with-1.1.1.tgz";
+        sha1 = "66bd6664deb318b2482dd0424ccdebe822434ac0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.6.x" or []);
+      (self.nativeDeps."with" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."uglify-js"."2.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "winston" ];
+    passthru.names = [ "with" ];
   };
-  full."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.7.1";
+  by-spec."with"."~2.0.0" =
+    self.by-version."with"."2.0.0";
+  by-version."with"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-with-2.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.7.1.tgz";
-        sha1 = "e291ab24eddbf79ea40ff532619277a0d30b0eb3";
+        url = "http://registry.npmjs.org/with/-/with-2.0.0.tgz";
+        name = "with-2.0.0.tgz";
+        sha1 = "ec01ff021db9df05639047147ede012f5e6d0afd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.7.1" or []);
+      (self.nativeDeps."with" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."uglify-js"."2.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "winston" ];
+    passthru.names = [ "with" ];
   };
-  full."with"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "with-1.1.1";
+  by-spec."with"."~3.0.0" =
+    self.by-version."with"."3.0.0";
+  by-version."with"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-with-3.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
-        sha1 = "66bd6664deb318b2482dd0424ccdebe822434ac0";
+        url = "http://registry.npmjs.org/with/-/with-3.0.0.tgz";
+        name = "with-3.0.0.tgz";
+        sha1 = "38f5d5859bb974c9dad8812372b51dae4b9594cc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."with"."~1.1.0" or []);
+      (self.nativeDeps."with" or []);
     deps = [
-      self.full."uglify-js"."2.4.0"
+      self.by-version."uglify-js"."2.4.13"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
   };
-  full."wordwrap"."0.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
+  by-spec."wordwrap"."0.0.x" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-wordwrap-0.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        name = "wordwrap-0.0.2.tgz";
         sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap"."0.0.x" or []);
+      (self.nativeDeps."wordwrap" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wordwrap" ];
   };
-  full."wordwrap".">=0.0.1 <0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
+  by-spec."wordwrap".">=0.0.1 <0.1.0" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wrench"."~1.4.3" =
+    self.by-version."wrench"."1.4.4";
+  by-version."wrench"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-wrench-1.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        url = "http://registry.npmjs.org/wrench/-/wrench-1.4.4.tgz";
+        name = "wrench-1.4.4.tgz";
+        sha1 = "7f523efdb71b0100e77dce834c06523cbe3d54e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap".">=0.0.1 <0.1.0" or []);
+      (self.nativeDeps."wrench" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "wordwrap" ];
+    passthru.names = [ "wrench" ];
   };
-  full."wordwrap"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
+  by-spec."wrench"."~1.5.0" =
+    self.by-version."wrench"."1.5.8";
+  by-version."wrench"."1.5.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-wrench-1.5.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        url = "http://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz";
+        name = "wrench-1.5.8.tgz";
+        sha1 = "7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap"."~0.0.2" or []);
+      (self.nativeDeps."wrench" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "wordwrap" ];
+    passthru.names = [ "wrench" ];
   };
-  full."ws"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wrench"."~1.5.4" =
+    self.by-version."wrench"."1.5.8";
+  by-spec."wru".">= 0.0.0" =
+    self.by-version."wru"."0.2.7";
+  by-version."wru"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "wru-0.2.7";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/wru/-/wru-0.2.7.tgz";
+        name = "wru-0.2.7.tgz";
+        sha1 = "f6fa4fc7d54f44bec19d55c66c4667078d73062d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."wru" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "wru" ];
+  };
+  by-spec."ws"."0.4.x" =
+    self.by-version."ws"."0.4.31";
+  by-version."ws"."0.4.31" = lib.makeOverridable self.buildNodePackage {
     name = "ws-0.4.31";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
+        name = "ws-0.4.31.tgz";
         sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ws"."0.4.x" or []);
+      (self.nativeDeps."ws" or []);
     deps = [
-      self.full."commander"."~0.6.1"
-      self.full."nan"."~0.3.0"
-      self.full."tinycolor"."0.x"
-      self.full."options".">=0.0.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."nan"."0.3.2"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ws" ];
   };
-  full."wu"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "wu-0.1.8";
+  by-spec."ws"."~0.4.31" =
+    self.by-version."ws"."0.4.31";
+  by-spec."wu"."*" =
+    self.by-version."wu"."0.1.8";
+  by-version."wu"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-wu-0.1.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wu/-/wu-0.1.8.tgz";
+        name = "wu-0.1.8.tgz";
         sha1 = "619bcdf64974a487894a25755ae095c5208b4a22";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wu"."*" or []);
+      (self.nativeDeps."wu" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wu" ];
   };
-  "wu" = self.full."wu"."*";
-  full."x509"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "x509-0.0.6";
+  "wu" = self.by-version."wu"."0.1.8";
+  by-spec."x509"."*" =
+    self.by-version."x509"."0.0.7";
+  by-version."x509"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-x509-0.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/x509/-/x509-0.0.6.tgz";
-        sha1 = "b58747854ff33df7ff8f1653756bff6a32a8c838";
+        url = "http://registry.npmjs.org/x509/-/x509-0.0.7.tgz";
+        name = "x509-0.0.7.tgz";
+        sha1 = "198a57a9691649b030a383e0e5f89e635d6e99e7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."x509"."*" or []);
+      (self.nativeDeps."x509" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
   };
-  "x509" = self.full."x509"."*";
-  full."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "xml2js-0.2.4";
+  "x509" = self.by-version."x509"."0.0.7";
+  by-spec."xml2js"."0.2.4" =
+    self.by-version."xml2js"."0.2.4";
+  by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xml2js-0.2.4";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
+        name = "xml2js-0.2.4.tgz";
         sha1 = "9a5b577fa1e6cdf8923d5e1372f7a3188436e44d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.4" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax".">=0.4.2"
+      self.by-version."sax"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "xml2js-0.2.8";
+  by-spec."xml2js"."0.2.x" =
+    self.by-version."xml2js"."0.2.8";
+  by-version."xml2js"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xml2js-0.2.8";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
+        name = "xml2js-0.2.8.tgz";
         sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.x" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax"."0.5.x"
+      self.by-version."sax"."0.5.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "xml2js-0.2.8";
+  by-spec."xml2js".">= 0.0.1" =
+    self.by-version."xml2js"."0.4.2";
+  by-version."xml2js"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xml2js-0.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
-        sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.2.tgz";
+        name = "xml2js-0.4.2.tgz";
+        sha1 = "93911c393c4a332a2dce1222801eb571453b2f90";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js".">= 0.0.1" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax"."0.5.x"
+      self.by-version."sax"."0.5.8"
+      self.by-version."xmlbuilder"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xmlbuilder"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "xmlbuilder-0.4.2";
+  by-spec."xml2js".">=0.1.7" =
+    self.by-version."xml2js"."0.4.2";
+  by-spec."xmlbuilder"."0.4.2" =
+    self.by-version."xmlbuilder"."0.4.2";
+  by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xmlbuilder-0.4.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
+        name = "xmlbuilder-0.4.2.tgz";
         sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."*" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "xmlbuilder-0.4.2";
+  by-spec."xmlbuilder".">=0.4.2" =
+    self.by-version."xmlbuilder"."2.2.1";
+  by-version."xmlbuilder"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xmlbuilder-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
-        sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz";
+        name = "xmlbuilder-2.2.1.tgz";
+        sha1 = "9326430f130d87435d4c4086643aa2926e105a32";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."0.4.2" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
+      self.by-version."lodash-node"."2.4.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "xmlhttprequest-1.4.2";
+  by-spec."xmldom"."~0.1.16" =
+    self.by-version."xmldom"."0.1.19";
+  by-version."xmldom"."0.1.19" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xmldom-0.1.19";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
-        sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
+        url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
+        name = "xmldom-0.1.19.tgz";
+        sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlhttprequest"."1.4.2" or []);
+      (self.nativeDeps."xmldom" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "xmlhttprequest" ];
+    passthru.names = [ "xmldom" ];
   };
-  full."xoauth2"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "xoauth2-0.1.8";
+  by-spec."xmlhttprequest"."1.4.2" =
+    self.by-version."xmlhttprequest"."1.4.2";
+  by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xmlhttprequest-1.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
-        sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xoauth2"."~0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xoauth2" ];
-  };
-  full."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "yaml-0.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz";
-        sha1 = "b5450e92e76ef36b5dd24e3660091ebaeef3e5c7";
+        url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
+        name = "xmlhttprequest-1.4.2.tgz";
+        sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yaml"."0.2.3" or []);
+      (self.nativeDeps."xmlhttprequest" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "yaml" ];
+    passthru.names = [ "xmlhttprequest" ];
   };
-  full."ycssmin".">=1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ycssmin-1.0.1";
+  by-spec."xoauth2"."~0.1" =
+    self.by-version."xoauth2"."0.1.8";
+  by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xoauth2-0.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ycssmin/-/ycssmin-1.0.1.tgz";
-        sha1 = "7cdde8db78cfab00d2901c3b2301e304faf4df16";
+        url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
+        name = "xoauth2-0.1.8.tgz";
+        sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ycssmin".">=1.0.1" or []);
+      (self.nativeDeps."xoauth2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "ycssmin" ];
+    passthru.names = [ "xoauth2" ];
   };
-  full."yeoman-generator"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.10.5";
+  by-spec."xtend"."~2.1.1" =
+    self.by-version."xtend"."2.1.2";
+  by-version."xtend"."2.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-xtend-2.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.10.5.tgz";
-        sha1 = "67b28a6c453addc785e43180236df65e2f93554a";
+        url = "http://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
+        name = "xtend-2.1.2.tgz";
+        sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.10.0" or []);
+      (self.nativeDeps."xtend" or []);
     deps = [
-      self.full."cheerio"."~0.10.8"
-      self.full."request"."~2.16.6"
-      self.full."rimraf"."~2.1.4"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.1.1"
-      self.full."mkdirp"."~0.3.5"
-      self.full."read"."~1.0.4"
-      self.full."glob"."~3.1.21"
-      self.full."nopt"."~2.1.1"
-      self.full."cli-table"."~0.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
+      self.by-version."object-keys"."0.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "yeoman-generator" ];
+    passthru.names = [ "xtend" ];
   };
-  full."yeoman-generator"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
+  by-spec."xtend"."~2.1.2" =
+    self.by-version."xtend"."2.1.2";
+  by-spec."yargs"."~1.1.2" =
+    self.by-version."yargs"."1.1.3";
+  by-version."yargs"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-yargs-1.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
+        url = "http://registry.npmjs.org/yargs/-/yargs-1.1.3.tgz";
+        name = "yargs-1.1.3.tgz";
+        sha1 = "c44ed2bb9c86d55b557f2179fea7c7013fe4c42a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.0" or []);
+      (self.nativeDeps."yargs" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "yeoman-generator" ];
+    passthru.names = [ "yargs" ];
   };
-  full."yeoman-generator"."~0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
+  by-spec."yeoman-generator"."~0.14.0" =
+    self.by-version."yeoman-generator"."0.14.2";
+  by-version."yeoman-generator"."0.14.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-yeoman-generator-0.14.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
+        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.14.2.tgz";
+        name = "yeoman-generator-0.14.2.tgz";
+        sha1 = "6d3e306d1118c83c25ac12a9d3dcb7870aa53397";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.1" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.12.4"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."diff"."1.0.8"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."2.2.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.9"
+      self.by-version."debug"."0.7.4"
+      self.by-version."isbinaryfile"."0.1.9"
+      self.by-version."dargs"."0.1.0"
+      self.by-version."async"."0.2.10"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."shelljs"."0.2.6"
+      self.by-version."findup-sync"."0.1.3"
+      self.by-version."chalk"."0.3.0"
+      self.by-version."text-table"."0.2.0"
+      self.by-version."download"."0.1.16"
+      self.by-version."request"."2.27.0"
+      self.by-version."file-utils"."0.1.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yeoman-generator"."~0.13.2" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
+  by-spec."yeoman-generator"."~0.16.0" =
+    self.by-version."yeoman-generator"."0.16.0";
+  by-version."yeoman-generator"."0.16.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-yeoman-generator-0.16.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
+        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.16.0.tgz";
+        name = "yeoman-generator-0.16.0.tgz";
+        sha1 = "0d1b655ea31660ab66837af1e686b795eae57c59";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.2" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.13.1"
+      self.by-version."rimraf"."2.2.6"
+      self.by-version."diff"."1.0.8"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.9"
+      self.by-version."debug"."0.7.4"
+      self.by-version."isbinaryfile"."2.0.1"
+      self.by-version."dargs"."0.1.0"
+      self.by-version."async"."0.2.10"
+      self.by-version."inquirer"."0.4.1"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."shelljs"."0.2.6"
+      self.by-version."findup-sync"."0.1.3"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."text-table"."0.2.0"
+      self.by-version."download"."0.1.16"
+      self.by-version."request"."2.30.0"
+      self.by-version."file-utils"."0.1.5"
+      self.by-version."class-extend"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.4";
+  by-spec."yo"."*" =
+    self.by-version."yo"."1.1.2";
+  by-version."yo"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "yo-1.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
-        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
+        url = "http://registry.npmjs.org/yo/-/yo-1.1.2.tgz";
+        name = "yo-1.1.2.tgz";
+        sha1 = "a0d4da72e83fa0e0dbfe1d0ba258881b240ab854";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yo"."*" or []);
+      (self.nativeDeps."yo" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.2.0"
-      self.full."sudo-block"."~0.2.0"
-      self.full."async"."~0.2.9"
-      self.full."open"."0.0.4"
-      self.full."chalk"."~0.2.0"
+      self.by-version."yeoman-generator"."0.16.0"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."update-notifier"."0.1.8"
+      self.by-version."insight"."0.3.1"
+      self.by-version."sudo-block"."0.3.0"
+      self.by-version."async"."0.2.10"
+      self.by-version."open"."0.0.4"
+      self.by-version."chalk"."0.4.0"
+      self.by-version."findup"."0.1.5"
+      self.by-version."shelljs"."0.2.6"
     ];
     peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
+      self.by-version."grunt-cli"."0.1.13"
+      self.by-version."bower"."1.3.2"
     ];
     passthru.names = [ "yo" ];
   };
-  "yo" = self.full."yo"."*";
-  full."yo".">=1.0.0-rc.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.4";
+  "yo" = self.by-version."yo"."1.1.2";
+  by-spec."yo".">=1.0.0" =
+    self.by-version."yo"."1.1.2";
+  by-spec."yo".">=1.0.0-rc.1.1" =
+    self.by-version."yo"."1.1.2";
+  by-spec."zeparser"."0.0.5" =
+    self.by-version."zeparser"."0.0.5";
+  by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-zeparser-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
-        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
+        url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
+        name = "zeparser-0.0.5.tgz";
+        sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yo".">=1.0.0-rc.1.1" or []);
+      (self.nativeDeps."zeparser" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.2.0"
-      self.full."sudo-block"."~0.2.0"
-      self.full."async"."~0.2.9"
-      self.full."open"."0.0.4"
-      self.full."chalk"."~0.2.0"
     ];
     peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
     ];
-    passthru.names = [ "yo" ];
+    passthru.names = [ "zeparser" ];
   };
-  full."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "zeparser-0.0.5";
+  by-spec."zip-stream"."~0.1.0" =
+    self.by-version."zip-stream"."0.1.4";
+  by-version."zip-stream"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-zip-stream-0.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
-        sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
+        url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.1.4.tgz";
+        name = "zip-stream-0.1.4.tgz";
+        sha1 = "fe5b565bc366b8d73d5d4c1606e07c8947de1654";
       })
     ];
     buildInputs =
-      (self.nativeDeps."zeparser"."0.0.5" or []);
+      (self.nativeDeps."zip-stream" or []);
     deps = [
+      self.by-version."readable-stream"."1.0.27-1"
+      self.by-version."lodash.defaults"."2.4.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "zeparser" ];
+    passthru.names = [ "zip-stream" ];
   };
-  full."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "zlib-browserify-0.0.1";
+  by-spec."zlib-browserify"."^0.0.3" =
+    self.by-version."zlib-browserify"."0.0.3";
+  by-version."zlib-browserify"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-zlib-browserify-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz";
-        sha1 = "4fa6a45d00dbc15f318a4afa1d9afc0258e176cc";
+        url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz";
+        name = "zlib-browserify-0.0.3.tgz";
+        sha1 = "240ccdbfd0203fa842b130deefb1414122c8cc50";
       })
     ];
     buildInputs =
-      (self.nativeDeps."zlib-browserify"."0.0.1" or []);
+      (self.nativeDeps."zlib-browserify" or []);
     deps = [
+      self.by-version."tape"."0.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "zlib-browserify" ];
   };
+  by-spec."zlib-browserify"."~0.0.3" =
+    self.by-version."zlib-browserify"."0.0.3";
 }
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1057e3f6f28..4d220a00829 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -73,6 +73,8 @@
 , "generator-webapp"
 , "generator-angular"
 , "statsd"
+, "statsd-librato-backend"
+, "stackdriver-statsd-backend"
 , "ungit"
 , { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
 , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
@@ -84,6 +86,7 @@
 , "grunt-contrib-cssmin"
 , "grunt-contrib-uglify"
 , "grunt-karma"
+, "grunt-bower-task"
 , "grunt-sed"
 , "karma"
 , "karma-mocha"
@@ -107,4 +110,25 @@
 , "x509"
 , "owl-deepcopy"
 , "meat"
+, "hipache"
+, "posix"
+, "node-protobuf"
+, "rethinkdb"
+, "bower2nix"
+, "fetch-bower"
+, { "titanium": "3.2.1" }
+, "gh"
+, "deepmerge"
+, "slasp"
+, "react"
+, { "pure-css": "git://github.com/yui/pure.git#v0.5.0-rc-1" }
+, "marked"
+, "browserify"
+, "uglify-js"
+, "less"
+, "mocha-phantomjs"
+, "phantomjs"
+, "sinon"
+, "shelljs"
+, "typescript"
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 8725ce1e9cd..448904ce385 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -1,10 +1,11 @@
-{ pkgs, stdenv, nodejs, fetchurl, neededNatives, self, generated ? ./node-packages-generated.nix }:
+{ pkgs, stdenv, nodejs, fetchurl, fetchgit, neededNatives, self, generated ? ./node-packages-generated.nix }:
 
-{
+rec {
   nativeDeps = {
-    "node-expat"."*" = [ pkgs.expat ];
-    "rbytes"."*" = [ pkgs.openssl ];
-    "phantomjs"."~1.9" = [ pkgs.phantomjs ];
+    "node-expat" = [ pkgs.expat ];
+    "rbytes" = [ pkgs.openssl ];
+    "phantomjs" = [ pkgs.phantomjs ];
+    "node-protobuf" = [ pkgs.protobuf ];
   };
 
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
@@ -12,15 +13,19 @@
     inherit (pkgs) runCommand;
   };
 
-  patchLatest = srcAttrs:
-    let src = fetchurl srcAttrs; in pkgs.runCommand src.name {} ''
+  patchSource = fn: srcAttrs:
+    let src = fn srcAttrs; in pkgs.runCommand src.name {} ''
       mkdir unpack
       cd unpack
-      tar xf ${src}
+      unpackFile ${src}
+      chmod -R +w */
       mv */ package 2>/dev/null || true
-      sed -i -e "s/: \"latest\"/: \"*\"/" package/package.json
-      tar cf $out *
+      sed -i -e "s/:\s*\"latest\"/:  \"*\"/" -e "s/:\s*\"\(https\?\|git\(\+\(ssh\|http\|https\)\)\?\):\/\/[^\"]*\"/: \"*\"/" package/package.json
+      mv */ $out
     '';
 
+  # Backwards compat
+  patchLatest = patchSource fetchurl;
+
   /* Put manual packages below here (ideally eventually managed by npm2nix */
-} // import generated { inherit self fetchurl; inherit (pkgs) lib; }
+} // import generated { inherit self fetchurl fetchgit; inherit (pkgs) lib; }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index a90a3f4e33c..8b87d253b3d 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -5,16 +5,14 @@
    for each package in a separate file: the call to the function would
    be almost as must code as the function itself. */
 
-{pkgs, __overrides}:
+{pkgs, overrides}:
 
-rec {
+let self = _self // overrides; _self = with self; {
 
   inherit (pkgs) buildPerlPackage fetchurl stdenv perl fetchsvn gnused;
 
   inherit (stdenv.lib) maintainers;
 
-  inherit __overrides;
-
   # Helper functions for packages that use Module::Build to build.
   buildPerlModule = { buildInputs ? [], ... } @ args:
     buildPerlPackage (args // {
@@ -27,10 +25,10 @@ rec {
 
 
   ack = buildPerlPackage rec {
-    name = "ack-2.02";
+    name = "ack-2.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "de5560f2ce6334f3f83bef4ee942fdb09b792f05cf534fe67be3cb0431bf758f";
+      sha256 = "0avxpgg1fvib4354d9a9710j63sgxpb5j07if5qr83apq9xx7wjj";
     };
     # use gnused so that the preCheck command passes
     buildInputs = stdenv.lib.optional stdenv.isDarwin [ gnused ];
@@ -90,27 +88,27 @@ rec {
   };
 
   aliased = buildPerlPackage rec {
-    name = "aliased-0.30";
+    name = "aliased-0.31";
     src = fetchurl {
       url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz";
-      sha256 = "1iqcbfv600m31rfvl7r9ckr0hh0vny63q7a6yyhfrh4ppcgj4ig4";
+      sha256 = "0gxfqdddlq5g1b2zs99b251hz52z9ys4yni7j2p8gyk5zij3wm1s";
     };
   };
 
   AlienWxWidgets = buildPerlPackage rec {
-    name = "Alien-wxWidgets-0.64";
+    name = "Alien-wxWidgets-0.65";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz";
-      sha256 = "1frmvdppzw1vrbk2jvwxh5a5qafl7bigflpgwpkzdg4v9nswgbmx";
+      sha256 = "0h4g7jl0p8a35kyvsji3qlb75mbcfqpvvmwh7s9krkbqklqjlxxl";
     };
     propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ];
   };
 
   AnyEvent = buildPerlPackage {
-    name = "AnyEvent-7.04";
+    name = "AnyEvent-7.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.04.tar.gz;
-      sha256 = "6a9d94fa61c7f5dc515c834eb224dbc6ce4123da8fd5bfa0cf3815f3f3e908b2";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.07.tar.gz;
+      sha256 = "01iilh11xc2gw6fxxr6il3r6n1k4cf6swaddgbhi525wfzlchk2c";
     };
     meta = {
       maintainers = with maintainers; [ ocharles ];
@@ -118,6 +116,19 @@ rec {
     };
   };
 
+  AnyEventI3 = buildPerlPackage rec {
+    name = "AnyEvent-I3-0.15";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz";
+      sha256 = "0x8zi06667bdgaxn7driqx0d71mp6021r51hdzmj5m5qbhi2hvqi";
+    };
+    propagatedBuildInputs = [ AnyEvent JSONXS ];
+    meta = {
+      description = "Communicate with the i3 window manager";
+      license = "perl";
+    };
+  };
+
   AnyEventRabbitMQ = buildPerlPackage {
     name = "AnyEvent-RabbitMQ-1.15";
     src = fetchurl {
@@ -135,12 +146,12 @@ rec {
   };
 
   AnyMoose = buildPerlPackage rec {
-    name = "Any-Moose-0.10";
+    name = "Any-Moose-0.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SA/SARTAK/${name}.tar.gz";
-      sha256 = "1kgksln1vykh0xynawv3pc3nw1yp7kjwbxbb5lh2hm21a4l4h61x";
+      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
+      sha256 = "0g4w11chpnspnksw80jbdn5wp2m5hqzcyjzcy2hsjz9rkk2ncdbk";
     };
-    propagatedBuildInputs = [Mouse];
+    propagatedBuildInputs = [ Mouse ];
   };
 
   ApacheLogFormatCompiler = buildPerlModule {
@@ -158,10 +169,10 @@ rec {
   };
 
   AppCLI = buildPerlPackage {
-    name = "App-CLI-0.07";
+    name = "App-CLI-0.313";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/App-CLI-0.07.tar.gz;
-      sha256 = "000866qsm7jck3ini69b02sgbjwp6s297lsds002r7xk2wb6fqcz";
+      url = mirror://cpan/authors/id/C/CO/CORNELIUS/App-CLI-0.313.tar.gz;
+      sha256 = "0ni1z14xis1b634qjc3zra9c9pl2icfr6sp5qxs0xy8nvib65037";
     };
     propagatedBuildInputs = [LocaleMaketextSimple];
   };
@@ -195,10 +206,22 @@ rec {
   };
 
   ArrayCompare = buildPerlPackage {
-    name = "Array-Compare-1.16";
+    name = "Array-Compare-1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-1.16.tar.gz;
-      sha256 = "1iwkn7d07a7vgl3jrv4f0glwapxcbdwwsy3aa6apgwam9119hl7q";
+      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-1.18.tar.gz;
+      sha256 = "0zbvr1bj9bp836b3g9s32193vvn53d03xv0zn317hz247skn15lh";
+    };
+  };
+
+  ArchiveCpio = buildPerlPackage {
+    name = "Archive-Cpio-0.09";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.09.tar.gz;
+      sha256 = "1cf8k5zjykdbc1mn8lixlkij6jklwn6divzyq2grycj3rpd36g5c";
+    };
+    meta = {
+      description = "Module for manipulations of cpio archives";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -250,10 +273,10 @@ rec {
   autobox = pkgs.perlPackages.Autobox;
 
   Autobox = buildPerlPackage {
-    name = "autobox-2.79";
+    name = "autobox-2.82";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-2.79.tar.gz;
-      sha256 = "8acc8c4a69e1bbb05304d0832d483a07258597529072d869b5960193a2ab950f";
+      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-2.82.tar.gz;
+      sha256 = "0w008z8ych54czr6drmhqrrvikcfhra6ig3v1fhk36apq64p9k1p";
     };
     propagatedBuildInputs = [ ScopeGuard ];
     meta = {
@@ -306,16 +329,29 @@ rec {
     };
   };
 
+  autovivification = buildPerlPackage {
+    name = "autovivification-0.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.12.tar.gz;
+      sha256 = "6ef8686766c63571389880e5d87a0ca1d46f7d127982e8ef38aca7568c44840c";
+    };
+    meta = {
+      homepage = http://search.cpan.org/dist/autovivification/;
+      description = "Lexically disable autovivification";
+      license = "perl";
+    };
+  };
+
   BerkeleyDB = import ../development/perl-modules/BerkeleyDB {
     inherit buildPerlPackage fetchurl;
-    inherit (pkgs) db4;
+    inherit (pkgs) db;
   };
 
   BHooksEndOfScope = buildPerlPackage {
-    name = "B-Hooks-EndOfScope-0.12";
+    name = "B-Hooks-EndOfScope-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/B-Hooks-EndOfScope-0.12.tar.gz;
-      sha256 = "1gagn8b9zhbwk4f4cllrvir1mspvq0ladsy0pfkwl9w85q1843lj";
+      url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.13.tar.gz;
+      sha256 = "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi";
     };
     propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ];
     meta = {
@@ -366,10 +402,10 @@ rec {
   };
 
   boolean = buildPerlPackage {
-    name = "boolean-0.30";
+    name = "boolean-0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.30.tar.gz;
-      sha256 = "f46e7a6121d5728ef2ce285a82d1dde94f6dfa0b846a612db75b1dcd37b9fc7f";
+      url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.32.tar.gz;
+      sha256 = "1icihm1cib90klfjrk069s7031n1c7xk3fmkr2bfxrwqda4di7jg";
     };
     meta = {
       homepage = https://github.com/ingydotnet/boolean-pm/tree;
@@ -379,14 +415,64 @@ rec {
   };
 
   BoostGeometryUtils = buildPerlModule rec {
-    name = "Boost-Geometry-Utils-0.12";
+    name = "Boost-Geometry-Utils-0.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AA/AAR/${name}.tar.gz";
-      sha256 = "1pywbxjf05qpcixshblhd2cham601zwa9w7c3k5waz4cdild6g1m";
+      sha256 = "1jnihz3029x51a455nxa0jx2z125x38q3vkkggsgdlrvawzxsm00";
     };
     propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsTypemapsDefault ];
   };
 
+  BusinessISBN = buildPerlPackage {
+    name = "Business-ISBN-2.07";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-2.07.tar.gz;
+      sha256 = "4c11279580872bf3cc7176bb75c25b165d4b59a2828fc43d9a355cec3d0a45ff";
+    };
+    propagatedBuildInputs = [ BusinessISBNData URI ];
+    meta = {
+      description = "Parse and validate ISBNs";
+      license = "perl";
+    };
+  };
+
+  BusinessISBNData = buildPerlPackage {
+    name = "Business-ISBN-Data-20120719.001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20120719.001.tar.gz;
+      sha256 = "745f6bf8f7bd912c0a1865aa5f7e49343804de27783f544b2e2c714e14a704a3";
+    };
+    meta = {
+      description = "Data pack for Business::ISBN";
+      license = "perl";
+    };
+  };
+
+  BusinessISMN = buildPerlPackage {
+    name = "Business-ISMN-1.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.11.tar.gz;
+      sha256 = "76d5240a5672c7a8b1ba9e9ea8238a5c8882139911acbb67b7059b5ee3da342d";
+    };
+    propagatedBuildInputs = [ TieCycle ];
+    meta = {
+      description = "Work with International Standard Music Numbers";
+      license = "perl";
+    };
+  };
+
+  BusinessISSN = buildPerlPackage {
+    name = "Business-ISSN-0.91";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-0.91.tar.gz;
+      sha256 = "f15b192c0f547bb2967811072b3d343b94bc5ea58d02704c19122f7ae0a9d6b5";
+    };
+    meta = {
+      description = "Work with International Standard Serial Numbers";
+      license = "perl";
+    };
+  };
+
   CacheCache = buildPerlPackage rec {
     name = "Cache-Cache-1.06";
     src = fetchurl {
@@ -439,6 +525,7 @@ rec {
       sha256 = "1zykapgl9lxnlx79xfghzb26qimhry94xfxfyswwfhra1ywd9yyg";
     };
     propagatedBuildInputs = [ TimeDate DBFile DigestSHA1 FileNFSLock HeapFibonacci IOString ];
+    doCheck = false; # can time out
     meta = {
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
@@ -446,10 +533,10 @@ rec {
   };
 
   cam_pdf = buildPerlPackage rec {
-    name = "CAM-PDF-1.52";
+    name = "CAM-PDF-1.60";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CD/CDOLAN/${name}.tar.gz";
-      sha256 = "1lamnx0vcqzzcxdmj5038gvyn6z5xcy9756jhndgpggjfkzilwkh";
+      sha256 = "12dv5ssf3y7yjz9mrrqnfzx8nf4ydk1qijf5fx59495671zzqsp7";
     };
     propagatedBuildInputs = [ CryptRC4 TextPDF ];
     buildInputs = [ TestMore ];
@@ -470,10 +557,10 @@ rec {
   };
 
   CaptureTiny = buildPerlPackage {
-    name = "Capture-Tiny-0.21";
+    name = "Capture-Tiny-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.21.tar.gz;
-      sha256 = "1lvz2639zsjpr3001b2xyidnsd4kcgll5fvaa0pm928wzldb49wg";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.24.tar.gz;
+      sha256 = "0rg0m9irhx8jwamxdi2ms4vhhxy7q050gjrn2m051spqfa26zkwv";
     };
     meta = {
       homepage = https://metacpan.org/release/Capture-Tiny;
@@ -482,6 +569,18 @@ rec {
     };
   };
 
+  CarpAlways = buildPerlPackage rec {
+    name = "Carp-Always-0.13";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz";
+      sha256 = "0i2rifkr7ybfcdsqana52487z7vxp2l5qdra0f6ik0ddhn6rzii1";
+    };
+    meta = {
+      description = "Warns and dies noisily with stack backtraces";
+      license = "perl";
+    };
+  };
+
   CarpAssert = buildPerlPackage {
     name = "Carp-Assert-0.20";
     src = fetchurl {
@@ -538,6 +637,7 @@ rec {
     meta = {
       description = "Automated REST Method Dispatching";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -569,10 +669,10 @@ rec {
   };
 
   CatalystAuthenticationStoreDBIxClass = buildPerlPackage {
-    name = "Catalyst-Authentication-Store-DBIx-Class-0.1503";
+    name = "Catalyst-Authentication-Store-DBIx-Class-0.1506";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Store-DBIx-Class-0.1503.tar.gz;
-      sha256 = "1l11if91gjfrga7i7bjxwa0zybhkkrpgg6ps3nxm30vmg7xqaf4d";
+      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz;
+      sha256 = "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw";
     };
     propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ];
     meta = {
@@ -606,10 +706,10 @@ rec {
   };
 
   CatalystDevel = buildPerlPackage {
-    name = "Catalyst-Devel-1.37";
+    name = "Catalyst-Devel-1.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Devel-1.37.tar.gz;
-      sha256 = "0yk526py65iy40z10d6w0fspb8fam5rf1hzsxnfyy4lpy91lp7s9";
+      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Devel-1.39.tar.gz;
+      sha256 = "12m50bbkggjmpxihv3wnvr0g2qng0zwhlzi5ygppjz8wh2x73qxw";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ CatalystRuntime CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive FileShareDir ModuleInstall Moose MooseXDaemonize MooseXEmulateClassAccessorFast namespaceautoclean namespaceclean PathClass Starman TemplateToolkit ];
@@ -622,10 +722,10 @@ rec {
   };
 
   CatalystDispatchTypeRegex = buildPerlModule {
-    name = "Catalyst-DispatchType-Regex-5.90032";
+    name = "Catalyst-DispatchType-Regex-5.90033";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90032.tar.gz;
-      sha256 = "003e31fe0c1d6dfc6be4d9cd47cb058a9b53a73bb6a9f74a132a43dbfbbb5e3c";
+      url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90033.tar.gz;
+      sha256 = "0rdi8jxj9fz81l9pxl7q190v69vkgxgixcpals555xyiafnqk4vy";
     };
     propagatedBuildInputs = [ Moose TextSimpleTable ];
     meta = {
@@ -653,10 +753,10 @@ rec {
   };
 
   CatalystManual = buildPerlPackage {
-    name = "Catalyst-Manual-5.9006";
+    name = "Catalyst-Manual-5.9007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Manual-5.9006.tar.gz;
-      sha256 = "0cl9nqg5jrqcf2h3pgk6q8408czf5s0k0xh3ra884c9cnx84mr95";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Manual-5.9007.tar.gz;
+      sha256 = "140526pzzqc1vyxkk9fxvp9ds3kk2rncf8nf7iz0adlr219pkg3j";
     };
     meta = {
       description = "The Catalyst developer's manual";
@@ -705,6 +805,7 @@ rec {
     meta = {
       description = "Request logging from within Catalyst";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -742,6 +843,7 @@ rec {
     meta = {
       description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -786,14 +888,15 @@ rec {
     propagatedBuildInputs = [ CatalystRuntime CatalystPluginSession GDSecurityImage HTTPDate ];
     meta = {
       description = "Create and validate Captcha for Catalyst";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
   CatalystPluginConfigLoader = buildPerlPackage rec {
-    name = "Catalyst-Plugin-ConfigLoader-0.30";
+    name = "Catalyst-Plugin-ConfigLoader-0.33";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "1rshgsvs9ngpd4nang4flq6mx9v71w1z5klp1rm8llc88pxlqahm";
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
+      sha256 = "0m18yqcwx5fzz4lrd5db8x8wyir1061pclv5jb9g963wbg4zk43g";
     };
     propagatedBuildInputs = [CatalystRuntime DataVisitor ConfigAny MROCompat];
   };
@@ -824,10 +927,10 @@ rec {
   };
 
   CatalystPluginSession = buildPerlPackage {
-    name = "Catalyst-Plugin-Session-0.36";
+    name = "Catalyst-Plugin-Session-0.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-0.36.tar.gz;
-      sha256 = "14wgkrg3w69gwg6zg991k5f611xqsnyx0i0xzhw9rx2j5nf9rj4b";
+      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Plugin-Session-0.39.tar.gz;
+      sha256 = "0m4a003qgz7848iyckwbigg2vw3kmfxggh1razrnzxrbz3n6x5gi";
     };
     buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ];
     propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ];
@@ -845,6 +948,9 @@ rec {
     };
     buildInputs = [ TestMockObject ];
     propagatedBuildInputs = [ CatalystRuntime CatalystPluginSession ];
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   CatalystPluginSessionStoreFastMmap = buildPerlPackage rec {
@@ -855,13 +961,16 @@ rec {
     };
     propagatedBuildInputs =
       [ PathClass CatalystPluginSession CacheFastMmap MROCompat ];
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   CatalystPluginStackTrace = buildPerlPackage {
-    name = "Catalyst-Plugin-StackTrace-0.11";
+    name = "Catalyst-Plugin-StackTrace-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-StackTrace-0.11.tar.gz;
-      sha256 = "1ingivnga1yb4dqsj6icc4a58i9wdalzpn2qflsn8n2skgm223qb";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz;
+      sha256 = "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j";
     };
     propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ];
     meta = {
@@ -871,10 +980,10 @@ rec {
   };
 
   CatalystPluginStaticSimple = buildPerlPackage {
-    name = "Catalyst-Plugin-Static-Simple-0.30";
+    name = "Catalyst-Plugin-Static-Simple-0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.30.tar.gz;
-      sha256 = "18zar1n4imgnv7b4dr5sxyikry4668ngqgc6f0dr210bqafvwv7w";
+      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.31.tar.gz;
+      sha256 = "1mcns9qdpnja153prbyypwjicgpm1sn7rw75k7hm28g3vf59z733";
     };
     patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ];
     propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes namespaceautoclean ];
@@ -885,10 +994,10 @@ rec {
   };
 
   CatalystViewDownload = buildPerlPackage rec {
-    name = "Catalyst-View-Download-0.07";
+    name = "Catalyst-View-Download-0.09";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "1c6k4x6az0fkany16zlyaqhlp7bcx922vl4qzd3z707vs6pc06rz";
+      url = "mirror://cpan/authors/id/G/GA/GAUDEON/${name}.tar.gz";
+      sha256 = "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs";
     };
     buildInputs = [  TestWWWMechanizeCatalyst Testuseok ];
     propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
@@ -905,27 +1014,29 @@ rec {
     meta = {
       description = "JSON view for your data";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
   CatalystViewTT = buildPerlPackage {
-    name = "Catalyst-View-TT-0.40";
+    name = "Catalyst-View-TT-0.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-View-TT-0.40.tar.gz;
-      sha256 = "0j73mk631p9x0b0l24ikavh9nxl6lpya4g46fpanjk396d2zj8bs";
+      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-View-TT-0.41.tar.gz;
+      sha256 = "1yrigxqapxj4k1qkykiiqy6a30ljb7hlkaw80d7n0n5mpm67j1nb";
     };
     propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ];
     meta = {
       description = "Template View Class";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
   CatalystXComponentTraits = buildPerlPackage rec {
-    name = "CatalystX-Component-Traits-0.16";
+    name = "CatalystX-Component-Traits-0.19";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/CatalystX/${name}.tar.gz";
-      sha256 = "0a2mhfgv0kqmaxf2crs8mqk44lyhd9qcwlpzhrc0b0dh4z503mr4";
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
+      sha256 = "0iq4ci8m6g2c4g01fvdl568y7pjz28f3widk986v3pyhr7ll8j88";
     };
     propagatedBuildInputs =
       [ CatalystRuntime MooseXTraitsPluggable namespaceautoclean ListMoreUtils ];
@@ -967,18 +1078,18 @@ rec {
   };
 
   CGICookieXS = buildPerlPackage rec {
-    name = "CGI-Cookie-XS-0.16";
+    name = "CGI-Cookie-XS-0.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AG/AGENT/${name}.tar.gz";
-      sha256 = "1jrd3f11sz17117nvssrrf6r80fr412615n5ffspbsap4n816bnn";
+      sha256 = "1iixvnm0l1q24vdlnayb4vd8fns2bdlhm6zb7fpi884ppm5cp6a6";
     };
   };
 
   CGIExpand = buildPerlPackage {
-    name = "CGI-Expand-2.03";
+    name = "CGI-Expand-2.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.03.tar.gz;
-      sha256 = "0p59is2mynybii8r1cpci2i17xzwhrrs4741hndhkcp4spggr0z1";
+      url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.04.tar.gz;
+      sha256 = "0jk2vvk4mlz7phq3h3wpryix46adi7fkkzvkv0ssn5xkqy3pqlny";
     };
     propagatedBuildInputs = [ TestException ];
     meta = {
@@ -997,10 +1108,10 @@ rec {
   };
 
   CGISession = buildPerlPackage rec {
-    name = "CGI-Session-4.46";
+    name = "CGI-Session-4.48";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MARKSTOS/${name}.tar.gz";
-      sha256 = "c04b725be6a1b9bf22387cc6427eb951408ccba1c52471a43a80306f31e68e1b";
+      sha256 = "1xsl2pz1jrh127pq0b01yffnj4mnp9nvkp88h5mndrscq9hn8xa6";
     };
     buildInputs = [ DBFile ];
   };
@@ -1052,10 +1163,10 @@ rec {
   };
 
   ClassAccessorGrouped = buildPerlPackage {
-    name = "Class-Accessor-Grouped-0.10009";
+    name = "Class-Accessor-Grouped-0.10010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10009.tar.gz;
-      sha256 = "1cs6wvng9xxhmrps7qb7ccxswqkqskwj862dp4fqfra14aprlg4c";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10010.tar.gz;
+      sha256 = "1hlfjfhagsksskv01viq1z14wlr0i4xl3nvznvq1qrnqwqxs4qi1";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ ClassXSAccessor ModuleRuntime SubName ];
@@ -1074,18 +1185,18 @@ rec {
   };
 
   ClassBase = buildPerlPackage rec {
-    name = "Class-Base-0.03";
+    name = "Class-Base-0.05";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AB/ABW/${name}.tar.gz";
-      sha256 = "149875qzfyayvkb6dm8frg0kmkzyjswwrjz7gyvwi7l8b19kiyk4";
+      url = "mirror://cpan/authors/id/S/SZ/SZABGAB/${name}.tar.gz";
+      sha256 = "0vryy6b64f2wbfc2zzzvh6ravkp5i4kjdxhjbj3s08g9pwyc67y6";
     };
   };
 
   ClassC3 = buildPerlPackage {
-    name = "Class-C3-0.24";
+    name = "Class-C3-0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-0.24.tar.gz;
-      sha256 = "1nhwf7bj7z5szk7sxmq0ynqh2k9p42a7zkfyikkairfb78xckpkz";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.26.tar.gz;
+      sha256 = "008xg6gf5qp2fdjqzfpg0fzhw7f308ddkxwvzdcaa9zq59sg5x6s";
     };
     propagatedBuildInputs = [ AlgorithmC3 ];
     meta = {
@@ -1185,10 +1296,10 @@ rec {
   };
 
   ClassMethodMaker = buildPerlPackage {
-    name = "Class-MethodMaker-2.18";
+    name = "Class-MethodMaker-2.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCHWIGON/Class-MethodMaker-2.18.tar.gz;
-      sha256 = "223b7a79025e9bff984d755f9744182505e110680b13eedbac2831d45ddbeeba";
+      url = mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.21.tar.gz;
+      sha256 = "0gca1cjy2k0mrpfnbyzm5islzfayqfvg3zzlrlm7n60p0cb48y7w";
     };
     preConfigure = "patchShebangs .";
     meta = {
@@ -1198,10 +1309,10 @@ rec {
   };
 
   ClassMethodModifiers = buildPerlPackage {
-    name = "Class-Method-Modifiers-2.00";
+    name = "Class-Method-Modifiers-2.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SARTAK/Class-Method-Modifiers-2.00.tar.gz;
-      sha256 = "0lvj38ahqqyhv9dpi7ks1cq35f19nfw8ygxw22x2mcmagl8mnkhs";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.10.tar.gz;
+      sha256 = "1dp757rzv6a9k7q0bpmjxv69g4r893vb143qq7fyqlwzg0zva3s2";
     };
     buildInputs = [ TestFatal ];
     meta = {
@@ -1231,18 +1342,18 @@ rec {
   };
 
   ClassThrowable = buildPerlPackage {
-    name = "Class-Throwable-0.10";
+    name = "Class-Throwable-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STEVAN/Class-Throwable-0.10.tar.gz;
-      sha256 = "01hjrfb951c9j83ncg5drnam8vsfdgkjjv0kjshxhkl93sgnlvdl";
+      url = mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.11.tar.gz;
+      sha256 = "1vjadr0kqmfi9s3wfxjbqqgc7fqrk87n6b1a5979sbxxk5yh8hyk";
     };
   };
 
   ClassLoad = buildPerlPackage {
-    name = "Class-Load-0.20";
+    name = "Class-Load-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-0.20.tar.gz;
-      sha256 = "084cxrm0hcpyz3ly1iqkcjpl4bs03n42na37d3pzwa8xbs44ag42";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.21.tar.gz;
+      sha256 = "0z04r0jdk8l3qd96f75q3042p76hr4i747dg87s7xrpp0bjbmn8h";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ];
@@ -1269,19 +1380,19 @@ rec {
   };
 
   ClassUnload = buildPerlPackage rec {
-    name = "Class-Unload-0.07";
+    name = "Class-Unload-0.08";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Class//${name}.tar.gz";
-      sha256 = "1alvn94j0wgfyyym092g9cq0mbhzin0zf7lfja6578jk5cc788rr";
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
+      sha256 = "097gr3r2jgnm1175m4lpg4a97hv2mxrn9r0b2c6bn1x9xdhkywgh";
     };
     propagatedBuildInputs = [ ClassInspector ];
   };
 
   ClassXSAccessor = buildPerlPackage {
-    name = "Class-XSAccessor-1.16";
+    name = "Class-XSAccessor-1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.16.tar.gz;
-      sha256 = "1yjpw9kssy4m52407k45hxjnqz02494z7x8j44pjzkyi8msafvg5";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz;
+      sha256 = "1wm6013il899jnm0vn50a7iv9v6r4nqywbqzj0csyf8jbwwnpicr";
     };
     meta = {
       description = "Generate fast XS accessors without runtime compilation";
@@ -1290,10 +1401,10 @@ rec {
   };
 
   Clone = buildPerlPackage {
-    name = "Clone-0.34";
+    name = "Clone-0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GARU/Clone-0.34.tar.gz;
-      sha256 = "0qk32i2ncmn7wm2dbjpwhwa4js079bgfs4ayb90mnxjhwq5358ix";
+      url = mirror://cpan/authors/id/G/GA/GARU/Clone-0.36.tar.gz;
+      sha256 = "1i90l24l46dyadmdz82klyh3y1lhfn75wjjpfmgl1kbr4plgdph3";
     };
     meta = {
       description = "Recursively copy Perl datatypes";
@@ -1302,10 +1413,10 @@ rec {
   };
 
   CommonSense = buildPerlPackage rec {
-    name = "common-sense-3.6";
+    name = "common-sense-3.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.6.tar.gz;
-      sha256 = "0nkbp1by0mpvg1x6053fbh9dl8nnswlyfmqp8k2lppd717hw5ql6";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.72.tar.gz;
+      sha256 = "16q95qrjksyykdn3mfj9vx26kb6c3hg97scmcbd00hfbk332xyd4";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -1313,10 +1424,10 @@ rec {
   };
 
   CompressRawBzip2 = buildPerlPackage {
-    name = "Compress-Raw-Bzip2-2.060";
+    name = "Compress-Raw-Bzip2-2.064";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.060.tar.gz;
-      sha256 = "02azwhglk2w68aa47sjqhj6vwzi66mv4hwal87jccjfy17gcwvx7";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.064.tar.gz;
+      sha256 = "0aqbggr9yf4hn21a9fra111rlmva3w8f3mqvbchl5l86knkbkwy3";
     };
 
     # Don't build a private copy of bzip2.
@@ -1348,10 +1459,10 @@ rec {
   };
 
   ConfigAny = buildPerlPackage rec {
-    name = "Config-Any-0.23";
+    name = "Config-Any-0.24";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Config/${name}.tar.gz";
-      sha256 = "17k62vdq3wr7m397ginp8525nqmlcjsmlqqpvnnfm3sr5vcxhjgz";
+      sha256 = "06n6jn3q3xhk57icwip0ihzqixxav6sgp6rrb35hahj1z748y3vi";
     };
   };
 
@@ -1369,10 +1480,10 @@ rec {
   };
 
   ConfigGeneral = buildPerlPackage {
-    name = "Config-General-2.51";
+    name = "Config-General-2.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.51.tar.gz;
-      sha256 = "1khby072f10jbml0dlh82bg1s91ph8z6xa9bpk0l180q936k1xcg";
+      url = mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.52.tar.gz;
+      sha256 = "07rmabdh21ljyc9yy6gpjg4w1y0lzwz8daljf0jv2g521hpdfdwr";
     };
     meta = {
       license = "perl";
@@ -1394,10 +1505,10 @@ rec {
   };
 
   ConfigMVP = buildPerlPackage {
-    name = "Config-MVP-2.200004";
+    name = "Config-MVP-2.200007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200004.tar.gz;
-      sha256 = "dbe473f4b0fc649b82574aa71b0c5da3359058e181928d5e9197fc0ef247c3ec";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200007.tar.gz;
+      sha256 = "10hc8v22mv56wqi6drpl4pw3r8y3xrgh80ayrb2gir80ah9s5bvi";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ClassLoad Moose MooseXOneArgNew ParamsUtil RoleHasMessage RoleIdentifiable Throwable TieIxHash TryTiny ];
@@ -1423,26 +1534,26 @@ rec {
   };
 
   ConfigTiny = buildPerlPackage rec {
-    name = "Config-Tiny-2.12";
+    name = "Config-Tiny-2.20";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "1a5b7f5e8245a3e7be859df571209353be30abc7292815ee0f459b8dc87cdb5b";
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz";
+      sha256 = "0grgb7av1hwpl20xh91jipla1xi0h7vx6c538arxmvgm1f71cql2";
     };
   };
 
   ConvertASN1 = buildPerlPackage rec {
-    name = "Convert-ASN1-0.22";
+    name = "Convert-ASN1-0.26";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GB/GBARR/Convert-ASN1-0.22.tar.gz";
-      sha256 = "1vpny8smwl23rai1kxngi5i31jhp6s6cdls19gjhcwsxf76daqxy";
+      url = "mirror://cpan/authors/id/G/GB/GBARR/Convert-ASN1-0.26.tar.gz";
+      sha256 = "188wpjnp4j2m1l1zzw9ak9ymiba1g7hzysf8mc6bsdnhl0pvdf2x";
     };
   };
 
   constant = buildPerlPackage {
-    name = "constant-1.15";
+    name = "constant-1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/constant-1.15.tar.gz;
-      sha256 = "1ygz0hd1fd3q88r6dlw14kpyh06zjprksdci7qva6skxz3261636";
+      url = mirror://cpan/authors/id/S/SA/SAPER/constant-1.27.tar.gz;
+      sha256 = "0ari0jggiifz3q7vxb8nlcsc3g6bj8c0c0drsrphv0079c956i3l";
     };
   };
 
@@ -1489,10 +1600,10 @@ rec {
   };
 
   Coro = buildPerlPackage {
-    name = "Coro-6.31";
+    name = "Coro-6.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.31.tar.gz;
-      sha256 = "a73ace48d940b28e3dfb32d2f3507205d3ddfdc6610075ecc72e19476bb6de44";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.37.tar.gz;
+      sha256 = "08qkwv7rpyb7zcp128crjakflc027sjkx9d2s1gzc21grsq9a456";
     };
     propagatedBuildInputs = [ AnyEvent Guard CommonSense ];
     meta = {
@@ -1502,10 +1613,10 @@ rec {
   };
 
   CPANChanges = buildPerlPackage {
-    name = "CPAN-Changes-0.23";
+    name = "CPAN-Changes-0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRICAS/CPAN-Changes-0.23.tar.gz;
-      sha256 = "445a5c751d047c2a2e20680aa86d8bdab25e52891bac24681e9b4f24e98a347c";
+      url = mirror://cpan/authors/id/B/BR/BRICAS/CPAN-Changes-0.27.tar.gz;
+      sha256 = "14dizyvgzp81hmg0djwnvvkdhqd3bsmms462cj0ai84z221scv1q";
     };
     meta = {
       description = "Read and write Changes files";
@@ -1543,10 +1654,10 @@ rec {
   };
 
   CPANMetaRequirements = buildPerlPackage {
-    name = "CPAN-Meta-Requirements-2.122";
+    name = "CPAN-Meta-Requirements-2.125";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz;
-      sha256 = "1fq2blw9ynja34fm9ck24m3qcpyk0hp25dhxvgs01k7yz64ryffh";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz;
+      sha256 = "1d6sryjkk52n4m8h7l0jc4hr9xrq2d02l8clzm48rq1h6j6q49hq";
     };
     buildInputs = [ TestMore ];
     meta = {
@@ -1557,23 +1668,25 @@ rec {
   };
 
   CPANMetaYAML = buildPerlPackage {
-    name = "CPAN-Meta-YAML-0.008";
+    name = "CPAN-Meta-YAML-0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz;
-      sha256 = "1fxc8ybn6mdgzxyq1n69rgihmpfaarfclmbdw2rznya5zg2b0nz0";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz;
+      sha256 = "7c728c573ba74294d3df2f0cbae2cd1b3830ed47040649b49a33a086b8300d28";
     };
+    buildInputs = [ JSONPP ];
+    doCheck = false; # Test::More too old
     meta = {
-      homepage = https://github.com/dagolden/cpan-meta-yaml;
+      homepage = https://github.com/dagolden/CPAN-Meta-YAML;
       description = "Read and write a subset of YAML for CPAN Meta files";
-      license = "perl5";
+      license = "perl";
     };
   };
 
   CPANUploader = buildPerlPackage {
-    name = "CPAN-Uploader-0.103004";
+    name = "CPAN-Uploader-0.103006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103004.tar.gz;
-      sha256 = "cfaf6d4ad32a92cdefabb3abaf1f43c7c11aca5afd5561ea6f691065ac396e97";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103006.tar.gz;
+      sha256 = "1hkbi2j0a9v4577jxfzw586rvpzw0af61qbiggh3dd7j9b183w39";
     };
     propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive HTTPMessage LWP LWPProtocolhttps TermReadKey ];
     meta = {
@@ -1583,28 +1696,45 @@ rec {
     };
   };
 
+  CryptBlowfish = buildPerlPackage rec {
+    name = "Crypt-Blowfish-2.14";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DP/DPARIS/${name}.tar.gz";
+      sha256 = "1cb7g8cyfs9alrfdykxhs8m6azj091fmcycz6p5vkxbbzcgl7cs6";
+    };
+  };
+
   CryptCBC = buildPerlPackage rec {
-    name = "Crypt-CBC-2.30";
+    name = "Crypt-CBC-2.33";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz";
-      sha256 = "0cvigpxvwn18kb5i40jlp5fgijbhncvlh23xdgs1cnhxa17yrgwx";
+      sha256 = "0ig698lmpjz7fslnznxm0609lvlnvf4f3s370082nzycnqhxww3a";
     };
   };
 
   CryptDES = buildPerlPackage rec {
-    name = "Crypt-DES-2.05";
+    name = "Crypt-DES-2.07";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DP/DPARIS/${name}.tar.gz";
-      sha256 = "1w12k1b7868v3ql0yprswlz2qri6ja576k9wlda7b8zf2d0rxgmp";
+      sha256 = "1rypxlhpd1jc0c327aghgl9y6ls47drmpvn0a40b4k3vhfsypc9d";
     };
     buildInputs = [CryptCBC];
   };
 
+  CryptDH = buildPerlPackage rec {
+    name = "Crypt-DH-0.07";
+    src = fetchurl {
+      url    = "mirror://cpan/authors/id/M/MI/MITHALDU/${name}.tar.gz";
+      sha256 = "0pvzlgwpx8fzdy64ki15155vhsj30i9zxmw6i4p7irh17d1g7368";
+    };
+    buildInputs = [ MathBigInt MathBigIntGMP ];
+  };
+
   CryptDHGMP = buildPerlPackage rec {
-    name = "Crypt-DH-GMP-0.00010";
+    name = "Crypt-DH-GMP-0.00012";
     src = fetchurl {
-      url = "mirror://cpan/authors/id//D/DM/DMAKI/${name}.tar.gz";
-      sha256 = "7d947cd48a98880df4fb5b0785758bef9ae1357eba7c376ad0fca3fd262a5fe9";
+      url = "mirror://cpan/authors/id/D/DM/DMAKI/${name}.tar.gz";
+      sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi";
     };
     buildInputs = [ DevelChecklib TestRequires pkgs.gmp ];
     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include";
@@ -1621,10 +1751,10 @@ rec {
   };
 
   CryptPasswdMD5 = buildPerlPackage {
-    name = "Crypt-PasswdMD5-1.3";
+    name = "Crypt-PasswdMD5-1.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LU/LUISMUNOZ/Crypt-PasswdMD5-1.3.tar.gz;
-      sha256 = "13j0v6ihgx80q8jhyas4k48b64gnzf202qajyn097vj8v48khk54";
+      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz;
+      sha256 = "0j0r74f18nk63phddzqbf7wqma2ci4p4bxvrwrxsy0aklbp6lzdp";
     };
   };
 
@@ -1654,10 +1784,10 @@ rec {
   };
 
   CryptRandPasswd = buildPerlPackage {
-    name = "Crypt-RandPasswd-0.03";
+    name = "Crypt-RandPasswd-0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.03.tar.gz;
-      sha256 = "0sz2b4gj2mcwj0nqvxw3gs5m49jzfbi0vla51hj957dvfk00plhf";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.05.tar.gz;
+      sha256 = "0djcjzk0wmlf02gx9935m7c1dhpmdwx3hjal8x80aa92baavwf2s";
     };
   };
 
@@ -1671,18 +1801,18 @@ rec {
   };
 
   CryptRijndael = buildPerlPackage rec {
-    name = "Crypt-Rijndael-1.11";
+    name = "Crypt-Rijndael-1.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz";
-      sha256 = "8f8833bc8839e0d4aa3c26d86d2f39ceb9b13e52a9f5e4fd928da2e71989d3b4";
+      sha256 = "1rgzlxp882cc52287awwha4ipglm6nxw5jryd6cshrr99qcx55m0";
     };
   };
 
   CryptUnixCryptXS = buildPerlPackage rec {
-    name = "Crypt-UnixCrypt_XS-0.09";
+    name = "Crypt-UnixCrypt_XS-0.10";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BO/BORISZ/${name}.tar.gz";
-      sha256 = "527c32b8b6eb50d52b081ceae4be2d748e718e40ea85940da59a3adeb3a33156";
+      sha256 = "1d3xamq2mm3v2bfb1ay66crljm0bigfbhay1fqglcsrb75b7ls7r";
     };
   };
 
@@ -1694,11 +1824,21 @@ rec {
     };
   };
 
+  CryptOpenSSLBignum = buildPerlPackage rec {
+    name = "Crypt-OpenSSL-Bignum-0.04";
+    src = fetchurl {
+      url    = "mirror://cpan/authors/id/I/IR/IROBERTS/${name}.tar.gz";
+      sha256 = "18vg2bqyhc0ahfdh5dkbgph5nh92qcz5vi99jq8aam4h86if78bk";
+    };
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto";
+  };
+
   CryptOpenSSLRandom = buildPerlPackage rec {
-    name = "Crypt-OpenSSL-Random-0.04";
+    name = "Crypt-OpenSSL-Random-0.06";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/I/IR/IROBERTS/${name}.tar.gz";
-      sha256 = "acf7eb81023cd1f40d8c60b893096d041513df2be2aefe145cc7ae1a3dcc78c7";
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
+      sha256 = "10yhjh04jxdf4ghqqvrcfds7vvylxv671l57lkkbg3k8qzpdzd7g";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include";
     NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto";
@@ -1724,6 +1864,18 @@ rec {
     makeMakerFlags = "--lib=${pkgs.openssl}/lib";
   };
 
+  CwdGuard = buildPerlModule rec {
+    name = "Cwd-Guard-0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz";
+      sha256 = "071k50n1yr48122jjjg50i1s2kwp06dmrisv35f3wjry8m6cqchm";
+    };
+    meta = {
+      description = "Temporary changing working directory (chdir)";
+      license = "perl";
+    };
+  };
+
   DataClone = buildPerlPackage {
     name = "Data-Clone-0.003";
     src = fetchurl {
@@ -1740,19 +1892,19 @@ rec {
   };
 
   DataCompare = buildPerlPackage rec {
-    name = "Data-Compare-1.22";
+    name = "Data-Compare-1.2102";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz";
-      sha256 = "1bz8qasp3ndiprxq2l0llbc0xbnjq11lz0l1lfzxiap7v1y2r3yf";
+      url = "mirror://cpan/authors/id/D/DC/DCANTRELL/${name}.tar.gz";
+      sha256 = "0v1997gnq3gpcr7f64jmyay2l60s5z6gsiy5hbpn1p2l2hrfnwlj";
     };
     propagatedBuildInputs = [ FileFindRule ];
   };
 
   DataDump = buildPerlPackage {
-    name = "Data-Dump-1.21";
+    name = "Data-Dump-1.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.21.tar.gz;
-      sha256 = "1fcy6q8p406ag8g50l7znns3kxazfb458l6kw8pbsp4axnkz9ydx";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.22.tar.gz;
+      sha256 = "1ciqlwsy1q35s94dry9bjy1pwanbq6b7q4rhxm9z8prgkzbslg2k";
     };
     meta = {
       description = "Pretty printing of data structures";
@@ -1803,10 +1955,10 @@ rec {
   };
 
   DataOptList = buildPerlPackage {
-    name = "Data-OptList-0.107";
+    name = "Data-OptList-0.109";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.107.tar.gz;
-      sha256 = "0r2sbvh1kj69al5crg394v5j5wkffvqdb17fz1rjfgb6h3v93xi8";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.109.tar.gz;
+      sha256 = "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw";
     };
     propagatedBuildInputs = [ ParamsUtil SubInstall ];
     meta = {
@@ -1817,10 +1969,10 @@ rec {
   };
 
   DataPage = buildPerlPackage {
-    name = "Data-Page-2.01";
+    name = "Data-Page-2.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.01.tar.gz;
-      sha256 = "0mvhlid9qx9yd94rgr4lfz9kvflimc1dzcah0x7q5disw39aqrzr";
+      url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.02.tar.gz;
+      sha256 = "1hvi92c4h2angryc6pngw7gbm3ysc2jfmyxk2wh9ia4vdwpbs554";
     };
     propagatedBuildInputs = [TestException ClassAccessorChained];
   };
@@ -1840,10 +1992,10 @@ rec {
   };
 
   DataSerializer = buildPerlPackage {
-    name = "Data-Serializer-0.59";
+    name = "Data-Serializer-0.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.59.tar.gz;
-      sha256 = "1mydpbacrkirafcjxcg1c0gnls1kxiv0qvdd4q2yd6vsyay0ayqr";
+      url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.60.tar.gz;
+      sha256 = "0ca4s811l7f2bqkx7vnyxbpp4f0qska89g2pvsfb3k0bhhbk0jdk";
     };
     meta = {
       description = "Modules that serialize data structures";
@@ -1876,18 +2028,18 @@ rec {
   };
 
   DataUUID = buildPerlPackage rec {
-    name = "Data-UUID-1.218";
+    name = "Data-UUID-1.219";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz";
-      sha256 = "1cb4i0j48g5dk2dwzz32myl6wv4ngxqnrkdnixq80pzjcmz1qkpl";
+      sha256 = "0a6s6qwc548c1ldf459i5z55fvxsrdi4rnc57d167wdbdydd6dn7";
     };
   };
 
   DataUUIDMT = buildPerlPackage {
-    name = "Data-UUID-MT-1.000";
+    name = "Data-UUID-MT-1.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.000.tar.gz;
-      sha256 = "1bwrxv8fp4arwrmslsb7jlnafs8cww1p5f409d1l5kpyfj2vpsyp";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz;
+      sha256 = "0bb7qibq1c5lhaihxa1sck9pb744p8c7172jgx5zh4c32ac4nk1h";
     };
     buildInputs = [ ListAllUtils ];
     propagatedBuildInputs = [ MathRandomMTAuto ];
@@ -1901,10 +2053,10 @@ rec {
   };
 
   DataVisitor = buildPerlPackage rec {
-    name = "Data-Visitor-0.28";
+    name = "Data-Visitor-0.30";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz";
-      sha256 = "1998syyprmqnhpgznmk7ia3zd8saw34q7pbaprxarcz7a3bncyjc";
+      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
+      sha256 = "0m7d1505af9z2hj5aw020grcmjjlvnkjpvjam457d7k5qfy4m8lf";
     };
     buildInputs = [ TestRequires ];
     propagatedBuildInputs =
@@ -1925,18 +2077,33 @@ rec {
   };
 
   DateManip = buildPerlPackage {
-    name = "DateManip-5.54";
+    name = "Date-Manip-6.43";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.43.tar.gz;
+      sha256 = "0jwg87j31gw2fn8csm1zyfqxd0dxh8sbv940ma9idg6g7856zfrz";
+    };
+    propagatedBuildInputs = [ TestInter ];
+    meta = {
+      description = "Date manipulation routines";
+    };
+  };
+
+  DateSimple = buildPerlPackage {
+    name = "Date-Simple-3.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-5.54.tar.gz;
-      sha256 = "0ap2jgqx7yvjsyph9zsvadsih41cj991j3jwgz5261sq7q74y7xn";
+      url = mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz;
+      sha256 = "29a1926314ce1681a312d6155c29590c771ddacf91b7485873ce449ef209dd04";
+    };
+    meta = {
+      license = "unknown";
     };
   };
 
   DateTime = buildPerlModule {
-    name = "DateTime-1.03";
+    name = "DateTime-1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.03.tar.gz;
-      sha256 = "384f97c73da02492d771d6b5c3b37f6b18c2e12f4db3246b1d61ff19c6d6ad6d";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.08.tar.gz;
+      sha256 = "0ijhb1mqrfp1pbj4r3wkpp0hdj3zg355skxdn6dsiv439fp65asf";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate TryTiny ];
@@ -2092,10 +2259,10 @@ rec {
   };
 
   DateTimeSet = buildPerlPackage {
-    name = "DateTime-Set-0.31";
+    name = "DateTime-Set-0.3400";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.31.tar.gz;
-      sha256 = "499b59e42a1129bf10fd269eb7542d337a29fbbcbf08ef8313fd465d3ae5df02";
+      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3400.tar.gz;
+      sha256 = "1b27699zkj68w5ll9chjhs52vmf39f9via6x5r5844as30qh9zxb";
     };
     propagatedBuildInputs = [ DateTime SetInfinite ];
     meta = {
@@ -2105,10 +2272,10 @@ rec {
   };
 
   DateTimeTimeZone = buildPerlPackage {
-    name = "DateTime-TimeZone-1.59";
+    name = "DateTime-TimeZone-1.63";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-1.59.tar.gz;
-      sha256 = "b1d50f6abde68671da1db883168ef8d6793a11ba75de02174f42e1dfd16b2522";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-1.63.tar.gz;
+      sha256 = "02a3kyz3cyrag98b1949k19axm03fa5ri82gdc1y4lnxjvjvxkfw";
     };
     buildInputs = [ TestOutput ];
     propagatedBuildInputs = [ ClassLoad ClassSingleton ParamsValidate ];
@@ -2133,10 +2300,10 @@ rec {
   };
 
   DebugShowStuff = buildPerlPackage {
-    name = "Debug-ShowStuff-1.14";
+    name = "Debug-ShowStuff-1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.14.tar.gz;
-      sha256 = "023c6f7y93k9qxxfa2fsvc5jkbv3rh6i3nw6zvxa5cg57xfypd7h";
+      url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz;
+      sha256 = "1drcrnji3yrd0s3xb69bxnqa51s19c13w68vhvjad3nvswn5vpd4";
     };
     propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ];
     meta = {
@@ -2159,14 +2326,40 @@ rec {
   };
 
   DevelChecklib = buildPerlPackage rec {
-    name = "Devel-CheckLib-0.98";
+    name = "Devel-CheckLib-1.01";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MATTN/${name}.tar.gz";
-      sha256 = "2b6b62665403bcdce67b53eb3bee7b57b6576026640c01aa57c7126e32ce20da";
+      sha256 = "14q9mibxdgqkia73426q6xw6km5bf1hhkgg2nf7x4zhnlksahbwr";
     };
     propagatedBuildInputs = [ IOCaptureOutput ];
   };
 
+  DevelSizeMe = buildPerlPackage {
+    name = "Devel-SizeMe-0.19";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TI/TIMB/Devel-SizeMe-0.19.tar.gz;
+      sha256 = "546e31ba83c0bf7cef37b38a462860461850473479d7d4ac6c0dadfb78d54717";
+    };
+    propagatedBuildInputs = [ DBDSQLite DBI DataDumperConcise HTMLParser JSONXS Moo ];
+    meta = {
+      homepage = https://github.com/timbunce/devel-sizeme;
+      description = "Unknown";
+      license = "perl";
+    };
+  };
+
+  DevelTrace = buildPerlPackage {
+    name = "Devel-Trace-0.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz;
+      sha256 = "0s1q1a05gk3xvwqkya3k05vqjk13rvb489g0frprhzpzfvvwl0gm";
+    };
+    meta = {
+      description = "Print out each line before it is executed (like sh -x)";
+      license = "Public Domain";
+    };
+  };
+
   DBDSQLite = import ../development/perl-modules/DBD-SQLite {
     inherit stdenv fetchurl buildPerlPackage DBI;
     inherit (pkgs) sqlite;
@@ -2184,14 +2377,14 @@ rec {
 
   DBFile = import ../development/perl-modules/DB_File {
     inherit fetchurl buildPerlPackage;
-    inherit (pkgs) db4;
+    inherit (pkgs) db;
   };
 
   DBI = buildPerlPackage {
-    name = "DBI-1.625";
+    name = "DBI-1.631";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.625.tar.gz;
-      sha256 = "1rl1bnirf1hshc0z04vk41qplx2ixzciabvwy50a1sld7vs46q4w";
+      url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.631.tar.gz;
+      sha256 = "04fmrnchhwi7jx4niaiv93vmi343hdm3xj04w9zr2m9hhqh782np";
     };
     meta = {
       homepage = http://dbi.perl.org/;
@@ -2206,6 +2399,7 @@ rec {
       url = mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.08250.tar.gz;
       sha256 = "0nsqvj34klc9pf4l5kj3nqkq7agbsn11ys4115100awf7gxjbad6";
     };
+    patches = [ ../development/perl-modules/dbix-class-fix-tests.patch ];
     buildInputs = [ DBDSQLite PackageStash TestException TestWarn TestDeep ];
     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ClassMethodModifiers ConfigAny ContextPreserve DataCompare DataDumperConcise DataPage DBI DevelGlobalDestruction HashMerge ModuleFind Moo MROCompat namespaceclean PathClass ScopeGuard SQLAbstract strictures SubName TryTiny ];
     meta = {
@@ -2216,10 +2410,10 @@ rec {
   };
 
   DBIxClassCandy = buildPerlPackage {
-    name = "DBIx-Class-Candy-0.002103";
+    name = "DBIx-Class-Candy-0.002104";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.002103.tar.gz;
-      sha256 = "1vcaigvzxq9jjkhw2bkayrnsa76sakr3wrv7009f1dxyfa0iyrsk";
+      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.002104.tar.gz;
+      sha256 = "0b0fsm3waqm43qmhcynb2s6p8hi9yr41p9c4c5aq6l58x3xwvp34";
     };
     propagatedBuildInputs = [ TestDeep TestFatal DBIxClass LinguaENInflect StringCamelCase ];
     meta = {
@@ -2352,10 +2546,10 @@ rec {
   };
 
   DevelFindPerl = buildPerlPackage {
-    name = "Devel-FindPerl-0.006";
+    name = "Devel-FindPerl-0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.006.tar.gz;
-      sha256 = "60d5a0fd6880e5cfda381159acd3dbbc21c1121dc44c94ecd323ad5a148e03ff";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.012.tar.gz;
+      sha256 = "075p340m4pi761sjc3l0ymfsdwy4rrq48sqj38cyy80vg9scljh2";
     };
     buildInputs = [ CaptureTiny ];
     propagatedBuildInputs = [ ExtUtilsConfig ];
@@ -2366,10 +2560,10 @@ rec {
   };
 
   DevelGlobalDestruction = buildPerlPackage {
-    name = "Devel-GlobalDestruction-0.09";
+    name = "Devel-GlobalDestruction-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Devel-GlobalDestruction-0.09.tar.gz;
-      sha256 = "1hvrv88167rc2chqgxpd6q0ir5fki1q6r3w11v3lxfs118fdi65m";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.12.tar.gz;
+      sha256 = "0w4a4y9w4yldxlhks95nx8qaivpbzc40b1p8xg3y8467ixkbg9cq";
     };
     propagatedBuildInputs = [ SubExporterProgressive ];
     meta = {
@@ -2379,10 +2573,10 @@ rec {
   };
 
   DevelHide = buildPerlPackage rec {
-    name = "Devel-Hide-0.0008";
+    name = "Devel-Hide-0.0009";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz";
-      sha256 = "14hwwirpc9cnwn50rshb8hb778mia4ni75jv2dih8l9i033m4i26";
+      sha256 = "1phnzbw58v6551nhv6sg86m72nx9w5j4msh1hg4jvkakkq5w9pki";
     };
   };
 
@@ -2400,10 +2594,10 @@ rec {
   };
 
   DevelStackTrace = buildPerlPackage {
-    name = "Devel-StackTrace-1.30";
+    name = "Devel-StackTrace-1.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.30.tar.gz;
-      sha256 = "1m13wzg4pmbc0f1w2rn9ybqwkqg66zw9zv34ayk7gr3349v7kbzl";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.31.tar.gz;
+      sha256 = "0djvqfbq9ag1bpw0bcksidfy13n91xbl53py3d7w0y2323hjc957";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -2413,10 +2607,10 @@ rec {
   };
 
   DevelStackTraceAsHTML = buildPerlPackage {
-    name = "Devel-StackTrace-AsHTML-0.11";
+    name = "Devel-StackTrace-AsHTML-0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.11.tar.gz;
-      sha256 = "0y0r42gszp3bxbs9j2nn3xgs8ij1cnadrywwwdc6r0y8m0siyapg";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.14.tar.gz;
+      sha256 = "0yl296y0qfwybwjgqjzd4j2w2bj5a2nz342qqgxchnf5bqynl1c9";
     };
     propagatedBuildInputs = [ DevelStackTrace ];
     meta = {
@@ -2426,10 +2620,10 @@ rec {
   };
 
   DevelSymdump = buildPerlPackage rec {
-    name = "Devel-Symdump-2.08";
+    name = "Devel-Symdump-2.11";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AN/ANDK/${name}.tar.gz";
-      sha256 = "0qzj68zw1yypk8jw77h0w5sdpdcrp4xcmgfghcfyddjr2aim60x5";
+      sha256 = "0i5m2w8rsmp5lqi1y5y6b6938pidpz9hg92xahrshaddph00358i";
     };
     propagatedBuildInputs = [
       TestPod /* cyclic dependency: TestPodCoverage */
@@ -2471,10 +2665,10 @@ rec {
   };
 
   DigestMD4 = buildPerlPackage rec {
-    name = "Digest-MD4-1.5";
+    name = "Digest-MD4-1.9";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/${name}.tar.gz";
-      sha256 = "c7d7a32f5c2710c929b5688a7b057ec8ddbc51cf278f623e771fc02dcabd6a1f";
+      sha256 = "19ma1hmvgiznq95ngzvm6v4dfxc9zmi69k8iyfcg6w14lfxi0lb6";
     };
   };
 
@@ -2522,10 +2716,10 @@ rec {
   };
 
   DistZilla = buildPerlPackage {
-    name = "Dist-Zilla-4.300036";
+    name = "Dist-Zilla-4.300039";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300036.tar.gz;
-      sha256 = "d78c1425d51571d9bc61ed3b20c5aaec1eb59e756ceda3ac40ed727e6c93bf21";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300039.tar.gz;
+      sha256 = "10cighwsqp53kbk2gwlnl9m18sbs7ijr2v37vwca9qxbscy2yr21";
     };
     buildInputs = [ FileShareDirInstall SoftwareLicense TestFatal TestFileShareDir TestScript ];
     propagatedBuildInputs = [ AppCmd CPANUploader ClassLoad ConfigINI ConfigMVP ConfigMVPReaderINI DataSection DateTime FileCopyRecursive FileFindRule FileHomeDir FileShareDir FileShareDirInstall Filepushd HashMergeSimple JSON ListAllUtils ListMoreUtils LogDispatchouli Moose MooseAutobox MooseXLazyRequire MooseXRoleParameterized MooseXSetOnce MooseXTypes MooseXTypesPathClass MooseXTypesPerl PPI ParamsUtil PathClass PerlPrereqScanner PerlVersion PodEventual SoftwareLicense StringFormatter StringRewritePrefix SubExporter SubExporterForMethods TermReadKey TestDeep TextGlob TextTemplate TryTiny YAMLTiny autobox namespaceautoclean CPANMetaRequirements ];
@@ -2538,10 +2732,10 @@ rec {
   };
 
   DistZillaPluginBundleTestingMania = buildPerlPackage {
-    name = "Dist-Zilla-PluginBundle-TestingMania-0.20";
+    name = "Dist-Zilla-PluginBundle-TestingMania-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.20.tar.gz;
-      sha256 = "073e17a98b0f88a1b60ce45a325d7447a19db394fcc6f01472bacb1956106da8";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.21.tar.gz;
+      sha256 = "1cbq7v799bf93iqp19v1ln6bcf6gvmc0qw3gf4bq445wsm7w62wy";
     };
     buildInputs = [ CaptureTiny DistZilla MooseAutobox perl ];
     propagatedBuildInputs = [ DistZilla DistZillaPluginMojibakeTests DistZillaPluginNoTabsTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion JSONPP ListMoreUtils Moose PodCoverageTrustPod TestCPANMeta TestPerlCritic TestVersion namespaceautoclean ];
@@ -2594,10 +2788,10 @@ rec {
   };
 
   DistZillaPluginPodWeaver = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-PodWeaver-3.101642";
+    name = "Dist-Zilla-Plugin-PodWeaver-3.102000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.101642.tar.gz;
-      sha256 = "66066a236be7bd0a3e0ae764a4b9ac10408d40693a1c800c5fdd7e03c3542e00";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.102000.tar.gz;
+      sha256 = "0xayy50fgfc7wlsnygz28ka2ax9pmr0rn845i8d6p40amrkzzlml";
     };
     buildInputs = [ FileFindRule ];
     propagatedBuildInputs = [ DistZilla ListMoreUtils Moose PPI PodElementalPerlMunger PodWeaver namespaceautoclean ];
@@ -2699,10 +2893,10 @@ rec {
   };
 
   DistZillaPluginTestEOL = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-EOL-0.07";
+    name = "Dist-Zilla-Plugin-Test-EOL-0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.07.tar.gz;
-      sha256 = "c010ef618478e82fbc601abfc241c74fed1fdafe954d8b3ebcb7abe0e09967a8";
+      url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.10.tar.gz;
+      sha256 = "1sl7zvjzpwf7wl188a3j13k1qcb63hawx82iy6r3dx2gns8nc0nw";
     };
     buildInputs = [ DistZilla TestScript ];
     propagatedBuildInputs = [ DistZilla Moose TestEOL namespaceautoclean ];
@@ -2833,10 +3027,10 @@ rec {
   };
 
   EmailAbstract = buildPerlPackage {
-    name = "Email-Abstract-3.004";
+    name = "Email-Abstract-3.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.004.tar.gz;
-      sha256 = "0fiaagxc2hy5g3qiipv4cspkwbaggdmsxbll1f4jx2qnq5hm668d";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.007.tar.gz;
+      sha256 = "1a7aynf5jd5lr77x4k51hphnbmxf6p0s2gm1a6fbmxjqlnimm48h";
     };
     propagatedBuildInputs = [ EmailSimple MROCompat ];
     meta = {
@@ -2845,10 +3039,10 @@ rec {
   };
 
   EmailAddress = buildPerlPackage {
-    name = "Email-Address-1.897";
+    name = "Email-Address-1.901";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.897.tar.gz;
-      sha256 = "17v5jvwhkd5clyihwsldnh4k7vpmaisn064s3mkxlr9dnz7nd10r";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.901.tar.gz;
+      sha256 = "00svsmv2hk35ybpd7jxcsn7k54i0q9ph5lf8ksv9nkh1abraprkz";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -2870,10 +3064,10 @@ rec {
   };
 
   EmailMessageID = buildPerlPackage {
-    name = "Email-MessageID-1.402";
+    name = "Email-MessageID-1.404";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.402.tar.gz;
-      sha256 = "1zzbxdygh992dn9k9jlxjzcmaniy83dqlc8lkas9w9wlhngvwni1";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.404.tar.gz;
+      sha256 = "0lyq9r3x7cs7cncf0yiazbi7aq4c5d4m3wxwgqdd4r5p9gxdjj4n";
     };
     propagatedBuildInputs = [ EmailAddress ];
     meta = {
@@ -2932,6 +3126,9 @@ rec {
       sha256 = "0ffmpqys7yph5lb28m2xan0zd837vywg8c6gjjd9p80dahpqknyx";
     };
     propagatedBuildInputs = [EmailSimple EmailAddress ModulePluggable ReturnValue];
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   EmailSender = buildPerlPackage {
@@ -2949,10 +3146,10 @@ rec {
   };
 
   EmailSimple = buildPerlPackage {
-    name = "Email-Simple-2.102";
+    name = "Email-Simple-2.203";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.102.tar.gz;
-      sha256 = "19da1a06vnixhqfl41mfjrihvvxjgdgkq9bczp8k9mpr29xlbnq4";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.203.tar.gz;
+      sha256 = "0hzbp8ay62d6jwrn4q7hqmhkaigf8lc0plz0g46yhwzp3x9xfa55";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
@@ -2962,20 +3159,54 @@ rec {
   };
 
   EmailValid = buildPerlPackage {
-    name = "Email-Valid-0.179";
+    name = "Email-Valid-1.192";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-0.179.tar.gz;
-      sha256 = "13yfjll63cp1y4xqzdcr1mjhfncn48v6hckk5mvwi47w3ccj934a";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-1.192.tar.gz;
+      sha256 = "0vpqgbr5bj4bvrd7c2fh9hs1mz0m6nfybl2rdn5yb4h67bmxfkbp";
     };
     propagatedBuildInputs = [MailTools NetDNS];
     doCheck = false;
   };
 
   Encode = buildPerlPackage {
-    name = "Encode-2.44";
+    name = "Encode-2.55";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.55.tar.gz;
+      sha256 = "0bpnfan0034k644gz6yg9xfddmsqxr2p7vbavijwbxc5k2c2sarz";
+    };
+  };
+
+  EncodeEUCJPASCII = buildPerlPackage {
+    name = "Encode-EUCJPASCII-0.03";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz;
+      sha256 = "f998d34d55fd9c82cf910786a0448d1edfa60bf68e2c2306724ca67c629de861";
+    };
+    meta = {
+      description = "EucJP-ascii - An eucJP-open mapping";
+      license = "perl";
+    };
+  };
+
+  EncodeHanExtra = buildPerlPackage {
+    name = "Encode-HanExtra-0.23";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz;
+      sha256 = "1fd4b06cada70858003af153f94c863b3b95f2e3d03ba18d0451a81d51db443a";
+    };
+    meta = {
+      description = "Extra sets of Chinese encodings";
+      license = "mit";
+    };
+  };
+
+  EncodeJIS2K = buildPerlPackage {
+    name = "Encode-JIS2K-0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.44.tar.gz;
-      sha256 = "c121f9c8ae03e718d1b5d5465d66bb3138af429188735966326656f99a9499c6";
+      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.02.tar.gz;
+      sha256 = "5d718add5857f37fc270f24360bc9d100b72e0e13a11ca3149fe4e4d7c7cc4bf";
+    };
+    meta = {
     };
   };
 
@@ -3000,18 +3231,18 @@ rec {
   };
 
   Error = buildPerlPackage rec {
-    name = "Error-0.17019";
+    name = "Error-0.17022";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "0m09jwjs2x8j50bh3cg3m2mbxa7qh9i2krgq7z8h1pgl5dscyg2i";
+      sha256 = "1vzpz6syb82ir8svp2wjh95x6lpf01lgkxn2xy60ixrszc24zdya";
     };
   };
 
   EvalClosure = buildPerlPackage {
-    name = "Eval-Closure-0.08";
+    name = "Eval-Closure-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.08.tar.gz;
-      sha256 = "01x449ljj8mhr3jgfvnhzn0zz3xc81krslxiq29srqccsqjf933k";
+      url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.11.tar.gz;
+      sha256 = "1b3rc9smdyyi0janckfiyg1kwph893sqwx7dr5n4mky0x8x3v4m1";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ SubExporter TryTiny ];
@@ -3023,10 +3254,10 @@ rec {
   };
 
   ExceptionBase = buildPerlPackage {
-    name = "Exception-Base-0.25";
+    name = "Exception-Base-0.2401";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz;
-      sha256 = "1s2is862xba2yy633wn2nklrya36yrlwxlbpqjrv8m31xj2c8khw";
+      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2401.tar.gz;
+      sha256 = "0z4pckv3iwzz5s4xrv96kg9620s96kim57nfrxbqhh6pyd5jfazv";
     };
     buildInputs = [ TestUnitLite ];
     meta = {
@@ -3036,10 +3267,10 @@ rec {
   };
 
   ExceptionClass = buildPerlPackage rec {
-    name = "Exception-Class-1.30";
+    name = "Exception-Class-1.37";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "54e256fdb317c1736c2c257fa63d5b87cfb382870711b24937c36eb5171b3154";
+      sha256 = "1p6f20fi82mr5bz7d2c7nqh0322r8n2kszfw37c77g8b1b4r72w3";
     };
     propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
   };
@@ -3090,10 +3321,10 @@ rec {
   };
 
   ExporterLite = buildPerlPackage {
-    name = "Exporter-Lite-0.02";
+    name = "Exporter-Lite-0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Exporter-Lite-0.02.tar.gz;
-      sha256 = "20c1e9b7ddc017b788feb34c032fc585e2c5b46a484e93f519373fd18830ce0e";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.04.tar.gz;
+      sha256 = "01g6a2ixgdi825v0l4ny3vx4chzsfxirka741x0i057cf6y5ciir";
     };
     meta = {
       license = "perl";
@@ -3101,10 +3332,10 @@ rec {
   };
 
   ExtUtilsCBuilder = buildPerlPackage rec {
-    name = "ExtUtils-CBuilder-0.280205";
+    name = "ExtUtils-CBuilder-0.280216";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "0nfrr3zd71gnsbp5xacdb70n17slrzj421s4nyr11zg5cqsj3ngs";
+      url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils/${name}.tar.gz";
+      sha256 = "09d5sq9mgcnmjf2yp8rwd0cc1fa8kq7nbwjqxiqdykwmavmgm5ml";
     };
     buildInputs = [ PerlOSType ];
   };
@@ -3131,10 +3362,10 @@ rec {
   };
 
   ExtUtilsDepends = buildPerlPackage {
-    name = "ExtUtils-Depends-0.304";
+    name = "ExtUtils-Depends-0.306";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/ExtUtils-Depends-0.304.tar.gz;
-      sha256 = "0fjlkcz1i1j02hhwi1wjgd79qlppjkbasrj44h5ry1f238g6a1q3";
+      url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.306.tar.gz;
+      sha256 = "0s935hmxjl6md47i80abcfaghqwhnv0ikzzqln80w4ydhg5qn9a5";
     };
     meta = {
       license = "perl";
@@ -3144,10 +3375,10 @@ rec {
   };
 
   ExtUtilsHelpers = buildPerlPackage {
-    name = "ExtUtils-Helpers-0.021";
+    name = "ExtUtils-Helpers-0.022";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz;
-      sha256 = "26b85077f4197b30e62ffec87d3f78111522619d62858d2ab45a64687351892a";
+      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.022.tar.gz;
+      sha256 = "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k";
     };
     meta = {
       description = "Various portability utilities for module builders";
@@ -3156,10 +3387,10 @@ rec {
   };
 
   ExtUtilsInstallPaths = buildPerlPackage {
-    name = "ExtUtils-InstallPaths-0.009";
+    name = "ExtUtils-InstallPaths-0.010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.009.tar.gz;
-      sha256 = "1b0827a4acf40d38552c4348767000f7e2d8cf5fd0d19436bf8747d2a72d77bc";
+      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.010.tar.gz;
+      sha256 = "0mi1px42in7i442jqncg3gmxd5zn7sw5b2s85h690rz433qvyk6i";
     };
     propagatedBuildInputs = [ ExtUtilsConfig ];
     meta = {
@@ -3180,31 +3411,47 @@ rec {
     };
   };
 
-  ExtUtilsMakeMaker = buildPerlPackage rec{
-    name = "ExtUtils-MakeMaker-6.66";
+  ExtUtilsMakeMaker = buildPerlPackage {
+    name = "ExtUtils-MakeMaker-6.98";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "1w9pbjajas60a9i29j8h10nz9jf86w7jb197llnfs9fqcf4yvfha";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-6.98.tar.gz;
+      sha256 = "2eb023189e5fa6b9dcc66858b1fde953d1f1b86f971ec5ab42dd36c172da63ef";
     };
     propagatedBuildInputs =
-      [ ParseCPANMeta version JSONPP CPANMetaYAML CPANMeta
-        FileCopyRecursive VersionRequirements ExtUtilsManifest
-      ];
+      [ ParseCPANMeta JSONPP JSONPPCompat5006 CPANMetaYAML FileCopyRecursive ];
+    meta = {
+      homepage = https://metacpan.org/release/ExtUtils-MakeMaker;
+      description = "Create a module Makefile";
+      license = "perl";
+    };
   };
 
   ExtUtilsManifest = buildPerlPackage rec {
-    name = "ExtUtils-Manifest-1.61";
+    name = "ExtUtils-Manifest-1.63";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "18jj4lrip2g580b2fw5khxvdx6h3pavgihvb87snggrlgabpj20n";
+      sha256 = "0p4hj03nb5n6mk7pskpw066n1i3hr80nq7k7rc3fgl329v6syfmg";
     };
   };
 
   ExtUtilsParseXS = buildPerlPackage rec {
-    name = "ExtUtils-ParseXS-3.18";
+    name = "ExtUtils-ParseXS-3.24";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "0kvbx66vncgk2c72994z31bgh2w3rsrlnx0z7cmxqa7w3hlc4741";
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz";
+      sha256 = "07ipa2ssflw3ais8gbjdk4l8z2k1p65nfjwkxm37g6zw1210pdih";
+    };
+  };
+
+  ExtUtilsPkgConfig = buildPerlPackage rec {
+    name = "ExtUtils-PkgConfig-1.15";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
+      sha256 = "1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9";
+    };
+    propagatedBuildInputs = [ pkgs.pkgconfig ];
+    meta = {
+      description = "Simplistic interface to pkg-config";
+      license = stdenv.lib.licenses.lgpl21Plus;
     };
   };
 
@@ -3229,10 +3476,10 @@ rec {
   };
 
   ExtUtilsTypemapsDefault = buildPerlModule rec {
-    name = "ExtUtils-Typemaps-Default-1.01";
+    name = "ExtUtils-Typemaps-Default-1.05";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "0k03rr7bmhnn6j0505w9id5apss85yvqnx76hxf3javn3klj1m5z";
+      sha256 = "1phmha0ks95kvzl00r1kgnd5hvg7qb1q9jmzjmw01p5zgs1zbyix";
     };
     propagatedBuildInputs = [ ExtUtilsTypemap ExtUtilsParseXS ];
   };
@@ -3247,10 +3494,10 @@ rec {
   };
 
   FatalException = buildPerlPackage {
-    name = "Fatal-Exception-0.05";
+    name = "Fatal-Exception-0.0204";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz;
-      sha256 = "0kzfwc44vpxla3j637kfmnwmv57g6x4899ijqb4ljamk7whms298";
+      url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.0204.tar.gz;
+      sha256 = "10a9j0fa83s3apv0xgi01l2h6s43my031097hg72wa80n07rgs2c";
     };
     buildInputs = [ ExceptionWarning TestAssert TestUnitLite ];
     propagatedBuildInputs = [ ExceptionBase ExceptionDied ];
@@ -3285,10 +3532,10 @@ rec {
   };
 
   FileChangeNotify = buildPerlModule rec {
-    name = "File-ChangeNotify-0.23";
+    name = "File-ChangeNotify-0.24";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "18aq6lcldniciw189ihmcji98y6zqa1gdl3mjqdg8f37i9amn4i3";
+      sha256 = "090i265f73jlcl5rv250791vw32j9vvl4nd5abc7myg0klb8109w";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs =
@@ -3298,10 +3545,10 @@ rec {
   };
 
   Filechdir = buildPerlPackage rec {
-    name = "File-chdir-0.1006";
+    name = "File-chdir-0.1008";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "b26e91f8b5480544da599412612ff9287007be9703d41c35251f09c5ff19879a";
+      sha256 = "0n8dz80fgk3shfxncyr4aff5hnsd846c5np6d68kc0mxqj2g0flr";
     };
   };
 
@@ -3396,12 +3643,13 @@ rec {
     propagatedBuildInputs = [ HTTPDate ];
   };
 
-  FileMimeInfo = buildPerlPackage {
-    name = "File-MimeInfo-0.20";
+  FileMimeInfo = buildPerlPackage rec {
+    name = "File-MimeInfo-0.23";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/File-MimeInfo-0.20.tar.gz";
-      sha256 = "1738yi3a0xcbvffqymjb6cyh999q4pryalfwbkmdbjdks2y0bxz0";
+      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
+      sha256 = "006i9idnxv9hsz1gykc5bqs05ma5wz9dsjrpmah9293bgdy1ccxj";
     };
+    doCheck = false; # Failed test 'desktop file is the right one'
     propagatedBuildInputs = [ FileBaseDir FileDesktopEntry ];
   };
 
@@ -3449,18 +3697,18 @@ rec {
   };
 
   FileRemove = buildPerlPackage rec {
-    name = "File-Remove-1.42";
+    name = "File-Remove-1.52";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "2ec2643c4e1a721965ed70ce184b72ae831c82b577420612a59eba8a0ce2a504";
+      sha256 = "1p8bal9qhwkjbghivxn1d5m3qdj2qwm1agrjbmakm6la9dbxqm21";
     };
   };
 
   FileShare = buildPerlPackage {
-    name = "File-Share-0.02";
+    name = "File-Share-0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.02.tar.gz;
-      sha256 = "1vdgyf3m08s4pwj70bgbb31jsj8hixdl940m15phyx2hpy8dkabw";
+      url = mirror://cpan/authors/id/J/JO/JOENIO/File-Share-0.03.tar.gz;
+      sha256 = "0siy9p6b7zbln5yq6g8z1nwm76ia23kkdj1k5pywsh3n6dn2lxa2";
     };
     propagatedBuildInputs = [ FileShareDir ];
     meta = {
@@ -3486,10 +3734,10 @@ rec {
   };
 
   FileShareDirInstall = buildPerlPackage {
-    name = "File-ShareDir-Install-0.04";
+    name = "File-ShareDir-Install-0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.04.tar.gz;
-      sha256 = "14gyl1l1crnsb7ihz6czaw7k0v2dnan0380pbxz8kmk66nnhaxzc";
+      url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.08.tar.gz;
+      sha256 = "188pgn43wa6hgpcrv997lp3bad50030p4wmrcdzvfrqxj0bx2amf";
     };
     meta = {
       description = "Install shared files";
@@ -3522,6 +3770,7 @@ rec {
     meta = {
       description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -3534,6 +3783,20 @@ rec {
     propagatedBuildInputs = [ TestScript ];
   };
 
+  FinanceQuote = buildPerlPackage rec {
+    name = "Finance-Quote-1.29";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz";
+      sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f";
+    };
+    propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ];
+    meta = {
+      homepage = http://finance-quote.sourceforge.net/;
+      description = "Get stock and mutual fund quotes from various exchanges";
+      license = "gpl";
+    };
+  };
+
   FontAFM = buildPerlPackage rec {
     name = "Font-AFM-1.20";
     src = fetchurl {
@@ -3543,18 +3806,18 @@ rec {
   };
 
   FontTTF = buildPerlPackage {
-    name = "Font-TTF-0.43";
+    name = "Font-TTF-0.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.43.tar.gz;
-      sha256 = "0782mj5n5a2qbghvvr20x51llizly6q5smak98kzhgq9a7q3fg89";
+      url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.48.tar.gz;
+      sha256 = "0lhz7v8ihaj35y6kr7jb971hgc4iqh1nz3qbfkignb9i8b1dw97r";
     };
   };
 
   ForksSuper = buildPerlPackage {
-    name = "Forks-Super-0.67";
+    name = "Forks-Super-0.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.67.tar.gz;
-      sha256 = "8831cd70e1eb3d4ab7d9a8c3692caa7b7220dc888cd1a8dc5640fb2a08379141";
+      url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.72.tar.gz;
+      sha256 = "0zyqwyndb3gnbsh43b6xyl3wmlnyi18vz3yrbsvp3lccz4d0v7qp";
     };
     doCheck = false;
     meta = {
@@ -3564,19 +3827,19 @@ rec {
   };
 
   FreezeThaw = buildPerlPackage {
-    name = "FreezeThaw-0.43";
+    name = "FreezeThaw-0.5001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.43.tar.gz;
-      sha256 = "1qamc5aggp35xk590a4hy660f2rhc2l7j65hbyxdya9yvg7z437l";
+      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz;
+      sha256 = "0h8gakd6b9770n2xhld1hhqghdar3hrq2js4mgiwxy86j4r0hpiw";
     };
     doCheck = false;
   };
 
   GD = buildPerlPackage rec {
-    name = "GD-2.49";
+    name = "GD-2.53";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz";
-      sha256 = "03wwvhvni22cs7arai7d3wkb2qfa9p20grrb32hdxv41nqxqpihh";
+      sha256 = "1ampz82kf0ixybncfgpvq2bp9nq5sjsmmw4c8srsv0g5jpz02pfh";
     };
 
     buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype
@@ -3611,20 +3874,20 @@ rec {
   };
 
   GeoIP = buildPerlPackage rec {
-    name = "Geo-IP-1.39";
+    name = "Geo-IP-1.43";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BO/BORISZ/${name}.tar.gz";
-      sha256 = "1yc0rn67nk4z8aq8d82axhfmgi0l91rkksqbf27ylasrhyb6ykx5";
+      sha256 = "0p7mcn4rzvhrblx72f5a1yg88mqgv6f46mq0rvhhkmkpwckb0yjq";
     };
     makeMakerFlags = "LIBS=-L${pkgs.geoip}/lib INC=-I${pkgs.geoip}/include";
     doCheck = false; # seems to access the network
   };
 
   GetoptLong = buildPerlPackage rec {
-    name = "Getopt-Long-2.38";
+    name = "Getopt-Long-2.42";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JV/JV/${name}.tar.gz";
-      sha256 = "0lrsm8vlqhdnkzfvyaiyfivmaar0rirrnwa2v0qk6l130a497mky";
+      sha256 = "12c5pvmx0jxx0mls8qll9ixb1lbacs7p1rwvmciv0dvw3w25dmr7";
     };
   };
 
@@ -3656,10 +3919,10 @@ rec {
   };
 
   GoogleProtocolBuffers = buildPerlPackage rec {
-    name = "Google-ProtocolBuffers-0.08";
+    name = "Google-ProtocolBuffers-0.11";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GA/GARIEV/${name}.tar.gz";
-      sha256 = "0pxfphg671wh56h59pf0zrj7m1cr0yga95hf3w54563pzcw2vqv3";
+      url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/${name}.tar.gz";
+      sha256 = "0k2skcbfzn2aw1f218l47h4kgq5rj9qsam3sd6zw4qq3zyp0amb1";
     };
     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
     patches =
@@ -3671,20 +3934,20 @@ rec {
   };
 
   Graph = buildPerlPackage rec {
-    name = "Graph-0.94";
+    name = "Graph-0.96";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JH/JHI/${name}.tar.gz";
-      sha256 = "1lyfl9s4mkhahnpxk2z5v6j750jqb4sls56b9rnkl5lni9ms7xgn";
+      sha256 = "09wpiz7v0gv07zb7h8gwgjrwj16cdycs60d08cjlyj1s926zlbl3";
     };
 
     buildInputs = [ TestPod TestPodCoverage ];
   };
 
   GraphViz = buildPerlPackage rec {
-    name = "GraphViz-2.04";
+    name = "GraphViz-2.15";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/L/LB/LBROCARD/${name}.tar.gz";
-      sha256 = "1gxpajd49pb9w9ka7nq5477my8snp3myrgiarnk6hj922jpn62xd";
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz";
+      sha256 = "0ngm90vd1ymrm2c9k4dbgzpbip501gklll32l9jsj8j00x845iz2";
     };
 
     # XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz.
@@ -3729,10 +3992,10 @@ rec {
   };
 
   HashMerge = buildPerlPackage rec {
-    name = "Hash-Merge-0.12";
+    name = "Hash-Merge-0.200";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Hash/${name}.tar.gz";
-      sha256 = "07h7dyldxwqhq3x4fp9hacnc4vgipp0jk50b5cbvib975nfxx98z";
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/${name}.tar.gz";
+      sha256 = "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7";
     };
     propagatedBuildInputs = [ Clone ];
     meta = {
@@ -3755,10 +4018,10 @@ rec {
   };
 
   HashMultiValue = buildPerlPackage {
-    name = "Hash-MultiValue-0.13";
+    name = "Hash-MultiValue-0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.13.tar.gz;
-      sha256 = "0flflmk2kxq9sjmhxr1547lidgigibhck912j4ambdwg21sbxjjd";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.15.tar.gz;
+      sha256 = "1jc37kwpa1fl88va8bd1p95h0vjv1gsvmn7pc2pxj62ga6x0wpc0";
     };
     meta = {
       description = "Store multiple values per key";
@@ -3767,17 +4030,17 @@ rec {
   };
 
   HashUtilFieldHashCompat = buildPerlPackage {
-    name = "Hash-Util-FieldHash-Compat-0.03";
+    name = "Hash-Util-FieldHash-Compat-0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NU/NUFFIN/Hash-Util-FieldHash-Compat-0.03.tar.gz;
-      sha256 = "0pmai98a89j82fjksfax87brmpimjn74kr7bl874lc1k40dfhx47";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.07.tar.gz;
+      sha256 = "1fbqcjvp5slkfyf63g8scrbdpkpw3g9z9557xvfaxn09aki7g1bn";
     };
     propagatedBuildInputs = [ Testuseok ];
     meta = {
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
-  };  
+  };
 
   HeapFibonacci = buildPerlPackage {
     name = "Heap-Fibonacci-0.80";
@@ -3792,14 +4055,23 @@ rec {
   };
 
   HookLexWrap = buildPerlPackage rec {
-    name = "Hook-LexWrap-0.22";
+    name = "Hook-LexWrap-0.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.zip";
-      sha256 = "eda90ba26f8a0cef02d38f08a1786a203beec1309279493c78eed13567d0fa7e";
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.tar.gz";
+      sha256 = "0nyfirbdrgs2cknifqr1pf8xd5q9xnv91gy7jha4crp1hjqvihj4";
     };
     buildInputs = [ pkgs.unzip ];
   };
 
+  HTMLElementExtended = buildPerlPackage {
+    name = "HTML-Element-Extended-1.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz;
+      sha256 = "f3ef1af108f27fef15ebec66479f251ce08aa49bd00b0462c9c80c86b4b6b32b";
+    };
+    propagatedBuildInputs = [ HTMLTree ];
+  };
+
   HTMLFromANSI = buildPerlPackage {
     name = "HTML-FromANSI-2.03";
     src = fetchurl {
@@ -3825,11 +4097,12 @@ rec {
   };
 
   HTMLFormFu = buildPerlPackage rec {
-    name = "HTML-FormFu-0.09007";
+    name = "HTML-FormFu-0.09010";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz";
-      sha256 = "1yg9fy6s8f1jscfxf7a9hm91x43cjhk3ijw46z94sw8133h50rvy";
+      sha256 = "08hf6z35yhfd1521ip8x5hpwb7h09k643s9sqf6ddmi9yvqini1k";
     };
+    buildInputs = [ CGISimple ];
     propagatedBuildInputs =
       [ ClassAccessorChained Clone ConfigAny
         DateCalc ListMoreUtils EmailValid
@@ -3844,26 +4117,26 @@ rec {
   };
 
   HTMLFormHandler = buildPerlPackage {
-    name = "HTML-FormHandler-0.40025";
+    name = "HTML-FormHandler-0.40056";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40025.tar.gz;
-      sha256 = "0fp8qcbkr19qn1859rpn3ca3b7w1jjyprwlj82dnvfi3b5jf8507";
+      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40056.tar.gz;
+      sha256 = "012wijl69qjazghq2ywikk0jdxjbd9rfsxmwwq7lbpfjy2fiymqx";
     };
     buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle ];
-    propagatedBuildInputs = [ aliased ClassLoad DataClone DateTime DateTimeFormatStrptime EmailValid FileShareDir JSON HTMLTree Moose MooseXGetopt MooseXTypes MooseXTypesCommon MooseXTypesLoadableClass namespaceautoclean SubExporter SubName TryTiny ];
+    propagatedBuildInputs = [ ClassLoad DataClone DateTime DateTimeFormatStrptime EmailValid FileShareDir HTMLTree JSON ListAllUtils Moose MooseXGetopt MooseXTypes MooseXTypesCommon MooseXTypesLoadableClass SubExporter SubName TryTiny aliased namespaceautoclean ];
     meta = {
       description = "HTML forms using Moose";
-      license = "perl5";
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
+      license = "perl";
     };
   };
 
   HTMLParser = buildPerlPackage {
-    name = "HTML-Parser-3.69";
+    name = "HTML-Parser-3.71";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-3.69.tar.gz;
-      sha256 = "01i4lj37dgwbj9mna756dzzz5lvx7adcnjk9s0hskqq0cn81r2vl";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-3.71.tar.gz;
+      sha256 = "00nqzdgl7c3jilx7mil19k5jwcw3as14pvkjgxi97zyk94vqp4dy";
     };
     propagatedBuildInputs = [ HTMLTagset ];
     meta = {
@@ -3873,10 +4146,10 @@ rec {
   };
 
   HTMLSelectorXPath = buildPerlPackage {
-    name = "HTML-Selector-XPath-0.15";
+    name = "HTML-Selector-XPath-0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.15.tar.gz;
-      sha256 = "0wnb561yp1r3mqw2hmd16zm45lqqm2mp823s1rx2k4qw141rmkpv";
+      url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.16.tar.gz;
+      sha256 = "0v12plal866ifcv7m8x22abrddd6cf12gn55qclk53qqa6c8f8m6";
     };
     buildInputs = [ TestBase ];
     meta = {
@@ -3894,6 +4167,15 @@ rec {
     propagatedBuildInputs = [HTMLParser];
   };
 
+  HTMLTableExtract = buildPerlPackage {
+    name = "HTML-TableExtract-2.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.11.tar.gz;
+      sha256 = "1861d55a2aa1728ef56ea2d08d630b9a008456f1106994e4e49e76f56e4955ee";
+    };
+    propagatedBuildInputs = [ HTMLElementExtended HTMLParser ];
+  };
+
   HTMLTagset = buildPerlPackage rec {
     name = "HTML-Tagset-3.20";
     src = fetchurl {
@@ -3903,26 +4185,26 @@ rec {
   };
 
   HTMLTemplate = buildPerlPackage rec {
-    name = "HTML-Template-2.9";
+    name = "HTML-Template-2.95";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/${name}.tar.gz";
-      sha256 = "0is026jn1731lvfjglv4003dsr8drshvw25zlbjrywk59kx7nsb2";
+      url = "mirror://cpan/authors/id/W/WO/WONKO/${name}.tar.gz";
+      sha256 = "07ahpfgidxsw2yb7y8i7bbr8s64aq6qgq832h9jswmksxbd0l43q";
     };
   };
 
   HTMLTiny = buildPerlPackage rec {
-    name = "HTML-Tiny-1.03";
+    name = "HTML-Tiny-1.05";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz";
-      sha256 = "1nc9vr0z699jwv8jaxxpkfhspiv7glhdp500hqyzdm2jxfw8azrg";
+      sha256 = "18zxg7z51f5daidnwl9vxsrs3lz0y6n5ddqhpb748bjyk3awkkfp";
     };
   };
 
   HTMLTokeParserSimple = buildPerlPackage rec {
-    name = "HTML-TokeParser-Simple-3.15";
+    name = "HTML-TokeParser-Simple-3.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz";
-      sha256 = "0ii1ww17h7wps1lcj7bxrjbisa37f6cvlm0xxpgfq1s6iy06q05b";
+      sha256 = "17aa1v62sp8ycxcicwhankmj4brs6nnfclk9z7mf1rird1f164gd";
     };
     propagatedBuildInputs = [HTMLParser SubOverride];
     buildInputs = [TestPod];
@@ -3972,10 +4254,10 @@ rec {
   };
 
   HTTPBody = buildPerlPackage {
-    name = "HTTP-Body-1.17";
+    name = "HTTP-Body-1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.17.tar.gz;
-      sha256 = "1476zdcg1cdal3ik6ccwm3rqfgsdac6b63f92wmipvn8lkjdl70k";
+      url = mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.19.tar.gz;
+      sha256 = "0ahhksj0zg6wq6glpjkxdr3byd5riwvq2f5aw21n1jcsl71nll01";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ HTTPMessage ];
@@ -4032,10 +4314,10 @@ rec {
   };
 
   HTTPLite = buildPerlPackage rec {
-    name = "HTTP-Lite-2.4";
+    name = "HTTP-Lite-2.43";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
-      sha256 = "66f4fc0f93eeb42c09737f83b21de1944212ae9b2acb784d5103e8208491477b";
+      sha256 = "10svyy8r5ca86spz21r0k2mdy8g2slzssin4qbg101zc9kr5r65a";
     };
   };
 
@@ -4066,10 +4348,10 @@ rec {
   };
 
   HTTPParserXS = buildPerlPackage rec {
-    name = "HTTP-Parser-XS-0.14";
+    name = "HTTP-Parser-XS-0.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZUHO/${name}.tar.gz";
-      sha256 = "06srbjc380kvvj76r8n5c2y282j5zfgn0s0zmb9h3shwrynfqj05";
+      sha256 = "1sp9vllf012paslmn11b7z7fbk3hhkcp7gj59yp6qzh11xzpxlai";
     };
     buildInputs = [ TestMore ];
   };
@@ -4116,20 +4398,33 @@ rec {
   };
 
   "if" = buildPerlPackage {
-    name = "if-0.0601";
+    name = "if-0.01000001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.01000001.tar.gz;
+      sha256 = "0vb40cb20b22layp5v9xa30hmcnhxidwjkfwcrxwhrvwypy2cmgw";
+    };
+    meta = {
+    };
+  };
+
+  ImportInto = buildPerlPackage {
+    name = "Import-Into-1.002004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.0601.tar.gz;
-      sha256 = "fb2b7329aa111a673cd22dc2889167e52058aead0de2fe0855b32dd658d5c1b7";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Import-Into-1.002004.tar.gz;
+      sha256 = "110hifk3cj14lxgjq2vaa2qfja21gll4lpn8vbimy0gzqadjbjyy";
     };
+    propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
+      description = "Import packages into other packages";
+      license = "perl";
     };
   };
 
   IOAll = buildPerlPackage {
-    name = "IO-All-0.46";
+    name = "IO-All-0.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/IO-All-0.46.tar.gz;
-      sha256 = "0rqv270gi7x4sjicfwf1hiqvicwlj3s0zyi2cxqwrc8q9hs2pdya";
+      url = mirror://cpan/authors/id/F/FR/FREW/IO-All-0.60.tar.gz;
+      sha256 = "1bwsd2f5rlivcqyd7rb0ap5vrzv8s8fappi3b1v553yr5vl5pyq9";
     };
     propagatedBuildInputs = [ IOString ];
     meta = {
@@ -4142,33 +4437,34 @@ rec {
   };
 
   IOCaptureOutput = buildPerlPackage rec {
-    name = "IO-CaptureOutput-1.1102";
+    name = "IO-CaptureOutput-1.1103";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz";
-      sha256 = "2ea16dbecb21a3c2be49a93fb1e7e51275bed3f7ef3ac30cbdbff5d0178d43c7";
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
+      sha256 = "1bcl7p87ysbzab6hssq19xn3djzc0yk9l4hk0a2mqbqb8hv6p0m5";
     };
   };
 
   IOCompress = buildPerlPackage {
-    name = "IO-Compress-2.060";
+    name = "IO-Compress-2.063";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.060.tar.gz;
-      sha256 = "03zaq9xzg0z9wcgj1hws8zhzdgdlwiz48nh6sy663bn7rzxm5k28";
+      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.063.tar.gz;
+      sha256 = "1198jqsfyshc8pc74dvn04gmqa0x6nwngkbf731zgd4chrjlylhd";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "IO Interface to compressed data files/buffers";
       license = "perl5";
+      platforms = stdenv.lib.platforms.linux;
     };
     doCheck = !stdenv.isDarwin;
   };
 
   IODigest = buildPerlPackage {
-    name = "IO-Digest-0.10";
+    name = "IO-Digest-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.10.tar.gz;
-      sha256 = "1g6ilxqv2a7spf273v7k0721c6am7pwpjrin3h5zaqxfmd312nav";
+      url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz;
+      sha256 = "14kz7z4xw179aya3116wxac29l4y2wmwrba087lya4v2gxdgiz4g";
     };
     propagatedBuildInputs = [PerlIOviadynamic];
   };
@@ -4215,26 +4511,28 @@ rec {
   };
 
   IOSocketInet6 = buildPerlPackage rec {
-    name = "IO-Socket-INET6-2.69";
+    name = "IO-Socket-INET6-2.72";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "accd565643969d905e199e28e60e833213ccc2026c372432df01e49b044c3045";
+      sha256 = "1fqypz6qa5rw2d5y2zq7f49frwra0aln13nhq5gi514j2zx21q45";
     };
     propagatedBuildInputs = [Socket6];
     doCheck = false;
   };
 
-  IOSocketSSL = buildPerlPackage rec {
-    name = "IO-Socket-SSL-1.81";
+  IOSocketSSL = buildPerlPackage {
+    name = "IO-Socket-SSL-1.981";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz";
-      sha256 = "1vg7jpn7vz3a2j3fxjjkaxiiqg7azqmy7afrpghiqkjcr8b6zs9y";
+      url = mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-1.981.tar.gz;
+      sha256 = "d78f3aac72888a350962c2da87b2b459513a175d7ac641cb1482bacbb81e76eb";
     };
     propagatedBuildInputs = [ URI NetSSLeay ];
     meta = {
+      homepage = https://github.com/noxxi/p5-io-socket-ssl;
       description = "Nearly transparent SSL encapsulation for IO::Socket::INET";
       license = "perl";
     };
+    doCheck = false; # tries to connect to facebook.com etc.
   };
 
   IOString = buildPerlPackage rec {
@@ -4256,10 +4554,10 @@ rec {
   };
 
   IOTieCombine = buildPerlPackage {
-    name = "IO-TieCombine-1.002";
+    name = "IO-TieCombine-1.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.002.tar.gz;
-      sha256 = "fd4f59e82852fd8b868dd1642cb6ec9caf32a597803fdce2cbe8d580c3b41d44";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.004.tar.gz;
+      sha256 = "0awyyjdbjjawdkzs08rfjhfkkm7pni523x3ddmq9ixa82ibnn430";
     };
     meta = {
       homepage = https://github.com/rjbs/io-tiecombine;
@@ -4289,14 +4587,15 @@ rec {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)";
       license = "perl5";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
   IPCRun3 = buildPerlPackage rec {
-    name = "IPC-Run3-0.043";
+    name = "IPC-Run3-0.048";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "96b534e07e1459529ac12a77393628366f30d122b0dfaaa3ed5ec032079097ad";
+      sha256 = "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x";
     };
   };
 
@@ -4309,11 +4608,11 @@ rec {
   };
 
   ImageExifTool = buildPerlPackage rec {
-    name = "Image-ExifTool-8.41";
+    name = "Image-ExifTool-9.27";
 
     src = fetchurl {
       url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz";
-      sha256 = "1fdjic0bhbai8zzl3287i9wcs88khiv8qx5slx9n3gzvbnxacvqg";
+      sha256 = "1f37pi7a6fcphp0kkhj7yr9b5c95m2wvy5jcwjq1xdiq74gdi16c";
     };
 
     meta = {
@@ -4332,7 +4631,7 @@ rec {
         Sigma/Foveon and Sony.
       '';
 
-      licenses = [ "GPLv1+" /* or */ "Artistic" ];
+      license = [ "GPLv1+" /* or */ "Artistic" ];
 
       maintainers = [ ];
       platforms = stdenv.lib.platforms.unix;
@@ -4340,13 +4639,14 @@ rec {
   };
 
   Inline = buildPerlPackage rec {
-    name = "Inline-0.45";
+    name = "Inline-0.64";
 
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SI/SISYPHUS/${name}.tar.gz";
-      sha256 = "1k5nrb3nh2y33bs944ri78m1ni60v4cl67ffhxx88azj542y5c9x";
+      url = "mirror://cpan/authors/id/E/ET/ETJ/${name}.tar.gz";
+      sha256 = "17n3gbc9jigpfwqfhgmxpvbgr9rkdrij8jayxqpzw611ixcxrplw";
     };
 
+    buildInputs = [ TestWarn ];
     propagatedBuildInputs = [ ParseRecDescent ];
 
     meta = {
@@ -4365,6 +4665,28 @@ rec {
     };
   };
 
+  InlineC = buildPerlPackage rec {
+    name = "Inline-C-0.62";
+
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/ET/ETJ/${name}.tar.gz";
+      sha256 = "0clggdpj5mmi35vm2991f9jsgv2a3s8r4f1bd88xxk8akv5b8i3r";
+    };
+
+    postPatch = ''
+      # this test will fail with chroot builds
+      rm -f t/08taint.t
+    '';
+
+    buildInputs = [ TestWarn FileCopyRecursive ];
+    propagatedBuildInputs = [ Inline ];
+
+    meta = {
+      description = "Write Perl Subroutines in C";
+      license = "perl";
+    };
+  };
+
   InlineJava = buildPerlPackage rec {
     name = "Inline-Java-0.52";
 
@@ -4406,11 +4728,12 @@ rec {
   };
 
   JSON = buildPerlPackage {
-    name = "JSON-2.53";
+    name = "JSON-2.90";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.53.tar.gz;
-      sha256 = "0rfms17d0pkai26kqyzaylbr5wxcrrhyjkyshq85l41xb0g1iplh";
+      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz;
+      sha256 = "127yppvr17qik9pkd1vy901hs4l13kg6rhp76jdgcyask35v7nsd";
     };
+    buildInputs = [ TestPod ];
     meta = {
       description = "JSON (JavaScript Object Notation) encoder/decoder";
       license = "perl";
@@ -4431,10 +4754,10 @@ rec {
   };
 
   JSONPP = buildPerlPackage rec {
-    name = "JSON-PP-2.27200";
+    name = "JSON-PP-2.27203";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27200.tar.gz;
-      sha256 = "1lv9riws9f72gya2fsp5jvbd1fbzyi8423x38a491ryy9cai2ph3";
+      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27203.tar.gz;
+      sha256 = "0ljwya1fb4969pckcq2j1g6axgx8qh9yscxbs6qf62qxf8wkj1mp";
     };
     meta = {
       description = "JSON::XS compatible pure-Perl module";
@@ -4442,15 +4765,28 @@ rec {
     };
   };
 
+  JSONPPCompat5006 = buildPerlPackage {
+    name = "JSON-PP-Compat5006-1.09";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz;
+      sha256 = "197030df52635f9bbe25af10742eea5bd74971473118c11311fcabcb62e3716a";
+    };
+    meta = {
+      description = "Helper module in using JSON::PP in Perl 5.6";
+      license = "perl";
+    };
+  };
+
   JSONXS = buildPerlPackage {
-    name = "JSON-XS-2.33";
+    name = "JSON-XS-2.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.33.tar.gz;
-      sha256 = "0p68f85xz6xx2c9ydz4bij5x4d1747rxs3jdq53ab915mnc1qfdl";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.34.tar.gz;
+      sha256 = "1sh0i73skxp3rvd9w8phxqncw9m1r5ibnb9qxxm21bmrfwkxybx6";
     };
     propagatedBuildInputs = [ CommonSense ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -4509,10 +4845,10 @@ rec {
   };
 
   LinguaENTagger = buildPerlPackage {
-    name = "Lingua-EN-Tagger-0.23";
+    name = "Lingua-EN-Tagger-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.23.tar.gz;
-      sha256 = "0xq6567gijczxzq72ghfa9jr8zyc1p0ax9s12mv7slibpkfkm2d2";
+      url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.24.tar.gz;
+      sha256 = "0qksqh1zi8fz76a29s2ll4g6yr8y6agmzgq7ngccvgj3gza5q241";
     };
     propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ];
     meta = {
@@ -4553,6 +4889,14 @@ rec {
       platforms   = stdenv.lib.platforms.unix;
     };
   };
+  
+  ListBinarySearch = pkgs.buildPerlPackage {
+    name = "List-BinarySearch-0.20";
+    src = pkgs.fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.20.tar.gz;
+      sha256 = "1piyl65m38bwqaap13wkgs033wiwb6m5zmr5va86ya4696cir7wd";
+    };
+  };
 
   ListMoreUtils = buildPerlPackage {
     name = "List-MoreUtils-0.33";
@@ -4587,10 +4931,10 @@ rec {
   };
 
   LocaleMaketext = buildPerlPackage {
-    name = "Locale-Maketext-1.13";
+    name = "Locale-Maketext-1.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Locale-Maketext-1.13.tar.gz;
-      sha256 = "0qvrhcs1f28ix3v8hcd5xr4z9s7plz4g5a4q1cjp7bs0c3w2yl6z";
+      url = mirror://cpan/authors/id/T/TO/TODDR/Locale-Maketext-1.23.tar.gz;
+      sha256 = "1r1sq7djafvk5abzc4l068p39dz44hlpgdldj3igvn2bjz78cli1";
     };
     propagatedBuildInputs = [I18NLangTags];
   };
@@ -4605,10 +4949,10 @@ rec {
   };
 
   LocaleMaketextSimple = buildPerlPackage {
-    name = "Locale-Maketext-Simple-0.18";
+    name = "Locale-Maketext-Simple-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Simple-0.18.tar.gz;
-      sha256 = "14kx7vkxyfqndy90rzavrjp2346aidyc7x5dzzdj293qf8s4q6ig";
+      url = mirror://cpan/authors/id/J/JE/JESSE/Locale-Maketext-Simple-0.21.tar.gz;
+      sha256 = "1ad9vh45j8c32nzkbjipinawyg1pnjckwlhsjqcqs47vyi8zy2dh";
     };
   };
 
@@ -4628,18 +4972,18 @@ rec {
   };
 
   LockFileSimple = buildPerlPackage rec {
-    name = "LockFile-Simple-0.207";
+    name = "LockFile-Simple-0.208";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JV/JV/LockFile-Simple-0.207.tar.gz";
-      sha256 = "171vi9y6jlkny0d4jaavz48d1vbxljknnmbq8h22fi8lnc5kvipa";
+      url = "mirror://cpan/authors/id/S/SC/SCHWIGON/lockfile-simple/LockFile-Simple-0.208.tar.gz";
+      sha256 = "18pk5a030dsg1h6wd8c47wl8pzrpyh9zi9h2c9gs9855nab7iis5";
     };
   };
 
   LogContextual = buildPerlPackage {
-    name = "Log-Contextual-0.005003";
+    name = "Log-Contextual-0.006003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.005003.tar.gz;
-      sha256 = "8519ae92bd8685d003460f99151996e94f38c3c8f12b90634857558605d13719";
+      url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.006003.tar.gz;
+      sha256 = "0940s910n67arqvz7aji4z6vgzzl52aq3l3jg8vq4ygnkn7c9k21";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
@@ -4652,10 +4996,10 @@ rec {
   };
 
   LogDispatch = buildPerlPackage {
-    name = "Log-Dispatch-2.39";
+    name = "Log-Dispatch-2.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.39.tar.gz;
-      sha256 = "1bi2nza0nc66i0ls2zkxi6bbwkh456pl0q8h57mq6skbhbmcwbb8";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.41.tar.gz;
+      sha256 = "0vsmlkx2g9lc13pl9v96kn575yszfvd79a236b8v0s1di83gm09z";
     };
     propagatedBuildInputs = [ ClassLoad ParamsValidate ];
     meta = {
@@ -4675,18 +5019,18 @@ rec {
   };
 
   Log4Perl = buildPerlPackage rec {
-    name = "Log-Log4perl-1.41";
+    name = "Log-Log4perl-1.43";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Log/${name}.tar.gz";
-      sha256 = "0dajkgvlwsb4zdw6x3fil2n5phypq829dmqf8l9s88g9smms2a2i";
+      url = "mirror://cpan/authors/id/M/MS/MSCHILLI/${name}.tar.gz";
+      sha256 = "19rmm1nlcradfj74rrvkjwmfighmjj9fiisml2j23i248vyz4cay";
     };
   };
 
   LogDispatchArray = buildPerlPackage {
-    name = "Log-Dispatch-Array-1.002";
+    name = "Log-Dispatch-Array-1.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.002.tar.gz;
-      sha256 = "268ec720eec3651d3dadcad7d16f033b47f883c72d6f2547c4ccbe7fb22a4940";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.003.tar.gz;
+      sha256 = "0dvzp0gsh17jqg02460ndchyapr1haahndq1p9v6mwkv5wf9680c";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ LogDispatch ];
@@ -4698,10 +5042,10 @@ rec {
   };
 
   LogDispatchouli = buildPerlPackage {
-    name = "Log-Dispatchouli-2.006";
+    name = "Log-Dispatchouli-2.009";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.006.tar.gz;
-      sha256 = "bd33b4fcf88ccfb694593ea6d7b330f053e6afee40f27acdf690c24547365354";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.009.tar.gz;
+      sha256 = "09iw27r36gmljlm6gjfczn2sf4s1js697q8na8xw4wlnz7x4bv59";
     };
     buildInputs = [ TestDeep TestFatal ];
     propagatedBuildInputs = [ LogDispatch LogDispatchArray ParamsUtil StringFlogger SubExporter SubExporterGlobExporter TryTiny ];
@@ -4723,6 +5067,7 @@ rec {
     meta = {
       description = "The World-Wide Web library for Perl";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
@@ -4752,14 +5097,15 @@ rec {
     meta = {
       description = "Provide https support for LWP::UserAgent";
       license = "perl5";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
   LWPUserAgent = buildPerlPackage {
-    name = "LWP-UserAgent-6.04";
+    name = "LWP-UserAgent-6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz;
-      sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr";
+      url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz;
+      sha256 = "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv";
     };
     propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ];
     meta = {
@@ -4792,13 +5138,17 @@ rec {
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    # Tests require network connectivity
+    # https://rt.cpan.org/Public/Bug/Display.html?id=63966 is the bug upstream,
+    # which doesn't look like it will get fixed anytime soon.
+    doCheck = false;
   };
 
   LWPxParanoidAgent = buildPerlPackage rec {
-    name = "LWPx-ParanoidAgent-1.07";
+    name = "LWPx-ParanoidAgent-1.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BR/BRADFITZ/${name}.tar.gz";
-      sha256 = "bd7ccbe6ed6b64195a967e9b2b04c185b7b97e8ec5a8835bb45dbcd42a18e76a";
+      url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/${name}.tar.gz";
+      sha256 = "0i306p7mdqx09qfsf6b3rnn5xw9v9r3md4swlbk9z0mskjl0l4w4";
     };
     doCheck = false; # 3 tests fail, probably because they try to connect to the network
     propagatedBuildInputs = [ LWP NetDNS ];
@@ -4809,29 +5159,29 @@ rec {
   };
 
   MailDKIM = buildPerlPackage rec {
-    name = "Mail-DKIM-0.39";
+    name = "Mail-DKIM-0.40";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JA/JASLONG/${name}.tar.gz";
-      sha256 = "b1425a540f514c483e80566fb3decc2c1db4162306f6ae8794cef72a2d73557b";
+      sha256 = "1wd6mab4fp47v1nh85jfxsjmysnyv5mwvfv47cn5m2h2lb1s0piw";
     };
     propagatedBuildInputs = [ CryptOpenSSLRSA NetDNS MailTools ];
     doCheck = false; # tries to access the domain name system
   };
 
   MailIMAPClient = buildPerlPackage {
-    name = "Mail-IMAPClient-2.2.9";
+    name = "Mail-IMAPClient-3.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DJ/DJKERNEN/Mail-IMAPClient-2.2.9.tar.gz;
-      sha256 = "1jb04mn66d6022xjqmax49cdn55f2fdzp6knfnchmrcmf90a8rzs";
+      url = mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.35.tar.gz;
+      sha256 = "0qzn8370cr91jnq1kawy6v16bcz49pch6inmw85rhzg87j1h6ica";
     };
     buildInputs = [ParseRecDescent];
   };
 
   MailTools = buildPerlPackage {
-    name = "MailTools-2.04";
+    name = "MailTools-2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.04.tar.gz;
-      sha256 = "0w91rcrz4v0pjdnnv2mvlbrm9ww32f7ajhr7xkjdhhr3455p7adx";
+      url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.13.tar.gz;
+      sha256 = "1djjl05ndn8dmwri4vw5wfky5sqy7sf63qaijvhf9g5yh53405kj";
     };
     propagatedBuildInputs = [TimeDate TestPod];
   };
@@ -4844,6 +5194,27 @@ rec {
     };
   };
 
+  MathBigInt = buildPerlPackage rec {
+    name ="Math-BigInt-1.9993";
+    src = fetchurl {
+      url    = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
+      sha256 = "0zmzd4d2sjnhg5cdnqvqj78w5dkickszlxv1csdxsgdvmz8w0dyr";
+    };
+  };
+
+  MathBigIntGMP = buildPerlPackage rec {
+    name = "Math-BigInt-GMP-1.38";
+    src = fetchurl {
+      url    = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
+      sha256 = "05bg10gg3ksn4h08yyyj7f31rqhdqap8d0jsbq61b3x0274wml0s";
+    };
+    buildInputs = [ pkgs.gmp ];
+    doCheck = false;
+    NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp";
+  };
+
+
   MathClipper = buildPerlModule rec {
     name = "Math-Clipper-1.22";
     src = fetchurl {
@@ -4871,10 +5242,10 @@ rec {
   };
 
   MathPlanePath = buildPerlPackage rec {
-    name = "Math-PlanePath-101";
+    name = "Math-PlanePath-114";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
-      sha256 = "0g24zhgyxs56zv966xb487vvmhqqxvvsbbz4mck8n4l31rabk8jj";
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/${name}.tar.gz";
+      sha256 = "11808k6aqf7gfkv0k0r8586zk8dm0jg5idkdb839gzlr97ns2y61";
     };
     propagatedBuildInputs = [ MathLibm constant-defer ];
   };
@@ -4964,11 +5335,40 @@ rec {
     };
   };
 
+  MHonArc = buildPerlPackage rec {
+    name = "MHonArc-2.6.18";
+
+    src = fetchurl {
+      url    = "http://dcssrv1.oit.uci.edu/indiv/ehood/release/MHonArc/tar/${name}.tar.gz";
+      sha256 = "1xmf26dfwr8achprc3n1pxgl0mkiyr6pf25wq3dqgzqkghrrsxa2";
+    };
+    propagatedBuildInputs = [ ];
+    meta = with stdenv.lib; {
+      homepage    = http://dcssrv1.oit.uci.edu/indiv/ehood/mhonarch.html;
+      description = "A mail-to-HTML converter";
+      maintainers = with maintainers; [ lovek323 ];
+      license     = licenses.gpl2;
+      platforms   = platforms.unix;
+    };
+  };
+
   MIMEBase64 = buildPerlPackage rec {
-    name = "MIME-Base64-3.09";
+    name = "MIME-Base64-3.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
-      sha256 = "1gi2zyxwkkmyng8jawfnbxpsybvybz6h6ryq0wfdljmmjpjbmzzc";
+      sha256 = "1qbcipxij7pv25qhnfdc2lnkqi2cf60frlhlh86gjxslc8kr8nhj";
+    };
+  };
+
+  MIMECharset = buildPerlPackage {
+    name = "MIME-Charset-1.011.1";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.011.1.tar.gz;
+      sha256 = "2955a3b617fe12654efc2a13ae1dc7d32aad81d35cfae21f74337213cf2435d5";
+    };
+    meta = {
+      description = "Charset Information for MIME";
+      license = "perl";
     };
   };
 
@@ -4982,10 +5382,10 @@ rec {
   };
 
   MIMETypes = buildPerlPackage {
-    name = "MIME-Types-1.38";
+    name = "MIME-Types-2.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-1.38.tar.gz;
-      sha256 = "12m8cvj80qbwxckj5jildl5zw6p1jincj3m1s77z6lnw3h59rj4l";
+      url = mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-2.04.tar.gz;
+      sha256 = "13yci99n8kl8p4ac5n5f1j968p7va2phlvfc5qgpnn1d6yfhddi2";
     };
     meta = {
       description = "Definition of MIME types";
@@ -5007,6 +5407,20 @@ rec {
     };
   };
 
+  ModernPerl = buildPerlPackage {
+    name = "Modern-Perl-1.20140107";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20140107.tar.gz;
+      sha256 = "9cf66b2f93340dfe1cd7162262a47e7c4ba82475a52dc2a036c2fdc8a65298b8";
+    };
+    propagatedBuildInputs = [ perl ];
+    meta = {
+      homepage = https://github.com/chromatic/Modern-Perl;
+      description = "Enable all of the features of Modern Perl with one import";
+      license = "perl";
+    };
+  };
+
   ModuleBuild = buildPerlPackage {
     name = "Module-Build-0.4005";
     src = fetchurl {
@@ -5035,19 +5449,32 @@ rec {
   };
 
   ModuleBuildWithXSpp = buildPerlModule rec {
-    name = "Module-Build-WithXSpp-0.13";
+    name = "Module-Build-WithXSpp-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz";
-      sha256 = "05c5dssgl7ykj64nkzy4nwfrs0hd1lvfidhflrs3f1c7hc0z9g46";
+      sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk";
     };
     propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ];
   };
 
+  ModuleBuildXSUtil = buildPerlModule rec {
+    name = "Module-Build-XSUtil-0.10";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/${name}.tar.gz";
+      sha256 = "1323vxp8vf5xdz66lbc1wfciaks93mrbqfsjgb9nz1w9bb21xj36";
+    };
+    buildInputs = [ FileCopyRecursive CwdGuard CaptureTiny ];
+    meta = {
+      description = "A Module::Build class for building XS modules";
+      license = "perl";
+    };
+  };
+
   ModuleCoreList = buildPerlPackage {
-    name = "Module-CoreList-2.97";
+    name = "Module-CoreList-3.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-CoreList-2.97.tar.gz;
-      sha256 = "fa39c487d43088e7010467621f57d8e3f57b72d2bbf711fc509e87a501f35e09";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-CoreList-3.01.tar.gz;
+      sha256 = "10vf18x9qk4hdpwazxq8c0qykals36dxj0bjazqqcbp5xfb4fnyg";
     };
     meta = {
       homepage = http://dev.perl.org/;
@@ -5057,10 +5484,10 @@ rec {
   };
 
   ModuleFind = buildPerlPackage {
-    name = "Module-Find-0.11";
+    name = "Module-Find-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.11.tar.gz;
-      sha256 = "15ykcwplbqh5hc0fw4cx6g0f22zr0hrfkdkv1s34n9yg574dq3b5";
+      url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.12.tar.gz;
+      sha256 = "1lc33jdv4pgmm7nkr9bff0lhwjhhw91kaf6iiy2n7i7mw8dfv47l";
     };
     meta = {
       description = "Find and use installed modules in a (sub)category";
@@ -5069,10 +5496,10 @@ rec {
   };
 
   ModuleImplementation = buildPerlPackage {
-    name = "Module-Implementation-0.06";
+    name = "Module-Implementation-0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.06.tar.gz;
-      sha256 = "0v8qajzkpkwb9mfj2p46j352bwiszkg1zk778b008axqb817hfys";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.07.tar.gz;
+      sha256 = "15r93l8danysfhb7wn2zww1s02hajki4k3xjfxbpz7ckadqq6jbk";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ModuleRuntime TryTiny ];
@@ -5083,6 +5510,19 @@ rec {
     };
   };
 
+  ModuleInfo = buildPerlPackage rec {
+    name = "Module-Info-0.35";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MB/MBARBON/Module-Info-0.35.tar.gz";
+      sha256 = "0r7vxg1iy3lam0jgb2sk8ghgpmp3x5fskvzqlgkb09bssq83s1xb";
+    };
+    buildInputs = [ TestPod TestPodCoverage ];
+    meta = {
+      description = "Information about Perl modules";
+      license = "perl";
+    };
+  };
+
   ModuleInstall = buildPerlPackage {
     name = "Module-Install-1.06";
     src = fetchurl {
@@ -5142,19 +5582,19 @@ rec {
   };
 
   ModuleMetadata = buildPerlPackage rec {
-    name = "Module-Metadata-1.000005";
+    name = "Module-Metadata-1.000019";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz";
-      sha256 = "04xxs3542mqdadcs2bdlpyldmbbxdn9x0gwjnyy5p1d5c3ajnq9k";
+      sha256 = "0m755qn44nasbaj578628jgdqg0k4ldyn6fm3880hdi1q16skz2s";
     };
     propagatedBuildInputs = [ version ];
   };
 
   ModulePath = buildPerlPackage {
-    name = "Module-Path-0.09";
+    name = "Module-Path-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.09.tar.gz;
-      sha256 = "5330a76ff56800778d825548b4d631510a1a6b4f04725dddca95e68c4ed3ac18";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.13.tar.gz;
+      sha256 = "1kzsi0z142gcspyyp81za29bq0y74l57a8i2q7gz4zcchf2xm23g";
     };
     buildInputs = [ DevelFindPerl ];
     meta = {
@@ -5164,10 +5604,10 @@ rec {
   };
 
   ModulePluggable = buildPerlPackage {
-    name = "Module-Pluggable-4.8";
+    name = "Module-Pluggable-5.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-4.8.tar.gz;
-      sha256 = "0gc2sanga3207l3dnmb05isc7m87l1j94v9ll3z4sbb3vs49gdd2";
+      url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.1.tar.gz;
+      sha256 = "0vwi433pk7n1ia5wy67j3545jvmjf1hb4jwcvzrz25mv8d03bp72";
     };
     patches = [
       # !!! merge this patch into Perl itself (which contains Module::Pluggable as well)
@@ -5180,19 +5620,19 @@ rec {
   };
 
   ModulePluggableFast = buildPerlPackage {
-    name = "Module-Pluggable-Fast-0.18";
+    name = "Module-Pluggable-Fast-0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Module-Pluggable-Fast-0.18.tar.gz;
-      sha256 = "140c311x2darrc2p1drbkafv7qwhzdcff4ad300n6whsx4dfp6wr";
+      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz;
+      sha256 = "0pq758wlasmh77xyd2xh75m5b2x14s8pnsv63g5356gib1q5gj08";
     };
     propagatedBuildInputs = [UNIVERSALrequire];
   };
 
   ModuleRuntime = buildPerlPackage {
-    name = "Module-Runtime-0.013";
+    name = "Module-Runtime-0.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz;
-      sha256 = "08qhqg1qshrispcpzf24jbbpx2gh5ks84amnv9wmd46wj0yy0dzc";
+      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.014.tar.gz;
+      sha256 = "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -5239,13 +5679,26 @@ rec {
     };
   };
 
+  Mojolicious = buildPerlPackage {
+    name = "Mojolicious-4.63";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-4.63.tar.gz;
+      sha256 = "f20f77e86fc560dac1c958e765ed64242dcf6343939ed605b45f2bbe2596d5e9";
+    };
+    meta = {
+      homepage = http://mojolicio.us;
+      description = "Real-time web framework";
+      license = "artistic_2";
+    };
+  };
+
   Moo = buildPerlPackage {
-    name = "Moo-1.000007";
+    name = "Moo-1.006000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Moo-1.000007.tar.gz;
-      sha256 = "02q5j5vsfv8ykzmkqk8zac88svard4g6rl455slgz8y2w3xn41ql";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-1.006000.tar.gz;
+      sha256 = "0gjh6dyz825cwjibq2wlpx14drjqx4pxxh931p4x3jd2617hax17";
     };
-    buildInputs = [ TestFatal ];
+    buildInputs = [ TestFatal ImportInto ];
     propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny strictures ];
     meta = {
       description = "Minimalist Object Orientation (with Moose compatiblity)";
@@ -5269,10 +5722,10 @@ rec {
   };
 
   MooseAutobox = buildPerlPackage {
-    name = "Moose-Autobox-0.13";
+    name = "Moose-Autobox-0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.13.tar.gz;
-      sha256 = "3474b3e6dfe099fcca34089375ace6612cca35d4d8f9a0b8b4e48fbf88541b21";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.15.tar.gz;
+      sha256 = "0xcayrfm08dqas1mq8lnf8nxkvzdgcmv6xs5lqah17bxqxgznrl9";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ Moose SyntaxKeywordJunction autobox ];
@@ -5300,10 +5753,10 @@ rec {
   };
 
   MooseXAliases = buildPerlPackage rec {
-    name = "MooseX-Aliases-0.10";
+    name = "MooseX-Aliases-0.11";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "1n3z06x6d7sl2can7gn1q4qpclg6sjl6i8fd9y3yipmaxbk97clz";
+      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
+      sha256 = "0j07zqczjfmng3md6nkha7560i786d0cp3gdmrx49hr64jbhz1f4";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ Moose ];
@@ -5365,10 +5818,10 @@ rec {
   };
 
   MooseXConfigFromFile = buildPerlPackage {
-    name = "MooseX-ConfigFromFile-0.11";
+    name = "MooseX-ConfigFromFile-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.11.tar.gz;
-      sha256 = "963e7dbb2bc7ca18995db903c64b0841c4e8d3877009bff5475125673c3b02b4";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.13.tar.gz;
+      sha256 = "0pf5f05hs2i765cnw9sw1hdxf7vz480iyyngjawr4yqjkv4r5nz7";
     };
     buildInputs = [ Moose TestCheckDeps TestDeep TestFatal TestNoWarnings TestRequires TestWithoutModule ];
     propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny TryTiny namespaceautoclean ];
@@ -5501,10 +5954,10 @@ rec {
   };
 
   MooseXNonMoose = buildPerlPackage {
-    name = "MooseX-NonMoose-0.22";
+    name = "MooseX-NonMoose-0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.22.tar.gz;
-      sha256 = "0mhyabg5f6kngkm1w7hfglkdzjdn5pbgm7vgia0aqy9mwwclbpdp";
+      url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz;
+      sha256 = "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ListMoreUtils Moose ];
@@ -5515,10 +5968,10 @@ rec {
   };
 
   MooseXOneArgNew = buildPerlPackage {
-    name = "MooseX-OneArgNew-0.003";
+    name = "MooseX-OneArgNew-0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.003.tar.gz;
-      sha256 = "bd1879192f542dbc0741dbd1ba71f29bd22a0fce372d7a6ae04dbded51d71123";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.004.tar.gz;
+      sha256 = "1frfrqaj283z1x95cqbbj3cvmb6rj50ngs47jq8myz6d1bg4zwff";
     };
     buildInputs = [ Moose ];
     propagatedBuildInputs = [ Moose MooseXRoleParameterized namespaceautoclean ];
@@ -5554,10 +6007,10 @@ rec {
   };
 
   MooseXRoleParameterized = buildPerlPackage {
-    name = "MooseX-Role-Parameterized-1.00";
+    name = "MooseX-Role-Parameterized-1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.00.tar.gz;
-      sha256 = "0642h71j90i0jrqxz1snizkw9pch8v1s1w0zndrcl5bb85lx3z7y";
+      url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.02.tar.gz;
+      sha256 = "089czh2pipvdajjy4rxlix0y20ilp3ldbzi0vs68b7k6k9q3mqdk";
     };
     buildInputs = [ TestFatal TestMoose ];
     propagatedBuildInputs = [ Moose ];
@@ -5607,10 +6060,10 @@ rec {
   };
 
   MooseXSetOnce = buildPerlPackage rec {
-    name = "MooseX-SetOnce-0.200001";
+    name = "MooseX-SetOnce-0.200002";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "0qa2i45g2zn4r0wg7hba9va68nin5l63gr9l8b5q3hr4cjn97ll6";
+      sha256 = "0ndnl8dj7nh8lvckl6r3jw31d0dmq30qf2pqkgcz0lykzjvhdvfb";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ Moose ];
@@ -5654,10 +6107,10 @@ rec {
   };
 
   MooseXTraitsPluggable = buildPerlPackage rec {
-    name = "MooseX-Traits-Pluggable-0.10";
+    name = "MooseX-Traits-Pluggable-0.12";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "0gv79bsnacrzwpac3dll64zj40qcsbp4kdk8yr9z5bwim7nkvnv3";
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
+      sha256 = "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb";
     };
     buildInputs =[ TestException ];
     propagatedBuildInputs =
@@ -5687,7 +6140,7 @@ rec {
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ Moose MooseXTypes ];
-    meta = { 
+    meta = {
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5764,10 +6217,10 @@ rec {
   };
 
   MooseXTypesPerl = buildPerlPackage {
-    name = "MooseX-Types-Perl-0.101341";
+    name = "MooseX-Types-Perl-0.101343";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101341.tar.gz;
-      sha256 = "d1081a734d62121f3262b18170022de2f51ebcc0a8b8afe1b1273d7cb3e58c97";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz;
+      sha256 = "0nijy676q27bvjb8swxrb1j4lq2xq8jbqkaxs1l9q81k7jpvx17h";
     };
     propagatedBuildInputs = [ MooseXTypes ParamsUtil ];
     meta = {
@@ -5777,10 +6230,10 @@ rec {
   };
 
   MooseXTypesStringlike = buildPerlPackage {
-    name = "MooseX-Types-Stringlike-0.001";
+    name = "MooseX-Types-Stringlike-0.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.001.tar.gz;
-      sha256 = "2ba71fff105d851ea6aee85bef5d6629726138a2b005b77a163a8bfb403cea03";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.002.tar.gz;
+      sha256 = "18g07bvhcrhirb1yhcz55y7nsvkw1wq285d1hyb0jxrzgr0ga94k";
     };
     buildInputs = [ Moose ];
     propagatedBuildInputs = [ MooseXTypes ];
@@ -5794,10 +6247,10 @@ rec {
   };
 
   MooseXTypesStructured = buildPerlPackage {
-    name = "MooseX-Types-Structured-0.28";
+    name = "MooseX-Types-Structured-0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/MooseX-Types-Structured-0.28.tar.gz;
-      sha256 = "12snpf65bh3jyx9w1h1sark83l0w51s3jdcr4ygw57cxvq39yl43";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.30.tar.gz;
+      sha256 = "0svfgbyzwdipywh7bfp954hncm8ihfr8xpppcyy59wr1inx2f55c";
     };
     buildInputs = [ DateTime MooseXTypesDateTime TestFatal ];
     propagatedBuildInputs = [ DevelPartialDump Moose MooseXTypes SubExporter ];
@@ -5811,10 +6264,10 @@ rec {
   };
 
   MooseXTypesURI = buildPerlPackage {
-    name = "MooseX-Types-URI-0.03";
+    name = "MooseX-Types-URI-0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Types-URI-0.03.tar.gz;
-      sha256 = "056v08kzcd93h8l69iqdxbr05h85bgz6jvp6iwc0vv68dacr299s";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.05.tar.gz;
+      sha256 = "08acqm23ff22hicb3l4wc7szvdhlxpan7qmpgl15ilawrmz60p82";
     };
     propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean Testuseok URI URIFromHash ];
     meta = {
@@ -5823,14 +6276,42 @@ rec {
     };
   };
 
-  Mouse = buildPerlPackage rec {
-    name = "Mouse-0.26";
+  Mouse = buildPerlModule rec {
+    name = "Mouse-2.3.0";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
-      sha256 = "0dpf5qmf1vc8dq5nj6yiriz8v4wl8s9g519v1hnz4yf11n2lnr4x";
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
+      sha256 = "0ycl521mmc5989934502730rzsi9xqihdpnjihrkhflqmrzmaqwq";
+    };
+    buildInputs = [
+      ModuleBuildXSUtil TestException TestLeakTrace TestRequires TestOutput
+      TestFatal
+    ];
+  };
+
+  MouseXNativeTraits = buildPerlPackage rec {
+    name = "MouseX-NativeTraits-1.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
+      sha256 = "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ AnyMoose ];
+    meta = {
+      description = "Extend attribute interfaces for Mouse";
+      license = "perl";
+    };
+  };
+
+  MozillaCA = buildPerlPackage {
+    name = "Mozilla-CA-20130114";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-20130114.tar.gz;
+      sha256 = "82342614add1dbca8a00daa1ee55af3e0036245aed7d445537918c045008ccd7";
+    };
+    meta = {
+      description = "Mozilla's CA cert bundle in PEM format";
+      license = "unknown";
     };
-    propagatedBuildInputs = [TestException];
-    doCheck = false; # check can't find its own Mouse::Tiny module
   };
 
   MROCompat = buildPerlPackage {
@@ -5885,10 +6366,10 @@ rec {
   };
 
   namespaceclean = buildPerlPackage rec {
-    name = "namespace-clean-0.24";
+    name = "namespace-clean-0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.24.tar.gz;
-      sha256 = "0c0jj44f3y26scybnxp2lnkcydjqh0lfr6l1jsy13r3x9r4d8qd6";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.25.tar.gz;
+      sha256 = "016dds70ql1mp18b07chkxiy4drn976ibnbshqc2hmhrh9xjnsll";
     };
     propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
     meta = {
@@ -5899,10 +6380,10 @@ rec {
   };
 
   NetAddrIP = buildPerlPackage rec {
-    name = "NetAddr-IP-4.062";
+    name = "NetAddr-IP-4.072";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIKER/${name}.tar.gz";
-      sha256 = "08c037afe314ca2e6369f8aa92eb4b8937f493f977f9f1f35ca396c1de8ed0c6";
+      sha256 = "17gwhhbz25021w5k4ggp8j3plix5yixgb2vr1mj39fa0p3gafm09";
     };
   };
 
@@ -5972,10 +6453,10 @@ rec {
   };
 
   NetAmazonS3Policy = buildPerlPackage {
-    name = "Net-Amazon-S3-Policy-0.1.2";
+    name = "Net-Amazon-S3-Policy-0.1.6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.2.tar.gz;
-      sha256 = "1kkzimvxwxx0mypf75dalksxmvwsb8b575yx2nzmvjkvjg3j9na0";
+      url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz;
+      sha256 = "056rhq6vsdpwi2grbmxj8341qjrz0258civpnhs78j37129nxcfj";
     };
     propagatedBuildInputs = [ JSON ];
     meta = {
@@ -6036,20 +6517,20 @@ rec {
   };
 
   NetDNS = buildPerlPackage {
-    name = "Net-DNS-0.63";
+    name = "Net-DNS-0.74";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OL/OLAF/Net-DNS-0.63.tar.gz;
-      sha256 = "1pswrwhkav051xahm3k4cbyhi8kqpfmaz85lw44kwi2wc7mz4prk";
+      url = mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-0.74.tar.gz;
+      sha256 = "0clwl4nqzg23d6l9d9gc8ijl1lbghhfrbavjlvhd1wll5r8ayr7g";
     };
     propagatedBuildInputs = [NetIP DigestHMAC];
     doCheck = false;
   };
 
   NetHTTP = buildPerlPackage {
-    name = "Net-HTTP-6.05";
+    name = "Net-HTTP-6.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.05.tar.gz;
-      sha256 = "1r2bv3cw4m054qfsm6i7rpvhrql1d78izpc36prv3xvahfsqxawc";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.06.tar.gz;
+      sha256 = "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx";
     };
     meta = {
       description = "Low-level HTTP connection (client)";
@@ -6069,11 +6550,11 @@ rec {
   };
 
   NetLDAP = buildPerlPackage {
-    name = "Net-LDAP-0.43";
+    name = "Net-LDAP-0.4001";
     propagatedBuildInputs = [ ConvertASN1 ];
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.43.tar.gz;
-      sha256 = "0ak7393zs8ps6r6in5ilr9l1mzxxh529jr768sjzx4273p7li3m0";
+      url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.4001.tar.gz;
+      sha256 = "0spwid70yxkh5zbad3ldw8yb2m5shkm59a7f0kllw8bb7ccczqps";
     };
   };
 
@@ -6120,10 +6601,10 @@ rec {
   };
 
   NetSMTP = buildPerlPackage {
-    name = "Net-SMTP-1.22";
+    name = "Net-SMTP-1.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBARR/libnet-1.22.tar.gz;
-      sha256 = "113c36qilbvd69yhkm2i2ba20ajff7cdpgvlqx96j9bb1hfmhb1p";
+      url = mirror://cpan/authors/id/S/SH/SHAY/libnet-1.25.tar.gz;
+      sha256 = "01f3l4aj3ynl8syyrl122k4bmfds77yw5q36aafrgaq22fnb3b2a";
     };
     patchPhase = "chmod a-x Configure";
     doCheck = false; # The test suite fails, because it requires network access.
@@ -6148,19 +6629,19 @@ rec {
   };
 
   NetSNMP = buildPerlPackage rec {
-    name = "Net-SNMP-v6.0.1";
+    name = "Net-SNMP-6.0.1";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DT/DTOWN/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz";
       sha256 = "0hdpn1cw52x8cw24m9ayzpf4rwarm0khygn1sv3wvwxkrg0pphql";
     };
     doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799
   };
 
   NetSSLeay = buildPerlPackage rec {
-    name = "Net-SSLeay-1.52";
+    name = "Net-SSLeay-1.58";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz";
-      sha256 = "1fkpdlpg99rdq2vlm6bgmqc8iazhcrfzvbpwxnn20k0viwpy7v28";
+      url = "mirror://cpan/authors/id/M/MI/MIKEM/${name}.tar.gz";
+      sha256 = "0mizg2g07fa4c13zpnhmjc87psal5gp5hi23kqpynigmkp0m1p0b";
     };
     buildInputs = [ pkgs.openssl ];
     doCheck = false; # Test performs network access.
@@ -6193,10 +6674,10 @@ rec {
   };
 
   NumberCompare = buildPerlPackage rec {
-    name = "Number-Compare-0.01";
+    name = "Number-Compare-0.03";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Number/${name}.tar.gz";
-      sha256 = "1vs95lbax3f63jg98jwkiahlvg1jhmd0xyyzmbxxifsl7fkv1d9j";
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz";
+      sha256 = "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3";
     };
   };
 
@@ -6209,10 +6690,10 @@ rec {
   };
 
   ObjectInsideOut = buildPerlPackage {
-    name = "Object-InsideOut-3.97";
+    name = "Object-InsideOut-3.98";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.97.tar.gz;
-      sha256 = "19yr15w361lxxx2djy0ciwjpyd5bcs0skm3yw97w3xidw6r0wf0v";
+      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.98.tar.gz;
+      sha256 = "1zxfm2797p8b9dsvnbgd6aa4mgpxqxjqzbpfbla1g7f9alxm9f1z";
     };
     propagatedBuildInputs = [ ExceptionClass ];
     meta = {
@@ -6224,10 +6705,10 @@ rec {
   };
 
   ObjectSignature = buildPerlPackage {
-    name = "Object-Signature-1.05";
+    name = "Object-Signature-1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Object-Signature-1.05.tar.gz;
-      sha256 = "10k9j18jpb16brv0hs7592r7hx877290pafb8gnk6ydy7hcq9r2j";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Object-Signature-1.07.tar.gz;
+      sha256 = "0c8l7195bjvx0v6zmkgdnxvwg7yj2zq8hi7xd25a3iikd12dc4f6";
     };
   };
 
@@ -6240,19 +6721,19 @@ rec {
   };
 
   NetOpenIDCommon = buildPerlPackage rec {
-    name = "Net-OpenID-Common-1.14";
+    name = "Net-OpenID-Common-1.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz";
-      sha256 = "24ac83539b188d85bd2c7bd67e355aab0ede3f98170b23cb50bd30b11b4387ff";
+      sha256 = "13hy5j6hcggb4l2r4pnwdh30p20wwja0chpmqm8y6wnnsp1km07f";
     };
     propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPMessage XMLSimple ];
   };
 
   NetOpenIDConsumer = buildPerlPackage rec {
-    name = "Net-OpenID-Consumer-1.13";
+    name = "Net-OpenID-Consumer-1.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz";
-      sha256 = "4ab927b6756366fa4cef2b54088645849f32fc7e0cd8de0a50001bbf62946fd8";
+      sha256 = "1nh9988436rmmmd6x2zz1fyrqy2005a1gvqzgvnc1pg2ylg61fqf";
     };
     propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ];
   };
@@ -6288,10 +6769,10 @@ rec {
   };
 
   PackageStashXS = buildPerlPackage {
-    name = "Package-Stash-XS-0.26";
+    name = "Package-Stash-XS-0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.26.tar.gz;
-      sha256 = "1pfdpb3x40f5ldp5kp0d9xvrz4wk2fc3ww53wrq4dp326s08h7r9";
+      url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz;
+      sha256 = "11nl69n8i56p91pd0ia44ip0vpv2cxwpbfakrv01vvv8az1cbn13";
     };
     buildInputs = [ TestRequires TestFatal ];
     meta = {
@@ -6324,10 +6805,10 @@ rec {
   };
 
   ParamsValidate = buildPerlModule {
-    name = "Params-Validate-1.07";
+    name = "Params-Validate-1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.07.tar.gz;
-      sha256 = "15mz2wxarxjlr3365m1hhcnfs6d2mw3m0yimnlv06j13cxs39py1";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.08.tar.gz;
+      sha256 = "0641hbz5bx6jnk8dx2djnkd67fh7h1zx6x1bgmivkrh2yky9ch6h";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ModuleImplementation ];
@@ -6350,35 +6831,40 @@ rec {
   };
 
   Parent = buildPerlPackage {
-    name = "parent-0.221";
+    name = "parent-0.228";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/parent-0.221.tar.gz;
-      sha256 = "17jhscpa5p5szh1173pd6wvh2m05an1l941zqq9jkw9bzgk12hm0";
+      url = mirror://cpan/authors/id/C/CO/CORION/parent-0.228.tar.gz;
+      sha256 = "0w0i02y4z8465z050kml57mvhv7c5gl8w8ivplhr3cms0zbaq87b";
     };
   };
 
-  ParseCPANMeta = buildPerlPackage rec {
-    name = "Parse-CPAN-Meta-1.4404";
+  ParseCPANMeta = buildPerlPackage {
+    name = "Parse-CPAN-Meta-1.4414";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Parse/${name}.tar.gz";
-      sha256 = "1y4mr5hmkkl405x4v31kx2nmlahpg0c38k8s65vgqc4s28wxafmh";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz;
+      sha256 = "cd7608154dfb72c9e110f012befe6b75d78448cb3e761716b60aa7545e16ca1b";
     };
     propagatedBuildInputs = [ CPANMetaYAML JSONPP ];
+    meta = {
+      homepage = https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta;
+      description = "Parse META.yml and META.json CPAN metadata files";
+      license = "perl";
+    };
   };
 
   ParseRecDescent = buildPerlPackage rec {
-    name = "Parse-RecDescent-1.965001";
+    name = "Parse-RecDescent-1.967009";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DC/DCONWAY/${name}.tar.gz";
-      sha256 = "0r4dnrjgxv5irkyx1kgkg8vj6wqx67q5hbkifpb54906kc1n7yh0";
+      url = "mirror://cpan/authors/id/J/JT/JTBRAUN/${name}.tar.gz";
+      sha256 = "11y6fpz4j6kdimyaz2a6ig0jz0x7csqslhxaipxnjqi5h85hy071";
     };
   };
 
   PathClass = buildPerlPackage {
-    name = "Path-Class-0.29";
+    name = "Path-Class-0.33";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.29.tar.gz;
-      sha256 = "1z3wvci2qcb1m9qrkxphbnfnr4jqgxbxnxrmdb25ks8gap98hk4z";
+      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.33.tar.gz;
+      sha256 = "0xy6s04xpslpzbb90x67yvfv0pjqnj1szxlx16vfx690iskcd36d";
     };
     meta = {
       description = "Cross-platform path specification manipulation";
@@ -6387,10 +6873,10 @@ rec {
   };
 
   PathTiny = buildPerlPackage {
-    name = "Path-Tiny-0.026";
+    name = "Path-Tiny-0.052";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.026.tar.gz;
-      sha256 = "e79ee187bbf7fdef387886a8c929bd0a1171fb54db1984d79f4e04d90f733cc6";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.052.tar.gz;
+      sha256 = "1b70yhbdww9k5m4a4lhdd71jrxdxhi10533slmxynxa04nyn2f0a";
     };
     buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ];
     propagatedBuildInputs = [ autodie ];
@@ -6420,10 +6906,10 @@ rec {
   };
 
   PerlCritic = buildPerlPackage {
-    name = "Perl-Critic-1.118";
+    name = "Perl-Critic-1.121";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.118.tar.gz;
-      sha256 = "666d2bef3ac924598c06a05277680da5910e10d94c5ec161336f6509c11155e8";
+      url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.121.tar.gz;
+      sha256 = "1y2bxjwzlp6ix51h36a5g3dqpaviaajij1rn22hpvcqxh4hh6car";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ BKeywords ConfigTiny EmailAddress ExceptionClass IOString ListMoreUtils PPI PPIxRegexp PPIxUtilities PerlTidy PodSpell Readonly StringFormat TaskWeaken ];
@@ -6443,10 +6929,10 @@ rec {
   };
 
   PerlIOviadynamic = buildPerlPackage {
-    name = "PerlIO-via-dynamic-0.12";
+    name = "PerlIO-via-dynamic-0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-dynamic-0.12.tar.gz;
-      sha256 = "140hay9q8q9sz1fa2s57ijp5l2448fkcg7indgn6k4vc7yshmqz2";
+      url = mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz;
+      sha256 = "0jbb3xpbqzmr625blvnjszd69l3cwxzi7bhmkj5x48dgv3s7mkca";
     };
   };
 
@@ -6459,10 +6945,10 @@ rec {
   };
 
   PerlMagick = buildPerlPackage rec {
-    name = "PerlMagick-6.86";
+    name = "PerlMagick-6.87";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JC/JCRISTY/${name}.tar.gz";
-      sha256 = "18xgh8r9pjxg9yi119gnsln1r4p4sk1r8bxd3iy0qj77frmksisi";
+      sha256 = "1bf2g80wdny2dfrrmfgk7cqrxzflx3qp1dnd3919grvrqdviyh16";
     };
     buildInputs = [pkgs.imagemagick];
     preConfigure =
@@ -6473,18 +6959,18 @@ rec {
   };
 
   PerlOSType = buildPerlPackage rec {
-    name = "Perl-OSType-1.002";
+    name = "Perl-OSType-1.007";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Perl/${name}.tar.gz";
-      sha256 = "0clbfgq0800dip3821ibh29vrwcc159qnakidbiqrmhcisd95xbs";
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
+      sha256 = "0aryn8dracfjfnks07b5rvsza4csinlsj6cn92jv3sv8sg3rmdxk";
     };
   };
 
   PerlTidy = buildPerlPackage rec {
-    name = "Perl-Tidy-20090616";
+    name = "Perl-Tidy-20130922";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHANCOCK/${name}.tar.gz";
-      sha256 = "c7ca21e287d23c769c235f6742fab7b5779b7c7bf58b6a55ba8cdc492e50a118";
+      sha256 = "0qmp6308917lsvms5dbihdj85cnkhy821azc5i6q3p3703qdd375";
     };
   };
 
@@ -6501,10 +6987,10 @@ rec {
   };
 
   Plack = buildPerlPackage {
-    name = "Plack-1.0024";
+    name = "Plack-1.0030";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0024.tar.gz;
-      sha256 = "485f69275d73401739a829cfee3bbc9bfa20a0843470791066365ac07fac04a1";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz;
+      sha256 = "0bb9aqb0h9q4qjgkw756gf695h4qg6vim54s6f2icgsazdi63zq7";
     };
     buildInputs = [ FileShareDirInstall TestRequires ];
     propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ];
@@ -6573,10 +7059,10 @@ rec {
   };
 
   PPIxRegexp = buildPerlPackage {
-    name = "PPIx-Regexp-0.034";
+    name = "PPIx-Regexp-0.036";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.034.tar.gz;
-      sha256 = "512a358f4bd6196df0601ff36f7831e0ba142fb8ef2bc3995e19bceabd0b5ae7";
+      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.036.tar.gz;
+      sha256 = "1nnaxf1dmywacdgh8f1s2ki8jkrf2vi6bfhk70p1r9k1001idlfk";
     };
     propagatedBuildInputs = [ ListMoreUtils PPI TaskWeaken ];
     meta = {
@@ -6609,28 +7095,28 @@ rec {
   };
 
   PSGI = buildPerlPackage rec {
-    name = "PSGI-1.03";
+    name = "PSGI-1.102";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
-      sha256 = "0b1k7smg50xfdhrjifa2gkkm52vna41alvbw8vb2pk99jmgnngh6";
+      sha256 = "0iqzxs8fv63510knm3zr3jr3ky4x7diwd7y24mlshzci81kl8v55";
     };
   };
 
   PadWalker = buildPerlPackage {
-    name = "PadWalker-1.96";
+    name = "PadWalker-1.98";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.96.tar.gz;
-      sha256 = "180c72l3ssnsdbyifl9lzdz83x4zidf3nfgyx6l0j41a5wj0w9fz";
+      url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.98.tar.gz;
+      sha256 = "0v2pldb5awflf10w1p9pwn8w37lkpfc2h459gd9zz6p57883ibw0";
     };
     meta = {
     };
   };
 
   Perl6Junction = buildPerlPackage rec {
-    name = "Perl6-Junction-1.40000";
+    name = "Perl6-Junction-1.60000";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CF/CFRANKS/${name}.tar.gz";
-      sha256 = "0sgv8hqrkhx73bcb5jyi8a0b3v5bxqr3aziram1zndx43i1knzp4";
+      sha256 = "0r3in9pyrm6wfrhcvxbq5w1617x8x5537lxj9hdzks4pa7l7a8yh";
     };
   };
 
@@ -6649,10 +7135,10 @@ rec {
   };
 
   PerlPrereqScanner = buildPerlPackage {
-    name = "Perl-PrereqScanner-1.016";
+    name = "Perl-PrereqScanner-1.019";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.016.tar.gz;
-      sha256 = "1ab70723f3d036ef91684572beacab40bf99f5ed69922769aa077664c778c474";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.019.tar.gz;
+      sha256 = "1ndgq2c7s1042c3zxjsmjfpf4lnwfg6w36hmvhh3yk9qihcprbgj";
     };
     buildInputs = [ PPI TryTiny ];
     propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI ParamsUtil StringRewritePrefix namespaceautoclean ];
@@ -6677,19 +7163,19 @@ rec {
   };
 
   PodCoverage = buildPerlPackage rec {
-    name = "Pod-Coverage-0.19";
+    name = "Pod-Coverage-0.23";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz";
-      sha256 = "1krsz4zwmnmq3z29p5vmyr5fdzrn8v0sg6rf3qxk7xpxw4z5np84";
+      sha256 = "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh";
     };
     propagatedBuildInputs = [DevelSymdump];
   };
 
   PodCoverageTrustPod = buildPerlPackage {
-    name = "Pod-Coverage-TrustPod-0.100002";
+    name = "Pod-Coverage-TrustPod-0.100003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100002.tar.gz;
-      sha256 = "2389f8085c16087b10f59f1bd1b9de5d83cca5eb203778a2af1cee897b89bb6e";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100003.tar.gz;
+      sha256 = "19lyc5a5hg3pqhw0k5fnd0q4l2mrdq0ck4kw1smjvwkccp24431z";
     };
     propagatedBuildInputs = [ PodCoverage PodEventual ];
     meta = {
@@ -6700,10 +7186,10 @@ rec {
   };
 
   PodElemental = buildPerlPackage {
-    name = "Pod-Elemental-0.102362";
+    name = "Pod-Elemental-0.103000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.102362.tar.gz;
-      sha256 = "2b56a2783650f170bc7131bb36de65e4e3372a54bab596a798debebbf2af8732";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103000.tar.gz;
+      sha256 = "0ykf49n6ysm7ab5zwm8a009zzrzsnhxw94a9jvbq80yywzhnm847";
     };
     buildInputs = [ TestDeep TestDifferences ];
     propagatedBuildInputs = [ MixinLinewise Moose MooseAutobox MooseXTypes PodEventual StringRewritePrefix StringTruncate SubExporter SubExporterForMethods TestDeep TestDifferences namespaceautoclean ];
@@ -6730,10 +7216,10 @@ rec {
   };
 
   PodEscapes = buildPerlPackage {
-    name = "Pod-Escapes-1.04";
+    name = "Pod-Escapes-1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBURKE/Pod-Escapes-1.04.tar.gz;
-      sha256 = "1wrg5dnsl785ygga7bp6qmakhjgh9n4g3jp2l85ab02r502cagig";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Pod-Escapes-1.06.tar.gz;
+      sha256 = "15dpzlgc2ywyxk2svc810nmyx6pm1nj8cji7a0rqr9x6m0v11xdm";
     };
   };
 
@@ -6765,10 +7251,10 @@ rec {
   };
 
   PodMarkdown = buildPerlPackage {
-    name = "Pod-Markdown-1.322";
+    name = "Pod-Markdown-2.000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-1.322.tar.gz;
-      sha256 = "375091d89d9662b0c41bedad391927d6904d05f740e1bb689b494b4b35e979f7";
+      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-2.000.tar.gz;
+      sha256 = "0qix7gmrc2ypm5dl1w5ajnjy32xlmy73wb3zycc1pxl5lipigsx8";
     };
     buildInputs = [ TestDifferences ];
     meta = {
@@ -6796,10 +7282,10 @@ rec {
   };
 
   PodWeaver = buildPerlPackage {
-    name = "Pod-Weaver-3.101638";
+    name = "Pod-Weaver-4.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-3.101638.tar.gz;
-      sha256 = "1232b761016221e331a266a42661fa352447d0da075ebdb41dc4c4d71e60629c";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.004.tar.gz;
+      sha256 = "0hw500qkbmnwm385za5x7ypijx0lqk8cfc9jq232v95ka0hqcg29";
     };
     buildInputs = [ PPI SoftwareLicense TestDifferences ];
     propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli Moose MooseAutobox ParamsUtil PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
@@ -6811,10 +7297,10 @@ rec {
   };
 
   ProbePerl = buildPerlPackage rec {
-    name = "Probe-Perl-0.01";
+    name = "Probe-Perl-0.03";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/${name}.tar.gz";
-      sha256 = "9b7d211139e42b2a2952c9a4b9f55ac12705e256f4a0acd4ac6ff665aeaddd87";
+      sha256 = "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r";
     };
   };
 
@@ -6824,6 +7310,9 @@ rec {
       url = "mirror://cpan/authors/id/R/RO/ROODE/${name}.tar.gz";
       sha256 = "1shkyxajh6l87nif47ygnfxjwvqf3d3kjpdvxaff4957vqanii2k";
     };
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   ReadonlyXS = buildPerlPackage rec {
@@ -6835,10 +7324,10 @@ rec {
   };
 
   Redis = buildPerlPackage {
-    name = "Redis-1.961";
+    name = "Redis-1.2001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ME/MELO/Redis-1.961.tar.gz;
-      sha256 = "029g4s1ima354yv1j26nlq4f0yahkllkibicml6p3mj5gg2ywbbq";
+      url = mirror://cpan/authors/id/D/DP/DPAVLIN/Redis-1.2001.tar.gz;
+      sha256 = "1d16dr2qjmb3vswghrk5ygggcmz2rzw7qnw3g87prwi08z5ryih0";
     };
     buildInputs = [ IOString TestDeep TestFatal ];
     propagatedBuildInputs = [ TryTiny ];
@@ -6905,28 +7394,28 @@ rec {
   };
 
   RpcXML = buildPerlPackage {
-    name = "RPC-XML-0.73";
+    name = "RPC-XML-0.78";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.73.tar.gz;
-      sha256 = "a023649603240e7a19fc52a8316a41c854639c0600058ea4d1e436fe1b1b7734";
+      url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.78.tar.gz;
+      sha256 = "0spci3sj2hq9k916sk9k2gchqrbnz9lwmlcnwf1k33wzl8j2gh52";
     };
     propagatedBuildInputs = [LWP XMLLibXML XMLParser];
     doCheck = false;
   };
 
   ReturnValue = buildPerlPackage {
-    name = "Return-Value-1.302";
+    name = "Return-Value-1.666004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.302.tar.gz;
-      sha256 = "0hf5rmfap49jh8dnggdpvapy5r4awgx5hdc3acc9ff0vfqav8azm";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666004.tar.gz;
+      sha256 = "0xr7ic212p36arzdpph2l2yy1y88c7qaf4nng3gqb29zc9kzy3bc";
     };
   };
 
   RoleHasMessage = buildPerlPackage {
-    name = "Role-HasMessage-0.005";
+    name = "Role-HasMessage-0.006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.005.tar.gz;
-      sha256 = "bc6cecf3022159dc415fb931e38291425d6aa8a9542d980b14ea692141337ca9";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz;
+      sha256 = "1lylfvarjfy6wy34dfny3032pc6r33mjby5yzzhmxybg8zhdp9pn";
     };
     buildInputs = [ Moose ];
     propagatedBuildInputs = [ Moose MooseXRoleParameterized StringErrf TryTiny namespaceclean ];
@@ -6937,10 +7426,10 @@ rec {
   };
 
   RoleIdentifiable = buildPerlPackage {
-    name = "Role-Identifiable-0.005";
+    name = "Role-Identifiable-0.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.005.tar.gz;
-      sha256 = "86910b6052d50bc64d1613bc1274f2ae17d553bfc3f0247a3fe3f7bb2cdd3aee";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz;
+      sha256 = "1bbkj2wqpbfdw1cbm99vg9d94rvzba19m18xhnylaym0l78lc4sn";
     };
     buildInputs = [ Moose ];
     propagatedBuildInputs = [ Moose ];
@@ -6951,10 +7440,10 @@ rec {
   };
 
   RoleTiny = buildPerlPackage {
-    name = "Role-Tiny-1.002004";
+    name = "Role-Tiny-1.003003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/Role-Tiny-1.002004.tar.gz;
-      sha256 = "0n126kazifmx6grdk4rmq226xklfc996cqw4ix26z9jcccl4v756";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-1.003003.tar.gz;
+      sha256 = "1k823g4wnya18yx2v1xrfl73qqavqpzvaydyg1r7gdzcdvdwl4mp";
     };
     buildInputs = [ TestFatal ];
     meta = {
@@ -6977,10 +7466,10 @@ rec {
   };
 
   SafeIsa = buildPerlPackage {
-    name = "Safe-Isa-1.000002";
+    name = "Safe-Isa-1.000004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Safe-Isa-1.000002.tar.gz;
-      sha256 = "07jr4fy6zbw9zwpalxzxlkn4nym6fd0304fsrb5ag0v156ygpwvl";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000004.tar.gz;
+      sha256 = "0sqwma0xqxrgnsm0jfy17szq87bskzq67cdh7p934qdifh5nfwn9";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -7010,10 +7499,10 @@ rec {
   };
 
   ScopeUpper = buildPerlPackage {
-    name = "Scope-Upper-0.21";
+    name = "Scope-Upper-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.21.tar.gz;
-      sha256 = "058nfnzp31k7hmdvbsr72nvrw0i23gwjplb6g6pag3s18m7fl1p6";
+      url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.24.tar.gz;
+      sha256 = "159jcwliyb7j80858pi052hkmhgy4cdbjha419kmhhqc9s1rhd5g";
     };
     meta = {
       homepage = http://search.cpan.org/dist/Scope-Upper/;
@@ -7034,18 +7523,18 @@ rec {
   };
 
   SetObject = buildPerlPackage {
-    name = "Set-Object-1.26";
+    name = "Set-Object-1.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAMV/Set-Object-1.26.tar.gz;
-      sha256 = "1hx3wrw8xkvaggacc8zyn86hfi3079ahmia1n8vsw7dglp1bbhmj";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.34.tar.gz;
+      sha256 = "1dipd6k572pzqjzbj9vagb2k347qcg29lsxzx9y214bhnw7fgvjp";
     };
   };
 
   SetScalar = buildPerlPackage {
-    name = "Set-Scalar-1.25";
+    name = "Set-Scalar-1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHI/Set-Scalar-1.25.tar.gz;
-      sha256 = "1kbfy97j4cg0pprk8sgsh1fd505mdffn1jr9qbdmwqma8x4qvv7m";
+      url = mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz;
+      sha256 = "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53";
     };
     meta = {
       license = "perl";
@@ -7063,10 +7552,10 @@ rec {
   };
 
   SOAPLite = buildPerlPackage {
-    name = "SOAP-Lite-0.716";
+    name = "SOAP-Lite-1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-0.716.tar.gz;
-      sha256 = "0vhnv5bdhy3gzwiaw1ly69r7lxvahz796v210x5nyij7a04ndwbz";
+      url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.11.tar.gz;
+      sha256 = "1zhy06v72r95ih3lx5rlx0bvkq214ndmcmn97m5k2rkxxy4ybpp4";
     };
     propagatedBuildInputs = [ ClassInspector HTTPDaemon LWP TaskWeaken URI XMLParser ];
     meta = {
@@ -7078,10 +7567,10 @@ rec {
   };
 
   Socket6 = buildPerlPackage rec {
-    name = "Socket6-0.23";
+    name = "Socket6-0.25";
     src = fetchurl {
       url = "mirror://cpan/authors/id/U/UM/UMEMOTO/${name}.tar.gz";
-      sha256 = "eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833";
+      sha256 = "1ads4k4vvq6pnxkdw0s8gaj03w4h9snxyw7zyikfzd20fy76yx6s";
     };
     buildInputs = [ pkgs.which ];
   };
@@ -7118,10 +7607,10 @@ rec {
   };
 
   SpreadsheetParseExcel = buildPerlPackage rec {
-    name = "Spreadsheet-ParseExcel-0.58";
+    name = "Spreadsheet-ParseExcel-0.2603";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/${name}.tar.gz";
-      sha256 = "1ha32kfgf0b9mk00dvsx0jq72xsx0qskmgrnixcdfh044lcxzk17";
+      url = "mirror://cpan/authors/id/K/KW/KWITKNR/${name}.tar.gz";
+      sha256 = "0q5qq982528cdpqdj2wszrnf5g2rfphx0b413lczx7nvkkyy9xqz";
     };
 
     propagatedBuildInputs = [ IOStringy OLEStorageLight ];
@@ -7160,6 +7649,9 @@ rec {
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ ClassAccessor ListMoreUtils RegexpCommon SQLTokenizer ];
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   SQLTokenizer = buildPerlPackage rec {
@@ -7185,10 +7677,10 @@ rec {
   };
 
   Starman = buildPerlModule {
-    name = "Starman-0.3011";
+    name = "Starman-0.4008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.3011.tar.gz;
-      sha256 = "f700e1e9fa8a56609db1b75878ccfbbccfda32454c32e3c33912a1776f583cf2";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4008.tar.gz;
+      sha256 = "06fc3yp3nmi26d7lcfqanwwk5jxsmqmidyr8n2qfrsa0r7d07c88";
     };
     buildInputs = [ ModuleBuildTiny TestRequires ];
     propagatedBuildInputs = [ DataDump HTTPDate HTTPMessage HTTPParserXS NetServer Plack TestTCP ];
@@ -7221,7 +7713,7 @@ rec {
       sha256 = "8e7dae184444e27ee959e33b3ae161cc83115d11da189ed5003b004450e04b48";
     };
     meta = {
-      homepage = http://web-cpan.berlios.de/modules/Statistics-Descriptive/;
+      #homepage = http://web-cpan.berlios.de/modules/Statistics-Descriptive/; # berlios shut down; I found no replacement
       description = "Module of basic descriptive statistical functions";
       license = "perl";
     };
@@ -7258,10 +7750,10 @@ rec {
   };
 
   strictures = buildPerlPackage {
-    name = "strictures-1.004004";
+    name = "strictures-1.005004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/strictures-1.004004.tar.gz;
-      sha256 = "0d7fanr4ggmlqvdxf63ci7nxba2vrdz9558xy35hfpm8max7s48j";
+      url = mirror://cpan/authors/id/H/HA/HAARG/strictures-1.005004.tar.gz;
+      sha256 = "0y9q0v68060x5r3wfprwnjry6si7x9x5rkqz7nrf8fkxng7ndw5v";
     };
     meta = {
       homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git;
@@ -7279,10 +7771,10 @@ rec {
   };
 
   StringCRC32 = buildPerlPackage rec {
-      name = "String-CRC32-1.4";
+      name = "String-CRC32-1.5";
       src = fetchurl {
-        url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar.gz;
-        sha256 = "0lc3d4szxagwzcw6pxq3mmkvdlrz2zkw4i13crf42nvivv7gda8l";
+        url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.5.tar.gz;
+        sha256 = "0m3hjk292hnxyi8nkfy8hlr1khnbf2clgkb4kzj0ycq8gcd2z0as";
       };
       meta = {
         maintainers = with maintainers; [ ocharles ];
@@ -7291,10 +7783,10 @@ rec {
   };
 
   StringErrf = buildPerlPackage {
-    name = "String-Errf-0.006";
+    name = "String-Errf-0.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.006.tar.gz;
-      sha256 = "2c09631fbece8e85a94785abede882f5d29e0f21f72239d01332b3bafd9c53ac";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.007.tar.gz;
+      sha256 = "1apnmxdsqwrvn1kkbba4sw6yh6hdfxxar545p6m9dkid7xsiqjfj";
     };
     buildInputs = [ JSON TimeDate ];
     propagatedBuildInputs = [ ParamsUtil StringFormatter SubExporter ];
@@ -7317,10 +7809,10 @@ rec {
   };
 
   StringFlogger = buildPerlPackage {
-    name = "String-Flogger-1.101243";
+    name = "String-Flogger-1.101244";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101243.tar.gz;
-      sha256 = "05e3f55198e96d56d27867b81c244d801a5d85e5b19b7acc3352993aefbd29fd";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101244.tar.gz;
+      sha256 = "0cx3d85sz1dqjvbczpf9wx0i1b05jwbxcg7lpq5qygdkblq85nzd";
     };
     propagatedBuildInputs = [ JSON ParamsUtil SubExporter ];
     meta = {
@@ -7331,18 +7823,18 @@ rec {
   };
 
   StringFormat = buildPerlPackage rec {
-    name = "String-Format-1.16";
+    name = "String-Format-1.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz";
-      sha256 = "edb27dd055ad71012a439f262f9394517adb585a5c27ba72c1819bae2c23729a";
+      sha256 = "0sxfavcsb349rfafxflq2f9h3xpxabrw0q7vhmh9n3hjij8fa1jk";
     };
   };
 
   StringFormatter = buildPerlPackage {
-    name = "String-Formatter-0.102082";
+    name = "String-Formatter-0.102084";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102082.tar.gz;
-      sha256 = "93d787dd8f13832a3683d219e086eaf4eb6c5391e396bfcc364c414423b0051a";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102084.tar.gz;
+      sha256 = "0mlwm0rirv46gj4h072q8gdync5zxxsxy8p028gdyrhczl942dc3";
     };
     propagatedBuildInputs = [ ParamsUtil SubExporter ];
     meta = {
@@ -7352,18 +7844,18 @@ rec {
   };
 
   StringMkPasswd = buildPerlPackage {
-    name = "String-MkPasswd-0.02";
+    name = "String-MkPasswd-0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.02.tar.gz;
-      sha256 = "0si4xfgf8c2pfag1cqbr9jbyvg3hak6wkmny56kn2qwa4ljp9bk6";
+      url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz;
+      sha256 = "15lvcc8c9hp6mg3jx02wd3b85aphn8yl5db62q3pam04c0sgh42k";
     };
   };
 
   StringRewritePrefix = buildPerlPackage {
-    name = "String-RewritePrefix-0.006";
+    name = "String-RewritePrefix-0.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.006.tar.gz;
-      sha256 = "1b9fg805g0agsyij28w8hhmnf485bii8zl03i092mv1p2hqrpxll";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.007.tar.gz;
+      sha256 = "18nxl1vgkcx0r7ifkmbl9fp73f8ihiqhqqf3vq6sj5b3cgawrfsw";
     };
     propagatedBuildInputs = [ SubExporter ];
     meta = {
@@ -7386,20 +7878,20 @@ rec {
   };
 
   StringToIdentifierEN = buildPerlPackage rec {
-    name = "String-ToIdentifier-EN-0.10";
+    name = "String-ToIdentifier-EN-0.11";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/String/${name}.tar.gz";
-      sha256 = "1xm0v1cq9hdgx4mswa9wdr2lqk7z9kh1bwjkx4wb5xljd0lxhas6";
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
+      sha256 = "1bawghkgkkx7j3avnrj5sg3vix1z5564ks6wf9az3jc2knh8s5nh";
     };
     propagatedBuildInputs =
       [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
   };
 
   StringTruncate = buildPerlPackage {
-    name = "String-Truncate-1.100600";
+    name = "String-Truncate-1.100602";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100600.tar.gz;
-      sha256 = "e2665f82254a05b2a43c51bb8244661130ad9e052d4d8423b2ce2e9549c0bb5c";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz;
+      sha256 = "0vjz4fd4cvcy12gk5bdha7z73ifmfpmk748khha94dhiq3pd98xa";
     };
     propagatedBuildInputs = [ SubExporter SubInstall ];
     meta = {
@@ -7451,10 +7943,10 @@ rec {
   };
 
   SubExporterForMethods = buildPerlPackage {
-    name = "Sub-Exporter-ForMethods-0.100050";
+    name = "Sub-Exporter-ForMethods-0.100051";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100050.tar.gz;
-      sha256 = "67dfaa39c58995ed1d341d7f2e785a68b7ba4ade72608f491459b8d2dee6df33";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100051.tar.gz;
+      sha256 = "127wniw53p7pp7r2vazicply3v1gmnhw4w7jl6p74i0grnsixipm";
     };
     propagatedBuildInputs = [ SubExporter SubName ];
     meta = {
@@ -7464,10 +7956,10 @@ rec {
   };
 
   SubExporterGlobExporter = buildPerlPackage {
-    name = "Sub-Exporter-GlobExporter-0.003";
+    name = "Sub-Exporter-GlobExporter-0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.003.tar.gz;
-      sha256 = "4cb082331151360756f3b2f8122fdd44597a207d62bd3f2ecb13578005116ab1";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.004.tar.gz;
+      sha256 = "025wgjavrbzh52jb4v0w2fxqh7r5181k935h9cyy2rm1qk49fg8p";
     };
     propagatedBuildInputs = [ SubExporter ];
     meta = {
@@ -7478,10 +7970,10 @@ rec {
   };
 
   SubExporterProgressive = buildPerlPackage {
-    name = "Sub-Exporter-Progressive-0.001006";
+    name = "Sub-Exporter-Progressive-0.001011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Sub-Exporter-Progressive-0.001006.tar.gz;
-      sha256 = "0s13fz86c8slhgban10sywp2skjdxnl3nvkqqy7pbwg81g3v9rr2";
+      url = mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001011.tar.gz;
+      sha256 = "01kwzbqwdhvadpphnczid03nlyj0h4cxaq3m3v2401bckkkcc606";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -7513,10 +8005,10 @@ rec {
   };
 
   SubInstall = buildPerlPackage {
-    name = "Sub-Install-0.926";
+    name = "Sub-Install-0.927";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.926.tar.gz;
-      sha256 = "0gkns6p11j46j6yzacanhbqgd4ws5r0ppg6yivz7cjbq8dk4kcmc";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.927.tar.gz;
+      sha256 = "0nmgsdbwi8f474jkyd6w9jfnpav99xp8biydcdri8qri623f6plm";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -7526,10 +8018,10 @@ rec {
   };
 
   SubName = buildPerlPackage {
-    name = "Sub-Name-0.05";
+    name = "Sub-Name-0.0502";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Sub-Name-0.05.tar.gz;
-      sha256 = "1w9sf51ai2r3i0kv5wnq7h9g3hcd6zb6i51ivvykb3hzx82vilf9";
+      url = mirror://cpan/authors/id/C/CH/CHIPS/Sub-Name-0.0502.tar.gz;
+      sha256 = "1r197binpdy4xfh65qkxxvi9c39pmvvcny4rl8a7zrk1jcws6fac";
     };
     meta = {
       description = "(Re)name a sub";
@@ -7559,7 +8051,7 @@ rec {
   };
 
   SVK = buildPerlPackage {
-    name = "SVK-v2.0.2";
+    name = "SVK-2.0.2";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CL/CLKAO/SVK-v2.0.2.tar.gz;
       sha256 = "0c4m2q7cvzwh9kk1nc1vd8lkxx2kss5nd4k20dpkal4c7735jns0";
@@ -7597,10 +8089,10 @@ rec {
   };
 
   Switch = buildPerlPackage rec {
-    name = "Switch";
+    name = "Switch-2.17";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RG/RGARCIA/Switch-2.16.tar.gz";
-      sha256 = "1n7rgp1q3zwglv1pka3bnhq5g41334lwc53g31w6g44my8kqz31h";
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/Switch-2.17.tar.gz";
+      sha256 = "0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i";
     };
     doCheck = false;                             # FIXME: 2/293 test failures
   };
@@ -7632,10 +8124,10 @@ rec {
   };
 
   SyntaxKeywordJunction = buildPerlPackage {
-    name = "Syntax-Keyword-Junction-0.003006";
+    name = "Syntax-Keyword-Junction-0.003007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003006.tar.gz;
-      sha256 = "182ab56d86bf3acf292d4ed5893ae0134f43843cdadba3e18f9885e6f86035ec";
+      url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003007.tar.gz;
+      sha256 = "0c8jvy5lkshw5gyl037gmkh7c51k3sdvpywq0zwlw4ikvrcgsglj";
     };
     propagatedBuildInputs = [ SubExporterProgressive TestRequires syntax ];
     meta = {
@@ -7651,13 +8143,16 @@ rec {
       sha256 = "0hy1225zg2yg11xhgj0wbiapzjyf6slx17ln36zqvfm07k6widlx";
     };
     doCheck = false; # no `hostname' in stdenv
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   TAPParserSourceHandlerpgTAP = buildPerlModule {
-    name = "TAP-Parser-SourceHandler-pgTAP-3.29";
+    name = "TAP-Parser-SourceHandler-pgTAP-3.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.29.tar.gz;
-      sha256 = "918aa9ada7a05334ace7304e7b9e002bbf0b569bfcf8fb06118777bdabd60e1b";
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.30.tar.gz;
+      sha256 = "08gadqf898r23sx07sn13555cp9zkwp8igjlh1fza2ycfivpfl9f";
     };
     meta = {
       homepage = http://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP/;
@@ -7725,6 +8220,20 @@ rec {
     };
   };
 
+  TemplatePluginIOAll = buildPerlPackage {
+    name = "Template-Plugin-IO-All-0.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz;
+      sha256 = "1f7445422a21932e09bbef935766e0af6b7cceb088e9d8e030cd7a84bcdc5ee4";
+    };
+    propagatedBuildInputs = [ IOAll TemplateToolkit ];
+    meta = {
+      maintainers = with maintainers; [ eelco ];
+      description = "Perl Template Toolkit Plugin for IO::All";
+      license = "perl";
+    };
+  };
+
   TemplatePluginJavaScript = buildPerlPackage {
     name = "Template-Plugin-JavaScript-0.02";
     src = fetchurl {
@@ -7765,10 +8274,10 @@ rec {
   };
 
   TemplateToolkit = buildPerlPackage rec {
-    name = "Template-Toolkit-2.24";
+    name = "Template-Toolkit-2.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-2.24.tar.gz;
-      sha256 = "1j01kpsdpwxrwbsz2y1d8xyyliw9l23g0f3jigxvgxs9qal4m0rq";
+      url = mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-2.25.tar.gz;
+      sha256 = "048yg07j48rix3cly13j5wzms7kd5argviicj0kwykb004xpc8zl";
     };
     propagatedBuildInputs = [ AppConfig ];
     meta = {
@@ -7790,10 +8299,10 @@ rec {
   };
 
   TermProgressBar = buildPerlPackage {
-    name = "Term-ProgressBar-2.13";
+    name = "Term-ProgressBar-2.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SZ/SZABGAB/Term-ProgressBar-2.13.tar.gz;
-      sha256 = "95a56e1529928b7a0d7adf5bc2f54b9b9ae9da58c43b519af74a1e6596209b3c";
+      url = mirror://cpan/authors/id/S/SZ/SZABGAB/Term-ProgressBar-2.14.tar.gz;
+      sha256 = "18cj7mzbis9xk0v32g2700vq9b4p9v5msk02mglf244cj77bflf6";
     };
     buildInputs = [ CaptureTiny TestException ];
     propagatedBuildInputs = [ ClassMethodMaker TermReadKey ];
@@ -7826,18 +8335,18 @@ rec {
   };
 
   TermReadKey = buildPerlPackage {
-    name = "TermReadKey-2.30";
+    name = "TermReadKey-2.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz;
-      md5 = "f0ef2cea8acfbcc58d865c05b0c7e1ff";
+      url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.31.tar.gz;
+      sha256 = "1czarrdxgnxmmbaasjnq3sj14nf1cvzhm37padq6xvl7h7r2acb2";
     };
   };
 
   TermReadLineGnu = buildPerlPackage rec {
-    name = "Term-ReadLine-Gnu-1.20";
+    name = "Term-ReadLine-Gnu-1.24";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAYASHI/${name}.tar.gz";
-      sha256 = "00fvkqbnpmyld59jv2vbfw1szr5d0xxmbgl59gr7qijp9c497ni5";
+      sha256 = "0dp18pgn8vl4dh6rgzcp1kzk4j6wjrrxd6sfcrrywy7jg4b7ikfc";
     };
     buildInputs = [ pkgs.readline pkgs.ncurses ];
     NIX_CFLAGS_LINK = "-lreadline";
@@ -7903,10 +8412,10 @@ rec {
   };
 
   TestBase = buildPerlPackage rec {
-    name = "Test-Base-0.60";
+    name = "Test-Base-0.62";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "0yf030nay85xzas1qxn1nw6lhfsrcbgh3nq7bxbb11nxhvdaj2bx";
+      url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
+      sha256 = "1b11xllllp49kkq1wwr57pijqlx1c37nbyssdlszvvhrp6kww363";
     };
     propagatedBuildInputs = [ Spiffy ];
   };
@@ -7938,10 +8447,10 @@ rec {
   };
 
   TestDeep = buildPerlPackage {
-    name = "Test-Deep-0.110";
+    name = "Test-Deep-0.112";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.110.tar.gz;
-      sha256 = "12rd9fknm778685ypyc599lcmzbqvbqnjhcrkybgpq2siai9q4h5";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.112.tar.gz;
+      sha256 = "1vg1bb1lpqpj0pxk738ykip4kw3agbi88g90wxb3pc11l84nlsan";
     };
     propagatedBuildInputs = [ TestNoWarnings TestTester ];
     meta = {
@@ -7950,10 +8459,10 @@ rec {
   };
 
   TestDifferences = buildPerlPackage {
-    name = "Test-Differences-0.61";
+    name = "Test-Differences-0.4801";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.61.tar.gz;
-      sha256 = "044wg7nqmhvh5ms8z305f9bzldhigr020l1a7iqycxqv05h6b6vm";
+      url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.4801.tar.gz;
+      sha256 = "1p5bqyq3gxfb1q4wajd28498fsbqk7f2y7pk9c3rnh0x36cqbvyw";
     };
     propagatedBuildInputs = [ TextDiff ];
     meta = {
@@ -7993,19 +8502,19 @@ rec {
   };
 
   TestException = buildPerlPackage rec {
-    name = "Test-Exception-0.31";
+    name = "Test-Exception-0.32";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "1lyd6mcg00348xsn9fl59spx68a69ybli7h7gd2k0p4y21q8p0ks";
+      url = "mirror://cpan/authors/id/A/AD/ADIE/${name}.tar.gz";
+      sha256 = "0issbjh5yl62lpaff5zhn28zhbf8sv8n2g79vklfr5s703k2fi5s";
     };
     propagatedBuildInputs = [ SubUplevel ];
   };
 
   TestFailWarnings = buildPerlPackage {
-    name = "Test-FailWarnings-0.005";
+    name = "Test-FailWarnings-0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.005.tar.gz;
-      sha256 = "014f909e6c171f77b811139c49c1dca9d0f1e2d1c41b5dca332b6b55b3eb0b4e";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz;
+      sha256 = "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s";
     };
     buildInputs = [ CaptureTiny ];
     meta = {
@@ -8018,10 +8527,10 @@ rec {
   };
 
   TestFatal = buildPerlPackage {
-    name = "Test-Fatal-0.010";
+    name = "Test-Fatal-0.013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.010.tar.gz;
-      sha256 = "01ck4wyrj4nqyr1cz3lcff6g9nryadsflpf85jmsa6vcl2bq8pl0";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.013.tar.gz;
+      sha256 = "1rrndzkjff3bdlzzdsfsd3fhng142la2m74ihkgv17islkp17yq2";
     };
     propagatedBuildInputs = [ TryTiny ];
     meta = {
@@ -8067,6 +8576,18 @@ rec {
     };
   };
 
+  TestLeakTrace = buildPerlPackage rec {
+    name = "Test-LeakTrace-0.14";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
+      sha256 = "06cn4g35l2gi9vbsdi2j49cxsji9fvfi7xp4xgdyxxds9vrxydia";
+    };
+    meta = {
+      description = "Traces memory leaks";
+      license = "perl";
+    };
+  };
+
   TestLongString = buildPerlPackage rec {
     name = "Test-LongString-0.15";
     src = fetchurl {
@@ -8142,18 +8663,18 @@ rec {
   };
 
   TestMockTime = buildPerlPackage rec {
-    name = "Test-MockTime-0.09";
+    name = "Test-MockTime-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DD/DDICK/${name}.tar.gz";
-      sha256 = "1j2riyikzyfkxsgkfdqirs7xa8q5d06b9klpk7l9sgydwqdvxdv3";
+      sha256 = "104p9qsqcchfbxh6b6w7q9jhkwb4hc424js0cyivyanjm6bcqvj9";
     };
   };
 
   TestMojibake = buildPerlPackage {
-    name = "Test-Mojibake-0.8";
+    name = "Test-Mojibake-0.9";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.8.tar.gz;
-      sha256 = "66d82ca4fe539bb69ee8179d96370e50777a9547176428baf4dbe190ef78b4cb";
+      url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.9.tar.gz;
+      sha256 = "0b7jamkmws6k3cvzwrz3r5vcpjrdhr8wndf82i5nx2z19xsy33ym";
     };
     meta = {
       homepage = https://github.com/creaktive/Test-Mojibake;
@@ -8165,10 +8686,10 @@ rec {
   TestMore = TestSimple;
 
   TestMost = buildPerlPackage {
-    name = "Test-Most-0.31";
+    name = "Test-Most-0.33";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.31.tar.gz;
-      sha256 = "0ddc6034dc7cde3631dde41ecb558ed823fc07804bfd051b8ec9a70131862ab7";
+      url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.33.tar.gz;
+      sha256 = "0jp4jcwk97bgf85wwyjpxfsx4165s6w1v4ymn9gnv03yn77inyij";
     };
     propagatedBuildInputs = [ ExceptionClass TestDeep TestDifferences TestException TestWarn ];
     meta = {
@@ -8233,10 +8754,10 @@ rec {
   };
 
   TestPod = buildPerlPackage {
-    name = "Test-Pod-1.45";
+    name = "Test-Pod-1.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-Pod-1.45.tar.gz;
-      sha256 = "0yv0bglm4b9zfi9l5z6x2dy6pzlh8n5z9yl7py5v6h48mwgk74fk";
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-Pod-1.48.tar.gz;
+      sha256 = "1hmwwhabyng4jrnll926b4ab73r40w3pfchlrvs0yx6kh6kwwy14";
     };
     meta = {
       homepage = http://search.cpan.org/dist/Test-Pod/;
@@ -8294,10 +8815,10 @@ rec {
   };
 
   TestRoutine = buildPerlPackage {
-    name = "Test-Routine-0.015";
+    name = "Test-Routine-0.018";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.015.tar.gz;
-      sha256 = "04hm18sx90k38vxk70g8zj9wp0i7h4436cxflbc6pspvphv2fjg3";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.018.tar.gz;
+      sha256 = "1slaljcija2pbsxdyrqsh09pgajxbln68gb47l9fwffb6gsp5f3m";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ Moose namespaceautoclean namespaceclean ParamsUtil SubExporter ];
@@ -8339,10 +8860,10 @@ rec {
   };
 
   TestSynopsis = buildPerlPackage {
-    name = "Test-Synopsis-0.06";
+    name = "Test-Synopsis-0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-Synopsis-0.06.tar.gz;
-      sha256 = "fb3eed184eaf8a3c2338ec14b7235fa75fc43cf5f3774d927a4c947a5141db1b";
+      url = mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.10.tar.gz;
+      sha256 = "0gbk4d2vwlldsj5shmbdar3a29vgrw84ldsvm26mflkr5ji34adv";
     };
     meta = {
       description = "Test your SYNOPSIS code";
@@ -8378,10 +8899,10 @@ rec {
   };
 
   TestTester = buildPerlPackage {
-    name = "Test-Tester-0.108";
+    name = "Test-Tester-0.109";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FD/FDALY/Test-Tester-0.108.tar.gz;
-      sha256 = "1pby9w41b7z0cgnxpgkh397x7z68855sjg5yda48r6lck3lga62h";
+      url = mirror://cpan/authors/id/F/FD/FDALY/Test-Tester-0.109.tar.gz;
+      sha256 = "0m9n28z09kq455r5nydj1bnr85lvmbfpcbjdkjfbpmfb5xgciiyk";
     };
   };
 
@@ -8413,10 +8934,10 @@ rec {
   };
 
   TestWarn = buildPerlPackage {
-    name = "Test-Warn-0.24";
+    name = "Test-Warn-0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.24.tar.gz;
-      sha256 = "12r1mcwrm6cgc3ppgawwv265vmrighj4bl6xc5c41f4c2l6bdxml";
+      url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz;
+      sha256 = "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1";
     };
     propagatedBuildInputs = [ SubUplevel TreeDAGNode ];
     meta = {
@@ -8469,10 +8990,10 @@ rec {
   };
 
   TestWWWMechanizeCatalyst = buildPerlPackage {
-    name = "Test-WWW-Mechanize-Catalyst-0.58";
+    name = "Test-WWW-Mechanize-Catalyst-0.59";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-WWW-Mechanize-Catalyst-0.58.tar.gz;
-      sha256 = "1pa2m064skxfwsm93hffxcyky4kcn2q418vnw2fn79ich6wrcijd";
+      url = mirror://cpan/authors/id/I/IL/ILMARI/Test-WWW-Mechanize-Catalyst-0.59.tar.gz;
+      sha256 = "1hr1p8m3sv16ws8qb90nshza28qlmllnb6qxriwdvwddp2y517jv";
     };
     doCheck = false; # listens on an external port
     propagatedBuildInputs = [ CatalystRuntime LWP Moose namespaceclean TestWWWMechanize WWWMechanize ];
@@ -8522,10 +9043,10 @@ rec {
   };
 
   TextAligner = buildPerlPackage {
-    name = "Text-Aligner-0.07";
+    name = "Text-Aligner-0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANNO/Text-Aligner-0.07.tar.gz;
-      sha256 = "1vpb87binmmysr4sxfjinxg4bh3rb4rmrx48yyczgmyddmda9rik";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.10.tar.gz;
+      sha256 = "0d80x5jrv5j9yi234rdnjvnsnmhm4jsssqv7bpkl1fhjd1kfc7v0";
     };
     meta = {
       description = "Align text in columns";
@@ -8533,11 +9054,11 @@ rec {
   };
 
   TextBibTeX = buildPerlModule {
-    name = "Text-BibTeX-0.66";
+    name = "Text-BibTeX-0.69";
     buildInputs = [ ConfigAutoConf ExtUtilsLibBuilder ];
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AM/AMBS/Text/Text-BibTeX-0.66.tar.gz;
-      sha256 = "0wymg190afqfhr5i9ws02jgnksk06h3w45770ynjjr1fs343b9j7";
+      url = mirror://cpan/authors/id/A/AM/AMBS/Text/Text-BibTeX-0.69.tar.gz;
+      sha256 = "1gzh5zh2ggfp15q5im7gpr1krq4mzmhbjdivyb2x03vcg0qdkk3z";
     };
     meta = {
       description = "Interface to read and parse BibTeX files";
@@ -8546,10 +9067,10 @@ rec {
   };
 
   TextCSV = buildPerlPackage rec {
-    name = "Text-CSV-1.10";
+    name = "Text-CSV-1.32";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/${name}.tar.gz";
-      sha256 = "0vb0093v3kk7iczb46zzdg7myfyjldwrk8wbk7ibk56gvj350f7c";
+      sha256 = "1bzrizyp8n2013nhd34j52bzdqcp9la30aqbdfkij52ssxkfm7xl";
     };
   };
 
@@ -8574,6 +9095,18 @@ rec {
     };
   };
 
+  TestInter = buildPerlPackage {
+    name = "Test-Inter-1.05";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.05.tar.gz;
+      sha256 = "bda95ef503f1c1b39a5cd1ea686d18a67a63b56a8eb458f0614fc2acc51f7988";
+    };
+    meta = {
+      description = "Framework for more readable interactive test scripts";
+      license = "perl";
+    };
+  };
+
   TextMarkdown = buildPerlPackage rec {
     name = "Text-Markdown-1.0.26";
     src = fetchurl {
@@ -8600,10 +9133,10 @@ rec {
   };
 
   TestMinimumVersion = buildPerlPackage {
-    name = "Test-MinimumVersion-0.101080";
+    name = "Test-MinimumVersion-0.101081";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101080.tar.gz;
-      sha256 = "51fc0bd73ece9d41887f8d0a57ee27fbc205c271c5b5246111efe7d3247ddfb0";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101081.tar.gz;
+      sha256 = "1javb92s0bl7gj2m3fsvzd0mn5r76clmayq8878mq12g4smdvpi2";
     };
     buildInputs = [ TestTester ];
     propagatedBuildInputs = [ FileFindRule FileFindRulePerl PerlMinimumVersion YAMLTiny ];
@@ -8614,10 +9147,10 @@ rec {
   };
 
   TextMicroTemplate = buildPerlPackage {
-    name = "Text-MicroTemplate-0.19";
+    name = "Text-MicroTemplate-0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.19.tar.gz;
-      sha256 = "0hli95kn67slr6ixffcx6qvv36hlr03hij28029k3f8d7b7f32za";
+      url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.20.tar.gz;
+      sha256 = "0da44kd3z4n23wivy99583cscmiay2xv0wq9dzx6mg8vq874kx74";
     };
     meta = {
       description = "Micro template engine with Perl5 language";
@@ -8637,9 +9170,9 @@ rec {
   };
 
   TextRecordParser = buildPerlPackage rec {
-    name = "Text-RecordParser-v1.5.0";
+    name = "Text-RecordParser-1.5.0";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/K/KC/KCLARK/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-v1.5.0.tar.gz";
       sha256 = "0zlwpayjnpjani3v3hgi77207i3n5fppcxww20chdldx98dkj7jm";
     };
 
@@ -8664,24 +9197,26 @@ rec {
   };
 
   TextTable = buildPerlPackage {
-    name = "Text-Table-1.126";
+    name = "Text-Table-1.129";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.126.tar.gz;
-      sha256 = "18v9ll360q4hlhmpks175da7y8nf6ywygd39archnw3zpn1cv7h1";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.129.tar.gz;
+      sha256 = "1b8l86yvvsncnx0w45w095n1h7lff6nxjy87dzk7zgvkmr0ary7c";
     };
+    buildInputs = [ TestPod TestPodCoverage ];
     propagatedBuildInputs = [ TextAligner ];
     meta = {
       homepage = http://www.shlomifish.org/open-source/projects/docmake/;
       description = "Organize Data in Tables";
       license = "bsd";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
   TextTabularDisplay = buildPerlPackage rec {
-    name = "Text-TabularDisplay-1.22";
+    name = "Text-TabularDisplay-1.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz";
-      sha256 = "05r3jvdf8av16hgy0i3wnc581ski08q1bnllq5cq1fnc7h2nm1c7";
+      sha256 = "0sbyfdiln6q2g66mv64alayfcqnqg17kihdzgpslxdsn14vpvjq5";
     };
     propagatedBuildInputs = [TextAligner];
   };
@@ -8699,7 +9234,7 @@ rec {
   };
 
   TestTrap = buildPerlPackage {
-    name = "Test-Trap-v0.2.2";
+    name = "Test-Trap-0.2.2";
     src = fetchurl {
       url = mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.2.2.tar.gz;
       sha256 = "1ci5ag9pm850ww55n2929skvw3avy6xcrwmmi2yyn0hifxx9dybs";
@@ -8726,10 +9261,10 @@ rec {
   };
 
   TestVersion = buildPerlPackage {
-    name = "Test-Version-1.002001";
+    name = "Test-Version-1.002004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XE/XENO/Test-Version-1.002001.tar.gz;
-      sha256 = "84e741a1b9196b41130a7ec3f07b94e0e97e7e3f8abfb65e599f2760e01202ad";
+      url = mirror://cpan/authors/id/X/XE/XENO/Test-Version-1.002004.tar.gz;
+      sha256 = "1lvg1p6i159ssk5br5qb3gvrzdg59wchd97z7j44arnlkhfvwhgv";
     };
     buildInputs = [ TestException TestRequires TestTester ];
     propagatedBuildInputs = [ FileFindRulePerl ];
@@ -8775,10 +9310,10 @@ rec {
   };
 
   TextWikiFormat = buildPerlPackage {
-    name = "Text-WikiFormat-0.80";
+    name = "Text-WikiFormat-0.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.80.tar.gz;
-      sha256 = "0i1mg3ivxhx09x0w06k15izc92bknwqwh0ghpmhlq9s9iw12mmry";
+      url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz;
+      sha256 = "0cxbgx879bsskmnhjzamgsa5862ddixyx4yr77lafmwimnaxjg74";
     };
     propagatedBuildInputs = [ URI ];
     meta = {
@@ -8796,11 +9331,23 @@ rec {
     propagatedBuildInputs = [ DevelStackTrace Moose ];
   };
 
+  TieCycle = buildPerlPackage {
+    name = "Tie-Cycle-1.19";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.19.tar.gz;
+      sha256 = "bd315874c85feaf8948eeb2f40fe2768a6ca00f089e35b32bfe88f3f384f9ca1";
+    };
+    meta = {
+      description = "Cycle through a list of values via a scalar";
+      license = "perl";
+    };
+  };
+
   TieIxHash = buildPerlPackage {
-    name = "Tie-IxHash-1.22";
+    name = "Tie-IxHash-1.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz;
-      sha256 = "0f0m0x8nkidxd0pxnls1i8kc8d7bd89dqgihz29wj3ggk43qffr7";
+      url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz;
+      sha256 = "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs";
     };
     meta = {
       description = "Ordered associative arrays for Perl";
@@ -8808,6 +9355,18 @@ rec {
     };
   };
 
+  TieHashIndexed = buildPerlPackage {
+    name = "Tie-Hash-Indexed-0.05";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.05.tar.gz;
+      sha256 = "a8862a4763d58a8c785e34b8b18e5db4ce5c3e36b9b5cf565a3088584eab361e";
+    };
+    meta = {
+      description = "Ordered hashes for Perl";
+      license = "perl";
+    };
+  };
+
   TieToObject = buildPerlPackage {
     name = "Tie-ToObject-0.03";
     src = fetchurl {
@@ -8818,18 +9377,18 @@ rec {
   };
 
   TimeDate = buildPerlPackage {
-    name = "TimeDate-1.16";
+    name = "TimeDate-2.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-1.16.tar.gz;
-      sha256 = "1cvcpaghn7dc14m9871sfw103g3m3a00m2mrl5iqb0mmh40yyhkr";
+      url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz;
+      sha256 = "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm";
     };
   };
 
   TimeDuration = buildPerlPackage {
-    name = "Time-Duration-1.1";
+    name = "Time-Duration-1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AV/AVIF/Time-Duration-1.1.tar.gz;
-      sha256 = "a69c419c4892f21eba10002e2ab8c55b657b6691cf6873544ef99ef5fd188f4e";
+      url = mirror://cpan/authors/id/A/AV/AVIF/Time-Duration-1.06.tar.gz;
+      sha256 = "0krzgxifghwir1ibxg147sfpqyyv8xpvipx0nwlwgyay46x4gdpp";
     };
     buildInputs = [ TestPod TestPodCoverage ];
     meta = {
@@ -8853,10 +9412,10 @@ rec {
   };
 
   TimeHiRes = buildPerlPackage rec {
-    name = "Time-HiRes-1.9725";
+    name = "Time-HiRes-1.9726";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Time/${name}.tar.gz";
-      sha256 = "0fr7zkc55kazcjxdkrcjgimic8xpk6imxkckdpjlggjpkggv76f0";
+      sha256 = "17hhd53p72z08l1riwz5f6rch6hngby1pympkla5miznn7cjlrpz";
     };
   };
 
@@ -8888,10 +9447,10 @@ rec {
   };
 
   TreeSimpleVisitorFactory = buildPerlPackage {
-    name = "Tree-Simple-VisitorFactory-0.10";
+    name = "Tree-Simple-VisitorFactory-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STEVAN/Tree-Simple-VisitorFactory-0.10.tar.gz;
-      sha256 = "1ghcgnb3xvqjyh4h4aa37x98613aldnpj738z9b80p33bbfxq158";
+      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.12.tgz;
+      sha256 = "1g27xl48q1vr7aikhxg4vvcsj1si8allxz59vmnks61wsw4by7vg";
     };
     propagatedBuildInputs = [TreeSimple];
     buildInputs = [TestException];
@@ -8930,10 +9489,14 @@ rec {
   };
 
   UNIVERSALrequire = buildPerlPackage {
-    name = "UNIVERSAL-require-0.11";
+    name = "UNIVERSAL-require-0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/UNIVERSAL-require-0.11.tar.gz;
-      sha256 = "1rh7i3gva4m96m31g6yfhlqcabszhghbb3k3qwxbgx3mkf5s6x6i";
+      url = mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.17.tar.gz;
+      sha256 = "5dc9f13f2d2bbdf852387e2a63c0753728c2bea9125dd628c313db3ef66ec4c3";
+    };
+    meta = {
+      description = "Require() modules from a variable";
+      license = "perl";
     };
   };
 
@@ -8948,6 +9511,18 @@ rec {
     };
   };
 
+  UnicodeCollate = buildPerlPackage {
+    name = "Unicode-Collate-1.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SA/SADAHIRO/Unicode-Collate-1.04.tar.gz;
+      sha256 = "4e3a2300b961d3aaf3789cdbfb95601edaaffb4109ed6cdb912a664d5c7bd706";
+    };
+    meta = {
+      description = "Unicode Collation Algorithm";
+      license = "perl";
+    };
+  };
+
   UnicodeICUCollator = buildPerlPackage {
     name = "Unicode-ICU-Collator-0.002";
     src = fetchurl {
@@ -8963,6 +9538,19 @@ rec {
     buildInputs = [ pkgs.icu ];
   };
 
+  UnicodeLineBreak = buildPerlPackage {
+    name = "Unicode-LineBreak-2013.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2013.11.tar.gz;
+      sha256 = "8946b883ae687ff652e93d6185e23a936c7f337f2e115851fdfed72e1f73c7f9";
+    };
+    propagatedBuildInputs = [ MIMECharset ];
+    meta = {
+      description = "UAX #14 Unicode Line Breaking Algorithm";
+      license = "perl";
+    };
+  };
+
   UnixGetrusage = buildPerlPackage {
     name = "Unix-Getrusage-0.03";
     src = fetchurl {
@@ -8998,10 +9586,10 @@ rec {
   };
 
   URIFromHash = buildPerlPackage {
-    name = "URI-FromHash-0.03";
+    name = "URI-FromHash-0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.03.tar.gz;
-      sha256 = "0yzk69mdf8rmkx1wxm5mn1a1zzd0zq4x1w83vyj9ja40v73q0k4i";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.04.tar.gz;
+      sha256 = "03yckli4fj8cgsyh1l1lmyxj56q9qc04a3r8kv0whbnb37zz1j23";
     };
     propagatedBuildInputs = [ ParamsValidate URI ];
     meta = {
@@ -9034,18 +9622,18 @@ rec {
   };
 
   VariableMagic = buildPerlPackage rec {
-    name = "Variable-Magic-0.48";
+    name = "Variable-Magic-0.53";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Variable/${name}.tar.gz";
-      sha256 = "124isksyw52br0y304dq4fcm26jk1v44s6ni1xd10nnl26fwmzbw";
+      sha256 = "1mxygb7q8n01klpzdmf8mvbm1i5zhazcm48yiw6dz0xk2fwrgz8q";
     };
   };
 
   version = buildPerlPackage rec {
-    name = "version-0.9902";
+    name = "version-0.9908";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/version/${name}.tar.gz";
-      sha256 = "17fdj3hxks33plapj3hinjgmyblnh302z52rq4b9spnz22q5vhww";
+      url = "mirror://cpan/authors/id/J/JP/JPEACOCK/${name}.tar.gz";
+      sha256 = "0nq84i1isk01ikwjxxynqyzz4g4g6hcbjq8l426n0hr42znlfmn4";
     };
   };
 
@@ -9074,10 +9662,10 @@ rec {
   };
 
   WWWCurl = buildPerlPackage rec {
-    name = "WWW-Curl-4.15";
+    name = "WWW-Curl-4.17";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/WWW/${name}.tar.gz";
-      sha256 = "18az7k0jsr642lp6dfy0b2s7vx0cd7sj9dgk93wff73safa09x1y";
+      url = "mirror://cpan/authors/id/S/SZ/SZBALINT/${name}.tar.gz";
+      sha256 = "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj";
     };
     buildInputs = [ pkgs.curl ];
     preConfigure =
@@ -9088,10 +9676,10 @@ rec {
   };
 
   WWWMechanize = buildPerlPackage {
-    name = "WWW-Mechanize-1.72";
+    name = "WWW-Mechanize-1.73";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz;
-      sha256 = "0vs3p2697675bswjayfmm37lg3xsxm94z1mif18s732kwvnpg6m6";
+      url = mirror://cpan/authors/id/E/ET/ETHER/WWW-Mechanize-1.73.tar.gz;
+      sha256 = "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9";
     };
     propagatedBuildInputs = [ HTMLForm HTMLParser HTMLTree HTTPDaemon HTTPMessage HTTPServerSimple LWP LWPUserAgent TestWarn URI ];
     doCheck = false;
@@ -9133,10 +9721,10 @@ rec {
   };
 
   Wx = buildPerlPackage rec {
-    name = "Wx-0.9922";
+    name = "Wx-0.9923";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz";
-      sha256 = "11x3cvffcyi4b2c6pz9awks3zrg83bg1cwapm4psdiqnd568safw";
+      sha256 = "1ja2fkz0xabafyc6gnp3nnwsbkkjsf44kq9x5zz6cb5fsp3p9sck";
     };
     propagatedBuildInputs = [ ExtUtilsXSpp AlienWxWidgets ];
     # Testing requires an X server:
@@ -9144,17 +9732,63 @@ rec {
     doCheck = false;
   };
 
+  X11Protocol = buildPerlPackage rec {
+    name = "X11-Protocol-0.56";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SM/SMCCAM/${name}.tar.gz";
+      sha256 = "1dq89bh6fqv7l5mbffqcismcljpq5f869bx7g8lg698zgindv5ny";
+    };
+    buildInputs = [pkgs.x11];
+    NIX_CFLAGS_LINK = "-lX11";
+    doCheck = false; # requires an X server
+  };
+
   X11GUITest = buildPerlPackage rec {
-    name = "X11-GUITest-0.21";
+    name = "X11-GUITest-0.28";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CT/CTRONDLP/${name}.tar.gz";
-      sha256 = "0akjk2x2d3j1f95wn93mh6nvq8p6c9jcqmvkh1mli5jxr1rmhjx8";
+      sha256 = "0jznws68skdzkhgkgcgjlj40qdyh9i75r7fw8bqzy406f19xxvnw";
     };
     buildInputs = [pkgs.x11 pkgs.xorg.libXtst pkgs.xorg.libXi];
     NIX_CFLAGS_LINK = "-lX11 -lXext -lXtst";
     doCheck = false; # requires an X server
   };
 
+  X11XCB = buildPerlPackage rec {
+    name = "X11-XCB-0.11";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz";
+      sha256 = "18i3z1fzw76kl9n5driys12r6vhp3r6rmb2pjn5nc7m9n4bwgh38";
+    };
+    AUTOMATED_TESTING = false;
+    buildInputs = [
+      ExtUtilsDepends ExtUtilsPkgConfig DataDump
+      XMLSimple XMLDescent TestDeep TestException
+      pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm
+    ];
+    propagatedBuildInputs = [ XSObjectMagic Mouse MouseXNativeTraits TryTiny ];
+    NIX_CFLAGS_LINK = [ "-lxcb" "-lxcb-util" "-lxcb-xinerama" "-lxcb-icccm" ];
+    doCheck = false; # requires an X server
+    meta = {
+      description = "XCB bindings for X";
+      license = "perl";
+    };
+  };
+
+  XMLDescent = buildPerlPackage rec {
+    name = "XML-Descent-1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz";
+      sha256 = "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7";
+    };
+    buildInputs = [ TestDifferences ];
+    propagatedBuildInputs = [ XMLTokeParser ];
+    meta = {
+      description = "Recursive descent XML parsing";
+      license = "perl";
+    };
+  };
+
   XMLDOM = buildPerlPackage {
     name = "XML-DOM-1.44";
     src = fetchurl {
@@ -9165,39 +9799,52 @@ rec {
   };
 
   XMLLibXML = buildPerlPackage rec {
-    name = "XML-LibXML-2.0014";
+    name = "XML-LibXML-2.0115";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz";
-      sha256 = "0r2mw6pnygj2bpng9f4q5jfn4iawhkj47ys3sbnvqymyp1afihf6";
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "0d6l6idl2920x9xi097fvzfdn9i0s8qa9ksw4bz2w1wh3zsn07zm";
     };
     SKIP_SAX_INSTALL = 1;
     buildInputs = [ pkgs.libxml2 ];
     propagatedBuildInputs = [ XMLSAX ];
   };
 
+  XMLLibXMLSimple = buildPerlPackage {
+    name = "XML-LibXML-Simple-0.93";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-0.93.tar.gz;
+      sha256 = "f2eb1c1523d6414cf2a646a289b0325b489954382c862928d165a03a7cce767c";
+    };
+    propagatedBuildInputs = [ FileSlurp XMLLibXML ];
+    meta = {
+      description = "XML::LibXML based XML::Simple clone";
+      license = "perl";
+    };
+  };
+
   XMLLibXSLT = buildPerlPackage rec {
-    name = "XML-LibXSLT-1.70";
+    name = "XML-LibXSLT-1.89";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz";
-      sha256 = "0x8lqlxr6xhgwwa6zj4shrwrqlgbgs0piripc1fsnw4z1yl2gf9p";
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "0py7ll5vj2k977l4r2g8bbz0hdy0hhkdq0mzblrwizify0825b12";
     };
     buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ];
     propagatedBuildInputs = [ XMLLibXML ];
   };
 
   XMLNamespaceSupport = buildPerlPackage {
-    name = "XML-NamespaceSupport-1.09";
+    name = "XML-NamespaceSupport-1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RB/RBERJON/XML-NamespaceSupport-1.09.tar.gz;
-      sha256 = "0ny2i4pf6j8ggfj1x02rm5zm9a37hfalgx9w9kxnk69xsixfwb51";
+      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz;
+      sha256 = "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd";
     };
   };
 
   XMLParser = buildPerlPackage {
-    name = "XML-Parser-2.36";
+    name = "XML-Parser-2.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz;
-      sha256 = "0gyp5qfbflhkin1zv8l6wlkjwfjvsf45a3py4vc6ni82fj32kmcz";
+      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.41.tar.gz;
+      sha256 = "1sadi505g5qmxr36lgcbrcrqh3a5gcdg32b405gnr8k54b6rg0dl";
     };
     makeMakerFlags = "EXPATLIBPATH=${pkgs.expat}/lib EXPATINCPATH=${pkgs.expat}/include";
   };
@@ -9225,10 +9872,10 @@ rec {
   };
 
   XMLRegExp = buildPerlPackage {
-    name = "XML-RegExp-0.03";
+    name = "XML-RegExp-0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.03.tar.gz;
-      sha256 = "1gkarylvdk3mddmchcwvzq09gpvx5z26nybp38dg7mjixm5bs226";
+      url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz;
+      sha256 = "0m7wj00a2kik7wj0azhs1zagwazqh3hlz4255n75q21nc04r06fz";
     };
   };
 
@@ -9255,37 +9902,63 @@ rec {
   };
 
   XMLSimple = buildPerlPackage {
-    name = "XML-Simple-2.18";
+    name = "XML-Simple-2.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.18.tar.gz;
-      sha256 = "09k8fvc9m5nd5rqq00rwm3m0wx7iwd6vx0vc947y58ydi30nfjd5";
+      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz;
+      sha256 = "0jj3jiray1l4pi9wkjcpxjc3v431whdwx5aqnhgdm4i7h3817zsw";
     };
     propagatedBuildInputs = [XMLParser];
   };
 
+  XMLTokeParser = buildPerlPackage rec {
+    name = "XML-TokeParser-0.05";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PO/PODMASTER/${name}.tar.gz";
+      sha256 = "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5";
+    };
+    propagatedBuildInputs = [ XMLParser ];
+    meta = {
+      description = "Simplified interface to XML::Parser";
+      license = "perl";
+    };
+  };
+
   XMLTwig = buildPerlPackage {
-    name = "XML-Twig-3.32";
+    name = "XML-Twig-3.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.32.tar.gz;
-      sha256 = "07zdsfzw9dlrx6ril9clf1jfif09vpf27rz66laja7mvih9izd1v";
+      url = mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.44.tar.gz;
+      sha256 = "1fi05ddq4dqpff7xvgsw2rr8p5bah401gmblyb3pvjg225ic2l96";
     };
     propagatedBuildInputs = [XMLParser];
     doCheck = false;  # requires lots of extra packages
   };
 
   XMLWriter = buildPerlPackage rec {
-    name = "XML-Writer-0.612";
+    name = "XML-Writer-0.624";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz";
-      sha256 = "1prvgbjxynxg6061qxzfbbimjvil04513hf3hsilv0hdg58nb9jk";
+      sha256 = "0yyz0dh9b4clailbxyi90dfrqpyc6py77rmmz6qmkx7ynlpyxk46";
+    };
+  };
+
+  XSObjectMagic = buildPerlPackage rec {
+    name = "XS-Object-Magic-0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
+      sha256 = "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six";
+    };
+    buildInputs = [ ExtUtilsDepends TestFatal Testuseok ];
+    meta = {
+      description = "XS pointer backed objects using sv_magic";
+      license = "perl";
     };
   };
 
   YAML = buildPerlPackage {
-    name = "YAML-0.84";
+    name = "YAML-0.90";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/YAML-0.84.tar.gz;
-      sha256 = "03349n2z32gwjqiq7l3g57avvphl2rw3lmwc8i5cl9hmfw51yd8a";
+      url = mirror://cpan/authors/id/I/IN/INGY/YAML-0.90.tar.gz;
+      sha256 = "0kfsmhv1lmqw2g1038azpxkfb91valwkh4i4gfjvqrj2wsr2hzhq";
     };
     meta = {
       homepage = https://github.com/ingydotnet/yaml-pm/tree;
@@ -9295,10 +9968,10 @@ rec {
   };
 
   YAMLSyck = buildPerlPackage {
-    name = "YAML-Syck-1.22";
+    name = "YAML-Syck-1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.22.tar.gz;
-      sha256 = "0n3k71i0b8mhdrl5kp1cwyvjbkqahyqkhp81wl3qnkfhyi39f55y";
+      url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.27.tar.gz;
+      sha256 = "1y9dw18fz3s8v4n80wf858cjq4jlaza25wvsgv60a6z2l0sfax6y";
     };
     meta = {
       homepage = http://search.cpan.org/dist/YAML-Syck;
@@ -9316,11 +9989,11 @@ rec {
   };
 
   YAMLLibYAML = buildPerlPackage rec {
-    name = "YAML-LibYAML-0.38";
+    name = "YAML-LibYAML-0.41";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/YAML/${name}.tar.gz";
-      sha256 = "eb98f304d14f6557b07adfa24da16e00cfa54a9d9484b6e898e35f919c5eb7ba";
+      url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
+      sha256 = "1kj506lpg3fhqq0726p6y2h7pk24l6xihfyhqqsf8gd6lckl8rcs";
     };
   };
 
-}
+}; in self
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
new file mode 100644
index 00000000000..1225021ad37
--- /dev/null
+++ b/pkgs/top-level/php-packages.nix
@@ -0,0 +1,75 @@
+{ pkgs, php }:
+
+let self = with self; {
+  buildPecl = import ../build-support/build-pecl.nix {
+    inherit php;
+    inherit (pkgs) stdenv autoreconfHook fetchurl;
+  };
+
+  memcache = buildPecl {
+    name = "memcache-3.0.8";
+
+    sha256 = "04c35rj0cvq5ygn2jgmyvqcb0k8d03v4k642b6i37zgv7x15pbic";
+
+    configureFlags = "--with-zlib-dir=${pkgs.zlib}";
+  };
+
+  memcached = buildPecl {
+    name = "memcached-2.1.0";
+
+    sha256 = "1by4zhkq4mbk9ja6s0vlavv5ng8aw5apn3a1in84fkz7bc0l0jdw";
+
+    configureFlags = [
+      "--with-zlib-dir=${pkgs.zlib}"
+      "--with-libmemcached-dir=${pkgs.libmemcached}"
+    ];
+
+    buildInputs = [ pkgs.cyrus_sasl ];
+  };
+
+  xdebug = buildPecl {
+    name = "xdebug-2.2.5";
+
+    sha256 = "0vss35da615709kdvqji8pblckfvmabmj2njjjz6h8zzvj9gximd";
+  };
+
+  apc = buildPecl {
+    name = "apc-3.1.13";
+
+    sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y";
+  };
+
+  zmq = buildPecl {
+    name = "zmq-1.1.2";
+
+    sha256 = "0ccz73p8pkda3y9p9qbr3m19m0yrf7k2bvqgbaly3ibgh9bazc69";
+
+    configureFlags = [
+      "--with-zmq=${pkgs.zeromq2}"
+    ];
+
+    buildInputs = [ pkgs.pkgconfig ];
+  };
+
+  xcache = buildPecl rec {
+    name = "xcache-${version}";
+
+    version = "3.1.0";
+
+    src = pkgs.fetchurl {
+      url = "http://xcache.lighttpd.net/pub/Releases/${version}/${name}.tar.bz2";
+      md5 = "e5816d47d52be200b959bf69a673ff74";
+    };
+
+    configureFlags = [
+      "--enable-xcache"
+      "--enable-xcache-coverager"
+      "--enable-xcache-optimizer"
+      "--enable-xcache-assembler"
+      "--enable-xcache-encoder"
+      "--enable-xcache-decoder"
+    ];
+
+    buildInputs = [ pkgs.m4 ];
+  };
+}; in self
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index d6408286581..299941790e9 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -1,5 +1,5 @@
 rec {
-  pc = {
+  pcBase = {
     name = "pc";
     uboot = null;
     kernelHeadersBaseConfig = "defconfig";
@@ -7,12 +7,17 @@ rec {
     # Build whatever possible as a module, if not stated in the extra config.
     kernelAutoModules = true;
     kernelTarget = "bzImage";
-    # Currently ignored - it should be set according to 'system' once it is
-    # not ignored. This is for stdenv-updates.
-    kernelArch = "i386";
   };
 
-  pc_simplekernel = pc // {
+  pc64 = pcBase // { kernelArch = "x86_64"; };
+
+  pc32 = pcBase // { kernelArch = "i386"; };
+
+  pc32_simplekernel = pc32 // {
+    kernelAutoModules = false;
+  };
+
+  pc64_simplekernel = pc64 // {
     kernelAutoModules = false;
   };
 
diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix
index e7308e2b816..e76cf4988d0 100644
--- a/pkgs/top-level/python-packages-generated.nix
+++ b/pkgs/top-level/python-packages-generated.nix
@@ -55,7 +55,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -67,15 +67,15 @@ in
   };
 
 
-  "Products.Archetypes-1.9.4" = self.buildPythonPackage {
-    name = "Products.Archetypes-1.9.4";
+  "Products.Archetypes-1.9.7" = self.buildPythonPackage {
+    name = "Products.Archetypes-1.9.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.Archetypes/Products.Archetypes-1.9.4.zip";
-        md5 = "fc5679b10df703a542b58da044f7d9c6";
+        url = "https://pypi.python.org/packages/source/P/Products.Archetypes/Products.Archetypes-1.9.7.zip";
+        md5 = "35060c0ed8faf76c3c488fa642bb9715";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.5" self."plone.folder-1.0.4" self."plone.uuid-1.0.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.Marshall-2.1.2" self."Products.MimetypesRegistry-2.0.5" self."Products.PlacelessTranslationService-2.0.4" self."Products.PortalTransforms-2.1.2" self."Products.statusmessages-4.0" self."Products.validation-2.0" self."Products.ZSQLMethods-2.13.4" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contenttype-3.5.5" self."zope.datetime-3.4.1" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.tal-3.5.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.6" self."plone.folder-1.0.5" self."plone.uuid-1.0.3" self."Products.CMFCalendar-2.2.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.Marshall-2.1.2" self."Products.MimetypesRegistry-2.0.5" self."Products.PlacelessTranslationService-2.0.4" self."Products.PortalTransforms-2.1.3" self."Products.statusmessages-4.0" self."Products.validation-2.0" self."Products.ZSQLMethods-2.13.4" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contenttype-3.5.5" self."zope.datetime-3.4.1" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.tal-3.5.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -87,22 +87,22 @@ in
   };
 
 
-  "plone.app.contentlisting-1.0.5" = self.buildPythonPackage {
-    name = "plone.app.contentlisting-1.0.5";
+  "cssselect-0.9.1" = self.buildPythonPackage {
+    name = "cssselect-0.9.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.contentlisting/plone.app.contentlisting-1.0.5.zip";
-        md5 = "9fc15b8ecad1c918778c3ea9a75bf533";
+        url = "https://pypi.python.org/packages/source/c/cssselect/cssselect-0.9.1.tar.gz";
+        md5 = "c74f45966277dc7a0f768b9b0f3522ac";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.uuid-1.0.3" self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Listing of content for the Plone CMS
+        cssselect parses CSS3 Selectors and translates them to XPath 1.0
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.contentlisting";
-      license = "GPL version 2";
+      homepage = "http://packages.python.org/cssselect/";
+      license = "BSD";
     };
   };
 
@@ -115,7 +115,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -127,11 +127,11 @@ in
   };
 
 
-  "plone.folder-1.0.4" = self.buildPythonPackage {
-    name = "plone.folder-1.0.4";
+  "plone.folder-1.0.5" = self.buildPythonPackage {
+    name = "plone.folder-1.0.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.folder/plone.folder-1.0.4.zip";
-        md5 = "1674ff18b7a9452d0c2063cf11c679b7";
+        url = "https://pypi.python.org/packages/source/p/plone.folder/plone.folder-1.0.5.zip";
+        md5 = "2722124a411e2d267b08d6f4d81e262c";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -142,67 +142,47 @@ in
         BTree-based folder implementation with order support
         '';
       homepage = "http://pypi.python.org/pypi/plone.folder";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.z3cform-0.8.0" = self.buildPythonPackage {
-    name = "plone.z3cform-0.8.0";
+  "Products.CMFPlone-4.3.3" = self.buildPythonPackage {
+    name = "Products.CMFPlone-4.3.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.z3cform/plone.z3cform-0.8.0.zip";
-        md5 = "bdb23dd162544964d2f8f8f5f002e874";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFPlone/Products.CMFPlone-4.3.3.zip";
+        md5 = "e6638766d7bf59d27517174e9d67ea6b";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.batching-1.0" self.setuptools self."z3c.form-3.0.2" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.querywidget-1.0.10" self."archetypes.referencebrowserwidget-2.4.20" self."borg.localrole-3.0.2" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."five.customerize-1.1" self."five.localsitemanager-2.0.5" self."Pillow-2.3.0" self."plone.app.blob-1.5.9" self."plone.app.collection-1.0.11" self."plone.app.content-2.1.4" self."plone.app.contentlisting-1.0.5" self."plone.app.contentmenu-2.0.10" self."plone.app.contentrules-3.0.6" self."plone.app.controlpanel-2.3.8" self."plone.app.customerize-1.2.2" self."plone.app.discussion-2.2.12" self."plone.app.folder-1.0.6" self."plone.app.form-2.2.4" self."plone.app.i18n-2.0.2" self."plone.app.jquery-1.7.2" self."plone.app.jquerytools-1.5.7" self."plone.app.layout-2.3.11" self."plone.app.linkintegrity-1.5.4" self."plone.app.locales-4.3.3" self."plone.app.portlets-2.4.8" self."plone.app.redirector-1.2" self."plone.app.search-1.1.7" self."plone.app.upgrade-1.3.6" self."plone.app.users-1.2" self."plone.app.uuid-1.1" self."plone.app.viewletmanager-2.0.5" self."plone.app.vocabularies-2.1.14" self."plone.app.workflow-2.1.7" self."plone.batching-1.0.1" self."plone.browserlayer-2.1.3" self."plone.contentrules-2.0.4" self."plone.fieldsets-2.0.2" self."plone.i18n-2.0.9" self."plone.indexer-1.0.2" self."plone.intelligenttext-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.portlet.collection-2.1.5" self."plone.portlet.static-2.0.2" self."plone.portlets-2.2" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."plone.session-3.5.3" self."plone.theme-2.1.1" self."plonetheme.classic-1.3.3" self."plonetheme.sunburst-1.4.6" self."Products.Archetypes-1.9.7" self."Products.ATContentTypes-2.1.14" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDiffTool-2.1" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.9" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.DCWorkflow-2.2.4" self."Products.ExtendedPathIndex-3.1" self."Products.ExternalEditor-1.1.0" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PasswordResetTool-2.0.16" self."Products.PlacelessTranslationService-2.0.4" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self."Products.PluginRegistry-1.3" self."Products.PortalTransforms-2.1.3" self."Products.ResourceRegistries-2.2.10" self."Products.statusmessages-4.0" self."Products.TinyMCE-1.3.6" self.setuptools self."transaction-1.1.1" self."z3c.autoinclude-0.3.5" self."ZODB3-3.10.5" self."zope.app.locales-3.6.2" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.site-3.9.2" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        plone.z3cform is a library that allows use of z3c.form with Zope 2 and the CMF.
+        The Plone Content Management System (core)
         '';
-      homepage = "http://pypi.python.org/pypi/plone.z3cform";
-      license = "ZPL 2.1";
+      homepage = "http://plone.org/";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "six-1.4.1" = self.buildPythonPackage {
-    name = "six-1.4.1";
+  "waitress-0.8.9" = self.buildPythonPackage {
+    name = "waitress-0.8.9";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/s/six/six-1.4.1.tar.gz";
-        md5 = "bdbb9e12d3336c198695aa4cf3a61d62";
+        url = "https://pypi.python.org/packages/source/w/waitress/waitress-0.8.9.tar.gz";
+        md5 = "da3f2e62b3676be5dd630703a68e2a04";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Python 2 and 3 compatibility utilities
-        '';
-      homepage = "http://pypi.python.org/pypi/six/";
-      license = "UNKNOWN";
-    };
-  };
-
-
-  "Products.CMFPlone-4.3.2" = self.buildPythonPackage {
-    name = "Products.CMFPlone-4.3.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFPlone/Products.CMFPlone-4.3.2.zip";
-        md5 = "b9948583429d7d90475148d276fa5cf4";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.querywidget-1.0.9" self."archetypes.referencebrowserwidget-2.4.19" self."borg.localrole-3.0.2" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."five.customerize-1.1" self."five.localsitemanager-2.0.5" self."Pillow-1.7.8" self."plone.app.blob-1.5.8" self."plone.app.collection-1.0.11" self."plone.app.content-2.1.3" self."plone.app.contentlisting-1.0.5" self."plone.app.contentmenu-2.0.8" self."plone.app.contentrules-3.0.4" self."plone.app.controlpanel-2.3.7" self."plone.app.customerize-1.2.2" self."plone.app.discussion-2.2.8" self."plone.app.folder-1.0.5" self."plone.app.form-2.2.3" self."plone.app.i18n-2.0.2" self."plone.app.jquery-1.7.2" self."plone.app.jquerytools-1.5.6" self."plone.app.layout-2.3.7" self."plone.app.linkintegrity-1.5.3" self."plone.app.locales-4.3.2" self."plone.app.portlets-2.4.5" self."plone.app.redirector-1.2" self."plone.app.search-1.1.5" self."plone.app.upgrade-1.3.4" self."plone.app.users-1.2a2" self."plone.app.uuid-1.0" self."plone.app.viewletmanager-2.0.4" self."plone.app.vocabularies-2.1.11" self."plone.app.workflow-2.1.6" self."plone.batching-1.0" self."plone.browserlayer-2.1.2" self."plone.contentrules-2.0.3" self."plone.fieldsets-2.0.2" self."plone.i18n-2.0.9" self."plone.indexer-1.0.2" self."plone.intelligenttext-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.portlet.collection-2.1.5" self."plone.portlet.static-2.0.2" self."plone.portlets-2.2" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."plone.session-3.5.3" self."plone.theme-2.1" self."plonetheme.classic-1.3.2" self."plonetheme.sunburst-1.4.5" self."Products.Archetypes-1.9.4" self."Products.ATContentTypes-2.1.13" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDiffTool-2.1" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.8" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.DCWorkflow-2.2.4" self."Products.ExtendedPathIndex-3.1" self."Products.ExternalEditor-1.1.0" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PasswordResetTool-2.0.15" self."Products.PlacelessTranslationService-2.0.4" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self."Products.PluginRegistry-1.3" self."Products.PortalTransforms-2.1.2" self."Products.ResourceRegistries-2.2.9" self."Products.statusmessages-4.0" self."Products.TinyMCE-1.3.5" self.setuptools self."transaction-1.1.1" self."z3c.autoinclude-0.3.4" self."ZODB3-3.10.5" self."zope.app.locales-3.6.2" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.site-3.9.2" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        The Plone Content Management System (core)
+        Waitress WSGI server
         '';
-      homepage = "http://plone.org/";
-      license = "GPL version 2";
+      homepage = "https://github.com/Pylons/waitress";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -222,67 +202,47 @@ in
         zope.deferredimport allows you to perform imports names that will only be resolved when used in the code.
         '';
       homepage = "http://pypi.python.org/pypi/zope.deferredimport";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Mako-0.9.0" = self.buildPythonPackage {
-    name = "Mako-0.9.0";
+  "six-1.6.1" = self.buildPythonPackage {
+    name = "six-1.6.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/M/Mako/Mako-0.9.0.tar.gz";
-        md5 = "e2627ba5c65f83dfe39d9a0892ae517d";
-    };
-    doCheck = true;
-    buildInputs = [ self."nose-1.3.0" ];
-    propagatedBuildInputs = [ self."MarkupSafe-0.18" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        A super-fast templating language that borrows the  best ideas from the existing templating languages.
-        '';
-      homepage = "http://www.makotemplates.org/";
-      license = "MIT";
-    };
-  };
-
-
-  "waitress-0.8.7" = self.buildPythonPackage {
-    name = "waitress-0.8.7";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/w/waitress/waitress-0.8.7.tar.gz";
-        md5 = "714f3d458d82a47f12fb168460de8366";
+        url = "https://pypi.python.org/packages/source/s/six/six-1.6.1.tar.gz";
+        md5 = "07d606ac08595d795bf926cc9985674f";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Waitress WSGI server
+        Python 2 and 3 compatibility utilities
         '';
-      homepage = "https://github.com/Pylons/waitress";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/six/";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
 
-  "coverage-3.7" = self.buildPythonPackage {
-    name = "coverage-3.7";
+  "zope.deprecation-4.1.1" = self.buildPythonPackage {
+    name = "zope.deprecation-4.1.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/c/coverage/coverage-3.7.tar.gz";
-        md5 = "055d82e6849d882ec6cf2ae1faca8e56";
+        url = "https://pypi.python.org/packages/source/z/zope.deprecation/zope.deprecation-4.1.1.tar.gz";
+        md5 = "ce261b9384066f7e13b63525778430cb";
     };
     doCheck = true;
     buildInputs = [  ];
-    propagatedBuildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Code coverage measurement for Python
+        Zope Deprecation Infrastructure
         '';
-      homepage = "http://nedbatchelder.com/code/coverage";
-      license = "BSD";
+      homepage = "http://pypi.python.org/pypi/zope.deprecation";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -295,27 +255,27 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" self."eggtestinfo-0.3" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Uid product for the Zope Content Management Framework
         '';
       homepage = "http://pypi.python.org/pypi/Products.CMFUid";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.autoform-1.5" = self.buildPythonPackage {
-    name = "plone.autoform-1.5";
+  "plone.autoform-1.6" = self.buildPythonPackage {
+    name = "plone.autoform-1.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.autoform/plone.autoform-1.5.zip";
-        md5 = "a62216fb76017077643f5af8b1e17949";
+        url = "https://pypi.python.org/packages/source/p/plone.autoform/plone.autoform-1.6.zip";
+        md5 = "27412ab43f728064a60e2aeb564726b5";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.supermodel-1.2.3" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" ];
+    propagatedBuildInputs = [ self."plone.supermodel-1.2.4" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -327,11 +287,11 @@ in
   };
 
 
-  "Unidecode-0.04.1" = self.buildPythonPackage {
-    name = "Unidecode-0.04.1";
+  "roman-1.4.0" = self.buildPythonPackage {
+    name = "roman-1.4.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/U/Unidecode/Unidecode-0.04.1.tar.gz";
-        md5 = "c4c9ed8d40cff25c390ff5d5112b9308";
+        url = "https://pypi.python.org/packages/source/r/roman/roman-1.4.0.tar.gz";
+        md5 = "4f8832ed4108174b159c2afb4bd1d1dd";
     };
     doCheck = false;
     buildInputs = [  ];
@@ -339,10 +299,30 @@ in
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        US-ASCII transliterations of Unicode text
+        Integer to Roman numerals converter
         '';
-      homepage = "http://code.zemanta.com/tsolc/unidecode/";
-      license = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/roman";
+      license = "Python 2.1.1";
+    };
+  };
+
+
+  "archetypes.referencebrowserwidget-2.4.20" = self.buildPythonPackage {
+    name = "archetypes.referencebrowserwidget-2.4.20";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/archetypes.referencebrowserwidget-2.4.20.zip";
+        md5 = "352ea75e5dbdcdca8897f88fd77ecd3e";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.app.form-2.2.4" self."plone.app.jquerytools-1.5.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        A referencebrowser implementation for Archetypes
+        '';
+      homepage = "http://pypi.python.org/pypi/archetypes.referencebrowserwidget";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -362,7 +342,7 @@ in
         An extension to zope.formlib, which allows to group fields into different fieldsets.
         '';
       homepage = "http://pypi.python.org/pypi/plone.fieldsets";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -382,47 +362,69 @@ in
         redirection tool
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.redirector";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.blob-1.5.8" = self.buildPythonPackage {
-    name = "plone.app.blob-1.5.8";
+  "nose-1.3.3" = self.buildPythonPackage {
+    name = "nose-1.3.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.blob/plone.app.blob-1.5.8.zip";
-        md5 = "7e575d8df137cd19067cc95845aae604";
+        url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.3.tar.gz";
+        md5 = "42776061bf5206670cb819176dc78654";
+    };
+    doCheck = true;
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        nose extends unittest to make testing easier
+        '';
+      homepage = "http://readthedocs.org/docs/nose/";
+      license = "GNU LGPL";
+    };
+  };
+
+
+  "plone.app.blob-1.5.9" = self.buildPythonPackage {
+    name = "plone.app.blob-1.5.9";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.app.blob/plone.app.blob-1.5.9.zip";
+        md5 = "3ac753daa2758e3e8290e1e3a1887183";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."archetypes.schemaextender-2.1.2" self."plone.app.imaging-1.0.9" self."plone.scale__storage-1.3.2" self.setuptools self."ZODB3-3.10.5" self."zope.proxy-3.6.1" ];
+    propagatedBuildInputs = [ self."archetypes.schemaextender-2.1.3" self."plone.app.imaging-1.0.10" self."plone.scale__storage-1.3.3" self.setuptools self."ZODB3-3.10.5" self."zope.proxy-3.6.1" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         ZODB blob support for Plone
         '';
       homepage = "http://plone.org/products/plone.app.blob";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "WebOb-1.2.3" = self.buildPythonPackage {
-    name = "WebOb-1.2.3";
+  "suds" = self."suds-0.4";
+
+  "suds-0.4" = self.buildPythonPackage {
+    name = "suds-0.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/W/WebOb/WebOb-1.2.3.tar.gz";
-        md5 = "11825b7074ba7043e157805e4e6e0f55";
+        url = "https://pypi.python.org/packages/source/s/suds/suds-0.4.tar.gz";
+        md5 = "b7502de662341ed7275b673e6bd73191";
     };
-    doCheck = true;
-    buildInputs = [ self."nose-1.3.0" ];
+    doCheck = false;
+    buildInputs = [  ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        WSGI request and response object
+        Lightweight SOAP client
         '';
-      homepage = "http://webob.org/";
-      license = "MIT";
+      homepage = "https://fedorahosted.org/suds";
+      license = "UNKNOWN";
     };
   };
 
@@ -442,27 +444,47 @@ in
         Programmable browser for functional black-box tests
         '';
       homepage = "http://pypi.python.org/pypi/zope.testbrowser";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.theme-2.1" = self.buildPythonPackage {
-    name = "plone.theme-2.1";
+  "Products.ZCTextIndex-2.13.5" = self.buildPythonPackage {
+    name = "Products.ZCTextIndex-2.13.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.theme/plone.theme-2.1.zip";
-        md5 = "c592d0d095e9fc76cc81597cdf6d0c37";
+        url = "https://pypi.python.org/packages/source/P/Products.ZCTextIndex/Products.ZCTextIndex-2.13.5.zip";
+        md5 = "9a3717674b33d1d7c11b2c3728663d5b";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."Persistence-2.13.2" self.setuptools self."transaction-1.1.1" self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.interface-3.6.7" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Tools for managing themes in CMF and Plone sites
+        Full text indexing for ZCatalog / Zope 2.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.theme";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/Products.ZCTextIndex";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "plone.outputfilters-1.12" = self.buildPythonPackage {
+    name = "plone.outputfilters-1.12";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.outputfilters/plone.outputfilters-1.12.zip";
+        md5 = "ed76b9cf028cf7e04f3aa408e22b61ca";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.3" self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Transformations applied to HTML in Plone text fields as they are rendered
+        '';
+      homepage = "http://github.com/plone/plone.outputfilters";
+      license = "GPL";
     };
   };
 
@@ -482,75 +504,67 @@ in
         Local registries for zope component architecture
         '';
       homepage = "http://pypi.python.org/pypi/zope.site";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.batching-1.0" = self.buildPythonPackage {
-    name = "plone.batching-1.0";
+  "plone.app.contentmenu-2.0.10" = self.buildPythonPackage {
+    name = "plone.app.contentmenu-2.0.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.batching/plone.batching-1.0.zip";
-        md5 = "cabd58ccfec67cd384602343ce40dc7b";
+        url = "https://pypi.python.org/packages/source/p/plone.app.contentmenu/plone.app.contentmenu-2.0.10.zip";
+        md5 = "d28bc995bbe5a6f4aeabad07438ffb85";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.content-2.1.4" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Batching facilities used in Plone.
+        Plone's content menu implementation
         '';
-      homepage = "http://pypi.python.org/pypi/plone.batching";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/plone.app.contentmenu";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Products.PlacelessTranslationService-2.0.4" = self.buildPythonPackage {
-    name = "Products.PlacelessTranslationService-2.0.4";
+  "mechanize-0.2.5" = self.buildPythonPackage {
+    name = "mechanize-0.2.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PlacelessTranslationService/Products.PlacelessTranslationService-2.0.4.zip";
-        md5 = "4b5a1ddc66eeaa02d32ee4a685905c10";
+        url = "https://pypi.python.org/packages/source/m/mechanize/mechanize-0.2.5.tar.gz";
+        md5 = "32657f139fc2fb75bcf193b63b8c60b2";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."python-gettext-1.2" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        PTS provides a way of internationalizing (i18n'ing) and localizing (l10n'ing) software for Zope 2.
+        Stateful programmatic web browsing.
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PlacelessTranslationService";
-      license = "GPL";
+      homepage = "http://wwwsearch.sourceforge.net/mechanize/";
+      license = "BSD";
     };
   };
 
 
-  "Pillow-1.7.8" = self.buildPythonPackage {
-    name = "Pillow-1.7.8";
+  "Products.PlacelessTranslationService-2.0.4" = self.buildPythonPackage {
+    name = "Products.PlacelessTranslationService-2.0.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-1.7.8.zip";
-        md5 = "41d8688d4db72673069a6dc63b5289d6";
+        url = "https://pypi.python.org/packages/source/P/Products.PlacelessTranslationService/Products.PlacelessTranslationService-2.0.4.zip";
+        md5 = "4b5a1ddc66eeaa02d32ee4a685905c10";
     };
     doCheck = false;
-    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.unzip ];
-    propagatedBuildInputs = [  ];
-    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|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ;
-              s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
-    '';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."python-gettext-1.2" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Python Imaging Library (fork)
+        PTS provides a way of internationalizing (i18n'ing) and localizing (l10n'ing) software for Zope 2.
         '';
-      homepage = "http://github.com/python-imaging/Pillow";
-      license = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/Products.PlacelessTranslationService";
+      license = "GPL";
     };
   };
 
@@ -570,7 +584,7 @@ in
         Structured Configuration Library
         '';
       homepage = "http://www.zope.org/Members/fdrake/zconfig/";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -590,7 +604,7 @@ in
         Zope Deprecation Infrastructure
         '';
       homepage = "http://pypi.python.org/pypi/zope.deprecation";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -603,7 +617,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."zope.tales-3.5.3" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."zope.tales-3.5.3" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -623,7 +637,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -635,11 +649,11 @@ in
   };
 
 
-  "zope.event-4.0.2" = self.buildPythonPackage {
-    name = "zope.event-4.0.2";
+  "zope.event-4.0.3" = self.buildPythonPackage {
+    name = "zope.event-4.0.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-4.0.2.tar.gz";
-        md5 = "e08dd299d428d77a1cfcbfe841b81872";
+        url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-4.0.3.tar.gz";
+        md5 = "9a3780916332b18b8b85f522bcc3e249";
     };
     doCheck = true;
     buildInputs = [  ];
@@ -650,7 +664,7 @@ in
         Very basic event publishing system
         '';
       homepage = "http://pypi.python.org/pypi/zope.event";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -663,7 +677,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self."plone.transformchain-1.0.3" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self."plone.transformchain-1.0.3" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -690,7 +704,7 @@ in
         Generic Transparent Proxies
         '';
       homepage = "http://pypi.python.org/pypi/zope.proxy";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -710,7 +724,7 @@ in
         Component vocabularies
         '';
       homepage = "http://pypi.python.org/pypi/zope.componentvocabulary";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -723,27 +737,27 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self."Products.GenericSetup-1.7.4" self."Products.ZSQLMethods-2.13.4" self.setuptools self."zope.app.publication-3.12.0" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self."Products.GenericSetup-1.7.4" self."Products.ZSQLMethods-2.13.4" self.setuptools self."zope.app.publication-3.12.0" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Zope Content Management Framework core components
         '';
       homepage = "http://pypi.python.org/pypi/Products.CMFCore";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.PlonePAS-4.1.1" = self.buildPythonPackage {
-    name = "Products.PlonePAS-4.1.1";
+  "Products.PlonePAS-4.1.3" = self.buildPythonPackage {
+    name = "Products.PlonePAS-4.1.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PlonePAS/Products.PlonePAS-4.1.1.zip";
-        md5 = "32db1808c3ad42e82542b65eb95c3c71";
+        url = "https://pypi.python.org/packages/source/P/Products.PlonePAS/Products.PlonePAS-4.1.3.zip";
+        md5 = "785c10242b77bfb0612c76b0262e361e";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.session-3.5.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.session-3.5.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -783,7 +797,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."archetypes.referencebrowserwidget-2.4.19" self.setuptools self."zope.deprecation-3.4.1" ];
+    propagatedBuildInputs = [ self."archetypes.referencebrowserwidget-2.4.20" self.setuptools self."zope.deprecation-3.4.1" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -810,7 +824,7 @@ in
         Special MultiMapping objects used in Zope2.
         '';
       homepage = "http://pypi.python.org/pypi/MultiMapping";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -823,14 +837,14 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Record-2.13.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Record-2.13.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         SQL method support for Zope 2.
         '';
       homepage = "http://pypi.python.org/pypi/Products.ZSQLMethods";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -855,77 +869,77 @@ in
   };
 
 
-  "plone.recipe.zope2instance" = self."plone.recipe.zope2instance-4.2.13";
-
-  "plone.recipe.zope2instance-4.2.13" = self.buildPythonPackage {
-    name = "plone.recipe.zope2instance-4.2.13";
+  "Products.CMFQuickInstallerTool-3.0.6" = self.buildPythonPackage {
+    name = "Products.CMFQuickInstallerTool-3.0.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.recipe.zope2instance/plone.recipe.zope2instance-4.2.13.zip";
-        md5 = "1ff990a15e77a92a7339b5092bfb9cc3";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFQuickInstallerTool/Products.CMFQuickInstallerTool-3.0.6.tar.gz";
+        md5 = "af34adb87ddf2b6da48eff8b70ca2989";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."mailinglogger-3.7.0" self.setuptools self."zc.buildout-1.7.1" self."zc.recipe.egg-1.3.2" self."ZODB3-3.10.5" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" self."eggtestinfo-0.3" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Buildout recipe for creating a Zope 2 instance
+        CMFQuickInstallerTool is a facility for comfortable activation/deactivation of CMF compliant products.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.recipe.zope2instance";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.CMFQuickInstallerTool";
+      license = "GPL";
     };
   };
 
 
-  "Products.CMFQuickInstallerTool-3.0.6" = self.buildPythonPackage {
-    name = "Products.CMFQuickInstallerTool-3.0.6";
+  "plone.recipe.zope2instance" = self."plone.recipe.zope2instance-4.2.14";
+
+  "plone.recipe.zope2instance-4.2.14" = self.buildPythonPackage {
+    name = "plone.recipe.zope2instance-4.2.14";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFQuickInstallerTool/Products.CMFQuickInstallerTool-3.0.6.tar.gz";
-        md5 = "af34adb87ddf2b6da48eff8b70ca2989";
+        url = "https://pypi.python.org/packages/source/p/plone.recipe.zope2instance/plone.recipe.zope2instance-4.2.14.zip";
+        md5 = "e5e76023d357592ee7b0236bb9764b9d";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" self."eggtestinfo-0.3" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."mailinglogger-3.7.0" self.setuptools self."zc.buildout-1.7.1" self."zc.recipe.egg-1.3.2" self."ZODB3-3.10.5" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        CMFQuickInstallerTool is a facility for comfortable activation/deactivation of CMF compliant products.
+        Buildout recipe for creating a Zope 2 instance
         '';
-      homepage = "http://pypi.python.org/pypi/Products.CMFQuickInstallerTool";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/plone.recipe.zope2instance";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.deprecation-4.0.2" = self.buildPythonPackage {
-    name = "zope.deprecation-4.0.2";
+  "zope.event-3.5.2" = self.buildPythonPackage {
+    name = "zope.event-3.5.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.deprecation/zope.deprecation-4.0.2.tar.gz";
-        md5 = "5f8cecce85f2783f9e020f1288e908fd";
+        url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-3.5.2.tar.gz";
+        md5 = "6e8af2a16157a74885d4f0d88137cefb";
     };
-    doCheck = true;
+    doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Deprecation Infrastructure
+        Very basic event publishing system
         '';
-      homepage = "http://pypi.python.org/pypi/zope.deprecation";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/zope.event";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.CMFEditions-2.2.8" = self.buildPythonPackage {
-    name = "Products.CMFEditions-2.2.8";
+  "Products.CMFEditions-2.2.9" = self.buildPythonPackage {
+    name = "Products.CMFEditions-2.2.9";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFEditions/Products.CMFEditions-2.2.8.zip";
-        md5 = "1806f2e17e2527fad9364670b343bd11";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFEditions/Products.CMFEditions-2.2.9.zip";
+        md5 = "4cd9db460f4056b14d425ff2fdc34952";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDiffTool-2.1" self."Products.CMFUid-2.2.1" self."Products.GenericSetup-1.7.4" self."Products.ZopeVersionControl-1.1.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.copy-3.5.0" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDiffTool-2.1" self."Products.CMFUid-2.2.1" self."Products.GenericSetup-1.7.4" self."Products.ZopeVersionControl-1.1.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.copy-3.5.0" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -937,82 +951,82 @@ in
   };
 
 
-  "plone.app.form-2.2.3" = self.buildPythonPackage {
-    name = "plone.app.form-2.2.3";
+  "zope.processlifetime-1.0" = self.buildPythonPackage {
+    name = "zope.processlifetime-1.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.form/plone.app.form-2.2.3.zip";
-        md5 = "4b7dcabcda1407a40185782a4d1f9a01";
+        url = "https://pypi.python.org/packages/source/z/zope.processlifetime/zope.processlifetime-1.0.tar.gz";
+        md5 = "69604bfd668a01ebebdd616a8f26ccfe";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."five.formlib-1.0.4" self."plone.app.vocabularies-2.1.11" self."plone.locking-2.0.4" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        zope.formlib integration for Plone
+        Zope process lifetime events
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.form";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/zope.processlifetime";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.CMFDefault-2.2.3" = self.buildPythonPackage {
-    name = "Products.CMFDefault-2.2.3";
+  "Products.CMFDefault-2.2.4" = self.buildPythonPackage {
+    name = "Products.CMFDefault-2.2.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFDefault/Products.CMFDefault-2.2.3.tar.gz";
-        md5 = "fe7d2d3906ee0e3b484e4a02401576ab";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFDefault/Products.CMFDefault-2.2.4.tar.gz";
+        md5 = "3d4444a8c4b486a2d769060e35a3ee01";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."five.formlib-1.0.4" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ];
+    propagatedBuildInputs = [ self."five.formlib-1.0.4" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" self."eggtestinfo-0.3" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Default product for the Zope Content Management Framework
         '';
       homepage = "http://pypi.python.org/pypi/Products.CMFDefault";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.processlifetime-1.0" = self.buildPythonPackage {
-    name = "zope.processlifetime-1.0";
+  "plone.app.form-2.2.4" = self.buildPythonPackage {
+    name = "plone.app.form-2.2.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.processlifetime/zope.processlifetime-1.0.tar.gz";
-        md5 = "69604bfd668a01ebebdd616a8f26ccfe";
+        url = "https://pypi.python.org/packages/source/p/plone.app.form/plone.app.form-2.2.4.zip";
+        md5 = "1784f608dcb3a1701d91d4985ca31e63";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."five.formlib-1.0.4" self."plone.app.vocabularies-2.1.14" self."plone.locking-2.0.4" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope process lifetime events
+        zope.formlib integration for Plone
         '';
-      homepage = "http://pypi.python.org/pypi/zope.processlifetime";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.form";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "zope.component-4.1.0" = self.buildPythonPackage {
-    name = "zope.component-4.1.0";
+  "Products.PasswordResetTool-2.0.16" = self.buildPythonPackage {
+    name = "Products.PasswordResetTool-2.0.16";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.component/zope.component-4.1.0.zip";
-        md5 = "8e185893699f9fa577bd9ada0a5302fa";
+        url = "https://pypi.python.org/packages/source/P/Products.PasswordResetTool/Products.PasswordResetTool-2.0.16.zip";
+        md5 = "c9069dff718878a32b1ef91875acf240";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.2" self."zope.interface-4.0.5" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Component Architecture
+        Password reset tool for Plone
         '';
-      homepage = "http://pypi.python.org/pypi/zope.component";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.PasswordResetTool";
+      license = "GPL";
     };
   };
 
@@ -1057,31 +1071,51 @@ in
   };
 
 
-  "plone.stringinterp-1.0.10" = self.buildPythonPackage {
-    name = "plone.stringinterp-1.0.10";
+  "lxml-3.3.5" = self.buildPythonPackage {
+    name = "lxml-3.3.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.stringinterp/plone.stringinterp-1.0.10.zip";
-        md5 = "595074e94944ad6860e2105a020a3b9a";
+        url = "https://pypi.python.org/packages/source/l/lxml/lxml-3.3.5.tar.gz";
+        md5 = "88c75f4c73fc8f59c9ebb17495044f2f";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.i18n__zcml-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Adaptable string interpolation
+        Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.stringinterp";
-      license = "GPL version 2";
+      homepage = "http://lxml.de/";
+      license = "UNKNOWN";
+    };
+  };
+
+
+  "PasteDeploy-1.5.2" = self.buildPythonPackage {
+    name = "PasteDeploy-1.5.2";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-1.5.2.tar.gz";
+        md5 = "352b7205c78c8de4987578d19431af3b";
+    };
+    doCheck = true;
+    buildInputs = [ self."nose-1.3.3" ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Load, configure, and compose WSGI applications and servers
+        '';
+      homepage = "http://pythonpaste.org/deploy/";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
 
-  "plonetheme.sunburst-1.4.5" = self.buildPythonPackage {
-    name = "plonetheme.sunburst-1.4.5";
+  "plonetheme.sunburst-1.4.6" = self.buildPythonPackage {
+    name = "plonetheme.sunburst-1.4.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plonetheme.sunburst/plonetheme.sunburst-1.4.5.zip";
-        md5 = "a8438d6f4a27ad6c10dc3554a9145705";
+        url = "https://pypi.python.org/packages/source/p/plonetheme.sunburst/plonetheme.sunburst-1.4.6.zip";
+        md5 = "6e236f7d2ab944b708fb26de6f343ceb";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -1092,27 +1126,27 @@ in
         The default theme for Plone 4.
         '';
       homepage = "http://pypi.python.org/pypi/plonetheme.sunburst";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "PasteDeploy-1.5.0" = self.buildPythonPackage {
-    name = "PasteDeploy-1.5.0";
+  "plone.openid-2.0.2" = self.buildPythonPackage {
+    name = "plone.openid-2.0.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-1.5.0.tar.gz";
-        md5 = "f1a068a0b680493b6eaff3dd7690690f";
+        url = "https://pypi.python.org/packages/source/p/plone.openid/plone.openid-2.0.2.zip";
+        md5 = "046133795cf232ab6d19db940f02197a";
     };
-    doCheck = true;
-    buildInputs = [ self."nose-1.3.0" ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.PluggableAuthService-1.10.0" self."python-openid-2.2.5" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Load, configure, and compose WSGI applications and servers
+        OpenID authentication support for PAS
         '';
-      homepage = "http://pythonpaste.org/deploy/";
-      license = "MIT";
+      homepage = "http://svn.plone.org/svn/plone/plone.openid";
+      license = "BSD";
     };
   };
 
@@ -1132,47 +1166,47 @@ in
         Sequence Sorting
         '';
       homepage = "http://cheeseshop.python.org/pypi/zope.sequencesort";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.openid-2.0.1" = self.buildPythonPackage {
-    name = "plone.openid-2.0.1";
+  "Products.PortalTransforms-2.1.3" = self.buildPythonPackage {
+    name = "Products.PortalTransforms-2.1.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.openid/plone.openid-2.0.1.zip";
-        md5 = "d4c36926a6dbefed035ed92c29329ce1";
+        url = "https://pypi.python.org/packages/source/P/Products.PortalTransforms/Products.PortalTransforms-2.1.3.zip";
+        md5 = "a2f1f9e0388ed081028bb4c93fd24317";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.PluggableAuthService-1.10.0" self."python-openid-2.2.5" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Markdown-2.0.3" self."plone.intelligenttext-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.MimetypesRegistry-2.0.5" self.setuptools self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        OpenID authentication support for PAS
+        MIME based content transformations
         '';
-      homepage = "http://svn.plone.org/svn/plone/plone.openid";
-      license = "BSD";
+      homepage = "http://pypi.python.org/pypi/Products.PortalTransforms";
+      license = "UNKNOWN";
     };
   };
 
 
-  "plone.resourceeditor-1.0" = self.buildPythonPackage {
-    name = "plone.resourceeditor-1.0";
+  "zope.interface-4.1.1" = self.buildPythonPackage {
+    name = "zope.interface-4.1.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.resourceeditor/plone.resourceeditor-1.0.zip";
-        md5 = "443ff0a0ad83b94fc08cac46ee3b2ad4";
+        url = "https://pypi.python.org/packages/source/z/zope.interface/zope.interface-4.1.1.tar.gz";
+        md5 = "edcd5f719c5eb2e18894c4d06e29b6c6";
     };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.resource-1.0.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    doCheck = true;
+    buildInputs = [ self."zope.event-4.0.3" ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        UNKNOWN
+        Interfaces for Python
         '';
-      homepage = "https://github.com/plone/plone.resourceeditor";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/zope.interface";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1192,47 +1226,87 @@ in
         Zope publication
         '';
       homepage = "http://pypi.python.org/pypi/zope.app.publication";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.schema-4.2.2" = self.buildPythonPackage {
-    name = "zope.schema-4.2.2";
+  "zope.component-4.2.1" = self.buildPythonPackage {
+    name = "zope.component-4.2.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz";
-        md5 = "e7e581af8193551831560a736a53cf58";
+        url = "https://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz";
+        md5 = "cf55d496428d976f9329a4a2330a8b54";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
+    propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.3" self."zope.interface-4.1.1" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        zope.interface extension for defining data schemas
+        Zope Component Architecture
         '';
-      homepage = "http://pypi.python.org/pypi/zope.schema";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/zope.component";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.content-2.1.3" = self.buildPythonPackage {
-    name = "plone.app.content-2.1.3";
+  "plone.app.content-2.1.4" = self.buildPythonPackage {
+    name = "plone.app.content-2.1.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.content/plone.app.content-2.1.3.zip";
-        md5 = "3463a245414518f058fa6d658a6b9caf";
+        url = "https://pypi.python.org/packages/source/p/plone.app.content/plone.app.content-2.1.4.zip";
+        md5 = "6930a2376e2d856e4f24e17f789568e5";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.batching-1.0" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self.setuptools self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.batching-1.0.1" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Content Views for Plone
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.content";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
+    };
+  };
+
+
+  "plone.alterego-1.0" = self.buildPythonPackage {
+    name = "plone.alterego-1.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.alterego/plone.alterego-1.0.zip";
+        md5 = "b7b6dbcbba00505d98d5aba83e016408";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Low level support for dynamic modules
+        '';
+      homepage = "http://code.google.com/p/dexterity";
+      license = "LGPL";
+    };
+  };
+
+
+  "Products.ExternalEditor-1.1.0" = self.buildPythonPackage {
+    name = "Products.ExternalEditor-1.1.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/P/Products.ExternalEditor/Products.ExternalEditor-1.1.0.zip";
+        md5 = "475fea6e0b958c0c51cfdbfef2f4e623";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Zope External Editor
+        '';
+      homepage = "http://pypi.python.org/pypi/Products.ExternalEditor";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1245,7 +1319,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -1264,7 +1338,7 @@ in
         md5 = "2c3b64b17a8e18b405f55d46173e14dd";
     };
     doCheck = true;
-    buildInputs = [ self."nose-1.3.0" ];
+    buildInputs = [ self."nose-1.3.3" ];
     propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
@@ -1297,22 +1371,42 @@ in
   };
 
 
-  "plone.dexterity-2.1.3" = self.buildPythonPackage {
-    name = "plone.dexterity-2.1.3";
+  "z3c.formwidget.query-0.10" = self.buildPythonPackage {
+    name = "z3c.formwidget.query-0.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.dexterity/plone.dexterity-2.1.3.zip";
-        md5 = "7f6444a2c26488e4068217266fd243b7";
+        url = "https://pypi.python.org/packages/source/z/z3c.formwidget.query/z3c.formwidget.query-0.10.zip";
+        md5 = "912773ecfa4409bc8911e9e8dd981e58";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.alterego-1.0" self."plone.autoform-1.5" self."plone.behavior-1.0.2" self."plone.folder-1.0.4" self."plone.memoize-1.1.1" self."plone.rfc822-1.1" self."plone.supermodel-1.2.3" self."plone.synchronize-1.0.1" self."plone.uuid-1.0.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.dottedname-3.4.6" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self.setuptools self."z3c.form-3.1.1" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Flexible CMF content
+        A source query widget for z3c.form.
         '';
-      homepage = "http://code.google.com/p/dexterity";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/z3c.formwidget.query";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "Products.DCWorkflow-2.2.4" = self.buildPythonPackage {
+    name = "Products.DCWorkflow-2.2.4";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/P/Products.DCWorkflow/Products.DCWorkflow-2.2.4.tar.gz";
+        md5 = "c90a16c4f3611015592ba8173a5f1863";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" self."eggtestinfo-0.3" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        DCWorkflow product for the Zope Content Management Framework
+        '';
+      homepage = "http://pypi.python.org/pypi/Products.DCWorkflow";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1337,11 +1431,11 @@ in
   };
 
 
-  "diazo-1.0.4" = self.buildPythonPackage {
-    name = "diazo-1.0.4";
+  "diazo-1.0.5" = self.buildPythonPackage {
+    name = "diazo-1.0.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/d/diazo/diazo-1.0.4.zip";
-        md5 = "b5f07cfd928e06bcb964b3f830767bab";
+        url = "https://pypi.python.org/packages/source/d/diazo/diazo-1.0.5.zip";
+        md5 = "9b304d079eab7c9dd6d10487f2fc94a4";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -1353,7 +1447,7 @@ in
         XSLT engine. With Diazo, you "compile" your theme and ruleset in one
         step, then use a superfast/simple transform on each request thereafter.
         Alternatively, compile your theme during development, check it into
-        Subversion, and not touch Diazo during deployment.
+        version control, and not touch Diazo during deployment.
         '';
       homepage = "http://diazo.org";
       license = "New BSD";
@@ -1361,42 +1455,42 @@ in
   };
 
 
-  "zc.lockfile-1.0.2" = self.buildPythonPackage {
-    name = "zc.lockfile-1.0.2";
+  "zope.tales-3.5.3" = self.buildPythonPackage {
+    name = "zope.tales-3.5.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zc.lockfile/zc.lockfile-1.0.2.tar.gz";
-        md5 = "f099d4cf2583a0c7bea0146a44dc4d59";
+        url = "https://pypi.python.org/packages/source/z/zope.tales/zope.tales-3.5.3.tar.gz";
+        md5 = "a2dbc6e41140c29de81b66a4d703fc3f";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" self."zope.tal-3.5.2" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Basic inter-process locks
+        Zope Template Application Language Expression Syntax (TALES)
         '';
-      homepage = "http://www.python.org/pypi/zc.lockfile";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/zope.tales";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.tales-3.5.3" = self.buildPythonPackage {
-    name = "zope.tales-3.5.3";
+  "feedparser-5.0.1" = self.buildPythonPackage {
+    name = "feedparser-5.0.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.tales/zope.tales-3.5.3.tar.gz";
-        md5 = "a2dbc6e41140c29de81b66a4d703fc3f";
+        url = "https://pypi.python.org/packages/source/f/feedparser/feedparser-5.0.1.tar.bz2";
+        md5 = "702835de74bd4a578524f311e62c2877";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" self."zope.tal-3.5.2" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Template Application Language Expression Syntax (TALES)
+        
         '';
-      homepage = "http://pypi.python.org/pypi/zope.tales";
-      license = "ZPL 2.1";
+      homepage = "https://code.google.com/p/feedparser/";
+      license = "";
     };
   };
 
@@ -1416,16 +1510,36 @@ in
         This package provides a DateTime data type, as known from Zope 2.Unless you need to communicate with Zope 2 APIs, you're probablybetter off using Python's built-in datetime module.
         '';
       homepage = "http://pypi.python.org/pypi/DateTime";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "Missing-2.13.1" = self.buildPythonPackage {
+    name = "Missing-2.13.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/M/Missing/Missing-2.13.1.zip";
+        md5 = "9823cff54444cbbcaef8fc45d8e42572";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Special Missing objects used in Zope2.
+        '';
+      homepage = "http://pypi.python.org/pypi/Missing";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "z3c.autoinclude-0.3.4" = self.buildPythonPackage {
-    name = "z3c.autoinclude-0.3.4";
+  "z3c.autoinclude-0.3.5" = self.buildPythonPackage {
+    name = "z3c.autoinclude-0.3.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/z3c.autoinclude/z3c.autoinclude-0.3.4.zip";
-        md5 = "6a615ae18c12b459bceb3ae28e8e7709";
+        url = "https://pypi.python.org/packages/source/z/z3c.autoinclude/z3c.autoinclude-0.3.5.zip";
+        md5 = "44f113a1c280dd238ab9b8490ae88857";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -1435,7 +1549,7 @@ in
       description = ''
         Automatically include ZCML
         '';
-      homepage = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/z3c.autoinclude";
       license = "ZPL";
     };
   };
@@ -1456,7 +1570,7 @@ in
         World timezone definitions, modern and historical
         '';
       homepage = "http://pytz.sourceforge.net";
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
@@ -1476,27 +1590,47 @@ in
         Zope Configuration Markup Language (ZCML)
         '';
       homepage = "http://pypi.python.org/pypi/zope.configuration";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.iterate-2.1.10" = self.buildPythonPackage {
-    name = "plone.app.iterate-2.1.10";
+  "plone.app.iterate-2.1.12" = self.buildPythonPackage {
+    name = "plone.app.iterate-2.1.12";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.iterate/plone.app.iterate-2.1.10.zip";
-        md5 = "8bd270d8a3c9509e524a06e092a9b4c4";
+        url = "https://pypi.python.org/packages/source/p/plone.app.iterate/plone.app.iterate-2.1.12.zip";
+        md5 = "1d05316d4e9a68ed738e890aafa3c9e2";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.4" self."Products.CMFCore-2.2.7" self."Products.CMFEditions-2.2.8" self."Products.CMFPlacefulWorkflow-1.5.9" self."Products.DCWorkflow-2.2.4" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.7" self."Products.CMFCore-2.2.7" self."Products.CMFEditions-2.2.9" self."Products.CMFPlacefulWorkflow-1.5.10" self."Products.DCWorkflow-2.2.4" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         check-out/check-in staging for Plone
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.iterate";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
+    };
+  };
+
+
+  "plone.app.theming-1.1.1" = self.buildPythonPackage {
+    name = "plone.app.theming-1.1.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.app.theming/plone.app.theming-1.1.1.zip";
+        md5 = "a694b7a050b6e7c25d720d1e99bb73fa";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."diazo-1.0.5" self."docutils-0.9.1" self."five.globalrequest-1.0" self."lxml-2.3.6" self."plone.app.registry-1.2.3" self."plone.resource-1.0.2" self."plone.resourceeditor-1.0" self."plone.subrequest-1.6.8" self."plone.transformchain-1.0.3" self."Products.CMFPlone-4.3.3" self."repoze.xmliter-0.5" self."roman-1.4.0" self.setuptools self."zope.traversing-3.13.2" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Integrates the Diazo theming engine with Plone
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.app.theming";
+      license = "GPL";
     };
   };
 
@@ -1536,7 +1670,7 @@ in
         zope.sendmail integration for Zope 2.
         '';
       homepage = "http://pypi.python.org/pypi/Products.MailHost";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1556,27 +1690,27 @@ in
         Zope Broken Object Interfaces
         '';
       homepage = "http://pypi.python.org/pypi/zope.broken";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "lxml-3.2.3" = self.buildPythonPackage {
-    name = "lxml-3.2.3";
+  "DocumentTemplate-2.13.2" = self.buildPythonPackage {
+    name = "DocumentTemplate-2.13.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/l/lxml/lxml-3.2.3.tar.gz";
-        md5 = "fef47bb4ac72ac38ce778518dac42236";
+        url = "https://pypi.python.org/packages/source/D/DocumentTemplate/DocumentTemplate-2.13.2.zip";
+        md5 = "07bb086c77c1dfe94125ad2efbba94b7";
     };
     doCheck = false;
-    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
-    propagatedBuildInputs = [  ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."RestrictedPython-3.6.0" self."zExceptions-2.13.0" self."zope.sequencesort-3.4.0" self."zope.structuredtext-3.5.1" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
+        Document Templating Markup Language (DTML)
         '';
-      homepage = "http://lxml.de/";
-      license = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/DocumentTemplate";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1596,27 +1730,7 @@ in
         Provides support for restricted execution of Python scripts in Zope 2.
         '';
       homepage = "http://pypi.python.org/pypi/Products.PythonScripts";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "plone.app.controlpanel-2.3.7" = self.buildPythonPackage {
-    name = "plone.app.controlpanel-2.3.7";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.controlpanel/plone.app.controlpanel-2.3.7.zip";
-        md5 = "537072fe22237a2148310b8714755356";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.form-2.2.3" self."plone.app.vocabularies-2.1.11" self."plone.app.workflow-2.1.6" self."plone.fieldsets-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.PlonePAS-4.1.1" self."Products.PortalTransforms-2.1.2" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.cachedescriptors-3.5.1" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.ramcache-1.0" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Formlib-based controlpanels for Plone.
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.app.controlpanel";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1641,6 +1755,26 @@ in
   };
 
 
+  "plone.namedfile__scales-2.0.5" = self.buildPythonPackage {
+    name = "plone.namedfile__scales-2.0.5";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.namedfile/plone.namedfile-2.0.5.zip";
+        md5 = "54f73c5961cbdf5020cf59ae780601ea";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.rfc822-1.1" self.setuptools self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" self."plone.scale__storage-1.3.3" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        File types and fields for images, files and blob files with filenames
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.namedfile";
+      license = "BSD";
+    };
+  };
+
+
   "docutils-0.9.1" = self.buildPythonPackage {
     name = "docutils-0.9.1";
     src = fetchurl {
@@ -1661,62 +1795,62 @@ in
   };
 
 
-  "beautifulsoup4-4.3.2" = self.buildPythonPackage {
-    name = "beautifulsoup4-4.3.2";
+  "plone.app.controlpanel-2.3.8" = self.buildPythonPackage {
+    name = "plone.app.controlpanel-2.3.8";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/b/beautifulsoup4/beautifulsoup4-4.3.2.tar.gz";
-        md5 = "b8d157a204d56512a4cc196e53e7d8ee";
+        url = "https://pypi.python.org/packages/source/p/plone.app.controlpanel/plone.app.controlpanel-2.3.8.zip";
+        md5 = "230fa6df467f5bcc0b987d1cd66ccd9f";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.form-2.2.4" self."plone.app.vocabularies-2.1.14" self."plone.app.workflow-2.1.7" self."plone.fieldsets-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.PlonePAS-4.1.3" self."Products.PortalTransforms-2.1.3" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.cachedescriptors-3.5.1" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.ramcache-1.0" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Screen-scraping library
+        Formlib-based controlpanels for Plone.
         '';
-      homepage = "http://www.crummy.com/software/BeautifulSoup/bs4/";
-      license = "MIT";
+      homepage = "http://pypi.python.org/pypi/plone.app.controlpanel";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Products.PloneLanguageTool-3.2.7" = self.buildPythonPackage {
-    name = "Products.PloneLanguageTool-3.2.7";
+  "beautifulsoup4-4.3.2" = self.buildPythonPackage {
+    name = "beautifulsoup4-4.3.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PloneLanguageTool/Products.PloneLanguageTool-3.2.7.zip";
-        md5 = "bd9eb6278bf76e8cbce99437ca362164";
+        url = "https://pypi.python.org/packages/source/b/beautifulsoup4/beautifulsoup4-4.3.2.tar.gz";
+        md5 = "b8d157a204d56512a4cc196e53e7d8ee";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations.
+        Screen-scraping library
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PloneLanguageTool";
-      license = "GPL";
+      homepage = "http://www.crummy.com/software/BeautifulSoup/bs4/";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
 
-  "nose-1.3.0" = self.buildPythonPackage {
-    name = "nose-1.3.0";
+  "WebOb-1.4" = self.buildPythonPackage {
+    name = "WebOb-1.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.0.tar.gz";
-        md5 = "95d6d32b9d6b029c3c65674bd9e7eabe";
+        url = "https://pypi.python.org/packages/source/W/WebOb/WebOb-1.4.tar.gz";
+        md5 = "8437607c0cc00c35f658f972516ffb55";
     };
     doCheck = true;
-    buildInputs = [  ];
+    buildInputs = [ self."nose-1.3.3" ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        nose extends unittest to make testing easier
+        WSGI request and response object
         '';
-      homepage = "http://readthedocs.org/docs/nose/";
-      license = "GNU LGPL";
+      homepage = "http://webob.org/";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
@@ -1736,7 +1870,7 @@ in
         An error reporting utility for Zope3
         '';
       homepage = "http://pypi.python.org/pypi/zope.error";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1749,54 +1883,54 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."plone.app.portlets-2.4.5" self."plone.openid-2.0.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.app.portlets-2.4.8" self."plone.openid-2.0.2" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Plone OpenID authentication support
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.openid";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Products.PortalTransforms-2.1.2" = self.buildPythonPackage {
-    name = "Products.PortalTransforms-2.1.2";
+  "plone.indexer-1.0.2" = self.buildPythonPackage {
+    name = "plone.indexer-1.0.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PortalTransforms/Products.PortalTransforms-2.1.2.zip";
-        md5 = "9f429f3c3b9e0019d0f6c9b7a8a9376e";
+        url = "https://pypi.python.org/packages/source/p/plone.indexer/plone.indexer-1.0.2.zip";
+        md5 = "538aeee1f9db78bc8c85ae1bcb0153ed";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Markdown-2.0.3" self."plone.intelligenttext-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.MimetypesRegistry-2.0.5" self.setuptools self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        MIME based content transformations
+        Hooks to facilitate managing custom index values in Zope 2/CMF applications
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PortalTransforms";
-      license = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/plone.indexer";
+      license = "BSD";
     };
   };
 
 
-  "zope.schema-4.3.2" = self.buildPythonPackage {
-    name = "zope.schema-4.3.2";
+  "plone.app.portlets-2.4.8" = self.buildPythonPackage {
+    name = "plone.app.portlets-2.4.8";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.3.2.zip";
-        md5 = "b63df4a3035f29113f8130c8ae28bb13";
+        url = "https://pypi.python.org/packages/source/p/plone.app.portlets/plone.app.portlets-2.4.8.zip";
+        md5 = "7d25027d89d871a50aba91c95b798bb2";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.2" self."zope.interface-4.0.5" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."feedparser-5.0.1" self."five.customerize-1.1" self."five.formlib-1.0.4" self."plone.app.form-2.2.4" self."plone.app.i18n-2.0.2" self."plone.app.vocabularies-2.1.14" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        zope.interface extension for defining data schemas
+        Plone integration for the basic plone.portlets package
         '';
-      homepage = "http://pypi.python.org/pypi/zope.schema";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.portlets";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -1821,84 +1955,82 @@ in
   };
 
 
-  "plone.app.portlets-2.4.5" = self.buildPythonPackage {
-    name = "plone.app.portlets-2.4.5";
+  "plone.formwidget.namedfile-1.0.9" = self.buildPythonPackage {
+    name = "plone.formwidget.namedfile-1.0.9";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.portlets/plone.app.portlets-2.4.5.zip";
-        md5 = "409aeeed42d87af8338197514363ec76";
+        url = "https://pypi.python.org/packages/source/p/plone.formwidget.namedfile/plone.formwidget.namedfile-1.0.9.zip";
+        md5 = "96f2634a8c4c1d98c2f39646a77c87fc";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."feedparser-5.0.1" self."five.customerize-1.1" self."five.formlib-1.0.4" self."plone.app.form-2.2.3" self."plone.app.i18n-2.0.2" self."plone.app.vocabularies-2.1.11" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.namedfile__scales-2.0.5" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Plone integration for the basic plone.portlets package
+        Image widget for z3c.form and Plone
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.portlets";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.formwidget.namedfile";
+      license = "GPL";
     };
   };
 
 
-  "Plone" = self."Plone-4.3.2";
-
-  "Plone-4.3.2" = self.buildPythonPackage {
-    name = "Plone-4.3.2";
+  "Persistence-2.13.2" = self.buildPythonPackage {
+    name = "Persistence-2.13.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Plone/Plone-4.3.2.zip";
-        md5 = "809f9fe8b8d23b49778e8ce304ea34f6";
+        url = "https://pypi.python.org/packages/source/P/Persistence/Persistence-2.13.2.zip";
+        md5 = "92693648ccdc59c8fc71f7f06b1d228c";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.caching-1.1.6" self."plone.app.dexterity-2.0.9" self."plone.app.iterate-2.1.10" self."plone.app.openid-2.0.2" self."plone.app.theming-1.1.1" self."Products.CMFPlacefulWorkflow-1.5.9" self."Products.CMFPlone-4.3.2" self.setuptools self."wicked-1.1.10" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."ZODB3-3.10.5" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        The Plone Content Management System
+        Persistent ExtensionClass
         '';
-      homepage = "http://plone.org/";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/Persistence";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Persistence-2.13.2" = self.buildPythonPackage {
-    name = "Persistence-2.13.2";
+  "Products.CMFPlacefulWorkflow-1.5.10" = self.buildPythonPackage {
+    name = "Products.CMFPlacefulWorkflow-1.5.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Persistence/Persistence-2.13.2.zip";
-        md5 = "92693648ccdc59c8fc71f7f06b1d228c";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/Products.CMFPlacefulWorkflow-1.5.10.zip";
+        md5 = "997648c5bed6d5a54ac922c6ba9351a9";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."ZODB3-3.10.5" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.3" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Persistent ExtensionClass
+        Workflow policies for CMF and Plone
         '';
-      homepage = "http://pypi.python.org/pypi/Persistence";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.CMFPlacefulWorkflow";
+      license = "GPL";
     };
   };
 
 
-  "feedparser-5.0.1" = self.buildPythonPackage {
-    name = "feedparser-5.0.1";
+  "plone.dexterity-2.2.1" = self.buildPythonPackage {
+    name = "plone.dexterity-2.2.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/f/feedparser/feedparser-5.0.1.tar.bz2";
-        md5 = "702835de74bd4a578524f311e62c2877";
+        url = "https://pypi.python.org/packages/source/p/plone.dexterity/plone.dexterity-2.2.1.zip";
+        md5 = "c62d427e3f6c24da1cca58d7cb152e1f";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.alterego-1.0" self."plone.autoform-1.6" self."plone.behavior-1.0.2" self."plone.folder-1.0.5" self."plone.memoize-1.1.1" self."plone.rfc822-1.1" self."plone.supermodel-1.2.4" self."plone.synchronize-1.0.1" self."plone.uuid-1.0.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.dottedname-3.4.6" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        
+        Flexible CMF content
         '';
-      homepage = "https://code.google.com/p/feedparser/";
-      license = "";
+      homepage = "http://code.google.com/p/dexterity";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -1918,47 +2050,47 @@ in
         Recipe for installing Python package distributions as eggs
         '';
       homepage = "http://cheeseshop.python.org/pypi/zc.recipe.egg";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "mailinglogger-3.7.0" = self.buildPythonPackage {
-    name = "mailinglogger-3.7.0";
+  "plone.app.dexterity-2.0.11" = self.buildPythonPackage {
+    name = "plone.app.dexterity-2.0.11";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/m/mailinglogger/mailinglogger-3.7.0.tar.gz";
-        md5 = "f865f0df6059ce23062b7457d01dbac5";
+        url = "https://pypi.python.org/packages/source/p/plone.app.dexterity/plone.app.dexterity-2.0.11.zip";
+        md5 = "649f08fd008908121f5f70dfd33e513a";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.6" self."lxml-2.3.6" self."plone.app.content-2.1.4" self."plone.app.layout-2.3.11" self."plone.app.textfield-1.2.3" self."plone.app.uuid-1.1" self."plone.app.z3cform-0.7.6" self."plone.autoform-1.6" self."plone.behavior-1.0.2" self."plone.contentrules-2.0.4" self."plone.dexterity-2.2.1" self."plone.formwidget.namedfile-1.0.9" self."plone.namedfile__scales-2.0.5" self."plone.portlets-2.2" self."plone.rfc822-1.1" self."plone.schemaeditor-1.3.7" self."plone.supermodel-1.2.4" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.3" self."Products.GenericSetup-1.7.4" self.setuptools self."z3c.form-3.1.1" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Enhanced emailing handlers for the python logging package.
+        Dexterity is a content type framework for CMF applications, with particular emphasis on Plone. It can be viewed as an alternative to Archetypes that is more light-weight and modular.
         '';
-      homepage = "http://www.simplistix.co.uk/software/python/mailinglogger";
-      license = "MIT";
+      homepage = "http://plone.org/products/dexterity";
+      license = "GPL";
     };
   };
 
 
-  "plone.app.jquerytools-1.5.6" = self.buildPythonPackage {
-    name = "plone.app.jquerytools-1.5.6";
+  "mailinglogger-3.7.0" = self.buildPythonPackage {
+    name = "mailinglogger-3.7.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.jquerytools/plone.app.jquerytools-1.5.6.zip";
-        md5 = "4ae9a72baa8e9899c1706b4fedbb516b";
+        url = "https://pypi.python.org/packages/source/m/mailinglogger/mailinglogger-3.7.0.tar.gz";
+        md5 = "f865f0df6059ce23062b7457d01dbac5";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        jQuery Tools integration for Plone plus overlay and AJAX form helpers.
+        Enhanced emailing handlers for the python logging package.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.jquerytools";
-      license = "GPL version 2";
+      homepage = "http://www.simplistix.co.uk/software/python/mailinglogger";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
@@ -1978,7 +2110,7 @@ in
         A BTree based implementation for Zope 2's OFS.
         '';
       homepage = "http://pypi.python.org/pypi/Products.BTreeFolder2";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -1991,34 +2123,34 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         webdav locking support
         '';
       homepage = "http://pypi.python.org/pypi/plone.locking";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.formwidget.namedfile-1.0.7" = self.buildPythonPackage {
-    name = "plone.formwidget.namedfile-1.0.7";
+  "plone.app.viewletmanager-2.0.5" = self.buildPythonPackage {
+    name = "plone.app.viewletmanager-2.0.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.formwidget.namedfile/plone.formwidget.namedfile-1.0.7.zip";
-        md5 = "6fa3cd99bf9b30971034b0f6dc31cfb3";
+        url = "https://pypi.python.org/packages/source/p/plone.app.viewletmanager/plone.app.viewletmanager-2.0.5.zip";
+        md5 = "e923d0a9a087ef79a6f0303f64a0f853";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.namedfile__scales-2.0.2" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.vocabularies-2.1.14" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Image widget for z3c.form and Plone
+        configurable viewlet manager
         '';
-      homepage = "http://pypi.python.org/pypi/plone.formwidget.namedfile";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/plone.app.viewletmanager";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -2038,7 +2170,7 @@ in
         Zope testing framework, including the testrunner script.
         '';
       homepage = "http://pypi.python.org/pypi/zope.testing";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2058,47 +2190,47 @@ in
         Object life-cycle events
         '';
       homepage = "http://pypi.python.org/pypi/zope.lifecycleevent";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "ExtensionClass-2.13.2" = self.buildPythonPackage {
-    name = "ExtensionClass-2.13.2";
+  "plone.app.imaging-1.0.10" = self.buildPythonPackage {
+    name = "plone.app.imaging-1.0.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/E/ExtensionClass/ExtensionClass-2.13.2.zip";
-        md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8";
+        url = "https://pypi.python.org/packages/source/p/plone.app.imaging/plone.app.imaging-1.0.10.zip";
+        md5 = "511ed465cef112bac3d074f09810ca80";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    propagatedBuildInputs = [ self."plone.scale__storage-1.3.3" self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Metaclass for subclassable extension types
+        User-configurable, blob-aware image scaling for Plone.
         '';
-      homepage = "http://pypi.python.org/pypi/ExtensionClass";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.imaging";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.contentrules-3.0.4" = self.buildPythonPackage {
-    name = "plone.app.contentrules-3.0.4";
+  "plone.app.contentrules-3.0.6" = self.buildPythonPackage {
+    name = "plone.app.contentrules-3.0.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.contentrules/plone.app.contentrules-3.0.4.zip";
-        md5 = "15e86e2739096bff5bf0745590d5ebb0";
+        url = "https://pypi.python.org/packages/source/p/plone.app.contentrules/plone.app.contentrules-3.0.6.zip";
+        md5 = "95eeb55a9489c85c93eb11a87467d867";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.formlib-1.0.4" self."plone.app.form-2.2.3" self."plone.app.vocabularies-2.1.11" self."plone.contentrules-2.0.3" self."plone.memoize-1.1.1" self."plone.stringinterp-1.0.10" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.formlib-1.0.4" self."plone.app.form-2.2.4" self."plone.app.vocabularies-2.1.14" self."plone.contentrules-2.0.4" self."plone.memoize-1.1.1" self."plone.stringinterp-1.0.11" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Plone integration for plone.contentrules
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.contentrules";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -2110,7 +2242,7 @@ in
         md5 = "0979b46d8f0f852810c8ec4be5c26cf2";
     };
     doCheck = true;
-    buildInputs = [ self."nose-1.3.0" ];
+    buildInputs = [ self."nose-1.3.3" ];
     propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
@@ -2123,26 +2255,6 @@ in
   };
 
 
-  "MarkupSafe-0.18" = self.buildPythonPackage {
-    name = "MarkupSafe-0.18";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.18.tar.gz";
-        md5 = "f8d252fd05371e51dec2fe9a36890687";
-    };
-    doCheck = true;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Implements a XML/HTML/XHTML Markup safe string for Python
-        '';
-      homepage = "http://github.com/mitsuhiko/markupsafe";
-      license = "BSD";
-    };
-  };
-
-
   "zope.pagetemplate-3.6.3" = self.buildPythonPackage {
     name = "zope.pagetemplate-3.6.3";
     src = fetchurl {
@@ -2158,27 +2270,27 @@ in
         Zope Page Templates
         '';
       homepage = "http://pypi.python.org/pypi/zope.pagetemplate";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "python-gettext-1.2" = self.buildPythonPackage {
-    name = "python-gettext-1.2";
+  "plone.app.users-1.2" = self.buildPythonPackage {
+    name = "plone.app.users-1.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/python-gettext/python-gettext-1.2.zip";
-        md5 = "cd4201d440126d1296d1d2bc2b4795f3";
+        url = "https://pypi.python.org/packages/source/p/plone.app.users/plone.app.users-1.2.zip";
+        md5 = "c94682960a960da6d75c8bfba587a836";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."unittest2-0.5.1" ];
+    propagatedBuildInputs = [ self."five.formlib-1.0.4" self."plone.app.controlpanel-2.3.8" self."plone.app.layout-2.3.11" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.PlonePAS-4.1.3" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Python Gettext po to mo file compiler.
+        A package for all things users and groups related (specific to plone)
         '';
-      homepage = "http://pypi.python.org/pypi/python-gettext";
-      license = "BSD";
+      homepage = "http://pypi.python.org/pypi/plone.app.users";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -2198,16 +2310,16 @@ in
         System for managing development buildouts
         '';
       homepage = "http://pypi.python.org/pypi/zc.buildout";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "archetypes.schemaextender-2.1.2" = self.buildPythonPackage {
-    name = "archetypes.schemaextender-2.1.2";
+  "archetypes.schemaextender-2.1.3" = self.buildPythonPackage {
+    name = "archetypes.schemaextender-2.1.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/a/archetypes.schemaextender/archetypes.schemaextender-2.1.2.zip";
-        md5 = "865aa5b4b6b26e3bb650d89ddfe77c87";
+        url = "https://pypi.python.org/packages/source/a/archetypes.schemaextender/archetypes.schemaextender-2.1.3.zip";
+        md5 = "105f2f8e9c18f34bd09d1a90a10c91d2";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -2223,6 +2335,26 @@ in
   };
 
 
+  "ZopeUndo-2.12.0" = self.buildPythonPackage {
+    name = "ZopeUndo-2.12.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/Z/ZopeUndo/ZopeUndo-2.12.0.zip";
+        md5 = "2b8da09d1b98d5558f62e12f6e52c401";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        ZODB undo support for Zope2.
+        '';
+      homepage = "http://pypi.python.org/pypi/ZopeUndo";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
   "zope.tal-3.5.2" = self.buildPythonPackage {
     name = "zope.tal-3.5.2";
     src = fetchurl {
@@ -2238,7 +2370,7 @@ in
         Zope 3 Template Application Languate (TAL)
         '';
       homepage = "http://pypi.python.org/pypi/zope.tal";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2258,36 +2390,38 @@ in
         General Zope 2 help screens.
         '';
       homepage = "http://pypi.python.org/pypi/Products.OFSP";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "cssselect-0.9" = self.buildPythonPackage {
-    name = "cssselect-0.9";
+  "pyramid" = self."pyramid-1.5";
+
+  "pyramid-1.5" = self.buildPythonPackage {
+    name = "pyramid-1.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/c/cssselect/cssselect-0.9.tar.gz";
-        md5 = "3aba1e431787da957a9cd1e2c2e0bf1c";
+        url = "https://pypi.python.org/packages/source/p/pyramid/pyramid-1.5.tar.gz";
+        md5 = "8747658dcbab709a9c491e43d3b0d58b";
     };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
+    doCheck = true;
+    buildInputs = [ self."nose-1.3.3" self."WebTest-2.0.15" self."zope.component-4.2.1" self."zope.interface-4.1.1" ];
+    propagatedBuildInputs = [ self."PasteDeploy-1.5.2" self."repoze.lru-0.6" self.setuptools self."translationstring-1.1" self."venusian-1.0a8" self."WebOb-1.4" self."zope.deprecation-4.1.1" self."zope.interface-4.1.1" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        cssselect parses CSS3 Selectors and translates them to XPath 1.0
+        The Pyramid Web Framework, a Pylons project
         '';
-      homepage = "http://packages.python.org/cssselect/";
-      license = "BSD";
+      homepage = "http://pylonsproject.org";
+      license = "BSD-derived (http://www.repoze.org/LICENSE.txt)";
     };
   };
 
 
-  "plone.app.search-1.1.5" = self.buildPythonPackage {
-    name = "plone.app.search-1.1.5";
+  "plone.app.search-1.1.7" = self.buildPythonPackage {
+    name = "plone.app.search-1.1.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.search/plone.app.search-1.1.5.zip";
-        md5 = "eeb42889464d35e9d8169e062bc9c827";
+        url = "https://pypi.python.org/packages/source/p/plone.app.search/plone.app.search-1.1.7.zip";
+        md5 = "fc3c8d3f64300f6a02770027d7d14136";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -2318,47 +2452,67 @@ in
         Zope Container
         '';
       homepage = "http://pypi.python.org/pypi/zope.container";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.PloneTestCase-0.9.17" = self.buildPythonPackage {
-    name = "Products.PloneTestCase-0.9.17";
+  "unittest2-0.5.1" = self.buildPythonPackage {
+    name = "unittest2-0.5.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PloneTestCase/Products.PloneTestCase-0.9.17.zip";
-        md5 = "2a5bfb94220a520961d710abc92280f2";
+        url = "https://pypi.python.org/packages/source/u/unittest2/unittest2-0.5.1.tar.gz";
+        md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.ATContentTypes-2.1.13" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Integration testing framework for Plone.
+        The new features in unittest for Python 2.7 backported to Python 2.3+.
         '';
-      homepage = "http://plone.org/products/plonetestcase";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/unittest2";
+      license = "UNKNOWN";
     };
   };
 
 
-  "unittest2-0.5.1" = self.buildPythonPackage {
-    name = "unittest2-0.5.1";
+  "zope.schema-4.2.2" = self.buildPythonPackage {
+    name = "zope.schema-4.2.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/u/unittest2/unittest2-0.5.1.tar.gz";
-        md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
+        url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz";
+        md5 = "e7e581af8193551831560a736a53cf58";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [ self.setuptools self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        The new features in unittest for Python 2.7 backported to Python 2.3+.
+        zope.interface extension for defining data schemas
         '';
-      homepage = "http://pypi.python.org/pypi/unittest2";
-      license = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/zope.schema";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "zope.schema-4.4.1" = self.buildPythonPackage {
+    name = "zope.schema-4.4.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.4.1.tar.gz";
+        md5 = "afb9281217b79840e1679abeb302467a";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.3" self."zope.interface-4.1.1" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        zope.interface extension for defining data schemas
+        '';
+      homepage = "http://pypi.python.org/pypi/zope.schema";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2378,7 +2532,7 @@ in
         zExceptions contains common exceptions used in Zope2.
         '';
       homepage = "http://pypi.python.org/pypi/zExceptions";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2391,7 +2545,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -2418,27 +2572,27 @@ in
         The Zope publisher publishes Python objects on the web.
         '';
       homepage = "http://pypi.python.org/pypi/zope.publisher";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.ExternalEditor-1.1.0" = self.buildPythonPackage {
-    name = "Products.ExternalEditor-1.1.0";
+  "zope.browserpage-3.12.2" = self.buildPythonPackage {
+    name = "zope.browserpage-3.12.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.ExternalEditor/Products.ExternalEditor-1.1.0.zip";
-        md5 = "475fea6e0b958c0c51cfdbfef2f4e623";
+        url = "https://pypi.python.org/packages/source/z/zope.browserpage/zope.browserpage-3.12.2.tar.gz";
+        md5 = "a543ef3cb1b42f7233b3fca23dc9ea60";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Zope External Editor
+        ZCML directives for configuring browser views for Zope.
         '';
-      homepage = "http://pypi.python.org/pypi/Products.ExternalEditor";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/zope.browserpage/";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2458,7 +2612,7 @@ in
         Plone specific i18n extensions.
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.i18n";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -2478,47 +2632,49 @@ in
         Zope Security Framework
         '';
       homepage = "http://pypi.python.org/pypi/zope.security";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.cachepurging-1.0.4" = self.buildPythonPackage {
-    name = "plone.cachepurging-1.0.4";
+  "plone.cachepurging-1.0.5" = self.buildPythonPackage {
+    name = "plone.cachepurging-1.0.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.cachepurging/plone.cachepurging-1.0.4.zip";
-        md5 = "886814ac4deef0f1ed99a2eb60864264";
+        url = "https://pypi.python.org/packages/source/p/plone.cachepurging/plone.cachepurging-1.0.5.zip";
+        md5 = "ae893d47c424cb8a4cd688f6d9b46dc0";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Cache purging support for Zope 2 applications
         '';
       homepage = "http://pypi.python.org/pypi/plone.cachepurging";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "roman-1.4.0" = self.buildPythonPackage {
-    name = "roman-1.4.0";
+  "psycopg2" = self."psycopg2-2.5.3";
+
+  "psycopg2-2.5.3" = self.buildPythonPackage {
+    name = "psycopg2-2.5.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/r/roman/roman-1.4.0.tar.gz";
-        md5 = "4f8832ed4108174b159c2afb4bd1d1dd";
+        url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.3.tar.gz";
+        md5 = "09dcec70f623a9ef774f1aef75690995";
     };
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Integer to Roman numerals converter
+        Python-PostgreSQL Database Adapter
         '';
-      homepage = "http://pypi.python.org/pypi/roman";
-      license = "Python 2.1.1";
+      homepage = "http://initd.org/psycopg/";
+      license = "GPL with exceptions or ZPL";
     };
   };
 
@@ -2538,29 +2694,47 @@ in
         Zope Component Architecture
         '';
       homepage = "http://pypi.python.org/pypi/zope.component";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "psycopg2" = self."psycopg2-2.5.1";
+  "Acquisition-2.13.8" = self.buildPythonPackage {
+    name = "Acquisition-2.13.8";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/A/Acquisition/Acquisition-2.13.8.zip";
+        md5 = "8c33160c157b50649e2b2b3224622579";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Acquisition is a mechanism that allows objects to obtain attributes from the containment hierarchy they're in.
+        '';
+      homepage = "http://pypi.python.org/pypi/Acquisition";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
 
-  "psycopg2-2.5.1" = self.buildPythonPackage {
-    name = "psycopg2-2.5.1";
+  "Unidecode-0.04.1" = self.buildPythonPackage {
+    name = "Unidecode-0.04.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz";
-        md5 = "1b433f83d50d1bc61e09026e906d84c7";
+        url = "https://pypi.python.org/packages/source/U/Unidecode/Unidecode-0.04.1.tar.gz";
+        md5 = "c4c9ed8d40cff25c390ff5d5112b9308";
     };
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Python-PostgreSQL Database Adapter
+        US-ASCII transliterations of Unicode text
         '';
-      homepage = "http://initd.org/psycopg/";
-      license = "GPL with exceptions or ZPL";
+      homepage = "http://code.zemanta.com/tsolc/unidecode/";
+      license = "UNKNOWN";
     };
   };
 
@@ -2600,67 +2774,67 @@ in
         Zope Viewlets
         '';
       homepage = "http://pypi.python.org/pypi/zope.viewlet";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.i18n__zcml-3.7.4" = self.buildPythonPackage {
-    name = "zope.i18n__zcml-3.7.4";
+  "Products.ATContentTypes-2.1.14" = self.buildPythonPackage {
+    name = "Products.ATContentTypes-2.1.14";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.i18n/zope.i18n-3.7.4.tar.gz";
-        md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7";
+        url = "https://pypi.python.org/packages/source/P/Products.ATContentTypes/Products.ATContentTypes-2.1.14.zip";
+        md5 = "7e777ed4034ffc23688f2a8072a6c109";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."pytz-2013b" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.schema-4.2.2" self."zope.configuration-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.referencebrowserwidget-2.4.20" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.6" self."plone.app.layout-2.3.11" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.7" self."Products.ATReferenceBrowserWidget-3.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.3" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."ZConfig-2.9.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.tal-3.5.2" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Internationalization Support
+        Default Content Types for Plone
         '';
-      homepage = "http://pypi.python.org/pypi/zope.i18n";
-      license = "ZPL 2.1";
+      homepage = "http://plone.org/";
+      license = "GPL";
     };
   };
 
 
-  "Products.ATContentTypes-2.1.13" = self.buildPythonPackage {
-    name = "Products.ATContentTypes-2.1.13";
+  "coverage-3.7.1" = self.buildPythonPackage {
+    name = "coverage-3.7.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.ATContentTypes/Products.ATContentTypes-2.1.13.zip";
-        md5 = "093899fc74f5e2a83db464c96d0f5293";
+        url = "https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz";
+        md5 = "c47b36ceb17eaff3ecfab3bcd347d0df";
     };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.referencebrowserwidget-2.4.19" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.5" self."plone.app.layout-2.3.7" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.4" self."Products.ATReferenceBrowserWidget-3.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.2" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."ZConfig-2.9.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.tal-3.5.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    doCheck = true;
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Default Content Types for Plone
+        Code coverage measurement for Python
         '';
-      homepage = "http://plone.org/";
-      license = "GPL";
+      homepage = "http://nedbatchelder.com/code/coverage";
+      license = "BSD";
     };
   };
 
 
-  "WSGIProxy2-0.3" = self.buildPythonPackage {
-    name = "WSGIProxy2-0.3";
+  "zope.i18n__zcml-3.7.4" = self.buildPythonPackage {
+    name = "zope.i18n__zcml-3.7.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/W/WSGIProxy2/WSGIProxy2-0.3.zip";
-        md5 = "8b2cb207932eb8c341c3fa41f0cbe994";
+        url = "https://pypi.python.org/packages/source/z/zope.i18n/zope.i18n-3.7.4.tar.gz";
+        md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7";
     };
-    doCheck = true;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."six-1.4.1" self."WebOb-1.2.3" ];
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."pytz-2013b" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.schema-4.2.2" self."zope.configuration-3.7.4" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        UNKNOWN
+        Zope Internationalization Support
         '';
-      homepage = "https://github.com/gawel/WSGIProxy2/";
-      license = "MIT";
+      homepage = "http://pypi.python.org/pypi/zope.i18n";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2702,47 +2876,49 @@ in
         A backend for ZODB that stores pickles in a relational database.
         '';
       homepage = "http://pypi.python.org/pypi/RelStorage";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.ResourceRegistries-2.2.9" = self.buildPythonPackage {
-    name = "Products.ResourceRegistries-2.2.9";
+  "five.formlib-1.0.4" = self.buildPythonPackage {
+    name = "five.formlib-1.0.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.ResourceRegistries/Products.ResourceRegistries-2.2.9.zip";
-        md5 = "8dd4f36eb894d868366b51941f6f0966";
+        url = "https://pypi.python.org/packages/source/f/five.formlib/five.formlib-1.0.4.zip";
+        md5 = "09fcecbb7e0ed4a31a4f19787c1a78b4";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self.setuptools self."transaction-1.1.1" self."zope.app.form-4.0.2" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Registry for managing CSS and JS
+        zope.formlib integration for Zope 2
         '';
-      homepage = "http://pypi.python.org/pypi/Products.ResourceRegistries";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/five.formlib";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "five.formlib-1.0.4" = self.buildPythonPackage {
-    name = "five.formlib-1.0.4";
+  "xlrd" = self."xlrd-0.9.3";
+
+  "xlrd-0.9.3" = self.buildPythonPackage {
+    name = "xlrd-0.9.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/f/five.formlib/five.formlib-1.0.4.zip";
-        md5 = "09fcecbb7e0ed4a31a4f19787c1a78b4";
+        url = "https://pypi.python.org/packages/source/x/xlrd/xlrd-0.9.3.tar.gz";
+        md5 = "6f3325132f246594988171bc72e1a385";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self.setuptools self."transaction-1.1.1" self."zope.app.form-4.0.2" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        zope.formlib integration for Zope 2
+        Library for developers to extract data from Microsoft Excel (tm) spreadsheet files
         '';
-      homepage = "http://pypi.python.org/pypi/five.formlib";
-      license = "ZPL 2.1";
+      homepage = "http://www.python-excel.org/";
+      license = "BSD";
     };
   };
 
@@ -2767,48 +2943,6 @@ in
   };
 
 
-  "pyramid" = self."pyramid-1.4.5";
-
-  "pyramid-1.4.5" = self.buildPythonPackage {
-    name = "pyramid-1.4.5";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/pyramid/pyramid-1.4.5.tar.gz";
-        md5 = "321731aad69e9788b7819e257a50be1a";
-    };
-    doCheck = true;
-    buildInputs = [ self."nose-1.3.0" self."WebTest-2.0.9" self."zope.component-4.1.0" self."zope.interface-4.0.5" ];
-    propagatedBuildInputs = [ self."Chameleon-2.12" self."Mako-0.9.0" self."PasteDeploy-1.5.0" self."repoze.lru-0.6" self.setuptools self."translationstring-1.1" self."venusian-1.0a8" self."WebOb-1.2.3" self."zope.deprecation-4.0.2" self."zope.interface-4.0.5" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        The Pyramid web application development framework, a Pylons project
-        '';
-      homepage = "http://pylonsproject.org";
-      license = "BSD-derived (http://www.repoze.org/LICENSE.txt)";
-    };
-  };
-
-
-  "Products.contentmigration-2.1.5" = self.buildPythonPackage {
-    name = "Products.contentmigration-2.1.5";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.contentmigration/Products.contentmigration-2.1.5.zip";
-        md5 = "f08e5f2572fc6f4c61b930a17f99418f";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        A generic content migration framework for Plone.
-        '';
-      homepage = "http://pypi.python.org/pypi/Products.contentmigration";
-      license = "LGPL";
-    };
-  };
-
-
   "Products.MimetypesRegistry-2.0.5" = self.buildPythonPackage {
     name = "Products.MimetypesRegistry-2.0.5";
     src = fetchurl {
@@ -2817,7 +2951,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -2829,42 +2963,42 @@ in
   };
 
 
-  "python-dateutil-1.5" = self.buildPythonPackage {
-    name = "python-dateutil-1.5";
+  "plone.app.upgrade-1.3.6" = self.buildPythonPackage {
+    name = "plone.app.upgrade-1.3.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-1.5.tar.gz";
-        md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5";
+        url = "https://pypi.python.org/packages/source/p/plone.app.upgrade/plone.app.upgrade-1.3.6.zip";
+        md5 = "36703e1085f0d5d1d0f6e635e72fd5c1";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."borg.localrole-3.0.2" self."five.localsitemanager-2.0.5" self."plone.app.folder-1.0.6" self."plone.app.portlets-2.4.8" self."plone.portlets-2.2" self."plone.session-3.5.3" self."Products.Archetypes-1.9.7" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDiffTool-2.1" self."Products.CMFEditions-2.2.9" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.contentmigration-2.1.7" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self."Products.PortalTransforms-2.1.3" self."Products.ResourceRegistries-2.2.10" self."Products.SecureMailHost-1.1.2" self."Products.ZCatalog-2.13.27" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.ramcache-1.0" self."zope.site-3.9.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Extensions to the standard python 2.3+ datetime module
+        Upgrade machinery for Plone.
         '';
-      homepage = "http://labix.org/python-dateutil";
-      license = "PSF License";
+      homepage = "http://pypi.python.org/pypi/plone.app.upgrade";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.upgrade-1.3.4" = self.buildPythonPackage {
-    name = "plone.app.upgrade-1.3.4";
+  "Products.PloneLanguageTool-3.2.7" = self.buildPythonPackage {
+    name = "Products.PloneLanguageTool-3.2.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.upgrade/plone.app.upgrade-1.3.4.zip";
-        md5 = "10c192ee4a2422f901e020fd5b39879a";
+        url = "https://pypi.python.org/packages/source/P/Products.PloneLanguageTool/Products.PloneLanguageTool-3.2.7.zip";
+        md5 = "bd9eb6278bf76e8cbce99437ca362164";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."borg.localrole-3.0.2" self."five.localsitemanager-2.0.5" self."plone.app.folder-1.0.5" self."plone.app.portlets-2.4.5" self."plone.portlets-2.2" self."plone.session-3.5.3" self."Products.Archetypes-1.9.4" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDiffTool-2.1" self."Products.CMFEditions-2.2.8" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.contentmigration-2.1.5" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self."Products.PortalTransforms-2.1.2" self."Products.ResourceRegistries-2.2.9" self."Products.SecureMailHost-1.1.2" self."Products.ZCatalog-2.13.23" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.ramcache-1.0" self."zope.site-3.9.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Upgrade machinery for Plone.
+        PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.upgrade";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/Products.PloneLanguageTool";
+      license = "GPL";
     };
   };
 
@@ -2884,27 +3018,7 @@ in
         Provides transforms from text/x-web-intelligent to text/html and vice versa.
         '';
       homepage = "http://pypi.python.org/pypi/plone.intelligenttext";
-      license = "GPL version 2";
-    };
-  };
-
-
-  "plone.namedfile__scales-2.0.2" = self.buildPythonPackage {
-    name = "plone.namedfile__scales-2.0.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.namedfile/plone.namedfile-2.0.2.zip";
-        md5 = "f6168ab9e38f3a171dc35483527b3e01";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.rfc822-1.1" self.setuptools self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" self."plone.scale__storage-1.3.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        File types and fields for images, files and blob files with filenames
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.namedfile";
-      license = "BSD";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -2924,27 +3038,27 @@ in
         Zope contenttype
         '';
       homepage = "http://pypi.python.org/pypi/zope.contenttype";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.proxy-4.1.3" = self.buildPythonPackage {
-    name = "zope.proxy-4.1.3";
+  "zope.proxy-4.1.4" = self.buildPythonPackage {
+    name = "zope.proxy-4.1.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.3.zip";
-        md5 = "8dbca0d33996511b9a9026da84a47109";
+        url = "https://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.4.tar.gz";
+        md5 = "3bcaf8b8512a99649ecf2f158c11d05b";
     };
     doCheck = true;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."zope.interface-4.0.5" ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.interface-4.1.1" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Generic Transparent Proxies
         '';
       homepage = "http://pypi.python.org/pypi/zope.proxy";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -2984,27 +3098,7 @@ in
         Zope sendmail
         '';
       homepage = "http://pypi.python.org/pypi/zope.sendmail";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "Products.MIMETools-2.13.0" = self.buildPythonPackage {
-    name = "Products.MIMETools-2.13.0";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.MIMETools/Products.MIMETools-2.13.0.zip";
-        md5 = "ad5372fc1190599a19493db0864448ec";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."DocumentTemplate-2.13.2" self.setuptools ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        MIMETools provides the &lt;!--#mime--&gt; tag for DocumentTemplate.
-        '';
-      homepage = "http://pypi.python.org/pypi/Products.MIMETools";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3024,7 +3118,7 @@ in
         Object annotation mechanism
         '';
       homepage = "http://pypi.python.org/pypi/zope.annotation";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3037,14 +3131,14 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.customerize-1.1" self."plone.browserlayer-2.1.2" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.customerize-1.1" self."plone.browserlayer-2.1.3" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Integrate five.customerize into Plone.
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.customerize/";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -3057,7 +3151,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."lxml-2.3.6" self."plone.app.z3cform-0.7.4" self."plone.autoform-1.5" self."plone.registry-1.0.1" self."plone.supermodel-1.2.3" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."lxml-2.3.6" self."plone.app.z3cform-0.7.6" self."plone.autoform-1.6" self."plone.registry-1.0.1" self."plone.supermodel-1.2.4" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.3" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -3077,7 +3171,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.keyring-2.0.1" self."plone.protect-2.0.2" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.keyring-2.0.1" self."plone.protect-2.0.2" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -3109,26 +3203,6 @@ in
   };
 
 
-  "Products.ZCTextIndex-2.13.4" = self.buildPythonPackage {
-    name = "Products.ZCTextIndex-2.13.4";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.ZCTextIndex/Products.ZCTextIndex-2.13.4.zip";
-        md5 = "8bbfa5fcd3609246990a9314d6f826b4";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."Persistence-2.13.2" self.setuptools self."transaction-1.1.1" self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Full text indexing for ZCatalog / Zope 2.
-        '';
-      homepage = "http://pypi.python.org/pypi/Products.ZCTextIndex";
-      license = "ZPL 2.1";
-    };
-  };
-
-
   "zope.filerepresentation-3.6.1" = self.buildPythonPackage {
     name = "zope.filerepresentation-3.6.1";
     src = fetchurl {
@@ -3144,7 +3218,7 @@ in
         File-system Representation Interfaces
         '';
       homepage = "http://pypi.python.org/pypi/zope.filerepresentation";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3164,7 +3238,7 @@ in
         Decorators for caching the values of functions and methods
         '';
       homepage = "http://pypi.python.org/pypi/plone.memoize";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -3184,7 +3258,7 @@ in
         Interfaces for Python
         '';
       homepage = "http://pypi.python.org/pypi/zope.interface";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3204,27 +3278,7 @@ in
         Interfaces and simple adapter that give the size of an object
         '';
       homepage = "http://pypi.python.org/pypi/zope.size";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "ZODB3-3.10.5" = self.buildPythonPackage {
-    name = "ZODB3-3.10.5";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/Z/ZODB3/ZODB3-3.10.5.tar.gz";
-        md5 = "6f180c6897a1820948fee2a6290503cd";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."transaction-1.1.1" self."zc.lockfile-1.0.2" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Zope Object Database: object database and persistence
-        '';
-      homepage = "UNKNOWN";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3237,14 +3291,14 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.portlets-2.2" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.componentvocabulary-1.0.1" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.portlets-2.2" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.componentvocabulary-1.0.1" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         TTW customization of template-based Zope views
         '';
       homepage = "http://pypi.python.org/pypi/five.customerize";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3264,7 +3318,7 @@ in
         Resolver for Python dotted names.
         '';
       homepage = "http://pypi.python.org/pypi/zope.dottedname";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3277,7 +3331,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.caching-1.0" self."python-dateutil-1.5" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.caching-1.0" self."python-dateutil-1.5" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -3289,82 +3343,102 @@ in
   };
 
 
-  "Products.DCWorkflow-2.2.4" = self.buildPythonPackage {
-    name = "Products.DCWorkflow-2.2.4";
+  "plone.app.locales-4.3.3" = self.buildPythonPackage {
+    name = "plone.app.locales-4.3.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.DCWorkflow/Products.DCWorkflow-2.2.4.tar.gz";
-        md5 = "c90a16c4f3611015592ba8173a5f1863";
+        url = "https://pypi.python.org/packages/source/p/plone.app.locales/plone.app.locales-4.3.3.zip";
+        md5 = "d774b4de1d16bed639c22c306ad0ada7";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        DCWorkflow product for the Zope Content Management Framework
+        Translation files for Plone
         '';
-      homepage = "http://pypi.python.org/pypi/Products.DCWorkflow";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      homepage = "http://pypi.python.org/pypi/plone.app.locales";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.locales-4.3.2" = self.buildPythonPackage {
-    name = "plone.app.locales-4.3.2";
+  "collective.z3cform.datetimewidget-1.2.6" = self.buildPythonPackage {
+    name = "collective.z3cform.datetimewidget-1.2.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.locales/plone.app.locales-4.3.2.zip";
-        md5 = "c06d6574c1e1df4e253b80751a468ad5";
+        url = "https://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/collective.z3cform.datetimewidget-1.2.6.zip";
+        md5 = "b8101e810c552a5afb8b57144ab6338a";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self.setuptools self."z3c.form-3.1.1" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Translation files for Plone
+        z3c.form date and datetime widgets
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.locales";
-      license = "GPL version 2";
+      homepage = "https://github.com/collective/collective.z3cform.datetimewidget";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "collective.z3cform.datetimewidget-1.2.5" = self.buildPythonPackage {
-    name = "collective.z3cform.datetimewidget-1.2.5";
+  "plone.app.contentlisting-1.0.5" = self.buildPythonPackage {
+    name = "plone.app.contentlisting-1.0.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/collective.z3cform.datetimewidget-1.2.5.zip";
-        md5 = "38fa463ea9b0b3cf5f61540250968214";
+        url = "https://pypi.python.org/packages/source/p/plone.app.contentlisting/plone.app.contentlisting-1.0.5.zip";
+        md5 = "9fc15b8ecad1c918778c3ea9a75bf533";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."z3c.form-3.0.2" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" ];
+    propagatedBuildInputs = [ self."plone.uuid-1.0.3" self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        z3c.form date and datetime widgets
+        Listing of content for the Plone CMS
         '';
-      homepage = "https://github.com/collective/collective.z3cform.datetimewidget";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.app.contentlisting";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Zope2-2.13.21" = self.buildPythonPackage {
-    name = "Zope2-2.13.21";
+  "Zope2-2.13.22" = self.buildPythonPackage {
+    name = "Zope2-2.13.22";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/Z/Zope2/Zope2-2.13.21.zip";
-        md5 = "7d6e1661e365ee562fea9d3593f03f0e";
+        url = "https://pypi.python.org/packages/source/Z/Zope2/Zope2-2.13.22.zip";
+        md5 = "4322d37b5ca63b2e4fe43cfc67960819";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."docutils-0.9.1" self."ExtensionClass-2.13.2" self."initgroups-2.13.0" self."Missing-2.13.1" self."MultiMapping-2.13.0" self."Persistence-2.13.2" self."Products.BTreeFolder2-2.13.3" self."Products.ExternalMethod-2.13.0" self."Products.MailHost-2.13.1" self."Products.MIMETools-2.13.0" self."Products.OFSP-2.13.2" self."Products.PythonScripts-2.13.2" self."Products.StandardCacheManagers-2.13.0" self."Products.ZCatalog-2.13.23" self."Products.ZCTextIndex-2.13.4" self."pytz-2013b" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."tempstorage-2.12.2" self."transaction-1.1.1" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zExceptions-2.13.0" self."zLOG-2.11.1" self."ZODB3-3.10.5" self."zope.browser-1.3" self."zope.browsermenu-3.9.1" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.contenttype-3.5.5" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.exceptions-3.6.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.processlifetime-1.0" self."zope.proxy-3.6.1" self."zope.ptresource-3.9.0" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.sendmail-3.7.5" self."zope.sequencesort-3.4.0" self."zope.site-3.9.2" self."zope.size-3.4.1" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.testbrowser-3.11.1" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."ZopeUndo-2.12.0" ];
+    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."docutils-0.9.1" self."ExtensionClass-2.13.2" self."initgroups-2.13.0" self."Missing-2.13.1" self."MultiMapping-2.13.0" self."Persistence-2.13.2" self."Products.BTreeFolder2-2.13.3" self."Products.ExternalMethod-2.13.0" self."Products.MailHost-2.13.1" self."Products.MIMETools-2.13.0" self."Products.OFSP-2.13.2" self."Products.PythonScripts-2.13.2" self."Products.StandardCacheManagers-2.13.0" self."Products.ZCatalog-2.13.27" self."Products.ZCTextIndex-2.13.5" self."pytz-2013b" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."tempstorage-2.12.2" self."transaction-1.1.1" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zExceptions-2.13.0" self."zLOG-2.11.1" self."ZODB3-3.10.5" self."zope.browser-1.3" self."zope.browsermenu-3.9.1" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.contenttype-3.5.5" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.exceptions-3.6.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.processlifetime-1.0" self."zope.proxy-3.6.1" self."zope.ptresource-3.9.0" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.sendmail-3.7.5" self."zope.sequencesort-3.4.0" self."zope.site-3.9.2" self."zope.size-3.4.1" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.testbrowser-3.11.1" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."ZopeUndo-2.12.0" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope2 application server / web framework
         '';
       homepage = "http://zope2.zope.org";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "plone.app.textfield-1.2.3" = self.buildPythonPackage {
+    name = "plone.app.textfield-1.2.3";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.app.textfield/plone.app.textfield-1.2.3.zip";
+        md5 = "1a018fa11ea21de5894f85b67161bcf1";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Text field with MIME type support
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.app.textfield";
+      license = "GPL";
     };
   };
 
@@ -3384,87 +3458,87 @@ in
         This package provides support for external Python methods within a Zope 2 environment.
         '';
       homepage = "http://pypi.python.org/pypi/Products.ExternalMethod";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.workflow-2.1.6" = self.buildPythonPackage {
-    name = "plone.app.workflow-2.1.6";
+  "plone.browserlayer-2.1.3" = self.buildPythonPackage {
+    name = "plone.browserlayer-2.1.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.workflow/plone.app.workflow-2.1.6.zip";
-        md5 = "68a76865382b9db82aaa60c16efb1d14";
+        url = "https://pypi.python.org/packages/source/p/plone.browserlayer/plone.browserlayer-2.1.3.zip";
+        md5 = "41df50201e912fa10286c63687aaec3d";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        workflow and security settings for Plone
+        Browser layer management for Zope 2 applications
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.workflow";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.browserlayer";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.browserlayer-2.1.2" = self.buildPythonPackage {
-    name = "plone.browserlayer-2.1.2";
+  "plone.app.workflow-2.1.7" = self.buildPythonPackage {
+    name = "plone.app.workflow-2.1.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.browserlayer/plone.browserlayer-2.1.2.zip";
-        md5 = "bce02f4907a4f29314090c525e5fc28e";
+        url = "https://pypi.python.org/packages/source/p/plone.app.workflow/plone.app.workflow-2.1.7.zip";
+        md5 = "269dc3dfdb8dae195ca6e1dff26a51da";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Browser layer management for Zope 2 applications
+        workflow and security settings for Plone
         '';
-      homepage = "http://pypi.python.org/pypi/plone.browserlayer";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.app.workflow";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.folder-1.0.5" = self.buildPythonPackage {
-    name = "plone.app.folder-1.0.5";
+  "plone.app.folder-1.0.6" = self.buildPythonPackage {
+    name = "plone.app.folder-1.0.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.folder/plone.app.folder-1.0.5.zip";
-        md5 = "8ea860daddb4c93c0b7f2b5f7106fef0";
+        url = "https://pypi.python.org/packages/source/p/plone.app.folder/plone.app.folder-1.0.6.zip";
+        md5 = "78e76f9d20e0c0e6e8edef7cb7e5d8f1";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.folder-1.0.4" self.setuptools ];
+    propagatedBuildInputs = [ self."plone.folder-1.0.5" self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Integration package for `plone.folder` into Plone
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.folder/";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Chameleon-2.12" = self.buildPythonPackage {
-    name = "Chameleon-2.12";
+  "zc.lockfile-1.0.2" = self.buildPythonPackage {
+    name = "zc.lockfile-1.0.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/C/Chameleon/Chameleon-2.12.tar.gz";
-        md5 = "c2947c7b615bf758fa4a710e759c658b";
+        url = "https://pypi.python.org/packages/source/z/zc.lockfile/zc.lockfile-1.0.2.tar.gz";
+        md5 = "f099d4cf2583a0c7bea0146a44dc4d59";
     };
     doCheck = false;
-    buildInputs = [ self."zope.event-4.0.2" ];
-    propagatedBuildInputs = [  ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Fast HTML/XML Template Compiler.
+        Basic inter-process locks
         '';
-      homepage = "http://www.pagetemplates.org/";
-      license = "BSD-like (http://repoze.org/license.html)";
+      homepage = "http://www.python.org/pypi/zc.lockfile";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3484,7 +3558,7 @@ in
         Cache managers for Zope 2.
         '';
       homepage = "http://pypi.python.org/pypi/Products.StandardCacheManagers";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3504,7 +3578,27 @@ in
         RestrictedPython provides a restricted execution environment for Python, e.g. for running untrusted code.
         '';
       homepage = "http://pypi.python.org/pypi/RestrictedPython";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "plone.stringinterp-1.0.11" = self.buildPythonPackage {
+    name = "plone.stringinterp-1.0.11";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.stringinterp/plone.stringinterp-1.0.11.zip";
+        md5 = "e54dfa87b20a72f9b1465fcee1fd7ecd";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.i18n__zcml-3.7.4" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Adaptable string interpolation
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.stringinterp";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -3524,16 +3618,16 @@ in
         A RAM-based storage for ZODB
         '';
       homepage = "http://pypi.python.org/pypi/tempstorage";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.uuid-1.0" = self.buildPythonPackage {
-    name = "plone.app.uuid-1.0";
+  "plone.app.uuid-1.1" = self.buildPythonPackage {
+    name = "plone.app.uuid-1.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.uuid/plone.app.uuid-1.0.zip";
-        md5 = "9ca8dcfb09a8a0d6bbee0f28073c3d3f";
+        url = "https://pypi.python.org/packages/source/p/plone.app.uuid/plone.app.uuid-1.1.zip";
+        md5 = "12ab2dee1a23d1c731b563686cf7b59f";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -3549,26 +3643,6 @@ in
   };
 
 
-  "Acquisition-2.13.8" = self.buildPythonPackage {
-    name = "Acquisition-2.13.8";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/A/Acquisition/Acquisition-2.13.8.zip";
-        md5 = "8c33160c157b50649e2b2b3224622579";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Acquisition is a mechanism that allows objects to obtain attributes from the containment hierarchy they're in.
-        '';
-      homepage = "http://pypi.python.org/pypi/Acquisition";
-      license = "ZPL 2.1";
-    };
-  };
-
-
   "zope.datetime-3.4.1" = self.buildPythonPackage {
     name = "zope.datetime-3.4.1";
     src = fetchurl {
@@ -3584,7 +3658,7 @@ in
         Zope datetime
         '';
       homepage = "http://pypi.python.org/pypi/zope.datetime";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3609,42 +3683,42 @@ in
   };
 
 
-  "plone.app.dexterity-2.0.9" = self.buildPythonPackage {
-    name = "plone.app.dexterity-2.0.9";
+  "zope.location-4.0.3" = self.buildPythonPackage {
+    name = "zope.location-4.0.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.dexterity/plone.app.dexterity-2.0.9.zip";
-        md5 = "aa9d6ee719a6918f99f0aa0066ebf024";
+        url = "https://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz";
+        md5 = "201416f4eb72a9cf61c7d6d37bb87f24";
     };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.5" self."lxml-2.3.6" self."plone.app.content-2.1.3" self."plone.app.layout-2.3.7" self."plone.app.textfield-1.2.2" self."plone.app.uuid-1.0" self."plone.app.z3cform-0.7.4" self."plone.autoform-1.5" self."plone.behavior-1.0.2" self."plone.contentrules-2.0.3" self."plone.dexterity-2.1.3" self."plone.formwidget.namedfile-1.0.7" self."plone.namedfile__scales-2.0.2" self."plone.portlets-2.2" self."plone.rfc822-1.1" self."plone.schemaeditor-1.3.3" self."plone.supermodel-1.2.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self.setuptools self."z3c.form-3.0.2" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    doCheck = true;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.interface-4.1.1" self."zope.proxy-4.1.4" self."zope.schema-4.4.1" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Dexterity is a content type framework for CMF applications, with particular emphasis on Plone. It can be viewed as an alternative to Archetypes that is more light-weight and modular.
+        Zope Location
         '';
-      homepage = "http://plone.org/products/dexterity";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/zope.location/";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "zope.location-4.0.2" = self.buildPythonPackage {
-    name = "zope.location-4.0.2";
+  "WSGIProxy2-0.4.1" = self.buildPythonPackage {
+    name = "WSGIProxy2-0.4.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.2.zip";
-        md5 = "44d865b2c0b1e1cc93898c7df938d353";
+        url = "https://pypi.python.org/packages/source/W/WSGIProxy2/WSGIProxy2-0.4.1.zip";
+        md5 = "fb8937620dc24270916678f6f07e337b";
     };
     doCheck = true;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."zope.interface-4.0.5" self."zope.proxy-4.1.3" self."zope.schema-4.3.2" ];
+    propagatedBuildInputs = [ self."six-1.6.1" self."WebOb-1.4" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Location
+        UNKNOWN
         '';
-      homepage = "http://pypi.python.org/pypi/zope.location/";
-      license = "ZPL 2.1";
+      homepage = "https://github.com/gawel/WSGIProxy2/";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
@@ -3664,7 +3738,7 @@ in
         Zope locale extraction and management utilities
         '';
       homepage = "http://pypi.python.org/pypi/zope.app.locales";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -3677,7 +3751,7 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.globalrequest-1.0" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self.setuptools self."zope.globalrequest-1.0" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -3689,46 +3763,6 @@ in
   };
 
 
-  "plone.indexer-1.0.2" = self.buildPythonPackage {
-    name = "plone.indexer-1.0.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.indexer/plone.indexer-1.0.2.zip";
-        md5 = "538aeee1f9db78bc8c85ae1bcb0153ed";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Hooks to facilitate managing custom index values in Zope 2/CMF applications
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.indexer";
-      license = "BSD";
-    };
-  };
-
-
-  "plone.app.layout-2.3.7" = self.buildPythonPackage {
-    name = "plone.app.layout-2.3.7";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.layout/plone.app.layout-2.3.7.zip";
-        md5 = "c68be1efeef54124211a676d0dbaa655";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.app.portlets-2.4.5" self."plone.app.viewletmanager-2.0.4" self."plone.i18n-2.0.9" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.8" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Layout mechanisms for Plone
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.app.layout";
-      license = "GPL version 2";
-    };
-  };
-
-
   "zope.app.content-3.5.1" = self.buildPythonPackage {
     name = "zope.app.content-3.5.1";
     src = fetchurl {
@@ -3744,147 +3778,87 @@ in
         Zope Content Type
         '';
       homepage = "http://cheeseshop.python.org/pypi/zope.app.content";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "mechanize-0.2.5" = self.buildPythonPackage {
-    name = "mechanize-0.2.5";
+  "plone.app.discussion-2.2.12" = self.buildPythonPackage {
+    name = "plone.app.discussion-2.2.12";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/m/mechanize/mechanize-0.2.5.tar.gz";
-        md5 = "32657f139fc2fb75bcf193b63b8c60b2";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Stateful programmatic web browsing.
-        '';
-      homepage = "http://wwwsearch.sourceforge.net/mechanize/";
-      license = "BSD";
-    };
-  };
-
-
-  "z3c.formwidget.query-0.9" = self.buildPythonPackage {
-    name = "z3c.formwidget.query-0.9";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/z3c.formwidget.query/z3c.formwidget.query-0.9.zip";
-        md5 = "d9f7960b1a5a81d8ba5241530f496522";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."z3c.form-3.0.2" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        A source query widget for z3c.form.
-        '';
-      homepage = "http://pypi.python.org/pypi/z3c.formwidget.query";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "plone.app.z3cform-0.7.4" = self.buildPythonPackage {
-    name = "plone.app.z3cform-0.7.4";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.z3cform/plone.app.z3cform-0.7.4.zip";
-        md5 = "6350db39b32c3bf6edbb820b91b70b0f";
+        url = "https://pypi.python.org/packages/source/p/plone.app.discussion/plone.app.discussion-2.2.12.zip";
+        md5 = "410d25455ff13100aa7ef2eca9f28ac4";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.5" self."plone.protect-2.0.2" self."plone.z3cform-0.8.0" self.setuptools self."z3c.formwidget.query-0.9" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."collective.monkeypatcher-1.0.1" self."plone.app.layout-2.3.11" self."plone.app.uuid-1.1" self."plone.app.z3cform-0.7.6" self."plone.indexer-1.0.2" self."plone.registry-1.0.1" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.site-3.9.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        A collection of widgets, templates and other components for use with z3c.form and Plone
+        Enhanced discussion support for Plone
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.z3cform";
+      homepage = "http://pypi.python.org/pypi/plone.app.discussion";
       license = "GPL";
     };
   };
 
 
-  "plone.app.querystring-1.0.8" = self.buildPythonPackage {
-    name = "plone.app.querystring-1.0.8";
+  "Products.MIMETools-2.13.0" = self.buildPythonPackage {
+    name = "Products.MIMETools-2.13.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.querystring/plone.app.querystring-1.0.8.zip";
-        md5 = "3ad2155da0dd5c6b99643551ad494607";
+        url = "https://pypi.python.org/packages/source/P/Products.MIMETools/Products.MIMETools-2.13.0.zip";
+        md5 = "ad5372fc1190599a19493db0864448ec";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."DateTime-3.0.3" self."plone.app.contentlisting-1.0.5" self."plone.app.layout-2.3.7" self."plone.app.vocabularies-2.1.11" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.globalrequest-1.0" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        UNKNOWN
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.app.querystring";
-      license = "GPL version 2";
-    };
-  };
-
-
-  "zope.interface-4.0.5" = self.buildPythonPackage {
-    name = "zope.interface-4.0.5";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.interface/zope.interface-4.0.5.zip";
-        md5 = "caf26025ae1b02da124a58340e423dfe";
-    };
-    doCheck = true;
-    buildInputs = [ self."zope.event-4.0.2" pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self."DocumentTemplate-2.13.2" self.setuptools ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Interfaces for Python
+        MIMETools provides the &lt;!--#mime--&gt; tag for DocumentTemplate.
         '';
-      homepage = "http://pypi.python.org/pypi/zope.interface";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.MIMETools";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "Products.PasswordResetTool-2.0.15" = self.buildPythonPackage {
-    name = "Products.PasswordResetTool-2.0.15";
+  "plone.app.z3cform-0.7.6" = self.buildPythonPackage {
+    name = "plone.app.z3cform-0.7.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PasswordResetTool/Products.PasswordResetTool-2.0.15.zip";
-        md5 = "74b46348d023052285124683bf122272";
+        url = "https://pypi.python.org/packages/source/p/plone.app.z3cform/plone.app.z3cform-0.7.6.zip";
+        md5 = "292367803fafba716f04fa7a546e7064";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.6" self."plone.protect-2.0.2" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."z3c.formwidget.query-0.10" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Password reset tool for Plone
+        A collection of widgets, templates and other components for use with z3c.form and Plone
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PasswordResetTool";
+      homepage = "http://pypi.python.org/pypi/plone.app.z3cform";
       license = "GPL";
     };
   };
 
 
-  "plone.portlet.static-2.0.2" = self.buildPythonPackage {
-    name = "plone.portlet.static-2.0.2";
+  "python-dateutil-1.5" = self.buildPythonPackage {
+    name = "python-dateutil-1.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.portlet.static/plone.portlet.static-2.0.2.zip";
-        md5 = "ec0dc691b4191a41ff97779b117f9985";
+        url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-1.5.tar.gz";
+        md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.i18n-2.0.9" self."plone.portlets-2.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        A simple static HTML portlet for Plone.
+        Extensions to the standard python 2.3+ datetime module
         '';
-      homepage = "http://pypi.python.org/pypi/plone.portlet.static";
-      license = "GPL version 2";
+      homepage = "http://labix.org/python-dateutil";
+      license = "PSF License";
     };
   };
 
@@ -3904,36 +3878,16 @@ in
         Advanced i18n/l10n features
         '';
       homepage = "http://pypi.python.org/pypi/plone.i18n";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Missing-2.13.1" = self.buildPythonPackage {
-    name = "Missing-2.13.1";
+  "Products.contentmigration-2.1.7" = self.buildPythonPackage {
+    name = "Products.contentmigration-2.1.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/M/Missing/Missing-2.13.1.zip";
-        md5 = "9823cff54444cbbcaef8fc45d8e42572";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Special Missing objects used in Zope2.
-        '';
-      homepage = "http://pypi.python.org/pypi/Missing";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "zope.cachedescriptors-3.5.1" = self.buildPythonPackage {
-    name = "zope.cachedescriptors-3.5.1";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.cachedescriptors/zope.cachedescriptors-3.5.1.zip";
-        md5 = "263459a95238fd61d17e815d97ca49ce";
+        url = "https://pypi.python.org/packages/source/P/Products.contentmigration/Products.contentmigration-2.1.7.zip";
+        md5 = "50cefdb73c88e15d331dff50086c109e";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -3941,10 +3895,10 @@ in
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Method and property caching decorators
+        A generic content migration framework for Plone.
         '';
-      homepage = "http://pypi.python.org/pypi/zope.cachedescriptors";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.contentmigration";
+      license = "LGPL";
     };
   };
 
@@ -3969,22 +3923,22 @@ in
   };
 
 
-  "archetypes.referencebrowserwidget-2.4.19" = self.buildPythonPackage {
-    name = "archetypes.referencebrowserwidget-2.4.19";
+  "ZODB3-3.10.5" = self.buildPythonPackage {
+    name = "ZODB3-3.10.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/archetypes.referencebrowserwidget-2.4.19.zip";
-        md5 = "b70af6b2da6d8c57c1138a52e94e588c";
+        url = "https://pypi.python.org/packages/source/Z/ZODB3/ZODB3-3.10.5.tar.gz";
+        md5 = "6f180c6897a1820948fee2a6290503cd";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.jquerytools-1.5.6" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."transaction-1.1.1" self."zc.lockfile-1.0.2" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        A referencebrowser implementation for Archetypes
+        Zope Object Database: object database and persistence
         '';
-      homepage = "http://pypi.python.org/pypi/archetypes.referencebrowserwidget";
-      license = "ZPL 2.1";
+      homepage = "UNKNOWN";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4004,7 +3958,7 @@ in
         jQuery integration for Plone
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.jquery";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4016,7 +3970,7 @@ in
         md5 = "a1a72166fd7cccf0f30e3305e09ce5cf";
     };
     doCheck = false;
-    buildInputs = [ self."nose-1.3.0" ];
+    buildInputs = [ self."nose-1.3.3" ];
     propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
@@ -4029,51 +3983,11 @@ in
   };
 
 
-  "WebTest-2.0.9" = self.buildPythonPackage {
-    name = "WebTest-2.0.9";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/W/WebTest/WebTest-2.0.9.zip";
-        md5 = "bf0a04fcf8b2cdcaa13b04324cefb53d";
-    };
-    doCheck = true;
-    buildInputs = [ self."nose-1.3.0" self."unittest2-0.5.1" self."pyquery-1.2.6" self."WSGIProxy2-0.3" self."PasteDeploy-1.5.0" self."mock-1.0.1" self."coverage-3.7" pkgs.unzip ];
-    propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.4.1" self."waitress-0.8.7" self."WebOb-1.2.3" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Helper to test WSGI applications
-        '';
-      homepage = "http://webtest.pythonpaste.org/";
-      license = "MIT";
-    };
-  };
-
-
-  "plone.app.contentmenu-2.0.8" = self.buildPythonPackage {
-    name = "plone.app.contentmenu-2.0.8";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.contentmenu/plone.app.contentmenu-2.0.8.zip";
-        md5 = "8ba463f1a164c454c70d26507e5bd22a";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.content-2.1.3" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Plone's content menu implementation
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.app.contentmenu";
-      license = "GPL version 2";
-    };
-  };
-
-
-  "plone.contentrules-2.0.3" = self.buildPythonPackage {
-    name = "plone.contentrules-2.0.3";
+  "plone.contentrules-2.0.4" = self.buildPythonPackage {
+    name = "plone.contentrules-2.0.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.contentrules/plone.contentrules-2.0.3.zip";
-        md5 = "e743dca41b07b7ac1c2a65b652679201";
+        url = "https://pypi.python.org/packages/source/p/plone.contentrules/plone.contentrules-2.0.4.zip";
+        md5 = "21b189c2139ec7baea63a1e7ee187c55";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -4084,7 +3998,7 @@ in
         Plone ContentRules Engine
         '';
       homepage = "http://pypi.python.org/pypi/plone.contentrules";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4097,7 +4011,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.keyring-2.0.1" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.keyring-2.0.1" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -4109,6 +4023,26 @@ in
   };
 
 
+  "zope.i18nmessageid-3.5.3" = self.buildPythonPackage {
+    name = "zope.i18nmessageid-3.5.3";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-3.5.3.tar.gz";
+        md5 = "cb84bf61c2b7353e3b7578057fbaa264";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Message Identifiers for internationalization
+        '';
+      homepage = "http://pypi.python.org/pypi/zope.i18nmessageid";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
   "transaction-1.1.1" = self.buildPythonPackage {
     name = "transaction-1.1.1";
     src = fetchurl {
@@ -4124,27 +4058,47 @@ in
         Transaction management for Python
         '';
       homepage = "http://www.zope.org/Products/ZODB";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.theming-1.1.1" = self.buildPythonPackage {
-    name = "plone.app.theming-1.1.1";
+  "zope.cachedescriptors-3.5.1" = self.buildPythonPackage {
+    name = "zope.cachedescriptors-3.5.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.theming/plone.app.theming-1.1.1.zip";
-        md5 = "a694b7a050b6e7c25d720d1e99bb73fa";
+        url = "https://pypi.python.org/packages/source/z/zope.cachedescriptors/zope.cachedescriptors-3.5.1.zip";
+        md5 = "263459a95238fd61d17e815d97ca49ce";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."diazo-1.0.4" self."docutils-0.9.1" self."five.globalrequest-1.0" self."lxml-2.3.6" self."plone.app.registry-1.2.3" self."plone.resource-1.0.2" self."plone.resourceeditor-1.0" self."plone.subrequest-1.6.7" self."plone.transformchain-1.0.3" self."Products.CMFPlone-4.3.2" self."repoze.xmliter-0.5" self."roman-1.4.0" self.setuptools self."zope.traversing-3.13.2" ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Integrates the Diazo theming engine with Plone
+        Method and property caching decorators
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.theming";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/zope.cachedescriptors";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "plone.theme-2.1.1" = self.buildPythonPackage {
+    name = "plone.theme-2.1.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.theme/plone.theme-2.1.1.zip";
+        md5 = "28f06c6486059221648e38b5da1d304d";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Tools for managing themes in CMF and Plone sites
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.theme";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4157,7 +4111,7 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -4169,71 +4123,99 @@ in
   };
 
 
-  "Products.ZCatalog-2.13.23" = self.buildPythonPackage {
-    name = "Products.ZCatalog-2.13.23";
+  "Products.ZCatalog-2.13.27" = self.buildPythonPackage {
+    name = "Products.ZCatalog-2.13.27";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.ZCatalog/Products.ZCatalog-2.13.23.zip";
-        md5 = "d425171516dfc70e543a4e2b852301cb";
+        url = "https://pypi.python.org/packages/source/P/Products.ZCatalog/Products.ZCatalog-2.13.27.zip";
+        md5 = "49cad3f1c408973cc9a1430acc9e1432";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Products.ZCTextIndex-2.13.4" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.testing-3.9.7" ];
+    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Products.ZCTextIndex-2.13.5" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.testing-3.9.7" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Zope 2's indexing and search solution.
         '';
       homepage = "http://pypi.python.org/pypi/Products.ZCatalog";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.discussion-2.2.8" = self.buildPythonPackage {
-    name = "plone.app.discussion-2.2.8";
+  "Products.TinyMCE-1.3.6" = self.buildPythonPackage {
+    name = "Products.TinyMCE-1.3.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.discussion/plone.app.discussion-2.2.8.zip";
-        md5 = "97cc5b204076f8803fcdaccbf0565bb6";
+        url = "https://pypi.python.org/packages/source/P/Products.TinyMCE/Products.TinyMCE-1.3.6.zip";
+        md5 = "c9e7aa751768f88f3647c5881cc84603";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."collective.monkeypatcher-1.0.1" self."plone.app.layout-2.3.7" self."plone.app.uuid-1.0" self."plone.app.z3cform-0.7.4" self."plone.indexer-1.0.2" self."plone.registry-1.0.1" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.site-3.9.2" ];
+    propagatedBuildInputs = [ self."plone.app.imaging-1.0.10" self."plone.app.layout-2.3.11" self."plone.caching-1.0" self."plone.namedfile__scales-2.0.5" self."plone.outputfilters-1.12" self."Products.ResourceRegistries-2.2.10" self.setuptools self."zope.app.content-3.5.1" self."zope.schema-4.2.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Enhanced discussion support for Plone
+        Adds support for TinyMCE, a platform independent web based Javascript HTML WYSIWYG editor, to Plone.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.discussion";
-      license = "GPL";
+      homepage = "http://plone.org/products/tinymce";
+      license = "LGPL";
     };
   };
 
 
-  "Products.TinyMCE-1.3.5" = self.buildPythonPackage {
-    name = "Products.TinyMCE-1.3.5";
+  "plone.app.layout-2.3.11" = self.buildPythonPackage {
+    name = "plone.app.layout-2.3.11";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.TinyMCE/Products.TinyMCE-1.3.5.zip";
-        md5 = "b972ff26c90d99c13ded0aeb33af2a2e";
+        url = "https://pypi.python.org/packages/source/p/plone.app.layout/plone.app.layout-2.3.11.zip";
+        md5 = "641297ae21cba8fc6cbf03bbbb81c11f";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.imaging-1.0.9" self."plone.app.layout-2.3.7" self."plone.caching-1.0" self."plone.namedfile__scales-2.0.2" self."plone.outputfilters-1.11.1" self."Products.ResourceRegistries-2.2.9" self.setuptools self."zope.app.content-3.5.1" self."zope.schema-4.2.2" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.app.content-2.1.4" self."plone.app.portlets-2.4.8" self."plone.app.viewletmanager-2.0.5" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.9" self.setuptools self."zope.component__zcml-3.9.5" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Adds support for TinyMCE, a platform independent web based Javascript HTML WYSIWYG editor, to Plone.
+        Layout mechanisms for Plone
         '';
-      homepage = "http://plone.org/products/tinymce";
-      license = "LGPL";
+      homepage = "http://pypi.python.org/pypi/plone.app.layout";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.supermodel-1.2.3" = self.buildPythonPackage {
-    name = "plone.supermodel-1.2.3";
+  "Pillow-2.3.0" = self.buildPythonPackage {
+    name = "Pillow-2.3.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.supermodel/plone.supermodel-1.2.3.zip";
-        md5 = "34610edccd7f93409b95a6b9ecd3da9e";
+        url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-2.3.0.zip";
+        md5 = "56b6614499aacb7d6b5983c4914daea7";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.unzip ];
+    propagatedBuildInputs = [  ];
+    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|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ;
+              s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
+    '';
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Python Imaging Library (Fork)
+        '';
+      homepage = "http://python-imaging.github.io/";
+      license = "Standard PIL License";
+    };
+  };
+
+
+  "plone.supermodel-1.2.4" = self.buildPythonPackage {
+    name = "plone.supermodel-1.2.4";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.supermodel/plone.supermodel-1.2.4.zip";
+        md5 = "f07134bc7ff1ab30735a61bc6f7d4c47";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -4249,62 +4231,62 @@ in
   };
 
 
-  "zope.exceptions-3.6.2" = self.buildPythonPackage {
-    name = "zope.exceptions-3.6.2";
+  "plone.app.caching-1.1.8" = self.buildPythonPackage {
+    name = "plone.app.caching-1.1.8";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.exceptions/zope.exceptions-3.6.2.tar.gz";
-        md5 = "d7234d99d728abe3d9275346e8d24fd9";
+        url = "https://pypi.python.org/packages/source/p/plone.app.caching/plone.app.caching-1.1.8.zip";
+        md5 = "f74d9f293ba3a89b9dd91589ab6672b5";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.registry-1.2.3" self."plone.app.z3cform-0.7.6" self."plone.cachepurging-1.0.5" self."plone.caching-1.0" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self."python-dateutil-1.5" self.setuptools self."z3c.form-3.1.1" self."z3c.zcmlhook-1.0b1" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Exceptions
+        Plone UI and default rules for plone.caching/z3c.caching
         '';
-      homepage = "http://cheeseshop.python.org/pypi/zope.exceptions";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.caching";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.users-1.2a2" = self.buildPythonPackage {
-    name = "plone.app.users-1.2a2";
+  "zope.exceptions-3.6.2" = self.buildPythonPackage {
+    name = "zope.exceptions-3.6.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.users/plone.app.users-1.2a2.zip";
-        md5 = "a96e42e34d97162363cb3bbc8483d2ba";
+        url = "https://pypi.python.org/packages/source/z/zope.exceptions/zope.exceptions-3.6.2.tar.gz";
+        md5 = "d7234d99d728abe3d9275346e8d24fd9";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."five.formlib-1.0.4" self."plone.app.controlpanel-2.3.7" self."plone.app.layout-2.3.7" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        A package for all things users and groups related (specific to plone)
+        Zope Exceptions
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.users";
-      license = "GPL version 2";
+      homepage = "http://cheeseshop.python.org/pypi/zope.exceptions";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.caching-1.1.6" = self.buildPythonPackage {
-    name = "plone.app.caching-1.1.6";
+  "plone.z3cform-0.8.0" = self.buildPythonPackage {
+    name = "plone.z3cform-0.8.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.caching/plone.app.caching-1.1.6.zip";
-        md5 = "52f817d67e6da1508bf6f1486e5466d2";
+        url = "https://pypi.python.org/packages/source/p/plone.z3cform/plone.z3cform-0.8.0.zip";
+        md5 = "bdb23dd162544964d2f8f8f5f002e874";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.registry-1.2.3" self."plone.app.z3cform-0.7.4" self."plone.cachepurging-1.0.4" self."plone.caching-1.0" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self."python-dateutil-1.5" self.setuptools self."z3c.form-3.0.2" self."z3c.zcmlhook-1.0b1" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.batching-1.0.1" self.setuptools self."z3c.form-3.1.1" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Plone UI and default rules for plone.caching/z3c.caching
+        plone.z3cform is a library that allows use of z3c.form with Zope 2 and the CMF.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.caching";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.z3cform";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4324,7 +4306,7 @@ in
         Security framework for Zope2.
         '';
       homepage = "http://pypi.python.org/pypi/AccessControl";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4344,80 +4326,80 @@ in
         Special Record objects used in Zope2.
         '';
       homepage = "http://pypi.python.org/pypi/Record";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "z3c.form-3.0.2" = self.buildPythonPackage {
-    name = "z3c.form-3.0.2";
+  "python-gettext-1.2" = self.buildPythonPackage {
+    name = "python-gettext-1.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/z3c.form/z3c.form-3.0.2.zip";
-        md5 = "8eab166766c6ae2e44e40f54136b3f79";
+        url = "https://pypi.python.org/packages/source/p/python-gettext/python-gettext-1.2.zip";
+        md5 = "cd4201d440126d1296d1d2bc2b4795f3";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."six-1.2.0" self."zope.browser-1.3" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.site-3.9.2" self."zope.traversing-3.13.2" ];
+    propagatedBuildInputs = [ self."unittest2-0.5.1" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        An advanced form and widget framework for Zope 3
+        Python Gettext po to mo file compiler.
         '';
-      homepage = "https://launchpad.net/z3c.form";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/python-gettext";
+      license = "BSD";
     };
   };
 
 
-  "Products.CMFPlacefulWorkflow-1.5.9" = self.buildPythonPackage {
-    name = "Products.CMFPlacefulWorkflow-1.5.9";
+  "plone.resourceeditor-1.0" = self.buildPythonPackage {
+    name = "plone.resourceeditor-1.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/Products.CMFPlacefulWorkflow-1.5.9.zip";
-        md5 = "9041e1f52eab5b348c0dfa85be438722";
+        url = "https://pypi.python.org/packages/source/p/plone.resourceeditor/plone.resourceeditor-1.0.zip";
+        md5 = "443ff0a0ad83b94fc08cac46ee3b2ad4";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self."Products.PloneTestCase-0.9.17" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.testing-3.9.7" ];
+    propagatedBuildInputs = [ self."plone.resource-1.0.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Workflow policies for CMF and Plone
+        UNKNOWN
         '';
-      homepage = "http://pypi.python.org/pypi/Products.CMFPlacefulWorkflow";
+      homepage = "https://github.com/plone/plone.resourceeditor";
       license = "GPL";
     };
   };
 
 
-  "plone.app.textfield-1.2.2" = self.buildPythonPackage {
-    name = "plone.app.textfield-1.2.2";
+  "Products.ResourceRegistries-2.2.10" = self.buildPythonPackage {
+    name = "Products.ResourceRegistries-2.2.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.textfield/plone.app.textfield-1.2.2.zip";
-        md5 = "f832887a40826d6f68c48b48f071fb9c";
+        url = "https://pypi.python.org/packages/source/P/Products.ResourceRegistries/Products.ResourceRegistries-2.2.10.zip";
+        md5 = "207878a7c4b1583fe3cd609116e40bee";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Text field with MIME type support
+        Registry for managing CSS and JS
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.textfield";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/Products.ResourceRegistries";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "pyquery-1.2.6" = self.buildPythonPackage {
-    name = "pyquery-1.2.6";
+  "pyquery-1.2.8" = self.buildPythonPackage {
+    name = "pyquery-1.2.8";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.6.zip";
-        md5 = "af51aa835f24eef06175c48dc1218029";
+        url = "https://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.8.zip";
+        md5 = "a2a9c23a88f7b2615b41722a3ddebeb7";
     };
     doCheck = true;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."cssselect-0.9" self."lxml-3.2.3" ];
+    propagatedBuildInputs = [ self."cssselect-0.9.1" self."lxml-3.3.5" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
@@ -4429,26 +4411,6 @@ in
   };
 
 
-  "zope.event-3.5.2" = self.buildPythonPackage {
-    name = "zope.event-3.5.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-3.5.2.tar.gz";
-        md5 = "6e8af2a16157a74885d4f0d88137cefb";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        Very basic event publishing system
-        '';
-      homepage = "http://pypi.python.org/pypi/zope.event";
-      license = "ZPL 2.1";
-    };
-  };
-
-
   "initgroups-2.13.0" = self.buildPythonPackage {
     name = "initgroups-2.13.0";
     src = fetchurl {
@@ -4464,7 +4426,7 @@ in
         Convenience uid/gid helper function used in Zope2.
         '';
       homepage = "http://pypi.python.org/pypi/initgroups";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4484,27 +4446,27 @@ in
         Daemon process control library and tools for Unix-based systems
         '';
       homepage = "http://www.python.org/pypi/zdaemon";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.alterego-1.0" = self.buildPythonPackage {
-    name = "plone.alterego-1.0";
+  "plone.app.querystring-1.1.1" = self.buildPythonPackage {
+    name = "plone.app.querystring-1.1.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.alterego/plone.alterego-1.0.zip";
-        md5 = "b7b6dbcbba00505d98d5aba83e016408";
+        url = "https://pypi.python.org/packages/source/p/plone.app.querystring/plone.app.querystring-1.1.1.zip";
+        md5 = "845c1a4fc37f615022b536667281b80e";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self."DateTime-3.0.3" self."plone.app.contentlisting-1.0.5" self."plone.app.layout-2.3.11" self."plone.app.vocabularies-2.1.14" self."plone.batching-1.0.1" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.globalrequest-1.0" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Low level support for dynamic modules
+        UNKNOWN
         '';
-      homepage = "http://code.google.com/p/dexterity";
-      license = "LGPL";
+      homepage = "http://pypi.python.org/pypi/plone.app.querystring";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4544,7 +4506,7 @@ in
         Definition of authentication basics for the Zope Framework
         '';
       homepage = "http://pypi.python.org/pypi/zope.authentication";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4569,6 +4531,26 @@ in
   };
 
 
+  "plone.batching-1.0.1" = self.buildPythonPackage {
+    name = "plone.batching-1.0.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.batching/plone.batching-1.0.1.zip";
+        md5 = "4b57b660082683ad66910b3c6725c141";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Batching facilities used in Plone.
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.batching";
+      license = "GPL";
+    };
+  };
+
+
   "plone.portlet.collection-2.1.5" = self.buildPythonPackage {
     name = "plone.portlet.collection-2.1.5";
     src = fetchurl {
@@ -4577,14 +4559,14 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.app.vocabularies-2.1.11" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self.setuptools ];
+    propagatedBuildInputs = [ self."plone.app.form-2.2.4" self."plone.app.portlets-2.4.8" self."plone.app.vocabularies-2.1.14" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         A portlet that fetches results from a collection
         '';
       homepage = "http://pypi.python.org/pypi/plone.portlet.collection";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4604,7 +4586,7 @@ in
         Shared Zope Toolkit browser components
         '';
       homepage = "http://pypi.python.org/pypi/zope.browser";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4617,34 +4599,56 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."archetypes.querywidget-1.0.9" self."plone.app.contentlisting-1.0.5" self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.app.vocabularies-2.1.11" self."plone.portlet.collection-2.1.5" self."plone.portlets-2.2" self."Products.Archetypes-1.9.4" self."Products.CMFCore-2.2.7" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."archetypes.querywidget-1.0.10" self."plone.app.contentlisting-1.0.5" self."plone.app.form-2.2.4" self."plone.app.portlets-2.4.8" self."plone.app.vocabularies-2.1.14" self."plone.portlet.collection-2.1.5" self."plone.portlets-2.2" self."Products.Archetypes-1.9.7" self."Products.CMFCore-2.2.7" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         This package adds 'saved search' functionality to Plone.
         '';
       homepage = "http://pypi.python.org/pypi/plone.app.collection";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "Products.CMFCalendar-2.2.2" = self.buildPythonPackage {
-    name = "Products.CMFCalendar-2.2.2";
+  "Products.CMFCalendar-2.2.3" = self.buildPythonPackage {
+    name = "Products.CMFCalendar-2.2.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFCalendar/Products.CMFCalendar-2.2.2.tar.gz";
-        md5 = "49458e68dc3b6826ea9a3576ac014419";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFCalendar/Products.CMFCalendar-2.2.3.tar.gz";
+        md5 = "75659630aa12cfe86cc740db64ef294f";
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.app.form-4.0.2" self."Zope2-2.13.22" self."eggtestinfo-0.3" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Calendar product for the Zope Content Management Framework
         '';
       homepage = "http://pypi.python.org/pypi/Products.CMFCalendar";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "Plone" = self."Plone-4.3.3";
+
+  "Plone-4.3.3" = self.buildPythonPackage {
+    name = "Plone-4.3.3";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/P/Plone/Plone-4.3.3.zip";
+        md5 = "ce8ab3b3033e05b9544a8127dc67e09a";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.app.caching-1.1.8" self."plone.app.dexterity-2.0.11" self."plone.app.iterate-2.1.12" self."plone.app.openid-2.0.2" self."plone.app.theming-1.1.1" self."Products.CMFPlacefulWorkflow-1.5.10" self."Products.CMFPlone-4.3.3" self.setuptools self."wicked-1.1.10" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        The Plone Content Management System
+        '';
+      homepage = "http://plone.org/";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4657,14 +4661,14 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self."Products.PluginRegistry-1.3" self.setuptools self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self."Products.PluginRegistry-1.3" self.setuptools self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Pluggable Zope2 authentication / authorization framework
         '';
       homepage = "http://pypi.python.org/pypi/Products.PluggableAuthService";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4689,6 +4693,26 @@ in
   };
 
 
+  "plone.app.jquerytools-1.5.7" = self.buildPythonPackage {
+    name = "plone.app.jquerytools-1.5.7";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.app.jquerytools/plone.app.jquerytools-1.5.7.zip";
+        md5 = "f87fe3088f5258a8dae1490d7d989988";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."Zope2-2.13.22" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        jQuery Tools integration for Plone plus overlay and AJAX form helpers.
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.app.jquerytools";
+      license = stdenv.lib.licenses.gpl2;
+    };
+  };
+
+
   "Products.GenericSetup-1.7.4" = self.buildPythonPackage {
     name = "Products.GenericSetup-1.7.4";
     src = fetchurl {
@@ -4697,47 +4721,47 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self.setuptools self."zope.formlib-4.0.6" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self.setuptools self."zope.formlib-4.0.6" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Read Zope configuration state from profile dirs / tarballs
         '';
       homepage = "http://pypi.python.org/pypi/Products.GenericSetup";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.app.viewletmanager-2.0.4" = self.buildPythonPackage {
-    name = "plone.app.viewletmanager-2.0.4";
+  "ExtensionClass-2.13.2" = self.buildPythonPackage {
+    name = "ExtensionClass-2.13.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.viewletmanager/plone.app.viewletmanager-2.0.4.zip";
-        md5 = "565a12ac71d20b2823b9e44daebe432f";
+        url = "https://pypi.python.org/packages/source/E/ExtensionClass/ExtensionClass-2.13.2.zip";
+        md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.vocabularies-2.1.11" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        configurable viewlet manager
+        Metaclass for subclassable extension types
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.viewletmanager";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/ExtensionClass";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.schemaeditor-1.3.3" = self.buildPythonPackage {
-    name = "plone.schemaeditor-1.3.3";
+  "plone.schemaeditor-1.3.7" = self.buildPythonPackage {
+    name = "plone.schemaeditor-1.3.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.schemaeditor/plone.schemaeditor-1.3.3.zip";
-        md5 = "25a04a0bf6cd6411669dd3850a1d04b8";
+        url = "https://pypi.python.org/packages/source/p/plone.schemaeditor/plone.schemaeditor-1.3.7.zip";
+        md5 = "94535ff5b8d8d871fbbd9806912c4c00";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.autoform-1.5" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.autoform-1.6" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
@@ -4764,7 +4788,7 @@ in
         StructuredText parser
         '';
       homepage = "http://pypi.python.org/pypi/zope.structuredtext";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4784,27 +4808,7 @@ in
         Zope RAM Cache
         '';
       homepage = "http://pypi.python.org/pypi/zope.ramcache";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "ZopeUndo-2.12.0" = self.buildPythonPackage {
-    name = "ZopeUndo-2.12.0";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/Z/ZopeUndo/ZopeUndo-2.12.0.zip";
-        md5 = "2b8da09d1b98d5558f62e12f6e52c401";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        ZODB undo support for Zope2.
-        '';
-      homepage = "http://pypi.python.org/pypi/ZopeUndo";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4824,7 +4828,7 @@ in
         Resolving paths in the object hierarchy
         '';
       homepage = "http://pypi.python.org/pypi/zope.traversing";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -4844,16 +4848,16 @@ in
         Content Provider Framework for Zope Templates
         '';
       homepage = "http://pypi.python.org/pypi/zope.contentprovider";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plonetheme.classic-1.3.2" = self.buildPythonPackage {
-    name = "plonetheme.classic-1.3.2";
+  "plonetheme.classic-1.3.3" = self.buildPythonPackage {
+    name = "plonetheme.classic-1.3.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plonetheme.classic/plonetheme.classic-1.3.2.zip";
-        md5 = "c77d4c34afaf7c02df44d4df72328155";
+        url = "https://pypi.python.org/packages/source/p/plonetheme.classic/plonetheme.classic-1.3.3.zip";
+        md5 = "5bcf588a8998f4a1c5aecb99c3d9ecf4";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -4864,16 +4868,16 @@ in
         The classic Plone 3 default theme.
         '';
       homepage = "http://pypi.python.org/pypi/plonetheme.classic";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.scale__storage-1.3.2" = self.buildPythonPackage {
-    name = "plone.scale__storage-1.3.2";
+  "plone.scale__storage-1.3.3" = self.buildPythonPackage {
+    name = "plone.scale__storage-1.3.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.scale/plone.scale-1.3.2.zip";
-        md5 = "584ccbf515aff9fef363c2cc8abac789";
+        url = "https://pypi.python.org/packages/source/p/plone.scale/plone.scale-1.3.3.zip";
+        md5 = "f2d56ec944e5677a4998b3b9e21534e3";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -4889,42 +4893,22 @@ in
   };
 
 
-  "zope.browserpage-3.12.2" = self.buildPythonPackage {
-    name = "zope.browserpage-3.12.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.browserpage/zope.browserpage-3.12.2.tar.gz";
-        md5 = "a543ef3cb1b42f7233b3fca23dc9ea60";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
-    meta = {
-      description = ''
-        ZCML directives for configuring browser views for Zope.
-        '';
-      homepage = "http://pypi.python.org/pypi/zope.browserpage/";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "plone.app.imaging-1.0.9" = self.buildPythonPackage {
-    name = "plone.app.imaging-1.0.9";
+  "plone.portlet.static-2.0.2" = self.buildPythonPackage {
+    name = "plone.portlet.static-2.0.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.imaging/plone.app.imaging-1.0.9.zip";
-        md5 = "e680c5540021a70266343b935ac732a7";
+        url = "https://pypi.python.org/packages/source/p/plone.portlet.static/plone.portlet.static-2.0.2.zip";
+        md5 = "ec0dc691b4191a41ff97779b117f9985";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.scale__storage-1.3.2" self.setuptools ];
+    propagatedBuildInputs = [ self."plone.app.form-2.2.4" self."plone.app.portlets-2.4.8" self."plone.i18n-2.0.9" self."plone.portlets-2.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        User-configurable, blob-aware image scaling for Plone.
+        A simple static HTML portlet for Plone.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.imaging";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.portlet.static";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4964,27 +4948,7 @@ in
         An extension of zope.viewlet to support dynamic portlets
         '';
       homepage = "http://pypi.python.org/pypi/plone.portlets";
-      license = "GPL version 2";
-    };
-  };
-
-
-  "archetypes.querywidget-1.0.9" = self.buildPythonPackage {
-    name = "archetypes.querywidget-1.0.9";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/a/archetypes.querywidget/archetypes.querywidget-1.0.9.zip";
-        md5 = "67e51c20990bb3eefbc9e8e953d7c9f5";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.jquerytools-1.5.6" self."plone.app.querystring-1.0.8" self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        UNKNOWN
-        '';
-      homepage = "http://pypi.python.org/pypi/archetypes.querywidget";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -4997,14 +4961,14 @@ in
     };
     doCheck = false;
     buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Configure application plugins based on interfaces
         '';
       homepage = "http://pypi.python.org/pypi/Products.PluginRegistry";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -5044,7 +5008,7 @@ in
         A general logging facility
         '';
       homepage = "http://cheeseshop.python.org/pypi/zLOG";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -5064,7 +5028,7 @@ in
         Zope Location
         '';
       homepage = "http://pypi.python.org/pypi/zope.location/";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -5104,7 +5068,7 @@ in
         Form generation and validation library for Zope
         '';
       homepage = "http://pypi.python.org/pypi/zope.formlib";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -5124,67 +5088,47 @@ in
         Pluggable object copying mechanism
         '';
       homepage = "http://pypi.python.org/pypi/zope.copy";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
-  "plone.subrequest-1.6.7" = self.buildPythonPackage {
-    name = "plone.subrequest-1.6.7";
+  "plone.app.vocabularies-2.1.14" = self.buildPythonPackage {
+    name = "plone.app.vocabularies-2.1.14";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.subrequest/plone.subrequest-1.6.7.zip";
-        md5 = "cc12f68a22565415b10dbeef0020baa4";
+        url = "https://pypi.python.org/packages/source/p/plone.app.vocabularies/plone.app.vocabularies-2.1.14.zip";
+        md5 = "c3ce7028fd0e3f70588167b8d3c002d5";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."five.globalrequest-1.0" self.setuptools self."zope.globalrequest-1.0" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Subrequests for Zope2
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.subrequest/";
-      license = "GPL version 2";
-    };
-  };
-
-
-  "plone.app.vocabularies-2.1.11" = self.buildPythonPackage {
-    name = "plone.app.vocabularies-2.1.11";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.vocabularies/plone.app.vocabularies-2.1.11.tar.gz";
-        md5 = "08c773a5093780aaa27709a890f1e21f";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         A collection of generally useful vocabularies.
         '';
       homepage = "https://github.com/plone/plone.app.vocabularies";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "DocumentTemplate-2.13.2" = self.buildPythonPackage {
-    name = "DocumentTemplate-2.13.2";
+  "archetypes.querywidget-1.0.10" = self.buildPythonPackage {
+    name = "archetypes.querywidget-1.0.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/D/DocumentTemplate/DocumentTemplate-2.13.2.zip";
-        md5 = "07bb086c77c1dfe94125ad2efbba94b7";
+        url = "https://pypi.python.org/packages/source/a/archetypes.querywidget/archetypes.querywidget-1.0.10.zip";
+        md5 = "6b65a6ff701ebcb6e9550d27c7e2a855";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."RestrictedPython-3.6.0" self."zExceptions-2.13.0" self."zope.sequencesort-3.4.0" self."zope.structuredtext-3.5.1" ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    propagatedBuildInputs = [ self."plone.app.jquerytools-1.5.7" self."plone.app.querystring-1.1.1" self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Document Templating Markup Language (DTML)
+        UNKNOWN
         '';
-      homepage = "http://pypi.python.org/pypi/DocumentTemplate";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/archetypes.querywidget";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -5217,54 +5161,54 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."AccessControl-3.0.8" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."AccessControl-3.0.8" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Zope catalog index for paths
         '';
       homepage = "http://pypi.python.org/pypi/Products.ExtendedPathIndex";
-      license = "GPL version 2";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "zope.i18nmessageid-3.5.3" = self.buildPythonPackage {
-    name = "zope.i18nmessageid-3.5.3";
+  "plone.subrequest-1.6.8" = self.buildPythonPackage {
+    name = "plone.subrequest-1.6.8";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-3.5.3.tar.gz";
-        md5 = "cb84bf61c2b7353e3b7578057fbaa264";
+        url = "https://pypi.python.org/packages/source/p/plone.subrequest/plone.subrequest-1.6.8.zip";
+        md5 = "6ea93bc17d56612d41a497cdc5f2960b";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."five.globalrequest-1.0" self.setuptools self."zope.globalrequest-1.0" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Message Identifiers for internationalization
+        Subrequests for Zope2
         '';
-      homepage = "http://pypi.python.org/pypi/zope.i18nmessageid";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.subrequest/";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
 
-  "plone.app.linkintegrity-1.5.3" = self.buildPythonPackage {
-    name = "plone.app.linkintegrity-1.5.3";
+  "z3c.form-3.1.1" = self.buildPythonPackage {
+    name = "z3c.form-3.1.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.linkintegrity/plone.app.linkintegrity-1.5.3.zip";
-        md5 = "f2eed92f433fe73b4056d3ba48ba8eb0";
+        url = "https://pypi.python.org/packages/source/z/z3c.form/z3c.form-3.1.1.zip";
+        md5 = "0b54d848d6a1be9eab867255e10f5504";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self.setuptools self."six-1.2.0" self."zope.browser-1.3" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.site-3.9.2" self."zope.traversing-3.13.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Manage link integrity in Plone.
+        An advanced form and widget framework for Zope 3
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.linkintegrity";
-      license = "GPL version 2";
+      homepage = "https://launchpad.net/z3c.form";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -5284,7 +5228,47 @@ in
         Action icons product for the Zope Content Management Framework
         '';
       homepage = "http://pypi.python.org/pypi/Products.CMFActionIcons";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      license = stdenv.lib.licenses.zpt21;
+    };
+  };
+
+
+  "WebTest-2.0.15" = self.buildPythonPackage {
+    name = "WebTest-2.0.15";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/W/WebTest/WebTest-2.0.15.zip";
+        md5 = "49314bdba23f4d0bd807facb2a6d3f90";
+    };
+    doCheck = true;
+    buildInputs = [ self."nose-1.3.3" self."unittest2-0.5.1" self."pyquery-1.2.8" self."WSGIProxy2-0.4.1" self."PasteDeploy-1.5.2" self."mock-1.0.1" self."coverage-3.7.1" pkgs.unzip ];
+    propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.6.1" self."waitress-0.8.9" self."WebOb-1.4" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Helper to test WSGI applications
+        '';
+      homepage = "http://webtest.pythonpaste.org/";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+
+  "plone.app.linkintegrity-1.5.4" = self.buildPythonPackage {
+    name = "plone.app.linkintegrity-1.5.4";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.app.linkintegrity/plone.app.linkintegrity-1.5.4.zip";
+        md5 = "f82e73603ade6f588bc27f01c5aea404";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Manage link integrity in Plone.
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.app.linkintegrity";
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -5304,7 +5288,7 @@ in
         The Original Zope 3 Form Framework
         '';
       homepage = "http://pypi.python.org/pypi/zope.app.form";
-      license = "ZPL 2.1";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
@@ -5317,37 +5301,16 @@ in
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.22" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
         Local site manager implementation for Zope 2
         '';
       homepage = "http://pypi.python.org/pypi/five.localsitemanager";
-      license = "ZPL 2.1";
-    };
-  };
-
-
-  "plone.outputfilters-1.11.1" = self.buildPythonPackage {
-    name = "plone.outputfilters-1.11.1";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.outputfilters/plone.outputfilters-1.11.1.zip";
-        md5 = "6b7506f09ad98621f8bb388c55183d6d";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.2" self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Transformations applied to HTML in Plone text fields as they are rendered
-        '';
-      homepage = "http://github.com/plone/plone.outputfilters";
-      license = "GPL";
+      license = stdenv.lib.licenses.zpt21;
     };
   };
 
 
 }
-
diff --git a/pkgs/top-level/python-packages.json b/pkgs/top-level/python-packages.json
index aefd911a558..74e092d309a 100644
--- a/pkgs/top-level/python-packages.json
+++ b/pkgs/top-level/python-packages.json
@@ -82,7 +82,7 @@
     }
   },
   { "name": "Plone",
-    "extends": "http://dist.plone.org/release/4.3.2/versions.cfg",
+    "extends": "http://dist.plone.org/release/4.3.3/versions.cfg",
     "doCheck": false,
     "installCommand": "easy_install --always-unzip --no-deps --prefix=\"$out\" .",
     "override": {
@@ -124,16 +124,21 @@
     }
   },
   { "name": "plone.recipe.zope2instance",
-    "extends": "http://dist.plone.org/release/4.3.2/versions.cfg",
+    "extends": "http://dist.plone.org/release/4.3.3/versions.cfg",
     "doCheck": false
   },
   { "name": "RelStorage",
-    "extends": "http://dist.plone.org/release/4.3.2/versions.cfg",
+    "extends": "http://dist.plone.org/release/4.3.3/versions.cfg",
     "doCheck": false
   },
   { "name": "psycopg2",
     "buildInputs": [ "pkgs.postgresql" ],
     "doCheck": false
+  },
+  { "name": "xlrd",
+    "doCheck": false
+  },
+  { "name": "suds",
+    "doCheck": false
   }
-
 ]
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3dc6a36bb7e..0e93505f0e9 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1,43 +1,53 @@
-{ pkgs, python, lowPrio }:
+{ pkgs, python }:
+  with pkgs.lib;
 
 let
-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; curses_panel = null; ssl = null; crypt = null; };
+  isPy26 = python.majorVersion == "2.6";
+  isPy27 = python.majorVersion == "2.7";
+  isPy33 = python.majorVersion == "3.3";
+  isPy34 = python.majorVersion == "3.4";
+  isPyPy = python.executable == "pypy";
+
+  # Unique python version identifier
+  pythonName =
+    if isPy26 then "python26" else
+    if isPy27 then "python27" else
+    if isPy33 then "python33" else
+    if isPy34 then "python34" else
+    if isPyPy then "pypy" else "";
+
+  modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; };
 
 pythonPackages = modules // import ./python-packages-generated.nix {
   inherit pkgs python;
   inherit (pkgs) stdenv fetchurl;
   self = pythonPackages;
-} // rec {
+} //
 
-  inherit python;
-  inherit (pkgs) fetchurl fetchsvn fetchgit stdenv;
+# Python packages for all python versions
+rec {
+
+  inherit python isPy26 isPy27 isPy33 isPy34 isPyPy pythonName;
+  inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip;
 
   # helpers
 
-  callPackage = pkgs.lib.callPackageWith (pkgs // pythonPackages);
+  callPackage = callPackageWith (pkgs // pythonPackages);
 
-  buildPythonPackage = import ../development/python-modules/generic {
-    inherit (pkgs) lib;
-    inherit python wrapPython setuptools recursivePthLoader offlineDistutils;
-  };
+  # global distutils config used by buildPythonPackage
+  distutils-cfg = callPackage ../development/python-modules/distutils-cfg { };
+
+  buildPythonPackage = callPackage ../development/python-modules/generic { };
 
   wrapPython = pkgs.makeSetupHook
     { deps = pkgs.makeWrapper;
       substitutions.libPrefix = python.libPrefix;
+      substitutions.executable = "${python}/bin/${python.executable}";
     }
    ../development/python-modules/generic/wrap.sh;
 
   # specials
 
-  offlineDistutils = import ../development/python-modules/offline-distutils {
-    inherit (pkgs) stdenv;
-    inherit python;
-  };
-
   recursivePthLoader = import ../development/python-modules/recursive-pth-loader {
     inherit (pkgs) stdenv;
     inherit python;
@@ -45,21 +55,46 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   setuptools = import ../development/python-modules/setuptools {
     inherit (pkgs) stdenv fetchurl;
-    inherit python wrapPython;
-  };
-
-  setuptoolsSite = import ../development/python-modules/setuptools/site.nix {
-    inherit (pkgs) stdenv;
-    inherit python setuptools;
+    inherit python wrapPython distutils-cfg;
   };
 
   # packages defined elsewhere
 
   blivet = callPackage ../development/python-modules/blivet { };
 
+  dbus = import ../development/python-modules/dbus {
+    inherit (pkgs) stdenv fetchurl pkgconfig dbus dbus_glib dbus_tools;
+    inherit python;
+  };
+
+  discid = buildPythonPackage rec {
+    name = "discid-1.1.0";
+
+    meta = with stdenv.lib; {
+      description = "Python binding of libdiscid";
+      homepage    = "https://python-discid.readthedocs.org/";
+      license     = licenses.lgpl3Plus;
+      platforms   = platforms.linux;
+      maintainer  = with maintainers; [ iyzsong ];
+    };
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/discid/${name}.tar.gz";
+      md5 = "2ad2141452dd10b03ad96ccdad075235";
+    };
+
+    patchPhase = ''
+      substituteInPlace discid/libdiscid.py \
+        --replace '_open_library(_LIB_NAME)' "_open_library('${pkgs.libdiscid}/lib/libdiscid.so.0')"
+    '';
+  };
+
   ipython = import ../shells/ipython {
     inherit (pkgs) stdenv fetchurl sip pyqt4;
     inherit buildPythonPackage pythonPackages;
+    qtconsoleSupport = !pkgs.stdenv.isDarwin; # qt is not supported on darwin
+    pylabQtSupport = !pkgs.stdenv.isDarwin;
+    pylabSupport = !pkgs.stdenv.isDarwin; # cups is not supported on darwin
   };
 
   ipythonLight = lowPrio (import ../shells/ipython {
@@ -87,7 +122,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   pycairo = import ../development/python-modules/pycairo {
-    inherit (pkgs) stdenv fetchurl pkgconfig cairo x11;
+    inherit (pkgs) stdenv fetchurl fetchpatch pkgconfig cairo x11;
     inherit python;
   };
 
@@ -96,11 +131,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     inherit python buildPythonPackage;
   };
 
-  pycrypto25 = import ../development/python-modules/pycrypto/2.5.nix {
-    inherit (pkgs) fetchurl stdenv gmp;
-    inherit python buildPythonPackage;
-  };
-
   pygobject = import ../development/python-modules/pygobject {
     inherit (pkgs) stdenv fetchurl pkgconfig glib;
     inherit python;
@@ -126,8 +156,36 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     inherit python buildPythonPackage pygobject pycairo;
   };
 
-  # A patched version of buildout, useful for buildout based development on Nix
-  zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { };
+  pyqt4 = import ../development/python-modules/pyqt/4.x.nix {
+    inherit (pkgs) stdenv fetchurl pkgconfig qt4 makeWrapper;
+    inherit (pkgs.xorg) lndir;
+    inherit python sip;
+    pythonDBus = dbus;
+  };
+
+  pyqt5 = import ../development/python-modules/pyqt/5.x.nix {
+    inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper;
+    inherit (pkgs.xorg) lndir;
+    inherit python;
+    sip = sip_4_16;
+    pythonDBus = dbus;
+  };
+
+  sip = import ../development/python-modules/sip {
+    inherit (pkgs) stdenv fetchurl;
+    inherit python;
+  };
+
+  sip_4_16 = import ../development/python-modules/sip/4.16.nix {
+    inherit (pkgs) stdenv fetchurl;
+    inherit python;
+  };
+
+  tables = import ../development/python-modules/tables {
+    inherit (pkgs) stdenv fetchurl bzip2 lzo;
+    inherit python buildPythonPackage cython numpy numexpr;
+    hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
+  };
 
   # packages defined here
 
@@ -162,18 +220,19 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   actdiag = buildPythonPackage rec {
-    name = "actdiag-0.4.3";
+    name = "actdiag-0.5.1";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/a/actdiag/${name}.tar.gz";
-      md5 = "428aaab849f04668fa12388b964a56ea";
+      md5 = "171c47bc1f70e5fadfffd9df0c3157be";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
 
     propagatedBuildInputs = [ blockdiag ];
 
-    # One test fails, because of missing simple.diag input file
+    # One test fails:
+    #   UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128)
     doCheck = false;
 
     meta = with stdenv.lib; {
@@ -187,20 +246,29 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   afew = buildPythonPackage rec {
-    rev = "6bb3915636aaf86f046a017ffffd9a4ef395e199";
+    rev = "9744c18c4d6b0a3e7f57b01e5fe145a60fc82a47";
     name = "afew-1.0_${rev}";
 
     src = fetchurl {
       url = "https://github.com/teythoon/afew/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "74926d9ddfa69534cfbd08a82f0acccab2c649558062654d5d2ff2999d201384";
+      sha256 = "1qyban022aji2hl91dh0j3xa6ikkxl5argc6w71yp2x8b02kp3mf";
     };
 
-    propagatedBuildInputs = [ pythonPackages.notmuch pkgs.dbacl ];
+    buildInputs = [ pkgs.dbacl ];
+
+    propagatedBuildInputs = [
+      pythonPackages.notmuch
+      pythonPackages.subprocess32
+      pythonPackages.chardet
+    ];
 
-    # error: invalid command 'test'
     doCheck = false;
 
+    preConfigure = ''
+      substituteInPlace afew/DBACL.py --replace "'dbacl'" "'${pkgs.dbacl}/bin/dbacl'"
+    '';
+
     postInstall = ''
       wrapProgram $out/bin/afew \
         --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib
@@ -243,7 +311,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     buildInputs = [
       pkgs.which
-      pkgs.unzip
       pythonPackages.coverage
       pythonPackages.mock
       pythonPackages.tissue
@@ -272,13 +339,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       pythonPackages.waitress
       pythonPackages.webhelpers
       pythonPackages.zope_sqlalchemy
+      pythonPackages.psycopg2
     ];
 
     postInstall = ''
-      ln -s ${pyramid}/bin/pserve $out/bin
       ln -s ${pkgs.bacula}/bin/bconsole $out/bin
-      wrapProgram "$out/bin/pserve" \
-        --suffix PYTHONPATH : "$out/lib/python2.7/site-packages"
     '';
 
     meta = {
@@ -289,13 +354,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   alot = buildPythonPackage rec {
-    rev = "0711cf8efaf1a4cca24617c3406210a415006457";
-    name = "alot-0.3.4_${rev}";
+    rev = "fa4ddf000dc2ac4933852b210901b649634a5f86";
+    name = "alot-0.3.5_${rev}";
 
     src = fetchurl {
       url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "1rxkx9cjajsv9x1dl4xp1r3vr0kb66sglxaqzjiwaknqzahmmji5";
+      sha256 = "0h11lqyxg0xbkc9y1xqjvd0kmfm5pdwnmv9chmlsi1614dxn08n0";
     };
 
     # error: invalid command 'test'
@@ -366,7 +431,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha1 = "fa4aec08e59fa5964197f59ba42408d64031675b";
     };
 
-    buildInputs = [ pkgs.unzip pkgs.sqlite ];
+    buildInputs = [ pkgs.sqlite ];
 
     # python: double free or corruption (fasttop): 0x0000000002fd4660 ***
     doCheck = false;
@@ -395,6 +460,19 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
 
+  async = buildPythonPackage rec {
+    name = "async-0.6.1";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    buildInputs = [ pkgs.zlib ];
+    doCheck = false;
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/a/async/${name}.tar.gz";
+      sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1";
+    };
+  };
+
   argparse = buildPythonPackage (rec {
     name = "argparse-1.2.1";
 
@@ -403,15 +481,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "192174mys40m0bwk6l5jlfnzps0xi81sxm34cqms6dc3c454pbyx";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     # error: invalid command 'test'
     doCheck = false;
 
     meta = {
       homepage = http://code.google.com/p/argparse/;
 
-      license = "Apache License 2.0";
+      license = stdenv.lib.licenses.asl20;
 
       description = "argparse: Python command line parser";
 
@@ -426,6 +502,99 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  astroid = buildPythonPackage (rec {
+    name = "astroid-1.1.1";
+    propagatedBuildInputs = [ logilab_common ];
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/a/astroid/${name}.tar.gz";
+      sha256 = "1x7103mlzndgg66yas6xrfwkwpihcq4bi9m8py1fjnhz8p5ka1vq";
+    };
+  });
+
+  autopep8 = buildPythonPackage (rec {
+    name = "autopep8-1.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz";
+      md5 = "41782e66efcbaf9d761bb45a2d2929bb";
+    };
+
+    propagatedBuildInputs = [ pep8 ];
+
+    # One test fails:
+    # FAIL: test_recursive_should_not_crash_on_unicode_filename (test.test_autopep8.CommandLineTests)
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "A tool that automatically formats Python code to conform to the PEP 8 style guide";
+      homepage = https://pypi.python.org/pypi/autopep8/;
+      license = licenses.mit;
+      platforms = platforms.all;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  });
+
+  avro = buildPythonPackage (rec {
+    name = "avro-1.7.6";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz";
+      md5 = "7f4893205e5ad69ac86f6b44efb7df72";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A serialization and RPC framework";
+      homepage = "https://pypi.python.org/pypi/avro/";
+    };
+  });
+
+  avro3k = pkgs.lowPrio (buildPythonPackage (rec {
+    name = "avro3k-1.7.7-SNAPSHOT";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz";
+      sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky";
+    };
+
+    doCheck = false;        # No such file or directory: './run_tests.py
+
+    meta = with stdenv.lib; {
+      description = "A serialization and RPC framework";
+      homepage = "https://pypi.python.org/pypi/avro3k/";
+    };
+  }));
+
+  backports_ssl_match_hostname_3_4_0_2 = pythonPackages.buildPythonPackage rec {
+    name = "backports.ssl_match_hostname-3.4.0.2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.4.0.2.tar.gz";
+      md5 = "788214f20214c64631f0859dc79f23c6";
+    };
+
+    meta = {
+      description = "The Secure Sockets layer is only actually *secure*";
+      homepage = http://bitbucket.org/brandon/backports.ssl_match_hostname;
+    };
+  };
+
+  bcdoc = buildPythonPackage rec {
+    name = "bcdoc-0.12.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.12.1.tar.gz";
+      md5 = "7c8617347c294ea4d36ec73fb5b2c26e";
+    };
+
+    buildInputs = [ pythonPackages.docutils pythonPackages.six ];
+
+    meta = {
+      homepage = https://github.com/botocore/bcdoc;
+      license = stdenv.lib.licenses.asl20;
+      description = "ReST document generation tools for botocore";
+    };
+  };
+
   beautifulsoup = buildPythonPackage (rec {
     name = "beautifulsoup-3.2.1";
 
@@ -493,16 +662,44 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  bedup = buildPythonPackage rec {
+    name = "bedup-20140206";
+
+    src = fetchgit {
+      url = "https://github.com/g2p/bedup.git";
+      rev = "80cb217d4819a03e159e42850a9a3f14e2b278a3";
+      sha256 = "1rik7a62v708ivfcy0pawhfnrb84b7gm3qr54x6jsxl0iqz078h6";
+    };
+
+    buildInputs = [ pkgs.btrfsProgs ];
+    propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy pyxdg pycparser cffi alembic ];
+
+    meta = {
+      description = "Deduplication for Btrfs";
+      longDescription = ''
+        Deduplication for Btrfs. bedup looks for new and changed files, making sure that multiple
+        copies of identical files share space on disk. It integrates deeply with btrfs so that scans
+        are incremental and low-impact.
+      '';
+      homepage = https://github.com/g2p/bedup;
+      license = stdenv.lib.licenses.gpl2;
+
+      platforms = stdenv.lib.platforms.linux;
+
+      maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+    };
+  };
+
   beets = buildPythonPackage rec {
-    name = "beets-1.0.0";
+    name = "beets-1.3.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/b/beets/${name}.tar.gz";
-      md5 = "88ad09a93aa0d69ce813205cf23b2a6c";
+      md5 = "59615a54b3ac3983159e77ff9dda373e";
     };
 
     # tests depend on $HOME setting
-    configurePhase = "export HOME=$TMPDIR";
+    preConfigure = "export HOME=$TMPDIR";
 
     propagatedBuildInputs =
       [ pythonPackages.pyyaml
@@ -510,17 +707,72 @@ pythonPackages = modules // import ./python-packages-generated.nix {
         pythonPackages.mutagen
         pythonPackages.munkres
         pythonPackages.musicbrainzngs
+        pythonPackages.enum34
+        pythonPackages.pylast
+        pythonPackages.rarfile
+        pythonPackages.flask
         modules.sqlite3
         modules.readline
       ];
+      
+    buildInputs = with pythonPackages; [ mock pyechonest six responses nose ];
+    
+    # 10 tests are failing
+    doCheck = false;
 
     meta = {
       homepage = http://beets.radbox.org;
       description = "Music tagger and library organizer";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
+  
+  responses = pythonPackages.buildPythonPackage rec {
+    name = "responses-0.2.2";
+
+    propagatedBuildInputs = with pythonPackages; [ requests mock six pytest flake8 ];
+    
+    doCheck = false;
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/responses/responses-0.2.2.tar.gz";
+      md5 = "5d79fd425cf8d858dfc8afa6475395d3";
+    };
+
+  };
+ 
+  rarfile = pythonPackages.buildPythonPackage rec {
+    name = "rarfile-2.6";
+
+    propagatedBuildInputs = with pythonPackages; [  ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/rarfile/rarfile-2.6.tar.gz";
+      md5 = "50ce3f3fdb9196a00059a5ea7b3739fd";
+    };
+
+    meta = with stdenv.lib; {
+      description = "rarfile - RAR archive reader for Python";
+      homepage = https://github.com/markokr/rarfile;
+    };
+  };
+  
+  pyechonest = pythonPackages.buildPythonPackage rec {
+    name = "pyechonest-8.0.2";
+
+    propagatedBuildInputs = with pythonPackages; [  ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyechonest/pyechonest-8.0.2.tar.gz";
+      md5 = "5586fe8ece7af4e24f71ea740185127e";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web";
+      homepage = https://github.com/echonest/pyechonest;
+    };
+  };
 
 
   bitbucket_api = buildPythonPackage rec {
@@ -538,7 +790,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = https://github.com/Sheeprider/BitBucket-api;
       description = "Python library to interact with BitBucket REST API";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
+    };
+  };
+
+  bitbucket-cli = buildPythonPackage rec {
+    name = "bitbucket-cli-0.4.1";
+    src = fetchurl {
+       url = "https://pypi.python.org/packages/source/b/bitbucket-cli/${name}.tar.gz";
+       md5 = "79cdbdc6c95dfa313d12cbdef406c9f2";
+    };
+
+    pythonPath = [ requests ];
+
+    meta = with stdenv.lib; {
+      description = "Bitbucket command line interface";
+      homepage = "https://bitbucket.org/zhemao/bitbucket-cli";
+      maintainers = [ maintainers.refnil ];
     };
   };
 
@@ -551,8 +819,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "1i1p3rkj4ad108f23xyib34r4rcy571gy65paml6fk77knh0k66p";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     # error: invalid command 'test'
     doCheck = false;
 
@@ -567,16 +833,16 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   blockdiag = buildPythonPackage rec {
-    name = "blockdiag-1.2.4";
+    name = "blockdiag-1.3.2";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/b/blockdiag/${name}.tar.gz";
-      md5 = "244334f60cc10b0cb73b5df5279bcdd1";
+      md5 = "602a8750f312eeee84d6d138055dfae7";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
 
-    propagatedBuildInputs = [ pil webcolors funcparserlib ];
+    propagatedBuildInputs = [ pillow webcolors funcparserlib ];
 
     # One test fails:
     #   ...
@@ -642,11 +908,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   boto = buildPythonPackage rec {
     name = "boto-${version}";
-    version = "2.9.9";
+    version = "2.32.0";
 
     src = fetchurl {
       url = "https://github.com/boto/boto/archive/${version}.tar.gz";
-      sha256 = "18wqpzd1zf8nivcn2rl1wnladf7hhyy5p75b5l6kafynm4l9j6jq";
+      sha256 = "0bl5y7m0m84rz4q7hx783kxpj1n9wcm7dhv54bnx8cnanyd13cxn";
     };
 
     # The tests seem to require AWS credentials.
@@ -669,12 +935,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   botocore = buildPythonPackage rec {
-    version = "0.13.1";
+    version = "0.33.0";
     name = "botocore-${version}";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/b/botocore/${name}.tar.gz";
-      sha256 = "192kxgw76b22zmk5mxjkij5rskibb9jfaggvpznzy3ggsgja7yy8";
+      md5 = "6743c73a2e148abaa9c487a6e2ee53a3";
     };
 
     propagatedBuildInputs =
@@ -716,7 +982,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   buildout = zc_buildout;
   buildout152 = zc_buildout152;
 
+  # A patched version of buildout, useful for buildout based development on Nix
+  zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { };
+
+  zc_recipe_egg = zc_recipe_egg_buildout171;
   zc_buildout = zc_buildout171;
+  zc_buildout2 = zc_buildout221;
+  zc_buildout221 = buildPythonPackage rec {
+    name = "zc.buildout-2.2.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz";
+      md5 = "476a06eed08506925c700109119b6e41";
+    };
+
+   meta = {
+      homepage = "http://www.buildout.org";
+      description = "A software build and configuration system";
+      license = licenses.zpt21;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
   zc_buildout171 = buildPythonPackage rec {
     name = "zc.buildout-1.7.1";
 
@@ -728,7 +1014,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
    meta = {
       homepage = "http://www.buildout.org";
       description = "A software build and configuration system";
-      license = pkgs.lib.licenses.zpt21;
+      license = licenses.zpt21;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
@@ -749,11 +1035,45 @@ pythonPackages = modules // import ./python-packages-generated.nix {
    meta = {
       homepage = "http://www.buildout.org";
       description = "A software build and configuration system";
-      license = pkgs.lib.licenses.zpt21;
+      license = licenses.zpt21;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
 
+  zc_recipe_egg_fun = { buildout, version, md5 }: buildPythonPackage rec {
+    inherit version;
+    name = "zc.recipe.egg-${version}";
+
+    buildInputs = [ buildout ];
+    doCheck = false;
+
+    src = fetchurl {
+      inherit md5;
+      url = "https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-${version}.tar.gz";
+    };
+  };
+  zc_recipe_egg_buildout171 = zc_recipe_egg_fun {
+    buildout = zc_buildout171;
+    version = "1.3.2";
+    md5 = "1cb6af73f527490dde461d3614a36475";
+  };
+  zc_recipe_egg_buildout2 = zc_recipe_egg_fun {
+    buildout = zc_buildout2;
+    version = "2.0.1";
+    md5 = "5e81e9d4cc6200f5b1abcf7c653dd9e3";
+  };
+
+  bunch = buildPythonPackage (rec {
+    name = "bunch-1.0.1";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/b/bunch/${name}.tar.gz";
+      sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish";
+    };
+    doCheck = false;
+  });
+
 
   carrot = buildPythonPackage rec {
     name = "carrot-0.10.7";
@@ -816,6 +1136,20 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
 
+  click = buildPythonPackage {
+    name = "click-2.1";
+    src = fetchurl {
+      url = https://pypi.python.org/packages/source/c/click/click-2.1.tar.gz;
+      md5 = "0ba97ba09af82c56e2d35f3412d0aa6e";
+    };
+    meta = {
+      homepage = "http://click.pocoo.org/";
+      description = "Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary.";
+      license = "bsd, 3-clause";
+    };
+  };
+
+
   clepy = buildPythonPackage rec {
     name = "clepy-0.3.20";
 
@@ -901,7 +1235,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "5f39727415b837abd02651eeb2721749";
     };
 
-    propagatedBuildInputs = [ pythonPackages.stompclient pythonPackages.distribute ];
+    propagatedBuildInputs = [ pythonPackages.stompclient ];
+
+    preConfigure = ''
+      sed -i '/distribute/d' setup.py
+    '';
 
     buildInputs = [ pythonPackages.coverage pythonPackages.sqlalchemy ];
 
@@ -912,17 +1250,17 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Simple, lightweight, and easily extensible STOMP message broker";
       homepage = http://code.google.com/p/coilmq/;
-      license = pkgs.lib.licenses.asl20;
+      license = licenses.asl20;
     };
   });
 
 
   colander = buildPythonPackage rec {
-    name = "colander-1.0a5";
+    name = "colander-1.0b1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/c/colander/${name}.tar.gz";
-      md5 = "569dea523561f5d94338ef9d9a98d249";
+      md5 = "89f2cf4b5c87d43f7917d6a0d4872e6a";
     };
 
     propagatedBuildInputs = [ pythonPackages.translationstring ];
@@ -954,7 +1292,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Autogenerate Colander schemas based on SQLAlchemy models.";
       homepage = https://github.com/stefanofontanelli/ColanderAlchemy;
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -973,12 +1311,35 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Config file reading, writing and validation.";
       homepage = http://pypi.python.org/pypi/configobj;
-      license = pkgs.lib.licenses.bsd3;
+      license = licenses.bsd3;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   });
 
 
+  configshell_fb = buildPythonPackage rec {
+    version = "1.1.fb10";
+    name = "configshell-fb-${version}";
+
+    src = fetchurl {
+      url = "https://github.com/agrover/configshell-fb/archive/v${version}.tar.gz";
+      sha256 = "1dd87xvm98nk3jzybb041gjdahi2z9b53pwqhyxcfj4a91y82ndy";
+    };
+
+    propagatedBuildInputs = [
+      pyparsing
+      modules.readline
+      urwid
+    ];
+
+    meta = {
+      description = "A Python library for building configuration shells";
+      homepage = "https://github.com/agrover/configshell-fb";
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+
   construct = buildPythonPackage rec {
     name = "construct-2.5.1";
 
@@ -999,6 +1360,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  contextlib2 = buildPythonPackage rec {
+    name = "contextlib2-0.4.0";
+
+    src = fetchurl rec {
+      url = "https://pypi.python.org/packages/source/c/contextlib2/${name}.tar.gz";
+      md5 = "ea687207db25f65552061db4a2c6727d";
+    };
+  };
+
   coverage = buildPythonPackage rec {
     name = "coverage-3.6";
 
@@ -1010,8 +1380,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Code coverage measurement for python";
       homepage = http://nedbatchelder.com/code/coverage/;
-      license = pkgs.lib.licenses.bsd3;
-      maintainers = [ stdenv.lib.maintainers.shlevy ];
+      license = licenses.bsd3;
     };
   };
 
@@ -1027,6 +1396,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ pythonPackages.coverage ];
   };
 
+  cython = buildPythonPackage rec {
+    name = "Cython-0.20.1";
+
+    src = fetchurl {
+      url = "http://www.cython.org/release/${name}.tar.gz";
+      sha256 = "0v3nc9z5ynnnjdgcgkyy5g9wazmkjv53nnpjal1v3mr199s6799i";
+    };
+
+    setupPyBuildFlags = ["--build-base=$out"];
+
+    buildInputs = [ pkgs.pkgconfig ];
+
+    meta = {
+      description = "An interpreter to help writing C extensions for Python 2";
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
   cryptacular = buildPythonPackage rec {
     name = "cryptacular-1.4.1";
 
@@ -1046,6 +1433,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  detox = pythonPackages.buildPythonPackage rec {
+    name = "detox-0.9.3";
+
+    propagatedBuildInputs = with pythonPackages; [ tox py eventlet ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/detox/detox-0.9.3.tar.gz";
+      md5 = "b52588ec61cd4c2d33e419677a5eac8c";
+    };
+
+    meta = with stdenv.lib; {
+      description = "What is detox?";
+      homepage = http://bitbucket.org/hpk42/detox;
+    };
+  };
+
+
   pbkdf2 = buildPythonPackage rec {
     name = "pbkdf2-1.3";
 
@@ -1092,6 +1496,30 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  pycollada = buildPythonPackage rec {
+    name = "pycollada-0.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pycollada/${name}.tar.gz";
+      md5 = "5d0f00c035491b945cdccdfd8a698ad2";
+    };
+
+    # pycollada-0.4 needs python-dateutil==1.5
+    buildInputs = [ dateutil_1_5 numpy ];
+
+    # Some tests fail because they refer to test data files that don't exist
+    # (upstream packaging issue)
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Python library for reading and writing collada documents";
+      homepage = http://pycollada.github.io/;
+      license = "BSD"; # they don't specify which BSD variant
+      platforms = with platforms; linux ++ darwin;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
   pycparser = buildPythonPackage rec {
     name = "pycparser-2.10";
 
@@ -1109,21 +1537,33 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   pytest = buildPythonPackage rec {
-    name = "pytest-2.3.5";
+    name = "pytest-2.5.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz";
-      md5 = "18f150e7be96b5fe3c388b0e817b8087";
+      md5 = "4e155a0134e6757b37cc6698c20f3e9f";
     };
 
-    propagatedBuildInputs = [ pythonPackages.py ]
+    preCheck = ''
+      # broken on python3, fixed in master, remove in next release
+      rm doc/en/plugins_index/test_plugins_index.py
+
+      # don't test bash builtins
+      rm testing/test_argcomplete.py
+
+      # yaml test are failing
+      rm doc/en/example/nonpython/test_simple.yml
+    '';
+
+    propagatedBuildInputs = [ py ]
+      ++ (optional isPy26 argparse)
       ++ stdenv.lib.optional
         pkgs.config.pythonPackages.pytest.selenium or false
         pythonPackages.selenium;
 
     meta = with stdenv.lib; {
       maintainers = with maintainers; [ iElectric lovek323 ];
-      platforms   = platforms.unix;
+      platforms = platforms.unix;
     };
   };
 
@@ -1135,7 +1575,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "9c0b8efe9d43b460f8cf049fa46ce14d";
     };
 
-    buildInputs = [ pkgs.unzip pytest ];
+    buildInputs = [ pytest ];
     propagatedBuildInputs = [ execnet ];
 
     meta = {
@@ -1162,7 +1602,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp";
     };
 
-    buildInputs = [ pkgs.unzip pythonPackages.mock ];
+    buildInputs = [ pythonPackages.mock ];
 
     # couple of failing tests
     doCheck = false;
@@ -1172,16 +1612,16 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
       homepage = http://code.google.com/p/cssutils/;
 
-      license = "LGPLv3+";
+      license = stdenv.lib.licenses.lgpl3Plus;
     };
   });
 
   darcsver = buildPythonPackage (rec {
-    name = "darcsver-1.7.2";
+    name = "darcsver-1.7.4";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz";
-      md5 = "94ca7e8c9ea0f69c0f3fc6f9fc88f65a";
+      sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6";
     };
 
     buildInputs = [ pythonPackages.mock ];
@@ -1205,11 +1645,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   dateutil = buildPythonPackage (rec {
-    name = "dateutil-2.1";
+    name = "dateutil-2.2";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
-      sha256 = "1vlx0lpsxjxz64pz87csx800cwfqznjyr2y7nk3vhmzhkwzyqi2c";
+      sha256 = "0s74ad6r789810s10dxgvaf48ni6adac2icrdad34zxygqq6bj7f";
     };
 
     propagatedBuildInputs = [ pythonPackages.six ];
@@ -1241,11 +1681,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   decorator = buildPythonPackage rec {
-    name = "decorator-3.3.1";
+    name = "decorator-3.4.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/d/decorator/${name}.tar.gz";
-      md5 = "a8fc62acd705f487a71bc406e19e0cc6";
+      md5 = "1e8756f719d746e2fc0dd28b41251356";
     };
 
     meta = {
@@ -1255,11 +1695,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   deform = buildPythonPackage rec {
-    name = "deform-0.9.8";
+    name = "deform-0.9.9";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz";
-      sha256 = "15500rm33n6kxsdpqyn3ih25y3rvab4nxy2yzsj2754kdlhlyjpx";
+      sha256 = "0ympsjhxz5v8h4hi1mv811h064221bh26d68l9hv1x6m7sxbxpd0";
     };
 
     buildInputs = [] ++ optional isPy26 unittest2;
@@ -1326,6 +1766,122 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  derpconf = pythonPackages.buildPythonPackage rec {
+    name = "derpconf-0.4.9";
+
+    propagatedBuildInputs = [ six ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/derpconf/${name}.tar.gz";
+      md5 = "a164807d7bf0c4adf1de781305f29b82";
+    };
+
+    meta = {
+      description = "derpconf abstracts loading configuration files for your app";
+      homepage = https://github.com/globocom/derpconf;
+      license = licenses.mit;
+    };
+  };
+
+  dogpile_cache = buildPythonPackage rec {
+    name = "dogpile.cache-0.5.4";
+
+    propagatedBuildInputs = [ dogpile_core ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dogpile.cache/dogpile.cache-0.5.4.tar.gz";
+      md5 = "513b77ba1bd0c31bb15dd9dd0d8471af";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "A caching front-end based on the Dogpile lock.";
+      homepage = http://bitbucket.org/zzzeek/dogpile.cache;
+      license = licenses.bsd3;
+    };
+  };
+
+  dogpile_core = buildPythonPackage rec {
+    name = "dogpile.core-0.4.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dogpile.core/dogpile.core-0.4.1.tar.gz";
+      md5 = "01cb19f52bba3e95c9b560f39341f045";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "A 'dogpile' lock, typically used as a component of a larger caching solution";
+      homepage = http://bitbucket.org/zzzeek/dogpile.core;
+      license = licenses.bsd3;
+    };
+  };
+
+  dpkt = buildPythonPackage rec {
+    name = "dpkt-1.8";
+
+    src = fetchurl {
+      url = "https://dpkt.googlecode.com/files/${name}.tar.gz";
+      sha256 = "01q5prynymaqyfsfi2296xncicdpid2hs3yyasim8iigvkwy4vf5";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols";
+      homepage = https://code.google.com/p/dpkt/;
+      license = licenses.bsd3;
+      maintainers = [ maintainers.bjornfor ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+  urllib3 = buildPythonPackage rec {
+    name = "urllib3-1.8";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/u/urllib3/${name}.tar.gz";
+      sha256 = "0pdigfxkq8mhzxxsn6isx8c4h9azqywr1k18yanwyxyj8cdzm28s";
+    };
+
+    preConfigure = ''
+      substituteInPlace test-requirements.txt --replace 'nose==1.3' 'nose'
+    '';
+
+    checkPhase = ''
+      nosetests --cover-min-percentage 70
+    '';
+
+    buildInputs = [ coverage tornado mock nose ];
+
+    meta = with stdenv.lib; {
+      description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
+      homepage = https://www.dropbox.com/developers/core/docs;
+      license = licenses.mit;
+    };
+  };
+
+
+  dropbox = buildPythonPackage rec {
+    name = "dropbox-2.0.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip";
+      sha256 = "1bi2z1lql6ryylfflmizhqn98ab55777vn7n5krhqz40pdcjilkx";
+    };
+
+    propagatedBuildInputs = [ urllib3 mock setuptools ];
+
+    meta = with stdenv.lib; {
+      description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
+      homepage = https://www.dropbox.com/developers/core/docs;
+      license = licenses.mit;
+    };
+  };
+
 
   evdev = buildPythonPackage rec {
     version = "0.3.2";
@@ -1394,8 +1950,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "be885ccd9612966bb81839670d2da099";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     meta = {
       description = "rapid multi-Python deployment";
       license = stdenv.lib.licenses.gpl2;
@@ -1443,6 +1997,35 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     buildInputs = [ fudge nose ];
   };
 
+  fedora_cert = stdenv.mkDerivation (rec {
+    name = "fedora-cert-0.5.9.2";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2";
+      sha256 = "105swvzshgn3g6bjwk67xd8pslnhpxwa63mdsw6cl4c7cjp2blx9";
+    };
+
+    propagatedBuildInputs = [ python python_fedora wrapPython ];
+    postInstall = "mv $out/bin/fedpkg $out/bin/fedora-cert-fedpkg";
+    doCheck = false;
+
+    postFixup = "wrapPythonPrograms";
+  });
+
+  fedpkg = buildPythonPackage (rec {
+    name = "fedpkg-1.14";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://fedorahosted.org/releases/f/e/fedpkg/fedpkg-1.14.tar.bz2";
+      sha256 = "0rj60525f2sv34g5llafnkmpvbwrfbmfajxjc14ldwzymp8clc02";
+    };
+
+    patches = [ ../development/python-modules/fedpkg-buildfix.diff ];
+    propagatedBuildInputs = [ rpkg offtrac urlgrabber fedora_cert ];
+  });
+
   fudge = buildPythonPackage rec {
     name = "fudge-0.9.4";
     src = fetchurl {
@@ -1470,6 +2053,43 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  gcutil = buildPythonPackage rec {
+    name = "gcutil-1.15.0";
+    meta.maintainers = [ stdenv.lib.maintainers.phreedom ];
+
+    src = fetchurl {
+      url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.15.0.tar.gz;
+      sha256 = "12c98ivhjr01iz6lkga574xm8p0bsil6arydvpblyw8sjkgim5sq";
+    };
+
+    propagatedBuildInputs = [ gflags iso8601_0_1_4 ipaddr httplib2 google_apputils google_api_python_client ];
+  };
+
+  gitdb = buildPythonPackage rec {
+    name = "gitdb-0.5.4";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+    doCheck = false;
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/g/gitdb/${name}.tar.gz";
+      sha256 = "10rpmmlln59aq44cd5vkb77hslak5pa1rbmigg6ski5f1nn2spfy";
+    };
+
+    propagatedBuildInputs = [ smmap async ];
+  };
+
+  GitPython = buildPythonPackage rec {
+    name = "GitPython-0.3.2";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/G/GitPython/GitPython-0.3.2.RC1.tar.gz";
+      sha256 = "1q4lc2ps12l517mmrxc8iq6gxyhj6d77bnk1p7mxf38d99l8crzx";
+    };
+
+    buildInputs = [ nose ];
+    propagatedBuildInputs = [ gitdb ];
+  };
 
   googlecl = buildPythonPackage rec {
     version = "0.9.14";
@@ -1492,14 +2112,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   gtimelog = buildPythonPackage rec {
-    name = "gtimelog-0.8.1";
+    name = "gtimelog-${version}";
+    version = "0.8.1";
+
     src = fetchurl {
-      url = https://launchpad.net/gtimelog/devel/0.8.1/+download/gtimelog-0.8.1.tar.gz;
-      sha256 = "010sbw4rmslf5ifg9bgicn0f6mgsy76v8218xi0jndi9z6pva7y6";
+      url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz";
+      sha256 = "0nwpfv284b26q97mfpagqkqb4n2ilw46cx777qsyi3plnywk1xa0";
     };
+
     propagatedBuildInputs = [ pygtk ];
+
+    checkPhase = ''
+      patchShebangs ./runtests
+      ./runtests
+    '';
+
     meta = with stdenv.lib; {
-      description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible.";
+      description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible";
       homepage = http://mg.pov.lt/gtimelog/;
       license = licenses.gpl2Plus;
       maintainers = [ maintainers.ocharles ];
@@ -1507,25 +2136,67 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  itsdangerous = buildPythonPackage rec {
+    name = "itsdangerous-0.24";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/i/itsdangerous/${name}.tar.gz";
+      sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
+    };
+
+    meta = with stdenv.lib; {
+      description = "helpers to pass trusted data to untrusted environments and back";
+      homepage = "https://pypi.python.org/pypi/itsdangerous/";
+    };
+  };
+
+  # TODO: this shouldn't use a buildPythonPackage
+  koji = buildPythonPackage (rec {
+    name = "koji-1.8";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2";
+      sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1";
+    };
+
+    configurePhase = ":";
+    buildPhase = ":";
+    installPhase = "make install DESTDIR=$out/ && cp -R $out/nix/store/*/* $out/ && rm -rf $out/nix";
+    doCheck = false;
+    propagatedBuildInputs = [ pythonPackages.pycurl ];
+
+  });
+
   logilab_astng = buildPythonPackage rec {
-    name = "logilab-astng-0.24.1";
+    name = "logilab-astng-0.24.3";
 
     src = fetchurl {
       url = "http://download.logilab.org/pub/astng/${name}.tar.gz";
-      sha256 = "00qxaxsax80sknwv25xl1r49lc4gbhkxs1kjywji4ad8y1npax0s";
+      sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn";
     };
 
     propagatedBuildInputs = [ logilab_common ];
   };
 
 
+  logster = buildPythonPackage {
+    name = "logster-7475c53822";
+    src = fetchgit {
+      url = git://github.com/etsy/logster;
+      rev = "7475c53822";
+      sha256 = "1ls007qmziwb50c5iikxhqin0xbn673gbd25m5k09861435cknvr";
+    };
+  };
+
+
   paver = buildPythonPackage rec {
-    version = "1.2.1";
+    version = "1.2.2";
     name    = "Paver-${version}";
 
     src = fetchurl {
       url    = "https://pypi.python.org/packages/source/P/Paver/Paver-${version}.tar.gz";
-      sha256 = "1b1023jks1gi1rwphdy3y2zx7dh4bvwk2050kclp95j7xym1ya0y";
+      sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy";
     };
 
     buildInputs = [ cogapp mock virtualenv ];
@@ -1561,6 +2232,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  pew = buildPythonPackage rec {
+    name = "pew-0.1.9";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pew/${name}.tar.gz";
+      md5 = "90a82400074b50a9e73c3045ed9ac217";
+    };
+
+    propagatedBuildInputs = [ virtualenv virtualenv-clone ];
+
+    meta = with stdenv.lib; {
+      description = "Tools to manage multiple virtualenvs written in pure python, a virtualenvwrapper rewrite";
+      license = licenses.mit;
+      platforms = platforms.all;
+    };
+  };
+
 
   pudb = buildPythonPackage rec {
     name = "pudb-2013.3.6";
@@ -1581,11 +2269,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyramid = buildPythonPackage rec {
-    name = "pyramid-1.4.3";
+    name = "pyramid-1.5";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz";
-      md5 = "28fabf42cf585ecec7a57b5acc1174e3";
+      md5 = "8747658dcbab709a9c491e43d3b0d58b";
     };
 
     buildInputs = [
@@ -1597,8 +2285,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     ] ++ optional isPy26 unittest2;
 
     propagatedBuildInputs = [
-      chameleon
-      Mako
       paste_deploy
       repoze_lru
       repoze_sphinx_autointerface
@@ -1636,15 +2322,36 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  pyramid_chameleon = buildPythonPackage rec {
+    name = "pyramid_chameleon-0.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyramid_chameleon/${name}.tar.gz";
+      md5 = "39b1327a9890f382200bbfde943833d7";
+    };
+
+    propagatedBuildInputs = [
+      chameleon
+      pyramid
+      zope_interface
+      setuptools
+    ];
+
+    meta = with stdenv.lib; {
+      maintainers = [ maintainers.iElectric ];
+    };
+  };
+
+
   pyramid_jinja2 = buildPythonPackage rec {
-    name = "pyramid_jinja2-1.6";
+    name = "pyramid_jinja2-1.9";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_jinja2/${name}.zip";
-      md5 = "b7df1ab97f90f39529d27ba6da1f6b1c";
+      md5 = "a6728117cad24749ddb39d2827cd9033";
     };
 
-    buildInputs = [ pkgs.unzip webtest ];
+    buildInputs = [ webtest ];
     propagatedBuildInputs = [ jinja2 pyramid ];
 
     meta = {
@@ -1654,12 +2361,38 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  pyramid_debugtoolbar = buildPythonPackage rec {
+    name = "pyramid_debugtoolbar-1.0.9";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid_debugtoolbar/${name}.tar.gz";
+      sha256 = "1vnzg1qnnyisv7znxg7pasayfyr3nz7rrs5nqr4fmdgwj9q2pyv0";
+    };
+
+    buildInputs = [ ];
+    propagatedBuildInputs = [ pyramid pyramid_mako ];
+  };
+
+
+  pyramid_mako = buildPythonPackage rec {
+    name = "pyramid_mako-0.3.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid_mako/${name}.tar.gz";
+      sha256 = "00811djmsc4rz20kpy2paam05fbx6dmrv2i5jf90f6xp6zw4isy6";
+    };
+
+    buildInputs = [ webtest ];
+    propagatedBuildInputs = [ pyramid Mako ];
+  };
+
+
   pyramid_exclog = buildPythonPackage rec {
-    name = "pyramid_exclog-0.6";
+    name = "pyramid_exclog-0.7";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_exclog/${name}.tar.gz";
-      md5 = "5c18706f5500605416afff311120c933";
+      md5 = "05df86758b0d30ee6f8339ff36cef7a0";
     };
 
     propagatedBuildInputs = [ pyramid ];
@@ -1682,11 +2415,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "6dc917d262c69366630c542bd21859a3";
     };
 
+    # tests are failing in version 0.7 but are fixed in trunk
+    doCheck = false;
+
     propagatedBuildInputs = [ transaction pyramid ];
     meta = {
       maintainers = [
         stdenv.lib.maintainers.garbas
         stdenv.lib.maintainers.iElectric
+        stdenv.lib.maintainers.matejc
       ];
       platforms = stdenv.lib.platforms.all;
     };
@@ -1710,6 +2447,37 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  radicale = buildPythonPackage rec {
+    name = "radicale-${version}";
+    namePrefix = "";
+    version = "0.9b1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz";
+      sha256 = "3a8451909de849f173f577ddec0a085f19040dbb6aa13d5256208a0f8e11d88d";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [
+      flup
+      ldap
+      sqlalchemy
+    ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = "http://www.radicale.org/";
+      longDescription = ''
+        The Radicale Project is a complete CalDAV (calendar) and CardDAV
+        (contact) server solution. Calendars and address books are available for
+        both local and remote access, possibly limited through authentication
+        policies. They can be viewed and edited by calendar and contact clients
+        on mobile phones or computers.
+      '';
+      license = stdenv.lib.licenses.gpl3Plus;
+      maintainers = [ stdenv.lib.maintainers.edwtjo ];
+    };
+  };
 
   raven = buildPythonPackage rec {
     name = "raven-3.4.1";
@@ -1736,7 +2504,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/h/hypatia/${name}.tar.gz";
       md5 = "3a67683c578754cd8f23317db6d28ffd";
     };
- 
+
     buildInputs = [ zope_interface zodb3 ];
 
     meta = {
@@ -1752,8 +2520,8 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/z/zope.copy/${name}.zip";
       md5 = "36aa2c96dec4cfeea57f54da2b733eb9";
     };
- 
-    buildInputs = [ pkgs.unzip zope_interface zope_location zope_schema ];
+
+    buildInputs = [ zope_interface zope_location zope_schema ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -1768,7 +2536,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/s/statsd/${name}.tar.gz";
       md5 = "476ef5b9004f6e2cb25c7da440bb53d0";
     };
- 
+
     buildInputs = [ ];
 
     meta = {
@@ -1784,7 +2552,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz";
       md5 = "22e88cc82cafbbe00274e7378434e5fe";
     };
- 
+
     buildInputs = [ pyramid mock ];
     propagatedBuildInputs = [ zodb3 zodburi ];
 
@@ -1801,7 +2569,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/p/pyramid_mailer/${name}.tar.gz";
       md5 = "43800c7c894097a23140da58e3638c93";
     };
- 
+
     buildInputs = [ pyramid transaction ];
     propagatedBuildInputs = [ repoze_sendmail ];
 
@@ -1810,6 +2578,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  pyrtlsdr = buildPythonPackage rec {
+    name = "pyrtlsdr-0.2.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyrtlsdr/${name}.zip";
+      md5 = "646336675a00d38e6f54e77a17011b95";
+    };
+
+    postPatch = ''
+      sed "s|driver_files =.*|driver_files = ['${pkgs.rtl-sdr}/lib/librtlsdr.so']|" -i rtlsdr/librtlsdr.py
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Python wrapper for librtlsdr (a driver for Realtek RTL2832U based SDR's)";
+      homepage = https://github.com/roger-/pyrtlsdr;
+      license = licenses.gpl3;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
 
   repoze_sendmail = buildPythonPackage rec {
     name = "repoze.sendmail-4.1";
@@ -1818,7 +2607,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/r/repoze.sendmail/${name}.tar.gz";
       md5 = "81d15f1f03cc67d6f56f2091c594ef57";
     };
- 
+
     buildInputs = [ transaction ];
 
     meta = {
@@ -1834,7 +2623,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/z/zodburi/${name}.tar.gz";
       md5 = "52cc13c32ffe4ee7b5f5abc79f70f3c2";
     };
- 
+
     buildInputs = [ zodb3 mock ];
 
     meta = {
@@ -1883,11 +2672,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   repoze_lru = buildPythonPackage rec {
-    name = "repoze.lru-0.4";
+    name = "repoze.lru-0.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/r/repoze.lru/${name}.tar.gz";
-      md5 = "9f6ab7a4ff871ba795cadf56c20fb0f0";
+      md5 = "2c3b64b17a8e18b405f55d46173e14dd";
     };
 
     meta = {
@@ -1927,7 +2716,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6";
     };
 
-    buildInputs = [ pkgs.alsaLib pkgs.jackaudio ];
+    preConfigure = ''
+      sed -i "/use_setuptools/d" setup.py
+    '';
+
+    buildInputs = [ pkgs.alsaLib pkgs.jack2 ];
 
     meta = with stdenv.lib; {
       description = "A Python wrapper for the RtMidi C++ library written with Cython";
@@ -1941,11 +2734,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   zope_deprecation = buildPythonPackage rec {
-    name = "zope.deprecation-3.5.0";
+    name = "zope.deprecation-3.5.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz";
-      md5 = "1e7db82583013127aab3e7e790b1f2b6";
+      md5 = "836cfea5fad548cd5a0d9af1300ec05e";
     };
 
     buildInputs = [ zope_testing ];
@@ -1982,11 +2775,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   chameleon = buildPythonPackage rec {
-    name = "Chameleon-2.11";
+    name = "Chameleon-2.15";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/C/Chameleon/${name}.tar.gz";
-      md5 = "df72458bf3dd26a744dcff5ad555c34b";
+      md5 = "0214647152fcfcb9ce357624f8f9f203";
     };
 
     buildInputs = [] ++ optionals isPy26 [ ordereddict unittest2 ];
@@ -2003,46 +2796,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-
-  distribute = stdenv.mkDerivation rec {
-    name = "distribute-0.6.34";
-
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz";
-      md5 = "4576ab843a6db5100fb22a72deadf56d";
-    };
-
-    buildInputs = [ python wrapPython offlineDistutils ];
-
-    pythonPath = [ recursivePthLoader ];
-
-    installPhase=''
-      dst="$out/lib/${python.libPrefix}/site-packages"
-      mkdir -p $dst
-      PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-      export PYTHONPATH="$dst:$PYTHONPATH"
-
-      ${python}/bin/${python.executable} setup.py install --prefix="$out"
-
-      eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
-      if [ -e "$eapth" ]; then
-          # move colliding easy_install.pth to specifically named one
-          mv "$eapth" $(dirname "$eapth")/${name}.pth
-      fi
-
-      rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
-
-      wrapPythonPrograms
-    '';
-
-    meta = {
-      description = "Easily download, build, install, upgrade, and uninstall Python packages";
-      homepage = http://packages.python.org/distribute;
-      license = "PSF or ZPL";
-    };
-  };
-
-
   distutils_extra = buildPythonPackage rec {
     name = "distutils-extra-2.26";
 
@@ -2066,7 +2819,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     propagatedBuildInputs = with pkgs; [
-      pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl
+      pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl modules.curses
     ];
 
     postInstall = ''
@@ -2098,7 +2851,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://freedesktop.org/wiki/Software/pyxdg;
       description = "Contains implementations of freedesktop.org standards";
-      license = "LGPLv2";
+      license = stdenv.lib.licenses.lgpl2;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
@@ -2114,18 +2867,20 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = https://github.com/erikrose/chardet;
       description = "Universal encoding detector";
-      license = "LGPLv2";
+      license = stdenv.lib.licenses.lgpl2;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
 
-  django = buildPythonPackage rec {
+  django = django_1_6;
+
+  django_1_6 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.4.1";
+    version = "1.6.3";
 
     src = fetchurl {
-      url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz";
-      sha256 = "16s0anvpaccbqmdrhl71z73k0dy2sl166nnc2fbd5lshlgmj13ad";
+      url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz";
+      sha256 = "1wdqb2x0w0c10annbyz7rrrgrv9mpa9f8pz8006lf2csix33r7bd";
     };
 
     # error: invalid command 'test'
@@ -2137,6 +2892,41 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  django_1_5 = buildPythonPackage rec {
+    name = "Django-${version}";
+    version = "1.5.6";
+
+    src = fetchurl {
+      url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz";
+      sha256 = "1bxzz71sfvh0zgdzv4x3wdr4ffzd5cfnvq7iq2g1i282sacwnzwv";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
+
+  django_1_4 = buildPythonPackage rec {
+    name = "Django-${version}";
+    version = "1.4.11";
+
+    src = fetchurl {
+      url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz";
+      sha256 = "00f2jlls3fhddrg7q4sjkwj6dmclh28n0vqm1m7kzcq5fjrxh6a8";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
 
   django_1_3 = buildPythonPackage rec {
     name = "Django-1.3.7";
@@ -2211,17 +3001,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   dulwich = buildPythonPackage rec {
-    name = "dulwich-0.8.1";
+    name = "dulwich-0.8.7";
 
     src = fetchurl {
       url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz";
-      sha256 = "1a1619e9c7e63fe9bdc93356ee893be1016b7ea12ad953f4e1f1f5c0c5056ee8";
+      sha256 = "041qp5v2x8fbwkmws6hwwiny74lavkz723dj8gwbm40b2383d8vv";
     };
 
     buildPhase = "make build";
-    installCommand = ''
-      ${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.
     # pretty sure that is about import behaviour.
@@ -2252,11 +3039,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   docutils = buildPythonPackage rec {
-    name = "docutils-0.8.1";
+    name = "docutils-0.11";
 
     src = fetchurl {
       url = "mirror://sourceforge/docutils/${name}.tar.gz";
-      sha256 = "0wfz4nxl95jcr2f2mc5gijgighavcghg33plzbz5jyi531jpffss";
+      sha256 = "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s";
     };
 
     # error: invalid command 'test'
@@ -2357,6 +3144,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  enum34 = buildPythonPackage rec {
+    name = "enum34-1.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/e/enum34/${name}.tar.gz";
+      md5 = "9d57f5454c70c11707998ea26c1b0a7c";
+    };
+
+  };
 
   epc = buildPythonPackage rec {
     name = "epc-0.0.3";
@@ -2416,14 +3212,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   flake8 = buildPythonPackage (rec {
-    name = "flake8-2.0";
+    name = "flake8-2.1.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
-      md5 = "176c6b3613777122721db181560aa1e3";
+      md5 = "cf326cfb88a1db6c5b29a3a6d9efb257";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = [ nose mock ];
     propagatedBuildInputs = [ pyflakes pep8 mccabe ];
 
     # 3 failing tests
@@ -2432,18 +3228,18 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "code checking using pep8 and pyflakes.";
       homepage = http://pypi.python.org/pypi/flake8;
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   });
 
 
   flask = buildPythonPackage {
-    name = "flask-0.9";
+    name = "flask-0.10.1";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.9.tar.gz";
-      md5 = "4a89ef2b3ab0f151f781182bd0cc8933";
+      url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz";
+      md5 = "378670fe456957eb3c27ddaef60b2b24";
     };
 
     propagatedBuildInputs = [ werkzeug jinja2 ];
@@ -2456,17 +3252,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   flexget = buildPythonPackage rec {
-    name = "FlexGet-1.1.121";
+    name = "FlexGet-1.2.161";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz";
-      md5 = "44521bcbc2c1e941b656ecfa358adcaa";
+      md5 = "f7533e7b1df49cc8027fc4a2cde0290d";
     };
 
     buildInputs = [ nose ];
-    propagatedBuildInputs = [ beautifulsoup4 pyrss2gen feedparser pynzb html5lib dateutil
-        beautifulsoup flask jinja2 requests sqlalchemy pyyaml cherrypy progressbar deluge
-        python_tvrage jsonschema ];
+    # dateutil dependancy: requirement is dateutil !=2.0 and != 2.2,
+    # dateutil_1_5 is used as it's supported, but a newer version could be used
+    propagatedBuildInputs = [ paver feedparser sqlalchemy pyyaml rpyc
+	    beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask
+	    cherrypy requests dateutil_1_5 jsonschema python_tvrage tmdb3 ]
+	# enable deluge and transmission plugin support, if they're installed
+	++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false)
+	    pythonpackages.deluge
+	++ stdenv.lib.optional (pkgs.transmission != null)
+	    pythonPackages.transmissionrpc;
 
     meta = {
       homepage = http://flexget.com/;
@@ -2558,12 +3361,32 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       '';
 
       # See http://foolscap.lothar.com/trac/browser/LICENSE.
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
 
       maintainers = [ ];
     };
   });
 
+  fs = buildPythonPackage rec {
+    name = "fs-0.4.0";
+
+    src = fetchurl {
+      url    = "https://pyfilesystem.googlecode.com/files/fs-0.4.0.tar.gz";
+      sha256 = "1fk7ilwd01qgj4anw9k1vjp0amxswzzxbp6bk4nncp7210cxp3vz";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Filesystem abstraction";
+      homepage    = http://pypi.python.org/pypi/fs;
+      license     = licenses.bsd3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    # Fails: "error: invalid command 'test'"
+    doCheck = false;
+  };
+
   fuse = buildPythonPackage (rec {
     baseName = "fuse";
     version = "0.2.1";
@@ -2644,6 +3467,31 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  gevent-socketio = buildPythonPackage rec {
+    name = "gevent-socketio-0.3.6";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/g/gevent-socketio/${name}.tar.gz";
+      sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak";
+    };
+
+    buildInputs = [ versiontools gevent-websocket mock pytest ];
+    propagatedBuildInputs = [ gevent ];
+
+  };
+
+  gevent-websocket = buildPythonPackage rec {
+    name = "gevent-websocket-0.9.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/g/gevent-websocket/${name}.tar.gz";
+      sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4";
+    };
+
+    propagatedBuildInputs = [ gevent ];
+
+  };
+
   genzshcomp = buildPythonPackage {
     name = "genzshcomp-0.5.1";
 
@@ -2662,11 +3510,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   gflags = buildPythonPackage rec {
-    name = "gflags-1.5.1";
+    name = "gflags-2.0";
 
     src = fetchurl {
       url = "http://python-gflags.googlecode.com/files/python-${name}.tar.gz";
-      sha256 = "1p8blsc3z1wasi9dhbjij7m2czps17dll3cpj37v97fv5ww7al9v";
+      sha256 = "1mkc7315bpmh39vbn0jq237jpw34zsrjr1sck98xi36bg8hnc41i";
     };
 
     meta = {
@@ -2704,7 +3552,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     src = fetchurl {
       url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz";
-      sha256 = "0g2yg9qf7qgjwv13x0rx51rzhn99pcmjpb3vk0g3gmmdsqyqi0d6";
+      sha256 = "19pin04whc1z4gmwv2rqa7mh08d6007r8dyrhihnxj0v35ghp5i0";
     };
 
     buildInputs = [ pkgs.hddtemp ];
@@ -2718,12 +3566,68 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     '';
 
     meta = {
-      version = "1.7.1";
+      version = "1.7.4";
       homepage = "http://nicolargo.github.io/glances/";
       description = "Cross-platform curses-based monitoring tool";
     };
   };
 
+  goobook = buildPythonPackage rec {
+    name = "goobook-1.5";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz";
+      sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z";
+    };
+
+    preConfigure = ''
+      sed -i '/distribute/d' setup.py
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Search your google contacts from the command-line or mutt.";
+      homepage    = "https://pypi.python.org/pypi/goobook";
+      license     = licenses.gpl3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    propagatedBuildInputs = [ gdata hcs_utils keyring simplejson ];
+  };
+
+  google_api_python_client = buildPythonPackage rec {
+    name = "google-api-python-client-1.2";
+
+    src = fetchurl {
+      url = "https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz";
+      sha256 = "0xd619w71xk4ldmikxqhaaqn985rc2hy4ljgwfp50jb39afg7crw";
+    };
+
+    propagatedBuildInputs = [ httplib2 ];
+
+    meta = with stdenv.lib; {
+      description = "The core Python library for accessing Google APIs";
+      homepage = "https://code.google.com/p/google-api-python-client/";
+      license = licenses.asl20;
+      platforms = platforms.unix;
+    };
+  };
+
+   google_apputils = buildPythonPackage rec {
+    name = "google-apputils-0.4.0";
+
+    src = fetchurl {
+      url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz;
+      sha256 = "18wlivnqxvx1wsw177lckpl32nmr6cq7f5nhk8r72fvjy8wynq5j";
+    };
+
+    propagatedBuildInputs = [ pytz gflags dateutil_1_5 mox ];
+
+    meta = with stdenv.lib; {
+      description = "Google Application Utilities for Python";
+      homepage = http://code.google.com/p/google-apputils-python;
+    };
+  };
 
   greenlet = buildPythonPackage rec {
     name = "greenlet-0.3.1";
@@ -2741,17 +3645,16 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   gyp = buildPythonPackage rec {
-    rev = "1738";
+    rev = "1944";
     name = "gyp-r${rev}";
 
     src = fetchsvn {
       url = "http://gyp.googlecode.com/svn/trunk";
       inherit rev;
-      sha256 = "155k7v6453j2kg02xqfqbkzkbaqc8aynxs2k462jmrp638vxia9s";
+      sha256 = "15k3ivk3jyhx4rwdf1mn6qpyrwixvy01jpkir8d14c4g9hax1dx1";
     };
 
     patches = optionals pkgs.stdenv.isDarwin [
-      ../development/python-modules/gyp/no-xcode.patch
       ../development/python-modules/gyp/no-darwin-cflags.patch
     ];
 
@@ -2762,15 +3665,48 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  gunicorn = buildPythonPackage rec {
+    name = "gunicorn-19.1.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz";
+      md5 = "3d759bec3c46a680ff010775258c4c56";
+    };
+
+    buildInputs = [ pytest ];
+
+    meta = {
+      homepage = http://pypi.python.org/pypi/gunicorn;
+      description = "WSGI HTTP Server for UNIX";
+    };
+  };
+
+  hcs_utils = buildPythonPackage rec {
+    name = "hcs_utils-1.3";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/h/hcs_utils/hcs_utils-1.3.tar.gz";
+      sha256 = "0mcjfc0ssil86i74dg323z7mikkw1xazqyr92347x1y33zyffgxh";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Library collecting some useful snippets";
+      homepage    = https://pypi.python.org/pypi/hcs_utils/1.3;
+      license     = licenses.isc;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+  };
+
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
-    version = "0.6.0";
+    version = "0.7.0";
 
     src = fetchurl {
       url = "https://github.com/RedMoonStudios/hetzner/archive/"
           + "v${version}.tar.gz";
-      sha256 = "1cgi77f453ahw3ad6hvqwbyp6fwnh90rlzfgl9cp79wg58wyar4w";
+      sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src";
     };
 
     # not there yet, but coming soon.
@@ -2840,22 +3776,72 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  httpbin = buildPythonPackage rec {
+    name = "httpbin-0.2.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/h/httpbin/${name}.tar.gz";
+      md5 = "9b2bb2fab45f5fa839e9a776a64d6089";
+    };
+
+    propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ];
+
+    meta = {
+      homepage = https://github.com/kennethreitz/httpbin;
+      description = "HTTP Request & Response Service";
+      license = licenses.mit;
+    };
+
+  };
+
   httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.8";
+    name = "httplib2-0.9";
 
     src = fetchurl {
-      url = "http://httplib2.googlecode.com/files/${name}.tar.gz";
-      sha256 = "0gww8axb4j1vysbk9kfsk5vrws9a403gh30dxchmga8hrg1rns5g";
+      url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz";
+      sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir";
     };
 
     meta = {
       homepage = http://code.google.com/p/httplib2;
       description = "A comprehensive HTTP client library";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
 
+  httpretty = buildPythonPackage rec {
+    name = "httpretty-${version}";
+    version = "0.8.3";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz";
+      md5 = "50b02560a49fe928c90c53a49791f621";
+    };
+
+    buildInputs = [ tornado requests httplib2 sure nose coverage ];
+
+    propagatedBuildInputs = [ urllib3 ];
+
+    postPatch = ''
+      sed -i -e 's/==.*$//' *requirements.txt
+      # XXX: Drop this after version 0.8.4 is released.
+      patch httpretty/core.py <<DIFF
+      ***************
+      *** 566 ****
+      !                 'content-length': len(self.body)
+      --- 566 ----
+      !                 'content-length': str(len(self.body))
+      DIFF
+    '';
+
+    meta = {
+      homepage = "http://falcao.it/HTTPretty/";
+      description = "HTTP client request mocking tool";
+      license = licenses.mit;
+    };
+  };
+
   importlib = if isPy26 then (buildPythonPackage {
     name = "importlib-1.0.2";
     src = fetchurl {
@@ -2899,13 +3885,28 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+
+  ipaddr = buildPythonPackage {
+    name = "ipaddr-2.1.10";
+    src = fetchurl {
+      url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.10.tar.gz";
+      sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj";
+    };
+
+    meta = {
+      description = "Google's IP address manipulation library";
+      homepage = http://code.google.com/p/ipaddr-py/;
+      license = licenses.asl20;
+    };
+  };
+
   ipdb = buildPythonPackage {
     name = "ipdb-0.7";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz";
       md5 = "d879f9b2b0f26e0e999809585dcaec61";
     };
-    propagatedBuildInputs = [ pythonPackages.ipython ];
+    propagatedBuildInputs = [ pythonPackages.ipythonLight ];
   };
 
   ipdbplugin = buildPythonPackage {
@@ -2914,32 +3915,45 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.4.tar.gz";
       md5 = "f9a41512e5d901ea0fa199c3f648bba7";
     };
-    propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipython ];
+    propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipythonLight ];
   };
 
+  iso8601_0_1_4 = buildPythonPackage {
+    name = "iso8601-0.1.4";
+    src = fetchurl {
+      url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.4.tar.gz;
+      sha256 = "03gnjxpfq0wwimqnsvz32xcngq0hrdqryn3zm8qh95hnnggwqa3s";
+    };
+
+    meta = {
+      homepage = https://bitbucket.org/micktwomey/pyiso8601/;
+      description = "Simple module to parse ISO 8601 dates";
+      maintainers = [ stdenv.lib.maintainers.phreedom ];
+    };
+  };
 
   jedi = buildPythonPackage (rec {
-    name = "jedi-0.6.0";
+    name = "jedi-0.8.0-final0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz";
-      sha256 = "0k27nai69ypi9whipg45s1myqr477wj7jaryqv37bqqij4jc85hg";
+      sha256 = "0jnhwh0b1hy5cssi3n5a4j7z9pgpcckyv5s52ba4jnq5bwgdpbcf";
     };
 
     meta = {
       homepage = "https://github.com/davidhalter/jedi";
       description = "An autocompletion tool for Python that can be used for text editors.";
-      license = pkgs.lib.licenses.lgpl3Plus;
+      license = licenses.lgpl3Plus;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   });
 
   jinja2 = buildPythonPackage rec {
-    name = "Jinja2-2.7";
+    name = "Jinja2-2.7.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz";
-      sha256 = "0kgsd7h27jl2jpqa1ks88h93z50bsg0yr7qkicqpxbl9s4c1aks7";
+      sha256 = "12scn3zmmj76rzyc0axjzf6dsazyj9xgp0l46q41rjhxm23s1h2w";
     };
 
     propagatedBuildInputs = [ pythonPackages.markupsafe ];
@@ -2958,11 +3972,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   jmespath = buildPythonPackage rec {
-    name = "jmespath-0.0.2";
+    name = "jmespath-0.2.1";
 
     src = fetchurl {
-      url = "https://github.com/boto/jmespath/archive/0.0.2.tar.gz";
-      sha256 = "0wr1gq3gdyn3n21pvj62csdm095512zxd10gkg5ai1vvxh0mbn3r";
+      url = "https://pypi.python.org/packages/source/j/jmespath/jmespath-0.2.1.tar.gz";
+      md5 = "7800775aa12c6303f9ad597b6a8fa03c";
     };
 
     propagatedBuildInputs = [ ply ];
@@ -2974,6 +3988,35 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  keyring = buildPythonPackage rec {
+    name = "keyring-3.2";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/k/keyring/${name}.zip";
+      sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Store and access your passwords safely";
+      homepage    = "https://pypi.python.org/pypi/keyring";
+      license     = licenses.psfl;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    buildInputs =
+      [ fs gdata python_keyczar mock pyasn1 pycrypto pytest ];
+  };
+
+  kitchen = buildPythonPackage (rec {
+    name = "kitchen-1.1.1";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/k/kitchen/kitchen-1.1.1.tar.gz";
+      sha256 = "0ki840hjk1q19w6icv0dj2jxb00966nwy9b1jib0dgdspj00yrr5";
+    };
+  });
 
   pylast = buildPythonPackage rec {
     name = "pylast-${version}";
@@ -2990,22 +4033,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://code.google.com/p/pylast/;
       description = "A python interface to last.fm (and compatibles)";
-      license = pkgs.lib.licenses.asl20;
+      license = licenses.asl20;
     };
   };
 
 
   libcloud = buildPythonPackage (rec {
-    name = "libcloud-0.3.1";
+    name = "libcloud-0.14.1";
 
     src = fetchurl {
-      url = mirror://apache/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2;
-      sha256 = "11qilrs4sd4c1mkd64ikrjsc2vwrshhc54n5mh4xrark9c7ayp0y";
+      url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.14.1.tar.bz2;
+      sha256 = "1l6190pjv54c7y8pzr089ij727qv7bqhhaznr2mkvimgr1wzsql5";
     };
 
-    buildInputs = [ zope_interface mock ];
+    buildInputs = [  mock ];
 
-    preConfigure = "cp test/secrets.py-dist test/secrets.py";
+    propagatedBuildInputs = [ pycrypto ];
+    preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
 
     # failing tests for 26 and 27
     doCheck = false;
@@ -3058,11 +4102,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   logilab_common = buildPythonPackage rec {
-    name = "logilab-common-0.58.2";
+    name = "logilab-common-0.61.0";
 
     src = fetchurl {
       url = "http://download.logilab.org/pub/common/${name}.tar.gz";
-      sha256 = "0qfdyj2is0scpnkgpnqm12lh4yl27617l0irlilhk25cpgbbfbf9";
+      sha256 = "09apsrcvjliawbxmfrmi1l8hlbaj87mb7n4lrlivy5maxs6yg4hd";
     };
 
     propagatedBuildInputs = [ unittest2 ];
@@ -3077,9 +4121,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
     propagatedBuildInputs = [  ];
     doCheck = false;
-    installCommand = ''
-      easy_install --always-unzip --no-deps --prefix="$out" .
-    '';
 
     meta = {
       description = "Pythonic binding for the libxml2 and libxslt libraries";
@@ -3131,21 +4172,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-  magic = pkgs.stdenv.mkDerivation rec {
-    name = "python-${pkgs.file.name}";
+  magic = buildPythonPackage rec {
+    name = "${pkgs.file.name}";
 
     src = pkgs.file.src;
 
     patches = [ ../tools/misc/file/python.patch ];
     buildInputs = [ python pkgs.file ];
 
-    configurePhase = "cd python";
-
-    buildPhase = "${python}/bin/${python.executable} setup.py build";
-
-    installPhase = ''
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
-    '';
+    preConfigure = "cd python";
 
     meta = {
       description = "A Python wrapper around libmagic";
@@ -3165,7 +4200,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     buildInputs = [ pkgs.swig pkgs.openssl ];
 
-    buildPhase = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
+    preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
 
     doCheck = false; # another test that depends on the network.
 
@@ -3177,11 +4212,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   Mako = buildPythonPackage rec {
-    name = "Mako-0.8.1";
+    name = "Mako-0.9.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/M/Mako/${name}.tar.gz";
-      md5 = "96d962464ce6316004af0cc48495d73e";
+      md5 = "fe3f394ef714776d09ec6133923736a7";
     };
 
     buildInputs = [ markupsafe nose ];
@@ -3190,7 +4225,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Super-fast templating language.";
       homepage = http://www.makotemplates.org;
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
@@ -3214,11 +4249,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   manuel = buildPythonPackage rec {
     name = "manuel-${version}";
-    version = "1.6.0";
+    version = "1.6.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz";
-      md5 = "53d6a6905301a20f6095e41d11968fff";
+      sha256 = "1h35ys31zkjd9jssqn9lzwmw8s17ikr4jn2xp5zby1v771ibbbqr";
     };
 
     propagatedBuildInputs = [ six zope_testing ];
@@ -3248,32 +4283,20 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
-  # 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";
+  matplotlib = buildPythonPackage rec {
+    name = "matplotlib-1.3.1";
 
     src = fetchurl {
-      url = "http://downloads.sourceforge.net/matplotlib/${name}.tar.gz";
-      sha256 = "16x2ksdxx5p92v98qngh29hdz1bnqy77fhggbjq30pyqmrr8kqaj";
+      url = "mirror://sourceforge/matplotlib/${name}.tar.gz";
+      sha256 = "0smgpn7lwbn02nbyhawyn0n6r3pb65zk501f21bjgavnjjfnf5pa";
     };
 
-    # error: invalid command 'test'
-    doCheck = false;
-
-    buildInputs = [ python pkgs.which pkgs.ghostscript ];
+    buildInputs = [ python pkgs.which pkgs.ghostscript ] ++
+        (if stdenv.isDarwin then [ pkgs.clangStdenv ] else [ pkgs.stdenv ]);
 
     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";
+      [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig
+        pygtk ];
 
     meta = with stdenv.lib; {
       description = "python plotting library, making publication quality plots";
@@ -3281,7 +4304,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
     };
-  });
+  };
 
 
   mccabe = buildPythonPackage (rec {
@@ -3297,7 +4320,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "McCabe checker, plugin for flake8";
       homepage = "https://github.com/flintwork/mccabe";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   });
@@ -3324,11 +4347,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   meld3 = buildPythonPackage rec {
-    name = "meld3-0.6.10";
+    name = "meld3-1.0.0";
 
     src = fetchurl {
-      url = https://pypi.python.org/packages/source/m/meld3/meld3-0.6.10.tar.gz;
-      md5 = "42e58624e9d427be7659d7a28e2b0b6f";
+      url = https://pypi.python.org/packages/source/m/meld3/meld3-1.0.0.tar.gz;
+      md5 = "ca270506dd4ecb20ae26fa72fbd9b0be";
     };
 
     doCheck = false;
@@ -3336,7 +4359,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "An HTML/XML templating engine used by supervisor";
       homepage = https://github.com/supervisor/meld3;
-      license = "ZPL";
+      license = "free-non-copyleft";
     };
   };
 
@@ -3373,6 +4396,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  minimock = buildPythonPackage rec {
+    version = "1.2.8";
+    name = "minimock-${version}";
+
+    src = fetchurl {
+      url = "https://bitbucket.org/jab/minimock/get/${version}.zip";
+      sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a";
+    };
+
+    buildInputs = [ nose ];
+
+    checkPhase = "./test";
+
+    meta = {
+      description = "A minimalistic mocking library for python";
+      homepage = https://pypi.python.org/pypi/MiniMock;
+    };
+  };
 
   mitmproxy = buildPythonPackage rec {
     baseName = "mitmproxy";
@@ -3380,7 +4421,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     src = fetchurl {
       url = "${meta.homepage}/download/${name}.tar.gz";
-      sha256 = "1ddqni6d4kc8ypl6yig4nc00izvbk359sz6hykb9g0lfcpfqlngj";
+      sha256 = "0mpyw8iw4l4jv175qlbn0rrlgiz1k79m44jncbdxfj8ddvvvyz2j";
     };
 
     buildInputs = [
@@ -3397,10 +4438,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     '';
 
     meta = {
-      version = "0.9";
+      version = "0.10.1";
       description = ''Man-in-the-middle proxy'';
       homepage = "http://mitmproxy.org/";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -3423,6 +4464,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  moinmoin = let ver="1.9.7"; in buildPythonPackage (rec {
+    name = "moinmoin-${ver}";
+
+    src = fetchurl {
+      url = "http://static.moinmo.in/files/moin-${ver}.tar.gz";
+      sha256 = "f4ba1b5c956bd96d2a61e27e68d297aa63d1afbc80d5740e139dcdf0affb4db5";
+    };
+
+    meta = {
+      description = "Advanced, easy to use and extensible WikiEngine";
+
+      homepage = http://moinmo.in/;
+
+      license = stdenv.lib.licenses.gpl2Plus;
+    };
+  });
+
 
   mox = buildPythonPackage rec {
     name = "mox-0.5.3";
@@ -3442,16 +4500,41 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  mpmath = buildPythonPackage rec {
+    name = "mpmath-0.17";
+
+    src = fetchurl {
+      url    = "https://mpmath.googlecode.com/files/${name}.tar.gz";
+      sha256 = "1blgzwq4irzaf8abb4z0d2r48903n9zxf51fhnv3gv09bgxjqzxh";
+    };
+
+    meta = with stdenv.lib; {
+      homepage    = http://mpmath.googlecode.com;
+      description = "A pure-Python library for multiprecision floating arithmetic";
+      license     = licenses.bsd3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+  };
+
+
   mrbob = buildPythonPackage rec {
     name = "mrbob-${version}";
-    version = "0.1a9";
+    version = "0.1.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip";
-      md5 = "2d27d9bd1fc6269a3ecfd1a1ae47cd8a";
+      md5 = "84a117c9a75b86842b0fa5f5c9c767f3";
     };
 
-    buildInputs = [ pkgs.unzip ];
+    # some files in tests dir include unicode names
+    preBuild = ''
+      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LC_ALL="en_US.UTF-8"
+    '';
 
     propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++
                             (optionals isPy26 [ importlib ordereddict ]);
@@ -3477,41 +4560,44 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://bmc.github.com/munkres/;
       description = "Munkres algorithm for the Assignment Problem";
-      license = pkgs.lib.licenses.bsd3;
+      license = licenses.bsd3;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
 
 
   musicbrainzngs = buildPythonPackage rec {
-    name = "musicbrainzngs-0.2";
+    name = "musicbrainzngs-0.5";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/m/musicbrainzngs/${name}.tar.gz";
-      md5 = "bc32aa1cf121f29c3ca1c06e9668865f";
+      md5 = "9e17a181af72d04a291c9a960bc73d44";
     };
 
     meta = {
       homepage = http://alastair/python-musicbrainz-ngs;
       description = "Python bindings for musicbrainz NGS webservice";
-      license = pkgs.lib.licenses.bsd2;
+      license = licenses.bsd2;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
 
 
   mutagen = buildPythonPackage (rec {
-    name = "mutagen-1.20";
+    name = "mutagen-1.23";
 
     src = fetchurl {
-      url = "http://mutagen.googlecode.com/files/${name}.tar.gz";
-      sha256 = "1rz63nh7r6qj3zsidf8d3a7ih647prvvqzi51p8dqkqmvrwc8mky";
+      url = "http://pypi.python.org/packages/source/m/mutagen/${name}.tar.gz";
+      sha256 = "12f70aaf5ggdzll76bhhkn64b27xy9s1acx417dbsaqnnbis8s76";
     };
+    
+    # one unicode test fails
+    doCheck = false;
 
     meta = {
       description = "Python multimedia tagging library";
       homepage = http://code.google.com/p/mutagen;
-      license = "LGPLv2";
+      license = stdenv.lib.licenses.lgpl2;
     };
   });
 
@@ -3530,7 +4616,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Utilities for use with console mail clients, like mutt";
       homepage = http://www.blacktrash.org/hg/muttils;
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
     };
   });
 
@@ -3611,6 +4697,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
 
+  nbxmpp = buildPythonPackage rec {
+    name = "nbxmpp-0.5";
+
+    src = fetchurl {
+      name = "${name}.tar.gz";
+      url = "https://python-nbxmpp.gajim.org/downloads/5";
+      sha256 = "0y270c9v4i9n58p4ghlm18h50qcfichmfkgcpqd3bypx4fkmdx90";
+    };
+
+    meta = {
+      homepage = "https://python-nbxmpp.gajim.org/";
+      description = "Non-blocking Jabber/XMPP module";
+      license = stdenv.lib.licenses.gpl3;
+    };
+  };
+
+
   netaddr = buildPythonPackage rec {
     name = "netaddr-0.7.5";
 
@@ -3650,7 +4753,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     src = fetchurl {
       url = "https://github.com/cortesi/netlib/archive/v${meta.version}.tar.gz";
       name = "${name}.tar.gz";
-      sha256 = "1y8lx2j1jrr93mqfb06zg1x5jm9lllw744sb61ib8dagw43nnq3v";
+      sha256 = "1x2n126b7fal64fb5fzkp4by7ym0iswn3w9mh6pm4c1vjdpnk592";
     };
 
     buildInputs = [
@@ -3660,10 +4763,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     doCheck = false;
 
     meta = {
-      version = "0.9";
+      version = "0.10";
       description = ''Man-in-the-middle proxy'';
       homepage = "https://github.com/cortesi/netlib";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -3709,12 +4812,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
   nose = buildPythonPackage rec {
-    version = "1.3.0";
+    version = "1.3.3";
     name = "nose-${version}";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz";
-      sha256 = "0q2j9zz39h3liwbp6lb94kl3sxb9z9rbwh5dzyccyxfy4lrwqqsf";
+      sha256 = "09h3a74hzw1cfx4ic19ibxq8kg6sl1n64px2mmb57f5yd3r2y35l";
     };
 
     buildInputs = [ coverage ];
@@ -3723,6 +4826,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     checkPhase = if python.is_py3k or false then ''
       ${python}/bin/${python.executable} setup.py build_tests
     '' else "" + ''
+      rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062
       ${python}/bin/${python.executable} selftest.py
     '';
 
@@ -3731,6 +4835,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  nose-selecttests = buildPythonPackage rec {
+    version = "0.4";
+    name = "nose-selecttests-${version}";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/n/nose-selecttests/${name}.zip";
+      sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5";
+    };
+
+    propagatedBuildInputs = [ nose ];
+
+    meta = {
+      description = "Simple nose plugin that enables developers to run subset of collected tests to spare some waiting time for better things";
+    };
+  };
+
+
   nose2 = if isPy26 then null else (buildPythonPackage rec {
     name = "nose2-0.4.5";
     src = fetchurl {
@@ -3790,7 +4911,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx";
     };
 
-    patches = pkgs.lib.singleton (fetchurl {
+    patches = singleton (fetchurl {
       name = "libnotify07.patch";
       url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/"
           + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c";
@@ -3812,19 +4933,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
-  notmuch = pkgs.stdenv.mkDerivation rec {
+  notmuch = buildPythonPackage rec {
     name = "python-${pkgs.notmuch.name}";
 
     src = pkgs.notmuch.src;
 
-    buildInputs = [ python pkgs.notmuch ];
-    #propagatedBuildInputs = [ python pkgs.notmuch ];
-
-    configurePhase = "cd bindings/python";
+    sourceRoot = "${pkgs.notmuch.name}/bindings/python";
 
-    buildPhase = "python setup.py build";
-
-    installPhase = "python setup.py install --prefix=$out";
+    buildInputs = [ python pkgs.notmuch ];
 
     meta = {
       description = "A Python wrapper around notmuch";
@@ -3833,6 +4949,44 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  numexpr = buildPythonPackage rec {
+    version = "2.4";
+    name = "numexpr-${version}";
+
+    src = fetchgit {
+      url = https://github.com/pydata/numexpr.git;
+      rev = "606cc9a110711e947d35ac2770749c00dab184c8";
+      sha256 = "1gxgkg7ncgjhnifn444iha5nrjhyr8sr6w5yp204186a1ysz858g";
+    };
+
+    propagatedBuildInputs = with pkgs; [ numpy ];
+
+    # Run the test suite.
+    # It requires the build path to be in the python search path.
+    checkPhase = ''
+      ${python}/bin/${python.executable} <<EOF
+      import sysconfig
+      import sys
+      import os
+      f = "lib.{platform}-{version[0]}.{version[1]}"
+      lib = f.format(platform=sysconfig.get_platform(),
+                     version=sys.version_info)
+      build = os.path.join(os.getcwd(), 'build', lib)
+      sys.path.insert(0, build)
+      import numexpr
+      r = numexpr.test()
+      if not r.wasSuccessful():
+          sys.exit(1)
+      EOF
+    '';
+
+    meta = {
+      description = "Fast numerical array expression evaluator for NumPy";
+      homepage = "https://github.com/pydata/numexpr";
+      license = licenses.mit;
+    };
+  };
+
   numpy = buildPythonPackage ( rec {
     name = "numpy-1.7.1";
 
@@ -3843,15 +4997,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     preConfigure = ''
       sed -i 's/-faltivec//' numpy/distutils/system_info.py
+      sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
     '';
 
-    # TODO: add ATLAS=${pkgs.atlas}
-    installCommand = ''
+    preBuild = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
+    setupPyBuildFlags = ["--fcompiler='gnu95'"];
+
     # error: invalid command 'test'
     doCheck = false;
 
@@ -3866,11 +5020,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   nwdiag = buildPythonPackage rec {
-    name = "nwdiag-0.9.4";
+    name = "nwdiag-1.0.0";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/n/nwdiag/${name}.tar.gz";
-      md5 = "199b22f66ec3012c3999177d376a3842";
+      md5 = "d81581a028840f8f7362ab21bf73e941";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
@@ -3889,6 +5043,30 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  livestreamer = if isPy34 then null else (buildPythonPackage rec {
+    version = "1.8.2";
+    name = "livestreamer-${version}";
+
+    src = fetchurl {
+      url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz";
+      sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc";
+    };
+
+    buildInputs = [ pkgs.makeWrapper ];
+    propagatedBuildInputs = [ requests pkgs.rtmpdump pycrypto ];
+    postInstall = ''
+      wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
+    '';
+
+    meta = {
+      homepage = http://livestreamer.tanuki.se;
+      description = ''
+        Livestreamer is CLI program that extracts streams from various
+        services and pipes them into a video player of choice.
+      '';
+      license = "bsd";
+    };
+  });
 
   oauth2 = buildPythonPackage (rec {
     name = "oauth2-1.5.211";
@@ -3908,7 +5086,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = "https://github.com/simplegeo/python-oauth2";
       description = "library for OAuth version 1.0";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
       platforms = stdenv.lib.platforms.linux;
     };
@@ -3950,6 +5128,17 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  offtrac = buildPythonPackage rec {
+    name = "offtrac-0.1.0";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/o/offtrac/${name}.tar.gz";
+      sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56";
+    };
+    doCheck = false;
+  };
+
   # optfunc = buildPythonPackage ( rec {
   #   name = "optfunc-git";
   #
@@ -4014,12 +5203,29 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  osc = buildPythonPackage (rec {
+    name = "osc-0.133+git";
+
+    src = fetchgit {
+      url = git://gitorious.org/opensuse/osc.git;
+      rev = "6cd541967ee2fca0b89e81470f18b97a3ffc23ce";
+      sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6";
+    };
+
+    buildPhase = "python setup.py build";
+    doCheck = false;
+    postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc";
+
+    propagatedBuildInputs = [ pythonPackages.m2crypto ];
+
+  });
+
   pandas = buildPythonPackage rec {
-    name = "pandas-0.12.0";
+    name = "pandas-0.14.0";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/p/pandas/${name}.tar.gz";
-      sha256 = "0vf865wh1kcq33189ykqgngb25nxhxxch6skfdl3c6w024v4r6xy";
+      sha256 = "f7997debca756c4dd5ccdf5a010dfe3d1c7dac98ee706b715d994cf7c9d35528";
     };
 
     buildInputs = [ nose ];
@@ -4038,11 +5244,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   paramiko = buildPythonPackage rec {
-    name = "paramiko-1.12.0";
+    name = "paramiko-1.12.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/paramiko/${name}.tar.gz";
-      md5 = "4187f77b1a5a313c899993930e30c321";
+      md5 = "ae4544dc0a1419b141342af89fcf0dd9";
     };
 
     propagatedBuildInputs = [ pycrypto ecdsa ];
@@ -4102,34 +5308,58 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  paypalrestsdk = buildPythonPackage rec {
+    name = "paypalrestsdk-0.7.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/paypalrestsdk/${name}.tar.gz";
+      sha256 = "117kfipzfahf9ysv414bh1mmm5cc9ck5zb6rhpslx1f8gk3frvd6";
+    };
+
+    propagatedBuildInputs = [ httplib2 ];
+
+    meta = {
+      homepage = https://developer.paypal.com/;
+      description = "Python APIs to create, process and manage payment";
+      license = "PayPal SDK License";
+    };
+  };
+
+  pbr = buildPythonPackage rec {
+    name = "pbr-0.9.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pbr/${name}.tar.gz";
+      sha256 = "e5a57c434b1faa509a00bf458d2c7af965199d9cced3d05a547bff9880f7e8cb";
+    };
+
+    # pip depend on $HOME setting
+    preConfigure = "export HOME=$TMPDIR";
+
+    doCheck = false;
+
+    buildInputs = [ pip ];
+
+    meta = {
+      description = "Python Build Reasonableness";
+      homepage = "http://docs.openstack.org/developer/pbr/";
+      license = licenses.asl20;
+    };
+  };
 
   pep8 = buildPythonPackage rec {
     name = "pep8-${version}";
-    version = "1.4.6";
+    version = "1.5.7";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz";
-      md5 = "a03bb494859e87b42601b61b1b043a0c";
+      md5 = "f6adbdd69365ecca20513c709f9b7c93";
     };
 
-    #======================================================================
-    #FAIL: test_check_simple (testsuite.test_shell.ShellTestCase)
-    #----------------------------------------------------------------------
-    #Traceback (most recent call last):
-    #  File "/tmp/nix-build-python-pep8-1.4.5.drv-0/pep8-1.4.5/testsuite/test_shell.py", line 84, in test_check_simple
-    #    self.assertTrue(config_filename.endswith('tox.ini'))
-    #AssertionError: False is not true
-    #
-    #----------------------------------------------------------------------
-    #Ran 21 tests in 0.711s
-    #
-    #FAILED (failures=1)
-    doCheck = false;
-
     meta = {
       homepage = "http://pep8.readthedocs.org/";
       description = "Python style guide checker";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
@@ -4149,7 +5379,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = "http://www.noah.org/wiki/Pexpect";
       description = "Automate interactive console applications such as ssh, ftp, etc.";
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
 
       longDescription = ''
         Pexpect is similar to the Don Libes "Expect" system, but Pexpect
@@ -4178,8 +5408,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "0kdc4rg47k1qkq22inghd50xlxjdkfcilym8mxff8wy4h091xykw";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     propagatedBuildInputs = [ pytz ];
 
     meta = {
@@ -4192,16 +5420,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   pip = buildPythonPackage rec {
-    version = "1.4.1";
+    version = "1.5.6";
     name = "pip-${version}";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pip/pip-${version}.tar.gz";
-      sha256 = "0knhj3c1nqqzxgqin8l0gzy6nzsbcxinyr0cbp1j99hi8xahcyjf";
+      md5 = "01026f87978932060cc86c1dc527903e";
     };
-    buildInputs = [ mock scripttest virtualenv nose ];
-    # ValueError: Working directory tests not found, or not a directory
-    # see https://github.com/pypa/pip/issues/92
-    doCheck = false;
+    buildInputs = [ mock scripttest virtualenv pytest ];
   };
 
 
@@ -4218,17 +5443,17 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pillow = buildPythonPackage rec {
-    name = "Pillow-2.1.0";
+    name = "Pillow-2.3.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip";
-      md5 = "ec630d8ae15d4a3c4ae7b7efdeac8200";
+      md5 = "56b6614499aacb7d6b5983c4914daea7";
     };
 
-    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ];
+    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp ];
 
     # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
-    configurePhase = ''
+    preConfigure = ''
       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 ;
@@ -4237,7 +5462,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
               s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
     '';
 
-    doCheck = true;
+
 
     meta = {
       homepage = http://python-imaging.github.com/Pillow;
@@ -4258,13 +5483,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   plumbum = buildPythonPackage rec {
-    name = "plumbum-1.2.0";
+    name = "plumbum-1.4.2";
 
     buildInputs = [ pythonPackages.six ];
 
     src = fetchurl {
-      url = "https://pypi.python.org/packages/source/p/plumbum/plumbum-1.2.0.tar.gz";
-      md5 = "18b7f888dfaf62a48df937abffe07897";
+      url = "https://pypi.python.org/packages/source/p/plumbum/${name}.tar.gz";
+      md5 = "38b526af9012a5282ae91dfe372cefd3";
     };
   };
 
@@ -4284,7 +5509,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "A library to manipulate gettext files (po and mo files)";
       homepage = "http://bitbucket.org/izi/polib/";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -4348,7 +5573,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   protobuf = buildPythonPackage rec {
     inherit (pkgs.protobuf) name src;
 
-    propagatedBuildInputs = [pkgs.protobuf];
+    propagatedBuildInputs = [ pkgs.protobuf setuptools ];
     sourceRoot = "${name}/python";
 
     meta = {
@@ -4377,14 +5602,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   psycopg2 = buildPythonPackage rec {
-    name = "psycopg2-2.5.1";
+    name = "psycopg2-2.5.2";
 
     # error: invalid command 'test'
     doCheck = false;
 
     src = fetchurl {
-      url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz";
-      sha256 = "1v7glzzzykbaqj7dhpr0qds9cf4maxmn7f5aazpqnbg0ly40r9v5";
+      url = "https://pypi.python.org/packages/source/p/psycopg2/${name}.tar.gz";
+      sha256 = "0bmxlmi9k995n6pz16awjaap0y02y1v2d31jbxhkqv510f3jsf2h";
     };
 
     propagatedBuildInputs = [ pkgs.postgresql ];
@@ -4408,17 +5633,17 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Allows to get the public suffix of a domain name";
       homepage = "http://pypi.python.org/pypi/publicsuffix/";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
 
   py = buildPythonPackage rec {
-    name = "py-1.4.13";
+    name = "py-1.4.20";
 
     src = fetchurl {
-      url = "https://pypi.python.org/packages/source/p/py/py-1.4.13.tar.gz";
-      md5 = "3857dc8309d5f284669b81184253c2bb";
+      url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz";
+      md5 = "5f1708be5482f3ff6711dfd6cafd45e0";
     };
   };
 
@@ -4433,12 +5658,9 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     meta = {
       description = "ASN.1 tools for Python";
-
       homepage = http://pyasn1.sourceforge.net/;
-
       license = "mBSD";
-
-      platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+      platforms = stdenv.lib.platforms.unix;  # arbitrary choice
     };
   });
 
@@ -4471,11 +5693,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pygit2 = buildPythonPackage rec {
-    name = "pygit2-0.18.1";
+    name = "pygit2-0.20.0";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/p/pygit2/${name}.tar.gz";
-      md5 = "8d27f84509a96d6791a6c393ae67d7c8";
+      sha256 = "04132q7bn8k7q7ky7nj3bkza8r9xkzkdpfv462b6rgjsd1x6h340";
     };
 
     preConfigure = ( if stdenv.isDarwin then ''
@@ -4494,14 +5716,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   Babel = buildPythonPackage (rec {
-    name = "Babel-0.9.6";
+    name = "Babel-1.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/B/Babel/${name}.tar.gz";
-      sha256 = "4a3a085ecf1fcd2736573538ffa114f1f4331b3bbbdd69381e6e172c49c9750f";
+      sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
     };
 
-    buildInputs = [ pytz ];
+    propagatedBuildInputs = [ pytz ];
 
     meta = {
       homepage = http://babel.edgewall.org;
@@ -4541,13 +5763,36 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  pycapnp = buildPythonPackage rec {
+    name = "pycapnp-0.4.4";
+    homepage = "http://jparyani.github.io/pycapnp/index.html";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pycapnp/${name}.tar.gz";
+      sha256 = "33b2b79438bb9bf37097966e1c90403c34ab49be1eb647ee251b62f362ee3537";
+    };
+
+    buildInputs = with pkgs; [ capnproto cython ];
+
+    # import setuptools as soon as possible, to minimize monkeypatching mayhem.
+    postConfigure = ''
+      sed -i '2iimport setuptools' setup.py
+    '';
+
+    meta = with stdenv.lib; {
+      maintainers = with maintainers; [ cstrahan ];
+      license = stdenv.lib.licenses.bsd2;
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
 
   pycryptopp = buildPythonPackage (rec {
-    name = "pycryptopp-0.5.29";
+    name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz";
-      sha256 = "d504775b73d30fb05a3237f83c4e9e1ff3312cbba90a4a23e6cbb7d32219502b";
+      sha256 = "0n90h1yg7bfvlbhnc54xb6dbqm286ykaksyg04kxlhyjgf8mhq8i";
     };
 
     # Prefer crypto++ library from the Nix store over the one that's included
@@ -4561,7 +5806,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
       description = "Python wrappers for the Crypto++ library";
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
 
       maintainers = [ ];
       platforms = stdenv.lib.platforms.linux;
@@ -4649,11 +5894,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   pyflakes = buildPythonPackage rec {
-    name = "pyflakes-0.7.3";
+    name = "pyflakes-0.8.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz";
-      md5 = "ec94ac11cb110e6e72cca23c104b66b1";
+      md5 = "905fe91ad14b912807e8fdc2ac2e2c23";
     };
 
     buildInputs = [ unittest2 ];
@@ -4661,7 +5906,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = "https://launchpad.net/pyflakes";
       description = "A simple program which checks Python source files for errors.";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
@@ -4676,7 +5921,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     patchPhase = let
       libs = [ pkgs.mesa pkgs.xlibs.libX11 pkgs.freetype pkgs.fontconfig ];
-      paths = pkgs.lib.concatStringsSep "," (map (l: "\"${l}/lib\"") libs);
+      paths = concatStringsSep "," (map (l: "\"${l}/lib\"") libs);
     in "sed -i -e 's|directories\.extend.*lib[^]]*|&,${paths}|' pyglet/lib.py";
 
     doCheck = false;
@@ -4690,11 +5935,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   pygments = buildPythonPackage rec {
-    name = "Pygments-1.5";
+    name = "Pygments-1.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz";
-      md5 = "ef997066cc9ee7a47d01fb4f3da0b5ff";
+      md5 = "a18feedf6ffd0b0cc8c8b0fbdb2027b1";
     };
 
     meta = {
@@ -4721,7 +5966,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = "https://launchpad.net/pygpgme";
       description = "A Python wrapper for the GPGME library.";
-      license = pkgs.lib.licenses.lgpl21;
+      license = licenses.lgpl21;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
@@ -4746,7 +5991,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = https://github.com/seb-m/pyinotify/wiki;
       description = "Monitor filesystems events on Linux platforms with inotify";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -4769,26 +6014,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ urlgrabber ];
 
     checkPhase = ''
+      export PYTHONPATH="$PYTHONPATH:."
       ${python}/bin/${python.executable} tests/baseclass.py -vv
     '';
 
     meta = {
       homepage = "http://fedoraproject.org/wiki/Pykickstart";
       description = "Read and write Fedora kickstart files";
-      license = pkgs.lib.licenses.gpl2Plus;
+      license = licenses.gpl2Plus;
     };
   };
 
 
   pyodbc = buildPythonPackage rec {
-    name = "pyodbc-3.0.6";
+    name = "pyodbc-3.0.7";
 
     src = fetchurl {
       url = "https://pyodbc.googlecode.com/files/${name}.zip";
-      sha256 = "0v9nymllw5zq5294rqp8ip3l0g6l3l3mljwhxn5jajyzxlnz39z5";
+      sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq";
     };
 
-    buildInputs = [ pkgs.unzip pkgs.libiodbc ];
+    buildInputs = [ pkgs.libiodbc ];
 
     meta = with stdenv.lib; {
       description = "Python ODBC module to connect to almost any database";
@@ -4801,11 +6047,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyparsing = buildPythonPackage rec {
-    name = "pyparsing-1.5.6";
+    name = "pyparsing-2.0.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyparsing/${name}.tar.gz";
-      md5 = "1e41cb219dae9fc353bd4cd47636b283";
+      sha256 = "1r742rjbagf2i166k2w0r192adfw7l9lnsqz7wh4mflf00zws1q0";
     };
 
     # error: invalid command 'test'
@@ -4832,7 +6078,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sed -i -e '
         s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path|
       ' tests/test__ped_ped.py
-    '' + pkgs.lib.optionalString stdenv.isi686 ''
+    '' + optionalString stdenv.isi686 ''
       # remove some integers in this test case which overflow on 32bit systems
       sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \
         tests/test__ped_ped.py
@@ -4847,7 +6093,8 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ pkgs.parted ];
 
     checkPhase = ''
-      ${python}/bin/${python.executable} -m unittest discover -v
+      patchShebangs Makefile
+      make test PYTHON=${python.executable}
     '';
 
     meta = {
@@ -4872,6 +6119,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  pyro3 = buildPythonPackage (rec {
+    name = "Pyro-3.16";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz";
+      md5 = "59d4d3f4a8786776c9d7f9051b8f1a69";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Distributed object middleware for Python (IPC/RPC)";
+      homepage = http://pythonhosted.org/Pyro/;
+      license = licenses.mit;
+      platforms = platforms.unix;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  });
+
   pyrss2gen = buildPythonPackage (rec {
     name = "PyRSS2Gen-1.0.0";
 
@@ -4888,6 +6152,36 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  python_fedora = buildPythonPackage (rec {
+    name = "python-fedora-0.3.33";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://fedorahosted.org/releases/p/y/python-fedora/${name}.tar.gz";
+      sha256 = "1g05bh7d5d0gzrlnhpnca7jpqbgs2rgnlzzbvzzxmdbmlkqi3mws";
+    };
+    propagatedBuildInputs = [ kitchen requests bunch paver ];
+    doCheck = false;
+  });
+
+  python_keyczar = buildPythonPackage rec {
+    name = "python-keyczar-0.71c";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/p/python-keyczar/${name}.tar.gz";
+      sha256 = "18mhiwqq6vp65ykmi8x3i5l3gvrvrrr8z2kv11z1rpixmyr7sw1p";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Toolkit for safe and simple cryptography";
+      homepage    = https://pypi.python.org/pypi/python-keyczar;
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    buildInputs = [ pyasn1 pycrypto ];
+  };
 
   pyudev = buildPythonPackage rec {
     name = "pyudev-${version}";
@@ -4951,11 +6245,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
   ldap = buildPythonPackage rec {
-    name = "ldap-2.4.10";
+    name = "ldap-2.4.15";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/p/python-ldap/${name}.tar.gz";
-      sha256 = "0m6fm2alcb5v9xdcjv2nw2lhz9nnd3mnr5lrmf397hi4pw0pik37";
+      url = "http://pypi.python.org/packages/source/p/python-ldap/python-${name}.tar.gz";
+      sha256 = "0w0nn5yj0nbbkvpbqgfni56v7sjx6jf6s6zvp9zmahyrvqrsrg1h";
     };
 
     NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl}/include/sasl";
@@ -4985,11 +6279,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pymacs = pkgs.stdenv.mkDerivation rec {
-    version = "v0.25";
+    version = "0.25";
     name = "Pymacs-${version}";
 
     src = fetchurl {
-      url = "https://github.com/pinard/Pymacs/tarball/${version}";
+      url = "https://github.com/pinard/Pymacs/tarball/v${version}";
       name = "${name}.tar.gz";
       sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i";
     };
@@ -5008,20 +6302,26 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-
   pyopengl =
-    let version = "3.0.0b5";
+    let version = "3.0.2";
     in
       buildPythonPackage {
         name = "pyopengl-${version}";
 
         src = fetchurl {
-          url = "mirror://sourceforge/pyopengl/PyOpenGL-${version}.tar.gz";
-          sha256 = "1rjpl2qdcqn4wamkik840mywdycd39q8dn3wqfaiv35jdsbifxx3";
+          url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz";
+          sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03";
         };
 
         propagatedBuildInputs = with pkgs; [ mesa freeglut pil ];
 
+        patchPhase = ''
+          sed -i "s|util.find_library( name )|name|" OpenGL/platform/ctypesloader.py
+          sed -i "s|'GL',|'libGL.so',|" OpenGL/platform/glx.py
+          sed -i "s|'GLU',|'${pkgs.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py
+          sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py
+        '';
+
         meta = {
           homepage = http://pyopengl.sourceforge.net/;
           description = "PyOpenGL, the Python OpenGL bindings";
@@ -5050,6 +6350,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ cssselect lxml ];
   };
 
+  pyrax = buildPythonPackage rec {
+    name = "pyrax-1.8.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyrax/${name}.tar.gz";
+      sha256 = "0hvim60bhgfj91m7pp8jfmb49f087xqlgkqa505zw28r7yl0hcfp";
+    };
+
+    meta = {
+      homepage    = "https://github.com/rackspace/pyrax";
+      license     = "MIT";
+      description = "Python API to interface with Rackspace";
+    };
+
+    doCheck = false;
+  };
+
 
   pyreport = buildPythonPackage (rec {
     name = "pyreport-0.3.4c";
@@ -5071,11 +6388,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyserial = buildPythonPackage rec {
-    name = "pyserial-2.6";
+    name = "pyserial-2.7";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyserial/${name}.tar.gz";
-      md5 = "cde799970b7c1ce1f7d6e9ceebe64c98";
+      sha256 = "3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477";
     };
 
     doCheck = false;
@@ -5087,13 +6404,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  pysphere = buildPythonPackage rec {
+    name = "pysphere-0.1.8";
+
+    src = fetchurl {
+      url = "http://pysphere.googlecode.com/files/${name}.zip";
+      md5 = "c57cba33626ac4b1e3d1974923d59232";
+    };
+
+    meta = {
+      homepage    = "https://code.google.com/p/pysphere/";
+      license     = "BSD";
+      description = "Python API for interaction with the VMWare vSphere";
+    };
+  };
 
   pysqlite = buildPythonPackage (rec {
-    name = "pysqlite-2.5.5";
+    name = "pysqlite-2.6.3";
 
     src = fetchurl {
-      url = "http://pysqlite.googlecode.com/files/${name}.tar.gz";
-      sha256 = "ef7ca7f44893790e1a7084b10ea083770e138689406fddc7076d12d6bff4d44f";
+      url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz";
+      sha256 = "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y";
     };
 
     # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files
@@ -5143,11 +6474,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pysvn = pkgs.stdenv.mkDerivation {
-    name = "pysvn-1.7.6";
+    name = "pysvn-1.7.8";
 
     src = fetchurl {
-      url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.6.tar.gz";
-      sha256 = "0wwb9h3rw2r8hzqya8mv5z8pgjpa6y3i15a3cccdv2mil44289a7";
+      url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz";
+      sha256 = "1qk7af0laby1f79bd07l9p0dxn5xmcmfwlcb9l1hk29zwwq6x4v0";
     };
 
     buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
@@ -5156,7 +6487,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     # There seems to be no way to pass that path to configure.
     NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1";
 
-    configurePhase = ''
+    preConfigure = ''
       cd Source
       python setup.py backport
       python setup.py configure \
@@ -5188,11 +6519,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pytz = buildPythonPackage rec {
-    name = "pytz-2012c";
+    name = "pytz-2013.9";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2";
-      md5 = "660e0cee7f6c419ca2665db460f65131";
+      md5 = "ec7076947a46a8a3cb33cbf2983a562c";
     };
 
     meta = {
@@ -5231,7 +6562,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
       homepage = http://allmydata.org/trac/pyutil;
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
     };
   });
 
@@ -5246,7 +6577,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     buildInputs = with pkgs; [
-      pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkit_gtk2 icu
+      pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkitgtk2 icu
     ];
 
     meta = {
@@ -5278,14 +6609,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyyaml = buildPythonPackage (rec {
-    name = "PyYAML-3.09";
+    name = "PyYAML-3.10";
 
     src = fetchurl {
-      url = "http://pyyaml.org/download/pyyaml/PyYAML-3.09.zip";
-      sha256 = "204aca8b42dbe90e460794d743dd16182011da85507bfd4f092f9f76e0688040";
+      url = "http://pyyaml.org/download/pyyaml/${name}.zip";
+      sha256 = "1r127fa354ppb667f4acxlzwxixap1jgzjrr790bw8mcpxv2hqaa";
     };
 
-    buildInputs = [ pkgs.unzip pkgs.pyrex ];
+    buildInputs = [ pkgs.pyrex ];
     propagatedBuildInputs = [ pkgs.libyaml ];
 
     meta = {
@@ -5312,7 +6643,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   reportlab =
-   let freetype = pkgs.lib.overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; });
+   let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; });
    in buildPythonPackage rec {
     name = "reportlab-2.5";
 
@@ -5348,6 +6679,21 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  requests2 = buildPythonPackage rec {
+    name = "requests-2.2.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz";
+      md5 = "ac27081135f58d1a43e4fb38258d6f4e";
+    };
+
+    meta = {
+      description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings..";
+      homepage = http://docs.python-requests.org/en/latest/;
+    };
+  };
+
+
   requests_oauthlib = buildPythonPackage rec {
     name = "requests-oauthlib-0.3.2";
 
@@ -5396,6 +6742,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  redis = buildPythonPackage rec {
+    name = "redis-2.9.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/redis/${name}.tar.gz";
+      sha256 = "1r7lrh4kxccyhr4pyp13ilymmvh22pi7aa9514dmnhi74zn4g5xg";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "Python client for Redis key-value store";
+      homepage = "https://pypi.python.org/pypi/redis/";
+    };
+  };
+
+
   requests_oauth2 = buildPythonPackage rec {
     name = "requests-oauth2-0.1.1";
 
@@ -5446,6 +6809,105 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+
+  robotframework = buildPythonPackage rec {
+    version = "2.8.5";
+    name = "robotframework-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz";
+      sha256 = "0rzdn2gvmcrxs2fvxm11h55w4j5pv0lf443fc4hl8kzwjwgjckga";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Generic test automation framework";
+      homepage = http://robotframework.org/;
+      license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
+  robotframework-selenium2library = buildPythonPackage rec {
+    version = "1.5.0";
+    name = "robotframework-selenium2library-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/robotframework-selenium2library/${name}.tar.gz";
+      sha256 = "0hjmar9766jqfpbckac8zncyal546vm059wnkbn33f68djdcnwz1";
+    };
+
+    # error: invalid command 'test'
+    #doCheck = false;
+
+    propagatedBuildInputs = [ robotframework selenium docutils decorator ];
+
+    meta = with stdenv.lib; {
+      description = "";
+      homepage = http://robotframework.org/;
+      license = licenses.asl20;
+    };
+  };
+
+
+  robotsuite = buildPythonPackage rec {
+    version = "1.4.2";
+    name = "robotsuite-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/robotsuite/${name}.zip";
+      sha256 = "0sw09vrvwv3gzqb6jvhbrz09l6nzzj3i9av34qjddqfwq7cr1bla";
+    };
+
+    # error: invalid command 'test'
+    #doCheck = false;
+
+    buildInputs = [ unittest2 ];
+    propagatedBuildInputs = [ robotframework lxml ];
+
+    meta = with stdenv.lib; {
+      description = "Python unittest test suite for Robot Framework";
+      homepage = http://github.com/collective/robotsuite/;
+      license = licenses.gpl3;
+    };
+  };
+
+
+  robotframework-ride = buildPythonPackage rec {
+    version = "1.2.3";
+    name = "robotframework-ride-${version}";
+
+    src = fetchurl {
+      url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz";
+      sha256 = "1lf5f4x80f7d983bmkx12sxcizzii21kghs8kf63a1mj022a5x5j";
+    };
+
+    propagatedBuildInputs = [ pygments wxPython modules.sqlite3 ];
+
+    # ride_postinstall.py checks that needed deps are installed and creates a
+    # desktop shortcut. We don't really need it and it clutters up bin/ so
+    # remove it.
+    postInstall = ''
+      rm -f "$out/bin/ride_postinstall.py"
+    '';
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Light-weight and intuitive editor for Robot Framework test case files";
+      homepage = https://code.google.com/p/robotframework-ride/;
+      license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
   rope = buildPythonPackage rec {
     version = "0.9.4";
     name = "rope-${version}";
@@ -5519,22 +6981,90 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  rpkg = buildPythonPackage (rec {
+    name = "rpkg-1.14";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://fedorahosted.org/releases/r/p/rpkg/rpkg-1.14.tar.gz";
+      sha256 = "0d053hdjz87aym1sfm6c4cxmzmy5g0gkrmrczly86skj957r77a7";
+    };
+
+    patches = [ ../development/python-modules/rpkg-buildfix.diff ];
+
+    # buildPhase = "python setup.py build";
+    # doCheck = false;
+    propagatedBuildInputs = [ pycurl koji GitPython pkgs.git
+                              pkgs.rpm pkgs.pyopenssl ];
+
+  });
+
+  rpyc = buildPythonPackage rec {
+    name = "rpyc-${version}";
+    version = "3.3.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/rpyc/${name}.tar.gz";
+      md5 = "6931cb92c41f547591b525142ccaeef1";
+    };
+
+    propagatedBuildInputs = [ nose plumbum ];
+
+    meta = {
+      description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";
+      homepage = http://rpyc.readthedocs.org;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  rsa = buildPythonPackage rec {
+    name = "rsa-3.1.2";
+
+    src = fetchurl {
+      url = "https://bitbucket.org/sybren/python-rsa/get/version-3.1.2.tar.bz2";
+      sha256 = "0ag2q4gaapi74x47q74xhcjzs4b7r2bb6zrj2an4sz5d3yd06cgf";
+    };
+
+    buildInputs = [ pythonPackages.pyasn1 ];
+
+    meta = {
+      homepage = http://stuvel.eu/rsa;
+      license = stdenv.lib.licenses.asl20;
+      description = "A pure-Python RSA implementation";
+    };
+  };
+
+  rtslib_fb = buildPythonPackage rec {
+    version = "2.1.fb43";
+    name = "rtslib-fb-${version}";
+
+    src = fetchurl {
+      url = "https://github.com/agrover/rtslib-fb/archive/v${version}.tar.gz";
+      sha256 = "1b59vyy12g6rix9l2fxx0hjiq33shkb79v57gwffs57vh74wc53v";
+    };
+
+    meta = {
+      description = "A Python object API for managing the Linux LIO kernel target";
+      homepage = "https://github.com/agrover/rtslib-fb";
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
 
   seqdiag = buildPythonPackage rec {
-    name = "seqdiag-0.8.2";
+    name = "seqdiag-0.9.0";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/s/seqdiag/${name}.tar.gz";
-      md5 = "61b3da29b5efaa89701b4db6d2d4d5fa";
+      md5 = "92946555ce219df18002e6c88b4055d3";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
 
     propagatedBuildInputs = [ blockdiag ];
 
-    # Some tests fail (because of missing input files?):
+    # Tests fail:
     #   ...
-    #   IOError: [Errno 2] No such file or directory: '/tmp/nix-build-python2.7-seqdiag-0.8.2.drv-0/seqdiag-0.8.2/src/seqdiag/tests/diagrams/separators.diag'
+    #   ERROR: Failure: OSError ([Errno 2] No such file or directory: '/tmp/nix-build-python2.7-seqdiag-0.9.0.drv-0/seqdiag-0.9.0/src/seqdiag/tests/diagrams/')
     doCheck = false;
 
     meta = with stdenv.lib; {
@@ -5558,16 +7088,17 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     buildInputs = [pkgs.gfortran];
     propagatedBuildInputs = [ numpy ];
 
-    # error: invalid command 'test'
-    doCheck = false;
-
     # TODO: add ATLAS=${pkgs.atlas}
-    installCommand = ''
+    preConfigure = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
+      sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
     '';
 
+    setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
+
+    # error: invalid command 'test'
+    doCheck = false;
+
     meta = {
       description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering. ";
       homepage = http://www.scipy.org/;
@@ -5576,15 +7107,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   scripttest = buildPythonPackage rec {
-    version = "1.1.1";
+    version = "1.3";
     name = "scripttest-${version}";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/S/ScriptTest/ScriptTest-${version}.tar.gz";
-      md5 = "592ce890764c3f546d35b4d7c40c32ef";
+      url = "http://pypi.python.org/packages/source/s/scripttest/scripttest-${version}.tar.gz";
+      md5 = "1d1c5117ccfc7b5961cae6c1020c0848";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = [ nose pytest ];
 
     meta = {
       description = "A library for testing interactive command-line applications";
@@ -5592,37 +7123,36 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-  selenium =
-    buildPythonPackage rec {
-      name = "selenium-2.35.0";
-      src = pkgs.fetchurl {
-        url = "http://pypi.python.org/packages/source/s/selenium/${name}.tar.gz";
-        sha256 = "0c8apd538ji8kmryvcdiz0dndf33mnf8wzpp9k8zmkpmfdfcwnk0";
-      };
+  selenium = buildPythonPackage rec {
+    name = "selenium-2.39.0";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/s/selenium/${name}.tar.gz";
+      sha256 = "1kisndzl9s0vs0a5paqx35hxq28id3xyi1gfsjaixsi6rs0ibhhh";
+    };
 
-      buildInputs = [pkgs.xlibs.libX11];
+    buildInputs = [pkgs.xlibs.libX11];
 
-      # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
-      # absolute paths. Replaced by relative path so it is found when used in nix.
-      x_ignore_nofocus =
-        pkgs.fetchsvn {
-          url = http://selenium.googlecode.com/svn/tags/selenium-2.25.0/cpp/linux-specific;
-          rev = 17641;
-          sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd";
-        };
+    # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
+    # absolute paths. Replaced by relative path so it is found when used in nix.
+    x_ignore_nofocus =
+      pkgs.fetchsvn {
+        url = http://selenium.googlecode.com/svn/tags/selenium-2.25.0/cpp/linux-specific;
+        rev = 17641;
+        sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd";
+      };
 
-      preInstall = ''
-        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,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
-          -o x_ignore_nofocus.so \
-          x_ignore_nofocus.o \
-          ${if stdenv.isDarwin then "-lx11" else ""}
-        cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/
-      '';
-    };
+    preInstall = ''
+      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,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
+        -o x_ignore_nofocus.so \
+        x_ignore_nofocus.o \
+        ${if stdenv.isDarwin then "-lx11" else ""}
+      cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/
+    '';
+  };
 
   setuptoolsDarcs = buildPythonPackage {
     name = "setuptools-darcs-1.2.9";
@@ -5687,7 +7217,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
       homepage = http://code.google.com/p/simplejson/;
 
-      license = "MIT";
+      license = stdenv.lib.licenses.mit;
     };
   });
 
@@ -5699,7 +7229,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "93c93725674c0702583a638f5a09c9e4";
     };
 
-    propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh ];
+    propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh pytest ];
 
     meta = with stdenv.lib; {
       description = "Yet another simple static gallery generator";
@@ -5709,6 +7239,83 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  spambayes = buildPythonPackage rec {
+    name = "spambayes-1.1a6";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/spambayes/${name}.tar.gz";
+      sha256 = "0lqhn2v0avgwxmk4dq9lkwr2g39ls2p6x8hqk5w07wd462cjsx8l";
+    };
+
+    propagatedBuildInputs = [ pydns lockfile ];
+
+    meta = with stdenv.lib; {
+      description = "Statistical anti-spam filter, initially based on the work of Paul Graham";
+      homepage = http://spambayes.sourceforge.net/;
+    };
+  };
+
+  shapely = buildPythonPackage rec {
+    name = "Shapely-1.3.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/S/Shapely/${name}.tar.gz";
+      sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l";
+    };
+
+    buildInputs = [ pkgs.geos ];
+
+    preConfigure = ''
+      export LANG="en_US.UTF-8";
+    '' + stdenv.lib.optionalString stdenv.isLinux ''
+      export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive";
+    '';
+
+    patchPhase = ''
+      sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.so'])|" shapely/geos.py
+    '';
+
+    doCheck = false; # won't suceed for unknown reasons that look harmless, though
+
+    meta = with stdenv.lib; {
+      description = "Geometric objects, predicates, and operations";
+      homepage = "https://pypi.python.org/pypi/Shapely/";
+    };
+  };
+
+  stevedore = buildPythonPackage rec {
+    name = "stevedore-0.15";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/stevedore/${name}.tar.gz";
+      sha256 = "bec9269cbfa58de4f0849ec79bb7d54eeeed9df8b5fbfa1637fbc68062822847";
+    };
+
+    buildInputs = [ pbr pip ];
+
+    propagatedBuildInputs = [ setuptools ];
+
+    meta = {
+      description = "Manage dynamic plugins for Python applications";
+      homepage = "https://pypi.python.org/pypi/stevedore";
+      license = licenses.asl20;
+    };
+  };
+
+  pydns = buildPythonPackage rec {
+    name = "pydns-2.3.6";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pydns/${name}.tar.gz";
+      sha256 = "0qnv7i9824nb5h9psj0rwzjyprwgfiwh5s5raa9avbqazy5hv5pi";
+    };
+
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+    };
+  };
+
   sympy = buildPythonPackage rec {
     name = "sympy-0.7.3";
 
@@ -5812,7 +7419,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     # 4 failing tests
-    doCheck = false; 
+    doCheck = false;
 
     buildInputs = [ nose modules.curses ];
 
@@ -5855,11 +7462,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   six = buildPythonPackage rec {
-    name = "six-1.3.0";
+    name = "six-1.7.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/s/six/${name}.tar.gz";
-      md5 = "ec47fe6070a8a64c802363d2c2b1e2ee";
+      md5 = "784c6e5541c3c4952de9c0a966a0a80b";
     };
 
     # error: invalid command 'test'
@@ -5916,10 +7523,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests";
       homepage = https://github.com/atl/py-smartdc;
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
+  sorl_thumbnail = buildPythonPackage rec {
+    name = "sorl-thumbnail-11.12";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/sorl-thumbnail/${name}.tar.gz";
+      sha256 = "050b9kzbx7jvs3qwfxxshhis090hk128maasy8pi5wss6nx5kyw4";
+    };
+
+    # Disabled due to an improper configuration error when tested against django. This looks like something broken in the test cases for sorl.
+    doCheck = false;
+
+    meta = {
+      homepage = http://sorl-thumbnail.readthedocs.org/en/latest/;
+      description = "Thumbnails for Django";
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
 
   supervisor = buildPythonPackage rec {
     name = "supervisor-3.0";
@@ -5930,7 +7554,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     buildInputs = [ mock ];
-    propagatedBuildInputs = [ meld3  ];
+    propagatedBuildInputs = [ meld3 ];
+
+    # failing tests when building under chroot as root user doesn't exist
+    doCheck = false;
 
     meta = {
       description = "A system for controlling process state under UNIX";
@@ -5938,13 +7565,30 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  subprocess32 = buildPythonPackage rec {
+    name = "subprocess32-3.2.6";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz";
+      md5 = "754c5ab9f533e764f931136974b618f1";
+    };
+
+    doCheck = false;
+
+    meta = {
+      homepage = "https://pypi.python.org/pypi/subprocess32";
+      description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x.";
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
+
 
   sphinx = buildPythonPackage (rec {
-    name = "Sphinx-1.1.3";
+    name = "Sphinx-1.2";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz";
-      md5 = "8f55a6d4f87fc6d528120c5d1f983e98";
+      md5 = "8516046aad73fe46dedece4e8e434328";
     };
 
     propagatedBuildInputs = [docutils jinja2 pygments];
@@ -5996,46 +7640,44 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
-
-  sqlalchemy = buildPythonPackage rec {
-    name = "sqlalchemy-${version}";
-    version = "0.7.10";
-
+  sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+    name = "SQLAlchemy-0.7.10";
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-${version}.tar.gz";
+      url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.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 = [ modules.sqlite3 ];
 
-    meta = {
-      homepage = http://www.sqlalchemy.org/;
-      description = "A Python SQL toolkit and Object Relational Mapper";
+  sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+    name = "SQLAlchemy-0.8.5";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
+      md5 = "ecf0738eaf1229bae27ad2be0f9978a8";
     };
-  };
-
+  });
 
-  sqlalchemy8 = buildPythonPackage rec {
-    name = "SQLAlchemy-${version}";
-    version = "0.8.2";
+  sqlalchemy9 = buildPythonPackage rec {
+    name = "SQLAlchemy-0.9.3";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
-      md5 = "5a33fb43dea93468dbb2a6562ee80b54";
+      md5 = "a27989b9d4b3f14ea0b1600aa45559c4";
     };
 
     buildInputs = [ nose mock ];
 
     propagatedBuildInputs = [ modules.sqlite3 ];
 
+    checkPhase = ''
+      ${python.executable} sqla_nose.py
+    '';
+
     meta = {
       homepage = http://www.sqlalchemy.org/;
       description = "A Python SQL toolkit and Object Relational Mapper";
@@ -6053,15 +7695,21 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "051dd9de0757714d33c3ecd5ab37b97d";
     };
 
-    buildInputs = [ pytest webob pkgs.imagemagick ];
+    buildInputs = [ pytest webob pkgs.imagemagick nose ];
     propagatedBuildInputs = [ sqlalchemy8 wand ];
 
-    checkPhase = "cd tests && LD_LIBRARY_PATH=${pkgs.imagemagick}/lib py.test";
+    checkPhase = ''
+      cd tests
+      export MAGICK_HOME="${pkgs.imagemagick}"
+      export PYTHONPATH=$PYTHONPATH:../
+      py.test
+      cd ..
+    '';
 
     meta = {
       homepage = https://github.com/crosspop/sqlalchemy-imageattach;
       description = "SQLAlchemy extension for attaching images to entity objects";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -6107,7 +7755,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "A client for Etsy's node-js statsd server";
       homepage = https://github.com/WoLpH/python-statsd;
-      license = pkgs.lib.licenses.bsd3;
+      license = licenses.bsd3;
     };
   };
 
@@ -6127,18 +7775,18 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "Lightweight and extensible STOMP messaging client";
       homepage = http://bitbucket.org/hozn/stompclient;
-      license = pkgs.lib.licenses.asl20;
+      license = licenses.asl20;
     };
   });
 
 
   subunit = buildPythonPackage rec {
     name = "subunit-${version}";
-    version = "0.0.13";
+    version = "0.0.16";
 
     src = fetchurl {
       url = "https://launchpad.net/subunit/trunk/${version}/+download/python-${name}.tar.gz";
-      sha256 = "0f3xni4z1hbmg4dqxak85ibpf9pajxn6qzw1xj79gwnr8xxb66zj";
+      sha256 = "1ylla1wlmv29vdr76r5kgr7y21bz4ahi3v26mxsys42w90rfkahi";
     };
 
     propagatedBuildInputs = [ testtools ];
@@ -6146,10 +7794,34 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       description = "A streaming protocol for test results";
       homepage = https://launchpad.net/subunit;
-      license = pkgs.lib.licenses.asl20;
+      license = licenses.asl20;
     };
   };
 
+
+  sure = buildPythonPackage rec {
+    name = "sure-${version}";
+    version = "1.2.7";
+
+    # Not picking up from PyPI because it doesn't contain tests.
+    src = fetchgit {
+      url = "git://github.com/gabrielfalcao/sure.git";
+      rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a";
+      sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3";
+    };
+
+    buildInputs = [ nose ];
+
+    propagatedBuildInputs = [ six mock ];
+
+    meta = {
+      description = "Utility belt for automated testing";
+      homepage = "http://falcao.it/sure/";
+      license = licenses.gpl3Plus;
+    };
+  };
+
+
   # XXX: ValueError: ZIP does not support timestamps before 1980
   # svneverever =  buildPythonPackage rec {
   #   name = "svneverever-778489a8";
@@ -6165,6 +7837,46 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   #   doCheck = false;
   # };
 
+  targetcli_fb = buildPythonPackage rec {
+    version = "2.1.fb33";
+    name = "targetcli-fb-${version}";
+
+    src = fetchurl {
+      url = "https://github.com/agrover/targetcli-fb/archive/v${version}.tar.gz";
+      sha256 = "1zcm0agdpf866020b43fl8zyyyzz6r74mn1sz4xpaa0pinpwjk42";
+    };
+
+    propagatedBuildInputs = [
+      configshell_fb
+      rtslib_fb
+    ];
+
+    meta = {
+      description = "A command shell for managing the Linux LIO kernel target";
+      homepage = "https://github.com/agrover/targetcli-fb";
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+  tarsnapper = buildPythonPackage rec {
+    name = "tarsnapper-0.2.1";
+
+    src = fetchgit {
+      url = https://github.com/miracle2k/tarsnapper.git;
+      rev = "620439bca68892f2ffaba1079a34b18496cc6596";
+      sha256 = "06pp499qm2dxpja2jgmmq2jrcx3m4nq52x5hhil9r1jxvyiq962p";
+    };
+
+    propagatedBuildInputs = [ argparse pyyaml ];
+
+    patches = [ ../development/python-modules/tarsnapper-path.patch ];
+
+    preConfigure = ''
+      substituteInPlace src/tarsnapper/script.py \
+        --replace '@NIXTARSNAPPATH@' '${pkgs.tarsnap}/bin/tarsnap'
+    '';
+  };
+
   taskcoach = buildPythonPackage rec {
     name = "TaskCoach-1.3.22";
 
@@ -6189,7 +7901,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://taskcoach.org/;
       description = "Todo manager to keep track of personal tasks and todo lists";
-      license = "GPLv3+";
+      license = stdenv.lib.licenses.gpl3Plus;
     };
   };
 
@@ -6213,19 +7925,19 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   testtools = buildPythonPackage rec {
     name = "testtools-${version}";
-    version = "0.9.32";
+    version = "0.9.34";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz";
-      sha256 = "1smgk3y7xfzh5xk5wydb6n5lx4g5i6y4w8ajrdnskx1jqr67wyyq";
+      sha256 = "0s6sn9h26dif2c9sayf875x622kq8jb2f4qbc6if7gwh2sssgicn";
     };
 
-    propagatedBuildInputs = [ pythonPackages.python_mimeparse pythonPackages.extras ];
+    propagatedBuildInputs = [ pythonPackages.python_mimeparse pythonPackages.extras lxml ];
 
     meta = {
       description = "A set of extensions to the Python standard library's unit testing framework";
       homepage = http://pypi.python.org/pypi/testtools;
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
     };
   };
 
@@ -6245,7 +7957,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     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;
+      license = licenses.mit;
     };
   };
 
@@ -6265,25 +7977,54 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     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;
+      license = licenses.mit;
     };
   };
 
+  tmdb3 = buildPythonPackage rec {
+    name = "tmdb3-${version}";
+    version = "0.6.17";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/tmdb3/${name}.zip";
+      md5 = "cd259427454472164c9a2479504c9cbb";
+    };
+
+    meta = {
+      description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information.";
+      homepage = http://pypi.python.org/pypi/tmdb3;
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
 
   # 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
-  # tox = buildPythonPackage rec {
-  #   name = "tox-1.4.3";
-  #
-  #   buildInputs = [ py virtualenv ];
+  # Installs correctly but fails tests that involve simple things like:
+  # cmd.run("tox", "-h")
+  # also, buildPythonPackage needs to supply the tox.ini correctly for projects that use tox for their tests
   #
-  #   src = fetchurl {
-  #     url = "https://pypi.python.org/packages/source/t/tox/tox-1.4.3.tar.gz";
-  #     md5 = "3727d5b0600d92edf2229a7ce6a0f752";
-  #   };
-  # };
 
+  tox = buildPythonPackage rec {
+    name = "tox-1.7.2";
+  
+    propagatedBuildInputs = [ py virtualenv ];
+
+    doCheck = false;
+  
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz";
+      md5 = "0d9b3acb1a9252659d753b0ae6b9b264";
+    };
+  };
+
+  smmap = buildPythonPackage rec {
+    name = "smmap-0.8.2";
+    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/smmap/${name}.tar.gz";
+      sha256 = "0vrdgr6npmajrv658fv8bij7zgm5jmz2yxkbv8kmbv25q1f9b8ny";
+    };
+  };
 
   trac = buildPythonPackage {
     name = "trac-1.0.1";
@@ -6326,6 +8067,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  transmissionrpc = buildPythonPackage rec {
+    name = "transmissionrpc-${version}";
+    version = "0.11";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/transmissionrpc/${name}.tar.gz";
+      md5 = "b2f918593e509f0e66e2e643291b436d";
+    };
+
+    propagatedBuildInputs = [ six ];
+
+    meta = {
+      description = "Python implementation of the Transmission bittorent client RPC protocol.";
+      homepage = http://pypi.python.org/pypi/transmissionrpc/;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 
   eggdeps  = buildPythonPackage rec {
      name = "eggdeps-${version}";
@@ -6336,6 +8094,9 @@ pythonPackages = modules // import ./python-packages-generated.nix {
        md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7";
      };
 
+     # tests fail, see http://hydra.nixos.org/build/4316603/log/raw
+     doCheck = false;
+
      propagatedBuildInputs = [ zope_interface zope_testing ];
      meta = {
        description = "A tool which computes a dependency graph between active Python eggs";
@@ -6346,11 +8107,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   turses = buildPythonPackage (rec {
-    name = "turses-0.2.13";
+    name = "turses-0.2.22";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
-      sha256 = "0sygm40z04zifcfqwby8wwwnj3i1bpl41r7xgnjcipxwirjmnp2k";
+      sha256 = "1dqgvdqly4c4d6819mbkqy4g8r7zch4dkmxicfwck7q8h96wmyx3";
     };
 
     propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
@@ -6362,35 +8123,37 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = "https://github.com/alejandrogomez/turses";
       description = "A Twitter client for the console.";
-      license = pkgs.lib.licenses.gpl3;
+      license = licenses.gpl3;
       maintainers = [ stdenv.lib.maintainers.garbas ];
       platforms = stdenv.lib.platforms.linux;
     };
   });
 
   tweepy = buildPythonPackage (rec {
-    name = "tweepy-2.0";
+    name = "tweepy-2.3.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz";
-      sha256 = "1b95xcw11b5871gd4br78hxbvcq8y9f0i0sqga85dgg9hnmvdcx0";
+      sha256 = "0wcj5g21brcqr1g7m4by4rs72lfiib4scg19qynn2wz1x77jyrzp";
     };
 
     meta = {
       homepage = "https://github.com/tweepy/tweepy";
       description = "Twitter library for python";
-      license = pkgs.lib.licenses.mit;
+      license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
       platforms = stdenv.lib.platforms.linux;
     };
   });
 
   twisted = buildPythonPackage rec {
-    name = "twisted-10.2.0";
+    # NOTE: When updating please check if new versions still cause issues
+    # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem)
 
+    name = "Twisted-11.1.0";
     src = fetchurl {
-      url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
-      sha256 = "110c30z622jn14yany1sxfaqj5qx20n9rc9zqacxlwma30fdcbjn";
+      url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2";
+      sha256 = "05agfp17cndhv2w0p559lvknl7nv0xqkg10apc47fm53m8llbfvz";
     };
 
     propagatedBuildInputs = [ zope_interface ];
@@ -6411,7 +8174,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
         and licensed under the MIT license.
       '';
 
-      license = "MIT";
+      license = licenses.mit;
 
       maintainers = [ ];
     };
@@ -6432,6 +8195,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
            md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
          };
 
+    preConfigure = ''
+      sed -i 's/unittest2py3k/unittest2/' setup.py
+    '';
+
     meta = {
       description = "A backport of the new features added to the unittest testing framework in Python 2.7";
       homepage = http://pypi.python.org/pypi/unittest2;
@@ -6454,7 +8221,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     meta = {
       homepage = "urlgrabber.baseurl.org";
-      license = "LGPLv2+";
+      license = stdenv.lib.licenses.lgpl2Plus;
       description = "Python module for downloading files";
       maintainers = [ stdenv.lib.maintainers.qknight ];
     };
@@ -6462,29 +8229,30 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   urwid = buildPythonPackage (rec {
-    name = "urwid-1.1.1";
+    name = "urwid-1.2.1";
 
     # multiple:  NameError: name 'evl' is not defined
     doCheck = false;
 
     src = fetchurl {
-      url = "http://excess.org/urwid/${name}.tar.gz";
-      md5 = "eca2e0413cf7216b01c84b99e0f2576d";
+      url = "https://pypi.python.org/packages/source/u/urwid/${name}.tar.gz";
+      md5 = "6a05ada11b87e7b026b01fc5150855b0";
     };
 
     meta = {
       description = "A full-featured console (xterm et al.) user interface library";
       homepage = http://excess.org/urwid;
-      license = pkgs.lib.licenses.lgpl21;
+      repositories.git = git://github.com/wardi/urwid.git;
+      license = licenses.lgpl21;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   });
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-1.10";
+    name = "virtualenv-1.11.6";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz";
-      md5 = "9745c28256c70c76d36adb3767a00212";
+      md5 = "f61cdd983d2c4e6aeabb70b1060d6f49";
     };
 
     inherit recursivePthLoader;
@@ -6506,12 +8274,80 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  virtualenv-clone = buildPythonPackage rec {
+    name = "virtualenv-clone-0.2.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/v/virtualenv-clone/${name}.tar.gz";
+      md5 = "71168b975eaaa91e65559bcc79290b3b";
+    };
+
+    buildInputs = [pytest];
+    propagatedBuildInputs = [virtualenv];
+
+    # needs tox to run the tests
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Script to clone virtualenvs";
+      license = licenses.mit;
+      platforms = platforms.all;
+    };
+  };
+
+  virtualenvwrapper = buildPythonPackage (rec {
+    name = "virtualenvwrapper-4.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/v/virtualenvwrapper/${name}.tar.gz";
+      sha256 = "514cbc22218347bf7b54bdbe49e1a5f550d2d53b1ad2491c10e91ddf48fb528f";
+    };
+
+    # pip depend on $HOME setting
+    preConfigure = "export HOME=$TMPDIR";
+
+    buildInputs = [ pbr pip pkgs.which ];
+    propagatedBuildInputs = [ stevedore virtualenv virtualenv-clone ];
+
+    patchPhase = ''
+      substituteInPlace "virtualenvwrapper.sh" --replace "which" "${pkgs.which}/bin/which"
+      substituteInPlace "virtualenvwrapper_lazy.sh" --replace "which" "${pkgs.which}/bin/which"
+    '';
+
+    postInstall = ''
+      # This might look like a dirty hack but we can't use the makeWrapper function because
+      # the wrapped file were then called via "exec". The virtualenvwrapper shell scripts
+      # aren't normal executables. Instead, the user has to evaluate them.
+
+      for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do
+        local wrapper="$out/bin/$file"
+        local wrapped="$out/bin/.$file-wrapped"
+        mv "$wrapper" "$wrapped"
+
+        cat > "$wrapper" <<- EOF
+	export PATH=$PATH:\$PATH
+	export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out):\$PYTHONPATH
+	source "$wrapped"
+	EOF
+
+        chmod -x "$wrapped"
+        chmod +x "$wrapper"
+      done
+    '';
+
+    meta = {
+      description = "Enhancements to virtualenv";
+      homepage = "https://pypi.python.org/pypi/virtualenvwrapper";
+      license = licenses.mit;
+    };
+  });
+
   waitress = buildPythonPackage rec {
-    name = "waitress-0.8.5";
+    name = "waitress-0.8.7";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz";
-      md5 = "7a3094d812c0dffb948d1334ef5fd56f";
+      md5 = "714f3d458d82a47f12fb168460de8366";
     };
 
     doCheck = false;
@@ -6565,12 +8401,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   webob = buildPythonPackage rec {
-    version = "1.2.3";
+    version = "1.3.1";
     name = "webob-${version}";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.tar.gz";
-      md5 = "11825b7074ba7043e157805e4e6e0f55";
+      md5 = "20918251c5726956ba8fef22d1556177";
     };
 
     propagatedBuildInputs = [ nose modules.ssl ];
@@ -6602,26 +8438,25 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   webtest = buildPythonPackage rec {
-    version = "2.0.3";
+    version = "2.0.11";
     name = "webtest-${version}";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip";
-      md5 = "a1266d4db421963fd3deb172c6689e4b";
+      md5 = "e51da21da8815cef07f543d8688effea";
     };
 
-    buildInputs = [ pkgs.unzip ] ++ optionals isPy26 [ pythonPackages.ordereddict ];
-
     # XXX: skipping two tests fails in python2.6
     doCheck = ! isPy26;
 
+    buildInputs = optionals isPy26 [ pythonPackages.ordereddict unittest2 ];
+
     propagatedBuildInputs = [
       nose
       webob
       six
       beautifulsoup4
       waitress
-      unittest2
       mock
       pyquery
       wsgiproxy2
@@ -6631,20 +8466,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     meta = {
       description = "Helper to test WSGI applications";
-      homepage = http://pythonpaste.org/webtest/;
+      homepage = http://webtest.readthedocs.org/en/latest/;
       platforms = stdenv.lib.platforms.all;
     };
   };
 
 
   werkzeug = buildPythonPackage {
-    name = "werkzeug-0.8.3";
+    name = "werkzeug-0.9.4";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.8.3.tar.gz";
-      md5 = "12aa03e302ce49da98703938f257347a";
+      url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.9.4.tar.gz";
+      md5 = "670fad41f57c13b71a6816765765a3dd";
     };
 
+    propagatedBuildInputs = [ itsdangerous ];
+
+    doCheck = false;            # tests fail, not sure why
+
     meta = {
       homepage = http://werkzeug.pocoo.org/;
       description = "A WSGI utility library for Python";
@@ -6655,7 +8494,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   wokkel = buildPythonPackage (rec {
     url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz";
-    name = pkgs.lib.nameFromURL url ".tar";
+    name = nameFromURL url ".tar";
     src = fetchurl {
       inherit url;
       sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
@@ -6700,6 +8539,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     wxGTK = pkgs.wxGTK28;
   };
 
+  wxPython30 = import ../development/python-modules/wxPython/3.0.nix {
+    inherit (pkgs) stdenv fetchurl pkgconfig;
+    inherit pythonPackages;
+    wxGTK = pkgs.wxGTK30;
+  };
+
   xe = buildPythonPackage rec {
     url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz";
     name = stdenv.lib.nameFromURL url ".tar";
@@ -6735,7 +8580,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
       homepage = http://python-xlib.sourceforge.net/;
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
     };
   });
 
@@ -6764,11 +8609,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   zconfig = buildPythonPackage rec {
     name = "zconfig-${version}";
-    version = "2.9.3";
+    version = "3.0.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/Z/ZConfig/ZConfig-${version}.tar.gz";
-      md5 = "2c5f73c216140a705be3d9c44b988722";
+      md5 = "60a107c5857c3877368dfe5930559804";
     };
 
     propagatedBuildInputs = [ zope_testrunner ];
@@ -6821,11 +8666,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   zfec = buildPythonPackage (rec {
-    name = "zfec-1.4.7";
+    name = "zfec-1.4.24";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz";
-      sha256 = "3335c9054f45e2c59188400e892634b68761b29d06f3cafe525c60484902d379";
+      sha256 = "1ks94zlpy7n8sb8380gf90gx85qy0p9073wi1wngg6mccxp9xsg3";
     };
 
     buildInputs = [ setuptoolsDarcs ];
@@ -6845,7 +8690,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
         and Haskell API.
       '';
 
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
     };
   });
 
@@ -6878,7 +8723,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "eff24d7918099a3e899ee63a9c31bee6";
     };
 
-    buildInputs = [ pkgs.unzip zope_interface ];
+    buildInputs = [ zope_interface ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -6894,8 +8739,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "4ff0ddbf64c45bfcc3189e35f4214ded";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     propagatedBuildInputs = [ zope_interface ];
 
     meta = {
@@ -6970,8 +8813,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "c6ac80e6887de4108a383f349fbdf332";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
@@ -7102,8 +8943,8 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ zope_proxy ];
 
     # ignore circular dependency on zope_schema
-    installCommand = ''
-      easy_install --always-unzip --no-deps --prefix="$out" .
+    preBuild = ''
+      sed -i '/zope.schema/d' setup.py
     '';
 
     doCheck = false;
@@ -7156,12 +8997,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "e7e581af8193551831560a736a53cf58";
     };
 
-    propagatedBuildInputs = [ zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
-
-    # ignore circular dependency on zope_location
-    installCommand = ''
-      easy_install  --no-deps --prefix="$out" .
-    '';
+    propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -7205,14 +9041,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   zope_sqlalchemy = buildPythonPackage rec {
-    name = "zope.sqlalchemy-0.7.2";
+    name = "zope.sqlalchemy-0.7.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip";
-      md5 = "b654e5d144ed141e13b42591a21a4868";
+      md5 = "8b317b41244fc2e67f2f286890ba59a0";
     };
 
-    buildInputs = [ pkgs.unzip sqlalchemy zope_testing zope_interface setuptools ];
+    buildInputs = [ sqlalchemy zope_testing zope_interface setuptools ];
     propagatedBuildInputs = [ sqlalchemy transaction ];
 
     meta = {
@@ -7234,7 +9070,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "01c30c342c6a18002a762bd5d320a6e9";
     };
 
-    buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ];
 
     meta = {
@@ -7255,9 +9090,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "1d689abad000419891494b30dd7d8190";
     };
 
-    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit;
 
-    propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing six ];
+    # a test is failing
+    doCheck = false;
 
     meta = {
       description = "A flexible test runner with layer support";
@@ -7276,8 +9112,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "eaad8fc7bbef126f9f8616b074ec00aa";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
     propagatedBuildInputs = [ zope_location zope_security zope_publisher ];
 
     meta = {
@@ -7325,11 +9159,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   cliapp = buildPythonPackage rec {
     name = "cliapp-${version}";
-    version = "1.20130313";
+    version = "1.20140719";
 
     src = fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz";
-      sha256 = "0rk13a68668gsrv6yqgzqxskffqnlyjar4qav6k5iyrp77amn7qm";
+      sha256 = "0kxl2q85n4ggvbw2m8crl11x8n637mx6y3a3b5ydw8nhlsiqijgp";
     };
 
     buildInputs = [ sphinx ];
@@ -7346,15 +9180,37 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   tornado = buildPythonPackage rec {
-    name = "tornado-2.4";
+    name = "tornado-3.2";
+
+    propagatedBuildInputs = [ backports_ssl_match_hostname_3_4_0_2 ];
+
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/t/tornado/tornado-2.4.tar.gz";
-      md5 = "c738af97c31dd70f41f6726cf0968941";
+      url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz";
+      md5 = "bd83cee5f1a5c5e139e87996d00b251b";
     };
+
     doCheck = false;
   };
 
 
+  tornadokick = buildPythonPackage rec {
+    name = "tornadokick-2014.07.23";
+
+    propagatedBuildInputs = [ tornado ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/tornadokick/${name}.tar.gz";
+      md5 = "201d26de2993a554b16140af3b4ee1b6";
+    };
+
+    meta = {
+      description = "The TornadoKick Web Toolkit for Tornado Web Framework.";
+      homepage = http://github.com/multoncore/tornadokick;
+      license = stdenv.lib.licenses.asl20;
+    };
+  };
+
+
   tarman = buildPythonPackage rec {
     version = "0.1.3";
     name = "tarman-${version}";
@@ -7364,7 +9220,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h";
     };
 
-    buildInputs = [ pkgs.unzip unittest2 nose mock ];
+    buildInputs = [ unittest2 nose mock ];
     propagatedBuildInputs = [ modules.curses libarchive ];
 
     # tests are still failing
@@ -7373,12 +9229,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   libarchive = buildPythonPackage rec {
-    version = "3.0.4-5";
+    version = "3.1.2-1";
     name = "libarchive-${version}";
 
     src = fetchurl {
       url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz";
-      sha256 = "141yx9ym8gvybn67mw0lmgafzsd79rmd9l77lk0k6m2fzclqx1j5";
+      sha256 = "0j4ibc4mvq64ljya9max8832jafi04jciff9ia9qy0xhhlwkcx8x";
     };
 
     propagatedBuildInputs = [ pkgs.libarchive ];
@@ -7391,17 +9247,17 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/p/pyzmq/pyzmq-13.0.0.zip";
       md5 = "fa2199022e54a393052d380c6e1a0934";
     };
-    buildInputs = [ pkgs.unzip pkgs.zeromq3 ];
+    buildInputs = [ pkgs.zeromq3 ];
     propagatedBuildInputs = [  ];
     doCheck = false;
   };
 
 
   tissue = buildPythonPackage rec {
-    name = "tissue-0.7";
+    name = "tissue-0.9.2";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/tissue/${name}.tar.gz";
-      md5 = "c9f3772407eb7499a949daaa9b859fdf";
+      md5 = "87dbcdafff41bfa1b424413f79aa9153";
     };
 
     buildInputs = [ nose ];
@@ -7418,11 +9274,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   tracing = buildPythonPackage rec {
-    name = "tracing-0.7";
+    name = "tracing-${version}";
+    version = "0.8";
 
     src = fetchurl rec {
-      url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_0.7.orig.tar.gz";
-      sha256 = "9954a1b0cc6b957d15975b048f929bbdd46766d397a6fa51bf8f6498b9459276";
+      url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_${version}.orig.tar.gz";
+      sha256 = "1l4ybj5rvrrcxf8csyq7qx52izybd502pmx70zxp46gxqm60d2l0";
     };
 
     buildInputs = [ sphinx ];
@@ -7457,11 +9314,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   ttystatus = buildPythonPackage rec {
     name = "ttystatus-${version}";
-    version = "0.22";
+    version = "0.23";
 
     src = fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_${version}.orig.tar.gz";
-      sha256 = "1hzv0sbrvgcmafflhvzh7plci0dg7wcjlk39i8kqdasg6rw0ag6f";
+      sha256 = "0ymimviyjyh2iizqilg88g4p26f5vpq1zm3cvg7dr7q4y3gmik8y";
     };
 
     buildInputs = [ sphinx ];
@@ -7478,11 +9335,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   larch = buildPythonPackage rec {
     name = "larch-${version}";
-    version = "1.20130316";
+    version = "1.20131130";
 
     src = fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_${version}.orig.tar.gz";
-      sha256 = "1mkvmy0jdzd7dlvdx2a75wsbj5qw1clawcgndx9jwl816a9iy225";
+      sha256 = "1hfanp9l6yc5348i3f5sb8c5s4r43y382hflnbl6cnz4pm8yh5r7";
     };
 
     buildInputs = [ sphinx ];
@@ -7523,30 +9380,30 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   whisper = buildPythonPackage rec {
     name = "whisper-${version}";
-    version = "0.9.10";
+    version = "0.9.12";
 
-    src = fetchurl rec {
-      url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz";
-      sha256 = "1zy4z4hrbiqj4ipcv2m9197hf03d4xphllqav9w4c8i6fn8zmd9n";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/w/whisper/${name}.tar.gz";
+      md5 = "5fac757cc4822ab0678dbe0d781d904e";
     };
 
     # error: invalid command 'test'
     doCheck = false;
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://graphite.wikidot.com/;
       description = "Fixed size round-robin style database";
-      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      maintainers = with maintainers; [ rickynils offline ];
     };
   };
 
   carbon = buildPythonPackage rec {
     name = "carbon-${version}";
-    version = "0.9.10";
+    version = "0.9.12";
 
-    src = fetchurl rec {
-      url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz";
-      sha256 = "0wjhd87pvpcpvaj3wql2d92g8lpp33iwmxdkp7npic5mjl2y0dsg";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/c/carbon/${name}.tar.gz";
+      md5 = "66967d5a622fd29973838fcd10eb34f3";
     };
 
     propagatedBuildInputs = [ whisper txamqp zope_interface twisted ];
@@ -7554,10 +9411,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     # error: invalid command 'test'
     doCheck = false;
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://graphite.wikidot.com/;
       description = "Backend data caching and persistence daemon for Graphite";
-      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      maintainers = with maintainers; [ rickynils offline ];
     };
   };
 
@@ -7573,11 +9430,56 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://pypi.python.org/pypi/Unidecode/;
       description = "ASCII transliterations of Unicode text";
-      license = pkgs.lib.licenses.gpl2;
+      license = licenses.gpl2;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
 
+
+  pyusb = buildPythonPackage rec {
+    name = "pyusb-1.0.0b1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyusb/${name}.tar.gz";
+      md5 = "5cc9c7dd77b4d12fcc22fee3b39844bc";
+    };
+
+    # Fix the USB backend library lookup
+    postPatch = ''
+      libusb=${pkgs.libusb1}/lib/libusb-1.0.so
+      test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
+      sed -i -e "s|libname = .*|libname = \"$libusb\"|" usb/backend/libusb1.py
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Python USB access module (wraps libusb 1.0)";  # can use other backends
+      homepage = http://pyusb.sourceforge.net/;
+      license = "BSD";
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
+  usbtmc = buildPythonPackage rec {
+    name = "usbtmc-${version}";
+    version = "0.5";
+
+    src = fetchurl {
+      url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz";
+      sha256 = "0xn8whjcdn8wgs9j1gj7sw7fh425akdmq3hi448m36fywldbhryg";
+    };
+
+    propagatedBuildInputs = [ pyusb ];
+
+    meta = {
+      description = "Python implementation of the USBTMC instrument control protocol";
+      homepage = http://alexforencich.com/wiki/en/python-usbtmc/start;
+      license = licenses.mit;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
   txamqp = buildPythonPackage rec {
     name = "txamqp-${version}";
     version = "0.3";
@@ -7596,13 +9498,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  versiontools = buildPythonPackage rec {
+    name = "versiontools-1.9.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz";
+      sha256 = "1xhl6kl7f4srgnw6zw4lr8j2z5vmrbaa83nzn2c9r2m1hwl36sd9";
+    };
+
+  };
+
   graphite_web = buildPythonPackage rec {
     name = "graphite-web-${version}";
-    version = "0.9.11";
+    version = "0.9.12";
 
     src = fetchurl rec {
       url = "https://pypi.python.org/packages/source/g/graphite-web/${name}.tar.gz";
-      md5 = "1499b5dded3d1054d598760fd450a6f9";
+      md5 = "8edbb61f1ffe11c181bd2cb9ec977c72";
     };
 
     propagatedBuildInputs = [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ];
@@ -7614,7 +9526,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     preConfigure = ''
       substituteInPlace webapp/graphite/thirdparty/pytz/__init__.py --replace '/usr/share/zoneinfo' '/etc/zoneinfo'
-      substituteInPlace webapp/graphite/settings.py --replace "join(WEBAPP_DIR, 'content')" "join(WEBAPP_DIR, 'webapp', 'content')"
+      substituteInPlace webapp/graphite/settings.py --replace "join(WEBAPP_DIR, 'content')" "join('$out', 'webapp', 'content')"
       cp webapp/graphite/manage.py bin/manage-graphite.py
       substituteInPlace bin/manage-graphite.py --replace 'settings' 'graphite.settings'
     '';
@@ -7622,10 +9534,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     # error: invalid command 'test'
     doCheck = false;
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://graphite.wikidot.com/;
       description = "Enterprise scalable realtime graphing";
-      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      maintainers = with maintainers; [ rickynils offline ];
     };
   };
 
@@ -7670,26 +9582,21 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   pykka = buildPythonPackage rec {
     name = "pykka-${version}";
 
-    version = "1.1.0";
+    version = "1.2.0";
 
     src = fetchgit {
       url = "https://github.com/jodal/pykka.git";
       rev = "refs/tags/v${version}";
-      sha256 = "0w6bcaqkzwmd9habszlgjkp3kkhkna08s9aivnmna5hddsghfqmz";
+      sha256 = "17vv2q636zp2fvxrp7ckgnz1ifaffcj5vdxvfb4isd1d32c49amb";
     };
 
-    # python zip complains about old timestamps
-    preConfigure = ''
-      find -print0 | xargs -0 touch
-    '';
-
     # There are no tests
     doCheck = false;
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://www.pykka.org;
       description = "A Python implementation of the actor model";
-      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      maintainers = [ maintainers.rickynils ];
     };
   };
 
@@ -7735,7 +9642,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = https://code.google.com/p/gdata-python-client/;
       description = "Python client library for Google data APIs";
-      license = pkgs.lib.licenses.asl20;
+      license = licenses.asl20;
     };
   };
 
@@ -7755,7 +9662,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://imapclient.freshfoo.com/;
       description = "Easy-to-use, Pythonic and complete IMAP client library";
-      license = pkgs.lib.licenses.bsd3;
+      license = licenses.bsd3;
     };
   };
 
@@ -7772,12 +9679,166 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = http://pythonhosted.org/Logbook/;
       description = "A logging replacement for Python";
-      license = pkgs.lib.licenses.bsd3;
+      license = licenses.bsd3;
+    };
+  };
+
+  libvirt = pkgs.stdenv.mkDerivation rec {
+    name = "libvirt-python-${version}";
+    version = "1.2.5";
+
+    src = fetchurl {
+      url = "http://libvirt.org/sources/python/${name}.tar.gz";
+      sha256 = "0r0v48nkkxfagckizbcf67xkmyd1bnq36d30b58zmhvl0abryz7p";
+    };
+
+    buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ];
+
+    buildPhase = "python setup.py build";
+
+    installPhase = "python setup.py install --prefix=$out";
+
+    meta = {
+      homepage = http://www.libvirt.org/;
+      description = "libvirt Python bindings";
+      license = pkgs.lib.licenses.lgpl2;
+    };
+  };
+
+  searx = buildPythonPackage rec {
+    name = "searx-${rev}";
+    rev = "44d3af9fb2482cd0df1a8ababbe2fdf27ab33172";
+
+    src = fetchgit {
+      url = "git://github.com/asciimoo/searx";
+      inherit rev;
+      sha256 = "1w505pzdkkcglq782wg7f5fxrw9i5jzp7px20c2xz18pps2m3rsm";
+    };
+
+    propagatedBuildInputs = [ pyyaml lxml grequests flaskbabel flask requests
+      gevent speaklater Babel pytz dateutil ];
+
+    meta = {
+      homepage = https://github.com/asciimoo/searx;
+      description = "A privacy-respecting, hackable metasearch engine";
+      license = stdenv.lib.licenses.agpl3Plus;
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+    };
+  };
+
+  grequests = buildPythonPackage rec {
+    name = "grequests-0.2.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/g/grequests/${name}.tar.gz";
+      sha256 = "0lafzax5igbh8y4x0krizr573wjsxz7bhvwygiah6qwrzv83kv5c";
     };
- };
 
-# python2.7 specific eggs
-} // pkgs.lib.optionalAttrs (python.majorVersion == "2.7") {
+    buildInputs = [ requests gevent ];
+
+    meta = {
+      description = "GRequests allows you to use Requests with Gevent to make asyncronous HTTP Requests easily.";
+      homepage = https://github.com/kennethreitz/grequests;
+      license = "bsd";
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+    };
+  };
+
+  flaskbabel = buildPythonPackage rec {
+    name = "Flask-Babel-0.9";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/F/Flask-Babel/${name}.tar.gz";
+      sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa";
+    };
+
+    buildInputs = [ flask jinja2 speaklater Babel pytz ];
+
+    meta = {
+      description = "Adds i18n/l10n support to Flask applications";
+      homepage = https://github.com/mitsuhiko/flask-babel;
+      license = "bsd";
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+    };
+  };
+
+  speaklater = buildPythonPackage rec {
+    name = "speaklater-1.3";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/speaklater/${name}.tar.gz";
+      sha256 = "1ab5dbfzzgz6cnz4xlwx79gz83id4bhiw67k1cgqrlzfs0va7zjr";
+    };
+
+    meta = {
+      description = "implements a lazy string for python useful for use with gettext";
+      homepage = https://github.com/mitsuhiko/speaklater;
+      license = "bsd";
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+    };
+  };
+
+  power = buildPythonPackage rec {
+    name = "power-1.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/power/${name}.tar.gz";
+      sha256 = "09a00af8357f63dbb1a1eb13b82e39ccc0a14d6d2e44e5b235afe60ce8ee8195";
+    };
+
+    meta = {
+      description = "Cross-platform system power status information";
+      homepage = https://github.com/Kentzo/Power;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  udiskie = buildPythonPackage rec {
+    name = "udiskie-0.8.0";
+
+    src = fetchurl {
+      url = "https://github.com/coldfix/udiskie/archive/0.8.0.tar.gz";
+      sha256 = "0yzrnl7bq0dkcd3wh55kbf41c4dbh7dky0mqx0drvnpxlrvzhvp2";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ pygtk pyyaml dbus notify pkgs.udisks2 ];
+
+    # tests require dbusmock
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Removable disk automounter for udisks.";
+      license = licenses.mit;
+      homepage = https://github.com/coldfix/udiskie;
+    };
+  };
+
+  pythonefl = buildPythonPackage rec {
+    name = "python-efl-${version}";
+    version = "1.10.0";
+    src = fetchurl {
+      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz";
+      sha256 = "1inv2qalnm9paifdwyh9q3ffxcp9bjj92phvfw1rgkaildvfji5i";
+    };
+    preConfigure = ''
+      export NIX_CFLAGS_COMPILE="-I${pkgs.e18.efl}/include/eo-1 -I${pkgs.e18.efl}/include/eina-1 -I${pkgs.e18.efl}/include/eina-1/eina -I${pkgs.e18.efl}/include/evas-1 -I${dbus}/include/dbus-1.0 -I${pkgs.e18.efl}/include/efl-1 -I${pkgs.e18.efl}/include/eet-1 -I${pkgs.e18.efl}/include/ecore-1 -I${pkgs.e18.efl}/include/ecore-evas-1 -I${pkgs.e18.efl}/include/ecore-file-1 -I${pkgs.e18.efl}/include/ecore-input-1 -I${pkgs.e18.efl}/include/ecore-imf-1 -I${pkgs.e18.efl}/include/ecore-con-1 -I${pkgs.e18.efl}/include/edje-1 -I${pkgs.e18.efl}/include/eldbus-1 -I${pkgs.e18.efl}/include/efreet-1 -I${pkgs.e18.efl}/include/ethumb-client-1 -I${pkgs.e18.efl}/include/ethumb-1 -I${pkgs.e18.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE"
+    '';
+    buildInputs = [ pkgs.pkgconfig pkgs.e18.efl pkgs.e18.elementary ];
+    meta = {
+      description = "Python bindings for EFL and Elementary.";
+      homepage = http://enlightenment.org/;
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+      platforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.gpl3;
+    };
+  };
+
+
+# python2.7 specific packages
+} // optionalAttrs isPy27 (
+  with pythonPackages;
+
+{
 
   pypi2nix = pythonPackages.buildPythonPackage rec {
     rev = "04a68d8577acbceb88bdf51b1231a9dbdead7003";
@@ -7798,4 +9859,80 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-}; in pythonPackages
+
+  thumbor = pythonPackages.buildPythonPackage rec {
+    name = "thumbor-4.0.4";
+
+    propagatedBuildInputs = [
+                    tornado
+                    pycrypto
+                    pycurl
+                    pillow
+                    derpconf
+                    python_magic
+                    thumborPexif
+                    (pkgs.opencv.override {
+                        gtk = null;
+                        glib = null;
+                        xineLib = null;
+                        gstreamer = null;
+                        ffmpeg = null;
+                    }) ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/thumbor/${name}.tar.gz";
+      md5 = "cf639a1cc57ee287b299ace450444408";
+    };
+
+    meta = {
+      description = "Thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images.";
+      homepage = https://github.com/globocom/thumbor/wiki;
+      license = licenses.mit;
+    };
+  };
+
+  thumborPexif = pythonPackages.buildPythonPackage rec {
+    name = "thumbor-pexif-0.14";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/thumbor-pexif/${name}.tar.gz";
+      md5 = "fb4cdb60f4a0bead5193fb483ccd3430";
+    };
+
+    meta = {
+      description = "Module to parse and edit the EXIF data tags in a JPEG image";
+      homepage = http://www.benno.id.au/code/pexif/;
+      license = licenses.mit;
+    };
+  };
+
+  pync = buildPythonPackage rec {
+    version  = "1.4";
+    baseName = "pync";
+    name     = "${baseName}-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/${baseName}/${name}.tar.gz";
+      md5 = "5cc79077f386a17b539f1e51c05a3650";
+    };
+
+    buildInputs = [ pkgs.coreutils ];
+
+    propagatedBuildInputs = [ dateutil ];
+
+    preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.rubyLibs.terminal_notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Python Wrapper for Mac OS 10.8 Notification Center";
+      homepage    = https://pypi.python.org/pypi/pync/1.4;
+      license     = licenses.mit;
+      platforms   = platforms.darwin;
+      maintainers = [ maintainers.lovek323 ];
+    };
+  };
+
+
+
+}); in pythonPackages
diff --git a/pkgs/top-level/r-packages.nix b/pkgs/top-level/r-packages.nix
deleted file mode 100644
index 8280b6c2d53..00000000000
--- a/pkgs/top-level/r-packages.nix
+++ /dev/null
@@ -1,246 +0,0 @@
-/* This file defines the composition for CRAN (R) packages. */
-
-{pkgs, __overrides}:
-
-rec {
-
-  inherit (pkgs) buildRPackage fetchurl stdenv R;
-
-  inherit (stdenv.lib) maintainers;
-
-  inherit __overrides;
-
-  abind = buildRPackage rec {
-    name = "abind-1.4-0";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/abind_1.4-0.tar.gz";
-      sha256 = "1b9634bf6ad68022338d71a23a689f1af4afd9d6c12c0b982b88fc21363ff568";
-    };
-  };
-
-  chron = buildRPackage rec {
-    name = "chron-2.3-44";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/chron_2.3-44.tar.gz";
-      sha256 = "ba7d46223e615b4d09145a364a4c37ccff718384486ca154a6e025cf3ed91148";
-    };
-  };
-
-  colorspace = buildRPackage rec {
-    name = "colorspace-1.2-2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/colorspace_1.2-2.tar.gz";
-      sha256 = "7f6ca98e5d005bc7d6e37b03577d65995809150d1d293ce68b6720e7a6b2054d";
-    };
-  };
-
-  DBI = buildRPackage rec {
-    name = "DBI-0.2-7";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/DBI_0.2-7.tar.gz";
-      sha256 = "e90a988740f99060d5c4aacb1f2b148b0eb81c5b468bafeadf3aaeccf563b5e3";
-    };
-  };
-
-  dichromat = buildRPackage rec {
-    name = "dichromat-2.0-0";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/dichromat_2.0-0.tar.gz";
-      sha256 = "31151eaf36f70bdc1172da5ff5088ee51cc0a3db4ead59c7c38c25316d580dd1";
-    };
-  };
-
-  digest = buildRPackage rec {
-    name = "digest-0.6.3";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/digest_0.6.3.tar.gz";
-      sha256 = "5be8f1386c0c273fcc915df7b557393c5f3de43c44fd16614db9cc5ba6d1d57c";
-    };
-  };
-
-  ggplot2 = buildRPackage rec {
-    name = "ggplot2-0.9.3.1";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/ggplot2_0.9.3.1.tar.gz";
-      sha256 = "b4c97404fd44571f9980712af963949ed204b5d4e639d97df9ba9a17423a6601";
-    };
-    propagatedBuildInputs = [ digest plyr gtable reshape2 scales proto ];
-  };
-
-  gtable = buildRPackage rec {
-    name = "gtable-0.1.2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/gtable_0.1.2.tar.gz";
-      sha256 = "b08ba8e62e0ce05e7a4c07ba3ffa67719161db62438b04f14343f8928d74304d";
-    };
-  };
-
-  gtools = buildRPackage rec {
-    name = "gtools-3.0.0";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/gtools_3.0.0.tar.gz";
-      sha256 = "e35f08ac9df875b57dcf23028baa226372d7482d7814a011f9b1fdd0697ee73c";
-    };
-  };
-
-  gsubfn = buildRPackage rec {
-    name = "gsubfn-0.6-5";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/gsubfn_0.6-5.tar.gz";
-      sha256 = "9a7b51ae6aabd1c99e8633d3dc75232d8c4a175df750c7d1c359bd0f5fc197be";
-    };
-    propagatedBuildInputs = [ proto ];
-  };
-
-  labeling = buildRPackage rec {
-    name = "labeling-0.2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/labeling_0.2.tar.gz";
-      sha256 = "8aaa7f8b91923088da4e47ae42620fadcff7f2bc566064c63d138e2145e38aa4";
-    };
-  };
-
-  lars = buildRPackage rec {
-    name = "lars-1.2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/lars_1.2.tar.gz";
-      sha256 = "64745b568f20b2cfdae3dad02fba92ebf78ffee466a71aaaafd4f48c3921922e";
-    };
-  };
-
-  LiblineaR = buildRPackage rec {
-    name = "LiblineaR-1.80-7";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/LiblineaR_1.80-7.tar.gz";
-      sha256 = "9ba0280c5165bf0bbd46cb5ec7c66fdece38fc3f73fce2ec800763923ae8e4bd";
-    };
-  };
-
-  linprog = buildRPackage rec {
-    name = "linprog-0.9-2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/linprog_0.9-2.tar.gz";
-      sha256 = "8937b2e30692e38de1713f1513b78f505f73da6f5b4a576d151ad60bac2221ce";
-    };
-    propagatedBuildInputs = [ lpSolve ];
-  };
-
-  lpSolve = buildRPackage rec {
-    name = "lpSolve-5.6.7";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/lpSolve_5.6.7.tar.gz";
-      sha256 = "16def9237f38c4d7a59651173fd87df3cd3c563f640c6952e13bdd2a084737ef";
-    };
-  };
-
-  munsell = buildRPackage rec {
-    name = "munsell-0.4.2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/munsell_0.4.2.tar.gz";
-      sha256 = "84e787f58f626c52a1e3fc1201f724835dfa8023358bfed742e7001441f425ae";
-    };
-    propagatedBuildInputs = [ colorspace ];
-  };
-
-  pamr = buildRPackage rec {
-    name = "pamr-1.54.1";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/pamr_1.54.1.tar.gz";
-      sha256 = "139dbc39b4eccd6a55b6a3c42a1c8be61dcce0613535a634c3e42731fc315516";
-    };
-  };
-
-  penalized = buildRPackage rec {
-    name = "penalized-0.9-42";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/penalized_0.9-42.tar.gz";
-      sha256 = "98e8e39b02ecbabaa7050211e34941c73e1e687f39250cf3cbacb7c5dcbb1e98";
-    };
-  };
-
-  plyr = buildRPackage rec {
-    name = "plyr-1.8";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/plyr_1.8.tar.gz";
-      sha256 = "0bd6861af241e6c5ce777ef3f1b0eb72b31cc026669a68f6250b8ecfadf71a66";
-    };
-  };
-
-  proto = buildRPackage rec {
-    name = "proto-0.3-10";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/proto_0.3-10.tar.gz";
-      sha256 = "d0d941bfbf247879b3510c8ef3e35853b1fbe83ff3ce952e93d3f8244afcbb0e";
-    };
-  };
-
-  randomForest = buildRPackage rec {
-    name = "randomForest-4.6-7";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/randomForest_4.6-7.tar.gz";
-      sha256 = "8206e88b242c07efc10f148d17dfcc265a31361e1bcf44bfe17aed95c357be0b";
-    };
-    propagatedBuildInputs = [ plyr stringr ];
-  };
-
-  reshape2 = buildRPackage rec {
-    name = "reshape2-1.2.2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/reshape2_1.2.2.tar.gz";
-      sha256 = "9131025b8f684e1629ab3e2748d4cf2b907b7c89cfbff667c925bc0fb5dfc103";
-    };
-    propagatedBuildInputs = [ plyr stringr ];
-  };
-
-  RColorBrewer = buildRPackage rec {
-    name = "RColorBrewer-1.0-5";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/RColorBrewer_1.0-5.tar.gz";
-      sha256 = "5ac1c44c1a53f9521134e7ed7c148c72e49271cbd229c5263d2d7fd91c8b8e78";
-    };
-  };
-
-  RSQLite = buildRPackage rec {
-    name = "RSQlite-0.11.4";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/RSQLite_0.11.4.tar.gz";
-      sha256 = "bba0cbf2a1a3120d667a731da1ca5b9bd4db23b813e1abf6f51fb01540c2000c";
-    };
-    propagatedBuildInputs = [ DBI ];
-  };
-
-  RSQLiteExtfuns = buildRPackage rec {
-    name = "RSQlite.extfuns-0.0.1";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/RSQLite.extfuns_0.0.1.tar.gz";
-      sha256 = "ca5c7947c041e17ba83bed3f5866f7eeb9b7f361e5c050c9b58eec5670f03d0e";
-    };
-    propagatedBuildInputs = [ RSQLite ];
-  };
-
-  scales = buildRPackage rec {
-    name = "scales-0.2.3";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/scales_0.2.3.tar.gz";
-      sha256 = "46aef8eb261abc39f87b71184e5484bc8c2c94e01d3714ce4b2fd60727bc40d9";
-    };
-    propagatedBuildInputs = [ RColorBrewer stringr dichromat munsell plyr labeling ];
-  };
-
-  stringr = buildRPackage rec {
-    name = "stringr-0.6.2";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/stringr_0.6.2.tar.gz";
-      sha256 = "c3fc9c71d060ad592d2cfc51c36ab2f8e5f8cf9a25dfe42c637447dd416b6737";
-    };
-  };
-
-  sqldf = buildRPackage rec {
-    name = "sqldf-0.4-6.4";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/sqldf_0.4-6.4.tar.gz";
-      sha256 = "6c51e4e48b93310f765c661a1756fe068629da775248d38a98c38f5b6f7511c4";
-    };
-    propagatedBuildInputs = [ DBI gsubfn proto chron RSQLite RSQLiteExtfuns ];
-  };
-}
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 3895ee26779..cef3d2dffbd 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -140,11 +140,11 @@ in {
   crossUltraSparcLinux = mapTestOnCross crossSystem basic;
 }) // (
 
-/* Test some cross builds on mingw32 */
+/* Test some cross builds on 32 bit mingw-w64 */
 let
   crossSystem = {
-      config = "i686-pc-mingw32";
-      arch = "x86";
+      config = "i686-w64-mingw32";
+      arch = "x86"; # Irrelevant
       libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
       platform = {};
   };
@@ -161,11 +161,10 @@ in {
   };
 }) // (
 
-/* Test some cross builds on mingw-w64 */
+/* Test some cross builds on 64 bit mingw-w64 */
 let
   crossSystem = {
-      # That's the triplet they use in the mingw-w64 docs,
-      # and it's relevant for nixpkgs conditions.
+      # That's the triplet they use in the mingw-w64 docs.
       config = "x86_64-w64-mingw32";
       arch = "x86_64"; # Irrelevant
       libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
@@ -192,7 +191,7 @@ let
     arch = "i586";
     float = "hard";
     withTLS = true;
-    platform = pkgs.platforms.pc;
+    platform = pkgs.platforms.pc32;
     libc = "glibc";
     openssl.system = "hurd-x86";  # Nix depends on OpenSSL.
   };
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 3280df09dd5..e2f5309ced3 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -119,14 +119,12 @@ rec {
 
   # May fail as much as it wishes, we will catch the error.
   processPackage = attrSet:
-    if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
+    if attrSet.recurseForDerivations or false then
       packagesWithMetaPlatform attrSet
-    else if attrSet ? recurseForRelease && attrSet.recurseForRelease then
+    else if attrSet.recurseForRelease or false then
       packagesWithMetaPlatform attrSet
     else
-      if attrSet ? meta && attrSet.meta ? platforms
-        then attrSet.meta.platforms
-        else [];
+      attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
 
 
   /* Common platform groups on which to test packages. */
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 2453712584a..ea7ca4d501f 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -29,1417 +29,7 @@ let
 
     } // (mapTestOn rec {
 
-  a2jmidid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aacskeys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2005 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2006 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2007 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2008 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2009 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2010 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aangifte2011 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  abc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  abcde = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  abiword = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  acl2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  adobeReader = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  agg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  allegro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  allegro5 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  alliance = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  alsaPlugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  alsaPluginWrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  amsn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  amule = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  amuleDaemon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  amuleGui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  androidsdk_4_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  andyetitmoves = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ant = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  antlr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  antlr3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  apacheAntGcj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  apacheAntOpenJDK = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  apacheAntOracleJDK = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  apparmor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aqbanking = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  arb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ardour3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  arora = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  asc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  asciidoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  asio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aspectj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  asymptote = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  atanks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  atari800 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ataripp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  atermjava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  atk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  atkmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  attica = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aubio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  auctex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  audacious = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  audacity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  autojump = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  automoc4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  avahi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  avidemux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  avogadro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  awesome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  aws_mturk_clt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  axis2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  azureus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ballAndPaddle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  baresip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bazaar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  beast = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  beret = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ber_metaocaml_003 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bibletime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bibtextools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  binutils_gold = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  biolib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bitcoin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bitlbee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bitsnbots = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bittornado = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bittorrent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  blackshades = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  blackshadeselite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  blender = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  blobby = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  blueman = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bluez = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  boinc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  boomerang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  boost = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  boost144 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  boost146 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  boost149 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  botan = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  box2d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  box2d_2_0_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  briss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bsddb3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  btanks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  btrfsProgs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  buildbot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bumblebee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  bzflag = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  caelum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cairomm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  calf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  calibre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  caneda = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  carrier = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  castle_combat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cbrowser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cc1394 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cdrdao = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cflow = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cgal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cgui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  chatzilla = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cheetahTemplate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  chipmunk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  chromiumWrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  chromium = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cilaterm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cinelerra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cinepaint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ciopfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clangUnwrapped = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clanlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  classpath = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clearsilver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clisp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clisp_2_44_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clojure = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clojure_wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clooj_wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clucene_core_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clutter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clutter_gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  clutter_gtk_0_10 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cmakeWithGui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cmus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  coccinelle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cogl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  coin3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  comical = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  compiz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  compton = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  conkeror = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  conky = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  consolekit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  construo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  construoBase = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  coq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  coq_8_3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  coriander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  couchdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  crack_attack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  crrcsim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cryptsetup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cscope = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  csound = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  csslint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cudatoolkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cuneiform = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cups_pdf_filter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  curlftpfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cvs2svn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  cython = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  d4x = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  darktable = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dbench = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dblatex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dbus_cplusplus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dbus_glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dbus_java = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dbus_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ddd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  debian_devscripts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dejagnu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  desktop_file_utils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  devicemapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dico = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  directfb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  directvnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  disnix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  disnixos = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  DisnixWebService = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  disper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  distcc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  distrho = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  djview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dmenu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dmraid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dmtcp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dmtx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  docutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dosbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  doxygen_gui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dragonegg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  drbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  drgeo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dropbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dssi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dstat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  duplicity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dvdauthor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dvswitch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dwarf_fortress = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  dwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eaglemode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  easytag = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ec2_api_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ecj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eclipses = {
-    eclipse_cpp_36 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eclipse_cpp_37 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eclipse_modeling_36 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eclipse_sdk_35 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eclipse_sdk_36 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eclipse_sdk_37 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eclipse_sdk_42 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  ecryptfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  edk2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eduke32 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eggdbus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  egoboo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ekiga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  elasticmq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  electricsheep = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  elinks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  emacs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  emacs23 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  emacs24Packages = {
-    autoComplete = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bbdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    calfw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cedet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    coffee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    colorTheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ecb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    emacsSessionManagement = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    emacsw3m = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    emms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    flymakeCursor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gist = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    graphvizDot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    jabber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    jade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    jdee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    js2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    logito = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    loremIpsum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    magit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    maudeMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    notmuch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocamlMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    org = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    org2blog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pcache = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    proofgeneral = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    quack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    rectMark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    remember = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    scalaMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    sunriseCommander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmlRpc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  emboss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  enblendenfuse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  encfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  enchant = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  enlightenment = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  epdfview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  epm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eprover = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eql = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  esdl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  espeakedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  etherape = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  euca2ools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  eukleides = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  evince = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  evolution_data_server = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  evopedia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  expect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  exrdisplay = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  extremetuxracer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  exult = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  facile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fail2ban = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fakenes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  farsight2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  farstream = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fbida = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fbpanel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fdisk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  feh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ffado = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ffmpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ffmpeg_0_6_90 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ffmpeg_1_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fileschanged = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  firefox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  firefox13Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  firefox17Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  firefox36Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  flann = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  flashplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  flightgear = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fltk13 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fltk20 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fluidsynth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fontforgeX = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  foo2zjs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  foursuite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  framac = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freecad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freeciv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freedink = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freeglut = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freemind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freepv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freerdp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freerdpUnstable = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freestyle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freetalk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  freetts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fsg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fsharp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fspot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ftgl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ftgl212 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fuppes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  fusesmb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gajim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gav = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gcj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gcj44 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gcj46 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gcl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gdbCross = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gdk_pixbuf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gdmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gdome2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gecko_mediaplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  geeqie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gegl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gegl_0_0_22 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gemrb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gensgs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  geoclue = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  geoipjava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  get_iplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  getmail = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gftp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ghostOne = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ghostscriptX = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  giblib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gifsicle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gigedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gimp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gimp_2_8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gimpPlugins = {
-    fourier = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gimplensfun = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gmic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    lqrPlugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    resynthesizer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    texturize = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ufraw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    waveletSharpen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  girara = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gitAndTools = {
-    darcsToGit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    git2cl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gitAnnex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gitBz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gitFastExport = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gitFull = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gitSubtree = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gitSVN = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    qgit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    qgitGit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    stgit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    svn2git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    svn2git_kde = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    tig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  giv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gkrellm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gl117 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glestae = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glew = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glfw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glibmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glib_networking = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  globulation2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gltron = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  glxinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gmime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gmtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gmu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnash = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnokii = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnome = {
-    at_spi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GConf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gconfmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_control_center = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_desktop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_doc_utils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_icon_theme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_keyring = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_menus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_panel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_session = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_settings_daemon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_vfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gnome_vfs_monikers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtk_doc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtkglext = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtkglextmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtkhtml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtkmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtksourceview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gvfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libbonobo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libbonoboui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libglade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libglademm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomecanvas = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomecanvasmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomecups = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomekbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomeprint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomeprintui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgnomeui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgtkhtml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libgweather = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libIDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libsoup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libunique = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libwnck = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    metacity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    nautilus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ORBit2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pango = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pangomm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    python_rsvg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    startup_notification = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    vte = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zenity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  gnome_mplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnome_terminator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnome_user_docs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnonlin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnucash = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnu = {
-    hurdHeaders = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libpthreadHeaders = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mach = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    machHeaders = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mig_raw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  gnumeric = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnunet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnunet08 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnupg2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gnuplot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gob2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gobby5 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gobjectIntrospection = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  goffice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  goffice_0_9 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  goldendict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  golly = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  goocanvas = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  googleearth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  google_talk_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gosmore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gource = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gparted = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gpgme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gphoto2fs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gpscorrelate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gpsd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gqview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  grantlee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  graphicsmagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  graphicsmagick137 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  graphviz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  graphviz_2_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  grass = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gravit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  grip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  grive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  grub2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  grub2_efi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gsettings_desktop_schemas = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gsmartcontrol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gssdp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gst_ffmpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gst_plugins_bad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gst_plugins_base = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gst_plugins_good = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gst_plugins_ugly = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gst_python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gstreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtk3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkdatabox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkdialog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkgnutella = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkimageview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkmathview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkmm3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkmozembedsharp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkpod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtksharp1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtksharp2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtksourceviewsharp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkspell = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkvnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtkwave = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gtmess = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  guileCairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  guileGnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  guitone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gupnp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gupnp_igd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gupnptools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gutenprint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gutenprintBin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gwenhywfar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gwrap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gxneur = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hadoop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  harfbuzz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  haskellPackages = {
-    accelerateCuda = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    accelerateExamples = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    Chart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cuda = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    diagrams = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    diagramsCairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ghcMod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    glade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLFW = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gloss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLURaw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLUT = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLUT_2_1_1_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLUT_2_1_2_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLUT_2_2_2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GLUT_2_3_1_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtksourceview2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2009_2_0_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2010_1_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2010_2_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2011_2_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2011_2_0_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2011_4_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    haskellPlatform_2012_2_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    HGL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    hmatrix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    hp2anyGraph = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    lambdacubeEngine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    LambdaHack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    leksah = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    leksahServer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    lhs2tex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ltk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    OpenGL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    OpenGL_2_2_1_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    OpenGL_2_2_3_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    OpenGL_2_4_0_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    OpenGL_2_6_0_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    OpenGLRaw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pakcs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pango = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    reactiveBananaWx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    repaAlgorithms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    repaExamples = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    SDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    SDLImage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    SDLMixer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    SDLTtf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    splot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    svgcairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    threadscope = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    timeplot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    uhc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    vacuumCairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wxc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wxcore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    X11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    X11Xft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmobar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmonad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmonadContrib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmonadExtras = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  haxe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  heimdall = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  herqq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hevea = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hexen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  highlight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hol_light = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  homebank = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hplip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  htmldoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  httpfs2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hwloc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hydraAntLogger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  hydrogen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  i3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  i3lock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  i7z = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icbm3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icecat3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icecat3Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icecat3Xul = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icecatXulrunner3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icedtea = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  icewm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  idutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ikiwiki = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  imagemagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  imagemagickBig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  imlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  imlib2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  impressive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  indilib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  inkscape = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  instead = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  intelgen4asm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  io = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ion3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  iotop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  iprover = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  irrlicht3843 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  irssi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  isabelle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  isocodes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  itk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  itstool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jackaudio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jack_capture = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jackmeter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jags = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jamp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  javaCup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jbidwatcher = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jboss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jboss_mysql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jbrout = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jclasslib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jdiskreport = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jdk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jfsrec = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jigdo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jjtraveler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jnettop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jrePlugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jruby165 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jscoverage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  json_glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  julia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  jwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  k3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kaffe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kde3 = {
-    arts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdelibs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  kde4 = {
-    akonadi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    akunambol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    amarok = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    amor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    aurorae = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bangarang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    basket = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    blinken = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bluedevil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    calligra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cantor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cervisia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ColorSchemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    desktopthemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    digikam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    dolphin_plugins_git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    dolphin_plugins_svn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    emoticons = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    filelight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    filesharing = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gwenview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    HighResolutionWallpapers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    IconThemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    jovie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    k3b = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kaccessible = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kadu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kalgebra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kalzium = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kamera = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kanagram = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kapptemplate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kbibtex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kbluetooth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kbruch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kcachegrind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kcalc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kcharselect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kcolorchooser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kcron = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeaccessibility = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeaccounts_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeadmin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeartwork = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kde_baseapps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdebindings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeedu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdegames = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdegraphics = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdegraphics_strigi_analyzer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdegraphics_thumbnailers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdelibs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdemultimedia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdenetwork = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdenlive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdepim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdepimlibs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdepim_runtime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeplasma_addons = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kde_runtime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdesdk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdesvn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdetoys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdeutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdevelop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdevplatform = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kde_wacomtablet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdewebdev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kde_workspace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdiff3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kdnssd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kfile_plugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kfilereplace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kfloppy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kgamma = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kgeography = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kget = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kgpg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    khangman = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kimagemapeditor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kioslave_perldoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kioslave_svn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kipi_plugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kiten = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    klettres = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    klinkstatus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmag = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmousetool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmouth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmplot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmtrace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kmymoney = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    koffice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kolourpaint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kommander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kompare = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    konq_plugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    konsole = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    konversation = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kopete = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kpartloader = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kppp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kprofilemethod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    krdc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kremotecontrol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    krename = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    krfb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kruler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    krusader = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ksaneplugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kscreensaver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ksnapshot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ksshaskpass = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kstars = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kstartperf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ksystemlog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kteatime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ktimer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ktorrent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ktouch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kturtle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ktux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kuickshow = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kuiviewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kuser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kwallet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kwin_styles = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kwooty = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kwordquiz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.bg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.bs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ca = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ca_valencia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.cs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.da = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.de = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.el = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.en_GB = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.es = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.et = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.eu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.fi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.fr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.gl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.he = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.hr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.hu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.id = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.is = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.it = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ja = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.kk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.km = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.kn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ko = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.lt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.lv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.nb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.nds = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.nl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.nn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.pa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.pl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.pt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.pt_BR = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ru = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.si = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.sk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.sl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.sr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.sv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.th = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.tr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.ug = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.uk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.wa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.zh_CN = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    l10n.zh_TW = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libalkimia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libkdcraw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libkdeedu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libkexiv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libkipi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libksane = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libktorrent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libkvkontakte = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    liblikeback = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    lokalize = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    marble = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mobipocket = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    networkmanagement = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    okteta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    okular = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    parley = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    partitionManager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    polkit_kde_agent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    poxml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    printer_applet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    psi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pykde4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    qt4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    quassel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    quasselClient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    quasselDaemon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    rekonq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    rocs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    rsibreak = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    scripts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    semnotes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    skrooge = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    smokegen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    smokeqt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    sounds = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    step = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    strigi_analyzer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    styles = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    superkaramba = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    svgpart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    sweeper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    system_config_printer_kde = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.accounts_kcm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.approver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.auth_handler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.call_ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.common_internals = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.contact_applet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.contact_list = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.contact_runner = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.filetransfer_handler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.kded_integration_module = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.presence_applet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.send_file = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.telepathy_logger_qt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    telepathy.text_ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    umbrello = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wallpapers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    WeatherWallpapers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    yakuake = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zanshin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  keen4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  keepassx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  keepnote = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  keymon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  keynav = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kicad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kino = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  klavaro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kobodeluxe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kona = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  kvm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  larswm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lash = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lastwatch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  latencytop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lazarus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ldcpp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ledger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ledger3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  leiningen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lensfun = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  leo2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lesstif = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lesstif93 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libao = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libassuan2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libatasmart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libbluedevil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libbluray = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libcanberra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libcdr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libchamplain = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libchamplain_0_6 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libcm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libcroco = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libcxx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libdbusmenu_qt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libdevil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libdmtx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libdrm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libextractor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libfixposix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgdata = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgdata_0_6 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgdiplus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgnome_keyring = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgnome_keyring3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgpod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgsf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libgtop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libimobiledevice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libinfinity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  liblapack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  liblastfm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  liblqr1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libmatchbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libmatthew_java = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libmms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libmusclecard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libnice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libnotify = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  liboil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libopensc_dnie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libplist = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libpseudo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libqalculate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libQGLViewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  librecad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libreoffice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  librsvg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libsexy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libstartup_notification = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libtiger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libtorrentRasterbar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libva = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libvdpau = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libviper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libvirt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libvisio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libvncserver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libvterm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libwmf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libwnck3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libwpd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libwpd_08 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libwpg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libxklavier = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libxml2Python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  libxmlxx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lilv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lilypond = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lincity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lingot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  links2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  linphone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  linux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  linuxConsoleTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  linuxPackages = {
-    acpi_call = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    atheros = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ati_drivers_x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    aufs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    aufs_util = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bbswitch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    broadcom_sta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cryptodev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    e1000e = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    exmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    frandom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    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; };
-    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; };
-    nvidia_x11_legacy96 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    openafsClient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    openiscsi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    perf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    spl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    sysprof = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    systemtap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    tp_smapi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    v86d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    virtualbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    virtualboxGuestAdditions = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wis_go7007 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  linuxsampler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  liquidwar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  llvm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lmms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  log4cxx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  logstalgica = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  loudmouth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  love = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  lyx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mailutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mars = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  martyr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  matchbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  matita = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  matita_130312 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  maven = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  maxima = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mcabber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mcelog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mcomix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mcrl2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mdbtools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mdbtools_git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mediastreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mediatomb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  meld = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  merkaartor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mesa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  meshlab = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mess = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  metaocaml_3_09 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mhwaveedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  micropolis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  midori = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  midoriWrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  minecraft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  miniHttpd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mirage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mitscheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mjpegtools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mkvtoolnix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mlt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mmex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  modemmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mod_python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mod_wsgi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mongodb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mono = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  monodevelop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  monodoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  monotone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  monotoneViz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mozart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mozilla = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mozplugger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mp3info = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mpc123 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mpd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mpg321 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mpich2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  MPlayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mrxvt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  msilbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mtdutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  multipath_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  multisync = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mumble = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mupdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mupen64plus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  muscleframework = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  muscletool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mutt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mygui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  myguiSvn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mysql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mysqlWorkbench = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  mythtv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  naev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  navipowm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  navit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ncbiCTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  netbeans = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  netboot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  netsurf.browser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  networkmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  networkmanagerapplet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  networkmanager_pptp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  networkmanager_pptp_gnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  neverball = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nfsUtils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ngspice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ninka = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  njam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nodejs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nodePackages = {
-    abbrev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ansi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    async = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    backbone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bindings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    browserchannel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bson = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    buffertools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    bytes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    commander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    connect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cookie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    crc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cssmin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    datetime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    debug = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    diff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    eyes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    formidable = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    fresh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    fstream = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    glob = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    hat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    hiredis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    inherits = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    knox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    less = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    minimatch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mkdirp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mongodb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mrclean = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    nopt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    npm2nix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    npmlog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    optimist = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    options = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    osenv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pause = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    policyfile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    qs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    rbytes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    redis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    request = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    requirejs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    rimraf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    semver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    send = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    showdown = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    sockjs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    swig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    tar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    temp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    timerstub = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    tinycolor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    underscore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    vows = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    which = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wordwrap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ws = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    wu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmlhttprequest = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zeparser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  notmuch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nova = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  novaclient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nspluginwrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nss_pam_ldapd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nssTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ntop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ntrack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  numeric = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nut = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  nut_2_6_3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  obexd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  obex_data_server = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  obexfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  obexftp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  obnam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocaml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocaml_3_08_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocaml_3_10_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocaml_3_11_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocaml_4_00_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocamlnat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ocamlPackages = {
-    camlidl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camlp5_5_strict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camlp5_5_transitional = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camlp5_6_strict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camlp5_6_transitional = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camlzip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camomile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    camomile_0_8_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    cryptokit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    findlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gmetadom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    lablgtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    lablgtkmathview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    menhir = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mldonkey = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_batteries = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_cryptgps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_expat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_extlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocamlgraph = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_http = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_lwt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_mysql = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocamlnet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_pcre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_react = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_sexplib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_sqlite3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_ssl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ocaml_typeconv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ounit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    pycaml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ulex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ulex08 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  octave = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  octaveHG = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  offlineimap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ogre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ogrepaged = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ois = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  omake = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  oneteam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openbabel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opencascade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opencsg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openct = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opencv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opencv_2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openfire = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openlierox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openobex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opensc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openscad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opensc_dnie_wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openscenegraph = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  openttd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opentyrian = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opera = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opkg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  opusTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  oraclejdk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  oraclejre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  OVMF = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  oxygen_gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pam_console = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pam_usb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pan = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pangoxsl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  panomatic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  paraview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  parted = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  parted_2_3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  path64 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pavucontrol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pcmciaUtils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pcsclite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pdf2djvu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pdfread = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pdftk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  perlPackages = {
-    Autodia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GD = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    GraphViz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    InlineJava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    PerlMagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    SQLTranslator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    TextRecordParser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    X11GUITest = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  petrifoo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pfstools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pgadmin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  philter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  phonon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  phonon_backend_gstreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  phonon_backend_vlc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pianobooster = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  picard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  picolisp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pidgin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pidginlatex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pidginlatexSF = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pidginmsnpecan = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pidginotr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pidginsipe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pinentry = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pinta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pioneers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pius = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  plan9port = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  plib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ploticus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pltScheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pmutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  policykit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  polkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  polkit_gnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  polkit_qt_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pommed = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pong3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  poppler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  popplerQt4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  postgresql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pqiv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  praat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  prboom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  prison = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  privateer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  proxychains = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pstack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ptlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pulseaudio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  pure = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  puredata = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  putty = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
+  offlineimap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };  
   pycairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pycrypto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pycups = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
@@ -1474,524 +64,6 @@ let
   pythonSexy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pyx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pyxml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qca2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qca2_ossl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qcmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qemu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qemu_1_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qfsm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qgis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qimageblitz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qjackctl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qjoypad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qjson = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qoauth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qrdecode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qrupdate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qsampler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qshowdiff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qsynth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qt3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qt_gstreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qtpfsgui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qtractor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qtscriptgenerator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  quake3demo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  quake3game = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qucs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  quesoglc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  qwt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rabbitmq_server = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  racer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  racket = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rakarrack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rapcad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rapidsvn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ratpoison = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rawtherapee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rdesktop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rdf4store = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rdiff_backup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  recutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  redshift = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  relfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  remmina = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  reptyr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rhino = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rhpl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rigsofrods = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rili = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  R = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rockbox_utility = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rpm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rrdtool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rssglx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rtmpdump = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rubber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rubyLibs.buildr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rubyLibs.rjb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rxvt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  rxvt_unicode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  s3cmd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sabnzbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sakura = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  salut_a_toi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  samba = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  saneFrontends = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  satallax = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sauerbraten = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  saxonb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sbcl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  schroedinger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  scilab = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  scons = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  scorched3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  scribus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  scrot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  scummvm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL_gfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL_image = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL_mixer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL_net = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL_sound = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  SDL_ttf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  seeks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  seg3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  seleniumRCBin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  seq24 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  serd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sfml_git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sgtpuzzles = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  shared_mime_info = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sharedobjects = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  silgraphite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  simgear = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  simutrans = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  six = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  skype = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  slim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  slock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  smatch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  smbnetfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  smpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  snack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  snd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sndBase = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sofia_sip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  soi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sonic_visualiser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  soprano = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  soqt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sord = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sourceHighlight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  spaceOrbit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  speechd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  spice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  spidermonkey_185 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  spin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  spotify = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  spring = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  springLobby = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sratom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sshfsFuse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ssreflect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  st = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stalin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stalonetray = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stardict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stardust = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stellarium = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  strigi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stumpwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  stuntrally = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sublime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  subversionClient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  suil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  suitesparse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  superTux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  superTuxKart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  surf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  swh_lv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  swiProlog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  swt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  sylpheed = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  synergy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  syslogng = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  system_config_printer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  systemd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  t1lib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tabbed = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tahoelafs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tailor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tangogps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  taskjuggler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tbe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  teamspeak_client = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  teetertorture = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  teeworlds = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_farstream = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_gabble = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_haze = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_logger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_mission_control = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_qt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_rakia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  telepathy_salut = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tennix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texDisser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveBeamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveCMSuper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveContext = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveExtra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveFull = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveLatexXColor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLiveModerncv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texLivePGF = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  texmacs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  thunderbird = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tigervnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tightvnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  timidity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tkabber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tkcvs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tkgate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tkgate2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tomcat5 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tomcat_connectors = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tomcat_mysql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  torchat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  torcs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tpm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  trackballs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  trang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  transmission = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  transmission_remote_gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  trayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tremulous = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tribler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  trigger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  truecrypt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tulip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  tvtime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  twinkle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  uae = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ubootGuruplug = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ubootNanonote = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  udev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  udev145 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  udisks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ufraw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ultimatestunts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ultrastardx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  unclutter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  unetbootin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  unison = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  upower = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  uqm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  urbanterror = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  usbmuxd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  uzbl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  v4l_utils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  v8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vacuum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vala = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vala15 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vala16 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  valgrind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  valkyrie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vde2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vdpauinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vectoroids = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  veracity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vfdecrypt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vidalia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  viewMtn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vigra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  viking = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vimHugeX = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vimprobable2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vimprobable2Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  virtinst = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  virtmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  virtualgl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  virtviewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vkeybd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vlc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vncrec = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vorbisTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vrpn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vue = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  w3cCSSValidator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  warmux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  warsow = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  warzone2100 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wavesurfer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wdfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  webkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  webkit_gtk2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  weechat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  welkin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wesnoth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wicd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  widelands = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wineWarcraft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wireshark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wkhtmltopdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wmiimenu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wmiiSnap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wmname = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wordnet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wpa_supplicant_gui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wvdial = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wvstreams = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wxGTK = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wxGTK29 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  wxmaxima = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  x11_ssh_askpass = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  x11vnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  x2vnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  x2x = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xalanJava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xaos = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xapianBindings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xapianBindings10 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xara = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xautolock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  Xaw3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xawtv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xbindkeys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xboard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xbursttools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xchat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xchm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xclip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xcompmgr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xconq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xdaliclock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xdotool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xercesJava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xf86_input_mtrack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xf86_input_multitouch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xf86_input_wacom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xf86_video_nested = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xf86_video_nouveau = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xfce = {
-    exo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    garcon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gigolo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gtk_xfce_engine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    gvfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libxfce4ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libxfce4util = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libxfcegui4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    mousepad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    ristretto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    terminal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    thunar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    thunar_volman = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4_appfinder = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4_cpufreq_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4icontheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4mixer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4panel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4_power_manager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4session = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4settings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4_systemload_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfce4_taskmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfceutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfconf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfdesktop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xfwm4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  xfig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xfontsel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xineLib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xineUI = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xkeyboard_config = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xlaunch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xlibs = {
-    libAppleWM = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libdmx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libWindowsWM = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libX11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXaw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libxcb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXcomposite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXcursor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXdamage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXext = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXfixes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXinerama = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libxkbfile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXmu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXpm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXrandr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXrender = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXres = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXScrnSaver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXtst = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXvMC = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXxf86dga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXxf86misc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    libXxf86vm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    setxkbmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    smproxy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    twm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    x11perf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xauth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xbacklight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcbproto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcbutil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcbutilimage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcbutilkeysyms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcbutilrenderutil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcbutilwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xclock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcmsdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcursorgen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xcursorthemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xdm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xdpyinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xdriinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xeyes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputevdev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputjoystick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputkeyboard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputmouse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputsynaptics = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputvmmouse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86inputvoid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoast = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoati = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videocirrus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videodummy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videofbdev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videogeode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoglide = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoglint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoi128 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videointel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videointel_2_14_901 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videointel_2_17_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videomach64 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videomga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoneomagic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videonewport = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videonv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videoopenchrome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videor128 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videosavage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videosiliconmotion = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videosis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videosuncg6 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videosunffb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videotdfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videotga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videotrident = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videov4l = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videovesa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videovmware = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videovoodoo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xf86videowsfb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xgamma = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xhost = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xinit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xinput = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xkbcomp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xkbevd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xkbutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xkill = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xlsatoms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xlsclients = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmessage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xmodmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xorgserver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xpr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xprop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xrandr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xrdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xrefresh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xset = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xsetroot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xvinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xwd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xwininfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    xwud = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  xlockmore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xlsfonts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xmacro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xmlroff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xmoto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xmove = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xmpppy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xnee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xneur = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xneur_0_8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xorg_sys_opengl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xorgVideoUnichrome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xoscope = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xosd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xournal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xpdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xpf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xplanet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xpra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xsane = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xscreensaver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xsel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xsokoban = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xsynth_dssi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xterm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xtrace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xtreemfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xulrunner = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xvfb_run = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xvidcap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  xxdiff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  yate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  yoshimi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  youtubeDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  zathura = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  zathuraCollection = {
-    zathura_core = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zathura_djvu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zathura_pdf_poppler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    zathura_ps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  };
-  zbar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  zdoom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  zgrviewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  zod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  zoom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ZopeInterface = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  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 2143337c485..c447587e36e 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -1,19 +1,18 @@
 /* A small release file, with few packages to be built.  The aim is to reduce
-   the load on Hydra when testing the `stdenv-updates' branch.
+   the load on Hydra when testing the `stdenv-updates' branch. */
 
+{ nixpkgs ? { outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
+, supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]
+}:
 
-   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".  */
-with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; };
+with import ./release-lib.nix { inherit supportedSystems; };
 
 {
 
-  tarball = import ./make-tarball.nix;
+  tarball = import ./make-tarball.nix {
+    inherit nixpkgs;
+    officialRelease = false;
+  };
 
 } // (mapTestOn (rec {
 
@@ -23,9 +22,8 @@ with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; };
   aterm25 = all;
   aterm28 = all;
   autoconf = all;
-  automake110x = all;
-  automake111x = all;
-  avahi = allBut "i686-cygwin";  # Cygwin builds fail
+  automake = all;
+  avahi = allBut cygwin;  # Cygwin builds fail
   bash = all;
   bashInteractive = all;
   bc = all;
@@ -47,23 +45,21 @@ with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; };
   file = all;
   findutils = all;
   flex = all;
-  flex2535 = all;
   gcc = all;
   gcc33 = linux;
   gcc34 = linux;
-  gcc42 = linux;
   gcc44 = linux;
-  gcj44 = linux;
+  gcj = linux;
   ghdl = linux;
   glibc = linux;
   glibcLocales = linux;
-  gnat44 = linux;
+  gnat = linux;
   gnugrep = all;
   gnum4 = all;
   gnumake = all;
   gnupatch = all;
   gnupg = linux;
-  gnuplot = allBut "i686-cygwin";
+  gnuplot = allBut cygwin;
   gnused = all;
   gnutar = all;
   gnutls = linux;
@@ -146,7 +142,7 @@ with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; };
   policykit = linux;
   portmap = linux;
   procps = linux;
-  python = allBut "i686-cygwin";
+  python = allBut cygwin;
   pythonFull = linux;
   readline = all;
   rlwrap = all;
@@ -156,9 +152,9 @@ with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; };
   scrot = linux;
   sdparm = linux;
   sharutils = all;
-  sloccount = allBut "i686-cygwin";
+  sloccount = allBut cygwin;
   smartmontools = all;
-  sqlite = allBut "i686-cygwin";
+  sqlite = allBut cygwin;
   squid = linux;
   ssmtp = linux;
   stdenv = prio 175 all;
@@ -198,7 +194,7 @@ with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; };
   zile = linux;
   zip = all;
 
-  dbus_all = {
+  dbus = {
     libs = linux;
     daemon = linux;
     tools = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 87b63e33891..ff66756aa8b 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -12,7 +12,7 @@
 { 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" ]
+  supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]
 }:
 
 with import ./release-lib.nix { inherit supportedSystems; };
@@ -35,6 +35,10 @@ let
               # Ensure that X11/GTK+ are in order.
               jobs.thunderbird.x86_64-linux
               jobs.thunderbird.i686-linux
+              /* not ready yet
+              jobs.glib-tested.x86_64-linux # standard glib doesn't do checks
+              jobs.glib-tested.i686-linux
+              */
             ];
         };
 
@@ -48,9 +52,8 @@ let
       atlas = linux;
       audacious = linux;
       autoconf = all;
-      automake110x = all;
-      automake111x = all;
-      avahi = allBut "i686-cygwin";  # Cygwin builds fail
+      automake = all;
+      avahi = allBut cygwin;  # Cygwin builds fail
       bash = all;
       bashInteractive = all;
       bazaar = linux; # first let sqlite3 work on darwin
@@ -95,7 +98,6 @@ let
       drgeo = linux;
       ejabberd = linux;
       elinks = linux;
-      emacs23 = gtkSupported;
       enscript = all;
       eprover = linux;
       evince = linux;
@@ -106,7 +108,6 @@ let
       file = all;
       findutils = all;
       flex = all;
-      flex2535 = all;
       fontforge = linux;
       fuse = linux;
       gajim = linux;
@@ -114,9 +115,8 @@ let
       gcc = linux;
       gcc33 = linux;
       gcc34 = linux;
-      gcc42 = linux;
       gcc44 = linux;
-      gcj44 = linux;
+      gcj = linux;
       ghdl = linux;
       ghostscript = linux;
       ghostscriptX = linux;
@@ -127,13 +127,13 @@ let
       glibcLocales = linux;
       glxinfo = linux;
       gnash = linux;
-      gnat44 = linux;
+      gnat = linux;
       gnugrep = all;
       gnum4 = all;
       gnumake = all;
       gnupatch = all;
       gnupg = linux;
-      gnuplot = allBut "i686-cygwin";
+      gnuplot = allBut cygwin;
       gnused = all;
       gnutar = all;
       gnutls = linux;
@@ -141,7 +141,6 @@ let
       gphoto2 = linux;
       gpm = linux;
       gprolog = linux;
-      gpsbabel = all;
       gpscorrelate = linux;
       gpsd = linux;
       gqview = gtkSupported;
@@ -184,7 +183,6 @@ let
       libtool = all;
       libtool_2 = all;
       lout = linux;
-      lsh = linux;
       lsof = linux;
       ltrace = linux;
       lvm2 = linux;
@@ -213,8 +211,7 @@ let
       mysql = linux;
       mysql51 = linux;
       mysql55 = linux;
-      namazu = all;
-      nano = allBut "i686-cygwin";
+      nano = allBut cygwin;
       ncat = linux;
       netcat = all;
       nfsUtils = linux;
@@ -247,7 +244,7 @@ let
       pthreadmanpages = linux;
       pygtk = linux;
       pyqt4 = linux;
-      python = allBut "i686-cygwin";
+      python = allBut cygwin;
       pythonFull = linux;
       sbcl = linux;
       qt3 = linux;
@@ -258,7 +255,7 @@ let
       rogue = all;
       rpm = linux;
       rsync = linux;
-      rubber = allBut "i686-cygwin";
+      rubber = allBut cygwin;
       ruby = all;
       rxvt_unicode = linux;
       screen = linux ++ darwin;
@@ -268,10 +265,10 @@ let
       sgtpuzzles = linux;
       sharutils = all;
       slim = linux;
-      sloccount = allBut "i686-cygwin";
+      sloccount = allBut cygwin;
       smartmontools = linux;
       spidermonkey = linux;
-      sqlite = allBut "i686-cygwin";
+      sqlite = allBut cygwin;
       squid = linux;
       ssmtp = linux;
       stdenv = prio 175 all;
@@ -295,7 +292,6 @@ let
       texLive = linux;
       texLiveBeamer = linux;
       texLiveExtra = linux;
-      texinfo = all;
       tightvnc = linux;
       time = linux;
       tinycc = linux;
@@ -311,8 +307,6 @@ let
       vice = linux;
       vim = linux;
       vimHugeX = linux;
-      VisualBoyAdvance = linux;
-      vlc = linux;
       vncrec = linux;
       vorbisTools = linux;
       vpnc = linux;
@@ -334,7 +328,6 @@ let
       xineUI = linux;
       xkeyboard_config = linux;
       xlockmore = linux;
-      xmltv = linux;
       xpdf = linux;
       xscreensaver = linux;
       xsel = linux;
@@ -346,17 +339,6 @@ let
       zsh = linux;
       zsnes = ["i686-linux"];
 
-      emacs23Packages = {
-        bbdb = linux;
-        cedet = linux;
-        emacsw3m = linux;
-        emms = linux;
-        jdee = linux;
-      };
-
-      firefox36Pkgs.firefox = linux;
-      firefoxPkgs.firefox = linux;
-
       gnome = {
         gnome_panel = linux;
         metacity = linux;
@@ -375,6 +357,10 @@ let
         ghc = ghcSupported;
       };
 
+      haskellPackages_ghc722 = {
+        ghc = ghcSupported;
+      };
+
       haskellPackages_ghc742 = {
         ghc = ghcSupported;
       };
@@ -396,21 +382,21 @@ let
       };
 
       xorg = {
-        fontadobe100dpi = linux;
-        fontadobe75dpi = linux;
-        fontbh100dpi = linux;
-        fontbhlucidatypewriter100dpi = linux;
-        fontbhlucidatypewriter75dpi = linux;
-        fontbhttf = linux;
-        fontcursormisc = linux;
-        fontmiscmisc = linux;
-        iceauth = linux;
-        libX11 = linux;
-        lndir = all;
-        setxkbmap = linux;
-        xauth = linux;
-        xbitmaps = linux;
-        xev = linux;
+        fontadobe100dpi = linux ++ darwin;
+        fontadobe75dpi = linux ++ darwin;
+        fontbh100dpi = linux ++ darwin;
+        fontbhlucidatypewriter100dpi = linux ++ darwin;
+        fontbhlucidatypewriter75dpi = linux ++ darwin;
+        fontbhttf = linux ++ darwin;
+        fontcursormisc = linux ++ darwin;
+        fontmiscmisc = linux ++ darwin;
+        iceauth = linux ++ darwin;
+        libX11 = linux ++ darwin;
+        lndir = all ++ darwin;
+        setxkbmap = linux ++ darwin;
+        xauth = linux ++ darwin;
+        xbitmaps = linux ++ darwin;
+        xev = linux ++ darwin;
         xf86inputevdev = linux;
         xf86inputkeyboard = linux;
         xf86inputmouse = linux;
@@ -420,17 +406,20 @@ let
         xf86videointel = linux;
         xf86videonv = linux;
         xf86videovesa = linux;
-        xfs = linux;
-        xkbcomp = linux;
-        xlsclients = linux;
-        xmessage = linux;
-        xorgserver = linux;
-        xprop = linux;
-        xrandr = linux;
-        xrdb = linux;
-        xset = linux;
-        xsetroot = linux;
-        xwininfo = linux;
+        xf86videovmware = linux;
+        xf86videomodesetting = linux;
+        xfs = linux ++ darwin;
+        xinput = linux ++ darwin;
+        xkbcomp = linux ++ darwin;
+        xlsclients = linux ++ darwin;
+        xmessage = linux ++ darwin;
+        xorgserver = linux ++ darwin;
+        xprop = linux ++ darwin;
+        xrandr = linux ++ darwin;
+        xrdb = linux ++ darwin;
+        xset = linux ++ darwin;
+        xsetroot = linux ++ darwin;
+        xwininfo = linux ++ darwin;
       };
 
       xfce = {